@rainmanhhh/pi-web 0.30.2 → 0.30.3
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/server.mjs +1 -1
- package/dist/static/assets/{CodeMirrorEditor-C977oO6x.js → CodeMirrorEditor-BdjBXbAu.js} +1 -1
- package/dist/static/assets/{abnfDiagram-VCTEODGH-BlKvMe36.js → abnfDiagram-VCTEODGH-C-DazedD.js} +1 -1
- package/dist/static/assets/architecture-7GRP2DOG-D94pR9BK.js +1 -0
- package/dist/static/assets/{architectureDiagram-5GKGNRK7-BaFtSiJx.js → architectureDiagram-5GKGNRK7-2sbvgbj3.js} +1 -1
- package/dist/static/assets/{blockDiagram-I7D4REHJ-COdX6_qH.js → blockDiagram-I7D4REHJ-CR9mAn3X.js} +1 -1
- package/dist/static/assets/{c4Diagram-7LVT6UL2-93faYR5i.js → c4Diagram-7LVT6UL2-D4NupQy1.js} +1 -1
- package/dist/static/assets/channel-D6pyEzE_.js +1 -0
- package/dist/static/assets/{chunk-4HAMMTFA-DrTn8Fnl.js → chunk-4HAMMTFA-Dhdrn22k.js} +1 -1
- package/dist/static/assets/{chunk-75Z2AOVW-DQciIWNT.js → chunk-75Z2AOVW-GVi0fDoO.js} +1 -1
- package/dist/static/assets/{chunk-DU6HZSFF-Zu_GKPpB.js → chunk-DU6HZSFF-Cz-6e-UD.js} +3 -3
- package/dist/static/assets/{chunk-F27PBJKO-CY6TcHhj.js → chunk-F27PBJKO-IF2Mgd4W.js} +1 -1
- package/dist/static/assets/{chunk-GMAD6QVW-DSHEQh50.js → chunk-GMAD6QVW-BypvylM0.js} +1 -1
- package/dist/static/assets/{chunk-GVQU2GXP-z2vzIII9.js → chunk-GVQU2GXP-BOJ1j5MH.js} +1 -1
- package/dist/static/assets/{chunk-IMKFNOWR-B93MCpZp.js → chunk-IMKFNOWR-FcMyUk9X.js} +1 -1
- package/dist/static/assets/{chunk-L3NEJ4N5-DUsLAMhU.js → chunk-L3NEJ4N5-weevmIJL.js} +1 -1
- package/dist/static/assets/{chunk-OSK3NFVY-BEa_-8I7.js → chunk-OSK3NFVY-C0Bp2Dbx.js} +1 -1
- package/dist/static/assets/{chunk-P2QGCYS3-DDzTZY3V.js → chunk-P2QGCYS3-D586ztTx.js} +1 -1
- package/dist/static/assets/{chunk-POPQ4Y6H-BoQpGT-y.js → chunk-POPQ4Y6H-BjyGV1uV.js} +1 -1
- package/dist/static/assets/{chunk-PWAF6VOD-DFjGepCe.js → chunk-PWAF6VOD-n9MeAgGz.js} +1 -1
- package/dist/static/assets/{chunk-SHT3W25Y-3nKSC2TI.js → chunk-SHT3W25Y-Cfv0bm9H.js} +1 -1
- package/dist/static/assets/{chunk-SVP7TREG-6M3Ub80I.js → chunk-SVP7TREG-BB4tjFAv.js} +1 -1
- package/dist/static/assets/{chunk-TICWLB2K-DmJjyYrT.js → chunk-TICWLB2K-CT9HyIss.js} +1 -1
- package/dist/static/assets/classDiagram-ZZMXUADV-Dz_w-o90.js +1 -0
- package/dist/static/assets/classDiagram-v2-VYDZK3BY-Dz_w-o90.js +1 -0
- package/dist/static/assets/{cynefin-OW5HDTMX-DHWST-ep.js → cynefin-OW5HDTMX-DnzauHz0.js} +1 -1
- package/dist/static/assets/{cynefinDiagram-5FMLGOSQ-BnVsGwyF.js → cynefinDiagram-5FMLGOSQ-tKpEvouY.js} +1 -1
- package/dist/static/assets/{dagre-GXQ25YYZ-DS20jO-W.js → dagre-GXQ25YYZ-CKx6r6-a.js} +1 -1
- package/dist/static/assets/{diagram-S7CK7UJ4-CkARCoHg.js → diagram-S7CK7UJ4-BjkBRq0m.js} +1 -1
- package/dist/static/assets/{diagram-UQ7AKVKN-Cm59ZJS8.js → diagram-UQ7AKVKN-DpLVCq82.js} +1 -1
- package/dist/static/assets/{diagram-VSXAHHWV-DZbnOEvc.js → diagram-VSXAHHWV-isNUF9jg.js} +1 -1
- package/dist/static/assets/{diagram-VX7I27RA-Dn0n_aAL.js → diagram-VX7I27RA-BDDx_WBy.js} +1 -1
- package/dist/static/assets/{diagram-Z3DM3KII-CMMjKBun.js → diagram-Z3DM3KII-Cz6rLZyT.js} +1 -1
- package/dist/static/assets/{ebnfDiagram-PWID7BFC-DV7opUaC.js → ebnfDiagram-PWID7BFC-CMucsaoC.js} +1 -1
- package/dist/static/assets/{erDiagram-RLTQ6QDP-CIEhwnum.js → erDiagram-RLTQ6QDP-BqvZ7hXq.js} +1 -1
- package/dist/static/assets/eventmodeling-NTZA5JFV-BfkZMi-7.js +1 -0
- package/dist/static/assets/flowDiagram-HODETNUW-Dnv6RNvo.js +1 -0
- package/dist/static/assets/{ganttDiagram-EL5Y4UJY-DnZcDXbC.js → ganttDiagram-EL5Y4UJY-D4sM1jna.js} +1 -1
- package/dist/static/assets/{gitGraph-4MIJSDKK-0WqcmZVe.js → gitGraph-4MIJSDKK-iCoxeLfo.js} +1 -1
- package/dist/static/assets/{gitGraphDiagram-WWUBYQGX-gqsU0T77.js → gitGraphDiagram-WWUBYQGX-6RzP5Zl1.js} +1 -1
- package/dist/static/assets/{highlighted-body-KPVGNVTW-Bft0zFjz.js → highlighted-body-KPVGNVTW-D7hUguUj.js} +1 -1
- package/dist/static/assets/{index-Bhgm_ZLg.js → index-C95npAes.js} +15 -15
- package/dist/static/assets/{info-A6RAGUB7-BcdfQ9CN.js → info-A6RAGUB7-BZlmw7Nd.js} +1 -1
- package/dist/static/assets/{infoDiagram-27XIBGKW-iqI6lxsm.js → infoDiagram-27XIBGKW-Bu_-eZS0.js} +1 -1
- package/dist/static/assets/{ishikawaDiagram-5VMMS53U-DXywLvyP.js → ishikawaDiagram-5VMMS53U-BSxpRKgt.js} +1 -1
- package/dist/static/assets/{journeyDiagram-3NMN7TZE-BefXHJlH.js → journeyDiagram-3NMN7TZE-DDYI0spZ.js} +1 -1
- package/dist/static/assets/{kanban-definition-UXKFOSKX-CNnYlotb.js → kanban-definition-UXKFOSKX-CjzRiGGg.js} +1 -1
- package/dist/static/assets/{line-0COjYnL2.js → line-Bm_6ifjM.js} +1 -1
- package/dist/static/assets/mermaid-HWGCJPDP-YY9BnlW5.js +1 -0
- package/dist/static/assets/{mermaid-parser.core-DxjDwNsG.js → mermaid-parser.core-D7XrD_3p.js} +3 -3
- package/dist/static/assets/{mermaid.core-DhiobuMJ.js → mermaid.core-WW6XcH9h.js} +4 -4
- package/dist/static/assets/{mindmap-definition-YA3MSWOX-DwFbSsDZ.js → mindmap-definition-YA3MSWOX-CRGUXdgR.js} +1 -1
- package/dist/static/assets/{packet-AYTQ26CC-DZ1JUWhw.js → packet-AYTQ26CC-O-nQeUxq.js} +1 -1
- package/dist/static/assets/{pegDiagram-XKGWAZYB-D3svyZMG.js → pegDiagram-XKGWAZYB-BP7B7k9-.js} +1 -1
- package/dist/static/assets/{pie-WAS4IAKB-C8V5xuMx.js → pie-WAS4IAKB-CeHdnYz6.js} +1 -1
- package/dist/static/assets/{pieDiagram-E7YTZNPT-gtXKp02I.js → pieDiagram-E7YTZNPT-CyUqOPjp.js} +1 -1
- package/dist/static/assets/{quadrantDiagram-AXDQQJYC-B0lbE6Zu.js → quadrantDiagram-AXDQQJYC-DJDQ5E7U.js} +1 -1
- package/dist/static/assets/{radar-RG4KPBEZ-BUGkSBrl.js → radar-RG4KPBEZ-7Po1w_NU.js} +1 -1
- package/dist/static/assets/{railroad-74A4TZTK-C41P0Tu-.js → railroad-74A4TZTK-DyAnKRk5.js} +1 -1
- package/dist/static/assets/railroad-abnf-HS5TGJTU-BkObNos8.js +1 -0
- package/dist/static/assets/railroad-ebnf-LZEXJU2U-Cz7c230D.js +1 -0
- package/dist/static/assets/railroad-peg-WCYAUIDC-Bx8FLagw.js +1 -0
- package/dist/static/assets/{railroadDiagram-O6MQD6OU-BhWphjYR.js → railroadDiagram-O6MQD6OU-CzoiKcww.js} +1 -1
- package/dist/static/assets/{requirementDiagram-BXWQKSXE-DpO-1Rx8.js → requirementDiagram-BXWQKSXE-BK-ay3XY.js} +1 -1
- package/dist/static/assets/{sankeyDiagram-P5KCCOFB-8zwUh018.js → sankeyDiagram-P5KCCOFB-BbJB9Ur5.js} +1 -1
- package/dist/static/assets/{sequenceDiagram-WJ2MYXX4-CS3uv4en.js → sequenceDiagram-WJ2MYXX4-SiB3y-GX.js} +1 -1
- package/dist/static/assets/{stateDiagram-D77RDMKH-DB9LHiNg.js → stateDiagram-D77RDMKH-C94C96p0.js} +1 -1
- package/dist/static/assets/stateDiagram-v2-MP3YSRHH-DJnPEqEs.js +1 -0
- package/dist/static/assets/{swimlanes-42K2YHIH-BDKrB5X9.js → swimlanes-42K2YHIH-BEuH8-pX.js} +1 -1
- package/dist/static/assets/swimlanesDiagram-VR7AAH4N-D1ol0aOD.js +8 -0
- package/dist/static/assets/{timeline-definition-24CTP7MA-D94nSvYk.js → timeline-definition-24CTP7MA-DNP7YJYO.js} +1 -1
- package/dist/static/assets/{treeView-Q6P3EWNA-DzhLm5zE.js → treeView-Q6P3EWNA-CmNApmMZ.js} +1 -1
- package/dist/static/assets/{treemap-WGGIJYW6-lZYzl6Cf.js → treemap-WGGIJYW6-DHbO318y.js} +1 -1
- package/dist/static/assets/{vennDiagram-4TSXK5OY-Bjiv62rM.js → vennDiagram-4TSXK5OY-Dz3uJdZ2.js} +1 -1
- package/dist/static/assets/{wardley-WFR3VGLG-BApHm70T.js → wardley-WFR3VGLG-BeZWVK-7.js} +1 -1
- package/dist/static/assets/{wardleyDiagram-VM6X3IG4-ClPiIK2j.js → wardleyDiagram-VM6X3IG4-BRWoP86y.js} +1 -1
- package/dist/static/assets/{xychartDiagram-S5SC5T6Z-H7TUbjHx.js → xychartDiagram-S5SC5T6Z-DtDFRRGr.js} +1 -1
- package/dist/static/index.html +1 -1
- package/package.json +1 -1
- package/dist/static/assets/architecture-7GRP2DOG-DU8p5v5Y.js +0 -1
- package/dist/static/assets/channel-CmsvfHnO.js +0 -1
- package/dist/static/assets/classDiagram-ZZMXUADV-BJny1hiN.js +0 -1
- package/dist/static/assets/classDiagram-v2-VYDZK3BY-BJny1hiN.js +0 -1
- package/dist/static/assets/eventmodeling-NTZA5JFV-CtT_KtPx.js +0 -1
- package/dist/static/assets/flowDiagram-HODETNUW-Cz3F3148.js +0 -1
- package/dist/static/assets/mermaid-HWGCJPDP-DwVcOTbA.js +0 -1
- package/dist/static/assets/railroad-abnf-HS5TGJTU-uIRlMq50.js +0 -1
- package/dist/static/assets/railroad-ebnf-LZEXJU2U-3xgUDHRa.js +0 -1
- package/dist/static/assets/railroad-peg-WCYAUIDC-CRIjDGDr.js +0 -1
- package/dist/static/assets/stateDiagram-v2-MP3YSRHH-Dtb8Idk1.js +0 -1
- package/dist/static/assets/swimlanesDiagram-VR7AAH4N-bcHsnX3y.js +0 -8
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/highlighted-body-KPVGNVTW-
|
|
1
|
+
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/highlighted-body-KPVGNVTW-D7hUguUj.js","assets/rolldown-runtime-hePW80VL.js","assets/mermaid.core-WW6XcH9h.js","assets/chunk-75Z2AOVW-GVi0fDoO.js","assets/chunk-Y2CYZVJY-DsF7k-Jl.js","assets/src-B6xuSHsQ.js","assets/chunk-DU6HZSFF-Cz-6e-UD.js","assets/dist-v5Q1xZ2K.js","assets/chunk-PWAF6VOD-n9MeAgGz.js","assets/chunk-GMAD6QVW-BypvylM0.js","assets/chunk-P2QGCYS3-D586ztTx.js","assets/chunk-4HAMMTFA-Dhdrn22k.js","assets/rough.esm-Dy-Kn_BL.js","assets/chunk-GVQU2GXP-BOJ1j5MH.js","assets/chunk-OSK3NFVY-C0Bp2Dbx.js","assets/line-Bm_6ifjM.js","assets/path-fybaL0A-.js","assets/array-BifhSqXX.js","assets/graphlib-DS17s2tU.js","assets/chunk-L3NEJ4N5-weevmIJL.js","assets/CodeMirrorEditor-BdjBXbAu.js"])))=>i.map(i=>d[i]);
|
|
2
2
|
import{n as e,r as t,t as n}from"./rolldown-runtime-hePW80VL.js";(function(){let e=document.createElement(`link`).relList;if(e&&e.supports&&e.supports(`modulepreload`))return;for(let e of document.querySelectorAll(`link[rel="modulepreload"]`))n(e);new MutationObserver(e=>{for(let t of e)if(t.type===`childList`)for(let e of t.addedNodes)e.tagName===`LINK`&&e.rel===`modulepreload`&&n(e)}).observe(document,{childList:!0,subtree:!0});function t(e){let t={};return e.integrity&&(t.integrity=e.integrity),e.referrerPolicy&&(t.referrerPolicy=e.referrerPolicy),t.credentials=e.crossOrigin===`use-credentials`?`include`:e.crossOrigin===`anonymous`?`omit`:`same-origin`,t}function n(e){if(e.ep)return;e.ep=!0;let n=t(e);fetch(e.href,n)}})();var r=n((e=>{var t=Symbol.for(`react.transitional.element`),n=Symbol.for(`react.portal`),r=Symbol.for(`react.fragment`),i=Symbol.for(`react.strict_mode`),a=Symbol.for(`react.profiler`),o=Symbol.for(`react.consumer`),s=Symbol.for(`react.context`),c=Symbol.for(`react.forward_ref`),l=Symbol.for(`react.suspense`),u=Symbol.for(`react.memo`),d=Symbol.for(`react.lazy`),f=Symbol.for(`react.activity`),p=Symbol.iterator;function m(e){return typeof e!=`object`||!e?null:(e=p&&e[p]||e[`@@iterator`],typeof e==`function`?e:null)}var h={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},g=Object.assign,_={};function v(e,t,n){this.props=e,this.context=t,this.refs=_,this.updater=n||h}v.prototype.isReactComponent={},v.prototype.setState=function(e,t){if(typeof e!=`object`&&typeof e!=`function`&&e!=null)throw Error(`takes an object of state variables to update or a function which returns an object of state variables.`);this.updater.enqueueSetState(this,e,t,`setState`)},v.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,`forceUpdate`)};function y(){}y.prototype=v.prototype;function b(e,t,n){this.props=e,this.context=t,this.refs=_,this.updater=n||h}var x=b.prototype=new y;x.constructor=b,g(x,v.prototype),x.isPureReactComponent=!0;var S=Array.isArray;function C(){}var w={H:null,A:null,T:null,S:null},T=Object.prototype.hasOwnProperty;function E(e,n,r){var i=r.ref;return{$$typeof:t,type:e,key:n,ref:i===void 0?null:i,props:r}}function D(e,t){return E(e.type,t,e.props)}function O(e){return typeof e==`object`&&!!e&&e.$$typeof===t}function k(e){var t={"=":`=0`,":":`=2`};return`$`+e.replace(/[=:]/g,function(e){return t[e]})}var A=/\/+/g;function j(e,t){return typeof e==`object`&&e&&e.key!=null?k(``+e.key):t.toString(36)}function M(e){switch(e.status){case`fulfilled`:return e.value;case`rejected`:throw e.reason;default:switch(typeof e.status==`string`?e.then(C,C):(e.status=`pending`,e.then(function(t){e.status===`pending`&&(e.status=`fulfilled`,e.value=t)},function(t){e.status===`pending`&&(e.status=`rejected`,e.reason=t)})),e.status){case`fulfilled`:return e.value;case`rejected`:throw e.reason}}throw e}function N(e,r,i,a,o){var s=typeof e;(s===`undefined`||s===`boolean`)&&(e=null);var c=!1;if(e===null)c=!0;else switch(s){case`bigint`:case`string`:case`number`:c=!0;break;case`object`:switch(e.$$typeof){case t:case n:c=!0;break;case d:return c=e._init,N(c(e._payload),r,i,a,o)}}if(c)return o=o(e),c=a===``?`.`+j(e,0):a,S(o)?(i=``,c!=null&&(i=c.replace(A,`$&/`)+`/`),N(o,r,i,``,function(e){return e})):o!=null&&(O(o)&&(o=D(o,i+(o.key==null||e&&e.key===o.key?``:(``+o.key).replace(A,`$&/`)+`/`)+c)),r.push(o)),1;c=0;var l=a===``?`.`:a+`:`;if(S(e))for(var u=0;u<e.length;u++)a=e[u],s=l+j(a,u),c+=N(a,r,i,s,o);else if(u=m(e),typeof u==`function`)for(e=u.call(e),u=0;!(a=e.next()).done;)a=a.value,s=l+j(a,u++),c+=N(a,r,i,s,o);else if(s===`object`){if(typeof e.then==`function`)return N(M(e),r,i,a,o);throw r=String(e),Error(`Objects are not valid as a React child (found: `+(r===`[object Object]`?`object with keys {`+Object.keys(e).join(`, `)+`}`:r)+`). If you meant to render a collection of children, use an array instead.`)}return c}function ee(e,t,n){if(e==null)return e;var r=[],i=0;return N(e,r,``,``,function(e){return t.call(n,e,i++)}),r}function te(e){if(e._status===-1){var t=e._result;t=t(),t.then(function(t){(e._status===0||e._status===-1)&&(e._status=1,e._result=t)},function(t){(e._status===0||e._status===-1)&&(e._status=2,e._result=t)}),e._status===-1&&(e._status=0,e._result=t)}if(e._status===1)return e._result.default;throw e._result}var P=typeof reportError==`function`?reportError:function(e){if(typeof window==`object`&&typeof window.ErrorEvent==`function`){var t=new window.ErrorEvent(`error`,{bubbles:!0,cancelable:!0,message:typeof e==`object`&&e&&typeof e.message==`string`?String(e.message):String(e),error:e});if(!window.dispatchEvent(t))return}else if(typeof process==`object`&&typeof process.emit==`function`){process.emit(`uncaughtException`,e);return}console.error(e)},ne={map:ee,forEach:function(e,t,n){ee(e,function(){t.apply(this,arguments)},n)},count:function(e){var t=0;return ee(e,function(){t++}),t},toArray:function(e){return ee(e,function(e){return e})||[]},only:function(e){if(!O(e))throw Error(`React.Children.only expected to receive a single React element child.`);return e}};e.Activity=f,e.Children=ne,e.Component=v,e.Fragment=r,e.Profiler=a,e.PureComponent=b,e.StrictMode=i,e.Suspense=l,e.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE=w,e.__COMPILER_RUNTIME={__proto__:null,c:function(e){return w.H.useMemoCache(e)}},e.cache=function(e){return function(){return e.apply(null,arguments)}},e.cacheSignal=function(){return null},e.cloneElement=function(e,t,n){if(e==null)throw Error(`The argument must be a React element, but you passed `+e+`.`);var r=g({},e.props),i=e.key;if(t!=null)for(a in t.key!==void 0&&(i=``+t.key),t)!T.call(t,a)||a===`key`||a===`__self`||a===`__source`||a===`ref`&&t.ref===void 0||(r[a]=t[a]);var a=arguments.length-2;if(a===1)r.children=n;else if(1<a){for(var o=Array(a),s=0;s<a;s++)o[s]=arguments[s+2];r.children=o}return E(e.type,i,r)},e.createContext=function(e){return e={$$typeof:s,_currentValue:e,_currentValue2:e,_threadCount:0,Provider:null,Consumer:null},e.Provider=e,e.Consumer={$$typeof:o,_context:e},e},e.createElement=function(e,t,n){var r,i={},a=null;if(t!=null)for(r in t.key!==void 0&&(a=``+t.key),t)T.call(t,r)&&r!==`key`&&r!==`__self`&&r!==`__source`&&(i[r]=t[r]);var o=arguments.length-2;if(o===1)i.children=n;else if(1<o){for(var s=Array(o),c=0;c<o;c++)s[c]=arguments[c+2];i.children=s}if(e&&e.defaultProps)for(r in o=e.defaultProps,o)i[r]===void 0&&(i[r]=o[r]);return E(e,a,i)},e.createRef=function(){return{current:null}},e.forwardRef=function(e){return{$$typeof:c,render:e}},e.isValidElement=O,e.lazy=function(e){return{$$typeof:d,_payload:{_status:-1,_result:e},_init:te}},e.memo=function(e,t){return{$$typeof:u,type:e,compare:t===void 0?null:t}},e.startTransition=function(e){var t=w.T,n={};w.T=n;try{var r=e(),i=w.S;i!==null&&i(n,r),typeof r==`object`&&r&&typeof r.then==`function`&&r.then(C,P)}catch(e){P(e)}finally{t!==null&&n.types!==null&&(t.types=n.types),w.T=t}},e.unstable_useCacheRefresh=function(){return w.H.useCacheRefresh()},e.use=function(e){return w.H.use(e)},e.useActionState=function(e,t,n){return w.H.useActionState(e,t,n)},e.useCallback=function(e,t){return w.H.useCallback(e,t)},e.useContext=function(e){return w.H.useContext(e)},e.useDebugValue=function(){},e.useDeferredValue=function(e,t){return w.H.useDeferredValue(e,t)},e.useEffect=function(e,t){return w.H.useEffect(e,t)},e.useEffectEvent=function(e){return w.H.useEffectEvent(e)},e.useId=function(){return w.H.useId()},e.useImperativeHandle=function(e,t,n){return w.H.useImperativeHandle(e,t,n)},e.useInsertionEffect=function(e,t){return w.H.useInsertionEffect(e,t)},e.useLayoutEffect=function(e,t){return w.H.useLayoutEffect(e,t)},e.useMemo=function(e,t){return w.H.useMemo(e,t)},e.useOptimistic=function(e,t){return w.H.useOptimistic(e,t)},e.useReducer=function(e,t,n){return w.H.useReducer(e,t,n)},e.useRef=function(e){return w.H.useRef(e)},e.useState=function(e){return w.H.useState(e)},e.useSyncExternalStore=function(e,t,n){return w.H.useSyncExternalStore(e,t,n)},e.useTransition=function(){return w.H.useTransition()},e.version=`19.2.8`})),i=n(((e,t)=>{t.exports=r()})),a=n((e=>{function t(e,t){var n=e.length;e.push(t);a:for(;0<n;){var r=n-1>>>1,a=e[r];if(0<i(a,t))e[r]=t,e[n]=a,n=r;else break a}}function n(e){return e.length===0?null:e[0]}function r(e){if(e.length===0)return null;var t=e[0],n=e.pop();if(n!==t){e[0]=n;a:for(var r=0,a=e.length,o=a>>>1;r<o;){var s=2*(r+1)-1,c=e[s],l=s+1,u=e[l];if(0>i(c,n))l<a&&0>i(u,c)?(e[r]=u,e[l]=n,r=l):(e[r]=c,e[s]=n,r=s);else if(l<a&&0>i(u,n))e[r]=u,e[l]=n,r=l;else break a}}return t}function i(e,t){var n=e.sortIndex-t.sortIndex;return n===0?e.id-t.id:n}if(e.unstable_now=void 0,typeof performance==`object`&&typeof performance.now==`function`){var a=performance;e.unstable_now=function(){return a.now()}}else{var o=Date,s=o.now();e.unstable_now=function(){return o.now()-s}}var c=[],l=[],u=1,d=null,f=3,p=!1,m=!1,h=!1,g=!1,_=typeof setTimeout==`function`?setTimeout:null,v=typeof clearTimeout==`function`?clearTimeout:null,y=typeof setImmediate<`u`?setImmediate:null;function b(e){for(var i=n(l);i!==null;){if(i.callback===null)r(l);else if(i.startTime<=e)r(l),i.sortIndex=i.expirationTime,t(c,i);else break;i=n(l)}}function x(e){if(h=!1,b(e),!m){if(n(c)!==null)m=!0,S||(S=!0,O());else{var t=n(l);t!==null&&j(x,t.startTime-e)}}}var S=!1,C=-1,w=5,T=-1;function E(){return g?!0:!(e.unstable_now()-T<w)}function D(){if(g=!1,S){var t=e.unstable_now();T=t;var i=!0;try{a:{m=!1,h&&(h=!1,v(C),C=-1),p=!0;var a=f;try{b:{for(b(t),d=n(c);d!==null&&!(d.expirationTime>t&&E());){var o=d.callback;if(typeof o==`function`){d.callback=null,f=d.priorityLevel;var s=o(d.expirationTime<=t);if(t=e.unstable_now(),typeof s==`function`){d.callback=s,b(t),i=!0;break b}d===n(c)&&r(c),b(t)}else r(c);d=n(c)}if(d!==null)i=!0;else{var u=n(l);u!==null&&j(x,u.startTime-t),i=!1}}break a}finally{d=null,f=a,p=!1}i=void 0}}finally{i?O():S=!1}}}var O;if(typeof y==`function`)O=function(){y(D)};else if(typeof MessageChannel<`u`){var k=new MessageChannel,A=k.port2;k.port1.onmessage=D,O=function(){A.postMessage(null)}}else O=function(){_(D,0)};function j(t,n){C=_(function(){t(e.unstable_now())},n)}e.unstable_IdlePriority=5,e.unstable_ImmediatePriority=1,e.unstable_LowPriority=4,e.unstable_NormalPriority=3,e.unstable_Profiling=null,e.unstable_UserBlockingPriority=2,e.unstable_cancelCallback=function(e){e.callback=null},e.unstable_forceFrameRate=function(e){0>e||125<e?console.error(`forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported`):w=0<e?Math.floor(1e3/e):5},e.unstable_getCurrentPriorityLevel=function(){return f},e.unstable_next=function(e){switch(f){case 1:case 2:case 3:var t=3;break;default:t=f}var n=f;f=t;try{return e()}finally{f=n}},e.unstable_requestPaint=function(){g=!0},e.unstable_runWithPriority=function(e,t){switch(e){case 1:case 2:case 3:case 4:case 5:break;default:e=3}var n=f;f=e;try{return t()}finally{f=n}},e.unstable_scheduleCallback=function(r,i,a){var o=e.unstable_now();switch(typeof a==`object`&&a?(a=a.delay,a=typeof a==`number`&&0<a?o+a:o):a=o,r){case 1:var s=-1;break;case 2:s=250;break;case 5:s=1073741823;break;case 4:s=1e4;break;default:s=5e3}return s=a+s,r={id:u++,callback:i,priorityLevel:r,startTime:a,expirationTime:s,sortIndex:-1},a>o?(r.sortIndex=a,t(l,r),n(c)===null&&r===n(l)&&(h?(v(C),C=-1):h=!0,j(x,a-o))):(r.sortIndex=s,t(c,r),m||p||(m=!0,S||(S=!0,O()))),r},e.unstable_shouldYield=E,e.unstable_wrapCallback=function(e){var t=f;return function(){var n=f;f=t;try{return e.apply(this,arguments)}finally{f=n}}}})),o=n(((e,t)=>{t.exports=a()})),s=n((e=>{var t=i();function n(e){var t=`https://react.dev/errors/`+e;if(1<arguments.length){t+=`?args[]=`+encodeURIComponent(arguments[1]);for(var n=2;n<arguments.length;n++)t+=`&args[]=`+encodeURIComponent(arguments[n])}return`Minified React error #`+e+`; visit `+t+` for the full message or use the non-minified dev environment for full errors and additional helpful warnings.`}function r(){}var a={d:{f:r,r:function(){throw Error(n(522))},D:r,C:r,L:r,m:r,X:r,S:r,M:r},p:0,findDOMNode:null},o=Symbol.for(`react.portal`);function s(e,t,n){var r=3<arguments.length&&arguments[3]!==void 0?arguments[3]:null;return{$$typeof:o,key:r==null?null:``+r,children:e,containerInfo:t,implementation:n}}var c=t.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE;function l(e,t){if(e===`font`)return``;if(typeof t==`string`)return t===`use-credentials`?t:``}e.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE=a,e.createPortal=function(e,t){var r=2<arguments.length&&arguments[2]!==void 0?arguments[2]:null;if(!t||t.nodeType!==1&&t.nodeType!==9&&t.nodeType!==11)throw Error(n(299));return s(e,t,null,r)},e.flushSync=function(e){var t=c.T,n=a.p;try{if(c.T=null,a.p=2,e)return e()}finally{c.T=t,a.p=n,a.d.f()}},e.preconnect=function(e,t){typeof e==`string`&&(t?(t=t.crossOrigin,t=typeof t==`string`?t===`use-credentials`?t:``:void 0):t=null,a.d.C(e,t))},e.prefetchDNS=function(e){typeof e==`string`&&a.d.D(e)},e.preinit=function(e,t){if(typeof e==`string`&&t&&typeof t.as==`string`){var n=t.as,r=l(n,t.crossOrigin),i=typeof t.integrity==`string`?t.integrity:void 0,o=typeof t.fetchPriority==`string`?t.fetchPriority:void 0;n===`style`?a.d.S(e,typeof t.precedence==`string`?t.precedence:void 0,{crossOrigin:r,integrity:i,fetchPriority:o}):n===`script`&&a.d.X(e,{crossOrigin:r,integrity:i,fetchPriority:o,nonce:typeof t.nonce==`string`?t.nonce:void 0})}},e.preinitModule=function(e,t){if(typeof e==`string`){if(typeof t==`object`&&t){if(t.as==null||t.as===`script`){var n=l(t.as,t.crossOrigin);a.d.M(e,{crossOrigin:n,integrity:typeof t.integrity==`string`?t.integrity:void 0,nonce:typeof t.nonce==`string`?t.nonce:void 0})}}else t??a.d.M(e)}},e.preload=function(e,t){if(typeof e==`string`&&typeof t==`object`&&t&&typeof t.as==`string`){var n=t.as,r=l(n,t.crossOrigin);a.d.L(e,n,{crossOrigin:r,integrity:typeof t.integrity==`string`?t.integrity:void 0,nonce:typeof t.nonce==`string`?t.nonce:void 0,type:typeof t.type==`string`?t.type:void 0,fetchPriority:typeof t.fetchPriority==`string`?t.fetchPriority:void 0,referrerPolicy:typeof t.referrerPolicy==`string`?t.referrerPolicy:void 0,imageSrcSet:typeof t.imageSrcSet==`string`?t.imageSrcSet:void 0,imageSizes:typeof t.imageSizes==`string`?t.imageSizes:void 0,media:typeof t.media==`string`?t.media:void 0})}},e.preloadModule=function(e,t){if(typeof e==`string`){if(t){var n=l(t.as,t.crossOrigin);a.d.m(e,{as:typeof t.as==`string`&&t.as!==`script`?t.as:void 0,crossOrigin:n,integrity:typeof t.integrity==`string`?t.integrity:void 0})}else a.d.m(e)}},e.requestFormReset=function(e){a.d.r(e)},e.unstable_batchedUpdates=function(e,t){return e(t)},e.useFormState=function(e,t,n){return c.H.useFormState(e,t,n)},e.useFormStatus=function(){return c.H.useHostTransitionStatus()},e.version=`19.2.8`})),c=n(((e,t)=>{function n(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>`u`||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!=`function`))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(n)}catch(e){console.error(e)}}n(),t.exports=s()})),l=n((e=>{var t=o(),n=i(),r=c();function a(e){var t=`https://react.dev/errors/`+e;if(1<arguments.length){t+=`?args[]=`+encodeURIComponent(arguments[1]);for(var n=2;n<arguments.length;n++)t+=`&args[]=`+encodeURIComponent(arguments[n])}return`Minified React error #`+e+`; visit `+t+` for the full message or use the non-minified dev environment for full errors and additional helpful warnings.`}function s(e){return!(!e||e.nodeType!==1&&e.nodeType!==9&&e.nodeType!==11)}function l(e){var t=e,n=e;if(e.alternate)for(;t.return;)t=t.return;else{e=t;do t=e,t.flags&4098&&(n=t.return),e=t.return;while(e)}return t.tag===3?n:null}function u(e){if(e.tag===13){var t=e.memoizedState;if(t===null&&(e=e.alternate,e!==null&&(t=e.memoizedState)),t!==null)return t.dehydrated}return null}function d(e){if(e.tag===31){var t=e.memoizedState;if(t===null&&(e=e.alternate,e!==null&&(t=e.memoizedState)),t!==null)return t.dehydrated}return null}function f(e){if(l(e)!==e)throw Error(a(188))}function p(e){var t=e.alternate;if(!t){if(t=l(e),t===null)throw Error(a(188));return t===e?e:null}for(var n=e,r=t;;){var i=n.return;if(i===null)break;var o=i.alternate;if(o===null){if(r=i.return,r!==null){n=r;continue}break}if(i.child===o.child){for(o=i.child;o;){if(o===n)return f(i),e;if(o===r)return f(i),t;o=o.sibling}throw Error(a(188))}if(n.return!==r.return)n=i,r=o;else{for(var s=!1,c=i.child;c;){if(c===n){s=!0,n=i,r=o;break}if(c===r){s=!0,r=i,n=o;break}c=c.sibling}if(!s){for(c=o.child;c;){if(c===n){s=!0,n=o,r=i;break}if(c===r){s=!0,r=o,n=i;break}c=c.sibling}if(!s)throw Error(a(189))}}if(n.alternate!==r)throw Error(a(190))}if(n.tag!==3)throw Error(a(188));return n.stateNode.current===n?e:t}function m(e){var t=e.tag;if(t===5||t===26||t===27||t===6)return e;for(e=e.child;e!==null;){if(t=m(e),t!==null)return t;e=e.sibling}return null}var h=Object.assign,g=Symbol.for(`react.element`),_=Symbol.for(`react.transitional.element`),v=Symbol.for(`react.portal`),y=Symbol.for(`react.fragment`),b=Symbol.for(`react.strict_mode`),x=Symbol.for(`react.profiler`),S=Symbol.for(`react.consumer`),C=Symbol.for(`react.context`),w=Symbol.for(`react.forward_ref`),T=Symbol.for(`react.suspense`),E=Symbol.for(`react.suspense_list`),D=Symbol.for(`react.memo`),O=Symbol.for(`react.lazy`),k=Symbol.for(`react.activity`),A=Symbol.for(`react.memo_cache_sentinel`),j=Symbol.iterator;function M(e){return typeof e!=`object`||!e?null:(e=j&&e[j]||e[`@@iterator`],typeof e==`function`?e:null)}var N=Symbol.for(`react.client.reference`);function ee(e){if(e==null)return null;if(typeof e==`function`)return e.$$typeof===N?null:e.displayName||e.name||null;if(typeof e==`string`)return e;switch(e){case y:return`Fragment`;case x:return`Profiler`;case b:return`StrictMode`;case T:return`Suspense`;case E:return`SuspenseList`;case k:return`Activity`}if(typeof e==`object`)switch(e.$$typeof){case v:return`Portal`;case C:return e.displayName||`Context`;case S:return(e._context.displayName||`Context`)+`.Consumer`;case w:var t=e.render;return e=e.displayName,e||=(e=t.displayName||t.name||``,e===``?`ForwardRef`:`ForwardRef(`+e+`)`),e;case D:return t=e.displayName||null,t===null?ee(e.type)||`Memo`:t;case O:t=e._payload,e=e._init;try{return ee(e(t))}catch{}}return null}var te=Array.isArray,P=n.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,ne=r.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,re={pending:!1,data:null,method:null,action:null},ie=[],ae=-1;function oe(e){return{current:e}}function se(e){0>ae||(e.current=ie[ae],ie[ae]=null,ae--)}function ce(e,t){ae++,ie[ae]=e.current,e.current=t}var le=oe(null),ue=oe(null),de=oe(null),fe=oe(null);function pe(e,t){switch(ce(de,t),ce(ue,e),ce(le,null),t.nodeType){case 9:case 11:e=(e=t.documentElement)&&(e=e.namespaceURI)?rf(e):0;break;default:if(e=t.tagName,t=t.namespaceURI)t=rf(t),e=af(t,e);else switch(e){case`svg`:e=1;break;case`math`:e=2;break;default:e=0}}se(le),ce(le,e)}function me(){se(le),se(ue),se(de)}function he(e){e.memoizedState!==null&&ce(fe,e);var t=le.current,n=af(t,e.type);t!==n&&(ce(ue,e),ce(le,n))}function ge(e){ue.current===e&&(se(le),se(ue)),fe.current===e&&(se(fe),mp._currentValue=re)}var _e,ve;function ye(e){if(_e===void 0)try{throw Error()}catch(e){var t=e.stack.trim().match(/\n( *(at )?)/);_e=t&&t[1]||``,ve=-1<e.stack.indexOf(`
|
|
3
3
|
at`)?` (<anonymous>)`:-1<e.stack.indexOf(`@`)?`@unknown:0:0`:``}return`
|
|
4
4
|
`+_e+e+ve}var be=!1;function xe(e,t){if(!e||be)return``;be=!0;var n=Error.prepareStackTrace;Error.prepareStackTrace=void 0;try{var r={DetermineComponentFrameRoot:function(){try{if(t){var n=function(){throw Error()};if(Object.defineProperty(n.prototype,"props",{set:function(){throw Error()}}),typeof Reflect==`object`&&Reflect.construct){try{Reflect.construct(n,[])}catch(e){var r=e}Reflect.construct(e,[],n)}else{try{n.call()}catch(e){r=e}e.call(n.prototype)}}else{try{throw Error()}catch(e){r=e}(n=e())&&typeof n.catch==`function`&&n.catch(function(){})}}catch(e){if(e&&r&&typeof e.stack==`string`)return[e.stack,r.stack]}return[null,null]}};r.DetermineComponentFrameRoot.displayName=`DetermineComponentFrameRoot`;var i=Object.getOwnPropertyDescriptor(r.DetermineComponentFrameRoot,`name`);i&&i.configurable&&Object.defineProperty(r.DetermineComponentFrameRoot,"name",{value:`DetermineComponentFrameRoot`});var a=r.DetermineComponentFrameRoot(),o=a[0],s=a[1];if(o&&s){var c=o.split(`
|
|
@@ -7,7 +7,7 @@ import{n as e,r as t,t as n}from"./rolldown-runtime-hePW80VL.js";(function(){let
|
|
|
7
7
|
`+c[r].replace(` at new `,` at `);return e.displayName&&u.includes(`<anonymous>`)&&(u=u.replace(`<anonymous>`,e.displayName)),u}while(1<=r&&0<=i);break}}}finally{be=!1,Error.prepareStackTrace=n}return(n=e?e.displayName||e.name:``)?ye(n):``}function Se(e,t){switch(e.tag){case 26:case 27:case 5:return ye(e.type);case 16:return ye(`Lazy`);case 13:return e.child!==t&&t!==null?ye(`Suspense Fallback`):ye(`Suspense`);case 19:return ye(`SuspenseList`);case 0:case 15:return xe(e.type,!1);case 11:return xe(e.type.render,!1);case 1:return xe(e.type,!0);case 31:return ye(`Activity`);default:return``}}function Ce(e){try{var t=``,n=null;do t+=Se(e,n),n=e,e=e.return;while(e);return t}catch(e){return`
|
|
8
8
|
Error generating stack: `+e.message+`
|
|
9
9
|
`+e.stack}}var we=Object.prototype.hasOwnProperty,Te=t.unstable_scheduleCallback,Ee=t.unstable_cancelCallback,De=t.unstable_shouldYield,Oe=t.unstable_requestPaint,ke=t.unstable_now,Ae=t.unstable_getCurrentPriorityLevel,je=t.unstable_ImmediatePriority,Me=t.unstable_UserBlockingPriority,Ne=t.unstable_NormalPriority,Pe=t.unstable_LowPriority,Fe=t.unstable_IdlePriority,Ie=t.log,Le=t.unstable_setDisableYieldValue,Re=null,ze=null;function Be(e){if(typeof Ie==`function`&&Le(e),ze&&typeof ze.setStrictMode==`function`)try{ze.setStrictMode(Re,e)}catch{}}var Ve=Math.clz32?Math.clz32:We,He=Math.log,Ue=Math.LN2;function We(e){return e>>>=0,e===0?32:31-(He(e)/Ue|0)|0}var Ge=256,Ke=262144,qe=4194304;function Je(e){var t=e&42;if(t!==0)return t;switch(e&-e){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:return 64;case 128:return 128;case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:return e&261888;case 262144:case 524288:case 1048576:case 2097152:return e&3932160;case 4194304:case 8388608:case 16777216:case 33554432:return e&62914560;case 67108864:return 67108864;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 0;default:return e}}function Ye(e,t,n){var r=e.pendingLanes;if(r===0)return 0;var i=0,a=e.suspendedLanes,o=e.pingedLanes;e=e.warmLanes;var s=r&134217727;return s===0?(s=r&~a,s===0?o===0?n||(n=r&~e,n!==0&&(i=Je(n))):i=Je(o):i=Je(s)):(r=s&~a,r===0?(o&=s,o===0?n||(n=s&~e,n!==0&&(i=Je(n))):i=Je(o)):i=Je(r)),i===0?0:t!==0&&t!==i&&(t&a)===0&&(a=i&-i,n=t&-t,a>=n||a===32&&n&4194048)?t:i}function Xe(e,t){return(e.pendingLanes&~(e.suspendedLanes&~e.pingedLanes)&t)===0}function Ze(e,t){switch(e){case 1:case 2:case 4:case 8:case 64:return t+250;case 16:case 32:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return t+5e3;case 4194304:case 8388608:case 16777216:case 33554432:return-1;case 67108864:case 134217728:case 268435456:case 536870912:case 1073741824:return-1;default:return-1}}function Qe(){var e=qe;return qe<<=1,!(qe&62914560)&&(qe=4194304),e}function $e(e){for(var t=[],n=0;31>n;n++)t.push(e);return t}function et(e,t){e.pendingLanes|=t,t!==268435456&&(e.suspendedLanes=0,e.pingedLanes=0,e.warmLanes=0)}function tt(e,t,n,r,i,a){var o=e.pendingLanes;e.pendingLanes=n,e.suspendedLanes=0,e.pingedLanes=0,e.warmLanes=0,e.expiredLanes&=n,e.entangledLanes&=n,e.errorRecoveryDisabledLanes&=n,e.shellSuspendCounter=0;var s=e.entanglements,c=e.expirationTimes,l=e.hiddenUpdates;for(n=o&~n;0<n;){var u=31-Ve(n),d=1<<u;s[u]=0,c[u]=-1;var f=l[u];if(f!==null)for(l[u]=null,u=0;u<f.length;u++){var p=f[u];p!==null&&(p.lane&=-536870913)}n&=~d}r!==0&&nt(e,r,0),a!==0&&i===0&&e.tag!==0&&(e.suspendedLanes|=a&~(o&~t))}function nt(e,t,n){e.pendingLanes|=t,e.suspendedLanes&=~t;var r=31-Ve(t);e.entangledLanes|=t,e.entanglements[r]=e.entanglements[r]|1073741824|n&261930}function rt(e,t){var n=e.entangledLanes|=t;for(e=e.entanglements;n;){var r=31-Ve(n),i=1<<r;i&t|e[r]&t&&(e[r]|=t),n&=~i}}function it(e,t){var n=t&-t;return n=n&42?1:at(n),(n&(e.suspendedLanes|t))===0?n:0}function at(e){switch(e){case 2:e=1;break;case 8:e=4;break;case 32:e=16;break;case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:case 4194304:case 8388608:case 16777216:case 33554432:e=128;break;case 268435456:e=134217728;break;default:e=0}return e}function ot(e){return e&=-e,2<e?8<e?e&134217727?32:268435456:8:2}function st(){var e=ne.p;return e===0?(e=window.event,e===void 0?32:Ap(e.type)):e}function ct(e,t){var n=ne.p;try{return ne.p=e,t()}finally{ne.p=n}}var lt=Math.random().toString(36).slice(2),ut=`__reactFiber$`+lt,dt=`__reactProps$`+lt,ft=`__reactContainer$`+lt,pt=`__reactEvents$`+lt,mt=`__reactListeners$`+lt,ht=`__reactHandles$`+lt,gt=`__reactResources$`+lt,_t=`__reactMarker$`+lt;function vt(e){delete e[ut],delete e[dt],delete e[pt],delete e[mt],delete e[ht]}function yt(e){var t=e[ut];if(t)return t;for(var n=e.parentNode;n;){if(t=n[ft]||n[ut]){if(n=t.alternate,t.child!==null||n!==null&&n.child!==null)for(e=Df(e);e!==null;){if(n=e[ut])return n;e=Df(e)}return t}e=n,n=e.parentNode}return null}function bt(e){if(e=e[ut]||e[ft]){var t=e.tag;if(t===5||t===6||t===13||t===31||t===26||t===27||t===3)return e}return null}function xt(e){var t=e.tag;if(t===5||t===26||t===27||t===6)return e.stateNode;throw Error(a(33))}function St(e){var t=e[gt];return t||=e[gt]={hoistableStyles:new Map,hoistableScripts:new Map},t}function Ct(e){e[_t]=!0}var wt=new Set,Tt={};function Et(e,t){Dt(e,t),Dt(e+`Capture`,t)}function Dt(e,t){for(Tt[e]=t,e=0;e<t.length;e++)wt.add(t[e])}var Ot=RegExp(`^[:A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD][:A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD\\-.0-9\\u00B7\\u0300-\\u036F\\u203F-\\u2040]*$`),kt={},At={};function jt(e){return we.call(At,e)?!0:we.call(kt,e)?!1:Ot.test(e)?At[e]=!0:(kt[e]=!0,!1)}function Mt(e,t,n){if(jt(t)){if(n===null)e.removeAttribute(t);else{switch(typeof n){case`undefined`:case`function`:case`symbol`:e.removeAttribute(t);return;case`boolean`:var r=t.toLowerCase().slice(0,5);if(r!==`data-`&&r!==`aria-`){e.removeAttribute(t);return}}e.setAttribute(t,``+n)}}}function Nt(e,t,n){if(n===null)e.removeAttribute(t);else{switch(typeof n){case`undefined`:case`function`:case`symbol`:case`boolean`:e.removeAttribute(t);return}e.setAttribute(t,``+n)}}function Pt(e,t,n,r){if(r===null)e.removeAttribute(n);else{switch(typeof r){case`undefined`:case`function`:case`symbol`:case`boolean`:e.removeAttribute(n);return}e.setAttributeNS(t,n,``+r)}}function Ft(e){switch(typeof e){case`bigint`:case`boolean`:case`number`:case`string`:case`undefined`:return e;case`object`:return e;default:return``}}function It(e){var t=e.type;return(e=e.nodeName)&&e.toLowerCase()===`input`&&(t===`checkbox`||t===`radio`)}function Lt(e,t,n){var r=Object.getOwnPropertyDescriptor(e.constructor.prototype,t);if(!e.hasOwnProperty(t)&&r!==void 0&&typeof r.get==`function`&&typeof r.set==`function`){var i=r.get,a=r.set;return Object.defineProperty(e,t,{configurable:!0,get:function(){return i.call(this)},set:function(e){n=``+e,a.call(this,e)}}),Object.defineProperty(e,t,{enumerable:r.enumerable}),{getValue:function(){return n},setValue:function(e){n=``+e},stopTracking:function(){e._valueTracker=null,delete e[t]}}}}function Rt(e){if(!e._valueTracker){var t=It(e)?`checked`:`value`;e._valueTracker=Lt(e,t,``+e[t])}}function zt(e){if(!e)return!1;var t=e._valueTracker;if(!t)return!0;var n=t.getValue(),r=``;return e&&(r=It(e)?e.checked?`true`:`false`:e.value),e=r,e!==n&&(t.setValue(e),!0)}function Bt(e){if(e||=typeof document<`u`?document:void 0,e===void 0)return null;try{return e.activeElement||e.body}catch{return e.body}}var Vt=/[\n"\\]/g;function Ht(e){return e.replace(Vt,function(e){return`\\`+e.charCodeAt(0).toString(16)+` `})}function Ut(e,t,n,r,i,a,o,s){e.name=``,o!=null&&typeof o!=`function`&&typeof o!=`symbol`&&typeof o!=`boolean`?e.type=o:e.removeAttribute(`type`),t==null?o!==`submit`&&o!==`reset`||e.removeAttribute(`value`):o===`number`?(t===0&&e.value===``||e.value!=t)&&(e.value=``+Ft(t)):e.value!==``+Ft(t)&&(e.value=``+Ft(t)),t==null?n==null?r!=null&&e.removeAttribute(`value`):Gt(e,o,Ft(n)):Gt(e,o,Ft(t)),i==null&&a!=null&&(e.defaultChecked=!!a),i!=null&&(e.checked=i&&typeof i!=`function`&&typeof i!=`symbol`),s!=null&&typeof s!=`function`&&typeof s!=`symbol`&&typeof s!=`boolean`?e.name=``+Ft(s):e.removeAttribute(`name`)}function Wt(e,t,n,r,i,a,o,s){if(a!=null&&typeof a!=`function`&&typeof a!=`symbol`&&typeof a!=`boolean`&&(e.type=a),t!=null||n!=null){if(!(a!==`submit`&&a!==`reset`||t!=null)){Rt(e);return}n=n==null?``:``+Ft(n),t=t==null?n:``+Ft(t),s||t===e.value||(e.value=t),e.defaultValue=t}r??=i,r=typeof r!=`function`&&typeof r!=`symbol`&&!!r,e.checked=s?e.checked:!!r,e.defaultChecked=!!r,o!=null&&typeof o!=`function`&&typeof o!=`symbol`&&typeof o!=`boolean`&&(e.name=o),Rt(e)}function Gt(e,t,n){t===`number`&&Bt(e.ownerDocument)===e||e.defaultValue===``+n||(e.defaultValue=``+n)}function Kt(e,t,n,r){if(e=e.options,t){t={};for(var i=0;i<n.length;i++)t[`$`+n[i]]=!0;for(n=0;n<e.length;n++)i=t.hasOwnProperty(`$`+e[n].value),e[n].selected!==i&&(e[n].selected=i),i&&r&&(e[n].defaultSelected=!0)}else{for(n=``+Ft(n),t=null,i=0;i<e.length;i++){if(e[i].value===n){e[i].selected=!0,r&&(e[i].defaultSelected=!0);return}t!==null||e[i].disabled||(t=e[i])}t!==null&&(t.selected=!0)}}function qt(e,t,n){if(t!=null&&(t=``+Ft(t),t!==e.value&&(e.value=t),n==null)){e.defaultValue!==t&&(e.defaultValue=t);return}e.defaultValue=n==null?``:``+Ft(n)}function Jt(e,t,n,r){if(t==null){if(r!=null){if(n!=null)throw Error(a(92));if(te(r)){if(1<r.length)throw Error(a(93));r=r[0]}n=r}n??=``,t=n}n=Ft(t),e.defaultValue=n,r=e.textContent,r===n&&r!==``&&r!==null&&(e.value=r),Rt(e)}function Yt(e,t){if(t){var n=e.firstChild;if(n&&n===e.lastChild&&n.nodeType===3){n.nodeValue=t;return}}e.textContent=t}var Xt=new Set(`animationIterationCount aspectRatio borderImageOutset borderImageSlice borderImageWidth boxFlex boxFlexGroup boxOrdinalGroup columnCount columns flex flexGrow flexPositive flexShrink flexNegative flexOrder gridArea gridRow gridRowEnd gridRowSpan gridRowStart gridColumn gridColumnEnd gridColumnSpan gridColumnStart fontWeight lineClamp lineHeight opacity order orphans scale tabSize widows zIndex zoom fillOpacity floodOpacity stopOpacity strokeDasharray strokeDashoffset strokeMiterlimit strokeOpacity strokeWidth MozAnimationIterationCount MozBoxFlex MozBoxFlexGroup MozLineClamp msAnimationIterationCount msFlex msZoom msFlexGrow msFlexNegative msFlexOrder msFlexPositive msFlexShrink msGridColumn msGridColumnSpan msGridRow msGridRowSpan WebkitAnimationIterationCount WebkitBoxFlex WebKitBoxFlexGroup WebkitBoxOrdinalGroup WebkitColumnCount WebkitColumns WebkitFlex WebkitFlexGrow WebkitFlexPositive WebkitFlexShrink WebkitLineClamp`.split(` `));function Zt(e,t,n){var r=t.indexOf(`--`)===0;n==null||typeof n==`boolean`||n===``?r?e.setProperty(t,``):t===`float`?e.cssFloat=``:e[t]=``:r?e.setProperty(t,n):typeof n!=`number`||n===0||Xt.has(t)?t===`float`?e.cssFloat=n:e[t]=(``+n).trim():e[t]=n+`px`}function Qt(e,t,n){if(t!=null&&typeof t!=`object`)throw Error(a(62));if(e=e.style,n!=null){for(var r in n)!n.hasOwnProperty(r)||t!=null&&t.hasOwnProperty(r)||(r.indexOf(`--`)===0?e.setProperty(r,``):r===`float`?e.cssFloat=``:e[r]=``);for(var i in t)r=t[i],t.hasOwnProperty(i)&&n[i]!==r&&Zt(e,i,r)}else for(var o in t)t.hasOwnProperty(o)&&Zt(e,o,t[o])}function $t(e){if(e.indexOf(`-`)===-1)return!1;switch(e){case`annotation-xml`:case`color-profile`:case`font-face`:case`font-face-src`:case`font-face-uri`:case`font-face-format`:case`font-face-name`:case`missing-glyph`:return!1;default:return!0}}var en=new Map([[`acceptCharset`,`accept-charset`],[`htmlFor`,`for`],[`httpEquiv`,`http-equiv`],[`crossOrigin`,`crossorigin`],[`accentHeight`,`accent-height`],[`alignmentBaseline`,`alignment-baseline`],[`arabicForm`,`arabic-form`],[`baselineShift`,`baseline-shift`],[`capHeight`,`cap-height`],[`clipPath`,`clip-path`],[`clipRule`,`clip-rule`],[`colorInterpolation`,`color-interpolation`],[`colorInterpolationFilters`,`color-interpolation-filters`],[`colorProfile`,`color-profile`],[`colorRendering`,`color-rendering`],[`dominantBaseline`,`dominant-baseline`],[`enableBackground`,`enable-background`],[`fillOpacity`,`fill-opacity`],[`fillRule`,`fill-rule`],[`floodColor`,`flood-color`],[`floodOpacity`,`flood-opacity`],[`fontFamily`,`font-family`],[`fontSize`,`font-size`],[`fontSizeAdjust`,`font-size-adjust`],[`fontStretch`,`font-stretch`],[`fontStyle`,`font-style`],[`fontVariant`,`font-variant`],[`fontWeight`,`font-weight`],[`glyphName`,`glyph-name`],[`glyphOrientationHorizontal`,`glyph-orientation-horizontal`],[`glyphOrientationVertical`,`glyph-orientation-vertical`],[`horizAdvX`,`horiz-adv-x`],[`horizOriginX`,`horiz-origin-x`],[`imageRendering`,`image-rendering`],[`letterSpacing`,`letter-spacing`],[`lightingColor`,`lighting-color`],[`markerEnd`,`marker-end`],[`markerMid`,`marker-mid`],[`markerStart`,`marker-start`],[`overlinePosition`,`overline-position`],[`overlineThickness`,`overline-thickness`],[`paintOrder`,`paint-order`],[`panose-1`,`panose-1`],[`pointerEvents`,`pointer-events`],[`renderingIntent`,`rendering-intent`],[`shapeRendering`,`shape-rendering`],[`stopColor`,`stop-color`],[`stopOpacity`,`stop-opacity`],[`strikethroughPosition`,`strikethrough-position`],[`strikethroughThickness`,`strikethrough-thickness`],[`strokeDasharray`,`stroke-dasharray`],[`strokeDashoffset`,`stroke-dashoffset`],[`strokeLinecap`,`stroke-linecap`],[`strokeLinejoin`,`stroke-linejoin`],[`strokeMiterlimit`,`stroke-miterlimit`],[`strokeOpacity`,`stroke-opacity`],[`strokeWidth`,`stroke-width`],[`textAnchor`,`text-anchor`],[`textDecoration`,`text-decoration`],[`textRendering`,`text-rendering`],[`transformOrigin`,`transform-origin`],[`underlinePosition`,`underline-position`],[`underlineThickness`,`underline-thickness`],[`unicodeBidi`,`unicode-bidi`],[`unicodeRange`,`unicode-range`],[`unitsPerEm`,`units-per-em`],[`vAlphabetic`,`v-alphabetic`],[`vHanging`,`v-hanging`],[`vIdeographic`,`v-ideographic`],[`vMathematical`,`v-mathematical`],[`vectorEffect`,`vector-effect`],[`vertAdvY`,`vert-adv-y`],[`vertOriginX`,`vert-origin-x`],[`vertOriginY`,`vert-origin-y`],[`wordSpacing`,`word-spacing`],[`writingMode`,`writing-mode`],[`xmlnsXlink`,`xmlns:xlink`],[`xHeight`,`x-height`]]),tn=/^[\u0000-\u001F ]*j[\r\n\t]*a[\r\n\t]*v[\r\n\t]*a[\r\n\t]*s[\r\n\t]*c[\r\n\t]*r[\r\n\t]*i[\r\n\t]*p[\r\n\t]*t[\r\n\t]*:/i;function nn(e){return tn.test(``+e)?`javascript:throw new Error('React has blocked a javascript: URL as a security precaution.')`:e}function rn(){}var an=null;function on(e){return e=e.target||e.srcElement||window,e.correspondingUseElement&&(e=e.correspondingUseElement),e.nodeType===3?e.parentNode:e}var sn=null,cn=null;function ln(e){var t=bt(e);if(t&&(e=t.stateNode)){var n=e[dt]||null;a:switch(e=t.stateNode,t.type){case`input`:if(Ut(e,n.value,n.defaultValue,n.defaultValue,n.checked,n.defaultChecked,n.type,n.name),t=n.name,n.type===`radio`&&t!=null){for(n=e;n.parentNode;)n=n.parentNode;for(n=n.querySelectorAll(`input[name="`+Ht(``+t)+`"][type="radio"]`),t=0;t<n.length;t++){var r=n[t];if(r!==e&&r.form===e.form){var i=r[dt]||null;if(!i)throw Error(a(90));Ut(r,i.value,i.defaultValue,i.defaultValue,i.checked,i.defaultChecked,i.type,i.name)}}for(t=0;t<n.length;t++)r=n[t],r.form===e.form&&zt(r)}break a;case`textarea`:qt(e,n.value,n.defaultValue);break a;case`select`:t=n.value,t!=null&&Kt(e,!!n.multiple,t,!1)}}}var un=!1;function dn(e,t,n){if(un)return e(t,n);un=!0;try{return e(t)}finally{if(un=!1,(sn!==null||cn!==null)&&(Pu(),sn&&(t=sn,e=cn,cn=sn=null,ln(t),e)))for(t=0;t<e.length;t++)ln(e[t])}}function fn(e,t){var n=e.stateNode;if(n===null)return null;var r=n[dt]||null;if(r===null)return null;n=r[t];a:switch(t){case`onClick`:case`onClickCapture`:case`onDoubleClick`:case`onDoubleClickCapture`:case`onMouseDown`:case`onMouseDownCapture`:case`onMouseMove`:case`onMouseMoveCapture`:case`onMouseUp`:case`onMouseUpCapture`:case`onMouseEnter`:(r=!r.disabled)||(e=e.type,r=e!==`button`&&e!==`input`&&e!==`select`&&e!==`textarea`),e=!r;break a;default:e=!1}if(e)return null;if(n&&typeof n!=`function`)throw Error(a(231,t,typeof n));return n}var pn=!(typeof window>`u`||window.document===void 0||window.document.createElement===void 0),mn=!1;if(pn)try{var hn={};Object.defineProperty(hn,"passive",{get:function(){mn=!0}}),window.addEventListener(`test`,hn,hn),window.removeEventListener(`test`,hn,hn)}catch{mn=!1}var gn=null,_n=null,vn=null;function yn(){if(vn)return vn;var e,t=_n,n=t.length,r,i=`value`in gn?gn.value:gn.textContent,a=i.length;for(e=0;e<n&&t[e]===i[e];e++);var o=n-e;for(r=1;r<=o&&t[n-r]===i[a-r];r++);return vn=i.slice(e,1<r?1-r:void 0)}function bn(e){var t=e.keyCode;return`charCode`in e?(e=e.charCode,e===0&&t===13&&(e=13)):e=t,e===10&&(e=13),32<=e||e===13?e:0}function xn(){return!0}function Sn(){return!1}function Cn(e){function t(t,n,r,i,a){for(var o in this._reactName=t,this._targetInst=r,this.type=n,this.nativeEvent=i,this.target=a,this.currentTarget=null,e)e.hasOwnProperty(o)&&(t=e[o],this[o]=t?t(i):i[o]);return this.isDefaultPrevented=(i.defaultPrevented==null?!1===i.returnValue:i.defaultPrevented)?xn:Sn,this.isPropagationStopped=Sn,this}return h(t.prototype,{preventDefault:function(){this.defaultPrevented=!0;var e=this.nativeEvent;e&&(e.preventDefault?e.preventDefault():typeof e.returnValue!=`unknown`&&(e.returnValue=!1),this.isDefaultPrevented=xn)},stopPropagation:function(){var e=this.nativeEvent;e&&(e.stopPropagation?e.stopPropagation():typeof e.cancelBubble!=`unknown`&&(e.cancelBubble=!0),this.isPropagationStopped=xn)},persist:function(){},isPersistent:xn}),t}var wn={eventPhase:0,bubbles:0,cancelable:0,timeStamp:function(e){return e.timeStamp||Date.now()},defaultPrevented:0,isTrusted:0},Tn=Cn(wn),En=h({},wn,{view:0,detail:0}),Dn=Cn(En),On,kn,An,jn=h({},En,{screenX:0,screenY:0,clientX:0,clientY:0,pageX:0,pageY:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,getModifierState:Hn,button:0,buttons:0,relatedTarget:function(e){return e.relatedTarget===void 0?e.fromElement===e.srcElement?e.toElement:e.fromElement:e.relatedTarget},movementX:function(e){return`movementX`in e?e.movementX:(e!==An&&(An&&e.type===`mousemove`?(On=e.screenX-An.screenX,kn=e.screenY-An.screenY):kn=On=0,An=e),On)},movementY:function(e){return`movementY`in e?e.movementY:kn}}),Mn=Cn(jn),Nn=Cn(h({},jn,{dataTransfer:0})),Pn=Cn(h({},En,{relatedTarget:0})),Fn=Cn(h({},wn,{animationName:0,elapsedTime:0,pseudoElement:0})),In=Cn(h({},wn,{clipboardData:function(e){return`clipboardData`in e?e.clipboardData:window.clipboardData}})),Ln=Cn(h({},wn,{data:0})),Rn={Esc:`Escape`,Spacebar:` `,Left:`ArrowLeft`,Up:`ArrowUp`,Right:`ArrowRight`,Down:`ArrowDown`,Del:`Delete`,Win:`OS`,Menu:`ContextMenu`,Apps:`ContextMenu`,Scroll:`ScrollLock`,MozPrintableKey:`Unidentified`},zn={8:`Backspace`,9:`Tab`,12:`Clear`,13:`Enter`,16:`Shift`,17:`Control`,18:`Alt`,19:`Pause`,20:`CapsLock`,27:`Escape`,32:` `,33:`PageUp`,34:`PageDown`,35:`End`,36:`Home`,37:`ArrowLeft`,38:`ArrowUp`,39:`ArrowRight`,40:`ArrowDown`,45:`Insert`,46:`Delete`,112:`F1`,113:`F2`,114:`F3`,115:`F4`,116:`F5`,117:`F6`,118:`F7`,119:`F8`,120:`F9`,121:`F10`,122:`F11`,123:`F12`,144:`NumLock`,145:`ScrollLock`,224:`Meta`},Bn={Alt:`altKey`,Control:`ctrlKey`,Meta:`metaKey`,Shift:`shiftKey`};function Vn(e){var t=this.nativeEvent;return t.getModifierState?t.getModifierState(e):(e=Bn[e])?!!t[e]:!1}function Hn(){return Vn}var Un=Cn(h({},En,{key:function(e){if(e.key){var t=Rn[e.key]||e.key;if(t!==`Unidentified`)return t}return e.type===`keypress`?(e=bn(e),e===13?`Enter`:String.fromCharCode(e)):e.type===`keydown`||e.type===`keyup`?zn[e.keyCode]||`Unidentified`:``},code:0,location:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,repeat:0,locale:0,getModifierState:Hn,charCode:function(e){return e.type===`keypress`?bn(e):0},keyCode:function(e){return e.type===`keydown`||e.type===`keyup`?e.keyCode:0},which:function(e){return e.type===`keypress`?bn(e):e.type===`keydown`||e.type===`keyup`?e.keyCode:0}})),Wn=Cn(h({},jn,{pointerId:0,width:0,height:0,pressure:0,tangentialPressure:0,tiltX:0,tiltY:0,twist:0,pointerType:0,isPrimary:0})),Gn=Cn(h({},En,{touches:0,targetTouches:0,changedTouches:0,altKey:0,metaKey:0,ctrlKey:0,shiftKey:0,getModifierState:Hn})),Kn=Cn(h({},wn,{propertyName:0,elapsedTime:0,pseudoElement:0})),qn=Cn(h({},jn,{deltaX:function(e){return`deltaX`in e?e.deltaX:`wheelDeltaX`in e?-e.wheelDeltaX:0},deltaY:function(e){return`deltaY`in e?e.deltaY:`wheelDeltaY`in e?-e.wheelDeltaY:`wheelDelta`in e?-e.wheelDelta:0},deltaZ:0,deltaMode:0})),Jn=Cn(h({},wn,{newState:0,oldState:0})),Yn=[9,13,27,32],Xn=pn&&`CompositionEvent`in window,Zn=null;pn&&`documentMode`in document&&(Zn=document.documentMode);var Qn=pn&&`TextEvent`in window&&!Zn,$n=pn&&(!Xn||Zn&&8<Zn&&11>=Zn),er=` `,tr=!1;function nr(e,t){switch(e){case`keyup`:return Yn.indexOf(t.keyCode)!==-1;case`keydown`:return t.keyCode!==229;case`keypress`:case`mousedown`:case`focusout`:return!0;default:return!1}}function rr(e){return e=e.detail,typeof e==`object`&&`data`in e?e.data:null}var ir=!1;function ar(e,t){switch(e){case`compositionend`:return rr(t);case`keypress`:return t.which===32?(tr=!0,er):null;case`textInput`:return e=t.data,e===er&&tr?null:e;default:return null}}function or(e,t){if(ir)return e===`compositionend`||!Xn&&nr(e,t)?(e=yn(),vn=_n=gn=null,ir=!1,e):null;switch(e){case`paste`:return null;case`keypress`:if(!(t.ctrlKey||t.altKey||t.metaKey)||t.ctrlKey&&t.altKey){if(t.char&&1<t.char.length)return t.char;if(t.which)return String.fromCharCode(t.which)}return null;case`compositionend`:return $n&&t.locale!==`ko`?null:t.data;default:return null}}var sr={color:!0,date:!0,datetime:!0,"datetime-local":!0,email:!0,month:!0,number:!0,password:!0,range:!0,search:!0,tel:!0,text:!0,time:!0,url:!0,week:!0};function cr(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t===`input`?!!sr[e.type]:t===`textarea`}function lr(e,t,n,r){sn?cn?cn.push(r):cn=[r]:sn=r,t=Vd(t,`onChange`),0<t.length&&(n=new Tn(`onChange`,`change`,null,n,r),e.push({event:n,listeners:t}))}var ur=null,dr=null;function fr(e){Nd(e,0)}function pr(e){if(zt(xt(e)))return e}function mr(e,t){if(e===`change`)return t}var hr=!1;if(pn){var gr;if(pn){var _r=`oninput`in document;if(!_r){var vr=document.createElement(`div`);vr.setAttribute(`oninput`,`return;`),_r=typeof vr.oninput==`function`}gr=_r}else gr=!1;hr=gr&&(!document.documentMode||9<document.documentMode)}function yr(){ur&&(ur.detachEvent(`onpropertychange`,br),dr=ur=null)}function br(e){if(e.propertyName===`value`&&pr(dr)){var t=[];lr(t,dr,e,on(e)),dn(fr,t)}}function xr(e,t,n){e===`focusin`?(yr(),ur=t,dr=n,ur.attachEvent(`onpropertychange`,br)):e===`focusout`&&yr()}function Sr(e){if(e===`selectionchange`||e===`keyup`||e===`keydown`)return pr(dr)}function Cr(e,t){if(e===`click`)return pr(t)}function wr(e,t){if(e===`input`||e===`change`)return pr(t)}function Tr(e,t){return e===t&&(e!==0||1/e==1/t)||e!==e&&t!==t}var Er=typeof Object.is==`function`?Object.is:Tr;function Dr(e,t){if(Er(e,t))return!0;if(typeof e!=`object`||!e||typeof t!=`object`||!t)return!1;var n=Object.keys(e),r=Object.keys(t);if(n.length!==r.length)return!1;for(r=0;r<n.length;r++){var i=n[r];if(!we.call(t,i)||!Er(e[i],t[i]))return!1}return!0}function Or(e){for(;e&&e.firstChild;)e=e.firstChild;return e}function kr(e,t){var n=Or(e);e=0;for(var r;n;){if(n.nodeType===3){if(r=e+n.textContent.length,e<=t&&r>=t)return{node:n,offset:t-e};e=r}a:{for(;n;){if(n.nextSibling){n=n.nextSibling;break a}n=n.parentNode}n=void 0}n=Or(n)}}function Ar(e,t){return e&&t?e===t?!0:e&&e.nodeType===3?!1:t&&t.nodeType===3?Ar(e,t.parentNode):`contains`in e?e.contains(t):e.compareDocumentPosition?!!(e.compareDocumentPosition(t)&16):!1:!1}function jr(e){e=e!=null&&e.ownerDocument!=null&&e.ownerDocument.defaultView!=null?e.ownerDocument.defaultView:window;for(var t=Bt(e.document);t instanceof e.HTMLIFrameElement;){try{var n=typeof t.contentWindow.location.href==`string`}catch{n=!1}if(n)e=t.contentWindow;else break;t=Bt(e.document)}return t}function Mr(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t&&(t===`input`&&(e.type===`text`||e.type===`search`||e.type===`tel`||e.type===`url`||e.type===`password`)||t===`textarea`||e.contentEditable===`true`)}var Nr=pn&&`documentMode`in document&&11>=document.documentMode,Pr=null,Fr=null,Ir=null,Lr=!1;function Rr(e,t,n){var r=n.window===n?n.document:n.nodeType===9?n:n.ownerDocument;Lr||Pr==null||Pr!==Bt(r)||(r=Pr,`selectionStart`in r&&Mr(r)?r={start:r.selectionStart,end:r.selectionEnd}:(r=(r.ownerDocument&&r.ownerDocument.defaultView||window).getSelection(),r={anchorNode:r.anchorNode,anchorOffset:r.anchorOffset,focusNode:r.focusNode,focusOffset:r.focusOffset}),Ir&&Dr(Ir,r)||(Ir=r,r=Vd(Fr,`onSelect`),0<r.length&&(t=new Tn(`onSelect`,`select`,null,t,n),e.push({event:t,listeners:r}),t.target=Pr)))}function zr(e,t){var n={};return n[e.toLowerCase()]=t.toLowerCase(),n[`Webkit`+e]=`webkit`+t,n[`Moz`+e]=`moz`+t,n}var Br={animationend:zr(`Animation`,`AnimationEnd`),animationiteration:zr(`Animation`,`AnimationIteration`),animationstart:zr(`Animation`,`AnimationStart`),transitionrun:zr(`Transition`,`TransitionRun`),transitionstart:zr(`Transition`,`TransitionStart`),transitioncancel:zr(`Transition`,`TransitionCancel`),transitionend:zr(`Transition`,`TransitionEnd`)},Vr={},Hr={};pn&&(Hr=document.createElement(`div`).style,`AnimationEvent`in window||(delete Br.animationend.animation,delete Br.animationiteration.animation,delete Br.animationstart.animation),`TransitionEvent`in window||delete Br.transitionend.transition);function Ur(e){if(Vr[e])return Vr[e];if(!Br[e])return e;var t=Br[e],n;for(n in t)if(t.hasOwnProperty(n)&&n in Hr)return Vr[e]=t[n];return e}var Wr=Ur(`animationend`),Gr=Ur(`animationiteration`),Kr=Ur(`animationstart`),qr=Ur(`transitionrun`),Jr=Ur(`transitionstart`),Yr=Ur(`transitioncancel`),Xr=Ur(`transitionend`),Zr=new Map,Qr=`abort auxClick beforeToggle cancel canPlay canPlayThrough click close contextMenu copy cut drag dragEnd dragEnter dragExit dragLeave dragOver dragStart drop durationChange emptied encrypted ended error gotPointerCapture input invalid keyDown keyPress keyUp load loadedData loadedMetadata loadStart lostPointerCapture mouseDown mouseMove mouseOut mouseOver mouseUp paste pause play playing pointerCancel pointerDown pointerMove pointerOut pointerOver pointerUp progress rateChange reset resize seeked seeking stalled submit suspend timeUpdate touchCancel touchEnd touchStart volumeChange scroll toggle touchMove waiting wheel`.split(` `);Qr.push(`scrollEnd`);function $r(e,t){Zr.set(e,t),Et(t,[e])}var ei=typeof reportError==`function`?reportError:function(e){if(typeof window==`object`&&typeof window.ErrorEvent==`function`){var t=new window.ErrorEvent(`error`,{bubbles:!0,cancelable:!0,message:typeof e==`object`&&e&&typeof e.message==`string`?String(e.message):String(e),error:e});if(!window.dispatchEvent(t))return}else if(typeof process==`object`&&typeof process.emit==`function`){process.emit(`uncaughtException`,e);return}console.error(e)},ti=[],ni=0,ri=0;function ii(){for(var e=ni,t=ri=ni=0;t<e;){var n=ti[t];ti[t++]=null;var r=ti[t];ti[t++]=null;var i=ti[t];ti[t++]=null;var a=ti[t];if(ti[t++]=null,r!==null&&i!==null){var o=r.pending;o===null?i.next=i:(i.next=o.next,o.next=i),r.pending=i}a!==0&&ci(n,i,a)}}function ai(e,t,n,r){ti[ni++]=e,ti[ni++]=t,ti[ni++]=n,ti[ni++]=r,ri|=r,e.lanes|=r,e=e.alternate,e!==null&&(e.lanes|=r)}function oi(e,t,n,r){return ai(e,t,n,r),li(e)}function si(e,t){return ai(e,null,null,t),li(e)}function ci(e,t,n){e.lanes|=n;var r=e.alternate;r!==null&&(r.lanes|=n);for(var i=!1,a=e.return;a!==null;)a.childLanes|=n,r=a.alternate,r!==null&&(r.childLanes|=n),a.tag===22&&(e=a.stateNode,e===null||e._visibility&1||(i=!0)),e=a,a=a.return;return e.tag===3?(a=e.stateNode,i&&t!==null&&(i=31-Ve(n),e=a.hiddenUpdates,r=e[i],r===null?e[i]=[t]:r.push(t),t.lane=n|536870912),a):null}function li(e){if(50<Tu)throw Tu=0,Eu=null,Error(a(185));for(var t=e.return;t!==null;)e=t,t=e.return;return e.tag===3?e.stateNode:null}var ui={};function di(e,t,n,r){this.tag=e,this.key=n,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.refCleanup=this.ref=null,this.pendingProps=t,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=r,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function fi(e,t,n,r){return new di(e,t,n,r)}function pi(e){return e=e.prototype,!(!e||!e.isReactComponent)}function mi(e,t){var n=e.alternate;return n===null?(n=fi(e.tag,t,e.key,e.mode),n.elementType=e.elementType,n.type=e.type,n.stateNode=e.stateNode,n.alternate=e,e.alternate=n):(n.pendingProps=t,n.type=e.type,n.flags=0,n.subtreeFlags=0,n.deletions=null),n.flags=e.flags&65011712,n.childLanes=e.childLanes,n.lanes=e.lanes,n.child=e.child,n.memoizedProps=e.memoizedProps,n.memoizedState=e.memoizedState,n.updateQueue=e.updateQueue,t=e.dependencies,n.dependencies=t===null?null:{lanes:t.lanes,firstContext:t.firstContext},n.sibling=e.sibling,n.index=e.index,n.ref=e.ref,n.refCleanup=e.refCleanup,n}function hi(e,t){e.flags&=65011714;var n=e.alternate;return n===null?(e.childLanes=0,e.lanes=t,e.child=null,e.subtreeFlags=0,e.memoizedProps=null,e.memoizedState=null,e.updateQueue=null,e.dependencies=null,e.stateNode=null):(e.childLanes=n.childLanes,e.lanes=n.lanes,e.child=n.child,e.subtreeFlags=0,e.deletions=null,e.memoizedProps=n.memoizedProps,e.memoizedState=n.memoizedState,e.updateQueue=n.updateQueue,e.type=n.type,t=n.dependencies,e.dependencies=t===null?null:{lanes:t.lanes,firstContext:t.firstContext}),e}function gi(e,t,n,r,i,o){var s=0;if(r=e,typeof e==`function`)pi(e)&&(s=1);else if(typeof e==`string`)s=ap(e,n,le.current)?26:e===`html`||e===`head`||e===`body`?27:5;else a:switch(e){case k:return e=fi(31,n,t,i),e.elementType=k,e.lanes=o,e;case y:return _i(n.children,i,o,t);case b:s=8,i|=24;break;case x:return e=fi(12,n,t,i|2),e.elementType=x,e.lanes=o,e;case T:return e=fi(13,n,t,i),e.elementType=T,e.lanes=o,e;case E:return e=fi(19,n,t,i),e.elementType=E,e.lanes=o,e;default:if(typeof e==`object`&&e)switch(e.$$typeof){case C:s=10;break a;case S:s=9;break a;case w:s=11;break a;case D:s=14;break a;case O:s=16,r=null;break a}s=29,n=Error(a(130,e===null?`null`:typeof e,``)),r=null}return t=fi(s,n,t,i),t.elementType=e,t.type=r,t.lanes=o,t}function _i(e,t,n,r){return e=fi(7,e,r,t),e.lanes=n,e}function vi(e,t,n){return e=fi(6,e,null,t),e.lanes=n,e}function yi(e){var t=fi(18,null,null,0);return t.stateNode=e,t}function bi(e,t,n){return t=fi(4,e.children===null?[]:e.children,e.key,t),t.lanes=n,t.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},t}var xi=new WeakMap;function Si(e,t){if(typeof e==`object`&&e){var n=xi.get(e);return n===void 0?(t={value:e,source:t,stack:Ce(t)},xi.set(e,t),t):n}return{value:e,source:t,stack:Ce(t)}}var Ci=[],wi=0,Ti=null,Ei=0,Di=[],Oi=0,ki=null,Ai=1,ji=``;function Mi(e,t){Ci[wi++]=Ei,Ci[wi++]=Ti,Ti=e,Ei=t}function Ni(e,t,n){Di[Oi++]=Ai,Di[Oi++]=ji,Di[Oi++]=ki,ki=e;var r=Ai;e=ji;var i=32-Ve(r)-1;r&=~(1<<i),n+=1;var a=32-Ve(t)+i;if(30<a){var o=i-i%5;a=(r&(1<<o)-1).toString(32),r>>=o,i-=o,Ai=1<<32-Ve(t)+i|n<<i|r,ji=a+e}else Ai=1<<a|n<<i|r,ji=e}function Pi(e){e.return!==null&&(Mi(e,1),Ni(e,1,0))}function Fi(e){for(;e===Ti;)Ti=Ci[--wi],Ci[wi]=null,Ei=Ci[--wi],Ci[wi]=null;for(;e===ki;)ki=Di[--Oi],Di[Oi]=null,ji=Di[--Oi],Di[Oi]=null,Ai=Di[--Oi],Di[Oi]=null}function Ii(e,t){Di[Oi++]=Ai,Di[Oi++]=ji,Di[Oi++]=ki,Ai=t.id,ji=t.overflow,ki=e}var Li=null,Ri=null,zi=!1,Bi=null,Vi=!1,Hi=Error(a(519));function Ui(e){throw Yi(Si(Error(a(418,1<arguments.length&&arguments[1]!==void 0&&arguments[1]?`text`:`HTML`,``)),e)),Hi}function Wi(e){var t=e.stateNode,n=e.type,r=e.memoizedProps;switch(t[ut]=e,t[dt]=r,n){case`dialog`:Pd(`cancel`,t),Pd(`close`,t);break;case`iframe`:case`object`:case`embed`:Pd(`load`,t);break;case`video`:case`audio`:for(n=0;n<jd.length;n++)Pd(jd[n],t);break;case`source`:Pd(`error`,t);break;case`img`:case`image`:case`link`:Pd(`error`,t),Pd(`load`,t);break;case`details`:Pd(`toggle`,t);break;case`input`:Pd(`invalid`,t),Wt(t,r.value,r.defaultValue,r.checked,r.defaultChecked,r.type,r.name,!0);break;case`select`:Pd(`invalid`,t);break;case`textarea`:Pd(`invalid`,t),Jt(t,r.value,r.defaultValue,r.children)}n=r.children,typeof n!=`string`&&typeof n!=`number`&&typeof n!=`bigint`||t.textContent===``+n||!0===r.suppressHydrationWarning||qd(t.textContent,n)?(r.popover!=null&&(Pd(`beforetoggle`,t),Pd(`toggle`,t)),r.onScroll!=null&&Pd(`scroll`,t),r.onScrollEnd!=null&&Pd(`scrollend`,t),r.onClick!=null&&(t.onclick=rn),t=!0):t=!1,t||Ui(e,!0)}function Gi(e){for(Li=e.return;Li;)switch(Li.tag){case 5:case 31:case 13:Vi=!1;return;case 27:case 3:Vi=!0;return;default:Li=Li.return}}function Ki(e){if(e!==Li)return!1;if(!zi)return Gi(e),zi=!0,!1;var t=e.tag,n;if((n=t!==3&&t!==27)&&((n=t===5)&&(n=e.type,n=n===`form`||n===`button`||of(e.type,e.memoizedProps)),n=!n),n&&Ri&&Ui(e),Gi(e),t===13){if(e=e.memoizedState,e=e===null?null:e.dehydrated,!e)throw Error(a(317));Ri=Ef(e)}else if(t===31){if(e=e.memoizedState,e=e===null?null:e.dehydrated,!e)throw Error(a(317));Ri=Ef(e)}else t===27?(t=Ri,mf(e.type)?(e=Tf,Tf=null,Ri=e):Ri=t):Ri=Li?wf(e.stateNode.nextSibling):null;return!0}function qi(){Ri=Li=null,zi=!1}function Ji(){var e=Bi;return e!==null&&(du===null?du=e:du.push.apply(du,e),Bi=null),e}function Yi(e){Bi===null?Bi=[e]:Bi.push(e)}var Xi=oe(null),Zi=null,Qi=null;function $i(e,t,n){ce(Xi,t._currentValue),t._currentValue=n}function ea(e){e._currentValue=Xi.current,se(Xi)}function ta(e,t,n){for(;e!==null;){var r=e.alternate;if((e.childLanes&t)===t?r!==null&&(r.childLanes&t)!==t&&(r.childLanes|=t):(e.childLanes|=t,r!==null&&(r.childLanes|=t)),e===n)break;e=e.return}}function na(e,t,n,r){var i=e.child;for(i!==null&&(i.return=e);i!==null;){var o=i.dependencies;if(o!==null){var s=i.child;o=o.firstContext;a:for(;o!==null;){var c=o;o=i;for(var l=0;l<t.length;l++)if(c.context===t[l]){o.lanes|=n,c=o.alternate,c!==null&&(c.lanes|=n),ta(o.return,n,e),r||(s=null);break a}o=c.next}}else if(i.tag===18){if(s=i.return,s===null)throw Error(a(341));s.lanes|=n,o=s.alternate,o!==null&&(o.lanes|=n),ta(s,n,e),s=null}else s=i.child;if(s!==null)s.return=i;else for(s=i;s!==null;){if(s===e){s=null;break}if(i=s.sibling,i!==null){i.return=s.return,s=i;break}s=s.return}i=s}}function ra(e,t,n,r){e=null;for(var i=t,o=!1;i!==null;){if(!o){if(i.flags&524288)o=!0;else if(i.flags&262144)break}if(i.tag===10){var s=i.alternate;if(s===null)throw Error(a(387));if(s=s.memoizedProps,s!==null){var c=i.type;Er(i.pendingProps.value,s.value)||(e===null?e=[c]:e.push(c))}}else if(i===fe.current){if(s=i.alternate,s===null)throw Error(a(387));s.memoizedState.memoizedState!==i.memoizedState.memoizedState&&(e===null?e=[mp]:e.push(mp))}i=i.return}e!==null&&na(t,e,n,r),t.flags|=262144}function ia(e){for(e=e.firstContext;e!==null;){if(!Er(e.context._currentValue,e.memoizedValue))return!0;e=e.next}return!1}function aa(e){Zi=e,Qi=null,e=e.dependencies,e!==null&&(e.firstContext=null)}function oa(e){return ca(Zi,e)}function sa(e,t){return Zi===null&&aa(e),ca(e,t)}function ca(e,t){var n=t._currentValue;if(t={context:t,memoizedValue:n,next:null},Qi===null){if(e===null)throw Error(a(308));Qi=t,e.dependencies={lanes:0,firstContext:t},e.flags|=524288}else Qi=Qi.next=t;return n}var la=typeof AbortController<`u`?AbortController:function(){var e=[],t=this.signal={aborted:!1,addEventListener:function(t,n){e.push(n)}};this.abort=function(){t.aborted=!0,e.forEach(function(e){return e()})}},ua=t.unstable_scheduleCallback,da=t.unstable_NormalPriority,fa={$$typeof:C,Consumer:null,Provider:null,_currentValue:null,_currentValue2:null,_threadCount:0};function pa(){return{controller:new la,data:new Map,refCount:0}}function ma(e){e.refCount--,e.refCount===0&&ua(da,function(){e.controller.abort()})}var ha=null,ga=0,_a=0,va=null;function ya(e,t){if(ha===null){var n=ha=[];ga=0,_a=Td(),va={status:`pending`,value:void 0,then:function(e){n.push(e)}}}return ga++,t.then(ba,ba),t}function ba(){if(--ga===0&&ha!==null){va!==null&&(va.status=`fulfilled`);var e=ha;ha=null,_a=0,va=null;for(var t=0;t<e.length;t++)(0,e[t])()}}function xa(e,t){var n=[],r={status:`pending`,value:null,reason:null,then:function(e){n.push(e)}};return e.then(function(){r.status=`fulfilled`,r.value=t;for(var e=0;e<n.length;e++)(0,n[e])(t)},function(e){for(r.status=`rejected`,r.reason=e,e=0;e<n.length;e++)(0,n[e])(void 0)}),r}var Sa=P.S;P.S=function(e,t){mu=ke(),typeof t==`object`&&t&&typeof t.then==`function`&&ya(e,t),Sa!==null&&Sa(e,t)};var Ca=oe(null);function wa(){var e=Ca.current;return e===null?Yl.pooledCache:e}function Ta(e,t){t===null?ce(Ca,Ca.current):ce(Ca,t.pool)}function Ea(){var e=wa();return e===null?null:{parent:fa._currentValue,pool:e}}var Da=Error(a(460)),Oa=Error(a(474)),ka=Error(a(542)),Aa={then:function(){}};function ja(e){return e=e.status,e===`fulfilled`||e===`rejected`}function Ma(e,t,n){switch(n=e[n],n===void 0?e.push(t):n!==t&&(t.then(rn,rn),t=n),t.status){case`fulfilled`:return t.value;case`rejected`:throw e=t.reason,Ia(e),e;default:if(typeof t.status==`string`)t.then(rn,rn);else{if(e=Yl,e!==null&&100<e.shellSuspendCounter)throw Error(a(482));e=t,e.status=`pending`,e.then(function(e){if(t.status===`pending`){var n=t;n.status=`fulfilled`,n.value=e}},function(e){if(t.status===`pending`){var n=t;n.status=`rejected`,n.reason=e}})}switch(t.status){case`fulfilled`:return t.value;case`rejected`:throw e=t.reason,Ia(e),e}throw Pa=t,Da}}function Na(e){try{var t=e._init;return t(e._payload)}catch(e){throw typeof e==`object`&&e&&typeof e.then==`function`?(Pa=e,Da):e}}var Pa=null;function Fa(){if(Pa===null)throw Error(a(459));var e=Pa;return Pa=null,e}function Ia(e){if(e===Da||e===ka)throw Error(a(483))}var La=null,Ra=0;function za(e){var t=Ra;return Ra+=1,La===null&&(La=[]),Ma(La,e,t)}function Ba(e,t){t=t.props.ref,e.ref=t===void 0?null:t}function Va(e,t){throw t.$$typeof===g?Error(a(525)):(e=Object.prototype.toString.call(t),Error(a(31,e===`[object Object]`?`object with keys {`+Object.keys(t).join(`, `)+`}`:e)))}function Ha(e){function t(t,n){if(e){var r=t.deletions;r===null?(t.deletions=[n],t.flags|=16):r.push(n)}}function n(n,r){if(!e)return null;for(;r!==null;)t(n,r),r=r.sibling;return null}function r(e){for(var t=new Map;e!==null;)e.key===null?t.set(e.index,e):t.set(e.key,e),e=e.sibling;return t}function i(e,t){return e=mi(e,t),e.index=0,e.sibling=null,e}function o(t,n,r){return t.index=r,e?(r=t.alternate,r===null?(t.flags|=67108866,n):(r=r.index,r<n?(t.flags|=67108866,n):r)):(t.flags|=1048576,n)}function s(t){return e&&t.alternate===null&&(t.flags|=67108866),t}function c(e,t,n,r){return t===null||t.tag!==6?(t=vi(n,e.mode,r),t.return=e,t):(t=i(t,n),t.return=e,t)}function l(e,t,n,r){var a=n.type;return a===y?d(e,t,n.props.children,r,n.key):t!==null&&(t.elementType===a||typeof a==`object`&&a&&a.$$typeof===O&&Na(a)===t.type)?(t=i(t,n.props),Ba(t,n),t.return=e,t):(t=gi(n.type,n.key,n.props,null,e.mode,r),Ba(t,n),t.return=e,t)}function u(e,t,n,r){return t===null||t.tag!==4||t.stateNode.containerInfo!==n.containerInfo||t.stateNode.implementation!==n.implementation?(t=bi(n,e.mode,r),t.return=e,t):(t=i(t,n.children||[]),t.return=e,t)}function d(e,t,n,r,a){return t===null||t.tag!==7?(t=_i(n,e.mode,r,a),t.return=e,t):(t=i(t,n),t.return=e,t)}function f(e,t,n){if(typeof t==`string`&&t!==``||typeof t==`number`||typeof t==`bigint`)return t=vi(``+t,e.mode,n),t.return=e,t;if(typeof t==`object`&&t){switch(t.$$typeof){case _:return n=gi(t.type,t.key,t.props,null,e.mode,n),Ba(n,t),n.return=e,n;case v:return t=bi(t,e.mode,n),t.return=e,t;case O:return t=Na(t),f(e,t,n)}if(te(t)||M(t))return t=_i(t,e.mode,n,null),t.return=e,t;if(typeof t.then==`function`)return f(e,za(t),n);if(t.$$typeof===C)return f(e,sa(e,t),n);Va(e,t)}return null}function p(e,t,n,r){var i=t===null?null:t.key;if(typeof n==`string`&&n!==``||typeof n==`number`||typeof n==`bigint`)return i===null?c(e,t,``+n,r):null;if(typeof n==`object`&&n){switch(n.$$typeof){case _:return n.key===i?l(e,t,n,r):null;case v:return n.key===i?u(e,t,n,r):null;case O:return n=Na(n),p(e,t,n,r)}if(te(n)||M(n))return i===null?d(e,t,n,r,null):null;if(typeof n.then==`function`)return p(e,t,za(n),r);if(n.$$typeof===C)return p(e,t,sa(e,n),r);Va(e,n)}return null}function m(e,t,n,r,i){if(typeof r==`string`&&r!==``||typeof r==`number`||typeof r==`bigint`)return e=e.get(n)||null,c(t,e,``+r,i);if(typeof r==`object`&&r){switch(r.$$typeof){case _:return e=e.get(r.key===null?n:r.key)||null,l(t,e,r,i);case v:return e=e.get(r.key===null?n:r.key)||null,u(t,e,r,i);case O:return r=Na(r),m(e,t,n,r,i)}if(te(r)||M(r))return e=e.get(n)||null,d(t,e,r,i,null);if(typeof r.then==`function`)return m(e,t,n,za(r),i);if(r.$$typeof===C)return m(e,t,n,sa(t,r),i);Va(t,r)}return null}function h(i,a,s,c){for(var l=null,u=null,d=a,h=a=0,g=null;d!==null&&h<s.length;h++){d.index>h?(g=d,d=null):g=d.sibling;var _=p(i,d,s[h],c);if(_===null){d===null&&(d=g);break}e&&d&&_.alternate===null&&t(i,d),a=o(_,a,h),u===null?l=_:u.sibling=_,u=_,d=g}if(h===s.length)return n(i,d),zi&&Mi(i,h),l;if(d===null){for(;h<s.length;h++)d=f(i,s[h],c),d!==null&&(a=o(d,a,h),u===null?l=d:u.sibling=d,u=d);return zi&&Mi(i,h),l}for(d=r(d);h<s.length;h++)g=m(d,i,h,s[h],c),g!==null&&(e&&g.alternate!==null&&d.delete(g.key===null?h:g.key),a=o(g,a,h),u===null?l=g:u.sibling=g,u=g);return e&&d.forEach(function(e){return t(i,e)}),zi&&Mi(i,h),l}function g(i,s,c,l){if(c==null)throw Error(a(151));for(var u=null,d=null,h=s,g=s=0,_=null,v=c.next();h!==null&&!v.done;g++,v=c.next()){h.index>g?(_=h,h=null):_=h.sibling;var y=p(i,h,v.value,l);if(y===null){h===null&&(h=_);break}e&&h&&y.alternate===null&&t(i,h),s=o(y,s,g),d===null?u=y:d.sibling=y,d=y,h=_}if(v.done)return n(i,h),zi&&Mi(i,g),u;if(h===null){for(;!v.done;g++,v=c.next())v=f(i,v.value,l),v!==null&&(s=o(v,s,g),d===null?u=v:d.sibling=v,d=v);return zi&&Mi(i,g),u}for(h=r(h);!v.done;g++,v=c.next())v=m(h,i,g,v.value,l),v!==null&&(e&&v.alternate!==null&&h.delete(v.key===null?g:v.key),s=o(v,s,g),d===null?u=v:d.sibling=v,d=v);return e&&h.forEach(function(e){return t(i,e)}),zi&&Mi(i,g),u}function b(e,r,o,c){if(typeof o==`object`&&o&&o.type===y&&o.key===null&&(o=o.props.children),typeof o==`object`&&o){switch(o.$$typeof){case _:a:{for(var l=o.key;r!==null;){if(r.key===l){if(l=o.type,l===y){if(r.tag===7){n(e,r.sibling),c=i(r,o.props.children),c.return=e,e=c;break a}}else if(r.elementType===l||typeof l==`object`&&l&&l.$$typeof===O&&Na(l)===r.type){n(e,r.sibling),c=i(r,o.props),Ba(c,o),c.return=e,e=c;break a}n(e,r);break}t(e,r),r=r.sibling}o.type===y?(c=_i(o.props.children,e.mode,c,o.key),c.return=e,e=c):(c=gi(o.type,o.key,o.props,null,e.mode,c),Ba(c,o),c.return=e,e=c)}return s(e);case v:a:{for(l=o.key;r!==null;){if(r.key===l){if(r.tag===4&&r.stateNode.containerInfo===o.containerInfo&&r.stateNode.implementation===o.implementation){n(e,r.sibling),c=i(r,o.children||[]),c.return=e,e=c;break a}n(e,r);break}t(e,r),r=r.sibling}c=bi(o,e.mode,c),c.return=e,e=c}return s(e);case O:return o=Na(o),b(e,r,o,c)}if(te(o))return h(e,r,o,c);if(M(o)){if(l=M(o),typeof l!=`function`)throw Error(a(150));return o=l.call(o),g(e,r,o,c)}if(typeof o.then==`function`)return b(e,r,za(o),c);if(o.$$typeof===C)return b(e,r,sa(e,o),c);Va(e,o)}return typeof o==`string`&&o!==``||typeof o==`number`||typeof o==`bigint`?(o=``+o,r!==null&&r.tag===6?(n(e,r.sibling),c=i(r,o),c.return=e,e=c):(n(e,r),c=vi(o,e.mode,c),c.return=e,e=c),s(e)):n(e,r)}return function(e,t,n,r){try{Ra=0;var i=b(e,t,n,r);return La=null,i}catch(t){if(t===Da||t===ka)throw t;var a=fi(29,t,null,e.mode);return a.lanes=r,a.return=e,a}}}var Ua=Ha(!0),Wa=Ha(!1),Ga=!1;function Ka(e){e.updateQueue={baseState:e.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,lanes:0,hiddenCallbacks:null},callbacks:null}}function qa(e,t){e=e.updateQueue,t.updateQueue===e&&(t.updateQueue={baseState:e.baseState,firstBaseUpdate:e.firstBaseUpdate,lastBaseUpdate:e.lastBaseUpdate,shared:e.shared,callbacks:null})}function Ja(e){return{lane:e,tag:0,payload:null,callback:null,next:null}}function Ya(e,t,n){var r=e.updateQueue;if(r===null)return null;if(r=r.shared,Jl&2){var i=r.pending;return i===null?t.next=t:(t.next=i.next,i.next=t),r.pending=t,t=li(e),ci(e,null,n),t}return ai(e,r,t,n),li(e)}function Xa(e,t,n){if(t=t.updateQueue,t!==null&&(t=t.shared,n&4194048)){var r=t.lanes;r&=e.pendingLanes,n|=r,t.lanes=n,rt(e,n)}}function Za(e,t){var n=e.updateQueue,r=e.alternate;if(r!==null&&(r=r.updateQueue,n===r)){var i=null,a=null;if(n=n.firstBaseUpdate,n!==null){do{var o={lane:n.lane,tag:n.tag,payload:n.payload,callback:null,next:null};a===null?i=a=o:a=a.next=o,n=n.next}while(n!==null);a===null?i=a=t:a=a.next=t}else i=a=t;n={baseState:r.baseState,firstBaseUpdate:i,lastBaseUpdate:a,shared:r.shared,callbacks:r.callbacks},e.updateQueue=n;return}e=n.lastBaseUpdate,e===null?n.firstBaseUpdate=t:e.next=t,n.lastBaseUpdate=t}var Qa=!1;function $a(){if(Qa){var e=va;if(e!==null)throw e}}function eo(e,t,n,r){Qa=!1;var i=e.updateQueue;Ga=!1;var a=i.firstBaseUpdate,o=i.lastBaseUpdate,s=i.shared.pending;if(s!==null){i.shared.pending=null;var c=s,l=c.next;c.next=null,o===null?a=l:o.next=l,o=c;var u=e.alternate;u!==null&&(u=u.updateQueue,s=u.lastBaseUpdate,s!==o&&(s===null?u.firstBaseUpdate=l:s.next=l,u.lastBaseUpdate=c))}if(a!==null){var d=i.baseState;o=0,u=l=c=null,s=a;do{var f=s.lane&-536870913,p=f!==s.lane;if(p?(Zl&f)===f:(r&f)===f){f!==0&&f===_a&&(Qa=!0),u!==null&&(u=u.next={lane:0,tag:s.tag,payload:s.payload,callback:null,next:null});a:{var m=e,g=s;f=t;var _=n;switch(g.tag){case 1:if(m=g.payload,typeof m==`function`){d=m.call(_,d,f);break a}d=m;break a;case 3:m.flags=m.flags&-65537|128;case 0:if(m=g.payload,f=typeof m==`function`?m.call(_,d,f):m,f==null)break a;d=h({},d,f);break a;case 2:Ga=!0}}f=s.callback,f!==null&&(e.flags|=64,p&&(e.flags|=8192),p=i.callbacks,p===null?i.callbacks=[f]:p.push(f))}else p={lane:f,tag:s.tag,payload:s.payload,callback:s.callback,next:null},u===null?(l=u=p,c=d):u=u.next=p,o|=f;if(s=s.next,s===null){if(s=i.shared.pending,s===null)break;p=s,s=p.next,p.next=null,i.lastBaseUpdate=p,i.shared.pending=null}}while(1);u===null&&(c=d),i.baseState=c,i.firstBaseUpdate=l,i.lastBaseUpdate=u,a===null&&(i.shared.lanes=0),au|=o,e.lanes=o,e.memoizedState=d}}function to(e,t){if(typeof e!=`function`)throw Error(a(191,e));e.call(t)}function no(e,t){var n=e.callbacks;if(n!==null)for(e.callbacks=null,e=0;e<n.length;e++)to(n[e],t)}var ro=oe(null),io=oe(0);function ao(e,t){e=ru,ce(io,e),ce(ro,t),ru=e|t.baseLanes}function oo(){ce(io,ru),ce(ro,ro.current)}function so(){ru=io.current,se(ro),se(io)}var co=oe(null),lo=null;function uo(e){var t=e.alternate;ce(go,go.current&1),ce(co,e),lo===null&&(t===null||ro.current!==null||t.memoizedState!==null)&&(lo=e)}function fo(e){ce(go,go.current),ce(co,e),lo===null&&(lo=e)}function po(e){e.tag===22?(ce(go,go.current),ce(co,e),lo===null&&(lo=e)):mo(e)}function mo(){ce(go,go.current),ce(co,co.current)}function ho(e){se(co),lo===e&&(lo=null),se(go)}var go=oe(0);function _o(e){for(var t=e;t!==null;){if(t.tag===13){var n=t.memoizedState;if(n!==null&&(n=n.dehydrated,n===null||xf(n)||Sf(n)))return t}else if(t.tag===19&&(t.memoizedProps.revealOrder===`forwards`||t.memoizedProps.revealOrder===`backwards`||t.memoizedProps.revealOrder===`unstable_legacy-backwards`||t.memoizedProps.revealOrder===`together`)){if(t.flags&128)return t}else if(t.child!==null){t.child.return=t,t=t.child;continue}if(t===e)break;for(;t.sibling===null;){if(t.return===null||t.return===e)return null;t=t.return}t.sibling.return=t.return,t=t.sibling}return null}var vo=0,yo=null,F=null,bo=null,xo=!1,So=!1,Co=!1,wo=0,To=0,Eo=null,Do=0;function Oo(){throw Error(a(321))}function ko(e,t){if(t===null)return!1;for(var n=0;n<t.length&&n<e.length;n++)if(!Er(e[n],t[n]))return!1;return!0}function Ao(e,t,n,r,i,a){return vo=a,yo=t,t.memoizedState=null,t.updateQueue=null,t.lanes=0,P.H=e===null||e.memoizedState===null?Ks:qs,Co=!1,a=n(r,i),Co=!1,So&&(a=Mo(t,n,r,i)),jo(e),a}function jo(e){P.H=Gs;var t=F!==null&&F.next!==null;if(vo=0,bo=F=yo=null,xo=!1,To=0,Eo=null,t)throw Error(a(300));e===null||uc||(e=e.dependencies,e!==null&&ia(e)&&(uc=!0))}function Mo(e,t,n,r){yo=e;var i=0;do{if(So&&(Eo=null),To=0,So=!1,25<=i)throw Error(a(301));if(i+=1,bo=F=null,e.updateQueue!=null){var o=e.updateQueue;o.lastEffect=null,o.events=null,o.stores=null,o.memoCache!=null&&(o.memoCache.index=0)}P.H=Js,o=t(n,r)}while(So);return o}function No(){var e=P.H,t=e.useState()[0];return t=typeof t.then==`function`?zo(t):t,e=e.useState()[0],(F===null?null:F.memoizedState)!==e&&(yo.flags|=1024),t}function I(){var e=wo!==0;return wo=0,e}function Po(e,t,n){t.updateQueue=e.updateQueue,t.flags&=-2053,e.lanes&=~n}function Fo(e){if(xo){for(e=e.memoizedState;e!==null;){var t=e.queue;t!==null&&(t.pending=null),e=e.next}xo=!1}vo=0,bo=F=yo=null,So=!1,To=wo=0,Eo=null}function Io(){var e={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};return bo===null?yo.memoizedState=bo=e:bo=bo.next=e,bo}function Lo(){if(F===null){var e=yo.alternate;e=e===null?null:e.memoizedState}else e=F.next;var t=bo===null?yo.memoizedState:bo.next;if(t!==null)bo=t,F=e;else{if(e===null)throw yo.alternate===null?Error(a(467)):Error(a(310));F=e,e={memoizedState:F.memoizedState,baseState:F.baseState,baseQueue:F.baseQueue,queue:F.queue,next:null},bo===null?yo.memoizedState=bo=e:bo=bo.next=e}return bo}function Ro(){return{lastEffect:null,events:null,stores:null,memoCache:null}}function zo(e){var t=To;return To+=1,Eo===null&&(Eo=[]),e=Ma(Eo,e,t),t=yo,(bo===null?t.memoizedState:bo.next)===null&&(t=t.alternate,P.H=t===null||t.memoizedState===null?Ks:qs),e}function Bo(e){if(typeof e==`object`&&e){if(typeof e.then==`function`)return zo(e);if(e.$$typeof===C)return oa(e)}throw Error(a(438,String(e)))}function Vo(e){var t=null,n=yo.updateQueue;if(n!==null&&(t=n.memoCache),t==null){var r=yo.alternate;r!==null&&(r=r.updateQueue,r!==null&&(r=r.memoCache,r!=null&&(t={data:r.data.map(function(e){return e.slice()}),index:0})))}if(t??={data:[],index:0},n===null&&(n=Ro(),yo.updateQueue=n),n.memoCache=t,n=t.data[t.index],n===void 0)for(n=t.data[t.index]=Array(e),r=0;r<e;r++)n[r]=A;return t.index++,n}function Ho(e,t){return typeof t==`function`?t(e):t}function Uo(e){return Wo(Lo(),F,e)}function Wo(e,t,n){var r=e.queue;if(r===null)throw Error(a(311));r.lastRenderedReducer=n;var i=e.baseQueue,o=r.pending;if(o!==null){if(i!==null){var s=i.next;i.next=o.next,o.next=s}t.baseQueue=i=o,r.pending=null}if(o=e.baseState,i===null)e.memoizedState=o;else{t=i.next;var c=s=null,l=null,u=t,d=!1;do{var f=u.lane&-536870913;if(f===u.lane?(vo&f)===f:(Zl&f)===f){var p=u.revertLane;if(p===0)l!==null&&(l=l.next={lane:0,revertLane:0,gesture:null,action:u.action,hasEagerState:u.hasEagerState,eagerState:u.eagerState,next:null}),f===_a&&(d=!0);else if((vo&p)===p){u=u.next,p===_a&&(d=!0);continue}else f={lane:0,revertLane:u.revertLane,gesture:null,action:u.action,hasEagerState:u.hasEagerState,eagerState:u.eagerState,next:null},l===null?(c=l=f,s=o):l=l.next=f,yo.lanes|=p,au|=p;f=u.action,Co&&n(o,f),o=u.hasEagerState?u.eagerState:n(o,f)}else p={lane:f,revertLane:u.revertLane,gesture:u.gesture,action:u.action,hasEagerState:u.hasEagerState,eagerState:u.eagerState,next:null},l===null?(c=l=p,s=o):l=l.next=p,yo.lanes|=f,au|=f;u=u.next}while(u!==null&&u!==t);if(l===null?s=o:l.next=c,!Er(o,e.memoizedState)&&(uc=!0,d&&(n=va,n!==null)))throw n;e.memoizedState=o,e.baseState=s,e.baseQueue=l,r.lastRenderedState=o}return i===null&&(r.lanes=0),[e.memoizedState,r.dispatch]}function Go(e){var t=Lo(),n=t.queue;if(n===null)throw Error(a(311));n.lastRenderedReducer=e;var r=n.dispatch,i=n.pending,o=t.memoizedState;if(i!==null){n.pending=null;var s=i=i.next;do o=e(o,s.action),s=s.next;while(s!==i);Er(o,t.memoizedState)||(uc=!0),t.memoizedState=o,t.baseQueue===null&&(t.baseState=o),n.lastRenderedState=o}return[o,r]}function Ko(e,t,n){var r=yo,i=Lo(),o=zi;if(o){if(n===void 0)throw Error(a(407));n=n()}else n=t();var s=!Er((F||i).memoizedState,n);if(s&&(i.memoizedState=n,uc=!0),i=i.queue,_s(Yo.bind(null,r,i,e),[e]),i.getSnapshot!==t||s||bo!==null&&bo.memoizedState.tag&1){if(r.flags|=2048,fs(9,{destroy:void 0},Jo.bind(null,r,i,n,t),null),Yl===null)throw Error(a(349));o||vo&127||qo(r,t,n)}return n}function qo(e,t,n){e.flags|=16384,e={getSnapshot:t,value:n},t=yo.updateQueue,t===null?(t=Ro(),yo.updateQueue=t,t.stores=[e]):(n=t.stores,n===null?t.stores=[e]:n.push(e))}function Jo(e,t,n,r){t.value=n,t.getSnapshot=r,Xo(t)&&Zo(e)}function Yo(e,t,n){return n(function(){Xo(t)&&Zo(e)})}function Xo(e){var t=e.getSnapshot;e=e.value;try{var n=t();return!Er(e,n)}catch{return!0}}function Zo(e){var t=si(e,2);t!==null&&ku(t,e,2)}function Qo(e){var t=Io();if(typeof e==`function`){var n=e;if(e=n(),Co){Be(!0);try{n()}finally{Be(!1)}}}return t.memoizedState=t.baseState=e,t.queue={pending:null,lanes:0,dispatch:null,lastRenderedReducer:Ho,lastRenderedState:e},t}function $o(e,t,n,r){return e.baseState=n,Wo(e,F,typeof r==`function`?r:Ho)}function es(e,t,n,r,i){if(Hs(e))throw Error(a(485));if(e=t.action,e!==null){var o={payload:i,action:e,next:null,isTransition:!0,status:`pending`,value:null,reason:null,listeners:[],then:function(e){o.listeners.push(e)}};P.T===null?o.isTransition=!1:n(!0),r(o),n=t.pending,n===null?(o.next=t.pending=o,ts(t,o)):(o.next=n.next,t.pending=n.next=o)}}function ts(e,t){var n=t.action,r=t.payload,i=e.state;if(t.isTransition){var a=P.T,o={};P.T=o;try{var s=n(i,r),c=P.S;c!==null&&c(o,s),ns(e,t,s)}catch(n){is(e,t,n)}finally{a!==null&&o.types!==null&&(a.types=o.types),P.T=a}}else try{a=n(i,r),ns(e,t,a)}catch(n){is(e,t,n)}}function ns(e,t,n){typeof n==`object`&&n&&typeof n.then==`function`?n.then(function(n){rs(e,t,n)},function(n){return is(e,t,n)}):rs(e,t,n)}function rs(e,t,n){t.status=`fulfilled`,t.value=n,as(t),e.state=n,t=e.pending,t!==null&&(n=t.next,n===t?e.pending=null:(n=n.next,t.next=n,ts(e,n)))}function is(e,t,n){var r=e.pending;if(e.pending=null,r!==null){r=r.next;do t.status=`rejected`,t.reason=n,as(t),t=t.next;while(t!==r)}e.action=null}function as(e){e=e.listeners;for(var t=0;t<e.length;t++)(0,e[t])()}function os(e,t){return t}function ss(e,t){if(zi){var n=Yl.formState;if(n!==null){a:{var r=yo;if(zi){if(Ri){b:{for(var i=Ri,a=Vi;i.nodeType!==8;){if(!a){i=null;break b}if(i=wf(i.nextSibling),i===null){i=null;break b}}a=i.data,i=a===`F!`||a===`F`?i:null}if(i){Ri=wf(i.nextSibling),r=i.data===`F!`;break a}}Ui(r)}r=!1}r&&(t=n[0])}}return n=Io(),n.memoizedState=n.baseState=t,r={pending:null,lanes:0,dispatch:null,lastRenderedReducer:os,lastRenderedState:t},n.queue=r,n=zs.bind(null,yo,r),r.dispatch=n,r=Qo(!1),a=Vs.bind(null,yo,!1,r.queue),r=Io(),i={state:t,dispatch:null,action:e,pending:null},r.queue=i,n=es.bind(null,yo,i,a,n),i.dispatch=n,r.memoizedState=e,[t,n,!1]}function cs(e){return ls(Lo(),F,e)}function ls(e,t,n){if(t=Wo(e,t,os)[0],e=Uo(Ho)[0],typeof t==`object`&&t&&typeof t.then==`function`)try{var r=zo(t)}catch(e){throw e===Da?ka:e}else r=t;t=Lo();var i=t.queue,a=i.dispatch;return n!==t.memoizedState&&(yo.flags|=2048,fs(9,{destroy:void 0},us.bind(null,i,n),null)),[r,a,e]}function us(e,t){e.action=t}function ds(e){var t=Lo(),n=F;if(n!==null)return ls(t,n,e);Lo(),t=t.memoizedState,n=Lo();var r=n.queue.dispatch;return n.memoizedState=e,[t,r,!1]}function fs(e,t,n,r){return e={tag:e,create:n,deps:r,inst:t,next:null},t=yo.updateQueue,t===null&&(t=Ro(),yo.updateQueue=t),n=t.lastEffect,n===null?t.lastEffect=e.next=e:(r=n.next,n.next=e,e.next=r,t.lastEffect=e),e}function ps(){return Lo().memoizedState}function ms(e,t,n,r){var i=Io();yo.flags|=e,i.memoizedState=fs(1|t,{destroy:void 0},n,r===void 0?null:r)}function hs(e,t,n,r){var i=Lo();r=r===void 0?null:r;var a=i.memoizedState.inst;F!==null&&r!==null&&ko(r,F.memoizedState.deps)?i.memoizedState=fs(t,a,n,r):(yo.flags|=e,i.memoizedState=fs(1|t,a,n,r))}function gs(e,t){ms(8390656,8,e,t)}function _s(e,t){hs(2048,8,e,t)}function vs(e){yo.flags|=4;var t=yo.updateQueue;if(t===null)t=Ro(),yo.updateQueue=t,t.events=[e];else{var n=t.events;n===null?t.events=[e]:n.push(e)}}function ys(e){var t=Lo().memoizedState;return vs({ref:t,nextImpl:e}),function(){if(Jl&2)throw Error(a(440));return t.impl.apply(void 0,arguments)}}function bs(e,t){return hs(4,2,e,t)}function xs(e,t){return hs(4,4,e,t)}function Ss(e,t){if(typeof t==`function`){e=e();var n=t(e);return function(){typeof n==`function`?n():t(null)}}if(t!=null)return e=e(),t.current=e,function(){t.current=null}}function Cs(e,t,n){n=n==null?null:n.concat([e]),hs(4,4,Ss.bind(null,t,e),n)}function ws(){}function Ts(e,t){var n=Lo();t=t===void 0?null:t;var r=n.memoizedState;return t!==null&&ko(t,r[1])?r[0]:(n.memoizedState=[e,t],e)}function Es(e,t){var n=Lo();t=t===void 0?null:t;var r=n.memoizedState;if(t!==null&&ko(t,r[1]))return r[0];if(r=e(),Co){Be(!0);try{e()}finally{Be(!1)}}return n.memoizedState=[r,t],r}function Ds(e,t,n){return n===void 0||vo&1073741824&&!(Zl&261930)?e.memoizedState=t:(e.memoizedState=n,e=Ou(),yo.lanes|=e,au|=e,n)}function Os(e,t,n,r){return Er(n,t)?n:ro.current===null?!(vo&42)||vo&1073741824&&!(Zl&261930)?(uc=!0,e.memoizedState=n):(e=Ou(),yo.lanes|=e,au|=e,t):(e=Ds(e,n,r),Er(e,t)||(uc=!0),e)}function ks(e,t,n,r,i){var a=ne.p;ne.p=a!==0&&8>a?a:8;var o=P.T,s={};P.T=s,Vs(e,!1,t,n);try{var c=i(),l=P.S;l!==null&&l(s,c),typeof c==`object`&&c&&typeof c.then==`function`?Bs(e,t,xa(c,r),Du(e)):Bs(e,t,r,Du(e))}catch(n){Bs(e,t,{then:function(){},status:`rejected`,reason:n},Du())}finally{ne.p=a,o!==null&&s.types!==null&&(o.types=s.types),P.T=o}}function As(){}function js(e,t,n,r){if(e.tag!==5)throw Error(a(476));var i=Ms(e).queue;ks(e,i,t,re,n===null?As:function(){return Ns(e),n(r)})}function Ms(e){var t=e.memoizedState;if(t!==null)return t;t={memoizedState:re,baseState:re,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:Ho,lastRenderedState:re},next:null};var n={};return t.next={memoizedState:n,baseState:n,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:Ho,lastRenderedState:n},next:null},e.memoizedState=t,e=e.alternate,e!==null&&(e.memoizedState=t),t}function Ns(e){var t=Ms(e);t.next===null&&(t=e.alternate.memoizedState),Bs(e,t.next.queue,{},Du())}function Ps(){return oa(mp)}function Fs(){return Lo().memoizedState}function Is(){return Lo().memoizedState}function Ls(e){for(var t=e.return;t!==null;){switch(t.tag){case 24:case 3:var n=Du();e=Ja(n);var r=Ya(t,e,n);r!==null&&(ku(r,t,n),Xa(r,t,n)),t={cache:pa()},e.payload=t;return}t=t.return}}function Rs(e,t,n){var r=Du();n={lane:r,revertLane:0,gesture:null,action:n,hasEagerState:!1,eagerState:null,next:null},Hs(e)?Us(t,n):(n=oi(e,t,n,r),n!==null&&(ku(n,e,r),Ws(n,t,r)))}function zs(e,t,n){Bs(e,t,n,Du())}function Bs(e,t,n,r){var i={lane:r,revertLane:0,gesture:null,action:n,hasEagerState:!1,eagerState:null,next:null};if(Hs(e))Us(t,i);else{var a=e.alternate;if(e.lanes===0&&(a===null||a.lanes===0)&&(a=t.lastRenderedReducer,a!==null))try{var o=t.lastRenderedState,s=a(o,n);if(i.hasEagerState=!0,i.eagerState=s,Er(s,o))return ai(e,t,i,0),Yl===null&&ii(),!1}catch{}if(n=oi(e,t,i,r),n!==null)return ku(n,e,r),Ws(n,t,r),!0}return!1}function Vs(e,t,n,r){if(r={lane:2,revertLane:Td(),gesture:null,action:r,hasEagerState:!1,eagerState:null,next:null},Hs(e)){if(t)throw Error(a(479))}else t=oi(e,n,r,2),t!==null&&ku(t,e,2)}function Hs(e){var t=e.alternate;return e===yo||t!==null&&t===yo}function Us(e,t){So=xo=!0;var n=e.pending;n===null?t.next=t:(t.next=n.next,n.next=t),e.pending=t}function Ws(e,t,n){if(n&4194048){var r=t.lanes;r&=e.pendingLanes,n|=r,t.lanes=n,rt(e,n)}}var Gs={readContext:oa,use:Bo,useCallback:Oo,useContext:Oo,useEffect:Oo,useImperativeHandle:Oo,useLayoutEffect:Oo,useInsertionEffect:Oo,useMemo:Oo,useReducer:Oo,useRef:Oo,useState:Oo,useDebugValue:Oo,useDeferredValue:Oo,useTransition:Oo,useSyncExternalStore:Oo,useId:Oo,useHostTransitionStatus:Oo,useFormState:Oo,useActionState:Oo,useOptimistic:Oo,useMemoCache:Oo,useCacheRefresh:Oo};Gs.useEffectEvent=Oo;var Ks={readContext:oa,use:Bo,useCallback:function(e,t){return Io().memoizedState=[e,t===void 0?null:t],e},useContext:oa,useEffect:gs,useImperativeHandle:function(e,t,n){n=n==null?null:n.concat([e]),ms(4194308,4,Ss.bind(null,t,e),n)},useLayoutEffect:function(e,t){return ms(4194308,4,e,t)},useInsertionEffect:function(e,t){ms(4,2,e,t)},useMemo:function(e,t){var n=Io();t=t===void 0?null:t;var r=e();if(Co){Be(!0);try{e()}finally{Be(!1)}}return n.memoizedState=[r,t],r},useReducer:function(e,t,n){var r=Io();if(n!==void 0){var i=n(t);if(Co){Be(!0);try{n(t)}finally{Be(!1)}}}else i=t;return r.memoizedState=r.baseState=i,e={pending:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:i},r.queue=e,e=e.dispatch=Rs.bind(null,yo,e),[r.memoizedState,e]},useRef:function(e){var t=Io();return e={current:e},t.memoizedState=e},useState:function(e){e=Qo(e);var t=e.queue,n=zs.bind(null,yo,t);return t.dispatch=n,[e.memoizedState,n]},useDebugValue:ws,useDeferredValue:function(e,t){return Ds(Io(),e,t)},useTransition:function(){var e=Qo(!1);return e=ks.bind(null,yo,e.queue,!0,!1),Io().memoizedState=e,[!1,e]},useSyncExternalStore:function(e,t,n){var r=yo,i=Io();if(zi){if(n===void 0)throw Error(a(407));n=n()}else{if(n=t(),Yl===null)throw Error(a(349));Zl&127||qo(r,t,n)}i.memoizedState=n;var o={value:n,getSnapshot:t};return i.queue=o,gs(Yo.bind(null,r,o,e),[e]),r.flags|=2048,fs(9,{destroy:void 0},Jo.bind(null,r,o,n,t),null),n},useId:function(){var e=Io(),t=Yl.identifierPrefix;if(zi){var n=ji,r=Ai;n=(r&~(1<<32-Ve(r)-1)).toString(32)+n,t=`_`+t+`R_`+n,n=wo++,0<n&&(t+=`H`+n.toString(32)),t+=`_`}else n=Do++,t=`_`+t+`r_`+n.toString(32)+`_`;return e.memoizedState=t},useHostTransitionStatus:Ps,useFormState:ss,useActionState:ss,useOptimistic:function(e){var t=Io();t.memoizedState=t.baseState=e;var n={pending:null,lanes:0,dispatch:null,lastRenderedReducer:null,lastRenderedState:null};return t.queue=n,t=Vs.bind(null,yo,!0,n),n.dispatch=t,[e,t]},useMemoCache:Vo,useCacheRefresh:function(){return Io().memoizedState=Ls.bind(null,yo)},useEffectEvent:function(e){var t=Io(),n={impl:e};return t.memoizedState=n,function(){if(Jl&2)throw Error(a(440));return n.impl.apply(void 0,arguments)}}},qs={readContext:oa,use:Bo,useCallback:Ts,useContext:oa,useEffect:_s,useImperativeHandle:Cs,useInsertionEffect:bs,useLayoutEffect:xs,useMemo:Es,useReducer:Uo,useRef:ps,useState:function(){return Uo(Ho)},useDebugValue:ws,useDeferredValue:function(e,t){return Os(Lo(),F.memoizedState,e,t)},useTransition:function(){var e=Uo(Ho)[0],t=Lo().memoizedState;return[typeof e==`boolean`?e:zo(e),t]},useSyncExternalStore:Ko,useId:Fs,useHostTransitionStatus:Ps,useFormState:cs,useActionState:cs,useOptimistic:function(e,t){return $o(Lo(),F,e,t)},useMemoCache:Vo,useCacheRefresh:Is};qs.useEffectEvent=ys;var Js={readContext:oa,use:Bo,useCallback:Ts,useContext:oa,useEffect:_s,useImperativeHandle:Cs,useInsertionEffect:bs,useLayoutEffect:xs,useMemo:Es,useReducer:Go,useRef:ps,useState:function(){return Go(Ho)},useDebugValue:ws,useDeferredValue:function(e,t){var n=Lo();return F===null?Ds(n,e,t):Os(n,F.memoizedState,e,t)},useTransition:function(){var e=Go(Ho)[0],t=Lo().memoizedState;return[typeof e==`boolean`?e:zo(e),t]},useSyncExternalStore:Ko,useId:Fs,useHostTransitionStatus:Ps,useFormState:ds,useActionState:ds,useOptimistic:function(e,t){var n=Lo();return F===null?(n.baseState=e,[e,n.queue.dispatch]):$o(n,F,e,t)},useMemoCache:Vo,useCacheRefresh:Is};Js.useEffectEvent=ys;function Ys(e,t,n,r){t=e.memoizedState,n=n(r,t),n=n==null?t:h({},t,n),e.memoizedState=n,e.lanes===0&&(e.updateQueue.baseState=n)}var Xs={enqueueSetState:function(e,t,n){e=e._reactInternals;var r=Du(),i=Ja(r);i.payload=t,n!=null&&(i.callback=n),t=Ya(e,i,r),t!==null&&(ku(t,e,r),Xa(t,e,r))},enqueueReplaceState:function(e,t,n){e=e._reactInternals;var r=Du(),i=Ja(r);i.tag=1,i.payload=t,n!=null&&(i.callback=n),t=Ya(e,i,r),t!==null&&(ku(t,e,r),Xa(t,e,r))},enqueueForceUpdate:function(e,t){e=e._reactInternals;var n=Du(),r=Ja(n);r.tag=2,t!=null&&(r.callback=t),t=Ya(e,r,n),t!==null&&(ku(t,e,n),Xa(t,e,n))}};function Zs(e,t,n,r,i,a,o){return e=e.stateNode,typeof e.shouldComponentUpdate==`function`?e.shouldComponentUpdate(r,a,o):t.prototype&&t.prototype.isPureReactComponent?!Dr(n,r)||!Dr(i,a):!0}function Qs(e,t,n,r){e=t.state,typeof t.componentWillReceiveProps==`function`&&t.componentWillReceiveProps(n,r),typeof t.UNSAFE_componentWillReceiveProps==`function`&&t.UNSAFE_componentWillReceiveProps(n,r),t.state!==e&&Xs.enqueueReplaceState(t,t.state,null)}function $s(e,t){var n=t;if(`ref`in t)for(var r in n={},t)r!==`ref`&&(n[r]=t[r]);if(e=e.defaultProps)for(var i in n===t&&(n=h({},n)),e)n[i]===void 0&&(n[i]=e[i]);return n}function ec(e){ei(e)}function tc(e){console.error(e)}function nc(e){ei(e)}function rc(e,t){try{var n=e.onUncaughtError;n(t.value,{componentStack:t.stack})}catch(e){setTimeout(function(){throw e})}}function ic(e,t,n){try{var r=e.onCaughtError;r(n.value,{componentStack:n.stack,errorBoundary:t.tag===1?t.stateNode:null})}catch(e){setTimeout(function(){throw e})}}function ac(e,t,n){return n=Ja(n),n.tag=3,n.payload={element:null},n.callback=function(){rc(e,t)},n}function oc(e){return e=Ja(e),e.tag=3,e}function sc(e,t,n,r){var i=n.type.getDerivedStateFromError;if(typeof i==`function`){var a=r.value;e.payload=function(){return i(a)},e.callback=function(){ic(t,n,r)}}var o=n.stateNode;o!==null&&typeof o.componentDidCatch==`function`&&(e.callback=function(){ic(t,n,r),typeof i!=`function`&&(_u===null?_u=new Set([this]):_u.add(this));var e=r.stack;this.componentDidCatch(r.value,{componentStack:e===null?``:e})})}function cc(e,t,n,r,i){if(n.flags|=32768,typeof r==`object`&&r&&typeof r.then==`function`){if(t=n.alternate,t!==null&&ra(t,n,i,!0),n=co.current,n!==null){switch(n.tag){case 31:case 13:return lo===null?Vu():n.alternate===null&&iu===0&&(iu=3),n.flags&=-257,n.flags|=65536,n.lanes=i,r===Aa?n.flags|=16384:(t=n.updateQueue,t===null?n.updateQueue=new Set([r]):t.add(r),ad(e,r,i)),!1;case 22:return n.flags|=65536,r===Aa?n.flags|=16384:(t=n.updateQueue,t===null?(t={transitions:null,markerInstances:null,retryQueue:new Set([r])},n.updateQueue=t):(n=t.retryQueue,n===null?t.retryQueue=new Set([r]):n.add(r)),ad(e,r,i)),!1}throw Error(a(435,n.tag))}return ad(e,r,i),Vu(),!1}if(zi)return t=co.current,t===null?(r!==Hi&&(t=Error(a(423),{cause:r}),Yi(Si(t,n))),e=e.current.alternate,e.flags|=65536,i&=-i,e.lanes|=i,r=Si(r,n),i=ac(e.stateNode,r,i),Za(e,i),iu!==4&&(iu=2)):(!(t.flags&65536)&&(t.flags|=256),t.flags|=65536,t.lanes=i,r!==Hi&&(e=Error(a(422),{cause:r}),Yi(Si(e,n)))),!1;var o=Error(a(520),{cause:r});if(o=Si(o,n),uu===null?uu=[o]:uu.push(o),iu!==4&&(iu=2),t===null)return!0;r=Si(r,n),n=t;do{switch(n.tag){case 3:return n.flags|=65536,e=i&-i,n.lanes|=e,e=ac(n.stateNode,r,e),Za(n,e),!1;case 1:if(t=n.type,o=n.stateNode,!(n.flags&128)&&(typeof t.getDerivedStateFromError==`function`||o!==null&&typeof o.componentDidCatch==`function`&&(_u===null||!_u.has(o))))return n.flags|=65536,i&=-i,n.lanes|=i,i=oc(i),sc(i,e,n,r),Za(n,i),!1}n=n.return}while(n!==null);return!1}var lc=Error(a(461)),uc=!1;function dc(e,t,n,r){t.child=e===null?Wa(t,null,n,r):Ua(t,e.child,n,r)}function fc(e,t,n,r,i){n=n.render;var a=t.ref;if(`ref`in r){var o={};for(var s in r)s!==`ref`&&(o[s]=r[s])}else o=r;return aa(t),r=Ao(e,t,n,o,a,i),s=I(),e!==null&&!uc?(Po(e,t,i),Ic(e,t,i)):(zi&&s&&Pi(t),t.flags|=1,dc(e,t,r,i),t.child)}function pc(e,t,n,r,i){if(e===null){var a=n.type;return typeof a==`function`&&!pi(a)&&a.defaultProps===void 0&&n.compare===null?(t.tag=15,t.type=a,mc(e,t,a,r,i)):(e=gi(n.type,null,r,t,t.mode,i),e.ref=t.ref,e.return=t,t.child=e)}if(a=e.child,!Lc(e,i)){var o=a.memoizedProps;if(n=n.compare,n=n===null?Dr:n,n(o,r)&&e.ref===t.ref)return Ic(e,t,i)}return t.flags|=1,e=mi(a,r),e.ref=t.ref,e.return=t,t.child=e}function mc(e,t,n,r,i){if(e!==null){var a=e.memoizedProps;if(Dr(a,r)&&e.ref===t.ref){if(uc=!1,t.pendingProps=r=a,Lc(e,i))e.flags&131072&&(uc=!0);else return t.lanes=e.lanes,Ic(e,t,i)}}return Sc(e,t,n,r,i)}function hc(e,t,n,r){var i=r.children,a=e===null?null:e.memoizedState;if(e===null&&t.stateNode===null&&(t.stateNode={_visibility:1,_pendingMarkers:null,_retryCache:null,_transitions:null}),r.mode===`hidden`){if(t.flags&128){if(a=a===null?n:a.baseLanes|n,e!==null){for(r=t.child=e.child,i=0;r!==null;)i=i|r.lanes|r.childLanes,r=r.sibling;r=i&~a}else r=0,t.child=null;return _c(e,t,a,n,r)}if(n&536870912)t.memoizedState={baseLanes:0,cachePool:null},e!==null&&Ta(t,a===null?null:a.cachePool),a===null?oo():ao(t,a),po(t);else return r=t.lanes=536870912,_c(e,t,a===null?n:a.baseLanes|n,n,r)}else a===null?(e!==null&&Ta(t,null),oo(),mo(t)):(Ta(t,a.cachePool),ao(t,a),mo(t),t.memoizedState=null);return dc(e,t,i,n),t.child}function gc(e,t){return e!==null&&e.tag===22||t.stateNode!==null||(t.stateNode={_visibility:1,_pendingMarkers:null,_retryCache:null,_transitions:null}),t.sibling}function _c(e,t,n,r,i){var a=wa();return a=a===null?null:{parent:fa._currentValue,pool:a},t.memoizedState={baseLanes:n,cachePool:a},e!==null&&Ta(t,null),oo(),po(t),e!==null&&ra(e,t,r,!0),t.childLanes=i,null}function vc(e,t){return t=jc({mode:t.mode,children:t.children},e.mode),t.ref=e.ref,e.child=t,t.return=e,t}function yc(e,t,n){return Ua(t,e.child,null,n),e=vc(t,t.pendingProps),e.flags|=2,ho(t),t.memoizedState=null,e}function bc(e,t,n){var r=t.pendingProps,i=!!(t.flags&128);if(t.flags&=-129,e===null){if(zi){if(r.mode===`hidden`)return e=vc(t,r),t.lanes=536870912,gc(null,e);if(fo(t),(e=Ri)?(e=bf(e,Vi),e=e!==null&&e.data===`&`?e:null,e!==null&&(t.memoizedState={dehydrated:e,treeContext:ki===null?null:{id:Ai,overflow:ji},retryLane:536870912,hydrationErrors:null},n=yi(e),n.return=t,t.child=n,Li=t,Ri=null)):e=null,e===null)throw Ui(t);return t.lanes=536870912,null}return vc(t,r)}var o=e.memoizedState;if(o!==null){var s=o.dehydrated;if(fo(t),i){if(t.flags&256)t.flags&=-257,t=yc(e,t,n);else if(t.memoizedState!==null)t.child=e.child,t.flags|=128,t=null;else throw Error(a(558))}else if(uc||ra(e,t,n,!1),i=(n&e.childLanes)!==0,uc||i){if(r=Yl,r!==null&&(s=it(r,n),s!==0&&s!==o.retryLane))throw o.retryLane=s,si(e,s),ku(r,e,s),lc;Vu(),t=yc(e,t,n)}else e=o.treeContext,Ri=wf(s.nextSibling),Li=t,zi=!0,Bi=null,Vi=!1,e!==null&&Ii(t,e),t=vc(t,r),t.flags|=4096;return t}return e=mi(e.child,{mode:r.mode,children:r.children}),e.ref=t.ref,t.child=e,e.return=t,e}function xc(e,t){var n=t.ref;if(n===null)e!==null&&e.ref!==null&&(t.flags|=4194816);else{if(typeof n!=`function`&&typeof n!=`object`)throw Error(a(284));(e===null||e.ref!==n)&&(t.flags|=4194816)}}function Sc(e,t,n,r,i){return aa(t),n=Ao(e,t,n,r,void 0,i),r=I(),e!==null&&!uc?(Po(e,t,i),Ic(e,t,i)):(zi&&r&&Pi(t),t.flags|=1,dc(e,t,n,i),t.child)}function Cc(e,t,n,r,i,a){return aa(t),t.updateQueue=null,n=Mo(t,r,n,i),jo(e),r=I(),e!==null&&!uc?(Po(e,t,a),Ic(e,t,a)):(zi&&r&&Pi(t),t.flags|=1,dc(e,t,n,a),t.child)}function wc(e,t,n,r,i){if(aa(t),t.stateNode===null){var a=ui,o=n.contextType;typeof o==`object`&&o&&(a=oa(o)),a=new n(r,a),t.memoizedState=a.state!==null&&a.state!==void 0?a.state:null,a.updater=Xs,t.stateNode=a,a._reactInternals=t,a=t.stateNode,a.props=r,a.state=t.memoizedState,a.refs={},Ka(t),o=n.contextType,a.context=typeof o==`object`&&o?oa(o):ui,a.state=t.memoizedState,o=n.getDerivedStateFromProps,typeof o==`function`&&(Ys(t,n,o,r),a.state=t.memoizedState),typeof n.getDerivedStateFromProps==`function`||typeof a.getSnapshotBeforeUpdate==`function`||typeof a.UNSAFE_componentWillMount!=`function`&&typeof a.componentWillMount!=`function`||(o=a.state,typeof a.componentWillMount==`function`&&a.componentWillMount(),typeof a.UNSAFE_componentWillMount==`function`&&a.UNSAFE_componentWillMount(),o!==a.state&&Xs.enqueueReplaceState(a,a.state,null),eo(t,r,a,i),$a(),a.state=t.memoizedState),typeof a.componentDidMount==`function`&&(t.flags|=4194308),r=!0}else if(e===null){a=t.stateNode;var s=t.memoizedProps,c=$s(n,s);a.props=c;var l=a.context,u=n.contextType;o=ui,typeof u==`object`&&u&&(o=oa(u));var d=n.getDerivedStateFromProps;u=typeof d==`function`||typeof a.getSnapshotBeforeUpdate==`function`,s=t.pendingProps!==s,u||typeof a.UNSAFE_componentWillReceiveProps!=`function`&&typeof a.componentWillReceiveProps!=`function`||(s||l!==o)&&Qs(t,a,r,o),Ga=!1;var f=t.memoizedState;a.state=f,eo(t,r,a,i),$a(),l=t.memoizedState,s||f!==l||Ga?(typeof d==`function`&&(Ys(t,n,d,r),l=t.memoizedState),(c=Ga||Zs(t,n,c,r,f,l,o))?(u||typeof a.UNSAFE_componentWillMount!=`function`&&typeof a.componentWillMount!=`function`||(typeof a.componentWillMount==`function`&&a.componentWillMount(),typeof a.UNSAFE_componentWillMount==`function`&&a.UNSAFE_componentWillMount()),typeof a.componentDidMount==`function`&&(t.flags|=4194308)):(typeof a.componentDidMount==`function`&&(t.flags|=4194308),t.memoizedProps=r,t.memoizedState=l),a.props=r,a.state=l,a.context=o,r=c):(typeof a.componentDidMount==`function`&&(t.flags|=4194308),r=!1)}else{a=t.stateNode,qa(e,t),o=t.memoizedProps,u=$s(n,o),a.props=u,d=t.pendingProps,f=a.context,l=n.contextType,c=ui,typeof l==`object`&&l&&(c=oa(l)),s=n.getDerivedStateFromProps,(l=typeof s==`function`||typeof a.getSnapshotBeforeUpdate==`function`)||typeof a.UNSAFE_componentWillReceiveProps!=`function`&&typeof a.componentWillReceiveProps!=`function`||(o!==d||f!==c)&&Qs(t,a,r,c),Ga=!1,f=t.memoizedState,a.state=f,eo(t,r,a,i),$a();var p=t.memoizedState;o!==d||f!==p||Ga||e!==null&&e.dependencies!==null&&ia(e.dependencies)?(typeof s==`function`&&(Ys(t,n,s,r),p=t.memoizedState),(u=Ga||Zs(t,n,u,r,f,p,c)||e!==null&&e.dependencies!==null&&ia(e.dependencies))?(l||typeof a.UNSAFE_componentWillUpdate!=`function`&&typeof a.componentWillUpdate!=`function`||(typeof a.componentWillUpdate==`function`&&a.componentWillUpdate(r,p,c),typeof a.UNSAFE_componentWillUpdate==`function`&&a.UNSAFE_componentWillUpdate(r,p,c)),typeof a.componentDidUpdate==`function`&&(t.flags|=4),typeof a.getSnapshotBeforeUpdate==`function`&&(t.flags|=1024)):(typeof a.componentDidUpdate!=`function`||o===e.memoizedProps&&f===e.memoizedState||(t.flags|=4),typeof a.getSnapshotBeforeUpdate!=`function`||o===e.memoizedProps&&f===e.memoizedState||(t.flags|=1024),t.memoizedProps=r,t.memoizedState=p),a.props=r,a.state=p,a.context=c,r=u):(typeof a.componentDidUpdate!=`function`||o===e.memoizedProps&&f===e.memoizedState||(t.flags|=4),typeof a.getSnapshotBeforeUpdate!=`function`||o===e.memoizedProps&&f===e.memoizedState||(t.flags|=1024),r=!1)}return a=r,xc(e,t),r=!!(t.flags&128),a||r?(a=t.stateNode,n=r&&typeof n.getDerivedStateFromError!=`function`?null:a.render(),t.flags|=1,e!==null&&r?(t.child=Ua(t,e.child,null,i),t.child=Ua(t,null,n,i)):dc(e,t,n,i),t.memoizedState=a.state,e=t.child):e=Ic(e,t,i),e}function Tc(e,t,n,r){return qi(),t.flags|=256,dc(e,t,n,r),t.child}var Ec={dehydrated:null,treeContext:null,retryLane:0,hydrationErrors:null};function Dc(e){return{baseLanes:e,cachePool:Ea()}}function Oc(e,t,n){return e=e===null?0:e.childLanes&~n,t&&(e|=cu),e}function kc(e,t,n){var r=t.pendingProps,i=!1,o=!!(t.flags&128),s;if((s=o)||(s=e!==null&&e.memoizedState===null?!1:!!(go.current&2)),s&&(i=!0,t.flags&=-129),s=!!(t.flags&32),t.flags&=-33,e===null){if(zi){if(i?uo(t):mo(t),(e=Ri)?(e=bf(e,Vi),e=e!==null&&e.data!==`&`?e:null,e!==null&&(t.memoizedState={dehydrated:e,treeContext:ki===null?null:{id:Ai,overflow:ji},retryLane:536870912,hydrationErrors:null},n=yi(e),n.return=t,t.child=n,Li=t,Ri=null)):e=null,e===null)throw Ui(t);return Sf(e)?t.lanes=32:t.lanes=536870912,null}var c=r.children;return r=r.fallback,i?(mo(t),i=t.mode,c=jc({mode:`hidden`,children:c},i),r=_i(r,i,n,null),c.return=t,r.return=t,c.sibling=r,t.child=c,r=t.child,r.memoizedState=Dc(n),r.childLanes=Oc(e,s,n),t.memoizedState=Ec,gc(null,r)):(uo(t),Ac(t,c))}var l=e.memoizedState;if(l!==null&&(c=l.dehydrated,c!==null)){if(o)t.flags&256?(uo(t),t.flags&=-257,t=Mc(e,t,n)):t.memoizedState===null?(mo(t),c=r.fallback,i=t.mode,r=jc({mode:`visible`,children:r.children},i),c=_i(c,i,n,null),c.flags|=2,r.return=t,c.return=t,r.sibling=c,t.child=r,Ua(t,e.child,null,n),r=t.child,r.memoizedState=Dc(n),r.childLanes=Oc(e,s,n),t.memoizedState=Ec,t=gc(null,r)):(mo(t),t.child=e.child,t.flags|=128,t=null);else if(uo(t),Sf(c)){if(s=c.nextSibling&&c.nextSibling.dataset,s)var u=s.dgst;s=u,r=Error(a(419)),r.stack=``,r.digest=s,Yi({value:r,source:null,stack:null}),t=Mc(e,t,n)}else if(uc||ra(e,t,n,!1),s=(n&e.childLanes)!==0,uc||s){if(s=Yl,s!==null&&(r=it(s,n),r!==0&&r!==l.retryLane))throw l.retryLane=r,si(e,r),ku(s,e,r),lc;xf(c)||Vu(),t=Mc(e,t,n)}else xf(c)?(t.flags|=192,t.child=e.child,t=null):(e=l.treeContext,Ri=wf(c.nextSibling),Li=t,zi=!0,Bi=null,Vi=!1,e!==null&&Ii(t,e),t=Ac(t,r.children),t.flags|=4096);return t}return i?(mo(t),c=r.fallback,i=t.mode,l=e.child,u=l.sibling,r=mi(l,{mode:`hidden`,children:r.children}),r.subtreeFlags=l.subtreeFlags&65011712,u===null?(c=_i(c,i,n,null),c.flags|=2):c=mi(u,c),c.return=t,r.return=t,r.sibling=c,t.child=r,gc(null,r),r=t.child,c=e.child.memoizedState,c===null?c=Dc(n):(i=c.cachePool,i===null?i=Ea():(l=fa._currentValue,i=i.parent===l?i:{parent:l,pool:l}),c={baseLanes:c.baseLanes|n,cachePool:i}),r.memoizedState=c,r.childLanes=Oc(e,s,n),t.memoizedState=Ec,gc(e.child,r)):(uo(t),n=e.child,e=n.sibling,n=mi(n,{mode:`visible`,children:r.children}),n.return=t,n.sibling=null,e!==null&&(s=t.deletions,s===null?(t.deletions=[e],t.flags|=16):s.push(e)),t.child=n,t.memoizedState=null,n)}function Ac(e,t){return t=jc({mode:`visible`,children:t},e.mode),t.return=e,e.child=t}function jc(e,t){return e=fi(22,e,null,t),e.lanes=0,e}function Mc(e,t,n){return Ua(t,e.child,null,n),e=Ac(t,t.pendingProps.children),e.flags|=2,t.memoizedState=null,e}function Nc(e,t,n){e.lanes|=t;var r=e.alternate;r!==null&&(r.lanes|=t),ta(e.return,t,n)}function Pc(e,t,n,r,i,a){var o=e.memoizedState;o===null?e.memoizedState={isBackwards:t,rendering:null,renderingStartTime:0,last:r,tail:n,tailMode:i,treeForkCount:a}:(o.isBackwards=t,o.rendering=null,o.renderingStartTime=0,o.last=r,o.tail=n,o.tailMode=i,o.treeForkCount=a)}function Fc(e,t,n){var r=t.pendingProps,i=r.revealOrder,a=r.tail;r=r.children;var o=go.current,s=!!(o&2);if(s?(o=o&1|2,t.flags|=128):o&=1,ce(go,o),dc(e,t,r,n),r=zi?Ei:0,!s&&e!==null&&e.flags&128)a:for(e=t.child;e!==null;){if(e.tag===13)e.memoizedState!==null&&Nc(e,n,t);else if(e.tag===19)Nc(e,n,t);else if(e.child!==null){e.child.return=e,e=e.child;continue}if(e===t)break a;for(;e.sibling===null;){if(e.return===null||e.return===t)break a;e=e.return}e.sibling.return=e.return,e=e.sibling}switch(i){case`forwards`:for(n=t.child,i=null;n!==null;)e=n.alternate,e!==null&&_o(e)===null&&(i=n),n=n.sibling;n=i,n===null?(i=t.child,t.child=null):(i=n.sibling,n.sibling=null),Pc(t,!1,i,n,a,r);break;case`backwards`:case`unstable_legacy-backwards`:for(n=null,i=t.child,t.child=null;i!==null;){if(e=i.alternate,e!==null&&_o(e)===null){t.child=i;break}e=i.sibling,i.sibling=n,n=i,i=e}Pc(t,!0,n,null,a,r);break;case`together`:Pc(t,!1,null,null,void 0,r);break;default:t.memoizedState=null}return t.child}function Ic(e,t,n){if(e!==null&&(t.dependencies=e.dependencies),au|=t.lanes,(n&t.childLanes)===0){if(e!==null){if(ra(e,t,n,!1),(n&t.childLanes)===0)return null}else return null}if(e!==null&&t.child!==e.child)throw Error(a(153));if(t.child!==null){for(e=t.child,n=mi(e,e.pendingProps),t.child=n,n.return=t;e.sibling!==null;)e=e.sibling,n=n.sibling=mi(e,e.pendingProps),n.return=t;n.sibling=null}return t.child}function Lc(e,t){return(e.lanes&t)!==0||(e=e.dependencies,!!(e!==null&&ia(e)))}function Rc(e,t,n){switch(t.tag){case 3:pe(t,t.stateNode.containerInfo),$i(t,fa,e.memoizedState.cache),qi();break;case 27:case 5:he(t);break;case 4:pe(t,t.stateNode.containerInfo);break;case 10:$i(t,t.type,t.memoizedProps.value);break;case 31:if(t.memoizedState!==null)return t.flags|=128,fo(t),null;break;case 13:var r=t.memoizedState;if(r!==null)return r.dehydrated===null?(n&t.child.childLanes)===0?(uo(t),e=Ic(e,t,n),e===null?null:e.sibling):kc(e,t,n):(uo(t),t.flags|=128,null);uo(t);break;case 19:var i=!!(e.flags&128);if(r=(n&t.childLanes)!==0,r||=(ra(e,t,n,!1),(n&t.childLanes)!==0),i){if(r)return Fc(e,t,n);t.flags|=128}if(i=t.memoizedState,i!==null&&(i.rendering=null,i.tail=null,i.lastEffect=null),ce(go,go.current),r)break;return null;case 22:return t.lanes=0,hc(e,t,n,t.pendingProps);case 24:$i(t,fa,e.memoizedState.cache)}return Ic(e,t,n)}function zc(e,t,n){if(e!==null){if(e.memoizedProps!==t.pendingProps)uc=!0;else{if(!Lc(e,n)&&!(t.flags&128))return uc=!1,Rc(e,t,n);uc=!!(e.flags&131072)}}else uc=!1,zi&&t.flags&1048576&&Ni(t,Ei,t.index);switch(t.lanes=0,t.tag){case 16:a:{var r=t.pendingProps;if(e=Na(t.elementType),t.type=e,typeof e==`function`)pi(e)?(r=$s(e,r),t.tag=1,t=wc(null,t,e,r,n)):(t.tag=0,t=Sc(null,t,e,r,n));else{if(e!=null){var i=e.$$typeof;if(i===w){t.tag=11,t=fc(null,t,e,r,n);break a}if(i===D){t.tag=14,t=pc(null,t,e,r,n);break a}}throw t=ee(e)||e,Error(a(306,t,``))}}return t;case 0:return Sc(e,t,t.type,t.pendingProps,n);case 1:return r=t.type,i=$s(r,t.pendingProps),wc(e,t,r,i,n);case 3:a:{if(pe(t,t.stateNode.containerInfo),e===null)throw Error(a(387));r=t.pendingProps;var o=t.memoizedState;i=o.element,qa(e,t),eo(t,r,null,n);var s=t.memoizedState;if(r=s.cache,$i(t,fa,r),r!==o.cache&&na(t,[fa],n,!0),$a(),r=s.element,o.isDehydrated){if(o={element:r,isDehydrated:!1,cache:s.cache},t.updateQueue.baseState=o,t.memoizedState=o,t.flags&256){t=Tc(e,t,r,n);break a}if(r!==i){i=Si(Error(a(424)),t),Yi(i),t=Tc(e,t,r,n);break a}switch(e=t.stateNode.containerInfo,e.nodeType){case 9:e=e.body;break;default:e=e.nodeName===`HTML`?e.ownerDocument.body:e}for(Ri=wf(e.firstChild),Li=t,zi=!0,Bi=null,Vi=!0,n=Wa(t,null,r,n),t.child=n;n;)n.flags=n.flags&-3|4096,n=n.sibling}else{if(qi(),r===i){t=Ic(e,t,n);break a}dc(e,t,r,n)}t=t.child}return t;case 26:return xc(e,t),e===null?(n=Gf(t.type,null,t.pendingProps,null))?t.memoizedState=n:zi||(n=t.type,e=t.pendingProps,r=nf(de.current).createElement(n),r[ut]=t,r[dt]=e,Xd(r,n,e),Ct(r),t.stateNode=r):t.memoizedState=Gf(t.type,e.memoizedProps,t.pendingProps,e.memoizedState),null;case 27:return he(t),e===null&&zi&&(r=t.stateNode=Of(t.type,t.pendingProps,de.current),Li=t,Vi=!0,i=Ri,mf(t.type)?(Tf=i,Ri=wf(r.firstChild)):Ri=i),dc(e,t,t.pendingProps.children,n),xc(e,t),e===null&&(t.flags|=4194304),t.child;case 5:return e===null&&zi&&((i=r=Ri)&&(r=vf(r,t.type,t.pendingProps,Vi),r===null?i=!1:(t.stateNode=r,Li=t,Ri=wf(r.firstChild),Vi=!1,i=!0)),i||Ui(t)),he(t),i=t.type,o=t.pendingProps,s=e===null?null:e.memoizedProps,r=o.children,of(i,o)?r=null:s!==null&&of(i,s)&&(t.flags|=32),t.memoizedState!==null&&(i=Ao(e,t,No,null,null,n),mp._currentValue=i),xc(e,t),dc(e,t,r,n),t.child;case 6:return e===null&&zi&&((e=n=Ri)&&(n=yf(n,t.pendingProps,Vi),n===null?e=!1:(t.stateNode=n,Li=t,Ri=null,e=!0)),e||Ui(t)),null;case 13:return kc(e,t,n);case 4:return pe(t,t.stateNode.containerInfo),r=t.pendingProps,e===null?t.child=Ua(t,null,r,n):dc(e,t,r,n),t.child;case 11:return fc(e,t,t.type,t.pendingProps,n);case 7:return dc(e,t,t.pendingProps,n),t.child;case 8:return dc(e,t,t.pendingProps.children,n),t.child;case 12:return dc(e,t,t.pendingProps.children,n),t.child;case 10:return r=t.pendingProps,$i(t,t.type,r.value),dc(e,t,r.children,n),t.child;case 9:return i=t.type._context,r=t.pendingProps.children,aa(t),i=oa(i),r=r(i),t.flags|=1,dc(e,t,r,n),t.child;case 14:return pc(e,t,t.type,t.pendingProps,n);case 15:return mc(e,t,t.type,t.pendingProps,n);case 19:return Fc(e,t,n);case 31:return bc(e,t,n);case 22:return hc(e,t,n,t.pendingProps);case 24:return aa(t),r=oa(fa),e===null?(i=wa(),i===null&&(i=Yl,o=pa(),i.pooledCache=o,o.refCount++,o!==null&&(i.pooledCacheLanes|=n),i=o),t.memoizedState={parent:r,cache:i},Ka(t),$i(t,fa,i)):((e.lanes&n)!==0&&(qa(e,t),eo(t,null,null,n),$a()),i=e.memoizedState,o=t.memoizedState,i.parent===r?(r=o.cache,$i(t,fa,r),r!==i.cache&&na(t,[fa],n,!0)):(i={parent:r,cache:r},t.memoizedState=i,t.lanes===0&&(t.memoizedState=t.updateQueue.baseState=i),$i(t,fa,r))),dc(e,t,t.pendingProps.children,n),t.child;case 29:throw t.pendingProps}throw Error(a(156,t.tag))}function Bc(e){e.flags|=4}function Vc(e,t,n,r,i){if((t=!!(e.mode&32))&&(t=!1),t){if(e.flags|=16777216,(i&335544128)===i){if(e.stateNode.complete)e.flags|=8192;else if(Ru())e.flags|=8192;else throw Pa=Aa,Oa}}else e.flags&=-16777217}function Hc(e,t){if(t.type!==`stylesheet`||t.state.loading&4)e.flags&=-16777217;else if(e.flags|=16777216,!op(t)){if(Ru())e.flags|=8192;else throw Pa=Aa,Oa}}function Uc(e,t){t!==null&&(e.flags|=4),e.flags&16384&&(t=e.tag===22?536870912:Qe(),e.lanes|=t,lu|=t)}function Wc(e,t){if(!zi)switch(e.tailMode){case`hidden`:t=e.tail;for(var n=null;t!==null;)t.alternate!==null&&(n=t),t=t.sibling;n===null?e.tail=null:n.sibling=null;break;case`collapsed`:n=e.tail;for(var r=null;n!==null;)n.alternate!==null&&(r=n),n=n.sibling;r===null?t||e.tail===null?e.tail=null:e.tail.sibling=null:r.sibling=null}}function Gc(e){var t=e.alternate!==null&&e.alternate.child===e.child,n=0,r=0;if(t)for(var i=e.child;i!==null;)n|=i.lanes|i.childLanes,r|=i.subtreeFlags&65011712,r|=i.flags&65011712,i.return=e,i=i.sibling;else for(i=e.child;i!==null;)n|=i.lanes|i.childLanes,r|=i.subtreeFlags,r|=i.flags,i.return=e,i=i.sibling;return e.subtreeFlags|=r,e.childLanes=n,t}function Kc(e,t,n){var r=t.pendingProps;switch(Fi(t),t.tag){case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return Gc(t),null;case 1:return Gc(t),null;case 3:return n=t.stateNode,r=null,e!==null&&(r=e.memoizedState.cache),t.memoizedState.cache!==r&&(t.flags|=2048),ea(fa),me(),n.pendingContext&&(n.context=n.pendingContext,n.pendingContext=null),(e===null||e.child===null)&&(Ki(t)?Bc(t):e===null||e.memoizedState.isDehydrated&&!(t.flags&256)||(t.flags|=1024,Ji())),Gc(t),null;case 26:var i=t.type,o=t.memoizedState;return e===null?(Bc(t),o===null?(Gc(t),Vc(t,i,null,r,n)):(Gc(t),Hc(t,o))):o?o===e.memoizedState?(Gc(t),t.flags&=-16777217):(Bc(t),Gc(t),Hc(t,o)):(e=e.memoizedProps,e!==r&&Bc(t),Gc(t),Vc(t,i,e,r,n)),null;case 27:if(ge(t),n=de.current,i=t.type,e!==null&&t.stateNode!=null)e.memoizedProps!==r&&Bc(t);else{if(!r){if(t.stateNode===null)throw Error(a(166));return Gc(t),null}e=le.current,Ki(t)?Wi(t,e):(e=Of(i,r,n),t.stateNode=e,Bc(t))}return Gc(t),null;case 5:if(ge(t),i=t.type,e!==null&&t.stateNode!=null)e.memoizedProps!==r&&Bc(t);else{if(!r){if(t.stateNode===null)throw Error(a(166));return Gc(t),null}if(o=le.current,Ki(t))Wi(t,o);else{var s=nf(de.current);switch(o){case 1:o=s.createElementNS(`http://www.w3.org/2000/svg`,i);break;case 2:o=s.createElementNS(`http://www.w3.org/1998/Math/MathML`,i);break;default:switch(i){case`svg`:o=s.createElementNS(`http://www.w3.org/2000/svg`,i);break;case`math`:o=s.createElementNS(`http://www.w3.org/1998/Math/MathML`,i);break;case`script`:o=s.createElement(`div`),o.innerHTML=`<script><\/script>`,o=o.removeChild(o.firstChild);break;case`select`:o=typeof r.is==`string`?s.createElement(`select`,{is:r.is}):s.createElement(`select`),r.multiple?o.multiple=!0:r.size&&(o.size=r.size);break;default:o=typeof r.is==`string`?s.createElement(i,{is:r.is}):s.createElement(i)}}o[ut]=t,o[dt]=r;a:for(s=t.child;s!==null;){if(s.tag===5||s.tag===6)o.appendChild(s.stateNode);else if(s.tag!==4&&s.tag!==27&&s.child!==null){s.child.return=s,s=s.child;continue}if(s===t)break a;for(;s.sibling===null;){if(s.return===null||s.return===t)break a;s=s.return}s.sibling.return=s.return,s=s.sibling}t.stateNode=o;a:switch(Xd(o,i,r),i){case`button`:case`input`:case`select`:case`textarea`:r=!!r.autoFocus;break a;case`img`:r=!0;break a;default:r=!1}r&&Bc(t)}}return Gc(t),Vc(t,t.type,e===null?null:e.memoizedProps,t.pendingProps,n),null;case 6:if(e&&t.stateNode!=null)e.memoizedProps!==r&&Bc(t);else{if(typeof r!=`string`&&t.stateNode===null)throw Error(a(166));if(e=de.current,Ki(t)){if(e=t.stateNode,n=t.memoizedProps,r=null,i=Li,i!==null)switch(i.tag){case 27:case 5:r=i.memoizedProps}e[ut]=t,e=!!(e.nodeValue===n||r!==null&&!0===r.suppressHydrationWarning||qd(e.nodeValue,n)),e||Ui(t,!0)}else e=nf(e).createTextNode(r),e[ut]=t,t.stateNode=e}return Gc(t),null;case 31:if(n=t.memoizedState,e===null||e.memoizedState!==null){if(r=Ki(t),n!==null){if(e===null){if(!r)throw Error(a(318));if(e=t.memoizedState,e=e===null?null:e.dehydrated,!e)throw Error(a(557));e[ut]=t}else qi(),!(t.flags&128)&&(t.memoizedState=null),t.flags|=4;Gc(t),e=!1}else n=Ji(),e!==null&&e.memoizedState!==null&&(e.memoizedState.hydrationErrors=n),e=!0;if(!e)return t.flags&256?(ho(t),t):(ho(t),null);if(t.flags&128)throw Error(a(558))}return Gc(t),null;case 13:if(r=t.memoizedState,e===null||e.memoizedState!==null&&e.memoizedState.dehydrated!==null){if(i=Ki(t),r!==null&&r.dehydrated!==null){if(e===null){if(!i)throw Error(a(318));if(i=t.memoizedState,i=i===null?null:i.dehydrated,!i)throw Error(a(317));i[ut]=t}else qi(),!(t.flags&128)&&(t.memoizedState=null),t.flags|=4;Gc(t),i=!1}else i=Ji(),e!==null&&e.memoizedState!==null&&(e.memoizedState.hydrationErrors=i),i=!0;if(!i)return t.flags&256?(ho(t),t):(ho(t),null)}return ho(t),t.flags&128?(t.lanes=n,t):(n=r!==null,e=e!==null&&e.memoizedState!==null,n&&(r=t.child,i=null,r.alternate!==null&&r.alternate.memoizedState!==null&&r.alternate.memoizedState.cachePool!==null&&(i=r.alternate.memoizedState.cachePool.pool),o=null,r.memoizedState!==null&&r.memoizedState.cachePool!==null&&(o=r.memoizedState.cachePool.pool),o!==i&&(r.flags|=2048)),n!==e&&n&&(t.child.flags|=8192),Uc(t,t.updateQueue),Gc(t),null);case 4:return me(),e===null&&Ld(t.stateNode.containerInfo),Gc(t),null;case 10:return ea(t.type),Gc(t),null;case 19:if(se(go),r=t.memoizedState,r===null)return Gc(t),null;if(i=!!(t.flags&128),o=r.rendering,o===null){if(i)Wc(r,!1);else{if(iu!==0||e!==null&&e.flags&128)for(e=t.child;e!==null;){if(o=_o(e),o!==null){for(t.flags|=128,Wc(r,!1),e=o.updateQueue,t.updateQueue=e,Uc(t,e),t.subtreeFlags=0,e=n,n=t.child;n!==null;)hi(n,e),n=n.sibling;return ce(go,go.current&1|2),zi&&Mi(t,r.treeForkCount),t.child}e=e.sibling}r.tail!==null&&ke()>hu&&(t.flags|=128,i=!0,Wc(r,!1),t.lanes=4194304)}}else{if(!i){if(e=_o(o),e!==null){if(t.flags|=128,i=!0,e=e.updateQueue,t.updateQueue=e,Uc(t,e),Wc(r,!0),r.tail===null&&r.tailMode===`hidden`&&!o.alternate&&!zi)return Gc(t),null}else 2*ke()-r.renderingStartTime>hu&&n!==536870912&&(t.flags|=128,i=!0,Wc(r,!1),t.lanes=4194304)}r.isBackwards?(o.sibling=t.child,t.child=o):(e=r.last,e===null?t.child=o:e.sibling=o,r.last=o)}return r.tail===null?(Gc(t),null):(e=r.tail,r.rendering=e,r.tail=e.sibling,r.renderingStartTime=ke(),e.sibling=null,n=go.current,ce(go,i?n&1|2:n&1),zi&&Mi(t,r.treeForkCount),e);case 22:case 23:return ho(t),so(),r=t.memoizedState!==null,e===null?r&&(t.flags|=8192):e.memoizedState!==null!==r&&(t.flags|=8192),r?n&536870912&&!(t.flags&128)&&(Gc(t),t.subtreeFlags&6&&(t.flags|=8192)):Gc(t),n=t.updateQueue,n!==null&&Uc(t,n.retryQueue),n=null,e!==null&&e.memoizedState!==null&&e.memoizedState.cachePool!==null&&(n=e.memoizedState.cachePool.pool),r=null,t.memoizedState!==null&&t.memoizedState.cachePool!==null&&(r=t.memoizedState.cachePool.pool),r!==n&&(t.flags|=2048),e!==null&&se(Ca),null;case 24:return n=null,e!==null&&(n=e.memoizedState.cache),t.memoizedState.cache!==n&&(t.flags|=2048),ea(fa),Gc(t),null;case 25:return null;case 30:return null}throw Error(a(156,t.tag))}function qc(e,t){switch(Fi(t),t.tag){case 1:return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 3:return ea(fa),me(),e=t.flags,e&65536&&!(e&128)?(t.flags=e&-65537|128,t):null;case 26:case 27:case 5:return ge(t),null;case 31:if(t.memoizedState!==null){if(ho(t),t.alternate===null)throw Error(a(340));qi()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 13:if(ho(t),e=t.memoizedState,e!==null&&e.dehydrated!==null){if(t.alternate===null)throw Error(a(340));qi()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 19:return se(go),null;case 4:return me(),null;case 10:return ea(t.type),null;case 22:case 23:return ho(t),so(),e!==null&&se(Ca),e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 24:return ea(fa),null;case 25:return null;default:return null}}function Jc(e,t){switch(Fi(t),t.tag){case 3:ea(fa),me();break;case 26:case 27:case 5:ge(t);break;case 4:me();break;case 31:t.memoizedState!==null&&ho(t);break;case 13:ho(t);break;case 19:se(go);break;case 10:ea(t.type);break;case 22:case 23:ho(t),so(),e!==null&&se(Ca);break;case 24:ea(fa)}}function Yc(e,t){try{var n=t.updateQueue,r=n===null?null:n.lastEffect;if(r!==null){var i=r.next;n=i;do{if((n.tag&e)===e){r=void 0;var a=n.create,o=n.inst;r=a(),o.destroy=r}n=n.next}while(n!==i)}}catch(e){id(t,t.return,e)}}function Xc(e,t,n){try{var r=t.updateQueue,i=r===null?null:r.lastEffect;if(i!==null){var a=i.next;r=a;do{if((r.tag&e)===e){var o=r.inst,s=o.destroy;if(s!==void 0){o.destroy=void 0,i=t;var c=n,l=s;try{l()}catch(e){id(i,c,e)}}}r=r.next}while(r!==a)}}catch(e){id(t,t.return,e)}}function Zc(e){var t=e.updateQueue;if(t!==null){var n=e.stateNode;try{no(t,n)}catch(t){id(e,e.return,t)}}}function Qc(e,t,n){n.props=$s(e.type,e.memoizedProps),n.state=e.memoizedState;try{n.componentWillUnmount()}catch(n){id(e,t,n)}}function $c(e,t){try{var n=e.ref;if(n!==null){switch(e.tag){case 26:case 27:case 5:var r=e.stateNode;break;case 30:r=e.stateNode;break;default:r=e.stateNode}typeof n==`function`?e.refCleanup=n(r):n.current=r}}catch(n){id(e,t,n)}}function el(e,t){var n=e.ref,r=e.refCleanup;if(n!==null){if(typeof r==`function`)try{r()}catch(n){id(e,t,n)}finally{e.refCleanup=null,e=e.alternate,e!=null&&(e.refCleanup=null)}else if(typeof n==`function`)try{n(null)}catch(n){id(e,t,n)}else n.current=null}}function tl(e){var t=e.type,n=e.memoizedProps,r=e.stateNode;try{a:switch(t){case`button`:case`input`:case`select`:case`textarea`:n.autoFocus&&r.focus();break a;case`img`:n.src?r.src=n.src:n.srcSet&&(r.srcset=n.srcSet)}}catch(t){id(e,e.return,t)}}function nl(e,t,n){try{var r=e.stateNode;Zd(r,e.type,n,t),r[dt]=t}catch(t){id(e,e.return,t)}}function rl(e){return e.tag===5||e.tag===3||e.tag===26||e.tag===27&&mf(e.type)||e.tag===4}function il(e){a:for(;;){for(;e.sibling===null;){if(e.return===null||rl(e.return))return null;e=e.return}for(e.sibling.return=e.return,e=e.sibling;e.tag!==5&&e.tag!==6&&e.tag!==18;){if(e.tag===27&&mf(e.type)||e.flags&2||e.child===null||e.tag===4)continue a;e.child.return=e,e=e.child}if(!(e.flags&2))return e.stateNode}}function al(e,t,n){var r=e.tag;if(r===5||r===6)e=e.stateNode,t?(n.nodeType===9?n.body:n.nodeName===`HTML`?n.ownerDocument.body:n).insertBefore(e,t):(t=n.nodeType===9?n.body:n.nodeName===`HTML`?n.ownerDocument.body:n,t.appendChild(e),n=n._reactRootContainer,n!=null||t.onclick!==null||(t.onclick=rn));else if(r!==4&&(r===27&&mf(e.type)&&(n=e.stateNode,t=null),e=e.child,e!==null))for(al(e,t,n),e=e.sibling;e!==null;)al(e,t,n),e=e.sibling}function ol(e,t,n){var r=e.tag;if(r===5||r===6)e=e.stateNode,t?n.insertBefore(e,t):n.appendChild(e);else if(r!==4&&(r===27&&mf(e.type)&&(n=e.stateNode),e=e.child,e!==null))for(ol(e,t,n),e=e.sibling;e!==null;)ol(e,t,n),e=e.sibling}function sl(e){var t=e.stateNode,n=e.memoizedProps;try{for(var r=e.type,i=t.attributes;i.length;)t.removeAttributeNode(i[0]);Xd(t,r,n),t[ut]=e,t[dt]=n}catch(t){id(e,e.return,t)}}var cl=!1,ll=!1,ul=!1,dl=typeof WeakSet==`function`?WeakSet:Set,fl=null;function pl(e,t){if(e=e.containerInfo,ef=Cp,e=jr(e),Mr(e)){if(`selectionStart`in e)var n={start:e.selectionStart,end:e.selectionEnd};else a:{n=(n=e.ownerDocument)&&n.defaultView||window;var r=n.getSelection&&n.getSelection();if(r&&r.rangeCount!==0){n=r.anchorNode;var i=r.anchorOffset,o=r.focusNode;r=r.focusOffset;try{n.nodeType,o.nodeType}catch{n=null;break a}var s=0,c=-1,l=-1,u=0,d=0,f=e,p=null;b:for(;;){for(var m;f!==n||i!==0&&f.nodeType!==3||(c=s+i),f!==o||r!==0&&f.nodeType!==3||(l=s+r),f.nodeType===3&&(s+=f.nodeValue.length),(m=f.firstChild)!==null;)p=f,f=m;for(;;){if(f===e)break b;if(p===n&&++u===i&&(c=s),p===o&&++d===r&&(l=s),(m=f.nextSibling)!==null)break;f=p,p=f.parentNode}f=m}n=c===-1||l===-1?null:{start:c,end:l}}else n=null}n||={start:0,end:0}}else n=null;for(tf={focusedElem:e,selectionRange:n},Cp=!1,fl=t;fl!==null;)if(t=fl,e=t.child,t.subtreeFlags&1028&&e!==null)e.return=t,fl=e;else for(;fl!==null;){switch(t=fl,o=t.alternate,e=t.flags,t.tag){case 0:if(e&4&&(e=t.updateQueue,e=e===null?null:e.events,e!==null))for(n=0;n<e.length;n++)i=e[n],i.ref.impl=i.nextImpl;break;case 11:case 15:break;case 1:if(e&1024&&o!==null){e=void 0,n=t,i=o.memoizedProps,o=o.memoizedState,r=n.stateNode;try{var h=$s(n.type,i);e=r.getSnapshotBeforeUpdate(h,o),r.__reactInternalSnapshotBeforeUpdate=e}catch(e){id(n,n.return,e)}}break;case 3:if(e&1024){if(e=t.stateNode.containerInfo,n=e.nodeType,n===9)_f(e);else if(n===1)switch(e.nodeName){case`HEAD`:case`HTML`:case`BODY`:_f(e);break;default:e.textContent=``}}break;case 5:case 26:case 27:case 6:case 4:case 17:break;default:if(e&1024)throw Error(a(163))}if(e=t.sibling,e!==null){e.return=t.return,fl=e;break}fl=t.return}}function ml(e,t,n){var r=n.flags;switch(n.tag){case 0:case 11:case 15:kl(e,n),r&4&&Yc(5,n);break;case 1:if(kl(e,n),r&4){if(e=n.stateNode,t===null)try{e.componentDidMount()}catch(e){id(n,n.return,e)}else{var i=$s(n.type,t.memoizedProps);t=t.memoizedState;try{e.componentDidUpdate(i,t,e.__reactInternalSnapshotBeforeUpdate)}catch(e){id(n,n.return,e)}}}r&64&&Zc(n),r&512&&$c(n,n.return);break;case 3:if(kl(e,n),r&64&&(e=n.updateQueue,e!==null)){if(t=null,n.child!==null)switch(n.child.tag){case 27:case 5:t=n.child.stateNode;break;case 1:t=n.child.stateNode}try{no(e,t)}catch(e){id(n,n.return,e)}}break;case 27:t===null&&r&4&&sl(n);case 26:case 5:kl(e,n),t===null&&r&4&&tl(n),r&512&&$c(n,n.return);break;case 12:kl(e,n);break;case 31:kl(e,n),r&4&&bl(e,n);break;case 13:kl(e,n),r&4&&xl(e,n),r&64&&(e=n.memoizedState,e!==null&&(e=e.dehydrated,e!==null&&(n=cd.bind(null,n),Cf(e,n))));break;case 22:if(r=n.memoizedState!==null||cl,!r){t=t!==null&&t.memoizedState!==null||ll,i=cl;var a=ll;cl=r,(ll=t)&&!a?jl(e,n,!!(n.subtreeFlags&8772)):kl(e,n),cl=i,ll=a}break;case 30:break;default:kl(e,n)}}function hl(e){var t=e.alternate;t!==null&&(e.alternate=null,hl(t)),e.child=null,e.deletions=null,e.sibling=null,e.tag===5&&(t=e.stateNode,t!==null&&vt(t)),e.stateNode=null,e.return=null,e.dependencies=null,e.memoizedProps=null,e.memoizedState=null,e.pendingProps=null,e.stateNode=null,e.updateQueue=null}var gl=null,_l=!1;function vl(e,t,n){for(n=n.child;n!==null;)yl(e,t,n),n=n.sibling}function yl(e,t,n){if(ze&&typeof ze.onCommitFiberUnmount==`function`)try{ze.onCommitFiberUnmount(Re,n)}catch{}switch(n.tag){case 26:ll||el(n,t),vl(e,t,n),n.memoizedState?n.memoizedState.count--:n.stateNode&&(n=n.stateNode,n.parentNode.removeChild(n));break;case 27:ll||el(n,t);var r=gl,i=_l;mf(n.type)&&(gl=n.stateNode,_l=!1),vl(e,t,n),kf(n.stateNode),gl=r,_l=i;break;case 5:ll||el(n,t);case 6:if(r=gl,i=_l,gl=null,vl(e,t,n),gl=r,_l=i,gl!==null){if(_l)try{(gl.nodeType===9?gl.body:gl.nodeName===`HTML`?gl.ownerDocument.body:gl).removeChild(n.stateNode)}catch(e){id(n,t,e)}else try{gl.removeChild(n.stateNode)}catch(e){id(n,t,e)}}break;case 18:gl!==null&&(_l?(e=gl,hf(e.nodeType===9?e.body:e.nodeName===`HTML`?e.ownerDocument.body:e,n.stateNode),Yp(e)):hf(gl,n.stateNode));break;case 4:r=gl,i=_l,gl=n.stateNode.containerInfo,_l=!0,vl(e,t,n),gl=r,_l=i;break;case 0:case 11:case 14:case 15:Xc(2,n,t),ll||Xc(4,n,t),vl(e,t,n);break;case 1:ll||(el(n,t),r=n.stateNode,typeof r.componentWillUnmount==`function`&&Qc(n,t,r)),vl(e,t,n);break;case 21:vl(e,t,n);break;case 22:ll=(r=ll)||n.memoizedState!==null,vl(e,t,n),ll=r;break;default:vl(e,t,n)}}function bl(e,t){if(t.memoizedState===null&&(e=t.alternate,e!==null&&(e=e.memoizedState,e!==null))){e=e.dehydrated;try{Yp(e)}catch(e){id(t,t.return,e)}}}function xl(e,t){if(t.memoizedState===null&&(e=t.alternate,e!==null&&(e=e.memoizedState,e!==null&&(e=e.dehydrated,e!==null))))try{Yp(e)}catch(e){id(t,t.return,e)}}function Sl(e){switch(e.tag){case 31:case 13:case 19:var t=e.stateNode;return t===null&&(t=e.stateNode=new dl),t;case 22:return e=e.stateNode,t=e._retryCache,t===null&&(t=e._retryCache=new dl),t;default:throw Error(a(435,e.tag))}}function Cl(e,t){var n=Sl(e);t.forEach(function(t){if(!n.has(t)){n.add(t);var r=ld.bind(null,e,t);t.then(r,r)}})}function wl(e,t){var n=t.deletions;if(n!==null)for(var r=0;r<n.length;r++){var i=n[r],o=e,s=t,c=s;a:for(;c!==null;){switch(c.tag){case 27:if(mf(c.type)){gl=c.stateNode,_l=!1;break a}break;case 5:gl=c.stateNode,_l=!1;break a;case 3:case 4:gl=c.stateNode.containerInfo,_l=!0;break a}c=c.return}if(gl===null)throw Error(a(160));yl(o,s,i),gl=null,_l=!1,o=i.alternate,o!==null&&(o.return=null),i.return=null}if(t.subtreeFlags&13886)for(t=t.child;t!==null;)El(t,e),t=t.sibling}var Tl=null;function El(e,t){var n=e.alternate,r=e.flags;switch(e.tag){case 0:case 11:case 14:case 15:wl(t,e),Dl(e),r&4&&(Xc(3,e,e.return),Yc(3,e),Xc(5,e,e.return));break;case 1:wl(t,e),Dl(e),r&512&&(ll||n===null||el(n,n.return)),r&64&&cl&&(e=e.updateQueue,e!==null&&(r=e.callbacks,r!==null&&(n=e.shared.hiddenCallbacks,e.shared.hiddenCallbacks=n===null?r:n.concat(r))));break;case 26:var i=Tl;if(wl(t,e),Dl(e),r&512&&(ll||n===null||el(n,n.return)),r&4){var o=n===null?null:n.memoizedState;if(r=e.memoizedState,n===null){if(r===null){if(e.stateNode===null){a:{r=e.type,n=e.memoizedProps,i=i.ownerDocument||i;b:switch(r){case`title`:o=i.getElementsByTagName(`title`)[0],(!o||o[_t]||o[ut]||o.namespaceURI===`http://www.w3.org/2000/svg`||o.hasAttribute(`itemprop`))&&(o=i.createElement(r),i.head.insertBefore(o,i.querySelector(`head > title`))),Xd(o,r,n),o[ut]=e,Ct(o),r=o;break a;case`link`:var s=rp(`link`,`href`,i).get(r+(n.href||``));if(s){for(var c=0;c<s.length;c++)if(o=s[c],o.getAttribute(`href`)===(n.href==null||n.href===``?null:n.href)&&o.getAttribute(`rel`)===(n.rel==null?null:n.rel)&&o.getAttribute(`title`)===(n.title==null?null:n.title)&&o.getAttribute(`crossorigin`)===(n.crossOrigin==null?null:n.crossOrigin)){s.splice(c,1);break b}}o=i.createElement(r),Xd(o,r,n),i.head.appendChild(o);break;case`meta`:if(s=rp(`meta`,`content`,i).get(r+(n.content||``))){for(c=0;c<s.length;c++)if(o=s[c],o.getAttribute(`content`)===(n.content==null?null:``+n.content)&&o.getAttribute(`name`)===(n.name==null?null:n.name)&&o.getAttribute(`property`)===(n.property==null?null:n.property)&&o.getAttribute(`http-equiv`)===(n.httpEquiv==null?null:n.httpEquiv)&&o.getAttribute(`charset`)===(n.charSet==null?null:n.charSet)){s.splice(c,1);break b}}o=i.createElement(r),Xd(o,r,n),i.head.appendChild(o);break;default:throw Error(a(468,r))}o[ut]=e,Ct(o),r=o}e.stateNode=r}else ip(i,e.type,e.stateNode)}else e.stateNode=Qf(i,r,e.memoizedProps)}else o===r?r===null&&e.stateNode!==null&&nl(e,e.memoizedProps,n.memoizedProps):(o===null?n.stateNode!==null&&(n=n.stateNode,n.parentNode.removeChild(n)):o.count--,r===null?ip(i,e.type,e.stateNode):Qf(i,r,e.memoizedProps))}break;case 27:wl(t,e),Dl(e),r&512&&(ll||n===null||el(n,n.return)),n!==null&&r&4&&nl(e,e.memoizedProps,n.memoizedProps);break;case 5:if(wl(t,e),Dl(e),r&512&&(ll||n===null||el(n,n.return)),e.flags&32){i=e.stateNode;try{Yt(i,``)}catch(t){id(e,e.return,t)}}r&4&&e.stateNode!=null&&(i=e.memoizedProps,nl(e,i,n===null?i:n.memoizedProps)),r&1024&&(ul=!0);break;case 6:if(wl(t,e),Dl(e),r&4){if(e.stateNode===null)throw Error(a(162));r=e.memoizedProps,n=e.stateNode;try{n.nodeValue=r}catch(t){id(e,e.return,t)}}break;case 3:if(np=null,i=Tl,Tl=Mf(t.containerInfo),wl(t,e),Tl=i,Dl(e),r&4&&n!==null&&n.memoizedState.isDehydrated)try{Yp(t.containerInfo)}catch(t){id(e,e.return,t)}ul&&(ul=!1,Ol(e));break;case 4:r=Tl,Tl=Mf(e.stateNode.containerInfo),wl(t,e),Dl(e),Tl=r;break;case 12:wl(t,e),Dl(e);break;case 31:wl(t,e),Dl(e),r&4&&(r=e.updateQueue,r!==null&&(e.updateQueue=null,Cl(e,r)));break;case 13:wl(t,e),Dl(e),e.child.flags&8192&&e.memoizedState!==null!=(n!==null&&n.memoizedState!==null)&&(pu=ke()),r&4&&(r=e.updateQueue,r!==null&&(e.updateQueue=null,Cl(e,r)));break;case 22:i=e.memoizedState!==null;var l=n!==null&&n.memoizedState!==null,u=cl,d=ll;if(cl=u||i,ll=d||l,wl(t,e),ll=d,cl=u,Dl(e),r&8192)a:for(t=e.stateNode,t._visibility=i?t._visibility&-2:t._visibility|1,i&&(n===null||l||cl||ll||Al(e)),n=null,t=e;;){if(t.tag===5||t.tag===26){if(n===null){l=n=t;try{if(o=l.stateNode,i)s=o.style,typeof s.setProperty==`function`?s.setProperty(`display`,`none`,`important`):s.display=`none`;else{c=l.stateNode;var f=l.memoizedProps.style,p=f!=null&&f.hasOwnProperty(`display`)?f.display:null;c.style.display=p==null||typeof p==`boolean`?``:(``+p).trim()}}catch(e){id(l,l.return,e)}}}else if(t.tag===6){if(n===null){l=t;try{l.stateNode.nodeValue=i?``:l.memoizedProps}catch(e){id(l,l.return,e)}}}else if(t.tag===18){if(n===null){l=t;try{var m=l.stateNode;i?gf(m,!0):gf(l.stateNode,!1)}catch(e){id(l,l.return,e)}}}else if((t.tag!==22&&t.tag!==23||t.memoizedState===null||t===e)&&t.child!==null){t.child.return=t,t=t.child;continue}if(t===e)break a;for(;t.sibling===null;){if(t.return===null||t.return===e)break a;n===t&&(n=null),t=t.return}n===t&&(n=null),t.sibling.return=t.return,t=t.sibling}r&4&&(r=e.updateQueue,r!==null&&(n=r.retryQueue,n!==null&&(r.retryQueue=null,Cl(e,n))));break;case 19:wl(t,e),Dl(e),r&4&&(r=e.updateQueue,r!==null&&(e.updateQueue=null,Cl(e,r)));break;case 30:break;case 21:break;default:wl(t,e),Dl(e)}}function Dl(e){var t=e.flags;if(t&2){try{for(var n,r=e.return;r!==null;){if(rl(r)){n=r;break}r=r.return}if(n==null)throw Error(a(160));switch(n.tag){case 27:var i=n.stateNode;ol(e,il(e),i);break;case 5:var o=n.stateNode;n.flags&32&&(Yt(o,``),n.flags&=-33),ol(e,il(e),o);break;case 3:case 4:var s=n.stateNode.containerInfo;al(e,il(e),s);break;default:throw Error(a(161))}}catch(t){id(e,e.return,t)}e.flags&=-3}t&4096&&(e.flags&=-4097)}function Ol(e){if(e.subtreeFlags&1024)for(e=e.child;e!==null;){var t=e;Ol(t),t.tag===5&&t.flags&1024&&t.stateNode.reset(),e=e.sibling}}function kl(e,t){if(t.subtreeFlags&8772)for(t=t.child;t!==null;)ml(e,t.alternate,t),t=t.sibling}function Al(e){for(e=e.child;e!==null;){var t=e;switch(t.tag){case 0:case 11:case 14:case 15:Xc(4,t,t.return),Al(t);break;case 1:el(t,t.return);var n=t.stateNode;typeof n.componentWillUnmount==`function`&&Qc(t,t.return,n),Al(t);break;case 27:kf(t.stateNode);case 26:case 5:el(t,t.return),Al(t);break;case 22:t.memoizedState===null&&Al(t);break;case 30:Al(t);break;default:Al(t)}e=e.sibling}}function jl(e,t,n){for(n&&=!!(t.subtreeFlags&8772),t=t.child;t!==null;){var r=t.alternate,i=e,a=t,o=a.flags;switch(a.tag){case 0:case 11:case 15:jl(i,a,n),Yc(4,a);break;case 1:if(jl(i,a,n),r=a,i=r.stateNode,typeof i.componentDidMount==`function`)try{i.componentDidMount()}catch(e){id(r,r.return,e)}if(r=a,i=r.updateQueue,i!==null){var s=r.stateNode;try{var c=i.shared.hiddenCallbacks;if(c!==null)for(i.shared.hiddenCallbacks=null,i=0;i<c.length;i++)to(c[i],s)}catch(e){id(r,r.return,e)}}n&&o&64&&Zc(a),$c(a,a.return);break;case 27:sl(a);case 26:case 5:jl(i,a,n),n&&r===null&&o&4&&tl(a),$c(a,a.return);break;case 12:jl(i,a,n);break;case 31:jl(i,a,n),n&&o&4&&bl(i,a);break;case 13:jl(i,a,n),n&&o&4&&xl(i,a);break;case 22:a.memoizedState===null&&jl(i,a,n),$c(a,a.return);break;case 30:break;default:jl(i,a,n)}t=t.sibling}}function Ml(e,t){var n=null;e!==null&&e.memoizedState!==null&&e.memoizedState.cachePool!==null&&(n=e.memoizedState.cachePool.pool),e=null,t.memoizedState!==null&&t.memoizedState.cachePool!==null&&(e=t.memoizedState.cachePool.pool),e!==n&&(e!=null&&e.refCount++,n!=null&&ma(n))}function Nl(e,t){e=null,t.alternate!==null&&(e=t.alternate.memoizedState.cache),t=t.memoizedState.cache,t!==e&&(t.refCount++,e!=null&&ma(e))}function Pl(e,t,n,r){if(t.subtreeFlags&10256)for(t=t.child;t!==null;)Fl(e,t,n,r),t=t.sibling}function Fl(e,t,n,r){var i=t.flags;switch(t.tag){case 0:case 11:case 15:Pl(e,t,n,r),i&2048&&Yc(9,t);break;case 1:Pl(e,t,n,r);break;case 3:Pl(e,t,n,r),i&2048&&(e=null,t.alternate!==null&&(e=t.alternate.memoizedState.cache),t=t.memoizedState.cache,t!==e&&(t.refCount++,e!=null&&ma(e)));break;case 12:if(i&2048){Pl(e,t,n,r),e=t.stateNode;try{var a=t.memoizedProps,o=a.id,s=a.onPostCommit;typeof s==`function`&&s(o,t.alternate===null?`mount`:`update`,e.passiveEffectDuration,-0)}catch(e){id(t,t.return,e)}}else Pl(e,t,n,r);break;case 31:Pl(e,t,n,r);break;case 13:Pl(e,t,n,r);break;case 23:break;case 22:a=t.stateNode,o=t.alternate,t.memoizedState===null?a._visibility&2?Pl(e,t,n,r):(a._visibility|=2,Il(e,t,n,r,!!(t.subtreeFlags&10256)||!1)):a._visibility&2?Pl(e,t,n,r):Ll(e,t),i&2048&&Ml(o,t);break;case 24:Pl(e,t,n,r),i&2048&&Nl(t.alternate,t);break;default:Pl(e,t,n,r)}}function Il(e,t,n,r,i){for(i&&=!!(t.subtreeFlags&10256)||!1,t=t.child;t!==null;){var a=e,o=t,s=n,c=r,l=o.flags;switch(o.tag){case 0:case 11:case 15:Il(a,o,s,c,i),Yc(8,o);break;case 23:break;case 22:var u=o.stateNode;o.memoizedState===null?(u._visibility|=2,Il(a,o,s,c,i)):u._visibility&2?Il(a,o,s,c,i):Ll(a,o),i&&l&2048&&Ml(o.alternate,o);break;case 24:Il(a,o,s,c,i),i&&l&2048&&Nl(o.alternate,o);break;default:Il(a,o,s,c,i)}t=t.sibling}}function Ll(e,t){if(t.subtreeFlags&10256)for(t=t.child;t!==null;){var n=e,r=t,i=r.flags;switch(r.tag){case 22:Ll(n,r),i&2048&&Ml(r.alternate,r);break;case 24:Ll(n,r),i&2048&&Nl(r.alternate,r);break;default:Ll(n,r)}t=t.sibling}}var Rl=8192;function zl(e,t,n){if(e.subtreeFlags&Rl)for(e=e.child;e!==null;)Bl(e,t,n),e=e.sibling}function Bl(e,t,n){switch(e.tag){case 26:zl(e,t,n),e.flags&Rl&&e.memoizedState!==null&&sp(n,Tl,e.memoizedState,e.memoizedProps);break;case 5:zl(e,t,n);break;case 3:case 4:var r=Tl;Tl=Mf(e.stateNode.containerInfo),zl(e,t,n),Tl=r;break;case 22:e.memoizedState===null&&(r=e.alternate,r!==null&&r.memoizedState!==null?(r=Rl,Rl=16777216,zl(e,t,n),Rl=r):zl(e,t,n));break;default:zl(e,t,n)}}function Vl(e){var t=e.alternate;if(t!==null&&(e=t.child,e!==null)){t.child=null;do t=e.sibling,e.sibling=null,e=t;while(e!==null)}}function Hl(e){var t=e.deletions;if(e.flags&16){if(t!==null)for(var n=0;n<t.length;n++){var r=t[n];fl=r,Gl(r,e)}Vl(e)}if(e.subtreeFlags&10256)for(e=e.child;e!==null;)Ul(e),e=e.sibling}function Ul(e){switch(e.tag){case 0:case 11:case 15:Hl(e),e.flags&2048&&Xc(9,e,e.return);break;case 3:Hl(e);break;case 12:Hl(e);break;case 22:var t=e.stateNode;e.memoizedState!==null&&t._visibility&2&&(e.return===null||e.return.tag!==13)?(t._visibility&=-3,Wl(e)):Hl(e);break;default:Hl(e)}}function Wl(e){var t=e.deletions;if(e.flags&16){if(t!==null)for(var n=0;n<t.length;n++){var r=t[n];fl=r,Gl(r,e)}Vl(e)}for(e=e.child;e!==null;){switch(t=e,t.tag){case 0:case 11:case 15:Xc(8,t,t.return),Wl(t);break;case 22:n=t.stateNode,n._visibility&2&&(n._visibility&=-3,Wl(t));break;default:Wl(t)}e=e.sibling}}function Gl(e,t){for(;fl!==null;){var n=fl;switch(n.tag){case 0:case 11:case 15:Xc(8,n,t);break;case 23:case 22:if(n.memoizedState!==null&&n.memoizedState.cachePool!==null){var r=n.memoizedState.cachePool.pool;r!=null&&r.refCount++}break;case 24:ma(n.memoizedState.cache)}if(r=n.child,r!==null)r.return=n,fl=r;else a:for(n=e;fl!==null;){r=fl;var i=r.sibling,a=r.return;if(hl(r),r===n){fl=null;break a}if(i!==null){i.return=a,fl=i;break a}fl=a}}}var Kl={getCacheForType:function(e){var t=oa(fa),n=t.data.get(e);return n===void 0&&(n=e(),t.data.set(e,n)),n},cacheSignal:function(){return oa(fa).controller.signal}},ql=typeof WeakMap==`function`?WeakMap:Map,Jl=0,Yl=null,Xl=null,Zl=0,Ql=0,$l=null,eu=!1,tu=!1,nu=!1,ru=0,iu=0,au=0,ou=0,su=0,cu=0,lu=0,uu=null,du=null,fu=!1,pu=0,mu=0,hu=1/0,gu=null,_u=null,vu=0,yu=null,bu=null,xu=0,Su=0,Cu=null,wu=null,Tu=0,Eu=null;function Du(){return Jl&2&&Zl!==0?Zl&-Zl:P.T===null?st():Td()}function Ou(){if(cu===0){if(!(Zl&536870912)||zi){var e=Ke;Ke<<=1,!(Ke&3932160)&&(Ke=262144),cu=e}else cu=536870912}return e=co.current,e!==null&&(e.flags|=32),cu}function ku(e,t,n){(e===Yl&&(Ql===2||Ql===9)||e.cancelPendingCommit!==null)&&(Iu(e,0),Nu(e,Zl,cu,!1)),et(e,n),(!(Jl&2)||e!==Yl)&&(e===Yl&&(!(Jl&2)&&(ou|=n),iu===4&&Nu(e,Zl,cu,!1)),_d(e))}function Au(e,t,n){if(Jl&6)throw Error(a(327));var r=!n&&!(t&127)&&(t&e.expiredLanes)===0||Xe(e,t),i=r?eee(e,t):Hu(e,t,!0),o=r;do{if(i===0){tu&&!r&&Nu(e,t,0,!1);break}if(n=e.current.alternate,o&&!Mu(n)){i=Hu(e,t,!1),o=!1;continue}if(i===2){if(o=t,e.errorRecoveryDisabledLanes&o)var s=0;else s=e.pendingLanes&-536870913,s=s===0?s&536870912?536870912:0:s;if(s!==0){t=s;a:{var c=e;i=uu;var l=c.current.memoizedState.isDehydrated;if(l&&(Iu(c,s).flags|=256),s=Hu(c,s,!1),s!==2){if(nu&&!l){c.errorRecoveryDisabledLanes|=o,ou|=o,i=4;break a}o=du,du=i,o!==null&&(du===null?du=o:du.push.apply(du,o))}i=s}if(o=!1,i!==2)continue}}if(i===1){Iu(e,0),Nu(e,t,0,!0);break}a:{switch(r=e,o=i,o){case 0:case 1:throw Error(a(345));case 4:if((t&4194048)!==t)break;case 6:Nu(r,t,cu,!eu);break a;case 2:du=null;break;case 3:case 5:break;default:throw Error(a(329))}if((t&62914560)===t&&(i=pu+300-ke(),10<i)){if(Nu(r,t,cu,!eu),Ye(r,0,!0)!==0)break a;xu=t,r.timeoutHandle=lf(ju.bind(null,r,n,du,gu,fu,t,cu,ou,lu,eu,o,`Throttled`,-0,0),i);break a}ju(r,n,du,gu,fu,t,cu,ou,lu,eu,o,null,-0,0)}break}while(1);_d(e)}function ju(e,t,n,r,i,a,o,s,c,l,u,d,f,p){if(e.timeoutHandle=-1,d=t.subtreeFlags,d&8192||(d&16785408)==16785408){d={stylesheets:null,count:0,imgCount:0,imgBytes:0,suspenseyImages:[],waitingForImages:!0,waitingForViewTransition:!1,unsuspend:rn},Bl(t,a,d);var m=(a&62914560)===a?pu-ke():(a&4194048)===a?mu-ke():0;if(m=lp(d,m),m!==null){xu=a,e.cancelPendingCommit=m(Xu.bind(null,e,t,a,n,r,i,o,s,c,u,d,null,f,p)),Nu(e,a,o,!l);return}}Xu(e,t,a,n,r,i,o,s,c)}function Mu(e){for(var t=e;;){var n=t.tag;if((n===0||n===11||n===15)&&t.flags&16384&&(n=t.updateQueue,n!==null&&(n=n.stores,n!==null)))for(var r=0;r<n.length;r++){var i=n[r],a=i.getSnapshot;i=i.value;try{if(!Er(a(),i))return!1}catch{return!1}}if(n=t.child,t.subtreeFlags&16384&&n!==null)n.return=t,t=n;else{if(t===e)break;for(;t.sibling===null;){if(t.return===null||t.return===e)return!0;t=t.return}t.sibling.return=t.return,t=t.sibling}}return!0}function Nu(e,t,n,r){t&=~su,t&=~ou,e.suspendedLanes|=t,e.pingedLanes&=~t,r&&(e.warmLanes|=t),r=e.expirationTimes;for(var i=t;0<i;){var a=31-Ve(i),o=1<<a;r[a]=-1,i&=~o}n!==0&&nt(e,n,t)}function Pu(){return Jl&6?!0:(vd(0,!1),!1)}function Fu(){if(Xl!==null){if(Ql===0)var e=Xl.return;else e=Xl,Qi=Zi=null,Fo(e),La=null,Ra=0,e=Xl;for(;e!==null;)Jc(e.alternate,e),e=e.return;Xl=null}}function Iu(e,t){var n=e.timeoutHandle;n!==-1&&(e.timeoutHandle=-1,uf(n)),n=e.cancelPendingCommit,n!==null&&(e.cancelPendingCommit=null,n()),xu=0,Fu(),Yl=e,Xl=n=mi(e.current,null),Zl=t,Ql=0,$l=null,eu=!1,tu=Xe(e,t),nu=!1,lu=cu=su=ou=au=iu=0,du=uu=null,fu=!1,t&8&&(t|=t&32);var r=e.entangledLanes;if(r!==0)for(e=e.entanglements,r&=t;0<r;){var i=31-Ve(r),a=1<<i;t|=e[i],r&=~a}return ru=t,ii(),n}function Lu(e,t){yo=null,P.H=Gs,t===Da||t===ka?(t=Fa(),Ql=3):t===Oa?(t=Fa(),Ql=4):Ql=t===lc?8:typeof t==`object`&&t&&typeof t.then==`function`?6:1,$l=t,Xl===null&&(iu=1,rc(e,Si(t,e.current)))}function Ru(){var e=co.current;return e===null?!0:(Zl&4194048)===Zl?lo===null:(Zl&62914560)===Zl||Zl&536870912?e===lo:!1}function zu(){var e=P.H;return P.H=Gs,e===null?Gs:e}function Bu(){var e=P.A;return P.A=Kl,e}function Vu(){iu=4,eu||(Zl&4194048)!==Zl&&co.current!==null||(tu=!0),!(au&134217727)&&!(ou&134217727)||Yl===null||Nu(Yl,Zl,cu,!1)}function Hu(e,t,n){var r=Jl;Jl|=2;var i=zu(),a=Bu();(Yl!==e||Zl!==t)&&(gu=null,Iu(e,t)),t=!1;var o=iu;a:do try{if(Ql!==0&&Xl!==null){var s=Xl,c=$l;switch(Ql){case 8:Fu(),o=6;break a;case 3:case 2:case 9:case 6:co.current===null&&(t=!0);var l=Ql;if(Ql=0,$l=null,qu(e,s,c,l),n&&tu){o=0;break a}break;default:l=Ql,Ql=0,$l=null,qu(e,s,c,l)}}Uu(),o=iu;break}catch(t){Lu(e,t)}while(1);return t&&e.shellSuspendCounter++,Qi=Zi=null,Jl=r,P.H=i,P.A=a,Xl===null&&(Yl=null,Zl=0,ii()),o}function Uu(){for(;Xl!==null;)Gu(Xl)}function eee(e,t){var n=Jl;Jl|=2;var r=zu(),i=Bu();Yl!==e||Zl!==t?(gu=null,hu=ke()+500,Iu(e,t)):tu=Xe(e,t);a:do try{if(Ql!==0&&Xl!==null){t=Xl;var o=$l;b:switch(Ql){case 1:Ql=0,$l=null,qu(e,t,o,1);break;case 2:case 9:if(ja(o)){Ql=0,$l=null,Ku(t);break}t=function(){Ql!==2&&Ql!==9||Yl!==e||(Ql=7),_d(e)},o.then(t,t);break a;case 3:Ql=7;break a;case 4:Ql=5;break a;case 7:ja(o)?(Ql=0,$l=null,Ku(t)):(Ql=0,$l=null,qu(e,t,o,7));break;case 5:var s=null;switch(Xl.tag){case 26:s=Xl.memoizedState;case 5:case 27:var c=Xl;if(s?op(s):c.stateNode.complete){Ql=0,$l=null;var l=c.sibling;if(l!==null)Xl=l;else{var u=c.return;u===null?Xl=null:(Xl=u,Ju(u))}break b}}Ql=0,$l=null,qu(e,t,o,5);break;case 6:Ql=0,$l=null,qu(e,t,o,6);break;case 8:Fu(),iu=6;break a;default:throw Error(a(462))}}Wu();break}catch(t){Lu(e,t)}while(1);return Qi=Zi=null,P.H=r,P.A=i,Jl=n,Xl===null?(Yl=null,Zl=0,ii(),iu):0}function Wu(){for(;Xl!==null&&!De();)Gu(Xl)}function Gu(e){var t=zc(e.alternate,e,ru);e.memoizedProps=e.pendingProps,t===null?Ju(e):Xl=t}function Ku(e){var t=e,n=t.alternate;switch(t.tag){case 15:case 0:t=Cc(n,t,t.pendingProps,t.type,void 0,Zl);break;case 11:t=Cc(n,t,t.pendingProps,t.type.render,t.ref,Zl);break;case 5:Fo(t);default:Jc(n,t),t=Xl=hi(t,ru),t=zc(n,t,ru)}e.memoizedProps=e.pendingProps,t===null?Ju(e):Xl=t}function qu(e,t,n,r){Qi=Zi=null,Fo(t),La=null,Ra=0;var i=t.return;try{if(cc(e,i,t,n,Zl)){iu=1,rc(e,Si(n,e.current)),Xl=null;return}}catch(t){if(i!==null)throw Xl=i,t;iu=1,rc(e,Si(n,e.current)),Xl=null;return}t.flags&32768?(zi||r===1?e=!0:tu||Zl&536870912?e=!1:(eu=e=!0,(r===2||r===9||r===3||r===6)&&(r=co.current,r!==null&&r.tag===13&&(r.flags|=16384))),Yu(t,e)):Ju(t)}function Ju(e){var t=e;do{if(t.flags&32768){Yu(t,eu);return}e=t.return;var n=Kc(t.alternate,t,ru);if(n!==null){Xl=n;return}if(t=t.sibling,t!==null){Xl=t;return}Xl=t=e}while(t!==null);iu===0&&(iu=5)}function Yu(e,t){do{var n=qc(e.alternate,e);if(n!==null){n.flags&=32767,Xl=n;return}if(n=e.return,n!==null&&(n.flags|=32768,n.subtreeFlags=0,n.deletions=null),!t&&(e=e.sibling,e!==null)){Xl=e;return}Xl=e=n}while(e!==null);iu=6,Xl=null}function Xu(e,t,n,r,i,o,s,c,l){e.cancelPendingCommit=null;do td();while(vu!==0);if(Jl&6)throw Error(a(327));if(t!==null){if(t===e.current)throw Error(a(177));if(o=t.lanes|t.childLanes,o|=ri,tt(e,n,o,s,c,l),e===Yl&&(Xl=Yl=null,Zl=0),bu=t,yu=e,xu=n,Su=o,Cu=i,wu=r,t.subtreeFlags&10256||t.flags&10256?(e.callbackNode=null,e.callbackPriority=0,ud(Ne,function(){return nd(),null})):(e.callbackNode=null,e.callbackPriority=0),r=!!(t.flags&13878),t.subtreeFlags&13878||r){r=P.T,P.T=null,i=ne.p,ne.p=2,s=Jl,Jl|=4;try{pl(e,t,n)}finally{Jl=s,ne.p=i,P.T=r}}vu=1,Zu(),Qu(),$u()}}function Zu(){if(vu===1){vu=0;var e=yu,t=bu,n=!!(t.flags&13878);if(t.subtreeFlags&13878||n){n=P.T,P.T=null;var r=ne.p;ne.p=2;var i=Jl;Jl|=4;try{El(t,e);var a=tf,o=jr(e.containerInfo),s=a.focusedElem,c=a.selectionRange;if(o!==s&&s&&s.ownerDocument&&Ar(s.ownerDocument.documentElement,s)){if(c!==null&&Mr(s)){var l=c.start,u=c.end;if(u===void 0&&(u=l),`selectionStart`in s)s.selectionStart=l,s.selectionEnd=Math.min(u,s.value.length);else{var d=s.ownerDocument||document,f=d&&d.defaultView||window;if(f.getSelection){var p=f.getSelection(),m=s.textContent.length,h=Math.min(c.start,m),g=c.end===void 0?h:Math.min(c.end,m);!p.extend&&h>g&&(o=g,g=h,h=o);var _=kr(s,h),v=kr(s,g);if(_&&v&&(p.rangeCount!==1||p.anchorNode!==_.node||p.anchorOffset!==_.offset||p.focusNode!==v.node||p.focusOffset!==v.offset)){var y=d.createRange();y.setStart(_.node,_.offset),p.removeAllRanges(),h>g?(p.addRange(y),p.extend(v.node,v.offset)):(y.setEnd(v.node,v.offset),p.addRange(y))}}}}for(d=[],p=s;p=p.parentNode;)p.nodeType===1&&d.push({element:p,left:p.scrollLeft,top:p.scrollTop});for(typeof s.focus==`function`&&s.focus(),s=0;s<d.length;s++){var b=d[s];b.element.scrollLeft=b.left,b.element.scrollTop=b.top}}Cp=!!ef,tf=ef=null}finally{Jl=i,ne.p=r,P.T=n}}e.current=t,vu=2}}function Qu(){if(vu===2){vu=0;var e=yu,t=bu,n=!!(t.flags&8772);if(t.subtreeFlags&8772||n){n=P.T,P.T=null;var r=ne.p;ne.p=2;var i=Jl;Jl|=4;try{ml(e,t.alternate,t)}finally{Jl=i,ne.p=r,P.T=n}}vu=3}}function $u(){if(vu===4||vu===3){vu=0,Oe();var e=yu,t=bu,n=xu,r=wu;t.subtreeFlags&10256||t.flags&10256?vu=5:(vu=0,bu=yu=null,ed(e,e.pendingLanes));var i=e.pendingLanes;if(i===0&&(_u=null),ot(n),t=t.stateNode,ze&&typeof ze.onCommitFiberRoot==`function`)try{ze.onCommitFiberRoot(Re,t,void 0,(t.current.flags&128)==128)}catch{}if(r!==null){t=P.T,i=ne.p,ne.p=2,P.T=null;try{for(var a=e.onRecoverableError,o=0;o<r.length;o++){var s=r[o];a(s.value,{componentStack:s.stack})}}finally{P.T=t,ne.p=i}}xu&3&&td(),_d(e),i=e.pendingLanes,n&261930&&i&42?e===Eu?Tu++:(Tu=0,Eu=e):Tu=0,vd(0,!1)}}function ed(e,t){(e.pooledCacheLanes&=t)===0&&(t=e.pooledCache,t!=null&&(e.pooledCache=null,ma(t)))}function td(){return Zu(),Qu(),$u(),nd()}function nd(){if(vu!==5)return!1;var e=yu,t=Su;Su=0;var n=ot(xu),r=P.T,i=ne.p;try{ne.p=32>n?32:n,P.T=null,n=Cu,Cu=null;var o=yu,s=xu;if(vu=0,bu=yu=null,xu=0,Jl&6)throw Error(a(331));var c=Jl;if(Jl|=4,Ul(o.current),Fl(o,o.current,s,n),Jl=c,vd(0,!1),ze&&typeof ze.onPostCommitFiberRoot==`function`)try{ze.onPostCommitFiberRoot(Re,o)}catch{}return!0}finally{ne.p=i,P.T=r,ed(e,t)}}function rd(e,t,n){t=Si(n,t),t=ac(e.stateNode,t,2),e=Ya(e,t,2),e!==null&&(et(e,2),_d(e))}function id(e,t,n){if(e.tag===3)rd(e,e,n);else for(;t!==null;){if(t.tag===3){rd(t,e,n);break}if(t.tag===1){var r=t.stateNode;if(typeof t.type.getDerivedStateFromError==`function`||typeof r.componentDidCatch==`function`&&(_u===null||!_u.has(r))){e=Si(n,e),n=oc(2),r=Ya(t,n,2),r!==null&&(sc(n,r,t,e),et(r,2),_d(r));break}}t=t.return}}function ad(e,t,n){var r=e.pingCache;if(r===null){r=e.pingCache=new ql;var i=new Set;r.set(t,i)}else i=r.get(t),i===void 0&&(i=new Set,r.set(t,i));i.has(n)||(nu=!0,i.add(n),e=od.bind(null,e,t,n),t.then(e,e))}function od(e,t,n){var r=e.pingCache;r!==null&&r.delete(t),e.pingedLanes|=e.suspendedLanes&n,e.warmLanes&=~n,Yl===e&&(Zl&n)===n&&(iu===4||iu===3&&(Zl&62914560)===Zl&&300>ke()-pu?!(Jl&2)&&Iu(e,0):su|=n,lu===Zl&&(lu=0)),_d(e)}function sd(e,t){t===0&&(t=Qe()),e=si(e,t),e!==null&&(et(e,t),_d(e))}function cd(e){var t=e.memoizedState,n=0;t!==null&&(n=t.retryLane),sd(e,n)}function ld(e,t){var n=0;switch(e.tag){case 31:case 13:var r=e.stateNode,i=e.memoizedState;i!==null&&(n=i.retryLane);break;case 19:r=e.stateNode;break;case 22:r=e.stateNode._retryCache;break;default:throw Error(a(314))}r!==null&&r.delete(t),sd(e,n)}function ud(e,t){return Te(e,t)}var dd=null,fd=null,pd=!1,md=!1,hd=!1,gd=0;function _d(e){e!==fd&&e.next===null&&(fd===null?dd=fd=e:fd=fd.next=e),md=!0,pd||(pd=!0,wd())}function vd(e,t){if(!hd&&md){hd=!0;do for(var n=!1,r=dd;r!==null;){if(!t){if(e!==0){var i=r.pendingLanes;if(i===0)var a=0;else{var o=r.suspendedLanes,s=r.pingedLanes;a=(1<<31-Ve(42|e)+1)-1,a&=i&~(o&~s),a=a&201326741?a&201326741|1:a?a|2:0}a!==0&&(n=!0,Cd(r,a))}else a=Zl,a=Ye(r,r===Yl?a:0,r.cancelPendingCommit!==null||r.timeoutHandle!==-1),!(a&3)||Xe(r,a)||(n=!0,Cd(r,a))}r=r.next}while(n);hd=!1}}function yd(){bd()}function bd(){md=pd=!1;var e=0;gd!==0&&cf()&&(e=gd);for(var t=ke(),n=null,r=dd;r!==null;){var i=r.next,a=xd(r,t);a===0?(r.next=null,n===null?dd=i:n.next=i,i===null&&(fd=n)):(n=r,(e!==0||a&3)&&(md=!0)),r=i}vu!==0&&vu!==5||vd(e,!1),gd!==0&&(gd=0)}function xd(e,t){for(var n=e.suspendedLanes,r=e.pingedLanes,i=e.expirationTimes,a=e.pendingLanes&-62914561;0<a;){var o=31-Ve(a),s=1<<o,c=i[o];c===-1?((s&n)===0||(s&r)!==0)&&(i[o]=Ze(s,t)):c<=t&&(e.expiredLanes|=s),a&=~s}if(t=Yl,n=Zl,n=Ye(e,e===t?n:0,e.cancelPendingCommit!==null||e.timeoutHandle!==-1),r=e.callbackNode,n===0||e===t&&(Ql===2||Ql===9)||e.cancelPendingCommit!==null)return r!==null&&r!==null&&Ee(r),e.callbackNode=null,e.callbackPriority=0;if(!(n&3)||Xe(e,n)){if(t=n&-n,t===e.callbackPriority)return t;switch(r!==null&&Ee(r),ot(n)){case 2:case 8:n=Me;break;case 32:n=Ne;break;case 268435456:n=Fe;break;default:n=Ne}return r=Sd.bind(null,e),n=Te(n,r),e.callbackPriority=t,e.callbackNode=n,t}return r!==null&&r!==null&&Ee(r),e.callbackPriority=2,e.callbackNode=null,2}function Sd(e,t){if(vu!==0&&vu!==5)return e.callbackNode=null,e.callbackPriority=0,null;var n=e.callbackNode;if(td()&&e.callbackNode!==n)return null;var r=Zl;return r=Ye(e,e===Yl?r:0,e.cancelPendingCommit!==null||e.timeoutHandle!==-1),r===0?null:(Au(e,r,t),xd(e,ke()),e.callbackNode!=null&&e.callbackNode===n?Sd.bind(null,e):null)}function Cd(e,t){if(td())return null;Au(e,t,!0)}function wd(){ff(function(){Jl&6?Te(je,yd):bd()})}function Td(){if(gd===0){var e=_a;e===0&&(e=Ge,Ge<<=1,!(Ge&261888)&&(Ge=256)),gd=e}return gd}function Ed(e){return e==null||typeof e==`symbol`||typeof e==`boolean`?null:typeof e==`function`?e:nn(``+e)}function Dd(e,t){var n=t.ownerDocument.createElement(`input`);return n.name=t.name,n.value=t.value,e.id&&n.setAttribute(`form`,e.id),t.parentNode.insertBefore(n,t),e=new FormData(e),n.parentNode.removeChild(n),e}function Od(e,t,n,r,i){if(t===`submit`&&n&&n.stateNode===i){var a=Ed((i[dt]||null).action),o=r.submitter;o&&(t=(t=o[dt]||null)?Ed(t.formAction):o.getAttribute(`formAction`),t!==null&&(a=t,o=null));var s=new Tn(`action`,`action`,null,r,i);e.push({event:s,listeners:[{instance:null,listener:function(){if(r.defaultPrevented){if(gd!==0){var e=o?Dd(i,o):new FormData(i);js(n,{pending:!0,data:e,method:i.method,action:a},null,e)}}else typeof a==`function`&&(s.preventDefault(),e=o?Dd(i,o):new FormData(i),js(n,{pending:!0,data:e,method:i.method,action:a},a,e))},currentTarget:i}]})}}for(var kd=0;kd<Qr.length;kd++){var Ad=Qr[kd];$r(Ad.toLowerCase(),`on`+(Ad[0].toUpperCase()+Ad.slice(1)))}$r(Wr,`onAnimationEnd`),$r(Gr,`onAnimationIteration`),$r(Kr,`onAnimationStart`),$r(`dblclick`,`onDoubleClick`),$r(`focusin`,`onFocus`),$r(`focusout`,`onBlur`),$r(qr,`onTransitionRun`),$r(Jr,`onTransitionStart`),$r(Yr,`onTransitionCancel`),$r(Xr,`onTransitionEnd`),Dt(`onMouseEnter`,[`mouseout`,`mouseover`]),Dt(`onMouseLeave`,[`mouseout`,`mouseover`]),Dt(`onPointerEnter`,[`pointerout`,`pointerover`]),Dt(`onPointerLeave`,[`pointerout`,`pointerover`]),Et(`onChange`,`change click focusin focusout input keydown keyup selectionchange`.split(` `)),Et(`onSelect`,`focusout contextmenu dragend focusin keydown keyup mousedown mouseup selectionchange`.split(` `)),Et(`onBeforeInput`,[`compositionend`,`keypress`,`textInput`,`paste`]),Et(`onCompositionEnd`,`compositionend focusout keydown keypress keyup mousedown`.split(` `)),Et(`onCompositionStart`,`compositionstart focusout keydown keypress keyup mousedown`.split(` `)),Et(`onCompositionUpdate`,`compositionupdate focusout keydown keypress keyup mousedown`.split(` `));var jd=`abort canplay canplaythrough durationchange emptied encrypted ended error loadeddata loadedmetadata loadstart pause play playing progress ratechange resize seeked seeking stalled suspend timeupdate volumechange waiting`.split(` `),Md=new Set(`beforetoggle cancel close invalid load scroll scrollend toggle`.split(` `).concat(jd));function Nd(e,t){t=!!(t&4);for(var n=0;n<e.length;n++){var r=e[n],i=r.event;r=r.listeners;a:{var a=void 0;if(t)for(var o=r.length-1;0<=o;o--){var s=r[o],c=s.instance,l=s.currentTarget;if(s=s.listener,c!==a&&i.isPropagationStopped())break a;a=s,i.currentTarget=l;try{a(i)}catch(e){ei(e)}i.currentTarget=null,a=c}else for(o=0;o<r.length;o++){if(s=r[o],c=s.instance,l=s.currentTarget,s=s.listener,c!==a&&i.isPropagationStopped())break a;a=s,i.currentTarget=l;try{a(i)}catch(e){ei(e)}i.currentTarget=null,a=c}}}}function Pd(e,t){var n=t[pt];n===void 0&&(n=t[pt]=new Set);var r=e+`__bubble`;n.has(r)||(Rd(t,e,2,!1),n.add(r))}function Fd(e,t,n){var r=0;t&&(r|=4),Rd(n,e,r,t)}var Id=`_reactListening`+Math.random().toString(36).slice(2);function Ld(e){if(!e[Id]){e[Id]=!0,wt.forEach(function(t){t!==`selectionchange`&&(Md.has(t)||Fd(t,!1,e),Fd(t,!0,e))});var t=e.nodeType===9?e:e.ownerDocument;t===null||t[Id]||(t[Id]=!0,Fd(`selectionchange`,!1,t))}}function Rd(e,t,n,r){switch(Ap(t)){case 2:var i=wp;break;case 8:i=Tp;break;default:i=Ep}n=i.bind(null,t,n,e),i=void 0,!mn||t!==`touchstart`&&t!==`touchmove`&&t!==`wheel`||(i=!0),r?i===void 0?e.addEventListener(t,n,!0):e.addEventListener(t,n,{capture:!0,passive:i}):i===void 0?e.addEventListener(t,n,!1):e.addEventListener(t,n,{passive:i})}function zd(e,t,n,r,i){var a=r;if(!(t&1)&&!(t&2)&&r!==null)a:for(;;){if(r===null)return;var o=r.tag;if(o===3||o===4){var s=r.stateNode.containerInfo;if(s===i)break;if(o===4)for(o=r.return;o!==null;){var c=o.tag;if((c===3||c===4)&&o.stateNode.containerInfo===i)return;o=o.return}for(;s!==null;){if(o=yt(s),o===null)return;if(c=o.tag,c===5||c===6||c===26||c===27){r=a=o;continue a}s=s.parentNode}}r=r.return}dn(function(){var r=a,i=on(n),o=[];a:{var s=Zr.get(e);if(s!==void 0){var c=Tn,u=e;switch(e){case`keypress`:if(bn(n)===0)break a;case`keydown`:case`keyup`:c=Un;break;case`focusin`:u=`focus`,c=Pn;break;case`focusout`:u=`blur`,c=Pn;break;case`beforeblur`:case`afterblur`:c=Pn;break;case`click`:if(n.button===2)break a;case`auxclick`:case`dblclick`:case`mousedown`:case`mousemove`:case`mouseup`:case`mouseout`:case`mouseover`:case`contextmenu`:c=Mn;break;case`drag`:case`dragend`:case`dragenter`:case`dragexit`:case`dragleave`:case`dragover`:case`dragstart`:case`drop`:c=Nn;break;case`touchcancel`:case`touchend`:case`touchmove`:case`touchstart`:c=Gn;break;case Wr:case Gr:case Kr:c=Fn;break;case Xr:c=Kn;break;case`scroll`:case`scrollend`:c=Dn;break;case`wheel`:c=qn;break;case`copy`:case`cut`:case`paste`:c=In;break;case`gotpointercapture`:case`lostpointercapture`:case`pointercancel`:case`pointerdown`:case`pointermove`:case`pointerout`:case`pointerover`:case`pointerup`:c=Wn;break;case`toggle`:case`beforetoggle`:c=Jn}var d=!!(t&4),f=!d&&(e===`scroll`||e===`scrollend`),p=d?s===null?null:s+`Capture`:s;d=[];for(var m=r,h;m!==null;){var g=m;if(h=g.stateNode,g=g.tag,g!==5&&g!==26&&g!==27||h===null||p===null||(g=fn(m,p),g!=null&&d.push(Bd(m,g,h))),f)break;m=m.return}0<d.length&&(s=new c(s,u,null,n,i),o.push({event:s,listeners:d}))}}if(!(t&7)){a:{if(s=e===`mouseover`||e===`pointerover`,c=e===`mouseout`||e===`pointerout`,s&&n!==an&&(u=n.relatedTarget||n.fromElement)&&(yt(u)||u[ft]))break a;if((c||s)&&(s=i.window===i?i:(s=i.ownerDocument)?s.defaultView||s.parentWindow:window,c?(u=n.relatedTarget||n.toElement,c=r,u=u?yt(u):null,u!==null&&(f=l(u),d=u.tag,u!==f||d!==5&&d!==27&&d!==6)&&(u=null)):(c=null,u=r),c!==u)){if(d=Mn,g=`onMouseLeave`,p=`onMouseEnter`,m=`mouse`,(e===`pointerout`||e===`pointerover`)&&(d=Wn,g=`onPointerLeave`,p=`onPointerEnter`,m=`pointer`),f=c==null?s:xt(c),h=u==null?s:xt(u),s=new d(g,m+`leave`,c,n,i),s.target=f,s.relatedTarget=h,g=null,yt(i)===r&&(d=new d(p,m+`enter`,u,n,i),d.target=h,d.relatedTarget=f,g=d),f=g,c&&u)b:{for(d=Hd,p=c,m=u,h=0,g=p;g;g=d(g))h++;g=0;for(var _=m;_;_=d(_))g++;for(;0<h-g;)p=d(p),h--;for(;0<g-h;)m=d(m),g--;for(;h--;){if(p===m||m!==null&&p===m.alternate){d=p;break b}p=d(p),m=d(m)}d=null}else d=null;c!==null&&Ud(o,s,c,d,!1),u!==null&&f!==null&&Ud(o,f,u,d,!0)}}a:{if(s=r?xt(r):window,c=s.nodeName&&s.nodeName.toLowerCase(),c===`select`||c===`input`&&s.type===`file`)var v=mr;else if(cr(s)){if(hr)v=wr;else{v=Sr;var y=xr}}else c=s.nodeName,!c||c.toLowerCase()!==`input`||s.type!==`checkbox`&&s.type!==`radio`?r&&$t(r.elementType)&&(v=mr):v=Cr;if(v&&=v(e,r)){lr(o,v,n,i);break a}y&&y(e,s,r),e===`focusout`&&r&&s.type===`number`&&r.memoizedProps.value!=null&&Gt(s,`number`,s.value)}switch(y=r?xt(r):window,e){case`focusin`:(cr(y)||y.contentEditable===`true`)&&(Pr=y,Fr=r,Ir=null);break;case`focusout`:Ir=Fr=Pr=null;break;case`mousedown`:Lr=!0;break;case`contextmenu`:case`mouseup`:case`dragend`:Lr=!1,Rr(o,n,i);break;case`selectionchange`:if(Nr)break;case`keydown`:case`keyup`:Rr(o,n,i)}var b;if(Xn)b:{switch(e){case`compositionstart`:var x=`onCompositionStart`;break b;case`compositionend`:x=`onCompositionEnd`;break b;case`compositionupdate`:x=`onCompositionUpdate`;break b}x=void 0}else ir?nr(e,n)&&(x=`onCompositionEnd`):e===`keydown`&&n.keyCode===229&&(x=`onCompositionStart`);x&&($n&&n.locale!==`ko`&&(ir||x!==`onCompositionStart`?x===`onCompositionEnd`&&ir&&(b=yn()):(gn=i,_n=`value`in gn?gn.value:gn.textContent,ir=!0)),y=Vd(r,x),0<y.length&&(x=new Ln(x,e,null,n,i),o.push({event:x,listeners:y}),b?x.data=b:(b=rr(n),b!==null&&(x.data=b)))),(b=Qn?ar(e,n):or(e,n))&&(x=Vd(r,`onBeforeInput`),0<x.length&&(y=new Ln(`onBeforeInput`,`beforeinput`,null,n,i),o.push({event:y,listeners:x}),y.data=b)),Od(o,e,r,n,i)}Nd(o,t)})}function Bd(e,t,n){return{instance:e,listener:t,currentTarget:n}}function Vd(e,t){for(var n=t+`Capture`,r=[];e!==null;){var i=e,a=i.stateNode;if(i=i.tag,i!==5&&i!==26&&i!==27||a===null||(i=fn(e,n),i!=null&&r.unshift(Bd(e,i,a)),i=fn(e,t),i!=null&&r.push(Bd(e,i,a))),e.tag===3)return r;e=e.return}return[]}function Hd(e){if(e===null)return null;do e=e.return;while(e&&e.tag!==5&&e.tag!==27);return e||null}function Ud(e,t,n,r,i){for(var a=t._reactName,o=[];n!==null&&n!==r;){var s=n,c=s.alternate,l=s.stateNode;if(s=s.tag,c!==null&&c===r)break;s!==5&&s!==26&&s!==27||l===null||(c=l,i?(l=fn(n,a),l!=null&&o.unshift(Bd(n,l,c))):i||(l=fn(n,a),l!=null&&o.push(Bd(n,l,c)))),n=n.return}o.length!==0&&e.push({event:t,listeners:o})}var Wd=/\r\n?/g,Gd=/\u0000|\uFFFD/g;function Kd(e){return(typeof e==`string`?e:``+e).replace(Wd,`
|
|
10
|
-
`).replace(Gd,``)}function qd(e,t){return t=Kd(t),Kd(e)===t}function Jd(e,t,n,r,i,o){switch(n){case`children`:typeof r==`string`?t===`body`||t===`textarea`&&r===``||Yt(e,r):(typeof r==`number`||typeof r==`bigint`)&&t!==`body`&&Yt(e,``+r);break;case`className`:Nt(e,`class`,r);break;case`tabIndex`:Nt(e,`tabindex`,r);break;case`dir`:case`role`:case`viewBox`:case`width`:case`height`:Nt(e,n,r);break;case`style`:Qt(e,r,o);break;case`data`:if(t!==`object`){Nt(e,`data`,r);break}case`src`:case`href`:if(r===``&&(t!==`a`||n!==`href`)){e.removeAttribute(n);break}if(r==null||typeof r==`function`||typeof r==`symbol`||typeof r==`boolean`){e.removeAttribute(n);break}r=nn(``+r),e.setAttribute(n,r);break;case`action`:case`formAction`:if(typeof r==`function`){e.setAttribute(n,`javascript:throw new Error('A React form was unexpectedly submitted. If you called form.submit() manually, consider using form.requestSubmit() instead. If you\\'re trying to use event.stopPropagation() in a submit event handler, consider also calling event.preventDefault().')`);break}if(typeof o==`function`&&(n===`formAction`?(t!==`input`&&Jd(e,t,`name`,i.name,i,null),Jd(e,t,`formEncType`,i.formEncType,i,null),Jd(e,t,`formMethod`,i.formMethod,i,null),Jd(e,t,`formTarget`,i.formTarget,i,null)):(Jd(e,t,`encType`,i.encType,i,null),Jd(e,t,`method`,i.method,i,null),Jd(e,t,`target`,i.target,i,null))),r==null||typeof r==`symbol`||typeof r==`boolean`){e.removeAttribute(n);break}r=nn(``+r),e.setAttribute(n,r);break;case`onClick`:r!=null&&(e.onclick=rn);break;case`onScroll`:r!=null&&Pd(`scroll`,e);break;case`onScrollEnd`:r!=null&&Pd(`scrollend`,e);break;case`dangerouslySetInnerHTML`:if(r!=null){if(typeof r!=`object`||!(`__html`in r))throw Error(a(61));if(n=r.__html,n!=null){if(i.children!=null)throw Error(a(60));e.innerHTML=n}}break;case`multiple`:e.multiple=r&&typeof r!=`function`&&typeof r!=`symbol`;break;case`muted`:e.muted=r&&typeof r!=`function`&&typeof r!=`symbol`;break;case`suppressContentEditableWarning`:case`suppressHydrationWarning`:case`defaultValue`:case`defaultChecked`:case`innerHTML`:case`ref`:break;case`autoFocus`:break;case`xlinkHref`:if(r==null||typeof r==`function`||typeof r==`boolean`||typeof r==`symbol`){e.removeAttribute(`xlink:href`);break}n=nn(``+r),e.setAttributeNS(`http://www.w3.org/1999/xlink`,`xlink:href`,n);break;case`contentEditable`:case`spellCheck`:case`draggable`:case`value`:case`autoReverse`:case`externalResourcesRequired`:case`focusable`:case`preserveAlpha`:r!=null&&typeof r!=`function`&&typeof r!=`symbol`?e.setAttribute(n,``+r):e.removeAttribute(n);break;case`inert`:case`allowFullScreen`:case`async`:case`autoPlay`:case`controls`:case`default`:case`defer`:case`disabled`:case`disablePictureInPicture`:case`disableRemotePlayback`:case`formNoValidate`:case`hidden`:case`loop`:case`noModule`:case`noValidate`:case`open`:case`playsInline`:case`readOnly`:case`required`:case`reversed`:case`scoped`:case`seamless`:case`itemScope`:r&&typeof r!=`function`&&typeof r!=`symbol`?e.setAttribute(n,``):e.removeAttribute(n);break;case`capture`:case`download`:!0===r?e.setAttribute(n,``):!1!==r&&r!=null&&typeof r!=`function`&&typeof r!=`symbol`?e.setAttribute(n,r):e.removeAttribute(n);break;case`cols`:case`rows`:case`size`:case`span`:r!=null&&typeof r!=`function`&&typeof r!=`symbol`&&!isNaN(r)&&1<=r?e.setAttribute(n,r):e.removeAttribute(n);break;case`rowSpan`:case`start`:r==null||typeof r==`function`||typeof r==`symbol`||isNaN(r)?e.removeAttribute(n):e.setAttribute(n,r);break;case`popover`:Pd(`beforetoggle`,e),Pd(`toggle`,e),Mt(e,`popover`,r);break;case`xlinkActuate`:Pt(e,`http://www.w3.org/1999/xlink`,`xlink:actuate`,r);break;case`xlinkArcrole`:Pt(e,`http://www.w3.org/1999/xlink`,`xlink:arcrole`,r);break;case`xlinkRole`:Pt(e,`http://www.w3.org/1999/xlink`,`xlink:role`,r);break;case`xlinkShow`:Pt(e,`http://www.w3.org/1999/xlink`,`xlink:show`,r);break;case`xlinkTitle`:Pt(e,`http://www.w3.org/1999/xlink`,`xlink:title`,r);break;case`xlinkType`:Pt(e,`http://www.w3.org/1999/xlink`,`xlink:type`,r);break;case`xmlBase`:Pt(e,`http://www.w3.org/XML/1998/namespace`,`xml:base`,r);break;case`xmlLang`:Pt(e,`http://www.w3.org/XML/1998/namespace`,`xml:lang`,r);break;case`xmlSpace`:Pt(e,`http://www.w3.org/XML/1998/namespace`,`xml:space`,r);break;case`is`:Mt(e,`is`,r);break;case`innerText`:case`textContent`:break;default:(!(2<n.length)||n[0]!==`o`&&n[0]!==`O`||n[1]!==`n`&&n[1]!==`N`)&&(n=en.get(n)||n,Mt(e,n,r))}}function Yd(e,t,n,r,i,o){switch(n){case`style`:Qt(e,r,o);break;case`dangerouslySetInnerHTML`:if(r!=null){if(typeof r!=`object`||!(`__html`in r))throw Error(a(61));if(n=r.__html,n!=null){if(i.children!=null)throw Error(a(60));e.innerHTML=n}}break;case`children`:typeof r==`string`?Yt(e,r):(typeof r==`number`||typeof r==`bigint`)&&Yt(e,``+r);break;case`onScroll`:r!=null&&Pd(`scroll`,e);break;case`onScrollEnd`:r!=null&&Pd(`scrollend`,e);break;case`onClick`:r!=null&&(e.onclick=rn);break;case`suppressContentEditableWarning`:case`suppressHydrationWarning`:case`innerHTML`:case`ref`:break;case`innerText`:case`textContent`:break;default:if(!Tt.hasOwnProperty(n))a:{if(n[0]===`o`&&n[1]===`n`&&(i=n.endsWith(`Capture`),t=n.slice(2,i?n.length-7:void 0),o=e[dt]||null,o=o==null?null:o[n],typeof o==`function`&&e.removeEventListener(t,o,i),typeof r==`function`)){typeof o!=`function`&&o!==null&&(n in e?e[n]=null:e.hasAttribute(n)&&e.removeAttribute(n)),e.addEventListener(t,r,i);break a}n in e?e[n]=r:!0===r?e.setAttribute(n,``):Mt(e,n,r)}}}function Xd(e,t,n){switch(t){case`div`:case`span`:case`svg`:case`path`:case`a`:case`g`:case`p`:case`li`:break;case`img`:Pd(`error`,e),Pd(`load`,e);var r=!1,i=!1,o;for(o in n)if(n.hasOwnProperty(o)){var s=n[o];if(s!=null)switch(o){case`src`:r=!0;break;case`srcSet`:i=!0;break;case`children`:case`dangerouslySetInnerHTML`:throw Error(a(137,t));default:Jd(e,t,o,s,n,null)}}i&&Jd(e,t,`srcSet`,n.srcSet,n,null),r&&Jd(e,t,`src`,n.src,n,null);return;case`input`:Pd(`invalid`,e);var c=o=s=i=null,l=null,u=null;for(r in n)if(n.hasOwnProperty(r)){var d=n[r];if(d!=null)switch(r){case`name`:i=d;break;case`type`:s=d;break;case`checked`:l=d;break;case`defaultChecked`:u=d;break;case`value`:o=d;break;case`defaultValue`:c=d;break;case`children`:case`dangerouslySetInnerHTML`:if(d!=null)throw Error(a(137,t));break;default:Jd(e,t,r,d,n,null)}}Wt(e,o,c,l,u,s,i,!1);return;case`select`:for(i in Pd(`invalid`,e),r=s=o=null,n)if(n.hasOwnProperty(i)&&(c=n[i],c!=null))switch(i){case`value`:o=c;break;case`defaultValue`:s=c;break;case`multiple`:r=c;default:Jd(e,t,i,c,n,null)}t=o,n=s,e.multiple=!!r,t==null?n!=null&&Kt(e,!!r,n,!0):Kt(e,!!r,t,!1);return;case`textarea`:for(s in Pd(`invalid`,e),o=i=r=null,n)if(n.hasOwnProperty(s)&&(c=n[s],c!=null))switch(s){case`value`:r=c;break;case`defaultValue`:i=c;break;case`children`:o=c;break;case`dangerouslySetInnerHTML`:if(c!=null)throw Error(a(91));break;default:Jd(e,t,s,c,n,null)}Jt(e,r,i,o);return;case`option`:for(l in n)if(n.hasOwnProperty(l)&&(r=n[l],r!=null))switch(l){case`selected`:e.selected=r&&typeof r!=`function`&&typeof r!=`symbol`;break;default:Jd(e,t,l,r,n,null)}return;case`dialog`:Pd(`beforetoggle`,e),Pd(`toggle`,e),Pd(`cancel`,e),Pd(`close`,e);break;case`iframe`:case`object`:Pd(`load`,e);break;case`video`:case`audio`:for(r=0;r<jd.length;r++)Pd(jd[r],e);break;case`image`:Pd(`error`,e),Pd(`load`,e);break;case`details`:Pd(`toggle`,e);break;case`embed`:case`source`:case`link`:Pd(`error`,e),Pd(`load`,e);case`area`:case`base`:case`br`:case`col`:case`hr`:case`keygen`:case`meta`:case`param`:case`track`:case`wbr`:case`menuitem`:for(u in n)if(n.hasOwnProperty(u)&&(r=n[u],r!=null))switch(u){case`children`:case`dangerouslySetInnerHTML`:throw Error(a(137,t));default:Jd(e,t,u,r,n,null)}return;default:if($t(t)){for(d in n)n.hasOwnProperty(d)&&(r=n[d],r!==void 0&&Yd(e,t,d,r,n,void 0));return}}for(c in n)n.hasOwnProperty(c)&&(r=n[c],r!=null&&Jd(e,t,c,r,n,null))}function Zd(e,t,n,r){switch(t){case`div`:case`span`:case`svg`:case`path`:case`a`:case`g`:case`p`:case`li`:break;case`input`:var i=null,o=null,s=null,c=null,l=null,u=null,d=null;for(m in n){var f=n[m];if(n.hasOwnProperty(m)&&f!=null)switch(m){case`checked`:break;case`value`:break;case`defaultValue`:l=f;default:r.hasOwnProperty(m)||Jd(e,t,m,null,r,f)}}for(var p in r){var m=r[p];if(f=n[p],r.hasOwnProperty(p)&&(m!=null||f!=null))switch(p){case`type`:o=m;break;case`name`:i=m;break;case`checked`:u=m;break;case`defaultChecked`:d=m;break;case`value`:s=m;break;case`defaultValue`:c=m;break;case`children`:case`dangerouslySetInnerHTML`:if(m!=null)throw Error(a(137,t));break;default:m!==f&&Jd(e,t,p,m,r,f)}}Ut(e,s,c,l,u,d,o,i);return;case`select`:for(o in m=s=c=p=null,n)if(l=n[o],n.hasOwnProperty(o)&&l!=null)switch(o){case`value`:break;case`multiple`:m=l;default:r.hasOwnProperty(o)||Jd(e,t,o,null,r,l)}for(i in r)if(o=r[i],l=n[i],r.hasOwnProperty(i)&&(o!=null||l!=null))switch(i){case`value`:p=o;break;case`defaultValue`:c=o;break;case`multiple`:s=o;default:o!==l&&Jd(e,t,i,o,r,l)}t=c,n=s,r=m,p==null?!!r!=!!n&&(t==null?Kt(e,!!n,n?[]:``,!1):Kt(e,!!n,t,!0)):Kt(e,!!n,p,!1);return;case`textarea`:for(c in m=p=null,n)if(i=n[c],n.hasOwnProperty(c)&&i!=null&&!r.hasOwnProperty(c))switch(c){case`value`:break;case`children`:break;default:Jd(e,t,c,null,r,i)}for(s in r)if(i=r[s],o=n[s],r.hasOwnProperty(s)&&(i!=null||o!=null))switch(s){case`value`:p=i;break;case`defaultValue`:m=i;break;case`children`:break;case`dangerouslySetInnerHTML`:if(i!=null)throw Error(a(91));break;default:i!==o&&Jd(e,t,s,i,r,o)}qt(e,p,m);return;case`option`:for(var h in n)if(p=n[h],n.hasOwnProperty(h)&&p!=null&&!r.hasOwnProperty(h))switch(h){case`selected`:e.selected=!1;break;default:Jd(e,t,h,null,r,p)}for(l in r)if(p=r[l],m=n[l],r.hasOwnProperty(l)&&p!==m&&(p!=null||m!=null))switch(l){case`selected`:e.selected=p&&typeof p!=`function`&&typeof p!=`symbol`;break;default:Jd(e,t,l,p,r,m)}return;case`img`:case`link`:case`area`:case`base`:case`br`:case`col`:case`embed`:case`hr`:case`keygen`:case`meta`:case`param`:case`source`:case`track`:case`wbr`:case`menuitem`:for(var g in n)p=n[g],n.hasOwnProperty(g)&&p!=null&&!r.hasOwnProperty(g)&&Jd(e,t,g,null,r,p);for(u in r)if(p=r[u],m=n[u],r.hasOwnProperty(u)&&p!==m&&(p!=null||m!=null))switch(u){case`children`:case`dangerouslySetInnerHTML`:if(p!=null)throw Error(a(137,t));break;default:Jd(e,t,u,p,r,m)}return;default:if($t(t)){for(var _ in n)p=n[_],n.hasOwnProperty(_)&&p!==void 0&&!r.hasOwnProperty(_)&&Yd(e,t,_,void 0,r,p);for(d in r)p=r[d],m=n[d],!r.hasOwnProperty(d)||p===m||p===void 0&&m===void 0||Yd(e,t,d,p,r,m);return}}for(var v in n)p=n[v],n.hasOwnProperty(v)&&p!=null&&!r.hasOwnProperty(v)&&Jd(e,t,v,null,r,p);for(f in r)p=r[f],m=n[f],!r.hasOwnProperty(f)||p===m||p==null&&m==null||Jd(e,t,f,p,r,m)}function Qd(e){switch(e){case`css`:case`script`:case`font`:case`img`:case`image`:case`input`:case`link`:return!0;default:return!1}}function $d(){if(typeof performance.getEntriesByType==`function`){for(var e=0,t=0,n=performance.getEntriesByType(`resource`),r=0;r<n.length;r++){var i=n[r],a=i.transferSize,o=i.initiatorType,s=i.duration;if(a&&s&&Qd(o)){for(o=0,s=i.responseEnd,r+=1;r<n.length;r++){var c=n[r],l=c.startTime;if(l>s)break;var u=c.transferSize,d=c.initiatorType;u&&Qd(d)&&(c=c.responseEnd,o+=u*(c<s?1:(s-l)/(c-l)))}if(--r,t+=8*(a+o)/(i.duration/1e3),e++,10<e)break}}if(0<e)return t/e/1e6}return navigator.connection&&(e=navigator.connection.downlink,typeof e==`number`)?e:5}var ef=null,tf=null;function nf(e){return e.nodeType===9?e:e.ownerDocument}function rf(e){switch(e){case`http://www.w3.org/2000/svg`:return 1;case`http://www.w3.org/1998/Math/MathML`:return 2;default:return 0}}function af(e,t){if(e===0)switch(t){case`svg`:return 1;case`math`:return 2;default:return 0}return e===1&&t===`foreignObject`?0:e}function of(e,t){return e===`textarea`||e===`noscript`||typeof t.children==`string`||typeof t.children==`number`||typeof t.children==`bigint`||typeof t.dangerouslySetInnerHTML==`object`&&t.dangerouslySetInnerHTML!==null&&t.dangerouslySetInnerHTML.__html!=null}var sf=null;function cf(){var e=window.event;return e&&e.type===`popstate`?e!==sf&&(sf=e,!0):(sf=null,!1)}var lf=typeof setTimeout==`function`?setTimeout:void 0,uf=typeof clearTimeout==`function`?clearTimeout:void 0,df=typeof Promise==`function`?Promise:void 0,ff=typeof queueMicrotask==`function`?queueMicrotask:df===void 0?lf:function(e){return df.resolve(null).then(e).catch(pf)};function pf(e){setTimeout(function(){throw e})}function mf(e){return e===`head`}function hf(e,t){var n=t,r=0;do{var i=n.nextSibling;if(e.removeChild(n),i&&i.nodeType===8){if(n=i.data,n===`/$`||n===`/&`){if(r===0){e.removeChild(i),Yp(t);return}r--}else if(n===`$`||n===`$?`||n===`$~`||n===`$!`||n===`&`)r++;else if(n===`html`)kf(e.ownerDocument.documentElement);else if(n===`head`){n=e.ownerDocument.head,kf(n);for(var a=n.firstChild;a;){var o=a.nextSibling,s=a.nodeName;a[_t]||s===`SCRIPT`||s===`STYLE`||s===`LINK`&&a.rel.toLowerCase()===`stylesheet`||n.removeChild(a),a=o}}else n===`body`&&kf(e.ownerDocument.body)}n=i}while(n);Yp(t)}function gf(e,t){var n=e;e=0;do{var r=n.nextSibling;if(n.nodeType===1?t?(n._stashedDisplay=n.style.display,n.style.display=`none`):(n.style.display=n._stashedDisplay||``,n.getAttribute(`style`)===``&&n.removeAttribute(`style`)):n.nodeType===3&&(t?(n._stashedText=n.nodeValue,n.nodeValue=``):n.nodeValue=n._stashedText||``),r&&r.nodeType===8){if(n=r.data,n===`/$`){if(e===0)break;e--}else n!==`$`&&n!==`$?`&&n!==`$~`&&n!==`$!`||e++}n=r}while(n)}function _f(e){var t=e.firstChild;for(t&&t.nodeType===10&&(t=t.nextSibling);t;){var n=t;switch(t=t.nextSibling,n.nodeName){case`HTML`:case`HEAD`:case`BODY`:_f(n),vt(n);continue;case`SCRIPT`:case`STYLE`:continue;case`LINK`:if(n.rel.toLowerCase()===`stylesheet`)continue}e.removeChild(n)}}function vf(e,t,n,r){for(;e.nodeType===1;){var i=n;if(e.nodeName.toLowerCase()!==t.toLowerCase()){if(!r&&(e.nodeName!==`INPUT`||e.type!==`hidden`))break}else if(!r){if(t===`input`&&e.type===`hidden`){var a=i.name==null?null:``+i.name;if(i.type===`hidden`&&e.getAttribute(`name`)===a)return e}else return e}else if(!e[_t])switch(t){case`meta`:if(!e.hasAttribute(`itemprop`))break;return e;case`link`:if(a=e.getAttribute(`rel`),a===`stylesheet`&&e.hasAttribute(`data-precedence`)||a!==i.rel||e.getAttribute(`href`)!==(i.href==null||i.href===``?null:i.href)||e.getAttribute(`crossorigin`)!==(i.crossOrigin==null?null:i.crossOrigin)||e.getAttribute(`title`)!==(i.title==null?null:i.title))break;return e;case`style`:if(e.hasAttribute(`data-precedence`))break;return e;case`script`:if(a=e.getAttribute(`src`),(a!==(i.src==null?null:i.src)||e.getAttribute(`type`)!==(i.type==null?null:i.type)||e.getAttribute(`crossorigin`)!==(i.crossOrigin==null?null:i.crossOrigin))&&a&&e.hasAttribute(`async`)&&!e.hasAttribute(`itemprop`))break;return e;default:return e}if(e=wf(e.nextSibling),e===null)break}return null}function yf(e,t,n){if(t===``)return null;for(;e.nodeType!==3;)if((e.nodeType!==1||e.nodeName!==`INPUT`||e.type!==`hidden`)&&!n||(e=wf(e.nextSibling),e===null))return null;return e}function bf(e,t){for(;e.nodeType!==8;)if((e.nodeType!==1||e.nodeName!==`INPUT`||e.type!==`hidden`)&&!t||(e=wf(e.nextSibling),e===null))return null;return e}function xf(e){return e.data===`$?`||e.data===`$~`}function Sf(e){return e.data===`$!`||e.data===`$?`&&e.ownerDocument.readyState!==`loading`}function Cf(e,t){var n=e.ownerDocument;if(e.data===`$~`)e._reactRetry=t;else if(e.data!==`$?`||n.readyState!==`loading`)t();else{var r=function(){t(),n.removeEventListener(`DOMContentLoaded`,r)};n.addEventListener(`DOMContentLoaded`,r),e._reactRetry=r}}function wf(e){for(;e!=null;e=e.nextSibling){var t=e.nodeType;if(t===1||t===3)break;if(t===8){if(t=e.data,t===`$`||t===`$!`||t===`$?`||t===`$~`||t===`&`||t===`F!`||t===`F`)break;if(t===`/$`||t===`/&`)return null}}return e}var Tf=null;function Ef(e){e=e.nextSibling;for(var t=0;e;){if(e.nodeType===8){var n=e.data;if(n===`/$`||n===`/&`){if(t===0)return wf(e.nextSibling);t--}else n!==`$`&&n!==`$!`&&n!==`$?`&&n!==`$~`&&n!==`&`||t++}e=e.nextSibling}return null}function Df(e){e=e.previousSibling;for(var t=0;e;){if(e.nodeType===8){var n=e.data;if(n===`$`||n===`$!`||n===`$?`||n===`$~`||n===`&`){if(t===0)return e;t--}else n!==`/$`&&n!==`/&`||t++}e=e.previousSibling}return null}function Of(e,t,n){switch(t=nf(n),e){case`html`:if(e=t.documentElement,!e)throw Error(a(452));return e;case`head`:if(e=t.head,!e)throw Error(a(453));return e;case`body`:if(e=t.body,!e)throw Error(a(454));return e;default:throw Error(a(451))}}function kf(e){for(var t=e.attributes;t.length;)e.removeAttributeNode(t[0]);vt(e)}var Af=new Map,jf=new Set;function Mf(e){return typeof e.getRootNode==`function`?e.getRootNode():e.nodeType===9?e:e.ownerDocument}var Nf=ne.d;ne.d={f:Pf,r:Ff,D:Rf,C:zf,L:Bf,m:Vf,X:Uf,S:Hf,M:Wf};function Pf(){var e=Nf.f(),t=Pu();return e||t}function Ff(e){var t=bt(e);t!==null&&t.tag===5&&t.type===`form`?Ns(t):Nf.r(e)}var If=typeof document>`u`?null:document;function Lf(e,t,n){var r=If;if(r&&typeof t==`string`&&t){var i=Ht(t);i=`link[rel="`+e+`"][href="`+i+`"]`,typeof n==`string`&&(i+=`[crossorigin="`+n+`"]`),jf.has(i)||(jf.add(i),e={rel:e,crossOrigin:n,href:t},r.querySelector(i)===null&&(t=r.createElement(`link`),Xd(t,`link`,e),Ct(t),r.head.appendChild(t)))}}function Rf(e){Nf.D(e),Lf(`dns-prefetch`,e,null)}function zf(e,t){Nf.C(e,t),Lf(`preconnect`,e,t)}function Bf(e,t,n){Nf.L(e,t,n);var r=If;if(r&&e&&t){var i=`link[rel="preload"][as="`+Ht(t)+`"]`;t===`image`&&n&&n.imageSrcSet?(i+=`[imagesrcset="`+Ht(n.imageSrcSet)+`"]`,typeof n.imageSizes==`string`&&(i+=`[imagesizes="`+Ht(n.imageSizes)+`"]`)):i+=`[href="`+Ht(e)+`"]`;var a=i;switch(t){case`style`:a=Kf(e);break;case`script`:a=Xf(e)}Af.has(a)||(e=h({rel:`preload`,href:t===`image`&&n&&n.imageSrcSet?void 0:e,as:t},n),Af.set(a,e),r.querySelector(i)!==null||t===`style`&&r.querySelector(qf(a))||t===`script`&&r.querySelector(Zf(a))||(t=r.createElement(`link`),Xd(t,`link`,e),Ct(t),r.head.appendChild(t)))}}function Vf(e,t){Nf.m(e,t);var n=If;if(n&&e){var r=t&&typeof t.as==`string`?t.as:`script`,i=`link[rel="modulepreload"][as="`+Ht(r)+`"][href="`+Ht(e)+`"]`,a=i;switch(r){case`audioworklet`:case`paintworklet`:case`serviceworker`:case`sharedworker`:case`worker`:case`script`:a=Xf(e)}if(!Af.has(a)&&(e=h({rel:`modulepreload`,href:e},t),Af.set(a,e),n.querySelector(i)===null)){switch(r){case`audioworklet`:case`paintworklet`:case`serviceworker`:case`sharedworker`:case`worker`:case`script`:if(n.querySelector(Zf(a)))return}r=n.createElement(`link`),Xd(r,`link`,e),Ct(r),n.head.appendChild(r)}}}function Hf(e,t,n){Nf.S(e,t,n);var r=If;if(r&&e){var i=St(r).hoistableStyles,a=Kf(e);t||=`default`;var o=i.get(a);if(!o){var s={loading:0,preload:null};if(o=r.querySelector(qf(a)))s.loading=5;else{e=h({rel:`stylesheet`,href:e,"data-precedence":t},n),(n=Af.get(a))&&ep(e,n);var c=o=r.createElement(`link`);Ct(c),Xd(c,`link`,e),c._p=new Promise(function(e,t){c.onload=e,c.onerror=t}),c.addEventListener(`load`,function(){s.loading|=1}),c.addEventListener(`error`,function(){s.loading|=2}),s.loading|=4,$f(o,t,r)}o={type:`stylesheet`,instance:o,count:1,state:s},i.set(a,o)}}}function Uf(e,t){Nf.X(e,t);var n=If;if(n&&e){var r=St(n).hoistableScripts,i=Xf(e),a=r.get(i);a||(a=n.querySelector(Zf(i)),a||(e=h({src:e,async:!0},t),(t=Af.get(i))&&tp(e,t),a=n.createElement(`script`),Ct(a),Xd(a,`link`,e),n.head.appendChild(a)),a={type:`script`,instance:a,count:1,state:null},r.set(i,a))}}function Wf(e,t){Nf.M(e,t);var n=If;if(n&&e){var r=St(n).hoistableScripts,i=Xf(e),a=r.get(i);a||(a=n.querySelector(Zf(i)),a||(e=h({src:e,async:!0,type:`module`},t),(t=Af.get(i))&&tp(e,t),a=n.createElement(`script`),Ct(a),Xd(a,`link`,e),n.head.appendChild(a)),a={type:`script`,instance:a,count:1,state:null},r.set(i,a))}}function Gf(e,t,n,r){var i=(i=de.current)?Mf(i):null;if(!i)throw Error(a(446));switch(e){case`meta`:case`title`:return null;case`style`:return typeof n.precedence==`string`&&typeof n.href==`string`?(t=Kf(n.href),n=St(i).hoistableStyles,r=n.get(t),r||(r={type:`style`,instance:null,count:0,state:null},n.set(t,r)),r):{type:`void`,instance:null,count:0,state:null};case`link`:if(n.rel===`stylesheet`&&typeof n.href==`string`&&typeof n.precedence==`string`){e=Kf(n.href);var o=St(i).hoistableStyles,s=o.get(e);if(s||(i=i.ownerDocument||i,s={type:`stylesheet`,instance:null,count:0,state:{loading:0,preload:null}},o.set(e,s),(o=i.querySelector(qf(e)))&&!o._p&&(s.instance=o,s.state.loading=5),Af.has(e)||(n={rel:`preload`,as:`style`,href:n.href,crossOrigin:n.crossOrigin,integrity:n.integrity,media:n.media,hrefLang:n.hrefLang,referrerPolicy:n.referrerPolicy},Af.set(e,n),o||Yf(i,e,n,s.state))),t&&r===null)throw Error(a(528,``));return s}if(t&&r!==null)throw Error(a(529,``));return null;case`script`:return t=n.async,n=n.src,typeof n==`string`&&t&&typeof t!=`function`&&typeof t!=`symbol`?(t=Xf(n),n=St(i).hoistableScripts,r=n.get(t),r||(r={type:`script`,instance:null,count:0,state:null},n.set(t,r)),r):{type:`void`,instance:null,count:0,state:null};default:throw Error(a(444,e))}}function Kf(e){return`href="`+Ht(e)+`"`}function qf(e){return`link[rel="stylesheet"][`+e+`]`}function Jf(e){return h({},e,{"data-precedence":e.precedence,precedence:null})}function Yf(e,t,n,r){e.querySelector(`link[rel="preload"][as="style"][`+t+`]`)?r.loading=1:(t=e.createElement(`link`),r.preload=t,t.addEventListener(`load`,function(){return r.loading|=1}),t.addEventListener(`error`,function(){return r.loading|=2}),Xd(t,`link`,n),Ct(t),e.head.appendChild(t))}function Xf(e){return`[src="`+Ht(e)+`"]`}function Zf(e){return`script[async]`+e}function Qf(e,t,n){if(t.count++,t.instance===null)switch(t.type){case`style`:var r=e.querySelector(`style[data-href~="`+Ht(n.href)+`"]`);if(r)return t.instance=r,Ct(r),r;var i=h({},n,{"data-href":n.href,"data-precedence":n.precedence,href:null,precedence:null});return r=(e.ownerDocument||e).createElement(`style`),Ct(r),Xd(r,`style`,i),$f(r,n.precedence,e),t.instance=r;case`stylesheet`:i=Kf(n.href);var o=e.querySelector(qf(i));if(o)return t.state.loading|=4,t.instance=o,Ct(o),o;r=Jf(n),(i=Af.get(i))&&ep(r,i),o=(e.ownerDocument||e).createElement(`link`),Ct(o);var s=o;return s._p=new Promise(function(e,t){s.onload=e,s.onerror=t}),Xd(o,`link`,r),t.state.loading|=4,$f(o,n.precedence,e),t.instance=o;case`script`:return o=Xf(n.src),(i=e.querySelector(Zf(o)))?(t.instance=i,Ct(i),i):(r=n,(i=Af.get(o))&&(r=h({},n),tp(r,i)),e=e.ownerDocument||e,i=e.createElement(`script`),Ct(i),Xd(i,`link`,r),e.head.appendChild(i),t.instance=i);case`void`:return null;default:throw Error(a(443,t.type))}else t.type===`stylesheet`&&!(t.state.loading&4)&&(r=t.instance,t.state.loading|=4,$f(r,n.precedence,e));return t.instance}function $f(e,t,n){for(var r=n.querySelectorAll(`link[rel="stylesheet"][data-precedence],style[data-precedence]`),i=r.length?r[r.length-1]:null,a=i,o=0;o<r.length;o++){var s=r[o];if(s.dataset.precedence===t)a=s;else if(a!==i)break}a?a.parentNode.insertBefore(e,a.nextSibling):(t=n.nodeType===9?n.head:n,t.insertBefore(e,t.firstChild))}function ep(e,t){e.crossOrigin??=t.crossOrigin,e.referrerPolicy??=t.referrerPolicy,e.title??=t.title}function tp(e,t){e.crossOrigin??=t.crossOrigin,e.referrerPolicy??=t.referrerPolicy,e.integrity??=t.integrity}var np=null;function rp(e,t,n){if(np===null){var r=new Map,i=np=new Map;i.set(n,r)}else i=np,r=i.get(n),r||(r=new Map,i.set(n,r));if(r.has(e))return r;for(r.set(e,null),n=n.getElementsByTagName(e),i=0;i<n.length;i++){var a=n[i];if(!(a[_t]||a[ut]||e===`link`&&a.getAttribute(`rel`)===`stylesheet`)&&a.namespaceURI!==`http://www.w3.org/2000/svg`){var o=a.getAttribute(t)||``;o=e+o;var s=r.get(o);s?s.push(a):r.set(o,[a])}}return r}function ip(e,t,n){e=e.ownerDocument||e,e.head.insertBefore(n,t===`title`?e.querySelector(`head > title`):null)}function ap(e,t,n){if(n===1||t.itemProp!=null)return!1;switch(e){case`meta`:case`title`:return!0;case`style`:if(typeof t.precedence!=`string`||typeof t.href!=`string`||t.href===``)break;return!0;case`link`:if(typeof t.rel!=`string`||typeof t.href!=`string`||t.href===``||t.onLoad||t.onError)break;switch(t.rel){case`stylesheet`:return e=t.disabled,typeof t.precedence==`string`&&e==null;default:return!0}case`script`:if(t.async&&typeof t.async!=`function`&&typeof t.async!=`symbol`&&!t.onLoad&&!t.onError&&t.src&&typeof t.src==`string`)return!0}return!1}function op(e){return!(e.type===`stylesheet`&&!(e.state.loading&3))}function sp(e,t,n,r){if(n.type===`stylesheet`&&(typeof r.media!=`string`||!1!==matchMedia(r.media).matches)&&!(n.state.loading&4)){if(n.instance===null){var i=Kf(r.href),a=t.querySelector(qf(i));if(a){t=a._p,typeof t==`object`&&t&&typeof t.then==`function`&&(e.count++,e=up.bind(e),t.then(e,e)),n.state.loading|=4,n.instance=a,Ct(a);return}a=t.ownerDocument||t,r=Jf(r),(i=Af.get(i))&&ep(r,i),a=a.createElement(`link`),Ct(a);var o=a;o._p=new Promise(function(e,t){o.onload=e,o.onerror=t}),Xd(a,`link`,r),n.instance=a}e.stylesheets===null&&(e.stylesheets=new Map),e.stylesheets.set(n,t),(t=n.state.preload)&&!(n.state.loading&3)&&(e.count++,n=up.bind(e),t.addEventListener(`load`,n),t.addEventListener(`error`,n))}}var cp=0;function lp(e,t){return e.stylesheets&&e.count===0&&fp(e,e.stylesheets),0<e.count||0<e.imgCount?function(n){var r=setTimeout(function(){if(e.stylesheets&&fp(e,e.stylesheets),e.unsuspend){var t=e.unsuspend;e.unsuspend=null,t()}},6e4+t);0<e.imgBytes&&cp===0&&(cp=62500*$d());var i=setTimeout(function(){if(e.waitingForImages=!1,e.count===0&&(e.stylesheets&&fp(e,e.stylesheets),e.unsuspend)){var t=e.unsuspend;e.unsuspend=null,t()}},(e.imgBytes>cp?50:800)+t);return e.unsuspend=n,function(){e.unsuspend=null,clearTimeout(r),clearTimeout(i)}}:null}function up(){if(this.count--,this.count===0&&(this.imgCount===0||!this.waitingForImages)){if(this.stylesheets)fp(this,this.stylesheets);else if(this.unsuspend){var e=this.unsuspend;this.unsuspend=null,e()}}}var dp=null;function fp(e,t){e.stylesheets=null,e.unsuspend!==null&&(e.count++,dp=new Map,t.forEach(pp,e),dp=null,up.call(e))}function pp(e,t){if(!(t.state.loading&4)){var n=dp.get(e);if(n)var r=n.get(null);else{n=new Map,dp.set(e,n);for(var i=e.querySelectorAll(`link[data-precedence],style[data-precedence]`),a=0;a<i.length;a++){var o=i[a];(o.nodeName===`LINK`||o.getAttribute(`media`)!==`not all`)&&(n.set(o.dataset.precedence,o),r=o)}r&&n.set(null,r)}i=t.instance,o=i.getAttribute(`data-precedence`),a=n.get(o)||r,a===r&&n.set(null,i),n.set(o,i),this.count++,r=up.bind(this),i.addEventListener(`load`,r),i.addEventListener(`error`,r),a?a.parentNode.insertBefore(i,a.nextSibling):(e=e.nodeType===9?e.head:e,e.insertBefore(i,e.firstChild)),t.state.loading|=4}}var mp={$$typeof:C,Provider:null,Consumer:null,_currentValue:re,_currentValue2:re,_threadCount:0};function hp(e,t,n,r,i,a,o,s,c){this.tag=1,this.containerInfo=e,this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.next=this.pendingContext=this.context=this.cancelPendingCommit=null,this.callbackPriority=0,this.expirationTimes=$e(-1),this.entangledLanes=this.shellSuspendCounter=this.errorRecoveryDisabledLanes=this.expiredLanes=this.warmLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=$e(0),this.hiddenUpdates=$e(null),this.identifierPrefix=r,this.onUncaughtError=i,this.onCaughtError=a,this.onRecoverableError=o,this.pooledCache=null,this.pooledCacheLanes=0,this.formState=c,this.incompleteTransitions=new Map}function gp(e,t,n,r,i,a,o,s,c,l,u,d){return e=new hp(e,t,n,o,c,l,u,d,s),t=1,!0===a&&(t|=24),a=fi(3,null,null,t),e.current=a,a.stateNode=e,t=pa(),t.refCount++,e.pooledCache=t,t.refCount++,a.memoizedState={element:r,isDehydrated:n,cache:t},Ka(a),e}function _p(e){return e?(e=ui,e):ui}function vp(e,t,n,r,i,a){i=_p(i),r.context===null?r.context=i:r.pendingContext=i,r=Ja(t),r.payload={element:n},a=a===void 0?null:a,a!==null&&(r.callback=a),n=Ya(e,r,t),n!==null&&(ku(n,e,t),Xa(n,e,t))}function yp(e,t){if(e=e.memoizedState,e!==null&&e.dehydrated!==null){var n=e.retryLane;e.retryLane=n!==0&&n<t?n:t}}function bp(e,t){yp(e,t),(e=e.alternate)&&yp(e,t)}function xp(e){if(e.tag===13||e.tag===31){var t=si(e,67108864);t!==null&&ku(t,e,67108864),bp(e,67108864)}}function Sp(e){if(e.tag===13||e.tag===31){var t=Du();t=at(t);var n=si(e,t);n!==null&&ku(n,e,t),bp(e,t)}}var Cp=!0;function wp(e,t,n,r){var i=P.T;P.T=null;var a=ne.p;try{ne.p=2,Ep(e,t,n,r)}finally{ne.p=a,P.T=i}}function Tp(e,t,n,r){var i=P.T;P.T=null;var a=ne.p;try{ne.p=8,Ep(e,t,n,r)}finally{ne.p=a,P.T=i}}function Ep(e,t,n,r){if(Cp){var i=Dp(r);if(i===null)zd(e,t,r,Op,n),zp(e,r);else if(Vp(i,e,t,n,r))r.stopPropagation();else if(zp(e,r),t&4&&-1<Rp.indexOf(e)){for(;i!==null;){var a=bt(i);if(a!==null)switch(a.tag){case 3:if(a=a.stateNode,a.current.memoizedState.isDehydrated){var o=Je(a.pendingLanes);if(o!==0){var s=a;for(s.pendingLanes|=2,s.entangledLanes|=2;o;){var c=1<<31-Ve(o);s.entanglements[1]|=c,o&=~c}_d(a),!(Jl&6)&&(hu=ke()+500,vd(0,!1))}}break;case 31:case 13:s=si(a,2),s!==null&&ku(s,a,2),Pu(),bp(a,2)}if(a=Dp(r),a===null&&zd(e,t,r,Op,n),a===i)break;i=a}i!==null&&r.stopPropagation()}else zd(e,t,r,null,n)}}function Dp(e){return e=on(e),kp(e)}var Op=null;function kp(e){if(Op=null,e=yt(e),e!==null){var t=l(e);if(t===null)e=null;else{var n=t.tag;if(n===13){if(e=u(t),e!==null)return e;e=null}else if(n===31){if(e=d(t),e!==null)return e;e=null}else if(n===3){if(t.stateNode.current.memoizedState.isDehydrated)return t.tag===3?t.stateNode.containerInfo:null;e=null}else t!==e&&(e=null)}}return Op=e,null}function Ap(e){switch(e){case`beforetoggle`:case`cancel`:case`click`:case`close`:case`contextmenu`:case`copy`:case`cut`:case`auxclick`:case`dblclick`:case`dragend`:case`dragstart`:case`drop`:case`focusin`:case`focusout`:case`input`:case`invalid`:case`keydown`:case`keypress`:case`keyup`:case`mousedown`:case`mouseup`:case`paste`:case`pause`:case`play`:case`pointercancel`:case`pointerdown`:case`pointerup`:case`ratechange`:case`reset`:case`resize`:case`seeked`:case`submit`:case`toggle`:case`touchcancel`:case`touchend`:case`touchstart`:case`volumechange`:case`change`:case`selectionchange`:case`textInput`:case`compositionstart`:case`compositionend`:case`compositionupdate`:case`beforeblur`:case`afterblur`:case`beforeinput`:case`blur`:case`fullscreenchange`:case`focus`:case`hashchange`:case`popstate`:case`select`:case`selectstart`:return 2;case`drag`:case`dragenter`:case`dragexit`:case`dragleave`:case`dragover`:case`mousemove`:case`mouseout`:case`mouseover`:case`pointermove`:case`pointerout`:case`pointerover`:case`scroll`:case`touchmove`:case`wheel`:case`mouseenter`:case`mouseleave`:case`pointerenter`:case`pointerleave`:return 8;case`message`:switch(Ae()){case je:return 2;case Me:return 8;case Ne:case Pe:return 32;case Fe:return 268435456;default:return 32}default:return 32}}var jp=!1,Mp=null,Np=null,Pp=null,Fp=new Map,Ip=new Map,Lp=[],Rp=`mousedown mouseup touchcancel touchend touchstart auxclick dblclick pointercancel pointerdown pointerup dragend dragstart drop compositionend compositionstart keydown keypress keyup input textInput copy cut paste click change contextmenu reset`.split(` `);function zp(e,t){switch(e){case`focusin`:case`focusout`:Mp=null;break;case`dragenter`:case`dragleave`:Np=null;break;case`mouseover`:case`mouseout`:Pp=null;break;case`pointerover`:case`pointerout`:Fp.delete(t.pointerId);break;case`gotpointercapture`:case`lostpointercapture`:Ip.delete(t.pointerId)}}function Bp(e,t,n,r,i,a){return e===null||e.nativeEvent!==a?(e={blockedOn:t,domEventName:n,eventSystemFlags:r,nativeEvent:a,targetContainers:[i]},t!==null&&(t=bt(t),t!==null&&xp(t)),e):(e.eventSystemFlags|=r,t=e.targetContainers,i!==null&&t.indexOf(i)===-1&&t.push(i),e)}function Vp(e,t,n,r,i){switch(t){case`focusin`:return Mp=Bp(Mp,e,t,n,r,i),!0;case`dragenter`:return Np=Bp(Np,e,t,n,r,i),!0;case`mouseover`:return Pp=Bp(Pp,e,t,n,r,i),!0;case`pointerover`:var a=i.pointerId;return Fp.set(a,Bp(Fp.get(a)||null,e,t,n,r,i)),!0;case`gotpointercapture`:return a=i.pointerId,Ip.set(a,Bp(Ip.get(a)||null,e,t,n,r,i)),!0}return!1}function Hp(e){var t=yt(e.target);if(t!==null){var n=l(t);if(n!==null){if(t=n.tag,t===13){if(t=u(n),t!==null){e.blockedOn=t,ct(e.priority,function(){Sp(n)});return}}else if(t===31){if(t=d(n),t!==null){e.blockedOn=t,ct(e.priority,function(){Sp(n)});return}}else if(t===3&&n.stateNode.current.memoizedState.isDehydrated){e.blockedOn=n.tag===3?n.stateNode.containerInfo:null;return}}}e.blockedOn=null}function Up(e){if(e.blockedOn!==null)return!1;for(var t=e.targetContainers;0<t.length;){var n=Dp(e.nativeEvent);if(n===null){n=e.nativeEvent;var r=new n.constructor(n.type,n);an=r,n.target.dispatchEvent(r),an=null}else return t=bt(n),t!==null&&xp(t),e.blockedOn=n,!1;t.shift()}return!0}function Wp(e,t,n){Up(e)&&n.delete(t)}function Gp(){jp=!1,Mp!==null&&Up(Mp)&&(Mp=null),Np!==null&&Up(Np)&&(Np=null),Pp!==null&&Up(Pp)&&(Pp=null),Fp.forEach(Wp),Ip.forEach(Wp)}function Kp(e,n){e.blockedOn===n&&(e.blockedOn=null,jp||(jp=!0,t.unstable_scheduleCallback(t.unstable_NormalPriority,Gp)))}var qp=null;function Jp(e){qp!==e&&(qp=e,t.unstable_scheduleCallback(t.unstable_NormalPriority,function(){qp===e&&(qp=null);for(var t=0;t<e.length;t+=3){var n=e[t],r=e[t+1],i=e[t+2];if(typeof r!=`function`){if(kp(r||n)===null)continue;break}var a=bt(n);a!==null&&(e.splice(t,3),t-=3,js(a,{pending:!0,data:i,method:n.method,action:r},r,i))}}))}function Yp(e){function t(t){return Kp(t,e)}Mp!==null&&Kp(Mp,e),Np!==null&&Kp(Np,e),Pp!==null&&Kp(Pp,e),Fp.forEach(t),Ip.forEach(t);for(var n=0;n<Lp.length;n++){var r=Lp[n];r.blockedOn===e&&(r.blockedOn=null)}for(;0<Lp.length&&(n=Lp[0],n.blockedOn===null);)Hp(n),n.blockedOn===null&&Lp.shift();if(n=(e.ownerDocument||e).$$reactFormReplay,n!=null)for(r=0;r<n.length;r+=3){var i=n[r],a=n[r+1],o=i[dt]||null;if(typeof a==`function`)o||Jp(n);else if(o){var s=null;if(a&&a.hasAttribute(`formAction`)){if(i=a,o=a[dt]||null)s=o.formAction;else if(kp(i)!==null)continue}else s=o.action;typeof s==`function`?n[r+1]=s:(n.splice(r,3),r-=3),Jp(n)}}}function Xp(){function e(e){e.canIntercept&&e.info===`react-transition`&&e.intercept({handler:function(){return new Promise(function(e){return i=e})},focusReset:`manual`,scroll:`manual`})}function t(){i!==null&&(i(),i=null),r||setTimeout(n,20)}function n(){if(!r&&!navigation.transition){var e=navigation.currentEntry;e&&e.url!=null&&navigation.navigate(e.url,{state:e.getState(),info:`react-transition`,history:`replace`})}}if(typeof navigation==`object`){var r=!1,i=null;return navigation.addEventListener(`navigate`,e),navigation.addEventListener(`navigatesuccess`,t),navigation.addEventListener(`navigateerror`,t),setTimeout(n,100),function(){r=!0,navigation.removeEventListener(`navigate`,e),navigation.removeEventListener(`navigatesuccess`,t),navigation.removeEventListener(`navigateerror`,t),i!==null&&(i(),i=null)}}}function Zp(e){this._internalRoot=e}Qp.prototype.render=Zp.prototype.render=function(e){var t=this._internalRoot;if(t===null)throw Error(a(409));var n=t.current;vp(n,Du(),e,t,null,null)},Qp.prototype.unmount=Zp.prototype.unmount=function(){var e=this._internalRoot;if(e!==null){this._internalRoot=null;var t=e.containerInfo;vp(e.current,2,null,e,null,null),Pu(),t[ft]=null}};function Qp(e){this._internalRoot=e}Qp.prototype.unstable_scheduleHydration=function(e){if(e){var t=st();e={blockedOn:null,target:e,priority:t};for(var n=0;n<Lp.length&&t!==0&&t<Lp[n].priority;n++);Lp.splice(n,0,e),n===0&&Hp(e)}};var $p=n.version;if($p!==`19.2.8`)throw Error(a(527,$p,`19.2.8`));ne.findDOMNode=function(e){var t=e._reactInternals;if(t===void 0)throw typeof e.render==`function`?Error(a(188)):(e=Object.keys(e).join(`,`),Error(a(268,e)));return e=p(t),e=e===null?null:m(e),e=e===null?null:e.stateNode,e};var em={bundleType:0,version:`19.2.8`,rendererPackageName:`react-dom`,currentDispatcherRef:P,reconcilerVersion:`19.2.8`};if(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__<`u`){var tm=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(!tm.isDisabled&&tm.supportsFiber)try{Re=tm.inject(em),ze=tm}catch{}}e.createRoot=function(e,t){if(!s(e))throw Error(a(299));var n=!1,r=``,i=ec,o=tc,c=nc;return t!=null&&(!0===t.unstable_strictMode&&(n=!0),t.identifierPrefix!==void 0&&(r=t.identifierPrefix),t.onUncaughtError!==void 0&&(i=t.onUncaughtError),t.onCaughtError!==void 0&&(o=t.onCaughtError),t.onRecoverableError!==void 0&&(c=t.onRecoverableError)),t=gp(e,1,!1,null,null,n,r,null,i,o,c,Xp),e[ft]=t.current,Ld(e),new Zp(t)}})),u=n(((e,t)=>{function n(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>`u`||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!=`function`))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(n)}catch(e){console.error(e)}}n(),t.exports=l()})),d=t(i(),1),f=u();function p(e,t={}){return e.replace(/\{([\w.-]+)\}/g,(e,n)=>{let r=t[n];return r===void 0?e:String(r)})}function m(e,t,n,r={}){let i=n[e]?.[t]??n.en?.[t];return i===void 0?t:p(i,r)}function h(e,t,n=new Date){let r=(e instanceof Date?e:new Date(e)).getTime()-n.getTime(),i=Math.abs(r),[a,o]=i<6e4?[`second`,1e3]:i<36e5?[`minute`,6e4]:i<864e5?[`hour`,36e5]:[`day`,864e5],s=Math.round(r/o);return new Intl.RelativeTimeFormat(t,{numeric:`always`}).format(s,a)}var g={id:`en`,label:`English`,messages:{"common.ok":`OK`,"common.language":`Language`,"common.models":`Models`,"common.skills":`Skills`,"common.plugins":`Plugins`,"common.mcp":`MCP`,"sidebar.hide":`Collapse sidebar`,"sidebar.show":`Expand sidebar`,"theme.light":`Switch to light mode`,"preferences.defaultThinkingLevel":`Default thinking level`,"preferences.thinkingLevelHint":"Global default for new sessions (settings.json `defaultThinkingLevel`). Not set = field removed, falls back to pi default.","preferences.thinkingLevelNotSet":`Not set (use model default)`,"preferences.compaction":`Auto compaction`,"preferences.compactionHint":"Automatically compact long sessions (settings.json `compaction`). When not configured the pi defaults are shown; any edit writes the full object.","preferences.compactionEnabled":`Enabled`,"preferences.compactionReserveTokens":`Reserve tokens`,"preferences.compactionReserveTokensHint":`Tokens reserved for model output, keeping reply space after compaction`,"preferences.compactionKeepRecentTokens":`Keep recent tokens`,"preferences.compactionKeepRecentTokensHint":`Tokens kept after compaction, counted backwards from the most recent messages`,"preferences.retry":`API retry`,"preferences.retryHint":"Retry settings for provider API calls (settings.json `retry`). When not configured the pi defaults are shown; any edit writes the full object. Provider sub-fields left empty are not written.","preferences.retryEnabled":`Enabled`,"preferences.retryEnabledHint":`Enable retries for failed API calls`,"preferences.retryMaxRetries":`Max retries`,"preferences.retryBaseDelayMs":`Base delay (ms)`,"preferences.retryBaseDelayMsHint":`Initial delay before the first retry, in milliseconds`,"preferences.retryProviderTimeoutMs":`Provider timeout (ms)`,"preferences.retryProviderMaxRetries":`Provider max retries`,"preferences.retryProviderMaxRetryDelayMs":`Provider max delay (ms)`,"preferences.defaultProjectTrust":`Default project trust`,"preferences.projectTrustHint":"Default trust for new projects (settings.json `defaultProjectTrust`). Not set = field removed (falls back to ask).","preferences.projectTrustNotSet":`Not set (ask)`,"preferences.projectTrustAsk":`Ask`,"preferences.projectTrustAlways":`Always trust`,"preferences.projectTrustNever":`Never trust`,"preferences.notifyEvents":`Notifications`,"preferences.notifyEventsHint":`Browser notifications when the tab is not active. Permission is requested on first interaction.`,"notify.permission.request":`Enable notifications`,"notify.permission.requestHint":`Click to enable browser notifications — you'll be alerted when a task finishes even if this tab is in the background`,"notify.permission.granted":`Notifications on`,"wsHealth.disconnected":`Connection to the server lost, reconnecting…`,"wsHealth.restored":`Connection restored`,"reducedMotionNotice.message":`Your system has "Reduce motion" enabled (prefers-reduced-motion). To respect it, this app has turned off some animations. To restore them, search for "how to turn off reduce motion" or "prefers-reduced-motion" and follow your system/browser settings. Shown once per browser session.`,"notify.permission.grantedHint":`Browser notifications are enabled — you'll be alerted when a task finishes even if this tab is in the background`,"notify.permission.bannerHintBefore":`Click the`,"notify.permission.bannerHintAfter":`button in the top-left toolbar to enable notifications — you'll be alerted when a task completes, errors, or asks a question. Fine-tune in Config Center → Session → Notifications`,"notify.permission.denied":`Notifications blocked`,"notify.permission.deniedHint":`Notifications are blocked by the browser. Click the icon next to the address bar → Site settings, switch notifications to Allow, then try again`,"preferences.notifyWhileActive":`Notify while page active`,"preferences.notifyTaskComplete":`Task complete`,"preferences.notifyErrors":`Errors`,"preferences.notifyQuestions":`Questions`,"theme.dark":`Switch to dark mode`,"theme.toggleTheme":`Switch theme`,"theme.darkMode":`Dark`,"theme.lightMode":`Light`,"theme.fontSize":`Font size`,"theme.scrollStep":`Hover scroll step`,"scrollStep.hint":`Pixels scrolled per hover tick on the edge scroll arrows (shared by the panel scroll arrows and the minimap).`,"scrollStep.range":`per hover tick (1-1000)`,"scrollStep.unit":`px`,"theme.autoReloadSeconds":`Auto-sync chat messages interval`,"autoReload.off":`Off (0) — do not auto-reload`,"autoReload.range":`seconds (0 — 3600)`,"autoReload.unit":`s`,"autoReload.hint":`Interval in seconds for re-reading the session file; 0 = off. Keep 0 for single-client use (messages arrive via WebSocket in real time); set it above 0 for multi-client collaboration (several browsers on the same session) so each client refreshes periodically and picks up chat messages generated by the others.`,"recentBlocks.hint":`How many recent completed blocks stay expanded, including the newest one (default 0: completed blocks collapse by default, hover to preview or click to expand).`,"autoReload.reset":`Reset to default ({n} s)`,"chat.reloadFromDisk":`Sync session file content from disk`,"chat.reloadFromDiskHint":`Use when multiple clients read/write the same session jsonl at the same time. You can set automatic timed syncing under Config Center → Session.`,"chat.exportSession":`Export session (HTML)`,"chat.exportSessionHint":`Download the full session as a standalone HTML file (renders the message tree offline in any browser).`,"scrollStep.reset":`Reset to default ({n} px)`,"theme.recentBlocksExpanded":`Recent completed blocks kept expanded`,"layout.sidebarWidth":`Left panel width`,"layout.widgetPanelWidth":`Right panel width`,"layout.widthRange":`px ({min}–{max})`,"layout.widthReset":`Reset to default ({value} px)`,"longBlock.blocks":`blocks`,"recentBlocks.reset":`Reset to default ({n})`,"recentBlocks.range":`0-20, includes the newest completed block`,"history.full":`Trajectory`,"history.unsaved":`Trajectory is available after the session is saved`,"title.generating":`Generating...`,"title.updated":`Title updated`,"title.noMessages":`Send a message before naming this session`,"title.generateSession":`Generate a session title`,"system.prompt":`System prompt`,"system.promptHint":`Shows the system prompt actually used by the latest request (derived from the session transcript); not generated until the first message is sent in a new session.`,"system.empty":`System prompt is empty (tools are disabled)`,"system.load":`Send a message to load the system prompt`,"notices.title":`Messages`,"notices.empty":`No messages yet`,"mcp.requiresCwd":`Open a working directory to view MCP server configuration`,"mcp.title":`MCP Servers`,"mcp.builtinNote":`Built-in MCP support is enabled with the session (pi 0.99+). Do not install mcp plugins — any extension registering /mcp replaces the built-in support. Configuration comes from mcp.json and servers connect at session start.`,"mcp.empty":"No MCP servers configured. Use `pi mcp add <name> -- <command>` or edit {globalPath}.","mcp.sourceGlobal":`global`,"mcp.sourceProject":`project`,"mcp.disabled":`disabled`,"mcp.exposure":`exposure`,"mcp.toolExposureCount":`{n} tool overrides`,"mcp.timeout":`{n}s timeout`,"mcp.projectUntrusted":`Project .pi/mcp.json is not active: the project is not trusted (stdio servers execute commands).`,"mcp.howToEdit":"Add, edit or remove servers with the cards above; /reload or start a new session to apply. For OAuth sign-in use `pi mcp login <server>`.","mcp.addServer":`Add server`,"mcp.addTo":`Add to`,"mcp.editServer":`Edit server`,"mcp.removeServer":`Remove server`,"mcp.removeConfirmTitle":`Remove MCP server`,"mcp.removeConfirmDesc":`“{name}” will be removed from the {source} mcp.json. /reload or start a new session to apply.`,"mcp.fieldName":`Name`,"mcp.fieldTransport":`Transport`,"mcp.transportStdio":`stdio (local command)`,"mcp.transportHttp":`HTTP (remote)`,"mcp.fieldCommand":`Command`,"mcp.fieldArgs":`Args`,"mcp.fieldArgsHint":`Space-separated, e.g. -y server-fs .`,"mcp.fieldUrl":`URL`,"mcp.fieldEnv":`Env`,"mcp.fieldHeaders":`Headers`,"mcp.fieldKvHint":`One KEY=VALUE per line`,"mcp.fieldTimeout":`Timeout (s, optional)`,"mcp.fieldEnabled":`Enabled`,"mcp.dialogTargetGlobal":`Save to {path}`,"mcp.dialogTargetProject":`Save to {path}`,"mcp.dialogTargetProjectUnavailable":`Project not trusted; cannot write to the project mcp.json`,"mcp.errNameRequired":`Name is required`,"mcp.errCommandRequired":`stdio servers require a command`,"mcp.errUrlRequired":`HTTP servers require a URL`,"mcp.autoEnableCodemode":`Auto-enable codemode`,"mcp.autoEnableCodemodeHint":`Whether codemode (model-written JS calling tools in parallel) activates when codemode-exposed MCP servers are present.`,"mcp.exposureDirect":`direct (declared to model)`,"mcp.exposureModelOnly":`model-only (not in scripts)`,"mcp.exposureCodemode":`codemode (scripts only)`,"mcp.exposureDeferred":`deferred (tool_search)`,"mcp.exposureHidden":`hidden`,"notices.filterInfo":`Show info messages`,"notices.filterWarning":`Show warning messages`,"notices.filterError":`Show error messages`,"notices.search":`Search messages`,"notices.clear":`Clear`,"notices.clearCurrentHint":`Clear message log of the current session (scope: current session)`,"notices.clearAllHint":`Clear message log of all sessions (scope: all sessions)`,"notices.clearCurrent":`Clear messages of current session`,"notices.clearAll":`Clear all messages`,"notices.remove":`Remove this message`,"notices.onlyCurrent":`Current session only`,"notices.onlyCurrentOnHint":`Show messages of the current session only (click to show all sessions)`,"notices.onlyCurrentOffHint":`Showing messages of all sessions (click to filter to current session)`,"notices.fromSession":`From session`,"notices.global":`Global`,"session.info":`Session info`,"session.reload":`Reload session (re-read config and resources)`,"session.name":`Name`,"session.file":`File`,"session.inMemory":`In-memory`,"session.id":`ID`,"session.user":`User`,"session.assistant":`Assistant`,"session.toolCalls":`Tool Calls`,"session.toolResults":`Tool Results`,"session.total":`Total`,"session.input":`Input`,"session.output":`Output`,"session.cacheRead":`Cache Read`,"session.cacheWrite":`Cache Write`,"session.inputHint":`Prompt tokens NOT served from cache: system prompt, history and tool definitions sent to the model, minus the cached portion`,"session.outputHint":`Tokens generated by the model (answers and thinking)`,"session.cacheReadHint":`Tokens served from prompt cache: unchanged context re-read from the previous request at a discounted rate`,"session.cacheWriteHint":`Tokens written to cache for the first time (billed on write, Anthropic-style)`,"session.totalHint":`input + output + cacheRead + cacheWrite`,"session.cacheHitRate":`Cache hit rate`,"session.cacheReadRate":`Cache hit rate: cache-read tokens as a share of all input prompt tokens (input + cacheRead + cacheWrite), the official formula cacheRead / (input + cacheRead + cacheWrite)`,"session.cost":`Cost`,"session.context":`Context`,"session.copy":`Copy {value}`,"session.copied":`Copied`,"session.title":`Session info`,"session.load":`Send a message or run /session to load session info`,"session.infoSection":`Session Info`,"session.messages":`Messages`,"session.tokens":`Tokens`,"session.copyFile":`Copy file path`,"session.copyId":`Copy session ID`,"workspace.opening":`Opening workspace...`,"workspace.unable":`Unable to open workspace`,"workspace.selectSession":`Select a session from the sidebar`,"workspace.selectWorkspace":`Please select a workspace`,"workspace.stepProject":`Select a project directory from the sidebar`,"workspace.stepModels":`Add models via the Models button at the bottom`,"tabs.chat":`Chat`,"tabs.widgets":`Widgets`,"tabs.updates":`Updates`,"tabs.branches":`Branches`,"branch.assistantFallback":`[assistant message]`,"branch.customMessage":`custom message`,"branch.sessionInfo":`session info`,"branch.thinkingLevelChange":`thinking level change`,"branch.modelChange":`model change`,"tabs.trajectory":`Trajectory`,"trajectory.noSession":`Select a session to view its trajectory`,"trajectory.loading":`Loading…`,"trajectory.summary":`{turns} turns · {tools} tool calls`,"trajectory.emptyTurn":`(no user message)`,"trajectory.turnStats":`{tools} tools · {errors} errors`,"trajectory.toolError":`Tool {name} failed`,"trajectory.lane.user":`user`,"trajectory.overviewEmpty":`Expand a turn to see its timeline`,"trajectory.lane.assistant":`assistant`,"trajectory.lane.tool":`tool`,"config.title":`Settings`,"config.mobileDisabled":`Config center is not available on mobile. Please open it in a desktop browser.`,"config.section.session":`Session`,"config.section.appearance":`Appearance`,"config.section.advanced":`Advanced`,"config.section.envVars":`Environment`,"config.env.hint":`Environment variables actually in effect inside the pi-web server process (covers .env, shell exports, OS-level and process inheritance). Read-only. Secret-looking values are masked.`,"config.env.filterPlaceholder":`Filter by name…`,"config.env.colName":`Name`,"config.env.colValue":`Value`,"config.env.emptyTitle":`Variable is set to an empty string`,"config.env.loadFailed":`Failed to load:`,"config.env.loading":`Loading…`,"config.env.noMatch":`No matching variables`,"config.section.tools":`Tools`,"config.search.placeholder":`Search settings (min 2 chars)…`,"config.search.open":`Search settings (Ctrl+F)`,"config.search.hint":`Press Ctrl+F to search settings`,"config.search.matchCount":`{count} matches`,"config.search.noResults":`No matching settings`,"config.section.fileExclusions":`File Exclusions`,"config.section.startScreen":`Start screen`,"config.section.git":`Git`,"config.section.modelThinking":`Thinking Levels`,"config.section.requiresCwd":`Select a project directory from the sidebar first to browse plugins / skills`,"updates.check":`Check for updates`,"updates.checking":`Checking…`,"updates.checkedAt":`Last checked`,"updates.upToDate":`Up to date`,"updates.updateAvailable":`Update available`,"updates.unavailable":`Check failed`,"updates.noPluginUpdates":`All plugins are up to date`,"updates.banner":`Update available: {items}`,"updates.view":`View`,"updates.copied":`Copied`,"updates.copyCommand":`Copy command`,"updates.restartNote":`Also upgrades the bundled pi SDK; restart pi-web to load it.`,"updates.enableChecking":`Enable update checks`,"updates.enableCheckingHint":`Automatically check for updates every 30 minutes (you can also click Check for updates anytime)`,"updates.disabled":`Update checks disabled`,"updates.ignoreVersion":`Ignore this version`,"updates.ignored":`Ignored {version}`,"updates.ignoredPlugin":`Ignored`,"updates.unignore":`Unignore`,"preferences.fileExclusions.title":`File exclusions`,"preferences.fileExclusions.description":"Exclusion rules shared by the file browser and @ file index: `*.xxx` matches by suffix, anything else matches a directory/file name exactly. Each level fully replaces the one below (no merging): project overrides global, global overrides built-in defaults. Separate multiple entries with commas when adding (names may contain spaces); changes take effect immediately.","preferences.fileExclusions.global":`Global`,"preferences.fileExclusions.project":`Project`,"preferences.fileExclusions.defaults":`Built-in defaults (read-only)`,"preferences.fileExclusions.inputPlaceholder":`e.g. node_modules, *.pyc (separate multiple with commas)`,"preferences.fileExclusions.importHigher":`Copy entries from the level above`,"preferences.fileExclusions.loadFailed":`Failed to load file exclusions`,"preferences.defaultTools.title":`Default tools (defaultTools)`,"preferences.defaultTools.description":`Configure tools enabled for new sessions (pi settings.json defaultTools). The options in the tool preset dropdown under the chat input (full, etc.) are managed in the Tool presets section below in this tab; selecting a preset is a session-level toggle and is not persisted here. Built-in tools that are inactive by default (grep/find/ls) and codemode can be enabled here; the MCP section has a separate autoEnableCodemode option — the two are independent. Full replace = exact whitelist; Incremental = add/remove on top of the pi default set (read/bash/edit/write); in incremental mode, hover the effective badge to preview the resulting tool list.`,"preferences.defaultTools.global":`Global default tools`,"preferences.defaultTools.project":`Project default tools`,"preferences.defaultTools.modeFull":`Full replace`,"preferences.defaultTools.modeIncremental":`Incremental`,"preferences.defaultTools.save":`Save`,"preferences.defaultTools.reset":`Reset`,"preferences.defaultTools.incrementalHint":`Incremental mode: entries are written with +/- prefixes; click a tool to emit -tool (removal), click again to restore.`,"preferences.defaultTools.confirmTitle":`Save & restart affected sessions`,"preferences.defaultTools.confirmRestartGlobal":`Saving the global default tools restarts all session processes you have opened (new sessions use the new list immediately); sessions with running tasks are not interrupted and keep the old list until they go idle.`,"preferences.defaultTools.confirmRestartProject":`Saving the project default tools restarts opened session processes of this project (new sessions use the new list immediately); sessions with running tasks are not interrupted.`,"preferences.defaultTools.saveResult":`Saved; restarted {restarted} session process(es)`,"preferences.defaultTools.saveResultSkipped":`Saved; restarted {restarted} session process(es); {skipped} running session(s) left untouched and will restart when idle`,"preferences.defaultTools.fullHint":`Full mode: the checked tools form the complete whitelist, fully replacing the pi defaults (unchecked default tools become unavailable).`,"preferences.defaultTools.toolDesc.read":`Read file contents (optional line range; read-only, never modifies files)`,"preferences.defaultTools.toolDesc.bash":`Run shell commands (general-purpose: builds, git, process management, etc.)`,"preferences.defaultTools.toolDesc.edit":`Edit files via exact-match string replacement (use write for new files or full rewrites)`,"preferences.defaultTools.toolDesc.write":`Create a new file or overwrite an entire file (use edit for partial changes)`,"preferences.defaultTools.toolDesc.grep":`Search file contents with regex (dedicated exploration tool, no bash round-trip)`,"preferences.defaultTools.toolDesc.find":`Find files by name pattern (dedicated exploration tool, no bash round-trip)`,"preferences.defaultTools.toolDesc.ls":`List directory contents (quick project overview)`,"preferences.defaultTools.toolDesc.powershell":`Run PowerShell commands (pwsh or Windows PowerShell; Windows-oriented alternative to bash)`,"preferences.defaultTools.toolDesc.codemode":`The model orchestrates other tools via a JS script (QuickJS sandbox) - running calls in parallel, filtering large results, and returning only the script output to the model.`,"preferences.defaultTools.toolDesc.tool_search":`Let the model search and lazily load undeclared tools (codemode/deferred exposure, e.g. MCP tools) on demand.`,"preferences.defaultTools.projectUntrusted":`Project is not trusted; cannot write project settings.json (trust the directory first).`,"preferences.defaultTools.loadFailed":`Failed to load default tools config`,"preferences.toolPresets.title":`Tool presets`,"preferences.toolPresets.description":`Options for the tool preset dropdown in the chat input (~/.pi/agent/pi-web/tool-presets.json)`,"preferences.toolPresets.nameLabel":`Name`,"preferences.toolPresets.namePlaceholder":`Preset name (required)`,"preferences.toolPresets.nameRequired":`Name must not be empty`,"preferences.toolPresets.nameDuplicate":`Name must be unique`,"preferences.toolPresets.descriptionLabel":`Description`,"preferences.toolPresets.descriptionPlaceholder":`Optional description shown in the dropdown`,"preferences.toolPresets.remove":`Remove`,"preferences.toolPresets.defaultHint":`Built-in preset (read-only): effective tools follow the default tools list above (project overrides global)`,"preferences.toolPresets.defaultSourceGlobal":`No project-level default tools configured — following the global list`,"preferences.toolPresets.defaultSourceSdk":`Neither project nor global configured — using pi built-in defaults (read/bash/edit/write)`,"preferences.toolPresets.staleRestart":`Default tools updated — restart pi-web to apply them to running sessions`,"preferences.toolPresets.add":`Add preset`,"preferences.toolPresets.save":`Save`,"preferences.toolPresets.reset":`Reset`,"preferences.toolPresets.saved":`Saved. The chat dropdown updates immediately.`,"preferences.toolPresets.loadFailed":`Failed to load tool presets config`,"preferences.pi.unset":`pi default`,"preferences.pi.enableAnalytics":`Enable analytics`,"preferences.pi.enableAnalyticsHint":"Send anonymous usage analytics (settings.json `enableAnalytics`)","preferences.pi.enableInstallTelemetry":`Enable install telemetry`,"preferences.pi.enableInstallTelemetryHint":"Send anonymous install telemetry (settings.json `enableInstallTelemetry`)","preferences.pi.httpProxy":`HTTP proxy`,"preferences.pi.httpProxyHint":"Proxy URL for HTTP requests (settings.json `httpProxy`). Empty input cannot clear an already-set value.","preferences.pi.trackingId":`Analytics tracking ID`,"preferences.pi.trackingIdHint":"Custom analytics tracking ID (settings.json `trackingId`). Empty input cannot clear an already-set value.","preferences.pi.httpIdleTimeoutMs":`HTTP idle timeout (ms)`,"preferences.pi.httpIdleTimeoutMsHint":"HTTP idle timeout in ms (settings.json `httpIdleTimeoutMs`). Empty input cannot clear an already-set value.","preferences.pi.websocketConnectTimeoutMs":`WebSocket connect timeout (ms)`,"preferences.pi.websocketConnectTimeoutMsHint":"WebSocket connect timeout in ms (settings.json `websocketConnectTimeoutMs`). Empty input cannot clear an already-set value.","preferences.pi.branchSummary":`Branch summary`,"preferences.pi.branchSummaryHint":"Branch summary auto-compaction (settings.json `branchSummary`)","preferences.pi.reserveTokens":`Reserve tokens`,"preferences.pi.skipPrompt":`Skip prompt`,"preferences.pi.images":`Image handling`,"preferences.pi.imagesHint":"How the pi engine handles images (settings.json `images`)","preferences.pi.autoResize":`Auto-resize`,"preferences.pi.autoResizeHint":"Downscale images returned by tools such as `read` to save tokens.","preferences.pi.blockImages":`Block images`,"preferences.pi.blockImagesHint":`Strip all image content from messages before they reach the model.`,"config.files.hint":`Edit pi's config files (JSON) directly. Validated before save; backed up automatically (last 10 kept).`,"config.widgets.empty":`No widget configurations yet. Widgets appear here automatically when an extension pops one up.`,"config.widgets.x":`x`,"config.widgets.y":`y`,"config.widgets.width":`w`,"config.widgets.height":`h`,"config.widgets.bind":`Bind message`,"config.widgets.bindTitle":`Bind custom message`,"config.widgets.bindHint":`Bind a quick message to widget "{key}"`,"config.widgets.editTitle":`Edit quick message`,"config.widgets.editHint":`Edit the label, content, and send mode.`,"config.widgets.label":`Label`,"config.widgets.labelPlaceholder":`Button text (e.g. Reload)`,"config.widgets.message":`Message`,"config.widgets.messagePlaceholder":`A slash command or any text (e.g. /reload)`,"config.widgets.messageTooltip":`Type / to see built-in, global plugin and Skill commands. Project-level plugin commands won't appear in suggestions but can still be entered and saved manually.`,"config.widgets.sendImmediately":`Send immediately`,"config.widgets.sendMode":`Send mode`,"config.widgets.fillToChatInput":`Fill into chat input`,"config.widgets.sendImmediatelyTooltip":`Send immediately: `,"config.widgets.fillToChatInputTooltip":`Fill into chat input: `,"config.widgets.nameConflict":`Name "{label}" already exists, please use another`,"config.startScreen.nameConflict":`Name "{label}" already exists, please use another`,"config.startScreen.hint":`Quick actions shown on the new-session start screen (below the Pi logo); clicking sends the message immediately or fills it into the chat input, depending on each entry's send mode.`,"config.startScreen.bind":`Bind message`,"config.startScreen.bindTitle":`Bind quick message`,"config.startScreen.bindHint":`Bind a quick message to the start screen.`,"config.startScreen.empty":`No quick messages yet; the start screen will show no quick actions.`,"config.startScreen.unbindTitle":`Unbind message`,"config.startScreen.unbindConfirm":`Unbind "{label}"?`,"config.startScreen.unbind":`Unbind`,"config.widgets.confirm":`Confirm`,"config.widgets.unbindTitle":`Unbind message`,"config.widgets.unbindConfirm":`Unbind "{label}"?`,"config.widgets.unbind":`Unbind`,"config.startScreen.editTitle":`Edit quick message`,"config.startScreen.editHint":`Edit the label, content, and send mode.`,"config.startScreen.reset":`Reset`,"config.startScreen.resetHint":`Restore the built-in default quick messages; keep your own bound messages (ones with the same label as a default are replaced by the default).`,"config.files.save":`Save`,"config.files.saving":`Saving...`,"config.files.saved":`Saved`,"config.files.missing":`Not created yet`,"config.files.placeholder":`Select a config file from the list on the left`,"layout.resizeSidebar":`Resize sidebar`,"layout.resizeWidgetPanel":`Resize widgets panel`,"layout.resizeHint":`Drag to resize. Double-click or press Enter to reset.`,"sidebar.newWorkspace":`New workspace`,"sidebar.searchSessions":`Search sessions`,"sidebar.searchSessionsPlaceholder":`Search sessions…`,"sidebar.justNow":`just now`,"sidebar.minutesAgo":`{count}m ago`,"sidebar.hoursAgo":`{count}h ago`,"sidebar.daysAgo":`{count}d ago`,"sidebar.searchSessionsNoResults":`No matching sessions`,"sidebar.newSessionTitle":`New session in {path}`,"sidebar.refresh":`Refresh`,"directoryPicker.selectDirectory":`Select directory`,"directoryPicker.goToParent":`Go to parent directory`,"directoryPicker.directoryPath":`Directory path`,"directoryPicker.goToDirectory":`Go to directory`,"directoryPicker.go":`Go`,"directoryPicker.loadingDirectories":`Loading directories…`,"directoryPicker.noSubdirectories":`No subdirectories`,"directoryPicker.openBeforeSelecting":`Open this path before selecting it`,"directoryPicker.selectCurrentDirectory":`Select current directory`,"directoryPicker.selectThisFolder":`Select this folder`,"directoryPicker.noDrives":`No drives found`,"directoryPicker.search":`Filter folders`,"directoryPicker.noMatches":`No folders match your filter`,"sidebar.checking":`Checking…`,"sidebar.open":`Open`,"sidebar.cancel":`Cancel`,"sidebar.openRepoRoot":`Worktree switch unavailable`,"sidebar.openRepoRootTitle":`Worktree switching is unavailable here — switch the current working directory to the Git repository root first (from the sidebar).`,"sidebar.gitRepoRootOnly":`Git repo root only`,"sidebar.gitRepoRootOnlyTitle":`Worktrees are available in Git repository roots.`,"sidebar.worktrees":`Worktrees...`,"sidebar.checkingWorktrees":`Checking worktrees for this directory.`,"sidebar.filterWorktrees":`Filter worktrees…`,"sidebar.noMatchingWorktrees":`No matching worktrees`,"sidebar.switchWorktree":`Switch worktree`,"sidebar.switchWorktreeTitle":`Switch worktree: {path}`,"sidebar.main":`main`,"sidebar.forceRemoveCheckout":`Uncommitted changes. Force remove checkout?`,"sidebar.force":`Force`,"sidebar.createWorktreeTitle":`Create a worktree checkout for a branch`,"sidebar.newWorktree":`New worktree…`,"sidebar.branchName":`git branch name`,"sidebar.creating":`Creating…`,"sidebar.create":`Create`,"sidebar.uploadFilesTitle":`Upload files to project root`,"sidebar.uploadFiles":`Upload files`,"sidebar.refreshExplorer":`Refresh explorer`,"sidebar.changedFiles":`{count} changed files`,"sidebar.loading":`Loading...`,"sidebar.sessionDeleted":`Session deleted — pick another session`,"sidebar.noSessions":`No sessions found`,"sidebar.workspace":`Workspace`,"sidebar.newActivity":`New activity`,"sidebar.newSessionActivity":`New session activity`,"sidebar.interactionBadge":`Session waiting for interaction`,"sidebar.deleteSession":`Delete {title}?`,"sidebar.deleteWorkspace":`All {count} sessions under “{name}” and their auxiliary files will be deleted. This cannot be undone.`,"sidebar.deleteWorkspaceTitle":`Delete this workspace, its sessions and their auxiliary files`,"sidebar.deleteWorkspaceDialogTitle":`Delete workspace`,"sidebar.deletedSessionGhost":`Session deleted`,"sidebar.deletedWorkspaceGhost":`Deleted workspace “{name}” ({count} sessions + auxiliary files)`,"sidebar.copyPath":`Copy full path`,"sidebar.actions":`Session actions`,"sidebar.rename":`Rename`,"sidebar.delete":`Delete`,"aux.forkTitle":`Copy session auxiliary files`,"aux.forkDescription":`This session has same-named auxiliary files (different extension). Choose which to copy to the new session:`,"aux.deleteTitle":`Delete auxiliary files too?`,"aux.deleteDescription":`These files share the session's name (different extension). Unchecked files will be left on disk:`,"aux.copyConfirm":`Copy & fork`,"aux.deleteConfirm":`Delete selected`,"aux.fileNameHeader":`File name (click to select all)`,"aux.sizeHeader":`Size`,"aux.toggleAll":`Select all / clear`,"sidebar.deleteWithShiftClick":`Delete (Shift+click to delete without confirmation)`,"sidebar.expandForks":`Expand forks`,"sidebar.collapseForks":`Collapse forks`,"sidebar.disconnect":`Disconnect`,"sidebar.messagesCount":`{count} msgs`,"sidebar.worktreePath":`Worktree: {path}`,"sidebar.removeWorktreeTitle":`Remove worktree checkout {path}; the branch is kept`,"files.modified":`Modified`,"files.added":`Added`,"files.deleted":`Deleted`,"files.renamed":`Renamed`,"files.untracked":`Untracked`,"files.conflict":`Conflict`,"files.newlyUploaded":`Newly uploaded`,"files.containsChangedFiles":`Contains changed files`,"files.insertPath":`Insert path into chat`,"files.mention":`mention`,"files.download":`Download file`,"files.dismissError":`Dismiss error`,"files.addUploadedFile":`Add uploaded file to chat`,"files.addAllUploadedFiles":`Add all uploaded files to chat`,"files.openInSystemApp":`Open with system app`,"files.chooseOtherApp":`Choose another app…`,"files.openLaunched":`Launched with the system app`,"files.fileTooLargeForPreview":`File too large for preview (>{limit})`,"files.docTooLargeForPreview":`DOCX too large for preview (>{limit})`,"files.dismissUploadResults":`Dismiss upload results`,"files.loading":`Loading files...`,"files.noFiles":`No files found`,"files.find":`Find`,"files.findNext":`Next match (Enter)`,"files.findPrev":`Previous match (Shift+Enter)`,"files.findNoResults":`No results`,"files.findClose":`Close (Esc)`,"loading.inProgress":`Working…`,"loading.more":`{count} more…`,"errors.title":`Error`,"errors.titleCount":`Errors ({count})`,"errors.close":`Close`,"errors.clearAll":`Clear all`,"files.notFound":`Not found`,"files.accessDenied":`Access denied`,"files.empty":`Empty`,"files.uploadFailed":`{count} failed`,"files.explorer":`Explorer`,"files.changedCount":`{count} files`,"files.stagedPrefix":`Staged: `,"files.unstagedPrefix":`Unstaged: `,"files.noStagedChanges":`No staged files`,"files.noUnstagedChanges":`No unstaged changes`,"files.commitMessagePlaceholder":`Commit message`,"files.commit":`Commit`,"files.push":`Push to remote (with tags)`,"files.pushing":`Pushing...`,"files.pushSuccess":`Push succeeded`,"files.pushFailed":`Push failed`,"files.pushUpToDate":`Already up to date — nothing to push`,"files.pull":`Pull from remote`,"files.pulling":`Pulling...`,"files.pullSuccess":`Pull succeeded`,"files.pullFailed":`Pull failed`,"files.pullUpToDate":`Already up to date — nothing to pull`,"files.pullNonFastForward":`Pull rejected — local and remote have diverged. Use git pull --rebase or --merge in terminal.`,"files.committing":`Committing…`,"files.commitMessageRequired":`Enter a commit message first`,"files.commitTitle":`Commit changes`,"files.stageFileListMore":`…and {count} more`,"files.confirmStageAllCommit":`Stage the following {count} changed files and commit?`,"files.commitMessageLabel":`Commit message`,"files.stageAllAndCommit":`Stage & commit`,"files.stageFile":`Stage file`,"files.unstageFile":`Unstage file`,"files.changeStats":`{count} changed files, {additions} lines added, {deletions} lines deleted`,"git.autoFetchInterval":`Auto fetch interval (seconds)`,"git.otherSectionTitle":`Other`,"git.autoFetchIntervalHint":`How often the server fetches remotes for active session workspaces (shared by all clients). 0 disables the timer — one fetch runs when a session connects.`,"git.groupTitle":`Smart Commit Message Generation`,"git.commitModel.followCurrent":`Follow current session model`,"git.commitModel.followCurrentHint":`When on, the commit generation follows the current chat's main model. When off, the fixed model below is used (recommended for a cheap dedicated model).`,"git.commitModel.fixedModel":`Fixed model`,"git.commitModel.fixedModelHint":`Model used when "follow current session" is off (choose a cheap model).`,"git.commitModel.selectPlaceholder":`Select a model`,"git.commitModel.noModels":`No models available`,"git.commitModel.notConfiguredHint":`No fixed model selected. Pick a model before using AI generate.`,"git.ai.generate":`Smart generate`,"git.ai.generating":`Generating…`,"git.ai.notConfiguredTitle":`Model not configured`,"git.ai.notConfiguredDesc":`No model is set for Smart generate. Go to Config Center → Git to set one.`,"git.ai.goToConfig":`Go to settings`,"git.ai.noSession":`Follow-current mode requires an active session`,"git.ai.noSessionModel":`Current session has no model. Select a model in chat first`,"git.commitModel.maxTokens":`Max output tokens`,"git.commitModel.maxTokensHint":`Max output tokens for one generation (64–4096, default 512). Reasoning is minimized: disabled when the model supports it, otherwise reduced to the lowest level.`,"git.commitModel.autoGenerateOnEmpty":`Auto-generate when commit box is empty`,"git.commitModel.autoGenerateOnEmptyHint":`When on, clicking Commit with an empty box auto-generates a message first, then commits. Only when a model is configured; otherwise empty stays disabled. On by default.`,"git.ai.invalidModel":`Configured model is invalid. Reselect it in Config Center.`,"git.ai.usingCurrentModel":`Using current chat model`,"git.ai.usingModel":`Using {model}`,"git.ai.generateAndCommit":`Smart generate & commit`,"git.commitConfirmStageAll":`Confirm “stage all” on commit`,"git.commitConfirmStageAllHint":`When on, committing with only unstaged changes shows a “Stage all & commit” confirmation. When off, it stages all and commits directly. On by default.`,"modelThinking.desc":`Remember the last thinking level per model or provider. When switching models, the selector restores the remembered level; if the model's available levels don't include it, it falls back to auto (use default). All 7 levels supported: off / minimal / low / medium / high / xhigh / max.`,"modelThinking.addModelTitle":`Add model`,"modelThinking.addProviderTitle":`Add provider`,"modelThinking.byModel":`By model`,"modelThinking.byProvider":`By provider`,"modelThinking.byProviderHint":`Provider fallback: models without a per-model entry use this value.`,"modelThinking.emptyModel":`No per-model memory yet. Selecting a thinking level after switching models will remember it automatically; you can also add one here.`,"modelThinking.emptyProvider":`No per-provider memory yet.`,"modelThinking.selectModelPlaceholder":`Select a model`,"modelThinking.selectProviderPlaceholder":`Select a provider`,"modelThinking.providerInputPlaceholder":`or type a provider name`,"modelThinking.footerHint":`Stored in a standalone file pi-web/model-thinking.json, not the main config. UI-only — pi's set_thinking_level is not intercepted.`,"common.add":`Add`,"common.emptyValue":`(empty)`,"common.retry":`Retry`,"common.delete":`Delete`,"files.conflictSummary":`{count} file{countSuffix} already exist: {files}`,"files.cannotReplace":`Cannot replace: {files}`,"files.replace":`Replace`,"files.skipExisting":`Skip existing`,"files.cancel":`Cancel`,"files.checking":`Checking files`,"files.uploading":`Uploading, {progress}%`,"files.search":`Search files`,"files.searchPlaceholder":`Search files...`,"chat.loadingSession":`Loading session...`,"chat.noSessionSelected":`Create or select a session in the left panel`,"chat.loadingWindow":`Loading messages...`,"chat.runningTool":`Running tool`,"chat.runningNamedTool":`Running {name}`,"chat.runningToolsFull":`Running {names} ({count} tools)`,"chat.waitingModel":`Waiting for model`,"chat.aiQuestion":`AI question`,"chat.runningCommand":`Running command`,"chat.responding":`Responding`,"chat.totalElapsed":`total {total}`,"chat.thinking":`Thinking`,"chat.message":`{count} message`,"chat.messages":`{count} messages`,"chat.toolCall":`{count} tool call`,"chat.toolCalls":`{count} tool calls`,"chat.statFiles":`files`,"chat.statMessages":`messages`,"chat.statTools":`tools`,"tool.receivingArgs":`Receiving arguments...`,"chat.collapseProcess":`Collapse process details`,"chat.expandProcess":`Expand process details`,"chat.loadEarlier":`Scroll up to load earlier messages ({count} hidden)`,"chat.searchMessages":`Search messages`,"chat.clearSearch":`Clear search query`,"chat.scrollToLatest":`Scroll to latest message`,"chat.expandMessage":`Expand full content`,"chat.collapseMessage":`Collapse`,"chat.expandTurn":`Expand turn`,"chat.collapseTurn":`Collapse turn`,"chat.thinkingCount":`thinking`,"chat.textChars":`chars of text`,"chat.searchPlaceholder":`Search chat messages…`,"chat.searchNoResults":`No results`,"chat.searchResults":`{count} results`,"chat.extensionRequest":`extension request`,"chat.cancel":`Cancel`,"chat.skipped":`Skipped`,"chat.confirm":`Confirm`,"chat.submit":`Submit`,"chat.extensionInput":`Extension terminal input`,"chat.extensionSelect":`Select an option`,"chat.extensionConfirm":`Confirm`,"chat.extensionEditor":`Edit`,"chat.extensionPanel":`Extension panel`,"chat.close":`Close`,"chat.notifyInfoTitle":`Info`,"chat.notifySuccessTitle":`Success`,"chat.notifyErrorTitle":`Error`,"chat.notifyWarningTitle":`Warning`,"chat.queued":`Queued · {count}`,"chat.queueSteer":`Steer`,"chat.queueFollowUp":`Follow-up`,"chat.recall":`Recall to input`,"chat.recallTitle":`Remove all queued messages and put them back into the input box for editing (also triggered by pressing Enter while the input is empty)`,"chat.retrying":`Retrying ({attempt}/{max})`,"chat.loadingCommands":`Loading commands...`,"chat.slashCommands":`Slash commands · {label}`,"chat.tabEnter":`Tab / Enter`,"chat.noCommands":`No extension, prompt, or skill commands found`,"chat.match":`1 match`,"chat.matches":`{count} matches`,"chat.command":`1 command`,"chat.commands":`{count} commands`,"chat.loadingFiles":`Loading files...`,"chat.files":`Files · {label}{hint}`,"chat.searching":`Searching…`,"chat.noMatchingFiles":`No matching files`,"chat.searchingAll":` · searching all files…`,"chat.indexTruncated":` · index truncated`,"chat.steerPlaceholder":`Steer now / queue follow-up...`,"chat.recallPlaceholder":`Press Enter to recall queued messages, or type a new message…`,"chat.agentPlaceholder":`Agent is running…`,"chat.messagePlaceholder":`Type a chat message (Enter to send, Shift+Enter for newline). / for slash commands, @ to reference files, ! for shell commands`,"chat.questionNotificationTitle":`Pi — Question Asked`,"chat.taskCompleteNotificationTitle":`Pi — Task Complete`,"chat.taskErrorNotificationTitle":`Pi — Error`,"chat.sessionCompletedNotificationBody":`Session {name} completed`,"chat.questionNotificationDenied":`Notifications denied: allow them in the browser's site settings to get question alerts while the tab is hidden.`,"chat.steer":`Steer`,"chat.followUp":`Follow-up`,"chat.queueImageBlocked":`Image attachments cannot be queued while the agent is running`,"chat.steerTooltip":`Send this message immediately after the current call finishes`,"chat.followUpTooltip":`Queue this message after the agent finishes`,"chat.send":`Send`,"chat.attachImage":`Attach image`,"chat.attachmentOnDisk":`Too large to inline; saved to disk and referenced by path (the agent reads it on demand)`,"chat.filterModels":`Filter models…`,"chat.noMatchingModels":`No matching models`,"chat.moreControls":`More controls`,"chat.shell":`Shell`,"chat.outputLocal":`output stays local`,"chat.stoppedByUser":`Stopped by user`,"chat.cwdPrefix":`cwd`,"chat.turnArtifacts.title":`Edited {count} files this turn`,"chat.turnDuration":`Took {duration}`,"chat.turnArtifacts.toggleList":`Toggle file list`,"chat.turnArtifacts.openFile":`Open in Files`,"chat.outputModel":`output sent to model`,"chat.shellSilentTip":` (prefix !! to skip)`,"chat.noTools":`No tools, chat only`,"chat.builtInTools":`{count} built-in tools`,"chat.allBuiltInTools":`All built-in tools`,"chat.currentReasoning":`Current reasoning level: {level}`,"chat.changeReasoningLabel":`Change reasoning level`,"chat.currentModel":`Current model: {model}`,"chat.changeModel":`Change model`,"chat.currentToolPreset":`Current tool preset: {preset}`,"chat.toolPresetDrift":`⚠ Actual tools differ from the selected preset. Currently active: {actual}`,"chat.changeToolPreset":`Change tool preset`,"chat.stopCompaction":`Stop compaction`,"chat.compactContext":`Compact context`,"chat.compacting":`Compacting…`,"chat.compactionDisabledByExtension":`Native context compaction is taken over by an extension, so it can't run here.`,"chat.compact":`Compact`,"chat.stopAgent":`Stop agent`,"chat.stop":`Stop`,"chat.disableSound":`Disable sounds`,"chat.enableSound":`Enable sounds`,"chat.thinkingUseDefault":`Use pi default`,"chat.thinkingOff":`Reasoning off`,"chat.thinkingMinimal":`Minimal reasoning`,"chat.thinkingLow":`Low reasoning`,"chat.thinkingMedium":`Medium reasoning`,"chat.thinkingHigh":`High reasoning`,"chat.thinkingXhigh":`Extra-high reasoning`,"chat.thinkingMax":`Max reasoning`,"chat.thinkingMapTitle":`Higher thinking levels not configured`,"chat.thinkingMapBody":`pi supports up to high thinking by default. To enable {level} level reasoning, configure the "Thinking Level Map" for this model in Config → Models.`,"chat.thinkingMapGo":`Go to settings`,"chat.builtIn":`Built-in`,"chat.extensions":`Extensions`,"chat.prompts":`Prompts`,"chat.skills":`Skills`,"chat.dormant":`dormant`,"chat.commandCompact":`Compress context, optionally with instructions`,"chat.commandReload":`Reload extensions, skills, prompts, and tools`,"chat.commandName":`Set the session display name`,"chat.commandSession":`Show session message, token, and cost stats`,"chat.commandCopy":`Copy the last assistant message`,"chat.compacted":`Compacted`,"chat.tokensSaved":`{saved} saved`,"i18n.close":`Close`,"i18n.resizeList":`Resize {name} list`,"widgets.title":`Widgets`,"widgets.reopen":`Reopen widget`,"widgets.expandedToChat":`Widget [{key}] expanded to the chat view`,"widgets.collapse":`Collapse`,"widgets.open":`Open widgets`,"i18n.copy":`Copy`,"i18n.copied":`Copied`,"i18n.copyToolInput":`Copy raw JSON`,"i18n.cancel":`Cancel`,"i18n.save":`Save`,"i18n.saving":`Saving…`,"i18n.saved":`Saved`,"i18n.saveChanges":`Save changes`,"i18n.noThinking":`No thinking content`,"i18n.remove":`Remove`,"i18n.removing":`Removing…`,"i18n.delete":`Delete`,"i18n.loading":`Loading...`,"i18n.searchPlaceholder":`Search…`,"i18n.noMatch":`No matches`,"i18n.search":`Search`,"i18n.refresh":`Refresh`,"i18n.update":`Update`,"i18n.updating":`Updating...`,"i18n.check":`Check`,"i18n.checking":`Checking...`,"i18n.install":`Install`,"i18n.installing":`Installing...`,"i18n.noResults":`No results`,"i18n.searchProviders":`Search providers…`,"i18n.noProviders":`No providers match`,"i18n.newModel":`new model`,"i18n.addProvider":`Add provider`,"i18n.selectProviderModel":`Select a provider or model`,"i18n.visibleInPrompt":`Visible in model prompt — click to disable`,"i18n.hiddenFromPrompt":`Hidden from model prompt — click to enable`,"i18n.dormant":`Dormant`,"i18n.hiddenButInvocable":`Hidden from model, still manually invocable`,"i18n.skillSearchPlaceholder":`e.g. react, testing, deploy`,"i18n.searching":`Searching…`,"i18n.noSkills":`No skills found`,"i18n.checkUpdates":`Check updates`,"i18n.updates":`updates`,"i18n.noResolvedResources":`No resolved resources`,"i18n.enablePackage":`Enable package`,"i18n.disablePackage":`Disable package`,"i18n.filtered":`filtered`,"i18n.openSessionToReload":`Open a session to reload`,"i18n.notFound":`Not found`,"i18n.noPlugins":`No plugins configured`,"i18n.scopeGlobal":`Global`,"i18n.scopeProject":`Project`,"i18n.scopePath":`Path`,"i18n.name":`Name`,"i18n.description":`Description`,"trust.resourcesNotLoaded":`Restricted mode`,"trust.trustProject":`Trust project`,"trust.trusting":`Trusting...`,"trust.cancel":`Cancel`,"trust.dialogTitle":`Trust this project?`,"trust.dialogBody":`Project resources can run local code. Trust only projects whose contents you know.`,"trust.skillsNotLoaded":`Project skills are not loaded because this project is not trusted.`,"trust.pluginsNotLoaded":`Project plugins are not loaded because this project is not trusted.`,"trust.projectScopeUnavailable":`Project installs are unavailable while project resources are not loaded.`,"i18n.subscription":`Subscription`,"i18n.subscriptions":`Subscriptions`,"i18n.customEndpoint":`Custom endpoint format`,"i18n.noChanges":`No changes`,"i18n.branches":`Conversation branches`,"i18n.noActiveSession":`No active session`,"i18n.noActiveSessionToCompact":`No active session to compact`,"i18n.noActiveSessionToReload":`No active session to reload`,"i18n.noActiveSessionToName":`No active session to name`,"i18n.noAssistantMessageToCopy":`No assistant message to copy`,"i18n.commandCompleted":`Command completed`,"i18n.commandFailed":`Command failed`,"i18n.extensionCommandFailed":`Extension command failed`,"i18n.compactedContext":`Compacted context`,"i18n.reloadedSessionResources":`Reloaded session resources`,"i18n.usageName":`Usage: /name <name>`,"i18n.sessionRenamedTo":`Session renamed to {name}`,"i18n.copiedLastAssistantMessage":`Copied last assistant message`,"i18n.failedToRecallQueuedMessages":`Failed to recall queued messages`,"i18n.queuedResendAfterAbortTimeout":`Aborted, but queued messages could not be resent automatically; restored to the input box`,"i18n.noBranches":`This session has no branches`,"i18n.source":`Source`,"i18n.preview":`Preview`,"i18n.diff":`Diff`,"i18n.downloadFile":`Download file`,"i18n.liveSync":`Live sync active`,"i18n.notWatching":`Not watching`,"i18n.fileViewMode":`File view mode`,"i18n.editMode":`Edit mode`,"i18n.viewMode":`View mode`,"i18n.compareHead":`Compare working tree with HEAD`,"i18n.fileViewSource":`Source`,"i18n.fileViewPreview":`Preview`,"i18n.fileViewDiff":`Diff`,"i18n.fileViewSourceHint":`View as source code`,"i18n.fileViewPreviewHint":`View rendered preview`,"i18n.previewUnsupported":`Preview not supported for this format: {format}`,"i18n.lineCount":`{n} lines`,"i18n.mentionSelectedLines":`Mention selected lines`,"i18n.disableWrap":`Disable word wrap`,"i18n.enableWrap":`Enable word wrap`,"i18n.editFile":`Edit file`,"i18n.saveFile":`Save`,"i18n.saveFileShortcut":`Save (Ctrl/Cmd+S)`,"i18n.cancelEdit":`Cancel`,"i18n.saveFailed":`Save failed: {error}`,"i18n.unsavedChanges":`Unsaved changes`,"i18n.htmlPreview":`HTML preview`,"i18n.previewFile":`Preview {file}`,"i18n.invalidMermaid":`Invalid Mermaid diagram`,"i18n.renderingMermaid":`Rendering Mermaid diagram`,"i18n.previewAfterStreaming":`Preview available after streaming`,"i18n.showMermaidSource":`Show Mermaid source`,"i18n.previewMermaid":`Preview Mermaid diagram`,"i18n.openMermaidViewer":`Open diagram viewer`,"i18n.mermaidViewer":`Mermaid diagram viewer`,"i18n.mermaidDiagram":`Mermaid diagram`,"i18n.zoomOut":`Zoom out`,"i18n.zoomIn":`Zoom in`,"i18n.fitToWidth":`Fit to width`,"models.discoveryFetching":`Importing models…`,"models.deleteProviderConfirm":`Delete provider "{name}"? This writes to models.json immediately — all its settings (including the API key) will be removed and cannot be recovered.`,"models.renameProviderDialogTitle":`Rename Provider`,"models.renameProviderHint":`Renaming writes to models.json immediately and migrates this provider's API key and login credential; other unsaved edits are not saved with it.`,"models.renameProviderConflict":`Provider "{name}" already exists — pick another name.`,"models.renameProviderBuiltin":`"{name}" is a built-in provider — it can't be used as a custom provider name.`,"models.renameProviderEmpty":`Name must not be empty.`,"models.removeModelConfirm":`Remove model "{model}"? This writes to models.json immediately and cannot be recovered.`,"models.discoveryTitle":`Import models`,"models.discoveryFetch":`Import models…`,"models.discoveryFilterPlaceholder":`Filter {count} models…`,"models.discoveryFilter":`Filter upstream models`,"models.discoverySelectShown":`Select shown`,"models.discoveryNoMatches":`No matching models.`,"models.discoveryAdded":`added`,"models.discoveryShowing":`Showing first {shown} of {total}`,"models.discoveryFetched":`{count} models fetched`,"models.discoveryAddSelected":`Add selected`,"models.setDefault":`Set as default`,"models.defaultModel":`Default model`,"models.defaultModelUnavailable":`Default model {model} is unavailable (deleted or hidden). Please select a model.`,"models.syncEndpoint":`Sync from endpoint`,"models.lastSyncedAt":`Last synced {time}`,"models.neverSynced":`Never synced`,"models.discoveryFetchTooltip":`Imports from the local cache first: {path}. If absent, syncs from the endpoint once and writes the cache there.`,"models.syncingModels":`Syncing…`,"models.syncedModels":`Synced {count} models`,"models.syncEndpointTooltip":`Fetch the latest model list from {endpoint} and cache it locally; the cached list replaces the built-in one.`,"models.syncEndpointTooltipGeneric":`Fetch the latest model list from this provider's models endpoint and cache it locally; the cached list replaces the built-in one.`,"models.refreshFromCache":`Refresh from synced cache`,"models.refreshing":`Refreshing…`,"models.refreshFromCacheTooltip":`Re-read pi-web/provider/{provider}/models.json and update only the fields that differ from the current effective definition (manual fields like headers are kept).`,"models.refreshNoDiff":`Synced cache matches the effective definition — nothing to update.`,"models.refreshDone":`Override updated from synced cache.`,"models.refreshTimeout":`Refresh timed out — try again later.`,"models.builtinProviders":`Built-in providers`,"models.customProviders":`Custom providers`,"models.syncSaveFailed":`Save draft before sync failed — sync aborted.`,"models.visibleInChat":`Visible in chat`,"models.lastVisibleCannotHide":`This is the only visible model for this provider and cannot be hidden. To hide all, delete the model.`,"models.visibleModels":`Model list`,"models.visibleModelsCount":`{visible} / {total} selected`,"models.visibilityCustomized":` · Customized`,"models.visibilityUncustomized":` · Not customized (all visible by default)`,"models.showAll":`Reset`,"models.showAllHint":`All models visible`,"models.filterLabel":`Filter:`,"models.invertSelection":`Invert checks`,"models.searchModels":`Search models…`,"models.noModels":`No models for this provider.`,"models.noMatchingModels":`No matching models.`,"models.filterAll":`All`,"models.filterVisible":`Visible only`,"models.filterHidden":`Hidden only`,"models.invertDisabledTooltip":`All models are already visible; inverting changes nothing`,"models.openOverride":`Override model params`,"models.overrideHint":`Values shown are the effective definition (built-in merged with saved overrides). Only fields you change are saved as overrides; everything else keeps inheriting the built-in definition.`,"models.overrideOrphanedHint":`This model no longer exists upstream. The local override is still saved — you can remove it here. Saving will also clean up its visibility entry.`,"models.removeOverride":`Remove override`,"models.providerNameCollision":`Provider "{provider}" conflicts with built-in "{builtin}" (case-insensitive); model visibility cannot be applied. Rename or remove the provider.`,"models.providerNameCollisionShort":`Name conflicts with built-in provider`,"models.builtinVisibilityBlocked":`Model visibility is disabled: custom provider "{custom}" conflicts with "{builtin}" (case-insensitive). Rename or remove the custom provider.`,"models.discoveryAddSelectedCount":`Add selected ({count})`,"models.dataSourceLabel":`Data source:`,"models.catalogSourceEndpoint":`Models endpoint`,"models.catalogSourceDev":`models.dev catalog`,"models.catalogSourceEndpointTooltip":`Source: Provider's /models endpoint`,"models.catalogSourceDevTooltip":`Source: models.dev built-in catalog (https://models.dev)`,"models.catalogEndpointNotFound":`Model ID not found in the models endpoint response`,"models.catalogOverwriteTitle":`Overwrite existing fields?`,"models.catalogOverwriteBody":`{{count}} field(s) already have values that overwriting would change: {{fields}}. Cancel to fill empty fields only.`,"models.catalogOverwriteConfirm":`Overwrite & fill`,"models.catalogOverwriteCancel":`Fill empty only`,"models.catalogFilling":`Filling details…`,"models.catalogFill":`Fill model details`,"models.catalogFilled":`{count} fields filled`,"models.catalogNoEmptyFields":`No empty fields to fill`,"models.catalogNoExactMatch":`No exact models.dev match`,"models.catalogPriceProvider":`Price matched Provider {provider}`,"models.catalogPriceBaseUrl":`Price matched Base URL to {provider}`,"models.catalogPriceConsensus":`Price agreed by {support}/{total} records`,"models.catalogPriceUnreliable":`No reliable price found`,"models.catalogUndo":`Undo`,"models.baseUrl":`Base URL`,"models.apiKey":`API Key`,"models.api":`API Format`,"models.modelId":`ID *`,"models.name":`Name`,"models.apiOverride":`API format`,"models.reasoningThinking":`Reasoning / thinking`,"models.inputFormat":`Input formats`,"models.inputFormatPlaceholder":`Search and add, multiple allowed (Enter to confirm)`,"models.inputFormat.text":`Text`,"models.inputFormat.image":`Image`,"models.badgeReasoning":`Supports reasoning (thinking levels selectable in the chat input)`,"models.badgeInput":`Accepts {format} input`,"models.nameHint":`Leaving empty removes the name field (falls back to the model id).`,"models.apiOverrideHint":`Leaving empty or picking default removes the api field (falls back to the provider's default api).`,"models.reasoningHint":`Unchecking removes the reasoning field (falls back to off).`,"models.thinkingLevelMapHint":`Per level: Default = removes that mapping (falls back to the model's default level); Disabled = writes null; Custom = writes a custom level string.`,"models.compatSection":`Compatibility`,"models.compatInheritHint":`Fields not set on the model show values inherited from this provider (highlighted in dim color); the inherited value is what actually takes effect until overridden here.`,"models.compatHint.supportsDeveloperRole":`Whether to use the developer role for system prompts (used by reasoning models). Set to false for servers that don't support it (Ollama, vLLM, SGLang) to send system messages instead.`,"models.compatHint.supportsLongCacheRetention":`Whether the provider accepts long cache retention: prompt_cache_options.ttl "30m" for GPT-5.6+ Responses models, prompt_cache_retention "24h" for older OpenAI models, or cache_control.ttl "1h" with the anthropic cache format.`,"models.compatHint.supportsUsageInStreaming":`Whether streamed responses support stream_options: {include_usage: true} for token usage reporting.`,"models.compatHint.supportsFinishReason":`Whether streamed responses include finish_reason. When false, pi infers stop or toolUse when the stream ends.`,"models.compatHint.supportsEagerToolInputStreaming":`Whether the provider accepts per-tool eager_input_streaming. Set to false to omit that field and use the legacy fine-grained-tool-streaming beta header.`,"models.compatHint.supportsCacheControlOnTools":`Whether the provider accepts Anthropic-style cache_control markers on tool definitions (tool prompt caching).`,"models.compatHint.supportsTemperature":`Whether the provider accepts the temperature parameter. Set to false for endpoints that reject non-default temperatures (e.g. Claude Opus 4.7+).`,"models.compatHint.requiresToolResultName":`Whether tool result messages must include the name field (required by some endpoints).`,"models.compatHint.requiresAssistantAfterToolResult":`Whether an empty assistant message must be inserted after tool results and before the next user message (required by some endpoints).`,"models.compatHint.requiresThinkingAsText":`Whether thinking blocks should be converted to plain text (for endpoints without thinking block support).`,"models.compatHint.zaiToolStream":`Whether z.ai supports the top-level tool_stream: true parameter for streaming tool call deltas.`,"models.compatHint.supportsThinkingTokenBudget":`Whether the provider supports the top-level thinking_token_budget field to cap reasoning tokens (vLLM-compatible endpoints).`,"models.compatHint.supportsOpenAIGrammarTools":`Whether OpenAI-compatible APIs emit custom Lark/regex grammar tools. When false, grammar-constrained tools fall back to normal function tools.`,"models.compatHint.supportsToolSearch":`Whether the model supports client-executed tool search for deferred tools.`,"models.compatHint.supportsExplicitPromptCacheMode":`Whether the model accepts the prompt_cache_options parameter (OpenAI GPT-5.6+ prompt caching). Older OpenAI models reject it.`,"models.compatHint.forceAdaptiveThinking":`Whether to force adaptive thinking (thinking.type: "adaptive" + output_config.effort) instead of the legacy budget-based thinking payload. Built-in adaptive models set this automatically.`,"models.compatHint.allowEmptySignature":`Whether to replay empty thinking signatures as signature: "". Enable only for Anthropic-compatible endpoints that require it; real Anthropic rejects empty signatures.`,"models.compatHint.supportsStrictTools":`Whether the endpoint accepts strict JSON-schema tool definitions (Anthropic). Built-in Anthropic models enable it.`,"models.compatHint.supportsStore":`Whether the OpenAI endpoint supports the store field.`,"models.compatHint.supportsReasoningEffort":`Whether the endpoint supports the reasoning_effort parameter (often unsupported by Ollama, vLLM, SGLang).`,"models.compatHint.supportsStrictMode":`Whether the endpoint accepts strict JSON-schema function tool definitions. Defaults depend on the API; built-in OpenAI models carry explicit capability metadata.`,"models.compatHint.supportsToolReferences":`Whether tool references in tool results are supported. Default true for first-party Anthropic models except Haiku and models older than Claude 4.5.`,"models.compatHint.maxTokensField":`Field name for the max output token parameter: max_completion_tokens (new API) or max_tokens (legacy API).`,"models.compatHint.sessionAffinityFormat":`Session affinity (caching): sends the session id as an affinity key so requests from one session tend to hit the same backend replica, raising the prompt-cache hit rate — endpoints like Fireworks route prompt caches by session affinity, so leaving it off can spread a session across replicas and waste cache reuse (it does not affect the prompt_cache_key body param, which is governed by cache retention). pi sends these headers only when compat.sendSessionAffinityHeaders is true (openai-responses keys off the format alone); this dropdown writes both fields. auto = enabled with the format auto-detected from the URL; off = explicit disable (overrides a provider-level enable at model level); openai = session_id/x-client-request-id/x-session-affinity; openai-nosession = x-client-request-id/x-session-affinity; openrouter = x-session-id.`,"models.compatHint.deferredToolsMode":`Provider-specific deferred tool serialization. Currently only kimi (Kimi's OpenAI-compatible Chat Completions format).`,"models.compatHint.cacheControlFormat":`Prompt cache marker format. Currently only anthropic: adds cache_control markers on the system prompt, last tool definition, and last text content.`,"models.inheritedFromProvider":`from provider (inherited, override at model level)`,"models.thinkingFormatDeepseekHint":`Selecting "deepseek" also writes requiresReasoningContentOnAssistantMessages: true; any other value removes it.`,"models.samplingParams":`Sampling params`,"models.headers":`Headers`,"models.modelOverrides":`Model overrides`,"models.supportsDeveloperRole":`Developer role`,"models.supportsLongCacheRetention":`Long cache retention`,"models.supportsUsageInStreaming":`Usage in streaming`,"models.supportsFinishReason":`Finish reason in stream`,"models.supportsEagerToolInputStreaming":`Eager tool input streaming`,"models.supportsCacheControlOnTools":`Cache control on tools`,"models.supportsTemperature":`Temperature param`,"models.requiresToolResultName":`Tool result name required`,"models.requiresAssistantAfterToolResult":`Assistant after tool result`,"models.requiresThinkingAsText":`Thinking as text`,"models.requiresReasoningContentOnAssistantMessages":`Reasoning content on assistant`,"models.zaiToolStream":`z.ai tool stream`,"models.supportsThinkingTokenBudget":`Thinking token budget`,"models.supportsOpenAIGrammarTools":`OpenAI grammar tools`,"models.supportsToolSearch":`Tool search`,"models.supportsExplicitPromptCacheMode":`Explicit prompt cache`,"models.forceAdaptiveThinking":`Adaptive thinking`,"models.allowEmptySignature":`Empty thinking signature`,"models.supportsStrictTools":`Strict tool schemas`,"models.supportsStore":`Store param`,"models.supportsReasoningEffort":`Reasoning effort`,"models.supportsStrictMode":`Strict mode`,"models.supportsToolReferences":`Tool references`,"models.maxTokensField":`Max tokens field`,"models.sessionAffinityFormat":`Session affinity`,"models.deferredToolsMode":`Deferred tools mode`,"models.cacheControlFormat":`Cache control format`,"models.thinkingFormat":`Thinking format`,"models.chatTemplateKwargs":`Chat template kwargs`,"models.chatTemplateArgs":`Chat template args`,"models.openRouterRouting":`OpenRouter routing`,"models.vercelGatewayRouting":`Vercel gateway routing`,"models.thinkingLevelMap":`Thinking level`,"models.thinkingLevelMapReset":`Reset (clear)`,"models.thinkingLevelMapResetHint":`Clears the entire thinkingLevelMap: off, minimal, low, medium, high fall back to their defaults; xhigh and max are disabled by default.`,"models.thinkingLevelMapNone":`All disabled`,"models.contextWindow":`Context window (tokens)`,"models.maxOutputTokens":`Max output tokens`,"models.costPerMillion":`Cost (per million tokens)`,"models.cost.input":`Input`,"models.cost.output":`Output`,"models.cost.cacheRead":`Cache read`,"models.cost.cacheWrite":`Cache write`,"models.costNotSet":`Not set`,"models.costAllRequired":`All four rates are required`,"models.costClear":`Clear`,"models.apiKeyPlaceholder":`ENV_VAR_NAME, !shell-command, or literal key`,"models.apiKeyHint":`Literal keys are written to auth.json on save (shared with CLI /login, takes precedence over this field); !shell-command and $ENV references stay in models.json.`,"models.authJsonConnected":`API key provided via auth.json`,"models.authJsonRemove":`Remove`,"models.apiKeyPrompt":`Enter your {provider} API key to enable {count} model{s}.`,"models.oauthAlreadyConnected":`Already connected. You can re-login or disconnect.`,"models.oauthConnectPrompt":`Connect your {provider} account.`,"models.enterValue":`Enter value…`,"models.displayNamePlaceholder":`Display name`,"models.connectionLost":`Connection lost`,"models.networkError":`Network error`,"i18n.testingModel":`Testing model connection...`,"i18n.connected":`Connected`,"i18n.failed":`Failed`,"i18n.test":`Test`,"i18n.testConnection":`Test model connection`,"i18n.provider":`Provider`,"i18n.providers":`Providers`,"i18n.model":`Model`,"i18n.providerName":`Provider name`,"i18n.rename":`Rename`,"i18n.default":`Default`,"i18n.disabled":`Disabled`,"plugins.statusLoaded":`Loaded and active`,"plugins.statusInstalled":`Installed, not yet loaded`,"plugins.statusDisabled":`Disabled`,"plugins.statusMissing":`Configured but package not found`,"plugins.extensionFilters":`Extension filters`,"plugins.filterRules":`Filter rules`,"plugins.managePlugins":`Plugins`,"plugins.extensionFiltersHint":`Filters for auto-discovered extensions in ~/.pi/agent/extensions/ and .pi/extensions/. Only patterns starting with !, +, or - take effect; plain paths do nothing.`,"plugins.noExtensionFilters":`No filters configured`,"plugins.addFilter":`Add filter`,"plugins.filterPatternLabel":`Pattern`,"plugins.filterPlaceholder":`!pattern · +path · -path`,"plugins.filterInvalid":`Pattern must start with !, +, or -; plain paths have no effect in the extensions field.`,"plugins.filterPrefixExclude":`Exclude matching extensions`,"plugins.filterPrefixForceInclude":`Force-include exact path`,"plugins.filterPrefixForceExclude":`Force-exclude exact path`,"plugins.filterEffect":`Effect`,"plugins.removeFilter":`Remove filter`,"plugins.npmSourcePlaceholder":`npm:@scope/package`,"plugins.scopeLabel":`Install to`,"plugins.scopeInstallHint.global":`Click to install to the global plugin directory (~/.pi/agent/{npm,git})`,"plugins.scopeInstallHint.project":`Click to install to this project (.pi/agent/{npm,git})`,"plugins.sourceLabel":`Source`,"plugins.scopeGlobal":`Global`,"plugins.scopeProject":`Project`,"plugins.examplesTitle":`Examples`,"plugins.totalsSummary":`{extensions} ext · {skills} skills · {prompts} prompts · {themes} themes`,"plugins.diagnosticCount":`{n} diagnostic{s}`,"plugins.packageInstalled":`Package installed.`,"plugins.packageUpdated":`Package updated.`,"plugins.packageRemoved":`Package removed.`,"plugins.packageDisabled":`Package disabled.`,"plugins.packageEnabled":`Package enabled.`,"plugins.extensionFilterAdded":`Extension filter added.`,"plugins.extensionFilterRemoved":`Extension filter removed.`,"plugins.sessionReloaded":`Session reloaded.`,"i18n.noResources":`No resources`,"i18n.unknown":`Unknown`,"i18n.installedVersion":`installed {version}`,"i18n.configuredVersion":`configured {version}`,"i18n.extensions":`Extensions`,"i18n.prompts":`Prompts`,"i18n.themes":`Themes`,"i18n.resourceCount":`{count} {label}`,"i18n.extensionShort":`ext`,"i18n.versionShort":`ver`,"i18n.skillShort":`skills`,"i18n.promptShort":`prompts`,"i18n.themeShort":`themes`,"i18n.custom":`Custom`,"i18n.clearAll":`clear all`,"i18n.connectedSuccessfully":`Connected successfully.`,"i18n.notConnected":`not connected`,"i18n.configured":`configured`,"i18n.notConfigured":`not configured`,"i18n.openingBrowser":`Opening browser…`,"i18n.submit":`Submit`,"i18n.login":`Login`,"i18n.relogin":`Re-login`,"i18n.disconnect":`Disconnect`,"i18n.networkError":`Network error`,"i18n.continuing":`Continuing…`,"i18n.skills":`Skills`,"i18n.plugins":`Plugins`,"i18n.addSkill":`Add skill`,"i18n.addPlugin":`Add plugin`,"i18n.recommendedPlugins":`Recommended`,"i18n.selectSkill":`Select a skill`,"i18n.selectPackage":`Select a package`,"i18n.configBindings":`Bound config files`,"i18n.addBinding":`Add`,"i18n.configFileNote":`Note (optional)`,"i18n.bindConfigFile":`Bind config file`,"i18n.selectFile":`Select a file`,"i18n.noConfigBindings":`No config files bound`,"i18n.noFiles":`No files`,"i18n.allFiles":`All files`,"i18n.filterByType":`Filter by type`,"i18n.removeBinding":`Remove binding`,"i18n.confirm":`Confirm`,"i18n.updateAvailable":`Update available`,"i18n.upToDate":`Up to date`,"i18n.automaticChecksUnavailable":`Automatic checks unavailable`,"i18n.checkFailed":`Check failed`,"i18n.installed":`Installed`,"i18n.status":`Status`,"i18n.version":`Version`,"i18n.package":`Package`,"i18n.resources":`Resources`,"i18n.installedPath":`Installed path`,"i18n.readme":`README`,"i18n.readmeDetails":`Details`,"i18n.unsafeLinkBlocked":`Blocked unsafe link (only same-directory or sub-directory relative links are allowed): {href}`,"i18n.resolvedResources":`Resolved Resources`,"i18n.reloadSession":`Reload session`,"i18n.reloading":`Reloading...`,"i18n.packageRemoved":`Package removed.`,"i18n.packageInstalled":`Package installed.`,"i18n.packageUpdated":`Package updated.`,"i18n.packageDisabled":`Package disabled.`,"i18n.packageEnabled":`Package enabled.`,"i18n.sessionReloaded":`Session reloaded.`,"i18n.thinking":`Thinking`,"i18n.loadingThinking":`Loading thinking...`,"i18n.copyMessage":`Copy message`,"i18n.editFromHere":`Edit from here`,"i18n.editFromHereTitle":`Edit from here — branches within this session`,"i18n.newSession":`New session`,"i18n.newSessionTitle":`New session — creates an independent copy from here`,"i18n.estimatedTokens":`Estimated token count while streaming`,"i18n.noOutput":`(no output)`,"i18n.noSummary":`(no summary)`,"i18n.conversationCompacted":`Conversation compacted`,"i18n.compactionDescription":`The conversation history before this point was compacted into the following summary:`,"i18n.fileContext":`File context: {details}`,"i18n.readFiles":`Read files`,"i18n.modifiedFiles":`Modified files`,"i18n.hiddenExtensionMessage":`hidden extension message`,"i18n.noMessage":`(no message)`,"i18n.collapse":`Collapse`,"i18n.expand":`Expand`,"i18n.hideDetails":`Hide details`,"i18n.showDetails":`Show details`,"i18n.thinkingUnavailable":`Thinking content unavailable`,"i18n.thinkingEncrypted":`Thinking content is encrypted (provider-encrypted for context continuity, plaintext not available)`,"i18n.before":`Before`,"i18n.after":`After`}},_={id:`zh-CN`,label:`简体中文`,messages:{"common.ok":`确定`,"common.language":`语言`,"common.models":`模型`,"common.skills":`技能`,"common.plugins":`插件`,"common.mcp":`MCP`,"sidebar.hide":`收起侧边栏`,"sidebar.show":`展开侧边栏`,"theme.light":`切换到浅色模式`,"preferences.defaultThinkingLevel":`默认思考级别`,"preferences.thinkingLevelHint":"新会话的全局默认思考级别(settings.json `defaultThinkingLevel`)。未设置=删除该字段(回落 pi 默认)。","preferences.thinkingLevelNotSet":`未设置(跟随模型默认)`,"preferences.compaction":`自动压缩`,"preferences.compactionHint":"自动压缩长会话(settings.json `compaction`)。未配置时按 pi 默认值展示,改动即写入完整对象。","preferences.compactionEnabled":`启用`,"preferences.compactionReserveTokens":`输出预留词元数`,"preferences.compactionReserveTokensHint":`为模型输出预留的词元数,压缩时保留这部分空间供回复使用`,"preferences.compactionKeepRecentTokens":`压缩后保留词元数`,"preferences.compactionKeepRecentTokensHint":`压缩后保留的词元数,从最近聊天记录开始逆向往前计算`,"preferences.retry":`API 重试`,"preferences.retryHint":"供应商 API 调用的重试设置(settings.json `retry`)。未配置时按 pi 默认值展示,改动即写入完整对象;provider 子字段留空则不写入。","preferences.retryEnabled":`启用重试`,"preferences.retryEnabledHint":`是否对失败的 API 调用启用重试`,"preferences.retryMaxRetries":`最大重试次数`,"preferences.retryBaseDelayMs":`基础延迟(毫秒)`,"preferences.retryBaseDelayMsHint":`首次重试前的初始延迟,单位毫秒`,"preferences.retryProviderTimeoutMs":`供应商超时(毫秒)`,"preferences.retryProviderMaxRetries":`供应商最大重试次数`,"preferences.retryProviderMaxRetryDelayMs":`供应商最大延迟(毫秒)`,"preferences.defaultProjectTrust":`新项目默认信任`,"preferences.projectTrustHint":"新项目的默认信任策略(settings.json `defaultProjectTrust`)。未设置=删除该字段(回落「询问」)。","preferences.projectTrustNotSet":`未设置(询问)`,"preferences.projectTrustAsk":`询问`,"preferences.projectTrustAlways":`总是信任`,"preferences.projectTrustNever":`从不信任`,"preferences.notifyEvents":`浏览器通知`,"preferences.notifyEventsHint":`标签页非激活时发浏览器通知。权限在首次交互时请求。`,"notify.permission.request":`开启通知`,"notify.permission.requestHint":`点击开启浏览器通知:任务完成时即使不在本页也会提醒`,"notify.permission.granted":`通知已开启`,"wsHealth.disconnected":`与服务的连接已断开,正在自动重连…`,"wsHealth.restored":`连接已恢复`,"reducedMotionNotice.message":`检测到系统开启了「减少动态效果」(prefers-reduced-motion):为尊重该系统设置,本应用已关闭部分动画效果。若想恢复,可搜索「如何关闭减少动态效果」或「prefers-reduced-motion」,按系统/浏览器说明关闭。每个浏览器会话只提示一次。`,"notify.permission.grantedHint":`已开启浏览器通知:任务完成时即使不在本页也会提醒`,"notify.permission.bannerHintBefore":`点击左上工具栏的`,"notify.permission.bannerHintAfter":`按钮开启通知权限,任务完成、出错或提问时都能收到浏览器通知,详细设置可在 配置中心 → 会话 → 通知 栏目中调整`,"notify.permission.denied":`通知被阻止`,"notify.permission.deniedHint":`浏览器阻止了通知。请点击地址栏左侧图标 → 站点设置,将通知改为允许后重试`,"preferences.notifyWhileActive":`页面激活时也通知`,"preferences.notifyTaskComplete":`任务完成`,"preferences.notifyErrors":`运行出错`,"preferences.notifyQuestions":`提问`,"theme.dark":`切换到深色模式`,"theme.toggleTheme":`切换主题`,"theme.darkMode":`深色`,"theme.lightMode":`浅色`,"theme.fontSize":`字体大小`,"theme.scrollStep":`悬停滚动步长`,"scrollStep.hint":`悬停滚动方向箭头时,内容每次滚动的像素数(面板滚动箭头与消息地图共用此步长)。`,"scrollStep.range":`每次悬停滚动像素(1-1000)`,"scrollStep.unit":`px`,"theme.autoReloadSeconds":`自动定时同步聊天消息间隔`,"autoReload.off":`关闭(0)— 不自动刷新`,"autoReload.range":`秒(0 — 3600)`,"autoReload.unit":`秒`,"autoReload.hint":`自动重新读取会话文件的间隔秒数;0 = 关闭。单客户端场景(消息经 WebSocket 实时推送)保持 0 即可;多客户端协作(多个浏览器同时操作同一会话)时设为大于 0,各客户端定时刷新以读取其他客户端生成的新聊天消息。`,"recentBlocks.hint":`保持展开的最近已完成块数(含最新完成的块本身;默认 0,即所有已完成块默认收起,可悬停预览/点击展开)。`,"autoReload.reset":`恢复默认({n} 秒)`,"chat.reloadFromDisk":`从磁盘同步会话文件内容`,"chat.reloadFromDiskHint":`当多个客户端同时读写同一个会话 jsonl 时使用。可在 配置中心 → 会话 页面设置自动定时同步。`,"chat.exportSession":`导出会话(HTML)`,"chat.exportSessionHint":`下载完整会话为独立 HTML 文件(可在任意浏览器离线查看消息树)。`,"scrollStep.reset":`恢复默认({n} px)`,"theme.recentBlocksExpanded":`最近完成块保持展开数`,"layout.sidebarWidth":`左侧面板宽度`,"layout.widgetPanelWidth":`右侧面板宽度`,"layout.widthRange":`px({min}–{max})`,"layout.widthReset":`恢复默认({value} px)`,"longBlock.blocks":`个`,"recentBlocks.reset":`恢复默认({n} 个)`,"recentBlocks.range":`0-20,含最新完成的块`,"history.full":`轨迹`,"history.unsaved":`会话保存后才能查看轨迹`,"title.generating":`正在生成...`,"title.updated":`标题已更新`,"title.noMessages":`请先发送消息,再为会话命名`,"title.generateSession":`生成会话标题`,"system.prompt":`系统提示词`,"system.promptHint":`显示最近一轮请求实际使用的系统提示词(由会话记录派生);新会话需先发送一条消息,才会有可显示的提示词。`,"system.empty":`系统提示词为空(工具已禁用)`,"system.load":`发送消息以加载系统提示词`,"notices.title":`消息中心`,"notices.empty":`暂无消息`,"mcp.requiresCwd":`打开一个工作目录后查看 MCP 服务器配置`,"mcp.title":`MCP 服务器`,"mcp.builtinNote":`内置 MCP 支持已随会话启用(pi 0.99+),无需安装 mcp 插件——安装注册 /mcp 的扩展会取代内置支持。配置来自 mcp.json,会话启动时连接。`,"mcp.empty":"尚未配置 MCP 服务器。用 `pi mcp add <name> -- <command>` 或编辑 {globalPath}。","mcp.sourceGlobal":`全局`,"mcp.sourceProject":`项目`,"mcp.disabled":`已禁用`,"mcp.exposure":`接入方式`,"mcp.toolExposureCount":`{n} 个工具覆盖`,"mcp.timeout":`{n}s 超时`,"mcp.projectUntrusted":`项目 .pi/mcp.json 未生效:项目尚未受信任(stdio 服务器会执行命令)。`,"mcp.howToEdit":"可在上方卡片直接新增/编辑/删除服务器;改后 /reload 或新会话生效。OAuth 登录用 `pi mcp login <server>`。","mcp.addServer":`添加服务器`,"mcp.addTo":`添加至`,"mcp.editServer":`编辑服务器`,"mcp.removeServer":`删除服务器`,"mcp.removeConfirmTitle":`删除 MCP 服务器`,"mcp.removeConfirmDesc":`将从{source} mcp.json 中删除“{name}”。改后 /reload 或新会话生效。`,"mcp.fieldName":`名称`,"mcp.fieldTransport":`类型`,"mcp.transportStdio":`stdio(本地命令)`,"mcp.transportHttp":`HTTP(远程)`,"mcp.fieldCommand":`命令`,"mcp.fieldArgs":`参数`,"mcp.fieldArgsHint":`空格分隔,如:-y server-fs .`,"mcp.fieldUrl":`URL`,"mcp.fieldEnv":`环境变量`,"mcp.fieldHeaders":`请求头`,"mcp.fieldKvHint":`每行一条 KEY=VALUE`,"mcp.fieldTimeout":`超时(秒,可选)`,"mcp.fieldEnabled":`启用`,"mcp.dialogTargetGlobal":`保存到 {path}`,"mcp.dialogTargetProject":`保存到 {path}`,"mcp.dialogTargetProjectUnavailable":`项目未受信任,无法写入项目 mcp.json`,"mcp.errNameRequired":`名称不能为空`,"mcp.errCommandRequired":`stdio 服务器需要填写命令`,"mcp.errUrlRequired":`HTTP 服务器需要填写 URL`,"mcp.autoEnableCodemode":`自动启用 codemode`,"mcp.autoEnableCodemodeHint":`存在以 codemode 方式接入的 MCP 服务器时,自动激活 codemode(模型编写 JS 脚本并行调用工具;codemode 接入的工具不进模型上下文,仅可在脚本中 searchTools 后调用)。`,"mcp.exposureDirect":`direct(直接声明给模型)`,"mcp.exposureModelOnly":`model-only(仅模型,不进脚本)`,"mcp.exposureCodemode":`codemode(仅脚本调用)`,"mcp.exposureDeferred":`deferred(tool_search 加载)`,"mcp.exposureHidden":`hidden(隐藏)`,"notices.filterInfo":`显示 info 级消息`,"notices.filterWarning":`显示 warning 级消息`,"notices.filterError":`显示 error 级消息`,"notices.search":`搜索消息`,"notices.clear":`清除`,"notices.clearCurrentHint":`清除当前会话的消息留痕(当前范围:仅当前会话)`,"notices.clearAllHint":`清除所有会话的消息留痕(当前范围:全部会话)`,"notices.clearCurrent":`清除当前会话的消息`,"notices.clearAll":`清除所有消息`,"notices.remove":`删除此消息`,"notices.onlyCurrent":`仅当前会话`,"notices.onlyCurrentOnHint":`只显示当前会话的消息(点击改为显示全部会话)`,"notices.onlyCurrentOffHint":`显示全部会话的消息(点击改为只看当前会话)`,"notices.fromSession":`来自会话`,"notices.global":`全局`,"session.info":`会话信息`,"session.reload":`重载会话(重读配置与资源)`,"session.name":`名称`,"session.file":`文件`,"session.inMemory":`内存中`,"session.id":`ID`,"session.user":`用户`,"session.assistant":`助手`,"session.toolCalls":`工具调用`,"session.toolResults":`工具结果`,"session.total":`总计`,"session.input":`输入`,"session.output":`输出`,"session.cacheRead":`缓存读取`,"session.cacheWrite":`缓存写入`,"session.inputHint":`未命中缓存的输入 token 数:系统提示、会话历史、工具定义等发送给模型的上下文,减去命中缓存的部分`,"session.outputHint":`模型生成回复的 token 数(回答与思考)`,"session.cacheReadHint":`命中 prompt 缓存的 token 数:与上一请求未变的上下文直接从缓存读取,按折扣价计费`,"session.cacheWriteHint":`首次写入缓存的 token 数(Anthropic 风格按写入计费)`,"session.totalHint":`输入 + 输出 + 缓存读取 + 缓存写入`,"session.cacheHitRate":`缓存命中率`,"session.cacheReadRate":`缓存命中率:命中缓存的 token(缓存读取)占全部输入 prompt(输入 + 缓存读取 + 缓存写入)的比例,即官方口径 cacheRead ÷ (input + cacheRead + cacheWrite)`,"session.cost":`费用`,"session.context":`上下文`,"session.copy":`复制{value}`,"session.copied":`已复制`,"session.title":`会话信息`,"session.load":`发送消息或运行 /session 以加载会话信息`,"session.infoSection":`会话信息`,"session.messages":`消息`,"session.tokens":`词元`,"session.copyFile":`复制文件路径`,"session.copyId":`复制会话 ID`,"workspace.opening":`正在打开工作区...`,"workspace.unable":`无法打开工作区`,"workspace.selectSession":`从侧边栏选择一个会话`,"workspace.selectWorkspace":`请选择工作区`,"workspace.stepProject":`从侧边栏选择项目目录`,"workspace.stepModels":`点击底部的“模型”按钮添加模型`,"tabs.chat":`聊天`,"tabs.widgets":`小组件`,"tabs.updates":`更新`,"tabs.branches":`对话分支`,"branch.assistantFallback":`[助手消息]`,"branch.customMessage":`自定义消息`,"branch.sessionInfo":`会话信息`,"branch.thinkingLevelChange":`思考级别变更`,"branch.modelChange":`模型切换`,"tabs.trajectory":`轨迹`,"trajectory.noSession":`选择一个会话后查看轨迹`,"trajectory.loading":`加载中…`,"trajectory.summary":`共 {turns} 轮 · {tools} 次工具调用`,"trajectory.emptyTurn":`(无用户消息)`,"trajectory.turnStats":`{tools} 工具 · {errors} 错误`,"trajectory.toolError":`工具 {name} 执行失败`,"trajectory.lane.user":`用户消息`,"trajectory.overviewEmpty":`展开轮次查看时间线`,"trajectory.lane.assistant":`助手消息`,"trajectory.lane.tool":`工具调用`,"config.title":`配置`,"config.mobileDisabled":`配置中心暂不支持移动端,请在桌面端浏览器打开`,"config.section.session":`会话`,"config.section.appearance":`外观`,"config.section.advanced":`高级`,"config.section.envVars":`环境变量`,"config.env.hint":`pi-web 服务端进程实际生效的环境变量(含 .env / shell 导出 / OS 级 / 进程继承的全部注入来源),仅查看。机密类变量已脱敏。`,"config.env.filterPlaceholder":`按变量名过滤…`,"config.env.colName":`变量名`,"config.env.colValue":`值`,"config.env.emptyTitle":`变量已设置但值为空`,"config.env.loadFailed":`加载失败:`,"config.env.loading":`加载中…`,"config.env.noMatch":`无匹配变量`,"config.section.tools":`工具`,"config.search.placeholder":`搜索配置(至少2个字符)…`,"config.search.open":`搜索配置(Ctrl+F)`,"config.search.hint":`按 Ctrl+F 可搜索配置项`,"config.search.matchCount":`{count} 处匹配`,"config.search.noResults":`无匹配配置`,"config.section.fileExclusions":`文件排除`,"config.section.startScreen":`开始屏幕`,"config.section.git":`Git`,"config.section.modelThinking":`思考级别`,"config.section.requiresCwd":`请先从侧边栏选择项目目录,再浏览插件 / 技能`,"updates.check":`检测更新`,"updates.checking":`检查中…`,"updates.checkedAt":`上次检测`,"updates.upToDate":`已是最新`,"updates.updateAvailable":`有新版本`,"updates.unavailable":`检查失败`,"updates.noPluginUpdates":`全部插件已是最新`,"updates.banner":`有可用更新:{items}`,"updates.view":`查看`,"updates.copied":`已复制`,"updates.copyCommand":`复制命令`,"updates.restartNote":`执行以上命令更新pi-web,重启服务后生效。`,"updates.enableChecking":`启用更新检测`,"updates.enableCheckingHint":`开启后每 30 分钟自动检测一次更新(也可随时手动点击「检测更新」)`,"updates.disabled":`更新检测已关闭`,"updates.ignoreVersion":`忽略此版本`,"updates.ignored":`已忽略 {version}`,"updates.ignoredPlugin":`已忽略`,"updates.unignore":`取消忽略`,"preferences.fileExclusions.title":`文件排除名单`,"preferences.fileExclusions.description":`文件浏览器与 @ 文件索引共用的排除规则:*.xxx 形式按后缀匹配,其余为目录/文件名精确匹配。各级整体替换下一级(不合并):项目级完全覆盖全局,全局完全覆盖内置默认。添加时可用逗号分隔多个条目(目录/文件名可含空格);保存后立即生效。`,"preferences.fileExclusions.global":`全局`,"preferences.fileExclusions.project":`项目`,"preferences.fileExclusions.defaults":`内置默认(只读)`,"preferences.fileExclusions.inputPlaceholder":`如 node_modules、*.pyc(多条用逗号分隔)`,"preferences.fileExclusions.importHigher":`复制上级名单到此`,"preferences.fileExclusions.loadFailed":`排除名单加载失败`,"preferences.defaultTools.title":`默认工具(defaultTools)`,"preferences.defaultTools.description":`配置新会话启动时启用的工具(pi settings.json defaultTools)。聊天框下方的工具预设下拉的选项列表(full 等)在本 tab 下方的「工具预设」区块管理;选中预设只是会话级临时切换,不写入这里。grep / find / ls 等默认不启用的内置工具、以及 codemode 都可在此开启;MCP 设置中另有 autoEnableCodemode 自动激活选项,两者独立。全量替换=精确白名单;增量修改=在 pi 默认集(read/bash/edit/write)上增减;增量模式下悬停「生效名单」徽标可查看实际启用结果。`,"preferences.defaultTools.global":`全局默认工具列表`,"preferences.defaultTools.project":`项目默认工具列表`,"preferences.defaultTools.modeFull":`全量替换`,"preferences.defaultTools.modeIncremental":`增量修改`,"preferences.defaultTools.save":`保存`,"preferences.defaultTools.reset":`重置`,"preferences.defaultTools.incrementalHint":`增量模式:条目均以 +/- 前缀写入;点击工具名生成 -tool(移除),再次点击恢复。`,"preferences.defaultTools.confirmTitle":`保存并重启受影响会话`,"preferences.defaultTools.confirmRestartGlobal":`保存全局默认工具列表将重启当前打开过的所有会话进程(新会话立即使用新名单);正在运行任务的会话不会被打断,继续用旧名单直到空闲后自动重启。`,"preferences.defaultTools.confirmRestartProject":`保存项目级默认工具列表将重启该项目下已打开的会话进程(新会话立即使用新名单);正在运行任务的会话不会被打断。`,"preferences.defaultTools.saveResult":`已保存,重启了 {restarted} 个会话进程`,"preferences.defaultTools.saveResultSkipped":`已保存,重启了 {restarted} 个会话进程;{skipped} 个正在运行的会话未重启,将在空闲后自动重启`,"preferences.defaultTools.fullHint":`全量模式:勾选的工具即完整名单,完全替换 pi 默认集(未勾选的默认工具将不可用)。`,"preferences.defaultTools.toolDesc.read":`读取文件内容(可指定行范围;只读,不修改文件)`,"preferences.defaultTools.toolDesc.bash":`执行 shell 命令(通用入口:构建、git、进程管理等)`,"preferences.defaultTools.toolDesc.edit":`编辑文件(精确匹配旧文本做局部替换;新建或整文件重写用 write)`,"preferences.defaultTools.toolDesc.write":`新建文件或整文件覆盖写入(局部修改用 edit)`,"preferences.defaultTools.toolDesc.grep":`按正则搜索文件内容(文件探索专用工具,不占 bash 轮次)`,"preferences.defaultTools.toolDesc.find":`按文件名模式查找文件(文件探索专用工具,不占 bash 轮次)`,"preferences.defaultTools.toolDesc.ls":`列出目录内容(快速浏览项目布局)`,"preferences.defaultTools.toolDesc.powershell":`执行 PowerShell 命令(pwsh 或 Windows PowerShell;面向 Windows 的 bash 替代)`,"preferences.defaultTools.toolDesc.codemode":`模型用 JS 脚本(QuickJS 沙箱)编排其他工具——一次调用内并行执行、先过滤大结果,只把脚本输出交给模型。`,"preferences.defaultTools.toolDesc.tool_search":`让模型搜索并按需加载未声明工具(codemode/deferred 暴露,如 MCP 工具)。`,"preferences.defaultTools.projectUntrusted":`项目未受信,无法写入项目级 settings.json(先在项目信任提示中信任该目录)。`,"preferences.defaultTools.loadFailed":`默认工具配置加载失败`,"preferences.toolPresets.title":`工具预设`,"preferences.toolPresets.description":`聊天框底部工具预设下拉的选项列表(~/.pi/agent/pi-web/tool-presets.json)`,"preferences.toolPresets.nameLabel":`名称`,"preferences.toolPresets.namePlaceholder":`预设名称(必填)`,"preferences.toolPresets.nameRequired":`名称不能为空`,"preferences.toolPresets.nameDuplicate":`名称不能重复`,"preferences.toolPresets.descriptionLabel":`描述`,"preferences.toolPresets.descriptionPlaceholder":`可选描述,展示在下拉选项中`,"preferences.toolPresets.remove":`删除`,"preferences.toolPresets.defaultHint":`内置预设(只读):生效名单跟随上方默认工具列表(项目优先于全局)`,"preferences.toolPresets.defaultSourceGlobal":`项目未配置默认工具,跟随全局列表`,"preferences.toolPresets.defaultSourceSdk":`项目与全局均未配置,使用 pi 内置默认(read/bash/edit/write)`,"preferences.toolPresets.staleRestart":`默认工具列表已更新,重启 pi-web 后对运行中的会话生效`,"preferences.toolPresets.add":`添加预设`,"preferences.toolPresets.save":`保存`,"preferences.toolPresets.reset":`重置`,"preferences.toolPresets.saved":`已保存,聊天框下拉即刻生效`,"preferences.toolPresets.loadFailed":`工具预设配置加载失败`,"preferences.pi.unset":`pi 默认`,"preferences.pi.enableAnalytics":`启用分析`,"preferences.pi.enableAnalyticsHint":"发送匿名使用分析(settings.json `enableAnalytics`)","preferences.pi.enableInstallTelemetry":`启用安装遥测`,"preferences.pi.enableInstallTelemetryHint":"发送匿名安装遥测(settings.json `enableInstallTelemetry`)","preferences.pi.httpProxy":`HTTP 代理`,"preferences.pi.httpProxyHint":"HTTP 请求的代理地址(settings.json `httpProxy`)。留空无法清除已设置的值。","preferences.pi.trackingId":`分析跟踪 ID`,"preferences.pi.trackingIdHint":"自定义分析跟踪 ID(settings.json `trackingId`)。留空无法清除已设置的值。","preferences.pi.httpIdleTimeoutMs":`HTTP 空闲超时(毫秒)`,"preferences.pi.httpIdleTimeoutMsHint":"HTTP 空闲超时毫秒数(settings.json `httpIdleTimeoutMs`)。留空无法清除已设置的值。","preferences.pi.websocketConnectTimeoutMs":`WebSocket 连接超时(毫秒)`,"preferences.pi.websocketConnectTimeoutMsHint":"WebSocket 连接超时毫秒数(settings.json `websocketConnectTimeoutMs`)。留空无法清除已设置的值。","preferences.pi.branchSummary":`分支摘要`,"preferences.pi.branchSummaryHint":"分支摘要自动压缩(settings.json `branchSummary`)","preferences.pi.reserveTokens":`预留 token`,"preferences.pi.skipPrompt":`跳过提示`,"preferences.pi.images":`图片处理`,"preferences.pi.imagesHint":"pi 引擎如何处理图片(settings.json `images`)","preferences.pi.autoResize":`自动缩放`,"preferences.pi.autoResizeHint":"压缩 `read` 等工具返回的图片以节省 token。","preferences.pi.blockImages":`阻止图片`,"preferences.pi.blockImagesHint":`在消息发送给模型前移除所有图片内容。`,"config.files.hint":`直接编辑 pi 的配置文件(JSON)。保存前校验,写前自动备份(保留最近 10 份)。`,"config.widgets.empty":`暂无小组件配置。插件弹出小组件时会自动在此创建条目。`,"config.widgets.x":`x`,"config.widgets.y":`y`,"config.widgets.width":`宽`,"config.widgets.height":`高`,"config.widgets.bind":`绑定消息`,"config.widgets.bindTitle":`绑定自定义消息`,"config.widgets.bindHint":`为小组件「{key}」绑定一条快捷消息`,"config.widgets.editTitle":`编辑快捷消息`,"config.widgets.editHint":`修改标题、内容与发送方式。`,"config.widgets.label":`描述`,"config.widgets.labelPlaceholder":`按钮显示的文字(如:重载)`,"config.widgets.message":`消息内容`,"config.widgets.messagePlaceholder":`斜杠命令或任意文本(如 /reload)`,"config.widgets.messageTooltip":`以 / 开头时仅提示内置、全局插件与 Skill 命令;项目级插件命令不会出现在列表中,但可手动输入后保存`,"config.widgets.sendImmediately":`立即发送`,"config.widgets.sendMode":`发送方式`,"config.widgets.fillToChatInput":`填充到聊天框`,"config.widgets.sendImmediatelyTooltip":`立即发送:`,"config.widgets.fillToChatInputTooltip":`填充到聊天框:`,"config.widgets.nameConflict":`名称「{label}」已存在,请换一个名称`,"config.startScreen.nameConflict":`名称「{label}」已存在,请换一个名称`,"config.widgets.confirm":`确认`,"config.widgets.unbindTitle":`解绑消息`,"config.widgets.unbindConfirm":`确定解绑「{label}」?`,"config.widgets.unbind":`解绑`,"config.startScreen.hint":`新会话开始屏幕(Pi Logo 下方)展示的快捷入口;点击后按各条绑定的发送方式立即发送或填充到聊天输入框。`,"config.startScreen.bind":`绑定消息`,"config.startScreen.bindTitle":`绑定快捷消息`,"config.startScreen.bindHint":`为开始屏幕绑定一条快捷消息。`,"config.startScreen.editTitle":`编辑快捷消息`,"config.startScreen.editHint":`修改标题、内容与发送方式。`,"config.startScreen.empty":`暂无快捷消息,开始屏幕不会显示快捷入口。`,"config.startScreen.unbindTitle":`解绑消息`,"config.startScreen.unbindConfirm":`确定解绑「{label}」?`,"config.startScreen.unbind":`解绑`,"config.startScreen.reset":`重置`,"config.startScreen.resetHint":`恢复内置默认快捷消息;保留你自绑定的消息(与默认同名的会被默认项覆盖)。`,"config.files.save":`保存`,"config.files.saving":`保存中...`,"config.files.saved":`已保存`,"config.files.missing":`尚未创建`,"config.files.placeholder":`从左侧选择要编辑的配置文件`,"layout.resizeSidebar":`调整侧边栏宽度`,"layout.resizeWidgetPanel":`调整小组件面板宽度`,"layout.resizeHint":`拖动调整宽度。双击或按 Enter 恢复默认值。`,"sidebar.newWorkspace":`新增工作区`,"sidebar.searchSessions":`搜索会话`,"sidebar.searchSessionsPlaceholder":`搜索会话…`,"sidebar.justNow":`刚刚`,"sidebar.minutesAgo":`{count} 分钟前`,"sidebar.hoursAgo":`{count} 小时前`,"sidebar.daysAgo":`{count} 天前`,"sidebar.searchSessionsNoResults":`无匹配会话`,"sidebar.newSessionTitle":`在 {path} 中新建会话`,"sidebar.refresh":`刷新`,"directoryPicker.selectDirectory":`选择目录`,"directoryPicker.goToParent":`转到上级目录`,"directoryPicker.directoryPath":`目录路径`,"directoryPicker.goToDirectory":`转到目录`,"directoryPicker.go":`转到`,"directoryPicker.loadingDirectories":`正在加载目录…`,"directoryPicker.noSubdirectories":`没有子目录`,"directoryPicker.openBeforeSelecting":`选择前请先打开此路径`,"directoryPicker.selectCurrentDirectory":`选择当前目录`,"directoryPicker.selectThisFolder":`选择此文件夹`,"directoryPicker.noDrives":`未找到盘符`,"directoryPicker.search":`筛选文件夹`,"directoryPicker.noMatches":`没有匹配的文件夹`,"sidebar.checking":`检查中…`,"sidebar.open":`打开`,"sidebar.cancel":`取消`,"sidebar.openRepoRoot":`worktree 切换不可用`,"sidebar.openRepoRootTitle":`worktree 切换功能当前不可用:请先在侧栏将当前工作目录切换到 Git 仓库根目录。`,"sidebar.gitRepoRootOnly":`仅 Git 仓库根目录`,"sidebar.gitRepoRootOnlyTitle":`只能在 Git 仓库根目录使用 worktree。`,"sidebar.worktrees":`Worktrees...`,"sidebar.checkingWorktrees":`正在检查此目录的 worktree。`,"sidebar.filterWorktrees":`筛选 worktree…`,"sidebar.noMatchingWorktrees":`没有匹配的 worktree`,"sidebar.switchWorktree":`切换 worktree`,"sidebar.switchWorktreeTitle":`切换 worktree:{path}`,"sidebar.main":`主分支`,"sidebar.forceRemoveCheckout":`存在未提交的更改。强制移除 checkout?`,"sidebar.force":`强制移除`,"sidebar.createWorktreeTitle":`为分支创建 worktree checkout`,"sidebar.newWorktree":`新建 worktree…`,"sidebar.branchName":`Git 分支名称`,"sidebar.creating":`创建中…`,"sidebar.create":`创建`,"sidebar.uploadFilesTitle":`将文件上传到项目根目录`,"sidebar.uploadFiles":`上传文件`,"sidebar.refreshExplorer":`刷新文件浏览器`,"sidebar.changedFiles":`{count} 个变更文件`,"sidebar.loading":`加载中...`,"sidebar.sessionDeleted":`会话已删除,请选择其他会话`,"sidebar.noSessions":`未找到会话`,"sidebar.workspace":`工作区`,"sidebar.newActivity":`有新活动`,"sidebar.newSessionActivity":`会话有新活动`,"sidebar.interactionBadge":`会话等待交互响应`,"sidebar.deleteSession":`删除 {title}?`,"sidebar.deleteWorkspace":`工作区「{name}」下的 {count} 个会话及其附件都会被一并删除,此操作不可撤销。`,"sidebar.deleteWorkspaceTitle":`删除此工作区、其所有会话及会话附件`,"sidebar.deleteWorkspaceDialogTitle":`删除工作区`,"sidebar.deletedSessionGhost":`已删除该会话`,"sidebar.deletedWorkspaceGhost":`已删除工作区「{name}」({count} 个会话及附件)`,"sidebar.copyPath":`复制完整路径`,"sidebar.actions":`会话操作`,"sidebar.rename":`重命名`,"sidebar.delete":`删除`,"aux.forkTitle":`复制会话附属文件`,"aux.forkDescription":`该会话存在同名(不同后缀)的附属文件,选择哪些随新会话一起复制:`,"aux.deleteTitle":`是否一并删除附属文件?`,"aux.deleteDescription":`以下文件与会话同名(不同后缀),未勾选的将保留在磁盘上:`,"aux.copyConfirm":`复制并创建副本`,"aux.deleteConfirm":`删除所选`,"aux.fileNameHeader":`文件名(点击全选/清空)`,"aux.sizeHeader":`大小`,"aux.toggleAll":`全选/清空`,"sidebar.deleteWithShiftClick":`删除(按住 Shift 点击可跳过确认)`,"sidebar.expandForks":`展开分叉`,"sidebar.collapseForks":`折叠分叉`,"sidebar.disconnect":`断开`,"sidebar.messagesCount":`{count} 条消息`,"sidebar.worktreePath":`Worktree:{path}`,"sidebar.removeWorktreeTitle":`移除 worktree checkout {path};保留分支`,"files.modified":`已修改`,"files.added":`已添加`,"files.deleted":`已删除`,"files.renamed":`已重命名`,"files.untracked":`未跟踪`,"files.conflict":`冲突`,"files.newlyUploaded":`刚上传`,"files.containsChangedFiles":`包含已更改文件`,"files.insertPath":`将路径插入聊天`,"files.mention":`提及`,"files.download":`下载文件`,"files.dismissError":`关闭错误`,"files.addUploadedFile":`将上传的文件添加到聊天`,"files.addAllUploadedFiles":`将所有上传的文件添加到聊天`,"files.openInSystemApp":`用系统应用打开`,"files.chooseOtherApp":`选择其他应用…`,"files.openLaunched":`已调用系统应用打开(如无窗口弹出,请检查文件关联)`,"files.fileTooLargeForPreview":`文件太大,无法预览(>{limit})`,"files.docTooLargeForPreview":`DOCX 太大,无法预览(>{limit})`,"files.dismissUploadResults":`关闭上传结果`,"files.loading":`正在加载文件...`,"files.noFiles":`未找到文件`,"files.find":`查找`,"files.findNext":`下一个匹配(Enter)`,"files.findPrev":`上一个匹配(Shift+Enter)`,"files.findNoResults":`无结果`,"files.findClose":`关闭(Esc)`,"loading.inProgress":`处理中…`,"loading.more":`还有 {count} 项…`,"errors.title":`错误`,"errors.titleCount":`错误({count})`,"errors.close":`关闭`,"errors.clearAll":`全部清除`,"files.notFound":`(暂无文件)`,"files.accessDenied":`访问被拒绝`,"files.empty":`(空)`,"files.uploadFailed":`{count} 个失败`,"files.explorer":`文件浏览器`,"files.changedCount":`{count} 个文件`,"files.stagedPrefix":`已暂存:`,"files.unstagedPrefix":`未暂存:`,"files.noStagedChanges":`暂无已暂存文件`,"files.noUnstagedChanges":`暂无变更文件`,"files.commitMessagePlaceholder":`提交信息`,"files.commit":`提交`,"files.push":`推送到远端(含 tag)`,"files.pushing":`推送中...`,"files.pushSuccess":`推送成功`,"files.pushFailed":`推送失败`,"files.pushUpToDate":`已与远端同步,无需推送`,"files.pull":`从远端拉取`,"files.pulling":`拉取中...`,"files.pullSuccess":`拉取成功`,"files.pullFailed":`拉取失败`,"files.pullUpToDate":`已与远端同步,无需拉取`,"files.pullNonFastForward":`拉取被拒绝——本地与远端已分叉。请在终端使用 git pull --rebase 或 --merge 处理。`,"files.committing":`提交中…`,"files.commitMessageRequired":`请先填写 commit message`,"files.commitTitle":`提交更改`,"files.stageFileListMore":`…等其余 {count} 个文件`,"files.confirmStageAllCommit":`是否暂存以下 {count} 个改动文件并提交?`,"files.commitMessageLabel":`提交信息`,"files.stageAllAndCommit":`暂存并提交`,"files.stageFile":`暂存文件`,"files.unstageFile":`取消暂存`,"files.changeStats":`{count} 个变更文件,新增 {additions} 行,删除 {deletions} 行`,"git.autoFetchInterval":`自动 fetch 间隔(秒)`,"git.otherSectionTitle":`其他`,"git.autoFetchIntervalHint":`服务端定时为活动会话的工作区执行 git fetch(所有客户端共享结果)。0 表示关闭定时——仅在连接会话时触发一次。`,"git.groupTitle":`智能提交信息生成`,"git.commitModel.followCurrent":`跟随当前会话模型`,"git.commitModel.followCurrentHint":`开启后,生成提交信息时动态使用当前聊天的主模型;关闭则使用下方固定的模型(推荐使用免费小模型)。`,"git.commitModel.fixedModel":`固定模型`,"git.commitModel.fixedModelHint":`关闭“跟随当前会话”时使用的模型(建议选择免费小模型)。`,"git.commitModel.selectPlaceholder":`选择模型`,"git.commitModel.noModels":`暂无可用模型`,"git.commitModel.notConfiguredHint":`尚未选择固定模型,请先选择一个模型后再使用智能生成。`,"git.ai.generate":`智能生成`,"git.ai.generating":`生成中…`,"git.ai.notConfiguredTitle":`未配置模型`,"git.ai.notConfiguredDesc":`尚未为智能生成指定模型,请前往配置中心 → Git 指定模型后再试。`,"git.ai.goToConfig":`前往配置`,"git.ai.noSession":`跟随模式需要先选择一个会话`,"git.ai.noSessionModel":`当前会话无可用模型,请先在聊天中选择模型`,"git.commitModel.maxTokens":`最大输出长度`,"git.commitModel.maxTokensHint":`单次智能生成允许的最大输出 token 数(64–4096,默认 512)。已尽量降低推理开销:支持关闭的模型会关闭推理,不支持的会降至最低档位。`,"git.commitModel.autoGenerateOnEmpty":`空输入框时提交自动先智能生成`,"git.commitModel.autoGenerateOnEmptyHint":`开启后,点击提交时若输入框为空,会先自动调用智能生成填入信息再提交;仅在已指定模型时生效,未指定模型时空输入框仍禁用提交。默认开启。`,"git.ai.invalidModel":`已配置的模型格式无效,请前往配置中心重新选择`,"git.ai.usingCurrentModel":`使用聊天主模型`,"git.ai.usingModel":`使用 {model}`,"git.ai.generateAndCommit":`智能生成信息并提交`,"git.commitConfirmStageAll":`提交时需确认“暂存全部”`,"git.commitConfirmStageAllHint":`开启后,未暂存时点击提交会先弹出“暂存全部并提交”确认框;关闭则直接暂存全部并提交。默认开启。`,"modelThinking.desc":`为每个模型或 Provider 记忆上次选择的思考级别。切换模型时自动选中记忆的档位;若该模型的可用档位不含记忆值则回退到 auto(跟随默认)。支持全部 7 档:off / minimal / low / medium / high / xhigh / max。`,"modelThinking.addModelTitle":`添加模型`,"modelThinking.addProviderTitle":`添加 Provider`,"modelThinking.byModel":`按模型`,"modelThinking.byProvider":`按 Provider`,"modelThinking.byProviderHint":`Provider 级别为回退:同 Provider 下未单独记忆的模型会使用此值。`,"modelThinking.emptyModel":`暂无按模型的记忆。切换模型后用下方思考级别下拉选择,自动记忆;也可在此添加。`,"modelThinking.emptyProvider":`暂无按 Provider 的记忆。`,"modelThinking.selectModelPlaceholder":`选择模型`,"modelThinking.selectProviderPlaceholder":`选择 Provider`,"modelThinking.providerInputPlaceholder":`或输入 Provider 名称`,"modelThinking.footerHint":`配置保存到独立文件 pi-web/model-thinking.json,不影响主配置;仅作用于 UI 下拉,不拦截 pi 的 thinking 调用。`,"common.add":`添加`,"common.emptyValue":`(空)`,"common.retry":`重试`,"common.delete":`删除`,"files.conflictSummary":`已有 {count} 个文件:{files}`,"files.cannotReplace":`无法替换:{files}`,"files.replace":`替换`,"files.skipExisting":`跳过已有文件`,"files.cancel":`取消`,"files.checking":`正在检查文件`,"files.uploading":`正在上传,{progress}%`,"files.search":`搜索文件`,"files.searchPlaceholder":`搜索文件...`,"chat.loadingSession":`正在加载会话...`,"chat.noSessionSelected":`请在左侧面板新增/选择任意会话`,"chat.loadingWindow":`正在加载消息...`,"chat.runningTool":`运行工具`,"chat.runningNamedTool":`运行 {name}`,"chat.runningToolsFull":`运行{names}等{count}个工具`,"chat.waitingModel":`等待模型`,"chat.aiQuestion":`AI 提问`,"chat.runningCommand":`运行命令`,"chat.responding":`回答中`,"chat.totalElapsed":`本轮总计 {total}`,"chat.thinking":`思考中`,"chat.message":`{count} 条消息`,"chat.messages":`{count} 条消息`,"chat.toolCall":`{count} 次工具调用`,"chat.toolCalls":`{count} 次工具调用`,"chat.statFiles":`文件`,"chat.statMessages":`消息`,"chat.statTools":`工具`,"tool.receivingArgs":`正在接收参数...`,"chat.collapseProcess":`收起处理详情`,"chat.expandProcess":`展开处理详情`,"chat.loadEarlier":`向上滚动以加载更早的消息(隐藏 {count} 条)`,"chat.searchMessages":`搜索消息`,"chat.clearSearch":`清空搜索关键字`,"chat.scrollToLatest":`滚动到最新消息`,"chat.expandMessage":`展开完整内容`,"chat.collapseMessage":`收起`,"chat.expandTurn":`展开整轮`,"chat.collapseTurn":`折叠整轮`,"chat.thinkingCount":`条思考`,"chat.textChars":`字正文`,"chat.searchPlaceholder":`搜索聊天消息…`,"chat.searchNoResults":`没有结果`,"chat.searchResults":`{count} 个结果`,"chat.extensionRequest":`扩展请求`,"chat.cancel":`取消`,"chat.skipped":`已跳过`,"chat.confirm":`确认`,"chat.submit":`提交`,"chat.extensionInput":`扩展终端输入`,"chat.extensionSelect":`请选择`,"chat.extensionConfirm":`确认`,"chat.extensionEditor":`编辑`,"chat.extensionPanel":`扩展面板`,"chat.close":`关闭`,"chat.notifyInfoTitle":`信息`,"chat.notifySuccessTitle":`成功`,"chat.notifyErrorTitle":`错误`,"chat.notifyWarningTitle":`警告`,"chat.queued":`已排队 · {count}`,"chat.queueSteer":`引导`,"chat.queueFollowUp":`后续消息`,"chat.recall":`移回输入框`,"chat.recallTitle":`移除所有排队消息并放回输入框编辑(输入框为空时按回车也可触发)`,"chat.retrying":`重试中({attempt}/{max})`,"chat.loadingCommands":`正在加载命令...`,"chat.slashCommands":`斜杠命令 · {label}`,"chat.tabEnter":`Tab / Enter`,"chat.noCommands":`未找到扩展、提示词或技能命令`,"chat.match":`1 个匹配项`,"chat.matches":`{count} 个匹配项`,"chat.command":`1 个命令`,"chat.commands":`{count} 个命令`,"chat.loadingFiles":`正在加载文件...`,"chat.files":`文件 · {label}{hint}`,"chat.searching":`搜索中…`,"chat.noMatchingFiles":`未找到匹配的文件`,"chat.searchingAll":` · 正在搜索所有文件…`,"chat.indexTruncated":` · 索引不完整`,"chat.steerPlaceholder":`立即引导 / 排队后续消息...`,"chat.recallPlaceholder":`回车撤回排队消息到输入框编辑,或输入新消息…`,"chat.agentPlaceholder":`Agent 运行中…`,"chat.messagePlaceholder":`输入聊天消息(Enter 发送,Shift+Enter 换行)。/ 开头为斜杠命令,@ 引用文件,! 开头为 Shell 命令`,"chat.questionNotificationTitle":`Pi — 提问`,"chat.taskCompleteNotificationTitle":`Pi — 任务完成`,"chat.taskErrorNotificationTitle":`Pi — 出错`,"chat.sessionCompletedNotificationBody":`会话 {name} 已完成`,"chat.questionNotificationDenied":`通知被拒绝:在浏览器站点设置中允许后,切走页面时才会收到提问提醒。`,"chat.steer":`引导`,"chat.followUp":`后续消息`,"chat.queueImageBlocked":`运行中无法排队发送带图片的附件`,"chat.steerTooltip":`在当前调用结束后立即发送这条消息`,"chat.followUpTooltip":`在智能体结束后排队发送这条消息`,"chat.send":`发送`,"chat.attachImage":`附加图片`,"chat.attachmentOnDisk":`体积过大,已存到磁盘并以路径引用(由智能体按需读取)`,"chat.filterModels":`筛选模型…`,"chat.noMatchingModels":`没有匹配的模型`,"chat.moreControls":`更多控件`,"chat.shell":`Shell`,"chat.outputLocal":`输出保留在本地`,"chat.stoppedByUser":`已手动停止`,"chat.cwdPrefix":`工作目录`,"chat.turnArtifacts.title":`本轮修改了 {count} 个文件`,"chat.turnDuration":`耗时 {duration}`,"chat.turnArtifacts.toggleList":`展开/收起文件列表`,"chat.turnArtifacts.openFile":`在文件中打开`,"chat.outputModel":`输出发送给模型`,"chat.shellSilentTip":`(以!!开头则不发)`,"chat.noTools":`不使用任何工具,仅对话`,"chat.builtInTools":`{count} 个内置工具`,"chat.allBuiltInTools":`全部内置工具`,"chat.currentReasoning":`当前推理级别:{level}`,"chat.changeReasoningLabel":`更改推理级别`,"chat.currentModel":`当前模型:{model}`,"chat.changeModel":`更改模型`,"chat.currentToolPreset":`当前工具预设:{preset}`,"chat.toolPresetDrift":`⚠ 实际生效工具与所选预设不符,当前生效:{actual}`,"chat.changeToolPreset":`更改工具预设`,"chat.stopCompaction":`停止压缩`,"chat.compactContext":`压缩上下文`,"chat.compacting":`正在压缩…`,"chat.compactionDisabledByExtension":`原生上下文压缩已被某个扩展接管,无法在这里执行。`,"chat.compact":`压缩`,"chat.stopAgent":`停止 Agent`,"chat.stop":`停止`,"chat.disableSound":`关闭提示音`,"chat.enableSound":`开启提示音`,"chat.thinkingUseDefault":`使用 pi 默认设置`,"chat.thinkingOff":`关闭推理`,"chat.thinkingMinimal":`最低限度推理`,"chat.thinkingLow":`低强度推理`,"chat.thinkingMedium":`中等强度推理`,"chat.thinkingHigh":`高强度推理`,"chat.thinkingXhigh":`超高强度推理`,"chat.thinkingMax":`最高强度推理`,"chat.thinkingMapTitle":`高级思考级别未配置`,"chat.thinkingMapBody":`pi 默认只支持 high 级别。若要开启 {level} 级别推理,请在 配置 → 模型 页面为该模型配置「推理级别映射」。`,"chat.thinkingMapGo":`立即前往`,"chat.builtIn":`内置`,"chat.extensions":`扩展`,"chat.prompts":`提示词`,"chat.skills":`技能`,"chat.dormant":`休眠`,"chat.commandCompact":`压缩上下文,可选附加说明`,"chat.commandReload":`重新加载扩展、技能、提示词和工具`,"chat.commandName":`设置会话显示名称`,"chat.commandSession":`显示会话消息、Token 和费用统计`,"chat.commandCopy":`复制最后一条助手消息`,"chat.compacted":`已压缩`,"chat.tokensSaved":`节省 {saved}`,"i18n.close":`关闭`,"i18n.resizeList":`调整 {name} 列表大小`,"widgets.title":`小组件`,"widgets.reopen":`重新弹出`,"widgets.expandedToChat":`小组件[{key}]已展开到聊天页面`,"widgets.collapse":`收起`,"widgets.open":`展开小组件`,"i18n.copy":`复制`,"i18n.copied":`已复制`,"i18n.copyToolInput":`复制原始 JSON`,"i18n.cancel":`取消`,"i18n.save":`保存`,"i18n.saving":`保存中…`,"i18n.saved":`已保存`,"i18n.saveChanges":`保存更改`,"i18n.noThinking":`无思考内容`,"i18n.remove":`移除`,"i18n.removing":`移除中…`,"i18n.delete":`删除`,"i18n.loading":`加载中...`,"i18n.searchPlaceholder":`搜索…`,"i18n.noMatch":`无匹配`,"i18n.search":`搜索`,"i18n.refresh":`刷新`,"i18n.update":`更新`,"i18n.updating":`更新中...`,"i18n.check":`检查`,"i18n.checking":`检查中...`,"i18n.install":`安装`,"i18n.installing":`安装中...`,"i18n.noResults":`没有结果`,"i18n.searchProviders":`搜索 Provider…`,"i18n.noProviders":`没有匹配的 Provider`,"i18n.newModel":`新模型`,"i18n.addProvider":`添加 Provider`,"i18n.selectProviderModel":`选择 Provider 或模型`,"i18n.visibleInPrompt":`在模型提示词中可见,点击以禁用`,"i18n.hiddenFromPrompt":`在模型提示词中隐藏,点击以启用`,"i18n.dormant":`休眠`,"i18n.hiddenButInvocable":`对模型隐藏,仍可手动调用`,"i18n.skillSearchPlaceholder":`例如 react、testing、deploy`,"i18n.searching":`搜索中…`,"i18n.noSkills":`未找到技能`,"i18n.checkUpdates":`检查更新`,"i18n.updates":`项更新`,"i18n.noResolvedResources":`没有已解析资源`,"i18n.enablePackage":`启用包`,"i18n.disablePackage":`禁用包`,"i18n.filtered":`已筛选`,"i18n.openSessionToReload":`打开会话后才能重新加载`,"i18n.notFound":`未找到`,"i18n.noPlugins":`未配置插件`,"i18n.scopeGlobal":`全局`,"i18n.scopeProject":`项目`,"i18n.scopePath":`路径`,"i18n.name":`名称`,"i18n.description":`描述`,"trust.resourcesNotLoaded":`受限模式`,"trust.trustProject":`信任项目`,"trust.trusting":`正在信任...`,"trust.cancel":`取消`,"trust.dialogTitle":`信任此项目?`,"trust.dialogBody":`项目资源可以运行本地代码。请仅信任你了解其内容的项目。`,"trust.skillsNotLoaded":`此项目尚未受信任,项目技能未加载。`,"trust.pluginsNotLoaded":`此项目尚未受信任,项目插件未加载。`,"trust.projectScopeUnavailable":`项目资源未加载时,无法安装到项目范围。`,"i18n.subscription":`订阅`,"i18n.subscriptions":`订阅服务`,"i18n.customEndpoint":`自定义端点格式`,"i18n.noChanges":`没有更改`,"i18n.branches":`对话分支`,"i18n.noActiveSession":`没有活动会话`,"i18n.noActiveSessionToCompact":`没有活动会话可压缩`,"i18n.noActiveSessionToReload":`没有活动会话可重新加载`,"i18n.noActiveSessionToName":`没有活动会话可命名`,"i18n.noAssistantMessageToCopy":`没有可复制的助手消息`,"i18n.commandCompleted":`命令已完成`,"i18n.commandFailed":`命令失败`,"i18n.extensionCommandFailed":`扩展命令失败`,"i18n.compactedContext":`上下文已压缩`,"i18n.reloadedSessionResources":`会话资源已重新加载`,"i18n.usageName":`用法:/name <名称>`,"i18n.sessionRenamedTo":`会话已重命名为 {name}`,"i18n.copiedLastAssistantMessage":`已复制最后一条助手消息`,"i18n.failedToRecallQueuedMessages":`恢复排队消息失败`,"i18n.queuedResendAfterAbortTimeout":`已打断,但排队消息未能自动重发,已放回输入框`,"i18n.noBranches":`此会话没有分支`,"i18n.source":`源代码`,"i18n.preview":`预览`,"i18n.diff":`Diff`,"i18n.downloadFile":`下载文件`,"i18n.liveSync":`实时同步已启用`,"i18n.notWatching":`未监视`,"i18n.fileViewMode":`文件视图模式`,"i18n.editMode":`编辑模式`,"i18n.viewMode":`查看模式`,"i18n.compareHead":`比较工作区与 HEAD`,"i18n.fileViewSource":`源码`,"i18n.fileViewPreview":`预览`,"i18n.fileViewDiff":`差异`,"i18n.fileViewSourceHint":`以源码形式查看`,"i18n.fileViewPreviewHint":`以渲染后的形式查看`,"i18n.previewUnsupported":`不支持预览当前格式:{format}`,"i18n.lineCount":`{n} 行`,"i18n.mentionSelectedLines":`提及所选行`,"i18n.disableWrap":`禁用自动换行`,"i18n.enableWrap":`启用自动换行`,"i18n.editFile":`编辑文件`,"i18n.saveFile":`保存`,"i18n.saveFileShortcut":`保存(Ctrl/Cmd+S)`,"i18n.cancelEdit":`取消`,"i18n.saveFailed":`保存失败:{error}`,"i18n.unsavedChanges":`有未保存的修改`,"i18n.htmlPreview":`HTML 预览`,"i18n.previewFile":`预览 {file}`,"i18n.invalidMermaid":`Mermaid 图表无效`,"i18n.renderingMermaid":`正在渲染 Mermaid 图表`,"i18n.previewAfterStreaming":`流式输出完成后可预览`,"i18n.showMermaidSource":`显示 Mermaid 源码`,"i18n.previewMermaid":`预览 Mermaid 图表`,"i18n.openMermaidViewer":`打开图表查看器`,"i18n.mermaidViewer":`Mermaid 图表查看器`,"i18n.mermaidDiagram":`Mermaid 图表`,"i18n.zoomOut":`缩小`,"i18n.zoomIn":`放大`,"i18n.fitToWidth":`适应宽度`,"models.discoveryFetching":`正在导入模型…`,"models.deleteProviderConfirm":`确定删除 provider「{name}」?该操作会立即写入 models.json,其全部配置(含 API key)将被移除且无法恢复。`,"models.renameProviderDialogTitle":`重命名 Provider`,"models.renameProviderHint":`重命名会立即写入 models.json,并同步迁移该 provider 的 API 密钥与登录凭证;其他未保存的修改不会一并保存。`,"models.renameProviderConflict":`Provider「{name}」已存在,请换一个名称。`,"models.renameProviderBuiltin":`「{name}」是内置 provider,不能作为自定义 provider 名。`,"models.renameProviderEmpty":`名称不能为空。`,"models.removeModelConfirm":`确定移除模型「{model}」?该操作会立即写入 models.json 且无法恢复。`,"models.discoveryTitle":`导入模型`,"models.discoveryFetch":`导入模型…`,"models.discoveryFilterPlaceholder":`筛选 {count} 个模型…`,"models.discoveryFilter":`筛选上游模型`,"models.discoverySelectShown":`选择当前结果`,"models.discoveryNoMatches":`没有匹配的模型。`,"models.discoveryAdded":`已添加`,"models.discoveryShowing":`显示前 {shown} 个,共 {total} 个`,"models.discoveryFetched":`已获取 {count} 个模型`,"models.discoveryAddSelected":`添加所选模型`,"models.setDefault":`设为默认`,"models.defaultModel":`默认模型`,"models.defaultModelUnavailable":`默认模型 {model} 不可用(已删除或已隐藏),请选择模型。`,"models.syncEndpoint":`从端点同步`,"models.lastSyncedAt":`上次同步:{time}`,"models.neverSynced":`未同步过`,"models.discoveryFetchTooltip":`优先从本地缓存导入:{path};无缓存时自动执行一次从端点同步并写入该缓存。`,"models.syncingModels":`同步中…`,"models.syncedModels":`已同步 {count} 个模型`,"models.syncEndpointTooltip":`从 {endpoint} 拉取最新模型列表并缓存到本地;有缓存时优先于内置列表使用。`,"models.syncEndpointTooltipGeneric":`从该供应商的 models 端点拉取最新模型列表并缓存到本地;有缓存时优先于内置列表使用。`,"models.refreshFromCache":`从同步缓存刷新`,"models.refreshing":`刷新中…`,"models.refreshFromCacheTooltip":`重新读取 pi-web/provider/{provider}/models.json,只更新与当前生效定义不同的字段(headers 等手动字段保留)。`,"models.refreshNoDiff":`同步缓存与当前生效定义一致,无需更新。`,"models.refreshDone":`已从同步缓存更新覆写字段。`,"models.refreshTimeout":`刷新超时,请稍后重试。`,"models.builtinProviders":`内置 Provider`,"models.customProviders":`自定义 Provider`,"models.syncSaveFailed":`同步前保存草稿失败,已中止同步。`,"models.visibleInChat":`聊天可见`,"models.lastVisibleCannotHide":`该模型是该提供方下唯一的可见模型,无法隐藏;如需全部隐藏,请删除该模型。`,"models.visibleModels":`模型列表`,"models.visibleModelsCount":`已勾选 {visible} / 共 {total}`,"models.visibilityCustomized":` · 已自定义`,"models.visibilityUncustomized":` · 未自定义(默认全部可见)`,"models.showAll":`重置`,"models.showAllHint":`所有模型可见`,"models.filterLabel":`筛选:`,"models.invertSelection":`反向勾选`,"models.searchModels":`搜索模型…`,"models.noModels":`该 provider 暂无模型。`,"models.noMatchingModels":`无匹配模型。`,"models.filterAll":`全部`,"models.filterVisible":`仅可见`,"models.filterHidden":`仅隐藏`,"models.invertDisabledTooltip":`所有模型均已可见,反选不会改变任何状态`,"models.openOverride":`覆写模型参数`,"models.overrideHint":`当前显示为合并后的有效值(内置定义 + 已保存的覆写)。只有你修改过的字段会作为覆写保存,其余字段继续继承内置定义。`,"models.overrideOrphanedHint":`该模型已从上游删除,覆写仍保留在本地。可在此删除覆写,保存后会一并清理可见性配置。`,"models.removeOverride":`移除覆写`,"models.providerNameCollision":`Provider "{provider}" 与内置 "{builtin}"(大小写不敏感)冲突,模型可见性无法生效,请重命名或删除该 provider。`,"models.providerNameCollisionShort":`与内置 provider 撞名`,"models.builtinVisibilityBlocked":`模型可见性已禁用:自定义 provider "{custom}" 与 "{builtin}"(大小写不敏感)冲突,请重命名或删除该自定义 provider。`,"models.discoveryAddSelectedCount":`添加所选模型({count})`,"models.dataSourceLabel":`数据来源:`,"models.catalogSourceEndpoint":`模型端点`,"models.catalogSourceDev":`models.dev 目录`,"models.catalogSourceEndpointTooltip":`数据来源:Provider 的 /models 端点`,"models.catalogSourceDevTooltip":`数据来源:models.dev 内置目录(https://models.dev)`,"models.catalogEndpointNotFound":`模型端点返回中未找到该模型 ID`,"models.catalogOverwriteTitle":`覆盖已有字段?`,"models.catalogOverwriteBody":`以下 {{count}} 个字段已有值,覆盖填入将修改它们:{{fields}}。取消则仅填充空字段。`,"models.catalogOverwriteConfirm":`覆盖并填入`,"models.catalogOverwriteCancel":`仅填空字段`,"models.catalogFilling":`正在填入模型信息…`,"models.catalogFill":`填入模型信息`,"models.catalogFilled":`已填入 {count} 个字段`,"models.catalogNoEmptyFields":`没有需要填入的空字段`,"models.catalogNoExactMatch":`models.dev 中没有精确匹配`,"models.catalogPriceProvider":`价格已匹配 Provider {provider}`,"models.catalogPriceBaseUrl":`价格已按 Base URL 匹配 {provider}`,"models.catalogPriceConsensus":`价格得到 {support}/{total} 条记录支持`,"models.catalogPriceUnreliable":`未找到可靠价格`,"models.catalogUndo":`撤销`,"models.baseUrl":`Base URL`,"models.apiKey":`API 密钥`,"models.api":`API 格式`,"models.modelId":`ID *`,"models.name":`名称`,"models.apiOverride":`API 格式`,"models.reasoningThinking":`推理 / 思考`,"models.inputFormat":`输入格式`,"models.inputFormatPlaceholder":`搜索添加,可多选(回车确认)`,"models.inputFormat.text":`文本`,"models.inputFormat.image":`图片`,"models.badgeReasoning":`支持思考 / 推理(聊天输入框可选思考级别)`,"models.badgeInput":`支持{format}输入`,"models.nameHint":`留空删除 name 字段(回落使用模型 id)。`,"models.apiOverrideHint":`留空或选默认删除 api 字段(回落使用 provider 默认 api)。`,"models.reasoningHint":`取消勾选删除 reasoning 字段(回落关闭)。`,"models.thinkingLevelMapHint":`每个级别三种状态:默认=删除该级别映射(回落模型默认级别);已禁用=写入 null 禁用;自定义=写入自定义级别字符串。`,"models.compatSection":`兼容性`,"models.compatInheritHint":`模型自身未设置的项显示从 provider 继承的生效值(以弱化颜色标注);在模型级设置后将覆盖继承值。`,"models.compatHint.supportsDeveloperRole":`是否使用 developer 角色发送系统提示(推理模型常用)。Ollama、vLLM、SGLang 等不支持该角色的服务器设为 false,改为发送 system 消息。`,"models.compatHint.supportsLongCacheRetention":`是否支持长缓存保留:GPT-5.6+ 用 prompt_cache_options.ttl(30m),旧 OpenAI 用 prompt_cache_retention(24h),Anthropic 格式用 cache_control.ttl(1h)。`,"models.compatHint.supportsUsageInStreaming":`流式响应是否支持 stream_options: {include_usage: true},用于统计 token 用量。`,"models.compatHint.supportsFinishReason":`流式响应是否包含 finish_reason。设为 false 时,pi 在流结束时自行推断 stop 或 toolUse。`,"models.compatHint.supportsEagerToolInputStreaming":`是否接受逐工具的 eager_input_streaming。设为 false 时省略该字段,改用旧版 fine-grained-tool-streaming beta 请求头。`,"models.compatHint.supportsCacheControlOnTools":`是否接受工具定义上的 Anthropic 风格 cache_control 标记(用于工具提示词缓存)。`,"models.compatHint.supportsTemperature":`是否接受 temperature 采样参数。Claude Opus 4.7+ 等拒绝非默认温度值的端点需设为 false。`,"models.compatHint.requiresToolResultName":`工具结果消息是否必须包含 name 字段(某些端点要求)。`,"models.compatHint.requiresAssistantAfterToolResult":`工具结果之后、下一条用户消息之前是否需要插入一条空 assistant 消息(某些端点要求)。`,"models.compatHint.requiresThinkingAsText":`是否将思考块转换为纯文本发送(用于不支持思考块的端点)。`,"models.compatHint.zaiToolStream":`z.ai 端点是否支持顶层 tool_stream: true 参数(流式工具调用增量)。`,"models.compatHint.supportsThinkingTokenBudget":`是否支持用顶层 thinking_token_budget 字段限制思考 token(vLLM 兼容端点)。`,"models.compatHint.supportsOpenAIGrammarTools":`OpenAI 兼容 API 是否支持 Lark/regex grammar 工具。设为 false 时,受语法约束的工具回退为普通 function 工具。`,"models.compatHint.supportsToolSearch":`模型是否支持客户端执行的工具搜索(用于延迟工具)。`,"models.compatHint.supportsExplicitPromptCacheMode":`是否接受 prompt_cache_options 参数(OpenAI GPT-5.6+ 提示缓存)。旧 OpenAI 模型会拒绝该参数。`,"models.compatHint.forceAdaptiveThinking":`是否强制 adaptive thinking(thinking.type: "adaptive" + output_config.effort)替代旧版 budget 思考格式。内置自适应模型会自动设置。`,"models.compatHint.allowEmptySignature":`是否将空思考签名重放为 signature: ""。仅对确实需要的 Anthropic 兼容端点开启;真正的 Anthropic API 拒绝空签名。`,"models.compatHint.supportsStrictTools":`端点是否接受 strict JSON-schema 工具定义(Anthropic)。内置 Anthropic 模型已启用。`,"models.compatHint.supportsStore":`OpenAI 端点是否支持 store 字段。`,"models.compatHint.supportsReasoningEffort":`端点是否支持 reasoning_effort 参数(Ollama、vLLM、SGLang 等常不支持)。`,"models.compatHint.supportsStrictMode":`端点是否接受 strict JSON-schema 函数工具定义。默认依 API 而定;内置 OpenAI 模型自带能力元数据。`,"models.compatHint.supportsToolReferences":`是否支持工具结果中的工具引用块。Anthropic 一方模型默认支持(Haiku 与 Claude 4.5 之前的模型除外)。`,"models.compatHint.maxTokensField":`最大输出 token 参数名:max_completion_tokens(新 API)或 max_tokens(旧 API)。`,"models.compatHint.sessionAffinityFormat":`会话亲和(缓存相关):把 session id 当亲和键发给端点,让同一会话的请求尽量命中同一个后端副本,以提高提示缓存命中率——Fireworks 等端点就是靠它做 prompt cache 路由,不开时同一会话的请求可能落到不同副本、缓存复用变差(不影响请求体的 prompt_cache_key,那由缓存保留策略决定)。pi 仅在 compat.sendSessionAffinityHeaders 为 true 时发送(openai-responses 只看格式),本下拉框会联动写入两个字段。auto=开启并按 URL 自动探测格式;off=显式关闭(模型级可覆盖 provider 的开启);openai=session_id/x-client-request-id/x-session-affinity;openai-nosession=x-client-request-id/x-session-affinity;openrouter=x-session-id。`,"models.compatHint.deferredToolsMode":`延迟工具的专用序列化格式。目前仅支持 kimi(Kimi 的 OpenAI 兼容 Chat Completions 格式)。`,"models.compatHint.cacheControlFormat":`提示缓存标记格式。目前仅支持 anthropic:在系统提示、最后一个工具定义及最后一条文本内容上添加 cache_control 标记。`,"models.inheritedFromProvider":`来自 provider(继承值,可在模型级覆盖)`,"models.thinkingFormatDeepseekHint":`选中 deepseek 时会额外写入 requiresReasoningContentOnAssistantMessages: true;选中其他值则移除。`,"models.samplingParams":`采样参数`,"models.headers":`请求头`,"models.modelOverrides":`模型覆盖`,"models.supportsDeveloperRole":`支持 developer role`,"models.supportsLongCacheRetention":`支持长缓存保留`,"models.supportsUsageInStreaming":`流式返回 token 用量`,"models.supportsFinishReason":`流式返回 finish_reason`,"models.supportsEagerToolInputStreaming":`工具输入流式预读`,"models.supportsCacheControlOnTools":`工具定义缓存控制`,"models.supportsTemperature":`支持 temperature 参数`,"models.requiresToolResultName":`工具结果需带 name`,"models.requiresAssistantAfterToolResult":`工具结果后需 assistant 消息`,"models.requiresThinkingAsText":`思考块转为文本`,"models.requiresReasoningContentOnAssistantMessages":`assistant 消息需 reasoning_content`,"models.zaiToolStream":`z.ai tool stream`,"models.supportsThinkingTokenBudget":`支持思考 token 预算`,"models.supportsOpenAIGrammarTools":`支持 OpenAI 语法工具`,"models.supportsToolSearch":`支持工具搜索`,"models.supportsExplicitPromptCacheMode":`显式提示缓存模式`,"models.forceAdaptiveThinking":`强制自适应思考`,"models.allowEmptySignature":`允许空思考签名`,"models.supportsStrictTools":`严格工具 schema`,"models.supportsStore":`支持 store 参数`,"models.supportsReasoningEffort":`支持 reasoning_effort`,"models.supportsStrictMode":`严格模式`,"models.supportsToolReferences":`支持工具引用`,"models.maxTokensField":`最大 token 字段`,"models.sessionAffinityFormat":`会话亲和`,"models.deferredToolsMode":`延迟工具模式`,"models.cacheControlFormat":`缓存控制格式`,"models.thinkingFormat":`思考格式`,"models.chatTemplateKwargs":`聊天模板 kwargs`,"models.chatTemplateArgs":`聊天模板 args`,"models.openRouterRouting":`OpenRouter 路由`,"models.vercelGatewayRouting":`Vercel 网关路由`,"models.thinkingLevelMap":`思考级别`,"models.thinkingLevelMapReset":`重置(清空)`,"models.thinkingLevelMapResetHint":`清空整个 thinkingLevelMap:off、minimal、low、medium、high 回落各自默认,xhigh、max 默认禁用。`,"models.thinkingLevelMapNone":`全部禁用`,"models.contextWindow":`上下文窗口(tokens)`,"models.maxOutputTokens":`最大输出 tokens`,"models.costPerMillion":`成本(每百万 tokens)`,"models.cost.input":`输入`,"models.cost.output":`输出`,"models.cost.cacheRead":`缓存读取`,"models.cost.cacheWrite":`缓存写入`,"models.costNotSet":`未设置`,"models.costAllRequired":`四项费率必须全部填写`,"models.costClear":`清除`,"models.apiKeyPlaceholder":`ENV_VAR_NAME、!shell-command 或字面密钥`,"models.apiKeyHint":`字面量密钥在保存时自动写入 auth.json(与 CLI /login 共享,优先于此处配置);以 ! 开头的 shell 命令和 $ENV 插值保留在 models.json。`,"models.authJsonConnected":`已通过 auth.json 提供密钥`,"models.authJsonRemove":`移除`,"models.apiKeyPrompt":`输入 {provider} 的 API 密钥以启用 {count} 个模型。`,"models.oauthAlreadyConnected":`已连接。可重新登录或断开连接。`,"models.oauthConnectPrompt":`连接你的 {provider} 账户。`,"models.enterValue":`输入值…`,"models.displayNamePlaceholder":`显示名称`,"models.connectionLost":`连接已断开`,"models.networkError":`网络错误`,"i18n.testingModel":`正在测试模型连接...`,"i18n.connected":`已连接`,"i18n.failed":`失败`,"i18n.test":`测试`,"i18n.testConnection":`测试模型连接`,"i18n.provider":`Provider`,"i18n.providers":`提供商`,"i18n.model":`模型`,"i18n.providerName":`Provider 名称`,"i18n.rename":`重命名`,"i18n.default":`默认`,"i18n.disabled":`已禁用`,"plugins.statusLoaded":`已加载并生效`,"plugins.statusInstalled":`已安装,尚未加载`,"plugins.statusDisabled":`已禁用`,"plugins.statusMissing":`已配置但包未找到`,"plugins.extensionFilters":`扩展过滤`,"plugins.filterRules":`过滤规则`,"plugins.managePlugins":`插件管理`,"plugins.extensionFiltersHint":`对 ~/.pi/agent/extensions/ 与 .pi/extensions/ 自动发现目录内扩展的过滤规则。仅以 !、+、- 开头的规则生效;纯路径填写无效。`,"plugins.noExtensionFilters":`未配置过滤规则`,"plugins.addFilter":`添加过滤`,"plugins.filterPatternLabel":`规则`,"plugins.filterPlaceholder":`!pattern · +path · -path`,"plugins.filterInvalid":`规则必须以 !、+ 或 - 开头;纯路径在 extensions 字段中无效。`,"plugins.filterPrefixExclude":`排除匹配的扩展`,"plugins.filterPrefixForceInclude":`强制包含精确路径`,"plugins.filterPrefixForceExclude":`强制排除精确路径`,"plugins.filterEffect":`效果`,"plugins.removeFilter":`移除过滤`,"plugins.npmSourcePlaceholder":`npm:@scope/package`,"plugins.scopeLabel":`安装至`,"plugins.scopeInstallHint.global":`点击立即安装至全局插件目录(~/.pi/agent/{npm,git})`,"plugins.scopeInstallHint.project":`点击立即安装至本项目(.pi/agent/{npm,git})`,"plugins.sourceLabel":`来源`,"plugins.scopeGlobal":`全局`,"plugins.scopeProject":`项目`,"plugins.examplesTitle":`示例`,"plugins.totalsSummary":`{extensions} 扩展 · {skills} 技能 · {prompts} 提示词 · {themes} 主题`,"plugins.diagnosticCount":`{n} 条诊断`,"plugins.packageInstalled":`包已安装。`,"plugins.packageUpdated":`包已更新。`,"plugins.packageRemoved":`包已移除。`,"plugins.packageDisabled":`包已禁用。`,"plugins.packageEnabled":`包已启用。`,"plugins.extensionFilterAdded":`扩展过滤已添加。`,"plugins.extensionFilterRemoved":`扩展过滤已移除。`,"plugins.sessionReloaded":`会话已重载。`,"i18n.noResources":`没有资源`,"i18n.unknown":`未知`,"i18n.installedVersion":`已安装 {version}`,"i18n.configuredVersion":`已配置 {version}`,"i18n.extensions":`扩展`,"i18n.prompts":`提示词`,"i18n.themes":`主题`,"i18n.resourceCount":`{count}{label}`,"i18n.extensionShort":`扩展`,"i18n.versionShort":`版本`,"i18n.skillShort":`技能`,"i18n.promptShort":`提示词`,"i18n.themeShort":`主题`,"i18n.custom":`自定义`,"i18n.clearAll":`清除全部`,"i18n.connectedSuccessfully":`连接成功。`,"i18n.notConnected":`未连接`,"i18n.configured":`已配置`,"i18n.notConfigured":`未配置`,"i18n.openingBrowser":`正在打开浏览器…`,"i18n.submit":`提交`,"i18n.login":`登录`,"i18n.relogin":`重新登录`,"i18n.disconnect":`断开连接`,"i18n.networkError":`网络错误`,"i18n.continuing":`继续中…`,"i18n.skills":`技能`,"i18n.plugins":`插件`,"i18n.addSkill":`添加技能`,"i18n.addPlugin":`添加插件`,"i18n.recommendedPlugins":`推荐插件`,"i18n.selectSkill":`选择技能`,"i18n.selectPackage":`选择包`,"i18n.configBindings":`绑定的配置文件`,"i18n.addBinding":`添加`,"i18n.configFileNote":`备注(可选)`,"i18n.bindConfigFile":`绑定配置文件`,"i18n.selectFile":`选择文件`,"i18n.noConfigBindings":`尚未绑定配置文件`,"i18n.noFiles":`没有文件`,"i18n.allFiles":`全部文件`,"i18n.filterByType":`按类型筛选`,"i18n.removeBinding":`删除绑定`,"i18n.confirm":`确认`,"i18n.updateAvailable":`有可用更新`,"i18n.upToDate":`已是最新`,"i18n.automaticChecksUnavailable":`自动检查不可用`,"i18n.checkFailed":`检查失败`,"i18n.installed":`已安装`,"i18n.status":`状态`,"i18n.version":`版本`,"i18n.package":`包`,"i18n.resources":`资源`,"i18n.installedPath":`安装路径`,"i18n.readme":`README`,"i18n.readmeDetails":`详情`,"i18n.unsafeLinkBlocked":`已阻止不安全链接(仅允许同目录或子目录的相对链接):{href}`,"i18n.resolvedResources":`已解析资源`,"i18n.reloadSession":`重新加载会话`,"i18n.reloading":`重新加载中...`,"i18n.packageRemoved":`包已移除。`,"i18n.packageInstalled":`包已安装。`,"i18n.packageUpdated":`包已更新。`,"i18n.packageDisabled":`包已禁用。`,"i18n.packageEnabled":`包已启用。`,"i18n.sessionReloaded":`会话已重新加载。`,"i18n.thinking":`思考`,"i18n.loadingThinking":`正在加载思考内容...`,"i18n.copyMessage":`复制消息`,"i18n.editFromHere":`从此处编辑`,"i18n.editFromHereTitle":`从此处编辑,此会话内创建分支`,"i18n.newSession":`新会话`,"i18n.newSessionTitle":`新会话,从此处创建独立副本`,"i18n.estimatedTokens":`流式输出期间的估算 Token 数`,"i18n.noOutput":`(无输出)`,"i18n.noSummary":`(无摘要)`,"i18n.conversationCompacted":`会话已压缩`,"i18n.compactionDescription":`此处之前的会话历史已压缩为以下摘要:`,"i18n.fileContext":`文件上下文:{details}`,"i18n.readFiles":`读取的文件`,"i18n.modifiedFiles":`修改的文件`,"i18n.hiddenExtensionMessage":`隐藏的扩展消息`,"i18n.noMessage":`(无消息)`,"i18n.collapse":`收起`,"i18n.expand":`展开`,"i18n.hideDetails":`隐藏详情`,"i18n.showDetails":`显示详情`,"i18n.thinkingUnavailable":`思考内容不可用`,"i18n.thinkingEncrypted":`思考内容已加密(提供方加密,仅用于上下文连续,无法显示明文)`,"i18n.before":`之前`,"i18n.after":`之后`}},v=new Map;function y(e){if(!e.id.trim())throw Error(`Locale id must not be empty`);if(v.has(e.id))throw Error(`Locale already registered: ${e.id}`);v.set(e.id,e)}function b(e){return v.get(e)}function x(){return[...v.keys()]}function S(e){for(let t of e){let e=t.toLowerCase();if(e===`en`||e.startsWith(`en-`))return`en`;if(e===`zh`||e.startsWith(`zh-`))return`zh-CN`}return`en`}y(g),y(_);var C=n((e=>{var t=Symbol.for(`react.transitional.element`),n=Symbol.for(`react.fragment`);function r(e,n,r){var i=null;if(r!==void 0&&(i=``+r),n.key!==void 0&&(i=``+n.key),`key`in n)for(var a in r={},n)a!==`key`&&(r[a]=n[a]);else r=n;return n=r.ref,{$$typeof:t,type:e,key:i,ref:n===void 0?null:n,props:r}}e.Fragment=n,e.jsx=r,e.jsxs=r})),w=n(((e,t)=>{t.exports=C()})),T=w(),E=`pi-locale`,D=`en`,O=(0,d.createContext)(null);function k(){return Object.fromEntries(x().flatMap(e=>{let t=b(e);return t?[[e,t.messages]]:[]}))}function A(){try{let e=window.localStorage.getItem(E);if(e===`en`||e===`zh-CN`)return e}catch{}return null}function j({children:e,initialLocale:t=null}){let[n,r]=(0,d.useState)(()=>typeof window>`u`?t??D:A()??t??S(window.navigator.languages.length?window.navigator.languages:[window.navigator.language])),i=(0,d.useMemo)(()=>x().map(e=>b(e)).filter(e=>!!e),[]),a=(0,d.useMemo)(()=>k(),[]),o=(0,d.useCallback)(e=>{if(b(e)){r(e),document.documentElement.lang=e;try{window.localStorage.setItem(E,e)}catch{}fetch(`/api/preferences`,{method:`PUT`,headers:{"Content-Type":`application/json`},body:JSON.stringify({firstPaint:{locale:e}})}).catch(e=>console.error(`[pi-web] save locale:`,e))}},[]),s=(0,d.useCallback)((e,t)=>m(n,e,a,t),[n,a]),c=(0,d.useMemo)(()=>({locale:n,setLocale:o,t:s,supportedLocales:i}),[n,o,s,i]);return(0,T.jsx)(O.Provider,{value:c,children:e})}function M(){let e=(0,d.useContext)(O);if(!e)throw Error(`useI18n must be used inside I18nProvider`);return e}var N=/\x1B(?:[@-Z\\-_]|\[[0-?]*[ -/]*[@-~]|\][^\x07]*(?:\x07|\x1B\\))/g,ee=/^\x1B(?:[@-Z\\-_]|\[[0-?]*[ -/]*[@-~]|\][^\x07]*(?:\x07|\x1B\\))/,te=/\x1B\[([0-9;]*)m/g,P=/\x1B_pi:c\x07/g,ne=[`#1f2937`,`#dc2626`,`#16a34a`,`#d97706`,`#2563eb`,`#9333ea`,`#0891b2`,`#6b7280`],re=[`#9ca3af`,`#ef4444`,`#22c55e`,`#f59e0b`,`#3b82f6`,`#a855f7`,`#06b6d4`,`#e5e7eb`];function ie(e){return e.replace(P,``).replace(N,``)}function ae(e){let t=[],n=0;for(;n<e.length;){if(e.charCodeAt(n)===27){let t=e.slice(n).match(ee);if(t){n+=t[0].length;continue}}let r=e.codePointAt(n);if(r===void 0)break;let i=String.fromCodePoint(r);t.push({start:n,end:n+i.length,char:i}),n+=i.length}return t}function oe(e,t){let n=ae(e)[t];return n?e.slice(0,n.start)+e.slice(n.end):e}function se(e){return ae(e)[0]?.char}function ce(e){let t=ae(e);for(let e=t.length-1;e>=0;e--)if(t[e].char.trim()!==``)return e;return-1}function le(e){let t=e;for(;;){let e=ae(t),n=e[e.length-1];if(n?.char.trim()!==``)return t;t=t.slice(0,n.start)+t.slice(n.end)}}function ue(e){let t=/^[┌├└╭╰][─┬┴┼]+[┐┤┘╮╯]$/,n=[];for(let r of e){let e=r.replace(P,``),i=ie(e).trimEnd();if(t.test(i))continue;let a=e,o=se(a);(o===`│`||o===`┃`)&&(a=oe(a,0),se(a)===` `&&(a=oe(a,0)));let s=ce(a),c=s>=0?ae(a)[s]?.char:void 0;(c===`│`||c===`┃`)&&(a=oe(a,s)),n.push(le(a))}for(;n.length>0&&ie(n[0]).trim()===``;)n.shift();for(;n.length>0&&ie(n[n.length-1]).trim()===``;)n.pop();return n.length?n:e}function de(e){if(e>=0&&e<8)return ne[e];if(e>=8&&e<16)return re[e-8];if(e>=16&&e<=231){let t=e-16,n=Math.floor(t/36),r=Math.floor(t%36/6),i=t%6,a=e=>e===0?0:55+e*40;return`rgb(${a(n)}, ${a(r)}, ${a(i)})`}if(e>=232&&e<=255){let t=8+(e-232)*10;return`rgb(${t}, ${t}, ${t})`}}var fe={0:e=>{for(let t of Object.keys(e))delete e[t]},1:e=>{e.fontWeight=700},2:e=>{e.opacity=.65},3:e=>{e.fontStyle=`italic`},4:e=>{e.textDecoration=`underline`},22:e=>{delete e.fontWeight,delete e.opacity},23:e=>{delete e.fontStyle},24:e=>{delete e.textDecoration},39:e=>{delete e.color},49:e=>{delete e.backgroundColor}},pe=[{min:30,max:37,target:`color`,palette:ne},{min:90,max:97,target:`color`,palette:re},{min:40,max:47,target:`backgroundColor`,palette:ne},{min:100,max:107,target:`backgroundColor`,palette:re}];function me(e,t,n,r){if(t!==38&&t!==48)return 0;if(n[r+1]===2){let[i,a,o]=[n[r+2],n[r+3],n[r+4]];if([i,a,o].every(e=>typeof e==`number`&&Number.isFinite(e))){let n=`rgb(${i}, ${a}, ${o})`;t===38?e.color=n:e.backgroundColor=n}return 4}if(n[r+1]===5){let i=de(n[r+2]);return i&&(t===38?e.color=i:e.backgroundColor=i),2}return 0}function he(e,t){let n={...e};for(let e=0;e<t.length;e++){let r=t[e],i=fe[r];if(i){i(n);continue}let a=!1;for(let e of pe)if(r>=e.min&&r<=e.max){n[e.target]=e.palette[r-e.min],a=!0;break}a||(e+=me(n,r,t,e))}return n}function ge(e){let t=[],n={},r=0,i;for(te.lastIndex=0;(i=te.exec(e))!==null;){i.index>r&&t.push({text:e.slice(r,i.index),style:n});let a=i[1]?i[1].split(`;`).map(e=>Number(e||`0`)):[0];n=he(n,a),r=i.index+i[0].length}return r<e.length&&t.push({text:e.slice(r),style:n}),t}function _e(){return typeof crypto<`u`&&typeof crypto.randomUUID==`function`?crypto.randomUUID():`${Date.now()}-${Math.random().toString(36).slice(2)}`}var ve={visible:[],pending:[],modals:[]};function ye(e){let t=e.type===`info`?`[pi] notice:`:`[pi] notice (${e.type}):`;e.type===`warning`?console.warn(t,e.message):e.type===`error`?console.error(t,e.message):console.info(t,e.message)}var be=new class{constructor(e=5){this.maxVisible=e,this.state=ve,this.listeners=new Set,this.noticeListeners=new Set,this.subscribe=e=>(this.listeners.add(e),()=>this.listeners.delete(e)),this.getSnapshot=()=>this.state,this.onNotice=e=>(this.noticeListeners.add(e),()=>this.noticeListeners.delete(e))}add(e){let t=e.message.trim();if(!t)return;let n={id:e.id??_e(),message:t,type:e.type??`info`,sessionId:e.sessionId??null};if(ye(n),e.log!==!1&&this.emit(n),this.state.visible.length>=this.maxVisible){this.set({...this.state,pending:[...this.state.pending,n]});return}this.set({...this.state,visible:[...this.state.visible,n]})}dismissToast(e){let t=this.state.visible.filter(t=>t.id!==e);if(t.length===this.state.visible.length)return;let n=t,r=this.state.pending;for(;r.length>0&&n.length<this.maxVisible;){let[e,...t]=r;n=[...n,e],r=t}this.set({visible:n,pending:r,modals:this.state.modals})}addModal(e){let t=e.message.trim();if(!t)return;let n={id:e.id??_e(),message:t,type:e.type??`warning`,sessionId:e.sessionId??null};ye(n),e.log!==!1&&this.emit(n),this.set({...this.state,modals:[...this.state.modals,n]})}dismissModal(e){this.set({...this.state,modals:this.state.modals.filter(t=>t.id!==e)})}set(e){(e.visible!==this.state.visible||e.pending!==this.state.pending||e.modals!==this.state.modals)&&(this.state=e,this.listeners.forEach(e=>e()))}emit(e){this.noticeListeners.forEach(t=>t(e))}},xe=!1,Se=performance.now();function Ce(e){xe=e,Se=performance.now(),xe&&Te(`boot`,`debug log enabled`)}function we(e){return(t,n)=>Te(e,t,n)}function Te(e,t,n){if(!xe)return;performance.now()-Se;let r=new Date,i=(e,t=2)=>String(e).padStart(t,`0`);`${i(r.getHours())}${i(r.getMinutes())}${i(r.getSeconds())}${i(r.getMilliseconds(),3)}`}function Ee(){if(!xe)return;let e=window.fetch;window.fetch=async(t,n)=>{let r=typeof t==`string`?t:t instanceof URL?t.href:t.url,i=n?.method??`GET`,a=performance.now();try{let o=await e(t,n);return Te(`fetch`,`${i} ${r}`,`${o.status} ${Math.round(performance.now()-a)}ms`),o}catch(e){throw Te(`fetch`,`${i} ${r}`,`failed ${Math.round(performance.now()-a)}ms`),e}}}var De=we(`ws-bus`),Oe=new Map,ke=new Map,Ae=3e4,je=75e3,Me=1e3,Ne=15e3,Pe=1,Fe=3,Ie=null,Le=0,Re=0,ze=Me,Be=!1,Ve=new Set,He=!1;function Ue(e){if(e===`disconnected`){if(He)return;He=!0}else{if(!He)return;He=!1}let t={status:e,at:Date.now()};for(let e of Ve)try{e(t)}catch{}}function We(e){return Ve.add(e),()=>Ve.delete(e)}function Ge(e){return e.ch===`agent`?`agent:${e.sessionId??``}`:e.ch===`watch`?`watch:${e.filePath??``}`:e.ch}function Ke(){return`${location.protocol===`https:`?`wss://`:`ws://`}${location.host}/api/ws`}function qe(e,t){e.send(JSON.stringify({type:`sub`,...t}))}function Je(){Ie&&Ie.close();let e=++Re,t;try{t=new WebSocket(Ke())}catch{Ue(`disconnected`),Ye(e);return}Ie=t,t.onopen=()=>{ze=Me,Le=Date.now(),Ue(`restored`),De(`open`,`${ke.size} subs replayed`);for(let e of ke.values())try{qe(t,e)}catch{break}},t.onmessage=n=>{if(e!==Re||Ie!==t||(Le=Date.now(),typeof n.data!=`string`))return;let r;try{r=JSON.parse(n.data)}catch{return}if(!r.ch){if(r.type===`ping`)try{t.send(JSON.stringify({type:`pong`}))}catch{}return}for(let e of Oe.get(r.ch)??[])e(r.data)},t.onclose=n=>{e===Re&&Ie===t&&(De(`close`,`code=${n?.code} wasClean=${n?.wasClean}`),Ie=null,Be||Ue(`disconnected`),Ye(e))},t.onerror=()=>De(`error`,`socket error (close follows)`)}function Ye(e){De(`reconnect`,`scheduled in ${ze}ms`),setTimeout(()=>{e!==Re||Ie||Je()},ze),ze=Math.min(ze*2,Ne)}function Xe(){if(!Ie||Ie.readyState!==Pe||Date.now()-Le<=je)return;De(`stale-rebuild`,`no frame for ${Math.round((Date.now()-Le)/1e3)}s`),Ue(`disconnected`),Re+=1;let e=Ie;Ie=null;try{e.close()}catch{}Je()}typeof window<`u`&&(setInterval(Xe,Ae),window.addEventListener(`pagehide`,()=>{Be=!0}),window.addEventListener(`online`,()=>{!Ie||Ie.readyState===Fe?Je():Xe()}),document.addEventListener(`visibilitychange`,()=>{document.visibilityState===`visible`&&(!Ie||Ie.readyState===Fe?Je():Xe())}));function Ze(e){if(e&&Ie?.readyState===Pe)try{Ie.send(JSON.stringify({type:`unseen`,sessionId:e}))}catch{}}function Qe(e,t){let n=Ge(e),r=Oe.get(n);r||(r=new Set,Oe.set(n,r)),r.add(t);let i=!ke.has(n);if(ke.set(n,e),Ie?.readyState===Pe&&i)try{qe(Ie,e)}catch{}else Ie||Je();return()=>{let e=Oe.get(n);if(e?.delete(t),e&&e.size===0&&(Oe.delete(n),ke.delete(n),Ie?.readyState===Pe))try{Ie.send(JSON.stringify({type:`unsub`,ch:n}))}catch{}}}if(typeof window<`u`){let e=[`connecting`,`open`,`closing`,`closed`];window.__wsBusStatus=()=>({state:Ie?e[Ie.readyState]:`disconnected`,lastFrameAgoSec:Le?Math.round((Date.now()-Le)/1e3):null,subs:[...ke.keys()],generation:Re})}var $e=`pi.notification-log.v1`;function et(){try{let e=window.sessionStorage.getItem($e);if(!e)return[];let t=JSON.parse(e);return Array.isArray(t)?t.filter(e=>e&&typeof e.message==`string`&&(e.notifyType===`info`||e.notifyType===`success`||e.notifyType===`warning`||e.notifyType===`error`)&&typeof e.createdAt==`number`):[]}catch{return[]}}function tt(e){try{window.sessionStorage.setItem($e,JSON.stringify(e))}catch{}}var nt=`reduced-motion`,rt=`pi.reduced-motion-notice.v1`,it=!1;function at(e){if(typeof window.matchMedia!=`function`||!window.matchMedia(`(prefers-reduced-motion: reduce)`).matches)return;let t=et();if(!t.some(e=>e.id===nt)){try{if(window.sessionStorage.getItem(rt))return;window.sessionStorage.setItem(rt,`1`)}catch{}tt([{id:nt,message:e(`reducedMotionNotice.message`),notifyType:`info`,sessionId:null,createdAt:Date.now()},...t].slice(0,50)),it=!0}}var ot=(0,d.createContext)(null);function st(e){return typeof e==`string`&&e?e:typeof crypto<`u`&&crypto.randomUUID?crypto.randomUUID():`${Date.now()}-${Math.random().toString(36).slice(2)}`}function ct({children:e}){let{t}=M(),[n]=(0,d.useState)(()=>{at(t);let e=et();return{entries:e,unread:it&&e.some(e=>e.id===nt)?1:0}}),[r,i]=(0,d.useState)(n.entries);(0,d.useEffect)(()=>{tt(r)},[r]);let[a,o]=(0,d.useState)(n.unread),s=(0,d.useCallback)(()=>o(0),[]);(0,d.useEffect)(()=>be.onNotice(e=>{let t={id:st(e.id),message:ie(e.message),notifyType:e.type,sessionId:e.sessionId??null,createdAt:Date.now()};i(e=>[t,...e].slice(0,50)),o(e=>e+1)}),[]);let[c,l]=(0,d.useState)(!1);(0,d.useEffect)(()=>We(e=>{l(e.status===`disconnected`),i(n=>[{id:`ws-health-${e.at}`,message:e.status===`disconnected`?t(`wsHealth.disconnected`):t(`wsHealth.restored`),notifyType:e.status===`disconnected`?`error`:`info`,sessionId:null,createdAt:e.at},...n].slice(0,50)),o(e=>e+1)}),[t]);let u=(0,d.useCallback)(e=>{i(t=>t.filter(t=>t.id!==e))},[]),f=(0,d.useCallback)(e=>{i(t=>e?t.filter(t=>t.sessionId!==e):[])},[]),p=(0,d.useMemo)(()=>({entries:r,unread:a,markRead:s,remove:u,clear:f}),[r,a,s,u,f]);return(0,T.jsxs)(ot.Provider,{value:p,children:[c&&(0,T.jsx)(`div`,{role:`status`,style:{position:`fixed`,top:0,left:0,right:0,zIndex:1e3,padding:`5px 12px`,textAlign:`center`,fontSize:`var(--text-sm)`,color:`var(--status-error)`,background:`color-mix(in srgb, var(--status-error) 12%, var(--bg))`,borderBottom:`1px solid color-mix(in srgb, var(--status-error) 40%, transparent)`},children:t(`wsHealth.disconnected`)}),e]})}function lt(){let e=(0,d.useContext)(ot);if(!e)throw Error(`useNotificationLog must be used within NotificationLogProvider`);return e}var ut=`(max-width: 640px)`;function dt(e){if(typeof window>`u`||!window.matchMedia)return()=>{};let t=window.matchMedia(ut);return t.addEventListener(`change`,e),()=>t.removeEventListener(`change`,e)}function ft(){return typeof window>`u`||!window.matchMedia?!1:window.matchMedia(ut).matches}function pt(){return!1}function mt(){return(0,d.useSyncExternalStore)(dt,ft,pt)}var ht=null;function gt(e){ht=e}function _t(e){let{onNewSession:t,activeCwd:n}=e;(0,d.useEffect)(()=>{let e=e=>{if(e.key===`Escape`){if(!ht)return;let t=e.target?.tagName;if(t===`TEXTAREA`||t===`INPUT`)return;e.preventDefault(),ht();return}if(e.key===`n`&&e.ctrlKey&&e.altKey){if(!n||!t)return;e.preventDefault(),t(n)}};return window.addEventListener(`keydown`,e),()=>window.removeEventListener(`keydown`,e)},[n,t])}function vt(){let[e,t]=(0,d.useState)(()=>typeof Notification>`u`?`unsupported`:Notification.permission);return(0,d.useEffect)(()=>{if(typeof Notification>`u`)return;let e=!1,n,r=()=>{e||t(Notification.permission)};return typeof navigator.permissions?.query==`function`&&navigator.permissions.query({name:`notifications`}).then(t=>{e||(n=t,r(),t.addEventListener(`change`,r))}).catch(()=>{}),()=>{e=!0,n?.removeEventListener(`change`,r)}},[]),e}function yt(e){let{fetcher:t,ttlMs:n=6e4}=e,r=null,i=null,a=0,o=null,s=new Set,c=()=>{for(let e of[...s])try{e()}catch{}},l=async e=>{try{let o=await t(e);return r=o,i=null,a=Date.now()+n,o}catch(e){throw i=e instanceof Error?e.message:String(e),e}finally{o=null}},u=e=>(o||=l(e).then(e=>(c(),e)),o),d=(e,t)=>new Promise((n,r)=>{if(e.aborted){r(new DOMException(`Aborted`,`AbortError`));return}let i=()=>r(new DOMException(`Aborted`,`AbortError`));e.addEventListener(`abort`,i,{once:!0}),t.then(n,r).finally(()=>e.removeEventListener(`abort`,i))});return{get:()=>r,getError:()=>i,load:e=>{if(r!==null&&Date.now()<a)return Promise.resolve(r);let t=u(!1);return e?d(e,t):t},refresh:e=>{a=0;let t=u(!0);return e?d(e,t):t},subscribe:e=>(s.add(e),()=>s.delete(e)),clear:()=>{r=null,i=null,a=0}}}async function bt(e,t){let n=await fetch(e,t);if(!n.ok)throw Error(`HTTP ${n.status}`);return await n.json()}function xt(){return`/api/sessions`}var St=yt({fetcher:()=>bt(`/api/models`)}),Ct=yt({fetcher:()=>bt(xt(),{cache:`no-store`})}),wt=yt({fetcher:()=>bt(`/api/preferences`)}),Tt=yt({fetcher:()=>bt(`/api/models-config`)}),Et=yt({fetcher:()=>bt(`/api/plugins/global`)}),Dt=null;function Ot(e){Dt=e}var kt=yt({fetcher:e=>{let t=Dt?`?cwd=${encodeURIComponent(Dt)}`:``;return bt(`/api/updates${t}${t?`&`:`?`}refresh=${e?`1`:`0`}`)}}),At=null;function jt(e){At=e}var Mt=yt({fetcher:()=>bt(`/api/mcp${At?`?cwd=${encodeURIComponent(At)}`:``}`)}),Nt=yt({fetcher:e=>bt(`/api/skills/global`,e?{cache:`no-store`}:void 0)}),Pt=yt({fetcher:e=>bt(`/api/commands/global`,e?{cache:`no-store`}:void 0)}),Ft=yt({fetcher:()=>bt(`/api/model-thinking`)}),It=yt({fetcher:async()=>{let[e,t]=await Promise.all([bt(`/api/auth/providers`),bt(`/api/auth/all-providers`)]);return{oauth:e.providers,apiKey:t.providers}}});function Lt(){return`/api/preferences`}var Rt=new Map,zt=2e3;function Bt(e,t){let n=JSON.stringify(e),r=Date.now(),i=Rt.get(n);if(i!==void 0&&r-i<zt)return;Rt.set(n,r);let a=t?.keepalive===!0,o=fetch(Lt(),{method:`PUT`,headers:{"Content-Type":`application/json`},keepalive:a,body:n}).catch(e=>console.error(`[pi-web] save preferences:`,e));a||o.finally(()=>{wt.refresh().catch(e=>console.error(`[pi-web] refresh preferences:`,e))})}function Vt(){let[e,t]=(0,d.useState)(()=>wt.get()?.defaultThinkingLevel??``);(0,d.useEffect)(()=>wt.subscribe(()=>t(wt.get()?.defaultThinkingLevel??``)),[]),(0,d.useEffect)(()=>{e&&Bt({firstPaint:{defaultThinkingLevel:e}})},[e]);let n=(0,d.useSyncExternalStore)(wt.subscribe,()=>wt.get()?.compaction??null),r=(0,d.useMemo)(()=>JSON.stringify(n),[n]);(0,d.useEffect)(()=>{r&&Bt({firstPaint:{compaction:wt.get()?.compaction??null}})},[r]);let i=(0,d.useSyncExternalStore)(wt.subscribe,()=>wt.get()?.retry??null),a=(0,d.useMemo)(()=>JSON.stringify(i),[i]);(0,d.useEffect)(()=>{a&&Bt({firstPaint:{retry:wt.get()?.retry??null}})},[a]);let[o,s]=(0,d.useState)(()=>wt.get()?.defaultProjectTrust??``);return(0,d.useEffect)(()=>wt.subscribe(()=>s(wt.get()?.defaultProjectTrust??``)),[]),(0,d.useEffect)(()=>{o&&Bt({firstPaint:{defaultProjectTrust:o}})},[o]),{defaultThinkingLevel:e,setDefaultThinkingLevel:t,compaction:n,retry:i,defaultProjectTrust:o,setDefaultProjectTrust:s}}var Ht=`pi-web-auto-reload-seconds`,Ut=3600;function Wt(e){let t=e.trim();if(t===``)return null;let n=Number(t);return!Number.isInteger(n)||n<0||n>3600?null:n}function Gt(){if(typeof window>`u`)return 0;let e=window.localStorage.getItem(Ht);if(e===null)return 0;let t=Wt(e);return t===null?0:t}var Kt=`pi-web-long-block-recent-expanded`;function qt(e){let t=e.trim();if(t===``)return null;let n=Number(t);return!Number.isFinite(n)||!Number.isInteger(n)||n<0||n>20?null:n}function Jt(){if(typeof window>`u`)return 0;try{return qt(window.localStorage.getItem(`pi-web-long-block-recent-expanded`)??``)??0}catch{return 0}}function Yt(e,t,n,r){return e===`toolCall`?`tool:${n}`:`thinking:${t}:${r}`}var Xt=`pi-web-notify-events`,Zt={taskComplete:!0,errors:!0,questions:!0,notifyWhileActive:!1};function Qt(){if(typeof window>`u`)return Zt;try{let e=window.localStorage.getItem(Xt);if(!e)return Zt;let t=JSON.parse(e);return{taskComplete:t.taskComplete??Zt.taskComplete,errors:t.errors??Zt.errors,questions:t.questions??Zt.questions,notifyWhileActive:t.notifyWhileActive??Zt.notifyWhileActive}}catch{return Zt}}function $t(e){window.localStorage.setItem(Xt,JSON.stringify(e))}var en=`pluginConfigBindings`;function tn(){if(typeof window>`u`)return{};try{let e=window.localStorage.getItem(en);if(!e)return{};let t=JSON.parse(e);if(t&&typeof t==`object`)return t}catch{}return{}}var nn=1e3,rn=`pi-web-scroll-step-px`;function an(e){let t=e.trim();if(t===``)return null;let n=Number(t);return!Number.isFinite(n)||!Number.isInteger(n)||n<1||n>1e3?null:n}function on(){if(typeof window>`u`)return 200;try{return an(window.localStorage.getItem(`pi-web-scroll-step-px`)??``)??200}catch{return 200}}var sn=`pi-web-font-scale`,cn=1,ln=19.2;function un(){let[e,t]=(0,d.useState)(()=>{if(typeof window>`u`)return cn;let e=window.localStorage.getItem(sn),t=e===null?NaN:Number(e);return Number.isFinite(t)&&t>=.85&&t<=1.3?t:cn}),[n,r]=(0,d.useState)(()=>on()),[i,a]=(0,d.useState)(()=>Gt()),[o,s]=(0,d.useState)(()=>Jt()),[c,l]=(0,d.useState)(()=>Qt());(0,d.useEffect)(()=>{$t(c),Bt({preferences:{notifyEvents:c}})},[c]);let[u,f]=(0,d.useState)(()=>tn()),p=(0,d.useCallback)((e,t)=>{f(n=>{let r=n[e]??[];return r.some(e=>e.path===t.path)?n:{...n,[e]:[...r,t]}})},[]),m=(0,d.useCallback)((e,t)=>{f(n=>{let r=n[e];if(!r)return n;let i=r.filter(e=>e.path!==t),a={...n};return i.length===0?delete a[e]:a[e]=i,a})},[]);return(0,d.useEffect)(()=>{try{window.localStorage.setItem(en,JSON.stringify(u))}catch{}Bt({preferences:{pluginConfigBindings:u}})},[u]),(0,d.useEffect)(()=>{try{window.localStorage.setItem(Ht,String(i))}catch{}Bt({preferences:{autoReloadSeconds:i}})},[i]),(0,d.useEffect)(()=>{try{window.localStorage.setItem(rn,String(n))}catch{}Bt({preferences:{minimapScrollStepPx:n}})},[n]),(0,d.useEffect)(()=>{try{window.localStorage.setItem(Kt,String(o))}catch{}Bt({preferences:{recentBlocksExpanded:o}})},[o]),(0,d.useEffect)(()=>{document.documentElement.style.fontSize=`${e*ln}px`;try{window.localStorage.setItem(sn,String(e))}catch{}Bt({firstPaint:{fontScale:e}})},[e]),{fontScale:e,setFontScale:t,scrollStepPx:n,setScrollStepPx:r,autoReloadSeconds:i,setAutoReloadSeconds:a,recentBlocksExpanded:o,setRecentBlocksExpanded:s,notifyEvents:c,setNotifyEvents:l,pluginConfigBindings:u,addPluginConfigBinding:p,removePluginConfigBinding:m}}var dn=[{label:{en:`Explore project`,"zh-CN":`阅读项目`},message:{en:`Explore the current project and summarize the overall directory structure and responsibilities of core modules.`,"zh-CN":`阅读当前项目,总结整体目录结构与核心模块的职责。`}},{label:{en:`Review workspace changes`,"zh-CN":`审查工作区改动`},message:{en:`Review all changes in the current workspace, point out potential issues and improvements.`,"zh-CN":`审查当前工作区的所有改动,指出潜在问题与改进点。`}},{label:{en:`Find and fix bugs`,"zh-CN":`寻找并修复bug`},message:{en:`Inspect the current codebase, find and fix existing bugs.`,"zh-CN":`检查当前代码,寻找并修复其中存在的 bug。`}}];function fn(e,t){return typeof e==`string`?e:t===`zh-CN`?e[`zh-CN`]??e.zh??e.en??``:e.en??e[`zh-CN`]??e.zh??``}function pn(e){let t=e.trim();return{en:t,"zh-CN":t}}function mn(e,t,n){let r=t.trim();if(typeof e==`string`){let t=e.trim();return n===`zh-CN`?{en:t,"zh-CN":r}:{en:r,"zh-CN":t}}let i=typeof e.en==`string`?e.en:``,a=e[`zh-CN`]??e.zh??i;return n===`zh-CN`?{en:i,"zh-CN":r}:{en:r,"zh-CN":a}}function hn(e,t){let n=fn(e,`en`),r=fn(e,`zh-CN`),i=fn(t,`en`),a=fn(t,`zh-CN`);return n===i||r===a}var gn={阅读项目:{en:`Explore project`,"zh-CN":`阅读项目`},review工作区改动:{en:`Review workspace changes`,"zh-CN":`review工作区改动`},寻找并修复bug:{en:`Find and fix bugs`,"zh-CN":`寻找并修复bug`},"阅读当前项目,总结整体目录结构与核心模块的职责。":{en:`Explore the current project and summarize the overall directory structure and responsibilities of core modules.`,"zh-CN":`阅读当前项目,总结整体目录结构与核心模块的职责。`},"review 当前工作区的所有改动,指出潜在问题与改进点。":{en:`Review all changes in the current workspace, point out potential issues and improvements.`,"zh-CN":`review 当前工作区的所有改动,指出潜在问题与改进点。`},"检查当前代码,寻找并修复其中存在的 bug。":{en:`Inspect the current codebase, find and fix existing bugs.`,"zh-CN":`检查当前代码,寻找并修复其中存在的 bug。`}};function _n(e){if(typeof e==`string`){let t=e.trim();return t===``?null:gn[t]??pn(t)}if(typeof e==`object`&&e){let t=e,n=t.en,r=t[`zh-CN`]??t.zh,i=typeof n==`string`?n.trim():``,a=typeof r==`string`?r.trim():``;return i===``&&a===``?null:{en:i===``?a:i,"zh-CN":a===``?i:a}}return null}function vn(e){if(!Array.isArray(e))return null;let t=[];for(let n of e){if(typeof n!=`object`||!n)continue;let{label:e,message:r,allowAppend:i}=n,a=_n(e),o=_n(r);if(!a||!o)continue;let s={label:a,message:o};i===!0&&(s.allowAppend=!0),t.push(s)}return t}function yn(e){if(typeof e!=`object`||!e||Array.isArray(e))return null;let t={};for(let[n,r]of Object.entries(e)){if(typeof n!=`string`||n===``)continue;let e=vn(r);e&&e.length>0&&(t[n]=e)}return t}function bn({put:e}){let[t,n]=(0,d.useState)(()=>vn(wt.get()?.preferences?.startScreenMessages)??dn),r=(0,d.useCallback)(e=>{if(t.some(t=>hn(t.label,e.label))){let t=typeof e.label==`string`?e.label:e.label?.en??e.label[`zh-CN`]??JSON.stringify(e.label);throw Error(`Name conflict: "${t}"`)}n(t=>[...t,e])},[t]),i=(0,d.useCallback)(e=>{n(t=>e<0||e>=t.length?t:t.filter((t,n)=>n!==e))},[]),a=(0,d.useCallback)((e,r)=>{if(t.some((t,n)=>n!==e&&hn(t.label,r.label))){let e=typeof r.label==`string`?r.label:r.label?.en??r.label[`zh-CN`]??JSON.stringify(r.label);throw Error(`Name conflict: "${e}"`)}n(t=>{if(e<0||e>=t.length)return t;let n=[...t];return n[e]=r,n})},[t]),o=(0,d.useCallback)(()=>{n(e=>{let t=e.filter(e=>!dn.some(t=>hn(t.label,e.label)));return[...dn,...t]})},[]);return(0,d.useEffect)(()=>wt.subscribe(()=>n(vn(wt.get()?.preferences?.startScreenMessages)??dn)),[]),(0,d.useEffect)(()=>{e({preferences:{startScreenMessages:t}})},[t,e]),{startScreenMessages:t,addStartScreenMessage:r,removeStartScreenMessage:i,updateStartScreenMessage:a,resetStartScreenMessages:o}}var xn=new Set;function Sn(){for(let e of[...xn])e()}function Cn(){document.visibilityState===`hidden`&&Sn()}function wn(e){return typeof window>`u`?()=>{}:(xn.size===0&&(window.addEventListener(`pagehide`,Sn),document.addEventListener(`visibilitychange`,Cn)),xn.add(e),()=>{xn.delete(e),xn.size===0&&(window.removeEventListener(`pagehide`,Sn),document.removeEventListener(`visibilitychange`,Cn))})}function Tn(e){return typeof e==`number`&&Number.isFinite(e)}function En(e){if(typeof e!=`object`||!e)return null;let{x:t,y:n,width:r,height:i,collapsed:a}=e;return!Tn(t)||!Tn(n)||!Tn(r)||r<=0||!Tn(i)||i<=0?null:{x:t,y:n,width:r,height:i,collapsed:typeof a==`boolean`?a:void 0}}function Dn(e){if(typeof e!=`object`||!e||Array.isArray(e))return null;let t={};for(let[n,r]of Object.entries(e)){if(typeof n!=`string`||n===``)continue;let e=En(r);e&&(t[n]=e)}return t}function On(e){return Array.isArray(e)?e.filter(e=>typeof e==`string`):[]}function kn({put:e}){let[t,n]=(0,d.useState)(()=>Dn(wt.get()?.preferences?.widgets)??{}),r=(0,d.useRef)(!1),[i,a]=(0,d.useState)(()=>yn(wt.get()?.preferences?.widgetMessages)??{}),[o,s]=(0,d.useState)(()=>On(wt.get()?.preferences?.workspaces));(0,d.useEffect)(()=>{let e=!1;return wt.load().then(()=>{if(e)return;r.current=!0;let t=wt.get()?.preferences;n(Dn(t?.widgets)??{}),a(yn(t?.widgetMessages)??{}),s(On(t?.workspaces))}).catch(()=>{r.current=!0}),()=>{e=!0}},[]);let c=(0,d.useCallback)((e,t)=>{n(n=>{let r=n[e];return r&&r.x===t.x&&r.y===t.y&&r.width===t.width&&r.height===t.height&&r.collapsed===t.collapsed?n:{...n,[e]:t}})},[]),l=(0,d.useRef)(null);(0,d.useEffect)(()=>()=>{l.current!==null&&clearTimeout(l.current)},[]),(0,d.useEffect)(()=>{if(!r.current)return;l.current!==null&&clearTimeout(l.current);let n=n=>e({preferences:{widgets:t}},{keepalive:n});return l.current=window.setTimeout(()=>{l.current=null,n(!1)},500),wn(()=>{l.current!==null&&(clearTimeout(l.current),l.current=null,n(!0))})},[t,e]);let u=(0,d.useCallback)((e,t)=>{if((i[e]??[]).some(e=>hn(e.label,t.label))){let e=typeof t.label==`string`?t.label:t.label?.en??t.label[`zh-CN`]??JSON.stringify(t.label);throw Error(`Name conflict: "${e}"`)}a(n=>({...n,[e]:[...n[e]??[],t]}))},[i,a]),f=(0,d.useCallback)((e,t)=>{a(n=>{let r=n[e];if(!r||t<0||t>=r.length)return n;let i={...n},a=r.filter((e,n)=>n!==t);return a.length===0?delete i[e]:i[e]=a,i})},[a]),p=(0,d.useCallback)((e,t,n)=>{if((i[e]??[]).some((e,r)=>r!==t&&hn(e.label,n.label))){let e=typeof n.label==`string`?n.label:n.label?.en??n.label[`zh-CN`]??JSON.stringify(n.label);throw Error(`Name conflict: "${e}"`)}a(r=>{let i=r[e];if(!i||t<0||t>=i.length)return r;let a={...r},o=[...i];return o[t]=n,a[e]=o,a})},[i,a]);return(0,d.useEffect)(()=>{r.current&&e({preferences:{widgetMessages:i}})},[i,e]),{widgetGeometries:t,widgetMessages:i,savedWorkspaces:o,setWidgetGeometry:c,addWidgetMessage:u,removeWidgetMessage:f,updateWidgetMessage:p,handleSavedWorkspacesChange:(0,d.useCallback)(t=>{s(t),e({preferences:{workspaces:t}})},[s,e])}}function An({isDark:e,toggleTheme:t}){let{fontScale:n,setFontScale:r,scrollStepPx:i,setScrollStepPx:a,autoReloadSeconds:o,setAutoReloadSeconds:s,recentBlocksExpanded:c,setRecentBlocksExpanded:l,notifyEvents:u,setNotifyEvents:f,pluginConfigBindings:p,addPluginConfigBinding:m,removePluginConfigBinding:h}=un(),{widgetGeometries:g,widgetMessages:_,savedWorkspaces:v,setWidgetGeometry:y,addWidgetMessage:b,removeWidgetMessage:x,updateWidgetMessage:S,handleSavedWorkspacesChange:C}=kn({put:Bt}),{startScreenMessages:w,addStartScreenMessage:T,removeStartScreenMessage:E,updateStartScreenMessage:D,resetStartScreenMessages:O}=bn({put:Bt}),{defaultThinkingLevel:k,setDefaultThinkingLevel:A,compaction:j,retry:M,defaultProjectTrust:N,setDefaultProjectTrust:ee}=Vt();return wt.load().catch(e=>console.error(`[pi-web] load preferences:`,e)),{settingsValue:(0,d.useMemo)(()=>({isDark:e,toggleTheme:t,fontScale:n,setFontScale:r,scrollStepPx:i,setScrollStepPx:a,autoReloadSeconds:o,setAutoReloadSeconds:s,recentBlocksExpanded:c,setRecentBlocksExpanded:l,notifyEvents:u,setNotifyEvents:f,widgetGeometries:g,setWidgetGeometry:y,widgetMessages:_,addWidgetMessage:b,removeWidgetMessage:x,updateWidgetMessage:S,startScreenMessages:w,addStartScreenMessage:T,removeStartScreenMessage:E,updateStartScreenMessage:D,resetStartScreenMessages:O,pluginConfigBindings:p,addPluginConfigBinding:m,removePluginConfigBinding:h}),[e,t,n,i,o,c,u,g,y,_,b,x,S,w,T,E,D,O,p,m,h,s,r,f,l,a]),defaultThinkingLevel:k,setDefaultThinkingLevel:A,compaction:j,retry:M,defaultProjectTrust:N,setDefaultProjectTrust:ee,savedWorkspaces:v,handleSavedWorkspacesChange:C,widgetGeometries:g,setWidgetGeometry:y,widgetMessages:_,addWidgetMessage:b,removeWidgetMessage:x,updateWidgetMessage:S,fontScale:n,setFontScale:r}}function jn({projectTrustCwd:e,onTrusted:t}){let[n,r]=(0,d.useState)(null),[i,a]=(0,d.useState)(!1),[o,s]=(0,d.useState)(!1),[c,l]=(0,d.useState)(null);return(0,d.useEffect)(()=>{if(r(null),a(!1),l(null),!e)return;let t=new AbortController,n=new URLSearchParams(window.location.search).get(`piE2eTrustCwd`);return fetch(`/api/project-trust?cwd=${encodeURIComponent(e)}${n?`&piE2eTrustCwd=${encodeURIComponent(n)}`:``}`,{signal:t.signal}).then(async e=>{let t=await e.json();if(!e.ok||t.error)throw Error(t.error??`HTTP ${e.status}`);r(t)}).catch(e=>{e instanceof DOMException&&e.name===`AbortError`||console.error(`Failed to load project trust:`,e)}),()=>t.abort()},[e]),{projectTrust:n,projectTrustDialogOpen:i,setProjectTrustDialogOpen:a,projectTrustBusy:o,projectTrustError:c,setProjectTrustError:l,handleTrustProject:(0,d.useCallback)(async()=>{if(!(!e||o)){s(!0),l(null);try{let n=await fetch(`/api/project-trust`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({cwd:e})}),i=await n.json();if(!n.ok||i.error)throw Error(i.error??`HTTP ${n.status}`);r(i),a(!1),t?.()}catch(e){l(e instanceof Error?e.message:String(e))}finally{s(!1)}}},[o,e,t])}}var Mn=class extends Error{constructor(e,t,n){super(e),this.name=`ApiError`,this.status=t,this.body=n}},Nn=[],Pn=1,Fn=new Set;function In(){for(let e of Fn)e()}function Ln(e){return Fn.add(e),()=>{Fn.delete(e)}}function Rn(){return Nn}function zn(e){let t={id:Pn++,label:e??``};Nn=[...Nn,t],In();let n=!1;return()=>{n||(n=!0,Nn=Nn.filter(e=>e.id!==t.id),In())}}var Bn=new WeakMap;function Vn(e){if(!e.isConnected)return()=>{};let t=Bn.get(e);if(!t){let n=document.createElement(`div`);n.style.cssText=`position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:color-mix(in srgb, var(--bg) 50%, transparent);z-index:5;`,n.innerHTML=`<div style="width:16px;height:16px;border:2px solid var(--border);border-top-color:var(--text-dim);border-radius:50%;animation:spin 0.8s linear infinite;"></div>`;let r=null;getComputedStyle(e).position===`static`&&(r=e.style.position,e.style.position=`relative`),e.appendChild(n),t={count:0,el:n,prevPosition:r},Bn.set(e,t)}t.count++;let n=!1;return()=>{n||(n=!0,t.count--,t.count<=0&&(t.el.remove(),t.prevPosition!==null&&(t.prevPosition?e.style.position=t.prevPosition:e.style.removeProperty(`position`)),Bn.delete(e)))}}async function Hn(e){try{return await e.json()}catch{return null}}function Un(e,t){return e===`fullscreen`?zn(t):e instanceof HTMLElement?Vn(e):null}function Wn(e,t){return e instanceof Error?e.message:t}function Gn(e,t){return e&&typeof e==`object`&&`error`in e&&typeof e.error==`string`?e.error:`HTTP ${t}`}async function Kn(e,t,n){let r=Un(n?.loading??`fullscreen`,n?.label);try{let n;try{n=await fetch(e,t)}catch(e){throw new Mn(Wn(e,`Network error`),0)}if(!n.ok){let e=await Hn(n);throw new Mn(Gn(e,n.status),n.status,e)}let r=await n.text();return r?JSON.parse(r):void 0}catch(e){throw e instanceof Mn?e:new Mn(Wn(e,String(e)),0)}finally{r?.()}}var qn=e=>window.history.replaceState(null,``,e);function Jn(e){let{selectedSession:t,setSelectedSession:n,setNewSessionCwd:r,setSessionKey:i,setRefreshKey:a,hydrateSelectedSession:o,extensionDialogActiveRef:s,suppressCwdBumpRef:c,setInitialSessionRestored:l,onSessionSelected:u,onTopPanelReset:f}=e,p=(0,d.useCallback)((e,t=!1)=>{!t&&s.current||(r(null),n(e),i(e=>e+1),l(!0),t&&(c.current=!0),t||qn(`?session=${encodeURIComponent(e.id)}`),u?.(t))},[s,c,r,n,i,l,u]),m=(0,d.useCallback)(async(e,t)=>{await Kn(`/api/cwd/validate`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({cwd:t})},{loading:`silent`}),n(null),r(t),i(e=>e+1),f?.(),u?.(!1),qn(`/`)},[u,f,r,n,i]),h=(0,d.useCallback)(e=>{r(null),n(e),a(e=>e+1),o(e.id),qn(`?session=${encodeURIComponent(e.id)}`)},[o,r,a,n]),g=(0,d.useCallback)(()=>{l(!0)},[l]);return{handleSelectSession:p,handleNewSession:m,handleSessionCreated:h,handleSessionForked:(0,d.useCallback)(e=>{a(e=>e+1),i(e=>e+1),r(null),n(t=>({...t??{path:``,cwd:``,created:``,modified:``,messageCount:0,firstMessage:``},id:e})),o(e),qn(`?session=${encodeURIComponent(e)}`)},[o,r,a,n,i]),handleSessionDeleted:(0,d.useCallback)(e=>{if(a(e=>e+1),t?.id===e){let e=t.cwd;n(null),r(e??null),i(e=>e+1),f?.(),qn(`/`)}},[t,f,r,a,n,i]),handleInitialRestoreDone:g}}function Yn(){let[e,t]=(0,d.useState)(0),[n,r]=(0,d.useState)(0),[i,a]=(0,d.useState)(0),[o,s]=(0,d.useState)(0);return{refreshKey:e,setRefreshKey:t,sessionKey:n,setSessionKey:r,explorerRefreshKey:i,setExplorerRefreshKey:a,modelsRefreshKey:o,setModelsRefreshKey:s,handleAgentEnd:(0,d.useCallback)(()=>{t(e=>e+1),a(e=>e+1)},[]),handleExplorerRefresh:(0,d.useCallback)(()=>{a(e=>e+1)},[])}}var Xn=e=>window.history.replaceState(null,``,e);function Zn({initialNavigation:e,onProjectSwitch:t,onSessionSelected:n,onTopPanelReset:r}){let[i,a]=(0,d.useState)(null),[o,s]=(0,d.useState)(null),[c,l]=(0,d.useState)(()=>e.requestedCwd?`validating`:`idle`),[u,f]=(0,d.useState)(null),{refreshKey:p,setRefreshKey:m,sessionKey:h,setSessionKey:g,explorerRefreshKey:_,setExplorerRefreshKey:v,modelsRefreshKey:y,setModelsRefreshKey:b,handleAgentEnd:x,handleExplorerRefresh:S}=Yn(),[C,w]=(0,d.useState)(()=>!e.sessionId),[T,E]=(0,d.useState)(null),D=(0,d.useRef)(null),O=(0,d.useRef)(!1),k=(0,d.useRef)(!1);(0,d.useEffect)(()=>{let t=e.requestedCwd;if(!t)return;let n=new AbortController;return l(`validating`),f(null),fetch(`/api/cwd/validate`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({cwd:t}),signal:n.signal}).then(async e=>{let t=await e.json().catch(()=>({}));if(!e.ok||!t.cwd)throw Error(t.error??`HTTP ${e.status}`);O.current=!0,s(t.cwd),l(`ready`)}).catch(e=>{n.signal.aborted||(f(e instanceof Error?e.message:String(e)),l(`error`))}),()=>n.abort()},[e]);let A=o??(i===null&&T?T:null),j=i!==null||A!==null,M=i?.cwd??A,{projectTrust:N,projectTrustDialogOpen:ee,setProjectTrustDialogOpen:te,projectTrustBusy:P,projectTrustError:ne,setProjectTrustError:re,handleTrustProject:ie}=jn({projectTrustCwd:M,onTrusted:()=>{b(e=>e+1),g(e=>e+1)}}),{handleSelectSession:ae,handleNewSession:oe,handleSessionCreated:se,handleSessionForked:ce,handleSessionDeleted:le,handleInitialRestoreDone:ue}=Jn({selectedSession:i,setSelectedSession:a,setNewSessionCwd:s,setSessionKey:g,setRefreshKey:m,hydrateSelectedSession:(0,d.useCallback)(e=>{Ct.load().then(t=>{let n=t.sessions.find(t=>t.id===e);n&&a(t=>t&&t.id===e&&!t.projectRoot?n:t)}).catch(e=>console.error(`[pi-web] hydrate session:`,e))},[]),extensionDialogActiveRef:k,suppressCwdBumpRef:O,setInitialSessionRestored:w,onSessionSelected:n,onTopPanelReset:r});return{selectedSession:i,setSelectedSession:a,newSessionCwd:o,effectiveNewSessionCwd:A,showChat:j,projectTrustCwd:M,refreshKey:p,setRefreshKey:m,explorerRefreshKey:_,setExplorerRefreshKey:v,modelsRefreshKey:y,setModelsRefreshKey:b,sessionKey:h,activeCwd:T,initialCwdStatus:c,initialCwdError:u,initialSessionRestored:C,projectTrust:N,projectTrustDialogOpen:ee,setProjectTrustDialogOpen:te,projectTrustBusy:P,projectTrustError:ne,setProjectTrustError:re,extensionDialogActiveRef:k,handleSelectSession:ae,handleNewSession:oe,handleSessionCreated:se,handleAgentEnd:x,handleSessionForked:ce,handleSessionDeleted:le,handleSessionUnseen:(0,d.useCallback)(e=>{i?.id===e&&(a(null),g(e=>e+1),r?.(),Xn(`/`))},[i,r,g]),handleCwdChange:(0,d.useCallback)((e,n)=>{if(E(e),!e)return;let r=n??e,o=D.current??(i?i.projectRoot??i.cwd:null);if(!o){D.current=r;return}if(D.current=r,O.current){O.current=!1;return}o!==r&&(i?i.projectRoot??i.cwd:null)!==r&&(a(null),s(t=>t&&t!==e?null:t),g(e=>e+1),t?.())},[i,t,s,g,a]),handleTrustProject:ie,handleExplorerRefresh:S,handleInitialRestoreDone:ue}}var Qn=(0,d.createContext)(null);function $n({value:e,children:t}){return(0,T.jsx)(Qn.Provider,{value:e,children:t})}function er(){let e=(0,d.useContext)(Qn);if(!e)throw Error(`useSettings must be used within SettingsProvider`);return e}function tr(){return(0,d.useContext)(Qn)}var nr=(...e)=>e.filter((e,t,n)=>!!e&&e.trim()!==``&&n.indexOf(e)===t).join(` `).trim(),rr=e=>e.replace(/([a-z0-9])([A-Z])/g,`$1-$2`).toLowerCase(),ir=e=>e.replace(/^([A-Z])|[\s-_]+(\w)/g,(e,t,n)=>n?n.toUpperCase():t.toLowerCase()),ar=e=>{let t=ir(e);return t.charAt(0).toUpperCase()+t.slice(1)},or={xmlns:`http://www.w3.org/2000/svg`,width:24,height:24,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:2,strokeLinecap:`round`,strokeLinejoin:`round`},sr=e=>{for(let t in e)if(t.startsWith(`aria-`)||t===`role`||t===`title`)return!0;return!1},cr=(0,d.createContext)({}),lr=()=>(0,d.useContext)(cr),ur=(0,d.forwardRef)(({color:e,size:t,strokeWidth:n,absoluteStrokeWidth:r,className:i=``,children:a,iconNode:o,...s},c)=>{let{size:l=24,strokeWidth:u=2,absoluteStrokeWidth:f=!1,color:p=`currentColor`,className:m=``}=lr()??{},h=r??f?Number(n??u)*24/Number(t??l):n??u;return(0,d.createElement)(`svg`,{ref:c,...or,width:t??l??or.width,height:t??l??or.height,stroke:e??p,strokeWidth:h,className:nr(`lucide`,m,i),...!a&&!sr(s)&&{"aria-hidden":`true`},...s},[...o.map(([e,t])=>(0,d.createElement)(e,t)),...Array.isArray(a)?a:[a]])}),dr=(e,t)=>{let n=(0,d.forwardRef)(({className:n,...r},i)=>(0,d.createElement)(ur,{ref:i,iconNode:t,className:nr(`lucide-${rr(ar(e))}`,`lucide-${e}`,n),...r}));return n.displayName=ar(e),n},fr=dr(`arrow-down`,[[`path`,{d:`M12 5v14`,key:`s699le`}],[`path`,{d:`m19 12-7 7-7-7`,key:`1idqje`}]]),pr=dr(`arrow-up`,[[`path`,{d:`m5 12 7-7 7 7`,key:`hav0vg`}],[`path`,{d:`M12 19V5`,key:`x0mq9r`}]]),mr=dr(`check`,[[`path`,{d:`M20 6 9 17l-5-5`,key:`1gmf2c`}]]),hr=dr(`chevron-down`,[[`path`,{d:`m6 9 6 6 6-6`,key:`qrunsl`}]]),gr=dr(`chevron-right`,[[`path`,{d:`m9 18 6-6-6-6`,key:`mthhwq`}]]),_r=dr(`chevron-up`,[[`path`,{d:`m18 15-6-6-6 6`,key:`153udz`}]]),vr=dr(`circle-arrow-up`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`path`,{d:`m16 12-4-4-4 4`,key:`177agl`}],[`path`,{d:`M12 16V8`,key:`1sbj14`}]]),yr=dr(`circle-check`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`path`,{d:`m16 9-5.5 5.5L8 12`,key:`xofnsj`}]]),br=dr(`circle-question-mark`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`path`,{d:`M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3`,key:`1u773s`}],[`path`,{d:`M12 17h.01`,key:`p32p05`}]]),xr=dr(`circle-x`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`path`,{d:`m15 9-6 6`,key:`1uzhvr`}],[`path`,{d:`m9 9 6 6`,key:`z0biqf`}]]),Sr=dr(`clock`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`path`,{d:`M12 6v6l4 2`,key:`mmk7yg`}]]),Cr=dr(`cloud-download`,[[`path`,{d:`M12 13v8l-4-4`,key:`1f5nwf`}],[`path`,{d:`m12 21 4-4`,key:`1lfcce`}],[`path`,{d:`M4.393 15.269A7 7 0 1 1 15.71 8h1.79a4.5 4.5 0 0 1 2.436 8.284`,key:`ui1hmy`}]]),wr=dr(`cloud-upload`,[[`path`,{d:`M12 13v8`,key:`1l5pq0`}],[`path`,{d:`M4 14.899A7 7 0 1 1 15.71 8h1.79a4.5 4.5 0 0 1 2.5 8.242`,key:`1pljnt`}],[`path`,{d:`m8 17 4-4 4 4`,key:`1quai1`}]]),Tr=dr(`copy`,[[`rect`,{width:`14`,height:`14`,x:`8`,y:`8`,rx:`2`,ry:`2`,key:`17jyea`}],[`path`,{d:`M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2`,key:`zix9uf`}]]),Er=dr(`corner-up-left`,[[`path`,{d:`M20 20v-7a4 4 0 0 0-4-4H4`,key:`1nkjon`}],[`path`,{d:`M9 14 4 9l5-5`,key:`102s5s`}]]),Dr=dr(`cpu`,[[`path`,{d:`M12 20v2`,key:`1lh1kg`}],[`path`,{d:`M12 2v2`,key:`tus03m`}],[`path`,{d:`M17 20v2`,key:`1rnc9c`}],[`path`,{d:`M17 2v2`,key:`11trls`}],[`path`,{d:`M2 12h2`,key:`1t8f8n`}],[`path`,{d:`M2 17h2`,key:`7oei6x`}],[`path`,{d:`M2 7h2`,key:`asdhe0`}],[`path`,{d:`M20 12h2`,key:`1q8mjw`}],[`path`,{d:`M20 17h2`,key:`1fpfkl`}],[`path`,{d:`M20 7h2`,key:`1o8tra`}],[`path`,{d:`M7 20v2`,key:`4gnj0m`}],[`path`,{d:`M7 2v2`,key:`1i4yhu`}],[`rect`,{x:`4`,y:`4`,width:`16`,height:`16`,rx:`2`,key:`1vbyd7`}],[`rect`,{x:`8`,y:`8`,width:`8`,height:`8`,rx:`1`,key:`z9xiuo`}]]),Or=dr(`download`,[[`path`,{d:`M12 15V3`,key:`m9g1x1`}],[`path`,{d:`M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4`,key:`ih7n3h`}],[`path`,{d:`m7 10 5 5 5-5`,key:`brsn70`}]]),kr=dr(`ellipsis`,[[`circle`,{cx:`12`,cy:`12`,r:`1`,key:`41hilf`}],[`circle`,{cx:`19`,cy:`12`,r:`1`,key:`1wjl8i`}],[`circle`,{cx:`5`,cy:`12`,r:`1`,key:`1pcz8c`}]]),Ar=dr(`expand`,[[`path`,{d:`m15 15 6 6`,key:`1s409w`}],[`path`,{d:`m15 9 6-6`,key:`ko1vev`}],[`path`,{d:`M21 16v5h-5`,key:`1ck2sf`}],[`path`,{d:`M21 8V3h-5`,key:`1qoq8a`}],[`path`,{d:`M3 16v5h5`,key:`1t08am`}],[`path`,{d:`m3 21 6-6`,key:`wwnumi`}],[`path`,{d:`M3 8V3h5`,key:`1ln10m`}],[`path`,{d:`M9 9 3 3`,key:`v551iv`}]]),jr=dr(`eye`,[[`path`,{d:`M2.062 12.348a1 1 0 0 1 0-.696 10.75 10.75 0 0 1 19.876 0 1 1 0 0 1 0 .696 10.75 10.75 0 0 1-19.876 0`,key:`1nclc0`}],[`circle`,{cx:`12`,cy:`12`,r:`3`,key:`1v7zrd`}]]),Mr=dr(`eye-off`,[[`path`,{d:`M10.733 5.076a10.744 10.744 0 0 1 11.205 6.575 1 1 0 0 1 0 .696 10.747 10.747 0 0 1-1.444 2.49`,key:`ct8e1f`}],[`path`,{d:`M14.084 14.158a3 3 0 0 1-4.242-4.242`,key:`151rxh`}],[`path`,{d:`M17.479 17.499a10.75 10.75 0 0 1-15.417-5.151 1 1 0 0 1 0-.696 10.75 10.75 0 0 1 4.446-5.143`,key:`13bj9a`}],[`path`,{d:`m2 2 20 20`,key:`1ooewy`}]]),Nr=dr(`file-code-corner`,[[`path`,{d:`M4 12.15V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.706.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2h-3.35`,key:`1wthlu`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`,key:`wfsgrz`}],[`path`,{d:`m5 16-3 3 3 3`,key:`331omg`}],[`path`,{d:`m9 22 3-3-3-3`,key:`lsp7cz`}]]),Pr=dr(`file-diff`,[[`path`,{d:`M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z`,key:`1oefj6`}],[`path`,{d:`M9 10h6`,key:`9gxzsh`}],[`path`,{d:`M12 13V7`,key:`h0r20n`}],[`path`,{d:`M9 17h6`,key:`r8uit2`}]]),Fr=dr(`file-pen`,[[`path`,{d:`M12.659 22H18a2 2 0 0 0 2-2V8a2.4 2.4 0 0 0-.706-1.706l-3.588-3.588A2.4 2.4 0 0 0 14 2H6a2 2 0 0 0-2 2v9.34`,key:`o6klzx`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`,key:`wfsgrz`}],[`path`,{d:`M10.378 12.622a1 1 0 0 1 3 3.003L8.36 20.637a2 2 0 0 1-.854.506l-2.867.837a.5.5 0 0 1-.62-.62l.836-2.869a2 2 0 0 1 .506-.853z`,key:`zhnas1`}]]),Ir=dr(`file-text`,[[`path`,{d:`M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z`,key:`1oefj6`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`,key:`wfsgrz`}],[`path`,{d:`M10 9H8`,key:`b1mrlr`}],[`path`,{d:`M16 13H8`,key:`t4e002`}],[`path`,{d:`M16 17H8`,key:`z1uh3a`}]]),Lr=dr(`folder-plus`,[[`path`,{d:`M12 10v6`,key:`1bos4e`}],[`path`,{d:`M9 13h6`,key:`1uhe8q`}],[`path`,{d:`M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z`,key:`1kt360`}]]),Rr=dr(`folder`,[[`path`,{d:`M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z`,key:`1kt360`}]]),zr=dr(`git-branch`,[[`path`,{d:`M15 6a9 9 0 0 0-9 9V3`,key:`1cii5b`}],[`circle`,{cx:`18`,cy:`6`,r:`3`,key:`1h7g24`}],[`circle`,{cx:`6`,cy:`18`,r:`3`,key:`fqmcym`}]]),Br=dr(`git-commit-horizontal`,[[`circle`,{cx:`12`,cy:`12`,r:`3`,key:`1v7zrd`}],[`line`,{x1:`3`,x2:`9`,y1:`12`,y2:`12`,key:`1dyftd`}],[`line`,{x1:`15`,x2:`21`,y1:`12`,y2:`12`,key:`oup4p8`}]]),Vr=dr(`grip-vertical`,[[`circle`,{cx:`9`,cy:`12`,r:`1`,key:`1vctgf`}],[`circle`,{cx:`9`,cy:`5`,r:`1`,key:`hp0tcf`}],[`circle`,{cx:`9`,cy:`19`,r:`1`,key:`fkjjf6`}],[`circle`,{cx:`15`,cy:`12`,r:`1`,key:`1tmaij`}],[`circle`,{cx:`15`,cy:`5`,r:`1`,key:`19l28e`}],[`circle`,{cx:`15`,cy:`19`,r:`1`,key:`f4zoj3`}]]),Hr=dr(`hard-drive-upload`,[[`path`,{d:`m16 6-4-4-4 4`,key:`13yo43`}],[`path`,{d:`M12 2v8`,key:`1q4o3n`}],[`rect`,{width:`20`,height:`8`,x:`2`,y:`14`,rx:`2`,key:`w68u3i`}],[`path`,{d:`M6 18h.01`,key:`uhywen`}],[`path`,{d:`M10 18h.01`,key:`h775k`}]]),Ur=dr(`hourglass`,[[`path`,{d:`M5 22h14`,key:`ehvnwv`}],[`path`,{d:`M5 2h14`,key:`pdyrp9`}],[`path`,{d:`M17 22v-4.172a2 2 0 0 0-.586-1.414L12 12l-4.414 4.414A2 2 0 0 0 7 17.828V22`,key:`1d314k`}],[`path`,{d:`M7 2v4.172a2 2 0 0 0 .586 1.414L12 12l4.414-4.414A2 2 0 0 0 17 6.172V2`,key:`1vvvr6`}]]),Wr=dr(`image`,[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`,ry:`2`,key:`1m3agn`}],[`circle`,{cx:`9`,cy:`9`,r:`2`,key:`af1f0g`}],[`path`,{d:`m21 15-3.086-3.086a2 2 0 0 0-2.828 0L6 21`,key:`1xmnt7`}]]),Gr=dr(`inbox`,[[`polyline`,{points:`22 12 16 12 14 15 10 15 8 12 2 12`,key:`o97t9d`}],[`path`,{d:`M5.45 5.11 2 12v6a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-6l-3.45-6.89A2 2 0 0 0 16.76 4H7.24a2 2 0 0 0-1.79 1.11z`,key:`oot6mr`}]]),Kr=dr(`info`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`path`,{d:`M12 16v-4`,key:`1dtifu`}],[`path`,{d:`M12 8h.01`,key:`e9boi3`}]]),qr=dr(`languages`,[[`path`,{d:`m5 8 6 6`,key:`1wu5hv`}],[`path`,{d:`m4 14 6-6 2-3`,key:`1k1g8d`}],[`path`,{d:`M2 5h12`,key:`or177f`}],[`path`,{d:`M7 2h1`,key:`1t2jsx`}],[`path`,{d:`m22 22-5-10-5 10`,key:`don7ne`}],[`path`,{d:`M14 18h6`,key:`1m8k6r`}]]),Jr=dr(`lightbulb`,[[`path`,{d:`M15 14c.2-1 .7-1.7 1.5-2.5 1-.9 1.5-2.2 1.5-3.5A6 6 0 0 0 6 8c0 1 .2 2.2 1.5 3.5.7.7 1.3 1.5 1.5 2.5`,key:`1gvzjb`}],[`path`,{d:`M9 18h6`,key:`x1upvd`}],[`path`,{d:`M10 22h4`,key:`ceow96`}]]),Yr=dr(`link-2`,[[`path`,{d:`M9 17H7A5 5 0 0 1 7 7h2`,key:`8i5ue5`}],[`path`,{d:`M15 7h2a5 5 0 1 1 0 10h-2`,key:`1b9ql8`}],[`line`,{x1:`8`,x2:`16`,y1:`12`,y2:`12`,key:`1jonct`}]]),Xr=dr(`list-end`,[[`path`,{d:`M16 5H3`,key:`m91uny`}],[`path`,{d:`M16 12H3`,key:`1a2rj7`}],[`path`,{d:`M9 19H3`,key:`s61nz1`}],[`path`,{d:`m16 16-3 3 3 3`,key:`117b85`}],[`path`,{d:`M21 5v12a2 2 0 0 1-2 2h-6`,key:`hey24a`}]]),Zr=dr(`list-tree`,[[`path`,{d:`M8 5h13`,key:`1pao27`}],[`path`,{d:`M13 12h8`,key:`h98zly`}],[`path`,{d:`M13 19h8`,key:`c3s6r1`}],[`path`,{d:`M3 10a2 2 0 0 0 2 2h3`,key:`1npucw`}],[`path`,{d:`M3 5v12a2 2 0 0 0 2 2h3`,key:`x1gjn2`}]]),Qr=dr(`loader-circle`,[[`path`,{d:`M21 12a9 9 0 1 1-6.219-8.56`,key:`13zald`}]]),$r=dr(`maximize-2`,[[`path`,{d:`M15 3h6v6`,key:`1q9fwt`}],[`path`,{d:`m21 3-7 7`,key:`1l2asr`}],[`path`,{d:`m3 21 7-7`,key:`tjx5ai`}],[`path`,{d:`M9 21H3v-6`,key:`wtvkvv`}]]),ei=dr(`message-square-plus`,[[`path`,{d:`M22 17a2 2 0 0 1-2 2H6.828a2 2 0 0 0-1.414.586l-2.202 2.202A.71.71 0 0 1 2 21.286V5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2z`,key:`18887p`}],[`path`,{d:`M12 8v6`,key:`1ib9pf`}],[`path`,{d:`M9 11h6`,key:`1fldmi`}]]),ti=dr(`message-square`,[[`path`,{d:`M22 17a2 2 0 0 1-2 2H6.828a2 2 0 0 0-1.414.586l-2.202 2.202A.71.71 0 0 1 2 21.286V5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2z`,key:`18887p`}]]),ni=dr(`messages-square`,[[`path`,{d:`M16 10a2 2 0 0 1-2 2H6.828a2 2 0 0 0-1.414.586l-2.202 2.202A.71.71 0 0 1 2 14.286V4a2 2 0 0 1 2-2h10a2 2 0 0 1 2 2z`,key:`1n2ejm`}],[`path`,{d:`M20 9a2 2 0 0 1 2 2v10.286a.71.71 0 0 1-1.212.502l-2.202-2.202A2 2 0 0 0 17.172 19H10a2 2 0 0 1-2-2v-1`,key:`1qfcsi`}]]),ri=dr(`minus`,[[`path`,{d:`M5 12h14`,key:`1ays0h`}]]),ii=dr(`palette`,[[`path`,{d:`M12 22a1 1 0 0 1 0-20 10 9 0 0 1 10 9 5 5 0 0 1-5 5h-2.25a1.75 1.75 0 0 0-1.4 2.8l.3.4a1.75 1.75 0 0 1-1.4 2.8z`,key:`e79jfc`}],[`circle`,{cx:`13.5`,cy:`6.5`,r:`.5`,fill:`currentColor`,key:`1okk4w`}],[`circle`,{cx:`17.5`,cy:`10.5`,r:`.5`,fill:`currentColor`,key:`f64h9f`}],[`circle`,{cx:`6.5`,cy:`12.5`,r:`.5`,fill:`currentColor`,key:`qy21gx`}],[`circle`,{cx:`8.5`,cy:`7.5`,r:`.5`,fill:`currentColor`,key:`fotxhn`}]]),ai=dr(`pencil`,[[`path`,{d:`M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z`,key:`1a8usu`}],[`path`,{d:`m15 5 4 4`,key:`1mk7zo`}]]),oi=dr(`play`,[[`path`,{d:`M5 5a2 2 0 0 1 3.008-1.728l11.997 6.998a2 2 0 0 1 .003 3.458l-12 7A2 2 0 0 1 5 19z`,key:`10ikf1`}]]),si=dr(`plug`,[[`path`,{d:`M12 22v-5`,key:`1ega77`}],[`path`,{d:`M15 8V2`,key:`18g5xt`}],[`path`,{d:`M17 8a1 1 0 0 1 1 1v4a4 4 0 0 1-4 4h-4a4 4 0 0 1-4-4V9a1 1 0 0 1 1-1z`,key:`1xoxul`}],[`path`,{d:`M9 8V2`,key:`14iosj`}]]),ci=dr(`plus`,[[`path`,{d:`M5 12h14`,key:`1ays0h`}],[`path`,{d:`M12 5v14`,key:`s699le`}]]),li=dr(`puzzle`,[[`path`,{d:`M15.39 4.39a1 1 0 0 0 1.68-.474 2.5 2.5 0 1 1 3.014 3.015 1 1 0 0 0-.474 1.68l1.683 1.682a2.414 2.414 0 0 1 0 3.414L19.61 15.39a1 1 0 0 1-1.68-.474 2.5 2.5 0 1 0-3.014 3.015 1 1 0 0 1 .474 1.68l-1.683 1.682a2.414 2.414 0 0 1-3.414 0L8.61 19.61a1 1 0 0 0-1.68.474 2.5 2.5 0 1 1-3.014-3.015 1 1 0 0 0 .474-1.68l-1.683-1.682a2.414 2.414 0 0 1 0-3.414L4.39 8.61a1 1 0 0 1 1.68.474 2.5 2.5 0 1 0 3.014-3.015 1 1 0 0 1-.474-1.68l1.683-1.682a2.414 2.414 0 0 1 3.414 0z`,key:`w46dr5`}]]),ui=dr(`refresh-cw`,[[`path`,{d:`M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8`,key:`v9h5vc`}],[`path`,{d:`M21 3v5h-5`,key:`1q7to0`}],[`path`,{d:`M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16`,key:`3uifl3`}],[`path`,{d:`M8 16H3v5`,key:`1cv678`}]]),di=dr(`rotate-ccw`,[[`path`,{d:`M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8`,key:`1357e3`}],[`path`,{d:`M3 3v5h5`,key:`1xhq8a`}]]),fi=dr(`save`,[[`path`,{d:`M15.2 3a2 2 0 0 1 1.4.6l3.8 3.8a2 2 0 0 1 .6 1.4V19a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2z`,key:`1c8476`}],[`path`,{d:`M17 21v-7a1 1 0 0 0-1-1H8a1 1 0 0 0-1 1v7`,key:`1ydtos`}],[`path`,{d:`M7 3v4a1 1 0 0 0 1 1h7`,key:`t51u73`}]]),pi=dr(`search`,[[`path`,{d:`m21 21-4.34-4.34`,key:`14j7rj`}],[`circle`,{cx:`11`,cy:`11`,r:`8`,key:`4ej97u`}]]),mi=dr(`settings`,[[`path`,{d:`M9.671 4.136a2.34 2.34 0 0 1 4.659 0 2.34 2.34 0 0 0 3.319 1.915 2.34 2.34 0 0 1 2.33 4.033 2.34 2.34 0 0 0 0 3.831 2.34 2.34 0 0 1-2.33 4.033 2.34 2.34 0 0 0-3.319 1.915 2.34 2.34 0 0 1-4.659 0 2.34 2.34 0 0 0-3.32-1.915 2.34 2.34 0 0 1-2.33-4.033 2.34 2.34 0 0 0 0-3.831A2.34 2.34 0 0 1 6.35 6.051a2.34 2.34 0 0 0 3.319-1.915`,key:`1i5ecw`}],[`circle`,{cx:`12`,cy:`12`,r:`3`,key:`1v7zrd`}]]),hi=dr(`sliders-horizontal`,[[`path`,{d:`M10 5H3`,key:`1qgfaw`}],[`path`,{d:`M12 19H3`,key:`yhmn1j`}],[`path`,{d:`M14 3v4`,key:`1sua03`}],[`path`,{d:`M16 17v4`,key:`1q0r14`}],[`path`,{d:`M21 12h-9`,key:`1o4lsq`}],[`path`,{d:`M21 19h-5`,key:`1rlt1p`}],[`path`,{d:`M21 5h-7`,key:`1oszz2`}],[`path`,{d:`M8 10v4`,key:`tgpxqk`}],[`path`,{d:`M8 12H3`,key:`a7s4jb`}]]),gi=dr(`sparkles`,[[`path`,{d:`M11.017 2.814a1 1 0 0 1 1.966 0l1.051 5.558a2 2 0 0 0 1.594 1.594l5.558 1.051a1 1 0 0 1 0 1.966l-5.558 1.051a2 2 0 0 0-1.594 1.594l-1.051 5.558a1 1 0 0 1-1.966 0l-1.051-5.558a2 2 0 0 0-1.594-1.594l-5.558-1.051a1 1 0 0 1 0-1.966l5.558-1.051a2 2 0 0 0 1.594-1.594z`,key:`1s2grr`}],[`path`,{d:`M20 2v4`,key:`1rf3ol`}],[`path`,{d:`M22 4h-4`,key:`gwowj6`}],[`circle`,{cx:`4`,cy:`20`,r:`2`,key:`6kqj1y`}]]),_i=dr(`split`,[[`path`,{d:`M16 3h5v5`,key:`1806ms`}],[`path`,{d:`M8 3H3v5`,key:`15dfkv`}],[`path`,{d:`M12 22v-8.3a4 4 0 0 0-1.172-2.872L3 3`,key:`1qrqzj`}],[`path`,{d:`m15 9 6-6`,key:`ko1vev`}]]),vi=dr(`square-terminal`,[[`path`,{d:`m7 11 2-2-2-2`,key:`1lz0vl`}],[`path`,{d:`M11 13h4`,key:`1p7l4v`}],[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`,ry:`2`,key:`1m3agn`}]]),yi=dr(`square`,[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`,key:`afitv7`}]]),bi=dr(`star`,[[`path`,{d:`M11.525 2.295a.53.53 0 0 1 .95 0l2.31 4.679a2.123 2.123 0 0 0 1.595 1.16l5.166.756a.53.53 0 0 1 .294.904l-3.736 3.638a2.123 2.123 0 0 0-.611 1.878l.882 5.14a.53.53 0 0 1-.771.56l-4.618-2.428a2.122 2.122 0 0 0-1.973 0L6.396 21.01a.53.53 0 0 1-.77-.56l.881-5.139a2.122 2.122 0 0 0-.611-1.879L2.16 9.795a.53.53 0 0 1 .294-.906l5.165-.755a2.122 2.122 0 0 0 1.597-1.16z`,key:`r04s7s`}]]),xi=dr(`terminal`,[[`path`,{d:`M12 19h8`,key:`baeox8`}],[`path`,{d:`m4 17 6-6-6-6`,key:`1yngyt`}]]),Si=dr(`text-wrap`,[[`path`,{d:`m16 16-3 3 3 3`,key:`117b85`}],[`path`,{d:`M3 12h14.5a1 1 0 0 1 0 7H13`,key:`18xa6z`}],[`path`,{d:`M3 19h6`,key:`1ygdsz`}],[`path`,{d:`M3 5h18`,key:`1u36vt`}]]),Ci=dr(`trash-2`,[[`path`,{d:`M10 11v6`,key:`nco0om`}],[`path`,{d:`M14 11v6`,key:`outv1u`}],[`path`,{d:`M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6`,key:`miytrc`}],[`path`,{d:`M3 6h18`,key:`d0wm0j`}],[`path`,{d:`M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2`,key:`e791ji`}]]),wi=dr(`trash`,[[`path`,{d:`M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6`,key:`miytrc`}],[`path`,{d:`M3 6h18`,key:`d0wm0j`}],[`path`,{d:`M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2`,key:`e791ji`}]]),Ti=dr(`triangle-alert`,[[`path`,{d:`m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3`,key:`wmoenq`}],[`path`,{d:`M12 9v4`,key:`juzpu7`}],[`path`,{d:`M12 17h.01`,key:`p32p05`}]]),Ei=dr(`upload`,[[`path`,{d:`M12 3v12`,key:`1x0j5s`}],[`path`,{d:`m17 8-5-5-5 5`,key:`7q97r8`}],[`path`,{d:`M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4`,key:`ih7n3h`}]]),Di=dr(`unplug`,[[`path`,{d:`m19 5 3-3`,key:`yk6iyv`}],[`path`,{d:`m2 22 3-3`,key:`19mgm9`}],[`path`,{d:`M6.3 20.3a2.4 2.4 0 0 0 3.4 0L12 18l-6-6-2.3 2.3a2.4 2.4 0 0 0 0 3.4Z`,key:`goz73y`}],[`path`,{d:`M7.5 13.5 10 11`,key:`7xgeeb`}],[`path`,{d:`M10.5 16.5 13 14`,key:`10btkg`}],[`path`,{d:`m12 6 6 6 2.3-2.3a2.4 2.4 0 0 0 0-3.4l-2.6-2.6a2.4 2.4 0 0 0-3.4 0Z`,key:`1snsnr`}]]),Oi=dr(`volume-2`,[[`path`,{d:`M11 4.702a.705.705 0 0 0-1.203-.498L6.413 7.587A1.4 1.4 0 0 1 5.416 8H3a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h2.416a1.4 1.4 0 0 1 .997.413l3.383 3.384A.705.705 0 0 0 11 19.298z`,key:`uqj9uw`}],[`path`,{d:`M16 9a5 5 0 0 1 0 6`,key:`1q6k2b`}],[`path`,{d:`M19.364 18.364a9 9 0 0 0 0-12.728`,key:`ijwkga`}]]),ki=dr(`volume-x`,[[`path`,{d:`M11 4.702a.7.7 0 0 0-1.203-.498L6.413 7.587A1.4 1.4 0 0 1 5.416 8H3a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h2.416a1.4 1.4 0 0 1 .997.413l3.383 3.384A.7.7 0 0 0 11 19.298z`,key:`1p7khw`}],[`path`,{d:`m16.5 14.5 5-5`,key:`cul3yw`}],[`path`,{d:`m16.5 9.5 5 5`,key:`1akey5`}]]),Ai=dr(`wrench`,[[`path`,{d:`M14.7 6.3a1 1 0 0 0 0 1.4l1.6 1.6a1 1 0 0 0 1.4 0l3.106-3.105c.32-.322.863-.22.983.218a6 6 0 0 1-8.259 7.057l-7.91 7.91a1 1 0 0 1-2.999-3l7.91-7.91a6 6 0 0 1 7.057-8.259c.438.12.54.662.219.984z`,key:`1ngwbx`}]]),ji=dr(`x`,[[`path`,{d:`M18 6 6 18`,key:`1bl5f8`}],[`path`,{d:`m6 6 12 12`,key:`d8bk6v`}]]),Mi=dr(`zap`,[[`path`,{d:`M15.914 4a1.5 1.5 0 00-2.474-1.561l-9 9A1.5 1.5 0 005.5 14h4.002a.5.5 0 01.471.666L8.086 20a1.5 1.5 0 002.475 1.56l9-9A1.5 1.5 0 0018.5 10h-3.997a.5.5 0 01-.472-.667z`,key:`1v7up4`}]]);function Ni(e){var t,n,r=``;if(typeof e==`string`||typeof e==`number`)r+=e;else if(typeof e==`object`){if(Array.isArray(e)){var i=e.length;for(t=0;t<i;t++)e[t]&&(n=Ni(e[t]))&&(r&&(r+=` `),r+=n)}else for(n in e)e[n]&&(r&&(r+=` `),r+=n)}return r}function Pi(){for(var e,t,n=0,r=``,i=arguments.length;n<i;n++)(e=arguments[n])&&(t=Ni(e))&&(r&&(r+=` `),r+=t);return r}var Fi=(e,t)=>{let n=Array(e.length+t.length);for(let t=0;t<e.length;t++)n[t]=e[t];for(let r=0;r<t.length;r++)n[e.length+r]=t[r];return n},Ii=(e,t)=>({classGroupId:e,validator:t}),Li=(e=new Map,t=null,n)=>({nextPart:e,validators:t,classGroupId:n}),Ri=`-`,zi=[],Bi=`arbitrary..`,Vi=e=>{let t=Wi(e),{conflictingClassGroups:n,conflictingClassGroupModifiers:r}=e;return{getClassGroupId:e=>{if(e.startsWith(`[`)&&e.endsWith(`]`))return Ui(e);let n=e.split(Ri);return Hi(n,+(n[0]===``&&n.length>1),t)},getConflictingClassGroupIds:(e,t)=>{if(t){let t=r[e],i=n[e];return t?i?Fi(i,t):t:i||zi}return n[e]||zi}}},Hi=(e,t,n)=>{if(e.length-t===0)return n.classGroupId;let r=e[t],i=n.nextPart.get(r);if(i){let n=Hi(e,t+1,i);if(n)return n}let a=n.validators;if(a===null)return;let o=t===0?e.join(Ri):e.slice(t).join(Ri),s=a.length;for(let e=0;e<s;e++){let t=a[e];if(t.validator(o))return t.classGroupId}},Ui=e=>e.slice(1,-1).indexOf(`:`)===-1?void 0:(()=>{let t=e.slice(1,-1),n=t.indexOf(`:`),r=t.slice(0,n);return r?Bi+r:void 0})(),Wi=e=>{let{theme:t,classGroups:n}=e;return Gi(n,t)},Gi=(e,t)=>{let n=Li();for(let r in e){let i=e[r];Ki(i,n,r,t)}return n},Ki=(e,t,n,r)=>{let i=e.length;for(let a=0;a<i;a++){let i=e[a];qi(i,t,n,r)}},qi=(e,t,n,r)=>{if(typeof e==`string`){Ji(e,t,n);return}if(typeof e==`function`){Yi(e,t,n,r);return}Xi(e,t,n,r)},Ji=(e,t,n)=>{let r=e===``?t:Zi(t,e);r.classGroupId=n},Yi=(e,t,n,r)=>{if(Qi(e)){Ki(e(r),t,n,r);return}t.validators===null&&(t.validators=[]),t.validators.push(Ii(n,e))},Xi=(e,t,n,r)=>{let i=Object.entries(e),a=i.length;for(let e=0;e<a;e++){let[a,o]=i[e];Ki(o,Zi(t,a),n,r)}},Zi=(e,t)=>{let n=e,r=t.split(Ri),i=r.length;for(let e=0;e<i;e++){let t=r[e],i=n.nextPart.get(t);i||(i=Li(),n.nextPart.set(t,i)),n=i}return n},Qi=e=>`isThemeGetter`in e&&e.isThemeGetter===!0,$i=e=>{if(e<1)return{get:()=>void 0,set:()=>{}};let t=0,n=Object.create(null),r=Object.create(null),i=(i,a)=>{n[i]=a,t++,t>e&&(t=0,r=n,n=Object.create(null))};return{get(e){let t=n[e];if(t!==void 0)return t;if((t=r[e])!==void 0)return i(e,t),t},set(e,t){e in n?n[e]=t:i(e,t)}}},ea=`!`,ta=`:`,na=[],ra=(e,t,n,r,i)=>({modifiers:e,hasImportantModifier:t,baseClassName:n,maybePostfixModifierPosition:r,isExternal:i}),ia=e=>{let{prefix:t,experimentalParseClassName:n}=e,r=e=>{let t=[],n=0,r=0,i=0,a,o=e.length;for(let s=0;s<o;s++){let o=e[s];if(n===0&&r===0){if(o===ta){t.push(e.slice(i,s)),i=s+1;continue}if(o===`/`){a=s;continue}}o===`[`?n++:o===`]`?n--:o===`(`?r++:o===`)`&&r--}let s=t.length===0?e:e.slice(i),c=s,l=!1;s.endsWith(ea)?(c=s.slice(0,-1),l=!0):s.startsWith(ea)&&(c=s.slice(1),l=!0);let u=a&&a>i?a-i:void 0;return ra(t,l,c,u)};if(t){let e=t+ta,n=r;r=t=>t.startsWith(e)?n(t.slice(e.length)):ra(na,!1,t,void 0,!0)}if(n){let e=r;r=t=>n({className:t,parseClassName:e})}return r},aa=e=>{let t=new Map;return e.orderSensitiveModifiers.forEach((e,n)=>{t.set(e,1e6+n)}),e=>{let n=[],r=[];for(let i=0;i<e.length;i++){let a=e[i],o=a[0]===`[`,s=t.has(a);o||s?(r.length>0&&(r.sort(),n.push(...r),r=[]),n.push(a)):r.push(a)}return r.length>0&&(r.sort(),n.push(...r)),n}},oa=e=>({cache:$i(e.cacheSize),parseClassName:ia(e),sortModifiers:aa(e),postfixLookupClassGroupIds:sa(e),...Vi(e)}),sa=e=>{let t=Object.create(null),n=e.postfixLookupClassGroups;if(n)for(let e=0;e<n.length;e++)t[n[e]]=!0;return t},ca=/\s+/,la=(e,t)=>{let{parseClassName:n,getClassGroupId:r,getConflictingClassGroupIds:i,sortModifiers:a,postfixLookupClassGroupIds:o}=t,s=[],c=e.trim().split(ca),l=``;for(let e=c.length-1;e>=0;--e){let t=c[e],{isExternal:u,modifiers:d,hasImportantModifier:f,baseClassName:p,maybePostfixModifierPosition:m}=n(t);if(u){l=t+(l.length>0?` `+l:l);continue}let h=!!m,g;if(h){g=r(p.substring(0,m));let e=g&&o[g]?r(p):void 0;e&&e!==g&&(g=e,h=!1)}else g=r(p);if(!g){if(!h){l=t+(l.length>0?` `+l:l);continue}if(g=r(p),!g){l=t+(l.length>0?` `+l:l);continue}h=!1}let _=d.length===0?``:d.length===1?d[0]:a(d).join(`:`),v=f?_+ea:_,y=v+g;if(s.indexOf(y)>-1)continue;s.push(y);let b=i(g,h);for(let e=0;e<b.length;++e){let t=b[e];s.push(v+t)}l=t+(l.length>0?` `+l:l)}return l},ua=(...e)=>{let t=0,n,r,i=``;for(;t<e.length;)(n=e[t++])&&(r=da(n))&&(i&&(i+=` `),i+=r);return i},da=e=>{if(typeof e==`string`)return e;let t,n=``;for(let r=0;r<e.length;r++)e[r]&&(t=da(e[r]))&&(n&&(n+=` `),n+=t);return n},fa=(e,...t)=>{let n,r,i,a,o=o=>(n=oa(t.reduce((e,t)=>t(e),e())),r=n.cache.get,i=n.cache.set,a=s,s(o)),s=e=>{let t=r(e);if(t)return t;let a=la(e,n);return i(e,a),a};return a=o,(...e)=>a(ua(...e))},pa=[],ma=e=>{let t=t=>t[e]||pa;return t.isThemeGetter=!0,t},ha=/^\[(?:(\w[\w-]*):)?(.+)\]$/i,ga=/^\((?:(\w[\w-]*):)?(.+)\)$/i,_a=/^\d+(?:\.\d+)?\/\d+(?:\.\d+)?$/,va=/^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/,ya=/\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\b(calc|min|max|clamp)\(.+\)|^0$/,ba=/^(rgba?|hsla?|hwb|(ok)?(lab|lch)|color-mix)\(.+\)$/,xa=/^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/,Sa=/^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/,Ca=e=>_a.test(e),wa=e=>!!e&&!Number.isNaN(Number(e)),Ta=e=>!!e&&Number.isInteger(Number(e)),Ea=e=>e.endsWith(`%`)&&wa(e.slice(0,-1)),Da=e=>va.test(e),Oa=()=>!0,ka=e=>ya.test(e)&&!ba.test(e),Aa=()=>!1,ja=e=>xa.test(e),Ma=e=>Sa.test(e),Na=e=>!Ia(e)&&!Wa(e),Pa=e=>e.startsWith(`@container`)&&(e[10]===`/`&&e[11]!==void 0||e[11]===`s`&&e[16]!==void 0&&e.startsWith(`-size/`,10)||e[11]===`n`&&e[18]!==void 0&&e.startsWith(`-normal/`,10)),Fa=e=>Qa(e,no,Aa),Ia=e=>ha.test(e),La=e=>Qa(e,ro,ka),Ra=e=>Qa(e,io,wa),za=e=>Qa(e,oo,Oa),Ba=e=>Qa(e,ao,Aa),Va=e=>Qa(e,eo,Aa),Ha=e=>Qa(e,to,Ma),Ua=e=>Qa(e,so,ja),Wa=e=>ga.test(e),Ga=e=>$a(e,ro),Ka=e=>$a(e,ao),qa=e=>$a(e,eo),Ja=e=>$a(e,no),Ya=e=>$a(e,to),Xa=e=>$a(e,so,!0),Za=e=>$a(e,oo,!0),Qa=(e,t,n)=>{let r=ha.exec(e);return r?r[1]?t(r[1]):n(r[2]):!1},$a=(e,t,n=!1)=>{let r=ga.exec(e);return r?r[1]?t(r[1]):n:!1},eo=e=>e===`position`||e===`percentage`,to=e=>e===`image`||e===`url`,no=e=>e===`length`||e===`size`||e===`bg-size`,ro=e=>e===`length`,io=e=>e===`number`,ao=e=>e===`family-name`,oo=e=>e===`number`||e===`weight`,so=e=>e===`shadow`,co=fa(()=>{let e=ma(`color`),t=ma(`font`),n=ma(`text`),r=ma(`font-weight`),i=ma(`tracking`),a=ma(`leading`),o=ma(`breakpoint`),s=ma(`container`),c=ma(`spacing`),l=ma(`radius`),u=ma(`shadow`),d=ma(`inset-shadow`),f=ma(`text-shadow`),p=ma(`drop-shadow`),m=ma(`blur`),h=ma(`perspective`),g=ma(`aspect`),_=ma(`ease`),v=ma(`animate`),y=()=>[`auto`,`avoid`,`all`,`avoid-page`,`page`,`left`,`right`,`column`],b=()=>[`center`,`top`,`bottom`,`left`,`right`,`top-left`,`left-top`,`top-right`,`right-top`,`bottom-right`,`right-bottom`,`bottom-left`,`left-bottom`],x=()=>[...b(),Wa,Ia],S=()=>[`auto`,`hidden`,`clip`,`visible`,`scroll`],C=()=>[`auto`,`contain`,`none`],w=()=>[Wa,Ia,c],T=()=>[Ca,`full`,`auto`,...w()],E=()=>[Ta,`none`,`subgrid`,Wa,Ia],D=()=>[`auto`,{span:[`full`,Ta,Wa,Ia]},Ta,Wa,Ia],O=()=>[Ta,`auto`,Wa,Ia],k=()=>[`auto`,`min`,`max`,`fr`,Wa,Ia],A=()=>[`start`,`end`,`center`,`between`,`around`,`evenly`,`stretch`,`baseline`,`center-safe`,`end-safe`],j=()=>[`start`,`end`,`center`,`stretch`,`center-safe`,`end-safe`],M=()=>[`auto`,...w()],N=()=>[Ca,`auto`,`full`,`dvw`,`dvh`,`lvw`,`lvh`,`svw`,`svh`,`min`,`max`,`fit`,...w()],ee=()=>[Ca,`screen`,`full`,`dvw`,`lvw`,`svw`,`min`,`max`,`fit`,...w()],te=()=>[Ca,`screen`,`full`,`lh`,`dvh`,`lvh`,`svh`,`min`,`max`,`fit`,...w()],P=()=>[e,Wa,Ia],ne=()=>[...b(),qa,Va,{position:[Wa,Ia]}],re=()=>[`no-repeat`,{repeat:[``,`x`,`y`,`space`,`round`]}],ie=()=>[`auto`,`cover`,`contain`,Ja,Fa,{size:[Wa,Ia]}],ae=()=>[Ea,Ga,La],oe=()=>[``,`none`,`full`,l,Wa,Ia],se=()=>[``,wa,Ga,La],ce=()=>[`solid`,`dashed`,`dotted`,`double`],le=()=>[`normal`,`multiply`,`screen`,`overlay`,`darken`,`lighten`,`color-dodge`,`color-burn`,`hard-light`,`soft-light`,`difference`,`exclusion`,`hue`,`saturation`,`color`,`luminosity`],ue=()=>[wa,Ea,qa,Va],de=()=>[``,`none`,m,Wa,Ia],fe=()=>[`none`,wa,Wa,Ia],pe=()=>[`none`,wa,Wa,Ia],me=()=>[wa,Wa,Ia],he=()=>[Ca,`full`,...w()];return{cacheSize:500,theme:{animate:[`spin`,`ping`,`pulse`,`bounce`],aspect:[`video`],blur:[Da],breakpoint:[Da],color:[Oa],container:[Da],"drop-shadow":[Da],ease:[`in`,`out`,`in-out`],font:[Na],"font-weight":[`thin`,`extralight`,`light`,`normal`,`medium`,`semibold`,`bold`,`extrabold`,`black`],"inset-shadow":[Da],leading:[`none`,`tight`,`snug`,`normal`,`relaxed`,`loose`],perspective:[`dramatic`,`near`,`normal`,`midrange`,`distant`,`none`],radius:[Da],shadow:[Da],spacing:[`px`,wa],text:[Da],"text-shadow":[Da],tracking:[`tighter`,`tight`,`normal`,`wide`,`wider`,`widest`]},classGroups:{aspect:[{aspect:[`auto`,`square`,Ca,Ia,Wa,g]}],container:[`container`],"container-type":[{"@container":[``,`normal`,`size`,Wa,Ia]}],"container-named":[Pa],columns:[{columns:[wa,Ia,Wa,s]}],"break-after":[{"break-after":y()}],"break-before":[{"break-before":y()}],"break-inside":[{"break-inside":[`auto`,`avoid`,`avoid-page`,`avoid-column`]}],"box-decoration":[{"box-decoration":[`slice`,`clone`]}],box:[{box:[`border`,`content`]}],display:[`block`,`inline-block`,`inline`,`flex`,`inline-flex`,`table`,`inline-table`,`table-caption`,`table-cell`,`table-column`,`table-column-group`,`table-footer-group`,`table-header-group`,`table-row-group`,`table-row`,`flow-root`,`grid`,`inline-grid`,`contents`,`list-item`,`hidden`],sr:[`sr-only`,`not-sr-only`],float:[{float:[`right`,`left`,`none`,`start`,`end`]}],clear:[{clear:[`left`,`right`,`both`,`none`,`start`,`end`]}],isolation:[`isolate`,`isolation-auto`],"object-fit":[{object:[`contain`,`cover`,`fill`,`none`,`scale-down`]}],"object-position":[{object:x()}],overflow:[{overflow:S()}],"overflow-x":[{"overflow-x":S()}],"overflow-y":[{"overflow-y":S()}],overscroll:[{overscroll:C()}],"overscroll-x":[{"overscroll-x":C()}],"overscroll-y":[{"overscroll-y":C()}],position:[`static`,`fixed`,`absolute`,`relative`,`sticky`],inset:[{inset:T()}],"inset-x":[{"inset-x":T()}],"inset-y":[{"inset-y":T()}],start:[{"inset-s":T(),start:T()}],end:[{"inset-e":T(),end:T()}],"inset-bs":[{"inset-bs":T()}],"inset-be":[{"inset-be":T()}],top:[{top:T()}],right:[{right:T()}],bottom:[{bottom:T()}],left:[{left:T()}],visibility:[`visible`,`invisible`,`collapse`],z:[{z:[Ta,`auto`,Wa,Ia]}],basis:[{basis:[Ca,`full`,`auto`,s,...w()]}],"flex-direction":[{flex:[`row`,`row-reverse`,`col`,`col-reverse`]}],"flex-wrap":[{flex:[`nowrap`,`wrap`,`wrap-reverse`]}],flex:[{flex:[wa,Ca,`auto`,`initial`,`none`,Ia]}],grow:[{grow:[``,wa,Wa,Ia]}],shrink:[{shrink:[``,wa,Wa,Ia]}],order:[{order:[Ta,`first`,`last`,`none`,Wa,Ia]}],"grid-cols":[{"grid-cols":E()}],"col-start-end":[{col:D()}],"col-start":[{"col-start":O()}],"col-end":[{"col-end":O()}],"grid-rows":[{"grid-rows":E()}],"row-start-end":[{row:D()}],"row-start":[{"row-start":O()}],"row-end":[{"row-end":O()}],"grid-flow":[{"grid-flow":[`row`,`col`,`dense`,`row-dense`,`col-dense`]}],"auto-cols":[{"auto-cols":k()}],"auto-rows":[{"auto-rows":k()}],gap:[{gap:w()}],"gap-x":[{"gap-x":w()}],"gap-y":[{"gap-y":w()}],"justify-content":[{justify:[...A(),`normal`]}],"justify-items":[{"justify-items":[...j(),`normal`]}],"justify-self":[{"justify-self":[`auto`,...j()]}],"align-content":[{content:[`normal`,...A()]}],"align-items":[{items:[...j(),{baseline:[``,`last`]}]}],"align-self":[{self:[`auto`,...j(),{baseline:[``,`last`]}]}],"place-content":[{"place-content":A()}],"place-items":[{"place-items":[...j(),`baseline`]}],"place-self":[{"place-self":[`auto`,...j()]}],p:[{p:w()}],px:[{px:w()}],py:[{py:w()}],ps:[{ps:w()}],pe:[{pe:w()}],pbs:[{pbs:w()}],pbe:[{pbe:w()}],pt:[{pt:w()}],pr:[{pr:w()}],pb:[{pb:w()}],pl:[{pl:w()}],m:[{m:M()}],mx:[{mx:M()}],my:[{my:M()}],ms:[{ms:M()}],me:[{me:M()}],mbs:[{mbs:M()}],mbe:[{mbe:M()}],mt:[{mt:M()}],mr:[{mr:M()}],mb:[{mb:M()}],ml:[{ml:M()}],"space-x":[{"space-x":w()}],"space-x-reverse":[`space-x-reverse`],"space-y":[{"space-y":w()}],"space-y-reverse":[`space-y-reverse`],size:[{size:N()}],"inline-size":[{inline:[`auto`,...ee()]}],"min-inline-size":[{"min-inline":[`auto`,...ee()]}],"max-inline-size":[{"max-inline":[`none`,...ee()]}],"block-size":[{block:[`auto`,...te()]}],"min-block-size":[{"min-block":[`auto`,...te()]}],"max-block-size":[{"max-block":[`none`,...te()]}],w:[{w:[s,`screen`,...N()]}],"min-w":[{"min-w":[s,`screen`,`none`,...N()]}],"max-w":[{"max-w":[s,`screen`,`none`,`prose`,{screen:[o]},...N()]}],h:[{h:[`screen`,`lh`,...N()]}],"min-h":[{"min-h":[`screen`,`lh`,`none`,...N()]}],"max-h":[{"max-h":[`screen`,`lh`,...N()]}],"font-size":[{text:[`base`,n,Ga,La]}],"font-smoothing":[`antialiased`,`subpixel-antialiased`],"font-style":[`italic`,`not-italic`],"font-weight":[{font:[r,Za,za]}],"font-stretch":[{"font-stretch":[`ultra-condensed`,`extra-condensed`,`condensed`,`semi-condensed`,`normal`,`semi-expanded`,`expanded`,`extra-expanded`,`ultra-expanded`,Ea,Ia]}],"font-family":[{font:[Ka,Ba,t]}],"font-features":[{"font-features":[Ia]}],"fvn-normal":[`normal-nums`],"fvn-ordinal":[`ordinal`],"fvn-slashed-zero":[`slashed-zero`],"fvn-figure":[`lining-nums`,`oldstyle-nums`],"fvn-spacing":[`proportional-nums`,`tabular-nums`],"fvn-fraction":[`diagonal-fractions`,`stacked-fractions`],tracking:[{tracking:[i,Wa,Ia]}],"line-clamp":[{"line-clamp":[wa,`none`,Wa,Ra]}],leading:[{leading:[a,...w()]}],"list-image":[{"list-image":[`none`,Wa,Ia]}],"list-style-position":[{list:[`inside`,`outside`]}],"list-style-type":[{list:[`disc`,`decimal`,`none`,Wa,Ia]}],"text-alignment":[{text:[`left`,`center`,`right`,`justify`,`start`,`end`]}],"placeholder-color":[{placeholder:P()}],"text-color":[{text:P()}],"text-decoration":[`underline`,`overline`,`line-through`,`no-underline`],"text-decoration-style":[{decoration:[...ce(),`wavy`]}],"text-decoration-thickness":[{decoration:[wa,`from-font`,`auto`,Wa,La]}],"text-decoration-color":[{decoration:P()}],"underline-offset":[{"underline-offset":[wa,`auto`,Wa,Ia]}],"text-transform":[`uppercase`,`lowercase`,`capitalize`,`normal-case`],"text-overflow":[`truncate`,`text-ellipsis`,`text-clip`],"text-wrap":[{text:[`wrap`,`nowrap`,`balance`,`pretty`]}],indent:[{indent:w()}],"tab-size":[{tab:[Ta,Wa,Ia]}],"vertical-align":[{align:[`baseline`,`top`,`middle`,`bottom`,`text-top`,`text-bottom`,`sub`,`super`,Wa,Ia]}],whitespace:[{whitespace:[`normal`,`nowrap`,`pre`,`pre-line`,`pre-wrap`,`break-spaces`]}],break:[{break:[`normal`,`words`,`all`,`keep`]}],wrap:[{wrap:[`break-word`,`anywhere`,`normal`]}],hyphens:[{hyphens:[`none`,`manual`,`auto`]}],content:[{content:[`none`,Wa,Ia]}],"bg-attachment":[{bg:[`fixed`,`local`,`scroll`]}],"bg-clip":[{"bg-clip":[`border`,`padding`,`content`,`text`]}],"bg-origin":[{"bg-origin":[`border`,`padding`,`content`]}],"bg-position":[{bg:ne()}],"bg-repeat":[{bg:re()}],"bg-size":[{bg:ie()}],"bg-image":[{bg:[`none`,{linear:[{to:[`t`,`tr`,`r`,`br`,`b`,`bl`,`l`,`tl`]},Ta,Wa,Ia],radial:[``,Wa,Ia],conic:[Ta,Wa,Ia]},Ya,Ha]}],"bg-color":[{bg:P()}],"gradient-from-pos":[{from:ae()}],"gradient-via-pos":[{via:ae()}],"gradient-to-pos":[{to:ae()}],"gradient-from":[{from:P()}],"gradient-via":[{via:P()}],"gradient-to":[{to:P()}],rounded:[{rounded:oe()}],"rounded-s":[{"rounded-s":oe()}],"rounded-e":[{"rounded-e":oe()}],"rounded-t":[{"rounded-t":oe()}],"rounded-r":[{"rounded-r":oe()}],"rounded-b":[{"rounded-b":oe()}],"rounded-l":[{"rounded-l":oe()}],"rounded-ss":[{"rounded-ss":oe()}],"rounded-se":[{"rounded-se":oe()}],"rounded-ee":[{"rounded-ee":oe()}],"rounded-es":[{"rounded-es":oe()}],"rounded-tl":[{"rounded-tl":oe()}],"rounded-tr":[{"rounded-tr":oe()}],"rounded-br":[{"rounded-br":oe()}],"rounded-bl":[{"rounded-bl":oe()}],"border-w":[{border:se()}],"border-w-x":[{"border-x":se()}],"border-w-y":[{"border-y":se()}],"border-w-s":[{"border-s":se()}],"border-w-e":[{"border-e":se()}],"border-w-bs":[{"border-bs":se()}],"border-w-be":[{"border-be":se()}],"border-w-t":[{"border-t":se()}],"border-w-r":[{"border-r":se()}],"border-w-b":[{"border-b":se()}],"border-w-l":[{"border-l":se()}],"divide-x":[{"divide-x":se()}],"divide-x-reverse":[`divide-x-reverse`],"divide-y":[{"divide-y":se()}],"divide-y-reverse":[`divide-y-reverse`],"border-style":[{border:[...ce(),`hidden`,`none`]}],"divide-style":[{divide:[...ce(),`hidden`,`none`]}],"border-color":[{border:P()}],"border-color-x":[{"border-x":P()}],"border-color-y":[{"border-y":P()}],"border-color-s":[{"border-s":P()}],"border-color-e":[{"border-e":P()}],"border-color-bs":[{"border-bs":P()}],"border-color-be":[{"border-be":P()}],"border-color-t":[{"border-t":P()}],"border-color-r":[{"border-r":P()}],"border-color-b":[{"border-b":P()}],"border-color-l":[{"border-l":P()}],"divide-color":[{divide:P()}],"outline-style":[{outline:[...ce(),`none`,`hidden`]}],"outline-offset":[{"outline-offset":[wa,Wa,Ia]}],"outline-w":[{outline:[``,wa,Ga,La]}],"outline-color":[{outline:P()}],shadow:[{shadow:[``,`none`,u,Xa,Ua]}],"shadow-color":[{shadow:P()}],"inset-shadow":[{"inset-shadow":[`none`,d,Xa,Ua]}],"inset-shadow-color":[{"inset-shadow":P()}],"ring-w":[{ring:se()}],"ring-w-inset":[`ring-inset`],"ring-color":[{ring:P()}],"ring-offset-w":[{"ring-offset":[wa,La]}],"ring-offset-color":[{"ring-offset":P()}],"inset-ring-w":[{"inset-ring":se()}],"inset-ring-color":[{"inset-ring":P()}],"text-shadow":[{"text-shadow":[`none`,f,Xa,Ua]}],"text-shadow-color":[{"text-shadow":P()}],opacity:[{opacity:[wa,Wa,Ia]}],"mix-blend":[{"mix-blend":[...le(),`plus-darker`,`plus-lighter`]}],"bg-blend":[{"bg-blend":le()}],"mask-clip":[{"mask-clip":[`border`,`padding`,`content`,`fill`,`stroke`,`view`]},`mask-no-clip`],"mask-composite":[{mask:[`add`,`subtract`,`intersect`,`exclude`]}],"mask-image-linear-pos":[{"mask-linear":[wa]}],"mask-image-linear-from-pos":[{"mask-linear-from":ue()}],"mask-image-linear-to-pos":[{"mask-linear-to":ue()}],"mask-image-linear-from-color":[{"mask-linear-from":P()}],"mask-image-linear-to-color":[{"mask-linear-to":P()}],"mask-image-t-from-pos":[{"mask-t-from":ue()}],"mask-image-t-to-pos":[{"mask-t-to":ue()}],"mask-image-t-from-color":[{"mask-t-from":P()}],"mask-image-t-to-color":[{"mask-t-to":P()}],"mask-image-r-from-pos":[{"mask-r-from":ue()}],"mask-image-r-to-pos":[{"mask-r-to":ue()}],"mask-image-r-from-color":[{"mask-r-from":P()}],"mask-image-r-to-color":[{"mask-r-to":P()}],"mask-image-b-from-pos":[{"mask-b-from":ue()}],"mask-image-b-to-pos":[{"mask-b-to":ue()}],"mask-image-b-from-color":[{"mask-b-from":P()}],"mask-image-b-to-color":[{"mask-b-to":P()}],"mask-image-l-from-pos":[{"mask-l-from":ue()}],"mask-image-l-to-pos":[{"mask-l-to":ue()}],"mask-image-l-from-color":[{"mask-l-from":P()}],"mask-image-l-to-color":[{"mask-l-to":P()}],"mask-image-x-from-pos":[{"mask-x-from":ue()}],"mask-image-x-to-pos":[{"mask-x-to":ue()}],"mask-image-x-from-color":[{"mask-x-from":P()}],"mask-image-x-to-color":[{"mask-x-to":P()}],"mask-image-y-from-pos":[{"mask-y-from":ue()}],"mask-image-y-to-pos":[{"mask-y-to":ue()}],"mask-image-y-from-color":[{"mask-y-from":P()}],"mask-image-y-to-color":[{"mask-y-to":P()}],"mask-image-radial":[{"mask-radial":[Wa,Ia]}],"mask-image-radial-from-pos":[{"mask-radial-from":ue()}],"mask-image-radial-to-pos":[{"mask-radial-to":ue()}],"mask-image-radial-from-color":[{"mask-radial-from":P()}],"mask-image-radial-to-color":[{"mask-radial-to":P()}],"mask-image-radial-shape":[{"mask-radial":[`circle`,`ellipse`]}],"mask-image-radial-size":[{"mask-radial":[{closest:[`side`,`corner`],farthest:[`side`,`corner`]}]}],"mask-image-radial-pos":[{"mask-radial-at":b()}],"mask-image-conic-pos":[{"mask-conic":[wa]}],"mask-image-conic-from-pos":[{"mask-conic-from":ue()}],"mask-image-conic-to-pos":[{"mask-conic-to":ue()}],"mask-image-conic-from-color":[{"mask-conic-from":P()}],"mask-image-conic-to-color":[{"mask-conic-to":P()}],"mask-mode":[{mask:[`alpha`,`luminance`,`match`]}],"mask-origin":[{"mask-origin":[`border`,`padding`,`content`,`fill`,`stroke`,`view`]}],"mask-position":[{mask:ne()}],"mask-repeat":[{mask:re()}],"mask-size":[{mask:ie()}],"mask-type":[{"mask-type":[`alpha`,`luminance`]}],"mask-image":[{mask:[`none`,Wa,Ia]}],filter:[{filter:[``,`none`,Wa,Ia]}],blur:[{blur:de()}],brightness:[{brightness:[wa,Wa,Ia]}],contrast:[{contrast:[wa,Wa,Ia]}],"drop-shadow":[{"drop-shadow":[``,`none`,p,Xa,Ua]}],"drop-shadow-color":[{"drop-shadow":P()}],grayscale:[{grayscale:[``,wa,Wa,Ia]}],"hue-rotate":[{"hue-rotate":[wa,Wa,Ia]}],invert:[{invert:[``,wa,Wa,Ia]}],saturate:[{saturate:[wa,Wa,Ia]}],sepia:[{sepia:[``,wa,Wa,Ia]}],"backdrop-filter":[{"backdrop-filter":[``,`none`,Wa,Ia]}],"backdrop-blur":[{"backdrop-blur":de()}],"backdrop-brightness":[{"backdrop-brightness":[wa,Wa,Ia]}],"backdrop-contrast":[{"backdrop-contrast":[wa,Wa,Ia]}],"backdrop-grayscale":[{"backdrop-grayscale":[``,wa,Wa,Ia]}],"backdrop-hue-rotate":[{"backdrop-hue-rotate":[wa,Wa,Ia]}],"backdrop-invert":[{"backdrop-invert":[``,wa,Wa,Ia]}],"backdrop-opacity":[{"backdrop-opacity":[wa,Wa,Ia]}],"backdrop-saturate":[{"backdrop-saturate":[wa,Wa,Ia]}],"backdrop-sepia":[{"backdrop-sepia":[``,wa,Wa,Ia]}],"border-collapse":[{border:[`collapse`,`separate`]}],"border-spacing":[{"border-spacing":w()}],"border-spacing-x":[{"border-spacing-x":w()}],"border-spacing-y":[{"border-spacing-y":w()}],"table-layout":[{table:[`auto`,`fixed`]}],caption:[{caption:[`top`,`bottom`]}],transition:[{transition:[``,`all`,`colors`,`opacity`,`shadow`,`transform`,`none`,Wa,Ia]}],"transition-behavior":[{transition:[`normal`,`discrete`]}],duration:[{duration:[wa,`initial`,Wa,Ia]}],ease:[{ease:[`linear`,`initial`,_,Wa,Ia]}],delay:[{delay:[wa,Wa,Ia]}],animate:[{animate:[`none`,v,Wa,Ia]}],backface:[{backface:[`hidden`,`visible`]}],perspective:[{perspective:[h,Wa,Ia]}],"perspective-origin":[{"perspective-origin":x()}],rotate:[{rotate:fe()}],"rotate-x":[{"rotate-x":fe()}],"rotate-y":[{"rotate-y":fe()}],"rotate-z":[{"rotate-z":fe()}],scale:[{scale:pe()}],"scale-x":[{"scale-x":pe()}],"scale-y":[{"scale-y":pe()}],"scale-z":[{"scale-z":pe()}],"scale-3d":[`scale-3d`],skew:[{skew:me()}],"skew-x":[{"skew-x":me()}],"skew-y":[{"skew-y":me()}],transform:[{transform:[Wa,Ia,``,`none`,`gpu`,`cpu`]}],"transform-origin":[{origin:x()}],"transform-style":[{transform:[`3d`,`flat`]}],translate:[{translate:he()}],"translate-x":[{"translate-x":he()}],"translate-y":[{"translate-y":he()}],"translate-z":[{"translate-z":he()}],"translate-none":[`translate-none`],zoom:[{zoom:[Ta,Wa,Ia]}],accent:[{accent:P()}],appearance:[{appearance:[`none`,`auto`]}],"caret-color":[{caret:P()}],"color-scheme":[{scheme:[`normal`,`dark`,`light`,`light-dark`,`only-dark`,`only-light`]}],cursor:[{cursor:[`auto`,`default`,`pointer`,`wait`,`text`,`move`,`help`,`not-allowed`,`none`,`context-menu`,`progress`,`cell`,`crosshair`,`vertical-text`,`alias`,`copy`,`no-drop`,`grab`,`grabbing`,`all-scroll`,`col-resize`,`row-resize`,`n-resize`,`e-resize`,`s-resize`,`w-resize`,`ne-resize`,`nw-resize`,`se-resize`,`sw-resize`,`ew-resize`,`ns-resize`,`nesw-resize`,`nwse-resize`,`zoom-in`,`zoom-out`,Wa,Ia]}],"field-sizing":[{"field-sizing":[`fixed`,`content`]}],"pointer-events":[{"pointer-events":[`auto`,`none`]}],resize:[{resize:[`none`,``,`y`,`x`]}],"scroll-behavior":[{scroll:[`auto`,`smooth`]}],"scrollbar-thumb-color":[{"scrollbar-thumb":P()}],"scrollbar-track-color":[{"scrollbar-track":P()}],"scrollbar-gutter":[{"scrollbar-gutter":[`auto`,`stable`,`both`]}],"scrollbar-w":[{scrollbar:[`auto`,`thin`,`none`]}],"scroll-m":[{"scroll-m":w()}],"scroll-mx":[{"scroll-mx":w()}],"scroll-my":[{"scroll-my":w()}],"scroll-ms":[{"scroll-ms":w()}],"scroll-me":[{"scroll-me":w()}],"scroll-mbs":[{"scroll-mbs":w()}],"scroll-mbe":[{"scroll-mbe":w()}],"scroll-mt":[{"scroll-mt":w()}],"scroll-mr":[{"scroll-mr":w()}],"scroll-mb":[{"scroll-mb":w()}],"scroll-ml":[{"scroll-ml":w()}],"scroll-p":[{"scroll-p":w()}],"scroll-px":[{"scroll-px":w()}],"scroll-py":[{"scroll-py":w()}],"scroll-ps":[{"scroll-ps":w()}],"scroll-pe":[{"scroll-pe":w()}],"scroll-pbs":[{"scroll-pbs":w()}],"scroll-pbe":[{"scroll-pbe":w()}],"scroll-pt":[{"scroll-pt":w()}],"scroll-pr":[{"scroll-pr":w()}],"scroll-pb":[{"scroll-pb":w()}],"scroll-pl":[{"scroll-pl":w()}],"snap-align":[{snap:[`start`,`end`,`center`,`align-none`]}],"snap-stop":[{snap:[`normal`,`always`]}],"snap-type":[{snap:[`none`,`x`,`y`,`both`]}],"snap-strictness":[{snap:[`mandatory`,`proximity`]}],touch:[{touch:[`auto`,`none`,`manipulation`]}],"touch-x":[{"touch-pan":[`x`,`left`,`right`]}],"touch-y":[{"touch-pan":[`y`,`up`,`down`]}],"touch-pz":[`touch-pinch-zoom`],select:[{select:[`none`,`text`,`all`,`auto`]}],"will-change":[{"will-change":[`auto`,`scroll`,`contents`,`transform`,Wa,Ia]}],fill:[{fill:[`none`,...P()]}],"stroke-w":[{stroke:[wa,Ga,La,Ra]}],stroke:[{stroke:[`none`,...P()]}],"forced-color-adjust":[{"forced-color-adjust":[`auto`,`none`]}]},conflictingClassGroups:{"container-named":[`container-type`],overflow:[`overflow-x`,`overflow-y`],overscroll:[`overscroll-x`,`overscroll-y`],inset:[`inset-x`,`inset-y`,`inset-bs`,`inset-be`,`start`,`end`,`top`,`right`,`bottom`,`left`],"inset-x":[`right`,`left`],"inset-y":[`top`,`bottom`],flex:[`basis`,`grow`,`shrink`],gap:[`gap-x`,`gap-y`],p:[`px`,`py`,`ps`,`pe`,`pbs`,`pbe`,`pt`,`pr`,`pb`,`pl`],px:[`pr`,`pl`],py:[`pt`,`pb`],m:[`mx`,`my`,`ms`,`me`,`mbs`,`mbe`,`mt`,`mr`,`mb`,`ml`],mx:[`mr`,`ml`],my:[`mt`,`mb`],size:[`w`,`h`],"font-size":[`leading`],"fvn-normal":[`fvn-ordinal`,`fvn-slashed-zero`,`fvn-figure`,`fvn-spacing`,`fvn-fraction`],"fvn-ordinal":[`fvn-normal`],"fvn-slashed-zero":[`fvn-normal`],"fvn-figure":[`fvn-normal`],"fvn-spacing":[`fvn-normal`],"fvn-fraction":[`fvn-normal`],"line-clamp":[`display`,`overflow`],rounded:[`rounded-s`,`rounded-e`,`rounded-t`,`rounded-r`,`rounded-b`,`rounded-l`,`rounded-ss`,`rounded-se`,`rounded-ee`,`rounded-es`,`rounded-tl`,`rounded-tr`,`rounded-br`,`rounded-bl`],"rounded-s":[`rounded-ss`,`rounded-es`],"rounded-e":[`rounded-se`,`rounded-ee`],"rounded-t":[`rounded-tl`,`rounded-tr`],"rounded-r":[`rounded-tr`,`rounded-br`],"rounded-b":[`rounded-br`,`rounded-bl`],"rounded-l":[`rounded-tl`,`rounded-bl`],"border-spacing":[`border-spacing-x`,`border-spacing-y`],"border-w":[`border-w-x`,`border-w-y`,`border-w-s`,`border-w-e`,`border-w-bs`,`border-w-be`,`border-w-t`,`border-w-r`,`border-w-b`,`border-w-l`],"border-w-x":[`border-w-r`,`border-w-l`],"border-w-y":[`border-w-t`,`border-w-b`],"border-color":[`border-color-x`,`border-color-y`,`border-color-s`,`border-color-e`,`border-color-bs`,`border-color-be`,`border-color-t`,`border-color-r`,`border-color-b`,`border-color-l`],"border-color-x":[`border-color-r`,`border-color-l`],"border-color-y":[`border-color-t`,`border-color-b`],translate:[`translate-x`,`translate-y`,`translate-none`],"translate-none":[`translate`,`translate-x`,`translate-y`,`translate-z`],"scroll-m":[`scroll-mx`,`scroll-my`,`scroll-ms`,`scroll-me`,`scroll-mbs`,`scroll-mbe`,`scroll-mt`,`scroll-mr`,`scroll-mb`,`scroll-ml`],"scroll-mx":[`scroll-mr`,`scroll-ml`],"scroll-my":[`scroll-mt`,`scroll-mb`],"scroll-p":[`scroll-px`,`scroll-py`,`scroll-ps`,`scroll-pe`,`scroll-pbs`,`scroll-pbe`,`scroll-pt`,`scroll-pr`,`scroll-pb`,`scroll-pl`],"scroll-px":[`scroll-pr`,`scroll-pl`],"scroll-py":[`scroll-pt`,`scroll-pb`],touch:[`touch-x`,`touch-y`,`touch-pz`],"touch-x":[`touch`],"touch-y":[`touch`],"touch-pz":[`touch`]},conflictingClassGroupModifiers:{"font-size":[`leading`]},postfixLookupClassGroups:[`container-type`],orderSensitiveModifiers:[`*`,`**`,`after`,`backdrop`,`before`,`details-content`,`file`,`first-letter`,`first-line`,`marker`,`placeholder`,`selection`]}});function lo(...e){return co(Pi(e))}function uo({open:e,onDismiss:t,onClick:n,children:r,closable:i=!1,autoDismissSecs:a,anchorSelector:o,offsetX:s=12,offsetY:c=6,className:l,style:u,testId:f}){let p=(0,d.useRef)(t);(0,d.useEffect)(()=>{p.current=t});let m=(0,d.useRef)(n);(0,d.useEffect)(()=>{m.current=n});let h=a==null?0:Math.max(1,a)*1e3;(0,d.useEffect)(()=>{if(!e||h<=0)return;let t=setTimeout(()=>p.current(),h);return()=>clearTimeout(t)},[e,h]);let g=(0,d.useRef)(null);if((0,d.useLayoutEffect)(()=>{let t=g.current;if(!e||!t||o==null)return;let n=requestAnimationFrame(()=>{let e=t.offsetParent;if(!e)return;let n=e.getBoundingClientRect(),r=o?document.querySelector(o):null;if(r){let e=r.getBoundingClientRect();t.style.left=`${e.right-n.left+s}px`,t.style.top=`${e.bottom-n.top+c}px`}else t.style.left=`${n.width-t.offsetWidth-12}px`,t.style.top=`8px`});return()=>cancelAnimationFrame(n)},[e,o,s,c]),!e)return null;let _=i||a==null;return(0,T.jsxs)(`div`,{"data-testid":f,ref:g,className:lo(`flex items-center rounded-lg border border-border bg-popover text-xs text-muted-foreground shadow-lg`,o!=null&&`absolute z-60`,n&&`cursor-pointer`,l),style:u,onClick:()=>{p.current(),m.current?.()},children:[(0,T.jsx)(`span`,{className:`flex items-center px-3 py-1.5 whitespace-nowrap`,children:r}),_&&(0,T.jsx)(`button`,{type:`button`,"aria-label":`close hint`,className:`mr-1.5 flex items-center rounded p-0.5 text-muted-foreground/70 hover:bg-muted hover:text-foreground`,onClick:e=>{e.stopPropagation(),p.current()},children:(0,T.jsx)(ji,{size:12})})]})}function fo(e){return{value:(0,d.useSyncExternalStore)(t=>e.subscribe(t),()=>e.get(),()=>e.get()),error:e.getError()}}function po(e,t){let n=(0,d.useRef)(t);(n.current.length!==t.length||n.current.some((e,n)=>e!==t[n]))&&e(),n.current=t}var mo=t(c(),1);function ho(e,t){let{onRelease:n,moveTolerancePx:r=0}=t??{},i=(0,d.useRef)(null),a=(0,d.useRef)(!1),o=(0,d.useRef)(null),s=(0,d.useRef)(e),c=(0,d.useRef)(n);(0,d.useEffect)(()=>{s.current=e,c.current=n},[e,n]);let l=(0,d.useCallback)(()=>{o.current?.(),o.current=null},[]),u=(0,d.useCallback)(()=>{i.current!==null&&(clearTimeout(i.current),i.current=null),l()},[l]);return(0,d.useEffect)(()=>u,[u]),{startLongPress:(0,d.useCallback)(e=>{if(u(),a.current=!1,i.current=window.setTimeout(()=>{i.current=null,l(),a.current=!0,s.current()},500),r<=0||e===void 0)return;let t={x:e.clientX,y:e.clientY},n=e=>{Math.hypot(e.clientX-t.x,e.clientY-t.y)>r&&u()},c=()=>l();document.addEventListener(`pointermove`,n,!0),document.addEventListener(`pointerup`,c,!0),document.addEventListener(`pointercancel`,c,!0),o.current=()=>{document.removeEventListener(`pointermove`,n,!0),document.removeEventListener(`pointerup`,c,!0),document.removeEventListener(`pointercancel`,c,!0)}},[u,r,l]),endLongPress:(0,d.useCallback)(()=>{u(),c.current?.()},[u]),suppressClickCapture:(0,d.useCallback)(e=>{a.current&&(a.current=!1,e.preventDefault(),e.stopPropagation())},[]),suppressNextClick:(0,d.useCallback)(()=>{a.current=!0},[])}}var go=null;function _o({children:e}){return(0,T.jsx)(T.Fragment,{children:e})}function vo({mobileTrigger:e,children:t,visible:n,show:r,hide:i,triggerRef:a}){let o=mt(),s=e??`auto`,c=Array.isArray(t)?t[0]:t,l=c&&typeof c==`object`&&`props`in c?c.props??null:null,u=l!=null&&(l.onClick!==void 0||l.onPointerDown!==void 0),f=o&&s!==`none`&&(s===`tap`||!u),p=o&&s===`auto`&&u,{startLongPress:m,endLongPress:h,suppressClickCapture:g}=ho(()=>r(),{onRelease:()=>{n&&i()}});return(0,d.useEffect)(()=>{if(!f)return;let e=e=>{a.current?.contains(e.target)||i()};return document.addEventListener(`pointerdown`,e,!0),()=>document.removeEventListener(`pointerdown`,e,!0)},[f,i,a]),{tapTrigger:f,longPressTrigger:p,startLongPress:m,endLongPress:h,suppressClickCapture:g}}function yo({tapTrigger:e,longPressTrigger:t,hoverOnly:n,show:r,hide:i,toggleTap:a,startLongPress:o,endLongPress:s,suppressClickCapture:c}){return e||t?{onPointerEnter:void 0,onPointerLeave:void 0,onMouseEnter:void 0,onMouseLeave:void 0,onFocus:void 0,onBlur:void 0,onPointerDown:e?a:o,onPointerUp:t?s:void 0,onPointerCancel:t?s:void 0,onClickCapture:t?c:void 0}:{onPointerEnter:r,onPointerLeave:i,onMouseEnter:r,onMouseLeave:i,onFocus:n?void 0:r,onBlur:n?void 0:i,onPointerDown:void 0,onPointerUp:void 0,onPointerCancel:void 0,onClickCapture:void 0}}function F({label:e,wrapperStyle:t,hoverOnly:n,mobileTrigger:r,panelMaxWidth:i,children:a}){let o=(0,d.useRef)(null),s=(0,d.useRef)(null),[c,l]=(0,d.useState)(!1),[u,f]=(0,d.useState)(!1),[p,m]=(0,d.useState)({top:0,left:0,placement:`bottom`});(0,d.useLayoutEffect)(()=>{if(!e||!c||!u)return;let t=o.current?.getBoundingClientRect(),n=s.current;if(!t||!n)return;let r=n.offsetWidth,i=n.offsetHeight;if(!r)return;let a=t.left+t.width/2,l=r/2,d=window.innerWidth,f=window.innerHeight,p=Math.max(l+8,Math.min(a,d-l-8)),h=t.bottom+6+i<=f-8,g=t.top-6-i>=8,_=h||!g?`bottom`:`top`;m({top:_===`bottom`?t.bottom+6:t.top-6,left:p,placement:_})},[e,c,u]);let h=(0,d.useRef)(null),g=(0,d.useCallback)(()=>{let e=go;e&&e!==h.current&&e.hide(),go=h.current;let t=o.current?.getBoundingClientRect();t&&m({top:t.bottom+6,left:t.left+t.width/2,placement:`bottom`}),f(!0),l(!0)},[]),_=(0,d.useCallback)(()=>{l(!1),go===h.current&&(go=null)},[]);h.current||={hide:_};let v=()=>{c?_():g()},y=vo({mobileTrigger:r,children:a,visible:c,show:g,hide:_,triggerRef:o});if((0,d.useEffect)(()=>()=>{go===h.current&&(go=null)},[]),(0,d.useEffect)(()=>{if(!c||y.tapTrigger||y.longPressTrigger)return;let e=e=>{let t=o.current?.getBoundingClientRect();if(!t)return;let{clientX:n,clientY:r}=e;(n<t.left||n>t.right||r<t.top||r>t.bottom)&&_()};return document.addEventListener(`pointermove`,e,!0),()=>document.removeEventListener(`pointermove`,e,!0)},[c,y.tapTrigger,y.longPressTrigger,_]),!e)return(0,T.jsx)(T.Fragment,{children:a});let b=u&&typeof document<`u`?(0,mo.createPortal)((0,T.jsx)(`div`,{ref:s,role:`tooltip`,"data-slot":`tooltip-content`,style:{position:`fixed`,top:p.top,left:p.left,transform:p.placement===`top`?`translate(-50%, -100%)`:`translateX(-50%)`,zIndex:9999,width:`max-content`,maxWidth:`min(${i==null?`max(40vw, 40em)`:typeof i==`number`?`${i}px`:i}, calc(100vw - 16px))`,maxHeight:`calc(100dvh - 16px)`,overflowY:`auto`,whiteSpace:`pre-line`,overflowWrap:`break-word`,background:`var(--bg-panel)`,color:`var(--text)`,border:`1px solid var(--border)`,borderRadius:`var(--radius-md, 6px)`,padding:`4px 8px`,fontSize:`var(--text-sm)`,lineHeight:1.5,boxShadow:`0 4px 16px -2px var(--shadow-strong)`,pointerEvents:`none`,display:c?`block`:`none`},children:e}),document.body):null;return(0,T.jsxs)(T.Fragment,{children:[(0,T.jsx)(`span`,{ref:o,"data-slot":`tooltip-trigger`,title:``,...yo({tapTrigger:y.tapTrigger,longPressTrigger:y.longPressTrigger,hoverOnly:n,show:g,hide:_,toggleTap:v,startLongPress:y.startLongPress,endLongPress:y.endLongPress,suppressClickCapture:y.suppressClickCapture}),onPointerMove:e=>e.stopPropagation(),style:{display:`inline-flex`,...t},children:a}),b]})}function bo({label:e,hint:t,children:n,bare:r}){return(0,T.jsxs)(xo,{bare:r,children:[(0,T.jsxs)(`div`,{style:{display:`flex`,alignItems:`center`,gap:6,minWidth:0},children:[(0,T.jsx)(`span`,{style:{fontSize:`var(--text-lg)`,color:`var(--text)`,fontWeight:500,whiteSpace:`nowrap`},children:e}),t&&(0,T.jsx)(F,{label:t,children:(0,T.jsx)(`span`,{role:`img`,"aria-label":t,style:{fontSize:`var(--text-sm)`,color:`var(--text-dim)`,cursor:`help`,lineHeight:1,flexShrink:0},children:`ⓘ`})})]}),(0,T.jsx)(`div`,{style:{flex:1,minWidth:0,maxWidth:320},children:n})]})}function xo({children:e,bare:t}){return(0,T.jsx)(`div`,{style:{display:`flex`,alignItems:`center`,justifyContent:`space-between`,gap:16,padding:`10px 14px`,...t?{}:{border:`1px solid var(--border)`,borderRadius:10,background:`var(--bg-input)`}},children:e})}var So=[{key:`enableAnalytics`,kind:`bool`},{key:`enableInstallTelemetry`,kind:`bool`,default:!0},{key:`httpProxy`,kind:`string`},{key:`trackingId`,kind:`string`},{key:`httpIdleTimeoutMs`,kind:`int`},{key:`websocketConnectTimeoutMs`,kind:`int`},{key:`branchSummary`,kind:`object`,fields:[{key:`reserveTokens`,kind:`int`},{key:`skipPrompt`,kind:`bool`}]},{key:`images`,kind:`object`,fields:[{key:`autoResize`,kind:`bool`,default:!0,hint:`preferences.pi.autoResizeHint`},{key:`blockImages`,kind:`bool`,hint:`preferences.pi.blockImagesHint`}]}],Co={};function wo(){let{t:e}=M(),t=(0,d.useSyncExternalStore)(wt.subscribe,()=>wt.get()?.piSettings??Co),n=e=>{Kn(`/api/preferences`,{method:`PUT`,headers:{"Content-Type":`application/json`},body:JSON.stringify({firstPaint:{piSettings:e}})},{loading:`silent`}).finally(()=>void wt.refresh().catch(e=>console.error(`[pi-web] refresh preferences:`,e)))},r=(e,t)=>n({[e]:t}),i=(e,r,i)=>{let a=t[e]??{};n({[e]:{...a,[r]:i}})};return(0,T.jsx)(`div`,{style:{height:`100%`,overflowY:`auto`,padding:`18px 20px 40px`,display:`flex`,flexDirection:`column`,gap:8,maxWidth:640},children:So.map(n=>(0,T.jsx)(To,{spec:n,value:t[n.key],t:e,setValue:r,setSub:i},n.key))})}function To({spec:e,value:t,t:n,setValue:r,setSub:i}){return(0,T.jsx)(bo,{label:n(`preferences.pi.${e.key}`),hint:n(`preferences.pi.${e.key}Hint`),children:(0,T.jsxs)(`div`,{style:{display:`flex`,flexDirection:`column`,gap:8,width:`100%`},children:[e.kind===`bool`&&(0,T.jsx)(`label`,{style:{display:`flex`,alignItems:`center`,gap:6,fontSize:`var(--text-base)`,color:`var(--text-muted)`,whiteSpace:`nowrap`},children:(0,T.jsx)(`input`,{type:`checkbox`,checked:(t??e.default)===!0,onChange:t=>r(e.key,t.target.checked),"aria-label":n(`preferences.pi.${e.key}`)})}),e.kind===`string`&&(0,T.jsx)(Do,{value:typeof t==`string`?t:``,placeholder:n(`preferences.pi.unset`),onCommit:t=>r(e.key,t),ariaLabel:n(`preferences.pi.${e.key}`)}),e.kind===`int`&&(0,T.jsx)(Do,{value:typeof t==`number`?String(t):``,placeholder:n(`preferences.pi.unset`),numeric:!0,onCommit:t=>r(e.key,Number(t)),ariaLabel:n(`preferences.pi.${e.key}`)}),e.kind===`object`&&e.fields?.map(r=>(0,T.jsx)(Eo,{sub:r,value:t?.[r.key],t:n,setSub:i,specKey:e.key},r.key))]})})}function Eo({specKey:e,sub:t,value:n,t:r,setSub:i}){let a=n=>i(e,t.key,n),o=r(`preferences.pi.${t.key}`);return(0,T.jsxs)(`label`,{style:{display:`flex`,alignItems:`center`,gap:6,fontSize:`var(--text-base)`,color:`var(--text-muted)`,whiteSpace:`nowrap`},children:[(0,T.jsx)(`span`,{style:{minWidth:120},children:o}),t.hint&&(0,T.jsx)(F,{label:r(t.hint),children:(0,T.jsx)(`span`,{role:`img`,"aria-label":r(t.hint),style:{fontSize:`var(--text-sm)`,color:`var(--text-dim)`,cursor:`help`,lineHeight:1,flexShrink:0},children:`ⓘ`})}),t.kind===`bool`&&(0,T.jsx)(`input`,{type:`checkbox`,checked:(n??t.default)===!0,onChange:e=>a(e.target.checked),"aria-label":o}),t.kind===`string`&&(0,T.jsx)(Do,{value:typeof n==`string`?n:``,placeholder:r(`preferences.pi.unset`),onCommit:a,ariaLabel:o}),t.kind===`int`&&(0,T.jsx)(Do,{value:typeof n==`number`?String(n):``,placeholder:r(`preferences.pi.unset`),numeric:!0,onCommit:e=>a(Number(e)),ariaLabel:o})]})}function Do({value:e,placeholder:t,numeric:n,onCommit:r,ariaLabel:i}){let[a,o]=(0,d.useState)(e);return po(()=>o(e),[e]),(0,T.jsx)(`input`,{type:n?`number`:`text`,min:n?1:void 0,placeholder:t,value:a,onChange:e=>o(e.target.value),onBlur:()=>{let e=a.trim();if(e!==``){if(n){let t=Number(e);if(!Number.isInteger(t)||t<=0)return}r(e)}},"aria-label":i,style:{width:200,padding:`4px 6px`,fontSize:`var(--text-base)`,fontFamily:`var(--font-mono)`,color:`var(--text)`,background:`var(--bg-input)`,border:`1px solid var(--border)`,borderRadius:6,outline:`none`}})}var Oo=1200,ko=320,Ao=420;function jo(e,t,n){return Math.round(Math.max(t,Math.min(Math.max(t,n),Number.isFinite(e)?e:t)))}function Mo(e){let{viewportWidth:t,rightPanelOpen:n,rightPanelWidth:r}=e;if(t<=640)return 480;let i=t<960,a=i?ko:Ao,o=!i&&n?r:0;return Math.min(480,t-a-o)}function No(e){let{viewportWidth:t,sidebarOpen:n,sidebarWidth:r}=e;if(t<960)return Oo;let i=n?r:0;return Math.min(Oo,t-Ao-i)}var I={xs:10,sm:11,base:12,lg:13,xl:14,"2xl":15,"3xl":16,"4xl":18,"5xl":20};function Po({label:e,onClick:t}){return(0,T.jsx)(`button`,{type:`button`,onClick:t,"aria-label":e,title:e,style:{display:`flex`,alignItems:`center`,justifyContent:`center`,width:22,height:22,padding:0,border:`1px solid var(--border)`,borderRadius:5,color:`var(--text-muted)`,cursor:`pointer`,flexShrink:0},children:(0,T.jsxs)(`svg`,{width:I.base,height:I.base,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`,"aria-hidden":`true`,children:[(0,T.jsx)(`path`,{d:`M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8`}),(0,T.jsx)(`path`,{d:`M3 3v5h5`})]})})}var Fo={boxSizing:`border-box`,background:`var(--bg-input, var(--bg))`,color:`var(--text)`,border:`1px solid var(--border)`,borderRadius:4,padding:`4px 8px`,fontSize:`var(--text-base)`,fontFamily:`var(--font-mono)`};function Io({value:e,onChange:t,parse:n}){let[r,i]=(0,d.useState)(String(e));return po(()=>{i(String(e))},[e]),{draft:r,commit:e=>{i(e);let r=n(e);r!==null&&t(r)}}}function Lo({tooltip:e=!1,offText:t,...n}){let{t:r,labelKey:i,unitText:a,rangeText:o,resetText:s,defaultValue:c,min:l,max:u}=n,{draft:d,commit:f}=Io(n),p=t!=null&&n.value===c?t:o,m=(0,T.jsx)(`input`,{type:`number`,min:l,max:u,step:1,value:d,onChange:e=>f(e.target.value),"aria-label":r(i),...e?{}:{title:p},style:{flex:1,minWidth:0,...Fo}}),h=(0,T.jsx)(Po,{label:s,onClick:()=>n.onChange(c)});return(0,T.jsxs)(`div`,{style:{display:`flex`,alignItems:`center`,gap:8,width:`100%`},children:[e?(0,T.jsx)(F,{label:p,wrapperStyle:{flex:1,display:`flex`},children:m}):m,(0,T.jsx)(`span`,{style:{fontFamily:`var(--font-mono)`,fontSize:`var(--text-sm)`,color:`var(--text-dim)`,whiteSpace:`nowrap`},children:a}),e?(0,T.jsx)(F,{label:s,children:h}):h]})}function Ro({unitSuffix:e,offText:t,tooltip:n=!0,...r}){let{t:i,labelKey:a,rangeText:o,resetText:s,value:c,defaultValue:l,min:u,max:d}=r,{draft:f,commit:p}=Io(r);return(0,T.jsxs)(`div`,{role:`menu`,"aria-label":i(a),style:{background:`var(--bg-panel)`,borderLeft:`1px solid var(--border)`,borderRight:`1px solid var(--border)`,borderBottom:`1px solid var(--border)`,padding:`10px 12px 12px`},children:[(0,T.jsxs)(`div`,{style:{display:`flex`,alignItems:`center`,justifyContent:`space-between`,fontSize:`var(--text-base)`,color:`var(--text-muted)`,marginBottom:8},children:[(0,T.jsx)(`span`,{children:i(a)}),(0,T.jsxs)(`span`,{style:{display:`flex`,alignItems:`center`,gap:8},children:[(0,T.jsxs)(`span`,{style:{fontFamily:`var(--font-mono)`,color:`var(--text)`,fontWeight:600},children:[c,e]}),(()=>{let e=(0,T.jsx)(Po,{label:s,onClick:()=>r.onChange(l)});return n?(0,T.jsx)(F,{label:s,children:e}):e})()]})]}),(0,T.jsx)(`input`,{type:`number`,min:u,max:d,step:1,value:f,onChange:e=>p(e.target.value),"aria-label":i(a),style:{width:`100%`,...Fo}}),(0,T.jsx)(`div`,{style:{fontSize:`var(--text-xs)`,color:`var(--text-dim)`,marginTop:4,textAlign:`center`},children:t!=null&&c===l?t:o})]})}function zo({value:e,onChange:t,t:n,embedded:r}){let i={value:e,onChange:t,parse:an,min:1,max:nn,defaultValue:200,t:n,labelKey:`theme.scrollStep`,unitText:n(`scrollStep.unit`),rangeText:n(`scrollStep.range`),resetText:n(`scrollStep.reset`,{n:200})};return r?(0,T.jsx)(Lo,{...i,tooltip:!0}):(0,T.jsx)(Ro,{...i,unitSuffix:`px`})}function Bo({sidebarWidth:e,onSidebarWidthChange:t,widgetPanelWidth:n,onWidgetPanelWidthChange:r}){let{t:i}=M(),{isDark:a,toggleTheme:o,fontScale:s,setFontScale:c,scrollStepPx:l,setScrollStepPx:u,recentBlocksExpanded:d,setRecentBlocksExpanded:f}=er();return(0,T.jsxs)(`div`,{style:{height:`100%`,overflowY:`auto`,padding:`18px 20px 40px`,display:`flex`,flexDirection:`column`,gap:8,maxWidth:640},children:[(0,T.jsx)(bo,{label:i(`theme.toggleTheme`),children:(0,T.jsx)(`div`,{style:{display:`flex`,alignItems:`center`,gap:16,width:`100%`},children:[{value:!0,key:`dark`,labelKey:`theme.darkMode`},{value:!1,key:`light`,labelKey:`theme.lightMode`}].map(({value:e,key:t,labelKey:n})=>(0,T.jsxs)(`label`,{style:{display:`flex`,alignItems:`center`,gap:6,fontSize:`var(--text-base)`,color:`var(--text)`,cursor:`pointer`,whiteSpace:`nowrap`},children:[(0,T.jsx)(`input`,{type:`radio`,name:`theme-mode`,checked:a===e,onChange:e=>{let t=e.currentTarget.getBoundingClientRect();o({x:t.left+t.width/2,y:t.top+t.height/2})},style:{accentColor:`var(--accent)`,cursor:`pointer`,margin:0}}),i(n)]},t))})}),(0,T.jsx)(bo,{label:i(`theme.fontSize`),children:(0,T.jsxs)(`div`,{style:{display:`flex`,alignItems:`center`,gap:10,width:`100%`},children:[(0,T.jsx)(`input`,{type:`range`,min:.85,max:1.3,step:.05,value:s,onChange:e=>c(Number(e.target.value)),"aria-label":i(`theme.fontSize`),style:{flex:1,accentColor:`var(--accent)`,cursor:`pointer`}}),(0,T.jsxs)(`span`,{style:{fontFamily:`var(--font-mono)`,fontSize:`var(--text-base)`,color:`var(--text)`,fontWeight:600,minWidth:44,textAlign:`right`},children:[Math.round(s*100),`%`]})]})}),(0,T.jsx)(bo,{label:i(`theme.scrollStep`),hint:i(`scrollStep.hint`),children:(0,T.jsx)(zo,{value:l,onChange:u,t:i,embedded:!0})}),(0,T.jsx)(bo,{label:i(`theme.recentBlocksExpanded`),hint:i(`recentBlocks.hint`),children:(0,T.jsx)(Ho,{value:d,onChange:f,t:i})}),(0,T.jsx)(bo,{label:i(`layout.sidebarWidth`),hint:i(`layout.widthRange`,{min:180,max:480}),children:(0,T.jsx)(Vo,{value:e,onChange:t,min:180,max:480,resetTo:280,label:i(`layout.sidebarWidth`),t:i})}),(0,T.jsx)(bo,{label:i(`layout.widgetPanelWidth`),hint:i(`layout.widthRange`,{min:200,max:560}),children:(0,T.jsx)(Vo,{value:n,onChange:r,min:200,max:560,resetTo:280,label:i(`layout.widgetPanelWidth`),t:i})}),` `]})}function Vo({value:e,onChange:t,min:n,max:r,resetTo:i,label:a,t:o}){return(0,T.jsxs)(`div`,{style:{display:`flex`,alignItems:`center`,gap:8,minWidth:0},children:[(0,T.jsx)(`input`,{type:`number`,value:e,min:n,max:r,onChange:e=>{let i=Number.parseInt(e.target.value,10);Number.isFinite(i)&&t(Math.min(r,Math.max(n,i)))},onBlur:()=>t(e),"aria-label":a,style:{width:80,padding:`5px 8px`,border:`1px solid var(--border)`,borderRadius:7,background:`var(--bg)`,color:`var(--text)`,fontSize:`var(--text-lg)`,fontVariantNumeric:`tabular-nums`,outline:`none`}}),(0,T.jsx)(`span`,{style:{fontSize:`var(--text-sm)`,color:`var(--text-dim)`},children:`px`}),(0,T.jsx)(F,{label:o(`layout.widthReset`,{value:i}),children:(0,T.jsx)(Po,{label:o(`layout.widthReset`,{value:i}),onClick:()=>t(i)})})]})}function Ho({value:e,onChange:t,t:n}){return(0,T.jsx)(Lo,{tooltip:!0,value:e,onChange:t,parse:qt,min:0,max:20,defaultValue:0,t:n,labelKey:`theme.recentBlocksExpanded`,unitText:n(`longBlock.blocks`),rangeText:n(`recentBlocks.range`),resetText:n(`recentBlocks.reset`,{n:0})})}function Uo(e,t){let n=[],r=document.createTreeWalker(e,NodeFilter.SHOW_TEXT,{acceptNode(e){if(!(e.nodeValue??``).trim())return NodeFilter.FILTER_REJECT;let n=e.parentElement;if(!n)return NodeFilter.FILTER_REJECT;let r=n.tagName;return r===`SCRIPT`||r===`STYLE`||r===`NOSCRIPT`||t?.(e)===!0?NodeFilter.FILTER_REJECT:NodeFilter.FILTER_ACCEPT}}),i=r.nextNode();for(;i;)n.push(i),i=r.nextNode();return n}function Wo(e,t){let n=Uo(e,t),r=[],i=[],a=0;for(let e of n)i.push(a),r.push(e.nodeValue??``),a+=e.nodeValue?.length??0;return{text:r.join(``),nodes:n,starts:i}}function Go(e,t){let n=0,r=e.starts.length-1;for(;n<r;){let i=n+r+1>>1;e.starts[i]<=t?n=i:r=i-1}return{node:e.nodes[n],offset:t-e.starts[n]}}function Ko(e,t,n){let r=Wo(e,n),i=r.text.toLowerCase(),a=t.toLowerCase();if(!a)return[];let o=[],s=i.indexOf(a);for(;s!==-1&&o.length<1e4;){let e=document.createRange(),t=Go(r,s),n=Go(r,s+a.length);e.setStart(t.node,t.offset),e.setEnd(n.node,n.offset),o.push(e),s=i.indexOf(a,s+a.length)}return o}function qo(){return typeof CSS<`u`&&`highlights`in CSS}var Jo=`config-find-hits`,Yo=`config-pane-`,Xo=250,Zo=`[data-tab-id="config"]`;function Qo(e,t,n,r){return{x:Math.min(Math.max(4,e),Math.max(4,r.w-n.w-4)),y:Math.min(Math.max(4,t),Math.max(4,r.h-n.h-4))}}function $o({open:e,query:t,onQueryChange:n,onClose:r,contentRef:i,onCountsChange:a,reindexKey:o}){let{t:s}=M(),c=(0,d.useRef)(null),l=(0,d.useRef)(null),[u,f]=(0,d.useState)(0),p=t.trim(),m=(0,d.useRef)(null),h=(0,d.useRef)(null);return(0,d.useLayoutEffect)(()=>{if(!e){m.current=null;return}let t=l.current,n=t?.offsetParent;if(t&&n&&n.offsetWidth>0){let e=n.getBoundingClientRect(),r=document.querySelector(Zo),i,a;if(r){let t=r.getBoundingClientRect();i=t.right-e.left+12,a=t.bottom-e.top+6}else i=e.width-t.offsetWidth-12,a=8;let o=Qo(i,a,{w:t.offsetWidth,h:t.offsetHeight},{w:e.width,h:e.height});t.style.left=`${o.x}px`,t.style.top=`${o.y}px`,t.style.visibility=`visible`,m.current=o}c.current?.focus()},[e]),(0,d.useEffect)(()=>{let t=i.current;if(!e||!t||p.length<2){qo()&&CSS.highlights.delete(Jo),f(0),a(null);return}let n=!1,r=0,o=()=>{if(n)return;let e=Ko(t,p),r={};for(let t of e){let e=t.startContainer,n=((e.nodeType===Node.TEXT_NODE?e.parentElement:e)?.closest(`[data-testid^="${Yo}"]`))?.getAttribute(`data-testid`)?.slice(12);n&&(r[n]=(r[n]??0)+1)}qo()&&CSS.highlights.set(Jo,new Highlight(...e)),f(e.length),a(r)};o();let s=new MutationObserver(()=>{window.clearTimeout(r),r=window.setTimeout(o,Xo)});return s.observe(t,{childList:!0,subtree:!0,characterData:!0}),()=>{n=!0,window.clearTimeout(r),s.disconnect(),qo()&&CSS.highlights.delete(Jo)}},[e,p,o,i,a]),e?(0,T.jsxs)(`div`,{ref:l,className:`config-find-bar`,role:`search`,"data-testid":`config-find-bar`,style:{visibility:`hidden`},onPointerDown:e=>{e.target.closest(`input,button`)||m.current&&(e.currentTarget.setPointerCapture(e.pointerId),h.current={client:{x:e.clientX,y:e.clientY},start:m.current})},onPointerMove:e=>{let t=h.current,n=l.current,r=n?.offsetParent;if(!t||!n||!r)return;let i=r.getBoundingClientRect(),a=Qo(t.start.x+e.clientX-t.client.x,t.start.y+e.clientY-t.client.y,{w:n.offsetWidth,h:n.offsetHeight},{w:i.width,h:i.height});n.style.left=`${a.x}px`,n.style.top=`${a.y}px`,m.current=a},onPointerUp:e=>{h.current=null,e.currentTarget.releasePointerCapture(e.pointerId)},children:[(0,T.jsx)(`span`,{className:`config-find-grip`,"aria-hidden":`true`,children:(0,T.jsx)(Vr,{size:I.base})}),(0,T.jsx)(`input`,{ref:c,className:`file-find-input`,"data-testid":`config-find-input`,type:`text`,value:t,placeholder:s(`config.search.placeholder`),"aria-label":s(`config.search.open`),onChange:e=>n(e.target.value),onKeyDown:e=>{e.key===`Escape`&&(e.preventDefault(),r())}}),(0,T.jsx)(`span`,{className:`file-find-count`,"data-testid":`config-find-count`,children:p.length>=2?u>0?s(`config.search.matchCount`,{count:u}):s(`config.search.noResults`):``}),(0,T.jsx)(`button`,{type:`button`,className:`file-find-btn`,"aria-label":s(`i18n.close`),onClick:r,children:(0,T.jsx)(ji,{size:I.base})})]}):null}var es=`codemode`,ts=`tool_search`,ns=[`grep`,`find`,`ls`,`powershell`];function rs({names:e,selected:t,onToggle:n,disabled:r}){let{t:i}=M();return(0,T.jsx)(`div`,{style:{display:`flex`,flexWrap:`wrap`,gap:6},children:e.map(e=>{let a=t.includes(e),o=i(`preferences.defaultTools.toolDesc.${e}`);return(0,T.jsx)(F,{label:o,children:(0,T.jsx)(`button`,{type:`button`,disabled:r,onClick:()=>n(e),style:{padding:`3px 10px`,borderRadius:999,border:`1px solid ${a?`var(--accent)`:`var(--border)`}`,background:a?`color-mix(in srgb, var(--accent) 12%, transparent)`:`transparent`,color:a?`var(--accent)`:`var(--text-dim)`,fontFamily:`var(--font-mono)`,fontSize:`var(--text-sm)`,cursor:r?`not-allowed`:`pointer`},children:e})},e)})})}var is=e=>typeof e==`boolean`?`${e}`:e===0?`0`:e,as=Pi,os=(e,t)=>n=>{if(t?.variants==null)return as(e,n?.class,n?.className);let{variants:r,defaultVariants:i}=t,a=Object.keys(r).map(e=>{let t=n?.[e],a=i?.[e];if(t===null)return null;let o=is(t)||is(a);return r[e][o]}),o=n&&Object.entries(n).reduce((e,t)=>{let[n,r]=t;return r===void 0||(e[n]=r),e},{});return as(e,a,t?.compoundVariants?.reduce((e,t)=>{let{class:n,className:r,...a}=t;return Object.entries(a).every(e=>{let[t,n]=e;return Array.isArray(n)?n.includes({...i,...o}[t]):{...i,...o}[t]===n})?[...e,n,r]:e},[]),n?.class,n?.className)},ss=Object.defineProperty,cs=(e,t)=>ss(e,`name`,{value:t,configurable:!0});function ls(e,t){if(typeof e==`function`)return e(t);e!=null&&(e.current=t)}cs(ls,`setRef`);function us(...e){return t=>{let n=!1,r=e.map(e=>{let r=ls(e,t);return!n&&typeof r==`function`&&(n=!0),r});if(n)return()=>{for(let t=0;t<r.length;t++){let n=r[t];typeof n==`function`?n():ls(e[t],null)}}}}cs(us,`composeRefs`);function ds(...e){return d.useCallback(us(...e),e)}cs(ds,`useComposedRefs`);var fs=Object.defineProperty,ps=(e,t)=>fs(e,`name`,{value:t,configurable:!0});function ms(e){let t=d.forwardRef((t,n)=>{let{children:r,...i}=t,a=null,o=!1,s=[];Cs(r)&&typeof Ds==`function`&&(r=Ds(r._payload)),d.Children.forEach(r,e=>{if(xs(e)){o=!0;let t=e,n=`child`in t.props?t.props.child:t.props.children;Cs(n)&&typeof Ds==`function`&&(n=Ds(n._payload)),a=vs(t,n),s.push(a?.props?.children)}else s.push(e)}),a?a=d.cloneElement(a,void 0,s):!o&&d.Children.count(r)===1&&d.isValidElement(r)&&(a=r);let c=a?bs(a):void 0,l=ds(n,c);if(!a){if(r||r===0)throw Error(o?Es(e):Ts(e));return r}let u=ys(i,a.props??{});return a.type!==d.Fragment&&(u.ref=n?l:c),d.cloneElement(a,u)});return t.displayName=`${e}.Slot`,t}ps(ms,`createSlot`);var hs=ms(`Slot`),gs=Symbol.for(`radix.slottable`);function _s(e){let t=ps(e=>`child`in e?e.children(e.child):e.children,`Slottable`);return t.displayName=`${e}.Slottable`,t.__radixId=gs,t}ps(_s,`createSlottable`);var vs=ps((e,t)=>{if(`child`in e.props){let t=e.props.child;return d.isValidElement(t)?d.cloneElement(t,void 0,e.props.children(t.props.children)):null}return d.isValidElement(t)?t:null},`getSlottableElementFromSlottable`);function ys(e,t){let n={...t};for(let r in t){let i=e[r],a=t[r];/^on[A-Z]/.test(r)?i&&a?n[r]=(...e)=>{let t=a(...e);return i(...e),t}:i&&(n[r]=i):r===`style`?n[r]={...i,...a}:r===`className`&&(n[r]=[i,a].filter(Boolean).join(` `))}return{...e,...n}}ps(ys,`mergeProps`);function bs(e){let t=Object.getOwnPropertyDescriptor(e.props,`ref`)?.get,n=t&&`isReactWarning`in t&&t.isReactWarning;return n?e.ref:(t=Object.getOwnPropertyDescriptor(e,`ref`)?.get,n=t&&`isReactWarning`in t&&t.isReactWarning,n?e.props.ref:e.props.ref||e.ref)}ps(bs,`getElementRef`);function xs(e){return d.isValidElement(e)&&typeof e.type==`function`&&`__radixId`in e.type&&e.type.__radixId===gs}ps(xs,`isSlottable`);var Ss=Symbol.for(`react.lazy`);function Cs(e){return typeof e==`object`&&!!e&&`$$typeof`in e&&e.$$typeof===Ss&&`_payload`in e&&ws(e._payload)}ps(Cs,`isLazyComponent`);function ws(e){return typeof e==`object`&&!!e&&`then`in e}ps(ws,`isPromiseLike`);var Ts=ps(e=>`${e} failed to slot onto its children. Expected a single React element child or \`Slottable\`.`,`createSlotError`),Es=ps(e=>`${e} failed to slot onto its \`Slottable\`. Expected \`Slottable\` to receive a single React element child.`,`createSlottableError`),Ds=d.use,Os=Object.defineProperty,ks=(e,t)=>Os(e,`name`,{value:t,configurable:!0}),As=[`a`,`button`,`div`,`form`,`h2`,`h3`,`img`,`input`,`label`,`li`,`nav`,`ol`,`p`,`select`,`span`,`svg`,`ul`].reduce((e,t)=>{let n=ms(`Primitive.${t}`),r=d.forwardRef((e,r)=>{let{asChild:i,...a}=e,o=i?n:t;return typeof window<`u`&&(window[Symbol.for(`radix-ui`)]=!0),(0,T.jsx)(o,{...a,ref:r})});return r.displayName=`Primitive.${t}`,{...e,[t]:r}},{});function js(e,t){e&&mo.flushSync(()=>e.dispatchEvent(t))}ks(js,`dispatchDiscreteCustomEvent`);var Ms=Object.defineProperty,Ns=(e,t)=>Ms(e,`name`,{value:t,configurable:!0});function Ps(e,t){let n=d.createContext(t);n.displayName=e+`Context`;let r=Ns(e=>{let{children:t,...r}=e,i=d.useMemo(()=>r,Object.values(r));return(0,T.jsx)(n.Provider,{value:i,children:t})},`Provider`);r.displayName=e+`Provider`;function i(r,i={}){let{optional:a=!1}=i,o=d.useContext(n);if(o)return o;if(t!==void 0)return t;if(!a)throw Error(`\`${r}\` must be used within \`${e}\``)}return Ns(i,`useContext`),[r,i]}Ns(Ps,`createContext`);function Fs(e,t=[]){let n=[];function r(t,r){let i=d.createContext(r);i.displayName=t+`Context`;let a=n.length;n=[...n,r];let o=Ns(t=>{let{scope:n,children:r,...o}=t,s=n?.[e]?.[a]||i,c=d.useMemo(()=>o,Object.values(o));return(0,T.jsx)(s.Provider,{value:c,children:r})},`Provider`);o.displayName=t+`Provider`;function s(n,o,s={}){let{optional:c=!1}=s,l=o?.[e]?.[a]||i,u=d.useContext(l);if(u)return u;if(r!==void 0)return r;if(!c)throw Error(`\`${n}\` must be used within \`${t}\``)}return Ns(s,`useContext`),[o,s]}Ns(r,`createContext`);let i=Ns(()=>{let t=n.map(e=>d.createContext(e));return Ns(function(n){let r=n?.[e]||t;return d.useMemo(()=>({[`__scope${e}`]:{...n,[e]:r}}),[n,r])},`useScope`)},`createScope`);return i.scopeName=e,[r,Is(i,...t)]}Ns(Fs,`createContextScope`);function Is(...e){let t=e[0];if(e.length===1)return t;let n=Ns(()=>{let n=e.map(e=>({useScope:e(),scopeName:e.scopeName}));return Ns(function(e){let r=n.reduce((t,{useScope:n,scopeName:r})=>{let i=n(e)[`__scope${r}`];return{...t,...i}},{});return d.useMemo(()=>({[`__scope${t.scopeName}`]:r}),[r])},`useComposedScopes`)},`createScope`);return n.scopeName=t.scopeName,n}Ns(Is,`composeContextScopes`);var Ls=Object.defineProperty,Rs=(e,t)=>Ls(e,`name`,{value:t,configurable:!0}),zs=!!(typeof window<`u`&&window.document&&window.document.createElement);function Bs(e,t,{checkForDefaultPrevented:n=!0}={}){return Rs(function(r){if(e?.(r),n===!1||!r||!r.defaultPrevented)return t?.(r)},`handleEvent`)}Rs(Bs,`composeEventHandlers`);function Vs(e){if(!zs)throw Error(`Cannot access window outside of the DOM`);return e?.ownerDocument?.defaultView??window}Rs(Vs,`getOwnerWindow`);function Hs(e){if(!zs)throw Error(`Cannot access document outside of the DOM`);return e?.ownerDocument??document}Rs(Hs,`getOwnerDocument`);function Us(e,t=!1){let{activeElement:n}=Hs(e);if(!n?.nodeName)return null;if(Ws(n)&&n.contentDocument)return Us(n.contentDocument.body,t);if(t){let e=n.getAttribute(`aria-activedescendant`);if(e){let t=Hs(n).getElementById(e);if(t)return t}}return n}Rs(Us,`getActiveElement`);function Ws(e){return e.tagName===`IFRAME`}Rs(Ws,`isFrame`);var Gs=globalThis?.document?d.useLayoutEffect:()=>{},Ks=Object.defineProperty,qs=(e,t)=>Ks(e,`name`,{value:t,configurable:!0}),Js=d.useEffectEvent,Ys=d.useInsertionEffect;function Xs(e){if(typeof Js==`function`)return Js(e);let t=d.useRef(()=>{throw Error(`Cannot call an event handler while rendering.`)});return typeof Ys==`function`?Ys(()=>{t.current=e}):Gs(()=>{t.current=e}),d.useMemo(()=>((...e)=>t.current?.(...e)),[])}qs(Xs,`useEffectEvent`);var Zs=Object.defineProperty,Qs=(e,t)=>Zs(e,`name`,{value:t,configurable:!0}),$s=d.useInsertionEffect||Gs;function ec({prop:e,defaultProp:t,onChange:n=Qs(()=>{},`onChange`),caller:r}){let[i,a,o]=tc({defaultProp:t,onChange:n}),s=e!==void 0;return[s?e:i,d.useCallback(t=>{if(s){let n=nc(t)?t(e):t;n!==e&&o.current?.(n)}else a(t)},[s,e,a,o])]}Qs(ec,`useControllableState`);function tc({defaultProp:e,onChange:t}){let[n,r]=d.useState(e),i=d.useRef(n),a=d.useRef(t);return $s(()=>{a.current=t},[t]),d.useEffect(()=>{i.current!==n&&(a.current?.(n),i.current=n)},[n,i]),[n,r,a]}Qs(tc,`useUncontrolledState`);function nc(e){return typeof e==`function`}Qs(nc,`isFunction`);var rc=Symbol(`RADIX:SYNC_STATE`);function ic(e,t,n,r){let{prop:i,defaultProp:a,onChange:o,caller:s}=t,c=i!==void 0,l=Xs(o),u=[{...n,state:a}];r&&u.push(r);let[f,p]=d.useReducer((t,n)=>{if(n.type===rc)return{...t,state:n.state};let r=e(t,n);return c&&!Object.is(r.state,t.state)&&l(r.state),r},...u),m=f.state,h=d.useRef(m);d.useEffect(()=>{h.current!==m&&(h.current=m,c||l(m))},[m,h,c]);let g=d.useMemo(()=>i===void 0?f:{...f,state:i},[f,i]);return d.useEffect(()=>{c&&!Object.is(i,f.state)&&p({type:rc,state:i})},[i,f.state,c]),[g,p]}Qs(ic,`useControllableStateReducer`);var ac=Object.defineProperty,oc=(e,t)=>ac(e,`name`,{value:t,configurable:!0});function sc(e,t){return d.useReducer((e,n)=>t[e][n]??e,e)}oc(sc,`useStateMachine`);var cc=oc(e=>{let{present:t,children:n}=e,r=lc(t),i=typeof n==`function`?n({present:r.isPresent}):d.Children.only(n),a=dc(r.ref,pc(i));return typeof n==`function`||r.isPresent?d.cloneElement(i,{ref:a}):null},`Presence`);function lc(e){let[t,n]=d.useState(),r=d.useRef(null),i=d.useRef(e),a=d.useRef(`none`),o=d.useRef(void 0),[s,c]=sc(e?`mounted`:`unmounted`,{mounted:{UNMOUNT:`unmounted`,ANIMATION_OUT:`unmountSuspended`},unmountSuspended:{MOUNT:`mounted`,ANIMATION_END:`unmounted`},unmounted:{MOUNT:`mounted`}});return d.useEffect(()=>{s===`mounted`?(a.current=o.current??fc(r.current),o.current=void 0):a.current=`none`},[s]),Gs(()=>{let t=r.current,n=i.current;if(n!==e){let r=a.current,s=fc(t);e?(o.current=s,c(`MOUNT`)):s===`none`||t?.display===`none`?c(`UNMOUNT`):c(n&&r!==s?`ANIMATION_OUT`:`UNMOUNT`),i.current=e}},[e,c]),Gs(()=>{if(t){let e,n=t.ownerDocument.defaultView??window,o=oc(a=>{let o=fc(r.current).includes(CSS.escape(a.animationName));if(a.target===t&&o&&(c(`ANIMATION_END`),!i.current)){let r=t.style.animationFillMode;t.style.animationFillMode=`forwards`,e=n.setTimeout(()=>{t.style.animationFillMode===`forwards`&&(t.style.animationFillMode=r)})}},`handleAnimationEnd`),s=oc(e=>{e.target===t&&(a.current=fc(r.current))},`handleAnimationStart`);return t.addEventListener(`animationstart`,s),t.addEventListener(`animationcancel`,o),t.addEventListener(`animationend`,o),()=>{n.clearTimeout(e),t.removeEventListener(`animationstart`,s),t.removeEventListener(`animationcancel`,o),t.removeEventListener(`animationend`,o)}}c(`ANIMATION_END`)},[t,c]),{isPresent:[`mounted`,`unmountSuspended`].includes(s),ref:d.useCallback(e=>{if(e){let t=getComputedStyle(e);r.current=t,o.current=fc(t)}else r.current=null;n(e)},[])}}oc(lc,`usePresence`);function uc(e,t){if(typeof e==`function`)return e(t);e!=null&&(e.current=t)}oc(uc,`setRef`);function dc(...e){let t=d.useRef(e);return t.current=e,d.useCallback(e=>{let n=t.current,r=!1,i=n.map(t=>{let n=uc(t,e);return!r&&typeof n==`function`&&(r=!0),n});if(r)return()=>{for(let e=0;e<i.length;e++){let t=i[e];typeof t==`function`?t():uc(n[e],null)}}},[])}oc(dc,`useStableComposedRefs`);function fc(e){return e?.animationName||`none`}oc(fc,`getAnimationName`);function pc(e){let t=Object.getOwnPropertyDescriptor(e.props,`ref`)?.get,n=t&&`isReactWarning`in t&&t.isReactWarning;return n?e.ref:(t=Object.getOwnPropertyDescriptor(e,`ref`)?.get,n=t&&`isReactWarning`in t&&t.isReactWarning,n?e.props.ref:e.props.ref||e.ref)}oc(pc,`getElementRef`);var mc=Object.defineProperty,hc=(e,t)=>mc(e,`name`,{value:t,configurable:!0}),gc=d.useId||(()=>void 0),_c=0;function vc(e){let[t,n]=d.useState(gc());return Gs(()=>{e||n(e=>e??String(_c++))},[e]),e||(t?`radix-${t}`:``)}hc(vc,`useId`);var yc=Object.defineProperty,bc=(e,t)=>yc(e,`name`,{value:t,configurable:!0}),xc=`Collapsible`,[Sc,Cc]=Fs(xc),[wc,Tc]=Sc(xc),Ec=d.forwardRef(bc(function(e,t){let{__scopeCollapsible:n,open:r,defaultOpen:i,disabled:a,onOpenChange:o,...s}=e,[c,l]=ec({prop:r,defaultProp:i??!1,onChange:o,caller:xc});return(0,T.jsx)(wc,{scope:n,disabled:a,contentId:vc(),open:c,onOpenToggle:d.useCallback(()=>l(e=>!e),[l]),children:(0,T.jsx)(As.div,{"data-state":Mc(c),"data-disabled":a?``:void 0,...s,ref:t})})},`Collapsible`)),Dc=`CollapsibleTrigger`,Oc=d.forwardRef(bc(function(e,t){let{__scopeCollapsible:n,...r}=e,i=Tc(Dc,n);return(0,T.jsx)(As.button,{type:`button`,"aria-controls":i.open?i.contentId:void 0,"aria-expanded":i.open||!1,"data-state":Mc(i.open),"data-disabled":i.disabled?``:void 0,disabled:i.disabled,...r,ref:t,onClick:Bs(e.onClick,i.onOpenToggle)})},`CollapsibleTrigger`)),kc=`CollapsibleContent`,Ac=d.forwardRef(bc(function(e,t){let{forceMount:n,...r}=e,i=Tc(kc,e.__scopeCollapsible);return(0,T.jsx)(cc,{present:n||i.open,children:({present:e})=>(0,T.jsx)(jc,{...r,ref:t,present:e})})},`CollapsibleContent`)),jc=d.forwardRef(bc(function(e,t){let{__scopeCollapsible:n,present:r,children:i,...a}=e,o=Tc(kc,n),[s,c]=d.useState(r),l=d.useRef(null),u=ds(t,l),f=d.useRef(0),p=f.current,m=d.useRef(0),h=m.current,g=o.open||s,_=d.useRef(g),v=d.useRef(void 0);return d.useEffect(()=>{let e=requestAnimationFrame(()=>_.current=!1);return()=>cancelAnimationFrame(e)},[]),Gs(()=>{let e=l.current;if(e){v.current=v.current||{transitionDuration:e.style.transitionDuration,animationName:e.style.animationName},e.style.transitionDuration=`0s`,e.style.animationName=`none`;let t=e.getBoundingClientRect();f.current=t.height,m.current=t.width,_.current||(e.style.transitionDuration=v.current.transitionDuration,e.style.animationName=v.current.animationName),c(r)}},[o.open,r]),(0,T.jsx)(As.div,{"data-state":Mc(o.open),"data-disabled":o.disabled?``:void 0,id:o.contentId,hidden:!g,...a,ref:u,style:{"--radix-collapsible-content-height":p?`${p}px`:void 0,"--radix-collapsible-content-width":h?`${h}px`:void 0,...e.style},children:g&&i})},`CollapsibleContentImpl`));function Mc(e){return e?`open`:`closed`}bc(Mc,`getState`);var Nc=Ec,Pc=Object.defineProperty,Fc=(e,t)=>Pc(e,`name`,{value:t,configurable:!0});function Ic(e){let t=d.useRef(e);return d.useEffect(()=>{t.current=e}),d.useMemo(()=>((...e)=>t.current?.(...e)),[])}Fc(Ic,`useCallbackRef`);var Lc=Object.defineProperty,Rc=(e,t)=>Lc(e,`name`,{value:t,configurable:!0}),zc=`dismissableLayer.update`,Bc=`dismissableLayer.pointerDownOutside`,Vc=`dismissableLayer.focusOutside`,Hc,Uc=d.createContext({layers:new Set,layersWithOutsidePointerEventsDisabled:new Set,branches:new Set,dismissableSurfaces:new Set}),Wc=d.forwardRef(Rc(function(e,t){let{disableOutsidePointerEvents:n=!1,deferPointerDownOutside:r=!1,onEscapeKeyDown:i,onPointerDownOutside:a,onFocusOutside:o,onInteractOutside:s,onDismiss:c,...l}=e,u=d.useContext(Uc),[f,p]=d.useState(null),m=f?.ownerDocument??globalThis?.document,[,h]=d.useState({}),g=ds(t,p),_=Array.from(u.layers),[v]=[...u.layersWithOutsidePointerEventsDisabled].slice(-1),y=v?_.indexOf(v):-1,b=f?_.indexOf(f):-1,x=u.layersWithOutsidePointerEventsDisabled.size>0,S=b>=y,C=d.useRef(!1),w=qc(e=>{a?.(e),s?.(e),e.defaultPrevented||c?.()},{ownerDocument:m,deferPointerDownOutside:r,isDeferredPointerDownOutsideRef:C,dismissableSurfaces:u.dismissableSurfaces,shouldHandlePointerDownOutside:d.useCallback(e=>{if(!(e instanceof Node))return!1;let t=[...u.branches].some(t=>t.contains(e));return S&&!t},[u.branches,S])}),E=Jc(e=>{if(r&&C.current)return;let t=e.target;[...u.branches].some(e=>e.contains(t))||(o?.(e),s?.(e),e.defaultPrevented||c?.())},m),D=f?b===_.length-1:!1,O=Ic(e=>{e.key===`Escape`&&(i?.(e),!e.defaultPrevented&&c&&(e.preventDefault(),c()))});return d.useEffect(()=>{if(D)return m.addEventListener(`keydown`,O,{capture:!0}),()=>m.removeEventListener(`keydown`,O,{capture:!0})},[m,D,O]),d.useEffect(()=>{if(f)return n&&(u.layersWithOutsidePointerEventsDisabled.size===0&&(Hc=m.body.style.pointerEvents,m.body.style.pointerEvents=`none`),u.layersWithOutsidePointerEventsDisabled.add(f)),u.layers.add(f),Yc(),()=>{n&&(u.layersWithOutsidePointerEventsDisabled.delete(f),u.layersWithOutsidePointerEventsDisabled.size===0&&(m.body.style.pointerEvents=Hc))}},[f,m,n,u]),d.useEffect(()=>()=>{f&&(u.layers.delete(f),u.layersWithOutsidePointerEventsDisabled.delete(f),Yc())},[f,u]),d.useEffect(()=>{let e=Rc(()=>h({}),`handleUpdate`);return document.addEventListener(zc,e),()=>document.removeEventListener(zc,e)},[]),(0,T.jsx)(As.div,{...l,ref:g,style:{pointerEvents:x?S?`auto`:`none`:void 0,...e.style},onFocusCapture:Bs(e.onFocusCapture,E.onFocusCapture),onBlurCapture:Bs(e.onBlurCapture,E.onBlurCapture),onPointerDownCapture:Bs(e.onPointerDownCapture,w.onPointerDownCapture)})},`DismissableLayer`));function Gc(){let e=d.useContext(Uc),[t,n]=d.useState(null);return d.useEffect(()=>{if(t)return e.dismissableSurfaces.add(t),()=>{e.dismissableSurfaces.delete(t)}},[t,e.dismissableSurfaces]),n}Rc(Gc,`useDismissableLayerSurface`);var Kc=Rc(()=>!0,`IS_TRUE`);function qc(e,t){let{ownerDocument:n=globalThis?.document,deferPointerDownOutside:r=!1,isDeferredPointerDownOutsideRef:i,dismissableSurfaces:a,shouldHandlePointerDownOutside:o=Kc}=t,s=Ic(e),c=d.useRef(!1),l=d.useRef(!1),u=d.useRef(new Map),f=d.useRef(()=>{});return d.useEffect(()=>{function e(){l.current=!1,i.current=!1,u.current.clear()}Rc(e,`resetOutsideInteraction`);function t(){return Array.from(u.current.values()).some(Boolean)}Rc(t,`isOutsideInteractionIntercepted`);function d(e){if(!l.current)return;let t=e.target;t instanceof Node&&[...a].some(e=>e.contains(t))||u.current.set(e.type,!0),e.type===`click`&&window.setTimeout(()=>{l.current&&f.current()},0)}Rc(d,`handleInteractionCapture`);function p(e){l.current&&u.current.set(e.type,!1)}Rc(p,`handleInteractionBubble`);let m=Rc(a=>{if(a.target&&!c.current){let d=function(){n.removeEventListener(`click`,f.current);let r=t();e(),r||Xc(Bc,s,p,{discrete:!0})};if(Rc(d,`handleAndDispatchPointerDownOutsideEvent`),!o(a.target)){n.removeEventListener(`click`,f.current),e(),c.current=!1;return}let p={originalEvent:a};l.current=!0,i.current=r&&a.button===0,u.current.clear(),!r||a.button!==0?d():(n.removeEventListener(`click`,f.current),f.current=d,n.addEventListener(`click`,f.current,{once:!0}))}else n.removeEventListener(`click`,f.current),e();c.current=!1},`handlePointerDown`),h=[`pointerup`,`mousedown`,`mouseup`,`touchstart`,`touchend`,`click`];for(let e of h)n.addEventListener(e,d,!0),n.addEventListener(e,p);let g=window.setTimeout(()=>{n.addEventListener(`pointerdown`,m)},0);return()=>{window.clearTimeout(g),n.removeEventListener(`pointerdown`,m),n.removeEventListener(`click`,f.current);for(let e of h)n.removeEventListener(e,d,!0),n.removeEventListener(e,p)}},[n,s,r,i,a,o]),{onPointerDownCapture:Rc(()=>c.current=!0,`onPointerDownCapture`)}}Rc(qc,`usePointerDownOutside`);function Jc(e,t=globalThis?.document){let n=Ic(e),r=d.useRef(!1);return d.useEffect(()=>{let e=Rc(e=>{e.target&&!r.current&&Xc(Vc,n,{originalEvent:e},{discrete:!1})},`handleFocus`);return t.addEventListener(`focusin`,e),()=>t.removeEventListener(`focusin`,e)},[t,n]),{onFocusCapture:Rc(()=>r.current=!0,`onFocusCapture`),onBlurCapture:Rc(()=>r.current=!1,`onBlurCapture`)}}Rc(Jc,`useFocusOutside`);function Yc(){let e=new CustomEvent(zc);document.dispatchEvent(e)}Rc(Yc,`dispatchUpdate`);function Xc(e,t,n,{discrete:r}){let i=n.originalEvent.target,a=new CustomEvent(e,{bubbles:!1,cancelable:!0,detail:n});t&&i.addEventListener(e,t,{once:!0}),r?js(i,a):i.dispatchEvent(a)}Rc(Xc,`handleAndDispatchCustomEvent`);var Zc=Object.defineProperty,Qc=(e,t)=>Zc(e,`name`,{value:t,configurable:!0}),$c=`focusScope.autoFocusOnMount`,el=`focusScope.autoFocusOnUnmount`,tl={bubbles:!1,cancelable:!0},nl=d.forwardRef(Qc(function(e,t){let{loop:n=!1,trapped:r=!1,onMountAutoFocus:i,onUnmountAutoFocus:a,...o}=e,[s,c]=d.useState(null),l=Ic(i),u=Ic(a),f=d.useRef(null),p=ds(t,c),m=d.useRef({paused:!1,pause(){this.paused=!0},resume(){this.paused=!1}}).current;d.useEffect(()=>{if(r){let e=function(e){if(m.paused||!s)return;let t=e.target;s.contains(t)?f.current=t:ll(f.current,{select:!0})},t=function(e){if(m.paused||!s)return;let t=e.relatedTarget;t!==null&&(s.contains(t)||ll(f.current,{select:!0}))},n=function(e){if(document.activeElement===document.body)for(let t of e)t.removedNodes.length>0&&ll(s)};Qc(e,`handleFocusIn`),Qc(t,`handleFocusOut`),Qc(n,`handleMutations`),document.addEventListener(`focusin`,e),document.addEventListener(`focusout`,t);let r=new MutationObserver(n);return s&&r.observe(s,{childList:!0,subtree:!0}),()=>{document.removeEventListener(`focusin`,e),document.removeEventListener(`focusout`,t),r.disconnect()}}},[r,s,m.paused]),d.useEffect(()=>{if(s){ul.add(m);let e=document.activeElement;if(!s.contains(e)){let t=new CustomEvent($c,tl);s.addEventListener($c,l),s.dispatchEvent(t),t.defaultPrevented||(rl(pl(al(s)),{select:!0}),document.activeElement===e&&ll(s))}return()=>{s.removeEventListener($c,l),setTimeout(()=>{let t=new CustomEvent(el,tl);s.addEventListener(el,u),s.dispatchEvent(t),t.defaultPrevented||ll(e??document.body,{select:!0}),s.removeEventListener(el,u),ul.remove(m)},0)}}},[s,l,u,m]);let h=d.useCallback(e=>{if(!n&&!r||m.paused)return;let t=e.key===`Tab`&&!e.altKey&&!e.ctrlKey&&!e.metaKey,i=document.activeElement;if(t&&i){let t=e.currentTarget,[r,a]=il(t);r&&a?!e.shiftKey&&i===a?(e.preventDefault(),n&&ll(r,{select:!0})):e.shiftKey&&i===r&&(e.preventDefault(),n&&ll(a,{select:!0})):i===t&&e.preventDefault()}},[n,r,m.paused]);return(0,T.jsx)(As.div,{tabIndex:-1,...o,ref:p,onKeyDown:h})},`FocusScope`));function rl(e,{select:t=!1}={}){let n=document.activeElement;for(let r of e)if(ll(r,{select:t}),document.activeElement!==n)return}Qc(rl,`focusFirst`);function il(e){let t=al(e);return[ol(t,e),ol(t.reverse(),e)]}Qc(il,`getTabbableEdges`);function al(e){let t=[],n=document.createTreeWalker(e,NodeFilter.SHOW_ELEMENT,{acceptNode:Qc(e=>{let t=e.tagName===`INPUT`&&e.type===`hidden`;return e.disabled||e.hidden||t?NodeFilter.FILTER_SKIP:e.tabIndex>=0?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP},`acceptNode`)});for(;n.nextNode();)t.push(n.currentNode);return t}Qc(al,`getTabbableCandidates`);function ol(e,t){let n=typeof t.checkVisibility==`function`&&t.checkVisibility({checkVisibilityCSS:!0});for(let r of e)if(!(n?!r.checkVisibility({checkVisibilityCSS:!0}):sl(r,{upTo:t})))return r}Qc(ol,`findVisible`);function sl(e,{upTo:t}){if(getComputedStyle(e).visibility===`hidden`)return!0;for(;e;){if(t!==void 0&&e===t)return!1;if(getComputedStyle(e).display===`none`)return!0;e=e.parentElement}return!1}Qc(sl,`isHidden`);function cl(e){return e instanceof HTMLInputElement&&`select`in e}Qc(cl,`isSelectableInput`);function ll(e,{select:t=!1}={}){if(e&&e.focus){let n=document.activeElement;e.focus({preventScroll:!0}),e!==n&&cl(e)&&t&&e.select()}}Qc(ll,`focus`);var ul=dl();function dl(){let e=[];return{add(t){let n=e[0];t!==n&&n?.pause(),e=fl(e,t),e.unshift(t)},remove(t){e=fl(e,t),e[0]?.resume()}}}Qc(dl,`createFocusScopesStack`);function fl(e,t){let n=[...e],r=n.indexOf(t);return r!==-1&&n.splice(r,1),n}Qc(fl,`arrayRemove`);function pl(e){return e.filter(e=>e.tagName!==`A`)}Qc(pl,`removeLinks`);var ml=Object.defineProperty,hl=d.forwardRef(((e,t)=>ml(e,`name`,{value:t,configurable:!0}))(function(e,t){let{container:n,...r}=e,[i,a]=d.useState(!1);Gs(()=>a(!0),[]);let o=n||i&&globalThis?.document?.body;return o?mo.createPortal((0,T.jsx)(As.div,{...r,ref:t}),o):null},`Portal`)),gl=Object.defineProperty,_l=(e,t)=>gl(e,`name`,{value:t,configurable:!0}),vl=0,yl=null;function bl(e){return xl(),e.children}_l(bl,`FocusGuards`);function xl(){d.useEffect(()=>{yl||={start:Sl(),end:Sl()};let{start:e,end:t}=yl;return document.body.firstElementChild!==e&&document.body.insertAdjacentElement(`afterbegin`,e),document.body.lastElementChild!==t&&document.body.insertAdjacentElement(`beforeend`,t),vl++,()=>{vl===1&&(yl?.start.remove(),yl?.end.remove(),yl=null),vl=Math.max(0,vl-1)}},[])}_l(xl,`useFocusGuards`);function Sl(){let e=document.createElement(`span`);return e.setAttribute(`data-radix-focus-guard`,``),e.tabIndex=0,e.style.outline=`none`,e.style.opacity=`0`,e.style.position=`fixed`,e.style.pointerEvents=`none`,e}_l(Sl,`createFocusGuard`);var Cl=function(){return Cl=Object.assign||function(e){for(var t,n=1,r=arguments.length;n<r;n++)for(var i in t=arguments[n],t)Object.prototype.hasOwnProperty.call(t,i)&&(e[i]=t[i]);return e},Cl.apply(this,arguments)};function wl(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&typeof Object.getOwnPropertySymbols==`function`)for(var i=0,r=Object.getOwnPropertySymbols(e);i<r.length;i++)t.indexOf(r[i])<0&&Object.prototype.propertyIsEnumerable.call(e,r[i])&&(n[r[i]]=e[r[i]]);return n}function Tl(e,t,n){if(n||arguments.length===2)for(var r=0,i=t.length,a;r<i;r++)(a||!(r in t))&&(a||=Array.prototype.slice.call(t,0,r),a[r]=t[r]);return e.concat(a||Array.prototype.slice.call(t))}var El=`right-scroll-bar-position`,Dl=`width-before-scroll-bar`,Ol=`with-scroll-bars-hidden`,kl=`--removed-body-scroll-bar-size`;function Al(e,t){return typeof e==`function`?e(t):e&&(e.current=t),e}function jl(e,t){var n=(0,d.useState)(function(){return{value:e,callback:t,facade:{get current(){return n.value},set current(e){var t=n.value;t!==e&&(n.value=e,n.callback(e,t))}}}})[0];return n.callback=t,n.facade}var Ml=typeof window<`u`?d.useLayoutEffect:d.useEffect,Nl=new WeakMap;function Pl(e,t){var n=jl(t||null,function(t){return e.forEach(function(e){return Al(e,t)})});return Ml(function(){var t=Nl.get(n);if(t){var r=new Set(t),i=new Set(e),a=n.current;r.forEach(function(e){i.has(e)||Al(e,null)}),i.forEach(function(e){r.has(e)||Al(e,a)})}Nl.set(n,e)},[e]),n}function Fl(e){return e}function Il(e,t){t===void 0&&(t=Fl);var n=[],r=!1;return{read:function(){if(r)throw Error("Sidecar: could not `read` from an `assigned` medium. `read` could be used only with `useMedium`.");return n.length?n[n.length-1]:e},useMedium:function(e){var i=t(e,r);return n.push(i),function(){n=n.filter(function(e){return e!==i})}},assignSyncMedium:function(e){for(r=!0;n.length;){var t=n;n=[],t.forEach(e)}n={push:function(t){return e(t)},filter:function(){return n}}},assignMedium:function(e){r=!0;var t=[];if(n.length){var i=n;n=[],i.forEach(e),t=n}var a=function(){var n=t;t=[],n.forEach(e)},o=function(){return Promise.resolve().then(a)};o(),n={push:function(e){t.push(e),o()},filter:function(e){return t=t.filter(e),n}}}}}function Ll(e){e===void 0&&(e={});var t=Il(null);return t.options=Cl({async:!0,ssr:!1},e),t}var Rl=function(e){var t=e.sideCar,n=wl(e,[`sideCar`]);if(!t)throw Error("Sidecar: please provide `sideCar` property to import the right car");var r=t.read();if(!r)throw Error(`Sidecar medium not found`);return d.createElement(r,Cl({},n))};Rl.isSideCarExport=!0;function zl(e,t){return e.useMedium(t),Rl}var Bl=Ll(),Vl=function(){},Hl=d.forwardRef(function(e,t){var n=d.useRef(null),r=d.useState({onScrollCapture:Vl,onWheelCapture:Vl,onTouchMoveCapture:Vl}),i=r[0],a=r[1],o=e.forwardProps,s=e.children,c=e.className,l=e.removeScrollBar,u=e.enabled,f=e.shards,p=e.sideCar,m=e.noRelative,h=e.noIsolation,g=e.inert,_=e.allowPinchZoom,v=e.as,y=v===void 0?`div`:v,b=e.gapMode,x=wl(e,[`forwardProps`,`children`,`className`,`removeScrollBar`,`enabled`,`shards`,`sideCar`,`noRelative`,`noIsolation`,`inert`,`allowPinchZoom`,`as`,`gapMode`]),S=p,C=Pl([n,t]),w=Cl(Cl({},x),i);return d.createElement(d.Fragment,null,u&&d.createElement(S,{sideCar:Bl,removeScrollBar:l,shards:f,noRelative:m,noIsolation:h,inert:g,setCallbacks:a,allowPinchZoom:!!_,lockRef:n,gapMode:b}),o?d.cloneElement(d.Children.only(s),Cl(Cl({},w),{ref:C})):d.createElement(y,Cl({},w,{className:c,ref:C}),s))});Hl.defaultProps={enabled:!0,removeScrollBar:!0,inert:!1},Hl.classNames={fullWidth:Dl,zeroRight:El};var Ul=function(){if(typeof __webpack_nonce__<`u`)return __webpack_nonce__};function Wl(){if(!document)return null;var e=document.createElement(`style`);e.type=`text/css`;var t=Ul();return t&&e.setAttribute(`nonce`,t),e}function Gl(e,t){e.styleSheet?e.styleSheet.cssText=t:e.appendChild(document.createTextNode(t))}function Kl(e){(document.head||document.getElementsByTagName(`head`)[0]).appendChild(e)}var ql=function(){var e=0,t=null;return{add:function(n){e==0&&(t=Wl())&&(Gl(t,n),Kl(t)),e++},remove:function(){e--,!e&&t&&(t.parentNode&&t.parentNode.removeChild(t),t=null)}}},Jl=function(){var e=ql();return function(t,n){d.useEffect(function(){return e.add(t),function(){e.remove()}},[t&&n])}},Yl=function(){var e=Jl();return function(t){var n=t.styles,r=t.dynamic;return e(n,r),null}},Xl={left:0,top:0,right:0,gap:0},Zl=function(e){return parseInt(e||``,10)||0},Ql=function(e){var t=window.getComputedStyle(document.body),n=t[e===`padding`?`paddingLeft`:`marginLeft`],r=t[e===`padding`?`paddingTop`:`marginTop`],i=t[e===`padding`?`paddingRight`:`marginRight`];return[Zl(n),Zl(r),Zl(i)]},$l=function(e){if(e===void 0&&(e=`margin`),typeof window>`u`)return Xl;var t=Ql(e),n=document.documentElement.clientWidth,r=window.innerWidth;return{left:t[0],top:t[1],right:t[2],gap:Math.max(0,r-n+t[2]-t[0])}},eu=Yl(),tu=`data-scroll-locked`,nu=function(e,t,n,r){var i=e.left,a=e.top,o=e.right,s=e.gap;return n===void 0&&(n=`margin`),`
|
|
10
|
+
`).replace(Gd,``)}function qd(e,t){return t=Kd(t),Kd(e)===t}function Jd(e,t,n,r,i,o){switch(n){case`children`:typeof r==`string`?t===`body`||t===`textarea`&&r===``||Yt(e,r):(typeof r==`number`||typeof r==`bigint`)&&t!==`body`&&Yt(e,``+r);break;case`className`:Nt(e,`class`,r);break;case`tabIndex`:Nt(e,`tabindex`,r);break;case`dir`:case`role`:case`viewBox`:case`width`:case`height`:Nt(e,n,r);break;case`style`:Qt(e,r,o);break;case`data`:if(t!==`object`){Nt(e,`data`,r);break}case`src`:case`href`:if(r===``&&(t!==`a`||n!==`href`)){e.removeAttribute(n);break}if(r==null||typeof r==`function`||typeof r==`symbol`||typeof r==`boolean`){e.removeAttribute(n);break}r=nn(``+r),e.setAttribute(n,r);break;case`action`:case`formAction`:if(typeof r==`function`){e.setAttribute(n,`javascript:throw new Error('A React form was unexpectedly submitted. If you called form.submit() manually, consider using form.requestSubmit() instead. If you\\'re trying to use event.stopPropagation() in a submit event handler, consider also calling event.preventDefault().')`);break}if(typeof o==`function`&&(n===`formAction`?(t!==`input`&&Jd(e,t,`name`,i.name,i,null),Jd(e,t,`formEncType`,i.formEncType,i,null),Jd(e,t,`formMethod`,i.formMethod,i,null),Jd(e,t,`formTarget`,i.formTarget,i,null)):(Jd(e,t,`encType`,i.encType,i,null),Jd(e,t,`method`,i.method,i,null),Jd(e,t,`target`,i.target,i,null))),r==null||typeof r==`symbol`||typeof r==`boolean`){e.removeAttribute(n);break}r=nn(``+r),e.setAttribute(n,r);break;case`onClick`:r!=null&&(e.onclick=rn);break;case`onScroll`:r!=null&&Pd(`scroll`,e);break;case`onScrollEnd`:r!=null&&Pd(`scrollend`,e);break;case`dangerouslySetInnerHTML`:if(r!=null){if(typeof r!=`object`||!(`__html`in r))throw Error(a(61));if(n=r.__html,n!=null){if(i.children!=null)throw Error(a(60));e.innerHTML=n}}break;case`multiple`:e.multiple=r&&typeof r!=`function`&&typeof r!=`symbol`;break;case`muted`:e.muted=r&&typeof r!=`function`&&typeof r!=`symbol`;break;case`suppressContentEditableWarning`:case`suppressHydrationWarning`:case`defaultValue`:case`defaultChecked`:case`innerHTML`:case`ref`:break;case`autoFocus`:break;case`xlinkHref`:if(r==null||typeof r==`function`||typeof r==`boolean`||typeof r==`symbol`){e.removeAttribute(`xlink:href`);break}n=nn(``+r),e.setAttributeNS(`http://www.w3.org/1999/xlink`,`xlink:href`,n);break;case`contentEditable`:case`spellCheck`:case`draggable`:case`value`:case`autoReverse`:case`externalResourcesRequired`:case`focusable`:case`preserveAlpha`:r!=null&&typeof r!=`function`&&typeof r!=`symbol`?e.setAttribute(n,``+r):e.removeAttribute(n);break;case`inert`:case`allowFullScreen`:case`async`:case`autoPlay`:case`controls`:case`default`:case`defer`:case`disabled`:case`disablePictureInPicture`:case`disableRemotePlayback`:case`formNoValidate`:case`hidden`:case`loop`:case`noModule`:case`noValidate`:case`open`:case`playsInline`:case`readOnly`:case`required`:case`reversed`:case`scoped`:case`seamless`:case`itemScope`:r&&typeof r!=`function`&&typeof r!=`symbol`?e.setAttribute(n,``):e.removeAttribute(n);break;case`capture`:case`download`:!0===r?e.setAttribute(n,``):!1!==r&&r!=null&&typeof r!=`function`&&typeof r!=`symbol`?e.setAttribute(n,r):e.removeAttribute(n);break;case`cols`:case`rows`:case`size`:case`span`:r!=null&&typeof r!=`function`&&typeof r!=`symbol`&&!isNaN(r)&&1<=r?e.setAttribute(n,r):e.removeAttribute(n);break;case`rowSpan`:case`start`:r==null||typeof r==`function`||typeof r==`symbol`||isNaN(r)?e.removeAttribute(n):e.setAttribute(n,r);break;case`popover`:Pd(`beforetoggle`,e),Pd(`toggle`,e),Mt(e,`popover`,r);break;case`xlinkActuate`:Pt(e,`http://www.w3.org/1999/xlink`,`xlink:actuate`,r);break;case`xlinkArcrole`:Pt(e,`http://www.w3.org/1999/xlink`,`xlink:arcrole`,r);break;case`xlinkRole`:Pt(e,`http://www.w3.org/1999/xlink`,`xlink:role`,r);break;case`xlinkShow`:Pt(e,`http://www.w3.org/1999/xlink`,`xlink:show`,r);break;case`xlinkTitle`:Pt(e,`http://www.w3.org/1999/xlink`,`xlink:title`,r);break;case`xlinkType`:Pt(e,`http://www.w3.org/1999/xlink`,`xlink:type`,r);break;case`xmlBase`:Pt(e,`http://www.w3.org/XML/1998/namespace`,`xml:base`,r);break;case`xmlLang`:Pt(e,`http://www.w3.org/XML/1998/namespace`,`xml:lang`,r);break;case`xmlSpace`:Pt(e,`http://www.w3.org/XML/1998/namespace`,`xml:space`,r);break;case`is`:Mt(e,`is`,r);break;case`innerText`:case`textContent`:break;default:(!(2<n.length)||n[0]!==`o`&&n[0]!==`O`||n[1]!==`n`&&n[1]!==`N`)&&(n=en.get(n)||n,Mt(e,n,r))}}function Yd(e,t,n,r,i,o){switch(n){case`style`:Qt(e,r,o);break;case`dangerouslySetInnerHTML`:if(r!=null){if(typeof r!=`object`||!(`__html`in r))throw Error(a(61));if(n=r.__html,n!=null){if(i.children!=null)throw Error(a(60));e.innerHTML=n}}break;case`children`:typeof r==`string`?Yt(e,r):(typeof r==`number`||typeof r==`bigint`)&&Yt(e,``+r);break;case`onScroll`:r!=null&&Pd(`scroll`,e);break;case`onScrollEnd`:r!=null&&Pd(`scrollend`,e);break;case`onClick`:r!=null&&(e.onclick=rn);break;case`suppressContentEditableWarning`:case`suppressHydrationWarning`:case`innerHTML`:case`ref`:break;case`innerText`:case`textContent`:break;default:if(!Tt.hasOwnProperty(n))a:{if(n[0]===`o`&&n[1]===`n`&&(i=n.endsWith(`Capture`),t=n.slice(2,i?n.length-7:void 0),o=e[dt]||null,o=o==null?null:o[n],typeof o==`function`&&e.removeEventListener(t,o,i),typeof r==`function`)){typeof o!=`function`&&o!==null&&(n in e?e[n]=null:e.hasAttribute(n)&&e.removeAttribute(n)),e.addEventListener(t,r,i);break a}n in e?e[n]=r:!0===r?e.setAttribute(n,``):Mt(e,n,r)}}}function Xd(e,t,n){switch(t){case`div`:case`span`:case`svg`:case`path`:case`a`:case`g`:case`p`:case`li`:break;case`img`:Pd(`error`,e),Pd(`load`,e);var r=!1,i=!1,o;for(o in n)if(n.hasOwnProperty(o)){var s=n[o];if(s!=null)switch(o){case`src`:r=!0;break;case`srcSet`:i=!0;break;case`children`:case`dangerouslySetInnerHTML`:throw Error(a(137,t));default:Jd(e,t,o,s,n,null)}}i&&Jd(e,t,`srcSet`,n.srcSet,n,null),r&&Jd(e,t,`src`,n.src,n,null);return;case`input`:Pd(`invalid`,e);var c=o=s=i=null,l=null,u=null;for(r in n)if(n.hasOwnProperty(r)){var d=n[r];if(d!=null)switch(r){case`name`:i=d;break;case`type`:s=d;break;case`checked`:l=d;break;case`defaultChecked`:u=d;break;case`value`:o=d;break;case`defaultValue`:c=d;break;case`children`:case`dangerouslySetInnerHTML`:if(d!=null)throw Error(a(137,t));break;default:Jd(e,t,r,d,n,null)}}Wt(e,o,c,l,u,s,i,!1);return;case`select`:for(i in Pd(`invalid`,e),r=s=o=null,n)if(n.hasOwnProperty(i)&&(c=n[i],c!=null))switch(i){case`value`:o=c;break;case`defaultValue`:s=c;break;case`multiple`:r=c;default:Jd(e,t,i,c,n,null)}t=o,n=s,e.multiple=!!r,t==null?n!=null&&Kt(e,!!r,n,!0):Kt(e,!!r,t,!1);return;case`textarea`:for(s in Pd(`invalid`,e),o=i=r=null,n)if(n.hasOwnProperty(s)&&(c=n[s],c!=null))switch(s){case`value`:r=c;break;case`defaultValue`:i=c;break;case`children`:o=c;break;case`dangerouslySetInnerHTML`:if(c!=null)throw Error(a(91));break;default:Jd(e,t,s,c,n,null)}Jt(e,r,i,o);return;case`option`:for(l in n)if(n.hasOwnProperty(l)&&(r=n[l],r!=null))switch(l){case`selected`:e.selected=r&&typeof r!=`function`&&typeof r!=`symbol`;break;default:Jd(e,t,l,r,n,null)}return;case`dialog`:Pd(`beforetoggle`,e),Pd(`toggle`,e),Pd(`cancel`,e),Pd(`close`,e);break;case`iframe`:case`object`:Pd(`load`,e);break;case`video`:case`audio`:for(r=0;r<jd.length;r++)Pd(jd[r],e);break;case`image`:Pd(`error`,e),Pd(`load`,e);break;case`details`:Pd(`toggle`,e);break;case`embed`:case`source`:case`link`:Pd(`error`,e),Pd(`load`,e);case`area`:case`base`:case`br`:case`col`:case`hr`:case`keygen`:case`meta`:case`param`:case`track`:case`wbr`:case`menuitem`:for(u in n)if(n.hasOwnProperty(u)&&(r=n[u],r!=null))switch(u){case`children`:case`dangerouslySetInnerHTML`:throw Error(a(137,t));default:Jd(e,t,u,r,n,null)}return;default:if($t(t)){for(d in n)n.hasOwnProperty(d)&&(r=n[d],r!==void 0&&Yd(e,t,d,r,n,void 0));return}}for(c in n)n.hasOwnProperty(c)&&(r=n[c],r!=null&&Jd(e,t,c,r,n,null))}function Zd(e,t,n,r){switch(t){case`div`:case`span`:case`svg`:case`path`:case`a`:case`g`:case`p`:case`li`:break;case`input`:var i=null,o=null,s=null,c=null,l=null,u=null,d=null;for(m in n){var f=n[m];if(n.hasOwnProperty(m)&&f!=null)switch(m){case`checked`:break;case`value`:break;case`defaultValue`:l=f;default:r.hasOwnProperty(m)||Jd(e,t,m,null,r,f)}}for(var p in r){var m=r[p];if(f=n[p],r.hasOwnProperty(p)&&(m!=null||f!=null))switch(p){case`type`:o=m;break;case`name`:i=m;break;case`checked`:u=m;break;case`defaultChecked`:d=m;break;case`value`:s=m;break;case`defaultValue`:c=m;break;case`children`:case`dangerouslySetInnerHTML`:if(m!=null)throw Error(a(137,t));break;default:m!==f&&Jd(e,t,p,m,r,f)}}Ut(e,s,c,l,u,d,o,i);return;case`select`:for(o in m=s=c=p=null,n)if(l=n[o],n.hasOwnProperty(o)&&l!=null)switch(o){case`value`:break;case`multiple`:m=l;default:r.hasOwnProperty(o)||Jd(e,t,o,null,r,l)}for(i in r)if(o=r[i],l=n[i],r.hasOwnProperty(i)&&(o!=null||l!=null))switch(i){case`value`:p=o;break;case`defaultValue`:c=o;break;case`multiple`:s=o;default:o!==l&&Jd(e,t,i,o,r,l)}t=c,n=s,r=m,p==null?!!r!=!!n&&(t==null?Kt(e,!!n,n?[]:``,!1):Kt(e,!!n,t,!0)):Kt(e,!!n,p,!1);return;case`textarea`:for(c in m=p=null,n)if(i=n[c],n.hasOwnProperty(c)&&i!=null&&!r.hasOwnProperty(c))switch(c){case`value`:break;case`children`:break;default:Jd(e,t,c,null,r,i)}for(s in r)if(i=r[s],o=n[s],r.hasOwnProperty(s)&&(i!=null||o!=null))switch(s){case`value`:p=i;break;case`defaultValue`:m=i;break;case`children`:break;case`dangerouslySetInnerHTML`:if(i!=null)throw Error(a(91));break;default:i!==o&&Jd(e,t,s,i,r,o)}qt(e,p,m);return;case`option`:for(var h in n)if(p=n[h],n.hasOwnProperty(h)&&p!=null&&!r.hasOwnProperty(h))switch(h){case`selected`:e.selected=!1;break;default:Jd(e,t,h,null,r,p)}for(l in r)if(p=r[l],m=n[l],r.hasOwnProperty(l)&&p!==m&&(p!=null||m!=null))switch(l){case`selected`:e.selected=p&&typeof p!=`function`&&typeof p!=`symbol`;break;default:Jd(e,t,l,p,r,m)}return;case`img`:case`link`:case`area`:case`base`:case`br`:case`col`:case`embed`:case`hr`:case`keygen`:case`meta`:case`param`:case`source`:case`track`:case`wbr`:case`menuitem`:for(var g in n)p=n[g],n.hasOwnProperty(g)&&p!=null&&!r.hasOwnProperty(g)&&Jd(e,t,g,null,r,p);for(u in r)if(p=r[u],m=n[u],r.hasOwnProperty(u)&&p!==m&&(p!=null||m!=null))switch(u){case`children`:case`dangerouslySetInnerHTML`:if(p!=null)throw Error(a(137,t));break;default:Jd(e,t,u,p,r,m)}return;default:if($t(t)){for(var _ in n)p=n[_],n.hasOwnProperty(_)&&p!==void 0&&!r.hasOwnProperty(_)&&Yd(e,t,_,void 0,r,p);for(d in r)p=r[d],m=n[d],!r.hasOwnProperty(d)||p===m||p===void 0&&m===void 0||Yd(e,t,d,p,r,m);return}}for(var v in n)p=n[v],n.hasOwnProperty(v)&&p!=null&&!r.hasOwnProperty(v)&&Jd(e,t,v,null,r,p);for(f in r)p=r[f],m=n[f],!r.hasOwnProperty(f)||p===m||p==null&&m==null||Jd(e,t,f,p,r,m)}function Qd(e){switch(e){case`css`:case`script`:case`font`:case`img`:case`image`:case`input`:case`link`:return!0;default:return!1}}function $d(){if(typeof performance.getEntriesByType==`function`){for(var e=0,t=0,n=performance.getEntriesByType(`resource`),r=0;r<n.length;r++){var i=n[r],a=i.transferSize,o=i.initiatorType,s=i.duration;if(a&&s&&Qd(o)){for(o=0,s=i.responseEnd,r+=1;r<n.length;r++){var c=n[r],l=c.startTime;if(l>s)break;var u=c.transferSize,d=c.initiatorType;u&&Qd(d)&&(c=c.responseEnd,o+=u*(c<s?1:(s-l)/(c-l)))}if(--r,t+=8*(a+o)/(i.duration/1e3),e++,10<e)break}}if(0<e)return t/e/1e6}return navigator.connection&&(e=navigator.connection.downlink,typeof e==`number`)?e:5}var ef=null,tf=null;function nf(e){return e.nodeType===9?e:e.ownerDocument}function rf(e){switch(e){case`http://www.w3.org/2000/svg`:return 1;case`http://www.w3.org/1998/Math/MathML`:return 2;default:return 0}}function af(e,t){if(e===0)switch(t){case`svg`:return 1;case`math`:return 2;default:return 0}return e===1&&t===`foreignObject`?0:e}function of(e,t){return e===`textarea`||e===`noscript`||typeof t.children==`string`||typeof t.children==`number`||typeof t.children==`bigint`||typeof t.dangerouslySetInnerHTML==`object`&&t.dangerouslySetInnerHTML!==null&&t.dangerouslySetInnerHTML.__html!=null}var sf=null;function cf(){var e=window.event;return e&&e.type===`popstate`?e!==sf&&(sf=e,!0):(sf=null,!1)}var lf=typeof setTimeout==`function`?setTimeout:void 0,uf=typeof clearTimeout==`function`?clearTimeout:void 0,df=typeof Promise==`function`?Promise:void 0,ff=typeof queueMicrotask==`function`?queueMicrotask:df===void 0?lf:function(e){return df.resolve(null).then(e).catch(pf)};function pf(e){setTimeout(function(){throw e})}function mf(e){return e===`head`}function hf(e,t){var n=t,r=0;do{var i=n.nextSibling;if(e.removeChild(n),i&&i.nodeType===8){if(n=i.data,n===`/$`||n===`/&`){if(r===0){e.removeChild(i),Yp(t);return}r--}else if(n===`$`||n===`$?`||n===`$~`||n===`$!`||n===`&`)r++;else if(n===`html`)kf(e.ownerDocument.documentElement);else if(n===`head`){n=e.ownerDocument.head,kf(n);for(var a=n.firstChild;a;){var o=a.nextSibling,s=a.nodeName;a[_t]||s===`SCRIPT`||s===`STYLE`||s===`LINK`&&a.rel.toLowerCase()===`stylesheet`||n.removeChild(a),a=o}}else n===`body`&&kf(e.ownerDocument.body)}n=i}while(n);Yp(t)}function gf(e,t){var n=e;e=0;do{var r=n.nextSibling;if(n.nodeType===1?t?(n._stashedDisplay=n.style.display,n.style.display=`none`):(n.style.display=n._stashedDisplay||``,n.getAttribute(`style`)===``&&n.removeAttribute(`style`)):n.nodeType===3&&(t?(n._stashedText=n.nodeValue,n.nodeValue=``):n.nodeValue=n._stashedText||``),r&&r.nodeType===8){if(n=r.data,n===`/$`){if(e===0)break;e--}else n!==`$`&&n!==`$?`&&n!==`$~`&&n!==`$!`||e++}n=r}while(n)}function _f(e){var t=e.firstChild;for(t&&t.nodeType===10&&(t=t.nextSibling);t;){var n=t;switch(t=t.nextSibling,n.nodeName){case`HTML`:case`HEAD`:case`BODY`:_f(n),vt(n);continue;case`SCRIPT`:case`STYLE`:continue;case`LINK`:if(n.rel.toLowerCase()===`stylesheet`)continue}e.removeChild(n)}}function vf(e,t,n,r){for(;e.nodeType===1;){var i=n;if(e.nodeName.toLowerCase()!==t.toLowerCase()){if(!r&&(e.nodeName!==`INPUT`||e.type!==`hidden`))break}else if(!r){if(t===`input`&&e.type===`hidden`){var a=i.name==null?null:``+i.name;if(i.type===`hidden`&&e.getAttribute(`name`)===a)return e}else return e}else if(!e[_t])switch(t){case`meta`:if(!e.hasAttribute(`itemprop`))break;return e;case`link`:if(a=e.getAttribute(`rel`),a===`stylesheet`&&e.hasAttribute(`data-precedence`)||a!==i.rel||e.getAttribute(`href`)!==(i.href==null||i.href===``?null:i.href)||e.getAttribute(`crossorigin`)!==(i.crossOrigin==null?null:i.crossOrigin)||e.getAttribute(`title`)!==(i.title==null?null:i.title))break;return e;case`style`:if(e.hasAttribute(`data-precedence`))break;return e;case`script`:if(a=e.getAttribute(`src`),(a!==(i.src==null?null:i.src)||e.getAttribute(`type`)!==(i.type==null?null:i.type)||e.getAttribute(`crossorigin`)!==(i.crossOrigin==null?null:i.crossOrigin))&&a&&e.hasAttribute(`async`)&&!e.hasAttribute(`itemprop`))break;return e;default:return e}if(e=wf(e.nextSibling),e===null)break}return null}function yf(e,t,n){if(t===``)return null;for(;e.nodeType!==3;)if((e.nodeType!==1||e.nodeName!==`INPUT`||e.type!==`hidden`)&&!n||(e=wf(e.nextSibling),e===null))return null;return e}function bf(e,t){for(;e.nodeType!==8;)if((e.nodeType!==1||e.nodeName!==`INPUT`||e.type!==`hidden`)&&!t||(e=wf(e.nextSibling),e===null))return null;return e}function xf(e){return e.data===`$?`||e.data===`$~`}function Sf(e){return e.data===`$!`||e.data===`$?`&&e.ownerDocument.readyState!==`loading`}function Cf(e,t){var n=e.ownerDocument;if(e.data===`$~`)e._reactRetry=t;else if(e.data!==`$?`||n.readyState!==`loading`)t();else{var r=function(){t(),n.removeEventListener(`DOMContentLoaded`,r)};n.addEventListener(`DOMContentLoaded`,r),e._reactRetry=r}}function wf(e){for(;e!=null;e=e.nextSibling){var t=e.nodeType;if(t===1||t===3)break;if(t===8){if(t=e.data,t===`$`||t===`$!`||t===`$?`||t===`$~`||t===`&`||t===`F!`||t===`F`)break;if(t===`/$`||t===`/&`)return null}}return e}var Tf=null;function Ef(e){e=e.nextSibling;for(var t=0;e;){if(e.nodeType===8){var n=e.data;if(n===`/$`||n===`/&`){if(t===0)return wf(e.nextSibling);t--}else n!==`$`&&n!==`$!`&&n!==`$?`&&n!==`$~`&&n!==`&`||t++}e=e.nextSibling}return null}function Df(e){e=e.previousSibling;for(var t=0;e;){if(e.nodeType===8){var n=e.data;if(n===`$`||n===`$!`||n===`$?`||n===`$~`||n===`&`){if(t===0)return e;t--}else n!==`/$`&&n!==`/&`||t++}e=e.previousSibling}return null}function Of(e,t,n){switch(t=nf(n),e){case`html`:if(e=t.documentElement,!e)throw Error(a(452));return e;case`head`:if(e=t.head,!e)throw Error(a(453));return e;case`body`:if(e=t.body,!e)throw Error(a(454));return e;default:throw Error(a(451))}}function kf(e){for(var t=e.attributes;t.length;)e.removeAttributeNode(t[0]);vt(e)}var Af=new Map,jf=new Set;function Mf(e){return typeof e.getRootNode==`function`?e.getRootNode():e.nodeType===9?e:e.ownerDocument}var Nf=ne.d;ne.d={f:Pf,r:Ff,D:Rf,C:zf,L:Bf,m:Vf,X:Uf,S:Hf,M:Wf};function Pf(){var e=Nf.f(),t=Pu();return e||t}function Ff(e){var t=bt(e);t!==null&&t.tag===5&&t.type===`form`?Ns(t):Nf.r(e)}var If=typeof document>`u`?null:document;function Lf(e,t,n){var r=If;if(r&&typeof t==`string`&&t){var i=Ht(t);i=`link[rel="`+e+`"][href="`+i+`"]`,typeof n==`string`&&(i+=`[crossorigin="`+n+`"]`),jf.has(i)||(jf.add(i),e={rel:e,crossOrigin:n,href:t},r.querySelector(i)===null&&(t=r.createElement(`link`),Xd(t,`link`,e),Ct(t),r.head.appendChild(t)))}}function Rf(e){Nf.D(e),Lf(`dns-prefetch`,e,null)}function zf(e,t){Nf.C(e,t),Lf(`preconnect`,e,t)}function Bf(e,t,n){Nf.L(e,t,n);var r=If;if(r&&e&&t){var i=`link[rel="preload"][as="`+Ht(t)+`"]`;t===`image`&&n&&n.imageSrcSet?(i+=`[imagesrcset="`+Ht(n.imageSrcSet)+`"]`,typeof n.imageSizes==`string`&&(i+=`[imagesizes="`+Ht(n.imageSizes)+`"]`)):i+=`[href="`+Ht(e)+`"]`;var a=i;switch(t){case`style`:a=Kf(e);break;case`script`:a=Xf(e)}Af.has(a)||(e=h({rel:`preload`,href:t===`image`&&n&&n.imageSrcSet?void 0:e,as:t},n),Af.set(a,e),r.querySelector(i)!==null||t===`style`&&r.querySelector(qf(a))||t===`script`&&r.querySelector(Zf(a))||(t=r.createElement(`link`),Xd(t,`link`,e),Ct(t),r.head.appendChild(t)))}}function Vf(e,t){Nf.m(e,t);var n=If;if(n&&e){var r=t&&typeof t.as==`string`?t.as:`script`,i=`link[rel="modulepreload"][as="`+Ht(r)+`"][href="`+Ht(e)+`"]`,a=i;switch(r){case`audioworklet`:case`paintworklet`:case`serviceworker`:case`sharedworker`:case`worker`:case`script`:a=Xf(e)}if(!Af.has(a)&&(e=h({rel:`modulepreload`,href:e},t),Af.set(a,e),n.querySelector(i)===null)){switch(r){case`audioworklet`:case`paintworklet`:case`serviceworker`:case`sharedworker`:case`worker`:case`script`:if(n.querySelector(Zf(a)))return}r=n.createElement(`link`),Xd(r,`link`,e),Ct(r),n.head.appendChild(r)}}}function Hf(e,t,n){Nf.S(e,t,n);var r=If;if(r&&e){var i=St(r).hoistableStyles,a=Kf(e);t||=`default`;var o=i.get(a);if(!o){var s={loading:0,preload:null};if(o=r.querySelector(qf(a)))s.loading=5;else{e=h({rel:`stylesheet`,href:e,"data-precedence":t},n),(n=Af.get(a))&&ep(e,n);var c=o=r.createElement(`link`);Ct(c),Xd(c,`link`,e),c._p=new Promise(function(e,t){c.onload=e,c.onerror=t}),c.addEventListener(`load`,function(){s.loading|=1}),c.addEventListener(`error`,function(){s.loading|=2}),s.loading|=4,$f(o,t,r)}o={type:`stylesheet`,instance:o,count:1,state:s},i.set(a,o)}}}function Uf(e,t){Nf.X(e,t);var n=If;if(n&&e){var r=St(n).hoistableScripts,i=Xf(e),a=r.get(i);a||(a=n.querySelector(Zf(i)),a||(e=h({src:e,async:!0},t),(t=Af.get(i))&&tp(e,t),a=n.createElement(`script`),Ct(a),Xd(a,`link`,e),n.head.appendChild(a)),a={type:`script`,instance:a,count:1,state:null},r.set(i,a))}}function Wf(e,t){Nf.M(e,t);var n=If;if(n&&e){var r=St(n).hoistableScripts,i=Xf(e),a=r.get(i);a||(a=n.querySelector(Zf(i)),a||(e=h({src:e,async:!0,type:`module`},t),(t=Af.get(i))&&tp(e,t),a=n.createElement(`script`),Ct(a),Xd(a,`link`,e),n.head.appendChild(a)),a={type:`script`,instance:a,count:1,state:null},r.set(i,a))}}function Gf(e,t,n,r){var i=(i=de.current)?Mf(i):null;if(!i)throw Error(a(446));switch(e){case`meta`:case`title`:return null;case`style`:return typeof n.precedence==`string`&&typeof n.href==`string`?(t=Kf(n.href),n=St(i).hoistableStyles,r=n.get(t),r||(r={type:`style`,instance:null,count:0,state:null},n.set(t,r)),r):{type:`void`,instance:null,count:0,state:null};case`link`:if(n.rel===`stylesheet`&&typeof n.href==`string`&&typeof n.precedence==`string`){e=Kf(n.href);var o=St(i).hoistableStyles,s=o.get(e);if(s||(i=i.ownerDocument||i,s={type:`stylesheet`,instance:null,count:0,state:{loading:0,preload:null}},o.set(e,s),(o=i.querySelector(qf(e)))&&!o._p&&(s.instance=o,s.state.loading=5),Af.has(e)||(n={rel:`preload`,as:`style`,href:n.href,crossOrigin:n.crossOrigin,integrity:n.integrity,media:n.media,hrefLang:n.hrefLang,referrerPolicy:n.referrerPolicy},Af.set(e,n),o||Yf(i,e,n,s.state))),t&&r===null)throw Error(a(528,``));return s}if(t&&r!==null)throw Error(a(529,``));return null;case`script`:return t=n.async,n=n.src,typeof n==`string`&&t&&typeof t!=`function`&&typeof t!=`symbol`?(t=Xf(n),n=St(i).hoistableScripts,r=n.get(t),r||(r={type:`script`,instance:null,count:0,state:null},n.set(t,r)),r):{type:`void`,instance:null,count:0,state:null};default:throw Error(a(444,e))}}function Kf(e){return`href="`+Ht(e)+`"`}function qf(e){return`link[rel="stylesheet"][`+e+`]`}function Jf(e){return h({},e,{"data-precedence":e.precedence,precedence:null})}function Yf(e,t,n,r){e.querySelector(`link[rel="preload"][as="style"][`+t+`]`)?r.loading=1:(t=e.createElement(`link`),r.preload=t,t.addEventListener(`load`,function(){return r.loading|=1}),t.addEventListener(`error`,function(){return r.loading|=2}),Xd(t,`link`,n),Ct(t),e.head.appendChild(t))}function Xf(e){return`[src="`+Ht(e)+`"]`}function Zf(e){return`script[async]`+e}function Qf(e,t,n){if(t.count++,t.instance===null)switch(t.type){case`style`:var r=e.querySelector(`style[data-href~="`+Ht(n.href)+`"]`);if(r)return t.instance=r,Ct(r),r;var i=h({},n,{"data-href":n.href,"data-precedence":n.precedence,href:null,precedence:null});return r=(e.ownerDocument||e).createElement(`style`),Ct(r),Xd(r,`style`,i),$f(r,n.precedence,e),t.instance=r;case`stylesheet`:i=Kf(n.href);var o=e.querySelector(qf(i));if(o)return t.state.loading|=4,t.instance=o,Ct(o),o;r=Jf(n),(i=Af.get(i))&&ep(r,i),o=(e.ownerDocument||e).createElement(`link`),Ct(o);var s=o;return s._p=new Promise(function(e,t){s.onload=e,s.onerror=t}),Xd(o,`link`,r),t.state.loading|=4,$f(o,n.precedence,e),t.instance=o;case`script`:return o=Xf(n.src),(i=e.querySelector(Zf(o)))?(t.instance=i,Ct(i),i):(r=n,(i=Af.get(o))&&(r=h({},n),tp(r,i)),e=e.ownerDocument||e,i=e.createElement(`script`),Ct(i),Xd(i,`link`,r),e.head.appendChild(i),t.instance=i);case`void`:return null;default:throw Error(a(443,t.type))}else t.type===`stylesheet`&&!(t.state.loading&4)&&(r=t.instance,t.state.loading|=4,$f(r,n.precedence,e));return t.instance}function $f(e,t,n){for(var r=n.querySelectorAll(`link[rel="stylesheet"][data-precedence],style[data-precedence]`),i=r.length?r[r.length-1]:null,a=i,o=0;o<r.length;o++){var s=r[o];if(s.dataset.precedence===t)a=s;else if(a!==i)break}a?a.parentNode.insertBefore(e,a.nextSibling):(t=n.nodeType===9?n.head:n,t.insertBefore(e,t.firstChild))}function ep(e,t){e.crossOrigin??=t.crossOrigin,e.referrerPolicy??=t.referrerPolicy,e.title??=t.title}function tp(e,t){e.crossOrigin??=t.crossOrigin,e.referrerPolicy??=t.referrerPolicy,e.integrity??=t.integrity}var np=null;function rp(e,t,n){if(np===null){var r=new Map,i=np=new Map;i.set(n,r)}else i=np,r=i.get(n),r||(r=new Map,i.set(n,r));if(r.has(e))return r;for(r.set(e,null),n=n.getElementsByTagName(e),i=0;i<n.length;i++){var a=n[i];if(!(a[_t]||a[ut]||e===`link`&&a.getAttribute(`rel`)===`stylesheet`)&&a.namespaceURI!==`http://www.w3.org/2000/svg`){var o=a.getAttribute(t)||``;o=e+o;var s=r.get(o);s?s.push(a):r.set(o,[a])}}return r}function ip(e,t,n){e=e.ownerDocument||e,e.head.insertBefore(n,t===`title`?e.querySelector(`head > title`):null)}function ap(e,t,n){if(n===1||t.itemProp!=null)return!1;switch(e){case`meta`:case`title`:return!0;case`style`:if(typeof t.precedence!=`string`||typeof t.href!=`string`||t.href===``)break;return!0;case`link`:if(typeof t.rel!=`string`||typeof t.href!=`string`||t.href===``||t.onLoad||t.onError)break;switch(t.rel){case`stylesheet`:return e=t.disabled,typeof t.precedence==`string`&&e==null;default:return!0}case`script`:if(t.async&&typeof t.async!=`function`&&typeof t.async!=`symbol`&&!t.onLoad&&!t.onError&&t.src&&typeof t.src==`string`)return!0}return!1}function op(e){return!(e.type===`stylesheet`&&!(e.state.loading&3))}function sp(e,t,n,r){if(n.type===`stylesheet`&&(typeof r.media!=`string`||!1!==matchMedia(r.media).matches)&&!(n.state.loading&4)){if(n.instance===null){var i=Kf(r.href),a=t.querySelector(qf(i));if(a){t=a._p,typeof t==`object`&&t&&typeof t.then==`function`&&(e.count++,e=up.bind(e),t.then(e,e)),n.state.loading|=4,n.instance=a,Ct(a);return}a=t.ownerDocument||t,r=Jf(r),(i=Af.get(i))&&ep(r,i),a=a.createElement(`link`),Ct(a);var o=a;o._p=new Promise(function(e,t){o.onload=e,o.onerror=t}),Xd(a,`link`,r),n.instance=a}e.stylesheets===null&&(e.stylesheets=new Map),e.stylesheets.set(n,t),(t=n.state.preload)&&!(n.state.loading&3)&&(e.count++,n=up.bind(e),t.addEventListener(`load`,n),t.addEventListener(`error`,n))}}var cp=0;function lp(e,t){return e.stylesheets&&e.count===0&&fp(e,e.stylesheets),0<e.count||0<e.imgCount?function(n){var r=setTimeout(function(){if(e.stylesheets&&fp(e,e.stylesheets),e.unsuspend){var t=e.unsuspend;e.unsuspend=null,t()}},6e4+t);0<e.imgBytes&&cp===0&&(cp=62500*$d());var i=setTimeout(function(){if(e.waitingForImages=!1,e.count===0&&(e.stylesheets&&fp(e,e.stylesheets),e.unsuspend)){var t=e.unsuspend;e.unsuspend=null,t()}},(e.imgBytes>cp?50:800)+t);return e.unsuspend=n,function(){e.unsuspend=null,clearTimeout(r),clearTimeout(i)}}:null}function up(){if(this.count--,this.count===0&&(this.imgCount===0||!this.waitingForImages)){if(this.stylesheets)fp(this,this.stylesheets);else if(this.unsuspend){var e=this.unsuspend;this.unsuspend=null,e()}}}var dp=null;function fp(e,t){e.stylesheets=null,e.unsuspend!==null&&(e.count++,dp=new Map,t.forEach(pp,e),dp=null,up.call(e))}function pp(e,t){if(!(t.state.loading&4)){var n=dp.get(e);if(n)var r=n.get(null);else{n=new Map,dp.set(e,n);for(var i=e.querySelectorAll(`link[data-precedence],style[data-precedence]`),a=0;a<i.length;a++){var o=i[a];(o.nodeName===`LINK`||o.getAttribute(`media`)!==`not all`)&&(n.set(o.dataset.precedence,o),r=o)}r&&n.set(null,r)}i=t.instance,o=i.getAttribute(`data-precedence`),a=n.get(o)||r,a===r&&n.set(null,i),n.set(o,i),this.count++,r=up.bind(this),i.addEventListener(`load`,r),i.addEventListener(`error`,r),a?a.parentNode.insertBefore(i,a.nextSibling):(e=e.nodeType===9?e.head:e,e.insertBefore(i,e.firstChild)),t.state.loading|=4}}var mp={$$typeof:C,Provider:null,Consumer:null,_currentValue:re,_currentValue2:re,_threadCount:0};function hp(e,t,n,r,i,a,o,s,c){this.tag=1,this.containerInfo=e,this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.next=this.pendingContext=this.context=this.cancelPendingCommit=null,this.callbackPriority=0,this.expirationTimes=$e(-1),this.entangledLanes=this.shellSuspendCounter=this.errorRecoveryDisabledLanes=this.expiredLanes=this.warmLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=$e(0),this.hiddenUpdates=$e(null),this.identifierPrefix=r,this.onUncaughtError=i,this.onCaughtError=a,this.onRecoverableError=o,this.pooledCache=null,this.pooledCacheLanes=0,this.formState=c,this.incompleteTransitions=new Map}function gp(e,t,n,r,i,a,o,s,c,l,u,d){return e=new hp(e,t,n,o,c,l,u,d,s),t=1,!0===a&&(t|=24),a=fi(3,null,null,t),e.current=a,a.stateNode=e,t=pa(),t.refCount++,e.pooledCache=t,t.refCount++,a.memoizedState={element:r,isDehydrated:n,cache:t},Ka(a),e}function _p(e){return e?(e=ui,e):ui}function vp(e,t,n,r,i,a){i=_p(i),r.context===null?r.context=i:r.pendingContext=i,r=Ja(t),r.payload={element:n},a=a===void 0?null:a,a!==null&&(r.callback=a),n=Ya(e,r,t),n!==null&&(ku(n,e,t),Xa(n,e,t))}function yp(e,t){if(e=e.memoizedState,e!==null&&e.dehydrated!==null){var n=e.retryLane;e.retryLane=n!==0&&n<t?n:t}}function bp(e,t){yp(e,t),(e=e.alternate)&&yp(e,t)}function xp(e){if(e.tag===13||e.tag===31){var t=si(e,67108864);t!==null&&ku(t,e,67108864),bp(e,67108864)}}function Sp(e){if(e.tag===13||e.tag===31){var t=Du();t=at(t);var n=si(e,t);n!==null&&ku(n,e,t),bp(e,t)}}var Cp=!0;function wp(e,t,n,r){var i=P.T;P.T=null;var a=ne.p;try{ne.p=2,Ep(e,t,n,r)}finally{ne.p=a,P.T=i}}function Tp(e,t,n,r){var i=P.T;P.T=null;var a=ne.p;try{ne.p=8,Ep(e,t,n,r)}finally{ne.p=a,P.T=i}}function Ep(e,t,n,r){if(Cp){var i=Dp(r);if(i===null)zd(e,t,r,Op,n),zp(e,r);else if(Vp(i,e,t,n,r))r.stopPropagation();else if(zp(e,r),t&4&&-1<Rp.indexOf(e)){for(;i!==null;){var a=bt(i);if(a!==null)switch(a.tag){case 3:if(a=a.stateNode,a.current.memoizedState.isDehydrated){var o=Je(a.pendingLanes);if(o!==0){var s=a;for(s.pendingLanes|=2,s.entangledLanes|=2;o;){var c=1<<31-Ve(o);s.entanglements[1]|=c,o&=~c}_d(a),!(Jl&6)&&(hu=ke()+500,vd(0,!1))}}break;case 31:case 13:s=si(a,2),s!==null&&ku(s,a,2),Pu(),bp(a,2)}if(a=Dp(r),a===null&&zd(e,t,r,Op,n),a===i)break;i=a}i!==null&&r.stopPropagation()}else zd(e,t,r,null,n)}}function Dp(e){return e=on(e),kp(e)}var Op=null;function kp(e){if(Op=null,e=yt(e),e!==null){var t=l(e);if(t===null)e=null;else{var n=t.tag;if(n===13){if(e=u(t),e!==null)return e;e=null}else if(n===31){if(e=d(t),e!==null)return e;e=null}else if(n===3){if(t.stateNode.current.memoizedState.isDehydrated)return t.tag===3?t.stateNode.containerInfo:null;e=null}else t!==e&&(e=null)}}return Op=e,null}function Ap(e){switch(e){case`beforetoggle`:case`cancel`:case`click`:case`close`:case`contextmenu`:case`copy`:case`cut`:case`auxclick`:case`dblclick`:case`dragend`:case`dragstart`:case`drop`:case`focusin`:case`focusout`:case`input`:case`invalid`:case`keydown`:case`keypress`:case`keyup`:case`mousedown`:case`mouseup`:case`paste`:case`pause`:case`play`:case`pointercancel`:case`pointerdown`:case`pointerup`:case`ratechange`:case`reset`:case`resize`:case`seeked`:case`submit`:case`toggle`:case`touchcancel`:case`touchend`:case`touchstart`:case`volumechange`:case`change`:case`selectionchange`:case`textInput`:case`compositionstart`:case`compositionend`:case`compositionupdate`:case`beforeblur`:case`afterblur`:case`beforeinput`:case`blur`:case`fullscreenchange`:case`focus`:case`hashchange`:case`popstate`:case`select`:case`selectstart`:return 2;case`drag`:case`dragenter`:case`dragexit`:case`dragleave`:case`dragover`:case`mousemove`:case`mouseout`:case`mouseover`:case`pointermove`:case`pointerout`:case`pointerover`:case`scroll`:case`touchmove`:case`wheel`:case`mouseenter`:case`mouseleave`:case`pointerenter`:case`pointerleave`:return 8;case`message`:switch(Ae()){case je:return 2;case Me:return 8;case Ne:case Pe:return 32;case Fe:return 268435456;default:return 32}default:return 32}}var jp=!1,Mp=null,Np=null,Pp=null,Fp=new Map,Ip=new Map,Lp=[],Rp=`mousedown mouseup touchcancel touchend touchstart auxclick dblclick pointercancel pointerdown pointerup dragend dragstart drop compositionend compositionstart keydown keypress keyup input textInput copy cut paste click change contextmenu reset`.split(` `);function zp(e,t){switch(e){case`focusin`:case`focusout`:Mp=null;break;case`dragenter`:case`dragleave`:Np=null;break;case`mouseover`:case`mouseout`:Pp=null;break;case`pointerover`:case`pointerout`:Fp.delete(t.pointerId);break;case`gotpointercapture`:case`lostpointercapture`:Ip.delete(t.pointerId)}}function Bp(e,t,n,r,i,a){return e===null||e.nativeEvent!==a?(e={blockedOn:t,domEventName:n,eventSystemFlags:r,nativeEvent:a,targetContainers:[i]},t!==null&&(t=bt(t),t!==null&&xp(t)),e):(e.eventSystemFlags|=r,t=e.targetContainers,i!==null&&t.indexOf(i)===-1&&t.push(i),e)}function Vp(e,t,n,r,i){switch(t){case`focusin`:return Mp=Bp(Mp,e,t,n,r,i),!0;case`dragenter`:return Np=Bp(Np,e,t,n,r,i),!0;case`mouseover`:return Pp=Bp(Pp,e,t,n,r,i),!0;case`pointerover`:var a=i.pointerId;return Fp.set(a,Bp(Fp.get(a)||null,e,t,n,r,i)),!0;case`gotpointercapture`:return a=i.pointerId,Ip.set(a,Bp(Ip.get(a)||null,e,t,n,r,i)),!0}return!1}function Hp(e){var t=yt(e.target);if(t!==null){var n=l(t);if(n!==null){if(t=n.tag,t===13){if(t=u(n),t!==null){e.blockedOn=t,ct(e.priority,function(){Sp(n)});return}}else if(t===31){if(t=d(n),t!==null){e.blockedOn=t,ct(e.priority,function(){Sp(n)});return}}else if(t===3&&n.stateNode.current.memoizedState.isDehydrated){e.blockedOn=n.tag===3?n.stateNode.containerInfo:null;return}}}e.blockedOn=null}function Up(e){if(e.blockedOn!==null)return!1;for(var t=e.targetContainers;0<t.length;){var n=Dp(e.nativeEvent);if(n===null){n=e.nativeEvent;var r=new n.constructor(n.type,n);an=r,n.target.dispatchEvent(r),an=null}else return t=bt(n),t!==null&&xp(t),e.blockedOn=n,!1;t.shift()}return!0}function Wp(e,t,n){Up(e)&&n.delete(t)}function Gp(){jp=!1,Mp!==null&&Up(Mp)&&(Mp=null),Np!==null&&Up(Np)&&(Np=null),Pp!==null&&Up(Pp)&&(Pp=null),Fp.forEach(Wp),Ip.forEach(Wp)}function Kp(e,n){e.blockedOn===n&&(e.blockedOn=null,jp||(jp=!0,t.unstable_scheduleCallback(t.unstable_NormalPriority,Gp)))}var qp=null;function Jp(e){qp!==e&&(qp=e,t.unstable_scheduleCallback(t.unstable_NormalPriority,function(){qp===e&&(qp=null);for(var t=0;t<e.length;t+=3){var n=e[t],r=e[t+1],i=e[t+2];if(typeof r!=`function`){if(kp(r||n)===null)continue;break}var a=bt(n);a!==null&&(e.splice(t,3),t-=3,js(a,{pending:!0,data:i,method:n.method,action:r},r,i))}}))}function Yp(e){function t(t){return Kp(t,e)}Mp!==null&&Kp(Mp,e),Np!==null&&Kp(Np,e),Pp!==null&&Kp(Pp,e),Fp.forEach(t),Ip.forEach(t);for(var n=0;n<Lp.length;n++){var r=Lp[n];r.blockedOn===e&&(r.blockedOn=null)}for(;0<Lp.length&&(n=Lp[0],n.blockedOn===null);)Hp(n),n.blockedOn===null&&Lp.shift();if(n=(e.ownerDocument||e).$$reactFormReplay,n!=null)for(r=0;r<n.length;r+=3){var i=n[r],a=n[r+1],o=i[dt]||null;if(typeof a==`function`)o||Jp(n);else if(o){var s=null;if(a&&a.hasAttribute(`formAction`)){if(i=a,o=a[dt]||null)s=o.formAction;else if(kp(i)!==null)continue}else s=o.action;typeof s==`function`?n[r+1]=s:(n.splice(r,3),r-=3),Jp(n)}}}function Xp(){function e(e){e.canIntercept&&e.info===`react-transition`&&e.intercept({handler:function(){return new Promise(function(e){return i=e})},focusReset:`manual`,scroll:`manual`})}function t(){i!==null&&(i(),i=null),r||setTimeout(n,20)}function n(){if(!r&&!navigation.transition){var e=navigation.currentEntry;e&&e.url!=null&&navigation.navigate(e.url,{state:e.getState(),info:`react-transition`,history:`replace`})}}if(typeof navigation==`object`){var r=!1,i=null;return navigation.addEventListener(`navigate`,e),navigation.addEventListener(`navigatesuccess`,t),navigation.addEventListener(`navigateerror`,t),setTimeout(n,100),function(){r=!0,navigation.removeEventListener(`navigate`,e),navigation.removeEventListener(`navigatesuccess`,t),navigation.removeEventListener(`navigateerror`,t),i!==null&&(i(),i=null)}}}function Zp(e){this._internalRoot=e}Qp.prototype.render=Zp.prototype.render=function(e){var t=this._internalRoot;if(t===null)throw Error(a(409));var n=t.current;vp(n,Du(),e,t,null,null)},Qp.prototype.unmount=Zp.prototype.unmount=function(){var e=this._internalRoot;if(e!==null){this._internalRoot=null;var t=e.containerInfo;vp(e.current,2,null,e,null,null),Pu(),t[ft]=null}};function Qp(e){this._internalRoot=e}Qp.prototype.unstable_scheduleHydration=function(e){if(e){var t=st();e={blockedOn:null,target:e,priority:t};for(var n=0;n<Lp.length&&t!==0&&t<Lp[n].priority;n++);Lp.splice(n,0,e),n===0&&Hp(e)}};var $p=n.version;if($p!==`19.2.8`)throw Error(a(527,$p,`19.2.8`));ne.findDOMNode=function(e){var t=e._reactInternals;if(t===void 0)throw typeof e.render==`function`?Error(a(188)):(e=Object.keys(e).join(`,`),Error(a(268,e)));return e=p(t),e=e===null?null:m(e),e=e===null?null:e.stateNode,e};var em={bundleType:0,version:`19.2.8`,rendererPackageName:`react-dom`,currentDispatcherRef:P,reconcilerVersion:`19.2.8`};if(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__<`u`){var tm=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(!tm.isDisabled&&tm.supportsFiber)try{Re=tm.inject(em),ze=tm}catch{}}e.createRoot=function(e,t){if(!s(e))throw Error(a(299));var n=!1,r=``,i=ec,o=tc,c=nc;return t!=null&&(!0===t.unstable_strictMode&&(n=!0),t.identifierPrefix!==void 0&&(r=t.identifierPrefix),t.onUncaughtError!==void 0&&(i=t.onUncaughtError),t.onCaughtError!==void 0&&(o=t.onCaughtError),t.onRecoverableError!==void 0&&(c=t.onRecoverableError)),t=gp(e,1,!1,null,null,n,r,null,i,o,c,Xp),e[ft]=t.current,Ld(e),new Zp(t)}})),u=n(((e,t)=>{function n(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>`u`||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!=`function`))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(n)}catch(e){console.error(e)}}n(),t.exports=l()})),d=t(i(),1),f=u();function p(e,t={}){return e.replace(/\{([\w.-]+)\}/g,(e,n)=>{let r=t[n];return r===void 0?e:String(r)})}function m(e,t,n,r={}){let i=n[e]?.[t]??n.en?.[t];return i===void 0?t:p(i,r)}function h(e,t,n=new Date){let r=(e instanceof Date?e:new Date(e)).getTime()-n.getTime(),i=Math.abs(r),[a,o]=i<6e4?[`second`,1e3]:i<36e5?[`minute`,6e4]:i<864e5?[`hour`,36e5]:[`day`,864e5],s=Math.round(r/o);return new Intl.RelativeTimeFormat(t,{numeric:`always`}).format(s,a)}var g={id:`en`,label:`English`,messages:{"common.ok":`OK`,"common.language":`Language`,"common.models":`Models`,"common.skills":`Skills`,"common.plugins":`Plugins`,"common.mcp":`MCP`,"sidebar.hide":`Collapse sidebar`,"sidebar.show":`Expand sidebar`,"theme.light":`Switch to light mode`,"preferences.defaultThinkingLevel":`Default thinking level`,"preferences.thinkingLevelHint":"Global default for new sessions (settings.json `defaultThinkingLevel`). Not set = field removed, falls back to pi default.","preferences.thinkingLevelNotSet":`Not set (use model default)`,"preferences.compaction":`Auto compaction`,"preferences.compactionHint":"Automatically compact long sessions (settings.json `compaction`). When not configured the pi defaults are shown; any edit writes the full object.","preferences.compactionEnabled":`Enabled`,"preferences.compactionReserveTokens":`Reserve tokens`,"preferences.compactionReserveTokensHint":`Tokens reserved for model output, keeping reply space after compaction`,"preferences.compactionKeepRecentTokens":`Keep recent tokens`,"preferences.compactionKeepRecentTokensHint":`Tokens kept after compaction, counted backwards from the most recent messages`,"preferences.retry":`API retry`,"preferences.retryHint":"Retry settings for provider API calls (settings.json `retry`). When not configured the pi defaults are shown; any edit writes the full object. Provider sub-fields left empty are not written.","preferences.retryEnabled":`Enabled`,"preferences.retryEnabledHint":`Enable retries for failed API calls`,"preferences.retryMaxRetries":`Max retries`,"preferences.retryBaseDelayMs":`Base delay (ms)`,"preferences.retryBaseDelayMsHint":`Initial delay before the first retry, in milliseconds`,"preferences.retryProviderTimeoutMs":`Provider timeout (ms)`,"preferences.retryProviderMaxRetries":`Provider max retries`,"preferences.retryProviderMaxRetryDelayMs":`Provider max delay (ms)`,"preferences.defaultProjectTrust":`Default project trust`,"preferences.projectTrustHint":"Default trust for new projects (settings.json `defaultProjectTrust`). Not set = field removed (falls back to ask).","preferences.projectTrustNotSet":`Not set (ask)`,"preferences.projectTrustAsk":`Ask`,"preferences.projectTrustAlways":`Always trust`,"preferences.projectTrustNever":`Never trust`,"preferences.notifyEvents":`Notifications`,"preferences.notifyEventsHint":`Browser notifications when the tab is not active. Permission is requested on first interaction.`,"notify.permission.request":`Enable notifications`,"notify.permission.requestHint":`Click to enable browser notifications — you'll be alerted when a task finishes even if this tab is in the background`,"notify.permission.granted":`Notifications on`,"wsHealth.disconnected":`Connection to the server lost, reconnecting…`,"wsHealth.restored":`Connection restored`,"reducedMotionNotice.message":`Your system has "Reduce motion" enabled (prefers-reduced-motion). To respect it, this app has turned off some animations. To restore them, search for "how to turn off reduce motion" or "prefers-reduced-motion" and follow your system/browser settings. Shown once per browser session.`,"notify.permission.grantedHint":`Browser notifications are enabled — you'll be alerted when a task finishes even if this tab is in the background`,"notify.permission.bannerHintBefore":`Click the`,"notify.permission.bannerHintAfter":`button in the top-left toolbar to enable notifications — you'll be alerted when a task completes, errors, or asks a question. Fine-tune in Config Center → Session → Notifications`,"notify.permission.denied":`Notifications blocked`,"notify.permission.deniedHint":`Notifications are blocked by the browser. Click the icon next to the address bar → Site settings, switch notifications to Allow, then try again`,"preferences.notifyWhileActive":`Notify while page active`,"preferences.notifyTaskComplete":`Task complete`,"preferences.notifyErrors":`Errors`,"preferences.notifyQuestions":`Questions`,"theme.dark":`Switch to dark mode`,"theme.toggleTheme":`Switch theme`,"theme.darkMode":`Dark`,"theme.lightMode":`Light`,"theme.fontSize":`Font size`,"theme.scrollStep":`Hover scroll step`,"scrollStep.hint":`Pixels scrolled per hover tick on the edge scroll arrows (shared by the panel scroll arrows and the minimap).`,"scrollStep.range":`per hover tick (1-1000)`,"scrollStep.unit":`px`,"theme.autoReloadSeconds":`Auto-sync chat messages interval`,"autoReload.off":`Off (0) — do not auto-reload`,"autoReload.range":`seconds (0 — 3600)`,"autoReload.unit":`s`,"autoReload.hint":`Interval in seconds for re-reading the session file; 0 = off. Keep 0 for single-client use (messages arrive via WebSocket in real time); set it above 0 for multi-client collaboration (several browsers on the same session) so each client refreshes periodically and picks up chat messages generated by the others.`,"recentBlocks.hint":`How many recent completed blocks stay expanded, including the newest one (default 0: completed blocks collapse by default, hover to preview or click to expand).`,"autoReload.reset":`Reset to default ({n} s)`,"chat.reloadFromDisk":`Sync session file content from disk`,"chat.reloadFromDiskHint":`Use when multiple clients read/write the same session jsonl at the same time. You can set automatic timed syncing under Config Center → Session.`,"chat.exportSession":`Export session (HTML)`,"chat.exportSessionHint":`Download the full session as a standalone HTML file (renders the message tree offline in any browser).`,"scrollStep.reset":`Reset to default ({n} px)`,"theme.recentBlocksExpanded":`Recent completed blocks kept expanded`,"layout.sidebarWidth":`Left panel width`,"layout.widgetPanelWidth":`Right panel width`,"layout.widthRange":`px ({min}–{max})`,"layout.widthReset":`Reset to default ({value} px)`,"longBlock.blocks":`blocks`,"recentBlocks.reset":`Reset to default ({n})`,"recentBlocks.range":`0-20, includes the newest completed block`,"history.full":`Trajectory`,"history.unsaved":`Trajectory is available after the session is saved`,"title.generating":`Generating...`,"title.updated":`Title updated`,"title.noMessages":`Send a message before naming this session`,"title.generateSession":`Generate a session title`,"system.prompt":`System prompt`,"system.promptHint":`Shows the system prompt actually used by the latest request (derived from the session transcript); not generated until the first message is sent in a new session.`,"system.empty":`System prompt is empty (tools are disabled)`,"system.load":`Send a message to load the system prompt`,"notices.title":`Messages`,"notices.empty":`No messages yet`,"mcp.requiresCwd":`Open a working directory to view MCP server configuration`,"mcp.title":`MCP Servers`,"mcp.builtinNote":`Built-in MCP support is enabled with the session (pi 0.99+). Do not install mcp plugins — any extension registering /mcp replaces the built-in support. Configuration comes from mcp.json and servers connect at session start.`,"mcp.empty":"No MCP servers configured. Use `pi mcp add <name> -- <command>` or edit {globalPath}.","mcp.sourceGlobal":`global`,"mcp.sourceProject":`project`,"mcp.disabled":`disabled`,"mcp.exposure":`exposure`,"mcp.toolExposureCount":`{n} tool overrides`,"mcp.timeout":`{n}s timeout`,"mcp.projectUntrusted":`Project .pi/mcp.json is not active: the project is not trusted (stdio servers execute commands).`,"mcp.howToEdit":"Add, edit or remove servers with the cards above; /reload or start a new session to apply. For OAuth sign-in use `pi mcp login <server>`.","mcp.addServer":`Add server`,"mcp.addTo":`Add to`,"mcp.editServer":`Edit server`,"mcp.removeServer":`Remove server`,"mcp.removeConfirmTitle":`Remove MCP server`,"mcp.removeConfirmDesc":`“{name}” will be removed from the {source} mcp.json. /reload or start a new session to apply.`,"mcp.fieldName":`Name`,"mcp.fieldTransport":`Transport`,"mcp.transportStdio":`stdio (local command)`,"mcp.transportHttp":`HTTP (remote)`,"mcp.fieldCommand":`Command`,"mcp.fieldArgs":`Args`,"mcp.fieldArgsHint":`Space-separated, e.g. -y server-fs .`,"mcp.fieldUrl":`URL`,"mcp.fieldEnv":`Env`,"mcp.fieldHeaders":`Headers`,"mcp.fieldKvHint":`One KEY=VALUE per line`,"mcp.fieldTimeout":`Timeout (s, optional)`,"mcp.fieldEnabled":`Enabled`,"mcp.dialogTargetGlobal":`Save to {path}`,"mcp.dialogTargetProject":`Save to {path}`,"mcp.dialogTargetProjectUnavailable":`Project not trusted; cannot write to the project mcp.json`,"mcp.errNameRequired":`Name is required`,"mcp.errCommandRequired":`stdio servers require a command`,"mcp.errUrlRequired":`HTTP servers require a URL`,"mcp.autoEnableCodemode":`Auto-enable codemode`,"mcp.autoEnableCodemodeHint":`Whether codemode (model-written JS calling tools in parallel) activates when codemode-exposed MCP servers are present.`,"mcp.exposureDirect":`direct (declared to model)`,"mcp.exposureModelOnly":`model-only (not in scripts)`,"mcp.exposureCodemode":`codemode (scripts only)`,"mcp.exposureDeferred":`deferred (tool_search)`,"mcp.exposureHidden":`hidden`,"notices.filterInfo":`Show info messages`,"notices.filterWarning":`Show warning messages`,"notices.filterError":`Show error messages`,"notices.search":`Search messages`,"notices.clear":`Clear`,"notices.clearCurrentHint":`Clear message log of the current session (scope: current session)`,"notices.clearAllHint":`Clear message log of all sessions (scope: all sessions)`,"notices.clearCurrent":`Clear messages of current session`,"notices.clearAll":`Clear all messages`,"notices.remove":`Remove this message`,"notices.onlyCurrent":`Current session only`,"notices.onlyCurrentOnHint":`Show messages of the current session only (click to show all sessions)`,"notices.onlyCurrentOffHint":`Showing messages of all sessions (click to filter to current session)`,"notices.fromSession":`From session`,"notices.global":`Global`,"session.info":`Session info`,"session.reload":`Reload session (re-read config and resources)`,"session.name":`Name`,"session.file":`File`,"session.inMemory":`In-memory`,"session.id":`ID`,"session.user":`User`,"session.assistant":`Assistant`,"session.toolCalls":`Tool Calls`,"session.toolResults":`Tool Results`,"session.total":`Total`,"session.input":`Input`,"session.output":`Output`,"session.cacheRead":`Cache Read`,"session.cacheWrite":`Cache Write`,"session.inputHint":`Prompt tokens NOT served from cache: system prompt, history and tool definitions sent to the model, minus the cached portion`,"session.outputHint":`Tokens generated by the model (answers and thinking)`,"session.cacheReadHint":`Tokens served from prompt cache: unchanged context re-read from the previous request at a discounted rate`,"session.cacheWriteHint":`Tokens written to cache for the first time (billed on write, Anthropic-style)`,"session.totalHint":`input + output + cacheRead + cacheWrite`,"session.cacheHitRate":`Cache hit rate`,"session.cacheReadRate":`Cache hit rate: cache-read tokens as a share of all input prompt tokens (input + cacheRead + cacheWrite), the official formula cacheRead / (input + cacheRead + cacheWrite)`,"session.cost":`Cost`,"session.context":`Context`,"session.copy":`Copy {value}`,"session.copied":`Copied`,"session.title":`Session info`,"session.load":`Send a message or run /session to load session info`,"session.infoSection":`Session Info`,"session.messages":`Messages`,"session.tokens":`Tokens`,"session.copyFile":`Copy file path`,"session.copyId":`Copy session ID`,"workspace.opening":`Opening workspace...`,"workspace.unable":`Unable to open workspace`,"workspace.selectSession":`Select a session from the sidebar`,"workspace.selectWorkspace":`Please select a workspace`,"workspace.stepProject":`Select a project directory from the sidebar`,"workspace.stepModels":`Add models via the Models button at the bottom`,"tabs.chat":`Chat`,"tabs.widgets":`Widgets`,"tabs.updates":`Updates`,"tabs.branches":`Branches`,"branch.assistantFallback":`[assistant message]`,"branch.customMessage":`custom message`,"branch.sessionInfo":`session info`,"branch.thinkingLevelChange":`thinking level change`,"branch.modelChange":`model change`,"tabs.trajectory":`Trajectory`,"trajectory.noSession":`Select a session to view its trajectory`,"trajectory.loading":`Loading…`,"trajectory.summary":`{turns} turns · {tools} tool calls`,"trajectory.emptyTurn":`(no user message)`,"trajectory.turnStats":`{tools} tools · {errors} errors`,"trajectory.toolError":`Tool {name} failed`,"trajectory.lane.user":`user`,"trajectory.overviewEmpty":`Expand a turn to see its timeline`,"trajectory.lane.assistant":`assistant`,"trajectory.lane.tool":`tool`,"config.title":`Settings`,"config.mobileDisabled":`Config center is not available on mobile. Please open it in a desktop browser.`,"config.section.session":`Session`,"config.section.appearance":`Appearance`,"config.section.advanced":`Advanced`,"config.section.envVars":`Environment`,"config.env.hint":`Environment variables actually in effect inside the pi-web server process (covers .env, shell exports, OS-level and process inheritance). Read-only. Secret-looking values are masked.`,"config.env.filterPlaceholder":`Filter by name…`,"config.env.colName":`Name`,"config.env.colValue":`Value`,"config.env.emptyTitle":`Variable is set to an empty string`,"config.env.loadFailed":`Failed to load:`,"config.env.loading":`Loading…`,"config.env.noMatch":`No matching variables`,"config.section.tools":`Tools`,"config.search.placeholder":`Search settings (min 2 chars)…`,"config.search.open":`Search settings (Ctrl+F)`,"config.search.hint":`Press Ctrl+F to search settings`,"config.search.matchCount":`{count} matches`,"config.search.noResults":`No matching settings`,"config.section.fileExclusions":`File Exclusions`,"config.section.startScreen":`Start screen`,"config.section.git":`Git`,"config.section.modelThinking":`Thinking Levels`,"config.section.requiresCwd":`Select a project directory from the sidebar first to browse plugins / skills`,"updates.check":`Check for updates`,"updates.checking":`Checking…`,"updates.checkedAt":`Last checked`,"updates.upToDate":`Up to date`,"updates.updateAvailable":`Update available`,"updates.unavailable":`Check failed`,"updates.noPluginUpdates":`All plugins are up to date`,"updates.banner":`Update available: {items}`,"updates.view":`View`,"updates.copied":`Copied`,"updates.copyCommand":`Copy command`,"updates.restartNote":`Also upgrades the bundled pi SDK; restart pi-web to load it.`,"updates.enableChecking":`Enable update checks`,"updates.enableCheckingHint":`Automatically check for updates every 30 minutes (you can also click Check for updates anytime)`,"updates.disabled":`Update checks disabled`,"updates.ignoreVersion":`Ignore this version`,"updates.ignored":`Ignored {version}`,"updates.ignoredPlugin":`Ignored`,"updates.unignore":`Unignore`,"preferences.fileExclusions.title":`File exclusions`,"preferences.fileExclusions.description":"Exclusion rules shared by the file browser and @ file index: `*.xxx` matches by suffix, anything else matches a directory/file name exactly. Each level fully replaces the one below (no merging): project overrides global, global overrides built-in defaults. Separate multiple entries with commas when adding (names may contain spaces); changes take effect immediately.","preferences.fileExclusions.global":`Global`,"preferences.fileExclusions.project":`Project`,"preferences.fileExclusions.defaults":`Built-in defaults (read-only)`,"preferences.fileExclusions.inputPlaceholder":`e.g. node_modules, *.pyc (separate multiple with commas)`,"preferences.fileExclusions.importHigher":`Copy entries from the level above`,"preferences.fileExclusions.loadFailed":`Failed to load file exclusions`,"preferences.defaultTools.title":`Default tools (defaultTools)`,"preferences.defaultTools.description":`Configure tools enabled for new sessions (pi settings.json defaultTools). The options in the tool preset dropdown under the chat input (full, etc.) are managed in the Tool presets section below in this tab; selecting a preset is a session-level toggle and is not persisted here. Built-in tools that are inactive by default (grep/find/ls) and codemode can be enabled here; the MCP section has a separate autoEnableCodemode option — the two are independent. Full replace = exact whitelist; Incremental = add/remove on top of the pi default set (read/bash/edit/write); in incremental mode, hover the effective badge to preview the resulting tool list.`,"preferences.defaultTools.global":`Global default tools`,"preferences.defaultTools.project":`Project default tools`,"preferences.defaultTools.modeFull":`Full replace`,"preferences.defaultTools.modeIncremental":`Incremental`,"preferences.defaultTools.save":`Save`,"preferences.defaultTools.reset":`Reset`,"preferences.defaultTools.incrementalHint":`Incremental mode: entries are written with +/- prefixes; click a tool to emit -tool (removal), click again to restore.`,"preferences.defaultTools.confirmTitle":`Save & restart affected sessions`,"preferences.defaultTools.confirmRestartGlobal":`Saving the global default tools restarts all session processes you have opened (new sessions use the new list immediately); sessions with running tasks are not interrupted and keep the old list until they go idle.`,"preferences.defaultTools.confirmRestartProject":`Saving the project default tools restarts opened session processes of this project (new sessions use the new list immediately); sessions with running tasks are not interrupted.`,"preferences.defaultTools.saveResult":`Saved; restarted {restarted} session process(es)`,"preferences.defaultTools.saveResultSkipped":`Saved; restarted {restarted} session process(es); {skipped} running session(s) left untouched and will restart when idle`,"preferences.defaultTools.fullHint":`Full mode: the checked tools form the complete whitelist, fully replacing the pi defaults (unchecked default tools become unavailable).`,"preferences.defaultTools.toolDesc.read":`Read file contents (optional line range; read-only, never modifies files)`,"preferences.defaultTools.toolDesc.bash":`Run shell commands (general-purpose: builds, git, process management, etc.)`,"preferences.defaultTools.toolDesc.edit":`Edit files via exact-match string replacement (use write for new files or full rewrites)`,"preferences.defaultTools.toolDesc.write":`Create a new file or overwrite an entire file (use edit for partial changes)`,"preferences.defaultTools.toolDesc.grep":`Search file contents with regex (dedicated exploration tool, no bash round-trip)`,"preferences.defaultTools.toolDesc.find":`Find files by name pattern (dedicated exploration tool, no bash round-trip)`,"preferences.defaultTools.toolDesc.ls":`List directory contents (quick project overview)`,"preferences.defaultTools.toolDesc.powershell":`Run PowerShell commands (pwsh or Windows PowerShell; Windows-oriented alternative to bash)`,"preferences.defaultTools.toolDesc.codemode":`The model orchestrates other tools via a JS script (QuickJS sandbox) - running calls in parallel, filtering large results, and returning only the script output to the model.`,"preferences.defaultTools.toolDesc.tool_search":`Let the model search and lazily load undeclared tools (codemode/deferred exposure, e.g. MCP tools) on demand.`,"preferences.defaultTools.projectUntrusted":`Project is not trusted; cannot write project settings.json (trust the directory first).`,"preferences.defaultTools.loadFailed":`Failed to load default tools config`,"preferences.toolPresets.title":`Tool presets`,"preferences.toolPresets.description":`Options for the tool preset dropdown in the chat input (~/.pi/agent/pi-web/tool-presets.json)`,"preferences.toolPresets.nameLabel":`Name`,"preferences.toolPresets.namePlaceholder":`Preset name (required)`,"preferences.toolPresets.nameRequired":`Name must not be empty`,"preferences.toolPresets.nameDuplicate":`Name must be unique`,"preferences.toolPresets.descriptionLabel":`Description`,"preferences.toolPresets.descriptionPlaceholder":`Optional description shown in the dropdown`,"preferences.toolPresets.remove":`Remove`,"preferences.toolPresets.defaultHint":`Built-in preset (read-only): effective tools follow the default tools list above (project overrides global)`,"preferences.toolPresets.defaultSourceGlobal":`No project-level default tools configured — following the global list`,"preferences.toolPresets.defaultSourceSdk":`Neither project nor global configured — using pi built-in defaults (read/bash/edit/write)`,"preferences.toolPresets.staleRestart":`Default tools updated — restart pi-web to apply them to running sessions`,"preferences.toolPresets.add":`Add preset`,"preferences.toolPresets.save":`Save`,"preferences.toolPresets.reset":`Reset`,"preferences.toolPresets.saved":`Saved. The chat dropdown updates immediately.`,"preferences.toolPresets.loadFailed":`Failed to load tool presets config`,"preferences.pi.unset":`pi default`,"preferences.pi.enableAnalytics":`Enable analytics`,"preferences.pi.enableAnalyticsHint":"Send anonymous usage analytics (settings.json `enableAnalytics`)","preferences.pi.enableInstallTelemetry":`Enable install telemetry`,"preferences.pi.enableInstallTelemetryHint":"Send anonymous install telemetry (settings.json `enableInstallTelemetry`)","preferences.pi.httpProxy":`HTTP proxy`,"preferences.pi.httpProxyHint":"Proxy URL for HTTP requests (settings.json `httpProxy`). Empty input cannot clear an already-set value.","preferences.pi.trackingId":`Analytics tracking ID`,"preferences.pi.trackingIdHint":"Custom analytics tracking ID (settings.json `trackingId`). Empty input cannot clear an already-set value.","preferences.pi.httpIdleTimeoutMs":`HTTP idle timeout (ms)`,"preferences.pi.httpIdleTimeoutMsHint":"HTTP idle timeout in ms (settings.json `httpIdleTimeoutMs`). Empty input cannot clear an already-set value.","preferences.pi.websocketConnectTimeoutMs":`WebSocket connect timeout (ms)`,"preferences.pi.websocketConnectTimeoutMsHint":"WebSocket connect timeout in ms (settings.json `websocketConnectTimeoutMs`). Empty input cannot clear an already-set value.","preferences.pi.branchSummary":`Branch summary`,"preferences.pi.branchSummaryHint":"Branch summary auto-compaction (settings.json `branchSummary`)","preferences.pi.reserveTokens":`Reserve tokens`,"preferences.pi.skipPrompt":`Skip prompt`,"preferences.pi.images":`Image handling`,"preferences.pi.imagesHint":"How the pi engine handles images (settings.json `images`)","preferences.pi.autoResize":`Auto-resize`,"preferences.pi.autoResizeHint":"Downscale images returned by tools such as `read` to save tokens.","preferences.pi.blockImages":`Block images`,"preferences.pi.blockImagesHint":`Strip all image content from messages before they reach the model.`,"config.files.hint":`Edit pi's config files (JSON) directly. Validated before save; backed up automatically (last 10 kept).`,"config.widgets.empty":`No widget configurations yet. Widgets appear here automatically when an extension pops one up.`,"config.widgets.x":`x`,"config.widgets.y":`y`,"config.widgets.width":`w`,"config.widgets.height":`h`,"config.widgets.bind":`Bind message`,"config.widgets.bindTitle":`Bind custom message`,"config.widgets.bindHint":`Bind a quick message to widget "{key}"`,"config.widgets.editTitle":`Edit quick message`,"config.widgets.editHint":`Edit the label, content, and send mode.`,"config.widgets.label":`Label`,"config.widgets.labelPlaceholder":`Button text (e.g. Reload)`,"config.widgets.message":`Message`,"config.widgets.messagePlaceholder":`A slash command or any text (e.g. /reload)`,"config.widgets.messageTooltip":`Type / to see built-in, global plugin and Skill commands. Project-level plugin commands won't appear in suggestions but can still be entered and saved manually.`,"config.widgets.sendImmediately":`Send immediately`,"config.widgets.sendMode":`Send mode`,"config.widgets.fillToChatInput":`Fill into chat input`,"config.widgets.sendImmediatelyTooltip":`Send immediately: `,"config.widgets.fillToChatInputTooltip":`Fill into chat input: `,"config.widgets.nameConflict":`Name "{label}" already exists, please use another`,"config.startScreen.nameConflict":`Name "{label}" already exists, please use another`,"config.startScreen.hint":`Quick actions shown on the new-session start screen (below the Pi logo); clicking sends the message immediately or fills it into the chat input, depending on each entry's send mode.`,"config.startScreen.bind":`Bind message`,"config.startScreen.bindTitle":`Bind quick message`,"config.startScreen.bindHint":`Bind a quick message to the start screen.`,"config.startScreen.empty":`No quick messages yet; the start screen will show no quick actions.`,"config.startScreen.unbindTitle":`Unbind message`,"config.startScreen.unbindConfirm":`Unbind "{label}"?`,"config.startScreen.unbind":`Unbind`,"config.widgets.confirm":`Confirm`,"config.widgets.unbindTitle":`Unbind message`,"config.widgets.unbindConfirm":`Unbind "{label}"?`,"config.widgets.unbind":`Unbind`,"config.startScreen.editTitle":`Edit quick message`,"config.startScreen.editHint":`Edit the label, content, and send mode.`,"config.startScreen.reset":`Reset`,"config.startScreen.resetHint":`Restore the built-in default quick messages; keep your own bound messages (ones with the same label as a default are replaced by the default).`,"config.files.save":`Save`,"config.files.saving":`Saving...`,"config.files.saved":`Saved`,"config.files.missing":`Not created yet`,"config.files.placeholder":`Select a config file from the list on the left`,"layout.resizeSidebar":`Resize sidebar`,"layout.resizeWidgetPanel":`Resize widgets panel`,"layout.resizeHint":`Drag to resize. Double-click or press Enter to reset.`,"sidebar.newWorkspace":`New workspace`,"sidebar.searchSessions":`Search sessions`,"sidebar.searchSessionsPlaceholder":`Search sessions…`,"sidebar.justNow":`just now`,"sidebar.minutesAgo":`{count}m ago`,"sidebar.hoursAgo":`{count}h ago`,"sidebar.daysAgo":`{count}d ago`,"sidebar.searchSessionsNoResults":`No matching sessions`,"sidebar.newSessionTitle":`New session in {path}`,"sidebar.refresh":`Refresh`,"directoryPicker.selectDirectory":`Select directory`,"directoryPicker.goToParent":`Go to parent directory`,"directoryPicker.directoryPath":`Directory path`,"directoryPicker.goToDirectory":`Go to directory`,"directoryPicker.go":`Go`,"directoryPicker.loadingDirectories":`Loading directories…`,"directoryPicker.noSubdirectories":`No subdirectories`,"directoryPicker.openBeforeSelecting":`Open this path before selecting it`,"directoryPicker.selectCurrentDirectory":`Select current directory`,"directoryPicker.selectThisFolder":`Select this folder`,"directoryPicker.noDrives":`No drives found`,"directoryPicker.search":`Filter folders`,"directoryPicker.noMatches":`No folders match your filter`,"sidebar.checking":`Checking…`,"sidebar.open":`Open`,"sidebar.cancel":`Cancel`,"sidebar.openRepoRoot":`Worktree switch unavailable`,"sidebar.openRepoRootTitle":`Worktree switching is unavailable here — switch the current working directory to the Git repository root first (from the sidebar).`,"sidebar.gitRepoRootOnly":`Git repo root only`,"sidebar.gitRepoRootOnlyTitle":`Worktrees are available in Git repository roots.`,"sidebar.worktrees":`Worktrees...`,"sidebar.checkingWorktrees":`Checking worktrees for this directory.`,"sidebar.filterWorktrees":`Filter worktrees…`,"sidebar.noMatchingWorktrees":`No matching worktrees`,"sidebar.switchWorktree":`Switch worktree`,"sidebar.switchWorktreeTitle":`Switch worktree: {path}`,"sidebar.main":`main`,"sidebar.forceRemoveCheckout":`Uncommitted changes. Force remove checkout?`,"sidebar.force":`Force`,"sidebar.createWorktreeTitle":`Create a worktree checkout for a branch`,"sidebar.newWorktree":`New worktree…`,"sidebar.branchName":`git branch name`,"sidebar.creating":`Creating…`,"sidebar.create":`Create`,"sidebar.uploadFilesTitle":`Upload files to project root`,"sidebar.uploadFiles":`Upload files`,"sidebar.refreshExplorer":`Refresh explorer`,"sidebar.changedFiles":`{count} changed files`,"sidebar.loading":`Loading...`,"sidebar.sessionDeleted":`Session deleted — pick another session`,"sidebar.noSessions":`No sessions found`,"sidebar.workspace":`Workspace`,"sidebar.newActivity":`New activity`,"sidebar.newSessionActivity":`New session activity`,"sidebar.interactionBadge":`Session waiting for interaction`,"sidebar.deleteSession":`Delete {title}?`,"sidebar.deleteWorkspace":`All {count} sessions under “{name}” and their auxiliary files will be deleted. This cannot be undone.`,"sidebar.deleteWorkspaceTitle":`Delete this workspace, its sessions and their auxiliary files`,"sidebar.deleteWorkspaceDialogTitle":`Delete workspace`,"sidebar.deletedSessionGhost":`Session deleted`,"sidebar.deletedWorkspaceGhost":`Deleted workspace “{name}” ({count} sessions + auxiliary files)`,"sidebar.copyPath":`Copy full path`,"sidebar.actions":`Session actions`,"sidebar.rename":`Rename`,"sidebar.delete":`Delete`,"aux.forkTitle":`Copy session auxiliary files`,"aux.forkDescription":`This session has same-named auxiliary files (different extension). Choose which to copy to the new session:`,"aux.deleteTitle":`Delete auxiliary files too?`,"aux.deleteDescription":`These files share the session's name (different extension). Unchecked files will be left on disk:`,"aux.copyConfirm":`Copy & fork`,"aux.deleteConfirm":`Delete selected`,"aux.fileNameHeader":`File name (click to select all)`,"aux.sizeHeader":`Size`,"aux.toggleAll":`Select all / clear`,"sidebar.deleteWithShiftClick":`Delete (Shift+click to delete without confirmation)`,"sidebar.expandForks":`Expand forks`,"sidebar.collapseForks":`Collapse forks`,"sidebar.disconnect":`Disconnect`,"sidebar.messagesCount":`{count} msgs`,"sidebar.worktreePath":`Worktree: {path}`,"sidebar.removeWorktreeTitle":`Remove worktree checkout {path}; the branch is kept`,"files.modified":`Modified`,"files.added":`Added`,"files.deleted":`Deleted`,"files.renamed":`Renamed`,"files.untracked":`Untracked`,"files.conflict":`Conflict`,"files.newlyUploaded":`Newly uploaded`,"files.containsChangedFiles":`Contains changed files`,"files.insertPath":`Insert path into chat`,"files.mention":`mention`,"files.download":`Download file`,"files.dismissError":`Dismiss error`,"files.addUploadedFile":`Add uploaded file to chat`,"files.addAllUploadedFiles":`Add all uploaded files to chat`,"files.openInSystemApp":`Open with system app`,"files.chooseOtherApp":`Choose another app…`,"files.openLaunched":`Launched with the system app`,"files.fileTooLargeForPreview":`File too large for preview (>{limit})`,"files.docTooLargeForPreview":`DOCX too large for preview (>{limit})`,"files.dismissUploadResults":`Dismiss upload results`,"files.loading":`Loading files...`,"files.noFiles":`No files found`,"files.find":`Find`,"files.findNext":`Next match (Enter)`,"files.findPrev":`Previous match (Shift+Enter)`,"files.findNoResults":`No results`,"files.findClose":`Close (Esc)`,"loading.inProgress":`Working…`,"loading.more":`{count} more…`,"errors.title":`Error`,"errors.titleCount":`Errors ({count})`,"errors.close":`Close`,"errors.clearAll":`Clear all`,"files.notFound":`Not found`,"files.accessDenied":`Access denied`,"files.empty":`Empty`,"files.uploadFailed":`{count} failed`,"files.explorer":`Explorer`,"files.changedCount":`{count} files`,"files.stagedPrefix":`Staged: `,"files.unstagedPrefix":`Unstaged: `,"files.noStagedChanges":`No staged files`,"files.noUnstagedChanges":`No unstaged changes`,"files.commitMessagePlaceholder":`Commit message`,"files.commit":`Commit`,"files.push":`Push to remote (with tags)`,"files.pushing":`Pushing...`,"files.pushSuccess":`Push succeeded`,"files.pushFailed":`Push failed`,"files.pushUpToDate":`Already up to date — nothing to push`,"files.pull":`Pull from remote`,"files.pulling":`Pulling...`,"files.pullSuccess":`Pull succeeded`,"files.pullFailed":`Pull failed`,"files.pullUpToDate":`Already up to date — nothing to pull`,"files.pullNonFastForward":`Pull rejected — local and remote have diverged. Use git pull --rebase or --merge in terminal.`,"files.committing":`Committing…`,"files.commitMessageRequired":`Enter a commit message first`,"files.commitTitle":`Commit changes`,"files.stageFileListMore":`…and {count} more`,"files.confirmStageAllCommit":`Stage the following {count} changed files and commit?`,"files.commitMessageLabel":`Commit message`,"files.stageAllAndCommit":`Stage & commit`,"files.stageFile":`Stage file`,"files.unstageFile":`Unstage file`,"files.changeStats":`{count} changed files, {additions} lines added, {deletions} lines deleted`,"git.autoFetchInterval":`Auto fetch interval (seconds)`,"git.otherSectionTitle":`Other`,"git.autoFetchIntervalHint":`How often the server fetches remotes for active session workspaces (shared by all clients). 0 disables the timer — one fetch runs when a session connects.`,"git.groupTitle":`Smart Commit Message Generation`,"git.commitModel.followCurrent":`Follow current session model`,"git.commitModel.followCurrentHint":`When on, the commit generation follows the current chat's main model. When off, the fixed model below is used (recommended for a cheap dedicated model).`,"git.commitModel.fixedModel":`Fixed model`,"git.commitModel.fixedModelHint":`Model used when "follow current session" is off (choose a cheap model).`,"git.commitModel.selectPlaceholder":`Select a model`,"git.commitModel.noModels":`No models available`,"git.commitModel.notConfiguredHint":`No fixed model selected. Pick a model before using AI generate.`,"git.ai.generate":`Smart generate`,"git.ai.generating":`Generating…`,"git.ai.notConfiguredTitle":`Model not configured`,"git.ai.notConfiguredDesc":`No model is set for Smart generate. Go to Config Center → Git to set one.`,"git.ai.goToConfig":`Go to settings`,"git.ai.noSession":`Follow-current mode requires an active session`,"git.ai.noSessionModel":`Current session has no model. Select a model in chat first`,"git.commitModel.maxTokens":`Max output tokens`,"git.commitModel.maxTokensHint":`Max output tokens for one generation (64–4096, default 512). Reasoning is minimized: disabled when the model supports it, otherwise reduced to the lowest level.`,"git.commitModel.autoGenerateOnEmpty":`Auto-generate when commit box is empty`,"git.commitModel.autoGenerateOnEmptyHint":`When on, clicking Commit with an empty box auto-generates a message first, then commits. Only when a model is configured; otherwise empty stays disabled. On by default.`,"git.ai.invalidModel":`Configured model is invalid. Reselect it in Config Center.`,"git.ai.usingCurrentModel":`Using current chat model`,"git.ai.usingModel":`Using {model}`,"git.ai.generateAndCommit":`Smart generate & commit`,"git.commitConfirmStageAll":`Confirm “stage all” on commit`,"git.commitConfirmStageAllHint":`When on, committing with only unstaged changes shows a “Stage all & commit” confirmation. When off, it stages all and commits directly. On by default.`,"modelThinking.desc":`Remember the last thinking level per model or provider. When switching models, the selector restores the remembered level; if the model's available levels don't include it, it falls back to auto (use default). All 7 levels supported: off / minimal / low / medium / high / xhigh / max.`,"modelThinking.addModelTitle":`Add model`,"modelThinking.addProviderTitle":`Add provider`,"modelThinking.byModel":`By model`,"modelThinking.byProvider":`By provider`,"modelThinking.byProviderHint":`Provider fallback: models without a per-model entry use this value.`,"modelThinking.emptyModel":`No per-model memory yet. Selecting a thinking level after switching models will remember it automatically; you can also add one here.`,"modelThinking.emptyProvider":`No per-provider memory yet.`,"modelThinking.selectModelPlaceholder":`Select a model`,"modelThinking.selectProviderPlaceholder":`Select a provider`,"modelThinking.providerInputPlaceholder":`or type a provider name`,"modelThinking.footerHint":`Stored in a standalone file pi-web/model-thinking.json, not the main config. UI-only — pi's set_thinking_level is not intercepted.`,"common.add":`Add`,"common.emptyValue":`(empty)`,"common.retry":`Retry`,"common.delete":`Delete`,"files.conflictSummary":`{count} file{countSuffix} already exist: {files}`,"files.cannotReplace":`Cannot replace: {files}`,"files.replace":`Replace`,"files.skipExisting":`Skip existing`,"files.cancel":`Cancel`,"files.checking":`Checking files`,"files.uploading":`Uploading, {progress}%`,"files.search":`Search files`,"files.searchPlaceholder":`Search files...`,"chat.loadingSession":`Loading session...`,"chat.noSessionSelected":`Create or select a session in the left panel`,"chat.loadingWindow":`Loading messages...`,"chat.runningTool":`Running tool`,"chat.runningNamedTool":`Running {name}`,"chat.runningToolsFull":`Running {names} ({count} tools)`,"chat.waitingModel":`Waiting for model`,"chat.aiQuestion":`AI question`,"chat.runningCommand":`Running command`,"chat.responding":`Responding`,"chat.totalElapsed":`total {total}`,"chat.thinking":`Thinking`,"chat.message":`{count} message`,"chat.messages":`{count} messages`,"chat.toolCall":`{count} tool call`,"chat.toolCalls":`{count} tool calls`,"chat.statFiles":`files`,"chat.statMessages":`messages`,"chat.statTools":`tools`,"tool.receivingArgs":`Receiving arguments...`,"chat.collapseProcess":`Collapse process details`,"chat.expandProcess":`Expand process details`,"chat.loadEarlier":`Scroll up to load earlier messages ({count} hidden)`,"chat.searchMessages":`Search messages`,"chat.clearSearch":`Clear search query`,"chat.scrollToLatest":`Scroll to latest message`,"chat.expandMessage":`Expand full content`,"chat.collapseMessage":`Collapse`,"chat.expandTurn":`Expand turn`,"chat.collapseTurn":`Collapse turn`,"chat.thinkingCount":`thinking`,"chat.textChars":`chars of text`,"chat.searchPlaceholder":`Search chat messages…`,"chat.searchNoResults":`No results`,"chat.searchResults":`{count} results`,"chat.extensionRequest":`extension request`,"chat.cancel":`Cancel`,"chat.skipped":`Skipped`,"chat.confirm":`Confirm`,"chat.submit":`Submit`,"chat.extensionInput":`Extension terminal input`,"chat.extensionSelect":`Select an option`,"chat.extensionConfirm":`Confirm`,"chat.extensionEditor":`Edit`,"chat.extensionPanel":`Extension panel`,"chat.close":`Close`,"chat.notifyInfoTitle":`Info`,"chat.notifySuccessTitle":`Success`,"chat.notifyErrorTitle":`Error`,"chat.notifyWarningTitle":`Warning`,"chat.queued":`Queued · {count}`,"chat.queueSteer":`Steer`,"chat.queueFollowUp":`Follow-up`,"chat.recall":`Recall to input`,"chat.recallTitle":`Remove all queued messages and put them back into the input box for editing (also triggered by pressing Enter while the input is empty)`,"chat.retrying":`Retrying ({attempt}/{max})`,"chat.loadingCommands":`Loading commands...`,"chat.slashCommands":`Slash commands · {label}`,"chat.tabEnter":`Tab / Enter`,"chat.noCommands":`No extension, prompt, or skill commands found`,"chat.match":`1 match`,"chat.matches":`{count} matches`,"chat.command":`1 command`,"chat.commands":`{count} commands`,"chat.loadingFiles":`Loading files...`,"chat.files":`Files · {label}{hint}`,"chat.searching":`Searching…`,"chat.noMatchingFiles":`No matching files`,"chat.searchingAll":` · searching all files…`,"chat.indexTruncated":` · index truncated`,"chat.steerPlaceholder":`Steer now / queue follow-up...`,"chat.recallPlaceholder":`Press Enter to recall queued messages, or type a new message…`,"chat.agentPlaceholder":`Agent is running…`,"chat.messagePlaceholder":`Type a chat message (Enter to send, Shift+Enter for newline). / for slash commands, @ to reference files, ! for shell commands`,"chat.questionNotificationTitle":`Pi — Question Asked`,"chat.taskCompleteNotificationTitle":`Pi — Task Complete`,"chat.taskErrorNotificationTitle":`Pi — Error`,"chat.sessionCompletedNotificationBody":`Session {name} completed`,"chat.questionNotificationDenied":`Notifications denied: allow them in the browser's site settings to get question alerts while the tab is hidden.`,"chat.steer":`Steer`,"chat.followUp":`Follow-up`,"chat.queueImageBlocked":`Image attachments cannot be queued while the agent is running`,"chat.steerTooltip":`Send this message immediately after the current call finishes`,"chat.followUpTooltip":`Queue this message after the agent finishes`,"chat.send":`Send`,"chat.attachImage":`Attach image`,"chat.attachmentOnDisk":`Too large to inline; saved to disk and referenced by path (the agent reads it on demand)`,"chat.filterModels":`Filter models…`,"chat.noMatchingModels":`No matching models`,"chat.moreControls":`More controls`,"chat.shell":`Shell`,"chat.outputLocal":`output stays local`,"chat.stoppedByUser":`Stopped by user`,"chat.cwdPrefix":`cwd`,"chat.turnArtifacts.title":`Edited {count} files this turn`,"chat.turnDuration":`Took {duration}`,"chat.turnArtifacts.toggleList":`Toggle file list`,"chat.turnArtifacts.openFile":`Open in Files`,"chat.outputModel":`output sent to model`,"chat.shellSilentTip":` (prefix !! to skip)`,"chat.noTools":`No tools, chat only`,"chat.builtInTools":`{count} built-in tools`,"chat.allBuiltInTools":`All built-in tools`,"chat.currentReasoning":`Current reasoning level: {level}`,"chat.changeReasoningLabel":`Change reasoning level`,"chat.currentModel":`Current model: {model}`,"chat.changeModel":`Change model`,"chat.currentToolPreset":`Current tool preset: {preset}`,"chat.toolPresetDrift":`⚠ Actual tools differ from the selected preset. Currently active: {actual}`,"chat.changeToolPreset":`Change tool preset`,"chat.stopCompaction":`Stop compaction`,"chat.compactContext":`Compact context`,"chat.compacting":`Compacting…`,"chat.compactionDisabledByExtension":`Native context compaction is taken over by an extension, so it can't run here.`,"chat.compact":`Compact`,"chat.stopAgent":`Stop agent`,"chat.stop":`Stop`,"chat.disableSound":`Disable sounds`,"chat.enableSound":`Enable sounds`,"chat.thinkingUseDefault":`Use pi default`,"chat.thinkingOff":`Reasoning off`,"chat.thinkingMinimal":`Minimal reasoning`,"chat.thinkingLow":`Low reasoning`,"chat.thinkingMedium":`Medium reasoning`,"chat.thinkingHigh":`High reasoning`,"chat.thinkingXhigh":`Extra-high reasoning`,"chat.thinkingMax":`Max reasoning`,"chat.thinkingMapTitle":`Higher thinking levels not configured`,"chat.thinkingMapBody":`pi supports up to high thinking by default. To enable {level} level reasoning, configure the "Thinking Level Map" for this model in Config → Models.`,"chat.thinkingMapGo":`Go to settings`,"chat.builtIn":`Built-in`,"chat.extensions":`Extensions`,"chat.prompts":`Prompts`,"chat.skills":`Skills`,"chat.dormant":`dormant`,"chat.commandCompact":`Compress context, optionally with instructions`,"chat.commandReload":`Reload extensions, skills, prompts, and tools`,"chat.commandName":`Set the session display name`,"chat.commandSession":`Show session message, token, and cost stats`,"chat.commandCopy":`Copy the last assistant message`,"chat.compacted":`Compacted`,"chat.tokensSaved":`{saved} saved`,"i18n.close":`Close`,"i18n.resizeList":`Resize {name} list`,"widgets.title":`Widgets`,"widgets.reopen":`Reopen widget`,"widgets.expandedToChat":`Widget [{key}] expanded to the chat view`,"widgets.collapse":`Collapse`,"widgets.open":`Open widgets`,"i18n.copy":`Copy`,"i18n.copied":`Copied`,"i18n.copyToolInput":`Copy raw JSON`,"i18n.cancel":`Cancel`,"i18n.save":`Save`,"i18n.saving":`Saving…`,"i18n.saved":`Saved`,"i18n.saveChanges":`Save changes`,"i18n.noThinking":`No thinking content`,"i18n.remove":`Remove`,"i18n.removing":`Removing…`,"i18n.delete":`Delete`,"i18n.loading":`Loading...`,"i18n.searchPlaceholder":`Search…`,"i18n.noMatch":`No matches`,"i18n.search":`Search`,"i18n.refresh":`Refresh`,"i18n.update":`Update`,"i18n.updating":`Updating...`,"i18n.check":`Check`,"i18n.checking":`Checking...`,"i18n.install":`Install`,"i18n.installing":`Installing...`,"i18n.noResults":`No results`,"i18n.searchProviders":`Search providers…`,"i18n.noProviders":`No providers match`,"i18n.newModel":`new model`,"i18n.addProvider":`Add provider`,"i18n.selectProviderModel":`Select a provider or model`,"i18n.visibleInPrompt":`Visible in model prompt — click to disable`,"i18n.hiddenFromPrompt":`Hidden from model prompt — click to enable`,"i18n.dormant":`Dormant`,"i18n.hiddenButInvocable":`Hidden from model, still manually invocable`,"i18n.skillSearchPlaceholder":`e.g. react, testing, deploy`,"i18n.searching":`Searching…`,"i18n.noSkills":`No skills found`,"i18n.checkUpdates":`Check updates`,"i18n.updates":`updates`,"i18n.noResolvedResources":`No resolved resources`,"i18n.enablePackage":`Enable package`,"i18n.disablePackage":`Disable package`,"i18n.filtered":`filtered`,"i18n.openSessionToReload":`Open a session to reload`,"i18n.notFound":`Not found`,"i18n.noPlugins":`No plugins configured`,"i18n.scopeGlobal":`Global`,"i18n.scopeProject":`Project`,"i18n.scopePath":`Path`,"i18n.name":`Name`,"i18n.description":`Description`,"trust.resourcesNotLoaded":`Restricted mode`,"trust.trustProject":`Trust project`,"trust.trusting":`Trusting...`,"trust.cancel":`Cancel`,"trust.dialogTitle":`Trust this project?`,"trust.dialogBody":`Project resources can run local code. Trust only projects whose contents you know.`,"trust.skillsNotLoaded":`Project skills are not loaded because this project is not trusted.`,"trust.pluginsNotLoaded":`Project plugins are not loaded because this project is not trusted.`,"trust.projectScopeUnavailable":`Project installs are unavailable while project resources are not loaded.`,"i18n.subscription":`Subscription`,"i18n.subscriptions":`Subscriptions`,"i18n.customEndpoint":`Custom endpoint format`,"i18n.noChanges":`No changes`,"i18n.branches":`Conversation branches`,"i18n.noActiveSession":`No active session`,"i18n.noActiveSessionToCompact":`No active session to compact`,"i18n.noActiveSessionToReload":`No active session to reload`,"i18n.noActiveSessionToName":`No active session to name`,"i18n.noAssistantMessageToCopy":`No assistant message to copy`,"i18n.commandCompleted":`Command completed`,"i18n.commandFailed":`Command failed`,"i18n.extensionCommandFailed":`Extension command failed`,"i18n.compactedContext":`Compacted context`,"i18n.reloadedSessionResources":`Reloaded session resources`,"i18n.usageName":`Usage: /name <name>`,"i18n.sessionRenamedTo":`Session renamed to {name}`,"i18n.copiedLastAssistantMessage":`Copied last assistant message`,"i18n.failedToRecallQueuedMessages":`Failed to recall queued messages`,"i18n.queuedResendAfterAbortTimeout":`Aborted, but queued messages could not be resent automatically; restored to the input box`,"i18n.noBranches":`This session has no branches`,"i18n.source":`Source`,"i18n.preview":`Preview`,"i18n.diff":`Diff`,"i18n.downloadFile":`Download file`,"i18n.liveSync":`Live sync active`,"i18n.notWatching":`Not watching`,"i18n.fileViewMode":`File view mode`,"i18n.editMode":`Edit mode`,"i18n.viewMode":`View mode`,"i18n.compareHead":`Compare working tree with HEAD`,"i18n.fileViewSource":`Source`,"i18n.fileViewPreview":`Preview`,"i18n.fileViewDiff":`Diff`,"i18n.fileViewSourceHint":`View as source code`,"i18n.fileViewPreviewHint":`View rendered preview`,"i18n.previewUnsupported":`Preview not supported for this format: {format}`,"i18n.lineCount":`{n} lines`,"i18n.mentionSelectedLines":`Mention selected lines`,"i18n.disableWrap":`Disable word wrap`,"i18n.enableWrap":`Enable word wrap`,"i18n.editFile":`Edit file`,"i18n.saveFile":`Save`,"i18n.saveFileShortcut":`Save (Ctrl/Cmd+S)`,"i18n.cancelEdit":`Cancel`,"i18n.saveFailed":`Save failed: {error}`,"i18n.unsavedChanges":`Unsaved changes`,"i18n.htmlPreview":`HTML preview`,"i18n.previewFile":`Preview {file}`,"i18n.invalidMermaid":`Invalid Mermaid diagram`,"i18n.renderingMermaid":`Rendering Mermaid diagram`,"i18n.previewAfterStreaming":`Preview available after streaming`,"i18n.showMermaidSource":`Show Mermaid source`,"i18n.previewMermaid":`Preview Mermaid diagram`,"i18n.openMermaidViewer":`Open diagram viewer`,"i18n.mermaidViewer":`Mermaid diagram viewer`,"i18n.mermaidDiagram":`Mermaid diagram`,"i18n.zoomOut":`Zoom out`,"i18n.zoomIn":`Zoom in`,"i18n.fitToWidth":`Fit to width`,"models.discoveryFetching":`Importing models…`,"models.deleteProviderConfirm":`Delete provider "{name}"? This writes to models.json immediately — all its settings (including the API key) will be removed and cannot be recovered.`,"models.renameProviderDialogTitle":`Rename Provider`,"models.renameProviderHint":`Renaming writes to models.json immediately and migrates this provider's API key and login credential; other unsaved edits are not saved with it.`,"models.renameProviderConflict":`Provider "{name}" already exists — pick another name.`,"models.renameProviderBuiltin":`"{name}" is a built-in provider — it can't be used as a custom provider name.`,"models.renameProviderEmpty":`Name must not be empty.`,"models.removeModelConfirm":`Remove model "{model}"? This writes to models.json immediately and cannot be recovered.`,"models.discoveryTitle":`Import models`,"models.discoveryFetch":`Import models…`,"models.discoveryFilterPlaceholder":`Filter {count} models…`,"models.discoveryFilter":`Filter upstream models`,"models.discoverySelectShown":`Select shown`,"models.discoveryNoMatches":`No matching models.`,"models.discoveryAdded":`added`,"models.discoveryShowing":`Showing first {shown} of {total}`,"models.discoveryFetched":`{count} models fetched`,"models.discoveryAddSelected":`Add selected`,"models.setDefault":`Set as default`,"models.defaultModel":`Default model`,"models.defaultModelUnavailable":`Default model {model} is unavailable (deleted or hidden). Please select a model.`,"models.syncEndpoint":`Sync from endpoint`,"models.lastSyncedAt":`Last synced {time}`,"models.neverSynced":`Never synced`,"models.discoveryFetchTooltip":`Imports from the local cache first: {path}. If absent, syncs from the endpoint once and writes the cache there.`,"models.syncingModels":`Syncing…`,"models.syncedModels":`Synced {count} models`,"models.syncEndpointTooltip":`Fetch the latest model list from {endpoint} and cache it locally; the cached list replaces the built-in one.`,"models.syncEndpointTooltipGeneric":`Fetch the latest model list from this provider's models endpoint and cache it locally; the cached list replaces the built-in one.`,"models.refreshFromCache":`Refresh from synced cache`,"models.refreshing":`Refreshing…`,"models.refreshFromCacheTooltip":`Re-read pi-web/provider/{provider}/models.json and update only the fields that differ from the current effective definition (manual fields like headers are kept).`,"models.refreshNoDiff":`Synced cache matches the effective definition — nothing to update.`,"models.refreshDone":`Override updated from synced cache.`,"models.refreshTimeout":`Refresh timed out — try again later.`,"models.builtinProviders":`Built-in providers`,"models.customProviders":`Custom providers`,"models.syncSaveFailed":`Save draft before sync failed — sync aborted.`,"models.visibleInChat":`Visible in chat`,"models.lastVisibleCannotHide":`This is the only visible model for this provider and cannot be hidden. To hide all, delete the model.`,"models.visibleModels":`Model list`,"models.visibleModelsCount":`{visible} / {total} selected`,"models.visibilityCustomized":` · Customized`,"models.visibilityUncustomized":` · Not customized (all visible by default)`,"models.showAll":`Reset`,"models.showAllHint":`All models visible`,"models.filterLabel":`Filter:`,"models.invertSelection":`Invert checks`,"models.searchModels":`Search models…`,"models.noModels":`No models for this provider.`,"models.noMatchingModels":`No matching models.`,"models.filterAll":`All`,"models.filterVisible":`Visible only`,"models.filterHidden":`Hidden only`,"models.invertDisabledTooltip":`All models are already visible; inverting changes nothing`,"models.openOverride":`Override model params`,"models.overrideHint":`Values shown are the effective definition (built-in merged with saved overrides). Only fields you change are saved as overrides; everything else keeps inheriting the built-in definition.`,"models.overrideOrphanedHint":`This model no longer exists upstream. The local override is still saved — you can remove it here. Saving will also clean up its visibility entry.`,"models.removeOverride":`Remove override`,"models.providerNameCollision":`Provider "{provider}" conflicts with built-in "{builtin}" (case-insensitive); model visibility cannot be applied. Rename or remove the provider.`,"models.providerNameCollisionShort":`Name conflicts with built-in provider`,"models.builtinVisibilityBlocked":`Model visibility is disabled: custom provider "{custom}" conflicts with "{builtin}" (case-insensitive). Rename or remove the custom provider.`,"models.discoveryAddSelectedCount":`Add selected ({count})`,"models.dataSourceLabel":`Data source:`,"models.catalogSourceEndpoint":`Models endpoint`,"models.catalogSourceDev":`models.dev catalog`,"models.catalogSourceEndpointTooltip":`Source: Provider's /models endpoint`,"models.catalogSourceDevTooltip":`Source: models.dev built-in catalog (https://models.dev)`,"models.catalogEndpointNotFound":`Model ID not found in the models endpoint response`,"models.catalogOverwriteTitle":`Overwrite existing fields?`,"models.catalogOverwriteBody":`{{count}} field(s) already have values that overwriting would change: {{fields}}. Cancel to fill empty fields only.`,"models.catalogOverwriteConfirm":`Overwrite & fill`,"models.catalogOverwriteCancel":`Fill empty only`,"models.catalogFilling":`Filling details…`,"models.catalogFill":`Fill model details`,"models.catalogFilled":`{count} fields filled`,"models.catalogNoEmptyFields":`No empty fields to fill`,"models.catalogNoExactMatch":`No exact models.dev match`,"models.catalogPriceProvider":`Price matched Provider {provider}`,"models.catalogPriceBaseUrl":`Price matched Base URL to {provider}`,"models.catalogPriceConsensus":`Price agreed by {support}/{total} records`,"models.catalogPriceUnreliable":`No reliable price found`,"models.catalogUndo":`Undo`,"models.baseUrl":`Base URL`,"models.apiKey":`API Key`,"models.api":`API Format`,"models.modelId":`ID *`,"models.name":`Name`,"models.apiOverride":`API format`,"models.reasoningThinking":`Reasoning / thinking`,"models.inputFormat":`Input formats`,"models.inputFormatPlaceholder":`Search and add, multiple allowed (Enter to confirm)`,"models.inputFormat.text":`Text`,"models.inputFormat.image":`Image`,"models.badgeReasoning":`Supports reasoning (thinking levels selectable in the chat input)`,"models.badgeInput":`Accepts {format} input`,"models.nameHint":`Leaving empty removes the name field (falls back to the model id).`,"models.apiOverrideHint":`Leaving empty or picking default removes the api field (falls back to the provider's default api).`,"models.reasoningHint":`Unchecking removes the reasoning field (falls back to off).`,"models.thinkingLevelMapHint":`Per level: Default = removes that mapping (falls back to the model's default level); Disabled = writes null; Custom = writes a custom level string.`,"models.compatSection":`Compatibility`,"models.compatInheritHint":`Fields not set on the model show values inherited from this provider (highlighted in dim color); the inherited value is what actually takes effect until overridden here.`,"models.compatHint.supportsDeveloperRole":`Whether to use the developer role for system prompts (used by reasoning models). Set to false for servers that don't support it (Ollama, vLLM, SGLang) to send system messages instead.`,"models.compatHint.supportsLongCacheRetention":`Whether the provider accepts long cache retention: prompt_cache_options.ttl "30m" for GPT-5.6+ Responses models, prompt_cache_retention "24h" for older OpenAI models, or cache_control.ttl "1h" with the anthropic cache format.`,"models.compatHint.supportsUsageInStreaming":`Whether streamed responses support stream_options: {include_usage: true} for token usage reporting.`,"models.compatHint.supportsFinishReason":`Whether streamed responses include finish_reason. When false, pi infers stop or toolUse when the stream ends.`,"models.compatHint.supportsEagerToolInputStreaming":`Whether the provider accepts per-tool eager_input_streaming. Set to false to omit that field and use the legacy fine-grained-tool-streaming beta header.`,"models.compatHint.supportsCacheControlOnTools":`Whether the provider accepts Anthropic-style cache_control markers on tool definitions (tool prompt caching).`,"models.compatHint.supportsTemperature":`Whether the provider accepts the temperature parameter. Set to false for endpoints that reject non-default temperatures (e.g. Claude Opus 4.7+).`,"models.compatHint.requiresToolResultName":`Whether tool result messages must include the name field (required by some endpoints).`,"models.compatHint.requiresAssistantAfterToolResult":`Whether an empty assistant message must be inserted after tool results and before the next user message (required by some endpoints).`,"models.compatHint.requiresThinkingAsText":`Whether thinking blocks should be converted to plain text (for endpoints without thinking block support).`,"models.compatHint.zaiToolStream":`Whether z.ai supports the top-level tool_stream: true parameter for streaming tool call deltas.`,"models.compatHint.supportsThinkingTokenBudget":`Whether the provider supports the top-level thinking_token_budget field to cap reasoning tokens (vLLM-compatible endpoints).`,"models.compatHint.supportsOpenAIGrammarTools":`Whether OpenAI-compatible APIs emit custom Lark/regex grammar tools. When false, grammar-constrained tools fall back to normal function tools.`,"models.compatHint.supportsToolSearch":`Whether the model supports client-executed tool search for deferred tools.`,"models.compatHint.supportsExplicitPromptCacheMode":`Whether the model accepts the prompt_cache_options parameter (OpenAI GPT-5.6+ prompt caching). Older OpenAI models reject it.`,"models.compatHint.forceAdaptiveThinking":`Whether to force adaptive thinking (thinking.type: "adaptive" + output_config.effort) instead of the legacy budget-based thinking payload. Built-in adaptive models set this automatically.`,"models.compatHint.allowEmptySignature":`Whether to replay empty thinking signatures as signature: "". Enable only for Anthropic-compatible endpoints that require it; real Anthropic rejects empty signatures.`,"models.compatHint.supportsStrictTools":`Whether the endpoint accepts strict JSON-schema tool definitions (Anthropic). Built-in Anthropic models enable it.`,"models.compatHint.supportsStore":`Whether the OpenAI endpoint supports the store field.`,"models.compatHint.supportsReasoningEffort":`Whether the endpoint supports the reasoning_effort parameter (often unsupported by Ollama, vLLM, SGLang).`,"models.compatHint.supportsStrictMode":`Whether the endpoint accepts strict JSON-schema function tool definitions. Defaults depend on the API; built-in OpenAI models carry explicit capability metadata.`,"models.compatHint.supportsToolReferences":`Whether tool references in tool results are supported. Default true for first-party Anthropic models except Haiku and models older than Claude 4.5.`,"models.compatHint.maxTokensField":`Field name for the max output token parameter: max_completion_tokens (new API) or max_tokens (legacy API).`,"models.compatHint.sessionAffinityFormat":`Session affinity (caching): sends the session id as an affinity key so requests from one session tend to hit the same backend replica, raising the prompt-cache hit rate — endpoints like Fireworks route prompt caches by session affinity, so leaving it off can spread a session across replicas and waste cache reuse (it does not affect the prompt_cache_key body param, which is governed by cache retention). pi sends these headers only when compat.sendSessionAffinityHeaders is true (openai-responses keys off the format alone); this dropdown writes both fields. auto = enabled with the format auto-detected from the URL; off = explicit disable (overrides a provider-level enable at model level); openai = session_id/x-client-request-id/x-session-affinity; openai-nosession = x-client-request-id/x-session-affinity; openrouter = x-session-id.`,"models.compatHint.deferredToolsMode":`Provider-specific deferred tool serialization. Currently only kimi (Kimi's OpenAI-compatible Chat Completions format).`,"models.compatHint.cacheControlFormat":`Prompt cache marker format. Currently only anthropic: adds cache_control markers on the system prompt, last tool definition, and last text content.`,"models.inheritedFromProvider":`from provider (inherited, override at model level)`,"models.thinkingFormatDeepseekHint":`Selecting "deepseek" also writes requiresReasoningContentOnAssistantMessages: true; any other value removes it.`,"models.samplingParams":`Sampling params`,"models.headers":`Headers`,"models.modelOverrides":`Model overrides`,"models.supportsDeveloperRole":`Developer role`,"models.supportsLongCacheRetention":`Long cache retention`,"models.supportsUsageInStreaming":`Usage in streaming`,"models.supportsFinishReason":`Finish reason in stream`,"models.supportsEagerToolInputStreaming":`Eager tool input streaming`,"models.supportsCacheControlOnTools":`Cache control on tools`,"models.supportsTemperature":`Temperature param`,"models.requiresToolResultName":`Tool result name required`,"models.requiresAssistantAfterToolResult":`Assistant after tool result`,"models.requiresThinkingAsText":`Thinking as text`,"models.requiresReasoningContentOnAssistantMessages":`Reasoning content on assistant`,"models.zaiToolStream":`z.ai tool stream`,"models.supportsThinkingTokenBudget":`Thinking token budget`,"models.supportsOpenAIGrammarTools":`OpenAI grammar tools`,"models.supportsToolSearch":`Tool search`,"models.supportsExplicitPromptCacheMode":`Explicit prompt cache`,"models.forceAdaptiveThinking":`Adaptive thinking`,"models.allowEmptySignature":`Empty thinking signature`,"models.supportsStrictTools":`Strict tool schemas`,"models.supportsStore":`Store param`,"models.supportsReasoningEffort":`Reasoning effort`,"models.supportsStrictMode":`Strict mode`,"models.supportsToolReferences":`Tool references`,"models.maxTokensField":`Max tokens field`,"models.sessionAffinityFormat":`Session affinity`,"models.deferredToolsMode":`Deferred tools mode`,"models.cacheControlFormat":`Cache control format`,"models.thinkingFormat":`Thinking format`,"models.chatTemplateKwargs":`Chat template kwargs`,"models.chatTemplateArgs":`Chat template args`,"models.openRouterRouting":`OpenRouter routing`,"models.vercelGatewayRouting":`Vercel gateway routing`,"models.thinkingLevelMap":`Thinking level`,"models.thinkingLevelMapReset":`Reset (clear)`,"models.thinkingLevelMapResetHint":`Clears the entire thinkingLevelMap: off, minimal, low, medium, high fall back to their defaults; xhigh and max are disabled by default.`,"models.thinkingLevelMapNone":`All disabled`,"models.contextWindow":`Context window (tokens)`,"models.maxOutputTokens":`Max output tokens`,"models.costPerMillion":`Cost (per million tokens)`,"models.cost.input":`Input`,"models.cost.output":`Output`,"models.cost.cacheRead":`Cache read`,"models.cost.cacheWrite":`Cache write`,"models.costNotSet":`Not set`,"models.costAllRequired":`All four rates are required`,"models.costClear":`Clear`,"models.apiKeyPlaceholder":`ENV_VAR_NAME, !shell-command, or literal key`,"models.apiKeyHint":`Literal keys are written to auth.json on save (shared with CLI /login, takes precedence over this field); !shell-command and $ENV references stay in models.json.`,"models.authJsonConnected":`API key provided via auth.json`,"models.authJsonRemove":`Remove`,"models.apiKeyPrompt":`Enter your {provider} API key to enable {count} model{s}.`,"models.oauthAlreadyConnected":`Already connected. You can re-login or disconnect.`,"models.oauthConnectPrompt":`Connect your {provider} account.`,"models.enterValue":`Enter value…`,"models.displayNamePlaceholder":`Display name`,"models.connectionLost":`Connection lost`,"models.networkError":`Network error`,"i18n.testingModel":`Testing model connection...`,"i18n.connected":`Connected`,"i18n.failed":`Failed`,"i18n.test":`Test`,"i18n.testConnection":`Test model connection`,"i18n.provider":`Provider`,"i18n.providers":`Providers`,"i18n.model":`Model`,"i18n.providerName":`Provider name`,"i18n.rename":`Rename`,"i18n.default":`Default`,"i18n.disabled":`Disabled`,"plugins.statusLoaded":`Loaded and active`,"plugins.statusInstalled":`Installed, not yet loaded`,"plugins.statusDisabled":`Disabled`,"plugins.statusMissing":`Configured but package not found`,"plugins.extensionFilters":`Extension filters`,"plugins.filterRules":`Filter rules`,"plugins.managePlugins":`Plugins`,"plugins.extensionFiltersHint":`Filters for auto-discovered extensions in ~/.pi/agent/extensions/ and .pi/extensions/. Only patterns starting with !, +, or - take effect; plain paths do nothing.`,"plugins.noExtensionFilters":`No filters configured`,"plugins.addFilter":`Add filter`,"plugins.filterPatternLabel":`Pattern`,"plugins.filterPlaceholder":`!pattern · +path · -path`,"plugins.filterInvalid":`Pattern must start with !, +, or -; plain paths have no effect in the extensions field.`,"plugins.filterPrefixExclude":`Exclude matching extensions`,"plugins.filterPrefixForceInclude":`Force-include exact path`,"plugins.filterPrefixForceExclude":`Force-exclude exact path`,"plugins.filterEffect":`Effect`,"plugins.removeFilter":`Remove filter`,"plugins.npmSourcePlaceholder":`npm:@scope/package`,"plugins.scopeLabel":`Install to`,"plugins.scopeInstallHint.global":`Click to install to the global plugin directory (~/.pi/agent/{npm,git})`,"plugins.scopeInstallHint.project":`Click to install to this project (.pi/agent/{npm,git})`,"plugins.sourceLabel":`Source`,"plugins.scopeGlobal":`Global`,"plugins.scopeProject":`Project`,"plugins.examplesTitle":`Examples`,"plugins.totalsSummary":`{extensions} ext · {skills} skills · {prompts} prompts · {themes} themes`,"plugins.diagnosticCount":`{n} diagnostic{s}`,"plugins.packageInstalled":`Package installed.`,"plugins.packageUpdated":`Package updated.`,"plugins.packageRemoved":`Package removed.`,"plugins.packageDisabled":`Package disabled.`,"plugins.packageEnabled":`Package enabled.`,"plugins.extensionFilterAdded":`Extension filter added.`,"plugins.extensionFilterRemoved":`Extension filter removed.`,"plugins.sessionReloaded":`Session reloaded.`,"i18n.noResources":`No resources`,"i18n.unknown":`Unknown`,"i18n.installedVersion":`installed {version}`,"i18n.configuredVersion":`configured {version}`,"i18n.extensions":`Extensions`,"i18n.prompts":`Prompts`,"i18n.themes":`Themes`,"i18n.resourceCount":`{count} {label}`,"i18n.extensionShort":`ext`,"i18n.versionShort":`ver`,"i18n.skillShort":`skills`,"i18n.promptShort":`prompts`,"i18n.themeShort":`themes`,"i18n.custom":`Custom`,"i18n.clearAll":`clear all`,"i18n.connectedSuccessfully":`Connected successfully.`,"i18n.notConnected":`not connected`,"i18n.configured":`configured`,"i18n.notConfigured":`not configured`,"i18n.openingBrowser":`Opening browser…`,"i18n.submit":`Submit`,"i18n.login":`Login`,"i18n.relogin":`Re-login`,"i18n.disconnect":`Disconnect`,"i18n.networkError":`Network error`,"i18n.continuing":`Continuing…`,"i18n.skills":`Skills`,"i18n.plugins":`Plugins`,"i18n.addSkill":`Add skill`,"i18n.addPlugin":`Add plugin`,"i18n.recommendedPlugins":`Recommended`,"i18n.selectSkill":`Select a skill`,"i18n.selectPackage":`Select a package`,"i18n.configBindings":`Bound config files`,"i18n.addBinding":`Add`,"i18n.configFileNote":`Note (optional)`,"i18n.bindConfigFile":`Bind config file`,"i18n.selectFile":`Select a file`,"i18n.noConfigBindings":`No config files bound`,"i18n.noFiles":`No files`,"i18n.allFiles":`All files`,"i18n.filterByType":`Filter by type`,"i18n.removeBinding":`Remove binding`,"i18n.confirm":`Confirm`,"i18n.updateAvailable":`Update available`,"i18n.upToDate":`Up to date`,"i18n.automaticChecksUnavailable":`Automatic checks unavailable`,"i18n.checkFailed":`Check failed`,"i18n.installed":`Installed`,"i18n.status":`Status`,"i18n.version":`Version`,"i18n.package":`Package`,"i18n.resources":`Resources`,"i18n.installedPath":`Installed path`,"i18n.readme":`README`,"i18n.readmeDetails":`Details`,"i18n.unsafeLinkBlocked":`Blocked unsafe link (only same-directory or sub-directory relative links are allowed): {href}`,"i18n.resolvedResources":`Resolved Resources`,"i18n.reloadSession":`Reload session`,"i18n.reloading":`Reloading...`,"i18n.packageRemoved":`Package removed.`,"i18n.packageInstalled":`Package installed.`,"i18n.packageUpdated":`Package updated.`,"i18n.packageDisabled":`Package disabled.`,"i18n.packageEnabled":`Package enabled.`,"i18n.sessionReloaded":`Session reloaded.`,"i18n.thinking":`Thinking`,"i18n.loadingThinking":`Loading thinking...`,"i18n.copyMessage":`Copy message`,"i18n.editFromHere":`Edit from here`,"i18n.editFromHereTitle":`Edit from here — branches within this session`,"i18n.userMessageExpandHint":`Click to view full text`,"i18n.newSession":`New session`,"i18n.newSessionTitle":`New session — creates an independent copy from here`,"i18n.estimatedTokens":`Estimated token count while streaming`,"i18n.noOutput":`(no output)`,"i18n.noSummary":`(no summary)`,"i18n.conversationCompacted":`Conversation compacted`,"i18n.compactionDescription":`The conversation history before this point was compacted into the following summary:`,"i18n.fileContext":`File context: {details}`,"i18n.readFiles":`Read files`,"i18n.modifiedFiles":`Modified files`,"i18n.hiddenExtensionMessage":`hidden extension message`,"i18n.noMessage":`(no message)`,"i18n.collapse":`Collapse`,"i18n.expand":`Expand`,"i18n.hideDetails":`Hide details`,"i18n.showDetails":`Show details`,"i18n.thinkingUnavailable":`Thinking content unavailable`,"i18n.thinkingEncrypted":`Thinking content is encrypted (provider-encrypted for context continuity, plaintext not available)`,"i18n.before":`Before`,"i18n.after":`After`}},_={id:`zh-CN`,label:`简体中文`,messages:{"common.ok":`确定`,"common.language":`语言`,"common.models":`模型`,"common.skills":`技能`,"common.plugins":`插件`,"common.mcp":`MCP`,"sidebar.hide":`收起侧边栏`,"sidebar.show":`展开侧边栏`,"theme.light":`切换到浅色模式`,"preferences.defaultThinkingLevel":`默认思考级别`,"preferences.thinkingLevelHint":"新会话的全局默认思考级别(settings.json `defaultThinkingLevel`)。未设置=删除该字段(回落 pi 默认)。","preferences.thinkingLevelNotSet":`未设置(跟随模型默认)`,"preferences.compaction":`自动压缩`,"preferences.compactionHint":"自动压缩长会话(settings.json `compaction`)。未配置时按 pi 默认值展示,改动即写入完整对象。","preferences.compactionEnabled":`启用`,"preferences.compactionReserveTokens":`输出预留词元数`,"preferences.compactionReserveTokensHint":`为模型输出预留的词元数,压缩时保留这部分空间供回复使用`,"preferences.compactionKeepRecentTokens":`压缩后保留词元数`,"preferences.compactionKeepRecentTokensHint":`压缩后保留的词元数,从最近聊天记录开始逆向往前计算`,"preferences.retry":`API 重试`,"preferences.retryHint":"供应商 API 调用的重试设置(settings.json `retry`)。未配置时按 pi 默认值展示,改动即写入完整对象;provider 子字段留空则不写入。","preferences.retryEnabled":`启用重试`,"preferences.retryEnabledHint":`是否对失败的 API 调用启用重试`,"preferences.retryMaxRetries":`最大重试次数`,"preferences.retryBaseDelayMs":`基础延迟(毫秒)`,"preferences.retryBaseDelayMsHint":`首次重试前的初始延迟,单位毫秒`,"preferences.retryProviderTimeoutMs":`供应商超时(毫秒)`,"preferences.retryProviderMaxRetries":`供应商最大重试次数`,"preferences.retryProviderMaxRetryDelayMs":`供应商最大延迟(毫秒)`,"preferences.defaultProjectTrust":`新项目默认信任`,"preferences.projectTrustHint":"新项目的默认信任策略(settings.json `defaultProjectTrust`)。未设置=删除该字段(回落「询问」)。","preferences.projectTrustNotSet":`未设置(询问)`,"preferences.projectTrustAsk":`询问`,"preferences.projectTrustAlways":`总是信任`,"preferences.projectTrustNever":`从不信任`,"preferences.notifyEvents":`浏览器通知`,"preferences.notifyEventsHint":`标签页非激活时发浏览器通知。权限在首次交互时请求。`,"notify.permission.request":`开启通知`,"notify.permission.requestHint":`点击开启浏览器通知:任务完成时即使不在本页也会提醒`,"notify.permission.granted":`通知已开启`,"wsHealth.disconnected":`与服务的连接已断开,正在自动重连…`,"wsHealth.restored":`连接已恢复`,"reducedMotionNotice.message":`检测到系统开启了「减少动态效果」(prefers-reduced-motion):为尊重该系统设置,本应用已关闭部分动画效果。若想恢复,可搜索「如何关闭减少动态效果」或「prefers-reduced-motion」,按系统/浏览器说明关闭。每个浏览器会话只提示一次。`,"notify.permission.grantedHint":`已开启浏览器通知:任务完成时即使不在本页也会提醒`,"notify.permission.bannerHintBefore":`点击左上工具栏的`,"notify.permission.bannerHintAfter":`按钮开启通知权限,任务完成、出错或提问时都能收到浏览器通知,详细设置可在 配置中心 → 会话 → 通知 栏目中调整`,"notify.permission.denied":`通知被阻止`,"notify.permission.deniedHint":`浏览器阻止了通知。请点击地址栏左侧图标 → 站点设置,将通知改为允许后重试`,"preferences.notifyWhileActive":`页面激活时也通知`,"preferences.notifyTaskComplete":`任务完成`,"preferences.notifyErrors":`运行出错`,"preferences.notifyQuestions":`提问`,"theme.dark":`切换到深色模式`,"theme.toggleTheme":`切换主题`,"theme.darkMode":`深色`,"theme.lightMode":`浅色`,"theme.fontSize":`字体大小`,"theme.scrollStep":`悬停滚动步长`,"scrollStep.hint":`悬停滚动方向箭头时,内容每次滚动的像素数(面板滚动箭头与消息地图共用此步长)。`,"scrollStep.range":`每次悬停滚动像素(1-1000)`,"scrollStep.unit":`px`,"theme.autoReloadSeconds":`自动定时同步聊天消息间隔`,"autoReload.off":`关闭(0)— 不自动刷新`,"autoReload.range":`秒(0 — 3600)`,"autoReload.unit":`秒`,"autoReload.hint":`自动重新读取会话文件的间隔秒数;0 = 关闭。单客户端场景(消息经 WebSocket 实时推送)保持 0 即可;多客户端协作(多个浏览器同时操作同一会话)时设为大于 0,各客户端定时刷新以读取其他客户端生成的新聊天消息。`,"recentBlocks.hint":`保持展开的最近已完成块数(含最新完成的块本身;默认 0,即所有已完成块默认收起,可悬停预览/点击展开)。`,"autoReload.reset":`恢复默认({n} 秒)`,"chat.reloadFromDisk":`从磁盘同步会话文件内容`,"chat.reloadFromDiskHint":`当多个客户端同时读写同一个会话 jsonl 时使用。可在 配置中心 → 会话 页面设置自动定时同步。`,"chat.exportSession":`导出会话(HTML)`,"chat.exportSessionHint":`下载完整会话为独立 HTML 文件(可在任意浏览器离线查看消息树)。`,"scrollStep.reset":`恢复默认({n} px)`,"theme.recentBlocksExpanded":`最近完成块保持展开数`,"layout.sidebarWidth":`左侧面板宽度`,"layout.widgetPanelWidth":`右侧面板宽度`,"layout.widthRange":`px({min}–{max})`,"layout.widthReset":`恢复默认({value} px)`,"longBlock.blocks":`个`,"recentBlocks.reset":`恢复默认({n} 个)`,"recentBlocks.range":`0-20,含最新完成的块`,"history.full":`轨迹`,"history.unsaved":`会话保存后才能查看轨迹`,"title.generating":`正在生成...`,"title.updated":`标题已更新`,"title.noMessages":`请先发送消息,再为会话命名`,"title.generateSession":`生成会话标题`,"system.prompt":`系统提示词`,"system.promptHint":`显示最近一轮请求实际使用的系统提示词(由会话记录派生);新会话需先发送一条消息,才会有可显示的提示词。`,"system.empty":`系统提示词为空(工具已禁用)`,"system.load":`发送消息以加载系统提示词`,"notices.title":`消息中心`,"notices.empty":`暂无消息`,"mcp.requiresCwd":`打开一个工作目录后查看 MCP 服务器配置`,"mcp.title":`MCP 服务器`,"mcp.builtinNote":`内置 MCP 支持已随会话启用(pi 0.99+),无需安装 mcp 插件——安装注册 /mcp 的扩展会取代内置支持。配置来自 mcp.json,会话启动时连接。`,"mcp.empty":"尚未配置 MCP 服务器。用 `pi mcp add <name> -- <command>` 或编辑 {globalPath}。","mcp.sourceGlobal":`全局`,"mcp.sourceProject":`项目`,"mcp.disabled":`已禁用`,"mcp.exposure":`接入方式`,"mcp.toolExposureCount":`{n} 个工具覆盖`,"mcp.timeout":`{n}s 超时`,"mcp.projectUntrusted":`项目 .pi/mcp.json 未生效:项目尚未受信任(stdio 服务器会执行命令)。`,"mcp.howToEdit":"可在上方卡片直接新增/编辑/删除服务器;改后 /reload 或新会话生效。OAuth 登录用 `pi mcp login <server>`。","mcp.addServer":`添加服务器`,"mcp.addTo":`添加至`,"mcp.editServer":`编辑服务器`,"mcp.removeServer":`删除服务器`,"mcp.removeConfirmTitle":`删除 MCP 服务器`,"mcp.removeConfirmDesc":`将从{source} mcp.json 中删除“{name}”。改后 /reload 或新会话生效。`,"mcp.fieldName":`名称`,"mcp.fieldTransport":`类型`,"mcp.transportStdio":`stdio(本地命令)`,"mcp.transportHttp":`HTTP(远程)`,"mcp.fieldCommand":`命令`,"mcp.fieldArgs":`参数`,"mcp.fieldArgsHint":`空格分隔,如:-y server-fs .`,"mcp.fieldUrl":`URL`,"mcp.fieldEnv":`环境变量`,"mcp.fieldHeaders":`请求头`,"mcp.fieldKvHint":`每行一条 KEY=VALUE`,"mcp.fieldTimeout":`超时(秒,可选)`,"mcp.fieldEnabled":`启用`,"mcp.dialogTargetGlobal":`保存到 {path}`,"mcp.dialogTargetProject":`保存到 {path}`,"mcp.dialogTargetProjectUnavailable":`项目未受信任,无法写入项目 mcp.json`,"mcp.errNameRequired":`名称不能为空`,"mcp.errCommandRequired":`stdio 服务器需要填写命令`,"mcp.errUrlRequired":`HTTP 服务器需要填写 URL`,"mcp.autoEnableCodemode":`自动启用 codemode`,"mcp.autoEnableCodemodeHint":`存在以 codemode 方式接入的 MCP 服务器时,自动激活 codemode(模型编写 JS 脚本并行调用工具;codemode 接入的工具不进模型上下文,仅可在脚本中 searchTools 后调用)。`,"mcp.exposureDirect":`direct(直接声明给模型)`,"mcp.exposureModelOnly":`model-only(仅模型,不进脚本)`,"mcp.exposureCodemode":`codemode(仅脚本调用)`,"mcp.exposureDeferred":`deferred(tool_search 加载)`,"mcp.exposureHidden":`hidden(隐藏)`,"notices.filterInfo":`显示 info 级消息`,"notices.filterWarning":`显示 warning 级消息`,"notices.filterError":`显示 error 级消息`,"notices.search":`搜索消息`,"notices.clear":`清除`,"notices.clearCurrentHint":`清除当前会话的消息留痕(当前范围:仅当前会话)`,"notices.clearAllHint":`清除所有会话的消息留痕(当前范围:全部会话)`,"notices.clearCurrent":`清除当前会话的消息`,"notices.clearAll":`清除所有消息`,"notices.remove":`删除此消息`,"notices.onlyCurrent":`仅当前会话`,"notices.onlyCurrentOnHint":`只显示当前会话的消息(点击改为显示全部会话)`,"notices.onlyCurrentOffHint":`显示全部会话的消息(点击改为只看当前会话)`,"notices.fromSession":`来自会话`,"notices.global":`全局`,"session.info":`会话信息`,"session.reload":`重载会话(重读配置与资源)`,"session.name":`名称`,"session.file":`文件`,"session.inMemory":`内存中`,"session.id":`ID`,"session.user":`用户`,"session.assistant":`助手`,"session.toolCalls":`工具调用`,"session.toolResults":`工具结果`,"session.total":`总计`,"session.input":`输入`,"session.output":`输出`,"session.cacheRead":`缓存读取`,"session.cacheWrite":`缓存写入`,"session.inputHint":`未命中缓存的输入 token 数:系统提示、会话历史、工具定义等发送给模型的上下文,减去命中缓存的部分`,"session.outputHint":`模型生成回复的 token 数(回答与思考)`,"session.cacheReadHint":`命中 prompt 缓存的 token 数:与上一请求未变的上下文直接从缓存读取,按折扣价计费`,"session.cacheWriteHint":`首次写入缓存的 token 数(Anthropic 风格按写入计费)`,"session.totalHint":`输入 + 输出 + 缓存读取 + 缓存写入`,"session.cacheHitRate":`缓存命中率`,"session.cacheReadRate":`缓存命中率:命中缓存的 token(缓存读取)占全部输入 prompt(输入 + 缓存读取 + 缓存写入)的比例,即官方口径 cacheRead ÷ (input + cacheRead + cacheWrite)`,"session.cost":`费用`,"session.context":`上下文`,"session.copy":`复制{value}`,"session.copied":`已复制`,"session.title":`会话信息`,"session.load":`发送消息或运行 /session 以加载会话信息`,"session.infoSection":`会话信息`,"session.messages":`消息`,"session.tokens":`词元`,"session.copyFile":`复制文件路径`,"session.copyId":`复制会话 ID`,"workspace.opening":`正在打开工作区...`,"workspace.unable":`无法打开工作区`,"workspace.selectSession":`从侧边栏选择一个会话`,"workspace.selectWorkspace":`请选择工作区`,"workspace.stepProject":`从侧边栏选择项目目录`,"workspace.stepModels":`点击底部的“模型”按钮添加模型`,"tabs.chat":`聊天`,"tabs.widgets":`小组件`,"tabs.updates":`更新`,"tabs.branches":`对话分支`,"branch.assistantFallback":`[助手消息]`,"branch.customMessage":`自定义消息`,"branch.sessionInfo":`会话信息`,"branch.thinkingLevelChange":`思考级别变更`,"branch.modelChange":`模型切换`,"tabs.trajectory":`轨迹`,"trajectory.noSession":`选择一个会话后查看轨迹`,"trajectory.loading":`加载中…`,"trajectory.summary":`共 {turns} 轮 · {tools} 次工具调用`,"trajectory.emptyTurn":`(无用户消息)`,"trajectory.turnStats":`{tools} 工具 · {errors} 错误`,"trajectory.toolError":`工具 {name} 执行失败`,"trajectory.lane.user":`用户消息`,"trajectory.overviewEmpty":`展开轮次查看时间线`,"trajectory.lane.assistant":`助手消息`,"trajectory.lane.tool":`工具调用`,"config.title":`配置`,"config.mobileDisabled":`配置中心暂不支持移动端,请在桌面端浏览器打开`,"config.section.session":`会话`,"config.section.appearance":`外观`,"config.section.advanced":`高级`,"config.section.envVars":`环境变量`,"config.env.hint":`pi-web 服务端进程实际生效的环境变量(含 .env / shell 导出 / OS 级 / 进程继承的全部注入来源),仅查看。机密类变量已脱敏。`,"config.env.filterPlaceholder":`按变量名过滤…`,"config.env.colName":`变量名`,"config.env.colValue":`值`,"config.env.emptyTitle":`变量已设置但值为空`,"config.env.loadFailed":`加载失败:`,"config.env.loading":`加载中…`,"config.env.noMatch":`无匹配变量`,"config.section.tools":`工具`,"config.search.placeholder":`搜索配置(至少2个字符)…`,"config.search.open":`搜索配置(Ctrl+F)`,"config.search.hint":`按 Ctrl+F 可搜索配置项`,"config.search.matchCount":`{count} 处匹配`,"config.search.noResults":`无匹配配置`,"config.section.fileExclusions":`文件排除`,"config.section.startScreen":`开始屏幕`,"config.section.git":`Git`,"config.section.modelThinking":`思考级别`,"config.section.requiresCwd":`请先从侧边栏选择项目目录,再浏览插件 / 技能`,"updates.check":`检测更新`,"updates.checking":`检查中…`,"updates.checkedAt":`上次检测`,"updates.upToDate":`已是最新`,"updates.updateAvailable":`有新版本`,"updates.unavailable":`检查失败`,"updates.noPluginUpdates":`全部插件已是最新`,"updates.banner":`有可用更新:{items}`,"updates.view":`查看`,"updates.copied":`已复制`,"updates.copyCommand":`复制命令`,"updates.restartNote":`执行以上命令更新pi-web,重启服务后生效。`,"updates.enableChecking":`启用更新检测`,"updates.enableCheckingHint":`开启后每 30 分钟自动检测一次更新(也可随时手动点击「检测更新」)`,"updates.disabled":`更新检测已关闭`,"updates.ignoreVersion":`忽略此版本`,"updates.ignored":`已忽略 {version}`,"updates.ignoredPlugin":`已忽略`,"updates.unignore":`取消忽略`,"preferences.fileExclusions.title":`文件排除名单`,"preferences.fileExclusions.description":`文件浏览器与 @ 文件索引共用的排除规则:*.xxx 形式按后缀匹配,其余为目录/文件名精确匹配。各级整体替换下一级(不合并):项目级完全覆盖全局,全局完全覆盖内置默认。添加时可用逗号分隔多个条目(目录/文件名可含空格);保存后立即生效。`,"preferences.fileExclusions.global":`全局`,"preferences.fileExclusions.project":`项目`,"preferences.fileExclusions.defaults":`内置默认(只读)`,"preferences.fileExclusions.inputPlaceholder":`如 node_modules、*.pyc(多条用逗号分隔)`,"preferences.fileExclusions.importHigher":`复制上级名单到此`,"preferences.fileExclusions.loadFailed":`排除名单加载失败`,"preferences.defaultTools.title":`默认工具(defaultTools)`,"preferences.defaultTools.description":`配置新会话启动时启用的工具(pi settings.json defaultTools)。聊天框下方的工具预设下拉的选项列表(full 等)在本 tab 下方的「工具预设」区块管理;选中预设只是会话级临时切换,不写入这里。grep / find / ls 等默认不启用的内置工具、以及 codemode 都可在此开启;MCP 设置中另有 autoEnableCodemode 自动激活选项,两者独立。全量替换=精确白名单;增量修改=在 pi 默认集(read/bash/edit/write)上增减;增量模式下悬停「生效名单」徽标可查看实际启用结果。`,"preferences.defaultTools.global":`全局默认工具列表`,"preferences.defaultTools.project":`项目默认工具列表`,"preferences.defaultTools.modeFull":`全量替换`,"preferences.defaultTools.modeIncremental":`增量修改`,"preferences.defaultTools.save":`保存`,"preferences.defaultTools.reset":`重置`,"preferences.defaultTools.incrementalHint":`增量模式:条目均以 +/- 前缀写入;点击工具名生成 -tool(移除),再次点击恢复。`,"preferences.defaultTools.confirmTitle":`保存并重启受影响会话`,"preferences.defaultTools.confirmRestartGlobal":`保存全局默认工具列表将重启当前打开过的所有会话进程(新会话立即使用新名单);正在运行任务的会话不会被打断,继续用旧名单直到空闲后自动重启。`,"preferences.defaultTools.confirmRestartProject":`保存项目级默认工具列表将重启该项目下已打开的会话进程(新会话立即使用新名单);正在运行任务的会话不会被打断。`,"preferences.defaultTools.saveResult":`已保存,重启了 {restarted} 个会话进程`,"preferences.defaultTools.saveResultSkipped":`已保存,重启了 {restarted} 个会话进程;{skipped} 个正在运行的会话未重启,将在空闲后自动重启`,"preferences.defaultTools.fullHint":`全量模式:勾选的工具即完整名单,完全替换 pi 默认集(未勾选的默认工具将不可用)。`,"preferences.defaultTools.toolDesc.read":`读取文件内容(可指定行范围;只读,不修改文件)`,"preferences.defaultTools.toolDesc.bash":`执行 shell 命令(通用入口:构建、git、进程管理等)`,"preferences.defaultTools.toolDesc.edit":`编辑文件(精确匹配旧文本做局部替换;新建或整文件重写用 write)`,"preferences.defaultTools.toolDesc.write":`新建文件或整文件覆盖写入(局部修改用 edit)`,"preferences.defaultTools.toolDesc.grep":`按正则搜索文件内容(文件探索专用工具,不占 bash 轮次)`,"preferences.defaultTools.toolDesc.find":`按文件名模式查找文件(文件探索专用工具,不占 bash 轮次)`,"preferences.defaultTools.toolDesc.ls":`列出目录内容(快速浏览项目布局)`,"preferences.defaultTools.toolDesc.powershell":`执行 PowerShell 命令(pwsh 或 Windows PowerShell;面向 Windows 的 bash 替代)`,"preferences.defaultTools.toolDesc.codemode":`模型用 JS 脚本(QuickJS 沙箱)编排其他工具——一次调用内并行执行、先过滤大结果,只把脚本输出交给模型。`,"preferences.defaultTools.toolDesc.tool_search":`让模型搜索并按需加载未声明工具(codemode/deferred 暴露,如 MCP 工具)。`,"preferences.defaultTools.projectUntrusted":`项目未受信,无法写入项目级 settings.json(先在项目信任提示中信任该目录)。`,"preferences.defaultTools.loadFailed":`默认工具配置加载失败`,"preferences.toolPresets.title":`工具预设`,"preferences.toolPresets.description":`聊天框底部工具预设下拉的选项列表(~/.pi/agent/pi-web/tool-presets.json)`,"preferences.toolPresets.nameLabel":`名称`,"preferences.toolPresets.namePlaceholder":`预设名称(必填)`,"preferences.toolPresets.nameRequired":`名称不能为空`,"preferences.toolPresets.nameDuplicate":`名称不能重复`,"preferences.toolPresets.descriptionLabel":`描述`,"preferences.toolPresets.descriptionPlaceholder":`可选描述,展示在下拉选项中`,"preferences.toolPresets.remove":`删除`,"preferences.toolPresets.defaultHint":`内置预设(只读):生效名单跟随上方默认工具列表(项目优先于全局)`,"preferences.toolPresets.defaultSourceGlobal":`项目未配置默认工具,跟随全局列表`,"preferences.toolPresets.defaultSourceSdk":`项目与全局均未配置,使用 pi 内置默认(read/bash/edit/write)`,"preferences.toolPresets.staleRestart":`默认工具列表已更新,重启 pi-web 后对运行中的会话生效`,"preferences.toolPresets.add":`添加预设`,"preferences.toolPresets.save":`保存`,"preferences.toolPresets.reset":`重置`,"preferences.toolPresets.saved":`已保存,聊天框下拉即刻生效`,"preferences.toolPresets.loadFailed":`工具预设配置加载失败`,"preferences.pi.unset":`pi 默认`,"preferences.pi.enableAnalytics":`启用分析`,"preferences.pi.enableAnalyticsHint":"发送匿名使用分析(settings.json `enableAnalytics`)","preferences.pi.enableInstallTelemetry":`启用安装遥测`,"preferences.pi.enableInstallTelemetryHint":"发送匿名安装遥测(settings.json `enableInstallTelemetry`)","preferences.pi.httpProxy":`HTTP 代理`,"preferences.pi.httpProxyHint":"HTTP 请求的代理地址(settings.json `httpProxy`)。留空无法清除已设置的值。","preferences.pi.trackingId":`分析跟踪 ID`,"preferences.pi.trackingIdHint":"自定义分析跟踪 ID(settings.json `trackingId`)。留空无法清除已设置的值。","preferences.pi.httpIdleTimeoutMs":`HTTP 空闲超时(毫秒)`,"preferences.pi.httpIdleTimeoutMsHint":"HTTP 空闲超时毫秒数(settings.json `httpIdleTimeoutMs`)。留空无法清除已设置的值。","preferences.pi.websocketConnectTimeoutMs":`WebSocket 连接超时(毫秒)`,"preferences.pi.websocketConnectTimeoutMsHint":"WebSocket 连接超时毫秒数(settings.json `websocketConnectTimeoutMs`)。留空无法清除已设置的值。","preferences.pi.branchSummary":`分支摘要`,"preferences.pi.branchSummaryHint":"分支摘要自动压缩(settings.json `branchSummary`)","preferences.pi.reserveTokens":`预留 token`,"preferences.pi.skipPrompt":`跳过提示`,"preferences.pi.images":`图片处理`,"preferences.pi.imagesHint":"pi 引擎如何处理图片(settings.json `images`)","preferences.pi.autoResize":`自动缩放`,"preferences.pi.autoResizeHint":"压缩 `read` 等工具返回的图片以节省 token。","preferences.pi.blockImages":`阻止图片`,"preferences.pi.blockImagesHint":`在消息发送给模型前移除所有图片内容。`,"config.files.hint":`直接编辑 pi 的配置文件(JSON)。保存前校验,写前自动备份(保留最近 10 份)。`,"config.widgets.empty":`暂无小组件配置。插件弹出小组件时会自动在此创建条目。`,"config.widgets.x":`x`,"config.widgets.y":`y`,"config.widgets.width":`宽`,"config.widgets.height":`高`,"config.widgets.bind":`绑定消息`,"config.widgets.bindTitle":`绑定自定义消息`,"config.widgets.bindHint":`为小组件「{key}」绑定一条快捷消息`,"config.widgets.editTitle":`编辑快捷消息`,"config.widgets.editHint":`修改标题、内容与发送方式。`,"config.widgets.label":`描述`,"config.widgets.labelPlaceholder":`按钮显示的文字(如:重载)`,"config.widgets.message":`消息内容`,"config.widgets.messagePlaceholder":`斜杠命令或任意文本(如 /reload)`,"config.widgets.messageTooltip":`以 / 开头时仅提示内置、全局插件与 Skill 命令;项目级插件命令不会出现在列表中,但可手动输入后保存`,"config.widgets.sendImmediately":`立即发送`,"config.widgets.sendMode":`发送方式`,"config.widgets.fillToChatInput":`填充到聊天框`,"config.widgets.sendImmediatelyTooltip":`立即发送:`,"config.widgets.fillToChatInputTooltip":`填充到聊天框:`,"config.widgets.nameConflict":`名称「{label}」已存在,请换一个名称`,"config.startScreen.nameConflict":`名称「{label}」已存在,请换一个名称`,"config.widgets.confirm":`确认`,"config.widgets.unbindTitle":`解绑消息`,"config.widgets.unbindConfirm":`确定解绑「{label}」?`,"config.widgets.unbind":`解绑`,"config.startScreen.hint":`新会话开始屏幕(Pi Logo 下方)展示的快捷入口;点击后按各条绑定的发送方式立即发送或填充到聊天输入框。`,"config.startScreen.bind":`绑定消息`,"config.startScreen.bindTitle":`绑定快捷消息`,"config.startScreen.bindHint":`为开始屏幕绑定一条快捷消息。`,"config.startScreen.editTitle":`编辑快捷消息`,"config.startScreen.editHint":`修改标题、内容与发送方式。`,"config.startScreen.empty":`暂无快捷消息,开始屏幕不会显示快捷入口。`,"config.startScreen.unbindTitle":`解绑消息`,"config.startScreen.unbindConfirm":`确定解绑「{label}」?`,"config.startScreen.unbind":`解绑`,"config.startScreen.reset":`重置`,"config.startScreen.resetHint":`恢复内置默认快捷消息;保留你自绑定的消息(与默认同名的会被默认项覆盖)。`,"config.files.save":`保存`,"config.files.saving":`保存中...`,"config.files.saved":`已保存`,"config.files.missing":`尚未创建`,"config.files.placeholder":`从左侧选择要编辑的配置文件`,"layout.resizeSidebar":`调整侧边栏宽度`,"layout.resizeWidgetPanel":`调整小组件面板宽度`,"layout.resizeHint":`拖动调整宽度。双击或按 Enter 恢复默认值。`,"sidebar.newWorkspace":`新增工作区`,"sidebar.searchSessions":`搜索会话`,"sidebar.searchSessionsPlaceholder":`搜索会话…`,"sidebar.justNow":`刚刚`,"sidebar.minutesAgo":`{count} 分钟前`,"sidebar.hoursAgo":`{count} 小时前`,"sidebar.daysAgo":`{count} 天前`,"sidebar.searchSessionsNoResults":`无匹配会话`,"sidebar.newSessionTitle":`在 {path} 中新建会话`,"sidebar.refresh":`刷新`,"directoryPicker.selectDirectory":`选择目录`,"directoryPicker.goToParent":`转到上级目录`,"directoryPicker.directoryPath":`目录路径`,"directoryPicker.goToDirectory":`转到目录`,"directoryPicker.go":`转到`,"directoryPicker.loadingDirectories":`正在加载目录…`,"directoryPicker.noSubdirectories":`没有子目录`,"directoryPicker.openBeforeSelecting":`选择前请先打开此路径`,"directoryPicker.selectCurrentDirectory":`选择当前目录`,"directoryPicker.selectThisFolder":`选择此文件夹`,"directoryPicker.noDrives":`未找到盘符`,"directoryPicker.search":`筛选文件夹`,"directoryPicker.noMatches":`没有匹配的文件夹`,"sidebar.checking":`检查中…`,"sidebar.open":`打开`,"sidebar.cancel":`取消`,"sidebar.openRepoRoot":`worktree 切换不可用`,"sidebar.openRepoRootTitle":`worktree 切换功能当前不可用:请先在侧栏将当前工作目录切换到 Git 仓库根目录。`,"sidebar.gitRepoRootOnly":`仅 Git 仓库根目录`,"sidebar.gitRepoRootOnlyTitle":`只能在 Git 仓库根目录使用 worktree。`,"sidebar.worktrees":`Worktrees...`,"sidebar.checkingWorktrees":`正在检查此目录的 worktree。`,"sidebar.filterWorktrees":`筛选 worktree…`,"sidebar.noMatchingWorktrees":`没有匹配的 worktree`,"sidebar.switchWorktree":`切换 worktree`,"sidebar.switchWorktreeTitle":`切换 worktree:{path}`,"sidebar.main":`主分支`,"sidebar.forceRemoveCheckout":`存在未提交的更改。强制移除 checkout?`,"sidebar.force":`强制移除`,"sidebar.createWorktreeTitle":`为分支创建 worktree checkout`,"sidebar.newWorktree":`新建 worktree…`,"sidebar.branchName":`Git 分支名称`,"sidebar.creating":`创建中…`,"sidebar.create":`创建`,"sidebar.uploadFilesTitle":`将文件上传到项目根目录`,"sidebar.uploadFiles":`上传文件`,"sidebar.refreshExplorer":`刷新文件浏览器`,"sidebar.changedFiles":`{count} 个变更文件`,"sidebar.loading":`加载中...`,"sidebar.sessionDeleted":`会话已删除,请选择其他会话`,"sidebar.noSessions":`未找到会话`,"sidebar.workspace":`工作区`,"sidebar.newActivity":`有新活动`,"sidebar.newSessionActivity":`会话有新活动`,"sidebar.interactionBadge":`会话等待交互响应`,"sidebar.deleteSession":`删除 {title}?`,"sidebar.deleteWorkspace":`工作区「{name}」下的 {count} 个会话及其附件都会被一并删除,此操作不可撤销。`,"sidebar.deleteWorkspaceTitle":`删除此工作区、其所有会话及会话附件`,"sidebar.deleteWorkspaceDialogTitle":`删除工作区`,"sidebar.deletedSessionGhost":`已删除该会话`,"sidebar.deletedWorkspaceGhost":`已删除工作区「{name}」({count} 个会话及附件)`,"sidebar.copyPath":`复制完整路径`,"sidebar.actions":`会话操作`,"sidebar.rename":`重命名`,"sidebar.delete":`删除`,"aux.forkTitle":`复制会话附属文件`,"aux.forkDescription":`该会话存在同名(不同后缀)的附属文件,选择哪些随新会话一起复制:`,"aux.deleteTitle":`是否一并删除附属文件?`,"aux.deleteDescription":`以下文件与会话同名(不同后缀),未勾选的将保留在磁盘上:`,"aux.copyConfirm":`复制并创建副本`,"aux.deleteConfirm":`删除所选`,"aux.fileNameHeader":`文件名(点击全选/清空)`,"aux.sizeHeader":`大小`,"aux.toggleAll":`全选/清空`,"sidebar.deleteWithShiftClick":`删除(按住 Shift 点击可跳过确认)`,"sidebar.expandForks":`展开分叉`,"sidebar.collapseForks":`折叠分叉`,"sidebar.disconnect":`断开`,"sidebar.messagesCount":`{count} 条消息`,"sidebar.worktreePath":`Worktree:{path}`,"sidebar.removeWorktreeTitle":`移除 worktree checkout {path};保留分支`,"files.modified":`已修改`,"files.added":`已添加`,"files.deleted":`已删除`,"files.renamed":`已重命名`,"files.untracked":`未跟踪`,"files.conflict":`冲突`,"files.newlyUploaded":`刚上传`,"files.containsChangedFiles":`包含已更改文件`,"files.insertPath":`将路径插入聊天`,"files.mention":`提及`,"files.download":`下载文件`,"files.dismissError":`关闭错误`,"files.addUploadedFile":`将上传的文件添加到聊天`,"files.addAllUploadedFiles":`将所有上传的文件添加到聊天`,"files.openInSystemApp":`用系统应用打开`,"files.chooseOtherApp":`选择其他应用…`,"files.openLaunched":`已调用系统应用打开(如无窗口弹出,请检查文件关联)`,"files.fileTooLargeForPreview":`文件太大,无法预览(>{limit})`,"files.docTooLargeForPreview":`DOCX 太大,无法预览(>{limit})`,"files.dismissUploadResults":`关闭上传结果`,"files.loading":`正在加载文件...`,"files.noFiles":`未找到文件`,"files.find":`查找`,"files.findNext":`下一个匹配(Enter)`,"files.findPrev":`上一个匹配(Shift+Enter)`,"files.findNoResults":`无结果`,"files.findClose":`关闭(Esc)`,"loading.inProgress":`处理中…`,"loading.more":`还有 {count} 项…`,"errors.title":`错误`,"errors.titleCount":`错误({count})`,"errors.close":`关闭`,"errors.clearAll":`全部清除`,"files.notFound":`(暂无文件)`,"files.accessDenied":`访问被拒绝`,"files.empty":`(空)`,"files.uploadFailed":`{count} 个失败`,"files.explorer":`文件浏览器`,"files.changedCount":`{count} 个文件`,"files.stagedPrefix":`已暂存:`,"files.unstagedPrefix":`未暂存:`,"files.noStagedChanges":`暂无已暂存文件`,"files.noUnstagedChanges":`暂无变更文件`,"files.commitMessagePlaceholder":`提交信息`,"files.commit":`提交`,"files.push":`推送到远端(含 tag)`,"files.pushing":`推送中...`,"files.pushSuccess":`推送成功`,"files.pushFailed":`推送失败`,"files.pushUpToDate":`已与远端同步,无需推送`,"files.pull":`从远端拉取`,"files.pulling":`拉取中...`,"files.pullSuccess":`拉取成功`,"files.pullFailed":`拉取失败`,"files.pullUpToDate":`已与远端同步,无需拉取`,"files.pullNonFastForward":`拉取被拒绝——本地与远端已分叉。请在终端使用 git pull --rebase 或 --merge 处理。`,"files.committing":`提交中…`,"files.commitMessageRequired":`请先填写 commit message`,"files.commitTitle":`提交更改`,"files.stageFileListMore":`…等其余 {count} 个文件`,"files.confirmStageAllCommit":`是否暂存以下 {count} 个改动文件并提交?`,"files.commitMessageLabel":`提交信息`,"files.stageAllAndCommit":`暂存并提交`,"files.stageFile":`暂存文件`,"files.unstageFile":`取消暂存`,"files.changeStats":`{count} 个变更文件,新增 {additions} 行,删除 {deletions} 行`,"git.autoFetchInterval":`自动 fetch 间隔(秒)`,"git.otherSectionTitle":`其他`,"git.autoFetchIntervalHint":`服务端定时为活动会话的工作区执行 git fetch(所有客户端共享结果)。0 表示关闭定时——仅在连接会话时触发一次。`,"git.groupTitle":`智能提交信息生成`,"git.commitModel.followCurrent":`跟随当前会话模型`,"git.commitModel.followCurrentHint":`开启后,生成提交信息时动态使用当前聊天的主模型;关闭则使用下方固定的模型(推荐使用免费小模型)。`,"git.commitModel.fixedModel":`固定模型`,"git.commitModel.fixedModelHint":`关闭“跟随当前会话”时使用的模型(建议选择免费小模型)。`,"git.commitModel.selectPlaceholder":`选择模型`,"git.commitModel.noModels":`暂无可用模型`,"git.commitModel.notConfiguredHint":`尚未选择固定模型,请先选择一个模型后再使用智能生成。`,"git.ai.generate":`智能生成`,"git.ai.generating":`生成中…`,"git.ai.notConfiguredTitle":`未配置模型`,"git.ai.notConfiguredDesc":`尚未为智能生成指定模型,请前往配置中心 → Git 指定模型后再试。`,"git.ai.goToConfig":`前往配置`,"git.ai.noSession":`跟随模式需要先选择一个会话`,"git.ai.noSessionModel":`当前会话无可用模型,请先在聊天中选择模型`,"git.commitModel.maxTokens":`最大输出长度`,"git.commitModel.maxTokensHint":`单次智能生成允许的最大输出 token 数(64–4096,默认 512)。已尽量降低推理开销:支持关闭的模型会关闭推理,不支持的会降至最低档位。`,"git.commitModel.autoGenerateOnEmpty":`空输入框时提交自动先智能生成`,"git.commitModel.autoGenerateOnEmptyHint":`开启后,点击提交时若输入框为空,会先自动调用智能生成填入信息再提交;仅在已指定模型时生效,未指定模型时空输入框仍禁用提交。默认开启。`,"git.ai.invalidModel":`已配置的模型格式无效,请前往配置中心重新选择`,"git.ai.usingCurrentModel":`使用聊天主模型`,"git.ai.usingModel":`使用 {model}`,"git.ai.generateAndCommit":`智能生成信息并提交`,"git.commitConfirmStageAll":`提交时需确认“暂存全部”`,"git.commitConfirmStageAllHint":`开启后,未暂存时点击提交会先弹出“暂存全部并提交”确认框;关闭则直接暂存全部并提交。默认开启。`,"modelThinking.desc":`为每个模型或 Provider 记忆上次选择的思考级别。切换模型时自动选中记忆的档位;若该模型的可用档位不含记忆值则回退到 auto(跟随默认)。支持全部 7 档:off / minimal / low / medium / high / xhigh / max。`,"modelThinking.addModelTitle":`添加模型`,"modelThinking.addProviderTitle":`添加 Provider`,"modelThinking.byModel":`按模型`,"modelThinking.byProvider":`按 Provider`,"modelThinking.byProviderHint":`Provider 级别为回退:同 Provider 下未单独记忆的模型会使用此值。`,"modelThinking.emptyModel":`暂无按模型的记忆。切换模型后用下方思考级别下拉选择,自动记忆;也可在此添加。`,"modelThinking.emptyProvider":`暂无按 Provider 的记忆。`,"modelThinking.selectModelPlaceholder":`选择模型`,"modelThinking.selectProviderPlaceholder":`选择 Provider`,"modelThinking.providerInputPlaceholder":`或输入 Provider 名称`,"modelThinking.footerHint":`配置保存到独立文件 pi-web/model-thinking.json,不影响主配置;仅作用于 UI 下拉,不拦截 pi 的 thinking 调用。`,"common.add":`添加`,"common.emptyValue":`(空)`,"common.retry":`重试`,"common.delete":`删除`,"files.conflictSummary":`已有 {count} 个文件:{files}`,"files.cannotReplace":`无法替换:{files}`,"files.replace":`替换`,"files.skipExisting":`跳过已有文件`,"files.cancel":`取消`,"files.checking":`正在检查文件`,"files.uploading":`正在上传,{progress}%`,"files.search":`搜索文件`,"files.searchPlaceholder":`搜索文件...`,"chat.loadingSession":`正在加载会话...`,"chat.noSessionSelected":`请在左侧面板新增/选择任意会话`,"chat.loadingWindow":`正在加载消息...`,"chat.runningTool":`运行工具`,"chat.runningNamedTool":`运行 {name}`,"chat.runningToolsFull":`运行{names}等{count}个工具`,"chat.waitingModel":`等待模型`,"chat.aiQuestion":`AI 提问`,"chat.runningCommand":`运行命令`,"chat.responding":`回答中`,"chat.totalElapsed":`本轮总计 {total}`,"chat.thinking":`思考中`,"chat.message":`{count} 条消息`,"chat.messages":`{count} 条消息`,"chat.toolCall":`{count} 次工具调用`,"chat.toolCalls":`{count} 次工具调用`,"chat.statFiles":`文件`,"chat.statMessages":`消息`,"chat.statTools":`工具`,"tool.receivingArgs":`正在接收参数...`,"chat.collapseProcess":`收起处理详情`,"chat.expandProcess":`展开处理详情`,"chat.loadEarlier":`向上滚动以加载更早的消息(隐藏 {count} 条)`,"chat.searchMessages":`搜索消息`,"chat.clearSearch":`清空搜索关键字`,"chat.scrollToLatest":`滚动到最新消息`,"chat.expandMessage":`展开完整内容`,"chat.collapseMessage":`收起`,"chat.expandTurn":`展开整轮`,"chat.collapseTurn":`折叠整轮`,"chat.thinkingCount":`条思考`,"chat.textChars":`字正文`,"chat.searchPlaceholder":`搜索聊天消息…`,"chat.searchNoResults":`没有结果`,"chat.searchResults":`{count} 个结果`,"chat.extensionRequest":`扩展请求`,"chat.cancel":`取消`,"chat.skipped":`已跳过`,"chat.confirm":`确认`,"chat.submit":`提交`,"chat.extensionInput":`扩展终端输入`,"chat.extensionSelect":`请选择`,"chat.extensionConfirm":`确认`,"chat.extensionEditor":`编辑`,"chat.extensionPanel":`扩展面板`,"chat.close":`关闭`,"chat.notifyInfoTitle":`信息`,"chat.notifySuccessTitle":`成功`,"chat.notifyErrorTitle":`错误`,"chat.notifyWarningTitle":`警告`,"chat.queued":`已排队 · {count}`,"chat.queueSteer":`引导`,"chat.queueFollowUp":`后续消息`,"chat.recall":`移回输入框`,"chat.recallTitle":`移除所有排队消息并放回输入框编辑(输入框为空时按回车也可触发)`,"chat.retrying":`重试中({attempt}/{max})`,"chat.loadingCommands":`正在加载命令...`,"chat.slashCommands":`斜杠命令 · {label}`,"chat.tabEnter":`Tab / Enter`,"chat.noCommands":`未找到扩展、提示词或技能命令`,"chat.match":`1 个匹配项`,"chat.matches":`{count} 个匹配项`,"chat.command":`1 个命令`,"chat.commands":`{count} 个命令`,"chat.loadingFiles":`正在加载文件...`,"chat.files":`文件 · {label}{hint}`,"chat.searching":`搜索中…`,"chat.noMatchingFiles":`未找到匹配的文件`,"chat.searchingAll":` · 正在搜索所有文件…`,"chat.indexTruncated":` · 索引不完整`,"chat.steerPlaceholder":`立即引导 / 排队后续消息...`,"chat.recallPlaceholder":`回车撤回排队消息到输入框编辑,或输入新消息…`,"chat.agentPlaceholder":`Agent 运行中…`,"chat.messagePlaceholder":`输入聊天消息(Enter 发送,Shift+Enter 换行)。/ 开头为斜杠命令,@ 引用文件,! 开头为 Shell 命令`,"chat.questionNotificationTitle":`Pi — 提问`,"chat.taskCompleteNotificationTitle":`Pi — 任务完成`,"chat.taskErrorNotificationTitle":`Pi — 出错`,"chat.sessionCompletedNotificationBody":`会话 {name} 已完成`,"chat.questionNotificationDenied":`通知被拒绝:在浏览器站点设置中允许后,切走页面时才会收到提问提醒。`,"chat.steer":`引导`,"chat.followUp":`后续消息`,"chat.queueImageBlocked":`运行中无法排队发送带图片的附件`,"chat.steerTooltip":`在当前调用结束后立即发送这条消息`,"chat.followUpTooltip":`在智能体结束后排队发送这条消息`,"chat.send":`发送`,"chat.attachImage":`附加图片`,"chat.attachmentOnDisk":`体积过大,已存到磁盘并以路径引用(由智能体按需读取)`,"chat.filterModels":`筛选模型…`,"chat.noMatchingModels":`没有匹配的模型`,"chat.moreControls":`更多控件`,"chat.shell":`Shell`,"chat.outputLocal":`输出保留在本地`,"chat.stoppedByUser":`已手动停止`,"chat.cwdPrefix":`工作目录`,"chat.turnArtifacts.title":`本轮修改了 {count} 个文件`,"chat.turnDuration":`耗时 {duration}`,"chat.turnArtifacts.toggleList":`展开/收起文件列表`,"chat.turnArtifacts.openFile":`在文件中打开`,"chat.outputModel":`输出发送给模型`,"chat.shellSilentTip":`(以!!开头则不发)`,"chat.noTools":`不使用任何工具,仅对话`,"chat.builtInTools":`{count} 个内置工具`,"chat.allBuiltInTools":`全部内置工具`,"chat.currentReasoning":`当前推理级别:{level}`,"chat.changeReasoningLabel":`更改推理级别`,"chat.currentModel":`当前模型:{model}`,"chat.changeModel":`更改模型`,"chat.currentToolPreset":`当前工具预设:{preset}`,"chat.toolPresetDrift":`⚠ 实际生效工具与所选预设不符,当前生效:{actual}`,"chat.changeToolPreset":`更改工具预设`,"chat.stopCompaction":`停止压缩`,"chat.compactContext":`压缩上下文`,"chat.compacting":`正在压缩…`,"chat.compactionDisabledByExtension":`原生上下文压缩已被某个扩展接管,无法在这里执行。`,"chat.compact":`压缩`,"chat.stopAgent":`停止 Agent`,"chat.stop":`停止`,"chat.disableSound":`关闭提示音`,"chat.enableSound":`开启提示音`,"chat.thinkingUseDefault":`使用 pi 默认设置`,"chat.thinkingOff":`关闭推理`,"chat.thinkingMinimal":`最低限度推理`,"chat.thinkingLow":`低强度推理`,"chat.thinkingMedium":`中等强度推理`,"chat.thinkingHigh":`高强度推理`,"chat.thinkingXhigh":`超高强度推理`,"chat.thinkingMax":`最高强度推理`,"chat.thinkingMapTitle":`高级思考级别未配置`,"chat.thinkingMapBody":`pi 默认只支持 high 级别。若要开启 {level} 级别推理,请在 配置 → 模型 页面为该模型配置「推理级别映射」。`,"chat.thinkingMapGo":`立即前往`,"chat.builtIn":`内置`,"chat.extensions":`扩展`,"chat.prompts":`提示词`,"chat.skills":`技能`,"chat.dormant":`休眠`,"chat.commandCompact":`压缩上下文,可选附加说明`,"chat.commandReload":`重新加载扩展、技能、提示词和工具`,"chat.commandName":`设置会话显示名称`,"chat.commandSession":`显示会话消息、Token 和费用统计`,"chat.commandCopy":`复制最后一条助手消息`,"chat.compacted":`已压缩`,"chat.tokensSaved":`节省 {saved}`,"i18n.close":`关闭`,"i18n.resizeList":`调整 {name} 列表大小`,"widgets.title":`小组件`,"widgets.reopen":`重新弹出`,"widgets.expandedToChat":`小组件[{key}]已展开到聊天页面`,"widgets.collapse":`收起`,"widgets.open":`展开小组件`,"i18n.copy":`复制`,"i18n.copied":`已复制`,"i18n.copyToolInput":`复制原始 JSON`,"i18n.cancel":`取消`,"i18n.save":`保存`,"i18n.saving":`保存中…`,"i18n.saved":`已保存`,"i18n.saveChanges":`保存更改`,"i18n.noThinking":`无思考内容`,"i18n.remove":`移除`,"i18n.removing":`移除中…`,"i18n.delete":`删除`,"i18n.loading":`加载中...`,"i18n.searchPlaceholder":`搜索…`,"i18n.noMatch":`无匹配`,"i18n.search":`搜索`,"i18n.refresh":`刷新`,"i18n.update":`更新`,"i18n.updating":`更新中...`,"i18n.check":`检查`,"i18n.checking":`检查中...`,"i18n.install":`安装`,"i18n.installing":`安装中...`,"i18n.noResults":`没有结果`,"i18n.searchProviders":`搜索 Provider…`,"i18n.noProviders":`没有匹配的 Provider`,"i18n.newModel":`新模型`,"i18n.addProvider":`添加 Provider`,"i18n.selectProviderModel":`选择 Provider 或模型`,"i18n.visibleInPrompt":`在模型提示词中可见,点击以禁用`,"i18n.hiddenFromPrompt":`在模型提示词中隐藏,点击以启用`,"i18n.dormant":`休眠`,"i18n.hiddenButInvocable":`对模型隐藏,仍可手动调用`,"i18n.skillSearchPlaceholder":`例如 react、testing、deploy`,"i18n.searching":`搜索中…`,"i18n.noSkills":`未找到技能`,"i18n.checkUpdates":`检查更新`,"i18n.updates":`项更新`,"i18n.noResolvedResources":`没有已解析资源`,"i18n.enablePackage":`启用包`,"i18n.disablePackage":`禁用包`,"i18n.filtered":`已筛选`,"i18n.openSessionToReload":`打开会话后才能重新加载`,"i18n.notFound":`未找到`,"i18n.noPlugins":`未配置插件`,"i18n.scopeGlobal":`全局`,"i18n.scopeProject":`项目`,"i18n.scopePath":`路径`,"i18n.name":`名称`,"i18n.description":`描述`,"trust.resourcesNotLoaded":`受限模式`,"trust.trustProject":`信任项目`,"trust.trusting":`正在信任...`,"trust.cancel":`取消`,"trust.dialogTitle":`信任此项目?`,"trust.dialogBody":`项目资源可以运行本地代码。请仅信任你了解其内容的项目。`,"trust.skillsNotLoaded":`此项目尚未受信任,项目技能未加载。`,"trust.pluginsNotLoaded":`此项目尚未受信任,项目插件未加载。`,"trust.projectScopeUnavailable":`项目资源未加载时,无法安装到项目范围。`,"i18n.subscription":`订阅`,"i18n.subscriptions":`订阅服务`,"i18n.customEndpoint":`自定义端点格式`,"i18n.noChanges":`没有更改`,"i18n.branches":`对话分支`,"i18n.noActiveSession":`没有活动会话`,"i18n.noActiveSessionToCompact":`没有活动会话可压缩`,"i18n.noActiveSessionToReload":`没有活动会话可重新加载`,"i18n.noActiveSessionToName":`没有活动会话可命名`,"i18n.noAssistantMessageToCopy":`没有可复制的助手消息`,"i18n.commandCompleted":`命令已完成`,"i18n.commandFailed":`命令失败`,"i18n.extensionCommandFailed":`扩展命令失败`,"i18n.compactedContext":`上下文已压缩`,"i18n.reloadedSessionResources":`会话资源已重新加载`,"i18n.usageName":`用法:/name <名称>`,"i18n.sessionRenamedTo":`会话已重命名为 {name}`,"i18n.copiedLastAssistantMessage":`已复制最后一条助手消息`,"i18n.failedToRecallQueuedMessages":`恢复排队消息失败`,"i18n.queuedResendAfterAbortTimeout":`已打断,但排队消息未能自动重发,已放回输入框`,"i18n.noBranches":`此会话没有分支`,"i18n.source":`源代码`,"i18n.preview":`预览`,"i18n.diff":`Diff`,"i18n.downloadFile":`下载文件`,"i18n.liveSync":`实时同步已启用`,"i18n.notWatching":`未监视`,"i18n.fileViewMode":`文件视图模式`,"i18n.editMode":`编辑模式`,"i18n.viewMode":`查看模式`,"i18n.compareHead":`比较工作区与 HEAD`,"i18n.fileViewSource":`源码`,"i18n.fileViewPreview":`预览`,"i18n.fileViewDiff":`差异`,"i18n.fileViewSourceHint":`以源码形式查看`,"i18n.fileViewPreviewHint":`以渲染后的形式查看`,"i18n.previewUnsupported":`不支持预览当前格式:{format}`,"i18n.lineCount":`{n} 行`,"i18n.mentionSelectedLines":`提及所选行`,"i18n.disableWrap":`禁用自动换行`,"i18n.enableWrap":`启用自动换行`,"i18n.editFile":`编辑文件`,"i18n.saveFile":`保存`,"i18n.saveFileShortcut":`保存(Ctrl/Cmd+S)`,"i18n.cancelEdit":`取消`,"i18n.saveFailed":`保存失败:{error}`,"i18n.unsavedChanges":`有未保存的修改`,"i18n.htmlPreview":`HTML 预览`,"i18n.previewFile":`预览 {file}`,"i18n.invalidMermaid":`Mermaid 图表无效`,"i18n.renderingMermaid":`正在渲染 Mermaid 图表`,"i18n.previewAfterStreaming":`流式输出完成后可预览`,"i18n.showMermaidSource":`显示 Mermaid 源码`,"i18n.previewMermaid":`预览 Mermaid 图表`,"i18n.openMermaidViewer":`打开图表查看器`,"i18n.mermaidViewer":`Mermaid 图表查看器`,"i18n.mermaidDiagram":`Mermaid 图表`,"i18n.zoomOut":`缩小`,"i18n.zoomIn":`放大`,"i18n.fitToWidth":`适应宽度`,"models.discoveryFetching":`正在导入模型…`,"models.deleteProviderConfirm":`确定删除 provider「{name}」?该操作会立即写入 models.json,其全部配置(含 API key)将被移除且无法恢复。`,"models.renameProviderDialogTitle":`重命名 Provider`,"models.renameProviderHint":`重命名会立即写入 models.json,并同步迁移该 provider 的 API 密钥与登录凭证;其他未保存的修改不会一并保存。`,"models.renameProviderConflict":`Provider「{name}」已存在,请换一个名称。`,"models.renameProviderBuiltin":`「{name}」是内置 provider,不能作为自定义 provider 名。`,"models.renameProviderEmpty":`名称不能为空。`,"models.removeModelConfirm":`确定移除模型「{model}」?该操作会立即写入 models.json 且无法恢复。`,"models.discoveryTitle":`导入模型`,"models.discoveryFetch":`导入模型…`,"models.discoveryFilterPlaceholder":`筛选 {count} 个模型…`,"models.discoveryFilter":`筛选上游模型`,"models.discoverySelectShown":`选择当前结果`,"models.discoveryNoMatches":`没有匹配的模型。`,"models.discoveryAdded":`已添加`,"models.discoveryShowing":`显示前 {shown} 个,共 {total} 个`,"models.discoveryFetched":`已获取 {count} 个模型`,"models.discoveryAddSelected":`添加所选模型`,"models.setDefault":`设为默认`,"models.defaultModel":`默认模型`,"models.defaultModelUnavailable":`默认模型 {model} 不可用(已删除或已隐藏),请选择模型。`,"models.syncEndpoint":`从端点同步`,"models.lastSyncedAt":`上次同步:{time}`,"models.neverSynced":`未同步过`,"models.discoveryFetchTooltip":`优先从本地缓存导入:{path};无缓存时自动执行一次从端点同步并写入该缓存。`,"models.syncingModels":`同步中…`,"models.syncedModels":`已同步 {count} 个模型`,"models.syncEndpointTooltip":`从 {endpoint} 拉取最新模型列表并缓存到本地;有缓存时优先于内置列表使用。`,"models.syncEndpointTooltipGeneric":`从该供应商的 models 端点拉取最新模型列表并缓存到本地;有缓存时优先于内置列表使用。`,"models.refreshFromCache":`从同步缓存刷新`,"models.refreshing":`刷新中…`,"models.refreshFromCacheTooltip":`重新读取 pi-web/provider/{provider}/models.json,只更新与当前生效定义不同的字段(headers 等手动字段保留)。`,"models.refreshNoDiff":`同步缓存与当前生效定义一致,无需更新。`,"models.refreshDone":`已从同步缓存更新覆写字段。`,"models.refreshTimeout":`刷新超时,请稍后重试。`,"models.builtinProviders":`内置 Provider`,"models.customProviders":`自定义 Provider`,"models.syncSaveFailed":`同步前保存草稿失败,已中止同步。`,"models.visibleInChat":`聊天可见`,"models.lastVisibleCannotHide":`该模型是该提供方下唯一的可见模型,无法隐藏;如需全部隐藏,请删除该模型。`,"models.visibleModels":`模型列表`,"models.visibleModelsCount":`已勾选 {visible} / 共 {total}`,"models.visibilityCustomized":` · 已自定义`,"models.visibilityUncustomized":` · 未自定义(默认全部可见)`,"models.showAll":`重置`,"models.showAllHint":`所有模型可见`,"models.filterLabel":`筛选:`,"models.invertSelection":`反向勾选`,"models.searchModels":`搜索模型…`,"models.noModels":`该 provider 暂无模型。`,"models.noMatchingModels":`无匹配模型。`,"models.filterAll":`全部`,"models.filterVisible":`仅可见`,"models.filterHidden":`仅隐藏`,"models.invertDisabledTooltip":`所有模型均已可见,反选不会改变任何状态`,"models.openOverride":`覆写模型参数`,"models.overrideHint":`当前显示为合并后的有效值(内置定义 + 已保存的覆写)。只有你修改过的字段会作为覆写保存,其余字段继续继承内置定义。`,"models.overrideOrphanedHint":`该模型已从上游删除,覆写仍保留在本地。可在此删除覆写,保存后会一并清理可见性配置。`,"models.removeOverride":`移除覆写`,"models.providerNameCollision":`Provider "{provider}" 与内置 "{builtin}"(大小写不敏感)冲突,模型可见性无法生效,请重命名或删除该 provider。`,"models.providerNameCollisionShort":`与内置 provider 撞名`,"models.builtinVisibilityBlocked":`模型可见性已禁用:自定义 provider "{custom}" 与 "{builtin}"(大小写不敏感)冲突,请重命名或删除该自定义 provider。`,"models.discoveryAddSelectedCount":`添加所选模型({count})`,"models.dataSourceLabel":`数据来源:`,"models.catalogSourceEndpoint":`模型端点`,"models.catalogSourceDev":`models.dev 目录`,"models.catalogSourceEndpointTooltip":`数据来源:Provider 的 /models 端点`,"models.catalogSourceDevTooltip":`数据来源:models.dev 内置目录(https://models.dev)`,"models.catalogEndpointNotFound":`模型端点返回中未找到该模型 ID`,"models.catalogOverwriteTitle":`覆盖已有字段?`,"models.catalogOverwriteBody":`以下 {{count}} 个字段已有值,覆盖填入将修改它们:{{fields}}。取消则仅填充空字段。`,"models.catalogOverwriteConfirm":`覆盖并填入`,"models.catalogOverwriteCancel":`仅填空字段`,"models.catalogFilling":`正在填入模型信息…`,"models.catalogFill":`填入模型信息`,"models.catalogFilled":`已填入 {count} 个字段`,"models.catalogNoEmptyFields":`没有需要填入的空字段`,"models.catalogNoExactMatch":`models.dev 中没有精确匹配`,"models.catalogPriceProvider":`价格已匹配 Provider {provider}`,"models.catalogPriceBaseUrl":`价格已按 Base URL 匹配 {provider}`,"models.catalogPriceConsensus":`价格得到 {support}/{total} 条记录支持`,"models.catalogPriceUnreliable":`未找到可靠价格`,"models.catalogUndo":`撤销`,"models.baseUrl":`Base URL`,"models.apiKey":`API 密钥`,"models.api":`API 格式`,"models.modelId":`ID *`,"models.name":`名称`,"models.apiOverride":`API 格式`,"models.reasoningThinking":`推理 / 思考`,"models.inputFormat":`输入格式`,"models.inputFormatPlaceholder":`搜索添加,可多选(回车确认)`,"models.inputFormat.text":`文本`,"models.inputFormat.image":`图片`,"models.badgeReasoning":`支持思考 / 推理(聊天输入框可选思考级别)`,"models.badgeInput":`支持{format}输入`,"models.nameHint":`留空删除 name 字段(回落使用模型 id)。`,"models.apiOverrideHint":`留空或选默认删除 api 字段(回落使用 provider 默认 api)。`,"models.reasoningHint":`取消勾选删除 reasoning 字段(回落关闭)。`,"models.thinkingLevelMapHint":`每个级别三种状态:默认=删除该级别映射(回落模型默认级别);已禁用=写入 null 禁用;自定义=写入自定义级别字符串。`,"models.compatSection":`兼容性`,"models.compatInheritHint":`模型自身未设置的项显示从 provider 继承的生效值(以弱化颜色标注);在模型级设置后将覆盖继承值。`,"models.compatHint.supportsDeveloperRole":`是否使用 developer 角色发送系统提示(推理模型常用)。Ollama、vLLM、SGLang 等不支持该角色的服务器设为 false,改为发送 system 消息。`,"models.compatHint.supportsLongCacheRetention":`是否支持长缓存保留:GPT-5.6+ 用 prompt_cache_options.ttl(30m),旧 OpenAI 用 prompt_cache_retention(24h),Anthropic 格式用 cache_control.ttl(1h)。`,"models.compatHint.supportsUsageInStreaming":`流式响应是否支持 stream_options: {include_usage: true},用于统计 token 用量。`,"models.compatHint.supportsFinishReason":`流式响应是否包含 finish_reason。设为 false 时,pi 在流结束时自行推断 stop 或 toolUse。`,"models.compatHint.supportsEagerToolInputStreaming":`是否接受逐工具的 eager_input_streaming。设为 false 时省略该字段,改用旧版 fine-grained-tool-streaming beta 请求头。`,"models.compatHint.supportsCacheControlOnTools":`是否接受工具定义上的 Anthropic 风格 cache_control 标记(用于工具提示词缓存)。`,"models.compatHint.supportsTemperature":`是否接受 temperature 采样参数。Claude Opus 4.7+ 等拒绝非默认温度值的端点需设为 false。`,"models.compatHint.requiresToolResultName":`工具结果消息是否必须包含 name 字段(某些端点要求)。`,"models.compatHint.requiresAssistantAfterToolResult":`工具结果之后、下一条用户消息之前是否需要插入一条空 assistant 消息(某些端点要求)。`,"models.compatHint.requiresThinkingAsText":`是否将思考块转换为纯文本发送(用于不支持思考块的端点)。`,"models.compatHint.zaiToolStream":`z.ai 端点是否支持顶层 tool_stream: true 参数(流式工具调用增量)。`,"models.compatHint.supportsThinkingTokenBudget":`是否支持用顶层 thinking_token_budget 字段限制思考 token(vLLM 兼容端点)。`,"models.compatHint.supportsOpenAIGrammarTools":`OpenAI 兼容 API 是否支持 Lark/regex grammar 工具。设为 false 时,受语法约束的工具回退为普通 function 工具。`,"models.compatHint.supportsToolSearch":`模型是否支持客户端执行的工具搜索(用于延迟工具)。`,"models.compatHint.supportsExplicitPromptCacheMode":`是否接受 prompt_cache_options 参数(OpenAI GPT-5.6+ 提示缓存)。旧 OpenAI 模型会拒绝该参数。`,"models.compatHint.forceAdaptiveThinking":`是否强制 adaptive thinking(thinking.type: "adaptive" + output_config.effort)替代旧版 budget 思考格式。内置自适应模型会自动设置。`,"models.compatHint.allowEmptySignature":`是否将空思考签名重放为 signature: ""。仅对确实需要的 Anthropic 兼容端点开启;真正的 Anthropic API 拒绝空签名。`,"models.compatHint.supportsStrictTools":`端点是否接受 strict JSON-schema 工具定义(Anthropic)。内置 Anthropic 模型已启用。`,"models.compatHint.supportsStore":`OpenAI 端点是否支持 store 字段。`,"models.compatHint.supportsReasoningEffort":`端点是否支持 reasoning_effort 参数(Ollama、vLLM、SGLang 等常不支持)。`,"models.compatHint.supportsStrictMode":`端点是否接受 strict JSON-schema 函数工具定义。默认依 API 而定;内置 OpenAI 模型自带能力元数据。`,"models.compatHint.supportsToolReferences":`是否支持工具结果中的工具引用块。Anthropic 一方模型默认支持(Haiku 与 Claude 4.5 之前的模型除外)。`,"models.compatHint.maxTokensField":`最大输出 token 参数名:max_completion_tokens(新 API)或 max_tokens(旧 API)。`,"models.compatHint.sessionAffinityFormat":`会话亲和(缓存相关):把 session id 当亲和键发给端点,让同一会话的请求尽量命中同一个后端副本,以提高提示缓存命中率——Fireworks 等端点就是靠它做 prompt cache 路由,不开时同一会话的请求可能落到不同副本、缓存复用变差(不影响请求体的 prompt_cache_key,那由缓存保留策略决定)。pi 仅在 compat.sendSessionAffinityHeaders 为 true 时发送(openai-responses 只看格式),本下拉框会联动写入两个字段。auto=开启并按 URL 自动探测格式;off=显式关闭(模型级可覆盖 provider 的开启);openai=session_id/x-client-request-id/x-session-affinity;openai-nosession=x-client-request-id/x-session-affinity;openrouter=x-session-id。`,"models.compatHint.deferredToolsMode":`延迟工具的专用序列化格式。目前仅支持 kimi(Kimi 的 OpenAI 兼容 Chat Completions 格式)。`,"models.compatHint.cacheControlFormat":`提示缓存标记格式。目前仅支持 anthropic:在系统提示、最后一个工具定义及最后一条文本内容上添加 cache_control 标记。`,"models.inheritedFromProvider":`来自 provider(继承值,可在模型级覆盖)`,"models.thinkingFormatDeepseekHint":`选中 deepseek 时会额外写入 requiresReasoningContentOnAssistantMessages: true;选中其他值则移除。`,"models.samplingParams":`采样参数`,"models.headers":`请求头`,"models.modelOverrides":`模型覆盖`,"models.supportsDeveloperRole":`支持 developer role`,"models.supportsLongCacheRetention":`支持长缓存保留`,"models.supportsUsageInStreaming":`流式返回 token 用量`,"models.supportsFinishReason":`流式返回 finish_reason`,"models.supportsEagerToolInputStreaming":`工具输入流式预读`,"models.supportsCacheControlOnTools":`工具定义缓存控制`,"models.supportsTemperature":`支持 temperature 参数`,"models.requiresToolResultName":`工具结果需带 name`,"models.requiresAssistantAfterToolResult":`工具结果后需 assistant 消息`,"models.requiresThinkingAsText":`思考块转为文本`,"models.requiresReasoningContentOnAssistantMessages":`assistant 消息需 reasoning_content`,"models.zaiToolStream":`z.ai tool stream`,"models.supportsThinkingTokenBudget":`支持思考 token 预算`,"models.supportsOpenAIGrammarTools":`支持 OpenAI 语法工具`,"models.supportsToolSearch":`支持工具搜索`,"models.supportsExplicitPromptCacheMode":`显式提示缓存模式`,"models.forceAdaptiveThinking":`强制自适应思考`,"models.allowEmptySignature":`允许空思考签名`,"models.supportsStrictTools":`严格工具 schema`,"models.supportsStore":`支持 store 参数`,"models.supportsReasoningEffort":`支持 reasoning_effort`,"models.supportsStrictMode":`严格模式`,"models.supportsToolReferences":`支持工具引用`,"models.maxTokensField":`最大 token 字段`,"models.sessionAffinityFormat":`会话亲和`,"models.deferredToolsMode":`延迟工具模式`,"models.cacheControlFormat":`缓存控制格式`,"models.thinkingFormat":`思考格式`,"models.chatTemplateKwargs":`聊天模板 kwargs`,"models.chatTemplateArgs":`聊天模板 args`,"models.openRouterRouting":`OpenRouter 路由`,"models.vercelGatewayRouting":`Vercel 网关路由`,"models.thinkingLevelMap":`思考级别`,"models.thinkingLevelMapReset":`重置(清空)`,"models.thinkingLevelMapResetHint":`清空整个 thinkingLevelMap:off、minimal、low、medium、high 回落各自默认,xhigh、max 默认禁用。`,"models.thinkingLevelMapNone":`全部禁用`,"models.contextWindow":`上下文窗口(tokens)`,"models.maxOutputTokens":`最大输出 tokens`,"models.costPerMillion":`成本(每百万 tokens)`,"models.cost.input":`输入`,"models.cost.output":`输出`,"models.cost.cacheRead":`缓存读取`,"models.cost.cacheWrite":`缓存写入`,"models.costNotSet":`未设置`,"models.costAllRequired":`四项费率必须全部填写`,"models.costClear":`清除`,"models.apiKeyPlaceholder":`ENV_VAR_NAME、!shell-command 或字面密钥`,"models.apiKeyHint":`字面量密钥在保存时自动写入 auth.json(与 CLI /login 共享,优先于此处配置);以 ! 开头的 shell 命令和 $ENV 插值保留在 models.json。`,"models.authJsonConnected":`已通过 auth.json 提供密钥`,"models.authJsonRemove":`移除`,"models.apiKeyPrompt":`输入 {provider} 的 API 密钥以启用 {count} 个模型。`,"models.oauthAlreadyConnected":`已连接。可重新登录或断开连接。`,"models.oauthConnectPrompt":`连接你的 {provider} 账户。`,"models.enterValue":`输入值…`,"models.displayNamePlaceholder":`显示名称`,"models.connectionLost":`连接已断开`,"models.networkError":`网络错误`,"i18n.testingModel":`正在测试模型连接...`,"i18n.connected":`已连接`,"i18n.failed":`失败`,"i18n.test":`测试`,"i18n.testConnection":`测试模型连接`,"i18n.provider":`Provider`,"i18n.providers":`提供商`,"i18n.model":`模型`,"i18n.providerName":`Provider 名称`,"i18n.rename":`重命名`,"i18n.default":`默认`,"i18n.disabled":`已禁用`,"plugins.statusLoaded":`已加载并生效`,"plugins.statusInstalled":`已安装,尚未加载`,"plugins.statusDisabled":`已禁用`,"plugins.statusMissing":`已配置但包未找到`,"plugins.extensionFilters":`扩展过滤`,"plugins.filterRules":`过滤规则`,"plugins.managePlugins":`插件管理`,"plugins.extensionFiltersHint":`对 ~/.pi/agent/extensions/ 与 .pi/extensions/ 自动发现目录内扩展的过滤规则。仅以 !、+、- 开头的规则生效;纯路径填写无效。`,"plugins.noExtensionFilters":`未配置过滤规则`,"plugins.addFilter":`添加过滤`,"plugins.filterPatternLabel":`规则`,"plugins.filterPlaceholder":`!pattern · +path · -path`,"plugins.filterInvalid":`规则必须以 !、+ 或 - 开头;纯路径在 extensions 字段中无效。`,"plugins.filterPrefixExclude":`排除匹配的扩展`,"plugins.filterPrefixForceInclude":`强制包含精确路径`,"plugins.filterPrefixForceExclude":`强制排除精确路径`,"plugins.filterEffect":`效果`,"plugins.removeFilter":`移除过滤`,"plugins.npmSourcePlaceholder":`npm:@scope/package`,"plugins.scopeLabel":`安装至`,"plugins.scopeInstallHint.global":`点击立即安装至全局插件目录(~/.pi/agent/{npm,git})`,"plugins.scopeInstallHint.project":`点击立即安装至本项目(.pi/agent/{npm,git})`,"plugins.sourceLabel":`来源`,"plugins.scopeGlobal":`全局`,"plugins.scopeProject":`项目`,"plugins.examplesTitle":`示例`,"plugins.totalsSummary":`{extensions} 扩展 · {skills} 技能 · {prompts} 提示词 · {themes} 主题`,"plugins.diagnosticCount":`{n} 条诊断`,"plugins.packageInstalled":`包已安装。`,"plugins.packageUpdated":`包已更新。`,"plugins.packageRemoved":`包已移除。`,"plugins.packageDisabled":`包已禁用。`,"plugins.packageEnabled":`包已启用。`,"plugins.extensionFilterAdded":`扩展过滤已添加。`,"plugins.extensionFilterRemoved":`扩展过滤已移除。`,"plugins.sessionReloaded":`会话已重载。`,"i18n.noResources":`没有资源`,"i18n.unknown":`未知`,"i18n.installedVersion":`已安装 {version}`,"i18n.configuredVersion":`已配置 {version}`,"i18n.extensions":`扩展`,"i18n.prompts":`提示词`,"i18n.themes":`主题`,"i18n.resourceCount":`{count}{label}`,"i18n.extensionShort":`扩展`,"i18n.versionShort":`版本`,"i18n.skillShort":`技能`,"i18n.promptShort":`提示词`,"i18n.themeShort":`主题`,"i18n.custom":`自定义`,"i18n.clearAll":`清除全部`,"i18n.connectedSuccessfully":`连接成功。`,"i18n.notConnected":`未连接`,"i18n.configured":`已配置`,"i18n.notConfigured":`未配置`,"i18n.openingBrowser":`正在打开浏览器…`,"i18n.submit":`提交`,"i18n.login":`登录`,"i18n.relogin":`重新登录`,"i18n.disconnect":`断开连接`,"i18n.networkError":`网络错误`,"i18n.continuing":`继续中…`,"i18n.skills":`技能`,"i18n.plugins":`插件`,"i18n.addSkill":`添加技能`,"i18n.addPlugin":`添加插件`,"i18n.recommendedPlugins":`推荐插件`,"i18n.selectSkill":`选择技能`,"i18n.selectPackage":`选择包`,"i18n.configBindings":`绑定的配置文件`,"i18n.addBinding":`添加`,"i18n.configFileNote":`备注(可选)`,"i18n.bindConfigFile":`绑定配置文件`,"i18n.selectFile":`选择文件`,"i18n.noConfigBindings":`尚未绑定配置文件`,"i18n.noFiles":`没有文件`,"i18n.allFiles":`全部文件`,"i18n.filterByType":`按类型筛选`,"i18n.removeBinding":`删除绑定`,"i18n.confirm":`确认`,"i18n.updateAvailable":`有可用更新`,"i18n.upToDate":`已是最新`,"i18n.automaticChecksUnavailable":`自动检查不可用`,"i18n.checkFailed":`检查失败`,"i18n.installed":`已安装`,"i18n.status":`状态`,"i18n.version":`版本`,"i18n.package":`包`,"i18n.resources":`资源`,"i18n.installedPath":`安装路径`,"i18n.readme":`README`,"i18n.readmeDetails":`详情`,"i18n.unsafeLinkBlocked":`已阻止不安全链接(仅允许同目录或子目录的相对链接):{href}`,"i18n.resolvedResources":`已解析资源`,"i18n.reloadSession":`重新加载会话`,"i18n.reloading":`重新加载中...`,"i18n.packageRemoved":`包已移除。`,"i18n.packageInstalled":`包已安装。`,"i18n.packageUpdated":`包已更新。`,"i18n.packageDisabled":`包已禁用。`,"i18n.packageEnabled":`包已启用。`,"i18n.sessionReloaded":`会话已重新加载。`,"i18n.thinking":`思考`,"i18n.loadingThinking":`正在加载思考内容...`,"i18n.copyMessage":`复制消息`,"i18n.editFromHere":`从此处编辑`,"i18n.editFromHereTitle":`从此处编辑,此会话内创建分支`,"i18n.userMessageExpandHint":`点击查看全文`,"i18n.newSession":`新会话`,"i18n.newSessionTitle":`新会话,从此处创建独立副本`,"i18n.estimatedTokens":`流式输出期间的估算 Token 数`,"i18n.noOutput":`(无输出)`,"i18n.noSummary":`(无摘要)`,"i18n.conversationCompacted":`会话已压缩`,"i18n.compactionDescription":`此处之前的会话历史已压缩为以下摘要:`,"i18n.fileContext":`文件上下文:{details}`,"i18n.readFiles":`读取的文件`,"i18n.modifiedFiles":`修改的文件`,"i18n.hiddenExtensionMessage":`隐藏的扩展消息`,"i18n.noMessage":`(无消息)`,"i18n.collapse":`收起`,"i18n.expand":`展开`,"i18n.hideDetails":`隐藏详情`,"i18n.showDetails":`显示详情`,"i18n.thinkingUnavailable":`思考内容不可用`,"i18n.thinkingEncrypted":`思考内容已加密(提供方加密,仅用于上下文连续,无法显示明文)`,"i18n.before":`之前`,"i18n.after":`之后`}},v=new Map;function y(e){if(!e.id.trim())throw Error(`Locale id must not be empty`);if(v.has(e.id))throw Error(`Locale already registered: ${e.id}`);v.set(e.id,e)}function b(e){return v.get(e)}function x(){return[...v.keys()]}function S(e){for(let t of e){let e=t.toLowerCase();if(e===`en`||e.startsWith(`en-`))return`en`;if(e===`zh`||e.startsWith(`zh-`))return`zh-CN`}return`en`}y(g),y(_);var C=n((e=>{var t=Symbol.for(`react.transitional.element`),n=Symbol.for(`react.fragment`);function r(e,n,r){var i=null;if(r!==void 0&&(i=``+r),n.key!==void 0&&(i=``+n.key),`key`in n)for(var a in r={},n)a!==`key`&&(r[a]=n[a]);else r=n;return n=r.ref,{$$typeof:t,type:e,key:i,ref:n===void 0?null:n,props:r}}e.Fragment=n,e.jsx=r,e.jsxs=r})),w=n(((e,t)=>{t.exports=C()})),T=w(),E=`pi-locale`,D=`en`,O=(0,d.createContext)(null);function k(){return Object.fromEntries(x().flatMap(e=>{let t=b(e);return t?[[e,t.messages]]:[]}))}function A(){try{let e=window.localStorage.getItem(E);if(e===`en`||e===`zh-CN`)return e}catch{}return null}function j({children:e,initialLocale:t=null}){let[n,r]=(0,d.useState)(()=>typeof window>`u`?t??D:A()??t??S(window.navigator.languages.length?window.navigator.languages:[window.navigator.language])),i=(0,d.useMemo)(()=>x().map(e=>b(e)).filter(e=>!!e),[]),a=(0,d.useMemo)(()=>k(),[]),o=(0,d.useCallback)(e=>{if(b(e)){r(e),document.documentElement.lang=e;try{window.localStorage.setItem(E,e)}catch{}fetch(`/api/preferences`,{method:`PUT`,headers:{"Content-Type":`application/json`},body:JSON.stringify({firstPaint:{locale:e}})}).catch(e=>console.error(`[pi-web] save locale:`,e))}},[]),s=(0,d.useCallback)((e,t)=>m(n,e,a,t),[n,a]),c=(0,d.useMemo)(()=>({locale:n,setLocale:o,t:s,supportedLocales:i}),[n,o,s,i]);return(0,T.jsx)(O.Provider,{value:c,children:e})}function M(){let e=(0,d.useContext)(O);if(!e)throw Error(`useI18n must be used inside I18nProvider`);return e}var N=/\x1B(?:[@-Z\\-_]|\[[0-?]*[ -/]*[@-~]|\][^\x07]*(?:\x07|\x1B\\))/g,ee=/^\x1B(?:[@-Z\\-_]|\[[0-?]*[ -/]*[@-~]|\][^\x07]*(?:\x07|\x1B\\))/,te=/\x1B\[([0-9;]*)m/g,P=/\x1B_pi:c\x07/g,ne=[`#1f2937`,`#dc2626`,`#16a34a`,`#d97706`,`#2563eb`,`#9333ea`,`#0891b2`,`#6b7280`],re=[`#9ca3af`,`#ef4444`,`#22c55e`,`#f59e0b`,`#3b82f6`,`#a855f7`,`#06b6d4`,`#e5e7eb`];function ie(e){return e.replace(P,``).replace(N,``)}function ae(e){let t=[],n=0;for(;n<e.length;){if(e.charCodeAt(n)===27){let t=e.slice(n).match(ee);if(t){n+=t[0].length;continue}}let r=e.codePointAt(n);if(r===void 0)break;let i=String.fromCodePoint(r);t.push({start:n,end:n+i.length,char:i}),n+=i.length}return t}function oe(e,t){let n=ae(e)[t];return n?e.slice(0,n.start)+e.slice(n.end):e}function se(e){return ae(e)[0]?.char}function ce(e){let t=ae(e);for(let e=t.length-1;e>=0;e--)if(t[e].char.trim()!==``)return e;return-1}function le(e){let t=e;for(;;){let e=ae(t),n=e[e.length-1];if(n?.char.trim()!==``)return t;t=t.slice(0,n.start)+t.slice(n.end)}}function ue(e){let t=/^[┌├└╭╰][─┬┴┼]+[┐┤┘╮╯]$/,n=[];for(let r of e){let e=r.replace(P,``),i=ie(e).trimEnd();if(t.test(i))continue;let a=e,o=se(a);(o===`│`||o===`┃`)&&(a=oe(a,0),se(a)===` `&&(a=oe(a,0)));let s=ce(a),c=s>=0?ae(a)[s]?.char:void 0;(c===`│`||c===`┃`)&&(a=oe(a,s)),n.push(le(a))}for(;n.length>0&&ie(n[0]).trim()===``;)n.shift();for(;n.length>0&&ie(n[n.length-1]).trim()===``;)n.pop();return n.length?n:e}function de(e){if(e>=0&&e<8)return ne[e];if(e>=8&&e<16)return re[e-8];if(e>=16&&e<=231){let t=e-16,n=Math.floor(t/36),r=Math.floor(t%36/6),i=t%6,a=e=>e===0?0:55+e*40;return`rgb(${a(n)}, ${a(r)}, ${a(i)})`}if(e>=232&&e<=255){let t=8+(e-232)*10;return`rgb(${t}, ${t}, ${t})`}}var fe={0:e=>{for(let t of Object.keys(e))delete e[t]},1:e=>{e.fontWeight=700},2:e=>{e.opacity=.65},3:e=>{e.fontStyle=`italic`},4:e=>{e.textDecoration=`underline`},22:e=>{delete e.fontWeight,delete e.opacity},23:e=>{delete e.fontStyle},24:e=>{delete e.textDecoration},39:e=>{delete e.color},49:e=>{delete e.backgroundColor}},pe=[{min:30,max:37,target:`color`,palette:ne},{min:90,max:97,target:`color`,palette:re},{min:40,max:47,target:`backgroundColor`,palette:ne},{min:100,max:107,target:`backgroundColor`,palette:re}];function me(e,t,n,r){if(t!==38&&t!==48)return 0;if(n[r+1]===2){let[i,a,o]=[n[r+2],n[r+3],n[r+4]];if([i,a,o].every(e=>typeof e==`number`&&Number.isFinite(e))){let n=`rgb(${i}, ${a}, ${o})`;t===38?e.color=n:e.backgroundColor=n}return 4}if(n[r+1]===5){let i=de(n[r+2]);return i&&(t===38?e.color=i:e.backgroundColor=i),2}return 0}function he(e,t){let n={...e};for(let e=0;e<t.length;e++){let r=t[e],i=fe[r];if(i){i(n);continue}let a=!1;for(let e of pe)if(r>=e.min&&r<=e.max){n[e.target]=e.palette[r-e.min],a=!0;break}a||(e+=me(n,r,t,e))}return n}function ge(e){let t=[],n={},r=0,i;for(te.lastIndex=0;(i=te.exec(e))!==null;){i.index>r&&t.push({text:e.slice(r,i.index),style:n});let a=i[1]?i[1].split(`;`).map(e=>Number(e||`0`)):[0];n=he(n,a),r=i.index+i[0].length}return r<e.length&&t.push({text:e.slice(r),style:n}),t}function _e(){return typeof crypto<`u`&&typeof crypto.randomUUID==`function`?crypto.randomUUID():`${Date.now()}-${Math.random().toString(36).slice(2)}`}var ve={visible:[],pending:[],modals:[]};function ye(e){let t=e.type===`info`?`[pi] notice:`:`[pi] notice (${e.type}):`;e.type===`warning`?console.warn(t,e.message):e.type===`error`?console.error(t,e.message):console.info(t,e.message)}var be=new class{constructor(e=5){this.maxVisible=e,this.state=ve,this.listeners=new Set,this.noticeListeners=new Set,this.subscribe=e=>(this.listeners.add(e),()=>this.listeners.delete(e)),this.getSnapshot=()=>this.state,this.onNotice=e=>(this.noticeListeners.add(e),()=>this.noticeListeners.delete(e))}add(e){let t=e.message.trim();if(!t)return;let n={id:e.id??_e(),message:t,type:e.type??`info`,sessionId:e.sessionId??null};if(ye(n),e.log!==!1&&this.emit(n),this.state.visible.length>=this.maxVisible){this.set({...this.state,pending:[...this.state.pending,n]});return}this.set({...this.state,visible:[...this.state.visible,n]})}dismissToast(e){let t=this.state.visible.filter(t=>t.id!==e);if(t.length===this.state.visible.length)return;let n=t,r=this.state.pending;for(;r.length>0&&n.length<this.maxVisible;){let[e,...t]=r;n=[...n,e],r=t}this.set({visible:n,pending:r,modals:this.state.modals})}addModal(e){let t=e.message.trim();if(!t)return;let n={id:e.id??_e(),message:t,type:e.type??`warning`,sessionId:e.sessionId??null};ye(n),e.log!==!1&&this.emit(n),this.set({...this.state,modals:[...this.state.modals,n]})}dismissModal(e){this.set({...this.state,modals:this.state.modals.filter(t=>t.id!==e)})}set(e){(e.visible!==this.state.visible||e.pending!==this.state.pending||e.modals!==this.state.modals)&&(this.state=e,this.listeners.forEach(e=>e()))}emit(e){this.noticeListeners.forEach(t=>t(e))}},xe=!1,Se=performance.now();function Ce(e){xe=e,Se=performance.now(),xe&&Te(`boot`,`debug log enabled`)}function we(e){return(t,n)=>Te(e,t,n)}function Te(e,t,n){if(!xe)return;performance.now()-Se;let r=new Date,i=(e,t=2)=>String(e).padStart(t,`0`);`${i(r.getHours())}${i(r.getMinutes())}${i(r.getSeconds())}${i(r.getMilliseconds(),3)}`}function Ee(){if(!xe)return;let e=window.fetch;window.fetch=async(t,n)=>{let r=typeof t==`string`?t:t instanceof URL?t.href:t.url,i=n?.method??`GET`,a=performance.now();try{let o=await e(t,n);return Te(`fetch`,`${i} ${r}`,`${o.status} ${Math.round(performance.now()-a)}ms`),o}catch(e){throw Te(`fetch`,`${i} ${r}`,`failed ${Math.round(performance.now()-a)}ms`),e}}}var De=we(`ws-bus`),Oe=new Map,ke=new Map,Ae=3e4,je=75e3,Me=1e3,Ne=15e3,Pe=1,Fe=3,Ie=null,Le=0,Re=0,ze=Me,Be=!1,Ve=new Set,He=!1;function Ue(e){if(e===`disconnected`){if(He)return;He=!0}else{if(!He)return;He=!1}let t={status:e,at:Date.now()};for(let e of Ve)try{e(t)}catch{}}function We(e){return Ve.add(e),()=>Ve.delete(e)}function Ge(e){return e.ch===`agent`?`agent:${e.sessionId??``}`:e.ch===`watch`?`watch:${e.filePath??``}`:e.ch}function Ke(){return`${location.protocol===`https:`?`wss://`:`ws://`}${location.host}/api/ws`}function qe(e,t){e.send(JSON.stringify({type:`sub`,...t}))}function Je(){Ie&&Ie.close();let e=++Re,t;try{t=new WebSocket(Ke())}catch{Ue(`disconnected`),Ye(e);return}Ie=t,t.onopen=()=>{ze=Me,Le=Date.now(),Ue(`restored`),De(`open`,`${ke.size} subs replayed`);for(let e of ke.values())try{qe(t,e)}catch{break}},t.onmessage=n=>{if(e!==Re||Ie!==t||(Le=Date.now(),typeof n.data!=`string`))return;let r;try{r=JSON.parse(n.data)}catch{return}if(!r.ch){if(r.type===`ping`)try{t.send(JSON.stringify({type:`pong`}))}catch{}return}for(let e of Oe.get(r.ch)??[])e(r.data)},t.onclose=n=>{e===Re&&Ie===t&&(De(`close`,`code=${n?.code} wasClean=${n?.wasClean}`),Ie=null,Be||Ue(`disconnected`),Ye(e))},t.onerror=()=>De(`error`,`socket error (close follows)`)}function Ye(e){De(`reconnect`,`scheduled in ${ze}ms`),setTimeout(()=>{e!==Re||Ie||Je()},ze),ze=Math.min(ze*2,Ne)}function Xe(){if(!Ie||Ie.readyState!==Pe||Date.now()-Le<=je)return;De(`stale-rebuild`,`no frame for ${Math.round((Date.now()-Le)/1e3)}s`),Ue(`disconnected`),Re+=1;let e=Ie;Ie=null;try{e.close()}catch{}Je()}typeof window<`u`&&(setInterval(Xe,Ae),window.addEventListener(`pagehide`,()=>{Be=!0}),window.addEventListener(`online`,()=>{!Ie||Ie.readyState===Fe?Je():Xe()}),document.addEventListener(`visibilitychange`,()=>{document.visibilityState===`visible`&&(!Ie||Ie.readyState===Fe?Je():Xe())}));function Ze(e){if(e&&Ie?.readyState===Pe)try{Ie.send(JSON.stringify({type:`unseen`,sessionId:e}))}catch{}}function Qe(e,t){let n=Ge(e),r=Oe.get(n);r||(r=new Set,Oe.set(n,r)),r.add(t);let i=!ke.has(n);if(ke.set(n,e),Ie?.readyState===Pe&&i)try{qe(Ie,e)}catch{}else Ie||Je();return()=>{let e=Oe.get(n);if(e?.delete(t),e&&e.size===0&&(Oe.delete(n),ke.delete(n),Ie?.readyState===Pe))try{Ie.send(JSON.stringify({type:`unsub`,ch:n}))}catch{}}}if(typeof window<`u`){let e=[`connecting`,`open`,`closing`,`closed`];window.__wsBusStatus=()=>({state:Ie?e[Ie.readyState]:`disconnected`,lastFrameAgoSec:Le?Math.round((Date.now()-Le)/1e3):null,subs:[...ke.keys()],generation:Re})}var $e=`pi.notification-log.v1`;function et(){try{let e=window.sessionStorage.getItem($e);if(!e)return[];let t=JSON.parse(e);return Array.isArray(t)?t.filter(e=>e&&typeof e.message==`string`&&(e.notifyType===`info`||e.notifyType===`success`||e.notifyType===`warning`||e.notifyType===`error`)&&typeof e.createdAt==`number`):[]}catch{return[]}}function tt(e){try{window.sessionStorage.setItem($e,JSON.stringify(e))}catch{}}var nt=`reduced-motion`,rt=`pi.reduced-motion-notice.v1`,it=!1;function at(e){if(typeof window.matchMedia!=`function`||!window.matchMedia(`(prefers-reduced-motion: reduce)`).matches)return;let t=et();if(!t.some(e=>e.id===nt)){try{if(window.sessionStorage.getItem(rt))return;window.sessionStorage.setItem(rt,`1`)}catch{}tt([{id:nt,message:e(`reducedMotionNotice.message`),notifyType:`info`,sessionId:null,createdAt:Date.now()},...t].slice(0,50)),it=!0}}var ot=(0,d.createContext)(null);function st(e){return typeof e==`string`&&e?e:typeof crypto<`u`&&crypto.randomUUID?crypto.randomUUID():`${Date.now()}-${Math.random().toString(36).slice(2)}`}function ct({children:e}){let{t}=M(),[n]=(0,d.useState)(()=>{at(t);let e=et();return{entries:e,unread:it&&e.some(e=>e.id===nt)?1:0}}),[r,i]=(0,d.useState)(n.entries);(0,d.useEffect)(()=>{tt(r)},[r]);let[a,o]=(0,d.useState)(n.unread),s=(0,d.useCallback)(()=>o(0),[]);(0,d.useEffect)(()=>be.onNotice(e=>{let t={id:st(e.id),message:ie(e.message),notifyType:e.type,sessionId:e.sessionId??null,createdAt:Date.now()};i(e=>[t,...e].slice(0,50)),o(e=>e+1)}),[]);let[c,l]=(0,d.useState)(!1);(0,d.useEffect)(()=>We(e=>{l(e.status===`disconnected`),i(n=>[{id:`ws-health-${e.at}`,message:e.status===`disconnected`?t(`wsHealth.disconnected`):t(`wsHealth.restored`),notifyType:e.status===`disconnected`?`error`:`info`,sessionId:null,createdAt:e.at},...n].slice(0,50)),o(e=>e+1)}),[t]);let u=(0,d.useCallback)(e=>{i(t=>t.filter(t=>t.id!==e))},[]),f=(0,d.useCallback)(e=>{i(t=>e?t.filter(t=>t.sessionId!==e):[])},[]),p=(0,d.useMemo)(()=>({entries:r,unread:a,markRead:s,remove:u,clear:f}),[r,a,s,u,f]);return(0,T.jsxs)(ot.Provider,{value:p,children:[c&&(0,T.jsx)(`div`,{role:`status`,style:{position:`fixed`,top:0,left:0,right:0,zIndex:1e3,padding:`5px 12px`,textAlign:`center`,fontSize:`var(--text-sm)`,color:`var(--status-error)`,background:`color-mix(in srgb, var(--status-error) 12%, var(--bg))`,borderBottom:`1px solid color-mix(in srgb, var(--status-error) 40%, transparent)`},children:t(`wsHealth.disconnected`)}),e]})}function lt(){let e=(0,d.useContext)(ot);if(!e)throw Error(`useNotificationLog must be used within NotificationLogProvider`);return e}var ut=`(max-width: 640px)`;function dt(e){if(typeof window>`u`||!window.matchMedia)return()=>{};let t=window.matchMedia(ut);return t.addEventListener(`change`,e),()=>t.removeEventListener(`change`,e)}function ft(){return typeof window>`u`||!window.matchMedia?!1:window.matchMedia(ut).matches}function pt(){return!1}function mt(){return(0,d.useSyncExternalStore)(dt,ft,pt)}var ht=null;function gt(e){ht=e}function _t(e){let{onNewSession:t,activeCwd:n}=e;(0,d.useEffect)(()=>{let e=e=>{if(e.key===`Escape`){if(!ht)return;let t=e.target?.tagName;if(t===`TEXTAREA`||t===`INPUT`)return;e.preventDefault(),ht();return}if(e.key===`n`&&e.ctrlKey&&e.altKey){if(!n||!t)return;e.preventDefault(),t(n)}};return window.addEventListener(`keydown`,e),()=>window.removeEventListener(`keydown`,e)},[n,t])}function vt(){let[e,t]=(0,d.useState)(()=>typeof Notification>`u`?`unsupported`:Notification.permission);return(0,d.useEffect)(()=>{if(typeof Notification>`u`)return;let e=!1,n,r=()=>{e||t(Notification.permission)};return typeof navigator.permissions?.query==`function`&&navigator.permissions.query({name:`notifications`}).then(t=>{e||(n=t,r(),t.addEventListener(`change`,r))}).catch(()=>{}),()=>{e=!0,n?.removeEventListener(`change`,r)}},[]),e}function yt(e){let{fetcher:t,ttlMs:n=6e4}=e,r=null,i=null,a=0,o=null,s=new Set,c=()=>{for(let e of[...s])try{e()}catch{}},l=async e=>{try{let o=await t(e);return r=o,i=null,a=Date.now()+n,o}catch(e){throw i=e instanceof Error?e.message:String(e),e}finally{o=null}},u=e=>(o||=l(e).then(e=>(c(),e)),o),d=(e,t)=>new Promise((n,r)=>{if(e.aborted){r(new DOMException(`Aborted`,`AbortError`));return}let i=()=>r(new DOMException(`Aborted`,`AbortError`));e.addEventListener(`abort`,i,{once:!0}),t.then(n,r).finally(()=>e.removeEventListener(`abort`,i))});return{get:()=>r,getError:()=>i,load:e=>{if(r!==null&&Date.now()<a)return Promise.resolve(r);let t=u(!1);return e?d(e,t):t},refresh:e=>{a=0;let t=u(!0);return e?d(e,t):t},subscribe:e=>(s.add(e),()=>s.delete(e)),clear:()=>{r=null,i=null,a=0}}}async function bt(e,t){let n=await fetch(e,t);if(!n.ok)throw Error(`HTTP ${n.status}`);return await n.json()}function xt(){return`/api/sessions`}var St=yt({fetcher:()=>bt(`/api/models`)}),Ct=yt({fetcher:()=>bt(xt(),{cache:`no-store`})}),wt=yt({fetcher:()=>bt(`/api/preferences`)}),Tt=yt({fetcher:()=>bt(`/api/models-config`)}),Et=yt({fetcher:()=>bt(`/api/plugins/global`)}),Dt=null;function Ot(e){Dt=e}var kt=yt({fetcher:e=>{let t=Dt?`?cwd=${encodeURIComponent(Dt)}`:``;return bt(`/api/updates${t}${t?`&`:`?`}refresh=${e?`1`:`0`}`)}}),At=null;function jt(e){At=e}var Mt=yt({fetcher:()=>bt(`/api/mcp${At?`?cwd=${encodeURIComponent(At)}`:``}`)}),Nt=yt({fetcher:e=>bt(`/api/skills/global`,e?{cache:`no-store`}:void 0)}),Pt=yt({fetcher:e=>bt(`/api/commands/global`,e?{cache:`no-store`}:void 0)}),Ft=yt({fetcher:()=>bt(`/api/model-thinking`)}),It=yt({fetcher:async()=>{let[e,t]=await Promise.all([bt(`/api/auth/providers`),bt(`/api/auth/all-providers`)]);return{oauth:e.providers,apiKey:t.providers}}});function Lt(){return`/api/preferences`}var Rt=new Map,zt=2e3;function Bt(e,t){let n=JSON.stringify(e),r=Date.now(),i=Rt.get(n);if(i!==void 0&&r-i<zt)return;Rt.set(n,r);let a=t?.keepalive===!0,o=fetch(Lt(),{method:`PUT`,headers:{"Content-Type":`application/json`},keepalive:a,body:n}).catch(e=>console.error(`[pi-web] save preferences:`,e));a||o.finally(()=>{wt.refresh().catch(e=>console.error(`[pi-web] refresh preferences:`,e))})}function Vt(){let[e,t]=(0,d.useState)(()=>wt.get()?.defaultThinkingLevel??``);(0,d.useEffect)(()=>wt.subscribe(()=>t(wt.get()?.defaultThinkingLevel??``)),[]),(0,d.useEffect)(()=>{e&&Bt({firstPaint:{defaultThinkingLevel:e}})},[e]);let n=(0,d.useSyncExternalStore)(wt.subscribe,()=>wt.get()?.compaction??null),r=(0,d.useMemo)(()=>JSON.stringify(n),[n]);(0,d.useEffect)(()=>{r&&Bt({firstPaint:{compaction:wt.get()?.compaction??null}})},[r]);let i=(0,d.useSyncExternalStore)(wt.subscribe,()=>wt.get()?.retry??null),a=(0,d.useMemo)(()=>JSON.stringify(i),[i]);(0,d.useEffect)(()=>{a&&Bt({firstPaint:{retry:wt.get()?.retry??null}})},[a]);let[o,s]=(0,d.useState)(()=>wt.get()?.defaultProjectTrust??``);return(0,d.useEffect)(()=>wt.subscribe(()=>s(wt.get()?.defaultProjectTrust??``)),[]),(0,d.useEffect)(()=>{o&&Bt({firstPaint:{defaultProjectTrust:o}})},[o]),{defaultThinkingLevel:e,setDefaultThinkingLevel:t,compaction:n,retry:i,defaultProjectTrust:o,setDefaultProjectTrust:s}}var Ht=`pi-web-auto-reload-seconds`,Ut=3600;function Wt(e){let t=e.trim();if(t===``)return null;let n=Number(t);return!Number.isInteger(n)||n<0||n>3600?null:n}function Gt(){if(typeof window>`u`)return 0;let e=window.localStorage.getItem(Ht);if(e===null)return 0;let t=Wt(e);return t===null?0:t}var Kt=`pi-web-long-block-recent-expanded`;function qt(e){let t=e.trim();if(t===``)return null;let n=Number(t);return!Number.isFinite(n)||!Number.isInteger(n)||n<0||n>20?null:n}function Jt(){if(typeof window>`u`)return 0;try{return qt(window.localStorage.getItem(`pi-web-long-block-recent-expanded`)??``)??0}catch{return 0}}function Yt(e,t,n,r){return e===`toolCall`?`tool:${n}`:`thinking:${t}:${r}`}var Xt=`pi-web-notify-events`,Zt={taskComplete:!0,errors:!0,questions:!0,notifyWhileActive:!1};function Qt(){if(typeof window>`u`)return Zt;try{let e=window.localStorage.getItem(Xt);if(!e)return Zt;let t=JSON.parse(e);return{taskComplete:t.taskComplete??Zt.taskComplete,errors:t.errors??Zt.errors,questions:t.questions??Zt.questions,notifyWhileActive:t.notifyWhileActive??Zt.notifyWhileActive}}catch{return Zt}}function $t(e){window.localStorage.setItem(Xt,JSON.stringify(e))}var en=`pluginConfigBindings`;function tn(){if(typeof window>`u`)return{};try{let e=window.localStorage.getItem(en);if(!e)return{};let t=JSON.parse(e);if(t&&typeof t==`object`)return t}catch{}return{}}var nn=1e3,rn=`pi-web-scroll-step-px`;function an(e){let t=e.trim();if(t===``)return null;let n=Number(t);return!Number.isFinite(n)||!Number.isInteger(n)||n<1||n>1e3?null:n}function on(){if(typeof window>`u`)return 200;try{return an(window.localStorage.getItem(`pi-web-scroll-step-px`)??``)??200}catch{return 200}}var sn=`pi-web-font-scale`,cn=1,ln=19.2;function un(){let[e,t]=(0,d.useState)(()=>{if(typeof window>`u`)return cn;let e=window.localStorage.getItem(sn),t=e===null?NaN:Number(e);return Number.isFinite(t)&&t>=.85&&t<=1.3?t:cn}),[n,r]=(0,d.useState)(()=>on()),[i,a]=(0,d.useState)(()=>Gt()),[o,s]=(0,d.useState)(()=>Jt()),[c,l]=(0,d.useState)(()=>Qt());(0,d.useEffect)(()=>{$t(c),Bt({preferences:{notifyEvents:c}})},[c]);let[u,f]=(0,d.useState)(()=>tn()),p=(0,d.useCallback)((e,t)=>{f(n=>{let r=n[e]??[];return r.some(e=>e.path===t.path)?n:{...n,[e]:[...r,t]}})},[]),m=(0,d.useCallback)((e,t)=>{f(n=>{let r=n[e];if(!r)return n;let i=r.filter(e=>e.path!==t),a={...n};return i.length===0?delete a[e]:a[e]=i,a})},[]);return(0,d.useEffect)(()=>{try{window.localStorage.setItem(en,JSON.stringify(u))}catch{}Bt({preferences:{pluginConfigBindings:u}})},[u]),(0,d.useEffect)(()=>{try{window.localStorage.setItem(Ht,String(i))}catch{}Bt({preferences:{autoReloadSeconds:i}})},[i]),(0,d.useEffect)(()=>{try{window.localStorage.setItem(rn,String(n))}catch{}Bt({preferences:{minimapScrollStepPx:n}})},[n]),(0,d.useEffect)(()=>{try{window.localStorage.setItem(Kt,String(o))}catch{}Bt({preferences:{recentBlocksExpanded:o}})},[o]),(0,d.useEffect)(()=>{document.documentElement.style.fontSize=`${e*ln}px`;try{window.localStorage.setItem(sn,String(e))}catch{}Bt({firstPaint:{fontScale:e}})},[e]),{fontScale:e,setFontScale:t,scrollStepPx:n,setScrollStepPx:r,autoReloadSeconds:i,setAutoReloadSeconds:a,recentBlocksExpanded:o,setRecentBlocksExpanded:s,notifyEvents:c,setNotifyEvents:l,pluginConfigBindings:u,addPluginConfigBinding:p,removePluginConfigBinding:m}}var dn=[{label:{en:`Explore project`,"zh-CN":`阅读项目`},message:{en:`Explore the current project and summarize the overall directory structure and responsibilities of core modules.`,"zh-CN":`阅读当前项目,总结整体目录结构与核心模块的职责。`}},{label:{en:`Review workspace changes`,"zh-CN":`审查工作区改动`},message:{en:`Review all changes in the current workspace, point out potential issues and improvements.`,"zh-CN":`审查当前工作区的所有改动,指出潜在问题与改进点。`}},{label:{en:`Find and fix bugs`,"zh-CN":`寻找并修复bug`},message:{en:`Inspect the current codebase, find and fix existing bugs.`,"zh-CN":`检查当前代码,寻找并修复其中存在的 bug。`}}];function fn(e,t){return typeof e==`string`?e:t===`zh-CN`?e[`zh-CN`]??e.zh??e.en??``:e.en??e[`zh-CN`]??e.zh??``}function pn(e){let t=e.trim();return{en:t,"zh-CN":t}}function mn(e,t,n){let r=t.trim();if(typeof e==`string`){let t=e.trim();return n===`zh-CN`?{en:t,"zh-CN":r}:{en:r,"zh-CN":t}}let i=typeof e.en==`string`?e.en:``,a=e[`zh-CN`]??e.zh??i;return n===`zh-CN`?{en:i,"zh-CN":r}:{en:r,"zh-CN":a}}function hn(e,t){let n=fn(e,`en`),r=fn(e,`zh-CN`),i=fn(t,`en`),a=fn(t,`zh-CN`);return n===i||r===a}var gn={阅读项目:{en:`Explore project`,"zh-CN":`阅读项目`},review工作区改动:{en:`Review workspace changes`,"zh-CN":`review工作区改动`},寻找并修复bug:{en:`Find and fix bugs`,"zh-CN":`寻找并修复bug`},"阅读当前项目,总结整体目录结构与核心模块的职责。":{en:`Explore the current project and summarize the overall directory structure and responsibilities of core modules.`,"zh-CN":`阅读当前项目,总结整体目录结构与核心模块的职责。`},"review 当前工作区的所有改动,指出潜在问题与改进点。":{en:`Review all changes in the current workspace, point out potential issues and improvements.`,"zh-CN":`review 当前工作区的所有改动,指出潜在问题与改进点。`},"检查当前代码,寻找并修复其中存在的 bug。":{en:`Inspect the current codebase, find and fix existing bugs.`,"zh-CN":`检查当前代码,寻找并修复其中存在的 bug。`}};function _n(e){if(typeof e==`string`){let t=e.trim();return t===``?null:gn[t]??pn(t)}if(typeof e==`object`&&e){let t=e,n=t.en,r=t[`zh-CN`]??t.zh,i=typeof n==`string`?n.trim():``,a=typeof r==`string`?r.trim():``;return i===``&&a===``?null:{en:i===``?a:i,"zh-CN":a===``?i:a}}return null}function vn(e){if(!Array.isArray(e))return null;let t=[];for(let n of e){if(typeof n!=`object`||!n)continue;let{label:e,message:r,allowAppend:i}=n,a=_n(e),o=_n(r);if(!a||!o)continue;let s={label:a,message:o};i===!0&&(s.allowAppend=!0),t.push(s)}return t}function yn(e){if(typeof e!=`object`||!e||Array.isArray(e))return null;let t={};for(let[n,r]of Object.entries(e)){if(typeof n!=`string`||n===``)continue;let e=vn(r);e&&e.length>0&&(t[n]=e)}return t}function bn({put:e}){let[t,n]=(0,d.useState)(()=>vn(wt.get()?.preferences?.startScreenMessages)??dn),r=(0,d.useCallback)(e=>{if(t.some(t=>hn(t.label,e.label))){let t=typeof e.label==`string`?e.label:e.label?.en??e.label[`zh-CN`]??JSON.stringify(e.label);throw Error(`Name conflict: "${t}"`)}n(t=>[...t,e])},[t]),i=(0,d.useCallback)(e=>{n(t=>e<0||e>=t.length?t:t.filter((t,n)=>n!==e))},[]),a=(0,d.useCallback)((e,r)=>{if(t.some((t,n)=>n!==e&&hn(t.label,r.label))){let e=typeof r.label==`string`?r.label:r.label?.en??r.label[`zh-CN`]??JSON.stringify(r.label);throw Error(`Name conflict: "${e}"`)}n(t=>{if(e<0||e>=t.length)return t;let n=[...t];return n[e]=r,n})},[t]),o=(0,d.useCallback)(()=>{n(e=>{let t=e.filter(e=>!dn.some(t=>hn(t.label,e.label)));return[...dn,...t]})},[]);return(0,d.useEffect)(()=>wt.subscribe(()=>n(vn(wt.get()?.preferences?.startScreenMessages)??dn)),[]),(0,d.useEffect)(()=>{e({preferences:{startScreenMessages:t}})},[t,e]),{startScreenMessages:t,addStartScreenMessage:r,removeStartScreenMessage:i,updateStartScreenMessage:a,resetStartScreenMessages:o}}var xn=new Set;function Sn(){for(let e of[...xn])e()}function Cn(){document.visibilityState===`hidden`&&Sn()}function wn(e){return typeof window>`u`?()=>{}:(xn.size===0&&(window.addEventListener(`pagehide`,Sn),document.addEventListener(`visibilitychange`,Cn)),xn.add(e),()=>{xn.delete(e),xn.size===0&&(window.removeEventListener(`pagehide`,Sn),document.removeEventListener(`visibilitychange`,Cn))})}function Tn(e){return typeof e==`number`&&Number.isFinite(e)}function En(e){if(typeof e!=`object`||!e)return null;let{x:t,y:n,width:r,height:i,collapsed:a}=e;return!Tn(t)||!Tn(n)||!Tn(r)||r<=0||!Tn(i)||i<=0?null:{x:t,y:n,width:r,height:i,collapsed:typeof a==`boolean`?a:void 0}}function Dn(e){if(typeof e!=`object`||!e||Array.isArray(e))return null;let t={};for(let[n,r]of Object.entries(e)){if(typeof n!=`string`||n===``)continue;let e=En(r);e&&(t[n]=e)}return t}function On(e){return Array.isArray(e)?e.filter(e=>typeof e==`string`):[]}function kn({put:e}){let[t,n]=(0,d.useState)(()=>Dn(wt.get()?.preferences?.widgets)??{}),r=(0,d.useRef)(!1),[i,a]=(0,d.useState)(()=>yn(wt.get()?.preferences?.widgetMessages)??{}),[o,s]=(0,d.useState)(()=>On(wt.get()?.preferences?.workspaces));(0,d.useEffect)(()=>{let e=!1;return wt.load().then(()=>{if(e)return;r.current=!0;let t=wt.get()?.preferences;n(Dn(t?.widgets)??{}),a(yn(t?.widgetMessages)??{}),s(On(t?.workspaces))}).catch(()=>{r.current=!0}),()=>{e=!0}},[]);let c=(0,d.useCallback)((e,t)=>{n(n=>{let r=n[e];return r&&r.x===t.x&&r.y===t.y&&r.width===t.width&&r.height===t.height&&r.collapsed===t.collapsed?n:{...n,[e]:t}})},[]),l=(0,d.useRef)(null);(0,d.useEffect)(()=>()=>{l.current!==null&&clearTimeout(l.current)},[]),(0,d.useEffect)(()=>{if(!r.current)return;l.current!==null&&clearTimeout(l.current);let n=n=>e({preferences:{widgets:t}},{keepalive:n});return l.current=window.setTimeout(()=>{l.current=null,n(!1)},500),wn(()=>{l.current!==null&&(clearTimeout(l.current),l.current=null,n(!0))})},[t,e]);let u=(0,d.useCallback)((e,t)=>{if((i[e]??[]).some(e=>hn(e.label,t.label))){let e=typeof t.label==`string`?t.label:t.label?.en??t.label[`zh-CN`]??JSON.stringify(t.label);throw Error(`Name conflict: "${e}"`)}a(n=>({...n,[e]:[...n[e]??[],t]}))},[i,a]),f=(0,d.useCallback)((e,t)=>{a(n=>{let r=n[e];if(!r||t<0||t>=r.length)return n;let i={...n},a=r.filter((e,n)=>n!==t);return a.length===0?delete i[e]:i[e]=a,i})},[a]),p=(0,d.useCallback)((e,t,n)=>{if((i[e]??[]).some((e,r)=>r!==t&&hn(e.label,n.label))){let e=typeof n.label==`string`?n.label:n.label?.en??n.label[`zh-CN`]??JSON.stringify(n.label);throw Error(`Name conflict: "${e}"`)}a(r=>{let i=r[e];if(!i||t<0||t>=i.length)return r;let a={...r},o=[...i];return o[t]=n,a[e]=o,a})},[i,a]);return(0,d.useEffect)(()=>{r.current&&e({preferences:{widgetMessages:i}})},[i,e]),{widgetGeometries:t,widgetMessages:i,savedWorkspaces:o,setWidgetGeometry:c,addWidgetMessage:u,removeWidgetMessage:f,updateWidgetMessage:p,handleSavedWorkspacesChange:(0,d.useCallback)(t=>{s(t),e({preferences:{workspaces:t}})},[s,e])}}function An({isDark:e,toggleTheme:t}){let{fontScale:n,setFontScale:r,scrollStepPx:i,setScrollStepPx:a,autoReloadSeconds:o,setAutoReloadSeconds:s,recentBlocksExpanded:c,setRecentBlocksExpanded:l,notifyEvents:u,setNotifyEvents:f,pluginConfigBindings:p,addPluginConfigBinding:m,removePluginConfigBinding:h}=un(),{widgetGeometries:g,widgetMessages:_,savedWorkspaces:v,setWidgetGeometry:y,addWidgetMessage:b,removeWidgetMessage:x,updateWidgetMessage:S,handleSavedWorkspacesChange:C}=kn({put:Bt}),{startScreenMessages:w,addStartScreenMessage:T,removeStartScreenMessage:E,updateStartScreenMessage:D,resetStartScreenMessages:O}=bn({put:Bt}),{defaultThinkingLevel:k,setDefaultThinkingLevel:A,compaction:j,retry:M,defaultProjectTrust:N,setDefaultProjectTrust:ee}=Vt();return wt.load().catch(e=>console.error(`[pi-web] load preferences:`,e)),{settingsValue:(0,d.useMemo)(()=>({isDark:e,toggleTheme:t,fontScale:n,setFontScale:r,scrollStepPx:i,setScrollStepPx:a,autoReloadSeconds:o,setAutoReloadSeconds:s,recentBlocksExpanded:c,setRecentBlocksExpanded:l,notifyEvents:u,setNotifyEvents:f,widgetGeometries:g,setWidgetGeometry:y,widgetMessages:_,addWidgetMessage:b,removeWidgetMessage:x,updateWidgetMessage:S,startScreenMessages:w,addStartScreenMessage:T,removeStartScreenMessage:E,updateStartScreenMessage:D,resetStartScreenMessages:O,pluginConfigBindings:p,addPluginConfigBinding:m,removePluginConfigBinding:h}),[e,t,n,i,o,c,u,g,y,_,b,x,S,w,T,E,D,O,p,m,h,s,r,f,l,a]),defaultThinkingLevel:k,setDefaultThinkingLevel:A,compaction:j,retry:M,defaultProjectTrust:N,setDefaultProjectTrust:ee,savedWorkspaces:v,handleSavedWorkspacesChange:C,widgetGeometries:g,setWidgetGeometry:y,widgetMessages:_,addWidgetMessage:b,removeWidgetMessage:x,updateWidgetMessage:S,fontScale:n,setFontScale:r}}function jn({projectTrustCwd:e,onTrusted:t}){let[n,r]=(0,d.useState)(null),[i,a]=(0,d.useState)(!1),[o,s]=(0,d.useState)(!1),[c,l]=(0,d.useState)(null);return(0,d.useEffect)(()=>{if(r(null),a(!1),l(null),!e)return;let t=new AbortController,n=new URLSearchParams(window.location.search).get(`piE2eTrustCwd`);return fetch(`/api/project-trust?cwd=${encodeURIComponent(e)}${n?`&piE2eTrustCwd=${encodeURIComponent(n)}`:``}`,{signal:t.signal}).then(async e=>{let t=await e.json();if(!e.ok||t.error)throw Error(t.error??`HTTP ${e.status}`);r(t)}).catch(e=>{e instanceof DOMException&&e.name===`AbortError`||console.error(`Failed to load project trust:`,e)}),()=>t.abort()},[e]),{projectTrust:n,projectTrustDialogOpen:i,setProjectTrustDialogOpen:a,projectTrustBusy:o,projectTrustError:c,setProjectTrustError:l,handleTrustProject:(0,d.useCallback)(async()=>{if(!(!e||o)){s(!0),l(null);try{let n=await fetch(`/api/project-trust`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({cwd:e})}),i=await n.json();if(!n.ok||i.error)throw Error(i.error??`HTTP ${n.status}`);r(i),a(!1),t?.()}catch(e){l(e instanceof Error?e.message:String(e))}finally{s(!1)}}},[o,e,t])}}var Mn=class extends Error{constructor(e,t,n){super(e),this.name=`ApiError`,this.status=t,this.body=n}},Nn=[],Pn=1,Fn=new Set;function In(){for(let e of Fn)e()}function Ln(e){return Fn.add(e),()=>{Fn.delete(e)}}function Rn(){return Nn}function zn(e){let t={id:Pn++,label:e??``};Nn=[...Nn,t],In();let n=!1;return()=>{n||(n=!0,Nn=Nn.filter(e=>e.id!==t.id),In())}}var Bn=new WeakMap;function Vn(e){if(!e.isConnected)return()=>{};let t=Bn.get(e);if(!t){let n=document.createElement(`div`);n.style.cssText=`position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:color-mix(in srgb, var(--bg) 50%, transparent);z-index:5;`,n.innerHTML=`<div style="width:16px;height:16px;border:2px solid var(--border);border-top-color:var(--text-dim);border-radius:50%;animation:spin 0.8s linear infinite;"></div>`;let r=null;getComputedStyle(e).position===`static`&&(r=e.style.position,e.style.position=`relative`),e.appendChild(n),t={count:0,el:n,prevPosition:r},Bn.set(e,t)}t.count++;let n=!1;return()=>{n||(n=!0,t.count--,t.count<=0&&(t.el.remove(),t.prevPosition!==null&&(t.prevPosition?e.style.position=t.prevPosition:e.style.removeProperty(`position`)),Bn.delete(e)))}}async function Hn(e){try{return await e.json()}catch{return null}}function Un(e,t){return e===`fullscreen`?zn(t):e instanceof HTMLElement?Vn(e):null}function Wn(e,t){return e instanceof Error?e.message:t}function Gn(e,t){return e&&typeof e==`object`&&`error`in e&&typeof e.error==`string`?e.error:`HTTP ${t}`}async function Kn(e,t,n){let r=Un(n?.loading??`fullscreen`,n?.label);try{let n;try{n=await fetch(e,t)}catch(e){throw new Mn(Wn(e,`Network error`),0)}if(!n.ok){let e=await Hn(n);throw new Mn(Gn(e,n.status),n.status,e)}let r=await n.text();return r?JSON.parse(r):void 0}catch(e){throw e instanceof Mn?e:new Mn(Wn(e,String(e)),0)}finally{r?.()}}var qn=e=>window.history.replaceState(null,``,e);function Jn(e){let{selectedSession:t,setSelectedSession:n,setNewSessionCwd:r,setSessionKey:i,setRefreshKey:a,hydrateSelectedSession:o,extensionDialogActiveRef:s,suppressCwdBumpRef:c,setInitialSessionRestored:l,onSessionSelected:u,onTopPanelReset:f}=e,p=(0,d.useCallback)((e,t=!1)=>{!t&&s.current||(r(null),n(e),i(e=>e+1),l(!0),t&&(c.current=!0),t||qn(`?session=${encodeURIComponent(e.id)}`),u?.(t))},[s,c,r,n,i,l,u]),m=(0,d.useCallback)(async(e,t)=>{await Kn(`/api/cwd/validate`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({cwd:t})},{loading:`silent`}),n(null),r(t),i(e=>e+1),f?.(),u?.(!1),qn(`/`)},[u,f,r,n,i]),h=(0,d.useCallback)(e=>{r(null),n(e),a(e=>e+1),o(e.id),qn(`?session=${encodeURIComponent(e.id)}`)},[o,r,a,n]),g=(0,d.useCallback)(()=>{l(!0)},[l]);return{handleSelectSession:p,handleNewSession:m,handleSessionCreated:h,handleSessionForked:(0,d.useCallback)(e=>{a(e=>e+1),i(e=>e+1),r(null),n(t=>({...t??{path:``,cwd:``,created:``,modified:``,messageCount:0,firstMessage:``},id:e})),o(e),qn(`?session=${encodeURIComponent(e)}`)},[o,r,a,n,i]),handleSessionDeleted:(0,d.useCallback)(e=>{if(a(e=>e+1),t?.id===e){let e=t.cwd;n(null),r(e??null),i(e=>e+1),f?.(),qn(`/`)}},[t,f,r,a,n,i]),handleInitialRestoreDone:g}}function Yn(){let[e,t]=(0,d.useState)(0),[n,r]=(0,d.useState)(0),[i,a]=(0,d.useState)(0),[o,s]=(0,d.useState)(0);return{refreshKey:e,setRefreshKey:t,sessionKey:n,setSessionKey:r,explorerRefreshKey:i,setExplorerRefreshKey:a,modelsRefreshKey:o,setModelsRefreshKey:s,handleAgentEnd:(0,d.useCallback)(()=>{t(e=>e+1),a(e=>e+1)},[]),handleExplorerRefresh:(0,d.useCallback)(()=>{a(e=>e+1)},[])}}var Xn=e=>window.history.replaceState(null,``,e);function Zn({initialNavigation:e,onProjectSwitch:t,onSessionSelected:n,onTopPanelReset:r}){let[i,a]=(0,d.useState)(null),[o,s]=(0,d.useState)(null),[c,l]=(0,d.useState)(()=>e.requestedCwd?`validating`:`idle`),[u,f]=(0,d.useState)(null),{refreshKey:p,setRefreshKey:m,sessionKey:h,setSessionKey:g,explorerRefreshKey:_,setExplorerRefreshKey:v,modelsRefreshKey:y,setModelsRefreshKey:b,handleAgentEnd:x,handleExplorerRefresh:S}=Yn(),[C,w]=(0,d.useState)(()=>!e.sessionId),[T,E]=(0,d.useState)(null),D=(0,d.useRef)(null),O=(0,d.useRef)(!1),k=(0,d.useRef)(!1);(0,d.useEffect)(()=>{let t=e.requestedCwd;if(!t)return;let n=new AbortController;return l(`validating`),f(null),fetch(`/api/cwd/validate`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({cwd:t}),signal:n.signal}).then(async e=>{let t=await e.json().catch(()=>({}));if(!e.ok||!t.cwd)throw Error(t.error??`HTTP ${e.status}`);O.current=!0,s(t.cwd),l(`ready`)}).catch(e=>{n.signal.aborted||(f(e instanceof Error?e.message:String(e)),l(`error`))}),()=>n.abort()},[e]);let A=o??(i===null&&T?T:null),j=i!==null||A!==null,M=i?.cwd??A,{projectTrust:N,projectTrustDialogOpen:ee,setProjectTrustDialogOpen:te,projectTrustBusy:P,projectTrustError:ne,setProjectTrustError:re,handleTrustProject:ie}=jn({projectTrustCwd:M,onTrusted:()=>{b(e=>e+1),g(e=>e+1)}}),{handleSelectSession:ae,handleNewSession:oe,handleSessionCreated:se,handleSessionForked:ce,handleSessionDeleted:le,handleInitialRestoreDone:ue}=Jn({selectedSession:i,setSelectedSession:a,setNewSessionCwd:s,setSessionKey:g,setRefreshKey:m,hydrateSelectedSession:(0,d.useCallback)(e=>{Ct.load().then(t=>{let n=t.sessions.find(t=>t.id===e);n&&a(t=>t&&t.id===e&&!t.projectRoot?n:t)}).catch(e=>console.error(`[pi-web] hydrate session:`,e))},[]),extensionDialogActiveRef:k,suppressCwdBumpRef:O,setInitialSessionRestored:w,onSessionSelected:n,onTopPanelReset:r});return{selectedSession:i,setSelectedSession:a,newSessionCwd:o,effectiveNewSessionCwd:A,showChat:j,projectTrustCwd:M,refreshKey:p,setRefreshKey:m,explorerRefreshKey:_,setExplorerRefreshKey:v,modelsRefreshKey:y,setModelsRefreshKey:b,sessionKey:h,activeCwd:T,initialCwdStatus:c,initialCwdError:u,initialSessionRestored:C,projectTrust:N,projectTrustDialogOpen:ee,setProjectTrustDialogOpen:te,projectTrustBusy:P,projectTrustError:ne,setProjectTrustError:re,extensionDialogActiveRef:k,handleSelectSession:ae,handleNewSession:oe,handleSessionCreated:se,handleAgentEnd:x,handleSessionForked:ce,handleSessionDeleted:le,handleSessionUnseen:(0,d.useCallback)(e=>{i?.id===e&&(a(null),g(e=>e+1),r?.(),Xn(`/`))},[i,r,g]),handleCwdChange:(0,d.useCallback)((e,n)=>{if(E(e),!e)return;let r=n??e,o=D.current??(i?i.projectRoot??i.cwd:null);if(!o){D.current=r;return}if(D.current=r,O.current){O.current=!1;return}o!==r&&(i?i.projectRoot??i.cwd:null)!==r&&(a(null),s(t=>t&&t!==e?null:t),g(e=>e+1),t?.())},[i,t,s,g,a]),handleTrustProject:ie,handleExplorerRefresh:S,handleInitialRestoreDone:ue}}var Qn=(0,d.createContext)(null);function $n({value:e,children:t}){return(0,T.jsx)(Qn.Provider,{value:e,children:t})}function er(){let e=(0,d.useContext)(Qn);if(!e)throw Error(`useSettings must be used within SettingsProvider`);return e}function tr(){return(0,d.useContext)(Qn)}var nr=(...e)=>e.filter((e,t,n)=>!!e&&e.trim()!==``&&n.indexOf(e)===t).join(` `).trim(),rr=e=>e.replace(/([a-z0-9])([A-Z])/g,`$1-$2`).toLowerCase(),ir=e=>e.replace(/^([A-Z])|[\s-_]+(\w)/g,(e,t,n)=>n?n.toUpperCase():t.toLowerCase()),ar=e=>{let t=ir(e);return t.charAt(0).toUpperCase()+t.slice(1)},or={xmlns:`http://www.w3.org/2000/svg`,width:24,height:24,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:2,strokeLinecap:`round`,strokeLinejoin:`round`},sr=e=>{for(let t in e)if(t.startsWith(`aria-`)||t===`role`||t===`title`)return!0;return!1},cr=(0,d.createContext)({}),lr=()=>(0,d.useContext)(cr),ur=(0,d.forwardRef)(({color:e,size:t,strokeWidth:n,absoluteStrokeWidth:r,className:i=``,children:a,iconNode:o,...s},c)=>{let{size:l=24,strokeWidth:u=2,absoluteStrokeWidth:f=!1,color:p=`currentColor`,className:m=``}=lr()??{},h=r??f?Number(n??u)*24/Number(t??l):n??u;return(0,d.createElement)(`svg`,{ref:c,...or,width:t??l??or.width,height:t??l??or.height,stroke:e??p,strokeWidth:h,className:nr(`lucide`,m,i),...!a&&!sr(s)&&{"aria-hidden":`true`},...s},[...o.map(([e,t])=>(0,d.createElement)(e,t)),...Array.isArray(a)?a:[a]])}),dr=(e,t)=>{let n=(0,d.forwardRef)(({className:n,...r},i)=>(0,d.createElement)(ur,{ref:i,iconNode:t,className:nr(`lucide-${rr(ar(e))}`,`lucide-${e}`,n),...r}));return n.displayName=ar(e),n},fr=dr(`arrow-down`,[[`path`,{d:`M12 5v14`,key:`s699le`}],[`path`,{d:`m19 12-7 7-7-7`,key:`1idqje`}]]),pr=dr(`arrow-up`,[[`path`,{d:`m5 12 7-7 7 7`,key:`hav0vg`}],[`path`,{d:`M12 19V5`,key:`x0mq9r`}]]),mr=dr(`check`,[[`path`,{d:`M20 6 9 17l-5-5`,key:`1gmf2c`}]]),hr=dr(`chevron-down`,[[`path`,{d:`m6 9 6 6 6-6`,key:`qrunsl`}]]),gr=dr(`chevron-right`,[[`path`,{d:`m9 18 6-6-6-6`,key:`mthhwq`}]]),_r=dr(`chevron-up`,[[`path`,{d:`m18 15-6-6-6 6`,key:`153udz`}]]),vr=dr(`circle-arrow-up`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`path`,{d:`m16 12-4-4-4 4`,key:`177agl`}],[`path`,{d:`M12 16V8`,key:`1sbj14`}]]),yr=dr(`circle-check`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`path`,{d:`m16 9-5.5 5.5L8 12`,key:`xofnsj`}]]),br=dr(`circle-question-mark`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`path`,{d:`M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3`,key:`1u773s`}],[`path`,{d:`M12 17h.01`,key:`p32p05`}]]),xr=dr(`circle-x`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`path`,{d:`m15 9-6 6`,key:`1uzhvr`}],[`path`,{d:`m9 9 6 6`,key:`z0biqf`}]]),Sr=dr(`clock`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`path`,{d:`M12 6v6l4 2`,key:`mmk7yg`}]]),Cr=dr(`cloud-download`,[[`path`,{d:`M12 13v8l-4-4`,key:`1f5nwf`}],[`path`,{d:`m12 21 4-4`,key:`1lfcce`}],[`path`,{d:`M4.393 15.269A7 7 0 1 1 15.71 8h1.79a4.5 4.5 0 0 1 2.436 8.284`,key:`ui1hmy`}]]),wr=dr(`cloud-upload`,[[`path`,{d:`M12 13v8`,key:`1l5pq0`}],[`path`,{d:`M4 14.899A7 7 0 1 1 15.71 8h1.79a4.5 4.5 0 0 1 2.5 8.242`,key:`1pljnt`}],[`path`,{d:`m8 17 4-4 4 4`,key:`1quai1`}]]),Tr=dr(`copy`,[[`rect`,{width:`14`,height:`14`,x:`8`,y:`8`,rx:`2`,ry:`2`,key:`17jyea`}],[`path`,{d:`M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2`,key:`zix9uf`}]]),Er=dr(`corner-up-left`,[[`path`,{d:`M20 20v-7a4 4 0 0 0-4-4H4`,key:`1nkjon`}],[`path`,{d:`M9 14 4 9l5-5`,key:`102s5s`}]]),Dr=dr(`cpu`,[[`path`,{d:`M12 20v2`,key:`1lh1kg`}],[`path`,{d:`M12 2v2`,key:`tus03m`}],[`path`,{d:`M17 20v2`,key:`1rnc9c`}],[`path`,{d:`M17 2v2`,key:`11trls`}],[`path`,{d:`M2 12h2`,key:`1t8f8n`}],[`path`,{d:`M2 17h2`,key:`7oei6x`}],[`path`,{d:`M2 7h2`,key:`asdhe0`}],[`path`,{d:`M20 12h2`,key:`1q8mjw`}],[`path`,{d:`M20 17h2`,key:`1fpfkl`}],[`path`,{d:`M20 7h2`,key:`1o8tra`}],[`path`,{d:`M7 20v2`,key:`4gnj0m`}],[`path`,{d:`M7 2v2`,key:`1i4yhu`}],[`rect`,{x:`4`,y:`4`,width:`16`,height:`16`,rx:`2`,key:`1vbyd7`}],[`rect`,{x:`8`,y:`8`,width:`8`,height:`8`,rx:`1`,key:`z9xiuo`}]]),Or=dr(`download`,[[`path`,{d:`M12 15V3`,key:`m9g1x1`}],[`path`,{d:`M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4`,key:`ih7n3h`}],[`path`,{d:`m7 10 5 5 5-5`,key:`brsn70`}]]),kr=dr(`ellipsis`,[[`circle`,{cx:`12`,cy:`12`,r:`1`,key:`41hilf`}],[`circle`,{cx:`19`,cy:`12`,r:`1`,key:`1wjl8i`}],[`circle`,{cx:`5`,cy:`12`,r:`1`,key:`1pcz8c`}]]),Ar=dr(`expand`,[[`path`,{d:`m15 15 6 6`,key:`1s409w`}],[`path`,{d:`m15 9 6-6`,key:`ko1vev`}],[`path`,{d:`M21 16v5h-5`,key:`1ck2sf`}],[`path`,{d:`M21 8V3h-5`,key:`1qoq8a`}],[`path`,{d:`M3 16v5h5`,key:`1t08am`}],[`path`,{d:`m3 21 6-6`,key:`wwnumi`}],[`path`,{d:`M3 8V3h5`,key:`1ln10m`}],[`path`,{d:`M9 9 3 3`,key:`v551iv`}]]),jr=dr(`eye`,[[`path`,{d:`M2.062 12.348a1 1 0 0 1 0-.696 10.75 10.75 0 0 1 19.876 0 1 1 0 0 1 0 .696 10.75 10.75 0 0 1-19.876 0`,key:`1nclc0`}],[`circle`,{cx:`12`,cy:`12`,r:`3`,key:`1v7zrd`}]]),Mr=dr(`eye-off`,[[`path`,{d:`M10.733 5.076a10.744 10.744 0 0 1 11.205 6.575 1 1 0 0 1 0 .696 10.747 10.747 0 0 1-1.444 2.49`,key:`ct8e1f`}],[`path`,{d:`M14.084 14.158a3 3 0 0 1-4.242-4.242`,key:`151rxh`}],[`path`,{d:`M17.479 17.499a10.75 10.75 0 0 1-15.417-5.151 1 1 0 0 1 0-.696 10.75 10.75 0 0 1 4.446-5.143`,key:`13bj9a`}],[`path`,{d:`m2 2 20 20`,key:`1ooewy`}]]),Nr=dr(`file-code-corner`,[[`path`,{d:`M4 12.15V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.706.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2h-3.35`,key:`1wthlu`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`,key:`wfsgrz`}],[`path`,{d:`m5 16-3 3 3 3`,key:`331omg`}],[`path`,{d:`m9 22 3-3-3-3`,key:`lsp7cz`}]]),Pr=dr(`file-diff`,[[`path`,{d:`M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z`,key:`1oefj6`}],[`path`,{d:`M9 10h6`,key:`9gxzsh`}],[`path`,{d:`M12 13V7`,key:`h0r20n`}],[`path`,{d:`M9 17h6`,key:`r8uit2`}]]),Fr=dr(`file-pen`,[[`path`,{d:`M12.659 22H18a2 2 0 0 0 2-2V8a2.4 2.4 0 0 0-.706-1.706l-3.588-3.588A2.4 2.4 0 0 0 14 2H6a2 2 0 0 0-2 2v9.34`,key:`o6klzx`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`,key:`wfsgrz`}],[`path`,{d:`M10.378 12.622a1 1 0 0 1 3 3.003L8.36 20.637a2 2 0 0 1-.854.506l-2.867.837a.5.5 0 0 1-.62-.62l.836-2.869a2 2 0 0 1 .506-.853z`,key:`zhnas1`}]]),Ir=dr(`file-text`,[[`path`,{d:`M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z`,key:`1oefj6`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`,key:`wfsgrz`}],[`path`,{d:`M10 9H8`,key:`b1mrlr`}],[`path`,{d:`M16 13H8`,key:`t4e002`}],[`path`,{d:`M16 17H8`,key:`z1uh3a`}]]),Lr=dr(`folder-plus`,[[`path`,{d:`M12 10v6`,key:`1bos4e`}],[`path`,{d:`M9 13h6`,key:`1uhe8q`}],[`path`,{d:`M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z`,key:`1kt360`}]]),Rr=dr(`folder`,[[`path`,{d:`M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z`,key:`1kt360`}]]),zr=dr(`git-branch`,[[`path`,{d:`M15 6a9 9 0 0 0-9 9V3`,key:`1cii5b`}],[`circle`,{cx:`18`,cy:`6`,r:`3`,key:`1h7g24`}],[`circle`,{cx:`6`,cy:`18`,r:`3`,key:`fqmcym`}]]),Br=dr(`git-commit-horizontal`,[[`circle`,{cx:`12`,cy:`12`,r:`3`,key:`1v7zrd`}],[`line`,{x1:`3`,x2:`9`,y1:`12`,y2:`12`,key:`1dyftd`}],[`line`,{x1:`15`,x2:`21`,y1:`12`,y2:`12`,key:`oup4p8`}]]),Vr=dr(`grip-vertical`,[[`circle`,{cx:`9`,cy:`12`,r:`1`,key:`1vctgf`}],[`circle`,{cx:`9`,cy:`5`,r:`1`,key:`hp0tcf`}],[`circle`,{cx:`9`,cy:`19`,r:`1`,key:`fkjjf6`}],[`circle`,{cx:`15`,cy:`12`,r:`1`,key:`1tmaij`}],[`circle`,{cx:`15`,cy:`5`,r:`1`,key:`19l28e`}],[`circle`,{cx:`15`,cy:`19`,r:`1`,key:`f4zoj3`}]]),Hr=dr(`hard-drive-upload`,[[`path`,{d:`m16 6-4-4-4 4`,key:`13yo43`}],[`path`,{d:`M12 2v8`,key:`1q4o3n`}],[`rect`,{width:`20`,height:`8`,x:`2`,y:`14`,rx:`2`,key:`w68u3i`}],[`path`,{d:`M6 18h.01`,key:`uhywen`}],[`path`,{d:`M10 18h.01`,key:`h775k`}]]),Ur=dr(`hourglass`,[[`path`,{d:`M5 22h14`,key:`ehvnwv`}],[`path`,{d:`M5 2h14`,key:`pdyrp9`}],[`path`,{d:`M17 22v-4.172a2 2 0 0 0-.586-1.414L12 12l-4.414 4.414A2 2 0 0 0 7 17.828V22`,key:`1d314k`}],[`path`,{d:`M7 2v4.172a2 2 0 0 0 .586 1.414L12 12l4.414-4.414A2 2 0 0 0 17 6.172V2`,key:`1vvvr6`}]]),Wr=dr(`image`,[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`,ry:`2`,key:`1m3agn`}],[`circle`,{cx:`9`,cy:`9`,r:`2`,key:`af1f0g`}],[`path`,{d:`m21 15-3.086-3.086a2 2 0 0 0-2.828 0L6 21`,key:`1xmnt7`}]]),Gr=dr(`inbox`,[[`polyline`,{points:`22 12 16 12 14 15 10 15 8 12 2 12`,key:`o97t9d`}],[`path`,{d:`M5.45 5.11 2 12v6a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-6l-3.45-6.89A2 2 0 0 0 16.76 4H7.24a2 2 0 0 0-1.79 1.11z`,key:`oot6mr`}]]),Kr=dr(`info`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`path`,{d:`M12 16v-4`,key:`1dtifu`}],[`path`,{d:`M12 8h.01`,key:`e9boi3`}]]),qr=dr(`languages`,[[`path`,{d:`m5 8 6 6`,key:`1wu5hv`}],[`path`,{d:`m4 14 6-6 2-3`,key:`1k1g8d`}],[`path`,{d:`M2 5h12`,key:`or177f`}],[`path`,{d:`M7 2h1`,key:`1t2jsx`}],[`path`,{d:`m22 22-5-10-5 10`,key:`don7ne`}],[`path`,{d:`M14 18h6`,key:`1m8k6r`}]]),Jr=dr(`lightbulb`,[[`path`,{d:`M15 14c.2-1 .7-1.7 1.5-2.5 1-.9 1.5-2.2 1.5-3.5A6 6 0 0 0 6 8c0 1 .2 2.2 1.5 3.5.7.7 1.3 1.5 1.5 2.5`,key:`1gvzjb`}],[`path`,{d:`M9 18h6`,key:`x1upvd`}],[`path`,{d:`M10 22h4`,key:`ceow96`}]]),Yr=dr(`link-2`,[[`path`,{d:`M9 17H7A5 5 0 0 1 7 7h2`,key:`8i5ue5`}],[`path`,{d:`M15 7h2a5 5 0 1 1 0 10h-2`,key:`1b9ql8`}],[`line`,{x1:`8`,x2:`16`,y1:`12`,y2:`12`,key:`1jonct`}]]),Xr=dr(`list-end`,[[`path`,{d:`M16 5H3`,key:`m91uny`}],[`path`,{d:`M16 12H3`,key:`1a2rj7`}],[`path`,{d:`M9 19H3`,key:`s61nz1`}],[`path`,{d:`m16 16-3 3 3 3`,key:`117b85`}],[`path`,{d:`M21 5v12a2 2 0 0 1-2 2h-6`,key:`hey24a`}]]),Zr=dr(`list-tree`,[[`path`,{d:`M8 5h13`,key:`1pao27`}],[`path`,{d:`M13 12h8`,key:`h98zly`}],[`path`,{d:`M13 19h8`,key:`c3s6r1`}],[`path`,{d:`M3 10a2 2 0 0 0 2 2h3`,key:`1npucw`}],[`path`,{d:`M3 5v12a2 2 0 0 0 2 2h3`,key:`x1gjn2`}]]),Qr=dr(`loader-circle`,[[`path`,{d:`M21 12a9 9 0 1 1-6.219-8.56`,key:`13zald`}]]),$r=dr(`maximize-2`,[[`path`,{d:`M15 3h6v6`,key:`1q9fwt`}],[`path`,{d:`m21 3-7 7`,key:`1l2asr`}],[`path`,{d:`m3 21 7-7`,key:`tjx5ai`}],[`path`,{d:`M9 21H3v-6`,key:`wtvkvv`}]]),ei=dr(`message-square-plus`,[[`path`,{d:`M22 17a2 2 0 0 1-2 2H6.828a2 2 0 0 0-1.414.586l-2.202 2.202A.71.71 0 0 1 2 21.286V5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2z`,key:`18887p`}],[`path`,{d:`M12 8v6`,key:`1ib9pf`}],[`path`,{d:`M9 11h6`,key:`1fldmi`}]]),ti=dr(`message-square`,[[`path`,{d:`M22 17a2 2 0 0 1-2 2H6.828a2 2 0 0 0-1.414.586l-2.202 2.202A.71.71 0 0 1 2 21.286V5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2z`,key:`18887p`}]]),ni=dr(`messages-square`,[[`path`,{d:`M16 10a2 2 0 0 1-2 2H6.828a2 2 0 0 0-1.414.586l-2.202 2.202A.71.71 0 0 1 2 14.286V4a2 2 0 0 1 2-2h10a2 2 0 0 1 2 2z`,key:`1n2ejm`}],[`path`,{d:`M20 9a2 2 0 0 1 2 2v10.286a.71.71 0 0 1-1.212.502l-2.202-2.202A2 2 0 0 0 17.172 19H10a2 2 0 0 1-2-2v-1`,key:`1qfcsi`}]]),ri=dr(`minus`,[[`path`,{d:`M5 12h14`,key:`1ays0h`}]]),ii=dr(`palette`,[[`path`,{d:`M12 22a1 1 0 0 1 0-20 10 9 0 0 1 10 9 5 5 0 0 1-5 5h-2.25a1.75 1.75 0 0 0-1.4 2.8l.3.4a1.75 1.75 0 0 1-1.4 2.8z`,key:`e79jfc`}],[`circle`,{cx:`13.5`,cy:`6.5`,r:`.5`,fill:`currentColor`,key:`1okk4w`}],[`circle`,{cx:`17.5`,cy:`10.5`,r:`.5`,fill:`currentColor`,key:`f64h9f`}],[`circle`,{cx:`6.5`,cy:`12.5`,r:`.5`,fill:`currentColor`,key:`qy21gx`}],[`circle`,{cx:`8.5`,cy:`7.5`,r:`.5`,fill:`currentColor`,key:`fotxhn`}]]),ai=dr(`pencil`,[[`path`,{d:`M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z`,key:`1a8usu`}],[`path`,{d:`m15 5 4 4`,key:`1mk7zo`}]]),oi=dr(`play`,[[`path`,{d:`M5 5a2 2 0 0 1 3.008-1.728l11.997 6.998a2 2 0 0 1 .003 3.458l-12 7A2 2 0 0 1 5 19z`,key:`10ikf1`}]]),si=dr(`plug`,[[`path`,{d:`M12 22v-5`,key:`1ega77`}],[`path`,{d:`M15 8V2`,key:`18g5xt`}],[`path`,{d:`M17 8a1 1 0 0 1 1 1v4a4 4 0 0 1-4 4h-4a4 4 0 0 1-4-4V9a1 1 0 0 1 1-1z`,key:`1xoxul`}],[`path`,{d:`M9 8V2`,key:`14iosj`}]]),ci=dr(`plus`,[[`path`,{d:`M5 12h14`,key:`1ays0h`}],[`path`,{d:`M12 5v14`,key:`s699le`}]]),li=dr(`puzzle`,[[`path`,{d:`M15.39 4.39a1 1 0 0 0 1.68-.474 2.5 2.5 0 1 1 3.014 3.015 1 1 0 0 0-.474 1.68l1.683 1.682a2.414 2.414 0 0 1 0 3.414L19.61 15.39a1 1 0 0 1-1.68-.474 2.5 2.5 0 1 0-3.014 3.015 1 1 0 0 1 .474 1.68l-1.683 1.682a2.414 2.414 0 0 1-3.414 0L8.61 19.61a1 1 0 0 0-1.68.474 2.5 2.5 0 1 1-3.014-3.015 1 1 0 0 0 .474-1.68l-1.683-1.682a2.414 2.414 0 0 1 0-3.414L4.39 8.61a1 1 0 0 1 1.68.474 2.5 2.5 0 1 0 3.014-3.015 1 1 0 0 1-.474-1.68l1.683-1.682a2.414 2.414 0 0 1 3.414 0z`,key:`w46dr5`}]]),ui=dr(`refresh-cw`,[[`path`,{d:`M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8`,key:`v9h5vc`}],[`path`,{d:`M21 3v5h-5`,key:`1q7to0`}],[`path`,{d:`M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16`,key:`3uifl3`}],[`path`,{d:`M8 16H3v5`,key:`1cv678`}]]),di=dr(`rotate-ccw`,[[`path`,{d:`M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8`,key:`1357e3`}],[`path`,{d:`M3 3v5h5`,key:`1xhq8a`}]]),fi=dr(`save`,[[`path`,{d:`M15.2 3a2 2 0 0 1 1.4.6l3.8 3.8a2 2 0 0 1 .6 1.4V19a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2z`,key:`1c8476`}],[`path`,{d:`M17 21v-7a1 1 0 0 0-1-1H8a1 1 0 0 0-1 1v7`,key:`1ydtos`}],[`path`,{d:`M7 3v4a1 1 0 0 0 1 1h7`,key:`t51u73`}]]),pi=dr(`search`,[[`path`,{d:`m21 21-4.34-4.34`,key:`14j7rj`}],[`circle`,{cx:`11`,cy:`11`,r:`8`,key:`4ej97u`}]]),mi=dr(`settings`,[[`path`,{d:`M9.671 4.136a2.34 2.34 0 0 1 4.659 0 2.34 2.34 0 0 0 3.319 1.915 2.34 2.34 0 0 1 2.33 4.033 2.34 2.34 0 0 0 0 3.831 2.34 2.34 0 0 1-2.33 4.033 2.34 2.34 0 0 0-3.319 1.915 2.34 2.34 0 0 1-4.659 0 2.34 2.34 0 0 0-3.32-1.915 2.34 2.34 0 0 1-2.33-4.033 2.34 2.34 0 0 0 0-3.831A2.34 2.34 0 0 1 6.35 6.051a2.34 2.34 0 0 0 3.319-1.915`,key:`1i5ecw`}],[`circle`,{cx:`12`,cy:`12`,r:`3`,key:`1v7zrd`}]]),hi=dr(`sliders-horizontal`,[[`path`,{d:`M10 5H3`,key:`1qgfaw`}],[`path`,{d:`M12 19H3`,key:`yhmn1j`}],[`path`,{d:`M14 3v4`,key:`1sua03`}],[`path`,{d:`M16 17v4`,key:`1q0r14`}],[`path`,{d:`M21 12h-9`,key:`1o4lsq`}],[`path`,{d:`M21 19h-5`,key:`1rlt1p`}],[`path`,{d:`M21 5h-7`,key:`1oszz2`}],[`path`,{d:`M8 10v4`,key:`tgpxqk`}],[`path`,{d:`M8 12H3`,key:`a7s4jb`}]]),gi=dr(`sparkles`,[[`path`,{d:`M11.017 2.814a1 1 0 0 1 1.966 0l1.051 5.558a2 2 0 0 0 1.594 1.594l5.558 1.051a1 1 0 0 1 0 1.966l-5.558 1.051a2 2 0 0 0-1.594 1.594l-1.051 5.558a1 1 0 0 1-1.966 0l-1.051-5.558a2 2 0 0 0-1.594-1.594l-5.558-1.051a1 1 0 0 1 0-1.966l5.558-1.051a2 2 0 0 0 1.594-1.594z`,key:`1s2grr`}],[`path`,{d:`M20 2v4`,key:`1rf3ol`}],[`path`,{d:`M22 4h-4`,key:`gwowj6`}],[`circle`,{cx:`4`,cy:`20`,r:`2`,key:`6kqj1y`}]]),_i=dr(`split`,[[`path`,{d:`M16 3h5v5`,key:`1806ms`}],[`path`,{d:`M8 3H3v5`,key:`15dfkv`}],[`path`,{d:`M12 22v-8.3a4 4 0 0 0-1.172-2.872L3 3`,key:`1qrqzj`}],[`path`,{d:`m15 9 6-6`,key:`ko1vev`}]]),vi=dr(`square-terminal`,[[`path`,{d:`m7 11 2-2-2-2`,key:`1lz0vl`}],[`path`,{d:`M11 13h4`,key:`1p7l4v`}],[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`,ry:`2`,key:`1m3agn`}]]),yi=dr(`square`,[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`,key:`afitv7`}]]),bi=dr(`star`,[[`path`,{d:`M11.525 2.295a.53.53 0 0 1 .95 0l2.31 4.679a2.123 2.123 0 0 0 1.595 1.16l5.166.756a.53.53 0 0 1 .294.904l-3.736 3.638a2.123 2.123 0 0 0-.611 1.878l.882 5.14a.53.53 0 0 1-.771.56l-4.618-2.428a2.122 2.122 0 0 0-1.973 0L6.396 21.01a.53.53 0 0 1-.77-.56l.881-5.139a2.122 2.122 0 0 0-.611-1.879L2.16 9.795a.53.53 0 0 1 .294-.906l5.165-.755a2.122 2.122 0 0 0 1.597-1.16z`,key:`r04s7s`}]]),xi=dr(`terminal`,[[`path`,{d:`M12 19h8`,key:`baeox8`}],[`path`,{d:`m4 17 6-6-6-6`,key:`1yngyt`}]]),Si=dr(`text-wrap`,[[`path`,{d:`m16 16-3 3 3 3`,key:`117b85`}],[`path`,{d:`M3 12h14.5a1 1 0 0 1 0 7H13`,key:`18xa6z`}],[`path`,{d:`M3 19h6`,key:`1ygdsz`}],[`path`,{d:`M3 5h18`,key:`1u36vt`}]]),Ci=dr(`trash-2`,[[`path`,{d:`M10 11v6`,key:`nco0om`}],[`path`,{d:`M14 11v6`,key:`outv1u`}],[`path`,{d:`M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6`,key:`miytrc`}],[`path`,{d:`M3 6h18`,key:`d0wm0j`}],[`path`,{d:`M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2`,key:`e791ji`}]]),wi=dr(`trash`,[[`path`,{d:`M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6`,key:`miytrc`}],[`path`,{d:`M3 6h18`,key:`d0wm0j`}],[`path`,{d:`M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2`,key:`e791ji`}]]),Ti=dr(`triangle-alert`,[[`path`,{d:`m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3`,key:`wmoenq`}],[`path`,{d:`M12 9v4`,key:`juzpu7`}],[`path`,{d:`M12 17h.01`,key:`p32p05`}]]),Ei=dr(`upload`,[[`path`,{d:`M12 3v12`,key:`1x0j5s`}],[`path`,{d:`m17 8-5-5-5 5`,key:`7q97r8`}],[`path`,{d:`M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4`,key:`ih7n3h`}]]),Di=dr(`unplug`,[[`path`,{d:`m19 5 3-3`,key:`yk6iyv`}],[`path`,{d:`m2 22 3-3`,key:`19mgm9`}],[`path`,{d:`M6.3 20.3a2.4 2.4 0 0 0 3.4 0L12 18l-6-6-2.3 2.3a2.4 2.4 0 0 0 0 3.4Z`,key:`goz73y`}],[`path`,{d:`M7.5 13.5 10 11`,key:`7xgeeb`}],[`path`,{d:`M10.5 16.5 13 14`,key:`10btkg`}],[`path`,{d:`m12 6 6 6 2.3-2.3a2.4 2.4 0 0 0 0-3.4l-2.6-2.6a2.4 2.4 0 0 0-3.4 0Z`,key:`1snsnr`}]]),Oi=dr(`volume-2`,[[`path`,{d:`M11 4.702a.705.705 0 0 0-1.203-.498L6.413 7.587A1.4 1.4 0 0 1 5.416 8H3a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h2.416a1.4 1.4 0 0 1 .997.413l3.383 3.384A.705.705 0 0 0 11 19.298z`,key:`uqj9uw`}],[`path`,{d:`M16 9a5 5 0 0 1 0 6`,key:`1q6k2b`}],[`path`,{d:`M19.364 18.364a9 9 0 0 0 0-12.728`,key:`ijwkga`}]]),ki=dr(`volume-x`,[[`path`,{d:`M11 4.702a.7.7 0 0 0-1.203-.498L6.413 7.587A1.4 1.4 0 0 1 5.416 8H3a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h2.416a1.4 1.4 0 0 1 .997.413l3.383 3.384A.7.7 0 0 0 11 19.298z`,key:`1p7khw`}],[`path`,{d:`m16.5 14.5 5-5`,key:`cul3yw`}],[`path`,{d:`m16.5 9.5 5 5`,key:`1akey5`}]]),Ai=dr(`wrench`,[[`path`,{d:`M14.7 6.3a1 1 0 0 0 0 1.4l1.6 1.6a1 1 0 0 0 1.4 0l3.106-3.105c.32-.322.863-.22.983.218a6 6 0 0 1-8.259 7.057l-7.91 7.91a1 1 0 0 1-2.999-3l7.91-7.91a6 6 0 0 1 7.057-8.259c.438.12.54.662.219.984z`,key:`1ngwbx`}]]),ji=dr(`x`,[[`path`,{d:`M18 6 6 18`,key:`1bl5f8`}],[`path`,{d:`m6 6 12 12`,key:`d8bk6v`}]]),Mi=dr(`zap`,[[`path`,{d:`M15.914 4a1.5 1.5 0 00-2.474-1.561l-9 9A1.5 1.5 0 005.5 14h4.002a.5.5 0 01.471.666L8.086 20a1.5 1.5 0 002.475 1.56l9-9A1.5 1.5 0 0018.5 10h-3.997a.5.5 0 01-.472-.667z`,key:`1v7up4`}]]);function Ni(e){var t,n,r=``;if(typeof e==`string`||typeof e==`number`)r+=e;else if(typeof e==`object`){if(Array.isArray(e)){var i=e.length;for(t=0;t<i;t++)e[t]&&(n=Ni(e[t]))&&(r&&(r+=` `),r+=n)}else for(n in e)e[n]&&(r&&(r+=` `),r+=n)}return r}function Pi(){for(var e,t,n=0,r=``,i=arguments.length;n<i;n++)(e=arguments[n])&&(t=Ni(e))&&(r&&(r+=` `),r+=t);return r}var Fi=(e,t)=>{let n=Array(e.length+t.length);for(let t=0;t<e.length;t++)n[t]=e[t];for(let r=0;r<t.length;r++)n[e.length+r]=t[r];return n},Ii=(e,t)=>({classGroupId:e,validator:t}),Li=(e=new Map,t=null,n)=>({nextPart:e,validators:t,classGroupId:n}),Ri=`-`,zi=[],Bi=`arbitrary..`,Vi=e=>{let t=Wi(e),{conflictingClassGroups:n,conflictingClassGroupModifiers:r}=e;return{getClassGroupId:e=>{if(e.startsWith(`[`)&&e.endsWith(`]`))return Ui(e);let n=e.split(Ri);return Hi(n,+(n[0]===``&&n.length>1),t)},getConflictingClassGroupIds:(e,t)=>{if(t){let t=r[e],i=n[e];return t?i?Fi(i,t):t:i||zi}return n[e]||zi}}},Hi=(e,t,n)=>{if(e.length-t===0)return n.classGroupId;let r=e[t],i=n.nextPart.get(r);if(i){let n=Hi(e,t+1,i);if(n)return n}let a=n.validators;if(a===null)return;let o=t===0?e.join(Ri):e.slice(t).join(Ri),s=a.length;for(let e=0;e<s;e++){let t=a[e];if(t.validator(o))return t.classGroupId}},Ui=e=>e.slice(1,-1).indexOf(`:`)===-1?void 0:(()=>{let t=e.slice(1,-1),n=t.indexOf(`:`),r=t.slice(0,n);return r?Bi+r:void 0})(),Wi=e=>{let{theme:t,classGroups:n}=e;return Gi(n,t)},Gi=(e,t)=>{let n=Li();for(let r in e){let i=e[r];Ki(i,n,r,t)}return n},Ki=(e,t,n,r)=>{let i=e.length;for(let a=0;a<i;a++){let i=e[a];qi(i,t,n,r)}},qi=(e,t,n,r)=>{if(typeof e==`string`){Ji(e,t,n);return}if(typeof e==`function`){Yi(e,t,n,r);return}Xi(e,t,n,r)},Ji=(e,t,n)=>{let r=e===``?t:Zi(t,e);r.classGroupId=n},Yi=(e,t,n,r)=>{if(Qi(e)){Ki(e(r),t,n,r);return}t.validators===null&&(t.validators=[]),t.validators.push(Ii(n,e))},Xi=(e,t,n,r)=>{let i=Object.entries(e),a=i.length;for(let e=0;e<a;e++){let[a,o]=i[e];Ki(o,Zi(t,a),n,r)}},Zi=(e,t)=>{let n=e,r=t.split(Ri),i=r.length;for(let e=0;e<i;e++){let t=r[e],i=n.nextPart.get(t);i||(i=Li(),n.nextPart.set(t,i)),n=i}return n},Qi=e=>`isThemeGetter`in e&&e.isThemeGetter===!0,$i=e=>{if(e<1)return{get:()=>void 0,set:()=>{}};let t=0,n=Object.create(null),r=Object.create(null),i=(i,a)=>{n[i]=a,t++,t>e&&(t=0,r=n,n=Object.create(null))};return{get(e){let t=n[e];if(t!==void 0)return t;if((t=r[e])!==void 0)return i(e,t),t},set(e,t){e in n?n[e]=t:i(e,t)}}},ea=`!`,ta=`:`,na=[],ra=(e,t,n,r,i)=>({modifiers:e,hasImportantModifier:t,baseClassName:n,maybePostfixModifierPosition:r,isExternal:i}),ia=e=>{let{prefix:t,experimentalParseClassName:n}=e,r=e=>{let t=[],n=0,r=0,i=0,a,o=e.length;for(let s=0;s<o;s++){let o=e[s];if(n===0&&r===0){if(o===ta){t.push(e.slice(i,s)),i=s+1;continue}if(o===`/`){a=s;continue}}o===`[`?n++:o===`]`?n--:o===`(`?r++:o===`)`&&r--}let s=t.length===0?e:e.slice(i),c=s,l=!1;s.endsWith(ea)?(c=s.slice(0,-1),l=!0):s.startsWith(ea)&&(c=s.slice(1),l=!0);let u=a&&a>i?a-i:void 0;return ra(t,l,c,u)};if(t){let e=t+ta,n=r;r=t=>t.startsWith(e)?n(t.slice(e.length)):ra(na,!1,t,void 0,!0)}if(n){let e=r;r=t=>n({className:t,parseClassName:e})}return r},aa=e=>{let t=new Map;return e.orderSensitiveModifiers.forEach((e,n)=>{t.set(e,1e6+n)}),e=>{let n=[],r=[];for(let i=0;i<e.length;i++){let a=e[i],o=a[0]===`[`,s=t.has(a);o||s?(r.length>0&&(r.sort(),n.push(...r),r=[]),n.push(a)):r.push(a)}return r.length>0&&(r.sort(),n.push(...r)),n}},oa=e=>({cache:$i(e.cacheSize),parseClassName:ia(e),sortModifiers:aa(e),postfixLookupClassGroupIds:sa(e),...Vi(e)}),sa=e=>{let t=Object.create(null),n=e.postfixLookupClassGroups;if(n)for(let e=0;e<n.length;e++)t[n[e]]=!0;return t},ca=/\s+/,la=(e,t)=>{let{parseClassName:n,getClassGroupId:r,getConflictingClassGroupIds:i,sortModifiers:a,postfixLookupClassGroupIds:o}=t,s=[],c=e.trim().split(ca),l=``;for(let e=c.length-1;e>=0;--e){let t=c[e],{isExternal:u,modifiers:d,hasImportantModifier:f,baseClassName:p,maybePostfixModifierPosition:m}=n(t);if(u){l=t+(l.length>0?` `+l:l);continue}let h=!!m,g;if(h){g=r(p.substring(0,m));let e=g&&o[g]?r(p):void 0;e&&e!==g&&(g=e,h=!1)}else g=r(p);if(!g){if(!h){l=t+(l.length>0?` `+l:l);continue}if(g=r(p),!g){l=t+(l.length>0?` `+l:l);continue}h=!1}let _=d.length===0?``:d.length===1?d[0]:a(d).join(`:`),v=f?_+ea:_,y=v+g;if(s.indexOf(y)>-1)continue;s.push(y);let b=i(g,h);for(let e=0;e<b.length;++e){let t=b[e];s.push(v+t)}l=t+(l.length>0?` `+l:l)}return l},ua=(...e)=>{let t=0,n,r,i=``;for(;t<e.length;)(n=e[t++])&&(r=da(n))&&(i&&(i+=` `),i+=r);return i},da=e=>{if(typeof e==`string`)return e;let t,n=``;for(let r=0;r<e.length;r++)e[r]&&(t=da(e[r]))&&(n&&(n+=` `),n+=t);return n},fa=(e,...t)=>{let n,r,i,a,o=o=>(n=oa(t.reduce((e,t)=>t(e),e())),r=n.cache.get,i=n.cache.set,a=s,s(o)),s=e=>{let t=r(e);if(t)return t;let a=la(e,n);return i(e,a),a};return a=o,(...e)=>a(ua(...e))},pa=[],ma=e=>{let t=t=>t[e]||pa;return t.isThemeGetter=!0,t},ha=/^\[(?:(\w[\w-]*):)?(.+)\]$/i,ga=/^\((?:(\w[\w-]*):)?(.+)\)$/i,_a=/^\d+(?:\.\d+)?\/\d+(?:\.\d+)?$/,va=/^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/,ya=/\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\b(calc|min|max|clamp)\(.+\)|^0$/,ba=/^(rgba?|hsla?|hwb|(ok)?(lab|lch)|color-mix)\(.+\)$/,xa=/^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/,Sa=/^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/,Ca=e=>_a.test(e),wa=e=>!!e&&!Number.isNaN(Number(e)),Ta=e=>!!e&&Number.isInteger(Number(e)),Ea=e=>e.endsWith(`%`)&&wa(e.slice(0,-1)),Da=e=>va.test(e),Oa=()=>!0,ka=e=>ya.test(e)&&!ba.test(e),Aa=()=>!1,ja=e=>xa.test(e),Ma=e=>Sa.test(e),Na=e=>!Ia(e)&&!Wa(e),Pa=e=>e.startsWith(`@container`)&&(e[10]===`/`&&e[11]!==void 0||e[11]===`s`&&e[16]!==void 0&&e.startsWith(`-size/`,10)||e[11]===`n`&&e[18]!==void 0&&e.startsWith(`-normal/`,10)),Fa=e=>Qa(e,no,Aa),Ia=e=>ha.test(e),La=e=>Qa(e,ro,ka),Ra=e=>Qa(e,io,wa),za=e=>Qa(e,oo,Oa),Ba=e=>Qa(e,ao,Aa),Va=e=>Qa(e,eo,Aa),Ha=e=>Qa(e,to,Ma),Ua=e=>Qa(e,so,ja),Wa=e=>ga.test(e),Ga=e=>$a(e,ro),Ka=e=>$a(e,ao),qa=e=>$a(e,eo),Ja=e=>$a(e,no),Ya=e=>$a(e,to),Xa=e=>$a(e,so,!0),Za=e=>$a(e,oo,!0),Qa=(e,t,n)=>{let r=ha.exec(e);return r?r[1]?t(r[1]):n(r[2]):!1},$a=(e,t,n=!1)=>{let r=ga.exec(e);return r?r[1]?t(r[1]):n:!1},eo=e=>e===`position`||e===`percentage`,to=e=>e===`image`||e===`url`,no=e=>e===`length`||e===`size`||e===`bg-size`,ro=e=>e===`length`,io=e=>e===`number`,ao=e=>e===`family-name`,oo=e=>e===`number`||e===`weight`,so=e=>e===`shadow`,co=fa(()=>{let e=ma(`color`),t=ma(`font`),n=ma(`text`),r=ma(`font-weight`),i=ma(`tracking`),a=ma(`leading`),o=ma(`breakpoint`),s=ma(`container`),c=ma(`spacing`),l=ma(`radius`),u=ma(`shadow`),d=ma(`inset-shadow`),f=ma(`text-shadow`),p=ma(`drop-shadow`),m=ma(`blur`),h=ma(`perspective`),g=ma(`aspect`),_=ma(`ease`),v=ma(`animate`),y=()=>[`auto`,`avoid`,`all`,`avoid-page`,`page`,`left`,`right`,`column`],b=()=>[`center`,`top`,`bottom`,`left`,`right`,`top-left`,`left-top`,`top-right`,`right-top`,`bottom-right`,`right-bottom`,`bottom-left`,`left-bottom`],x=()=>[...b(),Wa,Ia],S=()=>[`auto`,`hidden`,`clip`,`visible`,`scroll`],C=()=>[`auto`,`contain`,`none`],w=()=>[Wa,Ia,c],T=()=>[Ca,`full`,`auto`,...w()],E=()=>[Ta,`none`,`subgrid`,Wa,Ia],D=()=>[`auto`,{span:[`full`,Ta,Wa,Ia]},Ta,Wa,Ia],O=()=>[Ta,`auto`,Wa,Ia],k=()=>[`auto`,`min`,`max`,`fr`,Wa,Ia],A=()=>[`start`,`end`,`center`,`between`,`around`,`evenly`,`stretch`,`baseline`,`center-safe`,`end-safe`],j=()=>[`start`,`end`,`center`,`stretch`,`center-safe`,`end-safe`],M=()=>[`auto`,...w()],N=()=>[Ca,`auto`,`full`,`dvw`,`dvh`,`lvw`,`lvh`,`svw`,`svh`,`min`,`max`,`fit`,...w()],ee=()=>[Ca,`screen`,`full`,`dvw`,`lvw`,`svw`,`min`,`max`,`fit`,...w()],te=()=>[Ca,`screen`,`full`,`lh`,`dvh`,`lvh`,`svh`,`min`,`max`,`fit`,...w()],P=()=>[e,Wa,Ia],ne=()=>[...b(),qa,Va,{position:[Wa,Ia]}],re=()=>[`no-repeat`,{repeat:[``,`x`,`y`,`space`,`round`]}],ie=()=>[`auto`,`cover`,`contain`,Ja,Fa,{size:[Wa,Ia]}],ae=()=>[Ea,Ga,La],oe=()=>[``,`none`,`full`,l,Wa,Ia],se=()=>[``,wa,Ga,La],ce=()=>[`solid`,`dashed`,`dotted`,`double`],le=()=>[`normal`,`multiply`,`screen`,`overlay`,`darken`,`lighten`,`color-dodge`,`color-burn`,`hard-light`,`soft-light`,`difference`,`exclusion`,`hue`,`saturation`,`color`,`luminosity`],ue=()=>[wa,Ea,qa,Va],de=()=>[``,`none`,m,Wa,Ia],fe=()=>[`none`,wa,Wa,Ia],pe=()=>[`none`,wa,Wa,Ia],me=()=>[wa,Wa,Ia],he=()=>[Ca,`full`,...w()];return{cacheSize:500,theme:{animate:[`spin`,`ping`,`pulse`,`bounce`],aspect:[`video`],blur:[Da],breakpoint:[Da],color:[Oa],container:[Da],"drop-shadow":[Da],ease:[`in`,`out`,`in-out`],font:[Na],"font-weight":[`thin`,`extralight`,`light`,`normal`,`medium`,`semibold`,`bold`,`extrabold`,`black`],"inset-shadow":[Da],leading:[`none`,`tight`,`snug`,`normal`,`relaxed`,`loose`],perspective:[`dramatic`,`near`,`normal`,`midrange`,`distant`,`none`],radius:[Da],shadow:[Da],spacing:[`px`,wa],text:[Da],"text-shadow":[Da],tracking:[`tighter`,`tight`,`normal`,`wide`,`wider`,`widest`]},classGroups:{aspect:[{aspect:[`auto`,`square`,Ca,Ia,Wa,g]}],container:[`container`],"container-type":[{"@container":[``,`normal`,`size`,Wa,Ia]}],"container-named":[Pa],columns:[{columns:[wa,Ia,Wa,s]}],"break-after":[{"break-after":y()}],"break-before":[{"break-before":y()}],"break-inside":[{"break-inside":[`auto`,`avoid`,`avoid-page`,`avoid-column`]}],"box-decoration":[{"box-decoration":[`slice`,`clone`]}],box:[{box:[`border`,`content`]}],display:[`block`,`inline-block`,`inline`,`flex`,`inline-flex`,`table`,`inline-table`,`table-caption`,`table-cell`,`table-column`,`table-column-group`,`table-footer-group`,`table-header-group`,`table-row-group`,`table-row`,`flow-root`,`grid`,`inline-grid`,`contents`,`list-item`,`hidden`],sr:[`sr-only`,`not-sr-only`],float:[{float:[`right`,`left`,`none`,`start`,`end`]}],clear:[{clear:[`left`,`right`,`both`,`none`,`start`,`end`]}],isolation:[`isolate`,`isolation-auto`],"object-fit":[{object:[`contain`,`cover`,`fill`,`none`,`scale-down`]}],"object-position":[{object:x()}],overflow:[{overflow:S()}],"overflow-x":[{"overflow-x":S()}],"overflow-y":[{"overflow-y":S()}],overscroll:[{overscroll:C()}],"overscroll-x":[{"overscroll-x":C()}],"overscroll-y":[{"overscroll-y":C()}],position:[`static`,`fixed`,`absolute`,`relative`,`sticky`],inset:[{inset:T()}],"inset-x":[{"inset-x":T()}],"inset-y":[{"inset-y":T()}],start:[{"inset-s":T(),start:T()}],end:[{"inset-e":T(),end:T()}],"inset-bs":[{"inset-bs":T()}],"inset-be":[{"inset-be":T()}],top:[{top:T()}],right:[{right:T()}],bottom:[{bottom:T()}],left:[{left:T()}],visibility:[`visible`,`invisible`,`collapse`],z:[{z:[Ta,`auto`,Wa,Ia]}],basis:[{basis:[Ca,`full`,`auto`,s,...w()]}],"flex-direction":[{flex:[`row`,`row-reverse`,`col`,`col-reverse`]}],"flex-wrap":[{flex:[`nowrap`,`wrap`,`wrap-reverse`]}],flex:[{flex:[wa,Ca,`auto`,`initial`,`none`,Ia]}],grow:[{grow:[``,wa,Wa,Ia]}],shrink:[{shrink:[``,wa,Wa,Ia]}],order:[{order:[Ta,`first`,`last`,`none`,Wa,Ia]}],"grid-cols":[{"grid-cols":E()}],"col-start-end":[{col:D()}],"col-start":[{"col-start":O()}],"col-end":[{"col-end":O()}],"grid-rows":[{"grid-rows":E()}],"row-start-end":[{row:D()}],"row-start":[{"row-start":O()}],"row-end":[{"row-end":O()}],"grid-flow":[{"grid-flow":[`row`,`col`,`dense`,`row-dense`,`col-dense`]}],"auto-cols":[{"auto-cols":k()}],"auto-rows":[{"auto-rows":k()}],gap:[{gap:w()}],"gap-x":[{"gap-x":w()}],"gap-y":[{"gap-y":w()}],"justify-content":[{justify:[...A(),`normal`]}],"justify-items":[{"justify-items":[...j(),`normal`]}],"justify-self":[{"justify-self":[`auto`,...j()]}],"align-content":[{content:[`normal`,...A()]}],"align-items":[{items:[...j(),{baseline:[``,`last`]}]}],"align-self":[{self:[`auto`,...j(),{baseline:[``,`last`]}]}],"place-content":[{"place-content":A()}],"place-items":[{"place-items":[...j(),`baseline`]}],"place-self":[{"place-self":[`auto`,...j()]}],p:[{p:w()}],px:[{px:w()}],py:[{py:w()}],ps:[{ps:w()}],pe:[{pe:w()}],pbs:[{pbs:w()}],pbe:[{pbe:w()}],pt:[{pt:w()}],pr:[{pr:w()}],pb:[{pb:w()}],pl:[{pl:w()}],m:[{m:M()}],mx:[{mx:M()}],my:[{my:M()}],ms:[{ms:M()}],me:[{me:M()}],mbs:[{mbs:M()}],mbe:[{mbe:M()}],mt:[{mt:M()}],mr:[{mr:M()}],mb:[{mb:M()}],ml:[{ml:M()}],"space-x":[{"space-x":w()}],"space-x-reverse":[`space-x-reverse`],"space-y":[{"space-y":w()}],"space-y-reverse":[`space-y-reverse`],size:[{size:N()}],"inline-size":[{inline:[`auto`,...ee()]}],"min-inline-size":[{"min-inline":[`auto`,...ee()]}],"max-inline-size":[{"max-inline":[`none`,...ee()]}],"block-size":[{block:[`auto`,...te()]}],"min-block-size":[{"min-block":[`auto`,...te()]}],"max-block-size":[{"max-block":[`none`,...te()]}],w:[{w:[s,`screen`,...N()]}],"min-w":[{"min-w":[s,`screen`,`none`,...N()]}],"max-w":[{"max-w":[s,`screen`,`none`,`prose`,{screen:[o]},...N()]}],h:[{h:[`screen`,`lh`,...N()]}],"min-h":[{"min-h":[`screen`,`lh`,`none`,...N()]}],"max-h":[{"max-h":[`screen`,`lh`,...N()]}],"font-size":[{text:[`base`,n,Ga,La]}],"font-smoothing":[`antialiased`,`subpixel-antialiased`],"font-style":[`italic`,`not-italic`],"font-weight":[{font:[r,Za,za]}],"font-stretch":[{"font-stretch":[`ultra-condensed`,`extra-condensed`,`condensed`,`semi-condensed`,`normal`,`semi-expanded`,`expanded`,`extra-expanded`,`ultra-expanded`,Ea,Ia]}],"font-family":[{font:[Ka,Ba,t]}],"font-features":[{"font-features":[Ia]}],"fvn-normal":[`normal-nums`],"fvn-ordinal":[`ordinal`],"fvn-slashed-zero":[`slashed-zero`],"fvn-figure":[`lining-nums`,`oldstyle-nums`],"fvn-spacing":[`proportional-nums`,`tabular-nums`],"fvn-fraction":[`diagonal-fractions`,`stacked-fractions`],tracking:[{tracking:[i,Wa,Ia]}],"line-clamp":[{"line-clamp":[wa,`none`,Wa,Ra]}],leading:[{leading:[a,...w()]}],"list-image":[{"list-image":[`none`,Wa,Ia]}],"list-style-position":[{list:[`inside`,`outside`]}],"list-style-type":[{list:[`disc`,`decimal`,`none`,Wa,Ia]}],"text-alignment":[{text:[`left`,`center`,`right`,`justify`,`start`,`end`]}],"placeholder-color":[{placeholder:P()}],"text-color":[{text:P()}],"text-decoration":[`underline`,`overline`,`line-through`,`no-underline`],"text-decoration-style":[{decoration:[...ce(),`wavy`]}],"text-decoration-thickness":[{decoration:[wa,`from-font`,`auto`,Wa,La]}],"text-decoration-color":[{decoration:P()}],"underline-offset":[{"underline-offset":[wa,`auto`,Wa,Ia]}],"text-transform":[`uppercase`,`lowercase`,`capitalize`,`normal-case`],"text-overflow":[`truncate`,`text-ellipsis`,`text-clip`],"text-wrap":[{text:[`wrap`,`nowrap`,`balance`,`pretty`]}],indent:[{indent:w()}],"tab-size":[{tab:[Ta,Wa,Ia]}],"vertical-align":[{align:[`baseline`,`top`,`middle`,`bottom`,`text-top`,`text-bottom`,`sub`,`super`,Wa,Ia]}],whitespace:[{whitespace:[`normal`,`nowrap`,`pre`,`pre-line`,`pre-wrap`,`break-spaces`]}],break:[{break:[`normal`,`words`,`all`,`keep`]}],wrap:[{wrap:[`break-word`,`anywhere`,`normal`]}],hyphens:[{hyphens:[`none`,`manual`,`auto`]}],content:[{content:[`none`,Wa,Ia]}],"bg-attachment":[{bg:[`fixed`,`local`,`scroll`]}],"bg-clip":[{"bg-clip":[`border`,`padding`,`content`,`text`]}],"bg-origin":[{"bg-origin":[`border`,`padding`,`content`]}],"bg-position":[{bg:ne()}],"bg-repeat":[{bg:re()}],"bg-size":[{bg:ie()}],"bg-image":[{bg:[`none`,{linear:[{to:[`t`,`tr`,`r`,`br`,`b`,`bl`,`l`,`tl`]},Ta,Wa,Ia],radial:[``,Wa,Ia],conic:[Ta,Wa,Ia]},Ya,Ha]}],"bg-color":[{bg:P()}],"gradient-from-pos":[{from:ae()}],"gradient-via-pos":[{via:ae()}],"gradient-to-pos":[{to:ae()}],"gradient-from":[{from:P()}],"gradient-via":[{via:P()}],"gradient-to":[{to:P()}],rounded:[{rounded:oe()}],"rounded-s":[{"rounded-s":oe()}],"rounded-e":[{"rounded-e":oe()}],"rounded-t":[{"rounded-t":oe()}],"rounded-r":[{"rounded-r":oe()}],"rounded-b":[{"rounded-b":oe()}],"rounded-l":[{"rounded-l":oe()}],"rounded-ss":[{"rounded-ss":oe()}],"rounded-se":[{"rounded-se":oe()}],"rounded-ee":[{"rounded-ee":oe()}],"rounded-es":[{"rounded-es":oe()}],"rounded-tl":[{"rounded-tl":oe()}],"rounded-tr":[{"rounded-tr":oe()}],"rounded-br":[{"rounded-br":oe()}],"rounded-bl":[{"rounded-bl":oe()}],"border-w":[{border:se()}],"border-w-x":[{"border-x":se()}],"border-w-y":[{"border-y":se()}],"border-w-s":[{"border-s":se()}],"border-w-e":[{"border-e":se()}],"border-w-bs":[{"border-bs":se()}],"border-w-be":[{"border-be":se()}],"border-w-t":[{"border-t":se()}],"border-w-r":[{"border-r":se()}],"border-w-b":[{"border-b":se()}],"border-w-l":[{"border-l":se()}],"divide-x":[{"divide-x":se()}],"divide-x-reverse":[`divide-x-reverse`],"divide-y":[{"divide-y":se()}],"divide-y-reverse":[`divide-y-reverse`],"border-style":[{border:[...ce(),`hidden`,`none`]}],"divide-style":[{divide:[...ce(),`hidden`,`none`]}],"border-color":[{border:P()}],"border-color-x":[{"border-x":P()}],"border-color-y":[{"border-y":P()}],"border-color-s":[{"border-s":P()}],"border-color-e":[{"border-e":P()}],"border-color-bs":[{"border-bs":P()}],"border-color-be":[{"border-be":P()}],"border-color-t":[{"border-t":P()}],"border-color-r":[{"border-r":P()}],"border-color-b":[{"border-b":P()}],"border-color-l":[{"border-l":P()}],"divide-color":[{divide:P()}],"outline-style":[{outline:[...ce(),`none`,`hidden`]}],"outline-offset":[{"outline-offset":[wa,Wa,Ia]}],"outline-w":[{outline:[``,wa,Ga,La]}],"outline-color":[{outline:P()}],shadow:[{shadow:[``,`none`,u,Xa,Ua]}],"shadow-color":[{shadow:P()}],"inset-shadow":[{"inset-shadow":[`none`,d,Xa,Ua]}],"inset-shadow-color":[{"inset-shadow":P()}],"ring-w":[{ring:se()}],"ring-w-inset":[`ring-inset`],"ring-color":[{ring:P()}],"ring-offset-w":[{"ring-offset":[wa,La]}],"ring-offset-color":[{"ring-offset":P()}],"inset-ring-w":[{"inset-ring":se()}],"inset-ring-color":[{"inset-ring":P()}],"text-shadow":[{"text-shadow":[`none`,f,Xa,Ua]}],"text-shadow-color":[{"text-shadow":P()}],opacity:[{opacity:[wa,Wa,Ia]}],"mix-blend":[{"mix-blend":[...le(),`plus-darker`,`plus-lighter`]}],"bg-blend":[{"bg-blend":le()}],"mask-clip":[{"mask-clip":[`border`,`padding`,`content`,`fill`,`stroke`,`view`]},`mask-no-clip`],"mask-composite":[{mask:[`add`,`subtract`,`intersect`,`exclude`]}],"mask-image-linear-pos":[{"mask-linear":[wa]}],"mask-image-linear-from-pos":[{"mask-linear-from":ue()}],"mask-image-linear-to-pos":[{"mask-linear-to":ue()}],"mask-image-linear-from-color":[{"mask-linear-from":P()}],"mask-image-linear-to-color":[{"mask-linear-to":P()}],"mask-image-t-from-pos":[{"mask-t-from":ue()}],"mask-image-t-to-pos":[{"mask-t-to":ue()}],"mask-image-t-from-color":[{"mask-t-from":P()}],"mask-image-t-to-color":[{"mask-t-to":P()}],"mask-image-r-from-pos":[{"mask-r-from":ue()}],"mask-image-r-to-pos":[{"mask-r-to":ue()}],"mask-image-r-from-color":[{"mask-r-from":P()}],"mask-image-r-to-color":[{"mask-r-to":P()}],"mask-image-b-from-pos":[{"mask-b-from":ue()}],"mask-image-b-to-pos":[{"mask-b-to":ue()}],"mask-image-b-from-color":[{"mask-b-from":P()}],"mask-image-b-to-color":[{"mask-b-to":P()}],"mask-image-l-from-pos":[{"mask-l-from":ue()}],"mask-image-l-to-pos":[{"mask-l-to":ue()}],"mask-image-l-from-color":[{"mask-l-from":P()}],"mask-image-l-to-color":[{"mask-l-to":P()}],"mask-image-x-from-pos":[{"mask-x-from":ue()}],"mask-image-x-to-pos":[{"mask-x-to":ue()}],"mask-image-x-from-color":[{"mask-x-from":P()}],"mask-image-x-to-color":[{"mask-x-to":P()}],"mask-image-y-from-pos":[{"mask-y-from":ue()}],"mask-image-y-to-pos":[{"mask-y-to":ue()}],"mask-image-y-from-color":[{"mask-y-from":P()}],"mask-image-y-to-color":[{"mask-y-to":P()}],"mask-image-radial":[{"mask-radial":[Wa,Ia]}],"mask-image-radial-from-pos":[{"mask-radial-from":ue()}],"mask-image-radial-to-pos":[{"mask-radial-to":ue()}],"mask-image-radial-from-color":[{"mask-radial-from":P()}],"mask-image-radial-to-color":[{"mask-radial-to":P()}],"mask-image-radial-shape":[{"mask-radial":[`circle`,`ellipse`]}],"mask-image-radial-size":[{"mask-radial":[{closest:[`side`,`corner`],farthest:[`side`,`corner`]}]}],"mask-image-radial-pos":[{"mask-radial-at":b()}],"mask-image-conic-pos":[{"mask-conic":[wa]}],"mask-image-conic-from-pos":[{"mask-conic-from":ue()}],"mask-image-conic-to-pos":[{"mask-conic-to":ue()}],"mask-image-conic-from-color":[{"mask-conic-from":P()}],"mask-image-conic-to-color":[{"mask-conic-to":P()}],"mask-mode":[{mask:[`alpha`,`luminance`,`match`]}],"mask-origin":[{"mask-origin":[`border`,`padding`,`content`,`fill`,`stroke`,`view`]}],"mask-position":[{mask:ne()}],"mask-repeat":[{mask:re()}],"mask-size":[{mask:ie()}],"mask-type":[{"mask-type":[`alpha`,`luminance`]}],"mask-image":[{mask:[`none`,Wa,Ia]}],filter:[{filter:[``,`none`,Wa,Ia]}],blur:[{blur:de()}],brightness:[{brightness:[wa,Wa,Ia]}],contrast:[{contrast:[wa,Wa,Ia]}],"drop-shadow":[{"drop-shadow":[``,`none`,p,Xa,Ua]}],"drop-shadow-color":[{"drop-shadow":P()}],grayscale:[{grayscale:[``,wa,Wa,Ia]}],"hue-rotate":[{"hue-rotate":[wa,Wa,Ia]}],invert:[{invert:[``,wa,Wa,Ia]}],saturate:[{saturate:[wa,Wa,Ia]}],sepia:[{sepia:[``,wa,Wa,Ia]}],"backdrop-filter":[{"backdrop-filter":[``,`none`,Wa,Ia]}],"backdrop-blur":[{"backdrop-blur":de()}],"backdrop-brightness":[{"backdrop-brightness":[wa,Wa,Ia]}],"backdrop-contrast":[{"backdrop-contrast":[wa,Wa,Ia]}],"backdrop-grayscale":[{"backdrop-grayscale":[``,wa,Wa,Ia]}],"backdrop-hue-rotate":[{"backdrop-hue-rotate":[wa,Wa,Ia]}],"backdrop-invert":[{"backdrop-invert":[``,wa,Wa,Ia]}],"backdrop-opacity":[{"backdrop-opacity":[wa,Wa,Ia]}],"backdrop-saturate":[{"backdrop-saturate":[wa,Wa,Ia]}],"backdrop-sepia":[{"backdrop-sepia":[``,wa,Wa,Ia]}],"border-collapse":[{border:[`collapse`,`separate`]}],"border-spacing":[{"border-spacing":w()}],"border-spacing-x":[{"border-spacing-x":w()}],"border-spacing-y":[{"border-spacing-y":w()}],"table-layout":[{table:[`auto`,`fixed`]}],caption:[{caption:[`top`,`bottom`]}],transition:[{transition:[``,`all`,`colors`,`opacity`,`shadow`,`transform`,`none`,Wa,Ia]}],"transition-behavior":[{transition:[`normal`,`discrete`]}],duration:[{duration:[wa,`initial`,Wa,Ia]}],ease:[{ease:[`linear`,`initial`,_,Wa,Ia]}],delay:[{delay:[wa,Wa,Ia]}],animate:[{animate:[`none`,v,Wa,Ia]}],backface:[{backface:[`hidden`,`visible`]}],perspective:[{perspective:[h,Wa,Ia]}],"perspective-origin":[{"perspective-origin":x()}],rotate:[{rotate:fe()}],"rotate-x":[{"rotate-x":fe()}],"rotate-y":[{"rotate-y":fe()}],"rotate-z":[{"rotate-z":fe()}],scale:[{scale:pe()}],"scale-x":[{"scale-x":pe()}],"scale-y":[{"scale-y":pe()}],"scale-z":[{"scale-z":pe()}],"scale-3d":[`scale-3d`],skew:[{skew:me()}],"skew-x":[{"skew-x":me()}],"skew-y":[{"skew-y":me()}],transform:[{transform:[Wa,Ia,``,`none`,`gpu`,`cpu`]}],"transform-origin":[{origin:x()}],"transform-style":[{transform:[`3d`,`flat`]}],translate:[{translate:he()}],"translate-x":[{"translate-x":he()}],"translate-y":[{"translate-y":he()}],"translate-z":[{"translate-z":he()}],"translate-none":[`translate-none`],zoom:[{zoom:[Ta,Wa,Ia]}],accent:[{accent:P()}],appearance:[{appearance:[`none`,`auto`]}],"caret-color":[{caret:P()}],"color-scheme":[{scheme:[`normal`,`dark`,`light`,`light-dark`,`only-dark`,`only-light`]}],cursor:[{cursor:[`auto`,`default`,`pointer`,`wait`,`text`,`move`,`help`,`not-allowed`,`none`,`context-menu`,`progress`,`cell`,`crosshair`,`vertical-text`,`alias`,`copy`,`no-drop`,`grab`,`grabbing`,`all-scroll`,`col-resize`,`row-resize`,`n-resize`,`e-resize`,`s-resize`,`w-resize`,`ne-resize`,`nw-resize`,`se-resize`,`sw-resize`,`ew-resize`,`ns-resize`,`nesw-resize`,`nwse-resize`,`zoom-in`,`zoom-out`,Wa,Ia]}],"field-sizing":[{"field-sizing":[`fixed`,`content`]}],"pointer-events":[{"pointer-events":[`auto`,`none`]}],resize:[{resize:[`none`,``,`y`,`x`]}],"scroll-behavior":[{scroll:[`auto`,`smooth`]}],"scrollbar-thumb-color":[{"scrollbar-thumb":P()}],"scrollbar-track-color":[{"scrollbar-track":P()}],"scrollbar-gutter":[{"scrollbar-gutter":[`auto`,`stable`,`both`]}],"scrollbar-w":[{scrollbar:[`auto`,`thin`,`none`]}],"scroll-m":[{"scroll-m":w()}],"scroll-mx":[{"scroll-mx":w()}],"scroll-my":[{"scroll-my":w()}],"scroll-ms":[{"scroll-ms":w()}],"scroll-me":[{"scroll-me":w()}],"scroll-mbs":[{"scroll-mbs":w()}],"scroll-mbe":[{"scroll-mbe":w()}],"scroll-mt":[{"scroll-mt":w()}],"scroll-mr":[{"scroll-mr":w()}],"scroll-mb":[{"scroll-mb":w()}],"scroll-ml":[{"scroll-ml":w()}],"scroll-p":[{"scroll-p":w()}],"scroll-px":[{"scroll-px":w()}],"scroll-py":[{"scroll-py":w()}],"scroll-ps":[{"scroll-ps":w()}],"scroll-pe":[{"scroll-pe":w()}],"scroll-pbs":[{"scroll-pbs":w()}],"scroll-pbe":[{"scroll-pbe":w()}],"scroll-pt":[{"scroll-pt":w()}],"scroll-pr":[{"scroll-pr":w()}],"scroll-pb":[{"scroll-pb":w()}],"scroll-pl":[{"scroll-pl":w()}],"snap-align":[{snap:[`start`,`end`,`center`,`align-none`]}],"snap-stop":[{snap:[`normal`,`always`]}],"snap-type":[{snap:[`none`,`x`,`y`,`both`]}],"snap-strictness":[{snap:[`mandatory`,`proximity`]}],touch:[{touch:[`auto`,`none`,`manipulation`]}],"touch-x":[{"touch-pan":[`x`,`left`,`right`]}],"touch-y":[{"touch-pan":[`y`,`up`,`down`]}],"touch-pz":[`touch-pinch-zoom`],select:[{select:[`none`,`text`,`all`,`auto`]}],"will-change":[{"will-change":[`auto`,`scroll`,`contents`,`transform`,Wa,Ia]}],fill:[{fill:[`none`,...P()]}],"stroke-w":[{stroke:[wa,Ga,La,Ra]}],stroke:[{stroke:[`none`,...P()]}],"forced-color-adjust":[{"forced-color-adjust":[`auto`,`none`]}]},conflictingClassGroups:{"container-named":[`container-type`],overflow:[`overflow-x`,`overflow-y`],overscroll:[`overscroll-x`,`overscroll-y`],inset:[`inset-x`,`inset-y`,`inset-bs`,`inset-be`,`start`,`end`,`top`,`right`,`bottom`,`left`],"inset-x":[`right`,`left`],"inset-y":[`top`,`bottom`],flex:[`basis`,`grow`,`shrink`],gap:[`gap-x`,`gap-y`],p:[`px`,`py`,`ps`,`pe`,`pbs`,`pbe`,`pt`,`pr`,`pb`,`pl`],px:[`pr`,`pl`],py:[`pt`,`pb`],m:[`mx`,`my`,`ms`,`me`,`mbs`,`mbe`,`mt`,`mr`,`mb`,`ml`],mx:[`mr`,`ml`],my:[`mt`,`mb`],size:[`w`,`h`],"font-size":[`leading`],"fvn-normal":[`fvn-ordinal`,`fvn-slashed-zero`,`fvn-figure`,`fvn-spacing`,`fvn-fraction`],"fvn-ordinal":[`fvn-normal`],"fvn-slashed-zero":[`fvn-normal`],"fvn-figure":[`fvn-normal`],"fvn-spacing":[`fvn-normal`],"fvn-fraction":[`fvn-normal`],"line-clamp":[`display`,`overflow`],rounded:[`rounded-s`,`rounded-e`,`rounded-t`,`rounded-r`,`rounded-b`,`rounded-l`,`rounded-ss`,`rounded-se`,`rounded-ee`,`rounded-es`,`rounded-tl`,`rounded-tr`,`rounded-br`,`rounded-bl`],"rounded-s":[`rounded-ss`,`rounded-es`],"rounded-e":[`rounded-se`,`rounded-ee`],"rounded-t":[`rounded-tl`,`rounded-tr`],"rounded-r":[`rounded-tr`,`rounded-br`],"rounded-b":[`rounded-br`,`rounded-bl`],"rounded-l":[`rounded-tl`,`rounded-bl`],"border-spacing":[`border-spacing-x`,`border-spacing-y`],"border-w":[`border-w-x`,`border-w-y`,`border-w-s`,`border-w-e`,`border-w-bs`,`border-w-be`,`border-w-t`,`border-w-r`,`border-w-b`,`border-w-l`],"border-w-x":[`border-w-r`,`border-w-l`],"border-w-y":[`border-w-t`,`border-w-b`],"border-color":[`border-color-x`,`border-color-y`,`border-color-s`,`border-color-e`,`border-color-bs`,`border-color-be`,`border-color-t`,`border-color-r`,`border-color-b`,`border-color-l`],"border-color-x":[`border-color-r`,`border-color-l`],"border-color-y":[`border-color-t`,`border-color-b`],translate:[`translate-x`,`translate-y`,`translate-none`],"translate-none":[`translate`,`translate-x`,`translate-y`,`translate-z`],"scroll-m":[`scroll-mx`,`scroll-my`,`scroll-ms`,`scroll-me`,`scroll-mbs`,`scroll-mbe`,`scroll-mt`,`scroll-mr`,`scroll-mb`,`scroll-ml`],"scroll-mx":[`scroll-mr`,`scroll-ml`],"scroll-my":[`scroll-mt`,`scroll-mb`],"scroll-p":[`scroll-px`,`scroll-py`,`scroll-ps`,`scroll-pe`,`scroll-pbs`,`scroll-pbe`,`scroll-pt`,`scroll-pr`,`scroll-pb`,`scroll-pl`],"scroll-px":[`scroll-pr`,`scroll-pl`],"scroll-py":[`scroll-pt`,`scroll-pb`],touch:[`touch-x`,`touch-y`,`touch-pz`],"touch-x":[`touch`],"touch-y":[`touch`],"touch-pz":[`touch`]},conflictingClassGroupModifiers:{"font-size":[`leading`]},postfixLookupClassGroups:[`container-type`],orderSensitiveModifiers:[`*`,`**`,`after`,`backdrop`,`before`,`details-content`,`file`,`first-letter`,`first-line`,`marker`,`placeholder`,`selection`]}});function lo(...e){return co(Pi(e))}function uo({open:e,onDismiss:t,onClick:n,children:r,closable:i=!1,autoDismissSecs:a,anchorSelector:o,offsetX:s=12,offsetY:c=6,className:l,style:u,testId:f}){let p=(0,d.useRef)(t);(0,d.useEffect)(()=>{p.current=t});let m=(0,d.useRef)(n);(0,d.useEffect)(()=>{m.current=n});let h=a==null?0:Math.max(1,a)*1e3;(0,d.useEffect)(()=>{if(!e||h<=0)return;let t=setTimeout(()=>p.current(),h);return()=>clearTimeout(t)},[e,h]);let g=(0,d.useRef)(null);if((0,d.useLayoutEffect)(()=>{let t=g.current;if(!e||!t||o==null)return;let n=requestAnimationFrame(()=>{let e=t.offsetParent;if(!e)return;let n=e.getBoundingClientRect(),r=o?document.querySelector(o):null;if(r){let e=r.getBoundingClientRect();t.style.left=`${e.right-n.left+s}px`,t.style.top=`${e.bottom-n.top+c}px`}else t.style.left=`${n.width-t.offsetWidth-12}px`,t.style.top=`8px`});return()=>cancelAnimationFrame(n)},[e,o,s,c]),!e)return null;let _=i||a==null;return(0,T.jsxs)(`div`,{"data-testid":f,ref:g,className:lo(`flex items-center rounded-lg border border-border bg-popover text-xs text-muted-foreground shadow-lg`,o!=null&&`absolute z-60`,n&&`cursor-pointer`,l),style:u,onClick:()=>{p.current(),m.current?.()},children:[(0,T.jsx)(`span`,{className:`flex items-center px-3 py-1.5 whitespace-nowrap`,children:r}),_&&(0,T.jsx)(`button`,{type:`button`,"aria-label":`close hint`,className:`mr-1.5 flex items-center rounded p-0.5 text-muted-foreground/70 hover:bg-muted hover:text-foreground`,onClick:e=>{e.stopPropagation(),p.current()},children:(0,T.jsx)(ji,{size:12})})]})}function fo(e){return{value:(0,d.useSyncExternalStore)(t=>e.subscribe(t),()=>e.get(),()=>e.get()),error:e.getError()}}function po(e,t){let n=(0,d.useRef)(t);(n.current.length!==t.length||n.current.some((e,n)=>e!==t[n]))&&e(),n.current=t}var mo=t(c(),1);function ho(e,t){let{onRelease:n,moveTolerancePx:r=0}=t??{},i=(0,d.useRef)(null),a=(0,d.useRef)(!1),o=(0,d.useRef)(null),s=(0,d.useRef)(e),c=(0,d.useRef)(n);(0,d.useEffect)(()=>{s.current=e,c.current=n},[e,n]);let l=(0,d.useCallback)(()=>{o.current?.(),o.current=null},[]),u=(0,d.useCallback)(()=>{i.current!==null&&(clearTimeout(i.current),i.current=null),l()},[l]);return(0,d.useEffect)(()=>u,[u]),{startLongPress:(0,d.useCallback)(e=>{if(u(),a.current=!1,i.current=window.setTimeout(()=>{i.current=null,l(),a.current=!0,s.current()},500),r<=0||e===void 0)return;let t={x:e.clientX,y:e.clientY},n=e=>{Math.hypot(e.clientX-t.x,e.clientY-t.y)>r&&u()},c=()=>l();document.addEventListener(`pointermove`,n,!0),document.addEventListener(`pointerup`,c,!0),document.addEventListener(`pointercancel`,c,!0),o.current=()=>{document.removeEventListener(`pointermove`,n,!0),document.removeEventListener(`pointerup`,c,!0),document.removeEventListener(`pointercancel`,c,!0)}},[u,r,l]),endLongPress:(0,d.useCallback)(()=>{u(),c.current?.()},[u]),suppressClickCapture:(0,d.useCallback)(e=>{a.current&&(a.current=!1,e.preventDefault(),e.stopPropagation())},[]),suppressNextClick:(0,d.useCallback)(()=>{a.current=!0},[])}}var go=null;function _o({children:e}){return(0,T.jsx)(T.Fragment,{children:e})}function vo({mobileTrigger:e,children:t,visible:n,show:r,hide:i,triggerRef:a}){let o=mt(),s=e??`auto`,c=Array.isArray(t)?t[0]:t,l=c&&typeof c==`object`&&`props`in c?c.props??null:null,u=l!=null&&(l.onClick!==void 0||l.onPointerDown!==void 0),f=o&&s!==`none`&&(s===`tap`||!u),p=o&&s===`auto`&&u,{startLongPress:m,endLongPress:h,suppressClickCapture:g}=ho(()=>r(),{onRelease:()=>{n&&i()}});return(0,d.useEffect)(()=>{if(!f)return;let e=e=>{a.current?.contains(e.target)||i()};return document.addEventListener(`pointerdown`,e,!0),()=>document.removeEventListener(`pointerdown`,e,!0)},[f,i,a]),{tapTrigger:f,longPressTrigger:p,startLongPress:m,endLongPress:h,suppressClickCapture:g}}function yo({tapTrigger:e,longPressTrigger:t,hoverOnly:n,show:r,hide:i,toggleTap:a,startLongPress:o,endLongPress:s,suppressClickCapture:c}){return e||t?{onPointerEnter:void 0,onPointerLeave:void 0,onMouseEnter:void 0,onMouseLeave:void 0,onFocus:void 0,onBlur:void 0,onPointerDown:e?a:o,onPointerUp:t?s:void 0,onPointerCancel:t?s:void 0,onClickCapture:t?c:void 0}:{onPointerEnter:r,onPointerLeave:i,onMouseEnter:r,onMouseLeave:i,onFocus:n?void 0:r,onBlur:n?void 0:i,onPointerDown:void 0,onPointerUp:void 0,onPointerCancel:void 0,onClickCapture:void 0}}function F({label:e,wrapperStyle:t,hoverOnly:n,mobileTrigger:r,panelMaxWidth:i,children:a}){let o=(0,d.useRef)(null),s=(0,d.useRef)(null),[c,l]=(0,d.useState)(!1),[u,f]=(0,d.useState)(!1),[p,m]=(0,d.useState)({top:0,left:0,placement:`bottom`});(0,d.useLayoutEffect)(()=>{if(!e||!c||!u)return;let t=o.current?.getBoundingClientRect(),n=s.current;if(!t||!n)return;let r=n.offsetWidth,i=n.offsetHeight;if(!r)return;let a=t.left+t.width/2,l=r/2,d=window.innerWidth,f=window.innerHeight,p=Math.max(l+8,Math.min(a,d-l-8)),h=t.bottom+6+i<=f-8,g=t.top-6-i>=8,_=h||!g?`bottom`:`top`;m({top:_===`bottom`?t.bottom+6:t.top-6,left:p,placement:_})},[e,c,u]);let h=(0,d.useRef)(null),g=(0,d.useCallback)(()=>{let e=go;e&&e!==h.current&&e.hide(),go=h.current;let t=o.current?.getBoundingClientRect();t&&m({top:t.bottom+6,left:t.left+t.width/2,placement:`bottom`}),f(!0),l(!0)},[]),_=(0,d.useCallback)(()=>{l(!1),go===h.current&&(go=null)},[]);h.current||={hide:_};let v=()=>{c?_():g()},y=vo({mobileTrigger:r,children:a,visible:c,show:g,hide:_,triggerRef:o});if((0,d.useEffect)(()=>()=>{go===h.current&&(go=null)},[]),(0,d.useEffect)(()=>{if(!c||y.tapTrigger||y.longPressTrigger)return;let e=e=>{let t=o.current?.getBoundingClientRect();if(!t)return;let{clientX:n,clientY:r}=e;(n<t.left||n>t.right||r<t.top||r>t.bottom)&&_()};return document.addEventListener(`pointermove`,e,!0),()=>document.removeEventListener(`pointermove`,e,!0)},[c,y.tapTrigger,y.longPressTrigger,_]),!e)return(0,T.jsx)(T.Fragment,{children:a});let b=u&&typeof document<`u`?(0,mo.createPortal)((0,T.jsx)(`div`,{ref:s,role:`tooltip`,"data-slot":`tooltip-content`,style:{position:`fixed`,top:p.top,left:p.left,transform:p.placement===`top`?`translate(-50%, -100%)`:`translateX(-50%)`,zIndex:9999,width:`max-content`,maxWidth:`min(${i==null?`max(40vw, 40em)`:typeof i==`number`?`${i}px`:i}, calc(100vw - 16px))`,maxHeight:`calc(100dvh - 16px)`,overflowY:`auto`,whiteSpace:`pre-line`,overflowWrap:`break-word`,background:`var(--bg-panel)`,color:`var(--text)`,border:`1px solid var(--border)`,borderRadius:`var(--radius-md, 6px)`,padding:`4px 8px`,fontSize:`var(--text-sm)`,lineHeight:1.5,boxShadow:`0 4px 16px -2px var(--shadow-strong)`,pointerEvents:`none`,display:c?`block`:`none`},children:e}),document.body):null;return(0,T.jsxs)(T.Fragment,{children:[(0,T.jsx)(`span`,{ref:o,"data-slot":`tooltip-trigger`,title:``,...yo({tapTrigger:y.tapTrigger,longPressTrigger:y.longPressTrigger,hoverOnly:n,show:g,hide:_,toggleTap:v,startLongPress:y.startLongPress,endLongPress:y.endLongPress,suppressClickCapture:y.suppressClickCapture}),onPointerMove:e=>e.stopPropagation(),style:{display:`inline-flex`,...t},children:a}),b]})}function bo({label:e,hint:t,children:n,bare:r}){return(0,T.jsxs)(xo,{bare:r,children:[(0,T.jsxs)(`div`,{style:{display:`flex`,alignItems:`center`,gap:6,minWidth:0},children:[(0,T.jsx)(`span`,{style:{fontSize:`var(--text-lg)`,color:`var(--text)`,fontWeight:500,whiteSpace:`nowrap`},children:e}),t&&(0,T.jsx)(F,{label:t,children:(0,T.jsx)(`span`,{role:`img`,"aria-label":t,style:{fontSize:`var(--text-sm)`,color:`var(--text-dim)`,cursor:`help`,lineHeight:1,flexShrink:0},children:`ⓘ`})})]}),(0,T.jsx)(`div`,{style:{flex:1,minWidth:0,maxWidth:320},children:n})]})}function xo({children:e,bare:t}){return(0,T.jsx)(`div`,{style:{display:`flex`,alignItems:`center`,justifyContent:`space-between`,gap:16,padding:`10px 14px`,...t?{}:{border:`1px solid var(--border)`,borderRadius:10,background:`var(--bg-input)`}},children:e})}var So=[{key:`enableAnalytics`,kind:`bool`},{key:`enableInstallTelemetry`,kind:`bool`,default:!0},{key:`httpProxy`,kind:`string`},{key:`trackingId`,kind:`string`},{key:`httpIdleTimeoutMs`,kind:`int`},{key:`websocketConnectTimeoutMs`,kind:`int`},{key:`branchSummary`,kind:`object`,fields:[{key:`reserveTokens`,kind:`int`},{key:`skipPrompt`,kind:`bool`}]},{key:`images`,kind:`object`,fields:[{key:`autoResize`,kind:`bool`,default:!0,hint:`preferences.pi.autoResizeHint`},{key:`blockImages`,kind:`bool`,hint:`preferences.pi.blockImagesHint`}]}],Co={};function wo(){let{t:e}=M(),t=(0,d.useSyncExternalStore)(wt.subscribe,()=>wt.get()?.piSettings??Co),n=e=>{Kn(`/api/preferences`,{method:`PUT`,headers:{"Content-Type":`application/json`},body:JSON.stringify({firstPaint:{piSettings:e}})},{loading:`silent`}).finally(()=>void wt.refresh().catch(e=>console.error(`[pi-web] refresh preferences:`,e)))},r=(e,t)=>n({[e]:t}),i=(e,r,i)=>{let a=t[e]??{};n({[e]:{...a,[r]:i}})};return(0,T.jsx)(`div`,{style:{height:`100%`,overflowY:`auto`,padding:`18px 20px 40px`,display:`flex`,flexDirection:`column`,gap:8,maxWidth:640},children:So.map(n=>(0,T.jsx)(To,{spec:n,value:t[n.key],t:e,setValue:r,setSub:i},n.key))})}function To({spec:e,value:t,t:n,setValue:r,setSub:i}){return(0,T.jsx)(bo,{label:n(`preferences.pi.${e.key}`),hint:n(`preferences.pi.${e.key}Hint`),children:(0,T.jsxs)(`div`,{style:{display:`flex`,flexDirection:`column`,gap:8,width:`100%`},children:[e.kind===`bool`&&(0,T.jsx)(`label`,{style:{display:`flex`,alignItems:`center`,gap:6,fontSize:`var(--text-base)`,color:`var(--text-muted)`,whiteSpace:`nowrap`},children:(0,T.jsx)(`input`,{type:`checkbox`,checked:(t??e.default)===!0,onChange:t=>r(e.key,t.target.checked),"aria-label":n(`preferences.pi.${e.key}`)})}),e.kind===`string`&&(0,T.jsx)(Do,{value:typeof t==`string`?t:``,placeholder:n(`preferences.pi.unset`),onCommit:t=>r(e.key,t),ariaLabel:n(`preferences.pi.${e.key}`)}),e.kind===`int`&&(0,T.jsx)(Do,{value:typeof t==`number`?String(t):``,placeholder:n(`preferences.pi.unset`),numeric:!0,onCommit:t=>r(e.key,Number(t)),ariaLabel:n(`preferences.pi.${e.key}`)}),e.kind===`object`&&e.fields?.map(r=>(0,T.jsx)(Eo,{sub:r,value:t?.[r.key],t:n,setSub:i,specKey:e.key},r.key))]})})}function Eo({specKey:e,sub:t,value:n,t:r,setSub:i}){let a=n=>i(e,t.key,n),o=r(`preferences.pi.${t.key}`);return(0,T.jsxs)(`label`,{style:{display:`flex`,alignItems:`center`,gap:6,fontSize:`var(--text-base)`,color:`var(--text-muted)`,whiteSpace:`nowrap`},children:[(0,T.jsx)(`span`,{style:{minWidth:120},children:o}),t.hint&&(0,T.jsx)(F,{label:r(t.hint),children:(0,T.jsx)(`span`,{role:`img`,"aria-label":r(t.hint),style:{fontSize:`var(--text-sm)`,color:`var(--text-dim)`,cursor:`help`,lineHeight:1,flexShrink:0},children:`ⓘ`})}),t.kind===`bool`&&(0,T.jsx)(`input`,{type:`checkbox`,checked:(n??t.default)===!0,onChange:e=>a(e.target.checked),"aria-label":o}),t.kind===`string`&&(0,T.jsx)(Do,{value:typeof n==`string`?n:``,placeholder:r(`preferences.pi.unset`),onCommit:a,ariaLabel:o}),t.kind===`int`&&(0,T.jsx)(Do,{value:typeof n==`number`?String(n):``,placeholder:r(`preferences.pi.unset`),numeric:!0,onCommit:e=>a(Number(e)),ariaLabel:o})]})}function Do({value:e,placeholder:t,numeric:n,onCommit:r,ariaLabel:i}){let[a,o]=(0,d.useState)(e);return po(()=>o(e),[e]),(0,T.jsx)(`input`,{type:n?`number`:`text`,min:n?1:void 0,placeholder:t,value:a,onChange:e=>o(e.target.value),onBlur:()=>{let e=a.trim();if(e!==``){if(n){let t=Number(e);if(!Number.isInteger(t)||t<=0)return}r(e)}},"aria-label":i,style:{width:200,padding:`4px 6px`,fontSize:`var(--text-base)`,fontFamily:`var(--font-mono)`,color:`var(--text)`,background:`var(--bg-input)`,border:`1px solid var(--border)`,borderRadius:6,outline:`none`}})}var Oo=1200,ko=320,Ao=420;function jo(e,t,n){return Math.round(Math.max(t,Math.min(Math.max(t,n),Number.isFinite(e)?e:t)))}function Mo(e){let{viewportWidth:t,rightPanelOpen:n,rightPanelWidth:r}=e;if(t<=640)return 480;let i=t<960,a=i?ko:Ao,o=!i&&n?r:0;return Math.min(480,t-a-o)}function No(e){let{viewportWidth:t,sidebarOpen:n,sidebarWidth:r}=e;if(t<960)return Oo;let i=n?r:0;return Math.min(Oo,t-Ao-i)}var I={xs:10,sm:11,base:12,lg:13,xl:14,"2xl":15,"3xl":16,"4xl":18,"5xl":20};function Po({label:e,onClick:t}){return(0,T.jsx)(`button`,{type:`button`,onClick:t,"aria-label":e,title:e,style:{display:`flex`,alignItems:`center`,justifyContent:`center`,width:22,height:22,padding:0,border:`1px solid var(--border)`,borderRadius:5,color:`var(--text-muted)`,cursor:`pointer`,flexShrink:0},children:(0,T.jsxs)(`svg`,{width:I.base,height:I.base,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`,"aria-hidden":`true`,children:[(0,T.jsx)(`path`,{d:`M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8`}),(0,T.jsx)(`path`,{d:`M3 3v5h5`})]})})}var Fo={boxSizing:`border-box`,background:`var(--bg-input, var(--bg))`,color:`var(--text)`,border:`1px solid var(--border)`,borderRadius:4,padding:`4px 8px`,fontSize:`var(--text-base)`,fontFamily:`var(--font-mono)`};function Io({value:e,onChange:t,parse:n}){let[r,i]=(0,d.useState)(String(e));return po(()=>{i(String(e))},[e]),{draft:r,commit:e=>{i(e);let r=n(e);r!==null&&t(r)}}}function Lo({tooltip:e=!1,offText:t,...n}){let{t:r,labelKey:i,unitText:a,rangeText:o,resetText:s,defaultValue:c,min:l,max:u}=n,{draft:d,commit:f}=Io(n),p=t!=null&&n.value===c?t:o,m=(0,T.jsx)(`input`,{type:`number`,min:l,max:u,step:1,value:d,onChange:e=>f(e.target.value),"aria-label":r(i),...e?{}:{title:p},style:{flex:1,minWidth:0,...Fo}}),h=(0,T.jsx)(Po,{label:s,onClick:()=>n.onChange(c)});return(0,T.jsxs)(`div`,{style:{display:`flex`,alignItems:`center`,gap:8,width:`100%`},children:[e?(0,T.jsx)(F,{label:p,wrapperStyle:{flex:1,display:`flex`},children:m}):m,(0,T.jsx)(`span`,{style:{fontFamily:`var(--font-mono)`,fontSize:`var(--text-sm)`,color:`var(--text-dim)`,whiteSpace:`nowrap`},children:a}),e?(0,T.jsx)(F,{label:s,children:h}):h]})}function Ro({unitSuffix:e,offText:t,tooltip:n=!0,...r}){let{t:i,labelKey:a,rangeText:o,resetText:s,value:c,defaultValue:l,min:u,max:d}=r,{draft:f,commit:p}=Io(r);return(0,T.jsxs)(`div`,{role:`menu`,"aria-label":i(a),style:{background:`var(--bg-panel)`,borderLeft:`1px solid var(--border)`,borderRight:`1px solid var(--border)`,borderBottom:`1px solid var(--border)`,padding:`10px 12px 12px`},children:[(0,T.jsxs)(`div`,{style:{display:`flex`,alignItems:`center`,justifyContent:`space-between`,fontSize:`var(--text-base)`,color:`var(--text-muted)`,marginBottom:8},children:[(0,T.jsx)(`span`,{children:i(a)}),(0,T.jsxs)(`span`,{style:{display:`flex`,alignItems:`center`,gap:8},children:[(0,T.jsxs)(`span`,{style:{fontFamily:`var(--font-mono)`,color:`var(--text)`,fontWeight:600},children:[c,e]}),(()=>{let e=(0,T.jsx)(Po,{label:s,onClick:()=>r.onChange(l)});return n?(0,T.jsx)(F,{label:s,children:e}):e})()]})]}),(0,T.jsx)(`input`,{type:`number`,min:u,max:d,step:1,value:f,onChange:e=>p(e.target.value),"aria-label":i(a),style:{width:`100%`,...Fo}}),(0,T.jsx)(`div`,{style:{fontSize:`var(--text-xs)`,color:`var(--text-dim)`,marginTop:4,textAlign:`center`},children:t!=null&&c===l?t:o})]})}function zo({value:e,onChange:t,t:n,embedded:r}){let i={value:e,onChange:t,parse:an,min:1,max:nn,defaultValue:200,t:n,labelKey:`theme.scrollStep`,unitText:n(`scrollStep.unit`),rangeText:n(`scrollStep.range`),resetText:n(`scrollStep.reset`,{n:200})};return r?(0,T.jsx)(Lo,{...i,tooltip:!0}):(0,T.jsx)(Ro,{...i,unitSuffix:`px`})}function Bo({sidebarWidth:e,onSidebarWidthChange:t,widgetPanelWidth:n,onWidgetPanelWidthChange:r}){let{t:i}=M(),{isDark:a,toggleTheme:o,fontScale:s,setFontScale:c,scrollStepPx:l,setScrollStepPx:u,recentBlocksExpanded:d,setRecentBlocksExpanded:f}=er();return(0,T.jsxs)(`div`,{style:{height:`100%`,overflowY:`auto`,padding:`18px 20px 40px`,display:`flex`,flexDirection:`column`,gap:8,maxWidth:640},children:[(0,T.jsx)(bo,{label:i(`theme.toggleTheme`),children:(0,T.jsx)(`div`,{style:{display:`flex`,alignItems:`center`,gap:16,width:`100%`},children:[{value:!0,key:`dark`,labelKey:`theme.darkMode`},{value:!1,key:`light`,labelKey:`theme.lightMode`}].map(({value:e,key:t,labelKey:n})=>(0,T.jsxs)(`label`,{style:{display:`flex`,alignItems:`center`,gap:6,fontSize:`var(--text-base)`,color:`var(--text)`,cursor:`pointer`,whiteSpace:`nowrap`},children:[(0,T.jsx)(`input`,{type:`radio`,name:`theme-mode`,checked:a===e,onChange:e=>{let t=e.currentTarget.getBoundingClientRect();o({x:t.left+t.width/2,y:t.top+t.height/2})},style:{accentColor:`var(--accent)`,cursor:`pointer`,margin:0}}),i(n)]},t))})}),(0,T.jsx)(bo,{label:i(`theme.fontSize`),children:(0,T.jsxs)(`div`,{style:{display:`flex`,alignItems:`center`,gap:10,width:`100%`},children:[(0,T.jsx)(`input`,{type:`range`,min:.85,max:1.3,step:.05,value:s,onChange:e=>c(Number(e.target.value)),"aria-label":i(`theme.fontSize`),style:{flex:1,accentColor:`var(--accent)`,cursor:`pointer`}}),(0,T.jsxs)(`span`,{style:{fontFamily:`var(--font-mono)`,fontSize:`var(--text-base)`,color:`var(--text)`,fontWeight:600,minWidth:44,textAlign:`right`},children:[Math.round(s*100),`%`]})]})}),(0,T.jsx)(bo,{label:i(`theme.scrollStep`),hint:i(`scrollStep.hint`),children:(0,T.jsx)(zo,{value:l,onChange:u,t:i,embedded:!0})}),(0,T.jsx)(bo,{label:i(`theme.recentBlocksExpanded`),hint:i(`recentBlocks.hint`),children:(0,T.jsx)(Ho,{value:d,onChange:f,t:i})}),(0,T.jsx)(bo,{label:i(`layout.sidebarWidth`),hint:i(`layout.widthRange`,{min:180,max:480}),children:(0,T.jsx)(Vo,{value:e,onChange:t,min:180,max:480,resetTo:280,label:i(`layout.sidebarWidth`),t:i})}),(0,T.jsx)(bo,{label:i(`layout.widgetPanelWidth`),hint:i(`layout.widthRange`,{min:200,max:560}),children:(0,T.jsx)(Vo,{value:n,onChange:r,min:200,max:560,resetTo:280,label:i(`layout.widgetPanelWidth`),t:i})}),` `]})}function Vo({value:e,onChange:t,min:n,max:r,resetTo:i,label:a,t:o}){return(0,T.jsxs)(`div`,{style:{display:`flex`,alignItems:`center`,gap:8,minWidth:0},children:[(0,T.jsx)(`input`,{type:`number`,value:e,min:n,max:r,onChange:e=>{let i=Number.parseInt(e.target.value,10);Number.isFinite(i)&&t(Math.min(r,Math.max(n,i)))},onBlur:()=>t(e),"aria-label":a,style:{width:80,padding:`5px 8px`,border:`1px solid var(--border)`,borderRadius:7,background:`var(--bg)`,color:`var(--text)`,fontSize:`var(--text-lg)`,fontVariantNumeric:`tabular-nums`,outline:`none`}}),(0,T.jsx)(`span`,{style:{fontSize:`var(--text-sm)`,color:`var(--text-dim)`},children:`px`}),(0,T.jsx)(F,{label:o(`layout.widthReset`,{value:i}),children:(0,T.jsx)(Po,{label:o(`layout.widthReset`,{value:i}),onClick:()=>t(i)})})]})}function Ho({value:e,onChange:t,t:n}){return(0,T.jsx)(Lo,{tooltip:!0,value:e,onChange:t,parse:qt,min:0,max:20,defaultValue:0,t:n,labelKey:`theme.recentBlocksExpanded`,unitText:n(`longBlock.blocks`),rangeText:n(`recentBlocks.range`),resetText:n(`recentBlocks.reset`,{n:0})})}function Uo(e,t){let n=[],r=document.createTreeWalker(e,NodeFilter.SHOW_TEXT,{acceptNode(e){if(!(e.nodeValue??``).trim())return NodeFilter.FILTER_REJECT;let n=e.parentElement;if(!n)return NodeFilter.FILTER_REJECT;let r=n.tagName;return r===`SCRIPT`||r===`STYLE`||r===`NOSCRIPT`||t?.(e)===!0?NodeFilter.FILTER_REJECT:NodeFilter.FILTER_ACCEPT}}),i=r.nextNode();for(;i;)n.push(i),i=r.nextNode();return n}function Wo(e,t){let n=Uo(e,t),r=[],i=[],a=0;for(let e of n)i.push(a),r.push(e.nodeValue??``),a+=e.nodeValue?.length??0;return{text:r.join(``),nodes:n,starts:i}}function Go(e,t){let n=0,r=e.starts.length-1;for(;n<r;){let i=n+r+1>>1;e.starts[i]<=t?n=i:r=i-1}return{node:e.nodes[n],offset:t-e.starts[n]}}function Ko(e,t,n){let r=Wo(e,n),i=r.text.toLowerCase(),a=t.toLowerCase();if(!a)return[];let o=[],s=i.indexOf(a);for(;s!==-1&&o.length<1e4;){let e=document.createRange(),t=Go(r,s),n=Go(r,s+a.length);e.setStart(t.node,t.offset),e.setEnd(n.node,n.offset),o.push(e),s=i.indexOf(a,s+a.length)}return o}function qo(){return typeof CSS<`u`&&`highlights`in CSS}var Jo=`config-find-hits`,Yo=`config-pane-`,Xo=250,Zo=`[data-tab-id="config"]`;function Qo(e,t,n,r){return{x:Math.min(Math.max(4,e),Math.max(4,r.w-n.w-4)),y:Math.min(Math.max(4,t),Math.max(4,r.h-n.h-4))}}function $o({open:e,query:t,onQueryChange:n,onClose:r,contentRef:i,onCountsChange:a,reindexKey:o}){let{t:s}=M(),c=(0,d.useRef)(null),l=(0,d.useRef)(null),[u,f]=(0,d.useState)(0),p=t.trim(),m=(0,d.useRef)(null),h=(0,d.useRef)(null);return(0,d.useLayoutEffect)(()=>{if(!e){m.current=null;return}let t=l.current,n=t?.offsetParent;if(t&&n&&n.offsetWidth>0){let e=n.getBoundingClientRect(),r=document.querySelector(Zo),i,a;if(r){let t=r.getBoundingClientRect();i=t.right-e.left+12,a=t.bottom-e.top+6}else i=e.width-t.offsetWidth-12,a=8;let o=Qo(i,a,{w:t.offsetWidth,h:t.offsetHeight},{w:e.width,h:e.height});t.style.left=`${o.x}px`,t.style.top=`${o.y}px`,t.style.visibility=`visible`,m.current=o}c.current?.focus()},[e]),(0,d.useEffect)(()=>{let t=i.current;if(!e||!t||p.length<2){qo()&&CSS.highlights.delete(Jo),f(0),a(null);return}let n=!1,r=0,o=()=>{if(n)return;let e=Ko(t,p),r={};for(let t of e){let e=t.startContainer,n=((e.nodeType===Node.TEXT_NODE?e.parentElement:e)?.closest(`[data-testid^="${Yo}"]`))?.getAttribute(`data-testid`)?.slice(12);n&&(r[n]=(r[n]??0)+1)}qo()&&CSS.highlights.set(Jo,new Highlight(...e)),f(e.length),a(r)};o();let s=new MutationObserver(()=>{window.clearTimeout(r),r=window.setTimeout(o,Xo)});return s.observe(t,{childList:!0,subtree:!0,characterData:!0}),()=>{n=!0,window.clearTimeout(r),s.disconnect(),qo()&&CSS.highlights.delete(Jo)}},[e,p,o,i,a]),e?(0,T.jsxs)(`div`,{ref:l,className:`config-find-bar`,role:`search`,"data-testid":`config-find-bar`,style:{visibility:`hidden`},onPointerDown:e=>{e.target.closest(`input,button`)||m.current&&(e.currentTarget.setPointerCapture(e.pointerId),h.current={client:{x:e.clientX,y:e.clientY},start:m.current})},onPointerMove:e=>{let t=h.current,n=l.current,r=n?.offsetParent;if(!t||!n||!r)return;let i=r.getBoundingClientRect(),a=Qo(t.start.x+e.clientX-t.client.x,t.start.y+e.clientY-t.client.y,{w:n.offsetWidth,h:n.offsetHeight},{w:i.width,h:i.height});n.style.left=`${a.x}px`,n.style.top=`${a.y}px`,m.current=a},onPointerUp:e=>{h.current=null,e.currentTarget.releasePointerCapture(e.pointerId)},children:[(0,T.jsx)(`span`,{className:`config-find-grip`,"aria-hidden":`true`,children:(0,T.jsx)(Vr,{size:I.base})}),(0,T.jsx)(`input`,{ref:c,className:`file-find-input`,"data-testid":`config-find-input`,type:`text`,value:t,placeholder:s(`config.search.placeholder`),"aria-label":s(`config.search.open`),onChange:e=>n(e.target.value),onKeyDown:e=>{e.key===`Escape`&&(e.preventDefault(),r())}}),(0,T.jsx)(`span`,{className:`file-find-count`,"data-testid":`config-find-count`,children:p.length>=2?u>0?s(`config.search.matchCount`,{count:u}):s(`config.search.noResults`):``}),(0,T.jsx)(`button`,{type:`button`,className:`file-find-btn`,"aria-label":s(`i18n.close`),onClick:r,children:(0,T.jsx)(ji,{size:I.base})})]}):null}var es=`codemode`,ts=`tool_search`,ns=[`grep`,`find`,`ls`,`powershell`];function rs({names:e,selected:t,onToggle:n,disabled:r}){let{t:i}=M();return(0,T.jsx)(`div`,{style:{display:`flex`,flexWrap:`wrap`,gap:6},children:e.map(e=>{let a=t.includes(e),o=i(`preferences.defaultTools.toolDesc.${e}`);return(0,T.jsx)(F,{label:o,children:(0,T.jsx)(`button`,{type:`button`,disabled:r,onClick:()=>n(e),style:{padding:`3px 10px`,borderRadius:999,border:`1px solid ${a?`var(--accent)`:`var(--border)`}`,background:a?`color-mix(in srgb, var(--accent) 12%, transparent)`:`transparent`,color:a?`var(--accent)`:`var(--text-dim)`,fontFamily:`var(--font-mono)`,fontSize:`var(--text-sm)`,cursor:r?`not-allowed`:`pointer`},children:e})},e)})})}var is=e=>typeof e==`boolean`?`${e}`:e===0?`0`:e,as=Pi,os=(e,t)=>n=>{if(t?.variants==null)return as(e,n?.class,n?.className);let{variants:r,defaultVariants:i}=t,a=Object.keys(r).map(e=>{let t=n?.[e],a=i?.[e];if(t===null)return null;let o=is(t)||is(a);return r[e][o]}),o=n&&Object.entries(n).reduce((e,t)=>{let[n,r]=t;return r===void 0||(e[n]=r),e},{});return as(e,a,t?.compoundVariants?.reduce((e,t)=>{let{class:n,className:r,...a}=t;return Object.entries(a).every(e=>{let[t,n]=e;return Array.isArray(n)?n.includes({...i,...o}[t]):{...i,...o}[t]===n})?[...e,n,r]:e},[]),n?.class,n?.className)},ss=Object.defineProperty,cs=(e,t)=>ss(e,`name`,{value:t,configurable:!0});function ls(e,t){if(typeof e==`function`)return e(t);e!=null&&(e.current=t)}cs(ls,`setRef`);function us(...e){return t=>{let n=!1,r=e.map(e=>{let r=ls(e,t);return!n&&typeof r==`function`&&(n=!0),r});if(n)return()=>{for(let t=0;t<r.length;t++){let n=r[t];typeof n==`function`?n():ls(e[t],null)}}}}cs(us,`composeRefs`);function ds(...e){return d.useCallback(us(...e),e)}cs(ds,`useComposedRefs`);var fs=Object.defineProperty,ps=(e,t)=>fs(e,`name`,{value:t,configurable:!0});function ms(e){let t=d.forwardRef((t,n)=>{let{children:r,...i}=t,a=null,o=!1,s=[];Cs(r)&&typeof Ds==`function`&&(r=Ds(r._payload)),d.Children.forEach(r,e=>{if(xs(e)){o=!0;let t=e,n=`child`in t.props?t.props.child:t.props.children;Cs(n)&&typeof Ds==`function`&&(n=Ds(n._payload)),a=vs(t,n),s.push(a?.props?.children)}else s.push(e)}),a?a=d.cloneElement(a,void 0,s):!o&&d.Children.count(r)===1&&d.isValidElement(r)&&(a=r);let c=a?bs(a):void 0,l=ds(n,c);if(!a){if(r||r===0)throw Error(o?Es(e):Ts(e));return r}let u=ys(i,a.props??{});return a.type!==d.Fragment&&(u.ref=n?l:c),d.cloneElement(a,u)});return t.displayName=`${e}.Slot`,t}ps(ms,`createSlot`);var hs=ms(`Slot`),gs=Symbol.for(`radix.slottable`);function _s(e){let t=ps(e=>`child`in e?e.children(e.child):e.children,`Slottable`);return t.displayName=`${e}.Slottable`,t.__radixId=gs,t}ps(_s,`createSlottable`);var vs=ps((e,t)=>{if(`child`in e.props){let t=e.props.child;return d.isValidElement(t)?d.cloneElement(t,void 0,e.props.children(t.props.children)):null}return d.isValidElement(t)?t:null},`getSlottableElementFromSlottable`);function ys(e,t){let n={...t};for(let r in t){let i=e[r],a=t[r];/^on[A-Z]/.test(r)?i&&a?n[r]=(...e)=>{let t=a(...e);return i(...e),t}:i&&(n[r]=i):r===`style`?n[r]={...i,...a}:r===`className`&&(n[r]=[i,a].filter(Boolean).join(` `))}return{...e,...n}}ps(ys,`mergeProps`);function bs(e){let t=Object.getOwnPropertyDescriptor(e.props,`ref`)?.get,n=t&&`isReactWarning`in t&&t.isReactWarning;return n?e.ref:(t=Object.getOwnPropertyDescriptor(e,`ref`)?.get,n=t&&`isReactWarning`in t&&t.isReactWarning,n?e.props.ref:e.props.ref||e.ref)}ps(bs,`getElementRef`);function xs(e){return d.isValidElement(e)&&typeof e.type==`function`&&`__radixId`in e.type&&e.type.__radixId===gs}ps(xs,`isSlottable`);var Ss=Symbol.for(`react.lazy`);function Cs(e){return typeof e==`object`&&!!e&&`$$typeof`in e&&e.$$typeof===Ss&&`_payload`in e&&ws(e._payload)}ps(Cs,`isLazyComponent`);function ws(e){return typeof e==`object`&&!!e&&`then`in e}ps(ws,`isPromiseLike`);var Ts=ps(e=>`${e} failed to slot onto its children. Expected a single React element child or \`Slottable\`.`,`createSlotError`),Es=ps(e=>`${e} failed to slot onto its \`Slottable\`. Expected \`Slottable\` to receive a single React element child.`,`createSlottableError`),Ds=d.use,Os=Object.defineProperty,ks=(e,t)=>Os(e,`name`,{value:t,configurable:!0}),As=[`a`,`button`,`div`,`form`,`h2`,`h3`,`img`,`input`,`label`,`li`,`nav`,`ol`,`p`,`select`,`span`,`svg`,`ul`].reduce((e,t)=>{let n=ms(`Primitive.${t}`),r=d.forwardRef((e,r)=>{let{asChild:i,...a}=e,o=i?n:t;return typeof window<`u`&&(window[Symbol.for(`radix-ui`)]=!0),(0,T.jsx)(o,{...a,ref:r})});return r.displayName=`Primitive.${t}`,{...e,[t]:r}},{});function js(e,t){e&&mo.flushSync(()=>e.dispatchEvent(t))}ks(js,`dispatchDiscreteCustomEvent`);var Ms=Object.defineProperty,Ns=(e,t)=>Ms(e,`name`,{value:t,configurable:!0});function Ps(e,t){let n=d.createContext(t);n.displayName=e+`Context`;let r=Ns(e=>{let{children:t,...r}=e,i=d.useMemo(()=>r,Object.values(r));return(0,T.jsx)(n.Provider,{value:i,children:t})},`Provider`);r.displayName=e+`Provider`;function i(r,i={}){let{optional:a=!1}=i,o=d.useContext(n);if(o)return o;if(t!==void 0)return t;if(!a)throw Error(`\`${r}\` must be used within \`${e}\``)}return Ns(i,`useContext`),[r,i]}Ns(Ps,`createContext`);function Fs(e,t=[]){let n=[];function r(t,r){let i=d.createContext(r);i.displayName=t+`Context`;let a=n.length;n=[...n,r];let o=Ns(t=>{let{scope:n,children:r,...o}=t,s=n?.[e]?.[a]||i,c=d.useMemo(()=>o,Object.values(o));return(0,T.jsx)(s.Provider,{value:c,children:r})},`Provider`);o.displayName=t+`Provider`;function s(n,o,s={}){let{optional:c=!1}=s,l=o?.[e]?.[a]||i,u=d.useContext(l);if(u)return u;if(r!==void 0)return r;if(!c)throw Error(`\`${n}\` must be used within \`${t}\``)}return Ns(s,`useContext`),[o,s]}Ns(r,`createContext`);let i=Ns(()=>{let t=n.map(e=>d.createContext(e));return Ns(function(n){let r=n?.[e]||t;return d.useMemo(()=>({[`__scope${e}`]:{...n,[e]:r}}),[n,r])},`useScope`)},`createScope`);return i.scopeName=e,[r,Is(i,...t)]}Ns(Fs,`createContextScope`);function Is(...e){let t=e[0];if(e.length===1)return t;let n=Ns(()=>{let n=e.map(e=>({useScope:e(),scopeName:e.scopeName}));return Ns(function(e){let r=n.reduce((t,{useScope:n,scopeName:r})=>{let i=n(e)[`__scope${r}`];return{...t,...i}},{});return d.useMemo(()=>({[`__scope${t.scopeName}`]:r}),[r])},`useComposedScopes`)},`createScope`);return n.scopeName=t.scopeName,n}Ns(Is,`composeContextScopes`);var Ls=Object.defineProperty,Rs=(e,t)=>Ls(e,`name`,{value:t,configurable:!0}),zs=!!(typeof window<`u`&&window.document&&window.document.createElement);function Bs(e,t,{checkForDefaultPrevented:n=!0}={}){return Rs(function(r){if(e?.(r),n===!1||!r||!r.defaultPrevented)return t?.(r)},`handleEvent`)}Rs(Bs,`composeEventHandlers`);function Vs(e){if(!zs)throw Error(`Cannot access window outside of the DOM`);return e?.ownerDocument?.defaultView??window}Rs(Vs,`getOwnerWindow`);function Hs(e){if(!zs)throw Error(`Cannot access document outside of the DOM`);return e?.ownerDocument??document}Rs(Hs,`getOwnerDocument`);function Us(e,t=!1){let{activeElement:n}=Hs(e);if(!n?.nodeName)return null;if(Ws(n)&&n.contentDocument)return Us(n.contentDocument.body,t);if(t){let e=n.getAttribute(`aria-activedescendant`);if(e){let t=Hs(n).getElementById(e);if(t)return t}}return n}Rs(Us,`getActiveElement`);function Ws(e){return e.tagName===`IFRAME`}Rs(Ws,`isFrame`);var Gs=globalThis?.document?d.useLayoutEffect:()=>{},Ks=Object.defineProperty,qs=(e,t)=>Ks(e,`name`,{value:t,configurable:!0}),Js=d.useEffectEvent,Ys=d.useInsertionEffect;function Xs(e){if(typeof Js==`function`)return Js(e);let t=d.useRef(()=>{throw Error(`Cannot call an event handler while rendering.`)});return typeof Ys==`function`?Ys(()=>{t.current=e}):Gs(()=>{t.current=e}),d.useMemo(()=>((...e)=>t.current?.(...e)),[])}qs(Xs,`useEffectEvent`);var Zs=Object.defineProperty,Qs=(e,t)=>Zs(e,`name`,{value:t,configurable:!0}),$s=d.useInsertionEffect||Gs;function ec({prop:e,defaultProp:t,onChange:n=Qs(()=>{},`onChange`),caller:r}){let[i,a,o]=tc({defaultProp:t,onChange:n}),s=e!==void 0;return[s?e:i,d.useCallback(t=>{if(s){let n=nc(t)?t(e):t;n!==e&&o.current?.(n)}else a(t)},[s,e,a,o])]}Qs(ec,`useControllableState`);function tc({defaultProp:e,onChange:t}){let[n,r]=d.useState(e),i=d.useRef(n),a=d.useRef(t);return $s(()=>{a.current=t},[t]),d.useEffect(()=>{i.current!==n&&(a.current?.(n),i.current=n)},[n,i]),[n,r,a]}Qs(tc,`useUncontrolledState`);function nc(e){return typeof e==`function`}Qs(nc,`isFunction`);var rc=Symbol(`RADIX:SYNC_STATE`);function ic(e,t,n,r){let{prop:i,defaultProp:a,onChange:o,caller:s}=t,c=i!==void 0,l=Xs(o),u=[{...n,state:a}];r&&u.push(r);let[f,p]=d.useReducer((t,n)=>{if(n.type===rc)return{...t,state:n.state};let r=e(t,n);return c&&!Object.is(r.state,t.state)&&l(r.state),r},...u),m=f.state,h=d.useRef(m);d.useEffect(()=>{h.current!==m&&(h.current=m,c||l(m))},[m,h,c]);let g=d.useMemo(()=>i===void 0?f:{...f,state:i},[f,i]);return d.useEffect(()=>{c&&!Object.is(i,f.state)&&p({type:rc,state:i})},[i,f.state,c]),[g,p]}Qs(ic,`useControllableStateReducer`);var ac=Object.defineProperty,oc=(e,t)=>ac(e,`name`,{value:t,configurable:!0});function sc(e,t){return d.useReducer((e,n)=>t[e][n]??e,e)}oc(sc,`useStateMachine`);var cc=oc(e=>{let{present:t,children:n}=e,r=lc(t),i=typeof n==`function`?n({present:r.isPresent}):d.Children.only(n),a=dc(r.ref,pc(i));return typeof n==`function`||r.isPresent?d.cloneElement(i,{ref:a}):null},`Presence`);function lc(e){let[t,n]=d.useState(),r=d.useRef(null),i=d.useRef(e),a=d.useRef(`none`),o=d.useRef(void 0),[s,c]=sc(e?`mounted`:`unmounted`,{mounted:{UNMOUNT:`unmounted`,ANIMATION_OUT:`unmountSuspended`},unmountSuspended:{MOUNT:`mounted`,ANIMATION_END:`unmounted`},unmounted:{MOUNT:`mounted`}});return d.useEffect(()=>{s===`mounted`?(a.current=o.current??fc(r.current),o.current=void 0):a.current=`none`},[s]),Gs(()=>{let t=r.current,n=i.current;if(n!==e){let r=a.current,s=fc(t);e?(o.current=s,c(`MOUNT`)):s===`none`||t?.display===`none`?c(`UNMOUNT`):c(n&&r!==s?`ANIMATION_OUT`:`UNMOUNT`),i.current=e}},[e,c]),Gs(()=>{if(t){let e,n=t.ownerDocument.defaultView??window,o=oc(a=>{let o=fc(r.current).includes(CSS.escape(a.animationName));if(a.target===t&&o&&(c(`ANIMATION_END`),!i.current)){let r=t.style.animationFillMode;t.style.animationFillMode=`forwards`,e=n.setTimeout(()=>{t.style.animationFillMode===`forwards`&&(t.style.animationFillMode=r)})}},`handleAnimationEnd`),s=oc(e=>{e.target===t&&(a.current=fc(r.current))},`handleAnimationStart`);return t.addEventListener(`animationstart`,s),t.addEventListener(`animationcancel`,o),t.addEventListener(`animationend`,o),()=>{n.clearTimeout(e),t.removeEventListener(`animationstart`,s),t.removeEventListener(`animationcancel`,o),t.removeEventListener(`animationend`,o)}}c(`ANIMATION_END`)},[t,c]),{isPresent:[`mounted`,`unmountSuspended`].includes(s),ref:d.useCallback(e=>{if(e){let t=getComputedStyle(e);r.current=t,o.current=fc(t)}else r.current=null;n(e)},[])}}oc(lc,`usePresence`);function uc(e,t){if(typeof e==`function`)return e(t);e!=null&&(e.current=t)}oc(uc,`setRef`);function dc(...e){let t=d.useRef(e);return t.current=e,d.useCallback(e=>{let n=t.current,r=!1,i=n.map(t=>{let n=uc(t,e);return!r&&typeof n==`function`&&(r=!0),n});if(r)return()=>{for(let e=0;e<i.length;e++){let t=i[e];typeof t==`function`?t():uc(n[e],null)}}},[])}oc(dc,`useStableComposedRefs`);function fc(e){return e?.animationName||`none`}oc(fc,`getAnimationName`);function pc(e){let t=Object.getOwnPropertyDescriptor(e.props,`ref`)?.get,n=t&&`isReactWarning`in t&&t.isReactWarning;return n?e.ref:(t=Object.getOwnPropertyDescriptor(e,`ref`)?.get,n=t&&`isReactWarning`in t&&t.isReactWarning,n?e.props.ref:e.props.ref||e.ref)}oc(pc,`getElementRef`);var mc=Object.defineProperty,hc=(e,t)=>mc(e,`name`,{value:t,configurable:!0}),gc=d.useId||(()=>void 0),_c=0;function vc(e){let[t,n]=d.useState(gc());return Gs(()=>{e||n(e=>e??String(_c++))},[e]),e||(t?`radix-${t}`:``)}hc(vc,`useId`);var yc=Object.defineProperty,bc=(e,t)=>yc(e,`name`,{value:t,configurable:!0}),xc=`Collapsible`,[Sc,Cc]=Fs(xc),[wc,Tc]=Sc(xc),Ec=d.forwardRef(bc(function(e,t){let{__scopeCollapsible:n,open:r,defaultOpen:i,disabled:a,onOpenChange:o,...s}=e,[c,l]=ec({prop:r,defaultProp:i??!1,onChange:o,caller:xc});return(0,T.jsx)(wc,{scope:n,disabled:a,contentId:vc(),open:c,onOpenToggle:d.useCallback(()=>l(e=>!e),[l]),children:(0,T.jsx)(As.div,{"data-state":Mc(c),"data-disabled":a?``:void 0,...s,ref:t})})},`Collapsible`)),Dc=`CollapsibleTrigger`,Oc=d.forwardRef(bc(function(e,t){let{__scopeCollapsible:n,...r}=e,i=Tc(Dc,n);return(0,T.jsx)(As.button,{type:`button`,"aria-controls":i.open?i.contentId:void 0,"aria-expanded":i.open||!1,"data-state":Mc(i.open),"data-disabled":i.disabled?``:void 0,disabled:i.disabled,...r,ref:t,onClick:Bs(e.onClick,i.onOpenToggle)})},`CollapsibleTrigger`)),kc=`CollapsibleContent`,Ac=d.forwardRef(bc(function(e,t){let{forceMount:n,...r}=e,i=Tc(kc,e.__scopeCollapsible);return(0,T.jsx)(cc,{present:n||i.open,children:({present:e})=>(0,T.jsx)(jc,{...r,ref:t,present:e})})},`CollapsibleContent`)),jc=d.forwardRef(bc(function(e,t){let{__scopeCollapsible:n,present:r,children:i,...a}=e,o=Tc(kc,n),[s,c]=d.useState(r),l=d.useRef(null),u=ds(t,l),f=d.useRef(0),p=f.current,m=d.useRef(0),h=m.current,g=o.open||s,_=d.useRef(g),v=d.useRef(void 0);return d.useEffect(()=>{let e=requestAnimationFrame(()=>_.current=!1);return()=>cancelAnimationFrame(e)},[]),Gs(()=>{let e=l.current;if(e){v.current=v.current||{transitionDuration:e.style.transitionDuration,animationName:e.style.animationName},e.style.transitionDuration=`0s`,e.style.animationName=`none`;let t=e.getBoundingClientRect();f.current=t.height,m.current=t.width,_.current||(e.style.transitionDuration=v.current.transitionDuration,e.style.animationName=v.current.animationName),c(r)}},[o.open,r]),(0,T.jsx)(As.div,{"data-state":Mc(o.open),"data-disabled":o.disabled?``:void 0,id:o.contentId,hidden:!g,...a,ref:u,style:{"--radix-collapsible-content-height":p?`${p}px`:void 0,"--radix-collapsible-content-width":h?`${h}px`:void 0,...e.style},children:g&&i})},`CollapsibleContentImpl`));function Mc(e){return e?`open`:`closed`}bc(Mc,`getState`);var Nc=Ec,Pc=Object.defineProperty,Fc=(e,t)=>Pc(e,`name`,{value:t,configurable:!0});function Ic(e){let t=d.useRef(e);return d.useEffect(()=>{t.current=e}),d.useMemo(()=>((...e)=>t.current?.(...e)),[])}Fc(Ic,`useCallbackRef`);var Lc=Object.defineProperty,Rc=(e,t)=>Lc(e,`name`,{value:t,configurable:!0}),zc=`dismissableLayer.update`,Bc=`dismissableLayer.pointerDownOutside`,Vc=`dismissableLayer.focusOutside`,Hc,Uc=d.createContext({layers:new Set,layersWithOutsidePointerEventsDisabled:new Set,branches:new Set,dismissableSurfaces:new Set}),Wc=d.forwardRef(Rc(function(e,t){let{disableOutsidePointerEvents:n=!1,deferPointerDownOutside:r=!1,onEscapeKeyDown:i,onPointerDownOutside:a,onFocusOutside:o,onInteractOutside:s,onDismiss:c,...l}=e,u=d.useContext(Uc),[f,p]=d.useState(null),m=f?.ownerDocument??globalThis?.document,[,h]=d.useState({}),g=ds(t,p),_=Array.from(u.layers),[v]=[...u.layersWithOutsidePointerEventsDisabled].slice(-1),y=v?_.indexOf(v):-1,b=f?_.indexOf(f):-1,x=u.layersWithOutsidePointerEventsDisabled.size>0,S=b>=y,C=d.useRef(!1),w=qc(e=>{a?.(e),s?.(e),e.defaultPrevented||c?.()},{ownerDocument:m,deferPointerDownOutside:r,isDeferredPointerDownOutsideRef:C,dismissableSurfaces:u.dismissableSurfaces,shouldHandlePointerDownOutside:d.useCallback(e=>{if(!(e instanceof Node))return!1;let t=[...u.branches].some(t=>t.contains(e));return S&&!t},[u.branches,S])}),E=Jc(e=>{if(r&&C.current)return;let t=e.target;[...u.branches].some(e=>e.contains(t))||(o?.(e),s?.(e),e.defaultPrevented||c?.())},m),D=f?b===_.length-1:!1,O=Ic(e=>{e.key===`Escape`&&(i?.(e),!e.defaultPrevented&&c&&(e.preventDefault(),c()))});return d.useEffect(()=>{if(D)return m.addEventListener(`keydown`,O,{capture:!0}),()=>m.removeEventListener(`keydown`,O,{capture:!0})},[m,D,O]),d.useEffect(()=>{if(f)return n&&(u.layersWithOutsidePointerEventsDisabled.size===0&&(Hc=m.body.style.pointerEvents,m.body.style.pointerEvents=`none`),u.layersWithOutsidePointerEventsDisabled.add(f)),u.layers.add(f),Yc(),()=>{n&&(u.layersWithOutsidePointerEventsDisabled.delete(f),u.layersWithOutsidePointerEventsDisabled.size===0&&(m.body.style.pointerEvents=Hc))}},[f,m,n,u]),d.useEffect(()=>()=>{f&&(u.layers.delete(f),u.layersWithOutsidePointerEventsDisabled.delete(f),Yc())},[f,u]),d.useEffect(()=>{let e=Rc(()=>h({}),`handleUpdate`);return document.addEventListener(zc,e),()=>document.removeEventListener(zc,e)},[]),(0,T.jsx)(As.div,{...l,ref:g,style:{pointerEvents:x?S?`auto`:`none`:void 0,...e.style},onFocusCapture:Bs(e.onFocusCapture,E.onFocusCapture),onBlurCapture:Bs(e.onBlurCapture,E.onBlurCapture),onPointerDownCapture:Bs(e.onPointerDownCapture,w.onPointerDownCapture)})},`DismissableLayer`));function Gc(){let e=d.useContext(Uc),[t,n]=d.useState(null);return d.useEffect(()=>{if(t)return e.dismissableSurfaces.add(t),()=>{e.dismissableSurfaces.delete(t)}},[t,e.dismissableSurfaces]),n}Rc(Gc,`useDismissableLayerSurface`);var Kc=Rc(()=>!0,`IS_TRUE`);function qc(e,t){let{ownerDocument:n=globalThis?.document,deferPointerDownOutside:r=!1,isDeferredPointerDownOutsideRef:i,dismissableSurfaces:a,shouldHandlePointerDownOutside:o=Kc}=t,s=Ic(e),c=d.useRef(!1),l=d.useRef(!1),u=d.useRef(new Map),f=d.useRef(()=>{});return d.useEffect(()=>{function e(){l.current=!1,i.current=!1,u.current.clear()}Rc(e,`resetOutsideInteraction`);function t(){return Array.from(u.current.values()).some(Boolean)}Rc(t,`isOutsideInteractionIntercepted`);function d(e){if(!l.current)return;let t=e.target;t instanceof Node&&[...a].some(e=>e.contains(t))||u.current.set(e.type,!0),e.type===`click`&&window.setTimeout(()=>{l.current&&f.current()},0)}Rc(d,`handleInteractionCapture`);function p(e){l.current&&u.current.set(e.type,!1)}Rc(p,`handleInteractionBubble`);let m=Rc(a=>{if(a.target&&!c.current){let d=function(){n.removeEventListener(`click`,f.current);let r=t();e(),r||Xc(Bc,s,p,{discrete:!0})};if(Rc(d,`handleAndDispatchPointerDownOutsideEvent`),!o(a.target)){n.removeEventListener(`click`,f.current),e(),c.current=!1;return}let p={originalEvent:a};l.current=!0,i.current=r&&a.button===0,u.current.clear(),!r||a.button!==0?d():(n.removeEventListener(`click`,f.current),f.current=d,n.addEventListener(`click`,f.current,{once:!0}))}else n.removeEventListener(`click`,f.current),e();c.current=!1},`handlePointerDown`),h=[`pointerup`,`mousedown`,`mouseup`,`touchstart`,`touchend`,`click`];for(let e of h)n.addEventListener(e,d,!0),n.addEventListener(e,p);let g=window.setTimeout(()=>{n.addEventListener(`pointerdown`,m)},0);return()=>{window.clearTimeout(g),n.removeEventListener(`pointerdown`,m),n.removeEventListener(`click`,f.current);for(let e of h)n.removeEventListener(e,d,!0),n.removeEventListener(e,p)}},[n,s,r,i,a,o]),{onPointerDownCapture:Rc(()=>c.current=!0,`onPointerDownCapture`)}}Rc(qc,`usePointerDownOutside`);function Jc(e,t=globalThis?.document){let n=Ic(e),r=d.useRef(!1);return d.useEffect(()=>{let e=Rc(e=>{e.target&&!r.current&&Xc(Vc,n,{originalEvent:e},{discrete:!1})},`handleFocus`);return t.addEventListener(`focusin`,e),()=>t.removeEventListener(`focusin`,e)},[t,n]),{onFocusCapture:Rc(()=>r.current=!0,`onFocusCapture`),onBlurCapture:Rc(()=>r.current=!1,`onBlurCapture`)}}Rc(Jc,`useFocusOutside`);function Yc(){let e=new CustomEvent(zc);document.dispatchEvent(e)}Rc(Yc,`dispatchUpdate`);function Xc(e,t,n,{discrete:r}){let i=n.originalEvent.target,a=new CustomEvent(e,{bubbles:!1,cancelable:!0,detail:n});t&&i.addEventListener(e,t,{once:!0}),r?js(i,a):i.dispatchEvent(a)}Rc(Xc,`handleAndDispatchCustomEvent`);var Zc=Object.defineProperty,Qc=(e,t)=>Zc(e,`name`,{value:t,configurable:!0}),$c=`focusScope.autoFocusOnMount`,el=`focusScope.autoFocusOnUnmount`,tl={bubbles:!1,cancelable:!0},nl=d.forwardRef(Qc(function(e,t){let{loop:n=!1,trapped:r=!1,onMountAutoFocus:i,onUnmountAutoFocus:a,...o}=e,[s,c]=d.useState(null),l=Ic(i),u=Ic(a),f=d.useRef(null),p=ds(t,c),m=d.useRef({paused:!1,pause(){this.paused=!0},resume(){this.paused=!1}}).current;d.useEffect(()=>{if(r){let e=function(e){if(m.paused||!s)return;let t=e.target;s.contains(t)?f.current=t:ll(f.current,{select:!0})},t=function(e){if(m.paused||!s)return;let t=e.relatedTarget;t!==null&&(s.contains(t)||ll(f.current,{select:!0}))},n=function(e){if(document.activeElement===document.body)for(let t of e)t.removedNodes.length>0&&ll(s)};Qc(e,`handleFocusIn`),Qc(t,`handleFocusOut`),Qc(n,`handleMutations`),document.addEventListener(`focusin`,e),document.addEventListener(`focusout`,t);let r=new MutationObserver(n);return s&&r.observe(s,{childList:!0,subtree:!0}),()=>{document.removeEventListener(`focusin`,e),document.removeEventListener(`focusout`,t),r.disconnect()}}},[r,s,m.paused]),d.useEffect(()=>{if(s){ul.add(m);let e=document.activeElement;if(!s.contains(e)){let t=new CustomEvent($c,tl);s.addEventListener($c,l),s.dispatchEvent(t),t.defaultPrevented||(rl(pl(al(s)),{select:!0}),document.activeElement===e&&ll(s))}return()=>{s.removeEventListener($c,l),setTimeout(()=>{let t=new CustomEvent(el,tl);s.addEventListener(el,u),s.dispatchEvent(t),t.defaultPrevented||ll(e??document.body,{select:!0}),s.removeEventListener(el,u),ul.remove(m)},0)}}},[s,l,u,m]);let h=d.useCallback(e=>{if(!n&&!r||m.paused)return;let t=e.key===`Tab`&&!e.altKey&&!e.ctrlKey&&!e.metaKey,i=document.activeElement;if(t&&i){let t=e.currentTarget,[r,a]=il(t);r&&a?!e.shiftKey&&i===a?(e.preventDefault(),n&&ll(r,{select:!0})):e.shiftKey&&i===r&&(e.preventDefault(),n&&ll(a,{select:!0})):i===t&&e.preventDefault()}},[n,r,m.paused]);return(0,T.jsx)(As.div,{tabIndex:-1,...o,ref:p,onKeyDown:h})},`FocusScope`));function rl(e,{select:t=!1}={}){let n=document.activeElement;for(let r of e)if(ll(r,{select:t}),document.activeElement!==n)return}Qc(rl,`focusFirst`);function il(e){let t=al(e);return[ol(t,e),ol(t.reverse(),e)]}Qc(il,`getTabbableEdges`);function al(e){let t=[],n=document.createTreeWalker(e,NodeFilter.SHOW_ELEMENT,{acceptNode:Qc(e=>{let t=e.tagName===`INPUT`&&e.type===`hidden`;return e.disabled||e.hidden||t?NodeFilter.FILTER_SKIP:e.tabIndex>=0?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP},`acceptNode`)});for(;n.nextNode();)t.push(n.currentNode);return t}Qc(al,`getTabbableCandidates`);function ol(e,t){let n=typeof t.checkVisibility==`function`&&t.checkVisibility({checkVisibilityCSS:!0});for(let r of e)if(!(n?!r.checkVisibility({checkVisibilityCSS:!0}):sl(r,{upTo:t})))return r}Qc(ol,`findVisible`);function sl(e,{upTo:t}){if(getComputedStyle(e).visibility===`hidden`)return!0;for(;e;){if(t!==void 0&&e===t)return!1;if(getComputedStyle(e).display===`none`)return!0;e=e.parentElement}return!1}Qc(sl,`isHidden`);function cl(e){return e instanceof HTMLInputElement&&`select`in e}Qc(cl,`isSelectableInput`);function ll(e,{select:t=!1}={}){if(e&&e.focus){let n=document.activeElement;e.focus({preventScroll:!0}),e!==n&&cl(e)&&t&&e.select()}}Qc(ll,`focus`);var ul=dl();function dl(){let e=[];return{add(t){let n=e[0];t!==n&&n?.pause(),e=fl(e,t),e.unshift(t)},remove(t){e=fl(e,t),e[0]?.resume()}}}Qc(dl,`createFocusScopesStack`);function fl(e,t){let n=[...e],r=n.indexOf(t);return r!==-1&&n.splice(r,1),n}Qc(fl,`arrayRemove`);function pl(e){return e.filter(e=>e.tagName!==`A`)}Qc(pl,`removeLinks`);var ml=Object.defineProperty,hl=d.forwardRef(((e,t)=>ml(e,`name`,{value:t,configurable:!0}))(function(e,t){let{container:n,...r}=e,[i,a]=d.useState(!1);Gs(()=>a(!0),[]);let o=n||i&&globalThis?.document?.body;return o?mo.createPortal((0,T.jsx)(As.div,{...r,ref:t}),o):null},`Portal`)),gl=Object.defineProperty,_l=(e,t)=>gl(e,`name`,{value:t,configurable:!0}),vl=0,yl=null;function bl(e){return xl(),e.children}_l(bl,`FocusGuards`);function xl(){d.useEffect(()=>{yl||={start:Sl(),end:Sl()};let{start:e,end:t}=yl;return document.body.firstElementChild!==e&&document.body.insertAdjacentElement(`afterbegin`,e),document.body.lastElementChild!==t&&document.body.insertAdjacentElement(`beforeend`,t),vl++,()=>{vl===1&&(yl?.start.remove(),yl?.end.remove(),yl=null),vl=Math.max(0,vl-1)}},[])}_l(xl,`useFocusGuards`);function Sl(){let e=document.createElement(`span`);return e.setAttribute(`data-radix-focus-guard`,``),e.tabIndex=0,e.style.outline=`none`,e.style.opacity=`0`,e.style.position=`fixed`,e.style.pointerEvents=`none`,e}_l(Sl,`createFocusGuard`);var Cl=function(){return Cl=Object.assign||function(e){for(var t,n=1,r=arguments.length;n<r;n++)for(var i in t=arguments[n],t)Object.prototype.hasOwnProperty.call(t,i)&&(e[i]=t[i]);return e},Cl.apply(this,arguments)};function wl(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&typeof Object.getOwnPropertySymbols==`function`)for(var i=0,r=Object.getOwnPropertySymbols(e);i<r.length;i++)t.indexOf(r[i])<0&&Object.prototype.propertyIsEnumerable.call(e,r[i])&&(n[r[i]]=e[r[i]]);return n}function Tl(e,t,n){if(n||arguments.length===2)for(var r=0,i=t.length,a;r<i;r++)(a||!(r in t))&&(a||=Array.prototype.slice.call(t,0,r),a[r]=t[r]);return e.concat(a||Array.prototype.slice.call(t))}var El=`right-scroll-bar-position`,Dl=`width-before-scroll-bar`,Ol=`with-scroll-bars-hidden`,kl=`--removed-body-scroll-bar-size`;function Al(e,t){return typeof e==`function`?e(t):e&&(e.current=t),e}function jl(e,t){var n=(0,d.useState)(function(){return{value:e,callback:t,facade:{get current(){return n.value},set current(e){var t=n.value;t!==e&&(n.value=e,n.callback(e,t))}}}})[0];return n.callback=t,n.facade}var Ml=typeof window<`u`?d.useLayoutEffect:d.useEffect,Nl=new WeakMap;function Pl(e,t){var n=jl(t||null,function(t){return e.forEach(function(e){return Al(e,t)})});return Ml(function(){var t=Nl.get(n);if(t){var r=new Set(t),i=new Set(e),a=n.current;r.forEach(function(e){i.has(e)||Al(e,null)}),i.forEach(function(e){r.has(e)||Al(e,a)})}Nl.set(n,e)},[e]),n}function Fl(e){return e}function Il(e,t){t===void 0&&(t=Fl);var n=[],r=!1;return{read:function(){if(r)throw Error("Sidecar: could not `read` from an `assigned` medium. `read` could be used only with `useMedium`.");return n.length?n[n.length-1]:e},useMedium:function(e){var i=t(e,r);return n.push(i),function(){n=n.filter(function(e){return e!==i})}},assignSyncMedium:function(e){for(r=!0;n.length;){var t=n;n=[],t.forEach(e)}n={push:function(t){return e(t)},filter:function(){return n}}},assignMedium:function(e){r=!0;var t=[];if(n.length){var i=n;n=[],i.forEach(e),t=n}var a=function(){var n=t;t=[],n.forEach(e)},o=function(){return Promise.resolve().then(a)};o(),n={push:function(e){t.push(e),o()},filter:function(e){return t=t.filter(e),n}}}}}function Ll(e){e===void 0&&(e={});var t=Il(null);return t.options=Cl({async:!0,ssr:!1},e),t}var Rl=function(e){var t=e.sideCar,n=wl(e,[`sideCar`]);if(!t)throw Error("Sidecar: please provide `sideCar` property to import the right car");var r=t.read();if(!r)throw Error(`Sidecar medium not found`);return d.createElement(r,Cl({},n))};Rl.isSideCarExport=!0;function zl(e,t){return e.useMedium(t),Rl}var Bl=Ll(),Vl=function(){},Hl=d.forwardRef(function(e,t){var n=d.useRef(null),r=d.useState({onScrollCapture:Vl,onWheelCapture:Vl,onTouchMoveCapture:Vl}),i=r[0],a=r[1],o=e.forwardProps,s=e.children,c=e.className,l=e.removeScrollBar,u=e.enabled,f=e.shards,p=e.sideCar,m=e.noRelative,h=e.noIsolation,g=e.inert,_=e.allowPinchZoom,v=e.as,y=v===void 0?`div`:v,b=e.gapMode,x=wl(e,[`forwardProps`,`children`,`className`,`removeScrollBar`,`enabled`,`shards`,`sideCar`,`noRelative`,`noIsolation`,`inert`,`allowPinchZoom`,`as`,`gapMode`]),S=p,C=Pl([n,t]),w=Cl(Cl({},x),i);return d.createElement(d.Fragment,null,u&&d.createElement(S,{sideCar:Bl,removeScrollBar:l,shards:f,noRelative:m,noIsolation:h,inert:g,setCallbacks:a,allowPinchZoom:!!_,lockRef:n,gapMode:b}),o?d.cloneElement(d.Children.only(s),Cl(Cl({},w),{ref:C})):d.createElement(y,Cl({},w,{className:c,ref:C}),s))});Hl.defaultProps={enabled:!0,removeScrollBar:!0,inert:!1},Hl.classNames={fullWidth:Dl,zeroRight:El};var Ul=function(){if(typeof __webpack_nonce__<`u`)return __webpack_nonce__};function Wl(){if(!document)return null;var e=document.createElement(`style`);e.type=`text/css`;var t=Ul();return t&&e.setAttribute(`nonce`,t),e}function Gl(e,t){e.styleSheet?e.styleSheet.cssText=t:e.appendChild(document.createTextNode(t))}function Kl(e){(document.head||document.getElementsByTagName(`head`)[0]).appendChild(e)}var ql=function(){var e=0,t=null;return{add:function(n){e==0&&(t=Wl())&&(Gl(t,n),Kl(t)),e++},remove:function(){e--,!e&&t&&(t.parentNode&&t.parentNode.removeChild(t),t=null)}}},Jl=function(){var e=ql();return function(t,n){d.useEffect(function(){return e.add(t),function(){e.remove()}},[t&&n])}},Yl=function(){var e=Jl();return function(t){var n=t.styles,r=t.dynamic;return e(n,r),null}},Xl={left:0,top:0,right:0,gap:0},Zl=function(e){return parseInt(e||``,10)||0},Ql=function(e){var t=window.getComputedStyle(document.body),n=t[e===`padding`?`paddingLeft`:`marginLeft`],r=t[e===`padding`?`paddingTop`:`marginTop`],i=t[e===`padding`?`paddingRight`:`marginRight`];return[Zl(n),Zl(r),Zl(i)]},$l=function(e){if(e===void 0&&(e=`margin`),typeof window>`u`)return Xl;var t=Ql(e),n=document.documentElement.clientWidth,r=window.innerWidth;return{left:t[0],top:t[1],right:t[2],gap:Math.max(0,r-n+t[2]-t[0])}},eu=Yl(),tu=`data-scroll-locked`,nu=function(e,t,n,r){var i=e.left,a=e.top,o=e.right,s=e.gap;return n===void 0&&(n=`margin`),`
|
|
11
11
|
.${Ol} {
|
|
12
12
|
overflow: hidden ${r};
|
|
13
13
|
padding-right: ${s}px ${r};
|
|
@@ -444,7 +444,7 @@ ${e}</tr>
|
|
|
444
444
|
`}strong({tokens:e}){return`<strong>${this.parser.parseInline(e)}</strong>`}em({tokens:e}){return`<em>${this.parser.parseInline(e)}</em>`}codespan({text:e}){return`<code>${B2(e,!0)}</code>`}br(e){return`<br>`}del({tokens:e}){return`<del>${this.parser.parseInline(e)}</del>`}link({href:e,title:t,tokens:n}){let r=this.parser.parseInline(n),i=V2(e);if(i===null)return r;e=i;let a=`<a href="`+e+`"`;return t&&(a+=` title="`+B2(t)+`"`),a+=`>`+r+`</a>`,a}image({href:e,title:t,text:n,tokens:r}){r&&(n=this.parser.parseInline(r,this.parser.textRenderer));let i=V2(e);if(i===null)return B2(n);e=i;let a=`<img src="${e}" alt="${B2(n)}"`;return t&&(a+=` title="${B2(t)}"`),a+=`>`,a}text(e){return`tokens`in e&&e.tokens?this.parser.parseInline(e.tokens):`escaped`in e&&e.escaped?e.text:B2(e.text)}},Z2=class{strong({text:e}){return e}em({text:e}){return e}codespan({text:e}){return e}del({text:e}){return e}html({text:e}){return e}text({text:e}){return e}link({text:e}){return``+e}image({text:e}){return``+e}br(){return``}checkbox({raw:e}){return e}},Q2=class e{options;renderer;textRenderer;constructor(e){this.options=e||D0,this.options.renderer=this.options.renderer||new X2,this.renderer=this.options.renderer,this.renderer.options=this.options,this.renderer.parser=this,this.textRenderer=new Z2}static parse(t,n){return new e(n).parse(t)}static parseInline(t,n){return new e(n).parseInline(t)}parse(e){this.renderer.parser=this;let t=``;for(let n=0;n<e.length;n++){let r=e[n];if(this.options.extensions?.renderers?.[r.type]){let e=r,n=this.options.extensions.renderers[e.type].call({parser:this},e);if(n!==!1||![`space`,`hr`,`heading`,`code`,`table`,`blockquote`,`list`,`html`,`def`,`paragraph`,`text`].includes(e.type)){t+=n||``;continue}}let i=r;switch(i.type){case`space`:t+=this.renderer.space(i);break;case`hr`:t+=this.renderer.hr(i);break;case`heading`:t+=this.renderer.heading(i);break;case`code`:t+=this.renderer.code(i);break;case`table`:t+=this.renderer.table(i);break;case`blockquote`:t+=this.renderer.blockquote(i);break;case`list`:t+=this.renderer.list(i);break;case`checkbox`:t+=this.renderer.checkbox(i);break;case`html`:t+=this.renderer.html(i);break;case`def`:t+=this.renderer.def(i);break;case`paragraph`:t+=this.renderer.paragraph(i);break;case`text`:t+=this.renderer.text(i);break;default:{let e=`Token with "`+i.type+`" type was not found.`;if(this.options.silent)return console.error(e),``;throw Error(e)}}}return t}parseInline(e,t=this.renderer){this.renderer.parser=this;let n=``;for(let r=0;r<e.length;r++){let i=e[r];if(this.options.extensions?.renderers?.[i.type]){let e=this.options.extensions.renderers[i.type].call({parser:this},i);if(e!==!1||![`escape`,`html`,`link`,`image`,`strong`,`em`,`codespan`,`br`,`del`,`text`].includes(i.type)){n+=e||``;continue}}let a=i;switch(a.type){case`escape`:n+=t.text(a);break;case`html`:n+=t.html(a);break;case`link`:n+=t.link(a);break;case`image`:n+=t.image(a);break;case`checkbox`:n+=t.checkbox(a);break;case`strong`:n+=t.strong(a);break;case`em`:n+=t.em(a);break;case`codespan`:n+=t.codespan(a);break;case`br`:n+=t.br(a);break;case`del`:n+=t.del(a);break;case`text`:n+=t.text(a);break;default:{let e=`Token with "`+a.type+`" type was not found.`;if(this.options.silent)return console.error(e),``;throw Error(e)}}}return n}},$2=class{options;block;constructor(e){this.options=e||D0}static passThroughHooks=new Set([`preprocess`,`postprocess`,`processAllTokens`,`emStrongMask`]);static passThroughHooksRespectAsync=new Set([`preprocess`,`postprocess`,`processAllTokens`]);preprocess(e){return e}postprocess(e){return e}processAllTokens(e){return e}emStrongMask(e){return e}provideLexer(e=this.block){return e?Y2.lex:Y2.lexInline}provideParser(e=this.block){return e?Q2.parse:Q2.parseInline}},e4=new class{defaults=E0();options=this.setOptions;parse=this.parseMarkdown(!0);parseInline=this.parseMarkdown(!1);Parser=Q2;Renderer=X2;TextRenderer=Z2;Lexer=Y2;Tokenizer=J2;Hooks=$2;constructor(...e){this.use(...e)}walkTokens(e,t){let n=[];for(let r of e)switch(n=n.concat(t.call(this,r)),r.type){case`table`:{let e=r;for(let r of e.header)n=n.concat(this.walkTokens(r.tokens,t));for(let r of e.rows)for(let e of r)n=n.concat(this.walkTokens(e.tokens,t));break}case`list`:{let e=r;n=n.concat(this.walkTokens(e.items,t));break}default:{let e=r;this.defaults.extensions?.childTokens?.[e.type]?this.defaults.extensions.childTokens[e.type].forEach(r=>{let i=e[r].flat(1/0);n=n.concat(this.walkTokens(i,t))}):e.tokens&&(n=n.concat(this.walkTokens(e.tokens,t)))}}return n}use(...e){let t=this.defaults.extensions||{renderers:{},childTokens:{}};return e.forEach(e=>{let n={...e};if(n.async=this.defaults.async||n.async||!1,e.extensions&&(e.extensions.forEach(e=>{if(!e.name)throw Error(`extension name required`);if(`renderer`in e){let n=t.renderers[e.name];n?t.renderers[e.name]=function(...t){let r=e.renderer.apply(this,t);return r===!1&&(r=n.apply(this,t)),r}:t.renderers[e.name]=e.renderer}if(`tokenizer`in e){if(!e.level||e.level!==`block`&&e.level!==`inline`)throw Error(`extension level must be 'block' or 'inline'`);let n=t[e.level];n?n.unshift(e.tokenizer):t[e.level]=[e.tokenizer],e.start&&(e.level===`block`?t.startBlock?t.startBlock.push(e.start):t.startBlock=[e.start]:e.level===`inline`&&(t.startInline?t.startInline.push(e.start):t.startInline=[e.start]))}`childTokens`in e&&e.childTokens&&(t.childTokens[e.name]=e.childTokens)}),n.extensions=t),e.renderer){let t=this.defaults.renderer||new X2(this.defaults);for(let n in e.renderer){if(!(n in t))throw Error(`renderer '${n}' does not exist`);if([`options`,`parser`].includes(n))continue;let r=n,i=e.renderer[r],a=t[r];t[r]=(...e)=>{let n=i.apply(t,e);return n===!1&&(n=a.apply(t,e)),n||``}}n.renderer=t}if(e.tokenizer){let t=this.defaults.tokenizer||new J2(this.defaults);for(let n in e.tokenizer){if(!(n in t))throw Error(`tokenizer '${n}' does not exist`);if([`options`,`rules`,`lexer`].includes(n))continue;let r=n,i=e.tokenizer[r],a=t[r];t[r]=(...e)=>{let n=i.apply(t,e);return n===!1&&(n=a.apply(t,e)),n}}n.tokenizer=t}if(e.hooks){let t=this.defaults.hooks||new $2;for(let n in e.hooks){if(!(n in t))throw Error(`hook '${n}' does not exist`);if([`options`,`block`].includes(n))continue;let r=n,i=e.hooks[r],a=t[r];t[r]=$2.passThroughHooks.has(n)?e=>{if(this.defaults.async&&$2.passThroughHooksRespectAsync.has(n))return(async()=>{let n=await i.call(t,e);return a.call(t,n)})();let r=i.call(t,e);return a.call(t,r)}:(...e)=>{if(this.defaults.async)return(async()=>{let n=await i.apply(t,e);return n===!1&&(n=await a.apply(t,e)),n})();let n=i.apply(t,e);return n===!1&&(n=a.apply(t,e)),n}}n.hooks=t}if(e.walkTokens){let t=this.defaults.walkTokens,r=e.walkTokens;n.walkTokens=function(e){let n=[];return n.push(r.call(this,e)),t&&(n=n.concat(t.call(this,e))),n}}this.defaults={...this.defaults,...n}}),this}setOptions(e){return this.defaults={...this.defaults,...e},this}lexer(e,t){return Y2.lex(e,t??this.defaults)}parser(e,t){return Q2.parse(e,t??this.defaults)}parseMarkdown(e){return(t,n)=>{let r={...n},i={...this.defaults,...r},a=this.onError(!!i.silent,!!i.async);if(this.defaults.async===!0&&r.async===!1)return a(Error(`marked(): The async option was set to true by an extension. Remove async: false from the parse options object to return a Promise.`));if(typeof t>`u`||t===null)return a(Error(`marked(): input parameter is undefined or null`));if(typeof t!=`string`)return a(Error(`marked(): input parameter is of type `+Object.prototype.toString.call(t)+`, string expected`));if(i.hooks&&(i.hooks.options=i,i.hooks.block=e),i.async)return(async()=>{let n=i.hooks?await i.hooks.preprocess(t):t,r=await(i.hooks?await i.hooks.provideLexer(e):e?Y2.lex:Y2.lexInline)(n,i),a=i.hooks?await i.hooks.processAllTokens(r):r;i.walkTokens&&await Promise.all(this.walkTokens(a,i.walkTokens));let o=await(i.hooks?await i.hooks.provideParser(e):e?Q2.parse:Q2.parseInline)(a,i);return i.hooks?await i.hooks.postprocess(o):o})().catch(a);try{i.hooks&&(t=i.hooks.preprocess(t));let n=(i.hooks?i.hooks.provideLexer(e):e?Y2.lex:Y2.lexInline)(t,i);i.hooks&&(n=i.hooks.processAllTokens(n)),i.walkTokens&&this.walkTokens(n,i.walkTokens);let r=(i.hooks?i.hooks.provideParser(e):e?Q2.parse:Q2.parseInline)(n,i);return i.hooks&&(r=i.hooks.postprocess(r)),r}catch(e){return a(e)}}}onError(e,t){return n=>{if(n.message+=`
|
|
445
445
|
Please report this to https://github.com/markedjs/marked.`,e){let e=`<p>An error occurred:</p><pre>`+B2(n.message+``,!0)+`</pre>`;return t?Promise.resolve(e):e}if(t)return Promise.reject(n);throw n}}};function t4(e,t){return e4.parse(e,t)}t4.options=t4.setOptions=function(e){return e4.setOptions(e),t4.defaults=e4.defaults,O0(t4.defaults),t4},t4.getDefaults=E0,t4.defaults=D0,t4.use=function(...e){return e4.use(...e),t4.defaults=e4.defaults,O0(t4.defaults),t4},t4.walkTokens=function(e,t){return e4.walkTokens(e,t)},t4.parseInline=e4.parseInline,t4.Parser=Q2,t4.parser=Q2.parse,t4.Renderer=X2,t4.TextRenderer=Z2,t4.Lexer=Y2,t4.lexer=Y2.lex,t4.Tokenizer=J2,t4.Hooks=$2,t4.parse=t4,t4.options,t4.setOptions,t4.use,t4.walkTokens,t4.parseInline,Q2.parse,Y2.lex;var n4=`modulepreload`,r4=function(e){return`/`+e},i4={},a4=function(e,t,n){let r=Promise.resolve();if(t&&t.length>0){let e=document.getElementsByTagName(`link`),i=document.querySelector(`meta[property=csp-nonce]`),a=i?.nonce||i?.getAttribute(`nonce`);function o(e){return Promise.all(e.map(e=>Promise.resolve(e).then(e=>({status:`fulfilled`,value:e}),e=>({status:`rejected`,reason:e}))))}function s(e){return import.meta.resolve?import.meta.resolve(e):new URL(e,import.meta.url).href}r=o(t.map(t=>{if(t=r4(t,n),t=s(t),t in i4)return;i4[t]=!0;let r=t.endsWith(`.css`);for(let n=e.length-1;n>=0;n--){let i=e[n];if(i.href===t&&(!r||i.rel===`stylesheet`))return}let i=document.createElement(`link`);if(i.rel=r?`stylesheet`:n4,r||(i.as=`script`),i.crossOrigin=``,i.href=t,a&&i.setAttribute(`nonce`,a),document.head.appendChild(i),r)return new Promise((e,n)=>{i.addEventListener(`load`,e),i.addEventListener(`error`,()=>n(Error(`Unable to preload CSS for ${t}`)))})}))}function i(e){let t=new Event(`vite:preloadError`,{cancelable:!0});if(t.payload=e,window.dispatchEvent(t),!t.defaultPrevented)throw e}return r.then(t=>{for(let e of t||[])e.status===`rejected`&&i(e.reason);return e().catch(i)})},o4=300,s4=`300px`,c4=500;function l4(e={}){let{immediate:t=!1,debounceDelay:n=o4,rootMargin:r=s4,idleTimeout:i=c4}=e,[a,o]=(0,d.useState)(!1),s=(0,d.useRef)(null),c=(0,d.useRef)(null),l=(0,d.useRef)(null),u=(0,d.useMemo)(()=>e=>{let t=Date.now();return window.setTimeout(()=>{e({didTimeout:!1,timeRemaining:()=>Math.max(0,50-(Date.now()-t))})},1)},[]),f=(0,d.useMemo)(()=>typeof window<`u`&&window.requestIdleCallback?(e,t)=>window.requestIdleCallback(e,t):u,[u]),p=(0,d.useMemo)(()=>typeof window<`u`&&window.cancelIdleCallback?e=>window.cancelIdleCallback(e):e=>{clearTimeout(e)},[]);return(0,d.useEffect)(()=>{if(t){o(!0);return}let e=s.current;if(!e)return;c.current&&=(clearTimeout(c.current),null),l.current&&=(p(l.current),null);let a=()=>{c.current&&=(clearTimeout(c.current),null),l.current&&=(p(l.current),null)},u=e=>{l.current=f(t=>{t.timeRemaining()>0||t.didTimeout?(o(!0),e.disconnect()):l.current=f(()=>{o(!0),e.disconnect()},{timeout:i/2})},{timeout:i})},d=e=>{a(),c.current=window.setTimeout(()=>{var t;let n=e.takeRecords();(n.length===0||(t=n.at(-1)?.isIntersecting)!=null&&t)&&u(e)},n)},m=(e,t)=>{e.isIntersecting?d(t):a()},h=new IntersectionObserver(e=>{for(let t of e)m(t,h)},{rootMargin:r,threshold:0});return h.observe(e),()=>{c.current&&clearTimeout(c.current),l.current&&p(l.current),h.disconnect()}},[t,n,r,i,p,f]),{shouldRender:a,containerRef:s}}var u4=320,d4=4,f4=()=>typeof performance>`u`?Date.now():performance.now();function p4(e){let t=e?.now??f4,n=e?.maxBacklogMs??u4,r=0,i=0;return{now:t,beginPass(e){i=Math.min(Math.max(r,e),e+n)},mark(){return i},rewind(e){i=e},take(e,t,r){if(e<=0)return{baseDelay:0,step:Math.max(0,t)};let a=Math.max(0,t),o=a===0?0:Math.min(a,d4),s=Math.max(i,r),c=r+n,l=s+Math.max(0,e-1)*a,u=a;if(l>c&&e>1){if(s<c){let t=c-s;u=Math.max(o,t/(e-1))}else u=o}let d=Math.max(0,Math.round(s-r));return i=s+e*u,{baseDelay:d,step:u}},commitPass(){r=i}}}var m4=/\s/,h4=/^\s+$/,g4=new Set([`pre`,`svg`,`math`,`annotation`]),_4=new Set([`img`,`hr`]),v4=e=>typeof e==`object`&&!!e&&`type`in e&&e.type===`element`,y4=e=>e.some(e=>v4(e)&&g4.has(e.tagName)),b4=e=>{for(let t=e.length-1;t>=0;t--){let n=e[t];if(v4(n)&&n.tagName===`li`)return n}},x4=(e,t,n,r)=>{e.properties??={},e.properties[`data-sd-animate-marker`]=!0;let i=typeof e.properties.style==`string`?`${e.properties.style};`:``;e.properties.style=`${i}--sd-marker-duration:${t}ms;--sd-marker-delay:${Math.round(n)}ms;--sd-marker-easing:${r}`},S4=new Set([`ul`,`ol`,`li`]),C4=e=>{for(let t of e.children)if(v4(t)){if(t.tagName===`input`)return t;if(S4.has(t.tagName))continue;let e=C4(t);if(e)return e}},w4=(e,t,n,r)=>{e.properties??={},e.properties[`data-sd-animate`]=!0;let i=typeof e.properties.style==`string`?`${e.properties.style};`:``;e.properties.style=`${i}--sd-animation:sd-${t.animation};--sd-duration:${n}ms;--sd-easing:${t.easing};--sd-delay:${Math.round(r)}ms`},T4=(e,t,n,r)=>{let i=C4(e);i&&w4(i,t,n,r)},E4=(e,t,n,r,i,a)=>{if(y4(t))return;let o=r.prevContentLength,s=i.count;i.count+=1;let c=o>0&&s<o,l=c?0:a.baseDelay+i.newIndex++*a.step;w4(e,n,c?0:n.duration,l)},D4=e=>{var t;for(let n=e.length-1;n>=0;--n){let r=e[n];if(v4(r)){if((t=r.properties)!=null&&t[`data-sd-animated`])break;r.properties={...r.properties,"data-sd-animated":!0}}}},O4=e=>{let t=[],n=``,r=!1;for(let i of e){let e=m4.test(i);if(e!==r&&n){if(e){n+=i,r=!0;continue}t.push(n),n=``}n+=i,r=e}return n&&t.push(n),t},k4=e=>{let t=[],n=``;for(let r of e)m4.test(r)?t.length>0&&!h4.test(t.at(-1))?t[t.length-1]+=r:n+=r:(n&&=(t.push(n),``),t.push(r));return n&&(t.length>0?t[t.length-1]+=n:t.push(n)),t},A4=(e,t,n,r,i,a)=>{let o=`--sd-animation:sd-${t};--sd-duration:${i?0:n}ms;--sd-easing:${r}`;return a&&(o+=`;--sd-delay:${Math.round(a)}ms`),{type:`element`,tagName:`span`,properties:{"data-sd-animate":!0,style:o},children:[{type:`text`,value:e}]}},j4=(e,t)=>!(e>0&&t<e),M4=e=>v4(e)&&_4.has(e.tagName),N4=(e,t,n)=>{let r=0,i=0;return YT(e,e=>e.type===`text`||M4(e),(e,a)=>{if(y4(a))return JT;if(M4(e)){j4(n,i)&&(r+=1),i+=1;return}let o=e.value;if(!o.trim()){i+=o.length;return}let s=t.sep===`char`?k4(o):O4(o);for(let e of s){let t=i;i+=e.length,!h4.test(e)&&j4(n,t)&&(r+=1)}}),r},P4=(e,t,n,r,i,a)=>{var o;let s=t.at(-1);if(!(s&&`children`in s))return;if(y4(t))return JT;let c=s,l=c.children.indexOf(e);if(l===-1)return;let u=e.value;if(!u.trim()){i.count+=u.length;return}let d=n.sep===`char`?k4(u):O4(u),f=r.prevContentLength,p=!1,m=b4(t),h=!!(m&&!((o=m.properties)!=null&&o[`data-sd-animate-marker`])),g=!1,_=d.map(e=>{let t=i.count;if(i.count+=e.length,h4.test(e))return{type:`text`,value:e};let r=f>0&&t<f,o=r?0:a.baseDelay+i.newIndex++*a.step;if(p=!0,m&&h&&!g){let e=r?0:n.duration;x4(m,e,o,n.easing),T4(m,n,e,o),g=!0}return A4(e,n.animation,n.duration,n.easing,r,o)});return p&&D4(t),c.children.splice(l,1,..._),l+_.length},F4=0;function I4(e){let t={animation:e?.animation??`fadeIn`,duration:e?.duration??150,easing:e?.easing??`ease`,sep:e?.sep??`word`,stagger:e?.stagger??40,timeline:e?.timeline},n={committedCharCount:0,prevContentLength:0,lastRenderCharCount:0,pendingMark:null},r=F4++,i=()=>e=>{let r={count:0,newIndex:0};n.prevContentLength=n.committedCharCount;let i=t.timeline,a=i?.now()??f4();i&&(n.pendingMark===null?n.pendingMark=i.mark():i.rewind(n.pendingMark));let o=i?i.take(N4(e,t,n.prevContentLength),t.stagger,a):{baseDelay:0,step:t.stagger};YT(e,e=>e.type===`text`||M4(e),(e,i)=>{if(e.type===`text`)return P4(e,i,t,n,r,o);E4(e,i,t,n,r,o)}),n.lastRenderCharCount=r.count,n.prevContentLength=0};return Object.defineProperty(i,"name",{value:`rehypeAnimate$${r}`}),{name:`animate`,type:`animate`,rehypePlugin:i,setPrevContentLength(e){n.committedCharCount=e,n.prevContentLength=e},getLastRenderCharCount(){return n.lastRenderCharCount},commit(){n.committedCharCount=n.lastRenderCharCount,n.pendingMark=null}}}I4();var L4=(0,d.createContext)(!1),R4=()=>(0,d.useContext)(L4),z4=(...e)=>co(Pi(e)),B4=(e,t)=>{if(!e||!t)return t;let n=`${e}:`;return t.split(/\s+/).filter(Boolean).map(t=>t.startsWith(n)?t:`${e}:${t}`).join(` `)},V4=e=>e?(...t)=>B4(e,co(Pi(t))):z4,H4=(e,t,n)=>{let r=typeof t==`string`&&n.startsWith(`text/csv`)?``:``,i=typeof t==`string`?new Blob([r+t],{type:n}):t,a=URL.createObjectURL(i),o=document.createElement(`a`);o.href=a,o.download=e,document.body.appendChild(o),o.click(),document.body.removeChild(o),URL.revokeObjectURL(a)},U4=(0,d.createContext)(z4),W4=()=>(0,d.useContext)(U4),G4=8,K4=e=>{if(e!==void 0&&e!==0&&e!==1/0){if(typeof e==`number`)return Number.isFinite(e)&&e>0?`${e}px`:void 0;if(e!==`0`&&e!==`none`&&e!==`Infinity`)return e}},q4=(e,t,n)=>{let r=(0,d.useRef)(null),i=(0,d.useRef)(!0),a=(0,d.useRef)(!1);return(0,d.useEffect)(()=>{let e=r.current;if(!(e&&t))return;let n=()=>{let t=e.scrollHeight-e.scrollTop-e.clientHeight<G4;i.current=t};return e.addEventListener(`scroll`,n,{passive:!0}),()=>e.removeEventListener(`scroll`,n)},[t]),(0,d.useEffect)(()=>{e&&!a.current&&(i.current=!0),e||(i.current=!0),a.current=e},[e]),(0,d.useEffect)(()=>{let n=r.current;n&&t&&e&&i.current&&n.scrollTo({top:n.scrollHeight,behavior:`instant`})},[e,t,n]),r},J4=z4(`block`),Y4=z4(`block`,`before:content-[counter(line)]`,`before:inline-block`,`before:[counter-increment:line]`,`before:w-6`,`before:mr-4`,`before:text-[13px]`,`before:text-right`,`before:text-muted-foreground/50`,`before:font-mono`,`before:select-none`),X4=e=>{let t={};for(let n of e.split(`;`)){let e=n.indexOf(`:`);if(e>0){let r=n.slice(0,e).trim(),i=n.slice(e+1).trim();r&&i&&(t[r]=i)}}return t},Z4=(0,d.memo)(({children:e,result:t,language:n,className:r,maxHeight:i,startLine:a,lineNumbers:o=!0,...s})=>{let c=W4(),{isAnimating:l}=(0,d.useContext)(q6),u=K4(i),f=q4(l,!!u,t),p=(0,d.useMemo)(()=>c(Y4),[c]),m=(0,d.useMemo)(()=>c(J4),[c]),h=(0,d.useMemo)(()=>{let e={};return t.bg&&(e[`--sdm-bg`]=t.bg),t.fg&&(e[`--sdm-fg`]=t.fg),t.rootStyle&&Object.assign(e,X4(t.rootStyle)),e},[t.bg,t.fg,t.rootStyle]);return(0,T.jsx)(`div`,{className:c(r,u?`overflow-y-auto`:null,`overflow-x-auto rounded-md border border-border bg-background p-4 text-sm`),"data-language":n,"data-streamdown":`code-block-body`,ref:f,style:u?{maxHeight:u}:void 0,...s,children:(0,T.jsx)(`pre`,{className:c(r,`bg-[var(--sdm-bg,inherit)]`,`dark:bg-[var(--shiki-dark-bg,var(--sdm-bg,inherit))]`),style:h,children:(0,T.jsx)(`code`,{className:o?c(`[counter-increment:line_0] [counter-reset:line]`):void 0,style:o&&a&&a>1?{counterReset:`line ${a-1}`}:void 0,children:t.tokens.map((e,t)=>(0,T.jsx)(`span`,{className:o?p:m,children:e.length===0||e.length===1&&e[0].content===``?`
|
|
446
446
|
`:e.map((e,t)=>{let n={},r=!!e.bgColor;if(e.color&&(n[`--sdm-c`]=e.color),e.bgColor&&(n[`--sdm-tbg`]=e.bgColor),e.htmlStyle)for(let[t,i]of Object.entries(e.htmlStyle))t===`color`?n[`--sdm-c`]=i:t===`background-color`?(n[`--sdm-tbg`]=i,r=!0):n[t]=i;return(0,T.jsx)(`span`,{className:c(`text-[var(--sdm-c,inherit)]`,`dark:text-[var(--shiki-dark,var(--sdm-c,inherit))]`,r&&`bg-[var(--sdm-tbg)]`,r&&`dark:bg-[var(--shiki-dark-bg,var(--sdm-tbg))]`),style:n,...e.htmlAttrs,children:e.content},t)})},t))})})})}),Q4=({className:e,language:t,style:n,isIncomplete:r,...i})=>{let a=W4();return(0,T.jsx)(`div`,{className:a(`my-4 flex w-full flex-col gap-2 rounded-xl border border-border bg-sidebar p-2`,e),"data-incomplete":r||void 0,"data-language":t,"data-streamdown":`code-block`,style:{contentVisibility:`auto`,containIntrinsicSize:`auto 200px`,...n},...i})},$4=(0,d.createContext)({code:``}),e3=()=>(0,d.useContext)($4),t3=({language:e})=>{let t=W4();return(0,T.jsx)(`div`,{className:t(`flex h-8 items-center text-muted-foreground text-xs`),"data-language":e,"data-streamdown":`code-block-header`,children:(0,T.jsx)(`span`,{className:t(`ml-1 font-mono lowercase`),children:e})})},n3=e=>{let t=e.length;for(;t>0&&e[t-1]===`
|
|
447
|
-
`;)t--;return e.slice(0,t)},r3=(0,d.lazy)(()=>a4(()=>import(`./highlighted-body-KPVGNVTW-
|
|
447
|
+
`;)t--;return e.slice(0,t)},r3=(0,d.lazy)(()=>a4(()=>import(`./highlighted-body-KPVGNVTW-D7hUguUj.js`).then(e=>({default:e.HighlightedCodeBlockBody})),__vite__mapDeps([0,1]))),i3=({code:e,language:t,className:n,children:r,isIncomplete:i=!1,startLine:a,lineNumbers:o,...s})=>{let c=W4(),{codeBlockMaxHeight:l}=(0,d.useContext)(q6),u=(0,d.useMemo)(()=>n3(e),[e]),f=(0,d.useMemo)(()=>({bg:`transparent`,fg:`inherit`,tokens:u.split(`
|
|
448
448
|
`).map(e=>[{content:e,color:`inherit`,bgColor:`transparent`,htmlStyle:{},offset:0}])}),[u]);return(0,T.jsx)($4.Provider,{value:{code:e},children:(0,T.jsxs)(Q4,{dir:`ltr`,isIncomplete:i,language:t,children:[(0,T.jsx)(t3,{language:t}),r?(0,T.jsx)(`div`,{className:c(`pointer-events-none sticky top-2 z-10 -mt-10 flex h-8 items-center justify-end`),children:(0,T.jsx)(`div`,{className:c(`pointer-events-auto flex shrink-0 items-center gap-2 rounded-md border border-sidebar bg-sidebar/80 px-1.5 py-1 supports-[backdrop-filter]:bg-sidebar/70 supports-[backdrop-filter]:backdrop-blur`),"data-streamdown":`code-block-actions`,children:r})}):null,(0,T.jsx)(d.Suspense,{fallback:(0,T.jsx)(Z4,{className:n,language:t,lineNumbers:o,maxHeight:l,result:f,startLine:a,...s}),children:(0,T.jsx)(r3,{className:n,code:u,language:t,lineNumbers:o,maxHeight:l,raw:f,startLine:a,...s})})]})})},a3={CheckIcon:e=>(0,T.jsx)(`svg`,{"aria-hidden":`true`,color:`currentColor`,height:16,strokeLinejoin:`round`,viewBox:`0 0 16 16`,width:16,...e,children:(0,T.jsx)(`path`,{clipRule:`evenodd`,d:`M15.5607 3.99999L15.0303 4.53032L6.23744 13.3232C5.55403 14.0066 4.44599 14.0066 3.76257 13.3232L4.2929 12.7929L3.76257 13.3232L0.969676 10.5303L0.439346 9.99999L1.50001 8.93933L2.03034 9.46966L4.82323 12.2626C4.92086 12.3602 5.07915 12.3602 5.17678 12.2626L13.9697 3.46966L14.5 2.93933L15.5607 3.99999Z`,fill:`currentColor`,fillRule:`evenodd`})}),CopyIcon:e=>(0,T.jsx)(`svg`,{"aria-hidden":`true`,color:`currentColor`,height:16,strokeLinejoin:`round`,viewBox:`0 0 16 16`,width:16,...e,children:(0,T.jsx)(`path`,{clipRule:`evenodd`,d:`M2.75 0.5C1.7835 0.5 1 1.2835 1 2.25V9.75C1 10.7165 1.7835 11.5 2.75 11.5H3.75H4.5V10H3.75H2.75C2.61193 10 2.5 9.88807 2.5 9.75V2.25C2.5 2.11193 2.61193 2 2.75 2H8.25C8.38807 2 8.5 2.11193 8.5 2.25V3H10V2.25C10 1.2835 9.2165 0.5 8.25 0.5H2.75ZM7.75 4.5C6.7835 4.5 6 5.2835 6 6.25V13.75C6 14.7165 6.7835 15.5 7.75 15.5H13.25C14.2165 15.5 15 14.7165 15 13.75V6.25C15 5.2835 14.2165 4.5 13.25 4.5H7.75ZM7.5 6.25C7.5 6.11193 7.61193 6 7.75 6H13.25C13.3881 6 13.5 6.11193 13.5 6.25V13.75C13.5 13.8881 13.3881 14 13.25 14H7.75C7.61193 14 7.5 13.8881 7.5 13.75V6.25Z`,fill:`currentColor`,fillRule:`evenodd`})}),DownloadIcon:e=>(0,T.jsx)(`svg`,{"aria-hidden":`true`,color:`currentColor`,height:16,strokeLinejoin:`round`,viewBox:`0 0 16 16`,width:16,...e,children:(0,T.jsx)(`path`,{clipRule:`evenodd`,d:`M8.75 1V1.75V8.68934L10.7197 6.71967L11.25 6.18934L12.3107 7.25L11.7803 7.78033L8.70711 10.8536C8.31658 11.2441 7.68342 11.2441 7.29289 10.8536L4.21967 7.78033L3.68934 7.25L4.75 6.18934L5.28033 6.71967L7.25 8.68934V1.75V1H8.75ZM13.5 9.25V13.5H2.5V9.25V8.5H1V9.25V14C1 14.5523 1.44771 15 2 15H14C14.5523 15 15 14.5523 15 14V9.25V8.5H13.5V9.25Z`,fill:`currentColor`,fillRule:`evenodd`})}),ExternalLinkIcon:e=>(0,T.jsx)(`svg`,{"aria-hidden":`true`,color:`currentColor`,height:16,strokeLinejoin:`round`,viewBox:`0 0 16 16`,width:16,...e,children:(0,T.jsx)(`path`,{clipRule:`evenodd`,d:`M13.5 10.25V13.25C13.5 13.3881 13.3881 13.5 13.25 13.5H2.75C2.61193 13.5 2.5 13.3881 2.5 13.25L2.5 2.75C2.5 2.61193 2.61193 2.5 2.75 2.5H5.75H6.5V1H5.75H2.75C1.7835 1 1 1.7835 1 2.75V13.25C1 14.2165 1.7835 15 2.75 15H13.25C14.2165 15 15 14.2165 15 13.25V10.25V9.5H13.5V10.25ZM9 1H9.75H14.2495C14.6637 1 14.9995 1.33579 14.9995 1.75V6.25V7H13.4995V6.25V3.56066L8.53033 8.52978L8 9.06011L6.93934 7.99945L7.46967 7.46912L12.4388 2.5H9.75H9V1Z`,fill:`currentColor`,fillRule:`evenodd`})}),Loader2Icon:e=>(0,T.jsxs)(`svg`,{"aria-hidden":`true`,color:`currentColor`,height:16,strokeLinejoin:`round`,viewBox:`0 0 16 16`,width:16,...e,children:[(0,T.jsx)(`path`,{d:`M8 0V4`,stroke:`currentColor`,strokeWidth:`1.5`}),(0,T.jsx)(`path`,{d:`M8 16V12`,opacity:`0.5`,stroke:`currentColor`,strokeWidth:`1.5`}),(0,T.jsx)(`path`,{d:`M3.29773 1.52783L5.64887 4.7639`,opacity:`0.9`,stroke:`currentColor`,strokeWidth:`1.5`}),(0,T.jsx)(`path`,{d:`M12.7023 1.52783L10.3511 4.7639`,opacity:`0.1`,stroke:`currentColor`,strokeWidth:`1.5`}),(0,T.jsx)(`path`,{d:`M12.7023 14.472L10.3511 11.236`,opacity:`0.4`,stroke:`currentColor`,strokeWidth:`1.5`}),(0,T.jsx)(`path`,{d:`M3.29773 14.472L5.64887 11.236`,opacity:`0.6`,stroke:`currentColor`,strokeWidth:`1.5`}),(0,T.jsx)(`path`,{d:`M15.6085 5.52783L11.8043 6.7639`,opacity:`0.2`,stroke:`currentColor`,strokeWidth:`1.5`}),(0,T.jsx)(`path`,{d:`M0.391602 10.472L4.19583 9.23598`,opacity:`0.7`,stroke:`currentColor`,strokeWidth:`1.5`}),(0,T.jsx)(`path`,{d:`M15.6085 10.4722L11.8043 9.2361`,opacity:`0.3`,stroke:`currentColor`,strokeWidth:`1.5`}),(0,T.jsx)(`path`,{d:`M0.391602 5.52783L4.19583 6.7639`,opacity:`0.8`,stroke:`currentColor`,strokeWidth:`1.5`})]}),Maximize2Icon:e=>(0,T.jsx)(`svg`,{"aria-hidden":`true`,color:`currentColor`,height:16,strokeLinejoin:`round`,viewBox:`0 0 16 16`,width:16,...e,children:(0,T.jsx)(`path`,{clipRule:`evenodd`,d:`M1 5.25V6H2.5V5.25V2.5H5.25H6V1H5.25H2C1.44772 1 1 1.44772 1 2V5.25ZM5.25 14.9994H6V13.4994H5.25H2.5V10.7494V9.99939H1V10.7494V13.9994C1 14.5517 1.44772 14.9994 2 14.9994H5.25ZM15 10V10.75V14C15 14.5523 14.5523 15 14 15H10.75H10V13.5H10.75H13.5V10.75V10H15ZM10.75 1H10V2.5H10.75H13.5V5.25V6H15V5.25V2C15 1.44772 14.5523 1 14 1H10.75Z`,fill:`currentColor`,fillRule:`evenodd`})}),RotateCcwIcon:e=>(0,T.jsx)(`svg`,{"aria-hidden":`true`,color:`currentColor`,height:16,strokeLinejoin:`round`,viewBox:`0 0 16 16`,width:16,...e,children:(0,T.jsx)(`path`,{clipRule:`evenodd`,d:`M13.5 8C13.5 4.96643 11.0257 2.5 7.96452 2.5C5.42843 2.5 3.29365 4.19393 2.63724 6.5H5.25H6V8H5.25H0.75C0.335787 8 0 7.66421 0 7.25V2.75V2H1.5V2.75V5.23347C2.57851 2.74164 5.06835 1 7.96452 1C11.8461 1 15 4.13001 15 8C15 11.87 11.8461 15 7.96452 15C5.62368 15 3.54872 13.8617 2.27046 12.1122L1.828 11.5066L3.03915 10.6217L3.48161 11.2273C4.48831 12.6051 6.12055 13.5 7.96452 13.5C11.0257 13.5 13.5 11.0336 13.5 8Z`,fill:`currentColor`,fillRule:`evenodd`})}),XIcon:e=>(0,T.jsx)(`svg`,{"aria-hidden":`true`,color:`currentColor`,height:16,strokeLinejoin:`round`,viewBox:`0 0 16 16`,width:16,...e,children:(0,T.jsx)(`path`,{clipRule:`evenodd`,d:`M12.4697 13.5303L13 14.0607L14.0607 13L13.5303 12.4697L9.06065 7.99999L13.5303 3.53032L14.0607 2.99999L13 1.93933L12.4697 2.46966L7.99999 6.93933L3.53032 2.46966L2.99999 1.93933L1.93933 2.99999L2.46966 3.53032L6.93933 7.99999L2.46966 12.4697L1.93933 13L2.99999 14.0607L3.53032 13.5303L7.99999 9.06065L12.4697 13.5303Z`,fill:`currentColor`,fillRule:`evenodd`})}),ZoomInIcon:e=>(0,T.jsx)(`svg`,{"aria-hidden":`true`,color:`currentColor`,height:16,strokeLinejoin:`round`,viewBox:`0 0 16 16`,width:16,...e,children:(0,T.jsx)(`path`,{clipRule:`evenodd`,d:`M1.5 6.5C1.5 3.73858 3.73858 1.5 6.5 1.5C9.26142 1.5 11.5 3.73858 11.5 6.5C11.5 9.26142 9.26142 11.5 6.5 11.5C3.73858 11.5 1.5 9.26142 1.5 6.5ZM6.5 0C2.91015 0 0 2.91015 0 6.5C0 10.0899 2.91015 13 6.5 13C8.02469 13 9.42677 12.475 10.5353 11.596L13.9697 15.0303L14.5 15.5607L15.5607 14.5L15.0303 13.9697L11.596 10.5353C12.475 9.42677 13 8.02469 13 6.5C13 2.91015 10.0899 0 6.5 0ZM4.125 5.875H4.75H5.875V4.75V4.125H7.125V4.75V5.875H8.25H8.875V7.125H8.25H7.125V8.25V8.875H5.875V8.25V7.125H4.75H4.125V5.875Z`,fill:`currentColor`,fillRule:`evenodd`})}),ZoomOutIcon:e=>(0,T.jsx)(`svg`,{"aria-hidden":`true`,color:`currentColor`,height:16,strokeLinejoin:`round`,viewBox:`0 0 16 16`,width:16,...e,children:(0,T.jsx)(`path`,{clipRule:`evenodd`,d:`M1.5 6.5C1.5 3.73858 3.73858 1.5 6.5 1.5C9.26142 1.5 11.5 3.73858 11.5 6.5C11.5 9.26142 9.26142 11.5 6.5 11.5C3.73858 11.5 1.5 9.26142 1.5 6.5ZM6.5 0C2.91015 0 0 2.91015 0 6.5C0 10.0899 2.91015 13 6.5 13C8.02469 13 9.42677 12.475 10.5353 11.596L13.9697 15.0303L14.5 15.5607L15.5607 14.5L15.0303 13.9697L11.596 10.5353C12.475 9.42677 13 8.02469 13 6.5C13 2.91015 10.0899 0 6.5 0ZM4.125 5.875H4.75H8.25H8.875V7.125H8.25H4.75H4.125V5.875Z`,fill:`currentColor`,fillRule:`evenodd`})})},o3=(0,d.createContext)(a3),s3=(e,t)=>{if(e===t)return!0;if(!(e&&t))return e===t;let n=Object.keys(e),r=Object.keys(t);return n.length===r.length&&n.every(n=>e[n]===t[n])},c3=({icons:e,children:t})=>{let n=(0,d.useRef)(e),r=(0,d.useRef)(e?{...a3,...e}:a3);s3(n.current,e)||(n.current=e,r.current=e?{...a3,...e}:a3);let i=r.current;return(0,T.jsx)(o3.Provider,{value:i,children:t})},l3=()=>(0,d.useContext)(o3),u3={copyCode:`Copy Code`,downloadFile:`Download file`,downloadDiagram:`Download diagram`,downloadDiagramAsSvg:`Download diagram as SVG`,downloadDiagramAsPng:`Download diagram as PNG`,downloadDiagramAsMmd:`Download diagram as MMD`,viewFullscreen:`View fullscreen`,exitFullscreen:`Exit fullscreen`,mermaidFormatSvg:`SVG`,mermaidFormatPng:`PNG`,mermaidFormatMmd:`MMD`,zoomIn:`Zoom in`,zoomOut:`Zoom out`,resetView:`Reset zoom and pan`,copyTable:`Copy table`,copyTableAsMarkdown:`Copy table as Markdown`,copyTableAsCsv:`Copy table as CSV`,copyTableAsTsv:`Copy table as TSV`,downloadTable:`Download table`,downloadTableAsCsv:`Download table as CSV`,downloadTableAsMarkdown:`Download table as Markdown`,tableFormatMarkdown:`Markdown`,tableFormatCsv:`CSV`,tableFormatTsv:`TSV`,imageNotAvailable:`Image not available`,downloadImage:`Download image`,openExternalLink:`Open external link?`,externalLinkWarning:`You're about to visit an external website.`,close:`Close`,copyLink:`Copy link`,copied:`Copied`,openLink:`Open link`},d3=(0,d.createContext)(u3),f3=()=>(0,d.useContext)(d3),p3=({onCopy:e,onError:t,timeout:n=2e3,children:r,className:i,code:a,...o})=>{let s=W4(),[c,l]=(0,d.useState)(!1),u=(0,d.useRef)(0),{code:f}=e3(),{isAnimating:p}=(0,d.useContext)(q6),m=f3(),h=a??f,g=async()=>{var r;if(typeof window>`u`||!((r=navigator==null?void 0:navigator.clipboard)!=null&&r.writeText)){t?.(Error(`Clipboard API not available`));return}try{c||(await navigator.clipboard.writeText(h),l(!0),e?.(),u.current=window.setTimeout(()=>l(!1),n))}catch(e){t?.(e)}};(0,d.useEffect)(()=>()=>{window.clearTimeout(u.current)},[]);let _=l3(),v=c?_.CheckIcon:_.CopyIcon;return(0,T.jsxs)(T.Fragment,{children:[(0,T.jsx)(`button`,{"aria-label":m.copyCode,className:s(`cursor-pointer p-1 text-muted-foreground transition-all hover:text-foreground disabled:cursor-not-allowed disabled:opacity-50`,i),"data-streamdown":`code-block-copy-button`,disabled:p,onClick:g,title:m.copyCode,type:`button`,...o,children:r??(0,T.jsx)(v,{"aria-hidden":`true`,size:14})}),c&&(0,T.jsx)(`output`,{"aria-live":`polite`,className:`sr-only`,children:m.copied})]})},m3=(e,t,n)=>{if(typeof e==`boolean`)return n;let r=e[t];if(typeof r!=`object`)return n;let i=r.download;return typeof i==`object`&&i.filename||n},h3={"1c":`1c`,"1c-query":`1cq`,abap:`abap`,"actionscript-3":`as`,ada:`ada`,adoc:`adoc`,"angular-html":`html`,"angular-ts":`ts`,apache:`conf`,apex:`cls`,apl:`apl`,applescript:`applescript`,ara:`ara`,asciidoc:`adoc`,asm:`asm`,astro:`astro`,awk:`awk`,ballerina:`bal`,bash:`sh`,bat:`bat`,batch:`bat`,be:`be`,beancount:`beancount`,berry:`berry`,bibtex:`bib`,bicep:`bicep`,blade:`blade.php`,bsl:`bsl`,c:`c`,"c#":`cs`,"c++":`cpp`,cadence:`cdc`,cairo:`cairo`,cdc:`cdc`,clarity:`clar`,clj:`clj`,clojure:`clj`,"closure-templates":`soy`,cmake:`cmake`,cmd:`cmd`,cobol:`cob`,codeowners:`CODEOWNERS`,codeql:`ql`,coffee:`coffee`,coffeescript:`coffee`,"common-lisp":`lisp`,console:`sh`,coq:`v`,cpp:`cpp`,cql:`cql`,crystal:`cr`,cs:`cs`,csharp:`cs`,css:`css`,csv:`csv`,cue:`cue`,cypher:`cql`,d:`d`,dart:`dart`,dax:`dax`,desktop:`desktop`,diff:`diff`,docker:`dockerfile`,dockerfile:`dockerfile`,dotenv:`env`,"dream-maker":`dm`,edge:`edge`,elisp:`el`,elixir:`ex`,elm:`elm`,"emacs-lisp":`el`,erb:`erb`,erl:`erl`,erlang:`erl`,f:`f`,"f#":`fs`,f03:`f03`,f08:`f08`,f18:`f18`,f77:`f77`,f90:`f90`,f95:`f95`,fennel:`fnl`,fish:`fish`,fluent:`ftl`,for:`for`,"fortran-fixed-form":`f`,"fortran-free-form":`f90`,fs:`fs`,fsharp:`fs`,fsl:`fsl`,ftl:`ftl`,gdresource:`tres`,gdscript:`gd`,gdshader:`gdshader`,genie:`gs`,gherkin:`feature`,"git-commit":`gitcommit`,"git-rebase":`gitrebase`,gjs:`js`,gleam:`gleam`,"glimmer-js":`js`,"glimmer-ts":`ts`,glsl:`glsl`,gnuplot:`plt`,go:`go`,gql:`gql`,graphql:`graphql`,groovy:`groovy`,gts:`gts`,hack:`hack`,haml:`haml`,handlebars:`hbs`,haskell:`hs`,haxe:`hx`,hbs:`hbs`,hcl:`hcl`,hjson:`hjson`,hlsl:`hlsl`,hs:`hs`,html:`html`,"html-derivative":`html`,http:`http`,hxml:`hxml`,hy:`hy`,imba:`imba`,ini:`ini`,jade:`jade`,java:`java`,javascript:`js`,jinja:`jinja`,jison:`jison`,jl:`jl`,js:`js`,json:`json`,json5:`json5`,jsonc:`jsonc`,jsonl:`jsonl`,jsonnet:`jsonnet`,jssm:`jssm`,jsx:`jsx`,julia:`jl`,kotlin:`kt`,kql:`kql`,kt:`kt`,kts:`kts`,kusto:`kql`,latex:`tex`,lean:`lean`,lean4:`lean`,less:`less`,liquid:`liquid`,lisp:`lisp`,lit:`lit`,llvm:`ll`,log:`log`,logo:`logo`,lua:`lua`,luau:`luau`,make:`mak`,makefile:`mak`,markdown:`md`,marko:`marko`,matlab:`m`,md:`md`,mdc:`mdc`,mdx:`mdx`,mediawiki:`wiki`,mermaid:`mmd`,mips:`s`,mipsasm:`s`,mmd:`mmd`,mojo:`mojo`,move:`move`,nar:`nar`,narrat:`narrat`,nextflow:`nf`,nf:`nf`,nginx:`conf`,nim:`nim`,nix:`nix`,nu:`nu`,nushell:`nu`,objc:`m`,"objective-c":`m`,"objective-cpp":`mm`,ocaml:`ml`,pascal:`pas`,perl:`pl`,perl6:`p6`,php:`php`,plsql:`pls`,po:`po`,polar:`polar`,postcss:`pcss`,pot:`pot`,potx:`potx`,powerquery:`pq`,powershell:`ps1`,prisma:`prisma`,prolog:`pl`,properties:`properties`,proto:`proto`,protobuf:`proto`,ps:`ps`,ps1:`ps1`,pug:`pug`,puppet:`pp`,purescript:`purs`,py:`py`,python:`py`,ql:`ql`,qml:`qml`,qmldir:`qmldir`,qss:`qss`,r:`r`,racket:`rkt`,raku:`raku`,razor:`cshtml`,rb:`rb`,reg:`reg`,regex:`regex`,regexp:`regexp`,rel:`rel`,riscv:`s`,rs:`rs`,rst:`rst`,ruby:`rb`,rust:`rs`,sas:`sas`,sass:`sass`,scala:`scala`,scheme:`scm`,scss:`scss`,sdbl:`sdbl`,sh:`sh`,shader:`shader`,shaderlab:`shader`,shell:`sh`,shellscript:`sh`,shellsession:`sh`,smalltalk:`st`,solidity:`sol`,soy:`soy`,sparql:`rq`,spl:`spl`,splunk:`spl`,sql:`sql`,"ssh-config":`config`,stata:`do`,styl:`styl`,stylus:`styl`,svelte:`svelte`,swift:`swift`,"system-verilog":`sv`,systemd:`service`,talon:`talon`,talonscript:`talon`,tasl:`tasl`,tcl:`tcl`,templ:`templ`,terraform:`tf`,tex:`tex`,tf:`tf`,tfvars:`tfvars`,toml:`toml`,ts:`ts`,"ts-tags":`ts`,tsp:`tsp`,tsv:`tsv`,tsx:`tsx`,turtle:`ttl`,twig:`twig`,typ:`typ`,typescript:`ts`,typespec:`tsp`,typst:`typ`,v:`v`,vala:`vala`,vb:`vb`,verilog:`v`,vhdl:`vhdl`,vim:`vim`,viml:`vim`,vimscript:`vim`,vue:`vue`,"vue-html":`html`,"vue-vine":`vine`,vy:`vy`,vyper:`vy`,wasm:`wasm`,wenyan:`wy`,wgsl:`wgsl`,wiki:`wiki`,wikitext:`wiki`,wit:`wit`,wl:`wl`,wolfram:`wl`,xml:`xml`,xsl:`xsl`,yaml:`yaml`,yml:`yml`,zenscript:`zs`,zig:`zig`,zsh:`zsh`,文言:`wy`},g3=({onDownload:e,onError:t,language:n,children:r,className:i,code:a,...o})=>{let s=W4(),{code:c}=e3(),{isAnimating:l,controls:u}=(0,d.useContext)(q6),f=f3(),p=l3(),m=a??c,h=n&&n in h3?h3[n]:`txt`,g=`${m3(u,`code`,`file`)}.${h}`;return(0,T.jsx)(`button`,{"aria-label":f.downloadFile,className:s(`cursor-pointer p-1 text-muted-foreground transition-all hover:text-foreground disabled:cursor-not-allowed disabled:opacity-50`,i),"data-streamdown":`code-block-download-button`,disabled:l,onClick:()=>{try{H4(g,m,`text/plain`),e?.()}catch(e){t?.(e)}},title:f.downloadFile,type:`button`,...o,children:r??(0,T.jsx)(p.DownloadIcon,{size:14})})},_3=()=>{let{Loader2Icon:e}=l3(),t=W4();return(0,T.jsxs)(`div`,{className:t(`w-full divide-y divide-border overflow-hidden rounded-xl border border-border`),children:[(0,T.jsx)(`div`,{className:t(`h-[46px] w-full bg-muted/80`)}),(0,T.jsx)(`div`,{className:t(`flex w-full items-center justify-center p-4`),children:(0,T.jsx)(e,{className:t(`size-4 animate-spin`)})})]})},v3=/\.[^/.]+$/,y3=({node:e,className:t,src:n,alt:r,onLoad:i,onError:a,showControls:o=!0,showDownloadControl:s=!0,...c})=>{let{DownloadIcon:l}=l3(),u=W4(),f=(0,d.useRef)(null),[p,m]=(0,d.useState)(!1),[h,g]=(0,d.useState)(!1),_=f3(),v=c.width!=null||c.height!=null,y=(p||v)&&!h&&o&&s,b=h&&!v;(0,d.useEffect)(()=>{let e=f.current;if(e!=null&&e.complete){let t=e.naturalWidth>0;m(t),g(!t)}},[]);let x=(0,d.useCallback)(e=>{m(!0),g(!1),i?.(e)},[i]),S=(0,d.useCallback)(e=>{m(!1),g(!0),a?.(e)},[a]),C=async()=>{if(n)try{let e=await(await fetch(n)).blob(),t=new URL(n,window.location.origin).pathname.split(`/`).pop()||``,i=t.split(`.`).pop(),a=t.includes(`.`)&&i!==void 0&&i.length<=4,o=``;if(a)o=t;else{let n=e.type,i=`png`;n.includes(`jpeg`)||n.includes(`jpg`)?i=`jpg`:n.includes(`png`)?i=`png`:n.includes(`svg`)?i=`svg`:n.includes(`gif`)?i=`gif`:n.includes(`webp`)&&(i=`webp`),o=`${(r||t||`image`).replace(v3,``)}.${i}`}H4(o,e,e.type)}catch{window.open(n,`_blank`)}};return n?(0,T.jsxs)(`div`,{className:u(`group relative my-4 inline-block`),"data-streamdown":`image-wrapper`,children:[(0,T.jsx)(`img`,{alt:r,className:u(`max-w-full rounded-lg`,b&&`hidden`,t),"data-streamdown":`image`,onError:S,onLoad:x,ref:f,src:n,...c}),b&&(0,T.jsx)(`span`,{className:u(`text-muted-foreground text-xs italic`),"data-streamdown":`image-fallback`,children:_.imageNotAvailable}),o&&(0,T.jsx)(`div`,{className:u(`pointer-events-none absolute inset-0 hidden rounded-lg bg-black/10 group-hover:block`),"data-streamdown":`image-overlay`}),y&&(0,T.jsx)(`button`,{className:u(`absolute right-2 bottom-2 flex h-8 w-8 cursor-pointer items-center justify-center rounded-md border border-border bg-background/90 shadow-sm backdrop-blur-sm transition-all duration-200 hover:bg-background`,`opacity-0 group-hover:opacity-100`),onClick:C,title:_.downloadImage,type:`button`,children:(0,T.jsx)(l,{size:14})})]}):null},b3=0,x3=()=>{b3+=1,b3===1&&(document.body.style.overflow=`hidden`)},S3=()=>{b3=Math.max(0,b3-1),b3===0&&(document.body.style.overflow=``)},C3=({url:e,isOpen:t,onClose:n,onConfirm:r})=>{let{CheckIcon:i,CopyIcon:a,ExternalLinkIcon:o,XIcon:s}=l3(),c=W4(),[l,u]=(0,d.useState)(!1),f=f3(),p=(0,d.useCallback)(async()=>{try{await navigator.clipboard.writeText(e),u(!0),setTimeout(()=>u(!1),2e3)}catch{}},[e]),m=(0,d.useCallback)(()=>{r(),n()},[r,n]);if((0,d.useEffect)(()=>{if(t){x3();let e=e=>{e.key===`Escape`&&n()};return document.addEventListener(`keydown`,e),()=>{document.removeEventListener(`keydown`,e),S3()}}},[t,n]),!t||typeof document>`u`)return null;let h=(0,T.jsx)(`div`,{className:c(`fixed inset-0 z-50 flex items-center justify-center bg-background/50 backdrop-blur-sm`),"data-streamdown":`link-safety-modal`,onClick:n,onKeyDown:e=>{e.key===`Escape`&&n()},role:`button`,tabIndex:0,children:(0,T.jsxs)(`div`,{className:c(`relative mx-4 flex w-full max-w-md flex-col gap-4 rounded-xl border bg-background p-6 shadow-lg`),onClick:e=>e.stopPropagation(),onKeyDown:e=>e.stopPropagation(),role:`presentation`,children:[(0,T.jsx)(`button`,{className:c(`absolute top-4 right-4 rounded-md p-1 text-muted-foreground transition-all hover:bg-muted hover:text-foreground`),onClick:n,title:f.close,type:`button`,children:(0,T.jsx)(s,{size:16})}),(0,T.jsxs)(`div`,{className:c(`flex flex-col gap-2`),children:[(0,T.jsxs)(`div`,{className:c(`flex items-center gap-2 font-semibold text-lg`),children:[(0,T.jsx)(o,{size:20}),(0,T.jsx)(`span`,{children:f.openExternalLink})]}),(0,T.jsx)(`p`,{className:c(`text-muted-foreground text-sm`),children:f.externalLinkWarning})]}),(0,T.jsx)(`div`,{className:c(`break-all rounded-md bg-muted p-3 font-mono text-sm`,e.length>100&&`max-h-32 overflow-y-auto`),children:e}),(0,T.jsxs)(`div`,{className:c(`flex gap-2`),children:[(0,T.jsx)(`button`,{className:c(`flex flex-1 items-center justify-center gap-2 rounded-md border bg-background px-4 py-2 font-medium text-sm transition-all hover:bg-muted`),onClick:p,type:`button`,children:l?(0,T.jsxs)(T.Fragment,{children:[(0,T.jsx)(i,{size:14}),(0,T.jsx)(`span`,{children:f.copied})]}):(0,T.jsxs)(T.Fragment,{children:[(0,T.jsx)(a,{size:14}),(0,T.jsx)(`span`,{children:f.copyLink})]})}),(0,T.jsxs)(`button`,{className:c(`flex flex-1 items-center justify-center gap-2 rounded-md bg-primary px-4 py-2 font-medium text-primary-foreground text-sm transition-all hover:bg-primary/90`),onClick:m,type:`button`,children:[(0,T.jsx)(o,{size:14}),(0,T.jsx)(`span`,{children:f.openLink})]})]})]})});return(0,mo.createPortal)(h,document.body)},w3=(0,d.createContext)(null),T3=()=>(0,d.useContext)(w3),E3=()=>T3()?.code??null,D3=()=>T3()?.mermaid??null,O3=e=>{var t;let n=T3();return n!=null&&n.renderers&&e&&(t=n.renderers.find(t=>Array.isArray(t.language)?t.language.includes(e):t.language===e))!=null?t:null},k3=e=>{if(typeof DOMParser>`u`||typeof XMLSerializer>`u`)return e;let t=new DOMParser().parseFromString(e,`text/html`).querySelector(`svg`);return t?new XMLSerializer().serializeToString(t):e},A3=(e,t)=>new Promise((t,n)=>{let r=`data:image/svg+xml;base64,`+btoa(unescape(encodeURIComponent(e))),i=new Image;i.crossOrigin=`anonymous`,i.onload=()=>{let e=document.createElement(`canvas`),r=i.width*5,a=i.height*5;e.width=r,e.height=a;let o=e.getContext(`2d`);if(!o){n(Error(`Failed to create 2D canvas context for PNG export`));return}o.drawImage(i,0,0,r,a),e.toBlob(e=>{if(!e){n(Error(`Failed to create PNG blob`));return}t(e)},`image/png`)},i.onerror=()=>n(Error(`Failed to load SVG image`)),i.src=r}),j3=({chart:e,children:t,className:n,onDownload:r,config:i,onError:a})=>{let o=W4(),[s,c]=(0,d.useState)(!1),l=(0,d.useRef)(null),{isAnimating:u,controls:f}=(0,d.useContext)(q6),p=l3(),m=D3(),h=f3(),g=m3(f,`mermaid`,`diagram`),_=async t=>{try{if(t===`mmd`){H4(`${g}.mmd`,e,`text/plain`),c(!1),r?.(t);return}if(!m){a?.(Error(`Mermaid plugin not available`));return}let n=m.getMermaid(i),o=e.split(``).reduce((e,t)=>(e<<5)-e+t.charCodeAt(0)|0,0),s=`mermaid-${Math.abs(o)}-${Date.now()}-${Math.random().toString(36).substring(2,9)}`,{svg:l}=await n.render(s,e);if(!l){a?.(Error(`SVG not found. Please wait for the diagram to render.`));return}let u=k3(l);if(t===`svg`){H4(`${g}.svg`,u,`image/svg+xml`),c(!1),r?.(t);return}if(t===`png`){let e=await A3(u);H4(`${g}.png`,e,`image/png`),r?.(t),c(!1);return}}catch(e){a?.(e)}};return(0,d.useEffect)(()=>{let e=e=>{let t=e.composedPath();l.current&&!t.includes(l.current)&&c(!1)};return document.addEventListener(`mousedown`,e),()=>{document.removeEventListener(`mousedown`,e)}},[]),(0,T.jsxs)(`div`,{className:o(`relative`),ref:l,children:[(0,T.jsx)(`button`,{"aria-label":h.downloadDiagram,className:o(`cursor-pointer p-1 text-muted-foreground transition-all hover:text-foreground disabled:cursor-not-allowed disabled:opacity-50`,n),disabled:u,onClick:()=>c(!s),title:h.downloadDiagram,type:`button`,children:t??(0,T.jsx)(p.DownloadIcon,{"aria-hidden":`true`,size:14})}),s?(0,T.jsxs)(`div`,{className:o(`absolute top-full right-0 z-10 mt-1 min-w-[120px] overflow-hidden rounded-md border border-border bg-background shadow-lg`),children:[(0,T.jsx)(`button`,{"aria-label":h.downloadDiagramAsSvg,className:o(`w-full px-3 py-2 text-left text-sm transition-colors hover:bg-muted/40`),onClick:()=>_(`svg`),title:h.downloadDiagramAsSvg,type:`button`,children:h.mermaidFormatSvg}),(0,T.jsx)(`button`,{"aria-label":h.downloadDiagramAsPng,className:o(`w-full px-3 py-2 text-left text-sm transition-colors hover:bg-muted/40`),onClick:()=>_(`png`),title:h.downloadDiagramAsPng,type:`button`,children:h.mermaidFormatPng}),(0,T.jsx)(`button`,{"aria-label":h.downloadDiagramAsMmd,className:o(`w-full px-3 py-2 text-left text-sm transition-colors hover:bg-muted/40`),onClick:()=>_(`mmd`),title:h.downloadDiagramAsMmd,type:`button`,children:h.mermaidFormatMmd})]}):null]})},M3=({chart:e,config:t,onFullscreen:n,onExit:r,className:i,...a})=>{let{Maximize2Icon:o,XIcon:s}=l3(),c=W4(),[l,u]=(0,d.useState)(!1),{isAnimating:f,controls:p}=(0,d.useContext)(q6),m=f3(),h=(()=>{if(typeof p==`boolean`)return p;let e=p.mermaid;return e===!1?!1:e===!0||e===void 0||e.panZoom!==!1})(),g=(()=>{if(typeof p==`boolean`)return p;let e=p.mermaid;return e===!1?!1:e===!0||e===void 0||e.download!==!1})(),_=(()=>{if(typeof p==`boolean`)return p;let e=p.mermaid;return e===!1?!1:e===!0||e===void 0||e.copy!==!1})(),v=()=>{u(!l)};return(0,d.useEffect)(()=>{if(l){x3();let e=e=>{e.key===`Escape`&&u(!1)};return document.addEventListener(`keydown`,e),()=>{document.removeEventListener(`keydown`,e),S3()}}},[l]),(0,d.useEffect)(()=>{l?n?.():r&&r()},[l,n,r]),(0,T.jsxs)(T.Fragment,{children:[(0,T.jsx)(`button`,{className:c(`cursor-pointer p-1 text-muted-foreground transition-all hover:text-foreground disabled:cursor-not-allowed disabled:opacity-50`,i),disabled:f,onClick:v,title:m.viewFullscreen,type:`button`,...a,"aria-label":m.viewFullscreen,children:(0,T.jsx)(o,{"aria-hidden":`true`,size:14})}),l?(0,mo.createPortal)((0,T.jsxs)(`div`,{"aria-label":m.viewFullscreen,"aria-modal":`true`,className:c(`fixed inset-0 z-50 flex items-center justify-center bg-background/95 backdrop-blur-sm`),"data-streamdown":`mermaid-fullscreen`,onClick:v,onKeyDown:e=>{e.key===`Escape`&&v()},role:`dialog`,children:[(0,T.jsxs)(`div`,{className:c(`absolute top-4 right-4 z-10 flex items-center gap-1`),onClick:e=>e.stopPropagation(),onKeyDown:e=>e.stopPropagation(),role:`presentation`,children:[g?(0,T.jsx)(j3,{chart:e,config:t}):null,_?(0,T.jsx)(p3,{code:e}):null,(0,T.jsx)(`button`,{"aria-label":m.exitFullscreen,className:c(`rounded-md p-2 text-muted-foreground transition-all hover:bg-muted hover:text-foreground`),onClick:v,title:m.exitFullscreen,type:`button`,children:(0,T.jsx)(s,{"aria-hidden":`true`,size:20})})]}),(0,T.jsx)(`div`,{className:c(`flex size-full items-center justify-center p-4`),onClick:e=>e.stopPropagation(),onKeyDown:e=>e.stopPropagation(),role:`presentation`,children:(0,T.jsx)(X6,{chart:e,className:c(`size-full [&_svg]:h-auto [&_svg]:w-auto`),config:t,fullscreen:!0,showControls:h})})]}),document.body):null]})};function N3(e){if(e.nodeType===Node.TEXT_NODE)return e.textContent??``;if(e.nodeType!==Node.ELEMENT_NODE)return``;let t=e;return t.tagName===`BR`?`
|
|
449
449
|
`:Array.from(t.childNodes).map(N3).join(``)}var P3=e=>{let t=[],n=[],r=e.querySelectorAll(`thead th`);for(let e of r)t.push(N3(e).trim());let i=e.querySelectorAll(`tbody tr`);for(let e of i){let t=[],r=e.querySelectorAll(`td`);for(let e of r)t.push(N3(e).trim());n.push(t)}return{headers:t,rows:n}},F3=e=>{if(typeof e!=`object`)return`,`;let t=e.table;return typeof t==`object`?t.csvSeparator??`,`:`,`},I3=(e,t=`,`)=>{let n;n=t===`auto`?Intl.NumberFormat().format(1.1).includes(`,`)?`;`:`,`:t;let{headers:r,rows:i}=e,a=e=>{let t=!1;for(let r of e)if(r===n||r===`"`||r===`
|
|
450
450
|
`||r===`\r`){t=!0;break}return t?`"${e.replace(/"/g,`""`)}"`:e},o=r.length>0?i.length+1:i.length,s=Array(o),c=0;r.length>0&&(s[c]=r.map(a).join(n),c+=1);for(let e of i)s[c]=e.map(a).join(n),c+=1;return s.join(`
|
|
@@ -454,7 +454,7 @@ Please report this to https://github.com/markedjs/marked.`,e){let e=`<p>An error
|
|
|
454
454
|
`)},R3=e=>{let t=!1;for(let n of e)if(n===`\\`||n===`|`||n===`
|
|
455
455
|
`){t=!0;break}if(!t)return e;let n=[];for(let t of e)t===`\\`?n.push(`\\\\`):t===`|`?n.push(`\\|`):t===`
|
|
456
456
|
`?n.push(`<br>`):n.push(t);return n.join(``)},z3=e=>{let{headers:t,rows:n}=e;if(t.length===0)return``;let r=Array(n.length+2),i=0,a=t.map(e=>R3(e));r[i]=`| ${a.join(` | `)} |`,i+=1;let o=Array(t.length);for(let e=0;e<t.length;e+=1)o[e]=`---`;r[i]=`| ${o.join(` | `)} |`,i+=1;for(let e of n)if(e.length<t.length){let n=Array(t.length);for(let r=0;r<t.length;r+=1)n[r]=r<e.length?R3(e[r]):``;r[i]=`| ${n.join(` | `)} |`,i+=1}else{let t=e.map(e=>R3(e));r[i]=`| ${t.join(` | `)} |`,i+=1}return r.join(`
|
|
457
|
-
`)},B3=({children:e,className:t,onCopy:n,onError:r,timeout:i=2e3})=>{let a=W4(),[o,s]=(0,d.useState)(!1),[c,l]=(0,d.useState)(!1),u=(0,d.useRef)(null),f=(0,d.useRef)(0),{isAnimating:p,controls:m}=(0,d.useContext)(q6),h=f3(),g=F3(m),_=async e=>{var t;if(typeof window>`u`||!((t=navigator==null?void 0:navigator.clipboard)!=null&&t.write)){r?.(Error(`Clipboard API not available`));return}try{let t=(u.current?.closest(`[data-streamdown="table-wrapper"]`))?.querySelector(`table`);if(!t){r?.(Error(`Table not found`));return}let a=P3(t),o=``;o=e===`csv`?I3(a,g):e===`tsv`?L3(a):z3(a);let c=new ClipboardItem({"text/plain":new Blob([o],{type:`text/plain`}),"text/html":new Blob([t.outerHTML],{type:`text/html`})});await navigator.clipboard.write([c]),l(!0),s(!1),n?.(e),f.current=window.setTimeout(()=>l(!1),i)}catch(e){r?.(e)}};(0,d.useEffect)(()=>{let e=e=>{let t=e.composedPath();u.current&&!t.includes(u.current)&&s(!1)};return document.addEventListener(`mousedown`,e),()=>{document.removeEventListener(`mousedown`,e),window.clearTimeout(f.current)}},[]);let v=l3(),y=c?v.CheckIcon:v.CopyIcon;return(0,T.jsxs)(`div`,{className:a(`relative`),ref:u,children:[(0,T.jsx)(`button`,{className:a(`cursor-pointer p-1 text-muted-foreground transition-all hover:text-foreground disabled:cursor-not-allowed disabled:opacity-50`,t),disabled:p,onClick:()=>s(!o),title:h.copyTable,type:`button`,children:e??(0,T.jsx)(y,{height:14,width:14})}),o?(0,T.jsxs)(`div`,{className:a(`absolute top-full right-0 z-20 mt-1 min-w-[120px] overflow-hidden rounded-md border border-border bg-background shadow-lg`),children:[(0,T.jsx)(`button`,{className:a(`w-full px-3 py-2 text-left text-sm transition-colors hover:bg-muted/40`),onClick:()=>_(`md`),title:h.copyTableAsMarkdown,type:`button`,children:h.tableFormatMarkdown}),(0,T.jsx)(`button`,{className:a(`w-full px-3 py-2 text-left text-sm transition-colors hover:bg-muted/40`),onClick:()=>_(`csv`),title:h.copyTableAsCsv,type:`button`,children:h.tableFormatCsv}),(0,T.jsx)(`button`,{className:a(`w-full px-3 py-2 text-left text-sm transition-colors hover:bg-muted/40`),onClick:()=>_(`tsv`),title:h.copyTableAsTsv,type:`button`,children:h.tableFormatTsv})]}):null]})},V3=({children:e,className:t,onDownload:n,onError:r})=>{let i=W4(),[a,o]=(0,d.useState)(!1),s=(0,d.useRef)(null),{isAnimating:c,controls:l}=(0,d.useContext)(q6),u=f3(),f=l3(),p=F3(l),m=e=>{try{let t=(s.current?.closest(`[data-streamdown="table-wrapper"]`))?.querySelector(`table`);if(!t){r?.(Error(`Table not found`));return}let i=P3(t),a=e===`csv`?I3(i,p):z3(i),c=e===`csv`?`csv`:`md`;H4(`${m3(l,`table`,`table`)}.${c}`,a,e===`csv`?`text/csv`:`text/markdown`),o(!1),n?.(e)}catch(e){r?.(e)}};return(0,d.useEffect)(()=>{let e=e=>{let t=e.composedPath();s.current&&!t.includes(s.current)&&o(!1)};return document.addEventListener(`mousedown`,e),()=>{document.removeEventListener(`mousedown`,e)}},[]),(0,T.jsxs)(`div`,{className:i(`relative`),ref:s,children:[(0,T.jsx)(`button`,{className:i(`cursor-pointer p-1 text-muted-foreground transition-all hover:text-foreground disabled:cursor-not-allowed disabled:opacity-50`,t),disabled:c,onClick:()=>o(!a),title:u.downloadTable,type:`button`,children:e??(0,T.jsx)(f.DownloadIcon,{size:14})}),a?(0,T.jsxs)(`div`,{className:i(`absolute top-full right-0 z-20 mt-1 min-w-[120px] overflow-hidden rounded-md border border-border bg-background shadow-lg`),children:[(0,T.jsx)(`button`,{className:i(`w-full px-3 py-2 text-left text-sm transition-colors hover:bg-muted/40`),onClick:()=>m(`csv`),title:u.downloadTableAsCsv,type:`button`,children:u.tableFormatCsv}),(0,T.jsx)(`button`,{className:i(`w-full px-3 py-2 text-left text-sm transition-colors hover:bg-muted/40`),onClick:()=>m(`markdown`),title:u.downloadTableAsMarkdown,type:`button`,children:u.tableFormatMarkdown})]}):null]})},H3=({children:e,className:t,showCopy:n=!0,showDownload:r=!0})=>{let{Maximize2Icon:i,XIcon:a}=l3(),o=W4(),[s,c]=(0,d.useState)(!1),{isAnimating:l}=(0,d.useContext)(q6),u=f3(),f=()=>{c(!0)},p=()=>{c(!1)};return(0,d.useEffect)(()=>{if(s){x3();let e=e=>{e.key===`Escape`&&c(!1)};return document.addEventListener(`keydown`,e),()=>{document.removeEventListener(`keydown`,e),S3()}}},[s]),(0,T.jsxs)(T.Fragment,{children:[(0,T.jsx)(`button`,{className:o(`cursor-pointer p-1 text-muted-foreground transition-all hover:text-foreground disabled:cursor-not-allowed disabled:opacity-50`,t),disabled:l,onClick:f,title:u.viewFullscreen,type:`button`,children:(0,T.jsx)(i,{size:14})}),s?(0,mo.createPortal)((0,T.jsx)(`div`,{"aria-label":u.viewFullscreen,"aria-modal":`true`,className:o(`fixed inset-0 z-50 flex flex-col bg-background`),"data-streamdown":`table-fullscreen`,onClick:p,onKeyDown:e=>{e.key===`Escape`&&p()},role:`dialog`,children:(0,T.jsxs)(`div`,{className:o(`flex h-full flex-col`),"data-streamdown":`table-wrapper`,onClick:e=>e.stopPropagation(),onKeyDown:e=>e.stopPropagation(),role:`presentation`,children:[(0,T.jsxs)(`div`,{className:o(`flex items-center justify-end gap-1 p-4`),children:[n?(0,T.jsx)(B3,{}):null,r?(0,T.jsx)(V3,{}):null,(0,T.jsx)(`button`,{className:o(`rounded-md p-1 text-muted-foreground transition-all hover:bg-muted hover:text-foreground`),onClick:p,title:u.exitFullscreen,type:`button`,children:(0,T.jsx)(a,{size:20})})]}),(0,T.jsx)(`div`,{className:o(`flex-1 overflow-auto p-4 pt-0 [&_thead]:sticky [&_thead]:top-0 [&_thead]:z-10`),children:(0,T.jsx)(`table`,{className:o(`w-full border-collapse border border-border`),"data-streamdown":`table`,children:e})})]})}),document.body):null]})},U3=({children:e,className:t,maxHeight:n,showControls:r,showCopy:i=!0,showDownload:a=!0,showFullscreen:o=!0,...s})=>{let c=W4(),{isAnimating:l}=(0,d.useContext)(q6),u=K4(n),f=q4(l,!!u,e),p=r&&i,m=r&&a,h=r&&o,g=p||m||h;return(0,T.jsxs)(`div`,{className:c(`my-4 flex flex-col gap-2 rounded-lg border border-border bg-sidebar p-2`),"data-streamdown":`table-wrapper`,children:[g?(0,T.jsxs)(`div`,{className:c(`flex items-center justify-end gap-1`),children:[p?(0,T.jsx)(B3,{}):null,m?(0,T.jsx)(V3,{}):null,h?(0,T.jsx)(H3,{showCopy:p,showDownload:m,children:e}):null]}):null,(0,T.jsx)(`div`,{className:c(`border-collapse overflow-x-auto overflow-y-auto rounded-md border border-border bg-background`),ref:f,style:u?{maxHeight:u}:void 0,children:(0,T.jsx)(`table`,{className:c(`w-full divide-y divide-border`,t),"data-streamdown":`table`,...s,children:e})})]})},W3=/startLine=(\d+)/,G3=/\bnoLineNumbers\b/,K3=(0,d.lazy)(()=>a4(()=>import(`./mermaid-HWGCJPDP-DwVcOTbA.js`).then(e=>({default:e.Mermaid})),[])),q3=/language-([^\s]+)/,J3=`node`;function Y3(e,t){let n=Object.keys(e);if(n.length!==Object.keys(t).length)return!1;let r=e,i=t;for(let e of n)if(e!==J3&&!Object.is(r[e],i[e]))return!1;return!0}function X3(e,t){return e?.properties?.metastring===t?.properties?.metastring}var Z3=(e,t)=>typeof e==`boolean`?e:e[t]!==!1,Q3=(e,t)=>{if(typeof e==`boolean`)return e;let n=e.table;return n===!1?!1:n===!0||n===void 0||n[t]!==!1},$3=(e,t)=>{if(typeof e==`boolean`)return e;let n=e.code;return n===!1?!1:n===!0||n===void 0||n[t]!==!1},e6=(e,t)=>{if(typeof e==`boolean`)return e;let n=e.mermaid;return n===!1?!1:n===!0||n===void 0||n[t]!==!1},t6=(e,t)=>{if(typeof e==`boolean`)return e;let n=e.image;return n===!1?!1:n===!0||n===void 0||n[t]!==!1},n6=(0,d.memo)(({children:e,className:t,node:n,...r})=>{let i=W4();return(0,T.jsx)(`ol`,{className:i(`list-inside list-decimal whitespace-normal [li_&]:pl-6`,t),"data-streamdown":`ordered-list`,...r,children:e})},(e,t)=>Y3(e,t));n6.displayName=`MarkdownOl`;var r6=(0,d.memo)(({children:e,className:t,node:n,...r})=>{let i=W4();return(0,T.jsx)(`li`,{className:i(`py-1 [&>p]:inline`,t),"data-streamdown":`list-item`,...r,children:e})},(e,t)=>Y3(e,t));r6.displayName=`MarkdownLi`;var i6=(0,d.memo)(({children:e,className:t,node:n,...r})=>{let i=W4();return(0,T.jsx)(`ul`,{className:i(`list-inside list-disc whitespace-normal [li_&]:pl-6`,t),"data-streamdown":`unordered-list`,...r,children:e})},(e,t)=>Y3(e,t));i6.displayName=`MarkdownUl`;var a6=(0,d.memo)(({className:e,node:t,...n})=>{let r=W4();return(0,T.jsx)(`hr`,{className:r(`my-6 border-border`,e),"data-streamdown":`horizontal-rule`,...n})},(e,t)=>Y3(e,t));a6.displayName=`MarkdownHr`;var o6=(0,d.memo)(({children:e,className:t,node:n,...r})=>{let i=W4();return(0,T.jsx)(`span`,{className:i(`font-semibold`,t),"data-streamdown":`strong`,...r,children:e})},(e,t)=>Y3(e,t));o6.displayName=`MarkdownStrong`;var s6=(0,d.memo)(({children:e,className:t,href:n,node:r,...i})=>{let a=W4(),{linkSafety:o}=(0,d.useContext)(q6),[s,c]=(0,d.useState)(!1),l=n===`streamdown:incomplete-link`,u=(0,d.useCallback)(async e=>{if(!(!(o!=null&&o.enabled&&n)||l)){if(e.preventDefault(),o.onLinkCheck&&await o.onLinkCheck(n)){window.open(n,`_blank`,`noreferrer`);return}c(!0)}},[o,n,l]),f=(0,d.useCallback)(()=>{n&&window.open(n,`_blank`,`noreferrer`)},[n]),p=(0,d.useCallback)(()=>{c(!1)},[]),m={url:n??``,isOpen:s,onClose:p,onConfirm:f};return o!=null&&o.enabled&&n?(0,T.jsxs)(T.Fragment,{children:[(0,T.jsx)(`button`,{className:a(`wrap-anywhere appearance-none text-left font-medium text-primary underline`,t),"data-incomplete":l,"data-streamdown":`link`,onClick:u,type:`button`,children:e}),o.renderModal?o.renderModal(m):(0,T.jsx)(C3,{...m})]}):(0,T.jsx)(`a`,{className:a(`wrap-anywhere font-medium text-primary underline`,t),"data-incomplete":l,"data-streamdown":`link`,href:n,rel:`noreferrer`,target:`_blank`,...i,children:e})},(e,t)=>Y3(e,t));s6.displayName=`MarkdownA`;var c6=(0,d.memo)(({children:e,className:t,node:n,...r})=>{let i=W4();return(0,T.jsx)(`h1`,{className:i(`mt-6 mb-2 font-semibold text-3xl`,t),"data-streamdown":`heading-1`,...r,children:e})},(e,t)=>Y3(e,t));c6.displayName=`MarkdownH1`;var l6=(0,d.memo)(({children:e,className:t,node:n,...r})=>{let i=W4();return(0,T.jsx)(`h2`,{className:i(`mt-6 mb-2 font-semibold text-2xl`,t),"data-streamdown":`heading-2`,...r,children:e})},(e,t)=>Y3(e,t));l6.displayName=`MarkdownH2`;var u6=(0,d.memo)(({children:e,className:t,node:n,...r})=>{let i=W4();return(0,T.jsx)(`h3`,{className:i(`mt-6 mb-2 font-semibold text-xl`,t),"data-streamdown":`heading-3`,...r,children:e})},(e,t)=>Y3(e,t));u6.displayName=`MarkdownH3`;var d6=(0,d.memo)(({children:e,className:t,node:n,...r})=>{let i=W4();return(0,T.jsx)(`h4`,{className:i(`mt-6 mb-2 font-semibold text-lg`,t),"data-streamdown":`heading-4`,...r,children:e})},(e,t)=>Y3(e,t));d6.displayName=`MarkdownH4`;var f6=(0,d.memo)(({children:e,className:t,node:n,...r})=>{let i=W4();return(0,T.jsx)(`h5`,{className:i(`mt-6 mb-2 font-semibold text-base`,t),"data-streamdown":`heading-5`,...r,children:e})},(e,t)=>Y3(e,t));f6.displayName=`MarkdownH5`;var p6=(0,d.memo)(({children:e,className:t,node:n,...r})=>{let i=W4();return(0,T.jsx)(`h6`,{className:i(`mt-6 mb-2 font-semibold text-sm`,t),"data-streamdown":`heading-6`,...r,children:e})},(e,t)=>Y3(e,t));p6.displayName=`MarkdownH6`;var m6=(0,d.memo)(({children:e,className:t,node:n,...r})=>{let{controls:i,tableMaxHeight:a}=(0,d.useContext)(q6),o=Z3(i,`table`),s=Q3(i,`copy`),c=Q3(i,`download`),l=Q3(i,`fullscreen`);return(0,T.jsx)(U3,{className:t,maxHeight:a,showControls:o,showCopy:s,showDownload:c,showFullscreen:l,...r,children:e})},(e,t)=>Y3(e,t));m6.displayName=`MarkdownTable`;var h6=(0,d.memo)(({children:e,className:t,node:n,...r})=>{let i=W4();return(0,T.jsx)(`thead`,{className:i(`bg-muted/80`,t),"data-streamdown":`table-header`,...r,children:e})},(e,t)=>Y3(e,t));h6.displayName=`MarkdownThead`;var g6=(0,d.memo)(({children:e,className:t,node:n,...r})=>{let i=W4();return(0,T.jsx)(`tbody`,{className:i(`divide-y divide-border`,t),"data-streamdown":`table-body`,...r,children:e})},(e,t)=>Y3(e,t));g6.displayName=`MarkdownTbody`;var _6=(0,d.memo)(({children:e,className:t,node:n,...r})=>{let i=W4();return(0,T.jsx)(`tr`,{className:i(`border-border`,t),"data-streamdown":`table-row`,...r,children:e})},(e,t)=>Y3(e,t));_6.displayName=`MarkdownTr`;var v6=(0,d.memo)(({children:e,className:t,node:n,...r})=>{let i=W4();return(0,T.jsx)(`th`,{className:i(`whitespace-nowrap px-4 py-2 text-left font-semibold text-sm`,t),"data-streamdown":`table-header-cell`,...r,children:e})},(e,t)=>Y3(e,t));v6.displayName=`MarkdownTh`;var y6=(0,d.memo)(({children:e,className:t,node:n,...r})=>{let i=W4();return(0,T.jsx)(`td`,{className:i(`px-4 py-2 text-sm`,t),"data-streamdown":`table-cell`,...r,children:e})},(e,t)=>Y3(e,t));y6.displayName=`MarkdownTd`;var b6=(0,d.memo)(({children:e,className:t,node:n,...r})=>{let i=W4();return(0,T.jsx)(`blockquote`,{className:i(`my-4 border-muted-foreground/30 border-l-4 pl-4 text-muted-foreground italic`,t),"data-streamdown":`blockquote`,...r,children:e})},(e,t)=>Y3(e,t));b6.displayName=`MarkdownBlockquote`;var x6=(0,d.memo)(({children:e,className:t,node:n,...r})=>{let i=W4();return(0,T.jsx)(`sup`,{className:i(`text-sm`,t),"data-streamdown":`superscript`,...r,children:e})},(e,t)=>Y3(e,t));x6.displayName=`MarkdownSup`;var S6=(0,d.memo)(({children:e,className:t,node:n,...r})=>{let i=W4();return(0,T.jsx)(`sub`,{className:i(`text-sm`,t),"data-streamdown":`subscript`,...r,children:e})},(e,t)=>Y3(e,t));S6.displayName=`MarkdownSub`;var C6=(0,d.memo)(({children:e,className:t,node:n,...r})=>{if(`data-footnotes`in r){let n=e=>{if(!(0,d.isValidElement)(e))return!1;let t=Array.isArray(e.props.children)?e.props.children:[e.props.children],n=!1,r=!1;for(let e of t)if(e){if(typeof e==`string`)e.trim()!==``&&(n=!0);else if((0,d.isValidElement)(e)){if(e.props?.[`data-footnote-backref`]!==void 0)r=!0;else{let t=Array.isArray(e.props.children)?e.props.children:[e.props.children];for(let e of t){if(typeof e==`string`&&e.trim()!==``){n=!0;break}if((0,d.isValidElement)(e)&&e.props?.[`data-footnote-backref`]===void 0){n=!0;break}}}}}return r&&!n},i=Array.isArray(e)?e.map(e=>{if(!(0,d.isValidElement)(e))return e;if(e.type===n6){let t=(Array.isArray(e.props.children)?e.props.children:[e.props.children]).filter(e=>!n(e));return t.length===0?null:{...e,props:{...e.props,children:t}}}return e}):e;return(Array.isArray(i)?i.some(e=>e!==null):i!==null)?(0,T.jsx)(`section`,{className:t,...r,children:i}):null}return(0,T.jsx)(`section`,{className:t,...r,children:e})},(e,t)=>Y3(e,t));C6.displayName=`MarkdownSection`;var w6=(0,d.memo)(({node:e,className:t,children:n,...r})=>{let i=W4(),a=!(`data-block`in r),{mermaid:o,controls:s,lineNumbers:c}=(0,d.useContext)(q6),l=D3(),u=R4(),f=(t?.match(q3))?.at(1)??``,p=O3(f);if(a)return(0,T.jsx)(`code`,{className:i(`rounded bg-muted px-1.5 py-0.5 font-mono text-sm`,t),"data-streamdown":`inline-code`,...r,children:n});let m=e?.properties?.metastring,h=m?.match(W3),g=h?Number.parseInt(h[1],10):void 0,_=g!==void 0&&g>=1?g:void 0,v=!(m&&G3.test(m))&&c!==!1,y=``;if((0,d.isValidElement)(n)&&n.props&&typeof n.props==`object`&&`children`in n.props&&typeof n.props.children==`string`?y=n.props.children:typeof n==`string`&&(y=n),p){let e=p.component;return(0,T.jsx)(d.Suspense,{fallback:(0,T.jsx)(_3,{}),children:(0,T.jsx)(e,{code:y,isIncomplete:u,language:f,meta:m})})}if(f===`mermaid`&&l){let e=Z3(s,`mermaid`),n=e6(s,`download`),r=e6(s,`copy`),a=e6(s,`fullscreen`),c=e6(s,`panZoom`),l=e&&(n||r||a);return(0,T.jsx)(d.Suspense,{fallback:(0,T.jsx)(_3,{}),children:(0,T.jsxs)(`div`,{className:i(`group relative my-4 flex w-full flex-col gap-2 rounded-xl border border-border bg-sidebar p-2`,t),"data-streamdown":`mermaid-block`,children:[(0,T.jsx)(`div`,{className:i(`flex h-8 items-center text-muted-foreground text-xs`),children:(0,T.jsx)(`span`,{className:i(`ml-1 font-mono lowercase`),children:`mermaid`})}),l?(0,T.jsx)(`div`,{className:i(`pointer-events-none sticky top-2 z-10 -mt-10 flex h-8 items-center justify-end`),children:(0,T.jsxs)(`div`,{className:i(`pointer-events-auto flex shrink-0 items-center gap-2 rounded-md border border-sidebar bg-sidebar/80 px-1.5 py-1 supports-[backdrop-filter]:bg-sidebar/70 supports-[backdrop-filter]:backdrop-blur`),"data-streamdown":`mermaid-block-actions`,children:[n?(0,T.jsx)(j3,{chart:y,config:o?.config}):null,r?(0,T.jsx)(p3,{code:y}):null,a?(0,T.jsx)(M3,{chart:y,config:o?.config}):null]})}):null,(0,T.jsx)(`div`,{className:i(`rounded-md border border-border bg-background`),children:(0,T.jsx)(K3,{chart:y,config:o?.config,showControls:c})})]})})}let b=Z3(s,`code`),x=$3(s,`download`),S=$3(s,`copy`),{"data-block":C,...w}=r;return(0,T.jsx)(i3,{className:t,code:y,isIncomplete:u,language:f,lineNumbers:v,startLine:_,...w,children:b?(0,T.jsxs)(T.Fragment,{children:[x?(0,T.jsx)(g3,{code:y,language:f}):null,S?(0,T.jsx)(p3,{}):null]}):null})},(e,t)=>Y3(e,t)&&X3(e.node,t.node));w6.displayName=`MarkdownCode`;var T6=(0,d.memo)(({node:e,className:t,...n})=>{let{controls:r}=(0,d.useContext)(q6),i=Z3(r,`image`),a=i&&t6(r,`download`);return(0,T.jsx)(y3,{className:t,node:e,showControls:i,showDownloadControl:a,...n})},(e,t)=>Y3(e,t));T6.displayName=`MarkdownImg`;var E6=(0,d.memo)(({children:e,node:t,...n})=>{let r=(Array.isArray(e)?e:[e]).filter(e=>e!=null&&e!==``);if(r.length===1&&(0,d.isValidElement)(r[0])){let t=r[0].props.node?.tagName;if(t===`img`||t===`code`&&`data-block`in r[0].props)return(0,T.jsx)(T.Fragment,{children:e})}return(0,T.jsx)(`p`,{...n,children:e})},(e,t)=>Y3(e,t));E6.displayName=`MarkdownParagraph`;var kie={ol:n6,li:r6,ul:i6,hr:a6,strong:o6,a:s6,h1:c6,h2:l6,h3:u6,h4:d6,h5:f6,h6:p6,table:m6,thead:h6,tbody:g6,tr:_6,th:v6,td:y6,blockquote:b6,code:w6,img:T6,pre:({children:e})=>(0,d.isValidElement)(e)?(0,d.cloneElement)(e,{"data-block":`true`}):e,sup:x6,sub:S6,p:E6,section:C6},Aie=/[\u0590-\u08FF\uFB1D-\uFDFF\uFE70-\uFEFF]/,jie=/\p{L}/u;function D6(e){let t=e.replace(/(```|~~~)[\s\S]*?\1/g,``).replace(/^#{1,6}\s+/gm,``).replace(/(\*{1,3}|_{1,3})/g,``).replace(/`[^`]*`/g,``).replace(/\[([^\]]*)\]\([^)]*\)/g,`$1`).replace(/^[\s>*\-+\d.]+/gm,``),n,r=0,i=0;for(let e of t){if(Aie.test(e)){n??=`rtl`,i+=1;continue}jie.test(e)&&(n??=`ltr`,r+=1)}return i>r?`rtl`:r>i?`ltr`:n??`ltr`}var Mie=/^[ \t]{0,3}(`{3,}|~{3,})/,Nie=/^\|?[ \t]*:?-{1,}:?[ \t]*(\|[ \t]*:?-{1,}:?[ \t]*)*\|?$/,O6=e=>{let t=e.split(`
|
|
457
|
+
`)},B3=({children:e,className:t,onCopy:n,onError:r,timeout:i=2e3})=>{let a=W4(),[o,s]=(0,d.useState)(!1),[c,l]=(0,d.useState)(!1),u=(0,d.useRef)(null),f=(0,d.useRef)(0),{isAnimating:p,controls:m}=(0,d.useContext)(q6),h=f3(),g=F3(m),_=async e=>{var t;if(typeof window>`u`||!((t=navigator==null?void 0:navigator.clipboard)!=null&&t.write)){r?.(Error(`Clipboard API not available`));return}try{let t=(u.current?.closest(`[data-streamdown="table-wrapper"]`))?.querySelector(`table`);if(!t){r?.(Error(`Table not found`));return}let a=P3(t),o=``;o=e===`csv`?I3(a,g):e===`tsv`?L3(a):z3(a);let c=new ClipboardItem({"text/plain":new Blob([o],{type:`text/plain`}),"text/html":new Blob([t.outerHTML],{type:`text/html`})});await navigator.clipboard.write([c]),l(!0),s(!1),n?.(e),f.current=window.setTimeout(()=>l(!1),i)}catch(e){r?.(e)}};(0,d.useEffect)(()=>{let e=e=>{let t=e.composedPath();u.current&&!t.includes(u.current)&&s(!1)};return document.addEventListener(`mousedown`,e),()=>{document.removeEventListener(`mousedown`,e),window.clearTimeout(f.current)}},[]);let v=l3(),y=c?v.CheckIcon:v.CopyIcon;return(0,T.jsxs)(`div`,{className:a(`relative`),ref:u,children:[(0,T.jsx)(`button`,{className:a(`cursor-pointer p-1 text-muted-foreground transition-all hover:text-foreground disabled:cursor-not-allowed disabled:opacity-50`,t),disabled:p,onClick:()=>s(!o),title:h.copyTable,type:`button`,children:e??(0,T.jsx)(y,{height:14,width:14})}),o?(0,T.jsxs)(`div`,{className:a(`absolute top-full right-0 z-20 mt-1 min-w-[120px] overflow-hidden rounded-md border border-border bg-background shadow-lg`),children:[(0,T.jsx)(`button`,{className:a(`w-full px-3 py-2 text-left text-sm transition-colors hover:bg-muted/40`),onClick:()=>_(`md`),title:h.copyTableAsMarkdown,type:`button`,children:h.tableFormatMarkdown}),(0,T.jsx)(`button`,{className:a(`w-full px-3 py-2 text-left text-sm transition-colors hover:bg-muted/40`),onClick:()=>_(`csv`),title:h.copyTableAsCsv,type:`button`,children:h.tableFormatCsv}),(0,T.jsx)(`button`,{className:a(`w-full px-3 py-2 text-left text-sm transition-colors hover:bg-muted/40`),onClick:()=>_(`tsv`),title:h.copyTableAsTsv,type:`button`,children:h.tableFormatTsv})]}):null]})},V3=({children:e,className:t,onDownload:n,onError:r})=>{let i=W4(),[a,o]=(0,d.useState)(!1),s=(0,d.useRef)(null),{isAnimating:c,controls:l}=(0,d.useContext)(q6),u=f3(),f=l3(),p=F3(l),m=e=>{try{let t=(s.current?.closest(`[data-streamdown="table-wrapper"]`))?.querySelector(`table`);if(!t){r?.(Error(`Table not found`));return}let i=P3(t),a=e===`csv`?I3(i,p):z3(i),c=e===`csv`?`csv`:`md`;H4(`${m3(l,`table`,`table`)}.${c}`,a,e===`csv`?`text/csv`:`text/markdown`),o(!1),n?.(e)}catch(e){r?.(e)}};return(0,d.useEffect)(()=>{let e=e=>{let t=e.composedPath();s.current&&!t.includes(s.current)&&o(!1)};return document.addEventListener(`mousedown`,e),()=>{document.removeEventListener(`mousedown`,e)}},[]),(0,T.jsxs)(`div`,{className:i(`relative`),ref:s,children:[(0,T.jsx)(`button`,{className:i(`cursor-pointer p-1 text-muted-foreground transition-all hover:text-foreground disabled:cursor-not-allowed disabled:opacity-50`,t),disabled:c,onClick:()=>o(!a),title:u.downloadTable,type:`button`,children:e??(0,T.jsx)(f.DownloadIcon,{size:14})}),a?(0,T.jsxs)(`div`,{className:i(`absolute top-full right-0 z-20 mt-1 min-w-[120px] overflow-hidden rounded-md border border-border bg-background shadow-lg`),children:[(0,T.jsx)(`button`,{className:i(`w-full px-3 py-2 text-left text-sm transition-colors hover:bg-muted/40`),onClick:()=>m(`csv`),title:u.downloadTableAsCsv,type:`button`,children:u.tableFormatCsv}),(0,T.jsx)(`button`,{className:i(`w-full px-3 py-2 text-left text-sm transition-colors hover:bg-muted/40`),onClick:()=>m(`markdown`),title:u.downloadTableAsMarkdown,type:`button`,children:u.tableFormatMarkdown})]}):null]})},H3=({children:e,className:t,showCopy:n=!0,showDownload:r=!0})=>{let{Maximize2Icon:i,XIcon:a}=l3(),o=W4(),[s,c]=(0,d.useState)(!1),{isAnimating:l}=(0,d.useContext)(q6),u=f3(),f=()=>{c(!0)},p=()=>{c(!1)};return(0,d.useEffect)(()=>{if(s){x3();let e=e=>{e.key===`Escape`&&c(!1)};return document.addEventListener(`keydown`,e),()=>{document.removeEventListener(`keydown`,e),S3()}}},[s]),(0,T.jsxs)(T.Fragment,{children:[(0,T.jsx)(`button`,{className:o(`cursor-pointer p-1 text-muted-foreground transition-all hover:text-foreground disabled:cursor-not-allowed disabled:opacity-50`,t),disabled:l,onClick:f,title:u.viewFullscreen,type:`button`,children:(0,T.jsx)(i,{size:14})}),s?(0,mo.createPortal)((0,T.jsx)(`div`,{"aria-label":u.viewFullscreen,"aria-modal":`true`,className:o(`fixed inset-0 z-50 flex flex-col bg-background`),"data-streamdown":`table-fullscreen`,onClick:p,onKeyDown:e=>{e.key===`Escape`&&p()},role:`dialog`,children:(0,T.jsxs)(`div`,{className:o(`flex h-full flex-col`),"data-streamdown":`table-wrapper`,onClick:e=>e.stopPropagation(),onKeyDown:e=>e.stopPropagation(),role:`presentation`,children:[(0,T.jsxs)(`div`,{className:o(`flex items-center justify-end gap-1 p-4`),children:[n?(0,T.jsx)(B3,{}):null,r?(0,T.jsx)(V3,{}):null,(0,T.jsx)(`button`,{className:o(`rounded-md p-1 text-muted-foreground transition-all hover:bg-muted hover:text-foreground`),onClick:p,title:u.exitFullscreen,type:`button`,children:(0,T.jsx)(a,{size:20})})]}),(0,T.jsx)(`div`,{className:o(`flex-1 overflow-auto p-4 pt-0 [&_thead]:sticky [&_thead]:top-0 [&_thead]:z-10`),children:(0,T.jsx)(`table`,{className:o(`w-full border-collapse border border-border`),"data-streamdown":`table`,children:e})})]})}),document.body):null]})},U3=({children:e,className:t,maxHeight:n,showControls:r,showCopy:i=!0,showDownload:a=!0,showFullscreen:o=!0,...s})=>{let c=W4(),{isAnimating:l}=(0,d.useContext)(q6),u=K4(n),f=q4(l,!!u,e),p=r&&i,m=r&&a,h=r&&o,g=p||m||h;return(0,T.jsxs)(`div`,{className:c(`my-4 flex flex-col gap-2 rounded-lg border border-border bg-sidebar p-2`),"data-streamdown":`table-wrapper`,children:[g?(0,T.jsxs)(`div`,{className:c(`flex items-center justify-end gap-1`),children:[p?(0,T.jsx)(B3,{}):null,m?(0,T.jsx)(V3,{}):null,h?(0,T.jsx)(H3,{showCopy:p,showDownload:m,children:e}):null]}):null,(0,T.jsx)(`div`,{className:c(`border-collapse overflow-x-auto overflow-y-auto rounded-md border border-border bg-background`),ref:f,style:u?{maxHeight:u}:void 0,children:(0,T.jsx)(`table`,{className:c(`w-full divide-y divide-border`,t),"data-streamdown":`table`,...s,children:e})})]})},W3=/startLine=(\d+)/,G3=/\bnoLineNumbers\b/,K3=(0,d.lazy)(()=>a4(()=>import(`./mermaid-HWGCJPDP-YY9BnlW5.js`).then(e=>({default:e.Mermaid})),[])),q3=/language-([^\s]+)/,J3=`node`;function Y3(e,t){let n=Object.keys(e);if(n.length!==Object.keys(t).length)return!1;let r=e,i=t;for(let e of n)if(e!==J3&&!Object.is(r[e],i[e]))return!1;return!0}function X3(e,t){return e?.properties?.metastring===t?.properties?.metastring}var Z3=(e,t)=>typeof e==`boolean`?e:e[t]!==!1,Q3=(e,t)=>{if(typeof e==`boolean`)return e;let n=e.table;return n===!1?!1:n===!0||n===void 0||n[t]!==!1},$3=(e,t)=>{if(typeof e==`boolean`)return e;let n=e.code;return n===!1?!1:n===!0||n===void 0||n[t]!==!1},e6=(e,t)=>{if(typeof e==`boolean`)return e;let n=e.mermaid;return n===!1?!1:n===!0||n===void 0||n[t]!==!1},t6=(e,t)=>{if(typeof e==`boolean`)return e;let n=e.image;return n===!1?!1:n===!0||n===void 0||n[t]!==!1},n6=(0,d.memo)(({children:e,className:t,node:n,...r})=>{let i=W4();return(0,T.jsx)(`ol`,{className:i(`list-inside list-decimal whitespace-normal [li_&]:pl-6`,t),"data-streamdown":`ordered-list`,...r,children:e})},(e,t)=>Y3(e,t));n6.displayName=`MarkdownOl`;var r6=(0,d.memo)(({children:e,className:t,node:n,...r})=>{let i=W4();return(0,T.jsx)(`li`,{className:i(`py-1 [&>p]:inline`,t),"data-streamdown":`list-item`,...r,children:e})},(e,t)=>Y3(e,t));r6.displayName=`MarkdownLi`;var i6=(0,d.memo)(({children:e,className:t,node:n,...r})=>{let i=W4();return(0,T.jsx)(`ul`,{className:i(`list-inside list-disc whitespace-normal [li_&]:pl-6`,t),"data-streamdown":`unordered-list`,...r,children:e})},(e,t)=>Y3(e,t));i6.displayName=`MarkdownUl`;var a6=(0,d.memo)(({className:e,node:t,...n})=>{let r=W4();return(0,T.jsx)(`hr`,{className:r(`my-6 border-border`,e),"data-streamdown":`horizontal-rule`,...n})},(e,t)=>Y3(e,t));a6.displayName=`MarkdownHr`;var o6=(0,d.memo)(({children:e,className:t,node:n,...r})=>{let i=W4();return(0,T.jsx)(`span`,{className:i(`font-semibold`,t),"data-streamdown":`strong`,...r,children:e})},(e,t)=>Y3(e,t));o6.displayName=`MarkdownStrong`;var s6=(0,d.memo)(({children:e,className:t,href:n,node:r,...i})=>{let a=W4(),{linkSafety:o}=(0,d.useContext)(q6),[s,c]=(0,d.useState)(!1),l=n===`streamdown:incomplete-link`,u=(0,d.useCallback)(async e=>{if(!(!(o!=null&&o.enabled&&n)||l)){if(e.preventDefault(),o.onLinkCheck&&await o.onLinkCheck(n)){window.open(n,`_blank`,`noreferrer`);return}c(!0)}},[o,n,l]),f=(0,d.useCallback)(()=>{n&&window.open(n,`_blank`,`noreferrer`)},[n]),p=(0,d.useCallback)(()=>{c(!1)},[]),m={url:n??``,isOpen:s,onClose:p,onConfirm:f};return o!=null&&o.enabled&&n?(0,T.jsxs)(T.Fragment,{children:[(0,T.jsx)(`button`,{className:a(`wrap-anywhere appearance-none text-left font-medium text-primary underline`,t),"data-incomplete":l,"data-streamdown":`link`,onClick:u,type:`button`,children:e}),o.renderModal?o.renderModal(m):(0,T.jsx)(C3,{...m})]}):(0,T.jsx)(`a`,{className:a(`wrap-anywhere font-medium text-primary underline`,t),"data-incomplete":l,"data-streamdown":`link`,href:n,rel:`noreferrer`,target:`_blank`,...i,children:e})},(e,t)=>Y3(e,t));s6.displayName=`MarkdownA`;var c6=(0,d.memo)(({children:e,className:t,node:n,...r})=>{let i=W4();return(0,T.jsx)(`h1`,{className:i(`mt-6 mb-2 font-semibold text-3xl`,t),"data-streamdown":`heading-1`,...r,children:e})},(e,t)=>Y3(e,t));c6.displayName=`MarkdownH1`;var l6=(0,d.memo)(({children:e,className:t,node:n,...r})=>{let i=W4();return(0,T.jsx)(`h2`,{className:i(`mt-6 mb-2 font-semibold text-2xl`,t),"data-streamdown":`heading-2`,...r,children:e})},(e,t)=>Y3(e,t));l6.displayName=`MarkdownH2`;var u6=(0,d.memo)(({children:e,className:t,node:n,...r})=>{let i=W4();return(0,T.jsx)(`h3`,{className:i(`mt-6 mb-2 font-semibold text-xl`,t),"data-streamdown":`heading-3`,...r,children:e})},(e,t)=>Y3(e,t));u6.displayName=`MarkdownH3`;var d6=(0,d.memo)(({children:e,className:t,node:n,...r})=>{let i=W4();return(0,T.jsx)(`h4`,{className:i(`mt-6 mb-2 font-semibold text-lg`,t),"data-streamdown":`heading-4`,...r,children:e})},(e,t)=>Y3(e,t));d6.displayName=`MarkdownH4`;var f6=(0,d.memo)(({children:e,className:t,node:n,...r})=>{let i=W4();return(0,T.jsx)(`h5`,{className:i(`mt-6 mb-2 font-semibold text-base`,t),"data-streamdown":`heading-5`,...r,children:e})},(e,t)=>Y3(e,t));f6.displayName=`MarkdownH5`;var p6=(0,d.memo)(({children:e,className:t,node:n,...r})=>{let i=W4();return(0,T.jsx)(`h6`,{className:i(`mt-6 mb-2 font-semibold text-sm`,t),"data-streamdown":`heading-6`,...r,children:e})},(e,t)=>Y3(e,t));p6.displayName=`MarkdownH6`;var m6=(0,d.memo)(({children:e,className:t,node:n,...r})=>{let{controls:i,tableMaxHeight:a}=(0,d.useContext)(q6),o=Z3(i,`table`),s=Q3(i,`copy`),c=Q3(i,`download`),l=Q3(i,`fullscreen`);return(0,T.jsx)(U3,{className:t,maxHeight:a,showControls:o,showCopy:s,showDownload:c,showFullscreen:l,...r,children:e})},(e,t)=>Y3(e,t));m6.displayName=`MarkdownTable`;var h6=(0,d.memo)(({children:e,className:t,node:n,...r})=>{let i=W4();return(0,T.jsx)(`thead`,{className:i(`bg-muted/80`,t),"data-streamdown":`table-header`,...r,children:e})},(e,t)=>Y3(e,t));h6.displayName=`MarkdownThead`;var g6=(0,d.memo)(({children:e,className:t,node:n,...r})=>{let i=W4();return(0,T.jsx)(`tbody`,{className:i(`divide-y divide-border`,t),"data-streamdown":`table-body`,...r,children:e})},(e,t)=>Y3(e,t));g6.displayName=`MarkdownTbody`;var _6=(0,d.memo)(({children:e,className:t,node:n,...r})=>{let i=W4();return(0,T.jsx)(`tr`,{className:i(`border-border`,t),"data-streamdown":`table-row`,...r,children:e})},(e,t)=>Y3(e,t));_6.displayName=`MarkdownTr`;var v6=(0,d.memo)(({children:e,className:t,node:n,...r})=>{let i=W4();return(0,T.jsx)(`th`,{className:i(`whitespace-nowrap px-4 py-2 text-left font-semibold text-sm`,t),"data-streamdown":`table-header-cell`,...r,children:e})},(e,t)=>Y3(e,t));v6.displayName=`MarkdownTh`;var y6=(0,d.memo)(({children:e,className:t,node:n,...r})=>{let i=W4();return(0,T.jsx)(`td`,{className:i(`px-4 py-2 text-sm`,t),"data-streamdown":`table-cell`,...r,children:e})},(e,t)=>Y3(e,t));y6.displayName=`MarkdownTd`;var b6=(0,d.memo)(({children:e,className:t,node:n,...r})=>{let i=W4();return(0,T.jsx)(`blockquote`,{className:i(`my-4 border-muted-foreground/30 border-l-4 pl-4 text-muted-foreground italic`,t),"data-streamdown":`blockquote`,...r,children:e})},(e,t)=>Y3(e,t));b6.displayName=`MarkdownBlockquote`;var x6=(0,d.memo)(({children:e,className:t,node:n,...r})=>{let i=W4();return(0,T.jsx)(`sup`,{className:i(`text-sm`,t),"data-streamdown":`superscript`,...r,children:e})},(e,t)=>Y3(e,t));x6.displayName=`MarkdownSup`;var S6=(0,d.memo)(({children:e,className:t,node:n,...r})=>{let i=W4();return(0,T.jsx)(`sub`,{className:i(`text-sm`,t),"data-streamdown":`subscript`,...r,children:e})},(e,t)=>Y3(e,t));S6.displayName=`MarkdownSub`;var C6=(0,d.memo)(({children:e,className:t,node:n,...r})=>{if(`data-footnotes`in r){let n=e=>{if(!(0,d.isValidElement)(e))return!1;let t=Array.isArray(e.props.children)?e.props.children:[e.props.children],n=!1,r=!1;for(let e of t)if(e){if(typeof e==`string`)e.trim()!==``&&(n=!0);else if((0,d.isValidElement)(e)){if(e.props?.[`data-footnote-backref`]!==void 0)r=!0;else{let t=Array.isArray(e.props.children)?e.props.children:[e.props.children];for(let e of t){if(typeof e==`string`&&e.trim()!==``){n=!0;break}if((0,d.isValidElement)(e)&&e.props?.[`data-footnote-backref`]===void 0){n=!0;break}}}}}return r&&!n},i=Array.isArray(e)?e.map(e=>{if(!(0,d.isValidElement)(e))return e;if(e.type===n6){let t=(Array.isArray(e.props.children)?e.props.children:[e.props.children]).filter(e=>!n(e));return t.length===0?null:{...e,props:{...e.props,children:t}}}return e}):e;return(Array.isArray(i)?i.some(e=>e!==null):i!==null)?(0,T.jsx)(`section`,{className:t,...r,children:i}):null}return(0,T.jsx)(`section`,{className:t,...r,children:e})},(e,t)=>Y3(e,t));C6.displayName=`MarkdownSection`;var w6=(0,d.memo)(({node:e,className:t,children:n,...r})=>{let i=W4(),a=!(`data-block`in r),{mermaid:o,controls:s,lineNumbers:c}=(0,d.useContext)(q6),l=D3(),u=R4(),f=(t?.match(q3))?.at(1)??``,p=O3(f);if(a)return(0,T.jsx)(`code`,{className:i(`rounded bg-muted px-1.5 py-0.5 font-mono text-sm`,t),"data-streamdown":`inline-code`,...r,children:n});let m=e?.properties?.metastring,h=m?.match(W3),g=h?Number.parseInt(h[1],10):void 0,_=g!==void 0&&g>=1?g:void 0,v=!(m&&G3.test(m))&&c!==!1,y=``;if((0,d.isValidElement)(n)&&n.props&&typeof n.props==`object`&&`children`in n.props&&typeof n.props.children==`string`?y=n.props.children:typeof n==`string`&&(y=n),p){let e=p.component;return(0,T.jsx)(d.Suspense,{fallback:(0,T.jsx)(_3,{}),children:(0,T.jsx)(e,{code:y,isIncomplete:u,language:f,meta:m})})}if(f===`mermaid`&&l){let e=Z3(s,`mermaid`),n=e6(s,`download`),r=e6(s,`copy`),a=e6(s,`fullscreen`),c=e6(s,`panZoom`),l=e&&(n||r||a);return(0,T.jsx)(d.Suspense,{fallback:(0,T.jsx)(_3,{}),children:(0,T.jsxs)(`div`,{className:i(`group relative my-4 flex w-full flex-col gap-2 rounded-xl border border-border bg-sidebar p-2`,t),"data-streamdown":`mermaid-block`,children:[(0,T.jsx)(`div`,{className:i(`flex h-8 items-center text-muted-foreground text-xs`),children:(0,T.jsx)(`span`,{className:i(`ml-1 font-mono lowercase`),children:`mermaid`})}),l?(0,T.jsx)(`div`,{className:i(`pointer-events-none sticky top-2 z-10 -mt-10 flex h-8 items-center justify-end`),children:(0,T.jsxs)(`div`,{className:i(`pointer-events-auto flex shrink-0 items-center gap-2 rounded-md border border-sidebar bg-sidebar/80 px-1.5 py-1 supports-[backdrop-filter]:bg-sidebar/70 supports-[backdrop-filter]:backdrop-blur`),"data-streamdown":`mermaid-block-actions`,children:[n?(0,T.jsx)(j3,{chart:y,config:o?.config}):null,r?(0,T.jsx)(p3,{code:y}):null,a?(0,T.jsx)(M3,{chart:y,config:o?.config}):null]})}):null,(0,T.jsx)(`div`,{className:i(`rounded-md border border-border bg-background`),children:(0,T.jsx)(K3,{chart:y,config:o?.config,showControls:c})})]})})}let b=Z3(s,`code`),x=$3(s,`download`),S=$3(s,`copy`),{"data-block":C,...w}=r;return(0,T.jsx)(i3,{className:t,code:y,isIncomplete:u,language:f,lineNumbers:v,startLine:_,...w,children:b?(0,T.jsxs)(T.Fragment,{children:[x?(0,T.jsx)(g3,{code:y,language:f}):null,S?(0,T.jsx)(p3,{}):null]}):null})},(e,t)=>Y3(e,t)&&X3(e.node,t.node));w6.displayName=`MarkdownCode`;var T6=(0,d.memo)(({node:e,className:t,...n})=>{let{controls:r}=(0,d.useContext)(q6),i=Z3(r,`image`),a=i&&t6(r,`download`);return(0,T.jsx)(y3,{className:t,node:e,showControls:i,showDownloadControl:a,...n})},(e,t)=>Y3(e,t));T6.displayName=`MarkdownImg`;var E6=(0,d.memo)(({children:e,node:t,...n})=>{let r=(Array.isArray(e)?e:[e]).filter(e=>e!=null&&e!==``);if(r.length===1&&(0,d.isValidElement)(r[0])){let t=r[0].props.node?.tagName;if(t===`img`||t===`code`&&`data-block`in r[0].props)return(0,T.jsx)(T.Fragment,{children:e})}return(0,T.jsx)(`p`,{...n,children:e})},(e,t)=>Y3(e,t));E6.displayName=`MarkdownParagraph`;var kie={ol:n6,li:r6,ul:i6,hr:a6,strong:o6,a:s6,h1:c6,h2:l6,h3:u6,h4:d6,h5:f6,h6:p6,table:m6,thead:h6,tbody:g6,tr:_6,th:v6,td:y6,blockquote:b6,code:w6,img:T6,pre:({children:e})=>(0,d.isValidElement)(e)?(0,d.cloneElement)(e,{"data-block":`true`}):e,sup:x6,sub:S6,p:E6,section:C6},Aie=/[\u0590-\u08FF\uFB1D-\uFDFF\uFE70-\uFEFF]/,jie=/\p{L}/u;function D6(e){let t=e.replace(/(```|~~~)[\s\S]*?\1/g,``).replace(/^#{1,6}\s+/gm,``).replace(/(\*{1,3}|_{1,3})/g,``).replace(/`[^`]*`/g,``).replace(/\[([^\]]*)\]\([^)]*\)/g,`$1`).replace(/^[\s>*\-+\d.]+/gm,``),n,r=0,i=0;for(let e of t){if(Aie.test(e)){n??=`rtl`,i+=1;continue}jie.test(e)&&(n??=`ltr`,r+=1)}return i>r?`rtl`:r>i?`ltr`:n??`ltr`}var Mie=/^[ \t]{0,3}(`{3,}|~{3,})/,Nie=/^\|?[ \t]*:?-{1,}:?[ \t]*(\|[ \t]*:?-{1,}:?[ \t]*)*\|?$/,O6=e=>{let t=e.split(`
|
|
458
458
|
`),n=null,r=0;for(let e of t){let t=Mie.exec(e);if(n===null){if(t){let e=t[1];n=e[0],r=e.length}}else if(t){let e=t[1],i=e[0],a=e.length;i===n&&a>=r&&(n=null,r=0)}}return n!==null},Pie=e=>{let t=e.split(`
|
|
459
459
|
`);for(let e of t){let t=e.trim();if(t.length>0&&t.includes(`|`)&&Nie.test(t))return!0}return!1},Fie=()=>e=>{ZT(e,`html`,(e,t,n)=>{!n||typeof t!=`number`||(n.children[t]={type:`text`,value:e.value})})},k6=[],A6={allowDangerousHtml:!0},j6=new WeakMap,M6=new class{constructor(){this.cache=new Map,this.keyCache=new WeakMap,this.maxSize=100}generateCacheKey(e){let t=this.keyCache.get(e);if(t)return t;let n=e.rehypePlugins,r=e.remarkPlugins,i=e.remarkRehypeOptions;if(!(n||r||i)){let t=`default`;return this.keyCache.set(e,t),t}let a=e=>{if(!e||e.length===0)return``;let t=``;for(let n=0;n<e.length;n+=1){let r=e[n];if(n>0&&(t+=`,`),Array.isArray(r)){let[e,n]=r;if(typeof e==`function`){let n=j6.get(e);n||(n=e.name,j6.set(e,n)),t+=n}else t+=String(e);t+=`:`,t+=JSON.stringify(n)}else if(typeof r==`function`){let e=j6.get(r);e||(e=r.name,j6.set(r,e)),t+=e}else t+=String(r)}return t},o=a(n),s=`${a(r)}::${o}::${i?JSON.stringify(i):``}`;return this.keyCache.set(e,s),s}get(e){let t=this.generateCacheKey(e),n=this.cache.get(t);return n&&(this.cache.delete(t),this.cache.set(t,n)),n}set(e,t){let n=this.generateCacheKey(e);if(this.cache.size>=this.maxSize){let e=this.cache.keys().next().value;e&&this.cache.delete(e)}this.cache.set(n,t)}clear(){this.cache.clear()}},N6=e=>{let t=Iie(e),n=e.children||``;return Uie(t.runSync(t.parse(n),n),e)},Iie=e=>{let t=M6.get(e);if(t)return t;let n=Rie(e);return M6.set(e,n),n},Lie=e=>e.some(e=>Array.isArray(e)?e[0]===bL:e===bL),Rie=e=>{let t=e.rehypePlugins||k6,n=e.remarkPlugins||k6,r=Lie(t)?n:[...n,Fie],i=e.remarkRehypeOptions?{...A6,...e.remarkRehypeOptions}:A6;return FE().use(Uw).use(r).use(sE,i).use(t)},zie=e=>e,Bie=(e,t,n,r)=>{n?e.children.splice(t,1):e.children[t]={type:`text`,value:r}},Vie=(e,t)=>{for(let n in TS)if(Object.hasOwn(TS,n)&&Object.hasOwn(e.properties,n)){let r=e.properties[n],i=TS[n];(i===null||i.includes(e.tagName))&&(e.properties[n]=t(String(r||``),n,e)??void 0)}},Hie=(e,t,n,r,i,a)=>{let o=!1;return r?o=!r.includes(e.tagName):i&&(o=i.includes(e.tagName)),!o&&a&&typeof t==`number`&&(o=!a(e,t,n)),o},Uie=(e,t)=>{let{allowElement:n,allowedElements:r,disallowedElements:i,skipHtml:a,unwrapDisallowed:o,urlTransform:s}=t;if(n||r||i||a||s){let t=s||zie;ZT(e,(e,s,c)=>{if(e.type===`raw`&&c&&typeof s==`number`)return Bie(c,s,a,e.value),s;if(e.type===`element`&&(Vie(e,t),Hie(e,s,c,r,i,n)&&c&&typeof s==`number`))return o&&e.children?c.children.splice(s,1,...e.children):c.children.splice(s,1),s})}return vS(e,{Fragment:T.Fragment,components:t.components,ignoreInvalidStyle:!0,jsx:T.jsx,jsxs:T.jsxs,passKeys:!0,passNode:!0})},Wie=/\[\^[\w-]{1,200}\](?!:)/,Gie=/\[\^[\w-]{1,200}\]:/,Kie=/<([A-Za-z][\w:-]*)[\s>/]/,qie=new Set([`area`,`base`,`br`,`col`,`embed`,`hr`,`img`,`input`,`link`,`meta`,`param`,`source`,`track`,`wbr`]),P6=new Map,F6=new Map,Jie=e=>{let t=e.toLowerCase(),n=P6.get(t);if(n)return n;let r=RegExp(`<${t}(?=[\\s>/])[^>]*>`,`gi`);return P6.set(t,r),r},Yie=e=>{let t=e.toLowerCase(),n=F6.get(t);if(n)return n;let r=RegExp(`</${t}(?=[\\s>])[^>]*>`,`gi`);return F6.set(t,r),r},I6=(e,t)=>{if(qie.has(t.toLowerCase()))return 0;let n=e.match(Jie(t));if(!n)return 0;let r=0;for(let e of n)e.trimEnd().endsWith(`/>`)||(r+=1);return r},L6=(e,t)=>{let n=e.match(Yie(t));return n?n.length:0},Xie=e=>{let t=0;for(let n=0;n<e.length-1;n+=1)e[n]===`$`&&e[n+1]===`$`&&(t+=1,n+=1);return t},Zie=e=>{let t=Wie.test(e),n=Gie.test(e);if(t||n)return[e];let r=Y2.lex(e,{gfm:!0}),i=[],a=[],o=!1;for(let e of r){let t=e.raw,n=i.length;if(a.length>0){i[n-1]+=t;let e=a.at(-1),r=I6(t,e),o=L6(t,e);for(let t=0;t<r;t+=1)a.push(e);for(let t=0;t<o;t+=1)a.length>0&&a.at(-1)===e&&a.pop();continue}if(e.type===`html`&&e.block){let e=t.match(Kie);if(e){let n=e[1];I6(t,n)>L6(t,n)&&a.push(n)}}if(n>0&&!o){let e=i[n-1];if(Xie(e)%2==1){i[n-1]=e+t;continue}}i.push(t),e.type!==`space`&&(o=e.type===`code`)}return i},Qie=/^\n*/,$ie=/\n*$/,R6=/\n\n/g,eae=(e,t,n)=>t.includes(`
|
|
460
460
|
`)?`${e}${t.replace(R6,`
|
|
@@ -484,25 +484,25 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
|
|
|
484
484
|
`);n.forEach(function(t,i){var o=r&&d.length+a,s={type:`text`,value:`${t}
|
|
485
485
|
`};if(i===0){var c=g(u.slice(f+1,p).concat(f8({children:[s],className:e.properties.className})),o);d.push(c)}else if(i===n.length-1){var l=u[p+1]&&u[p+1].children&&u[p+1].children[0],m={type:`text`,value:`${t}`};if(l){var h=f8({children:[m],className:e.properties.className});u.splice(p+1,0,h)}else{var _=g([m],o,e.properties.className);d.push(_)}}else{var v=g([s],o,e.properties.className);d.push(v)}}),f=p}p++};p<u.length;)_();if(f!==u.length-1){var v=u.slice(f+1,u.length);if(v&&v.length){var y=g(v,r&&d.length+a);d.push(y)}}return t?d:(l=[]).concat.apply(l,d)}function Bae(e){var t=e.rows,n=e.stylesheet,r=e.useInlineStyles;return t.map(function(e,t){return s8({node:e,stylesheet:n,useInlineStyles:r,key:`code-segment-${t}`})})}function m8(e){return e&&e.highlightAuto!==void 0}function Vae(e){var t=e.astGenerator,n=e.language,r=e.code,i=e.defaultCodeValue;if(m8(t)){var a=Mae(t,n);return n===`text`?{value:i,language:`text`}:a?t.highlight(n,r):t.highlightAuto(r)}try{return n&&n!==`text`?{value:t.highlight(r,n)}:{value:i}}catch{return{value:i}}}function Hae(e,t){return function(n){var r=n.language,i=n.children,a=n.style,o=a===void 0?t:a,s=n.customStyle,c=s===void 0?{}:s,l=n.codeTagProps,u=l===void 0?{className:r?`language-${r}`:void 0,style:l8(l8({},o[`code[class*="language-"]`]),o[`code[class*="language-${r}"]`])}:l,f=n.useInlineStyles,p=f===void 0||f,m=n.showLineNumbers,h=m!==void 0&&m,g=n.showInlineLineNumbers,_=g===void 0||g,v=n.startingLineNumber,y=v===void 0?1:v,b=n.lineNumberContainerStyle,x=n.lineNumberStyle,S=x===void 0?{}:x,C=n.wrapLines,w=n.wrapLongLines,T=w!==void 0&&w,E=n.lineProps,D=E===void 0?{}:E,O=n.renderer,k=n.PreTag,A=k===void 0?`pre`:k,j=n.CodeTag,M=j===void 0?`code`:j,N=n.code,ee=N===void 0?(Array.isArray(i)?i[0]:i)||``:N,te=n.astGenerator,P=xae(n,Nae);te||=e;var ne=h?d.createElement(Lae,{containerStyle:b,codeStyle:u.style||{},numberStyle:S,startingLineNumber:y,codeString:ee}):null,re=o.hljs||o[`pre[class*="language-"]`]||{backgroundColor:`#fff`},ie=m8(te)?`hljs`:`prismjs`,ae=p?Object.assign({},P,{style:Object.assign({},re,c)}):Object.assign({},P,{className:P.className?`${ie} ${P.className}`:ie,style:Object.assign({},c)});if(u.style=l8(T?{whiteSpace:`pre-wrap`}:{whiteSpace:`pre`},u.style),!te)return d.createElement(A,ae,ne,d.createElement(M,u,ee));(C===void 0&&O||T)&&(C=!0),O||=Bae;var oe=[{type:`text`,value:ee}],se=Vae({astGenerator:te,language:r,code:ee,defaultCodeValue:oe});se.language===null&&(se.value=oe);var ce=y+(ee.match(/\n/g)?.length??0),le=zae(se,C,D,h,_,y,ce,S,T);return d.createElement(A,ae,d.createElement(M,u,!_&&ne,O({rows:le,stylesheet:o,useInlineStyles:p})))}}var Uae=`AElig.AMP.Aacute.Acirc.Agrave.Aring.Atilde.Auml.COPY.Ccedil.ETH.Eacute.Ecirc.Egrave.Euml.GT.Iacute.Icirc.Igrave.Iuml.LT.Ntilde.Oacute.Ocirc.Ograve.Oslash.Otilde.Ouml.QUOT.REG.THORN.Uacute.Ucirc.Ugrave.Uuml.Yacute.aacute.acirc.acute.aelig.agrave.amp.aring.atilde.auml.brvbar.ccedil.cedil.cent.copy.curren.deg.divide.eacute.ecirc.egrave.eth.euml.frac12.frac14.frac34.gt.iacute.icirc.iexcl.igrave.iquest.iuml.laquo.lt.macr.micro.middot.nbsp.not.ntilde.oacute.ocirc.ograve.ordf.ordm.oslash.otilde.ouml.para.plusmn.pound.quot.raquo.reg.sect.shy.sup1.sup2.sup3.szlig.thorn.times.uacute.ucirc.ugrave.uml.uuml.yacute.yen.yuml`.split(`.`),h8={0:`�`,128:`€`,130:`‚`,131:`ƒ`,132:`„`,133:`…`,134:`†`,135:`‡`,136:`ˆ`,137:`‰`,138:`Š`,139:`‹`,140:`Œ`,142:`Ž`,145:`‘`,146:`’`,147:`“`,148:`”`,149:`•`,150:`–`,151:`—`,152:`˜`,153:`™`,154:`š`,155:`›`,156:`œ`,158:`ž`,159:`Ÿ`};function g8(e){let t=typeof e==`string`?e.charCodeAt(0):e;return t>=48&&t<=57}function Wae(e){let t=typeof e==`string`?e.charCodeAt(0):e;return t>=97&&t<=102||t>=65&&t<=70||t>=48&&t<=57}function Gae(e){let t=typeof e==`string`?e.charCodeAt(0):e;return t>=97&&t<=122||t>=65&&t<=90}function _8(e){return Gae(e)||g8(e)}var Kae=[``,`Named character references must be terminated by a semicolon`,`Numeric character references must be terminated by a semicolon`,`Named character references cannot be empty`,`Numeric character references cannot be empty`,`Named character references must be known`,`Numeric character references cannot be disallowed`,`Numeric character references cannot be outside the permissible Unicode range`];function qae(e,t){let n=t||{},r=typeof n.additional==`string`?n.additional.charCodeAt(0):n.additional,i=[],a=0,o=-1,s=``,c,l;n.position&&(`start`in n.position||`indent`in n.position?(l=n.position.indent,c=n.position.start):c=n.position);let u=(c?c.line:0)||1,d=(c?c.column:0)||1,f=m(),p;for(a--;++a<=e.length;)if(p===10&&(d=(l?l[o]:0)||1),p=e.charCodeAt(a),p===38){let t=e.charCodeAt(a+1);if(t===9||t===10||t===12||t===32||t===38||t===60||Number.isNaN(t)||r&&t===r){s+=String.fromCharCode(p),d++;continue}let o=a+1,c=o,l=o,u;if(t===35){l=++c;let t=e.charCodeAt(l);t===88||t===120?(u=`hexadecimal`,l=++c):u=`decimal`}else u=`named`;let _=``,v=``,y=``,b=u===`named`?_8:u===`decimal`?g8:Wae;for(l--;++l<=e.length;){let t=e.charCodeAt(l);if(!b(t))break;y+=String.fromCharCode(t),u===`named`&&Uae.includes(y)&&(_=y,v=AS(y))}let x=e.charCodeAt(l)===59;if(x){l++;let e=u===`named`&&AS(y);e&&(_=y,v=e)}let S=1+l-o,C=``;if(!(!x&&n.nonTerminated===!1)){if(!y)u!==`named`&&h(4,S);else if(u===`named`){if(x&&!v)h(5,1);else if(_!==y&&(l=c+_.length,S=1+l-c,x=!1),!x){let t=_?1:3;if(n.attribute){let n=e.charCodeAt(l);n===61?(h(t,S),v=``):_8(n)?v=``:h(t,S)}else h(t,S)}C=v}else{x||h(2,S);let e=Number.parseInt(y,u===`hexadecimal`?16:10);if(Jae(e))h(7,S),C=`�`;else if(e in h8)h(6,S),C=h8[e];else{let t=``;Yae(e)&&h(6,S),e>65535&&(e-=65536,t+=String.fromCharCode(e>>>10|55296),e=56320|e&1023),C=t+String.fromCharCode(e)}}}if(C){g(),f=m(),a=l-1,d+=l-o+1,i.push(C);let t=m();t.offset++,n.reference&&n.reference.call(n.referenceContext||void 0,C,{start:f,end:t},e.slice(o-1,l)),f=t}else y=e.slice(o-1,l),s+=y,d+=y.length,a=l-1}else p===10&&(u++,o++,d=0),Number.isNaN(p)?g():(s+=String.fromCharCode(p),d++);return i.join(``);function m(){return{line:u,column:d,offset:a+((c?c.offset:0)||0)}}function h(e,t){let r;n.warning&&(r=m(),r.column+=t,r.offset+=t,n.warning.call(n.warningContext||void 0,Kae[e],r,e))}function g(){s&&=(i.push(s),n.text&&n.text.call(n.textContext||void 0,s,{start:f,end:m()}),``)}}function Jae(e){return e>=55296&&e<=57343||e>1114111}function Yae(e){return e>=1&&e<=8||e===11||e>=13&&e<=31||e>=127&&e<=159||e>=64976&&e<=65007||(e&65535)==65535||(e&65535)==65534}var Xae=0,v8={},y8={util:{type:function(e){return Object.prototype.toString.call(e).slice(8,-1)},objId:function(e){return e.__id||Object.defineProperty(e,"__id",{value:++Xae}),e.__id},clone:function e(t,n){n||={};var r,i;switch(y8.util.type(t)){case`Object`:if(i=y8.util.objId(t),n[i])return n[i];for(var a in r={},n[i]=r,t)t.hasOwnProperty(a)&&(r[a]=e(t[a],n));return r;case`Array`:return i=y8.util.objId(t),n[i]?n[i]:(r=[],n[i]=r,t.forEach(function(t,i){r[i]=e(t,n)}),r);default:return t}}},languages:{plain:v8,plaintext:v8,text:v8,txt:v8,extend:function(e,t){var n=y8.util.clone(y8.languages[e]);for(var r in t)n[r]=t[r];return n},insertBefore:function(e,t,n,r){r||=y8.languages;var i=r[e],a={};for(var o in i)if(i.hasOwnProperty(o)){if(o==t)for(var s in n)n.hasOwnProperty(s)&&(a[s]=n[s]);n.hasOwnProperty(o)||(a[o]=i[o])}var c=r[e];return r[e]=a,y8.languages.DFS(y8.languages,function(t,n){n===c&&t!=e&&(this[t]=a)}),a},DFS:function e(t,n,r,i){i||={};var a=y8.util.objId;for(var o in t)if(t.hasOwnProperty(o)){n.call(t,o,t[o],r||o);var s=t[o],c=y8.util.type(s);c===`Object`&&!i[a(s)]?(i[a(s)]=!0,e(s,n,null,i)):c===`Array`&&!i[a(s)]&&(i[a(s)]=!0,e(s,n,o,i))}}},plugins:{},highlight:function(e,t,n){var r={code:e,grammar:t,language:n};if(y8.hooks.run(`before-tokenize`,r),!r.grammar)throw Error(`The language "`+r.language+`" has no grammar.`);return r.tokens=y8.tokenize(r.code,r.grammar),y8.hooks.run(`after-tokenize`,r),b8.stringify(y8.util.encode(r.tokens),r.language)},tokenize:function(e,t){var n=t.rest;if(n){for(var r in n)t[r]=n[r];delete t.rest}var i=new Zae;return C8(i,i.head,e),S8(e,i,t,i.head,0),$ae(i)},hooks:{all:{},add:function(e,t){var n=y8.hooks.all;n[e]=n[e]||[],n[e].push(t)},run:function(e,t){var n=y8.hooks.all[e];if(!(!n||!n.length))for(var r=0,i;i=n[r++];)i(t)}},Token:b8};function b8(e,t,n,r){this.type=e,this.content=t,this.alias=n,this.length=(r||``).length|0}function x8(e,t,n,r){e.lastIndex=t;var i=e.exec(n);if(i&&r&&i[1]){var a=i[1].length;i.index+=a,i[0]=i[0].slice(a)}return i}function S8(e,t,n,r,i,a){for(var o in n)if(!(!n.hasOwnProperty(o)||!n[o])){var s=n[o];s=Array.isArray(s)?s:[s];for(var c=0;c<s.length;++c){if(a&&a.cause==o+`,`+c)return;var l=s[c],u=l.inside,d=!!l.lookbehind,f=!!l.greedy,p=l.alias;if(f&&!l.pattern.global){var m=l.pattern.toString().match(/[imsuy]*$/)[0];l.pattern=RegExp(l.pattern.source,m+`g`)}for(var h=l.pattern||l,g=r.next,_=i;g!==t.tail&&!(a&&_>=a.reach);_+=g.value.length,g=g.next){var v=g.value;if(t.length>e.length)return;if(!(v instanceof b8)){var y=1,b;if(f){if(b=x8(h,_,e,d),!b||b.index>=e.length)break;var x=b.index,S=b.index+b[0].length,C=_;for(C+=g.value.length;x>=C;)g=g.next,C+=g.value.length;if(C-=g.value.length,_=C,g.value instanceof b8)continue;for(var w=g;w!==t.tail&&(C<S||typeof w.value==`string`);w=w.next)y++,C+=w.value.length;y--,v=e.slice(_,C),b.index-=_}else if(b=x8(h,0,v,d),!b)continue;var x=b.index,T=b[0],E=v.slice(0,x),D=v.slice(x+T.length),O=_+v.length;a&&O>a.reach&&(a.reach=O);var k=g.prev;E&&(k=C8(t,k,E),_+=E.length),Qae(t,k,y);var A=new b8(o,u?y8.tokenize(T,u):T,p,T);if(g=C8(t,k,A),D&&C8(t,g,D),y>1){var j={cause:o+`,`+c,reach:O};S8(e,t,n,g.prev,_,j),a&&j.reach>a.reach&&(a.reach=j.reach)}}}}}}function Zae(){var e={value:null,prev:null,next:null},t={value:null,prev:e,next:null};e.next=t,this.head=e,this.tail=t,this.length=0}function C8(e,t,n){var r=t.next,i={value:n,prev:t,next:r};return t.next=i,r.prev=i,e.length++,i}function Qae(e,t,n){for(var r=t.next,i=0;i<n&&r!==e.tail;i++)r=r.next;t.next=r,r.prev=t,e.length-=i}function $ae(e){for(var t=[],n=e.head.next;n!==e.tail;)t.push(n.value),n=n.next;return t}var w8=y8;function T8(){}T8.prototype=w8;var E8=new T8;E8.highlight=eoe,E8.register=toe,E8.alias=noe,E8.registered=roe,E8.listLanguages=ioe,E8.util.encode=aoe,E8.Token.stringify=D8;function eoe(e,t){if(typeof e!=`string`)throw TypeError("Expected `string` for `value`, got `"+e+"`");let n,r;if(t&&typeof t==`object`)n=t;else{if(r=t,typeof r!=`string`)throw TypeError("Expected `string` for `name`, got `"+r+"`");if(Object.hasOwn(E8.languages,r))n=E8.languages[r];else throw Error("Unknown language: `"+r+"` is not registered")}return{type:`root`,children:w8.highlight.call(E8,e,n,r)}}function toe(e){if(typeof e!=`function`||!e.displayName)throw Error("Expected `function` for `syntax`, got `"+e+"`");Object.hasOwn(E8.languages,e.displayName)||e(E8)}function noe(e,t){let n=E8.languages,r={};typeof e==`string`?t&&(r[e]=t):r=e;let i;for(i in r)if(Object.hasOwn(r,i)){let e=r[i],t=typeof e==`string`?[e]:e,a=-1;for(;++a<t.length;)n[t[a]]=n[i]}}function roe(e){if(typeof e!=`string`)throw TypeError("Expected `string` for `aliasOrLanguage`, got `"+e+"`");return Object.hasOwn(E8.languages,e)}function ioe(){let e=E8.languages,t=[],n;for(n in e)Object.hasOwn(e,n)&&typeof e[n]==`object`&&t.push(n);return t}function D8(e,t){if(typeof e==`string`)return{type:`text`,value:e};if(Array.isArray(e)){let n=[],r=-1;for(;++r<e.length;)e[r]!==null&&e[r]!==void 0&&e[r]!==``&&n.push(D8(e[r],t));return n}let n={attributes:{},classes:[`token`,e.type],content:D8(e.content,t),language:t,tag:`span`,type:e.type};return e.alias&&n.classes.push(...typeof e.alias==`string`?[e.alias]:e.alias),E8.hooks.run(`wrap`,n),uD(n.tag+`.`+n.classes.join(`.`),ooe(n.attributes),n.content)}function aoe(e){return e}function ooe(e){let t;for(t in e)Object.hasOwn(e,t)&&(e[t]=qae(e[t]));return e}var O8=Hae(E8,{});O8.registerLanguage=function(e,t){return E8.register(t)},O8.alias=function(e,t){return E8.alias(e,t)},k8.displayName=`markup`,k8.aliases=[`atom`,`html`,`mathml`,`rss`,`ssml`,`svg`,`xml`];function k8(e){e.languages.markup={comment:{pattern:/<!--(?:(?!<!--)[\s\S])*?-->/,greedy:!0},prolog:{pattern:/<\?[\s\S]+?\?>/,greedy:!0},doctype:{pattern:/<!DOCTYPE(?:[^>"'[\]]|"[^"]*"|'[^']*')+(?:\[(?:[^<"'\]]|"[^"]*"|'[^']*'|<(?!!--)|<!--(?:[^-]|-(?!->))*-->)*\]\s*)?>/i,greedy:!0,inside:{"internal-subset":{pattern:/(^[^\[]*\[)[\s\S]+(?=\]>$)/,lookbehind:!0,greedy:!0,inside:null},string:{pattern:/"[^"]*"|'[^']*'/,greedy:!0},punctuation:/^<!|>$|[[\]]/,"doctype-tag":/^DOCTYPE/i,name:/[^\s<>'"]+/}},cdata:{pattern:/<!\[CDATA\[[\s\S]*?\]\]>/i,greedy:!0},tag:{pattern:/<\/?(?!\d)[^\s>\/=$<%]+(?:\s(?:\s*[^\s>\/=]+(?:\s*=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+(?=[\s>]))|(?=[\s/>])))+)?\s*\/?>/,greedy:!0,inside:{tag:{pattern:/^<\/?[^\s>\/]+/,inside:{punctuation:/^<\/?/,namespace:/^[^\s>\/:]+:/}},"special-attr":[],"attr-value":{pattern:/=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+)/,inside:{punctuation:[{pattern:/^=/,alias:`attr-equals`},{pattern:/^(\s*)["']|["']$/,lookbehind:!0}]}},punctuation:/\/?>/,"attr-name":{pattern:/[^\s>\/]+/,inside:{namespace:/^[^\s>\/:]+:/}}}},entity:[{pattern:/&[\da-z]{1,8};/i,alias:`named-entity`},/&#x?[\da-f]{1,8};/i]},e.languages.markup.tag.inside[`attr-value`].inside.entity=e.languages.markup.entity,e.languages.markup.doctype.inside[`internal-subset`].inside=e.languages.markup,e.hooks.add(`wrap`,function(e){e.type===`entity`&&(e.attributes.title=e.content.value.replace(/&/,`&`))}),Object.defineProperty(e.languages.markup.tag,"addInlined",{value:function(t,n){var r={};r[`language-`+n]={pattern:/(^<!\[CDATA\[)[\s\S]+?(?=\]\]>$)/i,lookbehind:!0,inside:e.languages[n]},r.cdata=/^<!\[CDATA\[|\]\]>$/i;var i={"included-cdata":{pattern:/<!\[CDATA\[[\s\S]*?\]\]>/i,inside:r}};i[`language-`+n]={pattern:/[\s\S]+/,inside:e.languages[n]};var a={};a[t]={pattern:RegExp(`(<__[^>]*>)(?:<!\\[CDATA\\[(?:[^\\]]|\\](?!\\]>))*\\]\\]>|(?!<!\\[CDATA\\[)[\\s\\S])*?(?=<\\/__>)`.replace(/__/g,function(){return t}),`i`),lookbehind:!0,greedy:!0,inside:i},e.languages.insertBefore(`markup`,`cdata`,a)}}),Object.defineProperty(e.languages.markup.tag,"addAttribute",{value:function(t,n){e.languages.markup.tag.inside[`special-attr`].push({pattern:RegExp(`(^|["'\\s])(?:`+t+`)\\s*=\\s*(?:"[^"]*"|'[^']*'|[^\\s'">=]+(?=[\\s>]))`,`i`),lookbehind:!0,inside:{"attr-name":/^[^\s=]+/,"attr-value":{pattern:/=[\s\S]+/,inside:{value:{pattern:/(^=\s*(["']|(?!["'])))\S[\s\S]*(?=\2$)/,lookbehind:!0,alias:[n,`language-`+n],inside:e.languages[n]},punctuation:[{pattern:/^=/,alias:`attr-equals`},/"|'/]}}}})}}),e.languages.html=e.languages.markup,e.languages.mathml=e.languages.markup,e.languages.svg=e.languages.markup,e.languages.xml=e.languages.extend(`markup`,{}),e.languages.ssml=e.languages.xml,e.languages.atom=e.languages.xml,e.languages.rss=e.languages.xml}A8.displayName=`css`,A8.aliases=[];function A8(e){(function(e){var t=/(?:"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"|'(?:\\(?:\r\n|[\s\S])|[^'\\\r\n])*')/;e.languages.css={comment:/\/\*[\s\S]*?\*\//,atrule:{pattern:RegExp(`@[\\w-](?:[^;{\\s"']|\\s+(?!\\s)|`+t.source+`)*?(?:;|(?=\\s*\\{))`),inside:{rule:/^@[\w-]+/,"selector-function-argument":{pattern:/(\bselector\s*\(\s*(?![\s)]))(?:[^()\s]|\s+(?![\s)])|\((?:[^()]|\([^()]*\))*\))+(?=\s*\))/,lookbehind:!0,alias:`selector`},keyword:{pattern:/(^|[^\w-])(?:and|not|only|or)(?![\w-])/,lookbehind:!0}}},url:{pattern:RegExp(`\\burl\\((?:`+t.source+`|(?:[^\\\\\\r\\n()"']|\\\\[\\s\\S])*)\\)`,`i`),greedy:!0,inside:{function:/^url/i,punctuation:/^\(|\)$/,string:{pattern:RegExp(`^`+t.source+`$`),alias:`url`}}},selector:{pattern:RegExp(`(^|[{}\\s])[^{}\\s](?:[^{};"'\\s]|\\s+(?![\\s{])|`+t.source+`)*(?=\\s*\\{)`),lookbehind:!0},string:{pattern:t,greedy:!0},property:{pattern:/(^|[^-\w\xA0-\uFFFF])(?!\s)[-_a-z\xA0-\uFFFF](?:(?!\s)[-\w\xA0-\uFFFF])*(?=\s*:)/i,lookbehind:!0},important:/!important\b/i,function:{pattern:/(^|[^-a-z0-9])[-a-z0-9]+(?=\()/i,lookbehind:!0},punctuation:/[(){};:,]/},e.languages.css.atrule.inside.rest=e.languages.css;var n=e.languages.markup;n&&(n.tag.addInlined(`style`,`css`),n.tag.addAttribute(`style`,`css`))})(e)}j8.displayName=`clike`,j8.aliases=[];function j8(e){e.languages.clike={comment:[{pattern:/(^|[^\\])\/\*[\s\S]*?(?:\*\/|$)/,lookbehind:!0,greedy:!0},{pattern:/(^|[^\\:])\/\/.*/,lookbehind:!0,greedy:!0}],string:{pattern:/(["'])(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/,greedy:!0},"class-name":{pattern:/(\b(?:class|extends|implements|instanceof|interface|new|trait)\s+|\bcatch\s+\()[\w.\\]+/i,lookbehind:!0,inside:{punctuation:/[.\\]/}},keyword:/\b(?:break|catch|continue|do|else|finally|for|function|if|in|instanceof|new|null|return|throw|try|while)\b/,boolean:/\b(?:false|true)\b/,function:/\b\w+(?=\()/,number:/\b0x[\da-f]+\b|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:e[+-]?\d+)?/i,operator:/[<>]=?|[!=]=?=?|--?|\+\+?|&&?|\|\|?|[?*/~^%]/,punctuation:/[{}[\];(),.:]/}}M8.displayName=`javascript`,M8.aliases=[`js`];function M8(e){e.register(j8),e.languages.javascript=e.languages.extend(`clike`,{"class-name":[e.languages.clike[`class-name`],{pattern:/(^|[^$\w\xA0-\uFFFF])(?!\s)[_$A-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\.(?:constructor|prototype))/,lookbehind:!0}],keyword:[{pattern:/((?:^|\})\s*)catch\b/,lookbehind:!0},{pattern:/(^|[^.]|\.\.\.\s*)\b(?:as|assert(?=\s*\{)|async(?=\s*(?:function\b|\(|[$\w\xA0-\uFFFF]|$))|await|break|case|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally(?=\s*(?:\{|$))|for|from(?=\s*(?:['"]|$))|function|(?:get|set)(?=\s*(?:[#\[$\w\xA0-\uFFFF]|$))|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)\b/,lookbehind:!0}],function:/#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*(?:\.\s*(?:apply|bind|call)\s*)?\()/,number:{pattern:RegExp(`(^|[^\\w$])(?:NaN|Infinity|0[bB][01]+(?:_[01]+)*n?|0[oO][0-7]+(?:_[0-7]+)*n?|0[xX][\\dA-Fa-f]+(?:_[\\dA-Fa-f]+)*n?|\\d+(?:_\\d+)*n|(?:\\d+(?:_\\d+)*(?:\\.(?:\\d+(?:_\\d+)*)?)?|\\.\\d+(?:_\\d+)*)(?:[Ee][+-]?\\d+(?:_\\d+)*)?)(?![\\w$])`),lookbehind:!0},operator:/--|\+\+|\*\*=?|=>|&&=?|\|\|=?|[!=]==|<<=?|>>>?=?|[-+*/%&|^!=<>]=?|\.{3}|\?\?=?|\?\.?|[~:]/}),e.languages.javascript[`class-name`][0].pattern=/(\b(?:class|extends|implements|instanceof|interface|new)\s+)[\w.\\]+/,e.languages.insertBefore(`javascript`,`keyword`,{regex:{pattern:RegExp(`((?:^|[^$\\w\\xA0-\\uFFFF."'\\])\\s]|\\b(?:return|yield))\\s*)\\/(?:(?:\\[(?:[^\\]\\\\\\r\\n]|\\\\.)*\\]|\\\\.|[^/\\\\\\[\\r\\n])+\\/[dgimyus]{0,7}|(?:\\[(?:[^[\\]\\\\\\r\\n]|\\\\.|\\[(?:[^[\\]\\\\\\r\\n]|\\\\.|\\[(?:[^[\\]\\\\\\r\\n]|\\\\.)*\\])*\\])*\\]|\\\\.|[^/\\\\\\[\\r\\n])+\\/[dgimyus]{0,7}v[dgimyus]{0,7})(?=(?:\\s|\\/\\*(?:[^*]|\\*(?!\\/))*\\*\\/)*(?:$|[\\r\\n,.;:})\\]]|\\/\\/))`),lookbehind:!0,greedy:!0,inside:{"regex-source":{pattern:/^(\/)[\s\S]+(?=\/[a-z]*$)/,lookbehind:!0,alias:`language-regex`,inside:e.languages.regex},"regex-delimiter":/^\/|\/$/,"regex-flags":/^[a-z]+$/}},"function-variable":{pattern:/#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*[=:]\s*(?:async\s*)?(?:\bfunction\b|(?:\((?:[^()]|\([^()]*\))*\)|(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*)\s*=>))/,alias:`function`},parameter:[{pattern:/(function(?:\s+(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*)?\s*\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\))/,lookbehind:!0,inside:e.languages.javascript},{pattern:/(^|[^$\w\xA0-\uFFFF])(?!\s)[_$a-z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*=>)/i,lookbehind:!0,inside:e.languages.javascript},{pattern:/(\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\)\s*=>)/,lookbehind:!0,inside:e.languages.javascript},{pattern:/((?:\b|\s|^)(?!(?:as|async|await|break|case|catch|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally|for|from|function|get|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|set|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)(?![$\w\xA0-\uFFFF]))(?:(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*\s*)\(\s*|\]\s*\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\)\s*\{)/,lookbehind:!0,inside:e.languages.javascript}],constant:/\b[A-Z](?:[A-Z_]|\dx?)*\b/}),e.languages.insertBefore(`javascript`,`string`,{hashbang:{pattern:/^#!.*/,greedy:!0,alias:`comment`},"template-string":{pattern:/`(?:\\[\s\S]|\$\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}|(?!\$\{)[^\\`])*`/,greedy:!0,inside:{"template-punctuation":{pattern:/^`|`$/,alias:`string`},interpolation:{pattern:/((?:^|[^\\])(?:\\{2})*)\$\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}/,lookbehind:!0,inside:{"interpolation-punctuation":{pattern:/^\$\{|\}$/,alias:`punctuation`},rest:e.languages.javascript}},string:/[\s\S]+/}},"string-property":{pattern:/((?:^|[,{])[ \t]*)(["'])(?:\\(?:\r\n|[\s\S])|(?!\2)[^\\\r\n])*\2(?=\s*:)/m,lookbehind:!0,greedy:!0,alias:`property`}}),e.languages.insertBefore(`javascript`,`operator`,{"literal-property":{pattern:/((?:^|[,{])[ \t]*)(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*:)/m,lookbehind:!0,alias:`property`}}),e.languages.markup&&(e.languages.markup.tag.addInlined(`script`,`javascript`),e.languages.markup.tag.addAttribute(`on(?:abort|blur|change|click|composition(?:end|start|update)|dblclick|error|focus(?:in|out)?|key(?:down|up)|load|mouse(?:down|enter|leave|move|out|over|up)|reset|resize|scroll|select|slotchange|submit|unload|wheel)`,`javascript`)),e.languages.js=e.languages.javascript}N8.displayName=`sql`,N8.aliases=[];function N8(e){e.languages.sql={comment:{pattern:/(^|[^\\])(?:\/\*[\s\S]*?\*\/|(?:--|\/\/|#).*)/,lookbehind:!0},variable:[{pattern:/@(["'`])(?:\\[\s\S]|(?!\1)[^\\])+\1/,greedy:!0},/@[\w.$]+/],string:{pattern:/(^|[^@\\])("|')(?:\\[\s\S]|(?!\2)[^\\]|\2\2)*\2/,greedy:!0,lookbehind:!0},identifier:{pattern:/(^|[^@\\])`(?:\\[\s\S]|[^`\\]|``)*`/,greedy:!0,lookbehind:!0,inside:{punctuation:/^`|`$/}},function:/\b(?:AVG|COUNT|FIRST|FORMAT|LAST|LCASE|LEN|MAX|MID|MIN|MOD|NOW|ROUND|SUM|UCASE)(?=\s*\()/i,keyword:/\b(?:ACTION|ADD|AFTER|ALGORITHM|ALL|ALTER|ANALYZE|ANY|APPLY|AS|ASC|AUTHORIZATION|AUTO_INCREMENT|BACKUP|BDB|BEGIN|BERKELEYDB|BIGINT|BINARY|BIT|BLOB|BOOL|BOOLEAN|BREAK|BROWSE|BTREE|BULK|BY|CALL|CASCADED?|CASE|CHAIN|CHAR(?:ACTER|SET)?|CHECK(?:POINT)?|CLOSE|CLUSTERED|COALESCE|COLLATE|COLUMNS?|COMMENT|COMMIT(?:TED)?|COMPUTE|CONNECT|CONSISTENT|CONSTRAINT|CONTAINS(?:TABLE)?|CONTINUE|CONVERT|CREATE|CROSS|CURRENT(?:_DATE|_TIME|_TIMESTAMP|_USER)?|CURSOR|CYCLE|DATA(?:BASES?)?|DATE(?:TIME)?|DAY|DBCC|DEALLOCATE|DEC|DECIMAL|DECLARE|DEFAULT|DEFINER|DELAYED|DELETE|DELIMITERS?|DENY|DESC|DESCRIBE|DETERMINISTIC|DISABLE|DISCARD|DISK|DISTINCT|DISTINCTROW|DISTRIBUTED|DO|DOUBLE|DROP|DUMMY|DUMP(?:FILE)?|DUPLICATE|ELSE(?:IF)?|ENABLE|ENCLOSED|END|ENGINE|ENUM|ERRLVL|ERRORS|ESCAPED?|EXCEPT|EXEC(?:UTE)?|EXISTS|EXIT|EXPLAIN|EXTENDED|FETCH|FIELDS|FILE|FILLFACTOR|FIRST|FIXED|FLOAT|FOLLOWING|FOR(?: EACH ROW)?|FORCE|FOREIGN|FREETEXT(?:TABLE)?|FROM|FULL|FUNCTION|GEOMETRY(?:COLLECTION)?|GLOBAL|GOTO|GRANT|GROUP|HANDLER|HASH|HAVING|HOLDLOCK|HOUR|IDENTITY(?:COL|_INSERT)?|IF|IGNORE|IMPORT|INDEX|INFILE|INNER|INNODB|INOUT|INSERT|INT|INTEGER|INTERSECT|INTERVAL|INTO|INVOKER|ISOLATION|ITERATE|JOIN|KEYS?|KILL|LANGUAGE|LAST|LEAVE|LEFT|LEVEL|LIMIT|LINENO|LINES|LINESTRING|LOAD|LOCAL|LOCK|LONG(?:BLOB|TEXT)|LOOP|MATCH(?:ED)?|MEDIUM(?:BLOB|INT|TEXT)|MERGE|MIDDLEINT|MINUTE|MODE|MODIFIES|MODIFY|MONTH|MULTI(?:LINESTRING|POINT|POLYGON)|NATIONAL|NATURAL|NCHAR|NEXT|NO|NONCLUSTERED|NULLIF|NUMERIC|OFF?|OFFSETS?|ON|OPEN(?:DATASOURCE|QUERY|ROWSET)?|OPTIMIZE|OPTION(?:ALLY)?|ORDER|OUT(?:ER|FILE)?|OVER|PARTIAL|PARTITION|PERCENT|PIVOT|PLAN|POINT|POLYGON|PRECEDING|PRECISION|PREPARE|PREV|PRIMARY|PRINT|PRIVILEGES|PROC(?:EDURE)?|PUBLIC|PURGE|QUICK|RAISERROR|READS?|REAL|RECONFIGURE|REFERENCES|RELEASE|RENAME|REPEAT(?:ABLE)?|REPLACE|REPLICATION|REQUIRE|RESIGNAL|RESTORE|RESTRICT|RETURN(?:ING|S)?|REVOKE|RIGHT|ROLLBACK|ROUTINE|ROW(?:COUNT|GUIDCOL|S)?|RTREE|RULE|SAVE(?:POINT)?|SCHEMA|SECOND|SELECT|SERIAL(?:IZABLE)?|SESSION(?:_USER)?|SET(?:USER)?|SHARE|SHOW|SHUTDOWN|SIMPLE|SMALLINT|SNAPSHOT|SOME|SONAME|SQL|START(?:ING)?|STATISTICS|STATUS|STRIPED|SYSTEM_USER|TABLES?|TABLESPACE|TEMP(?:ORARY|TABLE)?|TERMINATED|TEXT(?:SIZE)?|THEN|TIME(?:STAMP)?|TINY(?:BLOB|INT|TEXT)|TOP?|TRAN(?:SACTIONS?)?|TRIGGER|TRUNCATE|TSEQUAL|TYPES?|UNBOUNDED|UNCOMMITTED|UNDEFINED|UNION|UNIQUE|UNLOCK|UNPIVOT|UNSIGNED|UPDATE(?:TEXT)?|USAGE|USE|USER|USING|VALUES?|VAR(?:BINARY|CHAR|CHARACTER|YING)|VIEW|WAITFOR|WARNINGS|WHEN|WHERE|WHILE|WITH(?: ROLLUP|IN)?|WORK|WRITE(?:TEXT)?|YEAR)\b/i,boolean:/\b(?:FALSE|NULL|TRUE)\b/i,number:/\b0x[\da-f]+\b|\b\d+(?:\.\d*)?|\B\.\d+\b/i,operator:/[-+*\/=%^~]|&&?|\|\|?|!=?|<(?:=>?|<|>)?|>[>=]?|\b(?:AND|BETWEEN|DIV|ILIKE|IN|IS|LIKE|NOT|OR|REGEXP|RLIKE|SOUNDS LIKE|XOR)\b/i,punctuation:/[;[\]()`,.]/}}P8.displayName=`c`,P8.aliases=[];function P8(e){e.register(j8),e.languages.c=e.languages.extend(`clike`,{comment:{pattern:/\/\/(?:[^\r\n\\]|\\(?:\r\n?|\n|(?![\r\n])))*|\/\*[\s\S]*?(?:\*\/|$)/,greedy:!0},string:{pattern:/"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"/,greedy:!0},"class-name":{pattern:/(\b(?:enum|struct)\s+(?:__attribute__\s*\(\([\s\S]*?\)\)\s*)?)\w+|\b[a-z]\w*_t\b/,lookbehind:!0},keyword:/\b(?:_Alignas|_Alignof|_Atomic|_Bool|_Complex|_Generic|_Imaginary|_Noreturn|_Static_assert|_Thread_local|__attribute__|asm|auto|break|case|char|const|continue|default|do|double|else|enum|extern|float|for|goto|if|inline|int|long|register|return|short|signed|sizeof|static|struct|switch|typedef|typeof|union|unsigned|void|volatile|while)\b/,function:/\b[a-z_]\w*(?=\s*\()/i,number:/(?:\b0x(?:[\da-f]+(?:\.[\da-f]*)?|\.[\da-f]+)(?:p[+-]?\d+)?|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:e[+-]?\d+)?)[ful]{0,4}/i,operator:/>>=?|<<=?|->|([-+&|:])\1|[?:~]|[-+*/%&|^!=<>]=?/}),e.languages.insertBefore(`c`,`string`,{char:{pattern:/'(?:\\(?:\r\n|[\s\S])|[^'\\\r\n]){0,32}'/,greedy:!0}}),e.languages.insertBefore(`c`,`string`,{macro:{pattern:/(^[\t ]*)#\s*[a-z](?:[^\r\n\\/]|\/(?!\*)|\/\*(?:[^*]|\*(?!\/))*\*\/|\\(?:\r\n|[\s\S]))*/im,lookbehind:!0,greedy:!0,alias:`property`,inside:{string:[{pattern:/^(#\s*include\s*)<[^>]+>/,lookbehind:!0},e.languages.c.string],char:e.languages.c.char,comment:e.languages.c.comment,"macro-name":[{pattern:/(^#\s*define\s+)\w+\b(?!\()/i,lookbehind:!0},{pattern:/(^#\s*define\s+)\w+\b(?=\()/i,lookbehind:!0,alias:`function`}],directive:{pattern:/^(#\s*)[a-z]+/,lookbehind:!0,alias:`keyword`},"directive-hash":/^#/,punctuation:/##|\\(?=[\r\n])/,expression:{pattern:/\S[\s\S]*/,inside:e.languages.c}}}}),e.languages.insertBefore(`c`,`function`,{constant:/\b(?:EOF|NULL|SEEK_CUR|SEEK_END|SEEK_SET|__DATE__|__FILE__|__LINE__|__TIMESTAMP__|__TIME__|__func__|stderr|stdin|stdout)\b/}),delete e.languages.c.boolean}F8.displayName=`cpp`,F8.aliases=[];function F8(e){e.register(P8),(function(e){var t=/\b(?:alignas|alignof|asm|auto|bool|break|case|catch|char|char16_t|char32_t|char8_t|class|co_await|co_return|co_yield|compl|concept|const|const_cast|consteval|constexpr|constinit|continue|decltype|default|delete|do|double|dynamic_cast|else|enum|explicit|export|extern|final|float|for|friend|goto|if|import|inline|int|int16_t|int32_t|int64_t|int8_t|long|module|mutable|namespace|new|noexcept|nullptr|operator|override|private|protected|public|register|reinterpret_cast|requires|return|short|signed|sizeof|static|static_assert|static_cast|struct|switch|template|this|thread_local|throw|try|typedef|typeid|typename|uint16_t|uint32_t|uint64_t|uint8_t|union|unsigned|using|virtual|void|volatile|wchar_t|while)\b/,n=`\\b(?!<keyword>)\\w+(?:\\s*\\.\\s*\\w+)*\\b`.replace(/<keyword>/g,function(){return t.source});e.languages.cpp=e.languages.extend(`c`,{"class-name":[{pattern:RegExp(`(\\b(?:class|concept|enum|struct|typename)\\s+)(?!<keyword>)\\w+`.replace(/<keyword>/g,function(){return t.source})),lookbehind:!0},/\b[A-Z]\w*(?=\s*::\s*\w+\s*\()/,/\b[A-Z_]\w*(?=\s*::\s*~\w+\s*\()/i,/\b\w+(?=\s*<(?:[^<>]|<(?:[^<>]|<[^<>]*>)*>)*>\s*::\s*\w+\s*\()/],keyword:t,number:{pattern:/(?:\b0b[01']+|\b0x(?:[\da-f']+(?:\.[\da-f']*)?|\.[\da-f']+)(?:p[+-]?[\d']+)?|(?:\b[\d']+(?:\.[\d']*)?|\B\.[\d']+)(?:e[+-]?[\d']+)?)[ful]{0,4}/i,greedy:!0},operator:/>>=?|<<=?|->|--|\+\+|&&|\|\||[?:~]|<=>|[-+*/%&|^!=<>]=?|\b(?:and|and_eq|bitand|bitor|not|not_eq|or|or_eq|xor|xor_eq)\b/,boolean:/\b(?:false|true)\b/}),e.languages.insertBefore(`cpp`,`string`,{module:{pattern:RegExp(`(\\b(?:import|module)\\s+)(?:"(?:\\\\(?:\\r\\n|[\\s\\S])|[^"\\\\\\r\\n])*"|<[^<>\\r\\n]*>|`+`<mod-name>(?:\\s*:\\s*<mod-name>)?|:\\s*<mod-name>`.replace(/<mod-name>/g,function(){return n})+`)`),lookbehind:!0,greedy:!0,inside:{string:/^[<"][\s\S]+/,operator:/:/,punctuation:/\./}},"raw-string":{pattern:/R"([^()\\ ]{0,16})\([\s\S]*?\)\1"/,alias:`string`,greedy:!0}}),e.languages.insertBefore(`cpp`,`keyword`,{"generic-function":{pattern:/\b(?!operator\b)[a-z_]\w*\s*<(?:[^<>]|<[^<>]*>)*>(?=\s*\()/i,inside:{function:/^\w+/,generic:{pattern:/<[\s\S]+/,alias:`class-name`,inside:e.languages.cpp}}}}),e.languages.insertBefore(`cpp`,`operator`,{"double-colon":{pattern:/::/,alias:`punctuation`}}),e.languages.insertBefore(`cpp`,`class-name`,{"base-clause":{pattern:/(\b(?:class|struct)\s+\w+\s*:\s*)[^;{}"'\s]+(?:\s+[^;{}"'\s]+)*(?=\s*[;{])/,lookbehind:!0,greedy:!0,inside:e.languages.extend(`cpp`,{})}}),e.languages.insertBefore(`inside`,`double-colon`,{"class-name":/\b[a-z_]\w*\b(?!\s*::)/i},e.languages.cpp[`base-clause`])})(e)}I8.displayName=`bash`,I8.aliases=[`sh`,`shell`];function I8(e){(function(e){var t=`\\b(?:BASH|BASHOPTS|BASH_ALIASES|BASH_ARGC|BASH_ARGV|BASH_CMDS|BASH_COMPLETION_COMPAT_DIR|BASH_LINENO|BASH_REMATCH|BASH_SOURCE|BASH_VERSINFO|BASH_VERSION|COLORTERM|COLUMNS|COMP_WORDBREAKS|DBUS_SESSION_BUS_ADDRESS|DEFAULTS_PATH|DESKTOP_SESSION|DIRSTACK|DISPLAY|EUID|GDMSESSION|GDM_LANG|GNOME_KEYRING_CONTROL|GNOME_KEYRING_PID|GPG_AGENT_INFO|GROUPS|HISTCONTROL|HISTFILE|HISTFILESIZE|HISTSIZE|HOME|HOSTNAME|HOSTTYPE|IFS|INSTANCE|JOB|LANG|LANGUAGE|LC_ADDRESS|LC_ALL|LC_IDENTIFICATION|LC_MEASUREMENT|LC_MONETARY|LC_NAME|LC_NUMERIC|LC_PAPER|LC_TELEPHONE|LC_TIME|LESSCLOSE|LESSOPEN|LINES|LOGNAME|LS_COLORS|MACHTYPE|MAILCHECK|MANDATORY_PATH|NO_AT_BRIDGE|OLDPWD|OPTERR|OPTIND|ORBIT_SOCKETDIR|OSTYPE|PAPERSIZE|PATH|PIPESTATUS|PPID|PS1|PS2|PS3|PS4|PWD|RANDOM|REPLY|SECONDS|SELINUX_INIT|SESSION|SESSIONTYPE|SESSION_MANAGER|SHELL|SHELLOPTS|SHLVL|SSH_AUTH_SOCK|TERM|UID|UPSTART_EVENTS|UPSTART_INSTANCE|UPSTART_JOB|UPSTART_SESSION|USER|WINDOWID|XAUTHORITY|XDG_CONFIG_DIRS|XDG_CURRENT_DESKTOP|XDG_DATA_DIRS|XDG_GREETER_DATA_DIR|XDG_MENU_PREFIX|XDG_RUNTIME_DIR|XDG_SEAT|XDG_SEAT_PATH|XDG_SESSION_DESKTOP|XDG_SESSION_ID|XDG_SESSION_PATH|XDG_SESSION_TYPE|XDG_VTNR|XMODIFIERS)\\b`,n={pattern:/(^(["']?)\w+\2)[ \t]+\S.*/,lookbehind:!0,alias:`punctuation`,inside:null},r={bash:n,environment:{pattern:RegExp(`\\$`+t),alias:`constant`},variable:[{pattern:/\$?\(\([\s\S]+?\)\)/,greedy:!0,inside:{variable:[{pattern:/(^\$\(\([\s\S]+)\)\)/,lookbehind:!0},/^\$\(\(/],number:/\b0x[\dA-Fa-f]+\b|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:[Ee]-?\d+)?/,operator:/--|\+\+|\*\*=?|<<=?|>>=?|&&|\|\||[=!+\-*/%<>^&|]=?|[?~:]/,punctuation:/\(\(?|\)\)?|,|;/}},{pattern:/\$\((?:\([^)]+\)|[^()])+\)|`[^`]+`/,greedy:!0,inside:{variable:/^\$\(|^`|\)$|`$/}},{pattern:/\$\{[^}]+\}/,greedy:!0,inside:{operator:/:[-=?+]?|[!\/]|##?|%%?|\^\^?|,,?/,punctuation:/[\[\]]/,environment:{pattern:RegExp(`(\\{)`+t),lookbehind:!0,alias:`constant`}}},/\$(?:\w+|[#?*!@$])/],entity:/\\(?:[abceEfnrtv\\"]|O?[0-7]{1,3}|U[0-9a-fA-F]{8}|u[0-9a-fA-F]{4}|x[0-9a-fA-F]{1,2})/};e.languages.bash={shebang:{pattern:/^#!\s*\/.*/,alias:`important`},comment:{pattern:/(^|[^"{\\$])#.*/,lookbehind:!0},"function-name":[{pattern:/(\bfunction\s+)[\w-]+(?=(?:\s*\(?:\s*\))?\s*\{)/,lookbehind:!0,alias:`function`},{pattern:/\b[\w-]+(?=\s*\(\s*\)\s*\{)/,alias:`function`}],"for-or-select":{pattern:/(\b(?:for|select)\s+)\w+(?=\s+in\s)/,alias:`variable`,lookbehind:!0},"assign-left":{pattern:/(^|[\s;|&]|[<>]\()\w+(?:\.\w+)*(?=\+?=)/,inside:{environment:{pattern:RegExp(`(^|[\\s;|&]|[<>]\\()`+t),lookbehind:!0,alias:`constant`}},alias:`variable`,lookbehind:!0},parameter:{pattern:/(^|\s)-{1,2}(?:\w+:[+-]?)?\w+(?:\.\w+)*(?=[=\s]|$)/,alias:`variable`,lookbehind:!0},string:[{pattern:/((?:^|[^<])<<-?\s*)(\w+)\s[\s\S]*?(?:\r?\n|\r)\2/,lookbehind:!0,greedy:!0,inside:r},{pattern:/((?:^|[^<])<<-?\s*)(["'])(\w+)\2\s[\s\S]*?(?:\r?\n|\r)\3/,lookbehind:!0,greedy:!0,inside:{bash:n}},{pattern:/(^|[^\\](?:\\\\)*)"(?:\\[\s\S]|\$\([^)]+\)|\$(?!\()|`[^`]+`|[^"\\`$])*"/,lookbehind:!0,greedy:!0,inside:r},{pattern:/(^|[^$\\])'[^']*'/,lookbehind:!0,greedy:!0},{pattern:/\$'(?:[^'\\]|\\[\s\S])*'/,greedy:!0,inside:{entity:r.entity}}],environment:{pattern:RegExp(`\\$?`+t),alias:`constant`},variable:r.variable,function:{pattern:/(^|[\s;|&]|[<>]\()(?:add|apropos|apt|apt-cache|apt-get|aptitude|aspell|automysqlbackup|awk|basename|bash|bc|bconsole|bg|bzip2|cal|cargo|cat|cfdisk|chgrp|chkconfig|chmod|chown|chroot|cksum|clear|cmp|column|comm|composer|cp|cron|crontab|csplit|curl|cut|date|dc|dd|ddrescue|debootstrap|df|diff|diff3|dig|dir|dircolors|dirname|dirs|dmesg|docker|docker-compose|du|egrep|eject|env|ethtool|expand|expect|expr|fdformat|fdisk|fg|fgrep|file|find|fmt|fold|format|free|fsck|ftp|fuser|gawk|git|gparted|grep|groupadd|groupdel|groupmod|groups|grub-mkconfig|gzip|halt|head|hg|history|host|hostname|htop|iconv|id|ifconfig|ifdown|ifup|import|install|ip|java|jobs|join|kill|killall|less|link|ln|locate|logname|logrotate|look|lpc|lpr|lprint|lprintd|lprintq|lprm|ls|lsof|lynx|make|man|mc|mdadm|mkconfig|mkdir|mke2fs|mkfifo|mkfs|mkisofs|mknod|mkswap|mmv|more|most|mount|mtools|mtr|mutt|mv|nano|nc|netstat|nice|nl|node|nohup|notify-send|npm|nslookup|op|open|parted|passwd|paste|pathchk|ping|pkill|pnpm|podman|podman-compose|popd|pr|printcap|printenv|ps|pushd|pv|quota|quotacheck|quotactl|ram|rar|rcp|reboot|remsync|rename|renice|rev|rm|rmdir|rpm|rsync|scp|screen|sdiff|sed|sendmail|seq|service|sftp|sh|shellcheck|shuf|shutdown|sleep|slocate|sort|split|ssh|stat|strace|su|sudo|sum|suspend|swapon|sync|sysctl|tac|tail|tar|tee|time|timeout|top|touch|tr|traceroute|tsort|tty|umount|uname|unexpand|uniq|units|unrar|unshar|unzip|update-grub|uptime|useradd|userdel|usermod|users|uudecode|uuencode|v|vcpkg|vdir|vi|vim|virsh|vmstat|wait|watch|wc|wget|whereis|which|who|whoami|write|xargs|xdg-open|yarn|yes|zenity|zip|zsh|zypper)(?=$|[)\s;|&])/,lookbehind:!0},keyword:{pattern:/(^|[\s;|&]|[<>]\()(?:case|do|done|elif|else|esac|fi|for|function|if|in|select|then|until|while)(?=$|[)\s;|&])/,lookbehind:!0},builtin:{pattern:/(^|[\s;|&]|[<>]\()(?:\.|:|alias|bind|break|builtin|caller|cd|command|continue|declare|echo|enable|eval|exec|exit|export|getopts|hash|help|let|local|logout|mapfile|printf|pwd|read|readarray|readonly|return|set|shift|shopt|source|test|times|trap|type|typeset|ulimit|umask|unalias|unset)(?=$|[)\s;|&])/,lookbehind:!0,alias:`class-name`},boolean:{pattern:/(^|[\s;|&]|[<>]\()(?:false|true)(?=$|[)\s;|&])/,lookbehind:!0},"file-descriptor":{pattern:/\B&\d\b/,alias:`important`},operator:{pattern:/\d?<>|>\||\+=|=[=~]?|!=?|<<[<-]?|[&\d]?>>|\d[<>]&?|[<>][&=]?|&[>&]?|\|[&|]?/,inside:{"file-descriptor":{pattern:/^\d/,alias:`important`}}},punctuation:/\$?\(\(?|\)\)?|\.\.|[{}[\];\\]/,number:{pattern:/(^|\s)(?:[1-9]\d*|0)(?:[.,]\d+)?\b/,lookbehind:!0}},n.inside=e.languages.bash;for(var i=[`comment`,`function-name`,`for-or-select`,`assign-left`,`parameter`,`string`,`environment`,`function`,`keyword`,`builtin`,`boolean`,`file-descriptor`,`operator`,`punctuation`,`number`],a=r.variable[1].inside,o=0;o<i.length;o++)a[i[o]]=e.languages.bash[i[o]];e.languages.sh=e.languages.bash,e.languages.shell=e.languages.bash})(e)}L8.displayName=`yaml`,L8.aliases=[`yml`];function L8(e){(function(e){var t=/[*&][^\s[\]{},]+/,n=/!(?:<[\w\-%#;/?:@&=+$,.!~*'()[\]]+>|(?:[a-zA-Z\d-]*!)?[\w\-%#;/?:@&=+$.~*'()]+)?/,r=`(?:`+n.source+`(?:[ ]+`+t.source+`)?|`+t.source+`(?:[ ]+`+n.source+`)?)`,i=`(?:[^\\s\\x00-\\x08\\x0e-\\x1f!"#%&'*,\\-:>?@[\\]\`{|}\\x7f-\\x84\\x86-\\x9f\\ud800-\\udfff\\ufffe\\uffff]|[?:-]<PLAIN>)(?:[ \\t]*(?:(?![#:])<PLAIN>|:<PLAIN>))*`.replace(/<PLAIN>/g,function(){return`[^\\s\\x00-\\x08\\x0e-\\x1f,[\\]{}\\x7f-\\x84\\x86-\\x9f\\ud800-\\udfff\\ufffe\\uffff]`}),a=`"(?:[^"\\\\\\r\\n]|\\\\.)*"|'(?:[^'\\\\\\r\\n]|\\\\.)*'`;function o(e,t){t=(t||``).replace(/m/g,``)+`m`;var n=`([:\\-,[{]\\s*(?:\\s<<prop>>[ \\t]+)?)(?:<<value>>)(?=[ \\t]*(?:$|,|\\]|\\}|(?:[\\r\\n]\\s*)?#))`.replace(/<<prop>>/g,function(){return r}).replace(/<<value>>/g,function(){return e});return RegExp(n,t)}e.languages.yaml={scalar:{pattern:RegExp(`([\\-:]\\s*(?:\\s<<prop>>[ \\t]+)?[|>])[ \\t]*(?:((?:\\r?\\n|\\r)[ \\t]+)\\S[^\\r\\n]*(?:\\2[^\\r\\n]+)*)`.replace(/<<prop>>/g,function(){return r})),lookbehind:!0,alias:`string`},comment:/#.*/,key:{pattern:RegExp(`((?:^|[:\\-,[{\\r\\n?])[ \\t]*(?:<<prop>>[ \\t]+)?)<<key>>(?=\\s*:\\s)`.replace(/<<prop>>/g,function(){return r}).replace(/<<key>>/g,function(){return`(?:`+i+`|`+a+`)`})),lookbehind:!0,greedy:!0,alias:`atrule`},directive:{pattern:/(^[ \t]*)%.+/m,lookbehind:!0,alias:`important`},datetime:{pattern:o(`\\d{4}-\\d\\d?-\\d\\d?(?:[tT]|[ \\t]+)\\d\\d?:\\d{2}:\\d{2}(?:\\.\\d*)?(?:[ \\t]*(?:Z|[-+]\\d\\d?(?::\\d{2})?))?|\\d{4}-\\d{2}-\\d{2}|\\d\\d?:\\d{2}(?::\\d{2}(?:\\.\\d*)?)?`),lookbehind:!0,alias:`number`},boolean:{pattern:o(`false|true`,`i`),lookbehind:!0,alias:`important`},null:{pattern:o(`null|~`,`i`),lookbehind:!0,alias:`important`},string:{pattern:o(a),lookbehind:!0,greedy:!0},number:{pattern:o(`[+-]?(?:0x[\\da-f]+|0o[0-7]+|(?:\\d+(?:\\.\\d*)?|\\.\\d+)(?:e[+-]?\\d+)?|\\.inf|\\.nan)`,`i`),lookbehind:!0},tag:n,important:t,punctuation:/---|[:[\]{}\-,|>?]|\.\.\./},e.languages.yml=e.languages.yaml})(e)}R8.displayName=`markdown`,R8.aliases=[`md`];function R8(e){e.register(k8),(function(e){function t(e){return e=e.replace(/<inner>/g,function(){return`(?:\\\\.|[^\\\\\\n\\r]|(?:\\n|\\r\\n?)(?![\\r\\n]))`}),RegExp(`((?:^|[^\\\\])(?:\\\\{2})*)(?:`+e+`)`)}var n="(?:\\\\.|``(?:[^`\\r\\n]|`(?!`))+``|`[^`\\r\\n]+`|[^\\\\|\\r\\n`])+",r=`\\|?__(?:\\|__)+\\|?(?:(?:\\n|\\r\\n?)|(?![\\s\\S]))`.replace(/__/g,function(){return n}),i=`\\|?[ \\t]*:?-{3,}:?[ \\t]*(?:\\|[ \\t]*:?-{3,}:?[ \\t]*)+\\|?(?:\\n|\\r\\n?)`;e.languages.markdown=e.languages.extend(`markup`,{}),e.languages.insertBefore(`markdown`,`prolog`,{"front-matter-block":{pattern:/(^(?:\s*[\r\n])?)---(?!.)[\s\S]*?[\r\n]---(?!.)/,lookbehind:!0,greedy:!0,inside:{punctuation:/^---|---$/,"front-matter":{pattern:/\S+(?:\s+\S+)*/,alias:[`yaml`,`language-yaml`],inside:e.languages.yaml}}},blockquote:{pattern:/^>(?:[\t ]*>)*/m,alias:`punctuation`},table:{pattern:RegExp(`^`+r+i+`(?:`+r+`)*`,`m`),inside:{"table-data-rows":{pattern:RegExp(`^(`+r+i+`)(?:`+r+`)*$`),lookbehind:!0,inside:{"table-data":{pattern:RegExp(n),inside:e.languages.markdown},punctuation:/\|/}},"table-line":{pattern:RegExp(`^(`+r+`)`+i+`$`),lookbehind:!0,inside:{punctuation:/\||:?-{3,}:?/}},"table-header-row":{pattern:RegExp(`^`+r+`$`),inside:{"table-header":{pattern:RegExp(n),alias:`important`,inside:e.languages.markdown},punctuation:/\|/}}}},code:[{pattern:/((?:^|\n)[ \t]*\n|(?:^|\r\n?)[ \t]*\r\n?)(?: {4}|\t).+(?:(?:\n|\r\n?)(?: {4}|\t).+)*/,lookbehind:!0,alias:`keyword`},{pattern:/^```[\s\S]*?^```$/m,greedy:!0,inside:{"code-block":{pattern:/^(```.*(?:\n|\r\n?))[\s\S]+?(?=(?:\n|\r\n?)^```$)/m,lookbehind:!0},"code-language":{pattern:/^(```).+/,lookbehind:!0},punctuation:/```/}}],title:[{pattern:/\S.*(?:\n|\r\n?)(?:==+|--+)(?=[ \t]*$)/m,alias:`important`,inside:{punctuation:/==+$|--+$/}},{pattern:/(^\s*)#.+/m,lookbehind:!0,alias:`important`,inside:{punctuation:/^#+|#+$/}}],hr:{pattern:/(^\s*)([*-])(?:[\t ]*\2){2,}(?=\s*$)/m,lookbehind:!0,alias:`punctuation`},list:{pattern:/(^\s*)(?:[*+-]|\d+\.)(?=[\t ].)/m,lookbehind:!0,alias:`punctuation`},"url-reference":{pattern:/!?\[[^\]]+\]:[\t ]+(?:\S+|<(?:\\.|[^>\\])+>)(?:[\t ]+(?:"(?:\\.|[^"\\])*"|'(?:\\.|[^'\\])*'|\((?:\\.|[^)\\])*\)))?/,inside:{variable:{pattern:/^(!?\[)[^\]]+/,lookbehind:!0},string:/(?:"(?:\\.|[^"\\])*"|'(?:\\.|[^'\\])*'|\((?:\\.|[^)\\])*\))$/,punctuation:/^[\[\]!:]|[<>]/},alias:`url`},bold:{pattern:t(`\\b__(?:(?!_)<inner>|_(?:(?!_)<inner>)+_)+__\\b|\\*\\*(?:(?!\\*)<inner>|\\*(?:(?!\\*)<inner>)+\\*)+\\*\\*`),lookbehind:!0,greedy:!0,inside:{content:{pattern:/(^..)[\s\S]+(?=..$)/,lookbehind:!0,inside:{}},punctuation:/\*\*|__/}},italic:{pattern:t(`\\b_(?:(?!_)<inner>|__(?:(?!_)<inner>)+__)+_\\b|\\*(?:(?!\\*)<inner>|\\*\\*(?:(?!\\*)<inner>)+\\*\\*)+\\*`),lookbehind:!0,greedy:!0,inside:{content:{pattern:/(^.)[\s\S]+(?=.$)/,lookbehind:!0,inside:{}},punctuation:/[*_]/}},strike:{pattern:t(`(~~?)(?:(?!~)<inner>)+\\2`),lookbehind:!0,greedy:!0,inside:{content:{pattern:/(^~~?)[\s\S]+(?=\1$)/,lookbehind:!0,inside:{}},punctuation:/~~?/}},"code-snippet":{pattern:/(^|[^\\`])(?:``[^`\r\n]+(?:`[^`\r\n]+)*``(?!`)|`[^`\r\n]+`(?!`))/,lookbehind:!0,greedy:!0,alias:[`code`,`keyword`]},url:{pattern:t(`!?\\[(?:(?!\\])<inner>)+\\](?:\\([^\\s)]+(?:[\\t ]+"(?:\\\\.|[^"\\\\])*")?\\)|[ \\t]?\\[(?:(?!\\])<inner>)+\\])`),lookbehind:!0,greedy:!0,inside:{operator:/^!/,content:{pattern:/(^\[)[^\]]+(?=\])/,lookbehind:!0,inside:{}},variable:{pattern:/(^\][ \t]?\[)[^\]]+(?=\]$)/,lookbehind:!0},url:{pattern:/(^\]\()[^\s)]+/,lookbehind:!0},string:{pattern:/(^[ \t]+)"(?:\\.|[^"\\])*"(?=\)$)/,lookbehind:!0}}}}),[`url`,`bold`,`italic`,`strike`].forEach(function(t){[`url`,`bold`,`italic`,`strike`,`code-snippet`].forEach(function(n){t!==n&&(e.languages.markdown[t].inside.content.inside[n]=e.languages.markdown[n])})}),e.hooks.add(`after-tokenize`,function(e){if(e.language!==`markdown`&&e.language!==`md`)return;function t(e){if(!(!e||typeof e==`string`))for(var n=0,r=e.length;n<r;n++){var i=e[n];if(i.type!==`code`){t(i.content);continue}var a=i.content[1],o=i.content[3];if(a&&o&&a.type===`code-language`&&o.type===`code-block`&&typeof a.content==`string`){var s=a.content.replace(/\b#/g,`sharp`).replace(/\b\+\+/g,`pp`);s=(/[a-z][\w-]*/i.exec(s)||[``])[0].toLowerCase();var c=`language-`+s;o.alias?typeof o.alias==`string`?o.alias=[o.alias,c]:o.alias.push(c):o.alias=[c]}}}t(e.tokens)}),e.hooks.add(`wrap`,function(t){if(t.type===`code-block`){for(var n=``,r=0,i=t.classes.length;r<i;r++){var a=t.classes[r],o=/language-(.+)/.exec(a);if(o){n=o[1];break}}var s=e.languages[n];if(s)t.content=e.highlight(t.content.value,s,n);else if(n&&n!==`none`&&e.plugins.autoloader){var c=`md-`+new Date().valueOf()+`-`+Math.floor(Math.random()*0x2386f26fc10000);t.attributes.id=c,e.plugins.autoloader.loadLanguages(n,function(){var t=document.getElementById(c);t&&(t.innerHTML=e.highlight(t.textContent,e.languages[n],n))})}}}),RegExp(e.languages.markup.tag.pattern.source,`gi`),String.fromCodePoint||String.fromCharCode,e.languages.md=e.languages.markdown})(e)}z8.displayName=`csharp`,z8.aliases=[`cs`,`dotnet`];function z8(e){e.register(j8),(function(e){function t(e,t){return e.replace(/<<(\d+)>>/g,function(e,n){return`(?:`+t[+n]+`)`})}function n(e,n,r){return RegExp(t(e,n),r||``)}function r(e,t){for(var n=0;n<t;n++)e=e.replace(/<<self>>/g,function(){return`(?:`+e+`)`});return e.replace(/<<self>>/g,`[^\\s\\S]`)}var i={type:`bool byte char decimal double dynamic float int long object sbyte short string uint ulong ushort var void`,typeDeclaration:`class enum interface record struct`,contextual:`add alias and ascending async await by descending from(?=\\s*(?:\\w|$)) get global group into init(?=\\s*;) join let nameof not notnull on or orderby partial remove select set unmanaged value when where with(?=\\s*{)`,other:`abstract as base break case catch checked const continue default delegate do else event explicit extern finally fixed for foreach goto if implicit in internal is lock namespace new null operator out override params private protected public readonly ref return sealed sizeof stackalloc static switch this throw try typeof unchecked unsafe using virtual volatile while yield`};function a(e){return`\\b(?:`+e.trim().replace(/ /g,`|`)+`)\\b`}var o=a(i.typeDeclaration),s=RegExp(a(i.type+` `+i.typeDeclaration+` `+i.contextual+` `+i.other)),c=a(i.typeDeclaration+` `+i.contextual+` `+i.other),l=a(i.type+` `+i.typeDeclaration+` `+i.other),u=r(`<(?:[^<>;=+\\-*/%&|^]|<<self>>)*>`,2),d=r(`\\((?:[^()]|<<self>>)*\\)`,2),f=`@?\\b[A-Za-z_]\\w*\\b`,p=t(`<<0>>(?:\\s*<<1>>)?`,[f,u]),m=t(`(?!<<0>>)<<1>>(?:\\s*\\.\\s*<<1>>)*`,[c,p]),h=`\\[\\s*(?:,\\s*)*\\]`,g=t(`<<0>>(?:\\s*(?:\\?\\s*)?<<1>>)*(?:\\s*\\?)?`,[m,h]),_=t(`(?:<<0>>|<<1>>)(?:\\s*(?:\\?\\s*)?<<2>>)*(?:\\s*\\?)?`,[t(`\\(<<0>>+(?:,<<0>>+)+\\)`,[t(`[^,()<>[\\];=+\\-*/%&|^]|<<0>>|<<1>>|<<2>>`,[u,d,h])]),m,h]),v={keyword:s,punctuation:/[<>()?,.:[\]]/},y=`'(?:[^\\r\\n'\\\\]|\\\\.|\\\\[Uux][\\da-fA-F]{1,8})'`,b=`"(?:\\\\.|[^\\\\"\\r\\n])*"`,x=`@"(?:""|\\\\[\\s\\S]|[^\\\\"])*"(?!")`;e.languages.csharp=e.languages.extend(`clike`,{string:[{pattern:n(`(^|[^$\\\\])<<0>>`,[x]),lookbehind:!0,greedy:!0},{pattern:n(`(^|[^@$\\\\])<<0>>`,[b]),lookbehind:!0,greedy:!0}],"class-name":[{pattern:n(`(\\busing\\s+static\\s+)<<0>>(?=\\s*;)`,[m]),lookbehind:!0,inside:v},{pattern:n(`(\\busing\\s+<<0>>\\s*=\\s*)<<1>>(?=\\s*;)`,[f,_]),lookbehind:!0,inside:v},{pattern:n(`(\\busing\\s+)<<0>>(?=\\s*=)`,[f]),lookbehind:!0},{pattern:n(`(\\b<<0>>\\s+)<<1>>`,[o,p]),lookbehind:!0,inside:v},{pattern:n(`(\\bcatch\\s*\\(\\s*)<<0>>`,[m]),lookbehind:!0,inside:v},{pattern:n(`(\\bwhere\\s+)<<0>>`,[f]),lookbehind:!0},{pattern:n(`(\\b(?:is(?:\\s+not)?|as)\\s+)<<0>>`,[g]),lookbehind:!0,inside:v},{pattern:n(`\\b<<0>>(?=\\s+(?!<<1>>|with\\s*\\{)<<2>>(?:\\s*[=,;:{)\\]]|\\s+(?:in|when)\\b))`,[_,l,f]),inside:v}],keyword:s,number:/(?:\b0(?:x[\da-f_]*[\da-f]|b[01_]*[01])|(?:\B\.\d+(?:_+\d+)*|\b\d+(?:_+\d+)*(?:\.\d+(?:_+\d+)*)?)(?:e[-+]?\d+(?:_+\d+)*)?)(?:[dflmu]|lu|ul)?\b/i,operator:/>>=?|<<=?|[-=]>|([-+&|])\1|~|\?\?=?|[-+*/%&|^!=<>]=?/,punctuation:/\?\.?|::|[{}[\];(),.:]/}),e.languages.insertBefore(`csharp`,`number`,{range:{pattern:/\.\./,alias:`operator`}}),e.languages.insertBefore(`csharp`,`punctuation`,{"named-parameter":{pattern:n(`([(,]\\s*)<<0>>(?=\\s*:)`,[f]),lookbehind:!0,alias:`punctuation`}}),e.languages.insertBefore(`csharp`,`class-name`,{namespace:{pattern:n(`(\\b(?:namespace|using)\\s+)<<0>>(?:\\s*\\.\\s*<<0>>)*(?=\\s*[;{])`,[f]),lookbehind:!0,inside:{punctuation:/\./}},"type-expression":{pattern:n(`(\\b(?:default|sizeof|typeof)\\s*\\(\\s*(?!\\s))(?:[^()\\s]|\\s(?!\\s)|<<0>>)*(?=\\s*\\))`,[d]),lookbehind:!0,alias:`class-name`,inside:v},"return-type":{pattern:n(`<<0>>(?=\\s+(?:<<1>>\\s*(?:=>|[({]|\\.\\s*this\\s*\\[)|this\\s*\\[))`,[_,m]),inside:v,alias:`class-name`},"constructor-invocation":{pattern:n(`(\\bnew\\s+)<<0>>(?=\\s*[[({])`,[_]),lookbehind:!0,inside:v,alias:`class-name`},"generic-method":{pattern:n(`<<0>>\\s*<<1>>(?=\\s*\\()`,[f,u]),inside:{function:n(`^<<0>>`,[f]),generic:{pattern:RegExp(u),alias:`class-name`,inside:v}}},"type-list":{pattern:n(`\\b((?:<<0>>\\s+<<1>>|record\\s+<<1>>\\s*<<5>>|where\\s+<<2>>)\\s*:\\s*)(?:<<3>>|<<4>>|<<1>>\\s*<<5>>|<<6>>)(?:\\s*,\\s*(?:<<3>>|<<4>>|<<6>>))*(?=\\s*(?:where|[{;]|=>|$))`,[o,p,f,_,s.source,d,`\\bnew\\s*\\(\\s*\\)`]),lookbehind:!0,inside:{"record-arguments":{pattern:n(`(^(?!new\\s*\\()<<0>>\\s*)<<1>>`,[p,d]),lookbehind:!0,greedy:!0,inside:e.languages.csharp},keyword:s,"class-name":{pattern:RegExp(_),greedy:!0,inside:v},punctuation:/[,()]/}},preprocessor:{pattern:/(^[\t ]*)#.*/m,lookbehind:!0,alias:`property`,inside:{directive:{pattern:/(#)\b(?:define|elif|else|endif|endregion|error|if|line|nullable|pragma|region|undef|warning)\b/,lookbehind:!0,alias:`keyword`}}}});var S=b+`|`+y,C=t(`\\/(?![*/])|\\/\\/[^\\r\\n]*[\\r\\n]|\\/\\*(?:[^*]|\\*(?!\\/))*\\*\\/|<<0>>`,[S]),w=r(t(`[^"'/()]|<<0>>|\\(<<self>>*\\)`,[C]),2),T=`\\b(?:assembly|event|field|method|module|param|property|return|type)\\b`,E=t(`<<0>>(?:\\s*\\(<<1>>*\\))?`,[m,w]);e.languages.insertBefore(`csharp`,`class-name`,{attribute:{pattern:n(`((?:^|[^\\s\\w>)?])\\s*\\[\\s*)(?:<<0>>\\s*:\\s*)?<<1>>(?:\\s*,\\s*<<1>>)*(?=\\s*\\])`,[T,E]),lookbehind:!0,greedy:!0,inside:{target:{pattern:n(`^<<0>>(?=\\s*:)`,[T]),alias:`keyword`},"attribute-arguments":{pattern:n(`\\(<<0>>*\\)`,[w]),inside:e.languages.csharp},"class-name":{pattern:RegExp(m),inside:{punctuation:/\./}},punctuation:/[:,]/}}});var D=`:[^}\\r\\n]+`,O=r(t(`[^"'/()]|<<0>>|\\(<<self>>*\\)`,[C]),2),k=t(`\\{(?!\\{)(?:(?![}:])<<0>>)*<<1>>?\\}`,[O,D]),A=r(t(`[^"'/()]|\\/(?!\\*)|\\/\\*(?:[^*]|\\*(?!\\/))*\\*\\/|<<0>>|\\(<<self>>*\\)`,[S]),2),j=t(`\\{(?!\\{)(?:(?![}:])<<0>>)*<<1>>?\\}`,[A,D]);function M(t,r){return{interpolation:{pattern:n(`((?:^|[^{])(?:\\{\\{)*)<<0>>`,[t]),lookbehind:!0,inside:{"format-string":{pattern:n(`(^\\{(?:(?![}:])<<0>>)*)<<1>>(?=\\}$)`,[r,D]),lookbehind:!0,inside:{punctuation:/^:/}},punctuation:/^\{|\}$/,expression:{pattern:/[\s\S]+/,alias:`language-csharp`,inside:e.languages.csharp}}},string:/[\s\S]+/}}e.languages.insertBefore(`csharp`,`string`,{"interpolation-string":[{pattern:n(`(^|[^\\\\])(?:\\$@|@\\$)"(?:""|\\\\[\\s\\S]|\\{\\{|<<0>>|[^\\\\{"])*"`,[k]),lookbehind:!0,greedy:!0,inside:M(k,O)},{pattern:n(`(^|[^@\\\\])\\$"(?:\\\\.|\\{\\{|<<0>>|[^\\\\"{])*"`,[j]),lookbehind:!0,greedy:!0,inside:M(j,A)}],char:{pattern:RegExp(y),greedy:!0}}),e.languages.dotnet=e.languages.cs=e.languages.csharp})(e)}B8.displayName=`diff`,B8.aliases=[];function B8(e){(function(e){e.languages.diff={coord:[/^(?:\*{3}|-{3}|\+{3}).*$/m,/^@@.*@@$/m,/^\d.*$/m]};var t={"deleted-sign":`-`,"deleted-arrow":`<`,"inserted-sign":`+`,"inserted-arrow":`>`,unchanged:` `,diff:`!`};Object.keys(t).forEach(function(n){var r=t[n],i=[];/^\w+$/.test(n)||i.push(/\w+/.exec(n)[0]),n===`diff`&&i.push(`bold`),e.languages.diff[n]={pattern:RegExp(`^(?:[`+r+`].*(?:\r
|
|
486
486
|
?|
|
|
487
|
-
|(?![\\s\\S])))+`,`m`),alias:i,inside:{line:{pattern:/(.)(?=[\s\S]).*(?:\r\n?|\n)?/,lookbehind:!0},prefix:{pattern:/[\s\S]/,alias:/\w+/.exec(n)[0]}}}}),Object.defineProperty(e.languages.diff,"PREFIXES",{value:t})})(e)}V8.displayName=`docker`,V8.aliases=[`dockerfile`];function V8(e){(function(e){var t=`(?:[ \\t]+(?![ \\t])(?:<SP_BS>)?|<SP_BS>)`.replace(/<SP_BS>/g,function(){return`\\\\[\\r\\n](?:\\s|\\\\[\\r\\n]|#.*(?!.))*(?![\\s#]|\\\\[\\r\\n])`}),n=`"(?:[^"\\\\\\r\\n]|\\\\(?:\\r\\n|[\\s\\S]))*"|'(?:[^'\\\\\\r\\n]|\\\\(?:\\r\\n|[\\s\\S]))*'`,r=`--[\\w-]+=(?:<STR>|(?!["'])(?:[^\\s\\\\]|\\\\.)+)`.replace(/<STR>/g,function(){return n}),i={pattern:RegExp(n),greedy:!0},a={pattern:/(^[ \t]*)#.*/m,lookbehind:!0,greedy:!0};function o(e,n){return e=e.replace(/<OPT>/g,function(){return r}).replace(/<SP>/g,function(){return t}),RegExp(e,n)}e.languages.docker={instruction:{pattern:/(^[ \t]*)(?:ADD|ARG|CMD|COPY|ENTRYPOINT|ENV|EXPOSE|FROM|HEALTHCHECK|LABEL|MAINTAINER|ONBUILD|RUN|SHELL|STOPSIGNAL|USER|VOLUME|WORKDIR)(?=\s)(?:\\.|[^\r\n\\])*(?:\\$(?:\s|#.*$)*(?![\s#])(?:\\.|[^\r\n\\])*)*/im,lookbehind:!0,greedy:!0,inside:{options:{pattern:o(`(^(?:ONBUILD<SP>)?\\w+<SP>)<OPT>(?:<SP><OPT>)*`,`i`),lookbehind:!0,greedy:!0,inside:{property:{pattern:/(^|\s)--[\w-]+/,lookbehind:!0},string:[i,{pattern:/(=)(?!["'])(?:[^\s\\]|\\.)+/,lookbehind:!0}],operator:/\\$/m,punctuation:/=/}},keyword:[{pattern:o(`(^(?:ONBUILD<SP>)?HEALTHCHECK<SP>(?:<OPT><SP>)*)(?:CMD|NONE)\\b`,`i`),lookbehind:!0,greedy:!0},{pattern:o(`(^(?:ONBUILD<SP>)?FROM<SP>(?:<OPT><SP>)*(?!--)[^ \\t\\\\]+<SP>)AS`,`i`),lookbehind:!0,greedy:!0},{pattern:o(`(^ONBUILD<SP>)\\w+`,`i`),lookbehind:!0,greedy:!0},{pattern:/^\w+/,greedy:!0}],comment:a,string:i,variable:/\$(?:\w+|\{[^{}"'\\]*\})/,operator:/\\$/m}},comment:a},e.languages.dockerfile=e.languages.docker})(e)}H8.displayName=`go`,H8.aliases=[];function H8(e){e.register(j8),e.languages.go=e.languages.extend(`clike`,{string:{pattern:/(^|[^\\])"(?:\\.|[^"\\\r\n])*"|`[^`]*`/,lookbehind:!0,greedy:!0},keyword:/\b(?:break|case|chan|const|continue|default|defer|else|fallthrough|for|func|go(?:to)?|if|import|interface|map|package|range|return|select|struct|switch|type|var)\b/,boolean:/\b(?:_|false|iota|nil|true)\b/,number:[/\b0(?:b[01_]+|o[0-7_]+)i?\b/i,/\b0x(?:[a-f\d_]+(?:\.[a-f\d_]*)?|\.[a-f\d_]+)(?:p[+-]?\d+(?:_\d+)*)?i?(?!\w)/i,/(?:\b\d[\d_]*(?:\.[\d_]*)?|\B\.\d[\d_]*)(?:e[+-]?[\d_]+)?i?(?!\w)/i],operator:/[*\/%^!=]=?|\+[=+]?|-[=-]?|\|[=|]?|&(?:=|&|\^=?)?|>(?:>=?|=)?|<(?:<=?|=|-)?|:=|\.\.\./,builtin:/\b(?:append|bool|byte|cap|close|complex|complex(?:64|128)|copy|delete|error|float(?:32|64)|u?int(?:8|16|32|64)?|imag|len|make|new|panic|print(?:ln)?|real|recover|rune|string|uintptr)\b/}),e.languages.insertBefore(`go`,`string`,{char:{pattern:/'(?:\\.|[^'\\\r\n]){0,10}'/,greedy:!0}}),delete e.languages.go[`class-name`]}U8.displayName=`scss`,U8.aliases=[];function U8(e){e.register(A8),e.languages.scss=e.languages.extend(`css`,{comment:{pattern:/(^|[^\\])(?:\/\*[\s\S]*?\*\/|\/\/.*)/,lookbehind:!0},atrule:{pattern:/@[\w-](?:\([^()]+\)|[^()\s]|\s+(?!\s))*?(?=\s+[{;])/,inside:{rule:/@[\w-]+/}},url:/(?:[-a-z]+-)?url(?=\()/i,selector:{pattern:/(?=\S)[^@;{}()]?(?:[^@;{}()\s]|\s+(?!\s)|#\{\$[-\w]+\})+(?=\s*\{(?:\}|\s|[^}][^:{}]*[:{][^}]))/,inside:{parent:{pattern:/&/,alias:`important`},placeholder:/%[-\w]+/,variable:/\$[-\w]+|#\{\$[-\w]+\}/}},property:{pattern:/(?:[-\w]|\$[-\w]|#\{\$[-\w]+\})+(?=\s*:)/,inside:{variable:/\$[-\w]+|#\{\$[-\w]+\}/}}}),e.languages.insertBefore(`scss`,`atrule`,{keyword:[/@(?:content|debug|each|else(?: if)?|extend|for|forward|function|if|import|include|mixin|return|use|warn|while)\b/i,{pattern:/( )(?:from|through)(?= )/,lookbehind:!0}]}),e.languages.insertBefore(`scss`,`important`,{variable:/\$[-\w]+|#\{\$[-\w]+\}/}),e.languages.insertBefore(`scss`,`function`,{"module-modifier":{pattern:/\b(?:as|hide|show|with)\b/i,alias:`keyword`},placeholder:{pattern:/%[-\w]+/,alias:`selector`},statement:{pattern:/\B!(?:default|optional)\b/i,alias:`keyword`},boolean:/\b(?:false|true)\b/,null:{pattern:/\bnull\b/,alias:`keyword`},operator:{pattern:/(\s)(?:[-+*\/%]|[=!]=|<=?|>=?|and|not|or)(?=\s)/,lookbehind:!0}}),e.languages.scss.atrule.inside.rest=e.languages.scss}W8.displayName=`json`,W8.aliases=[`webmanifest`];function W8(e){e.languages.json={property:{pattern:/(^|[^\\])"(?:\\.|[^\\"\r\n])*"(?=\s*:)/,lookbehind:!0,greedy:!0},string:{pattern:/(^|[^\\])"(?:\\.|[^\\"\r\n])*"(?!\s*:)/,lookbehind:!0,greedy:!0},comment:{pattern:/\/\/.*|\/\*[\s\S]*?(?:\*\/|$)/,greedy:!0},number:/-?\b\d+(?:\.\d+)?(?:e[+-]?\d+)?\b/i,punctuation:/[{}[\],]/,operator:/:/,boolean:/\b(?:false|true)\b/,null:{pattern:/\bnull\b/,alias:`keyword`}},e.languages.webmanifest=e.languages.json}G8.displayName=`java`,G8.aliases=[];function G8(e){e.register(j8),(function(e){var t=/\b(?:abstract|assert|boolean|break|byte|case|catch|char|class|const|continue|default|do|double|else|enum|exports|extends|final|finally|float|for|goto|if|implements|import|instanceof|int|interface|long|module|native|new|non-sealed|null|open|opens|package|permits|private|protected|provides|public|record(?!\s*[(){}[\]<>=%~.:,;?+\-*/&|^])|requires|return|sealed|short|static|strictfp|super|switch|synchronized|this|throw|throws|to|transient|transitive|try|uses|var|void|volatile|while|with|yield)\b/,n=`(?:[a-z]\\w*\\s*\\.\\s*)*(?:[A-Z]\\w*\\s*\\.\\s*)*`,r={pattern:RegExp(`(^|[^\\w.])`+n+`[A-Z](?:[\\d_A-Z]*[a-z]\\w*)?\\b`),lookbehind:!0,inside:{namespace:{pattern:/^[a-z]\w*(?:\s*\.\s*[a-z]\w*)*(?:\s*\.)?/,inside:{punctuation:/\./}},punctuation:/\./}};e.languages.java=e.languages.extend(`clike`,{string:{pattern:/(^|[^\\])"(?:\\.|[^"\\\r\n])*"/,lookbehind:!0,greedy:!0},"class-name":[r,{pattern:RegExp(`(^|[^\\w.])`+n+`[A-Z]\\w*(?=\\s+\\w+\\s*[;,=()]|\\s*(?:\\[[\\s,]*\\]\\s*)?::\\s*new\\b)`),lookbehind:!0,inside:r.inside},{pattern:RegExp(`(\\b(?:class|enum|extends|implements|instanceof|interface|new|record|throws)\\s+)`+n+`[A-Z]\\w*\\b`),lookbehind:!0,inside:r.inside}],keyword:t,function:[e.languages.clike.function,{pattern:/(::\s*)[a-z_]\w*/,lookbehind:!0}],number:/\b0b[01][01_]*L?\b|\b0x(?:\.[\da-f_p+-]+|[\da-f_]+(?:\.[\da-f_p+-]+)?)\b|(?:\b\d[\d_]*(?:\.[\d_]*)?|\B\.\d[\d_]*)(?:e[+-]?\d[\d_]*)?[dfl]?/i,operator:{pattern:/(^|[^.])(?:<<=?|>>>?=?|->|--|\+\+|&&|\|\||::|[?:~]|[-+*/%&|^!=<>]=?)/m,lookbehind:!0},constant:/\b[A-Z][A-Z_\d]+\b/}),e.languages.insertBefore(`java`,`string`,{"triple-quoted-string":{pattern:/"""[ \t]*[\r\n](?:(?:"|"")?(?:\\.|[^"\\]))*"""/,greedy:!0,alias:`string`},char:{pattern:/'(?:\\.|[^'\\\r\n]){1,6}'/,greedy:!0}}),e.languages.insertBefore(`java`,`class-name`,{annotation:{pattern:/(^|[^.])@\w+(?:\s*\.\s*\w+)*/,lookbehind:!0,alias:`punctuation`},generics:{pattern:/<(?:[\w\s,.?]|&(?!&)|<(?:[\w\s,.?]|&(?!&)|<(?:[\w\s,.?]|&(?!&)|<(?:[\w\s,.?]|&(?!&))*>)*>)*>)*>/,inside:{"class-name":r,keyword:t,punctuation:/[<>(),.:]/,operator:/[?&|]/}},import:[{pattern:RegExp(`(\\bimport\\s+)`+n+`(?:[A-Z]\\w*|\\*)(?=\\s*;)`),lookbehind:!0,inside:{namespace:r.inside.namespace,punctuation:/\./,operator:/\*/,"class-name":/\w+/}},{pattern:RegExp(`(\\bimport\\s+static\\s+)`+n+`(?:\\w+|\\*)(?=\\s*;)`),lookbehind:!0,alias:`static`,inside:{namespace:r.inside.namespace,static:/\b\w+$/,punctuation:/\./,operator:/\*/,"class-name":/\w+/}}],namespace:{pattern:RegExp(`(\\b(?:exports|import(?:\\s+static)?|module|open|opens|package|provides|requires|to|transitive|uses|with)\\s+)(?!<keyword>)[a-z]\\w*(?:\\.[a-z]\\w*)*\\.?`.replace(/<keyword>/g,function(){return t.source})),lookbehind:!0,inside:{punctuation:/\./}}})})(e)}K8.displayName=`typescript`,K8.aliases=[`ts`];function K8(e){e.register(M8),(function(e){e.languages.typescript=e.languages.extend(`javascript`,{"class-name":{pattern:/(\b(?:class|extends|implements|instanceof|interface|new|type)\s+)(?!keyof\b)(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?:\s*<(?:[^<>]|<(?:[^<>]|<[^<>]*>)*>)*>)?/,lookbehind:!0,greedy:!0,inside:null},builtin:/\b(?:Array|Function|Promise|any|boolean|console|never|number|string|symbol|unknown)\b/}),e.languages.typescript.keyword.push(/\b(?:abstract|declare|is|keyof|readonly|require)\b/,/\b(?:asserts|infer|interface|module|namespace|type)\b(?=\s*(?:[{_$a-zA-Z\xA0-\uFFFF]|$))/,/\btype\b(?=\s*(?:[\{*]|$))/),delete e.languages.typescript.parameter,delete e.languages.typescript[`literal-property`];var t=e.languages.extend(`typescript`,{});delete t[`class-name`],e.languages.typescript[`class-name`].inside=t,e.languages.insertBefore(`typescript`,`function`,{decorator:{pattern:/@[$\w\xA0-\uFFFF]+/,inside:{at:{pattern:/^@/,alias:`operator`},function:/^[\s\S]+/}},"generic-function":{pattern:/#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*\s*<(?:[^<>]|<(?:[^<>]|<[^<>]*>)*>)*>(?=\s*\()/,greedy:!0,inside:{function:/^#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*/,generic:{pattern:/<[\s\S]+/,alias:`class-name`,inside:t}}}}),e.languages.ts=e.languages.typescript})(e)}q8.displayName=`python`,q8.aliases=[`py`];function q8(e){e.languages.python={comment:{pattern:/(^|[^\\])#.*/,lookbehind:!0,greedy:!0},"string-interpolation":{pattern:/(?:f|fr|rf)(?:("""|''')[\s\S]*?\1|("|')(?:\\.|(?!\2)[^\\\r\n])*\2)/i,greedy:!0,inside:{interpolation:{pattern:/((?:^|[^{])(?:\{\{)*)\{(?!\{)(?:[^{}]|\{(?!\{)(?:[^{}]|\{(?!\{)(?:[^{}])+\})+\})+\}/,lookbehind:!0,inside:{"format-spec":{pattern:/(:)[^:(){}]+(?=\}$)/,lookbehind:!0},"conversion-option":{pattern://,alias:`punctuation`},rest:null}},string:/[\s\S]+/}},"triple-quoted-string":{pattern:/(?:[rub]|br|rb)?("""|''')[\s\S]*?\1/i,greedy:!0,alias:`string`},string:{pattern:/(?:[rub]|br|rb)?("|')(?:\\.|(?!\1)[^\\\r\n])*\1/i,greedy:!0},function:{pattern:/((?:^|\s)def[ \t]+)[a-zA-Z_]\w*(?=\s*\()/g,lookbehind:!0},"class-name":{pattern:/(\bclass\s+)\w+/i,lookbehind:!0},decorator:{pattern:/(^[\t ]*)@\w+(?:\.\w+)*/m,lookbehind:!0,alias:[`annotation`,`punctuation`],inside:{punctuation:/\./}},keyword:/\b(?:_(?=\s*:)|and|as|assert|async|await|break|case|class|continue|def|del|elif|else|except|exec|finally|for|from|global|if|import|in|is|lambda|match|nonlocal|not|or|pass|print|raise|return|try|while|with|yield)\b/,builtin:/\b(?:__import__|abs|all|any|apply|ascii|basestring|bin|bool|buffer|bytearray|bytes|callable|chr|classmethod|cmp|coerce|compile|complex|delattr|dict|dir|divmod|enumerate|eval|execfile|file|filter|float|format|frozenset|getattr|globals|hasattr|hash|help|hex|id|input|int|intern|isinstance|issubclass|iter|len|list|locals|long|map|max|memoryview|min|next|object|oct|open|ord|pow|property|range|raw_input|reduce|reload|repr|reversed|round|set|setattr|slice|sorted|staticmethod|str|sum|super|tuple|type|unichr|unicode|vars|xrange|zip)\b/,boolean:/\b(?:False|None|True)\b/,number:/\b0(?:b(?:_?[01])+|o(?:_?[0-7])+|x(?:_?[a-f0-9])+)\b|(?:\b\d+(?:_\d+)*(?:\.(?:\d+(?:_\d+)*)?)?|\B\.\d+(?:_\d+)*)(?:e[+-]?\d+(?:_\d+)*)?j?(?!\w)/i,operator:/[-+%=]=?|!=|:=|\*\*?=?|\/\/?=?|<[<=>]?|>[=>]?|[&|^~]/,punctuation:/[{}[\];(),.:]/},e.languages.python[`string-interpolation`].inside.interpolation.inside.rest=e.languages.python,e.languages.py=e.languages.python}J8.displayName=`jsx`,J8.aliases=[];function J8(e){e.register(M8),e.register(k8),(function(e){var t=e.util.clone(e.languages.javascript),n=`(?:\\s|\\/\\/.*(?!.)|\\/\\*(?:[^*]|\\*(?!\\/))\\*\\/)`,r=`(?:\\{(?:\\{(?:\\{[^{}]*\\}|[^{}])*\\}|[^{}])*\\})`,i=`(?:\\{<S>*\\.{3}(?:[^{}]|<BRACES>)*\\})`;function a(e,t){return e=e.replace(/<S>/g,function(){return n}).replace(/<BRACES>/g,function(){return r}).replace(/<SPREAD>/g,function(){return i}),RegExp(e,t)}i=a(i).source,e.languages.jsx=e.languages.extend(`markup`,t),e.languages.jsx.tag.pattern=a(`<\\/?(?:[\\w.:-]+(?:<S>+(?:[\\w.:$-]+(?:=(?:"(?:\\\\[\\s\\S]|[^\\\\"])*"|'(?:\\\\[\\s\\S]|[^\\\\'])*'|[^\\s{'"/>=]+|<BRACES>))?|<SPREAD>))*<S>*\\/?)?>`),e.languages.jsx.tag.inside.tag.pattern=/^<\/?[^\s>\/]*/,e.languages.jsx.tag.inside[`attr-value`].pattern=/=(?!\{)(?:"(?:\\[\s\S]|[^\\"])*"|'(?:\\[\s\S]|[^\\'])*'|[^\s'">]+)/,e.languages.jsx.tag.inside.tag.inside[`class-name`]=/^[A-Z]\w*(?:\.[A-Z]\w*)*$/,e.languages.jsx.tag.inside.comment=t.comment,e.languages.insertBefore(`inside`,`attr-name`,{spread:{pattern:a(`<SPREAD>`),inside:e.languages.jsx}},e.languages.jsx.tag),e.languages.insertBefore(`inside`,`special-attr`,{script:{pattern:a(`=<BRACES>`),alias:`language-javascript`,inside:{"script-punctuation":{pattern:/^=(?=\{)/,alias:`punctuation`},rest:e.languages.jsx}}},e.languages.jsx.tag);var o=function(e){return e?typeof e==`string`?e:typeof e.content==`string`?e.content:e.content.map(o).join(``):``},s=function(t){for(var n=[],r=0;r<t.length;r++){var i=t[r],a=!1;if(typeof i!=`string`&&(i.type===`tag`&&i.content[0]&&i.content[0].type===`tag`?i.content[0].content[0].content===`</`?n.length>0&&n[n.length-1].tagName===o(i.content[0].content[1])&&n.pop():i.content[i.content.length-1].content===`/>`||n.push({tagName:o(i.content[0].content[1]),openedBraces:0}):n.length>0&&i.type===`punctuation`&&i.content===`{`?n[n.length-1].openedBraces++:n.length>0&&n[n.length-1].openedBraces>0&&i.type===`punctuation`&&i.content===`}`?n[n.length-1].openedBraces--:a=!0),(a||typeof i==`string`)&&n.length>0&&n[n.length-1].openedBraces===0){var c=o(i);r<t.length-1&&(typeof t[r+1]==`string`||t[r+1].type===`plain-text`)&&(c+=o(t[r+1]),t.splice(r+1,1)),r>0&&(typeof t[r-1]==`string`||t[r-1].type===`plain-text`)&&(c=o(t[r-1])+c,t.splice(r-1,1),r--),t[r]=new e.Token(`plain-text`,c,null,c)}i.content&&typeof i.content!=`string`&&s(i.content)}};e.hooks.add(`after-tokenize`,function(e){(e.language===`jsx`||e.language===`tsx`)&&s(e.tokens)})})(e)}Y8.displayName=`tsx`,Y8.aliases=[];function Y8(e){e.register(J8),e.register(K8),(function(e){var t=e.util.clone(e.languages.typescript);e.languages.tsx=e.languages.extend(`jsx`,t),delete e.languages.tsx.parameter,delete e.languages.tsx[`literal-property`];var n=e.languages.tsx.tag;n.pattern=RegExp(`(^|[^\\w$]|(?=<\\/))(?:`+n.pattern.source+`)`,n.pattern.flags),n.lookbehind=!0})(e)}X8.displayName=`rust`,X8.aliases=[];function X8(e){(function(e){for(var t=`\\/\\*(?:[^*/]|\\*(?!\\/)|\\/(?!\\*)|<self>)*\\*\\/`,n=0;n<2;n++)t=t.replace(/<self>/g,function(){return t});t=t.replace(/<self>/g,function(){return`[^\\s\\S]`}),e.languages.rust={comment:[{pattern:RegExp(`(^|[^\\\\])`+t),lookbehind:!0,greedy:!0},{pattern:/(^|[^\\:])\/\/.*/,lookbehind:!0,greedy:!0}],string:{pattern:/b?"(?:\\[\s\S]|[^\\"])*"|b?r(#*)"(?:[^"]|"(?!\1))*"\1/,greedy:!0},char:{pattern:/b?'(?:\\(?:x[0-7][\da-fA-F]|u\{(?:[\da-fA-F]_*){1,6}\}|.)|[^\\\r\n\t'])'/,greedy:!0},attribute:{pattern:/#!?\[(?:[^\[\]"]|"(?:\\[\s\S]|[^\\"])*")*\]/,greedy:!0,alias:`attr-name`,inside:{string:null}},"closure-params":{pattern:/([=(,:]\s*|\bmove\s*)\|[^|]*\||\|[^|]*\|(?=\s*(?:\{|->))/,lookbehind:!0,greedy:!0,inside:{"closure-punctuation":{pattern:/^\||\|$/,alias:`punctuation`},rest:null}},"lifetime-annotation":{pattern:/'\w+/,alias:`symbol`},"fragment-specifier":{pattern:/(\$\w+:)[a-z]+/,lookbehind:!0,alias:`punctuation`},variable:/\$\w+/,"function-definition":{pattern:/(\bfn\s+)\w+/,lookbehind:!0,alias:`function`},"type-definition":{pattern:/(\b(?:enum|struct|trait|type|union)\s+)\w+/,lookbehind:!0,alias:`class-name`},"module-declaration":[{pattern:/(\b(?:crate|mod)\s+)[a-z][a-z_\d]*/,lookbehind:!0,alias:`namespace`},{pattern:/(\b(?:crate|self|super)\s*)::\s*[a-z][a-z_\d]*\b(?:\s*::(?:\s*[a-z][a-z_\d]*\s*::)*)?/,lookbehind:!0,alias:`namespace`,inside:{punctuation:/::/}}],keyword:[/\b(?:Self|abstract|as|async|await|become|box|break|const|continue|crate|do|dyn|else|enum|extern|final|fn|for|if|impl|in|let|loop|macro|match|mod|move|mut|override|priv|pub|ref|return|self|static|struct|super|trait|try|type|typeof|union|unsafe|unsized|use|virtual|where|while|yield)\b/,/\b(?:bool|char|f(?:32|64)|[ui](?:8|16|32|64|128|size)|str)\b/],function:/\b[a-z_]\w*(?=\s*(?:::\s*<|\())/,macro:{pattern:/\b\w+!/,alias:`property`},constant:/\b[A-Z_][A-Z_\d]+\b/,"class-name":/\b[A-Z]\w*\b/,namespace:{pattern:/(?:\b[a-z][a-z_\d]*\s*::\s*)*\b[a-z][a-z_\d]*\s*::(?!\s*<)/,inside:{punctuation:/::/}},number:/\b(?:0x[\dA-Fa-f](?:_?[\dA-Fa-f])*|0o[0-7](?:_?[0-7])*|0b[01](?:_?[01])*|(?:(?:\d(?:_?\d)*)?\.)?\d(?:_?\d)*(?:[Ee][+-]?\d+)?)(?:_?(?:f32|f64|[iu](?:8|16|32|64|size)?))?\b/,boolean:/\b(?:false|true)\b/,punctuation:/->|\.\.=|\.{1,3}|::|[{}[\];(),:]/,operator:/[-+*\/%!^]=?|=[=>]?|&[&=]?|\|[|=]?|<<?=?|>>?=?|[@?]/},e.languages.rust[`closure-params`].inside.rest=e.languages.rust,e.languages.rust.attribute.inside.string=e.languages.rust.string})(e)}var soe=I8,coe=P8,loe=F8,uoe=z8,doe=A8,foe=B8,poe=V8,moe=H8,hoe=G8,goe=M8,_oe=W8,voe=J8,yoe=R8,boe=k8,xoe=q8,Soe=X8,Coe=U8,woe=N8,Toe=Y8,Eoe=K8,Doe=L8,Z8={'code[class*="language-"]':{color:`#393A34`,fontFamily:`"Consolas", "Bitstream Vera Sans Mono", "Courier New", Courier, monospace`,direction:`ltr`,textAlign:`left`,whiteSpace:`pre`,wordSpacing:`normal`,wordBreak:`normal`,fontSize:`.9em`,lineHeight:`1.2em`,MozTabSize:`4`,OTabSize:`4`,tabSize:`4`,WebkitHyphens:`none`,MozHyphens:`none`,msHyphens:`none`,hyphens:`none`},'pre[class*="language-"]':{color:`#393A34`,fontFamily:`"Consolas", "Bitstream Vera Sans Mono", "Courier New", Courier, monospace`,direction:`ltr`,textAlign:`left`,whiteSpace:`pre`,wordSpacing:`normal`,wordBreak:`normal`,fontSize:`.9em`,lineHeight:`1.2em`,MozTabSize:`4`,OTabSize:`4`,tabSize:`4`,WebkitHyphens:`none`,MozHyphens:`none`,msHyphens:`none`,hyphens:`none`,padding:`1em`,margin:`.5em 0`,overflow:`auto`,border:`1px solid #dddddd`,backgroundColor:`white`},'pre > code[class*="language-"]':{fontSize:`1em`},'pre[class*="language-"]::-moz-selection':{background:`#C1DEF1`},'pre[class*="language-"] ::-moz-selection':{background:`#C1DEF1`},'code[class*="language-"]::-moz-selection':{background:`#C1DEF1`},'code[class*="language-"] ::-moz-selection':{background:`#C1DEF1`},'pre[class*="language-"]::selection':{background:`#C1DEF1`},'pre[class*="language-"] ::selection':{background:`#C1DEF1`},'code[class*="language-"]::selection':{background:`#C1DEF1`},'code[class*="language-"] ::selection':{background:`#C1DEF1`},':not(pre) > code[class*="language-"]':{padding:`.2em`,paddingTop:`1px`,paddingBottom:`1px`,background:`#f8f8f8`,border:`1px solid #dddddd`},comment:{color:`#008000`,fontStyle:`italic`},prolog:{color:`#008000`,fontStyle:`italic`},doctype:{color:`#008000`,fontStyle:`italic`},cdata:{color:`#008000`,fontStyle:`italic`},namespace:{Opacity:`.7`},string:{color:`#A31515`},punctuation:{color:`#393A34`},operator:{color:`#393A34`},url:{color:`#36acaa`},symbol:{color:`#36acaa`},number:{color:`#36acaa`},boolean:{color:`#36acaa`},variable:{color:`#36acaa`},constant:{color:`#36acaa`},inserted:{color:`#36acaa`},atrule:{color:`#0000ff`},keyword:{color:`#0000ff`},"attr-value":{color:`#0000ff`},".language-autohotkey .token.selector":{color:`#0000ff`},".language-json .token.boolean":{color:`#0000ff`},".language-json .token.number":{color:`#0000ff`},'code[class*="language-css"]':{color:`#0000ff`},function:{color:`#393A34`},deleted:{color:`#9a050f`},".language-autohotkey .token.tag":{color:`#9a050f`},selector:{color:`#800000`},".language-autohotkey .token.keyword":{color:`#00009f`},important:{color:`#e90`,fontWeight:`bold`},bold:{fontWeight:`bold`},italic:{fontStyle:`italic`},"class-name":{color:`#2B91AF`},".language-json .token.property":{color:`#2B91AF`},tag:{color:`#800000`},"attr-name":{color:`#ff0000`},property:{color:`#ff0000`},regex:{color:`#ff0000`},entity:{color:`#ff0000`},"directive.tag.tag":{background:`#ffff00`,color:`#393A34`},".line-numbers.line-numbers .line-numbers-rows":{borderRightColor:`#a5a5a5`},".line-numbers .line-numbers-rows > span:before":{color:`#2B91AF`},".line-highlight.line-highlight":{background:`linear-gradient(to right, rgba(193, 222, 241, 0.2) 70%, rgba(221, 222, 241, 0))`}},Q8={'pre[class*="language-"]':{color:`#d4d4d4`,fontSize:`13px`,textShadow:`none`,fontFamily:`Menlo, Monaco, Consolas, "Andale Mono", "Ubuntu Mono", "Courier New", monospace`,direction:`ltr`,textAlign:`left`,whiteSpace:`pre`,wordSpacing:`normal`,wordBreak:`normal`,lineHeight:`1.5`,MozTabSize:`4`,OTabSize:`4`,tabSize:`4`,WebkitHyphens:`none`,MozHyphens:`none`,msHyphens:`none`,hyphens:`none`,padding:`1em`,margin:`.5em 0`,overflow:`auto`,background:`#1e1e1e`},'code[class*="language-"]':{color:`#d4d4d4`,fontSize:`13px`,textShadow:`none`,fontFamily:`Menlo, Monaco, Consolas, "Andale Mono", "Ubuntu Mono", "Courier New", monospace`,direction:`ltr`,textAlign:`left`,whiteSpace:`pre`,wordSpacing:`normal`,wordBreak:`normal`,lineHeight:`1.5`,MozTabSize:`4`,OTabSize:`4`,tabSize:`4`,WebkitHyphens:`none`,MozHyphens:`none`,msHyphens:`none`,hyphens:`none`},'pre[class*="language-"]::selection':{textShadow:`none`,background:`#264F78`},'code[class*="language-"]::selection':{textShadow:`none`,background:`#264F78`},'pre[class*="language-"] *::selection':{textShadow:`none`,background:`#264F78`},'code[class*="language-"] *::selection':{textShadow:`none`,background:`#264F78`},':not(pre) > code[class*="language-"]':{padding:`.1em .3em`,borderRadius:`.3em`,color:`#db4c69`,background:`#1e1e1e`},".namespace":{Opacity:`.7`},"doctype.doctype-tag":{color:`#569CD6`},"doctype.name":{color:`#9cdcfe`},comment:{color:`#6a9955`},prolog:{color:`#6a9955`},punctuation:{color:`#d4d4d4`},".language-html .language-css .token.punctuation":{color:`#d4d4d4`},".language-html .language-javascript .token.punctuation":{color:`#d4d4d4`},property:{color:`#9cdcfe`},tag:{color:`#569cd6`},boolean:{color:`#569cd6`},number:{color:`#b5cea8`},constant:{color:`#9cdcfe`},symbol:{color:`#b5cea8`},inserted:{color:`#b5cea8`},unit:{color:`#b5cea8`},selector:{color:`#d7ba7d`},"attr-name":{color:`#9cdcfe`},string:{color:`#ce9178`},char:{color:`#ce9178`},builtin:{color:`#ce9178`},deleted:{color:`#ce9178`},".language-css .token.string.url":{textDecoration:`underline`},operator:{color:`#d4d4d4`},entity:{color:`#569cd6`},"operator.arrow":{color:`#569CD6`},atrule:{color:`#ce9178`},"atrule.rule":{color:`#c586c0`},"atrule.url":{color:`#9cdcfe`},"atrule.url.function":{color:`#dcdcaa`},"atrule.url.punctuation":{color:`#d4d4d4`},keyword:{color:`#569CD6`},"keyword.module":{color:`#c586c0`},"keyword.control-flow":{color:`#c586c0`},function:{color:`#dcdcaa`},"function.maybe-class-name":{color:`#dcdcaa`},regex:{color:`#d16969`},important:{color:`#569cd6`},italic:{fontStyle:`italic`},"class-name":{color:`#4ec9b0`},"maybe-class-name":{color:`#4ec9b0`},console:{color:`#9cdcfe`},parameter:{color:`#9cdcfe`},interpolation:{color:`#9cdcfe`},"punctuation.interpolation-punctuation":{color:`#569cd6`},variable:{color:`#9cdcfe`},"imports.maybe-class-name":{color:`#9cdcfe`},"exports.maybe-class-name":{color:`#9cdcfe`},escape:{color:`#d7ba7d`},"tag.punctuation":{color:`#808080`},cdata:{color:`#808080`},"attr-value":{color:`#ce9178`},"attr-value.punctuation":{color:`#ce9178`},"attr-value.punctuation.attr-equals":{color:`#d4d4d4`},namespace:{color:`#4ec9b0`},'pre[class*="language-javascript"]':{color:`#9cdcfe`},'code[class*="language-javascript"]':{color:`#9cdcfe`},'pre[class*="language-jsx"]':{color:`#9cdcfe`},'code[class*="language-jsx"]':{color:`#9cdcfe`},'pre[class*="language-typescript"]':{color:`#9cdcfe`},'code[class*="language-typescript"]':{color:`#9cdcfe`},'pre[class*="language-tsx"]':{color:`#9cdcfe`},'code[class*="language-tsx"]':{color:`#9cdcfe`},'pre[class*="language-css"]':{color:`#ce9178`},'code[class*="language-css"]':{color:`#ce9178`},'pre[class*="language-html"]':{color:`#d4d4d4`},'code[class*="language-html"]':{color:`#d4d4d4`},".language-regex .token.anchor":{color:`#dcdcaa`},".language-html .token.punctuation":{color:`#808080`},'pre[class*="language-"] > code[class*="language-"]':{position:`relative`,zIndex:`1`},".line-highlight.line-highlight":{background:`#f7ebc6`,boxShadow:`inset 5px 0 0 #f7d87c`,zIndex:`0`}},Ooe={bash:soe,c:coe,cpp:loe,csharp:uoe,css:doe,diff:foe,docker:poe,go:moe,java:hoe,javascript:goe,json:_oe,jsx:voe,markdown:yoe,markup:boe,python:xoe,rust:Soe,scss:Coe,sql:woe,tsx:Toe,typescript:Eoe,yaml:Doe};for(let[e,t]of Object.entries(Ooe))O8.registerLanguage(e,t);var koe=5e3,Aoe=800;function $8({code:e,lang:t,headerAction:n,isStreaming:r}){let{isDark:i}=PW(),{t:a}=M(),[o,s]=(0,d.useState)(!1),c=()=>{Z6(e).then(()=>{s(!0),setTimeout(()=>s(!1),1500)})},l=e.length>koe||r===!0&&e.length>Aoe;return(0,T.jsxs)(`div`,{className:`markdown-code-block`,children:[(0,T.jsxs)(`div`,{className:`markdown-code-header`,children:[(0,T.jsx)(`span`,{className:`markdown-code-lang`,children:t||`text`}),(0,T.jsxs)(`div`,{className:`markdown-code-actions`,children:[n,(0,T.jsx)(`button`,{onClick:c,className:`markdown-code-action`,children:a(o?`i18n.copied`:`i18n.copy`)})]})]}),l?(0,T.jsx)(`pre`,{className:`markdown-code-plain`,style:{margin:0,padding:`11px 13px`,fontSize:`var(--text-md)`,lineHeight:1.62,borderRadius:0,background:`color-mix(in srgb, var(--bg) 92%, var(--bg-panel))`,overflow:`auto`},children:(0,T.jsx)(`code`,{style:{fontFamily:`var(--font-mono)`},children:e})}):(0,T.jsx)(O8,{language:t||`text`,style:i?Q8:Z8,showLineNumbers:!0,lineNumberStyle:{color:`var(--text-dim)`,fontStyle:`normal`},customStyle:{margin:0,padding:`11px 13px`,fontSize:`var(--text-md)`,lineHeight:1.62,borderRadius:0,background:`color-mix(in srgb, var(--bg) 92%, var(--bg-panel))`},codeTagProps:{style:{fontFamily:`var(--font-mono)`}},children:e})]})}var e5=.25,t5=.5;function joe({svg:e,onClose:t}){let{t:n}=M(),r=(0,d.useRef)(null),[i,a]=(0,d.useState)(1);return(0,d.useEffect)(()=>{let e=r.current;if(!e)return;let t=document.body.style.overflow;return document.body.style.overflow=`hidden`,e.showModal(),()=>{document.body.style.overflow=t,e.open&&e.close()}},[]),(0,T.jsx)(`dialog`,{ref:r,className:`mermaid-zoom-dialog`,"aria-label":n(`i18n.mermaidViewer`),onCancel:e=>{e.preventDefault(),t()},onKeyDown:e=>{e.key===`Escape`&&(e.preventDefault(),t())},children:(0,T.jsxs)(`div`,{className:`mermaid-zoom-layout`,children:[(0,T.jsxs)(`div`,{className:`mermaid-zoom-toolbar`,children:[(0,T.jsx)(`span`,{className:`mermaid-zoom-title`,children:n(`i18n.mermaidDiagram`)}),(0,T.jsxs)(`div`,{className:`mermaid-zoom-actions`,children:[(0,T.jsxs)(`div`,{className:`mermaid-zoom-stepper`,children:[(0,T.jsx)(`button`,{type:`button`,onClick:()=>a(e=>Math.max(t5,e-e5)),disabled:i<=t5,title:n(`i18n.zoomOut`),"aria-label":n(`i18n.zoomOut`),children:(0,T.jsx)(`svg`,{width:I.lg,height:I.lg,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,"aria-hidden":`true`,children:(0,T.jsx)(`path`,{d:`M5 12h14`})})}),(0,T.jsxs)(`span`,{className:`mermaid-zoom-value`,children:[Math.round(i*100),`%`]}),(0,T.jsx)(`button`,{type:`button`,onClick:()=>a(e=>Math.min(3,e+e5)),disabled:i>=3,title:n(`i18n.zoomIn`),"aria-label":n(`i18n.zoomIn`),children:(0,T.jsx)(`svg`,{width:I.lg,height:I.lg,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,"aria-hidden":`true`,children:(0,T.jsx)(`path`,{d:`M12 5v14M5 12h14`})})})]}),(0,T.jsx)(`button`,{type:`button`,className:`mermaid-zoom-icon-button`,onClick:()=>a(1),title:n(`i18n.fitToWidth`),"aria-label":n(`i18n.fitToWidth`),children:(0,T.jsx)(`svg`,{width:I.lg,height:I.lg,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`,"aria-hidden":`true`,children:(0,T.jsx)(`path`,{d:`M8 3H3v5M16 3h5v5M8 21H3v-5M16 21h5v-5`})})}),(0,T.jsx)(`button`,{type:`button`,className:`mermaid-zoom-icon-button`,onClick:t,title:n(`i18n.close`),"aria-label":n(`i18n.close`),children:(0,T.jsx)(`svg`,{width:I.lg,height:I.lg,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,"aria-hidden":`true`,children:(0,T.jsx)(`path`,{d:`M6 6l12 12M18 6 6 18`})})})]})]}),(0,T.jsx)(`div`,{className:`mermaid-zoom-viewport`,onClick:e=>{e.target===e.currentTarget&&t()},children:(0,T.jsx)(`div`,{className:`mermaid-zoom-canvas`,style:{width:`${i*100}%`},dangerouslySetInnerHTML:{__html:e}})})]})})}function Moe({renderState:e,currentKey:t,t:n,zoomOpen:r,setZoomOpen:i}){return e?.key===t&&e.status===`error`?(0,T.jsx)(`div`,{className:`mermaid-block mermaid-block-error`,children:n(`i18n.invalidMermaid`)}):e?.key!==t||e.status!==`ready`?(0,T.jsx)(`div`,{className:`mermaid-block mermaid-block-loading`,"aria-label":n(`i18n.renderingMermaid`)}):(0,T.jsxs)(T.Fragment,{children:[!r&&(0,T.jsx)(`button`,{type:`button`,className:`mermaid-block mermaid-preview-button`,title:n(`i18n.openMermaidViewer`),"aria-label":n(`i18n.openMermaidViewer`),onClick:()=>i(!0),dangerouslySetInnerHTML:{__html:e.svg}}),r&&(0,T.jsx)(joe,{svg:e.svg,onClose:()=>i(!1)})]})}function n5({code:e,isStreaming:t,defaultPreview:n=!1}){let{isDark:r}=PW(),{t:i}=M(),[a,o]=(0,d.useState)(n),[s,c]=(0,d.useState)(null),[l,u]=(0,d.useState)(!1),f=`${r?`dark`:`light`}\n${e}`,p=a&&!t;(0,d.useEffect)(()=>{if(!p)return;let t=!1;return c({key:f,status:`loading`}),(async()=>{let{default:n}=await a4(async()=>{let{default:e}=await import(`./mermaid.core-DhiobuMJ.js`);return{default:e}},__vite__mapDeps([2,3,4,5,1,6,7,8,9,10,11,12,13,14,15,16,17,18,19]));if(n.initialize({startOnLoad:!1,securityLevel:`strict`,suppressErrorRendering:!0,theme:r?`dark`:`default`}),!await n.parse(e,{suppressErrors:!0}))throw Error(`Invalid Mermaid diagram`);let i=typeof crypto<`u`&&`randomUUID`in crypto?`mermaid-${crypto.randomUUID()}`:`mermaid-${Date.now()}-${Math.random().toString(36).slice(2)}`,a=await n.render(i,e);t||c({key:f,status:`ready`,svg:a.svg})})().catch(()=>{t||c({key:f,status:`error`})}),()=>{t=!0}},[e,f,r,p]);let m=(0,T.jsx)(`button`,{type:`button`,onClick:()=>o(e=>!e),disabled:t,title:i(t?`i18n.previewAfterStreaming`:p?`i18n.showMermaidSource`:`i18n.previewMermaid`),className:[`markdown-code-action`,p?`is-active`:``].filter(Boolean).join(` `),children:i(p?`i18n.source`:`i18n.preview`)});return p?(0,T.jsxs)(`div`,{className:`markdown-code-block`,children:[(0,T.jsxs)(`div`,{className:`markdown-code-header`,children:[(0,T.jsx)(`span`,{className:`markdown-code-lang`,children:`mermaid`}),m]}),(0,T.jsx)(Moe,{renderState:s,currentKey:f,t:i,zoomOpen:l,setZoomOpen:u})]}):(0,T.jsx)($8,{code:e,lang:`mermaid`,headerAction:m})}function r5({preview:e,footer:t,children:n,anchor:r}){let i=(0,d.useRef)(null),a=(0,d.useRef)(null),[o,s]=(0,d.useState)({top:0,left:0}),[c,l]=(0,d.useState)(void 0),[u,f]=(0,d.useState)(!1),p=(0,d.useRef)(void 0),m=(0,d.useRef)(r);(0,d.useEffect)(()=>{m.current=r});let h=(0,d.useRef)(void 0),g=(0,d.useCallback)(()=>{window.clearTimeout(h.current)},[]),_=(0,d.useCallback)(()=>{g(),h.current=window.setTimeout(()=>f(!1),Poe)},[g]),v=(0,d.useCallback)(()=>{o5||(g(),window.clearTimeout(p.current),p.current=window.setTimeout(()=>f(!0),120))},[g]),y=(0,d.useCallback)(()=>{window.clearTimeout(p.current),_()},[_]);(0,d.useEffect)(()=>()=>{window.clearTimeout(p.current),window.clearTimeout(h.current)},[]),(0,d.useLayoutEffect)(()=>{if(!u)return;let e=a.current;if(!e)return;try{e.showPopover()}catch{}let t=i.current;if(!t)return;let n=()=>{let n=(m.current?.()??null??t).getBoundingClientRect();if(!n)return;let r=e.offsetWidth,i=e.offsetHeight,a=window.innerWidth,o=window.innerHeight,c=Math.max(a5,Math.min(n.left+Noe,a-r-a5)),u=o-a5-n.bottom,d=n.top-a5,f=u>=d,p=Math.max(96,Math.floor(f?u:d)-i5);l(e=>e===p?e:p);let h=Math.min(i,p),g=f?n.bottom+i5:n.top-i5-h;s({top:g,left:c})};n();let r=window.requestAnimationFrame(n),o=new ResizeObserver(n);return o.observe(e),()=>{window.cancelAnimationFrame(r);try{e.hidePopover()}catch{}o.disconnect()}},[u]);let b=u&&typeof document<`u`?(0,mo.createPortal)((0,T.jsxs)(`div`,{ref:a,popover:`manual`,onPointerEnter:g,onPointerLeave:_,role:`tooltip`,className:`hover-preview-panel`,style:{position:`fixed`,top:o.top,left:o.left,width:`min(48rem, calc(100vw - 16px))`,maxHeight:c,display:`flex`,flexDirection:`column`,overflow:`hidden`,background:`var(--bg)`,color:`var(--text)`,border:`1px solid var(--border)`,borderRadius:`var(--radius-md, 6px)`,padding:`2px 14px 6px`,fontSize:`var(--text-base)`,lineHeight:1.5,boxShadow:`0 4px 16px -2px var(--shadow-strong)`,pointerEvents:`none`},children:[(0,T.jsx)(`div`,{className:`hover-preview-scroll`,style:{minHeight:0,flex:`0 1 auto`,overflowY:`auto`,pointerEvents:`auto`},children:e}),t?(0,T.jsxs)(T.Fragment,{children:[(0,T.jsx)(`div`,{"aria-hidden":!0,style:{height:1,marginTop:4,flexShrink:0,background:`linear-gradient(90deg, transparent 0, var(--border) 24px, var(--border) calc(100% - 24px), transparent 100%)`}}),(0,T.jsx)(`div`,{style:{padding:`4px 0 2px`,display:`flex`,justifyContent:`flex-end`,flexShrink:0,pointerEvents:`auto`},children:t})]}):null]}),document.body):null;return(0,T.jsxs)(`span`,{ref:i,onPointerEnter:v,onPointerLeave:y,style:{display:`block`,minWidth:0},children:[n,b]})}var i5=6,a5=8,Noe=32,Poe=300,o5=!1;function Foe(){o5=!0,document.addEventListener(`pointermove`,()=>{o5=!1},{capture:!0,once:!0})}function s5({children:e,className:t,isStreaming:n,cwd:r,onOpenFile:i,noClamp:a}){let{t:o}=M(),[s,c]=(0,d.useState)(!1),l=(0,d.useRef)(null),u=!s&&e.length>1e5,f=!a&&e.length>2400&&!n,p=f&&!s,m=p&&!u,h=(0,d.useMemo)(()=>u?yae(e):e,[u,e]),g=(0,d.useMemo)(()=>$B(h),[h]),_=(0,d.useMemo)(()=>n?`${g.replace(/\n+$/,``)}`:g,[n,g]),v=(0,d.useMemo)(()=>n?[...sV??[],dV]:sV,[n]),y=(0,d.useMemo)(()=>({code({className:e,children:t,...r}){let i=e?.replace(`language-`,``).toLowerCase()??``,a=String(t);return e?.includes(`language-`)||a.includes(`
|
|
488
|
-
`)?i===`mermaid`?(0,T.jsx)(n5,{code:a.replace(/\n$/,``),isStreaming:n}):(0,T.jsx)($8,{code:a.replace(/\n$/,``),lang:i,isStreaming:n}):(0,T.jsx)(`code`,{className:`markdown-inline-code`,...r,children:t})},pre({children:e}){return(0,T.jsx)(T.Fragment,{children:e})},a({href:e,children:t,...n}){delete n.node;let a=i?xV(e,r):null,o=i;if(!a||!o)return(0,T.jsx)(`a`,{href:e,...n,target:`_blank`,rel:`noopener noreferrer`,children:t});let s=e=>{if(e.defaultPrevented||e.button!==0||e.metaKey||e.ctrlKey||e.shiftKey||e.altKey)return;let t=e.currentTarget.getAttribute(`target`);t&&t!==`_self`||(e.preventDefault(),o(a))};return(0,T.jsx)(`a`,{href:e,...n,onClick:s,children:t})},img({src:e,alt:t,...n}){delete n.node;let i=typeof e==`string`?xV(e,r):null,a=i?`/api/files/${tx(i)}?type=read`:e;return(0,T.jsx)(`img`,{src:a,alt:t??``,loading:`lazy`,...n})},table({children:e}){return(0,T.jsx)(`div`,{className:`markdown-table-wrap`,children:(0,T.jsx)(`table`,{children:e})})},blockquote({children:e}){return(0,T.jsx)(`blockquote`,{children:e})}}),[r,n,i]),b=(0,T.jsxs)(`div`,{className:[`markdown-body`,`text-clamp-block`,p?`is-collapsed`:void 0,t].filter(Boolean).join(` `),style:{whiteSpace:`pre-wrap`},children:[(0,T.jsx)(`div`,{className:`text-clamp-content`,children:(0,T.jsx)(Y6,{remarkPlugins:aV??void 0,rehypePlugins:v??void 0,components:y,children:_})}),(u||f)&&(0,T.jsxs)(`button`,{type:`button`,ref:l,"aria-label":o(s&&!u?`chat.collapseMessage`:`chat.expandMessage`),title:o(s&&!u?`chat.collapseMessage`:`chat.expandMessage`),onClick:()=>c(e=>!e||u),className:`text-clamp-toggle`,children:[s&&!u?(0,T.jsx)(`svg`,{width:I.base,height:I.base,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2.5`,strokeLinecap:`round`,strokeLinejoin:`round`,"aria-hidden":`true`,children:(0,T.jsx)(`path`,{d:`m18 15-6-6-6 6`})}):(0,T.jsx)(`svg`,{width:I.base,height:I.base,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2.5`,strokeLinecap:`round`,strokeLinejoin:`round`,"aria-hidden":`true`,children:(0,T.jsx)(`path`,{d:`m6 9 6 6 6-6`})}),o(s&&!u?`chat.collapseMessage`:`chat.expandMessage`)]})]});return m?(0,T.jsx)(r5,{anchor:()=>l.current,preview:(0,T.jsx)(`div`,{className:`preview-body`,style:{flex:`0 1 auto`,minHeight:0,overflow:`hidden`,display:`flex`,flexDirection:`column`},children:(0,T.jsx)(`div`,{style:{overflowY:`auto`,flex:1,minHeight:0,width:`100%`},children:(0,T.jsx)(s5,{noClamp:!0,cwd:r,onOpenFile:i,children:e})})}),children:b}):b}function Ioe(e,t,n){let r=[],i=(e,n)=>{r.push(`${e}: ${n.toLocaleString(t)}`)};i(n(`session.input`),e.input),i(n(`session.output`),e.output),i(n(`session.cacheRead`),e.cacheRead),i(n(`session.cacheWrite`),e.cacheWrite),e.cost?.total>0&&r.push(`${n(`session.cost`)}: $${e.cost.total.toFixed(4)}`);let a=YZ(e);return r.push(`${n(`session.cacheHitRate`)}: ${a===null?`--`:`${a.toFixed(1)}%`}`),r.join(` · `)}function c5({usage:e}){let{t,locale:n}=M();return(0,T.jsx)(F,{label:Ioe(e,n,t),children:(0,T.jsxs)(`div`,{"data-testid":`message-usage-stats`,style:{display:`flex`,alignItems:`center`,gap:10,fontSize:`var(--text-sm)`,color:`var(--text-dim)`,fontVariantNumeric:`tabular-nums`},children:[tQ.map(n=>{let r=e[n.key];return(0,T.jsx)(eQ,{color:n.color,svg:n.svg,value:QZ(r),badge:n.key===`cacheRead`?XZ(YZ(e),t,!1):void 0},n.key)}),e.cost?.total>0&&(0,T.jsx)(`span`,{style:ZZ,children:$Z(e.cost.total)})]})})}function l5({textContent:e}){let{t}=M(),[n,r]=(0,d.useState)(!1);return(0,T.jsxs)(`button`,{onClick:()=>{Z6(e).then(()=>{r(!0),setTimeout(()=>r(!1),1500)})},title:t(`i18n.copyMessage`),"aria-label":t(`i18n.copyMessage`),style:{display:`inline-flex`,alignItems:`center`,gap:4,padding:`2px 8px`,height:22,flexShrink:0,border:`none`,borderRadius:5,color:n?`var(--accent)`:`var(--text-dim)`,cursor:`pointer`,fontSize:`var(--text-sm)`,fontWeight:400,whiteSpace:`nowrap`,transition:`color 0.12s`},children:[n?(0,T.jsx)(`svg`,{width:I.sm,height:I.sm,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`1.8`,strokeLinecap:`round`,strokeLinejoin:`round`,children:(0,T.jsx)(`polyline`,{points:`20 6 9 17 4 12`})}):(0,T.jsxs)(`svg`,{width:I.sm,height:I.sm,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`1.8`,strokeLinecap:`round`,strokeLinejoin:`round`,children:[(0,T.jsx)(`rect`,{x:`9`,y:`9`,width:I.lg,height:I.lg,rx:`2`,ry:`2`}),(0,T.jsx)(`path`,{d:`M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1`})]}),t(n?`i18n.copied`:`i18n.copy`)]})}function Loe({usage:e,isStreaming:t,timestamp:n,showUsage:r=!0}){return(0,T.jsx)(T.Fragment,{children:(0,T.jsxs)(`div`,{style:{display:`flex`,alignItems:`center`,gap:8,marginTop:2},children:[e&&r&&!t&&(0,T.jsx)(c5,{usage:e}),n&&!t&&(0,T.jsx)(F,{label:new Date(n).toLocaleString([],{year:`numeric`,month:`2-digit`,day:`2-digit`,hour:`2-digit`,minute:`2-digit`,second:`2-digit`}),children:(0,T.jsx)(`span`,{style:{display:`inline-flex`,alignItems:`center`,gap:4,fontSize:`var(--text-xs)`,color:`var(--text-dim)`,marginLeft:`auto`,fontVariantNumeric:`tabular-nums`},children:(0,T.jsx)(Sr,{size:I.sm})})})]})})}function Roe(e,t){return t.runningToolIds?.has(e.toolCallId)===!0&&!t.toolResults?.get(`${t.entryId}:${e.toolCallId}`)}function zoe(e,t){let n=new Set;for(let r of e){let e=r.block;e.type===`toolCall`&&Roe(e,t)&&n.add(r.originalIndex)}return n}function Boe({answerPreview:e}){let[t,n]=(0,d.useState)(!1),[r,i]=(0,d.useState)(!1),a=(0,d.useRef)(null),o=(0,d.useRef)(null),s=(0,d.useCallback)(e=>{let t=a.current;if(!t)return;let n=Math.max(0,t.scrollHeight-t.clientHeight),r=o.current??t.scrollTop,i=Math.max(0,Math.min(n,r+e*200));o.current=i,t.scrollTo({top:i,behavior:`auto`})},[]);return(0,d.useEffect)(()=>{let e=a.current;if(!e)return;let t=()=>{let t=e.scrollTop>1,r=e.scrollTop+e.clientHeight<e.scrollHeight-1;n(t),i(r)},r=()=>t();return e.addEventListener(`scroll`,r,{passive:!0}),t(),()=>e.removeEventListener(`scroll`,r)},[]),(0,T.jsxs)(`div`,{style:{position:`relative`,borderBottom:`1px solid var(--border)`},children:[(0,T.jsx)(`div`,{"data-turn-preview-zone":!0,ref:a,style:{maxHeight:400,overflowY:`auto`,padding:`5px 10px 3px`,background:`var(--bg)`},children:(0,T.jsx)(s5,{noClamp:!0,children:e})}),t&&(0,T.jsx)(YH,{direction:`up`,visible:!0,testId:`turn-preview-scroll-up-arrow`,onHover:()=>s(-1)}),r&&(0,T.jsx)(YH,{direction:`down`,visible:!0,testId:`turn-preview-scroll-down-arrow`,onHover:()=>s(1)})]})}function u5({models:e,messageCount:t,toolCallCount:n,artifacts:r,cwd:i,onOpenFile:a,t:o,timestamp:s,durationSecs:c,expanded:l=!0,answerPreview:u,stopped:f,expandMode:p=`inline`,headerMode:m=!1,streaming:h=!1,onPreviewHover:g,estTokens:_,tps:v=null}){let[y,b]=(0,d.useState)(!1),x=e=>!i||/^([a-zA-Z]:[\\/]|\\\\|\/)/.test(e)?e:ax(i,ex(e)),S=r??[],C=e=>(0,T.jsx)(`div`,{style:{padding:`6px 10px 8px`,background:`var(--bg)`,borderRadius:e?`0 0 7px 7px`:7,...e?{}:{maxWidth:420}},children:S.map(t=>{let n=(0,T.jsx)(`span`,{className:e&&i&&a?`file-link`:void 0,style:{fontFamily:`var(--font-mono)`,color:e&&i&&a?void 0:`var(--text)`,overflow:`hidden`,textOverflow:`ellipsis`,whiteSpace:`nowrap`},children:t.path});return(0,T.jsxs)(`div`,{style:{display:`flex`,alignItems:`center`,gap:8,padding:`3px 0`,fontSize:`var(--text-sm)`,minWidth:0},children:[e&&i&&a?(0,T.jsx)(`button`,{type:`button`,onClick:()=>a(x(t.path)),title:o(`chat.turnArtifacts.openFile`),style:{display:`flex`,minWidth:0,flexShrink:1,background:`none`,border:`none`,padding:0,cursor:`pointer`,font:`inherit`},children:n}):(0,T.jsx)(`span`,{style:{display:`flex`,minWidth:0},children:n}),t.stats&&(t.stats.additions>0||t.stats.deletions>0)&&(0,T.jsxs)(`span`,{style:{flexShrink:0,fontFamily:`var(--font-mono)`,fontSize:`var(--text-xs)`,color:`var(--status-success)`},children:[`+`,t.stats.additions]}),t.stats&&t.stats.deletions>0&&(0,T.jsxs)(`span`,{style:{flexShrink:0,fontFamily:`var(--font-mono)`,fontSize:`var(--text-xs)`,color:`var(--status-error)`},children:[`−`,t.stats.deletions]}),(0,T.jsx)(`span`,{style:{flexShrink:0,marginLeft:`auto`,fontFamily:`var(--font-mono)`,fontSize:`var(--text-xs)`,color:`var(--text-dim)`,border:`1px solid var(--border)`,borderRadius:999,padding:`0 7px`},children:t.toolName})]},t.path)})}),w={display:`flex`,alignItems:`center`,gap:4,flexShrink:0,fontVariantNumeric:`tabular-nums`,color:`var(--text-muted)`};return(0,T.jsxs)(`div`,{"data-testid":h?`turn-footer-streaming`:`pd-group-header`,"data-turn-expanded":h?void 0:l?`true`:`false`,style:{border:`1px solid var(--border)`,borderRadius:8,background:`var(--bg-panel)`,color:`var(--text-muted)`,fontSize:`var(--text-base)`,lineHeight:1.6,overflow:`hidden`},children:[!l&&u&&(0,T.jsx)(Boe,{answerPreview:u}),(0,T.jsxs)(`div`,{"data-turn-footer-bar":``,style:{display:`flex`,alignItems:`center`,gap:10,width:`100%`,minHeight:24,padding:`3px 10px`},children:[(0,T.jsxs)(`span`,{style:{display:`flex`,alignItems:`center`,gap:10,flex:1,minWidth:0},children:[!m&&!h&&(0,T.jsx)(`span`,{"data-turn-toggle":``,"data-testid":`turn-footer-toggle`,onMouseEnter:()=>g?.(!0),onMouseLeave:()=>g?.(!1),style:{display:`flex`,flexShrink:0,cursor:`pointer`},children:!l&&p===`modal`?(0,T.jsx)($r,{size:I.base,"aria-hidden":!0,style:{flexShrink:0,color:`var(--text-dim)`}}):(0,T.jsx)(gr,{size:I.base,"aria-hidden":!0,style:{flexShrink:0,color:`var(--text-dim)`,transition:`transform 0.15s`,transform:l?`rotate(-90deg)`:void 0}})}),(0,T.jsx)(`span`,{style:{flex:1,minWidth:0,overflow:`hidden`,textOverflow:`ellipsis`,whiteSpace:`nowrap`},children:e.map((e,t)=>(0,T.jsxs)(`span`,{title:`${e.provider}/${e.name}`,style:{whiteSpace:`nowrap`},children:[t>0&&(0,T.jsx)(`span`,{style:{color:`var(--text-muted)`},children:` / `}),(0,T.jsxs)(`span`,{style:{color:`var(--text-dim)`},children:[e.provider,`/`]}),(0,T.jsx)(`span`,{style:{fontWeight:700,color:`var(--text)`},children:e.name})]},`${e.provider}/${e.name}`))}),h&&_!==void 0&&_>0&&(0,T.jsxs)(`span`,{style:{display:`flex`,alignItems:`center`,gap:4,flexShrink:0,color:`var(--text)`,marginLeft:6},title:o(`i18n.estimatedTokens`),children:[(0,T.jsxs)(`span`,{style:{display:`flex`,alignItems:`center`,gap:2,fontSize:`var(--text-sm)`,fontWeight:400},children:[(0,T.jsxs)(`svg`,{width:I.xs,height:I.xs,viewBox:`0 0 10 10`,fill:`none`,stroke:`currentColor`,strokeWidth:`1.2`,strokeLinecap:`round`,strokeLinejoin:`round`,children:[(0,T.jsx)(`line`,{x1:`5`,y1:`1.5`,x2:`5`,y2:`8.5`}),(0,T.jsx)(`polyline`,{points:`2 6 5 8.5 8 6`})]}),_]}),v!=null&&(0,T.jsxs)(`span`,{style:{marginLeft:6,padding:`1px 6px`,borderRadius:4,background:v>=50?`#53b3cb`:v>=30?`#9bc53d`:v>=15?`#f9c22e`:`#e01a4f`,color:`#fff`,fontSize:`var(--text-sm)`,fontWeight:400},children:[v.toFixed(1),` t/s`]})]})]}),!h&&(0,T.jsxs)(`span`,{style:{display:`flex`,alignItems:`center`,gap:10,flexShrink:0,background:`var(--bg-panel)`,borderRadius:6,padding:`1px 8px`},children:[f&&(0,T.jsx)(F,{label:o(`chat.stoppedByUser`),wrapperStyle:{display:`flex`,flexShrink:0},children:(0,T.jsx)(`span`,{"data-testid":`turn-footer-stopped`,"aria-label":o(`chat.stoppedByUser`),style:{...w,cursor:`default`,color:`var(--text-dim)`},children:`⏹`})}),S.length>0&&(0,T.jsx)(F,{label:C(!1),wrapperStyle:{display:`flex`,flexShrink:0},children:(0,T.jsxs)(`span`,{"data-artifacts-zone":!0,"data-testid":`turn-footer-files`,"aria-label":o(`chat.turnArtifacts.title`,{count:S.length}),title:o(`chat.turnArtifacts.title`,{count:S.length}),onClick:e=>{e.stopPropagation(),b(e=>!e)},style:{...w,cursor:`pointer`,color:`var(--text-muted)`},children:[(0,T.jsx)(Fr,{size:I.base,style:{flexShrink:0,color:`var(--status-info)`}}),S.length,(0,T.jsx)(`span`,{className:`turn-footer-stat-label`,children:o(`chat.statFiles`)}),(0,T.jsx)(hr,{size:I.base,style:{flexShrink:0,transition:`transform 0.15s`,transform:y?`rotate(180deg)`:void 0}})]})}),(0,T.jsx)(F,{label:o(t===1?`chat.message`:`chat.messages`,{count:t}),wrapperStyle:{display:`flex`,flexShrink:0},children:(0,T.jsxs)(`span`,{"data-testid":`turn-footer-messages`,style:w,children:[(0,T.jsx)(ti,{size:I.base,style:{flexShrink:0}}),t,(0,T.jsx)(`span`,{className:`turn-footer-stat-label`,children:o(`chat.statMessages`)})]})}),n>0&&(0,T.jsx)(F,{label:o(n===1?`chat.toolCall`:`chat.toolCalls`,{count:n}),wrapperStyle:{display:`flex`,flexShrink:0},children:(0,T.jsxs)(`span`,{"data-testid":`turn-footer-tools`,style:w,children:[(0,T.jsx)(Ai,{size:I.base,style:{flexShrink:0}}),n,(0,T.jsx)(`span`,{className:`turn-footer-stat-label`,children:o(`chat.statTools`)})]})}),(s!==void 0||c!==void 0)&&(0,T.jsx)(F,{label:s===void 0?void 0:new Date(s).toLocaleString([],{year:`numeric`,month:`2-digit`,day:`2-digit`,hour:`2-digit`,minute:`2-digit`,second:`2-digit`}),children:(0,T.jsxs)(`span`,{"data-testid":`turn-footer-duration`,style:{...w,cursor:`default`},children:[(0,T.jsx)(Sr,{size:I.sm,style:{flexShrink:0}}),c!==void 0&&gX(c)]})})]})]}),S.length>0&&y&&C(!0)]})}var d5=24;function f5({text:e}){let t=(0,d.useMemo)(()=>e.split(/\r?\n/),[e]);return typeof ResizeObserver>`u`||t.length<50&&e.length<5e3?(0,T.jsx)(`div`,{style:{whiteSpace:`pre-wrap`,overflowWrap:`break-word`},children:e}):(0,T.jsx)(MG,{data:t,itemSize:d5,children:e=>(0,T.jsx)(`div`,{style:{minHeight:d5,lineHeight:`${d5}px`,whiteSpace:`pre-wrap`,overflowWrap:`break-word`},children:e})})}function p5({header:e,body:t,isStreaming:n=!1,defaultExpanded:r=!1,preview:i,footer:a,footerPadding:o,persistKey:s}){let c=tZ(s),[l,u]=(0,d.useState)(null),f=c===void 0?l??r:c,p=(0,d.useCallback)(e=>{s?$X(s,e):u(e)},[s]);return n?(0,T.jsxs)(T.Fragment,{children:[(0,T.jsx)(`div`,{className:`streaming-header-sweep`,style:{position:`relative`,overflow:`hidden`},children:e(Voe,{collapsed:!1})}),t()]}):f?(0,T.jsxs)(T.Fragment,{children:[(0,T.jsx)(`div`,{className:n?`streaming-header-sweep`:void 0,style:n?{position:`relative`,overflow:`hidden`}:void 0,children:e({onClick:()=>p(!1),"aria-expanded":!0,"data-long-block-toggle":``,style:{cursor:`pointer`}},{collapsed:!1})}),t(),a?(0,T.jsxs)(T.Fragment,{children:[(0,T.jsx)(`div`,{"aria-hidden":!0,style:{height:1,marginTop:4,flexShrink:0,background:`linear-gradient(90deg, transparent 0, var(--border) 24px, var(--border) calc(100% - 24px), transparent 100%)`}}),(0,T.jsx)(`div`,{onClick:()=>p(!1),title:`点击折叠此块`,style:{padding:o??`2px 14px 4px`,display:`flex`,justifyContent:`flex-end`,cursor:`pointer`},children:a})]}):null]}):(0,T.jsx)(r5,{footer:a,preview:(0,T.jsx)(`div`,{className:`preview-body`,style:{minHeight:0,overflow:`hidden`,display:`flex`,flexDirection:`column`},children:i?i():t()}),children:e({onClick:()=>{Foe(),p(!0)},"aria-expanded":!1,"data-long-block-toggle":``,style:{cursor:`pointer`}},{collapsed:!0})})}var Voe={onClick:()=>{},"aria-expanded":!0,style:{cursor:`default`}},Hoe=50,Uoe=400;function m5(e,t,n){let r=(0,d.useRef)(!1),i=(0,d.useRef)(0),a=()=>{i.current=Date.now()};return(0,d.useLayoutEffect)(()=>{let n=e.current;if(!t||!n||r.current)return;let i=0,a=()=>{if(r.current)return;let e=n.scrollHeight,t=n.clientHeight;n.scrollTop!==e-t&&(n.scrollTop=e-t),typeof requestAnimationFrame==`function`&&(i=requestAnimationFrame(()=>{n.scrollHeight!==e&&a()}))};return a(),()=>cancelAnimationFrame(i)},[t,...n]),(0,d.useLayoutEffect)(()=>{let t=e.current;if(t)return t.addEventListener(`wheel`,a,{passive:!0}),t.addEventListener(`touchstart`,a,{passive:!0}),t.addEventListener(`touchmove`,a,{passive:!0}),t.addEventListener(`keydown`,a),t.addEventListener(`pointerdown`,a),()=>{t.removeEventListener(`wheel`,a),t.removeEventListener(`touchstart`,a),t.removeEventListener(`touchmove`,a),t.removeEventListener(`keydown`,a),t.removeEventListener(`pointerdown`,a)}},[e]),()=>{let t=e.current;if(!t)return;let n=t.scrollHeight-t.scrollTop-t.clientHeight>Hoe;n&&Date.now()-i.current<=Uoe?r.current=!0:n||(r.current=!1)}}function h5({text:e,isStreaming:t,maxHeight:n=400,style:r}){let i=(0,d.useRef)(null),a=m5(i,t??!1,[e]);return(0,T.jsx)(`div`,{ref:i,onScroll:a,className:`pv-shrink`,style:{maxHeight:n,overflowY:`auto`,contentVisibility:`auto`,containIntrinsicBlockSize:n,...r},children:(0,T.jsx)(f5,{text:e})})}var Woe=100,g5=new Map;function Goe(e,t,n){let r=`${e}:${t}:${n}`,i=g5.get(r);if(i)return g5.delete(r),g5.set(r,i),i;let a=fetch(`/api/sessions/${encodeURIComponent(e)}/entries/${encodeURIComponent(t)}/thinking?blockIndex=${n}`).then(async e=>{if(!e.ok)throw Error(`HTTP ${e.status}`);let t=await e.json();if(typeof t.thinking!=`string`)throw Error(`Invalid thinking response`);return t.thinking}).catch(e=>{throw g5.delete(r),e});if(g5.set(r,a),g5.size>Woe){let e=g5.keys().next().value;e&&g5.delete(e)}return a}function Koe({block:e,sessionId:t,entryId:n,blockIndex:r,isStreaming:i=!1,keepExpanded:a=!1,footer:o}){let{t:s}=M(),[c,l]=(0,d.useState)(null),[u,f]=(0,d.useState)(!1),[p,m]=(0,d.useState)(null),h=(0,d.useRef)(!1);(0,d.useEffect)(()=>{e.deferred&&!h.current&&(h.current=!0,g())},[]);let g=async()=>{if(!(!e.deferred||c!==null)){if(!t||!n){m(s(`i18n.thinkingUnavailable`));return}f(!0),m(null);try{l(await Goe(t,n,r))}catch(e){m(e instanceof Error?e.message:String(e))}finally{f(!1)}}},_=e.deferred?c:e.thinking,v={padding:`4px 14px 8px 14px`,borderTop:`1px solid var(--border)`,fontSize:`var(--text-lg)`,lineHeight:1.6,color:`var(--text-muted)`,whiteSpace:`pre-wrap`,overflowWrap:`anywhere`,fontFamily:`var(--font-mono)`},y=u?(0,T.jsxs)(`span`,{style:{color:`var(--text-dim)`},children:[s(`i18n.loading`),`...`]}):p?(0,T.jsx)(`span`,{style:{color:`var(--status-error)`},children:p}):_?(0,T.jsx)(h5,{text:_,isStreaming:i,style:v}):v$(e)?(0,T.jsx)(`span`,{style:{color:`var(--text-dim)`,fontStyle:`italic`},children:s(`i18n.thinkingEncrypted`)}):null;return(0,T.jsx)(`div`,{className:`hover-pv-block`,style:{borderRadius:6,overflow:`hidden`,fontSize:`var(--text-base)`},children:(0,T.jsx)(p5,{isStreaming:i,defaultExpanded:a,persistKey:n?`${n}:t${r}`:void 0,footer:o,footerPadding:`2px 14px 4px`,header:(e,{collapsed:t})=>(0,T.jsxs)(`div`,{...e,"data-testid":`thinking-block-header`,style:{...e.style,display:`flex`,alignItems:`center`,gap:6,padding:`2px 8px`,color:`var(--status-warning)`,fontSize:`var(--text-base)`,minWidth:0},children:[(0,T.jsx)(Jr,{size:I.base,fill:`currentColor`,style:{flexShrink:0,color:`var(--bulb-warning)`}}),(0,T.jsx)(`span`,{style:{flexShrink:0},children:s(`i18n.thinking`)}),t&&_&&(0,T.jsx)(`span`,{style:{flex:1,minWidth:0,overflow:`hidden`,textOverflow:`ellipsis`,whiteSpace:`nowrap`,color:`var(--text-muted)`,fontSize:`var(--text-sm)`},children:_.slice(0,160)})]}),body:()=>y??(0,T.jsx)(`div`,{className:`pv-shrink`,style:v,children:(0,T.jsx)(`span`,{style:{color:`var(--text-dim)`},children:s(`i18n.noThinking`)})})})})}function qoe({children:e,testId:t,style:n}){return(0,T.jsx)(`span`,{"data-testid":t,style:{position:`absolute`,top:4,right:8,zIndex:1,padding:`1px 6px`,background:`var(--bg)`,color:`var(--accent)`,border:`1px solid var(--border)`,borderRadius:`var(--radius-sm, 4px)`,fontSize:`var(--text-sm)`,fontWeight:600,lineHeight:1.5,whiteSpace:`nowrap`,pointerEvents:`none`,...n},children:e})}function _5(e){let t=v5(e);if(t){let e=0,n=0;for(let r of t)for(let t of r.rows)t.type===`line`&&(t.left.type===`removed`&&(n+=1),t.right.type===`added`&&(e+=1));return{additions:e,deletions:n}}let n=0,r=0;for(let t of e.split(/\r?\n/))t.startsWith(`+`)&&!t.startsWith(`+++`)?n+=1:t.startsWith(`-`)&&!t.startsWith(`---`)&&(r+=1);return{additions:n,deletions:r}}function v5(e){let t=[],n=null,r,i=0,a=0,o=[],s=[],c=()=>({lineNo:null,text:``,type:`empty`}),l=()=>{if(!n){o=[],s=[];return}let e=Math.max(o.length,s.length);for(let t=0;t<e;t++){let e=o[t]?{lineNo:o[t].lineNo,text:o[t].text,type:`removed`}:c(),r=s[t]?{lineNo:s[t].lineNo,text:s[t].text,type:`added`}:c();n.rows.push({type:`line`,left:e,right:r})}o=[],s=[]};for(let c of e.split(/\r?\n/)){if(c.startsWith(`--- `)){l(),r=y5(c.slice(4));continue}if(c.startsWith(`+++ `)){l(),n={oldPath:r,newPath:y5(c.slice(4)),rows:[]},t.push(n);continue}let e=c.match(/^@@ -(\d+)(?:,\d+)? \+(\d+)(?:,\d+)? @@/);if(e){n||(n={rows:[]},t.push(n)),l(),i=Number(e[1]),a=Number(e[2]),n.rows.push({type:`hunk`,text:c});continue}if(!n)continue;if(c.startsWith(`\\ `)){l(),n.rows.push({type:`hunk`,text:c});continue}let u=c[0],d=c.slice(1);u===` `?(l(),n.rows.push({type:`line`,left:{lineNo:i++,text:d,type:`context`},right:{lineNo:a++,text:d,type:`context`}})):u===`-`?o.push({lineNo:i++,text:d}):u===`+`?s.push({lineNo:a++,text:d}):c!==``&&(l(),n.rows.push({type:`hunk`,text:c}))}l();let u=t.filter(e=>e.rows.some(e=>e.type===`line`));return u.length>0?u:null}function y5(e){return e.split(` `)[0].trim()}function Joe(e){let t=e.details;if(!Tp(t))return null;let n=typeof t.patch==`string`?t.patch:null;if(n)return{text:n};let r=typeof t.diff==`string`?t.diff:null;return r?{text:r}:null}function b5(e){if(typeof e!=`string`||!e)return!1;let t=e.toLowerCase();return t===`edit`||t.startsWith(`edit_`)||t.endsWith(`.edit`)||t.endsWith(`_edit`)||t.includes(`str_replace`)||t.includes(`replace_editor`)}function Yoe({diff:e}){return(0,T.jsx)(`div`,{style:{marginTop:6,borderRadius:`var(--radius-md, 6px)`,overflow:`hidden`,background:`var(--bg-subtle)`},children:(0,T.jsx)(Xoe,{text:e.text})})}function Xoe({text:e}){let{t}=M(),n=(0,d.useMemo)(()=>v5(e),[e]);if(!n)return(0,T.jsx)($oe,{text:e});let r=n.length>1;return(0,T.jsx)(`div`,{style:{maxHeight:560,overflowY:`auto`,overflowX:`hidden`,background:`transparent`,contentVisibility:`auto`,containIntrinsicBlockSize:560},children:n.map((e,n)=>(0,T.jsxs)(`div`,{style:{minWidth:0,borderTop:n===0?`none`:`1px solid var(--border)`,fontFamily:`var(--font-mono)`,fontSize:`var(--text-base)`,lineHeight:1.55},children:[r&&(0,T.jsxs)(`div`,{style:{display:`grid`,gridTemplateColumns:`minmax(0, 1fr) minmax(0, 1fr)`,position:`sticky`,top:0,zIndex:1,background:`var(--bg-subtle)`,borderBottom:`1px solid var(--border)`},children:[(0,T.jsx)(x5,{title:e.oldPath||t(`i18n.before`),side:`left`}),(0,T.jsx)(x5,{title:e.newPath||t(`i18n.after`),side:`right`})]}),(0,T.jsx)(`div`,{style:{display:`grid`,gridTemplateColumns:`minmax(0, 1fr) minmax(0, 1fr)`},children:e.rows.map((e,t)=>e.type===`hunk`?null:(0,T.jsxs)(`div`,{style:{display:`contents`},children:[(0,T.jsx)(S5,{cell:e.left,side:`left`}),(0,T.jsx)(S5,{cell:e.right,side:`right`})]},t))})]},n))})}function x5({title:e,side:t}){return(0,T.jsx)(`div`,{title:e,style:{padding:`5px 10px`,color:`var(--text-dim)`,borderRight:t===`left`?`1px solid var(--border)`:`none`,overflow:`hidden`,textOverflow:`ellipsis`,whiteSpace:`nowrap`},children:e})}function S5({cell:e,side:t}){let n=e.type===`added`?`color-mix(in srgb, var(--status-success) 12%, transparent)`:e.type===`removed`?`color-mix(in srgb, var(--status-error) 13%, transparent)`:e.type===`empty`?`var(--bg-subtle)`:`transparent`,r=e.type===`added`?`+`:e.type===`removed`?`-`:` `,i=e.type===`added`?`var(--status-success)`:e.type===`removed`?`var(--status-error)`:`var(--text-dim)`;return(0,T.jsxs)(`div`,{style:{display:`flex`,minWidth:0,background:n,borderRight:t===`left`?`1px solid var(--border)`:`none`},children:[(0,T.jsx)(`span`,{style:{width:42,padding:`0 6px`,textAlign:`right`,color:`var(--text-dim)`,userSelect:`none`,background:`var(--bg)`,borderRight:`1px solid var(--border)`,flexShrink:0},children:e.lineNo??``}),(0,T.jsx)(`span`,{style:{width:18,padding:`0 5px`,color:i,userSelect:`none`,fontWeight:e.type===`context`||e.type===`empty`?400:700,flexShrink:0},children:r}),(0,T.jsx)(`span`,{style:{flex:1,minWidth:0,padding:`0 10px 0 0`,color:e.type===`empty`?`var(--text-dim)`:`var(--text)`,whiteSpace:`pre-wrap`,overflowWrap:`anywhere`},children:e.text||`\xA0`})]})}var Zoe={added:{bg:`color-mix(in srgb, var(--status-success) 12%, transparent)`,color:`var(--status-success)`,borderLeft:`3px solid var(--status-success)`},removed:{bg:`color-mix(in srgb, var(--status-error) 13%, transparent)`,color:`var(--status-error)`,borderLeft:`3px solid var(--status-error)`},hunk:{bg:`color-mix(in srgb, var(--accent) 12%, transparent)`,color:`var(--accent)`,borderLeft:`3px solid var(--accent)`},context:{bg:`transparent`,color:`var(--text)`,borderLeft:`3px solid transparent`}};function Qoe(e){return e.startsWith(`@@`)?`hunk`:e.startsWith(`+`)&&!e.startsWith(`+++`)?`added`:e.startsWith(`-`)&&!e.startsWith(`---`)?`removed`:`context`}function $oe({text:e}){let t=e.split(/\r?\n/);return(0,T.jsx)(`div`,{style:{maxHeight:520,overflowY:`auto`,overflowX:`hidden`,fontFamily:`var(--font-mono)`,contentVisibility:`auto`,containIntrinsicBlockSize:520,fontSize:`var(--text-base)`,lineHeight:1.55,minWidth:0},children:t.map((e,t)=>{let{bg:n,color:r,borderLeft:i}=Zoe[Qoe(e)];return(0,T.jsxs)(`div`,{style:{display:`flex`,background:n,borderLeft:i},children:[(0,T.jsx)(`span`,{style:{width:48,padding:`0 8px`,color:`var(--text-dim)`,background:`var(--bg)`,borderRight:`1px solid var(--border)`,textAlign:`right`,userSelect:`none`,flexShrink:0},children:t+1}),(0,T.jsx)(`span`,{style:{padding:`0 10px`,whiteSpace:`pre-wrap`,overflowWrap:`anywhere`,color:r},children:e||`\xA0`})]},t)})})}var ese=`用户输入: `;function C5(e){return e&&typeof e==`object`&&!Array.isArray(e)?e:null}function w5(e){return Array.isArray(e)?e.map((e,t)=>{let n=C5(e);return{label:typeof n?.label==`string`?n.label:`#${t+1}`,description:typeof n?.description==`string`?n.description:null,value:typeof n?.value==`string`?n.value:null}}):[]}function tse(e){return Array.isArray(e.questions)?e.questions.map((e,t)=>{let n=C5(e);return{id:typeof n?.id==`string`?n.id:`#${t}`,question:typeof n?.question==`string`?n.question:typeof n?.label==`string`?n.label:null,options:w5(n?.options)}}):typeof e.question==`string`?[{id:null,question:e.question,options:w5(e.options)}]:[]}function nse(e){let t=C5(e);if(!t)return[];if(Array.isArray(t.answers))return t.answers.map((e,t)=>{let n=C5(e),r=Array.isArray(n?.selections)?n.selections:[];return{id:typeof n?.id==`string`?n.id:`#${t}`,values:r.map(e=>C5(e)?.value??``).filter(Boolean),labels:r.map(e=>C5(e)?.label??``).filter(Boolean),customAnswer:typeof n?.customAnswer==`string`&&n.customAnswer?n.customAnswer:null,skipped:n?.skipped===!0}});let n=Array.isArray(t.selections)?t.selections:[],r=n.map(e=>C5(e)?.value??``).filter(Boolean),i=n.map(e=>C5(e)?.label??``).filter(Boolean),a=typeof t.customAnswer==`string`&&t.customAnswer?t.customAnswer:null;return r.length||i.length||a||t.skipped===!0?[{id:null,values:r,labels:i,customAnswer:a,skipped:t.skipped===!0}]:[]}function rse({block:e,result:t,duration:n,isStreaming:r=!1,receivingArgs:i=!1,footer:a}){let{t:o}=M(),s=tse(e.input??{}),c=ise(t),l=ase(t),u=l.text,d=l.isError,f=s.find(e=>e.question)?.question??null,p=f?s.length>1?`${o(`chat.aiQuestion`)} ${s.length}: ${f}`:f:u??o(`chat.aiQuestion`),m=C5(t?.details)?.cancelled===!0,h=c.flatMap(e=>[...e.labels,...e.customAnswer?[e.customAnswer]:[]]).join(` · `);return(0,T.jsx)(`div`,{style:{borderRadius:7,fontSize:`var(--text-base)`,...ose(d)},children:(0,T.jsx)(p5,{isStreaming:r,footer:a,header:(e,{collapsed:t})=>(0,T.jsxs)(`div`,{...e,style:{...e.style,display:`flex`,alignItems:`center`,gap:7,padding:`6px 10px`,color:`var(--text-muted)`,fontSize:`var(--text-sm)`,minWidth:0},children:[(0,T.jsx)(`span`,{style:{color:d?`var(--status-error)`:`var(--status-info)`,fontFamily:`var(--font-mono)`,fontWeight:600,flexShrink:0},children:`pi_menu`}),t?(0,T.jsxs)(`span`,{style:{flex:1,minWidth:0,display:`flex`,alignItems:`baseline`,gap:6,overflow:`hidden`},children:[(0,T.jsx)(`span`,{"data-testid":`pi-menu-digest`,style:{overflow:`hidden`,textOverflow:`ellipsis`,whiteSpace:`nowrap`,color:`var(--text)`},children:i?o(`tool.receivingArgs`):p}),h&&(0,T.jsx)(`span`,{style:{color:`var(--accent)`,fontWeight:600,overflow:`hidden`,textOverflow:`ellipsis`,whiteSpace:`nowrap`,flexShrink:0,maxWidth:`55%`},children:`→ ${h}`})]}):(0,T.jsx)(`span`,{"data-testid":`pi-menu-digest`,children:o(i?`tool.receivingArgs`:`chat.aiQuestion`)}),n!==void 0&&(0,T.jsxs)(`span`,{style:{marginLeft:`auto`,fontSize:`var(--text-sm)`,color:`var(--text-dim)`,fontVariantNumeric:`tabular-nums`,flexShrink:0},children:[n,`s`]})]}),body:()=>(0,T.jsx)(`div`,{className:`pv-shrink`,style:{padding:`8px 14px`,borderTop:`1px solid var(--border)`,fontSize:`var(--text-base)`,lineHeight:1.5,color:`var(--text-muted)`},children:i?(0,T.jsx)(h5,{text:e.streamingArgs??``,isStreaming:!0,style:{color:`var(--text)`,fontFamily:`var(--font-mono)`,fontSize:`var(--text-sm)`}}):(0,T.jsxs)(T.Fragment,{children:[s.map((e,t)=>{let n=c.find(n=>n.id===(e.id??`#${t}`))??c[t]??null;return(0,T.jsxs)(`div`,{style:t>0?{marginTop:10}:void 0,children:[e.question&&(0,T.jsx)(`div`,{style:{fontWeight:600,color:`var(--text)`,marginBottom:6},children:e.question}),e.options.length>0&&(0,T.jsx)(sse,{options:e.options,chosenValues:n?.values??[]}),n?.customAnswer&&(0,T.jsx)(`div`,{style:{color:`var(--text)`,fontWeight:600,whiteSpace:`pre-wrap`},children:`${ese}${n.customAnswer}`}),n?.skipped&&(0,T.jsx)(`div`,{style:{color:`var(--text-dim)`,fontWeight:600},children:o(`chat.skipped`)})]},e.id??t)}),m&&u&&(0,T.jsx)(`div`,{style:{color:`var(--text-dim)`,fontWeight:600,whiteSpace:`pre-wrap`},children:u}),s.length===0&&u&&(0,T.jsx)(`div`,{style:{color:d?`var(--status-error)`:`var(--text-muted)`,fontWeight:600,whiteSpace:`pre-wrap`,wordBreak:`break-all`},children:u})]})})})})}function ise(e){return e?nse(e.details):[]}function ase(e){return{text:(e?e.content.filter(e=>e.type===`text`).map(e=>e.text).join(`
|
|
487
|
+
|(?![\\s\\S])))+`,`m`),alias:i,inside:{line:{pattern:/(.)(?=[\s\S]).*(?:\r\n?|\n)?/,lookbehind:!0},prefix:{pattern:/[\s\S]/,alias:/\w+/.exec(n)[0]}}}}),Object.defineProperty(e.languages.diff,"PREFIXES",{value:t})})(e)}V8.displayName=`docker`,V8.aliases=[`dockerfile`];function V8(e){(function(e){var t=`(?:[ \\t]+(?![ \\t])(?:<SP_BS>)?|<SP_BS>)`.replace(/<SP_BS>/g,function(){return`\\\\[\\r\\n](?:\\s|\\\\[\\r\\n]|#.*(?!.))*(?![\\s#]|\\\\[\\r\\n])`}),n=`"(?:[^"\\\\\\r\\n]|\\\\(?:\\r\\n|[\\s\\S]))*"|'(?:[^'\\\\\\r\\n]|\\\\(?:\\r\\n|[\\s\\S]))*'`,r=`--[\\w-]+=(?:<STR>|(?!["'])(?:[^\\s\\\\]|\\\\.)+)`.replace(/<STR>/g,function(){return n}),i={pattern:RegExp(n),greedy:!0},a={pattern:/(^[ \t]*)#.*/m,lookbehind:!0,greedy:!0};function o(e,n){return e=e.replace(/<OPT>/g,function(){return r}).replace(/<SP>/g,function(){return t}),RegExp(e,n)}e.languages.docker={instruction:{pattern:/(^[ \t]*)(?:ADD|ARG|CMD|COPY|ENTRYPOINT|ENV|EXPOSE|FROM|HEALTHCHECK|LABEL|MAINTAINER|ONBUILD|RUN|SHELL|STOPSIGNAL|USER|VOLUME|WORKDIR)(?=\s)(?:\\.|[^\r\n\\])*(?:\\$(?:\s|#.*$)*(?![\s#])(?:\\.|[^\r\n\\])*)*/im,lookbehind:!0,greedy:!0,inside:{options:{pattern:o(`(^(?:ONBUILD<SP>)?\\w+<SP>)<OPT>(?:<SP><OPT>)*`,`i`),lookbehind:!0,greedy:!0,inside:{property:{pattern:/(^|\s)--[\w-]+/,lookbehind:!0},string:[i,{pattern:/(=)(?!["'])(?:[^\s\\]|\\.)+/,lookbehind:!0}],operator:/\\$/m,punctuation:/=/}},keyword:[{pattern:o(`(^(?:ONBUILD<SP>)?HEALTHCHECK<SP>(?:<OPT><SP>)*)(?:CMD|NONE)\\b`,`i`),lookbehind:!0,greedy:!0},{pattern:o(`(^(?:ONBUILD<SP>)?FROM<SP>(?:<OPT><SP>)*(?!--)[^ \\t\\\\]+<SP>)AS`,`i`),lookbehind:!0,greedy:!0},{pattern:o(`(^ONBUILD<SP>)\\w+`,`i`),lookbehind:!0,greedy:!0},{pattern:/^\w+/,greedy:!0}],comment:a,string:i,variable:/\$(?:\w+|\{[^{}"'\\]*\})/,operator:/\\$/m}},comment:a},e.languages.dockerfile=e.languages.docker})(e)}H8.displayName=`go`,H8.aliases=[];function H8(e){e.register(j8),e.languages.go=e.languages.extend(`clike`,{string:{pattern:/(^|[^\\])"(?:\\.|[^"\\\r\n])*"|`[^`]*`/,lookbehind:!0,greedy:!0},keyword:/\b(?:break|case|chan|const|continue|default|defer|else|fallthrough|for|func|go(?:to)?|if|import|interface|map|package|range|return|select|struct|switch|type|var)\b/,boolean:/\b(?:_|false|iota|nil|true)\b/,number:[/\b0(?:b[01_]+|o[0-7_]+)i?\b/i,/\b0x(?:[a-f\d_]+(?:\.[a-f\d_]*)?|\.[a-f\d_]+)(?:p[+-]?\d+(?:_\d+)*)?i?(?!\w)/i,/(?:\b\d[\d_]*(?:\.[\d_]*)?|\B\.\d[\d_]*)(?:e[+-]?[\d_]+)?i?(?!\w)/i],operator:/[*\/%^!=]=?|\+[=+]?|-[=-]?|\|[=|]?|&(?:=|&|\^=?)?|>(?:>=?|=)?|<(?:<=?|=|-)?|:=|\.\.\./,builtin:/\b(?:append|bool|byte|cap|close|complex|complex(?:64|128)|copy|delete|error|float(?:32|64)|u?int(?:8|16|32|64)?|imag|len|make|new|panic|print(?:ln)?|real|recover|rune|string|uintptr)\b/}),e.languages.insertBefore(`go`,`string`,{char:{pattern:/'(?:\\.|[^'\\\r\n]){0,10}'/,greedy:!0}}),delete e.languages.go[`class-name`]}U8.displayName=`scss`,U8.aliases=[];function U8(e){e.register(A8),e.languages.scss=e.languages.extend(`css`,{comment:{pattern:/(^|[^\\])(?:\/\*[\s\S]*?\*\/|\/\/.*)/,lookbehind:!0},atrule:{pattern:/@[\w-](?:\([^()]+\)|[^()\s]|\s+(?!\s))*?(?=\s+[{;])/,inside:{rule:/@[\w-]+/}},url:/(?:[-a-z]+-)?url(?=\()/i,selector:{pattern:/(?=\S)[^@;{}()]?(?:[^@;{}()\s]|\s+(?!\s)|#\{\$[-\w]+\})+(?=\s*\{(?:\}|\s|[^}][^:{}]*[:{][^}]))/,inside:{parent:{pattern:/&/,alias:`important`},placeholder:/%[-\w]+/,variable:/\$[-\w]+|#\{\$[-\w]+\}/}},property:{pattern:/(?:[-\w]|\$[-\w]|#\{\$[-\w]+\})+(?=\s*:)/,inside:{variable:/\$[-\w]+|#\{\$[-\w]+\}/}}}),e.languages.insertBefore(`scss`,`atrule`,{keyword:[/@(?:content|debug|each|else(?: if)?|extend|for|forward|function|if|import|include|mixin|return|use|warn|while)\b/i,{pattern:/( )(?:from|through)(?= )/,lookbehind:!0}]}),e.languages.insertBefore(`scss`,`important`,{variable:/\$[-\w]+|#\{\$[-\w]+\}/}),e.languages.insertBefore(`scss`,`function`,{"module-modifier":{pattern:/\b(?:as|hide|show|with)\b/i,alias:`keyword`},placeholder:{pattern:/%[-\w]+/,alias:`selector`},statement:{pattern:/\B!(?:default|optional)\b/i,alias:`keyword`},boolean:/\b(?:false|true)\b/,null:{pattern:/\bnull\b/,alias:`keyword`},operator:{pattern:/(\s)(?:[-+*\/%]|[=!]=|<=?|>=?|and|not|or)(?=\s)/,lookbehind:!0}}),e.languages.scss.atrule.inside.rest=e.languages.scss}W8.displayName=`json`,W8.aliases=[`webmanifest`];function W8(e){e.languages.json={property:{pattern:/(^|[^\\])"(?:\\.|[^\\"\r\n])*"(?=\s*:)/,lookbehind:!0,greedy:!0},string:{pattern:/(^|[^\\])"(?:\\.|[^\\"\r\n])*"(?!\s*:)/,lookbehind:!0,greedy:!0},comment:{pattern:/\/\/.*|\/\*[\s\S]*?(?:\*\/|$)/,greedy:!0},number:/-?\b\d+(?:\.\d+)?(?:e[+-]?\d+)?\b/i,punctuation:/[{}[\],]/,operator:/:/,boolean:/\b(?:false|true)\b/,null:{pattern:/\bnull\b/,alias:`keyword`}},e.languages.webmanifest=e.languages.json}G8.displayName=`java`,G8.aliases=[];function G8(e){e.register(j8),(function(e){var t=/\b(?:abstract|assert|boolean|break|byte|case|catch|char|class|const|continue|default|do|double|else|enum|exports|extends|final|finally|float|for|goto|if|implements|import|instanceof|int|interface|long|module|native|new|non-sealed|null|open|opens|package|permits|private|protected|provides|public|record(?!\s*[(){}[\]<>=%~.:,;?+\-*/&|^])|requires|return|sealed|short|static|strictfp|super|switch|synchronized|this|throw|throws|to|transient|transitive|try|uses|var|void|volatile|while|with|yield)\b/,n=`(?:[a-z]\\w*\\s*\\.\\s*)*(?:[A-Z]\\w*\\s*\\.\\s*)*`,r={pattern:RegExp(`(^|[^\\w.])`+n+`[A-Z](?:[\\d_A-Z]*[a-z]\\w*)?\\b`),lookbehind:!0,inside:{namespace:{pattern:/^[a-z]\w*(?:\s*\.\s*[a-z]\w*)*(?:\s*\.)?/,inside:{punctuation:/\./}},punctuation:/\./}};e.languages.java=e.languages.extend(`clike`,{string:{pattern:/(^|[^\\])"(?:\\.|[^"\\\r\n])*"/,lookbehind:!0,greedy:!0},"class-name":[r,{pattern:RegExp(`(^|[^\\w.])`+n+`[A-Z]\\w*(?=\\s+\\w+\\s*[;,=()]|\\s*(?:\\[[\\s,]*\\]\\s*)?::\\s*new\\b)`),lookbehind:!0,inside:r.inside},{pattern:RegExp(`(\\b(?:class|enum|extends|implements|instanceof|interface|new|record|throws)\\s+)`+n+`[A-Z]\\w*\\b`),lookbehind:!0,inside:r.inside}],keyword:t,function:[e.languages.clike.function,{pattern:/(::\s*)[a-z_]\w*/,lookbehind:!0}],number:/\b0b[01][01_]*L?\b|\b0x(?:\.[\da-f_p+-]+|[\da-f_]+(?:\.[\da-f_p+-]+)?)\b|(?:\b\d[\d_]*(?:\.[\d_]*)?|\B\.\d[\d_]*)(?:e[+-]?\d[\d_]*)?[dfl]?/i,operator:{pattern:/(^|[^.])(?:<<=?|>>>?=?|->|--|\+\+|&&|\|\||::|[?:~]|[-+*/%&|^!=<>]=?)/m,lookbehind:!0},constant:/\b[A-Z][A-Z_\d]+\b/}),e.languages.insertBefore(`java`,`string`,{"triple-quoted-string":{pattern:/"""[ \t]*[\r\n](?:(?:"|"")?(?:\\.|[^"\\]))*"""/,greedy:!0,alias:`string`},char:{pattern:/'(?:\\.|[^'\\\r\n]){1,6}'/,greedy:!0}}),e.languages.insertBefore(`java`,`class-name`,{annotation:{pattern:/(^|[^.])@\w+(?:\s*\.\s*\w+)*/,lookbehind:!0,alias:`punctuation`},generics:{pattern:/<(?:[\w\s,.?]|&(?!&)|<(?:[\w\s,.?]|&(?!&)|<(?:[\w\s,.?]|&(?!&)|<(?:[\w\s,.?]|&(?!&))*>)*>)*>)*>/,inside:{"class-name":r,keyword:t,punctuation:/[<>(),.:]/,operator:/[?&|]/}},import:[{pattern:RegExp(`(\\bimport\\s+)`+n+`(?:[A-Z]\\w*|\\*)(?=\\s*;)`),lookbehind:!0,inside:{namespace:r.inside.namespace,punctuation:/\./,operator:/\*/,"class-name":/\w+/}},{pattern:RegExp(`(\\bimport\\s+static\\s+)`+n+`(?:\\w+|\\*)(?=\\s*;)`),lookbehind:!0,alias:`static`,inside:{namespace:r.inside.namespace,static:/\b\w+$/,punctuation:/\./,operator:/\*/,"class-name":/\w+/}}],namespace:{pattern:RegExp(`(\\b(?:exports|import(?:\\s+static)?|module|open|opens|package|provides|requires|to|transitive|uses|with)\\s+)(?!<keyword>)[a-z]\\w*(?:\\.[a-z]\\w*)*\\.?`.replace(/<keyword>/g,function(){return t.source})),lookbehind:!0,inside:{punctuation:/\./}}})})(e)}K8.displayName=`typescript`,K8.aliases=[`ts`];function K8(e){e.register(M8),(function(e){e.languages.typescript=e.languages.extend(`javascript`,{"class-name":{pattern:/(\b(?:class|extends|implements|instanceof|interface|new|type)\s+)(?!keyof\b)(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?:\s*<(?:[^<>]|<(?:[^<>]|<[^<>]*>)*>)*>)?/,lookbehind:!0,greedy:!0,inside:null},builtin:/\b(?:Array|Function|Promise|any|boolean|console|never|number|string|symbol|unknown)\b/}),e.languages.typescript.keyword.push(/\b(?:abstract|declare|is|keyof|readonly|require)\b/,/\b(?:asserts|infer|interface|module|namespace|type)\b(?=\s*(?:[{_$a-zA-Z\xA0-\uFFFF]|$))/,/\btype\b(?=\s*(?:[\{*]|$))/),delete e.languages.typescript.parameter,delete e.languages.typescript[`literal-property`];var t=e.languages.extend(`typescript`,{});delete t[`class-name`],e.languages.typescript[`class-name`].inside=t,e.languages.insertBefore(`typescript`,`function`,{decorator:{pattern:/@[$\w\xA0-\uFFFF]+/,inside:{at:{pattern:/^@/,alias:`operator`},function:/^[\s\S]+/}},"generic-function":{pattern:/#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*\s*<(?:[^<>]|<(?:[^<>]|<[^<>]*>)*>)*>(?=\s*\()/,greedy:!0,inside:{function:/^#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*/,generic:{pattern:/<[\s\S]+/,alias:`class-name`,inside:t}}}}),e.languages.ts=e.languages.typescript})(e)}q8.displayName=`python`,q8.aliases=[`py`];function q8(e){e.languages.python={comment:{pattern:/(^|[^\\])#.*/,lookbehind:!0,greedy:!0},"string-interpolation":{pattern:/(?:f|fr|rf)(?:("""|''')[\s\S]*?\1|("|')(?:\\.|(?!\2)[^\\\r\n])*\2)/i,greedy:!0,inside:{interpolation:{pattern:/((?:^|[^{])(?:\{\{)*)\{(?!\{)(?:[^{}]|\{(?!\{)(?:[^{}]|\{(?!\{)(?:[^{}])+\})+\})+\}/,lookbehind:!0,inside:{"format-spec":{pattern:/(:)[^:(){}]+(?=\}$)/,lookbehind:!0},"conversion-option":{pattern://,alias:`punctuation`},rest:null}},string:/[\s\S]+/}},"triple-quoted-string":{pattern:/(?:[rub]|br|rb)?("""|''')[\s\S]*?\1/i,greedy:!0,alias:`string`},string:{pattern:/(?:[rub]|br|rb)?("|')(?:\\.|(?!\1)[^\\\r\n])*\1/i,greedy:!0},function:{pattern:/((?:^|\s)def[ \t]+)[a-zA-Z_]\w*(?=\s*\()/g,lookbehind:!0},"class-name":{pattern:/(\bclass\s+)\w+/i,lookbehind:!0},decorator:{pattern:/(^[\t ]*)@\w+(?:\.\w+)*/m,lookbehind:!0,alias:[`annotation`,`punctuation`],inside:{punctuation:/\./}},keyword:/\b(?:_(?=\s*:)|and|as|assert|async|await|break|case|class|continue|def|del|elif|else|except|exec|finally|for|from|global|if|import|in|is|lambda|match|nonlocal|not|or|pass|print|raise|return|try|while|with|yield)\b/,builtin:/\b(?:__import__|abs|all|any|apply|ascii|basestring|bin|bool|buffer|bytearray|bytes|callable|chr|classmethod|cmp|coerce|compile|complex|delattr|dict|dir|divmod|enumerate|eval|execfile|file|filter|float|format|frozenset|getattr|globals|hasattr|hash|help|hex|id|input|int|intern|isinstance|issubclass|iter|len|list|locals|long|map|max|memoryview|min|next|object|oct|open|ord|pow|property|range|raw_input|reduce|reload|repr|reversed|round|set|setattr|slice|sorted|staticmethod|str|sum|super|tuple|type|unichr|unicode|vars|xrange|zip)\b/,boolean:/\b(?:False|None|True)\b/,number:/\b0(?:b(?:_?[01])+|o(?:_?[0-7])+|x(?:_?[a-f0-9])+)\b|(?:\b\d+(?:_\d+)*(?:\.(?:\d+(?:_\d+)*)?)?|\B\.\d+(?:_\d+)*)(?:e[+-]?\d+(?:_\d+)*)?j?(?!\w)/i,operator:/[-+%=]=?|!=|:=|\*\*?=?|\/\/?=?|<[<=>]?|>[=>]?|[&|^~]/,punctuation:/[{}[\];(),.:]/},e.languages.python[`string-interpolation`].inside.interpolation.inside.rest=e.languages.python,e.languages.py=e.languages.python}J8.displayName=`jsx`,J8.aliases=[];function J8(e){e.register(M8),e.register(k8),(function(e){var t=e.util.clone(e.languages.javascript),n=`(?:\\s|\\/\\/.*(?!.)|\\/\\*(?:[^*]|\\*(?!\\/))\\*\\/)`,r=`(?:\\{(?:\\{(?:\\{[^{}]*\\}|[^{}])*\\}|[^{}])*\\})`,i=`(?:\\{<S>*\\.{3}(?:[^{}]|<BRACES>)*\\})`;function a(e,t){return e=e.replace(/<S>/g,function(){return n}).replace(/<BRACES>/g,function(){return r}).replace(/<SPREAD>/g,function(){return i}),RegExp(e,t)}i=a(i).source,e.languages.jsx=e.languages.extend(`markup`,t),e.languages.jsx.tag.pattern=a(`<\\/?(?:[\\w.:-]+(?:<S>+(?:[\\w.:$-]+(?:=(?:"(?:\\\\[\\s\\S]|[^\\\\"])*"|'(?:\\\\[\\s\\S]|[^\\\\'])*'|[^\\s{'"/>=]+|<BRACES>))?|<SPREAD>))*<S>*\\/?)?>`),e.languages.jsx.tag.inside.tag.pattern=/^<\/?[^\s>\/]*/,e.languages.jsx.tag.inside[`attr-value`].pattern=/=(?!\{)(?:"(?:\\[\s\S]|[^\\"])*"|'(?:\\[\s\S]|[^\\'])*'|[^\s'">]+)/,e.languages.jsx.tag.inside.tag.inside[`class-name`]=/^[A-Z]\w*(?:\.[A-Z]\w*)*$/,e.languages.jsx.tag.inside.comment=t.comment,e.languages.insertBefore(`inside`,`attr-name`,{spread:{pattern:a(`<SPREAD>`),inside:e.languages.jsx}},e.languages.jsx.tag),e.languages.insertBefore(`inside`,`special-attr`,{script:{pattern:a(`=<BRACES>`),alias:`language-javascript`,inside:{"script-punctuation":{pattern:/^=(?=\{)/,alias:`punctuation`},rest:e.languages.jsx}}},e.languages.jsx.tag);var o=function(e){return e?typeof e==`string`?e:typeof e.content==`string`?e.content:e.content.map(o).join(``):``},s=function(t){for(var n=[],r=0;r<t.length;r++){var i=t[r],a=!1;if(typeof i!=`string`&&(i.type===`tag`&&i.content[0]&&i.content[0].type===`tag`?i.content[0].content[0].content===`</`?n.length>0&&n[n.length-1].tagName===o(i.content[0].content[1])&&n.pop():i.content[i.content.length-1].content===`/>`||n.push({tagName:o(i.content[0].content[1]),openedBraces:0}):n.length>0&&i.type===`punctuation`&&i.content===`{`?n[n.length-1].openedBraces++:n.length>0&&n[n.length-1].openedBraces>0&&i.type===`punctuation`&&i.content===`}`?n[n.length-1].openedBraces--:a=!0),(a||typeof i==`string`)&&n.length>0&&n[n.length-1].openedBraces===0){var c=o(i);r<t.length-1&&(typeof t[r+1]==`string`||t[r+1].type===`plain-text`)&&(c+=o(t[r+1]),t.splice(r+1,1)),r>0&&(typeof t[r-1]==`string`||t[r-1].type===`plain-text`)&&(c=o(t[r-1])+c,t.splice(r-1,1),r--),t[r]=new e.Token(`plain-text`,c,null,c)}i.content&&typeof i.content!=`string`&&s(i.content)}};e.hooks.add(`after-tokenize`,function(e){(e.language===`jsx`||e.language===`tsx`)&&s(e.tokens)})})(e)}Y8.displayName=`tsx`,Y8.aliases=[];function Y8(e){e.register(J8),e.register(K8),(function(e){var t=e.util.clone(e.languages.typescript);e.languages.tsx=e.languages.extend(`jsx`,t),delete e.languages.tsx.parameter,delete e.languages.tsx[`literal-property`];var n=e.languages.tsx.tag;n.pattern=RegExp(`(^|[^\\w$]|(?=<\\/))(?:`+n.pattern.source+`)`,n.pattern.flags),n.lookbehind=!0})(e)}X8.displayName=`rust`,X8.aliases=[];function X8(e){(function(e){for(var t=`\\/\\*(?:[^*/]|\\*(?!\\/)|\\/(?!\\*)|<self>)*\\*\\/`,n=0;n<2;n++)t=t.replace(/<self>/g,function(){return t});t=t.replace(/<self>/g,function(){return`[^\\s\\S]`}),e.languages.rust={comment:[{pattern:RegExp(`(^|[^\\\\])`+t),lookbehind:!0,greedy:!0},{pattern:/(^|[^\\:])\/\/.*/,lookbehind:!0,greedy:!0}],string:{pattern:/b?"(?:\\[\s\S]|[^\\"])*"|b?r(#*)"(?:[^"]|"(?!\1))*"\1/,greedy:!0},char:{pattern:/b?'(?:\\(?:x[0-7][\da-fA-F]|u\{(?:[\da-fA-F]_*){1,6}\}|.)|[^\\\r\n\t'])'/,greedy:!0},attribute:{pattern:/#!?\[(?:[^\[\]"]|"(?:\\[\s\S]|[^\\"])*")*\]/,greedy:!0,alias:`attr-name`,inside:{string:null}},"closure-params":{pattern:/([=(,:]\s*|\bmove\s*)\|[^|]*\||\|[^|]*\|(?=\s*(?:\{|->))/,lookbehind:!0,greedy:!0,inside:{"closure-punctuation":{pattern:/^\||\|$/,alias:`punctuation`},rest:null}},"lifetime-annotation":{pattern:/'\w+/,alias:`symbol`},"fragment-specifier":{pattern:/(\$\w+:)[a-z]+/,lookbehind:!0,alias:`punctuation`},variable:/\$\w+/,"function-definition":{pattern:/(\bfn\s+)\w+/,lookbehind:!0,alias:`function`},"type-definition":{pattern:/(\b(?:enum|struct|trait|type|union)\s+)\w+/,lookbehind:!0,alias:`class-name`},"module-declaration":[{pattern:/(\b(?:crate|mod)\s+)[a-z][a-z_\d]*/,lookbehind:!0,alias:`namespace`},{pattern:/(\b(?:crate|self|super)\s*)::\s*[a-z][a-z_\d]*\b(?:\s*::(?:\s*[a-z][a-z_\d]*\s*::)*)?/,lookbehind:!0,alias:`namespace`,inside:{punctuation:/::/}}],keyword:[/\b(?:Self|abstract|as|async|await|become|box|break|const|continue|crate|do|dyn|else|enum|extern|final|fn|for|if|impl|in|let|loop|macro|match|mod|move|mut|override|priv|pub|ref|return|self|static|struct|super|trait|try|type|typeof|union|unsafe|unsized|use|virtual|where|while|yield)\b/,/\b(?:bool|char|f(?:32|64)|[ui](?:8|16|32|64|128|size)|str)\b/],function:/\b[a-z_]\w*(?=\s*(?:::\s*<|\())/,macro:{pattern:/\b\w+!/,alias:`property`},constant:/\b[A-Z_][A-Z_\d]+\b/,"class-name":/\b[A-Z]\w*\b/,namespace:{pattern:/(?:\b[a-z][a-z_\d]*\s*::\s*)*\b[a-z][a-z_\d]*\s*::(?!\s*<)/,inside:{punctuation:/::/}},number:/\b(?:0x[\dA-Fa-f](?:_?[\dA-Fa-f])*|0o[0-7](?:_?[0-7])*|0b[01](?:_?[01])*|(?:(?:\d(?:_?\d)*)?\.)?\d(?:_?\d)*(?:[Ee][+-]?\d+)?)(?:_?(?:f32|f64|[iu](?:8|16|32|64|size)?))?\b/,boolean:/\b(?:false|true)\b/,punctuation:/->|\.\.=|\.{1,3}|::|[{}[\];(),:]/,operator:/[-+*\/%!^]=?|=[=>]?|&[&=]?|\|[|=]?|<<?=?|>>?=?|[@?]/},e.languages.rust[`closure-params`].inside.rest=e.languages.rust,e.languages.rust.attribute.inside.string=e.languages.rust.string})(e)}var soe=I8,coe=P8,loe=F8,uoe=z8,doe=A8,foe=B8,poe=V8,moe=H8,hoe=G8,goe=M8,_oe=W8,voe=J8,yoe=R8,boe=k8,xoe=q8,Soe=X8,Coe=U8,woe=N8,Toe=Y8,Eoe=K8,Doe=L8,Z8={'code[class*="language-"]':{color:`#393A34`,fontFamily:`"Consolas", "Bitstream Vera Sans Mono", "Courier New", Courier, monospace`,direction:`ltr`,textAlign:`left`,whiteSpace:`pre`,wordSpacing:`normal`,wordBreak:`normal`,fontSize:`.9em`,lineHeight:`1.2em`,MozTabSize:`4`,OTabSize:`4`,tabSize:`4`,WebkitHyphens:`none`,MozHyphens:`none`,msHyphens:`none`,hyphens:`none`},'pre[class*="language-"]':{color:`#393A34`,fontFamily:`"Consolas", "Bitstream Vera Sans Mono", "Courier New", Courier, monospace`,direction:`ltr`,textAlign:`left`,whiteSpace:`pre`,wordSpacing:`normal`,wordBreak:`normal`,fontSize:`.9em`,lineHeight:`1.2em`,MozTabSize:`4`,OTabSize:`4`,tabSize:`4`,WebkitHyphens:`none`,MozHyphens:`none`,msHyphens:`none`,hyphens:`none`,padding:`1em`,margin:`.5em 0`,overflow:`auto`,border:`1px solid #dddddd`,backgroundColor:`white`},'pre > code[class*="language-"]':{fontSize:`1em`},'pre[class*="language-"]::-moz-selection':{background:`#C1DEF1`},'pre[class*="language-"] ::-moz-selection':{background:`#C1DEF1`},'code[class*="language-"]::-moz-selection':{background:`#C1DEF1`},'code[class*="language-"] ::-moz-selection':{background:`#C1DEF1`},'pre[class*="language-"]::selection':{background:`#C1DEF1`},'pre[class*="language-"] ::selection':{background:`#C1DEF1`},'code[class*="language-"]::selection':{background:`#C1DEF1`},'code[class*="language-"] ::selection':{background:`#C1DEF1`},':not(pre) > code[class*="language-"]':{padding:`.2em`,paddingTop:`1px`,paddingBottom:`1px`,background:`#f8f8f8`,border:`1px solid #dddddd`},comment:{color:`#008000`,fontStyle:`italic`},prolog:{color:`#008000`,fontStyle:`italic`},doctype:{color:`#008000`,fontStyle:`italic`},cdata:{color:`#008000`,fontStyle:`italic`},namespace:{Opacity:`.7`},string:{color:`#A31515`},punctuation:{color:`#393A34`},operator:{color:`#393A34`},url:{color:`#36acaa`},symbol:{color:`#36acaa`},number:{color:`#36acaa`},boolean:{color:`#36acaa`},variable:{color:`#36acaa`},constant:{color:`#36acaa`},inserted:{color:`#36acaa`},atrule:{color:`#0000ff`},keyword:{color:`#0000ff`},"attr-value":{color:`#0000ff`},".language-autohotkey .token.selector":{color:`#0000ff`},".language-json .token.boolean":{color:`#0000ff`},".language-json .token.number":{color:`#0000ff`},'code[class*="language-css"]':{color:`#0000ff`},function:{color:`#393A34`},deleted:{color:`#9a050f`},".language-autohotkey .token.tag":{color:`#9a050f`},selector:{color:`#800000`},".language-autohotkey .token.keyword":{color:`#00009f`},important:{color:`#e90`,fontWeight:`bold`},bold:{fontWeight:`bold`},italic:{fontStyle:`italic`},"class-name":{color:`#2B91AF`},".language-json .token.property":{color:`#2B91AF`},tag:{color:`#800000`},"attr-name":{color:`#ff0000`},property:{color:`#ff0000`},regex:{color:`#ff0000`},entity:{color:`#ff0000`},"directive.tag.tag":{background:`#ffff00`,color:`#393A34`},".line-numbers.line-numbers .line-numbers-rows":{borderRightColor:`#a5a5a5`},".line-numbers .line-numbers-rows > span:before":{color:`#2B91AF`},".line-highlight.line-highlight":{background:`linear-gradient(to right, rgba(193, 222, 241, 0.2) 70%, rgba(221, 222, 241, 0))`}},Q8={'pre[class*="language-"]':{color:`#d4d4d4`,fontSize:`13px`,textShadow:`none`,fontFamily:`Menlo, Monaco, Consolas, "Andale Mono", "Ubuntu Mono", "Courier New", monospace`,direction:`ltr`,textAlign:`left`,whiteSpace:`pre`,wordSpacing:`normal`,wordBreak:`normal`,lineHeight:`1.5`,MozTabSize:`4`,OTabSize:`4`,tabSize:`4`,WebkitHyphens:`none`,MozHyphens:`none`,msHyphens:`none`,hyphens:`none`,padding:`1em`,margin:`.5em 0`,overflow:`auto`,background:`#1e1e1e`},'code[class*="language-"]':{color:`#d4d4d4`,fontSize:`13px`,textShadow:`none`,fontFamily:`Menlo, Monaco, Consolas, "Andale Mono", "Ubuntu Mono", "Courier New", monospace`,direction:`ltr`,textAlign:`left`,whiteSpace:`pre`,wordSpacing:`normal`,wordBreak:`normal`,lineHeight:`1.5`,MozTabSize:`4`,OTabSize:`4`,tabSize:`4`,WebkitHyphens:`none`,MozHyphens:`none`,msHyphens:`none`,hyphens:`none`},'pre[class*="language-"]::selection':{textShadow:`none`,background:`#264F78`},'code[class*="language-"]::selection':{textShadow:`none`,background:`#264F78`},'pre[class*="language-"] *::selection':{textShadow:`none`,background:`#264F78`},'code[class*="language-"] *::selection':{textShadow:`none`,background:`#264F78`},':not(pre) > code[class*="language-"]':{padding:`.1em .3em`,borderRadius:`.3em`,color:`#db4c69`,background:`#1e1e1e`},".namespace":{Opacity:`.7`},"doctype.doctype-tag":{color:`#569CD6`},"doctype.name":{color:`#9cdcfe`},comment:{color:`#6a9955`},prolog:{color:`#6a9955`},punctuation:{color:`#d4d4d4`},".language-html .language-css .token.punctuation":{color:`#d4d4d4`},".language-html .language-javascript .token.punctuation":{color:`#d4d4d4`},property:{color:`#9cdcfe`},tag:{color:`#569cd6`},boolean:{color:`#569cd6`},number:{color:`#b5cea8`},constant:{color:`#9cdcfe`},symbol:{color:`#b5cea8`},inserted:{color:`#b5cea8`},unit:{color:`#b5cea8`},selector:{color:`#d7ba7d`},"attr-name":{color:`#9cdcfe`},string:{color:`#ce9178`},char:{color:`#ce9178`},builtin:{color:`#ce9178`},deleted:{color:`#ce9178`},".language-css .token.string.url":{textDecoration:`underline`},operator:{color:`#d4d4d4`},entity:{color:`#569cd6`},"operator.arrow":{color:`#569CD6`},atrule:{color:`#ce9178`},"atrule.rule":{color:`#c586c0`},"atrule.url":{color:`#9cdcfe`},"atrule.url.function":{color:`#dcdcaa`},"atrule.url.punctuation":{color:`#d4d4d4`},keyword:{color:`#569CD6`},"keyword.module":{color:`#c586c0`},"keyword.control-flow":{color:`#c586c0`},function:{color:`#dcdcaa`},"function.maybe-class-name":{color:`#dcdcaa`},regex:{color:`#d16969`},important:{color:`#569cd6`},italic:{fontStyle:`italic`},"class-name":{color:`#4ec9b0`},"maybe-class-name":{color:`#4ec9b0`},console:{color:`#9cdcfe`},parameter:{color:`#9cdcfe`},interpolation:{color:`#9cdcfe`},"punctuation.interpolation-punctuation":{color:`#569cd6`},variable:{color:`#9cdcfe`},"imports.maybe-class-name":{color:`#9cdcfe`},"exports.maybe-class-name":{color:`#9cdcfe`},escape:{color:`#d7ba7d`},"tag.punctuation":{color:`#808080`},cdata:{color:`#808080`},"attr-value":{color:`#ce9178`},"attr-value.punctuation":{color:`#ce9178`},"attr-value.punctuation.attr-equals":{color:`#d4d4d4`},namespace:{color:`#4ec9b0`},'pre[class*="language-javascript"]':{color:`#9cdcfe`},'code[class*="language-javascript"]':{color:`#9cdcfe`},'pre[class*="language-jsx"]':{color:`#9cdcfe`},'code[class*="language-jsx"]':{color:`#9cdcfe`},'pre[class*="language-typescript"]':{color:`#9cdcfe`},'code[class*="language-typescript"]':{color:`#9cdcfe`},'pre[class*="language-tsx"]':{color:`#9cdcfe`},'code[class*="language-tsx"]':{color:`#9cdcfe`},'pre[class*="language-css"]':{color:`#ce9178`},'code[class*="language-css"]':{color:`#ce9178`},'pre[class*="language-html"]':{color:`#d4d4d4`},'code[class*="language-html"]':{color:`#d4d4d4`},".language-regex .token.anchor":{color:`#dcdcaa`},".language-html .token.punctuation":{color:`#808080`},'pre[class*="language-"] > code[class*="language-"]':{position:`relative`,zIndex:`1`},".line-highlight.line-highlight":{background:`#f7ebc6`,boxShadow:`inset 5px 0 0 #f7d87c`,zIndex:`0`}},Ooe={bash:soe,c:coe,cpp:loe,csharp:uoe,css:doe,diff:foe,docker:poe,go:moe,java:hoe,javascript:goe,json:_oe,jsx:voe,markdown:yoe,markup:boe,python:xoe,rust:Soe,scss:Coe,sql:woe,tsx:Toe,typescript:Eoe,yaml:Doe};for(let[e,t]of Object.entries(Ooe))O8.registerLanguage(e,t);var koe=5e3,Aoe=800;function $8({code:e,lang:t,headerAction:n,isStreaming:r}){let{isDark:i}=PW(),{t:a}=M(),[o,s]=(0,d.useState)(!1),c=()=>{Z6(e).then(()=>{s(!0),setTimeout(()=>s(!1),1500)})},l=e.length>koe||r===!0&&e.length>Aoe;return(0,T.jsxs)(`div`,{className:`markdown-code-block`,children:[(0,T.jsxs)(`div`,{className:`markdown-code-header`,children:[(0,T.jsx)(`span`,{className:`markdown-code-lang`,children:t||`text`}),(0,T.jsxs)(`div`,{className:`markdown-code-actions`,children:[n,(0,T.jsx)(`button`,{onClick:c,className:`markdown-code-action`,children:a(o?`i18n.copied`:`i18n.copy`)})]})]}),l?(0,T.jsx)(`pre`,{className:`markdown-code-plain`,style:{margin:0,padding:`11px 13px`,fontSize:`var(--text-md)`,lineHeight:1.62,borderRadius:0,background:`color-mix(in srgb, var(--bg) 92%, var(--bg-panel))`,overflow:`auto`},children:(0,T.jsx)(`code`,{style:{fontFamily:`var(--font-mono)`},children:e})}):(0,T.jsx)(O8,{language:t||`text`,style:i?Q8:Z8,showLineNumbers:!0,lineNumberStyle:{color:`var(--text-dim)`,fontStyle:`normal`},customStyle:{margin:0,padding:`11px 13px`,fontSize:`var(--text-md)`,lineHeight:1.62,borderRadius:0,background:`color-mix(in srgb, var(--bg) 92%, var(--bg-panel))`},codeTagProps:{style:{fontFamily:`var(--font-mono)`}},children:e})]})}var e5=.25,t5=.5;function joe({svg:e,onClose:t}){let{t:n}=M(),r=(0,d.useRef)(null),[i,a]=(0,d.useState)(1);return(0,d.useEffect)(()=>{let e=r.current;if(!e)return;let t=document.body.style.overflow;return document.body.style.overflow=`hidden`,e.showModal(),()=>{document.body.style.overflow=t,e.open&&e.close()}},[]),(0,T.jsx)(`dialog`,{ref:r,className:`mermaid-zoom-dialog`,"aria-label":n(`i18n.mermaidViewer`),onCancel:e=>{e.preventDefault(),t()},onKeyDown:e=>{e.key===`Escape`&&(e.preventDefault(),t())},children:(0,T.jsxs)(`div`,{className:`mermaid-zoom-layout`,children:[(0,T.jsxs)(`div`,{className:`mermaid-zoom-toolbar`,children:[(0,T.jsx)(`span`,{className:`mermaid-zoom-title`,children:n(`i18n.mermaidDiagram`)}),(0,T.jsxs)(`div`,{className:`mermaid-zoom-actions`,children:[(0,T.jsxs)(`div`,{className:`mermaid-zoom-stepper`,children:[(0,T.jsx)(`button`,{type:`button`,onClick:()=>a(e=>Math.max(t5,e-e5)),disabled:i<=t5,title:n(`i18n.zoomOut`),"aria-label":n(`i18n.zoomOut`),children:(0,T.jsx)(`svg`,{width:I.lg,height:I.lg,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,"aria-hidden":`true`,children:(0,T.jsx)(`path`,{d:`M5 12h14`})})}),(0,T.jsxs)(`span`,{className:`mermaid-zoom-value`,children:[Math.round(i*100),`%`]}),(0,T.jsx)(`button`,{type:`button`,onClick:()=>a(e=>Math.min(3,e+e5)),disabled:i>=3,title:n(`i18n.zoomIn`),"aria-label":n(`i18n.zoomIn`),children:(0,T.jsx)(`svg`,{width:I.lg,height:I.lg,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,"aria-hidden":`true`,children:(0,T.jsx)(`path`,{d:`M12 5v14M5 12h14`})})})]}),(0,T.jsx)(`button`,{type:`button`,className:`mermaid-zoom-icon-button`,onClick:()=>a(1),title:n(`i18n.fitToWidth`),"aria-label":n(`i18n.fitToWidth`),children:(0,T.jsx)(`svg`,{width:I.lg,height:I.lg,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`,"aria-hidden":`true`,children:(0,T.jsx)(`path`,{d:`M8 3H3v5M16 3h5v5M8 21H3v-5M16 21h5v-5`})})}),(0,T.jsx)(`button`,{type:`button`,className:`mermaid-zoom-icon-button`,onClick:t,title:n(`i18n.close`),"aria-label":n(`i18n.close`),children:(0,T.jsx)(`svg`,{width:I.lg,height:I.lg,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,"aria-hidden":`true`,children:(0,T.jsx)(`path`,{d:`M6 6l12 12M18 6 6 18`})})})]})]}),(0,T.jsx)(`div`,{className:`mermaid-zoom-viewport`,onClick:e=>{e.target===e.currentTarget&&t()},children:(0,T.jsx)(`div`,{className:`mermaid-zoom-canvas`,style:{width:`${i*100}%`},dangerouslySetInnerHTML:{__html:e}})})]})})}function Moe({renderState:e,currentKey:t,t:n,zoomOpen:r,setZoomOpen:i}){return e?.key===t&&e.status===`error`?(0,T.jsx)(`div`,{className:`mermaid-block mermaid-block-error`,children:n(`i18n.invalidMermaid`)}):e?.key!==t||e.status!==`ready`?(0,T.jsx)(`div`,{className:`mermaid-block mermaid-block-loading`,"aria-label":n(`i18n.renderingMermaid`)}):(0,T.jsxs)(T.Fragment,{children:[!r&&(0,T.jsx)(`button`,{type:`button`,className:`mermaid-block mermaid-preview-button`,title:n(`i18n.openMermaidViewer`),"aria-label":n(`i18n.openMermaidViewer`),onClick:()=>i(!0),dangerouslySetInnerHTML:{__html:e.svg}}),r&&(0,T.jsx)(joe,{svg:e.svg,onClose:()=>i(!1)})]})}function n5({code:e,isStreaming:t,defaultPreview:n=!1}){let{isDark:r}=PW(),{t:i}=M(),[a,o]=(0,d.useState)(n),[s,c]=(0,d.useState)(null),[l,u]=(0,d.useState)(!1),f=`${r?`dark`:`light`}\n${e}`,p=a&&!t;(0,d.useEffect)(()=>{if(!p)return;let t=!1;return c({key:f,status:`loading`}),(async()=>{let{default:n}=await a4(async()=>{let{default:e}=await import(`./mermaid.core-WW6XcH9h.js`);return{default:e}},__vite__mapDeps([2,3,4,5,1,6,7,8,9,10,11,12,13,14,15,16,17,18,19]));if(n.initialize({startOnLoad:!1,securityLevel:`strict`,suppressErrorRendering:!0,theme:r?`dark`:`default`}),!await n.parse(e,{suppressErrors:!0}))throw Error(`Invalid Mermaid diagram`);let i=typeof crypto<`u`&&`randomUUID`in crypto?`mermaid-${crypto.randomUUID()}`:`mermaid-${Date.now()}-${Math.random().toString(36).slice(2)}`,a=await n.render(i,e);t||c({key:f,status:`ready`,svg:a.svg})})().catch(()=>{t||c({key:f,status:`error`})}),()=>{t=!0}},[e,f,r,p]);let m=(0,T.jsx)(`button`,{type:`button`,onClick:()=>o(e=>!e),disabled:t,title:i(t?`i18n.previewAfterStreaming`:p?`i18n.showMermaidSource`:`i18n.previewMermaid`),className:[`markdown-code-action`,p?`is-active`:``].filter(Boolean).join(` `),children:i(p?`i18n.source`:`i18n.preview`)});return p?(0,T.jsxs)(`div`,{className:`markdown-code-block`,children:[(0,T.jsxs)(`div`,{className:`markdown-code-header`,children:[(0,T.jsx)(`span`,{className:`markdown-code-lang`,children:`mermaid`}),m]}),(0,T.jsx)(Moe,{renderState:s,currentKey:f,t:i,zoomOpen:l,setZoomOpen:u})]}):(0,T.jsx)($8,{code:e,lang:`mermaid`,headerAction:m})}function r5({preview:e,footer:t,children:n,anchor:r}){let i=(0,d.useRef)(null),a=(0,d.useRef)(null),[o,s]=(0,d.useState)({top:0,left:0}),[c,l]=(0,d.useState)(void 0),[u,f]=(0,d.useState)(!1),p=(0,d.useRef)(void 0),m=(0,d.useRef)(r);(0,d.useEffect)(()=>{m.current=r});let h=(0,d.useRef)(void 0),g=(0,d.useCallback)(()=>{window.clearTimeout(h.current)},[]),_=(0,d.useCallback)(()=>{g(),h.current=window.setTimeout(()=>f(!1),Poe)},[g]),v=(0,d.useCallback)(()=>{o5||(g(),window.clearTimeout(p.current),p.current=window.setTimeout(()=>f(!0),120))},[g]),y=(0,d.useCallback)(()=>{window.clearTimeout(p.current),_()},[_]);(0,d.useEffect)(()=>()=>{window.clearTimeout(p.current),window.clearTimeout(h.current)},[]),(0,d.useLayoutEffect)(()=>{if(!u)return;let e=a.current;if(!e)return;try{e.showPopover()}catch{}let t=i.current;if(!t)return;let n=()=>{let n=(m.current?.()??null??t).getBoundingClientRect();if(!n)return;let r=e.offsetWidth,i=e.offsetHeight,a=window.innerWidth,o=window.innerHeight,c=Math.max(a5,Math.min(n.left+Noe,a-r-a5)),u=o-a5-n.bottom,d=n.top-a5,f=u>=d,p=Math.max(96,Math.floor(f?u:d)-i5);l(e=>e===p?e:p);let h=Math.min(i,p),g=f?n.bottom+i5:n.top-i5-h;s({top:g,left:c})};n();let r=window.requestAnimationFrame(n),o=new ResizeObserver(n);return o.observe(e),()=>{window.cancelAnimationFrame(r);try{e.hidePopover()}catch{}o.disconnect()}},[u]);let b=u&&typeof document<`u`?(0,mo.createPortal)((0,T.jsxs)(`div`,{ref:a,popover:`manual`,onPointerEnter:g,onPointerLeave:_,role:`tooltip`,className:`hover-preview-panel`,style:{position:`fixed`,top:o.top,left:o.left,width:`min(48rem, calc(100vw - 16px))`,maxHeight:c,display:`flex`,flexDirection:`column`,overflow:`hidden`,background:`var(--bg)`,color:`var(--text)`,border:`1px solid var(--border)`,borderRadius:`var(--radius-md, 6px)`,padding:`2px 14px 6px`,fontSize:`var(--text-base)`,lineHeight:1.5,boxShadow:`0 4px 16px -2px var(--shadow-strong)`,pointerEvents:`none`},children:[(0,T.jsx)(`div`,{className:`hover-preview-scroll`,style:{minHeight:0,flex:`0 1 auto`,overflowY:`auto`,pointerEvents:`auto`},children:e}),t?(0,T.jsxs)(T.Fragment,{children:[(0,T.jsx)(`div`,{"aria-hidden":!0,style:{height:1,marginTop:4,flexShrink:0,background:`linear-gradient(90deg, transparent 0, var(--border) 24px, var(--border) calc(100% - 24px), transparent 100%)`}}),(0,T.jsx)(`div`,{style:{padding:`4px 0 2px`,display:`flex`,justifyContent:`flex-end`,flexShrink:0,pointerEvents:`auto`},children:t})]}):null]}),document.body):null;return(0,T.jsxs)(`span`,{ref:i,onPointerEnter:v,onPointerLeave:y,style:{display:`block`,minWidth:0},children:[n,b]})}var i5=6,a5=8,Noe=32,Poe=300,o5=!1;function Foe(){o5=!0,document.addEventListener(`pointermove`,()=>{o5=!1},{capture:!0,once:!0})}function s5({children:e,className:t,isStreaming:n,cwd:r,onOpenFile:i,noClamp:a}){let{t:o}=M(),[s,c]=(0,d.useState)(!1),l=(0,d.useRef)(null),u=!s&&e.length>1e5,f=!a&&e.length>2400&&!n,p=f&&!s,m=p&&!u,h=(0,d.useMemo)(()=>u?yae(e):e,[u,e]),g=(0,d.useMemo)(()=>$B(h),[h]),_=(0,d.useMemo)(()=>n?`${g.replace(/\n+$/,``)}`:g,[n,g]),v=(0,d.useMemo)(()=>n?[...sV??[],dV]:sV,[n]),y=(0,d.useMemo)(()=>({code({className:e,children:t,...r}){let i=e?.replace(`language-`,``).toLowerCase()??``,a=String(t);return e?.includes(`language-`)||a.includes(`
|
|
488
|
+
`)?i===`mermaid`?(0,T.jsx)(n5,{code:a.replace(/\n$/,``),isStreaming:n}):(0,T.jsx)($8,{code:a.replace(/\n$/,``),lang:i,isStreaming:n}):(0,T.jsx)(`code`,{className:`markdown-inline-code`,...r,children:t})},pre({children:e}){return(0,T.jsx)(T.Fragment,{children:e})},a({href:e,children:t,...n}){delete n.node;let a=i?xV(e,r):null,o=i;if(!a||!o)return(0,T.jsx)(`a`,{href:e,...n,target:`_blank`,rel:`noopener noreferrer`,children:t});let s=e=>{if(e.defaultPrevented||e.button!==0||e.metaKey||e.ctrlKey||e.shiftKey||e.altKey)return;let t=e.currentTarget.getAttribute(`target`);t&&t!==`_self`||(e.preventDefault(),o(a))};return(0,T.jsx)(`a`,{href:e,...n,onClick:s,children:t})},img({src:e,alt:t,...n}){delete n.node;let i=typeof e==`string`?xV(e,r):null,a=i?`/api/files/${tx(i)}?type=read`:e;return(0,T.jsx)(`img`,{src:a,alt:t??``,loading:`lazy`,...n})},table({children:e}){return(0,T.jsx)(`div`,{className:`markdown-table-wrap`,children:(0,T.jsx)(`table`,{children:e})})},blockquote({children:e}){return(0,T.jsx)(`blockquote`,{children:e})}}),[r,n,i]),b=(0,T.jsxs)(`div`,{className:[`markdown-body`,`text-clamp-block`,p?`is-collapsed`:void 0,t].filter(Boolean).join(` `),style:{whiteSpace:`pre-wrap`},children:[(0,T.jsx)(`div`,{className:`text-clamp-content`,children:(0,T.jsx)(Y6,{remarkPlugins:aV??void 0,rehypePlugins:v??void 0,components:y,children:_})}),(u||f)&&(0,T.jsxs)(`button`,{type:`button`,ref:l,"aria-label":o(s&&!u?`chat.collapseMessage`:`chat.expandMessage`),title:o(s&&!u?`chat.collapseMessage`:`chat.expandMessage`),onClick:()=>c(e=>!e||u),className:`text-clamp-toggle`,children:[s&&!u?(0,T.jsx)(`svg`,{width:I.base,height:I.base,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2.5`,strokeLinecap:`round`,strokeLinejoin:`round`,"aria-hidden":`true`,children:(0,T.jsx)(`path`,{d:`m18 15-6-6-6 6`})}):(0,T.jsx)(`svg`,{width:I.base,height:I.base,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2.5`,strokeLinecap:`round`,strokeLinejoin:`round`,"aria-hidden":`true`,children:(0,T.jsx)(`path`,{d:`m6 9 6 6 6-6`})}),o(s&&!u?`chat.collapseMessage`:`chat.expandMessage`)]})]});return m?(0,T.jsx)(r5,{anchor:()=>l.current,preview:(0,T.jsx)(`div`,{className:`preview-body`,style:{flex:`0 1 auto`,minHeight:0,overflow:`hidden`,display:`flex`,flexDirection:`column`},children:(0,T.jsx)(`div`,{style:{overflowY:`auto`,flex:1,minHeight:0,width:`100%`},children:(0,T.jsx)(s5,{noClamp:!0,cwd:r,onOpenFile:i,children:e})})}),children:b}):b}function Ioe(e,t,n){let r=[],i=(e,n)=>{r.push(`${e}: ${n.toLocaleString(t)}`)};i(n(`session.input`),e.input),i(n(`session.output`),e.output),i(n(`session.cacheRead`),e.cacheRead),i(n(`session.cacheWrite`),e.cacheWrite),e.cost?.total>0&&r.push(`${n(`session.cost`)}: $${e.cost.total.toFixed(4)}`);let a=YZ(e);return r.push(`${n(`session.cacheHitRate`)}: ${a===null?`--`:`${a.toFixed(1)}%`}`),r.join(` · `)}function c5({usage:e}){let{t,locale:n}=M();return(0,T.jsx)(F,{label:Ioe(e,n,t),children:(0,T.jsxs)(`div`,{"data-testid":`message-usage-stats`,style:{display:`flex`,alignItems:`center`,gap:10,fontSize:`var(--text-sm)`,color:`var(--text-dim)`,fontVariantNumeric:`tabular-nums`},children:[tQ.map(n=>{let r=e[n.key];return(0,T.jsx)(eQ,{color:n.color,svg:n.svg,value:QZ(r),badge:n.key===`cacheRead`?XZ(YZ(e),t,!1):void 0},n.key)}),e.cost?.total>0&&(0,T.jsx)(`span`,{style:ZZ,children:$Z(e.cost.total)})]})})}function l5({textContent:e}){let{t}=M(),[n,r]=(0,d.useState)(!1);return(0,T.jsxs)(`button`,{onClick:()=>{Z6(e).then(()=>{r(!0),setTimeout(()=>r(!1),1500)})},title:t(`i18n.copyMessage`),"aria-label":t(`i18n.copyMessage`),style:{display:`inline-flex`,alignItems:`center`,gap:4,padding:`2px 8px`,height:22,flexShrink:0,border:`none`,borderRadius:5,color:n?`var(--accent)`:`var(--text-dim)`,cursor:`pointer`,fontSize:`var(--text-sm)`,fontWeight:400,whiteSpace:`nowrap`,transition:`color 0.12s`},children:[n?(0,T.jsx)(`svg`,{width:I.sm,height:I.sm,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`1.8`,strokeLinecap:`round`,strokeLinejoin:`round`,children:(0,T.jsx)(`polyline`,{points:`20 6 9 17 4 12`})}):(0,T.jsxs)(`svg`,{width:I.sm,height:I.sm,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`1.8`,strokeLinecap:`round`,strokeLinejoin:`round`,children:[(0,T.jsx)(`rect`,{x:`9`,y:`9`,width:I.lg,height:I.lg,rx:`2`,ry:`2`}),(0,T.jsx)(`path`,{d:`M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1`})]}),t(n?`i18n.copied`:`i18n.copy`)]})}function Loe({usage:e,isStreaming:t,timestamp:n,showUsage:r=!0}){return(0,T.jsx)(T.Fragment,{children:(0,T.jsxs)(`div`,{style:{display:`flex`,alignItems:`center`,gap:8,marginTop:2},children:[e&&r&&!t&&(0,T.jsx)(c5,{usage:e}),n&&!t&&(0,T.jsx)(F,{label:new Date(n).toLocaleString([],{year:`numeric`,month:`2-digit`,day:`2-digit`,hour:`2-digit`,minute:`2-digit`,second:`2-digit`}),children:(0,T.jsx)(`span`,{style:{display:`inline-flex`,alignItems:`center`,gap:4,fontSize:`var(--text-xs)`,color:`var(--text-dim)`,marginLeft:`auto`,fontVariantNumeric:`tabular-nums`},children:(0,T.jsx)(Sr,{size:I.sm})})})]})})}function Roe(e,t){return t.runningToolIds?.has(e.toolCallId)===!0&&!t.toolResults?.get(`${t.entryId}:${e.toolCallId}`)}function zoe(e,t){let n=new Set;for(let r of e){let e=r.block;e.type===`toolCall`&&Roe(e,t)&&n.add(r.originalIndex)}return n}function Boe({answerPreview:e}){let[t,n]=(0,d.useState)(!1),[r,i]=(0,d.useState)(!1),a=(0,d.useRef)(null),o=(0,d.useRef)(null),s=(0,d.useCallback)(e=>{let t=a.current;if(!t)return;let n=Math.max(0,t.scrollHeight-t.clientHeight),r=o.current??t.scrollTop,i=Math.max(0,Math.min(n,r+e*200));o.current=i,t.scrollTo({top:i,behavior:`auto`})},[]);return(0,d.useEffect)(()=>{let e=a.current;if(!e)return;let t=()=>{let t=e.scrollTop>1,r=e.scrollTop+e.clientHeight<e.scrollHeight-1;n(t),i(r)},r=()=>t();return e.addEventListener(`scroll`,r,{passive:!0}),e.scrollTop=e.scrollHeight,t(),()=>e.removeEventListener(`scroll`,r)},[]),(0,T.jsxs)(`div`,{style:{position:`relative`,borderBottom:`1px solid var(--border)`},children:[(0,T.jsx)(`div`,{"data-turn-preview-zone":!0,ref:a,style:{maxHeight:400,overflowY:`auto`,padding:`5px 10px 3px`,background:`var(--bg)`},children:(0,T.jsx)(s5,{noClamp:!0,children:e})}),t&&(0,T.jsx)(YH,{direction:`up`,visible:!0,testId:`turn-preview-scroll-up-arrow`,onHover:()=>s(-1)}),r&&(0,T.jsx)(YH,{direction:`down`,visible:!0,testId:`turn-preview-scroll-down-arrow`,onHover:()=>s(1)})]})}function u5({models:e,messageCount:t,toolCallCount:n,artifacts:r,cwd:i,onOpenFile:a,t:o,timestamp:s,durationSecs:c,expanded:l=!0,answerPreview:u,stopped:f,expandMode:p=`inline`,headerMode:m=!1,streaming:h=!1,onPreviewHover:g,estTokens:_,tps:v=null}){let[y,b]=(0,d.useState)(!1),x=e=>!i||/^([a-zA-Z]:[\\/]|\\\\|\/)/.test(e)?e:ax(i,ex(e)),S=r??[],C=e=>(0,T.jsx)(`div`,{style:{padding:`6px 10px 8px`,background:`var(--bg)`,borderRadius:e?`0 0 7px 7px`:7,...e?{}:{maxWidth:420}},children:S.map(t=>{let n=(0,T.jsx)(`span`,{className:e&&i&&a?`file-link`:void 0,style:{fontFamily:`var(--font-mono)`,color:e&&i&&a?void 0:`var(--text)`,overflow:`hidden`,textOverflow:`ellipsis`,whiteSpace:`nowrap`},children:t.path});return(0,T.jsxs)(`div`,{style:{display:`flex`,alignItems:`center`,gap:8,padding:`3px 0`,fontSize:`var(--text-sm)`,minWidth:0},children:[e&&i&&a?(0,T.jsx)(`button`,{type:`button`,onClick:()=>a(x(t.path)),title:o(`chat.turnArtifacts.openFile`),style:{display:`flex`,minWidth:0,flexShrink:1,background:`none`,border:`none`,padding:0,cursor:`pointer`,font:`inherit`},children:n}):(0,T.jsx)(`span`,{style:{display:`flex`,minWidth:0},children:n}),t.stats&&(t.stats.additions>0||t.stats.deletions>0)&&(0,T.jsxs)(`span`,{style:{flexShrink:0,fontFamily:`var(--font-mono)`,fontSize:`var(--text-xs)`,color:`var(--status-success)`},children:[`+`,t.stats.additions]}),t.stats&&t.stats.deletions>0&&(0,T.jsxs)(`span`,{style:{flexShrink:0,fontFamily:`var(--font-mono)`,fontSize:`var(--text-xs)`,color:`var(--status-error)`},children:[`−`,t.stats.deletions]}),(0,T.jsx)(`span`,{style:{flexShrink:0,marginLeft:`auto`,fontFamily:`var(--font-mono)`,fontSize:`var(--text-xs)`,color:`var(--text-dim)`,border:`1px solid var(--border)`,borderRadius:999,padding:`0 7px`},children:t.toolName})]},t.path)})}),w={display:`flex`,alignItems:`center`,gap:4,flexShrink:0,fontVariantNumeric:`tabular-nums`,color:`var(--text-muted)`};return(0,T.jsxs)(`div`,{"data-testid":h?`turn-footer-streaming`:`pd-group-header`,"data-turn-expanded":h?void 0:l?`true`:`false`,style:{border:`1px solid var(--border)`,borderRadius:8,background:`var(--bg-panel)`,color:`var(--text-muted)`,fontSize:`var(--text-base)`,lineHeight:1.6,overflow:`hidden`},children:[!l&&u&&(0,T.jsx)(Boe,{answerPreview:u}),(0,T.jsxs)(`div`,{"data-turn-footer-bar":``,style:{display:`flex`,alignItems:`center`,gap:10,width:`100%`,minHeight:24,padding:`3px 10px`},children:[(0,T.jsxs)(`span`,{style:{display:`flex`,alignItems:`center`,gap:10,flex:1,minWidth:0},children:[!m&&!h&&(0,T.jsx)(`span`,{"data-turn-toggle":``,"data-testid":`turn-footer-toggle`,onMouseEnter:()=>g?.(!0),onMouseLeave:()=>g?.(!1),style:{display:`flex`,flexShrink:0,cursor:`pointer`},children:!l&&p===`modal`?(0,T.jsx)($r,{size:I.base,"aria-hidden":!0,style:{flexShrink:0,color:`var(--text-dim)`}}):(0,T.jsx)(gr,{size:I.base,"aria-hidden":!0,style:{flexShrink:0,color:`var(--text-dim)`,transition:`transform 0.15s`,transform:l?`rotate(-90deg)`:void 0}})}),(0,T.jsx)(`span`,{style:{flex:1,minWidth:0,overflow:`hidden`,textOverflow:`ellipsis`,whiteSpace:`nowrap`},children:e.map((e,t)=>(0,T.jsxs)(`span`,{title:`${e.provider}/${e.name}`,style:{whiteSpace:`nowrap`},children:[t>0&&(0,T.jsx)(`span`,{style:{color:`var(--text-muted)`},children:` / `}),(0,T.jsxs)(`span`,{style:{color:`var(--text-dim)`},children:[e.provider,`/`]}),(0,T.jsx)(`span`,{style:{fontWeight:700,color:`var(--text)`},children:e.name})]},`${e.provider}/${e.name}`))}),h&&_!==void 0&&_>0&&(0,T.jsxs)(`span`,{style:{display:`flex`,alignItems:`center`,gap:4,flexShrink:0,color:`var(--text)`,marginLeft:6},title:o(`i18n.estimatedTokens`),children:[(0,T.jsxs)(`span`,{style:{display:`flex`,alignItems:`center`,gap:2,fontSize:`var(--text-sm)`,fontWeight:400},children:[(0,T.jsxs)(`svg`,{width:I.xs,height:I.xs,viewBox:`0 0 10 10`,fill:`none`,stroke:`currentColor`,strokeWidth:`1.2`,strokeLinecap:`round`,strokeLinejoin:`round`,children:[(0,T.jsx)(`line`,{x1:`5`,y1:`1.5`,x2:`5`,y2:`8.5`}),(0,T.jsx)(`polyline`,{points:`2 6 5 8.5 8 6`})]}),_]}),v!=null&&(0,T.jsxs)(`span`,{style:{marginLeft:6,padding:`1px 6px`,borderRadius:4,background:v>=50?`#53b3cb`:v>=30?`#9bc53d`:v>=15?`#f9c22e`:`#e01a4f`,color:`#fff`,fontSize:`var(--text-sm)`,fontWeight:400},children:[v.toFixed(1),` t/s`]})]})]}),!h&&(0,T.jsxs)(`span`,{style:{display:`flex`,alignItems:`center`,gap:10,flexShrink:0,background:`var(--bg-panel)`,borderRadius:6,padding:`1px 8px`},children:[f&&(0,T.jsx)(F,{label:o(`chat.stoppedByUser`),wrapperStyle:{display:`flex`,flexShrink:0},children:(0,T.jsx)(`span`,{"data-testid":`turn-footer-stopped`,"aria-label":o(`chat.stoppedByUser`),style:{...w,cursor:`default`,color:`var(--text-dim)`},children:`⏹`})}),S.length>0&&(0,T.jsx)(F,{label:C(!1),wrapperStyle:{display:`flex`,flexShrink:0},children:(0,T.jsxs)(`span`,{"data-artifacts-zone":!0,"data-testid":`turn-footer-files`,"aria-label":o(`chat.turnArtifacts.title`,{count:S.length}),title:o(`chat.turnArtifacts.title`,{count:S.length}),onClick:e=>{e.stopPropagation(),b(e=>!e)},style:{...w,cursor:`pointer`,color:`var(--text-muted)`},children:[(0,T.jsx)(Fr,{size:I.base,style:{flexShrink:0,color:`var(--status-info)`}}),S.length,(0,T.jsx)(`span`,{className:`turn-footer-stat-label`,children:o(`chat.statFiles`)}),(0,T.jsx)(hr,{size:I.base,style:{flexShrink:0,transition:`transform 0.15s`,transform:y?`rotate(180deg)`:void 0}})]})}),(0,T.jsx)(F,{label:o(t===1?`chat.message`:`chat.messages`,{count:t}),wrapperStyle:{display:`flex`,flexShrink:0},children:(0,T.jsxs)(`span`,{"data-testid":`turn-footer-messages`,style:w,children:[(0,T.jsx)(ti,{size:I.base,style:{flexShrink:0}}),t,(0,T.jsx)(`span`,{className:`turn-footer-stat-label`,children:o(`chat.statMessages`)})]})}),n>0&&(0,T.jsx)(F,{label:o(n===1?`chat.toolCall`:`chat.toolCalls`,{count:n}),wrapperStyle:{display:`flex`,flexShrink:0},children:(0,T.jsxs)(`span`,{"data-testid":`turn-footer-tools`,style:w,children:[(0,T.jsx)(Ai,{size:I.base,style:{flexShrink:0}}),n,(0,T.jsx)(`span`,{className:`turn-footer-stat-label`,children:o(`chat.statTools`)})]})}),(s!==void 0||c!==void 0)&&(0,T.jsx)(F,{label:s===void 0?void 0:new Date(s).toLocaleString([],{year:`numeric`,month:`2-digit`,day:`2-digit`,hour:`2-digit`,minute:`2-digit`,second:`2-digit`}),children:(0,T.jsxs)(`span`,{"data-testid":`turn-footer-duration`,style:{...w,cursor:`default`},children:[(0,T.jsx)(Sr,{size:I.sm,style:{flexShrink:0}}),c!==void 0&&gX(c)]})})]})]}),S.length>0&&y&&C(!0)]})}var d5=24;function f5({text:e}){let t=(0,d.useMemo)(()=>e.split(/\r?\n/),[e]);return typeof ResizeObserver>`u`||t.length<50&&e.length<5e3?(0,T.jsx)(`div`,{style:{whiteSpace:`pre-wrap`,overflowWrap:`break-word`},children:e}):(0,T.jsx)(MG,{data:t,itemSize:d5,children:e=>(0,T.jsx)(`div`,{style:{minHeight:d5,lineHeight:`${d5}px`,whiteSpace:`pre-wrap`,overflowWrap:`break-word`},children:e})})}function p5({header:e,body:t,isStreaming:n=!1,defaultExpanded:r=!1,preview:i,footer:a,footerPadding:o,persistKey:s}){let c=tZ(s),[l,u]=(0,d.useState)(null),f=c===void 0?l??r:c,p=(0,d.useCallback)(e=>{s?$X(s,e):u(e)},[s]);return n?(0,T.jsxs)(T.Fragment,{children:[(0,T.jsx)(`div`,{className:`streaming-header-sweep`,style:{position:`relative`,overflow:`hidden`},children:e(Voe,{collapsed:!1})}),t()]}):f?(0,T.jsxs)(T.Fragment,{children:[(0,T.jsx)(`div`,{className:n?`streaming-header-sweep`:void 0,style:n?{position:`relative`,overflow:`hidden`}:void 0,children:e({onClick:()=>p(!1),"aria-expanded":!0,"data-long-block-toggle":``,style:{cursor:`pointer`}},{collapsed:!1})}),t(),a?(0,T.jsxs)(T.Fragment,{children:[(0,T.jsx)(`div`,{"aria-hidden":!0,style:{height:1,marginTop:4,flexShrink:0,background:`linear-gradient(90deg, transparent 0, var(--border) 24px, var(--border) calc(100% - 24px), transparent 100%)`}}),(0,T.jsx)(`div`,{onClick:()=>p(!1),title:`点击折叠此块`,style:{padding:o??`2px 14px 4px`,display:`flex`,justifyContent:`flex-end`,cursor:`pointer`},children:a})]}):null]}):(0,T.jsx)(r5,{footer:a,preview:(0,T.jsx)(`div`,{className:`preview-body`,style:{minHeight:0,overflow:`hidden`,display:`flex`,flexDirection:`column`},children:i?i():t()}),children:e({onClick:()=>{Foe(),p(!0)},"aria-expanded":!1,"data-long-block-toggle":``,style:{cursor:`pointer`}},{collapsed:!0})})}var Voe={onClick:()=>{},"aria-expanded":!0,style:{cursor:`default`}},Hoe=50,Uoe=400;function m5(e,t,n){let r=(0,d.useRef)(!1),i=(0,d.useRef)(0),a=()=>{i.current=Date.now()};return(0,d.useLayoutEffect)(()=>{let n=e.current;if(!t||!n||r.current)return;let i=0,a=()=>{if(r.current)return;let e=n.scrollHeight,t=n.clientHeight;n.scrollTop!==e-t&&(n.scrollTop=e-t),typeof requestAnimationFrame==`function`&&(i=requestAnimationFrame(()=>{n.scrollHeight!==e&&a()}))};return a(),()=>cancelAnimationFrame(i)},[t,...n]),(0,d.useLayoutEffect)(()=>{let t=e.current;if(t)return t.addEventListener(`wheel`,a,{passive:!0}),t.addEventListener(`touchstart`,a,{passive:!0}),t.addEventListener(`touchmove`,a,{passive:!0}),t.addEventListener(`keydown`,a),t.addEventListener(`pointerdown`,a),()=>{t.removeEventListener(`wheel`,a),t.removeEventListener(`touchstart`,a),t.removeEventListener(`touchmove`,a),t.removeEventListener(`keydown`,a),t.removeEventListener(`pointerdown`,a)}},[e]),()=>{let t=e.current;if(!t)return;let n=t.scrollHeight-t.scrollTop-t.clientHeight>Hoe;n&&Date.now()-i.current<=Uoe?r.current=!0:n||(r.current=!1)}}function h5({text:e,isStreaming:t,maxHeight:n=400,style:r}){let i=(0,d.useRef)(null),a=m5(i,t??!1,[e]);return(0,T.jsx)(`div`,{ref:i,onScroll:a,className:`pv-shrink`,style:{maxHeight:n,overflowY:`auto`,contentVisibility:`auto`,containIntrinsicBlockSize:n,...r},children:(0,T.jsx)(f5,{text:e})})}var Woe=100,g5=new Map;function Goe(e,t,n){let r=`${e}:${t}:${n}`,i=g5.get(r);if(i)return g5.delete(r),g5.set(r,i),i;let a=fetch(`/api/sessions/${encodeURIComponent(e)}/entries/${encodeURIComponent(t)}/thinking?blockIndex=${n}`).then(async e=>{if(!e.ok)throw Error(`HTTP ${e.status}`);let t=await e.json();if(typeof t.thinking!=`string`)throw Error(`Invalid thinking response`);return t.thinking}).catch(e=>{throw g5.delete(r),e});if(g5.set(r,a),g5.size>Woe){let e=g5.keys().next().value;e&&g5.delete(e)}return a}function Koe({block:e,sessionId:t,entryId:n,blockIndex:r,isStreaming:i=!1,keepExpanded:a=!1,footer:o}){let{t:s}=M(),[c,l]=(0,d.useState)(null),[u,f]=(0,d.useState)(!1),[p,m]=(0,d.useState)(null),h=(0,d.useRef)(!1);(0,d.useEffect)(()=>{e.deferred&&!h.current&&(h.current=!0,g())},[]);let g=async()=>{if(!(!e.deferred||c!==null)){if(!t||!n){m(s(`i18n.thinkingUnavailable`));return}f(!0),m(null);try{l(await Goe(t,n,r))}catch(e){m(e instanceof Error?e.message:String(e))}finally{f(!1)}}},_=e.deferred?c:e.thinking,v={padding:`4px 14px 8px 14px`,borderTop:`1px solid var(--border)`,fontSize:`var(--text-lg)`,lineHeight:1.6,color:`var(--text-muted)`,whiteSpace:`pre-wrap`,overflowWrap:`anywhere`,fontFamily:`var(--font-mono)`},y=u?(0,T.jsxs)(`span`,{style:{color:`var(--text-dim)`},children:[s(`i18n.loading`),`...`]}):p?(0,T.jsx)(`span`,{style:{color:`var(--status-error)`},children:p}):_?(0,T.jsx)(h5,{text:_,isStreaming:i,style:v}):v$(e)?(0,T.jsx)(`span`,{style:{color:`var(--text-dim)`,fontStyle:`italic`},children:s(`i18n.thinkingEncrypted`)}):null;return(0,T.jsx)(`div`,{className:`hover-pv-block`,style:{borderRadius:6,overflow:`hidden`,fontSize:`var(--text-base)`},children:(0,T.jsx)(p5,{isStreaming:i,defaultExpanded:a,persistKey:n?`${n}:t${r}`:void 0,footer:o,footerPadding:`2px 14px 4px`,header:(e,{collapsed:t})=>(0,T.jsxs)(`div`,{...e,"data-testid":`thinking-block-header`,style:{...e.style,display:`flex`,alignItems:`center`,gap:6,padding:`2px 8px`,color:`var(--status-warning)`,fontSize:`var(--text-base)`,minWidth:0},children:[(0,T.jsx)(Jr,{size:I.base,fill:`currentColor`,style:{flexShrink:0,color:`var(--bulb-warning)`}}),(0,T.jsx)(`span`,{style:{flexShrink:0},children:s(`i18n.thinking`)}),t&&_&&(0,T.jsx)(`span`,{style:{flex:1,minWidth:0,overflow:`hidden`,textOverflow:`ellipsis`,whiteSpace:`nowrap`,color:`var(--text-muted)`,fontSize:`var(--text-sm)`},children:_.slice(0,160)})]}),body:()=>y??(0,T.jsx)(`div`,{className:`pv-shrink`,style:v,children:(0,T.jsx)(`span`,{style:{color:`var(--text-dim)`},children:s(`i18n.noThinking`)})})})})}function qoe({children:e,testId:t,style:n}){return(0,T.jsx)(`span`,{"data-testid":t,style:{position:`absolute`,top:4,right:8,zIndex:1,padding:`1px 6px`,background:`var(--bg)`,color:`var(--accent)`,border:`1px solid var(--border)`,borderRadius:`var(--radius-sm, 4px)`,fontSize:`var(--text-sm)`,fontWeight:600,lineHeight:1.5,whiteSpace:`nowrap`,pointerEvents:`none`,...n},children:e})}function _5(e){let t=v5(e);if(t){let e=0,n=0;for(let r of t)for(let t of r.rows)t.type===`line`&&(t.left.type===`removed`&&(n+=1),t.right.type===`added`&&(e+=1));return{additions:e,deletions:n}}let n=0,r=0;for(let t of e.split(/\r?\n/))t.startsWith(`+`)&&!t.startsWith(`+++`)?n+=1:t.startsWith(`-`)&&!t.startsWith(`---`)&&(r+=1);return{additions:n,deletions:r}}function v5(e){let t=[],n=null,r,i=0,a=0,o=[],s=[],c=()=>({lineNo:null,text:``,type:`empty`}),l=()=>{if(!n){o=[],s=[];return}let e=Math.max(o.length,s.length);for(let t=0;t<e;t++){let e=o[t]?{lineNo:o[t].lineNo,text:o[t].text,type:`removed`}:c(),r=s[t]?{lineNo:s[t].lineNo,text:s[t].text,type:`added`}:c();n.rows.push({type:`line`,left:e,right:r})}o=[],s=[]};for(let c of e.split(/\r?\n/)){if(c.startsWith(`--- `)){l(),r=y5(c.slice(4));continue}if(c.startsWith(`+++ `)){l(),n={oldPath:r,newPath:y5(c.slice(4)),rows:[]},t.push(n);continue}let e=c.match(/^@@ -(\d+)(?:,\d+)? \+(\d+)(?:,\d+)? @@/);if(e){n||(n={rows:[]},t.push(n)),l(),i=Number(e[1]),a=Number(e[2]),n.rows.push({type:`hunk`,text:c});continue}if(!n)continue;if(c.startsWith(`\\ `)){l(),n.rows.push({type:`hunk`,text:c});continue}let u=c[0],d=c.slice(1);u===` `?(l(),n.rows.push({type:`line`,left:{lineNo:i++,text:d,type:`context`},right:{lineNo:a++,text:d,type:`context`}})):u===`-`?o.push({lineNo:i++,text:d}):u===`+`?s.push({lineNo:a++,text:d}):c!==``&&(l(),n.rows.push({type:`hunk`,text:c}))}l();let u=t.filter(e=>e.rows.some(e=>e.type===`line`));return u.length>0?u:null}function y5(e){return e.split(` `)[0].trim()}function Joe(e){let t=e.details;if(!Tp(t))return null;let n=typeof t.patch==`string`?t.patch:null;if(n)return{text:n};let r=typeof t.diff==`string`?t.diff:null;return r?{text:r}:null}function b5(e){if(typeof e!=`string`||!e)return!1;let t=e.toLowerCase();return t===`edit`||t.startsWith(`edit_`)||t.endsWith(`.edit`)||t.endsWith(`_edit`)||t.includes(`str_replace`)||t.includes(`replace_editor`)}function Yoe({diff:e}){return(0,T.jsx)(`div`,{style:{marginTop:6,borderRadius:`var(--radius-md, 6px)`,overflow:`hidden`,background:`var(--bg-subtle)`},children:(0,T.jsx)(Xoe,{text:e.text})})}function Xoe({text:e}){let{t}=M(),n=(0,d.useMemo)(()=>v5(e),[e]);if(!n)return(0,T.jsx)($oe,{text:e});let r=n.length>1;return(0,T.jsx)(`div`,{style:{maxHeight:560,overflowY:`auto`,overflowX:`hidden`,background:`transparent`,contentVisibility:`auto`,containIntrinsicBlockSize:560},children:n.map((e,n)=>(0,T.jsxs)(`div`,{style:{minWidth:0,borderTop:n===0?`none`:`1px solid var(--border)`,fontFamily:`var(--font-mono)`,fontSize:`var(--text-base)`,lineHeight:1.55},children:[r&&(0,T.jsxs)(`div`,{style:{display:`grid`,gridTemplateColumns:`minmax(0, 1fr) minmax(0, 1fr)`,position:`sticky`,top:0,zIndex:1,background:`var(--bg-subtle)`,borderBottom:`1px solid var(--border)`},children:[(0,T.jsx)(x5,{title:e.oldPath||t(`i18n.before`),side:`left`}),(0,T.jsx)(x5,{title:e.newPath||t(`i18n.after`),side:`right`})]}),(0,T.jsx)(`div`,{style:{display:`grid`,gridTemplateColumns:`minmax(0, 1fr) minmax(0, 1fr)`},children:e.rows.map((e,t)=>e.type===`hunk`?null:(0,T.jsxs)(`div`,{style:{display:`contents`},children:[(0,T.jsx)(S5,{cell:e.left,side:`left`}),(0,T.jsx)(S5,{cell:e.right,side:`right`})]},t))})]},n))})}function x5({title:e,side:t}){return(0,T.jsx)(`div`,{title:e,style:{padding:`5px 10px`,color:`var(--text-dim)`,borderRight:t===`left`?`1px solid var(--border)`:`none`,overflow:`hidden`,textOverflow:`ellipsis`,whiteSpace:`nowrap`},children:e})}function S5({cell:e,side:t}){let n=e.type===`added`?`color-mix(in srgb, var(--status-success) 12%, transparent)`:e.type===`removed`?`color-mix(in srgb, var(--status-error) 13%, transparent)`:e.type===`empty`?`var(--bg-subtle)`:`transparent`,r=e.type===`added`?`+`:e.type===`removed`?`-`:` `,i=e.type===`added`?`var(--status-success)`:e.type===`removed`?`var(--status-error)`:`var(--text-dim)`;return(0,T.jsxs)(`div`,{style:{display:`flex`,minWidth:0,background:n,borderRight:t===`left`?`1px solid var(--border)`:`none`},children:[(0,T.jsx)(`span`,{style:{width:42,padding:`0 6px`,textAlign:`right`,color:`var(--text-dim)`,userSelect:`none`,background:`var(--bg)`,borderRight:`1px solid var(--border)`,flexShrink:0},children:e.lineNo??``}),(0,T.jsx)(`span`,{style:{width:18,padding:`0 5px`,color:i,userSelect:`none`,fontWeight:e.type===`context`||e.type===`empty`?400:700,flexShrink:0},children:r}),(0,T.jsx)(`span`,{style:{flex:1,minWidth:0,padding:`0 10px 0 0`,color:e.type===`empty`?`var(--text-dim)`:`var(--text)`,whiteSpace:`pre-wrap`,overflowWrap:`anywhere`},children:e.text||`\xA0`})]})}var Zoe={added:{bg:`color-mix(in srgb, var(--status-success) 12%, transparent)`,color:`var(--status-success)`,borderLeft:`3px solid var(--status-success)`},removed:{bg:`color-mix(in srgb, var(--status-error) 13%, transparent)`,color:`var(--status-error)`,borderLeft:`3px solid var(--status-error)`},hunk:{bg:`color-mix(in srgb, var(--accent) 12%, transparent)`,color:`var(--accent)`,borderLeft:`3px solid var(--accent)`},context:{bg:`transparent`,color:`var(--text)`,borderLeft:`3px solid transparent`}};function Qoe(e){return e.startsWith(`@@`)?`hunk`:e.startsWith(`+`)&&!e.startsWith(`+++`)?`added`:e.startsWith(`-`)&&!e.startsWith(`---`)?`removed`:`context`}function $oe({text:e}){let t=e.split(/\r?\n/);return(0,T.jsx)(`div`,{style:{maxHeight:520,overflowY:`auto`,overflowX:`hidden`,fontFamily:`var(--font-mono)`,contentVisibility:`auto`,containIntrinsicBlockSize:520,fontSize:`var(--text-base)`,lineHeight:1.55,minWidth:0},children:t.map((e,t)=>{let{bg:n,color:r,borderLeft:i}=Zoe[Qoe(e)];return(0,T.jsxs)(`div`,{style:{display:`flex`,background:n,borderLeft:i},children:[(0,T.jsx)(`span`,{style:{width:48,padding:`0 8px`,color:`var(--text-dim)`,background:`var(--bg)`,borderRight:`1px solid var(--border)`,textAlign:`right`,userSelect:`none`,flexShrink:0},children:t+1}),(0,T.jsx)(`span`,{style:{padding:`0 10px`,whiteSpace:`pre-wrap`,overflowWrap:`anywhere`,color:r},children:e||`\xA0`})]},t)})})}var ese=`用户输入: `;function C5(e){return e&&typeof e==`object`&&!Array.isArray(e)?e:null}function w5(e){return Array.isArray(e)?e.map((e,t)=>{let n=C5(e);return{label:typeof n?.label==`string`?n.label:`#${t+1}`,description:typeof n?.description==`string`?n.description:null,value:typeof n?.value==`string`?n.value:null}}):[]}function tse(e){return Array.isArray(e.questions)?e.questions.map((e,t)=>{let n=C5(e);return{id:typeof n?.id==`string`?n.id:`#${t}`,question:typeof n?.question==`string`?n.question:typeof n?.label==`string`?n.label:null,options:w5(n?.options)}}):typeof e.question==`string`?[{id:null,question:e.question,options:w5(e.options)}]:[]}function nse(e){let t=C5(e);if(!t)return[];if(Array.isArray(t.answers))return t.answers.map((e,t)=>{let n=C5(e),r=Array.isArray(n?.selections)?n.selections:[];return{id:typeof n?.id==`string`?n.id:`#${t}`,values:r.map(e=>C5(e)?.value??``).filter(Boolean),labels:r.map(e=>C5(e)?.label??``).filter(Boolean),customAnswer:typeof n?.customAnswer==`string`&&n.customAnswer?n.customAnswer:null,skipped:n?.skipped===!0}});let n=Array.isArray(t.selections)?t.selections:[],r=n.map(e=>C5(e)?.value??``).filter(Boolean),i=n.map(e=>C5(e)?.label??``).filter(Boolean),a=typeof t.customAnswer==`string`&&t.customAnswer?t.customAnswer:null;return r.length||i.length||a||t.skipped===!0?[{id:null,values:r,labels:i,customAnswer:a,skipped:t.skipped===!0}]:[]}function rse({block:e,result:t,duration:n,isStreaming:r=!1,receivingArgs:i=!1,footer:a}){let{t:o}=M(),s=tse(e.input??{}),c=ise(t),l=ase(t),u=l.text,d=l.isError,f=s.find(e=>e.question)?.question??null,p=f?s.length>1?`${o(`chat.aiQuestion`)} ${s.length}: ${f}`:f:u??o(`chat.aiQuestion`),m=C5(t?.details)?.cancelled===!0,h=c.flatMap(e=>[...e.labels,...e.customAnswer?[e.customAnswer]:[]]).join(` · `);return(0,T.jsx)(`div`,{style:{borderRadius:7,fontSize:`var(--text-base)`,...ose(d)},children:(0,T.jsx)(p5,{isStreaming:r,footer:a,header:(e,{collapsed:t})=>(0,T.jsxs)(`div`,{...e,style:{...e.style,display:`flex`,alignItems:`center`,gap:7,padding:`6px 10px`,color:`var(--text-muted)`,fontSize:`var(--text-sm)`,minWidth:0},children:[(0,T.jsx)(`span`,{style:{color:d?`var(--status-error)`:`var(--status-info)`,fontFamily:`var(--font-mono)`,fontWeight:600,flexShrink:0},children:`pi_menu`}),t?(0,T.jsxs)(`span`,{style:{flex:1,minWidth:0,display:`flex`,alignItems:`baseline`,gap:6,overflow:`hidden`},children:[(0,T.jsx)(`span`,{"data-testid":`pi-menu-digest`,style:{overflow:`hidden`,textOverflow:`ellipsis`,whiteSpace:`nowrap`,color:`var(--text)`},children:i?o(`tool.receivingArgs`):p}),h&&(0,T.jsx)(`span`,{style:{color:`var(--accent)`,fontWeight:600,overflow:`hidden`,textOverflow:`ellipsis`,whiteSpace:`nowrap`,flexShrink:0,maxWidth:`55%`},children:`→ ${h}`})]}):(0,T.jsx)(`span`,{"data-testid":`pi-menu-digest`,children:o(i?`tool.receivingArgs`:`chat.aiQuestion`)}),n!==void 0&&(0,T.jsxs)(`span`,{style:{marginLeft:`auto`,fontSize:`var(--text-sm)`,color:`var(--text-dim)`,fontVariantNumeric:`tabular-nums`,flexShrink:0},children:[n,`s`]})]}),body:()=>(0,T.jsx)(`div`,{className:`pv-shrink`,style:{padding:`8px 14px`,borderTop:`1px solid var(--border)`,fontSize:`var(--text-base)`,lineHeight:1.5,color:`var(--text-muted)`},children:i?(0,T.jsx)(h5,{text:e.streamingArgs??``,isStreaming:!0,style:{color:`var(--text)`,fontFamily:`var(--font-mono)`,fontSize:`var(--text-sm)`}}):(0,T.jsxs)(T.Fragment,{children:[s.map((e,t)=>{let n=c.find(n=>n.id===(e.id??`#${t}`))??c[t]??null;return(0,T.jsxs)(`div`,{style:t>0?{marginTop:10}:void 0,children:[e.question&&(0,T.jsx)(`div`,{style:{fontWeight:600,color:`var(--text)`,marginBottom:6},children:e.question}),e.options.length>0&&(0,T.jsx)(sse,{options:e.options,chosenValues:n?.values??[]}),n?.customAnswer&&(0,T.jsx)(`div`,{style:{color:`var(--text)`,fontWeight:600,whiteSpace:`pre-wrap`},children:`${ese}${n.customAnswer}`}),n?.skipped&&(0,T.jsx)(`div`,{style:{color:`var(--text-dim)`,fontWeight:600},children:o(`chat.skipped`)})]},e.id??t)}),m&&u&&(0,T.jsx)(`div`,{style:{color:`var(--text-dim)`,fontWeight:600,whiteSpace:`pre-wrap`},children:u}),s.length===0&&u&&(0,T.jsx)(`div`,{style:{color:d?`var(--status-error)`:`var(--text-muted)`,fontWeight:600,whiteSpace:`pre-wrap`,wordBreak:`break-all`},children:u})]})})})})}function ise(e){return e?nse(e.details):[]}function ase(e){return{text:(e?e.content.filter(e=>e.type===`text`).map(e=>e.text).join(`
|
|
489
489
|
`).trim():null)||null,isError:e?.isError??!1}}function ose(e){return{border:e?`1px solid color-mix(in srgb, var(--status-error) 45%, transparent)`:`1px solid var(--border)`,background:`var(--bg-panel)`}}function sse({options:e,chosenValues:t}){return(0,T.jsx)(`div`,{style:{display:`flex`,flexDirection:`column`,gap:3},children:e.map((e,n)=>(0,T.jsx)(cse,{opt:e,chosenValues:t},n))})}function cse({opt:e,chosenValues:t}){let n=e.value!==null&&t.includes(e.value)||t.includes(e.label);return(0,T.jsxs)(`div`,{style:{display:`flex`,gap:6,alignItems:`baseline`},children:[(0,T.jsx)(`span`,{style:{color:n?`var(--accent)`:`var(--text-dim)`},children:n?`●`:`○`}),(0,T.jsx)(`span`,{style:{color:n?`var(--accent)`:`var(--text)`,fontWeight:n?600:400},children:e.label}),e.description&&(0,T.jsx)(`span`,{style:{color:`var(--text-dim)`,fontSize:`var(--text-sm)`},children:e.description})]})}function T5(e){return new Date(e).toLocaleString([],{year:`numeric`,month:`2-digit`,day:`2-digit`,hour:`2-digit`,minute:`2-digit`,second:`2-digit`})}function E5({secs:e,timestamp:t,endTimestamp:n,marginLeftAuto:r=!1,size:i=`sm`}){let a=(0,T.jsxs)(`span`,{style:{display:`inline-flex`,alignItems:`center`,gap:5,fontFamily:`var(--font-mono)`,fontSize:i===`sm`?`var(--text-sm)`:`var(--text-xs)`,fontVariantNumeric:`tabular-nums`,color:`var(--text-muted)`,marginLeft:r?`auto`:void 0},children:[(0,T.jsx)(Sr,{size:I.sm}),e!==void 0&&gX(e)]});return t===void 0?a:(0,T.jsx)(F,{wrapperStyle:r?{marginLeft:`auto`}:void 0,label:n===void 0?T5(t):`${T5(t)} → ${T5(n)}`,children:a})}function D5(e){if(!e)return null;let t=new Date(e),n=e=>String(e).padStart(2,`0`);return`${t.getFullYear()}-${n(t.getMonth()+1)}-${n(t.getDate())} ${n(t.getHours())}:${n(t.getMinutes())}`}function O5(e){return typeof e==`string`?e:e.filter(e=>e.type===`text`).map(e=>e.text).join(`
|
|
490
490
|
`)}function lse(e){return typeof e==`string`?[]:e.filter(e=>e.type===`image`)}function k5(e){let t=e;return e.source?e.source.type===`base64`?`data:${e.source.media_type};base64,${e.source.data}`:e.source.url??``:t.data?`data:${t.mimeType};base64,${t.data}`:``}function use(e){try{return JSON.stringify(e,null,2)}catch{return String(e)}}function dse(e){return e||`extension`}function fse(e){let t=e.replace(/\s+/g,` `).trim();return t?t.length>140?`${t.slice(0,140)}...`:t:`Show extension message`}function A5(e){let t=e.input;if(!t||typeof t!=`object`)return``;let n=Object.keys(t);if(n.length===0)return``;if(`command`in t)return String(t.command).slice(0,120);if(`path`in t)return String(t.path).slice(0,120);if(`file_path`in t)return String(t.file_path).slice(0,120);if(`pattern`in t)return String(t.pattern).slice(0,120);if(`query`in t)return String(t.query).slice(0,120);let r=t[n[0]];if(Array.isArray(r)){let e=r.map(e=>typeof e==`object`&&e&&`topic`in e?String(e.topic):null).filter(e=>e!==null&&e.length>0);return e.length>0?e.join(` | `).slice(0,120):`[${r.length} items]`}let i=String(r).slice(0,120);if(i===``||i===`[object Object]`)try{return JSON.stringify(t).slice(0,120)}catch{return i}return i}function pse({block:e,isError:t,duration:n,lineStats:r,receivingArgs:i}){let{t:a}=M();return(0,T.jsx)(T.Fragment,{children:(0,T.jsxs)(`div`,{style:{display:`flex`,alignItems:`center`,gap:6,width:`100%`,padding:`2px 8px`,color:`var(--text-muted)`,fontSize:`var(--text-base)`,minWidth:0},children:[(0,T.jsx)(Ai,{size:I.base,style:{flexShrink:0,color:t?`var(--status-error)`:`var(--status-info)`}}),(0,T.jsx)(`span`,{style:{color:t?`var(--status-error)`:`var(--status-info)`,fontFamily:`var(--font-mono)`,fontWeight:600,fontSize:`var(--text-sm)`,flexShrink:0},children:e.toolName}),(0,T.jsx)(`span`,{style:{color:`var(--text-muted)`,fontFamily:`var(--font-mono)`,fontSize:`var(--text-sm)`,overflow:`hidden`,textOverflow:`ellipsis`,whiteSpace:`nowrap`,flex:1,minWidth:0},children:i?a(`tool.receivingArgs`):A5(e)}),r&&(r.additions>0||r.deletions>0)&&(0,T.jsxs)(`span`,{"data-testid":`tool-diff-stats`,style:{flexShrink:0,display:`flex`,alignItems:`center`,gap:5,fontFamily:`var(--font-mono)`,fontSize:`var(--text-xs)`,fontVariantNumeric:`tabular-nums`},children:[r.additions>0&&(0,T.jsxs)(`span`,{style:{color:`var(--status-success)`},children:[`+`,r.additions]}),r.deletions>0&&(0,T.jsxs)(`span`,{style:{color:`var(--status-error)`},children:[`-`,r.deletions]})]}),n!==void 0&&(0,T.jsx)(`span`,{"data-testid":`tool-duration`,style:{flexShrink:0,display:`flex`},children:(0,T.jsx)(E5,{secs:n})})]})})}function j5(e){return typeof e.streamingArgs==`string`&&e.streamingArgs.length>0}function mse(e){return e.isStreaming||e.hasLiveOutput&&!e.hasResult||e.running&&!e.hasResult}function M5({block:e,result:t,duration:n,isStreaming:r=!1,running:i=!1,keepExpanded:a=!1,streamingOutput:o,footer:s,persistKey:c}){let l=o??e.streamingOutput,u=(0,d.useRef)(null),f=m5(u,r,[l]),p=t&&!t.isError?Joe(t):null,m=p?_5(p.text):null,h=mse({isStreaming:r,hasLiveOutput:!!l,running:i,hasResult:!!t});if(e.toolName===`pi_menu`)return(0,T.jsx)(rse,{block:e,result:t,duration:n,isStreaming:h,receivingArgs:j5(e),footer:s});let g=t?.isError??!1;return(0,T.jsx)(`div`,{className:`hover-pv-block`,style:{borderRadius:7,fontSize:`var(--text-base)`,...hse()},children:(0,T.jsx)(p5,{isStreaming:h,defaultExpanded:a,persistKey:c,footer:s,header:t=>(0,T.jsx)(`div`,{...t,style:{...t.style,minWidth:0},children:(0,T.jsx)(pse,{block:e,isError:g,duration:n,lineStats:m,receivingArgs:j5(e)})}),body:()=>(0,T.jsx)(`div`,{className:`pv-flex`,style:{padding:`8px 14px`,borderTop:`1px solid var(--border)`,fontSize:`var(--text-base)`,lineHeight:1.5,color:`var(--text-muted)`},children:(0,T.jsx)(yse,{block:e,result:t,resultDiff:p,isError:g,liveOutput:l,streamScrollRef:u,onStreamScroll:f,streamingArgs:e.streamingArgs})})})})}function hse(){return{background:`var(--bg)`}}function gse(e){return e?e.content.filter(e=>e.type===`text`).map(e=>e.text).join(`
|
|
491
491
|
`):null}function _se(e){if(e===null)return!1;let t=e.trim();return t===`(no output)`||t===``}function vse({input:e,streamingArgs:t}){let{t:n}=M(),[r,i]=(0,d.useState)(!1),a=(0,d.useMemo)(()=>JSON.stringify(e,null,2),[e]),o=()=>{Z6(a).then(()=>{i(!0),setTimeout(()=>i(!1),1500)})};return(0,T.jsxs)(`div`,{onClick:o,role:`button`,tabIndex:0,onKeyDown:e=>{(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),o())},"aria-label":n(`i18n.copyToolInput`),"data-testid":`tool-call-input`,title:n(r?`i18n.copied`:`i18n.copyToolInput`),style:{position:`relative`,margin:`0 0 6px`,padding:`8px 10px`,background:`var(--bg-subtle)`,border:`1px solid var(--border)`,borderRadius:`var(--radius-md, 6px)`,color:`var(--text-muted)`,fontFamily:`var(--font-mono, monospace)`,fontSize:`var(--text-base)`,lineHeight:1.5,overflowWrap:`break-word`,whiteSpace:`pre-wrap`,...t==null?{maxHeight:400,overflow:`auto`}:{},cursor:`pointer`,userSelect:`none`},children:[r&&(0,T.jsxs)(qoe,{testId:`tool-call-input-copied`,children:[`✓ `,n(`i18n.copied`)]}),t==null?(0,T.jsx)(N5,{input:e}):(0,T.jsx)(h5,{text:t,isStreaming:!0})]})}function N5({input:e,depth:t=0}){return(0,T.jsx)(T.Fragment,{children:Object.entries(e).map(([e,n])=>(0,T.jsxs)(`div`,{style:{paddingLeft:t>0?12:0},children:[(0,T.jsx)(`span`,{style:{color:`var(--text)`,fontWeight:600},children:e}),`: `,(0,T.jsx)(P5,{value:n,depth:t})]},e))})}function P5({value:e,depth:t}){return e===null?(0,T.jsx)(`span`,{children:`null`}):typeof e==`string`?(0,T.jsx)(`span`,{children:e}):typeof e==`number`||typeof e==`boolean`?(0,T.jsx)(`span`,{children:String(e)}):Array.isArray(e)?e.length===0?(0,T.jsx)(`span`,{children:`[]`}):(0,T.jsx)(T.Fragment,{children:e.map((e,n)=>(0,T.jsxs)(`div`,{style:{paddingLeft:12},children:[(0,T.jsx)(`span`,{style:{color:`var(--text)`,fontWeight:600},children:`- `}),(0,T.jsx)(P5,{value:e,depth:t+1})]},n))}):typeof e==`object`?(0,T.jsx)(N5,{input:e,depth:t+1}):(0,T.jsx)(`span`,{children:String(e)})}function yse({block:e,result:t,resultDiff:n,isError:r,liveOutput:i,streamScrollRef:a,onStreamScroll:o,streamingArgs:s}){let c=b5(e.toolName),l=gse(t),u=_se(l),d=e.input!==null&&typeof e.input==`object`&&(!c||r||!t);return(0,T.jsxs)(T.Fragment,{children:[d&&(0,T.jsx)(vse,{input:e.input,streamingArgs:s}),t&&(n?(0,T.jsx)(Yoe,{diff:n}):(0,T.jsx)(F5,{text:l??``,isEmpty:u,isError:r})),!t&&i!==void 0&&i!==``&&(0,T.jsx)(`div`,{"data-testid":`tool-stream-output`,children:(0,T.jsx)(F5,{text:i,isEmpty:!1,isError:!1,streamRef:a,onStreamScroll:o})})]})}function F5({text:e,isEmpty:t,isError:n,streamRef:r,onStreamScroll:i}){let{t:a}=M();return(0,T.jsx)(`div`,{style:{marginTop:6,borderRadius:`var(--radius-md, 6px)`,overflow:`hidden`,border:n?`1px solid color-mix(in srgb, var(--status-error) 30%, transparent)`:`1px solid color-mix(in srgb, var(--status-info) 35%, transparent)`,background:n?`color-mix(in srgb, var(--status-error) 4%, transparent)`:`var(--bg-subtle)`},children:(0,T.jsx)(`pre`,{ref:r,onScroll:i,style:{margin:0,padding:`8px 10px`,color:n?`var(--status-error)`:t?`var(--text-dim)`:`var(--text-muted)`,fontSize:`var(--text-base)`,lineHeight:1.5,overflow:`auto`,maxHeight:400,background:`transparent`,whiteSpace:`pre-wrap`,wordBreak:`break-all`,fontStyle:t?`italic`:`normal`,opacity:t?.6:1,contentVisibility:`auto`,containIntrinsicBlockSize:400},children:t?a(`i18n.noOutput`):(0,T.jsx)(f5,{text:e})})})}function bse(e,t,n,r){let i=!1,a=new Map(r);for(let r=0;r<e.length-1;r++){let o=e[r].originalIndex,s=e[r+1].originalIndex;if(!a.has(o)&&t.has(o)){let e=t.get(o),r=t.get(s)??n;a.set(o,Math.round((r-e)/100)/10),i=!0}}return i?a:r}function xse(e,t,n,r){let i=r;for(let a of e){let e=t.get(a);if(e===void 0)continue;let o=Math.round((n-e)/100)/10;i.get(a)!==o&&(i===r&&(i=new Map(r)),i.set(a,o))}return i}function I5(e){let t=0;for(let n of e)if(n.type===`text`)t+=n.text?.length??0;else if(n.type===`thinking`)t+=n.thinking?.length??0;else if(n.type===`toolCall`){let e=n;t+=typeof e.streamingArgs==`string`&&e.streamingArgs.length>0?e.streamingArgs.length:JSON.stringify(e.input??{}).length}return t}function Sse({message:e,toolResults:t,isStreaming:n,blockItems:r,entryId:i,liveBlockIndices:a,liveBlockCount:o}){let[s,c]=(0,d.useState)(null),l=(0,d.useRef)(r);(0,d.useEffect)(()=>{l.current=r});let u=(0,d.useRef)(a);(0,d.useEffect)(()=>{u.current=a});let f=(0,d.useRef)(null),p=(0,d.useRef)(null),m=(0,d.useRef)(0),h=(0,d.useRef)(new Map),[g,_]=(0,d.useState)(new Map),v=(0,d.useMemo)(()=>{let n=new Map;if(!t||!e.timestamp)return n;let r=i?`${i}:`:``;for(let[i,a]of t){if(r&&!i.startsWith(r))continue;let t=r?i.slice(r.length):i;if(a.timestamp&&e.timestamp){let r=Math.max(.1,Math.round((a.timestamp-e.timestamp)/100)/10);r>0&&n.set(t,r)}}return n},[t,e.timestamp,i]);return(0,d.useEffect)(()=>{if(!n&&o===0)return;let e=()=>{if(document.hidden)return;let e=l.current,t=e.map(({block:e})=>e),n=Date.now();e.forEach(({originalIndex:e})=>{h.current.has(e)||h.current.set(e,n)}),_(t=>bse(e,h.current,n,t)),_(e=>xse(u.current,h.current,n,e));let r=I5(t);if(r===0){f.current=null;return}let i=f.current;if(f.current={chars:r,at:n},!i){m.current=n;return}let a=r-i.chars;if(a<0)return;let o=p.current;if(a===0){o==null||n-m.current>=1800?(p.current=0,c(0)):(p.current=o*.7,c(p.current));return}m.current=n;let s=Math.min(Math.max((n-i.at)/1e3,.05),5),d=a/4/s;p.current=o==null?d:o*.7+d*.3,c(p.current)},t=()=>{document.hidden||(f.current=null)};document.addEventListener(`visibilitychange`,t);let r=setInterval(e,300);return()=>{clearInterval(r),document.removeEventListener(`visibilitychange`,t),f.current=null,p.current=null,m.current=0,c(null)}},[n,o,_,c,l,h]),{toolCallDurations:v,streamingDurations:g,tps:s}}function Cse(e){let{block:t,originalIndex:n,blocksLength:r,lastTextIndex:i,textContent:a,usageNode:o,streamingDurations:s}=e;return{block:t,isStreaming:e.isStreaming,toolResults:e.toolResults,isLastBlock:n===r-1,isLiveBlock:e.liveBlockIndices.has(n),streamingDuration:s.get(n),toolCallDurations:e.toolCallDurations,cwd:e.cwd,onOpenFile:e.onOpenFile,sessionId:e.sessionId,entryId:e.entryId,blockIndex:n,recentExpandedBlockKeys:e.recentExpandedBlockKeys,showCopy:t.type===`text`&&n===i,copyText:a,usageNode:t.type===`text`&&n===i?o:void 0,usageFooter:e.usageFooter}}function L5({error:e,hasBlocks:t,tone:n=`error`}){let r=n===`error`?`var(--status-error)`:`var(--text-dim)`;return(0,T.jsxs)(`div`,{role:n===`error`?`alert`:`status`,style:{marginTop:t?8:0,padding:`7px 10px`,border:`1px solid color-mix(in srgb, ${r} 30%, transparent)`,borderRadius:6,background:`color-mix(in srgb, ${r} 7%, transparent)`,color:r,fontFamily:`var(--font-mono)`,fontSize:`var(--text-base)`,lineHeight:1.5,whiteSpace:`pre-wrap`,overflowWrap:`anywhere`},children:[n===`error`?`Error: `:``,e]})}function wse(e,t,n,r,i,a){let o=e.usage&&!t?(0,T.jsx)(c5,{usage:e.usage}):void 0,s=r&&(t===!0||i>0||a===!0);return{usageNode:o,usageFooter:n.length>0?o:void 0,showModelLabel:s}}function Tse({message:e,isStreaming:t,toolResults:n,runningToolIds:r,modelNames:i,cwd:a,onOpenFile:o,showTimestamp:s,sessionId:c,entryId:l,recentExpandedBlockKeys:u,modelLabelVisible:d=!0,keepFooterWhileTurnBusy:f}){let{t:p}=M(),m=(e.content??[]).map((e,t)=>({block:e,originalIndex:t})).filter(({block:e})=>!y$(e,{isStreaming:t})),h=m.map(({block:e})=>e),g=x$(e,{isStreaming:t}),_=zoe(m,{runningToolIds:r,toolResults:n,entryId:l}),{toolCallDurations:v,streamingDurations:y,tps:b}=Sse({message:e,toolResults:n,isStreaming:t,blockItems:m,entryId:l,liveBlockIndices:_,liveBlockCount:_.size}),x=[...m].reverse().find(({block:e})=>e.type===`text`)?.originalIndex,S=h.filter(e=>e.type===`text`).map(e=>e.text).join(`
|
|
492
492
|
|
|
493
|
-
`),{usageNode:C,usageFooter:w,showModelLabel:E}=wse(e,t,h,d,_.size,f===!0);return h.length===0&&!t&&!g&&e.stopReason!==`aborted`?null:(0,T.jsxs)(`div`,{className:`msg-row`,children:[(0,T.jsx)(`div`,{style:{display:`flex`,flexDirection:`column`},children:m.map(({block:e,originalIndex:r},i)=>{let s=i>0?m[i-1].block.type:null,d=i===0||s===`toolCall`&&(e.type===`toolCall`||e.type===`thinking`)?0:4;return(0,T.jsx)(`div`,{style:{marginTop:d},children:(0,T.jsx)(Dse,{...Cse({block:e,originalIndex:r,blocksLength:h.length,lastTextIndex:x,textContent:S,usageNode:C,usageFooter:w,streamingDurations:y,toolCallDurations:v,isStreaming:t,toolResults:n,liveBlockIndices:_,cwd:a,onOpenFile:o,sessionId:c,entryId:l,recentExpandedBlockKeys:u})})},`${l??`stream`}-${r}`)})}),E&&(0,T.jsx)(u5,{streaming:!0,expanded:!1,expandMode:`modal`,models:[{provider:e.provider??``,name:i?.[`${e.provider}/${e.model}`]??i?.[e.model]??e.model??``}],messageCount:0,toolCallCount:0,cwd:a,onOpenFile:o,t:p,estTokens:Math.round(I5(h)/4),tps:b}),g&&(/abort/i.test(g)?(0,T.jsx)(L5,{tone:`stopped`,error:`⏹ ${p(`chat.stoppedByUser`)}`,hasBlocks:h.length>0}):(0,T.jsx)(L5,{error:g,hasBlocks:h.length>0})),e.stopReason===`aborted`&&!t&&!e.suppressAbortBanner&&(0,T.jsx)(L5,{tone:`stopped`,error:`⏹ ${p(`chat.stoppedByUser`)}`,hasBlocks:h.length>0}),(0,T.jsx)(Loe,{usage:e.usage,isStreaming:t,timestamp:s?e.timestamp:void 0,showUsage:h.length===0})]})}function Ese(e,t,n,r,i){return!t&&n!==void 0&&(e.type===`thinking`||e.type===`toolCall`)&&i?.has(Yt(e.type,n,e.type===`toolCall`?e.toolCallId:void 0,e.type===`thinking`?r:void 0))===!0}function Dse({block:e,toolResults:t,isStreaming:n,isLastBlock:r,isLiveBlock:i,streamingDuration:a,toolCallDurations:o,cwd:s,onOpenFile:c,sessionId:l,entryId:u,blockIndex:d,recentExpandedBlockKeys:f,usageFooter:p,showCopy:m,copyText:h,usageNode:g}){let _=Ese(e,n,u,d,f),v=n&&r!==!1;if(e.type===`text`)return(0,T.jsx)(Ose,{block:e,isStreaming:v,cwd:s,onOpenFile:c,showCopy:m,copyText:h,usageNode:g});if(e.type===`thinking`)return(0,T.jsx)(Koe,{block:e,sessionId:l,entryId:u,blockIndex:d,isStreaming:v,keepExpanded:_,footer:p});if(e.type===`toolCall`){let r=e,s=t?.get(`${u}:${r.toolCallId}`),c=r.durationSecs??o?.get(r.toolCallId)??a;return(0,T.jsx)(M5,{block:r,result:s,duration:c,isStreaming:n,running:i===!0,keepExpanded:_,persistKey:u?`${u}:${r.toolCallId}`:void 0,footer:p})}return null}function Ose({block:e,isStreaming:t,cwd:n,onOpenFile:r,showCopy:i,copyText:a,usageNode:o}){let s=i&&!t&&(a||o!==void 0),{revealed:c,ref:l,handlers:u,tapToggle:d}=lK({enabled:!!s,touch:`tap`});return(0,T.jsx)(`div`,{ref:l,...u,onClick:d,style:{display:`flex`,alignItems:`flex-start`,gap:6,position:`relative`},children:(0,T.jsxs)(`div`,{style:{flex:1,minWidth:0},children:[(0,T.jsx)(s5,{isStreaming:t,cwd:n,onOpenFile:r,className:t?`streaming-md`:void 0,children:e.text}),s&&c&&(0,T.jsxs)(`div`,{style:{position:`absolute`,right:0,bottom:-2,zIndex:20,display:`flex`,alignItems:`center`,gap:10,padding:`3px 8px`,background:`var(--bg)`,border:`1px solid var(--border)`,borderRadius:7,boxShadow:`0 2px 8px color-mix(in srgb, var(--text) 8%, transparent)`},children:[o,a&&(0,T.jsx)(l5,{textContent:a})]})]})})}function kse({message:e,sessionId:t,streamingOutput:n}){let[r,i]=(0,d.useState)(null),[a,o]=(0,d.useState)(!1),[s,c]=(0,d.useState)(null),l=Ase(e),u=jse(e),f=Mse(t,e),p=!!(e.truncated&&f)&&r===null,{block:m,result:h}=Nse(e,{isPending:l,isError:u,displayOutput:r??e.output});async function g(){if(f){o(!0),c(null);try{let e=await(await fetch(f)).json();e.success?i(e.data?.output??``):c(e.error??`failed`)}catch(e){c(String(e))}finally{o(!1)}}}return(0,T.jsxs)(`div`,{style:{margin:`6px 0`},children:[(0,T.jsx)(M5,{block:m,result:h,streamingOutput:l?n:void 0}),e.truncated&&f&&(0,T.jsx)(Pse,{showFullButton:p,loadingFull:a,fullError:s,fullOutputUrl:f,onLoadFull:g})]})}function Ase(e){return!e.output&&e.exitCode===void 0&&!e.cancelled}function jse(e){return e.cancelled||e.exitCode!==void 0&&e.exitCode!==0}function Mse(e,t){return!e||!t.fullOutputPath?null:`/api/agent/${encodeURIComponent(e)}/bash-output?path=${encodeURIComponent(t.fullOutputPath)}`}function Nse(e,t){let n=e.excludeFromContext?`bash (local)`:`bash`,r={type:`toolCall`,toolCallId:`bash-${e.timestamp??``}`,toolName:n,input:{command:e.command}};return{block:r,result:t.isPending?void 0:{role:`toolResult`,toolCallId:r.toolCallId,toolName:n,content:t.displayOutput?[{type:`text`,text:t.displayOutput}]:[],isError:t.isError,timestamp:e.timestamp}}}function Pse({showFullButton:e,loadingFull:t,fullError:n,fullOutputUrl:r,onLoadFull:i}){return(0,T.jsxs)(`div`,{style:{padding:`4px 10px`,fontSize:`var(--text-sm)`,marginTop:-1},children:[e&&(0,T.jsx)(`button`,{onClick:i,disabled:t,style:{border:`none`,color:`var(--accent)`,cursor:t?`default`:`pointer`,fontSize:`var(--text-sm)`,padding:0,textDecoration:`underline`},children:t?`loading…`:`view full output`}),(0,T.jsx)(`a`,{href:`${r}&download=1`,style:{marginLeft:e?10:0,color:`var(--accent)`,fontSize:`var(--text-sm)`,textDecoration:`underline`},children:`download full output`}),n&&(0,T.jsxs)(`span`,{style:{marginLeft:6,color:`var(--text-dim)`,fontSize:`var(--text-sm)`},children:[`(`,n,`)`]})]})}var Fse=/<(read-files|modified-files)>\s*([\s\S]*?)\s*<\/\1>/g,Ise=/(?:\r?\n){2,}((?:[ \t]*<(?:read-files|modified-files)>[ \t]*\r?\n[\s\S]*?\r?\n[ \t]*<\/(?:read-files|modified-files)>[ \t]*(?:\r?\n)?)+)\s*$/;function Lse(e){let t=[],n=[],r=e.match(Ise),i=r?.[1]??``,a=r?.index===void 0?e:e.slice(0,r.index);return i.replace(Fse,(e,r,i)=>{let a=i.split(/\r?\n/).map(e=>e.trim()).filter(Boolean);return r===`read-files`?t.push(...a):n.push(...a),``}),{body:a.trim(),readFiles:t,modifiedFiles:n}}function Rse({message:e}){let{t}=M(),n=O5(e.content),r=(0,d.useMemo)(()=>Lse(n),[n]),i=D5(e.timestamp);return(0,T.jsx)(`div`,{style:{marginBottom:16},children:(0,T.jsxs)(`div`,{style:{border:`1px solid var(--border)`,borderRadius:8,overflow:`hidden`,background:`var(--bg)`},children:[(0,T.jsxs)(`div`,{style:{display:`flex`,alignItems:`center`,gap:8,padding:`7px 10px`,borderBottom:`1px solid var(--border)`,background:`var(--bg)`,color:`var(--text-muted)`},children:[(0,T.jsx)(`span`,{style:{fontFamily:`var(--font-mono)`,fontSize:`var(--text-sm)`,fontWeight:650},children:`compaction`}),i&&(0,T.jsx)(`span`,{style:{marginLeft:`auto`,color:`var(--text-dim)`,fontSize:`var(--text-xs)`},children:i})]}),(0,T.jsxs)(`div`,{style:{padding:`11px 13px 12px`},children:[(0,T.jsx)(`div`,{style:{color:`var(--text)`,fontSize:`var(--text-2xl)`,fontWeight:700,lineHeight:1.35},children:t(`i18n.conversationCompacted`)}),(0,T.jsx)(`div`,{style:{marginTop:3,marginBottom:10,color:`var(--text)`,fontSize:`var(--text-2xl)`,lineHeight:1.5},children:t(`i18n.compactionDescription`)}),r.body?(0,T.jsx)(s5,{className:`markdown-compaction-message`,children:r.body}):(0,T.jsx)(`span`,{style:{color:`var(--text-dim)`,fontSize:`var(--text-base)`},children:t(`i18n.noSummary`)}),(0,T.jsx)(zse,{readFiles:r.readFiles,modifiedFiles:r.modifiedFiles})]})]})})}function zse({readFiles:e,modifiedFiles:t}){let{t:n}=M();if(e.length+t.length===0)return null;let r=[];return e.length>0&&r.push(`${e.length} read`),t.length>0&&r.push(`${t.length} modified`),(0,T.jsxs)(`details`,{className:`compaction-file-details`,children:[(0,T.jsx)(`summary`,{children:n(`i18n.fileContext`,{details:r.join(`, `)})}),t.length>0&&(0,T.jsx)(R5,{title:n(`i18n.modifiedFiles`),files:t}),e.length>0&&(0,T.jsx)(R5,{title:n(`i18n.readFiles`),files:e})]})}function R5({title:e,files:t}){return(0,T.jsxs)(`div`,{className:`compaction-file-section`,children:[(0,T.jsx)(`div`,{className:`compaction-file-title`,children:e}),(0,T.jsx)(`ul`,{className:`compaction-file-list`,children:t.map(e=>(0,T.jsx)(`li`,{children:e},e))})]})}function Bse({message:e,cwd:t,onOpenFile:n}){let r=e.display===!1,i=O5(e.content),a=e.details!==void 0,o=a?use(e.details):``,s=dse(e.customType),c=D5(e.timestamp),l=r?Mr:li;return(0,T.jsx)(`div`,{style:{marginBottom:16},children:(0,T.jsx)(`div`,{style:{border:`1px solid var(--border)`,borderRadius:8,overflow:`hidden`,background:`var(--bg)`,fontSize:`var(--text-base)`},children:(0,T.jsx)(p5,{header:(e,{collapsed:t})=>(0,T.jsxs)(`div`,{...e,style:{...e.style,display:`flex`,alignItems:`center`,gap:8,padding:`6px 10px`,color:r?`var(--text-muted)`:`var(--text)`,minWidth:0,opacity:r&&t?.82:1},children:[(0,T.jsx)(l,{size:I.base,style:{flexShrink:0,color:`var(--text-dim)`}}),(0,T.jsx)(`span`,{style:{flexShrink:0,color:r?`var(--text-muted)`:`var(--text)`,fontFamily:`var(--font-mono)`,fontSize:`var(--text-sm)`,fontWeight:650},children:s}),t&&i&&(0,T.jsx)(`span`,{style:{flex:1,minWidth:0,overflow:`hidden`,textOverflow:`ellipsis`,whiteSpace:`nowrap`,color:`var(--text-dim)`,fontSize:`var(--text-sm)`},children:fse(i)}),c&&(0,T.jsx)(`span`,{style:{marginLeft:`auto`,flexShrink:0,color:`var(--text-dim)`,fontSize:`var(--text-xs)`},children:c})]}),body:()=>(0,T.jsxs)(`div`,{className:`pv-shrink`,style:{borderTop:`1px solid var(--border)`,padding:`6px 10px 8px`},children:[(0,T.jsx)(Vse,{text:i,message:e,cwd:t,onOpenFile:n}),a&&(0,T.jsx)(Hse,{detailsText:o})]}),footer:i||o?(0,T.jsx)(l5,{textContent:i||o}):void 0,footerPadding:`2px 10px 4px`})})})}function Vse({text:e,message:t,cwd:n,onOpenFile:r}){let{t:i}=M(),a=lse(t.content);return(0,T.jsxs)(T.Fragment,{children:[a.length>0&&(0,T.jsx)(`div`,{style:{display:`flex`,gap:6,flexWrap:`wrap`,marginBottom:e?8:0},children:a.map((e,t)=>{let n=k5(e);return n?(0,T.jsx)(`img`,{src:n,alt:``,style:{maxWidth:240,maxHeight:240,borderRadius:6,objectFit:`contain`,display:`block`,border:`1px solid var(--border)`}},t):null})}),e?(0,T.jsx)(s5,{className:`markdown-custom-message`,cwd:n,onOpenFile:r,children:e}):(0,T.jsx)(`span`,{style:{color:`var(--text-dim)`,fontSize:`var(--text-base)`},children:i(`i18n.noMessage`)})]})}function Hse({detailsText:e}){return(0,T.jsx)(`pre`,{style:{margin:0,marginTop:8,padding:`9px 10px`,borderTop:`1px solid var(--border)`,background:`var(--bg)`,color:`var(--text-muted)`,fontSize:`var(--text-base)`,lineHeight:1.5,whiteSpace:`pre-wrap`,wordBreak:`break-word`,maxHeight:360,overflow:`auto`,fontFamily:`var(--font-mono)`,contentVisibility:`auto`,containIntrinsicBlockSize:360},children:e})}var z5={current:null};function Use({message:e,entryId:t,onFork:n,forking:r,onNavigate:i,prevAssistantEntryId:a,onEditContent:o,turnNumber:s}){let[c,l]=(0,d.useState)(!1),{text:u,images:f}=Wse(e),p=D5(e.timestamp),m=!!t&&!!n,h=!!a&&!!i;return(0,T.jsxs)(`div`,{className:`msg-row`,style:{marginBottom:16,display:`flex`,flexDirection:`column`,alignItems:`flex-end`},children:[(0,T.jsxs)(`div`,{style:{display:`flex`,alignItems:`center`,justifyContent:`flex-end`,gap:6},children:[s!==void 0&&(0,T.jsx)(l$,{number:s}),(0,T.jsxs)(`div`,{style:{flex:1,minWidth:0,position:`relative`,background:`var(--user-bg)`,border:`1px solid color-mix(in srgb, var(--accent) 20%, transparent)`,borderRadius:12,padding:`8px 12px`,fontSize:`var(--text-base)`,fontFamily:`var(--font-mono)`,lineHeight:1.6,color:`var(--text)`,wordBreak:`break-word`},children:[f.length>0&&(0,T.jsx)(Gse,{images:f,content:u}),u&&(0,T.jsx)(`div`,{"data-testid":`user-message`,style:{whiteSpace:`pre-wrap`,wordBreak:`break-word`},children:u})]})]}),(0,T.jsxs)(`div`,{style:{display:`flex`,alignItems:`center`,justifyContent:`flex-end`,gap:6,marginTop:3,fontSize:`var(--text-xs)`,color:`var(--text-dim)`},children:[(0,T.jsx)(Kse,{copied:c,canFork:m,canNavigate:h,forking:r,onCopy:()=>{z5.current?.(),Z6(u).then(()=>{l(!0),setTimeout(()=>l(!1),1500)})},onEditFromHere:()=>{z5.current?.(),i(a),o?.(u)},onFork:e=>{z5.current?.(),n(t,e)}}),p&&(0,T.jsx)(`span`,{children:p})]})]})}function Wse(e){return typeof e.content==`string`?{text:e.content,images:[]}:{text:e.content.filter(e=>e.type===`text`).map(e=>e.text).join(`
|
|
494
|
-
`),images:e.content.filter(e=>e.type===`image`)}}function Gse({images:e,content:t}){return(0,T.jsx)(`div`,{style:{display:`flex`,gap:6,flexWrap:`wrap`,marginBottom:t?8:0},children:e.map((e,t)=>{let n=k5(e);return(0,T.jsx)(`img`,{src:n,alt:``,style:{maxWidth:240,maxHeight:240,borderRadius:6,objectFit:`contain`,display:`block`,border:`1px solid color-mix(in srgb, var(--accent) 15%, transparent)`}},t)})})}function Kse({copied:e,canFork:t,canNavigate:n,forking:r,onCopy:i,onEditFromHere:a,onFork:o}){let{t:s}=M();return(0,T.jsxs)(T.Fragment,{children:[!r&&(t||n)&&(0,T.jsxs)(`div`,{className:`msg-row-actions msg-actions-force`,style:{display:`flex`,gap:3,transition:`opacity 0.12s`},children:[n&&(0,T.jsxs)(`button`,{onClick:a,title:s(`i18n.editFromHereTitle`),style:{display:`flex`,alignItems:`center`,gap:4,padding:`3px 8px`,height:22,border:`none`,borderRadius:5,color:`var(--text-dim)`,cursor:`pointer`,fontSize:`var(--text-sm)`,fontWeight:400,whiteSpace:`nowrap`,transition:`color 0.12s`,"--hover-color":`var(--accent)`,"--hover-bg":`transparent`},className:`hover-shift`,children:[(0,T.jsx)(zr,{size:I.sm}),s(`i18n.editFromHere`)]}),t&&(0,T.jsxs)(`button`,{onClick:e=>o(e.currentTarget),title:s(`i18n.newSessionTitle`),style:{display:`flex`,alignItems:`center`,gap:4,padding:`3px 8px`,height:22,border:`none`,borderRadius:5,color:`var(--text-dim)`,cursor:`pointer`,fontSize:`var(--text-sm)`,fontWeight:400,whiteSpace:`nowrap`,transition:`color 0.12s`,"--hover-color":`var(--accent)`,"--hover-bg":`transparent`},className:`hover-shift`,children:[(0,T.jsx)(ei,{size:I.sm}),s(`i18n.newSession`)]})]}),(0,T.jsx)(`div`,{className:`msg-row-actions msg-actions-force`,style:{display:`flex`,gap:3,transition:`opacity 0.12s`},children:(0,T.jsxs)(`button`,{onClick:i,title:s(`i18n.copyMessage`),style:{display:`flex`,alignItems:`center`,gap:4,padding:`3px 8px`,height:22,border:`none`,borderRadius:5,color:e?`var(--accent)`:`var(--text-dim)`,cursor:`pointer`,fontSize:`var(--text-sm)`,fontWeight:400,whiteSpace:`nowrap`,transition:`color 0.12s`,"--hover-color":`var(--accent)`,"--hover-bg":`transparent`},className:e?void 0:`hover-shift`,children:[e?(0,T.jsx)(`svg`,{width:I.sm,height:I.sm,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`1.8`,strokeLinecap:`round`,strokeLinejoin:`round`,children:(0,T.jsx)(`polyline`,{points:`20 6 9 17 4 12`})}):(0,T.jsxs)(`svg`,{width:I.sm,height:I.sm,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`1.8`,strokeLinecap:`round`,strokeLinejoin:`round`,children:[(0,T.jsx)(`rect`,{x:`9`,y:`9`,width:I.lg,height:I.lg,rx:`2`,ry:`2`}),(0,T.jsx)(`path`,{d:`M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1`})]}),s(e?`i18n.copied`:`i18n.copy`)]})})]})}function qse(e,t,n,r){if(n===r||t.role!==`assistant`)return!0;for(let i of t.content??[])if(i.type===`toolCall`&&n?.get(`${e}:${i.toolCallId}`)!==r?.get(`${e}:${i.toolCallId}`))return!1;return!0}function Jse(e,t){return e.message===t.message&&e.isStreaming===t.isStreaming&&qse(e.entryId,e.message,e.toolResults,t.toolResults)&&e.modelNames===t.modelNames&&e.cwd===t.cwd&&e.showTimestamp===t.showTimestamp&&e.modelLabelVisible===t.modelLabelVisible&&e.keepFooterWhileTurnBusy===t.keepFooterWhileTurnBusy&&e.recentExpandedBlockKeys===t.recentExpandedBlockKeys}function Yse(e,t){return e.onOpenFile===t.onOpenFile&&e.entryId===t.entryId&&e.onFork===t.onFork&&e.forking===t.forking&&e.onNavigate===t.onNavigate&&e.prevAssistantEntryId===t.prevAssistantEntryId&&e.onEditContent===t.onEditContent&&e.sessionId===t.sessionId&&e.streamingBashOutput===t.streamingBashOutput}var B5=(0,d.memo)(function({message:e,isStreaming:t,toolResults:n,runningToolIds:r,modelNames:i,cwd:a,onOpenFile:o,entryId:s,onFork:c,forking:l,onNavigate:u,prevAssistantEntryId:d,onEditContent:f,showTimestamp:p,sessionId:m,streamingBashOutput:h,recentExpandedBlockKeys:g,modelLabelVisible:_,keepFooterWhileTurnBusy:v,turnNumber:y}){return e.role===`user`?(0,T.jsx)(Use,{message:e,entryId:s,onFork:c,forking:l,onNavigate:u,prevAssistantEntryId:d,onEditContent:f,turnNumber:y}):e.role===`assistant`?(0,T.jsx)(Tse,{message:e,isStreaming:t,toolResults:n,runningToolIds:r,modelNames:i,cwd:a,onOpenFile:o,showTimestamp:p,sessionId:m,entryId:s,recentExpandedBlockKeys:g,modelLabelVisible:_,keepFooterWhileTurnBusy:v}):e.role===`toolResult`?null:e.role===`custom`?e.customType===`compaction`?(0,T.jsx)(Rse,{message:e}):(0,T.jsx)(Bse,{message:e,cwd:a,onOpenFile:o}):e.role===`bashExecution`?(0,T.jsx)(kse,{message:e,sessionId:m,streamingOutput:h}):null},(e,t)=>Jse(e,t)&&Yse(e,t));function Xse({open:e,onOpenChange:t,title:n,header:r,children:i,className:a}){let o=(0,d.useRef)(null);return(0,d.useEffect)(()=>{let t=o.current;if(t){if(e){if(!t.matches(`:popover-open`))try{t.showPopover()}catch{}}else try{t.hidePopover()}catch{}}},[e]),(0,T.jsxs)(`div`,{ref:o,popover:`auto`,onToggle:e=>{e.newState===`closed`&&e.oldState===`open`&&t(!1)},role:`dialog`,"aria-modal":`true`,className:lo(`turn-detail-modal`,`m-auto h-fit max-h-[calc(100dvh-2rem)]`,`w-[min(100%-2rem,48rem)] xl:w-[min(100%-2rem,64rem)]`,`flex-col gap-3 overflow-y-hidden rounded-xl bg-background p-4 text-sm text-foreground shadow-(--shadow-strong) ring-1 ring-foreground/10 outline-none`,e?`flex`:`hidden`,a),style:{position:`fixed`,inset:0,margin:`auto`},children:[r===void 0?n===void 0?null:(0,T.jsx)(`div`,{className:`pr-8 text-base font-semibold`,children:n}):(0,T.jsx)(`div`,{className:`flex flex-col gap-2 pr-8`,children:r}),(0,T.jsx)(`button`,{type:`button`,"aria-label":`Close`,onClick:()=>t(!1),className:`absolute top-3 right-3 rounded-md p-1 text-muted-foreground opacity-70 transition-opacity hover:opacity-100`,children:(0,T.jsx)(ji,{className:`size-4`})}),(0,T.jsx)(`div`,{className:`min-h-0 min-w-0 flex-1 overflow-x-hidden overflow-y-auto`,children:i})]})}function Zse(e,t){let n=new Map,r;for(let i=0;i<e.length;i++)e[i].role===`assistant`?r=t[i]:e[i].role===`toolResult`&&n.set(`${r}:${e[i].toolCallId}`,e[i]);return n}function Qse(e){let t=new Map,n=0,r=-1;for(let i=0;i<e.length;i++){let a=e[i];if(a.role===`user`){n+=1,r=i;let o;for(let t=i+1;t<e.length&&e[t].role!==`user`;t++){if(e[t].role!==`assistant`)continue;let n=e[t];typeof n.timestamp!=`number`||n.timestamp<=0||(o=typeof n.durationMs==`number`&&n.durationMs>0?n.timestamp+n.durationMs:n.timestamp)}let s=o&&typeof a.timestamp==`number`?Math.max(Math.round((o-a.timestamp)/100)/10,0):void 0;t.set(i,{turnNumber:n,isTurnStart:!0,userIdx:i,...typeof s==`number`?{turnDurationSecs:s}:{}})}else a.role===`assistant`&&n>0&&t.set(i,{turnNumber:n,isTurnStart:!1,userIdx:r})}return t}function $se(e){let t=-1;for(let n=e.length-1;n>=0;n--)if(e[n].role===`user`){t=n;break}return t}function ece({messageRefs:e,lastUserMsgRef:t,lastUserIdx:n}){return(r,i)=>a=>{e.current[i]=a,r===n&&(t.current=a)}}function tce({messages:e,modelNames:t,t:n,renderMessage:r,onOpenFile:i,messageCwd:a,turnDurationOf:o,turnExpandedOf:s,expandMode:c,fallbackModel:l,streamingFirst:u,onPreviewHover:d}){let f=e=>e.role!==`assistant`||!e.provider||!e.model?null:{provider:e.provider,name:t?.[`${e.provider}/${e.model}`]??t?.[e.model]??e.model},p=(t,n)=>{for(let r=t+1;r<=n;r++){let t=e[r];if(t?.role===`assistant`&&T$(t))return!0}return!1};return{renderRow:t=>{if(t.kind===`groupHeader`){let r=[];for(let n=t.groupUserIdx+1;n<=t.finalAssistantIdx;n++){let t=e[n];if(t?.role!==`assistant`)continue;let i=f(t);i&&!r.some(e=>`${e.provider}/${e.name}`==`${i.provider}/${i.name}`)&&r.push(i)}return r.length===0&&l&&r.push(l),t.messageCount===0&&!u?null:(0,T.jsx)(u5,{models:r,messageCount:t.messageCount,toolCallCount:t.toolCallCount,artifacts:t.artifacts,cwd:a,onOpenFile:i,t:n,timestamp:e[t.finalAssistantIdx]?.timestamp,durationSecs:o?.(t.groupUserIdx),expanded:s?.(t.groupUserIdx)??!0,answerPreview:t.answerPreview,stopped:p(t.groupUserIdx,t.finalAssistantIdx),expandMode:c,onPreviewHover:e=>d?.(e?t.groupUserIdx:null)})}return r(t.msgIdx,{reactKey:t.key,attachRef:t.attachRef,messageOverride:t.messageOverride,showTimestamp:t.showTimestamp,modelLabelVisible:t.isProcess||t.isProcessFinal?!1:void 0,isAnswer:t.isAnswer})},rowMargin:e=>e.kind===`groupHeader`?14:e.isProcess||e.isProcessFinal?e.groupLast?14:8:0}}function nce(e,t,n,r,i){if(n.showTimestamp!==void 0)return n.showTimestamp;if(t.role!==`assistant`)return!1;let a=!0;for(let t=e+1;t<r.length;t++){let e=r[t].role;if(e===`user`)break;if(e===`assistant`){a=!1;break}}return a&&i?!1:a}function rce(e,t,n,r){return t.role===`user`&&e>0&&n[e-1].role===`assistant`?r[e-1]:void 0}function ice(e,t){for(let n=e+1;n<t.length;n++)if(t[n].role===`assistant`)return!1;return!0}function ace(e,t,n,r){return e||t||n===0&&r.role===`user`}function oce(e){let{collapsedTurnKeys:t,messages:n,entryIds:r,runningToolIds:i,modelNames:a,messageCwd:o,onOpenFile:s,sessionBusy:c,isNew:l,handleFork:u,forkingEntryId:f,handleNavigate:p,handleEditContent:m,sessionId:h,recentExpandedBlockKeys:g,isStreaming:_,streamingMessage:v,t:y,messageRefs:b,lastUserMsgRef:x,visibleRefIndexByMessage:S,scrollContainerRef:C,lockBottomPin:w,onOpenTurnModal:E,onPreviewHover:D}=e,O=(0,d.useRef)(null),k=Zse(n,r),A=Qse(n),j=ece({messageRefs:b,lastUserMsgRef:x,lastUserIdx:$se(n)}),M=e=>A.get(e),N=(e,t={})=>{let d=t.messageOverride??n[e],y=rce(e,d,n,r),b=d.role===`user`||d.role===`assistant`,x=S.get(e),C=nce(e,d,t,n,_||c),w=ace(c,l,e,d),E=t.messageOverride===void 0&&c&&ice(e,n)&&!v,D=(0,T.jsx)(B5,{message:d,toolResults:k,runningToolIds:i,modelNames:a,cwd:o,onOpenFile:s,entryId:r[e],onFork:w?void 0:u,forking:f===r[e],onNavigate:c?void 0:p,prevAssistantEntryId:c?void 0:y,onEditContent:m,showTimestamp:C,sessionId:h,recentExpandedBlockKeys:g,modelLabelVisible:t.modelLabelVisible,keepFooterWhileTurnBusy:E,isStreaming:t.isStreaming,turnNumber:M(e)?.isTurnStart?M(e).turnNumber:void 0},t.reactKey??`message-view-${e}`);return!b||t.attachRef===!1||x===void 0?D:(0,T.jsx)(`div`,{ref:j(e,x),children:D},`message-ref-${t.reactKey??e}`)},{renderRow:ee,rowMargin:te}=tce({messageCwd:o,messages:n,modelNames:a,t:y,renderMessage:N,onOpenFile:s,turnDurationOf:e=>M(e)?.turnDurationSecs,expandMode:`modal`,fallbackModel:v?.role===`assistant`&&v.provider&&v.model?{provider:v.provider,name:a?.[`${v.provider}/${v.model}`]??a?.[v.model]??v.model}:null,streamingFirst:_,onPreviewHover:D,turnExpandedOf:e=>{let n=M(e);return!n||!t.has(r[n.userIdx]??`idx-${n.userIdx}`)}});return{renderRow:ee,rowMargin:te,handleRowClick:(e,n)=>{if(n.kind!==`groupHeader`||!e.target.closest(`[data-turn-toggle]`))return;let i=M(n.groupUserIdx);if(!i?.isTurnStart)return;let a=r[i.userIdx]??`idx-${i.userIdx}`,o=C.current?.querySelector(`[data-row-key="${CSS.escape(n.key)}"]`),s=YX().expandedTurns.get(a);if(s===void 0?t.has(a):!s){E?.(n.groupUserIdx,n.finalAssistantIdx);return}o&&(O.current={key:n.key,rowBottom:o.getBoundingClientRect().bottom},w()),QX(a,!1)},turnToggleAnchorRef:O,renderTurnRows:(e,t)=>(0,T.jsx)(T.Fragment,{children:Array.from({length:t-e+1},(t,n)=>e+n).map(e=>{let r=n[e];if(!r||r.role!==`user`&&r.role!==`assistant`)return null;let i=e===t;return(0,T.jsx)(`div`,{style:{paddingBottom:i?0:4},children:N(e,{reactKey:`turn-detail-${e}`,attachRef:!1,showTimestamp:!1,isAnswer:i})},`turn-detail-row-${e}`)})}),renderPreviewRows:(e,t,r)=>(0,T.jsx)(T.Fragment,{children:Array.from({length:t-e},(t,n)=>e+1+n).map(e=>{let i=n[e];if(!i||i.role!==`user`&&i.role!==`assistant`)return null;let a=e===t;return(0,T.jsx)(`div`,{style:a?{paddingBottom:0}:{paddingBottom:3,borderBottom:`1px solid var(--border)`},children:N(e,{reactKey:`turn-preview-${e}`,messageOverride:i,attachRef:!1,showTimestamp:!1,isAnswer:a,isStreaming:a&&r,modelLabelVisible:!1})},`turn-preview-${e}`)})}),turnDurationSecsOf:e=>M(e)?.turnDurationSecs}}function sce({rows:e,collapsedKeys:t,renderRow:n,onRowClick:r,scrollContainerRef:i,virtualizerRef:a,initialCache:o,flashKey:s,itemRef:c,lockBottomPin:l,unlockBottomPin:u,toggleAnchorRef:f,pinToBottomOnMount:p=!0}){let m=(0,d.useRef)(!1);return(0,d.useLayoutEffect)(()=>{if(!p||m.current)return;m.current=!0;let e=i.current;e&&e.scrollHeight>e.clientHeight&&(e.scrollTop=e.scrollHeight)},[i,p]),(0,d.useLayoutEffect)(()=>{let e=f.current;if(!e)return;f.current=null;let t=e.rowBottom,n=i.current;if(!n)return;l();let r=()=>u(),a=window.setTimeout(r,900),o=(i,s)=>{let c=n.querySelector(`[data-row-key="${CSS.escape(e.key)}"]`),l=null;if(c){let e=c.getBoundingClientRect();l=e.bottom-(t??e.bottom)}if(l===null){if(i>0){requestAnimationFrame(()=>o(i-1,s));return}window.clearTimeout(a),r();return}if(Math.abs(l)>1)n.scrollBy(0,l),s=0;else if(++s>=2){window.clearTimeout(a),r();return}i>0&&requestAnimationFrame(()=>o(i-1,s))};requestAnimationFrame(()=>o(20,0))},[t]),(0,T.jsx)(MG,{ref:a,data:e,cache:o,itemSize:200,bufferSize:400,scrollRef:i,children:e=>(0,T.jsx)(`div`,{"data-row-key":e.key,className:s===e.key?`search-flash`:void 0,ref:c(e.key),onClick:r?t=>r(t,e):void 0,style:{display:`flow-root`},children:n(e)},e.key)})}var cce=200;function lce({children:e,onMouseEnter:t,onMouseLeave:n,autoScroll:r,borderFlash:i}){let a=(0,d.useRef)(null),o=(0,d.useRef)(null),[s,c]=(0,d.useState)(!0),[l,u]=(0,d.useState)(null);(0,d.useEffect)(()=>{let e=a.current,t=e?.parentElement;if(!e||!t)return;let n=()=>t.querySelector(`[data-turn-footer-bar]`)??null,r=n();u(r??t);let i=new MutationObserver(()=>{let e=n();u(t=>t===e?t:e)});return i.observe(t,{childList:!0,subtree:!0}),()=>i.disconnect()},[]),(0,d.useEffect)(()=>{let e=a.current;if(!(!e||!l?.isConnected)){try{e.hidePopover()}catch{}try{e.showPopover({source:l})}catch{}return()=>{try{e.hidePopover()}catch{}}}},[l]),(0,d.useEffect)(()=>{let t=o.current;t&&r&&s&&e!==void 0&&(t.scrollTop=t.scrollHeight)},[e,r,s]);let f=(0,d.useCallback)(()=>{let e=o.current;if(!e)return;let t=e.scrollHeight-e.scrollTop-e.clientHeight<16;c(t)},[]);return(0,T.jsx)(`div`,{ref:a,popover:`manual`,className:`preview-overlay-popover rounded-xl border border-accent bg-background`,"data-testid":`preview-overlay-bottom`,onMouseEnter:t,onMouseLeave:n,style:{padding:8,minHeight:48,animation:i?`chat-input-border-blink 1.2s ease-in-out infinite`:void 0,boxShadow:`0 -2px 6px var(--shadow-color), 0 -8px 28px 1px color-mix(in srgb, var(--shadow-strong) 75%, transparent), 0 10px 26px 1px color-mix(in srgb, var(--shadow-strong) 65%, transparent), 0 3px 12px var(--shadow-color)`},children:(0,T.jsx)(nU,{direction:`vertical`,observeContent:!0,scrollElRef:o,onScroll:f,hintTestId:`preview-overlay-bottom`,scrollStyle:{position:`relative`,inset:`auto`,maxHeight:`min(55vh, 520px)`},children:(0,T.jsx)(`div`,{children:e})})})}function uce(e){let{rows:t,collapsedTurnKeys:n,flashKey:r,itemRef:i,scrollContainerRef:a,virtualizerRef:o,lockBottomPin:s,unlockBottomPin:c,initialCache:l,t:u,messages:f,modelNames:p,messageCwd:m,onOpenFile:h,nearBottom:g,isStreaming:_,streamingMessage:v,agentRunning:y}=e,[b,x]=(0,d.useState)(null),[S,C]=(0,d.useState)(null),w=(0,d.useRef)(null),E=(0,d.useCallback)(()=>{w.current&&=(clearTimeout(w.current),null)},[]),D=(0,d.useCallback)(e=>{if(E(),e!==null){C(e);return}w.current=setTimeout(()=>C(null),cce)},[E]);(0,d.useEffect)(()=>(z5.current=b===null?null:()=>x(null),()=>{z5.current=null}),[b]);let O=e=>{if(!e)return null;let n=t.find(t=>t.kind===`groupHeader`&&t.groupUserIdx===e.userIdx);if(!n)return null;let r=[];for(let t=e.userIdx+1;t<=n.finalAssistantIdx;t++){let e=f[t];if(e?.role!==`assistant`||!e.provider||!e.model)continue;let n=p?.[`${e.provider}/${e.model}`]??p?.[e.model]??e.model;r.some(t=>`${t.provider}/${t.name}`==`${e.provider}/${n}`)||r.push({provider:e.provider,name:n})}let i=!1;for(let t=e.userIdx+1;t<=n.finalAssistantIdx;t++){let e=f[t];if(e?.role===`assistant`&&T$(e)){i=!0;break}}return(0,T.jsx)(u5,{models:r,messageCount:n.messageCount,toolCallCount:n.toolCallCount,artifacts:n.artifacts,cwd:m,onOpenFile:h,t:u,timestamp:f[n.finalAssistantIdx]?.timestamp,durationSecs:te(e.userIdx),expanded:!1,headerMode:!0,stopped:i,expandMode:`modal`})},{renderRow:k,rowMargin:A,handleRowClick:j,turnToggleAnchorRef:M,renderTurnRows:N,renderPreviewRows:ee,turnDurationSecsOf:te}=oce({...e,onOpenTurnModal:(e,t)=>x({userIdx:e,finalAssistantIdx:t}),onPreviewHover:D}),P=null;for(let e of t)e.kind===`groupHeader`&&(P=e);let ne=P?f[P.finalAssistantIdx]:void 0,re=P!=null&&ne?.role===`assistant`&&(ne.stopReason===`stop`||ne.stopReason===`aborted`||ne.stopReason===`error`),ie=S===null?null:t.find(e=>e.kind===`groupHeader`&&e.groupUserIdx===S)??null,ae=b===null?0:t.find(e=>e.kind===`groupHeader`&&e.groupUserIdx===b.userIdx)?.finalAssistantIdx??b.finalAssistantIdx;return(0,T.jsxs)(T.Fragment,{children:[(0,T.jsx)(sce,{rows:t,collapsedKeys:n,renderRow:e=>{let t=e.kind===`groupHeader`,n=t&&ie!==null&&e.key===ie.key,r=t&&ie===null&&e.key===P?.key&&y&&((P?.messageCount??0)>0||_)&&g&&(_||v!=null||!re),i=n||r;return(0,T.jsxs)(`div`,{style:{position:`relative`,paddingBottom:A(e)},children:[i&&(0,T.jsx)(T.Fragment,{children:(0,T.jsxs)(lce,{onMouseEnter:()=>D(e.groupUserIdx),onMouseLeave:()=>D(null),autoScroll:ie===null&&_,borderFlash:_,children:[ee(e.groupUserIdx,e.finalAssistantIdx,ie===null&&_&&!v),ie===null&&_&&v?(0,T.jsx)(`div`,{style:e.finalAssistantIdx>e.groupUserIdx?{paddingBottom:0,paddingTop:3,borderTop:`1px solid var(--border)`}:{paddingBottom:0},children:(0,T.jsx)(B5,{message:v,isStreaming:!0,modelLabelVisible:!1,modelNames:p,cwd:m,onOpenFile:h})},`preview-streaming-live`):null]})}),k(e)]})},onRowClick:j,scrollContainerRef:a,virtualizerRef:o,initialCache:l,flashKey:r,itemRef:i,lockBottomPin:s,unlockBottomPin:c,toggleAnchorRef:M}),(0,T.jsx)(Xse,{open:b!==null,onOpenChange:e=>{e||x(null)},header:O(b),children:b&&(0,T.jsxs)(T.Fragment,{children:[N(b.userIdx,ae),_&&v&&y&&b.userIdx===P?.groupUserIdx?(0,T.jsx)(`div`,{"data-testid":`modal-streaming-live`,children:(0,T.jsx)(B5,{message:v,isStreaming:!0,modelLabelVisible:!1,modelNames:p,cwd:m,onOpenFile:h})},`modal-streaming-live`):null]})})]})}function V5({msg:e,onSend:t,onFillInput:n,testId:r}){let{t:i,locale:a}=M(),o=fn(e.message,a),s=fn(e.label,a),c=()=>{if(e.allowAppend&&n){n(`${o} `);return}t(o)},l=`${e.allowAppend?i(`config.widgets.fillToChatInputTooltip`):i(`config.widgets.sendImmediatelyTooltip`)}${o}`;return(0,T.jsx)(F,{label:l,children:(0,T.jsx)(kf,{label:s,title:l,onClick:c,testId:r})})}function H5({messages:e,onSend:t,onFillInput:n,testIdPrefix:r=`quick-msg`,wrapperTestId:i=`quick-message-buttons`,center:a=!1}){return e.length===0?null:(0,T.jsx)(`div`,{"data-testid":i,style:{display:`flex`,flexWrap:`wrap`,gap:6,justifyContent:a?`center`:`flex-start`,paddingTop:8,borderTop:a?`1px solid var(--border)`:void 0},children:e.map((e,i)=>(0,T.jsx)(V5,{msg:e,onSend:t,onFillInput:n,testId:`${r}-${i}`},i))})}function dce({chatInputElement:e,startScreenMessages:t,aiIdle:n,isMobile:r,onQuickMessageSend:i,onFillInput:a}){return(0,T.jsxs)(`div`,{className:`relative`,children:[(0,T.jsx)(`div`,{style:{padding:`0 16px`,paddingRight:r?16:64},children:(0,T.jsx)(`div`,{style:{maxWidth:820,margin:`0 auto`}})}),t.length>0&&n&&(0,T.jsx)(`div`,{style:{padding:`0 16px`,paddingRight:r?16:64},children:(0,T.jsx)(`div`,{style:{maxWidth:820,margin:`0 auto`,paddingBottom:8},children:(0,T.jsx)(H5,{messages:t,onSend:i,onFillInput:a,testIdPrefix:`start-screen-msg`,wrapperTestId:`start-screen-messages`})})}),e]})}function U5(e){return e.error?e.path.split(/[\\/]/).pop()||e.id:e.name||e.firstMessage.slice(0,50)||e.id.slice(0,12)}var W5=e=>e.replace(/\\/g,`/`).replace(/\/+$/,``).replace(/^[a-zA-Z]:/,e=>e.toLowerCase()),G5=e=>Math.max(...e.map(e=>{let t=new Date(e.modified).getTime();return Number.isNaN(t)?0:t})),fce=(e,t)=>G5(t.sessions)-G5(e.sessions);function pce(e,t,n){return!t||e.some(e=>e.id===t.id)?e:[{...t,projectRoot:t.projectRoot??n(t.cwd)??void 0},...e]}function mce({filteredSessions:e,selectedSession:t,projectRootFor:n,selectedCwd:r,savedWorkspaces:i}){let a=pce(e,t,n),o=new Map,s=new Map;for(let e of a){let t=e.projectRoot??e.cwd??`unknown`,n=t===`unknown`?t:W5(t);o.has(n)||(o.set(n,[]),s.set(n,t)),o.get(n).push(e)}let c=[...o.entries()].map(([e,t])=>({root:s.get(e)??e,sessions:t})).sort(fce),l=[];if(r){let e=n(r);e&&!o.has(W5(e))&&l.push({root:e,sessions:[]})}let u=new Set([...o.keys()]);for(let e of l)u.add(W5(e.root));let d=[];for(let e of i??[]){let t=W5(e);u.has(t)||(u.add(t),d.push({root:e,sessions:[]}))}return[...l,...c,...d]}function hce(e,t){return t?e.map(e=>({...e,sessions:e.sessions.filter(e=>U5(e).toLowerCase().includes(t))})).filter(e=>e.sessions.length>0):e}var K5=null,q5=new Set,J5=null;function Y5(){return!J5&&typeof PointerEvent<`u`&&(J5=new PointerEvent(`pointermove`)),J5}var X5=[],Z5=0;function Q5(){K5===null&&(K5=requestAnimationFrame(()=>{if(K5=null,q5.size===0)return;let e=0;for(let t of q5)X5[e++]=t;X5.length=e,q5.clear();for(let t=0;t<e;t++)X5[t].update();for(let t=0;t<e;t++)X5[t]=null;X5.length=0,q5.size>0&&Q5()}))}var $5=class e{get enabled(){return this._enabled}set enabled(e){this._enabled=e,!e&&this.isActive&&this.cancel()}cancel(){if(!this.isActive&&this.pointers.size===0)return;let t=this.isActive,n=Y5(),r=t?this.createEvent(n):null;this.pointers.clear(),this.pointersCache.length=0,this.isActive=!1,t&&Z5>0&&Z5--,q5.delete(this),e.activeInstance.get(this.element)===this&&e.activeInstance.set(this.element,null),this.clearHoldTimers(),this.removeDocumentListeners(),r&&(this.options.onCancel?.(r),this.options.onEnd?.(r))}clearHoldTimers(){this.holdTimer&&=(clearTimeout(this.holdTimer),null),this.holdEventTimer&&=(clearTimeout(this.holdEventTimer),null)}removeDocumentListeners(){document.removeEventListener(`pointermove`,this.onPointerMove),document.removeEventListener(`pointerup`,this.onPointerUp),document.removeEventListener(`pointercancel`,this.onPointerUp)}getRect(e=this.element){return this.options.rectChecker?this.options.rectChecker(e):e.getBoundingClientRect()}getOrigin(){let e={x:0,y:0};return this.resolveOriginInto(e),e}resolveOriginInto(e){let t=this.options.origin;if(!t){e.x=0,e.y=0;return}if(t===`parent`){let t=this.element.offsetParent;if(!t){e.x=0,e.y=0;return}let n=this.getRect(t);e.x=n.left,e.y=n.top;return}if(t instanceof HTMLElement){let n=this.getRect(t);e.x=n.left,e.y=n.top;return}e.x=t.x,e.y=t.y}rebuildPointersCache(){let e=this.pointersCache;e.length=0;for(let t of this.pointers.values())e.push(t)}updateOptions(e){Object.assign(this.options,e),`touchAction`in e&&(this.element.style.touchAction=this.options.touchAction??`none`)}get interacting(){return this.isActive}static{this.elementInstances=new WeakMap}static{this.activeInstance=new WeakMap}static{this.elementListeners=new WeakMap}constructor(t,n={}){this.pointers=new Map,this.pointersCache=[],this.isActive=!1,this.lastUpdate=0,this.priority=0,this._enabled=!0,this.holdTimer=null,this.holdEventTimer=null,this.lastTapTime=0,this.lastTapTarget=null,this._originScratch={x:0,y:0},this._cachedEvent={target:null,pointers:[],isPrimary:!0,originalEvent:null},this.element=t,this.options={threshold:3,preventScroll:!0,styleCursor:!0,...n},this.registerInstance();let r=e.elementInstances.get(t);if(r&&r.length===1&&(t.style.touchAction=this.options.touchAction??`none`,t.style.userSelect=`none`,t.style.webkitUserSelect=`none`),this.onPointerDown=this.onPointerDown.bind(this),this.onPointerMove=this.onPointerMove.bind(this),this.onPointerUp=this.onPointerUp.bind(this),r&&r.length===1){let n=n=>e.handleElementPointerDown(t,n);e.elementListeners.set(t,n),t.addEventListener(`pointerdown`,n)}}registerInstance(){let t=e.elementInstances.get(this.element);t?t.push(this):e.elementInstances.set(this.element,[this])}unregisterInstance(){let t=e.elementInstances.get(this.element);if(!t)return;let n=t.indexOf(this);n>=0&&(t.splice(n,1),t.length===0?(e.elementInstances.delete(this.element),e.activeInstance.delete(this.element),e.elementListeners.delete(this.element)):e.elementInstances.set(this.element,t))}shouldHandleEvent(e){return!0}checkEventFilters(e){let t=e.target;return!t||!(this.options.ignoreFrom&&t.closest(this.options.ignoreFrom)||this.options.allowFrom&&!t.closest(this.options.allowFrom))}static handleElementPointerDown(t,n){let r=e.elementInstances.get(t);if(!r)return;let i=e.activeInstance.get(t);if(i){i.onPointerDown(n);return}let a=null,o=-1;for(let e of r)e.checkEventFilters(n)&&e.shouldHandleEvent(n)&&e.enabled&&e.priority>o&&(a=e,o=e.priority);a&&(e.activeInstance.set(t,a),a.handlePointerDown(n))}onPointerDown(e){this.handlePointerDown(e)}handlePointerDown(e){if(this.options.mouseButtons&&!(e.buttons&this.options.mouseButtons))return;this.options.preventScroll&&e.preventDefault(),this.resolveOriginInto(this._originScratch);let t=e.clientX-this._originScratch.x,n=e.clientY-this._originScratch.y,r={id:e.pointerId,start:{x:t,y:n},current:{x:t,y:n},previous:{x:t,y:n},delta:{x:0,y:0},total:{x:0,y:0},velocity:{x:0,y:0},timestamp:e.timeStamp};this.pointers.set(e.pointerId,r),this.rebuildPointersCache(),this.pointers.size===1&&(document.addEventListener(`pointermove`,this.onPointerMove,{passive:!this.options.preventScroll}),document.addEventListener(`pointerup`,this.onPointerUp),document.addEventListener(`pointercancel`,this.onPointerUp)),this.options.onHold&&(this.holdEventTimer&&clearTimeout(this.holdEventTimer),this.holdEventTimer=setTimeout(()=>{this.holdEventTimer=null,this.pointers.size>0&&!this.isActive&&this.options.onHold(this.createEvent(e))},this.options.holdDuration??600));let i=this.options.holdDelay??0;i>0?(this.holdTimer&&clearTimeout(this.holdTimer),this.holdTimer=setTimeout(()=>{this.holdTimer=null,!this.isActive&&this.pointers.size>0&&this.start(e)},i)):this.options.threshold===0&&this.start(e)}onPointerMove(e){let t=this.pointers.get(e.pointerId);if(!t)return;this.resolveOriginInto(this._originScratch);let n=e.clientX-this._originScratch.x,r=e.clientY-this._originScratch.y;if(t.current.x!==n||t.current.y!==r){if(t.current.x=n,t.current.y=r,!this.isActive){let n=t.current.x-t.start.x,r=t.current.y-t.start.y;Math.sqrt(n*n+r*r)>=(this.options.threshold||3)&&(this.holdTimer&&=(clearTimeout(this.holdTimer),null),this.holdEventTimer&&=(clearTimeout(this.holdEventTimer),null),this.start(e))}this.isActive&&(this.options.preventScroll&&e.preventDefault(),q5.add(this),Q5())}}onPointerUp(e){if(this.pointers.get(e.pointerId)&&(this.pointers.delete(e.pointerId),this.rebuildPointersCache(),this.clearHoldTimers(),this.pointers.size===0)){if(this.removeDocumentListeners(),this.isActive)this.end(e);else{let t=this.createEvent(e);this.options.onTap&&this.options.onTap(t);let n=e.timeStamp,r=this.options.doubleTapDelay??300;this.options.onDoubleTap&&n-this.lastTapTime<r&&this.lastTapTarget===e.target&&this.options.onDoubleTap(t),this.lastTapTime=n,this.lastTapTarget=e.target}}}start(e){this.isActive=!0,Z5++;let t=this.createEvent(e);this.options.onStart&&this.options.onStart(t)}startFromEvent(t){this.isActive||this.pointers.has(t.pointerId)||(e.activeInstance.set(this.element,this),this.handlePointerDown(t),this.isActive||this.start(t))}end(t){this.isActive=!1,q5.delete(this),Z5>0&&Z5--,e.activeInstance.get(this.element)===this&&e.activeInstance.set(this.element,null);let n=this.createEvent(t);this.options.onEnd&&this.options.onEnd(n)}update(){if(!this.isActive||this.pointers.size===0)return;let e=performance.now(),t=this.lastUpdate===0?16:e-this.lastUpdate;this.lastUpdate=e;let n=t>0?1-Math.exp(-t/50):.3,r=!1;for(let e of this.pointers.values()){let i=e.current.x-e.previous.x,a=e.current.y-e.previous.y;if(i!==0||a!==0){if(r=!0,e.delta.x=i,e.delta.y=a,e.total.x=e.current.x-e.start.x,e.total.y=e.current.y-e.start.y,t>0){let r=i/t*1e3,o=a/t*1e3;e.velocity.x=e.velocity.x*(1-n)+r*n,e.velocity.y=e.velocity.y*(1-n)+o*n}e.previous.x=e.current.x,e.previous.y=e.current.y}else t>0&&(e.velocity.x*=1-n,e.velocity.y*=1-n)}r&&this.options.onMove&&this.options.onMove(this.populateEvent(Y5()))}populateEvent(e){let t=this._cachedEvent;return t.target=this.element,t.pointers=this.pointersCache,t.isPrimary=e.isPrimary,t.originalEvent=e,t}createEvent(e){return this.populateEvent(e)}destroy(){this.clearHoldTimers(),this.unregisterInstance();let t=e.elementInstances.get(this.element);if(!t||t.length===0){let t=e.elementListeners.get(this.element);t&&(this.element.removeEventListener(`pointerdown`,t),e.elementListeners.delete(this.element)),this.element.style.touchAction=``,this.element.style.userSelect=``,this.element.style.webkitUserSelect=``}this.pointers.size>0&&this.removeDocumentListeners(),q5.delete(this),this.pointers.clear(),this.pointersCache.length=0}},e7=null;function gce(){if(e7!==null)return e7;if(typeof window>`u`||!window.matchMedia)return e7=!1,!1;let e=window.matchMedia(`(prefers-reduced-motion: reduce)`);return e7=e.matches,typeof e.addEventListener==`function`&&e.addEventListener(`change`,e=>{e7=e.matches}),e7}function t7(e,t){for(let n=0;n<e.length;n++)e[n].modify(t);return t}var n7={instructions:`Press Space or Enter to pick up. Use arrow keys to move. Press Space or Enter to drop. Press Escape to cancel.`,pickedUp:(e,t,n)=>`Picked up ${e}, position ${t} of ${n}`,movedTo:(e,t)=>`Moved to position ${e} of ${t}`,dropped:(e,t,n)=>`Dropped ${e} in position ${t} of ${n}`,dragPickedUp:`Picked up`,dragDropped:`Dropped`};function r7(){return n7}var i7=null;function _ce(){return i7&&i7.isConnected?i7:(i7=document.createElement(`div`),i7.setAttribute(`aria-live`,`assertive`),i7.setAttribute(`aria-atomic`,`true`),i7.setAttribute(`role`,`status`),i7.style.cssText=`position:fixed;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0`,document.body.appendChild(i7),i7)}var a7=``;function o7(e){let t=_ce();t.textContent=e===a7?e+`\xA0`:e,a7=e}var s7=null,c7=`pointrix-instructions`;function vce(){return s7&&s7.isConnected?(s7.textContent=n7.instructions,c7):(s7=document.createElement(`div`),s7.id=c7,s7.style.cssText=`position:fixed;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0`,s7.textContent=n7.instructions,document.body.appendChild(s7),c7)}function yce(e){e.hasAttribute(`tabindex`)||e.setAttribute(`tabindex`,`0`),e.hasAttribute(`role`)||e.setAttribute(`role`,`button`),e.setAttribute(`aria-roledescription`,`draggable`),e.setAttribute(`aria-describedby`,vce())}function l7(e,t){e.setAttribute(`aria-grabbed`,String(t))}function bce(e){e.removeAttribute(`aria-roledescription`),e.removeAttribute(`aria-grabbed`),e.removeAttribute(`aria-describedby`)}var u7=new class{constructor(){this.zones=new Set,this._activeDragCount=0,this._refreshBound=()=>this.refreshRects()}register(e){this.zones.add(e)}unregister(e){this.zones.delete(e)}refreshRects(){for(let e of this.zones)e.isActive&&e.refreshRect()}onDragStart(e){for(let t of this.zones)t.accepts(e)&&(t.activate(e),t.refreshRect());this._activeDragCount===0&&typeof window<`u`&&(window.addEventListener(`scroll`,this._refreshBound,{passive:!0,capture:!0}),window.addEventListener(`resize`,this._refreshBound,{passive:!0})),this._activeDragCount++}onDragMove(e,t,n,r){let i,a=!1;for(let e of this.zones)if(e.isActive&&(e.options.overlap??`pointer`)!==`pointer`){a=!0;break}a&&(i=r?r():e.getBoundingClientRect());for(let r of this.zones){if(!r.isActive)continue;let a=r.checkOverlap(e,t,i);a>0?(r.isOver||r.enter(e,a,n),r.over(e,a,n)):r.isOver&&r.leave(e,n)}}onDragEnd(e,t,n,r){for(let i of this.zones)if(i.isActive){if(i.isOver){let a=r?.(),o=i.checkOverlap(e,t,a);i.drop(e,o>0?o:1,n)}i.deactivate(e),i.clearRect()}this._activeDragCount>0&&this._activeDragCount--,this._activeDragCount===0&&typeof window<`u`&&(window.removeEventListener(`scroll`,this._refreshBound,{capture:!0}),window.removeEventListener(`resize`,this._refreshBound))}getActiveZones(){let e=[];for(let t of this.zones)t.isActive&&e.push(t);return e}getHoveredZones(){let e=[];for(let t of this.zones)t.isOver&&e.push(t);return e}},xce=class extends $5{constructor(e,t={}){super(e,{...t,onStart:e=>{this.handleDragStart(e),t.onStart?.(e)},onMove:e=>{this.handleDragMove(e),t.onMove?.(e)},onEnd:e=>{this.handleDragEnd(e),t.onEnd?.(e)}}),this.transform={x:0,y:0},this.startTransform={x:0,y:0},this.bounds=null,this.momentum={vx:0,vy:0,active:!1},this.transformNormalized=!1,this.detectedAxis=null,this.cachedSize={width:0,height:0},this._boundGetRect=()=>this.getRect(),this.modifierContext={position:{x:0,y:0},velocity:{x:0,y:0},element:null,startPosition:{x:0,y:0},delta:{x:0,y:0},size:{width:0,height:0}},this.cachedDragEvent={target:null,originalEvent:null,pointers:[],isPrimary:!0,dx:0,dy:0,totalX:0,totalY:0,velocityX:0,velocityY:0},this.dragOptions=t,this.priority=5,t.styleCursor!==!1&&(e.style.cursor=t.cursorChecker?t.cursorChecker(`idle`):`grab`),t.aria!==!1&&yce(e)}shouldHandleEvent(e){if(!this.dragOptions.handle)return!0;let t=null;return t=typeof this.dragOptions.handle==`string`?this.element.querySelector(this.dragOptions.handle):this.dragOptions.handle,t?t.contains(e.target):!1}readCurrentTransform(e){let t=window.getComputedStyle(e).transform;if(t&&t!==`none`){let e=t.match(/matrix.*\((.+)\)/);if(e){let t=e[1].split(`, `);this.transform.x=parseFloat(t[4])||0,this.transform.y=parseFloat(t[5])||0}}else this.transformNormalized||(this.transform.x=0,this.transform.y=0);this.transformNormalized||=(e.style.transform=`translate3d(${this.transform.x}px, ${this.transform.y}px, 0)`,!0)}handleDragStart(e){let t=e.target;if(this.dragOptions.aria!==!1&&(l7(t,!0),o7(r7().dragPickedUp)),this.detectedAxis=null,this.readCurrentTransform(t),this.dragOptions.styleCursor!==!1&&(t.style.cursor=this.dragOptions.cursorChecker?this.dragOptions.cursorChecker(`grabbing`):`grabbing`),t.style.willChange=`transform`,this.startTransform.x=this.transform.x,this.startTransform.y=this.transform.y,this.dragOptions.bounds){let e=this.getRect(t),n=this.startTransform.x,r=this.startTransform.y,i;if(this.dragOptions.bounds===`parent`){let e=t.offsetParent||document.body,n=this.getRect(e);i={left:n.left,top:n.top,right:n.right,bottom:n.bottom}}else if(this.dragOptions.bounds instanceof HTMLElement){let e=this.getRect(this.dragOptions.bounds);i={left:e.left,top:e.top,right:e.right,bottom:e.bottom}}else{let e=this.dragOptions.bounds;i={left:e.left??-1/0,top:e.top??-1/0,right:e.right??1/0,bottom:e.bottom??1/0}}let a=i.left-e.left+n,o=i.top-e.top+r,s=i.right-e.right+n,c=i.bottom-e.bottom+r;this.bounds=new DOMRect(a,o,s-a,c-o)}this.momentum.active=!1;let n=this.getRect(e.target);if(this.cachedSize.width=n.width,this.cachedSize.height=n.height,this.dragOptions.modifiers?.length){let t=this.modifierContext;t.position.x=this.startTransform.x,t.position.y=this.startTransform.y,t.velocity.x=0,t.velocity.y=0,t.element=e.target,t.startPosition.x=this.startTransform.x,t.startPosition.y=this.startTransform.y,t.delta.x=0,t.delta.y=0,t.size.width=this.cachedSize.width,t.size.height=this.cachedSize.height;for(let e of this.dragOptions.modifiers)e.onStart?.(t)}this.dragOptions.onDragStart&&this.dragOptions.onDragStart(this.createDragEvent(e,0,0)),this.dragOptions.droppable&&u7.onDragStart(e.target)}handleDragMove(e){let t=e.pointers[0],n=t.total.x,r=t.total.y;if(this.dragOptions.axis===`auto`&&this.detectedAxis===null){let e=Math.abs(n),t=Math.abs(r);(e>0||t>0)&&(this.detectedAxis=e>t?`x`:`y`)}let i=this.dragOptions.axis===`auto`?this.detectedAxis:this.dragOptions.axis;i===`x`?r=0:i===`y`&&(n=0);let a=this.startTransform.x+n,o=this.startTransform.y+r;if(this.dragOptions.grid&&(a=Math.round(a/this.dragOptions.grid.x)*this.dragOptions.grid.x,o=Math.round(o/this.dragOptions.grid.y)*this.dragOptions.grid.y),this.bounds&&(a=Math.max(this.bounds.left,Math.min(a,this.bounds.right)),o=Math.max(this.bounds.top,Math.min(o,this.bounds.bottom))),this.dragOptions.modifiers?.length){let n=this.modifierContext;n.position.x=a,n.position.y=o,n.velocity.x=t.velocity.x,n.velocity.y=t.velocity.y,n.element=e.target,n.startPosition.x=this.startTransform.x,n.startPosition.y=this.startTransform.y,n.delta.x=t.delta.x,n.delta.y=t.delta.y,n.size.width=this.cachedSize.width,n.size.height=this.cachedSize.height,t7(this.dragOptions.modifiers,n),a=n.position.x,o=n.position.y}this.transform.x=a,this.transform.y=o,this.applyTransform(e.target),this.dragOptions.momentum&&(this.momentum.vx=t.velocity.x,this.momentum.vy=t.velocity.y);let s=this.createDragEvent(e,n,r);this.dragOptions.onDragMove&&this.dragOptions.onDragMove(s),this.dragOptions.droppable&&u7.onDragMove(e.target,t.current,s,this._boundGetRect)}handleDragEnd(e){let t=e.target;this.dragOptions.aria!==!1&&(l7(t,!1),o7(r7().dragDropped)),this.dragOptions.styleCursor!==!1&&(t.style.cursor=this.dragOptions.cursorChecker?this.dragOptions.cursorChecker(`grab`):`grab`);let n=this.transform.x-this.startTransform.x,r=this.transform.y-this.startTransform.y,i=this.dragOptions.momentum,a=typeof i==`object`?i.minVelocity??10:10;if(i&&(Math.abs(this.momentum.vx)>a||Math.abs(this.momentum.vy)>a)?this.startMomentum():t.style.willChange=``,this.dragOptions.modifiers?.length){let i=e.pointers[0],a=this.modifierContext;a.position.x=this.transform.x,a.position.y=this.transform.y,a.velocity.x=i?.velocity.x??0,a.velocity.y=i?.velocity.y??0,a.element=e.target,a.startPosition.x=this.startTransform.x,a.startPosition.y=this.startTransform.y,a.delta.x=n,a.delta.y=r,a.size.width=this.cachedSize.width,a.size.height=this.cachedSize.height;for(let e of this.dragOptions.modifiers)e.onEnd?.(a);let o=a.position.x,s=a.position.y;if(o!==this.transform.x||s!==this.transform.y){if(this.transform.x=o,this.transform.y=s,gce())this.applyTransform(t);else{t.style.transition=`transform 300ms cubic-bezier(0.25, 1, 0.5, 1)`,this.applyTransform(t);let e=()=>{t.style.transition=``,t.removeEventListener(`transitionend`,e)};t.addEventListener(`transitionend`,e)}}}if(this.dragOptions.droppable){let t=e.pointers[0]?.current??{x:0,y:0};u7.onDragEnd(e.target,t,this.createDragEvent(e,n,r),this._boundGetRect)}this.dragOptions.onDragEnd&&this.dragOptions.onDragEnd(this.createDragEvent(e,n,r))}startMomentum(){this.momentum.active=!0;let e=this.dragOptions.momentum,t=typeof e==`object`?e.friction??.95:.95,n=typeof e==`object`?e.minSpeed??.1:.1,r=performance.now(),i=e=>{if(!this.momentum.active)return;let a=Math.min(100,e-r)/1e3;r=e;let o=t**+a;if(this.momentum.vx*=o,this.momentum.vy*=o,Math.abs(this.momentum.vx)<n&&Math.abs(this.momentum.vy)<n){this.momentum.active=!1,this.element.style.willChange=``;return}this.transform.x+=this.momentum.vx*a,this.transform.y+=this.momentum.vy*a,this.bounds&&((this.transform.x<this.bounds.left||this.transform.x>this.bounds.right)&&(this.momentum.vx*=-.5,this.transform.x=Math.max(this.bounds.left,Math.min(this.transform.x,this.bounds.right))),(this.transform.y<this.bounds.top||this.transform.y>this.bounds.bottom)&&(this.momentum.vy*=-.5,this.transform.y=Math.max(this.bounds.top,Math.min(this.transform.y,this.bounds.bottom)))),this.applyTransform(this.element),requestAnimationFrame(i)};requestAnimationFrame(i)}applyTransform(e){e.style.transform=`translate3d(${this.transform.x}px, ${this.transform.y}px, 0)`}createDragEvent(e,t,n){let r=e.pointers[0],i=this.cachedDragEvent;return i.target=e.target,i.originalEvent=e.originalEvent,i.pointers=e.pointers,i.isPrimary=e.isPrimary,i.dx=r?.delta.x||0,i.dy=r?.delta.y||0,i.totalX=t,i.totalY=n,i.velocityX=r?.velocity.x||0,i.velocityY=r?.velocity.y||0,i}setPosition(e,t){this.transform.x=e,this.transform.y=t,this.applyTransform(this.element)}getPosition(){return{...this.transform}}updateOptions(e){super.updateOptions(e),Object.assign(this.dragOptions,e),(`cursorChecker`in e||`styleCursor`in e)&&!this.interacting&&(this.dragOptions.styleCursor===!1?this.element.style.cursor=``:this.element.style.cursor=this.dragOptions.cursorChecker?this.dragOptions.cursorChecker(`idle`):`grab`)}destroy(){super.destroy(),this.element.style.cursor=``,this.element.style.willChange=``,this.momentum.active=!1,this.dragOptions.aria!==!1&&bce(this.element)}},Sce=class extends $5{constructor(e,t={}){let n={edges:{top:!0,right:!0,bottom:!0,left:!0},handleSize:10,minWidth:50,minHeight:50,...t};super(e,{...n,threshold:0,onStart:e=>{this.handleResizeStart(e),t.onStart?.(e)},onMove:e=>{this.handleResizeMove(e),t.onMove?.(e)},onEnd:e=>{this.handleResizeEnd(e),t.onEnd?.(e)}}),this.startSize={width:0,height:0},this.startPos={x:0,y:0},this.currentSize={width:0,height:0},this.currentPos={x:0,y:0},this.activeEdge=null,this.edgeFlags={top:!1,right:!1,bottom:!1,left:!1},this.aspectRatio=null,this.transformNormalized=!1,this.modifierContext={position:{x:0,y:0},velocity:{x:0,y:0},element:null,startPosition:{x:0,y:0},delta:{x:0,y:0},edges:{top:!1,right:!1,bottom:!1,left:!1},size:{width:0,height:0},startSize:{width:0,height:0}},this.cachedResizeEvent={target:null,originalEvent:null,pointers:[],isPrimary:!0,width:0,height:0,deltaWidth:0,deltaHeight:0,edges:{top:!1,right:!1,bottom:!1,left:!1}},this.resizeOptions=n,this.resizeOptions.square&&(this.resizeOptions.aspectRatio=1),this.priority=10,this.boundUpdateCursor=this.updateCursor.bind(this),e.addEventListener(`pointermove`,this.boundUpdateCursor),e.style.position=`relative`}normalizeInitialTransform(e){let t=window.getComputedStyle(e).transform;if(t&&t!==`none`){let n=t.match(/matrix.*\((.+)\)/);if(n){let t=n[1].split(`, `),r=parseFloat(t[4])||0,i=parseFloat(t[5])||0;e.style.transform=`translate3d(${r}px, ${i}px, 0)`}}}shouldHandleEvent(e){return this.detectEdge(e)!==null}updateCursor(e){if(this.activeEdge)return;let t=this.detectEdge(e);this.element.style.cursor=this.resizeOptions.cursorChecker?this.resizeOptions.cursorChecker(t):this.getCursor(t)}detectEdge(e){let t=this.getRect(),n=e.clientX-t.left,r=e.clientY-t.top,i=this.resizeOptions.handleSize||10,a=this.resizeOptions.edges||{},o=a.top&&r<i,s=a.bottom&&r>t.height-i,c=a.left&&n<i,l=a.right&&n>t.width-i;return o&&c?`top-left`:o&&l?`top-right`:s&&c?`bottom-left`:s&&l?`bottom-right`:o?`top`:s?`bottom`:c?`left`:l?`right`:null}getCursor(e){switch(e){case`top`:case`bottom`:return`ns-resize`;case`left`:case`right`:return`ew-resize`;case`top-left`:case`bottom-right`:return`nwse-resize`;case`top-right`:case`bottom-left`:return`nesw-resize`;default:return``}}handleResizeStart(e){this.transformNormalized||=(this.normalizeInitialTransform(this.element),!0);let t=this.getRect(),n=window.getComputedStyle(this.element);if(this.activeEdge=this.detectEdge(e.originalEvent),!this.activeEdge)return;this.edgeFlags.top=this.activeEdge.includes(`top`),this.edgeFlags.right=this.activeEdge.includes(`right`),this.edgeFlags.bottom=this.activeEdge.includes(`bottom`),this.edgeFlags.left=this.activeEdge.includes(`left`),this.startSize={width:parseFloat(n.width)||t.width,height:parseFloat(n.height)||t.height},this.currentSize={...this.startSize};let r=n.transform;if(r&&r!==`none`){let e=r.match(/matrix.*\((.+)\)/);if(e){let t=e[1].split(`, `);this.startPos.x=parseFloat(t[4])||0,this.startPos.y=parseFloat(t[5])||0}}else this.startPos.x=0,this.startPos.y=0;this.currentPos={...this.startPos},this.resizeOptions.aspectRatio===`preserve`?this.aspectRatio=this.startSize.width/this.startSize.height:typeof this.resizeOptions.aspectRatio==`number`&&(this.aspectRatio=this.resizeOptions.aspectRatio),this.element.style.willChange=`width, height, transform`,this.resizeOptions.onResizeStart&&this.resizeOptions.onResizeStart(this.createResizeEvent(e,0,0))}handleResizeMove(e){if(!this.activeEdge)return;let t=e.pointers[0],n=t.total.x,r=t.total.y,i=this.startSize.width,a=this.startSize.height,o=this.startPos.x,s=this.startPos.y;this.edgeFlags.right&&(i+=n),this.edgeFlags.left&&(i-=n,o+=n),this.edgeFlags.bottom&&(a+=r),this.edgeFlags.top&&(a-=r,s+=r);let c=this.resizeOptions.invert||`none`;c===`reposition`&&(i<0&&(o+=i,i=-i),a<0&&(s+=a,a=-a));let l=c===`negate`?-1/0:this.resizeOptions.minWidth||0,u=c===`negate`?-1/0:this.resizeOptions.minHeight||0,d=this.resizeOptions.maxWidth||1/0,f=this.resizeOptions.maxHeight||1/0,p=c===`reposition`?1:l||50,m=c===`reposition`?1:u||50;if(this.aspectRatio&&(this.activeEdge===`left`||this.activeEdge===`right`?a=i/this.aspectRatio:this.activeEdge===`top`||this.activeEdge===`bottom`?i=a*this.aspectRatio:Math.abs(i-this.startSize.width)>Math.abs(a-this.startSize.height)?a=i/this.aspectRatio:i=a*this.aspectRatio),i<p&&(this.edgeFlags.left&&(o+=i-p),i=p,this.aspectRatio&&(a=i/this.aspectRatio)),i>d&&(this.edgeFlags.left&&(o+=i-d),i=d,this.aspectRatio&&(a=i/this.aspectRatio)),a<m&&(this.edgeFlags.top&&(s+=a-m),a=m,this.aspectRatio&&(i=a*this.aspectRatio)),a>f&&(this.edgeFlags.top&&(s+=a-f),a=f,this.aspectRatio&&(i=a*this.aspectRatio)),this.resizeOptions.grid&&(i=Math.round(i/this.resizeOptions.grid.width)*this.resizeOptions.grid.width,a=Math.round(a/this.resizeOptions.grid.height)*this.resizeOptions.grid.height),this.resizeOptions.modifiers?.length){let e=this.modifierContext;e.position.x=o,e.position.y=s,e.velocity.x=t.velocity?.x??0,e.velocity.y=t.velocity?.y??0,e.element=this.element,e.startPosition.x=this.startPos.x,e.startPosition.y=this.startPos.y,e.delta.x=n,e.delta.y=r,e.edges.top=this.edgeFlags.top,e.edges.right=this.edgeFlags.right,e.edges.bottom=this.edgeFlags.bottom,e.edges.left=this.edgeFlags.left,e.size.width=i,e.size.height=a,e.startSize.width=this.startSize.width,e.startSize.height=this.startSize.height,t7(this.resizeOptions.modifiers,e),o=e.position.x,s=e.position.y,i=e.size.width,a=e.size.height}if(this.currentSize={width:i,height:a},this.currentPos={x:o,y:s},this.element.style.width=`${i}px`,this.element.style.height=`${a}px`,(o!==this.startPos.x||s!==this.startPos.y)&&(this.element.style.transform=`translate3d(${o}px, ${s}px, 0)`),this.resizeOptions.onResizeMove){let t=i-this.startSize.width,n=a-this.startSize.height;this.resizeOptions.onResizeMove(this.createResizeEvent(e,t,n))}}handleResizeEnd(e){if(this.element.style.willChange=``,this.activeEdge=null,this.resizeOptions.onResizeEnd){let t=this.currentSize.width-this.startSize.width,n=this.currentSize.height-this.startSize.height;this.resizeOptions.onResizeEnd(this.createResizeEvent(e,t,n))}}createResizeEvent(e,t,n){let r=this.cachedResizeEvent;return r.target=e.target,r.originalEvent=e.originalEvent,r.pointers=e.pointers,r.isPrimary=e.isPrimary,r.width=this.currentSize.width,r.height=this.currentSize.height,r.deltaWidth=t,r.deltaHeight=n,r.edges.top=this.edgeFlags.top,r.edges.right=this.edgeFlags.right,r.edges.bottom=this.edgeFlags.bottom,r.edges.left=this.edgeFlags.left,r}setSize(e,t){this.currentSize={width:e,height:t},this.element.style.width=`${e}px`,this.element.style.height=`${t}px`}getSize(){return{...this.currentSize}}updateOptions(e){super.updateOptions(e),Object.assign(this.resizeOptions,e),`square`in e&&this.resizeOptions.square&&(this.resizeOptions.aspectRatio=1)}destroy(){super.destroy(),this.element.removeEventListener(`pointermove`,this.boundUpdateCursor),this.element.style.cursor=``,this.element.style.willChange=``}},Cce=180/Math.PI,wce=class extends $5{constructor(e,t={}){super(e,{...t,threshold:0}),this.gestureActive=!1,this.startDistance=0,this.startAngle=0,this.prevScale=1,this.prevAngle=0,this._p1=null,this._p2=null,this._cachedGestureEvent={target:null,pointers:[],isPrimary:!1,originalEvent:null,scale:1,rotation:0,distance:0,angle:0,center:{x:0,y:0},deltaScale:0,deltaAngle:0},this.gestureOptions=t,this.minPointers=t.minPointers??2,this.priority=15}shouldHandleEvent(e){return!0}selectTwoPointers(){if(this.pointers.size<2)return this._p1=this._p2=null,!1;let e=this.pointers.values();return this._p1=e.next().value,this._p2=e.next().value,!0}distanceBetween(e,t){let n=t.x-e.x,r=t.y-e.y;return Math.sqrt(n*n+r*r)}angleBetween(e,t){return Math.atan2(t.y-e.y,t.x-e.x)*Cce}normalizeAngleDelta(e){for(;e>180;)e-=360;for(;e<-180;)e+=360;return e}buildEvent(e,t,n,r,i,a,o,s){let c=this._cachedGestureEvent;return c.target=this.element,c.pointers=this.pointersCache,c.isPrimary=!1,c.originalEvent=c.originalEvent??{},c.scale=n,c.rotation=r,c.distance=e,c.angle=t,c.center.x=o,c.center.y=s,c.deltaScale=i,c.deltaAngle=a,c}update(){if(!this.isActive||this.pointers.size===0)return;let e=this.selectTwoPointers();if(!this.gestureActive&&e&&this.pointers.size>=this.minPointers){this.gestureActive=!0;let e=this._p1.current,t=this._p2.current;this.startDistance=this.distanceBetween(e,t),this.startAngle=this.angleBetween(e,t),this.prevScale=1,this.prevAngle=0;let n=this.buildEvent(this.startDistance,this.startAngle,1,0,0,0,(e.x+t.x)/2,(e.y+t.y)/2);this.gestureOptions.onGestureStart&&this.gestureOptions.onGestureStart(n);return}if(this.gestureActive&&this.pointers.size<this.minPointers){this.endGesture(),super.update();return}if(this.gestureActive&&e){let e=this._p1.current,t=this._p2.current,n=this.distanceBetween(e,t),r=this.angleBetween(e,t),i=this.startDistance>0?n/this.startDistance:1,a=this.normalizeAngleDelta(r-this.startAngle),o=i-this.prevScale,s=this.normalizeAngleDelta(a-this.prevAngle);this.prevScale=i,this.prevAngle=a,this.gestureOptions.onGestureMove&&this.gestureOptions.onGestureMove(this.buildEvent(n,r,i,a,o,s,(e.x+t.x)/2,(e.y+t.y)/2))}super.update()}endGesture(){if(!this.gestureActive)return;this.gestureActive=!1;let e=this.selectTwoPointers(),t=e?this._p1.current:null,n=e?this._p2.current:null,r=t&&n?this.distanceBetween(t,n):0,i=t&&n?this.angleBetween(t,n):0,a=t&&n?(t.x+n.x)/2:0,o=t&&n?(t.y+n.y)/2:0,s=this.startDistance>0&&r>0?r/this.startDistance:this.prevScale;this.gestureOptions.onGestureEnd&&this.gestureOptions.onGestureEnd(this.buildEvent(r,i,s,this.prevAngle,0,0,a,o))}updateOptions(e){super.updateOptions(e),Object.assign(this.gestureOptions,e),e.minPointers!==void 0&&(this.minPointers=e.minPointers)}destroy(){this.gestureActive&&this.endGesture(),super.destroy()}},Tce=typeof window<`u`?d.useLayoutEffect:d.useEffect;function d7(e){let t={};for(let n in e){let r=e[n];typeof r!=`function`&&(t[n]=r)}return t}function Ece(e={},t){let n=(0,d.useRef)(e);n.current=e;let r=(0,d.useRef)(null),i=(0,d.useRef)(null),a=(0,d.useRef)(void 0),o=(0,d.useCallback)(o=>{if(o===i.current||(r.current&&(r.current.drag?.destroy(),r.current.resize?.destroy(),r.current.gesture?.destroy(),r.current=null,t&&(t.current=null)),i.current=o,!o))return;let s=n.current,c={drag:s.drag?new xce(o,typeof s.drag==`object`?f7(n,`drag`):{}):null,resize:s.resize?new Sce(o,typeof s.resize==`object`?f7(n,`resize`):{}):null,gesture:s.gesture?new wce(o,typeof s.gesture==`object`?f7(n,`gesture`):{}):null};r.current=c,t&&(t.current=c),a.current=e},[]);return Tce(()=>{let t=r.current;if(!t||a.current===e)return;let i=n.current;t.drag&&typeof i.drag==`object`&&t.drag.updateOptions(d7(i.drag)),t.resize&&typeof i.resize==`object`&&t.resize.updateOptions(d7(i.resize)),t.gesture&&typeof i.gesture==`object`&&t.gesture.updateOptions(d7(i.gesture)),a.current=e}),o}function f7(e,t){let n=e.current[t];if(typeof n!=`object`)return{};let r={};for(let i in n){let a=n[i];r[i]=typeof a==`function`?(...n)=>{let r=e.current[t];if(typeof r!=`object`)return;let a=r[i];return a?.(...n)}:a}return r}function Dce(e){switch(e){case`info`:return`var(--accent)`;case`success`:return`var(--status-success)`;case`warning`:return`var(--status-warning)`;case`error`:return`var(--status-error)`;default:return`var(--text)`}}function Oce(e){let{instRef:t,contentRef:n,initial:r,maxWidth:i}=e;if(t.current?.resize?.setSize(r.w,r.h),!i||!n.current)return;let a=n.current;a.style.width=`max-content`;let o=Math.ceil(a.scrollWidth);a.style.width=``;let s=Math.min(Math.max(o,r.w),i);s!==r.w&&t.current?.resize?.setSize(s,r.h)}function kce(e){let{instRef:t,elRef:n,contentRef:r,initial:i,maxWidth:a,maxHeightPx:o}=e,s=n.current;if(!s)return;let c=s.style.height,l=s.style.maxHeight;s.style.height=`auto`,s.style.maxHeight=`none`;let u=s.scrollHeight;s.style.height=c,s.style.maxHeight=l;let d=Math.min(u,o);if(a&&r.current){let e=r.current;e.style.width=`max-content`;let n=Math.ceil(e.scrollWidth);e.style.width=``;let o=Math.min(Math.max(n,i.w),a);t.current?.resize?.setSize(o,d)}else t.current?.resize?.setSize(i.w,d)}function Ace(e){let{instRef:t,initial:n}=e;t.current?.drag?.setPosition(n.x,n.y),n.h==null?kce(e):Oce(e)}function jce({title:e,subtitle:t,variant:n,flashHeader:r,headerExtra:i}){return(0,T.jsxs)(T.Fragment,{children:[(0,T.jsxs)(`div`,{className:`dd-drag-handle`,style:{padding:`12px 14px`,borderBottom:`1px solid var(--border)`,cursor:`move`,touchAction:`none`,userSelect:`none`,flexShrink:0,...n===`normal`?null:{background:Dce(n)},...r?{animation:`interaction-bg-blink 0.6s ease-in-out infinite`}:null},children:[(0,T.jsx)(`div`,{style:{color:n===`normal`?`var(--text)`:`var(--on-accent, #fff)`,fontSize:`var(--text-2xl)`,fontWeight:650,paddingRight:i?34:0},children:e}),t&&(0,T.jsx)(`div`,{style:{marginTop:3,color:`var(--text-dim)`,fontSize:`var(--text-sm)`,fontFamily:`var(--font-mono)`},children:t})]}),i&&(0,T.jsx)(`div`,{style:{position:`absolute`,top:8,right:10,zIndex:2,display:`flex`,alignItems:`center`},children:i})]})}function p7({title:e,subtitle:t,children:n,footer:r,width:i=560,align:a=`bottom`,height:o,variant:s=`normal`,initialOffset:c,position:l,size:u,maxWidth:f,onDragStop:p,onResizeStop:m,testId:h,style:g,portalTarget:_,headerExtra:v,flashHeader:y,autoFocus:b,popover:x}){let[S,C]=(0,d.useState)(!1),w=Math.round(window.innerHeight*.8),[E]=(0,d.useState)(()=>({x:l?.x??c?.dx??0,y:l?.y??c?.dy??0,w:u?.width??i,h:u?.height??o??null})),D=(0,d.useRef)(null),O=(0,d.useRef)(null),k=(0,d.useRef)(null),A=(0,d.useRef)(null),j=(0,d.useRef)(p);j.current=p;let M=(0,d.useRef)(m);M.current=m;let N=Ece((0,d.useMemo)(()=>({drag:{handle:`.dd-drag-handle`,onDragEnd:()=>{let e=A.current?.drag?.getPosition();e&&j.current?.(e.x,e.y)}},resize:{edges:{top:!0,right:!0,bottom:!0,left:!0},minWidth:160,minHeight:100,onResizeEnd:e=>{let t=D.current?.style.transform.match(/translate3?d?\((-?[\d.]+)px,\s*(-?[\d.]+)px/);M.current?.(e.width,e.height,t?Number(t[1]):0,t?Number(t[2]):0)}}}),[]),A);(0,d.useEffect)(()=>()=>{A.current?.drag?.cancel(),A.current?.resize?.cancel()},[]);let ee=(0,d.useCallback)(e=>{D.current=e,O.current=e,N(e)},[N]);(0,d.useEffect)(()=>{if(!x)return;let e=O.current;if(e){try{e.showPopover()}catch{}return()=>{try{e.hidePopover()}catch{}}}},[x]),(0,d.useEffect)(()=>{Ace({instRef:A,elRef:D,contentRef:k,initial:E,maxWidth:f,maxHeightPx:w}),b&&D.current?.focus()},[]);let te=s===`error`?1200:1e3,P=S?te+100:te;return(0,mo.createPortal)((0,T.jsx)(`div`,{"data-testid":h,onPointerDownCapture:()=>C(!0),style:{position:`fixed`,inset:0,zIndex:P,display:`flex`,alignItems:a===`bottom`?`flex-end`:`center`,justifyContent:`center`,padding:a===`bottom`?`0 20px 16px`:0,pointerEvents:`none`,...g},children:(0,T.jsxs)(`div`,{ref:ee,role:`dialog`,"aria-modal":`true`,tabIndex:-1,popover:x?`manual`:void 0,style:{outline:`none`,transform:`translate(${E.x}px, ${E.y}px)`,width:E.w,maxWidth:`calc(100vw - 40px)`,...E.h==null?{maxHeight:`80dvh`}:{height:E.h,maxHeight:`calc(100dvh - 40px)`},display:`flex`,flexDirection:`column`,...x?a===`bottom`?{position:`fixed`,left:0,right:0,bottom:16,marginInline:`auto`,padding:0}:{position:`fixed`,inset:0,margin:`auto`,height:E.h??`fit-content`,padding:0}:{position:`relative`},border:`1px solid color-mix(in srgb, var(--foreground) 14%, transparent)`,borderRadius:12,background:`var(--bg)`,boxShadow:`0 -4px 24px var(--shadow-strong), 0 8px 28px var(--shadow-color), 0 2px 8px var(--shadow-color)`,overflow:`hidden`,pointerEvents:`auto`},children:[(0,T.jsx)(jce,{title:e,subtitle:t,variant:s,flashHeader:y,headerExtra:v}),(0,T.jsx)(`div`,{ref:k,style:{padding:14,overflowY:`auto`,minHeight:0,flexGrow:1,userSelect:`text`},children:n}),r&&(0,T.jsx)(`div`,{style:{display:`flex`,justifyContent:`flex-end`,gap:8,padding:`10px 14px`,borderTop:`1px solid var(--border)`,background:`var(--bg-panel)`,flexShrink:0},children:r})]})}),_??document.body)}var m7={padding:`10px 16px`,fontSize:`var(--text-base)`,color:`var(--text-muted)`,fontStyle:`italic`};function h7(e,t){let n=[];return e.forEach((e,r)=>{e.role===`user`&&n.push(t[r]??`idx-${r}`)}),n}function Mce({turnKeysNewestLast:e,streamingTurnKey:t,collapsedTurns:n,expandedTurns:r}){let i=new Set;for(let a of e){let e=r.get(a);if(e!==void 0){e||i.add(a);continue}if(n.has(a)){i.add(a);continue}a!==t&&i.add(a)}return i}function Nce(e,t,n){if(n==null)return;let r=[];e.forEach((e,n)=>{e.role===`assistant`&&(e.content??[]).forEach((e,i)=>{e.type===`thinking`?r.push(Yt(`thinking`,t[n]??``,void 0,i)):e.type===`toolCall`&&r.push(Yt(`toolCall`,``,e.toolCallId))})});let i=n??0,a=i>0?r.slice(-i):[];return new Set(a)}function g7(e,t){return t?e:void 0}function _7(e,t){return t?e:void 0}function Pce(e,t,n,r){return e&&t.length===0&&!n&&!r}function v7(e,t){return e||t}function Fce(e,t,n,r){return!v7(e,r)&&!t&&!n}function Ice(e,t,n,r){return e||t||n||r}function Lce(e,t){return e??t??void 0}function Rce(e,t){return e??t??void 0}function zce(e,t){return e??t??``}function Bce(e,t){return e??(t?`new:${t}`:void 0)}function y7(e,t){return e?t?.[`${e.provider}/${e.modelId}`]??null:null}function Vce(e,t){return e??t??``}function Hce(e,t){return!!e||t}function Uce(e,t,n){t||e?.current?.addImages(n)}var Wce={background:`var(--bg)`,minHeight:`100%`},Gce=5;function b7({notices:e,onDismiss:t,floating:n=!1,align:r=`left`}){return e.length===0?null:(0,T.jsx)(`div`,{style:{display:`flex`,flexDirection:`column`,alignItems:r===`right`?`flex-end`:`stretch`,gap:10,marginBottom:n?0:10},children:e.map(e=>{let{Icon:n,color:r}=x7[e.type];return(0,T.jsxs)(uo,{open:!0,closable:!0,autoDismissSecs:Gce,onDismiss:()=>t(e.id),className:`notice-shelf-item`,style:{minHeight:48,maxWidth:`min(100%, 620px)`,fontSize:`var(--text-3xl)`,lineHeight:1.45,borderRadius:12},testId:`notice-shelf-${e.id}`,children:[(0,T.jsx)(n,{size:I[`3xl`],style:{color:r,flexShrink:0,marginRight:10}}),(0,T.jsx)(`span`,{style:{padding:`10px 0`,minWidth:0},children:(0,T.jsx)(`span`,{style:{display:`-webkit-box`,WebkitLineClamp:4,WebkitBoxOrient:`vertical`,overflow:`hidden`,whiteSpace:`pre-wrap`,overflowWrap:`anywhere`},children:e.message})})]},e.id)})})}var x7={info:{Icon:Kr,color:`var(--accent)`},success:{Icon:yr,color:`var(--status-success)`},warning:{Icon:Ti,color:`var(--status-warning)`},error:{Icon:xr,color:`var(--status-error)`}},S7={info:`chat.notifyInfoTitle`,success:`chat.notifySuccessTitle`,warning:`chat.notifyWarningTitle`,error:`chat.notifyErrorTitle`};function Kce({modals:e,onDismiss:t}){let{t:n}=M();return(0,T.jsx)(T.Fragment,{children:e.map((e,r)=>(0,T.jsx)(p7,{variant:e.type,align:`center`,width:520,height:320,initialOffset:{dx:r%3*24,dy:r%3*24},title:(()=>{let{Icon:t,color:r}=x7[e.type];return(0,T.jsxs)(`span`,{style:{display:`inline-flex`,alignItems:`center`,gap:8},children:[(0,T.jsx)(t,{size:I[`4xl`],style:{color:r}}),n(S7[e.type])]})})(),footer:(0,T.jsx)(`button`,{onClick:()=>t(e.id),style:{padding:`6px 14px`,borderRadius:6,border:`1px solid var(--border)`,background:`var(--bg)`,color:`var(--text)`,cursor:`pointer`},children:n(`chat.close`)}),children:(0,T.jsx)(`div`,{style:{whiteSpace:`pre-wrap`,overflowWrap:`anywhere`,fontSize:`var(--text-lg)`,lineHeight:1.6,color:`var(--text)`},children:e.message})},e.id))})}var qce=[{type:`info`,titleKey:`notices.filterInfo`},{type:`warning`,titleKey:`notices.filterWarning`},{type:`error`,titleKey:`notices.filterError`}],C7=300;function Jce(e){return e.length>C7?`${e.slice(0,C7)}…`:e}function Yce({currentSessionId:e,onViewNotice:t}){let{t:n,locale:r}=M(),{entries:i,remove:a,clear:o}=lt(),[s,c]=(0,d.useState)(!0),[l,u]=(0,d.useState)(``),[f,p]=(0,d.useState)(()=>new Set([`info`,`warning`,`error`])),[m,h]=(0,d.useState)([]);(0,d.useEffect)(()=>{let e=!0;return Ct.load().then(t=>{e&&h(t.sessions)}).catch(()=>{}),()=>{e=!1}},[]);let g=new Map(m.map(e=>[e.id,e])),_=i.filter(e=>f.has(e.notifyType)||e.notifyType===`success`&&f.has(`info`)).filter(t=>!s||t.sessionId===e||t.sessionId===null).filter(e=>!l||e.message.toLowerCase().includes(l.toLowerCase())),v=e=>new Date(e).toLocaleTimeString(r===`zh-CN`?`zh-CN`:void 0,{hour:`2-digit`,minute:`2-digit`});return(0,T.jsxs)(`div`,{style:Wce,children:[(0,T.jsx)(`div`,{style:{padding:`10px 16px`,fontSize:`var(--text-base)`,fontWeight:700,color:`var(--text)`,borderBottom:`1px solid var(--border)`,display:`flex`,flexDirection:`column`,gap:8},children:(0,T.jsxs)(`div`,{style:{display:`flex`,alignItems:`center`,gap:8},children:[(0,T.jsx)(`span`,{style:{flexShrink:0},children:n(`notices.title`)}),(0,T.jsx)(`div`,{style:{display:`flex`,alignItems:`center`,gap:2,flexShrink:0},children:qce.map(({type:e,titleKey:t})=>{let r=f.has(e),{Icon:i,color:a}=x7[e];return(0,T.jsx)(F,{label:n(t),children:(0,T.jsx)(`button`,{type:`button`,"aria-pressed":r,"aria-label":n(t),onClick:()=>p(t=>{let n=new Set(t);return n.has(e)?n.delete(e):n.add(e),n}),style:{border:`none`,padding:4,lineHeight:1,display:`inline-flex`,cursor:`pointer`,color:r?a:`var(--text-dim)`,opacity:r?1:.55},children:(0,T.jsx)(i,{size:I.lg})})},e)})}),(0,T.jsx)(F,{label:n(s?`notices.onlyCurrentOnHint`:`notices.onlyCurrentOffHint`),children:(0,T.jsxs)(`label`,{style:{flexShrink:0,display:`inline-flex`,alignItems:`center`,gap:6,fontSize:`var(--text-base)`,lineHeight:1,cursor:`pointer`,color:s?`var(--accent)`:`var(--text-dim)`,whiteSpace:`nowrap`},children:[(0,T.jsx)(`input`,{type:`checkbox`,checked:s,onChange:()=>c(e=>!e),"aria-label":n(`notices.onlyCurrent`)}),n(`notices.onlyCurrent`)]})}),(0,T.jsx)(fb,{testId:`notices-search`,query:l,onChange:u,t:n,style:{flex:1,width:`auto`,minWidth:0,marginLeft:0}}),(0,T.jsx)(F,{label:n(s?`notices.clearCurrentHint`:`notices.clearAllHint`),children:(0,T.jsxs)(`button`,{type:`button`,onClick:()=>o(s?e:void 0),style:{flexShrink:0,display:`inline-flex`,alignItems:`center`,gap:6,fontSize:`var(--text-base)`,lineHeight:1,color:`var(--status-error)`,border:`1px solid var(--border)`,borderRadius:999,padding:`4px 12px`,cursor:`pointer`},children:[(0,T.jsx)(wi,{size:I.xl,"aria-hidden":`true`}),n(`notices.clear`)]})})]})}),_.length===0?(0,T.jsx)(`div`,{style:m7,children:n(`notices.empty`)}):_.map(e=>{let{Icon:r,color:i}=x7[e.notifyType];return(0,T.jsxs)(`div`,{style:{display:`flex`,gap:10,padding:`10px 16px`,borderBottom:`1px solid var(--border)`,alignItems:`center`},children:[(0,T.jsx)(r,{size:I[`2xl`],style:{color:i,flexShrink:0}}),(0,T.jsxs)(`div`,{onClick:()=>t(e),style:{minWidth:0,flex:1,cursor:`pointer`},children:[(0,T.jsx)(`div`,{style:{color:`var(--text)`,fontSize:`var(--text-base)`,lineHeight:1.5,whiteSpace:`pre-wrap`,overflowWrap:`anywhere`},children:Jce(e.message)}),(0,T.jsxs)(`div`,{style:{marginTop:4,fontSize:`var(--text-xs)`,color:`var(--text-dim)`,display:`flex`,gap:8,alignItems:`center`},children:[e.sessionId?(0,T.jsxs)(`span`,{children:[n(`notices.fromSession`),(()=>{let t=g.get(e.sessionId);return t?` ${(t.projectRoot??t.cwd).split(/[\\/]/).filter(Boolean).pop()??``} · ${U5(t)}`:` #${e.sessionId.slice(0,8)}`})()]}):(0,T.jsx)(`span`,{children:n(`notices.global`)}),(0,T.jsx)(`span`,{children:v(e.createdAt)})]})]}),(0,T.jsx)(`button`,{type:`button`,onClick:()=>a(e.id),title:n(`notices.remove`),style:{flexShrink:0,border:`none`,color:`var(--text-dim)`,cursor:`pointer`,padding:2,lineHeight:1},children:(0,T.jsx)(ji,{size:I.sm})})]},e.id)})]})}function Xce({entry:e,onClose:t}){let{t:n,locale:r}=M(),i=e;return i?(0,T.jsx)(T.Fragment,{children:(0,T.jsx)(p7,{variant:i.notifyType,align:`center`,width:560,height:360,title:(()=>{let{Icon:e,color:t}=x7[i.notifyType];return(0,T.jsxs)(`span`,{style:{display:`inline-flex`,alignItems:`center`,gap:8},children:[(0,T.jsx)(e,{size:I[`4xl`],style:{color:t}}),n(S7[i.notifyType]),(0,T.jsx)(`span`,{style:{fontSize:`var(--text-xs)`,color:`var(--text-dim)`},children:new Date(i.createdAt).toLocaleString(r===`zh-CN`?`zh-CN`:void 0)})]})})(),footer:(0,T.jsx)(`button`,{onClick:t,style:{padding:`6px 14px`,borderRadius:6,border:`1px solid var(--border)`,background:`var(--bg)`,color:`var(--text)`,cursor:`pointer`},children:n(`chat.close`)}),children:(0,T.jsx)(`div`,{style:{whiteSpace:`pre-wrap`,overflowWrap:`anywhere`,fontSize:`var(--text-base)`,lineHeight:1.6,color:`var(--text)`},children:i.message})})}):null}function Zce({show:e,onClick:t}){let{t:n}=M(),[r,i]=(0,d.useState)(!1);return e?(0,T.jsxs)(T.Fragment,{children:[(0,T.jsx)(`span`,{style:{position:`absolute`,left:0,right:0,bottom:0,height:30,background:`linear-gradient(to bottom, transparent, var(--bg))`,pointerEvents:`none`,zIndex:49}}),(0,T.jsxs)(`button`,{type:`button`,onClick:t,"aria-label":n(`chat.scrollToLatest`),"data-testid":`scroll-to-latest`,onPointerEnter:()=>i(!0),onPointerLeave:()=>i(!1),style:{position:`absolute`,bottom:5,left:`50%`,transform:`translateX(-50%)`,zIndex:50,cursor:`pointer`,display:`flex`,alignItems:`center`,gap:4,height:26,padding:`0 12px`,borderRadius:999,border:`1px solid var(--border)`,background:`var(--bg)`,boxShadow:`0 2px 8px rgba(0, 0, 0, 0.18)`,transition:`background 120ms ease, scale 120ms ease`,scale:r?`1.05`:`1`,color:`var(--text)`,fontSize:12,lineHeight:1,whiteSpace:`nowrap`},children:[(0,T.jsx)(hr,{size:15,strokeWidth:2.4,style:{flexShrink:0}}),(0,T.jsx)(`span`,{children:n(`chat.scrollToLatest`)})]})]}):null}function Qce({plainStatusLine:e}){return(0,T.jsx)(`div`,{style:{display:`flex`,alignItems:`center`,flexShrink:0,minWidth:0,height:36,padding:`0 12px`,borderTop:`1px solid var(--border)`,gap:8},children:(0,T.jsx)(F,{label:e,wrapperStyle:{display:`flex`,flex:1,minWidth:0},children:(0,T.jsx)(`div`,{role:`status`,"aria-label":e,style:{alignSelf:`stretch`,display:`flex`,alignItems:`center`,flex:1,minWidth:0,overflow:`hidden`,textOverflow:`ellipsis`,whiteSpace:`nowrap`,fontFamily:`var(--font-mono)`,fontSize:`var(--text-base)`,color:`var(--text-dim)`},children:e})})})}function $ce({agentRunning:e,commandBusy:t,agentPhase:n,streamState:r}){return!e&&!t?!1:n||t?!0:e||!!r.streamingMessage}function ele({agentRunning:e,pendingBash:t,bashOutput:n,session:r,sessionIdRef:i}){return(0,T.jsxs)(T.Fragment,{children:[t&&(0,T.jsx)(B5,{message:{role:`bashExecution`,command:t.command,output:``,excludeFromContext:t.excludeFromContext},streamingBashOutput:n,sessionId:r?.id??i.current??void 0}),e&&(0,T.jsx)(`div`,{style:{height:48}})]})}function tle({isMobile:e,notices:t,scrollContainerRef:n,handleListScroll:r,canMountList:i,sessionIdForCache:a,sessionId:o,rows:s,collapsedTurnKeys:c,messages:l,entryIds:u,modelNames:f,messageCwd:p,onOpenFile:m,sessionBusy:h,isNew:g,handleFork:_,forkingEntryId:v,handleNavigate:y,handleEditContent:b,sessionIdRef:x,session:S,recentExpandedBlockKeys:C,streamState:w,flashKey:E,itemRef:D,t:O,messageRefs:k,lastUserMsgRef:A,visibleRefIndexByMessage:j,virtualizerRef:M,lockBottomPin:N,unlockBottomPin:ee,initialCache:te,agentRunning:P,agentPhase:ne,pendingBash:re,bashOutput:ie,messagesEndRef:ae,nearBottom:oe,scrollToBottom:se,resolveMessageOffset:ce,scrollToMessageIndex:le,previewScrollStepPx:ue,handleWindowJumpTo:de,chatInputElement:fe,startScreenMessages:pe,aiIdle:me,onQuickMessageSend:he,onFillInput:ge,onDismissNotice:_e,plainStatusLine:ve}){let ye=(0,d.useMemo)(()=>ne?.kind===`running_tools`?new Set(ne.tools.map(e=>e.id)):void 0,[ne]),be=(0,d.useRef)(null);(0,d.useLayoutEffect)(()=>()=>{be.current?.()},[]);let xe=(0,d.useCallback)((e,t)=>{if(!le(e))return!1;let r=n.current;N(),be.current?.();let i=!1,a=null,o=()=>{i||(i=!0,a?.(),r?.removeEventListener(`wheel`,s),r?.removeEventListener(`touchstart`,s),r?.removeEventListener(`pointerdown`,s),be.current=null,ee())},s=()=>o();if(!r)return o(),!0;let c={once:!0,passive:!0};return r.addEventListener(`wheel`,s,c),r.addEventListener(`touchstart`,s,c),r.addEventListener(`pointerdown`,s,c),a=a$(r,()=>t(r),{frameBudget:300,stableFrames:3,quietFrames:3,onDone:o}),be.current=o,!0},[N,n,le,ee]),Se=(0,d.useCallback)(e=>xe(e,t=>t.querySelector(`[data-row-key="message-${e}"]`)),[xe]),Ce=(0,d.useCallback)(e=>{let t=CSS.escape(`group-header-${e}-`),r=e=>e.querySelector(`[data-row-key^="${t}"]`);if(xe(e,r))return;let i=n.current;i&&a$(i,()=>r(i),{frameBudget:40})},[xe,n]);return(0,T.jsxs)(T.Fragment,{children:[(0,T.jsxs)(`div`,{className:`relative flex min-h-0 min-w-0 flex-1 overflow-hidden`,children:[(0,T.jsx)(`div`,{style:{position:`absolute`,top:12,left:0,right:e?0:48,zIndex:40,padding:`0 16px`,pointerEvents:`none`},children:(0,T.jsx)(`div`,{style:{maxWidth:820,margin:`0 auto`},children:(0,T.jsx)(b7,{notices:t,onDismiss:_e,floating:!0,align:`right`})})}),(0,T.jsx)(`div`,{ref:n,onScroll:r,className:`min-h-0 min-w-0 flex-1 overflow-x-hidden overflow-y-auto pt-4 [scrollbar-width:none] [overflow-anchor:none]`,style:{paddingRight:48},"data-testid":`message-list`,children:(0,T.jsx)(`div`,{style:{minWidth:0,padding:`0 16px`},children:(0,T.jsxs)(`div`,{style:{width:`100%`,minWidth:0,maxWidth:820,margin:`0 auto`},children:[i&&(0,T.jsx)(uce,{rows:s,collapsedTurnKeys:c,messages:l,entryIds:u,runningToolIds:ye,modelNames:f,messageCwd:p,onOpenFile:m,sessionBusy:h,isNew:g,handleFork:_,forkingEntryId:v,handleNavigate:y,handleEditContent:b,sessionId:S?.id??x.current??void 0,recentExpandedBlockKeys:C,isStreaming:w.isStreaming,agentRunning:P,flashKey:E,itemRef:D,t:O,messageRefs:k,lastUserMsgRef:A,visibleRefIndexByMessage:j,scrollContainerRef:n,virtualizerRef:M,lockBottomPin:N,unlockBottomPin:ee,nearBottom:oe,streamingMessage:w.streamingMessage,initialCache:te},a||`empty`),(0,T.jsx)(ele,{agentRunning:P,pendingBash:re,bashOutput:ie,session:S,sessionIdRef:x}),(0,T.jsx)(`div`,{ref:ae})]})})}),(0,T.jsx)(Zce,{show:!oe,onClick:se}),e?null:(0,T.jsx)(g$,{messages:l,streamingMessage:w.streamingMessage,scrollContainer:n,messageRefs:k,resolveMessageOffset:ce,scrollStepPx:ue,onWindowJumpTo:de,onScrollToMessageIndex:Se,jumpToFoldedTurnFooter:Ce,sid:o})]}),(0,T.jsx)(dce,{chatInputElement:fe,startScreenMessages:pe,aiIdle:me,isMobile:e,onQuickMessageSend:he,onFillInput:ge}),(0,T.jsx)(Qce,{plainStatusLine:ve})]})}function nle({show:e}){return e?(0,T.jsxs)(`div`,{className:`pointer-events-none absolute inset-0 z-50 flex animate-[drop-zone-in_0.15s_ease_both] items-center justify-center bg-[color-mix(in_srgb,var(--accent)_6%,transparent)] backdrop-blur-[1px]`,children:[(0,T.jsx)(`div`,{className:`pointer-events-none absolute inset-0 flex items-center justify-center`,children:[0,.8,1.6].map(e=>(0,T.jsx)(`div`,{className:`absolute h-[720px] w-[720px] rounded-full border-[1.5px] border-solid border-[color-mix(in_srgb,var(--accent)_50%,transparent)] animate-[drop-ripple_2.4s_ease-out_infinite_backwards]`,style:{transformOrigin:`center`,animationDelay:`${e}s`}},e))}),(0,T.jsxs)(`svg`,{width:`280`,height:`280`,viewBox:`0 0 140 140`,fill:`none`,xmlns:`http://www.w3.org/2000/svg`,className:`drop-shadow-[0_6px_18px_var(--accent-glow)]`,children:[(0,T.jsx)(`rect`,{x:`28`,y:`44`,width:`84`,height:`60`,rx:`8`,fill:`color-mix(in srgb, var(--accent) 8%, transparent)`,stroke:`color-mix(in srgb, var(--accent) 50%, transparent)`,strokeWidth:`1.8`}),(0,T.jsx)(`path`,{d:`M36 100 L54 72 L68 88 L80 74 L104 100Z`,fill:`color-mix(in srgb, var(--accent) 16%, transparent)`,stroke:`color-mix(in srgb, var(--accent) 40%, transparent)`,strokeWidth:`1.4`,strokeLinejoin:`round`}),(0,T.jsx)(`circle`,{cx:`96`,cy:`58`,r:`8`,fill:`color-mix(in srgb, var(--accent) 22%, transparent)`,stroke:`color-mix(in srgb, var(--accent) 55%, transparent)`,strokeWidth:`1.6`}),(0,T.jsxs)(`g`,{stroke:`color-mix(in srgb, var(--accent) 45%, transparent)`,strokeWidth:`1.4`,strokeLinecap:`round`,children:[(0,T.jsx)(`line`,{x1:`96`,y1:`46`,x2:`96`,y2:`43`}),(0,T.jsx)(`line`,{x1:`96`,y1:`70`,x2:`96`,y2:`73`}),(0,T.jsx)(`line`,{x1:`84`,y1:`58`,x2:`81`,y2:`58`}),(0,T.jsx)(`line`,{x1:`108`,y1:`58`,x2:`111`,y2:`58`}),(0,T.jsx)(`line`,{x1:`87.5`,y1:`49.5`,x2:`85.4`,y2:`47.4`}),(0,T.jsx)(`line`,{x1:`104.5`,y1:`66.5`,x2:`106.6`,y2:`68.6`}),(0,T.jsx)(`line`,{x1:`104.5`,y1:`49.5`,x2:`106.6`,y2:`47.4`}),(0,T.jsx)(`line`,{x1:`87.5`,y1:`66.5`,x2:`85.4`,y2:`68.6`})]})]})]}):null}var rle={ArrowUp:`\x1B[A`,ArrowDown:`\x1B[B`,ArrowRight:`\x1B[C`,ArrowLeft:`\x1B[D`,Home:`\x1B[H`,End:`\x1B[F`,Insert:`\x1B[2~`,Delete:`\x1B[3~`,PageUp:`\x1B[5~`,PageDown:`\x1B[6~`,Escape:`\x1B`,Backspace:``},ile={ArrowLeft:`\x1Bb`,ArrowRight:`\x1Bf`,ArrowUp:`\x1Bp`,ArrowDown:`\x1Bn`};function ale(e){if(e.length!==1)return null;let t=e.toUpperCase().charCodeAt(0);return t>=64&&t<=95?String.fromCharCode(t&31):e===`?`?``:null}function ole(e){if(e.ctrlKey&&!e.altKey){let t=ale(e.key);if(t)return t}if(e.altKey&&!e.ctrlKey){if(e.key===`Backspace`)return`\x1B`;let t=ile[e.key];if(t)return t;if(e.key.length===1)return`\x1b${e.key}`}return null}function sle(e){return e.metaKey||e.ctrlKey&&!e.altKey&&e.key.toLowerCase()===`v`?null:ole(e)||(e.key===`Enter`?e.shiftKey?`
|
|
495
|
-
`:`\r`:e.key===`Tab`?e.shiftKey?`\x1B[Z`:` `:
|
|
496
|
-
`:null]},t))})]})})}function w7({n:e}){return(0,T.jsx)(`kbd`,{"aria-hidden":!0,style:{display:`inline-flex`,alignItems:`center`,justifyContent:`center`,minWidth:18,height:18,marginRight:7,padding:`0 4px`,borderRadius:4,border:`1px solid var(--border)`,background:`var(--bg)`,color:`var(--text-muted)`,fontSize:`var(--text-sm)`,fontVariantNumeric:`tabular-nums`,verticalAlign:`middle`},children:e})}function
|
|
493
|
+
`),{usageNode:C,usageFooter:w,showModelLabel:E}=wse(e,t,h,d,_.size,f===!0);return h.length===0&&!t&&!g&&e.stopReason!==`aborted`?null:(0,T.jsxs)(`div`,{className:`msg-row`,children:[(0,T.jsx)(`div`,{style:{display:`flex`,flexDirection:`column`},children:m.map(({block:e,originalIndex:r},i)=>{let s=i>0?m[i-1].block.type:null,d=i===0||s===`toolCall`&&(e.type===`toolCall`||e.type===`thinking`)?0:4;return(0,T.jsx)(`div`,{style:{marginTop:d},children:(0,T.jsx)(Dse,{...Cse({block:e,originalIndex:r,blocksLength:h.length,lastTextIndex:x,textContent:S,usageNode:C,usageFooter:w,streamingDurations:y,toolCallDurations:v,isStreaming:t,toolResults:n,liveBlockIndices:_,cwd:a,onOpenFile:o,sessionId:c,entryId:l,recentExpandedBlockKeys:u})})},`${l??`stream`}-${r}`)})}),E&&(0,T.jsx)(u5,{streaming:!0,expanded:!1,expandMode:`modal`,models:[{provider:e.provider??``,name:i?.[`${e.provider}/${e.model}`]??i?.[e.model]??e.model??``}],messageCount:0,toolCallCount:0,cwd:a,onOpenFile:o,t:p,estTokens:Math.round(I5(h)/4),tps:b}),g&&(/abort/i.test(g)?(0,T.jsx)(L5,{tone:`stopped`,error:`⏹ ${p(`chat.stoppedByUser`)}`,hasBlocks:h.length>0}):(0,T.jsx)(L5,{error:g,hasBlocks:h.length>0})),e.stopReason===`aborted`&&!t&&!e.suppressAbortBanner&&(0,T.jsx)(L5,{tone:`stopped`,error:`⏹ ${p(`chat.stoppedByUser`)}`,hasBlocks:h.length>0}),(0,T.jsx)(Loe,{usage:e.usage,isStreaming:t,timestamp:s?e.timestamp:void 0,showUsage:h.length===0})]})}function Ese(e,t,n,r,i){return!t&&n!==void 0&&(e.type===`thinking`||e.type===`toolCall`)&&i?.has(Yt(e.type,n,e.type===`toolCall`?e.toolCallId:void 0,e.type===`thinking`?r:void 0))===!0}function Dse({block:e,toolResults:t,isStreaming:n,isLastBlock:r,isLiveBlock:i,streamingDuration:a,toolCallDurations:o,cwd:s,onOpenFile:c,sessionId:l,entryId:u,blockIndex:d,recentExpandedBlockKeys:f,usageFooter:p,showCopy:m,copyText:h,usageNode:g}){let _=Ese(e,n,u,d,f),v=n&&r!==!1;if(e.type===`text`)return(0,T.jsx)(Ose,{block:e,isStreaming:v,cwd:s,onOpenFile:c,showCopy:m,copyText:h,usageNode:g});if(e.type===`thinking`)return(0,T.jsx)(Koe,{block:e,sessionId:l,entryId:u,blockIndex:d,isStreaming:v,keepExpanded:_,footer:p});if(e.type===`toolCall`){let r=e,s=t?.get(`${u}:${r.toolCallId}`),c=r.durationSecs??o?.get(r.toolCallId)??a;return(0,T.jsx)(M5,{block:r,result:s,duration:c,isStreaming:n,running:i===!0,keepExpanded:_,persistKey:u?`${u}:${r.toolCallId}`:void 0,footer:p})}return null}function Ose({block:e,isStreaming:t,cwd:n,onOpenFile:r,showCopy:i,copyText:a,usageNode:o}){let s=i&&!t&&(a||o!==void 0),{revealed:c,ref:l,handlers:u,tapToggle:d}=lK({enabled:!!s,touch:`tap`});return(0,T.jsx)(`div`,{ref:l,...u,onClick:d,style:{display:`flex`,alignItems:`flex-start`,gap:6,position:`relative`},children:(0,T.jsxs)(`div`,{style:{flex:1,minWidth:0},children:[(0,T.jsx)(s5,{isStreaming:t,cwd:n,onOpenFile:r,className:t?`streaming-md`:void 0,children:e.text}),s&&c&&(0,T.jsxs)(`div`,{style:{position:`absolute`,right:0,bottom:-2,zIndex:20,display:`flex`,alignItems:`center`,gap:10,padding:`3px 8px`,background:`var(--bg)`,border:`1px solid var(--border)`,borderRadius:7,boxShadow:`0 2px 8px color-mix(in srgb, var(--text) 8%, transparent)`},children:[o,a&&(0,T.jsx)(l5,{textContent:a})]})]})})}function kse({message:e,sessionId:t,streamingOutput:n}){let[r,i]=(0,d.useState)(null),[a,o]=(0,d.useState)(!1),[s,c]=(0,d.useState)(null),l=Ase(e),u=jse(e),f=Mse(t,e),p=!!(e.truncated&&f)&&r===null,{block:m,result:h}=Nse(e,{isPending:l,isError:u,displayOutput:r??e.output});async function g(){if(f){o(!0),c(null);try{let e=await(await fetch(f)).json();e.success?i(e.data?.output??``):c(e.error??`failed`)}catch(e){c(String(e))}finally{o(!1)}}}return(0,T.jsxs)(`div`,{style:{margin:`6px 0`},children:[(0,T.jsx)(M5,{block:m,result:h,streamingOutput:l?n:void 0}),e.truncated&&f&&(0,T.jsx)(Pse,{showFullButton:p,loadingFull:a,fullError:s,fullOutputUrl:f,onLoadFull:g})]})}function Ase(e){return!e.output&&e.exitCode===void 0&&!e.cancelled}function jse(e){return e.cancelled||e.exitCode!==void 0&&e.exitCode!==0}function Mse(e,t){return!e||!t.fullOutputPath?null:`/api/agent/${encodeURIComponent(e)}/bash-output?path=${encodeURIComponent(t.fullOutputPath)}`}function Nse(e,t){let n=e.excludeFromContext?`bash (local)`:`bash`,r={type:`toolCall`,toolCallId:`bash-${e.timestamp??``}`,toolName:n,input:{command:e.command}};return{block:r,result:t.isPending?void 0:{role:`toolResult`,toolCallId:r.toolCallId,toolName:n,content:t.displayOutput?[{type:`text`,text:t.displayOutput}]:[],isError:t.isError,timestamp:e.timestamp}}}function Pse({showFullButton:e,loadingFull:t,fullError:n,fullOutputUrl:r,onLoadFull:i}){return(0,T.jsxs)(`div`,{style:{padding:`4px 10px`,fontSize:`var(--text-sm)`,marginTop:-1},children:[e&&(0,T.jsx)(`button`,{onClick:i,disabled:t,style:{border:`none`,color:`var(--accent)`,cursor:t?`default`:`pointer`,fontSize:`var(--text-sm)`,padding:0,textDecoration:`underline`},children:t?`loading…`:`view full output`}),(0,T.jsx)(`a`,{href:`${r}&download=1`,style:{marginLeft:e?10:0,color:`var(--accent)`,fontSize:`var(--text-sm)`,textDecoration:`underline`},children:`download full output`}),n&&(0,T.jsxs)(`span`,{style:{marginLeft:6,color:`var(--text-dim)`,fontSize:`var(--text-sm)`},children:[`(`,n,`)`]})]})}var Fse=/<(read-files|modified-files)>\s*([\s\S]*?)\s*<\/\1>/g,Ise=/(?:\r?\n){2,}((?:[ \t]*<(?:read-files|modified-files)>[ \t]*\r?\n[\s\S]*?\r?\n[ \t]*<\/(?:read-files|modified-files)>[ \t]*(?:\r?\n)?)+)\s*$/;function Lse(e){let t=[],n=[],r=e.match(Ise),i=r?.[1]??``,a=r?.index===void 0?e:e.slice(0,r.index);return i.replace(Fse,(e,r,i)=>{let a=i.split(/\r?\n/).map(e=>e.trim()).filter(Boolean);return r===`read-files`?t.push(...a):n.push(...a),``}),{body:a.trim(),readFiles:t,modifiedFiles:n}}function Rse({message:e}){let{t}=M(),n=O5(e.content),r=(0,d.useMemo)(()=>Lse(n),[n]),i=D5(e.timestamp);return(0,T.jsx)(`div`,{style:{marginBottom:16},children:(0,T.jsxs)(`div`,{style:{border:`1px solid var(--border)`,borderRadius:8,overflow:`hidden`,background:`var(--bg)`},children:[(0,T.jsxs)(`div`,{style:{display:`flex`,alignItems:`center`,gap:8,padding:`7px 10px`,borderBottom:`1px solid var(--border)`,background:`var(--bg)`,color:`var(--text-muted)`},children:[(0,T.jsx)(`span`,{style:{fontFamily:`var(--font-mono)`,fontSize:`var(--text-sm)`,fontWeight:650},children:`compaction`}),i&&(0,T.jsx)(`span`,{style:{marginLeft:`auto`,color:`var(--text-dim)`,fontSize:`var(--text-xs)`},children:i})]}),(0,T.jsxs)(`div`,{style:{padding:`11px 13px 12px`},children:[(0,T.jsx)(`div`,{style:{color:`var(--text)`,fontSize:`var(--text-2xl)`,fontWeight:700,lineHeight:1.35},children:t(`i18n.conversationCompacted`)}),(0,T.jsx)(`div`,{style:{marginTop:3,marginBottom:10,color:`var(--text)`,fontSize:`var(--text-2xl)`,lineHeight:1.5},children:t(`i18n.compactionDescription`)}),r.body?(0,T.jsx)(s5,{className:`markdown-compaction-message`,children:r.body}):(0,T.jsx)(`span`,{style:{color:`var(--text-dim)`,fontSize:`var(--text-base)`},children:t(`i18n.noSummary`)}),(0,T.jsx)(zse,{readFiles:r.readFiles,modifiedFiles:r.modifiedFiles})]})]})})}function zse({readFiles:e,modifiedFiles:t}){let{t:n}=M();if(e.length+t.length===0)return null;let r=[];return e.length>0&&r.push(`${e.length} read`),t.length>0&&r.push(`${t.length} modified`),(0,T.jsxs)(`details`,{className:`compaction-file-details`,children:[(0,T.jsx)(`summary`,{children:n(`i18n.fileContext`,{details:r.join(`, `)})}),t.length>0&&(0,T.jsx)(R5,{title:n(`i18n.modifiedFiles`),files:t}),e.length>0&&(0,T.jsx)(R5,{title:n(`i18n.readFiles`),files:e})]})}function R5({title:e,files:t}){return(0,T.jsxs)(`div`,{className:`compaction-file-section`,children:[(0,T.jsx)(`div`,{className:`compaction-file-title`,children:e}),(0,T.jsx)(`ul`,{className:`compaction-file-list`,children:t.map(e=>(0,T.jsx)(`li`,{children:e},e))})]})}function Bse({message:e,cwd:t,onOpenFile:n}){let r=e.display===!1,i=O5(e.content),a=e.details!==void 0,o=a?use(e.details):``,s=dse(e.customType),c=D5(e.timestamp),l=r?Mr:li;return(0,T.jsx)(`div`,{style:{marginBottom:16},children:(0,T.jsx)(`div`,{style:{border:`1px solid var(--border)`,borderRadius:8,overflow:`hidden`,background:`var(--bg)`,fontSize:`var(--text-base)`},children:(0,T.jsx)(p5,{header:(e,{collapsed:t})=>(0,T.jsxs)(`div`,{...e,style:{...e.style,display:`flex`,alignItems:`center`,gap:8,padding:`6px 10px`,color:r?`var(--text-muted)`:`var(--text)`,minWidth:0,opacity:r&&t?.82:1},children:[(0,T.jsx)(l,{size:I.base,style:{flexShrink:0,color:`var(--text-dim)`}}),(0,T.jsx)(`span`,{style:{flexShrink:0,color:r?`var(--text-muted)`:`var(--text)`,fontFamily:`var(--font-mono)`,fontSize:`var(--text-sm)`,fontWeight:650},children:s}),t&&i&&(0,T.jsx)(`span`,{style:{flex:1,minWidth:0,overflow:`hidden`,textOverflow:`ellipsis`,whiteSpace:`nowrap`,color:`var(--text-dim)`,fontSize:`var(--text-sm)`},children:fse(i)}),c&&(0,T.jsx)(`span`,{style:{marginLeft:`auto`,flexShrink:0,color:`var(--text-dim)`,fontSize:`var(--text-xs)`},children:c})]}),body:()=>(0,T.jsxs)(`div`,{className:`pv-shrink`,style:{borderTop:`1px solid var(--border)`,padding:`6px 10px 8px`},children:[(0,T.jsx)(Vse,{text:i,message:e,cwd:t,onOpenFile:n}),a&&(0,T.jsx)(Hse,{detailsText:o})]}),footer:i||o?(0,T.jsx)(l5,{textContent:i||o}):void 0,footerPadding:`2px 10px 4px`})})})}function Vse({text:e,message:t,cwd:n,onOpenFile:r}){let{t:i}=M(),a=lse(t.content);return(0,T.jsxs)(T.Fragment,{children:[a.length>0&&(0,T.jsx)(`div`,{style:{display:`flex`,gap:6,flexWrap:`wrap`,marginBottom:e?8:0},children:a.map((e,t)=>{let n=k5(e);return n?(0,T.jsx)(`img`,{src:n,alt:``,style:{maxWidth:240,maxHeight:240,borderRadius:6,objectFit:`contain`,display:`block`,border:`1px solid var(--border)`}},t):null})}),e?(0,T.jsx)(s5,{className:`markdown-custom-message`,cwd:n,onOpenFile:r,children:e}):(0,T.jsx)(`span`,{style:{color:`var(--text-dim)`,fontSize:`var(--text-base)`},children:i(`i18n.noMessage`)})]})}function Hse({detailsText:e}){return(0,T.jsx)(`pre`,{style:{margin:0,marginTop:8,padding:`9px 10px`,borderTop:`1px solid var(--border)`,background:`var(--bg)`,color:`var(--text-muted)`,fontSize:`var(--text-base)`,lineHeight:1.5,whiteSpace:`pre-wrap`,wordBreak:`break-word`,maxHeight:360,overflow:`auto`,fontFamily:`var(--font-mono)`,contentVisibility:`auto`,containIntrinsicBlockSize:360},children:e})}var z5={current:null};function Use({anchor:e,text:t,onClose:n}){let r=(0,d.useRef)(null);return(0,d.useLayoutEffect)(()=>{let t=r.current;if(!(!t||typeof t.showPopover!=`function`))try{t.showPopover({source:e})}catch{}},[]),(0,T.jsx)(`div`,{ref:r,popover:`auto`,role:`dialog`,"aria-modal":`false`,"data-testid":`user-full-text-popover`,onToggle:e=>{e.newState===`closed`&&n()},onKeyDown:e=>{e.key===`Escape`&&e.stopPropagation()},onMouseDown:e=>e.stopPropagation(),style:{position:`fixed`,positionArea:`bottom span-left`,justifySelf:`end`,margin:`6px 0 0`,positionTryFallbacks:`flip-block`,width:`min(640px, calc(100vw - 32px))`,maxHeight:`calc(100dvh - 32px)`,overflowY:`auto`,padding:`12px 14px`,background:`var(--user-bg)`,border:`1px solid color-mix(in srgb, var(--accent) 20%, transparent)`,borderRadius:12,boxShadow:`0 8px 16px rgba(0, 0, 0, 0.18), 0 16px 48px -8px rgba(0, 0, 0, 0.38)`,fontSize:`var(--text-base)`,fontFamily:`var(--font-mono)`,lineHeight:1.6,color:`var(--text)`,whiteSpace:`pre-wrap`,wordBreak:`break-word`},children:t})}var Wse=5;function Gse({message:e,entryId:t,onFork:n,forking:r,onNavigate:i,prevAssistantEntryId:a,onEditContent:o,turnNumber:s}){let[c,l]=(0,d.useState)(!1),{t:u}=M(),{text:f,images:p}=Kse(e),m=D5(e.timestamp),h=!!t&&!!n,g=!!a&&!!i,[_,v]=(0,d.useState)(!1),[y,b]=(0,d.useState)(!1),[x,S]=(0,d.useState)(null),C=(0,d.useRef)(null);return(0,d.useLayoutEffect)(()=>{let e=C.current;if(!e||typeof ResizeObserver>`u`)return;let t=()=>v(e.scrollHeight-e.clientHeight>1);t();let n=new ResizeObserver(t);return n.observe(e),()=>n.disconnect()},[f]),(0,T.jsxs)(`div`,{className:`msg-row`,style:{marginBottom:16,display:`flex`,flexDirection:`column`,alignItems:`flex-end`},children:[(0,T.jsxs)(`div`,{style:{display:`flex`,alignItems:`center`,justifyContent:`flex-end`,gap:6},children:[s!==void 0&&(0,T.jsx)(l$,{number:s}),(0,T.jsxs)(`div`,{"data-testid":`user-message-bubble`,onClick:e=>{_&&(z5.current?.(),S(e.currentTarget))},onMouseEnter:()=>b(!0),onMouseLeave:()=>b(!1),style:{flex:1,minWidth:0,position:`relative`,background:`var(--user-bg)`,border:`1px solid color-mix(in srgb, var(--accent) 20%, transparent)`,borderRadius:12,padding:`8px 12px`,fontSize:`var(--text-base)`,fontFamily:`var(--font-mono)`,lineHeight:1.6,color:`var(--text)`,wordBreak:`break-word`,cursor:_?`pointer`:void 0},children:[p.length>0&&(0,T.jsx)(qse,{images:p,content:f}),f&&(0,T.jsx)(`div`,{ref:C,"data-testid":`user-message`,title:_?u(`i18n.userMessageExpandHint`):void 0,style:{whiteSpace:`pre-wrap`,wordBreak:`break-word`,display:`-webkit-box`,WebkitLineClamp:Wse,WebkitBoxOrient:`vertical`,overflow:`hidden`},children:f}),_&&y&&(0,T.jsxs)(`div`,{"data-testid":`user-message-expand-hint`,style:{position:`absolute`,right:8,bottom:6,display:`flex`,alignItems:`center`,gap:4,padding:`2px 8px`,borderRadius:6,background:`color-mix(in srgb, var(--accent) 12%, var(--user-bg))`,fontSize:`var(--text-xs)`,color:`var(--text-dim)`,pointerEvents:`none`},children:[(0,T.jsx)(Ar,{size:I.sm,"aria-hidden":`true`}),u(`i18n.userMessageExpandHint`)]})]})]}),(0,T.jsxs)(`div`,{style:{display:`flex`,alignItems:`center`,justifyContent:`flex-end`,gap:6,marginTop:3,fontSize:`var(--text-xs)`,color:`var(--text-dim)`},children:[(0,T.jsx)(Jse,{copied:c,canFork:h,canNavigate:g,forking:r,onCopy:()=>{z5.current?.(),Z6(f).then(()=>{l(!0),setTimeout(()=>l(!1),1500)})},onEditFromHere:()=>{z5.current?.(),i(a),o?.(f)},onFork:e=>{z5.current?.(),n(t,e)}}),m&&(0,T.jsx)(`span`,{children:m})]}),x&&(0,T.jsx)(Use,{anchor:x,text:f,onClose:()=>S(null)})]})}function Kse(e){return typeof e.content==`string`?{text:e.content,images:[]}:{text:e.content.filter(e=>e.type===`text`).map(e=>e.text).join(`
|
|
494
|
+
`),images:e.content.filter(e=>e.type===`image`)}}function qse({images:e,content:t}){return(0,T.jsx)(`div`,{style:{display:`flex`,gap:6,flexWrap:`wrap`,marginBottom:t?8:0},children:e.map((e,t)=>{let n=k5(e);return(0,T.jsx)(`img`,{src:n,alt:``,style:{maxWidth:240,maxHeight:240,borderRadius:6,objectFit:`contain`,display:`block`,border:`1px solid color-mix(in srgb, var(--accent) 15%, transparent)`}},t)})})}function Jse({copied:e,canFork:t,canNavigate:n,forking:r,onCopy:i,onEditFromHere:a,onFork:o}){let{t:s}=M();return(0,T.jsxs)(T.Fragment,{children:[!r&&(t||n)&&(0,T.jsxs)(`div`,{className:`msg-row-actions msg-actions-force`,style:{display:`flex`,gap:3,transition:`opacity 0.12s`},children:[n&&(0,T.jsxs)(`button`,{onClick:a,title:s(`i18n.editFromHereTitle`),style:{display:`flex`,alignItems:`center`,gap:4,padding:`3px 8px`,height:22,border:`none`,borderRadius:5,color:`var(--text-dim)`,cursor:`pointer`,fontSize:`var(--text-sm)`,fontWeight:400,whiteSpace:`nowrap`,transition:`color 0.12s`,"--hover-color":`var(--accent)`,"--hover-bg":`transparent`},className:`hover-shift`,children:[(0,T.jsx)(zr,{size:I.sm}),s(`i18n.editFromHere`)]}),t&&(0,T.jsxs)(`button`,{onClick:e=>o(e.currentTarget),title:s(`i18n.newSessionTitle`),style:{display:`flex`,alignItems:`center`,gap:4,padding:`3px 8px`,height:22,border:`none`,borderRadius:5,color:`var(--text-dim)`,cursor:`pointer`,fontSize:`var(--text-sm)`,fontWeight:400,whiteSpace:`nowrap`,transition:`color 0.12s`,"--hover-color":`var(--accent)`,"--hover-bg":`transparent`},className:`hover-shift`,children:[(0,T.jsx)(ei,{size:I.sm}),s(`i18n.newSession`)]})]}),(0,T.jsx)(`div`,{className:`msg-row-actions msg-actions-force`,style:{display:`flex`,gap:3,transition:`opacity 0.12s`},children:(0,T.jsxs)(`button`,{onClick:i,title:s(`i18n.copyMessage`),style:{display:`flex`,alignItems:`center`,gap:4,padding:`3px 8px`,height:22,border:`none`,borderRadius:5,color:e?`var(--accent)`:`var(--text-dim)`,cursor:`pointer`,fontSize:`var(--text-sm)`,fontWeight:400,whiteSpace:`nowrap`,transition:`color 0.12s`,"--hover-color":`var(--accent)`,"--hover-bg":`transparent`},className:e?void 0:`hover-shift`,children:[e?(0,T.jsx)(`svg`,{width:I.sm,height:I.sm,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`1.8`,strokeLinecap:`round`,strokeLinejoin:`round`,children:(0,T.jsx)(`polyline`,{points:`20 6 9 17 4 12`})}):(0,T.jsxs)(`svg`,{width:I.sm,height:I.sm,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`1.8`,strokeLinecap:`round`,strokeLinejoin:`round`,children:[(0,T.jsx)(`rect`,{x:`9`,y:`9`,width:I.lg,height:I.lg,rx:`2`,ry:`2`}),(0,T.jsx)(`path`,{d:`M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1`})]}),s(e?`i18n.copied`:`i18n.copy`)]})})]})}function Yse(e,t,n,r){if(n===r||t.role!==`assistant`)return!0;for(let i of t.content??[])if(i.type===`toolCall`&&n?.get(`${e}:${i.toolCallId}`)!==r?.get(`${e}:${i.toolCallId}`))return!1;return!0}function Xse(e,t){return e.message===t.message&&e.isStreaming===t.isStreaming&&Yse(e.entryId,e.message,e.toolResults,t.toolResults)&&e.modelNames===t.modelNames&&e.cwd===t.cwd&&e.showTimestamp===t.showTimestamp&&e.modelLabelVisible===t.modelLabelVisible&&e.keepFooterWhileTurnBusy===t.keepFooterWhileTurnBusy&&e.recentExpandedBlockKeys===t.recentExpandedBlockKeys}function Zse(e,t){return e.onOpenFile===t.onOpenFile&&e.entryId===t.entryId&&e.onFork===t.onFork&&e.forking===t.forking&&e.onNavigate===t.onNavigate&&e.prevAssistantEntryId===t.prevAssistantEntryId&&e.onEditContent===t.onEditContent&&e.sessionId===t.sessionId&&e.streamingBashOutput===t.streamingBashOutput}var B5=(0,d.memo)(function({message:e,isStreaming:t,toolResults:n,runningToolIds:r,modelNames:i,cwd:a,onOpenFile:o,entryId:s,onFork:c,forking:l,onNavigate:u,prevAssistantEntryId:d,onEditContent:f,showTimestamp:p,sessionId:m,streamingBashOutput:h,recentExpandedBlockKeys:g,modelLabelVisible:_,keepFooterWhileTurnBusy:v,turnNumber:y}){return e.role===`user`?(0,T.jsx)(Gse,{message:e,entryId:s,onFork:c,forking:l,onNavigate:u,prevAssistantEntryId:d,onEditContent:f,turnNumber:y}):e.role===`assistant`?(0,T.jsx)(Tse,{message:e,isStreaming:t,toolResults:n,runningToolIds:r,modelNames:i,cwd:a,onOpenFile:o,showTimestamp:p,sessionId:m,entryId:s,recentExpandedBlockKeys:g,modelLabelVisible:_,keepFooterWhileTurnBusy:v}):e.role===`toolResult`?null:e.role===`custom`?e.customType===`compaction`?(0,T.jsx)(Rse,{message:e}):(0,T.jsx)(Bse,{message:e,cwd:a,onOpenFile:o}):e.role===`bashExecution`?(0,T.jsx)(kse,{message:e,sessionId:m,streamingOutput:h}):null},(e,t)=>Xse(e,t)&&Zse(e,t));function Qse({open:e,onOpenChange:t,title:n,header:r,children:i,className:a}){let o=(0,d.useRef)(null);return(0,d.useEffect)(()=>{let t=o.current;if(t){if(e){if(!t.matches(`:popover-open`))try{t.showPopover()}catch{}}else try{t.hidePopover()}catch{}}},[e]),(0,T.jsxs)(`div`,{ref:o,popover:`auto`,onToggle:e=>{e.newState===`closed`&&e.oldState===`open`&&t(!1)},role:`dialog`,"aria-modal":`true`,className:lo(`turn-detail-modal`,`m-auto h-fit max-h-[calc(100dvh-2rem)]`,`w-[min(100%-2rem,48rem)] xl:w-[min(100%-2rem,64rem)]`,`flex-col gap-3 overflow-y-hidden rounded-xl bg-background p-4 text-sm text-foreground shadow-(--shadow-strong) ring-1 ring-foreground/10 outline-none`,e?`flex`:`hidden`,a),style:{position:`fixed`,inset:0,margin:`auto`},children:[r===void 0?n===void 0?null:(0,T.jsx)(`div`,{className:`pr-8 text-base font-semibold`,children:n}):(0,T.jsx)(`div`,{className:`flex flex-col gap-2 pr-8`,children:r}),(0,T.jsx)(`button`,{type:`button`,"aria-label":`Close`,onClick:()=>t(!1),className:`absolute top-3 right-3 rounded-md p-1 text-muted-foreground opacity-70 transition-opacity hover:opacity-100`,children:(0,T.jsx)(ji,{className:`size-4`})}),(0,T.jsx)(`div`,{className:`min-h-0 min-w-0 flex-1 overflow-x-hidden overflow-y-auto`,children:i})]})}function $se(e,t){let n=new Map,r;for(let i=0;i<e.length;i++)e[i].role===`assistant`?r=t[i]:e[i].role===`toolResult`&&n.set(`${r}:${e[i].toolCallId}`,e[i]);return n}function ece(e){let t=new Map,n=0,r=-1;for(let i=0;i<e.length;i++){let a=e[i];if(a.role===`user`){n+=1,r=i;let o;for(let t=i+1;t<e.length&&e[t].role!==`user`;t++){if(e[t].role!==`assistant`)continue;let n=e[t];typeof n.timestamp!=`number`||n.timestamp<=0||(o=typeof n.durationMs==`number`&&n.durationMs>0?n.timestamp+n.durationMs:n.timestamp)}let s=o&&typeof a.timestamp==`number`?Math.max(Math.round((o-a.timestamp)/100)/10,0):void 0;t.set(i,{turnNumber:n,isTurnStart:!0,userIdx:i,...typeof s==`number`?{turnDurationSecs:s}:{}})}else a.role===`assistant`&&n>0&&t.set(i,{turnNumber:n,isTurnStart:!1,userIdx:r})}return t}function tce(e){let t=-1;for(let n=e.length-1;n>=0;n--)if(e[n].role===`user`){t=n;break}return t}function nce({messageRefs:e,lastUserMsgRef:t,lastUserIdx:n}){return(r,i)=>a=>{e.current[i]=a,r===n&&(t.current=a)}}function rce({messages:e,modelNames:t,t:n,renderMessage:r,onOpenFile:i,messageCwd:a,turnDurationOf:o,turnExpandedOf:s,expandMode:c,fallbackModel:l,streamingFirst:u,onPreviewHover:d}){let f=e=>e.role!==`assistant`||!e.provider||!e.model?null:{provider:e.provider,name:t?.[`${e.provider}/${e.model}`]??t?.[e.model]??e.model},p=(t,n)=>{for(let r=t+1;r<=n;r++){let t=e[r];if(t?.role===`assistant`&&T$(t))return!0}return!1};return{renderRow:t=>{if(t.kind===`groupHeader`){let r=[];for(let n=t.groupUserIdx+1;n<=t.finalAssistantIdx;n++){let t=e[n];if(t?.role!==`assistant`)continue;let i=f(t);i&&!r.some(e=>`${e.provider}/${e.name}`==`${i.provider}/${i.name}`)&&r.push(i)}return r.length===0&&l&&r.push(l),t.messageCount===0&&!u?null:(0,T.jsx)(u5,{models:r,messageCount:t.messageCount,toolCallCount:t.toolCallCount,artifacts:t.artifacts,cwd:a,onOpenFile:i,t:n,timestamp:e[t.finalAssistantIdx]?.timestamp,durationSecs:o?.(t.groupUserIdx),expanded:s?.(t.groupUserIdx)??!0,answerPreview:t.answerPreview,stopped:p(t.groupUserIdx,t.finalAssistantIdx),expandMode:c,onPreviewHover:e=>d?.(e?t.groupUserIdx:null)})}return r(t.msgIdx,{reactKey:t.key,attachRef:t.attachRef,messageOverride:t.messageOverride,showTimestamp:t.showTimestamp,modelLabelVisible:t.isProcess||t.isProcessFinal?!1:void 0,isAnswer:t.isAnswer})},rowMargin:e=>e.kind===`groupHeader`?14:e.isProcess||e.isProcessFinal?e.groupLast?14:8:0}}function ice(e,t,n,r,i){if(n.showTimestamp!==void 0)return n.showTimestamp;if(t.role!==`assistant`)return!1;let a=!0;for(let t=e+1;t<r.length;t++){let e=r[t].role;if(e===`user`)break;if(e===`assistant`){a=!1;break}}return a&&i?!1:a}function ace(e,t,n,r){return t.role===`user`&&e>0&&n[e-1].role===`assistant`?r[e-1]:void 0}function oce(e,t){for(let n=e+1;n<t.length;n++)if(t[n].role===`assistant`)return!1;return!0}function sce(e,t,n,r){return e||t||n===0&&r.role===`user`}function cce(e){let{collapsedTurnKeys:t,messages:n,entryIds:r,runningToolIds:i,modelNames:a,messageCwd:o,onOpenFile:s,sessionBusy:c,isNew:l,handleFork:u,forkingEntryId:f,handleNavigate:p,handleEditContent:m,sessionId:h,recentExpandedBlockKeys:g,isStreaming:_,streamingMessage:v,t:y,messageRefs:b,lastUserMsgRef:x,visibleRefIndexByMessage:S,scrollContainerRef:C,lockBottomPin:w,onOpenTurnModal:E,onPreviewHover:D}=e,O=(0,d.useRef)(null),k=$se(n,r),A=ece(n),j=nce({messageRefs:b,lastUserMsgRef:x,lastUserIdx:tce(n)}),M=e=>A.get(e),N=(e,t={})=>{let d=t.messageOverride??n[e],y=ace(e,d,n,r),b=d.role===`user`||d.role===`assistant`,x=S.get(e),C=ice(e,d,t,n,_||c),w=sce(c,l,e,d),E=t.messageOverride===void 0&&c&&oce(e,n)&&!v,D=(0,T.jsx)(B5,{message:d,toolResults:k,runningToolIds:i,modelNames:a,cwd:o,onOpenFile:s,entryId:r[e],onFork:w?void 0:u,forking:f===r[e],onNavigate:c?void 0:p,prevAssistantEntryId:c?void 0:y,onEditContent:m,showTimestamp:C,sessionId:h,recentExpandedBlockKeys:g,modelLabelVisible:t.modelLabelVisible,keepFooterWhileTurnBusy:E,isStreaming:t.isStreaming,turnNumber:M(e)?.isTurnStart?M(e).turnNumber:void 0},t.reactKey??`message-view-${e}`);return!b||t.attachRef===!1||x===void 0?D:(0,T.jsx)(`div`,{ref:j(e,x),children:D},`message-ref-${t.reactKey??e}`)},{renderRow:ee,rowMargin:te}=rce({messageCwd:o,messages:n,modelNames:a,t:y,renderMessage:N,onOpenFile:s,turnDurationOf:e=>M(e)?.turnDurationSecs,expandMode:`modal`,fallbackModel:v?.role===`assistant`&&v.provider&&v.model?{provider:v.provider,name:a?.[`${v.provider}/${v.model}`]??a?.[v.model]??v.model}:null,streamingFirst:_,onPreviewHover:D,turnExpandedOf:e=>{let n=M(e);return!n||!t.has(r[n.userIdx]??`idx-${n.userIdx}`)}});return{renderRow:ee,rowMargin:te,handleRowClick:(e,n)=>{if(n.kind!==`groupHeader`||!e.target.closest(`[data-turn-toggle]`))return;let i=M(n.groupUserIdx);if(!i?.isTurnStart)return;let a=r[i.userIdx]??`idx-${i.userIdx}`,o=C.current?.querySelector(`[data-row-key="${CSS.escape(n.key)}"]`),s=YX().expandedTurns.get(a);if(s===void 0?t.has(a):!s){E?.(n.groupUserIdx,n.finalAssistantIdx);return}o&&(O.current={key:n.key,rowBottom:o.getBoundingClientRect().bottom},w()),QX(a,!1)},turnToggleAnchorRef:O,renderTurnRows:(e,t)=>(0,T.jsx)(T.Fragment,{children:Array.from({length:t-e+1},(t,n)=>e+n).map(e=>{let r=n[e];if(!r||r.role!==`user`&&r.role!==`assistant`)return null;let i=e===t;return(0,T.jsx)(`div`,{style:{paddingBottom:i?0:4},children:N(e,{reactKey:`turn-detail-${e}`,attachRef:!1,showTimestamp:!1,isAnswer:i})},`turn-detail-row-${e}`)})}),renderPreviewRows:(e,t,r)=>(0,T.jsx)(T.Fragment,{children:Array.from({length:t-e},(t,n)=>e+1+n).map(e=>{let i=n[e];if(!i||i.role!==`user`&&i.role!==`assistant`)return null;let a=e===t;return(0,T.jsx)(`div`,{style:a?{paddingBottom:0}:{paddingBottom:3,borderBottom:`1px solid var(--border)`},children:N(e,{reactKey:`turn-preview-${e}`,messageOverride:i,attachRef:!1,showTimestamp:!1,isAnswer:a,isStreaming:a&&r,modelLabelVisible:!1})},`turn-preview-${e}`)})}),turnDurationSecsOf:e=>M(e)?.turnDurationSecs}}function lce({rows:e,collapsedKeys:t,renderRow:n,onRowClick:r,scrollContainerRef:i,virtualizerRef:a,initialCache:o,flashKey:s,itemRef:c,lockBottomPin:l,unlockBottomPin:u,toggleAnchorRef:f,pinToBottomOnMount:p=!0}){let m=(0,d.useRef)(!1);return(0,d.useLayoutEffect)(()=>{if(!p||m.current)return;m.current=!0;let e=i.current;e&&e.scrollHeight>e.clientHeight&&(e.scrollTop=e.scrollHeight)},[i,p]),(0,d.useLayoutEffect)(()=>{let e=f.current;if(!e)return;f.current=null;let t=e.rowBottom,n=i.current;if(!n)return;l();let r=()=>u(),a=window.setTimeout(r,900),o=(i,s)=>{let c=n.querySelector(`[data-row-key="${CSS.escape(e.key)}"]`),l=null;if(c){let e=c.getBoundingClientRect();l=e.bottom-(t??e.bottom)}if(l===null){if(i>0){requestAnimationFrame(()=>o(i-1,s));return}window.clearTimeout(a),r();return}if(Math.abs(l)>1)n.scrollBy(0,l),s=0;else if(++s>=2){window.clearTimeout(a),r();return}i>0&&requestAnimationFrame(()=>o(i-1,s))};requestAnimationFrame(()=>o(20,0))},[t]),(0,T.jsx)(MG,{ref:a,data:e,cache:o,itemSize:200,bufferSize:400,scrollRef:i,children:e=>(0,T.jsx)(`div`,{"data-row-key":e.key,className:s===e.key?`search-flash`:void 0,ref:c(e.key),onClick:r?t=>r(t,e):void 0,style:{display:`flow-root`},children:n(e)},e.key)})}var uce=200;function dce({children:e,onMouseEnter:t,onMouseLeave:n,autoScroll:r,borderFlash:i}){let a=(0,d.useRef)(null),o=(0,d.useRef)(null),[s,c]=(0,d.useState)(!0),[l,u]=(0,d.useState)(null);(0,d.useEffect)(()=>{let e=a.current,t=e?.parentElement;if(!e||!t)return;let n=()=>t.querySelector(`[data-turn-footer-bar]`)??null,r=n();u(r??t);let i=new MutationObserver(()=>{let e=n();u(t=>t===e?t:e)});return i.observe(t,{childList:!0,subtree:!0}),()=>i.disconnect()},[]),(0,d.useEffect)(()=>{let e=a.current;if(!(!e||!l?.isConnected)){try{e.hidePopover()}catch{}try{e.showPopover({source:l})}catch{}return()=>{try{e.hidePopover()}catch{}}}},[l]),(0,d.useEffect)(()=>{let t=o.current;t&&r&&s&&e!==void 0&&(t.scrollTop=t.scrollHeight)},[e,r,s]);let f=(0,d.useCallback)(()=>{let e=o.current;if(!e)return;let t=e.scrollHeight-e.scrollTop-e.clientHeight<16;c(t)},[]);return(0,T.jsx)(`div`,{ref:a,popover:`manual`,className:`preview-overlay-popover rounded-xl border border-accent bg-background`,"data-testid":`preview-overlay-bottom`,onMouseEnter:t,onMouseLeave:n,style:{padding:8,minHeight:48,animation:i?`chat-input-border-blink 1.2s ease-in-out infinite`:void 0,boxShadow:`0 -2px 6px var(--shadow-color), 0 -8px 28px 1px color-mix(in srgb, var(--shadow-strong) 75%, transparent), 0 10px 26px 1px color-mix(in srgb, var(--shadow-strong) 65%, transparent), 0 3px 12px var(--shadow-color)`},children:(0,T.jsx)(nU,{direction:`vertical`,observeContent:!0,scrollElRef:o,onScroll:f,hintTestId:`preview-overlay-bottom`,scrollStyle:{position:`relative`,inset:`auto`,maxHeight:`min(55vh, 520px)`},children:(0,T.jsx)(`div`,{children:e})})})}function fce(e){let{rows:t,collapsedTurnKeys:n,flashKey:r,itemRef:i,scrollContainerRef:a,virtualizerRef:o,lockBottomPin:s,unlockBottomPin:c,initialCache:l,t:u,messages:f,modelNames:p,messageCwd:m,onOpenFile:h,nearBottom:g,isStreaming:_,streamingMessage:v,agentRunning:y}=e,[b,x]=(0,d.useState)(null),[S,C]=(0,d.useState)(null),w=(0,d.useRef)(null),E=(0,d.useCallback)(()=>{w.current&&=(clearTimeout(w.current),null)},[]),D=(0,d.useCallback)(e=>{if(E(),e!==null){C(e);return}w.current=setTimeout(()=>C(null),uce)},[E]);(0,d.useEffect)(()=>(z5.current=b===null?null:()=>x(null),()=>{z5.current=null}),[b]);let O=e=>{if(!e)return null;let n=t.find(t=>t.kind===`groupHeader`&&t.groupUserIdx===e.userIdx);if(!n)return null;let r=[];for(let t=e.userIdx+1;t<=n.finalAssistantIdx;t++){let e=f[t];if(e?.role!==`assistant`||!e.provider||!e.model)continue;let n=p?.[`${e.provider}/${e.model}`]??p?.[e.model]??e.model;r.some(t=>`${t.provider}/${t.name}`==`${e.provider}/${n}`)||r.push({provider:e.provider,name:n})}let i=!1;for(let t=e.userIdx+1;t<=n.finalAssistantIdx;t++){let e=f[t];if(e?.role===`assistant`&&T$(e)){i=!0;break}}return(0,T.jsx)(u5,{models:r,messageCount:n.messageCount,toolCallCount:n.toolCallCount,artifacts:n.artifacts,cwd:m,onOpenFile:h,t:u,timestamp:f[n.finalAssistantIdx]?.timestamp,durationSecs:te(e.userIdx),expanded:!1,headerMode:!0,stopped:i,expandMode:`modal`})},{renderRow:k,rowMargin:A,handleRowClick:j,turnToggleAnchorRef:M,renderTurnRows:N,renderPreviewRows:ee,turnDurationSecsOf:te}=cce({...e,onOpenTurnModal:(e,t)=>x({userIdx:e,finalAssistantIdx:t}),onPreviewHover:D}),P=null;for(let e of t)e.kind===`groupHeader`&&(P=e);let ne=P?f[P.finalAssistantIdx]:void 0,re=P!=null&&ne?.role===`assistant`&&(ne.stopReason===`stop`||ne.stopReason===`aborted`||ne.stopReason===`error`),ie=S===null?null:t.find(e=>e.kind===`groupHeader`&&e.groupUserIdx===S)??null,ae=b===null?0:t.find(e=>e.kind===`groupHeader`&&e.groupUserIdx===b.userIdx)?.finalAssistantIdx??b.finalAssistantIdx;return(0,T.jsxs)(T.Fragment,{children:[(0,T.jsx)(lce,{rows:t,collapsedKeys:n,renderRow:e=>{let t=e.kind===`groupHeader`,n=t&&ie!==null&&e.key===ie.key,r=t&&ie===null&&e.key===P?.key&&y&&((P?.messageCount??0)>0||_)&&g&&(_||v!=null||!re),i=n||r;return(0,T.jsxs)(`div`,{style:{position:`relative`,paddingBottom:A(e)},children:[i&&(0,T.jsx)(T.Fragment,{children:(0,T.jsxs)(dce,{onMouseEnter:()=>D(e.groupUserIdx),onMouseLeave:()=>D(null),autoScroll:ie===null&&_,borderFlash:_,children:[ee(e.groupUserIdx,e.finalAssistantIdx,ie===null&&_&&!v),ie===null&&_&&v?(0,T.jsx)(`div`,{style:e.finalAssistantIdx>e.groupUserIdx?{paddingBottom:0,paddingTop:3,borderTop:`1px solid var(--border)`}:{paddingBottom:0},children:(0,T.jsx)(B5,{message:v,isStreaming:!0,modelLabelVisible:!1,modelNames:p,cwd:m,onOpenFile:h})},`preview-streaming-live`):null]})}),k(e)]})},onRowClick:j,scrollContainerRef:a,virtualizerRef:o,initialCache:l,flashKey:r,itemRef:i,lockBottomPin:s,unlockBottomPin:c,toggleAnchorRef:M}),(0,T.jsx)(Qse,{open:b!==null,onOpenChange:e=>{e||x(null)},header:O(b),children:b&&(0,T.jsxs)(T.Fragment,{children:[N(b.userIdx,ae),_&&v&&y&&b.userIdx===P?.groupUserIdx?(0,T.jsx)(`div`,{"data-testid":`modal-streaming-live`,children:(0,T.jsx)(B5,{message:v,isStreaming:!0,modelLabelVisible:!1,modelNames:p,cwd:m,onOpenFile:h})},`modal-streaming-live`):null]})})]})}function V5({msg:e,onSend:t,onFillInput:n,testId:r}){let{t:i,locale:a}=M(),o=fn(e.message,a),s=fn(e.label,a),c=()=>{if(e.allowAppend&&n){n(`${o} `);return}t(o)},l=`${e.allowAppend?i(`config.widgets.fillToChatInputTooltip`):i(`config.widgets.sendImmediatelyTooltip`)}${o}`;return(0,T.jsx)(F,{label:l,children:(0,T.jsx)(kf,{label:s,title:l,onClick:c,testId:r})})}function H5({messages:e,onSend:t,onFillInput:n,testIdPrefix:r=`quick-msg`,wrapperTestId:i=`quick-message-buttons`,center:a=!1}){return e.length===0?null:(0,T.jsx)(`div`,{"data-testid":i,style:{display:`flex`,flexWrap:`wrap`,gap:6,justifyContent:a?`center`:`flex-start`,paddingTop:8,borderTop:a?`1px solid var(--border)`:void 0},children:e.map((e,i)=>(0,T.jsx)(V5,{msg:e,onSend:t,onFillInput:n,testId:`${r}-${i}`},i))})}function pce({chatInputElement:e,startScreenMessages:t,aiIdle:n,isMobile:r,onQuickMessageSend:i,onFillInput:a}){return(0,T.jsxs)(`div`,{className:`relative`,children:[(0,T.jsx)(`div`,{style:{padding:`0 16px`,paddingRight:r?16:64},children:(0,T.jsx)(`div`,{style:{maxWidth:820,margin:`0 auto`}})}),t.length>0&&n&&(0,T.jsx)(`div`,{style:{padding:`0 16px`,paddingRight:r?16:64},children:(0,T.jsx)(`div`,{style:{maxWidth:820,margin:`0 auto`,paddingBottom:8},children:(0,T.jsx)(H5,{messages:t,onSend:i,onFillInput:a,testIdPrefix:`start-screen-msg`,wrapperTestId:`start-screen-messages`})})}),e]})}function U5(e){return e.error?e.path.split(/[\\/]/).pop()||e.id:e.name||e.firstMessage.slice(0,50)||e.id.slice(0,12)}var W5=e=>e.replace(/\\/g,`/`).replace(/\/+$/,``).replace(/^[a-zA-Z]:/,e=>e.toLowerCase()),G5=e=>Math.max(...e.map(e=>{let t=new Date(e.modified).getTime();return Number.isNaN(t)?0:t})),mce=(e,t)=>G5(t.sessions)-G5(e.sessions);function hce(e,t,n){return!t||e.some(e=>e.id===t.id)?e:[{...t,projectRoot:t.projectRoot??n(t.cwd)??void 0},...e]}function gce({filteredSessions:e,selectedSession:t,projectRootFor:n,selectedCwd:r,savedWorkspaces:i}){let a=hce(e,t,n),o=new Map,s=new Map;for(let e of a){let t=e.projectRoot??e.cwd??`unknown`,n=t===`unknown`?t:W5(t);o.has(n)||(o.set(n,[]),s.set(n,t)),o.get(n).push(e)}let c=[...o.entries()].map(([e,t])=>({root:s.get(e)??e,sessions:t})).sort(mce),l=[];if(r){let e=n(r);e&&!o.has(W5(e))&&l.push({root:e,sessions:[]})}let u=new Set([...o.keys()]);for(let e of l)u.add(W5(e.root));let d=[];for(let e of i??[]){let t=W5(e);u.has(t)||(u.add(t),d.push({root:e,sessions:[]}))}return[...l,...c,...d]}function _ce(e,t){return t?e.map(e=>({...e,sessions:e.sessions.filter(e=>U5(e).toLowerCase().includes(t))})).filter(e=>e.sessions.length>0):e}var K5=null,q5=new Set,J5=null;function Y5(){return!J5&&typeof PointerEvent<`u`&&(J5=new PointerEvent(`pointermove`)),J5}var X5=[],Z5=0;function Q5(){K5===null&&(K5=requestAnimationFrame(()=>{if(K5=null,q5.size===0)return;let e=0;for(let t of q5)X5[e++]=t;X5.length=e,q5.clear();for(let t=0;t<e;t++)X5[t].update();for(let t=0;t<e;t++)X5[t]=null;X5.length=0,q5.size>0&&Q5()}))}var $5=class e{get enabled(){return this._enabled}set enabled(e){this._enabled=e,!e&&this.isActive&&this.cancel()}cancel(){if(!this.isActive&&this.pointers.size===0)return;let t=this.isActive,n=Y5(),r=t?this.createEvent(n):null;this.pointers.clear(),this.pointersCache.length=0,this.isActive=!1,t&&Z5>0&&Z5--,q5.delete(this),e.activeInstance.get(this.element)===this&&e.activeInstance.set(this.element,null),this.clearHoldTimers(),this.removeDocumentListeners(),r&&(this.options.onCancel?.(r),this.options.onEnd?.(r))}clearHoldTimers(){this.holdTimer&&=(clearTimeout(this.holdTimer),null),this.holdEventTimer&&=(clearTimeout(this.holdEventTimer),null)}removeDocumentListeners(){document.removeEventListener(`pointermove`,this.onPointerMove),document.removeEventListener(`pointerup`,this.onPointerUp),document.removeEventListener(`pointercancel`,this.onPointerUp)}getRect(e=this.element){return this.options.rectChecker?this.options.rectChecker(e):e.getBoundingClientRect()}getOrigin(){let e={x:0,y:0};return this.resolveOriginInto(e),e}resolveOriginInto(e){let t=this.options.origin;if(!t){e.x=0,e.y=0;return}if(t===`parent`){let t=this.element.offsetParent;if(!t){e.x=0,e.y=0;return}let n=this.getRect(t);e.x=n.left,e.y=n.top;return}if(t instanceof HTMLElement){let n=this.getRect(t);e.x=n.left,e.y=n.top;return}e.x=t.x,e.y=t.y}rebuildPointersCache(){let e=this.pointersCache;e.length=0;for(let t of this.pointers.values())e.push(t)}updateOptions(e){Object.assign(this.options,e),`touchAction`in e&&(this.element.style.touchAction=this.options.touchAction??`none`)}get interacting(){return this.isActive}static{this.elementInstances=new WeakMap}static{this.activeInstance=new WeakMap}static{this.elementListeners=new WeakMap}constructor(t,n={}){this.pointers=new Map,this.pointersCache=[],this.isActive=!1,this.lastUpdate=0,this.priority=0,this._enabled=!0,this.holdTimer=null,this.holdEventTimer=null,this.lastTapTime=0,this.lastTapTarget=null,this._originScratch={x:0,y:0},this._cachedEvent={target:null,pointers:[],isPrimary:!0,originalEvent:null},this.element=t,this.options={threshold:3,preventScroll:!0,styleCursor:!0,...n},this.registerInstance();let r=e.elementInstances.get(t);if(r&&r.length===1&&(t.style.touchAction=this.options.touchAction??`none`,t.style.userSelect=`none`,t.style.webkitUserSelect=`none`),this.onPointerDown=this.onPointerDown.bind(this),this.onPointerMove=this.onPointerMove.bind(this),this.onPointerUp=this.onPointerUp.bind(this),r&&r.length===1){let n=n=>e.handleElementPointerDown(t,n);e.elementListeners.set(t,n),t.addEventListener(`pointerdown`,n)}}registerInstance(){let t=e.elementInstances.get(this.element);t?t.push(this):e.elementInstances.set(this.element,[this])}unregisterInstance(){let t=e.elementInstances.get(this.element);if(!t)return;let n=t.indexOf(this);n>=0&&(t.splice(n,1),t.length===0?(e.elementInstances.delete(this.element),e.activeInstance.delete(this.element),e.elementListeners.delete(this.element)):e.elementInstances.set(this.element,t))}shouldHandleEvent(e){return!0}checkEventFilters(e){let t=e.target;return!t||!(this.options.ignoreFrom&&t.closest(this.options.ignoreFrom)||this.options.allowFrom&&!t.closest(this.options.allowFrom))}static handleElementPointerDown(t,n){let r=e.elementInstances.get(t);if(!r)return;let i=e.activeInstance.get(t);if(i){i.onPointerDown(n);return}let a=null,o=-1;for(let e of r)e.checkEventFilters(n)&&e.shouldHandleEvent(n)&&e.enabled&&e.priority>o&&(a=e,o=e.priority);a&&(e.activeInstance.set(t,a),a.handlePointerDown(n))}onPointerDown(e){this.handlePointerDown(e)}handlePointerDown(e){if(this.options.mouseButtons&&!(e.buttons&this.options.mouseButtons))return;this.options.preventScroll&&e.preventDefault(),this.resolveOriginInto(this._originScratch);let t=e.clientX-this._originScratch.x,n=e.clientY-this._originScratch.y,r={id:e.pointerId,start:{x:t,y:n},current:{x:t,y:n},previous:{x:t,y:n},delta:{x:0,y:0},total:{x:0,y:0},velocity:{x:0,y:0},timestamp:e.timeStamp};this.pointers.set(e.pointerId,r),this.rebuildPointersCache(),this.pointers.size===1&&(document.addEventListener(`pointermove`,this.onPointerMove,{passive:!this.options.preventScroll}),document.addEventListener(`pointerup`,this.onPointerUp),document.addEventListener(`pointercancel`,this.onPointerUp)),this.options.onHold&&(this.holdEventTimer&&clearTimeout(this.holdEventTimer),this.holdEventTimer=setTimeout(()=>{this.holdEventTimer=null,this.pointers.size>0&&!this.isActive&&this.options.onHold(this.createEvent(e))},this.options.holdDuration??600));let i=this.options.holdDelay??0;i>0?(this.holdTimer&&clearTimeout(this.holdTimer),this.holdTimer=setTimeout(()=>{this.holdTimer=null,!this.isActive&&this.pointers.size>0&&this.start(e)},i)):this.options.threshold===0&&this.start(e)}onPointerMove(e){let t=this.pointers.get(e.pointerId);if(!t)return;this.resolveOriginInto(this._originScratch);let n=e.clientX-this._originScratch.x,r=e.clientY-this._originScratch.y;if(t.current.x!==n||t.current.y!==r){if(t.current.x=n,t.current.y=r,!this.isActive){let n=t.current.x-t.start.x,r=t.current.y-t.start.y;Math.sqrt(n*n+r*r)>=(this.options.threshold||3)&&(this.holdTimer&&=(clearTimeout(this.holdTimer),null),this.holdEventTimer&&=(clearTimeout(this.holdEventTimer),null),this.start(e))}this.isActive&&(this.options.preventScroll&&e.preventDefault(),q5.add(this),Q5())}}onPointerUp(e){if(this.pointers.get(e.pointerId)&&(this.pointers.delete(e.pointerId),this.rebuildPointersCache(),this.clearHoldTimers(),this.pointers.size===0)){if(this.removeDocumentListeners(),this.isActive)this.end(e);else{let t=this.createEvent(e);this.options.onTap&&this.options.onTap(t);let n=e.timeStamp,r=this.options.doubleTapDelay??300;this.options.onDoubleTap&&n-this.lastTapTime<r&&this.lastTapTarget===e.target&&this.options.onDoubleTap(t),this.lastTapTime=n,this.lastTapTarget=e.target}}}start(e){this.isActive=!0,Z5++;let t=this.createEvent(e);this.options.onStart&&this.options.onStart(t)}startFromEvent(t){this.isActive||this.pointers.has(t.pointerId)||(e.activeInstance.set(this.element,this),this.handlePointerDown(t),this.isActive||this.start(t))}end(t){this.isActive=!1,q5.delete(this),Z5>0&&Z5--,e.activeInstance.get(this.element)===this&&e.activeInstance.set(this.element,null);let n=this.createEvent(t);this.options.onEnd&&this.options.onEnd(n)}update(){if(!this.isActive||this.pointers.size===0)return;let e=performance.now(),t=this.lastUpdate===0?16:e-this.lastUpdate;this.lastUpdate=e;let n=t>0?1-Math.exp(-t/50):.3,r=!1;for(let e of this.pointers.values()){let i=e.current.x-e.previous.x,a=e.current.y-e.previous.y;if(i!==0||a!==0){if(r=!0,e.delta.x=i,e.delta.y=a,e.total.x=e.current.x-e.start.x,e.total.y=e.current.y-e.start.y,t>0){let r=i/t*1e3,o=a/t*1e3;e.velocity.x=e.velocity.x*(1-n)+r*n,e.velocity.y=e.velocity.y*(1-n)+o*n}e.previous.x=e.current.x,e.previous.y=e.current.y}else t>0&&(e.velocity.x*=1-n,e.velocity.y*=1-n)}r&&this.options.onMove&&this.options.onMove(this.populateEvent(Y5()))}populateEvent(e){let t=this._cachedEvent;return t.target=this.element,t.pointers=this.pointersCache,t.isPrimary=e.isPrimary,t.originalEvent=e,t}createEvent(e){return this.populateEvent(e)}destroy(){this.clearHoldTimers(),this.unregisterInstance();let t=e.elementInstances.get(this.element);if(!t||t.length===0){let t=e.elementListeners.get(this.element);t&&(this.element.removeEventListener(`pointerdown`,t),e.elementListeners.delete(this.element)),this.element.style.touchAction=``,this.element.style.userSelect=``,this.element.style.webkitUserSelect=``}this.pointers.size>0&&this.removeDocumentListeners(),q5.delete(this),this.pointers.clear(),this.pointersCache.length=0}},e7=null;function vce(){if(e7!==null)return e7;if(typeof window>`u`||!window.matchMedia)return e7=!1,!1;let e=window.matchMedia(`(prefers-reduced-motion: reduce)`);return e7=e.matches,typeof e.addEventListener==`function`&&e.addEventListener(`change`,e=>{e7=e.matches}),e7}function t7(e,t){for(let n=0;n<e.length;n++)e[n].modify(t);return t}var n7={instructions:`Press Space or Enter to pick up. Use arrow keys to move. Press Space or Enter to drop. Press Escape to cancel.`,pickedUp:(e,t,n)=>`Picked up ${e}, position ${t} of ${n}`,movedTo:(e,t)=>`Moved to position ${e} of ${t}`,dropped:(e,t,n)=>`Dropped ${e} in position ${t} of ${n}`,dragPickedUp:`Picked up`,dragDropped:`Dropped`};function r7(){return n7}var i7=null;function yce(){return i7&&i7.isConnected?i7:(i7=document.createElement(`div`),i7.setAttribute(`aria-live`,`assertive`),i7.setAttribute(`aria-atomic`,`true`),i7.setAttribute(`role`,`status`),i7.style.cssText=`position:fixed;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0`,document.body.appendChild(i7),i7)}var a7=``;function o7(e){let t=yce();t.textContent=e===a7?e+`\xA0`:e,a7=e}var s7=null,c7=`pointrix-instructions`;function bce(){return s7&&s7.isConnected?(s7.textContent=n7.instructions,c7):(s7=document.createElement(`div`),s7.id=c7,s7.style.cssText=`position:fixed;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0`,s7.textContent=n7.instructions,document.body.appendChild(s7),c7)}function xce(e){e.hasAttribute(`tabindex`)||e.setAttribute(`tabindex`,`0`),e.hasAttribute(`role`)||e.setAttribute(`role`,`button`),e.setAttribute(`aria-roledescription`,`draggable`),e.setAttribute(`aria-describedby`,bce())}function l7(e,t){e.setAttribute(`aria-grabbed`,String(t))}function Sce(e){e.removeAttribute(`aria-roledescription`),e.removeAttribute(`aria-grabbed`),e.removeAttribute(`aria-describedby`)}var u7=new class{constructor(){this.zones=new Set,this._activeDragCount=0,this._refreshBound=()=>this.refreshRects()}register(e){this.zones.add(e)}unregister(e){this.zones.delete(e)}refreshRects(){for(let e of this.zones)e.isActive&&e.refreshRect()}onDragStart(e){for(let t of this.zones)t.accepts(e)&&(t.activate(e),t.refreshRect());this._activeDragCount===0&&typeof window<`u`&&(window.addEventListener(`scroll`,this._refreshBound,{passive:!0,capture:!0}),window.addEventListener(`resize`,this._refreshBound,{passive:!0})),this._activeDragCount++}onDragMove(e,t,n,r){let i,a=!1;for(let e of this.zones)if(e.isActive&&(e.options.overlap??`pointer`)!==`pointer`){a=!0;break}a&&(i=r?r():e.getBoundingClientRect());for(let r of this.zones){if(!r.isActive)continue;let a=r.checkOverlap(e,t,i);a>0?(r.isOver||r.enter(e,a,n),r.over(e,a,n)):r.isOver&&r.leave(e,n)}}onDragEnd(e,t,n,r){for(let i of this.zones)if(i.isActive){if(i.isOver){let a=r?.(),o=i.checkOverlap(e,t,a);i.drop(e,o>0?o:1,n)}i.deactivate(e),i.clearRect()}this._activeDragCount>0&&this._activeDragCount--,this._activeDragCount===0&&typeof window<`u`&&(window.removeEventListener(`scroll`,this._refreshBound,{capture:!0}),window.removeEventListener(`resize`,this._refreshBound))}getActiveZones(){let e=[];for(let t of this.zones)t.isActive&&e.push(t);return e}getHoveredZones(){let e=[];for(let t of this.zones)t.isOver&&e.push(t);return e}},Cce=class extends $5{constructor(e,t={}){super(e,{...t,onStart:e=>{this.handleDragStart(e),t.onStart?.(e)},onMove:e=>{this.handleDragMove(e),t.onMove?.(e)},onEnd:e=>{this.handleDragEnd(e),t.onEnd?.(e)}}),this.transform={x:0,y:0},this.startTransform={x:0,y:0},this.bounds=null,this.momentum={vx:0,vy:0,active:!1},this.transformNormalized=!1,this.detectedAxis=null,this.cachedSize={width:0,height:0},this._boundGetRect=()=>this.getRect(),this.modifierContext={position:{x:0,y:0},velocity:{x:0,y:0},element:null,startPosition:{x:0,y:0},delta:{x:0,y:0},size:{width:0,height:0}},this.cachedDragEvent={target:null,originalEvent:null,pointers:[],isPrimary:!0,dx:0,dy:0,totalX:0,totalY:0,velocityX:0,velocityY:0},this.dragOptions=t,this.priority=5,t.styleCursor!==!1&&(e.style.cursor=t.cursorChecker?t.cursorChecker(`idle`):`grab`),t.aria!==!1&&xce(e)}shouldHandleEvent(e){if(!this.dragOptions.handle)return!0;let t=null;return t=typeof this.dragOptions.handle==`string`?this.element.querySelector(this.dragOptions.handle):this.dragOptions.handle,t?t.contains(e.target):!1}readCurrentTransform(e){let t=window.getComputedStyle(e).transform;if(t&&t!==`none`){let e=t.match(/matrix.*\((.+)\)/);if(e){let t=e[1].split(`, `);this.transform.x=parseFloat(t[4])||0,this.transform.y=parseFloat(t[5])||0}}else this.transformNormalized||(this.transform.x=0,this.transform.y=0);this.transformNormalized||=(e.style.transform=`translate3d(${this.transform.x}px, ${this.transform.y}px, 0)`,!0)}handleDragStart(e){let t=e.target;if(this.dragOptions.aria!==!1&&(l7(t,!0),o7(r7().dragPickedUp)),this.detectedAxis=null,this.readCurrentTransform(t),this.dragOptions.styleCursor!==!1&&(t.style.cursor=this.dragOptions.cursorChecker?this.dragOptions.cursorChecker(`grabbing`):`grabbing`),t.style.willChange=`transform`,this.startTransform.x=this.transform.x,this.startTransform.y=this.transform.y,this.dragOptions.bounds){let e=this.getRect(t),n=this.startTransform.x,r=this.startTransform.y,i;if(this.dragOptions.bounds===`parent`){let e=t.offsetParent||document.body,n=this.getRect(e);i={left:n.left,top:n.top,right:n.right,bottom:n.bottom}}else if(this.dragOptions.bounds instanceof HTMLElement){let e=this.getRect(this.dragOptions.bounds);i={left:e.left,top:e.top,right:e.right,bottom:e.bottom}}else{let e=this.dragOptions.bounds;i={left:e.left??-1/0,top:e.top??-1/0,right:e.right??1/0,bottom:e.bottom??1/0}}let a=i.left-e.left+n,o=i.top-e.top+r,s=i.right-e.right+n,c=i.bottom-e.bottom+r;this.bounds=new DOMRect(a,o,s-a,c-o)}this.momentum.active=!1;let n=this.getRect(e.target);if(this.cachedSize.width=n.width,this.cachedSize.height=n.height,this.dragOptions.modifiers?.length){let t=this.modifierContext;t.position.x=this.startTransform.x,t.position.y=this.startTransform.y,t.velocity.x=0,t.velocity.y=0,t.element=e.target,t.startPosition.x=this.startTransform.x,t.startPosition.y=this.startTransform.y,t.delta.x=0,t.delta.y=0,t.size.width=this.cachedSize.width,t.size.height=this.cachedSize.height;for(let e of this.dragOptions.modifiers)e.onStart?.(t)}this.dragOptions.onDragStart&&this.dragOptions.onDragStart(this.createDragEvent(e,0,0)),this.dragOptions.droppable&&u7.onDragStart(e.target)}handleDragMove(e){let t=e.pointers[0],n=t.total.x,r=t.total.y;if(this.dragOptions.axis===`auto`&&this.detectedAxis===null){let e=Math.abs(n),t=Math.abs(r);(e>0||t>0)&&(this.detectedAxis=e>t?`x`:`y`)}let i=this.dragOptions.axis===`auto`?this.detectedAxis:this.dragOptions.axis;i===`x`?r=0:i===`y`&&(n=0);let a=this.startTransform.x+n,o=this.startTransform.y+r;if(this.dragOptions.grid&&(a=Math.round(a/this.dragOptions.grid.x)*this.dragOptions.grid.x,o=Math.round(o/this.dragOptions.grid.y)*this.dragOptions.grid.y),this.bounds&&(a=Math.max(this.bounds.left,Math.min(a,this.bounds.right)),o=Math.max(this.bounds.top,Math.min(o,this.bounds.bottom))),this.dragOptions.modifiers?.length){let n=this.modifierContext;n.position.x=a,n.position.y=o,n.velocity.x=t.velocity.x,n.velocity.y=t.velocity.y,n.element=e.target,n.startPosition.x=this.startTransform.x,n.startPosition.y=this.startTransform.y,n.delta.x=t.delta.x,n.delta.y=t.delta.y,n.size.width=this.cachedSize.width,n.size.height=this.cachedSize.height,t7(this.dragOptions.modifiers,n),a=n.position.x,o=n.position.y}this.transform.x=a,this.transform.y=o,this.applyTransform(e.target),this.dragOptions.momentum&&(this.momentum.vx=t.velocity.x,this.momentum.vy=t.velocity.y);let s=this.createDragEvent(e,n,r);this.dragOptions.onDragMove&&this.dragOptions.onDragMove(s),this.dragOptions.droppable&&u7.onDragMove(e.target,t.current,s,this._boundGetRect)}handleDragEnd(e){let t=e.target;this.dragOptions.aria!==!1&&(l7(t,!1),o7(r7().dragDropped)),this.dragOptions.styleCursor!==!1&&(t.style.cursor=this.dragOptions.cursorChecker?this.dragOptions.cursorChecker(`grab`):`grab`);let n=this.transform.x-this.startTransform.x,r=this.transform.y-this.startTransform.y,i=this.dragOptions.momentum,a=typeof i==`object`?i.minVelocity??10:10;if(i&&(Math.abs(this.momentum.vx)>a||Math.abs(this.momentum.vy)>a)?this.startMomentum():t.style.willChange=``,this.dragOptions.modifiers?.length){let i=e.pointers[0],a=this.modifierContext;a.position.x=this.transform.x,a.position.y=this.transform.y,a.velocity.x=i?.velocity.x??0,a.velocity.y=i?.velocity.y??0,a.element=e.target,a.startPosition.x=this.startTransform.x,a.startPosition.y=this.startTransform.y,a.delta.x=n,a.delta.y=r,a.size.width=this.cachedSize.width,a.size.height=this.cachedSize.height;for(let e of this.dragOptions.modifiers)e.onEnd?.(a);let o=a.position.x,s=a.position.y;if(o!==this.transform.x||s!==this.transform.y){if(this.transform.x=o,this.transform.y=s,vce())this.applyTransform(t);else{t.style.transition=`transform 300ms cubic-bezier(0.25, 1, 0.5, 1)`,this.applyTransform(t);let e=()=>{t.style.transition=``,t.removeEventListener(`transitionend`,e)};t.addEventListener(`transitionend`,e)}}}if(this.dragOptions.droppable){let t=e.pointers[0]?.current??{x:0,y:0};u7.onDragEnd(e.target,t,this.createDragEvent(e,n,r),this._boundGetRect)}this.dragOptions.onDragEnd&&this.dragOptions.onDragEnd(this.createDragEvent(e,n,r))}startMomentum(){this.momentum.active=!0;let e=this.dragOptions.momentum,t=typeof e==`object`?e.friction??.95:.95,n=typeof e==`object`?e.minSpeed??.1:.1,r=performance.now(),i=e=>{if(!this.momentum.active)return;let a=Math.min(100,e-r)/1e3;r=e;let o=t**+a;if(this.momentum.vx*=o,this.momentum.vy*=o,Math.abs(this.momentum.vx)<n&&Math.abs(this.momentum.vy)<n){this.momentum.active=!1,this.element.style.willChange=``;return}this.transform.x+=this.momentum.vx*a,this.transform.y+=this.momentum.vy*a,this.bounds&&((this.transform.x<this.bounds.left||this.transform.x>this.bounds.right)&&(this.momentum.vx*=-.5,this.transform.x=Math.max(this.bounds.left,Math.min(this.transform.x,this.bounds.right))),(this.transform.y<this.bounds.top||this.transform.y>this.bounds.bottom)&&(this.momentum.vy*=-.5,this.transform.y=Math.max(this.bounds.top,Math.min(this.transform.y,this.bounds.bottom)))),this.applyTransform(this.element),requestAnimationFrame(i)};requestAnimationFrame(i)}applyTransform(e){e.style.transform=`translate3d(${this.transform.x}px, ${this.transform.y}px, 0)`}createDragEvent(e,t,n){let r=e.pointers[0],i=this.cachedDragEvent;return i.target=e.target,i.originalEvent=e.originalEvent,i.pointers=e.pointers,i.isPrimary=e.isPrimary,i.dx=r?.delta.x||0,i.dy=r?.delta.y||0,i.totalX=t,i.totalY=n,i.velocityX=r?.velocity.x||0,i.velocityY=r?.velocity.y||0,i}setPosition(e,t){this.transform.x=e,this.transform.y=t,this.applyTransform(this.element)}getPosition(){return{...this.transform}}updateOptions(e){super.updateOptions(e),Object.assign(this.dragOptions,e),(`cursorChecker`in e||`styleCursor`in e)&&!this.interacting&&(this.dragOptions.styleCursor===!1?this.element.style.cursor=``:this.element.style.cursor=this.dragOptions.cursorChecker?this.dragOptions.cursorChecker(`idle`):`grab`)}destroy(){super.destroy(),this.element.style.cursor=``,this.element.style.willChange=``,this.momentum.active=!1,this.dragOptions.aria!==!1&&Sce(this.element)}},wce=class extends $5{constructor(e,t={}){let n={edges:{top:!0,right:!0,bottom:!0,left:!0},handleSize:10,minWidth:50,minHeight:50,...t};super(e,{...n,threshold:0,onStart:e=>{this.handleResizeStart(e),t.onStart?.(e)},onMove:e=>{this.handleResizeMove(e),t.onMove?.(e)},onEnd:e=>{this.handleResizeEnd(e),t.onEnd?.(e)}}),this.startSize={width:0,height:0},this.startPos={x:0,y:0},this.currentSize={width:0,height:0},this.currentPos={x:0,y:0},this.activeEdge=null,this.edgeFlags={top:!1,right:!1,bottom:!1,left:!1},this.aspectRatio=null,this.transformNormalized=!1,this.modifierContext={position:{x:0,y:0},velocity:{x:0,y:0},element:null,startPosition:{x:0,y:0},delta:{x:0,y:0},edges:{top:!1,right:!1,bottom:!1,left:!1},size:{width:0,height:0},startSize:{width:0,height:0}},this.cachedResizeEvent={target:null,originalEvent:null,pointers:[],isPrimary:!0,width:0,height:0,deltaWidth:0,deltaHeight:0,edges:{top:!1,right:!1,bottom:!1,left:!1}},this.resizeOptions=n,this.resizeOptions.square&&(this.resizeOptions.aspectRatio=1),this.priority=10,this.boundUpdateCursor=this.updateCursor.bind(this),e.addEventListener(`pointermove`,this.boundUpdateCursor),e.style.position=`relative`}normalizeInitialTransform(e){let t=window.getComputedStyle(e).transform;if(t&&t!==`none`){let n=t.match(/matrix.*\((.+)\)/);if(n){let t=n[1].split(`, `),r=parseFloat(t[4])||0,i=parseFloat(t[5])||0;e.style.transform=`translate3d(${r}px, ${i}px, 0)`}}}shouldHandleEvent(e){return this.detectEdge(e)!==null}updateCursor(e){if(this.activeEdge)return;let t=this.detectEdge(e);this.element.style.cursor=this.resizeOptions.cursorChecker?this.resizeOptions.cursorChecker(t):this.getCursor(t)}detectEdge(e){let t=this.getRect(),n=e.clientX-t.left,r=e.clientY-t.top,i=this.resizeOptions.handleSize||10,a=this.resizeOptions.edges||{},o=a.top&&r<i,s=a.bottom&&r>t.height-i,c=a.left&&n<i,l=a.right&&n>t.width-i;return o&&c?`top-left`:o&&l?`top-right`:s&&c?`bottom-left`:s&&l?`bottom-right`:o?`top`:s?`bottom`:c?`left`:l?`right`:null}getCursor(e){switch(e){case`top`:case`bottom`:return`ns-resize`;case`left`:case`right`:return`ew-resize`;case`top-left`:case`bottom-right`:return`nwse-resize`;case`top-right`:case`bottom-left`:return`nesw-resize`;default:return``}}handleResizeStart(e){this.transformNormalized||=(this.normalizeInitialTransform(this.element),!0);let t=this.getRect(),n=window.getComputedStyle(this.element);if(this.activeEdge=this.detectEdge(e.originalEvent),!this.activeEdge)return;this.edgeFlags.top=this.activeEdge.includes(`top`),this.edgeFlags.right=this.activeEdge.includes(`right`),this.edgeFlags.bottom=this.activeEdge.includes(`bottom`),this.edgeFlags.left=this.activeEdge.includes(`left`),this.startSize={width:parseFloat(n.width)||t.width,height:parseFloat(n.height)||t.height},this.currentSize={...this.startSize};let r=n.transform;if(r&&r!==`none`){let e=r.match(/matrix.*\((.+)\)/);if(e){let t=e[1].split(`, `);this.startPos.x=parseFloat(t[4])||0,this.startPos.y=parseFloat(t[5])||0}}else this.startPos.x=0,this.startPos.y=0;this.currentPos={...this.startPos},this.resizeOptions.aspectRatio===`preserve`?this.aspectRatio=this.startSize.width/this.startSize.height:typeof this.resizeOptions.aspectRatio==`number`&&(this.aspectRatio=this.resizeOptions.aspectRatio),this.element.style.willChange=`width, height, transform`,this.resizeOptions.onResizeStart&&this.resizeOptions.onResizeStart(this.createResizeEvent(e,0,0))}handleResizeMove(e){if(!this.activeEdge)return;let t=e.pointers[0],n=t.total.x,r=t.total.y,i=this.startSize.width,a=this.startSize.height,o=this.startPos.x,s=this.startPos.y;this.edgeFlags.right&&(i+=n),this.edgeFlags.left&&(i-=n,o+=n),this.edgeFlags.bottom&&(a+=r),this.edgeFlags.top&&(a-=r,s+=r);let c=this.resizeOptions.invert||`none`;c===`reposition`&&(i<0&&(o+=i,i=-i),a<0&&(s+=a,a=-a));let l=c===`negate`?-1/0:this.resizeOptions.minWidth||0,u=c===`negate`?-1/0:this.resizeOptions.minHeight||0,d=this.resizeOptions.maxWidth||1/0,f=this.resizeOptions.maxHeight||1/0,p=c===`reposition`?1:l||50,m=c===`reposition`?1:u||50;if(this.aspectRatio&&(this.activeEdge===`left`||this.activeEdge===`right`?a=i/this.aspectRatio:this.activeEdge===`top`||this.activeEdge===`bottom`?i=a*this.aspectRatio:Math.abs(i-this.startSize.width)>Math.abs(a-this.startSize.height)?a=i/this.aspectRatio:i=a*this.aspectRatio),i<p&&(this.edgeFlags.left&&(o+=i-p),i=p,this.aspectRatio&&(a=i/this.aspectRatio)),i>d&&(this.edgeFlags.left&&(o+=i-d),i=d,this.aspectRatio&&(a=i/this.aspectRatio)),a<m&&(this.edgeFlags.top&&(s+=a-m),a=m,this.aspectRatio&&(i=a*this.aspectRatio)),a>f&&(this.edgeFlags.top&&(s+=a-f),a=f,this.aspectRatio&&(i=a*this.aspectRatio)),this.resizeOptions.grid&&(i=Math.round(i/this.resizeOptions.grid.width)*this.resizeOptions.grid.width,a=Math.round(a/this.resizeOptions.grid.height)*this.resizeOptions.grid.height),this.resizeOptions.modifiers?.length){let e=this.modifierContext;e.position.x=o,e.position.y=s,e.velocity.x=t.velocity?.x??0,e.velocity.y=t.velocity?.y??0,e.element=this.element,e.startPosition.x=this.startPos.x,e.startPosition.y=this.startPos.y,e.delta.x=n,e.delta.y=r,e.edges.top=this.edgeFlags.top,e.edges.right=this.edgeFlags.right,e.edges.bottom=this.edgeFlags.bottom,e.edges.left=this.edgeFlags.left,e.size.width=i,e.size.height=a,e.startSize.width=this.startSize.width,e.startSize.height=this.startSize.height,t7(this.resizeOptions.modifiers,e),o=e.position.x,s=e.position.y,i=e.size.width,a=e.size.height}if(this.currentSize={width:i,height:a},this.currentPos={x:o,y:s},this.element.style.width=`${i}px`,this.element.style.height=`${a}px`,(o!==this.startPos.x||s!==this.startPos.y)&&(this.element.style.transform=`translate3d(${o}px, ${s}px, 0)`),this.resizeOptions.onResizeMove){let t=i-this.startSize.width,n=a-this.startSize.height;this.resizeOptions.onResizeMove(this.createResizeEvent(e,t,n))}}handleResizeEnd(e){if(this.element.style.willChange=``,this.activeEdge=null,this.resizeOptions.onResizeEnd){let t=this.currentSize.width-this.startSize.width,n=this.currentSize.height-this.startSize.height;this.resizeOptions.onResizeEnd(this.createResizeEvent(e,t,n))}}createResizeEvent(e,t,n){let r=this.cachedResizeEvent;return r.target=e.target,r.originalEvent=e.originalEvent,r.pointers=e.pointers,r.isPrimary=e.isPrimary,r.width=this.currentSize.width,r.height=this.currentSize.height,r.deltaWidth=t,r.deltaHeight=n,r.edges.top=this.edgeFlags.top,r.edges.right=this.edgeFlags.right,r.edges.bottom=this.edgeFlags.bottom,r.edges.left=this.edgeFlags.left,r}setSize(e,t){this.currentSize={width:e,height:t},this.element.style.width=`${e}px`,this.element.style.height=`${t}px`}getSize(){return{...this.currentSize}}updateOptions(e){super.updateOptions(e),Object.assign(this.resizeOptions,e),`square`in e&&this.resizeOptions.square&&(this.resizeOptions.aspectRatio=1)}destroy(){super.destroy(),this.element.removeEventListener(`pointermove`,this.boundUpdateCursor),this.element.style.cursor=``,this.element.style.willChange=``}},Tce=180/Math.PI,Ece=class extends $5{constructor(e,t={}){super(e,{...t,threshold:0}),this.gestureActive=!1,this.startDistance=0,this.startAngle=0,this.prevScale=1,this.prevAngle=0,this._p1=null,this._p2=null,this._cachedGestureEvent={target:null,pointers:[],isPrimary:!1,originalEvent:null,scale:1,rotation:0,distance:0,angle:0,center:{x:0,y:0},deltaScale:0,deltaAngle:0},this.gestureOptions=t,this.minPointers=t.minPointers??2,this.priority=15}shouldHandleEvent(e){return!0}selectTwoPointers(){if(this.pointers.size<2)return this._p1=this._p2=null,!1;let e=this.pointers.values();return this._p1=e.next().value,this._p2=e.next().value,!0}distanceBetween(e,t){let n=t.x-e.x,r=t.y-e.y;return Math.sqrt(n*n+r*r)}angleBetween(e,t){return Math.atan2(t.y-e.y,t.x-e.x)*Tce}normalizeAngleDelta(e){for(;e>180;)e-=360;for(;e<-180;)e+=360;return e}buildEvent(e,t,n,r,i,a,o,s){let c=this._cachedGestureEvent;return c.target=this.element,c.pointers=this.pointersCache,c.isPrimary=!1,c.originalEvent=c.originalEvent??{},c.scale=n,c.rotation=r,c.distance=e,c.angle=t,c.center.x=o,c.center.y=s,c.deltaScale=i,c.deltaAngle=a,c}update(){if(!this.isActive||this.pointers.size===0)return;let e=this.selectTwoPointers();if(!this.gestureActive&&e&&this.pointers.size>=this.minPointers){this.gestureActive=!0;let e=this._p1.current,t=this._p2.current;this.startDistance=this.distanceBetween(e,t),this.startAngle=this.angleBetween(e,t),this.prevScale=1,this.prevAngle=0;let n=this.buildEvent(this.startDistance,this.startAngle,1,0,0,0,(e.x+t.x)/2,(e.y+t.y)/2);this.gestureOptions.onGestureStart&&this.gestureOptions.onGestureStart(n);return}if(this.gestureActive&&this.pointers.size<this.minPointers){this.endGesture(),super.update();return}if(this.gestureActive&&e){let e=this._p1.current,t=this._p2.current,n=this.distanceBetween(e,t),r=this.angleBetween(e,t),i=this.startDistance>0?n/this.startDistance:1,a=this.normalizeAngleDelta(r-this.startAngle),o=i-this.prevScale,s=this.normalizeAngleDelta(a-this.prevAngle);this.prevScale=i,this.prevAngle=a,this.gestureOptions.onGestureMove&&this.gestureOptions.onGestureMove(this.buildEvent(n,r,i,a,o,s,(e.x+t.x)/2,(e.y+t.y)/2))}super.update()}endGesture(){if(!this.gestureActive)return;this.gestureActive=!1;let e=this.selectTwoPointers(),t=e?this._p1.current:null,n=e?this._p2.current:null,r=t&&n?this.distanceBetween(t,n):0,i=t&&n?this.angleBetween(t,n):0,a=t&&n?(t.x+n.x)/2:0,o=t&&n?(t.y+n.y)/2:0,s=this.startDistance>0&&r>0?r/this.startDistance:this.prevScale;this.gestureOptions.onGestureEnd&&this.gestureOptions.onGestureEnd(this.buildEvent(r,i,s,this.prevAngle,0,0,a,o))}updateOptions(e){super.updateOptions(e),Object.assign(this.gestureOptions,e),e.minPointers!==void 0&&(this.minPointers=e.minPointers)}destroy(){this.gestureActive&&this.endGesture(),super.destroy()}},Dce=typeof window<`u`?d.useLayoutEffect:d.useEffect;function d7(e){let t={};for(let n in e){let r=e[n];typeof r!=`function`&&(t[n]=r)}return t}function Oce(e={},t){let n=(0,d.useRef)(e);n.current=e;let r=(0,d.useRef)(null),i=(0,d.useRef)(null),a=(0,d.useRef)(void 0),o=(0,d.useCallback)(o=>{if(o===i.current||(r.current&&(r.current.drag?.destroy(),r.current.resize?.destroy(),r.current.gesture?.destroy(),r.current=null,t&&(t.current=null)),i.current=o,!o))return;let s=n.current,c={drag:s.drag?new Cce(o,typeof s.drag==`object`?f7(n,`drag`):{}):null,resize:s.resize?new wce(o,typeof s.resize==`object`?f7(n,`resize`):{}):null,gesture:s.gesture?new Ece(o,typeof s.gesture==`object`?f7(n,`gesture`):{}):null};r.current=c,t&&(t.current=c),a.current=e},[]);return Dce(()=>{let t=r.current;if(!t||a.current===e)return;let i=n.current;t.drag&&typeof i.drag==`object`&&t.drag.updateOptions(d7(i.drag)),t.resize&&typeof i.resize==`object`&&t.resize.updateOptions(d7(i.resize)),t.gesture&&typeof i.gesture==`object`&&t.gesture.updateOptions(d7(i.gesture)),a.current=e}),o}function f7(e,t){let n=e.current[t];if(typeof n!=`object`)return{};let r={};for(let i in n){let a=n[i];r[i]=typeof a==`function`?(...n)=>{let r=e.current[t];if(typeof r!=`object`)return;let a=r[i];return a?.(...n)}:a}return r}function kce(e){switch(e){case`info`:return`var(--accent)`;case`success`:return`var(--status-success)`;case`warning`:return`var(--status-warning)`;case`error`:return`var(--status-error)`;default:return`var(--text)`}}function Ace(e){let{instRef:t,contentRef:n,initial:r,maxWidth:i}=e;if(t.current?.resize?.setSize(r.w,r.h),!i||!n.current)return;let a=n.current;a.style.width=`max-content`;let o=Math.ceil(a.scrollWidth);a.style.width=``;let s=Math.min(Math.max(o,r.w),i);s!==r.w&&t.current?.resize?.setSize(s,r.h)}function jce(e){let{instRef:t,elRef:n,contentRef:r,initial:i,maxWidth:a,maxHeightPx:o}=e,s=n.current;if(!s)return;let c=s.style.height,l=s.style.maxHeight;s.style.height=`auto`,s.style.maxHeight=`none`;let u=s.scrollHeight;s.style.height=c,s.style.maxHeight=l;let d=Math.min(u,o);if(a&&r.current){let e=r.current;e.style.width=`max-content`;let n=Math.ceil(e.scrollWidth);e.style.width=``;let o=Math.min(Math.max(n,i.w),a);t.current?.resize?.setSize(o,d)}else t.current?.resize?.setSize(i.w,d)}function Mce(e){let{instRef:t,initial:n}=e;t.current?.drag?.setPosition(n.x,n.y),n.h==null?jce(e):Ace(e)}function Nce({title:e,subtitle:t,variant:n,flashHeader:r,headerExtra:i}){return(0,T.jsxs)(T.Fragment,{children:[(0,T.jsxs)(`div`,{className:`dd-drag-handle`,style:{padding:`12px 14px`,borderBottom:`1px solid var(--border)`,cursor:`move`,touchAction:`none`,userSelect:`none`,flexShrink:0,...n===`normal`?null:{background:kce(n)},...r?{animation:`interaction-bg-blink 0.6s ease-in-out infinite`}:null},children:[(0,T.jsx)(`div`,{style:{color:n===`normal`?`var(--text)`:`var(--on-accent, #fff)`,fontSize:`var(--text-2xl)`,fontWeight:650,paddingRight:i?34:0},children:e}),t&&(0,T.jsx)(`div`,{style:{marginTop:3,color:`var(--text-dim)`,fontSize:`var(--text-sm)`,fontFamily:`var(--font-mono)`},children:t})]}),i&&(0,T.jsx)(`div`,{style:{position:`absolute`,top:8,right:10,zIndex:2,display:`flex`,alignItems:`center`},children:i})]})}function p7({title:e,subtitle:t,children:n,footer:r,width:i=560,align:a=`bottom`,height:o,variant:s=`normal`,initialOffset:c,position:l,size:u,maxWidth:f,onDragStop:p,onResizeStop:m,testId:h,style:g,portalTarget:_,headerExtra:v,flashHeader:y,autoFocus:b,popover:x}){let[S,C]=(0,d.useState)(!1),w=Math.round(window.innerHeight*.8),[E]=(0,d.useState)(()=>({x:l?.x??c?.dx??0,y:l?.y??c?.dy??0,w:u?.width??i,h:u?.height??o??null})),D=(0,d.useRef)(null),O=(0,d.useRef)(null),k=(0,d.useRef)(null),A=(0,d.useRef)(null),j=(0,d.useRef)(p);j.current=p;let M=(0,d.useRef)(m);M.current=m;let N=Oce((0,d.useMemo)(()=>({drag:{handle:`.dd-drag-handle`,onDragEnd:()=>{let e=A.current?.drag?.getPosition();e&&j.current?.(e.x,e.y)}},resize:{edges:{top:!0,right:!0,bottom:!0,left:!0},minWidth:160,minHeight:100,onResizeEnd:e=>{let t=D.current?.style.transform.match(/translate3?d?\((-?[\d.]+)px,\s*(-?[\d.]+)px/);M.current?.(e.width,e.height,t?Number(t[1]):0,t?Number(t[2]):0)}}}),[]),A);(0,d.useEffect)(()=>()=>{A.current?.drag?.cancel(),A.current?.resize?.cancel()},[]);let ee=(0,d.useCallback)(e=>{D.current=e,O.current=e,N(e)},[N]);(0,d.useEffect)(()=>{if(!x)return;let e=O.current;if(e){try{e.showPopover()}catch{}return()=>{try{e.hidePopover()}catch{}}}},[x]),(0,d.useEffect)(()=>{Mce({instRef:A,elRef:D,contentRef:k,initial:E,maxWidth:f,maxHeightPx:w}),b&&D.current?.focus()},[]);let te=s===`error`?1200:1e3,P=S?te+100:te;return(0,mo.createPortal)((0,T.jsx)(`div`,{"data-testid":h,onPointerDownCapture:()=>C(!0),style:{position:`fixed`,inset:0,zIndex:P,display:`flex`,alignItems:a===`bottom`?`flex-end`:`center`,justifyContent:`center`,padding:a===`bottom`?`0 20px 16px`:0,pointerEvents:`none`,...g},children:(0,T.jsxs)(`div`,{ref:ee,role:`dialog`,"aria-modal":`true`,tabIndex:-1,popover:x?`manual`:void 0,style:{outline:`none`,transform:`translate(${E.x}px, ${E.y}px)`,width:E.w,maxWidth:`calc(100vw - 40px)`,...E.h==null?{maxHeight:`80dvh`}:{height:E.h,maxHeight:`calc(100dvh - 40px)`},display:`flex`,flexDirection:`column`,...x?a===`bottom`?{position:`fixed`,left:0,right:0,bottom:16,marginInline:`auto`,padding:0}:{position:`fixed`,inset:0,margin:`auto`,height:E.h??`fit-content`,padding:0}:{position:`relative`},border:`1px solid color-mix(in srgb, var(--foreground) 14%, transparent)`,borderRadius:12,background:`var(--bg)`,boxShadow:`0 -4px 24px var(--shadow-strong), 0 8px 28px var(--shadow-color), 0 2px 8px var(--shadow-color)`,overflow:`hidden`,pointerEvents:`auto`},children:[(0,T.jsx)(Nce,{title:e,subtitle:t,variant:s,flashHeader:y,headerExtra:v}),(0,T.jsx)(`div`,{ref:k,style:{padding:14,overflowY:`auto`,minHeight:0,flexGrow:1,userSelect:`text`},children:n}),r&&(0,T.jsx)(`div`,{style:{display:`flex`,justifyContent:`flex-end`,gap:8,padding:`10px 14px`,borderTop:`1px solid var(--border)`,background:`var(--bg-panel)`,flexShrink:0},children:r})]})}),_??document.body)}var m7={padding:`10px 16px`,fontSize:`var(--text-base)`,color:`var(--text-muted)`,fontStyle:`italic`};function h7(e,t){let n=[];return e.forEach((e,r)=>{e.role===`user`&&n.push(t[r]??`idx-${r}`)}),n}function Pce({turnKeysNewestLast:e,streamingTurnKey:t,collapsedTurns:n,expandedTurns:r}){let i=new Set;for(let a of e){let e=r.get(a);if(e!==void 0){e||i.add(a);continue}if(n.has(a)){i.add(a);continue}a!==t&&i.add(a)}return i}function Fce(e,t,n){if(n==null)return;let r=[];e.forEach((e,n)=>{e.role===`assistant`&&(e.content??[]).forEach((e,i)=>{e.type===`thinking`?r.push(Yt(`thinking`,t[n]??``,void 0,i)):e.type===`toolCall`&&r.push(Yt(`toolCall`,``,e.toolCallId))})});let i=n??0,a=i>0?r.slice(-i):[];return new Set(a)}function g7(e,t){return t?e:void 0}function _7(e,t){return t?e:void 0}function Ice(e,t,n,r){return e&&t.length===0&&!n&&!r}function v7(e,t){return e||t}function Lce(e,t,n,r){return!v7(e,r)&&!t&&!n}function Rce(e,t,n,r){return e||t||n||r}function zce(e,t){return e??t??void 0}function Bce(e,t){return e??t??void 0}function Vce(e,t){return e??t??``}function Hce(e,t){return e??(t?`new:${t}`:void 0)}function y7(e,t){return e?t?.[`${e.provider}/${e.modelId}`]??null:null}function Uce(e,t){return e??t??``}function Wce(e,t){return!!e||t}function Gce(e,t,n){t||e?.current?.addImages(n)}var Kce={background:`var(--bg)`,minHeight:`100%`},qce=5;function b7({notices:e,onDismiss:t,floating:n=!1,align:r=`left`}){return e.length===0?null:(0,T.jsx)(`div`,{style:{display:`flex`,flexDirection:`column`,alignItems:r===`right`?`flex-end`:`stretch`,gap:10,marginBottom:n?0:10},children:e.map(e=>{let{Icon:n,color:r}=x7[e.type];return(0,T.jsxs)(uo,{open:!0,closable:!0,autoDismissSecs:qce,onDismiss:()=>t(e.id),className:`notice-shelf-item`,style:{minHeight:48,maxWidth:`min(100%, 620px)`,fontSize:`var(--text-3xl)`,lineHeight:1.45,borderRadius:12},testId:`notice-shelf-${e.id}`,children:[(0,T.jsx)(n,{size:I[`3xl`],style:{color:r,flexShrink:0,marginRight:10}}),(0,T.jsx)(`span`,{style:{padding:`10px 0`,minWidth:0},children:(0,T.jsx)(`span`,{style:{display:`-webkit-box`,WebkitLineClamp:4,WebkitBoxOrient:`vertical`,overflow:`hidden`,whiteSpace:`pre-wrap`,overflowWrap:`anywhere`},children:e.message})})]},e.id)})})}var x7={info:{Icon:Kr,color:`var(--accent)`},success:{Icon:yr,color:`var(--status-success)`},warning:{Icon:Ti,color:`var(--status-warning)`},error:{Icon:xr,color:`var(--status-error)`}},S7={info:`chat.notifyInfoTitle`,success:`chat.notifySuccessTitle`,warning:`chat.notifyWarningTitle`,error:`chat.notifyErrorTitle`};function Jce({modals:e,onDismiss:t}){let{t:n}=M();return(0,T.jsx)(T.Fragment,{children:e.map((e,r)=>(0,T.jsx)(p7,{variant:e.type,align:`center`,width:520,height:320,initialOffset:{dx:r%3*24,dy:r%3*24},title:(()=>{let{Icon:t,color:r}=x7[e.type];return(0,T.jsxs)(`span`,{style:{display:`inline-flex`,alignItems:`center`,gap:8},children:[(0,T.jsx)(t,{size:I[`4xl`],style:{color:r}}),n(S7[e.type])]})})(),footer:(0,T.jsx)(`button`,{onClick:()=>t(e.id),style:{padding:`6px 14px`,borderRadius:6,border:`1px solid var(--border)`,background:`var(--bg)`,color:`var(--text)`,cursor:`pointer`},children:n(`chat.close`)}),children:(0,T.jsx)(`div`,{style:{whiteSpace:`pre-wrap`,overflowWrap:`anywhere`,fontSize:`var(--text-lg)`,lineHeight:1.6,color:`var(--text)`},children:e.message})},e.id))})}var Yce=[{type:`info`,titleKey:`notices.filterInfo`},{type:`warning`,titleKey:`notices.filterWarning`},{type:`error`,titleKey:`notices.filterError`}],C7=300;function Xce(e){return e.length>C7?`${e.slice(0,C7)}…`:e}function Zce({currentSessionId:e,onViewNotice:t}){let{t:n,locale:r}=M(),{entries:i,remove:a,clear:o}=lt(),[s,c]=(0,d.useState)(!0),[l,u]=(0,d.useState)(``),[f,p]=(0,d.useState)(()=>new Set([`info`,`warning`,`error`])),[m,h]=(0,d.useState)([]);(0,d.useEffect)(()=>{let e=!0;return Ct.load().then(t=>{e&&h(t.sessions)}).catch(()=>{}),()=>{e=!1}},[]);let g=new Map(m.map(e=>[e.id,e])),_=i.filter(e=>f.has(e.notifyType)||e.notifyType===`success`&&f.has(`info`)).filter(t=>!s||t.sessionId===e||t.sessionId===null).filter(e=>!l||e.message.toLowerCase().includes(l.toLowerCase())),v=e=>new Date(e).toLocaleTimeString(r===`zh-CN`?`zh-CN`:void 0,{hour:`2-digit`,minute:`2-digit`});return(0,T.jsxs)(`div`,{style:Kce,children:[(0,T.jsx)(`div`,{style:{padding:`10px 16px`,fontSize:`var(--text-base)`,fontWeight:700,color:`var(--text)`,borderBottom:`1px solid var(--border)`,display:`flex`,flexDirection:`column`,gap:8},children:(0,T.jsxs)(`div`,{style:{display:`flex`,alignItems:`center`,gap:8},children:[(0,T.jsx)(`span`,{style:{flexShrink:0},children:n(`notices.title`)}),(0,T.jsx)(`div`,{style:{display:`flex`,alignItems:`center`,gap:2,flexShrink:0},children:Yce.map(({type:e,titleKey:t})=>{let r=f.has(e),{Icon:i,color:a}=x7[e];return(0,T.jsx)(F,{label:n(t),children:(0,T.jsx)(`button`,{type:`button`,"aria-pressed":r,"aria-label":n(t),onClick:()=>p(t=>{let n=new Set(t);return n.has(e)?n.delete(e):n.add(e),n}),style:{border:`none`,padding:4,lineHeight:1,display:`inline-flex`,cursor:`pointer`,color:r?a:`var(--text-dim)`,opacity:r?1:.55},children:(0,T.jsx)(i,{size:I.lg})})},e)})}),(0,T.jsx)(F,{label:n(s?`notices.onlyCurrentOnHint`:`notices.onlyCurrentOffHint`),children:(0,T.jsxs)(`label`,{style:{flexShrink:0,display:`inline-flex`,alignItems:`center`,gap:6,fontSize:`var(--text-base)`,lineHeight:1,cursor:`pointer`,color:s?`var(--accent)`:`var(--text-dim)`,whiteSpace:`nowrap`},children:[(0,T.jsx)(`input`,{type:`checkbox`,checked:s,onChange:()=>c(e=>!e),"aria-label":n(`notices.onlyCurrent`)}),n(`notices.onlyCurrent`)]})}),(0,T.jsx)(fb,{testId:`notices-search`,query:l,onChange:u,t:n,style:{flex:1,width:`auto`,minWidth:0,marginLeft:0}}),(0,T.jsx)(F,{label:n(s?`notices.clearCurrentHint`:`notices.clearAllHint`),children:(0,T.jsxs)(`button`,{type:`button`,onClick:()=>o(s?e:void 0),style:{flexShrink:0,display:`inline-flex`,alignItems:`center`,gap:6,fontSize:`var(--text-base)`,lineHeight:1,color:`var(--status-error)`,border:`1px solid var(--border)`,borderRadius:999,padding:`4px 12px`,cursor:`pointer`},children:[(0,T.jsx)(wi,{size:I.xl,"aria-hidden":`true`}),n(`notices.clear`)]})})]})}),_.length===0?(0,T.jsx)(`div`,{style:m7,children:n(`notices.empty`)}):_.map(e=>{let{Icon:r,color:i}=x7[e.notifyType];return(0,T.jsxs)(`div`,{style:{display:`flex`,gap:10,padding:`10px 16px`,borderBottom:`1px solid var(--border)`,alignItems:`center`},children:[(0,T.jsx)(r,{size:I[`2xl`],style:{color:i,flexShrink:0}}),(0,T.jsxs)(`div`,{onClick:()=>t(e),style:{minWidth:0,flex:1,cursor:`pointer`},children:[(0,T.jsx)(`div`,{style:{color:`var(--text)`,fontSize:`var(--text-base)`,lineHeight:1.5,whiteSpace:`pre-wrap`,overflowWrap:`anywhere`},children:Xce(e.message)}),(0,T.jsxs)(`div`,{style:{marginTop:4,fontSize:`var(--text-xs)`,color:`var(--text-dim)`,display:`flex`,gap:8,alignItems:`center`},children:[e.sessionId?(0,T.jsxs)(`span`,{children:[n(`notices.fromSession`),(()=>{let t=g.get(e.sessionId);return t?` ${(t.projectRoot??t.cwd).split(/[\\/]/).filter(Boolean).pop()??``} · ${U5(t)}`:` #${e.sessionId.slice(0,8)}`})()]}):(0,T.jsx)(`span`,{children:n(`notices.global`)}),(0,T.jsx)(`span`,{children:v(e.createdAt)})]})]}),(0,T.jsx)(`button`,{type:`button`,onClick:()=>a(e.id),title:n(`notices.remove`),style:{flexShrink:0,border:`none`,color:`var(--text-dim)`,cursor:`pointer`,padding:2,lineHeight:1},children:(0,T.jsx)(ji,{size:I.sm})})]},e.id)})]})}function Qce({entry:e,onClose:t}){let{t:n,locale:r}=M(),i=e;return i?(0,T.jsx)(T.Fragment,{children:(0,T.jsx)(p7,{variant:i.notifyType,align:`center`,width:560,height:360,title:(()=>{let{Icon:e,color:t}=x7[i.notifyType];return(0,T.jsxs)(`span`,{style:{display:`inline-flex`,alignItems:`center`,gap:8},children:[(0,T.jsx)(e,{size:I[`4xl`],style:{color:t}}),n(S7[i.notifyType]),(0,T.jsx)(`span`,{style:{fontSize:`var(--text-xs)`,color:`var(--text-dim)`},children:new Date(i.createdAt).toLocaleString(r===`zh-CN`?`zh-CN`:void 0)})]})})(),footer:(0,T.jsx)(`button`,{onClick:t,style:{padding:`6px 14px`,borderRadius:6,border:`1px solid var(--border)`,background:`var(--bg)`,color:`var(--text)`,cursor:`pointer`},children:n(`chat.close`)}),children:(0,T.jsx)(`div`,{style:{whiteSpace:`pre-wrap`,overflowWrap:`anywhere`,fontSize:`var(--text-base)`,lineHeight:1.6,color:`var(--text)`},children:i.message})})}):null}function $ce({show:e,onClick:t}){let{t:n}=M(),[r,i]=(0,d.useState)(!1);return e?(0,T.jsxs)(T.Fragment,{children:[(0,T.jsx)(`span`,{style:{position:`absolute`,left:0,right:0,bottom:0,height:30,background:`linear-gradient(to bottom, transparent, var(--bg))`,pointerEvents:`none`,zIndex:49}}),(0,T.jsxs)(`button`,{type:`button`,onClick:t,"aria-label":n(`chat.scrollToLatest`),"data-testid":`scroll-to-latest`,onPointerEnter:()=>i(!0),onPointerLeave:()=>i(!1),style:{position:`absolute`,bottom:5,left:`50%`,transform:`translateX(-50%)`,zIndex:50,cursor:`pointer`,display:`flex`,alignItems:`center`,gap:4,height:26,padding:`0 12px`,borderRadius:999,border:`1px solid var(--border)`,background:`var(--bg)`,boxShadow:`0 2px 8px rgba(0, 0, 0, 0.18)`,transition:`background 120ms ease, scale 120ms ease`,scale:r?`1.05`:`1`,color:`var(--text)`,fontSize:12,lineHeight:1,whiteSpace:`nowrap`},children:[(0,T.jsx)(hr,{size:15,strokeWidth:2.4,style:{flexShrink:0}}),(0,T.jsx)(`span`,{children:n(`chat.scrollToLatest`)})]})]}):null}function ele({plainStatusLine:e}){return(0,T.jsx)(`div`,{style:{display:`flex`,alignItems:`center`,flexShrink:0,minWidth:0,height:36,padding:`0 12px`,borderTop:`1px solid var(--border)`,gap:8},children:(0,T.jsx)(F,{label:e,wrapperStyle:{display:`flex`,flex:1,minWidth:0},children:(0,T.jsx)(`div`,{role:`status`,"aria-label":e,style:{alignSelf:`stretch`,display:`flex`,alignItems:`center`,flex:1,minWidth:0,overflow:`hidden`,textOverflow:`ellipsis`,whiteSpace:`nowrap`,fontFamily:`var(--font-mono)`,fontSize:`var(--text-base)`,color:`var(--text-dim)`},children:e})})})}function tle({agentRunning:e,commandBusy:t,agentPhase:n,streamState:r}){return!e&&!t?!1:n||t?!0:e||!!r.streamingMessage}function nle({agentRunning:e,pendingBash:t,bashOutput:n,session:r,sessionIdRef:i}){return(0,T.jsxs)(T.Fragment,{children:[t&&(0,T.jsx)(B5,{message:{role:`bashExecution`,command:t.command,output:``,excludeFromContext:t.excludeFromContext},streamingBashOutput:n,sessionId:r?.id??i.current??void 0}),e&&(0,T.jsx)(`div`,{style:{height:48}})]})}function rle({isMobile:e,notices:t,scrollContainerRef:n,handleListScroll:r,canMountList:i,sessionIdForCache:a,sessionId:o,rows:s,collapsedTurnKeys:c,messages:l,entryIds:u,modelNames:f,messageCwd:p,onOpenFile:m,sessionBusy:h,isNew:g,handleFork:_,forkingEntryId:v,handleNavigate:y,handleEditContent:b,sessionIdRef:x,session:S,recentExpandedBlockKeys:C,streamState:w,flashKey:E,itemRef:D,t:O,messageRefs:k,lastUserMsgRef:A,visibleRefIndexByMessage:j,virtualizerRef:M,lockBottomPin:N,unlockBottomPin:ee,initialCache:te,agentRunning:P,agentPhase:ne,pendingBash:re,bashOutput:ie,messagesEndRef:ae,nearBottom:oe,scrollToBottom:se,resolveMessageOffset:ce,scrollToMessageIndex:le,previewScrollStepPx:ue,handleWindowJumpTo:de,chatInputElement:fe,startScreenMessages:pe,aiIdle:me,onQuickMessageSend:he,onFillInput:ge,onDismissNotice:_e,plainStatusLine:ve}){let ye=(0,d.useMemo)(()=>ne?.kind===`running_tools`?new Set(ne.tools.map(e=>e.id)):void 0,[ne]),be=(0,d.useRef)(null);(0,d.useLayoutEffect)(()=>()=>{be.current?.()},[]);let xe=(0,d.useCallback)((e,t)=>{if(!le(e))return!1;let r=n.current;N(),be.current?.();let i=!1,a=null,o=()=>{i||(i=!0,a?.(),r?.removeEventListener(`wheel`,s),r?.removeEventListener(`touchstart`,s),r?.removeEventListener(`pointerdown`,s),be.current=null,ee())},s=()=>o();if(!r)return o(),!0;let c={once:!0,passive:!0};return r.addEventListener(`wheel`,s,c),r.addEventListener(`touchstart`,s,c),r.addEventListener(`pointerdown`,s,c),a=a$(r,()=>t(r),{frameBudget:300,stableFrames:3,quietFrames:3,onDone:o}),be.current=o,!0},[N,n,le,ee]),Se=(0,d.useCallback)(e=>xe(e,t=>t.querySelector(`[data-row-key="message-${e}"]`)),[xe]),Ce=(0,d.useCallback)(e=>{let t=CSS.escape(`group-header-${e}-`),r=e=>e.querySelector(`[data-row-key^="${t}"]`);if(xe(e,r))return;let i=n.current;i&&a$(i,()=>r(i),{frameBudget:40})},[xe,n]);return(0,T.jsxs)(T.Fragment,{children:[(0,T.jsxs)(`div`,{className:`relative flex min-h-0 min-w-0 flex-1 overflow-hidden`,children:[(0,T.jsx)(`div`,{style:{position:`absolute`,top:12,left:0,right:e?0:48,zIndex:40,padding:`0 16px`,pointerEvents:`none`},children:(0,T.jsx)(`div`,{style:{maxWidth:820,margin:`0 auto`},children:(0,T.jsx)(b7,{notices:t,onDismiss:_e,floating:!0,align:`right`})})}),(0,T.jsx)(`div`,{ref:n,onScroll:r,className:`min-h-0 min-w-0 flex-1 overflow-x-hidden overflow-y-auto pt-4 [scrollbar-width:none] [overflow-anchor:none]`,style:{paddingRight:48},"data-testid":`message-list`,children:(0,T.jsx)(`div`,{style:{minWidth:0,padding:`0 16px`},children:(0,T.jsxs)(`div`,{style:{width:`100%`,minWidth:0,maxWidth:820,margin:`0 auto`},children:[i&&(0,T.jsx)(fce,{rows:s,collapsedTurnKeys:c,messages:l,entryIds:u,runningToolIds:ye,modelNames:f,messageCwd:p,onOpenFile:m,sessionBusy:h,isNew:g,handleFork:_,forkingEntryId:v,handleNavigate:y,handleEditContent:b,sessionId:S?.id??x.current??void 0,recentExpandedBlockKeys:C,isStreaming:w.isStreaming,agentRunning:P,flashKey:E,itemRef:D,t:O,messageRefs:k,lastUserMsgRef:A,visibleRefIndexByMessage:j,scrollContainerRef:n,virtualizerRef:M,lockBottomPin:N,unlockBottomPin:ee,nearBottom:oe,streamingMessage:w.streamingMessage,initialCache:te},a||`empty`),(0,T.jsx)(nle,{agentRunning:P,pendingBash:re,bashOutput:ie,session:S,sessionIdRef:x}),(0,T.jsx)(`div`,{ref:ae})]})})}),(0,T.jsx)($ce,{show:!oe,onClick:se}),e?null:(0,T.jsx)(g$,{messages:l,streamingMessage:w.streamingMessage,scrollContainer:n,messageRefs:k,resolveMessageOffset:ce,scrollStepPx:ue,onWindowJumpTo:de,onScrollToMessageIndex:Se,jumpToFoldedTurnFooter:Ce,sid:o})]}),(0,T.jsx)(pce,{chatInputElement:fe,startScreenMessages:pe,aiIdle:me,isMobile:e,onQuickMessageSend:he,onFillInput:ge}),(0,T.jsx)(ele,{plainStatusLine:ve})]})}function ile({show:e}){return e?(0,T.jsxs)(`div`,{className:`pointer-events-none absolute inset-0 z-50 flex animate-[drop-zone-in_0.15s_ease_both] items-center justify-center bg-[color-mix(in_srgb,var(--accent)_6%,transparent)] backdrop-blur-[1px]`,children:[(0,T.jsx)(`div`,{className:`pointer-events-none absolute inset-0 flex items-center justify-center`,children:[0,.8,1.6].map(e=>(0,T.jsx)(`div`,{className:`absolute h-[720px] w-[720px] rounded-full border-[1.5px] border-solid border-[color-mix(in_srgb,var(--accent)_50%,transparent)] animate-[drop-ripple_2.4s_ease-out_infinite_backwards]`,style:{transformOrigin:`center`,animationDelay:`${e}s`}},e))}),(0,T.jsxs)(`svg`,{width:`280`,height:`280`,viewBox:`0 0 140 140`,fill:`none`,xmlns:`http://www.w3.org/2000/svg`,className:`drop-shadow-[0_6px_18px_var(--accent-glow)]`,children:[(0,T.jsx)(`rect`,{x:`28`,y:`44`,width:`84`,height:`60`,rx:`8`,fill:`color-mix(in srgb, var(--accent) 8%, transparent)`,stroke:`color-mix(in srgb, var(--accent) 50%, transparent)`,strokeWidth:`1.8`}),(0,T.jsx)(`path`,{d:`M36 100 L54 72 L68 88 L80 74 L104 100Z`,fill:`color-mix(in srgb, var(--accent) 16%, transparent)`,stroke:`color-mix(in srgb, var(--accent) 40%, transparent)`,strokeWidth:`1.4`,strokeLinejoin:`round`}),(0,T.jsx)(`circle`,{cx:`96`,cy:`58`,r:`8`,fill:`color-mix(in srgb, var(--accent) 22%, transparent)`,stroke:`color-mix(in srgb, var(--accent) 55%, transparent)`,strokeWidth:`1.6`}),(0,T.jsxs)(`g`,{stroke:`color-mix(in srgb, var(--accent) 45%, transparent)`,strokeWidth:`1.4`,strokeLinecap:`round`,children:[(0,T.jsx)(`line`,{x1:`96`,y1:`46`,x2:`96`,y2:`43`}),(0,T.jsx)(`line`,{x1:`96`,y1:`70`,x2:`96`,y2:`73`}),(0,T.jsx)(`line`,{x1:`84`,y1:`58`,x2:`81`,y2:`58`}),(0,T.jsx)(`line`,{x1:`108`,y1:`58`,x2:`111`,y2:`58`}),(0,T.jsx)(`line`,{x1:`87.5`,y1:`49.5`,x2:`85.4`,y2:`47.4`}),(0,T.jsx)(`line`,{x1:`104.5`,y1:`66.5`,x2:`106.6`,y2:`68.6`}),(0,T.jsx)(`line`,{x1:`104.5`,y1:`49.5`,x2:`106.6`,y2:`47.4`}),(0,T.jsx)(`line`,{x1:`87.5`,y1:`66.5`,x2:`85.4`,y2:`68.6`})]})]})]}):null}var ale={ArrowUp:`\x1B[A`,ArrowDown:`\x1B[B`,ArrowRight:`\x1B[C`,ArrowLeft:`\x1B[D`,Home:`\x1B[H`,End:`\x1B[F`,Insert:`\x1B[2~`,Delete:`\x1B[3~`,PageUp:`\x1B[5~`,PageDown:`\x1B[6~`,Escape:`\x1B`,Backspace:``},ole={ArrowLeft:`\x1Bb`,ArrowRight:`\x1Bf`,ArrowUp:`\x1Bp`,ArrowDown:`\x1Bn`};function sle(e){if(e.length!==1)return null;let t=e.toUpperCase().charCodeAt(0);return t>=64&&t<=95?String.fromCharCode(t&31):e===`?`?``:null}function cle(e){if(e.ctrlKey&&!e.altKey){let t=sle(e.key);if(t)return t}if(e.altKey&&!e.ctrlKey){if(e.key===`Backspace`)return`\x1B`;let t=ole[e.key];if(t)return t;if(e.key.length===1)return`\x1b${e.key}`}return null}function lle(e){return e.metaKey||e.ctrlKey&&!e.altKey&&e.key.toLowerCase()===`v`?null:cle(e)||(e.key===`Enter`?e.shiftKey?`
|
|
495
|
+
`:`\r`:e.key===`Tab`?e.shiftKey?`\x1B[Z`:` `:ale[e.key]??null)}function ule(e){return`\x1b[200~${e}\x1b[201~`}function dle(e,t){return ge(e).map((e,n)=>Object.keys(e.style).length>0?(0,T.jsx)(`span`,{style:e.style,children:e.text},`${t}-${n}`):e.text)}function fle({request:e,onInput:t}){let{t:n}=M(),r=(0,d.useRef)(null),i=(0,d.useRef)(!1),a=ue(e.lines);return(0,d.useEffect)(()=>{r.current?.focus()},[e.id]),(0,T.jsx)(`div`,{style:{position:`absolute`,inset:0,zIndex:95,display:`flex`,alignItems:`center`,justifyContent:`center`,padding:20,background:`rgba(0,0,0,0.18)`},children:(0,T.jsxs)(`div`,{role:`dialog`,"aria-modal":`true`,onClick:e=>{e.target.closest(`button`)||r.current?.focus()},style:{position:`relative`,width:`min(920px, 100%)`,maxHeight:`min(760px, calc(100vh - 40px))`,border:`1px solid var(--border)`,borderRadius:8,background:`var(--bg)`,boxShadow:`0 20px 60px var(--shadow-strong)`,overflow:`hidden`,outline:`none`},children:[(0,T.jsx)(`textarea`,{ref:r,"aria-label":n(`chat.extensionInput`),autoCapitalize:`off`,autoComplete:`off`,autoCorrect:`off`,spellCheck:!1,onKeyDown:n=>{if(i.current||n.nativeEvent.isComposing)return;let r=lle(n);r&&(n.preventDefault(),n.stopPropagation(),t(e,r))},onInput:n=>{if(i.current||n.nativeEvent.isComposing)return;let r=n.currentTarget.value;n.currentTarget.value=``,r&&t(e,r)},onCompositionStart:()=>{i.current=!0},onCompositionEnd:n=>{i.current=!1;let r=n.currentTarget;queueMicrotask(()=>{let n=r.value;r.value=``,n&&t(e,n)})},onPaste:n=>{n.preventDefault();let r=n.clipboardData.getData(`text`);r&&t(e,ule(r))},style:{position:`absolute`,width:1,height:1,padding:0,border:0,opacity:0,pointerEvents:`none`}}),(0,T.jsxs)(`div`,{style:{display:`flex`,alignItems:`center`,justifyContent:`space-between`,gap:12,padding:`10px 12px`,borderBottom:`1px solid var(--border)`},children:[(0,T.jsx)(`div`,{style:{color:`var(--text)`,fontSize:`var(--text-lg)`,fontWeight:650},children:n(`chat.extensionPanel`)}),(0,T.jsx)(`button`,{onClick:()=>t(e,``),style:{padding:`5px 9px`,borderRadius:6,border:`1px solid var(--border)`,background:`var(--bg-panel)`,color:`var(--text-muted)`,cursor:`pointer`,fontSize:`var(--text-base)`},children:n(`chat.close`)})]}),(0,T.jsx)(`pre`,{style:{margin:0,padding:14,maxHeight:`calc(min(760px, 100vh - 40px) - 48px)`,overflow:`auto`,background:`var(--bg-panel)`,color:`var(--text)`,fontFamily:`var(--font-mono)`,fontSize:`var(--text-lg)`,lineHeight:1.45,whiteSpace:`pre`},children:(a.length?a:[``]).map((e,t,n)=>(0,T.jsxs)(d.Fragment,{children:[dle(e,`line-${t}`),t<n.length-1?`
|
|
496
|
+
`:null]},t))})]})})}function w7({n:e}){return(0,T.jsx)(`kbd`,{"aria-hidden":!0,style:{display:`inline-flex`,alignItems:`center`,justifyContent:`center`,minWidth:18,height:18,marginRight:7,padding:`0 4px`,borderRadius:4,border:`1px solid var(--border)`,background:`var(--bg)`,color:`var(--text-muted)`,fontSize:`var(--text-sm)`,fontVariantNumeric:`tabular-nums`,verticalAlign:`middle`},children:e})}function ple(e,t){(0,d.useEffect)(()=>{if(e.method!==`select`&&e.method!==`confirm`)return;let n=e.method===`confirm`,r=n?[`confirm`,`cancel`]:(e.options??[]).slice(0,9),i=i=>{if(i.key<`1`||i.key>`9`||i.metaKey||i.ctrlKey||i.altKey)return;let a=document.activeElement;if(a instanceof HTMLInputElement||a instanceof HTMLTextAreaElement||a instanceof HTMLElement&&a.isContentEditable)return;let o=Number(i.key)-1;o>=r.length||(n?t(e,o===0?{confirmed:!0}:{cancelled:!0}):t(e,{value:r[o]}))};return window.addEventListener(`keydown`,i),()=>window.removeEventListener(`keydown`,i)},[e,t])}function mle({request:e,onRespond:t}){let{t:n}=M(),[r,i]=(0,d.useState)(e.method===`editor`?e.prefill??``:``),[a,o]=(0,d.useState)(()=>Date.now());(0,d.useEffect)(()=>{i(e.method===`editor`?e.prefill??``:``),o(Date.now())},[e]),(0,d.useEffect)(()=>{if(!e.expiresAt)return;let t=setInterval(()=>{document.hidden||o(Date.now())},1e3),n=()=>{document.hidden||o(Date.now())};return document.addEventListener(`visibilitychange`,n),()=>{clearInterval(t),document.removeEventListener(`visibilitychange`,n)}},[e.expiresAt]);let s=e.expiresAt?Math.max(0,Math.ceil((e.expiresAt-a)/1e3)):null;ple(e,t),(0,d.useEffect)(()=>{s===0&&t(e,{cancelled:!0})},[s===0,e.id]);let c=()=>{e.method===`confirm`?t(e,{confirmed:!0}):t(e,{value:r})},l={select:n(`chat.extensionSelect`),confirm:n(`chat.extensionConfirm`),editor:n(`chat.extensionEditor`),input:n(`chat.extensionInput`)}[e.method];return(0,T.jsxs)(p7,{testId:`extension-dialog`,flashHeader:!0,popover:!0,autoFocus:!0,title:(0,T.jsxs)(T.Fragment,{children:[l,s!==null&&(0,T.jsxs)(`span`,{style:{color:`var(--text-muted)`,marginLeft:6,fontVariantNumeric:`tabular-nums`},children:[`(`,s,`s)`]})]}),subtitle:n(`chat.extensionRequest`),maxWidth:Math.round(window.innerWidth*.6),footer:(0,T.jsxs)(T.Fragment,{children:[(0,T.jsxs)(`button`,{onClick:()=>t(e,{cancelled:!0}),style:{padding:`6px 10px`,borderRadius:6,border:`1px solid var(--border)`,background:`var(--bg)`,color:`var(--text-muted)`,cursor:`pointer`},children:[e.method===`confirm`&&(0,T.jsx)(w7,{n:2}),n(`chat.cancel`)]}),e.method===`confirm`?(0,T.jsxs)(`button`,{onClick:c,style:{padding:`6px 10px`,borderRadius:6,border:`1px solid var(--accent)`,background:`var(--accent)`,color:`var(--on-accent)`,cursor:`pointer`},children:[(0,T.jsx)(w7,{n:1}),n(`chat.confirm`)]}):e.method===`select`?null:(0,T.jsx)(`button`,{onClick:c,style:{padding:`6px 10px`,borderRadius:6,border:`1px solid var(--accent)`,background:`var(--accent)`,color:`var(--on-accent)`,cursor:`pointer`},children:n(`chat.submit`)})]}),children:[(0,T.jsx)(`div`,{style:{marginBottom:12,padding:`9px 10px`,borderRadius:7,border:`1px solid var(--border)`,background:`var(--bg)`,color:`var(--text)`,fontSize:`var(--text-lg)`,lineHeight:1.6,whiteSpace:`pre-wrap`,maxHeight:360,overflowY:`auto`},children:e.title}),`Notification`in window&&Notification.permission===`denied`&&(0,T.jsx)(`div`,{style:{marginBottom:10,padding:`7px 10px`,borderRadius:7,border:`1px solid var(--border-warning, var(--border))`,background:`var(--bg-panel)`,color:`var(--text-dim)`,fontSize:`var(--text-sm)`,lineHeight:1.5},children:n(`chat.questionNotificationDenied`)}),e.method===`confirm`&&(0,T.jsx)(`div`,{style:{color:`var(--text-muted)`,fontSize:`var(--text-lg)`,lineHeight:1.6,whiteSpace:`pre-wrap`},children:e.message}),e.method===`select`&&(0,T.jsx)(`div`,{"data-testid":`extension-select-options`,style:{display:`flex`,flexWrap:`wrap`,gap:8,maxHeight:`min(50vh, 420px)`,overflowY:`auto`,alignContent:`flex-start`},children:e.options.map((n,r)=>(0,T.jsxs)(`button`,{onClick:()=>t(e,{value:n}),style:{flex:`1 1 auto`,padding:`9px 10px`,borderRadius:7,border:`1px solid var(--border)`,background:`var(--bg-panel)`,color:`var(--text)`,cursor:`pointer`,textAlign:`left`,fontSize:`var(--text-lg)`},children:[r<9&&(0,T.jsx)(w7,{n:r+1}),n]},n))}),e.method===`input`&&(0,T.jsx)(`input`,{autoFocus:!0,value:r,placeholder:e.placeholder,onChange:e=>i(e.target.value),onKeyDown:n=>{n.key===`Enter`&&c(),n.key===`Escape`&&t(e,{cancelled:!0})},style:{width:`100%`,padding:`9px 10px`,borderRadius:7,border:`1px solid var(--border)`,background:`var(--bg-panel)`,color:`var(--text)`,outline:`none`,fontSize:`var(--text-2xl)`}}),e.method===`editor`&&(0,T.jsx)(`textarea`,{autoFocus:!0,value:r,onChange:e=>i(e.target.value),onKeyDown:n=>{n.key===`Escape`&&t(e,{cancelled:!0}),(n.metaKey||n.ctrlKey)&&n.key===`Enter`&&c()},style:{width:`100%`,minHeight:220,padding:10,borderRadius:7,border:`1px solid var(--border)`,background:`var(--bg)`,color:`var(--text)`,outline:`none`,resize:`vertical`,fontSize:`var(--text-2xl)`,lineHeight:1.55,fontFamily:`var(--font-mono)`}})]},e.id)}function hle({widget:e,saved:t,messages:n,defaultOffset:r,onCloseWidget:i,setWidgetGeometry:a,onSend:o,fillChatInput:s,portalTarget:c}){let{t:l}=M(),[u,f]=(0,d.useState)(!1),[p,m]=(0,d.useState)(null),h=(0,d.useRef)(null),g=(0,d.useCallback)(t=>{if(u)return;let n=()=>i(e.key,e.lines.join(`
|
|
497
497
|
`));if(window.matchMedia?.(`(prefers-reduced-motion: reduce)`).matches){n();return}let r=document.querySelector(`[data-tab-id="widgets"]`)??document.querySelector(`[data-testid="tab-bar"]`);if(!r){n();return}let a=t.currentTarget.getBoundingClientRect(),o=r.getBoundingClientRect(),s=`M ${a.left+a.width/2} ${a.top+a.height/2} L ${o.left+o.width/2} ${o.top+o.height/2}`;f(!0),m(s),window.setTimeout(n,280)},[u,i,e.key,e.lines]);return(0,d.useLayoutEffect)(()=>{if(!p||!h.current)return;let e=h.current;e.style.setProperty(`offset-path`,`path('${p}')`),e.style.setProperty(`offset-rotate`,`0deg`),e.animate([{offsetDistance:`0%`,r:28},{offsetDistance:`100%`,r:2}],{duration:240,easing:`cubic-bezier(0.22, 1, 0.36, 1)`,fill:`forwards`})},[p]),(0,d.useEffect)(()=>{t===void 0?a(e.key,{x:r.dx,y:r.dy,width:560,height:Math.round(window.innerHeight*.6)}):t.collapsed&&i(e.key,e.lines.join(`
|
|
498
498
|
`))},[e.key]),(0,T.jsxs)(T.Fragment,{children:[(0,T.jsx)(p7,{testId:`widget-dialog`,title:e.key,align:`center`,portalTarget:c,style:{opacity:+!u,transition:`opacity 200ms ease`},headerExtra:(0,T.jsx)(F,{label:l(`widgets.collapse`),children:(0,T.jsx)(`button`,{type:`button`,"aria-label":l(`widgets.collapse`),onClick:g,style:{display:`flex`,alignItems:`center`,justifyContent:`center`,width:26,height:26,borderRadius:6,border:`none`,background:`transparent`,color:`var(--text-muted)`,cursor:`pointer`},className:`hover-shift`,children:(0,T.jsx)(ri,{size:I.xl})})}),position:t?{x:t.x,y:t.y}:void 0,size:t?{width:t.width,height:t.height}:void 0,initialOffset:r,onDragStop:(n,r)=>a(e.key,{x:n,y:r,width:t?.width??560,height:t?.height??Math.round(window.innerHeight*.6)}),onResizeStop:(t,n,r,i)=>a(e.key,{x:r,y:i,width:t,height:n}),children:(0,T.jsxs)(`div`,{style:{display:`flex`,flexDirection:`column`,gap:10},children:[(0,T.jsx)(`pre`,{style:{margin:0,color:`var(--text-muted)`,fontSize:`var(--text-base)`,lineHeight:1.5,whiteSpace:`pre-wrap`,wordBreak:`break-word`,fontFamily:`var(--font-mono)`},children:e.lines.join(`
|
|
499
|
-
`)}),n.length>0&&(0,T.jsx)(`div`,{"data-testid":`widget-bound-messages`,style:{display:`flex`,flexWrap:`wrap`,gap:6,paddingTop:8,borderTop:`1px solid var(--border)`,flexShrink:0},children:n.map((t,n)=>(0,T.jsx)(V5,{msg:t,onSend:o,onFillInput:s,testId:`widget-send-${e.key}-${n}`},n))})]})}),p&&(0,T.jsx)(`div`,{"data-testid":`widget-collapse-trail`,style:{position:`fixed`,inset:0,zIndex:70,pointerEvents:`none`},children:(0,T.jsx)(`svg`,{width:`100%`,height:`100%`,style:{position:`absolute`,inset:0},children:(0,T.jsx)(`circle`,{ref:h,r:28,fill:`var(--accent)`,fillOpacity:.7})})})]})}function
|
|
499
|
+
`)}),n.length>0&&(0,T.jsx)(`div`,{"data-testid":`widget-bound-messages`,style:{display:`flex`,flexWrap:`wrap`,gap:6,paddingTop:8,borderTop:`1px solid var(--border)`,flexShrink:0},children:n.map((t,n)=>(0,T.jsx)(V5,{msg:t,onSend:o,onFillInput:s,testId:`widget-send-${e.key}-${n}`},n))})]})}),p&&(0,T.jsx)(`div`,{"data-testid":`widget-collapse-trail`,style:{position:`fixed`,inset:0,zIndex:70,pointerEvents:`none`},children:(0,T.jsx)(`svg`,{width:`100%`,height:`100%`,style:{position:`absolute`,inset:0},children:(0,T.jsx)(`circle`,{ref:h,r:28,fill:`var(--accent)`,fillOpacity:.7})})})]})}function gle({isDragOver:e,sessionBusy:t,extensionDialog:n,onExtensionRespond:r,noticeModals:i,onDismissNotice:a,extensionCustomUi:o,onExtensionCustomInput:s,extensionWidgets:c,closedWidgetKeys:l,widgetGeometries:u,widgetMessages:d,onCloseWidget:f,onSetWidgetGeometry:p,onQuickMessageSend:m,fillChatInput:h,chatRoot:g}){return(0,T.jsxs)(T.Fragment,{children:[(0,T.jsx)(ile,{show:e&&!t}),n&&(0,T.jsx)(mle,{request:n,onRespond:r}),i.length>0&&(0,T.jsx)(Jce,{modals:i,onDismiss:a}),o&&(0,T.jsx)(fle,{request:o,onInput:s}),c.filter(e=>!l.has(e.key)).map((e,t)=>(0,T.jsx)(hle,{widget:e,saved:u[e.key],messages:d[e.key]??[],defaultOffset:t%3==0?{dx:0,dy:0}:t%3==1?{dx:-80,dy:0}:{dx:80,dy:0},onCloseWidget:f,setWidgetGeometry:p,onSend:m,fillChatInput:h,portalTarget:g},e.key))]})}function _le(e){if(e.role===`user`){let t=e;return typeof t.content==`string`?t.content:t.content.filter(e=>e.type===`text`).map(e=>e.text).join(`
|
|
500
500
|
`)}if(e.role===`assistant`){let t=[];for(let n of e.content)n.type===`text`?t.push(n.text):n.type===`thinking`?t.push(n.thinking??``):n.type===`toolCall`&&t.push(`${n.toolName}(${JSON.stringify(n.input??{})})`);return t.join(`
|
|
501
501
|
`)}if(e.role===`toolResult`)return e.content.filter(e=>e.type===`text`).map(e=>e.text).join(`
|
|
502
|
-
`);if(e.role===`bashExecution`){let t=e;return`${t.command}\n${t.output??``}`}return``}var T7=100,E7=44;function gle({messages:e,t,onJump:n}){let[r,i]=(0,d.useState)(``),[a,o]=(0,d.useState)(0),s=(0,d.useRef)(null),c=(0,d.useRef)(null),l=(0,d.useMemo)(()=>e.map((e,t)=>({msgIdx:t,role:e.role,text:hle(e)})),[e]),u=(0,d.useMemo)(()=>{let e=r.trim().toLowerCase();if(!e)return[];let t=[];for(let{msgIdx:n,role:r,text:i}of l){let a=0,o=i.toLowerCase().indexOf(e,a);for(;o!==-1&&t.length<T7;)t.push({msgIdx:n,role:r,text:i,start:o}),a=o+1,o=i.toLowerCase().indexOf(e,a);if(t.length>=T7)break}return t},[l,r]);po(()=>o(e=>Math.min(e,Math.max(0,u.length-1))),[u.length]);let f=(0,d.useCallback)(e=>{let t=u[e];t&&(n(t.msgIdx),o(e))},[u,n]),p=(0,d.useCallback)(e=>{if(u.length!==0){if(e.key===`Enter`){e.preventDefault();let t=e.shiftKey?-1:1,n=(a+t+u.length)%u.length;f(n)}else e.key===`ArrowDown`?(e.preventDefault(),f(Math.min(a+1,u.length-1))):e.key===`ArrowUp`&&(e.preventDefault(),f(Math.max(a-1,0)))}},[a,f,u.length]);return(0,d.useEffect)(()=>{(c.current?.children[a])?.scrollIntoView({block:`nearest`})},[a]),(0,T.jsxs)(`div`,{style:{position:`relative`,flex:`1 1 0`,minWidth:0,maxWidth:2040},"data-testid":`search-box`,children:[(0,T.jsxs)(`div`,{style:{display:`flex`,alignItems:`center`,gap:4,padding:`0 6px`,background:`var(--bg)`,border:`1px solid var(--border)`,borderRadius:6,height:30,boxSizing:`border-box`},children:[(0,T.jsx)(pi,{size:I.xl,color:`var(--text-muted)`,style:{flexShrink:0}}),(0,T.jsx)(`input`,{ref:s,value:r,onChange:e=>i(e.target.value),onKeyDown:p,placeholder:t(`chat.searchPlaceholder`),style:{flex:1,minWidth:0,background:`transparent`,border:`none`,outline:`none`,color:`var(--text)`,fontSize:`var(--text-sm)`}}),r&&(0,T.jsx)(`button`,{type:`button`,onClick:()=>{i(``),s.current?.focus()},"aria-label":t(`chat.clearSearch`),style:{border:`none`,background:`transparent`,color:`var(--text-muted)`,cursor:`pointer`,fontSize:`var(--text-sm)`,flexShrink:0,padding:0},children:`✕`})]}),r.trim()&&(0,T.jsx)(`div`,{ref:c,style:{position:`absolute`,top:`calc(100% + 6px)`,left:0,right:0,maxHeight:`min(55vh, 480px)`,overflowY:`auto`,background:`var(--bg)`,border:`1px solid var(--border)`,borderRadius:8,boxShadow:`0 8px 24px var(--shadow-color)`,zIndex:60},children:u.length===0?(0,T.jsx)(`div`,{style:{padding:`10px 12px`,fontSize:`var(--text-base)`,color:`var(--text-muted)`},children:t(`chat.searchNoResults`)}):(0,T.jsxs)(T.Fragment,{children:[(0,T.jsx)(`div`,{style:{padding:`6px 12px`,fontSize:`var(--text-sm)`,color:`var(--text-dim)`,borderBottom:`1px solid var(--border)`},children:t(`chat.searchResults`,{count:u.length})}),u.map((e,t)=>{let n=r.trim(),i=Math.max(0,e.start-E7),o=Math.min(e.text.length,e.start+n.length+E7),s=i>0?`…`:``,c=o<e.text.length?`…`:``,l=`${s}${e.text.slice(i,o)}${c}`;return(0,T.jsxs)(`button`,{type:`button`,onClick:()=>f(t),"data-testid":`search-result`,style:{display:`block`,width:`100%`,textAlign:`left`,padding:`8px 12px`,border:`none`,borderBottom:`1px solid var(--border)`,background:t===a?`var(--bg-selected)`:`transparent`,color:`var(--text)`,cursor:`pointer`,fontSize:`var(--text-base)`,lineHeight:1.5},children:[(0,T.jsxs)(`span`,{style:{color:`var(--text-dim)`,marginRight:6,fontSize:`var(--text-sm)`},children:[`#`,e.msgIdx]}),(0,T.jsx)(`span`,{children:_le(l,n)})]},`${e.msgIdx}-${e.start}`)})]})})]})}function _le(e,t){let n=[],r=e,i=0;for(;r.length>0;){let e=r.toLowerCase().indexOf(t.toLowerCase());if(e===-1){n.push(r);break}e>0&&n.push(r.slice(0,e)),n.push((0,T.jsx)(`mark`,{children:r.slice(e,e+t.length)},i++)),r=r.slice(e+t.length)}return n}var vle={display:`flex`,alignItems:`center`,gap:10,alignSelf:`center`,height:32,paddingLeft:12,paddingRight:12,border:`1px solid transparent`,borderRadius:7,fontSize:`var(--text-sm)`,color:`var(--text-muted)`,whiteSpace:`nowrap`,cursor:`pointer`,fontVariantNumeric:`tabular-nums`,transition:`color 0.12s, background 0.12s, border-color 0.12s`,"--hover-color":`var(--text)`,"--hover-bg":`var(--bg-selected)`,"--hover-border":`color-mix(in srgb, var(--accent) 35%, transparent)`};function yle(e){let t={color:`var(--text-muted)`,str:null};if(!e?.contextWindow)return t;let n=e.percent,r=`var(--text-muted)`;return n!==null&&n>90?r=`var(--status-error)`:n!==null&&n>70&&(r=`color-mix(in srgb, var(--status-warning) 95%, transparent)`),{color:r,str:n===null?`? / ${QZ(e.contextWindow)}`:`${n.toFixed(0)}% / ${QZ(e.contextWindow)}`}}function ble(e,t,n,r,i){let a=[];if(e&&(a.push(`${i(`session.input`)}: ${e.input.toLocaleString(r)}`),a.push(`${i(`session.output`)}: ${e.output.toLocaleString(r)}`),a.push(`${i(`session.cacheRead`)}: ${e.cacheRead.toLocaleString(r)}`),a.push(`${i(`session.cacheWrite`)}: ${e.cacheWrite.toLocaleString(r)}`),t>0&&a.push(`${i(`session.cost`)}: $${t.toFixed(4)}`)),n?.contextWindow){let e=n.percent;a.push(`${i(`session.context`)}: ${e===null?`?`:`${e.toFixed(1)}%`} / ${QZ(n.contextWindow)}`)}return a.join(` · `)}function xle({sessionStats:e,contextUsage:t,activeTopPanel:n,toggleTopPanel:r,isMobile:i,t:a,locale:o}){let s=e?.tokens,c=e?.cost??0,l=$Z(c),u=yle(t),d=YZ(s),f=ble(s,c,t,o,a)||a(`session.title`);return(0,T.jsx)(F,{label:f,wrapperStyle:{marginLeft:`auto`,flex:`0 0 auto`},children:(0,T.jsxs)(`button`,{type:`button`,"data-testid":`chat-toolbar-session`,onClick:()=>r(`session`),"aria-label":a(`session.title`),"aria-pressed":n===`session`,style:{...vle,background:n===`session`?`var(--bg-selected)`:`transparent`,borderColor:n===`session`?`var(--accent)`:`transparent`},className:`hover-shift`,children:[i&&(0,T.jsxs)(`svg`,{width:I.xl,height:I.xl,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`,"aria-hidden":`true`,children:[(0,T.jsx)(`circle`,{cx:`12`,cy:`12`,r:`10`}),(0,T.jsx)(`line`,{x1:`12`,y1:`16`,x2:`12`,y2:`12`}),(0,T.jsx)(`line`,{x1:`12`,y1:`8`,x2:`12.01`,y2:`8`})]}),!i&&s&&tQ.map(e=>{let t=s[e.key];return(0,T.jsx)(eQ,{color:e.color,svg:e.svg,value:QZ(t),badge:e.key===`cacheRead`?XZ(d,a):void 0},e.key)}),!i&&l!==null&&(0,T.jsx)(`span`,{style:ZZ,children:l}),u.str!==null&&(0,T.jsx)(qZ,{icon:(0,T.jsx)(JZ,{percent:t?.percent??null,size:I.base,color:`var(--text)`}),style:{color:u.color},children:u.str})]})})}var D7={position:`absolute`,top:`100%`,left:0,right:0,zIndex:1500,background:`var(--bg)`,borderBottom:`1px solid var(--border)`,boxShadow:`0 10px 28px var(--shadow-color)`,maxHeight:`calc(100dvh - 80px)`,overflowY:`auto`},Sle={position:`relative`,display:`flex`,alignItems:`stretch`,flexShrink:0,width:`100%`,minWidth:0,height:36,gap:4,paddingLeft:4,paddingRight:4,borderBottom:`1px solid var(--border)`,background:`var(--bg)`},O7={display:`flex`,alignItems:`center`,justifyContent:`center`,alignSelf:`center`,width:32,height:32,padding:0,background:`transparent`,border:`1px solid transparent`,borderRadius:7,color:`var(--text-muted)`,flexShrink:0,cursor:`pointer`,transition:`color 0.12s, background 0.12s, border-color 0.12s`,"--hover-color":`var(--text)`,"--hover-bg":`var(--bg-selected)`,"--hover-border":`color-mix(in srgb, var(--accent) 35%, transparent)`},k7={flexShrink:0},A7={fontSize:`var(--text-sm)`,fontWeight:700,color:`var(--text)`,marginBottom:6},j7={fontSize:`var(--text-xs)`,borderRadius:8,border:`1px solid color-mix(in srgb, var(--accent) 45%, transparent)`,background:`color-mix(in srgb, var(--accent) 10%, transparent)`,color:`var(--accent)`,whiteSpace:`nowrap`};function M7({title:e,rows:t,valueAlign:n=`left`,compact:r=!1,bordered:i=!1}){let a=r?`max-content max-content max-content`:`auto minmax(0, 1fr) max-content`,o=r?14:12;return i?(0,T.jsxs)(`div`,{style:{minWidth:0},children:[(0,T.jsx)(`div`,{style:A7,children:e}),(0,T.jsx)(`table`,{style:{borderCollapse:`collapse`,border:`1px solid var(--border)`,borderRadius:6,background:`var(--bg)`,width:`fit-content`,maxWidth:`100%`},children:(0,T.jsx)(`tbody`,{children:t.map(([t,n,r])=>(0,T.jsxs)(`tr`,{style:{borderBottom:`1px solid var(--border)`},children:[(0,T.jsx)(`td`,{style:{padding:`5px 10px`,color:`var(--text-dim)`,whiteSpace:`nowrap`,borderRight:`1px solid var(--border)`},children:r?.title?(0,T.jsx)(F,{label:r.title,children:(0,T.jsx)(`span`,{children:t})}):t}),(0,T.jsxs)(`td`,{style:{padding:`5px 12px`,color:`var(--text-muted)`,textAlign:`right`,whiteSpace:`nowrap`},children:[n,r?.badge&&(0,T.jsx)(F,{label:`${r.badgeTitle??``}${r.badgeTitle?` · `:``}${r.badge}`,children:(0,T.jsx)(`span`,{style:{marginLeft:8,padding:`0 5px`,...j7},children:r.badge})})]})]},`${e}:${t}`))})})]}):(0,T.jsxs)(`div`,{style:{minWidth:0},children:[(0,T.jsx)(`div`,{style:A7,children:e}),(0,T.jsx)(`div`,{style:{display:`grid`,gridTemplateColumns:a,columnGap:o,rowGap:4,justifyContent:r?`start`:void 0},children:t.map(([t,i,a])=>(0,T.jsxs)(`div`,{style:{display:`contents`},children:[(0,T.jsx)(F,{label:a?.title,wrapperStyle:{display:`flex`,color:`var(--text-dim)`,whiteSpace:`nowrap`},children:(0,T.jsx)(`div`,{style:{color:`var(--text-dim)`,whiteSpace:`nowrap`},children:t})}),(0,T.jsx)(`div`,{style:{color:`var(--text-muted)`,minWidth:0,overflowWrap:r?`normal`:`anywhere`,textAlign:n,whiteSpace:n===`right`?`nowrap`:`normal`},children:i}),(0,T.jsx)(`div`,{style:{display:`flex`,alignItems:`center`,justifyContent:`flex-end`,minWidth:0},children:a?.badge&&(0,T.jsx)(F,{label:`${a.badgeTitle??``}${a.badgeTitle?` · `:``}${a.badge}`,children:(0,T.jsx)(`span`,{style:{padding:`0 5px`,...j7},children:a.badge})})})]},`${e}:${t}`))})]})}function Cle({field:e,value:t,copied:n,onCopy:r,t:i}){return(0,T.jsx)(F,{label:i(n?`session.copied`:e===`file`?`session.copyFile`:`session.copyId`),children:(0,T.jsx)(`button`,{type:`button`,onClick:()=>r(e,t),style:{alignSelf:`start`,display:`inline-flex`,alignItems:`center`,justifyContent:`center`,width:22,height:22,marginTop:-2,color:n?`var(--accent)`:`var(--text-dim)`,border:`1px solid var(--border)`,borderRadius:4,cursor:`pointer`,flex:`0 0 auto`,transition:`color 0.12s, border-color 0.12s`,"--hover-color":`var(--accent)`,"--hover-border":`var(--accent)`},className:`hover-shift`,children:n?(0,T.jsx)(`svg`,{width:I.base,height:I.base,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`,"aria-hidden":`true`,children:(0,T.jsx)(`polyline`,{points:`20 6 9 17 4 12`})}):(0,T.jsxs)(`svg`,{width:I.base,height:I.base,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`,"aria-hidden":`true`,children:[(0,T.jsx)(`rect`,{x:`9`,y:`9`,width:I.lg,height:I.lg,rx:`2`,ry:`2`}),(0,T.jsx)(`path`,{d:`M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1`})]})})})}function wle({sessionStats:e,displayContextUsage:t,isMobile:n,locale:r,t:i,copiedSessionField:a,onCopySessionField:o,onMouseEnter:s,onMouseLeave:c}){return e?(0,T.jsxs)(`div`,{onMouseEnter:s,onMouseLeave:c,style:Tle,children:[(0,T.jsx)(Dle,{sessionStats:e,locale:r,t:i,copiedSessionField:a,onCopySessionField:o}),(0,T.jsx)(M7,{title:i(`session.messages`),rows:Ole(e,r,i),bordered:!0}),(0,T.jsx)(M7,{title:i(`session.tokens`),rows:kle(e,t,r,i),valueAlign:`right`,compact:!0,bordered:!0})]}):(0,T.jsx)(`div`,{onMouseEnter:s,onMouseLeave:c,style:{...Ele},children:(0,T.jsx)(`div`,{style:{fontSize:`var(--text-base)`,color:`var(--text-muted)`,fontStyle:`italic`},children:i(`session.load`)})})}var Tle={position:`absolute`,top:`100%`,left:0,right:0,zIndex:1500,background:`var(--bg)`,borderBottom:`1px solid var(--border)`,boxShadow:`0 10px 28px var(--shadow-color)`,maxHeight:`calc(100dvh - 80px)`,overflowY:`auto`,display:`flex`,flexDirection:`column`,gap:16,padding:`12px 16px`,fontSize:`var(--text-base)`,lineHeight:1.5,fontFamily:`var(--font-mono)`},Ele={padding:`12px 16px`,...A7};function Dle({sessionStats:e,locale:t,t:n,copiedSessionField:r,onCopySessionField:i}){let a=[...e.sessionName?[{label:n(`session.name`),value:e.sessionName,copyField:null}]:[],{label:n(`session.file`),value:e.sessionFile??n(`session.inMemory`),copyField:`file`},{label:n(`session.id`),value:e.sessionId,copyField:`id`}];return(0,T.jsxs)(`div`,{style:{minWidth:0},children:[(0,T.jsx)(`div`,{style:A7,children:n(`session.infoSection`)}),(0,T.jsx)(`div`,{style:{display:`grid`,gridTemplateColumns:`auto minmax(0, 1fr) auto`,columnGap:12,rowGap:8,alignItems:`start`},children:a.map(e=>(0,T.jsxs)(`div`,{style:{display:`contents`},children:[(0,T.jsx)(`div`,{style:{color:`var(--text-dim)`,whiteSpace:`nowrap`},children:e.label}),(0,T.jsx)(`div`,{style:{color:`var(--text-muted)`,minWidth:0,overflowWrap:`anywhere`,wordBreak:`break-word`,whiteSpace:`normal`},children:e.value}),(0,T.jsx)(`div`,{children:e.copyField?(0,T.jsx)(Cle,{field:e.copyField,value:e.value,copied:r===e.copyField,onCopy:i,t:n}):null})]},`session-info:${e.label}`))})]})}function Ole(e,t,n){return[[n(`session.user`),e.userMessages.toLocaleString(t)],[n(`session.assistant`),e.assistantMessages.toLocaleString(t)],[n(`session.toolCalls`),e.toolCalls.toLocaleString(t)],[n(`session.toolResults`),e.toolResults.toLocaleString(t)],[n(`session.total`),e.totalMessages.toLocaleString(t)]]}function kle(e,t,n,r){let i=e.tokens.input+e.tokens.cacheRead+e.tokens.cacheWrite,a=e=>`${e.toFixed(1)}%`,o=[[r(`session.input`),e.tokens.input.toLocaleString(n),{title:r(`session.inputHint`)}],[r(`session.output`),e.tokens.output.toLocaleString(n),{title:r(`session.outputHint`)}]];e.tokens.cacheRead>0&&o.push([r(`session.cacheRead`),e.tokens.cacheRead.toLocaleString(n),{title:r(`session.cacheReadHint`),badge:i>0?a(e.tokens.cacheRead/i*100):void 0,badgeTitle:r(`session.cacheReadRate`)}]),e.tokens.cacheWrite>0&&o.push([r(`session.cacheWrite`),e.tokens.cacheWrite.toLocaleString(n),{title:r(`session.cacheWriteHint`)}]),o.push([r(`session.total`),e.tokens.total.toLocaleString(n),{title:r(`session.totalHint`)}]);let s=t??e.contextUsage;return e.cost>0&&o.push([r(`session.cost`),`$${e.cost.toFixed(4)}`]),s?.contextWindow&&o.push([r(`session.context`),`${s.percent===null?`?`:`${s.percent.toFixed(1)}%`} / ${(e=>e>=1e6?`${(e/1e6).toFixed(1)}M`:e>=1e3?`${(e/1e3).toFixed(0)}k`:String(e))(s.contextWindow)}`]),o}function Ale({session:e,onViewFullHistory:t,t:n}){return(0,T.jsx)(F,{label:n(e?`history.full`:`history.unsaved`),children:(0,T.jsx)(`button`,{onClick:t,disabled:!e,"aria-label":n(`history.full`),style:{...O7,color:e?`var(--text-muted)`:`var(--text-dim)`,cursor:e?`pointer`:`not-allowed`,opacity:e?1:.45},className:e?`hover-shift`:void 0,children:(0,T.jsx)(Zr,{size:I.base,style:k7})})})}function jle({chatToolbarRef:e,systemBtnRef:t,session:n,sessionStats:r,displayContextUsage:i,activeTopPanel:a,toggleTopPanel:o,systemPrompt:s,copiedSessionField:c,toolbarExtra:l,handleViewFullHistory:u,handleCopySessionField:f,handleBuiltinSlashCommand:p,onOpenBranches:m,handleSearchJump:h,scheduleCloseTopPanel:g,cancelCloseTopPanel:_,commandBusy:v,messages:y,isMobile:b,locale:x,t:S,onReloadFromDisk:C,soundEnabled:w,onSoundToggle:E,isStreaming:D,mobilePinnedCount:O=1}){let[k,A]=(0,d.useState)(!1),j=[];E!==void 0&&j.push((0,T.jsx)(F,{label:S(w?`chat.disableSound`:`chat.enableSound`),children:(0,T.jsx)(`button`,{type:`button`,"data-testid":`chat-toolbar-sound`,onClick:E,"aria-label":S(w?`chat.disableSound`:`chat.enableSound`),style:{...O7,background:`transparent`,borderColor:w?`color-mix(in srgb, var(--accent) 45%, transparent)`:`transparent`,cursor:`pointer`,color:w?`var(--accent)`:`var(--text-dim)`,opacity:w?1:.55,"--hover-color":`var(--text)`},className:`hover-shift`,children:w?(0,T.jsx)(Oi,{size:I.base,style:k7}):(0,T.jsx)(ki,{size:I.base,style:k7})})},`sound`)),j.push((0,T.jsx)(Ale,{session:n,onViewFullHistory:u,t:S},`history`),(0,T.jsx)(F,{label:S(`i18n.branches`),children:(0,T.jsx)(`button`,{type:`button`,onClick:m,"aria-label":S(`i18n.branches`),style:O7,className:`hover-shift`,children:(0,T.jsx)(_i,{width:I.base,height:I.base,"aria-hidden":`true`})})},`branches`),(0,T.jsx)(F,{label:(0,T.jsxs)(`span`,{style:{display:`flex`,flexDirection:`column`,gap:4},children:[(0,T.jsx)(`span`,{children:S(`system.prompt`)}),(0,T.jsx)(`span`,{style:{opacity:.85,fontSize:`0.85em`,whiteSpace:`normal`,maxWidth:260},children:S(`system.promptHint`)})]}),children:(0,T.jsx)(`button`,{ref:t,onClick:()=>o(`system`),"aria-label":S(`system.prompt`),"aria-pressed":a===`system`,style:{...O7,background:a===`system`?`var(--bg-selected)`:`transparent`,borderColor:a===`system`?`var(--accent)`:`transparent`,cursor:`pointer`,color:a===`system`?`var(--text)`:`var(--text-muted)`,"--hover-color":`var(--text)`},className:`hover-shift`,children:(0,T.jsx)(Ir,{size:I.base,style:k7})})},`system`),(0,T.jsx)(F,{label:S(`session.reload`),children:(0,T.jsx)(`button`,{type:`button`,"data-testid":`chat-toolbar-reload`,onClick:()=>void p(`/reload`),"aria-label":S(`session.reload`),style:{...O7,background:`transparent`,borderColor:`transparent`,cursor:`pointer`,color:`var(--text-muted)`,"--hover-color":`var(--text)`},className:`hover-shift`,children:v?(0,T.jsx)(Qr,{className:`animate-spin`,size:I.base,style:k7}):(0,T.jsx)(ui,{size:I.base,style:k7})})},`reload`)),C&&j.push((0,T.jsx)(F,{label:(0,T.jsxs)(`span`,{style:{display:`flex`,flexDirection:`column`,gap:4},children:[(0,T.jsx)(`span`,{children:S(`chat.reloadFromDisk`)}),(0,T.jsx)(`span`,{style:{opacity:.85,fontSize:`0.85em`,whiteSpace:`normal`,maxWidth:260},children:S(`chat.reloadFromDiskHint`)})]}),children:(0,T.jsx)(`button`,{type:`button`,"data-testid":`chat-toolbar-reload-disk`,onClick:()=>!D&&C(),disabled:D,"aria-label":S(`chat.reloadFromDisk`),style:{...O7,background:`transparent`,borderColor:`transparent`,cursor:D?`not-allowed`:`pointer`,opacity:D?.5:1,"--hover-color":`var(--text)`},className:D?void 0:`hover-shift`,children:(0,T.jsx)(Hr,{size:I.base,style:k7})})},`reloadDisk`)),n&&j.push((0,T.jsx)(F,{label:(0,T.jsxs)(`span`,{style:{display:`flex`,flexDirection:`column`,gap:4},children:[(0,T.jsx)(`span`,{children:S(`chat.exportSession`)}),(0,T.jsx)(`span`,{style:{opacity:.85,fontSize:`0.85em`,whiteSpace:`normal`,maxWidth:260},children:S(`chat.exportSessionHint`)})]}),children:(0,T.jsx)(`button`,{type:`button`,"data-testid":`chat-toolbar-export`,"aria-label":S(`chat.exportSession`),onClick:()=>{window.location.href=`/api/sessions/${encodeURIComponent(n.id)}/export`},style:{...O7,background:`transparent`,borderColor:`transparent`,cursor:`pointer`,"--hover-color":`var(--text)`},className:`hover-shift`,children:(0,T.jsx)(Or,{size:I.base,style:k7})})},`export`));let M=b?Math.max(0,O):j.length,N=j.slice(0,M),ee=j.slice(M);return(0,T.jsxs)(`div`,{ref:e,"data-testid":`chat-toolbar`,style:Sle,children:[N,ee.length>0&&(0,T.jsxs)(T.Fragment,{children:[(0,T.jsx)(F,{label:k?void 0:S(`chat.moreControls`),children:(0,T.jsx)(`button`,{type:`button`,"data-testid":`chat-toolbar-more`,onClick:()=>A(e=>!e),"aria-label":S(`chat.moreControls`),"aria-expanded":k,style:{...O7,background:k?`var(--bg-selected)`:`transparent`,borderColor:k?`var(--accent)`:`transparent`,color:k?`var(--text)`:`var(--text-muted)`,"--hover-color":`var(--text)`},className:`hover-shift`,children:(0,T.jsx)(kr,{size:I.base,style:k7})})}),k&&(0,T.jsx)(`div`,{style:{...D7,display:`flex`,flexWrap:`wrap`,alignItems:`center`,gap:6,padding:10},onClickCapture:()=>A(!1),children:ee})]}),(0,T.jsx)(`div`,{style:{marginLeft:8,display:`flex`,alignItems:`center`,flex:1,minWidth:0},children:(0,T.jsx)(gle,{messages:y,t:S,onJump:h})}),r||i?(0,T.jsx)(xle,{sessionStats:r,contextUsage:i,activeTopPanel:a,toggleTopPanel:o,isMobile:b,t:S,locale:x}):null,l,a===`system`&&(0,T.jsx)(`div`,{onMouseEnter:_,onMouseLeave:g,style:D7,children:s?(0,T.jsx)(`div`,{style:{padding:`12px 16px`,color:`var(--text-muted)`,fontSize:`var(--text-base)`,lineHeight:1.6,whiteSpace:`pre-wrap`,fontFamily:`var(--font-mono)`},children:s}):s===``?(0,T.jsx)(`div`,{style:m7,children:S(`system.empty`)}):(0,T.jsx)(`div`,{style:m7,children:S(`system.load`)})}),a===`session`&&(0,T.jsx)(wle,{sessionStats:r,displayContextUsage:i,isMobile:b,locale:x,t:S,copiedSessionField:c,onCopySessionField:f,onMouseEnter:_,onMouseLeave:g})]})}function Mle({sessionIdForCache:e,scrollContainerRef:t,resetItemObservers:n,onResetCache:r,messageRefs:i,lastUserMsgRef:a}){(0,d.useEffect)(()=>{if(r(),n(),i.current=[],a.current=null,t.current){t.current.scrollTop=0;let e=t.current.firstElementChild;if(e&&e.children.length===1){let t=e.firstElementChild;t?.style.height&&(t.style.height=`0px`)}}},[e])}function Nle({extensionDialog:e,soundedIdRef:t,playRef:n}){(0,d.useEffect)(()=>{e&&t.current!==e.id&&(t.current=e.id,Te(`ui-chain`,`4b ExtensionDialog mounted, play sound`,`${e.method} id=${e.id.slice(0,8)} title=${JSON.stringify(e.title)}`),n.current?.())},[e,t,n])}function Ple({startScreenMessages:e,aiIdle:t,isPinnedToBottom:n,scrollContainerRef:r}){(0,d.useLayoutEffect)(()=>{if(!e.length||!t||!n())return;let i=r.current;i&&(i.scrollTop=i.scrollHeight)},[e.length,t,r,n])}function Fle({notifyPermission:e,newSessionCwd:t,startScreenMessages:n,handleQuickMessageSend:r,fillChatInput:i,notices:a,onDismissNotice:o,chatInputElement:s,t:c}){return(0,T.jsx)(`div`,{className:`relative flex flex-1 flex-col items-center justify-center overflow-y-auto px-4 py-8`,children:(0,T.jsxs)(`div`,{className:`w-full max-w-[820px]`,children:[(0,T.jsxs)(`div`,{className:`mb-3`,style:{textAlign:`center`,padding:`40px 0`},children:[e==="default"?(0,T.jsxs)(`div`,{style:{marginBottom:20,fontSize:`var(--text-sm)`,color:`var(--text-muted)`,lineHeight:1.6},children:[c(`notify.permission.bannerHintBefore`),` `,(0,T.jsxs)(`svg`,{width:16,height:16,viewBox:`0 0 24 24`,fill:`none`,stroke:`var(--accent)`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`,style:{display:`inline-block`,verticalAlign:-2},children:[(0,T.jsx)(`path`,{d:`M6 8a6 6 0 0 1 12 0c0 7 3 9 3 9H3s3-2 3-9`}),(0,T.jsx)(`path`,{d:`M10.3 21a1.94 1.94 0 0 0 3.4 0`})]}),` `,c(`notify.permission.bannerHintAfter`)]}):null,(0,T.jsx)(`div`,{style:{fontSize:`var(--text-6xl)`,fontWeight:700,fontStyle:`italic`,color:`var(--accent)`},children:`Pi Web`}),t?(0,T.jsx)(`div`,{style:{marginTop:6,fontSize:`var(--text-3xl)`,color:`var(--text-muted)`,fontFamily:`var(--font-mono)`},children:t}):null]}),n.length>0&&(0,T.jsx)(`div`,{style:{marginBottom:28},children:(0,T.jsx)(H5,{messages:n,onSend:r,onFillInput:i,testIdPrefix:`start-screen-msg`,wrapperTestId:`start-screen-messages`,center:!0})}),(0,T.jsx)(`div`,{style:{position:`absolute`,top:12,left:0,right:0,zIndex:40,padding:`0 16px`,pointerEvents:`none`},children:(0,T.jsx)(`div`,{style:{maxWidth:820,margin:`0 auto`},children:(0,T.jsx)(b7,{notices:a,onDismiss:o,floating:!0,align:`right`})})}),s]})})}function Ile(e){for(let t=e.length-1;t>=0;t--){let n=e[t];if(!(n.role!==`assistant`||!n.timestamp)){for(let r=t-1;r>=0;r--){let t=e[r];if(t.role===`user`&&t.timestamp){let e=Math.round((n.timestamp-t.timestamp)/1e3);return e>0?e:void 0}}return}}}var Lle={running_tools:`🔧`,running_command:`💻`,thinking:`💡`,retrying:`⚠️`};function Rle(e){let t=e.elapsed??``,n=e.agentPhase?.kind;return n?n===`waiting_model`?`⏳ ${t}`.trimEnd():`${Lle[n]??`⏳`} ${t}`.trimEnd():`💬 ${t}`.trimEnd()}function N7(e){let{extensionDialogOpen:t,sessionBusy:n,messages:r,elapsed:i,agentPhase:a}=e;if(t)return`❓`;if(n)return Rle({agentPhase:a,elapsed:i});let o=Ile(r);return o===void 0?null:`✅ ${gX(o)}`}function zle({sessionBusy:e,extensionDialogOpen:t,agentPhase:n,messages:r,windowTitleBase:i,phaseElapsed:a,phaseSinceMs:o}){let s=(0,d.useRef)(``);(0,d.useEffect)(()=>{let o=()=>{if(document.hasFocus()||document.hidden&&e)return;let o=N7({extensionDialogOpen:t,sessionBusy:e,agentPhase:n,messages:r,elapsed:a});if(o===null)return;let c=i?`${o} · ${i}`:o;c!==s.current&&(s.current=c,UW(c))};o();let c=()=>{document.visibilityState===`hidden`&&o()};return document.addEventListener(`visibilitychange`,c),window.addEventListener(`blur`,o),()=>{document.removeEventListener(`visibilitychange`,c),window.removeEventListener(`blur`,o)}},[n,a,r,e,i,t]),(0,d.useEffect)(()=>{if(!e&&!t)return;let c=null,l=null,u=()=>{try{c=new Worker(URL.createObjectURL(new Blob([`let id=null;onmessage=(e)=>{if(e.data==='start'&&!id)id=setInterval(()=>postMessage(0),1000);if(e.data==='stop'&&id){clearInterval(id);id=null;}};`],{type:`text/javascript`}))),c.onmessage=()=>f(),c.postMessage(`start`)}catch{l=setInterval(f,1e3)}},d=()=>{c?.postMessage(`stop`),c?.terminate(),c=null,l!==null&&(clearInterval(l),l=null)},f=()=>{if(!document.hidden||document.hasFocus())return;let c=N7({extensionDialogOpen:t,sessionBusy:e,agentPhase:n,messages:r,elapsed:o===void 0?a:gX((Date.now()-o)/1e3)});if(c===null)return;let l=i?`${c} · ${i}`:c;l!==s.current&&(s.current=l,UW(l))};return u(),document.addEventListener(`visibilitychange`,f),()=>{d(),document.removeEventListener(`visibilitychange`,f)}},[e,t,n,r,i,a,o])}function Ble({sessionBusy:e,handleSteer:t,handlePromptWithStreamingBehavior:n,handleSend:r,handleBuiltinSlashCommand:i,toggleTopPanel:a}){let o=(0,d.useCallback)(async e=>{let t=await i(e);return t.handled&&t.action===`openSessionStats`&&a(`session`),t},[i,a]);return{handleQuickMessageSend:(0,d.useCallback)(async i=>{if(e){i.startsWith(`/`)?await n(i,`steer`):await t(i);return}i.startsWith(`/`)&&(await o(i)).handled||await r(i)},[e,t,n,r,o]),wrappedHandleBuiltinSlashCommand:o}}function Vle({playDoneSound:e,soundEnabled:t,onAgentEnd:n}){let r=(0,d.useRef)(e);(0,d.useEffect)(()=>{r.current=e});let i=(0,d.useRef)(t);(0,d.useEffect)(()=>{i.current=t});let a=(0,d.useRef)(null);return{wrappedOnAgentEnd:(0,d.useCallback)(()=>{i.current&&r.current(),n?.()},[n]),soundedExtensionDialogIdRef:a,playDoneSoundRef:r}}function Hle({scrollContainerRef:e}){let t=(0,d.useRef)(new Map),n=(0,d.useRef)(new Map),r=(0,d.useRef)(null),[i,a]=(0,d.useState)(!0),o=(0,d.useRef)(!0),s=(0,d.useRef)(!0),c=(0,d.useRef)(!1),l=(0,d.useCallback)(()=>{c.current=!0},[]),u=(0,d.useCallback)(()=>{c.current=!1},[]),f=(0,d.useRef)(0),p=(0,d.useCallback)(t=>{let n=e.current;n&&(n.scrollTop=t)},[e]),m=(0,d.useCallback)(()=>{let t=e.current;t&&(t.scrollTop=t.scrollHeight),o.current=!0,s.current=!0,a(!0)},[e]),h=(0,d.useCallback)(()=>{let t=e.current;if(!t)return;let n=t.scrollHeight-t.scrollTop-t.clientHeight;if(s.current&&!c.current&&n>0&&t.scrollHeight!==f.current){f.current=t.scrollHeight,t.scrollTop=t.scrollHeight;return}s.current=n<=1,n<16?(o.current=!0,a(!0)):n>64&&(o.current=!1,a(!1)),f.current=t.scrollHeight},[e]),g=(0,d.useRef)(new Map),_=(0,d.useCallback)((r,i)=>{g.current.set(r,i);let a=n.current.get(r);return a||(a=n=>{if(g.current.get(r)?.(n),!n){t.current.get(r)?.disconnect(),t.current.delete(r),g.current.delete(r);return}let i=t.current.get(r);i?i.disconnect():(i=new ResizeObserver(()=>{document.hidden||s.current&&!c.current&&requestAnimationFrame(()=>{if(document.hidden)return;let t=e.current;t&&s.current&&!c.current&&(t.scrollTop=t.scrollHeight)})}),t.current.set(r,i)),i.observe(n)},n.current.set(r,a)),a},[e]),v=(0,d.useCallback)(()=>{t.current.forEach(e=>e.disconnect()),t.current.clear(),n.current.clear(),g.current.clear()},[]);return(0,d.useEffect)(()=>()=>v(),[v]),(0,d.useEffect)(()=>{let t=e.current;if(!t)return;let n=new ResizeObserver(()=>{document.hidden||s.current&&!c.current&&requestAnimationFrame(()=>{if(document.hidden)return;let t=e.current;t&&s.current&&!c.current&&(t.scrollTop=t.scrollHeight)})});return n.observe(t),()=>n.disconnect()},[e]),{nearBottom:i,virtualizerRef:r,scrollToBottom:m,handleListScroll:h,handleWindowJumpTo:p,itemRef:_,resetItemObservers:v,isPinnedToBottom:(0,d.useCallback)(()=>s.current&&!c.current,[]),lockBottomPin:l,unlockBottomPin:u}}function Ule({autoReloadSeconds:e,activeLeafId:t,loadContext:n,sessionIdRef:r,extensionDialog:i,onExtensionDialogChange:a,sessionBusy:o,handleAbort:s}){let c=(0,d.useCallback)(()=>{let e=r.current;e&&n(e,t,!0)},[t,n,r]);return(0,d.useEffect)(()=>{if(!e||e<=0)return;let i=setInterval(()=>{let e=r.current;e&&n(e,t,!0)},e*1e3);return()=>clearInterval(i)},[e,t,n,r]),(0,d.useEffect)(()=>{a?.(i!==null)},[i,a]),(0,d.useEffect)(()=>{QK()},[]),(0,d.useEffect)(()=>{gt(o?s:null)},[o,s]),{handleReloadFromDisk:c}}function Wle({session:e,onOpenTrajectory:t}){let[n,r]=(0,d.useState)(null),i=Ty(),a=(0,d.useRef)(null),o=(0,d.useRef)(null),{activeTopPanel:s,toggleTopPanel:c,closeTopPanel:l}=LW(),u=Ty(),f=(0,d.useCallback)(()=>{u.schedule(()=>{l()},150)},[u,l]),p=u.cancel;(0,d.useEffect)(()=>{r(null)},[e?.id]);let m=(0,d.useCallback)(()=>{e&&t?.()},[e,t]);return{activeTopPanel:s,cancelCloseTopPanel:p,chatToolbarRef:a,closeTopPanel:l,copiedSessionField:n,handleCopySessionField:(0,d.useCallback)((e,t)=>{Z6(t).then(()=>{i.cancel(),r(e),i.schedule(()=>r(null),1400)})},[i]),handleViewFullHistory:m,scheduleCloseTopPanel:f,systemBtnRef:o,toggleTopPanel:c}}function Gle(e){if(typeof e!=`string`||!e)return!1;let t=e.toLowerCase();return t===`write`||t.startsWith(`write_`)||t.endsWith(`.write`)||t.endsWith(`_write`)}function Kle(e){let t=`path`in e?e.path:`file_path`in e?e.file_path:void 0;return typeof t==`string`&&t.trim().length>0?t:null}function P7(e){let t=[],n=[];for(let r of e.split(/\r?\n/))r.startsWith(`+`)&&!r.startsWith(`+++`)?t.push(r.slice(1)):r.startsWith(`-`)&&!r.startsWith(`---`)&&n.push(r.slice(1));return[t,n]}function F7(e,t){if(e.length!==t.length)return!1;let n=[...e].sort(),r=[...t].sort();return n.every((e,t)=>e===r[t])}function qle(e,t){let[n,r]=P7(e),[i,a]=P7(t);return n.length+r.length===0||i.length+a.length===0?!1:F7(n,a)&&F7(r,i)}function Jle(e,t,n){let r=new Map;for(let i=t;i<n;i++){let t=e[i];if(t.role!==`toolResult`)continue;let n=t.details;if(!n||typeof n!=`object`)continue;let a=n,o=typeof a.patch==`string`&&a.patch?a.patch:typeof a.diff==`string`&&a.diff?a.diff:null;o&&r.set(t.toolCallId,o)}let i=new Map;for(let a=t;a<n;a++){let t=e[a];if(t.role===`assistant`)for(let e of t.content){if(e.type!==`toolCall`||!(b5(e.toolName)||Gle(e.toolName)))continue;let t=Kle(e.input);if(!t)continue;let n=r.get(e.toolCallId),a={toolName:e.toolName,...n?{stats:_5(n),patchText:n}:{}},o=i.get(t)??[],s=o[o.length-1];s?.patchText&&n&&qle(s.patchText,n)?o.pop():o.push(a),i.set(t,o)}}return[...i.entries()].filter(([,e])=>e.length>0).map(([e,t])=>{let n=t[t.length-1];return{path:e,toolName:n.toolName,...n.stats?{stats:n.stats}:{}}})}function I7(e){return e.role===`user`?96:e.role===`assistant`?260:120}function Yle(e){return e.role===`assistant`&&C$(e).answerBlocks.some(e=>e.type===`image`||e.type===`text`&&e.text.trim().length>0)}function Xle(e,t,n){for(let r=n-1;r>t;r--)if(Yle(e[r]))return r;for(let r=n-1;r>t;r--)if(e[r]?.role===`assistant`)return r;return-1}function Zle(e,t){let n=0;for(let r of t){let t=e[r];t?.role===`assistant`&&(n+=w$(b$(t)))}return n}function Qle(e){return e.role===`assistant`?b$(e).length>0:e.role===`custom`}function L7(e){return e.role===`user`||e.role===`custom`&&e.customType===`compaction`}function R7(e,t,n={}){let r={...e,content:t};return n.omitUsage&&(r.usage=void 0),n.suppressAbortBanner&&(r.suppressAbortBanner=!0),r}function $le({finalAssistantIdx:e}){return e===-1}function eue(e,t){let{messages:n,userIdx:r,endIdx:i,finalAssistantIdx:a,pushMessage:o}=t;o(r);let s=[];for(let e=r+1;e<a;e++)s.push(e);let c=s.filter(e=>Qle(n[e])),l=n[a],u=C$(l),d=u.processBlocks.length>0?R7(l,u.processBlocks,{omitUsage:!0,suppressAbortBanner:!0}):null,f=u.answerBlocks.length>0||x$(l)||l.stopReason===`aborted`?R7(l,u.answerBlocks):null,p=c.length+ +!!d;p>0&&(c.forEach((e,t)=>{o(e,{isProcess:!0,attachRef:t===0&&void 0,groupLast:!d&&t===c.length-1})}),d&&o(a,{isProcessFinal:!0,attachRef:!1,messageOverride:d,showTimestamp:!1,groupLast:!0})),f&&e.push({key:`message-${a}-answer`,kind:`message`,msgIdx:a,estimate:I7(n[a]),messageOverride:f,isAnswer:!0,showTimestamp:!1});let m=Jle(n,r,i),h=n.slice(r+1,a+1).filter(e=>e?.role===`assistant`).flatMap(e=>e.content).filter(e=>e?.type===`text`&&e.text.trim().length>0).map(e=>e.text),g=h.length>0?h.join(`
|
|
502
|
+
`);if(e.role===`bashExecution`){let t=e;return`${t.command}\n${t.output??``}`}return``}var T7=100,E7=44;function vle({messages:e,t,onJump:n}){let[r,i]=(0,d.useState)(``),[a,o]=(0,d.useState)(0),s=(0,d.useRef)(null),c=(0,d.useRef)(null),l=(0,d.useMemo)(()=>e.map((e,t)=>({msgIdx:t,role:e.role,text:_le(e)})),[e]),u=(0,d.useMemo)(()=>{let e=r.trim().toLowerCase();if(!e)return[];let t=[];for(let{msgIdx:n,role:r,text:i}of l){let a=0,o=i.toLowerCase().indexOf(e,a);for(;o!==-1&&t.length<T7;)t.push({msgIdx:n,role:r,text:i,start:o}),a=o+1,o=i.toLowerCase().indexOf(e,a);if(t.length>=T7)break}return t},[l,r]);po(()=>o(e=>Math.min(e,Math.max(0,u.length-1))),[u.length]);let f=(0,d.useCallback)(e=>{let t=u[e];t&&(n(t.msgIdx),o(e))},[u,n]),p=(0,d.useCallback)(e=>{if(u.length!==0){if(e.key===`Enter`){e.preventDefault();let t=e.shiftKey?-1:1,n=(a+t+u.length)%u.length;f(n)}else e.key===`ArrowDown`?(e.preventDefault(),f(Math.min(a+1,u.length-1))):e.key===`ArrowUp`&&(e.preventDefault(),f(Math.max(a-1,0)))}},[a,f,u.length]);return(0,d.useEffect)(()=>{(c.current?.children[a])?.scrollIntoView({block:`nearest`})},[a]),(0,T.jsxs)(`div`,{style:{position:`relative`,flex:`1 1 0`,minWidth:0,maxWidth:2040},"data-testid":`search-box`,children:[(0,T.jsxs)(`div`,{style:{display:`flex`,alignItems:`center`,gap:4,padding:`0 6px`,background:`var(--bg)`,border:`1px solid var(--border)`,borderRadius:6,height:30,boxSizing:`border-box`},children:[(0,T.jsx)(pi,{size:I.xl,color:`var(--text-muted)`,style:{flexShrink:0}}),(0,T.jsx)(`input`,{ref:s,value:r,onChange:e=>i(e.target.value),onKeyDown:p,placeholder:t(`chat.searchPlaceholder`),style:{flex:1,minWidth:0,background:`transparent`,border:`none`,outline:`none`,color:`var(--text)`,fontSize:`var(--text-sm)`}}),r&&(0,T.jsx)(`button`,{type:`button`,onClick:()=>{i(``),s.current?.focus()},"aria-label":t(`chat.clearSearch`),style:{border:`none`,background:`transparent`,color:`var(--text-muted)`,cursor:`pointer`,fontSize:`var(--text-sm)`,flexShrink:0,padding:0},children:`✕`})]}),r.trim()&&(0,T.jsx)(`div`,{ref:c,style:{position:`absolute`,top:`calc(100% + 6px)`,left:0,right:0,maxHeight:`min(55vh, 480px)`,overflowY:`auto`,background:`var(--bg)`,border:`1px solid var(--border)`,borderRadius:8,boxShadow:`0 8px 24px var(--shadow-color)`,zIndex:60},children:u.length===0?(0,T.jsx)(`div`,{style:{padding:`10px 12px`,fontSize:`var(--text-base)`,color:`var(--text-muted)`},children:t(`chat.searchNoResults`)}):(0,T.jsxs)(T.Fragment,{children:[(0,T.jsx)(`div`,{style:{padding:`6px 12px`,fontSize:`var(--text-sm)`,color:`var(--text-dim)`,borderBottom:`1px solid var(--border)`},children:t(`chat.searchResults`,{count:u.length})}),u.map((e,t)=>{let n=r.trim(),i=Math.max(0,e.start-E7),o=Math.min(e.text.length,e.start+n.length+E7),s=i>0?`…`:``,c=o<e.text.length?`…`:``,l=`${s}${e.text.slice(i,o)}${c}`;return(0,T.jsxs)(`button`,{type:`button`,onClick:()=>f(t),"data-testid":`search-result`,style:{display:`block`,width:`100%`,textAlign:`left`,padding:`8px 12px`,border:`none`,borderBottom:`1px solid var(--border)`,background:t===a?`var(--bg-selected)`:`transparent`,color:`var(--text)`,cursor:`pointer`,fontSize:`var(--text-base)`,lineHeight:1.5},children:[(0,T.jsxs)(`span`,{style:{color:`var(--text-dim)`,marginRight:6,fontSize:`var(--text-sm)`},children:[`#`,e.msgIdx]}),(0,T.jsx)(`span`,{children:yle(l,n)})]},`${e.msgIdx}-${e.start}`)})]})})]})}function yle(e,t){let n=[],r=e,i=0;for(;r.length>0;){let e=r.toLowerCase().indexOf(t.toLowerCase());if(e===-1){n.push(r);break}e>0&&n.push(r.slice(0,e)),n.push((0,T.jsx)(`mark`,{children:r.slice(e,e+t.length)},i++)),r=r.slice(e+t.length)}return n}var ble={display:`flex`,alignItems:`center`,gap:10,alignSelf:`center`,height:32,paddingLeft:12,paddingRight:12,border:`1px solid transparent`,borderRadius:7,fontSize:`var(--text-sm)`,color:`var(--text-muted)`,whiteSpace:`nowrap`,cursor:`pointer`,fontVariantNumeric:`tabular-nums`,transition:`color 0.12s, background 0.12s, border-color 0.12s`,"--hover-color":`var(--text)`,"--hover-bg":`var(--bg-selected)`,"--hover-border":`color-mix(in srgb, var(--accent) 35%, transparent)`};function xle(e){let t={color:`var(--text-muted)`,str:null};if(!e?.contextWindow)return t;let n=e.percent,r=`var(--text-muted)`;return n!==null&&n>90?r=`var(--status-error)`:n!==null&&n>70&&(r=`color-mix(in srgb, var(--status-warning) 95%, transparent)`),{color:r,str:n===null?`? / ${QZ(e.contextWindow)}`:`${n.toFixed(0)}% / ${QZ(e.contextWindow)}`}}function Sle(e,t,n,r,i){let a=[];if(e&&(a.push(`${i(`session.input`)}: ${e.input.toLocaleString(r)}`),a.push(`${i(`session.output`)}: ${e.output.toLocaleString(r)}`),a.push(`${i(`session.cacheRead`)}: ${e.cacheRead.toLocaleString(r)}`),a.push(`${i(`session.cacheWrite`)}: ${e.cacheWrite.toLocaleString(r)}`),t>0&&a.push(`${i(`session.cost`)}: $${t.toFixed(4)}`)),n?.contextWindow){let e=n.percent;a.push(`${i(`session.context`)}: ${e===null?`?`:`${e.toFixed(1)}%`} / ${QZ(n.contextWindow)}`)}return a.join(` · `)}function Cle({sessionStats:e,contextUsage:t,activeTopPanel:n,toggleTopPanel:r,isMobile:i,t:a,locale:o}){let s=e?.tokens,c=e?.cost??0,l=$Z(c),u=xle(t),d=YZ(s),f=Sle(s,c,t,o,a)||a(`session.title`);return(0,T.jsx)(F,{label:f,wrapperStyle:{marginLeft:`auto`,flex:`0 0 auto`},children:(0,T.jsxs)(`button`,{type:`button`,"data-testid":`chat-toolbar-session`,onClick:()=>r(`session`),"aria-label":a(`session.title`),"aria-pressed":n===`session`,style:{...ble,background:n===`session`?`var(--bg-selected)`:`transparent`,borderColor:n===`session`?`var(--accent)`:`transparent`},className:`hover-shift`,children:[i&&(0,T.jsxs)(`svg`,{width:I.xl,height:I.xl,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`,"aria-hidden":`true`,children:[(0,T.jsx)(`circle`,{cx:`12`,cy:`12`,r:`10`}),(0,T.jsx)(`line`,{x1:`12`,y1:`16`,x2:`12`,y2:`12`}),(0,T.jsx)(`line`,{x1:`12`,y1:`8`,x2:`12.01`,y2:`8`})]}),!i&&s&&tQ.map(e=>{let t=s[e.key];return(0,T.jsx)(eQ,{color:e.color,svg:e.svg,value:QZ(t),badge:e.key===`cacheRead`?XZ(d,a):void 0},e.key)}),!i&&l!==null&&(0,T.jsx)(`span`,{style:ZZ,children:l}),u.str!==null&&(0,T.jsx)(qZ,{icon:(0,T.jsx)(JZ,{percent:t?.percent??null,size:I.base,color:`var(--text)`}),style:{color:u.color},children:u.str})]})})}var D7={position:`absolute`,top:`100%`,left:0,right:0,zIndex:1500,background:`var(--bg)`,borderBottom:`1px solid var(--border)`,boxShadow:`0 10px 28px var(--shadow-color)`,maxHeight:`calc(100dvh - 80px)`,overflowY:`auto`},wle={position:`relative`,display:`flex`,alignItems:`stretch`,flexShrink:0,width:`100%`,minWidth:0,height:36,gap:4,paddingLeft:4,paddingRight:4,borderBottom:`1px solid var(--border)`,background:`var(--bg)`},O7={display:`flex`,alignItems:`center`,justifyContent:`center`,alignSelf:`center`,width:32,height:32,padding:0,background:`transparent`,border:`1px solid transparent`,borderRadius:7,color:`var(--text-muted)`,flexShrink:0,cursor:`pointer`,transition:`color 0.12s, background 0.12s, border-color 0.12s`,"--hover-color":`var(--text)`,"--hover-bg":`var(--bg-selected)`,"--hover-border":`color-mix(in srgb, var(--accent) 35%, transparent)`},k7={flexShrink:0},A7={fontSize:`var(--text-sm)`,fontWeight:700,color:`var(--text)`,marginBottom:6},j7={fontSize:`var(--text-xs)`,borderRadius:8,border:`1px solid color-mix(in srgb, var(--accent) 45%, transparent)`,background:`color-mix(in srgb, var(--accent) 10%, transparent)`,color:`var(--accent)`,whiteSpace:`nowrap`};function M7({title:e,rows:t,valueAlign:n=`left`,compact:r=!1,bordered:i=!1}){let a=r?`max-content max-content max-content`:`auto minmax(0, 1fr) max-content`,o=r?14:12;return i?(0,T.jsxs)(`div`,{style:{minWidth:0},children:[(0,T.jsx)(`div`,{style:A7,children:e}),(0,T.jsx)(`table`,{style:{borderCollapse:`collapse`,border:`1px solid var(--border)`,borderRadius:6,background:`var(--bg)`,width:`fit-content`,maxWidth:`100%`},children:(0,T.jsx)(`tbody`,{children:t.map(([t,n,r])=>(0,T.jsxs)(`tr`,{style:{borderBottom:`1px solid var(--border)`},children:[(0,T.jsx)(`td`,{style:{padding:`5px 10px`,color:`var(--text-dim)`,whiteSpace:`nowrap`,borderRight:`1px solid var(--border)`},children:r?.title?(0,T.jsx)(F,{label:r.title,children:(0,T.jsx)(`span`,{children:t})}):t}),(0,T.jsxs)(`td`,{style:{padding:`5px 12px`,color:`var(--text-muted)`,textAlign:`right`,whiteSpace:`nowrap`},children:[n,r?.badge&&(0,T.jsx)(F,{label:`${r.badgeTitle??``}${r.badgeTitle?` · `:``}${r.badge}`,children:(0,T.jsx)(`span`,{style:{marginLeft:8,padding:`0 5px`,...j7},children:r.badge})})]})]},`${e}:${t}`))})})]}):(0,T.jsxs)(`div`,{style:{minWidth:0},children:[(0,T.jsx)(`div`,{style:A7,children:e}),(0,T.jsx)(`div`,{style:{display:`grid`,gridTemplateColumns:a,columnGap:o,rowGap:4,justifyContent:r?`start`:void 0},children:t.map(([t,i,a])=>(0,T.jsxs)(`div`,{style:{display:`contents`},children:[(0,T.jsx)(F,{label:a?.title,wrapperStyle:{display:`flex`,color:`var(--text-dim)`,whiteSpace:`nowrap`},children:(0,T.jsx)(`div`,{style:{color:`var(--text-dim)`,whiteSpace:`nowrap`},children:t})}),(0,T.jsx)(`div`,{style:{color:`var(--text-muted)`,minWidth:0,overflowWrap:r?`normal`:`anywhere`,textAlign:n,whiteSpace:n===`right`?`nowrap`:`normal`},children:i}),(0,T.jsx)(`div`,{style:{display:`flex`,alignItems:`center`,justifyContent:`flex-end`,minWidth:0},children:a?.badge&&(0,T.jsx)(F,{label:`${a.badgeTitle??``}${a.badgeTitle?` · `:``}${a.badge}`,children:(0,T.jsx)(`span`,{style:{padding:`0 5px`,...j7},children:a.badge})})})]},`${e}:${t}`))})]})}function Tle({field:e,value:t,copied:n,onCopy:r,t:i}){return(0,T.jsx)(F,{label:i(n?`session.copied`:e===`file`?`session.copyFile`:`session.copyId`),children:(0,T.jsx)(`button`,{type:`button`,onClick:()=>r(e,t),style:{alignSelf:`start`,display:`inline-flex`,alignItems:`center`,justifyContent:`center`,width:22,height:22,marginTop:-2,color:n?`var(--accent)`:`var(--text-dim)`,border:`1px solid var(--border)`,borderRadius:4,cursor:`pointer`,flex:`0 0 auto`,transition:`color 0.12s, border-color 0.12s`,"--hover-color":`var(--accent)`,"--hover-border":`var(--accent)`},className:`hover-shift`,children:n?(0,T.jsx)(`svg`,{width:I.base,height:I.base,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`,"aria-hidden":`true`,children:(0,T.jsx)(`polyline`,{points:`20 6 9 17 4 12`})}):(0,T.jsxs)(`svg`,{width:I.base,height:I.base,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`,"aria-hidden":`true`,children:[(0,T.jsx)(`rect`,{x:`9`,y:`9`,width:I.lg,height:I.lg,rx:`2`,ry:`2`}),(0,T.jsx)(`path`,{d:`M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1`})]})})})}function Ele({sessionStats:e,displayContextUsage:t,isMobile:n,locale:r,t:i,copiedSessionField:a,onCopySessionField:o,onMouseEnter:s,onMouseLeave:c}){return e?(0,T.jsxs)(`div`,{onMouseEnter:s,onMouseLeave:c,style:Dle,children:[(0,T.jsx)(kle,{sessionStats:e,locale:r,t:i,copiedSessionField:a,onCopySessionField:o}),(0,T.jsx)(M7,{title:i(`session.messages`),rows:Ale(e,r,i),bordered:!0}),(0,T.jsx)(M7,{title:i(`session.tokens`),rows:jle(e,t,r,i),valueAlign:`right`,compact:!0,bordered:!0})]}):(0,T.jsx)(`div`,{onMouseEnter:s,onMouseLeave:c,style:{...Ole},children:(0,T.jsx)(`div`,{style:{fontSize:`var(--text-base)`,color:`var(--text-muted)`,fontStyle:`italic`},children:i(`session.load`)})})}var Dle={position:`absolute`,top:`100%`,left:0,right:0,zIndex:1500,background:`var(--bg)`,borderBottom:`1px solid var(--border)`,boxShadow:`0 10px 28px var(--shadow-color)`,maxHeight:`calc(100dvh - 80px)`,overflowY:`auto`,display:`flex`,flexDirection:`column`,gap:16,padding:`12px 16px`,fontSize:`var(--text-base)`,lineHeight:1.5,fontFamily:`var(--font-mono)`},Ole={padding:`12px 16px`,...A7};function kle({sessionStats:e,locale:t,t:n,copiedSessionField:r,onCopySessionField:i}){let a=[...e.sessionName?[{label:n(`session.name`),value:e.sessionName,copyField:null}]:[],{label:n(`session.file`),value:e.sessionFile??n(`session.inMemory`),copyField:`file`},{label:n(`session.id`),value:e.sessionId,copyField:`id`}];return(0,T.jsxs)(`div`,{style:{minWidth:0},children:[(0,T.jsx)(`div`,{style:A7,children:n(`session.infoSection`)}),(0,T.jsx)(`div`,{style:{display:`grid`,gridTemplateColumns:`auto minmax(0, 1fr) auto`,columnGap:12,rowGap:8,alignItems:`start`},children:a.map(e=>(0,T.jsxs)(`div`,{style:{display:`contents`},children:[(0,T.jsx)(`div`,{style:{color:`var(--text-dim)`,whiteSpace:`nowrap`},children:e.label}),(0,T.jsx)(`div`,{style:{color:`var(--text-muted)`,minWidth:0,overflowWrap:`anywhere`,wordBreak:`break-word`,whiteSpace:`normal`},children:e.value}),(0,T.jsx)(`div`,{children:e.copyField?(0,T.jsx)(Tle,{field:e.copyField,value:e.value,copied:r===e.copyField,onCopy:i,t:n}):null})]},`session-info:${e.label}`))})]})}function Ale(e,t,n){return[[n(`session.user`),e.userMessages.toLocaleString(t)],[n(`session.assistant`),e.assistantMessages.toLocaleString(t)],[n(`session.toolCalls`),e.toolCalls.toLocaleString(t)],[n(`session.toolResults`),e.toolResults.toLocaleString(t)],[n(`session.total`),e.totalMessages.toLocaleString(t)]]}function jle(e,t,n,r){let i=e.tokens.input+e.tokens.cacheRead+e.tokens.cacheWrite,a=e=>`${e.toFixed(1)}%`,o=[[r(`session.input`),e.tokens.input.toLocaleString(n),{title:r(`session.inputHint`)}],[r(`session.output`),e.tokens.output.toLocaleString(n),{title:r(`session.outputHint`)}]];e.tokens.cacheRead>0&&o.push([r(`session.cacheRead`),e.tokens.cacheRead.toLocaleString(n),{title:r(`session.cacheReadHint`),badge:i>0?a(e.tokens.cacheRead/i*100):void 0,badgeTitle:r(`session.cacheReadRate`)}]),e.tokens.cacheWrite>0&&o.push([r(`session.cacheWrite`),e.tokens.cacheWrite.toLocaleString(n),{title:r(`session.cacheWriteHint`)}]),o.push([r(`session.total`),e.tokens.total.toLocaleString(n),{title:r(`session.totalHint`)}]);let s=t??e.contextUsage;return e.cost>0&&o.push([r(`session.cost`),`$${e.cost.toFixed(4)}`]),s?.contextWindow&&o.push([r(`session.context`),`${s.percent===null?`?`:`${s.percent.toFixed(1)}%`} / ${(e=>e>=1e6?`${(e/1e6).toFixed(1)}M`:e>=1e3?`${(e/1e3).toFixed(0)}k`:String(e))(s.contextWindow)}`]),o}function Mle({session:e,onViewFullHistory:t,t:n}){return(0,T.jsx)(F,{label:n(e?`history.full`:`history.unsaved`),children:(0,T.jsx)(`button`,{onClick:t,disabled:!e,"aria-label":n(`history.full`),style:{...O7,color:e?`var(--text-muted)`:`var(--text-dim)`,cursor:e?`pointer`:`not-allowed`,opacity:e?1:.45},className:e?`hover-shift`:void 0,children:(0,T.jsx)(Zr,{size:I.base,style:k7})})})}function Nle({chatToolbarRef:e,systemBtnRef:t,session:n,sessionStats:r,displayContextUsage:i,activeTopPanel:a,toggleTopPanel:o,systemPrompt:s,copiedSessionField:c,toolbarExtra:l,handleViewFullHistory:u,handleCopySessionField:f,handleBuiltinSlashCommand:p,onOpenBranches:m,handleSearchJump:h,scheduleCloseTopPanel:g,cancelCloseTopPanel:_,commandBusy:v,messages:y,isMobile:b,locale:x,t:S,onReloadFromDisk:C,soundEnabled:w,onSoundToggle:E,isStreaming:D,mobilePinnedCount:O=1}){let[k,A]=(0,d.useState)(!1),j=[];E!==void 0&&j.push((0,T.jsx)(F,{label:S(w?`chat.disableSound`:`chat.enableSound`),children:(0,T.jsx)(`button`,{type:`button`,"data-testid":`chat-toolbar-sound`,onClick:E,"aria-label":S(w?`chat.disableSound`:`chat.enableSound`),style:{...O7,background:`transparent`,borderColor:w?`color-mix(in srgb, var(--accent) 45%, transparent)`:`transparent`,cursor:`pointer`,color:w?`var(--accent)`:`var(--text-dim)`,opacity:w?1:.55,"--hover-color":`var(--text)`},className:`hover-shift`,children:w?(0,T.jsx)(Oi,{size:I.base,style:k7}):(0,T.jsx)(ki,{size:I.base,style:k7})})},`sound`)),j.push((0,T.jsx)(Mle,{session:n,onViewFullHistory:u,t:S},`history`),(0,T.jsx)(F,{label:S(`i18n.branches`),children:(0,T.jsx)(`button`,{type:`button`,onClick:m,"aria-label":S(`i18n.branches`),style:O7,className:`hover-shift`,children:(0,T.jsx)(_i,{width:I.base,height:I.base,"aria-hidden":`true`})})},`branches`),(0,T.jsx)(F,{label:(0,T.jsxs)(`span`,{style:{display:`flex`,flexDirection:`column`,gap:4},children:[(0,T.jsx)(`span`,{children:S(`system.prompt`)}),(0,T.jsx)(`span`,{style:{opacity:.85,fontSize:`0.85em`,whiteSpace:`normal`,maxWidth:260},children:S(`system.promptHint`)})]}),children:(0,T.jsx)(`button`,{ref:t,onClick:()=>o(`system`),"aria-label":S(`system.prompt`),"aria-pressed":a===`system`,style:{...O7,background:a===`system`?`var(--bg-selected)`:`transparent`,borderColor:a===`system`?`var(--accent)`:`transparent`,cursor:`pointer`,color:a===`system`?`var(--text)`:`var(--text-muted)`,"--hover-color":`var(--text)`},className:`hover-shift`,children:(0,T.jsx)(Ir,{size:I.base,style:k7})})},`system`),(0,T.jsx)(F,{label:S(`session.reload`),children:(0,T.jsx)(`button`,{type:`button`,"data-testid":`chat-toolbar-reload`,onClick:()=>void p(`/reload`),"aria-label":S(`session.reload`),style:{...O7,background:`transparent`,borderColor:`transparent`,cursor:`pointer`,color:`var(--text-muted)`,"--hover-color":`var(--text)`},className:`hover-shift`,children:v?(0,T.jsx)(Qr,{className:`animate-spin`,size:I.base,style:k7}):(0,T.jsx)(ui,{size:I.base,style:k7})})},`reload`)),C&&j.push((0,T.jsx)(F,{label:(0,T.jsxs)(`span`,{style:{display:`flex`,flexDirection:`column`,gap:4},children:[(0,T.jsx)(`span`,{children:S(`chat.reloadFromDisk`)}),(0,T.jsx)(`span`,{style:{opacity:.85,fontSize:`0.85em`,whiteSpace:`normal`,maxWidth:260},children:S(`chat.reloadFromDiskHint`)})]}),children:(0,T.jsx)(`button`,{type:`button`,"data-testid":`chat-toolbar-reload-disk`,onClick:()=>!D&&C(),disabled:D,"aria-label":S(`chat.reloadFromDisk`),style:{...O7,background:`transparent`,borderColor:`transparent`,cursor:D?`not-allowed`:`pointer`,opacity:D?.5:1,"--hover-color":`var(--text)`},className:D?void 0:`hover-shift`,children:(0,T.jsx)(Hr,{size:I.base,style:k7})})},`reloadDisk`)),n&&j.push((0,T.jsx)(F,{label:(0,T.jsxs)(`span`,{style:{display:`flex`,flexDirection:`column`,gap:4},children:[(0,T.jsx)(`span`,{children:S(`chat.exportSession`)}),(0,T.jsx)(`span`,{style:{opacity:.85,fontSize:`0.85em`,whiteSpace:`normal`,maxWidth:260},children:S(`chat.exportSessionHint`)})]}),children:(0,T.jsx)(`button`,{type:`button`,"data-testid":`chat-toolbar-export`,"aria-label":S(`chat.exportSession`),onClick:()=>{window.location.href=`/api/sessions/${encodeURIComponent(n.id)}/export`},style:{...O7,background:`transparent`,borderColor:`transparent`,cursor:`pointer`,"--hover-color":`var(--text)`},className:`hover-shift`,children:(0,T.jsx)(Or,{size:I.base,style:k7})})},`export`));let M=b?Math.max(0,O):j.length,N=j.slice(0,M),ee=j.slice(M);return(0,T.jsxs)(`div`,{ref:e,"data-testid":`chat-toolbar`,style:wle,children:[N,ee.length>0&&(0,T.jsxs)(T.Fragment,{children:[(0,T.jsx)(F,{label:k?void 0:S(`chat.moreControls`),children:(0,T.jsx)(`button`,{type:`button`,"data-testid":`chat-toolbar-more`,onClick:()=>A(e=>!e),"aria-label":S(`chat.moreControls`),"aria-expanded":k,style:{...O7,background:k?`var(--bg-selected)`:`transparent`,borderColor:k?`var(--accent)`:`transparent`,color:k?`var(--text)`:`var(--text-muted)`,"--hover-color":`var(--text)`},className:`hover-shift`,children:(0,T.jsx)(kr,{size:I.base,style:k7})})}),k&&(0,T.jsx)(`div`,{style:{...D7,display:`flex`,flexWrap:`wrap`,alignItems:`center`,gap:6,padding:10},onClickCapture:()=>A(!1),children:ee})]}),(0,T.jsx)(`div`,{style:{marginLeft:8,display:`flex`,alignItems:`center`,flex:1,minWidth:0},children:(0,T.jsx)(vle,{messages:y,t:S,onJump:h})}),r||i?(0,T.jsx)(Cle,{sessionStats:r,contextUsage:i,activeTopPanel:a,toggleTopPanel:o,isMobile:b,t:S,locale:x}):null,l,a===`system`&&(0,T.jsx)(`div`,{onMouseEnter:_,onMouseLeave:g,style:D7,children:s?(0,T.jsx)(`div`,{style:{padding:`12px 16px`,color:`var(--text-muted)`,fontSize:`var(--text-base)`,lineHeight:1.6,whiteSpace:`pre-wrap`,fontFamily:`var(--font-mono)`},children:s}):s===``?(0,T.jsx)(`div`,{style:m7,children:S(`system.empty`)}):(0,T.jsx)(`div`,{style:m7,children:S(`system.load`)})}),a===`session`&&(0,T.jsx)(Ele,{sessionStats:r,displayContextUsage:i,isMobile:b,locale:x,t:S,copiedSessionField:c,onCopySessionField:f,onMouseEnter:_,onMouseLeave:g})]})}function Ple({sessionIdForCache:e,scrollContainerRef:t,resetItemObservers:n,onResetCache:r,messageRefs:i,lastUserMsgRef:a}){(0,d.useEffect)(()=>{if(r(),n(),i.current=[],a.current=null,t.current){t.current.scrollTop=0;let e=t.current.firstElementChild;if(e&&e.children.length===1){let t=e.firstElementChild;t?.style.height&&(t.style.height=`0px`)}}},[e])}function Fle({extensionDialog:e,soundedIdRef:t,playRef:n}){(0,d.useEffect)(()=>{e&&t.current!==e.id&&(t.current=e.id,Te(`ui-chain`,`4b ExtensionDialog mounted, play sound`,`${e.method} id=${e.id.slice(0,8)} title=${JSON.stringify(e.title)}`),n.current?.())},[e,t,n])}function Ile({startScreenMessages:e,aiIdle:t,isPinnedToBottom:n,scrollContainerRef:r}){(0,d.useLayoutEffect)(()=>{if(!e.length||!t||!n())return;let i=r.current;i&&(i.scrollTop=i.scrollHeight)},[e.length,t,r,n])}function Lle({notifyPermission:e,newSessionCwd:t,startScreenMessages:n,handleQuickMessageSend:r,fillChatInput:i,notices:a,onDismissNotice:o,chatInputElement:s,t:c}){return(0,T.jsx)(`div`,{className:`relative flex flex-1 flex-col items-center justify-center overflow-y-auto px-4 py-8`,children:(0,T.jsxs)(`div`,{className:`w-full max-w-[820px]`,children:[(0,T.jsxs)(`div`,{className:`mb-3`,style:{textAlign:`center`,padding:`40px 0`},children:[e==="default"?(0,T.jsxs)(`div`,{style:{marginBottom:20,fontSize:`var(--text-sm)`,color:`var(--text-muted)`,lineHeight:1.6},children:[c(`notify.permission.bannerHintBefore`),` `,(0,T.jsxs)(`svg`,{width:16,height:16,viewBox:`0 0 24 24`,fill:`none`,stroke:`var(--accent)`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`,style:{display:`inline-block`,verticalAlign:-2},children:[(0,T.jsx)(`path`,{d:`M6 8a6 6 0 0 1 12 0c0 7 3 9 3 9H3s3-2 3-9`}),(0,T.jsx)(`path`,{d:`M10.3 21a1.94 1.94 0 0 0 3.4 0`})]}),` `,c(`notify.permission.bannerHintAfter`)]}):null,(0,T.jsx)(`div`,{style:{fontSize:`var(--text-6xl)`,fontWeight:700,fontStyle:`italic`,color:`var(--accent)`},children:`Pi Web`}),t?(0,T.jsx)(`div`,{style:{marginTop:6,fontSize:`var(--text-3xl)`,color:`var(--text-muted)`,fontFamily:`var(--font-mono)`},children:t}):null]}),n.length>0&&(0,T.jsx)(`div`,{style:{marginBottom:28},children:(0,T.jsx)(H5,{messages:n,onSend:r,onFillInput:i,testIdPrefix:`start-screen-msg`,wrapperTestId:`start-screen-messages`,center:!0})}),(0,T.jsx)(`div`,{style:{position:`absolute`,top:12,left:0,right:0,zIndex:40,padding:`0 16px`,pointerEvents:`none`},children:(0,T.jsx)(`div`,{style:{maxWidth:820,margin:`0 auto`},children:(0,T.jsx)(b7,{notices:a,onDismiss:o,floating:!0,align:`right`})})}),s]})})}function Rle(e){for(let t=e.length-1;t>=0;t--){let n=e[t];if(!(n.role!==`assistant`||!n.timestamp)){for(let r=t-1;r>=0;r--){let t=e[r];if(t.role===`user`&&t.timestamp){let e=Math.round((n.timestamp-t.timestamp)/1e3);return e>0?e:void 0}}return}}}var zle={running_tools:`🔧`,running_command:`💻`,thinking:`💡`,retrying:`⚠️`};function Ble(e){let t=e.elapsed??``,n=e.agentPhase?.kind;return n?n===`waiting_model`?`⏳ ${t}`.trimEnd():`${zle[n]??`⏳`} ${t}`.trimEnd():`💬 ${t}`.trimEnd()}function N7(e){let{extensionDialogOpen:t,sessionBusy:n,messages:r,elapsed:i,agentPhase:a}=e;if(t)return`❓`;if(n)return Ble({agentPhase:a,elapsed:i});let o=Rle(r);return o===void 0?null:`✅ ${gX(o)}`}function Vle({sessionBusy:e,extensionDialogOpen:t,agentPhase:n,messages:r,windowTitleBase:i,phaseElapsed:a,phaseSinceMs:o}){let s=(0,d.useRef)(``);(0,d.useEffect)(()=>{let o=()=>{if(document.hasFocus()||document.hidden&&e)return;let o=N7({extensionDialogOpen:t,sessionBusy:e,agentPhase:n,messages:r,elapsed:a});if(o===null)return;let c=i?`${o} · ${i}`:o;c!==s.current&&(s.current=c,UW(c))};o();let c=()=>{document.visibilityState===`hidden`&&o()};return document.addEventListener(`visibilitychange`,c),window.addEventListener(`blur`,o),()=>{document.removeEventListener(`visibilitychange`,c),window.removeEventListener(`blur`,o)}},[n,a,r,e,i,t]),(0,d.useEffect)(()=>{if(!e&&!t)return;let c=null,l=null,u=()=>{try{c=new Worker(URL.createObjectURL(new Blob([`let id=null;onmessage=(e)=>{if(e.data==='start'&&!id)id=setInterval(()=>postMessage(0),1000);if(e.data==='stop'&&id){clearInterval(id);id=null;}};`],{type:`text/javascript`}))),c.onmessage=()=>f(),c.postMessage(`start`)}catch{l=setInterval(f,1e3)}},d=()=>{c?.postMessage(`stop`),c?.terminate(),c=null,l!==null&&(clearInterval(l),l=null)},f=()=>{if(!document.hidden||document.hasFocus())return;let c=N7({extensionDialogOpen:t,sessionBusy:e,agentPhase:n,messages:r,elapsed:o===void 0?a:gX((Date.now()-o)/1e3)});if(c===null)return;let l=i?`${c} · ${i}`:c;l!==s.current&&(s.current=l,UW(l))};return u(),document.addEventListener(`visibilitychange`,f),()=>{d(),document.removeEventListener(`visibilitychange`,f)}},[e,t,n,r,i,a,o])}function Hle({sessionBusy:e,handleSteer:t,handlePromptWithStreamingBehavior:n,handleSend:r,handleBuiltinSlashCommand:i,toggleTopPanel:a}){let o=(0,d.useCallback)(async e=>{let t=await i(e);return t.handled&&t.action===`openSessionStats`&&a(`session`),t},[i,a]);return{handleQuickMessageSend:(0,d.useCallback)(async i=>{if(e){i.startsWith(`/`)?await n(i,`steer`):await t(i);return}i.startsWith(`/`)&&(await o(i)).handled||await r(i)},[e,t,n,r,o]),wrappedHandleBuiltinSlashCommand:o}}function Ule({playDoneSound:e,soundEnabled:t,onAgentEnd:n}){let r=(0,d.useRef)(e);(0,d.useEffect)(()=>{r.current=e});let i=(0,d.useRef)(t);(0,d.useEffect)(()=>{i.current=t});let a=(0,d.useRef)(null);return{wrappedOnAgentEnd:(0,d.useCallback)(()=>{i.current&&r.current(),n?.()},[n]),soundedExtensionDialogIdRef:a,playDoneSoundRef:r}}function Wle({scrollContainerRef:e}){let t=(0,d.useRef)(new Map),n=(0,d.useRef)(new Map),r=(0,d.useRef)(null),[i,a]=(0,d.useState)(!0),o=(0,d.useRef)(!0),s=(0,d.useRef)(!0),c=(0,d.useRef)(!1),l=(0,d.useCallback)(()=>{c.current=!0},[]),u=(0,d.useCallback)(()=>{c.current=!1},[]),f=(0,d.useRef)(0),p=(0,d.useCallback)(t=>{let n=e.current;n&&(n.scrollTop=t)},[e]),m=(0,d.useCallback)(()=>{let t=e.current;t&&(t.scrollTop=t.scrollHeight),o.current=!0,s.current=!0,a(!0)},[e]),h=(0,d.useCallback)(()=>{let t=e.current;if(!t)return;let n=t.scrollHeight-t.scrollTop-t.clientHeight;if(s.current&&!c.current&&n>0&&t.scrollHeight!==f.current){f.current=t.scrollHeight,t.scrollTop=t.scrollHeight;return}s.current=n<=1,n<16?(o.current=!0,a(!0)):n>64&&(o.current=!1,a(!1)),f.current=t.scrollHeight},[e]),g=(0,d.useRef)(new Map),_=(0,d.useCallback)((r,i)=>{g.current.set(r,i);let a=n.current.get(r);return a||(a=n=>{if(g.current.get(r)?.(n),!n){t.current.get(r)?.disconnect(),t.current.delete(r),g.current.delete(r);return}let i=t.current.get(r);i?i.disconnect():(i=new ResizeObserver(()=>{document.hidden||s.current&&!c.current&&requestAnimationFrame(()=>{if(document.hidden)return;let t=e.current;t&&s.current&&!c.current&&(t.scrollTop=t.scrollHeight)})}),t.current.set(r,i)),i.observe(n)},n.current.set(r,a)),a},[e]),v=(0,d.useCallback)(()=>{t.current.forEach(e=>e.disconnect()),t.current.clear(),n.current.clear(),g.current.clear()},[]);return(0,d.useEffect)(()=>()=>v(),[v]),(0,d.useEffect)(()=>{let t=e.current;if(!t)return;let n=new ResizeObserver(()=>{document.hidden||s.current&&!c.current&&requestAnimationFrame(()=>{if(document.hidden)return;let t=e.current;t&&s.current&&!c.current&&(t.scrollTop=t.scrollHeight)})});return n.observe(t),()=>n.disconnect()},[e]),{nearBottom:i,virtualizerRef:r,scrollToBottom:m,handleListScroll:h,handleWindowJumpTo:p,itemRef:_,resetItemObservers:v,isPinnedToBottom:(0,d.useCallback)(()=>s.current&&!c.current,[]),lockBottomPin:l,unlockBottomPin:u}}function Gle({autoReloadSeconds:e,activeLeafId:t,loadContext:n,sessionIdRef:r,extensionDialog:i,onExtensionDialogChange:a,sessionBusy:o,handleAbort:s}){let c=(0,d.useCallback)(()=>{let e=r.current;e&&n(e,t,!0)},[t,n,r]);return(0,d.useEffect)(()=>{if(!e||e<=0)return;let i=setInterval(()=>{let e=r.current;e&&n(e,t,!0)},e*1e3);return()=>clearInterval(i)},[e,t,n,r]),(0,d.useEffect)(()=>{a?.(i!==null)},[i,a]),(0,d.useEffect)(()=>{QK()},[]),(0,d.useEffect)(()=>{gt(o?s:null)},[o,s]),{handleReloadFromDisk:c}}function Kle({session:e,onOpenTrajectory:t}){let[n,r]=(0,d.useState)(null),i=Ty(),a=(0,d.useRef)(null),o=(0,d.useRef)(null),{activeTopPanel:s,toggleTopPanel:c,closeTopPanel:l}=LW(),u=Ty(),f=(0,d.useCallback)(()=>{u.schedule(()=>{l()},150)},[u,l]),p=u.cancel;(0,d.useEffect)(()=>{r(null)},[e?.id]);let m=(0,d.useCallback)(()=>{e&&t?.()},[e,t]);return{activeTopPanel:s,cancelCloseTopPanel:p,chatToolbarRef:a,closeTopPanel:l,copiedSessionField:n,handleCopySessionField:(0,d.useCallback)((e,t)=>{Z6(t).then(()=>{i.cancel(),r(e),i.schedule(()=>r(null),1400)})},[i]),handleViewFullHistory:m,scheduleCloseTopPanel:f,systemBtnRef:o,toggleTopPanel:c}}function qle(e){if(typeof e!=`string`||!e)return!1;let t=e.toLowerCase();return t===`write`||t.startsWith(`write_`)||t.endsWith(`.write`)||t.endsWith(`_write`)}function Jle(e){let t=`path`in e?e.path:`file_path`in e?e.file_path:void 0;return typeof t==`string`&&t.trim().length>0?t:null}function P7(e){let t=[],n=[];for(let r of e.split(/\r?\n/))r.startsWith(`+`)&&!r.startsWith(`+++`)?t.push(r.slice(1)):r.startsWith(`-`)&&!r.startsWith(`---`)&&n.push(r.slice(1));return[t,n]}function F7(e,t){if(e.length!==t.length)return!1;let n=[...e].sort(),r=[...t].sort();return n.every((e,t)=>e===r[t])}function Yle(e,t){let[n,r]=P7(e),[i,a]=P7(t);return n.length+r.length===0||i.length+a.length===0?!1:F7(n,a)&&F7(r,i)}function Xle(e,t,n){let r=new Map;for(let i=t;i<n;i++){let t=e[i];if(t.role!==`toolResult`)continue;let n=t.details;if(!n||typeof n!=`object`)continue;let a=n,o=typeof a.patch==`string`&&a.patch?a.patch:typeof a.diff==`string`&&a.diff?a.diff:null;o&&r.set(t.toolCallId,o)}let i=new Map;for(let a=t;a<n;a++){let t=e[a];if(t.role===`assistant`)for(let e of t.content){if(e.type!==`toolCall`||!(b5(e.toolName)||qle(e.toolName)))continue;let t=Jle(e.input);if(!t)continue;let n=r.get(e.toolCallId),a={toolName:e.toolName,...n?{stats:_5(n),patchText:n}:{}},o=i.get(t)??[],s=o[o.length-1];s?.patchText&&n&&Yle(s.patchText,n)?o.pop():o.push(a),i.set(t,o)}}return[...i.entries()].filter(([,e])=>e.length>0).map(([e,t])=>{let n=t[t.length-1];return{path:e,toolName:n.toolName,...n.stats?{stats:n.stats}:{}}})}function I7(e){return e.role===`user`?96:e.role===`assistant`?260:120}function Zle(e){return e.role===`assistant`&&C$(e).answerBlocks.some(e=>e.type===`image`||e.type===`text`&&e.text.trim().length>0)}function Qle(e,t,n){for(let r=n-1;r>t;r--)if(Zle(e[r]))return r;for(let r=n-1;r>t;r--)if(e[r]?.role===`assistant`)return r;return-1}function $le(e,t){let n=0;for(let r of t){let t=e[r];t?.role===`assistant`&&(n+=w$(b$(t)))}return n}function eue(e){return e.role===`assistant`?b$(e).length>0:e.role===`custom`}function L7(e){return e.role===`user`||e.role===`custom`&&e.customType===`compaction`}function R7(e,t,n={}){let r={...e,content:t};return n.omitUsage&&(r.usage=void 0),n.suppressAbortBanner&&(r.suppressAbortBanner=!0),r}function tue({finalAssistantIdx:e}){return e===-1}function nue(e,t){let{messages:n,userIdx:r,endIdx:i,finalAssistantIdx:a,pushMessage:o}=t;o(r);let s=[];for(let e=r+1;e<a;e++)s.push(e);let c=s.filter(e=>eue(n[e])),l=n[a],u=C$(l),d=u.processBlocks.length>0?R7(l,u.processBlocks,{omitUsage:!0,suppressAbortBanner:!0}):null,f=u.answerBlocks.length>0||x$(l)||l.stopReason===`aborted`?R7(l,u.answerBlocks):null,p=c.length+ +!!d;p>0&&(c.forEach((e,t)=>{o(e,{isProcess:!0,attachRef:t===0&&void 0,groupLast:!d&&t===c.length-1})}),d&&o(a,{isProcessFinal:!0,attachRef:!1,messageOverride:d,showTimestamp:!1,groupLast:!0})),f&&e.push({key:`message-${a}-answer`,kind:`message`,msgIdx:a,estimate:I7(n[a]),messageOverride:f,isAnswer:!0,showTimestamp:!1});let m=Xle(n,r,i),h=n.slice(r+1,a+1).filter(e=>e?.role===`assistant`).flatMap(e=>e.content).filter(e=>e?.type===`text`&&e.text.trim().length>0).map(e=>e.text),g=h.length>0?h.join(`
|
|
503
503
|
|
|
504
504
|
---
|
|
505
505
|
|
|
506
|
-
`):void 0;e.push({key:`group-header-${r}`,kind:`groupHeader`,groupUserIdx:r,finalAssistantIdx:a,messageCount:p+ +!!f,toolCallCount:Zle(n,c)+w$(u.processBlocks),artifacts:m.length>0?m:void 0,answerPreview:g,estimate:40});for(let e=a+1;e<i;e++)o(e)}function tue(e,t){let{userIdx:n,endIdx:r,pushMessage:i}=t;i(n),e.push({key:`group-header-${n}`,kind:`groupHeader`,groupUserIdx:n,finalAssistantIdx:n,messageCount:0,toolCallCount:0,estimate:40});for(let e=n+1;e<r;e++)i(e)}function nue(e,t){let n=[],{isLiveTail:r}=t,i=(t,r={})=>{n.push({key:`message-${t}`,kind:`message`,msgIdx:t,estimate:I7(e[t]),...r})};for(let t=0;t<e.length;){let a=e[t];if(!L7(a)){i(t),t+=1;continue}let o=t,s=o+1;for(;s<e.length&&!L7(e[s]);)s+=1;let c=Xle(e,o,s),l=r&&s>=e.length&&c===-1;if($le({finalAssistantIdx:c})&&!l){for(let e=o;e<s;e++)i(e);t=s;continue}if(c===-1){tue(n,{userIdx:o,endIdx:s,pushMessage:i}),t=s;continue}eue(n,{messages:e,userIdx:o,endIdx:s,finalAssistantIdx:c,pushMessage:i}),t=s}return n}function rue(e){let t=new Map;return e.forEach((e,n)=>{e.kind===`message`&&t.set(e.msgIdx,n)}),t}function iue({messages:e,sessionBusy:t,isStreaming:n,collapsedTurnKeys:r,turnKeyByMsgIdx:i,virtualizerRef:a,scrollContainerRef:o,canMountList:s,setCanMountList:c,initialSizesRef:l}){let u=(0,d.useMemo)(()=>{for(let t=e.length-1;t>=0;t--)if(L7(e[t]))return t;return-1},[e]),f=(0,d.useMemo)(()=>{let t=new Map,n=0;return e.forEach((e,r)=>{(e.role===`user`||e.role===`assistant`)&&t.set(r,n++)}),t},[e]),p=(0,d.useMemo)(()=>nue(e,{isLiveTail:(t||n)&&u>=0,lastAnchorIdx:u}),[e,t,n,u]),m=[];for(let t of p){let n=t.kind===`groupHeader`?t.groupUserIdx:t.kind===`message`?t.msgIdx:void 0;if(!(n!==void 0&&r.has(i.get(n)??``))){m.push(t);continue}(t.kind===`message`&&e[t.msgIdx]?.role===`user`||t.kind===`groupHeader`)&&m.push(t)}let h=(0,d.useMemo)(()=>rue(m),[p,r]),g=(0,d.useMemo)(()=>m.map(e=>e.key),[p,r]),_=(0,d.useCallback)(e=>{let t=h.get(e);if(t===void 0)return null;let n=a.current;return n?n.getItemOffset(t):null},[h,a]),v=s&&l.current?[l.current,200]:void 0;(0,d.useLayoutEffect)(()=>{s||p.length!==0&&o.current&&(l.current=p.map(e=>e.estimate),c(!0))},[s,p,o,c,l]);let[y,b]=(0,d.useState)(null),x=(0,d.useRef)(null),S=(0,d.useRef)(null),C=(0,d.useCallback)(e=>{let t=h.get(e),n=a.current,r=o.current;if(t===void 0||!n)return!1;let i=n.getItemOffset(t),s=r!==null&&Number.isFinite(i)?Math.abs(i-r.scrollTop)>r.clientHeight*3:!1;return n.scrollToIndex(t,{align:`start`,offset:-24,smooth:!s}),!0},[h,o,a]),w=(0,d.useCallback)(e=>{let t=h.get(e);if(t===void 0||!C(e))return!1;let n=g[t];return b(n),x.current&&clearTimeout(x.current),x.current=setTimeout(()=>{x.current=null,b(e=>e===n?null:e)},1700),!0},[g,h,C]),T=(0,d.useCallback)(e=>{if(w(e))return;let t=i.get(e);t&&(S.current={msgIdx:e,tries:0},QX(t,!0))},[w,i]);return(0,d.useLayoutEffect)(()=>{let e=S.current;e&&(w(e.msgIdx)||++e.tries>3)&&(S.current=null)},[w]),{rows:p,displayRows:m,visibleRefIndexByMessage:f,initialCache:v,resolveMessageOffset:_,scrollToMessageIndex:C,handleSearchJump:T,flashKey:y}}function aue(e){return e.replace(/[\r\n\t]/g,` `).replace(/ +/g,` `).trim()}function oue(e){return[...e].sort((e,t)=>e.key.localeCompare(t.key)).map(({text:e})=>aue(e)).join(` `)}var z7={background:`linear-gradient(90deg, var(--accent) 0%, var(--accent) 47%, var(--shine-highlight) 53%, var(--shine-highlight) 100%)`,backgroundSize:`200% 100%`,WebkitBackgroundClip:`text`,backgroundClip:`text`,color:`transparent`,animation:`pi-status-shine 1.5s linear infinite`},B7={animation:`pi-status-icon-pulse 1.5s ease-in-out infinite`},V7={maxWidth:`11ch`,textAlign:`right`,whiteSpace:`nowrap`,overflow:`hidden`,fontVariantNumeric:`tabular-nums`},sue={display:`flex`,flexShrink:0,maxWidth:`11ch`};function cue(e,t){if(e?.kind===`running_tools`){let n=e.tools.map(e=>e.name);if(n.length===0)return{text:t(`chat.runningTool`)};let r=n[n.length-1];if(n.length===1)return{text:t(`chat.runningNamedTool`,{name:r}),tooltip:t(`chat.runningNamedTool`,{name:r})};let i=n.length,a=t(`chat.runningToolsFull`,{names:i<=3?n.join(`,`):`${n.slice(0,3).join(`,`)}...`,count:i});return{text:t(`chat.runningNamedTool`,{name:r}),count:i,tooltip:a}}return e?.kind===`thinking`?{text:t(`chat.thinking`)}:e?.kind===`waiting_model`?{text:t(`chat.waitingModel`)}:e?.kind===`running_command`?{text:t(`chat.runningCommand`)}:e?.kind===`retrying`?{text:t(`chat.retrying`,{attempt:e.attempt,max:e.maxAttempts})}:null}function H7(e){return e?.kind===`running_tools`?(0,T.jsx)(Ai,{size:I.lg}):e?.kind===`running_command`?(0,T.jsx)(xi,{size:I.lg}):e?.kind===`thinking`?(0,T.jsx)(Jr,{size:I.lg,fill:`currentColor`,style:{color:`var(--bulb-warning)`}}):e?.kind===`retrying`?(0,T.jsx)(Ti,{size:I.lg,style:{color:`var(--status-warning)`}}):e?.kind===`waiting_model`?(0,T.jsx)(Ur,{size:I.lg}):(0,T.jsx)(ti,{size:I.lg})}function U7({phase:e,elapsed:t,totalElapsed:n,totalElapsedSeconds:r,iconOnly:i=!1}){let{t:a}=M(),o=cue(e,a),s=o?.text??a(`chat.responding`);return i?(0,T.jsx)(`span`,{className:`inline-flex items-center`,style:{...z7},role:`status`,"aria-label":s,children:(0,T.jsx)(`span`,{className:`inline-flex`,style:B7,children:H7(e)})}):(0,T.jsxs)(`span`,{className:`inline-flex items-center gap-1.5`,style:{...z7,minWidth:0,maxWidth:`100%`},children:[(0,T.jsx)(`span`,{className:`inline-flex flex-shrink-0`,style:B7,children:H7(e)}),(0,T.jsxs)(F,{label:o?.tooltip,wrapperStyle:{flex:`1 1 auto`,minWidth:0,display:`flex`,overflow:`hidden`},children:[(0,T.jsx)(`span`,{style:{flex:`1 1 auto`,overflow:`hidden`,textOverflow:`clip`,whiteSpace:`nowrap`,minWidth:0},children:s}),o?.count!=null&&(0,T.jsxs)(`span`,{style:{flexShrink:0,whiteSpace:`nowrap`},children:[`(`,o.count>9?`9+`:o.count,`)`]})]}),t==null?n==null?null:(0,T.jsxs)(`span`,{style:V7,title:r==null?void 0:_X(r),children:[`· `,a(`chat.totalElapsed`,{total:n})]}):(0,T.jsx)(F,{label:n==null?void 0:`${t}(${a(`chat.totalElapsed`,{total:r==null?n:_X(r)})})`,wrapperStyle:sue,children:(0,T.jsxs)(`span`,{style:V7,children:[`· `,t]})})]})}function lue({session:e,newSessionCwd:t,onAgentEnd:n,onSessionCreated:r,onSessionForked:i,modelsRefreshKey:a,chatInputRef:o,onOpenModelConfig:s,windowTitleBase:c,onOpenFile:l,onOpenTrajectory:u,onOpenBranches:f,toolbarExtra:p,closedWidgetKeys:m,onCloseWidget:h,onExtensionWidgetsChange:g,onExtensionDialogChange:_}){let{t:v,locale:y}=M(),{scrollStepPx:b,autoReloadSeconds:x,recentBlocksExpanded:S,widgetGeometries:C,setWidgetGeometry:w,widgetMessages:E,startScreenMessages:D}=er(),{soundEnabled:O,onSoundToggle:k,playDoneSound:A,unlockAudio:j}=mX(),N=mt(),ee=vt(),{wrappedOnAgentEnd:te,soundedExtensionDialogIdRef:P,playDoneSoundRef:ne}=Vle({playDoneSound:A,soundEnabled:O,onAgentEnd:n}),re=(0,d.useCallback)(e=>{o?.current?.insertIfEmpty(e)},[o]),ae=(0,d.useCallback)(e=>{o?.current?.fillInput(e)},[o]),{activeTopPanel:oe,cancelCloseTopPanel:se,chatToolbarRef:ce,copiedSessionField:le,handleCopySessionField:ue,handleViewFullHistory:de,scheduleCloseTopPanel:fe,systemBtnRef:pe,toggleTopPanel:me}=Wle({session:e,onOpenTrajectory:u}),{loading:he,error:ge,messages:_e,entryIds:ve,streamState:ye,agentRunning:be,bashRunning:xe,bashOutput:Se,pendingBash:Ce,modelNames:we,modelList:Te,modelError:Ee,modelScopeWarnings:De,modelThinkingLevels:Oe,modelThinkingLevelMaps:ke,toolPreset:Ae,toolPresets:je,toolPresetDrift:Me,thinkingLevel:Ne,retryInfo:Pe,displayContextUsage:Fe,forkingEntryId:Ie,isCompacting:Le,compactResult:Re,displayModel:ze,sessionStats:Be,systemPrompt:Ve,slashCommands:He,slashCommandsLoading:Ue,queuedMessages:We,notices:Ge,noticeModals:Ke,dismissNotice:qe,dismissNoticeModal:Je,extensionDialog:Ye,extensionCustomUi:Xe,extensionStatuses:Ze,extensionWidgets:Qe,respondToExtensionUi:$e,sendExtensionCustomInput:et,isAutoModelSelection:tt,agentPhase:nt,commandBusy:rt,isNew:it,tree:at,sessionIdRef:ot,activeLeafId:st,loadContext:ct,messagesEndRef:lt,scrollContainerRef:ut,lastUserMsgRef:dt,handleSend:ft,handleAbort:pt,handleFork:ht,forkAuxPrompt:gt,confirmForkAux:_t,cancelForkAux:yt,handleNavigate:bt,handleLeafChange:xt,handleModelChange:St,handleCompact:Ct,handleSteer:wt,handleFollowUp:Tt,handlePromptWithStreamingBehavior:Et,handleAbortCompaction:Dt,handleRecallQueue:Ot,handleBuiltinSlashCommand:kt,handleToolPresetChange:At,handleThinkingLevelChange:jt,loadSlashCommands:Mt}=pX({session:e,newSessionCwd:t,onAgentEnd:te,onSessionCreated:r,onSessionForked:i,modelsRefreshKey:a,chatInputRef:o});(0,d.useEffect)(()=>{g?.(Qe)},[Qe,g]),(0,d.useEffect)(()=>{let t=e?.id;t&&vq(t,{tree:at,activeLeafId:st,handleLeafChange:xt})},[e?.id,at,st,xt]);let Nt=e?.id??null;(0,d.useEffect)(()=>{if(XX(Nt),!Nt)return;let e=!1;return fetch(`/api/sessions/${encodeURIComponent(Nt)}/pi-web-state`).then(e=>e.ok?e.json():null).then(t=>{e||ZX(Nt,t?.data?.ui??null)}).catch(()=>{}),()=>{e=!0}},[Nt]);let Pt=v7(be,xe),{handleQuickMessageSend:Ft,wrappedHandleBuiltinSlashCommand:It}=Ble({sessionBusy:Pt,handleSteer:wt,handlePromptWithStreamingBehavior:Et,handleSend:ft,handleBuiltinSlashCommand:kt,toggleTopPanel:me}),Lt=(0,d.useMemo)(()=>Nce(_e,ve,S),[_e,ve,S]),{collapsedTurns:Rt,expandedTurns:zt}=eZ(),Bt=(0,d.useMemo)(()=>{let e=new Map,t=``;return _e.forEach((n,r)=>{n.role===`user`&&(t=ve[r]??`idx-${r}`),(n.role===`user`||n.role===`assistant`)&&e.set(r,t)}),e},[_e,ve]),{runningSessionIds:Vt,runningPhases:Ht,runningPhaseSince:Ut,runningRespondingSince:Wt,runningBusySince:Gt}=NX(),Kt=Vce(e?.id,ot.current),qt=Ht[Kt]??null,Jt=Ice(Vt.has(Kt),be,rt,xe),Yt=-1;for(let e=_e.length-1;e>=0;e--){let t=_e[e]?.role;if(t===`user`||t===`assistant`){Yt=e;break}}let Xt=Pt||ye.isStreaming?Bt.get(Yt):void 0,Zt=(0,d.useMemo)(()=>{let e=Mce({turnKeysNewestLast:h7(_e,ve),streamingTurnKey:Xt,collapsedTurns:Rt,expandedTurns:zt});for(let t of h7(_e,ve))e.add(t);return e},[_e,ve,Xt,Rt,zt]),Qt=FX(Jt,Ut[Kt]),$t=FX(Jt,Wt[Kt]),en=FX(Jt,Gt[Kt]),tn=IX(Jt,Gt[Kt]),nn=rt||xe&&!qt?{kind:`running_command`}:qt,rn=nn?Qt:$t,an=ie(oue(Ze));zle({sessionBusy:Pt,extensionDialogOpen:Ye!==null,agentPhase:nn,messages:_e,windowTitleBase:c,phaseElapsed:rn,phaseSinceMs:nn?Ut[Kt]:Wt[Kt]??Gt[Kt]});let{handleReloadFromDisk:on}=Ule({autoReloadSeconds:x,activeLeafId:st,loadContext:ct,sessionIdRef:ot,extensionDialog:Ye,onExtensionDialogChange:_,sessionBusy:Pt,handleAbort:pt});Nle({extensionDialog:Ye,soundedIdRef:P,playRef:ne});let[sn,cn]=(0,d.useState)(null),{nearBottom:ln,virtualizerRef:un,scrollToBottom:dn,handleListScroll:fn,handleWindowJumpTo:pn,itemRef:mn,resetItemObservers:hn,isPinnedToBottom:gn,lockBottomPin:_n,unlockBottomPin:vn}=Hle({scrollContainerRef:ut}),yn=_$(_e.filter(e=>e.role===`user`||e.role===`assistant`).length),[bn,xn]=(0,d.useState)(!1),Sn=zce(e?.id,t);(0,d.useEffect)(()=>()=>{},[]);let{isDragOver:Cn,handleDragEnter:wn,handleDragOver:Tn,handleDragLeave:En,handleDrop:Dn}=hX((0,d.useCallback)(e=>Uce(o,Pt,e),[Pt,o])),On=(0,d.useRef)(null),{displayRows:kn,visibleRefIndexByMessage:An,initialCache:jn,resolveMessageOffset:Mn,scrollToMessageIndex:Nn,handleSearchJump:Pn,flashKey:Fn}=iue({messages:_e,sessionBusy:Pt,isStreaming:ye.isStreaming,collapsedTurnKeys:Zt,turnKeyByMsgIdx:Bt,virtualizerRef:un,scrollContainerRef:ut,canMountList:bn,setCanMountList:xn,initialSizesRef:On});Mle({sessionIdForCache:Sn,scrollContainerRef:ut,resetItemObservers:hn,onResetCache:(0,d.useCallback)(()=>{xn(!1),On.current=null},[]),messageRefs:yn,lastUserMsgRef:dt});let In=Pce(it,_e,ye.isStreaming,Pt),Ln=Fce(be,ye.isStreaming,rt,xe);Ple({startScreenMessages:D,aiIdle:Ln,isPinnedToBottom:gn,scrollContainerRef:ut});let Rn=Rce(e?.cwd,t),zn=y7(ze,Oe),Bn=y7(ze,ke),Vn=Hce(e,it),Hn=$ce({agentRunning:be,commandBusy:rt,agentPhase:qt??nt,streamState:ye})||xe?(0,T.jsx)(U7,{phase:nn,elapsed:rn,totalElapsed:en,totalElapsedSeconds:tn,iconOnly:N}):null,Un=Bce(e?.id,t),Wn=(0,T.jsx)(zQ,{ref:o,statusHint:Hn,onSend:ft,onAbort:pt,onSteer:_7(wt,be),onFollowUp:_7(Tt,be),onPromptWithStreamingBehavior:_7(Et,be),isStreaming:Pt,commandBusy:rt,model:ze,isAutoModelSelection:tt,modelNames:we,modelList:Te,modelError:Ee,modelScopeWarnings:De,onModelChange:St,onCompact:g7(Ct,Vn),onAbortCompaction:Dt,isCompacting:Le,displayContextUsage:Fe,compactResult:Re,toolPreset:Ae,toolPresets:je,toolPresetDrift:Me,onToolPresetChange:g7(At,Vn),thinkingLevel:Ne,onThinkingLevelChange:g7(jt,Vn),availableThinkingLevels:zn,thinkingLevelMap:Bn,onOpenModelConfig:s,retryInfo:Pe,queuedMessages:We,onRecallQueue:Ot,slashCommands:He,slashCommandsLoading:Ue,onLoadSlashCommands:Mt,onBuiltinCommand:It,onAudioUnlock:j,draftKey:Un,cwd:Rn});return he?(0,T.jsx)(`div`,{className:`flex h-full items-center justify-center text-text-muted`,children:v(e?`chat.loadingSession`:`chat.noSessionSelected`)}):ge?(0,T.jsx)(`div`,{className:`flex h-full items-center justify-center text-red-400`,children:ge}):(0,T.jsxs)(`div`,{ref:cn,className:`relative flex h-full min-h-0 min-w-0 flex-1 flex-col overflow-hidden`,style:{paddingBottom:`env(safe-area-inset-bottom)`},onDragEnter:wn,onDragOver:Tn,onDragLeave:En,onDrop:Dn,children:[(0,T.jsx)(mle,{isDragOver:Cn,sessionBusy:Pt,extensionDialog:Ye,onExtensionRespond:$e,noticeModals:Ke,onDismissNotice:Je,extensionCustomUi:Xe,onExtensionCustomInput:et,extensionWidgets:Qe,closedWidgetKeys:m,widgetGeometries:C,widgetMessages:E,onCloseWidget:h,onSetWidgetGeometry:w,onQuickMessageSend:Ft,fillChatInput:ae,chatRoot:sn}),(0,T.jsx)(Tq,{open:gt!=null,mode:`fork`,files:gt?.files??[],anchor:gt?.anchor,onConfirm:_t,onCancel:yt}),(0,T.jsx)(jle,{chatToolbarRef:ce,systemBtnRef:pe,session:e,sessionStats:Be,displayContextUsage:Fe,activeTopPanel:oe,toggleTopPanel:me,systemPrompt:Ve,copiedSessionField:le,toolbarExtra:p,handleViewFullHistory:de,handleCopySessionField:ue,handleBuiltinSlashCommand:kt,onOpenBranches:f??(()=>{}),handleSearchJump:Pn,scheduleCloseTopPanel:fe,cancelCloseTopPanel:se,commandBusy:rt,messages:_e,isMobile:N,locale:y,t:v,isStreaming:ye.isStreaming,onReloadFromDisk:on,soundEnabled:O,onSoundToggle:k}),In?(0,T.jsx)(Fle,{notifyPermission:ee,newSessionCwd:t,startScreenMessages:D,handleQuickMessageSend:Ft,fillChatInput:ae,notices:Ge,onDismissNotice:qe,chatInputElement:Wn,t:v}):(0,T.jsx)(tle,{isMobile:N,notices:Ge,onDismissNotice:qe,scrollContainerRef:ut,handleListScroll:fn,canMountList:bn,sessionIdForCache:Sn,sessionId:Lce(e?.id,ot.current),rows:kn,collapsedTurnKeys:Zt,messages:_e,entryIds:ve,session:e,modelNames:we,messageCwd:Rn,onOpenFile:l,sessionBusy:Pt,isNew:it,handleFork:ht,forkingEntryId:Ie,handleNavigate:bt,handleEditContent:re,sessionIdRef:ot,recentExpandedBlockKeys:Lt,streamState:ye,flashKey:Fn,itemRef:mn,t:v,messageRefs:yn,lastUserMsgRef:dt,visibleRefIndexByMessage:An,virtualizerRef:un,lockBottomPin:_n,unlockBottomPin:vn,initialCache:jn,agentRunning:be,agentPhase:nt,pendingBash:Ce,bashOutput:Se,messagesEndRef:lt,nearBottom:ln,scrollToBottom:dn,resolveMessageOffset:Mn,scrollToMessageIndex:Nn,previewScrollStepPx:b,handleWindowJumpTo:pn,chatInputElement:Wn,startScreenMessages:D,aiIdle:Ln,onQuickMessageSend:Ft,onFillInput:ae,plainStatusLine:an})]})}function uue({sessionKey:e,selectedSession:t,effectiveNewSessionCwd:n,handleAgentEnd:r,handleSessionCreated:i,handleSessionForked:a,modelsRefreshKey:o,handleOpenModelConfig:s,chatInputRef:c,handleOpenLinkedFile:l,activeCwdName:u,trustWarningElement:d,closedWidgets:f,handleCloseWidget:p,handleExtensionWidgetsChange:m,extensionDialogActiveRef:h,onOpenTrajectory:g,onOpenBranches:_}){return(0,T.jsx)(T.Fragment,{children:(0,T.jsx)(`div`,{style:{flex:1,minHeight:0,display:`flex`,flexDirection:`column`,overflow:`hidden`},children:(0,T.jsx)(lue,{session:t,newSessionCwd:n,onAgentEnd:r,onSessionCreated:i,onSessionForked:a,modelsRefreshKey:o,onOpenModelConfig:s,chatInputRef:c,onOpenFile:l,onOpenTrajectory:g,onOpenBranches:_,windowTitleBase:u,toolbarExtra:d,closedWidgetKeys:f,onCloseWidget:p,onExtensionWidgetsChange:m,onExtensionDialogChange:e=>{h.current=e}},e)})})}function due({configSection:e,setConfigSection:t,projectTrustCwd:n,sessionId:r,closeConfigTab:i,handleOpenFile:a,sidebarResizer:o,widgetPanelResizer:s,modelConfigFocus:c,defaultThinkingLevel:l,setDefaultThinkingLevel:u,compaction:d,retry:f,defaultProjectTrust:p,setDefaultProjectTrust:m}){return(0,T.jsx)(T.Fragment,{children:(0,T.jsx)(fW,{section:e,onSectionChange:t,cwd:n,sessionId:r,onClose:i,onOpenFile:a,sidebarWidth:o.width,onSidebarWidthChange:o.setWidth,widgetPanelWidth:s.width,onWidgetPanelWidthChange:s.setWidth,modelConfigFocus:c,defaultThinkingLevel:l,onDefaultThinkingLevelChange:u,compaction:d,onCompactionChange:e=>Bt({firstPaint:{compaction:e}}),retry:f,onRetryChange:e=>Bt({firstPaint:{retry:e}}),defaultProjectTrust:p,onDefaultProjectTrustChange:m})})}var fue=262144,W7=10485760,pue={png:`image/png`,jpg:`image/jpeg`,jpeg:`image/jpeg`,gif:`image/gif`,webp:`image/webp`,svg:`image/svg+xml`,bmp:`image/bmp`,ico:`image/x-icon`,avif:`image/avif`},mue={mp3:`audio/mpeg`,wav:`audio/wav`,ogg:`audio/ogg`,oga:`audio/ogg`,opus:`audio/ogg`,m4a:`audio/mp4`,aac:`audio/aac`,flac:`audio/flac`,weba:`audio/webm`,webm:`audio/webm`};function hue(e){return e.replace(/\\/g,`/`).split(`/`).pop()??``}function G7(e){return hue(e).toLowerCase().split(`.`).pop()??``}function gue(e){return pue[G7(e)]??null}function _ue(e){return mue[G7(e)]??null}function vue(e){let t=G7(e);return t===`pdf`||t===`docx`?t:null}function yue(e){return gue(e)!==null}function bue(e){return _ue(e)!==null}function xue(e){return vue(e)!==null}var Sue={source:`i18n.fileViewSource`,preview:`i18n.fileViewPreview`,diff:`i18n.fileViewDiff`},Cue={source:`i18n.fileViewSourceHint`,preview:`i18n.fileViewPreviewHint`,diff:`i18n.compareHead`},K7={fontFamily:`var(--font-mono)`,fontSize:`var(--text-lg)`,lineHeight:1.6},q7={width:48,minWidth:48,padding:`0 10px`,textAlign:`right`,color:`var(--text-dim)`,background:`var(--bg-panel)`,borderRight:`1px solid var(--border)`,fontFamily:`var(--font-mono)`,fontSize:`var(--text-sm)`,fontStyle:`normal`,fontVariantNumeric:`tabular-nums`,lineHeight:`20.8px`,userSelect:`none`,flexShrink:0,verticalAlign:`top`};function J7({filePath:e,sourceSessionId:t}){let{t:n}=M();return(0,T.jsx)(F,{label:n(`i18n.downloadFile`),children:(0,T.jsx)(`a`,{href:Cq(e,`download`,t),download:nx(e),"aria-label":n(`i18n.downloadFile`),className:`file-viewer-icon-button`,children:(0,T.jsxs)(`svg`,{width:I.xl,height:I.xl,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2.2`,strokeLinecap:`round`,strokeLinejoin:`round`,"aria-hidden":`true`,children:[(0,T.jsx)(`path`,{d:`M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4`}),(0,T.jsx)(`polyline`,{points:`7 10 12 15 17 10`}),(0,T.jsx)(`line`,{x1:`12`,y1:`15`,x2:`12`,y2:`3`})]})})})}function Y7(e,t,n){let[r,i]=(0,d.useState)(!1),a=(0,d.useRef)(n);(0,d.useEffect)(()=>{a.current=n});let o=(0,d.useRef)(null);return(0,d.useEffect)(()=>(i(!1),o.current?.(),o.current=Qe({ch:`watch`,filePath:e},e=>{e.event===`connected`?i(!0):e.event===`error`?i(!1):a.current(e)}),()=>{o.current?.(),o.current=null}),[e]),{watching:r,closeWatch:(0,d.useCallback)(()=>{o.current?.(),o.current=null,i(!1)},[])}}function X7({filePath:e,cwd:t,extLabel:n,watching:r,sourceSessionId:i,ellipsis:a,children:o}){let{t:s}=M();return(0,T.jsxs)(`div`,{style:{display:`flex`,alignItems:`center`,gap:12,padding:`4px 16px`,borderBottom:`1px solid var(--border)`,fontSize:`var(--text-sm)`,color:`var(--text-dim)`,background:`var(--bg)`,flexShrink:0},children:[(0,T.jsx)(`span`,{style:{fontFamily:`var(--font-mono)`,...a?{overflow:`hidden`,textOverflow:`ellipsis`,whiteSpace:`nowrap`}:{}},title:e,children:ix(e,t)}),(0,T.jsx)(`span`,{style:{marginLeft:`auto`},children:n}),o,(0,T.jsxs)(`span`,{title:s(r?`i18n.liveSync`:`i18n.notWatching`),style:{display:`flex`,alignItems:`center`,gap:4,color:r?`var(--status-success)`:`var(--text-dim)`},children:[(0,T.jsx)(`span`,{style:{width:7,height:7,borderRadius:`50%`,background:r?`var(--status-success)`:`var(--border)`,display:`inline-block`,boxShadow:r?`0 0 4px var(--status-success)`:`none`}}),r?`live`:`static`]}),(0,T.jsx)(J7,{filePath:e,sourceSessionId:i})]})}function Z7({filePath:e,sourceSessionId:t,cwd:n}){let{t:r}=M(),[i,a]=(0,d.useState)(!1),[o,s]=(0,d.useState)(null),c=typeof n==`string`&&/^[a-zA-Z]:[\\/]/.test(n)||typeof n==`string`&&n.startsWith(`\\\\`),l=(0,d.useCallback)(async n=>{a(!0),s(null);try{let i=await fetch(Cq(e,`open`,t,n?{chooseApp:1}:void 0),{method:`POST`}),a=await i.json().catch(()=>null);i.ok?s({ok:!0,text:r(`files.openLaunched`)}):s({ok:!1,text:a?.error??`HTTP ${i.status}`})}catch(e){s({ok:!1,text:String(e)})}finally{a(!1)}},[e,t,r]);return(0,T.jsxs)(`div`,{style:{display:`flex`,flexDirection:`column`,alignItems:`center`,gap:10,marginTop:16},children:[o&&(0,T.jsx)(`div`,{style:{color:o.ok?`var(--text-muted)`:`var(--status-error)`,fontSize:`var(--text-sm)`,maxWidth:460,textAlign:`center`,lineHeight:1.5},children:o.text}),(0,T.jsxs)(`div`,{style:{display:`flex`,gap:8},children:[(0,T.jsx)(`button`,{type:`button`,disabled:i,onClick:()=>l(!1),className:`file-viewer-mode-button file-open-action-button`,children:r(`files.openInSystemApp`)}),c&&(0,T.jsx)(`button`,{type:`button`,disabled:i,onClick:()=>l(!0),className:`file-viewer-mode-button file-open-action-button`,children:r(`files.chooseOtherApp`)})]})]})}function wue({filePath:e,cwd:t,sourceSessionId:n}){let[r,i]=(0,d.useState)(0),[a,o]=(0,d.useState)(null),[s,c]=(0,d.useState)(null),[l,u]=(0,d.useState)(null),f=nx(e).toLowerCase().split(`.`).pop()??``;po(()=>{i(0),o(null),c(null),u(null)},[e,n]);let{watching:p}=Y7(e,n,e=>{typeof e.size==`number`&&o(e.size),i(e=>e+1)}),m=Cq(e,`read`,n,r?{v:r}:void 0),h=a==null?null:wq(a);return(0,T.jsxs)(`div`,{style:{display:`flex`,flexDirection:`column`,height:`100%`,overflow:`hidden`},children:[(0,T.jsxs)(X7,{filePath:e,cwd:t,extLabel:f||`image`,watching:p,sourceSessionId:n,children:[s&&(0,T.jsxs)(`span`,{children:[s.w,` × `,s.h]}),h&&(0,T.jsx)(`span`,{children:h})]}),(0,T.jsx)(`div`,{style:{flex:1,overflow:`auto`,backgroundColor:`var(--bg-panel)`,display:`flex`,alignItems:`center`,justifyContent:`center`,padding:16,backgroundImage:`linear-gradient(45deg, var(--bg) 25%, transparent 25%), linear-gradient(-45deg, var(--bg) 25%, transparent 25%), linear-gradient(45deg, transparent 75%, var(--bg) 75%), linear-gradient(-45deg, transparent 75%, var(--bg) 75%)`,backgroundSize:`16px 16px`,backgroundPosition:`0 0, 0 8px, 8px -8px, -8px 0px`},children:l?(0,T.jsxs)(`div`,{style:{display:`flex`,flexDirection:`column`,alignItems:`center`,gap:4},children:[(0,T.jsx)(`div`,{style:{color:`var(--status-error)`,fontSize:`var(--text-lg)`},children:l}),(0,T.jsx)(Z7,{filePath:e,sourceSessionId:n,cwd:t})]}):(0,T.jsx)(`img`,{src:m,alt:e,onLoad:e=>{let t=e.currentTarget;c({w:t.naturalWidth,h:t.naturalHeight})},onError:()=>u(`Failed to load image`),style:{maxWidth:`100%`,maxHeight:`100%`,objectFit:`contain`,boxShadow:`0 2px 8px var(--shadow-color)`}})})]})}function Tue({filePath:e,cwd:t,sourceSessionId:n}){let[r,i]=(0,d.useState)(0),[a,o]=(0,d.useState)(null),[s,c]=(0,d.useState)(null),[l,u]=(0,d.useState)(null),f=nx(e).toLowerCase().split(`.`).pop()??``;po(()=>{i(0),o(null),c(null),u(null)},[e,n]);let{watching:p}=Y7(e,n,e=>{typeof e.size==`number`&&o(e.size),c(null),u(null),i(e=>e+1)}),m=Cq(e,`read`,n,r?{v:r}:void 0);return(0,T.jsxs)(`div`,{style:{display:`flex`,flexDirection:`column`,height:`100%`,overflow:`hidden`},children:[(0,T.jsxs)(X7,{filePath:e,cwd:t,extLabel:f||`audio`,watching:p,sourceSessionId:n,children:[s!=null&&(0,T.jsx)(`span`,{children:gX(s)}),a!=null&&(0,T.jsx)(`span`,{children:wq(a)})]}),(0,T.jsx)(`div`,{style:{flex:1,display:`flex`,alignItems:`center`,justifyContent:`center`,padding:24,background:`var(--bg-panel)`},children:(0,T.jsxs)(`div`,{style:{width:`min(680px, 100%)`},children:[l&&(0,T.jsxs)(T.Fragment,{children:[(0,T.jsx)(`div`,{style:{color:`var(--status-error)`,fontSize:`var(--text-lg)`,marginBottom:12,textAlign:`center`},children:l}),(0,T.jsx)(Z7,{filePath:e,sourceSessionId:n,cwd:t})]}),(0,T.jsx)(`audio`,{controls:!0,preload:`metadata`,src:m,onLoadedMetadata:e=>c(e.currentTarget.duration),onError:()=>u(`Failed to load audio`),style:{width:`100%`}},m)]})})]})}function Eue({filePath:e,cwd:t,sourceSessionId:n}){let{t:r}=M(),[i,a]=(0,d.useState)(0),[o,s]=(0,d.useState)(null),[c,l]=(0,d.useState)(null),u=G7(e),f=u===`pdf`,p=f?Cq(e,`read`,n,i?{v:i}:void 0):Cq(e,`preview`,n,i?{v:i}:void 0);(0,d.useEffect)(()=>{a(0),s(null),l(null),fetch(Cq(e,`meta`,n)).then(e=>e.json()).then(e=>{e.error&&l(e.error),typeof e.size==`number`&&(s(e.size),!f&&e.size>10485760&&l(r(`files.docTooLargeForPreview`,{limit:wq(W7)})))}).catch(e=>l(String(e)))},[e,f,n,r]);let{watching:m}=Y7(e,n,e=>{if(typeof e.size==`number`&&(s(e.size),!f&&e.size>10485760)){l(r(`files.docTooLargeForPreview`,{limit:wq(W7)}));return}l(null),a(e=>e+1)});return(0,T.jsxs)(`div`,{style:{display:`flex`,flexDirection:`column`,height:`100%`,overflow:`hidden`},children:[(0,T.jsx)(X7,{filePath:e,cwd:t,extLabel:u===`docx`?`docx preview`:`pdf`,watching:m,sourceSessionId:n,ellipsis:!0,children:o!=null&&(0,T.jsx)(`span`,{children:wq(o)})}),(0,T.jsx)(`div`,{style:{flex:1,minHeight:0,background:`var(--bg-panel)`},children:c?(0,T.jsxs)(`div`,{style:{height:`100%`,display:`flex`,flexDirection:`column`,alignItems:`center`,justifyContent:`center`,padding:24,color:`var(--status-error)`,fontSize:`var(--text-lg)`,textAlign:`center`},children:[(0,T.jsx)(`div`,{children:c}),(0,T.jsx)(Z7,{filePath:e,sourceSessionId:n,cwd:t})]}):(0,T.jsx)(`iframe`,{src:p,sandbox:f?void 0:`allow-same-origin`,title:r(`i18n.previewFile`,{file:nx(e)}),style:{width:`100%`,height:`100%`,border:`none`,background:f?`var(--bg)`:`#eef1f5`}},p)})]})}function Due(){return(0,T.jsxs)(`svg`,{width:I.xl,height:I.xl,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2.2`,strokeLinecap:`round`,strokeLinejoin:`round`,"aria-hidden":`true`,children:[(0,T.jsx)(`circle`,{cx:`12`,cy:`12`,r:`4`}),(0,T.jsx)(`path`,{d:`M16 8v5a3 3 0 0 0 6 0v-1a10 10 0 1 0-4 8`})]})}function Oue({displayModes:e,effectiveDisplayMode:t,setDisplayMode:n,previewSupported:r,previewFormat:i,t:a}){return e.length<=1?null:(0,T.jsx)(`div`,{className:`file-viewer-mode-switch`,"aria-label":a(`i18n.fileViewMode`),children:e.map(e=>{let o=t===e;return(0,T.jsx)(F,{label:e===`preview`&&!r?a(`i18n.previewUnsupported`,{format:i}):a(Cue[e]),children:(0,T.jsx)(`button`,{type:`button`,onClick:()=>n(e),disabled:e===`preview`&&!r,"aria-pressed":o,className:`file-viewer-mode-button`,style:{background:o?`var(--bg-selected)`:`transparent`,color:o?`var(--text)`:`var(--text-muted)`,opacity:e===`preview`&&!r?.45:1,cursor:e===`preview`&&!r?`not-allowed`:`pointer`},children:(()=>{let t=kue[e];return(0,T.jsxs)(T.Fragment,{children:[(0,T.jsx)(t,{size:13,"aria-hidden":!0}),a(Sue[e])]})})()})},e)})})}var kue={source:Nr,preview:jr,diff:Pr};function Aue({wrapLines:e,setWrapLines:t,selectedLineRange:n,handleMentionSelectedLines:r,filePath:i,sourceSessionId:a,t:o,highlightReady:s,editMode:c}){return(0,T.jsxs)(T.Fragment,{children:[(0,T.jsx)(F,{label:o(`i18n.mentionSelectedLines`),children:(0,T.jsx)(`button`,{type:`button`,onMouseDown:e=>e.preventDefault(),onClick:r,"aria-label":o(`i18n.mentionSelectedLines`),disabled:!n,className:`file-viewer-icon-button`,children:(0,T.jsx)(Due,{})})}),(0,T.jsx)(F,{label:o(e?`i18n.disableWrap`:`i18n.enableWrap`),children:(0,T.jsx)(`button`,{type:`button`,onClick:()=>t(e=>!e),"aria-label":o(e?`i18n.disableWrap`:`i18n.enableWrap`),"aria-pressed":e,className:`file-viewer-icon-button`,style:{background:e?`var(--bg-selected)`:`transparent`,color:e?`var(--text)`:`var(--text-muted)`},children:(0,T.jsx)(Si,{size:I.xl,"aria-hidden":!0})})}),s&&!c&&(0,T.jsx)(`a`,{href:Cq(i,`download`,a),download:nx(i),"aria-label":o(`i18n.downloadFile`),className:`file-viewer-icon-button`,style:{display:`inline-flex`,alignItems:`center`,justifyContent:`center`,textDecoration:`none`},children:(0,T.jsxs)(`svg`,{width:I.xl,height:I.xl,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`,children:[(0,T.jsx)(`path`,{d:`M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4`}),(0,T.jsx)(`polyline`,{points:`7 10 12 15 17 10`}),(0,T.jsx)(`line`,{x1:`12`,y1:`15`,x2:`12`,y2:`3`})]})})]})}function jue({editMode:e,dirty:t,handleSave:n,saveState:r,saveError:i,enterEdit:a,cancelEdit:o,t:s}){return e?(0,T.jsxs)(T.Fragment,{children:[t&&(0,T.jsx)(F,{label:s(`i18n.unsavedChanges`),children:(0,T.jsx)(`span`,{"aria-label":s(`i18n.unsavedChanges`),style:{color:`var(--status-warning)`,fontWeight:700},children:`●`})}),(0,T.jsx)(F,{label:s(`i18n.saveFileShortcut`),children:(0,T.jsx)(`button`,{type:`button`,onClick:n,disabled:!t||r===`saving`,"aria-label":s(`i18n.saveFile`),className:`file-viewer-icon-button`,style:{background:t?`var(--accent)`:`transparent`,color:t?`var(--bg)`:`var(--text-muted)`},children:r===`saving`?(0,T.jsx)(Qr,{size:I.lg,className:`animate-spin`}):(0,T.jsx)(fi,{size:I.lg})})}),(0,T.jsx)(F,{label:s(`i18n.cancelEdit`),children:(0,T.jsx)(`button`,{type:`button`,onClick:o,"aria-label":s(`i18n.cancelEdit`),className:`file-viewer-icon-button`,children:(0,T.jsx)(ji,{size:I.lg})})}),r===`error`&&i&&(0,T.jsx)(`span`,{style:{color:`var(--status-error)`,fontSize:`var(--text-sm)`},children:s(`i18n.saveFailed`,{error:i})}),r===`saved`&&!t&&(0,T.jsx)(`span`,{style:{color:`var(--status-success)`,fontSize:`var(--text-sm)`},children:s(`i18n.saved`)})]}):(0,T.jsx)(F,{label:s(`i18n.editFile`),children:(0,T.jsx)(`button`,{type:`button`,onClick:a,"aria-label":s(`i18n.editFile`),className:`file-viewer-icon-button`,children:(0,T.jsx)(ai,{size:I.lg})})})}function Mue({filePath:e,cwd:t,metadata:n,watching:r,isDeletedDiff:i,previewSupported:a,previewFormat:o,displayModes:s,effectiveDisplayMode:c,setDisplayMode:l,wrapLines:u,setWrapLines:d,editMode:f,dirty:p,handleSave:m,saveState:h,highlightReady:g,selectedLineRange:_,handleMentionSelectedLines:v,fileContent:y,sourceSessionId:b,t:x,saveError:S,enterEdit:C,cancelEdit:w}){return(0,T.jsxs)(`div`,{className:`file-viewer-toolbar`,style:{display:`flex`,alignItems:`center`,gap:8,padding:`5px 12px`,borderBottom:`1px solid var(--border)`,fontSize:`var(--text-sm)`,color:`var(--text-dim)`,background:`var(--bg)`,flexShrink:0},children:[(0,T.jsx)(F,{label:e,children:(0,T.jsx)(`span`,{className:`file-viewer-path`,style:{fontFamily:`var(--font-mono)`},children:ix(e,t)})}),(0,T.jsx)(F,{label:n,children:(0,T.jsx)(`span`,{className:`file-viewer-meta`,children:n})}),!i&&(0,T.jsx)(F,{label:x(r?`i18n.liveSync`:`i18n.notWatching`),children:(0,T.jsx)(`span`,{"aria-label":x(r?`i18n.liveSync`:`i18n.notWatching`),className:`file-viewer-live-indicator`,style:{background:r?`var(--status-success)`:`var(--border)`,boxShadow:r?`0 0 4px var(--status-success)`:`none`}})}),(0,T.jsx)(Oue,{displayModes:s,effectiveDisplayMode:c,setDisplayMode:l,previewSupported:a,previewFormat:o,t:x}),!i&&(0,T.jsx)(J7,{filePath:e,sourceSessionId:b}),!i&&c===`source`&&(0,T.jsx)(jue,{editMode:f,dirty:p,handleSave:m,saveState:h,saveError:S,enterEdit:C,cancelEdit:w,t:x}),(0,T.jsx)(`div`,{className:`file-viewer-controls`,children:(0,T.jsx)(`div`,{className:`file-viewer-actions`,children:c===`source`&&(0,T.jsx)(Aue,{wrapLines:u,setWrapLines:d,selectedLineRange:_,handleMentionSelectedLines:v,filePath:e,sourceSessionId:b,t:x,highlightReady:g,editMode:f})})})]})}function Nue({filePath:e,sourceSessionId:t,onFileChange:n}){let[r,i]=(0,d.useState)(null),[a,o]=(0,d.useState)(!0),[s,c]=(0,d.useState)(null),[l,u]=(0,d.useState)(null),f=(0,d.useCallback)(e=>fetch(Cq(e,`read`,t)).then(async e=>{let t=await e.json();return t.error?(c(t.error),u(e.status),null):(c(null),u(null),i(t),t)}).catch(e=>(c(String(e)),null)),[t]);return(0,d.useEffect)(()=>{o(!0),c(null),u(null),i(null),n?.(),f(e).finally(()=>o(!1))},[e,f]),{data:r,setData:i,loading:a,error:s,loadStatus:l,fetchContent:f}}function Pue({cwd:e,filePath:t,gitRefreshKey:n}){let[r,i]=(0,d.useState)(null),[a,o]=(0,d.useState)(!1),s=(0,d.useRef)(0),c=(0,d.useCallback)(async t=>{let n=++s.current;if(o(!0),!e){i(null),o(!1);return}try{let r=new URLSearchParams({cwd:e,path:t}),a=await fetch(`/api/git/diff?${r.toString()}`),o=await a.json();if(n!==s.current)return;i(a.ok&&o.supported&&typeof o.patch==`string`?o:null)}catch{n===s.current&&i(null)}finally{n===s.current&&o(!1)}},[e]);return(0,d.useEffect)(()=>{c(t)},[c,t,n]),{gitDiff:r,gitDiffLoading:a,fetchGitDiff:c,resetGitDiff:(0,d.useCallback)(()=>i(null),[])}}function Fue(e){return(e.nodeType===Node.ELEMENT_NODE?e:e.parentElement)?.closest(`.file-source-line[data-line-number]`)??null}function Iue(e,t){if(!t||t.isCollapsed||t.rangeCount===0)return null;let n=t.getRangeAt(0);return!e.contains(n.startContainer)||!e.contains(n.endContainer)?null:n}function Q7(e,t){let n=Fue(t);if(!n||!e.contains(n))return null;let r=Number(n.dataset.lineNumber);return Number.isInteger(r)?{element:n,line:r}:null}function Lue(e,t,n){let r=e.querySelector(`.file-source-line-content`),i=n===`start`?t.startContainer:t.endContainer,a=n===`start`?t.startOffset:t.endOffset;if(!r?.contains(i))return!1;let o=document.createRange();return o.selectNodeContents(r),n===`start`?o.setStart(i,a):o.setEnd(i,a),o.toString().length===0}function $7(e,t,n){if(!Lue(e,t,n))return null;let r=n===`start`?e.nextElementSibling:e.previousElementSibling;return!(r instanceof HTMLElement)||!r.matches(`.file-source-line[data-line-number]`)?null:{element:r,line:Number(r.dataset.lineNumber)}}function e9(e,t){let n=Iue(e,t);if(!n)return null;let r=Q7(e,n.startContainer),i=Q7(e,n.endContainer);if(!r||!i)return null;let a=r.element,o=i.element,s=r.line,c=i.line;if(s<c){let e=$7(a,n,`start`);e&&(a=e.element,s=e.line);let t=$7(o,n,`end`);t&&(o=t.element,c=t.line)}return s>c?null:{startLine:s,endLine:c}}function Rue({rows:e,stylesheet:t,useInlineStyles:n,wrapLines:r}){return e.map((e,i)=>{let a=e.children??[],o=a[0]?.properties?.className,s=Array.isArray(o)&&o.includes(`react-syntax-highlighter-line-number`),c=s?a[0]:null,l=s?a.slice(1):a;return(0,T.jsxs)(`span`,{className:`file-source-line`,"data-line-number":i+1,style:{display:`flex`,minWidth:`100%`},children:[c&&s8({node:c,stylesheet:t,useInlineStyles:n,key:`source-line-number-${i}`}),(0,T.jsx)(`span`,{className:`file-source-line-content`,style:{flex:`1 1 auto`,minWidth:0,paddingLeft:2,overflowWrap:r?`anywhere`:`normal`,whiteSpace:r?`pre-wrap`:`pre`},children:l.map((e,r)=>s8({node:e,stylesheet:t,useInlineStyles:n,key:`source-token-${i}-${r}`}))})]},`source-line-${i}`)})}function zue({filePath:e,cwd:t,content:n,displayMode:r,onMentionLines:i}){let a=(0,d.useRef)(null),[o,s]=(0,d.useState)(null);(0,d.useEffect)(()=>{let e=()=>{let e=a.current;s(i&&r===`source`&&e?e9(e,window.getSelection()):null)};if(e(),!(!i||r!==`source`))return document.addEventListener(`selectionchange`,e),()=>document.removeEventListener(`selectionchange`,e)},[n,r,i]);let c=(0,d.useCallback)(n=>{!i||!n||i(ix(e,t),n.startLine,n.endLine)},[t,e,i]),l=(0,d.useCallback)(()=>{c(o)},[c,o]);return(0,d.useEffect)(()=>{if(!i||r!==`source`)return;let e=e=>{if(e.repeat||e.key.toLowerCase()!==`i`||!e.metaKey&&!e.ctrlKey||e.altKey||e.shiftKey)return;let t=e.target;if(t instanceof Element&&t.closest(`input, textarea, [contenteditable='true']`))return;let n=a.current,r=n?e9(n,window.getSelection()):null;r&&(e.preventDefault(),c(r))};return window.addEventListener(`keydown`,e),()=>window.removeEventListener(`keydown`,e)},[r,c,i]),{contentRef:a,selectedLineRange:o,handleMentionSelectedLines:l}}async function Bue(e,t){let n=e.split(/[\\/]/).filter(Boolean),r=n.pop();if(!r)throw Error(`Invalid file path`);let i=n.join(`/`)||`/`,a=new FormData;a.append(`files`,new File([t],r,{type:`text/plain`}));let o=await fetch(`/api/files/${tx(i)}?type=upload&conflict=overwrite`,{method:`POST`,body:a});if(!o.ok){let e=`Save failed (${o.status})`;try{let t=await o.json();t?.error&&(e=t.error)}catch{}throw Error(e)}}function Vue({filePath:e,onSaved:t,content:n,applySavedContent:r,reload:i}){let[a,o]=(0,d.useState)(!1),[s,c]=(0,d.useState)(``),[l,u]=(0,d.useState)(!1),[f,p]=(0,d.useState)(`idle`),[m,h]=(0,d.useState)(null),g=(0,d.useRef)(!1);g.current=a;let _=(0,d.useCallback)(()=>{o(!1),c(``),u(!1),p(`idle`),h(null)},[]);return{editMode:a,draft:s,dirty:l,saveState:f,saveError:m,editModeRef:g,enterEdit:(0,d.useCallback)(()=>{c(n),u(!1),p(`idle`),h(null),o(!0)},[n]),cancelEdit:(0,d.useCallback)(()=>{o(!1),u(!1),p(`idle`),h(null),i()},[i]),handleEditorChange:(0,d.useCallback)(e=>{c(e),u(e!==n)},[n]),handleSave:(0,d.useCallback)(async()=>{if(l){p(`saving`),h(null);try{await Bue(e,s),r(s),u(!1),p(`saved`),t?.(e)}catch(e){p(`error`),h(e instanceof Error?e.message:String(e))}}},[l,s,e,t,r]),resetEditState:_}}function Hue(e){let t=v5(e);return t?t.flatMap(e=>e.rows.flatMap(e=>{if(e.type===`hunk`)return[];if(e.left.type===`context`&&e.right.type===`context`)return[{type:`unchanged`,text:e.right.text,oldLineNo:e.left.lineNo,newLineNo:e.right.lineNo}];let t=[];return e.left.type===`removed`&&t.push({type:`removed`,text:e.left.text,oldLineNo:e.left.lineNo,newLineNo:null}),e.right.type===`added`&&t.push({type:`added`,text:e.right.text,oldLineNo:null,newLineNo:e.right.lineNo}),t})):[]}function Uue({patch:e}){let{t}=M(),n=Hue(e);if(!n.some(e=>e.type!==`unchanged`))return(0,T.jsx)(`div`,{style:{padding:`12px 16px`,fontSize:`var(--text-base)`,color:`var(--text-dim)`,fontFamily:`var(--font-mono)`},children:t(`i18n.noChanges`)});let r=new Set(n.flatMap((e,t)=>e.type===`unchanged`?[]:[t])),i=new Set;for(let e of r)for(let t=Math.max(0,e-3);t<=Math.min(n.length-1,e+3);t++)i.add(t);let a=[],o=0;for(;o<n.length;)if(i.has(o)){let e=[];for(;o<n.length&&i.has(o);)e.push(n[o]),o++;a.push({hidden:!1,lines:e})}else{let e=0;for(;o<n.length&&!i.has(o);)e++,o++;a.push({hidden:!0,count:e})}return(0,T.jsx)(`div`,{className:`file-diff-view`,style:{width:`max-content`,minWidth:`100%`,...K7},children:a.map((e,t)=>{if(e.hidden)return(0,T.jsxs)(`div`,{style:{padding:`2px 16px`,color:`var(--text-dim)`,background:`var(--bg-panel)`,fontSize:`var(--text-sm)`,borderTop:`1px solid var(--border)`,borderBottom:`1px solid var(--border)`},children:[`... `,e.count,` unchanged lines ...`]},t);let n=e.lines.map((e,t)=>{let n=e.type===`added`?`color-mix(in srgb, var(--status-success) 12%, transparent)`:e.type===`removed`?`color-mix(in srgb, var(--status-error) 14%, transparent)`:`transparent`,r=e.type===`added`?`+`:e.type===`removed`?`-`:` `,i=e.type===`added`?`var(--status-success)`:e.type===`removed`?`var(--status-error)`:`var(--text-dim)`;return(0,T.jsxs)(`div`,{className:`file-diff-line`,style:{display:`flex`,minWidth:`100%`,background:n,borderLeft:e.type===`added`?`3px solid var(--status-success)`:e.type===`removed`?`3px solid var(--status-error)`:`3px solid transparent`},children:[(0,T.jsx)(`span`,{style:q7,children:e.type===`removed`?e.oldLineNo:e.newLineNo}),(0,T.jsx)(`span`,{style:{minWidth:16,padding:`0 6px`,color:i,userSelect:`none`,flexShrink:0,fontWeight:600},children:r}),(0,T.jsx)(`span`,{className:`file-diff-line-content`,style:{flexShrink:0,padding:`0 8px 0 0`,whiteSpace:`pre`,color:`var(--text)`},children:e.text||`\xA0`})]},t)});return(0,T.jsx)(`div`,{children:n},t)})})}function Wue({preview:e,markdownDir:t,onOpenFile:n,cwd:r,sourceSessionId:i}){return(0,T.jsx)(`div`,{className:`markdown-body markdown-file-preview`,style:{padding:`24px 32px`},children:(0,T.jsx)(YE,{remarkPlugins:oV,rehypePlugins:cV,components:{code({className:e,children:t,...n}){let r=e?.replace(`language-`,``).toLowerCase()??``,i=String(t);return e?.includes(`language-`)||i.includes(`
|
|
507
|
-
`)?r===`mermaid`?(0,T.jsx)(n5,{code:i.replace(/\n$/,``),defaultPreview:!0}):(0,T.jsx)($8,{code:i.replace(/\n$/,``),lang:r}):(0,T.jsx)(`code`,{className:e,...n,children:t})},pre({children:e}){return(0,T.jsx)(T.Fragment,{children:e})},a({href:e,children:r,...i}){return delete i.node,(0,T.jsx)(CV,{href:e,markdownDir:t,onOpenFile:n,...i,children:r})},img({src:e,alt:n,...a}){delete a.node;let o=typeof e==`string`?xV(e,t,r??t):null,s=o?Cq(o,`read`,i):e;return(0,T.jsx)(`img`,{src:s,alt:n??``,loading:`lazy`,...a})}},children:e})})}var t9=`file-find-hits`,n9=`file-find-current`;function
|
|
508
|
-
`);return{language:o,isHtml:s,isMarkdown:c,hasPreview:l,markdownDirectory:u,lines:d,effectiveDisplayMode:t?`diff`:n===`preview`&&!l?`source`:n,displayModes:t?[`diff`]:[`source`,`preview`,`diff`],metadata:t?a(`files.deleted`):`${o} · ${a(`i18n.lineCount`,{n:d.length})} · ${wq(e?.size??0)}`}}function tde({filePath:e,cwd:t,sourceSessionId:n,onOpenFile:r,onMentionLines:i,onSaved:a,gitRefreshKey:o,initialDisplayMode:s}){let{isDark:c}=PW(),{t:l}=M(),[u,f]=(0,d.useState)(`source`),[p,m]=(0,d.useState)(!1),[h,g]=(0,d.useState)(!1),{data:_,setData:v,loading:y,error:b,loadStatus:x,fetchContent:S}=Nue({filePath:e,sourceSessionId:n,onFileChange:()=>{f(s===`diff`?`diff`:`source`),g(!1),P(),ae()}}),C=_?.content??``,{editMode:w,draft:E,dirty:D,saveState:O,saveError:k,editModeRef:A,enterEdit:j,cancelEdit:N,handleEditorChange:ee,handleSave:te,resetEditState:P}=Vue({filePath:e,onSaved:a,content:C,applySavedContent:e=>v(t=>t&&{...t,content:e}),reload:()=>{S(e)}}),{gitDiff:ne,gitDiffLoading:re,fetchGitDiff:ie,resetGitDiff:ae}=Pue({cwd:t,filePath:e,gitRefreshKey:o}),{watching:oe,closeWatch:se}=Y7(e,n,()=>{A.current||(S(e),ie(e))});(0,d.useEffect)(()=>{_?.language===`markdown`&&s!==`diff`&&f(`preview`)},[_?.language,s]);let ce=ne?.supported===!0&&typeof ne.patch==`string`,le=ce&&ne.status===`deleted`;(0,d.useEffect)(()=>{le&&se()},[le,se]);let ue=(0,d.useMemo)(()=>$ue(_),[_]),{contentRef:de,selectedLineRange:fe,handleMentionSelectedLines:pe}=zue({filePath:e,cwd:t,content:C,displayMode:u,onMentionLines:i});return(0,d.useEffect)(()=>{m(!1)},[C]),(0,d.useEffect)(()=>{if((le?`diff`:u)!==`source`||p)return;let e=setTimeout(()=>m(!0),0);return()=>clearTimeout(e)},[le,u,p]),(0,T.jsx)(nde,{filePath:e,cwd:t??void 0,sourceSessionId:n??void 0,onOpenFile:r,isDark:c,t:l,loading:y,error:b,loadStatus:x,displayMode:u,setDisplayMode:f,gitDiffLoading:re,data:_,watching:oe,isDeletedDiff:le,hasGitDiff:ce,wrapLines:h,setWrapLines:g,content:C,editMode:w,dirty:D,handleSave:te,saveState:O,saveError:k,enterEdit:j,cancelEdit:N,highlightReady:p,selectedLineRange:fe,handleMentionSelectedLines:pe,draft:E,handleEditorChange:ee,markdownPreview:ue,gitDiffPatch:ce?ne.patch:null,contentRef:de})}function nde({filePath:e,cwd:t,sourceSessionId:n,onOpenFile:r,isDark:i,t:a,loading:o,error:s,loadStatus:c,displayMode:l,setDisplayMode:u,gitDiffLoading:d,data:f,watching:p,isDeletedDiff:m,hasGitDiff:h,wrapLines:g,setWrapLines:_,content:v,editMode:y,dirty:b,handleSave:x,saveState:S,saveError:C,enterEdit:w,cancelEdit:E,highlightReady:D,selectedLineRange:O,handleMentionSelectedLines:k,draft:A,handleEditorChange:j,markdownPreview:M,gitDiffPatch:N,contentRef:ee}){if(o||l===`diff`&&d)return(0,T.jsx)(rde,{t:a});if(s&&!m)return(0,T.jsx)(ide,{loadStatus:c,error:s,filePath:e,sourceSessionId:n,cwd:t,t:a});if(!f&&!m)return null;let{language:te,isHtml:P,isMarkdown:ne,hasPreview:re,markdownDirectory:ie,effectiveDisplayMode:ae,displayModes:oe,metadata:se}=ede({data:f,isDeletedDiff:m,displayMode:l,content:v,filePath:e,t:a});return(0,T.jsxs)(`div`,{className:`file-viewer-shell`,style:{display:`flex`,flexDirection:`column`,height:`100%`,overflow:`hidden`},children:[(0,T.jsx)(Mue,{filePath:e,cwd:t,metadata:se,watching:p,isDeletedDiff:m,displayModes:oe,effectiveDisplayMode:ae,previewSupported:re,previewFormat:te,setDisplayMode:u,wrapLines:g,setWrapLines:_,editMode:y,dirty:b,handleSave:x,saveState:S,saveError:C,enterEdit:w,cancelEdit:E,highlightReady:D,selectedLineRange:O,handleMentionSelectedLines:k,fileContent:v,sourceSessionId:n,t:a}),(0,T.jsx)(Que,{contentRef:ee,filePath:e,effectiveDisplayMode:ae,editMode:y,draft:A,language:te,isDark:i,handleEditorChange:j,handleSave:x,highlightReady:D,wrapLines:g,content:v,hasGitDiff:h,gitDiffPatch:N,t:a,isHtml:P,isMarkdown:ne,markdownPreview:M,markdownDirectory:ie,onOpenFile:r,cwd:t??void 0,sourceSessionId:n})]})}function rde({t:e}){return(0,T.jsxs)(`div`,{style:{height:`100%`,display:`flex`,flexDirection:`column`,alignItems:`center`,justifyContent:`center`,gap:12,color:`var(--text-muted)`,fontSize:`var(--text-lg)`},children:[(0,T.jsx)(Qr,{size:I.lg,className:`animate-spin`,"aria-hidden":`true`}),e(`i18n.loading`)]})}function ide({loadStatus:e,error:t,filePath:n,sourceSessionId:r,cwd:i,t:a}){return(0,T.jsxs)(`div`,{style:{height:`100%`,display:`flex`,flexDirection:`column`,alignItems:`center`,justifyContent:`center`,padding:24,color:`var(--status-error)`,fontSize:`var(--text-lg)`,textAlign:`center`},children:[(0,T.jsx)(`div`,{children:e===413?a(`files.fileTooLargeForPreview`,{limit:wq(fue)}):t}),e===413&&(0,T.jsx)(Z7,{filePath:n,sourceSessionId:r,cwd:i})]})}function ade({filePath:e,cwd:t,sourceSessionId:n,onOpenFile:r,onMentionLines:i,onSaved:a,gitRefreshKey:o,initialDisplayMode:s}){return yue(e)?(0,T.jsx)(wue,{filePath:e,cwd:t,sourceSessionId:n}):bue(e)?(0,T.jsx)(Tue,{filePath:e,cwd:t,sourceSessionId:n}):xue(e)?(0,T.jsx)(Eue,{filePath:e,cwd:t,sourceSessionId:n}):(0,T.jsx)(tde,{filePath:e,cwd:t,sourceSessionId:n,onOpenFile:r,onMentionLines:i,onSaved:a,gitRefreshKey:o,initialDisplayMode:s})}function ode({activeFileTab:e,activeCwd:t,explorerRefreshKey:n,setExplorerRefreshKey:r,handleFileLineMention:i,handleOpenFile:a}){return(0,T.jsx)(T.Fragment,{children:e&&(0,T.jsx)(ade,{filePath:e.filePath,cwd:t??void 0,sourceSessionId:e.sourceSessionId,gitRefreshKey:n,initialDisplayMode:e.initialDisplayMode,onMentionLines:i,onSaved:()=>r(e=>e+1),onOpenFile:t=>a(t,nx(t),{sourceSessionId:e.sourceSessionId})})})}function sde({currentSessionId:e}){let{unread:t,markRead:n}=lt(),[r,i]=(0,d.useState)(null);return(0,d.useEffect)(()=>{t>0&&n()},[t,n]),(0,T.jsxs)(T.Fragment,{children:[(0,T.jsx)(Yce,{currentSessionId:e,onViewNotice:i}),(0,T.jsx)(Xce,{entry:r,onClose:()=>i(null)})]})}var cde={user:{label:`U`,color:`var(--text)`},assistant:{label:`A`,color:`var(--accent)`},thinking:{label:`T`,color:`var(--text-muted)`},tool:{label:`⚙`,color:`var(--status-info)`},bash:{label:`$`,color:`var(--status-info)`},toolError:{label:`E`,color:`var(--status-error)`}};function lde({row:e,highlighted:t,onHover:n,style:r}){let i=cde[e.kind],a=e.kind!==`assistant`&&e.kind!==`thinking`,o=e.kind===`tool`||e.kind===`bash`,s=e.kind===`toolError`;return(0,T.jsxs)(`div`,{onPointerEnter:()=>e.spanId&&n?.(e.spanId),onPointerLeave:()=>n?.(null),style:{...r,display:`flex`,gap:8,alignItems:`center`,minWidth:0,borderRadius:4,padding:`1px 4px`,margin:`-1px -4px`,background:t?`var(--bg-selected)`:r?.background},children:[(0,T.jsx)(`span`,{title:e.kind,style:{flexShrink:0,width:16,display:`flex`,justifyContent:`center`,fontFamily:`var(--font-mono)`,fontSize:`var(--text-sm)`,fontWeight:700,color:i.color},children:o?(0,T.jsx)(Ai,{size:I.sm,style:{color:`var(--status-info)`,flexShrink:0}}):s?(0,T.jsx)(Ai,{size:I.sm,style:{color:`var(--status-error)`,flexShrink:0}}):e.kind===`thinking`?(0,T.jsx)(Jr,{size:I.sm,style:{color:`var(--bulb-warning)`,flexShrink:0}}):i.label}),(0,T.jsxs)(`span`,{style:{flex:1,minWidth:0,overflow:`hidden`,textOverflow:`ellipsis`,whiteSpace:`nowrap`,fontFamily:a?`var(--font-mono)`:void 0,fontSize:`var(--text-sm)`,color:e.kind===`toolError`?`var(--status-error)`:(e.kind,`var(--text-muted)`),fontStyle:e.kind===`thinking`?`italic`:void 0},children:[e.toolName&&!s?(0,T.jsx)(T.Fragment,{children:(0,T.jsx)(`span`,{style:{color:`var(--status-info)`,fontWeight:600,marginRight:8},children:e.toolName})}):s&&e.toolName?(0,T.jsx)(`span`,{style:{color:`var(--status-error)`,fontWeight:600,marginRight:8},children:e.toolName}):e.kind===`bash`?`$ `:null,e.text]}),e.durationSecs!=null&&(0,T.jsx)(E5,{secs:e.durationSecs,size:`sm`})]})}function ude(e){let t=[],n=(e,n,r)=>t.push({index:e,userText:n,timestamp:r,endTime:r,tools:0,toolErrors:0,inputTokens:0,messages:[]});for(let r=0;r<e.length;r++){let i=e[r];if(i.role===`user`){let e=typeof i.content==`string`?i.content:i.content.find(e=>e.type===`text`)?.text??``,a=t[t.length-1];a&&a.messages.length>0&&!a.userText?(a.index=r,a.userText=e.replace(/\s+/g,` `).trim(),a.timestamp=i.timestamp,a.endTime=i.timestamp):n(r,e.replace(/\s+/g,` `).trim(),i.timestamp),t[t.length-1].messages.push(i);continue}let a=t[t.length-1]??(n(e.indexOf(i),``),t[t.length-1]);a.messages.push(i),i.role!==`system`&&i.timestamp&&(a.endTime=i.timestamp),i.role===`assistant`&&(a.tools+=i.content.filter(e=>e.type===`toolCall`).length,a.inputTokens+=i.usage?.input??0),i.role===`toolResult`&&i.isError&&(a.toolErrors+=1)}return t[0]&&!t[0].userText&&(t[0].userText=`(start)`),t}var dde=(e,t)=>t+1,o9=(e,t=160)=>e.replace(/\s+/g,` `).trim().slice(0,t);function fde(e,t,n,r,i,a){let o=t;for(let s=0;s<e.content.length;s++){let c=e.content[s];if(c.type===`toolCall`){let e=a(c.toolCallId)??o+2e3,l=Math.max(o,t);i.push({lane:2,kind:`tool`,start:l,end:Math.max(e,l+200),label:c.toolName,turnIndex:n,spanId:`m${r}-b${s}`,detail:o9(A5(c),120)}),o=Math.max(e,o)}else if(c.type===`text`||c.type===`thinking`){let e=c.type===`text`?c.text:c.thinking;if(!e.trim())continue;let t=Math.min(Math.max(e.length*2,2e3),8e3);i.push({lane:1,kind:`assistant`,variant:c.type===`thinking`?`thinking`:`text`,start:o,end:o+t,label:o9(e,80),turnIndex:n,spanId:`m${r}-b${s}`}),o+=t}}}function pde(e){let t=[],n=1/0,r=0;if(e.forEach((e,i)=>{let a=new Map;for(let t of e.messages)if(t.role===`toolResult`){let e=t;e.toolCallId&&e.timestamp&&Number.isFinite(e.timestamp)&&a.set(e.toolCallId,e.timestamp)}let o=e.messages.find(e=>e.role===`assistant`&&e.timestamp&&Number.isFinite(e.timestamp));for(let s=0;s<e.messages.length;s++){let c=e.messages[s],l=c.timestamp;!l||!Number.isFinite(l)||(c.role!==`system`&&(l<n&&(n=l),l>r&&(r=l)),c.role===`user`?t.push({lane:0,kind:`user`,start:l,end:Math.max(o?.timestamp??l+600,l+200),label:e.userText,turnIndex:i,spanId:`user`}):c.role===`assistant`?fde(c,l,i,s,t,e=>a.get(e)):c.role===`bashExecution`?t.push({lane:2,kind:`tool`,start:l,end:(()=>{let t=e.messages;for(let e=s+1;e<t.length;e++){let n=t[e].timestamp;if(n&&Number.isFinite(n)&&n>l)return n}return l+400})(),label:o9(c.command,80),turnIndex:i,spanId:`m${s}`}):c.role===`toolResult`&&c.isError&&t.push({lane:2,kind:`error`,start:l,end:l+400,label:c.toolName??`tool`,turnIndex:i,spanId:`m${s}`}))}}),!Number.isFinite(n))return{spans:[],start:0,end:1};let i=Math.max(r,n+1,...t.map(e=>e.end));return{spans:t,start:n,end:i+(i-n)*.03}}var s9=`color-mix(in srgb, var(--accent) 60%, var(--status-error))`;function mde(e){switch(e.kind){case`user`:return`var(--accent)`;case`assistant`:return e.variant===`thinking`?`color-mix(in srgb, ${s9} 45%, var(--bg-panel))`:s9;case`tool`:return`var(--status-warning)`;case`error`:return`var(--status-error)`}}function hde(e,t,n){for(let r=0;r<e.content.length;r++){let i=e.content[r];if(i.type===`text`){let e=o9(i.text);e&&n.push({kind:`assistant`,text:e,spanId:`m${t}-b${r}`})}else if(i.type===`thinking`){let e=o9(i.thinking,120);e&&n.push({kind:`thinking`,text:e,spanId:`m${t}-b${r}`})}else i.type===`toolCall`&&n.push({kind:`tool`,text:A5(i),toolName:i.toolName,durationSecs:i.durationSecs,spanId:`m${t}-b${r}`})}}function gde(e){let t=[],n=new Map;for(let t of e.messages)if(t.role===`assistant`)for(let e of t.content)e.type===`toolCall`&&n.set(e.toolCallId,A5(e));for(let r=0;r<e.messages.length;r++){let i=e.messages[r];if(i.role===`assistant`){hde(i,r,t);continue}if(i.role===`toolResult`){let e=i;if(!e.isError)continue;let a=n.get(e.toolCallId)??o9(e.content.filter(e=>e.type===`text`).map(e=>e.text).join(` `),120);t.push({kind:`toolError`,text:a,toolName:e.toolName,spanId:`m${r}`});continue}if(i.role===`bashExecution`){t.push({kind:`bash`,text:o9(i.command,140),spanId:`m${r}`});continue}if(!(i.role===`custom`&&!i.display)&&(i.role===`custom`||i.role===`user`)){let e=typeof i.content==`string`?o9(i.content):o9(i.content.filter(e=>e.type===`text`).map(e=>e.text).join(` `));e&&t.push({kind:i.role===`user`?`user`:`assistant`,text:e,spanId:i.role===`user`?`user`:void 0})}}return t}var _de=18;function vde({turn:e,spans:t,laneLabels:n,emptyLabel:r,start:i,end:a,onHoverSpan:o,hoverSpanId:s}){let c=Math.max(1,a-i),l=[0,1,2].map(e=>t.filter(t=>t.lane===e));return(0,T.jsxs)(`div`,{style:{position:`relative`,flexShrink:0,borderBottom:`1px solid var(--border)`,background:`var(--bg-input)`,userSelect:`none`},children:[[0,1,2].map(e=>(0,T.jsxs)(`div`,{style:{display:`flex`,alignItems:`center`,height:_de},children:[(0,T.jsx)(`span`,{style:{width:64,flexShrink:0,textAlign:`right`,paddingRight:4,fontSize:10,lineHeight:1,color:`var(--text-muted)`},children:n[e]}),(0,T.jsx)(`div`,{style:{position:`relative`,flex:1,alignSelf:`stretch`,overflow:`hidden`,borderTop:e===0?void 0:`1px solid var(--border)`,borderLeft:`1px solid var(--border)`},children:l[e].map((e,t)=>{let n=Math.max(e.start,i),r=Math.min(e.end,a);if(r<=n)return null;let l=(n-i)/c*100,u=(r-n)/c*100,d=e=>e==null?`?`:new Date(e).toLocaleTimeString([],{hour:`2-digit`,minute:`2-digit`,second:`2-digit`});return(0,T.jsx)(F,{label:`${e.label}${e.detail?`\n${e.detail}`:``}\n${d(e.start)} → ${d(e.end)} · ${((e.end-e.start)/1e3).toFixed(1)}s`,children:(0,T.jsx)(`div`,{onPointerEnter:()=>o?.(e.spanId),onPointerLeave:()=>o?.(null),style:{position:`absolute`,top:`50%`,transform:`translateY(-50%)`,left:`${l}%`,width:`max(6px, calc(${u}% - 1px))`,height:8,borderRadius:1,background:mde(e),opacity:s===e.spanId||e.kind===`assistant`||e.kind===`tool`?1:.78,outline:s===e.spanId?`1px solid var(--accent)`:void 0}})},`s-${t}`)})})]},e)),!e&&(0,T.jsx)(`span`,{style:{position:`absolute`,inset:0,display:`flex`,alignItems:`center`,justifyContent:`center`,fontSize:`var(--text-sm)`,color:`var(--text-dim)`,background:`var(--bg-input)`},children:r})]})}function yde({turn:e,number:t,open:n,onToggle:r,hoverSpanId:i,onHoverSpan:a}){let{t:o}=M(),s=e.endTime!=null&&e.timestamp!=null?(e.endTime-e.timestamp)/1e3:void 0,c=n?gde(e):[];return(0,T.jsx)(`div`,{children:(0,T.jsxs)(`div`,{style:{display:`flex`,borderBottom:`1px solid var(--border)`},children:[(0,T.jsxs)(`div`,{style:{display:`flex`,flexDirection:`column`,alignItems:`center`,flexShrink:0,width:44,padding:`8px 0 0`},children:[(0,T.jsx)(`div`,{style:{fontSize:12},children:(0,T.jsx)(l$,{number:t})}),n&&(0,T.jsx)(`div`,{style:{width:1,flex:1,background:`var(--border)`}})]}),(0,T.jsxs)(`div`,{style:{flex:1,minWidth:0},children:[(0,T.jsxs)(`button`,{onClick:r,"aria-expanded":n,style:{display:`flex`,alignItems:`baseline`,gap:8,width:`100%`,textAlign:`left`,padding:`8px 12px 8px 4px`,background:`transparent`,cursor:`pointer`},children:[(0,T.jsx)(E5,{secs:s,timestamp:e.timestamp,endTimestamp:e.endTime}),(0,T.jsx)(`span`,{style:{flex:1,fontSize:`var(--text-base)`,color:`var(--text)`,overflow:`hidden`,textOverflow:`ellipsis`,whiteSpace:`nowrap`},children:e.userText||o(`trajectory.emptyTurn`)}),e.tools>0&&(0,T.jsx)(`span`,{style:{fontSize:`var(--text-sm)`,color:`var(--text-muted)`,flexShrink:0},children:o(`trajectory.turnStats`,{tools:e.tools,errors:e.toolErrors})})]}),n&&(0,T.jsx)(`div`,{style:{display:`flex`,flexDirection:`column`,gap:5,padding:`2px 12px 12px 4px`},children:c.map((e,t)=>(0,T.jsx)(lde,{row:e,highlighted:e.spanId!=null&&e.spanId===i,onHover:a,style:{paddingTop:4,borderTop:`1px solid color-mix(in srgb, var(--border) 45%, transparent)`}},t))})]})]})})}function bde({sessionId:e,active:t=!0}){let{t:n}=M(),[r,i]=(0,d.useState)(null),[a,o]=(0,d.useState)(null),[s,c]=(0,d.useState)(null),[l,u]=(0,d.useState)(null);(0,d.useSyncExternalStore)(oX,sX);let f=e?cX(e):void 0,p=e!=null&&f==null;(0,d.useEffect)(()=>{if(i(null),o(null),c(null),!p||!e)return;let t=new AbortController;return fetch(`/api/sessions/${encodeURIComponent(e)}`,{signal:t.signal}).then(async e=>{if(!e.ok)throw Error(String(e.status));let t=await e.json();i(t.context.messages)}).catch(e=>{t.signal.aborted||o(String(e))}),()=>t.abort()},[e,p]);let m=f??r,h=(0,d.useMemo)(()=>ude(m??[]),[m]),g=(0,d.useMemo)(()=>h.find(e=>e.index===s)??null,[h,s]),_=(0,d.useMemo)(()=>g?pde([g]):null,[g]),v=(0,d.useRef)(null),y=(0,d.useRef)(null),b=(0,d.useRef)(0),x=(0,d.useRef)(!1),S=(0,d.useRef)(``);if((0,d.useEffect)(()=>{if(t&&!x.current&&(b.current+=1),x.current=t,!t||!e||h.length===0)return;let n=`${b.current}:${e}`;if(S.current===n)return;S.current=n;let r=dX(e)??h.length-1;if(r>=h.length)return;let i=requestAnimationFrame(()=>{v.current?.scrollToIndex(r),c(h[r].index)});return()=>cancelAnimationFrame(i)},[t,e,h]),!e)return(0,T.jsx)(`div`,{style:{padding:24,color:`var(--text-dim)`},children:n(`trajectory.noSession`)});if(a)return(0,T.jsx)(`div`,{style:{padding:24,color:`var(--status-error)`},children:a});if(!m)return(0,T.jsx)(`div`,{style:{padding:24,color:`var(--text-dim)`},children:n(`trajectory.loading`)});let C=[n(`trajectory.lane.user`),n(`trajectory.lane.assistant`),n(`trajectory.lane.tool`)];return(0,T.jsxs)(`div`,{style:{display:`flex`,flexDirection:`column`,height:`100%`,minHeight:0},children:[(0,T.jsx)(vde,{turn:g,spans:_?.spans??[],start:_?.start??0,end:_?.end??1,laneLabels:C,emptyLabel:n(`trajectory.overviewEmpty`),onHoverSpan:u,hoverSpanId:l}),(0,T.jsx)(nU,{direction:`vertical`,scrollElRef:y,wrapperStyle:{flex:1,minHeight:0},children:(0,T.jsx)(MG,{ref:v,scrollRef:y,children:h.map((e,t)=>(0,T.jsx)(yde,{turn:e,number:dde(h,t),open:s===e.index,onToggle:()=>c(t=>t===e.index?null:e.index),hoverSpanId:l,onHoverSpan:u},`${e.index}-${e.userText.slice(0,12)}`))})})]})}function xde({sessionId:e}){let t=KU(yW);return(0,T.jsx)(`div`,{"data-trajectory-pane":!0,"data-session-id":e??``,style:{height:`100%`},children:(0,T.jsx)(bde,{sessionId:e,active:t})})}function Sde(e){return`min(calc(100vw - 16px), ${Math.max(48,Math.min(e-8,window.innerWidth-e-8))*2}px)`}function Cde({geometries:e,messages:t,onAddMessage:n,onRemoveMessage:r,onUpdateMessage:i,widgets:a,closedKeys:o,onReopen:s}){let{t:c}=M(),[l,u]=(0,d.useState)(null),[f,p]=(0,d.useState)(null),m=(0,d.useRef)(null);(0,d.useEffect)(()=>()=>{m.current&&clearTimeout(m.current)},[]);let h=e=>a.find(t=>t.key===e)?.lines[0],g=(e,t,n)=>{s(e),p({key:e,x:t,y:n}),m.current&&clearTimeout(m.current),m.current=setTimeout(()=>p(null),2500)},_=[...new Set([...Object.keys(e),...o.keys()])].map(t=>[t,e[t]]);return(0,T.jsxs)(`div`,{style:{height:`100%`,display:`flex`,flexDirection:`column`,background:`var(--bg)`},children:[_.length===0?(0,T.jsx)(`div`,{style:{padding:`32px 16px`,textAlign:`center`,color:`var(--text-dim)`,fontSize:`var(--text-lg)`,lineHeight:1.6},children:c(`config.widgets.empty`)}):(0,T.jsx)(`div`,{style:{flex:1,minHeight:0,overflowY:`auto`,padding:10,display:`flex`,flexDirection:`row`,flexWrap:`wrap`,alignContent:`flex-start`,gap:6},children:_.map(([e,a])=>{let s=t[e]??[],d=o.has(e),f=h(e);return(0,T.jsxs)(`div`,{"data-testid":`widget-config-item-${e}`,style:{flex:`1 1 200px`,maxWidth:`calc((100% - 18px) / 4)`,boxSizing:`border-box`,padding:`8px 10px`,borderRadius:5,background:`var(--bg-panel)`,border:`1px solid var(--border)`},children:[(0,T.jsxs)(`div`,{style:{display:`flex`,alignItems:`center`,gap:7,flexWrap:`wrap`},children:[(0,T.jsxs)(`div`,{style:{minWidth:0,flex:`1 1 120px`},children:[(0,T.jsx)(`div`,{style:{fontSize:`var(--text-base)`,fontWeight:600,fontFamily:`var(--font-mono)`,color:`var(--text)`,overflow:`hidden`,textOverflow:`ellipsis`,whiteSpace:`nowrap`},children:e}),a&&(0,T.jsxs)(`div`,{style:{marginTop:2,fontSize:`var(--text-sm)`,fontFamily:`var(--font-mono)`,color:`var(--text-dim)`},children:[c(`config.widgets.x`),`: `,a.x,` `,c(`config.widgets.y`),`: `,a.y,` ·`,` `,c(`config.widgets.width`),`: `,a.width,` `,c(`config.widgets.height`),`:`,` `,a.height]})]}),(0,T.jsxs)(`div`,{style:{display:`flex`,alignItems:`center`,gap:4,flexShrink:0},children:[d&&(0,T.jsxs)(`button`,{type:`button`,"data-testid":`widget-expand-${e}`,"aria-label":c(`widgets.reopen`),title:c(`widgets.reopen`),onClick:t=>g(e,t.clientX,t.clientY),style:{display:`flex`,alignItems:`center`,gap:4,padding:`4px 8px`,borderRadius:5,border:`1px solid var(--border)`,background:`var(--bg)`,color:`var(--text-muted)`,fontSize:`var(--text-sm)`,cursor:`pointer`},className:`hover-shift`,children:[(0,T.jsx)(Ar,{size:13,"aria-hidden":!0}),c(`widgets.reopen`)]}),(0,T.jsxs)(`button`,{type:`button`,"data-testid":`widget-bind-${e}`,onClick:()=>u(e),style:{display:`flex`,alignItems:`center`,gap:4,padding:`4px 8px`,borderRadius:5,border:`1px solid var(--border)`,background:`var(--bg)`,color:`var(--text-muted)`,fontSize:`var(--text-sm)`,cursor:`pointer`},children:[(0,T.jsx)(Yr,{size:13,"aria-hidden":!0}),c(`config.widgets.bind`)]})]})]}),f&&(0,T.jsx)(`div`,{style:{marginTop:4,fontSize:`var(--text-sm)`,color:`var(--text-muted)`,overflow:`hidden`,textOverflow:`ellipsis`,whiteSpace:`nowrap`},children:f}),(0,T.jsx)(UH,{messages:s,onAdd:t=>n(e,t),onRemove:t=>r(e,t),onUpdate:(t,n)=>i(e,t,n),bindOpen:l===e,onBindOpenChange:e=>{e||u(null)},ns:`widgets`,bindTestIdPrefix:`widget-bind`,editTestIdPrefix:`widget-edit`,chipTestIdPrefix:`widget-bound-${e}`,bindHintArgs:{key:e}})]},e)})}),f&&(0,T.jsx)(`div`,{role:`status`,"aria-live":`polite`,"data-testid":`widget-expanded-toast`,style:{position:`fixed`,left:f.x,maxWidth:Sde(f.x),top:f.y+12,transform:`translateX(-50%)`,zIndex:2e3,padding:`8px 12px`,borderRadius:7,border:`1px solid var(--status-success)`,background:`var(--bg)`,color:`var(--text)`,fontSize:`var(--text-base)`,boxShadow:`0 4px 16px var(--shadow-strong)`,whiteSpace:`normal`},children:c(`widgets.expandedToChat`,{key:f.key})})]})}function wde({widgetGeometries:e,widgetMessages:t,addWidgetMessage:n,removeWidgetMessage:r,updateWidgetMessage:i,extensionWidgets:a,closedWidgets:o,handleReopenWidget:s}){return(0,T.jsx)(T.Fragment,{children:(0,T.jsx)(Cde,{geometries:e,messages:t,onAddMessage:n,onRemoveMessage:r,onUpdateMessage:i,widgets:a,closedKeys:o,onReopen:s})})}function Tde({items:e,openUpdatesTab:t,onDismiss:n}){let{t:r}=M();return(0,T.jsxs)(`div`,{role:`status`,"data-testid":`update-banner`,style:{display:`flex`,alignItems:`center`,gap:8,padding:`6px 12px`,borderBottom:`1px solid var(--border)`,background:`color-mix(in srgb, var(--status-warning) 10%, var(--bg-panel))`,fontSize:`var(--text-sm)`,color:`var(--text)`,flexShrink:0},children:[(0,T.jsx)(`span`,{style:{flex:1,minWidth:0,overflow:`hidden`,textOverflow:`ellipsis`,whiteSpace:`nowrap`},children:r(`updates.banner`,{items:e.join(`, `)})}),(0,T.jsx)(`button`,{type:`button`,"data-testid":`update-banner-view`,onClick:()=>{t()},style:{padding:`3px 10px`,border:`1px solid var(--border)`,borderRadius:6,color:`var(--text-muted)`,cursor:`pointer`,fontSize:`var(--text-sm)`,flexShrink:0},children:r(`updates.view`)}),(0,T.jsx)(`button`,{type:`button`,"aria-label":r(`i18n.close`),onClick:n,style:{padding:`2px 6px`,border:`none`,color:`var(--text-dim)`,cursor:`pointer`,fontSize:`var(--text-sm)`,flexShrink:0},children:`✕`})]})}function Ede(){let e=(0,d.useRef)(null);return{chatInputRef:e,handleAtMention:(0,d.useCallback)((t,n)=>{e.current?.insertText(xQ(t,n))},[]),handleAtMentions:(0,d.useCallback)(t=>{let n=CQ(t);n&&e.current?.insertText(n)},[]),handleFileLineMention:(0,d.useCallback)((t,n,r)=>{e.current?.insertText(SQ(t,n,r))},[])}}function Dde(e){try{let t=window.localStorage.getItem(e);if(t===null)return null;let n=Number.parseInt(t,10);return Number.isFinite(n)?n:null}catch{return null}}function c9(e,t){try{window.localStorage.setItem(e,String(t))}catch{}}function l9(e){let{ariaLabel:t,cssVariable:n,defaultWidth:r,getDefaultWidth:i,getMaxWidth:a,growthDirection:o,maxWidth:s,minWidth:c,storageKey:l,widthRef:u}=e,f=(0,d.useRef)(null),p=(0,d.useRef)(null),m=(0,d.useRef)(!1),[h,g]=(0,d.useState)(r),[_,v]=(0,d.useState)(!1),y=(0,d.useCallback)(()=>Math.min(s,Math.max(c,a())),[a,s,c]),b=(0,d.useCallback)(e=>jo(e,c,y()),[y,c]),x=(0,d.useCallback)(e=>{u.current=e,f.current?.style.setProperty(n,`${e}px`)},[n,u]),S=(0,d.useCallback)((e,t={})=>{let{forcePersist:n=!1,persist:r=!0}=t,i=b(e),a=i!==u.current;return x(i),g(i),r&&(a||n)&&c9(l,i),i},[x,b,l,u]),C=(0,d.useCallback)(e=>{document.body.style.cursor=e.previousCursor,document.body.style.userSelect=e.previousUserSelect},[]),w=(0,d.useCallback)(e=>{let t=p.current;if(!(!t||t.pointerId!==e)){p.current=null,C(t),v(!1),S(u.current,{forcePersist:!0});try{t.target.hasPointerCapture(e)&&t.target.releasePointerCapture(e)}catch{}}},[S,C,u]),T=(0,d.useCallback)(e=>{if(e.pointerType===`mouse`&&e.button!==0)return;e.preventDefault(),e.stopPropagation();let t=p.current;t&&w(t.pointerId);let n=e.currentTarget;n.focus({preventScroll:!0}),n.setPointerCapture(e.pointerId),p.current={pointerId:e.pointerId,startX:e.clientX,startWidth:u.current,target:n,previousCursor:document.body.style.cursor,previousUserSelect:document.body.style.userSelect},document.body.style.cursor=`col-resize`,document.body.style.userSelect=`none`,v(!0)},[w,u]),E=(0,d.useCallback)(e=>{let t=p.current;if(!t||t.pointerId!==e.pointerId)return;if(e.pointerType===`mouse`&&e.buttons===0){w(e.pointerId);return}e.preventDefault();let n=o===`right`?1:-1,r=b(t.startWidth+(e.clientX-t.startX)*n);x(r),e.currentTarget.setAttribute(`aria-valuenow`,String(r)),e.currentTarget.setAttribute(`aria-valuetext`,`${r} px`)},[x,b,w,o]),D=(0,d.useCallback)(e=>{w(e.pointerId)},[w]),O=(0,d.useCallback)(e=>{w(e.pointerId)},[w]),k=(0,d.useCallback)(e=>{w(e.pointerId)},[w]),A=(0,d.useCallback)(()=>{let e=i?.()??r;S(e,{forcePersist:!0})},[S,r,i]),j=(0,d.useCallback)(()=>{S(u.current)},[S,u]),M=(0,d.useCallback)(e=>{let t=e.shiftKey?32:12,n=o===`right`?`ArrowRight`:`ArrowLeft`,r=o===`right`?`ArrowLeft`:`ArrowRight`;e.key===n?(e.preventDefault(),S(u.current+t,{forcePersist:!0})):e.key===r?(e.preventDefault(),S(u.current-t,{forcePersist:!0})):e.key===`Home`?(e.preventDefault(),S(c,{forcePersist:!0})):e.key===`End`?(e.preventDefault(),S(y(),{forcePersist:!0})):e.key===`Enter`&&(e.preventDefault(),A())},[S,y,o,c,A,u]);return(0,d.useEffect)(()=>{if(m.current)return;m.current=!0;let e=Dde(l),t=e??i?.()??r,n=S(t,{persist:!1});e!==null&&e!==n&&c9(l,n)},[S,r,i,l]),(0,d.useEffect)(()=>{if(!m.current)return;S(u.current);let e=()=>{S(u.current)};return window.addEventListener(`resize`,e),()=>window.removeEventListener(`resize`,e)},[S,u]),(0,d.useEffect)(()=>{if(!_)return;let e=()=>{let e=p.current;e&&w(e.pointerId)},t=()=>{document.visibilityState!==`visible`&&e()};return window.addEventListener(`blur`,e),document.addEventListener(`visibilitychange`,t),()=>{window.removeEventListener(`blur`,e),document.removeEventListener(`visibilitychange`,t)}},[w,_]),(0,d.useEffect)(()=>()=>{let e=p.current;e&&(p.current=null,C(e))},[C]),{isResizing:_,panelRef:f,reclampWidth:j,resetWidth:A,setWidth:e=>S(e,{forcePersist:!0}),separatorProps:{"aria-label":t,"aria-orientation":`vertical`,"aria-valuemax":y(),"aria-valuemin":c,"aria-valuenow":h,"aria-valuetext":`${h} px`,onDoubleClick:A,onKeyDown:M,onLostPointerCapture:k,onPointerCancel:O,onPointerDown:T,onPointerMove:E,onPointerUp:D,role:`separator`,tabIndex:0},width:h}}function Ode({isMobile:e,sidebarOpen:t,setSidebarOpen:n,translate:r}){let[i,a]=(0,d.useState)(!1),o=(0,d.useRef)(280),s=(0,d.useRef)(280),c=(0,d.useCallback)(()=>typeof window>`u`?480:Mo({viewportWidth:window.innerWidth,rightPanelOpen:!1,rightPanelWidth:0}),[]),l=l9({ariaLabel:r(`layout.resizeSidebar`),cssVariable:`--sidebar-width`,defaultWidth:280,getMaxWidth:c,growthDirection:`right`,maxWidth:480,minWidth:180,storageKey:`pi-sidebar-width`,widthRef:o}),u=l.reclampWidth,f=l9({ariaLabel:r(`layout.resizeWidgetPanel`),cssVariable:`--widget-panel-width`,defaultWidth:280,getMaxWidth:()=>typeof window>`u`?560:No({viewportWidth:window.innerWidth,sidebarOpen:t,sidebarWidth:l.width}),growthDirection:`left`,maxWidth:560,minWidth:200,storageKey:`pi-widget-panel-width`,widthRef:s});return(0,d.useEffect)(()=>{e&&n(!1)},[e,n]),(0,d.useEffect)(()=>{a(!0)},[]),(0,d.useEffect)(()=>{u()},[u]),{sidebarResizer:l,widgetPanelResizer:f,mobileSidebarReady:i}}var kde=176,Ade=86;function jde(e){let t=e.button.getBoundingClientRect(),n=e.row?.getBoundingClientRect(),r=n?.top??t.top,i=n?.bottom??t.bottom,a=Math.min(e.menuWidth,n?.width??e.tabRect.width),o=Math.min(t.left-1,Math.max(n?.left??e.tabRect.left,(n?.right??e.tabRect.right)-a)),s=i+4;return{top:s+e.estHeight>window.innerHeight-4?r-e.estHeight:s,left:o,width:a}}function Mde({activeTopPanel:e,isMobile:t,tabBarRef:n,sidebarTopBarRef:r,languageBtnRef:i}){let[a,o]=(0,d.useState)(null);return(0,d.useEffect)(()=>{if(!e)return;let a=()=>{if(document.hidden)return;let a=n.current?.getBoundingClientRect();if(a){if(e===`language`&&!t&&i.current){let e=jde({menuWidth:kde,estHeight:Ade,button:i.current,row:r.current,tabRect:a});o(e);return}o({top:a.bottom,left:a.left,width:a.width})}};a();let s=new ResizeObserver(a);return n.current&&s.observe(n.current),i.current&&s.observe(i.current),()=>s.disconnect()},[e,t]),a}var u9=`pi-web`;function d9(e,t){let n=f9(e),r=f9(t),i=Math.max(n.length,r.length);for(let e=0;e<i;e++){let t=n[e]??0,i=r[e]??0;if(t>i)return 1;if(t<i)return-1}return 0}function f9(e){return e.replace(/^v/i,``).split(/[-+]/)[0].split(`.`).map(e=>{let t=Number.parseInt(e,10);return Number.isNaN(t)?0:t})}function p9({current:e,latest:t},n){return t!==null&&t!==n&&d9(t,e)>0}function m9(e){return e.enabled!==!1}function h9(e,t){return t[e]===`*`}function Nde(e){if(!m9(e))return 0;let t=e.ignored??{};return+!!p9(e.piWeb,t[`pi-web`])+e.plugins.filter(e=>!h9(e.source,t)).length}function Pde(e,t){if(!m9(e))return[];let n=e.ignored??{},r=[];p9(e.piWeb,n[`pi-web`])&&r.push(`pi-web`);let i=e.plugins.filter(e=>!h9(e.source,n)).length;return i>0&&r.push(`${i} ${t}`),r}function Fde({activeCwd:e,translate:t}){let{value:n}=fo(kt),r=(0,d.useMemo)(()=>n?Nde(n):0,[n]),i=(0,d.useMemo)(()=>n?Pde(n,t(`common.plugins`)):[],[n,t]),[a,o]=(0,d.useState)(!1),s=(0,d.useRef)(void 0);return(0,d.useEffect)(()=>{e!==s.current&&(s.current=e,Ot(e??null),kt.load().catch(e=>console.error(`[pi-web] load updates:`,e)))},[e]),{updatesBadge:r,updateItems:i,updatesBannerDismissed:a,setUpdatesBannerDismissed:o}}function Ide({panelOpen:e,highlighted:t,onToggle:n}){let{t:r}=M(),i=r(e?`sidebar.hide`:`sidebar.show`);return(0,T.jsx)(F,{label:i,children:(0,T.jsx)(`button`,{onClick:n,"aria-controls":`widget-panel`,"aria-expanded":e,"aria-label":i,"data-testid":`widget-panel-toggle`,style:{display:`flex`,alignItems:`center`,justifyContent:`center`,width:36,height:36,padding:0,border:`none`,borderLeft:`1px solid var(--border)`,color:t?`var(--text)`:`var(--text-muted)`,cursor:`pointer`,flexShrink:0,transition:`color 0.12s`,"--hover-color":`var(--text)`},className:`hover-shift`,children:(0,T.jsxs)(`svg`,{width:I[`4xl`],height:I[`4xl`],viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`,children:[(0,T.jsx)(`rect`,{x:`3`,y:`3`,width:I[`4xl`],height:I[`4xl`],rx:`2`}),(0,T.jsx)(`line`,{x1:`15`,y1:`3`,x2:`15`,y2:`21`})]})})})}function Lde(){return(0,T.jsxs)(`div`,{role:`status`,"aria-label":`Loading`,"data-testid":`boot-splash`,style:{position:`fixed`,inset:0,zIndex:9999,display:`flex`,flexDirection:`column`,alignItems:`center`,justifyContent:`center`,gap:18,background:`var(--bg)`,color:`var(--text-muted)`},children:[(0,T.jsx)(`div`,{style:{fontSize:`var(--text-6xl)`,fontWeight:700,color:`var(--accent)`,letterSpacing:`0.02em`},children:`pi`}),(0,T.jsx)(`div`,{style:{width:22,height:22,border:`2px solid var(--border)`,borderTopColor:`var(--accent)`,borderRadius:`50%`,animation:`boot-spin 0.8s linear infinite`}}),(0,T.jsx)(`style`,{children:`@keyframes boot-spin { to { transform: rotate(360deg); } }`})]})}function Rde(){let{t:e}=M(),t=(0,d.useSyncExternalStore)(Mq,Nq,Nq);if(t.length===0)return null;let n=t[t.length-1],r={...n,message:IJ(n.message,e)},i=t.length;return(0,T.jsx)(Ku,{open:!0,onOpenChange:()=>{},children:(0,T.jsxs)(Xu,{children:[(0,T.jsx)(Qu,{style:{position:`fixed`,inset:0,zIndex:1200,background:`rgba(0, 0, 0, 0.45)`}}),(0,T.jsxs)(nd,{role:`alertdialog`,"aria-modal":`true`,onInteractOutside:e=>e.preventDefault(),onEscapeKeyDown:e=>e.preventDefault(),style:{position:`fixed`,top:`50%`,left:`50%`,transform:`translate(-50%, -50%)`,zIndex:1200,maxWidth:480,width:`calc(100% - 48px)`,maxHeight:`calc(100dvh - 48px)`,overflowY:`auto`,background:`var(--bg)`,border:`1px solid var(--border)`,borderRadius:10,padding:`16px 20px`,boxShadow:`0 8px 32px rgba(0, 0, 0, 0.35)`},children:[(0,T.jsxs)(sd,{style:{display:`flex`,alignItems:`center`,gap:8,marginBottom:10,fontSize:`var(--text-base)`,fontWeight:600,color:`var(--text)`},children:[(0,T.jsx)(`span`,{style:{color:`var(--status-error)`},children:`⚠`}),(0,T.jsx)(`span`,{children:i>1?e(`errors.titleCount`,{count:i}):e(`errors.title`)})]}),(0,T.jsx)(ld,{asChild:!0,children:(0,T.jsx)(`div`,{children:r.kind===`api`?(0,T.jsxs)(`div`,{children:[(0,T.jsxs)(`div`,{style:{display:`flex`,alignItems:`center`,gap:8,marginBottom:6},children:[(0,T.jsxs)(`span`,{style:{fontSize:`var(--text-xs)`,padding:`1px 8px`,borderRadius:999,background:`color-mix(in srgb, var(--status-error) 14%, transparent)`,color:`var(--status-error)`,fontWeight:600,whiteSpace:`nowrap`},children:[`HTTP `,r.status||`ERR`]}),r.context&&(0,T.jsx)(`span`,{style:{fontSize:`var(--text-xs)`,color:`var(--text-dim)`},children:r.context})]}),(0,T.jsx)(`div`,{style:{fontSize:`var(--text-sm)`,color:`var(--text)`,wordBreak:`break-word`},children:r.message})]}):(0,T.jsxs)(`div`,{children:[r.context&&(0,T.jsx)(`div`,{style:{fontSize:`var(--text-xs)`,color:`var(--text-dim)`,marginBottom:6},children:r.context}),(0,T.jsx)(`div`,{style:{fontSize:`var(--text-sm)`,color:`var(--text)`,wordBreak:`break-word`},children:r.message})]})})}),(0,T.jsxs)(`div`,{style:{display:`flex`,justifyContent:`flex-end`,gap:8,marginTop:16},children:[i>1&&(0,T.jsx)(`button`,{type:`button`,onClick:Fq,style:{border:`1px solid var(--border)`,color:`var(--text-muted)`,borderRadius:6,padding:`4px 12px`,fontSize:`var(--text-sm)`,cursor:`pointer`},children:e(`errors.clearAll`)}),(0,T.jsx)(`button`,{type:`button`,onClick:Pq,style:{border:`none`,background:`var(--accent)`,color:`#fff`,borderRadius:6,padding:`4px 14px`,fontSize:`var(--text-sm)`,cursor:`pointer`},children:e(`errors.close`)})]})]})]})})}var zde=3e3,Bde=6e4;function g9(e,t){return e?e.error?e.path.split(/[\\/]/).pop()||t:e.name||e.firstMessage.slice(0,50)||t.slice(0,12):t.slice(0,12)}function Vde(e,t){return e.filter(e=>!t.has(e))}function Hde(e,t,n,r){switch(e.type){case`prompt_error`:case`extension_error`:{if(!n.errors)return null;let t=e.errorMessage??r(`i18n.commandFailed`);return{title:r(`chat.taskErrorNotificationTitle`),body:t,tag:`agent-error-${e.sessionId}`}}case`extension_ui_request`:{if(!n.questions)return null;let t=e.method;if(t!==`select`&&t!==`confirm`&&t!==`input`&&t!==`editor`)return null;let i=e.title??r(`chat.questionNotificationTitle`);return{title:r(`chat.questionNotificationTitle`),body:i,tag:`question-${e.id??e.sessionId}`}}default:return null}}function Ude(){let{t:e}=M(),{notifyEvents:t}=er(),[n,r]=(0,d.useState)([]),i=(0,d.useRef)([]);(0,d.useEffect)(()=>{i.current=n});let a=(0,d.useRef)(t);(0,d.useEffect)(()=>{a.current=t});let o=(0,d.useRef)(e);(0,d.useEffect)(()=>{o.current=e});let{runningSessionIds:s}=NX(),c=(0,d.useRef)(!1),l=(0,d.useRef)([]),u=(0,d.useRef)(new Map);(0,d.useEffect)(()=>{if(!a.current.taskComplete)return;let e=c.current?l.current:null;if(l.current=[...s],c.current=!0,!e)return;let t=Vde(e,s);if(t.length===0)return;let n=Date.now();for(let e of t){let t=u.current.get(e);t!==void 0&&n-t<zde||(i.current.some(t=>t.id===e)||p.current(),console.info(`[notify] completion via running-snapshot (${e})`),XK({title:o.current(`chat.taskCompleteNotificationTitle`),body:o.current(`chat.sessionCompletedNotificationBody`,{name:g9(i.current.find(t=>t.id===e),e)}),tag:`session-complete-${e}`,notifyWhileActive:a.current.notifyWhileActive}))}},[s]);let f=(0,d.useCallback)(async()=>{try{let e=await fetch(`/api/sessions`,{cache:`no-store`});if(!e.ok)return;let t=await e.json();t.sessions&&r(t.sessions)}catch{}},[]),p=(0,d.useRef)(f);return(0,d.useEffect)(()=>{p.current=f}),(0,d.useEffect)(()=>{f();let e=setInterval(()=>void f(),Bde);return()=>clearInterval(e)},[f]),(0,d.useEffect)(()=>Qe({ch:`global`},e=>{let t=e;if(!t.sessionId)return;let n=t.sessionId;(t.type===`prompt_error`||t.type===`extension_error`)&&u.current.set(n,Date.now()),i.current.some(e=>e.id===n)||p.current();let r=Hde(t,g9(i.current.find(e=>e.id===n),n),a.current,o.current);r&&(console.info(`[agent-events] notifying: ${r.title}`),XK({...r,notifyWhileActive:a.current.notifyWhileActive}))}),[]),null}var Wde=3;function Gde(){let{t:e}=M(),t=(0,d.useSyncExternalStore)(Ln,Rn,Rn);if(t.length===0)return null;let n=t.slice(0,Wde),r=t.length-n.length;return(0,T.jsx)(`div`,{"aria-busy":`true`,style:{position:`fixed`,inset:0,zIndex:1150,background:`color-mix(in srgb, var(--bg) 40%, transparent)`,display:`flex`,alignItems:`center`,justifyContent:`center`,pointerEvents:`none`},children:(0,T.jsxs)(`div`,{style:{display:`flex`,flexDirection:`column`,gap:10,minWidth:220,maxWidth:`60vw`,padding:`14px 18px`,background:`var(--bg)`,border:`1px solid var(--border)`,borderRadius:`var(--radius)`,boxShadow:`0 8px 32px rgba(0,0,0,0.25)`},children:[n.map(t=>(0,T.jsxs)(`div`,{style:{display:`flex`,alignItems:`center`,gap:10,fontSize:`var(--text-sm)`,color:`var(--text)`},children:[(0,T.jsx)(`div`,{style:{width:14,height:14,flexShrink:0,border:`2px solid var(--border)`,borderTopColor:`var(--accent)`,borderRadius:`50%`,animation:`spin 0.8s linear infinite`}}),(0,T.jsx)(`span`,{style:{overflow:`hidden`,textOverflow:`ellipsis`,whiteSpace:`nowrap`},children:t.label||e(`loading.inProgress`)})]},t.id)),r>0&&(0,T.jsx)(`div`,{style:{fontSize:`var(--text-sm)`,color:`var(--text-dim)`},children:e(`loading.more`,{count:r})})]})})}function Kde({cwd:e,busy:t,error:n,onCancel:r,onConfirm:i}){let{t:a}=M();return(0,T.jsx)(xd,{open:!0,onOpenChange:e=>{!e&&!t&&r()},children:(0,T.jsxs)(Td,{className:`w-[440px] gap-0 overflow-hidden rounded-lg p-0`,style:{zIndex:1100,maxWidth:`calc(100% - 2rem)`,overflowY:`auto`},showCloseButton:!1,onPointerDownOutside:e=>{t&&e.preventDefault()},onEscapeKeyDown:e=>{t&&e.preventDefault()},children:[(0,T.jsxs)(`div`,{style:{display:`flex`,gap:12,padding:`18px 18px 14px`},children:[(0,T.jsxs)(`svg`,{width:I[`5xl`],height:I[`5xl`],viewBox:`0 0 24 24`,fill:`none`,stroke:`var(--status-warning)`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`,"aria-hidden":`true`,style:{flexShrink:0,marginTop:1},children:[(0,T.jsx)(`path`,{d:`M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10Z`}),(0,T.jsx)(`path`,{d:`m9 12 2 2 4-4`})]}),(0,T.jsxs)(`div`,{style:{minWidth:0},children:[(0,T.jsx)(Ed,{style:{fontSize:`var(--text-2xl)`,fontWeight:700,color:`var(--text)`,lineHeight:1.4},children:a(`trust.dialogTitle`)}),(0,T.jsx)(Dd,{style:{marginTop:7,fontSize:`var(--text-base)`,lineHeight:1.6,color:`var(--text-muted)`},children:a(`trust.dialogBody`)}),(0,T.jsx)(`code`,{style:{display:`block`,marginTop:10,padding:`8px 10px`,border:`1px solid var(--border)`,borderRadius:5,background:`var(--bg)`,color:`var(--text)`,fontFamily:`var(--font-mono)`,fontSize:`var(--text-sm)`,overflowWrap:`anywhere`},children:e}),n&&(0,T.jsx)(`div`,{role:`alert`,style:{marginTop:10,color:`var(--status-error)`,fontSize:`var(--text-base)`,lineHeight:1.5},children:n})]})]}),(0,T.jsxs)(`div`,{style:{display:`flex`,justifyContent:`flex-end`,gap:8,padding:`10px 18px`,borderTop:`1px solid var(--border)`},children:[(0,T.jsx)(md,{type:`button`,variant:`outline`,onClick:r,disabled:t,className:`h-8 px-3 text-xs`,children:a(`trust.cancel`)}),(0,T.jsx)(md,{type:`button`,onClick:i,disabled:t,className:`h-8 px-3 text-xs`,style:{cursor:t?`wait`:`pointer`},children:a(t?`trust.trusting`:`trust.trustProject`)})]})]})})}var _9=2e3,v9=[],y9=new Set,b9=new Set,qde=0;function x9(){for(let e of y9)e()}function S9(e){let t=document.querySelector(`[data-testid="session-sidebar"]`);if(!e||!t)return null;let n=Math.round(e.getBoundingClientRect().top-t.getBoundingClientRect().top);return Math.max(0,n)}function C9(e,t){if(e===null)return;let n=++qde;v9=[...v9,{id:n,y:e,text:t}],x9();let r=setTimeout(()=>w9(n),_9);b9.add(r)}function w9(e){if(v9.some(t=>t.id===e)){for(let e of b9)clearTimeout(e);b9.clear(),v9=v9.filter(t=>t.id!==e);for(let e of v9){let t=setTimeout(()=>w9(e.id),_9);b9.add(t)}x9()}}function Jde(e,t){C9(S9(e),t)}function T9(e,t){for(let n of document.querySelectorAll(`[${e}]`))if(n.getAttribute(e)===t)return n;return null}function Yde(e){return y9.add(e),()=>{y9.delete(e)}}function Xde(){return v9}function Zde(){let e=(0,d.useSyncExternalStore)(Yde,Xde);return e.length===0?null:(0,T.jsx)(T.Fragment,{children:e.map(e=>(0,T.jsx)(uo,{open:!0,onDismiss:()=>w9(e.id),autoDismissSecs:2,closable:!1,testId:`deleted-ghost`,style:{position:`absolute`,top:e.y,left:8,zIndex:30,maxWidth:`calc(100% - 16px)`,pointerEvents:`none`,background:`var(--bg)`,color:`var(--accent)`},children:(0,T.jsx)(`span`,{style:{whiteSpace:`normal`,wordBreak:`break-word`},children:e.text})},e.id))})}var Qde=6e4,E9=new Map,D9=new Map,O9=new Map(E9),k9=new Set;function A9(){O9=new Map(E9);for(let e of k9)e()}function $de(e){return k9.add(e),()=>k9.delete(e)}function j9(e,t){E9.set(e,t),t.status!==`running`&&D9.delete(e),A9()}function M9(){return(0,d.useSyncExternalStore)($de,()=>O9,()=>O9)}function N9(e,t,n,r){if(E9.get(e)?.status===`running`)return null;j9(e,{kind:t,status:`running`});let i=Cp(n,Qde);return D9.set(e,i),i.promise.then(()=>{j9(e,{kind:t,status:`done`}),r?.()},n=>{j9(e,{kind:t,status:`error`,error:n instanceof Error?n.message:String(n)})}),i}function efe(e){let t=!1;for(let[n,r]of E9)r.status!==`running`&&!e.has(n)&&(E9.delete(n),t=!0);t&&A9()}var P9=`pi-web:unread-session-ids`;function tfe(){if(typeof window>`u`)return new Set;try{let e=window.localStorage.getItem(P9);if(!e)return new Set;let t=JSON.parse(e);return Array.isArray(t)?new Set(t.filter(e=>typeof e==`string`)):new Set}catch{return new Set}}function F9(e){if(!(typeof window>`u`))try{e.size===0?window.localStorage.removeItem(P9):window.localStorage.setItem(P9,JSON.stringify([...e]))}catch{}}function nfe(){let[e,t]=(0,d.useState)(()=>tfe());return(0,d.useEffect)(()=>{F9(e)},[e]),{unreadSessionIds:e,setUnreadSessionIds:t}}function rfe(){let{t:e}=M();return(0,T.jsx)(`span`,{title:e(`sidebar.newActivity`),"aria-label":e(`sidebar.newSessionActivity`),style:{width:14,height:14,display:`inline-flex`,alignItems:`center`,justifyContent:`center`,flexShrink:0,color:`var(--accent)`},children:(0,T.jsxs)(`svg`,{width:I.xl,height:I.xl,viewBox:`0 0 14 14`,fill:`none`,"aria-hidden":`true`,style:{display:`block`},children:[(0,T.jsx)(`circle`,{cx:`7`,cy:`7`,r:`2.5`,fill:`currentColor`}),(0,T.jsx)(`circle`,{cx:`7`,cy:`7`,r:`3`,stroke:`currentColor`,strokeWidth:`1.4`,opacity:`0.32`,style:{transformOrigin:`center`,animation:`session-ring-pulse 1.6s ease-in-out infinite`}})]})})}function ife({savedWorkspaces:e,onSavedWorkspacesChange:t,setSelectedCwd:n}){let[r,i]=(0,d.useState)(!1),[a,o]=(0,d.useState)(``),[s,c]=(0,d.useState)(null),[l,u]=(0,d.useState)(!1);return{customPathOpen:r,setCustomPathOpen:i,customPathError:s,setCustomPathError:c,customPathValidating:l,commitCustomPath:(0,d.useCallback)(async r=>{let s=(r??a).trim();if(!(!s||l)){u(!0),c(null);try{let r=await fetch(`/api/cwd/validate`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({cwd:s})}),a=await r.json().catch(()=>({}));if(!r.ok||a.error){c(a.error??`HTTP ${r.status}`);return}let l=a.cwd??s;if(n(l),i(!1),o(``),t){let n=e??[];n.some(e=>W5(e)===W5(l))||t([...n,l])}}catch(e){c(e instanceof Error?e.message:String(e))}finally{u(!1)}}},[a,l,e,t,n])}}function afe({savedWorkspaces:e,onSavedWorkspacesChange:t,onSessionDeleted:n,loadSessions:r}){let[i,a]=(0,d.useState)(null),[o,s]=(0,d.useState)(null),c=[...M9().values()].some(e=>e.kind===`group`&&e.status===`running`),l=(0,d.useCallback)((e,t=null)=>{a(e),s(t)},[]);return{confirmDeleteGroup:i,setConfirmDeleteGroup:l,deleteGroupAnchor:o,deletingGroup:c,handleDeleteGroup:(0,d.useCallback)(i=>{l(null);let a=N9(W5(i.root),`group`,async e=>{await Promise.all(i.sessions.map(async t=>{try{let n=await fetch(`/api/sessions/${encodeURIComponent(t.id)}`,{method:`DELETE`,headers:{"Content-Type":`application/json`},body:JSON.stringify({deleteAllAuxFiles:!0}),signal:e});n.ok||console.error(`[sidebar] failed to delete ${t.id}:`,n.status)}catch(e){e instanceof Error&&e.name===`AbortError`||console.error(`[sidebar] failed to delete ${t.id}:`,e)}}))},()=>{for(let e of i.sessions)n?.(e.id);let a=e??[];t&&a.some(e=>W5(e)===W5(i.root))&&t(a.filter(e=>W5(e)!==W5(i.root))),r(!1,!0)});return a?a.promise.then(()=>!0,()=>!1):Promise.resolve(!1)},[e,t,n,r])}}var ofe=2e3;function sfe({selectedSessionId:e,refreshKey:t,runningSessionIds:n,setUnreadSessionIds:r,setRunningSessionIds:i,runningPollAuthoritativeRef:a,setError:o}){let[s,c]=(0,d.useState)([]),[l,u]=(0,d.useState)(!0),[f,p]=(0,d.useState)(``),[m,h]=(0,d.useState)(!1),g=(0,d.useRef)(new Set),_=(0,d.useRef)(null),v=(0,d.useRef)(0),y=(0,d.useCallback)(async(e=!1,t=!1)=>{try{e&&u(!0);let n=t?await Ct.refresh():await Ct.load();c(n.sessions),a.current||i(new Set(n.runningSessionIds??[]));let s=new Set(n.sessions.map(e=>e.id));r(e=>{if(e.size===0)return e;let t=new Set([...e].filter(e=>s.has(e)));return t.size===e.size?e:t}),o(null),e||(h(!0),_.current&&clearTimeout(_.current),_.current=setTimeout(()=>h(!1),2e3))}catch(e){o(String(e))}finally{e&&u(!1)}},[r,i,a,o]),b=(0,d.useRef)(!1);return(0,d.useEffect)(()=>{let e=!b.current;b.current=!0,y(e,e)},[y,t]),(0,d.useEffect)(()=>{let t=[...g.current].filter(t=>!n.has(t)&&t!==e),i=[...n];if((t.length>0||i.length>0)&&r(e=>{let n=new Set(e);return i.forEach(e=>n.delete(e)),t.forEach(e=>n.add(e)),n}),t.length>0&&y(!1),[...n].filter(e=>!s.some(t=>t.id===e)).length>0){let e=Date.now();e-v.current>=ofe&&(v.current=e,y(!1,!0))}g.current=n},[n,e,s,y,r]),(0,d.useEffect)(()=>{e&&(TY(e),r(t=>{if(!t.has(e))return t;let n=new Set(t);return n.delete(e),n}))},[e,r]),(0,d.useEffect)(()=>{fetch(`/api/home`).then(e=>e.json()).then(e=>{e.home&&p(e.home)}).catch(e=>console.error(`[pi-web] load home dir:`,e))},[]),{allSessions:s,loading:l,sessionRefreshDone:m,homeDir:f,loadSessions:y}}var I9=(e,t)=>e.replace(/\\/g,`/`)===t.replace(/\\/g,`/`);function L9(e,t){let n=new Date(e),r=new Date().getTime()-n.getTime(),i=Math.floor(r/6e4),a=Math.floor(r/36e5),o=Math.floor(r/864e5);return i<1?t(`sidebar.justNow`):i<60?t(`sidebar.minutesAgo`,{count:i}):a<24?t(`sidebar.hoursAgo`,{count:a}):o<7?t(`sidebar.daysAgo`,{count:o}):n.toLocaleDateString()}function cfe(e){let t=new Map;for(let n of e){let e=n.projectRoot??n.cwd;if(!e)continue;let r=t.get(e);(!r||n.modified>r)&&t.set(e,n.modified)}return[...t.entries()].sort((e,t)=>t[1].localeCompare(e[1])).map(([e])=>e)}function R9(e,t){return t&&e.startsWith(t)?`~${e.slice(t.length)}`:e}function z9(e){let t=e.split(/[\\/]+/).filter(Boolean);return t.length?t[t.length-1]:e}function B9({text:e,style:t}){return(0,T.jsx)(`span`,{style:{overflow:`hidden`,textOverflow:`ellipsis`,whiteSpace:`nowrap`,display:`block`,minWidth:0,lineHeight:1.35,direction:`rtl`,textAlign:`left`,...t},children:(0,T.jsx)(`span`,{style:{unicodeBidi:`plaintext`},children:e})})}function V9({session:e}){return(0,T.jsxs)(`span`,{style:{display:`flex`,alignItems:`center`,gap:4,color:`var(--danger)`,minWidth:0,overflow:`hidden`,textOverflow:`ellipsis`,whiteSpace:`nowrap`},title:`${e.path}: ${e.error}`,children:[(0,T.jsxs)(`svg`,{width:I.xs,height:I.xs,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2.5`,strokeLinecap:`round`,strokeLinejoin:`round`,"aria-hidden":`true`,style:{flexShrink:0},children:[(0,T.jsx)(`path`,{d:`m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3`}),(0,T.jsx)(`path`,{d:`M12 9v4`}),(0,T.jsx)(`path`,{d:`M12 17h.01`})]}),e.error]})}var H9=140;function lfe({open:e,children:t,style:n}){let[r,i]=(0,d.useState)(e),[a,o]=(0,d.useState)(e);return(0,d.useEffect)(()=>{let t,n;return e?(i(!0),o(!1),t=window.requestAnimationFrame(()=>{t=window.requestAnimationFrame(()=>o(!0))})):(o(!1),n=setTimeout(()=>i(!1),H9)),()=>{t!==void 0&&window.cancelAnimationFrame(t),n&&clearTimeout(n)}},[e]),r?(0,T.jsx)(`div`,{style:{...n,opacity:+!!a,transform:a?`translateY(0) scale(1)`:`translateY(-8px) scale(0.96)`,transformOrigin:`top center`,transition:`opacity ${H9}ms ease, transform ${H9}ms ease`,pointerEvents:e?`auto`:`none`},children:t}):null}function ufe({worktreeState:e,allSessions:t,selectedCwd:n,setSelectedCwd:r,onCwdChange:i,initialSessionId:a,skipInitialProjectSelection:o,onSelectSession:s,onInitialRestoreDone:c,markSeen:l}){let u=(0,d.useCallback)(n=>n?e?.forCwd&&I9(e.forCwd,n)||e?.worktrees.some(e=>I9(e.path,n))?e.projectRoot:t.find(e=>e.cwd&&I9(e.cwd,n))?.projectRoot??n:null,[e,t]),f=(0,d.useRef)(null);(0,d.useEffect)(()=>{f.current!==n&&(f.current=n,i?.(n,u(n)))},[n,i,u]);let p=(0,d.useRef)(!1);return(0,d.useEffect)(()=>{if(!(t.length===0||o)&&n===null){if(a&&!p.current){p.current=!0;let e=t.find(e=>e.id===a);if(e){r(e.cwd),l(e.id),s(e,!0);return}c?.()}let e=cfe(t);e.length>0&&r(e[0])}},[t,n,a,o,s,c,l,r]),{projectRootFor:u}}function dfe({onUnseenSession:e}){let[t,n]=(0,d.useState)(()=>new Set);return{seenSessionIds:t,markSeen:(0,d.useCallback)(e=>{n(t=>{if(t.has(e))return t;let n=new Set(t);return n.add(e),n})},[]),handleUnseen:(0,d.useCallback)(t=>{n(e=>{if(!e.has(t))return e;let n=new Set(e);return n.delete(t),n}),Ze(t),e?.(t)},[e])}}function ffe(e){let{selectedCwd:t,selectedCwdProp:n,refreshKey:r,setSelectedCwd:i}=e,[a,o]=(0,d.useState)(null),[s,c]=(0,d.useState)(!1),[l,u]=(0,d.useState)(!1),[f,p]=(0,d.useState)(``),[m,h]=(0,d.useState)(null),[g,_]=(0,d.useState)(!1),[v,y]=(0,d.useState)(null),[b,x]=(0,d.useState)(null),[S,C]=(0,d.useState)(``),w=(0,d.useRef)(null),T=(0,d.useRef)(null),E=(0,d.useRef)(null);(0,d.useEffect)(()=>{n&&n!==E.current&&(E.current=n,i(n))},[n,i]);let D=(0,d.useCallback)(()=>{c(!1),u(!1),p(``),h(null),y(null),C(``)},[]),[O,k]=(0,d.useState)(0);(0,d.useLayoutEffect)(()=>{if(!t){o(null),x(null);return}let e=!1;return x(t),fetch(`/api/worktrees?cwd=${encodeURIComponent(t)}`).then(e=>e.json()).then(n=>{if(!e){if(x(null),n.error||!n.projectRoot){o(null);return}o({forCwd:t,projectRoot:n.projectRoot,isGit:n.isGit??!1,isTopLevel:n.isTopLevel??!1,worktrees:n.worktrees??[]})}}).catch(()=>{e||(x(null),o(null))}),()=>{e=!0}},[t,O,r]);let A=(0,d.useCallback)(async()=>{let e=f.trim();if(!(!e||g||!a)){_(!0),h(null);try{let t=await fetch(`/api/worktrees`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({cwd:a.projectRoot,branch:e})}),n=await t.json().catch(()=>({}));if(!t.ok||n.error||!n.path){h(n.error??`HTTP ${t.status}`);return}D(),o(t=>t&&{...t,forCwd:n.path,worktrees:[...t.worktrees,{path:n.path,branch:e,isMain:!1}]}),i(n.path),k(e=>e+1)}catch(e){h(e instanceof Error?e.message:String(e))}finally{_(!1)}}},[D,f,g,a,i]),j=(0,d.useCallback)(async(e,n)=>{if(!(!a||g)){_(!0),h(null);try{let r=await fetch(`/api/worktrees`,{method:`DELETE`,headers:{"Content-Type":`application/json`},body:JSON.stringify({cwd:a.projectRoot,path:e,force:n})}),o=await r.json().catch(()=>({}));if(!r.ok){if(o.dirty&&!n){y(e);return}h(o.error??`HTTP ${r.status}`);return}D(),t&&e&&I9(t,e)&&i(a.projectRoot),k(e=>e+1)}catch(e){h(e instanceof Error?e.message:String(e))}finally{_(!1)}}},[D,a,g,t,i]);return(0,d.useEffect)(()=>{let e=e=>{w.current&&!w.current.contains(e.target)&&D()};return document.addEventListener(`mousedown`,e),()=>document.removeEventListener(`mousedown`,e)},[D]),{worktreeState:a,worktreeLoadingCwd:b,wtDropdownOpen:s,setWtDropdownOpen:c,wtNewOpen:l,setWtNewOpen:u,wtNewBranch:f,setWtNewBranch:p,wtError:m,setWtError:h,wtBusy:g,wtConfirmRemove:v,setWtConfirmRemove:y,wtFilter:S,setWtFilter:C,wtDropdownRef:w,wtNewInputRef:T,closeWorktrees:D,handleCreateWorktree:A,handleRemoveWorktree:j}}function pfe({selectedCwd:e,worktreeState:t,selectedProject:n,worktreeLoadingCwd:r,t:i}){let a=!!(t?.isGit&&t.isTopLevel&&e&&n===t.projectRoot),o=e&&t&&n===t.projectRoot&&!a?t.isGit?{label:i(`sidebar.openRepoRoot`),title:i(`sidebar.openRepoRootTitle`)}:{label:i(`sidebar.gitRepoRootOnly`),title:i(`sidebar.gitRepoRootOnlyTitle`)}:null,s=!!(e&&r===e);return{showWorktreeSwitcher:a,worktreeLoading:s,inactiveWorktreeSelector:o??(s&&!a?{label:i(`sidebar.worktrees`),title:i(`sidebar.checkingWorktrees`)}:null)}}function mfe({selectedSession:e,selectedSessionId:t,refreshKey:n,selectedCwdProp:r,savedWorkspaces:i,onSavedWorkspacesChange:a,onUnseenSession:o,onCwdChange:s,initialSessionId:c,skipInitialProjectSelection:l,onSelectSession:u,onInitialRestoreDone:f,onSessionDeleted:p}){let{t:m}=M(),[h,g]=(0,d.useState)(null),_=ife({savedWorkspaces:i,onSavedWorkspacesChange:a,setSelectedCwd:g}),v=ffe({selectedCwd:h,selectedCwdProp:r,refreshKey:n,setSelectedCwd:g}),{worktreeState:y,worktreeLoadingCwd:b}=v,[x,S]=(0,d.useState)(!1),[C,w]=(0,d.useState)(``),T=(0,d.useRef)(null);(0,d.useEffect)(()=>{x&&T.current?.focus()},[x]);let{seenSessionIds:E,markSeen:D,handleUnseen:O}=dfe({onUnseenSession:o}),{unreadSessionIds:k,setUnreadSessionIds:A}=nfe(),j=OY(),{runningSessionIds:N,runningPhases:ee,runningPhaseSince:te,runningRespondingSince:P,runningBusySince:ne,setRunningSessionIds:re,runningPollAuthoritativeRef:ie}=NX(),[ae,oe]=(0,d.useState)(null),{allSessions:se,loading:ce,sessionRefreshDone:le,homeDir:ue,loadSessions:de}=sfe({selectedSessionId:t,refreshKey:n,runningSessionIds:N,setUnreadSessionIds:A,setRunningSessionIds:re,runningPollAuthoritativeRef:ie,setError:oe});(0,d.useEffect)(()=>{F9(k)},[k]);let{projectRootFor:fe}=ufe({worktreeState:y,allSessions:se,selectedCwd:h,setSelectedCwd:g,onCwdChange:s,initialSessionId:c,skipInitialProjectSelection:l,onSelectSession:u,onInitialRestoreDone:f,markSeen:D}),[pe,me]=(0,d.useState)({}),[he,ge]=(0,d.useState)(null),_e=fe(h),ve=se,{showWorktreeSwitcher:ye,inactiveWorktreeSelector:be}=pfe({selectedCwd:h,worktreeState:y,selectedProject:_e,worktreeLoadingCwd:b,t:m}),{confirmDeleteGroup:xe,setConfirmDeleteGroup:Se,deleteGroupAnchor:Ce,deletingGroup:we,handleDeleteGroup:Te}=afe({savedWorkspaces:i,onSavedWorkspacesChange:a,onSessionDeleted:p,loadSessions:de}),Ee=(0,d.useMemo)(()=>mce({filteredSessions:ve,selectedSession:e,projectRootFor:fe,selectedCwd:h,savedWorkspaces:i}),[ve,h,fe,e,i]),De=C.trim().toLowerCase(),Oe=(0,d.useMemo)(()=>hce(Ee,De),[Ee,De]);return(0,d.useEffect)(()=>{let e=new Set;for(let t of se)e.add(t.id);for(let t of i??[])e.add(W5(t));efe(e)},[se,i]),{t:m,selectedCwd:h,setSelectedCwd:g,selectedSessionId:t,customPath:_,wt:v,workspaceSearchOpen:x,setWorkspaceSearchOpen:S,workspaceSearchQuery:C,setWorkspaceSearchQuery:w,workspaceSearchInputRef:T,seenSessionIds:E,markSeen:D,handleUnseen:O,unreadSessionIds:k,interactionBadges:j,runningSessionIds:N,runningPhases:ee,runningPhaseSince:te,runningRespondingSince:P,runningBusySince:ne,error:ae,setError:oe,loading:ce,sessionRefreshDone:le,homeDir:ue,loadSessions:de,groupCollapsed:pe,setGroupCollapsed:me,hoveredGroup:he,setHoveredGroup:ge,selectedProject:_e,showWorktreeSwitcher:ye,inactiveWorktreeSelector:be,confirmDeleteGroup:xe,setConfirmDeleteGroup:Se,deleteGroupAnchor:Ce,deletingGroup:we,handleDeleteGroup:Te,wsQuery:De,visibleGroups:Oe}}function hfe({searchQuery:e,setSearchQuery:t,currentPath:n,hasUncommittedPath:r,canSelect:i,busy:a,onCancel:o,onSelect:s}){let{t:c}=M();return(0,T.jsx)(T.Fragment,{children:(0,T.jsxs)(`div`,{className:`directory-picker-footer`,style:{display:`flex`,justifyContent:`space-between`,alignItems:`center`,gap:10,flexShrink:0,padding:`10px 18px`,borderTop:`1px solid var(--border)`},children:[(0,T.jsxs)(`div`,{style:{display:`flex`,alignItems:`center`,gap:6,flex:1,minWidth:0},children:[(0,T.jsxs)(`svg`,{width:I.lg,height:I.lg,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`1.8`,strokeLinecap:`round`,strokeLinejoin:`round`,"aria-hidden":`true`,style:{color:`var(--text-dim)`,flexShrink:0},children:[(0,T.jsx)(`circle`,{cx:`11`,cy:`11`,r:`7`}),(0,T.jsx)(`path`,{d:`m21 21-4.3-4.3`})]}),(0,T.jsx)(zy,{className:`directory-picker-search h-8 flex-1`,type:`text`,value:e,placeholder:c(`directoryPicker.search`),"aria-label":c(`directoryPicker.search`),autoComplete:`off`,spellCheck:!1,style:sx,onChange:e=>t(e.target.value)})]}),(0,T.jsxs)(`div`,{style:{display:`flex`,alignItems:`center`,gap:10,flexShrink:0},children:[(0,T.jsx)(`button`,{className:`directory-picker-action`,type:`button`,onClick:o,disabled:a,style:{padding:`6px 14px`,border:`1px solid var(--border)`,borderRadius:6,color:`var(--text-muted)`,cursor:a?`default`:`pointer`,fontSize:`var(--text-lg)`},children:c(`i18n.cancel`)}),(0,T.jsx)(`button`,{className:`directory-picker-action`,type:`button`,onClick:()=>s(n),disabled:!i,title:c(r?`directoryPicker.openBeforeSelecting`:`directoryPicker.selectCurrentDirectory`),style:{padding:`6px 16px`,border:0,borderRadius:6,background:`var(--accent)`,color:`var(--on-accent)`,fontSize:`var(--text-lg)`,fontWeight:600,opacity:i?1:.6,cursor:i?`pointer`:`default`},children:c(a?`i18n.checking`:`directoryPicker.selectThisFolder`)})]})]})})}function gfe({loading:e,drives:t,filteredDrives:n,filteredDirectories:r,query:i,navigateTo:a,loadError:o,error:s}){let{t:c}=M();return(0,T.jsx)(T.Fragment,{children:(0,T.jsxs)(`div`,{className:`directory-picker-list`,style:{flex:1,minHeight:0,overflow:`auto`,padding:`8px 10px`},children:[e?(0,T.jsx)(`div`,{style:{padding:8,color:`var(--text-dim)`,fontSize:`var(--text-sm)`},children:c(`directoryPicker.loadingDirectories`)}):t===null?r.length>0?r.map(e=>(0,T.jsxs)(`button`,{className:`directory-picker-entry`,type:`button`,onClick:()=>void a(e.path),title:e.path,style:{width:`100%`,minHeight:30,display:`flex`,alignItems:`center`,gap:7,padding:`5px 8px`,border:0,borderRadius:5,color:`var(--text-muted)`,cursor:`pointer`,textAlign:`left`,fontFamily:`var(--font-mono)`,fontSize:`var(--text-sm)`},children:[(0,T.jsx)(cx,{}),(0,T.jsx)(`span`,{style:{overflow:`hidden`,textOverflow:`ellipsis`,whiteSpace:`nowrap`},children:e.name})]},e.path)):(0,T.jsx)(`div`,{style:{padding:8,color:`var(--text-dim)`,fontSize:`var(--text-sm)`},children:c(i?`directoryPicker.noMatches`:`directoryPicker.noSubdirectories`)}):n.length>0?n.map(e=>(0,T.jsxs)(`button`,{className:`directory-picker-entry`,type:`button`,onClick:()=>void a(e.path),title:e.path,style:{width:`100%`,minHeight:34,display:`flex`,alignItems:`center`,gap:7,padding:`6px 8px`,border:0,borderRadius:5,color:`var(--text-muted)`,cursor:`pointer`,textAlign:`left`,fontFamily:`var(--font-mono)`,fontSize:`var(--text-sm)`},children:[(0,T.jsx)(lx,{}),(0,T.jsx)(`span`,{children:e.name})]},e.path)):(0,T.jsx)(`div`,{style:{padding:8,color:`var(--text-dim)`,fontSize:`var(--text-sm)`},children:c(i?`directoryPicker.noMatches`:`directoryPicker.noDrives`)}),(o||s)&&(0,T.jsx)(`div`,{style:{padding:`8px`,color:`var(--status-error)`,fontSize:`var(--text-sm)`},children:o??s})]})})}function _fe({handlePathSubmit:e,navigateTo:t,parentDirectory:n,loading:r,canNavigateUp:i,pathInputRef:a,pathInput:o,setPathInput:s,setLoadError:c}){let{t:l}=M();return(0,T.jsx)(T.Fragment,{children:(0,T.jsxs)(`form`,{onSubmit:e,style:{display:`flex`,alignItems:`center`,gap:8,flexShrink:0,padding:`10px 14px`,borderBottom:`1px solid var(--border)`},children:[(0,T.jsx)(`button`,{className:`directory-picker-back`,type:`button`,onClick:()=>void t(n??void 0),disabled:r||!i,title:l(`directoryPicker.goToParent`),"aria-label":l(`directoryPicker.goToParent`),style:{width:36,height:36,padding:0,display:`flex`,alignItems:`center`,justifyContent:`center`,flexShrink:0,border:`1px solid var(--border)`,borderRadius:6,background:`#ffffff`,color:`var(--text-muted)`,cursor:i?`pointer`:`default`,opacity:i?1:.45},children:(0,T.jsx)(`svg`,{width:I[`3xl`],height:I[`3xl`],viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`1.8`,strokeLinecap:`round`,strokeLinejoin:`round`,"aria-hidden":`true`,children:(0,T.jsx)(`path`,{d:`m18 15-6-6-6 6`})})}),(0,T.jsx)(`label`,{htmlFor:`directory-path`,style:{position:`absolute`,width:1,height:1,padding:0,margin:-1,overflow:`hidden`,clip:`rect(0, 0, 0, 0)`,whiteSpace:`nowrap`,border:0},children:l(`directoryPicker.directoryPath`)}),(0,T.jsx)(zy,{className:`directory-picker-path h-9 flex-1 font-mono text-xs`,id:`directory-path`,type:`text`,ref:a,value:o,placeholder:`/path/to/project or ~/project`,autoComplete:`off`,spellCheck:!1,style:sx,onChange:e=>{s(e.target.value),c(null)}}),(0,T.jsx)(`button`,{className:`directory-picker-action`,type:`submit`,disabled:!o.trim(),title:l(`directoryPicker.goToDirectory`),style:{minWidth:58,height:36,padding:`0 12px`,border:`1px solid var(--border)`,borderRadius:6,background:`#ffffff`,color:`var(--text-muted)`,cursor:o.trim()?`pointer`:`default`,opacity:o.trim()?1:.6},children:l(`directoryPicker.go`)})]})})}function vfe({onCancel:e,onSelect:t,busy:n=!1,error:r}){let{t:i}=M(),[a,o]=(0,d.useState)(!0),[s,c]=(0,d.useState)(``),[l,u]=(0,d.useState)(null),[f,p]=(0,d.useState)(``),[m,h]=(0,d.useState)([]),[g,_]=(0,d.useState)(null),[v,y]=(0,d.useState)(``),[b,x]=(0,d.useState)(null),[S,C]=(0,d.useState)(!0),w=(0,d.useRef)(null),E=(0,d.useCallback)(async e=>{C(!0),x(null);try{let t=await ox(e),n=t.path??e??`/`;c(n),u(t.parentPath??null),p(n),h(t.directories??[]),_(t.drives??null),y(``)}catch(e){x(e instanceof Error?e.message:String(e))}finally{C(!1)}},[]);(0,d.useEffect)(()=>{E()},[E]);let D=e=>{e.preventDefault();let t=f.trim();t&&E(t)},O=f.trim()!==s,k=!!s&&!O&&!n,A=!!l||ux(s),j=v.trim().toLowerCase(),N=e=>!j||e.toLowerCase().includes(j),ee=g===null?[]:g.filter(e=>N(e.name)||N(e.path)),te=m.filter(e=>N(e.name));return(0,T.jsx)(xd,{open:a,onOpenChange:t=>{!t&&!n&&(o(!1),e())},children:(0,T.jsxs)(Td,{className:`directory-picker-light flex w-[520px] max-w-[calc(100vw-16px)] flex-col gap-0 overflow-hidden p-0`,style:{height:`min(620px, calc(100dvh - 16px))`},showCloseButton:!1,onPointerDownOutside:e=>{n&&e.preventDefault()},onEscapeKeyDown:e=>{n&&e.preventDefault()},onOpenAutoFocus:e=>{e.preventDefault(),w.current?.focus()},children:[(0,T.jsxs)(`div`,{style:{display:`flex`,alignItems:`center`,justifyContent:`space-between`,flexShrink:0,padding:`12px 18px`,borderBottom:`1px solid var(--border)`},children:[(0,T.jsx)(Ed,{style:{fontWeight:700,fontSize:`var(--text-2xl)`,color:`var(--text)`},children:i(`directoryPicker.selectDirectory`)}),(0,T.jsx)(Cd,{asChild:!0,children:(0,T.jsx)(`button`,{type:`button`,disabled:n,title:i(`i18n.close`),"aria-label":i(`i18n.close`),style:{padding:`2px 6px`,border:0,color:`var(--text-muted)`,fontSize:`var(--text-5xl)`,lineHeight:1,cursor:n?`default`:`pointer`,opacity:n?.5:1},children:`×`})})]}),(0,T.jsx)(_fe,{handlePathSubmit:D,navigateTo:E,parentDirectory:l,loading:S,canNavigateUp:A,pathInputRef:w,pathInput:f,setPathInput:p,setLoadError:x}),(0,T.jsx)(gfe,{loading:S,drives:g,filteredDrives:ee,filteredDirectories:te,query:j,navigateTo:E,loadError:b,error:r}),(0,T.jsx)(hfe,{searchQuery:v,setSearchQuery:y,currentPath:s,hasUncommittedPath:O,canSelect:k,busy:n,onCancel:e,onSelect:t})]})})}function yfe({title:e,label:t}){return(0,T.jsxs)(`button`,{type:`button`,"aria-disabled":`true`,tabIndex:-1,title:e,style:{width:`100%`,height:29,boxSizing:`border-box`,marginTop:6,display:`flex`,alignItems:`center`,gap:6,padding:`0 10px`,border:`1px solid var(--border)`,borderRadius:7,background:`var(--bg-hover)`,color:`var(--text-dim)`,fontSize:`var(--text-sm)`,lineHeight:1.35,whiteSpace:`nowrap`,textAlign:`left`,cursor:`default`,opacity:.82},children:[(0,T.jsxs)(`svg`,{width:I.sm,height:I.sm,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`,style:{flexShrink:0},children:[(0,T.jsx)(`line`,{x1:`6`,y1:`3`,x2:`6`,y2:`15`}),(0,T.jsx)(`circle`,{cx:`18`,cy:`6`,r:`3`}),(0,T.jsx)(`circle`,{cx:`6`,cy:`18`,r:`3`}),(0,T.jsx)(`path`,{d:`M18 9a9 9 0 0 1-9 9`})]}),(0,T.jsx)(`span`,{style:{overflow:`hidden`,textOverflow:`ellipsis`},children:t})]})}function bfe({open:e,root:t,count:n,busy:r,anchor:i,onConfirm:a,onCancel:o}){let{t:s}=M();return(0,T.jsx)(kd,{open:e,anchor:i,title:s(`sidebar.deleteWorkspaceDialogTitle`),description:s(`sidebar.deleteWorkspace`,{name:z9(t),count:n}),confirmText:s(`sidebar.delete`),destructive:!0,busy:r,onConfirm:a,onCancel:o})}function xfe(e){return{cursor:`pointer`,background:e?`var(--bg-hover)`:`var(--bg)`}}function Sfe({hasInteraction:e,hasRunning:t,collapsed:n}){return{background:e&&n?`transparent`:t&&n?`linear-gradient(90deg, transparent 13%, color-mix(in srgb, var(--accent) 18%, transparent) 25%, transparent 37%, transparent 63%, color-mix(in srgb, var(--shine-highlight) 50%, transparent) 75%, transparent 87%)`:`transparent`,backgroundSize:t&&n&&!e?`200% 100%`:void 0,animation:e&&n?`interaction-bg-blink 0.6s ease-in-out infinite`:t&&n?`pi-status-shine 1.5s linear infinite`:void 0}}function Cfe({group:e,groupSelected:t,hoveredGroup:n,runningSessionIds:r,interactionBadges:i,collapsed:a,setHoveredGroup:o,setGroupCollapsed:s,setConfirmDeleteGroup:c,handleNewSession:l,copyText:u}){let{t:d}=M(),f=e.sessions.some(e=>r.has(e.id)),p=e.sessions.some(e=>i.has(e.id)),m=n===e.root;return(0,T.jsx)(`div`,{"data-testid":`workspace-group-header`,"data-group-root":e.root,onMouseEnter:()=>o(e.root),onMouseLeave:()=>o(null),style:{display:`flex`,alignItems:`center`,gap:4,height:40,padding:`0 2px`,boxSizing:`border-box`,fontSize:`var(--text-base)`,fontFamily:`var(--font-mono)`,color:`var(--text)`,fontWeight:600,textTransform:`none`,letterSpacing:.6,overflow:`hidden`,textOverflow:`ellipsis`,whiteSpace:`nowrap`,...xfe(m)},onClick:()=>{s(t=>({...t,[e.root]:!t[e.root]}))},children:(0,T.jsxs)(`div`,{style:{display:`inline-flex`,alignItems:`center`,gap:6,flex:1,minWidth:0,height:38,boxSizing:`border-box`,padding:`0 8px`,border:`none`,borderRadius:0,...Sfe({hasInteraction:p,hasRunning:f,collapsed:a}),boxShadow:`0 2px 8px var(--shadow-color)`,margin:`0 -2px`},children:[(0,T.jsx)(`span`,{style:{display:`inline-flex`,alignItems:`center`,justifyContent:`center`,width:I[`2xl`],flexShrink:0},children:(0,T.jsx)(Rr,{size:I[`2xl`],style:{color:t?`var(--accent)`:`var(--text-muted)`},"aria-hidden":!0})}),(0,T.jsx)(F,{label:e.root,wrapperStyle:{flex:1,minWidth:0,overflow:`hidden`},children:(0,T.jsx)(`span`,{style:{overflow:`hidden`,textOverflow:`ellipsis`,whiteSpace:`nowrap`,maxWidth:`100%`,lineHeight:`20px`},children:z9(e.root)})}),m&&(0,T.jsx)(LK,{items:[{key:`delete-workspace`,onClick:t=>{t.stopPropagation(),c(e.root,t.currentTarget.closest(`[data-testid="workspace-group-header"]`)??t.currentTarget)},title:d(`sidebar.deleteWorkspaceTitle`),testId:`delete-workspace`,danger:!0,ghost:!0,icon:(0,T.jsx)(wi,{size:I.xl})},{key:`copy-path`,onClick:t=>{t.stopPropagation(),u(e.root)},title:d(`sidebar.copyPath`),ghost:!0,icon:(0,T.jsx)(Tr,{size:I.xl})}]}),(0,T.jsx)(LK,{items:[{key:`new-session`,onClick:t=>{t.stopPropagation(),l(e.root)},title:d(`sidebar.newSessionTitle`,{path:z9(e.root)}),ghost:!0,icon:(0,T.jsx)(ci,{size:I.xl})}]})]})})}var wfe=` (Ctrl+Enter)`;function Tfe(e,t,n){return t?e.kind===`naming`?n(`title.generating`):e.kind===`success`?n(`title.updated`):`${n(`title.generateSession`)}${wfe}`:n(`title.noMessages`)}function Efe({sessionId:e,hasMessages:t,onRenamed:n,size:r=24,ref:i}){let{t:a}=M(),[o,s]=(0,d.useState)({kind:`idle`}),c=Ty(),l=(0,d.useRef)(!0);(0,d.useEffect)(()=>(l.current=!0,()=>{l.current=!1}),[]);let u=(0,d.useCallback)(async()=>{if(!t||o.kind===`naming`)return;c.cancel(),s({kind:`naming`});let r=!1;try{let t=await Kn(`/api/sessions/${encodeURIComponent(e)}/auto-name`,{method:`POST`},{loading:`silent`});if(!t?.title)throw Error(`The server did not return a session title`);if(!l.current)return;n?.(e,t.title.trim()),r=!0,s({kind:`success`}),c.schedule(()=>s({kind:`idle`}),1800)}catch(e){jq(e,`auto-name`)}finally{!r&&l.current&&s({kind:`idle`})}},[t,o.kind,c,e,n]);(0,d.useImperativeHandle)(i,()=>({run:()=>void u()}),[u]);let f=o.kind===`success`;return(0,T.jsx)(LK,{size:r,gap:0,items:[{key:`auto-name`,testId:`session-auto-name`,title:Tfe(o,t,a),disabled:!t||o.kind===`naming`,skipHover:f,color:f?`var(--status-success)`:void 0,icon:o.kind===`naming`?(0,T.jsx)(Qr,{className:`animate-spin`,size:I.xl,"aria-hidden":`true`}):f?(0,T.jsx)(mr,{size:I.xl,"aria-hidden":`true`}):(0,T.jsx)(gi,{size:I.xl,"aria-hidden":`true`}),onClick:e=>{e.stopPropagation(),u()}}]})}function Dfe(e){return e.error?e.path.split(/[\\/]/).pop()||e.id:e.name||e.firstMessage.slice(0,50)||e.id.slice(0,12)}function Ofe({hasInteractionBadge:e,depth:t,confirmDelete:n,renaming:r,hovered:i,deleting:a,actionsOpen:o=!1}){return{height:54,position:`relative`,animation:e?`interaction-bg-blink 0.6s ease-in-out infinite`:void 0,display:`flex`,alignItems:`center`,paddingLeft:t>0?t*12+29:29,paddingRight:8,cursor:n||r?`default`:`pointer`,backgroundColor:n?`color-mix(in srgb, var(--status-error) 6%, transparent)`:i?`var(--bg-hover)`:`transparent`,transition:`background 0.1s`,opacity:a?.5:1,gap:6,overflow:o?`visible`:`hidden`,zIndex:o?5:void 0}}function kfe({session:e,open:t,isSeen:n,onUnseen:r,onEnter:i,dismiss:a,startRename:o,handleDeleteClick:s,anchorRef:c}){let{t:l}=M(),u=(0,d.useRef)(null),f=gd();if((0,d.useLayoutEffect)(()=>{if(!(!t||!f))try{u.current?.showPopover({source:c.current??void 0})}catch{}},[t,f,c]),!t)return null;let p=(0,T.jsx)(LK,{size:24,gap:3,ghost:!0,items:[...n&&r?[{key:`unseen`,onClick:t=>{t.stopPropagation(),a(),r(e.id)},title:l(`sidebar.disconnect`),icon:(0,T.jsx)(Di,{size:I.base})}]:[],{key:`copy-path`,onClick:t=>{t.stopPropagation(),a(),Z6(e.path)},title:l(`sidebar.copyPath`),icon:(0,T.jsx)(Tr,{size:I.base})},{key:`rename`,testId:`session-rename`,onClick:e=>{a(),o(e)},title:l(`sidebar.rename`),icon:(0,T.jsx)(ai,{size:I.xl})},{key:`delete`,testId:`session-delete`,onClick:e=>{a(),s(e)},title:l(`sidebar.deleteWithShiftClick`),danger:!0,icon:(0,T.jsx)(wi,{size:I.xl})}]});return(0,T.jsx)(`div`,{ref:u,...f?{popover:`auto`}:{},"data-testid":`session-item-actions`,onMouseEnter:i,onToggle:e=>{e.newState===`closed`&&a()},style:f?{position:`fixed`,positionArea:`bottom span-left`,justifySelf:`end`,margin:`4px 0 0`,positionTryFallbacks:`flip-block`,display:`flex`,padding:2,borderRadius:8,border:`1px solid var(--border)`,background:`var(--bg-panel)`,boxShadow:`0 6px 16px rgba(0, 0, 0, 0.18)`}:{position:`absolute`,right:0,top:`100%`,zIndex:5,display:`flex`,padding:2,borderRadius:8,border:`1px solid var(--border)`,background:`var(--bg-panel)`,boxShadow:`0 6px 16px rgba(0, 0, 0, 0.18)`},children:p})}function Afe({collapsed:e,onToggleCollapse:t}){return(0,T.jsx)(T.Fragment,{children:(0,T.jsx)(F,{label:e?`Expand forks`:`Collapse forks`,children:(0,T.jsx)(`button`,{onClick:e=>{e.stopPropagation(),t?.()},style:{display:`flex`,alignItems:`center`,justifyContent:`center`,width:20,height:20,padding:0,flexShrink:0,border:`none`,color:`var(--text-dim)`,cursor:`pointer`,transform:e?`rotate(-90deg)`:`none`,transition:`transform 0.15s`},children:(0,T.jsx)(`svg`,{width:I.xs,height:I.xs,viewBox:`0 0 10 10`,fill:`none`,stroke:`currentColor`,strokeWidth:`1.8`,strokeLinecap:`round`,strokeLinejoin:`round`,children:(0,T.jsx)(`polyline`,{points:`2 3.5 5 6.5 8 3.5`})})})})})}function jfe({session:e,title:t,onConfirm:n,onCancel:r}){let{t:i}=M();return(0,T.jsx)(T.Fragment,{children:(0,T.jsxs)(T.Fragment,{children:[(0,T.jsxs)(`div`,{style:{flex:1,minWidth:0},children:[(0,T.jsx)(`div`,{style:{fontSize:`var(--text-base)`,color:`var(--text)`,overflow:`hidden`,textOverflow:`ellipsis`,whiteSpace:`nowrap`},children:t}),(0,T.jsxs)(`div`,{style:{marginTop:2,display:`flex`,alignItems:`center`,gap:8,color:`var(--text-dim)`,fontSize:`var(--text-sm)`,minWidth:0,overflow:`hidden`,textOverflow:`ellipsis`,whiteSpace:`nowrap`},children:[e.error?(0,T.jsx)(V9,{session:e}):(0,T.jsx)(`span`,{title:e.modified,children:L9(e.modified,i)}),(0,T.jsx)(`span`,{children:i(`sidebar.messagesCount`,{count:e.messageCount})})]})]}),(0,T.jsxs)(`div`,{style:{display:`flex`,gap:5,flexShrink:0},children:[(0,T.jsxs)(`button`,{onClick:n,style:{display:`flex`,alignItems:`center`,justifyContent:`center`,gap:4,height:30,padding:`0 11px`,background:`var(--status-error)`,border:`none`,borderRadius:6,color:`var(--on-error)`,cursor:`pointer`,fontSize:`var(--text-base)`,fontWeight:600,whiteSpace:`nowrap`},children:[(0,T.jsx)(wi,{size:I.base}),i(`sidebar.delete`)]}),(0,T.jsx)(`button`,{onClick:r,style:{display:`flex`,alignItems:`center`,justifyContent:`center`,height:30,padding:`0 11px`,background:`var(--bg)`,border:`1px solid var(--border)`,borderRadius:6,color:`var(--text-muted)`,cursor:`pointer`,fontSize:`var(--text-base)`,fontWeight:500,whiteSpace:`nowrap`},children:i(`sidebar.cancel`)})]})]})})}function Mfe({session:e,title:t,isSelected:n,isSeen:r,isRunning:i,isUnread:a,phase:o,elapsed:s,totalElapsed:c,actionsOpen:l=!1,onActionsFocus:u,onActionsBlur:f,onActionsClose:p,onActionsToggle:m,actionsSlot:h,actionsAnchorRef:g,showActionsTrigger:_=!1}){let{t:v}=M(),y=(0,d.useRef)(null);return(0,d.useEffect)(()=>{if(!l)return;let e=e=>{let t=y.current;t&&e.target instanceof Node&&t.contains(e.target)||p?.()},t=e=>{e.key===`Escape`&&p?.()};return document.addEventListener(`pointerdown`,e,!0),document.addEventListener(`keydown`,t),()=>{document.removeEventListener(`pointerdown`,e,!0),document.removeEventListener(`keydown`,t)}},[l,p]),(0,T.jsxs)(T.Fragment,{children:[(0,T.jsxs)(`div`,{style:{flex:1,minWidth:0},children:[(0,T.jsx)(`div`,{style:{display:`flex`,alignItems:`center`,gap:5,minWidth:0,fontSize:`var(--text-base)`,fontWeight:400,lineHeight:1.4,color:r?`var(--text)`:`var(--text-dim)`,paddingRight:_?36:0},title:t,children:(0,T.jsx)(`span`,{style:{flex:1,overflow:`hidden`,textOverflow:`ellipsis`,whiteSpace:`nowrap`,minWidth:0},children:t})}),(0,T.jsxs)(`div`,{style:{marginTop:2,display:`flex`,alignItems:`center`,gap:8,color:n?`var(--text-muted)`:`var(--text-dim)`,fontSize:`var(--text-sm)`,minWidth:0,overflow:`hidden`,textOverflow:`ellipsis`,whiteSpace:`nowrap`},children:[e.error?(0,T.jsx)(V9,{session:e}):i?(0,T.jsx)(U7,{phase:o,elapsed:s,totalElapsed:c}):a?(0,T.jsx)(rfe,{}):(0,T.jsx)(`span`,{title:e.modified,children:L9(e.modified,v)}),!e.error&&i?null:(0,T.jsx)(`span`,{children:v(`sidebar.messagesCount`,{count:e.messageCount})}),e.worktreeBranch&&(0,T.jsxs)(`span`,{title:`Worktree: ${e.cwd}`,style:{display:`flex`,alignItems:`center`,gap:3,color:`var(--accent)`,minWidth:0,overflow:`hidden`},children:[(0,T.jsxs)(`svg`,{width:`9`,height:`9`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2.4`,strokeLinecap:`round`,strokeLinejoin:`round`,style:{flexShrink:0},children:[(0,T.jsx)(`line`,{x1:`6`,y1:`3`,x2:`6`,y2:`15`}),(0,T.jsx)(`circle`,{cx:`18`,cy:`6`,r:`3`}),(0,T.jsx)(`circle`,{cx:`6`,cy:`18`,r:`3`}),(0,T.jsx)(`path`,{d:`M18 9a9 9 0 0 1-9 9`})]}),(0,T.jsx)(`span`,{style:{overflow:`hidden`,textOverflow:`ellipsis`,whiteSpace:`nowrap`},children:e.worktreeBranch})]})]})]}),(0,T.jsxs)(`div`,{ref:y,"data-testid":`session-actions-zone`,className:`session-actions-zone`,style:{position:`absolute`,right:8,width:32,display:`flex`,alignItems:`center`,justifyContent:`center`,top:7,..._?{opacity:1,pointerEvents:`auto`}:{}},onFocus:u,onBlur:f,children:[(0,T.jsx)(`button`,{type:`button`,ref:g,"data-testid":`session-actions-trigger`,"aria-label":v(`sidebar.actions`),"aria-expanded":l,title:v(`sidebar.actions`),onFocus:u,onClick:e=>{e.stopPropagation(),m?.()},className:`hover-shift`,style:{display:`flex`,alignItems:`center`,justifyContent:`center`,width:18,height:18,padding:0,border:`1px solid transparent`,borderRadius:`50%`,background:l?`var(--bg-selected)`:`transparent`,color:l?`var(--accent)`:`var(--text-dim)`,cursor:`pointer`,flexShrink:0,"--hover-bg":`var(--bg-selected)`,"--hover-color":`var(--accent)`,"--hover-border":`transparent`},children:(0,T.jsx)(kr,{size:I.base})}),h]})]})}function Nfe(e){return e instanceof HTMLElement&&e.closest(`[data-testid="session-auto-name"]`)!==null}function Pfe({session:e,isSelected:t,isRunning:n,phase:r,phaseSince:i,respondingSince:a,busySince:o,isUnread:s,isSeen:c=!0,hasInteractionBadge:l=!1,onClick:u,onRenamed:f,onDeleted:p,onUnseen:m,depth:h=0,hasChildren:g=!1,collapsed:_=!1,onToggleCollapse:v}){let{t:y}=M(),b=FX(!!n,r?i:a),x=FX(!!n,o),[S,C]=(0,d.useState)(!1),[w,E]=(0,d.useState)(!1),[D,O]=(0,d.useState)(``),[k,A]=(0,d.useState)(!1),j=M9().get(e.id)?.status===`running`,[N,ee]=(0,d.useState)(null),[te,P]=(0,d.useState)(!1),ne=(0,d.useRef)(null),re=(0,d.useCallback)(()=>{ne.current!==null&&(clearTimeout(ne.current),ne.current=null)},[]),ie=(0,d.useCallback)(()=>{re()},[re]),ae=(0,d.useCallback)(()=>{re(),ne.current=setTimeout(()=>{ne.current=null,P(!1)},140)},[re]),oe=(0,d.useCallback)(()=>{re(),P(!1)},[re]),se=(0,d.useCallback)(()=>{re(),P(e=>!e)},[re]);(0,d.useEffect)(()=>re,[re]);let[ce,le]=(0,d.useState)(null),ue=(0,d.useRef)(null),de=Dfe(e),fe=(0,d.useCallback)(t=>{t.stopPropagation(),O(e.name??``),E(!0),setTimeout(()=>ue.current?.select(),0)},[e.name]),pe=(0,d.useCallback)(async()=>{let t=D.trim();if(E(!1),t!==(e.name??``))try{await fetch(`/api/sessions/${encodeURIComponent(e.id)}`,{method:`PATCH`,headers:{"Content-Type":`application/json`},body:JSON.stringify({name:t})}),f?.()}catch{}},[D,e.id,e.name,f]),me=(0,d.useCallback)(t=>{A(!1),ee(null),N9(e.id,`session`,async n=>{let r=t===`all`?{deleteAllAuxFiles:!0}:t.length>0?{deleteAuxFiles:t}:null,i=await fetch(`/api/sessions/${encodeURIComponent(e.id)}`,{method:`DELETE`,signal:n,...r?{headers:{"Content-Type":`application/json`},body:JSON.stringify(r)}:{}});if(!i.ok)throw Error(`delete session failed: HTTP ${i.status}`)},()=>p?.(e.id))},[e.id,p]),he=(0,d.useCallback)(t=>{if(t.stopPropagation(),le(t.currentTarget.closest(`[data-testid="session-item"]`)??t.currentTarget),t.shiftKey){me(`all`);return}iY(e.id).then(e=>{e.length>0?ee(e):A(!0)})},[me,e.id]),ge=(0,d.useCallback)(e=>{e.stopPropagation(),me([])},[me]),_e=(0,d.useCallback)(e=>{e.stopPropagation(),A(!1)},[]),ve=(0,d.useCallback)(e=>{e.key===`Enter`&&pe(),e.key===`Escape`&&E(!1)},[pe]),ye=(0,d.useCallback)((e,t)=>{O(t),f?.()},[f]);return(0,T.jsxs)(T.Fragment,{children:[N!=null&&(0,T.jsx)(Tq,{open:!0,mode:`delete`,files:N,busy:j,anchor:ce,onConfirm:e=>void me(e),onCancel:()=>ee(null)}),(0,T.jsx)(`div`,{"data-testid":`session-item`,"data-session-id":e.id,onClick:k||w?void 0:u,title:l?y(`sidebar.interactionBadge`):void 0,onMouseEnter:()=>C(!0),onMouseLeave:()=>{C(!1),oe()},style:Ofe({hasInteractionBadge:l,depth:h,confirmDelete:k,renaming:w,hovered:S,deleting:j,actionsOpen:te}),className:t&&!k?`row-selected-gradient`:void 0,children:(0,T.jsx)(Ffe,{session:e,title:de,inputRef:ue,isSelected:t,isSeen:c,isUnread:s,isRunning:n,phase:r,elapsed:b,totalElapsed:x,depth:h,hasChildren:g,collapsed:_,onToggleCollapse:v,confirmDelete:k,renaming:w,actionsOpen:te,showActionsTrigger:S||te,keepActionsOpen:ie,closeActionsSoon:ae,closeActions:oe,toggleActions:se,renameValue:D,onRenameChange:O,onAutoNamed:ye,commitRename:pe,handleRenameKeyDown:ve,handleDeleteClick:he,handleDeleteConfirm:ge,handleDeleteCancel:_e,startRename:fe,onUnseen:m})})]})}function Ffe({session:e,title:t,inputRef:n,isSelected:r,isSeen:i,isUnread:a,isRunning:o,phase:s,elapsed:c,totalElapsed:l,depth:u,hasChildren:f,collapsed:p,onToggleCollapse:m,confirmDelete:h,renaming:g,actionsOpen:_,showActionsTrigger:v,keepActionsOpen:y,closeActionsSoon:b,closeActions:x,toggleActions:S,renameValue:C,onRenameChange:w,commitRename:E,handleRenameKeyDown:D,onAutoNamed:O,handleDeleteClick:k,handleDeleteConfirm:A,handleDeleteCancel:j,startRename:M,onUnseen:N}){let ee=(0,d.useRef)(null),te=(0,d.useRef)(null);return h?(0,T.jsx)(jfe,{session:e,title:t,onConfirm:A,onCancel:j}):g?(0,T.jsxs)(T.Fragment,{children:[(0,T.jsx)(`input`,{ref:n,"data-testid":`session-rename-input`,value:C,onChange:e=>w(e.target.value),onBlur:e=>{Nfe(e.relatedTarget)||E()},onKeyDown:e=>{if(e.key===`Enter`&&(e.ctrlKey||e.metaKey)){e.preventDefault(),ee.current?.run();return}D(e)},autoFocus:!0,style:{flex:1,fontSize:`var(--text-base)`,padding:`5px 8px`,border:`1px solid var(--accent)`,borderRadius:5,outline:`none`,background:`var(--bg)`,color:`var(--text)`,height:30}}),(0,T.jsx)(`span`,{onMouseDown:e=>e.preventDefault(),style:{display:`flex`,flexShrink:0},children:(0,T.jsx)(Efe,{ref:ee,sessionId:e.id,hasMessages:e.messageCount>0,onRenamed:O})})]}):(0,T.jsxs)(T.Fragment,{children:[u>0&&(0,T.jsxs)(`svg`,{width:I.xs,height:I.xs,viewBox:`0 0 24 24`,fill:`none`,stroke:`var(--text-dim)`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`,style:{flexShrink:0},children:[(0,T.jsx)(`line`,{x1:`6`,y1:`3`,x2:`6`,y2:`15`}),(0,T.jsx)(`circle`,{cx:`18`,cy:`6`,r:`3`}),(0,T.jsx)(`circle`,{cx:`6`,cy:`18`,r:`3`}),(0,T.jsx)(`path`,{d:`M18 9a9 9 0 0 1-9 9`})]}),(0,T.jsx)(Mfe,{session:e,title:t,isSelected:r,isSeen:i,isRunning:o,isUnread:a,phase:s,elapsed:c,totalElapsed:l,actionsOpen:_,showActionsTrigger:v,onActionsFocus:y,onActionsBlur:b,onActionsClose:x,onActionsToggle:S,actionsAnchorRef:te,actionsSlot:(0,T.jsx)(kfe,{session:e,open:_,isSeen:i,onUnseen:N,onEnter:y,dismiss:x,startRename:M,handleDeleteClick:k,anchorRef:te})}),f&&(0,T.jsx)(Afe,{collapsed:p,onToggleCollapse:m})]})}function U9({node:e,selectedSessionId:t,runningSessionIds:n,runningPhases:r,runningPhaseSince:i,runningRespondingSince:a,runningBusySince:o,unreadSessionIds:s,seenSessionIds:c,interactionBadges:l,onSelectSession:u,onRenamed:f,onSessionDeleted:p,onUnseen:m,depth:h}){let[g,_]=(0,d.useState)(!1),v=e.children.length>0;return(0,T.jsxs)(`div`,{style:{},children:[(0,T.jsxs)(`div`,{style:{position:`relative`},children:[h>0&&(0,T.jsx)(`div`,{style:{position:`absolute`,left:h*12+6,top:0,bottom:0,width:1,background:`var(--border)`,pointerEvents:`none`}}),(0,T.jsx)(Pfe,{session:e.session,isSelected:e.session.id===t,isRunning:n.has(e.session.id),phase:r[e.session.id],phaseSince:i[e.session.id],respondingSince:a[e.session.id],busySince:o[e.session.id],isUnread:s.has(e.session.id),isSeen:c.has(e.session.id),hasInteractionBadge:l.has(e.session.id),onClick:()=>u(e.session),onRenamed:f,onDeleted:e=>p?.(e),onUnseen:m,depth:h,hasChildren:v,collapsed:g,onToggleCollapse:()=>_(e=>!e)})]}),v&&!g&&(0,T.jsx)(`div`,{children:e.children.map(e=>(0,T.jsx)(U9,{node:e,selectedSessionId:t,runningSessionIds:n,runningPhases:r,runningPhaseSince:i,runningRespondingSince:a,runningBusySince:o,unreadSessionIds:s,seenSessionIds:c,interactionBadges:l,onSelectSession:u,onRenamed:f,onSessionDeleted:p,onUnseen:m,depth:h+1},e.session.id))})]})}function Ife(e){let t=new Map;for(let n of e)t.set(n.id,{session:n,children:[]});let n=new Map;for(let t of e)t.parentSessionId&&n.set(t.id,t.parentSessionId);function r(e){let r=n.get(e),i=new Set;for(;r;){if(i.has(r))return null;if(i.add(r),t.has(r))return r;r=n.get(r)}return null}let i=[];for(let e of t.values()){let n=r(e.session.id);n?t.get(n).children.push(e):i.push(e)}let a=e=>{e.sort((e,t)=>t.session.modified.localeCompare(e.session.modified)),e.forEach(e=>a(e.children))};return a(i),i}function Lfe({visibleGroups:e,selectedSessionId:t,selectedProject:n,wsQuery:r,groupCollapsed:i,hoveredGroup:a,confirmDeleteGroup:o,deletingGroup:s,runningSessionIds:c,runningPhases:l,runningPhaseSince:u,runningRespondingSince:d,runningBusySince:f,unreadSessionIds:p,seenSessionIds:m,interactionBadges:h,setHoveredGroup:g,setGroupCollapsed:_,setConfirmDeleteGroup:v,deleteGroupAnchor:y,handleDeleteGroup:b,handleNewSession:x,copyText:S,handleSelectSessionFromList:C,onSessionDeleted:w,handleUnseen:E,loadSessions:D}){let{t:O}=M(),k=o?e.find(e=>e.root===o)??null:null;return(0,T.jsxs)(T.Fragment,{children:[e.map(e=>{let o=e.sessions.some(e=>e.id===t)||e.root===n;return(0,T.jsxs)(`div`,{children:[(0,T.jsx)(Cfe,{group:e,groupSelected:o,hoveredGroup:a,runningSessionIds:c,interactionBadges:h,collapsed:!!i[e.root],setHoveredGroup:g,setGroupCollapsed:_,setConfirmDeleteGroup:v,handleNewSession:x,copyText:S}),(r||!i[e.root])&&(e.sessions.length===0?(0,T.jsx)(`div`,{style:{padding:`10px 14px`,color:`var(--text-muted)`,fontSize:`var(--text-sm)`},children:O(`sidebar.noSessions`)}):Ife(e.sessions).map(e=>(0,T.jsx)(U9,{node:e,selectedSessionId:t,runningSessionIds:c,runningPhases:l,runningPhaseSince:u,runningRespondingSince:d,runningBusySince:f,unreadSessionIds:p,seenSessionIds:m,interactionBadges:h,onSelectSession:C,onRenamed:()=>D(!1,!0),onSessionDeleted:e=>{Jde(T9(`data-session-id`,e),O(`sidebar.deletedSessionGhost`)),w?.(e),D(!1,!0)},onUnseen:E,depth:0},e.session.id)))]},e.root)}),(0,T.jsx)(bfe,{open:!!k,root:k?.root??``,count:k?.sessions.length??0,busy:s,anchor:y,onConfirm:()=>{if(!k)return;let e=S9(T9(`data-group-root`,k.root)),t=k.sessions.length;b(k).then(n=>{n&&C9(e,O(`sidebar.deletedWorkspaceGhost`,{name:z9(k.root),count:t}))})},onCancel:()=>v(null)})]})}function Rfe({loading:e,error:t,noSearchResults:n}){let{t:r}=M();return e?(0,T.jsxs)(`div`,{style:{display:`flex`,alignItems:`center`,gap:8,padding:`16px 14px`,color:`var(--text-muted)`,fontSize:`var(--text-base)`},children:[(0,T.jsx)(`div`,{style:{width:14,height:14,border:`2px solid var(--border)`,borderTopColor:`var(--text-dim)`,borderRadius:`50%`,animation:`spin 0.8s linear infinite`,flexShrink:0}}),r(`sidebar.loading`)]}):t?(0,T.jsx)(`div`,{style:{padding:`12px 14px`,color:`var(--status-error)`,fontSize:`var(--text-base)`},children:t}):n?(0,T.jsx)(`div`,{style:{padding:`16px 14px`,color:`var(--text-muted)`,fontSize:`var(--text-base)`},children:r(`sidebar.searchSessionsNoResults`)}):null}function zfe({searchOpen:e,onToggleSearch:t,onNewWorkspace:n,onRefresh:r,refreshDone:i}){let{t:a}=M();return(0,T.jsx)(LK,{ghost:!0,items:[{key:`search`,testId:`workspace-search-toggle`,onClick:t,title:a(`sidebar.searchSessions`),ariaPressed:e,color:e?`var(--accent)`:`var(--text-muted)`,background:e?`var(--bg-selected)`:void 0,icon:(0,T.jsx)(pi,{size:I.lg})},{key:`new-workspace`,testId:`new-workspace`,onClick:n,title:a(`sidebar.newWorkspace`),color:`var(--text-muted)`,icon:(0,T.jsx)(Lr,{size:I.xl})},{key:`refresh`,testId:`session-refresh`,onClick:r,title:a(`sidebar.refresh`),skipHover:i,color:i?`var(--status-success)`:`var(--text-muted)`,background:i?`color-mix(in srgb, var(--status-success) 18%, transparent)`:void 0,icon:i?(0,T.jsx)(mr,{size:I.xl,color:`var(--status-success)`,strokeWidth:2.5}):(0,T.jsx)(ui,{size:I.xl})}]})}function Bfe({value:e,onChange:t,onClear:n,inputRef:r}){let{t:i}=M();return(0,T.jsxs)(`div`,{"data-testid":`workspace-search`,style:{display:`flex`,alignItems:`center`,gap:4,width:`100%`,minWidth:0,padding:`4px 8px`,background:`var(--bg)`,borderBottom:`1px solid var(--border)`,boxSizing:`border-box`},children:[(0,T.jsx)(pi,{size:I.lg,color:`var(--text-muted)`,style:{flexShrink:0}}),(0,T.jsx)(`input`,{ref:r,value:e,onChange:e=>t(e.target.value),placeholder:i(`sidebar.searchSessionsPlaceholder`),"aria-label":i(`sidebar.searchSessions`),style:{flex:1,minWidth:0,background:`transparent`,border:`none`,outline:`none`,color:`var(--text)`,fontSize:`var(--text-sm)`}}),e&&(0,T.jsx)(`button`,{type:`button`,onClick:n,"aria-label":i(`chat.clearSearch`),style:{border:`none`,background:`transparent`,color:`var(--text-muted)`,cursor:`pointer`,fontSize:`var(--text-sm)`,flexShrink:0,padding:0},children:`✕`})]})}function Vfe({wtNewOpen:e,setWtNewOpen:t,wtNewBranch:n,setWtNewBranch:r,wtNewInputRef:i,handleCreateWorktree:a,wtBusy:o,setWtError:s}){let{t:c}=M();return(0,T.jsx)(T.Fragment,{children:e?(0,T.jsxs)(`div`,{style:{padding:`6px 8px`},children:[(0,T.jsx)(`input`,{ref:i,"data-testid":`worktree-new-branch-input`,value:n,onChange:e=>{r(e.target.value),s(null)},onKeyDown:e=>{e.key===`Enter`&&(e.preventDefault(),a()),e.key===`Escape`&&(t(!1),r(``),s(null))},placeholder:c(`sidebar.branchName`),style:{width:`100%`,fontSize:`var(--text-sm)`,fontFamily:`var(--font-mono)`,padding:`5px 8px`,border:`1px solid var(--accent)`,borderRadius:5,outline:`none`,background:`var(--bg)`,color:`var(--text)`,boxSizing:`border-box`}}),(0,T.jsxs)(`div`,{style:{display:`flex`,gap:5,marginTop:5},children:[(0,T.jsx)(`button`,{"data-testid":`worktree-create`,onClick:()=>void a(),disabled:o||!n.trim(),style:{flex:1,padding:`4px 0`,background:`var(--accent)`,border:`none`,borderRadius:5,color:`var(--on-accent)`,fontSize:`var(--text-sm)`,fontWeight:600,cursor:o||!n.trim()?`not-allowed`:`pointer`,opacity:o||!n.trim()?.65:1},children:c(o?`sidebar.creating`:`sidebar.create`)}),(0,T.jsx)(`button`,{onClick:()=>{t(!1),r(``),s(null)},style:{flex:1,padding:`4px 0`,background:`var(--bg-hover)`,border:`1px solid var(--border)`,borderRadius:5,color:`var(--text-muted)`,fontSize:`var(--text-sm)`,cursor:`pointer`},children:c(`sidebar.cancel`)})]})]}):(0,T.jsxs)(`button`,{"data-testid":`worktree-new`,onClick:e=>{e.stopPropagation(),t(!0),s(null),setTimeout(()=>i.current?.focus(),0)},title:c(`sidebar.createWorktreeTitle`),style:{display:`flex`,alignItems:`center`,gap:7,width:`100%`,padding:`8px 10px`,border:`none`,color:`var(--text-muted)`,cursor:`pointer`,textAlign:`left`,fontSize:`var(--text-sm)`},children:[(0,T.jsxs)(`svg`,{width:I.xs,height:I.xs,viewBox:`0 0 10 10`,fill:`none`,stroke:`currentColor`,strokeWidth:`1.1`,strokeLinecap:`round`,style:{flexShrink:0},children:[(0,T.jsx)(`line`,{x1:`5`,y1:`1`,x2:`5`,y2:`9`}),(0,T.jsx)(`line`,{x1:`1`,y1:`5`,x2:`9`,y2:`5`})]}),(0,T.jsx)(`span`,{children:c(`sidebar.newWorktree`)})]})})}function Hfe({worktrees:e,visibleWorktrees:t,selectedCwd:n,homeDir:r,wtConfirmRemove:i,setWtConfirmRemove:a,handleRemoveWorktree:o,wtBusy:s,setSelectedCwd:c,closeWorktrees:l,showWtFilter:u,wtFilter:d}){let{t:f}=M();return(0,T.jsx)(T.Fragment,{children:(0,T.jsxs)(`div`,{style:{maxHeight:`min(40vh, 300px)`,overflowY:`auto`},children:[t.map(t=>{let u=I9(t.path,n)||t.isMain&&!e.some(e=>I9(e.path,n));return i===t.path?(0,T.jsxs)(`div`,{style:{display:`flex`,alignItems:`center`,gap:6,padding:`7px 10px`,borderBottom:`1px solid var(--border)`,background:`color-mix(in srgb, var(--status-error) 6%, transparent)`},children:[(0,T.jsx)(`span`,{style:{flex:1,fontSize:`var(--text-sm)`,color:`var(--text)`,overflow:`hidden`,textOverflow:`ellipsis`,whiteSpace:`nowrap`},children:f(`sidebar.forceRemoveCheckout`)}),(0,T.jsx)(`button`,{"data-testid":`worktree-force-remove`,onClick:()=>void o(t.path,!0),disabled:s,style:{padding:`3px 9px`,background:`var(--status-error)`,border:`none`,borderRadius:5,color:`var(--on-error)`,fontSize:`var(--text-sm)`,fontWeight:600,cursor:`pointer`,flexShrink:0},children:f(`sidebar.force`)}),(0,T.jsx)(`button`,{onClick:()=>a(null),style:{padding:`3px 9px`,background:`var(--bg-hover)`,border:`1px solid var(--border)`,borderRadius:5,color:`var(--text-muted)`,fontSize:`var(--text-sm)`,cursor:`pointer`,flexShrink:0},children:f(`sidebar.cancel`)})]},t.path):(0,T.jsxs)(`div`,{className:`wt-row`,"data-testid":`worktree-row`,style:{display:`flex`,alignItems:`center`,borderBottom:`1px solid var(--border)`},children:[(0,T.jsxs)(`button`,{"data-testid":`worktree-item`,onClick:()=>{c(t.path),l()},title:t.path,style:{flex:1,minWidth:0,display:`flex`,alignItems:`center`,gap:7,padding:`8px 10px`,background:`var(--bg)`,border:`none`,color:u?`var(--text)`:`var(--text-muted)`,cursor:`pointer`,textAlign:`left`,fontSize:`var(--text-sm)`,fontFamily:`var(--font-mono)`},children:[u?(0,T.jsx)(`svg`,{width:I.xs,height:I.xs,viewBox:`0 0 10 10`,fill:`none`,stroke:`var(--accent)`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`,style:{flexShrink:0},children:(0,T.jsx)(`polyline`,{points:`1.5 5 4 7.5 8.5 2.5`})}):(0,T.jsx)(`span`,{style:{width:10,flexShrink:0}}),(0,T.jsx)(B9,{text:t.branch??R9(t.path,r),style:{flex:1}}),t.isMain&&(0,T.jsx)(`span`,{style:{flexShrink:0,color:`var(--text-dim)`,fontSize:`var(--text-xs)`},children:f(`sidebar.main`)})]}),!t.isMain&&(0,T.jsx)(`button`,{"data-testid":`worktree-remove`,onClick:()=>void o(t.path,!1),disabled:s,title:f(`sidebar.removeWorktreeTitle`,{path:t.path}),style:{display:`flex`,alignItems:`center`,justifyContent:`center`,width:34,height:28,padding:0,marginRight:4,border:`none`,color:`var(--text-dim)`,cursor:`pointer`,borderRadius:5,flexShrink:0,transition:`color 0.12s, background 0.12s`,"--hover-color":`var(--status-error)`,"--hover-bg":`color-mix(in srgb, var(--status-error) 8%, transparent)`},className:`hover-shift`,children:(0,T.jsxs)(`svg`,{width:I.base,height:I.base,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`,children:[(0,T.jsx)(`polyline`,{points:`3 6 5 6 21 6`}),(0,T.jsx)(`path`,{d:`M19 6l-1 14a2 2 0 0 1-2 2H8a2 2 0 0 1-2-2L5 6`}),(0,T.jsx)(`path`,{d:`M10 11v6M14 11v6`}),(0,T.jsx)(`path`,{d:`M9 6V4a1 1 0 0 1 1-1h4a1 1 0 0 1 1 1v2`})]})})]},t.path)}),u&&t.length===0&&d.trim()&&(0,T.jsx)(`div`,{style:{padding:`8px 10px`,fontSize:`var(--text-sm)`,color:`var(--text-dim)`},children:f(`sidebar.noMatchingWorktrees`)})]})})}function Ufe({wt:e,selectedCwd:t,homeDir:n,setSelectedCwd:r}){let{t:i}=M(),{worktreeState:a,wtFilter:o,setWtFilter:s,wtDropdownOpen:c,setWtDropdownOpen:l,wtDropdownRef:u,closeWorktrees:d,handleRemoveWorktree:f,wtConfirmRemove:p,setWtConfirmRemove:m,wtBusy:h,wtNewOpen:g,setWtNewOpen:_,wtNewBranch:v,setWtNewBranch:y,wtNewInputRef:b,handleCreateWorktree:x,wtError:S,setWtError:C}=e;if(!a)return null;let w=a.worktrees.find(e=>I9(e.path,t))??a.worktrees.find(e=>e.isMain),E=a.worktrees.length>=8,D=E&&o.trim()?a.worktrees.filter(e=>(e.branch??R9(e.path,n)).toLowerCase().includes(o.trim().toLowerCase())):a.worktrees;return(0,T.jsxs)(`div`,{ref:u,"data-testid":`worktree-switcher`,style:{position:`relative`,marginTop:6},children:[(0,T.jsxs)(`button`,{"data-testid":`worktree-switcher-trigger`,onClick:()=>l(e=>!e),title:w?i(`sidebar.switchWorktreeTitle`,{path:w.path}):i(`sidebar.switchWorktree`),style:{width:`100%`,height:29,boxSizing:`border-box`,display:`flex`,alignItems:`center`,gap:6,padding:`0 10px`,background:`var(--bg-input)`,border:`1px solid var(--border)`,borderRadius:7,cursor:`pointer`,fontSize:`var(--text-sm)`,lineHeight:1.35,color:`var(--text-muted)`,textAlign:`left`},children:[(0,T.jsxs)(`svg`,{width:I.sm,height:I.sm,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`,style:{flexShrink:0,color:w&&!w.isMain?`var(--accent)`:`var(--text-dim)`},children:[(0,T.jsx)(`line`,{x1:`6`,y1:`3`,x2:`6`,y2:`15`}),(0,T.jsx)(`circle`,{cx:`18`,cy:`6`,r:`3`}),(0,T.jsx)(`circle`,{cx:`6`,cy:`18`,r:`3`}),(0,T.jsx)(`path`,{d:`M18 9a9 9 0 0 1-9 9`})]}),(0,T.jsx)(B9,{text:w?w.branch??R9(w.path,n):`…`,style:{flex:1,fontFamily:`var(--font-mono)`,color:`var(--text)`}}),w?.isMain&&(0,T.jsx)(`span`,{style:{flexShrink:0,color:`var(--text-dim)`,fontSize:`var(--text-xs)`},children:i(`sidebar.main`)}),a.worktrees.length>1&&(0,T.jsx)(`span`,{style:{flexShrink:0,color:`var(--text-dim)`,fontSize:`var(--text-xs)`},children:a.worktrees.length}),(0,T.jsx)(`svg`,{width:`9`,height:`9`,viewBox:`0 0 10 10`,fill:`none`,stroke:`currentColor`,strokeWidth:`1.8`,strokeLinecap:`round`,strokeLinejoin:`round`,style:{flexShrink:0},children:(0,T.jsx)(`polyline`,{points:`2 3.5 5 6.5 8 3.5`})})]}),(0,T.jsxs)(lfe,{open:c,style:{position:`absolute`,top:`calc(100% + 4px)`,left:0,right:0,zIndex:100,background:`var(--bg)`,border:`1px solid var(--border)`,borderRadius:8,boxShadow:`0 6px 20px var(--shadow-color)`,overflow:`hidden`},children:[E&&(0,T.jsx)(`div`,{style:{padding:`6px 8px`,borderBottom:`1px solid var(--border)`},children:(0,T.jsx)(`input`,{value:o,onChange:e=>s(e.target.value),onKeyDown:e=>{e.key===`Escape`&&(s(``),d())},placeholder:i(`sidebar.filterWorktrees`),autoFocus:!0,style:{width:`100%`,fontSize:`var(--text-sm)`,fontFamily:`var(--font-mono)`,padding:`5px 8px`,border:`1px solid var(--border)`,borderRadius:5,outline:`none`,background:`var(--bg)`,color:`var(--text)`,boxSizing:`border-box`}})}),(0,T.jsx)(Hfe,{worktrees:a.worktrees,visibleWorktrees:D,selectedCwd:t,homeDir:n,wtConfirmRemove:p,setWtConfirmRemove:m,handleRemoveWorktree:f,wtBusy:h,setSelectedCwd:r,closeWorktrees:d,showWtFilter:E,wtFilter:o}),(0,T.jsx)(Vfe,{wtNewOpen:g,setWtNewOpen:_,wtNewBranch:v,setWtNewBranch:y,wtNewInputRef:b,handleCreateWorktree:x,wtBusy:h,setWtError:C}),S&&(0,T.jsx)(`div`,{style:{padding:`5px 10px 8px`,color:`var(--status-error)`,fontSize:`var(--text-sm)`,lineHeight:1.35,overflowWrap:`anywhere`},children:S})]})]})}function Wfe({sb:e,handleSelectSessionFromList:t,handleNewSession:n,onSessionDeleted:r}){let{t:i}=M(),{customPath:a,wt:o,selectedCwd:s,setSelectedCwd:c,homeDir:l,workspaceSearchOpen:u,setWorkspaceSearchOpen:d,workspaceSearchQuery:f,setWorkspaceSearchQuery:p,workspaceSearchInputRef:m,loadSessions:h,sessionRefreshDone:g,showWorktreeSwitcher:_,inactiveWorktreeSelector:v,loading:y,error:b,wsQuery:x,visibleGroups:S}=e;return(0,T.jsxs)(T.Fragment,{children:[a.customPathOpen&&(0,T.jsx)(vfe,{busy:a.customPathValidating,error:a.customPathError,onCancel:()=>{a.setCustomPathOpen(!1),a.setCustomPathError(null)},onSelect:e=>void a.commitCustomPath(e)}),(0,T.jsxs)(HK,{title:i(`sidebar.workspace`),open:!0,onToggle:()=>{},collapsible:!1,testId:`workspace-scroll`,hintTestId:`workspace`,scrollStyle:{flex:`1 1 auto`,minHeight:80,background:`var(--bg)`},style:{flex:1,minHeight:0},actions:(0,T.jsx)(zfe,{searchOpen:u,onToggleSearch:()=>{u&&p(``),d(e=>!e)},onNewWorkspace:()=>a.setCustomPathOpen(!0),onRefresh:()=>h(!1,!0),refreshDone:g}),headerExtra:(0,T.jsxs)(T.Fragment,{children:[u&&(0,T.jsx)(Bfe,{value:f,onChange:p,onClear:()=>{p(``),m.current?.focus()},inputRef:m}),_&&(0,T.jsx)(Ufe,{wt:o,selectedCwd:s,homeDir:l,setSelectedCwd:c}),v&&(0,T.jsx)(yfe,{title:v.title,label:v.label})]}),children:[(0,T.jsx)(Rfe,{loading:y,error:b,noSearchResults:!y&&!b&&!!x&&S.length===0}),(0,T.jsx)(Lfe,{visibleGroups:S,selectedSessionId:e.selectedSessionId,selectedProject:e.selectedProject,wsQuery:x,groupCollapsed:e.groupCollapsed,hoveredGroup:e.hoveredGroup,confirmDeleteGroup:e.confirmDeleteGroup,deletingGroup:e.deletingGroup,runningSessionIds:e.runningSessionIds,runningPhases:e.runningPhases,runningPhaseSince:e.runningPhaseSince,runningRespondingSince:e.runningRespondingSince,runningBusySince:e.runningBusySince,unreadSessionIds:e.unreadSessionIds,seenSessionIds:e.seenSessionIds,interactionBadges:e.interactionBadges,setHoveredGroup:e.setHoveredGroup,setGroupCollapsed:e.setGroupCollapsed,setConfirmDeleteGroup:e.setConfirmDeleteGroup,deleteGroupAnchor:e.deleteGroupAnchor,handleDeleteGroup:e.handleDeleteGroup,handleNewSession:n,copyText:Z6,handleSelectSessionFromList:t,onSessionDeleted:r,handleUnseen:e.handleUnseen,loadSessions:h})]})]})}function Gfe({selectedSessionId:e,selectedSession:t,onSelectSession:n,onNewSession:r,initialSessionId:i,skipInitialProjectSelection:a,onInitialRestoreDone:o,refreshKey:s,onSessionDeleted:c,onUnseenSession:l,selectedCwd:u,onCwdChange:f,savedWorkspaces:p,onSavedWorkspacesChange:m,onOpenFile:h}){let{t:g}=M(),_=mfe({selectedSession:t,selectedSessionId:e,refreshKey:s,selectedCwdProp:u,savedWorkspaces:p,onSavedWorkspacesChange:m,onUnseenSession:l,onCwdChange:f,initialSessionId:i,skipInitialProjectSelection:a,onSelectSession:n,onInitialRestoreDone:o,onSessionDeleted:c}),{setError:v,loadSessions:y,markSeen:b,setSelectedCwd:x}=_,S=(0,d.useCallback)(async e=>{try{if((await fetch(`/api/sessions/${encodeURIComponent(e.id)}`,{method:`HEAD`})).status===404){v(g(`sidebar.sessionDeleted`)),y(!1,!0);return}}catch{}e.cwd&&x(e.cwd),b(e.id),n(e)},[n,g,y,b,v,x]),C=(0,d.useCallback)(e=>{let t=e??_.selectedCwd;if(!t)return;let n=typeof crypto.randomUUID==`function`?crypto.randomUUID():`${Date.now().toString(36)}-${Math.random().toString(36).slice(2)}-${Math.random().toString(36).slice(2)}`;r?.(n,t)},[_.selectedCwd,r]);return(0,T.jsxs)(`div`,{"data-testid":`session-sidebar`,style:{display:`flex`,flexDirection:`column`,height:`100%`,overflow:`hidden`,position:`relative`},children:[(0,T.jsx)(Wfe,{sb:_,handleSelectSessionFromList:S,handleNewSession:C,onSessionDeleted:e=>{c?.(e),_.loadSessions(!1,!0)}}),(0,T.jsx)(Zde,{})]})}function Kfe({command:e,note:t}){let{t:n}=M(),[r,i]=(0,d.useState)(!1),a=async()=>{try{await Z6(e),i(!0),setTimeout(()=>i(!1),1500)}catch{}};return(0,T.jsxs)(`div`,{style:{display:`flex`,flexDirection:`column`,gap:4},children:[(0,T.jsxs)(`div`,{style:{display:`flex`,alignItems:`center`,gap:8},children:[(0,T.jsx)(`div`,{style:{flex:1,minWidth:0,display:`flex`,alignItems:`center`,background:`var(--bg-panel)`,border:`1px solid var(--border)`,borderRadius:6,padding:`6px 8px`},children:(0,T.jsx)(`code`,{style:{flex:1,minWidth:0,overflow:`hidden`,textOverflow:`ellipsis`,whiteSpace:`nowrap`,fontFamily:`var(--font-mono)`,fontSize:`var(--text-sm)`,color:`var(--text)`},children:e})}),(0,T.jsx)(`button`,{onClick:()=>void a(),style:W9(),children:n(r?`updates.copied`:`updates.copyCommand`)})]}),(0,T.jsx)(`span`,{style:{fontSize:`var(--text-sm)`,color:`var(--text-dim)`},children:t})]})}function W9(e){return{padding:`6px 12px`,border:`1px solid var(--border)`,borderRadius:6,color:`var(--text-muted)`,cursor:e?`not-allowed`:`pointer`,fontSize:`var(--text-base)`,display:`inline-flex`,alignItems:`center`,justifyContent:`center`,gap:6,whiteSpace:`nowrap`,flexShrink:0}}function G9({title:e,subtitle:t,right:n,children:r,style:i}){return(0,T.jsxs)(`div`,{style:{border:`1px solid var(--border)`,borderRadius:10,background:`var(--bg-input)`,...i},children:[(0,T.jsxs)(`div`,{style:{display:`flex`,alignItems:`center`,justifyContent:`space-between`,gap:16,padding:`10px 14px`},children:[(0,T.jsxs)(`div`,{style:{display:`flex`,flexDirection:`column`,gap:2,minWidth:0},children:[(0,T.jsx)(`span`,{style:{fontSize:`var(--text-lg)`,color:`var(--text)`,fontWeight:500},children:e}),(0,T.jsx)(`span`,{style:{fontSize:`var(--text-sm)`,color:`var(--text-dim)`,fontFamily:`var(--font-mono)`,overflow:`hidden`,textOverflow:`ellipsis`,whiteSpace:`nowrap`},children:t})]}),(0,T.jsx)(`div`,{style:{display:`flex`,alignItems:`center`,gap:8,flexShrink:0},children:n})]}),r?(0,T.jsx)(`div`,{style:{borderTop:`1px solid var(--border)`,padding:`8px 14px 10px`},children:r}):null]})}var K9=new Map,q9=new Map,J9=new Map(K9),Y9=new Set;function X9(){J9=new Map(K9);for(let e of Y9)e()}function qfe(e){return Y9.add(e),()=>Y9.delete(e)}function Z9(e,t){K9.set(e,t),t.status!==`running`&&q9.delete(e),X9()}function Jfe(){return(0,d.useSyncExternalStore)(qfe,()=>J9,()=>J9)}function Yfe(e){let t=!1;for(let[n,r]of K9)r.status!==`running`&&!e.has(n)&&(K9.delete(n),t=!0);t&&X9()}async function Xfe(e,t,n,r){let i=await fetch(`/api/plugins`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({action:`update`,source:e,scope:t,cwd:n}),signal:r}),a=await i.json();if(!i.ok||a.error)throw Error(a.error??`HTTP ${i.status}`);await kt.refresh(r),Et.load().catch(e=>console.error(`[pi-web] load home plugins:`,e))}function Q9(e,t,n){if(!n||K9.get(e)?.status===`running`)return;Z9(e,{status:`running`});let r=Cp(r=>Xfe(e,t,n,r),12e4);q9.set(e,r),r.promise.then(()=>Z9(e,{status:`done`}),t=>{Z9(e,{status:`error`,error:t instanceof Error?t.message:String(t)})})}var Zfe=3e4;function Qfe(e){let{value:t}=fo(kt),[n,r]=(0,d.useState)(null),[i,a]=(0,d.useState)(!1),[o,s]=(0,d.useState)(null),c=wp(),l=(0,d.useRef)(null),u=n??t?.enabled!==!1,f=t?.ignored??{},p=(e,t)=>t!==null&&d9(t,e)>0,m=(e,t)=>{a(!0);let n=c.start(e,Zfe);l.current=n.promise,n.promise.catch(e=>{e instanceof Sp||(t?.(),s(e instanceof Error?e.message:String(e)))}).finally(()=>{l.current===n.promise&&a(!1)})},h=()=>{s(null),m(async e=>{await kt.refresh(e)})},g=(e,t)=>{s(null),t?.optimisticEnabled!==void 0&&r(t.optimisticEnabled),m(async t=>{let n=await fetch(`/api/updates-config`,{method:`PUT`,headers:{"Content-Type":`application/json`},body:JSON.stringify(e),signal:t}),r=await n.json();if(!n.ok||r.error)throw Error(r.error??`HTTP ${n.status}`);await kt.refresh(t)},()=>{t?.optimisticEnabled!==void 0&&r(null)})};return{value:t,enabled:u,ignored:f,checking:i,actionError:o,piWebUpdate:t?p(t.piWeb.current,t.piWeb.latest):!1,piWebIgnored:f[u9]===t?.piWeb.latest,toggleEnabled:e=>void g({enabled:e},{optimisticEnabled:e}),ignoreVersion:(e,t)=>void g({ignored:{[e]:t}}),updatePlugin:(t,n)=>Q9(t,n,e),refresh:h}}function $fe({cwd:e}){let{t}=M(),{value:n,enabled:r,ignored:i,checking:a,actionError:o,piWebUpdate:s,piWebIgnored:c,toggleEnabled:l,ignoreVersion:u,updatePlugin:f,refresh:p}=Qfe(e),m=Jfe(),h=[...m.values()].some(e=>e.status===`running`);return(0,d.useEffect)(()=>{n&&Yfe(new Set(n.plugins.map(e=>e.source)))},[n]),(0,T.jsxs)(`div`,{style:{display:`flex`,flexDirection:`column`,gap:12,padding:16},children:[(0,T.jsx)(npe,{t,enabled:r,value:n,actionError:o,checking:a,onToggle:l,onRefresh:p}),(0,T.jsx)(G9,{style:{maxWidth:460},title:`pi-web`,subtitle:n?`${n.piWeb.current}${s?` → ${n.piWeb.latest}`:``}`:`…`,right:(0,T.jsx)(epe,{value:n,enabled:r,piWebUpdate:s,piWebIgnored:c,t,onIgnore:e=>u(u9,e)}),children:n&&s&&n.piWeb.latest!==null&&(0,T.jsx)(Kfe,{command:`npm i -g @rainmanhhh/pi-web@${n.piWeb.latest}`,note:t(`updates.restartNote`)})}),(0,T.jsx)(`div`,{style:{fontSize:`var(--text-lg)`,color:`var(--text)`,fontWeight:500,marginTop:4},children:t(`common.plugins`)}),!r||(n?.plugins.length??0)===0?(0,T.jsx)(`span`,{style:{color:`var(--text-dim)`,fontSize:`var(--text-base)`},children:t(`updates.noPluginUpdates`)}):(0,T.jsx)(`div`,{style:{display:`flex`,flexWrap:`wrap`,gap:8},children:n?.plugins.map(e=>(0,T.jsx)(G9,{style:{flex:`1 1 300px`,minWidth:280,maxWidth:`calc((100% - 16px) / 3)`},title:e.displayName,subtitle:e.latest?`${e.current} → ${e.latest}`:e.source,children:(0,T.jsx)(`div`,{style:{display:`flex`,justifyContent:`flex-end`,gap:8},children:(0,T.jsx)(tpe,{pluginIgnored:i[e.source]===`*`,busy:m.get(e.source)?.status===`running`,allBusy:h,error:m.get(e.source)?.error,t,onUpdate:()=>f(e.source,e.scope),onIgnore:t=>u(e.source,t)})})},`${e.scope}:${e.source}`))})]})}function epe({value:e,enabled:t,piWebUpdate:n,piWebIgnored:r,t:i,onIgnore:a}){return e?t?n?r?(0,T.jsxs)(T.Fragment,{children:[(0,T.jsx)(`span`,{style:{color:`var(--text-dim)`,fontSize:`var(--text-sm)`},children:i(`updates.ignored`,{version:e.piWeb.latest??``})}),(0,T.jsx)(`button`,{onClick:()=>a(null),style:W9(),children:i(`updates.unignore`)})]}):(0,T.jsxs)(T.Fragment,{children:[(0,T.jsx)(`span`,{style:{color:`var(--status-success)`,fontWeight:500},children:i(`updates.updateAvailable`)}),(0,T.jsx)(`button`,{onClick:()=>a(e.piWeb.latest),style:W9(),children:i(`updates.ignoreVersion`)})]}):e.piWeb.latest===null?(0,T.jsx)(`span`,{style:{color:`var(--text-dim)`},children:i(`updates.unavailable`)}):(0,T.jsx)(`span`,{style:{color:`var(--text-dim)`},children:i(`updates.upToDate`)}):(0,T.jsx)(`span`,{style:{color:`var(--text-dim)`},children:i(`updates.disabled`)}):null}function tpe({pluginIgnored:e,busy:t,allBusy:n,error:r,t:i,onUpdate:a,onIgnore:o}){return e?(0,T.jsxs)(T.Fragment,{children:[(0,T.jsx)(`span`,{style:{color:`var(--text-dim)`,fontSize:`var(--text-sm)`},children:i(`updates.ignoredPlugin`)}),(0,T.jsx)(`button`,{onClick:()=>o(null),style:W9(),children:i(`updates.unignore`)})]}):(0,T.jsxs)(T.Fragment,{children:[r&&(0,T.jsx)(`span`,{title:r,style:{color:`var(--status-error)`,fontSize:`var(--text-sm)`,maxWidth:160,overflow:`hidden`,textOverflow:`ellipsis`,whiteSpace:`nowrap`},children:r}),(0,T.jsxs)(`button`,{onClick:a,disabled:t,style:W9(t),children:[t&&(0,T.jsx)(Qr,{size:14,className:`animate-spin`,"aria-hidden":`true`}),i(t?`i18n.updating`:`i18n.update`)]}),(0,T.jsx)(`button`,{onClick:()=>o(`*`),disabled:n,style:W9(n),children:i(`updates.ignoreVersion`)})]})}function npe({t:e,enabled:t,value:n,actionError:r,checking:i,onToggle:a,onRefresh:o}){let s=i||!t;return(0,T.jsxs)(`div`,{style:{display:`flex`,alignItems:`center`,gap:12},children:[(0,T.jsxs)(`label`,{title:e(`updates.enableCheckingHint`),style:{display:`flex`,alignItems:`center`,gap:8,cursor:`pointer`,fontSize:`var(--text-base)`,color:`var(--text-muted)`},children:[(0,T.jsx)(`input`,{type:`checkbox`,"data-testid":`updates-enabled-toggle`,checked:t,onChange:e=>a(e.target.checked)}),(0,T.jsx)(`span`,{children:e(`updates.enableChecking`)})]}),(0,T.jsxs)(`span`,{style:{display:`flex`,alignItems:`center`,gap:6,fontSize:`var(--text-base)`,color:`var(--text-dim)`},children:[t?n?`${e(`updates.checkedAt`)} ${new Date(n.checkedAt).toLocaleTimeString()}`:e(`updates.checking`):e(`updates.disabled`),r?` · ${r}`:``]}),(0,T.jsxs)(`button`,{onClick:o,disabled:s,style:W9(s),children:[i&&(0,T.jsx)(Qr,{size:14,className:`animate-spin`,"aria-hidden":`true`}),e(i?`updates.checking`:`updates.check`)]})]})}var rpe=e=>window.history.replaceState(null,``,e);function ipe(e){return e?`Pi Web · ${e}`:`Pi Web`}function ape(e,t){return e&&!t}function ope(e,t,n){return e?t:n}function spe(e,t){return!!(e&&t?.requiresTrust&&!t.trusted)}function cpe(e,t){return e>0&&!t}function lpe(e,t){return!!(e&&t)}function upe(e,t,n,r){t&&n(!1),r(t=>t===e?null:e)}function dpe(e,t,n){e&&t(),n(e=>!e)}function fpe(e,t,n){e&&!t&&n(!1)}function ppe(e,t,n){e?t(e=>!e):n(e=>!e)}function mpe(e){return e?nx(e)||e:null}function $9(e){return e?.id??null}function hpe(e,t){return e?.cwd??t}function gpe(e){return e?SW(e.filePath):`file:`}function _pe(){let[e,t]=(0,d.useState)(!1);(0,d.useEffect)(()=>{t(!0)},[]);let[n]=(0,d.useState)(()=>WW(new URLSearchParams(window.location.search))),{isDark:r,toggleTheme:i}=PW(),{locale:a,setLocale:o,t:s,supportedLocales:c}=M(),l=mt();BW();let{settingsValue:u,defaultThinkingLevel:f,setDefaultThinkingLevel:p,compaction:m,retry:h,defaultProjectTrust:g,setDefaultProjectTrust:_,savedWorkspaces:v,handleSavedWorkspacesChange:y,widgetGeometries:b,setWidgetGeometry:x,widgetMessages:S,addWidgetMessage:C,removeWidgetMessage:w,updateWidgetMessage:E}=An({isDark:r,toggleTheme:i}),[D,O]=(0,d.useState)(null),{selectedSession:k,effectiveNewSessionCwd:A,showChat:j,projectTrustCwd:N,refreshKey:ee,sessionKey:te,explorerRefreshKey:P,setExplorerRefreshKey:ne,modelsRefreshKey:re,setModelsRefreshKey:ie,activeCwd:ae,initialCwdStatus:oe,initialCwdError:se,initialSessionRestored:ce,projectTrust:le,projectTrustDialogOpen:ue,setProjectTrustDialogOpen:de,projectTrustBusy:fe,projectTrustError:pe,setProjectTrustError:me,extensionDialogActiveRef:he,handleSelectSession:ge,handleNewSession:_e,handleSessionCreated:ve,handleAgentEnd:ye,handleSessionForked:be,handleSessionDeleted:xe,handleSessionUnseen:Se,handleCwdChange:Ce,handleTrustProject:we,handleExplorerRefresh:Te,handleInitialRestoreDone:Ee}=Zn({initialNavigation:n,onProjectSwitch:()=>{O(null),De(e=>e.filter(e=>e.kind!==`file`)),Oe(null),rpe(`/`)},onSessionSelected:e=>{e||(Oe(hW),Tt(!1)),fpe(l,e,at)},onTopPanelReset:()=>O(null)}),{setSavedTabs:De,setActiveSavedId:Oe,configTabOpen:ke,configSection:Ae,setConfigSection:je,configTabActive:Me,updatesTabOpen:Ne,updatesTabActive:Pe,openUpdatesTab:Fe,noticesTabOpen:Ie,noticesTabActive:Le,openNoticesTab:Re,trajectoryTabOpen:ze,trajectoryTabActive:Be,openTrajectoryTab:Ve,branchesTabOpen:He,branchesTabActive:Ue,openBranchesTab:We,activeFileTab:Ge,fileTabs:Ke,modelConfigFocus:qe,handleOpenFile:Je,openConfigTab:Ye,handleOpenModelConfig:Xe,closeConfigTab:Ze,handleCloseMainTab:Qe}=kW({onSessionSelected:()=>{Tt(!1),l&&at(!1)},onRefreshModels:()=>ie(e=>e+1)}),{updatesBadge:$e,updateItems:et,updatesBannerDismissed:tt,setUpdatesBannerDismissed:nt}=Fde({activeCwd:ae,translate:s}),rt=(0,d.useCallback)(e=>{Je(e,nx(e),{sourceSessionId:$9(k)})},[Je,k]),[it,at]=(0,d.useState)(!0),{sidebarResizer:ot,widgetPanelResizer:st,mobileSidebarReady:lt}=Ode({isMobile:l,sidebarOpen:it,setSidebarOpen:at,translate:s}),ut=(0,d.useRef)(null),dt=(0,d.useRef)(null),ft=(0,d.useRef)(null),pt=Ty(),ht=(0,d.useCallback)(()=>{pt.schedule(()=>{O(null)},150)},[pt]),gt=pt.cancel,yt=Mde({activeTopPanel:D,isMobile:l,tabBarRef:ut,sidebarTopBarRef:dt,languageBtnRef:ft}),bt=(0,d.useCallback)(e=>upe(e,l,at,O),[l]),xt=(0,d.useCallback)(()=>dpe(l,()=>O(null),at),[l]),{widgetPanelOpen:St,setWidgetPanelOpen:Ct,widgetsTabActive:wt,setWidgetsTabActive:Tt,extensionWidgets:Et,closedWidgets:Dt,handleCloseWidget:Ot,handleReopenWidget:kt,handleExtensionWidgetsChange:At,rightSidebarOpen:jt,setRightSidebarOpen:Mt,closedWidgetCount:Nt}=VW({widgetGeometries:b,setWidgetGeometry:x}),Pt=ope(l,St,jt),Ft=(0,d.useRef)(null),It=(0,d.useRef)(null);(0,d.useEffect)(()=>{let e=Ft.current;if(e!==l){if(Ft.current=l,l)It.current={left:it,right:jt},at(!1),Ct(!1);else if(e===!0){let e=It.current;e&&(at(e.left),Mt(e.right))}}},[l]);let{chatInputRef:Lt,handleAtMention:Rt,handleAtMentions:zt,handleFileLineMention:Bt}=Ede(),Vt=n.sessionId;_t({onNewSession:e=>_e(`kb-${Date.now()}`,e),activeCwd:ae});let Ht=ape(ce,j),Ut=KW({translate:s,closedWidgetCount:Nt,configTabOpen:ke,updatesTabOpen:Ne,noticesTabOpen:Ie,trajectoryTabOpen:ze,branchesTabOpen:He,updatesBadge:$e,fileTabs:Ke}),Wt=mpe(ae);po(()=>{l&&ke&&Ze()},[l]);let Gt=ipe(Wt),Kt=$9(k),qt=hpe(k,A);(0,d.useEffect)(()=>{UW(Gt)},[Gt]),(0,d.useEffect)(()=>{let e=()=>{UW(Gt)};return window.addEventListener(`focus`,e),()=>window.removeEventListener(`focus`,e)},[Gt]);let Jt=vt(),Yt=(0,T.jsxs)(T.Fragment,{children:[(0,T.jsx)($K,{topBarRef:dt,notifyPermission:Jt,isDark:r,toggleTheme:i,updatesBadge:$e,openUpdatesTab:Fe,openConfigTab:Ye,openNoticesTab:Re,isMobile:l,setSidebarOpen:at,activeTopPanel:D,setActiveTopPanel:O,cancelCloseTopPanel:gt,scheduleCloseTopPanel:ht,languageBtnRef:ft}),cpe($e,tt)&&(0,T.jsx)(Tde,{items:et,openUpdatesTab:Fe,onDismiss:()=>nt(!0)}),(0,T.jsx)(Gfe,{selectedSessionId:Kt,selectedSession:k,onSelectSession:ge,onNewSession:_e,initialSessionId:Vt,skipInitialProjectSelection:n.requestedCwd!==null,onInitialRestoreDone:Ee,refreshKey:ee,onSessionDeleted:xe,onUnseenSession:Se,selectedCwd:qt,onCwdChange:Ce,savedWorkspaces:v,onSavedWorkspacesChange:y,onOpenFile:Je})]});if(!e)return(0,T.jsx)(Lde,{});let Xt=(0,T.jsx)(qK,{sidebarOpen:it,onToggle:xt}),Zt=spe(j,le)?(0,T.jsx)(tq,{isMobile:l,onClick:()=>{me(null),de(!0)}}):null,Qt=(0,T.jsx)(Ide,{panelOpen:Pt,highlighted:St,onToggle:()=>{ppe(l,Ct,Mt)}});return(0,T.jsxs)(T.Fragment,{children:[(0,T.jsx)($n,{value:u,children:(0,T.jsx)(IW,{value:{activeTopPanel:D,toggleTopPanel:bt,closeTopPanel:()=>O(null)},children:(0,T.jsx)(T.Fragment,{children:(0,T.jsxs)(_o,{delayDuration:0,children:[(0,T.jsx)(Ude,{}),(0,T.jsxs)(ct,{children:[(0,T.jsxs)(`div`,{style:{display:`flex`,width:`100%`,height:`var(--app-viewport-height, 100dvh)`,paddingLeft:`env(safe-area-inset-left)`,paddingRight:`env(safe-area-inset-right)`,overflow:`hidden`,background:`var(--bg)`},children:[(0,T.jsx)(GK,{isMobile:l,sidebarResizer:ot,sidebarOpen:it,mobileSidebarReady:lt,setSidebarOpen:at,sidebarContent:Yt,translate:s}),(0,T.jsxs)(`div`,{style:{flex:1,display:`flex`,flexDirection:`column`,overflow:`hidden`,minWidth:0},children:[(0,T.jsx)(eq,{activeTopPanel:D,setActiveTopPanel:O,topPanelPos:yt,cancelCloseTopPanel:gt,scheduleCloseTopPanel:ht,translate:s,locale:a,setLocale:o,supportedLocales:c}),(0,T.jsxs)(JU,{tabs:Ut,activeTabId:qW({configTabActive:Me,updatesTabActive:Pe,noticesTabActive:Le,widgetsTabActive:wt,trajectoryTabActive:Be,branchesTabActive:Ue,activeFileTab:Ge}),leftExtra:Xt,rightExtra:Qt,onSelectTab:e=>{let t=JW(e);Tt(t.widgetsTabActive),Oe(t.activeSavedId)},onCloseTab:Qe,tabBarRef:ut,isMobile:l,overlay:(0,T.jsx)(GW,{initialCwdStatus:oe,requestedCwd:n.requestedCwd,initialCwdError:se,showPlaceholder:Ht,activeCwd:ae,translate:s}),children:[(0,T.jsx)(WU,{id:gW,testId:`config-tab-pane`,children:(0,T.jsx)(due,{configSection:Ae,setConfigSection:je,projectTrustCwd:N,sessionId:Kt,closeConfigTab:Ze,handleOpenFile:Je,sidebarResizer:ot,widgetPanelResizer:st,modelConfigFocus:qe,defaultThinkingLevel:f,setDefaultThinkingLevel:p,compaction:m,retry:h,defaultProjectTrust:g,setDefaultProjectTrust:_})}),(0,T.jsx)(WU,{id:vW,testId:`updates-tab-pane`,children:(0,T.jsx)($fe,{cwd:ae})}),(0,T.jsx)(WU,{id:xW,testId:`notices-tab-pane`,children:(0,T.jsx)(sde,{currentSessionId:Kt})}),(0,T.jsx)(WU,{id:yW,keepAlive:!0,testId:`trajectory-tab-pane`,children:(0,T.jsx)(xde,{sessionId:Kt})}),(0,T.jsx)(WU,{id:bW,keepAlive:!0,testId:`branches-tab-pane`,children:(0,T.jsx)(Sq,{sessionId:Kt})}),(0,T.jsx)(WU,{id:gpe(Ge),testId:`file-tab-pane`,children:(0,T.jsx)(ode,{activeFileTab:Ge,activeCwd:ae,explorerRefreshKey:P,setExplorerRefreshKey:ne,handleFileLineMention:Bt,handleOpenFile:Je})}),(0,T.jsx)(WU,{id:hW,keepAlive:!0,testId:`chat-tab-pane`,scroll:`hidden`,activeWhen:j,children:(0,T.jsx)(uue,{sessionKey:te,selectedSession:k,effectiveNewSessionCwd:A,handleAgentEnd:ye,handleSessionCreated:ve,handleSessionForked:be,modelsRefreshKey:re,handleOpenModelConfig:Xe,chatInputRef:Lt,handleOpenLinkedFile:rt,onOpenTrajectory:Ve,onOpenBranches:We,activeCwdName:Wt,trustWarningElement:Zt,closedWidgets:Dt,handleCloseWidget:Ot,handleExtensionWidgetsChange:At,extensionDialogActiveRef:he})}),(0,T.jsx)(WU,{id:_W,keepAlive:!0,testId:`widgets-tab-pane`,zIndex:1,activeWhen:j,children:(0,T.jsx)(wde,{widgetGeometries:b,widgetMessages:S,addWidgetMessage:C,removeWidgetMessage:w,updateWidgetMessage:E,extensionWidgets:Et,closedWidgets:Dt,handleReopenWidget:kt})})]})]}),(0,T.jsx)(WK,{isMobile:l,rightSidebarOpen:jt,rightSidebarOpenEffective:Pt,widgetPanelResizer:st,translate:s,cwd:qt,sessionId:Kt,handleOpenFile:Je,explorerRefreshKey:P,handleExplorerRefresh:Te,handleAtMention:Rt,handleAtMentions:zt,openConfigTab:Ye,onMobileClose:()=>Ct(!1)})]}),lpe(ue,N)&&N&&(0,T.jsx)(Kde,{cwd:N,busy:fe,error:pe,onCancel:()=>{fe||de(!1)},onConfirm:()=>void we()})]})]})})})}),(0,T.jsxs)(T.Fragment,{children:[(0,T.jsx)(Rde,{}),(0,T.jsx)(Gde,{})]})]})}var vpe=class extends d.Component{constructor(...e){super(...e),this.state={hasError:!1}}static getDerivedStateFromError(){return{hasError:!0}}componentDidCatch(e){jq(e,`render error`)}render(){return this.state.hasError?(0,T.jsxs)(`div`,{style:{display:`flex`,flexDirection:`column`,alignItems:`center`,justifyContent:`center`,gap:12,height:`100vh`,color:`var(--text)`,fontSize:`var(--text-base)`},children:[(0,T.jsx)(`span`,{children:`⚠️`}),(0,T.jsx)(`span`,{children:`Something went wrong while rendering.`}),(0,T.jsx)(`button`,{type:`button`,onClick:()=>{this.setState({hasError:!1})},style:{border:`1px solid var(--border)`,color:`var(--text)`,borderRadius:6,padding:`4px 14px`,cursor:`pointer`},children:`Try again`})]}):this.props.children}};function ype(){return(0,d.useEffect)(()=>{if(!(`serviceWorker`in navigator))return;let e=()=>{navigator.serviceWorker.register(`/sw.js?v=0.30.2`,{scope:`/`,updateViaCache:`none`}).catch(e=>{console.error(`Failed to register the Pi Web service worker:`,e)})};if(document.readyState===`complete`){e();return}return window.addEventListener(`load`,e,{once:!0}),()=>window.removeEventListener(`load`,e)},[]),null}var bpe=`piE2eFixtureDir`;function xpe(){return typeof window>`u`?null:new URL(window.location.href).searchParams.get(`piE2eFixtureDir`)}function Spe(){if(typeof document>`u`)return;let e=xpe();e&&(document.cookie=`${bpe}=${encodeURIComponent(e)}; path=/; SameSite=Lax`)}async function Cpe(){Spe(),Ce(!0),Ee();let e=we(`boot`),t=null;try{let n=await wt.load();e(`preferences catalog loaded`,`locale=${n.firstPaint?.locale}`);let r=n.firstPaint?.locale;(r===`en`||r===`zh-CN`)&&(t=r,document.documentElement.lang=r===`zh-CN`?`zh-CN`:`en`);let i=n.theme;if(i===`dark`?document.documentElement.classList.add(`dark`):document.documentElement.classList.remove(`dark`),i)try{localStorage.setItem(`pi-theme`,i)}catch{}}catch{}e(`root render`),window.addEventListener(`unhandledrejection`,e=>{jq(e.reason,`unhandled promise rejection`)}),window.addEventListener(`error`,e=>{let t=(e.error instanceof Error?e.error.message:``)||e.message||``;t.includes(`ResizeObserver loop`)||t.startsWith(`Script error`)||jq(e.error??e.message,`uncaught error`)}),(0,f.createRoot)(document.getElementById(`root`)).render((0,T.jsx)(d.StrictMode,{children:(0,T.jsx)(vpe,{children:(0,T.jsxs)(j,{initialLocale:t,children:[(0,T.jsx)(_pe,{}),(0,T.jsx)(ype,{})]})})}))}Cpe();export{a4 as a,w as c,Z4 as i,i as l,q6 as n,XD as o,X6 as r,M as s,E3 as t};
|
|
506
|
+
`):void 0;e.push({key:`group-header-${r}`,kind:`groupHeader`,groupUserIdx:r,finalAssistantIdx:a,messageCount:p+ +!!f,toolCallCount:$le(n,c)+w$(u.processBlocks),artifacts:m.length>0?m:void 0,answerPreview:g,estimate:40});for(let e=a+1;e<i;e++)o(e)}function rue(e,t){let{userIdx:n,endIdx:r,pushMessage:i}=t;i(n),e.push({key:`group-header-${n}`,kind:`groupHeader`,groupUserIdx:n,finalAssistantIdx:n,messageCount:0,toolCallCount:0,estimate:40});for(let e=n+1;e<r;e++)i(e)}function iue(e,t){let n=[],{isLiveTail:r}=t,i=(t,r={})=>{n.push({key:`message-${t}`,kind:`message`,msgIdx:t,estimate:I7(e[t]),...r})};for(let t=0;t<e.length;){let a=e[t];if(!L7(a)){i(t),t+=1;continue}let o=t,s=o+1;for(;s<e.length&&!L7(e[s]);)s+=1;let c=Qle(e,o,s),l=r&&s>=e.length&&c===-1;if(tue({finalAssistantIdx:c})&&!l){for(let e=o;e<s;e++)i(e);t=s;continue}if(c===-1){rue(n,{userIdx:o,endIdx:s,pushMessage:i}),t=s;continue}nue(n,{messages:e,userIdx:o,endIdx:s,finalAssistantIdx:c,pushMessage:i}),t=s}return n}function aue(e){let t=new Map;return e.forEach((e,n)=>{e.kind===`message`&&t.set(e.msgIdx,n)}),t}function oue({messages:e,sessionBusy:t,isStreaming:n,collapsedTurnKeys:r,turnKeyByMsgIdx:i,virtualizerRef:a,scrollContainerRef:o,canMountList:s,setCanMountList:c,initialSizesRef:l}){let u=(0,d.useMemo)(()=>{for(let t=e.length-1;t>=0;t--)if(L7(e[t]))return t;return-1},[e]),f=(0,d.useMemo)(()=>{let t=new Map,n=0;return e.forEach((e,r)=>{(e.role===`user`||e.role===`assistant`)&&t.set(r,n++)}),t},[e]),p=(0,d.useMemo)(()=>iue(e,{isLiveTail:(t||n)&&u>=0,lastAnchorIdx:u}),[e,t,n,u]),m=[];for(let t of p){let n=t.kind===`groupHeader`?t.groupUserIdx:t.kind===`message`?t.msgIdx:void 0;if(!(n!==void 0&&r.has(i.get(n)??``))){m.push(t);continue}(t.kind===`message`&&e[t.msgIdx]?.role===`user`||t.kind===`groupHeader`)&&m.push(t)}let h=(0,d.useMemo)(()=>aue(m),[p,r]),g=(0,d.useMemo)(()=>m.map(e=>e.key),[p,r]),_=(0,d.useCallback)(e=>{let t=h.get(e);if(t===void 0)return null;let n=a.current;return n?n.getItemOffset(t):null},[h,a]),v=s&&l.current?[l.current,200]:void 0;(0,d.useLayoutEffect)(()=>{s||p.length!==0&&o.current&&(l.current=p.map(e=>e.estimate),c(!0))},[s,p,o,c,l]);let[y,b]=(0,d.useState)(null),x=(0,d.useRef)(null),S=(0,d.useRef)(null),C=(0,d.useCallback)(e=>{let t=h.get(e),n=a.current,r=o.current;if(t===void 0||!n)return!1;let i=n.getItemOffset(t),s=r!==null&&Number.isFinite(i)?Math.abs(i-r.scrollTop)>r.clientHeight*3:!1;return n.scrollToIndex(t,{align:`start`,offset:-24,smooth:!s}),!0},[h,o,a]),w=(0,d.useCallback)(e=>{let t=h.get(e);if(t===void 0||!C(e))return!1;let n=g[t];return b(n),x.current&&clearTimeout(x.current),x.current=setTimeout(()=>{x.current=null,b(e=>e===n?null:e)},1700),!0},[g,h,C]),T=(0,d.useCallback)(e=>{if(w(e))return;let t=i.get(e);t&&(S.current={msgIdx:e,tries:0},QX(t,!0))},[w,i]);return(0,d.useLayoutEffect)(()=>{let e=S.current;e&&(w(e.msgIdx)||++e.tries>3)&&(S.current=null)},[w]),{rows:p,displayRows:m,visibleRefIndexByMessage:f,initialCache:v,resolveMessageOffset:_,scrollToMessageIndex:C,handleSearchJump:T,flashKey:y}}function sue(e){return e.replace(/[\r\n\t]/g,` `).replace(/ +/g,` `).trim()}function cue(e){return[...e].sort((e,t)=>e.key.localeCompare(t.key)).map(({text:e})=>sue(e)).join(` `)}var z7={background:`linear-gradient(90deg, var(--accent) 0%, var(--accent) 47%, var(--shine-highlight) 53%, var(--shine-highlight) 100%)`,backgroundSize:`200% 100%`,WebkitBackgroundClip:`text`,backgroundClip:`text`,color:`transparent`,animation:`pi-status-shine 1.5s linear infinite`},B7={animation:`pi-status-icon-pulse 1.5s ease-in-out infinite`},V7={maxWidth:`11ch`,textAlign:`right`,whiteSpace:`nowrap`,overflow:`hidden`,fontVariantNumeric:`tabular-nums`},lue={display:`flex`,flexShrink:0,maxWidth:`11ch`};function uue(e,t){if(e?.kind===`running_tools`){let n=e.tools.map(e=>e.name);if(n.length===0)return{text:t(`chat.runningTool`)};let r=n[n.length-1];if(n.length===1)return{text:t(`chat.runningNamedTool`,{name:r}),tooltip:t(`chat.runningNamedTool`,{name:r})};let i=n.length,a=t(`chat.runningToolsFull`,{names:i<=3?n.join(`,`):`${n.slice(0,3).join(`,`)}...`,count:i});return{text:t(`chat.runningNamedTool`,{name:r}),count:i,tooltip:a}}return e?.kind===`thinking`?{text:t(`chat.thinking`)}:e?.kind===`waiting_model`?{text:t(`chat.waitingModel`)}:e?.kind===`running_command`?{text:t(`chat.runningCommand`)}:e?.kind===`retrying`?{text:t(`chat.retrying`,{attempt:e.attempt,max:e.maxAttempts})}:null}function H7(e){return e?.kind===`running_tools`?(0,T.jsx)(Ai,{size:I.lg}):e?.kind===`running_command`?(0,T.jsx)(xi,{size:I.lg}):e?.kind===`thinking`?(0,T.jsx)(Jr,{size:I.lg,fill:`currentColor`,style:{color:`var(--bulb-warning)`}}):e?.kind===`retrying`?(0,T.jsx)(Ti,{size:I.lg,style:{color:`var(--status-warning)`}}):e?.kind===`waiting_model`?(0,T.jsx)(Ur,{size:I.lg}):(0,T.jsx)(ti,{size:I.lg})}function U7({phase:e,elapsed:t,totalElapsed:n,totalElapsedSeconds:r,iconOnly:i=!1}){let{t:a}=M(),o=uue(e,a),s=o?.text??a(`chat.responding`);return i?(0,T.jsx)(`span`,{className:`inline-flex items-center`,style:{...z7},role:`status`,"aria-label":s,children:(0,T.jsx)(`span`,{className:`inline-flex`,style:B7,children:H7(e)})}):(0,T.jsxs)(`span`,{className:`inline-flex items-center gap-1.5`,style:{...z7,minWidth:0,maxWidth:`100%`},children:[(0,T.jsx)(`span`,{className:`inline-flex flex-shrink-0`,style:B7,children:H7(e)}),(0,T.jsxs)(F,{label:o?.tooltip,wrapperStyle:{flex:`1 1 auto`,minWidth:0,display:`flex`,overflow:`hidden`},children:[(0,T.jsx)(`span`,{style:{flex:`1 1 auto`,overflow:`hidden`,textOverflow:`clip`,whiteSpace:`nowrap`,minWidth:0},children:s}),o?.count!=null&&(0,T.jsxs)(`span`,{style:{flexShrink:0,whiteSpace:`nowrap`},children:[`(`,o.count>9?`9+`:o.count,`)`]})]}),t==null?n==null?null:(0,T.jsxs)(`span`,{style:V7,title:r==null?void 0:_X(r),children:[`· `,a(`chat.totalElapsed`,{total:n})]}):(0,T.jsx)(F,{label:n==null?void 0:`${t}(${a(`chat.totalElapsed`,{total:r==null?n:_X(r)})})`,wrapperStyle:lue,children:(0,T.jsxs)(`span`,{style:V7,children:[`· `,t]})})]})}function due({session:e,newSessionCwd:t,onAgentEnd:n,onSessionCreated:r,onSessionForked:i,modelsRefreshKey:a,chatInputRef:o,onOpenModelConfig:s,windowTitleBase:c,onOpenFile:l,onOpenTrajectory:u,onOpenBranches:f,toolbarExtra:p,closedWidgetKeys:m,onCloseWidget:h,onExtensionWidgetsChange:g,onExtensionDialogChange:_}){let{t:v,locale:y}=M(),{scrollStepPx:b,autoReloadSeconds:x,recentBlocksExpanded:S,widgetGeometries:C,setWidgetGeometry:w,widgetMessages:E,startScreenMessages:D}=er(),{soundEnabled:O,onSoundToggle:k,playDoneSound:A,unlockAudio:j}=mX(),N=mt(),ee=vt(),{wrappedOnAgentEnd:te,soundedExtensionDialogIdRef:P,playDoneSoundRef:ne}=Ule({playDoneSound:A,soundEnabled:O,onAgentEnd:n}),re=(0,d.useCallback)(e=>{o?.current?.insertIfEmpty(e)},[o]),ae=(0,d.useCallback)(e=>{o?.current?.fillInput(e)},[o]),{activeTopPanel:oe,cancelCloseTopPanel:se,chatToolbarRef:ce,copiedSessionField:le,handleCopySessionField:ue,handleViewFullHistory:de,scheduleCloseTopPanel:fe,systemBtnRef:pe,toggleTopPanel:me}=Kle({session:e,onOpenTrajectory:u}),{loading:he,error:ge,messages:_e,entryIds:ve,streamState:ye,agentRunning:be,bashRunning:xe,bashOutput:Se,pendingBash:Ce,modelNames:we,modelList:Te,modelError:Ee,modelScopeWarnings:De,modelThinkingLevels:Oe,modelThinkingLevelMaps:ke,toolPreset:Ae,toolPresets:je,toolPresetDrift:Me,thinkingLevel:Ne,retryInfo:Pe,displayContextUsage:Fe,forkingEntryId:Ie,isCompacting:Le,compactResult:Re,displayModel:ze,sessionStats:Be,systemPrompt:Ve,slashCommands:He,slashCommandsLoading:Ue,queuedMessages:We,notices:Ge,noticeModals:Ke,dismissNotice:qe,dismissNoticeModal:Je,extensionDialog:Ye,extensionCustomUi:Xe,extensionStatuses:Ze,extensionWidgets:Qe,respondToExtensionUi:$e,sendExtensionCustomInput:et,isAutoModelSelection:tt,agentPhase:nt,commandBusy:rt,isNew:it,tree:at,sessionIdRef:ot,activeLeafId:st,loadContext:ct,messagesEndRef:lt,scrollContainerRef:ut,lastUserMsgRef:dt,handleSend:ft,handleAbort:pt,handleFork:ht,forkAuxPrompt:gt,confirmForkAux:_t,cancelForkAux:yt,handleNavigate:bt,handleLeafChange:xt,handleModelChange:St,handleCompact:Ct,handleSteer:wt,handleFollowUp:Tt,handlePromptWithStreamingBehavior:Et,handleAbortCompaction:Dt,handleRecallQueue:Ot,handleBuiltinSlashCommand:kt,handleToolPresetChange:At,handleThinkingLevelChange:jt,loadSlashCommands:Mt}=pX({session:e,newSessionCwd:t,onAgentEnd:te,onSessionCreated:r,onSessionForked:i,modelsRefreshKey:a,chatInputRef:o});(0,d.useEffect)(()=>{g?.(Qe)},[Qe,g]),(0,d.useEffect)(()=>{let t=e?.id;t&&vq(t,{tree:at,activeLeafId:st,handleLeafChange:xt})},[e?.id,at,st,xt]);let Nt=e?.id??null;(0,d.useEffect)(()=>{if(XX(Nt),!Nt)return;let e=!1;return fetch(`/api/sessions/${encodeURIComponent(Nt)}/pi-web-state`).then(e=>e.ok?e.json():null).then(t=>{e||ZX(Nt,t?.data?.ui??null)}).catch(()=>{}),()=>{e=!0}},[Nt]);let Pt=v7(be,xe),{handleQuickMessageSend:Ft,wrappedHandleBuiltinSlashCommand:It}=Hle({sessionBusy:Pt,handleSteer:wt,handlePromptWithStreamingBehavior:Et,handleSend:ft,handleBuiltinSlashCommand:kt,toggleTopPanel:me}),Lt=(0,d.useMemo)(()=>Fce(_e,ve,S),[_e,ve,S]),{collapsedTurns:Rt,expandedTurns:zt}=eZ(),Bt=(0,d.useMemo)(()=>{let e=new Map,t=``;return _e.forEach((n,r)=>{n.role===`user`&&(t=ve[r]??`idx-${r}`),(n.role===`user`||n.role===`assistant`)&&e.set(r,t)}),e},[_e,ve]),{runningSessionIds:Vt,runningPhases:Ht,runningPhaseSince:Ut,runningRespondingSince:Wt,runningBusySince:Gt}=NX(),Kt=Uce(e?.id,ot.current),qt=Ht[Kt]??null,Jt=Rce(Vt.has(Kt),be,rt,xe),Yt=-1;for(let e=_e.length-1;e>=0;e--){let t=_e[e]?.role;if(t===`user`||t===`assistant`){Yt=e;break}}let Xt=Pt||ye.isStreaming?Bt.get(Yt):void 0,Zt=(0,d.useMemo)(()=>{let e=Pce({turnKeysNewestLast:h7(_e,ve),streamingTurnKey:Xt,collapsedTurns:Rt,expandedTurns:zt});for(let t of h7(_e,ve))e.add(t);return e},[_e,ve,Xt,Rt,zt]),Qt=FX(Jt,Ut[Kt]),$t=FX(Jt,Wt[Kt]),en=FX(Jt,Gt[Kt]),tn=IX(Jt,Gt[Kt]),nn=rt||xe&&!qt?{kind:`running_command`}:qt,rn=nn?Qt:$t,an=ie(cue(Ze));Vle({sessionBusy:Pt,extensionDialogOpen:Ye!==null,agentPhase:nn,messages:_e,windowTitleBase:c,phaseElapsed:rn,phaseSinceMs:nn?Ut[Kt]:Wt[Kt]??Gt[Kt]});let{handleReloadFromDisk:on}=Gle({autoReloadSeconds:x,activeLeafId:st,loadContext:ct,sessionIdRef:ot,extensionDialog:Ye,onExtensionDialogChange:_,sessionBusy:Pt,handleAbort:pt});Fle({extensionDialog:Ye,soundedIdRef:P,playRef:ne});let[sn,cn]=(0,d.useState)(null),{nearBottom:ln,virtualizerRef:un,scrollToBottom:dn,handleListScroll:fn,handleWindowJumpTo:pn,itemRef:mn,resetItemObservers:hn,isPinnedToBottom:gn,lockBottomPin:_n,unlockBottomPin:vn}=Wle({scrollContainerRef:ut}),yn=_$(_e.filter(e=>e.role===`user`||e.role===`assistant`).length),[bn,xn]=(0,d.useState)(!1),Sn=Vce(e?.id,t);(0,d.useEffect)(()=>()=>{},[]);let{isDragOver:Cn,handleDragEnter:wn,handleDragOver:Tn,handleDragLeave:En,handleDrop:Dn}=hX((0,d.useCallback)(e=>Gce(o,Pt,e),[Pt,o])),On=(0,d.useRef)(null),{displayRows:kn,visibleRefIndexByMessage:An,initialCache:jn,resolveMessageOffset:Mn,scrollToMessageIndex:Nn,handleSearchJump:Pn,flashKey:Fn}=oue({messages:_e,sessionBusy:Pt,isStreaming:ye.isStreaming,collapsedTurnKeys:Zt,turnKeyByMsgIdx:Bt,virtualizerRef:un,scrollContainerRef:ut,canMountList:bn,setCanMountList:xn,initialSizesRef:On});Ple({sessionIdForCache:Sn,scrollContainerRef:ut,resetItemObservers:hn,onResetCache:(0,d.useCallback)(()=>{xn(!1),On.current=null},[]),messageRefs:yn,lastUserMsgRef:dt});let In=Ice(it,_e,ye.isStreaming,Pt),Ln=Lce(be,ye.isStreaming,rt,xe);Ile({startScreenMessages:D,aiIdle:Ln,isPinnedToBottom:gn,scrollContainerRef:ut});let Rn=Bce(e?.cwd,t),zn=y7(ze,Oe),Bn=y7(ze,ke),Vn=Wce(e,it),Hn=tle({agentRunning:be,commandBusy:rt,agentPhase:qt??nt,streamState:ye})||xe?(0,T.jsx)(U7,{phase:nn,elapsed:rn,totalElapsed:en,totalElapsedSeconds:tn,iconOnly:N}):null,Un=Hce(e?.id,t),Wn=(0,T.jsx)(zQ,{ref:o,statusHint:Hn,onSend:ft,onAbort:pt,onSteer:_7(wt,be),onFollowUp:_7(Tt,be),onPromptWithStreamingBehavior:_7(Et,be),isStreaming:Pt,commandBusy:rt,model:ze,isAutoModelSelection:tt,modelNames:we,modelList:Te,modelError:Ee,modelScopeWarnings:De,onModelChange:St,onCompact:g7(Ct,Vn),onAbortCompaction:Dt,isCompacting:Le,displayContextUsage:Fe,compactResult:Re,toolPreset:Ae,toolPresets:je,toolPresetDrift:Me,onToolPresetChange:g7(At,Vn),thinkingLevel:Ne,onThinkingLevelChange:g7(jt,Vn),availableThinkingLevels:zn,thinkingLevelMap:Bn,onOpenModelConfig:s,retryInfo:Pe,queuedMessages:We,onRecallQueue:Ot,slashCommands:He,slashCommandsLoading:Ue,onLoadSlashCommands:Mt,onBuiltinCommand:It,onAudioUnlock:j,draftKey:Un,cwd:Rn});return he?(0,T.jsx)(`div`,{className:`flex h-full items-center justify-center text-text-muted`,children:v(e?`chat.loadingSession`:`chat.noSessionSelected`)}):ge?(0,T.jsx)(`div`,{className:`flex h-full items-center justify-center text-red-400`,children:ge}):(0,T.jsxs)(`div`,{ref:cn,className:`relative flex h-full min-h-0 min-w-0 flex-1 flex-col overflow-hidden`,style:{paddingBottom:`env(safe-area-inset-bottom)`},onDragEnter:wn,onDragOver:Tn,onDragLeave:En,onDrop:Dn,children:[(0,T.jsx)(gle,{isDragOver:Cn,sessionBusy:Pt,extensionDialog:Ye,onExtensionRespond:$e,noticeModals:Ke,onDismissNotice:Je,extensionCustomUi:Xe,onExtensionCustomInput:et,extensionWidgets:Qe,closedWidgetKeys:m,widgetGeometries:C,widgetMessages:E,onCloseWidget:h,onSetWidgetGeometry:w,onQuickMessageSend:Ft,fillChatInput:ae,chatRoot:sn}),(0,T.jsx)(Tq,{open:gt!=null,mode:`fork`,files:gt?.files??[],anchor:gt?.anchor,onConfirm:_t,onCancel:yt}),(0,T.jsx)(Nle,{chatToolbarRef:ce,systemBtnRef:pe,session:e,sessionStats:Be,displayContextUsage:Fe,activeTopPanel:oe,toggleTopPanel:me,systemPrompt:Ve,copiedSessionField:le,toolbarExtra:p,handleViewFullHistory:de,handleCopySessionField:ue,handleBuiltinSlashCommand:kt,onOpenBranches:f??(()=>{}),handleSearchJump:Pn,scheduleCloseTopPanel:fe,cancelCloseTopPanel:se,commandBusy:rt,messages:_e,isMobile:N,locale:y,t:v,isStreaming:ye.isStreaming,onReloadFromDisk:on,soundEnabled:O,onSoundToggle:k}),In?(0,T.jsx)(Lle,{notifyPermission:ee,newSessionCwd:t,startScreenMessages:D,handleQuickMessageSend:Ft,fillChatInput:ae,notices:Ge,onDismissNotice:qe,chatInputElement:Wn,t:v}):(0,T.jsx)(rle,{isMobile:N,notices:Ge,onDismissNotice:qe,scrollContainerRef:ut,handleListScroll:fn,canMountList:bn,sessionIdForCache:Sn,sessionId:zce(e?.id,ot.current),rows:kn,collapsedTurnKeys:Zt,messages:_e,entryIds:ve,session:e,modelNames:we,messageCwd:Rn,onOpenFile:l,sessionBusy:Pt,isNew:it,handleFork:ht,forkingEntryId:Ie,handleNavigate:bt,handleEditContent:re,sessionIdRef:ot,recentExpandedBlockKeys:Lt,streamState:ye,flashKey:Fn,itemRef:mn,t:v,messageRefs:yn,lastUserMsgRef:dt,visibleRefIndexByMessage:An,virtualizerRef:un,lockBottomPin:_n,unlockBottomPin:vn,initialCache:jn,agentRunning:be,agentPhase:nt,pendingBash:Ce,bashOutput:Se,messagesEndRef:lt,nearBottom:ln,scrollToBottom:dn,resolveMessageOffset:Mn,scrollToMessageIndex:Nn,previewScrollStepPx:b,handleWindowJumpTo:pn,chatInputElement:Wn,startScreenMessages:D,aiIdle:Ln,onQuickMessageSend:Ft,onFillInput:ae,plainStatusLine:an})]})}function fue({sessionKey:e,selectedSession:t,effectiveNewSessionCwd:n,handleAgentEnd:r,handleSessionCreated:i,handleSessionForked:a,modelsRefreshKey:o,handleOpenModelConfig:s,chatInputRef:c,handleOpenLinkedFile:l,activeCwdName:u,trustWarningElement:d,closedWidgets:f,handleCloseWidget:p,handleExtensionWidgetsChange:m,extensionDialogActiveRef:h,onOpenTrajectory:g,onOpenBranches:_}){return(0,T.jsx)(T.Fragment,{children:(0,T.jsx)(`div`,{style:{flex:1,minHeight:0,display:`flex`,flexDirection:`column`,overflow:`hidden`},children:(0,T.jsx)(due,{session:t,newSessionCwd:n,onAgentEnd:r,onSessionCreated:i,onSessionForked:a,modelsRefreshKey:o,onOpenModelConfig:s,chatInputRef:c,onOpenFile:l,onOpenTrajectory:g,onOpenBranches:_,windowTitleBase:u,toolbarExtra:d,closedWidgetKeys:f,onCloseWidget:p,onExtensionWidgetsChange:m,onExtensionDialogChange:e=>{h.current=e}},e)})})}function pue({configSection:e,setConfigSection:t,projectTrustCwd:n,sessionId:r,closeConfigTab:i,handleOpenFile:a,sidebarResizer:o,widgetPanelResizer:s,modelConfigFocus:c,defaultThinkingLevel:l,setDefaultThinkingLevel:u,compaction:d,retry:f,defaultProjectTrust:p,setDefaultProjectTrust:m}){return(0,T.jsx)(T.Fragment,{children:(0,T.jsx)(fW,{section:e,onSectionChange:t,cwd:n,sessionId:r,onClose:i,onOpenFile:a,sidebarWidth:o.width,onSidebarWidthChange:o.setWidth,widgetPanelWidth:s.width,onWidgetPanelWidthChange:s.setWidth,modelConfigFocus:c,defaultThinkingLevel:l,onDefaultThinkingLevelChange:u,compaction:d,onCompactionChange:e=>Bt({firstPaint:{compaction:e}}),retry:f,onRetryChange:e=>Bt({firstPaint:{retry:e}}),defaultProjectTrust:p,onDefaultProjectTrustChange:m})})}var mue=262144,W7=10485760,hue={png:`image/png`,jpg:`image/jpeg`,jpeg:`image/jpeg`,gif:`image/gif`,webp:`image/webp`,svg:`image/svg+xml`,bmp:`image/bmp`,ico:`image/x-icon`,avif:`image/avif`},gue={mp3:`audio/mpeg`,wav:`audio/wav`,ogg:`audio/ogg`,oga:`audio/ogg`,opus:`audio/ogg`,m4a:`audio/mp4`,aac:`audio/aac`,flac:`audio/flac`,weba:`audio/webm`,webm:`audio/webm`};function _ue(e){return e.replace(/\\/g,`/`).split(`/`).pop()??``}function G7(e){return _ue(e).toLowerCase().split(`.`).pop()??``}function vue(e){return hue[G7(e)]??null}function yue(e){return gue[G7(e)]??null}function bue(e){let t=G7(e);return t===`pdf`||t===`docx`?t:null}function xue(e){return vue(e)!==null}function Sue(e){return yue(e)!==null}function Cue(e){return bue(e)!==null}var wue={source:`i18n.fileViewSource`,preview:`i18n.fileViewPreview`,diff:`i18n.fileViewDiff`},Tue={source:`i18n.fileViewSourceHint`,preview:`i18n.fileViewPreviewHint`,diff:`i18n.compareHead`},K7={fontFamily:`var(--font-mono)`,fontSize:`var(--text-lg)`,lineHeight:1.6},q7={width:48,minWidth:48,padding:`0 10px`,textAlign:`right`,color:`var(--text-dim)`,background:`var(--bg-panel)`,borderRight:`1px solid var(--border)`,fontFamily:`var(--font-mono)`,fontSize:`var(--text-sm)`,fontStyle:`normal`,fontVariantNumeric:`tabular-nums`,lineHeight:`20.8px`,userSelect:`none`,flexShrink:0,verticalAlign:`top`};function J7({filePath:e,sourceSessionId:t}){let{t:n}=M();return(0,T.jsx)(F,{label:n(`i18n.downloadFile`),children:(0,T.jsx)(`a`,{href:Cq(e,`download`,t),download:nx(e),"aria-label":n(`i18n.downloadFile`),className:`file-viewer-icon-button`,children:(0,T.jsxs)(`svg`,{width:I.xl,height:I.xl,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2.2`,strokeLinecap:`round`,strokeLinejoin:`round`,"aria-hidden":`true`,children:[(0,T.jsx)(`path`,{d:`M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4`}),(0,T.jsx)(`polyline`,{points:`7 10 12 15 17 10`}),(0,T.jsx)(`line`,{x1:`12`,y1:`15`,x2:`12`,y2:`3`})]})})})}function Y7(e,t,n){let[r,i]=(0,d.useState)(!1),a=(0,d.useRef)(n);(0,d.useEffect)(()=>{a.current=n});let o=(0,d.useRef)(null);return(0,d.useEffect)(()=>(i(!1),o.current?.(),o.current=Qe({ch:`watch`,filePath:e},e=>{e.event===`connected`?i(!0):e.event===`error`?i(!1):a.current(e)}),()=>{o.current?.(),o.current=null}),[e]),{watching:r,closeWatch:(0,d.useCallback)(()=>{o.current?.(),o.current=null,i(!1)},[])}}function X7({filePath:e,cwd:t,extLabel:n,watching:r,sourceSessionId:i,ellipsis:a,children:o}){let{t:s}=M();return(0,T.jsxs)(`div`,{style:{display:`flex`,alignItems:`center`,gap:12,padding:`4px 16px`,borderBottom:`1px solid var(--border)`,fontSize:`var(--text-sm)`,color:`var(--text-dim)`,background:`var(--bg)`,flexShrink:0},children:[(0,T.jsx)(`span`,{style:{fontFamily:`var(--font-mono)`,...a?{overflow:`hidden`,textOverflow:`ellipsis`,whiteSpace:`nowrap`}:{}},title:e,children:ix(e,t)}),(0,T.jsx)(`span`,{style:{marginLeft:`auto`},children:n}),o,(0,T.jsxs)(`span`,{title:s(r?`i18n.liveSync`:`i18n.notWatching`),style:{display:`flex`,alignItems:`center`,gap:4,color:r?`var(--status-success)`:`var(--text-dim)`},children:[(0,T.jsx)(`span`,{style:{width:7,height:7,borderRadius:`50%`,background:r?`var(--status-success)`:`var(--border)`,display:`inline-block`,boxShadow:r?`0 0 4px var(--status-success)`:`none`}}),r?`live`:`static`]}),(0,T.jsx)(J7,{filePath:e,sourceSessionId:i})]})}function Z7({filePath:e,sourceSessionId:t,cwd:n}){let{t:r}=M(),[i,a]=(0,d.useState)(!1),[o,s]=(0,d.useState)(null),c=typeof n==`string`&&/^[a-zA-Z]:[\\/]/.test(n)||typeof n==`string`&&n.startsWith(`\\\\`),l=(0,d.useCallback)(async n=>{a(!0),s(null);try{let i=await fetch(Cq(e,`open`,t,n?{chooseApp:1}:void 0),{method:`POST`}),a=await i.json().catch(()=>null);i.ok?s({ok:!0,text:r(`files.openLaunched`)}):s({ok:!1,text:a?.error??`HTTP ${i.status}`})}catch(e){s({ok:!1,text:String(e)})}finally{a(!1)}},[e,t,r]);return(0,T.jsxs)(`div`,{style:{display:`flex`,flexDirection:`column`,alignItems:`center`,gap:10,marginTop:16},children:[o&&(0,T.jsx)(`div`,{style:{color:o.ok?`var(--text-muted)`:`var(--status-error)`,fontSize:`var(--text-sm)`,maxWidth:460,textAlign:`center`,lineHeight:1.5},children:o.text}),(0,T.jsxs)(`div`,{style:{display:`flex`,gap:8},children:[(0,T.jsx)(`button`,{type:`button`,disabled:i,onClick:()=>l(!1),className:`file-viewer-mode-button file-open-action-button`,children:r(`files.openInSystemApp`)}),c&&(0,T.jsx)(`button`,{type:`button`,disabled:i,onClick:()=>l(!0),className:`file-viewer-mode-button file-open-action-button`,children:r(`files.chooseOtherApp`)})]})]})}function Eue({filePath:e,cwd:t,sourceSessionId:n}){let[r,i]=(0,d.useState)(0),[a,o]=(0,d.useState)(null),[s,c]=(0,d.useState)(null),[l,u]=(0,d.useState)(null),f=nx(e).toLowerCase().split(`.`).pop()??``;po(()=>{i(0),o(null),c(null),u(null)},[e,n]);let{watching:p}=Y7(e,n,e=>{typeof e.size==`number`&&o(e.size),i(e=>e+1)}),m=Cq(e,`read`,n,r?{v:r}:void 0),h=a==null?null:wq(a);return(0,T.jsxs)(`div`,{style:{display:`flex`,flexDirection:`column`,height:`100%`,overflow:`hidden`},children:[(0,T.jsxs)(X7,{filePath:e,cwd:t,extLabel:f||`image`,watching:p,sourceSessionId:n,children:[s&&(0,T.jsxs)(`span`,{children:[s.w,` × `,s.h]}),h&&(0,T.jsx)(`span`,{children:h})]}),(0,T.jsx)(`div`,{style:{flex:1,overflow:`auto`,backgroundColor:`var(--bg-panel)`,display:`flex`,alignItems:`center`,justifyContent:`center`,padding:16,backgroundImage:`linear-gradient(45deg, var(--bg) 25%, transparent 25%), linear-gradient(-45deg, var(--bg) 25%, transparent 25%), linear-gradient(45deg, transparent 75%, var(--bg) 75%), linear-gradient(-45deg, transparent 75%, var(--bg) 75%)`,backgroundSize:`16px 16px`,backgroundPosition:`0 0, 0 8px, 8px -8px, -8px 0px`},children:l?(0,T.jsxs)(`div`,{style:{display:`flex`,flexDirection:`column`,alignItems:`center`,gap:4},children:[(0,T.jsx)(`div`,{style:{color:`var(--status-error)`,fontSize:`var(--text-lg)`},children:l}),(0,T.jsx)(Z7,{filePath:e,sourceSessionId:n,cwd:t})]}):(0,T.jsx)(`img`,{src:m,alt:e,onLoad:e=>{let t=e.currentTarget;c({w:t.naturalWidth,h:t.naturalHeight})},onError:()=>u(`Failed to load image`),style:{maxWidth:`100%`,maxHeight:`100%`,objectFit:`contain`,boxShadow:`0 2px 8px var(--shadow-color)`}})})]})}function Due({filePath:e,cwd:t,sourceSessionId:n}){let[r,i]=(0,d.useState)(0),[a,o]=(0,d.useState)(null),[s,c]=(0,d.useState)(null),[l,u]=(0,d.useState)(null),f=nx(e).toLowerCase().split(`.`).pop()??``;po(()=>{i(0),o(null),c(null),u(null)},[e,n]);let{watching:p}=Y7(e,n,e=>{typeof e.size==`number`&&o(e.size),c(null),u(null),i(e=>e+1)}),m=Cq(e,`read`,n,r?{v:r}:void 0);return(0,T.jsxs)(`div`,{style:{display:`flex`,flexDirection:`column`,height:`100%`,overflow:`hidden`},children:[(0,T.jsxs)(X7,{filePath:e,cwd:t,extLabel:f||`audio`,watching:p,sourceSessionId:n,children:[s!=null&&(0,T.jsx)(`span`,{children:gX(s)}),a!=null&&(0,T.jsx)(`span`,{children:wq(a)})]}),(0,T.jsx)(`div`,{style:{flex:1,display:`flex`,alignItems:`center`,justifyContent:`center`,padding:24,background:`var(--bg-panel)`},children:(0,T.jsxs)(`div`,{style:{width:`min(680px, 100%)`},children:[l&&(0,T.jsxs)(T.Fragment,{children:[(0,T.jsx)(`div`,{style:{color:`var(--status-error)`,fontSize:`var(--text-lg)`,marginBottom:12,textAlign:`center`},children:l}),(0,T.jsx)(Z7,{filePath:e,sourceSessionId:n,cwd:t})]}),(0,T.jsx)(`audio`,{controls:!0,preload:`metadata`,src:m,onLoadedMetadata:e=>c(e.currentTarget.duration),onError:()=>u(`Failed to load audio`),style:{width:`100%`}},m)]})})]})}function Oue({filePath:e,cwd:t,sourceSessionId:n}){let{t:r}=M(),[i,a]=(0,d.useState)(0),[o,s]=(0,d.useState)(null),[c,l]=(0,d.useState)(null),u=G7(e),f=u===`pdf`,p=f?Cq(e,`read`,n,i?{v:i}:void 0):Cq(e,`preview`,n,i?{v:i}:void 0);(0,d.useEffect)(()=>{a(0),s(null),l(null),fetch(Cq(e,`meta`,n)).then(e=>e.json()).then(e=>{e.error&&l(e.error),typeof e.size==`number`&&(s(e.size),!f&&e.size>10485760&&l(r(`files.docTooLargeForPreview`,{limit:wq(W7)})))}).catch(e=>l(String(e)))},[e,f,n,r]);let{watching:m}=Y7(e,n,e=>{if(typeof e.size==`number`&&(s(e.size),!f&&e.size>10485760)){l(r(`files.docTooLargeForPreview`,{limit:wq(W7)}));return}l(null),a(e=>e+1)});return(0,T.jsxs)(`div`,{style:{display:`flex`,flexDirection:`column`,height:`100%`,overflow:`hidden`},children:[(0,T.jsx)(X7,{filePath:e,cwd:t,extLabel:u===`docx`?`docx preview`:`pdf`,watching:m,sourceSessionId:n,ellipsis:!0,children:o!=null&&(0,T.jsx)(`span`,{children:wq(o)})}),(0,T.jsx)(`div`,{style:{flex:1,minHeight:0,background:`var(--bg-panel)`},children:c?(0,T.jsxs)(`div`,{style:{height:`100%`,display:`flex`,flexDirection:`column`,alignItems:`center`,justifyContent:`center`,padding:24,color:`var(--status-error)`,fontSize:`var(--text-lg)`,textAlign:`center`},children:[(0,T.jsx)(`div`,{children:c}),(0,T.jsx)(Z7,{filePath:e,sourceSessionId:n,cwd:t})]}):(0,T.jsx)(`iframe`,{src:p,sandbox:f?void 0:`allow-same-origin`,title:r(`i18n.previewFile`,{file:nx(e)}),style:{width:`100%`,height:`100%`,border:`none`,background:f?`var(--bg)`:`#eef1f5`}},p)})]})}function kue(){return(0,T.jsxs)(`svg`,{width:I.xl,height:I.xl,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2.2`,strokeLinecap:`round`,strokeLinejoin:`round`,"aria-hidden":`true`,children:[(0,T.jsx)(`circle`,{cx:`12`,cy:`12`,r:`4`}),(0,T.jsx)(`path`,{d:`M16 8v5a3 3 0 0 0 6 0v-1a10 10 0 1 0-4 8`})]})}function Aue({displayModes:e,effectiveDisplayMode:t,setDisplayMode:n,previewSupported:r,previewFormat:i,t:a}){return e.length<=1?null:(0,T.jsx)(`div`,{className:`file-viewer-mode-switch`,"aria-label":a(`i18n.fileViewMode`),children:e.map(e=>{let o=t===e;return(0,T.jsx)(F,{label:e===`preview`&&!r?a(`i18n.previewUnsupported`,{format:i}):a(Tue[e]),children:(0,T.jsx)(`button`,{type:`button`,onClick:()=>n(e),disabled:e===`preview`&&!r,"aria-pressed":o,className:`file-viewer-mode-button`,style:{background:o?`var(--bg-selected)`:`transparent`,color:o?`var(--text)`:`var(--text-muted)`,opacity:e===`preview`&&!r?.45:1,cursor:e===`preview`&&!r?`not-allowed`:`pointer`},children:(()=>{let t=jue[e];return(0,T.jsxs)(T.Fragment,{children:[(0,T.jsx)(t,{size:13,"aria-hidden":!0}),a(wue[e])]})})()})},e)})})}var jue={source:Nr,preview:jr,diff:Pr};function Mue({wrapLines:e,setWrapLines:t,selectedLineRange:n,handleMentionSelectedLines:r,filePath:i,sourceSessionId:a,t:o,highlightReady:s,editMode:c}){return(0,T.jsxs)(T.Fragment,{children:[(0,T.jsx)(F,{label:o(`i18n.mentionSelectedLines`),children:(0,T.jsx)(`button`,{type:`button`,onMouseDown:e=>e.preventDefault(),onClick:r,"aria-label":o(`i18n.mentionSelectedLines`),disabled:!n,className:`file-viewer-icon-button`,children:(0,T.jsx)(kue,{})})}),(0,T.jsx)(F,{label:o(e?`i18n.disableWrap`:`i18n.enableWrap`),children:(0,T.jsx)(`button`,{type:`button`,onClick:()=>t(e=>!e),"aria-label":o(e?`i18n.disableWrap`:`i18n.enableWrap`),"aria-pressed":e,className:`file-viewer-icon-button`,style:{background:e?`var(--bg-selected)`:`transparent`,color:e?`var(--text)`:`var(--text-muted)`},children:(0,T.jsx)(Si,{size:I.xl,"aria-hidden":!0})})}),s&&!c&&(0,T.jsx)(`a`,{href:Cq(i,`download`,a),download:nx(i),"aria-label":o(`i18n.downloadFile`),className:`file-viewer-icon-button`,style:{display:`inline-flex`,alignItems:`center`,justifyContent:`center`,textDecoration:`none`},children:(0,T.jsxs)(`svg`,{width:I.xl,height:I.xl,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`,children:[(0,T.jsx)(`path`,{d:`M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4`}),(0,T.jsx)(`polyline`,{points:`7 10 12 15 17 10`}),(0,T.jsx)(`line`,{x1:`12`,y1:`15`,x2:`12`,y2:`3`})]})})]})}function Nue({editMode:e,dirty:t,handleSave:n,saveState:r,saveError:i,enterEdit:a,cancelEdit:o,t:s}){return e?(0,T.jsxs)(T.Fragment,{children:[t&&(0,T.jsx)(F,{label:s(`i18n.unsavedChanges`),children:(0,T.jsx)(`span`,{"aria-label":s(`i18n.unsavedChanges`),style:{color:`var(--status-warning)`,fontWeight:700},children:`●`})}),(0,T.jsx)(F,{label:s(`i18n.saveFileShortcut`),children:(0,T.jsx)(`button`,{type:`button`,onClick:n,disabled:!t||r===`saving`,"aria-label":s(`i18n.saveFile`),className:`file-viewer-icon-button`,style:{background:t?`var(--accent)`:`transparent`,color:t?`var(--bg)`:`var(--text-muted)`},children:r===`saving`?(0,T.jsx)(Qr,{size:I.lg,className:`animate-spin`}):(0,T.jsx)(fi,{size:I.lg})})}),(0,T.jsx)(F,{label:s(`i18n.cancelEdit`),children:(0,T.jsx)(`button`,{type:`button`,onClick:o,"aria-label":s(`i18n.cancelEdit`),className:`file-viewer-icon-button`,children:(0,T.jsx)(ji,{size:I.lg})})}),r===`error`&&i&&(0,T.jsx)(`span`,{style:{color:`var(--status-error)`,fontSize:`var(--text-sm)`},children:s(`i18n.saveFailed`,{error:i})}),r===`saved`&&!t&&(0,T.jsx)(`span`,{style:{color:`var(--status-success)`,fontSize:`var(--text-sm)`},children:s(`i18n.saved`)})]}):(0,T.jsx)(F,{label:s(`i18n.editFile`),children:(0,T.jsx)(`button`,{type:`button`,onClick:a,"aria-label":s(`i18n.editFile`),className:`file-viewer-icon-button`,children:(0,T.jsx)(ai,{size:I.lg})})})}function Pue({filePath:e,cwd:t,metadata:n,watching:r,isDeletedDiff:i,previewSupported:a,previewFormat:o,displayModes:s,effectiveDisplayMode:c,setDisplayMode:l,wrapLines:u,setWrapLines:d,editMode:f,dirty:p,handleSave:m,saveState:h,highlightReady:g,selectedLineRange:_,handleMentionSelectedLines:v,fileContent:y,sourceSessionId:b,t:x,saveError:S,enterEdit:C,cancelEdit:w}){return(0,T.jsxs)(`div`,{className:`file-viewer-toolbar`,style:{display:`flex`,alignItems:`center`,gap:8,padding:`5px 12px`,borderBottom:`1px solid var(--border)`,fontSize:`var(--text-sm)`,color:`var(--text-dim)`,background:`var(--bg)`,flexShrink:0},children:[(0,T.jsx)(F,{label:e,children:(0,T.jsx)(`span`,{className:`file-viewer-path`,style:{fontFamily:`var(--font-mono)`},children:ix(e,t)})}),(0,T.jsx)(F,{label:n,children:(0,T.jsx)(`span`,{className:`file-viewer-meta`,children:n})}),!i&&(0,T.jsx)(F,{label:x(r?`i18n.liveSync`:`i18n.notWatching`),children:(0,T.jsx)(`span`,{"aria-label":x(r?`i18n.liveSync`:`i18n.notWatching`),className:`file-viewer-live-indicator`,style:{background:r?`var(--status-success)`:`var(--border)`,boxShadow:r?`0 0 4px var(--status-success)`:`none`}})}),(0,T.jsx)(Aue,{displayModes:s,effectiveDisplayMode:c,setDisplayMode:l,previewSupported:a,previewFormat:o,t:x}),!i&&(0,T.jsx)(J7,{filePath:e,sourceSessionId:b}),!i&&c===`source`&&(0,T.jsx)(Nue,{editMode:f,dirty:p,handleSave:m,saveState:h,saveError:S,enterEdit:C,cancelEdit:w,t:x}),(0,T.jsx)(`div`,{className:`file-viewer-controls`,children:(0,T.jsx)(`div`,{className:`file-viewer-actions`,children:c===`source`&&(0,T.jsx)(Mue,{wrapLines:u,setWrapLines:d,selectedLineRange:_,handleMentionSelectedLines:v,filePath:e,sourceSessionId:b,t:x,highlightReady:g,editMode:f})})})]})}function Fue({filePath:e,sourceSessionId:t,onFileChange:n}){let[r,i]=(0,d.useState)(null),[a,o]=(0,d.useState)(!0),[s,c]=(0,d.useState)(null),[l,u]=(0,d.useState)(null),f=(0,d.useCallback)(e=>fetch(Cq(e,`read`,t)).then(async e=>{let t=await e.json();return t.error?(c(t.error),u(e.status),null):(c(null),u(null),i(t),t)}).catch(e=>(c(String(e)),null)),[t]);return(0,d.useEffect)(()=>{o(!0),c(null),u(null),i(null),n?.(),f(e).finally(()=>o(!1))},[e,f]),{data:r,setData:i,loading:a,error:s,loadStatus:l,fetchContent:f}}function Iue({cwd:e,filePath:t,gitRefreshKey:n}){let[r,i]=(0,d.useState)(null),[a,o]=(0,d.useState)(!1),s=(0,d.useRef)(0),c=(0,d.useCallback)(async t=>{let n=++s.current;if(o(!0),!e){i(null),o(!1);return}try{let r=new URLSearchParams({cwd:e,path:t}),a=await fetch(`/api/git/diff?${r.toString()}`),o=await a.json();if(n!==s.current)return;i(a.ok&&o.supported&&typeof o.patch==`string`?o:null)}catch{n===s.current&&i(null)}finally{n===s.current&&o(!1)}},[e]);return(0,d.useEffect)(()=>{c(t)},[c,t,n]),{gitDiff:r,gitDiffLoading:a,fetchGitDiff:c,resetGitDiff:(0,d.useCallback)(()=>i(null),[])}}function Lue(e){return(e.nodeType===Node.ELEMENT_NODE?e:e.parentElement)?.closest(`.file-source-line[data-line-number]`)??null}function Rue(e,t){if(!t||t.isCollapsed||t.rangeCount===0)return null;let n=t.getRangeAt(0);return!e.contains(n.startContainer)||!e.contains(n.endContainer)?null:n}function Q7(e,t){let n=Lue(t);if(!n||!e.contains(n))return null;let r=Number(n.dataset.lineNumber);return Number.isInteger(r)?{element:n,line:r}:null}function zue(e,t,n){let r=e.querySelector(`.file-source-line-content`),i=n===`start`?t.startContainer:t.endContainer,a=n===`start`?t.startOffset:t.endOffset;if(!r?.contains(i))return!1;let o=document.createRange();return o.selectNodeContents(r),n===`start`?o.setStart(i,a):o.setEnd(i,a),o.toString().length===0}function $7(e,t,n){if(!zue(e,t,n))return null;let r=n===`start`?e.nextElementSibling:e.previousElementSibling;return!(r instanceof HTMLElement)||!r.matches(`.file-source-line[data-line-number]`)?null:{element:r,line:Number(r.dataset.lineNumber)}}function e9(e,t){let n=Rue(e,t);if(!n)return null;let r=Q7(e,n.startContainer),i=Q7(e,n.endContainer);if(!r||!i)return null;let a=r.element,o=i.element,s=r.line,c=i.line;if(s<c){let e=$7(a,n,`start`);e&&(a=e.element,s=e.line);let t=$7(o,n,`end`);t&&(o=t.element,c=t.line)}return s>c?null:{startLine:s,endLine:c}}function Bue({rows:e,stylesheet:t,useInlineStyles:n,wrapLines:r}){return e.map((e,i)=>{let a=e.children??[],o=a[0]?.properties?.className,s=Array.isArray(o)&&o.includes(`react-syntax-highlighter-line-number`),c=s?a[0]:null,l=s?a.slice(1):a;return(0,T.jsxs)(`span`,{className:`file-source-line`,"data-line-number":i+1,style:{display:`flex`,minWidth:`100%`},children:[c&&s8({node:c,stylesheet:t,useInlineStyles:n,key:`source-line-number-${i}`}),(0,T.jsx)(`span`,{className:`file-source-line-content`,style:{flex:`1 1 auto`,minWidth:0,paddingLeft:2,overflowWrap:r?`anywhere`:`normal`,whiteSpace:r?`pre-wrap`:`pre`},children:l.map((e,r)=>s8({node:e,stylesheet:t,useInlineStyles:n,key:`source-token-${i}-${r}`}))})]},`source-line-${i}`)})}function Vue({filePath:e,cwd:t,content:n,displayMode:r,onMentionLines:i}){let a=(0,d.useRef)(null),[o,s]=(0,d.useState)(null);(0,d.useEffect)(()=>{let e=()=>{let e=a.current;s(i&&r===`source`&&e?e9(e,window.getSelection()):null)};if(e(),!(!i||r!==`source`))return document.addEventListener(`selectionchange`,e),()=>document.removeEventListener(`selectionchange`,e)},[n,r,i]);let c=(0,d.useCallback)(n=>{!i||!n||i(ix(e,t),n.startLine,n.endLine)},[t,e,i]),l=(0,d.useCallback)(()=>{c(o)},[c,o]);return(0,d.useEffect)(()=>{if(!i||r!==`source`)return;let e=e=>{if(e.repeat||e.key.toLowerCase()!==`i`||!e.metaKey&&!e.ctrlKey||e.altKey||e.shiftKey)return;let t=e.target;if(t instanceof Element&&t.closest(`input, textarea, [contenteditable='true']`))return;let n=a.current,r=n?e9(n,window.getSelection()):null;r&&(e.preventDefault(),c(r))};return window.addEventListener(`keydown`,e),()=>window.removeEventListener(`keydown`,e)},[r,c,i]),{contentRef:a,selectedLineRange:o,handleMentionSelectedLines:l}}async function Hue(e,t){let n=e.split(/[\\/]/).filter(Boolean),r=n.pop();if(!r)throw Error(`Invalid file path`);let i=n.join(`/`)||`/`,a=new FormData;a.append(`files`,new File([t],r,{type:`text/plain`}));let o=await fetch(`/api/files/${tx(i)}?type=upload&conflict=overwrite`,{method:`POST`,body:a});if(!o.ok){let e=`Save failed (${o.status})`;try{let t=await o.json();t?.error&&(e=t.error)}catch{}throw Error(e)}}function Uue({filePath:e,onSaved:t,content:n,applySavedContent:r,reload:i}){let[a,o]=(0,d.useState)(!1),[s,c]=(0,d.useState)(``),[l,u]=(0,d.useState)(!1),[f,p]=(0,d.useState)(`idle`),[m,h]=(0,d.useState)(null),g=(0,d.useRef)(!1);g.current=a;let _=(0,d.useCallback)(()=>{o(!1),c(``),u(!1),p(`idle`),h(null)},[]);return{editMode:a,draft:s,dirty:l,saveState:f,saveError:m,editModeRef:g,enterEdit:(0,d.useCallback)(()=>{c(n),u(!1),p(`idle`),h(null),o(!0)},[n]),cancelEdit:(0,d.useCallback)(()=>{o(!1),u(!1),p(`idle`),h(null),i()},[i]),handleEditorChange:(0,d.useCallback)(e=>{c(e),u(e!==n)},[n]),handleSave:(0,d.useCallback)(async()=>{if(l){p(`saving`),h(null);try{await Hue(e,s),r(s),u(!1),p(`saved`),t?.(e)}catch(e){p(`error`),h(e instanceof Error?e.message:String(e))}}},[l,s,e,t,r]),resetEditState:_}}function Wue(e){let t=v5(e);return t?t.flatMap(e=>e.rows.flatMap(e=>{if(e.type===`hunk`)return[];if(e.left.type===`context`&&e.right.type===`context`)return[{type:`unchanged`,text:e.right.text,oldLineNo:e.left.lineNo,newLineNo:e.right.lineNo}];let t=[];return e.left.type===`removed`&&t.push({type:`removed`,text:e.left.text,oldLineNo:e.left.lineNo,newLineNo:null}),e.right.type===`added`&&t.push({type:`added`,text:e.right.text,oldLineNo:null,newLineNo:e.right.lineNo}),t})):[]}function Gue({patch:e}){let{t}=M(),n=Wue(e);if(!n.some(e=>e.type!==`unchanged`))return(0,T.jsx)(`div`,{style:{padding:`12px 16px`,fontSize:`var(--text-base)`,color:`var(--text-dim)`,fontFamily:`var(--font-mono)`},children:t(`i18n.noChanges`)});let r=new Set(n.flatMap((e,t)=>e.type===`unchanged`?[]:[t])),i=new Set;for(let e of r)for(let t=Math.max(0,e-3);t<=Math.min(n.length-1,e+3);t++)i.add(t);let a=[],o=0;for(;o<n.length;)if(i.has(o)){let e=[];for(;o<n.length&&i.has(o);)e.push(n[o]),o++;a.push({hidden:!1,lines:e})}else{let e=0;for(;o<n.length&&!i.has(o);)e++,o++;a.push({hidden:!0,count:e})}return(0,T.jsx)(`div`,{className:`file-diff-view`,style:{width:`max-content`,minWidth:`100%`,...K7},children:a.map((e,t)=>{if(e.hidden)return(0,T.jsxs)(`div`,{style:{padding:`2px 16px`,color:`var(--text-dim)`,background:`var(--bg-panel)`,fontSize:`var(--text-sm)`,borderTop:`1px solid var(--border)`,borderBottom:`1px solid var(--border)`},children:[`... `,e.count,` unchanged lines ...`]},t);let n=e.lines.map((e,t)=>{let n=e.type===`added`?`color-mix(in srgb, var(--status-success) 12%, transparent)`:e.type===`removed`?`color-mix(in srgb, var(--status-error) 14%, transparent)`:`transparent`,r=e.type===`added`?`+`:e.type===`removed`?`-`:` `,i=e.type===`added`?`var(--status-success)`:e.type===`removed`?`var(--status-error)`:`var(--text-dim)`;return(0,T.jsxs)(`div`,{className:`file-diff-line`,style:{display:`flex`,minWidth:`100%`,background:n,borderLeft:e.type===`added`?`3px solid var(--status-success)`:e.type===`removed`?`3px solid var(--status-error)`:`3px solid transparent`},children:[(0,T.jsx)(`span`,{style:q7,children:e.type===`removed`?e.oldLineNo:e.newLineNo}),(0,T.jsx)(`span`,{style:{minWidth:16,padding:`0 6px`,color:i,userSelect:`none`,flexShrink:0,fontWeight:600},children:r}),(0,T.jsx)(`span`,{className:`file-diff-line-content`,style:{flexShrink:0,padding:`0 8px 0 0`,whiteSpace:`pre`,color:`var(--text)`},children:e.text||`\xA0`})]},t)});return(0,T.jsx)(`div`,{children:n},t)})})}function Kue({preview:e,markdownDir:t,onOpenFile:n,cwd:r,sourceSessionId:i}){return(0,T.jsx)(`div`,{className:`markdown-body markdown-file-preview`,style:{padding:`24px 32px`},children:(0,T.jsx)(YE,{remarkPlugins:oV,rehypePlugins:cV,components:{code({className:e,children:t,...n}){let r=e?.replace(`language-`,``).toLowerCase()??``,i=String(t);return e?.includes(`language-`)||i.includes(`
|
|
507
|
+
`)?r===`mermaid`?(0,T.jsx)(n5,{code:i.replace(/\n$/,``),defaultPreview:!0}):(0,T.jsx)($8,{code:i.replace(/\n$/,``),lang:r}):(0,T.jsx)(`code`,{className:e,...n,children:t})},pre({children:e}){return(0,T.jsx)(T.Fragment,{children:e})},a({href:e,children:r,...i}){return delete i.node,(0,T.jsx)(CV,{href:e,markdownDir:t,onOpenFile:n,...i,children:r})},img({src:e,alt:n,...a}){delete a.node;let o=typeof e==`string`?xV(e,t,r??t):null,s=o?Cq(o,`read`,i):e;return(0,T.jsx)(`img`,{src:s,alt:n??``,loading:`lazy`,...a})}},children:e})})}var t9=`file-find-hits`,n9=`file-find-current`;function que(e){let t=e.parentElement;return t?t.closest(`.file-source-line, .file-diff-line`)!==null&&t.closest(`.file-source-line-content, .file-diff-line-content`)===null:!1}function Jue({open:e,onClose:t,reindexKey:n,containerRef:r}){let{t:i}=M(),a=(0,d.useRef)(null),[o,s]=(0,d.useState)(``),[c,l]=(0,d.useState)(0),[u,f]=(0,d.useState)(0),p=(0,d.useRef)([]);(0,d.useEffect)(()=>{e&&a.current?.focus()},[e]),(0,d.useEffect)(()=>{let t=r.current,n=o.trim();if(!e||!t||!n){CSS.highlights.delete(t9),CSS.highlights.delete(n9),p.current=[],l(0),f(0);return}let i=Ko(t,n,que);return p.current=i,CSS.highlights.set(t9,new Highlight(...i)),l(i.length),f(e=>i.length?Math.min(e,i.length-1):0),()=>{CSS.highlights.delete(t9),CSS.highlights.delete(n9)}},[e,o,n,r]),(0,d.useEffect)(()=>{let e=p.current[u];if(!e){CSS.highlights.delete(n9);return}CSS.highlights.set(n9,new Highlight(e)),e.startContainer.parentElement?.scrollIntoView({block:`center`})},[u,c,n]);let m=e=>{c&&f(t=>(t+e+c)%c)};return e?(0,T.jsxs)(`div`,{className:`file-find-bar`,role:`search`,children:[(0,T.jsx)(`input`,{ref:a,className:`file-find-input`,type:`text`,value:o,placeholder:i(`files.find`),"aria-label":i(`files.find`),onChange:e=>s(e.target.value),onKeyDown:e=>{e.key===`Enter`?(e.preventDefault(),m(e.shiftKey?-1:1)):e.key===`Escape`&&(e.preventDefault(),t())}}),(0,T.jsx)(`span`,{className:`file-find-count`,children:o.trim()?c>0?`${u+1}/${c}`:i(`files.findNoResults`):``}),(0,T.jsx)(`button`,{type:`button`,className:`file-find-btn`,"aria-label":i(`files.findPrev`),disabled:!c,onClick:()=>m(-1),children:(0,T.jsx)(_r,{size:I.base})}),(0,T.jsx)(`button`,{type:`button`,className:`file-find-btn`,"aria-label":i(`files.findNext`),disabled:!c,onClick:()=>m(1),children:(0,T.jsx)(hr,{size:I.base})}),(0,T.jsx)(`button`,{type:`button`,className:`file-find-btn`,"aria-label":i(`files.findClose`),onClick:t,children:(0,T.jsx)(ji,{size:I.base})})]}):null}var r9=new Map;function Yue(e){return r9.get(e)??1}function i9(e,t){t<=1?r9.delete(e):r9.set(e,t)}var Xue=(0,d.lazy)(()=>a4(()=>import(`./CodeMirrorEditor-BdjBXbAu.js`),__vite__mapDeps([20,1])));function a9({enabled:e,reindexKey:t,className:n,style:r,children:i,onScroll:a,scrollRef:o}){let s=(0,d.useRef)(null),[c,l]=(0,d.useState)(!1);return(0,d.useEffect)(()=>{if(!e){l(!1);return}let t=e=>{if(!e.metaKey&&!e.ctrlKey||e.altKey||e.shiftKey||e.key.toLowerCase()!==`f`)return;let t=e.target;t instanceof Element&&t.closest(`input, textarea, [contenteditable='true']`)||(e.preventDefault(),l(!0))};return window.addEventListener(`keydown`,t),()=>window.removeEventListener(`keydown`,t)},[e]),(0,T.jsxs)(`div`,{style:{position:`relative`,height:`100%`,minWidth:0},children:[(0,T.jsx)(`div`,{ref:e=>{s.current=e,o&&(o.current=e)},onScroll:a,className:n,style:{...r,height:`100%`,overflow:`auto`,paddingBottom:e&&c?40:void 0},children:i}),e&&(0,T.jsx)(Jue,{open:c,onClose:()=>l(!1),containerRef:s,reindexKey:t})]})}function Zue({editMode:e,draft:t,filePath:n,language:r,isDark:i,handleEditorChange:a,handleSave:o,highlightReady:s,wrapLines:c,content:l}){let u=(0,d.useRef)(null),f=(0,d.useRef)(Yue(n)),p=()=>{let e=u.current;if(!e||e.scrollTop<=0)return 1;let t=e.querySelectorAll(`.file-source-line`);if(t.length>0){let n=1;for(let r of t){if(r.offsetTop>e.scrollTop)break;n=Number(r.dataset.lineNumber)||n}return n}let n=parseFloat(getComputedStyle(e).lineHeight);return Number.isFinite(n)&&n>0?Math.floor(e.scrollTop/n)+1:1},m=()=>{let e=u.current;if(!e||f.current<=1)return;let t=f.current,n=e.querySelectorAll(`.file-source-line`);if(n.length>0){for(let r of n)if((Number(r.dataset.lineNumber)||0)>=t){e.scrollTop=r.offsetTop;return}return}let r=parseFloat(getComputedStyle(e).lineHeight);Number.isFinite(r)&&r>0&&(e.scrollTop=(t-1)*r)};(0,d.useEffect)(()=>{e||m()},[e]);let h=(0,d.useRef)(!1);return(0,d.useEffect)(()=>{e||h.current||!s||!l||(m(),h.current=!0)},[e,s,l]),(0,T.jsx)(a9,{enabled:!e,reindexKey:`${l}\u0000${s}\u0000${c}`,className:`file-viewer-source`,style:{display:`block`,background:`var(--bg)`},scrollRef:u,onScroll:()=>{e||(f.current=p(),i9(n,f.current))},children:e?(0,T.jsx)(d.Suspense,{fallback:(0,T.jsx)(`div`,{style:{height:`100%`,display:`flex`,alignItems:`center`,justifyContent:`center`,color:`var(--text-muted)`},children:(0,T.jsx)(Qr,{size:I.lg,className:`animate-spin`,"aria-hidden":`true`})}),children:(0,T.jsx)(Xue,{initialValue:t,initialTopLine:f.current,onTopVisibleLineChange:e=>{f.current=e,i9(n,e)},language:r,isDark:i,onChange:a,onSave:o},n)}):s?(0,T.jsx)(O8,{className:c?`file-source-view is-wrapped`:`file-source-view`,language:r===`text`?`plaintext`:r,style:i?Q8:Z8,showLineNumbers:!0,lineNumberStyle:{...q7},customStyle:{margin:0,padding:`0 0 0 6px`,border:0,background:`var(--bg)`,...K7,width:c?`100%`:`max-content`,minWidth:`100%`,minHeight:`100%`,overflow:`visible`},codeTagProps:{style:{fontFamily:`var(--font-mono)`,overflowWrap:c?`anywhere`:`normal`}},renderer:e=>(0,T.jsx)(Bue,{...e,wrapLines:c}),wrapLongLines:c,children:l}):(0,T.jsx)(`pre`,{className:c?`file-source-view is-wrapped`:`file-source-view`,style:{margin:0,padding:`0 0 0 12px`,border:0,background:`var(--bg)`,...K7,fontFamily:`var(--font-mono)`,whiteSpace:c?`pre-wrap`:`pre`,overflowWrap:c?`anywhere`:`normal`,width:c?`100%`:`max-content`,minWidth:`100%`,minHeight:`100%`,overflow:`visible`},children:l})})}function Que({hasGitDiff:e,gitDiffPatch:t,t:n}){return e?(0,T.jsx)(a9,{enabled:!0,reindexKey:t??``,children:(0,T.jsx)(Gue,{patch:t})}):(0,T.jsx)(`div`,{style:{height:`100%`,display:`flex`,alignItems:`center`,justifyContent:`center`,color:`var(--text-muted)`,fontSize:`var(--text-lg)`},children:n(`i18n.noChanges`)})}function $ue({isHtml:e,isMarkdown:t,content:n,t:r,markdownPreview:i,markdownDirectory:a,onOpenFile:o,cwd:s,sourceSessionId:c}){return e?(0,T.jsx)(a9,{enabled:!1,reindexKey:``,children:(0,T.jsx)(`iframe`,{srcDoc:n,sandbox:`allow-scripts`,style:{width:`100%`,height:`100%`,border:`none`,background:`var(--bg)`},title:r(`i18n.htmlPreview`)})}):t?(0,T.jsx)(a9,{enabled:!0,reindexKey:i,children:(0,T.jsx)(Kue,{preview:i,markdownDir:a,onOpenFile:o,cwd:s,sourceSessionId:c})}):null}function ede({contentRef:e,filePath:t,effectiveDisplayMode:n,editMode:r,draft:i,language:a,isDark:o,handleEditorChange:s,handleSave:c,highlightReady:l,wrapLines:u,content:d,hasGitDiff:f,gitDiffPatch:p,t:m,isHtml:h,isMarkdown:g,markdownPreview:_,markdownDirectory:v,onOpenFile:y,cwd:b,sourceSessionId:x}){return(0,T.jsxs)(`div`,{ref:e,className:`file-viewer-content`,style:{flex:1,overflow:`auto`,paddingRight:4,background:`var(--bg)`},children:[n===`source`&&(0,T.jsx)(Zue,{editMode:r,draft:i,filePath:t,language:a,isDark:o,handleEditorChange:s,handleSave:c,highlightReady:l,wrapLines:u,content:d}),n===`diff`&&(0,T.jsx)(Que,{hasGitDiff:f,gitDiffPatch:p,t:m}),n===`preview`&&(0,T.jsx)($ue,{isHtml:h,isMarkdown:g,content:d,t:m,markdownPreview:_,markdownDirectory:v,onOpenFile:y,cwd:b,sourceSessionId:x})]})}function tde(e){return e?.language===`markdown`?$B(e.content):``}function nde({data:e,isDeletedDiff:t,displayMode:n,content:r,filePath:i,t:a}){let o=e?.language??`text`,s=o===`html`,c=o===`markdown`,l=s||c,u=rx(i),d=r.split(`
|
|
508
|
+
`);return{language:o,isHtml:s,isMarkdown:c,hasPreview:l,markdownDirectory:u,lines:d,effectiveDisplayMode:t?`diff`:n===`preview`&&!l?`source`:n,displayModes:t?[`diff`]:[`source`,`preview`,`diff`],metadata:t?a(`files.deleted`):`${o} · ${a(`i18n.lineCount`,{n:d.length})} · ${wq(e?.size??0)}`}}function rde({filePath:e,cwd:t,sourceSessionId:n,onOpenFile:r,onMentionLines:i,onSaved:a,gitRefreshKey:o,initialDisplayMode:s}){let{isDark:c}=PW(),{t:l}=M(),[u,f]=(0,d.useState)(`source`),[p,m]=(0,d.useState)(!1),[h,g]=(0,d.useState)(!1),{data:_,setData:v,loading:y,error:b,loadStatus:x,fetchContent:S}=Fue({filePath:e,sourceSessionId:n,onFileChange:()=>{f(s===`diff`?`diff`:`source`),g(!1),P(),ae()}}),C=_?.content??``,{editMode:w,draft:E,dirty:D,saveState:O,saveError:k,editModeRef:A,enterEdit:j,cancelEdit:N,handleEditorChange:ee,handleSave:te,resetEditState:P}=Uue({filePath:e,onSaved:a,content:C,applySavedContent:e=>v(t=>t&&{...t,content:e}),reload:()=>{S(e)}}),{gitDiff:ne,gitDiffLoading:re,fetchGitDiff:ie,resetGitDiff:ae}=Iue({cwd:t,filePath:e,gitRefreshKey:o}),{watching:oe,closeWatch:se}=Y7(e,n,()=>{A.current||(S(e),ie(e))});(0,d.useEffect)(()=>{_?.language===`markdown`&&s!==`diff`&&f(`preview`)},[_?.language,s]);let ce=ne?.supported===!0&&typeof ne.patch==`string`,le=ce&&ne.status===`deleted`;(0,d.useEffect)(()=>{le&&se()},[le,se]);let ue=(0,d.useMemo)(()=>tde(_),[_]),{contentRef:de,selectedLineRange:fe,handleMentionSelectedLines:pe}=Vue({filePath:e,cwd:t,content:C,displayMode:u,onMentionLines:i});return(0,d.useEffect)(()=>{m(!1)},[C]),(0,d.useEffect)(()=>{if((le?`diff`:u)!==`source`||p)return;let e=setTimeout(()=>m(!0),0);return()=>clearTimeout(e)},[le,u,p]),(0,T.jsx)(ide,{filePath:e,cwd:t??void 0,sourceSessionId:n??void 0,onOpenFile:r,isDark:c,t:l,loading:y,error:b,loadStatus:x,displayMode:u,setDisplayMode:f,gitDiffLoading:re,data:_,watching:oe,isDeletedDiff:le,hasGitDiff:ce,wrapLines:h,setWrapLines:g,content:C,editMode:w,dirty:D,handleSave:te,saveState:O,saveError:k,enterEdit:j,cancelEdit:N,highlightReady:p,selectedLineRange:fe,handleMentionSelectedLines:pe,draft:E,handleEditorChange:ee,markdownPreview:ue,gitDiffPatch:ce?ne.patch:null,contentRef:de})}function ide({filePath:e,cwd:t,sourceSessionId:n,onOpenFile:r,isDark:i,t:a,loading:o,error:s,loadStatus:c,displayMode:l,setDisplayMode:u,gitDiffLoading:d,data:f,watching:p,isDeletedDiff:m,hasGitDiff:h,wrapLines:g,setWrapLines:_,content:v,editMode:y,dirty:b,handleSave:x,saveState:S,saveError:C,enterEdit:w,cancelEdit:E,highlightReady:D,selectedLineRange:O,handleMentionSelectedLines:k,draft:A,handleEditorChange:j,markdownPreview:M,gitDiffPatch:N,contentRef:ee}){if(o||l===`diff`&&d)return(0,T.jsx)(ade,{t:a});if(s&&!m)return(0,T.jsx)(ode,{loadStatus:c,error:s,filePath:e,sourceSessionId:n,cwd:t,t:a});if(!f&&!m)return null;let{language:te,isHtml:P,isMarkdown:ne,hasPreview:re,markdownDirectory:ie,effectiveDisplayMode:ae,displayModes:oe,metadata:se}=nde({data:f,isDeletedDiff:m,displayMode:l,content:v,filePath:e,t:a});return(0,T.jsxs)(`div`,{className:`file-viewer-shell`,style:{display:`flex`,flexDirection:`column`,height:`100%`,overflow:`hidden`},children:[(0,T.jsx)(Pue,{filePath:e,cwd:t,metadata:se,watching:p,isDeletedDiff:m,displayModes:oe,effectiveDisplayMode:ae,previewSupported:re,previewFormat:te,setDisplayMode:u,wrapLines:g,setWrapLines:_,editMode:y,dirty:b,handleSave:x,saveState:S,saveError:C,enterEdit:w,cancelEdit:E,highlightReady:D,selectedLineRange:O,handleMentionSelectedLines:k,fileContent:v,sourceSessionId:n,t:a}),(0,T.jsx)(ede,{contentRef:ee,filePath:e,effectiveDisplayMode:ae,editMode:y,draft:A,language:te,isDark:i,handleEditorChange:j,handleSave:x,highlightReady:D,wrapLines:g,content:v,hasGitDiff:h,gitDiffPatch:N,t:a,isHtml:P,isMarkdown:ne,markdownPreview:M,markdownDirectory:ie,onOpenFile:r,cwd:t??void 0,sourceSessionId:n})]})}function ade({t:e}){return(0,T.jsxs)(`div`,{style:{height:`100%`,display:`flex`,flexDirection:`column`,alignItems:`center`,justifyContent:`center`,gap:12,color:`var(--text-muted)`,fontSize:`var(--text-lg)`},children:[(0,T.jsx)(Qr,{size:I.lg,className:`animate-spin`,"aria-hidden":`true`}),e(`i18n.loading`)]})}function ode({loadStatus:e,error:t,filePath:n,sourceSessionId:r,cwd:i,t:a}){return(0,T.jsxs)(`div`,{style:{height:`100%`,display:`flex`,flexDirection:`column`,alignItems:`center`,justifyContent:`center`,padding:24,color:`var(--status-error)`,fontSize:`var(--text-lg)`,textAlign:`center`},children:[(0,T.jsx)(`div`,{children:e===413?a(`files.fileTooLargeForPreview`,{limit:wq(mue)}):t}),e===413&&(0,T.jsx)(Z7,{filePath:n,sourceSessionId:r,cwd:i})]})}function sde({filePath:e,cwd:t,sourceSessionId:n,onOpenFile:r,onMentionLines:i,onSaved:a,gitRefreshKey:o,initialDisplayMode:s}){return xue(e)?(0,T.jsx)(Eue,{filePath:e,cwd:t,sourceSessionId:n}):Sue(e)?(0,T.jsx)(Due,{filePath:e,cwd:t,sourceSessionId:n}):Cue(e)?(0,T.jsx)(Oue,{filePath:e,cwd:t,sourceSessionId:n}):(0,T.jsx)(rde,{filePath:e,cwd:t,sourceSessionId:n,onOpenFile:r,onMentionLines:i,onSaved:a,gitRefreshKey:o,initialDisplayMode:s})}function cde({activeFileTab:e,activeCwd:t,explorerRefreshKey:n,setExplorerRefreshKey:r,handleFileLineMention:i,handleOpenFile:a}){return(0,T.jsx)(T.Fragment,{children:e&&(0,T.jsx)(sde,{filePath:e.filePath,cwd:t??void 0,sourceSessionId:e.sourceSessionId,gitRefreshKey:n,initialDisplayMode:e.initialDisplayMode,onMentionLines:i,onSaved:()=>r(e=>e+1),onOpenFile:t=>a(t,nx(t),{sourceSessionId:e.sourceSessionId})})})}function lde({currentSessionId:e}){let{unread:t,markRead:n}=lt(),[r,i]=(0,d.useState)(null);return(0,d.useEffect)(()=>{t>0&&n()},[t,n]),(0,T.jsxs)(T.Fragment,{children:[(0,T.jsx)(Zce,{currentSessionId:e,onViewNotice:i}),(0,T.jsx)(Qce,{entry:r,onClose:()=>i(null)})]})}var ude={user:{label:`U`,color:`var(--text)`},assistant:{label:`A`,color:`var(--accent)`},thinking:{label:`T`,color:`var(--text-muted)`},tool:{label:`⚙`,color:`var(--status-info)`},bash:{label:`$`,color:`var(--status-info)`},toolError:{label:`E`,color:`var(--status-error)`}};function dde({row:e,highlighted:t,onHover:n,style:r}){let i=ude[e.kind],a=e.kind!==`assistant`&&e.kind!==`thinking`,o=e.kind===`tool`||e.kind===`bash`,s=e.kind===`toolError`;return(0,T.jsxs)(`div`,{onPointerEnter:()=>e.spanId&&n?.(e.spanId),onPointerLeave:()=>n?.(null),style:{...r,display:`flex`,gap:8,alignItems:`center`,minWidth:0,borderRadius:4,padding:`1px 4px`,margin:`-1px -4px`,background:t?`var(--bg-selected)`:r?.background},children:[(0,T.jsx)(`span`,{title:e.kind,style:{flexShrink:0,width:16,display:`flex`,justifyContent:`center`,fontFamily:`var(--font-mono)`,fontSize:`var(--text-sm)`,fontWeight:700,color:i.color},children:o?(0,T.jsx)(Ai,{size:I.sm,style:{color:`var(--status-info)`,flexShrink:0}}):s?(0,T.jsx)(Ai,{size:I.sm,style:{color:`var(--status-error)`,flexShrink:0}}):e.kind===`thinking`?(0,T.jsx)(Jr,{size:I.sm,style:{color:`var(--bulb-warning)`,flexShrink:0}}):i.label}),(0,T.jsxs)(`span`,{style:{flex:1,minWidth:0,overflow:`hidden`,textOverflow:`ellipsis`,whiteSpace:`nowrap`,fontFamily:a?`var(--font-mono)`:void 0,fontSize:`var(--text-sm)`,color:e.kind===`toolError`?`var(--status-error)`:(e.kind,`var(--text-muted)`),fontStyle:e.kind===`thinking`?`italic`:void 0},children:[e.toolName&&!s?(0,T.jsx)(T.Fragment,{children:(0,T.jsx)(`span`,{style:{color:`var(--status-info)`,fontWeight:600,marginRight:8},children:e.toolName})}):s&&e.toolName?(0,T.jsx)(`span`,{style:{color:`var(--status-error)`,fontWeight:600,marginRight:8},children:e.toolName}):e.kind===`bash`?`$ `:null,e.text]}),e.durationSecs!=null&&(0,T.jsx)(E5,{secs:e.durationSecs,size:`sm`})]})}function fde(e){let t=[],n=(e,n,r)=>t.push({index:e,userText:n,timestamp:r,endTime:r,tools:0,toolErrors:0,inputTokens:0,messages:[]});for(let r=0;r<e.length;r++){let i=e[r];if(i.role===`user`){let e=typeof i.content==`string`?i.content:i.content.find(e=>e.type===`text`)?.text??``,a=t[t.length-1];a&&a.messages.length>0&&!a.userText?(a.index=r,a.userText=e.replace(/\s+/g,` `).trim(),a.timestamp=i.timestamp,a.endTime=i.timestamp):n(r,e.replace(/\s+/g,` `).trim(),i.timestamp),t[t.length-1].messages.push(i);continue}let a=t[t.length-1]??(n(e.indexOf(i),``),t[t.length-1]);a.messages.push(i),i.role!==`system`&&i.timestamp&&(a.endTime=i.timestamp),i.role===`assistant`&&(a.tools+=i.content.filter(e=>e.type===`toolCall`).length,a.inputTokens+=i.usage?.input??0),i.role===`toolResult`&&i.isError&&(a.toolErrors+=1)}return t[0]&&!t[0].userText&&(t[0].userText=`(start)`),t}var pde=(e,t)=>t+1,o9=(e,t=160)=>e.replace(/\s+/g,` `).trim().slice(0,t);function mde(e,t,n,r,i,a){let o=t;for(let s=0;s<e.content.length;s++){let c=e.content[s];if(c.type===`toolCall`){let e=a(c.toolCallId)??o+2e3,l=Math.max(o,t);i.push({lane:2,kind:`tool`,start:l,end:Math.max(e,l+200),label:c.toolName,turnIndex:n,spanId:`m${r}-b${s}`,detail:o9(A5(c),120)}),o=Math.max(e,o)}else if(c.type===`text`||c.type===`thinking`){let e=c.type===`text`?c.text:c.thinking;if(!e.trim())continue;let t=Math.min(Math.max(e.length*2,2e3),8e3);i.push({lane:1,kind:`assistant`,variant:c.type===`thinking`?`thinking`:`text`,start:o,end:o+t,label:o9(e,80),turnIndex:n,spanId:`m${r}-b${s}`}),o+=t}}}function hde(e){let t=[],n=1/0,r=0;if(e.forEach((e,i)=>{let a=new Map;for(let t of e.messages)if(t.role===`toolResult`){let e=t;e.toolCallId&&e.timestamp&&Number.isFinite(e.timestamp)&&a.set(e.toolCallId,e.timestamp)}let o=e.messages.find(e=>e.role===`assistant`&&e.timestamp&&Number.isFinite(e.timestamp));for(let s=0;s<e.messages.length;s++){let c=e.messages[s],l=c.timestamp;!l||!Number.isFinite(l)||(c.role!==`system`&&(l<n&&(n=l),l>r&&(r=l)),c.role===`user`?t.push({lane:0,kind:`user`,start:l,end:Math.max(o?.timestamp??l+600,l+200),label:e.userText,turnIndex:i,spanId:`user`}):c.role===`assistant`?mde(c,l,i,s,t,e=>a.get(e)):c.role===`bashExecution`?t.push({lane:2,kind:`tool`,start:l,end:(()=>{let t=e.messages;for(let e=s+1;e<t.length;e++){let n=t[e].timestamp;if(n&&Number.isFinite(n)&&n>l)return n}return l+400})(),label:o9(c.command,80),turnIndex:i,spanId:`m${s}`}):c.role===`toolResult`&&c.isError&&t.push({lane:2,kind:`error`,start:l,end:l+400,label:c.toolName??`tool`,turnIndex:i,spanId:`m${s}`}))}}),!Number.isFinite(n))return{spans:[],start:0,end:1};let i=Math.max(r,n+1,...t.map(e=>e.end));return{spans:t,start:n,end:i+(i-n)*.03}}var s9=`color-mix(in srgb, var(--accent) 60%, var(--status-error))`;function gde(e){switch(e.kind){case`user`:return`var(--accent)`;case`assistant`:return e.variant===`thinking`?`color-mix(in srgb, ${s9} 45%, var(--bg-panel))`:s9;case`tool`:return`var(--status-warning)`;case`error`:return`var(--status-error)`}}function _de(e,t,n){for(let r=0;r<e.content.length;r++){let i=e.content[r];if(i.type===`text`){let e=o9(i.text);e&&n.push({kind:`assistant`,text:e,spanId:`m${t}-b${r}`})}else if(i.type===`thinking`){let e=o9(i.thinking,120);e&&n.push({kind:`thinking`,text:e,spanId:`m${t}-b${r}`})}else i.type===`toolCall`&&n.push({kind:`tool`,text:A5(i),toolName:i.toolName,durationSecs:i.durationSecs,spanId:`m${t}-b${r}`})}}function vde(e){let t=[],n=new Map;for(let t of e.messages)if(t.role===`assistant`)for(let e of t.content)e.type===`toolCall`&&n.set(e.toolCallId,A5(e));for(let r=0;r<e.messages.length;r++){let i=e.messages[r];if(i.role===`assistant`){_de(i,r,t);continue}if(i.role===`toolResult`){let e=i;if(!e.isError)continue;let a=n.get(e.toolCallId)??o9(e.content.filter(e=>e.type===`text`).map(e=>e.text).join(` `),120);t.push({kind:`toolError`,text:a,toolName:e.toolName,spanId:`m${r}`});continue}if(i.role===`bashExecution`){t.push({kind:`bash`,text:o9(i.command,140),spanId:`m${r}`});continue}if(!(i.role===`custom`&&!i.display)&&(i.role===`custom`||i.role===`user`)){let e=typeof i.content==`string`?o9(i.content):o9(i.content.filter(e=>e.type===`text`).map(e=>e.text).join(` `));e&&t.push({kind:i.role===`user`?`user`:`assistant`,text:e,spanId:i.role===`user`?`user`:void 0})}}return t}var yde=18;function bde({turn:e,spans:t,laneLabels:n,emptyLabel:r,start:i,end:a,onHoverSpan:o,hoverSpanId:s}){let c=Math.max(1,a-i),l=[0,1,2].map(e=>t.filter(t=>t.lane===e));return(0,T.jsxs)(`div`,{style:{position:`relative`,flexShrink:0,borderBottom:`1px solid var(--border)`,background:`var(--bg-input)`,userSelect:`none`},children:[[0,1,2].map(e=>(0,T.jsxs)(`div`,{style:{display:`flex`,alignItems:`center`,height:yde},children:[(0,T.jsx)(`span`,{style:{width:64,flexShrink:0,textAlign:`right`,paddingRight:4,fontSize:10,lineHeight:1,color:`var(--text-muted)`},children:n[e]}),(0,T.jsx)(`div`,{style:{position:`relative`,flex:1,alignSelf:`stretch`,overflow:`hidden`,borderTop:e===0?void 0:`1px solid var(--border)`,borderLeft:`1px solid var(--border)`},children:l[e].map((e,t)=>{let n=Math.max(e.start,i),r=Math.min(e.end,a);if(r<=n)return null;let l=(n-i)/c*100,u=(r-n)/c*100,d=e=>e==null?`?`:new Date(e).toLocaleTimeString([],{hour:`2-digit`,minute:`2-digit`,second:`2-digit`});return(0,T.jsx)(F,{label:`${e.label}${e.detail?`\n${e.detail}`:``}\n${d(e.start)} → ${d(e.end)} · ${((e.end-e.start)/1e3).toFixed(1)}s`,children:(0,T.jsx)(`div`,{onPointerEnter:()=>o?.(e.spanId),onPointerLeave:()=>o?.(null),style:{position:`absolute`,top:`50%`,transform:`translateY(-50%)`,left:`${l}%`,width:`max(6px, calc(${u}% - 1px))`,height:8,borderRadius:1,background:gde(e),opacity:s===e.spanId||e.kind===`assistant`||e.kind===`tool`?1:.78,outline:s===e.spanId?`1px solid var(--accent)`:void 0}})},`s-${t}`)})})]},e)),!e&&(0,T.jsx)(`span`,{style:{position:`absolute`,inset:0,display:`flex`,alignItems:`center`,justifyContent:`center`,fontSize:`var(--text-sm)`,color:`var(--text-dim)`,background:`var(--bg-input)`},children:r})]})}function xde({turn:e,number:t,open:n,onToggle:r,hoverSpanId:i,onHoverSpan:a}){let{t:o}=M(),s=e.endTime!=null&&e.timestamp!=null?(e.endTime-e.timestamp)/1e3:void 0,c=n?vde(e):[];return(0,T.jsx)(`div`,{children:(0,T.jsxs)(`div`,{style:{display:`flex`,borderBottom:`1px solid var(--border)`},children:[(0,T.jsxs)(`div`,{style:{display:`flex`,flexDirection:`column`,alignItems:`center`,flexShrink:0,width:44,padding:`8px 0 0`},children:[(0,T.jsx)(`div`,{style:{fontSize:12},children:(0,T.jsx)(l$,{number:t})}),n&&(0,T.jsx)(`div`,{style:{width:1,flex:1,background:`var(--border)`}})]}),(0,T.jsxs)(`div`,{style:{flex:1,minWidth:0},children:[(0,T.jsxs)(`button`,{onClick:r,"aria-expanded":n,style:{display:`flex`,alignItems:`baseline`,gap:8,width:`100%`,textAlign:`left`,padding:`8px 12px 8px 4px`,background:`transparent`,cursor:`pointer`},children:[(0,T.jsx)(E5,{secs:s,timestamp:e.timestamp,endTimestamp:e.endTime}),(0,T.jsx)(`span`,{style:{flex:1,fontSize:`var(--text-base)`,color:`var(--text)`,overflow:`hidden`,textOverflow:`ellipsis`,whiteSpace:`nowrap`},children:e.userText||o(`trajectory.emptyTurn`)}),e.tools>0&&(0,T.jsx)(`span`,{style:{fontSize:`var(--text-sm)`,color:`var(--text-muted)`,flexShrink:0},children:o(`trajectory.turnStats`,{tools:e.tools,errors:e.toolErrors})})]}),n&&(0,T.jsx)(`div`,{style:{display:`flex`,flexDirection:`column`,gap:5,padding:`2px 12px 12px 4px`},children:c.map((e,t)=>(0,T.jsx)(dde,{row:e,highlighted:e.spanId!=null&&e.spanId===i,onHover:a,style:{paddingTop:4,borderTop:`1px solid color-mix(in srgb, var(--border) 45%, transparent)`}},t))})]})]})})}function Sde({sessionId:e,active:t=!0}){let{t:n}=M(),[r,i]=(0,d.useState)(null),[a,o]=(0,d.useState)(null),[s,c]=(0,d.useState)(null),[l,u]=(0,d.useState)(null);(0,d.useSyncExternalStore)(oX,sX);let f=e?cX(e):void 0,p=e!=null&&f==null;(0,d.useEffect)(()=>{if(i(null),o(null),c(null),!p||!e)return;let t=new AbortController;return fetch(`/api/sessions/${encodeURIComponent(e)}`,{signal:t.signal}).then(async e=>{if(!e.ok)throw Error(String(e.status));let t=await e.json();i(t.context.messages)}).catch(e=>{t.signal.aborted||o(String(e))}),()=>t.abort()},[e,p]);let m=f??r,h=(0,d.useMemo)(()=>fde(m??[]),[m]),g=(0,d.useMemo)(()=>h.find(e=>e.index===s)??null,[h,s]),_=(0,d.useMemo)(()=>g?hde([g]):null,[g]),v=(0,d.useRef)(null),y=(0,d.useRef)(null),b=(0,d.useRef)(0),x=(0,d.useRef)(!1),S=(0,d.useRef)(``);if((0,d.useEffect)(()=>{if(t&&!x.current&&(b.current+=1),x.current=t,!t||!e||h.length===0)return;let n=`${b.current}:${e}`;if(S.current===n)return;S.current=n;let r=dX(e)??h.length-1;if(r>=h.length)return;let i=requestAnimationFrame(()=>{v.current?.scrollToIndex(r),c(h[r].index)});return()=>cancelAnimationFrame(i)},[t,e,h]),!e)return(0,T.jsx)(`div`,{style:{padding:24,color:`var(--text-dim)`},children:n(`trajectory.noSession`)});if(a)return(0,T.jsx)(`div`,{style:{padding:24,color:`var(--status-error)`},children:a});if(!m)return(0,T.jsx)(`div`,{style:{padding:24,color:`var(--text-dim)`},children:n(`trajectory.loading`)});let C=[n(`trajectory.lane.user`),n(`trajectory.lane.assistant`),n(`trajectory.lane.tool`)];return(0,T.jsxs)(`div`,{style:{display:`flex`,flexDirection:`column`,height:`100%`,minHeight:0},children:[(0,T.jsx)(bde,{turn:g,spans:_?.spans??[],start:_?.start??0,end:_?.end??1,laneLabels:C,emptyLabel:n(`trajectory.overviewEmpty`),onHoverSpan:u,hoverSpanId:l}),(0,T.jsx)(nU,{direction:`vertical`,scrollElRef:y,wrapperStyle:{flex:1,minHeight:0},children:(0,T.jsx)(MG,{ref:v,scrollRef:y,children:h.map((e,t)=>(0,T.jsx)(xde,{turn:e,number:pde(h,t),open:s===e.index,onToggle:()=>c(t=>t===e.index?null:e.index),hoverSpanId:l,onHoverSpan:u},`${e.index}-${e.userText.slice(0,12)}`))})})]})}function Cde({sessionId:e}){let t=KU(yW);return(0,T.jsx)(`div`,{"data-trajectory-pane":!0,"data-session-id":e??``,style:{height:`100%`},children:(0,T.jsx)(Sde,{sessionId:e,active:t})})}function wde(e){return`min(calc(100vw - 16px), ${Math.max(48,Math.min(e-8,window.innerWidth-e-8))*2}px)`}function Tde({geometries:e,messages:t,onAddMessage:n,onRemoveMessage:r,onUpdateMessage:i,widgets:a,closedKeys:o,onReopen:s}){let{t:c}=M(),[l,u]=(0,d.useState)(null),[f,p]=(0,d.useState)(null),m=(0,d.useRef)(null);(0,d.useEffect)(()=>()=>{m.current&&clearTimeout(m.current)},[]);let h=e=>a.find(t=>t.key===e)?.lines[0],g=(e,t,n)=>{s(e),p({key:e,x:t,y:n}),m.current&&clearTimeout(m.current),m.current=setTimeout(()=>p(null),2500)},_=[...new Set([...Object.keys(e),...o.keys()])].map(t=>[t,e[t]]);return(0,T.jsxs)(`div`,{style:{height:`100%`,display:`flex`,flexDirection:`column`,background:`var(--bg)`},children:[_.length===0?(0,T.jsx)(`div`,{style:{padding:`32px 16px`,textAlign:`center`,color:`var(--text-dim)`,fontSize:`var(--text-lg)`,lineHeight:1.6},children:c(`config.widgets.empty`)}):(0,T.jsx)(`div`,{style:{flex:1,minHeight:0,overflowY:`auto`,padding:10,display:`flex`,flexDirection:`row`,flexWrap:`wrap`,alignContent:`flex-start`,gap:6},children:_.map(([e,a])=>{let s=t[e]??[],d=o.has(e),f=h(e);return(0,T.jsxs)(`div`,{"data-testid":`widget-config-item-${e}`,style:{flex:`1 1 200px`,maxWidth:`calc((100% - 18px) / 4)`,boxSizing:`border-box`,padding:`8px 10px`,borderRadius:5,background:`var(--bg-panel)`,border:`1px solid var(--border)`},children:[(0,T.jsxs)(`div`,{style:{display:`flex`,alignItems:`center`,gap:7,flexWrap:`wrap`},children:[(0,T.jsxs)(`div`,{style:{minWidth:0,flex:`1 1 120px`},children:[(0,T.jsx)(`div`,{style:{fontSize:`var(--text-base)`,fontWeight:600,fontFamily:`var(--font-mono)`,color:`var(--text)`,overflow:`hidden`,textOverflow:`ellipsis`,whiteSpace:`nowrap`},children:e}),a&&(0,T.jsxs)(`div`,{style:{marginTop:2,fontSize:`var(--text-sm)`,fontFamily:`var(--font-mono)`,color:`var(--text-dim)`},children:[c(`config.widgets.x`),`: `,a.x,` `,c(`config.widgets.y`),`: `,a.y,` ·`,` `,c(`config.widgets.width`),`: `,a.width,` `,c(`config.widgets.height`),`:`,` `,a.height]})]}),(0,T.jsxs)(`div`,{style:{display:`flex`,alignItems:`center`,gap:4,flexShrink:0},children:[d&&(0,T.jsxs)(`button`,{type:`button`,"data-testid":`widget-expand-${e}`,"aria-label":c(`widgets.reopen`),title:c(`widgets.reopen`),onClick:t=>g(e,t.clientX,t.clientY),style:{display:`flex`,alignItems:`center`,gap:4,padding:`4px 8px`,borderRadius:5,border:`1px solid var(--border)`,background:`var(--bg)`,color:`var(--text-muted)`,fontSize:`var(--text-sm)`,cursor:`pointer`},className:`hover-shift`,children:[(0,T.jsx)(Ar,{size:13,"aria-hidden":!0}),c(`widgets.reopen`)]}),(0,T.jsxs)(`button`,{type:`button`,"data-testid":`widget-bind-${e}`,onClick:()=>u(e),style:{display:`flex`,alignItems:`center`,gap:4,padding:`4px 8px`,borderRadius:5,border:`1px solid var(--border)`,background:`var(--bg)`,color:`var(--text-muted)`,fontSize:`var(--text-sm)`,cursor:`pointer`},children:[(0,T.jsx)(Yr,{size:13,"aria-hidden":!0}),c(`config.widgets.bind`)]})]})]}),f&&(0,T.jsx)(`div`,{style:{marginTop:4,fontSize:`var(--text-sm)`,color:`var(--text-muted)`,overflow:`hidden`,textOverflow:`ellipsis`,whiteSpace:`nowrap`},children:f}),(0,T.jsx)(UH,{messages:s,onAdd:t=>n(e,t),onRemove:t=>r(e,t),onUpdate:(t,n)=>i(e,t,n),bindOpen:l===e,onBindOpenChange:e=>{e||u(null)},ns:`widgets`,bindTestIdPrefix:`widget-bind`,editTestIdPrefix:`widget-edit`,chipTestIdPrefix:`widget-bound-${e}`,bindHintArgs:{key:e}})]},e)})}),f&&(0,T.jsx)(`div`,{role:`status`,"aria-live":`polite`,"data-testid":`widget-expanded-toast`,style:{position:`fixed`,left:f.x,maxWidth:wde(f.x),top:f.y+12,transform:`translateX(-50%)`,zIndex:2e3,padding:`8px 12px`,borderRadius:7,border:`1px solid var(--status-success)`,background:`var(--bg)`,color:`var(--text)`,fontSize:`var(--text-base)`,boxShadow:`0 4px 16px var(--shadow-strong)`,whiteSpace:`normal`},children:c(`widgets.expandedToChat`,{key:f.key})})]})}function Ede({widgetGeometries:e,widgetMessages:t,addWidgetMessage:n,removeWidgetMessage:r,updateWidgetMessage:i,extensionWidgets:a,closedWidgets:o,handleReopenWidget:s}){return(0,T.jsx)(T.Fragment,{children:(0,T.jsx)(Tde,{geometries:e,messages:t,onAddMessage:n,onRemoveMessage:r,onUpdateMessage:i,widgets:a,closedKeys:o,onReopen:s})})}function Dde({items:e,openUpdatesTab:t,onDismiss:n}){let{t:r}=M();return(0,T.jsxs)(`div`,{role:`status`,"data-testid":`update-banner`,style:{display:`flex`,alignItems:`center`,gap:8,padding:`6px 12px`,borderBottom:`1px solid var(--border)`,background:`color-mix(in srgb, var(--status-warning) 10%, var(--bg-panel))`,fontSize:`var(--text-sm)`,color:`var(--text)`,flexShrink:0},children:[(0,T.jsx)(`span`,{style:{flex:1,minWidth:0,overflow:`hidden`,textOverflow:`ellipsis`,whiteSpace:`nowrap`},children:r(`updates.banner`,{items:e.join(`, `)})}),(0,T.jsx)(`button`,{type:`button`,"data-testid":`update-banner-view`,onClick:()=>{t()},style:{padding:`3px 10px`,border:`1px solid var(--border)`,borderRadius:6,color:`var(--text-muted)`,cursor:`pointer`,fontSize:`var(--text-sm)`,flexShrink:0},children:r(`updates.view`)}),(0,T.jsx)(`button`,{type:`button`,"aria-label":r(`i18n.close`),onClick:n,style:{padding:`2px 6px`,border:`none`,color:`var(--text-dim)`,cursor:`pointer`,fontSize:`var(--text-sm)`,flexShrink:0},children:`✕`})]})}function Ode(){let e=(0,d.useRef)(null);return{chatInputRef:e,handleAtMention:(0,d.useCallback)((t,n)=>{e.current?.insertText(xQ(t,n))},[]),handleAtMentions:(0,d.useCallback)(t=>{let n=CQ(t);n&&e.current?.insertText(n)},[]),handleFileLineMention:(0,d.useCallback)((t,n,r)=>{e.current?.insertText(SQ(t,n,r))},[])}}function kde(e){try{let t=window.localStorage.getItem(e);if(t===null)return null;let n=Number.parseInt(t,10);return Number.isFinite(n)?n:null}catch{return null}}function c9(e,t){try{window.localStorage.setItem(e,String(t))}catch{}}function l9(e){let{ariaLabel:t,cssVariable:n,defaultWidth:r,getDefaultWidth:i,getMaxWidth:a,growthDirection:o,maxWidth:s,minWidth:c,storageKey:l,widthRef:u}=e,f=(0,d.useRef)(null),p=(0,d.useRef)(null),m=(0,d.useRef)(!1),[h,g]=(0,d.useState)(r),[_,v]=(0,d.useState)(!1),y=(0,d.useCallback)(()=>Math.min(s,Math.max(c,a())),[a,s,c]),b=(0,d.useCallback)(e=>jo(e,c,y()),[y,c]),x=(0,d.useCallback)(e=>{u.current=e,f.current?.style.setProperty(n,`${e}px`)},[n,u]),S=(0,d.useCallback)((e,t={})=>{let{forcePersist:n=!1,persist:r=!0}=t,i=b(e),a=i!==u.current;return x(i),g(i),r&&(a||n)&&c9(l,i),i},[x,b,l,u]),C=(0,d.useCallback)(e=>{document.body.style.cursor=e.previousCursor,document.body.style.userSelect=e.previousUserSelect},[]),w=(0,d.useCallback)(e=>{let t=p.current;if(!(!t||t.pointerId!==e)){p.current=null,C(t),v(!1),S(u.current,{forcePersist:!0});try{t.target.hasPointerCapture(e)&&t.target.releasePointerCapture(e)}catch{}}},[S,C,u]),T=(0,d.useCallback)(e=>{if(e.pointerType===`mouse`&&e.button!==0)return;e.preventDefault(),e.stopPropagation();let t=p.current;t&&w(t.pointerId);let n=e.currentTarget;n.focus({preventScroll:!0}),n.setPointerCapture(e.pointerId),p.current={pointerId:e.pointerId,startX:e.clientX,startWidth:u.current,target:n,previousCursor:document.body.style.cursor,previousUserSelect:document.body.style.userSelect},document.body.style.cursor=`col-resize`,document.body.style.userSelect=`none`,v(!0)},[w,u]),E=(0,d.useCallback)(e=>{let t=p.current;if(!t||t.pointerId!==e.pointerId)return;if(e.pointerType===`mouse`&&e.buttons===0){w(e.pointerId);return}e.preventDefault();let n=o===`right`?1:-1,r=b(t.startWidth+(e.clientX-t.startX)*n);x(r),e.currentTarget.setAttribute(`aria-valuenow`,String(r)),e.currentTarget.setAttribute(`aria-valuetext`,`${r} px`)},[x,b,w,o]),D=(0,d.useCallback)(e=>{w(e.pointerId)},[w]),O=(0,d.useCallback)(e=>{w(e.pointerId)},[w]),k=(0,d.useCallback)(e=>{w(e.pointerId)},[w]),A=(0,d.useCallback)(()=>{let e=i?.()??r;S(e,{forcePersist:!0})},[S,r,i]),j=(0,d.useCallback)(()=>{S(u.current)},[S,u]),M=(0,d.useCallback)(e=>{let t=e.shiftKey?32:12,n=o===`right`?`ArrowRight`:`ArrowLeft`,r=o===`right`?`ArrowLeft`:`ArrowRight`;e.key===n?(e.preventDefault(),S(u.current+t,{forcePersist:!0})):e.key===r?(e.preventDefault(),S(u.current-t,{forcePersist:!0})):e.key===`Home`?(e.preventDefault(),S(c,{forcePersist:!0})):e.key===`End`?(e.preventDefault(),S(y(),{forcePersist:!0})):e.key===`Enter`&&(e.preventDefault(),A())},[S,y,o,c,A,u]);return(0,d.useEffect)(()=>{if(m.current)return;m.current=!0;let e=kde(l),t=e??i?.()??r,n=S(t,{persist:!1});e!==null&&e!==n&&c9(l,n)},[S,r,i,l]),(0,d.useEffect)(()=>{if(!m.current)return;S(u.current);let e=()=>{S(u.current)};return window.addEventListener(`resize`,e),()=>window.removeEventListener(`resize`,e)},[S,u]),(0,d.useEffect)(()=>{if(!_)return;let e=()=>{let e=p.current;e&&w(e.pointerId)},t=()=>{document.visibilityState!==`visible`&&e()};return window.addEventListener(`blur`,e),document.addEventListener(`visibilitychange`,t),()=>{window.removeEventListener(`blur`,e),document.removeEventListener(`visibilitychange`,t)}},[w,_]),(0,d.useEffect)(()=>()=>{let e=p.current;e&&(p.current=null,C(e))},[C]),{isResizing:_,panelRef:f,reclampWidth:j,resetWidth:A,setWidth:e=>S(e,{forcePersist:!0}),separatorProps:{"aria-label":t,"aria-orientation":`vertical`,"aria-valuemax":y(),"aria-valuemin":c,"aria-valuenow":h,"aria-valuetext":`${h} px`,onDoubleClick:A,onKeyDown:M,onLostPointerCapture:k,onPointerCancel:O,onPointerDown:T,onPointerMove:E,onPointerUp:D,role:`separator`,tabIndex:0},width:h}}function Ade({isMobile:e,sidebarOpen:t,setSidebarOpen:n,translate:r}){let[i,a]=(0,d.useState)(!1),o=(0,d.useRef)(280),s=(0,d.useRef)(280),c=(0,d.useCallback)(()=>typeof window>`u`?480:Mo({viewportWidth:window.innerWidth,rightPanelOpen:!1,rightPanelWidth:0}),[]),l=l9({ariaLabel:r(`layout.resizeSidebar`),cssVariable:`--sidebar-width`,defaultWidth:280,getMaxWidth:c,growthDirection:`right`,maxWidth:480,minWidth:180,storageKey:`pi-sidebar-width`,widthRef:o}),u=l.reclampWidth,f=l9({ariaLabel:r(`layout.resizeWidgetPanel`),cssVariable:`--widget-panel-width`,defaultWidth:280,getMaxWidth:()=>typeof window>`u`?560:No({viewportWidth:window.innerWidth,sidebarOpen:t,sidebarWidth:l.width}),growthDirection:`left`,maxWidth:560,minWidth:200,storageKey:`pi-widget-panel-width`,widthRef:s});return(0,d.useEffect)(()=>{e&&n(!1)},[e,n]),(0,d.useEffect)(()=>{a(!0)},[]),(0,d.useEffect)(()=>{u()},[u]),{sidebarResizer:l,widgetPanelResizer:f,mobileSidebarReady:i}}var jde=176,Mde=86;function Nde(e){let t=e.button.getBoundingClientRect(),n=e.row?.getBoundingClientRect(),r=n?.top??t.top,i=n?.bottom??t.bottom,a=Math.min(e.menuWidth,n?.width??e.tabRect.width),o=Math.min(t.left-1,Math.max(n?.left??e.tabRect.left,(n?.right??e.tabRect.right)-a)),s=i+4;return{top:s+e.estHeight>window.innerHeight-4?r-e.estHeight:s,left:o,width:a}}function Pde({activeTopPanel:e,isMobile:t,tabBarRef:n,sidebarTopBarRef:r,languageBtnRef:i}){let[a,o]=(0,d.useState)(null);return(0,d.useEffect)(()=>{if(!e)return;let a=()=>{if(document.hidden)return;let a=n.current?.getBoundingClientRect();if(a){if(e===`language`&&!t&&i.current){let e=Nde({menuWidth:jde,estHeight:Mde,button:i.current,row:r.current,tabRect:a});o(e);return}o({top:a.bottom,left:a.left,width:a.width})}};a();let s=new ResizeObserver(a);return n.current&&s.observe(n.current),i.current&&s.observe(i.current),()=>s.disconnect()},[e,t]),a}var u9=`pi-web`;function d9(e,t){let n=f9(e),r=f9(t),i=Math.max(n.length,r.length);for(let e=0;e<i;e++){let t=n[e]??0,i=r[e]??0;if(t>i)return 1;if(t<i)return-1}return 0}function f9(e){return e.replace(/^v/i,``).split(/[-+]/)[0].split(`.`).map(e=>{let t=Number.parseInt(e,10);return Number.isNaN(t)?0:t})}function p9({current:e,latest:t},n){return t!==null&&t!==n&&d9(t,e)>0}function m9(e){return e.enabled!==!1}function h9(e,t){return t[e]===`*`}function Fde(e){if(!m9(e))return 0;let t=e.ignored??{};return+!!p9(e.piWeb,t[`pi-web`])+e.plugins.filter(e=>!h9(e.source,t)).length}function Ide(e,t){if(!m9(e))return[];let n=e.ignored??{},r=[];p9(e.piWeb,n[`pi-web`])&&r.push(`pi-web`);let i=e.plugins.filter(e=>!h9(e.source,n)).length;return i>0&&r.push(`${i} ${t}`),r}function Lde({activeCwd:e,translate:t}){let{value:n}=fo(kt),r=(0,d.useMemo)(()=>n?Fde(n):0,[n]),i=(0,d.useMemo)(()=>n?Ide(n,t(`common.plugins`)):[],[n,t]),[a,o]=(0,d.useState)(!1),s=(0,d.useRef)(void 0);return(0,d.useEffect)(()=>{e!==s.current&&(s.current=e,Ot(e??null),kt.load().catch(e=>console.error(`[pi-web] load updates:`,e)))},[e]),{updatesBadge:r,updateItems:i,updatesBannerDismissed:a,setUpdatesBannerDismissed:o}}function Rde({panelOpen:e,highlighted:t,onToggle:n}){let{t:r}=M(),i=r(e?`sidebar.hide`:`sidebar.show`);return(0,T.jsx)(F,{label:i,children:(0,T.jsx)(`button`,{onClick:n,"aria-controls":`widget-panel`,"aria-expanded":e,"aria-label":i,"data-testid":`widget-panel-toggle`,style:{display:`flex`,alignItems:`center`,justifyContent:`center`,width:36,height:36,padding:0,border:`none`,borderLeft:`1px solid var(--border)`,color:t?`var(--text)`:`var(--text-muted)`,cursor:`pointer`,flexShrink:0,transition:`color 0.12s`,"--hover-color":`var(--text)`},className:`hover-shift`,children:(0,T.jsxs)(`svg`,{width:I[`4xl`],height:I[`4xl`],viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`,children:[(0,T.jsx)(`rect`,{x:`3`,y:`3`,width:I[`4xl`],height:I[`4xl`],rx:`2`}),(0,T.jsx)(`line`,{x1:`15`,y1:`3`,x2:`15`,y2:`21`})]})})})}function zde(){return(0,T.jsxs)(`div`,{role:`status`,"aria-label":`Loading`,"data-testid":`boot-splash`,style:{position:`fixed`,inset:0,zIndex:9999,display:`flex`,flexDirection:`column`,alignItems:`center`,justifyContent:`center`,gap:18,background:`var(--bg)`,color:`var(--text-muted)`},children:[(0,T.jsx)(`div`,{style:{fontSize:`var(--text-6xl)`,fontWeight:700,color:`var(--accent)`,letterSpacing:`0.02em`},children:`pi`}),(0,T.jsx)(`div`,{style:{width:22,height:22,border:`2px solid var(--border)`,borderTopColor:`var(--accent)`,borderRadius:`50%`,animation:`boot-spin 0.8s linear infinite`}}),(0,T.jsx)(`style`,{children:`@keyframes boot-spin { to { transform: rotate(360deg); } }`})]})}function Bde(){let{t:e}=M(),t=(0,d.useSyncExternalStore)(Mq,Nq,Nq);if(t.length===0)return null;let n=t[t.length-1],r={...n,message:IJ(n.message,e)},i=t.length;return(0,T.jsx)(Ku,{open:!0,onOpenChange:()=>{},children:(0,T.jsxs)(Xu,{children:[(0,T.jsx)(Qu,{style:{position:`fixed`,inset:0,zIndex:1200,background:`rgba(0, 0, 0, 0.45)`}}),(0,T.jsxs)(nd,{role:`alertdialog`,"aria-modal":`true`,onInteractOutside:e=>e.preventDefault(),onEscapeKeyDown:e=>e.preventDefault(),style:{position:`fixed`,top:`50%`,left:`50%`,transform:`translate(-50%, -50%)`,zIndex:1200,maxWidth:480,width:`calc(100% - 48px)`,maxHeight:`calc(100dvh - 48px)`,overflowY:`auto`,background:`var(--bg)`,border:`1px solid var(--border)`,borderRadius:10,padding:`16px 20px`,boxShadow:`0 8px 32px rgba(0, 0, 0, 0.35)`},children:[(0,T.jsxs)(sd,{style:{display:`flex`,alignItems:`center`,gap:8,marginBottom:10,fontSize:`var(--text-base)`,fontWeight:600,color:`var(--text)`},children:[(0,T.jsx)(`span`,{style:{color:`var(--status-error)`},children:`⚠`}),(0,T.jsx)(`span`,{children:i>1?e(`errors.titleCount`,{count:i}):e(`errors.title`)})]}),(0,T.jsx)(ld,{asChild:!0,children:(0,T.jsx)(`div`,{children:r.kind===`api`?(0,T.jsxs)(`div`,{children:[(0,T.jsxs)(`div`,{style:{display:`flex`,alignItems:`center`,gap:8,marginBottom:6},children:[(0,T.jsxs)(`span`,{style:{fontSize:`var(--text-xs)`,padding:`1px 8px`,borderRadius:999,background:`color-mix(in srgb, var(--status-error) 14%, transparent)`,color:`var(--status-error)`,fontWeight:600,whiteSpace:`nowrap`},children:[`HTTP `,r.status||`ERR`]}),r.context&&(0,T.jsx)(`span`,{style:{fontSize:`var(--text-xs)`,color:`var(--text-dim)`},children:r.context})]}),(0,T.jsx)(`div`,{style:{fontSize:`var(--text-sm)`,color:`var(--text)`,wordBreak:`break-word`},children:r.message})]}):(0,T.jsxs)(`div`,{children:[r.context&&(0,T.jsx)(`div`,{style:{fontSize:`var(--text-xs)`,color:`var(--text-dim)`,marginBottom:6},children:r.context}),(0,T.jsx)(`div`,{style:{fontSize:`var(--text-sm)`,color:`var(--text)`,wordBreak:`break-word`},children:r.message})]})})}),(0,T.jsxs)(`div`,{style:{display:`flex`,justifyContent:`flex-end`,gap:8,marginTop:16},children:[i>1&&(0,T.jsx)(`button`,{type:`button`,onClick:Fq,style:{border:`1px solid var(--border)`,color:`var(--text-muted)`,borderRadius:6,padding:`4px 12px`,fontSize:`var(--text-sm)`,cursor:`pointer`},children:e(`errors.clearAll`)}),(0,T.jsx)(`button`,{type:`button`,onClick:Pq,style:{border:`none`,background:`var(--accent)`,color:`#fff`,borderRadius:6,padding:`4px 14px`,fontSize:`var(--text-sm)`,cursor:`pointer`},children:e(`errors.close`)})]})]})]})})}var Vde=3e3,Hde=6e4;function g9(e,t){return e?e.error?e.path.split(/[\\/]/).pop()||t:e.name||e.firstMessage.slice(0,50)||t.slice(0,12):t.slice(0,12)}function Ude(e,t){return e.filter(e=>!t.has(e))}function Wde(e,t,n,r){switch(e.type){case`prompt_error`:case`extension_error`:{if(!n.errors)return null;let t=e.errorMessage??r(`i18n.commandFailed`);return{title:r(`chat.taskErrorNotificationTitle`),body:t,tag:`agent-error-${e.sessionId}`}}case`extension_ui_request`:{if(!n.questions)return null;let t=e.method;if(t!==`select`&&t!==`confirm`&&t!==`input`&&t!==`editor`)return null;let i=e.title??r(`chat.questionNotificationTitle`);return{title:r(`chat.questionNotificationTitle`),body:i,tag:`question-${e.id??e.sessionId}`}}default:return null}}function Gde(){let{t:e}=M(),{notifyEvents:t}=er(),[n,r]=(0,d.useState)([]),i=(0,d.useRef)([]);(0,d.useEffect)(()=>{i.current=n});let a=(0,d.useRef)(t);(0,d.useEffect)(()=>{a.current=t});let o=(0,d.useRef)(e);(0,d.useEffect)(()=>{o.current=e});let{runningSessionIds:s}=NX(),c=(0,d.useRef)(!1),l=(0,d.useRef)([]),u=(0,d.useRef)(new Map);(0,d.useEffect)(()=>{if(!a.current.taskComplete)return;let e=c.current?l.current:null;if(l.current=[...s],c.current=!0,!e)return;let t=Ude(e,s);if(t.length===0)return;let n=Date.now();for(let e of t){let t=u.current.get(e);t!==void 0&&n-t<Vde||(i.current.some(t=>t.id===e)||p.current(),console.info(`[notify] completion via running-snapshot (${e})`),XK({title:o.current(`chat.taskCompleteNotificationTitle`),body:o.current(`chat.sessionCompletedNotificationBody`,{name:g9(i.current.find(t=>t.id===e),e)}),tag:`session-complete-${e}`,notifyWhileActive:a.current.notifyWhileActive}))}},[s]);let f=(0,d.useCallback)(async()=>{try{let e=await fetch(`/api/sessions`,{cache:`no-store`});if(!e.ok)return;let t=await e.json();t.sessions&&r(t.sessions)}catch{}},[]),p=(0,d.useRef)(f);return(0,d.useEffect)(()=>{p.current=f}),(0,d.useEffect)(()=>{f();let e=setInterval(()=>void f(),Hde);return()=>clearInterval(e)},[f]),(0,d.useEffect)(()=>Qe({ch:`global`},e=>{let t=e;if(!t.sessionId)return;let n=t.sessionId;(t.type===`prompt_error`||t.type===`extension_error`)&&u.current.set(n,Date.now()),i.current.some(e=>e.id===n)||p.current();let r=Wde(t,g9(i.current.find(e=>e.id===n),n),a.current,o.current);r&&(console.info(`[agent-events] notifying: ${r.title}`),XK({...r,notifyWhileActive:a.current.notifyWhileActive}))}),[]),null}var Kde=3;function qde(){let{t:e}=M(),t=(0,d.useSyncExternalStore)(Ln,Rn,Rn);if(t.length===0)return null;let n=t.slice(0,Kde),r=t.length-n.length;return(0,T.jsx)(`div`,{"aria-busy":`true`,style:{position:`fixed`,inset:0,zIndex:1150,background:`color-mix(in srgb, var(--bg) 40%, transparent)`,display:`flex`,alignItems:`center`,justifyContent:`center`,pointerEvents:`none`},children:(0,T.jsxs)(`div`,{style:{display:`flex`,flexDirection:`column`,gap:10,minWidth:220,maxWidth:`60vw`,padding:`14px 18px`,background:`var(--bg)`,border:`1px solid var(--border)`,borderRadius:`var(--radius)`,boxShadow:`0 8px 32px rgba(0,0,0,0.25)`},children:[n.map(t=>(0,T.jsxs)(`div`,{style:{display:`flex`,alignItems:`center`,gap:10,fontSize:`var(--text-sm)`,color:`var(--text)`},children:[(0,T.jsx)(`div`,{style:{width:14,height:14,flexShrink:0,border:`2px solid var(--border)`,borderTopColor:`var(--accent)`,borderRadius:`50%`,animation:`spin 0.8s linear infinite`}}),(0,T.jsx)(`span`,{style:{overflow:`hidden`,textOverflow:`ellipsis`,whiteSpace:`nowrap`},children:t.label||e(`loading.inProgress`)})]},t.id)),r>0&&(0,T.jsx)(`div`,{style:{fontSize:`var(--text-sm)`,color:`var(--text-dim)`},children:e(`loading.more`,{count:r})})]})})}function Jde({cwd:e,busy:t,error:n,onCancel:r,onConfirm:i}){let{t:a}=M();return(0,T.jsx)(xd,{open:!0,onOpenChange:e=>{!e&&!t&&r()},children:(0,T.jsxs)(Td,{className:`w-[440px] gap-0 overflow-hidden rounded-lg p-0`,style:{zIndex:1100,maxWidth:`calc(100% - 2rem)`,overflowY:`auto`},showCloseButton:!1,onPointerDownOutside:e=>{t&&e.preventDefault()},onEscapeKeyDown:e=>{t&&e.preventDefault()},children:[(0,T.jsxs)(`div`,{style:{display:`flex`,gap:12,padding:`18px 18px 14px`},children:[(0,T.jsxs)(`svg`,{width:I[`5xl`],height:I[`5xl`],viewBox:`0 0 24 24`,fill:`none`,stroke:`var(--status-warning)`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`,"aria-hidden":`true`,style:{flexShrink:0,marginTop:1},children:[(0,T.jsx)(`path`,{d:`M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10Z`}),(0,T.jsx)(`path`,{d:`m9 12 2 2 4-4`})]}),(0,T.jsxs)(`div`,{style:{minWidth:0},children:[(0,T.jsx)(Ed,{style:{fontSize:`var(--text-2xl)`,fontWeight:700,color:`var(--text)`,lineHeight:1.4},children:a(`trust.dialogTitle`)}),(0,T.jsx)(Dd,{style:{marginTop:7,fontSize:`var(--text-base)`,lineHeight:1.6,color:`var(--text-muted)`},children:a(`trust.dialogBody`)}),(0,T.jsx)(`code`,{style:{display:`block`,marginTop:10,padding:`8px 10px`,border:`1px solid var(--border)`,borderRadius:5,background:`var(--bg)`,color:`var(--text)`,fontFamily:`var(--font-mono)`,fontSize:`var(--text-sm)`,overflowWrap:`anywhere`},children:e}),n&&(0,T.jsx)(`div`,{role:`alert`,style:{marginTop:10,color:`var(--status-error)`,fontSize:`var(--text-base)`,lineHeight:1.5},children:n})]})]}),(0,T.jsxs)(`div`,{style:{display:`flex`,justifyContent:`flex-end`,gap:8,padding:`10px 18px`,borderTop:`1px solid var(--border)`},children:[(0,T.jsx)(md,{type:`button`,variant:`outline`,onClick:r,disabled:t,className:`h-8 px-3 text-xs`,children:a(`trust.cancel`)}),(0,T.jsx)(md,{type:`button`,onClick:i,disabled:t,className:`h-8 px-3 text-xs`,style:{cursor:t?`wait`:`pointer`},children:a(t?`trust.trusting`:`trust.trustProject`)})]})]})})}var _9=2e3,v9=[],y9=new Set,b9=new Set,Yde=0;function x9(){for(let e of y9)e()}function S9(e){let t=document.querySelector(`[data-testid="session-sidebar"]`);if(!e||!t)return null;let n=Math.round(e.getBoundingClientRect().top-t.getBoundingClientRect().top);return Math.max(0,n)}function C9(e,t){if(e===null)return;let n=++Yde;v9=[...v9,{id:n,y:e,text:t}],x9();let r=setTimeout(()=>w9(n),_9);b9.add(r)}function w9(e){if(v9.some(t=>t.id===e)){for(let e of b9)clearTimeout(e);b9.clear(),v9=v9.filter(t=>t.id!==e);for(let e of v9){let t=setTimeout(()=>w9(e.id),_9);b9.add(t)}x9()}}function Xde(e,t){C9(S9(e),t)}function T9(e,t){for(let n of document.querySelectorAll(`[${e}]`))if(n.getAttribute(e)===t)return n;return null}function Zde(e){return y9.add(e),()=>{y9.delete(e)}}function Qde(){return v9}function $de(){let e=(0,d.useSyncExternalStore)(Zde,Qde);return e.length===0?null:(0,T.jsx)(T.Fragment,{children:e.map(e=>(0,T.jsx)(uo,{open:!0,onDismiss:()=>w9(e.id),autoDismissSecs:2,closable:!1,testId:`deleted-ghost`,style:{position:`absolute`,top:e.y,left:8,zIndex:30,maxWidth:`calc(100% - 16px)`,pointerEvents:`none`,background:`var(--bg)`,color:`var(--accent)`},children:(0,T.jsx)(`span`,{style:{whiteSpace:`normal`,wordBreak:`break-word`},children:e.text})},e.id))})}var efe=6e4,E9=new Map,D9=new Map,O9=new Map(E9),k9=new Set;function A9(){O9=new Map(E9);for(let e of k9)e()}function tfe(e){return k9.add(e),()=>k9.delete(e)}function j9(e,t){E9.set(e,t),t.status!==`running`&&D9.delete(e),A9()}function M9(){return(0,d.useSyncExternalStore)(tfe,()=>O9,()=>O9)}function N9(e,t,n,r){if(E9.get(e)?.status===`running`)return null;j9(e,{kind:t,status:`running`});let i=Cp(n,efe);return D9.set(e,i),i.promise.then(()=>{j9(e,{kind:t,status:`done`}),r?.()},n=>{j9(e,{kind:t,status:`error`,error:n instanceof Error?n.message:String(n)})}),i}function nfe(e){let t=!1;for(let[n,r]of E9)r.status!==`running`&&!e.has(n)&&(E9.delete(n),t=!0);t&&A9()}var P9=`pi-web:unread-session-ids`;function rfe(){if(typeof window>`u`)return new Set;try{let e=window.localStorage.getItem(P9);if(!e)return new Set;let t=JSON.parse(e);return Array.isArray(t)?new Set(t.filter(e=>typeof e==`string`)):new Set}catch{return new Set}}function F9(e){if(!(typeof window>`u`))try{e.size===0?window.localStorage.removeItem(P9):window.localStorage.setItem(P9,JSON.stringify([...e]))}catch{}}function ife(){let[e,t]=(0,d.useState)(()=>rfe());return(0,d.useEffect)(()=>{F9(e)},[e]),{unreadSessionIds:e,setUnreadSessionIds:t}}function afe(){let{t:e}=M();return(0,T.jsx)(`span`,{title:e(`sidebar.newActivity`),"aria-label":e(`sidebar.newSessionActivity`),style:{width:14,height:14,display:`inline-flex`,alignItems:`center`,justifyContent:`center`,flexShrink:0,color:`var(--accent)`},children:(0,T.jsxs)(`svg`,{width:I.xl,height:I.xl,viewBox:`0 0 14 14`,fill:`none`,"aria-hidden":`true`,style:{display:`block`},children:[(0,T.jsx)(`circle`,{cx:`7`,cy:`7`,r:`2.5`,fill:`currentColor`}),(0,T.jsx)(`circle`,{cx:`7`,cy:`7`,r:`3`,stroke:`currentColor`,strokeWidth:`1.4`,opacity:`0.32`,style:{transformOrigin:`center`,animation:`session-ring-pulse 1.6s ease-in-out infinite`}})]})})}function ofe({savedWorkspaces:e,onSavedWorkspacesChange:t,setSelectedCwd:n}){let[r,i]=(0,d.useState)(!1),[a,o]=(0,d.useState)(``),[s,c]=(0,d.useState)(null),[l,u]=(0,d.useState)(!1);return{customPathOpen:r,setCustomPathOpen:i,customPathError:s,setCustomPathError:c,customPathValidating:l,commitCustomPath:(0,d.useCallback)(async r=>{let s=(r??a).trim();if(!(!s||l)){u(!0),c(null);try{let r=await fetch(`/api/cwd/validate`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({cwd:s})}),a=await r.json().catch(()=>({}));if(!r.ok||a.error){c(a.error??`HTTP ${r.status}`);return}let l=a.cwd??s;if(n(l),i(!1),o(``),t){let n=e??[];n.some(e=>W5(e)===W5(l))||t([...n,l])}}catch(e){c(e instanceof Error?e.message:String(e))}finally{u(!1)}}},[a,l,e,t,n])}}function sfe({savedWorkspaces:e,onSavedWorkspacesChange:t,onSessionDeleted:n,loadSessions:r}){let[i,a]=(0,d.useState)(null),[o,s]=(0,d.useState)(null),c=[...M9().values()].some(e=>e.kind===`group`&&e.status===`running`),l=(0,d.useCallback)((e,t=null)=>{a(e),s(t)},[]);return{confirmDeleteGroup:i,setConfirmDeleteGroup:l,deleteGroupAnchor:o,deletingGroup:c,handleDeleteGroup:(0,d.useCallback)(i=>{l(null);let a=N9(W5(i.root),`group`,async e=>{await Promise.all(i.sessions.map(async t=>{try{let n=await fetch(`/api/sessions/${encodeURIComponent(t.id)}`,{method:`DELETE`,headers:{"Content-Type":`application/json`},body:JSON.stringify({deleteAllAuxFiles:!0}),signal:e});n.ok||console.error(`[sidebar] failed to delete ${t.id}:`,n.status)}catch(e){e instanceof Error&&e.name===`AbortError`||console.error(`[sidebar] failed to delete ${t.id}:`,e)}}))},()=>{for(let e of i.sessions)n?.(e.id);let a=e??[];t&&a.some(e=>W5(e)===W5(i.root))&&t(a.filter(e=>W5(e)!==W5(i.root))),r(!1,!0)});return a?a.promise.then(()=>!0,()=>!1):Promise.resolve(!1)},[e,t,n,r])}}var cfe=2e3;function lfe({selectedSessionId:e,refreshKey:t,runningSessionIds:n,setUnreadSessionIds:r,setRunningSessionIds:i,runningPollAuthoritativeRef:a,setError:o}){let[s,c]=(0,d.useState)([]),[l,u]=(0,d.useState)(!0),[f,p]=(0,d.useState)(``),[m,h]=(0,d.useState)(!1),g=(0,d.useRef)(new Set),_=(0,d.useRef)(null),v=(0,d.useRef)(0),y=(0,d.useCallback)(async(e=!1,t=!1)=>{try{e&&u(!0);let n=t?await Ct.refresh():await Ct.load();c(n.sessions),a.current||i(new Set(n.runningSessionIds??[]));let s=new Set(n.sessions.map(e=>e.id));r(e=>{if(e.size===0)return e;let t=new Set([...e].filter(e=>s.has(e)));return t.size===e.size?e:t}),o(null),e||(h(!0),_.current&&clearTimeout(_.current),_.current=setTimeout(()=>h(!1),2e3))}catch(e){o(String(e))}finally{e&&u(!1)}},[r,i,a,o]),b=(0,d.useRef)(!1);return(0,d.useEffect)(()=>{let e=!b.current;b.current=!0,y(e,e)},[y,t]),(0,d.useEffect)(()=>{let t=[...g.current].filter(t=>!n.has(t)&&t!==e),i=[...n];if((t.length>0||i.length>0)&&r(e=>{let n=new Set(e);return i.forEach(e=>n.delete(e)),t.forEach(e=>n.add(e)),n}),t.length>0&&y(!1),[...n].filter(e=>!s.some(t=>t.id===e)).length>0){let e=Date.now();e-v.current>=cfe&&(v.current=e,y(!1,!0))}g.current=n},[n,e,s,y,r]),(0,d.useEffect)(()=>{e&&(TY(e),r(t=>{if(!t.has(e))return t;let n=new Set(t);return n.delete(e),n}))},[e,r]),(0,d.useEffect)(()=>{fetch(`/api/home`).then(e=>e.json()).then(e=>{e.home&&p(e.home)}).catch(e=>console.error(`[pi-web] load home dir:`,e))},[]),{allSessions:s,loading:l,sessionRefreshDone:m,homeDir:f,loadSessions:y}}var I9=(e,t)=>e.replace(/\\/g,`/`)===t.replace(/\\/g,`/`);function L9(e,t){let n=new Date(e),r=new Date().getTime()-n.getTime(),i=Math.floor(r/6e4),a=Math.floor(r/36e5),o=Math.floor(r/864e5);return i<1?t(`sidebar.justNow`):i<60?t(`sidebar.minutesAgo`,{count:i}):a<24?t(`sidebar.hoursAgo`,{count:a}):o<7?t(`sidebar.daysAgo`,{count:o}):n.toLocaleDateString()}function ufe(e){let t=new Map;for(let n of e){let e=n.projectRoot??n.cwd;if(!e)continue;let r=t.get(e);(!r||n.modified>r)&&t.set(e,n.modified)}return[...t.entries()].sort((e,t)=>t[1].localeCompare(e[1])).map(([e])=>e)}function R9(e,t){return t&&e.startsWith(t)?`~${e.slice(t.length)}`:e}function z9(e){let t=e.split(/[\\/]+/).filter(Boolean);return t.length?t[t.length-1]:e}function B9({text:e,style:t}){return(0,T.jsx)(`span`,{style:{overflow:`hidden`,textOverflow:`ellipsis`,whiteSpace:`nowrap`,display:`block`,minWidth:0,lineHeight:1.35,direction:`rtl`,textAlign:`left`,...t},children:(0,T.jsx)(`span`,{style:{unicodeBidi:`plaintext`},children:e})})}function V9({session:e}){return(0,T.jsxs)(`span`,{style:{display:`flex`,alignItems:`center`,gap:4,color:`var(--danger)`,minWidth:0,overflow:`hidden`,textOverflow:`ellipsis`,whiteSpace:`nowrap`},title:`${e.path}: ${e.error}`,children:[(0,T.jsxs)(`svg`,{width:I.xs,height:I.xs,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2.5`,strokeLinecap:`round`,strokeLinejoin:`round`,"aria-hidden":`true`,style:{flexShrink:0},children:[(0,T.jsx)(`path`,{d:`m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3`}),(0,T.jsx)(`path`,{d:`M12 9v4`}),(0,T.jsx)(`path`,{d:`M12 17h.01`})]}),e.error]})}var H9=140;function dfe({open:e,children:t,style:n}){let[r,i]=(0,d.useState)(e),[a,o]=(0,d.useState)(e);return(0,d.useEffect)(()=>{let t,n;return e?(i(!0),o(!1),t=window.requestAnimationFrame(()=>{t=window.requestAnimationFrame(()=>o(!0))})):(o(!1),n=setTimeout(()=>i(!1),H9)),()=>{t!==void 0&&window.cancelAnimationFrame(t),n&&clearTimeout(n)}},[e]),r?(0,T.jsx)(`div`,{style:{...n,opacity:+!!a,transform:a?`translateY(0) scale(1)`:`translateY(-8px) scale(0.96)`,transformOrigin:`top center`,transition:`opacity ${H9}ms ease, transform ${H9}ms ease`,pointerEvents:e?`auto`:`none`},children:t}):null}function ffe({worktreeState:e,allSessions:t,selectedCwd:n,setSelectedCwd:r,onCwdChange:i,initialSessionId:a,skipInitialProjectSelection:o,onSelectSession:s,onInitialRestoreDone:c,markSeen:l}){let u=(0,d.useCallback)(n=>n?e?.forCwd&&I9(e.forCwd,n)||e?.worktrees.some(e=>I9(e.path,n))?e.projectRoot:t.find(e=>e.cwd&&I9(e.cwd,n))?.projectRoot??n:null,[e,t]),f=(0,d.useRef)(null);(0,d.useEffect)(()=>{f.current!==n&&(f.current=n,i?.(n,u(n)))},[n,i,u]);let p=(0,d.useRef)(!1);return(0,d.useEffect)(()=>{if(!(t.length===0||o)&&n===null){if(a&&!p.current){p.current=!0;let e=t.find(e=>e.id===a);if(e){r(e.cwd),l(e.id),s(e,!0);return}c?.()}let e=ufe(t);e.length>0&&r(e[0])}},[t,n,a,o,s,c,l,r]),{projectRootFor:u}}function pfe({onUnseenSession:e}){let[t,n]=(0,d.useState)(()=>new Set);return{seenSessionIds:t,markSeen:(0,d.useCallback)(e=>{n(t=>{if(t.has(e))return t;let n=new Set(t);return n.add(e),n})},[]),handleUnseen:(0,d.useCallback)(t=>{n(e=>{if(!e.has(t))return e;let n=new Set(e);return n.delete(t),n}),Ze(t),e?.(t)},[e])}}function mfe(e){let{selectedCwd:t,selectedCwdProp:n,refreshKey:r,setSelectedCwd:i}=e,[a,o]=(0,d.useState)(null),[s,c]=(0,d.useState)(!1),[l,u]=(0,d.useState)(!1),[f,p]=(0,d.useState)(``),[m,h]=(0,d.useState)(null),[g,_]=(0,d.useState)(!1),[v,y]=(0,d.useState)(null),[b,x]=(0,d.useState)(null),[S,C]=(0,d.useState)(``),w=(0,d.useRef)(null),T=(0,d.useRef)(null),E=(0,d.useRef)(null);(0,d.useEffect)(()=>{n&&n!==E.current&&(E.current=n,i(n))},[n,i]);let D=(0,d.useCallback)(()=>{c(!1),u(!1),p(``),h(null),y(null),C(``)},[]),[O,k]=(0,d.useState)(0);(0,d.useLayoutEffect)(()=>{if(!t){o(null),x(null);return}let e=!1;return x(t),fetch(`/api/worktrees?cwd=${encodeURIComponent(t)}`).then(e=>e.json()).then(n=>{if(!e){if(x(null),n.error||!n.projectRoot){o(null);return}o({forCwd:t,projectRoot:n.projectRoot,isGit:n.isGit??!1,isTopLevel:n.isTopLevel??!1,worktrees:n.worktrees??[]})}}).catch(()=>{e||(x(null),o(null))}),()=>{e=!0}},[t,O,r]);let A=(0,d.useCallback)(async()=>{let e=f.trim();if(!(!e||g||!a)){_(!0),h(null);try{let t=await fetch(`/api/worktrees`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({cwd:a.projectRoot,branch:e})}),n=await t.json().catch(()=>({}));if(!t.ok||n.error||!n.path){h(n.error??`HTTP ${t.status}`);return}D(),o(t=>t&&{...t,forCwd:n.path,worktrees:[...t.worktrees,{path:n.path,branch:e,isMain:!1}]}),i(n.path),k(e=>e+1)}catch(e){h(e instanceof Error?e.message:String(e))}finally{_(!1)}}},[D,f,g,a,i]),j=(0,d.useCallback)(async(e,n)=>{if(!(!a||g)){_(!0),h(null);try{let r=await fetch(`/api/worktrees`,{method:`DELETE`,headers:{"Content-Type":`application/json`},body:JSON.stringify({cwd:a.projectRoot,path:e,force:n})}),o=await r.json().catch(()=>({}));if(!r.ok){if(o.dirty&&!n){y(e);return}h(o.error??`HTTP ${r.status}`);return}D(),t&&e&&I9(t,e)&&i(a.projectRoot),k(e=>e+1)}catch(e){h(e instanceof Error?e.message:String(e))}finally{_(!1)}}},[D,a,g,t,i]);return(0,d.useEffect)(()=>{let e=e=>{w.current&&!w.current.contains(e.target)&&D()};return document.addEventListener(`mousedown`,e),()=>document.removeEventListener(`mousedown`,e)},[D]),{worktreeState:a,worktreeLoadingCwd:b,wtDropdownOpen:s,setWtDropdownOpen:c,wtNewOpen:l,setWtNewOpen:u,wtNewBranch:f,setWtNewBranch:p,wtError:m,setWtError:h,wtBusy:g,wtConfirmRemove:v,setWtConfirmRemove:y,wtFilter:S,setWtFilter:C,wtDropdownRef:w,wtNewInputRef:T,closeWorktrees:D,handleCreateWorktree:A,handleRemoveWorktree:j}}function hfe({selectedCwd:e,worktreeState:t,selectedProject:n,worktreeLoadingCwd:r,t:i}){let a=!!(t?.isGit&&t.isTopLevel&&e&&n===t.projectRoot),o=e&&t&&n===t.projectRoot&&!a?t.isGit?{label:i(`sidebar.openRepoRoot`),title:i(`sidebar.openRepoRootTitle`)}:{label:i(`sidebar.gitRepoRootOnly`),title:i(`sidebar.gitRepoRootOnlyTitle`)}:null,s=!!(e&&r===e);return{showWorktreeSwitcher:a,worktreeLoading:s,inactiveWorktreeSelector:o??(s&&!a?{label:i(`sidebar.worktrees`),title:i(`sidebar.checkingWorktrees`)}:null)}}function gfe({selectedSession:e,selectedSessionId:t,refreshKey:n,selectedCwdProp:r,savedWorkspaces:i,onSavedWorkspacesChange:a,onUnseenSession:o,onCwdChange:s,initialSessionId:c,skipInitialProjectSelection:l,onSelectSession:u,onInitialRestoreDone:f,onSessionDeleted:p}){let{t:m}=M(),[h,g]=(0,d.useState)(null),_=ofe({savedWorkspaces:i,onSavedWorkspacesChange:a,setSelectedCwd:g}),v=mfe({selectedCwd:h,selectedCwdProp:r,refreshKey:n,setSelectedCwd:g}),{worktreeState:y,worktreeLoadingCwd:b}=v,[x,S]=(0,d.useState)(!1),[C,w]=(0,d.useState)(``),T=(0,d.useRef)(null);(0,d.useEffect)(()=>{x&&T.current?.focus()},[x]);let{seenSessionIds:E,markSeen:D,handleUnseen:O}=pfe({onUnseenSession:o}),{unreadSessionIds:k,setUnreadSessionIds:A}=ife(),j=OY(),{runningSessionIds:N,runningPhases:ee,runningPhaseSince:te,runningRespondingSince:P,runningBusySince:ne,setRunningSessionIds:re,runningPollAuthoritativeRef:ie}=NX(),[ae,oe]=(0,d.useState)(null),{allSessions:se,loading:ce,sessionRefreshDone:le,homeDir:ue,loadSessions:de}=lfe({selectedSessionId:t,refreshKey:n,runningSessionIds:N,setUnreadSessionIds:A,setRunningSessionIds:re,runningPollAuthoritativeRef:ie,setError:oe});(0,d.useEffect)(()=>{F9(k)},[k]);let{projectRootFor:fe}=ffe({worktreeState:y,allSessions:se,selectedCwd:h,setSelectedCwd:g,onCwdChange:s,initialSessionId:c,skipInitialProjectSelection:l,onSelectSession:u,onInitialRestoreDone:f,markSeen:D}),[pe,me]=(0,d.useState)({}),[he,ge]=(0,d.useState)(null),_e=fe(h),ve=se,{showWorktreeSwitcher:ye,inactiveWorktreeSelector:be}=hfe({selectedCwd:h,worktreeState:y,selectedProject:_e,worktreeLoadingCwd:b,t:m}),{confirmDeleteGroup:xe,setConfirmDeleteGroup:Se,deleteGroupAnchor:Ce,deletingGroup:we,handleDeleteGroup:Te}=sfe({savedWorkspaces:i,onSavedWorkspacesChange:a,onSessionDeleted:p,loadSessions:de}),Ee=(0,d.useMemo)(()=>gce({filteredSessions:ve,selectedSession:e,projectRootFor:fe,selectedCwd:h,savedWorkspaces:i}),[ve,h,fe,e,i]),De=C.trim().toLowerCase(),Oe=(0,d.useMemo)(()=>_ce(Ee,De),[Ee,De]);return(0,d.useEffect)(()=>{let e=new Set;for(let t of se)e.add(t.id);for(let t of i??[])e.add(W5(t));nfe(e)},[se,i]),{t:m,selectedCwd:h,setSelectedCwd:g,selectedSessionId:t,customPath:_,wt:v,workspaceSearchOpen:x,setWorkspaceSearchOpen:S,workspaceSearchQuery:C,setWorkspaceSearchQuery:w,workspaceSearchInputRef:T,seenSessionIds:E,markSeen:D,handleUnseen:O,unreadSessionIds:k,interactionBadges:j,runningSessionIds:N,runningPhases:ee,runningPhaseSince:te,runningRespondingSince:P,runningBusySince:ne,error:ae,setError:oe,loading:ce,sessionRefreshDone:le,homeDir:ue,loadSessions:de,groupCollapsed:pe,setGroupCollapsed:me,hoveredGroup:he,setHoveredGroup:ge,selectedProject:_e,showWorktreeSwitcher:ye,inactiveWorktreeSelector:be,confirmDeleteGroup:xe,setConfirmDeleteGroup:Se,deleteGroupAnchor:Ce,deletingGroup:we,handleDeleteGroup:Te,wsQuery:De,visibleGroups:Oe}}function _fe({searchQuery:e,setSearchQuery:t,currentPath:n,hasUncommittedPath:r,canSelect:i,busy:a,onCancel:o,onSelect:s}){let{t:c}=M();return(0,T.jsx)(T.Fragment,{children:(0,T.jsxs)(`div`,{className:`directory-picker-footer`,style:{display:`flex`,justifyContent:`space-between`,alignItems:`center`,gap:10,flexShrink:0,padding:`10px 18px`,borderTop:`1px solid var(--border)`},children:[(0,T.jsxs)(`div`,{style:{display:`flex`,alignItems:`center`,gap:6,flex:1,minWidth:0},children:[(0,T.jsxs)(`svg`,{width:I.lg,height:I.lg,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`1.8`,strokeLinecap:`round`,strokeLinejoin:`round`,"aria-hidden":`true`,style:{color:`var(--text-dim)`,flexShrink:0},children:[(0,T.jsx)(`circle`,{cx:`11`,cy:`11`,r:`7`}),(0,T.jsx)(`path`,{d:`m21 21-4.3-4.3`})]}),(0,T.jsx)(zy,{className:`directory-picker-search h-8 flex-1`,type:`text`,value:e,placeholder:c(`directoryPicker.search`),"aria-label":c(`directoryPicker.search`),autoComplete:`off`,spellCheck:!1,style:sx,onChange:e=>t(e.target.value)})]}),(0,T.jsxs)(`div`,{style:{display:`flex`,alignItems:`center`,gap:10,flexShrink:0},children:[(0,T.jsx)(`button`,{className:`directory-picker-action`,type:`button`,onClick:o,disabled:a,style:{padding:`6px 14px`,border:`1px solid var(--border)`,borderRadius:6,color:`var(--text-muted)`,cursor:a?`default`:`pointer`,fontSize:`var(--text-lg)`},children:c(`i18n.cancel`)}),(0,T.jsx)(`button`,{className:`directory-picker-action`,type:`button`,onClick:()=>s(n),disabled:!i,title:c(r?`directoryPicker.openBeforeSelecting`:`directoryPicker.selectCurrentDirectory`),style:{padding:`6px 16px`,border:0,borderRadius:6,background:`var(--accent)`,color:`var(--on-accent)`,fontSize:`var(--text-lg)`,fontWeight:600,opacity:i?1:.6,cursor:i?`pointer`:`default`},children:c(a?`i18n.checking`:`directoryPicker.selectThisFolder`)})]})]})})}function vfe({loading:e,drives:t,filteredDrives:n,filteredDirectories:r,query:i,navigateTo:a,loadError:o,error:s}){let{t:c}=M();return(0,T.jsx)(T.Fragment,{children:(0,T.jsxs)(`div`,{className:`directory-picker-list`,style:{flex:1,minHeight:0,overflow:`auto`,padding:`8px 10px`},children:[e?(0,T.jsx)(`div`,{style:{padding:8,color:`var(--text-dim)`,fontSize:`var(--text-sm)`},children:c(`directoryPicker.loadingDirectories`)}):t===null?r.length>0?r.map(e=>(0,T.jsxs)(`button`,{className:`directory-picker-entry`,type:`button`,onClick:()=>void a(e.path),title:e.path,style:{width:`100%`,minHeight:30,display:`flex`,alignItems:`center`,gap:7,padding:`5px 8px`,border:0,borderRadius:5,color:`var(--text-muted)`,cursor:`pointer`,textAlign:`left`,fontFamily:`var(--font-mono)`,fontSize:`var(--text-sm)`},children:[(0,T.jsx)(cx,{}),(0,T.jsx)(`span`,{style:{overflow:`hidden`,textOverflow:`ellipsis`,whiteSpace:`nowrap`},children:e.name})]},e.path)):(0,T.jsx)(`div`,{style:{padding:8,color:`var(--text-dim)`,fontSize:`var(--text-sm)`},children:c(i?`directoryPicker.noMatches`:`directoryPicker.noSubdirectories`)}):n.length>0?n.map(e=>(0,T.jsxs)(`button`,{className:`directory-picker-entry`,type:`button`,onClick:()=>void a(e.path),title:e.path,style:{width:`100%`,minHeight:34,display:`flex`,alignItems:`center`,gap:7,padding:`6px 8px`,border:0,borderRadius:5,color:`var(--text-muted)`,cursor:`pointer`,textAlign:`left`,fontFamily:`var(--font-mono)`,fontSize:`var(--text-sm)`},children:[(0,T.jsx)(lx,{}),(0,T.jsx)(`span`,{children:e.name})]},e.path)):(0,T.jsx)(`div`,{style:{padding:8,color:`var(--text-dim)`,fontSize:`var(--text-sm)`},children:c(i?`directoryPicker.noMatches`:`directoryPicker.noDrives`)}),(o||s)&&(0,T.jsx)(`div`,{style:{padding:`8px`,color:`var(--status-error)`,fontSize:`var(--text-sm)`},children:o??s})]})})}function yfe({handlePathSubmit:e,navigateTo:t,parentDirectory:n,loading:r,canNavigateUp:i,pathInputRef:a,pathInput:o,setPathInput:s,setLoadError:c}){let{t:l}=M();return(0,T.jsx)(T.Fragment,{children:(0,T.jsxs)(`form`,{onSubmit:e,style:{display:`flex`,alignItems:`center`,gap:8,flexShrink:0,padding:`10px 14px`,borderBottom:`1px solid var(--border)`},children:[(0,T.jsx)(`button`,{className:`directory-picker-back`,type:`button`,onClick:()=>void t(n??void 0),disabled:r||!i,title:l(`directoryPicker.goToParent`),"aria-label":l(`directoryPicker.goToParent`),style:{width:36,height:36,padding:0,display:`flex`,alignItems:`center`,justifyContent:`center`,flexShrink:0,border:`1px solid var(--border)`,borderRadius:6,background:`#ffffff`,color:`var(--text-muted)`,cursor:i?`pointer`:`default`,opacity:i?1:.45},children:(0,T.jsx)(`svg`,{width:I[`3xl`],height:I[`3xl`],viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`1.8`,strokeLinecap:`round`,strokeLinejoin:`round`,"aria-hidden":`true`,children:(0,T.jsx)(`path`,{d:`m18 15-6-6-6 6`})})}),(0,T.jsx)(`label`,{htmlFor:`directory-path`,style:{position:`absolute`,width:1,height:1,padding:0,margin:-1,overflow:`hidden`,clip:`rect(0, 0, 0, 0)`,whiteSpace:`nowrap`,border:0},children:l(`directoryPicker.directoryPath`)}),(0,T.jsx)(zy,{className:`directory-picker-path h-9 flex-1 font-mono text-xs`,id:`directory-path`,type:`text`,ref:a,value:o,placeholder:`/path/to/project or ~/project`,autoComplete:`off`,spellCheck:!1,style:sx,onChange:e=>{s(e.target.value),c(null)}}),(0,T.jsx)(`button`,{className:`directory-picker-action`,type:`submit`,disabled:!o.trim(),title:l(`directoryPicker.goToDirectory`),style:{minWidth:58,height:36,padding:`0 12px`,border:`1px solid var(--border)`,borderRadius:6,background:`#ffffff`,color:`var(--text-muted)`,cursor:o.trim()?`pointer`:`default`,opacity:o.trim()?1:.6},children:l(`directoryPicker.go`)})]})})}function bfe({onCancel:e,onSelect:t,busy:n=!1,error:r}){let{t:i}=M(),[a,o]=(0,d.useState)(!0),[s,c]=(0,d.useState)(``),[l,u]=(0,d.useState)(null),[f,p]=(0,d.useState)(``),[m,h]=(0,d.useState)([]),[g,_]=(0,d.useState)(null),[v,y]=(0,d.useState)(``),[b,x]=(0,d.useState)(null),[S,C]=(0,d.useState)(!0),w=(0,d.useRef)(null),E=(0,d.useCallback)(async e=>{C(!0),x(null);try{let t=await ox(e),n=t.path??e??`/`;c(n),u(t.parentPath??null),p(n),h(t.directories??[]),_(t.drives??null),y(``)}catch(e){x(e instanceof Error?e.message:String(e))}finally{C(!1)}},[]);(0,d.useEffect)(()=>{E()},[E]);let D=e=>{e.preventDefault();let t=f.trim();t&&E(t)},O=f.trim()!==s,k=!!s&&!O&&!n,A=!!l||ux(s),j=v.trim().toLowerCase(),N=e=>!j||e.toLowerCase().includes(j),ee=g===null?[]:g.filter(e=>N(e.name)||N(e.path)),te=m.filter(e=>N(e.name));return(0,T.jsx)(xd,{open:a,onOpenChange:t=>{!t&&!n&&(o(!1),e())},children:(0,T.jsxs)(Td,{className:`directory-picker-light flex w-[520px] max-w-[calc(100vw-16px)] flex-col gap-0 overflow-hidden p-0`,style:{height:`min(620px, calc(100dvh - 16px))`},showCloseButton:!1,onPointerDownOutside:e=>{n&&e.preventDefault()},onEscapeKeyDown:e=>{n&&e.preventDefault()},onOpenAutoFocus:e=>{e.preventDefault(),w.current?.focus()},children:[(0,T.jsxs)(`div`,{style:{display:`flex`,alignItems:`center`,justifyContent:`space-between`,flexShrink:0,padding:`12px 18px`,borderBottom:`1px solid var(--border)`},children:[(0,T.jsx)(Ed,{style:{fontWeight:700,fontSize:`var(--text-2xl)`,color:`var(--text)`},children:i(`directoryPicker.selectDirectory`)}),(0,T.jsx)(Cd,{asChild:!0,children:(0,T.jsx)(`button`,{type:`button`,disabled:n,title:i(`i18n.close`),"aria-label":i(`i18n.close`),style:{padding:`2px 6px`,border:0,color:`var(--text-muted)`,fontSize:`var(--text-5xl)`,lineHeight:1,cursor:n?`default`:`pointer`,opacity:n?.5:1},children:`×`})})]}),(0,T.jsx)(yfe,{handlePathSubmit:D,navigateTo:E,parentDirectory:l,loading:S,canNavigateUp:A,pathInputRef:w,pathInput:f,setPathInput:p,setLoadError:x}),(0,T.jsx)(vfe,{loading:S,drives:g,filteredDrives:ee,filteredDirectories:te,query:j,navigateTo:E,loadError:b,error:r}),(0,T.jsx)(_fe,{searchQuery:v,setSearchQuery:y,currentPath:s,hasUncommittedPath:O,canSelect:k,busy:n,onCancel:e,onSelect:t})]})})}function xfe({title:e,label:t}){return(0,T.jsxs)(`button`,{type:`button`,"aria-disabled":`true`,tabIndex:-1,title:e,style:{width:`100%`,height:29,boxSizing:`border-box`,marginTop:6,display:`flex`,alignItems:`center`,gap:6,padding:`0 10px`,border:`1px solid var(--border)`,borderRadius:7,background:`var(--bg-hover)`,color:`var(--text-dim)`,fontSize:`var(--text-sm)`,lineHeight:1.35,whiteSpace:`nowrap`,textAlign:`left`,cursor:`default`,opacity:.82},children:[(0,T.jsxs)(`svg`,{width:I.sm,height:I.sm,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`,style:{flexShrink:0},children:[(0,T.jsx)(`line`,{x1:`6`,y1:`3`,x2:`6`,y2:`15`}),(0,T.jsx)(`circle`,{cx:`18`,cy:`6`,r:`3`}),(0,T.jsx)(`circle`,{cx:`6`,cy:`18`,r:`3`}),(0,T.jsx)(`path`,{d:`M18 9a9 9 0 0 1-9 9`})]}),(0,T.jsx)(`span`,{style:{overflow:`hidden`,textOverflow:`ellipsis`},children:t})]})}function Sfe({open:e,root:t,count:n,busy:r,anchor:i,onConfirm:a,onCancel:o}){let{t:s}=M();return(0,T.jsx)(kd,{open:e,anchor:i,title:s(`sidebar.deleteWorkspaceDialogTitle`),description:s(`sidebar.deleteWorkspace`,{name:z9(t),count:n}),confirmText:s(`sidebar.delete`),destructive:!0,busy:r,onConfirm:a,onCancel:o})}function Cfe(e){return{cursor:`pointer`,background:e?`var(--bg-hover)`:`var(--bg)`}}function wfe({hasInteraction:e,hasRunning:t,collapsed:n}){return{background:e&&n?`transparent`:t&&n?`linear-gradient(90deg, transparent 13%, color-mix(in srgb, var(--accent) 18%, transparent) 25%, transparent 37%, transparent 63%, color-mix(in srgb, var(--shine-highlight) 50%, transparent) 75%, transparent 87%)`:`transparent`,backgroundSize:t&&n&&!e?`200% 100%`:void 0,animation:e&&n?`interaction-bg-blink 0.6s ease-in-out infinite`:t&&n?`pi-status-shine 1.5s linear infinite`:void 0}}function Tfe({group:e,groupSelected:t,hoveredGroup:n,runningSessionIds:r,interactionBadges:i,collapsed:a,setHoveredGroup:o,setGroupCollapsed:s,setConfirmDeleteGroup:c,handleNewSession:l,copyText:u}){let{t:d}=M(),f=e.sessions.some(e=>r.has(e.id)),p=e.sessions.some(e=>i.has(e.id)),m=n===e.root;return(0,T.jsx)(`div`,{"data-testid":`workspace-group-header`,"data-group-root":e.root,onMouseEnter:()=>o(e.root),onMouseLeave:()=>o(null),style:{display:`flex`,alignItems:`center`,gap:4,height:40,padding:`0 2px`,boxSizing:`border-box`,fontSize:`var(--text-base)`,fontFamily:`var(--font-mono)`,color:`var(--text)`,fontWeight:600,textTransform:`none`,letterSpacing:.6,overflow:`hidden`,textOverflow:`ellipsis`,whiteSpace:`nowrap`,...Cfe(m)},onClick:()=>{s(t=>({...t,[e.root]:!t[e.root]}))},children:(0,T.jsxs)(`div`,{style:{display:`inline-flex`,alignItems:`center`,gap:6,flex:1,minWidth:0,height:38,boxSizing:`border-box`,padding:`0 8px`,border:`none`,borderRadius:0,...wfe({hasInteraction:p,hasRunning:f,collapsed:a}),boxShadow:`0 2px 8px var(--shadow-color)`,margin:`0 -2px`},children:[(0,T.jsx)(`span`,{style:{display:`inline-flex`,alignItems:`center`,justifyContent:`center`,width:I[`2xl`],flexShrink:0},children:(0,T.jsx)(Rr,{size:I[`2xl`],style:{color:t?`var(--accent)`:`var(--text-muted)`},"aria-hidden":!0})}),(0,T.jsx)(F,{label:e.root,wrapperStyle:{flex:1,minWidth:0,overflow:`hidden`},children:(0,T.jsx)(`span`,{style:{overflow:`hidden`,textOverflow:`ellipsis`,whiteSpace:`nowrap`,maxWidth:`100%`,lineHeight:`20px`},children:z9(e.root)})}),m&&(0,T.jsx)(LK,{items:[{key:`delete-workspace`,onClick:t=>{t.stopPropagation(),c(e.root,t.currentTarget.closest(`[data-testid="workspace-group-header"]`)??t.currentTarget)},title:d(`sidebar.deleteWorkspaceTitle`),testId:`delete-workspace`,danger:!0,ghost:!0,icon:(0,T.jsx)(wi,{size:I.xl})},{key:`copy-path`,onClick:t=>{t.stopPropagation(),u(e.root)},title:d(`sidebar.copyPath`),ghost:!0,icon:(0,T.jsx)(Tr,{size:I.xl})}]}),(0,T.jsx)(LK,{items:[{key:`new-session`,onClick:t=>{t.stopPropagation(),l(e.root)},title:d(`sidebar.newSessionTitle`,{path:z9(e.root)}),ghost:!0,icon:(0,T.jsx)(ci,{size:I.xl})}]})]})})}var Efe=` (Ctrl+Enter)`;function Dfe(e,t,n){return t?e.kind===`naming`?n(`title.generating`):e.kind===`success`?n(`title.updated`):`${n(`title.generateSession`)}${Efe}`:n(`title.noMessages`)}function Ofe({sessionId:e,hasMessages:t,onRenamed:n,size:r=24,ref:i}){let{t:a}=M(),[o,s]=(0,d.useState)({kind:`idle`}),c=Ty(),l=(0,d.useRef)(!0);(0,d.useEffect)(()=>(l.current=!0,()=>{l.current=!1}),[]);let u=(0,d.useCallback)(async()=>{if(!t||o.kind===`naming`)return;c.cancel(),s({kind:`naming`});let r=!1;try{let t=await Kn(`/api/sessions/${encodeURIComponent(e)}/auto-name`,{method:`POST`},{loading:`silent`});if(!t?.title)throw Error(`The server did not return a session title`);if(!l.current)return;n?.(e,t.title.trim()),r=!0,s({kind:`success`}),c.schedule(()=>s({kind:`idle`}),1800)}catch(e){jq(e,`auto-name`)}finally{!r&&l.current&&s({kind:`idle`})}},[t,o.kind,c,e,n]);(0,d.useImperativeHandle)(i,()=>({run:()=>void u()}),[u]);let f=o.kind===`success`;return(0,T.jsx)(LK,{size:r,gap:0,items:[{key:`auto-name`,testId:`session-auto-name`,title:Dfe(o,t,a),disabled:!t||o.kind===`naming`,skipHover:f,color:f?`var(--status-success)`:void 0,icon:o.kind===`naming`?(0,T.jsx)(Qr,{className:`animate-spin`,size:I.xl,"aria-hidden":`true`}):f?(0,T.jsx)(mr,{size:I.xl,"aria-hidden":`true`}):(0,T.jsx)(gi,{size:I.xl,"aria-hidden":`true`}),onClick:e=>{e.stopPropagation(),u()}}]})}function kfe(e){return e.error?e.path.split(/[\\/]/).pop()||e.id:e.name||e.firstMessage.slice(0,50)||e.id.slice(0,12)}function Afe({hasInteractionBadge:e,depth:t,confirmDelete:n,renaming:r,hovered:i,deleting:a,actionsOpen:o=!1}){return{height:54,position:`relative`,animation:e?`interaction-bg-blink 0.6s ease-in-out infinite`:void 0,display:`flex`,alignItems:`center`,paddingLeft:t>0?t*12+29:29,paddingRight:8,cursor:n||r?`default`:`pointer`,backgroundColor:n?`color-mix(in srgb, var(--status-error) 6%, transparent)`:i?`var(--bg-hover)`:`transparent`,transition:`background 0.1s`,opacity:a?.5:1,gap:6,overflow:o?`visible`:`hidden`,zIndex:o?5:void 0}}function jfe({session:e,open:t,isSeen:n,onUnseen:r,onEnter:i,dismiss:a,startRename:o,handleDeleteClick:s,anchorRef:c}){let{t:l}=M(),u=(0,d.useRef)(null),f=gd();if((0,d.useLayoutEffect)(()=>{if(!(!t||!f))try{u.current?.showPopover({source:c.current??void 0})}catch{}},[t,f,c]),!t)return null;let p=(0,T.jsx)(LK,{size:24,gap:3,ghost:!0,items:[...n&&r?[{key:`unseen`,onClick:t=>{t.stopPropagation(),a(),r(e.id)},title:l(`sidebar.disconnect`),icon:(0,T.jsx)(Di,{size:I.base})}]:[],{key:`copy-path`,onClick:t=>{t.stopPropagation(),a(),Z6(e.path)},title:l(`sidebar.copyPath`),icon:(0,T.jsx)(Tr,{size:I.base})},{key:`rename`,testId:`session-rename`,onClick:e=>{a(),o(e)},title:l(`sidebar.rename`),icon:(0,T.jsx)(ai,{size:I.xl})},{key:`delete`,testId:`session-delete`,onClick:e=>{a(),s(e)},title:l(`sidebar.deleteWithShiftClick`),danger:!0,icon:(0,T.jsx)(wi,{size:I.xl})}]});return(0,T.jsx)(`div`,{ref:u,...f?{popover:`auto`}:{},"data-testid":`session-item-actions`,onMouseEnter:i,onToggle:e=>{e.newState===`closed`&&a()},style:f?{position:`fixed`,positionArea:`bottom span-left`,justifySelf:`end`,margin:`4px 0 0`,positionTryFallbacks:`flip-block`,display:`flex`,padding:2,borderRadius:8,border:`1px solid var(--border)`,background:`var(--bg-panel)`,boxShadow:`0 6px 16px rgba(0, 0, 0, 0.18)`}:{position:`absolute`,right:0,top:`100%`,zIndex:5,display:`flex`,padding:2,borderRadius:8,border:`1px solid var(--border)`,background:`var(--bg-panel)`,boxShadow:`0 6px 16px rgba(0, 0, 0, 0.18)`},children:p})}function Mfe({collapsed:e,onToggleCollapse:t}){return(0,T.jsx)(T.Fragment,{children:(0,T.jsx)(F,{label:e?`Expand forks`:`Collapse forks`,children:(0,T.jsx)(`button`,{onClick:e=>{e.stopPropagation(),t?.()},style:{display:`flex`,alignItems:`center`,justifyContent:`center`,width:20,height:20,padding:0,flexShrink:0,border:`none`,color:`var(--text-dim)`,cursor:`pointer`,transform:e?`rotate(-90deg)`:`none`,transition:`transform 0.15s`},children:(0,T.jsx)(`svg`,{width:I.xs,height:I.xs,viewBox:`0 0 10 10`,fill:`none`,stroke:`currentColor`,strokeWidth:`1.8`,strokeLinecap:`round`,strokeLinejoin:`round`,children:(0,T.jsx)(`polyline`,{points:`2 3.5 5 6.5 8 3.5`})})})})})}function Nfe({session:e,title:t,onConfirm:n,onCancel:r}){let{t:i}=M();return(0,T.jsx)(T.Fragment,{children:(0,T.jsxs)(T.Fragment,{children:[(0,T.jsxs)(`div`,{style:{flex:1,minWidth:0},children:[(0,T.jsx)(`div`,{style:{fontSize:`var(--text-base)`,color:`var(--text)`,overflow:`hidden`,textOverflow:`ellipsis`,whiteSpace:`nowrap`},children:t}),(0,T.jsxs)(`div`,{style:{marginTop:2,display:`flex`,alignItems:`center`,gap:8,color:`var(--text-dim)`,fontSize:`var(--text-sm)`,minWidth:0,overflow:`hidden`,textOverflow:`ellipsis`,whiteSpace:`nowrap`},children:[e.error?(0,T.jsx)(V9,{session:e}):(0,T.jsx)(`span`,{title:e.modified,children:L9(e.modified,i)}),(0,T.jsx)(`span`,{children:i(`sidebar.messagesCount`,{count:e.messageCount})})]})]}),(0,T.jsxs)(`div`,{style:{display:`flex`,gap:5,flexShrink:0},children:[(0,T.jsxs)(`button`,{onClick:n,style:{display:`flex`,alignItems:`center`,justifyContent:`center`,gap:4,height:30,padding:`0 11px`,background:`var(--status-error)`,border:`none`,borderRadius:6,color:`var(--on-error)`,cursor:`pointer`,fontSize:`var(--text-base)`,fontWeight:600,whiteSpace:`nowrap`},children:[(0,T.jsx)(wi,{size:I.base}),i(`sidebar.delete`)]}),(0,T.jsx)(`button`,{onClick:r,style:{display:`flex`,alignItems:`center`,justifyContent:`center`,height:30,padding:`0 11px`,background:`var(--bg)`,border:`1px solid var(--border)`,borderRadius:6,color:`var(--text-muted)`,cursor:`pointer`,fontSize:`var(--text-base)`,fontWeight:500,whiteSpace:`nowrap`},children:i(`sidebar.cancel`)})]})]})})}function Pfe({session:e,title:t,isSelected:n,isSeen:r,isRunning:i,isUnread:a,phase:o,elapsed:s,totalElapsed:c,actionsOpen:l=!1,onActionsFocus:u,onActionsBlur:f,onActionsClose:p,onActionsToggle:m,actionsSlot:h,actionsAnchorRef:g,showActionsTrigger:_=!1}){let{t:v}=M(),y=(0,d.useRef)(null);return(0,d.useEffect)(()=>{if(!l)return;let e=e=>{let t=y.current;t&&e.target instanceof Node&&t.contains(e.target)||p?.()},t=e=>{e.key===`Escape`&&p?.()};return document.addEventListener(`pointerdown`,e,!0),document.addEventListener(`keydown`,t),()=>{document.removeEventListener(`pointerdown`,e,!0),document.removeEventListener(`keydown`,t)}},[l,p]),(0,T.jsxs)(T.Fragment,{children:[(0,T.jsxs)(`div`,{style:{flex:1,minWidth:0},children:[(0,T.jsx)(`div`,{style:{display:`flex`,alignItems:`center`,gap:5,minWidth:0,fontSize:`var(--text-base)`,fontWeight:400,lineHeight:1.4,color:r?`var(--text)`:`var(--text-dim)`,paddingRight:_?36:0},title:t,children:(0,T.jsx)(`span`,{style:{flex:1,overflow:`hidden`,textOverflow:`ellipsis`,whiteSpace:`nowrap`,minWidth:0},children:t})}),(0,T.jsxs)(`div`,{style:{marginTop:2,display:`flex`,alignItems:`center`,gap:8,color:n?`var(--text-muted)`:`var(--text-dim)`,fontSize:`var(--text-sm)`,minWidth:0,overflow:`hidden`,textOverflow:`ellipsis`,whiteSpace:`nowrap`},children:[e.error?(0,T.jsx)(V9,{session:e}):i?(0,T.jsx)(U7,{phase:o,elapsed:s,totalElapsed:c}):a?(0,T.jsx)(afe,{}):(0,T.jsx)(`span`,{title:e.modified,children:L9(e.modified,v)}),!e.error&&i?null:(0,T.jsx)(`span`,{children:v(`sidebar.messagesCount`,{count:e.messageCount})}),e.worktreeBranch&&(0,T.jsxs)(`span`,{title:`Worktree: ${e.cwd}`,style:{display:`flex`,alignItems:`center`,gap:3,color:`var(--accent)`,minWidth:0,overflow:`hidden`},children:[(0,T.jsxs)(`svg`,{width:`9`,height:`9`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2.4`,strokeLinecap:`round`,strokeLinejoin:`round`,style:{flexShrink:0},children:[(0,T.jsx)(`line`,{x1:`6`,y1:`3`,x2:`6`,y2:`15`}),(0,T.jsx)(`circle`,{cx:`18`,cy:`6`,r:`3`}),(0,T.jsx)(`circle`,{cx:`6`,cy:`18`,r:`3`}),(0,T.jsx)(`path`,{d:`M18 9a9 9 0 0 1-9 9`})]}),(0,T.jsx)(`span`,{style:{overflow:`hidden`,textOverflow:`ellipsis`,whiteSpace:`nowrap`},children:e.worktreeBranch})]})]})]}),(0,T.jsxs)(`div`,{ref:y,"data-testid":`session-actions-zone`,className:`session-actions-zone`,style:{position:`absolute`,right:8,width:32,display:`flex`,alignItems:`center`,justifyContent:`center`,top:7,..._?{opacity:1,pointerEvents:`auto`}:{}},onFocus:u,onBlur:f,children:[(0,T.jsx)(`button`,{type:`button`,ref:g,"data-testid":`session-actions-trigger`,"aria-label":v(`sidebar.actions`),"aria-expanded":l,title:v(`sidebar.actions`),onFocus:u,onClick:e=>{e.stopPropagation(),m?.()},className:`hover-shift`,style:{display:`flex`,alignItems:`center`,justifyContent:`center`,width:18,height:18,padding:0,border:`1px solid transparent`,borderRadius:`50%`,background:l?`var(--bg-selected)`:`transparent`,color:l?`var(--accent)`:`var(--text-dim)`,cursor:`pointer`,flexShrink:0,"--hover-bg":`var(--bg-selected)`,"--hover-color":`var(--accent)`,"--hover-border":`transparent`},children:(0,T.jsx)(kr,{size:I.base})}),h]})]})}function Ffe(e){return e instanceof HTMLElement&&e.closest(`[data-testid="session-auto-name"]`)!==null}function Ife({session:e,isSelected:t,isRunning:n,phase:r,phaseSince:i,respondingSince:a,busySince:o,isUnread:s,isSeen:c=!0,hasInteractionBadge:l=!1,onClick:u,onRenamed:f,onDeleted:p,onUnseen:m,depth:h=0,hasChildren:g=!1,collapsed:_=!1,onToggleCollapse:v}){let{t:y}=M(),b=FX(!!n,r?i:a),x=FX(!!n,o),[S,C]=(0,d.useState)(!1),[w,E]=(0,d.useState)(!1),[D,O]=(0,d.useState)(``),[k,A]=(0,d.useState)(!1),j=M9().get(e.id)?.status===`running`,[N,ee]=(0,d.useState)(null),[te,P]=(0,d.useState)(!1),ne=(0,d.useRef)(null),re=(0,d.useCallback)(()=>{ne.current!==null&&(clearTimeout(ne.current),ne.current=null)},[]),ie=(0,d.useCallback)(()=>{re()},[re]),ae=(0,d.useCallback)(()=>{re(),ne.current=setTimeout(()=>{ne.current=null,P(!1)},140)},[re]),oe=(0,d.useCallback)(()=>{re(),P(!1)},[re]),se=(0,d.useCallback)(()=>{re(),P(e=>!e)},[re]);(0,d.useEffect)(()=>re,[re]);let[ce,le]=(0,d.useState)(null),ue=(0,d.useRef)(null),de=kfe(e),fe=(0,d.useCallback)(t=>{t.stopPropagation(),O(e.name??``),E(!0),setTimeout(()=>ue.current?.select(),0)},[e.name]),pe=(0,d.useCallback)(async()=>{let t=D.trim();if(E(!1),t!==(e.name??``))try{await fetch(`/api/sessions/${encodeURIComponent(e.id)}`,{method:`PATCH`,headers:{"Content-Type":`application/json`},body:JSON.stringify({name:t})}),f?.()}catch{}},[D,e.id,e.name,f]),me=(0,d.useCallback)(t=>{A(!1),ee(null),N9(e.id,`session`,async n=>{let r=t===`all`?{deleteAllAuxFiles:!0}:t.length>0?{deleteAuxFiles:t}:null,i=await fetch(`/api/sessions/${encodeURIComponent(e.id)}`,{method:`DELETE`,signal:n,...r?{headers:{"Content-Type":`application/json`},body:JSON.stringify(r)}:{}});if(!i.ok)throw Error(`delete session failed: HTTP ${i.status}`)},()=>p?.(e.id))},[e.id,p]),he=(0,d.useCallback)(t=>{if(t.stopPropagation(),le(t.currentTarget.closest(`[data-testid="session-item"]`)??t.currentTarget),t.shiftKey){me(`all`);return}iY(e.id).then(e=>{e.length>0?ee(e):A(!0)})},[me,e.id]),ge=(0,d.useCallback)(e=>{e.stopPropagation(),me([])},[me]),_e=(0,d.useCallback)(e=>{e.stopPropagation(),A(!1)},[]),ve=(0,d.useCallback)(e=>{e.key===`Enter`&&pe(),e.key===`Escape`&&E(!1)},[pe]),ye=(0,d.useCallback)((e,t)=>{O(t),f?.()},[f]);return(0,T.jsxs)(T.Fragment,{children:[N!=null&&(0,T.jsx)(Tq,{open:!0,mode:`delete`,files:N,busy:j,anchor:ce,onConfirm:e=>void me(e),onCancel:()=>ee(null)}),(0,T.jsx)(`div`,{"data-testid":`session-item`,"data-session-id":e.id,onClick:k||w?void 0:u,title:l?y(`sidebar.interactionBadge`):void 0,onMouseEnter:()=>C(!0),onMouseLeave:()=>{C(!1),oe()},style:Afe({hasInteractionBadge:l,depth:h,confirmDelete:k,renaming:w,hovered:S,deleting:j,actionsOpen:te}),className:t&&!k?`row-selected-gradient`:void 0,children:(0,T.jsx)(Lfe,{session:e,title:de,inputRef:ue,isSelected:t,isSeen:c,isUnread:s,isRunning:n,phase:r,elapsed:b,totalElapsed:x,depth:h,hasChildren:g,collapsed:_,onToggleCollapse:v,confirmDelete:k,renaming:w,actionsOpen:te,showActionsTrigger:S||te,keepActionsOpen:ie,closeActionsSoon:ae,closeActions:oe,toggleActions:se,renameValue:D,onRenameChange:O,onAutoNamed:ye,commitRename:pe,handleRenameKeyDown:ve,handleDeleteClick:he,handleDeleteConfirm:ge,handleDeleteCancel:_e,startRename:fe,onUnseen:m})})]})}function Lfe({session:e,title:t,inputRef:n,isSelected:r,isSeen:i,isUnread:a,isRunning:o,phase:s,elapsed:c,totalElapsed:l,depth:u,hasChildren:f,collapsed:p,onToggleCollapse:m,confirmDelete:h,renaming:g,actionsOpen:_,showActionsTrigger:v,keepActionsOpen:y,closeActionsSoon:b,closeActions:x,toggleActions:S,renameValue:C,onRenameChange:w,commitRename:E,handleRenameKeyDown:D,onAutoNamed:O,handleDeleteClick:k,handleDeleteConfirm:A,handleDeleteCancel:j,startRename:M,onUnseen:N}){let ee=(0,d.useRef)(null),te=(0,d.useRef)(null);return h?(0,T.jsx)(Nfe,{session:e,title:t,onConfirm:A,onCancel:j}):g?(0,T.jsxs)(T.Fragment,{children:[(0,T.jsx)(`input`,{ref:n,"data-testid":`session-rename-input`,value:C,onChange:e=>w(e.target.value),onBlur:e=>{Ffe(e.relatedTarget)||E()},onKeyDown:e=>{if(e.key===`Enter`&&(e.ctrlKey||e.metaKey)){e.preventDefault(),ee.current?.run();return}D(e)},autoFocus:!0,style:{flex:1,fontSize:`var(--text-base)`,padding:`5px 8px`,border:`1px solid var(--accent)`,borderRadius:5,outline:`none`,background:`var(--bg)`,color:`var(--text)`,height:30}}),(0,T.jsx)(`span`,{onMouseDown:e=>e.preventDefault(),style:{display:`flex`,flexShrink:0},children:(0,T.jsx)(Ofe,{ref:ee,sessionId:e.id,hasMessages:e.messageCount>0,onRenamed:O})})]}):(0,T.jsxs)(T.Fragment,{children:[u>0&&(0,T.jsxs)(`svg`,{width:I.xs,height:I.xs,viewBox:`0 0 24 24`,fill:`none`,stroke:`var(--text-dim)`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`,style:{flexShrink:0},children:[(0,T.jsx)(`line`,{x1:`6`,y1:`3`,x2:`6`,y2:`15`}),(0,T.jsx)(`circle`,{cx:`18`,cy:`6`,r:`3`}),(0,T.jsx)(`circle`,{cx:`6`,cy:`18`,r:`3`}),(0,T.jsx)(`path`,{d:`M18 9a9 9 0 0 1-9 9`})]}),(0,T.jsx)(Pfe,{session:e,title:t,isSelected:r,isSeen:i,isRunning:o,isUnread:a,phase:s,elapsed:c,totalElapsed:l,actionsOpen:_,showActionsTrigger:v,onActionsFocus:y,onActionsBlur:b,onActionsClose:x,onActionsToggle:S,actionsAnchorRef:te,actionsSlot:(0,T.jsx)(jfe,{session:e,open:_,isSeen:i,onUnseen:N,onEnter:y,dismiss:x,startRename:M,handleDeleteClick:k,anchorRef:te})}),f&&(0,T.jsx)(Mfe,{collapsed:p,onToggleCollapse:m})]})}function U9({node:e,selectedSessionId:t,runningSessionIds:n,runningPhases:r,runningPhaseSince:i,runningRespondingSince:a,runningBusySince:o,unreadSessionIds:s,seenSessionIds:c,interactionBadges:l,onSelectSession:u,onRenamed:f,onSessionDeleted:p,onUnseen:m,depth:h}){let[g,_]=(0,d.useState)(!1),v=e.children.length>0;return(0,T.jsxs)(`div`,{style:{},children:[(0,T.jsxs)(`div`,{style:{position:`relative`},children:[h>0&&(0,T.jsx)(`div`,{style:{position:`absolute`,left:h*12+6,top:0,bottom:0,width:1,background:`var(--border)`,pointerEvents:`none`}}),(0,T.jsx)(Ife,{session:e.session,isSelected:e.session.id===t,isRunning:n.has(e.session.id),phase:r[e.session.id],phaseSince:i[e.session.id],respondingSince:a[e.session.id],busySince:o[e.session.id],isUnread:s.has(e.session.id),isSeen:c.has(e.session.id),hasInteractionBadge:l.has(e.session.id),onClick:()=>u(e.session),onRenamed:f,onDeleted:e=>p?.(e),onUnseen:m,depth:h,hasChildren:v,collapsed:g,onToggleCollapse:()=>_(e=>!e)})]}),v&&!g&&(0,T.jsx)(`div`,{children:e.children.map(e=>(0,T.jsx)(U9,{node:e,selectedSessionId:t,runningSessionIds:n,runningPhases:r,runningPhaseSince:i,runningRespondingSince:a,runningBusySince:o,unreadSessionIds:s,seenSessionIds:c,interactionBadges:l,onSelectSession:u,onRenamed:f,onSessionDeleted:p,onUnseen:m,depth:h+1},e.session.id))})]})}function Rfe(e){let t=new Map;for(let n of e)t.set(n.id,{session:n,children:[]});let n=new Map;for(let t of e)t.parentSessionId&&n.set(t.id,t.parentSessionId);function r(e){let r=n.get(e),i=new Set;for(;r;){if(i.has(r))return null;if(i.add(r),t.has(r))return r;r=n.get(r)}return null}let i=[];for(let e of t.values()){let n=r(e.session.id);n?t.get(n).children.push(e):i.push(e)}let a=e=>{e.sort((e,t)=>t.session.modified.localeCompare(e.session.modified)),e.forEach(e=>a(e.children))};return a(i),i}function zfe({visibleGroups:e,selectedSessionId:t,selectedProject:n,wsQuery:r,groupCollapsed:i,hoveredGroup:a,confirmDeleteGroup:o,deletingGroup:s,runningSessionIds:c,runningPhases:l,runningPhaseSince:u,runningRespondingSince:d,runningBusySince:f,unreadSessionIds:p,seenSessionIds:m,interactionBadges:h,setHoveredGroup:g,setGroupCollapsed:_,setConfirmDeleteGroup:v,deleteGroupAnchor:y,handleDeleteGroup:b,handleNewSession:x,copyText:S,handleSelectSessionFromList:C,onSessionDeleted:w,handleUnseen:E,loadSessions:D}){let{t:O}=M(),k=o?e.find(e=>e.root===o)??null:null;return(0,T.jsxs)(T.Fragment,{children:[e.map(e=>{let o=e.sessions.some(e=>e.id===t)||e.root===n;return(0,T.jsxs)(`div`,{children:[(0,T.jsx)(Tfe,{group:e,groupSelected:o,hoveredGroup:a,runningSessionIds:c,interactionBadges:h,collapsed:!!i[e.root],setHoveredGroup:g,setGroupCollapsed:_,setConfirmDeleteGroup:v,handleNewSession:x,copyText:S}),(r||!i[e.root])&&(e.sessions.length===0?(0,T.jsx)(`div`,{style:{padding:`10px 14px`,color:`var(--text-muted)`,fontSize:`var(--text-sm)`},children:O(`sidebar.noSessions`)}):Rfe(e.sessions).map(e=>(0,T.jsx)(U9,{node:e,selectedSessionId:t,runningSessionIds:c,runningPhases:l,runningPhaseSince:u,runningRespondingSince:d,runningBusySince:f,unreadSessionIds:p,seenSessionIds:m,interactionBadges:h,onSelectSession:C,onRenamed:()=>D(!1,!0),onSessionDeleted:e=>{Xde(T9(`data-session-id`,e),O(`sidebar.deletedSessionGhost`)),w?.(e),D(!1,!0)},onUnseen:E,depth:0},e.session.id)))]},e.root)}),(0,T.jsx)(Sfe,{open:!!k,root:k?.root??``,count:k?.sessions.length??0,busy:s,anchor:y,onConfirm:()=>{if(!k)return;let e=S9(T9(`data-group-root`,k.root)),t=k.sessions.length;b(k).then(n=>{n&&C9(e,O(`sidebar.deletedWorkspaceGhost`,{name:z9(k.root),count:t}))})},onCancel:()=>v(null)})]})}function Bfe({loading:e,error:t,noSearchResults:n}){let{t:r}=M();return e?(0,T.jsxs)(`div`,{style:{display:`flex`,alignItems:`center`,gap:8,padding:`16px 14px`,color:`var(--text-muted)`,fontSize:`var(--text-base)`},children:[(0,T.jsx)(`div`,{style:{width:14,height:14,border:`2px solid var(--border)`,borderTopColor:`var(--text-dim)`,borderRadius:`50%`,animation:`spin 0.8s linear infinite`,flexShrink:0}}),r(`sidebar.loading`)]}):t?(0,T.jsx)(`div`,{style:{padding:`12px 14px`,color:`var(--status-error)`,fontSize:`var(--text-base)`},children:t}):n?(0,T.jsx)(`div`,{style:{padding:`16px 14px`,color:`var(--text-muted)`,fontSize:`var(--text-base)`},children:r(`sidebar.searchSessionsNoResults`)}):null}function Vfe({searchOpen:e,onToggleSearch:t,onNewWorkspace:n,onRefresh:r,refreshDone:i}){let{t:a}=M();return(0,T.jsx)(LK,{ghost:!0,items:[{key:`search`,testId:`workspace-search-toggle`,onClick:t,title:a(`sidebar.searchSessions`),ariaPressed:e,color:e?`var(--accent)`:`var(--text-muted)`,background:e?`var(--bg-selected)`:void 0,icon:(0,T.jsx)(pi,{size:I.lg})},{key:`new-workspace`,testId:`new-workspace`,onClick:n,title:a(`sidebar.newWorkspace`),color:`var(--text-muted)`,icon:(0,T.jsx)(Lr,{size:I.xl})},{key:`refresh`,testId:`session-refresh`,onClick:r,title:a(`sidebar.refresh`),skipHover:i,color:i?`var(--status-success)`:`var(--text-muted)`,background:i?`color-mix(in srgb, var(--status-success) 18%, transparent)`:void 0,icon:i?(0,T.jsx)(mr,{size:I.xl,color:`var(--status-success)`,strokeWidth:2.5}):(0,T.jsx)(ui,{size:I.xl})}]})}function Hfe({value:e,onChange:t,onClear:n,inputRef:r}){let{t:i}=M();return(0,T.jsxs)(`div`,{"data-testid":`workspace-search`,style:{display:`flex`,alignItems:`center`,gap:4,width:`100%`,minWidth:0,padding:`4px 8px`,background:`var(--bg)`,borderBottom:`1px solid var(--border)`,boxSizing:`border-box`},children:[(0,T.jsx)(pi,{size:I.lg,color:`var(--text-muted)`,style:{flexShrink:0}}),(0,T.jsx)(`input`,{ref:r,value:e,onChange:e=>t(e.target.value),placeholder:i(`sidebar.searchSessionsPlaceholder`),"aria-label":i(`sidebar.searchSessions`),style:{flex:1,minWidth:0,background:`transparent`,border:`none`,outline:`none`,color:`var(--text)`,fontSize:`var(--text-sm)`}}),e&&(0,T.jsx)(`button`,{type:`button`,onClick:n,"aria-label":i(`chat.clearSearch`),style:{border:`none`,background:`transparent`,color:`var(--text-muted)`,cursor:`pointer`,fontSize:`var(--text-sm)`,flexShrink:0,padding:0},children:`✕`})]})}function Ufe({wtNewOpen:e,setWtNewOpen:t,wtNewBranch:n,setWtNewBranch:r,wtNewInputRef:i,handleCreateWorktree:a,wtBusy:o,setWtError:s}){let{t:c}=M();return(0,T.jsx)(T.Fragment,{children:e?(0,T.jsxs)(`div`,{style:{padding:`6px 8px`},children:[(0,T.jsx)(`input`,{ref:i,"data-testid":`worktree-new-branch-input`,value:n,onChange:e=>{r(e.target.value),s(null)},onKeyDown:e=>{e.key===`Enter`&&(e.preventDefault(),a()),e.key===`Escape`&&(t(!1),r(``),s(null))},placeholder:c(`sidebar.branchName`),style:{width:`100%`,fontSize:`var(--text-sm)`,fontFamily:`var(--font-mono)`,padding:`5px 8px`,border:`1px solid var(--accent)`,borderRadius:5,outline:`none`,background:`var(--bg)`,color:`var(--text)`,boxSizing:`border-box`}}),(0,T.jsxs)(`div`,{style:{display:`flex`,gap:5,marginTop:5},children:[(0,T.jsx)(`button`,{"data-testid":`worktree-create`,onClick:()=>void a(),disabled:o||!n.trim(),style:{flex:1,padding:`4px 0`,background:`var(--accent)`,border:`none`,borderRadius:5,color:`var(--on-accent)`,fontSize:`var(--text-sm)`,fontWeight:600,cursor:o||!n.trim()?`not-allowed`:`pointer`,opacity:o||!n.trim()?.65:1},children:c(o?`sidebar.creating`:`sidebar.create`)}),(0,T.jsx)(`button`,{onClick:()=>{t(!1),r(``),s(null)},style:{flex:1,padding:`4px 0`,background:`var(--bg-hover)`,border:`1px solid var(--border)`,borderRadius:5,color:`var(--text-muted)`,fontSize:`var(--text-sm)`,cursor:`pointer`},children:c(`sidebar.cancel`)})]})]}):(0,T.jsxs)(`button`,{"data-testid":`worktree-new`,onClick:e=>{e.stopPropagation(),t(!0),s(null),setTimeout(()=>i.current?.focus(),0)},title:c(`sidebar.createWorktreeTitle`),style:{display:`flex`,alignItems:`center`,gap:7,width:`100%`,padding:`8px 10px`,border:`none`,color:`var(--text-muted)`,cursor:`pointer`,textAlign:`left`,fontSize:`var(--text-sm)`},children:[(0,T.jsxs)(`svg`,{width:I.xs,height:I.xs,viewBox:`0 0 10 10`,fill:`none`,stroke:`currentColor`,strokeWidth:`1.1`,strokeLinecap:`round`,style:{flexShrink:0},children:[(0,T.jsx)(`line`,{x1:`5`,y1:`1`,x2:`5`,y2:`9`}),(0,T.jsx)(`line`,{x1:`1`,y1:`5`,x2:`9`,y2:`5`})]}),(0,T.jsx)(`span`,{children:c(`sidebar.newWorktree`)})]})})}function Wfe({worktrees:e,visibleWorktrees:t,selectedCwd:n,homeDir:r,wtConfirmRemove:i,setWtConfirmRemove:a,handleRemoveWorktree:o,wtBusy:s,setSelectedCwd:c,closeWorktrees:l,showWtFilter:u,wtFilter:d}){let{t:f}=M();return(0,T.jsx)(T.Fragment,{children:(0,T.jsxs)(`div`,{style:{maxHeight:`min(40vh, 300px)`,overflowY:`auto`},children:[t.map(t=>{let u=I9(t.path,n)||t.isMain&&!e.some(e=>I9(e.path,n));return i===t.path?(0,T.jsxs)(`div`,{style:{display:`flex`,alignItems:`center`,gap:6,padding:`7px 10px`,borderBottom:`1px solid var(--border)`,background:`color-mix(in srgb, var(--status-error) 6%, transparent)`},children:[(0,T.jsx)(`span`,{style:{flex:1,fontSize:`var(--text-sm)`,color:`var(--text)`,overflow:`hidden`,textOverflow:`ellipsis`,whiteSpace:`nowrap`},children:f(`sidebar.forceRemoveCheckout`)}),(0,T.jsx)(`button`,{"data-testid":`worktree-force-remove`,onClick:()=>void o(t.path,!0),disabled:s,style:{padding:`3px 9px`,background:`var(--status-error)`,border:`none`,borderRadius:5,color:`var(--on-error)`,fontSize:`var(--text-sm)`,fontWeight:600,cursor:`pointer`,flexShrink:0},children:f(`sidebar.force`)}),(0,T.jsx)(`button`,{onClick:()=>a(null),style:{padding:`3px 9px`,background:`var(--bg-hover)`,border:`1px solid var(--border)`,borderRadius:5,color:`var(--text-muted)`,fontSize:`var(--text-sm)`,cursor:`pointer`,flexShrink:0},children:f(`sidebar.cancel`)})]},t.path):(0,T.jsxs)(`div`,{className:`wt-row`,"data-testid":`worktree-row`,style:{display:`flex`,alignItems:`center`,borderBottom:`1px solid var(--border)`},children:[(0,T.jsxs)(`button`,{"data-testid":`worktree-item`,onClick:()=>{c(t.path),l()},title:t.path,style:{flex:1,minWidth:0,display:`flex`,alignItems:`center`,gap:7,padding:`8px 10px`,background:`var(--bg)`,border:`none`,color:u?`var(--text)`:`var(--text-muted)`,cursor:`pointer`,textAlign:`left`,fontSize:`var(--text-sm)`,fontFamily:`var(--font-mono)`},children:[u?(0,T.jsx)(`svg`,{width:I.xs,height:I.xs,viewBox:`0 0 10 10`,fill:`none`,stroke:`var(--accent)`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`,style:{flexShrink:0},children:(0,T.jsx)(`polyline`,{points:`1.5 5 4 7.5 8.5 2.5`})}):(0,T.jsx)(`span`,{style:{width:10,flexShrink:0}}),(0,T.jsx)(B9,{text:t.branch??R9(t.path,r),style:{flex:1}}),t.isMain&&(0,T.jsx)(`span`,{style:{flexShrink:0,color:`var(--text-dim)`,fontSize:`var(--text-xs)`},children:f(`sidebar.main`)})]}),!t.isMain&&(0,T.jsx)(`button`,{"data-testid":`worktree-remove`,onClick:()=>void o(t.path,!1),disabled:s,title:f(`sidebar.removeWorktreeTitle`,{path:t.path}),style:{display:`flex`,alignItems:`center`,justifyContent:`center`,width:34,height:28,padding:0,marginRight:4,border:`none`,color:`var(--text-dim)`,cursor:`pointer`,borderRadius:5,flexShrink:0,transition:`color 0.12s, background 0.12s`,"--hover-color":`var(--status-error)`,"--hover-bg":`color-mix(in srgb, var(--status-error) 8%, transparent)`},className:`hover-shift`,children:(0,T.jsxs)(`svg`,{width:I.base,height:I.base,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`,children:[(0,T.jsx)(`polyline`,{points:`3 6 5 6 21 6`}),(0,T.jsx)(`path`,{d:`M19 6l-1 14a2 2 0 0 1-2 2H8a2 2 0 0 1-2-2L5 6`}),(0,T.jsx)(`path`,{d:`M10 11v6M14 11v6`}),(0,T.jsx)(`path`,{d:`M9 6V4a1 1 0 0 1 1-1h4a1 1 0 0 1 1 1v2`})]})})]},t.path)}),u&&t.length===0&&d.trim()&&(0,T.jsx)(`div`,{style:{padding:`8px 10px`,fontSize:`var(--text-sm)`,color:`var(--text-dim)`},children:f(`sidebar.noMatchingWorktrees`)})]})})}function Gfe({wt:e,selectedCwd:t,homeDir:n,setSelectedCwd:r}){let{t:i}=M(),{worktreeState:a,wtFilter:o,setWtFilter:s,wtDropdownOpen:c,setWtDropdownOpen:l,wtDropdownRef:u,closeWorktrees:d,handleRemoveWorktree:f,wtConfirmRemove:p,setWtConfirmRemove:m,wtBusy:h,wtNewOpen:g,setWtNewOpen:_,wtNewBranch:v,setWtNewBranch:y,wtNewInputRef:b,handleCreateWorktree:x,wtError:S,setWtError:C}=e;if(!a)return null;let w=a.worktrees.find(e=>I9(e.path,t))??a.worktrees.find(e=>e.isMain),E=a.worktrees.length>=8,D=E&&o.trim()?a.worktrees.filter(e=>(e.branch??R9(e.path,n)).toLowerCase().includes(o.trim().toLowerCase())):a.worktrees;return(0,T.jsxs)(`div`,{ref:u,"data-testid":`worktree-switcher`,style:{position:`relative`,marginTop:6},children:[(0,T.jsxs)(`button`,{"data-testid":`worktree-switcher-trigger`,onClick:()=>l(e=>!e),title:w?i(`sidebar.switchWorktreeTitle`,{path:w.path}):i(`sidebar.switchWorktree`),style:{width:`100%`,height:29,boxSizing:`border-box`,display:`flex`,alignItems:`center`,gap:6,padding:`0 10px`,background:`var(--bg-input)`,border:`1px solid var(--border)`,borderRadius:7,cursor:`pointer`,fontSize:`var(--text-sm)`,lineHeight:1.35,color:`var(--text-muted)`,textAlign:`left`},children:[(0,T.jsxs)(`svg`,{width:I.sm,height:I.sm,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`,style:{flexShrink:0,color:w&&!w.isMain?`var(--accent)`:`var(--text-dim)`},children:[(0,T.jsx)(`line`,{x1:`6`,y1:`3`,x2:`6`,y2:`15`}),(0,T.jsx)(`circle`,{cx:`18`,cy:`6`,r:`3`}),(0,T.jsx)(`circle`,{cx:`6`,cy:`18`,r:`3`}),(0,T.jsx)(`path`,{d:`M18 9a9 9 0 0 1-9 9`})]}),(0,T.jsx)(B9,{text:w?w.branch??R9(w.path,n):`…`,style:{flex:1,fontFamily:`var(--font-mono)`,color:`var(--text)`}}),w?.isMain&&(0,T.jsx)(`span`,{style:{flexShrink:0,color:`var(--text-dim)`,fontSize:`var(--text-xs)`},children:i(`sidebar.main`)}),a.worktrees.length>1&&(0,T.jsx)(`span`,{style:{flexShrink:0,color:`var(--text-dim)`,fontSize:`var(--text-xs)`},children:a.worktrees.length}),(0,T.jsx)(`svg`,{width:`9`,height:`9`,viewBox:`0 0 10 10`,fill:`none`,stroke:`currentColor`,strokeWidth:`1.8`,strokeLinecap:`round`,strokeLinejoin:`round`,style:{flexShrink:0},children:(0,T.jsx)(`polyline`,{points:`2 3.5 5 6.5 8 3.5`})})]}),(0,T.jsxs)(dfe,{open:c,style:{position:`absolute`,top:`calc(100% + 4px)`,left:0,right:0,zIndex:100,background:`var(--bg)`,border:`1px solid var(--border)`,borderRadius:8,boxShadow:`0 6px 20px var(--shadow-color)`,overflow:`hidden`},children:[E&&(0,T.jsx)(`div`,{style:{padding:`6px 8px`,borderBottom:`1px solid var(--border)`},children:(0,T.jsx)(`input`,{value:o,onChange:e=>s(e.target.value),onKeyDown:e=>{e.key===`Escape`&&(s(``),d())},placeholder:i(`sidebar.filterWorktrees`),autoFocus:!0,style:{width:`100%`,fontSize:`var(--text-sm)`,fontFamily:`var(--font-mono)`,padding:`5px 8px`,border:`1px solid var(--border)`,borderRadius:5,outline:`none`,background:`var(--bg)`,color:`var(--text)`,boxSizing:`border-box`}})}),(0,T.jsx)(Wfe,{worktrees:a.worktrees,visibleWorktrees:D,selectedCwd:t,homeDir:n,wtConfirmRemove:p,setWtConfirmRemove:m,handleRemoveWorktree:f,wtBusy:h,setSelectedCwd:r,closeWorktrees:d,showWtFilter:E,wtFilter:o}),(0,T.jsx)(Ufe,{wtNewOpen:g,setWtNewOpen:_,wtNewBranch:v,setWtNewBranch:y,wtNewInputRef:b,handleCreateWorktree:x,wtBusy:h,setWtError:C}),S&&(0,T.jsx)(`div`,{style:{padding:`5px 10px 8px`,color:`var(--status-error)`,fontSize:`var(--text-sm)`,lineHeight:1.35,overflowWrap:`anywhere`},children:S})]})]})}function Kfe({sb:e,handleSelectSessionFromList:t,handleNewSession:n,onSessionDeleted:r}){let{t:i}=M(),{customPath:a,wt:o,selectedCwd:s,setSelectedCwd:c,homeDir:l,workspaceSearchOpen:u,setWorkspaceSearchOpen:d,workspaceSearchQuery:f,setWorkspaceSearchQuery:p,workspaceSearchInputRef:m,loadSessions:h,sessionRefreshDone:g,showWorktreeSwitcher:_,inactiveWorktreeSelector:v,loading:y,error:b,wsQuery:x,visibleGroups:S}=e;return(0,T.jsxs)(T.Fragment,{children:[a.customPathOpen&&(0,T.jsx)(bfe,{busy:a.customPathValidating,error:a.customPathError,onCancel:()=>{a.setCustomPathOpen(!1),a.setCustomPathError(null)},onSelect:e=>void a.commitCustomPath(e)}),(0,T.jsxs)(HK,{title:i(`sidebar.workspace`),open:!0,onToggle:()=>{},collapsible:!1,testId:`workspace-scroll`,hintTestId:`workspace`,scrollStyle:{flex:`1 1 auto`,minHeight:80,background:`var(--bg)`},style:{flex:1,minHeight:0},actions:(0,T.jsx)(Vfe,{searchOpen:u,onToggleSearch:()=>{u&&p(``),d(e=>!e)},onNewWorkspace:()=>a.setCustomPathOpen(!0),onRefresh:()=>h(!1,!0),refreshDone:g}),headerExtra:(0,T.jsxs)(T.Fragment,{children:[u&&(0,T.jsx)(Hfe,{value:f,onChange:p,onClear:()=>{p(``),m.current?.focus()},inputRef:m}),_&&(0,T.jsx)(Gfe,{wt:o,selectedCwd:s,homeDir:l,setSelectedCwd:c}),v&&(0,T.jsx)(xfe,{title:v.title,label:v.label})]}),children:[(0,T.jsx)(Bfe,{loading:y,error:b,noSearchResults:!y&&!b&&!!x&&S.length===0}),(0,T.jsx)(zfe,{visibleGroups:S,selectedSessionId:e.selectedSessionId,selectedProject:e.selectedProject,wsQuery:x,groupCollapsed:e.groupCollapsed,hoveredGroup:e.hoveredGroup,confirmDeleteGroup:e.confirmDeleteGroup,deletingGroup:e.deletingGroup,runningSessionIds:e.runningSessionIds,runningPhases:e.runningPhases,runningPhaseSince:e.runningPhaseSince,runningRespondingSince:e.runningRespondingSince,runningBusySince:e.runningBusySince,unreadSessionIds:e.unreadSessionIds,seenSessionIds:e.seenSessionIds,interactionBadges:e.interactionBadges,setHoveredGroup:e.setHoveredGroup,setGroupCollapsed:e.setGroupCollapsed,setConfirmDeleteGroup:e.setConfirmDeleteGroup,deleteGroupAnchor:e.deleteGroupAnchor,handleDeleteGroup:e.handleDeleteGroup,handleNewSession:n,copyText:Z6,handleSelectSessionFromList:t,onSessionDeleted:r,handleUnseen:e.handleUnseen,loadSessions:h})]})]})}function qfe({selectedSessionId:e,selectedSession:t,onSelectSession:n,onNewSession:r,initialSessionId:i,skipInitialProjectSelection:a,onInitialRestoreDone:o,refreshKey:s,onSessionDeleted:c,onUnseenSession:l,selectedCwd:u,onCwdChange:f,savedWorkspaces:p,onSavedWorkspacesChange:m,onOpenFile:h}){let{t:g}=M(),_=gfe({selectedSession:t,selectedSessionId:e,refreshKey:s,selectedCwdProp:u,savedWorkspaces:p,onSavedWorkspacesChange:m,onUnseenSession:l,onCwdChange:f,initialSessionId:i,skipInitialProjectSelection:a,onSelectSession:n,onInitialRestoreDone:o,onSessionDeleted:c}),{setError:v,loadSessions:y,markSeen:b,setSelectedCwd:x}=_,S=(0,d.useCallback)(async e=>{try{if((await fetch(`/api/sessions/${encodeURIComponent(e.id)}`,{method:`HEAD`})).status===404){v(g(`sidebar.sessionDeleted`)),y(!1,!0);return}}catch{}e.cwd&&x(e.cwd),b(e.id),n(e)},[n,g,y,b,v,x]),C=(0,d.useCallback)(e=>{let t=e??_.selectedCwd;if(!t)return;let n=typeof crypto.randomUUID==`function`?crypto.randomUUID():`${Date.now().toString(36)}-${Math.random().toString(36).slice(2)}-${Math.random().toString(36).slice(2)}`;r?.(n,t)},[_.selectedCwd,r]);return(0,T.jsxs)(`div`,{"data-testid":`session-sidebar`,style:{display:`flex`,flexDirection:`column`,height:`100%`,overflow:`hidden`,position:`relative`},children:[(0,T.jsx)(Kfe,{sb:_,handleSelectSessionFromList:S,handleNewSession:C,onSessionDeleted:e=>{c?.(e),_.loadSessions(!1,!0)}}),(0,T.jsx)($de,{})]})}function Jfe({command:e,note:t}){let{t:n}=M(),[r,i]=(0,d.useState)(!1),a=async()=>{try{await Z6(e),i(!0),setTimeout(()=>i(!1),1500)}catch{}};return(0,T.jsxs)(`div`,{style:{display:`flex`,flexDirection:`column`,gap:4},children:[(0,T.jsxs)(`div`,{style:{display:`flex`,alignItems:`center`,gap:8},children:[(0,T.jsx)(`div`,{style:{flex:1,minWidth:0,display:`flex`,alignItems:`center`,background:`var(--bg-panel)`,border:`1px solid var(--border)`,borderRadius:6,padding:`6px 8px`},children:(0,T.jsx)(`code`,{style:{flex:1,minWidth:0,overflow:`hidden`,textOverflow:`ellipsis`,whiteSpace:`nowrap`,fontFamily:`var(--font-mono)`,fontSize:`var(--text-sm)`,color:`var(--text)`},children:e})}),(0,T.jsx)(`button`,{onClick:()=>void a(),style:W9(),children:n(r?`updates.copied`:`updates.copyCommand`)})]}),(0,T.jsx)(`span`,{style:{fontSize:`var(--text-sm)`,color:`var(--text-dim)`},children:t})]})}function W9(e){return{padding:`6px 12px`,border:`1px solid var(--border)`,borderRadius:6,color:`var(--text-muted)`,cursor:e?`not-allowed`:`pointer`,fontSize:`var(--text-base)`,display:`inline-flex`,alignItems:`center`,justifyContent:`center`,gap:6,whiteSpace:`nowrap`,flexShrink:0}}function G9({title:e,subtitle:t,right:n,children:r,style:i}){return(0,T.jsxs)(`div`,{style:{border:`1px solid var(--border)`,borderRadius:10,background:`var(--bg-input)`,...i},children:[(0,T.jsxs)(`div`,{style:{display:`flex`,alignItems:`center`,justifyContent:`space-between`,gap:16,padding:`10px 14px`},children:[(0,T.jsxs)(`div`,{style:{display:`flex`,flexDirection:`column`,gap:2,minWidth:0},children:[(0,T.jsx)(`span`,{style:{fontSize:`var(--text-lg)`,color:`var(--text)`,fontWeight:500},children:e}),(0,T.jsx)(`span`,{style:{fontSize:`var(--text-sm)`,color:`var(--text-dim)`,fontFamily:`var(--font-mono)`,overflow:`hidden`,textOverflow:`ellipsis`,whiteSpace:`nowrap`},children:t})]}),(0,T.jsx)(`div`,{style:{display:`flex`,alignItems:`center`,gap:8,flexShrink:0},children:n})]}),r?(0,T.jsx)(`div`,{style:{borderTop:`1px solid var(--border)`,padding:`8px 14px 10px`},children:r}):null]})}var K9=new Map,q9=new Map,J9=new Map(K9),Y9=new Set;function X9(){J9=new Map(K9);for(let e of Y9)e()}function Yfe(e){return Y9.add(e),()=>Y9.delete(e)}function Z9(e,t){K9.set(e,t),t.status!==`running`&&q9.delete(e),X9()}function Xfe(){return(0,d.useSyncExternalStore)(Yfe,()=>J9,()=>J9)}function Q9(e){let t=!1;for(let[n,r]of K9)r.status!==`running`&&!e.has(n)&&(K9.delete(n),t=!0);t&&X9()}async function Zfe(e,t,n,r){let i=await fetch(`/api/plugins`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({action:`update`,source:e,scope:t,cwd:n}),signal:r}),a=await i.json();if(!i.ok||a.error)throw Error(a.error??`HTTP ${i.status}`);await kt.refresh(r),Et.load().catch(e=>console.error(`[pi-web] load home plugins:`,e))}function Qfe(e,t,n){if(!n||K9.get(e)?.status===`running`)return;Z9(e,{status:`running`});let r=Cp(r=>Zfe(e,t,n,r),12e4);q9.set(e,r),r.promise.then(()=>Z9(e,{status:`done`}),t=>{Z9(e,{status:`error`,error:t instanceof Error?t.message:String(t)})})}var $fe=3e4;function epe(e){let{value:t}=fo(kt),[n,r]=(0,d.useState)(null),[i,a]=(0,d.useState)(!1),[o,s]=(0,d.useState)(null),c=wp(),l=(0,d.useRef)(null),u=n??t?.enabled!==!1,f=t?.ignored??{},p=(e,t)=>t!==null&&d9(t,e)>0,m=(e,t)=>{a(!0);let n=c.start(e,$fe);l.current=n.promise,n.promise.catch(e=>{e instanceof Sp||(t?.(),s(e instanceof Error?e.message:String(e)))}).finally(()=>{l.current===n.promise&&a(!1)})},h=()=>{s(null),m(async e=>{await kt.refresh(e)})},g=(e,t)=>{s(null),t?.optimisticEnabled!==void 0&&r(t.optimisticEnabled),m(async t=>{let n=await fetch(`/api/updates-config`,{method:`PUT`,headers:{"Content-Type":`application/json`},body:JSON.stringify(e),signal:t}),r=await n.json();if(!n.ok||r.error)throw Error(r.error??`HTTP ${n.status}`);await kt.refresh(t)},()=>{t?.optimisticEnabled!==void 0&&r(null)})};return{value:t,enabled:u,ignored:f,checking:i,actionError:o,piWebUpdate:t?p(t.piWeb.current,t.piWeb.latest):!1,piWebIgnored:f[u9]===t?.piWeb.latest,toggleEnabled:e=>void g({enabled:e},{optimisticEnabled:e}),ignoreVersion:(e,t)=>void g({ignored:{[e]:t}}),updatePlugin:(t,n)=>Qfe(t,n,e),refresh:h}}function tpe({cwd:e}){let{t}=M(),{value:n,enabled:r,ignored:i,checking:a,actionError:o,piWebUpdate:s,piWebIgnored:c,toggleEnabled:l,ignoreVersion:u,updatePlugin:f,refresh:p}=epe(e),m=Xfe(),h=[...m.values()].some(e=>e.status===`running`);return(0,d.useEffect)(()=>{n&&Q9(new Set(n.plugins.map(e=>e.source)))},[n]),(0,T.jsxs)(`div`,{style:{display:`flex`,flexDirection:`column`,gap:12,padding:16},children:[(0,T.jsx)(ipe,{t,enabled:r,value:n,actionError:o,checking:a,onToggle:l,onRefresh:p}),(0,T.jsx)(G9,{style:{maxWidth:460},title:`pi-web`,subtitle:n?`${n.piWeb.current}${s?` → ${n.piWeb.latest}`:``}`:`…`,right:(0,T.jsx)(npe,{value:n,enabled:r,piWebUpdate:s,piWebIgnored:c,t,onIgnore:e=>u(u9,e)}),children:n&&s&&n.piWeb.latest!==null&&(0,T.jsx)(Jfe,{command:`npm i -g @rainmanhhh/pi-web@${n.piWeb.latest}`,note:t(`updates.restartNote`)})}),(0,T.jsx)(`div`,{style:{fontSize:`var(--text-lg)`,color:`var(--text)`,fontWeight:500,marginTop:4},children:t(`common.plugins`)}),!r||(n?.plugins.length??0)===0?(0,T.jsx)(`span`,{style:{color:`var(--text-dim)`,fontSize:`var(--text-base)`},children:t(`updates.noPluginUpdates`)}):(0,T.jsx)(`div`,{style:{display:`flex`,flexWrap:`wrap`,gap:8},children:n?.plugins.map(e=>(0,T.jsx)(G9,{style:{flex:`1 1 300px`,minWidth:280,maxWidth:`calc((100% - 16px) / 3)`},title:e.displayName,subtitle:e.latest?`${e.current} → ${e.latest}`:e.source,children:(0,T.jsx)(`div`,{style:{display:`flex`,justifyContent:`flex-end`,gap:8},children:(0,T.jsx)(rpe,{pluginIgnored:i[e.source]===`*`,busy:m.get(e.source)?.status===`running`,allBusy:h,error:m.get(e.source)?.error,t,onUpdate:()=>f(e.source,e.scope),onIgnore:t=>u(e.source,t)})})},`${e.scope}:${e.source}`))})]})}function npe({value:e,enabled:t,piWebUpdate:n,piWebIgnored:r,t:i,onIgnore:a}){return e?t?n?r?(0,T.jsxs)(T.Fragment,{children:[(0,T.jsx)(`span`,{style:{color:`var(--text-dim)`,fontSize:`var(--text-sm)`},children:i(`updates.ignored`,{version:e.piWeb.latest??``})}),(0,T.jsx)(`button`,{onClick:()=>a(null),style:W9(),children:i(`updates.unignore`)})]}):(0,T.jsxs)(T.Fragment,{children:[(0,T.jsx)(`span`,{style:{color:`var(--status-success)`,fontWeight:500},children:i(`updates.updateAvailable`)}),(0,T.jsx)(`button`,{onClick:()=>a(e.piWeb.latest),style:W9(),children:i(`updates.ignoreVersion`)})]}):e.piWeb.latest===null?(0,T.jsx)(`span`,{style:{color:`var(--text-dim)`},children:i(`updates.unavailable`)}):(0,T.jsx)(`span`,{style:{color:`var(--text-dim)`},children:i(`updates.upToDate`)}):(0,T.jsx)(`span`,{style:{color:`var(--text-dim)`},children:i(`updates.disabled`)}):null}function rpe({pluginIgnored:e,busy:t,allBusy:n,error:r,t:i,onUpdate:a,onIgnore:o}){return e?(0,T.jsxs)(T.Fragment,{children:[(0,T.jsx)(`span`,{style:{color:`var(--text-dim)`,fontSize:`var(--text-sm)`},children:i(`updates.ignoredPlugin`)}),(0,T.jsx)(`button`,{onClick:()=>o(null),style:W9(),children:i(`updates.unignore`)})]}):(0,T.jsxs)(T.Fragment,{children:[r&&(0,T.jsx)(`span`,{title:r,style:{color:`var(--status-error)`,fontSize:`var(--text-sm)`,maxWidth:160,overflow:`hidden`,textOverflow:`ellipsis`,whiteSpace:`nowrap`},children:r}),(0,T.jsxs)(`button`,{onClick:a,disabled:t,style:W9(t),children:[t&&(0,T.jsx)(Qr,{size:14,className:`animate-spin`,"aria-hidden":`true`}),i(t?`i18n.updating`:`i18n.update`)]}),(0,T.jsx)(`button`,{onClick:()=>o(`*`),disabled:n,style:W9(n),children:i(`updates.ignoreVersion`)})]})}function ipe({t:e,enabled:t,value:n,actionError:r,checking:i,onToggle:a,onRefresh:o}){let s=i||!t;return(0,T.jsxs)(`div`,{style:{display:`flex`,alignItems:`center`,gap:12},children:[(0,T.jsxs)(`label`,{title:e(`updates.enableCheckingHint`),style:{display:`flex`,alignItems:`center`,gap:8,cursor:`pointer`,fontSize:`var(--text-base)`,color:`var(--text-muted)`},children:[(0,T.jsx)(`input`,{type:`checkbox`,"data-testid":`updates-enabled-toggle`,checked:t,onChange:e=>a(e.target.checked)}),(0,T.jsx)(`span`,{children:e(`updates.enableChecking`)})]}),(0,T.jsxs)(`span`,{style:{display:`flex`,alignItems:`center`,gap:6,fontSize:`var(--text-base)`,color:`var(--text-dim)`},children:[t?n?`${e(`updates.checkedAt`)} ${new Date(n.checkedAt).toLocaleTimeString()}`:e(`updates.checking`):e(`updates.disabled`),r?` · ${r}`:``]}),(0,T.jsxs)(`button`,{onClick:o,disabled:s,style:W9(s),children:[i&&(0,T.jsx)(Qr,{size:14,className:`animate-spin`,"aria-hidden":`true`}),e(i?`updates.checking`:`updates.check`)]})]})}var ape=e=>window.history.replaceState(null,``,e);function ope(e){return e?`Pi Web · ${e}`:`Pi Web`}function spe(e,t){return e&&!t}function cpe(e,t,n){return e?t:n}function lpe(e,t){return!!(e&&t?.requiresTrust&&!t.trusted)}function upe(e,t){return e>0&&!t}function dpe(e,t){return!!(e&&t)}function fpe(e,t,n,r){t&&n(!1),r(t=>t===e?null:e)}function ppe(e,t,n){e&&t(),n(e=>!e)}function mpe(e,t,n){e&&!t&&n(!1)}function hpe(e,t,n){e?t(e=>!e):n(e=>!e)}function gpe(e){return e?nx(e)||e:null}function $9(e){return e?.id??null}function _pe(e,t){return e?.cwd??t}function vpe(e){return e?SW(e.filePath):`file:`}function ype(){let[e,t]=(0,d.useState)(!1);(0,d.useEffect)(()=>{t(!0)},[]);let[n]=(0,d.useState)(()=>WW(new URLSearchParams(window.location.search))),{isDark:r,toggleTheme:i}=PW(),{locale:a,setLocale:o,t:s,supportedLocales:c}=M(),l=mt();BW();let{settingsValue:u,defaultThinkingLevel:f,setDefaultThinkingLevel:p,compaction:m,retry:h,defaultProjectTrust:g,setDefaultProjectTrust:_,savedWorkspaces:v,handleSavedWorkspacesChange:y,widgetGeometries:b,setWidgetGeometry:x,widgetMessages:S,addWidgetMessage:C,removeWidgetMessage:w,updateWidgetMessage:E}=An({isDark:r,toggleTheme:i}),[D,O]=(0,d.useState)(null),{selectedSession:k,effectiveNewSessionCwd:A,showChat:j,projectTrustCwd:N,refreshKey:ee,sessionKey:te,explorerRefreshKey:P,setExplorerRefreshKey:ne,modelsRefreshKey:re,setModelsRefreshKey:ie,activeCwd:ae,initialCwdStatus:oe,initialCwdError:se,initialSessionRestored:ce,projectTrust:le,projectTrustDialogOpen:ue,setProjectTrustDialogOpen:de,projectTrustBusy:fe,projectTrustError:pe,setProjectTrustError:me,extensionDialogActiveRef:he,handleSelectSession:ge,handleNewSession:_e,handleSessionCreated:ve,handleAgentEnd:ye,handleSessionForked:be,handleSessionDeleted:xe,handleSessionUnseen:Se,handleCwdChange:Ce,handleTrustProject:we,handleExplorerRefresh:Te,handleInitialRestoreDone:Ee}=Zn({initialNavigation:n,onProjectSwitch:()=>{O(null),De(e=>e.filter(e=>e.kind!==`file`)),Oe(null),ape(`/`)},onSessionSelected:e=>{e||(Oe(hW),Tt(!1)),mpe(l,e,at)},onTopPanelReset:()=>O(null)}),{setSavedTabs:De,setActiveSavedId:Oe,configTabOpen:ke,configSection:Ae,setConfigSection:je,configTabActive:Me,updatesTabOpen:Ne,updatesTabActive:Pe,openUpdatesTab:Fe,noticesTabOpen:Ie,noticesTabActive:Le,openNoticesTab:Re,trajectoryTabOpen:ze,trajectoryTabActive:Be,openTrajectoryTab:Ve,branchesTabOpen:He,branchesTabActive:Ue,openBranchesTab:We,activeFileTab:Ge,fileTabs:Ke,modelConfigFocus:qe,handleOpenFile:Je,openConfigTab:Ye,handleOpenModelConfig:Xe,closeConfigTab:Ze,handleCloseMainTab:Qe}=kW({onSessionSelected:()=>{Tt(!1),l&&at(!1)},onRefreshModels:()=>ie(e=>e+1)}),{updatesBadge:$e,updateItems:et,updatesBannerDismissed:tt,setUpdatesBannerDismissed:nt}=Lde({activeCwd:ae,translate:s}),rt=(0,d.useCallback)(e=>{Je(e,nx(e),{sourceSessionId:$9(k)})},[Je,k]),[it,at]=(0,d.useState)(!0),{sidebarResizer:ot,widgetPanelResizer:st,mobileSidebarReady:lt}=Ade({isMobile:l,sidebarOpen:it,setSidebarOpen:at,translate:s}),ut=(0,d.useRef)(null),dt=(0,d.useRef)(null),ft=(0,d.useRef)(null),pt=Ty(),ht=(0,d.useCallback)(()=>{pt.schedule(()=>{O(null)},150)},[pt]),gt=pt.cancel,yt=Pde({activeTopPanel:D,isMobile:l,tabBarRef:ut,sidebarTopBarRef:dt,languageBtnRef:ft}),bt=(0,d.useCallback)(e=>fpe(e,l,at,O),[l]),xt=(0,d.useCallback)(()=>ppe(l,()=>O(null),at),[l]),{widgetPanelOpen:St,setWidgetPanelOpen:Ct,widgetsTabActive:wt,setWidgetsTabActive:Tt,extensionWidgets:Et,closedWidgets:Dt,handleCloseWidget:Ot,handleReopenWidget:kt,handleExtensionWidgetsChange:At,rightSidebarOpen:jt,setRightSidebarOpen:Mt,closedWidgetCount:Nt}=VW({widgetGeometries:b,setWidgetGeometry:x}),Pt=cpe(l,St,jt),Ft=(0,d.useRef)(null),It=(0,d.useRef)(null);(0,d.useEffect)(()=>{let e=Ft.current;if(e!==l){if(Ft.current=l,l)It.current={left:it,right:jt},at(!1),Ct(!1);else if(e===!0){let e=It.current;e&&(at(e.left),Mt(e.right))}}},[l]);let{chatInputRef:Lt,handleAtMention:Rt,handleAtMentions:zt,handleFileLineMention:Bt}=Ode(),Vt=n.sessionId;_t({onNewSession:e=>_e(`kb-${Date.now()}`,e),activeCwd:ae});let Ht=spe(ce,j),Ut=KW({translate:s,closedWidgetCount:Nt,configTabOpen:ke,updatesTabOpen:Ne,noticesTabOpen:Ie,trajectoryTabOpen:ze,branchesTabOpen:He,updatesBadge:$e,fileTabs:Ke}),Wt=gpe(ae);po(()=>{l&&ke&&Ze()},[l]);let Gt=ope(Wt),Kt=$9(k),qt=_pe(k,A);(0,d.useEffect)(()=>{UW(Gt)},[Gt]),(0,d.useEffect)(()=>{let e=()=>{UW(Gt)};return window.addEventListener(`focus`,e),()=>window.removeEventListener(`focus`,e)},[Gt]);let Jt=vt(),Yt=(0,T.jsxs)(T.Fragment,{children:[(0,T.jsx)($K,{topBarRef:dt,notifyPermission:Jt,isDark:r,toggleTheme:i,updatesBadge:$e,openUpdatesTab:Fe,openConfigTab:Ye,openNoticesTab:Re,isMobile:l,setSidebarOpen:at,activeTopPanel:D,setActiveTopPanel:O,cancelCloseTopPanel:gt,scheduleCloseTopPanel:ht,languageBtnRef:ft}),upe($e,tt)&&(0,T.jsx)(Dde,{items:et,openUpdatesTab:Fe,onDismiss:()=>nt(!0)}),(0,T.jsx)(qfe,{selectedSessionId:Kt,selectedSession:k,onSelectSession:ge,onNewSession:_e,initialSessionId:Vt,skipInitialProjectSelection:n.requestedCwd!==null,onInitialRestoreDone:Ee,refreshKey:ee,onSessionDeleted:xe,onUnseenSession:Se,selectedCwd:qt,onCwdChange:Ce,savedWorkspaces:v,onSavedWorkspacesChange:y,onOpenFile:Je})]});if(!e)return(0,T.jsx)(zde,{});let Xt=(0,T.jsx)(qK,{sidebarOpen:it,onToggle:xt}),Zt=lpe(j,le)?(0,T.jsx)(tq,{isMobile:l,onClick:()=>{me(null),de(!0)}}):null,Qt=(0,T.jsx)(Rde,{panelOpen:Pt,highlighted:St,onToggle:()=>{hpe(l,Ct,Mt)}});return(0,T.jsxs)(T.Fragment,{children:[(0,T.jsx)($n,{value:u,children:(0,T.jsx)(IW,{value:{activeTopPanel:D,toggleTopPanel:bt,closeTopPanel:()=>O(null)},children:(0,T.jsx)(T.Fragment,{children:(0,T.jsxs)(_o,{delayDuration:0,children:[(0,T.jsx)(Gde,{}),(0,T.jsxs)(ct,{children:[(0,T.jsxs)(`div`,{style:{display:`flex`,width:`100%`,height:`var(--app-viewport-height, 100dvh)`,paddingLeft:`env(safe-area-inset-left)`,paddingRight:`env(safe-area-inset-right)`,overflow:`hidden`,background:`var(--bg)`},children:[(0,T.jsx)(GK,{isMobile:l,sidebarResizer:ot,sidebarOpen:it,mobileSidebarReady:lt,setSidebarOpen:at,sidebarContent:Yt,translate:s}),(0,T.jsxs)(`div`,{style:{flex:1,display:`flex`,flexDirection:`column`,overflow:`hidden`,minWidth:0},children:[(0,T.jsx)(eq,{activeTopPanel:D,setActiveTopPanel:O,topPanelPos:yt,cancelCloseTopPanel:gt,scheduleCloseTopPanel:ht,translate:s,locale:a,setLocale:o,supportedLocales:c}),(0,T.jsxs)(JU,{tabs:Ut,activeTabId:qW({configTabActive:Me,updatesTabActive:Pe,noticesTabActive:Le,widgetsTabActive:wt,trajectoryTabActive:Be,branchesTabActive:Ue,activeFileTab:Ge}),leftExtra:Xt,rightExtra:Qt,onSelectTab:e=>{let t=JW(e);Tt(t.widgetsTabActive),Oe(t.activeSavedId)},onCloseTab:Qe,tabBarRef:ut,isMobile:l,overlay:(0,T.jsx)(GW,{initialCwdStatus:oe,requestedCwd:n.requestedCwd,initialCwdError:se,showPlaceholder:Ht,activeCwd:ae,translate:s}),children:[(0,T.jsx)(WU,{id:gW,testId:`config-tab-pane`,children:(0,T.jsx)(pue,{configSection:Ae,setConfigSection:je,projectTrustCwd:N,sessionId:Kt,closeConfigTab:Ze,handleOpenFile:Je,sidebarResizer:ot,widgetPanelResizer:st,modelConfigFocus:qe,defaultThinkingLevel:f,setDefaultThinkingLevel:p,compaction:m,retry:h,defaultProjectTrust:g,setDefaultProjectTrust:_})}),(0,T.jsx)(WU,{id:vW,testId:`updates-tab-pane`,children:(0,T.jsx)(tpe,{cwd:ae})}),(0,T.jsx)(WU,{id:xW,testId:`notices-tab-pane`,children:(0,T.jsx)(lde,{currentSessionId:Kt})}),(0,T.jsx)(WU,{id:yW,keepAlive:!0,testId:`trajectory-tab-pane`,children:(0,T.jsx)(Cde,{sessionId:Kt})}),(0,T.jsx)(WU,{id:bW,keepAlive:!0,testId:`branches-tab-pane`,children:(0,T.jsx)(Sq,{sessionId:Kt})}),(0,T.jsx)(WU,{id:vpe(Ge),testId:`file-tab-pane`,children:(0,T.jsx)(cde,{activeFileTab:Ge,activeCwd:ae,explorerRefreshKey:P,setExplorerRefreshKey:ne,handleFileLineMention:Bt,handleOpenFile:Je})}),(0,T.jsx)(WU,{id:hW,keepAlive:!0,testId:`chat-tab-pane`,scroll:`hidden`,activeWhen:j,children:(0,T.jsx)(fue,{sessionKey:te,selectedSession:k,effectiveNewSessionCwd:A,handleAgentEnd:ye,handleSessionCreated:ve,handleSessionForked:be,modelsRefreshKey:re,handleOpenModelConfig:Xe,chatInputRef:Lt,handleOpenLinkedFile:rt,onOpenTrajectory:Ve,onOpenBranches:We,activeCwdName:Wt,trustWarningElement:Zt,closedWidgets:Dt,handleCloseWidget:Ot,handleExtensionWidgetsChange:At,extensionDialogActiveRef:he})}),(0,T.jsx)(WU,{id:_W,keepAlive:!0,testId:`widgets-tab-pane`,zIndex:1,activeWhen:j,children:(0,T.jsx)(Ede,{widgetGeometries:b,widgetMessages:S,addWidgetMessage:C,removeWidgetMessage:w,updateWidgetMessage:E,extensionWidgets:Et,closedWidgets:Dt,handleReopenWidget:kt})})]})]}),(0,T.jsx)(WK,{isMobile:l,rightSidebarOpen:jt,rightSidebarOpenEffective:Pt,widgetPanelResizer:st,translate:s,cwd:qt,sessionId:Kt,handleOpenFile:Je,explorerRefreshKey:P,handleExplorerRefresh:Te,handleAtMention:Rt,handleAtMentions:zt,openConfigTab:Ye,onMobileClose:()=>Ct(!1)})]}),dpe(ue,N)&&N&&(0,T.jsx)(Jde,{cwd:N,busy:fe,error:pe,onCancel:()=>{fe||de(!1)},onConfirm:()=>void we()})]})]})})})}),(0,T.jsxs)(T.Fragment,{children:[(0,T.jsx)(Bde,{}),(0,T.jsx)(qde,{})]})]})}var bpe=class extends d.Component{constructor(...e){super(...e),this.state={hasError:!1}}static getDerivedStateFromError(){return{hasError:!0}}componentDidCatch(e){jq(e,`render error`)}render(){return this.state.hasError?(0,T.jsxs)(`div`,{style:{display:`flex`,flexDirection:`column`,alignItems:`center`,justifyContent:`center`,gap:12,height:`100vh`,color:`var(--text)`,fontSize:`var(--text-base)`},children:[(0,T.jsx)(`span`,{children:`⚠️`}),(0,T.jsx)(`span`,{children:`Something went wrong while rendering.`}),(0,T.jsx)(`button`,{type:`button`,onClick:()=>{this.setState({hasError:!1})},style:{border:`1px solid var(--border)`,color:`var(--text)`,borderRadius:6,padding:`4px 14px`,cursor:`pointer`},children:`Try again`})]}):this.props.children}};function xpe(){return(0,d.useEffect)(()=>{if(!(`serviceWorker`in navigator))return;let e=()=>{navigator.serviceWorker.register(`/sw.js?v=0.30.3`,{scope:`/`,updateViaCache:`none`}).catch(e=>{console.error(`Failed to register the Pi Web service worker:`,e)})};if(document.readyState===`complete`){e();return}return window.addEventListener(`load`,e,{once:!0}),()=>window.removeEventListener(`load`,e)},[]),null}var Spe=`piE2eFixtureDir`;function Cpe(){return typeof window>`u`?null:new URL(window.location.href).searchParams.get(`piE2eFixtureDir`)}function wpe(){if(typeof document>`u`)return;let e=Cpe();e&&(document.cookie=`${Spe}=${encodeURIComponent(e)}; path=/; SameSite=Lax`)}async function Tpe(){wpe(),Ce(!0),Ee();let e=we(`boot`),t=null;try{let n=await wt.load();e(`preferences catalog loaded`,`locale=${n.firstPaint?.locale}`);let r=n.firstPaint?.locale;(r===`en`||r===`zh-CN`)&&(t=r,document.documentElement.lang=r===`zh-CN`?`zh-CN`:`en`);let i=n.theme;if(i===`dark`?document.documentElement.classList.add(`dark`):document.documentElement.classList.remove(`dark`),i)try{localStorage.setItem(`pi-theme`,i)}catch{}}catch{}e(`root render`),window.addEventListener(`unhandledrejection`,e=>{jq(e.reason,`unhandled promise rejection`)}),window.addEventListener(`error`,e=>{let t=(e.error instanceof Error?e.error.message:``)||e.message||``;t.includes(`ResizeObserver loop`)||t.startsWith(`Script error`)||jq(e.error??e.message,`uncaught error`)}),(0,f.createRoot)(document.getElementById(`root`)).render((0,T.jsx)(d.StrictMode,{children:(0,T.jsx)(bpe,{children:(0,T.jsxs)(j,{initialLocale:t,children:[(0,T.jsx)(ype,{}),(0,T.jsx)(xpe,{})]})})}))}Tpe();export{a4 as a,w as c,Z4 as i,i as l,q6 as n,XD as o,X6 as r,M as s,E3 as t};
|