@oneworks/client 0.1.0-alpha.0 → 0.1.0-beta.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/assets/ActionSearchToolbar-8q-bk3mu.js +1 -0
- package/dist/assets/ActionSearchToolbar-CMBns0Zm.css +1 -0
- package/dist/assets/AgentRoomRoute-DfSI_dFH.js +1 -0
- package/dist/assets/AgentRoomSessionRoute-DH9PdjZm.js +3 -0
- package/dist/assets/ArchiveRoute-E9-htB4H.js +1 -0
- package/dist/assets/{AuthenticatedApp-BTs4l2pB.js → AuthenticatedApp-CgBrvMuc.js} +236 -224
- package/dist/assets/AuthenticatedApp-scWyvbOf.css +1 -0
- package/dist/assets/AutomationRoute-Bw2xw5bx.js +1 -0
- package/dist/assets/BenchmarkRoute-3VS17jHr.js +21 -0
- package/dist/assets/ChatRoute-CBQ3j4Je.js +2 -0
- package/dist/assets/Collapse-B-oCiEx4.js +10 -0
- package/dist/assets/{ComposerLanding-Cl6zfbOm.js → ComposerLanding-SZn_zRGX.js} +4 -4
- package/dist/assets/ConfigEditors-BuDavOAj.css +1 -0
- package/dist/assets/ConfigRoute-Dv-7BRGG.js +28 -0
- package/dist/assets/ConfigRoute-TW2qRRNP.css +1 -0
- package/dist/assets/InteractionStructureRoute-FDl9jRvT.js +1 -0
- package/dist/assets/KnowledgeRoute-C5em_VSL.js +1 -0
- package/dist/assets/LauncherApp-olYmK_zO.js +2 -0
- package/dist/assets/LauncherRoute-NsK8KCzb.css +1 -0
- package/dist/assets/LauncherRoute-Qt8dQkIk.js +2 -0
- package/dist/assets/MobileAwareSelect-BmK6WApn.js +37 -0
- package/dist/assets/MobileAwareSelect-BySpAJpa.css +1 -0
- package/dist/assets/{ModuleManagementRoute-DQACRan1.js → ModuleManagementRoute-B1I_8JKc.js} +3 -3
- package/dist/assets/NotFoundRoute-Bj6_YY3I.js +1 -0
- package/dist/assets/PluginStoreRoute-B847PAZ5.js +1 -0
- package/dist/assets/PluginStoreRoute-Cfalv335.css +1 -0
- package/dist/assets/RouteContainerPanelTabs-BnIptVwq.js +11 -0
- package/dist/assets/RouteContainerPanelTabs-DAjUmk7i.css +1 -0
- package/dist/assets/SchemaObjectEditor-B9fPfDyT.js +1 -0
- package/dist/assets/StandaloneMobileDebugRoute-BR4w_LeM.js +1 -0
- package/dist/assets/StandaloneMobileDebugRoute-DuOLjUb9.css +1 -0
- package/dist/assets/WorkspaceApp-BNmtIdn4.js +9 -0
- package/dist/assets/agent-room-session-paths-CYMSFD9m.css +32 -0
- package/dist/assets/agent-room-session-paths-Dca8S6NN.js +537 -0
- package/dist/assets/{arc-BXsvCKst.js → arc-JBUpUV6M.js} +1 -1
- package/dist/assets/azure-C6wcxVWu.ico +0 -0
- package/dist/assets/{blockDiagram-c4efeb88-hc-xNCrG.js → blockDiagram-c4efeb88-DKhNwgEQ.js} +2 -2
- package/dist/assets/{c4Diagram-c83219d4-DVHTOuVr.js → c4Diagram-c83219d4-CWODEGms.js} +2 -2
- package/dist/assets/channel-BsuHYNQO.js +1 -0
- package/dist/assets/classDiagram-beda092f-DlghsOqF.js +2 -0
- package/dist/assets/classDiagram-v2-2358418a-CrSR8gWz.js +2 -0
- package/dist/assets/client-build-info-bcijLdfD.js +1 -0
- package/dist/assets/clone-BKV6leIk.js +1 -0
- package/dist/assets/{createText-1719965b-x3Mhf0Jh.js → createText-1719965b-CLlPr73k.js} +1 -1
- package/dist/assets/cssMode-Bt_74RVV.js +1 -0
- package/dist/assets/customParseFormat-DwjB960X.js +1 -0
- package/dist/assets/dockPanelConstants-4XXOUD0A.css +1 -0
- package/dist/assets/dockPanelConstants-BWuu_DJp.js +8 -0
- package/dist/assets/{edges-96097737-COVuSxRY.js → edges-96097737-L_gy1fky.js} +1 -1
- package/dist/assets/{erDiagram-0228fc6a-WcgqCWce.js → erDiagram-0228fc6a-X1QMD6me.js} +2 -2
- package/dist/assets/{flowDb-c6c81e3f-nYly38YN.js → flowDb-c6c81e3f-DNdWK0Po.js} +1 -1
- package/dist/assets/{flowDiagram-50d868cf-DLYALlBY.js → flowDiagram-50d868cf-C2khStgw.js} +2 -2
- package/dist/assets/flowDiagram-v2-4f6560a1-DW5hyUju.js +1 -0
- package/dist/assets/{flowchart-elk-definition-6af322e1-Da8rP8k4.js → flowchart-elk-definition-6af322e1-C89sxd2D.js} +2 -2
- package/dist/assets/{freemarker2-OWISI6Bb.js → freemarker2-DZ1XIuHj.js} +2 -2
- package/dist/assets/ganttDiagram-a2739b55-Ba3rPNKd.js +257 -0
- package/dist/assets/gemini-B9inYaVW.png +0 -0
- package/dist/assets/{gitGraphDiagram-82fe8481-DCk8Jny9.js → gitGraphDiagram-82fe8481-DTEFHHtN.js} +2 -2
- package/dist/assets/{graph-DvFQr_wY.js → graph-BPujwFoF.js} +1 -1
- package/dist/assets/handlebars-lOgsnnQw.js +1 -0
- package/dist/assets/html-DLHadu9L.js +1 -0
- package/dist/assets/htmlMode-VeiQ-IsQ.js +1 -0
- package/dist/assets/{index-5325376f-CRF6GGjL.js → index-5325376f-Cx2RM6pk.js} +1 -1
- package/dist/assets/{index-BnZLa3J3.js → index-CBFCjoHv.js} +2 -2
- package/dist/assets/index-CJEVYkL9.js +1 -0
- package/dist/assets/index-CWmEuVWV.js +36 -0
- package/dist/assets/index-Cp4GfHnF.js +727 -0
- package/dist/assets/index-D4eelxQF.js +13 -0
- package/dist/assets/index-DBUG8CzV.js +3 -0
- package/dist/assets/index-jfuA2A4w.css +1 -0
- package/dist/assets/index-sFqkb8xv.js +13 -0
- package/dist/assets/{infoDiagram-8eee0895-dVa2Kh9_.js → infoDiagram-8eee0895-Bj9hWnDg.js} +2 -2
- package/dist/assets/interaction-panel-mobile-debug-pages-1Gdivksn.js +113 -0
- package/dist/assets/interaction-panel-mobile-debug-pages-8AAd4Csf.css +1 -0
- package/dist/assets/javascript-CXJw-bvU.js +1 -0
- package/dist/assets/{journeyDiagram-c64418c1-BJCT1TJ7.js → journeyDiagram-c64418c1-BXAycrrn.js} +2 -2
- package/dist/assets/{jsonMode-RsjNGxUQ.js → jsonMode-DmUNJfpX.js} +4 -4
- package/dist/assets/{layout-BMZRkCUf.js → layout-Bp8GVMnq.js} +1 -1
- package/dist/assets/{line-C99msl9T.js → line-olpPNgnh.js} +1 -1
- package/dist/assets/{linear-CJHB38BG.js → linear-flh_7ux_.js} +1 -1
- package/dist/assets/liquid-BiVpRgBP.js +1 -0
- package/dist/assets/{lspLanguageFeatures-D8zjArb3.js → lspLanguageFeatures-olWF83eX.js} +1 -1
- package/dist/assets/mdx-B5dr7YB-.js +1 -0
- package/dist/assets/{mermaid.core-DWzpZH_g.js → mermaid.core-NVIiXnRA.js} +4 -4
- package/dist/assets/micu-dUcmmgZZ.png +0 -0
- package/dist/assets/{mindmap-definition-8da855dc-DulNL_Ks.js → mindmap-definition-8da855dc-BOCh8K8K.js} +2 -2
- package/dist/assets/minimax-B5WRVrUt.png +0 -0
- package/dist/assets/openai-ABb0YGGa.svg +71 -0
- package/dist/assets/openrouter-CsJ_bD5Q.ico +0 -0
- package/dist/assets/{pieDiagram-a8764435-CHfubQBm.js → pieDiagram-a8764435-CCitKBQK.js} +3 -3
- package/dist/assets/project-file-tree-icons-DXkdVC0r.css +1 -0
- package/dist/assets/project-file-tree-icons-DqqhgvoI.js +2 -0
- package/dist/assets/python-BkEOPIle.js +1 -0
- package/dist/assets/{quadrantDiagram-1e28029f-CFHca9nu.js → quadrantDiagram-1e28029f-C_FvcHzZ.js} +2 -2
- package/dist/assets/qwen-Cla2cGrM.svg +107 -0
- package/dist/assets/razor-BCMQgdis.js +1 -0
- package/dist/assets/requesty-DAzbbw8F.ico +0 -0
- package/dist/assets/{requirementDiagram-08caed73-ClrFG92W.js → requirementDiagram-08caed73-B001ugYd.js} +2 -2
- package/dist/assets/route-plugin-chrome-B-Goj3vG.js +1 -0
- package/dist/assets/sankeyDiagram-a04cb91d-BnkC9YW5.js +8 -0
- package/dist/assets/{sequenceDiagram-c5b8d532-ZoeuLa-n.js → sequenceDiagram-c5b8d532-BGiFCs5z.js} +2 -2
- package/dist/assets/shortcutUtils-20iqPDwh.js +27 -0
- package/dist/assets/stateDiagram-1ecb1508-Uk4XxTkP.js +1 -0
- package/dist/assets/stateDiagram-v2-c2b004d7-Db6Ouywh.js +1 -0
- package/dist/assets/{styles-b4e223ce-0VFG2Z9W.js → styles-b4e223ce-CfG45yIm.js} +1 -1
- package/dist/assets/{styles-ca3715f6-DaJIsB-N.js → styles-ca3715f6-BGGbMvKc.js} +1 -1
- package/dist/assets/{styles-d45a18b0-DT8DH24o.js → styles-d45a18b0-mHteeqS2.js} +1 -1
- package/dist/assets/{svgDrawCommon-b86b1483-DxTZXiLW.js → svgDrawCommon-b86b1483-BAMR2PsF.js} +1 -1
- package/dist/assets/{timeline-definition-faaaa080-lu3ppiNq.js → timeline-definition-faaaa080-DLBoPuJD.js} +2 -2
- package/dist/assets/{tsMode-B6pOKC1l.js → tsMode-BTzZ8Zos.js} +2 -2
- package/dist/assets/typescript-_rLmAd51.js +1 -0
- package/dist/assets/use-app-preferences-gyulV-hA.js +1 -0
- package/dist/assets/use-chat-session-actions-DDZ5KCua.js +2 -0
- package/dist/assets/{vendor-react-BNJ5yonH.js → vendor-react-CnooHTJc.js} +1 -1
- package/dist/assets/vendor-state-BYwEPTaO.js +1 -0
- package/dist/assets/worker-BZxxbL_z.js +1 -0
- package/dist/assets/workspace-file-openers-BwZ5cSeq.js +1 -0
- package/dist/assets/workspace-file-openers-fM4AQXug.css +1 -0
- package/dist/assets/xml-BAU8TJ-c.js +1 -0
- package/dist/assets/{xychartDiagram-f5964ef8-DvmrNK0s.js → xychartDiagram-f5964ef8-CNfcxTsi.js} +2 -2
- package/dist/assets/yaml-_cphTIn0.js +1 -0
- package/dist/assets/yunwu-C0h7koCA.png +0 -0
- package/dist/assets/zhipu-CWmkm5qz.png +0 -0
- package/dist/index.html +4 -4
- package/dist/sw.js +5 -3
- package/package.json +20 -15
- package/dist/assets/AgentRoomRoute-rNmmPMvh.js +0 -1
- package/dist/assets/AgentRoomSessionRoute-Dg8yQRY_.js +0 -1
- package/dist/assets/ArchiveRoute-BWE_JVjl.js +0 -1
- package/dist/assets/AuthenticatedApp-Bop-GglJ.css +0 -1
- package/dist/assets/AutomationRoute-CoJ8YGK2.js +0 -1
- package/dist/assets/BenchmarkRoute-BcRZ1AFC.js +0 -21
- package/dist/assets/ChatRoute-DBN4uo7j.js +0 -1
- package/dist/assets/Collapse-DDrFhfKr.js +0 -8
- package/dist/assets/ConfigEditors-jcXiTWRg.css +0 -1
- package/dist/assets/ConfigRoute-D5zxs-kv.css +0 -1
- package/dist/assets/ConfigRoute-z5Dj1ihn.js +0 -2
- package/dist/assets/ConfigSectionPanel-DHIwutHm.js +0 -13
- package/dist/assets/DockPanel-DuxVeJzf.js +0 -11
- package/dist/assets/DockPanel-HEMeJ1MR.css +0 -1
- package/dist/assets/InteractionStructureRoute-B8yJdycA.js +0 -1
- package/dist/assets/KnowledgeRoute-BPYnBocT.js +0 -1
- package/dist/assets/LauncherApp-BqKOigOK.js +0 -2
- package/dist/assets/LauncherRoute-C1g-gjbs.js +0 -2
- package/dist/assets/LauncherRoute-DtjtKtXc.css +0 -1
- package/dist/assets/PluginStoreRoute-Bny2x-oC.css +0 -1
- package/dist/assets/PluginStoreRoute-CGIBez_4.js +0 -3
- package/dist/assets/SchemaObjectEditor-BdzgIkYh.js +0 -1
- package/dist/assets/WorkspaceApp-DGL3CHCp.js +0 -46
- package/dist/assets/agent-room-session-paths-Bl0JdX79.js +0 -153
- package/dist/assets/agent-room-session-paths-CCE5rS0K.css +0 -32
- package/dist/assets/channel-X7k9544o.js +0 -1
- package/dist/assets/classDiagram-beda092f-C--_J0De.js +0 -2
- package/dist/assets/classDiagram-v2-2358418a-VLoB_o-4.js +0 -2
- package/dist/assets/client-build-info-CUyezPn4.js +0 -37
- package/dist/assets/client-build-info-CgBKDSmG.css +0 -1
- package/dist/assets/clone-BsR4Dtrm.js +0 -1
- package/dist/assets/copy-OJ_6Pvs2.js +0 -28
- package/dist/assets/cssMode-Dg95dCSS.js +0 -1
- package/dist/assets/flowDiagram-v2-4f6560a1-DZXqc8d3.js +0 -1
- package/dist/assets/ganttDiagram-a2739b55-SFoaaNUl.js +0 -257
- package/dist/assets/handlebars-DvhbIeVz.js +0 -1
- package/dist/assets/html-B6ANaoGC.js +0 -1
- package/dist/assets/htmlMode-CA_KA1J8.js +0 -1
- package/dist/assets/index-BfLbHhFR.js +0 -13
- package/dist/assets/index-C9FQLbWu.js +0 -1
- package/dist/assets/index-DA1kZA8X.css +0 -1
- package/dist/assets/index-Dn-Bbs_z.js +0 -705
- package/dist/assets/javascript-qaeO24NX.js +0 -1
- package/dist/assets/liquid-yYJuHMAu.js +0 -1
- package/dist/assets/mdx-CrAkCLhE.js +0 -1
- package/dist/assets/python-h0Aqhxqi.js +0 -1
- package/dist/assets/razor-DalkOWO-.js +0 -1
- package/dist/assets/sankeyDiagram-a04cb91d-C9DgEVjM.js +0 -8
- package/dist/assets/stateDiagram-1ecb1508-DDRxhJDf.js +0 -1
- package/dist/assets/stateDiagram-v2-c2b004d7-CIob4OCF.js +0 -1
- package/dist/assets/typescript-Bn-lx_lA.js +0 -1
- package/dist/assets/use-app-preferences-B4K999VJ.js +0 -1
- package/dist/assets/use-chat-session-actions-5N-NQ9my.js +0 -2
- package/dist/assets/use-project-theme-preview-sources-5CPt1X2N.js +0 -1
- package/dist/assets/vendor-state-CBVXPiKY.js +0 -1
- package/dist/assets/workspace-file-openers-DAuX65xw.js +0 -1
- package/dist/assets/workspace-file-openers-erSFu-UO.css +0 -1
- package/dist/assets/xml-C1SO5DSd.js +0 -1
- package/dist/assets/yaml-DihjE03_.js +0 -1
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
var vi=Object.defineProperty;var xn=e=>{throw TypeError(e)};var wi=(e,t,n)=>t in e?vi(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n;var se=(e,t,n)=>wi(e,typeof t!="symbol"?t+"":t,n),Jt=(e,t,n)=>t.has(e)||xn("Cannot "+n);var h=(e,t,n)=>(Jt(e,t,"read from private field"),n?n.call(e):t.get(e)),I=(e,t,n)=>t.has(e)?xn("Cannot add the same private member more than once"):t instanceof WeakSet?t.add(e):t.set(e,n),D=(e,t,n,o)=>(Jt(e,t,"write to private field"),o?o.call(e,n):t.set(e,n),n),W=(e,t,n)=>(Jt(e,t,"access private method"),n);import{j as r,r as g}from"./vendor-react-CnooHTJc.js";import{u as G}from"./vendor-state-BYwEPTaO.js";import{M as yi,S as ve,T as Ei}from"./MobileAwareSelect-BmK6WApn.js";import{I as Be,C as Ft}from"./index-CWmEuVWV.js";import{B as ie,aw as Qe,ay as Ze,aI as Pi,aD as Di,b_ as Ti}from"./index-Cp4GfHnF.js";import{S as Si}from"./index-D4eelxQF.js";import{S as On}from"./route-plugin-chrome-B-Goj3vG.js";import{T as At}from"./index-sFqkb8xv.js";import{T as Hn}from"./index-DBUG8CzV.js";import{D as Yn}from"./shortcutUtils-20iqPDwh.js";const Ni=e=>e==="device"?"chat.interactionPanel.mobileDebugDeviceReady":e==="unauthorized"?"chat.interactionPanel.mobileDebugDeviceUnauthorized":e==="offline"?"chat.interactionPanel.mobileDebugDeviceOffline":"chat.interactionPanel.mobileDebugDeviceUnknown",Ri=e=>e==="device"?"check_circle":e==="unauthorized"?"lock":e==="offline"?"cloud_off":"help";function ji({error:e,isAdbMissing:t,isLoading:n,state:o,onOpenDeviceDebug:a,onOpenSettings:i}){const{t:s}=G(),d=(o==null?void 0:o.devices)??[];return r.jsxs("section",{className:"chat-interaction-panel-mobile-debug__device-list-page",children:[r.jsxs("header",{className:"chat-interaction-panel-mobile-debug__device-list-header",children:[r.jsxs("div",{className:"chat-interaction-panel-mobile-debug__device-list-title",children:[r.jsx("span",{className:"material-symbols-rounded","aria-hidden":"true",children:"devices"}),r.jsx("span",{children:s("chat.interactionPanel.mobileDebugDevices")})]}),r.jsxs("button",{type:"button",className:"chat-interaction-panel-mobile-debug__device-list-action",title:s("chat.interactionPanel.mobileDebugConfig"),"aria-label":s("chat.interactionPanel.mobileDebugConfig"),onClick:i,children:[r.jsx("span",{className:"material-symbols-rounded","aria-hidden":"true",children:"tune"}),r.jsx("span",{children:s("chat.interactionPanel.mobileDebugConfig")})]})]}),e!=null&&r.jsx("div",{className:"chat-interaction-panel-mobile-debug__notice is-error",children:e}),n&&o==null&&r.jsx("div",{className:"chat-interaction-panel-mobile-debug__notice",children:s("chat.interactionPanel.mobileDebugScanning")}),t&&r.jsx(ki,{}),o!=null&&!t&&d.length===0&&r.jsx("div",{className:"chat-interaction-panel-mobile-debug__empty",children:s("chat.interactionPanel.mobileDebugNoDevices")}),d.length>0&&r.jsx("div",{className:"chat-interaction-panel-mobile-debug__device-list",children:d.map(c=>{const l=c.state==="device";return r.jsxs("button",{type:"button",className:`chat-interaction-panel-mobile-debug__device-row ${l?"is-ready":"is-disabled"}`,disabled:!l,onClick:()=>a(c.id),children:[r.jsx("span",{className:"material-symbols-rounded chat-interaction-panel-mobile-debug__device-row-icon",children:Ri(c.state)}),r.jsxs("span",{className:"chat-interaction-panel-mobile-debug__device-row-copy",children:[r.jsx("span",{className:"chat-interaction-panel-mobile-debug__device-row-title",children:c.label}),r.jsx("span",{children:c.id})]}),r.jsx("span",{className:"chat-interaction-panel-mobile-debug__device-row-status",children:s(Ni(c.state))}),l&&r.jsx("span",{className:"material-symbols-rounded chat-interaction-panel-mobile-debug__device-row-open",children:"chevron_right"})]},c.id)})}),r.jsx(Ci,{errors:(o==null?void 0:o.errors.filter(Boolean))??[]})]})}function ki(){const{t:e}=G();return r.jsxs("section",{className:"chat-interaction-panel-mobile-debug__adb-guide",children:[r.jsx("span",{className:"material-symbols-rounded","aria-hidden":"true",children:"download_for_offline"}),r.jsxs("div",{className:"chat-interaction-panel-mobile-debug__adb-guide-copy",children:[r.jsx("span",{className:"chat-interaction-panel-mobile-debug__adb-guide-title",children:e("chat.interactionPanel.mobileDebugAdbMissingTitle")}),r.jsx("span",{children:e("chat.interactionPanel.mobileDebugAdbMissingDescription")}),r.jsx("code",{children:e("chat.interactionPanel.mobileDebugAdbInstallCommand")}),r.jsx("span",{children:e("chat.interactionPanel.mobileDebugAdbInstallHint")})]})]})}function Ci({errors:e}){return e.length===0?null:r.jsx("section",{className:"chat-interaction-panel-mobile-debug__error-list",children:e.map(t=>r.jsx("div",{className:"chat-interaction-panel-mobile-debug__error",children:t},t))})}const Ai=e=>e==="chrome"?"chat.interactionPanel.mobileDebugChrome":e==="webview"?"chat.interactionPanel.mobileDebugWebView":"chat.interactionPanel.mobileDebugOther";function Mi({group:e,isOpen:t,onOpenDebugUrl:n,onToggle:o}){const{t:a}=G();return r.jsxs("div",{className:`chat-interaction-panel-mobile-debug__target-group ${t?"is-open":""}`,children:[r.jsxs("button",{type:"button",className:"chat-interaction-panel-mobile-debug__target-group-header",onClick:o,children:[r.jsx("span",{className:"material-symbols-rounded chat-interaction-panel-mobile-debug__target-group-chevron",children:"keyboard_arrow_right"}),r.jsx("span",{className:"chat-interaction-panel-mobile-debug__target-group-title",children:e.appLabel}),r.jsx("span",{className:"chat-interaction-panel-mobile-debug__target-group-count",children:e.targets.length})]}),r.jsx("div",{className:"chat-interaction-panel-mobile-debug__target-group-body",children:r.jsx("div",{className:"chat-interaction-panel-mobile-debug__target-list",children:e.targets.map(i=>r.jsxs("button",{type:"button",className:"chat-interaction-panel-mobile-debug__target",onClick:()=>n(i.inspectUrl,{faviconUrl:i.faviconUrl,openMode:"new-tab",title:i.title,variant:"mobile-debug-devtools"}),children:[r.jsx("span",{className:"material-symbols-rounded chat-interaction-panel-mobile-debug__target-icon",children:i.socketType==="webview"?"web_asset":"language"}),r.jsxs("span",{className:"chat-interaction-panel-mobile-debug__target-copy",children:[r.jsx("span",{className:"chat-interaction-panel-mobile-debug__target-title",children:i.title}),r.jsx("span",{className:"chat-interaction-panel-mobile-debug__target-url",children:i.url||i.type})]}),r.jsxs("span",{className:"chat-interaction-panel-mobile-debug__target-meta",children:[i.deviceLabel," · ",i.source==="network"?a("chat.interactionPanel.mobileDebugNetwork"):a(Ai(i.socketType))]}),r.jsx("span",{className:"material-symbols-rounded chat-interaction-panel-mobile-debug__target-open-icon","aria-hidden":"true",children:"open_in_new"})]},i.id))})})]})}const Nt="__all__",qn=e=>e.trim().toLowerCase(),Ii=(e,t)=>{const n=e.socketName.replace(/^webview_devtools_remote_?/u,"");return n===""||n===e.socketName?t:`${t} ${n}`},Li=(e,t)=>e.appName!=null&&e.appName.trim()!==""?e.appName.trim():e.source==="network"?e.networkAddress??t("chat.interactionPanel.mobileDebugNetwork"):e.socketType==="webview"?Ii(e,t("chat.interactionPanel.mobileDebugWebView")):e.socketType==="chrome"?t("chat.interactionPanel.mobileDebugChrome"):e.socketName||t("chat.interactionPanel.mobileDebugOther"),Fi=(e,t)=>{var o;const n=(o=e.appName)==null?void 0:o.trim();return n!=null&&n!==""?`app:${e.source}:${e.deviceId}:${n}`:`${e.source}:${e.deviceId}:${e.socketType}:${e.networkAddress??e.socketName}:${t}`},Ui=(e,t)=>{const n=new Map;for(const o of e){const a=Li(o,t),i=Fi(o,a),s=n.get(i);s==null?n.set(i,{appKey:i,appLabel:a,targets:[o]}):s.targets.push(o)}return Array.from(n.values()).sort((o,a)=>o.appLabel.localeCompare(a.appLabel))},Bi=(e,t,n)=>n===""||qn([t,e.title,e.url,e.type,e.deviceLabel,e.socketName].join(" ")).includes(n);function Gi({onOpenDebugUrl:e,targets:t}){const{t:n}=G(),[o,a]=g.useState(Nt),[i,s]=g.useState(),[d,c]=g.useState(""),l=qn(d),m=g.useMemo(()=>Ui(t,n),[t,n]),b=g.useMemo(()=>m.filter(u=>o===Nt||u.appKey===o).map(u=>({...u,targets:u.targets.filter(x=>Bi(x,u.appLabel,l))})).filter(u=>u.targets.length>0),[m,l,o]),p=b.map(u=>u.appKey).join(`
|
|
2
|
+
`);return g.useEffect(()=>{var x;const u=(x=b[0])==null?void 0:x.appKey;if(u==null){s(void 0);return}if(o!==Nt){s(o);return}s(v=>v==null||!b.some(_=>_.appKey===v)?u:v)},[p,b,o]),r.jsxs("section",{className:"chat-interaction-panel-mobile-debug__section",children:[r.jsxs("div",{className:"chat-interaction-panel-mobile-debug__filters",children:[r.jsx(yi,{size:"small",className:"chat-interaction-panel-mobile-debug__app-select",popupClassName:"chat-interaction-panel-mobile-debug__app-select-popup",mobileTitle:n("chat.interactionPanel.mobileDebugAllApps"),value:o,options:[{value:Nt,label:n("chat.interactionPanel.mobileDebugAllApps")},...m.map(u=>({value:u.appKey,label:u.appLabel}))],suffixIcon:r.jsx("span",{className:"material-symbols-rounded",children:"keyboard_arrow_down"}),onChange:a}),r.jsx(Be,{size:"small",allowClear:!0,className:"chat-interaction-panel-mobile-debug__search",value:d,placeholder:n("chat.interactionPanel.mobileDebugSearchPlaceholder"),prefix:r.jsx("span",{className:"material-symbols-rounded","aria-hidden":"true",children:"search"}),onChange:u=>c(u.target.value)})]}),b.length===0?r.jsx("div",{className:"chat-interaction-panel-mobile-debug__empty",children:n("chat.interactionPanel.mobileDebugNoMatchingTargets")}):r.jsx("div",{className:"chat-interaction-panel-mobile-debug__target-accordion",children:b.map(u=>r.jsx(Mi,{group:u,isOpen:i===u.appKey,onOpenDebugUrl:e,onToggle:()=>s(x=>x===u.appKey?void 0:u.appKey)},u.appKey))})]})}const Xi=e=>e==="active"?"chat.interactionPanel.mobileDebugPortForwardActive":e==="removed"?"chat.interactionPanel.mobileDebugPortForwardRemoved":e==="skipped"?"chat.interactionPanel.mobileDebugPortForwardSkipped":"chat.interactionPanel.mobileDebugPortForwardError";function vn({errors:e,isAdbMissing:t,onOpenDebugUrl:n,portForwarding:o,state:a,targets:i}){const{t:s}=G(),d=(a==null?void 0:a.devices)??[];return r.jsxs(r.Fragment,{children:[r.jsx(Wi,{portForwarding:o}),i.length>0&&r.jsx(Gi,{targets:i,onOpenDebugUrl:n}),t&&r.jsx(Vn,{}),a!=null&&!t&&d.length===0&&i.length===0&&r.jsx("div",{className:"chat-interaction-panel-mobile-debug__empty",children:s("chat.interactionPanel.mobileDebugNoDevices")}),a!=null&&d.length>0&&i.length===0&&r.jsx("div",{className:"chat-interaction-panel-mobile-debug__empty",children:s("chat.interactionPanel.mobileDebugNoTargets")}),r.jsx($i,{errors:e})]})}function Vn(){const{t:e}=G();return r.jsxs("section",{className:"chat-interaction-panel-mobile-debug__adb-guide",children:[r.jsx("span",{className:"material-symbols-rounded","aria-hidden":"true",children:"download_for_offline"}),r.jsxs("div",{className:"chat-interaction-panel-mobile-debug__adb-guide-copy",children:[r.jsx("span",{className:"chat-interaction-panel-mobile-debug__adb-guide-title",children:e("chat.interactionPanel.mobileDebugAdbMissingTitle")}),r.jsx("span",{children:e("chat.interactionPanel.mobileDebugAdbMissingDescription")}),r.jsx("code",{children:e("chat.interactionPanel.mobileDebugAdbInstallCommand")}),r.jsx("span",{children:e("chat.interactionPanel.mobileDebugAdbInstallHint")})]})]})}function Wi({portForwarding:e}){const{t}=G();return e.length===0?null:r.jsxs("section",{className:"chat-interaction-panel-mobile-debug__section",children:[r.jsx("div",{className:"chat-interaction-panel-mobile-debug__section-title",children:t("chat.interactionPanel.mobileDebugPortForwardingStatus")}),r.jsx("div",{className:"chat-interaction-panel-mobile-debug__forward-list",children:e.map(n=>r.jsxs("div",{className:`chat-interaction-panel-mobile-debug__forward is-${n.status}`,children:[r.jsx("span",{className:"material-symbols-rounded","aria-hidden":"true",children:"sync_alt"}),r.jsxs("span",{className:"chat-interaction-panel-mobile-debug__forward-copy",children:[r.jsxs("span",{children:[n.deviceLabel," · localhost:",n.devicePort," → ",n.localAddress]}),n.message!=null&&r.jsx("span",{children:n.message})]}),r.jsx("span",{className:"chat-interaction-panel-mobile-debug__forward-status",children:t(Xi(n.status))})]},`${n.ruleId}:${n.deviceId}:${n.status}`))})]})}function $i({errors:e}){const{t}=G();return e.length===0?null:r.jsxs("section",{className:"chat-interaction-panel-mobile-debug__section",children:[r.jsx("div",{className:"chat-interaction-panel-mobile-debug__section-title",children:t("chat.interactionPanel.mobileDebugDiagnostics")}),r.jsx("div",{className:"chat-interaction-panel-mobile-debug__error-list",children:e.map(n=>r.jsx("div",{className:"chat-interaction-panel-mobile-debug__error",children:n},n))})]})}const nt=(e,t)=>r.jsxs("span",{className:"chat-interaction-panel-mobile-debug__environment-tab-label",children:[r.jsx("span",{className:"material-symbols-rounded","aria-hidden":"true",children:e}),r.jsx("span",{children:t})]});function Ut({children:e}){return r.jsx("div",{className:"chat-interaction-panel-mobile-debug__environment-actions",children:e})}function ee({children:e,label:t}){return r.jsxs("label",{className:"chat-interaction-panel-mobile-debug__environment-field",children:[r.jsx("span",{children:t}),e]})}function zi({children:e}){return r.jsx("div",{className:"chat-interaction-panel-mobile-debug__environment-field-grid",children:e})}function St({children:e}){return r.jsx("div",{className:"chat-interaction-panel-mobile-debug__environment-section",children:e})}const Oi=["charging","discharging","full","not-charging","unknown"],Hi=["good","cold","dead","failure","overheat","overvoltage","unknown"],Yi=["none","ac","usb","wireless"],wn=["home","roaming","searching","denied","off","on","unregistered"],qi=["unmetered","metered"],Vi=["none","gprs","edge","umts"],Ki=["lte","full","edge","gprs","gsm","hscsd","hsdpa","umts"],Ji=["call","accept","cancel","hold"],Qi=["great","good","moderate","poor","none"],Zi=e=>/^emulator-\d+$/u.test(e);function mn({action:e,actionKey:t,delayMs:n=300,disabled:o=!1,runEnvironmentAction:a,signature:i}){const s=g.useRef(i);g.useEffect(()=>{if(o||s.current===i)return;const d=window.setTimeout(()=>{s.current=i,a(t,e,{silentSuccess:!0})},n);return()=>window.clearTimeout(d)},[e,t,n,o,a,i])}function eo({isBusy:e,pendingActionKey:t,runEnvironmentAction:n}){const{t:o}=G(),[a,i]=g.useState(80),[s,d]=g.useState("ac"),[c,l]=g.useState("charging"),[m,b]=g.useState("good"),p=(_,f)=>o(`chat.interactionPanel.mobileDebugEnvironmentOptions.${_}.${f}`),u=(_,f)=>f.map(N=>({label:p(_,N),value:N})),x=g.useMemo(()=>({charger:s,health:m,kind:"battery",level:a,status:c}),[s,m,a,c]),v=`${a}:${s}:${c}:${m}`;return mn({action:x,actionKey:"battery",disabled:e,runEnvironmentAction:n,signature:v}),r.jsxs(St,{children:[r.jsx(ee,{label:r.jsxs("span",{className:"chat-interaction-panel-mobile-debug__environment-field-label-row",children:[r.jsx("span",{children:o("chat.interactionPanel.mobileDebugEnvironmentBatteryLevel")}),r.jsxs("span",{children:[a,"%"]})]}),children:r.jsx(Si,{min:0,max:100,tooltip:{formatter:_=>`${_??0}%`},value:a,disabled:e,onChange:_=>i(typeof _=="number"?_:80)})}),r.jsx(ee,{label:o("chat.interactionPanel.mobileDebugEnvironmentCharger"),children:r.jsx(On,{block:!0,disabled:e,options:u("charger",Yi),value:s,onChange:_=>d(_)})}),r.jsx(ee,{label:o("chat.interactionPanel.mobileDebugEnvironmentBatteryStatus"),children:r.jsx(ve,{options:u("batteryStatus",Oi),value:c,disabled:e,onChange:l})}),r.jsx(ee,{label:o("chat.interactionPanel.mobileDebugEnvironmentBatteryHealth"),children:r.jsx(ve,{options:u("batteryHealth",Hi),value:m,disabled:e,onChange:b})}),r.jsx(Ut,{children:r.jsx(ie,{loading:t==="battery-reset",disabled:e&&t!=="battery-reset",onClick:()=>void n("battery-reset",{kind:"battery",reset:!0}),children:o("chat.interactionPanel.mobileDebugEnvironmentResetBattery")})})]})}function to({isEmulatorControlDisabled:e,runEnvironmentAction:t}){const{t:n}=G(),[o,a]=g.useState("lte"),[i,s]=g.useState("none"),[d,c]=g.useState("good"),[l,m]=g.useState("home"),[b,p]=g.useState("home"),[u,x]=g.useState("unmetered"),v=(R,E)=>n(`chat.interactionPanel.mobileDebugEnvironmentOptions.${R}.${E}`),_=(R,E)=>E.map(T=>({label:v(R,T),value:T})),f=g.useMemo(()=>({dataStatus:b,delay:i,kind:"cellular",meterStatus:u,signalProfile:d,speed:o,voiceStatus:l}),[b,i,u,d,o,l]),N=`${o}:${i}:${d}:${l}:${b}:${u}`;return mn({action:f,actionKey:"cellular",disabled:e,runEnvironmentAction:t,signature:N}),r.jsxs(St,{children:[r.jsx(ee,{label:n("chat.interactionPanel.mobileDebugEnvironmentNetworkSpeed"),children:r.jsx(ve,{options:_("networkSpeed",Ki),value:o,disabled:e,onChange:a})}),r.jsx(ee,{label:n("chat.interactionPanel.mobileDebugEnvironmentNetworkDelay"),children:r.jsx(ve,{options:_("networkDelay",Vi),value:i,disabled:e,onChange:s})}),r.jsx(ee,{label:n("chat.interactionPanel.mobileDebugEnvironmentSignalProfile"),children:r.jsx(ve,{options:_("signal",Qi),value:d,disabled:e,onChange:c})}),r.jsx(ee,{label:n("chat.interactionPanel.mobileDebugEnvironmentVoiceStatus"),children:r.jsx(ve,{options:_("registration",wn),value:l,disabled:e,onChange:m})}),r.jsx(ee,{label:n("chat.interactionPanel.mobileDebugEnvironmentDataStatus"),children:r.jsx(ve,{options:_("registration",wn),value:b,disabled:e,onChange:p})}),r.jsx(ee,{label:n("chat.interactionPanel.mobileDebugEnvironmentMeterStatus"),children:r.jsx(ve,{options:_("meter",qi),value:u,disabled:e,onChange:x})})]})}function no({isEmulatorControlDisabled:e,pendingActionKey:t,runEnvironmentAction:n}){const{t:o}=G(),[a,i]=g.useState(1);return r.jsxs(St,{children:[r.jsx(ee,{label:o("chat.interactionPanel.mobileDebugEnvironmentFingerId"),children:r.jsx(At,{min:1,max:10,value:a,onChange:s=>i(typeof s=="number"?s:1)})}),r.jsx(Ut,{children:r.jsx(ie,{type:"primary",loading:t==="fingerprint",disabled:e,onClick:()=>void n("fingerprint",{fingerId:a,kind:"fingerprint"}),children:o("chat.interactionPanel.mobileDebugEnvironmentTouchFingerprint")})})]})}const Kn=15,io=256,yn=85.05112878,nn=(e,t,n)=>Math.min(n,Math.max(t,e)),on=e=>{const t=((e+180)%360+360)%360-180;return Object.is(t,-0)?0:t},Rt=e=>{const t=Math.round(e*1e6)/1e6;return Object.is(t,-0)?0:t},$t=e=>io*2**e,oo=(e,t)=>(on(e)+180)/360*$t(t),ao=(e,t)=>{const n=nn(e,-yn,yn),o=Math.sin(n*Math.PI/180);return(.5-Math.log((1+o)/(1-o))/(4*Math.PI))*$t(t)},ro=(e,t)=>e/$t(t)*360-180,so=(e,t)=>{const n=.5-e/$t(t);return 90-360*Math.atan(Math.exp(-n*2*Math.PI))/Math.PI},lo=({latitude:e,longitude:t,zoom:n=Kn})=>{const o=`${e.toFixed(6)},${t.toFixed(6)}`;return`https://www.google.com/maps?q=${encodeURIComponent(o)}&z=${n}&output=embed`},co=({clientX:e,clientY:t,latitude:n,longitude:o,rect:a,zoom:i=Kn})=>{if(a.width<=0||a.height<=0)return{latitude:Rt(nn(n,-90,90)),longitude:Rt(on(o))};const s=oo(o,i),d=ao(n,i),c=e-(a.left+a.width/2),l=t-(a.top+a.height/2),m=so(d+l,i),b=ro(s+c,i);return{latitude:Rt(nn(m,-90,90)),longitude:Rt(on(b))}};function uo({disabled:e,latitude:t,longitude:n,mapTitle:o,onCoordinateChange:a,pickerLabel:i}){const s=g.useMemo(()=>lo({latitude:t,longitude:n}),[t,n]),d=g.useCallback(c=>{e||c.detail!==0&&a(co({clientX:c.clientX,clientY:c.clientY,latitude:t,longitude:n,rect:c.currentTarget.getBoundingClientRect()}))},[e,t,n,a]);return r.jsxs("div",{className:"chat-interaction-panel-mobile-debug__environment-map",children:[r.jsx("iframe",{title:o,src:s,loading:"lazy",referrerPolicy:"no-referrer-when-downgrade"}),r.jsx("button",{type:"button",className:"chat-interaction-panel-mobile-debug__environment-map-picker","aria-label":i,disabled:e,onClick:d,children:r.jsx("span",{className:"chat-interaction-panel-mobile-debug__environment-map-marker","aria-hidden":"true",children:r.jsx("span",{className:"material-symbols-rounded",children:"location_on"})})})]})}function ho({isEmulatorControlDisabled:e,runEnvironmentAction:t}){const{t:n}=G(),[o,a]=g.useState(37.422),[i,s]=g.useState(-122.084),[d,c]=g.useState(0),l=g.useMemo(()=>({altitude:d,kind:"location",latitude:o,longitude:i}),[d,o,i]),m=`${o}:${i}:${d}`,b=({latitude:p,longitude:u})=>{a(p),s(u)};return mn({action:l,actionKey:"location",disabled:e,runEnvironmentAction:t,signature:m}),r.jsxs(St,{children:[r.jsx(uo,{disabled:e,latitude:o,longitude:i,mapTitle:n("chat.interactionPanel.mobileDebugEnvironmentGoogleMap"),pickerLabel:n("chat.interactionPanel.mobileDebugEnvironmentMapPicker"),onCoordinateChange:b}),r.jsxs(zi,{children:[r.jsx(ee,{label:n("chat.interactionPanel.mobileDebugEnvironmentLatitude"),children:r.jsx(At,{value:o,min:-90,max:90,step:1e-6,disabled:e,onChange:p=>a(typeof p=="number"?p:37.422)})}),r.jsx(ee,{label:n("chat.interactionPanel.mobileDebugEnvironmentLongitude"),children:r.jsx(At,{value:i,min:-180,max:180,step:1e-6,disabled:e,onChange:p=>s(typeof p=="number"?p:-122.084)})})]}),r.jsx(ee,{label:n("chat.interactionPanel.mobileDebugEnvironmentAltitude"),children:r.jsx(At,{value:d,min:-1e3,max:1e5,disabled:e,onChange:p=>c(typeof p=="number"?p:0)})})]})}function mo({isEmulatorControlDisabled:e,pendingActionKey:t,runEnvironmentAction:n}){const{t:o}=G(),[a,i]=g.useState("5551234"),[s,d]=g.useState("call"),[c,l]=g.useState(o("chat.interactionPanel.mobileDebugEnvironmentSmsDefaultMessage")),m=(u,x)=>o(`chat.interactionPanel.mobileDebugEnvironmentOptions.${u}.${x}`),b=(u,x)=>x.map(v=>({label:m(u,v),value:v})),p=a.trim()==="";return r.jsxs(St,{children:[r.jsx(ee,{label:o("chat.interactionPanel.mobileDebugEnvironmentPhoneNumber"),children:r.jsx(Be,{value:a,onChange:u=>i(u.target.value)})}),r.jsx(ee,{label:o("chat.interactionPanel.mobileDebugEnvironmentPhoneAction"),children:r.jsx(On,{block:!0,options:b("phoneAction",Ji),value:s,onChange:u=>d(u)})}),r.jsx(Ut,{children:r.jsx(ie,{type:"primary",loading:t==="phone",disabled:e||p,onClick:()=>void n("phone",{action:s,kind:"phone",phoneNumber:a}),children:o("chat.interactionPanel.mobileDebugEnvironmentApplyPhone")})}),r.jsx(ee,{label:o("chat.interactionPanel.mobileDebugEnvironmentSmsMessage"),children:r.jsx(Be.TextArea,{value:c,rows:3,maxLength:512,onChange:u=>l(u.target.value)})}),r.jsx(Ut,{children:r.jsx(ie,{loading:t==="sms",disabled:e||p||c.trim()==="",onClick:()=>void n("sms",{kind:"sms",message:c,phoneNumber:a}),children:o("chat.interactionPanel.mobileDebugEnvironmentSendSms")})})]})}const et=e=>new URL(e,window.location.origin).toString();async function bo(e){return Qe(et("/api/mobile-debug/targets"),{method:"POST",headers:Ze,body:JSON.stringify(e??{})})}async function Jn(e){return Qe(et("/api/mobile-debug/screenshots"),{method:"POST",headers:Ze,body:JSON.stringify({deviceId:e}),timeoutMs:6e3})}async function _o(e){return Qe(et("/api/mobile-debug/elements"),{method:"POST",headers:Ze,body:JSON.stringify({deviceId:e}),timeoutMs:12e3})}async function fo(e,t=400){return Qe(et("/api/mobile-debug/logs"),{method:"POST",headers:Ze,body:JSON.stringify({deviceId:e,lineLimit:t}),timeoutMs:8e3})}async function po(e,t){return Qe(et("/api/mobile-debug/input"),{method:"POST",headers:Ze,body:JSON.stringify({deviceId:e,input:t}),timeoutMs:6e3})}async function go(e,t){return Qe(et("/api/mobile-debug/environment"),{method:"POST",headers:Ze,body:JSON.stringify({action:t,deviceId:e}),timeoutMs:8e3})}const En=e=>{var t,n;return((n=(t=window.oneworksDesktop)==null?void 0:t.listMobileDebugTargets)==null?void 0:n.call(t,e))??bo(e)},xo=e=>{var t,n;return((n=(t=window.oneworksDesktop)==null?void 0:t.captureMobileDeviceScreenshot)==null?void 0:n.call(t,e))??Jn(e)},vo=e=>{var t,n;return((n=(t=window.oneworksDesktop)==null?void 0:t.dumpMobileElementTree)==null?void 0:n.call(t,e))??_o(e)},wo=(e,t)=>fo(e,t),yo=(e,t)=>{var n,o;return((o=(n=window.oneworksDesktop)==null?void 0:n.sendMobileDeviceInput)==null?void 0:o.call(n,e,t))??po(e,t)},Eo=(e,t)=>go(e,t);function Po({deviceId:e,onApplied:t}){const{message:n}=Pi.useApp(),{t:o}=G(),[a,i]=g.useState("battery"),[s,d]=g.useState(null),c=g.useRef(null),l=Zi(e),m=s!=null,b=!l||m,p=g.useCallback(async(u,x,v={})=>{if(c.current==null){c.current=u,d(u);try{await Eo(e,x),t(),v.silentSuccess!==!0&&n.success(o("chat.interactionPanel.mobileDebugEnvironmentApplied"))}catch(_){n.error(Di(_,o("chat.interactionPanel.mobileDebugEnvironmentApplyFailed")))}finally{c.current=null,d(null)}}},[e,n,t,o]);return r.jsxs("aside",{className:"chat-interaction-panel-mobile-debug__environment-panel",children:[!l&&r.jsx("div",{className:"chat-interaction-panel-mobile-debug__environment-note",children:o("chat.interactionPanel.mobileDebugEnvironmentEmulatorOnly")}),r.jsx(Hn,{activeKey:a,size:"small",onChange:u=>i(u),items:[{children:r.jsx(eo,{isBusy:m,pendingActionKey:s,runEnvironmentAction:p}),key:"battery",label:nt("battery_charging_full",o("chat.interactionPanel.mobileDebugEnvironmentBattery"))},{children:r.jsx(to,{isEmulatorControlDisabled:b,runEnvironmentAction:p}),key:"cellular",label:nt("signal_cellular_alt",o("chat.interactionPanel.mobileDebugEnvironmentCellular"))},{children:r.jsx(ho,{isEmulatorControlDisabled:b,runEnvironmentAction:p}),key:"location",label:nt("my_location",o("chat.interactionPanel.mobileDebugEnvironmentLocation"))},{children:r.jsx(mo,{isEmulatorControlDisabled:b,pendingActionKey:s,runEnvironmentAction:p}),key:"phone",label:nt("call",o("chat.interactionPanel.mobileDebugEnvironmentPhone"))},{children:r.jsx(no,{isEmulatorControlDisabled:b,pendingActionKey:s,runEnvironmentAction:p}),key:"fingerprint",label:nt("fingerprint",o("chat.interactionPanel.mobileDebugEnvironmentFingerprint"))}]})]})}function Xe({active:e,icon:t,label:n,onClick:o}){return r.jsx(ie,{type:"text",size:"small",className:`chat-interaction-panel-mobile-debug__tab-action ${e?"is-active":""}`,icon:r.jsx("span",{className:"material-symbols-rounded","aria-hidden":"true",children:t}),title:n,"aria-label":n,"aria-pressed":e??void 0,onClick:a=>{o!=null&&(a.preventDefault(),o())}})}const Do=(e,t,n)=>{if(e==="reconnect"){t();return}if(e==="power"||e==="volume-down"||e==="volume-up"){n({key:e,kind:"key"});return}(e==="collapse-panels"||e==="notifications"||e==="quick-settings")&&n({action:e,kind:"action"})},To=[["reconnect","sync","mobileDebugReconnectPreview"],"divider",["power","power_settings_new","mobileDebugPower"],["volume-up","volume_up","mobileDebugVolumeUp"],["volume-down","volume_down","mobileDebugVolumeDown"],"divider",["notifications","notifications","mobileDebugNotifications"],["quick-settings","settings_suggest","mobileDebugQuickSettings"],["collapse-panels","keyboard_arrow_up","mobileDebugCollapsePanels"]],Qn=({onOpenDeviceList:e,onReconnect:t,onSendInput:n})=>{const{t:o}=G(),a=To.map(s=>{if(s==="divider")return{type:"divider"};const[d,c,l]=s;return{icon:r.jsx("span",{className:"material-symbols-rounded","aria-hidden":"true",children:c}),key:d,label:o(`chat.interactionPanel.${l}`)}});return{items:e==null?a:[{icon:r.jsx("span",{className:"material-symbols-rounded","aria-hidden":"true",children:"devices"}),key:"device-list",label:o("chat.interactionPanel.mobileDebugBackToDeviceList")},{type:"divider"},...a],onClick:({key:s})=>{if(s==="device-list"){e==null||e();return}Do(s,t,n)}}};function So({onRefresh:e,onSendInput:t,onToggleSidePanel:n}){const{t:o}=G(),a=Qn({onReconnect:e,onSendInput:t});return r.jsxs("div",{className:"chat-interaction-panel-mobile-debug__tab-actions",children:[r.jsx(Xe,{icon:"right_panel_close",label:o("chat.interactionPanel.mobileDebugHideSidePanel"),onClick:n}),r.jsx(Xe,{icon:"refresh",label:o("chat.interactionPanel.mobileDebugRefreshPreview"),onClick:e}),r.jsx(Xe,{icon:"restart_alt",label:o("chat.interactionPanel.mobileDebugRotate"),onClick:()=>t({action:"rotate",kind:"action"})}),r.jsx(Yn,{menu:a,placement:"bottomRight",trigger:["click"],children:r.jsx("span",{children:r.jsx(Xe,{icon:"more_vert",label:o("chat.interactionPanel.mobileDebugMoreControls")})})})]})}function No({details:e}){return r.jsx("div",{className:"chat-interaction-panel-mobile-debug__targets-tab",children:e})}function Ro({error:e,onSendInput:t}){const{t:n}=G(),[o,a]=g.useState(""),i=g.useCallback(()=>{const s=o.trim();s!==""&&(t({kind:"text",text:s}),a(""))},[t,o]);return r.jsxs("div",{className:"chat-interaction-panel-mobile-debug__input-tab",children:[e!=null&&r.jsx("div",{className:"chat-interaction-panel-mobile-debug__preview-error",children:e}),r.jsxs("div",{className:"chat-interaction-panel-mobile-debug__text-input",children:[r.jsx(Be,{size:"small",value:o,placeholder:n("chat.interactionPanel.mobileDebugTextPlaceholder"),prefix:r.jsx("span",{className:"material-symbols-rounded","aria-hidden":"true",children:"text_fields"}),onChange:s=>a(s.target.value),onPressEnter:i}),r.jsx(ie,{type:"text",size:"small",title:n("chat.interactionPanel.mobileDebugSendText"),"aria-label":n("chat.interactionPanel.mobileDebugSendText"),onClick:i,children:r.jsx("span",{className:"material-symbols-rounded","aria-hidden":"true",children:"keyboard_return"})})]})]})}const jo=(e,t)=>t!=null&&t.width>0&&t.height>0?t:{height:Math.max(e.y+e.height,e.height,1),width:Math.max(e.x+e.width,e.width,1),x:0,y:0};function ko({elementTree:e,node:t}){var c;const{t:n}=G(),o=t==null?void 0:t.bounds;if(t==null)return r.jsx("div",{className:"chat-interaction-panel-mobile-debug__element-empty",children:n("chat.interactionPanel.mobileDebugSelectElement")});if(o==null)return r.jsx("div",{className:"chat-interaction-panel-mobile-debug__element-empty",children:n("chat.interactionPanel.mobileDebugNotAvailable")});const a=jo(o,(c=e==null?void 0:e.root)==null?void 0:c.bounds),i=o.x-a.x,s=o.y-a.y,d={"--mobile-debug-bounds-height":`${o.height/Math.max(1,a.height)*100}%`,"--mobile-debug-bounds-left":`${i/Math.max(1,a.width)*100}%`,"--mobile-debug-bounds-ratio":`${a.width} / ${a.height}`,"--mobile-debug-bounds-top":`${s/Math.max(1,a.height)*100}%`,"--mobile-debug-bounds-width":`${o.width/Math.max(1,a.width)*100}%`};return r.jsx("div",{className:"chat-interaction-panel-mobile-debug__bounds-model",style:d,children:r.jsxs("div",{className:"chat-interaction-panel-mobile-debug__bounds-stage",children:[r.jsxs("div",{className:"chat-interaction-panel-mobile-debug__bounds-screen-label",children:[n("chat.interactionPanel.mobileDebugBoundsScreen")," ",a.width,"x",a.height]}),r.jsxs("div",{className:"chat-interaction-panel-mobile-debug__bounds-node",children:[r.jsxs("span",{className:"chat-interaction-panel-mobile-debug__bounds-node-origin",children:[o.x,", ",o.y]}),r.jsx("span",{className:"chat-interaction-panel-mobile-debug__bounds-node-name",children:n("chat.interactionPanel.mobileDebugBoundsElement")}),r.jsxs("span",{className:"chat-interaction-panel-mobile-debug__bounds-node-size",children:[o.width," x ",o.height]})]})]})})}const Co=250,Ao=1500,Mo=160,Io=e=>e.find(t=>t.state==="device"),an=e=>{var o;const t=(o=/^emulator-(\d+)$/u.exec(e.id))==null?void 0:o[1];return`${t==null?"Android Device":"Android Emulator"} - ${e.label}:${t??e.id}`},rn=(e,t=0,n=[])=>{if(e==null)return n;n.push({depth:t,node:e});for(const o of e.children)rn(o,t+1,n);return n},Lo=(e,t)=>e==null||e.width<=0||e.height<=0?!1:t.x>=e.x&&t.x<=e.x+e.width&&t.y>=e.y&&t.y<=e.y+e.height,sn=(e,t)=>{if(!(e==null||!Lo(e.bounds,t))){for(let n=e.children.length-1;n>=0;n-=1){const o=sn(e.children[n],t);if(o!=null)return o}return e}},Fo=e=>e==null?"":`${e.x},${e.y} ${e.width}x${e.height}`,bn=e=>e==null?"null":String(e),Pn=(e,t)=>({height:`${e.height/Math.max(1,t.height??e.height)*100}%`,left:`${e.x/Math.max(1,t.width??e.width)*100}%`,top:`${e.y/Math.max(1,t.height??e.height)*100}%`,width:`${e.width/Math.max(1,t.width??e.width)*100}%`}),it=(e,t)=>{const n=e.currentTarget.getBoundingClientRect(),o=t.width??n.width,a=t.height??n.height;return{x:Math.max(0,Math.min(o,Math.round((e.clientX-n.left)/n.width*o))),y:Math.max(0,Math.min(a,Math.round((e.clientY-n.top)/n.height*a)))}},We=({rootBounds:e,screen:t,shouldScale:n,value:o,axis:a})=>{if(!n||o==null||t==null||e==null||e.width<=0||e.height<=0)return o;const i=a==="x"?t.width:t.height,s=a==="x"?e.width:e.height;return i==null||i<=0?o:Math.round(o/i*s)},Uo=(e,t)=>({x:We({...t,axis:"x",value:e.x})??e.x,y:We({...t,axis:"y",value:e.y})??e.y}),Bo=(e,t)=>({...e,physicalEndX:We({...t,axis:"x",value:e.endX}),physicalEndY:We({...t,axis:"y",value:e.endY}),physicalX:We({...t,axis:"x",value:e.x}),physicalY:We({...t,axis:"y",value:e.y})}),Go=[{icon:"subject",key:"overview",labelKey:"mobileDebugElementOverview"},{icon:"data_object",key:"attributes",labelKey:"mobileDebugElementAttributes"},{icon:"crop_free",key:"bounds",labelKey:"mobileDebugElementBounds"}],Xo=["clickable","enabled","focused","selected","checked","scrollable","long-clickable"],Wo=e=>e.type.split(".").at(-1)??e.type,jt=(e,t)=>{const n=e.attributes[t];return n==null||String(n).trim()===""?void 0:bn(n)},Zn=e=>e.filter(t=>t[1]!=null&&String(t[1])!==""),$o=e=>Zn(Xo.map(t=>[t,e.attributes[t]])),zo=(e,t)=>Zn([["node",Wo(e)],["type",e.type],["resource-id",jt(e,"resource-id")],["text",jt(e,"text")],["content-desc",jt(e,"content-desc")],["package",jt(e,"package")],["children",e.children.length],...t==null?[]:[["nodes",t.nodeCount]],...$o(e)]),Oo=e=>Object.entries((e==null?void 0:e.attributes)??{}).flatMap(([t,n])=>n==null||String(n)===""?[]:[[t,n]]).slice(0,48);function Ho({elementTree:e,node:t}){const{t:n}=G(),[o,a]=g.useState("overview"),i=t==null||o==="bounds"?[]:o==="overview"?zo(t,e):Oo(t);return r.jsxs("div",{className:"chat-interaction-panel-mobile-debug__element-details",children:[r.jsx("div",{className:"chat-interaction-panel-mobile-debug__element-detail-tabs",role:"tablist","aria-label":n("chat.interactionPanel.mobileDebugElementDetails"),children:Go.map(s=>r.jsx("button",{type:"button",role:"tab",id:`mobile-debug-element-detail-tab-${s.key}`,"aria-selected":o===s.key,"aria-controls":`mobile-debug-element-detail-panel-${s.key}`,className:`chat-interaction-panel-mobile-debug__element-detail-tab ${o===s.key?"is-active":""}`,onClick:()=>a(s.key),children:r.jsxs("span",{className:"chat-interaction-panel-mobile-debug__element-detail-tab-label",children:[r.jsx("span",{className:"material-symbols-rounded","aria-hidden":"true",children:s.icon}),r.jsx("span",{children:n(`chat.interactionPanel.${s.labelKey}`)})]})},s.key))}),r.jsx("div",{className:"chat-interaction-panel-mobile-debug__element-detail-panel",role:"tabpanel",id:`mobile-debug-element-detail-panel-${o}`,"aria-labelledby":`mobile-debug-element-detail-tab-${o}`,children:t==null?r.jsx("div",{className:"chat-interaction-panel-mobile-debug__element-empty",children:n("chat.interactionPanel.mobileDebugSelectElement")}):o==="bounds"?r.jsx(ko,{elementTree:e,node:t}):r.jsx(Yo,{rows:i})})]})}function Yo({rows:e}){const{t}=G();return e.length===0?r.jsx("div",{className:"chat-interaction-panel-mobile-debug__element-empty",children:t("chat.interactionPanel.mobileDebugNotAvailable")}):r.jsx("div",{className:"chat-interaction-panel-mobile-debug__attribute-list",children:e.map(([n,o])=>r.jsxs("div",{className:"chat-interaction-panel-mobile-debug__attribute-row",children:[r.jsx("span",{children:n}),r.jsx("code",{children:bn(o)})]},n))})}const qo=["resource-id","text","content-desc","clickable","enabled","selected","checked"],Vo=e=>e.type.split(".").at(-1)??e.type,Ko=e=>qo.map(t=>[t,e.attributes[t]]).filter(([t,n])=>n==null||String(n).trim()===""?!1:typeof n!="boolean"?!0:t==="enabled"?!n:n).slice(0,4);function Jo({depth:e,isCollapsed:t,isSelected:n,node:o,onSelectNode:a,onToggleNode:i}){const s=Vo(o),d=Ko(o),c=o.children.length>0;return r.jsxs("button",{type:"button",role:"treeitem","aria-level":e+1,"aria-expanded":c?!t:void 0,"aria-selected":n,className:`chat-interaction-panel-mobile-debug__element-row ${n?"is-selected":""}`,style:{"--mobile-debug-node-depth":`${Math.min(e,12)*14}px`},onClick:()=>a(o.id),children:[r.jsx("span",{className:`chat-interaction-panel-mobile-debug__element-disclosure ${c?"has-children":""} ${c&&!t?"is-expanded":""}`,onClick:l=>{c&&(l.stopPropagation(),i(o.id))},"aria-hidden":"true"}),r.jsxs("span",{className:"chat-interaction-panel-mobile-debug__element-source",children:[r.jsx("span",{className:"chat-interaction-panel-mobile-debug__syntax-punctuation",children:"<"}),r.jsx("span",{className:"chat-interaction-panel-mobile-debug__syntax-tag",children:s}),d.map(([l,m])=>r.jsxs("span",{className:"chat-interaction-panel-mobile-debug__syntax-attribute",children:[r.jsx("span",{className:"chat-interaction-panel-mobile-debug__syntax-attribute-name",children:l}),r.jsx("span",{className:"chat-interaction-panel-mobile-debug__syntax-punctuation",children:"="}),r.jsxs("span",{className:"chat-interaction-panel-mobile-debug__syntax-attribute-value",children:['"',bn(m),'"']})]},l)),r.jsx("span",{className:"chat-interaction-panel-mobile-debug__syntax-punctuation",children:">"})]}),o.bounds!=null&&r.jsx("span",{className:"chat-interaction-panel-mobile-debug__element-bounds",children:Fo(o.bounds)})]})}const Dn=220,Tn=276,Qo=5,Zo=(e,t)=>{const n=Math.max(0,t-Qo),o=Math.max(Dn,n-Tn),a=Math.min(o,Math.max(Dn,Math.round(e)));return{details:Math.max(Tn,Math.round(n-a)),list:a}};function ea(){const e=g.useRef(null),[t,n]=g.useState(),[o,a]=g.useState(),i=g.useCallback((c,l)=>{const m=Zo(c,l);n(`${m.list}px`),a(`${m.details}px`)},[]),s=g.useCallback(c=>{if(c.button!==0)return;const l=e.current,m=c.currentTarget,b=m.previousElementSibling;if(l==null||b==null)return;const p=l.getBoundingClientRect().width,u=c.clientX,x=b.getBoundingClientRect().width;m.setPointerCapture(c.pointerId);const v=f=>{i(x+f.clientX-u,p)},_=()=>{m.removeEventListener("pointermove",v),m.removeEventListener("pointerup",_),m.removeEventListener("pointercancel",_),m.hasPointerCapture(c.pointerId)&&m.releasePointerCapture(c.pointerId)};m.addEventListener("pointermove",v),m.addEventListener("pointerup",_,{once:!0}),m.addEventListener("pointercancel",_,{once:!0})},[i]),d=g.useCallback(c=>{if(c.key!=="ArrowLeft"&&c.key!=="ArrowRight")return;const l=e.current,m=l==null?void 0:l.querySelector(".chat-interaction-panel-mobile-debug__element-list");if(l==null||m==null)return;c.preventDefault();const b=c.shiftKey?40:16,p=c.key==="ArrowLeft"?-1:1;i(m.getBoundingClientRect().width+p*b,l.getBoundingClientRect().width)},[i]);return{elementDetailsColumn:o,elementListColumn:t,handleSplitterKeyDown:d,handleSplitterPointerDown:s,inspectWorkspaceRef:e}}const ta=(e,t)=>{const n=[];let o;for(const a of e){if(o!=null){if(a.depth>o)continue;o=void 0}n.push(a),a.node.children.length>0&&t.has(a.node.id)&&(o=a.depth)}return n};function na({elementTree:e,flattenedNodes:t,selectedNode:n,selectedNodeId:o,onSelectNode:a}){const{t:i}=G(),[s,d]=g.useState(()=>new Set),{elementDetailsColumn:c,elementListColumn:l,handleSplitterKeyDown:m,handleSplitterPointerDown:b,inspectWorkspaceRef:p}=ea(),u=g.useMemo(()=>ta(t,s).slice(0,Mo),[s,t]),x=_=>{d(f=>{const N=new Set(f);return N.has(_)?N.delete(_):N.add(_),N})},v=_=>{_.target instanceof Element&&_.target.closest(".chat-interaction-panel-mobile-debug__element-row")==null&&a(void 0)};return r.jsx("div",{className:"chat-interaction-panel-mobile-debug__inspect-column",children:r.jsxs("div",{ref:p,className:"chat-interaction-panel-mobile-debug__inspect-workspace",style:l==null||c==null?void 0:{"--mobile-debug-element-details-column":c,"--mobile-debug-element-list-column":l},children:[r.jsx("div",{className:"chat-interaction-panel-mobile-debug__element-list",onClick:v,children:u.length===0?r.jsx("div",{className:"chat-interaction-panel-mobile-debug__element-empty",children:i("chat.interactionPanel.mobileDebugNoElements")}):r.jsx("div",{className:"chat-interaction-panel-mobile-debug__element-tree",role:"tree",children:u.map(({depth:_,node:f})=>r.jsx(Jo,{depth:_,isCollapsed:s.has(f.id),isSelected:o===f.id,node:f,onSelectNode:a,onToggleNode:x},f.id))})}),r.jsx("div",{className:"chat-interaction-panel-mobile-debug__element-splitter",role:"separator","aria-label":i("chat.interactionPanel.mobileDebugResizeElementDetails"),"aria-orientation":"vertical",tabIndex:0,onKeyDown:m,onPointerDown:b}),r.jsx(Ho,{elementTree:e,node:n})]})})}const ia=500;function oa({deviceId:e}){const{t}=G(),[n,o]=g.useState(null),[a,i]=g.useState(!1),[s,d]=g.useState(null),c=g.useCallback(async()=>{o(null),i(!0);try{d(await wo(e,ia))}catch(l){o(l instanceof Error?l.message:String(l))}finally{i(!1)}},[e]);return g.useEffect(()=>{c()},[c]),r.jsxs("div",{className:"chat-interaction-panel-mobile-debug__logs-tab",children:[r.jsxs("div",{className:"chat-interaction-panel-mobile-debug__logs-toolbar",children:[r.jsxs("span",{children:["logcat",s==null?"":` · ${s.lines.length}`]}),r.jsx(ie,{type:"text",size:"small",loading:a,title:t("chat.interactionPanel.mobileDebugRefreshLogs"),"aria-label":t("chat.interactionPanel.mobileDebugRefreshLogs"),onClick:()=>{c()},children:r.jsx("span",{className:"material-symbols-rounded","aria-hidden":"true",children:"refresh"})})]}),n!=null&&r.jsx("div",{className:"chat-interaction-panel-mobile-debug__preview-error",children:n}),r.jsx("pre",{className:"chat-interaction-panel-mobile-debug__logs-output",children:s==null||s.lines.length===0?t("chat.interactionPanel.mobileDebugNoLogs"):s.lines.join(`
|
|
3
|
+
`)})]})}const aa=[{icon:"left_panel_open",key:"left",labelKey:"mobileDebugDockLeft"},{icon:"bottom_panel_open",key:"bottom",labelKey:"mobileDebugDockBottom"},{icon:"right_panel_open",key:"right",labelKey:"mobileDebugDockRight"}],kt=(e,t)=>r.jsxs("span",{className:"chat-interaction-panel-mobile-debug__tab-label",children:[r.jsx("span",{className:"material-symbols-rounded","aria-hidden":"true",children:e}),r.jsx("span",{children:t})]});function ra({dockPosition:e,onDockPositionChange:t}){const{t:n}=G();return r.jsx("div",{className:"chat-interaction-panel-mobile-debug__dock-switch",role:"group","aria-label":n("chat.interactionPanel.mobileDebugDockPosition"),children:aa.map(o=>r.jsx(Xe,{active:e===o.key,icon:o.icon,label:n(`chat.interactionPanel.${o.labelKey}`),onClick:()=>t(o.key)},o.key))})}function sa({details:e,deviceId:t,dockPosition:n,elementTree:o,error:a,flattenedNodes:i,isInspecting:s,selectedNode:d,selectedNodeId:c,showInlineActions:l=!0,onDockPositionChange:m,onRefresh:b,onSelectNode:p,onSendInput:u,onToggleInspect:x,onToggleSidePanel:v}){const{t:_}=G();return r.jsx("div",{className:"chat-interaction-panel-mobile-debug__side-tabs",children:r.jsx(Hn,{defaultActiveKey:"elements",size:"small",tabBarExtraContent:{left:r.jsx("div",{className:"chat-interaction-panel-mobile-debug__tab-left-actions",children:r.jsx(Xe,{active:s,icon:"highlight_mouse_cursor",label:_("chat.interactionPanel.mobileDebugInspectMode"),onClick:x})}),right:r.jsxs("div",{className:"chat-interaction-panel-mobile-debug__tab-right-actions",children:[r.jsx(ra,{dockPosition:n,onDockPositionChange:m}),l&&r.jsx(So,{onRefresh:b,onSendInput:u,onToggleSidePanel:v})]})},items:[{children:r.jsx(na,{elementTree:o,flattenedNodes:i,selectedNode:d,selectedNodeId:c,onSelectNode:p}),key:"elements",label:kt("account_tree",_("chat.interactionPanel.mobileDebugElements"))},{children:r.jsx(No,{details:e}),key:"targets",label:kt("web_asset",_("chat.interactionPanel.mobileDebugTargetTab"))},{children:r.jsx(Ro,{error:a,onSendInput:u}),key:"input",label:kt("keyboard",_("chat.interactionPanel.mobileDebugInputTab"))},{children:r.jsx(oa,{deviceId:t}),key:"logs",label:kt("terminal",_("chat.interactionPanel.mobileDebugLogs"))}]})})}function la({details:e,deviceId:t,dockPosition:n,elementTree:o,error:a,flattenedNodes:i,isEnvironmentPanelOpen:s,isInspecting:d,isSidePanelVisible:c,selectedNode:l,selectedNodeId:m,showInlineActions:b,onAppliedEnvironment:p,onDockPositionChange:u,onRefresh:x,onRestoreSidePanel:v,onSelectNode:_,onSendInput:f,onToggleInspect:N,onToggleSidePanel:R}){const{t:E}=G();return c?s?r.jsx(Po,{deviceId:t,onApplied:p}):r.jsx(sa,{details:e,deviceId:t,dockPosition:n,elementTree:o,error:a,flattenedNodes:i,isInspecting:d,selectedNode:l,selectedNodeId:m,showInlineActions:b,onDockPositionChange:u,onRefresh:x,onSelectNode:_,onSendInput:f,onToggleInspect:N,onToggleSidePanel:R}):b?r.jsx("button",{type:"button",className:"chat-interaction-panel-mobile-debug__side-panel-restore","aria-label":E("chat.interactionPanel.mobileDebugShowSidePanel"),title:E("chat.interactionPanel.mobileDebugShowSidePanel"),onClick:v,children:r.jsx("span",{className:"material-symbols-rounded","aria-hidden":"true",children:"right_panel_open"})}):null}function ca({onSendInput:e}){const{t}=G();return r.jsxs("div",{className:"chat-interaction-panel-mobile-debug__device-controls",children:[r.jsx(Qt,{icon:"arrow_back",label:t("chat.interactionPanel.mobileDebugBack"),onClick:()=>e({key:"back",kind:"key"})}),r.jsx(Qt,{icon:"radio_button_unchecked",label:t("chat.interactionPanel.mobileDebugHome"),onClick:()=>e({key:"home",kind:"key"})}),r.jsx(Qt,{icon:"check_box_outline_blank",label:t("chat.interactionPanel.mobileDebugAppSwitch"),onClick:()=>e({key:"app-switch",kind:"key"})})]})}function Qt({icon:e,label:t,onClick:n}){return r.jsx(ie,{type:"text",size:"small",className:"chat-interaction-panel-mobile-debug__device-control-btn",title:t,"aria-label":t,onClick:n,children:r.jsx("span",{className:"material-symbols-rounded","aria-hidden":"true",children:e})})}const Mt={H264:1748121140,H265:1748121141,AV1:6387249};function da(e,t){return(e[t]|e[t+1]<<8|e[t+2]<<16|e[t+3]<<24)>>>0}const{WritableStream:ua}=globalThis;var le,ce,Q,ne;class ha{constructor(t){I(this,le);I(this,ce);I(this,Q,0);I(this,ne,7);D(this,le,t),D(this,ce,t[0])}get byteAligned(){return h(this,ne)===7}get ended(){return h(this,Q)>=h(this,le).length}f1(){const t=h(this,ce)>>h(this,ne);return D(this,ne,h(this,ne)-1),h(this,ne)<0&&(D(this,Q,h(this,Q)+1),D(this,ne,7),D(this,ce,h(this,le)[h(this,Q)])),t&1}f(t){let n=0;for(;t>0;t-=1)n<<=1,n|=this.f1();return n}skip(t){if(t<=h(this,ne)+1){D(this,Q,h(this,Q)+1),D(this,ne,7),D(this,ce,h(this,le)[h(this,Q)]);return}t-=h(this,ne)+1,D(this,Q,h(this,Q)+1);const n=t/8|0;n>0&&(D(this,Q,h(this,Q)+n),t-=n*8),D(this,ne,7-t),D(this,ce,h(this,le)[h(this,Q)])}readBytes(t){if(!this.byteAligned)throw new Error("Bytes must be byte-aligned");const n=h(this,le).subarray(h(this,Q),h(this,Q)+t);return D(this,Q,h(this,Q)+t),D(this,ce,h(this,le)[h(this,Q)]),n}getPosition(){return[h(this,Q),h(this,ne)]}setPosition([t,n]){D(this,Q,t),D(this,ne,n),D(this,ce,h(this,le)[t])}}le=new WeakMap,ce=new WeakMap,Q=new WeakMap,ne=new WeakMap;const ma={SequenceHeader:1,TemporalDelimiter:2,FrameHeader:3,TileGroup:4,Metadata:5,Frame:6,RedundantFrameHeader:7,TileList:8,Padding:15},ba={Bt709:1,Unspecified:2,Bt470M:4,Bt470BG:5,Bt601:6,Smpte240:7,GenericFilm:8,Bt2020:9,Xyz:10,Smpte431:11,Smpte432:12,Ebu3213:22},_a={Bt709:1,Unspecified:2,Bt470M:4,Bt470BG:5,Bt601:6,Smpte240:7,Linear:8,Log100:9,Log100Sqrt10:10,Iec61966:11,Bt1361:12,Srgb:13,Bt2020Ten:14,Bt2020Twelve:15,Smpte2084:16,Smpte428:17,Hlg:18},fa={Identity:0,Bt709:1,Unspecified:2,Fcc:4,Bt470BG:5,Bt601:6,Smpte240:7,YCgCo:8,Bt2020Ncl:9,Bt2020Cl:10,Smpte2085:11,ChromatNcl:12,ChromatCl:13,ICtCp:14};var De,Te;const H=class H extends ha{constructor(){super(...arguments);I(this,De,0);I(this,Te,0)}uvlc(){let n=0;for(;!this.f1();)n+=1;return n>=32?2**32-1:this.f(n)+(1<<n>>>0)-1}leb128(){if(!this.byteAligned)throw new Error("LEB128 must be byte-aligned");let n=0n;D(this,De,0);for(let o=0n;o<8n;o+=1n){const a=this.f(8);if(n|=BigInt(a&127)<<7n*o,D(this,De,h(this,De)+1),!(a&128))break}return n}*annexBBitstream(){for(;!this.ended;){const n=this.leb128();yield*this.temporalUnit(n)}}*temporalUnit(n){for(;n>0;){const o=this.leb128();n-=BigInt(h(this,De)),yield*this.frameUnit(o),n-=o}}*frameUnit(n){for(;n>0;){const o=this.leb128();n-=BigInt(h(this,De));const a=this.openBitstreamUnit(o);a&&(yield a),n-=o}}openBitstreamUnit(n){const o=this.obuHeader();let a;if(o.obu_has_size_field)a=this.leb128();else if(n!==void 0)a=n-1n-(o.obu_extension_flag?1n:0n);else throw new Error("obu_has_size_field must be true");const i=this.getPosition();if(o.obu_type!==H.ObuType.SequenceHeader&&o.obu_type!==H.ObuType.TemporalDelimiter&&h(this,Te)!==0&&o.obu_extension_header){const l=!!(h(this,Te)&1<<o.obu_extension_header.temporal_id),m=!!(h(this,Te)&1<<o.obu_extension_header.spatial_id+8);if(!l||!m){this.skip(Number(a));return}}let s;switch(o.obu_type){case H.ObuType.SequenceHeader:s=this.sequenceHeaderObu();break}const d=this.getPosition(),c=(d[0]-i[0])*8+(i[1]-d[1]);return a>0&&this.skip(Number(a)*8-c),{obu_header:o,obu_size:a,sequence_header_obu:s}}obuHeader(){if(!!this.f1())throw new Error("Invalid data");const o=this.f(4),a=!!this.f1(),i=!!this.f1();this.f1();let s;return a&&(s=this.obuExtensionHeader()),{obu_type:o,obu_extension_flag:a,obu_has_size_field:i,obu_extension_header:s}}obuExtensionHeader(){const n=this.f(3),o=this.f(2);return this.skip(3),{temporal_id:n,spatial_id:o}}sequenceHeaderObu(){const n=this.f(3),o=!!this.f1(),a=!!this.f1();let i=!1,s,d=!1,c,l=!1,m=0;const b=[],p=[],u=[],x=[],v=[];let _,f;if(a)b[0]=0,p[0]=this.f(5),u[0]=0,x[0]=!1,v[0]=!1;else{i=!!this.f1(),i&&(s=this.timingInfo(),d=!!this.f1(),d&&(c=this.decoderModelInfo(),_=[])),l=!!this.f1(),l&&(f=[]),m=this.f(5);for(let F=0;F<=m;F+=1)b[F]=this.f(12),p[F]=this.f(5),p[F]>7?u[F]=this.f1():u[F]=0,d?(x[F]=!!this.f1(),x[F]&&(_[F]=this.operatingParametersInfo(c))):x[F]=!1,l&&(v[F]=!!this.f1(),v[F]&&(f[F]=this.f(4)))}const N=this.chooseOperatingPoint();D(this,Te,b[N]);const R=this.f(4),E=this.f(4),T=this.f(R+1),j=this.f(E+1);let w=!1,P,y;a||(w=!!this.f1(),w&&(P=this.f(4),y=this.f(3)));const M=!!this.f1(),S=!!this.f1(),B=!!this.f1();let U=!1,k=!1,A=!1,C=!1,L=!1,X=!1,$=!1,z=!1,O=H.SelectScreenContentTools,J=!1,q=H.SelectIntegerMv,V;a||(U=!!this.f1(),k=!!this.f1(),A=!!this.f1(),C=!!this.f1(),L=!!this.f1(),L&&(X=!!this.f1(),$=!!this.f1()),z=!!this.f1(),z||(O=this.f1()),O>0&&(J=!!this.f1(),J||(q=this.f1())),L&&(V=this.f(3)));const re=!!this.f1(),Ee=!!this.f1(),pe=!!this.f1(),ge=this.colorConfig(n),xe=!!this.f1();return{seq_profile:n,still_picture:o,reduced_still_picture_header:a,timing_info_present_flag:i,timing_info:s,decoder_model_info_present_flag:d,decoder_model_info:c,initial_display_delay_present_flag:l,initial_display_delay_minus_1:f,operating_points_cnt_minus_1:m,operating_point_idc:b,seq_level_idx:p,seq_tier:u,decoder_model_present_for_this_op:x,operating_parameters_info:_,initial_display_delay_present_for_this_op:v,frame_width_bits_minus_1:R,frame_height_bits_minus_1:E,max_frame_width_minus_1:T,max_frame_height_minus_1:j,frame_id_numbers_present_flag:w,delta_frame_id_length_minus_2:P,additional_frame_id_length_minus_1:y,use_128x128_superblock:M,enable_filter_intra:S,enable_intra_edge_filter:B,enable_interintra_compound:U,enable_masked_compound:k,enable_warped_motion:A,enable_dual_filter:C,enable_order_hint:L,enable_jnt_comp:X,enable_ref_frame_mvs:$,seq_choose_screen_content_tools:z,seq_force_screen_content_tools:O,seq_choose_integer_mv:J,seq_force_integer_mv:q,order_hint_bits_minus_1:V,enable_superres:re,enable_cdef:Ee,enable_restoration:pe,color_config:ge,film_grain_params_present:xe}}searchSequenceHeaderObu(){for(;!this.ended;){const n=this.openBitstreamUnit();if(n&&n.sequence_header_obu)return n.sequence_header_obu}}timingInfo(){const n=this.f(32),o=this.f(32),a=!!this.f1();let i;return a&&(i=this.uvlc()),{num_units_in_display_tick:n,time_scale:o,equal_picture_interval:a,num_ticks_per_picture_minus_1:i}}decoderModelInfo(){const n=this.f(5),o=this.f(32),a=this.f(5),i=this.f(5);return{buffer_delay_length_minus_1:n,num_units_in_decoding_tick:o,buffer_removal_time_length_minus_1:a,frame_presentation_time_length_minus_1:i}}operatingParametersInfo(n){const o=n.buffer_delay_length_minus_1+1,a=this.f(o),i=this.f(o),s=!!this.f1();return{decoder_buffer_delay:a,encoder_buffer_delay:i,low_delay_mode_flag:s}}chooseOperatingPoint(){return 0}colorConfig(n){const o=!!this.f1();let a=!1,i=8;n===2&&o?(a=!!this.f1(),i=a?12:10):n<=2&&(i=o?10:8);let s=!1;n===1&&(s=!!this.f1());const d=!!this.f1();let c=H.ColorPrimaries.Unspecified,l=H.TransferCharacteristics.Unspecified,m=H.MatrixCoefficients.Unspecified;d&&(c=this.f(8),l=this.f(8),m=this.f(8));let b=!1,p,u,x=0,v=!1;if(s)b=!!this.f1(),p=!0,u=!0;else{if(c===H.ColorPrimaries.Bt709&&l===H.TransferCharacteristics.Srgb&&m===H.MatrixCoefficients.Identity)b=!0,p=!1,u=!1;else{switch(b=!!this.f1(),n){case 0:p=!0,u=!0;break;case 1:p=!1,u=!1;break;default:i==12?(p=!!this.f1(),p?u=!!this.f1():u=!1):(p=!0,u=!1);break}p&&u&&(x=this.f(2))}v=!!this.f1()}return{high_bitdepth:o,twelve_bit:a,BitDepth:i,mono_chrome:s,color_description_present_flag:d,color_primaries:c,transfer_characteristics:l,matrix_coefficients:m,color_range:b,subsampling_x:p,subsampling_y:u,chroma_sample_position:x,separate_uv_delta_q:v}}};De=new WeakMap,Te=new WeakMap,se(H,"ObuType",ma),se(H,"ColorPrimaries",ba),se(H,"TransferCharacteristics",_a),se(H,"MatrixCoefficients",fa),se(H,"SelectScreenContentTools",2),se(H,"SelectIntegerMv",2);let $e=H;function*ei(e){let t=-1,n=0,o=!1;for(let a=0;a<e.length;a+=1){const i=e[a];if(o){if(i>3)throw new Error("Invalid data");o=!1;continue}if(i===0){n+=1;continue}const s=n;if(n=0,t===-1){if(s>=2&&i===1){t=a+1;continue}throw new Error("Invalid data")}if(!(s<2)){if(i===1){yield e.subarray(t,a-s),t=a+1;continue}if(s>2)throw new Error("Invalid data");switch(i){case 2:throw new Error("Invalid data");case 3:o=!0;break}}}if(o)throw new Error("Invalid data");yield e.subarray(t,e.length)}var Oe,Se,Ne,he,oe,Z,me,Y,Ge,rt,ln,cn;class zt{constructor(t){I(this,Y);I(this,Oe);I(this,Se);I(this,Ne);I(this,he,0);I(this,oe,0);I(this,Z,7);I(this,me,0);D(this,Oe,t);for(let n=t.length-1;n>=0;n-=1){if(h(this,Oe)[n]===0)continue;const o=t[n];for(let a=0;a<8;a+=1)if((o>>a&1)===1){D(this,Se,n),D(this,Ne,a),W(this,Y,Ge).call(this);return}}throw new Error("Stop bit not found")}get byteLength(){return h(this,Se)}get stopBitIndex(){return h(this,Ne)}get bytePosition(){return h(this,oe)}get bitPosition(){return h(this,Z)}get ended(){return h(this,oe)>=h(this,Se)&&h(this,Z)<=h(this,Ne)}next(){if(this.ended)throw new Error("Bit index out of bounds");const t=h(this,me)>>h(this,Z)&1;return D(this,Z,h(this,Z)-1),h(this,Z)<0&&(D(this,oe,h(this,oe)+1),D(this,Z,7),W(this,Y,Ge).call(this)),t}read(t){if(t>32)throw new Error("Read length too large");let n=0;for(let o=0;o<t;o+=1)n=n<<1|this.next();return n}skip(t){if(t<=h(this,Z)+1){D(this,Z,h(this,Z)-t),W(this,Y,rt).call(this);return}for(t-=h(this,Z)+1,D(this,oe,h(this,oe)+1),D(this,Z,7),W(this,Y,Ge).call(this),W(this,Y,rt).call(this);t>=8;t-=8)D(this,oe,h(this,oe)+1),W(this,Y,Ge).call(this),W(this,Y,rt).call(this);D(this,Z,7-t),W(this,Y,rt).call(this)}decodeExponentialGolombNumber(){let t=0;for(;this.next()===0;)t+=1;return t===0?0:(1<<t|this.read(t))-1}peek(t){const n=W(this,Y,ln).call(this),o=this.read(t);return W(this,Y,cn).call(this,n),o}readBytes(t){const n=new Uint8Array(t);for(let o=0;o<t;o+=1)n[o]=this.read(8);return n}peekBytes(t){const n=W(this,Y,ln).call(this),o=this.readBytes(t);return W(this,Y,cn).call(this,n),o}}Oe=new WeakMap,Se=new WeakMap,Ne=new WeakMap,he=new WeakMap,oe=new WeakMap,Z=new WeakMap,me=new WeakMap,Y=new WeakSet,Ge=function(){if(D(this,me,h(this,Oe)[h(this,oe)]),h(this,he)===2&&h(this,me)===3){D(this,he,0),D(this,oe,h(this,oe)+1),W(this,Y,Ge).call(this);return}h(this,me)===0?D(this,he,h(this,he)+1):D(this,he,0)},rt=function(){if(h(this,oe)>=h(this,Se)&&h(this,Z)<h(this,Ne))throw new Error("Bit index out of bounds")},ln=function(){return{zeroCount:h(this,he),bytePosition:h(this,oe),bitPosition:h(this,Z),byte:h(this,me)}},cn=function(t){D(this,he,t.zeroCount),D(this,oe,t.bytePosition),D(this,Z,t.bitPosition),D(this,me,t.byte)};function pa(e){const t=new zt(e);if(t.next()!==0)throw new Error("Invalid data");const n=t.read(2);if(t.read(5)!==7)throw new Error("Invalid data");if(n===0)throw new Error("Invalid data");const a=t.read(8),i=t.peek(8),s=!!t.next(),d=!!t.next(),c=!!t.next(),l=!!t.next(),m=!!t.next(),b=!!t.next();if(t.read(2)!==0)throw new Error("Invalid data");const p=t.read(8),u=t.decodeExponentialGolombNumber();if(a===100||a===110||a===122||a===244||a===44||a===83||a===86||a===118||a===128||a===138||a===139||a===134){const w=t.decodeExponentialGolombNumber();if(w===3&&t.next(),t.decodeExponentialGolombNumber(),t.decodeExponentialGolombNumber(),t.next(),!!t.next())for(let y=0;y<(w!==3?8:12);y+=1)t.next()}t.decodeExponentialGolombNumber();const x=t.decodeExponentialGolombNumber();if(x===0)t.decodeExponentialGolombNumber();else if(x===1){t.next(),t.decodeExponentialGolombNumber(),t.decodeExponentialGolombNumber();const w=t.decodeExponentialGolombNumber();for(let P=0;P<w;P+=1)t.decodeExponentialGolombNumber()}t.decodeExponentialGolombNumber(),t.next();const v=t.decodeExponentialGolombNumber(),_=t.decodeExponentialGolombNumber(),f=t.next();f||t.next(),t.next();const N=!!t.next();let R,E,T,j;return N?(R=t.decodeExponentialGolombNumber(),E=t.decodeExponentialGolombNumber(),T=t.decodeExponentialGolombNumber(),j=t.decodeExponentialGolombNumber()):(R=0,E=0,T=0,j=0),t.next(),{profile_idc:a,constraint_set:i,constraint_set0_flag:s,constraint_set1_flag:d,constraint_set2_flag:c,constraint_set3_flag:l,constraint_set4_flag:m,constraint_set5_flag:b,level_idc:p,seq_parameter_set_id:u,pic_width_in_mbs_minus1:v,pic_height_in_map_units_minus1:_,frame_mbs_only_flag:f,frame_cropping_flag:N,frame_crop_left_offset:R,frame_crop_right_offset:E,frame_crop_top_offset:T,frame_crop_bottom_offset:j}}function ga(e){let t,n;for(const o of ei(e))switch(o[0]&31){case 7:if(t=o,n)return{sequenceParameterSet:t,pictureParameterSet:n};break;case 8:if(n=o,t)return{sequenceParameterSet:t,pictureParameterSet:n};break}throw new Error("Invalid data")}function xa(e){const{sequenceParameterSet:t,pictureParameterSet:n}=ga(e),{profile_idc:o,constraint_set:a,level_idc:i,pic_width_in_mbs_minus1:s,pic_height_in_map_units_minus1:d,frame_mbs_only_flag:c,frame_crop_left_offset:l,frame_crop_right_offset:m,frame_crop_top_offset:b,frame_crop_bottom_offset:p}=pa(t),u=(s+1)*16,x=(d+1)*(2-c)*16,v=l*2,_=m*2,f=b*2,N=p*2,R=u-v-_,E=x-f-N;return{pictureParameterSet:n,sequenceParameterSet:t,profileIndex:o,constraintSet:a,levelIndex:i,encodedWidth:u,encodedHeight:x,cropLeft:v,cropRight:_,cropTop:f,cropBottom:N,croppedWidth:R,croppedHeight:E}}function va(e){switch(e){case 0:case 3:return 1;case 1:case 2:return 2;default:throw new Error("Invalid chroma_format_idc")}}function wa(e){switch(e){case 0:case 2:case 3:return 1;case 1:return 2;default:throw new Error("Invalid chroma_format_idc")}}function ya(e){const t=new zt(e);if(t.next()!==0)throw new Error("Invalid NALU header");const n=t.read(6),o=t.read(6),a=t.read(3);return{nal_unit_type:n,nuh_layer_id:o,nuh_temporal_id_plus1:a}}function Ea(e){const t=new zt(e),n=t.read(4),o=!!t.next(),a=!!t.next(),i=t.read(6),s=t.read(3),d=!!t.next();t.skip(16);const c=ti(t,!0,s),l=!!t.next(),m=[],b=[],p=[];for(let M=l?0:s;M<=s;M+=1)m[M]=t.decodeExponentialGolombNumber(),b[M]=t.decodeExponentialGolombNumber(),p[M]=t.decodeExponentialGolombNumber();const u=t.read(6),x=t.decodeExponentialGolombNumber(),v=[];for(let M=1;M<=x;M+=1){v[M]=[];for(let S=0;S<=u;S+=1)v[M][S]=!!t.next()}const _=!!t.next();let f,N,R,E,T,j,w,P;if(_){f=t.read(32),N=t.read(32),R=!!t.next(),R&&(E=t.decodeExponentialGolombNumber()),T=t.decodeExponentialGolombNumber(),j=[],w=[!0],P=[];for(let M=0;M<T;M+=1)j[M]=t.decodeExponentialGolombNumber(),M>0&&(w[M]=!!t.next()),P[M]=ni(t,w[M],s)}const y=!!t.next();return{vps_video_parameter_set_id:n,vps_base_layer_internal_flag:o,vps_base_layer_available_flag:a,vps_max_layers_minus1:i,vps_max_sub_layers_minus1:s,vps_temporal_id_nesting_flag:d,profileTierLevel:c,vps_sub_layer_ordering_info_present_flag:l,vps_max_dec_pic_buffering_minus1:m,vps_max_num_reorder_pics:b,vps_max_latency_increase_plus1:p,vps_max_layer_id:u,vps_num_layer_sets_minus1:x,layer_id_included_flag:v,vps_timing_info_present_flag:_,vps_num_units_in_tick:f,vps_time_scale:N,vps_poc_proportional_to_timing_flag:R,vps_num_ticks_poc_diff_one_minus1:E,vps_num_hrd_parameters:T,hrd_layer_set_idx:j,cprms_present_flag:w,hrdParameters:P,vps_extension_flag:y}}function Pa(e){const t=new zt(e),n=t.read(4),o=t.read(3),a=!!t.next(),i=ti(t,!0,o),s=t.decodeExponentialGolombNumber(),d=t.decodeExponentialGolombNumber();let c;d===3&&(c=!!t.next());const l=t.decodeExponentialGolombNumber(),m=t.decodeExponentialGolombNumber(),b=!!t.next();let p,u,x,v;b&&(p=t.decodeExponentialGolombNumber(),u=t.decodeExponentialGolombNumber(),x=t.decodeExponentialGolombNumber(),v=t.decodeExponentialGolombNumber());const _=t.decodeExponentialGolombNumber(),f=t.decodeExponentialGolombNumber(),N=t.decodeExponentialGolombNumber(),R=[],E=[],T=[],j=!!t.next();for(let K=j?0:o;K<=o;K+=1)R[K]=t.decodeExponentialGolombNumber(),E[K]=t.decodeExponentialGolombNumber(),T[K]=t.decodeExponentialGolombNumber();const w=t.decodeExponentialGolombNumber(),P=t.decodeExponentialGolombNumber(),y=t.decodeExponentialGolombNumber(),M=t.decodeExponentialGolombNumber(),S=t.decodeExponentialGolombNumber(),B=t.decodeExponentialGolombNumber(),U=!!t.next();let k,A;U&&(k=!!t.next(),k&&(A=Da(t)));const C=!!t.next(),L=!!t.next(),X=!!t.next();let $,z,O,J,q;X&&($=t.read(4),z=t.read(4),O=t.decodeExponentialGolombNumber(),J=t.decodeExponentialGolombNumber(),q=!!t.next());const V=t.decodeExponentialGolombNumber(),re=[];for(let K=0;K<V;K+=1)re[K]=Ta(t,K,V,re);const Ee=!!t.next();let pe,ge,xe;if(Ee){pe=t.decodeExponentialGolombNumber(),ge=[],xe=[];for(let K=0;K<pe;K+=1)ge[K]=t.read(N+4),xe[K]=!!t.next()}const F=!!t.next(),te=!!t.next(),Pe=!!t.next();let tt;Pe&&(tt=Na(t,o));const fn=!!t.next();let Ot,Ht,Yt,qt,Vt;if(fn&&(Ot=!!t.next(),Ht=!!t.next(),Yt=!!t.next(),qt=!!t.next(),Vt=t.read(4)),Ot)throw new Error("Not implemented");let pn;Ht&&(pn=ja(t));let gn;if(Yt&&(gn=ka(t)),qt)throw new Error("Not implemented");let Kt;if(Vt){Kt=[];let K=0;for(;!t.ended;)Kt[K]=!!t.next(),K+=1}return{sps_video_parameter_set_id:n,sps_max_sub_layers_minus1:o,sps_temporal_id_nesting_flag:a,profileTierLevel:i,sps_seq_parameter_set_id:s,chroma_format_idc:d,separate_colour_plane_flag:c,pic_width_in_luma_samples:l,pic_height_in_luma_samples:m,conformance_window_flag:b,conf_win_left_offset:p,conf_win_right_offset:u,conf_win_top_offset:x,conf_win_bottom_offset:v,bit_depth_luma_minus8:_,bit_depth_chroma_minus8:f,log2_max_pic_order_cnt_lsb_minus4:N,sps_sub_layer_ordering_info_present_flag:j,sps_max_dec_pic_buffering_minus1:R,sps_max_num_reorder_pics:E,sps_max_latency_increase_plus1:T,log2_min_luma_coding_block_size_minus3:w,log2_diff_max_min_luma_coding_block_size:P,log2_min_luma_transform_block_size_minus2:y,log2_diff_max_min_luma_transform_block_size:M,max_transform_hierarchy_depth_inter:S,max_transform_hierarchy_depth_intra:B,scaling_list_enabled_flag:U,sps_scaling_list_data_present_flag:k,scalingListData:A,amp_enabled_flag:C,sample_adaptive_offset_enabled_flag:L,pcm_enabled_flag:X,pcm_sample_bit_depth_luma_minus1:$,pcm_sample_bit_depth_chroma_minus1:z,log2_min_pcm_luma_coding_block_size_minus3:O,log2_diff_max_min_pcm_luma_coding_block_size:J,pcm_loop_filter_disabled_flag:q,num_short_term_ref_pic_sets:V,shortTermRefPicSets:re,long_term_ref_pics_present_flag:Ee,num_long_term_ref_pics_sps:pe,lt_ref_pic_poc_lsb_sps:ge,used_by_curr_pic_lt_sps_flag:xe,sps_temporal_mvp_enabled_flag:F,strong_intra_smoothing_enabled_flag:te,vui_parameters_present_flag:Pe,vuiParameters:tt,sps_extension_present_flag:fn,sps_range_extension_flag:Ot,sps_multilayer_extension_flag:Ht,sps_3d_extension_flag:Yt,sps_scc_extension_flag:qt,sps_extension_4bits:Vt,spsMultilayerExtension:pn,sps3dExtension:gn,sps_extension_data_flag:Kt}}function Sn(e){const t=e.read(2),n=!!e.next(),o=e.read(5),a=e.peekBytes(4),i=[];for(let j=0;j<32;j+=1)i[j]=!!e.next();const s=e.peekBytes(6),d=!!e.next(),c=!!e.next(),l=!!e.next(),m=!!e.next();let b,p,u,x,v,_,f,N,R,E;o===4||i[4]||o===5||i[5]||o===6||i[6]||o===7||i[7]||o===8||i[8]||o===9||i[9]||o===10||i[10]||o===11||i[11]?(b=!!e.next(),p=!!e.next(),u=!!e.next(),x=!!e.next(),v=!!e.next(),_=!!e.next(),f=!!e.next(),N=!!e.next(),R=!!e.next(),o===5||i[5]||o===9||i[9]||o===10||i[10]||o===11||i[11]?(E=!!e.next(),e.skip(33)):e.skip(34)):o===2||i[2]?(e.skip(7),N=!!e.next(),e.skip(35)):e.skip(43);let T;return o===1||i[1]||o===2||i[2]||o===3||i[3]||o===4||i[4]||o===5||i[5]||o===9||i[9]||o===11||i[11]?T=!!e.next():e.skip(1),{profile_space:t,tier_flag:n,profile_idc:o,profileCompatibilitySet:a,profile_compatibility_flag:i,constraintSet:s,progressive_source_flag:d,interlaced_source_flag:c,non_packed_constraint_flag:l,frame_only_constraint_flag:m,max_12bit_constraint_flag:b,max_10bit_constraint_flag:p,max_8bit_constraint_flag:u,max_422chroma_constraint_flag:x,max_420chroma_constraint_flag:v,max_monochrome_constraint_flag:_,intra_constraint_flag:f,one_picture_only_constraint_flag:N,lower_bit_rate_constraint_flag:R,max_14bit_constraint_flag:E,inbld_flag:T}}function ti(e,t,n){let o;o=Sn(e);const a=e.read(8),i=[],s=[];for(let l=0;l<n;l+=1)i[l]=!!e.next(),s[l]=!!e.next();if(n>0)for(let l=n;l<8;l+=1)e.read(2);const d=[],c=[];for(let l=0;l<n;l+=1)i[l]&&(d[l]=Sn(e)),s[l]&&(c[l]=e.read(8));return{generalProfileTier:o,general_level_idc:a,sub_layer_profile_present_flag:i,sub_layer_level_present_flag:s,subLayerProfileTier:d,sub_layer_level_idc:c}}function Da(e){const t=[];for(let n=0;n<4;n+=1){t[n]=[];for(let o=0;o<6;o+=n===3?3:1)if(!!!e.next())e.decodeExponentialGolombNumber();else{let i=8;const s=Math.min(64,1<<4+(n<<1));n>1&&(i=e.decodeExponentialGolombNumber()+8),t[n][o]=[];for(let d=0;d<s;d+=1){const c=e.decodeExponentialGolombNumber();i=(i+c+256)%256,t[n][o][d]=i}}}return t}function Ta(e,t,n,o){let a=!1;t!==0&&(a=!!e.next());let i=0,s=!1,d=0;const c=[],l=[];let m=0,b=0;const p=[],u=[],x=[],v=[];if(a){t===n&&(i=e.decodeExponentialGolombNumber()),s=!!e.next(),d=e.decodeExponentialGolombNumber();const _=t-(i+1),f=o[_],N=f.num_negative_pics+f.num_positive_pics;for(let S=0;S<=N;S+=1)c[S]=!!e.next(),c[S]?l[S]=!0:l[S]=!!e.next();const R=(1-2*Number(s))*(d+1),E=[],T=[],j=[],w=[];let P=0;for(let S=0;S<f.num_negative_pics;S+=1)P-=f.delta_poc_s0_minus1[S]+1,E[S]=P;P=0;for(let S=0;S<f.num_positive_pics;S+=1)P+=f.delta_poc_s1_minus1[S]+1,T[S]=P;let y=0;if(f.num_positive_pics>0)for(let S=f.num_positive_pics-1;S>=0;S-=1)P=T[S]+R,P<0&&l[f.num_negative_pics+S]&&(j[y]=P,u[y]=c[f.num_negative_pics+S],y+=1);R<0&&l[N]&&(j[y]=R,u[y]=c[N],y+=1);for(let S=0;S<f.num_negative_pics;S+=1)P=E[S]+R,P<0&&l[S]&&(j[y]=P,u[y]=c[S],y+=1);m=y;let M=0;for(y=0;y<m;y+=1){const S=j[y];p[y]=-(S-M-1),M=S}if(y=0,f.num_negative_pics>0)for(let S=f.num_negative_pics-1;S>=0;S-=1)P=E[S]+R,P>0&&l[S]&&(w[y]=P,v[y]=c[S],y+=1);R>0&&l[N]&&(w[y]=R,v[y]=c[N],y+=1);for(let S=0;S<f.num_positive_pics;S+=1)P=T[S]+R,P>0&&l[f.num_negative_pics+S]&&(w[y]=P,v[y]=c[f.num_negative_pics+S],y+=1);for(b=y,M=0,y=0;y<b;y+=1){const S=w[y];x[y]=S-M-1,M=S}}else{m=e.decodeExponentialGolombNumber(),b=e.decodeExponentialGolombNumber();for(let _=0;_<m;_+=1)p[_]=e.decodeExponentialGolombNumber(),u[_]=!!e.next();for(let _=0;_<b;_+=1)x[_]=e.decodeExponentialGolombNumber(),v[_]=!!e.next()}return{stRpsIdx:t,num_short_term_ref_pic_sets:n,inter_ref_pic_set_prediction_flag:a,delta_idx_minus1:i,delta_rps_sign:s,abs_delta_rps_minus1:d,used_by_curr_pic_flag:c,use_delta_flag:l,num_negative_pics:m,num_positive_pics:b,delta_poc_s0_minus1:p,used_by_curr_pic_s0_flag:u,delta_poc_s1_minus1:x,used_by_curr_pic_s1_flag:v}}const Sa={Extended:255};function Na(e,t){const n=!!e.next();let o,a,i;n&&(o=e.read(8),o===Sa.Extended&&(a=e.read(16),i=e.read(16)));const s=!!e.next();let d;s&&(d=!!e.next());const c=!!e.next();let l,m,b,p,u,x;c&&(l=e.read(3),m=!!e.next(),b=!!e.next(),b&&(p=e.read(8),u=e.read(8),x=e.read(8)));const v=!!e.next();let _,f;v&&(_=e.decodeExponentialGolombNumber(),f=e.decodeExponentialGolombNumber());const N=!!e.next(),R=!!e.next(),E=!!e.next(),T=!!e.next();let j,w,P,y;T&&(j=e.decodeExponentialGolombNumber(),w=e.decodeExponentialGolombNumber(),P=e.decodeExponentialGolombNumber(),y=e.decodeExponentialGolombNumber());const M=!!e.next();let S,B,U,k,A,C;M&&(S=e.read(32),B=e.read(32),U=!!e.next(),U&&(k=e.decodeExponentialGolombNumber()),A=!!e.next(),A&&(C=ni(e,!0,t)));const L=!!e.next();let X,$,z,O,J,q,V,re;return L&&(X=!!e.next(),$=!!e.next(),z=!!e.next(),O=e.decodeExponentialGolombNumber(),J=e.decodeExponentialGolombNumber(),q=e.decodeExponentialGolombNumber(),V=e.decodeExponentialGolombNumber(),re=e.decodeExponentialGolombNumber()),{aspect_ratio_info_present_flag:n,aspect_ratio_idc:o,sar_width:a,sar_height:i,overscan_info_present_flag:s,overscan_appropriate_flag:d,video_signal_type_present_flag:c,video_format:l,video_full_range_flag:m,colour_description_present_flag:b,colour_primaries:p,transfer_characteristics:u,matrix_coeffs:x,chroma_loc_info_present_flag:v,chroma_sample_loc_type_top_field:_,chroma_sample_loc_type_bottom_field:f,neutral_chroma_indication_flag:N,field_seq_flag:R,frame_field_info_present_flag:E,default_display_window_flag:T,def_disp_win_left_offset:j,def_disp_win_right_offset:w,def_disp_win_top_offset:P,def_disp_win_bottom_offset:y,vui_timing_info_present_flag:M,vui_num_units_in_tick:S,vui_time_scale:B,vui_poc_proportional_to_timing_flag:U,vui_num_ticks_poc_diff_one_minus1:k,vui_hrd_parameters_present_flag:A,vui_hrd_parameters:C,bitstream_restriction_flag:L,tiles_fixed_structure_flag:X,motion_vectors_over_pic_boundaries_flag:$,restricted_ref_pic_lists_flag:z,min_spatial_segmentation_idc:O,max_bytes_per_pic_denom:J,max_bits_per_min_cu_denom:q,log2_max_mv_length_horizontal:V,log2_max_mv_length_vertical:re}}function ni(e,t,n){let o,a,i,s,d,c,l,m,b,p,u,x,v;t&&(o=!!e.next(),a=!!e.next(),(o||a)&&(i=!!e.next(),i&&(s=e.read(8),d=e.read(5),c=!!e.next(),l=e.read(5)),m=e.read(4),b=e.read(4),i&&(p=e.read(4)),u=e.read(5),x=e.read(5),v=e.read(5)));const _=[],f=[],N=[],R=[],E=[],T=[],j=[];for(let w=0;w<=n;w+=1)_[w]=!!e.next(),_[w]||(f[w]=!!e.next()),f[w]?N[w]=e.decodeExponentialGolombNumber():R[w]=!!e.next(),R[w]||(E[w]=e.decodeExponentialGolombNumber()),o&&(T[w]=Nn(e,w,Rn(E[w]))),a&&(j[w]=Nn(e,w,Rn(E[w])));return{nal_hrd_parameters_present_flag:o,vcl_hrd_parameters_present_flag:a,sub_pic_hrd_params_present_flag:i,tick_divisor_minus2:s,du_cpb_removal_delay_increment_length_minus1:d,sub_pic_cpb_params_in_pic_timing_sei_flag:c,dpb_output_delay_du_length_minus1:l,bit_rate_scale:m,cpb_size_scale:b,cpb_size_du_scale:p,initial_cpb_removal_delay_length_minus1:u,au_cpb_removal_delay_length_minus1:x,dpb_output_delay_length_minus1:v,fixed_pic_rate_general_flag:_,fixed_pic_rate_within_cvs_flag:f,elemental_duration_in_tc_minus1:N,low_delay_hrd_flag:R,cpb_cnt_minus1:E,nalHrdParameters:T,vclHrdParameters:j}}function Nn(e,t,n){const o=[],a=[],i=[],s=[],d=[];for(let c=0;c<n;c+=1)o[c]=e.decodeExponentialGolombNumber(),a[c]=e.decodeExponentialGolombNumber(),t>0&&(d[c]=!!e.next());return{bit_rate_value_minus1:o,cpb_size_value_minus1:a,cpb_size_du_value_minus1:i,bit_rate_du_value_minus1:s,cbr_flag:d}}function Rn(e){return e+1}function Ra(e){let t,n,o,a=0;for(const i of ei(e)){const s=ya(i),d={...s,data:i,rbsp:i.subarray(2)};switch(s.nal_unit_type){case 32:t=d;break;case 33:n=d;break;case 34:o=d;break;default:continue}if(a+=1,a===3)return{videoParameterSet:t,sequenceParameterSet:n,pictureParameterSet:o}}throw new Error("Invalid data")}function ja(e){return{inter_view_mv_vert_constraint_flag:!!e.next()}}function ka(e){const t=[],n=[];t[0]=!!e.next(),n[0]=!!e.next();const o=e.decodeExponentialGolombNumber(),a=!!e.next(),i=!!e.next(),s=!!e.next(),d=!!e.next();t[1]=!!e.next(),n[1]=!!e.next();const c=!!e.next(),l=e.decodeExponentialGolombNumber(),m=!!e.next(),b=!!e.next(),p=!!e.next(),u=!!e.next(),x=!!e.next();return{iv_di_mc_enabled_flag:t,iv_mv_scal_enabled_flag:n,log2_ivmc_sub_pb_size_minus3:o,iv_res_pred_enabled_flag:a,depth_ref_enabled_flag:i,vsp_mc_enabled_flag:s,dbbp_enabled_flag:d,tex_mc_enabled_flag:c,log2_texmc_sub_pb_size_minus3:l,intra_contour_enabled_flag:m,intra_dc_only_wedge_enabled_flag:b,cqt_cu_part_pred_enabled_flag:p,inter_dc_only_enabled_flag:u,skip_intra_enabled_flag:x}}function Ca(e){const{videoParameterSet:t,sequenceParameterSet:n,pictureParameterSet:o}=Ra(e),{profileTierLevel:{generalProfileTier:{profile_space:a,tier_flag:i,profile_idc:s,profileCompatibilitySet:d,constraintSet:c},general_level_idc:l}}=Ea(t.rbsp),{chroma_format_idc:m,pic_width_in_luma_samples:b,pic_height_in_luma_samples:p,conf_win_left_offset:u=0,conf_win_right_offset:x=0,conf_win_top_offset:v=0,conf_win_bottom_offset:_=0}=Pa(n.rbsp),f=va(m),N=wa(m),R=b-f*(u+x),E=p-N*(v+_);return{videoParameterSet:t,sequenceParameterSet:n,pictureParameterSet:o,generalProfileSpace:a,generalProfileIndex:s,generalProfileCompatibilitySet:d,generalTierFlag:i,generalLevelIndex:l,generalConstraintSet:c,encodedWidth:b,encodedHeight:p,cropLeft:u,cropRight:x,cropTop:v,cropBottom:_,croppedWidth:R,croppedHeight:E}}function jn(e){return e.toString(16).toUpperCase()}function Zt(e){return e.toString(16).toUpperCase().padStart(2,"0")}function ot(e){return e.toString(10).padStart(2,"0")}var be,st,lt,Re,je,Gt,ii;class Aa{constructor(t,n,o){I(this,Gt);I(this,be);I(this,st);I(this,lt);I(this,Re);I(this,je,!1);D(this,be,t),D(this,st,n),D(this,lt,o)}decode(t){if(t.type!=="configuration"){if(W(this,Gt,ii).call(this,t.data),!h(this,Re))throw new Error("Decoder not configured");t.keyframe&&(h(this,be).decodeQueueSize?(h(this,be).reset(),h(this,be).configure(h(this,Re)),D(this,je,!0)):h(this,je)||(h(this,be).configure(h(this,Re)),D(this,je,!0))),h(this,be).decode(new EncodedVideoChunk({type:t.keyframe?"key":"delta",timestamp:0,data:t.data}))}}}be=new WeakMap,st=new WeakMap,lt=new WeakMap,Re=new WeakMap,je=new WeakMap,Gt=new WeakSet,ii=function(t){var T;const o=new $e(t).searchSequenceHeaderObu();if(!o)return;const{seq_profile:a,seq_level_idx:[i=0],max_frame_width_minus_1:s,max_frame_height_minus_1:d,color_config:{BitDepth:c,mono_chrome:l,subsampling_x:m,subsampling_y:b,chroma_sample_position:p,color_description_present_flag:u}}=o;let x,v,_,f;u?{color_primaries:x,transfer_characteristics:v,matrix_coefficients:_,color_range:f}=o.color_config:(x=$e.ColorPrimaries.Bt709,v=$e.TransferCharacteristics.Bt709,_=$e.MatrixCoefficients.Bt709,f=!1);const N=s+1,R=d+1;h(this,st).call(this,N,R);const E=["av01",a.toString(16),ot(i)+(o.seq_tier[0]?"H":"M"),ot(c),l?"1":"0",(m?"1":"0")+(b?"1":"0")+p.toString(),ot(x),ot(v),ot(_),f?"1":"0"].join(".");D(this,Re,{codec:E,hardwareAcceleration:((T=h(this,lt))==null?void 0:T.hardwareAcceleration)??"no-preference",optimizeForLatency:!0}),D(this,je,!1)};var _e,we,ke,He,It;class oi{constructor(t){I(this,He);I(this,_e);I(this,we);I(this,ke,!1);D(this,_e,t)}decode(t){if(t.type==="configuration"){D(this,we,{...this.configure(t.data),raw:t.data}),D(this,ke,!1);return}if(!h(this,we))throw new Error("Decoder not configured");if(t.keyframe){if(h(this,_e).decodeQueueSize){h(this,_e).reset(),W(this,He,It).call(this,h(this,we),t);return}if(!h(this,ke)){W(this,He,It).call(this,h(this,we),t);return}}if(!h(this,ke)){if(t.keyframe===void 0){W(this,He,It).call(this,h(this,we),t);return}throw new Error("Expect a keyframe but got a delta frame")}h(this,_e).decode(new EncodedVideoChunk({type:t.keyframe===!1?"delta":"key",timestamp:0,data:t.data}))}}_e=new WeakMap,we=new WeakMap,ke=new WeakMap,He=new WeakSet,It=function(t,n){h(this,_e).configure(t),D(this,ke,!0);const{raw:o}=t,a=new Uint8Array(o.length+n.data.length);a.set(o,0),a.set(n.data,o.length),h(this,_e).decode(new EncodedVideoChunk({type:"key",timestamp:0,data:a}))};var ct,dt;class Ma extends oi{constructor(n,o,a){super(n);I(this,ct);I(this,dt);D(this,ct,o),D(this,dt,a)}configure(n){var l;const{profileIndex:o,constraintSet:a,levelIndex:i,croppedWidth:s,croppedHeight:d}=xa(n);return h(this,ct).call(this,s,d),{codec:"avc1."+Zt(o)+Zt(a)+Zt(i),hardwareAcceleration:((l=h(this,dt))==null?void 0:l.hardwareAcceleration)??"no-preference",optimizeForLatency:!0}}}ct=new WeakMap,dt=new WeakMap;var ut,ht;class Ia extends oi{constructor(n,o,a){super(n);I(this,ut);I(this,ht);D(this,ut,o),D(this,ht,a)}configure(n){var p;const{generalProfileSpace:o,generalProfileIndex:a,generalProfileCompatibilitySet:i,generalTierFlag:s,generalLevelIndex:d,generalConstraintSet:c,croppedWidth:l,croppedHeight:m}=Ca(n);return h(this,ut).call(this,l,m),{codec:["hev1",["","A","B","C"][o]+a.toString(),jn(da(i,0)),(s?"H":"L")+d.toString(),...Array.from(c,jn)].join("."),codedWidth:l,codedHeight:m,hardwareAcceleration:((p=h(this,ht))==null?void 0:p.hardwareAcceleration)??"no-preference",optimizeForLatency:!0}}}ut=new WeakMap,ht=new WeakMap;class La{constructor(){se(this,"listeners",[]);se(this,"event",(t,n,...o)=>{const a={listener:t,thisArg:n,args:o};return this.addEventListener(a)});this.event=this.event.bind(this)}addEventListener(t){this.listeners.push(t);const n=()=>{const o=this.listeners.indexOf(t);o!==-1&&this.listeners.splice(o,1)};return n.dispose=n,n}fire(t){for(const n of this.listeners.slice())n.listener.call(n.thisArg,t,...n.args)}dispose(){this.listeners.length=0}}const kn=Symbol("undefined");var Ye;class Fa extends La{constructor(){super(...arguments);I(this,Ye,kn)}addEventListener(n){return h(this,Ye)!==kn&&n.listener.call(n.thisArg,h(this,Ye),...n.args),super.addEventListener(n)}fire(n){D(this,Ye,n),super.fire(n)}}Ye=new WeakMap;var mt,Xt,Wt,bt,_t,ft;class Ua{constructor(t,n){I(this,mt);I(this,Xt,new ReadableStream({start:t=>{D(this,mt,t)},pull:t=>{t.enqueue(h(this,bt).call(this))}},{highWaterMark:0}));I(this,Wt,h(this,Xt).getReader());I(this,bt);I(this,_t,0);I(this,ft);D(this,bt,t),D(this,ft,n)}async borrow(){return(await h(this,Wt).read()).value}return(t){h(this,_t)<h(this,ft)&&(h(this,mt).enqueue(t),D(this,_t,h(this,_t)+1))}}mt=new WeakMap,Xt=new WeakMap,Wt=new WeakMap,bt=new WeakMap,_t=new WeakMap,ft=new WeakMap;var ae,pt;class Ba{constructor(){I(this,ae);I(this,pt);typeof OffscreenCanvas<"u"?D(this,ae,new OffscreenCanvas(1,1)):(D(this,ae,document.createElement("canvas")),h(this,ae).width=1,h(this,ae).height=1),D(this,pt,h(this,ae).getContext("bitmaprenderer",{alpha:!1}))}async capture(t){h(this,ae).width=t.displayWidth,h(this,ae).height=t.displayHeight;const n=await createImageBitmap(t);return h(this,pt).transferFromImageBitmap(n),h(this,ae)instanceof OffscreenCanvas?await h(this,ae).convertToBlob({type:"image/png"}):new Promise((o,a)=>{h(this,ae).toBlob(i=>{i?o(i):a(new Error("Failed to convert canvas to blob"))},"image/png")})}}ae=new WeakMap,pt=new WeakMap;const Cn=new Ua(()=>new Ba,4);var Ce,Ae,Me,Ie,gt,qe,Ve,Le,xt,Ke,vt,wt,yt,fe,Je,de,Fe,Et,ye,dn,un,Ue,Pt;class _n{constructor({codec:t,renderer:n,...o}){I(this,ye);I(this,Ce);I(this,Ae);I(this,Me);I(this,Ie);I(this,gt);I(this,qe);I(this,Ve);I(this,Le,0);I(this,xt,0);I(this,Ke,0);I(this,vt,new Fa);I(this,wt,0);I(this,yt,0);I(this,fe);I(this,Je,!1);I(this,de);I(this,Fe);I(this,Et,0);I(this,Ue,(t,n)=>{h(this,Ae).setSize(t,n),D(this,wt,t),D(this,yt,n),h(this,vt).fire({width:t,height:n})});I(this,Pt,()=>{h(this,Le)>0&&(D(this,xt,h(this,xt)+1),D(this,Ke,h(this,Ke)+(h(this,Le)-1)),D(this,Le,0)),D(this,Et,requestAnimationFrame(h(this,Pt)))});switch(D(this,Ce,t),D(this,Ae,n),D(this,Me,o),D(this,fe,new VideoDecoder({output:a=>{var i;if((i=h(this,Fe))==null||i.close(),D(this,Fe,a.clone()),h(this,Je)){h(this,de)&&(h(this,de).close(),D(this,Ke,h(this,Ke)+1)),D(this,de,a);return}W(this,ye,un).call(this,a)},error:a=>{W(this,ye,dn).call(this,a)}})),h(this,Ce)){case Mt.H264:D(this,Ie,new Ma(h(this,fe),h(this,Ue),h(this,Me)));break;case Mt.H265:D(this,Ie,new Ia(h(this,fe),h(this,Ue),h(this,Me)));break;case Mt.AV1:D(this,Ie,new Aa(h(this,fe),h(this,Ue),h(this,Me)));break;default:throw new Error(`Unsupported codec: ${h(this,Ce)}`)}D(this,gt,new ua({start:a=>{h(this,qe)?a.error(h(this,qe)):D(this,Ve,a)},write:a=>{h(this,Ie).decode(a)}})),h(this,Pt).call(this)}static get isSupported(){return typeof globalThis.VideoDecoder<"u"}get codec(){return h(this,Ce)}get renderer(){return h(this,Ae)}get writable(){return h(this,gt)}get framesRendered(){return h(this,xt)}get framesSkipped(){return h(this,Ke)}get sizeChanged(){return h(this,vt).event}get width(){return h(this,wt)}get height(){return h(this,yt)}async snapshot(){const t=h(this,Fe);if(!t)return;const n=await Cn.borrow(),o=await n.capture(t);return Cn.return(n),o}dispose(){var t,n;cancelAnimationFrame(h(this,Et)),h(this,fe).state!=="closed"&&h(this,fe).close(),(t=h(this,de))==null||t.close(),(n=h(this,Fe))==null||n.close()}}Ce=new WeakMap,Ae=new WeakMap,Me=new WeakMap,Ie=new WeakMap,gt=new WeakMap,qe=new WeakMap,Ve=new WeakMap,Le=new WeakMap,xt=new WeakMap,Ke=new WeakMap,vt=new WeakMap,wt=new WeakMap,yt=new WeakMap,fe=new WeakMap,Je=new WeakMap,de=new WeakMap,Fe=new WeakMap,Et=new WeakMap,ye=new WeakSet,dn=function(t){if(h(this,Ve))try{h(this,Ve).error(t)}catch{}else D(this,qe,t)},un=async function(t){try{if(D(this,Je,!0),h(this,Ue).call(this,t.displayWidth,t.displayHeight),await h(this,Ae).draw(t),D(this,Le,h(this,Le)+1),t.close(),h(this,de)){const n=h(this,de);D(this,de,void 0),await W(this,ye,un).call(this,n)}D(this,Je,!1)}catch(n){W(this,ye,dn).call(this,n)}},Ue=new WeakMap,Pt=new WeakMap,se(_n,"capabilities",{h264:{},h265:{},av1:{}});var ai={exports:{}};(function(){function e(t,n){throw new Error("abstract")}e.prototype.drawFrame=function(t){throw new Error("abstract")},e.prototype.clear=function(){throw new Error("abstract")},ai.exports=e})();var ri=ai.exports,si={exports:{}},li={exports:{}};(function(){/**
|
|
4
|
+
* Convert a ratio into a bit-shift count; for instance a ratio of 2
|
|
5
|
+
* becomes a bit-shift of 1, while a ratio of 1 is a bit-shift of 0.
|
|
6
|
+
*
|
|
7
|
+
* @author Brooke Vibber <bvibber@pobox.com>
|
|
8
|
+
* @copyright 2016-2024
|
|
9
|
+
* @license MIT-style
|
|
10
|
+
*
|
|
11
|
+
* @param {number} ratio - the integer ratio to convert.
|
|
12
|
+
* @returns {number} - number of bits to shift to multiply/divide by the ratio.
|
|
13
|
+
* @throws exception if given a non-power-of-two
|
|
14
|
+
*/function e(t){for(var n=0,o=t>>1;o!=0;)o=o>>1,n++;if(t!==1<<n)throw"chroma plane dimensions must be power of 2 ratio to luma plane dimensions; got "+t;return n}li.exports=e})();var Ga=li.exports;(function(){var e=Ga;/**
|
|
15
|
+
* Basic YCbCr->RGB conversion
|
|
16
|
+
*
|
|
17
|
+
* @author Brooke Vibber <bvibber@pobox.com>
|
|
18
|
+
* @copyright 2014-2024
|
|
19
|
+
* @license MIT-style
|
|
20
|
+
*
|
|
21
|
+
* @param {YUVFrame} buffer - input frame buffer
|
|
22
|
+
* @param {Uint8ClampedArray} output - array to draw RGBA into
|
|
23
|
+
* Assumes that the output array already has alpha channel set to opaque.
|
|
24
|
+
*/function t(n,o){var a=n.format.width|0,i=n.format.height|0,s=e(n.format.width/n.format.chromaWidth)|0,d=e(n.format.height/n.format.chromaHeight)|0,c=n.y.bytes,l=n.u.bytes,m=n.v.bytes,b=n.y.stride|0,p=n.u.stride|0,u=n.v.stride|0,x=a<<2,v=0,_=0,f=0,N=0,R=0,E=0,T=0,j=0,w=0,P=0,y=0,M=0,S=0,B=0,U=0,k=0,A=0,C=0;if(s==1&&d==1)for(T=0,j=x,C=0,k=0;k<i;k+=2){for(_=k*b|0,f=_+b|0,N=C*p|0,R=C*u|0,U=0;U<a;U+=2)w=l[N++]|0,P=m[R++]|0,M=(409*P|0)-57088|0,S=(100*w|0)+(208*P|0)-34816|0,B=(516*w|0)-70912|0,y=298*c[_++]|0,o[T]=y+M>>8,o[T+1]=y-S>>8,o[T+2]=y+B>>8,T+=4,y=298*c[_++]|0,o[T]=y+M>>8,o[T+1]=y-S>>8,o[T+2]=y+B>>8,T+=4,y=298*c[f++]|0,o[j]=y+M>>8,o[j+1]=y-S>>8,o[j+2]=y+B>>8,j+=4,y=298*c[f++]|0,o[j]=y+M>>8,o[j+1]=y-S>>8,o[j+2]=y+B>>8,j+=4;T+=x,j+=x,C++}else for(E=0,k=0;k<i;k++)for(A=0,C=k>>d,v=k*b|0,N=C*p|0,R=C*u|0,U=0;U<a;U++)A=U>>s,w=l[N+A]|0,P=m[R+A]|0,M=(409*P|0)-57088|0,S=(100*w|0)+(208*P|0)-34816|0,B=(516*w|0)-70912|0,y=298*c[v++]|0,o[E]=y+M>>8,o[E+1]=y-S>>8,o[E+2]=y+B>>8,E+=4}si.exports={convertYCbCr:t}})();var Xa=si.exports;(function(){var e=ri,t=Xa;function n(o){var a=this,i=o.getContext("2d"),s=null,d=null,c=null;function l(b,p){s=i.createImageData(b,p);for(var u=s.data,x=b*p*4,v=0;v<x;v+=4)u[v+3]=255}function m(b,p){d=document.createElement("canvas"),d.width=b,d.height=p,c=d.getContext("2d")}return a.drawFrame=function(p){var u=p.format;(o.width!==u.displayWidth||o.height!==u.displayHeight)&&(o.width=u.displayWidth,o.height=u.displayHeight),(s===null||s.width!=u.width||s.height!=u.height)&&l(u.width,u.height),t.convertYCbCr(p,s.data);var x=u.cropWidth!=u.displayWidth||u.cropHeight!=u.displayHeight,v;x?(d||m(u.cropWidth,u.cropHeight),v=c):v=i,v.putImageData(s,-u.cropLeft,-u.cropTop,u.cropLeft,u.cropTop,u.cropWidth,u.cropHeight),x&&i.drawImage(d,0,0,u.displayWidth,u.displayHeight)},a.clear=function(){i.clearRect(0,0,o.width,o.height)},a}n.prototype=Object.create(e.prototype)})();var Wa={vertex:`precision mediump float;
|
|
25
|
+
|
|
26
|
+
attribute vec2 aPosition;
|
|
27
|
+
attribute vec2 aLumaPosition;
|
|
28
|
+
attribute vec2 aChromaPosition;
|
|
29
|
+
varying vec2 vLumaPosition;
|
|
30
|
+
varying vec2 vChromaPosition;
|
|
31
|
+
void main() {
|
|
32
|
+
gl_Position = vec4(aPosition, 0, 1);
|
|
33
|
+
vLumaPosition = aLumaPosition;
|
|
34
|
+
vChromaPosition = aChromaPosition;
|
|
35
|
+
}
|
|
36
|
+
`,fragment:`// inspired by https://github.com/mbebenita/Broadway/blob/master/Player/canvas.js
|
|
37
|
+
|
|
38
|
+
precision mediump float;
|
|
39
|
+
|
|
40
|
+
uniform sampler2D uTextureY;
|
|
41
|
+
uniform sampler2D uTextureCb;
|
|
42
|
+
uniform sampler2D uTextureCr;
|
|
43
|
+
varying vec2 vLumaPosition;
|
|
44
|
+
varying vec2 vChromaPosition;
|
|
45
|
+
void main() {
|
|
46
|
+
// Y, Cb, and Cr planes are uploaded as ALPHA textures.
|
|
47
|
+
float fY = texture2D(uTextureY, vLumaPosition).w;
|
|
48
|
+
float fCb = texture2D(uTextureCb, vChromaPosition).w;
|
|
49
|
+
float fCr = texture2D(uTextureCr, vChromaPosition).w;
|
|
50
|
+
|
|
51
|
+
// Premultipy the Y...
|
|
52
|
+
float fYmul = fY * 1.1643828125;
|
|
53
|
+
|
|
54
|
+
// And convert that to RGB!
|
|
55
|
+
gl_FragColor = vec4(
|
|
56
|
+
fYmul + 1.59602734375 * fCr - 0.87078515625,
|
|
57
|
+
fYmul - 0.39176171875 * fCb - 0.81296875 * fCr + 0.52959375,
|
|
58
|
+
fYmul + 2.017234375 * fCb - 1.081390625,
|
|
59
|
+
1
|
|
60
|
+
);
|
|
61
|
+
}
|
|
62
|
+
`,vertexStripe:`precision mediump float;
|
|
63
|
+
|
|
64
|
+
attribute vec2 aPosition;
|
|
65
|
+
attribute vec2 aTexturePosition;
|
|
66
|
+
varying vec2 vTexturePosition;
|
|
67
|
+
|
|
68
|
+
void main() {
|
|
69
|
+
gl_Position = vec4(aPosition, 0, 1);
|
|
70
|
+
vTexturePosition = aTexturePosition;
|
|
71
|
+
}
|
|
72
|
+
`,fragmentStripe:`// extra 'stripe' texture fiddling to work around IE 11's poor performance on gl.LUMINANCE and gl.ALPHA textures
|
|
73
|
+
|
|
74
|
+
precision mediump float;
|
|
75
|
+
|
|
76
|
+
uniform sampler2D uStripe;
|
|
77
|
+
uniform sampler2D uTexture;
|
|
78
|
+
varying vec2 vTexturePosition;
|
|
79
|
+
void main() {
|
|
80
|
+
// Y, Cb, and Cr planes are mapped into a pseudo-RGBA texture
|
|
81
|
+
// so we can upload them without expanding the bytes on IE 11
|
|
82
|
+
// which doesn't allow LUMINANCE or ALPHA textures
|
|
83
|
+
// The stripe textures mark which channel to keep for each pixel.
|
|
84
|
+
// Each texture extraction will contain the relevant value in one
|
|
85
|
+
// channel only.
|
|
86
|
+
|
|
87
|
+
float fLuminance = dot(
|
|
88
|
+
texture2D(uStripe, vTexturePosition),
|
|
89
|
+
texture2D(uTexture, vTexturePosition)
|
|
90
|
+
);
|
|
91
|
+
|
|
92
|
+
gl_FragColor = vec4(0, 0, 0, fLuminance);
|
|
93
|
+
}
|
|
94
|
+
`};(function(){var e=ri,t=Wa;function n(o){var a=this,i=n.contextForCanvas(o);if(i===null)throw new Error("WebGL unavailable");function s(k,A){var C=i.createShader(k);if(i.shaderSource(C,A),i.compileShader(C),!i.getShaderParameter(C,i.COMPILE_STATUS)){var L=i.getShaderInfoLog(C);throw i.deleteShader(C),new Error("GL shader compilation for "+k+" failed: "+L)}return C}var d,c,l=new Float32Array([-1,-1,1,-1,-1,1,-1,1,1,-1,1,1]),m={},b={},p={},u,x,v,_,f,N,R,E,T,j;function w(k,A){return(!m[k]||A)&&(m[k]=i.createTexture()),m[k]}function P(k,A,C,L,X){var $=!m[k]||A,z=w(k,A);if(i.activeTexture(i.TEXTURE0),n.stripe){var O=!m[k+"_temp"]||A,J=w(k+"_temp",A);i.bindTexture(i.TEXTURE_2D,J),O?(i.texParameteri(i.TEXTURE_2D,i.TEXTURE_WRAP_S,i.CLAMP_TO_EDGE),i.texParameteri(i.TEXTURE_2D,i.TEXTURE_WRAP_T,i.CLAMP_TO_EDGE),i.texParameteri(i.TEXTURE_2D,i.TEXTURE_MIN_FILTER,i.NEAREST),i.texParameteri(i.TEXTURE_2D,i.TEXTURE_MAG_FILTER,i.NEAREST),i.texImage2D(i.TEXTURE_2D,0,i.RGBA,C/4,L,0,i.RGBA,i.UNSIGNED_BYTE,X)):i.texSubImage2D(i.TEXTURE_2D,0,0,0,C/4,L,i.RGBA,i.UNSIGNED_BYTE,X);var q=m[k+"_stripe"],V=!q||A;V&&(q=w(k+"_stripe",A)),i.bindTexture(i.TEXTURE_2D,q),V&&(i.texParameteri(i.TEXTURE_2D,i.TEXTURE_WRAP_S,i.CLAMP_TO_EDGE),i.texParameteri(i.TEXTURE_2D,i.TEXTURE_WRAP_T,i.CLAMP_TO_EDGE),i.texParameteri(i.TEXTURE_2D,i.TEXTURE_MIN_FILTER,i.NEAREST),i.texParameteri(i.TEXTURE_2D,i.TEXTURE_MAG_FILTER,i.NEAREST),i.texImage2D(i.TEXTURE_2D,0,i.RGBA,C,1,0,i.RGBA,i.UNSIGNED_BYTE,S(C)))}else i.bindTexture(i.TEXTURE_2D,z),$?(i.texParameteri(i.TEXTURE_2D,i.TEXTURE_WRAP_S,i.CLAMP_TO_EDGE),i.texParameteri(i.TEXTURE_2D,i.TEXTURE_WRAP_T,i.CLAMP_TO_EDGE),i.texParameteri(i.TEXTURE_2D,i.TEXTURE_MIN_FILTER,i.LINEAR),i.texParameteri(i.TEXTURE_2D,i.TEXTURE_MAG_FILTER,i.LINEAR),i.texImage2D(i.TEXTURE_2D,0,i.ALPHA,C,L,0,i.ALPHA,i.UNSIGNED_BYTE,X)):i.texSubImage2D(i.TEXTURE_2D,0,0,0,C,L,i.ALPHA,i.UNSIGNED_BYTE,X)}function y(k,A,C,L){var X=m[k];i.useProgram(c);var $=b[k];(!$||A)&&(i.activeTexture(i.TEXTURE0),i.bindTexture(i.TEXTURE_2D,X),i.texParameteri(i.TEXTURE_2D,i.TEXTURE_WRAP_S,i.CLAMP_TO_EDGE),i.texParameteri(i.TEXTURE_2D,i.TEXTURE_WRAP_T,i.CLAMP_TO_EDGE),i.texParameteri(i.TEXTURE_2D,i.TEXTURE_MIN_FILTER,i.LINEAR),i.texParameteri(i.TEXTURE_2D,i.TEXTURE_MAG_FILTER,i.LINEAR),i.texImage2D(i.TEXTURE_2D,0,i.RGBA,C,L,0,i.RGBA,i.UNSIGNED_BYTE,null),$=b[k]=i.createFramebuffer()),i.bindFramebuffer(i.FRAMEBUFFER,$),i.framebufferTexture2D(i.FRAMEBUFFER,i.COLOR_ATTACHMENT0,i.TEXTURE_2D,X,0);var z=m[k+"_temp"];i.activeTexture(i.TEXTURE1),i.bindTexture(i.TEXTURE_2D,z),i.uniform1i(N,1);var O=m[k+"_stripe"];i.activeTexture(i.TEXTURE2),i.bindTexture(i.TEXTURE_2D,O),i.uniform1i(f,2),i.bindBuffer(i.ARRAY_BUFFER,u),i.enableVertexAttribArray(x),i.vertexAttribPointer(x,2,i.FLOAT,!1,0,0),i.bindBuffer(i.ARRAY_BUFFER,v),i.enableVertexAttribArray(_),i.vertexAttribPointer(_,2,i.FLOAT,!1,0,0),i.viewport(0,0,C,L),i.drawArrays(i.TRIANGLES,0,l.length/2),i.bindFramebuffer(i.FRAMEBUFFER,null)}function M(k,A,C){i.activeTexture(A),i.bindTexture(i.TEXTURE_2D,m[k]),i.texParameteri(i.TEXTURE_2D,i.TEXTURE_WRAP_S,i.CLAMP_TO_EDGE),i.texParameteri(i.TEXTURE_2D,i.TEXTURE_WRAP_T,i.CLAMP_TO_EDGE),i.texParameteri(i.TEXTURE_2D,i.TEXTURE_MIN_FILTER,i.LINEAR),i.texParameteri(i.TEXTURE_2D,i.TEXTURE_MAG_FILTER,i.LINEAR),i.uniform1i(i.getUniformLocation(d,k),C)}function S(k){if(p[k])return p[k];for(var A=k,C=new Uint32Array(A),L=0;L<A;L+=4)C[L]=255,C[L+1]=65280,C[L+2]=16711680,C[L+3]=4278190080;return p[k]=new Uint8Array(C.buffer)}function B(k,A){var C=s(i.VERTEX_SHADER,k),L=s(i.FRAGMENT_SHADER,A),X=i.createProgram();if(i.attachShader(X,C),i.attachShader(X,L),i.linkProgram(X),!i.getProgramParameter(X,i.LINK_STATUS)){var $=i.getProgramInfoLog(X);throw i.deleteProgram(X),new Error("GL program linking failed: "+$)}return X}function U(){if(n.stripe){c=B(t.vertexStripe,t.fragmentStripe),i.getAttribLocation(c,"aPosition"),v=i.createBuffer();var k=new Float32Array([0,0,1,0,0,1,0,1,1,0,1,1]);i.bindBuffer(i.ARRAY_BUFFER,v),i.bufferData(i.ARRAY_BUFFER,k,i.STATIC_DRAW),_=i.getAttribLocation(c,"aTexturePosition"),f=i.getUniformLocation(c,"uStripe"),N=i.getUniformLocation(c,"uTexture")}d=B(t.vertex,t.fragment),u=i.createBuffer(),i.bindBuffer(i.ARRAY_BUFFER,u),i.bufferData(i.ARRAY_BUFFER,l,i.STATIC_DRAW),x=i.getAttribLocation(d,"aPosition"),R=i.createBuffer(),E=i.getAttribLocation(d,"aLumaPosition"),T=i.createBuffer(),j=i.getAttribLocation(d,"aChromaPosition")}return a.drawFrame=function(k){var A=k.format,C=!d||o.width!==A.displayWidth||o.height!==A.displayHeight;if(C&&(o.width=A.displayWidth,o.height=A.displayHeight,a.clear()),d||U(),C){var L=function(X,$,z){var O=A.cropLeft/z,J=(A.cropLeft+A.cropWidth)/z,q=(A.cropTop+A.cropHeight)/A.height,V=A.cropTop/A.height,re=new Float32Array([O,q,J,q,O,V,O,V,J,q,J,V]);i.bindBuffer(i.ARRAY_BUFFER,X),i.bufferData(i.ARRAY_BUFFER,re,i.STATIC_DRAW)};L(R,E,k.y.stride),L(T,j,k.u.stride*A.width/A.chromaWidth)}P("uTextureY",C,k.y.stride,A.height,k.y.bytes),P("uTextureCb",C,k.u.stride,A.chromaHeight,k.u.bytes),P("uTextureCr",C,k.v.stride,A.chromaHeight,k.v.bytes),n.stripe&&(y("uTextureY",C,k.y.stride,A.height),y("uTextureCb",C,k.u.stride,A.chromaHeight),y("uTextureCr",C,k.v.stride,A.chromaHeight)),i.useProgram(d),i.viewport(0,0,o.width,o.height),M("uTextureY",i.TEXTURE0,0),M("uTextureCb",i.TEXTURE1,1),M("uTextureCr",i.TEXTURE2,2),i.bindBuffer(i.ARRAY_BUFFER,u),i.enableVertexAttribArray(x),i.vertexAttribPointer(x,2,i.FLOAT,!1,0,0),i.bindBuffer(i.ARRAY_BUFFER,R),i.enableVertexAttribArray(E),i.vertexAttribPointer(E,2,i.FLOAT,!1,0,0),i.bindBuffer(i.ARRAY_BUFFER,T),i.enableVertexAttribArray(j),i.vertexAttribPointer(j,2,i.FLOAT,!1,0,0),i.drawArrays(i.TRIANGLES,0,l.length/2)},a.clear=function(){i.viewport(0,0,o.width,o.height),i.clearColor(0,0,0,0),i.clear(i.COLOR_BUFFER_BIT)},a.clear(),a}n.stripe=!1,n.contextForCanvas=function(o){var a={preferLowPowerToHighPerformance:!0,powerPreference:"low-power",failIfMajorPerformanceCaveat:!0,preserveDrawingBuffer:!0};return o.getContext("webgl",a)||o.getContext("experimental-webgl",a)},n.isAvailable=function(){var o=document.createElement("canvas"),a;o.width=1,o.height=1;try{a=n.contextForCanvas(o)}catch{return!1}if(a){var i=a.TEXTURE0,s=4,d=4,c=a.createTexture(),l=new Uint8Array(s*d),m=n.stripe?s/4:s,b=n.stripe?a.RGBA:a.ALPHA,p=n.stripe?a.NEAREST:a.LINEAR;a.activeTexture(i),a.bindTexture(a.TEXTURE_2D,c),a.texParameteri(a.TEXTURE_2D,a.TEXTURE_WRAP_S,a.CLAMP_TO_EDGE),a.texParameteri(a.TEXTURE_2D,a.TEXTURE_WRAP_T,a.CLAMP_TO_EDGE),a.texParameteri(a.TEXTURE_2D,a.TEXTURE_MIN_FILTER,p),a.texParameteri(a.TEXTURE_2D,a.TEXTURE_MAG_FILTER,p),a.texImage2D(a.TEXTURE_2D,0,b,m,d,0,b,a.UNSIGNED_BYTE,l);var u=a.getError();return!u}else return!1},n.prototype=Object.create(e.prototype)})();function ci(){if(typeof document<"u")return document.createElement("canvas");if(typeof OffscreenCanvas<"u")return new OffscreenCanvas(1,1);throw new Error("no canvas input found nor any canvas can be created")}var ue;class di{constructor(t){I(this,ue);t?D(this,ue,t):D(this,ue,ci())}get canvas(){return h(this,ue)}setSize(t,n){(h(this,ue).width!==t||h(this,ue).height!==n)&&(h(this,ue).width=t,h(this,ue).height=n)}}ue=new WeakMap;var Dt;class $a extends di{constructor(n){super(n);I(this,Dt);D(this,Dt,this.canvas.getContext("bitmaprenderer",{alpha:!1}))}async draw(n){const o=await createImageBitmap(n);h(this,Dt).transferFromImageBitmap(o)}}Dt=new WeakMap;const za=Promise.resolve();function An(e,t){const n={powerPreference:"low-power",alpha:!1,failIfMajorPerformanceCaveat:!0,preserveDrawingBuffer:!!t};return e.getContext("webgl2",n)||e.getContext("webgl",n)}var Tt;const ze=class ze extends di{constructor(n,o){super(n);I(this,Tt);const a=An(this.canvas,o);if(!a)throw new Error("WebGL not supported");D(this,Tt,a);const i=a.createShader(a.VERTEX_SHADER);if(a.shaderSource(i,ze.vertexShaderSource),a.compileShader(i),!a.getShaderParameter(i,a.COMPILE_STATUS))throw new Error(a.getShaderInfoLog(i));const s=a.createShader(a.FRAGMENT_SHADER);if(a.shaderSource(s,ze.fragmentShaderSource),a.compileShader(s),!a.getShaderParameter(s,a.COMPILE_STATUS))throw new Error(a.getShaderInfoLog(s));const d=a.createProgram();if(a.attachShader(d,i),a.attachShader(d,s),a.linkProgram(d),!a.getProgramParameter(d,a.LINK_STATUS))throw new Error(a.getProgramInfoLog(d));a.useProgram(d);const c=a.createBuffer();a.bindBuffer(a.ARRAY_BUFFER,c),a.bufferData(a.ARRAY_BUFFER,new Float32Array([-1,-1,-1,1,1,1,1,-1]),a.STATIC_DRAW);const l=a.getAttribLocation(d,"xy");a.vertexAttribPointer(l,2,a.FLOAT,!1,0,0),a.enableVertexAttribArray(l);const m=a.createTexture();a.bindTexture(a.TEXTURE_2D,m),a.texParameteri(a.TEXTURE_2D,a.TEXTURE_MAG_FILTER,a.NEAREST),a.texParameteri(a.TEXTURE_2D,a.TEXTURE_MIN_FILTER,a.NEAREST),a.texParameteri(a.TEXTURE_2D,a.TEXTURE_WRAP_S,a.CLAMP_TO_EDGE),a.texParameteri(a.TEXTURE_2D,a.TEXTURE_WRAP_T,a.CLAMP_TO_EDGE)}static get isSupported(){const n=ci();return!!An(n)}draw(n){const o=h(this,Tt);return o.texImage2D(o.TEXTURE_2D,0,o.RGBA,o.RGBA,o.UNSIGNED_BYTE,n),o.viewport(0,0,o.drawingBufferWidth,o.drawingBufferHeight),o.drawArrays(o.TRIANGLE_FAN,0,4),za}};Tt=new WeakMap,se(ze,"vertexShaderSource",`
|
|
95
|
+
attribute vec2 xy;
|
|
96
|
+
|
|
97
|
+
varying highp vec2 uv;
|
|
98
|
+
|
|
99
|
+
void main(void) {
|
|
100
|
+
gl_Position = vec4(xy, 0.0, 1.0);
|
|
101
|
+
// Map vertex coordinates (-1 to +1) to UV coordinates (0 to 1).
|
|
102
|
+
// UV coordinates are Y-flipped relative to vertex coordinates.
|
|
103
|
+
uv = vec2((1.0 + xy.x) / 2.0, (1.0 - xy.y) / 2.0);
|
|
104
|
+
}
|
|
105
|
+
`),se(ze,"fragmentShaderSource",`
|
|
106
|
+
varying highp vec2 uv;
|
|
107
|
+
|
|
108
|
+
uniform sampler2D texture;
|
|
109
|
+
|
|
110
|
+
void main(void) {
|
|
111
|
+
gl_FragColor = texture2D(texture, uv);
|
|
112
|
+
}
|
|
113
|
+
`);let Bt=ze;const Oa=e=>{try{if(Bt.isSupported)return new Bt(e)}catch{}return new $a(e)},Mn=e=>{const t=e.data instanceof Uint8Array?e.data:new Uint8Array(e.data);return e.type==="configuration"?{data:t,type:"configuration"}:{data:t,keyframe:e.keyframe,type:"data"}},Ha=e=>{if(e.byteLength<10)return;const n=new DataView(e);if(n.getUint8(0)!==1)return;const o=n.getUint8(1),a=n.getUint32(2),i=n.getUint32(6);return{data:new Uint8Array(e.slice(10)),deviceId:"",height:i>0?i:void 0,keyframe:o===2,receivedAt:Date.now(),streamId:"server",type:o===0?"configuration":"data",width:a>0?a:void 0}},Ya=e=>{const t=new _n({codec:Mt.H264,renderer:Oa(e)});return{decoder:t,writer:t.writable.getWriter()}},qa=e=>{const t=new URL(Ti(),window.location.origin);return t.protocol=t.protocol==="https:"?"wss:":"ws:",t.searchParams.set("channel","mobile-debug-video"),t.searchParams.set("deviceId",e),t.toString()};function Va({deviceId:e,onError:t,onSizeChange:n,onStatusChange:o}){const a=g.useRef(null);return g.useEffect(()=>{const i=a.current,s=window.oneworksDesktop;if(i==null||!_n.isSupported){o("unavailable");return}const d=s==null?void 0:s.startMobileDeviceVideoStream,c=s==null?void 0:s.stopMobileDeviceVideoStream,l=s==null?void 0:s.onMobileDeviceVideoFrame,m=s==null?void 0:s.onMobileDeviceVideoStreamStatus;let b=!1,p,u,x,v;const _=E=>{b||(t(E),o("unavailable"))};try{const E=Ya(i);u=E.decoder,x=E.writer}catch(E){_(E instanceof Error?E.message:String(E));return}const f=u.sizeChanged(E=>{n(E),o("active")});if(d==null||c==null||l==null||m==null){o("starting");const E=new WebSocket(qa(e));return v=E,E.binaryType="arraybuffer",E.addEventListener("message",T=>{if(b||x==null)return;if(typeof T.data=="string"){try{const w=JSON.parse(T.data);if(w.type==="mobile-debug-video-started"){const P=w.data;p=P==null?void 0:P.streamId,(P==null?void 0:P.width)!=null&&P.height!=null&&n({height:P.height,width:P.width})}else if(w.type==="mobile-debug-video-status"){const P=w.data;(P==null?void 0:P.status)==="error"?_(P.message??""):_("")}}catch(w){_(w instanceof Error?w.message:String(w))}return}const j=w=>{const P=Ha(w);P==null||x==null||(P.width!=null&&P.height!=null&&n({height:P.height,width:P.width}),x.write(Mn(P)).then(()=>{b||o("active")}).catch(y=>_(y instanceof Error?y.message:String(y))))};T.data instanceof ArrayBuffer?j(T.data):T.data instanceof Blob&&T.data.arrayBuffer().then(j).catch(w=>{_(w instanceof Error?w.message:String(w))})}),E.addEventListener("error",()=>_("")),E.addEventListener("close",T=>{!b&&T.code!==1e3&&_(T.reason)}),()=>{b=!0,f(),v==null||v.close(),x==null||x.close().catch(()=>{}),u==null||u.dispose()}}const N=l(E=>{b||E.streamId!==p||x==null||(E.width!=null&&E.height!=null&&n({height:E.height,width:E.width}),x.write(Mn(E)).then(()=>{b||o("active")}).catch(T=>_(T instanceof Error?T.message:String(T))))}),R=m(E=>{E.streamId!==p||b||(E.status==="error"?_(E.message??""):_(""))});return o("starting"),d(e).then(E=>{if(b){c(E.streamId).catch(()=>{});return}p=E.streamId,E.width!=null&&E.height!=null&&n({height:E.height,width:E.width})}).catch(E=>_(E instanceof Error?E.message:String(E))),()=>{b=!0,N(),R(),f();const E=p;E!=null&&c(E).catch(()=>{}),x==null||x.close().catch(()=>{}),u==null||u.dispose()}},[e,t,n,o]),r.jsx("canvas",{ref:a,className:"chat-interaction-panel-mobile-debug__video-canvas","aria-hidden":"true"})}const Ka=32,In=10,Ja=({canStreamTouch:e,isInspecting:t,onHoverPoint:n,onInspectPoint:o,onSendInput:a,screen:i})=>{const s=g.useRef(null),d=g.useRef(null),c=g.useRef(!1),l=g.useRef(0),m=g.useRef(null),b=g.useRef(),[p,u]=g.useState(!1),x=g.useCallback(()=>{b.current=void 0;const w=m.current;m.current=null,!(w==null||!c.current)&&(l.current=Date.now(),a({kind:"touch",touchPhase:"move",x:w.x,y:w.y}))},[a]),v=g.useCallback(w=>{if(m.current=w,b.current!=null)return;const P=Date.now()-l.current;b.current=window.setTimeout(x,Math.max(0,Ka-P))},[x]),_=g.useCallback(()=>{b.current!=null&&(window.clearTimeout(b.current),b.current=void 0),m.current=null},[]),f=g.useCallback(()=>{s.current=null,d.current=null,c.current=!1,u(!1),_()},[_]),N=g.useCallback(w=>{if(i==null)return;w.preventDefault();const P=it(w,i);s.current=P,d.current=w.pointerId,u(!0);try{w.currentTarget.setPointerCapture(w.pointerId)}catch{}},[i]),R=g.useCallback(w=>{if(i==null)return;const P=it(w,i),y=s.current;if(y!=null&&d.current===w.pointerId&&e){if(!c.current){const M=P.x-y.x,S=P.y-y.y;Math.hypot(M,S)>In&&(c.current=!0,l.current=Date.now(),a({kind:"touch",touchPhase:"down",x:y.x,y:y.y}))}c.current&&v(P)}t&&n(P)},[e,t,n,a,v,i]),E=g.useCallback(w=>{if(i==null||d.current!=null&&d.current!==w.pointerId)return;w.preventDefault();const P=s.current,y=c.current;if(f(),P==null)return;const M=it(w,i);try{w.currentTarget.releasePointerCapture(w.pointerId)}catch{}if(y){a({kind:"touch",touchPhase:"up",x:M.x,y:M.y});return}if(t){o(M);return}const S=M.x-P.x,B=M.y-P.y;if(Math.hypot(S,B)>In){a({durationMs:240,endX:M.x,endY:M.y,kind:"swipe",x:P.x,y:P.y});return}a({kind:"tap",x:M.x,y:M.y})},[f,t,o,a,i]),T=g.useCallback(w=>{if(i==null||d.current!=null&&d.current!==w.pointerId)return;const P=it(w,i),y=c.current;f(),y&&a({kind:"touch",touchPhase:"up",x:P.x,y:P.y})},[f,a,i]),j=g.useCallback(w=>{if(i==null||t)return;w.preventDefault();const P=it(w,i);a({kind:"scroll",scrollX:-Math.max(-1,Math.min(1,w.deltaX/500)),scrollY:-Math.max(-1,Math.min(1,w.deltaY/500)),x:P.x,y:P.y})},[t,a,i]);return g.useEffect(()=>f,[f]),{handlePointerCancel:T,handlePointerDown:N,handlePointerMove:R,handlePointerUp:E,handleWheel:j,isTouching:p}};function Qa({deviceTitle:e,elementScreen:t,hoverNode:n,isInspecting:o,screenshot:a,selectedNode:i,videoDeviceId:s,videoStreamKey:d,videoSize:c,videoStatus:l,onHoverPoint:m,onInspectPoint:b,onPointerLeave:p,onSendInput:u,onVideoError:x,onVideoSizeChange:v,onVideoStatusChange:_,screenRatio:f,showDeviceTitlebar:N=!0}){const{t:R}=G(),E=s!=null&&l!=="unavailable",T=c??a,j=t??T,{handlePointerCancel:w,handlePointerDown:P,handlePointerMove:y,handlePointerUp:M,handleWheel:S,isTouching:B}=Ja({canStreamTouch:E&&l==="active",isInspecting:o,onHoverPoint:m,onInspectPoint:b,onSendInput:u,screen:T});return r.jsx("div",{className:"chat-interaction-panel-mobile-debug__screen-column",style:f==null?void 0:{"--mobile-debug-screen-ratio":String(f)},children:r.jsxs("div",{className:"chat-interaction-panel-mobile-debug__device-window","aria-label":e,children:[r.jsxs("div",{className:"chat-interaction-panel-mobile-debug__device-shell",children:[N&&r.jsx("div",{className:"chat-interaction-panel-mobile-debug__device-titlebar",title:e,children:e}),r.jsxs("div",{className:["chat-interaction-panel-mobile-debug__screen",o?"is-inspecting":"",B?"is-touching":""].filter(Boolean).join(" "),style:(T==null?void 0:T.width)!=null&&T.height!=null?{aspectRatio:`${T.width} / ${T.height}`}:void 0,onPointerDown:P,onPointerMove:y,onPointerLeave:p,onPointerUp:M,onPointerCancel:w,onWheel:S,children:[E&&r.jsx(Va,{deviceId:s,onError:x,onSizeChange:v,onStatusChange:_},`${s}:${d}`),!E&&a!=null&&r.jsx("img",{draggable:!1,src:a.imageDataUrl,alt:R("chat.interactionPanel.mobileDebugPreviewAlt")}),(T==null||E&&l!=="active")&&r.jsx("div",{className:"chat-interaction-panel-mobile-debug__screen-placeholder",children:R("chat.interactionPanel.mobileDebugPreviewLoading")}),j!=null&&(n==null?void 0:n.bounds)!=null&&r.jsx("span",{className:"chat-interaction-panel-mobile-debug__element-overlay is-hover",style:Pn(n.bounds,j)}),j!=null&&(i==null?void 0:i.bounds)!=null&&r.jsx("span",{className:"chat-interaction-panel-mobile-debug__element-overlay is-selected",style:Pn(i.bounds,j)})]})]}),r.jsx(ca,{onSendInput:u})]})})}const Za=(e,t)=>{const n=document.createElement("a"),o=e.replace(/[^\w.-]+/gu,"-");n.href=t,n.download=`oneworks-android-${o}-${Date.now()}.png`,document.body.append(n),n.click(),n.remove()},er=async e=>{var o;const t=(o=window.oneworksDesktop)==null?void 0:o.captureMobileDeviceScreenshot,n=t==null?await Jn(e):await t(e);Za(e,n.imageDataUrl)};function at({active:e,icon:t,label:n,onClick:o}){return r.jsx(Ei,{title:n,placement:"bottom",children:r.jsx(ie,{type:"text",className:`standalone-mobile-debug-route__header-action ${e?"is-active":""}`,"aria-label":n,"aria-pressed":e??void 0,onClick:o,children:r.jsx("span",{className:"material-symbols-rounded standalone-mobile-debug-route__header-action-icon","aria-hidden":"true",children:t})})})}function tr({deviceId:e,isEnvironmentPanelOpen:t,isSidePanelVisible:n,onOpenDeviceList:o,onRefresh:a,onSendInput:i,onToggleEnvironmentPanel:s,onToggleSidePanel:d}){const{t:c}=G(),l=Qn({onOpenDeviceList:o,onReconnect:a,onSendInput:i});return r.jsxs("div",{className:"chat-interaction-panel-mobile-debug__standalone-header-actions",children:[r.jsx(at,{icon:"photo_camera",label:c("chat.interactionPanel.mobileDebugScreenshot"),onClick:()=>{er(e)}}),r.jsx(at,{icon:"restart_alt",label:c("chat.interactionPanel.mobileDebugRotate"),onClick:()=>i({action:"rotate",kind:"action"})}),r.jsx(at,{active:t,icon:"settings",label:c("chat.interactionPanel.mobileDebugEnvironmentTitle"),onClick:s}),r.jsx(at,{active:!n,icon:n?"right_panel_close":"right_panel_open",label:c(n?"chat.interactionPanel.mobileDebugHideSidePanel":"chat.interactionPanel.mobileDebugShowSidePanel"),onClick:d}),r.jsx(Yn,{menu:l,placement:"bottomRight",trigger:["click"],children:r.jsx("span",{className:"standalone-mobile-debug-route__popover-trigger",children:r.jsx(at,{icon:"more_vert",label:c("chat.interactionPanel.mobileDebugMoreControls")})})})]})}const Ln=360,Fn=220,nr=78,ui=30,ir=9/19.5,Ct=6,en=e=>{const t=Number.parseFloat(e);return Number.isFinite(t)?t:0},hi=e=>{const t=e.querySelector(".chat-interaction-panel-mobile-debug__screen-column"),n=Number(window.getComputedStyle(t??e).getPropertyValue("--mobile-debug-screen-ratio").trim());if(Number.isFinite(n)&&n>0)return n;const o=e.querySelector(".chat-interaction-panel-mobile-debug__video-canvas");return o!=null&&o.width>0&&o.height>0?o.width/o.height:ir},mi=(e={})=>{const t=document.querySelector(".standalone-mobile-debug-route"),n=t==null?void 0:t.querySelector(".standalone-mobile-debug-route__header"),o=t==null?void 0:t.querySelector(".chat-interaction-panel-mobile-debug__body"),a=t==null?void 0:t.querySelector(".chat-interaction-panel-mobile-debug__preview-grid"),i=t==null?void 0:t.querySelector(".chat-interaction-panel-mobile-debug__device-window"),s=t==null?void 0:t.querySelector(".chat-interaction-panel-mobile-debug__device-controls"),d=t==null?void 0:t.querySelector(".chat-interaction-panel-mobile-debug__side-tabs");if(t==null||n==null||o==null||a==null||i==null)return;const c=window.getComputedStyle(o),l=window.getComputedStyle(a),m=en(c.paddingLeft)+en(c.paddingRight),b=en(l.columnGap),p=n.getBoundingClientRect(),u=n.querySelector(".standalone-mobile-debug-route__header-actions"),x=n.querySelector(".standalone-mobile-debug-route__traffic-space"),v=n.querySelector(".standalone-mobile-debug-route__title"),_=((x==null?void 0:x.getBoundingClientRect().width)??nr)+Math.min((v==null?void 0:v.scrollWidth)??Fn,Fn)+((u==null?void 0:u.getBoundingClientRect().width)??0)+24,f=i.getBoundingClientRect();if(!a.classList.contains("is-side-panel-hidden")){const j=Math.max((d==null?void 0:d.getBoundingClientRect().width)??0,Ln),w=a.classList.contains("is-dock-bottom")?Math.max(f.width+m,Ln,_):Math.max(f.width+b+j+m,_),P=Math.ceil(w);return{height:window.innerHeight,width:Math.max(window.innerWidth,P)}}const R=(s==null?void 0:s.getBoundingClientRect().height)??ui,E=Math.max(1,e.hiddenScreenWidth??(e.hiddenWidthMode==="device"?f.width:window.innerWidth-m)),T=hi(t);return{height:Math.ceil(p.height+R+E/T),width:Math.ceil(E+m)}},Un=e=>{var n,o;bi();const t=mi(e);t!=null&&((o=(n=window.oneworksDesktop)==null?void 0:n.setCurrentWindowContentSize)==null||o.call(n,t).catch(()=>{}))},bi=()=>{var d;const e=(d=window.oneworksDesktop)==null?void 0:d.setCurrentWindowAspectRatio,t=document.querySelector(".standalone-mobile-debug-route"),n=t==null?void 0:t.querySelector(".chat-interaction-panel-mobile-debug__preview-grid");if(e==null||t==null||n==null)return;if(!n.classList.contains("is-side-panel-hidden")){e({aspectRatio:0}).catch(()=>{});return}const o=t.querySelector(".standalone-mobile-debug-route__header"),a=t.querySelector(".chat-interaction-panel-mobile-debug__device-controls"),i=((o==null?void 0:o.getBoundingClientRect().height)??0)+((a==null?void 0:a.getBoundingClientRect().height)??ui),s={height:Math.ceil(i),width:0};e({aspectRatio:hi(t),extraSize:s}).catch(()=>{})};function or({isEnabled:e,isSidePanelVisible:t,readyDeviceId:n,videoHeight:o,videoWidth:a}){const i=g.useRef();g.useEffect(()=>{var _;if(!e||n==null)return;const s=(_=window.oneworksDesktop)==null?void 0:_.setCurrentWindowContentSize;if(s==null)return;let d,c;const l=()=>{bi();const f=mi();if(f==null)return;const N=i.current,R=N!=null&&Math.abs(N.width-f.width)<Ct&&Math.abs(N.height-f.height)<Ct,E=Math.abs(window.innerWidth-f.width)<Ct&&Math.abs(window.innerHeight-f.height)<Ct;R&&E||(i.current=f,s(f).catch(()=>{}))},m=({defer:f=!1}={})=>{if(c!=null&&window.clearTimeout(c),f){c=window.setTimeout(()=>{c=void 0,m()},80);return}d!=null&&window.cancelAnimationFrame(d),d=window.requestAnimationFrame(()=>{d=void 0,l()})},b=()=>{c!=null&&(window.clearTimeout(c),c=void 0),d!=null&&(window.cancelAnimationFrame(d),d=void 0),l()};m();const p=window.setTimeout(m,120),u=window.setTimeout(m,320),x=()=>m({defer:!0}),v=typeof ResizeObserver>"u"?void 0:new ResizeObserver(x);return document.querySelectorAll([".standalone-mobile-debug-route__header",".chat-interaction-panel-mobile-debug__body",".chat-interaction-panel-mobile-debug__device-controls",".chat-interaction-panel-mobile-debug__preview-grid",".chat-interaction-panel-mobile-debug__device-window",".chat-interaction-panel-mobile-debug__screen-column",".chat-interaction-panel-mobile-debug__side-tabs"].join(",")).forEach(f=>v==null?void 0:v.observe(f)),window.addEventListener("resize",b),()=>{var f,N;c!=null&&window.clearTimeout(c),(N=(f=window.oneworksDesktop)==null?void 0:f.setCurrentWindowAspectRatio)==null||N.call(f,{aspectRatio:0}).catch(()=>{}),window.clearTimeout(p),window.clearTimeout(u),d!=null&&window.cancelAnimationFrame(d),v==null||v.disconnect(),window.removeEventListener("resize",b)}},[e,t,n,o,a])}const ar=async(e,t,n)=>{if(t.kind!=="touch"){await n(t);return}e.current=e.current.catch(()=>{}).then(()=>n(t)),await e.current},rr=({elementTree:e,setHoverNodeId:t,setSelectedNodeId:n,toPhysicalPoint:o})=>({hoverElementAtPoint:g.useCallback(a=>{var i;t((i=sn(e==null?void 0:e.root,o(a)))==null?void 0:i.id)},[e==null?void 0:e.root,t,o]),selectElementAtPoint:g.useCallback(a=>{var i;n((i=sn(e==null?void 0:e.root,o(a)))==null?void 0:i.id)},[e==null?void 0:e.root,n,o])}),sr=(e,t)=>{var Ee,pe,ge,xe;const{t:n}=G(),[o,a]=g.useState(null),[i,s]=g.useState(null),[d,c]=g.useState(),[l,m]=g.useState(),[b,p]=g.useState(!1),[u,x]=g.useState(null),[v,_]=g.useState("starting"),[f,N]=g.useState(),[R,E]=g.useState(0),T=g.useRef(null),j=g.useRef(!1),w=g.useRef(!1),P=g.useRef(),y=g.useRef(),M=g.useRef(Promise.resolve()),S=g.useRef(),B=v==="unavailable",U=n("chat.interactionPanel.mobileDebugPreviewFailed"),k=g.useMemo(()=>rn(i==null?void 0:i.root).filter(F=>F.node.bounds!=null),[i]),A=g.useCallback(async()=>{if(!(e==null||j.current)){j.current=!0;try{const F=await xo(e);T.current=F,a(F),x(null)}catch{x(F=>T.current==null?U:F)}finally{j.current=!1}}},[U,e]),C=g.useCallback(async()=>{if(!(e==null||w.current)){w.current=!0;try{const F=await vo(e);s(F),c(te=>te==null||rn(F.root).some(Pe=>Pe.node.id===te)?te:void 0)}catch{}finally{w.current=!1}}},[e]),L=g.useCallback(()=>{N(void 0),_("starting"),E(F=>F+1)},[]),X=g.useCallback(()=>{B?A():L(),C()},[C,A,L,B]),$=g.useCallback(F=>{var te;return Uo(F,{rootBounds:(te=i==null?void 0:i.root)==null?void 0:te.bounds,screen:f,shouldScale:!B})},[(Ee=i==null?void 0:i.root)==null?void 0:Ee.bounds,B,f]);g.useEffect(()=>{let F=!1;const te=()=>{F||(y.current=window.setTimeout(()=>{tt()},Co))},Pe=()=>{!F&&document.visibilityState!=="hidden"&&C()},tt=async()=>{await A(),te()};if(S.current!==e&&(S.current=e,T.current=null,a(null),s(null),c(void 0),m(void 0),L(),x(null)),!(e==null||!t))return B&&tt(),Pe(),P.current=window.setInterval(Pe,Ao),()=>{F=!0,P.current!=null&&window.clearInterval(P.current),y.current!=null&&window.clearTimeout(y.current)}},[t,e,C,A,L,B]);const z=g.useCallback(async F=>{var te;if(e!=null)try{await yo(e,Bo(F,{rootBounds:(te=i==null?void 0:i.root)==null?void 0:te.bounds,screen:f,shouldScale:!B})),B&&window.setTimeout(()=>void A(),180),(F.kind!=="touch"||F.touchPhase==="up")&&(window.setTimeout(()=>void C(),420),window.setTimeout(()=>void C(),1100))}catch{F.kind!=="touch"&&x(n("chat.interactionPanel.mobileDebugInputFailed"))}},[(pe=i==null?void 0:i.root)==null?void 0:pe.bounds,e,C,A,B,n,f]),O=g.useCallback(F=>ar(M,F,z),[z]),J=g.useCallback(()=>{p(F=>{const te=!F;return te&&window.setTimeout(()=>void C(),0),te})},[C]),q=g.useCallback(F=>x(F||U),[U]),{hoverElementAtPoint:V,selectElementAtPoint:re}=rr({elementTree:i,setHoverNodeId:m,setSelectedNodeId:c,toPhysicalPoint:$});return{elementTree:i,error:u,flattenedNodes:k,handleVideoError:q,hoverElementAtPoint:V,hoverNode:(ge=k.find(F=>F.node.id===l))==null?void 0:ge.node,isInspecting:b,refreshPreview:X,screenshot:o,selectElementAtPoint:re,selectedNode:(xe=k.find(F=>F.node.id===d))==null?void 0:xe.node,selectedNodeId:d,sendInput:O,setHoverNodeId:m,setSelectedNodeId:c,setVideoSize:N,setVideoStatus:_,toggleInspect:J,videoSize:f,videoStatus:v,videoStreamKey:R}},Bn=()=>{var e;return(e=document.querySelector(".standalone-mobile-debug-route .chat-interaction-panel-mobile-debug__screen"))==null?void 0:e.getBoundingClientRect().width};function lr({details:e,devices:t,isActive:n,onOpenDeviceList:o,onStandaloneDeviceTitleChange:a,onStandaloneHeaderActionsChange:i}){var S,B,U,k,A,C;const s=Io(t),d=s==null?void 0:s.id,c=s==null?void 0:an(s),l=sr(d,n),[m,b]=g.useState(!0),[p,u]=g.useState(!1),[x,v]=g.useState("right"),_=i!=null,f=g.useCallback((L={})=>{_&&window.requestAnimationFrame(()=>{Un(L),window.setTimeout(()=>Un(L),120)})},[_]),N=g.useCallback(()=>{const L=Bn();u(!1),b(!1),f({hiddenScreenWidth:L,hiddenWidthMode:"device"})},[f]),R=g.useCallback(()=>{const L=m?Bn():void 0;b(X=>!X),f({hiddenScreenWidth:L,hiddenWidthMode:m?"device":"current-window"})},[m,f]),E=g.useCallback(()=>{const L=!p;u(L),L&&b(!0),f(L&&!m?{hiddenWidthMode:"current-window"}:{})},[p,m,f]),T=g.useCallback(L=>{l.sendInput(L)},[l.sendInput]),j=g.useCallback(L=>{v(L),f()},[f]),w=g.useMemo(()=>_&&s!=null?r.jsx(tr,{deviceId:s.id,isEnvironmentPanelOpen:p,isSidePanelVisible:m,onOpenDeviceList:o,onRefresh:l.refreshPreview,onSendInput:T,onToggleEnvironmentPanel:E,onToggleSidePanel:R}):null,[p,m,o,l.refreshPreview,s,T,E,R,_]);if(g.useEffect(()=>{if(i!=null)return i(w),()=>i(null)},[i,w]),or({isEnabled:_,isSidePanelVisible:m,readyDeviceId:d,videoHeight:(S=l.videoSize)==null?void 0:S.height,videoWidth:(B=l.videoSize)==null?void 0:B.width}),g.useEffect(()=>{if(!(!_||a==null)){if(c==null){a(null);return}return a(c),()=>a(null)}},[c,a,_]),s==null)return null;const P=c??an(s),y=((U=l.videoSize)==null?void 0:U.width)!=null&&l.videoSize.height>0?l.videoSize.width/l.videoSize.height:((k=l.screenshot)==null?void 0:k.width)!=null&&l.screenshot.height!=null&&l.screenshot.height>0?l.screenshot.width/l.screenshot.height:void 0,M=["chat-interaction-panel-mobile-debug__preview-grid",m?`is-dock-${x}`:"is-side-panel-hidden"].join(" ");return r.jsx("section",{className:"chat-interaction-panel-mobile-debug__preview-section",children:r.jsxs("div",{className:M,children:[r.jsx(Qa,{deviceTitle:P,elementScreen:(C=(A=l.elementTree)==null?void 0:A.root)==null?void 0:C.bounds,hoverNode:l.hoverNode,isInspecting:l.isInspecting,screenshot:l.screenshot,selectedNode:l.selectedNode,videoDeviceId:d,videoSize:l.videoSize,videoStatus:l.videoStatus,videoStreamKey:l.videoStreamKey,onHoverPoint:l.hoverElementAtPoint,onInspectPoint:l.selectElementAtPoint,onPointerLeave:()=>l.setHoverNodeId(void 0),onSendInput:T,onVideoError:l.handleVideoError,onVideoSizeChange:l.setVideoSize,onVideoStatusChange:l.setVideoStatus,screenRatio:y,showDeviceTitlebar:!_}),r.jsx(la,{details:e,deviceId:s.id,dockPosition:x,elementTree:l.elementTree,error:l.error,flattenedNodes:l.flattenedNodes,isEnvironmentPanelOpen:p,isInspecting:l.isInspecting,isSidePanelVisible:m,selectedNode:l.selectedNode,selectedNodeId:l.selectedNodeId,showInlineActions:!_,onAppliedEnvironment:l.refreshPreview,onDockPositionChange:j,onRefresh:l.refreshPreview,onRestoreSidePanel:()=>b(!0),onSelectNode:l.setSelectedNodeId,onSendInput:T,onToggleInspect:l.toggleInspect,onToggleSidePanel:N})]})})}function cr({connectionState:e,error:t,isActive:n,isLoading:o,onStandaloneDeviceTitleChange:a,onStandaloneHeaderActionsChange:i,onOpenDebugUrl:s,onOpenDeviceList:d,onReconnect:c,selectedDeviceId:l,selectedDeviceLabel:m,state:b}){const{t:p}=G(),u=(b==null?void 0:b.devices)??[],x=(b==null?void 0:b.targets)??[],v=(b==null?void 0:b.errors.filter(Boolean))??[],_=(e==null?void 0:e.errors.filter(Boolean))??v,f=(e==null?void 0:e.devices)??u,N=(b==null?void 0:b.portForwarding)??[],R=(b==null?void 0:b.adbMissing)===!0||v.includes("ADB was not found."),E=(e==null?void 0:e.adbMissing)===!0||_.includes("ADB was not found."),T=!R&&u.some(y=>y.state==="device"),j=l!=null&&e!=null&&!E&&!f.some(y=>y.id===l&&y.state==="device"),w=l==null?void 0:u.find(y=>y.id===l),P=w==null?m??l??p("chat.interactionPanel.mobileDebugDevices"):an(w);return g.useEffect(()=>{T||(i==null||i(null),a==null||a(null))},[T,a,i]),r.jsxs("div",{className:"chat-interaction-panel-mobile-debug__body",children:[t!=null&&r.jsx("div",{className:"chat-interaction-panel-mobile-debug__notice is-error",children:t}),o&&b==null&&r.jsx("div",{className:"chat-interaction-panel-mobile-debug__notice",children:p("chat.interactionPanel.mobileDebugScanning")}),T&&r.jsx(lr,{isActive:n,details:r.jsx(vn,{errors:v,isAdbMissing:R,onOpenDebugUrl:s,portForwarding:N,state:b,targets:x}),devices:u,onOpenDeviceList:d,onStandaloneDeviceTitleChange:a,onStandaloneHeaderActionsChange:i}),!T&&r.jsx(vn,{errors:v,isAdbMissing:R,onOpenDebugUrl:s,portForwarding:N,state:b,targets:x}),j&&r.jsx(dr,{deviceName:P,isReconnecting:o,onOpenDeviceList:d,onReconnect:c})]})}function dr({deviceName:e,isReconnecting:t,onOpenDeviceList:n,onReconnect:o}){const{t:a}=G();return r.jsx("div",{className:"chat-interaction-panel-mobile-debug__disconnect-overlay",children:r.jsxs("section",{className:"chat-interaction-panel-mobile-debug__disconnect-dialog",role:"alertdialog","aria-modal":"true",children:[r.jsx("span",{className:"material-symbols-rounded","aria-hidden":"true",children:"phonelink_off"}),r.jsxs("div",{className:"chat-interaction-panel-mobile-debug__disconnect-copy",children:[r.jsx("h2",{children:a("chat.interactionPanel.mobileDebugDeviceDisconnectedTitle")}),r.jsx("p",{children:a("chat.interactionPanel.mobileDebugDeviceDisconnectedDescription",{device:e})})]}),r.jsxs("div",{className:"chat-interaction-panel-mobile-debug__disconnect-actions",children:[r.jsx(ie,{type:"primary",icon:r.jsx("span",{className:"material-symbols-rounded","aria-hidden":"true",children:"sync"}),loading:t,onClick:()=>void(o==null?void 0:o()),children:a("chat.interactionPanel.mobileDebugReconnectAction")}),r.jsx(ie,{icon:r.jsx("span",{className:"material-symbols-rounded","aria-hidden":"true",children:"arrow_back"}),onClick:()=>n==null?void 0:n(),children:a("chat.interactionPanel.mobileDebugBackAction")})]})]})})}const _i="chatInteractionMobileDebugConfig",fi=e=>`${e}-${Date.now().toString(36)}-${Math.random().toString(36).slice(2,8)}`,hn=()=>({discoverNetworkTargets:!0,discoverUsbDevices:!0,networkTargets:[],portForwardingRules:[],selectedDeviceId:void 0}),ur=e=>{const t=hn();if(e==null||typeof e!="object"||Array.isArray(e))return t;const n=e;return{discoverNetworkTargets:n.discoverNetworkTargets!==!1,discoverUsbDevices:n.discoverUsbDevices!==!1,networkTargets:Array.isArray(n.networkTargets)?n.networkTargets.filter(o=>o.address.trim()!==""):[],portForwardingRules:Array.isArray(n.portForwardingRules)?n.portForwardingRules.filter(o=>o.localAddress.trim()!==""):[],selectedDeviceId:typeof n.selectedDeviceId=="string"&&n.selectedDeviceId.trim()!==""?n.selectedDeviceId.trim():void 0}},Gn=()=>{if(typeof window>"u")return hn();try{const e=window.localStorage.getItem(_i);return ur(e==null?void 0:JSON.parse(e))}catch{return hn()}},hr=e=>{try{window.localStorage.setItem(_i,JSON.stringify(e))}catch{}};function mr({config:e,onChangeConfig:t}){const{t:n}=G();return r.jsxs("div",{className:"chat-interaction-panel-mobile-debug__config-panel",children:[r.jsx("div",{className:"chat-interaction-panel-mobile-debug__config-title",children:n("chat.interactionPanel.mobileDebugPortForwarding")}),e.portForwardingRules.length===0&&r.jsx("div",{className:"chat-interaction-panel-mobile-debug__config-empty",children:n("chat.interactionPanel.mobileDebugNoPortForwardingRules")}),e.portForwardingRules.map(o=>r.jsxs("div",{className:"chat-interaction-panel-mobile-debug__config-row is-port-forward",children:[r.jsx(Ft,{checked:o.enabled!==!1,onChange:a=>t(i=>({...i,portForwardingRules:i.portForwardingRules.map(s=>s.id===o.id?{...s,enabled:a.target.checked}:s)}))}),r.jsx(Be,{inputMode:"numeric",value:o.devicePort===0?"":String(o.devicePort),placeholder:n("chat.interactionPanel.mobileDebugDevicePort"),onChange:a=>{const i=Number.parseInt(a.target.value,10);t(s=>({...s,portForwardingRules:s.portForwardingRules.map(d=>d.id===o.id?{...d,devicePort:Number.isFinite(i)?i:0}:d)}))}}),r.jsx(Be,{value:o.localAddress,placeholder:n("chat.interactionPanel.mobileDebugLocalAddress"),onChange:a=>t(i=>({...i,portForwardingRules:i.portForwardingRules.map(s=>s.id===o.id?{...s,localAddress:a.target.value}:s)}))}),r.jsx(pi,{onClick:()=>t(a=>({...a,portForwardingRules:a.portForwardingRules.filter(i=>i.id!==o.id)}))})]},o.id)),r.jsx(ie,{type:"text",className:"chat-interaction-panel-mobile-debug__add-rule",icon:r.jsx("span",{className:"material-symbols-rounded",children:"add"}),onClick:()=>t(o=>({...o,portForwardingRules:[...o.portForwardingRules,{devicePort:3e3,enabled:!0,id:fi("forward"),localAddress:"127.0.0.1:3000"}]})),children:n("chat.interactionPanel.mobileDebugAddPortForward")})]})}function br({config:e,onChangeConfig:t}){const{t:n}=G();return r.jsxs("div",{className:"chat-interaction-panel-mobile-debug__config-panel",children:[r.jsx("div",{className:"chat-interaction-panel-mobile-debug__config-title",children:n("chat.interactionPanel.mobileDebugNetworkTargets")}),e.networkTargets.length===0&&r.jsx("div",{className:"chat-interaction-panel-mobile-debug__config-empty",children:n("chat.interactionPanel.mobileDebugNoNetworkTargetsConfigured")}),e.networkTargets.map(o=>r.jsxs("div",{className:"chat-interaction-panel-mobile-debug__config-row is-network-target",children:[r.jsx(Ft,{checked:o.enabled!==!1,onChange:a=>t(i=>({...i,networkTargets:i.networkTargets.map(s=>s.id===o.id?{...s,enabled:a.target.checked}:s)}))}),r.jsx(Be,{value:o.address,placeholder:n("chat.interactionPanel.mobileDebugNetworkAddress"),onChange:a=>t(i=>({...i,networkTargets:i.networkTargets.map(s=>s.id===o.id?{...s,address:a.target.value}:s)}))}),r.jsx(pi,{onClick:()=>t(a=>({...a,networkTargets:a.networkTargets.filter(i=>i.id!==o.id)}))})]},o.id)),r.jsx(ie,{type:"text",className:"chat-interaction-panel-mobile-debug__add-rule",icon:r.jsx("span",{className:"material-symbols-rounded",children:"add"}),onClick:()=>t(o=>({...o,networkTargets:[...o.networkTargets,{address:"localhost:9222",enabled:!0,id:fi("network")}]})),children:n("chat.interactionPanel.mobileDebugAddNetworkTarget")})]})}function pi({onClick:e}){const{t}=G();return r.jsx(ie,{type:"text",className:"chat-interaction-panel-mobile-debug__remove","aria-label":t("common.remove"),icon:r.jsx("span",{className:"material-symbols-rounded",children:"close"}),onClick:e})}function _r({config:e,isAdbMissing:t,onChangeConfig:n}){const{t:o}=G();return r.jsxs("section",{className:"chat-interaction-panel-mobile-debug__settings",children:[t&&r.jsx(Vn,{}),r.jsx("div",{className:"chat-interaction-panel-mobile-debug__settings-row",children:r.jsx(Ft,{checked:e.discoverUsbDevices,onChange:a=>n(i=>({...i,discoverUsbDevices:a.target.checked})),children:o("chat.interactionPanel.mobileDebugDiscoverUsbDevices")})}),r.jsx("div",{className:"chat-interaction-panel-mobile-debug__settings-row",children:r.jsx(Ft,{checked:e.discoverNetworkTargets,onChange:a=>n(i=>({...i,discoverNetworkTargets:a.target.checked})),children:o("chat.interactionPanel.mobileDebugDiscoverNetworkTargets")})}),r.jsx(mr,{config:e,onChangeConfig:n}),r.jsx(br,{config:e,onChangeConfig:n})]})}const fr="chatInteractionMobileDebugTargetsCache",pr=3e4,gr=5e3,Lt=new Map,xr=e=>({discoverNetworkTargets:(e==null?void 0:e.discoverNetworkTargets)!==!1,discoverUsbDevices:(e==null?void 0:e.discoverUsbDevices)!==!1,networkTargets:((e==null?void 0:e.networkTargets)??[]).map(t=>({address:t.address.trim(),enabled:t.enabled!==!1,id:t.id??""})),portForwardingRules:((e==null?void 0:e.portForwardingRules)??[]).map(t=>({deviceId:t.deviceId??"",devicePort:t.devicePort,enabled:t.enabled!==!1,id:t.id??"",localAddress:t.localAddress.trim()})),selectedDeviceId:(e==null?void 0:e.selectedDeviceId)??""}),vr=e=>{let t=0;for(let n=0;n<e.length;n+=1)t=(t*31+e.charCodeAt(n))%2147483647;return t.toString(36)},gi=e=>JSON.stringify(xr(e)),xi=e=>`${fr}:${vr(e)}`,Xn=e=>e!=null&&typeof e=="object"&&!Array.isArray(e),wr=(e,t)=>{if(!Xn(t)||t.cacheKey!==e||typeof t.cachedAt!="number"||!Xn(t.state))return null;const n=t.state;return!Array.isArray(n.devices)||!Array.isArray(n.targets)||!Array.isArray(n.errors)||!Array.isArray(n.portForwarding)||typeof n.scannedAt!="number"?null:{cacheKey:e,cachedAt:t.cachedAt,state:n}},Wn=(e,t=Date.now())=>t-e.cachedAt>pr,yr=(e,t=Date.now())=>t-e.cachedAt<=gr,$n=e=>{const t=gi(e),n=Lt.get(t);if(n!=null&&!Wn(n))return n;if(n!=null&&Lt.delete(t),typeof window>"u")return null;try{const o=xi(t),a=window.sessionStorage.getItem(o),i=wr(t,a==null?void 0:JSON.parse(a));return i==null||Wn(i)?(window.sessionStorage.removeItem(o),null):(Lt.set(t,i),i)}catch{return null}},Er=(e,t)=>{const n=gi(e),o={cacheKey:n,cachedAt:Date.now(),state:t};if(Lt.set(n,o),!(typeof window>"u"))try{window.sessionStorage.setItem(xi(n),JSON.stringify(o))}catch{}},zn=3e3,tn=(e,t)=>({...e,selectedDeviceId:t});function Pr({isActive:e,isConfigMode:t,selectedDeviceId:n}){const{t:o}=G(),[a,i]=g.useState(Gn),[s,d]=g.useState(()=>{var _;return t?null:((_=$n(tn(Gn(),n)))==null?void 0:_.state)??null}),[c,l]=g.useState(null),[m,b]=g.useState(!1),p=g.useRef(!1),u=g.useCallback(_=>{i(f=>{const N=_(f);return hr(N),N})},[]),x=g.useCallback(async()=>{if(p.current)return;p.current=!0,b(!0),l(null);const _=tn(a,n);try{const f=await En(_);Er(_,f),d(f)}catch{l(o("common.operationFailed"))}finally{p.current=!1,b(!1)}},[a,n,o]),v=g.useCallback(async()=>{if(!p.current){p.current=!0;try{d(await En({discoverNetworkTargets:!1,discoverUsbDevices:!0,networkTargets:[],portForwardingRules:[]}))}catch{}finally{p.current=!1}}},[]);return g.useEffect(()=>{if(!e||t)return;const _=tn(a,n),f=$n(_);f!=null?d(f.state):d(null),(f==null||!yr(f))&&x();const N=window.setInterval(()=>void x(),zn);return()=>window.clearInterval(N)},[a,e,t,x,n]),g.useEffect(()=>{if(!e||!t)return;v();const _=window.setInterval(()=>void v(),zn);return()=>window.clearInterval(_)},[e,t,v]),{config:a,error:c,isAdbMissing:(s==null?void 0:s.adbMissing)===!0||(s==null?void 0:s.errors.includes("ADB was not found."))===!0,isLoading:m,refreshTargets:x,state:s,updateConfig:u}}function Lr({isActive:e,page:t,onChangePage:n,onOpenDebugUrl:o,onOpenDeviceDebug:a,onOpenDeviceList:i,onOpenDeviceSettings:s,onStandaloneDeviceTitleChange:d,onStandaloneHeaderActionsChange:c}){const{t:l}=G(),m=t.mode==="config",b=t.mode==="devices",{config:p,error:u,isAdbMissing:x,isLoading:v,refreshTargets:_,state:f,updateConfig:N}=Pr({isActive:e,isConfigMode:m,selectedDeviceId:t.selectedDeviceId}),[R,E]=g.useState(null),T=g.useCallback(()=>{if(i!=null){i();return}n(y=>({...y,mode:"devices"}))},[n,i]);g.useEffect(()=>{!m&&!b||(c==null||c(null),d==null||d(null))},[m,b,d,c]);const j=g.useMemo(()=>f==null||t.selectedDeviceId==null?f:{...f,devices:f.devices.filter(y=>y.id===t.selectedDeviceId),portForwarding:f.portForwarding.filter(y=>y.deviceId===t.selectedDeviceId),targets:f.targets.filter(y=>y.deviceId===t.selectedDeviceId||y.source==="network")},[t.selectedDeviceId,f]),w=(j==null?void 0:j.devices.some(y=>y.state==="device"))===!0;g.useEffect(()=>{m||b||j==null||!w||E(j)},[w,m,b,j]);const P=g.useMemo(()=>t.selectedDeviceId==null||j==null||w?j:(R==null?void 0:R.devices.some(M=>M.id===t.selectedDeviceId))===!0?R:j,[w,R,t.selectedDeviceId,j]);return g.useEffect(()=>{if(f==null||m)return;const y=t.selectedDeviceId==null?void 0:f.devices.find(U=>U.id===t.selectedDeviceId),M=t.selectedDeviceId==null?void 0:(y==null?void 0:y.label)??t.selectedDeviceLabel,S=f.devices.map(U=>({id:U.id,label:U.label,state:U.state})),B=l("chat.interactionPanel.mobileDebugTitle");n(U=>{const k=U.deviceOptions??[],A=k.length===S.length&&k.every((C,L)=>{const X=S[L];return X!=null&&C.id===X.id&&C.label===X.label&&C.state===X.state});return U.title===B&&U.selectedDeviceLabel===M&&A?U:{...U,deviceOptions:S,selectedDeviceLabel:M,title:B}})},[m,n,t.selectedDeviceId,t.selectedDeviceLabel,f,l]),r.jsx("div",{className:"chat-interaction-panel-mobile-debug",children:m?r.jsx(_r,{config:p,isAdbMissing:x,onChangeConfig:N}):b?r.jsx(ji,{error:u,isAdbMissing:x,isLoading:v,state:f,onOpenDeviceDebug:a??(()=>{}),onOpenSettings:s??(()=>{})}):r.jsx(cr,{error:u,isActive:e,isLoading:v,connectionState:j,state:P,selectedDeviceId:t.selectedDeviceId,selectedDeviceLabel:t.selectedDeviceLabel,onOpenDebugUrl:o,onOpenDeviceList:T,onReconnect:_,onStandaloneDeviceTitleChange:d,onStandaloneHeaderActionsChange:c})})}const Fr=e=>({id:`mobile-debug-${Date.now().toString(36)}-${Math.random().toString(36).slice(2,8)}`,mode:"targets",title:e});export{Lr as I,Fr as c,En as l};
|