@vocalstack/player 0.1.0-alpha.25 → 0.1.0-alpha.27

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.
package/dist/index.js CHANGED
@@ -1,12 +1,12 @@
1
- var ha = Object.defineProperty;
2
- var Ma = (t, e, n) => e in t ? ha(t, e, { enumerable: !0, configurable: !0, writable: !0, value: n }) : t[e] = n;
3
- var Me = (t, e, n) => Ma(t, typeof e != "symbol" ? e + "" : e, n);
1
+ var da = Object.defineProperty;
2
+ var ha = (t, e, n) => e in t ? da(t, e, { enumerable: !0, configurable: !0, writable: !0, value: n }) : t[e] = n;
3
+ var Me = (t, e, n) => ha(t, typeof e != "symbol" ? e + "" : e, n);
4
4
  import { jsx as i, jsxs as h, Fragment as xe } from "react/jsx-runtime";
5
- import { useState as I, useRef as v, useEffect as U, useLayoutEffect as Bt, createContext as ri, useMemo as Ie, useContext as ga, useCallback as Ke, Fragment as fa, forwardRef as pa, useImperativeHandle as Na } from "react";
6
- import { createPortal as ma } from "react-dom";
7
- import { VocalStackError as si, VocalStack as ii } from "@vocalstack/js-sdk";
8
- const ai = "https://vocalstack.com", ya = "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxMDUxLjY5MDciIGhlaWdodD0iMTU1LjMwNjQxIiB2aWV3Qm94PSIwIDAgMTA1MS42OTA2IDE1NS4zMDY0MSI+PGcgdHJhbnNmb3JtPSJtYXRyaXgoMC44ODczNDc3MSwwLDAsMC44OTExODY4MiwtNDIuNzE2NjMsLTEyMy44NTM4OCkiPjxwYXRoIHN0eWxlPSJmaWxsOiM1NWFiZTU7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlLXdpZHRoOjAuMzcyOTYyIiBkPSJtIDE2NS43NDM2OSwzMTIuMzQ1MTQgYyAtMy42NTkwNCwtMC45NTg2MSAtNi44OTEzMSwtMy4zNTM0OCAtOS4yMTQ5NCwtNi44Mjc1OSAtMS45MTIyNiwtMi44NTkwOCAtMi4zOTcwNSwtNC41Njk3MSAtMi4zOTcwNSwtOC40NTgzNiAwLC0zLjk5MjU0IDAuMDgyNCwtNC4yNzU3IDQuMjMwMTIsLTE0LjU0NTUzIDQuMDA5MjMsLTkuOTI2ODEgMTEuNzQ1OTcsLTI5LjYwODA0IDE0LjE3MjU0LC0zNi4wNTMwMiAxLjA1NTUsLTIuODAzNDQgNC42MzU3OSwtMTIuMDkwMiA3Ljk1NjE5LC0yMC42MzcyNSAzLjMyMDQsLTguNTQ3MDYgOS40NzI2NSwtMjQuNDkxMiAxMy42NzE2OCwtMzUuNDMxNDMgOS40MTE2MywtMjQuNTIxMjUgMTIuMTUxMjQsLTMxLjM5NjE0IDE0LjE5MjIyLC0zNS42MTQ1NSAxLjMzMjI5LC0yLjc1MzY0IDEuODc4NjcsLTMuNTkyNTggMy4zNDU0NiwtNS4xMzY3MiAxLjk2ODIyLC0yLjA3MjAzIDQuMDk4NCwtMy41NjI1MyA2LjQ2Njg3LC00LjUyNDkzIDEuMjcxMzgsLTAuNTE2NiAyLjI1NzYzLC0wLjY5MzAyIDQuODI2NzksLTAuODYzNCA1LjIxODMsLTAuMzQ2MDcgMjQuNTc0NjIsLTAuNTU0NTggMjQuOTg1MDgsLTAuMjY5MTQgMC40Mzc5NywwLjMwNDU2IDEuMTMxMzEsLTEuNTAwMjEgLTE1LjE1NDEyLDM5LjQ0Njc4IC0yMC42ODg0Miw1Mi4wMTc1NyAtMjguOTYxODUsNzIuOTgyNjUgLTM2Ljc1MTgxLDkzLjEzMDA0IC04LjQwMzU2LDIxLjczNDM0IC05LjM5NDk1LDI0LjIwNzY0IC0xMC43NjMxNiwyNi44NTE2NSAtMi4zNTQ1LDQuNTUgLTYuMzgyNCw3Ljc4MzMxIC0xMS4yNzY2MSw5LjA1MjA3IC0yLjA3MjU5LDAuNTM3MjkgLTYuMDAwMTUsMC40ODEwOSAtOC4yODkyNiwtMC4xMTg2MiB6Ii8+PHBhdGggc3R5bGU9ImZpbGw6IzU1YWJlNTtmaWxsLW9wYWNpdHk6MTtzdHJva2Utd2lkdGg6MC4zNzI5NjIiIGQ9Im0gMTIyLjQ5MjIsMzEyLjU4OTE2IGMgLTQuMDc5NTYsLTAuNzMyNTggLTguNjUxMjMsLTMuOTM0MSAtMTEuMjMyNTgsLTcuODY2MTYgLTAuNzMwMDQsLTEuMTEyMDMgLTEuODU0NTksLTMuNDgzMjYgLTIuODQzMDksLTUuOTk0OTYgLTAuODk5NDMsLTIuMjg1NCAtNC43NjI4NywtMTIuMTU1MyAtOC41ODU0MDksLTIxLjkzMzEzIC0zLjgyMjU0LC05Ljc3NzgzIC04LjQ3OTA3MiwtMjEuNjM4MDMgLTEwLjM0Nzg1MiwtMjYuMzU2MDEgLTEuODY4NzgsLTQuNzE3OTcgLTcuNDA0OTY4LC0xOC44MTU5NSAtMTIuMzAyNjQ2LC0zMS4zMjg4NCAtNC44OTc2ODEsLTEyLjUxMjg4IC0xMC44NjE5MjMsLTI3LjcyOTc1IC0xMy4yNTM4NzYsLTMzLjgxNTI1IC0yLjM5MTk1MywtNi4wODU1IC01LjY2NTIxNiwtMTQuNDc3MTUgLTcuMjczOTE4LC0xOC42NDgxMSAtMS42MDg2OTgsLTQuMTcwOTcgLTQuMjM1OTUsLTEwLjg0ODI2IC01LjgzODMzNCwtMTQuODM4NDMgLTIuMDcyNzc5LC01LjE2MTUzIC0yLjgzNjUwOSwtNy4zMzE3NyAtMi42NDY4NjksLTcuNTIxNCAwLjM0NzkwMywtMC4zNDc5MSAyMC44Mjg4ODcsLTAuMzU5MTcgMjQuNzMyODc0LC0wLjAxMzYgNC42NDkyNTYsMC40MTE1NCA3LjAxMjg0OCwxLjUyODExIDEwLjUxNzU0Niw0Ljk2ODUyIDEuNDUwODE5LDEuNDI0MjEgMi4zOTgsMi42MDIxMyAyLjkwNDM3NSwzLjYxMTkgMS43OTg2OTMsMy41ODY3OCA4LjQxODEwMywyMC4wMjg2OSAxOC42NjYyNzksNDYuMzY1MDYgMy42OTgzOSw5LjUwNDMyIDExLjE2MDY3LDI4LjQxMzUxIDE2LjU4Mjg1LDQyLjAyMDQyIDE0LjYzNDMzLDM2LjcyNDY3IDE4Ljc0NzUzLDQ3LjEzNzY1IDE5LjUzOTc1LDQ5LjQ2Njg3IDIuMjI5ODEsNi41NTU4OSAxLjA1NTMzLDEyLjcwMjE0IC0zLjMwNDI2LDE3LjI5MTc2IC0zLjEwMzU5LDMuMjY3MzYgLTYuMjIwNDMsNC42MDg0NSAtMTEuMDIxNzgsNC43NDI0IC0xLjY0MzMxLDAuMDQ1OCAtMy41NzUxOCwtMC4wMjIxIC00LjI5MzA2LC0wLjE1MTAzIHoiLz48cmVjdCBzdHlsZT0iZmlsbDojZWM2MzRkIiB3aWR0aD0iMTEuMjY5NTQiIGhlaWdodD0iNDIuMDk3NjIyIiB4PSIxNjQuODgwMTQiIHk9IjE3Ni4yNTkwOSIgcnk9IjUuNjEwNDk2Ii8+PHJlY3Qgc3R5bGU9ImZpbGw6I2VjNjM0ZCIgd2lkdGg9IjExLjYyMTU2IiBoZWlnaHQ9Ijg3LjAzODYwNSIgeD0iMTQyLjE1ODY4IiB5PSIxNTMuNzg4NiIgcnk9IjUuNjEwNDk2Ii8+PHJlY3Qgc3R5bGU9ImZpbGw6I2VjNjM0ZCIgd2lkdGg9IjExLjI2OTU0IiBoZWlnaHQ9IjQyLjA5NzYyMiIgeD0iMTE5Ljc4OTI0IiB5PSIxNzYuMjU5MDkiIHJ5PSI1LjYxMDQ5NiIvPjwvZz48cGF0aCBzdHlsZT0iZmlsbDojZmZmZmZmIiBkPSJtIDIyMi4yNTEzMiw2OC40Nzk4OTcgcSAtMTIuNzk5OTgsMCAtMjEuNzU5OTcsOC45NTk5ODYgLTguOTU5OTgsOC45NTk5ODYgLTguOTU5OTgsMjEuNzU5OTY1IDAsMTIuNTg2NjQyIDguOTU5OTgsMjEuNTQ2NjMyIDQuMjY2NjYsNC40Nzk5OSA5LjgxMzMyLDYuODI2NjYgNS43NTk5OSwyLjEzMzMzIDExLjk0NjY1LDIuMTMzMzMgNi4xODY2NiwwIDExLjczMzMxLC0yLjEzMzMzIDUuNTQ2NjYsLTIuMzQ2NjcgMTAuMDI2NjUsLTYuODI2NjYgOC45NTk5OSwtOC45NTk5OSA4Ljk1OTk5LC0yMS41NDY2MzIgMCwtMTIuNzk5OTc5IC04Ljk1OTk5LC0yMS43NTk5NjUgLTkuMzg2NjUsLTguOTU5OTg2IC0yMS43NTk5NiwtOC45NTk5ODYgeiBtIDAsLTI1LjU5OTk1OSBxIDExLjczMzMxLDAgMjEuOTczMyw0LjQ3OTk5MyAxMC4yMzk5OCw0LjI2NjY2IDE3LjkxOTk3LDExLjk0NjY0OCA3LjY3OTk5LDcuNjc5OTg3IDExLjk0NjY1LDE3LjkxOTk3MSA0LjQ3OTk5LDEwLjIzOTk4NCA0LjQ3OTk5LDIxLjk3MzI5OCAwLDExLjUxOTk4MiAtNC40Nzk5OSwyMS43NTk5NjIgLTQuMjY2NjYsMTAuMjM5OTkgLTExLjk0NjY1LDE3LjkxOTk3IC03LjY3OTk5LDcuNjc5OTkgLTE3LjkxOTk3LDEyLjE1OTk5IC0xMC4yMzk5OSw0LjI2NjY2IC0yMS45NzMzLDQuMjY2NjYgLTExLjczMzMyLDAgLTIxLjk3MzMsLTQuMjY2NjYgLTEwLjIzOTk4LC00LjQ4IC0xNy45MTk5NywtMTIuMTU5OTkgLTcuNjc5OTksLTcuNjc5OTggLTEyLjE1OTk4LC0xNy45MTk5NyAtNC4yNjY2NiwtMTAuMjM5OTggLTQuMjY2NjYsLTIxLjc1OTk2MiAwLC0xMS43MzMzMTQgNC4yNjY2NiwtMjEuOTczMjk4IDQuNDc5OTksLTEwLjIzOTk4NCAxMi4xNTk5OCwtMTcuOTE5OTcxIDcuNjc5OTksLTcuNjc5OTg4IDE3LjkxOTk3LC0xMS45NDY2NDggMTAuMjM5OTgsLTQuNDc5OTkzIDIxLjk3MzMsLTQuNDc5OTkzIHogTSAzODMuMzE3OSwxMzguODc5NzggcSAtNy42Nzk5OSw3LjY3OTk5IC0xNy45MTk5NywxMi4xNTk5OSAtMTAuMjM5OTksNC4yNjY2NiAtMjEuOTczMyw0LjI2NjY2IC0xMS43MzMzMiwwIC0yMS45NzMzLC00LjI2NjY2IC0xMC4yMzk5OCwtNC40OCAtMTcuOTE5OTcsLTEyLjE1OTk5IC03LjY3OTk5LC03LjY3OTk4IC0xMi4xNTk5OCwtMTcuOTE5OTcgLTQuMjY2NjYsLTEwLjIzOTk4IC00LjI2NjY2LC0yMS43NTk5NjIgMCwtMTEuNzMzMzE0IDQuMjY2NjYsLTIxLjk3MzI5OCA0LjQ3OTk5LC0xMC4yMzk5ODQgMTIuMTU5OTgsLTE3LjkxOTk3MSA3LjY3OTk5LC03LjY3OTk4OCAxNy45MTk5NywtMTEuOTQ2NjQ4IDEwLjIzOTk4LC00LjQ3OTk5MyAyMS45NzMzLC00LjQ3OTk5MyAxMS43MzMzMSwwIDIxLjk3MzMsNC40Nzk5OTMgMTAuMjM5OTgsNC4yNjY2NiAxNy45MTk5NywxMS45NDY2NDggbCAtMTguMTMzMzEsMTguMTMzMzA0IHEgLTguOTU5OTgsLTguOTU5OTg2IC0yMS43NTk5NiwtOC45NTk5ODYgLTEyLjM3MzMyLDAgLTIxLjc1OTk3LDguOTU5OTg2IC04Ljk1OTk4LDguOTU5OTg2IC04Ljk1OTk4LDIxLjc1OTk2NSAwLDEyLjU4NjY0MiA4Ljk1OTk4LDIxLjU0NjYzMiA0LjQ4LDQuNDc5OTkgMTAuMDI2NjUsNi44MjY2NiA1LjU0NjY2LDIuMTMzMzMgMTEuNzMzMzIsMi4xMzMzMyAxMy4wMTMzMSwwIDIxLjc1OTk2LC04Ljk1OTk5IHogTSA0OTguMDkxMTQsNDUuNjUzMjY3IFYgMTUyLjUzMzEgSCA0NzIuNDkxMTggViA5OS4xOTk4NDggcSAwLC0xMi43OTk5NzkgLTguOTU5OTgsLTIxLjc1OTk2NSAtOC45NTk5OSwtOC45NTk5ODYgLTIxLjc1OTk3LC04Ljk1OTk4NiAtNi4xODY2NiwwIC0xMS45NDY2NSwyLjM0NjY2MyAtNS41NDY2NSwyLjM0NjY2MyAtOS44MTMzMSw2LjYxMzMyMyAtOC45NTk5OSw4Ljk1OTk4NiAtOC45NTk5OSwyMS43NTk5NjUgMCwxMi41ODY2NDIgOC45NTk5OSwyMS41NDY2MzIgNC4yNjY2Niw0LjQ3OTk5IDkuODEzMzEsNi44MjY2NiA1Ljc1OTk5LDIuMTMzMzMgMTEuOTQ2NjUsMi4xMzMzMyA2LjM5OTk5LDAgMTEuNTE5OTgsLTIuMTMzMzMgbCA5LjE3MzMyLDIyLjgyNjYzIHEgLTkuODEzMzIsNC45MDY2NiAtMjIuODI2NjMsNC45MDY2NiAtMTEuNzMzMzEsMCAtMjEuNzU5OTYsLTQuMjY2NjYgLTkuODEzMzIsLTQuNDggLTE3LjA2NjY0LC0xMi4xNTk5OSAtNy4yNTMzMiwtNy42Nzk5OCAtMTEuMzA2NjUsLTE3LjkxOTk3IC00LjA1MzMzLC0xMC4yMzk5OCAtNC4wNTMzMywtMjEuNzU5OTYyIDAsLTExLjczMzMxNCA0LjA1MzMzLC0yMS45NzMyOTggNC4wNTMzMywtMTAuMjM5OTg0IDExLjMwNjY1LC0xNy45MTk5NzEgNy4yNTMzMiwtNy42Nzk5ODggMTcuMDY2NjQsLTExLjk0NjY0OCAxMC4wMjY2NSwtNC40Nzk5OTMgMjEuNzU5OTYsLTQuNDc5OTkzIDEwLjQ1MzMyLDAgMTguNTU5OTcsMy4xOTk5OTUgOC4xMDY2NiwzLjE5OTk5NSAxNC4yOTMzMSw4LjEwNjY1NCB2IC04LjUzMzMyIHogTSA1MzguNjI0NDYsMTUyLjUzMzEgSCA1MTMuMDI0NSBWIDMuMjAwMDAxNSBoIDI1LjU5OTk2IFYgMTUyLjUzMzEgWiBtIDEyMC4xMDY1OSwtNDIuNjY2NiBxIDAsMTAuNDUzMzEgLTMuNDEzMzMsMTguOTg2NjMgLTMuNDEzMzIsOC4zMTk5OSAtOS44MTMzMSwxNC4yOTMzMSAtNi4xODY2Niw1Ljc2IC0xNS4xNDY2NSw4Ljk1OTk5IC04Ljk1OTk4LDMuMiAtMjAuMDUzMywzLjIgLTE3LjcwNjY0LDAgLTMxLjU3MzI4LC01LjU0NjY2IC0xMy44NjY2NCwtNS43NTk5OSAtMjIuODI2NjMsLTEzLjAxMzMyIGwgMTcuNzA2NjQsLTE3LjcwNjYzIHEgNy4wMzk5OSw2LjM5OTk5IDE1Ljc4NjY0LDkuODEzMzEgNS4zMzMzMiwyLjEzMzMzIDEwLjAyNjY1LDIuNzczMzMgNC42OTMzMywwLjY0IDcuNjc5OTksMC42NCA1LjU0NjY2LDAgMTAuMDI2NjUsLTEuMjggNC42OTMzMiwtMS40OTMzMyA4LjEwNjY1LC0zLjgzOTk5IDcuMjUzMzIsLTUuMzMzMzIgNy4yNTMzMiwtMTQuMDc5OTggMCwtNS4zMzMzMiAtMy44Mzk5OSwtOS41OTk5OCAtMi45ODY2NiwtMy40MTMzMyAtNy42Nzk5OSwtNS41NDY2NiAtMy44Mzk5OSwtMi4xMzMzMyAtOC4xMDY2NSwtMy40MTMzMjggLTQuMjY2NjYsLTEuMjc5OTk4IC03LjY3OTk5LC0yLjM0NjY2MyAtMS4wNjY2NiwtMC40MjY2NjYgLTEuOTIsLTAuNDI2NjY2IC0wLjg1MzMzLC0wLjIxMzMzMyAtMS40OTMzMywtMC42Mzk5OTkgLTAuNDI2NjYsMCAtMS4yNzk5OSwtMC40MjY2NjYgLTQuNDgsLTEuMjc5OTk3IC0xMy4wMTMzMiwtNC40Nzk5OTIgLTguMzE5OTgsLTMuMTk5OTk1IC0xNi42Mzk5NywtOC43NDY2NTMgLTE5LjQxMzMsLTEzLjAxMzMxMyAtMTkuNDEzMywtMzEuOTk5OTQ5IDAsLTEyLjU4NjY0NyA0LjI2NjY2LC0yMS4xMTk5NjYgNC40Nzk5OSwtOC43NDY2NTMgMTEuNTE5OTgsLTE0LjA3OTk3OCA3LjAzOTk5LC01LjU0NjY1NzUgMTUuNTczMzEsLTcuODkzMzIwNCBRIDU5MS41MzExNiw2LjYzNzU3MzNlLTYgNTk5Ljg1MTE1LDYuNjM3NTczM2UtNiBxIDE1LjM1OTk3LDAgMjUuODEzMjksMy42MjY2NjA4NjI0MjY3IDEwLjQ1MzMyLDMuNjI2NjYwOSAxNi42Mzk5Nyw3LjI1MzMyMTUgMy4yLDEuOTE5OTk3IDUuMzMzMzMsMy44Mzk5OTQgMi4zNDY2NiwxLjcwNjY2NCA0LjA1MzMyLDMuMTk5OTk1IGwgLTE4LjEzMzMsMTguMzQ2NjM3IHEgLTUuNzU5OTksLTUuNzU5OTkgLTExLjczMzMyLC04Ljc0NjY1MiAtOC45NTk5OCwtNC4yNjY2NiAtMTguNzczMywtNC4yNjY2NiAtNC4yNjY2NiwwIC04LjUzMzMyLDEuMDY2NjY1IC00LjI2NjY2LDEuMDY2NjY1IC03LjQ2NjY1LDIuNzczMzI5IC05LjM4NjY1LDUuNzU5OTkgLTkuMzg2NjUsMTUuMTQ2NjQyIDAsNS43NTk5OTEgMy44Mzk5OSw5LjgxMzMxOCAyLjc3MzMzLDMuMTk5OTk1IDcuNjc5OTksNS43NTk5OTEgNC4wNTMzMiwyLjEzMzMzIDguNTMzMzIsMy40MTMzMjggNC40Nzk5OSwxLjI3OTk5NyA4LjMxOTk4LDIuMzQ2NjYyIGwgMi41NiwwLjYzOTk5OSBxIDEuMDY2NjYsMC40MjY2NjYgNC4wNTMzMywxLjI3OTk5OCAyLjk4NjY2LDAuODUzMzMyIDcuMDM5OTgsMi41NTk5OTYgNC4wNTMzMywxLjcwNjY2NCA4Ljc0NjY2LDQuMDUzMzI3IDQuOTA2NjYsMi4zNDY2NjMgOS41OTk5OCw1LjU0NjY1OCAyMC42OTMzLDEzLjY1MzMxMSAyMC42OTMzLDMyLjIxMzI4NCB6IG0gNjkuMTE5NzcsNDIuNjY2NiBoIC0yMy40NjY2MyBxIC03LjI1MzMyLDAgLTEzLjY1MzMxLC0yLjc3MzMzIC02LjM5OTk5LC0yLjc3MzMzIC0xMS4wOTMzMiwtNy40NjY2NiAtNC42OTMzMiwtNC45MDY2NiAtNy40NjY2NSwtMTEuMzA2NjUgLTIuNzczMzMsLTYuMzk5OTkgLTIuNzczMzMsLTEzLjY1MzMxIFYgMjQuMzE5OTY4IGwgMjUuNTk5OTYsLTYuMzk5OTkgViA1OC42NjY1OCBoIDE0LjkzMzMxIGwgNi4zOTk5OSwyNS41OTk5NTkgaCAtMjEuMzMzMyB2IDMzLjA2NjYxMSBxIDAsNC4wNTMzMyAyLjc3MzMzLDYuODI2NjYgMi43NzMzMywyLjc3MzMzIDYuNjEzMzIsMi43NzMzMyBoIDE3LjA2NjY0IHogbSAxMTEuMzYsLTEwNi44Nzk4MzMgViAxNTIuNTMzMSBIIDgxMy42MTA4NiBWIDk5LjE5OTg0OCBxIDAsLTEyLjc5OTk3OSAtOC45NTk5OSwtMjEuNzU5OTY1IC04Ljk1OTk4LC04Ljk1OTk4NiAtMjEuNzU5OTYsLTguOTU5OTg2IC02LjE4NjY2LDAgLTExLjk0NjY1LDIuMzQ2NjYzIC01LjU0NjY2LDIuMzQ2NjYzIC05LjgxMzMyLDYuNjEzMzIzIC04Ljk1OTk4LDguOTU5OTg2IC04Ljk1OTk4LDIxLjc1OTk2NSAwLDEyLjU4NjY0MiA4Ljk1OTk4LDIxLjU0NjYzMiA0LjI2NjY2LDQuNDc5OTkgOS44MTMzMiw2LjgyNjY2IDUuNzU5OTksMi4xMzMzMyAxMS45NDY2NSwyLjEzMzMzIDYuMzk5OTksMCAxMS41MTk5OCwtMi4xMzMzMyBsIDkuMTczMzIsMjIuODI2NjMgcSAtOS44MTMzMiw0LjkwNjY2IC0yMi44MjY2Myw0LjkwNjY2IC0xMS43MzMzMiwwIC0yMS43NTk5NywtNC4yNjY2NiAtOS44MTMzMiwtNC40OCAtMTcuMDY2NjQsLTEyLjE1OTk5IC03LjI1MzMyLC03LjY3OTk4IC0xMS4zMDY2NSwtMTcuOTE5OTcgLTQuMDUzMzIsLTEwLjIzOTk4IC00LjA1MzMyLC0yMS43NTk5NjIgMCwtMTEuNzMzMzE0IDQuMDUzMzIsLTIxLjk3MzI5OCA0LjA1MzMzLC0xMC4yMzk5ODQgMTEuMzA2NjUsLTE3LjkxOTk3MSA3LjI1MzMyLC03LjY3OTk4OCAxNy4wNjY2NCwtMTEuOTQ2NjQ4IDEwLjAyNjY1LC00LjQ3OTk5MyAyMS43NTk5NywtNC40Nzk5OTMgMTAuNDUzMzEsMCAxOC41NTk5NywzLjE5OTk5NSA4LjEwNjY1LDMuMTk5OTk1IDE0LjI5MzMxLDguMTA2NjU0IHYgLTguNTMzMzIgeiBtIDEwNy45NDY1Miw5My4yMjY1MTMgcSAtNy42Nzk5OCw3LjY3OTk5IC0xNy45MTk5NywxMi4xNTk5OSAtMTAuMjM5OTgsNC4yNjY2NiAtMjEuOTczMjksNC4yNjY2NiAtMTEuNzMzMzIsMCAtMjEuOTczMywtNC4yNjY2NiAtMTAuMjM5OTksLTQuNDggLTE3LjkxOTk3LC0xMi4xNTk5OSAtNy42Nzk5OSwtNy42Nzk5OCAtMTIuMTU5OTgsLTE3LjkxOTk3IC00LjI2NjY2LC0xMC4yMzk5OCAtNC4yNjY2NiwtMjEuNzU5OTYyIDAsLTExLjczMzMxNCA0LjI2NjY2LC0yMS45NzMyOTggNC40Nzk5OSwtMTAuMjM5OTg0IDEyLjE1OTk4LC0xNy45MTk5NzEgNy42Nzk5OCwtNy42Nzk5ODggMTcuOTE5OTcsLTExLjk0NjY0OCAxMC4yMzk5OCwtNC40Nzk5OTMgMjEuOTczMywtNC40Nzk5OTMgMTEuNzMzMzEsMCAyMS45NzMyOSw0LjQ3OTk5MyAxMC4yMzk5OSw0LjI2NjY2IDE3LjkxOTk3LDExLjk0NjY0OCBsIC0xOC4xMzMzLDE4LjEzMzMwNCBxIC04Ljk1OTk5LC04Ljk1OTk4NiAtMjEuNzU5OTYsLTguOTU5OTg2IC0xMi4zNzMzMiwwIC0yMS43NTk5Nyw4Ljk1OTk4NiAtOC45NTk5OSw4Ljk1OTk4NiAtOC45NTk5OSwyMS43NTk5NjUgMCwxMi41ODY2NDIgOC45NTk5OSwyMS41NDY2MzIgNC40Nzk5OSw0LjQ3OTk5IDEwLjAyNjY1LDYuODI2NjYgNS41NDY2NiwyLjEzMzMzIDExLjczMzMyLDIuMTMzMzMgMTMuMDEzMzEsMCAyMS43NTk5NiwtOC45NTk5OSB6IE0gMTA1MS42OTA3LDQ1Ljg2NjYgOTk4LjM1NzQsOTkuMTk5ODQ4IDEwNTEuNjkwNywxNTIuNTMzMSBoIC0zNi4wNTMzIEwgOTgwLjIyNDEsMTE3LjExOTgyIFYgMTUyLjUzMzEgSCA5NTQuNjI0MTQgViAzLjIwMDAwMTUgSCA5ODAuMjI0MSBWIDgxLjA2NjU0NCBMIDEwMTUuNDI0LDQ1Ljg2NjYgaCAzNi4yNjY3IHoiLz48L3N2Zz4=", Ta = "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxMDUxLjY5MDciIGhlaWdodD0iMTU1LjMwNjQxIiB2aWV3Qm94PSIwIDAgMTA1MS42OTA2IDE1NS4zMDY0MSI+PGcgdHJhbnNmb3JtPSJtYXRyaXgoMC44ODczNDc3MSwwLDAsMC44OTExODY4MiwtNDIuNzE2NjMsLTEyMy44NTM4OCkiPjxwYXRoIHN0eWxlPSJmaWxsOiMyNDVCOEY7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlLXdpZHRoOjAuMzcyOTYyIiBkPSJtIDE2NS43NDM2OSwzMTIuMzQ1MTQgYyAtMy42NTkwNCwtMC45NTg2MSAtNi44OTEzMSwtMy4zNTM0OCAtOS4yMTQ5NCwtNi44Mjc1OSAtMS45MTIyNiwtMi44NTkwOCAtMi4zOTcwNSwtNC41Njk3MSAtMi4zOTcwNSwtOC40NTgzNiAwLC0zLjk5MjU0IDAuMDgyNCwtNC4yNzU3IDQuMjMwMTIsLTE0LjU0NTUzIDQuMDA5MjMsLTkuOTI2ODEgMTEuNzQ1OTcsLTI5LjYwODA0IDE0LjE3MjU0LC0zNi4wNTMwMiAxLjA1NTUsLTIuODAzNDQgNC42MzU3OSwtMTIuMDkwMiA3Ljk1NjE5LC0yMC42MzcyNSAzLjMyMDQsLTguNTQ3MDYgOS40NzI2NSwtMjQuNDkxMiAxMy42NzE2OCwtMzUuNDMxNDMgOS40MTE2MywtMjQuNTIxMjUgMTIuMTUxMjQsLTMxLjM5NjE0IDE0LjE5MjIyLC0zNS42MTQ1NSAxLjMzMjI5LC0yLjc1MzY0IDEuODc4NjcsLTMuNTkyNTggMy4zNDU0NiwtNS4xMzY3MiAxLjk2ODIyLC0yLjA3MjAzIDQuMDk4NCwtMy41NjI1MyA2LjQ2Njg3LC00LjUyNDkzIDEuMjcxMzgsLTAuNTE2NiAyLjI1NzYzLC0wLjY5MzAyIDQuODI2NzksLTAuODYzNCA1LjIxODMsLTAuMzQ2MDcgMjQuNTc0NjIsLTAuNTU0NTggMjQuOTg1MDgsLTAuMjY5MTQgMC40Mzc5NywwLjMwNDU2IDEuMTMxMzEsLTEuNTAwMjEgLTE1LjE1NDEyLDM5LjQ0Njc4IC0yMC42ODg0Miw1Mi4wMTc1NyAtMjguOTYxODUsNzIuOTgyNjUgLTM2Ljc1MTgxLDkzLjEzMDA0IC04LjQwMzU2LDIxLjczNDM0IC05LjM5NDk1LDI0LjIwNzY0IC0xMC43NjMxNiwyNi44NTE2NSAtMi4zNTQ1LDQuNTUgLTYuMzgyNCw3Ljc4MzMxIC0xMS4yNzY2MSw5LjA1MjA3IC0yLjA3MjU5LDAuNTM3MjkgLTYuMDAwMTUsMC40ODEwOSAtOC4yODkyNiwtMC4xMTg2MiB6Ii8+PHBhdGggc3R5bGU9ImZpbGw6IzI0NUI4RjtmaWxsLW9wYWNpdHk6MTtzdHJva2Utd2lkdGg6MC4zNzI5NjIiIGQ9Im0gMTIyLjQ5MjIsMzEyLjU4OTE2IGMgLTQuMDc5NTYsLTAuNzMyNTggLTguNjUxMjMsLTMuOTM0MSAtMTEuMjMyNTgsLTcuODY2MTYgLTAuNzMwMDQsLTEuMTEyMDMgLTEuODU0NTksLTMuNDgzMjYgLTIuODQzMDksLTUuOTk0OTYgLTAuODk5NDMsLTIuMjg1NCAtNC43NjI4NywtMTIuMTU1MyAtOC41ODU0MDksLTIxLjkzMzEzIC0zLjgyMjU0LC05Ljc3NzgzIC04LjQ3OTA3MiwtMjEuNjM4MDMgLTEwLjM0Nzg1MiwtMjYuMzU2MDEgLTEuODY4NzgsLTQuNzE3OTcgLTcuNDA0OTY4LC0xOC44MTU5NSAtMTIuMzAyNjQ2LC0zMS4zMjg4NCAtNC44OTc2ODEsLTEyLjUxMjg4IC0xMC44NjE5MjMsLTI3LjcyOTc1IC0xMy4yNTM4NzYsLTMzLjgxNTI1IC0yLjM5MTk1MywtNi4wODU1IC01LjY2NTIxNiwtMTQuNDc3MTUgLTcuMjczOTE4LC0xOC42NDgxMSAtMS42MDg2OTgsLTQuMTcwOTcgLTQuMjM1OTUsLTEwLjg0ODI2IC01LjgzODMzNCwtMTQuODM4NDMgLTIuMDcyNzc5LC01LjE2MTUzIC0yLjgzNjUwOSwtNy4zMzE3NyAtMi42NDY4NjksLTcuNTIxNCAwLjM0NzkwMywtMC4zNDc5MSAyMC44Mjg4ODcsLTAuMzU5MTcgMjQuNzMyODc0LC0wLjAxMzYgNC42NDkyNTYsMC40MTE1NCA3LjAxMjg0OCwxLjUyODExIDEwLjUxNzU0Niw0Ljk2ODUyIDEuNDUwODE5LDEuNDI0MjEgMi4zOTgsMi42MDIxMyAyLjkwNDM3NSwzLjYxMTkgMS43OTg2OTMsMy41ODY3OCA4LjQxODEwMywyMC4wMjg2OSAxOC42NjYyNzksNDYuMzY1MDYgMy42OTgzOSw5LjUwNDMyIDExLjE2MDY3LDI4LjQxMzUxIDE2LjU4Mjg1LDQyLjAyMDQyIDE0LjYzNDMzLDM2LjcyNDY3IDE4Ljc0NzUzLDQ3LjEzNzY1IDE5LjUzOTc1LDQ5LjQ2Njg3IDIuMjI5ODEsNi41NTU4OSAxLjA1NTMzLDEyLjcwMjE0IC0zLjMwNDI2LDE3LjI5MTc2IC0zLjEwMzU5LDMuMjY3MzYgLTYuMjIwNDMsNC42MDg0NSAtMTEuMDIxNzgsNC43NDI0IC0xLjY0MzMxLDAuMDQ1OCAtMy41NzUxOCwtMC4wMjIxIC00LjI5MzA2LC0wLjE1MTAzIHoiLz48cmVjdCBzdHlsZT0iZmlsbDojZWM2MzRkIiB3aWR0aD0iMTEuMjY5NTQiIGhlaWdodD0iNDIuMDk3NjIyIiB4PSIxNjQuODgwMTQiIHk9IjE3Ni4yNTkwOSIgcnk9IjUuNjEwNDk2Ii8+PHJlY3Qgc3R5bGU9ImZpbGw6I2VjNjM0ZCIgd2lkdGg9IjExLjYyMTU2IiBoZWlnaHQ9Ijg3LjAzODYwNSIgeD0iMTQyLjE1ODY4IiB5PSIxNTMuNzg4NiIgcnk9IjUuNjEwNDk2Ii8+PHJlY3Qgc3R5bGU9ImZpbGw6I2VjNjM0ZCIgd2lkdGg9IjExLjI2OTU0IiBoZWlnaHQ9IjQyLjA5NzYyMiIgeD0iMTE5Ljc4OTI0IiB5PSIxNzYuMjU5MDkiIHJ5PSI1LjYxMDQ5NiIvPjwvZz48cGF0aCBzdHlsZT0iZmlsbDojZWM2MzRkIiBkPSJtIDIyMi4yNTEzMiw2OC40Nzk4OTcgcSAtMTIuNzk5OTgsMCAtMjEuNzU5OTcsOC45NTk5ODYgLTguOTU5OTgsOC45NTk5ODYgLTguOTU5OTgsMjEuNzU5OTY1IDAsMTIuNTg2NjQyIDguOTU5OTgsMjEuNTQ2NjMyIDQuMjY2NjYsNC40Nzk5OSA5LjgxMzMyLDYuODI2NjYgNS43NTk5OSwyLjEzMzMzIDExLjk0NjY1LDIuMTMzMzMgNi4xODY2NiwwIDExLjczMzMxLC0yLjEzMzMzIDUuNTQ2NjYsLTIuMzQ2NjcgMTAuMDI2NjUsLTYuODI2NjYgOC45NTk5OSwtOC45NTk5OSA4Ljk1OTk5LC0yMS41NDY2MzIgMCwtMTIuNzk5OTc5IC04Ljk1OTk5LC0yMS43NTk5NjUgLTkuMzg2NjUsLTguOTU5OTg2IC0yMS43NTk5NiwtOC45NTk5ODYgeiBtIDAsLTI1LjU5OTk1OSBxIDExLjczMzMxLDAgMjEuOTczMyw0LjQ3OTk5MyAxMC4yMzk5OCw0LjI2NjY2IDE3LjkxOTk3LDExLjk0NjY0OCA3LjY3OTk5LDcuNjc5OTg3IDExLjk0NjY1LDE3LjkxOTk3MSA0LjQ3OTk5LDEwLjIzOTk4NCA0LjQ3OTk5LDIxLjk3MzI5OCAwLDExLjUxOTk4MiAtNC40Nzk5OSwyMS43NTk5NjIgLTQuMjY2NjYsMTAuMjM5OTkgLTExLjk0NjY1LDE3LjkxOTk3IC03LjY3OTk5LDcuNjc5OTkgLTE3LjkxOTk3LDEyLjE1OTk5IC0xMC4yMzk5OSw0LjI2NjY2IC0yMS45NzMzLDQuMjY2NjYgLTExLjczMzMyLDAgLTIxLjk3MzMsLTQuMjY2NjYgLTEwLjIzOTk4LC00LjQ4IC0xNy45MTk5NywtMTIuMTU5OTkgLTcuNjc5OTksLTcuNjc5OTggLTEyLjE1OTk4LC0xNy45MTk5NyAtNC4yNjY2NiwtMTAuMjM5OTggLTQuMjY2NjYsLTIxLjc1OTk2MiAwLC0xMS43MzMzMTQgNC4yNjY2NiwtMjEuOTczMjk4IDQuNDc5OTksLTEwLjIzOTk4NCAxMi4xNTk5OCwtMTcuOTE5OTcxIDcuNjc5OTksLTcuNjc5OTg4IDE3LjkxOTk3LC0xMS45NDY2NDggMTAuMjM5OTgsLTQuNDc5OTkzIDIxLjk3MzMsLTQuNDc5OTkzIHogTSAzODMuMzE3OSwxMzguODc5NzggcSAtNy42Nzk5OSw3LjY3OTk5IC0xNy45MTk5NywxMi4xNTk5OSAtMTAuMjM5OTksNC4yNjY2NiAtMjEuOTczMyw0LjI2NjY2IC0xMS43MzMzMiwwIC0yMS45NzMzLC00LjI2NjY2IC0xMC4yMzk5OCwtNC40OCAtMTcuOTE5OTcsLTEyLjE1OTk5IC03LjY3OTk5LC03LjY3OTk4IC0xMi4xNTk5OCwtMTcuOTE5OTcgLTQuMjY2NjYsLTEwLjIzOTk4IC00LjI2NjY2LC0yMS43NTk5NjIgMCwtMTEuNzMzMzE0IDQuMjY2NjYsLTIxLjk3MzI5OCA0LjQ3OTk5LC0xMC4yMzk5ODQgMTIuMTU5OTgsLTE3LjkxOTk3MSA3LjY3OTk5LC03LjY3OTk4OCAxNy45MTk5NywtMTEuOTQ2NjQ4IDEwLjIzOTk4LC00LjQ3OTk5MyAyMS45NzMzLC00LjQ3OTk5MyAxMS43MzMzMSwwIDIxLjk3MzMsNC40Nzk5OTMgMTAuMjM5OTgsNC4yNjY2NiAxNy45MTk5NywxMS45NDY2NDggbCAtMTguMTMzMzEsMTguMTMzMzA0IHEgLTguOTU5OTgsLTguOTU5OTg2IC0yMS43NTk5NiwtOC45NTk5ODYgLTEyLjM3MzMyLDAgLTIxLjc1OTk3LDguOTU5OTg2IC04Ljk1OTk4LDguOTU5OTg2IC04Ljk1OTk4LDIxLjc1OTk2NSAwLDEyLjU4NjY0MiA4Ljk1OTk4LDIxLjU0NjYzMiA0LjQ4LDQuNDc5OTkgMTAuMDI2NjUsNi44MjY2NiA1LjU0NjY2LDIuMTMzMzMgMTEuNzMzMzIsMi4xMzMzMyAxMy4wMTMzMSwwIDIxLjc1OTk2LC04Ljk1OTk5IHogTSA0OTguMDkxMTQsNDUuNjUzMjY3IFYgMTUyLjUzMzEgSCA0NzIuNDkxMTggViA5OS4xOTk4NDggcSAwLC0xMi43OTk5NzkgLTguOTU5OTgsLTIxLjc1OTk2NSAtOC45NTk5OSwtOC45NTk5ODYgLTIxLjc1OTk3LC04Ljk1OTk4NiAtNi4xODY2NiwwIC0xMS45NDY2NSwyLjM0NjY2MyAtNS41NDY2NSwyLjM0NjY2MyAtOS44MTMzMSw2LjYxMzMyMyAtOC45NTk5OSw4Ljk1OTk4NiAtOC45NTk5OSwyMS43NTk5NjUgMCwxMi41ODY2NDIgOC45NTk5OSwyMS41NDY2MzIgNC4yNjY2Niw0LjQ3OTk5IDkuODEzMzEsNi44MjY2NiA1Ljc1OTk5LDIuMTMzMzMgMTEuOTQ2NjUsMi4xMzMzMyA2LjM5OTk5LDAgMTEuNTE5OTgsLTIuMTMzMzMgbCA5LjE3MzMyLDIyLjgyNjYzIHEgLTkuODEzMzIsNC45MDY2NiAtMjIuODI2NjMsNC45MDY2NiAtMTEuNzMzMzEsMCAtMjEuNzU5OTYsLTQuMjY2NjYgLTkuODEzMzIsLTQuNDggLTE3LjA2NjY0LC0xMi4xNTk5OSAtNy4yNTMzMiwtNy42Nzk5OCAtMTEuMzA2NjUsLTE3LjkxOTk3IC00LjA1MzMzLC0xMC4yMzk5OCAtNC4wNTMzMywtMjEuNzU5OTYyIDAsLTExLjczMzMxNCA0LjA1MzMzLC0yMS45NzMyOTggNC4wNTMzMywtMTAuMjM5OTg0IDExLjMwNjY1LC0xNy45MTk5NzEgNy4yNTMzMiwtNy42Nzk5ODggMTcuMDY2NjQsLTExLjk0NjY0OCAxMC4wMjY2NSwtNC40Nzk5OTMgMjEuNzU5OTYsLTQuNDc5OTkzIDEwLjQ1MzMyLDAgMTguNTU5OTcsMy4xOTk5OTUgOC4xMDY2NiwzLjE5OTk5NSAxNC4yOTMzMSw4LjEwNjY1NCB2IC04LjUzMzMyIHogTSA1MzguNjI0NDYsMTUyLjUzMzEgSCA1MTMuMDI0NSBWIDMuMjAwMDAxNSBoIDI1LjU5OTk2IFYgMTUyLjUzMzEgWiBtIDEyMC4xMDY1OSwtNDIuNjY2NiBxIDAsMTAuNDUzMzEgLTMuNDEzMzMsMTguOTg2NjMgLTMuNDEzMzIsOC4zMTk5OSAtOS44MTMzMSwxNC4yOTMzMSAtNi4xODY2Niw1Ljc2IC0xNS4xNDY2NSw4Ljk1OTk5IC04Ljk1OTk4LDMuMiAtMjAuMDUzMywzLjIgLTE3LjcwNjY0LDAgLTMxLjU3MzI4LC01LjU0NjY2IC0xMy44NjY2NCwtNS43NTk5OSAtMjIuODI2NjMsLTEzLjAxMzMyIGwgMTcuNzA2NjQsLTE3LjcwNjYzIHEgNy4wMzk5OSw2LjM5OTk5IDE1Ljc4NjY0LDkuODEzMzEgNS4zMzMzMiwyLjEzMzMzIDEwLjAyNjY1LDIuNzczMzMgNC42OTMzMywwLjY0IDcuNjc5OTksMC42NCA1LjU0NjY2LDAgMTAuMDI2NjUsLTEuMjggNC42OTMzMiwtMS40OTMzMyA4LjEwNjY1LC0zLjgzOTk5IDcuMjUzMzIsLTUuMzMzMzIgNy4yNTMzMiwtMTQuMDc5OTggMCwtNS4zMzMzMiAtMy44Mzk5OSwtOS41OTk5OCAtMi45ODY2NiwtMy40MTMzMyAtNy42Nzk5OSwtNS41NDY2NiAtMy44Mzk5OSwtMi4xMzMzMyAtOC4xMDY2NSwtMy40MTMzMjggLTQuMjY2NjYsLTEuMjc5OTk4IC03LjY3OTk5LC0yLjM0NjY2MyAtMS4wNjY2NiwtMC40MjY2NjYgLTEuOTIsLTAuNDI2NjY2IC0wLjg1MzMzLC0wLjIxMzMzMyAtMS40OTMzMywtMC42Mzk5OTkgLTAuNDI2NjYsMCAtMS4yNzk5OSwtMC40MjY2NjYgLTQuNDgsLTEuMjc5OTk3IC0xMy4wMTMzMiwtNC40Nzk5OTIgLTguMzE5OTgsLTMuMTk5OTk1IC0xNi42Mzk5NywtOC43NDY2NTMgLTE5LjQxMzMsLTEzLjAxMzMxMyAtMTkuNDEzMywtMzEuOTk5OTQ5IDAsLTEyLjU4NjY0NyA0LjI2NjY2LC0yMS4xMTk5NjYgNC40Nzk5OSwtOC43NDY2NTMgMTEuNTE5OTgsLTE0LjA3OTk3OCA3LjAzOTk5LC01LjU0NjY1NzUgMTUuNTczMzEsLTcuODkzMzIwNCBRIDU5MS41MzExNiw2LjYzNzU3MzNlLTYgNTk5Ljg1MTE1LDYuNjM3NTczM2UtNiBxIDE1LjM1OTk3LDAgMjUuODEzMjksMy42MjY2NjA4NjI0MjY3IDEwLjQ1MzMyLDMuNjI2NjYwOSAxNi42Mzk5Nyw3LjI1MzMyMTUgMy4yLDEuOTE5OTk3IDUuMzMzMzMsMy44Mzk5OTQgMi4zNDY2NiwxLjcwNjY2NCA0LjA1MzMyLDMuMTk5OTk1IGwgLTE4LjEzMzMsMTguMzQ2NjM3IHEgLTUuNzU5OTksLTUuNzU5OTkgLTExLjczMzMyLC04Ljc0NjY1MiAtOC45NTk5OCwtNC4yNjY2NiAtMTguNzczMywtNC4yNjY2NiAtNC4yNjY2NiwwIC04LjUzMzMyLDEuMDY2NjY1IC00LjI2NjY2LDEuMDY2NjY1IC03LjQ2NjY1LDIuNzczMzI5IC05LjM4NjY1LDUuNzU5OTkgLTkuMzg2NjUsMTUuMTQ2NjQyIDAsNS43NTk5OTEgMy44Mzk5OSw5LjgxMzMxOCAyLjc3MzMzLDMuMTk5OTk1IDcuNjc5OTksNS43NTk5OTEgNC4wNTMzMiwyLjEzMzMzIDguNTMzMzIsMy40MTMzMjggNC40Nzk5OSwxLjI3OTk5NyA4LjMxOTk4LDIuMzQ2NjYyIGwgMi41NiwwLjYzOTk5OSBxIDEuMDY2NjYsMC40MjY2NjYgNC4wNTMzMywxLjI3OTk5OCAyLjk4NjY2LDAuODUzMzMyIDcuMDM5OTgsMi41NTk5OTYgNC4wNTMzMywxLjcwNjY2NCA4Ljc0NjY2LDQuMDUzMzI3IDQuOTA2NjYsMi4zNDY2NjMgOS41OTk5OCw1LjU0NjY1OCAyMC42OTMzLDEzLjY1MzMxMSAyMC42OTMzLDMyLjIxMzI4NCB6IG0gNjkuMTE5NzcsNDIuNjY2NiBoIC0yMy40NjY2MyBxIC03LjI1MzMyLDAgLTEzLjY1MzMxLC0yLjc3MzMzIC02LjM5OTk5LC0yLjc3MzMzIC0xMS4wOTMzMiwtNy40NjY2NiAtNC42OTMzMiwtNC45MDY2NiAtNy40NjY2NSwtMTEuMzA2NjUgLTIuNzczMzMsLTYuMzk5OTkgLTIuNzczMzMsLTEzLjY1MzMxIFYgMjQuMzE5OTY4IGwgMjUuNTk5OTYsLTYuMzk5OTkgViA1OC42NjY1OCBoIDE0LjkzMzMxIGwgNi4zOTk5OSwyNS41OTk5NTkgaCAtMjEuMzMzMyB2IDMzLjA2NjYxMSBxIDAsNC4wNTMzMyAyLjc3MzMzLDYuODI2NjYgMi43NzMzMywyLjc3MzMzIDYuNjEzMzIsMi43NzMzMyBoIDE3LjA2NjY0IHogbSAxMTEuMzYsLTEwNi44Nzk4MzMgViAxNTIuNTMzMSBIIDgxMy42MTA4NiBWIDk5LjE5OTg0OCBxIDAsLTEyLjc5OTk3OSAtOC45NTk5OSwtMjEuNzU5OTY1IC04Ljk1OTk4LC04Ljk1OTk4NiAtMjEuNzU5OTYsLTguOTU5OTg2IC02LjE4NjY2LDAgLTExLjk0NjY1LDIuMzQ2NjYzIC01LjU0NjY2LDIuMzQ2NjYzIC05LjgxMzMyLDYuNjEzMzIzIC04Ljk1OTk4LDguOTU5OTg2IC04Ljk1OTk4LDIxLjc1OTk2NSAwLDEyLjU4NjY0MiA4Ljk1OTk4LDIxLjU0NjYzMiA0LjI2NjY2LDQuNDc5OTkgOS44MTMzMiw2LjgyNjY2IDUuNzU5OTksMi4xMzMzMyAxMS45NDY2NSwyLjEzMzMzIDYuMzk5OTksMCAxMS41MTk5OCwtMi4xMzMzMyBsIDkuMTczMzIsMjIuODI2NjMgcSAtOS44MTMzMiw0LjkwNjY2IC0yMi44MjY2Myw0LjkwNjY2IC0xMS43MzMzMiwwIC0yMS43NTk5NywtNC4yNjY2NiAtOS44MTMzMiwtNC40OCAtMTcuMDY2NjQsLTEyLjE1OTk5IC03LjI1MzMyLC03LjY3OTk4IC0xMS4zMDY2NSwtMTcuOTE5OTcgLTQuMDUzMzIsLTEwLjIzOTk4IC00LjA1MzMyLC0yMS43NTk5NjIgMCwtMTEuNzMzMzE0IDQuMDUzMzIsLTIxLjk3MzI5OCA0LjA1MzMzLC0xMC4yMzk5ODQgMTEuMzA2NjUsLTE3LjkxOTk3MSA3LjI1MzMyLC03LjY3OTk4OCAxNy4wNjY2NCwtMTEuOTQ2NjQ4IDEwLjAyNjY1LC00LjQ3OTk5MyAyMS43NTk5NywtNC40Nzk5OTMgMTAuNDUzMzEsMCAxOC41NTk5NywzLjE5OTk5NSA4LjEwNjY1LDMuMTk5OTk1IDE0LjI5MzMxLDguMTA2NjU0IHYgLTguNTMzMzIgeiBtIDEwNy45NDY1Miw5My4yMjY1MTMgcSAtNy42Nzk5OCw3LjY3OTk5IC0xNy45MTk5NywxMi4xNTk5OSAtMTAuMjM5OTgsNC4yNjY2NiAtMjEuOTczMjksNC4yNjY2NiAtMTEuNzMzMzIsMCAtMjEuOTczMywtNC4yNjY2NiAtMTAuMjM5OTksLTQuNDggLTE3LjkxOTk3LC0xMi4xNTk5OSAtNy42Nzk5OSwtNy42Nzk5OCAtMTIuMTU5OTgsLTE3LjkxOTk3IC00LjI2NjY2LC0xMC4yMzk5OCAtNC4yNjY2NiwtMjEuNzU5OTYyIDAsLTExLjczMzMxNCA0LjI2NjY2LC0yMS45NzMyOTggNC40Nzk5OSwtMTAuMjM5OTg0IDEyLjE1OTk4LC0xNy45MTk5NzEgNy42Nzk5OCwtNy42Nzk5ODggMTcuOTE5OTcsLTExLjk0NjY0OCAxMC4yMzk5OCwtNC40Nzk5OTMgMjEuOTczMywtNC40Nzk5OTMgMTEuNzMzMzEsMCAyMS45NzMyOSw0LjQ3OTk5MyAxMC4yMzk5OSw0LjI2NjY2IDE3LjkxOTk3LDExLjk0NjY0OCBsIC0xOC4xMzMzLDE4LjEzMzMwNCBxIC04Ljk1OTk5LC04Ljk1OTk4NiAtMjEuNzU5OTYsLTguOTU5OTg2IC0xMi4zNzMzMiwwIC0yMS43NTk5Nyw4Ljk1OTk4NiAtOC45NTk5OSw4Ljk1OTk4NiAtOC45NTk5OSwyMS43NTk5NjUgMCwxMi41ODY2NDIgOC45NTk5OSwyMS41NDY2MzIgNC40Nzk5OSw0LjQ3OTk5IDEwLjAyNjY1LDYuODI2NjYgNS41NDY2NiwyLjEzMzMzIDExLjczMzMyLDIuMTMzMzMgMTMuMDEzMzEsMCAyMS43NTk5NiwtOC45NTk5OSB6IE0gMTA1MS42OTA3LDQ1Ljg2NjYgOTk4LjM1NzQsOTkuMTk5ODQ4IDEwNTEuNjkwNywxNTIuNTMzMSBoIC0zNi4wNTMzIEwgOTgwLjIyNDEsMTE3LjExOTgyIFYgMTUyLjUzMzEgSCA5NTQuNjI0MTQgViAzLjIwMDAwMTUgSCA5ODAuMjI0MSBWIDgxLjA2NjU0NCBMIDEwMTUuNDI0LDQ1Ljg2NjYgaCAzNi4yNjY3IHoiLz48L3N2Zz4=", wa = "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI0Ni45NTU0ODJtbSIgaGVpZ2h0PSIzOS44NDUzMW1tIiB2aWV3Qm94PSIwIDAgNDYuOTU1NDgyIDM5Ljg0NTMxIj48ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtODAuOTYyNSwtMTI4LjU4NzUpIj48ZyB0cmFuc2Zvcm09Im1hdHJpeCgwLjIzNDc3NzQxLDAsMCwwLjIzNTc5MzE4LDY5LjY2MDM5Miw5NC42Njg4MzgpIj48cGF0aCBzdHlsZT0iZmlsbDojNTVhYmU1O2ZpbGwtb3BhY2l0eToxO3N0cm9rZS13aWR0aDowLjM3Mjk2MiIgZD0ibSAxNjUuNzQzNjksMzEyLjM0NTE0IGMgLTMuNjU5MDQsLTAuOTU4NjEgLTYuODkxMzEsLTMuMzUzNDggLTkuMjE0OTQsLTYuODI3NTkgLTEuOTEyMjYsLTIuODU5MDggLTIuMzk3MDUsLTQuNTY5NzEgLTIuMzk3MDUsLTguNDU4MzYgMCwtMy45OTI1NCAwLjA4MjQsLTQuMjc1NyA0LjIzMDEyLC0xNC41NDU1MyA0LjAwOTIzLC05LjkyNjgxIDExLjc0NTk3LC0yOS42MDgwNCAxNC4xNzI1NCwtMzYuMDUzMDIgMS4wNTU1LC0yLjgwMzQ0IDQuNjM1NzksLTEyLjA5MDIgNy45NTYxOSwtMjAuNjM3MjUgMy4zMjA0LC04LjU0NzA2IDkuNDcyNjUsLTI0LjQ5MTIgMTMuNjcxNjgsLTM1LjQzMTQzIDkuNDExNjMsLTI0LjUyMTI1IDEyLjE1MTI0LC0zMS4zOTYxNCAxNC4xOTIyMiwtMzUuNjE0NTUgMS4zMzIyOSwtMi43NTM2NCAxLjg3ODY3LC0zLjU5MjU4IDMuMzQ1NDYsLTUuMTM2NzIgMS45NjgyMiwtMi4wNzIwMyA0LjA5ODQsLTMuNTYyNTMgNi40NjY4NywtNC41MjQ5MyAxLjI3MTM4LC0wLjUxNjYgMi4yNTc2MywtMC42OTMwMiA0LjgyNjc5LC0wLjg2MzQgNS4yMTgzLC0wLjM0NjA3IDI0LjU3NDYyLC0wLjU1NDU4IDI0Ljk4NTA4LC0wLjI2OTE0IDAuNDM3OTcsMC4zMDQ1NiAxLjEzMTMxLC0xLjUwMDIxIC0xNS4xNTQxMiwzOS40NDY3OCAtMjAuNjg4NDIsNTIuMDE3NTcgLTI4Ljk2MTg1LDcyLjk4MjY1IC0zNi43NTE4MSw5My4xMzAwNCAtOC40MDM1NiwyMS43MzQzNCAtOS4zOTQ5NSwyNC4yMDc2NCAtMTAuNzYzMTYsMjYuODUxNjUgLTIuMzU0NSw0LjU1IC02LjM4MjQsNy43ODMzMSAtMTEuMjc2NjEsOS4wNTIwNyAtMi4wNzI1OSwwLjUzNzI5IC02LjAwMDE1LDAuNDgxMDkgLTguMjg5MjYsLTAuMTE4NjIgeiIvPjxwYXRoIHN0eWxlPSJmaWxsOiM1NWFiZTU7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlLXdpZHRoOjAuMzcyOTYyIiBkPSJtIDEyMi40OTIyLDMxMi41ODkxNiBjIC00LjA3OTU2LC0wLjczMjU4IC04LjY1MTIzLC0zLjkzNDEgLTExLjIzMjU4LC03Ljg2NjE2IC0wLjczMDA0LC0xLjExMjAzIC0xLjg1NDU5LC0zLjQ4MzI2IC0yLjg0MzA5LC01Ljk5NDk2IC0wLjg5OTQzLC0yLjI4NTQgLTQuNzYyODcsLTEyLjE1NTMgLTguNTg1NDA5LC0yMS45MzMxMyAtMy44MjI1NCwtOS43Nzc4MyAtOC40NzkwNzIsLTIxLjYzODAzIC0xMC4zNDc4NTIsLTI2LjM1NjAxIC0xLjg2ODc4LC00LjcxNzk3IC03LjQwNDk2OCwtMTguODE1OTUgLTEyLjMwMjY0NiwtMzEuMzI4ODQgLTQuODk3NjgxLC0xMi41MTI4OCAtMTAuODYxOTIzLC0yNy43Mjk3NSAtMTMuMjUzODc2LC0zMy44MTUyNSAtMi4zOTE5NTMsLTYuMDg1NSAtNS42NjUyMTYsLTE0LjQ3NzE1IC03LjI3MzkxOCwtMTguNjQ4MTEgLTEuNjA4Njk4LC00LjE3MDk3IC00LjIzNTk1LC0xMC44NDgyNiAtNS44MzgzMzQsLTE0LjgzODQzIC0yLjA3Mjc3OSwtNS4xNjE1MyAtMi44MzY1MDksLTcuMzMxNzcgLTIuNjQ2ODY5LC03LjUyMTQgMC4zNDc5MDMsLTAuMzQ3OTEgMjAuODI4ODg3LC0wLjM1OTE3IDI0LjczMjg3NCwtMC4wMTM2IDQuNjQ5MjU2LDAuNDExNTQgNy4wMTI4NDgsMS41MjgxMSAxMC41MTc1NDYsNC45Njg1MiAxLjQ1MDgxOSwxLjQyNDIxIDIuMzk4LDIuNjAyMTMgMi45MDQzNzUsMy42MTE5IDEuNzk4NjkzLDMuNTg2NzggOC40MTgxMDMsMjAuMDI4NjkgMTguNjY2Mjc5LDQ2LjM2NTA2IDMuNjk4MzksOS41MDQzMiAxMS4xNjA2NywyOC40MTM1MSAxNi41ODI4NSw0Mi4wMjA0MiAxNC42MzQzMywzNi43MjQ2NyAxOC43NDc1Myw0Ny4xMzc2NSAxOS41Mzk3NSw0OS40NjY4NyAyLjIyOTgxLDYuNTU1ODkgMS4wNTUzMywxMi43MDIxNCAtMy4zMDQyNiwxNy4yOTE3NiAtMy4xMDM1OSwzLjI2NzM2IC02LjIyMDQzLDQuNjA4NDUgLTExLjAyMTc4LDQuNzQyNCAtMS42NDMzMSwwLjA0NTggLTMuNTc1MTgsLTAuMDIyMSAtNC4yOTMwNiwtMC4xNTEwMyB6Ii8+PHJlY3Qgc3R5bGU9ImZpbGw6I2Y3ODQ3MiIgd2lkdGg9IjExLjI2OTU0IiBoZWlnaHQ9IjQyLjA5NzYyMiIgeD0iMTY0Ljg4MDE0IiB5PSIxNzYuMjU5MDkiIHJ5PSI1LjYxMDQ5NiIvPjxyZWN0IHN0eWxlPSJmaWxsOiNmNzg0NzIiIHdpZHRoPSIxMS42MjE1NiIgaGVpZ2h0PSI4Ny4wMzg2MDUiIHg9IjE0Mi4xNTg2OCIgeT0iMTUzLjc4ODYiIHJ5PSI1LjYxMDQ5NiIvPjxyZWN0IHN0eWxlPSJmaWxsOiNmNzg0NzIiIHdpZHRoPSIxMS4yNjk1NCIgaGVpZ2h0PSI0Mi4wOTc2MjIiIHg9IjExOS43ODkyNCIgeT0iMTc2LjI1OTA5IiByeT0iNS42MTA0OTYiLz48L2c+PC9nPjwvc3ZnPg==", La = "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI0Ni45NTU0ODJtbSIgaGVpZ2h0PSIzOS44NDUzMW1tIiB2aWV3Qm94PSIwIDAgNDYuOTU1NDgyIDM5Ljg0NTMxIj48ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtODAuOTYyNSwtMTI4LjU4NzUpIj48ZyB0cmFuc2Zvcm09Im1hdHJpeCgwLjIzNDc3NzQxLDAsMCwwLjIzNTc5MzE4LDY5LjY2MDM5Miw5NC42Njg4MzgpIj48cGF0aCBzdHlsZT0iZmlsbDojMjQ1YjhmO2ZpbGwtb3BhY2l0eToxO3N0cm9rZS13aWR0aDowLjM3Mjk2MiIgZD0ibSAxNjUuNzQzNjksMzEyLjM0NTE0IGMgLTMuNjU5MDQsLTAuOTU4NjEgLTYuODkxMzEsLTMuMzUzNDggLTkuMjE0OTQsLTYuODI3NTkgLTEuOTEyMjYsLTIuODU5MDggLTIuMzk3MDUsLTQuNTY5NzEgLTIuMzk3MDUsLTguNDU4MzYgMCwtMy45OTI1NCAwLjA4MjQsLTQuMjc1NyA0LjIzMDEyLC0xNC41NDU1MyA0LjAwOTIzLC05LjkyNjgxIDExLjc0NTk3LC0yOS42MDgwNCAxNC4xNzI1NCwtMzYuMDUzMDIgMS4wNTU1LC0yLjgwMzQ0IDQuNjM1NzksLTEyLjA5MDIgNy45NTYxOSwtMjAuNjM3MjUgMy4zMjA0LC04LjU0NzA2IDkuNDcyNjUsLTI0LjQ5MTIgMTMuNjcxNjgsLTM1LjQzMTQzIDkuNDExNjMsLTI0LjUyMTI1IDEyLjE1MTI0LC0zMS4zOTYxNCAxNC4xOTIyMiwtMzUuNjE0NTUgMS4zMzIyOSwtMi43NTM2NCAxLjg3ODY3LC0zLjU5MjU4IDMuMzQ1NDYsLTUuMTM2NzIgMS45NjgyMiwtMi4wNzIwMyA0LjA5ODQsLTMuNTYyNTMgNi40NjY4NywtNC41MjQ5MyAxLjI3MTM4LC0wLjUxNjYgMi4yNTc2MywtMC42OTMwMiA0LjgyNjc5LC0wLjg2MzQgNS4yMTgzLC0wLjM0NjA3IDI0LjU3NDYyLC0wLjU1NDU4IDI0Ljk4NTA4LC0wLjI2OTE0IDAuNDM3OTcsMC4zMDQ1NiAxLjEzMTMxLC0xLjUwMDIxIC0xNS4xNTQxMiwzOS40NDY3OCAtMjAuNjg4NDIsNTIuMDE3NTcgLTI4Ljk2MTg1LDcyLjk4MjY1IC0zNi43NTE4MSw5My4xMzAwNCAtOC40MDM1NiwyMS43MzQzNCAtOS4zOTQ5NSwyNC4yMDc2NCAtMTAuNzYzMTYsMjYuODUxNjUgLTIuMzU0NSw0LjU1IC02LjM4MjQsNy43ODMzMSAtMTEuMjc2NjEsOS4wNTIwNyAtMi4wNzI1OSwwLjUzNzI5IC02LjAwMDE1LDAuNDgxMDkgLTguMjg5MjYsLTAuMTE4NjIgeiIvPjxwYXRoIHN0eWxlPSJmaWxsOiMyNDViOGY7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlLXdpZHRoOjAuMzcyOTYyIiBkPSJtIDEyMi40OTIyLDMxMi41ODkxNiBjIC00LjA3OTU2LC0wLjczMjU4IC04LjY1MTIzLC0zLjkzNDEgLTExLjIzMjU4LC03Ljg2NjE2IC0wLjczMDA0LC0xLjExMjAzIC0xLjg1NDU5LC0zLjQ4MzI2IC0yLjg0MzA5LC01Ljk5NDk2IC0wLjg5OTQzLC0yLjI4NTQgLTQuNzYyODcsLTEyLjE1NTMgLTguNTg1NDA5LC0yMS45MzMxMyAtMy44MjI1NCwtOS43Nzc4MyAtOC40NzkwNzIsLTIxLjYzODAzIC0xMC4zNDc4NTIsLTI2LjM1NjAxIC0xLjg2ODc4LC00LjcxNzk3IC03LjQwNDk2OCwtMTguODE1OTUgLTEyLjMwMjY0NiwtMzEuMzI4ODQgLTQuODk3NjgxLC0xMi41MTI4OCAtMTAuODYxOTIzLC0yNy43Mjk3NSAtMTMuMjUzODc2LC0zMy44MTUyNSAtMi4zOTE5NTMsLTYuMDg1NSAtNS42NjUyMTYsLTE0LjQ3NzE1IC03LjI3MzkxOCwtMTguNjQ4MTEgLTEuNjA4Njk4LC00LjE3MDk3IC00LjIzNTk1LC0xMC44NDgyNiAtNS44MzgzMzQsLTE0LjgzODQzIC0yLjA3Mjc3OSwtNS4xNjE1MyAtMi44MzY1MDksLTcuMzMxNzcgLTIuNjQ2ODY5LC03LjUyMTQgMC4zNDc5MDMsLTAuMzQ3OTEgMjAuODI4ODg3LC0wLjM1OTE3IDI0LjczMjg3NCwtMC4wMTM2IDQuNjQ5MjU2LDAuNDExNTQgNy4wMTI4NDgsMS41MjgxMSAxMC41MTc1NDYsNC45Njg1MiAxLjQ1MDgxOSwxLjQyNDIxIDIuMzk4LDIuNjAyMTMgMi45MDQzNzUsMy42MTE5IDEuNzk4NjkzLDMuNTg2NzggOC40MTgxMDMsMjAuMDI4NjkgMTguNjY2Mjc5LDQ2LjM2NTA2IDMuNjk4MzksOS41MDQzMiAxMS4xNjA2NywyOC40MTM1MSAxNi41ODI4NSw0Mi4wMjA0MiAxNC42MzQzMywzNi43MjQ2NyAxOC43NDc1Myw0Ny4xMzc2NSAxOS41Mzk3NSw0OS40NjY4NyAyLjIyOTgxLDYuNTU1ODkgMS4wNTUzMywxMi43MDIxNCAtMy4zMDQyNiwxNy4yOTE3NiAtMy4xMDM1OSwzLjI2NzM2IC02LjIyMDQzLDQuNjA4NDUgLTExLjAyMTc4LDQuNzQyNCAtMS42NDMzMSwwLjA0NTggLTMuNTc1MTgsLTAuMDIyMSAtNC4yOTMwNiwtMC4xNTEwMyB6Ii8+PHJlY3Qgc3R5bGU9ImZpbGw6I2VjNjM0ZCIgd2lkdGg9IjExLjI2OTU0IiBoZWlnaHQ9IjQyLjA5NzYyMiIgeD0iMTY0Ljg4MDE0IiB5PSIxNzYuMjU5MDkiIHJ5PSI1LjYxMDQ5NiIvPjxyZWN0IHN0eWxlPSJmaWxsOiNlYzYzNGQiIHdpZHRoPSIxMS42MjE1NiIgaGVpZ2h0PSI4Ny4wMzg2MDUiIHg9IjE0Mi4xNTg2OCIgeT0iMTUzLjc4ODYiIHJ5PSI1LjYxMDQ5NiIvPjxyZWN0IHN0eWxlPSJmaWxsOiNlYzYzNGQiIHdpZHRoPSIxMS4yNjk1NCIgaGVpZ2h0PSI0Mi4wOTc2MjIiIHg9IjExOS43ODkyNCIgeT0iMTc2LjI1OTA5IiByeT0iNS42MTA0OTYiLz48L2c+PC9nPjwvc3ZnPg==";
9
- function ka({ size: t = 16, sw: e = 1.5, children: n, style: r, ...s }) {
5
+ import { useState as z, useRef as v, useEffect as U, useLayoutEffect as Bt, createContext as ni, useMemo as Ie, useContext as Ma, useCallback as Ke, Fragment as ga, forwardRef as fa, useImperativeHandle as pa } from "react";
6
+ import { createPortal as Na } from "react-dom";
7
+ import { VocalStackError as ri, VocalStack as si } from "@vocalstack/js-sdk";
8
+ const ii = "https://vocalstack.com", ma = "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxMDUxLjY5MDciIGhlaWdodD0iMTU1LjMwNjQxIiB2aWV3Qm94PSIwIDAgMTA1MS42OTA2IDE1NS4zMDY0MSI+PGcgdHJhbnNmb3JtPSJtYXRyaXgoMC44ODczNDc3MSwwLDAsMC44OTExODY4MiwtNDIuNzE2NjMsLTEyMy44NTM4OCkiPjxwYXRoIHN0eWxlPSJmaWxsOiM1NWFiZTU7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlLXdpZHRoOjAuMzcyOTYyIiBkPSJtIDE2NS43NDM2OSwzMTIuMzQ1MTQgYyAtMy42NTkwNCwtMC45NTg2MSAtNi44OTEzMSwtMy4zNTM0OCAtOS4yMTQ5NCwtNi44Mjc1OSAtMS45MTIyNiwtMi44NTkwOCAtMi4zOTcwNSwtNC41Njk3MSAtMi4zOTcwNSwtOC40NTgzNiAwLC0zLjk5MjU0IDAuMDgyNCwtNC4yNzU3IDQuMjMwMTIsLTE0LjU0NTUzIDQuMDA5MjMsLTkuOTI2ODEgMTEuNzQ1OTcsLTI5LjYwODA0IDE0LjE3MjU0LC0zNi4wNTMwMiAxLjA1NTUsLTIuODAzNDQgNC42MzU3OSwtMTIuMDkwMiA3Ljk1NjE5LC0yMC42MzcyNSAzLjMyMDQsLTguNTQ3MDYgOS40NzI2NSwtMjQuNDkxMiAxMy42NzE2OCwtMzUuNDMxNDMgOS40MTE2MywtMjQuNTIxMjUgMTIuMTUxMjQsLTMxLjM5NjE0IDE0LjE5MjIyLC0zNS42MTQ1NSAxLjMzMjI5LC0yLjc1MzY0IDEuODc4NjcsLTMuNTkyNTggMy4zNDU0NiwtNS4xMzY3MiAxLjk2ODIyLC0yLjA3MjAzIDQuMDk4NCwtMy41NjI1MyA2LjQ2Njg3LC00LjUyNDkzIDEuMjcxMzgsLTAuNTE2NiAyLjI1NzYzLC0wLjY5MzAyIDQuODI2NzksLTAuODYzNCA1LjIxODMsLTAuMzQ2MDcgMjQuNTc0NjIsLTAuNTU0NTggMjQuOTg1MDgsLTAuMjY5MTQgMC40Mzc5NywwLjMwNDU2IDEuMTMxMzEsLTEuNTAwMjEgLTE1LjE1NDEyLDM5LjQ0Njc4IC0yMC42ODg0Miw1Mi4wMTc1NyAtMjguOTYxODUsNzIuOTgyNjUgLTM2Ljc1MTgxLDkzLjEzMDA0IC04LjQwMzU2LDIxLjczNDM0IC05LjM5NDk1LDI0LjIwNzY0IC0xMC43NjMxNiwyNi44NTE2NSAtMi4zNTQ1LDQuNTUgLTYuMzgyNCw3Ljc4MzMxIC0xMS4yNzY2MSw5LjA1MjA3IC0yLjA3MjU5LDAuNTM3MjkgLTYuMDAwMTUsMC40ODEwOSAtOC4yODkyNiwtMC4xMTg2MiB6Ii8+PHBhdGggc3R5bGU9ImZpbGw6IzU1YWJlNTtmaWxsLW9wYWNpdHk6MTtzdHJva2Utd2lkdGg6MC4zNzI5NjIiIGQ9Im0gMTIyLjQ5MjIsMzEyLjU4OTE2IGMgLTQuMDc5NTYsLTAuNzMyNTggLTguNjUxMjMsLTMuOTM0MSAtMTEuMjMyNTgsLTcuODY2MTYgLTAuNzMwMDQsLTEuMTEyMDMgLTEuODU0NTksLTMuNDgzMjYgLTIuODQzMDksLTUuOTk0OTYgLTAuODk5NDMsLTIuMjg1NCAtNC43NjI4NywtMTIuMTU1MyAtOC41ODU0MDksLTIxLjkzMzEzIC0zLjgyMjU0LC05Ljc3NzgzIC04LjQ3OTA3MiwtMjEuNjM4MDMgLTEwLjM0Nzg1MiwtMjYuMzU2MDEgLTEuODY4NzgsLTQuNzE3OTcgLTcuNDA0OTY4LC0xOC44MTU5NSAtMTIuMzAyNjQ2LC0zMS4zMjg4NCAtNC44OTc2ODEsLTEyLjUxMjg4IC0xMC44NjE5MjMsLTI3LjcyOTc1IC0xMy4yNTM4NzYsLTMzLjgxNTI1IC0yLjM5MTk1MywtNi4wODU1IC01LjY2NTIxNiwtMTQuNDc3MTUgLTcuMjczOTE4LC0xOC42NDgxMSAtMS42MDg2OTgsLTQuMTcwOTcgLTQuMjM1OTUsLTEwLjg0ODI2IC01LjgzODMzNCwtMTQuODM4NDMgLTIuMDcyNzc5LC01LjE2MTUzIC0yLjgzNjUwOSwtNy4zMzE3NyAtMi42NDY4NjksLTcuNTIxNCAwLjM0NzkwMywtMC4zNDc5MSAyMC44Mjg4ODcsLTAuMzU5MTcgMjQuNzMyODc0LC0wLjAxMzYgNC42NDkyNTYsMC40MTE1NCA3LjAxMjg0OCwxLjUyODExIDEwLjUxNzU0Niw0Ljk2ODUyIDEuNDUwODE5LDEuNDI0MjEgMi4zOTgsMi42MDIxMyAyLjkwNDM3NSwzLjYxMTkgMS43OTg2OTMsMy41ODY3OCA4LjQxODEwMywyMC4wMjg2OSAxOC42NjYyNzksNDYuMzY1MDYgMy42OTgzOSw5LjUwNDMyIDExLjE2MDY3LDI4LjQxMzUxIDE2LjU4Mjg1LDQyLjAyMDQyIDE0LjYzNDMzLDM2LjcyNDY3IDE4Ljc0NzUzLDQ3LjEzNzY1IDE5LjUzOTc1LDQ5LjQ2Njg3IDIuMjI5ODEsNi41NTU4OSAxLjA1NTMzLDEyLjcwMjE0IC0zLjMwNDI2LDE3LjI5MTc2IC0zLjEwMzU5LDMuMjY3MzYgLTYuMjIwNDMsNC42MDg0NSAtMTEuMDIxNzgsNC43NDI0IC0xLjY0MzMxLDAuMDQ1OCAtMy41NzUxOCwtMC4wMjIxIC00LjI5MzA2LC0wLjE1MTAzIHoiLz48cmVjdCBzdHlsZT0iZmlsbDojZWM2MzRkIiB3aWR0aD0iMTEuMjY5NTQiIGhlaWdodD0iNDIuMDk3NjIyIiB4PSIxNjQuODgwMTQiIHk9IjE3Ni4yNTkwOSIgcnk9IjUuNjEwNDk2Ii8+PHJlY3Qgc3R5bGU9ImZpbGw6I2VjNjM0ZCIgd2lkdGg9IjExLjYyMTU2IiBoZWlnaHQ9Ijg3LjAzODYwNSIgeD0iMTQyLjE1ODY4IiB5PSIxNTMuNzg4NiIgcnk9IjUuNjEwNDk2Ii8+PHJlY3Qgc3R5bGU9ImZpbGw6I2VjNjM0ZCIgd2lkdGg9IjExLjI2OTU0IiBoZWlnaHQ9IjQyLjA5NzYyMiIgeD0iMTE5Ljc4OTI0IiB5PSIxNzYuMjU5MDkiIHJ5PSI1LjYxMDQ5NiIvPjwvZz48cGF0aCBzdHlsZT0iZmlsbDojZmZmZmZmIiBkPSJtIDIyMi4yNTEzMiw2OC40Nzk4OTcgcSAtMTIuNzk5OTgsMCAtMjEuNzU5OTcsOC45NTk5ODYgLTguOTU5OTgsOC45NTk5ODYgLTguOTU5OTgsMjEuNzU5OTY1IDAsMTIuNTg2NjQyIDguOTU5OTgsMjEuNTQ2NjMyIDQuMjY2NjYsNC40Nzk5OSA5LjgxMzMyLDYuODI2NjYgNS43NTk5OSwyLjEzMzMzIDExLjk0NjY1LDIuMTMzMzMgNi4xODY2NiwwIDExLjczMzMxLC0yLjEzMzMzIDUuNTQ2NjYsLTIuMzQ2NjcgMTAuMDI2NjUsLTYuODI2NjYgOC45NTk5OSwtOC45NTk5OSA4Ljk1OTk5LC0yMS41NDY2MzIgMCwtMTIuNzk5OTc5IC04Ljk1OTk5LC0yMS43NTk5NjUgLTkuMzg2NjUsLTguOTU5OTg2IC0yMS43NTk5NiwtOC45NTk5ODYgeiBtIDAsLTI1LjU5OTk1OSBxIDExLjczMzMxLDAgMjEuOTczMyw0LjQ3OTk5MyAxMC4yMzk5OCw0LjI2NjY2IDE3LjkxOTk3LDExLjk0NjY0OCA3LjY3OTk5LDcuNjc5OTg3IDExLjk0NjY1LDE3LjkxOTk3MSA0LjQ3OTk5LDEwLjIzOTk4NCA0LjQ3OTk5LDIxLjk3MzI5OCAwLDExLjUxOTk4MiAtNC40Nzk5OSwyMS43NTk5NjIgLTQuMjY2NjYsMTAuMjM5OTkgLTExLjk0NjY1LDE3LjkxOTk3IC03LjY3OTk5LDcuNjc5OTkgLTE3LjkxOTk3LDEyLjE1OTk5IC0xMC4yMzk5OSw0LjI2NjY2IC0yMS45NzMzLDQuMjY2NjYgLTExLjczMzMyLDAgLTIxLjk3MzMsLTQuMjY2NjYgLTEwLjIzOTk4LC00LjQ4IC0xNy45MTk5NywtMTIuMTU5OTkgLTcuNjc5OTksLTcuNjc5OTggLTEyLjE1OTk4LC0xNy45MTk5NyAtNC4yNjY2NiwtMTAuMjM5OTggLTQuMjY2NjYsLTIxLjc1OTk2MiAwLC0xMS43MzMzMTQgNC4yNjY2NiwtMjEuOTczMjk4IDQuNDc5OTksLTEwLjIzOTk4NCAxMi4xNTk5OCwtMTcuOTE5OTcxIDcuNjc5OTksLTcuNjc5OTg4IDE3LjkxOTk3LC0xMS45NDY2NDggMTAuMjM5OTgsLTQuNDc5OTkzIDIxLjk3MzMsLTQuNDc5OTkzIHogTSAzODMuMzE3OSwxMzguODc5NzggcSAtNy42Nzk5OSw3LjY3OTk5IC0xNy45MTk5NywxMi4xNTk5OSAtMTAuMjM5OTksNC4yNjY2NiAtMjEuOTczMyw0LjI2NjY2IC0xMS43MzMzMiwwIC0yMS45NzMzLC00LjI2NjY2IC0xMC4yMzk5OCwtNC40OCAtMTcuOTE5OTcsLTEyLjE1OTk5IC03LjY3OTk5LC03LjY3OTk4IC0xMi4xNTk5OCwtMTcuOTE5OTcgLTQuMjY2NjYsLTEwLjIzOTk4IC00LjI2NjY2LC0yMS43NTk5NjIgMCwtMTEuNzMzMzE0IDQuMjY2NjYsLTIxLjk3MzI5OCA0LjQ3OTk5LC0xMC4yMzk5ODQgMTIuMTU5OTgsLTE3LjkxOTk3MSA3LjY3OTk5LC03LjY3OTk4OCAxNy45MTk5NywtMTEuOTQ2NjQ4IDEwLjIzOTk4LC00LjQ3OTk5MyAyMS45NzMzLC00LjQ3OTk5MyAxMS43MzMzMSwwIDIxLjk3MzMsNC40Nzk5OTMgMTAuMjM5OTgsNC4yNjY2NiAxNy45MTk5NywxMS45NDY2NDggbCAtMTguMTMzMzEsMTguMTMzMzA0IHEgLTguOTU5OTgsLTguOTU5OTg2IC0yMS43NTk5NiwtOC45NTk5ODYgLTEyLjM3MzMyLDAgLTIxLjc1OTk3LDguOTU5OTg2IC04Ljk1OTk4LDguOTU5OTg2IC04Ljk1OTk4LDIxLjc1OTk2NSAwLDEyLjU4NjY0MiA4Ljk1OTk4LDIxLjU0NjYzMiA0LjQ4LDQuNDc5OTkgMTAuMDI2NjUsNi44MjY2NiA1LjU0NjY2LDIuMTMzMzMgMTEuNzMzMzIsMi4xMzMzMyAxMy4wMTMzMSwwIDIxLjc1OTk2LC04Ljk1OTk5IHogTSA0OTguMDkxMTQsNDUuNjUzMjY3IFYgMTUyLjUzMzEgSCA0NzIuNDkxMTggViA5OS4xOTk4NDggcSAwLC0xMi43OTk5NzkgLTguOTU5OTgsLTIxLjc1OTk2NSAtOC45NTk5OSwtOC45NTk5ODYgLTIxLjc1OTk3LC04Ljk1OTk4NiAtNi4xODY2NiwwIC0xMS45NDY2NSwyLjM0NjY2MyAtNS41NDY2NSwyLjM0NjY2MyAtOS44MTMzMSw2LjYxMzMyMyAtOC45NTk5OSw4Ljk1OTk4NiAtOC45NTk5OSwyMS43NTk5NjUgMCwxMi41ODY2NDIgOC45NTk5OSwyMS41NDY2MzIgNC4yNjY2Niw0LjQ3OTk5IDkuODEzMzEsNi44MjY2NiA1Ljc1OTk5LDIuMTMzMzMgMTEuOTQ2NjUsMi4xMzMzMyA2LjM5OTk5LDAgMTEuNTE5OTgsLTIuMTMzMzMgbCA5LjE3MzMyLDIyLjgyNjYzIHEgLTkuODEzMzIsNC45MDY2NiAtMjIuODI2NjMsNC45MDY2NiAtMTEuNzMzMzEsMCAtMjEuNzU5OTYsLTQuMjY2NjYgLTkuODEzMzIsLTQuNDggLTE3LjA2NjY0LC0xMi4xNTk5OSAtNy4yNTMzMiwtNy42Nzk5OCAtMTEuMzA2NjUsLTE3LjkxOTk3IC00LjA1MzMzLC0xMC4yMzk5OCAtNC4wNTMzMywtMjEuNzU5OTYyIDAsLTExLjczMzMxNCA0LjA1MzMzLC0yMS45NzMyOTggNC4wNTMzMywtMTAuMjM5OTg0IDExLjMwNjY1LC0xNy45MTk5NzEgNy4yNTMzMiwtNy42Nzk5ODggMTcuMDY2NjQsLTExLjk0NjY0OCAxMC4wMjY2NSwtNC40Nzk5OTMgMjEuNzU5OTYsLTQuNDc5OTkzIDEwLjQ1MzMyLDAgMTguNTU5OTcsMy4xOTk5OTUgOC4xMDY2NiwzLjE5OTk5NSAxNC4yOTMzMSw4LjEwNjY1NCB2IC04LjUzMzMyIHogTSA1MzguNjI0NDYsMTUyLjUzMzEgSCA1MTMuMDI0NSBWIDMuMjAwMDAxNSBoIDI1LjU5OTk2IFYgMTUyLjUzMzEgWiBtIDEyMC4xMDY1OSwtNDIuNjY2NiBxIDAsMTAuNDUzMzEgLTMuNDEzMzMsMTguOTg2NjMgLTMuNDEzMzIsOC4zMTk5OSAtOS44MTMzMSwxNC4yOTMzMSAtNi4xODY2Niw1Ljc2IC0xNS4xNDY2NSw4Ljk1OTk5IC04Ljk1OTk4LDMuMiAtMjAuMDUzMywzLjIgLTE3LjcwNjY0LDAgLTMxLjU3MzI4LC01LjU0NjY2IC0xMy44NjY2NCwtNS43NTk5OSAtMjIuODI2NjMsLTEzLjAxMzMyIGwgMTcuNzA2NjQsLTE3LjcwNjYzIHEgNy4wMzk5OSw2LjM5OTk5IDE1Ljc4NjY0LDkuODEzMzEgNS4zMzMzMiwyLjEzMzMzIDEwLjAyNjY1LDIuNzczMzMgNC42OTMzMywwLjY0IDcuNjc5OTksMC42NCA1LjU0NjY2LDAgMTAuMDI2NjUsLTEuMjggNC42OTMzMiwtMS40OTMzMyA4LjEwNjY1LC0zLjgzOTk5IDcuMjUzMzIsLTUuMzMzMzIgNy4yNTMzMiwtMTQuMDc5OTggMCwtNS4zMzMzMiAtMy44Mzk5OSwtOS41OTk5OCAtMi45ODY2NiwtMy40MTMzMyAtNy42Nzk5OSwtNS41NDY2NiAtMy44Mzk5OSwtMi4xMzMzMyAtOC4xMDY2NSwtMy40MTMzMjggLTQuMjY2NjYsLTEuMjc5OTk4IC03LjY3OTk5LC0yLjM0NjY2MyAtMS4wNjY2NiwtMC40MjY2NjYgLTEuOTIsLTAuNDI2NjY2IC0wLjg1MzMzLC0wLjIxMzMzMyAtMS40OTMzMywtMC42Mzk5OTkgLTAuNDI2NjYsMCAtMS4yNzk5OSwtMC40MjY2NjYgLTQuNDgsLTEuMjc5OTk3IC0xMy4wMTMzMiwtNC40Nzk5OTIgLTguMzE5OTgsLTMuMTk5OTk1IC0xNi42Mzk5NywtOC43NDY2NTMgLTE5LjQxMzMsLTEzLjAxMzMxMyAtMTkuNDEzMywtMzEuOTk5OTQ5IDAsLTEyLjU4NjY0NyA0LjI2NjY2LC0yMS4xMTk5NjYgNC40Nzk5OSwtOC43NDY2NTMgMTEuNTE5OTgsLTE0LjA3OTk3OCA3LjAzOTk5LC01LjU0NjY1NzUgMTUuNTczMzEsLTcuODkzMzIwNCBRIDU5MS41MzExNiw2LjYzNzU3MzNlLTYgNTk5Ljg1MTE1LDYuNjM3NTczM2UtNiBxIDE1LjM1OTk3LDAgMjUuODEzMjksMy42MjY2NjA4NjI0MjY3IDEwLjQ1MzMyLDMuNjI2NjYwOSAxNi42Mzk5Nyw3LjI1MzMyMTUgMy4yLDEuOTE5OTk3IDUuMzMzMzMsMy44Mzk5OTQgMi4zNDY2NiwxLjcwNjY2NCA0LjA1MzMyLDMuMTk5OTk1IGwgLTE4LjEzMzMsMTguMzQ2NjM3IHEgLTUuNzU5OTksLTUuNzU5OTkgLTExLjczMzMyLC04Ljc0NjY1MiAtOC45NTk5OCwtNC4yNjY2NiAtMTguNzczMywtNC4yNjY2NiAtNC4yNjY2NiwwIC04LjUzMzMyLDEuMDY2NjY1IC00LjI2NjY2LDEuMDY2NjY1IC03LjQ2NjY1LDIuNzczMzI5IC05LjM4NjY1LDUuNzU5OTkgLTkuMzg2NjUsMTUuMTQ2NjQyIDAsNS43NTk5OTEgMy44Mzk5OSw5LjgxMzMxOCAyLjc3MzMzLDMuMTk5OTk1IDcuNjc5OTksNS43NTk5OTEgNC4wNTMzMiwyLjEzMzMzIDguNTMzMzIsMy40MTMzMjggNC40Nzk5OSwxLjI3OTk5NyA4LjMxOTk4LDIuMzQ2NjYyIGwgMi41NiwwLjYzOTk5OSBxIDEuMDY2NjYsMC40MjY2NjYgNC4wNTMzMywxLjI3OTk5OCAyLjk4NjY2LDAuODUzMzMyIDcuMDM5OTgsMi41NTk5OTYgNC4wNTMzMywxLjcwNjY2NCA4Ljc0NjY2LDQuMDUzMzI3IDQuOTA2NjYsMi4zNDY2NjMgOS41OTk5OCw1LjU0NjY1OCAyMC42OTMzLDEzLjY1MzMxMSAyMC42OTMzLDMyLjIxMzI4NCB6IG0gNjkuMTE5NzcsNDIuNjY2NiBoIC0yMy40NjY2MyBxIC03LjI1MzMyLDAgLTEzLjY1MzMxLC0yLjc3MzMzIC02LjM5OTk5LC0yLjc3MzMzIC0xMS4wOTMzMiwtNy40NjY2NiAtNC42OTMzMiwtNC45MDY2NiAtNy40NjY2NSwtMTEuMzA2NjUgLTIuNzczMzMsLTYuMzk5OTkgLTIuNzczMzMsLTEzLjY1MzMxIFYgMjQuMzE5OTY4IGwgMjUuNTk5OTYsLTYuMzk5OTkgViA1OC42NjY1OCBoIDE0LjkzMzMxIGwgNi4zOTk5OSwyNS41OTk5NTkgaCAtMjEuMzMzMyB2IDMzLjA2NjYxMSBxIDAsNC4wNTMzMyAyLjc3MzMzLDYuODI2NjYgMi43NzMzMywyLjc3MzMzIDYuNjEzMzIsMi43NzMzMyBoIDE3LjA2NjY0IHogbSAxMTEuMzYsLTEwNi44Nzk4MzMgViAxNTIuNTMzMSBIIDgxMy42MTA4NiBWIDk5LjE5OTg0OCBxIDAsLTEyLjc5OTk3OSAtOC45NTk5OSwtMjEuNzU5OTY1IC04Ljk1OTk4LC04Ljk1OTk4NiAtMjEuNzU5OTYsLTguOTU5OTg2IC02LjE4NjY2LDAgLTExLjk0NjY1LDIuMzQ2NjYzIC01LjU0NjY2LDIuMzQ2NjYzIC05LjgxMzMyLDYuNjEzMzIzIC04Ljk1OTk4LDguOTU5OTg2IC04Ljk1OTk4LDIxLjc1OTk2NSAwLDEyLjU4NjY0MiA4Ljk1OTk4LDIxLjU0NjYzMiA0LjI2NjY2LDQuNDc5OTkgOS44MTMzMiw2LjgyNjY2IDUuNzU5OTksMi4xMzMzMyAxMS45NDY2NSwyLjEzMzMzIDYuMzk5OTksMCAxMS41MTk5OCwtMi4xMzMzMyBsIDkuMTczMzIsMjIuODI2NjMgcSAtOS44MTMzMiw0LjkwNjY2IC0yMi44MjY2Myw0LjkwNjY2IC0xMS43MzMzMiwwIC0yMS43NTk5NywtNC4yNjY2NiAtOS44MTMzMiwtNC40OCAtMTcuMDY2NjQsLTEyLjE1OTk5IC03LjI1MzMyLC03LjY3OTk4IC0xMS4zMDY2NSwtMTcuOTE5OTcgLTQuMDUzMzIsLTEwLjIzOTk4IC00LjA1MzMyLC0yMS43NTk5NjIgMCwtMTEuNzMzMzE0IDQuMDUzMzIsLTIxLjk3MzI5OCA0LjA1MzMzLC0xMC4yMzk5ODQgMTEuMzA2NjUsLTE3LjkxOTk3MSA3LjI1MzMyLC03LjY3OTk4OCAxNy4wNjY2NCwtMTEuOTQ2NjQ4IDEwLjAyNjY1LC00LjQ3OTk5MyAyMS43NTk5NywtNC40Nzk5OTMgMTAuNDUzMzEsMCAxOC41NTk5NywzLjE5OTk5NSA4LjEwNjY1LDMuMTk5OTk1IDE0LjI5MzMxLDguMTA2NjU0IHYgLTguNTMzMzIgeiBtIDEwNy45NDY1Miw5My4yMjY1MTMgcSAtNy42Nzk5OCw3LjY3OTk5IC0xNy45MTk5NywxMi4xNTk5OSAtMTAuMjM5OTgsNC4yNjY2NiAtMjEuOTczMjksNC4yNjY2NiAtMTEuNzMzMzIsMCAtMjEuOTczMywtNC4yNjY2NiAtMTAuMjM5OTksLTQuNDggLTE3LjkxOTk3LC0xMi4xNTk5OSAtNy42Nzk5OSwtNy42Nzk5OCAtMTIuMTU5OTgsLTE3LjkxOTk3IC00LjI2NjY2LC0xMC4yMzk5OCAtNC4yNjY2NiwtMjEuNzU5OTYyIDAsLTExLjczMzMxNCA0LjI2NjY2LC0yMS45NzMyOTggNC40Nzk5OSwtMTAuMjM5OTg0IDEyLjE1OTk4LC0xNy45MTk5NzEgNy42Nzk5OCwtNy42Nzk5ODggMTcuOTE5OTcsLTExLjk0NjY0OCAxMC4yMzk5OCwtNC40Nzk5OTMgMjEuOTczMywtNC40Nzk5OTMgMTEuNzMzMzEsMCAyMS45NzMyOSw0LjQ3OTk5MyAxMC4yMzk5OSw0LjI2NjY2IDE3LjkxOTk3LDExLjk0NjY0OCBsIC0xOC4xMzMzLDE4LjEzMzMwNCBxIC04Ljk1OTk5LC04Ljk1OTk4NiAtMjEuNzU5OTYsLTguOTU5OTg2IC0xMi4zNzMzMiwwIC0yMS43NTk5Nyw4Ljk1OTk4NiAtOC45NTk5OSw4Ljk1OTk4NiAtOC45NTk5OSwyMS43NTk5NjUgMCwxMi41ODY2NDIgOC45NTk5OSwyMS41NDY2MzIgNC40Nzk5OSw0LjQ3OTk5IDEwLjAyNjY1LDYuODI2NjYgNS41NDY2NiwyLjEzMzMzIDExLjczMzMyLDIuMTMzMzMgMTMuMDEzMzEsMCAyMS43NTk5NiwtOC45NTk5OSB6IE0gMTA1MS42OTA3LDQ1Ljg2NjYgOTk4LjM1NzQsOTkuMTk5ODQ4IDEwNTEuNjkwNywxNTIuNTMzMSBoIC0zNi4wNTMzIEwgOTgwLjIyNDEsMTE3LjExOTgyIFYgMTUyLjUzMzEgSCA5NTQuNjI0MTQgViAzLjIwMDAwMTUgSCA5ODAuMjI0MSBWIDgxLjA2NjU0NCBMIDEwMTUuNDI0LDQ1Ljg2NjYgaCAzNi4yNjY3IHoiLz48L3N2Zz4=", ya = "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxMDUxLjY5MDciIGhlaWdodD0iMTU1LjMwNjQxIiB2aWV3Qm94PSIwIDAgMTA1MS42OTA2IDE1NS4zMDY0MSI+PGcgdHJhbnNmb3JtPSJtYXRyaXgoMC44ODczNDc3MSwwLDAsMC44OTExODY4MiwtNDIuNzE2NjMsLTEyMy44NTM4OCkiPjxwYXRoIHN0eWxlPSJmaWxsOiMyNDVCOEY7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlLXdpZHRoOjAuMzcyOTYyIiBkPSJtIDE2NS43NDM2OSwzMTIuMzQ1MTQgYyAtMy42NTkwNCwtMC45NTg2MSAtNi44OTEzMSwtMy4zNTM0OCAtOS4yMTQ5NCwtNi44Mjc1OSAtMS45MTIyNiwtMi44NTkwOCAtMi4zOTcwNSwtNC41Njk3MSAtMi4zOTcwNSwtOC40NTgzNiAwLC0zLjk5MjU0IDAuMDgyNCwtNC4yNzU3IDQuMjMwMTIsLTE0LjU0NTUzIDQuMDA5MjMsLTkuOTI2ODEgMTEuNzQ1OTcsLTI5LjYwODA0IDE0LjE3MjU0LC0zNi4wNTMwMiAxLjA1NTUsLTIuODAzNDQgNC42MzU3OSwtMTIuMDkwMiA3Ljk1NjE5LC0yMC42MzcyNSAzLjMyMDQsLTguNTQ3MDYgOS40NzI2NSwtMjQuNDkxMiAxMy42NzE2OCwtMzUuNDMxNDMgOS40MTE2MywtMjQuNTIxMjUgMTIuMTUxMjQsLTMxLjM5NjE0IDE0LjE5MjIyLC0zNS42MTQ1NSAxLjMzMjI5LC0yLjc1MzY0IDEuODc4NjcsLTMuNTkyNTggMy4zNDU0NiwtNS4xMzY3MiAxLjk2ODIyLC0yLjA3MjAzIDQuMDk4NCwtMy41NjI1MyA2LjQ2Njg3LC00LjUyNDkzIDEuMjcxMzgsLTAuNTE2NiAyLjI1NzYzLC0wLjY5MzAyIDQuODI2NzksLTAuODYzNCA1LjIxODMsLTAuMzQ2MDcgMjQuNTc0NjIsLTAuNTU0NTggMjQuOTg1MDgsLTAuMjY5MTQgMC40Mzc5NywwLjMwNDU2IDEuMTMxMzEsLTEuNTAwMjEgLTE1LjE1NDEyLDM5LjQ0Njc4IC0yMC42ODg0Miw1Mi4wMTc1NyAtMjguOTYxODUsNzIuOTgyNjUgLTM2Ljc1MTgxLDkzLjEzMDA0IC04LjQwMzU2LDIxLjczNDM0IC05LjM5NDk1LDI0LjIwNzY0IC0xMC43NjMxNiwyNi44NTE2NSAtMi4zNTQ1LDQuNTUgLTYuMzgyNCw3Ljc4MzMxIC0xMS4yNzY2MSw5LjA1MjA3IC0yLjA3MjU5LDAuNTM3MjkgLTYuMDAwMTUsMC40ODEwOSAtOC4yODkyNiwtMC4xMTg2MiB6Ii8+PHBhdGggc3R5bGU9ImZpbGw6IzI0NUI4RjtmaWxsLW9wYWNpdHk6MTtzdHJva2Utd2lkdGg6MC4zNzI5NjIiIGQ9Im0gMTIyLjQ5MjIsMzEyLjU4OTE2IGMgLTQuMDc5NTYsLTAuNzMyNTggLTguNjUxMjMsLTMuOTM0MSAtMTEuMjMyNTgsLTcuODY2MTYgLTAuNzMwMDQsLTEuMTEyMDMgLTEuODU0NTksLTMuNDgzMjYgLTIuODQzMDksLTUuOTk0OTYgLTAuODk5NDMsLTIuMjg1NCAtNC43NjI4NywtMTIuMTU1MyAtOC41ODU0MDksLTIxLjkzMzEzIC0zLjgyMjU0LC05Ljc3NzgzIC04LjQ3OTA3MiwtMjEuNjM4MDMgLTEwLjM0Nzg1MiwtMjYuMzU2MDEgLTEuODY4NzgsLTQuNzE3OTcgLTcuNDA0OTY4LC0xOC44MTU5NSAtMTIuMzAyNjQ2LC0zMS4zMjg4NCAtNC44OTc2ODEsLTEyLjUxMjg4IC0xMC44NjE5MjMsLTI3LjcyOTc1IC0xMy4yNTM4NzYsLTMzLjgxNTI1IC0yLjM5MTk1MywtNi4wODU1IC01LjY2NTIxNiwtMTQuNDc3MTUgLTcuMjczOTE4LC0xOC42NDgxMSAtMS42MDg2OTgsLTQuMTcwOTcgLTQuMjM1OTUsLTEwLjg0ODI2IC01LjgzODMzNCwtMTQuODM4NDMgLTIuMDcyNzc5LC01LjE2MTUzIC0yLjgzNjUwOSwtNy4zMzE3NyAtMi42NDY4NjksLTcuNTIxNCAwLjM0NzkwMywtMC4zNDc5MSAyMC44Mjg4ODcsLTAuMzU5MTcgMjQuNzMyODc0LC0wLjAxMzYgNC42NDkyNTYsMC40MTE1NCA3LjAxMjg0OCwxLjUyODExIDEwLjUxNzU0Niw0Ljk2ODUyIDEuNDUwODE5LDEuNDI0MjEgMi4zOTgsMi42MDIxMyAyLjkwNDM3NSwzLjYxMTkgMS43OTg2OTMsMy41ODY3OCA4LjQxODEwMywyMC4wMjg2OSAxOC42NjYyNzksNDYuMzY1MDYgMy42OTgzOSw5LjUwNDMyIDExLjE2MDY3LDI4LjQxMzUxIDE2LjU4Mjg1LDQyLjAyMDQyIDE0LjYzNDMzLDM2LjcyNDY3IDE4Ljc0NzUzLDQ3LjEzNzY1IDE5LjUzOTc1LDQ5LjQ2Njg3IDIuMjI5ODEsNi41NTU4OSAxLjA1NTMzLDEyLjcwMjE0IC0zLjMwNDI2LDE3LjI5MTc2IC0zLjEwMzU5LDMuMjY3MzYgLTYuMjIwNDMsNC42MDg0NSAtMTEuMDIxNzgsNC43NDI0IC0xLjY0MzMxLDAuMDQ1OCAtMy41NzUxOCwtMC4wMjIxIC00LjI5MzA2LC0wLjE1MTAzIHoiLz48cmVjdCBzdHlsZT0iZmlsbDojZWM2MzRkIiB3aWR0aD0iMTEuMjY5NTQiIGhlaWdodD0iNDIuMDk3NjIyIiB4PSIxNjQuODgwMTQiIHk9IjE3Ni4yNTkwOSIgcnk9IjUuNjEwNDk2Ii8+PHJlY3Qgc3R5bGU9ImZpbGw6I2VjNjM0ZCIgd2lkdGg9IjExLjYyMTU2IiBoZWlnaHQ9Ijg3LjAzODYwNSIgeD0iMTQyLjE1ODY4IiB5PSIxNTMuNzg4NiIgcnk9IjUuNjEwNDk2Ii8+PHJlY3Qgc3R5bGU9ImZpbGw6I2VjNjM0ZCIgd2lkdGg9IjExLjI2OTU0IiBoZWlnaHQ9IjQyLjA5NzYyMiIgeD0iMTE5Ljc4OTI0IiB5PSIxNzYuMjU5MDkiIHJ5PSI1LjYxMDQ5NiIvPjwvZz48cGF0aCBzdHlsZT0iZmlsbDojZWM2MzRkIiBkPSJtIDIyMi4yNTEzMiw2OC40Nzk4OTcgcSAtMTIuNzk5OTgsMCAtMjEuNzU5OTcsOC45NTk5ODYgLTguOTU5OTgsOC45NTk5ODYgLTguOTU5OTgsMjEuNzU5OTY1IDAsMTIuNTg2NjQyIDguOTU5OTgsMjEuNTQ2NjMyIDQuMjY2NjYsNC40Nzk5OSA5LjgxMzMyLDYuODI2NjYgNS43NTk5OSwyLjEzMzMzIDExLjk0NjY1LDIuMTMzMzMgNi4xODY2NiwwIDExLjczMzMxLC0yLjEzMzMzIDUuNTQ2NjYsLTIuMzQ2NjcgMTAuMDI2NjUsLTYuODI2NjYgOC45NTk5OSwtOC45NTk5OSA4Ljk1OTk5LC0yMS41NDY2MzIgMCwtMTIuNzk5OTc5IC04Ljk1OTk5LC0yMS43NTk5NjUgLTkuMzg2NjUsLTguOTU5OTg2IC0yMS43NTk5NiwtOC45NTk5ODYgeiBtIDAsLTI1LjU5OTk1OSBxIDExLjczMzMxLDAgMjEuOTczMyw0LjQ3OTk5MyAxMC4yMzk5OCw0LjI2NjY2IDE3LjkxOTk3LDExLjk0NjY0OCA3LjY3OTk5LDcuNjc5OTg3IDExLjk0NjY1LDE3LjkxOTk3MSA0LjQ3OTk5LDEwLjIzOTk4NCA0LjQ3OTk5LDIxLjk3MzI5OCAwLDExLjUxOTk4MiAtNC40Nzk5OSwyMS43NTk5NjIgLTQuMjY2NjYsMTAuMjM5OTkgLTExLjk0NjY1LDE3LjkxOTk3IC03LjY3OTk5LDcuNjc5OTkgLTE3LjkxOTk3LDEyLjE1OTk5IC0xMC4yMzk5OSw0LjI2NjY2IC0yMS45NzMzLDQuMjY2NjYgLTExLjczMzMyLDAgLTIxLjk3MzMsLTQuMjY2NjYgLTEwLjIzOTk4LC00LjQ4IC0xNy45MTk5NywtMTIuMTU5OTkgLTcuNjc5OTksLTcuNjc5OTggLTEyLjE1OTk4LC0xNy45MTk5NyAtNC4yNjY2NiwtMTAuMjM5OTggLTQuMjY2NjYsLTIxLjc1OTk2MiAwLC0xMS43MzMzMTQgNC4yNjY2NiwtMjEuOTczMjk4IDQuNDc5OTksLTEwLjIzOTk4NCAxMi4xNTk5OCwtMTcuOTE5OTcxIDcuNjc5OTksLTcuNjc5OTg4IDE3LjkxOTk3LC0xMS45NDY2NDggMTAuMjM5OTgsLTQuNDc5OTkzIDIxLjk3MzMsLTQuNDc5OTkzIHogTSAzODMuMzE3OSwxMzguODc5NzggcSAtNy42Nzk5OSw3LjY3OTk5IC0xNy45MTk5NywxMi4xNTk5OSAtMTAuMjM5OTksNC4yNjY2NiAtMjEuOTczMyw0LjI2NjY2IC0xMS43MzMzMiwwIC0yMS45NzMzLC00LjI2NjY2IC0xMC4yMzk5OCwtNC40OCAtMTcuOTE5OTcsLTEyLjE1OTk5IC03LjY3OTk5LC03LjY3OTk4IC0xMi4xNTk5OCwtMTcuOTE5OTcgLTQuMjY2NjYsLTEwLjIzOTk4IC00LjI2NjY2LC0yMS43NTk5NjIgMCwtMTEuNzMzMzE0IDQuMjY2NjYsLTIxLjk3MzI5OCA0LjQ3OTk5LC0xMC4yMzk5ODQgMTIuMTU5OTgsLTE3LjkxOTk3MSA3LjY3OTk5LC03LjY3OTk4OCAxNy45MTk5NywtMTEuOTQ2NjQ4IDEwLjIzOTk4LC00LjQ3OTk5MyAyMS45NzMzLC00LjQ3OTk5MyAxMS43MzMzMSwwIDIxLjk3MzMsNC40Nzk5OTMgMTAuMjM5OTgsNC4yNjY2NiAxNy45MTk5NywxMS45NDY2NDggbCAtMTguMTMzMzEsMTguMTMzMzA0IHEgLTguOTU5OTgsLTguOTU5OTg2IC0yMS43NTk5NiwtOC45NTk5ODYgLTEyLjM3MzMyLDAgLTIxLjc1OTk3LDguOTU5OTg2IC04Ljk1OTk4LDguOTU5OTg2IC04Ljk1OTk4LDIxLjc1OTk2NSAwLDEyLjU4NjY0MiA4Ljk1OTk4LDIxLjU0NjYzMiA0LjQ4LDQuNDc5OTkgMTAuMDI2NjUsNi44MjY2NiA1LjU0NjY2LDIuMTMzMzMgMTEuNzMzMzIsMi4xMzMzMyAxMy4wMTMzMSwwIDIxLjc1OTk2LC04Ljk1OTk5IHogTSA0OTguMDkxMTQsNDUuNjUzMjY3IFYgMTUyLjUzMzEgSCA0NzIuNDkxMTggViA5OS4xOTk4NDggcSAwLC0xMi43OTk5NzkgLTguOTU5OTgsLTIxLjc1OTk2NSAtOC45NTk5OSwtOC45NTk5ODYgLTIxLjc1OTk3LC04Ljk1OTk4NiAtNi4xODY2NiwwIC0xMS45NDY2NSwyLjM0NjY2MyAtNS41NDY2NSwyLjM0NjY2MyAtOS44MTMzMSw2LjYxMzMyMyAtOC45NTk5OSw4Ljk1OTk4NiAtOC45NTk5OSwyMS43NTk5NjUgMCwxMi41ODY2NDIgOC45NTk5OSwyMS41NDY2MzIgNC4yNjY2Niw0LjQ3OTk5IDkuODEzMzEsNi44MjY2NiA1Ljc1OTk5LDIuMTMzMzMgMTEuOTQ2NjUsMi4xMzMzMyA2LjM5OTk5LDAgMTEuNTE5OTgsLTIuMTMzMzMgbCA5LjE3MzMyLDIyLjgyNjYzIHEgLTkuODEzMzIsNC45MDY2NiAtMjIuODI2NjMsNC45MDY2NiAtMTEuNzMzMzEsMCAtMjEuNzU5OTYsLTQuMjY2NjYgLTkuODEzMzIsLTQuNDggLTE3LjA2NjY0LC0xMi4xNTk5OSAtNy4yNTMzMiwtNy42Nzk5OCAtMTEuMzA2NjUsLTE3LjkxOTk3IC00LjA1MzMzLC0xMC4yMzk5OCAtNC4wNTMzMywtMjEuNzU5OTYyIDAsLTExLjczMzMxNCA0LjA1MzMzLC0yMS45NzMyOTggNC4wNTMzMywtMTAuMjM5OTg0IDExLjMwNjY1LC0xNy45MTk5NzEgNy4yNTMzMiwtNy42Nzk5ODggMTcuMDY2NjQsLTExLjk0NjY0OCAxMC4wMjY2NSwtNC40Nzk5OTMgMjEuNzU5OTYsLTQuNDc5OTkzIDEwLjQ1MzMyLDAgMTguNTU5OTcsMy4xOTk5OTUgOC4xMDY2NiwzLjE5OTk5NSAxNC4yOTMzMSw4LjEwNjY1NCB2IC04LjUzMzMyIHogTSA1MzguNjI0NDYsMTUyLjUzMzEgSCA1MTMuMDI0NSBWIDMuMjAwMDAxNSBoIDI1LjU5OTk2IFYgMTUyLjUzMzEgWiBtIDEyMC4xMDY1OSwtNDIuNjY2NiBxIDAsMTAuNDUzMzEgLTMuNDEzMzMsMTguOTg2NjMgLTMuNDEzMzIsOC4zMTk5OSAtOS44MTMzMSwxNC4yOTMzMSAtNi4xODY2Niw1Ljc2IC0xNS4xNDY2NSw4Ljk1OTk5IC04Ljk1OTk4LDMuMiAtMjAuMDUzMywzLjIgLTE3LjcwNjY0LDAgLTMxLjU3MzI4LC01LjU0NjY2IC0xMy44NjY2NCwtNS43NTk5OSAtMjIuODI2NjMsLTEzLjAxMzMyIGwgMTcuNzA2NjQsLTE3LjcwNjYzIHEgNy4wMzk5OSw2LjM5OTk5IDE1Ljc4NjY0LDkuODEzMzEgNS4zMzMzMiwyLjEzMzMzIDEwLjAyNjY1LDIuNzczMzMgNC42OTMzMywwLjY0IDcuNjc5OTksMC42NCA1LjU0NjY2LDAgMTAuMDI2NjUsLTEuMjggNC42OTMzMiwtMS40OTMzMyA4LjEwNjY1LC0zLjgzOTk5IDcuMjUzMzIsLTUuMzMzMzIgNy4yNTMzMiwtMTQuMDc5OTggMCwtNS4zMzMzMiAtMy44Mzk5OSwtOS41OTk5OCAtMi45ODY2NiwtMy40MTMzMyAtNy42Nzk5OSwtNS41NDY2NiAtMy44Mzk5OSwtMi4xMzMzMyAtOC4xMDY2NSwtMy40MTMzMjggLTQuMjY2NjYsLTEuMjc5OTk4IC03LjY3OTk5LC0yLjM0NjY2MyAtMS4wNjY2NiwtMC40MjY2NjYgLTEuOTIsLTAuNDI2NjY2IC0wLjg1MzMzLC0wLjIxMzMzMyAtMS40OTMzMywtMC42Mzk5OTkgLTAuNDI2NjYsMCAtMS4yNzk5OSwtMC40MjY2NjYgLTQuNDgsLTEuMjc5OTk3IC0xMy4wMTMzMiwtNC40Nzk5OTIgLTguMzE5OTgsLTMuMTk5OTk1IC0xNi42Mzk5NywtOC43NDY2NTMgLTE5LjQxMzMsLTEzLjAxMzMxMyAtMTkuNDEzMywtMzEuOTk5OTQ5IDAsLTEyLjU4NjY0NyA0LjI2NjY2LC0yMS4xMTk5NjYgNC40Nzk5OSwtOC43NDY2NTMgMTEuNTE5OTgsLTE0LjA3OTk3OCA3LjAzOTk5LC01LjU0NjY1NzUgMTUuNTczMzEsLTcuODkzMzIwNCBRIDU5MS41MzExNiw2LjYzNzU3MzNlLTYgNTk5Ljg1MTE1LDYuNjM3NTczM2UtNiBxIDE1LjM1OTk3LDAgMjUuODEzMjksMy42MjY2NjA4NjI0MjY3IDEwLjQ1MzMyLDMuNjI2NjYwOSAxNi42Mzk5Nyw3LjI1MzMyMTUgMy4yLDEuOTE5OTk3IDUuMzMzMzMsMy44Mzk5OTQgMi4zNDY2NiwxLjcwNjY2NCA0LjA1MzMyLDMuMTk5OTk1IGwgLTE4LjEzMzMsMTguMzQ2NjM3IHEgLTUuNzU5OTksLTUuNzU5OTkgLTExLjczMzMyLC04Ljc0NjY1MiAtOC45NTk5OCwtNC4yNjY2NiAtMTguNzczMywtNC4yNjY2NiAtNC4yNjY2NiwwIC04LjUzMzMyLDEuMDY2NjY1IC00LjI2NjY2LDEuMDY2NjY1IC03LjQ2NjY1LDIuNzczMzI5IC05LjM4NjY1LDUuNzU5OTkgLTkuMzg2NjUsMTUuMTQ2NjQyIDAsNS43NTk5OTEgMy44Mzk5OSw5LjgxMzMxOCAyLjc3MzMzLDMuMTk5OTk1IDcuNjc5OTksNS43NTk5OTEgNC4wNTMzMiwyLjEzMzMzIDguNTMzMzIsMy40MTMzMjggNC40Nzk5OSwxLjI3OTk5NyA4LjMxOTk4LDIuMzQ2NjYyIGwgMi41NiwwLjYzOTk5OSBxIDEuMDY2NjYsMC40MjY2NjYgNC4wNTMzMywxLjI3OTk5OCAyLjk4NjY2LDAuODUzMzMyIDcuMDM5OTgsMi41NTk5OTYgNC4wNTMzMywxLjcwNjY2NCA4Ljc0NjY2LDQuMDUzMzI3IDQuOTA2NjYsMi4zNDY2NjMgOS41OTk5OCw1LjU0NjY1OCAyMC42OTMzLDEzLjY1MzMxMSAyMC42OTMzLDMyLjIxMzI4NCB6IG0gNjkuMTE5NzcsNDIuNjY2NiBoIC0yMy40NjY2MyBxIC03LjI1MzMyLDAgLTEzLjY1MzMxLC0yLjc3MzMzIC02LjM5OTk5LC0yLjc3MzMzIC0xMS4wOTMzMiwtNy40NjY2NiAtNC42OTMzMiwtNC45MDY2NiAtNy40NjY2NSwtMTEuMzA2NjUgLTIuNzczMzMsLTYuMzk5OTkgLTIuNzczMzMsLTEzLjY1MzMxIFYgMjQuMzE5OTY4IGwgMjUuNTk5OTYsLTYuMzk5OTkgViA1OC42NjY1OCBoIDE0LjkzMzMxIGwgNi4zOTk5OSwyNS41OTk5NTkgaCAtMjEuMzMzMyB2IDMzLjA2NjYxMSBxIDAsNC4wNTMzMyAyLjc3MzMzLDYuODI2NjYgMi43NzMzMywyLjc3MzMzIDYuNjEzMzIsMi43NzMzMyBoIDE3LjA2NjY0IHogbSAxMTEuMzYsLTEwNi44Nzk4MzMgViAxNTIuNTMzMSBIIDgxMy42MTA4NiBWIDk5LjE5OTg0OCBxIDAsLTEyLjc5OTk3OSAtOC45NTk5OSwtMjEuNzU5OTY1IC04Ljk1OTk4LC04Ljk1OTk4NiAtMjEuNzU5OTYsLTguOTU5OTg2IC02LjE4NjY2LDAgLTExLjk0NjY1LDIuMzQ2NjYzIC01LjU0NjY2LDIuMzQ2NjYzIC05LjgxMzMyLDYuNjEzMzIzIC04Ljk1OTk4LDguOTU5OTg2IC04Ljk1OTk4LDIxLjc1OTk2NSAwLDEyLjU4NjY0MiA4Ljk1OTk4LDIxLjU0NjYzMiA0LjI2NjY2LDQuNDc5OTkgOS44MTMzMiw2LjgyNjY2IDUuNzU5OTksMi4xMzMzMyAxMS45NDY2NSwyLjEzMzMzIDYuMzk5OTksMCAxMS41MTk5OCwtMi4xMzMzMyBsIDkuMTczMzIsMjIuODI2NjMgcSAtOS44MTMzMiw0LjkwNjY2IC0yMi44MjY2Myw0LjkwNjY2IC0xMS43MzMzMiwwIC0yMS43NTk5NywtNC4yNjY2NiAtOS44MTMzMiwtNC40OCAtMTcuMDY2NjQsLTEyLjE1OTk5IC03LjI1MzMyLC03LjY3OTk4IC0xMS4zMDY2NSwtMTcuOTE5OTcgLTQuMDUzMzIsLTEwLjIzOTk4IC00LjA1MzMyLC0yMS43NTk5NjIgMCwtMTEuNzMzMzE0IDQuMDUzMzIsLTIxLjk3MzI5OCA0LjA1MzMzLC0xMC4yMzk5ODQgMTEuMzA2NjUsLTE3LjkxOTk3MSA3LjI1MzMyLC03LjY3OTk4OCAxNy4wNjY2NCwtMTEuOTQ2NjQ4IDEwLjAyNjY1LC00LjQ3OTk5MyAyMS43NTk5NywtNC40Nzk5OTMgMTAuNDUzMzEsMCAxOC41NTk5NywzLjE5OTk5NSA4LjEwNjY1LDMuMTk5OTk1IDE0LjI5MzMxLDguMTA2NjU0IHYgLTguNTMzMzIgeiBtIDEwNy45NDY1Miw5My4yMjY1MTMgcSAtNy42Nzk5OCw3LjY3OTk5IC0xNy45MTk5NywxMi4xNTk5OSAtMTAuMjM5OTgsNC4yNjY2NiAtMjEuOTczMjksNC4yNjY2NiAtMTEuNzMzMzIsMCAtMjEuOTczMywtNC4yNjY2NiAtMTAuMjM5OTksLTQuNDggLTE3LjkxOTk3LC0xMi4xNTk5OSAtNy42Nzk5OSwtNy42Nzk5OCAtMTIuMTU5OTgsLTE3LjkxOTk3IC00LjI2NjY2LC0xMC4yMzk5OCAtNC4yNjY2NiwtMjEuNzU5OTYyIDAsLTExLjczMzMxNCA0LjI2NjY2LC0yMS45NzMyOTggNC40Nzk5OSwtMTAuMjM5OTg0IDEyLjE1OTk4LC0xNy45MTk5NzEgNy42Nzk5OCwtNy42Nzk5ODggMTcuOTE5OTcsLTExLjk0NjY0OCAxMC4yMzk5OCwtNC40Nzk5OTMgMjEuOTczMywtNC40Nzk5OTMgMTEuNzMzMzEsMCAyMS45NzMyOSw0LjQ3OTk5MyAxMC4yMzk5OSw0LjI2NjY2IDE3LjkxOTk3LDExLjk0NjY0OCBsIC0xOC4xMzMzLDE4LjEzMzMwNCBxIC04Ljk1OTk5LC04Ljk1OTk4NiAtMjEuNzU5OTYsLTguOTU5OTg2IC0xMi4zNzMzMiwwIC0yMS43NTk5Nyw4Ljk1OTk4NiAtOC45NTk5OSw4Ljk1OTk4NiAtOC45NTk5OSwyMS43NTk5NjUgMCwxMi41ODY2NDIgOC45NTk5OSwyMS41NDY2MzIgNC40Nzk5OSw0LjQ3OTk5IDEwLjAyNjY1LDYuODI2NjYgNS41NDY2NiwyLjEzMzMzIDExLjczMzMyLDIuMTMzMzMgMTMuMDEzMzEsMCAyMS43NTk5NiwtOC45NTk5OSB6IE0gMTA1MS42OTA3LDQ1Ljg2NjYgOTk4LjM1NzQsOTkuMTk5ODQ4IDEwNTEuNjkwNywxNTIuNTMzMSBoIC0zNi4wNTMzIEwgOTgwLjIyNDEsMTE3LjExOTgyIFYgMTUyLjUzMzEgSCA5NTQuNjI0MTQgViAzLjIwMDAwMTUgSCA5ODAuMjI0MSBWIDgxLjA2NjU0NCBMIDEwMTUuNDI0LDQ1Ljg2NjYgaCAzNi4yNjY3IHoiLz48L3N2Zz4=", Ta = "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI0Ni45NTU0ODJtbSIgaGVpZ2h0PSIzOS44NDUzMW1tIiB2aWV3Qm94PSIwIDAgNDYuOTU1NDgyIDM5Ljg0NTMxIj48ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtODAuOTYyNSwtMTI4LjU4NzUpIj48ZyB0cmFuc2Zvcm09Im1hdHJpeCgwLjIzNDc3NzQxLDAsMCwwLjIzNTc5MzE4LDY5LjY2MDM5Miw5NC42Njg4MzgpIj48cGF0aCBzdHlsZT0iZmlsbDojNTVhYmU1O2ZpbGwtb3BhY2l0eToxO3N0cm9rZS13aWR0aDowLjM3Mjk2MiIgZD0ibSAxNjUuNzQzNjksMzEyLjM0NTE0IGMgLTMuNjU5MDQsLTAuOTU4NjEgLTYuODkxMzEsLTMuMzUzNDggLTkuMjE0OTQsLTYuODI3NTkgLTEuOTEyMjYsLTIuODU5MDggLTIuMzk3MDUsLTQuNTY5NzEgLTIuMzk3MDUsLTguNDU4MzYgMCwtMy45OTI1NCAwLjA4MjQsLTQuMjc1NyA0LjIzMDEyLC0xNC41NDU1MyA0LjAwOTIzLC05LjkyNjgxIDExLjc0NTk3LC0yOS42MDgwNCAxNC4xNzI1NCwtMzYuMDUzMDIgMS4wNTU1LC0yLjgwMzQ0IDQuNjM1NzksLTEyLjA5MDIgNy45NTYxOSwtMjAuNjM3MjUgMy4zMjA0LC04LjU0NzA2IDkuNDcyNjUsLTI0LjQ5MTIgMTMuNjcxNjgsLTM1LjQzMTQzIDkuNDExNjMsLTI0LjUyMTI1IDEyLjE1MTI0LC0zMS4zOTYxNCAxNC4xOTIyMiwtMzUuNjE0NTUgMS4zMzIyOSwtMi43NTM2NCAxLjg3ODY3LC0zLjU5MjU4IDMuMzQ1NDYsLTUuMTM2NzIgMS45NjgyMiwtMi4wNzIwMyA0LjA5ODQsLTMuNTYyNTMgNi40NjY4NywtNC41MjQ5MyAxLjI3MTM4LC0wLjUxNjYgMi4yNTc2MywtMC42OTMwMiA0LjgyNjc5LC0wLjg2MzQgNS4yMTgzLC0wLjM0NjA3IDI0LjU3NDYyLC0wLjU1NDU4IDI0Ljk4NTA4LC0wLjI2OTE0IDAuNDM3OTcsMC4zMDQ1NiAxLjEzMTMxLC0xLjUwMDIxIC0xNS4xNTQxMiwzOS40NDY3OCAtMjAuNjg4NDIsNTIuMDE3NTcgLTI4Ljk2MTg1LDcyLjk4MjY1IC0zNi43NTE4MSw5My4xMzAwNCAtOC40MDM1NiwyMS43MzQzNCAtOS4zOTQ5NSwyNC4yMDc2NCAtMTAuNzYzMTYsMjYuODUxNjUgLTIuMzU0NSw0LjU1IC02LjM4MjQsNy43ODMzMSAtMTEuMjc2NjEsOS4wNTIwNyAtMi4wNzI1OSwwLjUzNzI5IC02LjAwMDE1LDAuNDgxMDkgLTguMjg5MjYsLTAuMTE4NjIgeiIvPjxwYXRoIHN0eWxlPSJmaWxsOiM1NWFiZTU7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlLXdpZHRoOjAuMzcyOTYyIiBkPSJtIDEyMi40OTIyLDMxMi41ODkxNiBjIC00LjA3OTU2LC0wLjczMjU4IC04LjY1MTIzLC0zLjkzNDEgLTExLjIzMjU4LC03Ljg2NjE2IC0wLjczMDA0LC0xLjExMjAzIC0xLjg1NDU5LC0zLjQ4MzI2IC0yLjg0MzA5LC01Ljk5NDk2IC0wLjg5OTQzLC0yLjI4NTQgLTQuNzYyODcsLTEyLjE1NTMgLTguNTg1NDA5LC0yMS45MzMxMyAtMy44MjI1NCwtOS43Nzc4MyAtOC40NzkwNzIsLTIxLjYzODAzIC0xMC4zNDc4NTIsLTI2LjM1NjAxIC0xLjg2ODc4LC00LjcxNzk3IC03LjQwNDk2OCwtMTguODE1OTUgLTEyLjMwMjY0NiwtMzEuMzI4ODQgLTQuODk3NjgxLC0xMi41MTI4OCAtMTAuODYxOTIzLC0yNy43Mjk3NSAtMTMuMjUzODc2LC0zMy44MTUyNSAtMi4zOTE5NTMsLTYuMDg1NSAtNS42NjUyMTYsLTE0LjQ3NzE1IC03LjI3MzkxOCwtMTguNjQ4MTEgLTEuNjA4Njk4LC00LjE3MDk3IC00LjIzNTk1LC0xMC44NDgyNiAtNS44MzgzMzQsLTE0LjgzODQzIC0yLjA3Mjc3OSwtNS4xNjE1MyAtMi44MzY1MDksLTcuMzMxNzcgLTIuNjQ2ODY5LC03LjUyMTQgMC4zNDc5MDMsLTAuMzQ3OTEgMjAuODI4ODg3LC0wLjM1OTE3IDI0LjczMjg3NCwtMC4wMTM2IDQuNjQ5MjU2LDAuNDExNTQgNy4wMTI4NDgsMS41MjgxMSAxMC41MTc1NDYsNC45Njg1MiAxLjQ1MDgxOSwxLjQyNDIxIDIuMzk4LDIuNjAyMTMgMi45MDQzNzUsMy42MTE5IDEuNzk4NjkzLDMuNTg2NzggOC40MTgxMDMsMjAuMDI4NjkgMTguNjY2Mjc5LDQ2LjM2NTA2IDMuNjk4MzksOS41MDQzMiAxMS4xNjA2NywyOC40MTM1MSAxNi41ODI4NSw0Mi4wMjA0MiAxNC42MzQzMywzNi43MjQ2NyAxOC43NDc1Myw0Ny4xMzc2NSAxOS41Mzk3NSw0OS40NjY4NyAyLjIyOTgxLDYuNTU1ODkgMS4wNTUzMywxMi43MDIxNCAtMy4zMDQyNiwxNy4yOTE3NiAtMy4xMDM1OSwzLjI2NzM2IC02LjIyMDQzLDQuNjA4NDUgLTExLjAyMTc4LDQuNzQyNCAtMS42NDMzMSwwLjA0NTggLTMuNTc1MTgsLTAuMDIyMSAtNC4yOTMwNiwtMC4xNTEwMyB6Ii8+PHJlY3Qgc3R5bGU9ImZpbGw6I2Y3ODQ3MiIgd2lkdGg9IjExLjI2OTU0IiBoZWlnaHQ9IjQyLjA5NzYyMiIgeD0iMTY0Ljg4MDE0IiB5PSIxNzYuMjU5MDkiIHJ5PSI1LjYxMDQ5NiIvPjxyZWN0IHN0eWxlPSJmaWxsOiNmNzg0NzIiIHdpZHRoPSIxMS42MjE1NiIgaGVpZ2h0PSI4Ny4wMzg2MDUiIHg9IjE0Mi4xNTg2OCIgeT0iMTUzLjc4ODYiIHJ5PSI1LjYxMDQ5NiIvPjxyZWN0IHN0eWxlPSJmaWxsOiNmNzg0NzIiIHdpZHRoPSIxMS4yNjk1NCIgaGVpZ2h0PSI0Mi4wOTc2MjIiIHg9IjExOS43ODkyNCIgeT0iMTc2LjI1OTA5IiByeT0iNS42MTA0OTYiLz48L2c+PC9nPjwvc3ZnPg==", wa = "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI0Ni45NTU0ODJtbSIgaGVpZ2h0PSIzOS44NDUzMW1tIiB2aWV3Qm94PSIwIDAgNDYuOTU1NDgyIDM5Ljg0NTMxIj48ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtODAuOTYyNSwtMTI4LjU4NzUpIj48ZyB0cmFuc2Zvcm09Im1hdHJpeCgwLjIzNDc3NzQxLDAsMCwwLjIzNTc5MzE4LDY5LjY2MDM5Miw5NC42Njg4MzgpIj48cGF0aCBzdHlsZT0iZmlsbDojMjQ1YjhmO2ZpbGwtb3BhY2l0eToxO3N0cm9rZS13aWR0aDowLjM3Mjk2MiIgZD0ibSAxNjUuNzQzNjksMzEyLjM0NTE0IGMgLTMuNjU5MDQsLTAuOTU4NjEgLTYuODkxMzEsLTMuMzUzNDggLTkuMjE0OTQsLTYuODI3NTkgLTEuOTEyMjYsLTIuODU5MDggLTIuMzk3MDUsLTQuNTY5NzEgLTIuMzk3MDUsLTguNDU4MzYgMCwtMy45OTI1NCAwLjA4MjQsLTQuMjc1NyA0LjIzMDEyLC0xNC41NDU1MyA0LjAwOTIzLC05LjkyNjgxIDExLjc0NTk3LC0yOS42MDgwNCAxNC4xNzI1NCwtMzYuMDUzMDIgMS4wNTU1LC0yLjgwMzQ0IDQuNjM1NzksLTEyLjA5MDIgNy45NTYxOSwtMjAuNjM3MjUgMy4zMjA0LC04LjU0NzA2IDkuNDcyNjUsLTI0LjQ5MTIgMTMuNjcxNjgsLTM1LjQzMTQzIDkuNDExNjMsLTI0LjUyMTI1IDEyLjE1MTI0LC0zMS4zOTYxNCAxNC4xOTIyMiwtMzUuNjE0NTUgMS4zMzIyOSwtMi43NTM2NCAxLjg3ODY3LC0zLjU5MjU4IDMuMzQ1NDYsLTUuMTM2NzIgMS45NjgyMiwtMi4wNzIwMyA0LjA5ODQsLTMuNTYyNTMgNi40NjY4NywtNC41MjQ5MyAxLjI3MTM4LC0wLjUxNjYgMi4yNTc2MywtMC42OTMwMiA0LjgyNjc5LC0wLjg2MzQgNS4yMTgzLC0wLjM0NjA3IDI0LjU3NDYyLC0wLjU1NDU4IDI0Ljk4NTA4LC0wLjI2OTE0IDAuNDM3OTcsMC4zMDQ1NiAxLjEzMTMxLC0xLjUwMDIxIC0xNS4xNTQxMiwzOS40NDY3OCAtMjAuNjg4NDIsNTIuMDE3NTcgLTI4Ljk2MTg1LDcyLjk4MjY1IC0zNi43NTE4MSw5My4xMzAwNCAtOC40MDM1NiwyMS43MzQzNCAtOS4zOTQ5NSwyNC4yMDc2NCAtMTAuNzYzMTYsMjYuODUxNjUgLTIuMzU0NSw0LjU1IC02LjM4MjQsNy43ODMzMSAtMTEuMjc2NjEsOS4wNTIwNyAtMi4wNzI1OSwwLjUzNzI5IC02LjAwMDE1LDAuNDgxMDkgLTguMjg5MjYsLTAuMTE4NjIgeiIvPjxwYXRoIHN0eWxlPSJmaWxsOiMyNDViOGY7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlLXdpZHRoOjAuMzcyOTYyIiBkPSJtIDEyMi40OTIyLDMxMi41ODkxNiBjIC00LjA3OTU2LC0wLjczMjU4IC04LjY1MTIzLC0zLjkzNDEgLTExLjIzMjU4LC03Ljg2NjE2IC0wLjczMDA0LC0xLjExMjAzIC0xLjg1NDU5LC0zLjQ4MzI2IC0yLjg0MzA5LC01Ljk5NDk2IC0wLjg5OTQzLC0yLjI4NTQgLTQuNzYyODcsLTEyLjE1NTMgLTguNTg1NDA5LC0yMS45MzMxMyAtMy44MjI1NCwtOS43Nzc4MyAtOC40NzkwNzIsLTIxLjYzODAzIC0xMC4zNDc4NTIsLTI2LjM1NjAxIC0xLjg2ODc4LC00LjcxNzk3IC03LjQwNDk2OCwtMTguODE1OTUgLTEyLjMwMjY0NiwtMzEuMzI4ODQgLTQuODk3NjgxLC0xMi41MTI4OCAtMTAuODYxOTIzLC0yNy43Mjk3NSAtMTMuMjUzODc2LC0zMy44MTUyNSAtMi4zOTE5NTMsLTYuMDg1NSAtNS42NjUyMTYsLTE0LjQ3NzE1IC03LjI3MzkxOCwtMTguNjQ4MTEgLTEuNjA4Njk4LC00LjE3MDk3IC00LjIzNTk1LC0xMC44NDgyNiAtNS44MzgzMzQsLTE0LjgzODQzIC0yLjA3Mjc3OSwtNS4xNjE1MyAtMi44MzY1MDksLTcuMzMxNzcgLTIuNjQ2ODY5LC03LjUyMTQgMC4zNDc5MDMsLTAuMzQ3OTEgMjAuODI4ODg3LC0wLjM1OTE3IDI0LjczMjg3NCwtMC4wMTM2IDQuNjQ5MjU2LDAuNDExNTQgNy4wMTI4NDgsMS41MjgxMSAxMC41MTc1NDYsNC45Njg1MiAxLjQ1MDgxOSwxLjQyNDIxIDIuMzk4LDIuNjAyMTMgMi45MDQzNzUsMy42MTE5IDEuNzk4NjkzLDMuNTg2NzggOC40MTgxMDMsMjAuMDI4NjkgMTguNjY2Mjc5LDQ2LjM2NTA2IDMuNjk4MzksOS41MDQzMiAxMS4xNjA2NywyOC40MTM1MSAxNi41ODI4NSw0Mi4wMjA0MiAxNC42MzQzMywzNi43MjQ2NyAxOC43NDc1Myw0Ny4xMzc2NSAxOS41Mzk3NSw0OS40NjY4NyAyLjIyOTgxLDYuNTU1ODkgMS4wNTUzMywxMi43MDIxNCAtMy4zMDQyNiwxNy4yOTE3NiAtMy4xMDM1OSwzLjI2NzM2IC02LjIyMDQzLDQuNjA4NDUgLTExLjAyMTc4LDQuNzQyNCAtMS42NDMzMSwwLjA0NTggLTMuNTc1MTgsLTAuMDIyMSAtNC4yOTMwNiwtMC4xNTEwMyB6Ii8+PHJlY3Qgc3R5bGU9ImZpbGw6I2VjNjM0ZCIgd2lkdGg9IjExLjI2OTU0IiBoZWlnaHQ9IjQyLjA5NzYyMiIgeD0iMTY0Ljg4MDE0IiB5PSIxNzYuMjU5MDkiIHJ5PSI1LjYxMDQ5NiIvPjxyZWN0IHN0eWxlPSJmaWxsOiNlYzYzNGQiIHdpZHRoPSIxMS42MjE1NiIgaGVpZ2h0PSI4Ny4wMzg2MDUiIHg9IjE0Mi4xNTg2OCIgeT0iMTUzLjc4ODYiIHJ5PSI1LjYxMDQ5NiIvPjxyZWN0IHN0eWxlPSJmaWxsOiNlYzYzNGQiIHdpZHRoPSIxMS4yNjk1NCIgaGVpZ2h0PSI0Mi4wOTc2MjIiIHg9IjExOS43ODkyNCIgeT0iMTc2LjI1OTA5IiByeT0iNS42MTA0OTYiLz48L2c+PC9nPjwvc3ZnPg==";
9
+ function La({ size: t = 16, sw: e = 1.5, children: n, style: r, ...s }) {
10
10
  return /* @__PURE__ */ i("svg", { viewBox: "0 0 24 24", width: t, height: t, fill: "none", stroke: "currentColor", strokeWidth: e, strokeLinecap: "round", strokeLinejoin: "round", "aria-hidden": "true", style: { flex: "none", ...r }, ...s, children: n });
11
11
  }
12
12
  const X = {
@@ -53,7 +53,7 @@ const X = {
53
53
  video: "m15.75 10.5 4.72-4.72a.75.75 0 0 1 1.28.53v11.38a.75.75 0 0 1-1.28.53l-4.72-4.72M4.5 18.75h9a2.25 2.25 0 0 0 2.25-2.25v-9a2.25 2.25 0 0 0-2.25-2.25h-9A2.25 2.25 0 0 0 2.25 7.5v9a2.25 2.25 0 0 0 2.25 2.25Z"
54
54
  };
55
55
  function oe({ d: t, ...e }) {
56
- return /* @__PURE__ */ i(ka, { ...e, children: (Array.isArray(t) ? t : [t]).map((n) => /* @__PURE__ */ i("path", { d: n }, n)) });
56
+ return /* @__PURE__ */ i(La, { ...e, children: (Array.isArray(t) ? t : [t]).map((n) => /* @__PURE__ */ i("path", { d: n }, n)) });
57
57
  }
58
58
  function va({ size: t = 15 }) {
59
59
  return /* @__PURE__ */ i("svg", { viewBox: "0 0 24 24", width: t, height: t, fill: "currentColor", "aria-hidden": "true", children: /* @__PURE__ */ i("rect", { x: "6", y: "6", width: "12", height: "12", rx: "2.5" }) });
@@ -80,18 +80,18 @@ function at({ size: t = 15, color: e = "currentColor", track: n = "rgba(127,127,
80
80
  }
81
81
  );
82
82
  }
83
- function ja({ size: t = 12 }) {
83
+ function ka({ size: t = 12 }) {
84
84
  return /* @__PURE__ */ h("svg", { viewBox: "0 0 24 24", width: t, height: t, fill: "currentColor", "aria-hidden": "true", children: [
85
85
  /* @__PURE__ */ i("rect", { x: "6.5", y: "5", width: "3.75", height: "14", rx: "1.2" }),
86
86
  /* @__PURE__ */ i("rect", { x: "13.75", y: "5", width: "3.75", height: "14", rx: "1.2" })
87
87
  ] });
88
88
  }
89
89
  function bn({ dark: t, height: e = 20, link: n = !0 }) {
90
- const r = /* @__PURE__ */ i("img", { src: t ? ya : Ta, alt: "VocalStack", decoding: "sync", style: { height: e, width: "auto", display: "block" } });
91
- return n ? /* @__PURE__ */ i("a", { href: ai, style: { display: "block" }, children: r }) : r;
90
+ const r = /* @__PURE__ */ i("img", { src: t ? ma : ya, alt: "VocalStack", decoding: "sync", style: { height: e, width: "auto", display: "block" } });
91
+ return n ? /* @__PURE__ */ i("a", { href: ii, style: { display: "block" }, children: r }) : r;
92
92
  }
93
93
  function zr({ dark: t, size: e = 30 }) {
94
- return /* @__PURE__ */ i("img", { src: t ? wa : La, alt: "VocalStack", style: { width: e, height: Math.round(e * 26 / 30 * 100) / 100, display: "block" } });
94
+ return /* @__PURE__ */ i("img", { src: t ? Ta : wa, alt: "VocalStack", style: { width: e, height: Math.round(e * 26 / 30 * 100) / 100, display: "block" } });
95
95
  }
96
96
  function Es({ children: t, panel: e, inset: n, className: r = "", style: s }) {
97
97
  return /* @__PURE__ */ i("div", { className: `vs-card${e ? " panel" : ""}${n ? " vs-card--inset" : ""} ${r}`, style: s, children: t });
@@ -100,20 +100,20 @@ function Nt({ checked: t, onChange: e, label: n, disabled: r }) {
100
100
  return /* @__PURE__ */ i("button", { type: "button", role: "switch", "aria-checked": t, "aria-label": n, className: "vs-toggle", disabled: r, onClick: () => e(!t), children: /* @__PURE__ */ i("span", { className: "vs-toggle__knob" }) });
101
101
  }
102
102
  function hr({ value: t, onChange: e, options: n, size: r, bordered: s = !0, fill: a }) {
103
- const o = v(null), [l, c] = I(null), u = Math.max(0, n.findIndex((d) => d.value === t));
103
+ const o = v(null), [l, c] = z(null), u = Math.max(0, n.findIndex((d) => d.value === t));
104
104
  return Bt(() => {
105
105
  const d = o.current;
106
106
  if (!d) return;
107
- const g = d.querySelectorAll(".vs-switch__opt")[u];
108
- g && c({ left: g.offsetLeft, width: g.offsetWidth });
107
+ const M = d.querySelectorAll(".vs-switch__opt")[u];
108
+ M && c({ left: M.offsetLeft, width: M.offsetWidth });
109
109
  }, [u, n.length]), U(() => {
110
110
  const d = o.current;
111
111
  if (!d || typeof ResizeObserver > "u") return;
112
- const g = new ResizeObserver(() => {
113
- const M = d.querySelectorAll(".vs-switch__opt")[u];
114
- M && c({ left: M.offsetLeft, width: M.offsetWidth });
112
+ const M = new ResizeObserver(() => {
113
+ const g = d.querySelectorAll(".vs-switch__opt")[u];
114
+ g && c({ left: g.offsetLeft, width: g.offsetWidth });
115
115
  });
116
- return g.observe(d), () => g.disconnect();
116
+ return M.observe(d), () => M.disconnect();
117
117
  }, [u]), /* @__PURE__ */ h("div", { ref: o, role: "tablist", className: `vs-switch${r === "sm" ? " vs-switch--sm" : ""}${s ? "" : " vs-switch--borderless"}${a ? " vs-switch--fill" : ""}`, children: [
118
118
  l && /* @__PURE__ */ i("span", { className: "vs-switch__thumb", style: { left: l.left, width: l.width }, "aria-hidden": "true" }),
119
119
  n.map((d) => /* @__PURE__ */ h("button", { type: "button", role: "tab", "aria-selected": d.value === t, className: "vs-switch__opt", onClick: () => e(d.value), children: [
@@ -122,7 +122,7 @@ function hr({ value: t, onChange: e, options: n, size: r, bordered: s = !0, fill
122
122
  ] }, d.value))
123
123
  ] });
124
124
  }
125
- function za({ children: t, onClick: e, label: n, size: r, variant: s, bordered: a = !0, active: o, title: l }) {
125
+ function ja({ children: t, onClick: e, label: n, size: r, variant: s, bordered: a = !0, active: o, title: l }) {
126
126
  return /* @__PURE__ */ i("button", { type: "button", className: `vs-icon-btn${r === "sm" ? " vs-icon-btn--sm" : ""}${s === "primary" ? " vs-icon-btn--primary" : ""}${o ? " vs-icon-btn--primary" : ""}${a ? "" : " vs-icon-btn--borderless"}`, onClick: e, "aria-label": n, title: l ?? n, children: t });
127
127
  }
128
128
  function zn({ flag: t, code: e, label: n, onClick: r, variant: s, block: a, bordered: o = !0, size: l, style: c, flagOnly: u }) {
@@ -135,8 +135,8 @@ function zn({ flag: t, code: e, label: n, onClick: r, variant: s, block: a, bord
135
135
  /* @__PURE__ */ i(oe, { d: X.chevronDown, size: 13, className: "vs-lang-chip__chevron", style: { color: s === "primary" ? "currentColor" : "var(--vs-text-muted)" } })
136
136
  ] });
137
137
  }
138
- function Ia({ value: t, label: e = "Copy", onCopied: n }) {
139
- const [r, s] = I(!1), a = async () => {
138
+ function za({ value: t, label: e = "Copy", onCopied: n }) {
139
+ const [r, s] = z(!1), a = async () => {
140
140
  try {
141
141
  await navigator.clipboard.writeText(t), s(!0), n == null || n(), setTimeout(() => s(!1), 1400);
142
142
  } catch {
@@ -160,7 +160,7 @@ function Ia({ value: t, label: e = "Copy", onCopied: n }) {
160
160
  }
161
161
  );
162
162
  }
163
- function Oa(t, e) {
163
+ function Ia(t, e) {
164
164
  Bt(() => {
165
165
  const n = t.current, r = window.visualViewport;
166
166
  if (!e || !n || !r) return;
@@ -178,34 +178,34 @@ function Oa(t, e) {
178
178
  }, [t, e]);
179
179
  }
180
180
  function Mr({ children: t, ms: e = 220 }) {
181
- const n = v(null), r = v(null), [s, a] = I(null);
181
+ const n = v(null), r = v(null), [s, a] = z(null);
182
182
  return Bt(() => {
183
183
  const o = r.current, l = n.current;
184
184
  if (!o || !l) return;
185
185
  let c;
186
186
  const u = () => {
187
- const M = l.closest(".vs-sheet"), N = M ? parseFloat(getComputedStyle(M).maxHeight) : NaN;
188
- return !M || !Number.isFinite(N) ? 1 / 0 : Math.max(0, N - (M.offsetHeight - l.offsetHeight));
187
+ const g = l.closest(".vs-sheet"), N = g ? parseFloat(getComputedStyle(g).maxHeight) : NaN;
188
+ return !g || !Number.isFinite(N) ? 1 / 0 : Math.max(0, N - (g.offsetHeight - l.offsetHeight));
189
189
  }, d = () => {
190
- const M = o.offsetHeight;
191
- clearTimeout(c), a(Math.min(M, u())), M > u() && (c = setTimeout(() => a(M), e));
190
+ const g = o.offsetHeight;
191
+ clearTimeout(c), a(Math.min(g, u())), g > u() && (c = setTimeout(() => a(g), e));
192
192
  };
193
193
  if (d(), typeof ResizeObserver > "u") return () => clearTimeout(c);
194
- const g = new ResizeObserver(d);
195
- return g.observe(o), () => {
196
- g.disconnect(), clearTimeout(c);
194
+ const M = new ResizeObserver(d);
195
+ return M.observe(o), () => {
196
+ M.disconnect(), clearTimeout(c);
197
197
  };
198
198
  }, [e]), /* @__PURE__ */ i("div", { ref: n, style: { height: s ?? void 0, overflow: "clip", transition: s == null ? void 0 : `height ${e}ms cubic-bezier(.32,.72,0,1)` }, children: /* @__PURE__ */ i("div", { ref: r, children: t }) });
199
199
  }
200
200
  function Vt({ open: t, onClose: e, title: n, titleNode: r, note: s, doneLabel: a = "Done", children: o, drawer: l = !1, header: c, kind: u, sticky: d = !1 }) {
201
- const g = v(null);
202
- return Oa(g, t), U(() => {
201
+ const M = v(null);
202
+ return Ia(M, t), U(() => {
203
203
  if (!t) return;
204
- const M = (N) => {
204
+ const g = (N) => {
205
205
  N.key === "Escape" && e();
206
206
  };
207
- return window.addEventListener("keydown", M), () => window.removeEventListener("keydown", M);
208
- }, [t, e]), t ? /* @__PURE__ */ i("div", { ref: g, className: `vs-sheet-scrim${l ? " drawer" : ""}${d ? " vs-sheet-scrim--sticky" : ""}`, onClick: d ? void 0 : e, children: /* @__PURE__ */ h("div", { className: `vs-sheet${u ? ` vs-sheet--${u}` : ""}`, role: "dialog", "aria-modal": "true", "aria-label": n, onClick: (M) => M.stopPropagation(), children: [
207
+ return window.addEventListener("keydown", g), () => window.removeEventListener("keydown", g);
208
+ }, [t, e]), t ? /* @__PURE__ */ i("div", { ref: M, className: `vs-sheet-scrim${l ? " drawer" : ""}${d ? " vs-sheet-scrim--sticky" : ""}`, onClick: d ? void 0 : e, children: /* @__PURE__ */ h("div", { className: `vs-sheet${u ? ` vs-sheet--${u}` : ""}`, role: "dialog", "aria-modal": "true", "aria-label": n, onClick: (g) => g.stopPropagation(), children: [
209
209
  /* @__PURE__ */ i("div", { className: "vs-sheet__grip" }),
210
210
  /* @__PURE__ */ h("div", { className: "vs-sheet__head", children: [
211
211
  r ?? /* @__PURE__ */ i("span", { className: "vs-sheet__title", children: n }),
@@ -216,15 +216,15 @@ function Vt({ open: t, onClose: e, title: n, titleNode: r, note: s, doneLabel: a
216
216
  /* @__PURE__ */ i("div", { className: "vs-sheet__body", children: o })
217
217
  ] }) }) : null;
218
218
  }
219
- ri(0);
219
+ ni(0);
220
220
  function gr({ children: t, style: e, className: n }) {
221
221
  return /* @__PURE__ */ i("div", { className: n ? `eyebrow ${n}` : "eyebrow", style: e, children: t });
222
222
  }
223
223
  let wn = null;
224
- function Fc(t) {
224
+ function Gc(t) {
225
225
  wn = t;
226
226
  }
227
- function oi(t) {
227
+ function ai(t) {
228
228
  wn == null || wn(t);
229
229
  }
230
230
  function xn() {
@@ -234,11 +234,11 @@ function xn() {
234
234
  return "ogg";
235
235
  }
236
236
  }
237
- function Ca(t = {}) {
237
+ function Oa(t = {}) {
238
238
  const e = new URLSearchParams();
239
239
  return t.media ? e.set("media", t.media) : t.accessToken && e.set("access_token", t.accessToken), t.listenerToken && e.set("listenerToken", t.listenerToken), t.shareCode && e.set("shareCode", t.shareCode), e.toString();
240
240
  }
241
- async function ba(t) {
241
+ async function Ca(t) {
242
242
  try {
243
243
  const e = await fetch(t, { redirect: "manual", headers: { accept: "application/json" } });
244
244
  if (e.type === "opaqueredirect" || e.ok || e.status >= 300 && e.status < 400) return null;
@@ -253,7 +253,7 @@ async function ba(t) {
253
253
  return null;
254
254
  }
255
255
  }
256
- function xa(t, e, n = {}) {
256
+ function ba(t, e, n = {}) {
257
257
  const r = new URLSearchParams({ kind: "delivery", format: xn() });
258
258
  return n.accessToken && r.set("access_token", n.accessToken), n.listenerToken && r.set("listenerToken", n.listenerToken), n.shareCode && r.set("shareCode", n.shareCode), `${t}/v1/recordings/${e}/audio?${r}`;
259
259
  }
@@ -265,30 +265,30 @@ function nr(t, e, n, r = {}) {
265
265
  const s = new URLSearchParams({ kind: n });
266
266
  return n === "delivery" && s.set("format", "mp3"), r.accessToken && s.set("access_token", r.accessToken), r.listenerToken && s.set("listenerToken", r.listenerToken), r.shareCode && s.set("shareCode", r.shareCode), `${t}/v1/recordings/${e}/audio?${s}`;
267
267
  }
268
- function Da(t, e, n, r, s = {}) {
269
- return Sa(t, e, n, r, "mp3", s);
268
+ function xa(t, e, n, r, s = {}) {
269
+ return Da(t, e, n, r, "mp3", s);
270
270
  }
271
- function Sa(t, e, n, r, s, a) {
271
+ function Da(t, e, n, r, s, a) {
272
272
  const o = new URLSearchParams({ kind: "voice", lang: n, format: s });
273
273
  return r && o.set("voice", r), a.accessToken && o.set("access_token", a.accessToken), a.listenerToken && o.set("listenerToken", a.listenerToken), a.shareCode && o.set("shareCode", a.shareCode), `${t}/v1/recordings/${e}/audio?${o}`;
274
274
  }
275
- function Aa(t, e = !0) {
275
+ function Sa(t, e = !0) {
276
276
  const n = (t == null ? void 0 : t.code) ?? 0, r = n === 2 ? "the download failed" : n === 3 ? "this browser could not decode it" : n === 4 ? "the file is not available, or this browser cannot play it" : n === 1 ? "the load was stopped" : "something went wrong";
277
- return e && li(t), `The audio could not be played: ${r}.`;
277
+ return e && oi(t), `The audio could not be played: ${r}.`;
278
278
  }
279
- function li(t) {
279
+ function oi(t) {
280
280
  const e = (t == null ? void 0 : t.code) ?? 0;
281
- e !== 1 && oi(new Error(`media error ${e}${t != null && t.message ? `: ${t.message}` : ""}`));
281
+ e !== 1 && ai(new Error(`media error ${e}${t != null && t.message ? `: ${t.message}` : ""}`));
282
282
  }
283
- const Ea = 3e3;
284
- function _a(t, e, n) {
283
+ const Aa = 3e3;
284
+ function Ea(t, e, n) {
285
285
  if (t !== 503) return null;
286
286
  const r = e == null || e.trim() === "" ? NaN : Number(e);
287
287
  if (Number.isFinite(r)) return Math.min(15e3, Math.max(1e3, r * 1e3));
288
288
  const s = n;
289
- return s && (s.retryable === !0 || s.code === "engine_unavailable") ? Ea : null;
289
+ return s && (s.retryable === !0 || s.code === "engine_unavailable") ? Aa : null;
290
290
  }
291
- class Ya {
291
+ class _a {
292
292
  constructor(e = {}) {
293
293
  Me(this, "entries", /* @__PURE__ */ new Map());
294
294
  Me(this, "wanted", []);
@@ -381,13 +381,13 @@ class Ya {
381
381
  }).catch(() => r(n.signal.aborted ? null : { state: "failed", at: this.now() }));
382
382
  }
383
383
  }
384
- const ci = { video: !1 };
385
- function ui(t) {
386
- if (!ci.video) return new Audio(t);
384
+ const li = { video: !1 };
385
+ function ci(t) {
386
+ if (!li.video) return new Audio(t);
387
387
  const e = document.createElement("video");
388
388
  return e.playsInline = !0, t && (e.src = t), e;
389
389
  }
390
- class di extends Error {
390
+ class ui extends Error {
391
391
  constructor() {
392
392
  super("The voice did not start in time."), this.name = "VoiceNotStarted";
393
393
  }
@@ -433,7 +433,7 @@ const nt = class nt {
433
433
  Me(this, "loading", null);
434
434
  Me(this, "readAhead", 0);
435
435
  Me(this, "readAheadS", 0);
436
- Me(this, "prefetch", new Ya());
436
+ Me(this, "prefetch", new _a());
437
437
  Me(this, "warmed", /* @__PURE__ */ new Set());
438
438
  Me(this, "startingSince", /* @__PURE__ */ new Map());
439
439
  Me(this, "retries", /* @__PURE__ */ new Map());
@@ -697,16 +697,16 @@ const nt = class nt {
697
697
  let o = 0;
698
698
  if (a)
699
699
  if (this.within = null, r.total > 1) {
700
- const c = Array.from({ length: r.total }, (d, g) => {
701
- var M;
702
- return ((M = r.got.get(g)) == null ? void 0 : M.durationS) ?? 0;
703
- }), u = c.reduce((d, g) => d + g, 0);
700
+ const c = Array.from({ length: r.total }, (d, M) => {
701
+ var g;
702
+ return ((g = r.got.get(M)) == null ? void 0 : g.durationS) ?? 0;
703
+ }), u = c.reduce((d, M) => d + M, 0);
704
704
  if (u > 0 && c.every((d) => d > 0)) {
705
705
  const d = a.frac * u;
706
- let g = 0, M = 0;
707
- for (; g < c.length - 1 && M + c[g] <= d; ) M += c[g++];
708
- if (o = -(d - M), g !== n) {
709
- this.partBase = M, this.startPartAt(e, g, d - M);
706
+ let M = 0, g = 0;
707
+ for (; M < c.length - 1 && g + c[M] <= d; ) g += c[M++];
708
+ if (o = -(d - g), M !== n) {
709
+ this.partBase = g, this.startPartAt(e, M, d - g);
710
710
  return;
711
711
  }
712
712
  }
@@ -739,9 +739,9 @@ const nt = class nt {
739
739
  if (this.rank(c) <= l || !this.speakable(c)) continue;
740
740
  const u = this.clips.get(c);
741
741
  if (u)
742
- for (const d of [...u.got.keys()].sort((g, M) => g - M)) {
743
- const g = u.got.get(d);
744
- r.push(g), s += g.durationS || 0;
742
+ for (const d of [...u.got.keys()].sort((M, g) => M - g)) {
743
+ const M = u.got.get(d);
744
+ r.push(M), s += M.durationS || 0;
745
745
  }
746
746
  }
747
747
  return r;
@@ -769,7 +769,7 @@ const nt = class nt {
769
769
  const l = await fetch(n, { method: "GET" });
770
770
  s = l.ok, r = l.status === 202 || l.status === 503 || l.status === 429;
771
771
  const c = l.status === 503 ? await l.json().catch(() => null) : null;
772
- a = _a(l.status, l.headers.get("Retry-After"), c);
772
+ a = Ea(l.status, l.headers.get("Retry-After"), c);
773
773
  } catch {
774
774
  r = !0;
775
775
  }
@@ -790,7 +790,7 @@ const nt = class nt {
790
790
  }, a);
791
791
  return;
792
792
  }
793
- this.startingSince.delete(e), this.playing = !1, this.onStarting(null), this.onWaiting(null), this.onError(new di()), this.onSentence(e);
793
+ this.startingSince.delete(e), this.playing = !1, this.onStarting(null), this.onWaiting(null), this.onError(new ui()), this.onSentence(e);
794
794
  return;
795
795
  }
796
796
  const o = (this.retries.get(e) ?? 0) + 1;
@@ -818,7 +818,7 @@ const nt = class nt {
818
818
  }
819
819
  element() {
820
820
  if (this.el) return this.el;
821
- const e = ui();
821
+ const e = ci();
822
822
  e.preload = "auto";
823
823
  const n = e;
824
824
  return n.dataset && (n.dataset.vsVoice = "1"), e.playsInline = !0, e.onplaying = () => {
@@ -872,42 +872,42 @@ const nt = class nt {
872
872
  };
873
873
  Me(nt, "WAIT_MS", 15e3), Me(nt, "START_WAIT_MS", 4e3), Me(nt, "COMING_MS", 12e4), Me(nt, "SKEW_LINES", 3), Me(nt, "RETRIES", 4), Me(nt, "RETRY_MS", 1200), Me(nt, "STARTING_MS", 3e5);
874
874
  let fr = nt;
875
- function hi(t, e) {
875
+ function di(t, e) {
876
876
  return e == null ? t.find((n) => !n.voiceKey) ?? null : t.find((n) => n.voiceKey === e) ?? t.find((n) => !n.voiceKey && n.voice === e) ?? null;
877
877
  }
878
- function Ua(t, e, n, r = {}, s) {
878
+ function Ya(t, e, n, r = {}, s) {
879
879
  if (!t) return [];
880
880
  const a = s != null && s.length ? s : t.clips;
881
881
  if (!(a != null && a.length)) return [];
882
- const o = Ca(r), l = o ? `&${o}` : "", c = t.voiceKey ? `&voice=${encodeURIComponent(t.voiceKey)}` : "";
882
+ const o = Oa(r), l = o ? `&${o}` : "", c = t.voiceKey ? `&voice=${encodeURIComponent(t.voiceKey)}` : "";
883
883
  return a.flatMap((u) => {
884
- var M, N;
885
- const d = (M = t.clipRev) == null ? void 0 : M[String(u)], g = Math.max(1, ((N = t.clipParts) == null ? void 0 : N[String(u)]) ?? 1);
886
- return Array.from({ length: g }, (p, y) => {
884
+ var g, N;
885
+ const d = (g = t.clipRev) == null ? void 0 : g[String(u)], M = Math.max(1, ((N = t.clipParts) == null ? void 0 : N[String(u)]) ?? 1);
886
+ return Array.from({ length: M }, (p, y) => {
887
887
  var L;
888
888
  return {
889
889
  sentenceId: u,
890
890
  lang: t.lang,
891
891
  src: `${n}/v1/recordings/${e}/voice/${u}?lang=${encodeURIComponent(t.lang)}${c}&format=${xn()}${y > 0 ? `&part=${y}` : ""}${d ? `&v=${encodeURIComponent(d)}` : ""}${l}`,
892
- durationS: g === 1 ? ((L = t.clipDur) == null ? void 0 : L[String(u)]) ?? 0 : 0,
892
+ durationS: M === 1 ? ((L = t.clipDur) == null ? void 0 : L[String(u)]) ?? 0 : 0,
893
893
  voice: t.voice ?? null,
894
894
  cloned: !1,
895
895
  part: y,
896
- parts: g
896
+ parts: M
897
897
  };
898
898
  });
899
899
  });
900
900
  }
901
- function Mi(t, e) {
901
+ function hi(t, e) {
902
902
  const n = e.words;
903
903
  if (n && n.length === t.length && t.length > 0) {
904
904
  let r = 0;
905
905
  for (let s = 0; s < n.length && e.t >= n[s][0]; s++) r = s;
906
906
  return r;
907
907
  }
908
- return e.dur > 0 ? Ra(t, e.t, e.dur) : null;
908
+ return e.dur > 0 ? Ua(t, e.t, e.dur) : null;
909
909
  }
910
- function Ra(t, e, n) {
910
+ function Ua(t, e, n) {
911
911
  if (t.length <= 1 || !(n > 0)) return 0;
912
912
  const r = t.map((l) => l.t.length + 1.6), s = r.reduce((l, c) => l + c, 0);
913
913
  let a = 0;
@@ -925,7 +925,7 @@ function mr(t, e) {
925
925
  return e;
926
926
  }
927
927
  }
928
- function gi(t, e) {
928
+ function Mi(t, e) {
929
929
  try {
930
930
  e == null ? localStorage.removeItem(t) : localStorage.setItem(t, JSON.stringify(e));
931
931
  } catch {
@@ -933,55 +933,55 @@ function gi(t, e) {
933
933
  for (const n of Nr) n();
934
934
  }
935
935
  function Ir(t, e) {
936
- const [n, r] = I(() => mr(t, e));
936
+ const [n, r] = z(() => mr(t, e));
937
937
  return U(() => {
938
938
  const s = () => r(mr(t, e));
939
939
  return Nr.add(s), window.addEventListener("storage", s), () => {
940
940
  Nr.delete(s), window.removeEventListener("storage", s);
941
941
  };
942
942
  }, [t]), [n, (s) => {
943
- r(s), gi(t, s);
943
+ r(s), Mi(t, s);
944
944
  }];
945
945
  }
946
946
  function Ys(t) {
947
947
  const e = mr(pr, []);
948
- gi(pr, Array.isArray(e) ? e.filter((n) => n !== t) : []);
948
+ Mi(pr, Array.isArray(e) ? e.filter((n) => n !== t) : []);
949
949
  }
950
- function fi() {
950
+ function gi() {
951
951
  const [t, e] = Ir(pr, []), n = Array.isArray(t) ? t : [];
952
952
  return [n, (r) => {
953
953
  r && e([r, ...n.filter((s) => s !== r)].slice(0, 3));
954
954
  }];
955
955
  }
956
- function pi(t, e) {
956
+ function fi(t, e) {
957
957
  if (!t) return [];
958
958
  const n = new Set(t[e]);
959
959
  return t.languages.filter((r) => n.has(r.code)).map((r) => ({ code: r.code, label: r.name, native: r.native, flag: r.flag ?? "🌐", voice: !!r.voice }));
960
960
  }
961
- function Pa(t) {
961
+ function Ra(t) {
962
962
  const [e, n] = Ir(`vs.pins.${t}`, null);
963
963
  return [Array.isArray(e) ? e : [], n];
964
964
  }
965
- const Qa = 352;
966
- function $a(t) {
965
+ const Pa = 352;
966
+ function Qa(t) {
967
967
  const [e, n] = Ir(t === "ga" ? "vs.colW.ga" : "vs.colW", null);
968
- return [typeof e == "number" && e > 0 ? e : t === "ga" ? 560 : Qa, n];
968
+ return [typeof e == "number" && e > 0 ? e : t === "ga" ? 560 : Pa, n];
969
969
  }
970
- function Or({ open: t, onClose: e, value: n, onSelect: r, languages: s, searchPlaceholder: a = "Search languages", none: o, pinned: l = [], recent: c = [], requireVoice: u, keepOpen: d, busy: g }) {
971
- const [M, N] = I(""), [p, y] = I(!1), [L, m] = I(null);
970
+ function Or({ open: t, onClose: e, value: n, onSelect: r, languages: s, searchPlaceholder: a = "Search languages", none: o, pinned: l = [], recent: c = [], requireVoice: u, keepOpen: d, busy: M }) {
971
+ const [g, N] = z(""), [p, y] = z(!1), [L, m] = z(null);
972
972
  U(() => {
973
973
  t && (N(""), y(!1), m(null));
974
974
  }, [t]);
975
975
  const f = Ie(() => {
976
- const E = M.trim().toLowerCase();
976
+ const E = g.trim().toLowerCase();
977
977
  return [...E ? s.filter((O) => O.label.toLowerCase().includes(E) || O.native.toLowerCase().includes(E) || O.code.toLowerCase().includes(E)) : s].sort((O, S) => {
978
978
  const re = l.indexOf(O.code), K = l.indexOf(S.code);
979
979
  return re !== -1 || K !== -1 ? (re === -1 ? 999 : re) - (K === -1 ? 999 : K) : O.label.localeCompare(S.label);
980
980
  });
981
- }, [s, M, l]), z = Ie(
982
- () => M ? [] : c.map((E) => f.find((Q) => Q.code === E)).filter((E) => !!E).sort((E, Q) => E.label.localeCompare(Q.label)),
983
- [c, f, M]
984
- ), C = Ie(() => z.length ? f.filter((E) => !z.some((Q) => Q.code === E.code)) : f, [f, z]), D = p || M ? C : C.slice(0, 12), V = C.length - D.length, _ = (E, Q = !1) => {
981
+ }, [s, g, l]), I = Ie(
982
+ () => g ? [] : c.map((E) => f.find((Q) => Q.code === E)).filter((E) => !!E).sort((E, Q) => E.label.localeCompare(Q.label)),
983
+ [c, f, g]
984
+ ), C = Ie(() => I.length ? f.filter((E) => !I.some((Q) => Q.code === E.code)) : f, [f, I]), D = p || g ? C : C.slice(0, 12), V = C.length - D.length, _ = (E, Q = !1) => {
985
985
  const T = !!u && !E.voice;
986
986
  return /* @__PURE__ */ h(
987
987
  "button",
@@ -1008,16 +1008,16 @@ function Or({ open: t, onClose: e, value: n, onSelect: r, languages: s, searchPl
1008
1008
  (O.key === "Enter" || O.key === " ") && (O.preventDefault(), O.stopPropagation(), Ys(E.code));
1009
1009
  }, children: /* @__PURE__ */ i(oe, { d: X.close, size: 16 }) }) }),
1010
1010
  /* @__PURE__ */ i("span", { className: `vs-picker__slot${T ? " vs-picker__slot--wide" : ""}`, title: E.voice ? "Voice available" : T ? "No voice speaks this language yet" : void 0, children: T ? L === E.code && /* @__PURE__ */ i("span", { className: "vs-picker__off", children: "UNAVAILABLE" }) : E.voice && /* @__PURE__ */ i(oe, { d: X.headphones, size: 16 }) }),
1011
- /* @__PURE__ */ i("span", { className: "vs-picker__check", children: n === E.code && (g === E.code ? /* @__PURE__ */ i(at, { size: 15, color: "var(--vs-link-hover)", track: "var(--vs-border)" }) : /* @__PURE__ */ i(oe, { d: X.check, size: 16, sw: 2.2 })) })
1011
+ /* @__PURE__ */ i("span", { className: "vs-picker__check", children: n === E.code && (M === E.code ? /* @__PURE__ */ i(at, { size: 15, color: "var(--vs-link-hover)", track: "var(--vs-border)" }) : /* @__PURE__ */ i(oe, { d: X.check, size: 16, sw: 2.2 })) })
1012
1012
  ]
1013
1013
  },
1014
1014
  E.code
1015
1015
  );
1016
1016
  }, ee = /* @__PURE__ */ h("div", { className: "vs-picker__search", children: [
1017
1017
  /* @__PURE__ */ i(oe, { d: X.search, size: 16, sw: 1.7, style: { color: "var(--vs-text-muted)" } }),
1018
- /* @__PURE__ */ i("input", { value: M, onChange: (E) => N(E.target.value), placeholder: a, "aria-label": a })
1018
+ /* @__PURE__ */ i("input", { value: g, onChange: (E) => N(E.target.value), placeholder: a, "aria-label": a })
1019
1019
  ] }), j = /* @__PURE__ */ h("div", { className: "vs-picker__list", children: [
1020
- o && !M && /* @__PURE__ */ h("button", { type: "button", className: "vs-picker__row", "data-vs-original": "", "aria-selected": n === null, onClick: () => {
1020
+ o && !g && /* @__PURE__ */ h("button", { type: "button", className: "vs-picker__row", "data-vs-original": "", "aria-selected": n === null, onClick: () => {
1021
1021
  r(null), d || e();
1022
1022
  }, children: [
1023
1023
  /* @__PURE__ */ i("span", { className: "vs-picker__flag", children: /* @__PURE__ */ i(oe, { d: X.mic, size: 19, sw: 1.6, style: { color: "var(--vs-text-muted)" } }) }),
@@ -1029,9 +1029,9 @@ function Or({ open: t, onClose: e, value: n, onSelect: r, languages: s, searchPl
1029
1029
  /* @__PURE__ */ i("span", { className: "vs-picker__slot" }),
1030
1030
  /* @__PURE__ */ i("span", { className: "vs-picker__check", children: n === null && /* @__PURE__ */ i(oe, { d: X.check, size: 16, sw: 2.2 }) })
1031
1031
  ] }),
1032
- z.length > 0 && /* @__PURE__ */ h(xe, { children: [
1032
+ I.length > 0 && /* @__PURE__ */ h(xe, { children: [
1033
1033
  /* @__PURE__ */ i("div", { className: "vs-picker__head", children: "RECENT" }),
1034
- z.map((E) => _(E, !0)),
1034
+ I.map((E) => _(E, !0)),
1035
1035
  /* @__PURE__ */ i("div", { className: "vs-picker__rule" })
1036
1036
  ] }),
1037
1037
  D.map((E) => _(E)),
@@ -1042,47 +1042,47 @@ function Or({ open: t, onClose: e, value: n, onSelect: r, languages: s, searchPl
1042
1042
  ] }),
1043
1043
  f.length === 0 && /* @__PURE__ */ h("div", { className: "vs-picker__more", children: [
1044
1044
  "No match for “",
1045
- M,
1045
+ g,
1046
1046
  "”"
1047
1047
  ] })
1048
1048
  ] });
1049
1049
  return { search: ee, list: j };
1050
1050
  }
1051
- function Ba({ open: t, onClose: e, title: n, note: r, sticky: s, ...a }) {
1051
+ function $a({ open: t, onClose: e, title: n, note: r, sticky: s, ...a }) {
1052
1052
  const { search: o, list: l } = Or({ ...a, open: t, onClose: e });
1053
1053
  return /* @__PURE__ */ i(Vt, { open: t, onClose: e, title: n, note: r, drawer: !1, sticky: s, kind: "picker", header: o, children: l });
1054
1054
  }
1055
- const Va = 0.3;
1055
+ const Ba = 0.3;
1056
1056
  function Us(t, e) {
1057
- t.muted = e.muted, Math.abs(t.currentTime - e.t) > Va && (t.currentTime = Math.max(0, e.t)), e.playing ? t.paused && Promise.resolve(t.play()).catch(() => {
1057
+ t.muted = e.muted, Math.abs(t.currentTime - e.t) > Ba && (t.currentTime = Math.max(0, e.t)), e.playing ? t.paused && Promise.resolve(t.play()).catch(() => {
1058
1058
  }) : t.paused || t.pause();
1059
1059
  }
1060
- const In = "Remove background sound", Ha = "Takes out everything that isn't speech: music, ambience and noise.";
1061
- function Wa(t) {
1060
+ const In = "Remove background sound", Va = "Takes out everything that isn't speech: music, ambience and noise.";
1061
+ function Ha(t) {
1062
1062
  const e = Math.max(0, Math.floor(t)), n = Math.floor(e / 3600), r = Math.floor(e % 3600 / 60), s = String(e % 60).padStart(2, "0");
1063
1063
  return n ? `${n}:${String(r).padStart(2, "0")}:${s}` : `${r}:${s}`;
1064
1064
  }
1065
- function Fa(t, e, n = "transcription", r = 0) {
1066
- return e === "unavailable" ? `Not available for this ${n}` : e === "making" ? r > 0 ? `Separating the speech from the background… ready up to ${Wa(r)}` : "Separating the speech from the background…" : Ha;
1065
+ function Wa(t, e, n = "transcription", r = 0) {
1066
+ return e === "unavailable" ? `Not available for this ${n}` : e === "making" ? r > 0 ? `Separating the speech from the background… ready up to ${Ha(r)}` : "Separating the speech from the background…" : Va;
1067
1067
  }
1068
- function Ga(t, e) {
1068
+ function Fa(t, e) {
1069
1069
  return { bed: e && !t, speech: !e && t };
1070
1070
  }
1071
- function Za(t) {
1071
+ function Ga(t) {
1072
1072
  const e = t.get("bg");
1073
1073
  return e === "off" || e === "remove";
1074
1074
  }
1075
- function qa(t, e) {
1075
+ function Za(t, e) {
1076
1076
  e ? t.searchParams.set("bg", "remove") : t.searchParams.delete("bg");
1077
1077
  }
1078
- function Ka(t, e) {
1078
+ function qa(t, e) {
1079
1079
  var r, s;
1080
1080
  if (t !== 503) return null;
1081
1081
  const n = (s = (r = e == null ? void 0 : e.data) == null ? void 0 : r.details) == null ? void 0 : s.retryAfterS;
1082
1082
  return typeof n == "number" && n > 0 ? Math.max(2, n) : 3;
1083
1083
  }
1084
- const Ja = 0.05;
1085
- function Xa(t) {
1084
+ const Ka = 0.05;
1085
+ function Ja(t) {
1086
1086
  var r, s;
1087
1087
  const e = (s = (r = t == null ? void 0 : t.data) == null ? void 0 : r.details) == null ? void 0 : s.parts, n = [];
1088
1088
  if (Array.isArray(e))
@@ -1094,8 +1094,8 @@ function Xa(t) {
1094
1094
  }
1095
1095
  return { untilS: n.length ? n[n.length - 1].endS : 0, parts: n };
1096
1096
  }
1097
- function eo(t, e) {
1098
- if (!t.length || e < 0 || e >= t[t.length - 1].endS - Ja) return -1;
1097
+ function Xa(t, e) {
1098
+ if (!t.length || e < 0 || e >= t[t.length - 1].endS - Ka) return -1;
1099
1099
  let n = 0, r = t.length - 1;
1100
1100
  for (; n < r; ) {
1101
1101
  const s = n + r + 1 >> 1;
@@ -1103,38 +1103,38 @@ function eo(t, e) {
1103
1103
  }
1104
1104
  return n;
1105
1105
  }
1106
- function to(t, e, n, r) {
1106
+ function eo(t, e, n, r) {
1107
1107
  const s = t[e].startS, a = n[r] === s ? r : n[1 - r] === s ? 1 - r : r, o = [];
1108
1108
  n[a] !== s && o.push([a, e]);
1109
1109
  const l = 1 - a;
1110
1110
  return e + 1 < t.length && n[l] !== t[e + 1].startS && o.push([l, e + 1]), { play: a, load: o };
1111
1111
  }
1112
- async function no(t) {
1112
+ async function to(t) {
1113
1113
  const e = await fetch(t, { redirect: "manual", credentials: "omit" });
1114
1114
  if (e.type === "opaqueredirect" || e.status >= 300 && e.status < 400 || e.ok) return { ready: !0 };
1115
1115
  const n = await e.json().catch(() => null);
1116
- return { ready: !1, retryS: Ka(e.status, n), ...Xa(n) };
1116
+ return { ready: !1, retryS: qa(e.status, n), ...Ja(n) };
1117
1117
  }
1118
1118
  function rr(t) {
1119
1119
  t && (t.pause(), t.removeAttribute("src"), t.load());
1120
1120
  }
1121
- function Ni(t, e) {
1122
- const [n, r] = I("off"), [s, a] = I([]), [o, l] = I(!1), c = v(null), u = v([null, null]), d = v([NaN, NaN]), g = v(0);
1121
+ function pi(t, e) {
1122
+ const [n, r] = z("off"), [s, a] = z([]), [o, l] = z(!1), c = v(null), u = v([null, null]), d = v([NaN, NaN]), M = v(0);
1123
1123
  return U(() => {
1124
1124
  if (a([]), l(!1), !t) {
1125
1125
  r("off");
1126
1126
  return;
1127
1127
  }
1128
- let M = !1, N;
1128
+ let g = !1, N;
1129
1129
  r("making");
1130
1130
  const p = () => {
1131
- no(t).then((y) => {
1132
- if (!M) {
1131
+ to(t).then((y) => {
1132
+ if (!g) {
1133
1133
  if (y.ready) {
1134
1134
  const L = new Audio();
1135
1135
  L.preload = "auto";
1136
1136
  const m = () => {
1137
- !M && c.current === L && r("ready");
1137
+ !g && c.current === L && r("ready");
1138
1138
  };
1139
1139
  L.addEventListener("canplay", m, { once: !0 }), L.addEventListener("error", m, { once: !0 }), L.src = t, c.current = L;
1140
1140
  return;
@@ -1146,45 +1146,45 @@ function Ni(t, e) {
1146
1146
  a((L) => L.length === y.parts.length && L.every((m, f) => m.startS === y.parts[f].startS) ? L : y.parts), N = setTimeout(p, y.retryS * 1e3);
1147
1147
  }
1148
1148
  }).catch(() => {
1149
- M || (N = setTimeout(p, 5e3));
1149
+ g || (N = setTimeout(p, 5e3));
1150
1150
  });
1151
1151
  };
1152
1152
  return p(), () => {
1153
- M = !0, N && clearTimeout(N), rr(c.current), c.current = null, rr(u.current[0]), rr(u.current[1]), u.current = [null, null], d.current = [NaN, NaN];
1153
+ g = !0, N && clearTimeout(N), rr(c.current), c.current = null, rr(u.current[0]), rr(u.current[1]), u.current = [null, null], d.current = [NaN, NaN];
1154
1154
  };
1155
1155
  }, [t]), U(() => {
1156
- const M = () => {
1156
+ const g = () => {
1157
1157
  for (const m of u.current) m && !m.paused && m.pause();
1158
1158
  };
1159
1159
  if (n === "ready" && c.current) {
1160
- M(), Us(c.current, e), l(!0);
1160
+ g(), Us(c.current, e), l(!0);
1161
1161
  return;
1162
1162
  }
1163
- const N = n === "making" ? eo(s, e.t) : -1;
1163
+ const N = n === "making" ? Xa(s, e.t) : -1;
1164
1164
  if (N < 0) {
1165
- M(), l(!1);
1165
+ g(), l(!1);
1166
1166
  return;
1167
1167
  }
1168
- const p = to(s, N, d.current, g.current);
1168
+ const p = eo(s, N, d.current, M.current);
1169
1169
  for (const [m, f] of p.load) {
1170
- let z = u.current[m];
1171
- z || (z = new Audio(), z.preload = "auto", u.current[m] = z), z.pause(), z.src = s[f].url, d.current[m] = s[f].startS;
1170
+ let I = u.current[m];
1171
+ I || (I = new Audio(), I.preload = "auto", u.current[m] = I), I.pause(), I.src = s[f].url, d.current[m] = s[f].startS;
1172
1172
  }
1173
- g.current = p.play;
1173
+ M.current = p.play;
1174
1174
  const y = u.current[p.play], L = u.current[1 - p.play];
1175
1175
  L && !L.paused && L.pause(), Us(y, { ...e, t: e.t - s[N].startS }), l(!e.playing || y.readyState >= 3);
1176
1176
  }, [n, s, e.t, e.playing, e.muted]), { state: n, on: o, untilS: n === "ready" ? 1 / 0 : s.length ? s[s.length - 1].endS : 0 };
1177
1177
  }
1178
- function ro(t, e) {
1179
- return Ni(t, e).state;
1178
+ function no(t, e) {
1179
+ return pi(t, e).state;
1180
1180
  }
1181
- const so = 0.5, io = 3;
1181
+ const ro = 0.5, so = 3;
1182
1182
  function Cr(t, e) {
1183
1183
  let n = -1;
1184
1184
  for (let r = 0; r < t.length && t[r].start <= e + 0.02; r++) n = r;
1185
1185
  return n;
1186
1186
  }
1187
- function ao(t, e, n) {
1187
+ function io(t, e, n) {
1188
1188
  const r = Cr(t, n);
1189
1189
  if (r < 0) return { kind: "none" };
1190
1190
  const s = t[r];
@@ -1194,7 +1194,7 @@ function ao(t, e, n) {
1194
1194
  const o = Math.max(1, ...a.map((c) => c.parts));
1195
1195
  let l = Math.max(0, n - s.start);
1196
1196
  for (let c = 0; c < o; c++) {
1197
- const u = a.find((g) => g.part === c);
1197
+ const u = a.find((M) => M.part === c);
1198
1198
  if (!u) return { kind: "missing", sid: s.sid };
1199
1199
  const d = u.durationS && u.durationS > 0 ? u.durationS : 1 / 0;
1200
1200
  if (l < d) return { kind: "play", sid: s.sid, src: u.src, offset: l };
@@ -1202,14 +1202,14 @@ function ao(t, e, n) {
1202
1202
  }
1203
1203
  return { kind: "done", sid: s.sid };
1204
1204
  }
1205
- function oo(t, e, n) {
1205
+ function ao(t, e, n) {
1206
1206
  if (n == null) return !1;
1207
1207
  const r = Cr(t, e);
1208
1208
  if (r < 0) return !1;
1209
1209
  const s = t[r];
1210
1210
  return e >= s.end ? s.sid === n : r > 0 && t[r - 1].sid === n && e - s.start < 1.5;
1211
1211
  }
1212
- function lo(t, e, n, r = io) {
1212
+ function oo(t, e, n, r = so) {
1213
1213
  const s = Math.max(0, Cr(t, n)), a = [];
1214
1214
  for (let o = s; o < t.length && o <= s + r; o++) {
1215
1215
  const l = (e.get(t[o].sid) ?? []).find((c) => c.part === 0);
@@ -1217,12 +1217,12 @@ function lo(t, e, n, r = io) {
1217
1217
  }
1218
1218
  return a;
1219
1219
  }
1220
- function co(t) {
1220
+ function lo(t) {
1221
1221
  const e = Ie(() => {
1222
1222
  const c = /* @__PURE__ */ new Map();
1223
1223
  for (const u of t.clips) c.set(u.sentenceId, [...c.get(u.sentenceId) ?? [], u]);
1224
1224
  return c;
1225
- }, [t.clips]), n = v(/* @__PURE__ */ new Map()), r = v(null), [s, a] = I({ missing: null, sid: null }), o = (c) => {
1225
+ }, [t.clips]), n = v(/* @__PURE__ */ new Map()), r = v(null), [s, a] = z({ missing: null, sid: null }), o = (c) => {
1226
1226
  let u = n.current.get(c);
1227
1227
  return u || (u = new Audio(), u.preload = "auto", u.src = c, n.current.set(c, u)), u;
1228
1228
  }, l = () => {
@@ -1238,33 +1238,33 @@ function co(t) {
1238
1238
  l(), a((p) => p.missing == null && p.sid == null ? p : { missing: null, sid: null });
1239
1239
  return;
1240
1240
  }
1241
- const c = ao(t.lines, e, t.t), u = c.kind === "missing" ? c.sid : null, d = c.kind === "none" ? null : c.sid;
1241
+ const c = io(t.lines, e, t.t), u = c.kind === "missing" ? c.sid : null, d = c.kind === "none" ? null : c.sid;
1242
1242
  a((p) => p.missing === u && p.sid === d ? p : { missing: u, sid: d });
1243
- const g = new Set(lo(t.lines, e, t.t));
1244
- for (const p of g) o(p);
1245
- const M = r.current;
1246
- M && g.add(M.src);
1247
- for (const [p, y] of n.current) !g.has(p) && (!M || M.el !== y) && (y.pause(), n.current.delete(p));
1243
+ const M = new Set(oo(t.lines, e, t.t));
1244
+ for (const p of M) o(p);
1245
+ const g = r.current;
1246
+ g && M.add(g.src);
1247
+ for (const [p, y] of n.current) !M.has(p) && (!g || g.el !== y) && (y.pause(), n.current.delete(p));
1248
1248
  if (!t.playing) {
1249
- M == null || M.el.pause();
1249
+ g == null || g.el.pause();
1250
1250
  return;
1251
1251
  }
1252
1252
  if (c.kind !== "play") {
1253
- if (M && !M.el.paused && !M.el.ended && oo(t.lines, t.t, M.sid)) return;
1254
- M && M.el.pause(), r.current = null;
1253
+ if (g && !g.el.paused && !g.el.ended && ao(t.lines, t.t, g.sid)) return;
1254
+ g && g.el.pause(), r.current = null;
1255
1255
  return;
1256
1256
  }
1257
- if (M && M.src === c.src) {
1258
- if (M.el.muted = t.muted, !M.el.ended && Math.abs(M.el.currentTime - c.offset) > so)
1257
+ if (g && g.src === c.src) {
1258
+ if (g.el.muted = t.muted, !g.el.ended && Math.abs(g.el.currentTime - c.offset) > ro)
1259
1259
  try {
1260
- M.el.currentTime = c.offset;
1260
+ g.el.currentTime = c.offset;
1261
1261
  } catch {
1262
1262
  }
1263
- M.el.paused && !M.el.ended && M.el.play().catch(() => {
1263
+ g.el.paused && !g.el.ended && g.el.play().catch(() => {
1264
1264
  });
1265
1265
  return;
1266
1266
  }
1267
- M == null || M.el.pause();
1267
+ g == null || g.el.pause();
1268
1268
  const N = o(c.src);
1269
1269
  N.muted = t.muted;
1270
1270
  try {
@@ -1276,7 +1276,7 @@ function co(t) {
1276
1276
  }, [t.on, t.t, t.playing, t.muted, t.lines, e]), s;
1277
1277
  }
1278
1278
  const Rs = ["play", "pause", "stop", "nexttrack", "previoustrack"];
1279
- function uo(t, e) {
1279
+ function co(t, e) {
1280
1280
  var n, r;
1281
1281
  if (t === "play") {
1282
1282
  e.playing || e.toggle();
@@ -1292,12 +1292,12 @@ function uo(t, e) {
1292
1292
  }
1293
1293
  (r = e.prev) == null || r.call(e);
1294
1294
  }
1295
- function ho(t, e) {
1295
+ function uo(t, e) {
1296
1296
  for (const n of Rs)
1297
1297
  try {
1298
1298
  t.setActionHandler(n, () => {
1299
1299
  const r = e();
1300
- r && uo(n, r);
1300
+ r && co(n, r);
1301
1301
  });
1302
1302
  } catch {
1303
1303
  }
@@ -1309,14 +1309,14 @@ function ho(t, e) {
1309
1309
  }
1310
1310
  };
1311
1311
  }
1312
- function Mo(t, e) {
1312
+ function ho(t, e) {
1313
1313
  const n = v(t);
1314
1314
  n.current = t;
1315
1315
  const r = !!t;
1316
1316
  U(() => {
1317
1317
  const a = typeof navigator < "u" ? navigator.mediaSession : void 0;
1318
1318
  if (!(!a || !r))
1319
- return ho(a, () => n.current);
1319
+ return uo(a, () => n.current);
1320
1320
  }, [r]);
1321
1321
  const s = !!(t != null && t.playing);
1322
1322
  U(() => {
@@ -1348,7 +1348,7 @@ function $t() {
1348
1348
  spans: []
1349
1349
  };
1350
1350
  }
1351
- function go(t, e) {
1351
+ function Mo(t, e) {
1352
1352
  for (const r of t.spans) {
1353
1353
  const s = r.mediaEnd ?? 1 / 0;
1354
1354
  if (e < s || r.mediaEnd == null) return r.wallStart + Math.max(0, e - r.mediaStart);
@@ -1425,7 +1425,7 @@ function Ps(t, e) {
1425
1425
  const n = e ?? {};
1426
1426
  return !t || !Object.keys(t).length ? n : Object.keys(n).length ? { ...t, ...n } : t;
1427
1427
  }
1428
- function fo(t, e) {
1428
+ function go(t, e) {
1429
1429
  const n = e.tail;
1430
1430
  if (!n || !Array.isArray(n.words) || n.replaced !== t.length || n.words.length !== t.length) return !1;
1431
1431
  let r = !1;
@@ -1442,7 +1442,7 @@ function fo(t, e) {
1442
1442
  }
1443
1443
  return r;
1444
1444
  }
1445
- function po(t, e) {
1445
+ function fo(t, e) {
1446
1446
  var n;
1447
1447
  switch (delete t.numbers, e.type) {
1448
1448
  case "transcript.committed": {
@@ -1483,7 +1483,7 @@ function po(t, e) {
1483
1483
  }
1484
1484
  case "transcript.amended": {
1485
1485
  const r = t.segments.get(e.seq);
1486
- if (r && r.corrected && fo(r.words, e)) {
1486
+ if (r && r.corrected && go(r.words, e)) {
1487
1487
  r.text = e.text, r.words = en(e.seq, e.tail.words);
1488
1488
  break;
1489
1489
  }
@@ -1497,7 +1497,7 @@ function po(t, e) {
1497
1497
  if ((n = e.scriptWords) != null && n.length) {
1498
1498
  const a = (c) => c.toLowerCase().replace(/[^\p{L}\p{N}]/gu, ""), o = (e.fixes ?? []).filter((c) => String(c.kind ?? "").endsWith("script") && String(c.orig ?? "").trim()), l = (c) => {
1499
1499
  var u, d;
1500
- return c.recognized ?? ((d = (u = o.find((g) => String(g.repl ?? "").split(/\s+/).map(a).includes(a(c.text)))) == null ? void 0 : u.orig) == null ? void 0 : d.trim());
1500
+ return c.recognized ?? ((d = (u = o.find((M) => String(M.repl ?? "").split(/\s+/).map(a).includes(a(c.text)))) == null ? void 0 : u.orig) == null ? void 0 : d.trim());
1501
1501
  };
1502
1502
  r.words = r.words.map((c, u) => {
1503
1503
  if (!e.scriptWords.includes(u)) return c;
@@ -1531,7 +1531,7 @@ function po(t, e) {
1531
1531
  seqs: r.seqs,
1532
1532
  speaker: r.speaker,
1533
1533
  start: r.start,
1534
- wallStart: go(t, r.start),
1534
+ wallStart: Mo(t, r.start),
1535
1535
  text: a ? s.text : r.text,
1536
1536
  status: r.status === "open" ? "open" : "closed",
1537
1537
  settled: !!r.settled,
@@ -1583,7 +1583,7 @@ function po(t, e) {
1583
1583
  }
1584
1584
  return typeof e.seq == "number" && (t.lastSeq = Math.max(t.lastSeq, e.seq)), t;
1585
1585
  }
1586
- function No(t) {
1586
+ function po(t) {
1587
1587
  const e = [], n = [...t.sentences.values()].sort((r, s) => r.start - s.start || (r.sentenceId ?? 0) - (s.sentenceId ?? 0));
1588
1588
  for (const r of n) {
1589
1589
  const s = r.seqs.map((l) => t.segments.get(l)).filter(Boolean), a = s.length === r.seqs.length || !r.text ? s.flatMap((l) => l.words) : [], o = s[s.length - 1];
@@ -1596,16 +1596,16 @@ function No(t) {
1596
1596
  catchup: s.some((l) => l.catchup),
1597
1597
  suppressed: r.suppressed || s.length > 0 && s.every((l) => l.suppressed),
1598
1598
  unclear: r.unclear || s.length > 0 && s.every((l) => l.unclear),
1599
- confidence: mo(s),
1599
+ confidence: No(s),
1600
1600
  latencyS: o == null ? void 0 : o.latencyS,
1601
1601
  settled: r.settled || s.length > 0 && s.every((l) => l.settled),
1602
- translations: Object.keys(r.translations).length ? r.translations : yo(s),
1602
+ translations: Object.keys(r.translations).length ? r.translations : mo(s),
1603
1603
  speaker: r.speaker >= 0 ? r.speaker : (o == null ? void 0 : o.speaker) ?? -1
1604
1604
  });
1605
1605
  }
1606
1606
  return e.sort((r, s) => r.start - s.start), e;
1607
1607
  }
1608
- function mo(t) {
1608
+ function No(t) {
1609
1609
  let e = 0, n = 0;
1610
1610
  for (const r of t) {
1611
1611
  if (r.confidence == null) continue;
@@ -1614,17 +1614,17 @@ function mo(t) {
1614
1614
  }
1615
1615
  return n ? e / n : void 0;
1616
1616
  }
1617
- function yo(t) {
1617
+ function mo(t) {
1618
1618
  const e = {};
1619
1619
  for (const n of t) for (const [r, s] of Object.entries(n.translations)) e[r] = e[r] ? `${e[r]} ${s}` : s;
1620
1620
  return e;
1621
1621
  }
1622
- const To = 0.85, wo = 0.75;
1623
- function Lo(t) {
1624
- return t == null ? "" : t < wo ? "low" : t < To ? "mid" : "";
1622
+ const yo = 0.85, To = 0.75;
1623
+ function wo(t) {
1624
+ return t == null ? "" : t < To ? "low" : t < yo ? "mid" : "";
1625
1625
  }
1626
1626
  const Tn = ["a", "b", "c", "d", "e", "f", "g", "h"];
1627
- function ko(t) {
1627
+ function Lo(t) {
1628
1628
  return Tn[(t % Tn.length + Tn.length) % Tn.length];
1629
1629
  }
1630
1630
  function vo(t) {
@@ -1646,23 +1646,23 @@ function On(t, e) {
1646
1646
  const n = vo(t);
1647
1647
  return n.get(e) ?? n.size + 1 + e;
1648
1648
  }
1649
- const jo = /^\s*speaker\s+\d+\s*$/i;
1649
+ const ko = /^\s*speaker\s+\d+\s*$/i;
1650
1650
  function Qs(t) {
1651
- return t && t.trim() && !jo.test(t) ? t : void 0;
1651
+ return t && t.trim() && !ko.test(t) ? t : void 0;
1652
1652
  }
1653
- function mi(t, e) {
1653
+ function Ni(t, e) {
1654
1654
  var n;
1655
1655
  return Qs(t.speakers[e]) ?? Qs((n = t.speakerIds[e]) == null ? void 0 : n.name);
1656
1656
  }
1657
1657
  function br(t, e) {
1658
- return e < 0 ? "" : mi(t, e) ?? `Speaker ${On(t, e)}`;
1658
+ return e < 0 ? "" : Ni(t, e) ?? `Speaker ${On(t, e)}`;
1659
1659
  }
1660
- function yi(t, e) {
1660
+ function mi(t, e) {
1661
1661
  if (e < 0) return "?";
1662
- const n = mi(t, e);
1662
+ const n = Ni(t, e);
1663
1663
  return n ? (n.split(" ").filter(Boolean).slice(0, 2).map((s) => s[0]).join("") || `S${On(t, e)}`).toUpperCase() : `S${On(t, e)}`;
1664
1664
  }
1665
- function zo(t) {
1665
+ function jo(t) {
1666
1666
  if (t) {
1667
1667
  if (t.startsWith("#"))
1668
1668
  return { fg: t, soft: `color-mix(in srgb, ${t} 16%, transparent)` };
@@ -1671,10 +1671,10 @@ function zo(t) {
1671
1671
  }
1672
1672
  }
1673
1673
  function xr(t, e) {
1674
- const n = t.speakerIds[e], r = zo(n == null ? void 0 : n.color);
1675
- return { fg: r == null ? void 0 : r.fg, soft: r == null ? void 0 : r.soft, lane: ko(On(t, e) - 1), hasVoice: !!n };
1674
+ const n = t.speakerIds[e], r = jo(n == null ? void 0 : n.color);
1675
+ return { fg: r == null ? void 0 : r.fg, soft: r == null ? void 0 : r.soft, lane: Lo(On(t, e) - 1), hasVoice: !!n };
1676
1676
  }
1677
- function Io(t, e, n, r = !1) {
1677
+ function zo(t, e, n, r = !1) {
1678
1678
  const s = n ? n.speakerLabels ?? "auto" : null, a = (r ? s : null) ?? t.labels ?? s ?? "on";
1679
1679
  if (a !== "auto") return a === "on";
1680
1680
  const o = /* @__PURE__ */ new Set();
@@ -1682,7 +1682,7 @@ function Io(t, e, n, r = !1) {
1682
1682
  return !0;
1683
1683
  return !1;
1684
1684
  }
1685
- const Oo = /* @__PURE__ */ new Set([
1685
+ const Io = /* @__PURE__ */ new Set([
1686
1686
  "invalid_audio",
1687
1687
  "invalid_options",
1688
1688
  "invalid_token",
@@ -1707,14 +1707,14 @@ const Oo = /* @__PURE__ */ new Set([
1707
1707
  "invalid_request",
1708
1708
  "aborted",
1709
1709
  "unauthorized"
1710
- ]), Ti = {
1710
+ ]), yi = {
1711
1711
  internal: "Something went wrong on our side. Please try again.",
1712
1712
  unavailable: "VocalStack is briefly unavailable. Please try again in a moment.",
1713
1713
  engine_unavailable: "No transcription engine is available right now. Please try again in a moment.",
1714
1714
  engine_lost: "The transcription engine stopped. Please try again.",
1715
1715
  capacity_exceeded: "Every transcription engine is busy right now. Please try again in a moment.",
1716
1716
  timeout: "That took too long. Please try again."
1717
- }, yr = Ti.internal, ir = "Can't reach VocalStack. Check your connection.", $s = {
1717
+ }, yr = yi.internal, ir = "Can't reach VocalStack. Check your connection.", $s = {
1718
1718
  NotAllowedError: "The browser blocked this. Allow it for this site, then try again.",
1719
1719
  NotSupportedError: "This browser cannot play this.",
1720
1720
  AbortError: "It was cancelled."
@@ -1722,34 +1722,34 @@ const Oo = /* @__PURE__ */ new Set([
1722
1722
  function Tt(t) {
1723
1723
  const e = t, n = typeof (e == null ? void 0 : e.code) == "string" ? e.code : void 0, r = typeof (e == null ? void 0 : e.status) == "number" ? e.status : void 0, s = e == null ? void 0 : e.details;
1724
1724
  if (n || r && r >= 400)
1725
- return n && Oo.has(n) && typeof (e == null ? void 0 : e.message) == "string" ? { message: e.message, code: n, status: r, details: s } : n === "unavailable" && r === void 0 ? { message: ir, code: n, details: s } : r === 0 ? { message: typeof (e == null ? void 0 : e.message) == "string" ? e.message : ir, code: n, status: r, details: s } : { message: n && Ti[n] || yr, code: n, status: r, details: s };
1725
+ return n && Io.has(n) && typeof (e == null ? void 0 : e.message) == "string" ? { message: e.message, code: n, status: r, details: s } : n === "unavailable" && r === void 0 ? { message: ir, code: n, details: s } : r === 0 ? { message: typeof (e == null ? void 0 : e.message) == "string" ? e.message : ir, code: n, status: r, details: s } : { message: n && yi[n] || yr, code: n, status: r, details: s };
1726
1726
  const a = (e == null ? void 0 : e.name) ?? "";
1727
- return a === "TypeError" && /fetch|network|load failed/i.test(String((e == null ? void 0 : e.message) ?? "")) ? (typeof navigator < "u" && navigator.onLine !== !1 && oi(t instanceof Error ? t : new Error(String(t))), { message: ir }) : $s[a] ? { message: $s[a] } : t instanceof Error && a === "Error" && !(t instanceof si) ? { message: t.message } : { message: yr };
1727
+ return a === "TypeError" && /fetch|network|load failed/i.test(String((e == null ? void 0 : e.message) ?? "")) ? (typeof navigator < "u" && navigator.onLine !== !1 && ai(t instanceof Error ? t : new Error(String(t))), { message: ir }) : $s[a] ? { message: $s[a] } : t instanceof Error && a === "Error" && !(t instanceof ri) ? { message: t.message } : { message: yr };
1728
1728
  }
1729
- const wi = "https://api.vocalstack.com", Dr = ri(null);
1729
+ const Ti = "https://api.vocalstack.com", Dr = ni(null);
1730
1730
  function Et() {
1731
- const t = ga(Dr);
1731
+ const t = Ma(Dr);
1732
1732
  if (!t) throw new Error("VocalStack player hooks must be used inside <VocalStackPlayer> or <PlayerApiProvider>");
1733
1733
  return t;
1734
1734
  }
1735
- function Co(t) {
1736
- return t.value ? /* @__PURE__ */ i(Dr.Provider, { value: t.value, children: t.children }) : /* @__PURE__ */ i(bo, { ...t });
1735
+ function Oo(t) {
1736
+ return t.value ? /* @__PURE__ */ i(Dr.Provider, { value: t.value, children: t.children }) : /* @__PURE__ */ i(Co, { ...t });
1737
1737
  }
1738
- function bo({ children: t, ...e }) {
1739
- const n = Li(e);
1738
+ function Co({ children: t, ...e }) {
1739
+ const n = wi(e);
1740
1740
  return /* @__PURE__ */ i(Dr.Provider, { value: n, children: t });
1741
1741
  }
1742
- const xo = /^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;
1743
- function Do(t) {
1744
- return xo.test(t);
1742
+ const bo = /^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;
1743
+ function xo(t) {
1744
+ return bo.test(t);
1745
1745
  }
1746
- function Li(t) {
1747
- const e = t.listen ?? null, n = e ? null : t.listenerToken ?? null, r = !e && !n && !!t.token && (!t.id || Do(t.id)), s = (t.baseUrl ?? wi).replace(/\/$/, ""), a = v(t.token);
1746
+ function wi(t) {
1747
+ const e = t.listen ?? null, n = e ? null : t.listenerToken ?? null, r = !e && !n && !!t.token && (!t.id || xo(t.id)), s = (t.baseUrl ?? Ti).replace(/\/$/, ""), a = v(t.token);
1748
1748
  a.current = t.token;
1749
1749
  const o = !!t.token, l = Ie(() => async () => {
1750
1750
  const d = a.current;
1751
1751
  return (typeof d == "function" ? await d() : d) || void 0;
1752
- }, []), c = t.client ?? null, u = Ie(() => c ?? new ii({ baseUrl: s, token: o && !e ? l : void 0 }), [c, s, o, l, e]);
1752
+ }, []), c = t.client ?? null, u = Ie(() => c ?? new si({ baseUrl: s, token: o && !e ? l : void 0 }), [c, s, o, l, e]);
1753
1753
  return Ie(() => {
1754
1754
  if (e) return { client: u, origin: s, owner: !1, shareCode: null, listen: e, bearer: l, cred: { listenerToken: e.token }, readAs: { listenerToken: e.token } };
1755
1755
  if (n) return { client: u, origin: s, owner: !1, shareCode: null, listen: null, bearer: l, cred: { listenerToken: n }, readAs: { listenerToken: n } };
@@ -1757,10 +1757,10 @@ function Li(t) {
1757
1757
  return { client: u, origin: s, owner: r, shareCode: d, listen: null, bearer: l, cred: { shareCode: d }, readAs: d ? { shareCode: d } : {} };
1758
1758
  }, [u, s, r, t.id, l, e, n]);
1759
1759
  }
1760
- function So(t, e) {
1760
+ function Do(t, e) {
1761
1761
  return e ? { ...t, cred: { media: e } } : t;
1762
1762
  }
1763
- async function Ao(t, e) {
1763
+ async function So(t, e) {
1764
1764
  if (t.listen) {
1765
1765
  const r = await t.client.recordings.get(t.listen.recordingId, t.readAs), s = r;
1766
1766
  return { key: e, code: null, transcriptionId: t.listen.transcriptionId, name: s.name ?? s.title ?? "", recording: r, job: s.job ?? (s.source ? { source: s.source } : null), allowDownload: !0, allowExport: !0, allowTranslate: !0, sharedBy: null };
@@ -1785,23 +1785,23 @@ async function Ao(t, e) {
1785
1785
  sharedBy: n.sharedBy ?? null
1786
1786
  };
1787
1787
  }
1788
- function Eo(t, e) {
1789
- const [n, r] = I(null), [s, a] = I(!1), [o, l] = I(null), [c, u] = I(0);
1788
+ function Ao(t, e) {
1789
+ const [n, r] = z(null), [s, a] = z(!1), [o, l] = z(null), [c, u] = z(0);
1790
1790
  return U(() => {
1791
1791
  let d = !0;
1792
- return Ao(t, e).then((g) => {
1793
- d && (r(g), a(!1), l(null));
1794
- }).catch((g) => {
1792
+ return So(t, e).then((M) => {
1793
+ d && (r(M), a(!1), l(null));
1794
+ }).catch((M) => {
1795
1795
  if (!d) return;
1796
- const M = Tt(g);
1797
- M.code === "not_found" || M.status === 404 ? a(!0) : l(M);
1796
+ const g = Tt(M);
1797
+ g.code === "not_found" || g.status === 404 ? a(!0) : l(g);
1798
1798
  }), () => {
1799
1799
  d = !1;
1800
1800
  };
1801
1801
  }, [t, e, c]), { source: n, gone: s, error: o, reload: () => u((d) => d + 1) };
1802
1802
  }
1803
- function _o(t, e) {
1804
- const [n, r] = I(null);
1803
+ function Eo(t, e) {
1804
+ const [n, r] = z(null);
1805
1805
  return U(() => {
1806
1806
  if (!t.owner || !e) {
1807
1807
  r(null);
@@ -1834,8 +1834,8 @@ async function Bs(t, e, n = {}) {
1834
1834
  return fetch(`${t.origin}${e}${a ? `${e.includes("?") ? "&" : "?"}${a}` : ""}`, { method: n.method ?? "GET", headers: s, body: n.body === void 0 ? void 0 : JSON.stringify(n.body) });
1835
1835
  }
1836
1836
  const ar = /* @__PURE__ */ new Map();
1837
- function ki() {
1838
- const t = Et(), [e, n] = I(ar.get(t.origin) ?? null);
1837
+ function Li() {
1838
+ const t = Et(), [e, n] = z(ar.get(t.origin) ?? null);
1839
1839
  return U(() => {
1840
1840
  ar.has(t.origin) || t.client.languages.list().then((r) => {
1841
1841
  ar.set(t.origin, r), n(r);
@@ -1844,7 +1844,7 @@ function ki() {
1844
1844
  }, [t]), e;
1845
1845
  }
1846
1846
  function vi(t, e) {
1847
- const [n, r] = I(null), [s, a] = I(null), [o, l] = I(0);
1847
+ const [n, r] = z(null), [s, a] = z(null), [o, l] = z(0);
1848
1848
  return U(() => {
1849
1849
  let c = !0;
1850
1850
  return t().then((u) => c && r(u)).catch((u) => c && a(Tt(u))), () => {
@@ -1852,11 +1852,11 @@ function vi(t, e) {
1852
1852
  };
1853
1853
  }, [...e, o]), { data: n, error: s, reload: () => l((c) => c + 1) };
1854
1854
  }
1855
- const Yo = (t) => new Promise((e) => setTimeout(e, t)), Uo = 2500, Ro = 72;
1856
- function Po(t, e) {
1855
+ const _o = (t) => new Promise((e) => setTimeout(e, t)), Yo = 2500, Uo = 72;
1856
+ function Ro(t, e) {
1857
1857
  const n = Et(), r = v(n);
1858
1858
  r.current = n;
1859
- const [s, a] = I($t), o = v($t()), l = v(null), c = v(e.lang ?? null), [u, d] = I(!1), [g, M] = I(null), [N, p] = I(!1), y = Ke(() => {
1859
+ const [s, a] = z($t), o = v($t()), l = v(null), c = v(e.lang ?? null), [u, d] = z(!1), [M, g] = z(null), [N, p] = z(!1), y = Ke(() => {
1860
1860
  const Q = o.current;
1861
1861
  a({ ...Q });
1862
1862
  }, []), L = v(e);
@@ -1881,13 +1881,13 @@ function Po(t, e) {
1881
1881
  G.close();
1882
1882
  return;
1883
1883
  }
1884
- T = 0, l.current = G, c.current !== pe && G.setLanguage(c.current), d(!0), M(null), o.current = sr(G.snapshot, o.current), y(), re();
1884
+ T = 0, l.current = G, c.current !== pe && G.setLanguage(c.current), d(!0), g(null), o.current = sr(G.snapshot, o.current), y(), re();
1885
1885
  for await (const le of G) {
1886
1886
  if (!Q) break;
1887
1887
  if (le.type === "snapshot")
1888
1888
  o.current = sr(le.snapshot, le.reason === "gap" ? o.current : $t()), y(), re();
1889
1889
  else if (le.type === "frame") {
1890
- po(o.current, le.frame);
1890
+ fo(o.current, le.frame);
1891
1891
  const Te = le.frame;
1892
1892
  Te.type === "recording.state" && (S = o.current.state, (k = (K = L.current).onState) == null || k.call(K, Te.state, Te.reason)), (te = (ae = L.current).onFrame) == null || te.call(ae, Te), y();
1893
1893
  } else le.type === "closed" && d(!1);
@@ -1896,7 +1896,7 @@ function Po(t, e) {
1896
1896
  if (!Q) return;
1897
1897
  const le = Tt(pe);
1898
1898
  if (le.code === "not_found" || le.status === 404) {
1899
- p(!0), M(le);
1899
+ p(!0), g(le);
1900
1900
  return;
1901
1901
  }
1902
1902
  try {
@@ -1904,32 +1904,32 @@ function Po(t, e) {
1904
1904
  } catch (Te) {
1905
1905
  const je = Tt(Te);
1906
1906
  if (je.code === "not_found" || je.status === 404) {
1907
- p(!0), M(je);
1907
+ p(!0), g(je);
1908
1908
  return;
1909
1909
  }
1910
1910
  if (je.code === "forbidden" || je.code === "invalid_token" || je.code === "password_required" || je.status === 401 || je.status === 403) {
1911
- M(je);
1911
+ g(je);
1912
1912
  return;
1913
1913
  }
1914
1914
  }
1915
1915
  if (le.code === "forbidden" || le.code === "invalid_token" || le.code === "password_required" || le.status === 401 || le.status === 403) {
1916
- M(le);
1916
+ g(le);
1917
1917
  return;
1918
1918
  }
1919
- M(le);
1919
+ g(le);
1920
1920
  } finally {
1921
1921
  l.current === G && (l.current = null), d(!1);
1922
1922
  }
1923
1923
  const J = o.current.state;
1924
1924
  if (!Q || J === "ended" || J === "finalized" || J === "processing") return;
1925
- T += 1, await Yo(Math.min(15e3, 1e3 * 2 ** Math.min(T, 4)));
1925
+ T += 1, await _o(Math.min(15e3, 1e3 * 2 ** Math.min(T, 4)));
1926
1926
  }
1927
1927
  })(), () => {
1928
1928
  var K;
1929
1929
  Q = !1, (K = l.current) == null || K.close(), l.current = null, d(!1);
1930
1930
  };
1931
1931
  }, [t, n, e.voice]);
1932
- const [m, f] = I(!1), [z, C] = I(null), D = v(0), [V, _] = I(null), ee = Ke((Q) => {
1932
+ const [m, f] = z(!1), [I, C] = z(null), D = v(0), [V, _] = z(null), ee = Ke((Q) => {
1933
1933
  var re;
1934
1934
  if (c.current = Q, (re = l.current) == null || re.setLanguage(Q), !t) return;
1935
1935
  const T = r.current.client, O = ++D.current;
@@ -1938,9 +1938,9 @@ function Po(t, e) {
1938
1938
  O === D.current && (o.current = sr(k, o.current), _(Q), y(), k.translationPending && K > 0 && window.setTimeout(() => {
1939
1939
  O === D.current && S(K - 1).catch(() => {
1940
1940
  });
1941
- }, Uo));
1941
+ }, Yo));
1942
1942
  });
1943
- S(Ro).catch(() => {
1943
+ S(Uo).catch(() => {
1944
1944
  O === D.current && Q && C(Q);
1945
1945
  }).finally(() => {
1946
1946
  O === D.current && f(!1);
@@ -1953,8 +1953,8 @@ function Po(t, e) {
1953
1953
  k && (k.translations = { ...k.translations, [Q]: K }, S = !0);
1954
1954
  }
1955
1955
  S && y();
1956
- }, [y]), E = Ke(() => M(null), []);
1957
- return { model: s, connected: u, error: g, notFound: N, clearError: E, setLanguage: ee, mergeTranslations: j, translating: m, translateFailed: z, shownLang: V };
1956
+ }, [y]), E = Ke(() => g(null), []);
1957
+ return { model: s, connected: u, error: M, notFound: N, clearError: E, setLanguage: ee, mergeTranslations: j, translating: m, translateFailed: I, shownLang: V };
1958
1958
  }
1959
1959
  const Vs = {
1960
1960
  English: { vcFor: "Voice for", vcMute: "Mute", vcUnmute: "Unmute", vcMuted: "MUTED", vcShared: "Also used by", vcUsedBy: "Used by", vcUnknownSpk: "Unknown", vcUse: "Use this voice", vcGetting: "Downloading…", vcSample: "Here’s how it sounds.", vcPreview: "PREVIEW", vcMale: "Male", vcFemale: "Female", vcSynth: "SYNTHETIC", origAudio: "ORIGINAL AUDIO", vcCloned: "VOICES", vcBadge: "CLONED", vcNone: "TEXT ONLY", vcNoVoice: "No voice for ", vcSheet: "VOICE", vcNeutral: "SYNTHETIC VOICE", vcWarm: "SYNTHETIC VOICE", searchPlaceholder: "Search this broadcast", noise: "Audio unclear", newLines: "new", live: "LIVE", ended: "ENDED", waiting: "WAITING", corrected: "CORRECTED", hostLine: "Hosted by Marcus Reed · 4 speakers", langLabel: "LANGUAGE", langCount: "100+ languages", read: "Read", listen: "Listen", watch: "Watch", waitTitle: "The broadcast hasn’t started yet", waitBody: "The transcript appears here as soon as the host starts speaking.", english: "ENGLISH", playing: "Playing the live audio", ready: "Tap to start audio", readyNote: "Set your volume first", voiceMeta: "ORIGINAL AUDIO", voice: "Voice", sheetTitle: "APP LANGUAGE", done: "Done", search: "Search 100+ languages", sheetNote: "Follow along in your language.", moreLangs: "more", confTitle: "Some words weren't heard clearly", confBody: "The transcript marks words the model is unsure about with a dashed underline. The words keep their colour, so only the underline tells you where to look.", confMid: "Slightly unsure — probably right", confHigh: "Low confidence — may be wrong", settings: "BROADCAST", setOrig: "Show original language", setTheme: "Appearance", light: "Light", dark: "Dark", setConf: "Show uncertain words", setConfHint1: "Colours words the model is unsure about — ", setConfMid: "amber", setConfSep: " or ", setConfLow: "red", setConfHint2: "", behindLive: "TRANSLATION LATENCY", behindNote: "How far the translation trails the speaker right now.", shareLabel: "LIVE TRANSLATION LINK", copy: "Copy", copied: "Copied" },
@@ -1964,13 +1964,13 @@ const Vs = {
1964
1964
  Romanian: { vcFor: "Vocea pentru", vcMute: "Oprește", vcUnmute: "Pornește", vcMuted: "OPRIT", vcShared: "Folosită și de", vcUsedBy: "Folosită de", vcUnknownSpk: "Necunoscut", vcUse: "Folosește această voce", vcGetting: "Se descarcă…", vcSample: "Așa sună această voce.", vcPreview: "MOSTRĂ", vcMale: "Bărbat", vcFemale: "Femeie", vcSynth: "SINTETICĂ", origAudio: "AUDIO ORIGINAL", vcCloned: "VOCI", vcBadge: "CLONATĂ", vcNone: "DOAR TEXT", vcNoVoice: "Nicio voce pentru ", vcSheet: "VOCE", vcNeutral: "VOCE SINTETICĂ", vcWarm: "VOCE SINTETICĂ", searchPlaceholder: "Caută în transmisiune", noise: "Sunet neclar", newLines: "noi", live: "ÎN DIRECT", ended: "ÎNCHEIAT", waiting: "ÎN AȘTEPTARE", corrected: "CORECTAT", hostLine: "Prezentat de Marcus Reed · 4 vorbitori", langLabel: "LIMBĂ", langCount: "100+ de limbi", read: "Citește", listen: "Ascultă", watch: "Vizionează", waitTitle: "Transmisiunea nu a început încă", waitBody: "Transcrierea va apărea aici imediat ce gazda începe să vorbească.", english: "ENGLEZĂ", playing: "Se redă traducerea în română", ready: "Atinge pentru a porni audio", readyNote: "Reglează întâi volumul", voiceMeta: "VOCE NEUTRĂ", voice: "Voce", sheetTitle: "LIMBA APLICAȚIEI", done: "Gata", search: "Caută printre 100+ de limbi", sheetNote: "Urmărește transmisiunea în limba ta.", moreLangs: "în plus", confTitle: "Unele cuvinte nu s-au auzit clar", confBody: "Transcrierea marchează cuvintele incerte cu o subliniere întreruptă. Cuvintele își păstrează culoarea, doar sublinierea îți arată unde să te uiți.", confMid: "Ușoară nesiguranță — probabil corect", confHigh: "Încredere scăzută — poate fi greșit", settings: "TRANSMISIUNE", setOrig: "Arată limba originală", setTheme: "Aspect", light: "Luminos", dark: "Întunecat", setConf: "Arată cuvintele incerte", setConfHint1: "Colorează cuvintele incerte — ", setConfMid: "galben", setConfSep: " sau ", setConfLow: "roșu", setConfHint2: "", behindLive: "LATENȚA TRADUCERII", behindNote: "Cu cât urmează traducerea vorbitorul în acest moment.", shareLabel: "LINK DE URMĂRIRE", copy: "Copiază", copied: "Copiat" },
1965
1965
  Portuguese: { vcFor: "Voz de", vcMute: "Silenciar", vcUnmute: "Ativar", vcMuted: "SILENCIADO", vcShared: "Também usada por", vcUsedBy: "Usada por", vcUnknownSpk: "Desconhecido", vcUse: "Usar esta voz", vcGetting: "Baixando…", vcSample: "É assim que soa.", vcPreview: "AMOSTRA", vcMale: "Homem", vcFemale: "Mulher", vcSynth: "SINTÉTICA", origAudio: "ÁUDIO ORIGINAL", vcCloned: "VOZES", vcBadge: "CLONADA", vcNone: "SÓ TEXTO", vcNoVoice: "Sem voz para ", vcSheet: "VOZ", vcNeutral: "VOZ SINTÉTICA", vcWarm: "VOZ SINTÉTICA", searchPlaceholder: "Pesquisar nesta transmissão", noise: "Áudio pouco claro", newLines: "novas", live: "AO VIVO", ended: "ENCERRADA", waiting: "AGUARDANDO", corrected: "CORRIGIDO", hostLine: "Apresentado por Marcus Reed · 4 falantes", langLabel: "IDIOMA", langCount: "100+ idiomas", read: "Ler", listen: "Ouvir", watch: "Assistir", waitTitle: "A transmissão ainda não começou", waitBody: "A transcrição aparece aqui assim que o apresentador começar a falar.", english: "INGLÊS", playing: "Reproduzindo a tradução em português", ready: "Toque para iniciar o áudio", readyNote: "Ajuste o volume primeiro", voiceMeta: "VOZ NEUTRA", voice: "Voz", sheetTitle: "IDIOMA DO APP", done: "Concluído", search: "Pesquisar entre 100+ idiomas", sheetNote: "Acompanhe a transmissão no seu idioma.", moreLangs: "mais", confTitle: "Algumas palavras não foram bem ouvidas", confBody: "A transcrição marca as palavras duvidosas com um sublinhado tracejado. As palavras mantêm a sua cor, por isso só o sublinhado indica onde olhar.", confMid: "Pouca dúvida — provavelmente certa", confHigh: "Baixa confiança — pode estar errada", settings: "TRANSMISSÃO", setOrig: "Mostrar idioma original", setTheme: "Aparência", light: "Claro", dark: "Escuro", setConf: "Mostrar palavras duvidosas", setConfHint1: "Colore as palavras duvidosas: ", setConfMid: "âmbar", setConfSep: " ou ", setConfLow: "vermelho", setConfHint2: "", behindLive: "LATÊNCIA DE TRADUÇÃO", behindNote: "Quanto a tradução está atrás de quem fala agora.", shareLabel: "LINK PARA ACOMPANHAR", copy: "Copiar", copied: "Copiado" }
1966
1966
  };
1967
- function ji(t) {
1967
+ function ki(t) {
1968
1968
  return t && Vs[t] || Vs.English;
1969
1969
  }
1970
- async function zi(t) {
1970
+ async function ji(t) {
1971
1971
  var s, a, o, l, c;
1972
1972
  const e = await t.json().catch(() => null), n = ((s = e == null ? void 0 : e.error) == null ? void 0 : s.code) ?? (e == null ? void 0 : e.code), r = ((a = e == null ? void 0 : e.error) == null ? void 0 : a.message) ?? (e == null ? void 0 : e.message);
1973
- return new si(typeof n == "string" ? n : "internal", typeof r == "string" ? r : yr, { status: t.status, details: ((l = (o = e == null ? void 0 : e.error) == null ? void 0 : o.data) == null ? void 0 : l.details) ?? ((c = e == null ? void 0 : e.data) == null ? void 0 : c.details) });
1973
+ return new ri(typeof n == "string" ? n : "internal", typeof r == "string" ? r : yr, { status: t.status, details: ((l = (o = e == null ? void 0 : e.error) == null ? void 0 : o.data) == null ? void 0 : l.details) ?? ((c = e == null ? void 0 : e.data) == null ? void 0 : c.details) });
1974
1974
  }
1975
1975
  function or(t) {
1976
1976
  switch (t) {
@@ -1988,14 +1988,14 @@ function or(t) {
1988
1988
  return "queued";
1989
1989
  }
1990
1990
  }
1991
- function Qo(t) {
1991
+ function Po(t) {
1992
1992
  return t ? t.progress ? { state: t.state, processedS: t.progress.processedS, totalS: t.progress.totalS ?? null, segmentsDone: t.progress.segmentsDone, segmentsTotal: t.progress.segmentsTotal ?? null, pct: t.progress.pct, error: t.error ?? null } : t.state ? { state: t.state, processedS: 0, totalS: null, segmentsDone: 0, segmentsTotal: null, pct: 0, error: t.error ?? null } : null : null;
1993
1993
  }
1994
- const $o = (t, e) => {
1994
+ const Qo = (t, e) => {
1995
1995
  const n = (t == null ? void 0 : t.segmentsDone) ?? e, r = Math.max(n, (t == null ? void 0 : t.segmentsTotal) ?? n);
1996
1996
  return `${n} / ${r} SEGMENTS`;
1997
1997
  };
1998
- function Bo(t, e) {
1998
+ function $o(t, e) {
1999
1999
  var s;
2000
2000
  const n = ((s = t == null ? void 0 : t.source) == null ? void 0 : s.durationS) ?? (e == null ? void 0 : e.totalS) ?? null, r = t == null ? void 0 : t.crop;
2001
2001
  if (r && (r.startS != null || r.endS != null)) {
@@ -2014,20 +2014,20 @@ function Sr(t) {
2014
2014
  const e = document.createElement("a");
2015
2015
  e.href = t, e.style.display = "none", document.body.appendChild(e), e.click(), e.remove();
2016
2016
  }
2017
- async function Vo(t) {
2017
+ async function Bo(t) {
2018
2018
  const e = await fetch(t, { redirect: "manual" });
2019
- if (e.type !== "opaqueredirect" && !e.ok) throw await zi(e);
2019
+ if (e.type !== "opaqueredirect" && !e.ok) throw await ji(e);
2020
2020
  Sr(t);
2021
2021
  }
2022
- async function Ho(t, e, n, r = {}) {
2023
- var M, N;
2022
+ async function Vo(t, e, n, r = {}) {
2023
+ var g, N;
2024
2024
  const s = await t.client.recordings.export(e, n, { lang: r.lang ?? void 0, ...t.readAs });
2025
- if (!s.ok) throw await zi(s);
2026
- const a = await s.blob(), o = s.headers.get("content-disposition") ?? "", l = (M = /filename\*=UTF-8''([^;]+)/i.exec(o)) == null ? void 0 : M[1], c = (N = /filename="([^"]+)"/i.exec(o)) == null ? void 0 : N[1], u = l ? decodeURIComponent(l) : c ?? `transcript.${n}`, d = URL.createObjectURL(a), g = document.createElement("a");
2027
- g.href = d, g.download = u, g.style.display = "none", document.body.appendChild(g), g.click(), g.remove(), window.setTimeout(() => URL.revokeObjectURL(d), 6e4);
2025
+ if (!s.ok) throw await ji(s);
2026
+ const a = await s.blob(), o = s.headers.get("content-disposition") ?? "", l = (g = /filename\*=UTF-8''([^;]+)/i.exec(o)) == null ? void 0 : g[1], c = (N = /filename="([^"]+)"/i.exec(o)) == null ? void 0 : N[1], u = l ? decodeURIComponent(l) : c ?? `transcript.${n}`, d = URL.createObjectURL(a), M = document.createElement("a");
2027
+ M.href = d, M.download = u, M.style.display = "none", document.body.appendChild(M), M.click(), M.remove(), window.setTimeout(() => URL.revokeObjectURL(d), 6e4);
2028
2028
  }
2029
- async function Wo(t, e) {
2030
- const { recordingId: n, lang: r, voiceKey: s, cred: a } = e, o = async () => (await t.client.recordings.voice(n, r, t.readAs)).filter((g) => g.lang === r), l = (d) => hi(d, s);
2029
+ async function Ho(t, e) {
2030
+ const { recordingId: n, lang: r, voiceKey: s, cred: a } = e, o = async () => (await t.client.recordings.voice(n, r, t.readAs)).filter((M) => M.lang === r), l = (d) => di(d, s);
2031
2031
  let c = l(await o());
2032
2032
  (!c || c.state === "clips" || c.state === "failed") && await e.request();
2033
2033
  const u = Date.now() + (e.timeoutMs ?? 10 * 6e4);
@@ -2036,25 +2036,25 @@ async function Wo(t, e) {
2036
2036
  if (Date.now() > u) throw new Error("The spoken track is taking too long; try again in a moment.");
2037
2037
  await new Promise((d) => setTimeout(d, 4e3)), c = l(await o());
2038
2038
  }
2039
- Sr(Da(t.origin, n, r, c.voiceKey, a));
2039
+ Sr(xa(t.origin, n, r, c.voiceKey, a));
2040
2040
  }
2041
- const Ii = (t) => {
2041
+ const zi = (t) => {
2042
2042
  var e;
2043
2043
  return ((e = t == null ? void 0 : t.match(/(?:youtu\.be\/|[?&]v=|\/shorts\/|\/embed\/|\/live\/)([\w-]{11})/)) == null ? void 0 : e[1]) ?? null;
2044
- }, Fo = (t) => `https://www.youtube-nocookie.com/embed/${t}?autoplay=1&mute=1&controls=0&rel=0&modestbranding=1&playsinline=1&iv_load_policy=3`, Hs = 0.3, Go = 1.5;
2045
- function Oi(t, e, n) {
2044
+ }, Wo = (t) => `https://www.youtube-nocookie.com/embed/${t}?autoplay=1&mute=1&controls=0&rel=0&modestbranding=1&playsinline=1&iv_load_policy=3`, Hs = 0.3, Fo = 1.5;
2045
+ function Ii(t, e, n) {
2046
2046
  var s;
2047
2047
  const r = (s = t.words[t.words.length - 1]) == null ? void 0 : s.end;
2048
2048
  return r != null && r > t.start ? r : t.end != null && t.end > t.start ? t.end : (e == null ? void 0 : e.start) ?? n;
2049
2049
  }
2050
- function Zo(t, e, n) {
2050
+ function Go(t, e, n) {
2051
2051
  var c, u;
2052
2052
  const r = t[e];
2053
2053
  if (!r) return !1;
2054
- const s = (((c = r.words[0]) == null ? void 0 : c.start) ?? r.start) - Hs, a = t[e + 1], o = Oi(r, a, r.start + 4) + Go, l = a ? Math.min(o, (((u = a.words[0]) == null ? void 0 : u.start) ?? a.start) - Hs) : o;
2054
+ const s = (((c = r.words[0]) == null ? void 0 : c.start) ?? r.start) - Hs, a = t[e + 1], o = Ii(r, a, r.start + 4) + Fo, l = a ? Math.min(o, (((u = a.words[0]) == null ? void 0 : u.start) ?? a.start) - Hs) : o;
2055
2055
  return n >= s && n < Math.max(l, s + 0.5);
2056
2056
  }
2057
- function qo(t, e, n) {
2057
+ function Zo(t, e, n) {
2058
2058
  const r = Math.max(0, n - e), s = t.map((l) => Math.max(1, [...l.replace(/[^\p{L}\p{N}]/gu, "")].length)), a = s.reduce((l, c) => l + c, 0) || 1;
2059
2059
  let o = e;
2060
2060
  return t.map((l, c) => {
@@ -2069,7 +2069,7 @@ function lr(t) {
2069
2069
  bottom: Math.min(parseFloat(e.paddingBottom) || 0, n)
2070
2070
  };
2071
2071
  }
2072
- function Ko(t, e, n = 0) {
2072
+ function qo(t, e, n = 0) {
2073
2073
  const r = v(() => {
2074
2074
  });
2075
2075
  U(() => {
@@ -2089,7 +2089,7 @@ function Ko(t, e, n = 0) {
2089
2089
  const _ = o(), ee = _ ? _.offsetHeight : 0, j = s.clientHeight - ee - 36, E = s.scrollHeight - s.clientHeight, Q = j > 0 ? Math.max(30, Math.round(j * (s.clientHeight - ee) / s.scrollHeight)) : 0;
2090
2090
  return { vis: j, max: E, size: Q };
2091
2091
  };
2092
- let c = -1, u = null, d = !1, g = 0, M = 0;
2092
+ let c = -1, u = null, d = !1, M = 0, g = 0;
2093
2093
  const N = () => {
2094
2094
  const _ = o();
2095
2095
  if (!_) return;
@@ -2116,26 +2116,26 @@ function Ko(t, e, n = 0) {
2116
2116
  a.style.pointerEvents = "auto", a.style.height = j.size + "px", a.style.transform = "translateY(" + Math.round(s.scrollTop / j.max * (j.vis - j.size)) + "px)", _ && p();
2117
2117
  }, f = parseFloat(getComputedStyle(s).paddingRight) || 0;
2118
2118
  a.style.right = (f >= 12 ? -(f - 6) : 2) + "px";
2119
- const z = () => m(!0), C = (_) => {
2119
+ const I = () => m(!0), C = (_) => {
2120
2120
  const ee = l();
2121
- ee.vis - ee.size <= 0 || (_.preventDefault(), _.stopPropagation(), a.setPointerCapture(_.pointerId), d = !0, g = _.clientY, M = s.scrollTop, a.style.cursor = "grabbing", p());
2121
+ ee.vis - ee.size <= 0 || (_.preventDefault(), _.stopPropagation(), a.setPointerCapture(_.pointerId), d = !0, M = _.clientY, g = s.scrollTop, a.style.cursor = "grabbing", p());
2122
2122
  }, D = (_) => {
2123
2123
  if (!d) return;
2124
2124
  const ee = l();
2125
- s.scrollTop = M + (_.clientY - g) / (ee.vis - ee.size) * ee.max, p();
2125
+ s.scrollTop = g + (_.clientY - M) / (ee.vis - ee.size) * ee.max, p();
2126
2126
  }, V = () => {
2127
2127
  d && (d = !1, a.style.cursor = "grab", p());
2128
2128
  };
2129
- return s.addEventListener("scroll", z, { passive: !0 }), a.addEventListener("pointerdown", C), a.addEventListener("pointermove", D), a.addEventListener("pointerup", V), a.addEventListener("pointercancel", V), typeof ResizeObserver < "u" && (y = new ResizeObserver(() => m()), y.observe(s)), r.current = () => m(), m(), () => {
2129
+ return s.addEventListener("scroll", I, { passive: !0 }), a.addEventListener("pointerdown", C), a.addEventListener("pointermove", D), a.addEventListener("pointerup", V), a.addEventListener("pointercancel", V), typeof ResizeObserver < "u" && (y = new ResizeObserver(() => m()), y.observe(s)), r.current = () => m(), m(), () => {
2130
2130
  r.current = () => {
2131
- }, s.removeEventListener("scroll", z), a.removeEventListener("pointerdown", C), a.removeEventListener("pointermove", D), a.removeEventListener("pointerup", V), a.removeEventListener("pointercancel", V), y == null || y.disconnect(), clearTimeout(u);
2131
+ }, s.removeEventListener("scroll", I), a.removeEventListener("pointerdown", C), a.removeEventListener("pointermove", D), a.removeEventListener("pointerup", V), a.removeEventListener("pointercancel", V), y == null || y.disconnect(), clearTimeout(u);
2132
2132
  };
2133
2133
  }, []);
2134
2134
  }
2135
- function Jo({ thumbRef: t }) {
2135
+ function Ko({ thumbRef: t }) {
2136
2136
  return /* @__PURE__ */ i("div", { className: "feedbar", "aria-hidden": "true", children: /* @__PURE__ */ i("div", { ref: t, className: "feedbar__thumb" }) });
2137
2137
  }
2138
- function Xo({ error: t, onClose: e }) {
2138
+ function Jo({ error: t, onClose: e }) {
2139
2139
  const n = v(e);
2140
2140
  if (n.current = e, U(() => {
2141
2141
  if (!t) return;
@@ -2155,10 +2155,10 @@ function Xo({ error: t, onClose: e }) {
2155
2155
  /* @__PURE__ */ i("button", { type: "button", onClick: e, "aria-label": "Dismiss", children: /* @__PURE__ */ i(oe, { d: X.close, size: 14 }) })
2156
2156
  ] });
2157
2157
  }
2158
- function Ci({ color: t }) {
2158
+ function Oi({ color: t }) {
2159
2159
  return /* @__PURE__ */ i("span", { title: "Cloned voice", style: { flex: "none", display: "inline-flex" }, children: /* @__PURE__ */ i(oe, { d: X.voiceClone, size: 13, sw: 1.7, stroke: t }) });
2160
2160
  }
2161
- function Gc({ chip: t, note: e, scrub: n, mute: r, voice: s, prev: a, play: o, next: l }) {
2161
+ function Zc({ chip: t, note: e, scrub: n, mute: r, voice: s, prev: a, play: o, next: l }) {
2162
2162
  return /* @__PURE__ */ h("div", { className: "vs-tt", children: [
2163
2163
  /* @__PURE__ */ h("div", { className: "vs-tt__r1", children: [
2164
2164
  /* @__PURE__ */ i("div", { className: "vs-tt__chip", children: t }),
@@ -2175,10 +2175,10 @@ function Gc({ chip: t, note: e, scrub: n, mute: r, voice: s, prev: a, play: o, n
2175
2175
  ] })
2176
2176
  ] });
2177
2177
  }
2178
- function el({ index: t, total: e, atLabel: n, durLabel: r, stepLabel: s, onSeek: a, onSeekFrac: o, onScrubStart: l, onScrubEnd: c, frac: u, glideMs: d = 260 }) {
2179
- const g = v(null), M = v(!1), [N, p] = I(null), y = Math.max(1, e), L = N ?? u, m = L != null ? Math.min(100, Math.max(0, L * 100)) : t / Math.max(1, y - 1) * 100, f = u != null && d > 0 && N == null ? `width ${d}ms linear, left ${d}ms linear` : "none", z = (D) => {
2178
+ function Xo({ index: t, total: e, atLabel: n, durLabel: r, stepLabel: s, onSeek: a, onSeekFrac: o, onScrubStart: l, onScrubEnd: c, frac: u, glideMs: d = 260 }) {
2179
+ const M = v(null), g = v(!1), [N, p] = z(null), y = Math.max(1, e), L = N ?? u, m = L != null ? Math.min(100, Math.max(0, L * 100)) : t / Math.max(1, y - 1) * 100, f = u != null && d > 0 && N == null ? `width ${d}ms linear, left ${d}ms linear` : "none", I = (D) => {
2180
2180
  var j;
2181
- const V = (j = g.current) == null ? void 0 : j.getBoundingClientRect();
2181
+ const V = (j = M.current) == null ? void 0 : j.getBoundingClientRect();
2182
2182
  if (!V) return;
2183
2183
  const _ = Math.min(1, Math.max(0, (D.clientX - V.left) / Math.max(1, V.width)));
2184
2184
  if (o) {
@@ -2188,20 +2188,20 @@ function el({ index: t, total: e, atLabel: n, durLabel: r, stepLabel: s, onSeek:
2188
2188
  const ee = Math.round(_ * (y - 1));
2189
2189
  ee !== t && a(ee);
2190
2190
  }, C = () => {
2191
- M.current && (M.current = !1, p(null), c == null || c());
2191
+ g.current && (g.current = !1, p(null), c == null || c());
2192
2192
  };
2193
2193
  return /* @__PURE__ */ h("div", { className: "rscrub", children: [
2194
2194
  /* @__PURE__ */ h(
2195
2195
  "div",
2196
2196
  {
2197
- ref: g,
2197
+ ref: M,
2198
2198
  className: "rscrub__track",
2199
2199
  onPointerDown: (D) => {
2200
2200
  var V;
2201
- M.current = !0, (V = g.current) == null || V.setPointerCapture(D.pointerId), l == null || l(), z(D), D.preventDefault();
2201
+ g.current = !0, (V = M.current) == null || V.setPointerCapture(D.pointerId), l == null || l(), I(D), D.preventDefault();
2202
2202
  },
2203
2203
  onPointerMove: (D) => {
2204
- M.current && z(D);
2204
+ g.current && I(D);
2205
2205
  },
2206
2206
  onPointerUp: C,
2207
2207
  onPointerCancel: C,
@@ -2219,7 +2219,7 @@ function el({ index: t, total: e, atLabel: n, durLabel: r, stepLabel: s, onSeek:
2219
2219
  ] })
2220
2220
  ] });
2221
2221
  }
2222
- function tl(t, e, n) {
2222
+ function el(t, e, n) {
2223
2223
  const r = new Set(t.seqs ?? t.words.map((l) => l.seq)), s = (e ?? []).filter((l) => !l.revertedAt && l.seq != null && r.has(l.seq) && (l.kind === "word" || l.kind === "line")), a = s.some((l) => l.kind === "line"), o = (l) => !!(n != null && n.has(`${l.seq}:${l.idx}`));
2224
2224
  return {
2225
2225
  script: a ? 0 : t.words.filter((l) => l.script && !o(l)).length,
@@ -2227,7 +2227,7 @@ function tl(t, e, n) {
2227
2227
  manualCount: a ? 0 : s.filter((l) => l.kind === "word").length
2228
2228
  };
2229
2229
  }
2230
- function nl({ f: t, desk: e, onOpen: n }) {
2230
+ function tl({ f: t, desk: e, onOpen: n }) {
2231
2231
  const r = (s, a, o) => /* @__PURE__ */ h("span", { role: "button", title: "Open this line in Fix", className: "badge badge--fix", style: { marginLeft: o ? "auto" : 0 }, onClick: (l) => {
2232
2232
  l.stopPropagation(), n == null || n();
2233
2233
  }, children: [
@@ -2240,8 +2240,8 @@ function nl({ f: t, desk: e, onOpen: n }) {
2240
2240
  t.manual && r(e ? "MANUAL FIX" : "MANUAL", t.manualCount, t.script === 0)
2241
2241
  ] });
2242
2242
  }
2243
- function rl({ onOpen: t, alone: e }) {
2244
- const [n, r] = I(!1);
2243
+ function nl({ onOpen: t, alone: e }) {
2244
+ const [n, r] = z(!1);
2245
2245
  return /* @__PURE__ */ h("span", { role: "button", title: "Fix this line", className: `badge badge--pen${n ? " is-over" : ""}`, style: { marginLeft: e ? "auto" : 0 }, onMouseEnter: () => r(!0), onMouseLeave: () => r(!1), onClick: (s) => {
2246
2246
  s.stopPropagation(), t();
2247
2247
  }, children: [
@@ -2249,16 +2249,16 @@ function rl({ onOpen: t, alone: e }) {
2249
2249
  n && "FIX"
2250
2250
  ] });
2251
2251
  }
2252
- function sl(t, e, n, r) {
2253
- const s = Et(), [a, o] = I([]), [l, c] = I(0), u = v(/* @__PURE__ */ new Set()), d = v(!1), g = Ie(() => new Map(n.filter((N) => N.sentenceId != null).map((N) => [N.sentenceId, N])), [n]);
2252
+ function rl(t, e, n, r) {
2253
+ const s = Et(), [a, o] = z([]), [l, c] = z(0), u = v(/* @__PURE__ */ new Set()), d = v(!1), M = Ie(() => new Map(n.filter((N) => N.sentenceId != null).map((N) => [N.sentenceId, N])), [n]);
2254
2254
  U(() => {
2255
2255
  u.current = /* @__PURE__ */ new Set();
2256
2256
  }, [t, e]);
2257
- const M = Ke((N) => o(N), []);
2257
+ const g = Ke((N) => o(N), []);
2258
2258
  return U(() => {
2259
2259
  if (!t || !e || !a.length || d.current) return;
2260
2260
  const N = a.filter((p) => {
2261
- const y = g.get(p);
2261
+ const y = M.get(p);
2262
2262
  return !y || !y.text.trim() || !y.settled || y.translations[e] || y.language && y.language.slice(0, 2).toLowerCase() === e.slice(0, 2).toLowerCase() ? !1 : !u.current.has(`${e}:${p}`);
2263
2263
  }).slice(0, 40);
2264
2264
  if (N.length) {
@@ -2274,15 +2274,15 @@ function sl(t, e, n, r) {
2274
2274
  d.current = !1, c((p) => p + 1);
2275
2275
  });
2276
2276
  }
2277
- }, [t, e, a, l, g, r]), M;
2277
+ }, [t, e, a, l, M, r]), g;
2278
2278
  }
2279
- function il(t) {
2279
+ function sl(t) {
2280
2280
  return t.live || t.auto ? "From this session" : t.cloned ? t.library === !1 ? "This transcription only" : "Saved in Voices" : "";
2281
2281
  }
2282
2282
  function Jt(t, e) {
2283
2283
  return t.cloned ? { rank: 0, head: e.vcSheet } : t.gender === "male" ? { rank: 1, head: e.vcMale.toUpperCase() } : t.gender === "female" ? { rank: 2, head: e.vcFemale.toUpperCase() } : { rank: 3, head: e.vcSynth };
2284
2284
  }
2285
- function al(t, e) {
2285
+ function il(t, e) {
2286
2286
  const n = t.slice().sort((s, a) => Jt(s, e).rank - Jt(a, e).rank || s.name.localeCompare(a.name, void 0, { numeric: !0 })), r = {};
2287
2287
  for (const s of n) {
2288
2288
  const a = Jt(s, e).head;
@@ -2293,7 +2293,7 @@ function al(t, e) {
2293
2293
  return { v: s, headOn: l, head: o, headCount: r[o], rule: l ? "0" : "1px solid var(--hair)" };
2294
2294
  });
2295
2295
  }
2296
- function ol(t, e, n) {
2296
+ function al(t, e, n) {
2297
2297
  const r = /* @__PURE__ */ new Set();
2298
2298
  let s = !1;
2299
2299
  for (const o of t)
@@ -2304,7 +2304,7 @@ function ol(t, e, n) {
2304
2304
  return {
2305
2305
  key: o,
2306
2306
  name: br(e, o),
2307
- initial: yi(e, o),
2307
+ initial: mi(e, o),
2308
2308
  lane: l.lane,
2309
2309
  sex: e.speakerSex[o] ?? null,
2310
2310
  voiceId: ((c = e.speakerIds[o]) == null ? void 0 : c.voiceId) ?? null,
@@ -2333,28 +2333,28 @@ function Fs(t) {
2333
2333
  function Gs(t, e, n = !0) {
2334
2334
  const r = e.filter((o) => !o.cloned), s = /* @__PURE__ */ new Set(), a = /* @__PURE__ */ new Map();
2335
2335
  for (const o of t) {
2336
- const c = (o.voiceId ? e.find((M) => M.cloned && !M.auto && M.consent !== "pending" && M.id === `clone:${o.voiceId}`) : void 0) ?? (n ? (o.voiceId ? e.find((M) => M.cloned && M.consent !== "pending" && M.id === `clone:${o.voiceId}`) : void 0) ?? (o.key >= 0 ? e.find((M) => M.cloned && M.auto && M.consent !== "pending" && M.speaker === o.key) : void 0) : void 0);
2336
+ const c = (o.voiceId ? e.find((g) => g.cloned && !g.auto && g.consent !== "pending" && g.id === `clone:${o.voiceId}`) : void 0) ?? (n ? (o.voiceId ? e.find((g) => g.cloned && g.consent !== "pending" && g.id === `clone:${o.voiceId}`) : void 0) ?? (o.key >= 0 ? e.find((g) => g.cloned && g.auto && g.consent !== "pending" && g.speaker === o.key) : void 0) : void 0);
2337
2337
  if (c) {
2338
2338
  a.set(o.key, c.id), s.add(c.id);
2339
2339
  continue;
2340
2340
  }
2341
- const u = r.filter((M) => !s.has(M.id)), g = (o.sex ? u.filter((M) => M.gender === o.sex) : [])[0] ?? u[0] ?? r[0];
2342
- g && (a.set(o.key, g.id), s.add(g.id));
2341
+ const u = r.filter((g) => !s.has(g.id)), M = (o.sex ? u.filter((g) => g.gender === o.sex) : [])[0] ?? u[0] ?? r[0];
2342
+ M && (a.set(o.key, M.id), s.add(M.id));
2343
2343
  }
2344
2344
  return a;
2345
2345
  }
2346
- function ll({ roster: t, selected: e, onSelect: n, noClone: r, building: s, short: a, warn: o, sexOf: l, t: c }) {
2346
+ function ol({ roster: t, selected: e, onSelect: n, noClone: r, building: s, short: a, warn: o, sexOf: l, t: c }) {
2347
2347
  const u = t.find((d) => d.key === e) ?? t[0] ?? null;
2348
2348
  return u ? /* @__PURE__ */ i("div", { style: { display: "flex", flexWrap: "wrap", gap: 6, padding: "0 2px 9px", margin: "0 -2px" }, children: t.map((d) => {
2349
- const g = d.key === u.key, M = d.key >= 0 ? (o == null ? void 0 : o(d)) ?? null : null, N = d.key >= 0 && !M && !!(s != null && s(d)), p = d.key >= 0 && !M && !N && r(d), y = d.key >= 0 && !M && !N && !p && !d.hasVoice && !!(a != null && a(d));
2349
+ const M = d.key === u.key, g = d.key >= 0 ? (o == null ? void 0 : o(d)) ?? null : null, N = d.key >= 0 && !g && !!(s != null && s(d)), p = d.key >= 0 && !g && !N && r(d), y = d.key >= 0 && !g && !N && !p && !d.hasVoice && !!(a != null && a(d));
2350
2350
  return /* @__PURE__ */ h(
2351
2351
  "button",
2352
2352
  {
2353
2353
  type: "button",
2354
- "aria-selected": g,
2354
+ "aria-selected": M,
2355
2355
  onClick: () => n(d.key),
2356
2356
  title: d.name,
2357
- style: { flex: "none", boxSizing: "border-box", display: "flex", alignItems: "center", gap: 7, minHeight: 34, padding: "5px 11px", borderRadius: 9, font: "inherit", background: g ? "var(--brand-tint)" : "var(--fill-05)", border: `1px solid ${g ? "var(--brand-line)" : "transparent"}`, cursor: "pointer" },
2357
+ style: { flex: "none", boxSizing: "border-box", display: "flex", alignItems: "center", gap: 7, minHeight: 34, padding: "5px 11px", borderRadius: 9, font: "inherit", background: M ? "var(--brand-tint)" : "var(--fill-05)", border: `1px solid ${M ? "var(--brand-line)" : "transparent"}`, cursor: "pointer" },
2358
2358
  children: [
2359
2359
  /* @__PURE__ */ i(
2360
2360
  "span",
@@ -2364,10 +2364,10 @@ function ll({ roster: t, selected: e, onSelect: n, noClone: r, building: s, shor
2364
2364
  children: d.initial
2365
2365
  }
2366
2366
  ),
2367
- /* @__PURE__ */ i("span", { style: { fontSize: 12.5, fontWeight: 500, color: g ? "var(--ink-96)" : "var(--ink-62)", whiteSpace: "nowrap" }, children: d.name }),
2368
- d.hasVoice && !M && /* @__PURE__ */ i(Ci, { color: d.fg ?? (g ? "var(--ink-62)" : "var(--ink-45)") }),
2369
- M && /* @__PURE__ */ i("span", { title: M, "aria-label": M, style: { flex: "none", width: 15, height: 15, marginRight: -2, borderRadius: "50%", background: "#c27c00", color: "#fff", font: "900 10.5px/1 system-ui, sans-serif", display: "flex", alignItems: "center", justifyContent: "center" }, children: "!" }),
2370
- y && /* @__PURE__ */ i("span", { title: "Not enough audio to clone", "aria-label": "Not enough audio to clone", style: { flex: "none", display: "flex", marginRight: -2, color: g ? "var(--ink-45)" : "var(--ink-35)" }, children: /* @__PURE__ */ i(oe, { d: X.micOff, size: 13, sw: 1.7 }) }),
2367
+ /* @__PURE__ */ i("span", { style: { fontSize: 12.5, fontWeight: 500, color: M ? "var(--ink-96)" : "var(--ink-62)", whiteSpace: "nowrap" }, children: d.name }),
2368
+ d.hasVoice && !g && /* @__PURE__ */ i(Oi, { color: d.fg ?? (M ? "var(--ink-62)" : "var(--ink-45)") }),
2369
+ g && /* @__PURE__ */ i("span", { title: g, "aria-label": g, style: { flex: "none", width: 15, height: 15, marginRight: -2, borderRadius: "50%", background: "#c27c00", color: "#fff", font: "900 10.5px/1 system-ui, sans-serif", display: "flex", alignItems: "center", justifyContent: "center" }, children: "!" }),
2370
+ y && /* @__PURE__ */ i("span", { title: "Not enough audio to clone", "aria-label": "Not enough audio to clone", style: { flex: "none", display: "flex", marginRight: -2, color: M ? "var(--ink-45)" : "var(--ink-35)" }, children: /* @__PURE__ */ i(oe, { d: X.micOff, size: 13, sw: 1.7 }) }),
2371
2371
  (p || N) && /* @__PURE__ */ i("span", { title: N ? "Cloning this voice…" : "No voice clone yet", "aria-label": N ? "Cloning this voice" : "No voice clone yet", style: { flex: "none", width: 10, height: 10, marginRight: -2, display: "flex", alignItems: "center", justifyContent: "center" }, children: N ? /* @__PURE__ */ i(at, { size: 10, color: "var(--brand)", track: "var(--fill-10)", sw: 1.6 }) : /* @__PURE__ */ i("span", { style: { width: 7, height: 7, borderRadius: "50%", background: "var(--brand)" } }) })
2372
2372
  ]
2373
2373
  },
@@ -2375,21 +2375,21 @@ function ll({ roster: t, selected: e, onSelect: n, noClone: r, building: s, shor
2375
2375
  );
2376
2376
  }) }) : null;
2377
2377
  }
2378
- function cl({ cast: t, voices: e, currentId: n, armedId: r = null, sampleId: s = null, dlId: a = null, onPick: o, onAdd: l, onUse: c, usedBy: u, foldKey: d, foldFor: g = null, problem: M, noClone: N = null, t: p }) {
2379
- const y = Ie(() => al(e, p), [e, p]), [L, m] = I({});
2378
+ function ll({ cast: t, voices: e, currentId: n, armedId: r = null, sampleId: s = null, dlId: a = null, onPick: o, onAdd: l, onUse: c, usedBy: u, foldKey: d, foldFor: M = null, problem: g, noClone: N = null, t: p }) {
2379
+ const y = Ie(() => il(e, p), [e, p]), [L, m] = z({});
2380
2380
  U(() => {
2381
2381
  m({});
2382
- }, [d, g]);
2383
- const f = (D) => D === p.vcMale.toUpperCase() || D === p.vcFemale.toUpperCase(), z = (D) => {
2382
+ }, [d, M]);
2383
+ const f = (D) => D === p.vcMale.toUpperCase() || D === p.vcFemale.toUpperCase(), I = (D) => {
2384
2384
  if (D === p.vcSheet) return !0;
2385
2385
  const V = L[D];
2386
- return V != null ? !V : !g || !f(D) ? !0 : D === (g === "female" ? p.vcFemale : p.vcMale).toUpperCase();
2386
+ return V != null ? !V : !M || !f(D) ? !0 : D === (M === "female" ? p.vcFemale : p.vcMale).toUpperCase();
2387
2387
  }, C = !!r && r !== n;
2388
2388
  return /* @__PURE__ */ h("div", { style: { display: "flex", flexDirection: "column" }, children: [
2389
- M && /* @__PURE__ */ h("div", { style: { display: "flex", alignItems: "flex-start", gap: 9, padding: "10px 11px", marginBottom: 10, borderRadius: 11, background: "var(--conf-low-soft)" }, children: [
2389
+ g && /* @__PURE__ */ h("div", { style: { display: "flex", alignItems: "flex-start", gap: 9, padding: "10px 11px", marginBottom: 10, borderRadius: 11, background: "var(--conf-low-soft)" }, children: [
2390
2390
  /* @__PURE__ */ i(oe, { d: X.warnTri, size: 15, sw: 1.7, style: { flex: "none", marginTop: 1, color: "var(--conf-low)" } }),
2391
- /* @__PURE__ */ i("span", { style: { flex: 1, minWidth: 0, fontSize: 12.5, fontWeight: 300, lineHeight: 1.45, color: "var(--ink-80)", textWrap: "pretty" }, children: M }),
2392
- /* @__PURE__ */ i("span", { style: { flex: "none", marginTop: -1 }, children: /* @__PURE__ */ i(Ia, { value: M, label: "Copy this error" }) })
2391
+ /* @__PURE__ */ i("span", { style: { flex: 1, minWidth: 0, fontSize: 12.5, fontWeight: 300, lineHeight: 1.45, color: "var(--ink-80)", textWrap: "pretty" }, children: g }),
2392
+ /* @__PURE__ */ i("span", { style: { flex: "none", marginTop: -1 }, children: /* @__PURE__ */ i(za, { value: g, label: "Copy this error" }) })
2393
2393
  ] }),
2394
2394
  t,
2395
2395
  N && /* @__PURE__ */ h(xe, { children: [
@@ -2405,15 +2405,15 @@ function cl({ cast: t, voices: e, currentId: n, armedId: r = null, sampleId: s =
2405
2405
  ] })
2406
2406
  ] }),
2407
2407
  y.map(({ v: D, headOn: V, head: _, headCount: ee, rule: j }, E) => {
2408
- const Q = il(D), T = a === D.id, O = z(_), S = (u == null ? void 0 : u(D)) ?? null;
2409
- return /* @__PURE__ */ h(fa, { children: [
2408
+ const Q = sl(D), T = a === D.id, O = I(_), S = (u == null ? void 0 : u(D)) ?? null;
2409
+ return /* @__PURE__ */ h(ga, { children: [
2410
2410
  V && _ === p.vcSheet && /* @__PURE__ */ i("div", { style: { display: "flex", alignItems: "center", padding: "14px 2px 6px", borderTop: E === 0 && !N ? "0" : "1px solid var(--hair)", userSelect: "none" }, children: /* @__PURE__ */ i("span", { style: { font: "600 9px var(--vs-font-mono)", letterSpacing: ".13em", color: "var(--ink-62)" }, children: _ }) }),
2411
2411
  V && _ !== p.vcSheet && /* @__PURE__ */ h(
2412
2412
  "button",
2413
2413
  {
2414
2414
  type: "button",
2415
2415
  onClick: (re) => {
2416
- re.stopPropagation(), m((K) => ({ ...K, [_]: z(_) }));
2416
+ re.stopPropagation(), m((K) => ({ ...K, [_]: I(_) }));
2417
2417
  },
2418
2418
  title: `${O ? "Hide " : "Show "}${_.toLowerCase()} voices`,
2419
2419
  "aria-expanded": O,
@@ -2436,7 +2436,7 @@ function cl({ cast: t, voices: e, currentId: n, armedId: r = null, sampleId: s =
2436
2436
  style: { width: "100%", textAlign: "left", font: "inherit", border: 0, borderTop: O ? j : "0", display: "flex", alignItems: "center", gap: 11, padding: O ? "11px 8px" : "0px 8px", margin: "0 -6px", borderRadius: 10, background: r === D.id ? "var(--brand-tint)" : "transparent", cursor: "pointer", opacity: O ? 1 : 0, maxHeight: O ? 120 : 0, overflow: "hidden", transition: "max-height 280ms cubic-bezier(.32,.72,0,1),padding 280ms cubic-bezier(.32,.72,0,1),opacity 200ms ease" },
2437
2437
  children: [
2438
2438
  /* @__PURE__ */ i("span", { title: T ? "Downloading this voice" : void 0, style: { flex: "none", width: 32, height: 32, borderRadius: "50%", background: T ? "transparent" : D.cloned ? "var(--brand-soft)" : "var(--fill-06)", display: "flex", alignItems: "center", justifyContent: "center" }, children: T ? /* @__PURE__ */ i("span", { style: { width: 16, height: 16, borderRadius: "50%", border: "2px solid var(--fill-10)", borderTopColor: "var(--brand)", animation: "vs-spin .7s linear infinite" } }) : s === D.id ? /* @__PURE__ */ h("span", { className: "vcplay", children: [
2439
- /* @__PURE__ */ i("span", { className: "vcplay__eq", children: /* @__PURE__ */ i(ul, { height: 13, width: 2.5 }) }),
2439
+ /* @__PURE__ */ i("span", { className: "vcplay__eq", children: /* @__PURE__ */ i(cl, { height: 13, width: 2.5 }) }),
2440
2440
  /* @__PURE__ */ i("span", { className: "vcplay__stop", children: /* @__PURE__ */ i(va, { size: 11 }) })
2441
2441
  ] }) : /* @__PURE__ */ i(oe, { d: D.cloned ? X.voiceClone : D.gender === "female" ? X.venus : D.gender === "male" ? X.mars : X.mic, size: 15, sw: 1.6, style: { color: D.cloned ? "var(--brand)" : "var(--ink-55)" } }) }),
2442
2442
  /* @__PURE__ */ h("div", { style: { flex: 1, minWidth: 0 }, children: [
@@ -2465,7 +2465,7 @@ function cl({ cast: t, voices: e, currentId: n, armedId: r = null, sampleId: s =
2465
2465
  C && /* @__PURE__ */ i("div", { style: { position: "sticky", bottom: 0, zIndex: 3, marginTop: 6, padding: "11px 0 3px", animation: "vs-slide-up .18s ease-out" }, children: /* @__PURE__ */ i("button", { type: "button", className: "vcuse", title: "Apply this voice", onClick: () => r && c(r), children: /* @__PURE__ */ i("span", { children: p.vcUse }) }) })
2466
2466
  ] });
2467
2467
  }
2468
- function ul({ height: t, width: e = 2 }) {
2468
+ function cl({ height: t, width: e = 2 }) {
2469
2469
  const n = { width: e, height: "100%", borderRadius: 1, background: "var(--brand)" };
2470
2470
  return /* @__PURE__ */ h("span", { style: { flex: "none", display: "flex", alignItems: "flex-end", gap: 2, height: t }, children: [
2471
2471
  /* @__PURE__ */ i("span", { style: { ...n, animation: "vs-eq .62s ease-in-out infinite" } }),
@@ -2473,15 +2473,15 @@ function ul({ height: t, width: e = 2 }) {
2473
2473
  /* @__PURE__ */ i("span", { style: { ...n, animation: "vs-eq .62s ease-in-out .38s infinite" } })
2474
2474
  ] });
2475
2475
  }
2476
- const dl = /* @__PURE__ */ h("span", { style: { display: "inline-flex", alignItems: "center", gap: 3 }, children: [
2476
+ const ul = /* @__PURE__ */ h("span", { style: { display: "inline-flex", alignItems: "center", gap: 3 }, children: [
2477
2477
  /* @__PURE__ */ i(oe, { d: X.langAuto, size: 19, sw: 1.7, style: { color: "var(--ink-62)", display: "block" } }),
2478
2478
  /* @__PURE__ */ i(oe, { d: X.globe, size: 18, sw: 1.6, style: { color: "var(--ink-62)", display: "block" } })
2479
2479
  ] });
2480
2480
  function wr(t, e) {
2481
2481
  const n = e ? t == null ? void 0 : t.languages.find((r) => r.code === e) : null;
2482
- return { flag: e ? (n == null ? void 0 : n.flag) ?? "🌐" : dl, code: e ? e.toUpperCase() : "", label: (n == null ? void 0 : n.native) ?? "As spoken", name: (n == null ? void 0 : n.name) ?? "Original" };
2482
+ return { flag: e ? (n == null ? void 0 : n.flag) ?? "🌐" : ul, code: e ? e.toUpperCase() : "", label: (n == null ? void 0 : n.native) ?? "As spoken", name: (n == null ? void 0 : n.name) ?? "Original" };
2483
2483
  }
2484
- function hl(t, e, n = 0, r) {
2484
+ function dl(t, e, n = 0, r) {
2485
2485
  const s = (r == null ? void 0 : r.id) ?? null, a = (r == null ? void 0 : r.token) ?? null, o = (r == null ? void 0 : r.shareCode) ?? null, l = Et(), { data: c } = vi(async () => {
2486
2486
  if (!t || !e) return null;
2487
2487
  try {
@@ -2492,10 +2492,10 @@ function hl(t, e, n = 0, r) {
2492
2492
  }, [t, e, n, s, a, o]);
2493
2493
  return c;
2494
2494
  }
2495
- function Ml(t) {
2495
+ function hl(t) {
2496
2496
  return (/* @__PURE__ */ new Set([...Object.keys(t.speakers), ...Object.keys(t.speakerIds)])).size;
2497
2497
  }
2498
- function gl({ recordingId: t, lang: e, ended: n, cred: r, pickedVoice: s, sentenceIds: a }) {
2498
+ function Ml({ recordingId: t, lang: e, ended: n, cred: r, pickedVoice: s, sentenceIds: a }) {
2499
2499
  const o = Et(), { data: l, reload: c } = vi(async () => {
2500
2500
  if (!t || !e) return null;
2501
2501
  const K = await o.client.recordings.voice(t, e, o.readAs).catch(() => []);
@@ -2503,7 +2503,7 @@ function gl({ recordingId: t, lang: e, ended: n, cred: r, pickedVoice: s, senten
2503
2503
  }, [t, e, o, n]), u = Ie(
2504
2504
  () => l && l.lang === e && l.recordingId === t ? l.rows : [],
2505
2505
  [l, e, t]
2506
- ), d = Ie(() => hi(u, s), [u, s]), g = d ? d.voiceKey || null : s, [M, N] = I(null), [p, y] = I(null), L = v(/* @__PURE__ */ new Set()), m = `${t ?? ""}|${e ?? ""}|${g ?? ""}`, f = Ke(async (K, k) => {
2506
+ ), d = Ie(() => di(u, s), [u, s]), M = d ? d.voiceKey || null : s, [g, N] = z(null), [p, y] = z(null), L = v(/* @__PURE__ */ new Set()), m = `${t ?? ""}|${e ?? ""}|${M ?? ""}`, f = Ke(async (K, k) => {
2507
2507
  if (!t || !e || !n) return;
2508
2508
  const ae = k != null && k.size ? null : Fs(K), te = k != null && k.size ? k : ae, G = te && te.size ? Object.fromEntries([...te].map(([Te, je]) => [String(Te), je])) : null, J = `${t}|${e}|${G ? JSON.stringify(G) : K ?? ""}`;
2509
2509
  if (L.current.has(J)) return;
@@ -2518,23 +2518,23 @@ function gl({ recordingId: t, lang: e, ended: n, cred: r, pickedVoice: s, senten
2518
2518
  return;
2519
2519
  }
2520
2520
  c();
2521
- }, [t, e, n, o, c]), z = Ke(() => {
2521
+ }, [t, e, n, o, c]), I = Ke(() => {
2522
2522
  const K = `${t ?? ""}|${e ?? ""}|`;
2523
2523
  for (const k of [...L.current]) k.startsWith(K) && L.current.delete(k);
2524
2524
  y(null);
2525
- }, [t, e]), C = !!d && (d.state === "queued" || d.state === "running") || M === m, D = (d == null ? void 0 : d.state) === "failed" ? d.error || "the render failed" : p, V = (a == null ? void 0 : a.join(",")) ?? "", [_, ee] = I(null), j = Ie(() => new Set((d == null ? void 0 : d.clips) ?? []), [d]), E = Ie(() => n && V ? V.split(",").map(Number).filter((K) => !j.has(K)) : [], [n, V, j]), Q = v(null);
2525
+ }, [t, e]), C = !!d && (d.state === "queued" || d.state === "running") || g === m, D = (d == null ? void 0 : d.state) === "failed" ? d.error || "the render failed" : p, V = (a == null ? void 0 : a.join(",")) ?? "", [_, ee] = z(null), j = Ie(() => new Set((d == null ? void 0 : d.clips) ?? []), [d]), E = Ie(() => n && V ? V.split(",").map(Number).filter((K) => !j.has(K)) : [], [n, V, j]), Q = v(null);
2526
2526
  U(() => {
2527
2527
  if (!n || !t || !e || !E.length) return;
2528
- const K = _ ?? E[0], k = E.find((pe) => pe >= K) ?? E[0], ae = `${t}|${e}|${g ?? ""}`, te = Q.current;
2528
+ const K = _ ?? E[0], k = E.find((pe) => pe >= K) ?? E[0], ae = `${t}|${e}|${M ?? ""}`, te = Q.current;
2529
2529
  if (te && te.key === ae && Math.abs(te.near - k) < 12 && Date.now() - te.at < 6e4) return;
2530
2530
  Q.current = { key: ae, near: k, at: Date.now() };
2531
- const G = Fs(g), J = { langs: [e], near: k };
2532
- G && G.size ? J.voiceBySpeaker = Object.fromEntries([...G].map(([pe, le]) => [String(pe), le])) : g && (J.voice = g), Bs(o, `/v1/recordings/${t}/voice`, { method: "POST", body: J }).then((pe) => {
2531
+ const G = Fs(M), J = { langs: [e], near: k };
2532
+ G && G.size ? J.voiceBySpeaker = Object.fromEntries([...G].map(([pe, le]) => [String(pe), le])) : M && (J.voice = M), Bs(o, `/v1/recordings/${t}/voice`, { method: "POST", body: J }).then((pe) => {
2533
2533
  pe.ok || (Q.current = null);
2534
2534
  }).catch(() => {
2535
2535
  Q.current = null;
2536
2536
  });
2537
- }, [n, t, e, g, _, E, o]);
2537
+ }, [n, t, e, M, _, E, o]);
2538
2538
  const T = E.length > 0, O = v({ n: -1, at: 0 });
2539
2539
  U(() => {
2540
2540
  if (!T) return;
@@ -2547,15 +2547,15 @@ function gl({ recordingId: t, lang: e, ended: n, cred: r, pickedVoice: s, senten
2547
2547
  const S = Ie(() => {
2548
2548
  if (!t) return [];
2549
2549
  const K = V ? V.split(",").map(Number).filter((ae) => !n || j.has(ae)) : void 0, k = d ?? (K != null && K.length && e ? { lang: e, voiceKey: s ?? "", clips: [], voice: null } : null);
2550
- return Ua(k, t, o.origin, r, K);
2550
+ return Ya(k, t, o.origin, r, K);
2551
2551
  }, [d, t, o, r, V, e, s, n, j]), re = Ie(() => new Set(E), [E]);
2552
- return { listed: l, rows: u, track: d, renderVoiceId: g, rendering: C, failed: D, clips: S, requestRender: f, forget: z, reload: c, setNear: ee, missing: E.length, coming: re };
2552
+ return { listed: l, rows: u, track: d, renderVoiceId: M, rendering: C, failed: D, clips: S, requestRender: f, forget: I, reload: c, setNear: ee, missing: E.length, coming: re };
2553
2553
  }
2554
- const fl = { share: X.share, delay: X.tabGauge, video: X.video, source: X.tabSources, script: X.tabScript, fix: X.tabFix, ending: X.tabEnding, summary: X.tabSummary, export: X.tabExport, settings: X.tabSettings, sources: X.tabSources, recs: X.mic };
2555
- function bi({ tabs: t, current: e, onPick: n, gap: r, fold: s = !0, side: a = !s }) {
2556
- const o = s && t.length <= 3, l = t.some((L) => L.key === e), [c, u] = I(null), d = v(null), [g, M] = I(0);
2554
+ const gl = { share: X.share, delay: X.tabGauge, video: X.video, source: X.tabSources, script: X.tabScript, fix: X.tabFix, ending: X.tabEnding, summary: X.tabSummary, export: X.tabExport, settings: X.tabSettings, sources: X.tabSources, recs: X.mic };
2555
+ function Ci({ tabs: t, current: e, onPick: n, gap: r, fold: s = !0, side: a = !s }) {
2556
+ const o = s && t.length <= 3, l = t.some((L) => L.key === e), [c, u] = z(null), d = v(null), [M, g] = z(0);
2557
2557
  U(() => {
2558
- d.current && M(d.current.offsetWidth);
2558
+ d.current && g(d.current.offsetWidth);
2559
2559
  }, [c == null ? void 0 : c.k]);
2560
2560
  const N = (L, m) => {
2561
2561
  const f = L.currentTarget.querySelector(".tabbar__label");
@@ -2564,13 +2564,13 @@ function bi({ tabs: t, current: e, onPick: n, gap: r, fold: s = !0, side: a = !s
2564
2564
  return;
2565
2565
  }
2566
2566
  if ((c == null ? void 0 : c.k) === m.key) return;
2567
- const z = L.currentTarget.getBoundingClientRect(), C = L.currentTarget.parentElement.getBoundingClientRect();
2568
- u({ k: m.key, label: m.label, x: z.left + z.width / 2, y: C.top });
2567
+ const I = L.currentTarget.getBoundingClientRect(), C = L.currentTarget.parentElement.getBoundingClientRect();
2568
+ u({ k: m.key, label: m.label, x: I.left + I.width / 2, y: C.top });
2569
2569
  }, p = () => u(null);
2570
2570
  let y = null;
2571
2571
  if (c) {
2572
- const L = { l: 0, r: typeof window < "u" ? window.innerWidth : 0 }, m = g || 80, f = Math.max(L.l + 8, Math.min(L.r - m - 8, c.x - m / 2));
2573
- y = ma(
2572
+ const L = { l: 0, r: typeof window < "u" ? window.innerWidth : 0 }, m = M || 80, f = Math.max(L.l + 8, Math.min(L.r - m - 8, c.x - m / 2));
2573
+ y = Na(
2574
2574
  /* @__PURE__ */ i("div", { className: "vsp vsp-portal", "data-theme": "dark", children: /* @__PURE__ */ h("div", { ref: d, "data-theme": "dark", className: "vs-tip__bubble vs-tip__bubble--top tabtip", style: { position: "fixed", left: f, top: c.y - 8, bottom: "auto", width: "auto", whiteSpace: "nowrap", transform: "translateY(-100%)", zIndex: 2147483e3, pointerEvents: "none" }, children: [
2575
2575
  /* @__PURE__ */ i("span", { className: "vs-tip__row", children: /* @__PURE__ */ i("span", { className: "vs-tip__copy", children: c.label }) }),
2576
2576
  /* @__PURE__ */ i("span", { className: "vs-tip__arrow", style: { left: Math.round(Math.max(8, Math.min(m - 19, c.x - f - 5.5))) } })
@@ -2580,13 +2580,13 @@ function bi({ tabs: t, current: e, onPick: n, gap: r, fold: s = !0, side: a = !s
2580
2580
  }
2581
2581
  return /* @__PURE__ */ h("div", { role: "tablist", className: `tabbar tabbar--icons${s ? "" : " tabbar--desk"}`, "data-desk-tabs": a ? "" : void 0, "data-tab-n": a ? t.length : void 0, style: { marginBottom: r ? 12 : 0 }, onMouseLeave: p, children: [
2582
2582
  t.map((L) => {
2583
- const m = e === L.key, f = o || m, z = o ? "1 1 0" : m ? "1 1 auto" : s && !l ? "1 1 0" : "0 0 auto", C = L.icon ?? fl[L.key], D = () => {
2583
+ const m = e === L.key, f = o || m, I = o ? "1 1 0" : m ? "1 1 auto" : s && !l ? "1 1 0" : "0 0 auto", C = L.icon ?? gl[L.key], D = () => {
2584
2584
  p(), n(s && m ? "none" : L.key);
2585
2585
  };
2586
- return s ? /* @__PURE__ */ h("button", { type: "button", role: "tab", "aria-selected": m, title: L.label, className: `tabbar__tab${m ? " is-on" : ""}`, style: { flex: z }, onClick: D, children: [
2586
+ return s ? /* @__PURE__ */ h("button", { type: "button", role: "tab", "aria-selected": m, title: L.label, className: `tabbar__tab${m ? " is-on" : ""}`, style: { flex: I }, onClick: D, children: [
2587
2587
  C && /* @__PURE__ */ i(oe, { d: C, size: 15, sw: L.sw ?? 2, style: { flex: "none" } }),
2588
2588
  f && /* @__PURE__ */ i("span", { className: "tabbar__label", children: L.label })
2589
- ] }, L.key) : /* @__PURE__ */ i("div", { className: "tabbar__slot", "data-tab-cell": "", style: { flex: z }, onMouseEnter: (V) => N(V, L), onMouseMove: (V) => N(V, L), onClick: D, children: /* @__PURE__ */ h("button", { type: "button", role: "tab", "aria-selected": m, "aria-label": L.label, className: `tabbar__tab${m ? " is-on" : ""}${(c == null ? void 0 : c.k) === L.key ? " is-tip" : ""}`, children: [
2589
+ ] }, L.key) : /* @__PURE__ */ i("div", { className: "tabbar__slot", "data-tab-cell": "", style: { flex: I }, onMouseEnter: (V) => N(V, L), onMouseMove: (V) => N(V, L), onClick: D, children: /* @__PURE__ */ h("button", { type: "button", role: "tab", "aria-selected": m, "aria-label": L.label, className: `tabbar__tab${m ? " is-on" : ""}${(c == null ? void 0 : c.k) === L.key ? " is-tip" : ""}`, children: [
2590
2590
  C && /* @__PURE__ */ i(oe, { d: C, size: 15, sw: L.sw ?? 2, className: "tabbar__icon", style: { flex: "none", transform: m && !o ? "scale(1.12)" : "none" } }),
2591
2591
  /* @__PURE__ */ i("span", { className: "tabbar__grow", "data-tab-lw": "", style: { gridTemplateColumns: f ? "1fr" : "0fr", marginLeft: f && C ? 6 : 0 }, children: /* @__PURE__ */ i("span", { className: "tabbar__label", "data-tab-l": "", style: { opacity: f ? 1 : 0, transform: f ? "none" : "translateX(-6px)" }, children: L.label }) })
2592
2592
  ] }) }, L.key);
@@ -2594,22 +2594,22 @@ function bi({ tabs: t, current: e, onPick: n, gap: r, fold: s = !0, side: a = !s
2594
2594
  y
2595
2595
  ] });
2596
2596
  }
2597
- const pl = "M3 16.5v2.25A2.25 2.25 0 0 0 5.25 21h13.5A2.25 2.25 0 0 0 21 18.75V16.5M16.5 12 12 16.5m0 0L7.5 12m4.5 4.5V3", Nl = "m9 9 10.5-3m0 6.553v3.75a2.25 2.25 0 0 1-1.632 2.163l-1.32.377a1.803 1.803 0 1 1-.99-3.467l2.31-.66a2.25 2.25 0 0 0 1.632-2.163Zm0 0V2.25L9 5.25v10.303m0 0v3.75a2.25 2.25 0 0 1-1.632 2.163l-1.32.377a1.803 1.803 0 0 1-.99-3.467l2.31-.66A2.25 2.25 0 0 0 9 15.553Z";
2598
- function ml({ audio: t, video: e, formats: n, onExport: r }) {
2599
- const [s, a] = I(null), [o, l] = I(null), c = v(void 0), u = v(!0);
2597
+ const fl = "M3 16.5v2.25A2.25 2.25 0 0 0 5.25 21h13.5A2.25 2.25 0 0 0 21 18.75V16.5M16.5 12 12 16.5m0 0L7.5 12m4.5 4.5V3", pl = "m9 9 10.5-3m0 6.553v3.75a2.25 2.25 0 0 1-1.632 2.163l-1.32.377a1.803 1.803 0 1 1-.99-3.467l2.31-.66a2.25 2.25 0 0 0 1.632-2.163Zm0 0V2.25L9 5.25v10.303m0 0v3.75a2.25 2.25 0 0 1-1.632 2.163l-1.32.377a1.803 1.803 0 0 1-.99-3.467l2.31-.66A2.25 2.25 0 0 0 9 15.553Z";
2598
+ function Nl({ audio: t, video: e, formats: n, onExport: r }) {
2599
+ const [s, a] = z(null), [o, l] = z(null), c = v(void 0), u = v(!0);
2600
2600
  U(() => (u.current = !0, () => {
2601
2601
  u.current = !1, window.clearTimeout(c.current);
2602
2602
  }), []);
2603
2603
  const d = (p) => {
2604
2604
  window.clearTimeout(c.current), a(p), c.current = window.setTimeout(() => a(null), 1600);
2605
- }, g = (p) => {
2605
+ }, M = (p) => {
2606
2606
  o || (l(p), Promise.resolve().then(() => r(p)).then(() => {
2607
2607
  u.current && d(p);
2608
2608
  }).catch(() => {
2609
2609
  }).finally(() => {
2610
2610
  u.current && l(null);
2611
2611
  }));
2612
- }, M = (p, y) => {
2612
+ }, g = (p, y) => {
2613
2613
  o || (l(p), Promise.resolve().then(() => y.onClick()).then(() => {
2614
2614
  u.current && d(p);
2615
2615
  }).catch(() => {
@@ -2618,21 +2618,21 @@ function ml({ audio: t, video: e, formats: n, onExport: r }) {
2618
2618
  }));
2619
2619
  }, N = (p, y, L, m) => /* @__PURE__ */ h(xe, { children: [
2620
2620
  /* @__PURE__ */ i(gr, { style: { letterSpacing: ".12em", color: "var(--ink-35)" }, children: m }),
2621
- /* @__PURE__ */ h("button", { type: "button", className: "dlrow", disabled: o != null, "aria-busy": o === p || void 0, onClick: () => M(p, y), style: o && o !== p ? { opacity: 0.45 } : void 0, children: [
2621
+ /* @__PURE__ */ h("button", { type: "button", className: "dlrow", disabled: o != null, "aria-busy": o === p || void 0, onClick: () => g(p, y), style: o && o !== p ? { opacity: 0.45 } : void 0, children: [
2622
2622
  o === p ? /* @__PURE__ */ i(at, { size: 17, color: "var(--brand)", track: "var(--fill-12)" }) : /* @__PURE__ */ i(oe, { d: L, size: 17, sw: 1.5, style: { flex: "none", color: "var(--ink-70)" } }),
2623
2623
  /* @__PURE__ */ h("span", { style: { flex: 1, minWidth: 0, display: "flex", flexDirection: "column", gap: 1, textAlign: "left" }, children: [
2624
2624
  /* @__PURE__ */ i("span", { style: { fontSize: 13, fontWeight: 500, color: "var(--ink-96)", whiteSpace: "nowrap", overflow: "hidden", textOverflow: "ellipsis" }, children: y.name }),
2625
2625
  /* @__PURE__ */ i("span", { style: { font: "500 9.5px var(--vs-font-mono)", color: "var(--ink-40)", letterSpacing: ".04em" }, children: y.meta })
2626
2626
  ] }),
2627
- /* @__PURE__ */ i(oe, { d: s === p ? X.check : pl, size: 17, sw: 1.6, style: { flex: "none", color: s === p ? "var(--brand)" : "var(--ink-62)" } })
2627
+ /* @__PURE__ */ i(oe, { d: s === p ? X.check : fl, size: 17, sw: 1.6, style: { flex: "none", color: s === p ? "var(--brand)" : "var(--ink-62)" } })
2628
2628
  ] })
2629
2629
  ] });
2630
2630
  return /* @__PURE__ */ h("div", { style: { display: "flex", flexDirection: "column", gap: 10 }, children: [
2631
- t && N("audio", t, Nl, "DOWNLOAD AUDIO"),
2631
+ t && N("audio", t, pl, "DOWNLOAD AUDIO"),
2632
2632
  e && N("video", e, X.video, "DOWNLOAD VIDEO"),
2633
2633
  n !== !1 && /* @__PURE__ */ h(xe, { children: [
2634
2634
  /* @__PURE__ */ i(gr, { style: { letterSpacing: ".12em", color: "var(--ink-35)" }, children: "EXPORT AS" }),
2635
- /* @__PURE__ */ i("div", { className: "fmtgrid", children: Tr.map((p) => /* @__PURE__ */ h("button", { type: "button", className: "fmtgrid__cell", title: o === p.key ? `Building the ${p.name}…` : p.note, disabled: o != null, "aria-busy": o === p.key || void 0, onClick: () => g(p.key), style: o && o !== p.key ? { opacity: 0.45 } : void 0, children: [
2635
+ /* @__PURE__ */ i("div", { className: "fmtgrid", children: Tr.map((p) => /* @__PURE__ */ h("button", { type: "button", className: "fmtgrid__cell", title: o === p.key ? `Building the ${p.name}…` : p.note, disabled: o != null, "aria-busy": o === p.key || void 0, onClick: () => M(p.key), style: o && o !== p.key ? { opacity: 0.45 } : void 0, children: [
2636
2636
  o === p.key ? /* @__PURE__ */ i(at, { size: 16, color: "var(--brand)", track: "var(--fill-12)" }) : /* @__PURE__ */ i(oe, { d: s === p.key ? X.check : p.icon, size: 16, sw: 1.6, style: { color: s === p.key ? "var(--brand)" : "var(--ink-62)" } }),
2637
2637
  /* @__PURE__ */ i("span", { children: p.name })
2638
2638
  ] }, p.key)) })
@@ -2653,8 +2653,8 @@ function Ar(t, e, n) {
2653
2653
  }
2654
2654
  r();
2655
2655
  }
2656
- function yl(t, e, n) {
2657
- const [r, s] = I(null), a = t.state === "ready", o = `${e ?? ""}|${n ?? ""}|${a ? `${t.title}
2656
+ function ml(t, e, n) {
2657
+ const [r, s] = z(null), a = t.state === "ready", o = `${e ?? ""}|${n ?? ""}|${a ? `${t.title}
2658
2658
  ${t.summary}` : ""}`, l = Et();
2659
2659
  return U(() => {
2660
2660
  if (!e || !n || !a) return;
@@ -2670,13 +2670,13 @@ ${t.summary}` : ""}`, l = Et();
2670
2670
  };
2671
2671
  }, [o, l]), !n || !a ? t : (r == null ? void 0 : r.key) === o ? r.s : { state: "pending", retry: t.retry };
2672
2672
  }
2673
- function Tl(t) {
2673
+ function yl(t) {
2674
2674
  return t != null && t.title && (t != null && t.summary) ? { state: "ready", title: t.title, summary: t.summary, retry: () => {
2675
2675
  } } : { state: "unavailable", retry: () => {
2676
2676
  } };
2677
2677
  }
2678
- function wl({ s: t }) {
2679
- const [e, n] = I(!1), r = v(void 0);
2678
+ function Tl({ s: t }) {
2679
+ const [e, n] = z(!1), r = v(void 0);
2680
2680
  U(() => () => window.clearTimeout(r.current), []);
2681
2681
  const s = t.title ?? "", a = t.summary ?? "", o = () => {
2682
2682
  var c;
@@ -2705,27 +2705,27 @@ ${a}`).catch(() => {
2705
2705
  ] })
2706
2706
  ] });
2707
2707
  }
2708
- function Ll({ ytId: t, title: e, timeLabel: n, radius: r, style: s, large: a, children: o, picture: l }) {
2708
+ function wl({ ytId: t, title: e, timeLabel: n, radius: r, style: s, large: a, children: o, picture: l }) {
2709
2709
  return /* @__PURE__ */ h("div", { className: "livevid", style: { ...r != null ? { borderRadius: r } : null, ...s }, children: [
2710
2710
  /* @__PURE__ */ i(oe, { d: "m15.75 10.5 4.72-4.72a.75.75 0 0 1 1.28.53v11.38a.75.75 0 0 1-1.28.53l-4.72-4.72M4.5 18.75h9a2.25 2.25 0 0 0 2.25-2.25v-9a2.25 2.25 0 0 0-2.25-2.25h-9A2.25 2.25 0 0 0 2.25 7.5v9a2.25 2.25 0 0 0 2.25 2.25Z", size: a ? 34 : 30, sw: 1.2 }),
2711
- l ?? /* @__PURE__ */ i("iframe", { src: Fo(t), title: e, referrerPolicy: "strict-origin-when-cross-origin", allow: "autoplay; encrypted-media; picture-in-picture" }),
2711
+ l ?? /* @__PURE__ */ i("iframe", { src: Wo(t), title: e, referrerPolicy: "strict-origin-when-cross-origin", allow: "autoplay; encrypted-media; picture-in-picture" }),
2712
2712
  n && /* @__PURE__ */ i("span", { className: "livevid__t", style: a ? { bottom: 10, right: 10 } : void 0, children: n }),
2713
2713
  o
2714
2714
  ] });
2715
2715
  }
2716
- function kl(t = !0, e) {
2716
+ function Ll(t = !0, e) {
2717
2717
  const n = v(null), r = e ?? n;
2718
2718
  return U(() => {
2719
2719
  const s = r.current;
2720
2720
  if (!s || !t) return;
2721
2721
  let a = 0, o = 0, l = !1;
2722
- const c = (g) => {
2723
- g.button !== 0 || g.target.closest("button,a,input,textarea,select") || (l = !0, a = g.clientY, o = s.scrollTop, s.classList.add("is-dragging"));
2724
- }, u = (g) => {
2722
+ const c = (M) => {
2723
+ M.button !== 0 || M.target.closest("button,a,input,textarea,select") || (l = !0, a = M.clientY, o = s.scrollTop, s.classList.add("is-dragging"));
2724
+ }, u = (M) => {
2725
2725
  var N;
2726
2726
  if (!l) return;
2727
- const M = g.clientY - a;
2728
- Math.abs(M) > 2 && ((N = s.setPointerCapture) == null || N.call(s, g.pointerId)), s.scrollTop = o - M;
2727
+ const g = M.clientY - a;
2728
+ Math.abs(g) > 2 && ((N = s.setPointerCapture) == null || N.call(s, M.pointerId)), s.scrollTop = o - g;
2729
2729
  }, d = () => {
2730
2730
  l = !1, s.classList.remove("is-dragging");
2731
2731
  };
@@ -2735,47 +2735,47 @@ function kl(t = !0, e) {
2735
2735
  }, [t]), r;
2736
2736
  }
2737
2737
  const vl = "M15.75 17.25v3.375c0 .621-.504 1.125-1.125 1.125h-9.75a1.125 1.125 0 0 1-1.125-1.125V7.875c0-.621.504-1.125 1.125-1.125H6.75a9.06 9.06 0 0 1 1.5.124m7.5 10.376h3.375c.621 0 1.125-.504 1.125-1.125V11.25c0-4.46-3.243-8.161-7.5-8.876a9.06 9.06 0 0 0-1.5-.124H9.375c-.621 0-1.125.504-1.125 1.125v3.5m7.5 10.375H9.375a1.125 1.125 0 0 1-1.125-1.125v-9.25m12 6.625v-1.875a3.375 3.375 0 0 0-3.375-3.375h-1.5a1.125 1.125 0 0 1-1.125-1.125v-1.5a3.375 3.375 0 0 0-3.375-3.375H9.75";
2738
- function jl(t, e) {
2739
- const [n, r] = Pa(t), s = e.tabs.map((f) => f.key), a = e.tabbed !== !1, o = e.pinnable ?? s;
2738
+ function kl(t, e) {
2739
+ const [n, r] = Ra(t), s = e.tabs.map((f) => f.key), a = e.tabbed !== !1, o = e.pinnable ?? s;
2740
2740
  let l = n;
2741
2741
  [...e.autoPin ?? []].reverse().forEach((f) => {
2742
2742
  s.includes(f) && !l.includes(f) && !l.includes(`!${f}`) && (l = [f, ...l]);
2743
2743
  });
2744
2744
  const c = l;
2745
2745
  (e.forcePin ?? []).forEach((f) => {
2746
- l = l.filter((z) => z !== `!${f}`), s.includes(f) && !l.includes(f) && (l = [f, ...l]);
2746
+ l = l.filter((I) => I !== `!${f}`), s.includes(f) && !l.includes(f) && (l = [f, ...l]);
2747
2747
  });
2748
- const u = (f) => (e.forcePin ?? []).includes(f) && !c.includes(f), d = a ? l.filter((f) => s.includes(f) && o.includes(f)) : [], g = s.filter((f) => !d.includes(f)), M = e.cur && e.cur !== "none" && g.includes(e.cur) ? e.cur : e.pref && g.includes(e.pref) ? e.pref : g[0] ?? null, N = (f) => {
2749
- const z = g.filter((C) => C !== f);
2750
- return z[g.indexOf(f)] ?? z[z.length - 1] ?? null;
2751
- }, p = (f, z) => {
2748
+ const u = (f) => (e.forcePin ?? []).includes(f) && !c.includes(f), d = a ? l.filter((f) => s.includes(f) && o.includes(f)) : [], M = s.filter((f) => !d.includes(f)), g = e.cur && e.cur !== "none" && M.includes(e.cur) ? e.cur : e.pref && M.includes(e.pref) ? e.pref : M[0] ?? null, N = (f) => {
2749
+ const I = M.filter((C) => C !== f);
2750
+ return I[M.indexOf(f)] ?? I[I.length - 1] ?? null;
2751
+ }, p = (f, I) => {
2752
2752
  if (!o.includes(f)) return;
2753
2753
  const C = d.filter((D) => D !== f);
2754
- if (C.splice(z ?? C.length, 0, f), M === f) {
2754
+ if (C.splice(I ?? C.length, 0, f), g === f) {
2755
2755
  const D = N(f);
2756
2756
  D && e.onPick(D);
2757
2757
  }
2758
2758
  r([...C.filter((D) => !u(D) || D === f), ...c.filter((D) => !C.includes(D) && D !== `!${f}`)]);
2759
2759
  }, y = (f) => {
2760
- r([...c.filter((z) => z !== f && z !== `!${f}`), ...(e.autoPin ?? []).includes(f) ? [`!${f}`] : []]), e.onPick(f);
2760
+ r([...c.filter((I) => I !== f && I !== `!${f}`), ...(e.autoPin ?? []).includes(f) ? [`!${f}`] : []]), e.onPick(f);
2761
2761
  }, L = (f) => {
2762
- var z;
2763
- return ((z = e.tabs.find((C) => C.key === f)) == null ? void 0 : z.label) ?? f;
2762
+ var I;
2763
+ return ((I = e.tabs.find((C) => C.key === f)) == null ? void 0 : I.label) ?? f;
2764
2764
  }, m = (f) => {
2765
- const z = d.includes(f), C = s.includes(f);
2765
+ const I = d.includes(f), C = s.includes(f);
2766
2766
  return {
2767
- show: C && (!a || z || M === f),
2768
- pinned: z,
2769
- order: z ? d.indexOf(f) + 1 : 1e3,
2770
- pill: a && C && o.includes(f) && g.length > 0 && (z || g.length > 1),
2771
- title: z ? `Unpin — return ${L(f)} to the tabs` : `Pin ${L(f)} open above the tabs`,
2772
- toggle: () => z ? y(f) : p(f)
2767
+ show: C && (!a || I || g === f),
2768
+ pinned: I,
2769
+ order: I ? d.indexOf(f) + 1 : 1e3,
2770
+ pill: a && C && o.includes(f) && M.length > 0 && (I || M.length > 1),
2771
+ title: I ? `Unpin — return ${L(f)} to the tabs` : `Pin ${L(f)} open above the tabs`,
2772
+ toggle: () => I ? y(f) : p(f)
2773
2773
  };
2774
2774
  };
2775
- return { id: t, tabbed: a && g.length > 1, cur: M, seq: d, pinnable: o, tabKeys: g, stripTabs: e.tabs.filter((f) => g.includes(f.key)), panel: m, pin: p, unpin: y };
2775
+ return { id: t, tabbed: a && M.length > 1, cur: g, seq: d, pinnable: o, tabKeys: M, stripTabs: e.tabs.filter((f) => M.includes(f.key)), panel: m, pin: p, unpin: y };
2776
2776
  }
2777
- function zl({ col: t, order: e, render: n, grip: r, onPick: s, wrapClass: a }) {
2778
- return Il(t), /* @__PURE__ */ h(xe, { children: [
2777
+ function jl({ col: t, order: e, render: n, grip: r, onPick: s, wrapClass: a }) {
2778
+ return zl(t), /* @__PURE__ */ h(xe, { children: [
2779
2779
  e.map((o) => {
2780
2780
  const l = t.panel(o);
2781
2781
  if (!l.show) return null;
@@ -2785,13 +2785,13 @@ function zl({ col: t, order: e, render: n, grip: r, onPick: s, wrapClass: a }) {
2785
2785
  l.pill && /* @__PURE__ */ i("button", { type: "button", "data-pin-pill": "", className: `pinpill${l.pinned ? " is-on" : ""}`, title: l.title, "aria-label": l.title, "aria-pressed": l.pinned, onClick: l.toggle, children: /* @__PURE__ */ i(oe, { d: X.pin, size: 12, sw: 2 }) })
2786
2786
  ] }, o) : null;
2787
2787
  }),
2788
- t.tabbed && t.cur && /* @__PURE__ */ i("div", { className: "deskstrip", style: { order: 999 }, children: /* @__PURE__ */ i(bi, { tabs: t.stripTabs, current: t.cur, onPick: (o) => {
2788
+ t.tabbed && t.cur && /* @__PURE__ */ i("div", { className: "deskstrip", style: { order: 999 }, children: /* @__PURE__ */ i(Ci, { tabs: t.stripTabs, current: t.cur, onPick: (o) => {
2789
2789
  o !== "none" && (s ?? (() => {
2790
2790
  }))(o);
2791
2791
  }, fold: !1 }) })
2792
2792
  ] });
2793
2793
  }
2794
- function Il(t) {
2794
+ function zl(t) {
2795
2795
  const e = v(t);
2796
2796
  e.current = t;
2797
2797
  const n = t.id;
@@ -2801,46 +2801,46 @@ function Il(t) {
2801
2801
  r !== m && (r && r.removeAttribute("data-grip-hot"), r = m, m && m.setAttribute("data-grip-hot", ""));
2802
2802
  }, o = (m) => m.col.querySelector("[data-desk-tabs]"), l = (m) => {
2803
2803
  var ee;
2804
- const f = m.el.getBoundingClientRect(), z = m.el.cloneNode(!0);
2805
- z.querySelectorAll("*").forEach((j) => {
2804
+ const f = m.el.getBoundingClientRect(), I = m.el.cloneNode(!0);
2805
+ I.querySelectorAll("*").forEach((j) => {
2806
2806
  j.style.animation = "none", j.style.transition = "none";
2807
- }), z.querySelectorAll("iframe,video").forEach((j) => {
2807
+ }), I.querySelectorAll("iframe,video").forEach((j) => {
2808
2808
  const E = document.createElement("div");
2809
2809
  E.style.cssText = "width:100%;height:100%;background:#000", j.replaceWith(E);
2810
- }), z.removeAttribute("data-panel-key"), z.querySelectorAll("[data-panel-key],[data-pin-pill]").forEach((j) => j.hasAttribute("data-pin-pill") ? j.remove() : j.removeAttribute("data-panel-key")), Object.assign(z.style, { position: "fixed", left: `${f.left}px`, top: `${f.top}px`, width: `${f.width}px`, height: `${f.height}px`, margin: "0", zIndex: "1000", pointerEvents: "none", opacity: ".95", borderRadius: "14px", boxShadow: "0 14px 36px rgba(0,0,0,.3)", animation: "none", transition: "none", cursor: "move", willChange: "transform", contain: "layout paint", overflow: "hidden" });
2810
+ }), I.removeAttribute("data-panel-key"), I.querySelectorAll("[data-panel-key],[data-pin-pill]").forEach((j) => j.hasAttribute("data-pin-pill") ? j.remove() : j.removeAttribute("data-panel-key")), Object.assign(I.style, { position: "fixed", left: `${f.left}px`, top: `${f.top}px`, width: `${f.width}px`, height: `${f.height}px`, margin: "0", zIndex: "1000", pointerEvents: "none", opacity: ".95", borderRadius: "14px", boxShadow: "0 14px 36px rgba(0,0,0,.3)", animation: "none", transition: "none", cursor: "move", willChange: "transform", contain: "layout paint", overflow: "hidden" });
2811
2811
  const C = getComputedStyle(m.el);
2812
2812
  for (let j = 0; j < C.length; j++) {
2813
2813
  const E = C[j];
2814
- E.startsWith("--") && z.style.setProperty(E, C.getPropertyValue(E));
2814
+ E.startsWith("--") && I.style.setProperty(E, C.getPropertyValue(E));
2815
2815
  }
2816
- z.style.fontFamily = C.fontFamily, z.style.color = C.color;
2816
+ I.style.fontFamily = C.fontFamily, I.style.color = C.color;
2817
2817
  let D = m.el.parentElement, V = "";
2818
2818
  for (; D && !V; ) {
2819
2819
  const j = getComputedStyle(D).backgroundColor;
2820
2820
  j && !/rgba?\(0, 0, 0, 0\)|transparent/.test(j) && !/\/ 0\.|, 0\.\d+\)$/.test(j) && (V = j), D = D.parentElement;
2821
2821
  }
2822
- z.style.background = V || getComputedStyle(document.body).backgroundColor, document.body.appendChild(z), m.orig = [...m.col.querySelectorAll("[data-panel-key]")].map((j) => [j, j.style.order]), m.snap = {}, m.orig.forEach(([j]) => {
2822
+ I.style.background = V || getComputedStyle(document.body).backgroundColor, document.body.appendChild(I), m.orig = [...m.col.querySelectorAll("[data-panel-key]")].map((j) => [j, j.style.order]), m.snap = {}, m.orig.forEach(([j]) => {
2823
2823
  m.snap[j.getAttribute("data-panel-key")] = j.getBoundingClientRect();
2824
2824
  }), m.tabsSnap = ((ee = o(m)) == null ? void 0 : ee.getBoundingClientRect()) ?? null;
2825
2825
  const _ = m.col.querySelector("[data-panel-grid]");
2826
- m.grid = !!_ && getComputedStyle(_).display === "grid", m.el.classList.add("is-dragging"), document.documentElement.style.cursor = "move", document.body.style.userSelect = "none", document.body.style.webkitUserSelect = "none", Object.assign(m, { on: !0, clone: z }), a(null);
2826
+ m.grid = !!_ && getComputedStyle(_).display === "grid", m.el.classList.add("is-dragging"), document.documentElement.style.cursor = "move", document.body.style.userSelect = "none", document.body.style.webkitUserSelect = "none", Object.assign(m, { on: !0, clone: I }), a(null);
2827
2827
  }, c = () => {
2828
2828
  const m = s;
2829
2829
  if (!m || !m.on || m.px == null || m.py == null) return;
2830
2830
  m.raf = 0, m.clone.style.transform = `translate3d(${m.px - m.x0}px,${m.py - m.y0}px,0)`;
2831
- const f = e.current, z = m.key, C = o(m), D = f.seq.includes(z), V = D || f.tabKeys.length > 1, _ = C && m.tabsSnap, ee = !_ || m.py < _.top + _.height / 2 ? V ? "pin" : null : "tabs";
2831
+ const f = e.current, I = m.key, C = o(m), D = f.seq.includes(I), V = D || f.tabKeys.length > 1, _ = C && m.tabsSnap, ee = !_ || m.py < _.top + _.height / 2 ? V ? "pin" : null : "tabs";
2832
2832
  let j = null;
2833
2833
  if (ee === "pin") {
2834
- const Q = f.seq.filter((O) => O !== z).map((O) => m.snap[O]).filter(Boolean), T = m.grid ? Q.filter((O) => O.bottom < m.py || O.top <= m.py && O.left + O.width / 2 < m.px).length : Q.filter((O) => O.top + O.height / 2 < m.py).length;
2835
- D && f.seq.indexOf(z) === T || (j = { zone: ee, idx: T });
2834
+ const Q = f.seq.filter((O) => O !== I).map((O) => m.snap[O]).filter(Boolean), T = m.grid ? Q.filter((O) => O.bottom < m.py || O.top <= m.py && O.left + O.width / 2 < m.px).length : Q.filter((O) => O.top + O.height / 2 < m.py).length;
2835
+ D && f.seq.indexOf(I) === T || (j = { zone: ee, idx: T });
2836
2836
  } else ee === "tabs" && D && (j = { zone: ee });
2837
2837
  const E = j ? j.zone + (j.idx ?? "") : "";
2838
2838
  if (E !== m.sig) {
2839
2839
  if (m.sig = E, m.target = j, m.orig.forEach(([Q, T]) => {
2840
2840
  Q.style.order = T;
2841
2841
  }), (j == null ? void 0 : j.zone) === "pin") {
2842
- const Q = f.seq.filter((T) => T !== z);
2843
- Q.splice(j.idx, 0, z), Q.forEach((T, O) => {
2842
+ const Q = f.seq.filter((T) => T !== I);
2843
+ Q.splice(j.idx, 0, I), Q.forEach((T, O) => {
2844
2844
  const S = m.col.querySelector(`[data-panel-key="${T}"]`);
2845
2845
  S && (S.style.order = String(O + 1));
2846
2846
  });
@@ -2848,18 +2848,18 @@ function Il(t) {
2848
2848
  C && ((j == null ? void 0 : j.zone) === "tabs" ? C.setAttribute("data-drop-hot", "") : C.removeAttribute("data-drop-hot"));
2849
2849
  }
2850
2850
  }, u = (m) => {
2851
- var z;
2851
+ var I;
2852
2852
  const f = s;
2853
2853
  if (s = null, !(!f || !f.on) && (f.raf && cancelAnimationFrame(f.raf), f.clone.remove(), f.orig.forEach(([C, D]) => {
2854
2854
  C.style.order = D;
2855
- }), f.el.classList.remove("is-dragging"), document.documentElement.style.cursor = "", document.body.style.userSelect = "", document.body.style.webkitUserSelect = "", (z = o(f)) == null || z.removeAttribute("data-drop-hot"), m && f.target)) {
2855
+ }), f.el.classList.remove("is-dragging"), document.documentElement.style.cursor = "", document.body.style.userSelect = "", document.body.style.webkitUserSelect = "", (I = o(f)) == null || I.removeAttribute("data-drop-hot"), m && f.target)) {
2856
2856
  const C = e.current;
2857
2857
  f.target.zone === "tabs" ? C.seq.includes(f.key) && C.unpin(f.key) : C.pin(f.key, f.target.idx);
2858
2858
  }
2859
2859
  }, d = (m) => {
2860
2860
  const f = m instanceof Element ? m.closest("[data-tab-col]") : null;
2861
2861
  return f && f.getAttribute("data-tab-col") === n ? f : null;
2862
- }, g = (m) => {
2862
+ }, M = (m) => {
2863
2863
  var _;
2864
2864
  if (s) {
2865
2865
  if (!s.on) {
@@ -2874,11 +2874,11 @@ function Il(t) {
2874
2874
  r && ((_ = r.closest("[data-tab-col]")) == null ? void 0 : _.getAttribute("data-tab-col")) === n && a(null);
2875
2875
  return;
2876
2876
  }
2877
- const z = f.closest("[data-panel-key]"), C = z == null ? void 0 : z.firstElementChild;
2878
- if (!z || !C || !e.current.tabbed || !e.current.pinnable.includes(z.getAttribute("data-panel-key")) || f.closest("[role=button],[role=tab],button,a,input,textarea,select,iframe,[data-pin-pill],[contenteditable=true]")) return a(null);
2879
- const D = C.getBoundingClientRect(), V = parseFloat(getComputedStyle(z).getPropertyValue("--grip-h")) || 30;
2880
- a(m.clientY >= D.top && m.clientY <= D.top + V ? z : null);
2881
- }, M = (m) => {
2877
+ const I = f.closest("[data-panel-key]"), C = I == null ? void 0 : I.firstElementChild;
2878
+ if (!I || !C || !e.current.tabbed || !e.current.pinnable.includes(I.getAttribute("data-panel-key")) || f.closest("[role=button],[role=tab],button,a,input,textarea,select,iframe,[data-pin-pill],[contenteditable=true]")) return a(null);
2879
+ const D = C.getBoundingClientRect(), V = parseFloat(getComputedStyle(I).getPropertyValue("--grip-h")) || 30;
2880
+ a(m.clientY >= D.top && m.clientY <= D.top + V ? I : null);
2881
+ }, g = (m) => {
2882
2882
  if (!r || m.button !== 0) return;
2883
2883
  const f = d(r);
2884
2884
  f && (m.preventDefault(), m.stopImmediatePropagation(), s = { el: r, col: f, key: r.getAttribute("data-panel-key"), x0: m.clientX, y0: m.clientY, on: !1 });
@@ -2887,21 +2887,21 @@ function Il(t) {
2887
2887
  }, L = () => {
2888
2888
  s || a(null);
2889
2889
  };
2890
- return document.addEventListener("pointermove", g, !0), document.addEventListener("pointerdown", M, !0), window.addEventListener("pointerup", N), window.addEventListener("pointercancel", p), window.addEventListener("keydown", y, !0), document.addEventListener("pointerleave", L), () => {
2891
- u(!1), a(null), document.removeEventListener("pointermove", g, !0), document.removeEventListener("pointerdown", M, !0), window.removeEventListener("pointerup", N), window.removeEventListener("pointercancel", p), window.removeEventListener("keydown", y, !0), document.removeEventListener("pointerleave", L);
2890
+ return document.addEventListener("pointermove", M, !0), document.addEventListener("pointerdown", g, !0), window.addEventListener("pointerup", N), window.addEventListener("pointercancel", p), window.addEventListener("keydown", y, !0), document.addEventListener("pointerleave", L), () => {
2891
+ u(!1), a(null), document.removeEventListener("pointermove", M, !0), document.removeEventListener("pointerdown", g, !0), window.removeEventListener("pointerup", N), window.removeEventListener("pointercancel", p), window.removeEventListener("keydown", y, !0), document.removeEventListener("pointerleave", L);
2892
2892
  };
2893
2893
  }, [n]);
2894
2894
  }
2895
- function Ol({ id: t, className: e, gap: n, hidden: r, plain: s, children: a }) {
2896
- const [o, l] = $a(t), c = v(null), u = v(null);
2897
- Cl(u), U(() => {
2895
+ function Il({ id: t, className: e, gap: n, hidden: r, plain: s, children: a }) {
2896
+ const [o, l] = Qa(t), c = v(null), u = v(null);
2897
+ Ol(u), U(() => {
2898
2898
  document.documentElement.style.setProperty("--colw", `${o}px`);
2899
2899
  }, [o]);
2900
- const d = (M) => {
2900
+ const d = (g) => {
2901
2901
  const N = c.current, p = N == null ? void 0 : N.parentElement;
2902
- if (M.button !== 0 || !N || !p) return;
2903
- M.preventDefault();
2904
- const y = M.currentTarget, L = getComputedStyle(p), m = p.clientWidth - parseFloat(L.paddingLeft) - parseFloat(L.paddingRight) - (parseFloat(L.columnGap) || 0), f = 320, z = 320, C = Math.max(f, m - z), D = M.clientX, V = N.getBoundingClientRect().width;
2902
+ if (g.button !== 0 || !N || !p) return;
2903
+ g.preventDefault();
2904
+ const y = g.currentTarget, L = getComputedStyle(p), m = p.clientWidth - parseFloat(L.paddingLeft) - parseFloat(L.paddingRight) - (parseFloat(L.columnGap) || 0), f = 320, I = 320, C = Math.max(f, m - I), D = g.clientX, V = N.getBoundingClientRect().width;
2905
2905
  let _ = V;
2906
2906
  y.classList.add("is-on");
2907
2907
  const ee = { cur: document.body.style.cursor, sel: document.body.style.userSelect };
@@ -2912,13 +2912,13 @@ function Ol({ id: t, className: e, gap: n, hidden: r, plain: s, children: a }) {
2912
2912
  window.removeEventListener("pointermove", j), window.removeEventListener("pointerup", E), window.removeEventListener("pointercancel", E), document.body.style.cursor = ee.cur, document.body.style.userSelect = ee.sel, y.classList.remove("is-on"), l(_);
2913
2913
  };
2914
2914
  window.addEventListener("pointermove", j), window.addEventListener("pointerup", E), window.addEventListener("pointercancel", E);
2915
- }, g = r ? { display: "none" } : void 0;
2915
+ }, M = r ? { display: "none" } : void 0;
2916
2916
  return /* @__PURE__ */ h(xe, { children: [
2917
- /* @__PURE__ */ i("div", { "aria-hidden": "true", className: "colgrip", style: { marginRight: -n, ...g }, children: /* @__PURE__ */ i("div", { className: "colgrip__bar", style: { left: -(n / 2 + 6) }, title: "Drag to resize · double-click to reset", onPointerDown: d, onDoubleClick: () => l(null) }) }),
2918
- /* @__PURE__ */ i("div", { ref: c, "data-tab-col": t, className: `${e} sidecol`, style: { flex: `0 0 ${o}px`, ...g }, children: s ? a : /* @__PURE__ */ i("div", { ref: u, "data-panel-grid": "", className: "panelgrid", children: a }) })
2917
+ /* @__PURE__ */ i("div", { "aria-hidden": "true", className: "colgrip", style: { marginRight: -n, ...M }, children: /* @__PURE__ */ i("div", { className: "colgrip__bar", style: { left: -(n / 2 + 6) }, title: "Drag to resize · double-click to reset", onPointerDown: d, onDoubleClick: () => l(null) }) }),
2918
+ /* @__PURE__ */ i("div", { ref: c, "data-tab-col": t, className: `${e} sidecol`, style: { flex: `0 0 ${o}px`, ...M }, children: s ? a : /* @__PURE__ */ i("div", { ref: u, "data-panel-grid": "", className: "panelgrid", children: a }) })
2919
2919
  ] });
2920
2920
  }
2921
- function Cl(t) {
2921
+ function Ol(t) {
2922
2922
  U(() => {
2923
2923
  const e = t.current;
2924
2924
  if (!e) return;
@@ -2928,13 +2928,13 @@ function Cl(t) {
2928
2928
  r = 0;
2929
2929
  const u = getComputedStyle(e).display === "grid";
2930
2930
  [...e.children].forEach((d) => {
2931
- const g = d;
2931
+ const M = d;
2932
2932
  if (!u) {
2933
- g.style.gridRowEnd && (g.style.gridRowEnd = "");
2933
+ M.style.gridRowEnd && (M.style.gridRowEnd = "");
2934
2934
  return;
2935
2935
  }
2936
- const M = g.getBoundingClientRect().height, N = M > 0 ? `span ${Math.ceil(M + n)}` : "span 1";
2937
- g.style.gridRowEnd !== N && (g.style.gridRowEnd = N);
2936
+ const g = M.getBoundingClientRect().height, N = g > 0 ? `span ${Math.ceil(g + n)}` : "span 1";
2937
+ M.style.gridRowEnd !== N && (M.style.gridRowEnd = N);
2938
2938
  });
2939
2939
  }, a = () => {
2940
2940
  r || (r = requestAnimationFrame(s));
@@ -2946,13 +2946,13 @@ function Cl(t) {
2946
2946
  };
2947
2947
  }, [t]);
2948
2948
  }
2949
- function bl(t) {
2949
+ function Cl(t) {
2950
2950
  return /\bwas not captured\b/i.test(t ?? "");
2951
2951
  }
2952
- const xl = 1500, Dl = 3e5;
2953
- function Sl(t) {
2954
- const e = Et(), [n, r] = I(null), [s, a] = I(null), [o, l] = I(null), [c, u] = I(null), d = v(null), g = v(null), M = v(null), N = v(0), p = Ke(() => {
2955
- M.current && (clearTimeout(M.current), M.current = null), d.current && (d.current.pause(), d.current.removeAttribute("src"), d.current.load(), d.current = null), g.current && (URL.revokeObjectURL(g.current), g.current = null);
2952
+ const bl = 1500, xl = 3e5;
2953
+ function Dl(t) {
2954
+ const e = Et(), [n, r] = z(null), [s, a] = z(null), [o, l] = z(null), [c, u] = z(null), d = v(null), M = v(null), g = v(null), N = v(0), p = Ke(() => {
2955
+ g.current && (clearTimeout(g.current), g.current = null), d.current && (d.current.pause(), d.current.removeAttribute("src"), d.current.load(), d.current = null), M.current && (URL.revokeObjectURL(M.current), M.current = null);
2956
2956
  }, []), y = Ke(() => {
2957
2957
  N.current += 1, p(), a(null), l(null);
2958
2958
  }, [p]), L = Ke(() => {
@@ -2963,32 +2963,32 @@ function Sl(t) {
2963
2963
  }, [p]);
2964
2964
  const m = Ke((f) => {
2965
2965
  N.current += 1;
2966
- const z = N.current;
2966
+ const I = N.current;
2967
2967
  if (p(), r(f.id), a(null), l(null), u(null), !t) return;
2968
2968
  let C = f.previewUrl ? `${e.origin}${f.previewUrl}` : `${e.origin}/v1/voices/preview?voice=${encodeURIComponent(f.id)}&lang=${encodeURIComponent(t)}`;
2969
2969
  xn() === "caf" && (C += `${C.includes("?") ? "&" : "?"}format=caf`);
2970
2970
  const D = Date.now();
2971
2971
  e.shareCode && C.includes("recording=") && (C += `&shareCode=${encodeURIComponent(e.shareCode)}`);
2972
2972
  const V = async () => {
2973
- if (N.current !== z) return;
2973
+ if (N.current !== I) return;
2974
2974
  let _;
2975
2975
  try {
2976
2976
  const Q = e.owner ? await e.bearer() : void 0;
2977
2977
  _ = await fetch(C, { headers: Q ? { Authorization: `Bearer ${Q}` } : {} });
2978
2978
  } catch (Q) {
2979
- if (N.current !== z) return;
2979
+ if (N.current !== I) return;
2980
2980
  l(null), u(Tt(Q));
2981
2981
  return;
2982
2982
  }
2983
- if (N.current !== z) return;
2983
+ if (N.current !== I) return;
2984
2984
  if (_.status === 202 || _.status === 503) {
2985
- if (Date.now() - D > Dl) {
2985
+ if (Date.now() - D > xl) {
2986
2986
  l(null), u({ message: "This voice is still being fetched. Try it again in a moment." });
2987
2987
  return;
2988
2988
  }
2989
- l(f.id), M.current = setTimeout(() => {
2989
+ l(f.id), g.current = setTimeout(() => {
2990
2990
  V();
2991
- }, xl);
2991
+ }, bl);
2992
2992
  return;
2993
2993
  }
2994
2994
  if (!_.ok) {
@@ -2998,28 +2998,28 @@ function Sl(t) {
2998
2998
  return;
2999
2999
  }
3000
3000
  const ee = await _.blob();
3001
- if (N.current !== z) return;
3002
- l(null), g.current = URL.createObjectURL(ee);
3003
- const j = new Audio(g.current);
3001
+ if (N.current !== I) return;
3002
+ l(null), M.current = URL.createObjectURL(ee);
3003
+ const j = new Audio(M.current);
3004
3004
  j.playsInline = !0;
3005
3005
  const E = () => {
3006
- N.current === z && (p(), a(null));
3006
+ N.current === I && (p(), a(null));
3007
3007
  };
3008
3008
  j.onended = E, j.onerror = E, d.current = j, j.play().then(() => {
3009
- N.current === z && a(f.id);
3009
+ N.current === I && a(f.id);
3010
3010
  }).catch(E);
3011
3011
  };
3012
3012
  V();
3013
3013
  }, [t, p, e]);
3014
3014
  return { armId: n, sampleId: s, dlId: o, error: c, clearError: () => u(null), arm: m, stop: y, reset: L };
3015
3015
  }
3016
- const Lr = 0.05, xi = (t, e) => {
3016
+ const Lr = 0.05, bi = (t, e) => {
3017
3017
  let n = 0;
3018
3018
  for (let r = 0; r < t.length; r++) t[r].start <= e + 1e-6 && (n = r);
3019
3019
  return n;
3020
3020
  };
3021
- function Al(t, e, n, r) {
3022
- const s = Math.max(0, e), a = r > 0 && s >= r - Lr, o = t.length && t[0].start <= s + 1e-6 ? xi(t, s) : -1;
3021
+ function Sl(t, e, n, r) {
3022
+ const s = Math.max(0, e), a = r > 0 && s >= r - Lr, o = t.length && t[0].start <= s + 1e-6 ? bi(t, s) : -1;
3023
3023
  return o < 0 ? { t: s, playing: n && !a, sentenceId: null, offset: 0, ended: a } : { t: s, playing: n && !a, sentenceId: t[o].sentenceId ?? null, offset: Math.max(0, s - t[o].start), ended: a };
3024
3024
  }
3025
3025
  function Ln(t, e, n) {
@@ -3034,18 +3034,18 @@ function Ln(t, e, n) {
3034
3034
  }
3035
3035
  a = Math.max(0, Math.min(r, a));
3036
3036
  const o = r > 0 && a >= r - Lr && s < 0;
3037
- return { t: a, playing: t.playing && !o, index: s >= 0 ? s : xi(e, a) };
3037
+ return { t: a, playing: t.playing && !o, index: s >= 0 ? s : bi(e, a) };
3038
3038
  }
3039
- function Di(t, e, n) {
3039
+ function xi(t, e, n) {
3040
3040
  var c;
3041
3041
  const r = t[e], s = n && r.translations[n] && r.language !== n ? r.translations[n] : null;
3042
3042
  if (!s && r.words.length) return r.words;
3043
- const a = (s ?? r.text).split(/\s+/).filter(Boolean), o = ((c = r.words[0]) == null ? void 0 : c.start) ?? r.start, l = Oi(r, t[e + 1], r.start + Math.max(2, a.length * 0.4));
3044
- return qo(a, o, l).map((u, d) => ({ ...u, seq: r.seqs[0] ?? 0, idx: d }));
3043
+ const a = (s ?? r.text).split(/\s+/).filter(Boolean), o = ((c = r.words[0]) == null ? void 0 : c.start) ?? r.start, l = Ii(r, t[e + 1], r.start + Math.max(2, a.length * 0.4));
3044
+ return Zo(a, o, l).map((u, d) => ({ ...u, seq: r.seqs[0] ?? 0, idx: d }));
3045
3045
  }
3046
3046
  function Zs(t, e, n) {
3047
3047
  if (!t.engaged || e !== t.idx || !n.length) return null;
3048
- if (!t.wordSync) return t.clipPos ? Mi(n.map((a) => ({ t: a.text, sp: " " })), t.clipPos) : null;
3048
+ if (!t.wordSync) return t.clipPos ? hi(n.map((a) => ({ t: a.text, sp: " " })), t.clipPos) : null;
3049
3049
  const r = t.t;
3050
3050
  let s = -1;
3051
3051
  for (let a = 0; a < n.length && n[a].start <= r; a++) s = a;
@@ -3063,21 +3063,21 @@ function At(t, e, n) {
3063
3063
  const r = (s = t == null ? void 0 : t.words[t.words.length - 1]) == null ? void 0 : s.end;
3064
3064
  return r != null && r > e ? r : (t == null ? void 0 : t.end) != null && t.end > e ? t.end : n > e ? n : e + 4;
3065
3065
  }
3066
- function El({ ytId: t, title: e, t: n, playing: r, seekN: s, onToggle: a, onAd: o, endT: l, onGone: c, onKnown: u, lead: d, onTime: g, waiting: M = !1 }) {
3067
- const N = v(null), [p, y] = I(!1);
3066
+ function Al({ ytId: t, title: e, t: n, playing: r, seekN: s, onToggle: a, onAd: o, endT: l, onGone: c, onKnown: u, lead: d, onTime: M, waiting: g = !1 }) {
3067
+ const N = v(null), [p, y] = z(!1);
3068
3068
  U(() => {
3069
- if (!M) {
3069
+ if (!g) {
3070
3070
  y(!1);
3071
3071
  return;
3072
3072
  }
3073
3073
  const F = setTimeout(() => y(!0), 300);
3074
3074
  return () => clearTimeout(F);
3075
- }, [M]);
3076
- const L = r && !p, m = v(!1), [f, z] = I(!1), C = (F, me = []) => {
3077
- var Z, ke;
3075
+ }, [g]);
3076
+ const L = r && !p, m = v(!1), [f, I] = z(!1), C = (F, me = []) => {
3077
+ var Z, ve;
3078
3078
  if (!(m.current && (F === "pauseVideo" || F === "seekTo" || F === "setPlaybackRate")))
3079
3079
  try {
3080
- (ke = (Z = N.current) == null ? void 0 : Z.contentWindow) == null || ke.postMessage(JSON.stringify({ event: "command", func: F, args: me }), "*");
3080
+ (ve = (Z = N.current) == null ? void 0 : Z.contentWindow) == null || ve.postMessage(JSON.stringify({ event: "command", func: F, args: me }), "*");
3081
3081
  } catch {
3082
3082
  }
3083
3083
  }, D = v(null), V = v(!1), _ = v(!1), ee = v(!1), j = v(a);
@@ -3090,15 +3090,15 @@ function El({ ytId: t, title: e, t: n, playing: r, seekN: s, onToggle: a, onAd:
3090
3090
  var me, Z;
3091
3091
  const F = _.current || ee.current;
3092
3092
  if (F !== m.current)
3093
- if (m.current = F, z(F), (me = Q.current) == null || me.call(Q, F), F) {
3093
+ if (m.current = F, I(F), (me = Q.current) == null || me.call(Q, F), F) {
3094
3094
  if (C("playVideo"), E.current) return;
3095
3095
  we.current && j.current && (T.current = !0, j.current());
3096
3096
  } else T.current && !E.current && (T.current = !1, we.current || (Z = j.current) == null || Z.call(j));
3097
3097
  }, S = v(n);
3098
3098
  S.current = n;
3099
- const re = v(g);
3100
- re.current = g;
3101
- const K = v(null), k = v(null), [ae, te] = I(!0), [G, J] = I(!1), pe = () => {
3099
+ const re = v(M);
3100
+ re.current = M;
3101
+ const K = v(null), k = v(null), [ae, te] = z(!0), [G, J] = z(!1), pe = () => {
3102
3102
  C("unloadModule", ["captions"]), C("unloadModule", ["cc"]);
3103
3103
  }, le = v([]), Te = () => {
3104
3104
  pe(), le.current.forEach(clearTimeout), le.current = [400, 1200, 2500, 5e3].map((F) => window.setTimeout(pe, F));
@@ -3123,7 +3123,7 @@ function El({ ytId: t, title: e, t: n, playing: r, seekN: s, onToggle: a, onAd:
3123
3123
  Pe.current = c;
3124
3124
  const Se = v(u);
3125
3125
  Se.current = u;
3126
- const B = v(!1), [W, A] = I(!1), b = (F) => {
3126
+ const B = v(!1), [W, A] = z(!1), b = (F) => {
3127
3127
  const me = Ee.current;
3128
3128
  return !!me && (F < me.start - 1 || F > me.end + 5);
3129
3129
  }, H = () => {
@@ -3140,8 +3140,8 @@ function El({ ytId: t, title: e, t: n, playing: r, seekN: s, onToggle: a, onAd:
3140
3140
  return;
3141
3141
  }
3142
3142
  (ge = (Ae = Z == null ? void 0 : Z.info) == null ? void 0 : Ae.videoData) != null && ge.isLive && (V.current = !0);
3143
- const ke = (Ye = Z == null ? void 0 : Z.info) == null ? void 0 : Ye.duration;
3144
- typeof ke == "number" && ke > 0 && !V.current && (D.current == null ? D.current = ke : (_.current = Math.abs(ke - D.current) > 1.5, O())), (Z == null ? void 0 : Z.event) === "onReady" && ((!E.current || E.current.muted) && C("mute"), Te(), (Ve = E.current) == null || Ve.onInfo({ ready: !0 })), typeof (($ = Z == null ? void 0 : Z.info) == null ? void 0 : $.playerState) == "number" && (Z.info.playerState !== k.current && (Z.info.playerState === 1 || Z.info.playerState === 2) && Te(), k.current = Z.info.playerState, te(Z.info.playerState !== 1 && Z.info.playerState !== 3), (he = E.current) == null || he.onInfo({ state: Z.info.playerState }));
3143
+ const ve = (Ye = Z == null ? void 0 : Z.info) == null ? void 0 : Ye.duration;
3144
+ typeof ve == "number" && ve > 0 && !V.current && (D.current == null ? D.current = ve : (_.current = Math.abs(ve - D.current) > 1.5, O())), (Z == null ? void 0 : Z.event) === "onReady" && ((!E.current || E.current.muted) && C("mute"), Te(), (Ve = E.current) == null || Ve.onInfo({ ready: !0 })), typeof (($ = Z == null ? void 0 : Z.info) == null ? void 0 : $.playerState) == "number" && (Z.info.playerState !== k.current && (Z.info.playerState === 1 || Z.info.playerState === 2) && Te(), k.current = Z.info.playerState, te(Z.info.playerState !== 1 && Z.info.playerState !== 3), (he = E.current) == null || he.onInfo({ state: Z.info.playerState }));
3145
3145
  const ze = (ue = Z == null ? void 0 : Z.info) == null ? void 0 : ue.progressState;
3146
3146
  if (ze && typeof ze.seekableStart == "number" && typeof ze.seekableEnd == "number" && ze.seekableEnd > ze.seekableStart) {
3147
3147
  const Oe = Ee.current == null;
@@ -3174,8 +3174,8 @@ function El({ ytId: t, title: e, t: n, playing: r, seekN: s, onToggle: a, onAd:
3174
3174
  if (!G) return;
3175
3175
  let F = null, me = 0;
3176
3176
  const Z = setInterval(() => {
3177
- const ke = K.current;
3178
- me = k.current === 1 && ke != null && F != null && Math.abs(ke - F) < 0.05 ? me + 1 : 0, F = ke;
3177
+ const ve = K.current;
3178
+ me = k.current === 1 && ve != null && F != null && Math.abs(ve - F) < 0.05 ? me + 1 : 0, F = ve;
3179
3179
  const ze = me >= 3;
3180
3180
  ze !== ee.current && (ee.current = ze, O());
3181
3181
  }, 1e3);
@@ -3191,50 +3191,50 @@ function El({ ytId: t, title: e, t: n, playing: r, seekN: s, onToggle: a, onAd:
3191
3191
  ] })
3192
3192
  ] });
3193
3193
  }
3194
- const _l = /* @__PURE__ */ h(xe, { children: [
3194
+ const El = /* @__PURE__ */ h(xe, { children: [
3195
3195
  /* @__PURE__ */ i("rect", { x: "6.5", y: "5", width: "3.75", height: "14", rx: "1.2" }),
3196
3196
  /* @__PURE__ */ i("rect", { x: "13.75", y: "5", width: "3.75", height: "14", rx: "1.2" })
3197
- ] }), Yl = /* @__PURE__ */ i("path", { d: "M7.5 5.6a1 1 0 0 1 1.52-.85l9.1 5.55a1 1 0 0 1 0 1.7l-9.1 5.55a1 1 0 0 1-1.52-.85V5.6Z" });
3198
- function Ul({ player: t, size: e }) {
3197
+ ] }), _l = /* @__PURE__ */ i("path", { d: "M7.5 5.6a1 1 0 0 1 1.52-.85l9.1 5.55a1 1 0 0 1 0 1.7l-9.1 5.55a1 1 0 0 1-1.52-.85V5.6Z" });
3198
+ function Yl({ player: t, size: e }) {
3199
3199
  const n = t.muted ? "Unmute" : "Mute";
3200
3200
  return /* @__PURE__ */ i("button", { type: "button", className: `mutebtn${e < 36 ? " mutebtn--sm" : e > 36 ? " mutebtn--lg" : ""}`, "aria-label": n, title: n, "aria-pressed": t.muted, onClick: t.toggleMute, children: /* @__PURE__ */ i(oe, { d: t.muted ? X.volumeOff : X.volume, size: 17, sw: 1.6, style: { color: t.muted ? "var(--ink-38)" : "var(--ink-70)" } }) });
3201
3201
  }
3202
- function Rl() {
3203
- const [t, e] = I(""), n = v(null), r = Ke((s) => {
3202
+ function Ul() {
3203
+ const [t, e] = z(""), n = v(null), r = Ke((s) => {
3204
3204
  clearTimeout(n.current), e(s), n.current = setTimeout(() => e(""), 3e3);
3205
3205
  }, []);
3206
3206
  return U(() => () => clearTimeout(n.current), []), [t, r];
3207
3207
  }
3208
- const Pl = 0.2, Ql = 140, $l = 320;
3209
- function Bl(t, e) {
3208
+ const Rl = 0.2, Pl = 140, Ql = 320;
3209
+ function $l(t, e) {
3210
3210
  const n = v(t);
3211
3211
  n.current = t;
3212
3212
  const r = v(0), s = v(1), a = Ke((o, l) => {
3213
3213
  cancelAnimationFrame(r.current);
3214
3214
  const c = s.current, u = performance.now(), d = () => {
3215
- const g = l > 0 ? Math.min(1, (performance.now() - u) / l) : 1;
3216
- s.current = c + (o - c) * g;
3217
- for (const M of n.current) M.setVolume(s.current);
3218
- g < 1 && (r.current = requestAnimationFrame(d));
3215
+ const M = l > 0 ? Math.min(1, (performance.now() - u) / l) : 1;
3216
+ s.current = c + (o - c) * M;
3217
+ for (const g of n.current) g.setVolume(s.current);
3218
+ M < 1 && (r.current = requestAnimationFrame(d));
3219
3219
  };
3220
3220
  d();
3221
3221
  }, []);
3222
3222
  U(() => {
3223
- a(e ? Pl : 1, e ? Ql : $l);
3223
+ a(e ? Rl : 1, e ? Pl : Ql);
3224
3224
  }, [e, a]), U(() => () => {
3225
3225
  cancelAnimationFrame(r.current), s.current = 1;
3226
3226
  for (const o of n.current) o.setVolume(1);
3227
3227
  }, []);
3228
3228
  }
3229
- function Vl(t, e, n, r) {
3229
+ function Bl(t, e, n, r) {
3230
3230
  var Se;
3231
- const s = v(null), a = v(!1), o = v(!1), [l, c] = I(null), [u, d] = I(!0), g = v(!0), M = v(!1), [N, p] = I(0), y = v(0);
3231
+ const s = v(null), a = v(!1), o = v(!1), [l, c] = z(null), [u, d] = z(!0), M = v(!0), g = v(!1), [N, p] = z(0), y = v(0);
3232
3232
  y.current = N;
3233
3233
  const L = v({ t: 0, at: 0 }), m = v(n);
3234
3234
  m.current = n;
3235
3235
  const f = v(r);
3236
3236
  f.current = r;
3237
- const [z, C] = I(!1), D = v(!1), V = (B) => {
3237
+ const [I, C] = z(!1), D = v(!1), V = (B) => {
3238
3238
  D.current = B, C(B);
3239
3239
  }, _ = (B, W) => {
3240
3240
  var A;
@@ -3251,7 +3251,7 @@ function Vl(t, e, n, r) {
3251
3251
  }
3252
3252
  }
3253
3253
  }), []);
3254
- Q.muted = g.current || M.current, U(() => {
3254
+ Q.muted = M.current || g.current, U(() => {
3255
3255
  if (l !== 1) return;
3256
3256
  let B = 0;
3257
3257
  const W = () => {
@@ -3264,8 +3264,8 @@ function Vl(t, e, n, r) {
3264
3264
  };
3265
3265
  return B = requestAnimationFrame(W), () => cancelAnimationFrame(B);
3266
3266
  }, [l]), U(() => {
3267
- !z || r == null || r < N + 1.5 || (V(!1), _("playVideo"));
3268
- }, [z, r, N]), U(() => {
3267
+ !I || r == null || r < N + 1.5 || (V(!1), _("playVideo"));
3268
+ }, [I, r, N]), U(() => {
3269
3269
  r == null && D.current && (V(!1), _("playVideo"));
3270
3270
  }, [r]);
3271
3271
  const T = t.length ? ((Se = t[t.length - 1].words[t[t.length - 1].words.length - 1]) == null ? void 0 : Se.end) ?? t[t.length - 1].start + 4 : 0, O = e || T || 1, S = Ie(() => {
@@ -3273,7 +3273,7 @@ function Vl(t, e, n, r) {
3273
3273
  let B = 0;
3274
3274
  for (let W = 0; W < t.length; W++) t[W].start <= N + 0.05 && (B = W);
3275
3275
  return B;
3276
- }, [t, N]), [re, K] = I(0), k = (B) => {
3276
+ }, [t, N]), [re, K] = z(0), k = (B) => {
3277
3277
  const W = Math.max(0, f.current != null ? Math.min(B, Math.max(0, f.current - 0.5)) : B);
3278
3278
  _("seekTo", [W + m.current, !0]), L.current = { t: W, at: performance.now() }, p(W), K((A) => A + 1);
3279
3279
  }, ae = v(!1), te = v(void 0), G = (B) => {
@@ -3308,12 +3308,12 @@ function Vl(t, e, n, r) {
3308
3308
  const W = t[Math.max(0, Math.min(t.length - 1, B))];
3309
3309
  W && k(W.start);
3310
3310
  }, je = v(!1), Ee = () => {
3311
- const B = g.current || M.current;
3311
+ const B = M.current || g.current;
3312
3312
  Q.muted = B, _(B ? "mute" : "unMute");
3313
3313
  }, Le = (B) => {
3314
- g.current = B, d(B), Ee();
3314
+ M.current = B, d(B), Ee();
3315
3315
  }, we = (B) => {
3316
- M.current !== !B && (M.current = !B, Ee());
3316
+ g.current !== !B && (g.current = !B, Ee());
3317
3317
  };
3318
3318
  return { player: {
3319
3319
  autoplay: async () => {
@@ -3325,7 +3325,7 @@ function Vl(t, e, n, r) {
3325
3325
  Le(!0);
3326
3326
  for (let A = 0; A < 5 && j.current !== 1; A++)
3327
3327
  _("playVideo"), await W(() => j.current === 1, 1500);
3328
- return j.current !== 1 ? null : M.current ? (Le(!0), !1) : (Le(!1), await B(1200), j.current === 1 && E.current === !1 ? !0 : (Le(!0), _("playVideo"), !1));
3328
+ return j.current !== 1 ? null : g.current ? (Le(!0), !1) : (Le(!1), await B(1200), j.current === 1 && E.current === !1 ? !0 : (Le(!0), _("playVideo"), !1));
3329
3329
  },
3330
3330
  playing: ee,
3331
3331
  ended: l === 0,
@@ -3337,9 +3337,9 @@ function Vl(t, e, n, r) {
3337
3337
  toggle: le,
3338
3338
  seekRow: Te,
3339
3339
  toggleMute: () => {
3340
- const B = !g.current;
3341
- Le(B), !B && !M.current && j.current === 1 && setTimeout(() => {
3342
- j.current === 2 && !g.current && (Le(!0), _("playVideo"));
3340
+ const B = !M.current;
3341
+ Le(B), !B && !g.current && j.current === 1 && setTimeout(() => {
3342
+ j.current === 2 && !M.current && (Le(!0), _("playVideo"));
3343
3343
  }, 900);
3344
3344
  },
3345
3345
  seekFrac: (B) => k(Math.max(0, Math.min(1, B)) * O),
@@ -3363,19 +3363,19 @@ function Vl(t, e, n, r) {
3363
3363
  clearError: () => {
3364
3364
  },
3365
3365
  has: !0,
3366
- edgeWait: z,
3366
+ edgeWait: I,
3367
3367
  wordSync: !0,
3368
3368
  pause: pe,
3369
3369
  setVolume: (B) => _("setVolume", [Math.round(B * 100)])
3370
3370
  }, lead: Q, setVideoSound: we };
3371
3371
  }
3372
- function Hl(t, e, n, r, s = 0, a = null) {
3372
+ function Vl(t, e, n, r, s = 0, a = null) {
3373
3373
  var A;
3374
- const o = v(null), [l, c] = I(!1), [u, d] = I(0), [g, M] = I(!1), N = v(g);
3375
- N.current = g;
3376
- const p = v(!1), [y, L] = I(null), [m, f] = I(!1), z = v(s);
3377
- z.current = s;
3378
- const C = v(null), [D, V] = I(0);
3374
+ const o = v(null), [l, c] = z(!1), [u, d] = z(0), [M, g] = z(!1), N = v(M);
3375
+ N.current = M;
3376
+ const p = v(!1), [y, L] = z(null), [m, f] = z(!1), I = v(s);
3377
+ I.current = s;
3378
+ const C = v(null), [D, V] = z(0);
3379
3379
  U(() => {
3380
3380
  f(!1);
3381
3381
  const b = C.current;
@@ -3383,16 +3383,16 @@ function Hl(t, e, n, r, s = 0, a = null) {
3383
3383
  c(!1), o.current = null;
3384
3384
  return;
3385
3385
  }
3386
- const H = ui(t), ce = z.current;
3386
+ const H = ci(t), ce = I.current;
3387
3387
  return H.preload = "metadata", H.muted = N.current || p.current, H.onplay = () => c(!0), H.onpause = () => c(!1), H.onended = () => c(!1), H.onloadedmetadata = () => {
3388
3388
  f(!0), H.currentTime = ((b == null ? void 0 : b.t) ?? 0) + ce, b != null && b.playing && H.play().catch((F) => {
3389
3389
  b.asked && (F == null ? void 0 : F.name) === "NotAllowedError" || L(Tt(F));
3390
3390
  });
3391
3391
  }, H.onerror = () => {
3392
3392
  c(!1);
3393
- const F = H.error, me = Aa(F, !1);
3394
- ba(t).then((Z) => {
3395
- bl(Z == null ? void 0 : Z.message) || li(F), o.current === H && (L({ message: (Z == null ? void 0 : Z.message) ?? me }), Z != null && Z.permanent || (o.current = null));
3393
+ const F = H.error, me = Sa(F, !1);
3394
+ Ca(t).then((Z) => {
3395
+ Cl(Z == null ? void 0 : Z.message) || oi(F), o.current === H && (L({ message: (Z == null ? void 0 : Z.message) ?? me }), Z != null && Z.permanent || (o.current = null));
3396
3396
  });
3397
3397
  }, o.current = H, () => {
3398
3398
  C.current = { t: Math.max(0, H.currentTime - ce), playing: !H.paused && !H.ended }, H.pause(), H.onplay = H.onpause = H.onended = H.onloadedmetadata = H.onerror = null, o.current = null;
@@ -3406,7 +3406,7 @@ function Hl(t, e, n, r, s = 0, a = null) {
3406
3406
  Q.current = ee;
3407
3407
  const T = v(a);
3408
3408
  T.current = a;
3409
- const [O, S] = I(!1), re = v(!1), K = (b) => {
3409
+ const [O, S] = z(!1), re = v(!1), K = (b) => {
3410
3410
  re.current = b, S(b);
3411
3411
  };
3412
3412
  U(() => {
@@ -3423,7 +3423,7 @@ function Hl(t, e, n, r, s = 0, a = null) {
3423
3423
  const H = () => {
3424
3424
  const ce = o.current;
3425
3425
  if (ce) {
3426
- const F = ce.currentTime - z.current;
3426
+ const F = ce.currentTime - I.current;
3427
3427
  if (Q.current && F >= E.current) {
3428
3428
  ce.pause(), d(E.current);
3429
3429
  return;
@@ -3443,9 +3443,9 @@ function Hl(t, e, n, r, s = 0, a = null) {
3443
3443
  let b = 0;
3444
3444
  for (let H = 0; H < n.length; H++) n[H].start <= u + 0.05 && (b = H);
3445
3445
  return b;
3446
- }, [n, u]), [ae, te] = I(0), G = (b) => {
3446
+ }, [n, u]), [ae, te] = z(0), G = (b) => {
3447
3447
  const H = T.current != null ? Math.min(b, Math.max(0, T.current - 0.5)) : b, ce = o.current;
3448
- d(H), ce && (ce.currentTime = H + z.current), te((F) => F + 1);
3448
+ d(H), ce && (ce.currentTime = H + I.current), te((F) => F + 1);
3449
3449
  }, J = (b) => {
3450
3450
  (b == null ? void 0 : b.name) !== "AbortError" && L(Tt(b));
3451
3451
  }, pe = () => {
@@ -3467,7 +3467,7 @@ function Hl(t, e, n, r, s = 0, a = null) {
3467
3467
  K(!1);
3468
3468
  return;
3469
3469
  }
3470
- b.currentTime < z.current && (b.currentTime = z.current), u >= j - 0.25 && G(0), b.play().catch(J);
3470
+ b.currentTime < I.current && (b.currentTime = I.current), u >= j - 0.25 && G(0), b.play().catch(J);
3471
3471
  }, le = (b) => {
3472
3472
  const H = n[Math.max(0, Math.min(n.length - 1, b))];
3473
3473
  H && G(H.start);
@@ -3497,9 +3497,9 @@ function Hl(t, e, n, r, s = 0, a = null) {
3497
3497
  autoplay: async () => {
3498
3498
  const b = o.current;
3499
3499
  if (!b) return null;
3500
- b.currentTime < z.current && (b.currentTime = z.current);
3500
+ b.currentTime < I.current && (b.currentTime = I.current);
3501
3501
  const H = (ce) => {
3502
- N.current = ce, b.muted = ce || p.current, M(ce);
3502
+ N.current = ce, b.muted = ce || p.current, g(ce);
3503
3503
  };
3504
3504
  try {
3505
3505
  return H(!1), await b.play(), !0;
@@ -3517,10 +3517,10 @@ function Hl(t, e, n, r, s = 0, a = null) {
3517
3517
  t: u,
3518
3518
  idx: k,
3519
3519
  dur: j,
3520
- muted: g,
3520
+ muted: M,
3521
3521
  toggleMute: () => {
3522
3522
  const b = !N.current;
3523
- N.current = b, o.current && (o.current.muted = b || p.current), M(b);
3523
+ N.current = b, o.current && (o.current.muted = b || p.current), g(b);
3524
3524
  },
3525
3525
  toggle: pe,
3526
3526
  seekRow: le,
@@ -3531,12 +3531,12 @@ function Hl(t, e, n, r, s = 0, a = null) {
3531
3531
  seekN: ae,
3532
3532
  stop: () => {
3533
3533
  const b = o.current;
3534
- b && (b.pause(), b.currentTime = z.current), d(0);
3534
+ b && (b.pause(), b.currentTime = I.current), d(0);
3535
3535
  },
3536
3536
  videoAt: (b) => {
3537
3537
  const H = o.current;
3538
3538
  if (!H || H.paused || H.ended || we.current || Date.now() - _e.current < 3e3) return;
3539
- const ce = b + z.current;
3539
+ const ce = b + I.current;
3540
3540
  Math.abs(H.currentTime - ce) <= 0.2 || (_e.current = Date.now(), H.currentTime = ce);
3541
3541
  },
3542
3542
  engaged: l || u > 0,
@@ -3561,14 +3561,14 @@ function Hl(t, e, n, r, s = 0, a = null) {
3561
3561
  }
3562
3562
  };
3563
3563
  }
3564
- function Wl(t, e, n, r, s, a, o = !1, l) {
3564
+ function Hl(t, e, n, r, s, a, o = !1, l) {
3565
3565
  const c = v(/* @__PURE__ */ new Set());
3566
3566
  c.current = l ?? c.current;
3567
- const u = v(null), [d, g] = I(!1), [M, N] = I(0), [p, y] = I(0), [L, m] = I(!1), f = v(L);
3567
+ const u = v(null), [d, M] = z(!1), [g, N] = z(0), [p, y] = z(0), [L, m] = z(!1), f = v(L);
3568
3568
  f.current = L;
3569
- const [z, C] = I(null), [D, V] = I(null), [_, ee] = I(null), [j, E] = I(null), Q = v(j);
3569
+ const [I, C] = z(null), [D, V] = z(null), [_, ee] = z(null), [j, E] = z(null), Q = v(j);
3570
3570
  Q.current = j;
3571
- const [T, O] = I(null), [S, re] = I(null), [K, k] = I(null), [ae, te] = I(!1), G = v(e);
3571
+ const [T, O] = z(null), [S, re] = z(null), [K, k] = z(null), [ae, te] = z(!1), G = v(e);
3572
3572
  G.current = e;
3573
3573
  const J = v(o), pe = v([]);
3574
3574
  J.current = o, u.current && (u.current.flow = o);
@@ -3578,24 +3578,24 @@ function Wl(t, e, n, r, s, a, o = !1, l) {
3578
3578
  je.current = a;
3579
3579
  const Ee = Ke((Y) => {
3580
3580
  Y.finite = !0, Y.coming = (R) => c.current.has(R), Y.readAhead = 6, Y.readAheadS = 45, Y.onWaiting = (R) => V(R), Y.onStarting = (R) => ee(R), Y.onSentence = (R) => {
3581
- if (g(Y.playing), R == null) return;
3581
+ if (M(Y.playing), R == null) return;
3582
3582
  const q = G.current.findIndex((ne) => ne.sentenceId === R);
3583
3583
  q >= 0 && N(q);
3584
3584
  }, Y.onError = (R) => {
3585
- g(Y.playing), C(R instanceof di ? { message: "The voice could not be started. Press Play to try again.", code: "voice_not_started" } : { message: "A line of this reading could not be played." });
3585
+ M(Y.playing), C(R instanceof ui ? { message: "The voice could not be started. Press Play to try again.", code: "voice_not_started" } : { message: "A line of this reading could not be played." });
3586
3586
  }, Y.gapBefore = (R, q) => {
3587
3587
  if (!J.current) return 0;
3588
3588
  const ne = G.current, de = ne.find((Ce) => Ce.sentenceId === R), Oe = ne.find((Ce) => Ce.sentenceId === q);
3589
3589
  if (!Oe) return 0;
3590
3590
  const ye = Q.current;
3591
3591
  if (R == null) return ye && ye.sid === q ? Math.max(0, Oe.start - ye.t) : 0;
3592
- const ve = le.current;
3593
- return ve && Date.now() - ve.at < 2e3 ? Math.max(0, Oe.start - (ve.t + (Date.now() - ve.at) / 1e3 * Y.rate)) : !de || Oe.start <= de.start ? 0 : Math.max(0, Oe.start - At(de, de.start, de.start + 4));
3592
+ const ke = le.current;
3593
+ return ke && Date.now() - ke.at < 2e3 ? Math.max(0, Oe.start - (ke.t + (Date.now() - ke.at) / 1e3 * Y.rate)) : !de || Oe.start <= de.start ? 0 : Math.max(0, Oe.start - At(de, de.start, de.start + 4));
3594
3594
  }, Y.flow = J.current, Y.silentSpan = (R) => {
3595
3595
  var $e;
3596
3596
  const q = G.current, ne = q.findIndex((ot) => ot.sentenceId === R), de = q[ne];
3597
3597
  if (!de) return null;
3598
- const Oe = (($e = q[ne + 1]) == null ? void 0 : $e.start) ?? At(de, de.start, de.start + 4), ye = Math.max(0, Oe - de.start), ve = le.current, Ce = ve && Date.now() - ve.at < 2e3 ? ve.t + (Date.now() - ve.at) / 1e3 * (Y.rate || 1) : de.start, Ze = Math.max(0, Math.min(ye, Ce - de.start));
3598
+ const Oe = (($e = q[ne + 1]) == null ? void 0 : $e.start) ?? At(de, de.start, de.start + 4), ye = Math.max(0, Oe - de.start), ke = le.current, Ce = ke && Date.now() - ke.at < 2e3 ? ke.t + (Date.now() - ke.at) / 1e3 * (Y.rate || 1) : de.start, Ze = Math.max(0, Math.min(ye, Ce - de.start));
3599
3599
  return { fromS: Ze, ms: (ye - Ze) * 1e3 / (Y.rate || 1) };
3600
3600
  }, Y.speakable = (R) => {
3601
3601
  const q = Te.current;
@@ -3603,7 +3603,7 @@ function Wl(t, e, n, r, s, a, o = !1, l) {
3603
3603
  const ne = G.current.find((de) => de.sentenceId === R);
3604
3604
  return !ne || !q.has(ne.speaker);
3605
3605
  };
3606
- }, []), Le = v(null), we = v(null), _e = v(null), [Pe, Se] = I(!1), B = v(() => {
3606
+ }, []), Le = v(null), we = v(null), _e = v(null), [Pe, Se] = z(!1), B = v(() => {
3607
3607
  }), W = (Y) => {
3608
3608
  if (_e.current = Y, Se(!!(Y != null && Y.playing)), !Y) return;
3609
3609
  const R = Ln(Y, G.current, ze).index;
@@ -3615,7 +3615,7 @@ function Wl(t, e, n, r, s, a, o = !1, l) {
3615
3615
  var q;
3616
3616
  if (Le.current !== r) {
3617
3617
  const ne = Le.current != null ? we.current : null;
3618
- Le.current = r, (q = u.current) == null || q.stop(), u.current = new fr(), Ee(u.current), u.current.setSequence(pe.current), g(!1), N(0), C(null), ee(null), E(null), W(ne && (ne.playing || ne.t > 0) ? ne : null);
3618
+ Le.current = r, (q = u.current) == null || q.stop(), u.current = new fr(), Ee(u.current), u.current.setSequence(pe.current), M(!1), N(0), C(null), ee(null), E(null), W(ne && (ne.playing || ne.t > 0) ? ne : null);
3619
3619
  }
3620
3620
  const Y = u.current;
3621
3621
  Y.setMuted(f.current);
@@ -3638,12 +3638,12 @@ function Wl(t, e, n, r, s, a, o = !1, l) {
3638
3638
  return;
3639
3639
  }
3640
3640
  const Y = () => {
3641
- var ye, ve;
3641
+ var ye, ke;
3642
3642
  const q = ((ye = u.current) == null ? void 0 : ye.resting()) ?? null;
3643
3643
  te(!!(q != null && q.silent)), q != null && q.silent && Q.current && (Q.current = null, E(null)), re((Ce) => q == null ? null : Ce != null && Math.abs(Ce - q.s) < 0.05 ? Ce : q.s);
3644
3644
  const ne = Q.current;
3645
3645
  q == null ? k(null) : ne && ne.sid === q.sentenceId && (k(ne.t), Q.current = null, E(null));
3646
- const de = ((ve = u.current) == null ? void 0 : ve.position()) ?? null, Oe = de && je.current ? je.current[String(de.sentenceId)] ?? null : null;
3646
+ const de = ((ke = u.current) == null ? void 0 : ke.position()) ?? null, Oe = de && je.current ? je.current[String(de.sentenceId)] ?? null : null;
3647
3647
  ne && de && de.sentenceId === ne.sid && de.t > 0.1 && E(null), O((Ce) => de ? Ce && Math.abs(Ce.t - de.t) < 0.05 && Ce.dur === de.dur && Ce.words === Oe ? Ce : { t: de.t, dur: de.dur, words: Oe } : Ce == null ? Ce : null);
3648
3648
  };
3649
3649
  Y();
@@ -3657,15 +3657,15 @@ function Wl(t, e, n, r, s, a, o = !1, l) {
3657
3657
  }, me = (Y, R) => {
3658
3658
  for (let q = Y; q >= 0 && q < e.length; q += R) if (F(q)) return q;
3659
3659
  return null;
3660
- }, Z = Math.max(0, Math.min(M, Math.max(0, e.length - 1))), ke = e.length ? e[e.length - 1].start + 4 : 0, ze = n || ke || 1, Ge = v(!1), Ae = v(M);
3661
- Ae.current = M;
3660
+ }, Z = Math.max(0, Math.min(g, Math.max(0, e.length - 1))), ve = e.length ? e[e.length - 1].start + 4 : 0, ze = n || ve || 1, Ge = v(!1), Ae = v(g);
3661
+ Ae.current = g;
3662
3662
  const ge = (Y) => {
3663
3663
  var R, q, ne;
3664
- (q = u.current) == null || q.play(((R = e[Y]) == null ? void 0 : R.sentenceId) ?? null), g(!!((ne = u.current) != null && ne.playing));
3664
+ (q = u.current) == null || q.play(((R = e[Y]) == null ? void 0 : R.sentenceId) ?? null), M(!!((ne = u.current) != null && ne.playing));
3665
3665
  }, Ye = (Y) => {
3666
3666
  var q, ne, de;
3667
3667
  const R = Math.max(0, Math.min(Math.max(0, e.length - 1), Y));
3668
- N(R), Ae.current = R, y((Oe) => Oe + 1), (ne = u.current) == null || ne.seek(((q = e[R]) == null ? void 0 : q.sentenceId) ?? null), g(!!((de = u.current) != null && de.playing));
3668
+ N(R), Ae.current = R, y((Oe) => Oe + 1), (ne = u.current) == null || ne.seek(((q = e[R]) == null ? void 0 : q.sentenceId) ?? null), M(!!((de = u.current) != null && de.playing));
3669
3669
  }, Ve = (Y) => {
3670
3670
  var R;
3671
3671
  A(), E(null), (R = u.current) == null || R.startWithin(-1, 0), Ye(Y);
@@ -3675,7 +3675,7 @@ function Wl(t, e, n, r, s, a, o = !1, l) {
3675
3675
  return { from: q, span: Math.max(0, ne - q) };
3676
3676
  }, he = $(Z), ue = Math.max(0, Math.min(he.span, At(e[Z], he.from, he.from + 4) - he.from)), ie = j ? j.t : o ? S != null && ae ? he.from + Math.min(he.span, S) : S != null ? K != null ? Math.min(he.from, K + S) : he.from + Math.min(he.span, ue + S) : T && T.dur > 0 ? he.from + Math.min(ue, T.t / T.dur * ue) : he.from : T && T.dur > 0 ? he.from + Math.min(he.span, T.t / T.dur * he.span) : he.from;
3677
3677
  U(() => {
3678
- we.current = _e.current ?? Al(e, ie, d, ze);
3678
+ we.current = _e.current ?? Sl(e, ie, d, ze);
3679
3679
  });
3680
3680
  const fe = {
3681
3681
  playing: d || Pe,
@@ -3694,7 +3694,7 @@ function Wl(t, e, n, r, s, a, o = !1, l) {
3694
3694
  preparing: D != null || Pe,
3695
3695
  silent: d && ae,
3696
3696
  starting: _,
3697
- error: z,
3697
+ error: I,
3698
3698
  seekN: p,
3699
3699
  toggleMute: () => {
3700
3700
  var R;
@@ -3708,24 +3708,24 @@ function Wl(t, e, n, r, s, a, o = !1, l) {
3708
3708
  return;
3709
3709
  }
3710
3710
  if (A(), d) {
3711
- (R = u.current) == null || R.pause(), g(!1);
3711
+ (R = u.current) == null || R.pause(), M(!1);
3712
3712
  return;
3713
3713
  }
3714
3714
  C(null);
3715
3715
  const Y = Ae.current;
3716
3716
  if (!Q.current && ((ne = u.current) != null && ne.resume(((q = e[Y]) == null ? void 0 : q.sentenceId) ?? null))) {
3717
- g(!0);
3717
+ M(!0);
3718
3718
  return;
3719
3719
  }
3720
3720
  ge(Y);
3721
3721
  },
3722
3722
  pause: () => {
3723
3723
  var Y;
3724
- A(), (Y = u.current) == null || Y.pause(), g(!1);
3724
+ A(), (Y = u.current) == null || Y.pause(), M(!1);
3725
3725
  },
3726
3726
  stop: () => {
3727
3727
  var Y, R, q;
3728
- A(), (Y = u.current) == null || Y.pause(), g(!1), N(0), O(null), (q = u.current) == null || q.seek(((R = e[0]) == null ? void 0 : R.sentenceId) ?? null);
3728
+ A(), (Y = u.current) == null || Y.pause(), M(!1), N(0), O(null), (q = u.current) == null || q.seek(((R = e[0]) == null ? void 0 : R.sentenceId) ?? null);
3729
3729
  },
3730
3730
  seekRow: Ve,
3731
3731
  resumeAt: (Y) => {
@@ -3745,8 +3745,8 @@ function Wl(t, e, n, r, s, a, o = !1, l) {
3745
3745
  Q.current = He, E(He), Ye(be);
3746
3746
  return;
3747
3747
  }
3748
- const Oe = (ne == null ? void 0 : ne.sentenceId) ?? null, { from: ye, span: ve } = $(q);
3749
- let Ce = ve > 0 ? Math.max(0, Math.min(1, (R - ye) / ve)) : 0;
3748
+ const Oe = (ne == null ? void 0 : ne.sentenceId) ?? null, { from: ye, span: ke } = $(q);
3749
+ let Ce = ke > 0 ? Math.max(0, Math.min(1, (R - ye) / ke)) : 0;
3750
3750
  const Ze = Oe != null ? (rt = je.current) == null ? void 0 : rt[String(Oe)] : void 0, $e = Ze != null && Ze.length ? Ze[Ze.length - 1][1] : 0;
3751
3751
  if (ne && Ze && Ze.length === ne.words.length && $e > 0) {
3752
3752
  let be = 0;
@@ -3757,11 +3757,11 @@ function Wl(t, e, n, r, s, a, o = !1, l) {
3757
3757
  Oe != null && ((gt = u.current) == null || gt.startWithin(Oe, Ce)), E(Ce > 0.01 ? { t: R, sid: Oe } : null), Ye(q);
3758
3758
  },
3759
3759
  seekWord: a ? (Y) => {
3760
- var de, Oe, ye, ve;
3760
+ var de, Oe, ye, ke;
3761
3761
  const R = e[Z];
3762
3762
  if (!R || R.sentenceId == null) return;
3763
3763
  const q = R.words.findIndex((Ce) => Ce.seq === Y.seq && Ce.idx === Y.idx), ne = q >= 0 ? (ye = (Oe = (de = je.current) == null ? void 0 : de[String(R.sentenceId)]) == null ? void 0 : Oe[q]) == null ? void 0 : ye[0] : void 0;
3764
- ne != null && ((ve = u.current) == null || ve.seekWithin(ne));
3764
+ ne != null && ((ke = u.current) == null || ke.seekWithin(ne));
3765
3765
  } : void 0,
3766
3766
  playRow: (Y) => {
3767
3767
  var q;
@@ -3796,7 +3796,7 @@ function Wl(t, e, n, r, s, a, o = !1, l) {
3796
3796
  if (R == null) return;
3797
3797
  N(Y), Ae.current = Y, E(null), Q.current = null, (de = u.current) == null || de.joinSilently(R);
3798
3798
  const q = ((Oe = u.current) == null ? void 0 : Oe.resting()) ?? null;
3799
- re((q == null ? void 0 : q.s) ?? null), te(!!(q != null && q.silent)), g(!!((ye = u.current) != null && ye.playing));
3799
+ re((q == null ? void 0 : q.s) ?? null), te(!!(q != null && q.silent)), M(!!((ye = u.current) != null && ye.playing));
3800
3800
  }
3801
3801
  return fe.joinAt = o ? (Y) => {
3802
3802
  A(), Ue(Ln({ t: Y, playing: !0, sentenceId: null, offset: 0, ended: !1 }, e, ze).index);
@@ -3810,31 +3810,31 @@ function Wl(t, e, n, r, s, a, o = !1, l) {
3810
3810
  (q = fe.seekFrac) == null || q.call(fe, R.t / ze), R.playing && ge(Ae.current);
3811
3811
  }, fe;
3812
3812
  }
3813
- const Fl = () => {
3814
- }, Gl = "The language this recording is read aloud in.", Zl = { title: "READ IN", note: "The transcript and its voice switch to this language." };
3815
- function ql({ recordingId: t, model: e, rows: n, lenS: r, ended: s, cred: a, langs: o, srcLang: l, canTranslate: c, pickedLang: u, setPickedLang: d, side: g, hearOriginal: M = !1, timed: N = !1, stockVoices: p = !1, stickyPicker: y = !1, pickerBusy: L = null, voiceSheet: m, forcedVoice: f = null }) {
3813
+ const Wl = () => {
3814
+ }, Fl = "The language this recording is read aloud in.", Gl = { title: "READ IN", note: "The transcript and its voice switch to this language." };
3815
+ function Zl({ recordingId: t, model: e, rows: n, lenS: r, ended: s, cred: a, langs: o, srcLang: l, canTranslate: c, pickedLang: u, setPickedLang: d, side: M, hearOriginal: g = !1, timed: N = !1, stockVoices: p = !1, stickyPicker: y = !1, pickerBusy: L = null, voiceSheet: m, forcedVoice: f = null }) {
3816
3816
  var on, Gt, Zt, qt;
3817
- const { onAddVoice: z, onPickVoice: C, onSelectSpeaker: D, noCloneFor: V, castNoClone: _, castShort: ee, castBuilding: j, castWarn: E, badge: Q, titleNode: T } = m ?? {}, O = !!m, S = !!(m != null && m.pendingClones), [re, K] = fi(), [k, ae] = I(null), [te, G] = I(!1), [J, pe] = I(!1), [le, Te] = I(!1), [je, Ee] = I(!1), Le = u ?? l, we = u === null, _e = u != null || k != null, Se = ((P) => !!P && !!(o != null && o.voice.includes(P)))(we ? l : Le) ? we ? l : Le : "en", B = Sl(Se), W = (m == null ? void 0 : m.cloneOn) ?? !0, [A, b] = I(0), H = v(W);
3817
+ const { onAddVoice: I, onPickVoice: C, onSelectSpeaker: D, noCloneFor: V, castNoClone: _, castShort: ee, castBuilding: j, castWarn: E, badge: Q, titleNode: T } = m ?? {}, O = !!m, S = !!(m != null && m.pendingClones), [re, K] = gi(), [k, ae] = z(null), [te, G] = z(!1), [J, pe] = z(!1), [le, Te] = z(!1), [je, Ee] = z(!1), Le = u ?? l, we = u === null, _e = u != null || k != null, Se = ((P) => !!P && !!(o != null && o.voice.includes(P)))(we ? l : Le) ? we ? l : Le : "en", B = Dl(Se), W = (m == null ? void 0 : m.cloneOn) ?? !0, [A, b] = z(0), H = v(W);
3818
3818
  U(() => {
3819
3819
  H.current !== W && (H.current = W, b((P) => P + 1));
3820
3820
  }, [W]);
3821
- const ce = hl(Se, _e || s || J, Ml(e) * 1e3 + A, { id: t ?? null, shareCode: a.shareCode ?? null }), F = Ie(() => ((ce == null ? void 0 : ce.voices) ?? []).filter((P) => O || !P.cloned || P.speaker != null), [ce, O]), me = F.length > 1, Z = wr(o, Le), ke = ji(), ze = Ie(() => pi(o, "translation"), [o]), [Ge, Ae] = I(null), [ge] = I(() => /* @__PURE__ */ new Set()), [Ye, Ve] = I({}), $ = Ie(() => ol(n, e, ke.vcUnknownSpk), [n, e, ke]), he = me && $.filter((P) => P.key >= 0).length > 1, ue = Ge != null && $.some((P) => P.key === Ge) ? Ge : ((on = $[0]) == null ? void 0 : on.key) ?? null, ie = Ie(() => {
3821
+ const ce = dl(Se, _e || s || J, hl(e) * 1e3 + A, { id: t ?? null, shareCode: a.shareCode ?? null }), F = Ie(() => ((ce == null ? void 0 : ce.voices) ?? []).filter((P) => O || !P.cloned || P.speaker != null), [ce, O]), me = F.length > 1, Z = wr(o, Le), ve = ki(), ze = Ie(() => fi(o, "translation"), [o]), [Ge, Ae] = z(null), [ge] = z(() => /* @__PURE__ */ new Set()), [Ye, Ve] = z({}), $ = Ie(() => al(n, e, ve.vcUnknownSpk), [n, e, ve]), he = me && $.filter((P) => P.key >= 0).length > 1, ue = Ge != null && $.some((P) => P.key === Ge) ? Ge : ((on = $[0]) == null ? void 0 : on.key) ?? null, ie = Ie(() => {
3822
3822
  const P = Gs($, F, W);
3823
3823
  for (const [De, Be] of Object.entries(Ye[Se ?? ""] ?? {})) P.set(Number(De), Be);
3824
3824
  return P;
3825
- }, [$, F, Ye, Se, W]), fe = he && Object.keys(Ye[Se ?? ""] ?? {}).length > 0, Ue = Ie(() => p && !fe ? Gs($, F, !1) : null, [p, fe, $, F]), Y = Ie(() => fe ? Ws(ie) || null : Ue && Ws(Ue) || null, [fe, ie, Ue]), R = fe ? ie : Ue, q = F.some((P) => P.cloned && P.consent !== "pending"), ne = !!Le && !!(o != null && o.voice.includes(Le)), de = ne && !M, Oe = Ie(
3825
+ }, [$, F, Ye, Se, W]), fe = he && Object.keys(Ye[Se ?? ""] ?? {}).length > 0, Ue = Ie(() => p && !fe ? Gs($, F, !1) : null, [p, fe, $, F]), Y = Ie(() => fe ? Ws(ie) || null : Ue && Ws(Ue) || null, [fe, ie, Ue]), R = fe ? ie : Ue, q = F.some((P) => P.cloned && P.consent !== "pending"), ne = !!Le && !!(o != null && o.voice.includes(Le)), de = ne && !g, Oe = Ie(
3826
3826
  () => n.filter((P) => !P.suppressed && !P.unclear).map((P) => P.sentenceId).filter((P) => P != null),
3827
3827
  [n]
3828
- ), ye = gl({ recordingId: t, lang: Le, ended: s, cred: a, pickedVoice: f || (Y ?? k), sentenceIds: s && de ? Oe : void 0 }), ve = F.find((P) => P.id === k) ?? F.find((P) => {
3828
+ ), ye = Ml({ recordingId: t, lang: Le, ended: s, cred: a, pickedVoice: f || (Y ?? k), sentenceIds: s && de ? Oe : void 0 }), ke = F.find((P) => P.id === k) ?? F.find((P) => {
3829
3829
  var De;
3830
3830
  return P.id === ((De = ye.track) == null ? void 0 : De.voice);
3831
- }) ?? F.find((P) => P.default) ?? F[0] ?? null, Ce = (ve == null ? void 0 : ve.id) ?? null;
3831
+ }) ?? F.find((P) => P.default) ?? F[0] ?? null, Ce = (ke == null ? void 0 : ke.id) ?? null;
3832
3832
  U(() => {
3833
3833
  if (!ye.rendering) return;
3834
3834
  const P = setInterval(ye.reload, 4e3);
3835
3835
  return () => clearInterval(P);
3836
3836
  }, [ye.rendering, ye.reload]);
3837
- const Ze = `${t ?? ""}|${Le ?? ""}|${f || (Y ?? k ?? ((Gt = ye.track) == null ? void 0 : Gt.voiceKey) ?? "default")}`, $e = Wl(ye.clips, n, r, Ze, ge, (Zt = ye.track) == null ? void 0 : Zt.wordTimes, N, ye.coming);
3837
+ const Ze = `${t ?? ""}|${Le ?? ""}|${f || (Y ?? k ?? ((Gt = ye.track) == null ? void 0 : Gt.voiceKey) ?? "default")}`, $e = Hl(ye.clips, n, r, Ze, ge, (Zt = ye.track) == null ? void 0 : Zt.wordTimes, N, ye.coming);
3838
3838
  U(() => {
3839
3839
  var De;
3840
3840
  const P = (De = n[$e.idx]) == null ? void 0 : De.sentenceId;
@@ -3855,7 +3855,7 @@ function ql({ recordingId: t, model: e, rows: n, lenS: r, ended: s, cred: a, lan
3855
3855
  }, it = () => G(!0), lt = () => {
3856
3856
  G(!1), pe(le), Te(!1);
3857
3857
  }, Ht = (P) => {
3858
- if (d(P), K(P), !((g || y) && !le)) {
3858
+ if (d(P), K(P), !((M || y) && !le)) {
3859
3859
  if (P != null) {
3860
3860
  lt();
3861
3861
  return;
@@ -3885,7 +3885,7 @@ function ql({ recordingId: t, model: e, rows: n, lenS: r, ended: s, cred: a, lan
3885
3885
  return;
3886
3886
  }
3887
3887
  ae(P);
3888
- }, ct = we ? { ...wr(o, null), flag: /* @__PURE__ */ i(oe, { d: X.langAuto, size: 21, sw: 1.7, style: { color: "currentColor", display: "block" } }) } : Z, nn = c ? g ? /* @__PURE__ */ i("span", { className: "barchip", style: x ? { background: "var(--brand-tint)", boxShadow: "0 0 0 1.5px var(--brand)" } : void 0, children: /* @__PURE__ */ i(zn, { flag: ct.flag, code: ct.code, bordered: !1, onClick: Lt, flagOnly: !0, label: ct.label }) }) : /* @__PURE__ */ i(zn, { flag: ct.flag, code: ct.code, bordered: !1, onClick: it, flagOnly: !0, label: ct.label }) : null, Je = X.voiceClone, ut = _e && (!!ye.track || ot), Ft = rt ? "var(--conf-low)" : ut || g && wt ? "var(--brand)" : "var(--ink-55)", dt = ot || !!$e.preparing && _e, kt = $e.preparing ? `Speaking this line in ${(ve == null ? void 0 : ve.name) ?? "this voice"}…` : ot ? `Preparing this recording in ${(ve == null ? void 0 : ve.name) ?? "this voice"} — it will play as soon as it is ready` : rt ? `This voice could not be prepared: ${rt}` : ne ? me ? "Choose a voice" : ve ? ve.name : ke.vcNoVoice + Z.label : `${ke.vcNoVoice}${Z.label}`, rn = /* @__PURE__ */ i(Ba, { open: te, onClose: lt, keepOpen: (!!g || y) && !le, value: we ? null : Le, onSelect: Ht, languages: ze, title: (g == null ? void 0 : g.title) ?? "SPOKEN LANGUAGE", note: (g == null ? void 0 : g.note) ?? Gl, searchPlaceholder: ke.search, none: "Original", pinned: (we ? l : Le) ? [we ? l : Le] : [], recent: re, requireVoice: le, sticky: y, busy: L }), bt = Ie(() => F.filter((P) => P.cloned && !P.auto), [F]), _t = (P) => P.voiceId ? bt.find((De) => De.id === `clone:${P.voiceId}`) ?? null : null, ht = Ie(() => $.filter((P) => P.key >= 0), [$]), Yt = Ie(() => {
3888
+ }, ct = we ? { ...wr(o, null), flag: /* @__PURE__ */ i(oe, { d: X.langAuto, size: 21, sw: 1.7, style: { color: "currentColor", display: "block" } }) } : Z, nn = c ? M ? /* @__PURE__ */ i("span", { className: "barchip", style: x ? { background: "var(--brand-tint)", boxShadow: "0 0 0 1.5px var(--brand)" } : void 0, children: /* @__PURE__ */ i(zn, { flag: ct.flag, code: ct.code, bordered: !1, onClick: Lt, flagOnly: !0, label: ct.label }) }) : /* @__PURE__ */ i(zn, { flag: ct.flag, code: ct.code, bordered: !1, onClick: it, flagOnly: !0, label: ct.label }) : null, Je = X.voiceClone, ut = _e && (!!ye.track || ot), Ft = rt ? "var(--conf-low)" : ut || M && wt ? "var(--brand)" : "var(--ink-55)", dt = ot || !!$e.preparing && _e, vt = $e.preparing ? `Speaking this line in ${(ke == null ? void 0 : ke.name) ?? "this voice"}…` : ot ? `Preparing this recording in ${(ke == null ? void 0 : ke.name) ?? "this voice"} — it will play as soon as it is ready` : rt ? `This voice could not be prepared: ${rt}` : ne ? me ? "Choose a voice" : ke ? ke.name : ve.vcNoVoice + Z.label : `${ve.vcNoVoice}${Z.label}`, rn = /* @__PURE__ */ i($a, { open: te, onClose: lt, keepOpen: (!!M || y) && !le, value: we ? null : Le, onSelect: Ht, languages: ze, title: (M == null ? void 0 : M.title) ?? "SPOKEN LANGUAGE", note: (M == null ? void 0 : M.note) ?? Fl, searchPlaceholder: ve.search, none: "Original", pinned: (we ? l : Le) ? [we ? l : Le] : [], recent: re, requireVoice: le, sticky: y, busy: L }), bt = Ie(() => F.filter((P) => P.cloned && !P.auto), [F]), _t = (P) => P.voiceId ? bt.find((De) => De.id === `clone:${P.voiceId}`) ?? null : null, ht = Ie(() => $.filter((P) => P.key >= 0), [$]), Yt = Ie(() => {
3889
3889
  const P = F.filter((Be) => !Be.cloned);
3890
3890
  if (!he) return [...P, ...s && ht.length === 1 ? bt.filter((Be) => Be.id === `clone:${ht[0].voiceId}`) : []];
3891
3891
  const De = [];
@@ -3898,17 +3898,17 @@ function ql({ recordingId: t, model: e, rows: n, lenS: r, ended: s, cred: a, lan
3898
3898
  }, [F, bt, he, ht, S, s]), Xe = he ? ht.find((P) => P.key === ue) ?? null : null, qe = (P) => {
3899
3899
  var De;
3900
3900
  return P ? ((De = F.find((Be) => Be.id === P)) == null ? void 0 : De.gender) ?? null : null;
3901
- }, Ut = Xe ? Xe.sex ?? qe(ie.get(Xe.key)) : null, sn = Ie(() => Xe ? Yt.filter((P) => P.cloned ? P.live ? P.speaker === Xe.key : P.id === `clone:${Xe.voiceId}` : !0) : Yt, [Yt, Xe, Ut, ht]), Rt = (P) => F.find((De) => De.cloned && De.auto && De.speaker === P) ?? null, We = { people: ht, gvList: F, autoOf: Rt, savedFor: _t }, xt = (Q == null ? void 0 : Q(We)) ?? 0, vt = E ? ht.map((P) => E(P, We)).filter((P) => !!P) : [], Dn = /* @__PURE__ */ h("button", { type: "button", className: "txvoice", "aria-label": "Voice", "aria-pressed": g ? wt : void 0, title: dt || rt ? kt : void 0, style: { cursor: "pointer", background: ut || dt || g && wt ? "var(--brand-tint)" : "var(--fill-06)", boxShadow: g && wt ? "inset 0 0 0 1.5px var(--brand)" : void 0 }, onClick: g ? Ot : se, children: [
3901
+ }, Ut = Xe ? Xe.sex ?? qe(ie.get(Xe.key)) : null, sn = Ie(() => Xe ? Yt.filter((P) => P.cloned ? P.live ? P.speaker === Xe.key : P.id === `clone:${Xe.voiceId}` : !0) : Yt, [Yt, Xe, Ut, ht]), Rt = (P) => F.find((De) => De.cloned && De.auto && De.speaker === P) ?? null, We = { people: ht, gvList: F, autoOf: Rt, savedFor: _t }, xt = (Q == null ? void 0 : Q(We)) ?? 0, kt = E ? ht.map((P) => E(P, We)).filter((P) => !!P) : [], Dn = /* @__PURE__ */ h("button", { type: "button", className: "txvoice", "aria-label": "Voice", "aria-pressed": M ? wt : void 0, title: dt || rt ? vt : void 0, style: { cursor: "pointer", background: ut || dt || M && wt ? "var(--brand-tint)" : "var(--fill-06)", boxShadow: M && wt ? "inset 0 0 0 1.5px var(--brand)" : void 0 }, onClick: M ? Ot : se, children: [
3902
3902
  dt ? /* @__PURE__ */ i("span", { style: { width: 16, height: 16, borderRadius: "50%", border: "2px solid var(--fill-10)", borderTopColor: "var(--brand)", animation: "vs-spin .7s linear infinite" } }) : /* @__PURE__ */ i(oe, { d: Je, size: 17, sw: 1.6, style: { color: Ft } }),
3903
- vt.length > 0 ? /* @__PURE__ */ i("span", { className: "txvoice__warn", title: vt.join(" · "), children: "!" }) : !!xt && /* @__PURE__ */ i("span", { className: "txvoice__n", title: `${xt} speaker${xt === 1 ? "" : "s"} can get a cloned voice`, children: xt })
3904
- ] }), an = /* @__PURE__ */ i(Vt, { open: J, onClose: Wt, title: ke.vcSheet, titleNode: T, doneLabel: ke.done, children: /* @__PURE__ */ i(
3905
- cl,
3903
+ kt.length > 0 ? /* @__PURE__ */ i("span", { className: "txvoice__warn", title: kt.join(" · "), children: "!" }) : !!xt && /* @__PURE__ */ i("span", { className: "txvoice__n", title: `${xt} speaker${xt === 1 ? "" : "s"} can get a cloned voice`, children: xt })
3904
+ ] }), an = /* @__PURE__ */ i(Vt, { open: J, onClose: Wt, title: ve.vcSheet, titleNode: T, doneLabel: ve.done, children: /* @__PURE__ */ i(
3905
+ ll,
3906
3906
  {
3907
- t: ke,
3907
+ t: ve,
3908
3908
  cast: he && /* @__PURE__ */ i(
3909
- ll,
3909
+ ol,
3910
3910
  {
3911
- t: ke,
3911
+ t: ve,
3912
3912
  roster: $,
3913
3913
  selected: ue,
3914
3914
  onSelect: (P) => {
@@ -3923,7 +3923,7 @@ function ql({ recordingId: t, model: e, rows: n, lenS: r, ended: s, cred: a, lan
3923
3923
  ),
3924
3924
  voices: sn,
3925
3925
  onAdd: (P) => {
3926
- B.reset(), z == null || z(P);
3926
+ B.reset(), I == null || I(P);
3927
3927
  },
3928
3928
  noClone: Xe && !sn.some((P) => P.cloned) ? (V == null ? void 0 : V(Xe, Rt(Xe.key), We)) ?? null : null,
3929
3929
  usedBy: he && ue != null ? (P) => {
@@ -3949,12 +3949,12 @@ function ql({ recordingId: t, model: e, rows: n, lenS: r, ended: s, cred: a, lan
3949
3949
  },
3950
3950
  onUse: Ct
3951
3951
  }
3952
- ) }), jt = g ? null : /* @__PURE__ */ h(xe, { children: [
3952
+ ) }), jt = M ? null : /* @__PURE__ */ h(xe, { children: [
3953
3953
  rn,
3954
3954
  an
3955
- ] }), Sn = g && (te || J) ? /* @__PURE__ */ i("div", { className: "vs-side", children: te ? rn : an }) : null, An = be && rt ? `This voice could not be prepared: ${rt}` : null, En = gt;
3955
+ ] }), Sn = M && (te || J) ? /* @__PURE__ */ i("div", { className: "vs-side", children: te ? rn : an }) : null, An = be && rt ? `This voice could not be prepared: ${rt}` : null, En = gt;
3956
3956
  return {
3957
- barChip: { flag: ct.flag, code: ct.code, label: ct.label, onClick: g || y ? Lt : it, active: !!((g || y) && x), can: c },
3957
+ barChip: { flag: ct.flag, code: ct.code, label: ct.label, onClick: M || y ? Lt : it, active: !!((M || y) && x), can: c },
3958
3958
  sheetsOpen: te || J,
3959
3959
  on: be,
3960
3960
  player: He,
@@ -3991,7 +3991,7 @@ function ql({ recordingId: t, model: e, rows: n, lenS: r, ended: s, cred: a, lan
3991
3991
  readLang: typeof u == "string" && u !== l ? u : null,
3992
3992
  readVoiceKey: f || (Y ?? k ?? ((qt = ye.track) == null ? void 0 : qt.voiceKey) ?? ""),
3993
3993
  pickedVoiceKey: Y ?? k ?? null,
3994
- readVoiceName: (ve == null ? void 0 : ve.name) ?? null,
3994
+ readVoiceName: (ke == null ? void 0 : ke.name) ?? null,
3995
3995
  canSpeak: ne,
3996
3996
  requestTrack: () => ye.requestRender(Y ?? k, Y ? R : null),
3997
3997
  hasClone: q,
@@ -4000,15 +4000,15 @@ function ql({ recordingId: t, model: e, rows: n, lenS: r, ended: s, cred: a, lan
4000
4000
  closePicker: () => {
4001
4001
  x && lt();
4002
4002
  },
4003
- langList: { value: we ? null : Le, onSelect: Ht, languages: ze, searchPlaceholder: ke.search, none: "Original", pinned: (we ? l : Le) ? [we ? l : Le] : [], recent: re }
4003
+ langList: { value: we ? null : Le, onSelect: Ht, languages: ze, searchPlaceholder: ve.search, none: "Original", pinned: (we ? l : Le) ? [we ? l : Le] : [], recent: re }
4004
4004
  };
4005
4005
  }
4006
- function Kl({ model: t, rows: e, player: n, fixed: r, applied: s, onFixOpen: a, onWord: o, onFix: l, fixMode: c, fixingId: u, marks: d = !0, fixBadges: g = !0, tail: M, tailFg: N, running: p, desk: y, feedRef: L, listener: m, showLabels: f, find: z, findOpen: C, lang: D, warm: V, onVisible: _, wordHl: ee = !0 }) {
4006
+ function ql({ model: t, rows: e, player: n, fixed: r, applied: s, onFixOpen: a, onWord: o, onFix: l, fixMode: c, fixingId: u, marks: d = !0, fixBadges: M = !0, tail: g, tailFg: N, running: p, desk: y, feedRef: L, listener: m, showLabels: f, find: I, findOpen: C, lang: D, warm: V, onVisible: _, wordHl: ee = !0 }) {
4007
4007
  const { playing: j, engaged: E, t: Q, idx: T, seekN: O, wordSync: S, clipPos: re } = n;
4008
- kl(!0, L);
4008
+ Ll(!0, L);
4009
4009
  const K = v(null);
4010
- Ko(L, K);
4011
- const [k, ae] = I(null), te = (z ?? "").trim().toLowerCase(), [G, J] = I(0), pe = v(0), le = v(null), Te = v(T), je = (W) => {
4010
+ qo(L, K);
4011
+ const [k, ae] = z(null), te = (I ?? "").trim().toLowerCase(), [G, J] = z(0), pe = v(0), le = v(null), Te = v(T), je = (W) => {
4012
4012
  var A;
4013
4013
  return ((A = L.current) == null ? void 0 : A.querySelector(`[data-tx-row="${W}"]`)) ?? null;
4014
4014
  }, Ee = v("");
@@ -4017,9 +4017,9 @@ function Kl({ model: t, rows: e, player: n, fixed: r, applied: s, onFixOpen: a,
4017
4017
  if (!W || !_) return;
4018
4018
  const A = () => {
4019
4019
  const F = W.getBoundingClientRect(), me = [];
4020
- for (const ke of Array.from(W.querySelectorAll("[data-sentence]"))) {
4021
- const ze = ke.getBoundingClientRect();
4022
- ze.bottom > F.top && ze.top < F.bottom && me.push(Number(ke.dataset.sentence));
4020
+ for (const ve of Array.from(W.querySelectorAll("[data-sentence]"))) {
4021
+ const ze = ve.getBoundingClientRect();
4022
+ ze.bottom > F.top && ze.top < F.bottom && me.push(Number(ve.dataset.sentence));
4023
4023
  }
4024
4024
  const Z = me.join(",");
4025
4025
  Z !== Ee.current && (Ee.current = Z, _(me));
@@ -4046,7 +4046,7 @@ function Kl({ model: t, rows: e, player: n, fixed: r, applied: s, onFixOpen: a,
4046
4046
  pe.current = performance.now() + 420;
4047
4047
  const A = L.current, b = je(W);
4048
4048
  if (!A || !A.clientHeight || !b) return;
4049
- const H = b.getBoundingClientRect(), ce = A.getBoundingClientRect(), F = A.scrollHeight - A.clientHeight, me = A.scrollTop, Z = lr(A), ke = Math.max(80, A.clientHeight - Z.top - Z.bottom), ze = H.height > ke ? 8 : (ke - H.height) / 2, Ge = Math.max(0, Math.min(F, me + (H.top - ce.top) - Z.top - ze));
4049
+ const H = b.getBoundingClientRect(), ce = A.getBoundingClientRect(), F = A.scrollHeight - A.clientHeight, me = A.scrollTop, Z = lr(A), ve = Math.max(80, A.clientHeight - Z.top - Z.bottom), ze = H.height > ve ? 8 : (ve - H.height) / 2, Ge = Math.max(0, Math.min(F, me + (H.top - ce.top) - Z.top - ze));
4050
4050
  if (le.current && cancelAnimationFrame(le.current), Math.abs(Ge - me) < 2) {
4051
4051
  A.scrollTop = Ge, le.current = null;
4052
4052
  return;
@@ -4085,36 +4085,36 @@ function Kl({ model: t, rows: e, player: n, fixed: r, applied: s, onFixOpen: a,
4085
4085
  "Now playing"
4086
4086
  ] }) });
4087
4087
  return /* @__PURE__ */ h("div", { ref: L, "data-tx-feed": "1", className: `txfeed${y ? " txfeed--desk" : ""}${C && !p ? " is-find" : ""}`, children: [
4088
- /* @__PURE__ */ i(Jo, { thumbRef: K }),
4088
+ /* @__PURE__ */ i(Ko, { thumbRef: K }),
4089
4089
  j && G === -1 && B("up"),
4090
4090
  e.map((W, A) => {
4091
4091
  var he;
4092
4092
  const b = j && A === T, H = E && A === T, ce = !!u && u === W.id, F = te && !W.text.toLowerCase().includes(te) && !(D && ((he = W.translations[D]) != null && he.toLowerCase().includes(te))) ? 0.22 : !E || A <= T || ce ? 1 : 0.38, me = m ? () => n.playRow(A) : c && l ? () => {
4093
4093
  j && !b && n.seekRow(A), l(W);
4094
- } : j && b ? void 0 : () => n.playRow(A), Z = m ? null : tl(W, s, r), ke = !!Z && (Z.script > 0 || Z.manual), ze = y && !!a && k === W.id && !!Z && !ke, Ge = br(t, W.speaker), Ae = xr(t, W.speaker), ge = Ae.lane, Ye = D && W.translations[D] && W.language !== D ? W.translations[D] : null, Ve = Di(e, A, D), $ = H && !S && re ? Mi(Ve.map((ue) => ({ t: ue.text, sp: " " })), re) : null;
4094
+ } : j && b ? void 0 : () => n.playRow(A), Z = m ? null : el(W, s, r), ve = !!Z && (Z.script > 0 || Z.manual), ze = y && !!a && k === W.id && !!Z && !ve, Ge = br(t, W.speaker), Ae = xr(t, W.speaker), ge = Ae.lane, Ye = D && W.translations[D] && W.language !== D ? W.translations[D] : null, Ve = xi(e, A, D), $ = H && !S && re ? hi(Ve.map((ue) => ({ t: ue.text, sp: " " })), re) : null;
4095
4095
  return /* @__PURE__ */ h("div", { "data-tx-row": A, "data-sentence": W.sentenceId, className: `txline${V ? " txline--warm" : ""}${ce ? " txline--fixing" : ""}`, "aria-current": ce || void 0, style: { opacity: F }, onClick: me, onMouseEnter: y && a ? () => ae(W.id) : void 0, onMouseLeave: y && a ? () => ae(null) : void 0, children: [
4096
4096
  /* @__PURE__ */ h("div", { className: "txline__meta", children: [
4097
4097
  /* @__PURE__ */ i("span", { className: "txline__at", children: yt(W.start) }),
4098
4098
  f && W.speaker >= 0 && /* @__PURE__ */ h(xe, { children: [
4099
- /* @__PURE__ */ i("div", { className: `lanechip bg-lane-${ge}`, style: Ae.soft ? { background: Ae.soft, color: Ae.fg } : void 0, children: yi(t, W.speaker) }),
4099
+ /* @__PURE__ */ i("div", { className: `lanechip bg-lane-${ge}`, style: Ae.soft ? { background: Ae.soft, color: Ae.fg } : void 0, children: mi(t, W.speaker) }),
4100
4100
  /* @__PURE__ */ i("span", { className: `txline__who lane-${ge}`, style: Ae.fg ? { color: Ae.fg } : void 0, children: Ge }),
4101
- Ae.hasVoice && /* @__PURE__ */ i(Ci, { color: Ae.fg ?? `var(--lane-${ge})` })
4101
+ Ae.hasVoice && /* @__PURE__ */ i(Oi, { color: Ae.fg ?? `var(--lane-${ge})` })
4102
4102
  ] }),
4103
4103
  b && /* @__PURE__ */ i("span", { title: "Playing", style: { flex: "none", display: "inline-flex", alignItems: "center" }, children: /* @__PURE__ */ i(oe, { d: X.headphones, size: y ? 15 : 14, sw: 1.6, stroke: f && W.speaker >= 0 ? Ae.fg ?? `var(--lane-${ge})` : "var(--ink-45)" }) }),
4104
- Z && g && /* @__PURE__ */ i(nl, { f: Z, desk: y, onOpen: a ? () => a(W, !0) : void 0 }),
4105
- ze && /* @__PURE__ */ i(rl, { alone: !0, onOpen: () => a == null ? void 0 : a(W, !1) })
4104
+ Z && M && /* @__PURE__ */ i(tl, { f: Z, desk: y, onOpen: a ? () => a(W, !0) : void 0 }),
4105
+ ze && /* @__PURE__ */ i(nl, { alone: !0, onOpen: () => a == null ? void 0 : a(W, !1) })
4106
4106
  ] }),
4107
4107
  /* @__PURE__ */ i("div", { className: "txline__text", children: Ve.map((ue, ie) => {
4108
- const fe = `${ue.seq}:${ue.idx}`, Ue = Lo(ue.prob), Y = H && ee, R = Y && (S ? Q >= ue.start && (Q < ue.end || ie === Ve.length - 1 || Q < Ve[ie + 1].start) : ie === $), q = Y && !R && (S ? ue.start > Q : $ != null && ie > $), ne = !Ye && !m && (!!(r != null && r.has(fe)) || !!ue.script), de = !Ye && !m && d && !!Ue && !ne, Oe = de ? Ue === "low" ? "var(--conf-low-half)" : "var(--conf-mid-half)" : null, ye = ne ? "var(--brand)" : q ? "var(--ink-40)" : Oe ?? "var(--ink-96)";
4108
+ const fe = `${ue.seq}:${ue.idx}`, Ue = wo(ue.prob), Y = H && ee, R = Y && (S ? Q >= ue.start && (Q < ue.end || ie === Ve.length - 1 || Q < Ve[ie + 1].start) : ie === $), q = Y && !R && (S ? ue.start > Q : $ != null && ie > $), ne = !Ye && !m && (!!(r != null && r.has(fe)) || !!ue.script), de = !Ye && !m && d && !!Ue && !ne, Oe = de ? Ue === "low" ? "var(--conf-low-half)" : "var(--conf-mid-half)" : null, ye = ne ? "var(--brand)" : q ? "var(--ink-40)" : Oe ?? "var(--ink-96)";
4109
4109
  return /* @__PURE__ */ h("span", { children: [
4110
4110
  /* @__PURE__ */ i(
4111
4111
  "span",
4112
4112
  {
4113
4113
  className: "txw",
4114
4114
  title: o && !Ye ? c ? "Correct this word" : b && j && n.seekWord ? "Play from this word" : "Play from this line" : b ? "" : "Play from this line",
4115
- onClick: o && !Ye ? (ve) => {
4115
+ onClick: o && !Ye ? (ke) => {
4116
4116
  var Ce;
4117
- if (ve.stopPropagation(), c) {
4117
+ if (ke.stopPropagation(), c) {
4118
4118
  o(W, ue);
4119
4119
  return;
4120
4120
  }
@@ -4137,11 +4137,11 @@ function Kl({ model: t, rows: e, player: n, fixed: r, applied: s, onFixOpen: a,
4137
4137
  /* @__PURE__ */ i("span", {}),
4138
4138
  /* @__PURE__ */ i("span", {}),
4139
4139
  /* @__PURE__ */ i("span", {})
4140
- ] }) }) : /* @__PURE__ */ i("div", { className: "txtail", style: { color: N }, children: M }),
4140
+ ] }) }) : /* @__PURE__ */ i("div", { className: "txtail", style: { color: N }, children: g }),
4141
4141
  j && G === 1 && B("down")
4142
4142
  ] });
4143
4143
  }
4144
- function Jl({ open: t, q: e, onQ: n, onClose: r, hits: s, desk: a, inline: o, flash: l }) {
4144
+ function Kl({ open: t, q: e, onQ: n, onClose: r, hits: s, desk: a, inline: o, flash: l }) {
4145
4145
  return /* @__PURE__ */ i("div", { className: o ? "searchbar searchbar--inline" : `searchbar searchbar--float${a ? " searchbar--desk" : ""}${t ? "" : " is-hidden"}`, children: /* @__PURE__ */ h("div", { children: [
4146
4146
  /* @__PURE__ */ i(oe, { d: X.search, size: 16, sw: 1.7, style: { color: "var(--ink-45)", flex: "none" } }),
4147
4147
  /* @__PURE__ */ i("input", { value: e, onChange: (c) => n(c.target.value), onKeyDown: (c) => {
@@ -4155,29 +4155,29 @@ function Jl({ open: t, q: e, onQ: n, onClose: r, hits: s, desk: a, inline: o, fl
4155
4155
  e.trim() && /* @__PURE__ */ i("button", { type: "button", className: "searchbar__x", onClick: () => n(""), "aria-label": "Clear", title: "Clear", children: /* @__PURE__ */ i(oe, { d: X.close, size: 15, sw: 1.7 }) })
4156
4156
  ] }) });
4157
4157
  }
4158
- function Xl(t, e, n, r, s) {
4158
+ function Jl(t, e, n, r, s) {
4159
4159
  const a = v(n);
4160
4160
  a.current = n;
4161
4161
  const o = v(r);
4162
4162
  o.current = r;
4163
- const [l, c] = I(0), u = r.trim().toLowerCase();
4163
+ const [l, c] = z(0), u = r.trim().toLowerCase();
4164
4164
  return U(() => {
4165
4165
  c(u ? e.filter((d) => d.text.toLowerCase().includes(u)).length : 0);
4166
4166
  }, [e, u]), U(() => {
4167
4167
  const d = t.current;
4168
4168
  if (!d) return;
4169
- let g = d.scrollTop, M = 0, N = 0;
4169
+ let M = d.scrollTop, g = 0, N = 0;
4170
4170
  const p = () => {
4171
4171
  N = Date.now() + 1500;
4172
4172
  }, y = (m) => {
4173
4173
  m.buttons && p();
4174
4174
  }, L = () => {
4175
- const m = d.scrollTop, f = m - g;
4176
- if (g = m, Date.now() > N) {
4177
- M = 0;
4175
+ const m = d.scrollTop, f = m - M;
4176
+ if (M = m, Date.now() > N) {
4177
+ g = 0;
4178
4178
  return;
4179
4179
  }
4180
- M = f < 0 == M < 0 ? M + f : f, M < -14 && !a.current ? (M = 0, s(!0)) : M > 56 && a.current && !o.current.trim() && (M = 0, s(!1));
4180
+ g = f < 0 == g < 0 ? g + f : f, g < -14 && !a.current ? (g = 0, s(!0)) : g > 56 && a.current && !o.current.trim() && (g = 0, s(!1));
4181
4181
  };
4182
4182
  return d.addEventListener("wheel", p, { passive: !0 }), d.addEventListener("touchmove", p, { passive: !0 }), d.addEventListener("pointermove", y), d.addEventListener("scroll", L, { passive: !0 }), () => {
4183
4183
  d.removeEventListener("wheel", p), d.removeEventListener("touchmove", p), d.removeEventListener("pointermove", y), d.removeEventListener("scroll", L);
@@ -4185,7 +4185,7 @@ function Xl(t, e, n, r, s) {
4185
4185
  }, []), l;
4186
4186
  }
4187
4187
  const tn = { formatBits: 0, perBlock: [-1, 10, 16, 26, 18, 24, 16, 18, 22, 22, 26, 30, 22, 22, 24, 24, 28, 28, 26, 26, 26, 26, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28], blocks: [-1, 1, 1, 1, 2, 2, 4, 4, 4, 5, 5, 5, 8, 9, 9, 10, 10, 11, 13, 14, 16, 17, 17, 18, 20, 21, 23, 25, 26, 28, 29, 31, 33, 35, 37, 38, 40, 43, 45, 47, 49] };
4188
- function Si(t) {
4188
+ function Di(t) {
4189
4189
  let e = (16 * t + 128) * t + 64;
4190
4190
  if (t >= 2) {
4191
4191
  const n = Math.floor(t / 7) + 2;
@@ -4193,40 +4193,40 @@ function Si(t) {
4193
4193
  }
4194
4194
  return e;
4195
4195
  }
4196
- const qs = (t) => Math.floor(Si(t) / 8) - tn.perBlock[t] * tn.blocks[t];
4197
- function kr(t, e) {
4196
+ const qs = (t) => Math.floor(Di(t) / 8) - tn.perBlock[t] * tn.blocks[t];
4197
+ function vr(t, e) {
4198
4198
  let n = 0;
4199
4199
  for (let r = 7; r >= 0; r--)
4200
4200
  n = n << 1 ^ (n >>> 7) * 285, n ^= (e >>> r & 1) * t;
4201
4201
  return n;
4202
4202
  }
4203
- function ec(t) {
4203
+ function Xl(t) {
4204
4204
  const e = new Array(t).fill(0);
4205
4205
  e[t - 1] = 1;
4206
4206
  let n = 1;
4207
4207
  for (let r = 0; r < t; r++) {
4208
- for (let s = 0; s < t; s++) e[s] = kr(e[s], n) ^ (s + 1 < t ? e[s + 1] : 0);
4209
- n = kr(n, 2);
4208
+ for (let s = 0; s < t; s++) e[s] = vr(e[s], n) ^ (s + 1 < t ? e[s + 1] : 0);
4209
+ n = vr(n, 2);
4210
4210
  }
4211
4211
  return e;
4212
4212
  }
4213
- function tc(t, e) {
4213
+ function ec(t, e) {
4214
4214
  const n = new Array(e.length).fill(0);
4215
4215
  for (const r of t) {
4216
4216
  const s = r ^ n.shift();
4217
4217
  n.push(0), e.forEach((a, o) => {
4218
- n[o] ^= kr(a, s);
4218
+ n[o] ^= vr(a, s);
4219
4219
  });
4220
4220
  }
4221
4221
  return n;
4222
4222
  }
4223
- function nc(t) {
4223
+ function tc(t) {
4224
4224
  if (t === 1) return [];
4225
4225
  const e = Math.floor(t / 7) + 2, n = t * 4 + 17, r = t === 32 ? 26 : Math.ceil((t * 4 + 4) / (e * 2 - 2)) * 2, s = [6];
4226
4226
  for (let a = n - 7; s.length < e; a -= r) s.splice(1, 0, a);
4227
4227
  return s;
4228
4228
  }
4229
- function rc(t) {
4229
+ function nc(t) {
4230
4230
  const e = Array.from(new TextEncoder().encode(t));
4231
4231
  let n = 1;
4232
4232
  for (; n <= 40 && !(4 + (n <= 9 ? 8 : 16) + e.length * 8 <= qs(n) * 8); n++)
@@ -4241,30 +4241,30 @@ function rc(t) {
4241
4241
  for (let T = 236; a.length < s; T ^= 253) o(T, 8);
4242
4242
  const l = [];
4243
4243
  for (let T = 0; T < a.length; T += 8) l.push(a.slice(T, T + 8).reduce((O, S) => O << 1 | S, 0));
4244
- const c = tn.blocks[n], u = tn.perBlock[n], d = Math.floor(Si(n) / 8), g = c - d % c, M = Math.floor(d / c), N = [], p = ec(u);
4244
+ const c = tn.blocks[n], u = tn.perBlock[n], d = Math.floor(Di(n) / 8), M = c - d % c, g = Math.floor(d / c), N = [], p = Xl(u);
4245
4245
  for (let T = 0, O = 0; T < c; T++) {
4246
- const S = l.slice(O, O + M - u + (T < g ? 0 : 1));
4246
+ const S = l.slice(O, O + g - u + (T < M ? 0 : 1));
4247
4247
  O += S.length;
4248
- const re = tc(S, p);
4249
- T < g && S.push(0), N.push(S.concat(re));
4248
+ const re = ec(S, p);
4249
+ T < M && S.push(0), N.push(S.concat(re));
4250
4250
  }
4251
4251
  const y = [];
4252
4252
  for (let T = 0; T < N[0].length; T++) N.forEach((O, S) => {
4253
- (T !== M - u || S >= g) && y.push(O[T]);
4253
+ (T !== g - u || S >= M) && y.push(O[T]);
4254
4254
  });
4255
4255
  const L = Array.from({ length: r }, () => new Array(r).fill(!1)), m = Array.from({ length: r }, () => new Array(r).fill(!1)), f = (T, O, S) => {
4256
4256
  L[O][T] = S, m[O][T] = !0;
4257
4257
  };
4258
4258
  for (let T = 0; T < r; T++)
4259
4259
  f(6, T, T % 2 === 0), f(T, 6, T % 2 === 0);
4260
- const z = (T, O) => {
4260
+ const I = (T, O) => {
4261
4261
  for (let S = -4; S <= 4; S++) for (let re = -4; re <= 4; re++) {
4262
4262
  const K = Math.max(Math.abs(re), Math.abs(S)), k = T + re, ae = O + S;
4263
4263
  k >= 0 && k < r && ae >= 0 && ae < r && f(k, ae, K !== 2 && K !== 4);
4264
4264
  }
4265
4265
  };
4266
- z(3, 3), z(r - 4, 3), z(3, r - 4);
4267
- const C = nc(n);
4266
+ I(3, 3), I(r - 4, 3), I(3, r - 4);
4267
+ const C = tc(n);
4268
4268
  for (let T = 0; T < C.length; T++) for (let O = 0; O < C.length; O++)
4269
4269
  if (!(T === 0 && O === 0 || T === 0 && O === C.length - 1 || T === C.length - 1 && O === 0))
4270
4270
  for (let S = -2; S <= 2; S++) for (let re = -2; re <= 2; re++) f(C[T] + re, C[O] + S, Math.max(Math.abs(re), Math.abs(S)) !== 1);
@@ -4351,14 +4351,14 @@ function rc(t) {
4351
4351
  }
4352
4352
  return ee(E), D(E), L;
4353
4353
  }
4354
- function sc(t) {
4355
- const e = rc(t), n = e.length, r = 2;
4354
+ function rc(t) {
4355
+ const e = nc(t), n = e.length, r = 2;
4356
4356
  let s = "";
4357
4357
  for (let o = 0; o < n; o++) for (let l = 0; l < n; l++) e[o][l] && (s += `M${l} ${o}h1v1h-1z`);
4358
4358
  const a = `<svg xmlns="http://www.w3.org/2000/svg" viewBox="${-r} ${-r} ${n + r * 2} ${n + r * 2}" shape-rendering="crispEdges"><rect x="${-r}" y="${-r}" width="${n + r * 2}" height="${n + r * 2}" fill="#fff"/><path fill="#111" d="${s}"/></svg>`;
4359
4359
  return `data:image/svg+xml,${encodeURIComponent(a)}`;
4360
4360
  }
4361
- const Ai = "M3.75 3.75v4.5m0-4.5h4.5m-4.5 0L9 9M3.75 20.25v-4.5m0 4.5h4.5m-4.5 0L9 15M20.25 3.75h-4.5m4.5 0v4.5m0-4.5L15 9m5.25 11.25h-4.5m4.5 0v-4.5m0 4.5L15 15", ic = "M9 9V4.5M9 9H4.5M9 9 3.75 3.75M9 15v4.5M9 15H4.5M9 15l-5.25 5.25M15 9h4.5M15 9V4.5M15 9l5.25-5.25M15 15h4.5M15 15v4.5m0-4.5 5.25 5.25";
4361
+ const Si = "M3.75 3.75v4.5m0-4.5h4.5m-4.5 0L9 9M3.75 20.25v-4.5m0 4.5h4.5m-4.5 0L9 15M20.25 3.75h-4.5m4.5 0v4.5m0-4.5L15 9m5.25 11.25h-4.5m4.5 0v-4.5m0 4.5L15 15", sc = "M9 9V4.5M9 9H4.5M9 9 3.75 3.75M9 15v4.5M9 15H4.5M9 15l-5.25 5.25M15 9h4.5M15 9V4.5M15 9l5.25-5.25M15 15h4.5M15 15v4.5m0-4.5 5.25 5.25";
4362
4362
  function ur() {
4363
4363
  const t = document;
4364
4364
  return t.fullscreenElement ?? t.webkitFullscreenElement ?? null;
@@ -4371,7 +4371,7 @@ function Js() {
4371
4371
  const t = document;
4372
4372
  return !!(t.fullscreenEnabled || t.webkitFullscreenEnabled);
4373
4373
  }
4374
- function ac() {
4374
+ function ic() {
4375
4375
  var e;
4376
4376
  if (typeof document > "u" || !((e = window.matchMedia) != null && e.call(window, "(pointer: coarse)").matches)) return !1;
4377
4377
  const t = Er ?? document.documentElement;
@@ -4379,9 +4379,9 @@ function ac() {
4379
4379
  }
4380
4380
  function Xt(t) {
4381
4381
  var e;
4382
- typeof document > "u" || !((e = window.matchMedia) != null && e.call(window, "(pointer: coarse)").matches) || kn(t);
4382
+ typeof document > "u" || !((e = window.matchMedia) != null && e.call(window, "(pointer: coarse)").matches) || vn(t);
4383
4383
  }
4384
- function kn(t) {
4384
+ function vn(t) {
4385
4385
  var s, a, o, l;
4386
4386
  if (typeof document > "u") return;
4387
4387
  const e = document, n = Er ?? document.documentElement, r = e.fullscreenElement ?? e.webkitFullscreenElement;
@@ -4392,8 +4392,8 @@ function kn(t) {
4392
4392
  } catch {
4393
4393
  }
4394
4394
  }
4395
- function oc(t) {
4396
- const [e, n] = I(() => {
4395
+ function ac(t) {
4396
+ const [e, n] = z(() => {
4397
4397
  var r;
4398
4398
  return typeof window < "u" && !!((r = window.matchMedia) != null && r.call(window, t).matches);
4399
4399
  });
@@ -4405,8 +4405,8 @@ function oc(t) {
4405
4405
  return s(), r.addEventListener("change", s), () => r.removeEventListener("change", s);
4406
4406
  }, [t]), e;
4407
4407
  }
4408
- function vn({ pos: t, interactive: e, axis: n = "x" }) {
4409
- const [r, s] = I(null), a = (c) => {
4408
+ function kn({ pos: t, interactive: e, axis: n = "x" }) {
4409
+ const [r, s] = z(null), a = (c) => {
4410
4410
  const u = c.currentTarget.getBoundingClientRect(), d = n === "y" ? (c.clientY - u.top) / Math.max(1, u.height) : (c.clientX - u.left) / Math.max(1, u.width);
4411
4411
  return Math.min(1, Math.max(0, d));
4412
4412
  }, o = (c) => {
@@ -4444,8 +4444,8 @@ function vn({ pos: t, interactive: e, axis: n = "x" }) {
4444
4444
  /* @__PURE__ */ i("span", { className: "gfull__t gfull__end", style: { color: t.live ? "#ec634d" : "rgba(234,236,250,.6)" }, children: t.endLabel })
4445
4445
  ] });
4446
4446
  }
4447
- function Zc({ pos: t }) {
4448
- const [e, n] = I(null), r = (l) => {
4447
+ function qc({ pos: t }) {
4448
+ const [e, n] = z(null), r = (l) => {
4449
4449
  const c = l.currentTarget.getBoundingClientRect();
4450
4450
  return Math.min(1, Math.max(0, (l.clientX - c.left) / Math.max(1, c.width)));
4451
4451
  }, s = (l) => {
@@ -4498,15 +4498,15 @@ function jn({ t, mini: e }) {
4498
4498
  disabled: !t.playable,
4499
4499
  style: { background: t.playable ? t.playing ? "rgba(238,240,248,.92)" : "var(--brand)" : "rgba(5,6,21,.42)", color: t.playable ? t.playing ? "#131326" : "var(--brand-ink)" : "rgba(234,236,250,.5)", cursor: t.playable ? "pointer" : "default" },
4500
4500
  onClick: t.onPlay,
4501
- children: t.busy ? /* @__PURE__ */ i("span", { className: "gfull__spin", "aria-hidden": "true" }) : t.playing ? /* @__PURE__ */ i(ja, { size: e ? 14 : 18 }) : /* @__PURE__ */ i(jr, { size: e ? 15 : 19 })
4501
+ children: t.busy ? /* @__PURE__ */ i("span", { className: "gfull__spin", "aria-hidden": "true" }) : t.playing ? /* @__PURE__ */ i(ka, { size: e ? 14 : 18 }) : /* @__PURE__ */ i(jr, { size: e ? 15 : 19 })
4502
4502
  }
4503
4503
  ),
4504
4504
  /* @__PURE__ */ i("button", { type: "button", className: "gfull__step", "aria-label": "Next line", title: "Next line", style: { opacity: t.nextOn ? 1 : 0.3 }, onClick: t.onNext, children: /* @__PURE__ */ i(oe, { d: X.chevronRight, size: e ? 13 : 16, sw: e ? 1.8 : 1.9 }) })
4505
4505
  ] });
4506
4506
  }
4507
- function vr({ live: t, mini: e, desk: n, pct: r, mark: s }) {
4507
+ function kr({ live: t, mini: e, desk: n, pct: r, mark: s }) {
4508
4508
  return /* @__PURE__ */ h("div", { className: `gfull__brand${s ? " gfull__brand--mark" : ""}`, children: [
4509
- /* @__PURE__ */ i("a", { href: ai, target: "_blank", rel: "noopener", style: { display: "block", lineHeight: 0 }, "aria-label": "VocalStack", title: "VocalStack", children: s ? /* @__PURE__ */ i(zr, { dark: !0, size: 22 }) : /* @__PURE__ */ i(bn, { dark: !0, link: !1, height: e ? 11 : n ? 18 : 15 }) }),
4509
+ /* @__PURE__ */ i("a", { href: ii, target: "_blank", rel: "noopener", style: { display: "block", lineHeight: 0 }, "aria-label": "VocalStack", title: "VocalStack", children: s ? /* @__PURE__ */ i(zr, { dark: !0, size: 22 }) : /* @__PURE__ */ i(bn, { dark: !0, link: !1, height: e ? 11 : n ? 18 : 15 }) }),
4510
4510
  t && /* @__PURE__ */ h("span", { className: "gfull__live", children: [
4511
4511
  /* @__PURE__ */ i("i", {}),
4512
4512
  "LIVE"
@@ -4514,32 +4514,32 @@ function vr({ live: t, mini: e, desk: n, pct: r, mark: s }) {
4514
4514
  r != null && /* @__PURE__ */ i("span", { className: "gfull__txpct", title: "Still being transcribed: it plays as far as it is written", children: `TRANSCRIBING ${r}%` })
4515
4515
  ] });
4516
4516
  }
4517
- function Ei({ v: t, size: e }) {
4517
+ function Ai({ v: t, size: e }) {
4518
4518
  return /* @__PURE__ */ i("button", { type: "button", className: "gfull__btn", "aria-label": "Voices", title: t.title, disabled: !t.on, style: { opacity: t.on ? 1 : 0.45, cursor: t.on ? "pointer" : "default" }, onClick: t.on ? t.onClick : void 0, children: /* @__PURE__ */ i(oe, { d: X.headphones, size: e, sw: 1.6 }) });
4519
4519
  }
4520
- function lc({ pos: t, transport: e, chip: n, voices: r, onShare: s, onFull: a, copied: o }) {
4520
+ function oc({ pos: t, transport: e, chip: n, voices: r, onShare: s, onFull: a, copied: o }) {
4521
4521
  return /* @__PURE__ */ h("div", { className: "gmini", "data-theme": "dark", children: [
4522
4522
  /* @__PURE__ */ i("div", { className: "gmini__shade", "aria-hidden": "true" }),
4523
- /* @__PURE__ */ i("div", { className: "gmini__top", children: /* @__PURE__ */ i(vr, { live: t.live, mini: !0 }) }),
4523
+ /* @__PURE__ */ i("div", { className: "gmini__top", children: /* @__PURE__ */ i(kr, { live: t.live, mini: !0 }) }),
4524
4524
  /* @__PURE__ */ h("div", { className: "gmini__foot", children: [
4525
- /* @__PURE__ */ i("div", { className: "gmini__row", children: /* @__PURE__ */ i(vn, { pos: t, interactive: !0 }) }),
4525
+ /* @__PURE__ */ i("div", { className: "gmini__row", children: /* @__PURE__ */ i(kn, { pos: t, interactive: !0 }) }),
4526
4526
  /* @__PURE__ */ h("div", { className: "gmini__row gmini__row--ctl", children: [
4527
4527
  /* @__PURE__ */ i(jn, { t: e, mini: !0 }),
4528
4528
  /* @__PURE__ */ i("span", { style: { flex: 1 } }),
4529
4529
  /* @__PURE__ */ i("div", { className: "gfull__chip", children: n }),
4530
- /* @__PURE__ */ i(Ei, { v: r, size: 14 }),
4530
+ /* @__PURE__ */ i(Ai, { v: r, size: 14 }),
4531
4531
  s && /* @__PURE__ */ i("button", { type: "button", className: "gfull__btn", "aria-label": "Share", title: "Share", onClick: (l) => {
4532
4532
  l.stopPropagation(), s();
4533
4533
  }, children: /* @__PURE__ */ i(oe, { d: X.share, size: 13, sw: 1.8 }) }),
4534
- /* @__PURE__ */ i("button", { type: "button", className: "gfull__btn", "aria-label": "Full screen", title: "Full screen", onClick: a, children: /* @__PURE__ */ i(oe, { d: Ai, size: 14, sw: 1.8 }) })
4534
+ /* @__PURE__ */ i("button", { type: "button", className: "gfull__btn", "aria-label": "Full screen", title: "Full screen", onClick: a, children: /* @__PURE__ */ i(oe, { d: Si, size: 14, sw: 1.8 }) })
4535
4535
  ] })
4536
4536
  ] }),
4537
4537
  o
4538
4538
  ] });
4539
4539
  }
4540
- const cc = { color: "rgba(255,255,255,.4)" };
4541
- function _i({ compact: t = !1, noFull: e = !1, page: n = !0, picture: r, title: s, desk: a, pos: o, sub: l, wait: c, pct: u, mute: d, cc: g, ad: M, chip: N, transport: p, picker: y, sheet: L, voices: m, voicesBtn: f, sheetOpen: z, onShare: C, onSettings: D, paused: V, copied: _, onTouch: ee, onClose: j }) {
4542
- const [E, Q] = I(() => !!ur());
4540
+ const lc = { color: "rgba(255,255,255,.4)" };
4541
+ function Ei({ compact: t = !1, noFull: e = !1, page: n = !0, picture: r, title: s, desk: a, pos: o, sub: l, wait: c, pct: u, mute: d, cc: M, ad: g, chip: N, transport: p, picker: y, sheet: L, voices: m, voicesBtn: f, sheetOpen: I, onShare: C, onSettings: D, paused: V, copied: _, onTouch: ee, onClose: j }) {
4542
+ const [E, Q] = z(() => !!ur());
4543
4543
  U(() => {
4544
4544
  const $ = () => Q(!!ur());
4545
4545
  return document.addEventListener("fullscreenchange", $), document.addEventListener("webkitfullscreenchange", $), () => {
@@ -4550,8 +4550,8 @@ function _i({ compact: t = !1, noFull: e = !1, page: n = !0, picture: r, title:
4550
4550
  T.current = j;
4551
4551
  const O = v(p.playable ? p.onPlay : void 0);
4552
4552
  O.current = p.playable ? p.onPlay : void 0;
4553
- const [S, re] = I(!1), [K, k] = I(0), ae = v(!1);
4554
- U(() => () => kn(!1), []), U(() => {
4553
+ const [S, re] = z(!1), [K, k] = z(0), ae = v(!1);
4554
+ U(() => () => vn(!1), []), U(() => {
4555
4555
  if (!n) return;
4556
4556
  const $ = [document.documentElement, document.body], he = $.map((fe) => fe.style.background);
4557
4557
  $.forEach((fe) => {
@@ -4564,7 +4564,7 @@ function _i({ compact: t = !1, noFull: e = !1, page: n = !0, picture: r, title:
4564
4564
  }), ue && ie && (ue.content = ie);
4565
4565
  };
4566
4566
  }, []);
4567
- const te = Ie(() => n && ac(), [n]), [G, J] = I(te);
4567
+ const te = Ie(() => n && ic(), [n]), [G, J] = z(te);
4568
4568
  U(() => {
4569
4569
  if (!n) return;
4570
4570
  const $ = [document.documentElement, document.body], he = $.map((fe) => [fe.style.overflow, fe.style.overscrollBehavior]);
@@ -4583,11 +4583,11 @@ function _i({ compact: t = !1, noFull: e = !1, page: n = !0, picture: r, title:
4583
4583
  window.removeEventListener("scroll", ie), ue.remove(), document.documentElement.style.overscrollBehavior = he[0][1], window.scrollTo(0, 0);
4584
4584
  };
4585
4585
  }, [te, n]);
4586
- const pe = v(z);
4587
- pe.current = z, U(() => {
4586
+ const pe = v(I);
4587
+ pe.current = I, U(() => {
4588
4588
  const $ = (ie) => ie instanceof HTMLElement && (ie.isContentEditable || /^(INPUT|TEXTAREA|SELECT)$/.test(ie.tagName)), he = (ie) => {
4589
4589
  var fe;
4590
- ie.key === "Escape" && !pe.current && T.current && (ie.stopPropagation(), T.current()), ie.key === " " && !pe.current && !$(ie.target) && (ie.preventDefault(), ie.stopPropagation(), ie.repeat || (fe = O.current) == null || fe.call(O)), (ie.key === "f" || ie.key === "F") && !ie.metaKey && !ie.ctrlKey && !ie.altKey && !pe.current && !$(ie.target) && Js() && (ie.preventDefault(), ie.repeat || kn(!ur()));
4590
+ ie.key === "Escape" && !pe.current && T.current && (ie.stopPropagation(), T.current()), ie.key === " " && !pe.current && !$(ie.target) && (ie.preventDefault(), ie.stopPropagation(), ie.repeat || (fe = O.current) == null || fe.call(O)), (ie.key === "f" || ie.key === "F") && !ie.metaKey && !ie.ctrlKey && !ie.altKey && !pe.current && !$(ie.target) && Js() && (ie.preventDefault(), ie.repeat || vn(!ur()));
4591
4591
  }, ue = (ie) => {
4592
4592
  ie.key === " " && !pe.current && !$(ie.target) && ie.preventDefault();
4593
4593
  };
@@ -4595,7 +4595,7 @@ function _i({ compact: t = !1, noFull: e = !1, page: n = !0, picture: r, title:
4595
4595
  window.removeEventListener("keydown", he, !0), window.removeEventListener("keyup", ue, !0);
4596
4596
  };
4597
4597
  }, []);
4598
- const le = oc("(orientation: landscape) and (max-height: 540px)"), Te = v(null), [je, Ee] = I(null);
4598
+ const le = ac("(orientation: landscape) and (max-height: 540px)"), Te = v(null), [je, Ee] = z(null);
4599
4599
  Bt(() => {
4600
4600
  const $ = Te.current;
4601
4601
  if (!$ || (Ee($.getBoundingClientRect().width), typeof ResizeObserver > "u")) return;
@@ -4604,10 +4604,10 @@ function _i({ compact: t = !1, noFull: e = !1, page: n = !0, picture: r, title:
4604
4604
  }, []);
4605
4605
  const Le = t && !E, we = !Le && a && !le && (je == null || je >= 880), _e = !we;
4606
4606
  U(() => {
4607
- if (re(!1), !p.playing || z) return;
4607
+ if (re(!1), !p.playing || I) return;
4608
4608
  const $ = setTimeout(() => re(!0), 3e3);
4609
4609
  return () => clearTimeout($);
4610
- }, [p.playing, z, K]);
4610
+ }, [p.playing, I, K]);
4611
4611
  const Pe = v(S);
4612
4612
  Pe.current = S;
4613
4613
  const Se = v(0), B = ($) => {
@@ -4626,11 +4626,11 @@ function _i({ compact: t = !1, noFull: e = !1, page: n = !0, picture: r, title:
4626
4626
  const Y = (de) => Math.round((de.getBoundingClientRect().top - $.getBoundingClientRect().top + $.scrollTop) / ie), R = Math.max(1, Math.round($.clientHeight / ie)), q = he ? ue.length ? Math.floor(Y(ue[ue.length - 1]) / R) * R * ie : 0 : Ue, ne = Math.max(0, Math.min(Ue, q));
4627
4627
  Math.abs(ne - $.scrollTop) > 1 && ($.scrollTop = ne);
4628
4628
  }, [b, W]);
4629
- const [H, ce] = I(!0), [F, me] = I(!1), Z = v(void 0);
4629
+ const [H, ce] = z(!0), [F, me] = z(!1), Z = v(void 0);
4630
4630
  U(() => () => window.clearTimeout(Z.current), []);
4631
- const ke = V != null && V.share ? V.share.url(H && V.share.at >= 1 ? Math.floor(V.share.at) : null) : "", ze = Ie(() => we && ke && !p.playing ? sc(ke) : "", [we, ke, p.playing]), Ge = () => {
4631
+ const ve = V != null && V.share ? V.share.url(H && V.share.at >= 1 ? Math.floor(V.share.at) : null) : "", ze = Ie(() => we && ve && !p.playing ? rc(ve) : "", [we, ve, p.playing]), Ge = () => {
4632
4632
  var $;
4633
- ($ = navigator.clipboard) == null || $.writeText(ke).then(() => {
4633
+ ($ = navigator.clipboard) == null || $.writeText(ve).then(() => {
4634
4634
  me(!0), window.clearTimeout(Z.current), Z.current = window.setTimeout(() => me(!1), 1800);
4635
4635
  }, () => {
4636
4636
  });
@@ -4643,33 +4643,33 @@ function _i({ compact: t = !1, noFull: e = !1, page: n = !0, picture: r, title:
4643
4643
  "Start at ",
4644
4644
  yt(Math.floor(V.share.at))
4645
4645
  ] }),
4646
- /* @__PURE__ */ i("div", { className: "gfull__shareurl", children: /* @__PURE__ */ i("span", { children: ke.replace(/^https?:\/\//, "") }) }),
4646
+ /* @__PURE__ */ i("div", { className: "gfull__shareurl", children: /* @__PURE__ */ i("span", { children: ve.replace(/^https?:\/\//, "") }) }),
4647
4647
  /* @__PURE__ */ h("div", { className: "gfull__shareacts", children: [
4648
4648
  /* @__PURE__ */ h("button", { type: "button", className: "gfull__sharebtn gfull__sharebtn--main", onClick: Ge, children: [
4649
4649
  /* @__PURE__ */ i(oe, { d: F ? X.check : X.copy, size: 14, sw: 1.8 }),
4650
4650
  F ? "Copied" : "Copy link"
4651
4651
  ] }),
4652
- /* @__PURE__ */ h("button", { type: "button", className: "gfull__sharebtn", onClick: () => Ar(ke, s), children: [
4652
+ /* @__PURE__ */ h("button", { type: "button", className: "gfull__sharebtn", onClick: () => Ar(ve, s), children: [
4653
4653
  /* @__PURE__ */ i(oe, { d: X.share, size: 14, sw: 1.6 }),
4654
4654
  "Share"
4655
4655
  ] })
4656
4656
  ] })
4657
4657
  ] })
4658
4658
  ] }), ge = ($, he, ue, ie, fe, Ue = 0) => /* @__PURE__ */ i("button", { type: "button", className: "gfull__btn", title: $, "aria-label": $, onClick: ie, children: /* @__PURE__ */ i(oe, { d: he, size: (we ? 20 : _e ? 15 : 18) + Ue, sw: ue, style: fe }) }), Ye = /* @__PURE__ */ h("div", { className: "gfull__acts", children: [
4659
- f && /* @__PURE__ */ i(Ei, { v: f, size: we ? 20 : _e ? 15 : 18 }),
4659
+ f && /* @__PURE__ */ i(Ai, { v: f, size: we ? 20 : _e ? 15 : 18 }),
4660
4660
  C && ge("Share", X.share, 1.6, C),
4661
- Js() && !e && ge(E ? "Exit full screen" : "Full screen", E ? ic : Ai, 1.7, () => kn(!E)),
4661
+ Js() && !e && ge(E ? "Exit full screen" : "Full screen", E ? sc : Si, 1.7, () => vn(!E)),
4662
4662
  j && ge("Close player", X.close, 1.7, j)
4663
- ] }), Ve = (d || g || D) && /* @__PURE__ */ h("div", { className: "gfull__top", children: [
4663
+ ] }), Ve = (d || M || D) && /* @__PURE__ */ h("div", { className: "gfull__top", children: [
4664
4664
  d && ge(d.muted ? "Unmute" : "Mute", d.muted ? X.volumeOff : X.volume, 1.6, d.onToggle),
4665
- g && ge(g.on ? "Hide subtitles" : "Show subtitles", g.on ? X.cc : X.ccOff, 1.7, g.onToggle, void 0, 4),
4665
+ M && ge(M.on ? "Hide subtitles" : "Show subtitles", M.on ? X.cc : X.ccOff, 1.7, M.onToggle, void 0, 4),
4666
4666
  D && ge("Settings", X.cog, 1.6, D)
4667
4667
  ] });
4668
4668
  return /* @__PURE__ */ h(
4669
4669
  "div",
4670
4670
  {
4671
4671
  ref: Te,
4672
- className: `gfull${we ? " gfull--desk" : ""}${_e ? " gfull--mini" : ""}${Le ? " gfull--small" : ""}${te ? " gfull--swipe" : ""}${M ? " gfull--ad" : ""}${S ? " gfull--calm" : ""}`,
4672
+ className: `gfull${we ? " gfull--desk" : ""}${_e ? " gfull--mini" : ""}${Le ? " gfull--small" : ""}${te ? " gfull--swipe" : ""}${g ? " gfull--ad" : ""}${S ? " gfull--calm" : ""}`,
4673
4673
  "data-theme": "dark",
4674
4674
  role: "dialog",
4675
4675
  "aria-label": s,
@@ -4689,7 +4689,7 @@ function _i({ compact: t = !1, noFull: e = !1, page: n = !0, picture: r, title:
4689
4689
  /* @__PURE__ */ h("div", { className: `gfull__frame${W ? " gfull__frame--land" : ""}`, children: [
4690
4690
  r,
4691
4691
  /* @__PURE__ */ i("div", { className: "gfull__shade", "aria-hidden": "true" }),
4692
- V && !M && /* @__PURE__ */ h("div", { className: `gfull__pausedinfo${p.playing ? "" : " gfull__pausedinfo--on"}`, "aria-hidden": p.playing, children: [
4692
+ V && !g && /* @__PURE__ */ h("div", { className: `gfull__pausedinfo${p.playing ? "" : " gfull__pausedinfo--on"}`, "aria-hidden": p.playing, children: [
4693
4693
  /* @__PURE__ */ h("div", { className: "gfull__pausedtext", children: [
4694
4694
  /* @__PURE__ */ h("div", { className: "gfull__pausedhead", children: [
4695
4695
  (_e || Le) && /* @__PURE__ */ i("span", { className: "gfull__pausedmark", "aria-hidden": "true", children: /* @__PURE__ */ i(zr, { dark: !0, size: 20 }) }),
@@ -4723,27 +4723,27 @@ function _i({ compact: t = !1, noFull: e = !1, page: n = !0, picture: r, title:
4723
4723
  ] }),
4724
4724
  " "
4725
4725
  ] }),
4726
- l.words.map(($, he) => /* @__PURE__ */ h("span", { "data-said": $.dim ? void 0 : "", "data-at": l.cursor != null && he <= l.cursor ? "" : void 0, style: $.dim ? cc : void 0, children: [
4726
+ l.words.map(($, he) => /* @__PURE__ */ h("span", { "data-said": $.dim ? void 0 : "", "data-at": l.cursor != null && he <= l.cursor ? "" : void 0, style: $.dim ? lc : void 0, children: [
4727
4727
  $.t,
4728
4728
  $.sp
4729
4729
  ] }, he))
4730
4730
  ] })
4731
4731
  ] }) }),
4732
4732
  /* @__PURE__ */ i("div", { className: `gfull__prog${we ? "" : " gfull__prog--two"}`, children: we ? /* @__PURE__ */ h(xe, { children: [
4733
- /* @__PURE__ */ i(vr, { live: o.live, desk: !0, pct: u }),
4733
+ /* @__PURE__ */ i(kr, { live: o.live, desk: !0, pct: u }),
4734
4734
  /* @__PURE__ */ i(jn, { t: p }),
4735
- /* @__PURE__ */ i(vn, { pos: o, interactive: !0 }),
4735
+ /* @__PURE__ */ i(kn, { pos: o, interactive: !0 }),
4736
4736
  /* @__PURE__ */ i("div", { className: "gfull__chip", children: N }),
4737
4737
  Ye
4738
4738
  ] }) : _e ? /* @__PURE__ */ h("div", { className: "gfull__row", children: [
4739
4739
  /* @__PURE__ */ i(jn, { t: p, mini: !0 }),
4740
- /* @__PURE__ */ i(vn, { pos: o, interactive: !0 }),
4740
+ /* @__PURE__ */ i(kn, { pos: o, interactive: !0 }),
4741
4741
  /* @__PURE__ */ i("div", { className: "gfull__chip", children: N }),
4742
4742
  Ye
4743
4743
  ] }) : /* @__PURE__ */ h(xe, { children: [
4744
4744
  /* @__PURE__ */ h("div", { className: "gfull__row", children: [
4745
- /* @__PURE__ */ i(vr, { live: o.live, pct: u, mark: !0 }),
4746
- /* @__PURE__ */ i(vn, { pos: o, interactive: !0 })
4745
+ /* @__PURE__ */ i(kr, { live: o.live, pct: u, mark: !0 }),
4746
+ /* @__PURE__ */ i(kn, { pos: o, interactive: !0 })
4747
4747
  ] }),
4748
4748
  /* @__PURE__ */ h("div", { className: "gfull__row", children: [
4749
4749
  /* @__PURE__ */ i(jn, { t: p }),
@@ -4760,7 +4760,7 @@ function _i({ compact: t = !1, noFull: e = !1, page: n = !0, picture: r, title:
4760
4760
  }
4761
4761
  );
4762
4762
  }
4763
- function uc({ dark: t, back: e, home: n, live: r, title: s, badge: a, subline: o, onOptions: l, optionsActive: c }) {
4763
+ function cc({ dark: t, back: e, home: n, live: r, title: s, badge: a, subline: o, onOptions: l, optionsActive: c }) {
4764
4764
  return /* @__PURE__ */ h("div", { className: "ghead", children: [
4765
4765
  e && /* @__PURE__ */ i("button", { type: "button", className: "ghead__back", "aria-label": "Back", title: "Back", onClick: e, children: /* @__PURE__ */ i(oe, { d: X.chevronLeft, size: 19, sw: 1.7 }) }),
4766
4766
  r && /* @__PURE__ */ i("span", { className: "mark", children: /* @__PURE__ */ i(zr, { dark: t, size: 30 }) }),
@@ -4771,21 +4771,21 @@ function uc({ dark: t, back: e, home: n, live: r, title: s, badge: a, subline: o
4771
4771
  ] }),
4772
4772
  o && /* @__PURE__ */ i("div", { className: "ghead__sub", children: o })
4773
4773
  ] }) }),
4774
- /* @__PURE__ */ i(za, { size: "sm", bordered: !1, variant: c ? "primary" : void 0, onClick: l, label: "Options", children: /* @__PURE__ */ h("svg", { viewBox: "0 0 24 24", width: "19", height: "19", fill: "currentColor", "aria-hidden": "true", children: [
4774
+ /* @__PURE__ */ i(ja, { size: "sm", bordered: !1, variant: c ? "primary" : void 0, onClick: l, label: "Options", children: /* @__PURE__ */ h("svg", { viewBox: "0 0 24 24", width: "19", height: "19", fill: "currentColor", "aria-hidden": "true", children: [
4775
4775
  /* @__PURE__ */ i("circle", { cx: "12", cy: "5.5", r: "1.85" }),
4776
4776
  /* @__PURE__ */ i("circle", { cx: "12", cy: "12", r: "1.85" }),
4777
4777
  /* @__PURE__ */ i("circle", { cx: "12", cy: "18.5", r: "1.85" })
4778
4778
  ] }) })
4779
4779
  ] });
4780
4780
  }
4781
- const dc = "m15.75 10.5 4.72-4.72a.75.75 0 0 1 1.28.53v11.38a.75.75 0 0 1-1.28.53l-4.72-4.72M4.5 18.75h9a2.25 2.25 0 0 0 2.25-2.25v-9a2.25 2.25 0 0 0-2.25-2.25h-9A2.25 2.25 0 0 0 2.25 7.5v9a2.25 2.25 0 0 0 2.25 2.25Z", hc = (t, e = !1) => [{ value: "read", label: t.read, icon: /* @__PURE__ */ i(oe, { d: X.book, size: 17 }) }, { value: "listen", label: /* @__PURE__ */ i("span", { style: { display: "inline-block", minWidth: 52, textAlign: "center" }, children: e ? t.watch : t.listen }), icon: /* @__PURE__ */ i(oe, { d: e ? dc : X.headphones, size: 19, sw: 1.5 }) }];
4782
- function Mc(t) {
4781
+ const uc = "m15.75 10.5 4.72-4.72a.75.75 0 0 1 1.28.53v11.38a.75.75 0 0 1-1.28.53l-4.72-4.72M4.5 18.75h9a2.25 2.25 0 0 0 2.25-2.25v-9a2.25 2.25 0 0 0-2.25-2.25h-9A2.25 2.25 0 0 0 2.25 7.5v9a2.25 2.25 0 0 0 2.25 2.25Z", dc = (t, e = !1) => [{ value: "read", label: t.read, icon: /* @__PURE__ */ i(oe, { d: X.book, size: 17 }) }, { value: "listen", label: /* @__PURE__ */ i("span", { style: { display: "inline-block", minWidth: 52, textAlign: "center" }, children: e ? t.watch : t.listen }), icon: /* @__PURE__ */ i(oe, { d: e ? uc : X.headphones, size: 19, sw: 1.5 }) }];
4782
+ function hc(t) {
4783
4783
  if (!t.lang) return null;
4784
4784
  const e = t.langName;
4785
4785
  return t.translateFailed === t.lang ? { kind: "translateFailed", lang: e } : t.voiceFailed ? { kind: "voiceFailed", lang: e } : t.translating ? { kind: "translating", lang: e } : t.starting != null ? { kind: "starting", lang: e, since: t.starting } : t.relang || t.slowLine ? { kind: "voice", lang: e, since: t.lineSince } : null;
4786
4786
  }
4787
- function gc(t, e) {
4788
- const [n, r] = I(null), [s, a] = I(!1);
4787
+ function Mc(t, e) {
4788
+ const [n, r] = z(null), [s, a] = z(!1);
4789
4789
  return U(() => {
4790
4790
  if (!t) {
4791
4791
  r(null), a(!1);
@@ -4797,9 +4797,9 @@ function gc(t, e) {
4797
4797
  return () => clearTimeout(l);
4798
4798
  }, [t, e]), [s, n];
4799
4799
  }
4800
- const fc = (t) => `${Math.floor(t / 60)}:${String(t % 60).padStart(2, "0")}`;
4801
- function pc({ state: t, line: e, onRetry: n, onOriginal: r }) {
4802
- const [s, a] = I(() => Date.now());
4800
+ const gc = (t) => `${Math.floor(t / 60)}:${String(t % 60).padStart(2, "0")}`;
4801
+ function fc({ state: t, line: e, onRetry: n, onOriginal: r }) {
4802
+ const [s, a] = z(() => Date.now());
4803
4803
  U(() => {
4804
4804
  if (t.since == null) return;
4805
4805
  const d = setInterval(() => a(Date.now()), 1e3);
@@ -4831,7 +4831,7 @@ function pc({ state: t, line: e, onRetry: n, onOriginal: r }) {
4831
4831
  /* @__PURE__ */ h("div", { className: "pwait__head", children: [
4832
4832
  l ? /* @__PURE__ */ i("div", { className: "pwait__mark", "aria-hidden": "true", children: /* @__PURE__ */ i(oe, { d: X.warnCircle, size: 18, sw: 1.8 }) }) : /* @__PURE__ */ i("div", { className: "pwait__spin", "aria-hidden": "true" }),
4833
4833
  /* @__PURE__ */ i("div", { className: "pwait__t", children: c }),
4834
- !l && o != null && o >= 3 && /* @__PURE__ */ i("div", { className: "pwait__clock", "aria-label": `${o} seconds`, children: fc(o) })
4834
+ !l && o != null && o >= 3 && /* @__PURE__ */ i("div", { className: "pwait__clock", "aria-label": `${o} seconds`, children: gc(o) })
4835
4835
  ] }),
4836
4836
  /* @__PURE__ */ i("div", { className: "pwait__note", children: u }),
4837
4837
  !l && /* @__PURE__ */ i("div", { className: "pwait__bar", "aria-hidden": "true", children: /* @__PURE__ */ i("div", {}) }),
@@ -4844,16 +4844,16 @@ function pc({ state: t, line: e, onRetry: n, onOriginal: r }) {
4844
4844
  }
4845
4845
  );
4846
4846
  }
4847
- const _r = "https://app.vocalstack.com", Nc = "/connect/transcribe";
4848
- function mc() {
4847
+ const _r = "https://app.vocalstack.com", pc = "/connect/transcribe";
4848
+ function Nc() {
4849
4849
  const t = new Uint8Array(24);
4850
4850
  return crypto.getRandomValues(t), btoa(String.fromCharCode(...t)).replace(/\+/g, "-").replace(/\//g, "_").replace(/=+$/, "");
4851
4851
  }
4852
- function Yi(t, e, n) {
4853
- const r = new URL(t ?? _r), s = mc(), a = new URL(Nc, r);
4852
+ function _i(t, e, n) {
4853
+ const r = new URL(t ?? _r), s = Nc(), a = new URL(pc, r);
4854
4854
  e.url && a.searchParams.set("url", e.url), e.transcription && a.searchParams.set("transcription", e.transcription), e.ask && a.searchParams.set("ask", "1"), e.connect && a.searchParams.set("connect", "1"), a.searchParams.set("origin", window.location.origin), a.searchParams.set("nonce", s);
4855
4855
  const o = 480, l = 640, c = Math.max(0, (window.screenX ?? 0) + ((window.outerWidth ?? o) - o) / 2), u = Math.max(0, (window.screenY ?? 0) + ((window.outerHeight ?? l) - l) / 2), d = window.open(a.toString(), "vocalstack-connect", `popup=yes,width=${o},height=${l},left=${Math.round(c)},top=${Math.round(u)}`);
4856
- return d ? new Promise((g, M) => {
4856
+ return d ? new Promise((M, g) => {
4857
4857
  let N = !1;
4858
4858
  const p = (m) => {
4859
4859
  N || (N = !0, window.removeEventListener("message", y), clearInterval(L), m());
@@ -4870,70 +4870,70 @@ function Yi(t, e, n) {
4870
4870
  return;
4871
4871
  }
4872
4872
  if (f.type === "vocalstack:started" || f.type === "vocalstack:token" || f.type === "vocalstack:found") {
4873
- p(() => g({ transcriptionId: String(f.transcriptionId), recordingId: String(f.recordingId), token: String(f.token), expiresAt: f.expiresAt ?? null }));
4873
+ p(() => M({ transcriptionId: String(f.transcriptionId), recordingId: String(f.recordingId), token: String(f.token), expiresAt: f.expiresAt ?? null }));
4874
4874
  return;
4875
4875
  }
4876
4876
  if (f.type === "vocalstack:connected") {
4877
- p(() => g("connected"));
4877
+ p(() => M("connected"));
4878
4878
  return;
4879
4879
  }
4880
4880
  if (f.type === "vocalstack:declined") {
4881
- p(() => g(null));
4881
+ p(() => M(null));
4882
4882
  return;
4883
4883
  }
4884
- f.type === "vocalstack:error" && p(() => M(new Error(typeof f.message == "string" && f.message ? f.message : "VocalStack could not start this transcription.")));
4884
+ f.type === "vocalstack:error" && p(() => g(new Error(typeof f.message == "string" && f.message ? f.message : "VocalStack could not start this transcription.")));
4885
4885
  }
4886
4886
  };
4887
4887
  window.addEventListener("message", y);
4888
4888
  const L = setInterval(() => {
4889
- d.closed && p(() => g(null));
4889
+ d.closed && p(() => M(null));
4890
4890
  }, 500);
4891
4891
  }) : Promise.reject(new Error("Your browser blocked the VocalStack window. Allow pop-ups for this site and try again."));
4892
4892
  }
4893
- async function yc(t, e, n) {
4894
- const r = await Yi(t, { url: e }, n);
4893
+ async function mc(t, e, n) {
4894
+ const r = await _i(t, { url: e }, n);
4895
4895
  return r === "connected" ? null : r;
4896
4896
  }
4897
- const Ui = "vsp.connected";
4898
- function Tc(t) {
4897
+ const Yi = "vsp.connected";
4898
+ function yc(t) {
4899
4899
  try {
4900
- return localStorage.getItem(Ui) === new URL(t ?? _r).origin;
4900
+ return localStorage.getItem(Yi) === new URL(t ?? _r).origin;
4901
4901
  } catch {
4902
4902
  return !1;
4903
4903
  }
4904
4904
  }
4905
- function wc(t) {
4905
+ function Tc(t) {
4906
4906
  try {
4907
- localStorage.setItem(Ui, new URL(t ?? _r).origin);
4907
+ localStorage.setItem(Yi, new URL(t ?? _r).origin);
4908
4908
  } catch {
4909
4909
  }
4910
4910
  }
4911
- const Lc = {
4911
+ const wc = {
4912
4912
  "signing-in": "Sign in to VocalStack in the window that opened…",
4913
4913
  consent: "Confirm in the VocalStack window…",
4914
4914
  looking: "Looking for your transcription of this video…",
4915
4915
  confirm: "Confirm in the VocalStack window…",
4916
4916
  checking: "Checking the link…",
4917
4917
  starting: "Starting the transcription…"
4918
- }, kc = /^(https?:\/\/)?([\w-]+\.)+[a-z]{2,}(\/\S*)?$/i;
4918
+ }, Lc = /^(https?:\/\/)?([\w-]+\.)+[a-z]{2,}(\/\S*)?$/i;
4919
4919
  function vc({ options: t, onStarted: e, onReplay: n, onClose: r }) {
4920
- const [s, a] = I(""), [o, l] = I(!1), [c, u] = I(null), [d, g] = I(null);
4920
+ const [s, a] = z(""), [o, l] = z(!1), [c, u] = z(null), [d, M] = z(null);
4921
4921
  U(() => {
4922
4922
  const y = (L) => {
4923
4923
  L.key === "Escape" && r();
4924
4924
  };
4925
4925
  return window.addEventListener("keydown", y), () => window.removeEventListener("keydown", y);
4926
4926
  }, [r]);
4927
- const M = s.trim(), N = kc.test(M), p = async () => {
4927
+ const g = s.trim(), N = Lc.test(g), p = async () => {
4928
4928
  if (!(!N || o)) {
4929
4929
  l(!0), u(null);
4930
4930
  try {
4931
- const y = await yc(t.appUrl, /^https?:\/\//i.test(M) ? M : `https://${M}`, g);
4931
+ const y = await mc(t.appUrl, /^https?:\/\//i.test(g) ? g : `https://${g}`, M);
4932
4932
  y && e(y);
4933
4933
  } catch (y) {
4934
4934
  u(y instanceof Error ? y.message : "Something went wrong. Please try again.");
4935
4935
  } finally {
4936
- l(!1), g(null);
4936
+ l(!1), M(null);
4937
4937
  }
4938
4938
  }
4939
4939
  };
@@ -4952,7 +4952,7 @@ function vc({ options: t, onStarted: e, onReplay: n, onClose: r }) {
4952
4952
  }, "aria-label": "Video link" }),
4953
4953
  /* @__PURE__ */ i("button", { type: "submit", className: "vsp-end__go", disabled: !N || o, children: o ? /* @__PURE__ */ i(at, { size: 15, color: "#050507", track: "rgba(5,5,7,.2)" }) : "Transcribe" })
4954
4954
  ] }),
4955
- o && /* @__PURE__ */ i("div", { className: "vsp-end__note", role: "status", children: Lc[d ?? "checking"] }),
4955
+ o && /* @__PURE__ */ i("div", { className: "vsp-end__note", role: "status", children: wc[d ?? "checking"] }),
4956
4956
  c && /* @__PURE__ */ i("div", { className: "vsp-end__err", role: "alert", children: c }),
4957
4957
  /* @__PURE__ */ h("div", { className: "vsp-end__foot", children: [
4958
4958
  /* @__PURE__ */ i("span", { children: "Uses your VocalStack account. You'll be asked to sign in if you're not." }),
@@ -4963,19 +4963,19 @@ function vc({ options: t, onStarted: e, onReplay: n, onClose: r }) {
4963
4963
  ] })
4964
4964
  ] }) });
4965
4965
  }
4966
- function Ri(t) {
4967
- const [e, n] = I(() => typeof window > "u" ? !0 : window.innerWidth >= 880);
4966
+ function Ui(t) {
4967
+ const [e, n] = z(() => typeof window > "u" ? !0 : window.innerWidth >= 880);
4968
4968
  return U(() => {
4969
4969
  if (t != null) return;
4970
4970
  const r = () => n(window.innerWidth >= 880);
4971
4971
  return window.addEventListener("resize", r), () => window.removeEventListener("resize", r);
4972
4972
  }, [t]), t ?? e;
4973
4973
  }
4974
- const jc = { lang: null, subtitles: !0, speakerLabels: !1, wordHighlight: !0, translateAudio: !0, voices: "cloned", removeBackground: !1, muted: !1 };
4975
- function zc(t, e) {
4976
- const n = ki(), [r, s] = fi(), [a, o] = I(null), [l, c] = I("main"), u = wr(n, t.lang), d = Ie(() => pi(n, "translation"), [n]), g = (_) => {
4974
+ const kc = { lang: null, subtitles: !0, speakerLabels: !1, wordHighlight: !0, translateAudio: !0, voices: "cloned", removeBackground: !1, muted: !1 };
4975
+ function jc(t, e) {
4976
+ const n = Li(), [r, s] = gi(), [a, o] = z(null), [l, c] = z("main"), u = wr(n, t.lang), d = Ie(() => fi(n, "translation"), [n]), M = (_) => {
4977
4977
  e({ lang: _ }), s(_);
4978
- }, M = Or({ open: a === "lang" || a === "settings" && l === "lang", onClose: () => a === "lang" ? o(null) : c("main"), value: t.lang, onSelect: g, languages: d, none: "As spoken", pinned: t.lang ? [t.lang] : [], recent: r, keepOpen: !0 }), N = () => {
4978
+ }, g = Or({ open: a === "lang" || a === "settings" && l === "lang", onClose: () => a === "lang" ? o(null) : c("main"), value: t.lang, onSelect: M, languages: d, none: "As spoken", pinned: t.lang ? [t.lang] : [], recent: r, keepOpen: !0 }), N = () => {
4979
4979
  o(null), c("main");
4980
4980
  }, p = t.lang ? /* @__PURE__ */ i("span", { style: { fontSize: 19, lineHeight: 1 }, children: u.flag }) : /* @__PURE__ */ i(oe, { d: X.langAuto, size: 19, sw: 1.7 }), y = /* @__PURE__ */ i("button", { type: "button", className: "gfull__btn", "aria-label": `Language: ${t.lang ? u.label : "As spoken"}`, title: t.lang ? u.label : "As spoken", onClick: (_) => {
4981
4981
  _.stopPropagation(), c("main"), o((ee) => ee === "lang" ? null : "lang");
@@ -4985,23 +4985,23 @@ function zc(t, e) {
4985
4985
  /* @__PURE__ */ i(oe, { d: X.chevronLeft, size: 18, sw: 1.8 }),
4986
4986
  "Back"
4987
4987
  ] })
4988
- ] }), f = { display: "flex", flexDirection: "column", gap: 2, paddingBottom: 14 }, z = (_, ee, j) => /* @__PURE__ */ h("div", { className: "srow", children: [
4988
+ ] }), f = { display: "flex", flexDirection: "column", gap: 2, paddingBottom: 14 }, I = (_, ee, j) => /* @__PURE__ */ h("div", { className: "srow", children: [
4989
4989
  /* @__PURE__ */ h("div", { style: { flex: 1, minWidth: 0 }, children: [
4990
4990
  /* @__PURE__ */ i("div", { className: "srow__t", children: _ }),
4991
4991
  /* @__PURE__ */ i("div", { className: "srow__s", children: ee })
4992
4992
  ] }),
4993
4993
  j
4994
4994
  ] }), C = /* @__PURE__ */ h("div", { style: { display: "flex", flexDirection: "column" }, children: [
4995
- /* @__PURE__ */ i("div", { style: { position: "sticky", top: 0, zIndex: 1, padding: "4px 14px 10px", background: "var(--vs-surface-raised)" }, children: M.search }),
4996
- M.list
4995
+ /* @__PURE__ */ i("div", { style: { position: "sticky", top: 0, zIndex: 1, padding: "4px 14px 10px", background: "var(--vs-surface-raised)" }, children: g.search }),
4996
+ g.list
4997
4997
  ] }), D = l === "lang" ? C : l === "subs" ? /* @__PURE__ */ h("div", { style: f, children: [
4998
- z("Show subtitles", "Captions over the video", /* @__PURE__ */ i(Nt, { checked: t.subtitles, onChange: (_) => e({ subtitles: _ }), label: "Show subtitles" })),
4999
- z("Show speaker labels", "Who is speaking, before each line", /* @__PURE__ */ i(Nt, { checked: t.speakerLabels, onChange: (_) => e({ speakerLabels: _ }), label: "Show speaker labels" })),
5000
- z("Highlight words", "Follow each word as it is spoken", /* @__PURE__ */ i(Nt, { checked: t.wordHighlight, onChange: (_) => e({ wordHighlight: _ }), label: "Highlight words" }))
4998
+ I("Show subtitles", "Captions over the video", /* @__PURE__ */ i(Nt, { checked: t.subtitles, onChange: (_) => e({ subtitles: _ }), label: "Show subtitles" })),
4999
+ I("Show speaker labels", "Who is speaking, before each line", /* @__PURE__ */ i(Nt, { checked: t.speakerLabels, onChange: (_) => e({ speakerLabels: _ }), label: "Show speaker labels" })),
5000
+ I("Highlight words", "Follow each word as it is spoken", /* @__PURE__ */ i(Nt, { checked: t.wordHighlight, onChange: (_) => e({ wordHighlight: _ }), label: "Highlight words" }))
5001
5001
  ] }) : l === "audio" ? /* @__PURE__ */ h("div", { style: f, children: [
5002
- z("Translate audio", t.lang ? "Hear the translation read aloud instead of the original speech" : "Pick a language to hear the translation read aloud", /* @__PURE__ */ i(Nt, { checked: t.translateAudio && !!t.lang, onChange: (_) => e({ translateAudio: _ }), label: "Translate audio", disabled: !t.lang })),
5003
- z("Voices", t.voices === "cloned" ? "Each speaker in their own cloned voice, where they agreed to it" : "Synthetic voices matched to each speaker", /* @__PURE__ */ i(hr, { value: t.voices, onChange: (_) => e({ voices: _ }), size: "sm", options: [{ value: "synthetic", label: "Synthetic" }, { value: "cloned", label: "Cloned" }] })),
5004
- z(In, "Takes out everything that isn't speech: music, ambience and noise.", /* @__PURE__ */ i(Nt, { checked: t.removeBackground, onChange: (_) => e({ removeBackground: _ }), label: In }))
5002
+ I("Translate audio", t.lang ? "Hear the translation read aloud instead of the original speech" : "Pick a language to hear the translation read aloud", /* @__PURE__ */ i(Nt, { checked: t.translateAudio && !!t.lang, onChange: (_) => e({ translateAudio: _ }), label: "Translate audio", disabled: !t.lang })),
5003
+ I("Voices", t.voices === "cloned" ? "Each speaker in their own cloned voice, where they agreed to it" : "Synthetic voices matched to each speaker", /* @__PURE__ */ i(hr, { value: t.voices, onChange: (_) => e({ voices: _ }), size: "sm", options: [{ value: "synthetic", label: "Synthetic" }, { value: "cloned", label: "Cloned" }] })),
5004
+ I(In, "Takes out everything that isn't speech: music, ambience and noise.", /* @__PURE__ */ i(Nt, { checked: t.removeBackground, onChange: (_) => e({ removeBackground: _ }), label: In }))
5005
5005
  ] }) : /* @__PURE__ */ h("div", { style: f, children: [
5006
5006
  /* @__PURE__ */ h("div", { className: "srow srow--tap", role: "button", onClick: () => c("lang"), children: [
5007
5007
  /* @__PURE__ */ h("div", { style: { flex: 1, minWidth: 0 }, children: [
@@ -5090,35 +5090,41 @@ const pt = (t, e = "nonzero") => /* @__PURE__ */ i("path", { d: t, fill: "curren
5090
5090
  /* @__PURE__ */ i("circle", { cx: "8", cy: "12", r: "1.6", fill: "currentColor", stroke: "none" }),
5091
5091
  /* @__PURE__ */ i("path", { d: "M11.5 10h6M11.5 14h4" })
5092
5092
  ] }) }
5093
- ], Ic = 9;
5093
+ ], zc = 14, Ic = 4;
5094
5094
  function Oc(t) {
5095
5095
  const e = Xs.length, n = [];
5096
5096
  for (let r = 0; r < 11; r++) n.push(Xs[(r + t * 7) % e]);
5097
5097
  return n;
5098
5098
  }
5099
- function ei({ t }) {
5099
+ function Cc({ t }) {
5100
5100
  return /* @__PURE__ */ h("span", { className: "vsp-prov__tile", style: { "--tint": t.tint }, children: [
5101
5101
  /* @__PURE__ */ i("svg", { viewBox: "0 0 24 24", width: "100%", height: "100%", "aria-hidden": "true", children: t.glyph }),
5102
5102
  /* @__PURE__ */ i("span", { className: "vsp-prov__name", children: t.name })
5103
5103
  ] });
5104
5104
  }
5105
- function Cc() {
5106
- return /* @__PURE__ */ i("div", { className: "vsp-prov", "aria-hidden": "true", children: /* @__PURE__ */ i("div", { className: "vsp-prov__plane", children: Array.from({ length: Ic }, (t, e) => {
5107
- const n = Oc(e);
5108
- return /* @__PURE__ */ h("div", { className: `vsp-prov__row${e % 2 ? " vsp-prov__row--rev" : ""}`, style: { animationDuration: `${80 + e * 11}s`, animationDelay: `-${e * 17}s` }, children: [
5109
- n.map((r, s) => /* @__PURE__ */ i(ei, { t: r }, `a${s}`)),
5110
- n.map((r, s) => /* @__PURE__ */ i(ei, { t: r }, `b${s}`))
5111
- ] }, e);
5105
+ function bc() {
5106
+ const t = v(null), [e, n] = z(!0), [r, s] = z(() => typeof document > "u" || !document.hidden);
5107
+ return U(() => {
5108
+ const a = () => s(!document.hidden);
5109
+ document.addEventListener("visibilitychange", a);
5110
+ const o = t.current;
5111
+ let l = null;
5112
+ return o && typeof IntersectionObserver < "u" && (l = new IntersectionObserver(([c]) => n(c.isIntersecting)), l.observe(o)), () => {
5113
+ document.removeEventListener("visibilitychange", a), l == null || l.disconnect();
5114
+ };
5115
+ }, []), /* @__PURE__ */ i("div", { ref: t, className: `vsp-prov${e && r ? "" : " vsp-prov--still"}`, "aria-hidden": "true", children: /* @__PURE__ */ i("div", { className: "vsp-prov__plane", children: Array.from({ length: zc }, (a, o) => {
5116
+ const l = Oc(o);
5117
+ return /* @__PURE__ */ i("div", { className: `vsp-prov__row${o % 2 ? " vsp-prov__row--rev" : ""}`, style: { animationDuration: `${80 + o * 11}s`, animationDelay: `-${o * 17}s` }, children: Array.from({ length: Ic }, (c, u) => l.map((d, M) => /* @__PURE__ */ i(Cc, { t: d }, `${u}-${M}`))) }, o);
5112
5118
  }) }) });
5113
5119
  }
5114
- const Pi = {
5120
+ const Ri = {
5115
5121
  "signing-in": "Sign in to VocalStack in the window that opened…",
5116
5122
  consent: "Confirm in the VocalStack window…",
5117
5123
  looking: "Looking for your transcription of this video…",
5118
5124
  confirm: "Confirm in the VocalStack window…",
5119
5125
  checking: "Checking the link…",
5120
5126
  starting: "Starting the transcription…"
5121
- }, ti = /^(https?:\/\/)?([\w-]+\.)+[a-z]{2,}(\/\S*)?$/i;
5127
+ }, ei = /^(https?:\/\/)?([\w-]+\.)+[a-z]{2,}(\/\S*)?$/i;
5122
5128
  function dr(t) {
5123
5129
  try {
5124
5130
  return new URL(t).hostname.replace(/^www\./, "");
@@ -5126,98 +5132,98 @@ function dr(t) {
5126
5132
  return t;
5127
5133
  }
5128
5134
  }
5129
- function bc(t, e) {
5130
- const [n, r] = I(!1), [s, a] = I(null), [o, l] = I(null), [c, u] = I(() => Tc(t)), d = Ke((N) => {
5135
+ function xc(t, e) {
5136
+ const [n, r] = z(!1), [s, a] = z(null), [o, l] = z(null), [c, u] = z(() => yc(t)), d = Ke((N) => {
5131
5137
  if (n) return;
5132
5138
  r(!0), l(null);
5133
5139
  let p;
5134
5140
  try {
5135
- p = Yi(t, N, a);
5141
+ p = _i(t, N, a);
5136
5142
  } catch (y) {
5137
5143
  p = Promise.reject(y);
5138
5144
  }
5139
5145
  p.then((y) => {
5140
- y && (wc(t), u(!0), y !== "connected" && e(y));
5146
+ y && (Tc(t), u(!0), y !== "connected" && e(y));
5141
5147
  }).catch((y) => l(y instanceof Error ? y.message : "Something went wrong. Please try again.")).finally(() => {
5142
5148
  r(!1), a(null);
5143
5149
  });
5144
- }, [t, n, e]), g = Ke(() => d({ connect: !0 }), [d]), M = Ke((N, p) => d({ url: N, ask: p }), [d]);
5145
- return { busy: n, status: s, err: o, connected: c, connect: g, start: M };
5150
+ }, [t, n, e]), M = Ke(() => d({ connect: !0 }), [d]), g = Ke((N, p) => d({ url: N, ask: p }), [d]);
5151
+ return { busy: n, status: s, err: o, connected: c, connect: M, start: g };
5146
5152
  }
5147
- function xc(t) {
5153
+ function Dc(t) {
5148
5154
  return /\.(mp4|webm|mov|m4v|ogv|mkv)(\?|#|$)/i.test(t);
5149
5155
  }
5150
- function Dc({ poster: t, src: e }) {
5151
- const n = e ? Ii(e) : null, r = t ?? (n ? `https://i.ytimg.com/vi/${n}/hqdefault.jpg` : null);
5152
- return r ? /* @__PURE__ */ i("div", { className: "vsp-idle__pic", style: { backgroundImage: `url(${r})` } }) : e && xc(e) ? /* @__PURE__ */ i("video", { className: "vsp-idle__pic vsp-idle__frame", src: `${e}#t=1`, muted: !0, playsInline: !0, preload: "metadata", "aria-hidden": "true" }) : /* @__PURE__ */ h(xe, { children: [
5156
+ function Sc({ poster: t, src: e }) {
5157
+ const n = e ? zi(e) : null, r = t ?? (n ? `https://i.ytimg.com/vi/${n}/hqdefault.jpg` : null);
5158
+ return r ? /* @__PURE__ */ i("div", { className: "vsp-idle__pic", style: { backgroundImage: `url(${r})` } }) : e && Dc(e) ? /* @__PURE__ */ i("video", { className: "vsp-idle__pic vsp-idle__frame", src: `${e}#t=1`, muted: !0, playsInline: !0, preload: "metadata", "aria-hidden": "true" }) : /* @__PURE__ */ h(xe, { children: [
5153
5159
  /* @__PURE__ */ i("div", { className: "vsp-idle__pic vsp-idle__pic--brand" }),
5154
- /* @__PURE__ */ i(Cc, {})
5160
+ /* @__PURE__ */ i(bc, {})
5155
5161
  ] });
5156
5162
  }
5157
- const Sc = { live: !1, atEdge: !1, edgeFrac: null, pct: 0, atLabel: "0:00", labelAt: () => "0:00", endLabel: "0:00", onSeek: () => {
5163
+ const Ac = { live: !1, atEdge: !1, edgeFrac: null, pct: 0, atLabel: "0:00", labelAt: () => "0:00", endLabel: "0:00", onSeek: () => {
5158
5164
  } };
5159
5165
  function Cn({ idle: t, poster: e, src: n, title: r, page: s, onAct: a, children: o }) {
5160
- const l = zc(t.prefs, t.set), c = Ri(), u = v(null), [d, g] = I(!1);
5166
+ const l = jc(t.prefs, t.set), c = Ui(), u = v(null), [d, M] = z(!1);
5161
5167
  Bt(() => {
5162
5168
  var L;
5163
5169
  const N = (L = u.current) == null ? void 0 : L.parentElement;
5164
5170
  if (!N) return;
5165
- const p = () => g(N.getBoundingClientRect().width < 560);
5171
+ const p = () => M(N.getBoundingClientRect().width < 560);
5166
5172
  if (p(), typeof ResizeObserver > "u") return;
5167
5173
  const y = new ResizeObserver(p);
5168
5174
  return y.observe(N), () => y.disconnect();
5169
5175
  }, []);
5170
- const M = { prevOn: !1, nextOn: !1, onPrev: () => {
5176
+ const g = { prevOn: !1, nextOn: !1, onPrev: () => {
5171
5177
  }, onNext: () => {
5172
5178
  }, playing: !1, playable: !0, playTitle: "Connect to play", onPlay: a };
5173
5179
  return /* @__PURE__ */ h("div", { ref: u, className: `vsp-idleroot${d ? " vsp-idleroot--small" : ""}`, children: [
5174
- /* @__PURE__ */ i(_i, { page: s, picture: /* @__PURE__ */ i(Dc, { poster: e, src: n }), title: r, desk: c, pos: Sc, sub: null, mute: { muted: t.prefs.muted, onToggle: () => t.set({ muted: !t.prefs.muted }) }, cc: { on: t.prefs.subtitles, onToggle: () => t.set({ subtitles: !t.prefs.subtitles }) }, chip: l.chip, transport: M, picker: l.sheets, sheet: null, voices: null, voicesBtn: null, sheetOpen: l.sheetOpen, onSettings: l.openSettings, onShare: () => Ar(t.shareUrl ?? window.location.href, r), copied: null, onTouch: () => {
5180
+ /* @__PURE__ */ i(Ei, { page: s, picture: /* @__PURE__ */ i(Sc, { poster: e, src: n }), title: r, desk: c, pos: Ac, sub: null, mute: { muted: t.prefs.muted, onToggle: () => t.set({ muted: !t.prefs.muted }) }, cc: { on: t.prefs.subtitles, onToggle: () => t.set({ subtitles: !t.prefs.subtitles }) }, chip: l.chip, transport: g, picker: l.sheets, sheet: null, voices: null, voicesBtn: null, sheetOpen: l.sheetOpen, onSettings: l.openSettings, onShare: () => Ar(t.shareUrl ?? window.location.href, r), copied: null, onTouch: () => {
5175
5181
  } }),
5176
5182
  !l.sheetOpen && /* @__PURE__ */ i("div", { className: "vsp-idle", "data-theme": "dark", children: /* @__PURE__ */ i("div", { className: "vsp-idle__box", children: o }) })
5177
5183
  ] });
5178
5184
  }
5179
- function Qi({ connect: t, onClick: e, label: n }) {
5185
+ function Pi({ connect: t, onClick: e, label: n }) {
5180
5186
  return /* @__PURE__ */ h(xe, { children: [
5181
5187
  /* @__PURE__ */ h("button", { type: "button", className: "vsp-idle__connect", onClick: e, disabled: t.busy, children: [
5182
5188
  t.busy ? /* @__PURE__ */ i(at, { size: 18, color: "#050507", track: "rgba(5,5,7,.2)" }) : /* @__PURE__ */ i(oe, { d: X.link, size: 18, sw: 1.8 }),
5183
5189
  /* @__PURE__ */ i("span", { children: t.busy ? "Waiting for VocalStack…" : n })
5184
5190
  ] }),
5185
- t.busy && /* @__PURE__ */ i("div", { className: "vsp-idle__note", role: "status", children: Pi[t.status ?? "checking"] }),
5191
+ t.busy && /* @__PURE__ */ i("div", { className: "vsp-idle__note", role: "status", children: Ri[t.status ?? "checking"] }),
5186
5192
  t.err && /* @__PURE__ */ i("div", { className: "vsp-end__err", role: "alert", children: t.err })
5187
5193
  ] });
5188
5194
  }
5189
- function Ac({ idle: t, src: e, ask: n, connect: r, page: s, poster: a = null, onClear: o }) {
5195
+ function Ec({ idle: t, src: e, ask: n, connect: r, page: s, poster: a = null, onClear: o }) {
5190
5196
  const l = () => r.start(e, n);
5191
5197
  return /* @__PURE__ */ h(Cn, { idle: t, poster: a, src: e, title: dr(e), page: s, onAct: l, children: [
5192
- /* @__PURE__ */ i(Qi, { connect: r, onClick: l, label: r.connected ? "Play with VocalStack" : "Connect to VocalStack" }),
5198
+ /* @__PURE__ */ i(Pi, { connect: r, onClick: l, label: r.connected ? "Play with VocalStack" : "Connect to VocalStack" }),
5193
5199
  !r.busy && /* @__PURE__ */ i("div", { className: "vsp-idle__note", children: r.connected ? `Plays ${dr(e)} with subtitles and spoken translations.` : `Connect to play ${dr(e)} with subtitles and spoken translations.` }),
5194
5200
  o && !r.busy && /* @__PURE__ */ i("button", { type: "button", className: "vsp-idle__other", onClick: o, children: "Choose another video" })
5195
5201
  ] });
5196
5202
  }
5197
- function Ec({ idle: t, connect: e, page: n, poster: r = null, onPick: s }) {
5198
- const [a, o] = I(""), l = v(null), c = v(null), u = a.trim(), d = ti.test(u), g = () => {
5203
+ function _c({ idle: t, connect: e, page: n, poster: r = null, onPick: s }) {
5204
+ const [a, o] = z(""), l = v(null), c = v(null), u = a.trim(), d = ei.test(u), M = () => {
5199
5205
  if (!d || e.busy) return;
5200
5206
  const p = /^https?:\/\//i.test(u) ? u : `https://${u}`;
5201
5207
  s(p), e.start(p, !1);
5202
5208
  };
5203
5209
  if (!e.connected)
5204
5210
  return /* @__PURE__ */ h(Cn, { idle: t, poster: r, src: null, title: "VocalStack", page: n, onAct: e.connect, children: [
5205
- /* @__PURE__ */ i(Qi, { connect: e, onClick: e.connect, label: "Connect to VocalStack" }),
5211
+ /* @__PURE__ */ i(Pi, { connect: e, onClick: e.connect, label: "Connect to VocalStack" }),
5206
5212
  !e.busy && /* @__PURE__ */ i("div", { className: "vsp-idle__note", children: "Connect your VocalStack account to watch any video with subtitles and spoken translations." })
5207
5213
  ] });
5208
- const M = () => {
5214
+ const g = () => {
5209
5215
  var p;
5210
- d ? g() : (p = l.current) == null || p.focus();
5216
+ d ? M() : (p = l.current) == null || p.focus();
5211
5217
  }, N = (p) => {
5212
5218
  const y = p.trim();
5213
- if (!ti.test(y) || e.busy || y === c.current) return;
5219
+ if (!ei.test(y) || e.busy || y === c.current) return;
5214
5220
  c.current = y;
5215
5221
  const L = /^https?:\/\//i.test(y) ? y : `https://${y}`;
5216
5222
  s(L), e.start(L, !1);
5217
5223
  };
5218
- return /* @__PURE__ */ h(Cn, { idle: t, poster: r, src: null, title: "VocalStack", page: n, onAct: M, children: [
5224
+ return /* @__PURE__ */ h(Cn, { idle: t, poster: r, src: null, title: "VocalStack", page: n, onAct: g, children: [
5219
5225
  /* @__PURE__ */ i("form", { className: "vsp-idle__form", onSubmit: (p) => {
5220
- p.preventDefault(), g();
5226
+ p.preventDefault(), M();
5221
5227
  }, children: /* @__PURE__ */ h("span", { className: "vsp-idle__field", children: [
5222
5228
  /* @__PURE__ */ i(oe, { d: X.link, size: 16, sw: 1.8 }),
5223
5229
  /* @__PURE__ */ i("input", { ref: l, className: "vsp-idle__input", type: "url", inputMode: "url", enterKeyHint: "go", autoComplete: "off", spellCheck: !1, placeholder: "Paste a video link", value: a, onChange: (p) => o(p.target.value), onPaste: (p) => {
@@ -5226,11 +5232,11 @@ function Ec({ idle: t, connect: e, page: n, poster: r = null, onPick: s }) {
5226
5232
  }, "aria-label": "Video link", autoFocus: !0 }),
5227
5233
  e.busy && /* @__PURE__ */ i(at, { size: 15, color: "#eef0f8", track: "rgba(255,255,255,.2)" })
5228
5234
  ] }) }),
5229
- e.busy ? /* @__PURE__ */ i("div", { className: "vsp-idle__note", role: "status", children: Pi[e.status ?? "checking"] }) : /* @__PURE__ */ i("div", { className: "vsp-idle__note", children: "YouTube, Vimeo, an mp3 or any video link. Press Enter or ▶ to play it here with subtitles and spoken translations." }),
5235
+ e.busy ? /* @__PURE__ */ i("div", { className: "vsp-idle__note", role: "status", children: Ri[e.status ?? "checking"] }) : /* @__PURE__ */ i("div", { className: "vsp-idle__note", children: "YouTube, Vimeo, an mp3 or any video link. Press Enter or ▶ to play it here with subtitles and spoken translations." }),
5230
5236
  e.err && /* @__PURE__ */ i("div", { className: "vsp-end__err", role: "alert", children: e.err })
5231
5237
  ] });
5232
5238
  }
5233
- function _c({ idle: t, message: e, onRetry: n, page: r }) {
5239
+ function Yc({ idle: t, message: e, onRetry: n, page: r }) {
5234
5240
  return /* @__PURE__ */ h(Cn, { idle: t, poster: null, src: null, title: "VocalStack", page: r, onAct: n, children: [
5235
5241
  /* @__PURE__ */ h("div", { className: "vsp-idle__err", role: "alert", children: [
5236
5242
  /* @__PURE__ */ i(oe, { d: X.warn, size: 16, sw: 1.8 }),
@@ -5242,8 +5248,8 @@ function _c({ idle: t, message: e, onRetry: n, page: r }) {
5242
5248
  ] })
5243
5249
  ] });
5244
5250
  }
5245
- function Yc(t, e, n) {
5246
- const [r, s] = I(t && e ? void 0 : null);
5251
+ function Uc(t, e, n) {
5252
+ const [r, s] = z(t && e ? void 0 : null);
5247
5253
  return U(() => {
5248
5254
  if (!t) {
5249
5255
  s(null);
@@ -5255,7 +5261,7 @@ function Yc(t, e, n) {
5255
5261
  }
5256
5262
  let a = !0;
5257
5263
  s(void 0);
5258
- const o = new ii({ baseUrl: (n ?? wi).replace(/\/$/, ""), token: async () => (typeof e == "function" ? await e() : e) || void 0 }), l = o.transcriptions.lookup;
5264
+ const o = new si({ baseUrl: (n ?? Ti).replace(/\/$/, ""), token: async () => (typeof e == "function" ? await e() : e) || void 0 }), l = o.transcriptions.lookup;
5259
5265
  if (!l) {
5260
5266
  s(null);
5261
5267
  return;
@@ -5269,24 +5275,24 @@ function Yc(t, e, n) {
5269
5275
  };
5270
5276
  }, [t, e, n]), r;
5271
5277
  }
5272
- const Uc = 100, ni = (t) => t == null ? null : t ? "on" : "off";
5273
- function Rc(t) {
5278
+ const Rc = 100, ti = (t) => t == null ? null : t ? "on" : "off";
5279
+ function Pc(t) {
5274
5280
  const e = t.syncUrl && typeof window < "u" ? new URLSearchParams(window.location.search) : null, n = { ...t.initial ?? {}, ...t.settings ?? {} }, r = (a) => a === "on" || a === "off" ? a : null, s = Number(e == null ? void 0 : e.get("t"));
5275
5281
  return {
5276
5282
  lang: (e == null ? void 0 : e.get("lang")) || n.lang || null,
5277
- labels: r(e == null ? void 0 : e.get("labels")) ?? ni(n.speakerLabels),
5278
- words: r(e == null ? void 0 : e.get("words")) ?? ni(n.wordHighlight),
5283
+ labels: r(e == null ? void 0 : e.get("labels")) ?? ti(n.speakerLabels),
5284
+ words: r(e == null ? void 0 : e.get("words")) ?? ti(n.wordHighlight),
5279
5285
  cc: e != null && e.get("cc") ? e.get("cc") !== "off" : n.subtitles ?? !0,
5280
5286
  translateAudio: e != null && e.get("audio") ? e.get("audio") !== "original" : n.translateAudio ?? !0,
5281
5287
  clonedVoices: e != null && e.get("voices") ? e.get("voices") !== "stock" : (n.voices ?? "cloned") === "cloned",
5282
- removeBackground: e && e.get("bg") ? Za(e) : n.removeBackground ?? !1,
5288
+ removeBackground: e && e.get("bg") ? Ga(e) : n.removeBackground ?? !1,
5283
5289
  startAt: Number.isFinite(s) && s > 0 ? s : t.startAt ?? null
5284
5290
  };
5285
5291
  }
5286
- const qc = pa(function(e, n) {
5292
+ const Kc = fa(function(e, n) {
5287
5293
  var K;
5288
5294
  const r = v(null);
5289
- Na(n, () => ({
5295
+ pa(n, () => ({
5290
5296
  seek: (k) => {
5291
5297
  var ae;
5292
5298
  return (ae = r.current) == null ? void 0 : ae.seek(k);
@@ -5308,21 +5314,21 @@ const qc = pa(function(e, n) {
5308
5314
  return (k = r.current) == null ? void 0 : k.toggle();
5309
5315
  }
5310
5316
  }), []);
5311
- const [s, a] = I({ id: e.id ?? "", token: e.token });
5317
+ const [s, a] = z({ id: e.id ?? "", token: e.token });
5312
5318
  U(() => {
5313
5319
  a({ id: e.id ?? "", token: e.token });
5314
5320
  }, [e.id, e.token, e.src]);
5315
- const o = Yc(e.src ?? null, e.token ?? null, e.baseUrl ?? null);
5321
+ const o = Uc(e.src ?? null, e.token ?? null, e.baseUrl ?? null);
5316
5322
  U(() => {
5317
5323
  o != null && o.id && a({ id: o.id, token: e.token });
5318
5324
  }, [o == null ? void 0 : o.id]);
5319
- const [l, c] = I(null), [u, d] = I(() => ({ ...jc, ...Object.fromEntries(Object.entries({ ...e.initial ?? {}, ...e.settings ?? {} }).filter(([, k]) => k !== void 0)) })), [g, M] = I({}), N = { prefs: u, set: (k) => {
5320
- d((ae) => ({ ...ae, ...k })), M((ae) => ({ ...ae, ...k }));
5321
- }, shareUrl: (K = e.shareUrl) == null ? void 0 : K.call(e, null) }, { muted: p, ...y } = g;
5325
+ const [l, c] = z(null), [u, d] = z(() => ({ ...kc, ...Object.fromEntries(Object.entries({ ...e.initial ?? {}, ...e.settings ?? {} }).filter(([, k]) => k !== void 0)) })), [M, g] = z({}), N = { prefs: u, set: (k) => {
5326
+ d((ae) => ({ ...ae, ...k })), g((ae) => ({ ...ae, ...k }));
5327
+ }, shareUrl: (K = e.shareUrl) == null ? void 0 : K.call(e, null) }, { muted: p, ...y } = M;
5322
5328
  U(() => {
5323
5329
  c(null);
5324
5330
  }, [e.id, e.src]);
5325
- const L = e.src ?? l, m = !s.id && !!L && (l != null || o !== void 0), f = !s.id && !e.src && !l, z = Li({ id: s.id, token: s.token, baseUrl: e.baseUrl, listen: s.listen }), { source: C, gone: D, error: V, reload: _ } = Eo(z, s.id), ee = _o(z, (C == null ? void 0 : C.recording.id) ?? null), j = Ie(() => So(z, ee), [z, ee]);
5331
+ const L = e.src ?? l, m = !s.id && !!L && (l != null || o !== void 0), f = !s.id && !e.src && !l, I = wi({ id: s.id, token: s.token, baseUrl: e.baseUrl, listen: s.listen }), { source: C, gone: D, error: V, reload: _ } = Ao(I, s.id), ee = Eo(I, (C == null ? void 0 : C.recording.id) ?? null), j = Ie(() => Do(I, ee), [I, ee]);
5326
5332
  U(() => {
5327
5333
  var k;
5328
5334
  C && ((k = e.onSource) == null || k.call(e, C));
@@ -5330,23 +5336,23 @@ const qc = pa(function(e, n) {
5330
5336
  var k;
5331
5337
  V && ((k = e.onError) == null || k.call(e, V));
5332
5338
  }, [V]);
5333
- const E = Ri(e.desk), Q = (e.layout ?? "embed") === "embed", T = e.appUrl ?? (e.endCard ? e.endCard.appUrl : void 0), O = Ke((k) => a({ id: k.transcriptionId, token: null, listen: { transcriptionId: k.transcriptionId, recordingId: k.recordingId, token: k.token } }), []), S = bc(T, O), re = v(null);
5334
- return U(() => (Ks(Q ? re.current : null), () => Ks(null)), [Q]), /* @__PURE__ */ i(Co, { value: j, children: /* @__PURE__ */ i("div", { ref: re, className: `vsp${Q ? " vsp--embed" : ""}${e.className ? ` ${e.className}` : ""}`, "data-theme": (e.mode ?? "video") === "video" || e.dark ? "dark" : "light", "data-mode": (e.mode ?? "video") === "video" ? "video" : "transcript", children: f ? /* @__PURE__ */ i(Ec, { idle: N, connect: S, page: !Q, poster: e.poster ?? null, onPick: c }) : m ? /* @__PURE__ */ i(Ac, { idle: N, src: L, ask: !l, connect: S, page: !Q, poster: e.poster ?? null, onClear: l ? () => c(null) : void 0 }) : s.id ? V && !C ? /* @__PURE__ */ i(_c, { idle: N, message: V.message, onRetry: _, page: !Q }) : /* @__PURE__ */ i(Pc, { ...e, initial: { ...e.initial ?? {}, ...y }, startMuted: p === !0, handle: r, id: s.id, api: j, shared: C, gone: D, loadError: V, reread: _, desk: E, dark: (e.mode ?? "video") === "video" || !!e.dark, onStarted: (k) => a({ id: k.transcriptionId, token: null, listen: { transcriptionId: k.transcriptionId, recordingId: k.recordingId, token: k.token } }) }, s.id) : /* @__PURE__ */ i("div", { className: "vsp-gate", "data-theme": "dark", children: /* @__PURE__ */ i("span", { className: "gfull__spin gfull__holdspin", "aria-label": "Loading" }) }) }) });
5339
+ const E = Ui(e.desk), Q = (e.layout ?? "embed") === "embed", T = e.appUrl ?? (e.endCard ? e.endCard.appUrl : void 0), O = Ke((k) => a({ id: k.transcriptionId, token: null, listen: { transcriptionId: k.transcriptionId, recordingId: k.recordingId, token: k.token } }), []), S = xc(T, O), re = v(null);
5340
+ return U(() => (Ks(Q ? re.current : null), () => Ks(null)), [Q]), /* @__PURE__ */ i(Oo, { value: j, children: /* @__PURE__ */ i("div", { ref: re, className: `vsp${Q ? " vsp--embed" : ""}${e.className ? ` ${e.className}` : ""}`, "data-theme": (e.mode ?? "video") === "video" || e.dark ? "dark" : "light", "data-mode": (e.mode ?? "video") === "video" ? "video" : "transcript", children: f ? /* @__PURE__ */ i(_c, { idle: N, connect: S, page: !Q, poster: e.poster ?? null, onPick: c }) : m ? /* @__PURE__ */ i(Ec, { idle: N, src: L, ask: !l, connect: S, page: !Q, poster: e.poster ?? null, onClear: l ? () => c(null) : void 0 }) : s.id ? V && !C ? /* @__PURE__ */ i(Yc, { idle: N, message: V.message, onRetry: _, page: !Q }) : /* @__PURE__ */ i(Qc, { ...e, initial: { ...e.initial ?? {}, ...y }, startMuted: p === !0, handle: r, id: s.id, api: j, shared: C, gone: D, loadError: V, reread: _, desk: E, dark: (e.mode ?? "video") === "video" || !!e.dark, onStarted: (k) => a({ id: k.transcriptionId, token: null, listen: { transcriptionId: k.transcriptionId, recordingId: k.recordingId, token: k.token } }) }, s.id) : /* @__PURE__ */ i("div", { className: "vsp-gate", "data-theme": "dark", children: /* @__PURE__ */ i("span", { className: "gfull__spin gfull__holdspin", "aria-label": "Loading" }) }) }) });
5335
5341
  });
5336
- function Pc(t) {
5337
- var Ms, gs, fs, ps, Ns, ms, ys, Ts, ws, Ls, ks, vs, js, zs, Is, Os, Cs, bs, xs, Ds, Ss, As;
5338
- const { api: e, shared: n, gone: r, desk: s, dark: a } = t, o = t.id ?? "", l = Ie(() => Rc(t), []), u = (t.mode ?? "video") === "video", [d, g] = I(t.loadError);
5342
+ function Qc(t) {
5343
+ var Ms, gs, fs, ps, Ns, ms, ys, Ts, ws, Ls, vs, ks, js, zs, Is, Os, Cs, bs, xs, Ds, Ss, As;
5344
+ const { api: e, shared: n, gone: r, desk: s, dark: a } = t, o = t.id ?? "", l = Ie(() => Pc(t), []), u = (t.mode ?? "video") === "video", [d, M] = z(t.loadError);
5339
5345
  U(() => {
5340
- t.loadError && g(t.loadError);
5346
+ t.loadError && M(t.loadError);
5341
5347
  }, [t.loadError]);
5342
- const [M, N] = I("none"), [p, y] = I(!1), [L, m] = I(""), [f, z] = Rl(), [C, D] = I(null), [V, _] = I(u ? "listen" : "read"), [ee, j] = I(!1), E = v(null), Q = v(/* @__PURE__ */ new Map()), [T, O] = I("main"), S = (w) => {
5348
+ const [g, N] = z("none"), [p, y] = z(!1), [L, m] = z(""), [f, I] = Ul(), [C, D] = z(null), [V, _] = z(u ? "listen" : "read"), [ee, j] = z(!1), E = v(null), Q = v(/* @__PURE__ */ new Map()), [T, O] = z("main"), S = (w) => {
5343
5349
  const Ne = document.querySelector(".vs-sheet--settings"), Qe = Ne == null ? void 0 : Ne.parentElement;
5344
5350
  Ne && Qe && T === "main" && w !== "main" && Qe.style.setProperty("--vs-sheet-top", `${Math.round(Ne.getBoundingClientRect().top - Qe.getBoundingClientRect().top)}px`), O(w);
5345
5351
  };
5346
5352
  U(() => {
5347
5353
  ee || S("main");
5348
5354
  }, [ee]);
5349
- const [re, K] = I(u), k = (n == null ? void 0 : n.recording) ?? null, ae = (k == null ? void 0 : k.id) ?? null, [te, G] = I(l.lang), J = typeof te == "string" ? te : null, [pe, le] = I(l.labels), [Te, je] = I(l.words), [Ee, Le] = I(l.cc), [we, _e] = I(l.translateAudio), [Pe, Se] = I(l.clonedVoices), [B, W] = I(l.removeBackground), A = t.settings;
5355
+ const [re, K] = z(u), k = (n == null ? void 0 : n.recording) ?? null, ae = (k == null ? void 0 : k.id) ?? null, [te, G] = z(l.lang), J = typeof te == "string" ? te : null, [pe, le] = z(l.labels), [Te, je] = z(l.words), [Ee, Le] = z(l.cc), [we, _e] = z(l.translateAudio), [Pe, Se] = z(l.clonedVoices), [B, W] = z(l.removeBackground), A = t.settings;
5350
5356
  U(() => {
5351
5357
  (A == null ? void 0 : A.lang) !== void 0 && G(A.lang);
5352
5358
  }, [A == null ? void 0 : A.lang]), U(() => {
@@ -5366,20 +5372,20 @@ function Pc(t) {
5366
5372
  U(() => {
5367
5373
  if (!t.syncUrl) return;
5368
5374
  const w = new URL(window.location.href);
5369
- J ? w.searchParams.set("lang", J) : w.searchParams.delete("lang"), pe ? w.searchParams.set("labels", pe) : w.searchParams.delete("labels"), Te ? w.searchParams.set("words", Te) : w.searchParams.delete("words"), Ee ? w.searchParams.delete("cc") : w.searchParams.set("cc", "off"), we ? w.searchParams.delete("audio") : w.searchParams.set("audio", "original"), Pe ? w.searchParams.delete("voices") : w.searchParams.set("voices", "stock"), qa(w, B), w.href !== window.location.href && window.history.replaceState(window.history.state, "", w);
5375
+ J ? w.searchParams.set("lang", J) : w.searchParams.delete("lang"), pe ? w.searchParams.set("labels", pe) : w.searchParams.delete("labels"), Te ? w.searchParams.set("words", Te) : w.searchParams.delete("words"), Ee ? w.searchParams.delete("cc") : w.searchParams.set("cc", "off"), we ? w.searchParams.delete("audio") : w.searchParams.set("audio", "original"), Pe ? w.searchParams.delete("voices") : w.searchParams.set("voices", "stock"), Za(w, B), w.href !== window.location.href && window.history.replaceState(window.history.state, "", w);
5370
5376
  }, [J, pe, Te, Ee, we, Pe, B]), U(() => {
5371
5377
  n && !n.allowTranslate && J && G(null);
5372
5378
  }, [n, J]);
5373
- const { model: ce, error: F, clearError: me, setLanguage: Z, mergeTranslations: ke, translating: ze, translateFailed: Ge, shownLang: Ae } = Po(ae, {
5379
+ const { model: ce, error: F, clearError: me, setLanguage: Z, mergeTranslations: ve, translating: ze, translateFailed: Ge, shownLang: Ae } = Ro(ae, {
5374
5380
  lang: null,
5375
5381
  onFrame: (w) => {
5376
5382
  w.type === "job.progress" && D({ state: w.state, processedS: w.processedS ?? 0, totalS: w.totalS ?? null, segmentsDone: w.segmentsDone ?? 0, segmentsTotal: w.segmentsTotal ?? null, pct: w.pct ?? 0, error: w.error ?? null });
5377
5383
  }
5378
- }), ge = Ie(() => No(ce).filter((w) => !w.suppressed), [ce]), Ye = Qo((n == null ? void 0 : n.job) ?? null), Ve = ["done", "failed", "stopped"].includes(or((Ye == null ? void 0 : Ye.state) ?? ((Ms = n == null ? void 0 : n.job) == null ? void 0 : Ms.state))), $ = Ve ? Ye : C ?? Ye, he = !!C && !["done", "failed", "stopped"].includes(or(C.state)), ue = v(0);
5384
+ }), ge = Ie(() => po(ce).filter((w) => !w.suppressed), [ce]), Ye = Po((n == null ? void 0 : n.job) ?? null), Ve = ["done", "failed", "stopped"].includes(or((Ye == null ? void 0 : Ye.state) ?? ((Ms = n == null ? void 0 : n.job) == null ? void 0 : Ms.state))), $ = Ve ? Ye : C ?? Ye, he = !!C && !["done", "failed", "stopped"].includes(or(C.state)), ue = v(0);
5379
5385
  U(() => {
5380
5386
  !Ve || !he || Date.now() - ue.current < 1e4 || (ue.current = Date.now(), t.reread());
5381
5387
  }, [Ve, he, C == null ? void 0 : C.state, C == null ? void 0 : C.processedS, o]);
5382
- const ie = or(($ == null ? void 0 : $.state) ?? ((gs = n == null ? void 0 : n.job) == null ? void 0 : gs.state)), fe = !!ae && (ie === "transcribing" || ie === "queued"), Ue = u && !r && (!n || (fe || ie === "cropping") && ge.length === 0), Y = fe ? ($ == null ? void 0 : $.pct) ?? 0 : 100, R = Bo(n == null ? void 0 : n.job, $) ?? (k == null ? void 0 : k.mediaDurationS) ?? null, q = ((fs = ce.segments.values().next().value) == null ? void 0 : fs.language) ?? (k == null ? void 0 : k.spokenLanguage) ?? null, ne = n != null && n.sharedBy ? `Shared by ${n.sharedBy}` : "", de = ((ms = (Ns = (ps = n == null ? void 0 : n.job) == null ? void 0 : ps.source) == null ? void 0 : Ns.name) == null ? void 0 : ms.trim()) || null, Oe = n ? ((ys = n.name) == null ? void 0 : ys.trim()) || de : null, ye = !!((Ts = n == null ? void 0 : n.job) != null && Ts.hasAudio), ve = (ws = n == null ? void 0 : n.job) == null ? void 0 : ws.source, Ce = !ye && !!ve && (ve.kind !== "url" || ve.bytes != null) && (ie === "transcribing" || ie === "queued" || ie === "done"), Ze = ae && (n != null && n.allowDownload) && ye ? xa(e.origin, ae, e.cred) : ae && (n != null && n.allowDownload) && Ce ? nr(e.origin, ae, "source", e.cred) : null, $e = ge[ge.length - 1], ot = $e ? ((Ls = $e.words[$e.words.length - 1]) == null ? void 0 : Ls.end) ?? $e.start : 0, rt = u && fe ? Math.max(ot, ($ == null ? void 0 : $.processedS) ?? 0) : null, gt = Hl(Ze, (ye || Ce) && !!(n != null && n.allowDownload), ge, R, Ce ? ((vs = (ks = n == null ? void 0 : n.job) == null ? void 0 : ks.crop) == null ? void 0 : vs.startS) ?? 0 : 0, rt), be = ((zs = (js = n == null ? void 0 : n.job) == null ? void 0 : js.source) == null ? void 0 : zs.kind) === "url" ? Ii(n.job.source.url) : null, st = Vl(ge, R, ((Os = (Is = n == null ? void 0 : n.job) == null ? void 0 : Is.crop) == null ? void 0 : Os.startS) ?? 0, rt), He = !!be, it = He ? st.player : gt, lt = ki(), Ht = v(null), se = ql({ forcedVoice: t.voice ?? null, recordingId: ae, model: ce, rows: ge, lenS: R, ended: !!ae && !fe, cred: e.cred, langs: lt, srcLang: q, canTranslate: !!(n != null && n.allowTranslate), pickedLang: te, setPickedLang: G, side: s && !re ? Zl : void 0, hearOriginal: H, timed: !!be, stockVoices: u && !Pe, stickyPicker: u, pickerBusy: Ht.current }), Wt = v(null);
5388
+ const ie = or(($ == null ? void 0 : $.state) ?? ((gs = n == null ? void 0 : n.job) == null ? void 0 : gs.state)), fe = !!ae && (ie === "transcribing" || ie === "queued"), Ue = u && !r && (!n || (fe || ie === "cropping") && ge.length === 0), Y = fe ? ($ == null ? void 0 : $.pct) ?? 0 : 100, R = $o(n == null ? void 0 : n.job, $) ?? (k == null ? void 0 : k.mediaDurationS) ?? null, q = ((fs = ce.segments.values().next().value) == null ? void 0 : fs.language) ?? (k == null ? void 0 : k.spokenLanguage) ?? null, ne = n != null && n.sharedBy ? `Shared by ${n.sharedBy}` : "", de = ((ms = (Ns = (ps = n == null ? void 0 : n.job) == null ? void 0 : ps.source) == null ? void 0 : Ns.name) == null ? void 0 : ms.trim()) || null, Oe = n ? ((ys = n.name) == null ? void 0 : ys.trim()) || de : null, ye = !!((Ts = n == null ? void 0 : n.job) != null && Ts.hasAudio), ke = (ws = n == null ? void 0 : n.job) == null ? void 0 : ws.source, Ce = !ye && !!ke && (ke.kind !== "url" || ke.bytes != null) && (ie === "transcribing" || ie === "queued" || ie === "done"), Ze = ae && (n != null && n.allowDownload) && ye ? ba(e.origin, ae, e.cred) : ae && (n != null && n.allowDownload) && Ce ? nr(e.origin, ae, "source", e.cred) : null, $e = ge[ge.length - 1], ot = $e ? ((Ls = $e.words[$e.words.length - 1]) == null ? void 0 : Ls.end) ?? $e.start : 0, rt = u && fe ? Math.max(ot, ($ == null ? void 0 : $.processedS) ?? 0) : null, gt = Vl(Ze, (ye || Ce) && !!(n != null && n.allowDownload), ge, R, Ce ? ((ks = (vs = n == null ? void 0 : n.job) == null ? void 0 : vs.crop) == null ? void 0 : ks.startS) ?? 0 : 0, rt), be = ((zs = (js = n == null ? void 0 : n.job) == null ? void 0 : js.source) == null ? void 0 : zs.kind) === "url" ? zi(n.job.source.url) : null, st = Bl(ge, R, ((Os = (Is = n == null ? void 0 : n.job) == null ? void 0 : Is.crop) == null ? void 0 : Os.startS) ?? 0, rt), He = !!be, it = He ? st.player : gt, lt = Li(), Ht = v(null), se = Zl({ forcedVoice: t.voice ?? null, recordingId: ae, model: ce, rows: ge, lenS: R, ended: !!ae && !fe, cred: e.cred, langs: lt, srcLang: q, canTranslate: !!(n != null && n.allowTranslate), pickedLang: te, setPickedLang: G, side: s && !re ? Gl : void 0, hearOriginal: H, timed: !!be, stockVoices: u && !Pe, stickyPicker: u, pickerBusy: Ht.current }), Wt = v(null);
5383
5389
  U(() => {
5384
5390
  !ae || Wt.current === J || (Wt.current = J, Z(J));
5385
5391
  }, [J, ae]);
@@ -5394,36 +5400,36 @@ function Pc(t) {
5394
5400
  const wt = Ie(() => ge.filter((w) => w.sentenceId != null).map((w, Ne, Qe) => {
5395
5401
  var Fe;
5396
5402
  return { sid: w.sentenceId, start: w.start, end: ((Fe = Qe[Ne + 1]) == null ? void 0 : Fe.start) ?? At(w, w.start, w.start + 4) };
5397
- }), [ge]), Lt = co({ on: He && se.on, lines: wt, clips: se.clips, t: x.t, playing: x.playing, muted: x.muted }), Ot = !!J && (ze || se.relang || se.on && Lt.missing != null);
5403
+ }), [ge]), Lt = lo({ on: He && se.on, lines: wt, clips: se.clips, t: x.t, playing: x.playing, muted: x.muted }), Ot = !!J && (ze || se.relang || se.on && Lt.missing != null);
5398
5404
  Ht.current = Ot ? J : null, U(() => {
5399
5405
  He && se.on && Lt.sid != null && se.setNear(Lt.sid);
5400
- }, [Lt.sid, He, se.on]), Bl([it, se.player], se.sampling);
5406
+ }, [Lt.sid, He, se.on]), $l([it, se.player], se.sampling);
5401
5407
  const Ct = v(null);
5402
5408
  U(() => {
5403
5409
  fe && !x.playing && Ct.current && (Ct.current.scrollTop = Ct.current.scrollHeight);
5404
5410
  }, [fe, ge.length]);
5405
- const ct = Xl(Ct, ge, p, L, y), nn = /* @__PURE__ */ i(Jl, { open: p, q: L, onQ: m, onClose: () => y(!1), hits: ct, desk: s, inline: s }), Je = (n == null ? void 0 : n.name) || t.src || o, ut = !!(n != null && n.allowDownload), Ft = !!(n != null && n.allowExport), dt = se.readLang, kt = dt ? ((Cs = lt == null ? void 0 : lt.languages.find((w) => w.code === dt)) == null ? void 0 : Cs.name) ?? dt.toUpperCase() : null, rn = async () => {
5411
+ const ct = Jl(Ct, ge, p, L, y), nn = /* @__PURE__ */ i(Kl, { open: p, q: L, onQ: m, onClose: () => y(!1), hits: ct, desk: s, inline: s }), Je = (n == null ? void 0 : n.name) || t.src || o, ut = !!(n != null && n.allowDownload), Ft = !!(n != null && n.allowExport), dt = se.readLang, vt = dt ? ((Cs = lt == null ? void 0 : lt.languages.find((w) => w.code === dt)) == null ? void 0 : Cs.name) ?? dt.toUpperCase() : null, rn = async () => {
5406
5412
  if (ae)
5407
5413
  try {
5408
5414
  if (dt && se.canSpeak) {
5409
- z(`Preparing ${Je} in ${kt}${se.readVoiceName ? `, read by ${se.readVoiceName}` : ""} — the download starts when it is ready.`), await Wo(e, { recordingId: ae, lang: dt, voiceKey: se.readVoiceKey, cred: e.cred, request: se.requestTrack }), z(`Downloading ${Je} in ${kt}.`);
5415
+ I(`Preparing ${Je} in ${vt}${se.readVoiceName ? `, read by ${se.readVoiceName}` : ""} — the download starts when it is ready.`), await Ho(e, { recordingId: ae, lang: dt, voiceKey: se.readVoiceKey, cred: e.cred, request: se.requestTrack }), I(`Downloading ${Je} in ${vt}.`);
5410
5416
  return;
5411
5417
  }
5412
5418
  if (ye) {
5413
- z(`Preparing ${Je} as MP3 — the download starts when it is ready.`), await Vo(nr(e.origin, ae, "delivery", e.cred)), z(`Downloading ${Je}.`);
5419
+ I(`Preparing ${Je} as MP3 — the download starts when it is ready.`), await Bo(nr(e.origin, ae, "delivery", e.cred)), I(`Downloading ${Je}.`);
5414
5420
  return;
5415
5421
  }
5416
- Sr(nr(e.origin, ae, "source", e.cred)), z(`Downloading ${Je} — the full audio, since the transcript is still being written.`);
5422
+ Sr(nr(e.origin, ae, "source", e.cred)), I(`Downloading ${Je} — the full audio, since the transcript is still being written.`);
5417
5423
  } catch (w) {
5418
- throw g(Tt(w)), w;
5424
+ throw M(Tt(w)), w;
5419
5425
  }
5420
5426
  }, bt = (w) => {
5421
5427
  if (!ae) return;
5422
- const Ne = Tr.find((Fe) => Fe.key === w).name, Qe = kt ? ` in ${kt}` : "";
5423
- return Ho(e, ae, w, { lang: dt }).then(() => z(fe ? `${Ne} exported${Qe} for the first ${ge.length} segments — the rest is still transcribing.` : `${Ne} exported${Qe}.`)).catch((Fe) => {
5424
- throw g(Tt(Fe)), Fe;
5428
+ const Ne = Tr.find((Fe) => Fe.key === w).name, Qe = vt ? ` in ${vt}` : "";
5429
+ return Vo(e, ae, w, { lang: dt }).then(() => I(fe ? `${Ne} exported${Qe} for the first ${ge.length} segments — the rest is still transcribing.` : `${Ne} exported${Qe}.`)).catch((Fe) => {
5430
+ throw M(Tt(Fe)), Fe;
5425
5431
  });
5426
- }, _t = fe ? "MORE TO COME…" : "END OF TRANSCRIPT", ht = fe ? "var(--brand)" : "var(--ink-28)", Yt = $o($, ge.length), Xe = x.has && (!se.relang || !!be), qe = v(x);
5432
+ }, _t = fe ? "MORE TO COME…" : "END OF TRANSCRIPT", ht = fe ? "var(--brand)" : "var(--ink-28)", Yt = Qo($, ge.length), Xe = x.has && (!se.relang || !!be), qe = v(x);
5427
5433
  qe.current = x;
5428
5434
  const Ut = `${J ?? ""}|${se.on ? "voice" : "source"}`, sn = v({ key: Ut, idx: 0, t: 0, playing: !1, until: 0 });
5429
5435
  U(() => {
@@ -5441,26 +5447,26 @@ function Pc(t) {
5441
5447
  }
5442
5448
  });
5443
5449
  const Rt = v(!1), We = v(!1);
5444
- u && (ci.video = !0);
5445
- const [xt, vt] = I(!1), [Dn, an] = I(!1);
5450
+ u && (li.video = !0);
5451
+ const [xt, kt] = z(!1), [Dn, an] = z(!1);
5446
5452
  U(() => {
5447
5453
  if (!u || Rt.current || !Xe || !re || Ue || t.autoplay === !1) return;
5448
5454
  Rt.current = !0;
5449
5455
  const w = (Fe) => {
5450
5456
  qe.current.playing || We.current || (qe.current.toggle(), Fe > 0 && setTimeout(() => w(Fe - 1), 1500));
5451
5457
  }, Ne = () => {
5452
- qe.current.muted || qe.current.toggleMute(), vt(!0), w(3);
5458
+ qe.current.muted || qe.current.toggleMute(), kt(!0), w(3);
5453
5459
  }, Qe = qe.current;
5454
5460
  if (!Qe.autoplay || t.startMuted) {
5455
5461
  Ne();
5456
5462
  return;
5457
5463
  }
5458
5464
  Qe.autoplay().then((Fe) => {
5459
- Fe === !1 ? vt(!0) : Fe == null && !We.current && Ne();
5465
+ Fe === !1 ? kt(!0) : Fe == null && !We.current && Ne();
5460
5466
  });
5461
5467
  }, [u, Xe, re, Ue]);
5462
5468
  const jt = v(!1), Sn = () => {
5463
- xt && (vt(!1), jt.current = !0, setTimeout(() => {
5469
+ xt && (kt(!1), jt.current = !0, setTimeout(() => {
5464
5470
  jt.current = !1;
5465
5471
  }, 500), qe.current.muted && qe.current.toggleMute());
5466
5472
  }, An = () => {
@@ -5468,14 +5474,14 @@ function Pc(t) {
5468
5474
  jt.current = !1;
5469
5475
  return;
5470
5476
  }
5471
- vt(!1), qe.current.toggleMute();
5477
+ kt(!1), qe.current.toggleMute();
5472
5478
  }, En = () => {
5473
5479
  if (jt.current) {
5474
5480
  jt.current = !1;
5475
5481
  return;
5476
5482
  }
5477
5483
  We.current = !0, qe.current.toggle();
5478
- }, on = (w) => /* @__PURE__ */ i(Ul, { player: x, size: w }), Gt = !!ae && !fe, [Zt, qt] = I(!1);
5484
+ }, on = (w) => /* @__PURE__ */ i(Yl, { player: x, size: w }), Gt = !!ae && !fe, [Zt, qt] = z(!1);
5479
5485
  U(() => {
5480
5486
  if (!ze) {
5481
5487
  qt(!1);
@@ -5484,12 +5490,12 @@ function Pc(t) {
5484
5490
  const w = setTimeout(() => qt(!0), 180);
5485
5491
  return () => clearTimeout(w);
5486
5492
  }, [ze]);
5487
- const P = Zt ? Ae : J, De = sl(ae, J, ge, ke), Be = yl(Tl(k), ae, se.readLang), zt = ut || Ft, Kt = (((xs = (bs = n == null ? void 0 : n.job) == null ? void 0 : bs.crop) == null ? void 0 : xs.startS) ?? 0) + cr(x, ge), _n = V === "listen", Dt = _n && (!!be || u), $i = (w) => {
5493
+ const P = Zt ? Ae : J, De = rl(ae, J, ge, ve), Be = ml(yl(k), ae, se.readLang), zt = ut || Ft, Kt = (((xs = (bs = n == null ? void 0 : n.job) == null ? void 0 : bs.crop) == null ? void 0 : xs.startS) ?? 0) + cr(x, ge), _n = V === "listen", Dt = _n && (!!be || u), Qi = (w) => {
5488
5494
  it.pause(), se.player.pause(), _(w), w === "read" && re && (Xt(!1), K(!1));
5489
- }, Re = se.barChip, Pt = ji(Re.label), Yr = /* @__PURE__ */ i(hr, { value: V, onChange: $i, bordered: !1, options: hc(Pt, !!be) }), Qt = [...Gt ? [{ key: "summary", label: "Summary" }] : [], ...zt ? [{ key: "export", label: "Export" }] : []], Ur = (w) => /* @__PURE__ */ h(xe, { children: [
5490
- w === "summary" && Gt && /* @__PURE__ */ i(wl, { s: Be }),
5491
- w === "export" && /* @__PURE__ */ i(ml, { audio: ut ? { name: Je, meta: dt && se.canSpeak || ye ? `MP3${R ? ` · ${yt(R)}` : ""}` : "ORIGINAL AUDIO", onClick: rn } : null, formats: Ft, onExport: bt })
5492
- ] }), Bi = (w) => /* @__PURE__ */ i(el, { index: x.idx, total: Math.max(1, ge.length), frac: x.dur > 0 ? Math.min(1, x.t / x.dur) : 0, glideMs: x.wordSync ? 0 : 220, atLabel: yt(x.t), durLabel: yt(x.dur), stepLabel: w ? `${x.idx + 1} / ${ge.length}` : "", onSeek: se.relang ? Fl : x.seekRow, onSeekFrac: se.relang ? void 0 : x.seekFrac, onScrubStart: x.hold, onScrubEnd: x.release }), Rr = {
5495
+ }, Re = se.barChip, Pt = ki(Re.label), Yr = /* @__PURE__ */ i(hr, { value: V, onChange: Qi, bordered: !1, options: dc(Pt, !!be) }), Qt = [...Gt ? [{ key: "summary", label: "Summary" }] : [], ...zt ? [{ key: "export", label: "Export" }] : []], Ur = (w) => /* @__PURE__ */ h(xe, { children: [
5496
+ w === "summary" && Gt && /* @__PURE__ */ i(Tl, { s: Be }),
5497
+ w === "export" && /* @__PURE__ */ i(Nl, { audio: ut ? { name: Je, meta: dt && se.canSpeak || ye ? `MP3${R ? ` · ${yt(R)}` : ""}` : "ORIGINAL AUDIO", onClick: rn } : null, formats: Ft, onExport: bt })
5498
+ ] }), $i = (w) => /* @__PURE__ */ i(Xo, { index: x.idx, total: Math.max(1, ge.length), frac: x.dur > 0 ? Math.min(1, x.t / x.dur) : 0, glideMs: x.wordSync ? 0 : 220, atLabel: yt(x.t), durLabel: yt(x.dur), stepLabel: w ? `${x.idx + 1} / ${ge.length}` : "", onSeek: se.relang ? Wl : x.seekRow, onSeekFrac: se.relang ? void 0 : x.seekFrac, onScrubStart: x.hold, onScrubEnd: x.release }), Rr = {
5493
5499
  live: !1,
5494
5500
  atEdge: !1,
5495
5501
  edgeFrac: null,
@@ -5502,24 +5508,24 @@ function Pc(t) {
5502
5508
  var Ne;
5503
5509
  se.relang || (Ne = x.seekFrac) == null || Ne.call(x, w);
5504
5510
  }
5505
- }, [Vi, Hi] = gc(se.on && !!x.preparing && x.playing, 1500), Yn = se.on && ((Ds = x.error) == null ? void 0 : Ds.code) === "voice_not_started", Un = se.canSpeak && !se.error && !Yn, ln = J ? ((Ss = lt == null ? void 0 : lt.languages.find((w) => w.code === J)) == null ? void 0 : Ss.name) ?? Re.label : "", tt = re ? Mc({ lang: J, langName: ln, translating: ze && !!J, translateFailed: Ge, voiceFailed: Yn, relang: se.relang, starting: se.on ? x.starting : null, slowLine: Vi, lineSince: Hi }) : null, Rn = !!be && !!tt && (tt.kind === "translating" || tt.kind === "voice" && se.relang), Pr = !Rn || !tt ? null : tt.kind === "translating" ? `Translating into ${ln || "the new language"}…` : `Preparing the ${ln || "translated"} voice…`, cn = !Rn && ((tt == null ? void 0 : tt.kind) === "voice" || (tt == null ? void 0 : tt.kind) === "starting"), Qr = Or({ ...se.langList, keepOpen: !0, open: T === "lang", onClose: () => S("main") }), $r = Ga(B, se.on), Wi = u && $r.bed && ut && ae && (!fe || Ze) ? _s(e.origin, ae, e.cred) : null, Br = ro(Wi, { t: cr(x, ge), playing: x.playing && !cn && !(x.timed && x.preparing), muted: x.muted }), Fi = u && $r.speech && ut && ae && (!fe || Ze) ? _s(e.origin, ae, e.cred, "speech") : null, Pn = Ni(Fi, { t: cr(x, ge), playing: !se.on && x.playing, muted: x.muted }), Qn = !se.on && Pn.on;
5511
+ }, [Bi, Vi] = Mc(se.on && !!x.preparing && x.playing, 1500), Yn = se.on && ((Ds = x.error) == null ? void 0 : Ds.code) === "voice_not_started", Un = se.canSpeak && !se.error && !Yn, ln = J ? ((Ss = lt == null ? void 0 : lt.languages.find((w) => w.code === J)) == null ? void 0 : Ss.name) ?? Re.label : "", tt = re ? hc({ lang: J, langName: ln, translating: ze && !!J, translateFailed: Ge, voiceFailed: Yn, relang: se.relang, starting: se.on ? x.starting : null, slowLine: Bi, lineSince: Vi }) : null, Rn = !!be && !!tt && (tt.kind === "translating" || tt.kind === "voice" && se.relang), Pr = !Rn || !tt ? null : tt.kind === "translating" ? `Translating into ${ln || "the new language"}…` : `Preparing the ${ln || "translated"} voice…`, cn = !Rn && ((tt == null ? void 0 : tt.kind) === "voice" || (tt == null ? void 0 : tt.kind) === "starting"), Qr = Or({ ...se.langList, keepOpen: !0, open: T === "lang", onClose: () => S("main") }), $r = Fa(B, se.on), Hi = u && $r.bed && ut && ae && (!fe || Ze) ? _s(e.origin, ae, e.cred) : null, Br = no(Hi, { t: cr(x, ge), playing: x.playing && !cn && !(x.timed && x.preparing), muted: x.muted }), Wi = u && $r.speech && ut && ae && (!fe || Ze) ? _s(e.origin, ae, e.cred, "speech") : null, Pn = pi(Wi, { t: cr(x, ge), playing: !se.on && x.playing, muted: x.muted }), Qn = !se.on && Pn.on;
5506
5512
  U(() => {
5507
5513
  var w;
5508
5514
  st.setVideoSound(!(He && (se.on || Qn))), (w = gt.silence) == null || w.call(gt, !He && Qn);
5509
5515
  }, [He, se.on, Qn, Ze]);
5510
- const $n = ut ? se.on ? Br : Pn.state : "unavailable", Bn = we && Un && !!J, Gi = Bn ? [`Translated${se.hasClone ? Pe ? ", cloned voices" : ", synthetic voices" : ""}`, !B && ut && Br !== "unavailable" ? "with background sound" : null].filter(Boolean).join(" ") : B && $n !== "unavailable" ? "Original speech, background removed" : "Original sound", Zi = () => {
5516
+ const $n = ut ? se.on ? Br : Pn.state : "unavailable", Bn = we && Un && !!J, Fi = Bn ? [`Translated${se.hasClone ? Pe ? ", cloned voices" : ", synthetic voices" : ""}`, !B && ut && Br !== "unavailable" ? "with background sound" : null].filter(Boolean).join(" ") : B && $n !== "unavailable" ? "Original speech, background removed" : "Original sound", Gi = () => {
5511
5517
  if ((tt == null ? void 0 : tt.kind) === "translateFailed") {
5512
5518
  Z(J);
5513
5519
  return;
5514
5520
  }
5515
5521
  We.current = !0, x.toggle();
5516
- }, qi = () => {
5522
+ }, Zi = () => {
5517
5523
  const w = x.idx;
5518
5524
  x.pause(), G(null), We.current = !0, it.playRow(w);
5519
5525
  }, Vr = { prevOn: x.idx > 0, nextOn: x.idx < ge.length - 1, onPrev: x.prev, onNext: x.next, playing: x.playing, playable: Xe, playTitle: se.playTitle ?? (x.playing ? "Pause" : "Play"), onPlay: () => {
5520
5526
  We.current = !0, x.toggle();
5521
5527
  }, busy: se.relang && !be || cn };
5522
- Mo(Xe ? { playing: x.playing, toggle: () => {
5528
+ ho(Xe ? { playing: x.playing, toggle: () => {
5523
5529
  We.current = !0, x.toggle();
5524
5530
  }, next: x.next, prev: x.prev } : null, Oe);
5525
5531
  const Vn = { background: "transparent", color: "#eef0f8", width: 74, justifyContent: "center", boxSizing: "border-box" }, Hn = (w, Ne) => !Re.can || !b.language ? null : u ? /* @__PURE__ */ h("button", { type: "button", className: "gfull__btn", title: Ot ? `${Re.label ?? Re.code}: still being prepared` : Re.label ?? Re.code, "aria-label": `Language: ${Re.label ?? Re.code}`, "aria-busy": Ot || void 0, onClick: () => {
@@ -5528,31 +5534,31 @@ function Pc(t) {
5528
5534
  /* @__PURE__ */ i("span", { style: { fontSize: Ne === "sm" ? 17 : 21, lineHeight: 1 }, children: Re.flag }),
5529
5535
  Ot && /* @__PURE__ */ i("span", { style: { position: "absolute", right: 2, bottom: 2, display: "flex", borderRadius: 999, background: "rgba(5,6,21,.7)", padding: 1 }, children: /* @__PURE__ */ i(at, { size: 11, color: "#eef0f8", track: "rgba(255,255,255,.25)" }) })
5530
5536
  ] }) : /* @__PURE__ */ i(zn, { flag: Re.flag, code: Re.code, label: Re.label, bordered: !1, size: Ne, onClick: Re.onClick, style: w }), Hr = { on: !1, title: "Voices", onClick: () => {
5531
- } }, [Ki, Ji] = I(!1);
5537
+ } }, [qi, Ki] = z(!1);
5532
5538
  U(() => {
5533
- x.t > 0.3 && Ji(!0);
5539
+ x.t > 0.3 && Ki(!0);
5534
5540
  }, [x.t]);
5535
5541
  const Wr = be ? /* @__PURE__ */ h(xe, { children: [
5536
- /* @__PURE__ */ i(El, { ytId: be, title: Je, t: Kt, playing: x.playing && !cn, waiting: se.on && !!x.timed && !!x.preparing, seekN: x.seekN, onTime: (w) => {
5542
+ /* @__PURE__ */ i(Al, { ytId: be, title: Je, t: Kt, playing: x.playing && !cn, waiting: se.on && !!x.timed && !!x.preparing, seekN: x.seekN, onTime: (w) => {
5537
5543
  var Ne, Qe, Fe;
5538
5544
  return (Fe = x.videoAt) == null ? void 0 : Fe.call(x, w - (((Qe = (Ne = n == null ? void 0 : n.job) == null ? void 0 : Ne.crop) == null ? void 0 : Qe.startS) ?? 0));
5539
5545
  }, onToggle: x.has ? En : void 0, onAd: an, lead: He ? st.lead : void 0 }),
5540
- /* @__PURE__ */ h("div", { className: "vsp-poster", "aria-hidden": "true", style: { opacity: Ki ? 0 : 1 }, children: [
5546
+ /* @__PURE__ */ h("div", { className: "vsp-poster", "aria-hidden": "true", style: { opacity: qi ? 0 : 1 }, children: [
5541
5547
  /* @__PURE__ */ i("div", { className: "vsp-poster__img", style: { backgroundImage: `url(https://i.ytimg.com/vi/${be}/hqdefault.jpg)` } }),
5542
5548
  /* @__PURE__ */ i("span", { className: "txyt__pausedplay", children: /* @__PURE__ */ i(jr, { size: 44 }) })
5543
5549
  ] })
5544
- ] }) : u ? /* @__PURE__ */ i("div", { className: "vsp-idle__pic vsp-idle__pic--brand" }) : null, Fr = Dt && be && !re ? /* @__PURE__ */ i(Ll, { ytId: be, title: Je, radius: 14, large: !0, style: s ? void 0 : { margin: "8px 20px 2px" }, picture: Wr, children: /* @__PURE__ */ i(lc, { pos: Rr, transport: Vr, chip: Hn({ ...Vn, width: 64, height: 28, minHeight: 28, padding: "0 8px" }, "sm"), voices: Hr, onFull: () => {
5550
+ ] }) : u ? /* @__PURE__ */ i("div", { className: "vsp-idle__pic vsp-idle__pic--brand" }) : null, Fr = Dt && be && !re ? /* @__PURE__ */ i(wl, { ytId: be, title: Je, radius: 14, large: !0, style: s ? void 0 : { margin: "8px 20px 2px" }, picture: Wr, children: /* @__PURE__ */ i(oc, { pos: Rr, transport: Vr, chip: Hn({ ...Vn, width: 64, height: 28, minHeight: 28, padding: "0 8px" }, "sm"), voices: Hr, onFull: () => {
5545
5551
  Xt(!0), K(!0);
5546
- }, copied: null }) }) : null, et = x.wordSync ? Zo(ge, x.idx, x.t) ? ge[x.idx] : void 0 : ge[x.idx];
5552
+ }, copied: null }) }) : null, et = x.wordSync ? Go(ge, x.idx, x.t) ? ge[x.idx] : void 0 : ge[x.idx];
5547
5553
  for (const w of ge) for (const [Ne, Qe] of Object.entries(w.translations)) Qe && Q.current.set(`${w.sentenceId ?? w.start}|${Ne}`, Qe);
5548
5554
  const Gr = (w, Ne) => w.translations[Ne] || Q.current.get(`${w.sentenceId ?? w.start}|${Ne}`) || null, Wn = (w, Ne) => !w || !Ne || w.language === Ne || !!Gr(w, Ne), mt = Wn(et, J) ? J : Wn(et, E.current) ? E.current : J;
5549
5555
  et && Wn(et, mt) && (E.current = mt);
5550
- const Zr = et && mt && et.language !== mt ? Gr(et, mt) : null, Xi = et && Zr && mt && !et.translations[mt] ? Object.assign([...ge], { [x.idx]: { ...et, translations: { ...et.translations, [mt]: Zr } } }) : ge, un = et ? Di(Xi, x.idx, mt) : [], dn = Te ? Te === "on" : !u || se.on || !P || P === q, qr = dn ? Zs(x, x.idx, un) : null, Kr = un.map((w, Ne) => ({ t: w.text, sp: Ne < un.length - 1 ? " " : "", dim: qr != null && Ne > qr })), hn = pe ? pe === "on" : u ? !1 : Io(ce, ge, k == null ? void 0 : k.settings), Jr = { lang: J, subtitles: Ee, speakerLabels: hn, wordHighlight: dn, translateAudio: we, voices: Pe ? "cloned" : "synthetic", removeBackground: B }, ea = JSON.stringify(Jr), Mn = v(t.onSettingsChange);
5556
+ const Zr = et && mt && et.language !== mt ? Gr(et, mt) : null, Ji = et && Zr && mt && !et.translations[mt] ? Object.assign([...ge], { [x.idx]: { ...et, translations: { ...et.translations, [mt]: Zr } } }) : ge, un = et ? xi(Ji, x.idx, mt) : [], dn = Te ? Te === "on" : !u || se.on || !P || P === q, qr = dn ? Zs(x, x.idx, un) : null, Kr = un.map((w, Ne) => ({ t: w.text, sp: Ne < un.length - 1 ? " " : "", dim: qr != null && Ne > qr })), hn = pe ? pe === "on" : u ? !1 : zo(ce, ge, k == null ? void 0 : k.settings), Jr = { lang: J, subtitles: Ee, speakerLabels: hn, wordHighlight: dn, translateAudio: we, voices: Pe ? "cloned" : "synthetic", removeBackground: B }, Xi = JSON.stringify(Jr), Mn = v(t.onSettingsChange);
5551
5557
  Mn.current = t.onSettingsChange, U(() => {
5552
5558
  var w;
5553
5559
  (w = Mn.current) == null || w.call(Mn, Jr);
5554
- }, [ea]);
5555
- const gn = et && et.speaker >= 0 && hn ? xr(ce, et.speaker) : null, [ta, Xr] = I(!1), [Fn, es] = I(null), [na, ts] = I(null), Gn = v(void 0);
5560
+ }, [Xi]);
5561
+ const gn = et && et.speaker >= 0 && hn ? xr(ce, et.speaker) : null, [ea, Xr] = z(!1), [Fn, es] = z(null), [ta, ts] = z(null), Gn = v(void 0);
5556
5562
  U(() => () => window.clearTimeout(Gn.current), []);
5557
5563
  const Zn = v(void 0);
5558
5564
  U(() => () => window.clearTimeout(Zn.current), []);
@@ -5576,11 +5582,11 @@ function Pc(t) {
5576
5582
  const w = fn.current;
5577
5583
  w == null || !x.playing || (fn.current = null, Math.abs(x.t - w) > 2 && qn(w));
5578
5584
  }, [x.playing]);
5579
- const ra = (w) => {
5585
+ const na = (w) => {
5580
5586
  We.current = !0, fn.current = null, qn(Math.max(0, w));
5581
5587
  };
5582
5588
  t.handle.current = {
5583
- seek: (w) => ra(w),
5589
+ seek: (w) => na(w),
5584
5590
  play: () => {
5585
5591
  We.current = !0, qe.current.playing || qe.current.toggle();
5586
5592
  },
@@ -5591,7 +5597,7 @@ function Pc(t) {
5591
5597
  We.current = !0, qe.current.toggle();
5592
5598
  },
5593
5599
  toggleMute: () => {
5594
- vt(!1), qe.current.toggleMute();
5600
+ kt(!1), qe.current.toggleMute();
5595
5601
  }
5596
5602
  }, U(() => () => {
5597
5603
  t.handle.current = null;
@@ -5608,13 +5614,13 @@ function Pc(t) {
5608
5614
  yn !== w && (w = yn, Fe(Mt));
5609
5615
  };
5610
5616
  Ne();
5611
- const Qe = window.setInterval(Ne, Uc);
5617
+ const Qe = window.setInterval(Ne, Rc);
5612
5618
  return () => window.clearInterval(Qe);
5613
5619
  }, []);
5614
- const sa = () => t.onShare ? t.onShare() : Ar(ns(null), Je, () => {
5620
+ const ra = () => t.onShare ? t.onShare() : Ar(ns(null), Je, () => {
5615
5621
  window.clearTimeout(Zn.current), Xr(!0), Zn.current = window.setTimeout(() => Xr(!1), 2200);
5616
5622
  }), as = (w, Ne, Qe) => {
5617
- const Fe = Tr.find((yn) => yn.key === w), ft = Fn === w, Mt = na === w;
5623
+ const Fe = Tr.find((yn) => yn.key === w), ft = Fn === w, Mt = ta === w;
5618
5624
  return /* @__PURE__ */ h("div", { className: "srow srow--tap", role: "button", "aria-busy": ft || void 0, style: Fn && !ft ? { opacity: 0.45, pointerEvents: "none" } : void 0, onClick: () => {
5619
5625
  Fn || (es(w), Promise.resolve().then(() => bt(w)).then(() => {
5620
5626
  ts(w), window.clearTimeout(Gn.current), Gn.current = window.setTimeout(() => ts(null), 1600);
@@ -5628,13 +5634,13 @@ function Pc(t) {
5628
5634
  ] }),
5629
5635
  /* @__PURE__ */ i(oe, { d: Mt ? X.check : X.downloaded, size: 17, sw: 1.6, style: { flex: "none", color: Mt ? "var(--brand)" : "var(--ink-62)" } })
5630
5636
  ] });
5631
- }, ia = /* @__PURE__ */ h("span", { className: "vs-sheet__title", style: { position: "relative" }, children: [
5637
+ }, sa = /* @__PURE__ */ h("span", { className: "vs-sheet__title", style: { position: "relative" }, children: [
5632
5638
  " ",
5633
5639
  /* @__PURE__ */ h("button", { type: "button", onClick: () => S("main"), "aria-label": "Back", style: { position: "absolute", left: -6, top: "50%", transform: "translateY(-50%)", display: "inline-flex", alignItems: "center", gap: 2, padding: "4px 6px 4px 0", border: 0, background: "none", color: "var(--ink-96)", fontFamily: "var(--vs-font-sans)", fontSize: 15, fontWeight: 600, letterSpacing: 0, lineHeight: 1, whiteSpace: "nowrap", cursor: "pointer" }, children: [
5634
5640
  /* @__PURE__ */ i(oe, { d: X.chevronLeft, size: 18, sw: 1.8 }),
5635
5641
  "Back"
5636
5642
  ] })
5637
- ] }), pn = /* @__PURE__ */ i(oe, { d: X.chevronRight, size: 17, sw: 1.6, style: { flex: "none", color: "var(--ink-45)" } }), aa = { main: "SETTINGS", lang: "LANGUAGE", subs: "SUBTITLES", audio: "AUDIO", export: "EXPORT" }[T], Nn = { display: "flex", flexDirection: "column", gap: 2, paddingBottom: 14 }, Kn = u ? /* @__PURE__ */ i(Vt, { open: ee, onClose: () => j(!1), title: aa, titleNode: T === "main" ? void 0 : ia, doneLabel: Pt.done, kind: T === "main" ? "settings" : "settings vs-sheet--page", sticky: !0, children: /* @__PURE__ */ i(Mr, { children: T === "lang" ? /* @__PURE__ */ h("div", { style: { display: "flex", flexDirection: "column" }, children: [
5643
+ ] }), pn = /* @__PURE__ */ i(oe, { d: X.chevronRight, size: 17, sw: 1.6, style: { flex: "none", color: "var(--ink-45)" } }), ia = { main: "SETTINGS", lang: "LANGUAGE", subs: "SUBTITLES", audio: "AUDIO", export: "EXPORT" }[T], Nn = { display: "flex", flexDirection: "column", gap: 2, paddingBottom: 14 }, Kn = u ? /* @__PURE__ */ i(Vt, { open: ee, onClose: () => j(!1), title: ia, titleNode: T === "main" ? void 0 : sa, doneLabel: Pt.done, kind: T === "main" ? "settings" : "settings vs-sheet--page", sticky: !0, children: /* @__PURE__ */ i(Mr, { children: T === "lang" ? /* @__PURE__ */ h("div", { style: { display: "flex", flexDirection: "column" }, children: [
5638
5644
  /* @__PURE__ */ i("div", { style: { position: "sticky", top: 0, zIndex: 1, padding: "4px 14px 10px", background: "var(--vs-surface-raised)" }, children: Qr.search }),
5639
5645
  Qr.list
5640
5646
  ] }) : T === "subs" ? /* @__PURE__ */ h("div", { style: Nn, children: [
@@ -5677,7 +5683,7 @@ function Pc(t) {
5677
5683
  /* @__PURE__ */ h("div", { className: "srow", children: [
5678
5684
  /* @__PURE__ */ h("div", { style: { flex: 1, minWidth: 0 }, children: [
5679
5685
  /* @__PURE__ */ i("div", { className: "srow__t", children: In }),
5680
- /* @__PURE__ */ i("div", { className: "srow__s", children: Fa(B, $n, "video", se.on ? 0 : Pn.untilS) })
5686
+ /* @__PURE__ */ i("div", { className: "srow__s", children: Wa(B, $n, "video", se.on ? 0 : Pn.untilS) })
5681
5687
  ] }),
5682
5688
  /* @__PURE__ */ i(Nt, { checked: B && ut, onChange: W, label: In, disabled: !ut || $n === "unavailable" && !B })
5683
5689
  ] })
@@ -5703,7 +5709,7 @@ function Pc(t) {
5703
5709
  b.audio && /* @__PURE__ */ h("div", { className: "srow srow--tap", role: "button", onClick: () => S("audio"), children: [
5704
5710
  /* @__PURE__ */ h("div", { style: { flex: 1, minWidth: 0 }, children: [
5705
5711
  /* @__PURE__ */ i("div", { className: "srow__t", children: "Audio" }),
5706
- /* @__PURE__ */ i("div", { className: "srow__s", children: Gi })
5712
+ /* @__PURE__ */ i("div", { className: "srow__s", children: Fi })
5707
5713
  ] }),
5708
5714
  pn
5709
5715
  ] }, "audio"),
@@ -5711,7 +5717,7 @@ function Pc(t) {
5711
5717
  /* @__PURE__ */ h("div", { style: { flex: 1, minWidth: 0 }, children: [
5712
5718
  /* @__PURE__ */ h("div", { className: "srow__t", children: [
5713
5719
  "Export",
5714
- kt ? ` in ${kt}` : ""
5720
+ vt ? ` in ${vt}` : ""
5715
5721
  ] }),
5716
5722
  /* @__PURE__ */ i("div", { className: "srow__s", children: "Subtitles (SRT / VTT) or a PDF of the transcript" })
5717
5723
  ] }),
@@ -5734,7 +5740,7 @@ function Pc(t) {
5734
5740
  ] }),
5735
5741
  t.settingsExtra
5736
5742
  ] }) }), It = re && Dt && (!!be || u) && /* @__PURE__ */ i(
5737
- _i,
5743
+ Ei,
5738
5744
  {
5739
5745
  page: (t.layout ?? "embed") === "page",
5740
5746
  picture: Wr,
@@ -5745,7 +5751,7 @@ function Pc(t) {
5745
5751
  cc: b.subtitles ? { on: Ee, onToggle: () => Le((w) => !w) } : void 0,
5746
5752
  noFull: !b.fullscreen,
5747
5753
  ad: Dn,
5748
- wait: tt && !Rn ? /* @__PURE__ */ i(pc, { state: tt, line: cn ? Kr.map((w) => w.t + w.sp).join("") : null, onRetry: Zi, onOriginal: qi }) : x.edgeWait ? `Transcribing ${Math.round(Y)}% — it plays on as more is written` : null,
5754
+ wait: tt && !Rn ? /* @__PURE__ */ i(fc, { state: tt, line: cn ? Kr.map((w) => w.t + w.sp).join("") : null, onRetry: Gi, onOriginal: Zi }) : x.edgeWait ? `Transcribing ${Math.round(Y)}% — it plays on as more is written` : null,
5749
5755
  pct: fe ? Math.round(Y) : null,
5750
5756
  sub: Ee && et ? { who: gn ? br(ce, et.speaker) : null, color: gn ? gn.fg ?? `var(--lane-${gn.lane})` : "#fff", words: Kr, cursor: Zs(x, x.idx, un) } : null,
5751
5757
  chip: Hn(s ? Vn : { ...Vn, width: 64, padding: "0 6px" }, s ? void 0 : "sm"),
@@ -5755,13 +5761,13 @@ function Pc(t) {
5755
5761
  voices: null,
5756
5762
  voicesBtn: u ? null : Hr,
5757
5763
  sheetOpen: se.sheetsOpen || ee,
5758
- onShare: u && b.share ? sa : void 0,
5764
+ onShare: u && b.share ? ra : void 0,
5759
5765
  onSettings: u && b.settings ? () => {
5760
5766
  se.closePicker(), j((w) => !w);
5761
5767
  } : void 0,
5762
5768
  compact: !!t.compact,
5763
5769
  paused: { title: Je, summary: Be.state === "ready" ? Be.summary ?? null : null, share: b.share && (t.shareUrl || !t.onShare) ? { url: ns, at: x.t } : null },
5764
- copied: ta ? /* @__PURE__ */ h("div", { className: "gfull__toast", "aria-live": "polite", children: [
5770
+ copied: ea ? /* @__PURE__ */ h("div", { className: "gfull__toast", "aria-live": "polite", children: [
5765
5771
  /* @__PURE__ */ i(oe, { d: X.check, size: 13, sw: 2 }),
5766
5772
  "Link copied"
5767
5773
  ] }) : xt ? /* @__PURE__ */ h("div", { className: "gfull__toast gfull__soundtip", "aria-live": "polite", children: [
@@ -5793,20 +5799,20 @@ function Pc(t) {
5793
5799
  /* @__PURE__ */ i("span", { className: "s", children: Yt })
5794
5800
  ] }),
5795
5801
  !s && /* @__PURE__ */ i("div", { className: "pubprog__bar", style: { marginTop: 8 }, children: /* @__PURE__ */ i("div", { style: { width: `${Y}%` } }) })
5796
- ] }), Jn = r && /* @__PURE__ */ i("div", { className: "hint", style: { padding: "30px 20px", textAlign: "center", fontSize: 13 }, children: "This link is no longer shared. Ask the person who sent it for a new one." }), ls = /* @__PURE__ */ i(Kl, { model: ce, rows: ge, player: x, tail: _t, tailFg: ht, running: fe, desk: s, feedRef: Ct, listener: !0, showLabels: hn, find: L, findOpen: !s && p, lang: P, warm: Zt, onVisible: De, wordHl: dn }), Xn = /* @__PURE__ */ i(Xo, { error: d ?? F ?? (Yn && re ? null : x.error) ?? se.error, onClose: () => {
5797
- g(null), me(), x.clearError(), se.clearError();
5802
+ ] }), Jn = r && /* @__PURE__ */ i("div", { className: "hint", style: { padding: "30px 20px", textAlign: "center", fontSize: 13 }, children: "This link is no longer shared. Ask the person who sent it for a new one." }), ls = /* @__PURE__ */ i(ql, { model: ce, rows: ge, player: x, tail: _t, tailFg: ht, running: fe, desk: s, feedRef: Ct, listener: !0, showLabels: hn, find: L, findOpen: !s && p, lang: P, warm: Zt, onVisible: De, wordHl: dn }), Xn = /* @__PURE__ */ i(Jo, { error: d ?? F ?? (Yn && re ? null : x.error) ?? se.error, onClose: () => {
5803
+ M(null), me(), x.clearError(), se.clearError();
5798
5804
  } }), cs = [R ? yt(R) : null, q ? q.toUpperCase() : null, ne || "Read-only copy"].filter(Boolean).join(" · "), us = (w) => /* @__PURE__ */ i("div", { className: "ctrans", children: se.noVoice ? se.noVoiceNote : /* @__PURE__ */ h(xe, { children: [
5799
5805
  /* @__PURE__ */ h("div", { className: "ctrans__row", children: [
5800
5806
  /* @__PURE__ */ i("span", { className: "ctrans__sp", "aria-hidden": "true" }),
5801
5807
  /* @__PURE__ */ h("div", { className: "ctrans__mid", children: [
5802
5808
  /* @__PURE__ */ i("button", { type: "button", className: "ctrans__step", "aria-label": "Previous segment", title: "Previous segment", style: { opacity: x.idx <= 0 ? 0.3 : 1 }, onClick: x.prev, children: /* @__PURE__ */ i(oe, { d: X.chevronLeft, size: 16, sw: 1.8 }) }),
5803
- /* @__PURE__ */ i("button", { type: "button", className: "ctrans__play", "aria-label": se.relang ? "Preparing audio" : x.playing ? "Pause" : "Play", title: se.relang ? "Preparing audio…" : se.playTitle ?? (x.playing ? "Pause" : "Play"), disabled: !Xe, onClick: x.toggle, children: se.relang ? /* @__PURE__ */ i("span", { className: "ctrans__spin" }) : /* @__PURE__ */ i("svg", { viewBox: "0 0 24 24", width: 16, height: 16, fill: "currentColor", "aria-hidden": "true", style: x.playing ? void 0 : { marginLeft: 2 }, children: x.playing ? _l : Yl }) }),
5809
+ /* @__PURE__ */ i("button", { type: "button", className: "ctrans__play", "aria-label": se.relang ? "Preparing audio" : x.playing ? "Pause" : "Play", title: se.relang ? "Preparing audio…" : se.playTitle ?? (x.playing ? "Pause" : "Play"), disabled: !Xe, onClick: x.toggle, children: se.relang ? /* @__PURE__ */ i("span", { className: "ctrans__spin" }) : /* @__PURE__ */ i("svg", { viewBox: "0 0 24 24", width: 16, height: 16, fill: "currentColor", "aria-hidden": "true", style: x.playing ? void 0 : { marginLeft: 2 }, children: x.playing ? El : _l }) }),
5804
5810
  /* @__PURE__ */ i("button", { type: "button", className: "ctrans__step", "aria-label": "Next segment", title: "Next segment", style: { opacity: x.idx >= ge.length - 1 ? 0.3 : 1 }, onClick: x.next, children: /* @__PURE__ */ i(oe, { d: X.chevronRight, size: 16, sw: 1.8 }) })
5805
5811
  ] }),
5806
5812
  /* @__PURE__ */ i("span", { className: "ctrans__mute", children: on(36) })
5807
5813
  ] }),
5808
- /* @__PURE__ */ i("div", { className: "ctrans__scrub", children: Bi(w) })
5809
- ] }) }), oa = jl("ga", { tabs: Qt, cur: M, pref: (As = Qt[0]) == null ? void 0 : As.key, onPick: N }), ds = Math.max(0, Math.min(100, Math.round(Y))), la = Ue && /* @__PURE__ */ h("div", { className: "gfull gfull--hold", "data-theme": "dark", role: "status", "aria-live": "polite", children: [
5814
+ /* @__PURE__ */ i("div", { className: "ctrans__scrub", children: $i(w) })
5815
+ ] }) }), aa = kl("ga", { tabs: Qt, cur: g, pref: (As = Qt[0]) == null ? void 0 : As.key, onPick: N }), ds = Math.max(0, Math.min(100, Math.round(Y))), oa = Ue && /* @__PURE__ */ h("div", { className: "gfull gfull--hold", "data-theme": "dark", role: "status", "aria-live": "polite", children: [
5810
5816
  be && /* @__PURE__ */ i("div", { className: "gfull__holdbg", style: { backgroundImage: `url(https://i.ytimg.com/vi/${be}/hqdefault.jpg)` } }),
5811
5817
  /* @__PURE__ */ i("div", { className: "gfull__hold", children: n ? /* @__PURE__ */ h(xe, { children: [
5812
5818
  Je && /* @__PURE__ */ i("div", { className: "gfull__holdt", children: Je }),
@@ -5823,16 +5829,16 @@ function Pc(t) {
5823
5829
  var w;
5824
5830
  (w = mn.current) == null || w.call(mn, hs);
5825
5831
  }, [hs]);
5826
- const [ca, er] = I(!1), tr = !!It && !Ue && (He ? !!x.ended : !x.playing && x.dur > 0 && x.t >= x.dur - 0.5);
5832
+ const [la, er] = z(!1), tr = !!It && !Ue && (He ? !!x.ended : !x.playing && x.dur > 0 && x.t >= x.dur - 0.5);
5827
5833
  U(() => {
5828
5834
  tr || er(!1);
5829
5835
  }, [tr]);
5830
- const ua = t.endCard !== !1 && tr && !ca && /* @__PURE__ */ i(vc, { options: { appUrl: t.appUrl, ...t.endCard || {} }, onStarted: t.onStarted, onClose: () => er(!0), onReplay: () => {
5836
+ const ca = t.endCard !== !1 && tr && !la && /* @__PURE__ */ i(vc, { options: { appUrl: t.appUrl, ...t.endCard || {} }, onStarted: t.onStarted, onClose: () => er(!0), onReplay: () => {
5831
5837
  er(!0), We.current = !0, x.seekFrac ? x.seekFrac(0) : x.seekRow(0), x.playing || x.toggle();
5832
5838
  } });
5833
5839
  if (u) return /* @__PURE__ */ h(xe, { children: [
5834
- r ? /* @__PURE__ */ i("div", { className: "gfull", "data-theme": "dark", children: Jn }) : la || It || /* @__PURE__ */ i("div", { className: "gfull", "data-theme": "dark" }),
5835
- ua,
5840
+ r ? /* @__PURE__ */ i("div", { className: "gfull", "data-theme": "dark", children: Jn }) : oa || It || /* @__PURE__ */ i("div", { className: "gfull", "data-theme": "dark" }),
5841
+ ca,
5836
5842
  Xn
5837
5843
  ] });
5838
5844
  if (s) {
@@ -5860,10 +5866,10 @@ function Pc(t) {
5860
5866
  Yr
5861
5867
  ] })
5862
5868
  ] }),
5863
- Ne && /* @__PURE__ */ h(Ol, { id: "ga", className: "listenerside", gap: 20, plain: !0, children: [
5869
+ Ne && /* @__PURE__ */ h(Il, { id: "ga", className: "listenerside", gap: 20, plain: !0, children: [
5864
5870
  !se.sidePanel && w,
5865
5871
  !se.sidePanel && Fr,
5866
- !se.sidePanel && Qt.length > 0 && /* @__PURE__ */ i("div", { "data-panel-grid": "", className: "listenerside__panels", children: /* @__PURE__ */ i(zl, { col: oa, order: ["summary", "export"], onPick: N, grip: { summary: 40, export: 28 }, render: (Qe) => /* @__PURE__ */ i(Es, { panel: !0, children: Ur(Qe) }) }) }),
5872
+ !se.sidePanel && Qt.length > 0 && /* @__PURE__ */ i("div", { "data-panel-grid": "", className: "listenerside__panels", children: /* @__PURE__ */ i(jl, { col: aa, order: ["summary", "export"], onPick: N, grip: { summary: 40, export: 28 }, render: (Qe) => /* @__PURE__ */ i(Es, { panel: !0, children: Ur(Qe) }) }) }),
5867
5873
  se.sidePanel
5868
5874
  ] })
5869
5875
  ] }),
@@ -5873,15 +5879,15 @@ function Pc(t) {
5873
5879
  Xn
5874
5880
  ] });
5875
5881
  }
5876
- const da = Qt.length > 0 && !p && /* @__PURE__ */ i("div", { className: "txwidget", children: /* @__PURE__ */ h(Es, { panel: !0, children: [
5877
- /* @__PURE__ */ i(bi, { tabs: Qt, current: M, onPick: N, gap: M !== "none" }),
5878
- M !== "none" && Ur(M)
5882
+ const ua = Qt.length > 0 && !p && /* @__PURE__ */ i("div", { className: "txwidget", children: /* @__PURE__ */ h(Es, { panel: !0, children: [
5883
+ /* @__PURE__ */ i(Ci, { tabs: Qt, current: g, onPick: N, gap: g !== "none" }),
5884
+ g !== "none" && Ur(g)
5879
5885
  ] }) });
5880
5886
  return /* @__PURE__ */ h(xe, { children: [
5881
- /* @__PURE__ */ i(uc, { dark: a, title: n ? Je : "", subline: n ? cs : "", onOptions: () => j(!0), optionsActive: ee }),
5887
+ /* @__PURE__ */ i(cc, { dark: a, title: n ? Je : "", subline: n ? cs : "", onOptions: () => j(!0), optionsActive: ee }),
5882
5888
  Jn,
5883
5889
  os,
5884
- !r && da,
5890
+ !r && ua,
5885
5891
  !r && Fr,
5886
5892
  !r && /* @__PURE__ */ h("div", { style: { position: "relative", flex: 1, minHeight: 0, display: "flex", flexDirection: "column" }, children: [
5887
5893
  nn,
@@ -5902,53 +5908,53 @@ function Pc(t) {
5902
5908
  ] });
5903
5909
  }
5904
5910
  export {
5905
- ml as ExportPanel,
5906
- _i as FullVideo,
5907
- lc as MiniPlayer,
5908
- Ul as MuteButton,
5909
- Fl as NO_SEEK,
5910
- _l as PAUSE_D,
5911
- Yl as PLAY_D,
5912
- Zl as PUB_SIDE,
5913
- Zc as PanelSeek,
5914
- Co as PlayerApiProvider,
5911
+ Nl as ExportPanel,
5912
+ Ei as FullVideo,
5913
+ oc as MiniPlayer,
5914
+ Yl as MuteButton,
5915
+ Wl as NO_SEEK,
5916
+ El as PAUSE_D,
5917
+ _l as PLAY_D,
5918
+ Gl as PUB_SIDE,
5919
+ qc as PanelSeek,
5920
+ Oo as PlayerApiProvider,
5915
5921
  In as REMOVE_BG_LABEL,
5916
- Ha as REMOVE_BG_NOTE,
5917
- el as ReplayScrub,
5918
- ll as SpeakerCast,
5919
- wl as SummaryPanel,
5920
- Gc as Transport,
5921
- Jl as TxFind,
5922
- Kl as TxLines,
5923
- qc as VocalStackPlayer,
5924
- cl as VoiceSheetBody,
5925
- El as YtFollow,
5926
- Fa as bedNote,
5922
+ Va as REMOVE_BG_NOTE,
5923
+ Xo as ReplayScrub,
5924
+ ol as SpeakerCast,
5925
+ Tl as SummaryPanel,
5926
+ Zc as Transport,
5927
+ Kl as TxFind,
5928
+ ql as TxLines,
5929
+ Kc as VocalStackPlayer,
5930
+ ll as VoiceSheetBody,
5931
+ Al as YtFollow,
5932
+ Wa as bedNote,
5927
5933
  Xt as browserFull,
5928
5934
  At as lineEnd,
5929
- Di as lineWords,
5935
+ xi as lineWords,
5930
5936
  cr as pictureT,
5931
5937
  Ln as placePosition,
5932
- kn as realFull,
5933
- Fc as setErrorReporter,
5938
+ vn as realFull,
5939
+ Gc as setErrorReporter,
5934
5940
  Ks as setFullTarget,
5935
- Al as snapPosition,
5941
+ Sl as snapPosition,
5936
5942
  Zs as spokenWordOf,
5937
- Ga as trackPlan,
5938
- Li as useApi,
5939
- gl as useArchiveVoice,
5940
- ro as useBackgroundBed,
5941
- Bl as useDuck,
5942
- Xl as useFindPull,
5943
- Rl as useFlash,
5943
+ Fa as trackPlan,
5944
+ wi as useApi,
5945
+ Ml as useArchiveVoice,
5946
+ no as useBackgroundBed,
5947
+ $l as useDuck,
5948
+ Jl as useFindPull,
5949
+ Ul as useFlash,
5944
5950
  Et as usePlayerApi,
5945
- Ni as useSeparatedTrack,
5946
- yl as useSummaryIn,
5947
- Po as useTranscript,
5948
- Hl as useTxPlayer,
5949
- ql as useTxVoice,
5950
- sl as useViewportTranslation,
5951
- hl as useVoiceCatalogue,
5952
- Vl as useYtLead
5951
+ pi as useSeparatedTrack,
5952
+ ml as useSummaryIn,
5953
+ Ro as useTranscript,
5954
+ Vl as useTxPlayer,
5955
+ Zl as useTxVoice,
5956
+ rl as useViewportTranslation,
5957
+ dl as useVoiceCatalogue,
5958
+ Bl as useYtLead
5953
5959
  };
5954
5960
  //# sourceMappingURL=index.js.map