@telepath-computer/television 0.1.128 → 0.1.142
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/canonical/v1/components.js +83 -0
- package/dist/canonical/v1/styles.css +0 -2
- package/dist/cli.cjs +2092 -6806
- package/dist/onboarding/television-onboarding/assets/television.svg +71 -0
- package/dist/onboarding/television-onboarding/index.html +203 -0
- package/dist/skills/television/SKILL.md +135 -180
- package/dist/skills/{television-calendar → tv-calendar}/SKILL.md +4 -5
- package/dist/skills/{television-table → tv-table}/SKILL.md +1 -1
- package/dist/skills/{television-theme → tv-theme}/SKILL.md +10 -10
- package/dist/views/markdown/index.html +20 -18
- package/dist/web/assets/artifact-bridge-C9leJZpr.js +1 -0
- package/dist/web/assets/clouds-CAYIArXj.jpg +0 -0
- package/dist/web/assets/favicon-DaYMFRha.svg +71 -0
- package/dist/web/assets/main-DxIXVlLQ.css +1 -0
- package/dist/web/assets/main-L9xlsQn4.js +706 -0
- package/dist/web/assets/urlUnsupported-DBXzijdI.js +1 -0
- package/dist/web/index.html +4 -2
- package/dist/web/views/url-unsupported/index.html +97 -0
- package/package.json +1 -1
- package/dist/web/assets/index-BvBbQr_I.js +0 -709
- package/dist/web/assets/index-C__bLj7I.css +0 -1
- package/dist/web/assets/wallpaper-s-ICws44wH.jpg +0 -0
- /package/dist/skills/{television-calendar → tv-calendar}/calendar.css +0 -0
- /package/dist/skills/{television-calendar → tv-calendar}/calendar.js +0 -0
|
@@ -0,0 +1,706 @@
|
|
|
1
|
+
var Z0=Object.defineProperty;var Cp=n=>{throw TypeError(n)};var W0=(n,t,e)=>t in n?Z0(n,t,{enumerable:!0,configurable:!0,writable:!0,value:e}):n[t]=e;var g=(n,t,e)=>W0(n,typeof t!="symbol"?t+"":t,e),Mc=(n,t,e)=>t.has(n)||Cp("Cannot "+e);var l=(n,t,e)=>(Mc(n,t,"read from private field"),e?e.call(n):t.get(n)),S=(n,t,e)=>t.has(n)?Cp("Cannot add the same private member more than once"):t instanceof WeakSet?t.add(n):t.set(n,e),w=(n,t,e,r)=>(Mc(n,t,"write to private field"),r?r.call(n,e):t.set(n,e),e),p=(n,t,e)=>(Mc(n,t,"access private method"),e);var Rp=(n,t,e,r)=>({set _(i){w(n,t,i,e)},get _(){return l(n,t,r)}});import{i as Pp,a as Dp,b as B0,U as j0,c as V0,d as G0,e as q0}from"./artifact-bridge-C9leJZpr.js";var gr=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function Y0(n){if(n.__esModule)return n;var t=n.default;if(typeof t=="function"){var e=function r(){return this instanceof r?Reflect.construct(t,arguments,this.constructor):t.apply(this,arguments)};e.prototype=t.prototype}else e={};return Object.defineProperty(e,"__esModule",{value:!0}),Object.keys(n).forEach(function(r){var i=Object.getOwnPropertyDescriptor(n,r);Object.defineProperty(e,r,i.get?i:{enumerable:!0,get:function(){return n[r]}})}),e}var Lp=Object.prototype.toString,Om=function(t){var e=Lp.call(t),r=e==="[object Arguments]";return r||(r=e!=="[object Array]"&&t!==null&&typeof t=="object"&&typeof t.length=="number"&&t.length>=0&&Lp.call(t.callee)==="[object Function]"),r},Nc,zp;function K0(){if(zp)return Nc;zp=1;var n;if(!Object.keys){var t=Object.prototype.hasOwnProperty,e=Object.prototype.toString,r=Om,i=Object.prototype.propertyIsEnumerable,s=!i.call({toString:null},"toString"),o=i.call(function(){},"prototype"),a=["toString","toLocaleString","valueOf","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","constructor"],c=function(y){var m=y.constructor;return m&&m.prototype===y},u={$applicationCache:!0,$console:!0,$external:!0,$frame:!0,$frameElement:!0,$frames:!0,$innerHeight:!0,$innerWidth:!0,$onmozfullscreenchange:!0,$onmozfullscreenerror:!0,$outerHeight:!0,$outerWidth:!0,$pageXOffset:!0,$pageYOffset:!0,$parent:!0,$scrollLeft:!0,$scrollTop:!0,$scrollX:!0,$scrollY:!0,$self:!0,$webkitIndexedDB:!0,$webkitStorageInfo:!0,$window:!0},h=function(){if(typeof window>"u")return!1;for(var y in window)try{if(!u["$"+y]&&t.call(window,y)&&window[y]!==null&&typeof window[y]=="object")try{c(window[y])}catch{return!0}}catch{return!0}return!1}(),f=function(y){if(typeof window>"u"||!h)return c(y);try{return c(y)}catch{return!1}};n=function(m){var E=m!==null&&typeof m=="object",x=e.call(m)==="[object Function]",I=r(m),P=E&&e.call(m)==="[object String]",R=[];if(!E&&!x&&!I)throw new TypeError("Object.keys called on a non-object");var B=o&&x;if(P&&m.length>0&&!t.call(m,0))for(var N=0;N<m.length;++N)R.push(String(N));if(I&&m.length>0)for(var F=0;F<m.length;++F)R.push(String(F));else for(var Y in m)!(B&&Y==="prototype")&&t.call(m,Y)&&R.push(String(Y));if(s)for(var V=f(m),ce=0;ce<a.length;++ce)!(V&&a[ce]==="constructor")&&t.call(m,a[ce])&&R.push(a[ce]);return R}}return Nc=n,Nc}var J0=Array.prototype.slice,X0=Om,Op=Object.keys,Ga=Op?function(t){return Op(t)}:K0(),Mp=Object.keys;Ga.shim=function(){if(Object.keys){var t=function(){var e=Object.keys(arguments);return e&&e.length===arguments.length}(1,2);t||(Object.keys=function(r){return X0(r)?Mp(J0.call(r)):Mp(r)})}else Object.keys=Ga;return Object.keys||Ga};var Q0=Ga,qa=Object.defineProperty||!1;if(qa)try{qa({},"a",{value:1})}catch{qa=!1}var oa=qa,$n=SyntaxError,K=TypeError,eS=Object.getOwnPropertyDescriptor,Ya=eS;if(Ya)try{Ya([],"length")}catch{Ya=null}var ds=Ya,Np=oa,tS=$n,ai=K,Up=ds,Mm=function(t,e,r){if(!t||typeof t!="object"&&typeof t!="function")throw new ai("`obj` must be an object or a function`");if(typeof e!="string"&&typeof e!="symbol")throw new ai("`property` must be a string or a symbol`");if(arguments.length>3&&typeof arguments[3]!="boolean"&&arguments[3]!==null)throw new ai("`nonEnumerable`, if provided, must be a boolean or null");if(arguments.length>4&&typeof arguments[4]!="boolean"&&arguments[4]!==null)throw new ai("`nonWritable`, if provided, must be a boolean or null");if(arguments.length>5&&typeof arguments[5]!="boolean"&&arguments[5]!==null)throw new ai("`nonConfigurable`, if provided, must be a boolean or null");if(arguments.length>6&&typeof arguments[6]!="boolean")throw new ai("`loose`, if provided, must be a boolean");var i=arguments.length>3?arguments[3]:null,s=arguments.length>4?arguments[4]:null,o=arguments.length>5?arguments[5]:null,a=arguments.length>6?arguments[6]:!1,c=!!Up&&Up(t,e);if(Np)Np(t,e,{configurable:o===null&&c?c.configurable:!o,enumerable:i===null&&c?c.enumerable:!i,value:r,writable:s===null&&c?c.writable:!s});else if(a||!i&&!s&&!o)t[e]=r;else throw new tS("This environment does not support defining a property as non-configurable, non-writable, or non-enumerable.")},zu=oa,Nm=function(){return!!zu};Nm.hasArrayLengthDefineBug=function(){if(!zu)return null;try{return zu([],"length",{value:1}).length!==1}catch{return!0}};var ic=Nm,nS=Q0,rS=typeof Symbol=="function"&&typeof Symbol("foo")=="symbol",iS=Object.prototype.toString,sS=Array.prototype.concat,Fp=Mm,oS=function(n){return typeof n=="function"&&iS.call(n)==="[object Function]"},Um=ic(),aS=function(n,t,e,r){if(t in n){if(r===!0){if(n[t]===e)return}else if(!oS(r)||!r())return}Um?Fp(n,t,e,!0):Fp(n,t,e)},Fm=function(n,t){var e=arguments.length>2?arguments[2]:{},r=nS(t);rS&&(r=sS.call(r,Object.getOwnPropertySymbols(t)));for(var i=0;i<r.length;i+=1)aS(n,r[i],t[r[i]],e[r[i]])};Fm.supportsDescriptors=!!Um;var Jr=Fm,Ka={exports:{}};typeof self<"u"?Ka.exports=self:typeof window<"u"?Ka.exports=window:Ka.exports=Function("return this")();var Hm=Ka.exports,lS=Hm,Zm=function(){return typeof gr!="object"||!gr||gr.Math!==Math||gr.Array!==Array?lS:gr},cS=Jr,uS=ds,hS=Zm,dS=function(){var t=hS();if(cS.supportsDescriptors){var e=uS(t,"globalThis");(!e||e.configurable&&(e.enumerable||!e.writable||globalThis!==t))&&Object.defineProperty(t,"globalThis",{configurable:!0,enumerable:!1,value:t,writable:!0})}else(typeof globalThis!="object"||globalThis!==t)&&(t.globalThis=t);return t},pS=Jr,fS=Hm,Wm=Zm,gS=dS,mS=Wm(),Bm=function(){return mS};pS(Bm,{getPolyfill:Wm,implementation:fS,shim:gS});var td=Bm,Tn=function(t){return!!t&&(typeof t=="function"||typeof t=="object")},nd=Object,jm=Error,vS=EvalError,yS=RangeError,rd=ReferenceError,bS=URIError,wS=Math.abs,SS=Math.floor,_S=Math.max,kS=Math.min,xS=Math.pow,ES=Math.round,id=Number.isNaN||function(t){return t!==t},AS=id,$S=function(t){return AS(t)||t===0?t:t<0?-1:1},ps=function(){if(typeof Symbol!="function"||typeof Object.getOwnPropertySymbols!="function")return!1;if(typeof Symbol.iterator=="symbol")return!0;var t={},e=Symbol("test"),r=Object(e);if(typeof e=="string"||Object.prototype.toString.call(e)!=="[object Symbol]"||Object.prototype.toString.call(r)!=="[object Symbol]")return!1;var i=42;t[e]=i;for(var s in t)return!1;if(typeof Object.keys=="function"&&Object.keys(t).length!==0||typeof Object.getOwnPropertyNames=="function"&&Object.getOwnPropertyNames(t).length!==0)return!1;var o=Object.getOwnPropertySymbols(t);if(o.length!==1||o[0]!==e||!Object.prototype.propertyIsEnumerable.call(t,e))return!1;if(typeof Object.getOwnPropertyDescriptor=="function"){var a=Object.getOwnPropertyDescriptor(t,e);if(a.value!==i||a.enumerable!==!0)return!1}return!0},Hp=typeof Symbol<"u"&&Symbol,TS=ps,sd=function(){return typeof Hp!="function"||typeof Symbol!="function"||typeof Hp("foo")!="symbol"||typeof Symbol("bar")!="symbol"?!1:TS()},Vm=typeof Reflect<"u"&&Reflect.getPrototypeOf||null,IS=nd,Gm=IS.getPrototypeOf||null,CS="Function.prototype.bind called on incompatible ",RS=Object.prototype.toString,PS=Math.max,DS="[object Function]",Zp=function(t,e){for(var r=[],i=0;i<t.length;i+=1)r[i]=t[i];for(var s=0;s<e.length;s+=1)r[s+t.length]=e[s];return r},LS=function(t,e){for(var r=[],i=e,s=0;i<t.length;i+=1,s+=1)r[s]=t[i];return r},zS=function(n,t){for(var e="",r=0;r<n.length;r+=1)e+=n[r],r+1<n.length&&(e+=t);return e},OS=function(t){var e=this;if(typeof e!="function"||RS.apply(e)!==DS)throw new TypeError(CS+e);for(var r=LS(arguments,1),i,s=function(){if(this instanceof i){var h=e.apply(this,Zp(r,arguments));return Object(h)===h?h:this}return e.apply(t,Zp(r,arguments))},o=PS(0,e.length-r.length),a=[],c=0;c<o;c++)a[c]="$"+c;if(i=Function("binder","return function ("+zS(a,",")+"){ return binder.apply(this,arguments); }")(s),e.prototype){var u=function(){};u.prototype=e.prototype,i.prototype=new u,u.prototype=null}return i},MS=OS,aa=Function.prototype.bind||MS,od=Function.prototype.call,Uc,Wp;function ad(){return Wp||(Wp=1,Uc=Function.prototype.apply),Uc}var NS=typeof Reflect<"u"&&Reflect&&Reflect.apply,US=aa,FS=ad(),HS=od,ZS=NS,qm=ZS||US.call(HS,FS),WS=aa,BS=K,jS=od,VS=qm,sc=function(t){if(t.length<1||typeof t[0]!="function")throw new BS("a function is required");return VS(WS,jS,t)},GS=sc,Bp=ds,Ym;try{Ym=[].__proto__===Array.prototype}catch(n){if(!n||typeof n!="object"||!("code"in n)||n.code!=="ERR_PROTO_ACCESS")throw n}var Fc=!!Ym&&Bp&&Bp(Object.prototype,"__proto__"),Km=Object,jp=Km.getPrototypeOf,qS=Fc&&typeof Fc.get=="function"?GS([Fc.get]):typeof jp=="function"?function(t){return jp(t==null?t:Km(t))}:!1,Vp=Vm,Gp=Gm,qp=qS,Jm=Vp?function(t){return Vp(t)}:Gp?function(t){if(!t||typeof t!="object"&&typeof t!="function")throw new TypeError("getProto: not an object");return Gp(t)}:qp?function(t){return qp(t)}:null,YS=Function.prototype.call,KS=Object.prototype.hasOwnProperty,JS=aa,In=JS.call(YS,KS),q,XS=nd,QS=jm,e_=vS,t_=yS,n_=rd,os=$n,Ii=K,r_=bS,i_=wS,s_=SS,o_=_S,a_=kS,l_=xS,c_=ES,u_=$S,Xm=Function,Hc=function(n){try{return Xm('"use strict"; return ('+n+").constructor;")()}catch{}},no=ds,h_=oa,Zc=function(){throw new Ii},d_=no?function(){try{return arguments.callee,Zc}catch{try{return no(arguments,"callee").get}catch{return Zc}}}():Zc,li=sd(),De=Jm,p_=Gm,f_=Vm,Qm=ad(),la=od,fi={},g_=typeof Uint8Array>"u"||!De?q:De(Uint8Array),Zr={__proto__:null,"%AggregateError%":typeof AggregateError>"u"?q:AggregateError,"%Array%":Array,"%ArrayBuffer%":typeof ArrayBuffer>"u"?q:ArrayBuffer,"%ArrayIteratorPrototype%":li&&De?De([][Symbol.iterator]()):q,"%AsyncFromSyncIteratorPrototype%":q,"%AsyncFunction%":fi,"%AsyncGenerator%":fi,"%AsyncGeneratorFunction%":fi,"%AsyncIteratorPrototype%":fi,"%Atomics%":typeof Atomics>"u"?q:Atomics,"%BigInt%":typeof BigInt>"u"?q:BigInt,"%BigInt64Array%":typeof BigInt64Array>"u"?q:BigInt64Array,"%BigUint64Array%":typeof BigUint64Array>"u"?q:BigUint64Array,"%Boolean%":Boolean,"%DataView%":typeof DataView>"u"?q:DataView,"%Date%":Date,"%decodeURI%":decodeURI,"%decodeURIComponent%":decodeURIComponent,"%encodeURI%":encodeURI,"%encodeURIComponent%":encodeURIComponent,"%Error%":QS,"%eval%":eval,"%EvalError%":e_,"%Float16Array%":typeof Float16Array>"u"?q:Float16Array,"%Float32Array%":typeof Float32Array>"u"?q:Float32Array,"%Float64Array%":typeof Float64Array>"u"?q:Float64Array,"%FinalizationRegistry%":typeof FinalizationRegistry>"u"?q:FinalizationRegistry,"%Function%":Xm,"%GeneratorFunction%":fi,"%Int8Array%":typeof Int8Array>"u"?q:Int8Array,"%Int16Array%":typeof Int16Array>"u"?q:Int16Array,"%Int32Array%":typeof Int32Array>"u"?q:Int32Array,"%isFinite%":isFinite,"%isNaN%":isNaN,"%IteratorPrototype%":li&&De?De(De([][Symbol.iterator]())):q,"%JSON%":typeof JSON=="object"?JSON:q,"%Map%":typeof Map>"u"?q:Map,"%MapIteratorPrototype%":typeof Map>"u"||!li||!De?q:De(new Map()[Symbol.iterator]()),"%Math%":Math,"%Number%":Number,"%Object%":XS,"%Object.getOwnPropertyDescriptor%":no,"%parseFloat%":parseFloat,"%parseInt%":parseInt,"%Promise%":typeof Promise>"u"?q:Promise,"%Proxy%":typeof Proxy>"u"?q:Proxy,"%RangeError%":t_,"%ReferenceError%":n_,"%Reflect%":typeof Reflect>"u"?q:Reflect,"%RegExp%":RegExp,"%Set%":typeof Set>"u"?q:Set,"%SetIteratorPrototype%":typeof Set>"u"||!li||!De?q:De(new Set()[Symbol.iterator]()),"%SharedArrayBuffer%":typeof SharedArrayBuffer>"u"?q:SharedArrayBuffer,"%String%":String,"%StringIteratorPrototype%":li&&De?De(""[Symbol.iterator]()):q,"%Symbol%":li?Symbol:q,"%SyntaxError%":os,"%ThrowTypeError%":d_,"%TypedArray%":g_,"%TypeError%":Ii,"%Uint8Array%":typeof Uint8Array>"u"?q:Uint8Array,"%Uint8ClampedArray%":typeof Uint8ClampedArray>"u"?q:Uint8ClampedArray,"%Uint16Array%":typeof Uint16Array>"u"?q:Uint16Array,"%Uint32Array%":typeof Uint32Array>"u"?q:Uint32Array,"%URIError%":r_,"%WeakMap%":typeof WeakMap>"u"?q:WeakMap,"%WeakRef%":typeof WeakRef>"u"?q:WeakRef,"%WeakSet%":typeof WeakSet>"u"?q:WeakSet,"%Function.prototype.call%":la,"%Function.prototype.apply%":Qm,"%Object.defineProperty%":h_,"%Object.getPrototypeOf%":p_,"%Math.abs%":i_,"%Math.floor%":s_,"%Math.max%":o_,"%Math.min%":a_,"%Math.pow%":l_,"%Math.round%":c_,"%Math.sign%":u_,"%Reflect.getPrototypeOf%":f_};if(De)try{null.error}catch(n){var m_=De(De(n));Zr["%Error.prototype%"]=m_}var v_=function n(t){var e;if(t==="%AsyncFunction%")e=Hc("async function () {}");else if(t==="%GeneratorFunction%")e=Hc("function* () {}");else if(t==="%AsyncGeneratorFunction%")e=Hc("async function* () {}");else if(t==="%AsyncGenerator%"){var r=n("%AsyncGeneratorFunction%");r&&(e=r.prototype)}else if(t==="%AsyncIteratorPrototype%"){var i=n("%AsyncGenerator%");i&&De&&(e=De(i.prototype))}return Zr[t]=e,e},Yp={__proto__:null,"%ArrayBufferPrototype%":["ArrayBuffer","prototype"],"%ArrayPrototype%":["Array","prototype"],"%ArrayProto_entries%":["Array","prototype","entries"],"%ArrayProto_forEach%":["Array","prototype","forEach"],"%ArrayProto_keys%":["Array","prototype","keys"],"%ArrayProto_values%":["Array","prototype","values"],"%AsyncFunctionPrototype%":["AsyncFunction","prototype"],"%AsyncGenerator%":["AsyncGeneratorFunction","prototype"],"%AsyncGeneratorPrototype%":["AsyncGeneratorFunction","prototype","prototype"],"%BooleanPrototype%":["Boolean","prototype"],"%DataViewPrototype%":["DataView","prototype"],"%DatePrototype%":["Date","prototype"],"%ErrorPrototype%":["Error","prototype"],"%EvalErrorPrototype%":["EvalError","prototype"],"%Float32ArrayPrototype%":["Float32Array","prototype"],"%Float64ArrayPrototype%":["Float64Array","prototype"],"%FunctionPrototype%":["Function","prototype"],"%Generator%":["GeneratorFunction","prototype"],"%GeneratorPrototype%":["GeneratorFunction","prototype","prototype"],"%Int8ArrayPrototype%":["Int8Array","prototype"],"%Int16ArrayPrototype%":["Int16Array","prototype"],"%Int32ArrayPrototype%":["Int32Array","prototype"],"%JSONParse%":["JSON","parse"],"%JSONStringify%":["JSON","stringify"],"%MapPrototype%":["Map","prototype"],"%NumberPrototype%":["Number","prototype"],"%ObjectPrototype%":["Object","prototype"],"%ObjProto_toString%":["Object","prototype","toString"],"%ObjProto_valueOf%":["Object","prototype","valueOf"],"%PromisePrototype%":["Promise","prototype"],"%PromiseProto_then%":["Promise","prototype","then"],"%Promise_all%":["Promise","all"],"%Promise_reject%":["Promise","reject"],"%Promise_resolve%":["Promise","resolve"],"%RangeErrorPrototype%":["RangeError","prototype"],"%ReferenceErrorPrototype%":["ReferenceError","prototype"],"%RegExpPrototype%":["RegExp","prototype"],"%SetPrototype%":["Set","prototype"],"%SharedArrayBufferPrototype%":["SharedArrayBuffer","prototype"],"%StringPrototype%":["String","prototype"],"%SymbolPrototype%":["Symbol","prototype"],"%SyntaxErrorPrototype%":["SyntaxError","prototype"],"%TypedArrayPrototype%":["TypedArray","prototype"],"%TypeErrorPrototype%":["TypeError","prototype"],"%Uint8ArrayPrototype%":["Uint8Array","prototype"],"%Uint8ClampedArrayPrototype%":["Uint8ClampedArray","prototype"],"%Uint16ArrayPrototype%":["Uint16Array","prototype"],"%Uint32ArrayPrototype%":["Uint32Array","prototype"],"%URIErrorPrototype%":["URIError","prototype"],"%WeakMapPrototype%":["WeakMap","prototype"],"%WeakSetPrototype%":["WeakSet","prototype"]},ca=aa,Sl=In,y_=ca.call(la,Array.prototype.concat),b_=ca.call(Qm,Array.prototype.splice),Kp=ca.call(la,String.prototype.replace),_l=ca.call(la,String.prototype.slice),w_=ca.call(la,RegExp.prototype.exec),S_=/[^%.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|%$))/g,__=/\\(\\)?/g,k_=function(t){var e=_l(t,0,1),r=_l(t,-1);if(e==="%"&&r!=="%")throw new os("invalid intrinsic syntax, expected closing `%`");if(r==="%"&&e!=="%")throw new os("invalid intrinsic syntax, expected opening `%`");var i=[];return Kp(t,S_,function(s,o,a,c){i[i.length]=a?Kp(c,__,"$1"):o||s}),i},x_=function(t,e){var r=t,i;if(Sl(Yp,r)&&(i=Yp[r],r="%"+i[0]+"%"),Sl(Zr,r)){var s=Zr[r];if(s===fi&&(s=v_(r)),typeof s>"u"&&!e)throw new Ii("intrinsic "+t+" exists, but is not available. Please file an issue!");return{alias:i,name:r,value:s}}throw new os("intrinsic "+t+" does not exist!")},kt=function(t,e){if(typeof t!="string"||t.length===0)throw new Ii("intrinsic name must be a non-empty string");if(arguments.length>1&&typeof e!="boolean")throw new Ii('"allowMissing" argument must be a boolean');if(w_(/^%?[^%]*%?$/,t)===null)throw new os("`%` may not be present anywhere but at the beginning and end of the intrinsic name");var r=k_(t),i=r.length>0?r[0]:"",s=x_("%"+i+"%",e),o=s.name,a=s.value,c=!1,u=s.alias;u&&(i=u[0],b_(r,y_([0,1],u)));for(var h=1,f=!0;h<r.length;h+=1){var y=r[h],m=_l(y,0,1),E=_l(y,-1);if((m==='"'||m==="'"||m==="`"||E==='"'||E==="'"||E==="`")&&m!==E)throw new os("property names with quotes must have matching quotes");if((y==="constructor"||!f)&&(c=!0),i+="."+y,o="%"+i+"%",Sl(Zr,o))a=Zr[o];else if(a!=null){if(!(y in a)){if(!e)throw new Ii("base intrinsic for "+t+" exists, but the property is not available.");return}if(no&&h+1>=r.length){var x=no(a,y);f=!!x,f&&"get"in x&&!("originalValue"in x.get)?a=x.get:a=a[y]}else f=Sl(a,y),a=a[y];f&&!c&&(Zr[o]=a)}}return a},Wc,Jp;function tr(){if(Jp)return Wc;Jp=1;var n=kt,t=sc,e=t([n("%String.prototype.indexOf%")]);return Wc=function(i,s){var o=n(i,!!s);return typeof o=="function"&&e(i,".prototype.")>-1?t([o]):o},Wc}var Bc,Xp;function ld(){if(Xp)return Bc;Xp=1;var n=kt,t=n("%Array%"),e=!t.isArray&&tr()("Object.prototype.toString");return Bc=t.isArray||function(i){return e(i)==="[object Array]"},Bc}var E_=ic,Qp=oa,ev=E_.hasArrayLengthDefineBug(),A_=ev&&ld(),$_=tr(),T_=$_("Object.prototype.propertyIsEnumerable"),cd=function(t,e,r,i,s,o){if(!Qp){if(!t(o)||!o["[[Configurable]]"]||!o["[[Writable]]"]||s in i&&T_(i,s)!==!!o["[[Enumerable]]"])return!1;var a=o["[[Value]]"];return i[s]=a,e(i[s],a)}return ev&&s==="length"&&"[[Value]]"in o&&A_(i)&&i.length!==o["[[Value]]"]?(i.length=o["[[Value]]"],i.length===o["[[Value]]"]):(Qp(i,s,r(o)),!0)},I_=K,$s=In,C_={__proto__:null,"[[Configurable]]":!0,"[[Enumerable]]":!0,"[[Get]]":!0,"[[Set]]":!0,"[[Value]]":!0,"[[Writable]]":!0},fs=function(t){if(!t||typeof t!="object")return!1;for(var e in t)if($s(t,e)&&!C_[e])return!1;var r=$s(t,"[[Value]]")||$s(t,"[[Writable]]"),i=$s(t,"[[Get]]")||$s(t,"[[Set]]");if(r&&i)throw new I_("Property Descriptors may not be both accessor and data descriptors");return!0},tv=function(t){if(typeof t>"u")return t;var e={};return"[[Value]]"in t&&(e.value=t["[[Value]]"]),"[[Writable]]"in t&&(e.writable=!!t["[[Writable]]"]),"[[Get]]"in t&&(e.get=t["[[Get]]"]),"[[Set]]"in t&&(e.set=t["[[Set]]"]),"[[Enumerable]]"in t&&(e.enumerable=!!t["[[Enumerable]]"]),"[[Configurable]]"in t&&(e.configurable=!!t["[[Configurable]]"]),e},R_=K,P_=fs,D_=tv,nv=function(t){if(typeof t<"u"&&!P_(t))throw new R_("Assertion failed: `Desc` must be a Property Descriptor");return D_(t)},L_=K,ef=In,z_=fs,rv=function(t){if(typeof t>"u")return!1;if(!z_(t))throw new L_("Assertion failed: `Desc` must be a Property Descriptor");return!(!ef(t,"[[Value]]")&&!ef(t,"[[Writable]]"))},gs=function(t){return typeof t=="string"||typeof t=="symbol"},tf=id,iv=function(t,e){return t===e?t===0?1/t===1/e:!0:tf(t)&&tf(e)},nf=K,O_=Tn,M_=cd,N_=nv,U_=rv,F_=gs,H_=iv,ud=function(t,e,r){if(!O_(t))throw new nf("Assertion failed: Type(O) is not Object");if(!F_(e))throw new nf("Assertion failed: P is not a Property Key");var i={"[[Configurable]]":!0,"[[Enumerable]]":!1,"[[Value]]":r,"[[Writable]]":!0};return M_(U_,H_,N_,t,e,i)},sv=Function.prototype.toString,xi=typeof Reflect=="object"&&Reflect!==null&&Reflect.apply,Ou,Ja;if(typeof xi=="function"&&typeof Object.defineProperty=="function")try{Ou=Object.defineProperty({},"length",{get:function(){throw Ja}}),Ja={},xi(function(){throw 42},null,Ou)}catch(n){n!==Ja&&(xi=null)}else xi=null;var Z_=/^\s*class\b/,Mu=function(t){try{var e=sv.call(t);return Z_.test(e)}catch{return!1}},jc=function(t){try{return Mu(t)?!1:(sv.call(t),!0)}catch{return!1}},Xa=Object.prototype.toString,W_="[object Object]",B_="[object Function]",j_="[object GeneratorFunction]",V_="[object HTMLAllCollection]",G_="[object HTML document.all class]",q_="[object HTMLCollection]",Y_=typeof Symbol=="function"&&!!Symbol.toStringTag,K_=!(0 in[,]),Nu=function(){return!1};if(typeof document=="object"){var J_=document.all;Xa.call(J_)===Xa.call(document.all)&&(Nu=function(t){if((K_||!t)&&(typeof t>"u"||typeof t=="object"))try{var e=Xa.call(t);return(e===V_||e===G_||e===q_||e===W_)&&t("")==null}catch{}return!1})}var ov=xi?function(t){if(Nu(t))return!0;if(!t||typeof t!="function"&&typeof t!="object")return!1;try{xi(t,null,Ou)}catch(e){if(e!==Ja)return!1}return!Mu(t)&&jc(t)}:function(t){if(Nu(t))return!0;if(!t||typeof t!="function"&&typeof t!="object")return!1;if(Y_)return jc(t);if(Mu(t))return!1;var e=Xa.call(t);return e!==B_&&e!==j_&&!/^\[object HTML/.test(e)?!1:jc(t)},X_=ov,Q_=function(t){return!!t},Ft=In,Ia=K,ek=Tn,rf=X_,Vc=Q_,tk=function(t){if(!ek(t))throw new Ia("ToPropertyDescriptor requires an object");var e={};if(Ft(t,"enumerable")&&(e["[[Enumerable]]"]=Vc(t.enumerable)),Ft(t,"configurable")&&(e["[[Configurable]]"]=Vc(t.configurable)),Ft(t,"value")&&(e["[[Value]]"]=t.value),Ft(t,"writable")&&(e["[[Writable]]"]=Vc(t.writable)),Ft(t,"get")){var r=t.get;if(typeof r<"u"&&!rf(r))throw new Ia("getter must be a function");e["[[Get]]"]=r}if(Ft(t,"set")){var i=t.set;if(typeof i<"u"&&!rf(i))throw new Ia("setter must be a function");e["[[Set]]"]=i}if((Ft(e,"[[Get]]")||Ft(e,"[[Set]]"))&&(Ft(e,"[[Value]]")||Ft(e,"[[Writable]]")))throw new Ia("Invalid property descriptor. Cannot both specify accessors and a value or writable attribute");return e},Gc=K,nk=Tn,sf=fs,rk=cd,ik=nv,sk=rv,ok=gs,ak=iv,lk=tk,ck=function(t,e,r){if(!nk(t))throw new Gc("Assertion failed: Type(O) is not Object");if(!ok(e))throw new Gc("Assertion failed: P is not a Property Key");var i=sf(r)?r:lk(r);if(!sf(i))throw new Gc("Assertion failed: Desc is not a valid Property Descriptor");return rk(sk,ak,ik,t,e,i)},of=K,uk=Tn,hk=ck,dk=gs,pk=function(t,e,r){if(!uk(t))throw new of("Assertion failed: Type(O) is not Object");if(!dk(e))throw new of("Assertion failed: P is not a Property Key");var i={"[[Configurable]]":!0,"[[Enumerable]]":!1,"[[Value]]":r,"[[Writable]]":!0};return hk(t,e,i)},fk=typeof Reflect<"u"&&Reflect.setPrototypeOf||null,gk=nd,mk=gk.setPrototypeOf||null,vk=sc,af=ds,yk=K,av={};try{av.__proto__=null}catch(n){if(!n||typeof n!="object"||!("code"in n)||n.code!=="ERR_PROTO_ACCESS")throw n}var bk=!("toString"in av),qc=af&&af(Object.prototype,"__proto__"),wk=bk&&(!!qc&&typeof qc.set=="function"&&vk([qc.set])||function(t,e){if(t==null)throw new yk("set Object.prototype.__proto__ called on null or undefined");return t.__proto__=e,e}),lf=fk,Sk=mk,cf=wk,_k=K,kk=lf?function(t,e){if(lf(t,e))return t;throw new _k("Reflect.setPrototypeOf: failed to set [[Prototype]]")}:Sk||(cf?function(t,e){return cf(t,e),t}:null),uf=K,xk=Tn,hf=Jm,Ek=function(t){if(!xk(t))throw new uf("Assertion failed: O must be an Object");if(!hf)throw new uf("This environment does not support fetching prototypes.");return hf(t)},Ak=K,$k=kk,Tk=Tn,Ik=Ek,Ck=function(t,e){if(e!==null&&!Tk(e))throw new Ak("Assertion failed: V must be Object or Null");try{$k(t,e)}catch{return!1}return Ik(t)===e},Yc=ud,df=pk,lv=Ck,Rk=ic(),hd=jm;function ua(n,t,e){var r=new hd(e);return lv(r,Qa),delete r.constructor,df(r,"error",n),df(r,"suppressed",t),r}Rk&&Object.defineProperty(ua,"prototype",{writable:!1});var Qa=ua.prototype;if(!Yc(Qa,"constructor",ua)||!Yc(Qa,"message","")||!Yc(Qa,"name","SuppressedError"))throw new hd("unable to install SuppressedError.prototype properties; please report this!");lv(ua.prototype,hd.prototype);var Pk=ua,Dk=Pk,cv=function(){return typeof SuppressedError=="function"?SuppressedError:Dk},Lk=Jr,pf=td(),zk=cv,Ok=function(){var t=zk();return Lk(pf,{SuppressedError:t},{SuppressedError:function(){return pf.SuppressedError!==t}}),t};Ok();var Mk=K,Nk=fs,Uk=tv,Fk=function(t){if(typeof t<"u"&&!Nk(t))throw new Mk("Assertion failed: `Desc` must be a Property Descriptor");return Uk(t)},Hk=K,ff=In,Zk=fs,Wk=function(t){if(typeof t>"u")return!1;if(!Zk(t))throw new Hk("Assertion failed: `Desc` must be a Property Descriptor");return!(!ff(t,"[[Value]]")&&!ff(t,"[[Writable]]"))},gf=id,Bk=function(t,e){return t===e?t===0?1/t===1/e:!0:gf(t)&&gf(e)},ms=ov,jk=function(t){return!!t},Ht=In,Ca=K,Vk=Tn,mf=ms,Kc=jk,Gk=function(t){if(!Vk(t))throw new Ca("ToPropertyDescriptor requires an object");var e={};if(Ht(t,"enumerable")&&(e["[[Enumerable]]"]=Kc(t.enumerable)),Ht(t,"configurable")&&(e["[[Configurable]]"]=Kc(t.configurable)),Ht(t,"value")&&(e["[[Value]]"]=t.value),Ht(t,"writable")&&(e["[[Writable]]"]=Kc(t.writable)),Ht(t,"get")){var r=t.get;if(typeof r<"u"&&!mf(r))throw new Ca("getter must be a function");e["[[Get]]"]=r}if(Ht(t,"set")){var i=t.set;if(typeof i<"u"&&!mf(i))throw new Ca("setter must be a function");e["[[Set]]"]=i}if((Ht(e,"[[Get]]")||Ht(e,"[[Set]]"))&&(Ht(e,"[[Value]]")||Ht(e,"[[Writable]]")))throw new Ca("Invalid property descriptor. Cannot both specify accessors and a value or writable attribute");return e},Jc=K,qk=Tn,vf=fs,Yk=cd,Kk=Fk,Jk=Wk,Xk=gs,Qk=Bk,ex=Gk,ha=function(t,e,r){if(!qk(t))throw new Jc("Assertion failed: Type(O) is not Object");if(!Xk(e))throw new Jc("Assertion failed: P is not a Property Key");var i=vf(r)?r:ex(r);if(!vf(i))throw new Jc("Assertion failed: Desc is not a valid Property Descriptor");return Yk(Jk,Qk,Kk,t,e,i)},tx=ps(),nx=tx?Symbol.dispose||Symbol("Symbol.dispose"):null,rx=ps,ix=nx,dd=function(){return rx()&&Symbol.dispose||ix},sx=sd,ox=ha,ax=dd,lx=function(){var t=ax();return sx()&&ox(Symbol,"dispose",{"[[Configurable]]":!1,"[[Enumerable]]":!1,"[[Writable]]":!1,"[[Value]]":t}),t},cx=ps(),ux=cx?Symbol.asyncDispose||Symbol("Symbol.asyncDispose"):null,hx=ps,dx=ux,pd=function(){return hx()&&Symbol.asyncDispose||dx},px=sd,fx=ha,gx=pd,mx=function(){var t=gx();return px()&&fx(Symbol,"asyncDispose",{"[[Configurable]]":!1,"[[Enumerable]]":!1,"[[Writable]]":!1,"[[Value]]":t}),t},vx=ld(),yx=kt,bx=tr(),wx=K,Sx=vx,_x=yx("%Reflect.apply%",!0)||bx("Function.prototype.apply"),oc=function(t,e){var r=arguments.length>2?arguments[2]:[];if(!Sx(r))throw new wx("Assertion failed: optional `argumentsList`, if provided, must be a List");return _x(t,e,r)};const kx={},xx=Object.freeze(Object.defineProperty({__proto__:null,default:kx},Symbol.toStringTag,{value:"Module"})),Ex=Y0(xx);var fd=typeof Map=="function"&&Map.prototype,Xc=Object.getOwnPropertyDescriptor&&fd?Object.getOwnPropertyDescriptor(Map.prototype,"size"):null,kl=fd&&Xc&&typeof Xc.get=="function"?Xc.get:null,yf=fd&&Map.prototype.forEach,gd=typeof Set=="function"&&Set.prototype,Qc=Object.getOwnPropertyDescriptor&&gd?Object.getOwnPropertyDescriptor(Set.prototype,"size"):null,xl=gd&&Qc&&typeof Qc.get=="function"?Qc.get:null,bf=gd&&Set.prototype.forEach,Ax=typeof WeakMap=="function"&&WeakMap.prototype,Ks=Ax?WeakMap.prototype.has:null,$x=typeof WeakSet=="function"&&WeakSet.prototype,Js=$x?WeakSet.prototype.has:null,Tx=typeof WeakRef=="function"&&WeakRef.prototype,wf=Tx?WeakRef.prototype.deref:null,Ix=Boolean.prototype.valueOf,Cx=Object.prototype.toString,Rx=Function.prototype.toString,Px=String.prototype.match,md=String.prototype.slice,Gn=String.prototype.replace,Dx=String.prototype.toUpperCase,Sf=String.prototype.toLowerCase,uv=RegExp.prototype.test,_f=Array.prototype.concat,an=Array.prototype.join,Lx=Array.prototype.slice,kf=Math.floor,Uu=typeof BigInt=="function"?BigInt.prototype.valueOf:null,eu=Object.getOwnPropertySymbols,Fu=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?Symbol.prototype.toString:null,as=typeof Symbol=="function"&&typeof Symbol.iterator=="object",Xs=typeof Symbol=="function"&&Symbol.toStringTag&&(typeof Symbol.toStringTag===as||!0)?Symbol.toStringTag:null,hv=Object.prototype.propertyIsEnumerable,xf=(typeof Reflect=="function"?Reflect.getPrototypeOf:Object.getPrototypeOf)||([].__proto__===Array.prototype?function(n){return n.__proto__}:null);function Ef(n,t){if(n===1/0||n===-1/0||n!==n||n&&n>-1e3&&n<1e3||uv.call(/e/,t))return t;var e=/[0-9](?=(?:[0-9]{3})+(?![0-9]))/g;if(typeof n=="number"){var r=n<0?-kf(-n):kf(n);if(r!==n){var i=String(r),s=md.call(t,i.length+1);return Gn.call(i,e,"$&_")+"."+Gn.call(Gn.call(s,/([0-9]{3})/g,"$&_"),/_$/,"")}}return Gn.call(t,e,"$&_")}var Hu=Ex,Af=Hu.custom,$f=fv(Af)?Af:null,dv={__proto__:null,double:'"',single:"'"},zx={__proto__:null,double:/(["\\])/g,single:/(['\\])/g},vs=function n(t,e,r,i){var s=e||{};if(yn(s,"quoteStyle")&&!yn(dv,s.quoteStyle))throw new TypeError('option "quoteStyle" must be "single" or "double"');if(yn(s,"maxStringLength")&&(typeof s.maxStringLength=="number"?s.maxStringLength<0&&s.maxStringLength!==1/0:s.maxStringLength!==null))throw new TypeError('option "maxStringLength", if provided, must be a positive integer, Infinity, or `null`');var o=yn(s,"customInspect")?s.customInspect:!0;if(typeof o!="boolean"&&o!=="symbol")throw new TypeError("option \"customInspect\", if provided, must be `true`, `false`, or `'symbol'`");if(yn(s,"indent")&&s.indent!==null&&s.indent!==" "&&!(parseInt(s.indent,10)===s.indent&&s.indent>0))throw new TypeError('option "indent" must be "\\t", an integer > 0, or `null`');if(yn(s,"numericSeparator")&&typeof s.numericSeparator!="boolean")throw new TypeError('option "numericSeparator", if provided, must be `true` or `false`');var a=s.numericSeparator;if(typeof t>"u")return"undefined";if(t===null)return"null";if(typeof t=="boolean")return t?"true":"false";if(typeof t=="string")return mv(t,s);if(typeof t=="number"){if(t===0)return 1/0/t>0?"0":"-0";var c=String(t);return a?Ef(t,c):c}if(typeof t=="bigint"){var u=String(t)+"n";return a?Ef(t,u):u}var h=typeof s.depth>"u"?5:s.depth;if(typeof r>"u"&&(r=0),r>=h&&h>0&&typeof t=="object")return Zu(t)?"[Array]":"[Object]";var f=Qx(s,r);if(typeof i>"u")i=[];else if(gv(i,t)>=0)return"[Circular]";function y(Mt,Cn,Ec){if(Cn&&(i=Lx.call(i),i.push(Cn)),Ec){var wa={depth:s.depth};return yn(s,"quoteStyle")&&(wa.quoteStyle=s.quoteStyle),n(Mt,wa,r+1,i)}return n(Mt,s,r+1,i)}if(typeof t=="function"&&!Tf(t)){var m=Bx(t),E=Ra(t,y);return"[Function"+(m?": "+m:" (anonymous)")+"]"+(E.length>0?" { "+an.call(E,", ")+" }":"")}if(fv(t)){var x=as?Gn.call(String(t),/^(Symbol\(.*\))_[^)]*$/,"$1"):Fu.call(t);return typeof t=="object"&&!as?Ts(x):x}if(Kx(t)){for(var I="<"+Sf.call(String(t.nodeName)),P=t.attributes||[],R=0;R<P.length;R++)I+=" "+P[R].name+"="+pv(Ox(P[R].value),"double",s);return I+=">",t.childNodes&&t.childNodes.length&&(I+="..."),I+="</"+Sf.call(String(t.nodeName))+">",I}if(Zu(t)){if(t.length===0)return"[]";var B=Ra(t,y);return f&&!Xx(B)?"["+Wu(B,f)+"]":"[ "+an.call(B,", ")+" ]"}if(Nx(t)){var N=Ra(t,y);return!("cause"in Error.prototype)&&"cause"in t&&!hv.call(t,"cause")?"{ ["+String(t)+"] "+an.call(_f.call("[cause]: "+y(t.cause),N),", ")+" }":N.length===0?"["+String(t)+"]":"{ ["+String(t)+"] "+an.call(N,", ")+" }"}if(typeof t=="object"&&o){if($f&&typeof t[$f]=="function"&&Hu)return Hu(t,{depth:h-r});if(o!=="symbol"&&typeof t.inspect=="function")return t.inspect()}if(jx(t)){var F=[];return yf&&yf.call(t,function(Mt,Cn){F.push(y(Cn,t,!0)+" => "+y(Mt,t))}),If("Map",kl.call(t),F,f)}if(qx(t)){var Y=[];return bf&&bf.call(t,function(Mt){Y.push(y(Mt,t))}),If("Set",xl.call(t),Y,f)}if(Vx(t))return tu("WeakMap");if(Yx(t))return tu("WeakSet");if(Gx(t))return tu("WeakRef");if(Fx(t))return Ts(y(Number(t)));if(Zx(t))return Ts(y(Uu.call(t)));if(Hx(t))return Ts(Ix.call(t));if(Ux(t))return Ts(y(String(t)));if(typeof window<"u"&&t===window)return"{ [object Window] }";if(typeof globalThis<"u"&&t===globalThis||typeof gr<"u"&&t===gr)return"{ [object globalThis] }";if(!Mx(t)&&!Tf(t)){var V=Ra(t,y),ce=xf?xf(t)===Object.prototype:t instanceof Object||t.constructor===Object,Et=t instanceof Object?"":"null prototype",sr=!ce&&Xs&&Object(t)===t&&Xs in t?md.call(nr(t),8,-1):Et?"Object":"",ze=ce||typeof t.constructor!="function"?"":t.constructor.name?t.constructor.name+" ":"",or=ze+(sr||Et?"["+an.call(_f.call([],sr||[],Et||[]),": ")+"] ":"");return V.length===0?or+"{}":f?or+"{"+Wu(V,f)+"}":or+"{ "+an.call(V,", ")+" }"}return String(t)};function pv(n,t,e){var r=e.quoteStyle||t,i=dv[r];return i+n+i}function Ox(n){return Gn.call(String(n),/"/g,""")}function Xr(n){return!Xs||!(typeof n=="object"&&(Xs in n||typeof n[Xs]<"u"))}function Zu(n){return nr(n)==="[object Array]"&&Xr(n)}function Mx(n){return nr(n)==="[object Date]"&&Xr(n)}function Tf(n){return nr(n)==="[object RegExp]"&&Xr(n)}function Nx(n){return nr(n)==="[object Error]"&&Xr(n)}function Ux(n){return nr(n)==="[object String]"&&Xr(n)}function Fx(n){return nr(n)==="[object Number]"&&Xr(n)}function Hx(n){return nr(n)==="[object Boolean]"&&Xr(n)}function fv(n){if(as)return n&&typeof n=="object"&&n instanceof Symbol;if(typeof n=="symbol")return!0;if(!n||typeof n!="object"||!Fu)return!1;try{return Fu.call(n),!0}catch{}return!1}function Zx(n){if(!n||typeof n!="object"||!Uu)return!1;try{return Uu.call(n),!0}catch{}return!1}var Wx=Object.prototype.hasOwnProperty||function(n){return n in this};function yn(n,t){return Wx.call(n,t)}function nr(n){return Cx.call(n)}function Bx(n){if(n.name)return n.name;var t=Px.call(Rx.call(n),/^function\s*([\w$]+)/);return t?t[1]:null}function gv(n,t){if(n.indexOf)return n.indexOf(t);for(var e=0,r=n.length;e<r;e++)if(n[e]===t)return e;return-1}function jx(n){if(!kl||!n||typeof n!="object")return!1;try{kl.call(n);try{xl.call(n)}catch{return!0}return n instanceof Map}catch{}return!1}function Vx(n){if(!Ks||!n||typeof n!="object")return!1;try{Ks.call(n,Ks);try{Js.call(n,Js)}catch{return!0}return n instanceof WeakMap}catch{}return!1}function Gx(n){if(!wf||!n||typeof n!="object")return!1;try{return wf.call(n),!0}catch{}return!1}function qx(n){if(!xl||!n||typeof n!="object")return!1;try{xl.call(n);try{kl.call(n)}catch{return!0}return n instanceof Set}catch{}return!1}function Yx(n){if(!Js||!n||typeof n!="object")return!1;try{Js.call(n,Js);try{Ks.call(n,Ks)}catch{return!0}return n instanceof WeakSet}catch{}return!1}function Kx(n){return!n||typeof n!="object"?!1:typeof HTMLElement<"u"&&n instanceof HTMLElement?!0:typeof n.nodeName=="string"&&typeof n.getAttribute=="function"}function mv(n,t){if(n.length>t.maxStringLength){var e=n.length-t.maxStringLength,r="... "+e+" more character"+(e>1?"s":"");return mv(md.call(n,0,t.maxStringLength),t)+r}var i=zx[t.quoteStyle||"single"];i.lastIndex=0;var s=Gn.call(Gn.call(n,i,"\\$1"),/[\x00-\x1f]/g,Jx);return pv(s,"single",t)}function Jx(n){var t=n.charCodeAt(0),e={8:"b",9:"t",10:"n",12:"f",13:"r"}[t];return e?"\\"+e:"\\x"+(t<16?"0":"")+Dx.call(t.toString(16))}function Ts(n){return"Object("+n+")"}function tu(n){return n+" { ? }"}function If(n,t,e,r){var i=r?Wu(e,r):an.call(e,", ");return n+" ("+t+") {"+i+"}"}function Xx(n){for(var t=0;t<n.length;t++)if(gv(n[t],`
|
|
2
|
+
`)>=0)return!1;return!0}function Qx(n,t){var e;if(n.indent===" ")e=" ";else if(typeof n.indent=="number"&&n.indent>0)e=an.call(Array(n.indent+1)," ");else return null;return{base:e,prev:an.call(Array(t+1),e)}}function Wu(n,t){if(n.length===0)return"";var e=`
|
|
3
|
+
`+t.prev+t.base;return e+an.call(n,","+e)+`
|
|
4
|
+
`+t.prev}function Ra(n,t){var e=Zu(n),r=[];if(e){r.length=n.length;for(var i=0;i<n.length;i++)r[i]=yn(n,i)?t(n[i],n):""}var s=typeof eu=="function"?eu(n):[],o;if(as){o={};for(var a=0;a<s.length;a++)o["$"+s[a]]=s[a]}for(var c in n)yn(n,c)&&(e&&String(Number(c))===c&&c<n.length||as&&o["$"+c]instanceof Symbol||(uv.call(/[^\w$]/,c)?r.push(t(c,n)+": "+t(n[c],n)):r.push(c+": "+t(n[c],n))));if(typeof eu=="function")for(var u=0;u<s.length;u++)hv.call(n,s[u])&&r.push("["+t(s[u])+"]: "+t(n[s[u]],n));return r}var eE=vs,tE=K,ac=function(n,t,e){for(var r=n,i;(i=r.next)!=null;r=i)if(i.key===t)return r.next=i.next,e||(i.next=n.next,n.next=i),i},nE=function(n,t){if(n){var e=ac(n,t);return e&&e.value}},rE=function(n,t,e){var r=ac(n,t);r?r.value=e:n.next={key:t,next:n.next,value:e}},iE=function(n,t){return n?!!ac(n,t):!1},sE=function(n,t){if(n)return ac(n,t,!0)},oE=function(){var t,e={assert:function(r){if(!e.has(r))throw new tE("Side channel does not contain "+eE(r))},delete:function(r){var i=t&&t.next,s=sE(t,r);return s&&i&&i===s&&(t=void 0),!!s},get:function(r){return nE(t,r)},has:function(r){return iE(t,r)},set:function(r,i){t||(t={next:void 0}),rE(t,r,i)}};return e},aE=kt,da=tr(),lE=vs,cE=K,Cf=aE("%Map%",!0),uE=da("Map.prototype.get",!0),hE=da("Map.prototype.set",!0),dE=da("Map.prototype.has",!0),pE=da("Map.prototype.delete",!0),fE=da("Map.prototype.size",!0),vv=!!Cf&&function(){var t,e={assert:function(r){if(!e.has(r))throw new cE("Side channel does not contain "+lE(r))},delete:function(r){if(t){var i=pE(t,r);return fE(t)===0&&(t=void 0),i}return!1},get:function(r){if(t)return uE(t,r)},has:function(r){return t?dE(t,r):!1},set:function(r,i){t||(t=new Cf),hE(t,r,i)}};return e},gE=kt,lc=tr(),mE=vs,Pa=vv,vE=K,ci=gE("%WeakMap%",!0),yE=lc("WeakMap.prototype.get",!0),bE=lc("WeakMap.prototype.set",!0),wE=lc("WeakMap.prototype.has",!0),SE=lc("WeakMap.prototype.delete",!0),_E=ci?function(){var t,e,r={assert:function(i){if(!r.has(i))throw new vE("Side channel does not contain "+mE(i))},delete:function(i){if(ci&&i&&(typeof i=="object"||typeof i=="function")){if(t)return SE(t,i)}else if(Pa&&e)return e.delete(i);return!1},get:function(i){return ci&&i&&(typeof i=="object"||typeof i=="function")&&t?yE(t,i):e&&e.get(i)},has:function(i){return ci&&i&&(typeof i=="object"||typeof i=="function")&&t?wE(t,i):!!e&&e.has(i)},set:function(i,s){ci&&i&&(typeof i=="object"||typeof i=="function")?(t||(t=new ci),bE(t,i,s)):Pa&&(e||(e=Pa()),e.set(i,s))}};return r}:Pa,kE=K,xE=vs,EE=oE,AE=vv,$E=_E,TE=$E||AE||EE,IE=function(){var t,e={assert:function(r){if(!e.has(r))throw new kE("Side channel does not contain "+xE(r))},delete:function(r){return!!t&&t.delete(r)},get:function(r){return t&&t.get(r)},has:function(r){return!!t&&t.has(r)},set:function(r,i){t||(t=TE()),t.set(r,i)}};return e},CE=In,Is=IE(),fn=K,vd={assert:function(n,t){if(!n||typeof n!="object"&&typeof n!="function")throw new fn("`O` is not an object");if(typeof t!="string")throw new fn("`slot` must be a string");if(Is.assert(n),!vd.has(n,t))throw new fn("`"+t+"` is not present on `O`")},get:function(n,t){if(!n||typeof n!="object"&&typeof n!="function")throw new fn("`O` is not an object");if(typeof t!="string")throw new fn("`slot` must be a string");var e=Is.get(n);return e&&e["$"+t]},has:function(n,t){if(!n||typeof n!="object"&&typeof n!="function")throw new fn("`O` is not an object");if(typeof t!="string")throw new fn("`slot` must be a string");var e=Is.get(n);return!!e&&CE(e,"$"+t)},set:function(n,t,e){if(!n||typeof n!="object"&&typeof n!="function")throw new fn("`O` is not an object");if(typeof t!="string")throw new fn("`slot` must be a string");var r=Is.get(n);r||(r={},Is.set(n,r)),r["$"+t]=e}};Object.freeze&&Object.freeze(vd);var yd=vd,yv=$n,Yn=yd,pa=function n(t,e){if(!(this instanceof n))return new n(t,e);if(t!=="normal"&&t!=="break"&&t!=="continue"&&t!=="return"&&t!=="throw")throw new yv('Assertion failed: `type` must be one of "normal", "break", "continue", "return", or "throw"');Yn.set(this,"[[Type]]",t),Yn.set(this,"[[Value]]",e)};pa.prototype.type=function(){return Yn.get(this,"[[Type]]")};pa.prototype.value=function(){return Yn.get(this,"[[Value]]")};pa.prototype["?"]=function(){var t=Yn.get(this,"[[Type]]"),e=Yn.get(this,"[[Value]]");if(t==="throw")throw e;return e};pa.prototype["!"]=function(){var t=Yn.get(this,"[[Type]]");if(t!=="normal")throw new yv('Assertion failed: Completion Record is not of type "normal"');return Yn.get(this,"[[Value]]")};var bd=pa,RE=bd,wd=function(t){return new RE("normal",t)},nu,Rf;function PE(){if(Rf)return nu;Rf=1;var n=ps;return nu=function(){return n()&&!!Symbol.toStringTag},nu}var DE=kt,Pf=DE("%Object.defineProperty%",!0),LE=PE()(),zE=In,OE=K,Da=LE?Symbol.toStringTag:null,bv=function(t,e){var r=arguments.length>2&&!!arguments[2]&&arguments[2].force,i=arguments.length>2&&!!arguments[2]&&arguments[2].nonConfigurable;if(typeof r<"u"&&typeof r!="boolean"||typeof i<"u"&&typeof i!="boolean")throw new OE("if provided, the `overrideIfSet` and `nonConfigurable` options must be booleans");Da&&(r||!zE(t,Da))&&(Pf?Pf(t,Da,{configurable:!i,enumerable:!1,value:e,writable:!1}):t[Da]=e)},wv={exports:{}},ME=kt,Df=Mm,NE=ic(),Lf=ds,zf=K,UE=ME("%Math.floor%"),FE=function(t,e){if(typeof t!="function")throw new zf("`fn` is not a function");if(typeof e!="number"||e<0||e>4294967295||UE(e)!==e)throw new zf("`length` must be a positive 32-bit integer");var r=arguments.length>2&&!!arguments[2],i=!0,s=!0;if("length"in t&&Lf){var o=Lf(t,"length");o&&!o.configurable&&(i=!1),o&&!o.writable&&(s=!1)}return(i||s||!r)&&(NE?Df(t,"length",e,!0,!0):Df(t,"length",e)),t},HE=aa,ZE=ad(),WE=qm,BE=function(){return WE(HE,ZE,arguments)};(function(n){var t=FE,e=oa,r=sc,i=BE;n.exports=function(o){var a=r(arguments),c=1+o.length-(arguments.length-1);return t(a,c>0?c:0,!0)},e?e(n.exports,"apply",{value:i}):n.exports.apply=i})(wv);var Sd=wv.exports,jE=function(t,e){for(var r=0;r<t.length;r+=1)if(!e(t[r],r,t))return!1;return!0},VE=Object,GE=function(t){return t&&typeof t=="object"&&(typeof t["[[ResourceValue]]"]>"u"||VE(t["[[ResourceValue]]"])===t["[[ResourceValue]]"])&&(t["[[Hint]]"]==="SYNC-DISPOSE"||t["[[Hint]]"]==="ASYNC-DISPOSE")&&(typeof t["[[DisposeMethod]]"]=="function"||typeof t["[[DisposeMethod]]"]>"u")},qE=In,YE=ld(),KE=jE,JE=GE,XE=function(t){return t&&typeof t=="object"&&qE(t,"[[DisposableResourceStack]]")&&YE(t["[[DisposableResourceStack]]"])&&(t["[[DisposableResourceStack]]"].length===0||KE(t["[[DisposableResourceStack]]"],JE))},QE=Tn,e1=function(t){if(t===null)return"Null";if(typeof t>"u")return"Undefined";if(QE(t))return"Object";if(typeof t=="number")return"Number";if(typeof t=="boolean")return"Boolean";if(typeof t=="string")return"String"},t1=e1,_d=function(t){return typeof t=="symbol"?"Symbol":typeof t=="bigint"?"BigInt":t1(t)},n1=K,r1=vs,i1=gs,s1=function(t,e){if(!i1(e))throw new n1("Assertion failed: P is not a Property Key, got "+r1(e));return t[e]},Of=K,o1=s1,a1=ms,l1=gs,Mf=vs,c1=function(t,e){if(!l1(e))throw new Of("Assertion failed: P is not a Property Key");var r=o1(t,e);if(r!=null){if(!a1(r))throw new Of(Mf(e)+" is not a function: "+Mf(r));return r}},Bu={exports:{}},u1=kt,h1=u1,Nf=h1("%Reflect.construct%",!0),El=ha;try{El({},"",{"[[Get]]":function(){}})}catch{El=null}if(El&&Nf){var Uf={},Ff={};El(Ff,"length",{"[[Get]]":function(){throw Uf},"[[Enumerable]]":!0}),Bu.exports=function(t){try{Nf(t,Ff)}catch(e){return e===Uf}}}else Bu.exports=function(t){return typeof t=="function"&&!!t.prototype};var d1=Bu.exports,ru=K,Hf=ms,p1=d1,f1=function(t){if(!p1(t))throw new ru("C must be a constructor");var e={"[[Resolve]]":void 0,"[[Reject]]":void 0},r=new t(function(i,s){if(typeof e["[[Resolve]]"]<"u"||typeof e["[[Reject]]"]<"u")throw new ru("executor has already been called");e["[[Resolve]]"]=i,e["[[Reject]]"]=s});if(!Hf(e["[[Resolve]]"])||!Hf(e["[[Reject]]"]))throw new ru("executor must provide valid resolve and reject functions");return{"[[Promise]]":r,"[[Resolve]]":e["[[Resolve]]"],"[[Reject]]":e["[[Reject]]"]}},Zf=$n,g1=K,iu=oc,Wf=c1,m1=f1,v1=_d,Bf=dd(),jf=pd(),y1=function(t,e){if(v1(t)!=="Object")throw new g1("`V` must be an Object");if(e!=="SYNC-DISPOSE"&&e!=="ASYNC-DISPOSE")throw new Zf("Assertion failed: `hint` must be `~SYNC-DISPOSE~` or `~ASYNC-DISPOSE~`");var r;if(e==="ASYNC-DISPOSE"&&jf&&(r=Wf(t,jf)),!r){if(!Bf)throw new Zf("`Symbol.dispose` is not supported");if(r=Wf(t,Bf),typeof r<"u")return function(){var i=this;if(e==="ASYNC-DISPOSE"){var s=m1(Promise);try{iu(r,i),iu(s["[[Resolve]]"],void 0,[void 0])}catch(o){s["[[Reject]]"](o)}return s["[[Promise]]"]}iu(r,i)}}return r},b1=$n,su=K,w1=ms,S1=_d,_1=y1,k1=function(t,e){if(e!=="SYNC-DISPOSE"&&e!=="ASYNC-DISPOSE")throw new b1("Assertion failed: `hint` must be `~SYNC-DISPOSE~` or `~ASYNC-DISPOSE~`");var r;if(arguments.length<3)if(t==null)t=void 0,r=void 0;else{if(typeof t<"u"&&S1(t)!=="Object")throw new su("`V` must be an Object, or `null` or `undefined`");if(r=_1(t,e),typeof r>"u")throw new su("dispose method must not be `undefined` on `V` when an object `V` is provided")}else if(r=arguments[2],!w1(r))throw new su("`method`, when provided, must be a function");return{"[[ResourceValue]]":t,"[[Hint]]":e,"[[DisposeMethod]]":r}},x1=$n,La=K,E1=XE,Vf=k1,A1=tr(),$1=A1("Array.prototype.push"),Sv=function(t,e,r){if(!E1(t))throw new La("Assertion failed: `disposeCapability` must be a DisposeCapability Record");if(r!=="SYNC-DISPOSE"&&r!=="ASYNC-DISPOSE")throw new x1("Assertion failed: `hint` must be `~SYNC-DISPOSE~` or `~ASYNC-DISPOSE~`");var i=arguments.length>3?arguments[3]:void 0;if(arguments.length>3&&typeof i!="function")throw new La("Assertion failed: `method`, when present, must be a function");if(!t["[[DisposableResourceStack]]"])throw new La("Assertion failed: `disposeCapability.[[DisposableResourceStack]]` must not be ~EMPTY~");var s;if(arguments.length<4){if(e==null&&r==="SYNC_DISPOSE")return"UNUSED";s=Vf(e,r)}else{if(typeof e<"u")throw new La("Assertion failed: `V` must be undefined when `method` is present");s=Vf(void 0,r,i)}return $1(t["[[DisposableResourceStack]]"],s),"UNUSED"},ou,Gf;function kd(){if(Gf)return ou;Gf=1;var n=kt,t=Sd,e=$n,r=n("%Promise.resolve%",!0),i=r&&t(r);return ou=function(o,a){if(!i)throw new e("This environment does not support Promises.");return i(o,a)},ou}var au,qf;function T1(){if(qf)return au;qf=1;var n=kt,t=$n,e=n("%Promise%",!0),r=oc,i=kd(),s=_d;return au=function(a,c,u){if(typeof a<"u"&&s(a)!=="Object")throw new t("Assertion failed: `V` must be `undefined` or an Object");if(c!=="SYNC-DISPOSE"&&c!=="ASYNC-DISPOSE")throw new t("Assertion failed: `hint` must be `~SYNC-DISPOSE~` or `~ASYNC-DISPOSE~`");if(typeof u<"u"&&typeof u!="function")throw new t("Assertion failed: `method` must be `undefined` or a function");var h=typeof u>"u"?u:r(u,a);if(c==="ASYNC-DISPOSE")return i(e,h)},au}var lu,Yf;function I1(){if(Yf)return lu;Yf=1;var n=bd;return lu=function(e){return new n("throw",e)},lu}var C1=kt,cu=$n,Kf=K,R1=C1("%Promise%",!0),P1=tr(),Jf=P1("Promise.prototype.then",!0),D1=bd,Xf=T1(),L1=wd,z1=kd(),Qf=I1(),O1=cv(),_v=function(t,e){if(!(e instanceof D1))throw new Kf("`completion` must be a Completion Record");var r=t["[[DisposableResourceStack]]"];if(!r)throw new Kf("Assertion failed: `disposeCapability.[[DisposableResourceStack]]` must not be ~EMPTY~");for(var i,s=r.length-1;s>=0;s-=1)if(!i)i=r[s]["[[Hint]]"];else if(i!==r[s]["[[Hint]]"])throw new cu("mixed hint stacks are not supported");for(var o=i==="ASYNC-DISPOSE"&&z1(R1,e),a=function(y){if(e.type()==="throw"){var m=e.value(),E=new O1(y,m);e=Qf(E)}else e=Qf(y)},c=i==="ASYNC-DISPOSE"&&function(m){return Jf(o,function(){var E=Xf(m["[[ResourceValue]]"],m["[[Hint]]"],m["[[DisposeMethod]]"]);if(!E)throw new cu("Assertion failed: non-`~ASYNC-DISPOSE~` resource returned a promise from Dispose");return Jf(E,L1)},a)},u=r.length-1;u>=0;u-=1)if(i==="ASYNC-DISPOSE")o=c(r[u]);else{var h=r[u];try{var f=Xf(h["[[ResourceValue]]"],h["[[Hint]]"],h["[[DisposeMethod]]"]);if(f)throw new cu("Assertion failed: `~SYNC-DISPOSE~` resource returned something from Dispose")}catch(y){a(y)}}return t["[[DisposableResourceStack]]"]=null,i==="ASYNC-DISPOSE"?o:e},kv=function(){var t=[];return{"[[DisposableResourceStack]]":t}},cc=rd,xd=K,M1=oc,ys=ud,N1=ha,xv=ms,U1=wd,at=yd,F1=bv,Ev=Jr.supportsDescriptors,H1=Sd,Ed=Sv,Z1=_v,Av=kv,eg=dd(),bt=function n(){if(!(this instanceof n)||at.has(this,"[[DisposableState]]")||at.has(this,"[[DisposeCapability]]"))throw new xd("can only be used with new");at.set(this,"[[DisposableState]]","PENDING"),at.set(this,"[[DisposeCapability]]",Av())},$v=function(){var t=this;return at.assert(t,"[[DisposableState]]"),at.get(t,"[[DisposableState]]")==="DISPOSED"},fa=H1($v);Ev?N1(bt.prototype,"disposed",{"[[Configurable]]":!0,"[[Enumerable]]":!1,"[[Get]]":$v}):bt.prototype.disposed=!1;var Tv=function(t){at.set(t,"[[DisposableState]]","DISPOSED"),Ev||(t.disposed=!0)};ys(bt.prototype,"dispose",function(){var t=this;if(!fa(t))return Tv(t),Z1(at.get(t,"[[DisposeCapability]]"),U1())["?"]()});ys(bt.prototype,"use",function(t){var e=this;if(fa(e))throw new cc("a disposed stack can not use anything new");return Ed(at.get(e,"[[DisposeCapability]]"),t,"SYNC-DISPOSE"),t});ys(bt.prototype,"adopt",function(t,e){var r=this;if(fa(r))throw new cc("a disposed stack can not use anything new");if(!xv(e))throw new xd("`onDispose` must be a function");var i=function(){return M1(e,void 0,[t])};return Ed(at.get(r,"[[DisposeCapability]]"),void 0,"SYNC-DISPOSE",i),t});ys(bt.prototype,"defer",function(t){var e=this;if(fa(e))throw new cc("a disposed stack can not defer anything new");if(!xv(t))throw new xd("`onDispose` must be a function");Ed(at.get(e,"[[DisposeCapability]]"),void 0,"SYNC-DISPOSE",t)});ys(bt.prototype,"move",function(){var t=this;if(fa(t))throw new cc("a disposed stack can not use anything new");var e=new bt;return at.set(e,"[[DisposeCapability]]",at.get(t,"[[DisposeCapability]]")),at.set(t,"[[DisposeCapability]]",Av()),Tv(t),e});eg&&ys(bt.prototype,eg,bt.prototype.dispose);F1(bt.prototype,"DisposableStack");var W1=bt,B1=W1,j1=function(){return typeof DisposableStack=="function"?DisposableStack:B1},V1=Jr,G1=td(),q1=j1,Y1=function(){var t=q1();return V1(G1,{DisposableStack:t},{DisposableStack:!0}),t},K1=kt,uc=rd,Ad=K,tg=K1("%Promise%",!0),$d=Sv,J1=oc,bs=ud,X1=ha,Q1=_v,Iv=ms,Cv=kv,eA=wd,ng=kd(),lt=yd,tA=bv,Rv=Jr.supportsDescriptors,nA=Sd,rA=tr(),iA=rA("Promise.prototype.then",!0),rg=pd(),wt=function n(){if(!(this instanceof n)||lt.has(this,"[[AsyncDisposableState]]")||lt.has(this,"[[DisposeCapability]]"))throw new Ad("can only be used with new");lt.set(this,"[[AsyncDisposableState]]","pending"),lt.set(this,"[[DisposeCapability]]",Cv())},Pv=function(){var t=this;return lt.assert(t,"[[AsyncDisposableState]]"),lt.get(t,"[[AsyncDisposableState]]")==="disposed"},ga=nA(Pv);Rv?X1(wt.prototype,"disposed",{"[[Configurable]]":!0,"[[Enumerable]]":!1,"[[Get]]":Pv}):wt.prototype.disposed=!1;var Dv=function(t){lt.set(t,"[[AsyncDisposableState]]","disposed"),Rv||(t.disposed=!0)};bs(wt.prototype,"disposeAsync",function(){var t=this;return ga(t)?ng(tg):(Dv(t),iA(ng(tg,Q1(lt.get(t,"[[DisposeCapability]]"),eA())),function(e){return e["?"]()}))});bs(wt.prototype,"use",function(t){var e=this;if(ga(e))throw new uc("a disposed stack can not use anything new");return $d(lt.get(e,"[[DisposeCapability]]"),t,"ASYNC-DISPOSE"),t});bs(wt.prototype,"adopt",function(t,e){var r=this;if(ga(r))throw new uc("a disposed stack can not use anything new");if(!Iv(e))throw new Ad("`onDisposeAsync` must be a function");var i=function(){return J1(e,void 0,[t])};return i.value=t,$d(lt.get(r,"[[DisposeCapability]]"),void 0,"ASYNC-DISPOSE",i),t});bs(wt.prototype,"defer",function(t){var e=this;if(ga(e))throw new uc("a disposed stack can not defer anything new");if(!Iv(t))throw new Ad("`onDispose` must be a function");$d(lt.get(e,"[[DisposeCapability]]"),void 0,"ASYNC-DISPOSE",t)});bs(wt.prototype,"move",function(){var t=this;if(ga(t))throw new uc("a disposed stack can not use anything new");var e=new wt;return lt.set(e,"[[DisposeCapability]]",lt.get(t,"[[DisposeCapability]]")),lt.set(t,"[[DisposeCapability]]",Cv()),Dv(t),e});rg&&bs(wt.prototype,rg,wt.prototype.disposeAsync);tA(wt.prototype,"AsyncDisposableStack");var sA=wt,oA=sA,aA=function(){return typeof AsyncDisposableStack=="function"?AsyncDisposableStack:oA},lA=Jr,cA=td(),uA=aA,hA=function(){var t=uA();return lA(cA,{AsyncDisposableStack:t},{AsyncDisposableStack:!0}),t},dA=lx,pA=mx,fA=Y1,gA=hA,mA=function(){dA(),pA(),fA(),gA()};mA();const ig=new WeakMap;function vA(n){return(typeof n=="object"||typeof n=="function")&&n!==null&&"then"in n&&typeof n.then=="function"}function ui(n){return typeof n=="string"?n:typeof n=="symbol"?n.description??n.toString():n.name||"(anonymous class)"}function sg(){return new Error("register(Key, factory) requires a factory function. Wrap existing instances as () => instance.")}function yA(){return new Error("register(Key, factory) does not accept async factories. Await setup before registering.")}class bA{constructor(){g(this,"entries",new Map);g(this,"constructionStack",[])}register(t,e){if(e===void 0){if(typeof t!="function")throw sg();this.validateClassRegistration(t),this.storeFactory(t,()=>this.instantiateClass(t));return}if(typeof e!="function")throw sg();if(e.constructor.name==="AsyncFunction")throw yA();this.storeFactory(t,e)}has(t){var e;return((e=this.entries.get(t))==null?void 0:e.factory)!==void 0}resolve(t){return this.resolveAny(t)}storeFactory(t,e){const r=this.getOrCreateEntry(t);r.factory=e,r.instance=void 0,r.error=void 0}validateClassRegistration(t){const e=ig.get(t);if(e){if(t.length!==e.length)throw new Error(`${ui(t)} cannot be registered with register(Class). @injectable(...) declared ${e.length} dependencies but constructor arity is ${t.length}. Use register(Key, () => value) instead.`);return}if(t.length!==0)throw new Error(`${ui(t)} cannot be registered with register(Class). Undecorated classes must have zero required constructor parameters. Use register(Key, () => value) instead.`)}instantiateClass(t){const e=ig.get(t);if(!e)return new t;const r=e.map(i=>this.resolveAny(i));return new t(...r)}resolveAny(t){return this.getOrCreateEntry(t).proxy}getOrCreateEntry(t){let e=this.entries.get(t);return e||(e={key:t},e.proxy=this.createProxy(e),this.entries.set(t,e),e)}createProxy(t){return new Proxy({},{get:(e,r)=>{if(r==="then")return;const i=this.getInstance(t),s=Reflect.get(i,r,i);return typeof s=="function"?s.bind(i):s},set:(e,r,i)=>{const s=this.getInstance(t);return Reflect.set(s,r,i,s)},has:(e,r)=>{const i=this.getInstance(t);return r in i}})}getInstance(t){if(t.instance)return t.instance;if(t.error)throw t.error;if(!t.factory)throw new Error(`${ui(t.key)} was resolved but never registered`);const e=this.constructionStack.indexOf(t.key);if(e!==-1){const r=[...this.constructionStack.slice(e),t.key].map(i=>ui(i)).join(" -> ");throw new Error(`Circular dependency detected: ${r}`)}this.constructionStack.push(t.key);try{const r=t.factory();if(vA(r))throw new Error(`Factory for ${ui(t.key)} returned a Promise. Await setup before registering.`);if(typeof r!="object"||r===null)throw new Error(`Factory for ${ui(t.key)} returned a non-object value. Wrap primitives in an object.`);return t.instance=r,r}catch(r){throw t.error=r,r}finally{this.constructionStack.pop()}}}const un=new bA,wA=.5,og=.1,ag=8,SA=4,Lv=3,zv=3,_A=4,yr=255,Ov=.2126,Mv=.7152,Nv=.0722;async function Uv(n){const t=kA(n);if(!t)return"light";try{return await AA(n,t)>=wA?"light":"dark"}catch{return"light"}}function kA(n){if(typeof document.elementsFromPoint!="function")return null;const t=n.getBoundingClientRect(),e=t.left+t.width/2,r=t.top+t.height/2,i=document.elementsFromPoint(e,r);for(const s of i){if(!(s instanceof HTMLElement)||s===n||n.contains(s))continue;const o=window.getComputedStyle(s);if(xA(o))return s}return null}function xA(n){return Fv(n.backgroundImage)?!0:EA(n.backgroundColor)>0}function EA(n){if(!n)return 0;const t=n.match(/rgba?\(([^)]+)\)/);if(!t)return 0;const e=t[1].split(/[\s,/]+/).filter(Boolean);return e.length===_A?parseFloat(e[Lv]):e.length===zv?1:0}async function AA(n,t){const e=n.getBoundingClientRect(),r=t.getBoundingClientRect(),i={x:za((e.left-r.left)/r.width),y:za((e.top-r.top)/r.height),width:za(e.width/r.width),height:za(e.height/r.height)},s=window.getComputedStyle(t),o=Fv(s.backgroundImage);return o?TA({url:o,surfaceWidth:r.width,surfaceHeight:r.height,region:i}):IA(s.backgroundColor)}function Fv(n){const t=n.match(/url\(\s*["']?([^"')]+)["']?\s*\)/);return t?t[1]:null}const lg=new Map;function $A(n){let t=lg.get(n);return t||(t=new Promise((e,r)=>{const i=new Image;i.crossOrigin="anonymous",i.onload=()=>e(i),i.onerror=()=>r(new Error(`Failed to load ${n}`)),i.src=n}),lg.set(n,t),t)}async function TA(n){const t=await $A(n.url),e=Math.max(ag,Math.ceil(n.surfaceWidth*og)),r=Math.max(ag,Math.ceil(n.surfaceHeight*og)),i=document.createElement("canvas");i.width=e,i.height=r;const s=i.getContext("2d",{willReadFrequently:!0});if(!s)return 1;const o=n.surfaceWidth/n.surfaceHeight,a=t.naturalWidth/t.naturalHeight;let c,u;a>o?(u=r,c=r*a):(c=e,u=e/a);const h=(e-c)/2,f=(r-u)/2;s.drawImage(t,h,f,c,u);const y=Math.max(0,Math.floor(n.region.x*e)),m=Math.max(0,Math.floor(n.region.y*r)),E=Math.max(1,Math.min(e-y,Math.floor(n.region.width*e))),x=Math.max(1,Math.min(r-m,Math.floor(n.region.height*r))),I=s.getImageData(y,m,E,x).data;let P=0,R=0;for(let B=0;B<I.length;B+=SA){const N=I[B]/yr,F=I[B+1]/yr,Y=I[B+2]/yr,V=I[B+Lv]/yr;P+=V*(Ov*N+Mv*F+Nv*Y),R+=1}return R>0?P/R:1}function IA(n){const t=n.match(/rgba?\(([^)]+)\)/);if(!t)return 1;const e=t[1].split(/[\s,/]+/).filter(Boolean).map(parseFloat);if(e.length<zv)return 1;const r=e[0]/yr,i=e[1]/yr,s=e[2]/yr;return Ov*r+Mv*i+Nv*s}function za(n){return n<0?0:n>1?1:n}const CA=["ghost","glass"],ro=[...CA.map(n=>`[variant="${n}"]`),'[material="glass"]'].join(", "),Oa=new WeakSet,cg=new WeakSet;function Hv(n){if(cg.has(n))return;cg.add(n);for(const e of n.querySelectorAll(ro))uu(e);if(typeof MutationObserver!="function")return;new MutationObserver(e=>{for(const r of e)if(r.type==="childList")for(const i of r.addedNodes)RA(i,uu);else r.type==="attributes"&&r.target instanceof HTMLElement&&r.target.matches(ro)&&uu(r.target)}).observe(n,{childList:!0,subtree:!0,attributes:!0,attributeFilter:["variant","material"]})}function RA(n,t){if(n instanceof Element){n instanceof HTMLElement&&n.matches(ro)&&t(n);for(const e of n.querySelectorAll(ro))t(e)}}async function uu(n){var e,r;if(Oa.has(n)||n.hasAttribute("tone")||(e=n.parentElement)!=null&&e.closest("[tone]"))return;Oa.add(n);const t=await Uv(n);if(!n.matches(ro)){Oa.delete(n);return}if(n.hasAttribute("tone")||(r=n.parentElement)!=null&&r.closest("[tone]")){Oa.delete(n);return}n.setAttribute("tone",t)}const PA="*,*:before,*:after{box-sizing:border-box}html,body{margin:0;padding:0}h1,h2,h3,h4,h5,h6,p,ul,ol,blockquote,pre,hr{margin:0}button,input,textarea,select{font:inherit;color:inherit}@font-face{font-family:Hind;src:url("+new URL("Hind-Variable-C47b_dt9.woff2",import.meta.url).href+') format("woff2-variations");font-weight:300 700;font-style:normal;font-display:swap}:root{--font-sans: "Hind", -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif;--font-brand: var(--font-sans);--font-mono: ui-monospace, "SF Mono", SFMono-Regular, Menlo, monospace;--font-weight-body: 500;--text-base: 13.5px;--text-scale: 1.125;--text-sm: round(calc(var(--text-base) / var(--text-scale)), 1px);--text-lg: round(calc(var(--text-base) * var(--text-scale)), 1px);--text-xl: round(calc(var(--text-lg) * var(--text-scale)), 1px);--leading-base: 1.5;--control-height-xs: 18px;--control-height-sm: 24px;--control-height-md: 28px;--control-height-lg: 32px;--space-2: 2px;--space-4: 4px;--space-6: 6px;--space-8: 8px;--space-10: 10px;--space-12: 12px;--space-16: 16px;--space-20: 20px;--space-24: 24px;--space-32: 32px;--space-48: 48px;--space-64: 64px;--radius-4: 4px;--radius-8: 8px;--radius-12: 12px;--radius-16: 16px;--radius-24: 24px;--radius-full: 9999px;--layer-chrome: 100;--layer-panel: 500;--layer-overlay: 2000;--shadow-hairline: 0 0 0 .5px var(--color-border);--shadow-control: 0 1px 1px rgb(0 0 0 / .04), 0 2px 6px rgb(0 0 0 / .06);--alpha-50: 4%;--alpha-100: 8%;--alpha-150: 11%;--alpha-200: 15%;--alpha-300: 22%;--alpha-400: 30%;--alpha-500: 40%;--alpha-600: 50%;--alpha-700: 65%;--alpha-800: 80%;--alpha-900: 90%;--alpha-950: 95%;--tint-50: color-mix(in srgb, currentColor var(--alpha-50), transparent);--tint-100: color-mix(in srgb, currentColor var(--alpha-100), transparent);--tint-150: color-mix(in srgb, currentColor var(--alpha-150), transparent);--tint-200: color-mix(in srgb, currentColor var(--alpha-200), transparent);--tint-300: color-mix(in srgb, currentColor var(--alpha-300), transparent);--tint-400: color-mix(in srgb, currentColor var(--alpha-400), transparent);--tint-500: color-mix(in srgb, currentColor var(--alpha-500), transparent);--tint-600: color-mix(in srgb, currentColor var(--alpha-600), transparent);--tint-700: color-mix(in srgb, currentColor var(--alpha-700), transparent);--tint-800: color-mix(in srgb, currentColor var(--alpha-800), transparent);--tint-900: color-mix(in srgb, currentColor var(--alpha-900), transparent);--tint-950: color-mix(in srgb, currentColor var(--alpha-950), transparent);--color-overlay-hover: color-mix(in srgb, var(--black) var(--alpha-100), transparent);--color-overlay-active: color-mix(in srgb, var(--black) var(--alpha-300), transparent);--backdrop-blur-glass: blur(20px) saturate(1.4);--black: #000000;--white: #ffffff;--neutral-50: oklch(.985 0 0);--neutral-100: oklch(.97 0 0);--neutral-200: oklch(.923 0 0);--neutral-300: oklch(.869 0 0);--neutral-350: oklch(.79 0 0);--neutral-400: oklch(.709 0 0);--neutral-500: oklch(.553 0 0);--neutral-600: oklch(.444 0 0);--neutral-700: oklch(.374 0 0);--neutral-800: oklch(.268 0 0);--neutral-900: oklch(.216 0 0);--neutral-950: oklch(.147 0 0);--red-50: oklch(.969 .015 12.422);--red-100: oklch(.941 .03 12.58);--red-200: oklch(.892 .058 10.001);--red-300: oklch(.81 .117 11.638);--red-400: oklch(.712 .194 13.428);--red-500: oklch(.645 .246 16.439);--red-600: oklch(.586 .253 17.585);--red-700: oklch(.514 .222 16.935);--red-800: oklch(.455 .188 13.697);--red-900: oklch(.41 .159 10.272);--red-950: oklch(.271 .105 12.094);--orange-50: oklch(.98 .016 73.684);--orange-100: oklch(.954 .038 75.164);--orange-200: oklch(.901 .076 70.697);--orange-300: oklch(.837 .128 66.29);--orange-400: oklch(.75 .183 55.934);--orange-500: oklch(.705 .213 47.604);--orange-600: oklch(.646 .222 41.116);--orange-700: oklch(.553 .195 38.402);--orange-800: oklch(.47 .157 37.304);--orange-900: oklch(.408 .123 38.172);--orange-950: oklch(.266 .079 36.259);--yellow-50: oklch(.987 .026 102.212);--yellow-100: oklch(.973 .071 103.193);--yellow-200: oklch(.945 .129 101.54);--yellow-300: oklch(.905 .182 98.111);--yellow-400: oklch(.852 .199 91.936);--yellow-500: oklch(.795 .184 86.047);--yellow-600: oklch(.681 .162 75.834);--yellow-700: oklch(.554 .135 66.442);--yellow-800: oklch(.476 .114 61.907);--yellow-900: oklch(.421 .095 57.708);--yellow-950: oklch(.286 .066 53.813);--green-50: oklch(.979 .021 166.113);--green-100: oklch(.95 .052 163.051);--green-200: oklch(.905 .093 164.15);--green-300: oklch(.845 .143 164.978);--green-400: oklch(.765 .177 163.223);--green-500: oklch(.696 .17 162.48);--green-600: oklch(.596 .145 163.225);--green-700: oklch(.508 .118 165.612);--green-800: oklch(.432 .095 166.913);--green-900: oklch(.378 .077 168.94);--green-950: oklch(.262 .051 172.552);--blue-50: oklch(.97 .014 254.604);--blue-100: oklch(.932 .032 255.585);--blue-200: oklch(.882 .059 254.128);--blue-300: oklch(.809 .105 251.813);--blue-400: oklch(.707 .165 254.624);--blue-500: oklch(.623 .214 259.815);--blue-600: oklch(.546 .245 262.881);--blue-700: oklch(.488 .243 264.376);--blue-800: oklch(.424 .199 265.638);--blue-900: oklch(.379 .146 265.522);--blue-950: oklch(.282 .091 267.935);--purple-50: oklch(.969 .016 293.756);--purple-100: oklch(.943 .029 294.588);--purple-200: oklch(.894 .057 293.283);--purple-300: oklch(.811 .111 293.571);--purple-400: oklch(.702 .183 293.541);--purple-500: oklch(.606 .25 292.717);--purple-600: oklch(.541 .281 293.009);--purple-700: oklch(.491 .27 292.581);--purple-800: oklch(.432 .232 292.759);--purple-900: oklch(.38 .189 293.745);--purple-950: oklch(.283 .141 291.089)}@supports (corner-shape: squircle){:root{--radius-8: 10px;--radius-12: 15px;--radius-16: 20px;--radius-24: 30px}}:root[data-font=system]{--font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif}:root{--color-bg: var(--neutral-50);--color-bg-muted: var(--neutral-100);--color-surface: var(--white);--color-surface-muted: var(--neutral-100);--color-interactive: var(--neutral-200);--color-interactive-hover: var(--neutral-300);--color-border: rgba(0, 0, 0, .1);--color-border-muted: rgba(0, 0, 0, .06);--color-text: var(--neutral-900);--color-text-muted: var(--neutral-500);--color-link: inherit;--color-focus-ring: var(--neutral-500);--color-overlay-backdrop: rgb(0 0 0 / .5);--color-highlight: rgb(255 255 255 / .5);--color-primary: var(--blue-500);--color-danger: var(--red-600);color-scheme:light}body{font-family:var(--font-sans);font-size:var(--text-base);font-weight:var(--font-weight-body);line-height:var(--leading-base);letter-spacing:.015em;color:var(--color-text);background:var(--color-bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{color:var(--color-link);text-underline-offset:.15em;text-decoration-thickness:.08em}h1,h2,h3,h4,h5,h6{font-weight:600;color:inherit}code{font-family:var(--font-mono);font-size:.9em;background:var(--color-bg-muted);padding:var(--space-2) var(--space-4);border-radius:var(--radius-4)}pre{font-family:var(--font-mono);background:var(--color-bg-muted);padding:var(--space-12);border-radius:var(--radius-8);overflow-x:auto}pre code{background:none;padding:0}blockquote{padding-left:var(--space-16);border-left:3px solid var(--color-border);color:var(--color-text-muted)}hr{border:none;border-top:1px solid var(--color-border)}table{border-collapse:collapse}th,td{padding:var(--space-8) var(--space-12);border:1px solid var(--color-border);text-align:left}th{background:var(--color-bg-muted);font-weight:600}input,textarea{border:.5px solid var(--tint-300);border-radius:var(--radius-12);background:var(--tint-100);color:inherit;font:inherit;box-sizing:border-box;transition:background .12s ease,border-color .12s ease,box-shadow .12s ease}input{height:var(--control-height-lg);padding:0 12px}textarea{padding:6px 10px;resize:none}input::placeholder,textarea::placeholder{color:var(--tint-500)}input:focus,textarea:focus{background:color-mix(in srgb,var(--white) var(--alpha-300),transparent);border-color:var(--color-primary);outline:none;box-shadow:0 0 0 1.5px var(--color-primary)}label.field{display:grid;gap:4px;font-size:13px}label.field>span{font-size:11.5px;font-weight:450;color:var(--tint-800)}@supports (corner-shape: squircle){*{corner-shape:squircle}}button{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-6);box-sizing:border-box;height:var(--control-height-md);padding:0 14px 2px;font:inherit;cursor:default}button,segmented-control{background:var(--color-surface);border:.5px solid var(--tint-200);border-radius:var(--radius-12);box-shadow:var(--shadow-control);color:inherit}button:not([material]):hover:not(:disabled){background:color-mix(in srgb,var(--color-surface) 96%,black)}button:not([material]):active:not(:disabled){background:color-mix(in srgb,var(--color-surface) 88%,black);box-shadow:inset 0 1px 2px #00000014}button:focus-visible{outline:2px solid var(--color-focus-ring);outline-offset:2px}button[variant=primary]{background:var(--color-primary);border-color:#0000002e;color:var(--white)}button[variant=primary]:hover:not(:disabled){background:color-mix(in srgb,var(--color-primary) 92%,black)}button[variant=primary]:active:not(:disabled){background:color-mix(in srgb,var(--color-primary) 82%,black);box-shadow:inset 0 1px 2px #0000002e}button[variant=danger]{background:var(--color-danger);border-color:#0000002e;color:var(--white)}button[variant=danger]:hover:not(:disabled){background:color-mix(in srgb,var(--color-danger) 92%,black)}button[variant=danger]:active:not(:disabled){background:color-mix(in srgb,var(--color-danger) 82%,black);box-shadow:inset 0 1px 2px #0000002e}button[variant=ghost]{background:transparent;border-color:transparent;color:inherit;box-shadow:none}button[variant=ghost]:hover:not(:disabled){background:var(--tint-150);backdrop-filter:saturate(1.2);-webkit-backdrop-filter:saturate(1.2)}button[variant=ghost]:active:not(:disabled){background:var(--tint-300);backdrop-filter:saturate(1.4);-webkit-backdrop-filter:saturate(1.4);box-shadow:none}button[variant=ghost][data-active]:not(:disabled),button[variant=ghost][data-active]:hover:not(:disabled),button[variant=ghost][aria-pressed=true]:not(:disabled),button[variant=ghost][aria-pressed=true]:hover:not(:disabled),button[variant=ghost][aria-expanded=true]:not(:disabled),button[variant=ghost][aria-expanded=true]:hover:not(:disabled){background:var(--color-overlay-active);backdrop-filter:saturate(1.3);-webkit-backdrop-filter:saturate(1.3);box-shadow:none}button[variant=glass],segmented-control[variant=glass]{background:transparent;border:.5px solid color-mix(in srgb,var(--black) var(--alpha-100),transparent);box-shadow:none}button[variant=glass]{backdrop-filter:blur(20px) brightness(.95) saturate(1.5);-webkit-backdrop-filter:blur(20px) brightness(.95) saturate(1.5)}button[variant=glass]:hover:not(:disabled){background:linear-gradient(var(--color-overlay-hover),var(--color-overlay-hover));backdrop-filter:blur(20px) brightness(.95) saturate(1.8);-webkit-backdrop-filter:blur(20px) brightness(.95) saturate(1.8)}button[variant=glass]:active:not(:disabled){background:linear-gradient(var(--color-overlay-active),var(--color-overlay-active));backdrop-filter:blur(20px) brightness(.95) saturate(2.2);-webkit-backdrop-filter:blur(20px) brightness(.95) saturate(2.2)}button[variant=glass][aria-pressed=true]:not(:disabled),button[variant=glass][aria-pressed=true]:hover:not(:disabled),button[variant=glass][aria-expanded=true]:not(:disabled),button[variant=glass][aria-expanded=true]:hover:not(:disabled){background:linear-gradient(var(--color-overlay-active),var(--color-overlay-active));backdrop-filter:blur(20px) brightness(.95) saturate(2);-webkit-backdrop-filter:blur(20px) brightness(.95) saturate(2)}[tone=dark] button[variant=glass],[tone=dark] segmented-control[variant=glass]{border-color:var(--tint-400)}button[material],segmented-control[material]{color:inherit;box-shadow:none}button[material]:hover:not(:disabled){background-image:linear-gradient(var(--color-overlay-hover),var(--color-overlay-hover))}button[material]:active:not(:disabled){background-image:linear-gradient(var(--color-overlay-active),var(--color-overlay-active))}[tone=dark] button[material],[tone=dark] segmented-control[material]{border-color:var(--tint-400)}button:disabled{background:var(--tint-300);border-color:transparent;color:var(--tint-700);box-shadow:none}button[variant=ghost]:disabled{background:transparent}:where([tone=dark]) button:not([variant]):not([material]):not(:disabled),:where([tone=dark]) button[variant=default]:not([material]):not(:disabled),:where([tone=dark]) segmented-control:not([variant]):not([material]),:where([tone=dark]) segmented-control[variant=default]:not([material]){background:var(--tint-200);border-color:var(--tint-300);box-shadow:inset 0 .5px 0 var(--tint-300)}:where([tone=dark]) button:not([variant]):hover:not(:disabled),:where([tone=dark]) button[variant=default]:hover:not(:disabled){background:var(--tint-300)}:where([tone=dark]) button:not([variant]):active:not(:disabled),:where([tone=dark]) button[variant=default]:active:not(:disabled){background:var(--tint-400);box-shadow:inset 0 1px 2px #0003}:where([tone=light]) button:not([variant]):not([material]):not(:disabled),:where([tone=light]) button[variant=default]:not([material]):not(:disabled),:where([tone=light]) segmented-control:not([variant]):not([material]),:where([tone=light]) segmented-control[variant=default]:not([material]){background:var(--color-surface);border-color:var(--tint-200);box-shadow:var(--shadow-control)}:where([tone=light]) button:not([variant]):hover:not(:disabled){background:color-mix(in srgb,var(--color-surface) 96%,black)}:where([tone=light]) button:not([variant]):active:not(:disabled){background:color-mix(in srgb,var(--color-surface) 88%,black);box-shadow:inset 0 1px 2px #00000014}button[size=sm],segmented-control[size=sm]{height:var(--control-height-sm)}button[size=sm][icon-only]{width:var(--control-height-sm)}button[size=xs]{height:var(--control-height-xs);padding:0 var(--space-6) 1px;border-radius:var(--radius-8)}button[size=xs][icon-only]{width:var(--control-height-xs);padding:0}button[icon-only]{width:var(--control-height-md);padding:0}[data-ui-icon]{display:inline-block;vertical-align:middle}[selectable],[selectable] *{user-select:text;-webkit-user-select:text}[unselectable],[unselectable] *{user-select:none;-webkit-user-select:none}.prose{line-height:var(--leading-base)}.prose h1{font-size:var(--text-xl);margin-bottom:var(--space-8)}.prose h2{font-size:var(--text-lg);margin-top:var(--space-24);margin-bottom:var(--space-8)}.prose h3,.prose h4,.prose h5,.prose h6{font-size:var(--text-base);margin-top:var(--space-24);margin-bottom:var(--space-8)}.prose p{margin:var(--space-12) 0}.prose ul,.prose ol{padding-left:var(--space-24);margin:var(--space-12) 0}.prose blockquote,.prose pre{margin:var(--space-12) 0}.prose hr{margin:var(--space-24) 0}.prose table{width:100%;margin:var(--space-12) 0}.prose img{max-width:100%;height:auto}.prose>:first-child{margin-top:0}.prose>:last-child{margin-bottom:0}[material=paper]{background:var(--white);border:.5px solid color-mix(in srgb,var(--black) var(--alpha-100),transparent);color:var(--color-text)}[material=glass]{background:transparent;border:.5px solid color-mix(in srgb,var(--black) var(--alpha-100),transparent);backdrop-filter:blur(20px) brightness(.95) saturate(1.5);-webkit-backdrop-filter:blur(20px) brightness(.95) saturate(1.5)}[material=glass-frosted]{background:color-mix(in srgb,var(--white) var(--alpha-800),transparent);border:.5px solid color-mix(in srgb,var(--black) var(--alpha-100),transparent);color:var(--color-text);backdrop-filter:var(--backdrop-blur-glass);-webkit-backdrop-filter:var(--backdrop-blur-glass)}[tone=dark]{color:color-mix(in srgb,var(--white) var(--alpha-950),transparent);border-color:color-mix(in srgb,var(--white) var(--alpha-200),transparent);--color-overlay-hover: color-mix(in srgb, var(--white) var(--alpha-100), transparent);--color-overlay-active: color-mix(in srgb, var(--white) var(--alpha-200), transparent)}[tone=dark][material=paper]{background:#000}[tone=dark][material=glass-frosted]{background:color-mix(in srgb,var(--black) 70%,transparent)}[tone=light]{color:var(--color-text);border-color:color-mix(in srgb,var(--black) var(--alpha-100),transparent);--color-overlay-hover: color-mix(in srgb, var(--black) var(--alpha-50), transparent);--color-overlay-active: color-mix(in srgb, var(--black) var(--alpha-100), transparent)}[level="1"]{box-shadow:0 12px 32px #00000024}[level="2"]{box-shadow:0 4px 6px -2px #0000001f,0 40px 60px -16px #00000038}dropdown-menu{position:relative;display:inline-block;color:inherit}dropdown-group{display:grid;gap:var(--space-4)}dropdown-label{display:block;padding:var(--space-4) var(--space-8);color:var(--color-text-muted);font:inherit;font-size:var(--text-sm);font-weight:600;letter-spacing:.04em;text-transform:uppercase}dropdown-divider{display:block;height:1px;margin:2px 0;background:var(--color-border)}[data-dropdown-trigger][aria-expanded=true],[data-dropdown-trigger][aria-expanded=true]:hover,dropdown-menu[open]::part(trigger),dropdown-menu[open]::part(trigger):hover{background:color-mix(in srgb,var(--color-surface) 88%,black);box-shadow:inset 0 1px 2px #00000014}[data-dropdown-trigger-label],dropdown-menu::part(trigger-label){min-width:0}[data-dropdown-trigger-icon],dropdown-menu::part(trigger-icon){display:inline-flex;align-items:center;justify-content:center;flex:none;color:var(--color-text-muted);transform:translateY(1px)}dropdown-item:focus-visible{outline:2px solid var(--color-focus-ring);outline-offset:2px}ui-popover.dropdown-popover::part(panel){min-width:192px;padding:var(--space-4)}.dropdown-list{display:flex;flex-direction:column;gap:2px}dropdown-item{display:flex;align-items:center;gap:var(--space-8);margin:0;padding:6px 12px;border-radius:var(--radius-8);font:inherit;line-height:1.2;color:inherit;font-weight:var(--font-weight-body);-webkit-user-select:none;user-select:none}dropdown-item>[data-ui-icon]{flex:none}dropdown-item[selected]{background:var(--color-overlay-active)}dropdown-item:hover,dropdown-item[action]:hover{background:var(--color-primary);color:var(--white)}dropdown-item[action]{color:inherit}dropdown-item[danger]{color:var(--color-danger)}dropdown-item[danger]:hover{background:var(--color-danger);color:var(--white)}editable-text{display:inline-block;max-width:100%;vertical-align:top}editable-text>.editable-text-span{display:inline-block;max-width:100%;outline:none;overflow:hidden;white-space:nowrap;cursor:inherit;vertical-align:top}editable-text:not([data-editing])>.editable-text-span{text-overflow:ellipsis}editable-text[data-editing]>.editable-text-span{cursor:text}modal-overlay{color:inherit}modal-overlay::part(backdrop){position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--layer-overlay);display:flex;align-items:center;justify-content:center;padding:var(--space-16);background:linear-gradient(to bottom,color-mix(in srgb,var(--black) var(--alpha-50),transparent),color-mix(in srgb,var(--black) var(--alpha-400),transparent));backdrop-filter:blur(1px);-webkit-backdrop-filter:blur(1px)}panel-view{display:block}panel-view::part(panel){display:flex;flex-direction:column;gap:var(--space-16);color:var(--color-text)}panel-view::part(header){display:flex;align-items:center;justify-content:space-between;gap:var(--space-12)}panel-view::part(title){margin:0;font:inherit;font-size:var(--text-lg);font-weight:600;color:var(--color-text)}panel-view::part(button){display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;margin:0;border:1px solid var(--color-border);border-radius:var(--radius-4);background:var(--color-surface);color:var(--color-text);box-shadow:none}panel-view::part(button):hover{background:var(--color-interactive-hover)}panel-view::part(button):focus-visible{outline:2px solid var(--color-focus-ring);outline-offset:2px}panel-view::part(icon){display:inline-flex;align-items:center;justify-content:center;flex:none}ui-popover{display:contents}ui-popover::part(panel){position:fixed;inset:0 auto auto 0;margin:0;min-width:192px;max-width:384px;padding:var(--space-16) var(--space-20);border-radius:var(--radius-12);outline:none;z-index:2000}segmented-control{display:inline-flex;align-items:stretch;box-sizing:border-box;height:var(--control-height-md)}segmented-control>button{height:auto}segmented-control[variant=ghost]{background:transparent;box-shadow:none}[tone=dark] segmented-control[variant=ghost]{border-color:var(--tint-400)}segmented-control>button{position:relative}segmented-control>button[icon-only]{width:auto;height:auto;padding:0 var(--space-6)}segmented-control>button:not([variant]):not(:disabled),[tone] segmented-control>button:not([variant]):not(:disabled){background:transparent;border:0;box-shadow:none}segmented-control>button:first-child{border-top-right-radius:0;border-bottom-right-radius:0}segmented-control>button:last-child{border-top-left-radius:0;border-bottom-left-radius:0}segmented-control>button:not(:first-child):not(:last-child){border-radius:0}segmented-control>button:not([variant]):hover:not(:disabled),[tone] segmented-control>button:not([variant]):hover:not(:disabled){background:var(--color-overlay-hover)}segmented-control>button:not([variant]):active:not(:disabled),[tone] segmented-control>button:not([variant]):active:not(:disabled){background:var(--color-overlay-active);box-shadow:none}segmented-control>button:not([variant])[aria-pressed=true]:not(:disabled),segmented-control>button:not([variant])[aria-current]:not([aria-current=false]):not(:disabled),segmented-control>button:not([variant])[aria-expanded=true]:not(:disabled),[tone] segmented-control>button:not([variant])[aria-pressed=true]:not(:disabled),[tone] segmented-control>button:not([variant])[aria-current]:not([aria-current=false]):not(:disabled),[tone] segmented-control>button:not([variant])[aria-expanded=true]:not(:disabled){background:linear-gradient(var(--color-overlay-active),var(--color-overlay-active))}segmented-control>button:not(:last-child):after{content:"";position:absolute;top:0;bottom:0;right:0;width:.5px;background:var(--tint-200);pointer-events:none}[tone=dark] segmented-control>button:not(:last-child):after{background:var(--tint-400)}segmented-control>dropdown-menu{display:inline-flex;align-items:stretch;height:auto}segmented-control>dropdown-menu>[slot=trigger]{height:auto;position:relative}segmented-control>dropdown-menu>[slot=trigger]:not([variant]):not(:disabled),[tone] segmented-control>dropdown-menu>[slot=trigger]:not([variant]):not(:disabled){background:transparent;border:0;box-shadow:none}segmented-control>dropdown-menu:first-child>[slot=trigger]{border-top-right-radius:0;border-bottom-right-radius:0}segmented-control>dropdown-menu:last-child>[slot=trigger]{border-top-left-radius:0;border-bottom-left-radius:0}segmented-control>dropdown-menu:not(:first-child):not(:last-child)>[slot=trigger]{border-radius:0}segmented-control>dropdown-menu>[slot=trigger]:not([variant]):hover:not(:disabled),[tone] segmented-control>dropdown-menu>[slot=trigger]:not([variant]):hover:not(:disabled){background:var(--color-overlay-hover)}segmented-control>dropdown-menu>[slot=trigger]:not([variant]):active:not(:disabled),[tone] segmented-control>dropdown-menu>[slot=trigger]:not([variant]):active:not(:disabled){background:var(--color-overlay-active);box-shadow:none}segmented-control>dropdown-menu>[slot=trigger]:not([variant])[aria-pressed=true]:not(:disabled),segmented-control>dropdown-menu>[slot=trigger]:not([variant])[aria-current]:not([aria-current=false]):not(:disabled),segmented-control>dropdown-menu>[slot=trigger]:not([variant])[aria-expanded=true]:not(:disabled),[tone] segmented-control>dropdown-menu>[slot=trigger]:not([variant])[aria-pressed=true]:not(:disabled),[tone] segmented-control>dropdown-menu>[slot=trigger]:not([variant])[aria-current]:not([aria-current=false]):not(:disabled),[tone] segmented-control>dropdown-menu>[slot=trigger]:not([variant])[aria-expanded=true]:not(:disabled){background:linear-gradient(var(--color-overlay-active),var(--color-overlay-active))}segmented-control[variant=glass]>button,segmented-control[variant=glass]>dropdown-menu{backdrop-filter:blur(20px) brightness(.95) saturate(1.5);-webkit-backdrop-filter:blur(20px) brightness(.95) saturate(1.5)}segmented-control[variant=glass]>button:not(:disabled):hover,segmented-control[variant=glass]>dropdown-menu:has(>[slot=trigger]:not(:disabled):hover){backdrop-filter:blur(20px) brightness(.95) saturate(1.8);-webkit-backdrop-filter:blur(20px) brightness(.95) saturate(1.8)}segmented-control[variant=glass]>button:not(:disabled):active,segmented-control[variant=glass]>dropdown-menu:has(>[slot=trigger]:not(:disabled):active){backdrop-filter:blur(20px) brightness(.95) saturate(2.2);-webkit-backdrop-filter:blur(20px) brightness(.95) saturate(2.2)}segmented-control[variant=glass]>button:not(:disabled)[aria-pressed=true],segmented-control[variant=glass]>button:not(:disabled)[aria-current]:not([aria-current=false]),segmented-control[variant=glass]>dropdown-menu:has(>[slot=trigger]:not(:disabled)[aria-pressed=true]),segmented-control[variant=glass]>dropdown-menu:has(>[slot=trigger]:not(:disabled)[aria-current]:not([aria-current=false])){backdrop-filter:blur(20px) brightness(.95) saturate(1.8);-webkit-backdrop-filter:blur(20px) brightness(.95) saturate(1.8)}segmented-control[variant=glass]>button:not(:disabled)[aria-expanded=true],segmented-control[variant=glass]>dropdown-menu:has(>[slot=trigger]:not(:disabled)[aria-expanded=true]){backdrop-filter:blur(20px) brightness(.95) saturate(2);-webkit-backdrop-filter:blur(20px) brightness(.95) saturate(2)}segmented-control>dropdown-menu:not(:last-child):after{content:"";position:absolute;top:0;bottom:0;right:0;width:.5px;background:var(--tint-200);pointer-events:none}[tone=dark] segmented-control>dropdown-menu:not(:last-child):after{background:var(--tint-400)}ui-spinner{display:inline-flex;align-items:center;justify-content:center;line-height:0;color:inherit}ui-spinner .spin,.spin{display:inline-flex;animation:ui-spinner-spin 1s steps(8,end) infinite}@keyframes ui-spinner-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion: reduce){.spin{animation:none}}system-modal{display:flex;flex-direction:column;width:min(400px,100%);box-sizing:border-box;padding:var(--space-32) var(--space-24);border-radius:var(--radius-12)}system-modal header{display:flex;flex-direction:column;align-items:center;gap:var(--space-16);text-align:center}system-modal header>hgroup{display:flex;flex-direction:column;align-items:center;gap:var(--space-4);max-width:100%}system-modal header h2{margin:0;font-size:var(--text-lg);font-weight:600;letter-spacing:.01em;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}system-modal header p{margin:0;font-size:var(--text-base);opacity:.7;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}ui-pill{display:inline-block;vertical-align:baseline;margin:2px 0;padding:0 var(--space-8);font-size:var(--text-sm);font-weight:500;line-height:1.7;border-radius:var(--radius-full);border:1px solid var(--neutral-300);background:var(--neutral-200);color:var(--neutral-900);white-space:nowrap}ui-pill[color=gray]{border-color:var(--neutral-300);background:var(--neutral-200);color:var(--neutral-900)}ui-pill[color=red]{border-color:var(--red-200);background:var(--red-100);color:var(--red-950)}ui-pill[color=orange]{border-color:var(--orange-200);background:var(--orange-100);color:var(--orange-950)}ui-pill[color=yellow]{border-color:var(--yellow-200);background:var(--yellow-100);color:var(--yellow-950)}ui-pill[color=green]{border-color:var(--green-200);background:var(--green-100);color:var(--green-950)}ui-pill[color=blue]{border-color:var(--blue-200);background:var(--blue-100);color:var(--blue-950)}ui-pill[color=purple]{border-color:var(--purple-200);background:var(--purple-100);color:var(--purple-950)}',Td=new CSSStyleSheet;Td.replaceSync(PA);const Id=new CSSStyleSheet;try{document.adoptedStyleSheets=[...document.adoptedStyleSheets,Td,Id]}catch{}Hv(document);function Zv(n){Id.replaceSync(n)}function Al(){Zv("")}function Cd(n){try{n.adoptedStyleSheets=[...n.adoptedStyleSheets,Td,Id]}catch{}Hv(n)}const DA=new Set(["target","currentTarget","eventPhase","defaultPrevented","isTrusted","timeStamp","srcElement","returnValue","cancelBubble","NONE","CAPTURING_PHASE","AT_TARGET","BUBBLING_PHASE","composedPath","stopPropagation","stopImmediatePropagation","preventDefault","initEvent"]);function LA(n){for(const t of Object.keys(n))if(DA.has(t))throw new Error(`Event payload key "${t}" is reserved; choose a different property name`)}function zA(n,t){LA(t);for(const e of Object.keys(t))Object.defineProperty(n,e,{value:t[e],writable:!0,enumerable:!0,configurable:!0})}function je(){class n extends Event{constructor(e,r){const{type:i,bubbles:s,cancelable:o,composed:a,...c}=r??{};if(i!==void 0)throw new Error('Do not pass "type" in init; use the constructor argument instead');super(e,{bubbles:s,cancelable:o,composed:a}),zA(this,c)}}return n}class zt extends globalThis.EventTarget{}function OA(n,t,e){const r=n.dispose.bind(n);n.dispose=()=>{if(!t())return e(),r()}}function ma(n){var e;class t extends n{constructor(...s){super(...s);S(this,e,!1);OA(this,()=>l(this,e),()=>{w(this,e,!0)})}[Symbol.dispose](){this.dispose()}get disposed(){return l(this,e)}}return e=new WeakMap,t}const MA=je(),NA=je(),UA=je(),el=je(),FA=je(),hu=je(),Be=4,ft=6,io=2,ju=2,Rd=8,HA=ft,Pd="auto",Kn="auto",Ln=128,ug=50,ae=16,Br=Ln*Be+ae*(Be-1),so=Ln*ft+ae*(ft-1),ZA=Br+ae*2,WA=200,BA=4,Ma=150,jA=10,hg=2,dg=8,VA=300,GA=4;function Wv(n){return Vv(n)}function Bv(n,t){return Vv(n.flatMap(e=>qv(e,t)))}function jv(n){const t=[],e=new Set;for(const r of n){if(r.type==="row"){t.push(`Top-level rows are invalid: ${r.id}`);continue}Yv(r,"strip",t,e)}return{valid:t.length===0,errors:t}}function br(n){const t=Wv(n),e=jv(t);if(!e.valid)throw new Error(`Invalid layout: ${e.errors.join("; ")}`);return{totalNodes:t.length,nodes:t.filter(r=>r.type!=="row").map(JA)}}function Vv(n){const t=[];for(const e of n){const r=Gv(e);for(const i of r){if(i.type==="row"){t.push(...i.children.map(An));continue}t.push(i)}}return t}function Gv(n){switch(n.type){case"card":return[An(n)];case"row":{const t=n.children.map(An);return t.length===0?[]:t.length===1?[t[0]]:[{...n,children:t}]}case"stack":{const t=[];for(const e of n.children){const r=Gv(e);for(const i of r){if(i.type==="stack"){t.push(...i.children.map(Vu));continue}if(i.type==="row"){t.push({...i,children:i.children.map(An)});continue}t.push(An(i))}}return t.length===0?[]:t.length===1?[Vu(t[0])]:[{...n,children:t}]}}}function qv(n,t){switch(n.type){case"card":return n.artifactID===t?[]:[An(n)];case"row":{const e=n.children.filter(r=>r.artifactID!==t).map(An);return e.length===0?[]:e.length===1?[e[0]]:[{...n,children:e}]}case"stack":{const e=n.children.flatMap(r=>qv(r,t).filter(s=>s.type!=="stack"));return e.length===0?[]:e.length===1?[Vu(e[0])]:[{...n,children:e}]}}}function Yv(n,t,e,r){switch(n.type){case"card":Kv(n,t,e,r);return;case"row":qA(n,t,e,r);return;case"stack":YA(n,t,e,r);return}}function Kv(n,t,e,r){"id"in n&&e.push(`Card ${Cs(n)} must not include id`),typeof n.artifactID!="string"||n.artifactID.length===0?e.push("Card is missing artifactID"):r.has(n.artifactID)?e.push(`Duplicate artifactID in layout: ${n.artifactID}`):r.add(n.artifactID),KA(n.width)||e.push(`Card ${Cs(n)} width must be an integer in the range ${io}-${Rd}`),Xv(n.height)||e.push(`Card ${Cs(n)} height must be an integer in the range 2-6 or "auto"`);const i=Ei(n.width);t==="stack"&&i!==Be&&e.push(`Stack child ${Cs(n)} width must be ${Be}`),t==="row"&&i<io&&e.push(`Row child ${Cs(n)} must be at least 2 columns wide`)}function Cs(n){return typeof n.artifactID=="string"&&n.artifactID.length>0?n.artifactID:"<missing artifactID>"}function qA(n,t,e,r){if(Jv(n.id,e),t!=="stack"&&e.push(`Row ${n.id} may only appear inside a stack`),Xv(n.height,GA)||e.push(`Row ${n.id} height must be an integer in the range 2-4 or "auto"`),!Array.isArray(n.children)||n.children.length===0){e.push(`Row ${n.id} must contain card nodes`);return}let i=0;for(const s of n.children){if(s.type!=="card"){e.push(`Row ${n.id} must contain only card nodes`);continue}Kv(s,"row",e,r),i+=Ei(s.width)}i!==Be&&e.push(`Row ${n.id} children must sum to 4 columns`)}function YA(n,t,e,r){if(Jv(n.id,e),t!=="strip"&&e.push(`Invalid nested stack at ${n.id}; stack children cannot contain another nested stack`),!Array.isArray(n.children)||n.children.length===0){e.push(`Stack ${n.id} must contain at least one child`);return}let i=0,s=0;for(const a of n.children){if(a.type==="stack"){e.push(`Stack ${n.id} cannot contain another nested stack`);continue}if(Yv(a,"stack",e,r),a.height===Kn){s+=1;continue}i+=a.height}if(i>ft&&e.push(`Stack ${n.id} exceeds the 6-row budget`),s===0)return;const o=ft-i;if(o<s*ju||o%s!==0){e.push(`Stack ${n.id} has auto-height children that cannot resolve to whole height >= 2`);return}o/s<ju&&e.push(`Stack ${n.id} has auto-height children below the minimum row size`)}function Jv(n,t){(typeof n!="string"||n.length===0)&&t.push(`Node id must be a non-empty string: ${String(n)}`)}function KA(n){return n===Pd||Number.isInteger(n)&&n>=io&&n<=Rd}function Xv(n,t=HA){return n===Kn||Number.isInteger(n)&&n>=ju&&n<=t}function Ei(n){return n===Pd?Be:n}function JA(n){if(n.type==="card")return{id:n.artifactID,type:"card",width:Ei(n.width),cards:[{id:n.artifactID,artifactID:n.artifactID,col:1,row:1,width:Ei(n.width),height:Qv(n.height,ft)}]};const t=XA(n.children),e=[];let r=1;for(let i=0;i<n.children.length;i+=1){const s=n.children[i],o=t[i];if(s.type==="card")e.push({id:s.artifactID,artifactID:s.artifactID,col:1,row:r,width:Be,height:o});else{let a=1;for(const c of s.children)e.push({id:c.artifactID,artifactID:c.artifactID,col:a,row:r,width:Ei(c.width),height:o}),a+=Ei(c.width)}r+=o}return{id:n.id,type:"stack",width:e.reduce((i,s)=>Math.max(i,s.col+s.width-1),1),cards:e}}function XA(n){let t=0,e=0;for(const i of n)i.height===Kn?e+=1:t+=i.height;const r=e>0?(ft-t)/e:0;return n.map(i=>Qv(i.height,r))}function Qv(n,t){return n===Kn?t:n}function An(n){return{...n}}function Vu(n){return n.type==="card"?An(n):{...n,children:n.children.map(An)}}function ey(n,t={}){return{type:"card",artifactID:n,width:t.width??Pd,height:t.height??Kn}}function tl(n){return n.layout.flatMap(ty)}function ty(n){switch(n.type){case"card":return[n.artifactID];case"row":return n.children.map(t=>t.artifactID);case"stack":return n.children.flatMap(ty)}}const oe=je(),Gu=je(),hi=je(),QA=je();function e$(n){class t extends Error{constructor(r,i){super(r),this.name=n,i&&Object.assign(this,i)}}return t}const ny=e$("RequestError"),t$=200,n$=300;class r${constructor(t,e){g(this,"serverURL");g(this,"token");this.serverURL=t.replace(/\/$/,""),this.token=e.token}async requestJSON(t,e,r){const i=await this.request(t,e,r!==void 0?JSON.stringify(r):void 0,r!==void 0?{"content-type":"application/json"}:void 0),s=await i$(i);if(!i.ok||i.status<t$||i.status>=n$)throw this.createError(typeof s.error=="string"?s.error:i.statusText,i.status);return s}async requestVoid(t,e,r){const i=await this.request(t,e,r!==void 0?JSON.stringify(r):void 0,r!==void 0?{"content-type":"application/json"}:void 0);if(!i.ok)throw this.createError(await du(i,i.statusText),i.status)}async requestText(t,e){const r=await this.request(t,e);if(!r.ok)throw this.createError(await du(r,r.statusText),r.status);return r.text()}async requestRawVoid(t,e,r){const i=await this.request(t,e,r,{"content-type":"text/markdown; charset=utf-8"});if(!i.ok)throw this.createError(await du(i,i.statusText),i.status)}createError(t,e){const r={serverURL:this.serverURL};return e!==void 0&&(r.status=e),new ny(t,r)}async request(t,e,r,i){const s=`${this.serverURL}${e}`;try{return await fetch(s,{method:t,headers:this.buildHeaders(i),body:r})}catch(o){throw this.createError(o instanceof Error?o.message:"Failed to reach server")}}buildHeaders(t){const e={...t??{}};return this.token&&(e.Authorization=`Bearer ${this.token}`),Object.keys(e).length>0?e:void 0}}async function i$(n){try{return await n.json()}catch{const t=await n.text().catch(()=>"");return t?{message:t}:{}}}async function du(n,t){try{const e=await n.json();if(typeof e.error=="string")return e.error;if(typeof e.message=="string")return e.message}catch{}return t}function s$(n){return n.map(t=>`${t.name} (${t.id})`).join(", ")}var Bt,Hl,ry;class o${constructor(t){S(this,Hl);S(this,Bt);w(this,Bt,t)}list(){return l(this,Bt).requestJSON("GET","/screens")}async get(t={}){const e=await p(this,Hl,ry).call(this,t.screenID);return l(this,Bt).requestJSON("GET",`/screens/${encodeURIComponent(e)}`)}create(t){const e={name:t.name};return t.id!==void 0&&(e.id=t.id),l(this,Bt).requestJSON("POST","/screens",e)}update(t){const{screenID:e,...r}=t;return l(this,Bt).requestJSON("PATCH",`/screens/${encodeURIComponent(e)}`,r)}remove(t){return l(this,Bt).requestJSON("DELETE",`/screens/${encodeURIComponent(t.screenID)}`)}}Bt=new WeakMap,Hl=new WeakSet,ry=async function(t){if(t!==void 0)return t;const{screens:e}=await this.list();if(e.length===1)return e[0].id;throw l(this,Bt).createError(`screenID is required when multiple screens exist. Available screens: ${s$(e)}`)};var bn;class a${constructor(t){S(this,bn);w(this,bn,t)}create(t){const e={kind:t.kind,title:t.title};switch(t.kind){case"path":e.path=t.path;break;case"url":e.url=t.url;break}return e.screenID=t.screenID,l(this,bn).requestJSON("POST","/artifacts",e)}list(t={}){const e=new URLSearchParams;t.screenID!==void 0&&e.set("screenID",t.screenID);const r=e.toString();return l(this,bn).requestJSON("GET",r?`/artifacts?${r}`:"/artifacts")}get(t){return l(this,bn).requestJSON("GET",`/artifacts/${encodeURIComponent(t.artifactID)}`)}update(t){const e={};return t.title!==void 0&&(e.title=t.title),t.path!==void 0&&(e.path=t.path),t.url!==void 0&&(e.url=t.url),l(this,bn).requestJSON("PATCH",`/artifacts/${encodeURIComponent(t.artifactID)}`,e)}delete(t){return l(this,bn).requestJSON("DELETE",`/artifacts/${encodeURIComponent(t.artifactID)}`)}}bn=new WeakMap;var Di;class l${constructor(t){S(this,Di);w(this,Di,t)}get(t){return l(this,Di).requestText("GET",`/markdown/${encodeURIComponent(t.artifactID)}`)}update(t){return l(this,Di).requestRawVoid("PUT",`/markdown/${encodeURIComponent(t.artifactID)}`,t.content)}}Di=new WeakMap;var _r;class c${constructor(t){S(this,_r);w(this,_r,t)}get(){return l(this,_r).requestJSON("GET","/display")}patch(t){const e={};return t.activeScreenID!==void 0&&(e.activeScreenID=t.activeScreenID),t.activeThemeName!==void 0&&(e.activeThemeName=t.activeThemeName),l(this,_r).requestVoid("PATCH","/display",e)}focus(t){return l(this,_r).requestJSON("POST","/display/focus",{artifactID:t.artifactID})}}_r=new WeakMap;var wn;class u${constructor(t,e={}){g(this,"screens");g(this,"artifacts");g(this,"display");g(this,"markdown");S(this,wn);w(this,wn,new r$(t,e)),this.screens=new o$(l(this,wn)),this.artifacts=new a$(l(this,wn)),this.display=new c$(l(this,wn)),this.markdown=new l$(l(this,wn))}health(){return l(this,wn).requestJSON("GET","/health")}}wn=new WeakMap;const h$={focusCommandInput:{label:"Focus Command Input",trigger:{key:"k",meta:!0}}},d$="Local",p$="store-";function _e(n){return new URL(n).origin}function f$(n){return{servers:[{url:_e(n),name:d$}],activeServerURL:null,activeScreenID:null,tabs:{},screens:{}}}function g$(n,t){return[...n.tabs[_e(t)]??[]]}function m$(n,t,e){const r=_e(t),i=n.tabs[r]??[];return i.includes(e)?n:{...n,tabs:{...n.tabs,[r]:[...i,e]}}}function v$(n,t,e){const r=_e(t),i=n.tabs[r]??[],s=i.filter(a=>a!==e);if(s.length===i.length)return n;const o={...n.tabs};return s.length===0?delete o[r]:o[r]=s,{...n,tabs:o}}function y$(n,t,e=Date.now()){const r=n.screens[t]??{scrollPosition:0};return{...n,screens:{...n.screens,[t]:{...r,lastActivatedAt:e}}}}var kr,xr,Er;class b$ extends zt{constructor(e,r,i={}){super();S(this,kr);S(this,xr);S(this,Er);w(this,kr,`${p$}${e}`),w(this,xr,i.storage??w$());const s=l(this,xr).getItem(l(this,kr));s===null?(w(this,Er,r),l(this,xr).setItem(l(this,kr),JSON.stringify(r))):w(this,Er,S$(JSON.parse(s),r))}get(){return l(this,Er)}set(e){w(this,Er,e),l(this,xr).setItem(l(this,kr),JSON.stringify(e)),this.dispatchEvent(new oe("change"))}}kr=new WeakMap,xr=new WeakMap,Er=new WeakMap;function w$(){const n=globalThis.localStorage;if(!n)throw new Error("LocalStore: no storage adapter supplied and window.localStorage is unavailable");return n}function S$(n,t){return{servers:Array.isArray(n.servers)?n.servers:t.servers,activeServerURL:typeof n.activeServerURL=="string"||n.activeServerURL===null?n.activeServerURL:t.activeServerURL,activeScreenID:typeof n.activeScreenID=="string"||n.activeScreenID===null?n.activeScreenID:t.activeScreenID,tabs:n.tabs&&typeof n.tabs=="object"?n.tabs:t.tabs,screens:n.screens&&typeof n.screens=="object"?n.screens:t.screens}}class _$ extends Event{constructor(){super("theme-changed")}}const k$=ma(zt);var Ar,rt,$r,qe,On,Mn,ne,gi,iy,ho,sy,oy,ay,ly,qu,Yu,Ku,cy;class x$ extends k${constructor(e){var i;super();S(this,ne);g(this,"id");g(this,"server");S(this,Ar);S(this,rt,new Map);S(this,$r);S(this,qe);S(this,On);S(this,Mn,null);S(this,ho,e=>{if(this.disposed)return;const r=e.event;switch(r.type){case"screen-updated":r.screen.id===this.id&&p(this,ne,sy).call(this,r.screen);break;case"artifact-created":r.screenID===this.id&&p(this,ne,oy).call(this,r.artifact);break;case"artifact-updated":p(this,ne,ay).call(this,r.artifact);break;case"artifact-removed":r.screenID===this.id&&p(this,ne,ly).call(this,r.artifactID);break;case"artifact-content-changed":l(this,rt).has(r.artifactID)&&this.dispatchEvent(new QA("artifact-content-changed",{artifactID:r.artifactID}));break;case"theme-changed":this.dispatchEvent(new _$);break}});this.id=e.screen.id,this.server=e.server,w(this,Ar,e.localStore),w(this,$r,e.screen.name),w(this,qe,structuredClone(e.screen.layout));const r=((i=l(this,Ar).get().screens[this.id])==null?void 0:i.scrollPosition)??0;w(this,On,Math.max(0,r)),this.server.addEventListener("server-event",l(this,ho)),p(this,ne,iy).call(this)}get name(){return l(this,$r)}get layout(){return l(this,qe)}get scrollPosition(){return l(this,On)}get artifacts(){return l(this,rt)}setScrollPosition(e){p(this,ne,gi).call(this);const r=Math.max(0,e);r!==l(this,On)&&(w(this,On,r),p(this,ne,cy).call(this),this.dispatchEvent(new oe("change")))}setLayout(e){p(this,ne,gi).call(this);const r=Wv(e);if(!jv(r).valid)return;const s=p(this,ne,Yu).call(this);w(this,qe,r),w(this,Mn,{layout:r,snapshot:s}),this.dispatchEvent(new oe("change")),this.server.client.screens.update({screenID:this.id,layout:r.map(o=>structuredClone(o))}).catch(()=>{var o;this.disposed||((o=l(this,Mn))==null?void 0:o.layout)===r&&(w(this,Mn,null),p(this,ne,Ku).call(this,s),this.dispatchEvent(new oe("change")))})}rename(e){p(this,ne,gi).call(this),w(this,$r,e),this.dispatchEvent(new oe("change")),this.server.client.screens.update({screenID:this.id,name:e}).catch(()=>{})}async remove(){p(this,ne,gi).call(this),await this.server.client.screens.remove({screenID:this.id})}removeArtifact(e){if(p(this,ne,gi).call(this),!l(this,rt).has(e))return;const r=p(this,ne,Yu).call(this);p(this,ne,qu).call(this,e),this.dispatchEvent(new oe("change")),this.server.client.artifacts.delete({artifactID:e}).catch(()=>{this.disposed||(p(this,ne,Ku).call(this,r),this.dispatchEvent(new oe("change")))})}dispose(){this.server.removeEventListener("server-event",l(this,ho))}}Ar=new WeakMap,rt=new WeakMap,$r=new WeakMap,qe=new WeakMap,On=new WeakMap,Mn=new WeakMap,ne=new WeakSet,gi=function(){if(this.disposed)throw new Error("ScreenModel is disposed")},iy=async function(){try{const e=await this.server.client.screens.get({screenID:this.id});if(this.disposed)return;for(const r of e.artifacts)l(this,rt).set(r.id,r);this.dispatchEvent(new oe("change"))}catch{}},ho=new WeakMap,sy=function(e){l(this,Mn)&&w(this,Mn,null),w(this,$r,e.name),w(this,qe,structuredClone(e.layout)),this.dispatchEvent(new oe("change"))},oy=function(e){tl({layout:l(this,qe)}).includes(e.id)||w(this,qe,[...l(this,qe),ey(e.id)]),l(this,rt).set(e.id,e),this.dispatchEvent(new oe("change"))},ay=function(e){const r=l(this,rt).get(e.id);r&&(l(this,rt).set(e.id,{...r,...e}),this.dispatchEvent(new oe("change")))},ly=function(e){p(this,ne,qu).call(this,e)&&this.dispatchEvent(new oe("change"))},qu=function(e){const r=l(this,rt).delete(e),i=tl({layout:l(this,qe)}).length,s=Bv(l(this,qe),e),o=tl({layout:s}).length;return w(this,qe,s),r||i!==o},Yu=function(){return{layout:structuredClone(l(this,qe)),artifacts:new Map([...l(this,rt).entries()].map(([e,r])=>[e,structuredClone(r)]))}},Ku=function(e){w(this,qe,structuredClone(e.layout)),l(this,rt).clear();for(const[r,i]of e.artifacts)l(this,rt).set(r,structuredClone(i))},cy=function(){const e=l(this,Ar).get();l(this,Ar).set({...e,screens:{...e.screens,[this.id]:{...e.screens[this.id],scrollPosition:l(this,On)}}})};const E$=ma(zt);var Pe,Ye,jt,po,fo,go,Je,nl,Ju,mi;class A$ extends E${constructor(e){super();S(this,Je);S(this,Pe);S(this,Ye);S(this,jt,null);S(this,po,()=>{this.disposed||p(this,Je,nl).call(this)});S(this,fo,()=>{this.disposed||p(this,Je,nl).call(this)});S(this,go,e=>{if(this.disposed)return;const r=e.event;if(r.type==="screen-removed"){this.removeTab(e.serverURL,r.screenID);const i=l(this,Pe).get();i.activeServerURL===_e(e.serverURL)&&i.activeScreenID===r.screenID&&p(this,Je,mi).call(this,e.serverURL,null);return}if(r.type==="screen-changed"){if(r.screenID===null){p(this,Je,mi).call(this,e.serverURL,null);return}const i=l(this,Ye).servers.get(_e(e.serverURL));if(!i||!i.screens.has(r.screenID))return;this.addTab(e.serverURL,r.screenID),p(this,Je,mi).call(this,e.serverURL,r.screenID)}});w(this,Pe,e.localStore),w(this,Ye,e.serverManager),l(this,Pe).addEventListener("change",l(this,po)),l(this,Ye).addEventListener("change",l(this,fo)),l(this,Ye).addEventListener("server-event",l(this,go)),p(this,Je,nl).call(this)}get activeScreen(){return l(this,jt)}get screens(){const e=l(this,Pe).get().screens,r=[];let i=0;for(const s of l(this,Ye).servers.values())for(const o of s.screens.values())r.push({server:s,screen:o,local:e[o.id]??{scrollPosition:0},index:i}),i+=1;return r.sort((s,o)=>{const a=(o.local.lastActivatedAt??0)-(s.local.lastActivatedAt??0);return a===0?s.index-o.index:a}).map(({index:s,...o})=>o)}getTabs(e){const r=_e(e),i=g$(l(this,Pe).get(),r),s=l(this,Ye).servers.get(r);return s?i.filter(o=>s.screens.has(o)):i}hasTab(e,r){return this.getTabs(e).includes(r)}addTab(e,r){const i=_e(e),s=l(this,Ye).servers.get(i);s&&!s.screens.has(r)||p(this,Je,Ju).call(this,m$(l(this,Pe).get(),i,r))}removeTab(e,r){p(this,Je,Ju).call(this,v$(l(this,Pe).get(),e,r))}setActive(e,r){const i=_e(e),s=l(this,Ye).servers.get(i);!s||!s.screens.has(r)||p(this,Je,mi).call(this,i,r)&&s.client.display.patch({activeScreenID:r}).catch(()=>{})}clearActive(){const e=l(this,Pe).get().activeServerURL;if(!e||!p(this,Je,mi).call(this,e,null))return;const r=l(this,Ye).servers.get(e);r==null||r.client.display.patch({activeScreenID:null}).catch(()=>{})}dispose(){var e;l(this,Pe).removeEventListener("change",l(this,po)),l(this,Ye).removeEventListener("change",l(this,fo)),l(this,Ye).removeEventListener("server-event",l(this,go)),(e=l(this,jt))==null||e.dispose(),w(this,jt,null)}}Pe=new WeakMap,Ye=new WeakMap,jt=new WeakMap,po=new WeakMap,fo=new WeakMap,go=new WeakMap,Je=new WeakSet,nl=function(){var c,u,h;const{activeServerURL:e,activeScreenID:r}=l(this,Pe).get(),i=e?l(this,Ye).servers.get(e)??null:null,s=i&&r?i.screens.get(r)??null:null,o=((c=l(this,jt))==null?void 0:c.id)??null,a=(s==null?void 0:s.id)??null;o===a&&((u=l(this,jt))==null?void 0:u.server)===i||((h=l(this,jt))==null||h.dispose(),w(this,jt,i&&s?new x$({screen:s,server:i,localStore:l(this,Pe)}):null),i&&i.acpClient.setScreenContext(s?{screenID:s.id,screenName:s.name}:null),this.dispatchEvent(new MA("active-screen-changed")))},Ju=function(e){e!==l(this,Pe).get()&&(l(this,Pe).set(e),this.dispatchEvent(new NA("tabs-changed")))},mi=function(e,r){const i=_e(e),s=l(this,Pe).get();if(s.activeServerURL===i&&s.activeScreenID===r)return!1;const o=r===null?{...s,activeServerURL:i,activeScreenID:r}:y$({...s,activeServerURL:i,activeScreenID:r},r);return l(this,Pe).set(o),!0};const uy="0123456789ABCDEFGHJKMNPQRSTVWXYZ",$l=32,$$=16,hy=10,pg=0xffffffffffff;var wr;(function(n){n.Base32IncorrectEncoding="B32_ENC_INVALID",n.DecodeTimeInvalidCharacter="DEC_TIME_CHAR",n.DecodeTimeValueMalformed="DEC_TIME_MALFORMED",n.EncodeTimeNegative="ENC_TIME_NEG",n.EncodeTimeSizeExceeded="ENC_TIME_SIZE_EXCEED",n.EncodeTimeValueMalformed="ENC_TIME_MALFORMED",n.PRNGDetectFailure="PRNG_DETECT",n.ULIDInvalid="ULID_INVALID",n.Unexpected="UNEXPECTED",n.UUIDInvalid="UUID_INVALID"})(wr||(wr={}));class Fs extends Error{constructor(t,e){super(`${e} (${t})`),this.name="ULIDError",this.code=t}}function T$(n){const t=Math.floor(n()*$l)%$l;return uy.charAt(t)}function I$(n){const t=C$(),e=t&&(t.crypto||t.msCrypto)||null;if(typeof(e==null?void 0:e.getRandomValues)=="function")return()=>{const r=new Uint8Array(1);return e.getRandomValues(r),r[0]/256};if(typeof(e==null?void 0:e.randomBytes)=="function")return()=>e.randomBytes(1).readUInt8()/256;throw new Fs(wr.PRNGDetectFailure,"Failed to find a reliable PRNG")}function C$(){return D$()?self:typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:null}function R$(n,t){let e="";for(;n>0;n--)e=T$(t)+e;return e}function P$(n,t=hy){if(isNaN(n))throw new Fs(wr.EncodeTimeValueMalformed,`Time must be a number: ${n}`);if(n>pg)throw new Fs(wr.EncodeTimeSizeExceeded,`Cannot encode a time larger than ${pg}: ${n}`);if(n<0)throw new Fs(wr.EncodeTimeNegative,`Time must be positive: ${n}`);if(Number.isInteger(n)===!1)throw new Fs(wr.EncodeTimeValueMalformed,`Time must be an integer: ${n}`);let e,r="";for(let i=t;i>0;i--)e=n%$l,r=uy.charAt(e)+r,n=(n-e)/$l;return r}function D$(){return typeof WorkerGlobalScope<"u"&&self instanceof WorkerGlobalScope}function Dd(n,t){const e=I$(),r=Date.now();return P$(r,hy)+R$($$,e)}function A(n,t,e){function r(a,c){if(a._zod||Object.defineProperty(a,"_zod",{value:{def:c,constr:o,traits:new Set},enumerable:!1}),a._zod.traits.has(n))return;a._zod.traits.add(n),t(a,c);const u=o.prototype,h=Object.keys(u);for(let f=0;f<h.length;f++){const y=h[f];y in a||(a[y]=u[y].bind(a))}}const i=(e==null?void 0:e.Parent)??Object;class s extends i{}Object.defineProperty(s,"name",{value:n});function o(a){var c;const u=e!=null&&e.Parent?new s:this;r(u,a),(c=u._zod).deferred??(c.deferred=[]);for(const h of u._zod.deferred)h();return u}return Object.defineProperty(o,"init",{value:r}),Object.defineProperty(o,Symbol.hasInstance,{value:a=>{var c,u;return e!=null&&e.Parent&&a instanceof e.Parent?!0:(u=(c=a==null?void 0:a._zod)==null?void 0:c.traits)==null?void 0:u.has(n)}}),Object.defineProperty(o,"name",{value:n}),o}class Ci extends Error{constructor(){super("Encountered Promise during synchronous parse. Use .parseAsync() instead.")}}class dy extends Error{constructor(t){super(`Encountered unidirectional transform during encode: ${t}`),this.name="ZodEncodeError"}}const py={};function Jn(n){return py}function fy(n){const t=Object.values(n).filter(r=>typeof r=="number");return Object.entries(n).filter(([r,i])=>t.indexOf(+r)===-1).map(([r,i])=>i)}function Xu(n,t){return typeof t=="bigint"?t.toString():t}function hc(n){return{get value(){{const t=n();return Object.defineProperty(this,"value",{value:t}),t}}}}function Ld(n){return n==null}function zd(n){const t=n.startsWith("^")?1:0,e=n.endsWith("$")?n.length-1:n.length;return n.slice(t,e)}function L$(n,t){const e=(n.toString().split(".")[1]||"").length,r=t.toString();let i=(r.split(".")[1]||"").length;if(i===0&&/\d?e-\d?/.test(r)){const c=r.match(/\d?e-(\d?)/);c!=null&&c[1]&&(i=Number.parseInt(c[1]))}const s=e>i?e:i,o=Number.parseInt(n.toFixed(s).replace(".","")),a=Number.parseInt(t.toFixed(s).replace(".",""));return o%a/10**s}const fg=Symbol("evaluating");function ee(n,t,e){let r;Object.defineProperty(n,t,{get(){if(r!==fg)return r===void 0&&(r=fg,r=e()),r},set(i){Object.defineProperty(n,t,{value:i})},configurable:!0})}function Qr(n,t,e){Object.defineProperty(n,t,{value:e,writable:!0,enumerable:!0,configurable:!0})}function rr(...n){const t={};for(const e of n){const r=Object.getOwnPropertyDescriptors(e);Object.assign(t,r)}return Object.defineProperties({},t)}function gg(n){return JSON.stringify(n)}function z$(n){return n.toLowerCase().trim().replace(/[^\w\s-]/g,"").replace(/[\s_-]+/g,"-").replace(/^-+|-+$/g,"")}const gy="captureStackTrace"in Error?Error.captureStackTrace:(...n)=>{};function oo(n){return typeof n=="object"&&n!==null&&!Array.isArray(n)}const O$=hc(()=>{var n;if(typeof navigator<"u"&&((n=navigator==null?void 0:navigator.userAgent)!=null&&n.includes("Cloudflare")))return!1;try{const t=Function;return new t(""),!0}catch{return!1}});function ls(n){if(oo(n)===!1)return!1;const t=n.constructor;if(t===void 0||typeof t!="function")return!0;const e=t.prototype;return!(oo(e)===!1||Object.prototype.hasOwnProperty.call(e,"isPrototypeOf")===!1)}function my(n){return ls(n)?{...n}:Array.isArray(n)?[...n]:n}const M$=new Set(["string","number","symbol"]);function cs(n){return n.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function ir(n,t,e){const r=new n._zod.constr(t??n._zod.def);return(!t||e!=null&&e.parent)&&(r._zod.parent=n),r}function O(n){const t=n;if(!t)return{};if(typeof t=="string")return{error:()=>t};if((t==null?void 0:t.message)!==void 0){if((t==null?void 0:t.error)!==void 0)throw new Error("Cannot specify both `message` and `error` params");t.error=t.message}return delete t.message,typeof t.error=="string"?{...t,error:()=>t.error}:t}function N$(n){return Object.keys(n).filter(t=>n[t]._zod.optin==="optional"&&n[t]._zod.optout==="optional")}const U$={safeint:[Number.MIN_SAFE_INTEGER,Number.MAX_SAFE_INTEGER],int32:[-2147483648,2147483647],uint32:[0,4294967295],float32:[-34028234663852886e22,34028234663852886e22],float64:[-Number.MAX_VALUE,Number.MAX_VALUE]};function F$(n,t){const e=n._zod.def,r=e.checks;if(r&&r.length>0)throw new Error(".pick() cannot be used on object schemas containing refinements");const s=rr(n._zod.def,{get shape(){const o={};for(const a in t){if(!(a in e.shape))throw new Error(`Unrecognized key: "${a}"`);t[a]&&(o[a]=e.shape[a])}return Qr(this,"shape",o),o},checks:[]});return ir(n,s)}function H$(n,t){const e=n._zod.def,r=e.checks;if(r&&r.length>0)throw new Error(".omit() cannot be used on object schemas containing refinements");const s=rr(n._zod.def,{get shape(){const o={...n._zod.def.shape};for(const a in t){if(!(a in e.shape))throw new Error(`Unrecognized key: "${a}"`);t[a]&&delete o[a]}return Qr(this,"shape",o),o},checks:[]});return ir(n,s)}function Z$(n,t){if(!ls(t))throw new Error("Invalid input to extend: expected a plain object");const e=n._zod.def.checks;if(e&&e.length>0){const s=n._zod.def.shape;for(const o in t)if(Object.getOwnPropertyDescriptor(s,o)!==void 0)throw new Error("Cannot overwrite keys on object schemas containing refinements. Use `.safeExtend()` instead.")}const i=rr(n._zod.def,{get shape(){const s={...n._zod.def.shape,...t};return Qr(this,"shape",s),s}});return ir(n,i)}function W$(n,t){if(!ls(t))throw new Error("Invalid input to safeExtend: expected a plain object");const e=rr(n._zod.def,{get shape(){const r={...n._zod.def.shape,...t};return Qr(this,"shape",r),r}});return ir(n,e)}function B$(n,t){const e=rr(n._zod.def,{get shape(){const r={...n._zod.def.shape,...t._zod.def.shape};return Qr(this,"shape",r),r},get catchall(){return t._zod.def.catchall},checks:[]});return ir(n,e)}function j$(n,t,e){const i=t._zod.def.checks;if(i&&i.length>0)throw new Error(".partial() cannot be used on object schemas containing refinements");const o=rr(t._zod.def,{get shape(){const a=t._zod.def.shape,c={...a};if(e)for(const u in e){if(!(u in a))throw new Error(`Unrecognized key: "${u}"`);e[u]&&(c[u]=n?new n({type:"optional",innerType:a[u]}):a[u])}else for(const u in a)c[u]=n?new n({type:"optional",innerType:a[u]}):a[u];return Qr(this,"shape",c),c},checks:[]});return ir(t,o)}function V$(n,t,e){const r=rr(t._zod.def,{get shape(){const i=t._zod.def.shape,s={...i};if(e)for(const o in e){if(!(o in s))throw new Error(`Unrecognized key: "${o}"`);e[o]&&(s[o]=new n({type:"nonoptional",innerType:i[o]}))}else for(const o in i)s[o]=new n({type:"nonoptional",innerType:i[o]});return Qr(this,"shape",s),s}});return ir(t,r)}function Ai(n,t=0){var e;if(n.aborted===!0)return!0;for(let r=t;r<n.issues.length;r++)if(((e=n.issues[r])==null?void 0:e.continue)!==!0)return!0;return!1}function $i(n,t){return t.map(e=>{var r;return(r=e).path??(r.path=[]),e.path.unshift(n),e})}function Na(n){return typeof n=="string"?n:n==null?void 0:n.message}function Xn(n,t,e){var i,s,o,a,c,u;const r={...n,path:n.path??[]};if(!n.message){const h=Na((o=(s=(i=n.inst)==null?void 0:i._zod.def)==null?void 0:s.error)==null?void 0:o.call(s,n))??Na((a=t==null?void 0:t.error)==null?void 0:a.call(t,n))??Na((c=e.customError)==null?void 0:c.call(e,n))??Na((u=e.localeError)==null?void 0:u.call(e,n))??"Invalid input";r.message=h}return delete r.inst,delete r.continue,t!=null&&t.reportInput||delete r.input,r}function Od(n){return Array.isArray(n)?"array":typeof n=="string"?"string":"unknown"}function ao(...n){const[t,e,r]=n;return typeof t=="string"?{message:t,code:"custom",input:e,inst:r}:{...t}}const vy=(n,t)=>{n.name="$ZodError",Object.defineProperty(n,"_zod",{value:n._zod,enumerable:!1}),Object.defineProperty(n,"issues",{value:t,enumerable:!1}),n.message=JSON.stringify(t,Xu,2),Object.defineProperty(n,"toString",{value:()=>n.message,enumerable:!1})},yy=A("$ZodError",vy),by=A("$ZodError",vy,{Parent:Error});function G$(n,t=e=>e.message){const e={},r=[];for(const i of n.issues)i.path.length>0?(e[i.path[0]]=e[i.path[0]]||[],e[i.path[0]].push(t(i))):r.push(t(i));return{formErrors:r,fieldErrors:e}}function q$(n,t=e=>e.message){const e={_errors:[]},r=i=>{for(const s of i.issues)if(s.code==="invalid_union"&&s.errors.length)s.errors.map(o=>r({issues:o}));else if(s.code==="invalid_key")r({issues:s.issues});else if(s.code==="invalid_element")r({issues:s.issues});else if(s.path.length===0)e._errors.push(t(s));else{let o=e,a=0;for(;a<s.path.length;){const c=s.path[a];a===s.path.length-1?(o[c]=o[c]||{_errors:[]},o[c]._errors.push(t(s))):o[c]=o[c]||{_errors:[]},o=o[c],a++}}};return r(n),e}const Md=n=>(t,e,r,i)=>{const s=r?Object.assign(r,{async:!1}):{async:!1},o=t._zod.run({value:e,issues:[]},s);if(o instanceof Promise)throw new Ci;if(o.issues.length){const a=new((i==null?void 0:i.Err)??n)(o.issues.map(c=>Xn(c,s,Jn())));throw gy(a,i==null?void 0:i.callee),a}return o.value},Nd=n=>async(t,e,r,i)=>{const s=r?Object.assign(r,{async:!0}):{async:!0};let o=t._zod.run({value:e,issues:[]},s);if(o instanceof Promise&&(o=await o),o.issues.length){const a=new((i==null?void 0:i.Err)??n)(o.issues.map(c=>Xn(c,s,Jn())));throw gy(a,i==null?void 0:i.callee),a}return o.value},dc=n=>(t,e,r)=>{const i=r?{...r,async:!1}:{async:!1},s=t._zod.run({value:e,issues:[]},i);if(s instanceof Promise)throw new Ci;return s.issues.length?{success:!1,error:new(n??yy)(s.issues.map(o=>Xn(o,i,Jn())))}:{success:!0,data:s.value}},Y$=dc(by),pc=n=>async(t,e,r)=>{const i=r?Object.assign(r,{async:!0}):{async:!0};let s=t._zod.run({value:e,issues:[]},i);return s instanceof Promise&&(s=await s),s.issues.length?{success:!1,error:new n(s.issues.map(o=>Xn(o,i,Jn())))}:{success:!0,data:s.value}},K$=pc(by),J$=n=>(t,e,r)=>{const i=r?Object.assign(r,{direction:"backward"}):{direction:"backward"};return Md(n)(t,e,i)},X$=n=>(t,e,r)=>Md(n)(t,e,r),Q$=n=>async(t,e,r)=>{const i=r?Object.assign(r,{direction:"backward"}):{direction:"backward"};return Nd(n)(t,e,i)},eT=n=>async(t,e,r)=>Nd(n)(t,e,r),tT=n=>(t,e,r)=>{const i=r?Object.assign(r,{direction:"backward"}):{direction:"backward"};return dc(n)(t,e,i)},nT=n=>(t,e,r)=>dc(n)(t,e,r),rT=n=>async(t,e,r)=>{const i=r?Object.assign(r,{direction:"backward"}):{direction:"backward"};return pc(n)(t,e,i)},iT=n=>async(t,e,r)=>pc(n)(t,e,r),sT=/^[cC][^\s-]{8,}$/,oT=/^[0-9a-z]+$/,aT=/^[0-9A-HJKMNP-TV-Za-hjkmnp-tv-z]{26}$/,lT=/^[0-9a-vA-V]{20}$/,cT=/^[A-Za-z0-9]{27}$/,uT=/^[a-zA-Z0-9_-]{21}$/,hT=/^P(?:(\d+W)|(?!.*W)(?=\d|T\d)(\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+([.,]\d+)?S)?)?)$/,dT=/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$/,mg=n=>n?new RegExp(`^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-${n}[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$`):/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$/,pT=/^(?!\.)(?!.*\.\.)([A-Za-z0-9_'+\-\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$/,fT="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$";function gT(){return new RegExp(fT,"u")}const mT=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/,vT=/^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$/,yT=/^((25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/([0-9]|[1-2][0-9]|3[0-2])$/,bT=/^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|::|([0-9a-fA-F]{1,4})?::([0-9a-fA-F]{1,4}:?){0,6})\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,wT=/^$|^(?:[0-9a-zA-Z+/]{4})*(?:(?:[0-9a-zA-Z+/]{2}==)|(?:[0-9a-zA-Z+/]{3}=))?$/,wy=/^[A-Za-z0-9_-]*$/,ST=/^\+[1-9]\d{6,14}$/,Sy="(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))",_T=new RegExp(`^${Sy}$`);function _y(n){const t="(?:[01]\\d|2[0-3]):[0-5]\\d";return typeof n.precision=="number"?n.precision===-1?`${t}`:n.precision===0?`${t}:[0-5]\\d`:`${t}:[0-5]\\d\\.\\d{${n.precision}}`:`${t}(?::[0-5]\\d(?:\\.\\d+)?)?`}function kT(n){return new RegExp(`^${_y(n)}$`)}function xT(n){const t=_y({precision:n.precision}),e=["Z"];n.local&&e.push(""),n.offset&&e.push("([+-](?:[01]\\d|2[0-3]):[0-5]\\d)");const r=`${t}(?:${e.join("|")})`;return new RegExp(`^${Sy}T(?:${r})$`)}const ET=n=>{const t=n?`[\\s\\S]{${(n==null?void 0:n.minimum)??0},${(n==null?void 0:n.maximum)??""}}`:"[\\s\\S]*";return new RegExp(`^${t}$`)},AT=/^-?\d+$/,ky=/^-?\d+(?:\.\d+)?$/,$T=/^(?:true|false)$/i,TT=/^[^A-Z]*$/,IT=/^[^a-z]*$/,ct=A("$ZodCheck",(n,t)=>{var e;n._zod??(n._zod={}),n._zod.def=t,(e=n._zod).onattach??(e.onattach=[])}),xy={number:"number",bigint:"bigint",object:"date"},Ey=A("$ZodCheckLessThan",(n,t)=>{ct.init(n,t);const e=xy[typeof t.value];n._zod.onattach.push(r=>{const i=r._zod.bag,s=(t.inclusive?i.maximum:i.exclusiveMaximum)??Number.POSITIVE_INFINITY;t.value<s&&(t.inclusive?i.maximum=t.value:i.exclusiveMaximum=t.value)}),n._zod.check=r=>{(t.inclusive?r.value<=t.value:r.value<t.value)||r.issues.push({origin:e,code:"too_big",maximum:typeof t.value=="object"?t.value.getTime():t.value,input:r.value,inclusive:t.inclusive,inst:n,continue:!t.abort})}}),Ay=A("$ZodCheckGreaterThan",(n,t)=>{ct.init(n,t);const e=xy[typeof t.value];n._zod.onattach.push(r=>{const i=r._zod.bag,s=(t.inclusive?i.minimum:i.exclusiveMinimum)??Number.NEGATIVE_INFINITY;t.value>s&&(t.inclusive?i.minimum=t.value:i.exclusiveMinimum=t.value)}),n._zod.check=r=>{(t.inclusive?r.value>=t.value:r.value>t.value)||r.issues.push({origin:e,code:"too_small",minimum:typeof t.value=="object"?t.value.getTime():t.value,input:r.value,inclusive:t.inclusive,inst:n,continue:!t.abort})}}),CT=A("$ZodCheckMultipleOf",(n,t)=>{ct.init(n,t),n._zod.onattach.push(e=>{var r;(r=e._zod.bag).multipleOf??(r.multipleOf=t.value)}),n._zod.check=e=>{if(typeof e.value!=typeof t.value)throw new Error("Cannot mix number and bigint in multiple_of check.");(typeof e.value=="bigint"?e.value%t.value===BigInt(0):L$(e.value,t.value)===0)||e.issues.push({origin:typeof e.value,code:"not_multiple_of",divisor:t.value,input:e.value,inst:n,continue:!t.abort})}}),RT=A("$ZodCheckNumberFormat",(n,t)=>{var o;ct.init(n,t),t.format=t.format||"float64";const e=(o=t.format)==null?void 0:o.includes("int"),r=e?"int":"number",[i,s]=U$[t.format];n._zod.onattach.push(a=>{const c=a._zod.bag;c.format=t.format,c.minimum=i,c.maximum=s,e&&(c.pattern=AT)}),n._zod.check=a=>{const c=a.value;if(e){if(!Number.isInteger(c)){a.issues.push({expected:r,format:t.format,code:"invalid_type",continue:!1,input:c,inst:n});return}if(!Number.isSafeInteger(c)){c>0?a.issues.push({input:c,code:"too_big",maximum:Number.MAX_SAFE_INTEGER,note:"Integers must be within the safe integer range.",inst:n,origin:r,inclusive:!0,continue:!t.abort}):a.issues.push({input:c,code:"too_small",minimum:Number.MIN_SAFE_INTEGER,note:"Integers must be within the safe integer range.",inst:n,origin:r,inclusive:!0,continue:!t.abort});return}}c<i&&a.issues.push({origin:"number",input:c,code:"too_small",minimum:i,inclusive:!0,inst:n,continue:!t.abort}),c>s&&a.issues.push({origin:"number",input:c,code:"too_big",maximum:s,inclusive:!0,inst:n,continue:!t.abort})}}),PT=A("$ZodCheckMaxLength",(n,t)=>{var e;ct.init(n,t),(e=n._zod.def).when??(e.when=r=>{const i=r.value;return!Ld(i)&&i.length!==void 0}),n._zod.onattach.push(r=>{const i=r._zod.bag.maximum??Number.POSITIVE_INFINITY;t.maximum<i&&(r._zod.bag.maximum=t.maximum)}),n._zod.check=r=>{const i=r.value;if(i.length<=t.maximum)return;const o=Od(i);r.issues.push({origin:o,code:"too_big",maximum:t.maximum,inclusive:!0,input:i,inst:n,continue:!t.abort})}}),DT=A("$ZodCheckMinLength",(n,t)=>{var e;ct.init(n,t),(e=n._zod.def).when??(e.when=r=>{const i=r.value;return!Ld(i)&&i.length!==void 0}),n._zod.onattach.push(r=>{const i=r._zod.bag.minimum??Number.NEGATIVE_INFINITY;t.minimum>i&&(r._zod.bag.minimum=t.minimum)}),n._zod.check=r=>{const i=r.value;if(i.length>=t.minimum)return;const o=Od(i);r.issues.push({origin:o,code:"too_small",minimum:t.minimum,inclusive:!0,input:i,inst:n,continue:!t.abort})}}),LT=A("$ZodCheckLengthEquals",(n,t)=>{var e;ct.init(n,t),(e=n._zod.def).when??(e.when=r=>{const i=r.value;return!Ld(i)&&i.length!==void 0}),n._zod.onattach.push(r=>{const i=r._zod.bag;i.minimum=t.length,i.maximum=t.length,i.length=t.length}),n._zod.check=r=>{const i=r.value,s=i.length;if(s===t.length)return;const o=Od(i),a=s>t.length;r.issues.push({origin:o,...a?{code:"too_big",maximum:t.length}:{code:"too_small",minimum:t.length},inclusive:!0,exact:!0,input:r.value,inst:n,continue:!t.abort})}}),fc=A("$ZodCheckStringFormat",(n,t)=>{var e,r;ct.init(n,t),n._zod.onattach.push(i=>{const s=i._zod.bag;s.format=t.format,t.pattern&&(s.patterns??(s.patterns=new Set),s.patterns.add(t.pattern))}),t.pattern?(e=n._zod).check??(e.check=i=>{t.pattern.lastIndex=0,!t.pattern.test(i.value)&&i.issues.push({origin:"string",code:"invalid_format",format:t.format,input:i.value,...t.pattern?{pattern:t.pattern.toString()}:{},inst:n,continue:!t.abort})}):(r=n._zod).check??(r.check=()=>{})}),zT=A("$ZodCheckRegex",(n,t)=>{fc.init(n,t),n._zod.check=e=>{t.pattern.lastIndex=0,!t.pattern.test(e.value)&&e.issues.push({origin:"string",code:"invalid_format",format:"regex",input:e.value,pattern:t.pattern.toString(),inst:n,continue:!t.abort})}}),OT=A("$ZodCheckLowerCase",(n,t)=>{t.pattern??(t.pattern=TT),fc.init(n,t)}),MT=A("$ZodCheckUpperCase",(n,t)=>{t.pattern??(t.pattern=IT),fc.init(n,t)}),NT=A("$ZodCheckIncludes",(n,t)=>{ct.init(n,t);const e=cs(t.includes),r=new RegExp(typeof t.position=="number"?`^.{${t.position}}${e}`:e);t.pattern=r,n._zod.onattach.push(i=>{const s=i._zod.bag;s.patterns??(s.patterns=new Set),s.patterns.add(r)}),n._zod.check=i=>{i.value.includes(t.includes,t.position)||i.issues.push({origin:"string",code:"invalid_format",format:"includes",includes:t.includes,input:i.value,inst:n,continue:!t.abort})}}),UT=A("$ZodCheckStartsWith",(n,t)=>{ct.init(n,t);const e=new RegExp(`^${cs(t.prefix)}.*`);t.pattern??(t.pattern=e),n._zod.onattach.push(r=>{const i=r._zod.bag;i.patterns??(i.patterns=new Set),i.patterns.add(e)}),n._zod.check=r=>{r.value.startsWith(t.prefix)||r.issues.push({origin:"string",code:"invalid_format",format:"starts_with",prefix:t.prefix,input:r.value,inst:n,continue:!t.abort})}}),FT=A("$ZodCheckEndsWith",(n,t)=>{ct.init(n,t);const e=new RegExp(`.*${cs(t.suffix)}$`);t.pattern??(t.pattern=e),n._zod.onattach.push(r=>{const i=r._zod.bag;i.patterns??(i.patterns=new Set),i.patterns.add(e)}),n._zod.check=r=>{r.value.endsWith(t.suffix)||r.issues.push({origin:"string",code:"invalid_format",format:"ends_with",suffix:t.suffix,input:r.value,inst:n,continue:!t.abort})}}),HT=A("$ZodCheckOverwrite",(n,t)=>{ct.init(n,t),n._zod.check=e=>{e.value=t.tx(e.value)}});class ZT{constructor(t=[]){this.content=[],this.indent=0,this&&(this.args=t)}indented(t){this.indent+=1,t(this),this.indent-=1}write(t){if(typeof t=="function"){t(this,{execution:"sync"}),t(this,{execution:"async"});return}const r=t.split(`
|
|
5
|
+
`).filter(o=>o),i=Math.min(...r.map(o=>o.length-o.trimStart().length)),s=r.map(o=>o.slice(i)).map(o=>" ".repeat(this.indent*2)+o);for(const o of s)this.content.push(o)}compile(){const t=Function,e=this==null?void 0:this.args,i=[...((this==null?void 0:this.content)??[""]).map(s=>` ${s}`)];return new t(...e,i.join(`
|
|
6
|
+
`))}}const WT={major:4,minor:3,patch:6},me=A("$ZodType",(n,t)=>{var i;var e;n??(n={}),n._zod.def=t,n._zod.bag=n._zod.bag||{},n._zod.version=WT;const r=[...n._zod.def.checks??[]];n._zod.traits.has("$ZodCheck")&&r.unshift(n);for(const s of r)for(const o of s._zod.onattach)o(n);if(r.length===0)(e=n._zod).deferred??(e.deferred=[]),(i=n._zod.deferred)==null||i.push(()=>{n._zod.run=n._zod.parse});else{const s=(a,c,u)=>{let h=Ai(a),f;for(const y of c){if(y._zod.def.when){if(!y._zod.def.when(a))continue}else if(h)continue;const m=a.issues.length,E=y._zod.check(a);if(E instanceof Promise&&(u==null?void 0:u.async)===!1)throw new Ci;if(f||E instanceof Promise)f=(f??Promise.resolve()).then(async()=>{await E,a.issues.length!==m&&(h||(h=Ai(a,m)))});else{if(a.issues.length===m)continue;h||(h=Ai(a,m))}}return f?f.then(()=>a):a},o=(a,c,u)=>{if(Ai(a))return a.aborted=!0,a;const h=s(c,r,u);if(h instanceof Promise){if(u.async===!1)throw new Ci;return h.then(f=>n._zod.parse(f,u))}return n._zod.parse(h,u)};n._zod.run=(a,c)=>{if(c.skipChecks)return n._zod.parse(a,c);if(c.direction==="backward"){const h=n._zod.parse({value:a.value,issues:[]},{...c,skipChecks:!0});return h instanceof Promise?h.then(f=>o(f,a,c)):o(h,a,c)}const u=n._zod.parse(a,c);if(u instanceof Promise){if(c.async===!1)throw new Ci;return u.then(h=>s(h,r,c))}return s(u,r,c)}}ee(n,"~standard",()=>({validate:s=>{var o;try{const a=Y$(n,s);return a.success?{value:a.data}:{issues:(o=a.error)==null?void 0:o.issues}}catch{return K$(n,s).then(c=>{var u;return c.success?{value:c.data}:{issues:(u=c.error)==null?void 0:u.issues}})}},vendor:"zod",version:1}))}),Ud=A("$ZodString",(n,t)=>{var e;me.init(n,t),n._zod.pattern=[...((e=n==null?void 0:n._zod.bag)==null?void 0:e.patterns)??[]].pop()??ET(n._zod.bag),n._zod.parse=(r,i)=>{if(t.coerce)try{r.value=String(r.value)}catch{}return typeof r.value=="string"||r.issues.push({expected:"string",code:"invalid_type",input:r.value,inst:n}),r}}),fe=A("$ZodStringFormat",(n,t)=>{fc.init(n,t),Ud.init(n,t)}),BT=A("$ZodGUID",(n,t)=>{t.pattern??(t.pattern=dT),fe.init(n,t)}),jT=A("$ZodUUID",(n,t)=>{if(t.version){const r={v1:1,v2:2,v3:3,v4:4,v5:5,v6:6,v7:7,v8:8}[t.version];if(r===void 0)throw new Error(`Invalid UUID version: "${t.version}"`);t.pattern??(t.pattern=mg(r))}else t.pattern??(t.pattern=mg());fe.init(n,t)}),VT=A("$ZodEmail",(n,t)=>{t.pattern??(t.pattern=pT),fe.init(n,t)}),GT=A("$ZodURL",(n,t)=>{fe.init(n,t),n._zod.check=e=>{try{const r=e.value.trim(),i=new URL(r);t.hostname&&(t.hostname.lastIndex=0,t.hostname.test(i.hostname)||e.issues.push({code:"invalid_format",format:"url",note:"Invalid hostname",pattern:t.hostname.source,input:e.value,inst:n,continue:!t.abort})),t.protocol&&(t.protocol.lastIndex=0,t.protocol.test(i.protocol.endsWith(":")?i.protocol.slice(0,-1):i.protocol)||e.issues.push({code:"invalid_format",format:"url",note:"Invalid protocol",pattern:t.protocol.source,input:e.value,inst:n,continue:!t.abort})),t.normalize?e.value=i.href:e.value=r;return}catch{e.issues.push({code:"invalid_format",format:"url",input:e.value,inst:n,continue:!t.abort})}}}),qT=A("$ZodEmoji",(n,t)=>{t.pattern??(t.pattern=gT()),fe.init(n,t)}),YT=A("$ZodNanoID",(n,t)=>{t.pattern??(t.pattern=uT),fe.init(n,t)}),KT=A("$ZodCUID",(n,t)=>{t.pattern??(t.pattern=sT),fe.init(n,t)}),JT=A("$ZodCUID2",(n,t)=>{t.pattern??(t.pattern=oT),fe.init(n,t)}),XT=A("$ZodULID",(n,t)=>{t.pattern??(t.pattern=aT),fe.init(n,t)}),QT=A("$ZodXID",(n,t)=>{t.pattern??(t.pattern=lT),fe.init(n,t)}),eI=A("$ZodKSUID",(n,t)=>{t.pattern??(t.pattern=cT),fe.init(n,t)}),tI=A("$ZodISODateTime",(n,t)=>{t.pattern??(t.pattern=xT(t)),fe.init(n,t)}),nI=A("$ZodISODate",(n,t)=>{t.pattern??(t.pattern=_T),fe.init(n,t)}),rI=A("$ZodISOTime",(n,t)=>{t.pattern??(t.pattern=kT(t)),fe.init(n,t)}),iI=A("$ZodISODuration",(n,t)=>{t.pattern??(t.pattern=hT),fe.init(n,t)}),sI=A("$ZodIPv4",(n,t)=>{t.pattern??(t.pattern=mT),fe.init(n,t),n._zod.bag.format="ipv4"}),oI=A("$ZodIPv6",(n,t)=>{t.pattern??(t.pattern=vT),fe.init(n,t),n._zod.bag.format="ipv6",n._zod.check=e=>{try{new URL(`http://[${e.value}]`)}catch{e.issues.push({code:"invalid_format",format:"ipv6",input:e.value,inst:n,continue:!t.abort})}}}),aI=A("$ZodCIDRv4",(n,t)=>{t.pattern??(t.pattern=yT),fe.init(n,t)}),lI=A("$ZodCIDRv6",(n,t)=>{t.pattern??(t.pattern=bT),fe.init(n,t),n._zod.check=e=>{const r=e.value.split("/");try{if(r.length!==2)throw new Error;const[i,s]=r;if(!s)throw new Error;const o=Number(s);if(`${o}`!==s)throw new Error;if(o<0||o>128)throw new Error;new URL(`http://[${i}]`)}catch{e.issues.push({code:"invalid_format",format:"cidrv6",input:e.value,inst:n,continue:!t.abort})}}});function $y(n){if(n==="")return!0;if(n.length%4!==0)return!1;try{return atob(n),!0}catch{return!1}}const cI=A("$ZodBase64",(n,t)=>{t.pattern??(t.pattern=wT),fe.init(n,t),n._zod.bag.contentEncoding="base64",n._zod.check=e=>{$y(e.value)||e.issues.push({code:"invalid_format",format:"base64",input:e.value,inst:n,continue:!t.abort})}});function uI(n){if(!wy.test(n))return!1;const t=n.replace(/[-_]/g,r=>r==="-"?"+":"/"),e=t.padEnd(Math.ceil(t.length/4)*4,"=");return $y(e)}const hI=A("$ZodBase64URL",(n,t)=>{t.pattern??(t.pattern=wy),fe.init(n,t),n._zod.bag.contentEncoding="base64url",n._zod.check=e=>{uI(e.value)||e.issues.push({code:"invalid_format",format:"base64url",input:e.value,inst:n,continue:!t.abort})}}),dI=A("$ZodE164",(n,t)=>{t.pattern??(t.pattern=ST),fe.init(n,t)});function pI(n,t=null){try{const e=n.split(".");if(e.length!==3)return!1;const[r]=e;if(!r)return!1;const i=JSON.parse(atob(r));return!("typ"in i&&(i==null?void 0:i.typ)!=="JWT"||!i.alg||t&&(!("alg"in i)||i.alg!==t))}catch{return!1}}const fI=A("$ZodJWT",(n,t)=>{fe.init(n,t),n._zod.check=e=>{pI(e.value,t.alg)||e.issues.push({code:"invalid_format",format:"jwt",input:e.value,inst:n,continue:!t.abort})}}),Ty=A("$ZodNumber",(n,t)=>{me.init(n,t),n._zod.pattern=n._zod.bag.pattern??ky,n._zod.parse=(e,r)=>{if(t.coerce)try{e.value=Number(e.value)}catch{}const i=e.value;if(typeof i=="number"&&!Number.isNaN(i)&&Number.isFinite(i))return e;const s=typeof i=="number"?Number.isNaN(i)?"NaN":Number.isFinite(i)?void 0:"Infinity":void 0;return e.issues.push({expected:"number",code:"invalid_type",input:i,inst:n,...s?{received:s}:{}}),e}}),gI=A("$ZodNumberFormat",(n,t)=>{RT.init(n,t),Ty.init(n,t)}),mI=A("$ZodBoolean",(n,t)=>{me.init(n,t),n._zod.pattern=$T,n._zod.parse=(e,r)=>{if(t.coerce)try{e.value=!!e.value}catch{}const i=e.value;return typeof i=="boolean"||e.issues.push({expected:"boolean",code:"invalid_type",input:i,inst:n}),e}}),vI=A("$ZodUnknown",(n,t)=>{me.init(n,t),n._zod.parse=e=>e}),yI=A("$ZodNever",(n,t)=>{me.init(n,t),n._zod.parse=(e,r)=>(e.issues.push({expected:"never",code:"invalid_type",input:e.value,inst:n}),e)});function vg(n,t,e){n.issues.length&&t.issues.push(...$i(e,n.issues)),t.value[e]=n.value}const bI=A("$ZodArray",(n,t)=>{me.init(n,t),n._zod.parse=(e,r)=>{const i=e.value;if(!Array.isArray(i))return e.issues.push({expected:"array",code:"invalid_type",input:i,inst:n}),e;e.value=Array(i.length);const s=[];for(let o=0;o<i.length;o++){const a=i[o],c=t.element._zod.run({value:a,issues:[]},r);c instanceof Promise?s.push(c.then(u=>vg(u,e,o))):vg(c,e,o)}return s.length?Promise.all(s).then(()=>e):e}});function Tl(n,t,e,r,i){if(n.issues.length){if(i&&!(e in r))return;t.issues.push(...$i(e,n.issues))}n.value===void 0?e in r&&(t.value[e]=void 0):t.value[e]=n.value}function Iy(n){var r,i,s,o;const t=Object.keys(n.shape);for(const a of t)if(!((o=(s=(i=(r=n.shape)==null?void 0:r[a])==null?void 0:i._zod)==null?void 0:s.traits)!=null&&o.has("$ZodType")))throw new Error(`Invalid element at key "${a}": expected a Zod schema`);const e=N$(n.shape);return{...n,keys:t,keySet:new Set(t),numKeys:t.length,optionalKeys:new Set(e)}}function Cy(n,t,e,r,i,s){const o=[],a=i.keySet,c=i.catchall._zod,u=c.def.type,h=c.optout==="optional";for(const f in t){if(a.has(f))continue;if(u==="never"){o.push(f);continue}const y=c.run({value:t[f],issues:[]},r);y instanceof Promise?n.push(y.then(m=>Tl(m,e,f,t,h))):Tl(y,e,f,t,h)}return o.length&&e.issues.push({code:"unrecognized_keys",keys:o,input:t,inst:s}),n.length?Promise.all(n).then(()=>e):e}const wI=A("$ZodObject",(n,t)=>{me.init(n,t);const e=Object.getOwnPropertyDescriptor(t,"shape");if(!(e!=null&&e.get)){const a=t.shape;Object.defineProperty(t,"shape",{get:()=>{const c={...a};return Object.defineProperty(t,"shape",{value:c}),c}})}const r=hc(()=>Iy(t));ee(n._zod,"propValues",()=>{const a=t.shape,c={};for(const u in a){const h=a[u]._zod;if(h.values){c[u]??(c[u]=new Set);for(const f of h.values)c[u].add(f)}}return c});const i=oo,s=t.catchall;let o;n._zod.parse=(a,c)=>{o??(o=r.value);const u=a.value;if(!i(u))return a.issues.push({expected:"object",code:"invalid_type",input:u,inst:n}),a;a.value={};const h=[],f=o.shape;for(const y of o.keys){const m=f[y],E=m._zod.optout==="optional",x=m._zod.run({value:u[y],issues:[]},c);x instanceof Promise?h.push(x.then(I=>Tl(I,a,y,u,E))):Tl(x,a,y,u,E)}return s?Cy(h,u,a,c,r.value,n):h.length?Promise.all(h).then(()=>a):a}}),SI=A("$ZodObjectJIT",(n,t)=>{wI.init(n,t);const e=n._zod.parse,r=hc(()=>Iy(t)),i=y=>{var B;const m=new ZT(["shape","payload","ctx"]),E=r.value,x=N=>{const F=gg(N);return`shape[${F}]._zod.run({ value: input[${F}], issues: [] }, ctx)`};m.write("const input = payload.value;");const I=Object.create(null);let P=0;for(const N of E.keys)I[N]=`key_${P++}`;m.write("const newResult = {};");for(const N of E.keys){const F=I[N],Y=gg(N),V=y[N],ce=((B=V==null?void 0:V._zod)==null?void 0:B.optout)==="optional";m.write(`const ${F} = ${x(N)};`),ce?m.write(`
|
|
7
|
+
if (${F}.issues.length) {
|
|
8
|
+
if (${Y} in input) {
|
|
9
|
+
payload.issues = payload.issues.concat(${F}.issues.map(iss => ({
|
|
10
|
+
...iss,
|
|
11
|
+
path: iss.path ? [${Y}, ...iss.path] : [${Y}]
|
|
12
|
+
})));
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
if (${F}.value === undefined) {
|
|
17
|
+
if (${Y} in input) {
|
|
18
|
+
newResult[${Y}] = undefined;
|
|
19
|
+
}
|
|
20
|
+
} else {
|
|
21
|
+
newResult[${Y}] = ${F}.value;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
`):m.write(`
|
|
25
|
+
if (${F}.issues.length) {
|
|
26
|
+
payload.issues = payload.issues.concat(${F}.issues.map(iss => ({
|
|
27
|
+
...iss,
|
|
28
|
+
path: iss.path ? [${Y}, ...iss.path] : [${Y}]
|
|
29
|
+
})));
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
if (${F}.value === undefined) {
|
|
33
|
+
if (${Y} in input) {
|
|
34
|
+
newResult[${Y}] = undefined;
|
|
35
|
+
}
|
|
36
|
+
} else {
|
|
37
|
+
newResult[${Y}] = ${F}.value;
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
`)}m.write("payload.value = newResult;"),m.write("return payload;");const R=m.compile();return(N,F)=>R(y,N,F)};let s;const o=oo,a=!py.jitless,u=a&&O$.value,h=t.catchall;let f;n._zod.parse=(y,m)=>{f??(f=r.value);const E=y.value;return o(E)?a&&u&&(m==null?void 0:m.async)===!1&&m.jitless!==!0?(s||(s=i(t.shape)),y=s(y,m),h?Cy([],E,y,m,f,n):y):e(y,m):(y.issues.push({expected:"object",code:"invalid_type",input:E,inst:n}),y)}});function yg(n,t,e,r){for(const s of n)if(s.issues.length===0)return t.value=s.value,t;const i=n.filter(s=>!Ai(s));return i.length===1?(t.value=i[0].value,i[0]):(t.issues.push({code:"invalid_union",input:t.value,inst:e,errors:n.map(s=>s.issues.map(o=>Xn(o,r,Jn())))}),t)}const Ry=A("$ZodUnion",(n,t)=>{me.init(n,t),ee(n._zod,"optin",()=>t.options.some(i=>i._zod.optin==="optional")?"optional":void 0),ee(n._zod,"optout",()=>t.options.some(i=>i._zod.optout==="optional")?"optional":void 0),ee(n._zod,"values",()=>{if(t.options.every(i=>i._zod.values))return new Set(t.options.flatMap(i=>Array.from(i._zod.values)))}),ee(n._zod,"pattern",()=>{if(t.options.every(i=>i._zod.pattern)){const i=t.options.map(s=>s._zod.pattern);return new RegExp(`^(${i.map(s=>zd(s.source)).join("|")})$`)}});const e=t.options.length===1,r=t.options[0]._zod.run;n._zod.parse=(i,s)=>{if(e)return r(i,s);let o=!1;const a=[];for(const c of t.options){const u=c._zod.run({value:i.value,issues:[]},s);if(u instanceof Promise)a.push(u),o=!0;else{if(u.issues.length===0)return u;a.push(u)}}return o?Promise.all(a).then(c=>yg(c,i,n,s)):yg(a,i,n,s)}}),_I=A("$ZodDiscriminatedUnion",(n,t)=>{t.inclusive=!1,Ry.init(n,t);const e=n._zod.parse;ee(n._zod,"propValues",()=>{const i={};for(const s of t.options){const o=s._zod.propValues;if(!o||Object.keys(o).length===0)throw new Error(`Invalid discriminated union option at index "${t.options.indexOf(s)}"`);for(const[a,c]of Object.entries(o)){i[a]||(i[a]=new Set);for(const u of c)i[a].add(u)}}return i});const r=hc(()=>{var o;const i=t.options,s=new Map;for(const a of i){const c=(o=a._zod.propValues)==null?void 0:o[t.discriminator];if(!c||c.size===0)throw new Error(`Invalid discriminated union option at index "${t.options.indexOf(a)}"`);for(const u of c){if(s.has(u))throw new Error(`Duplicate discriminator value "${String(u)}"`);s.set(u,a)}}return s});n._zod.parse=(i,s)=>{const o=i.value;if(!oo(o))return i.issues.push({code:"invalid_type",expected:"object",input:o,inst:n}),i;const a=r.value.get(o==null?void 0:o[t.discriminator]);return a?a._zod.run(i,s):t.unionFallback?e(i,s):(i.issues.push({code:"invalid_union",errors:[],note:"No matching discriminator",discriminator:t.discriminator,input:o,path:[t.discriminator],inst:n}),i)}}),kI=A("$ZodIntersection",(n,t)=>{me.init(n,t),n._zod.parse=(e,r)=>{const i=e.value,s=t.left._zod.run({value:i,issues:[]},r),o=t.right._zod.run({value:i,issues:[]},r);return s instanceof Promise||o instanceof Promise?Promise.all([s,o]).then(([c,u])=>bg(e,c,u)):bg(e,s,o)}});function Qu(n,t){if(n===t)return{valid:!0,data:n};if(n instanceof Date&&t instanceof Date&&+n==+t)return{valid:!0,data:n};if(ls(n)&&ls(t)){const e=Object.keys(t),r=Object.keys(n).filter(s=>e.indexOf(s)!==-1),i={...n,...t};for(const s of r){const o=Qu(n[s],t[s]);if(!o.valid)return{valid:!1,mergeErrorPath:[s,...o.mergeErrorPath]};i[s]=o.data}return{valid:!0,data:i}}if(Array.isArray(n)&&Array.isArray(t)){if(n.length!==t.length)return{valid:!1,mergeErrorPath:[]};const e=[];for(let r=0;r<n.length;r++){const i=n[r],s=t[r],o=Qu(i,s);if(!o.valid)return{valid:!1,mergeErrorPath:[r,...o.mergeErrorPath]};e.push(o.data)}return{valid:!0,data:e}}return{valid:!1,mergeErrorPath:[]}}function bg(n,t,e){const r=new Map;let i;for(const a of t.issues)if(a.code==="unrecognized_keys"){i??(i=a);for(const c of a.keys)r.has(c)||r.set(c,{}),r.get(c).l=!0}else n.issues.push(a);for(const a of e.issues)if(a.code==="unrecognized_keys")for(const c of a.keys)r.has(c)||r.set(c,{}),r.get(c).r=!0;else n.issues.push(a);const s=[...r].filter(([,a])=>a.l&&a.r).map(([a])=>a);if(s.length&&i&&n.issues.push({...i,keys:s}),Ai(n))return n;const o=Qu(t.value,e.value);if(!o.valid)throw new Error(`Unmergable intersection. Error path: ${JSON.stringify(o.mergeErrorPath)}`);return n.value=o.data,n}const xI=A("$ZodRecord",(n,t)=>{me.init(n,t),n._zod.parse=(e,r)=>{const i=e.value;if(!ls(i))return e.issues.push({expected:"record",code:"invalid_type",input:i,inst:n}),e;const s=[],o=t.keyType._zod.values;if(o){e.value={};const a=new Set;for(const u of o)if(typeof u=="string"||typeof u=="number"||typeof u=="symbol"){a.add(typeof u=="number"?u.toString():u);const h=t.valueType._zod.run({value:i[u],issues:[]},r);h instanceof Promise?s.push(h.then(f=>{f.issues.length&&e.issues.push(...$i(u,f.issues)),e.value[u]=f.value})):(h.issues.length&&e.issues.push(...$i(u,h.issues)),e.value[u]=h.value)}let c;for(const u in i)a.has(u)||(c=c??[],c.push(u));c&&c.length>0&&e.issues.push({code:"unrecognized_keys",input:i,inst:n,keys:c})}else{e.value={};for(const a of Reflect.ownKeys(i)){if(a==="__proto__")continue;let c=t.keyType._zod.run({value:a,issues:[]},r);if(c instanceof Promise)throw new Error("Async schemas not supported in object keys currently");if(typeof a=="string"&&ky.test(a)&&c.issues.length){const f=t.keyType._zod.run({value:Number(a),issues:[]},r);if(f instanceof Promise)throw new Error("Async schemas not supported in object keys currently");f.issues.length===0&&(c=f)}if(c.issues.length){t.mode==="loose"?e.value[a]=i[a]:e.issues.push({code:"invalid_key",origin:"record",issues:c.issues.map(f=>Xn(f,r,Jn())),input:a,path:[a],inst:n});continue}const h=t.valueType._zod.run({value:i[a],issues:[]},r);h instanceof Promise?s.push(h.then(f=>{f.issues.length&&e.issues.push(...$i(a,f.issues)),e.value[c.value]=f.value})):(h.issues.length&&e.issues.push(...$i(a,h.issues)),e.value[c.value]=h.value)}}return s.length?Promise.all(s).then(()=>e):e}}),EI=A("$ZodEnum",(n,t)=>{me.init(n,t);const e=fy(t.entries),r=new Set(e);n._zod.values=r,n._zod.pattern=new RegExp(`^(${e.filter(i=>M$.has(typeof i)).map(i=>typeof i=="string"?cs(i):i.toString()).join("|")})$`),n._zod.parse=(i,s)=>{const o=i.value;return r.has(o)||i.issues.push({code:"invalid_value",values:e,input:o,inst:n}),i}}),AI=A("$ZodLiteral",(n,t)=>{if(me.init(n,t),t.values.length===0)throw new Error("Cannot create literal schema with no valid values");const e=new Set(t.values);n._zod.values=e,n._zod.pattern=new RegExp(`^(${t.values.map(r=>typeof r=="string"?cs(r):r?cs(r.toString()):String(r)).join("|")})$`),n._zod.parse=(r,i)=>{const s=r.value;return e.has(s)||r.issues.push({code:"invalid_value",values:t.values,input:s,inst:n}),r}}),$I=A("$ZodTransform",(n,t)=>{me.init(n,t),n._zod.parse=(e,r)=>{if(r.direction==="backward")throw new dy(n.constructor.name);const i=t.transform(e.value,e);if(r.async)return(i instanceof Promise?i:Promise.resolve(i)).then(o=>(e.value=o,e));if(i instanceof Promise)throw new Ci;return e.value=i,e}});function wg(n,t){return n.issues.length&&t===void 0?{issues:[],value:void 0}:n}const Py=A("$ZodOptional",(n,t)=>{me.init(n,t),n._zod.optin="optional",n._zod.optout="optional",ee(n._zod,"values",()=>t.innerType._zod.values?new Set([...t.innerType._zod.values,void 0]):void 0),ee(n._zod,"pattern",()=>{const e=t.innerType._zod.pattern;return e?new RegExp(`^(${zd(e.source)})?$`):void 0}),n._zod.parse=(e,r)=>{if(t.innerType._zod.optin==="optional"){const i=t.innerType._zod.run(e,r);return i instanceof Promise?i.then(s=>wg(s,e.value)):wg(i,e.value)}return e.value===void 0?e:t.innerType._zod.run(e,r)}}),TI=A("$ZodExactOptional",(n,t)=>{Py.init(n,t),ee(n._zod,"values",()=>t.innerType._zod.values),ee(n._zod,"pattern",()=>t.innerType._zod.pattern),n._zod.parse=(e,r)=>t.innerType._zod.run(e,r)}),II=A("$ZodNullable",(n,t)=>{me.init(n,t),ee(n._zod,"optin",()=>t.innerType._zod.optin),ee(n._zod,"optout",()=>t.innerType._zod.optout),ee(n._zod,"pattern",()=>{const e=t.innerType._zod.pattern;return e?new RegExp(`^(${zd(e.source)}|null)$`):void 0}),ee(n._zod,"values",()=>t.innerType._zod.values?new Set([...t.innerType._zod.values,null]):void 0),n._zod.parse=(e,r)=>e.value===null?e:t.innerType._zod.run(e,r)}),CI=A("$ZodDefault",(n,t)=>{me.init(n,t),n._zod.optin="optional",ee(n._zod,"values",()=>t.innerType._zod.values),n._zod.parse=(e,r)=>{if(r.direction==="backward")return t.innerType._zod.run(e,r);if(e.value===void 0)return e.value=t.defaultValue,e;const i=t.innerType._zod.run(e,r);return i instanceof Promise?i.then(s=>Sg(s,t)):Sg(i,t)}});function Sg(n,t){return n.value===void 0&&(n.value=t.defaultValue),n}const RI=A("$ZodPrefault",(n,t)=>{me.init(n,t),n._zod.optin="optional",ee(n._zod,"values",()=>t.innerType._zod.values),n._zod.parse=(e,r)=>(r.direction==="backward"||e.value===void 0&&(e.value=t.defaultValue),t.innerType._zod.run(e,r))}),PI=A("$ZodNonOptional",(n,t)=>{me.init(n,t),ee(n._zod,"values",()=>{const e=t.innerType._zod.values;return e?new Set([...e].filter(r=>r!==void 0)):void 0}),n._zod.parse=(e,r)=>{const i=t.innerType._zod.run(e,r);return i instanceof Promise?i.then(s=>_g(s,n)):_g(i,n)}});function _g(n,t){return!n.issues.length&&n.value===void 0&&n.issues.push({code:"invalid_type",expected:"nonoptional",input:n.value,inst:t}),n}const DI=A("$ZodCatch",(n,t)=>{me.init(n,t),ee(n._zod,"optin",()=>t.innerType._zod.optin),ee(n._zod,"optout",()=>t.innerType._zod.optout),ee(n._zod,"values",()=>t.innerType._zod.values),n._zod.parse=(e,r)=>{if(r.direction==="backward")return t.innerType._zod.run(e,r);const i=t.innerType._zod.run(e,r);return i instanceof Promise?i.then(s=>(e.value=s.value,s.issues.length&&(e.value=t.catchValue({...e,error:{issues:s.issues.map(o=>Xn(o,r,Jn()))},input:e.value}),e.issues=[]),e)):(e.value=i.value,i.issues.length&&(e.value=t.catchValue({...e,error:{issues:i.issues.map(s=>Xn(s,r,Jn()))},input:e.value}),e.issues=[]),e)}}),LI=A("$ZodPipe",(n,t)=>{me.init(n,t),ee(n._zod,"values",()=>t.in._zod.values),ee(n._zod,"optin",()=>t.in._zod.optin),ee(n._zod,"optout",()=>t.out._zod.optout),ee(n._zod,"propValues",()=>t.in._zod.propValues),n._zod.parse=(e,r)=>{if(r.direction==="backward"){const s=t.out._zod.run(e,r);return s instanceof Promise?s.then(o=>Ua(o,t.in,r)):Ua(s,t.in,r)}const i=t.in._zod.run(e,r);return i instanceof Promise?i.then(s=>Ua(s,t.out,r)):Ua(i,t.out,r)}});function Ua(n,t,e){return n.issues.length?(n.aborted=!0,n):t._zod.run({value:n.value,issues:n.issues},e)}const zI=A("$ZodReadonly",(n,t)=>{me.init(n,t),ee(n._zod,"propValues",()=>t.innerType._zod.propValues),ee(n._zod,"values",()=>t.innerType._zod.values),ee(n._zod,"optin",()=>{var e,r;return(r=(e=t.innerType)==null?void 0:e._zod)==null?void 0:r.optin}),ee(n._zod,"optout",()=>{var e,r;return(r=(e=t.innerType)==null?void 0:e._zod)==null?void 0:r.optout}),n._zod.parse=(e,r)=>{if(r.direction==="backward")return t.innerType._zod.run(e,r);const i=t.innerType._zod.run(e,r);return i instanceof Promise?i.then(kg):kg(i)}});function kg(n){return n.value=Object.freeze(n.value),n}const OI=A("$ZodCustom",(n,t)=>{ct.init(n,t),me.init(n,t),n._zod.parse=(e,r)=>e,n._zod.check=e=>{const r=e.value,i=t.fn(r);if(i instanceof Promise)return i.then(s=>xg(s,e,r,n));xg(i,e,r,n)}});function xg(n,t,e,r){if(!n){const i={code:"custom",input:e,inst:r,path:[...r._zod.def.path??[]],continue:!r._zod.def.abort};r._zod.def.params&&(i.params=r._zod.def.params),t.issues.push(ao(i))}}var Eg;class MI{constructor(){this._map=new WeakMap,this._idmap=new Map}add(t,...e){const r=e[0];return this._map.set(t,r),r&&typeof r=="object"&&"id"in r&&this._idmap.set(r.id,t),this}clear(){return this._map=new WeakMap,this._idmap=new Map,this}remove(t){const e=this._map.get(t);return e&&typeof e=="object"&&"id"in e&&this._idmap.delete(e.id),this._map.delete(t),this}get(t){const e=t._zod.parent;if(e){const r={...this.get(e)??{}};delete r.id;const i={...r,...this._map.get(t)};return Object.keys(i).length?i:void 0}return this._map.get(t)}has(t){return this._map.has(t)}}function NI(){return new MI}(Eg=globalThis).__zod_globalRegistry??(Eg.__zod_globalRegistry=NI());const Hs=globalThis.__zod_globalRegistry;function UI(n,t){return new n({type:"string",...O(t)})}function FI(n,t){return new n({type:"string",format:"email",check:"string_format",abort:!1,...O(t)})}function Ag(n,t){return new n({type:"string",format:"guid",check:"string_format",abort:!1,...O(t)})}function HI(n,t){return new n({type:"string",format:"uuid",check:"string_format",abort:!1,...O(t)})}function ZI(n,t){return new n({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v4",...O(t)})}function WI(n,t){return new n({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v6",...O(t)})}function BI(n,t){return new n({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v7",...O(t)})}function jI(n,t){return new n({type:"string",format:"url",check:"string_format",abort:!1,...O(t)})}function VI(n,t){return new n({type:"string",format:"emoji",check:"string_format",abort:!1,...O(t)})}function GI(n,t){return new n({type:"string",format:"nanoid",check:"string_format",abort:!1,...O(t)})}function qI(n,t){return new n({type:"string",format:"cuid",check:"string_format",abort:!1,...O(t)})}function YI(n,t){return new n({type:"string",format:"cuid2",check:"string_format",abort:!1,...O(t)})}function KI(n,t){return new n({type:"string",format:"ulid",check:"string_format",abort:!1,...O(t)})}function JI(n,t){return new n({type:"string",format:"xid",check:"string_format",abort:!1,...O(t)})}function XI(n,t){return new n({type:"string",format:"ksuid",check:"string_format",abort:!1,...O(t)})}function QI(n,t){return new n({type:"string",format:"ipv4",check:"string_format",abort:!1,...O(t)})}function eC(n,t){return new n({type:"string",format:"ipv6",check:"string_format",abort:!1,...O(t)})}function tC(n,t){return new n({type:"string",format:"cidrv4",check:"string_format",abort:!1,...O(t)})}function nC(n,t){return new n({type:"string",format:"cidrv6",check:"string_format",abort:!1,...O(t)})}function rC(n,t){return new n({type:"string",format:"base64",check:"string_format",abort:!1,...O(t)})}function iC(n,t){return new n({type:"string",format:"base64url",check:"string_format",abort:!1,...O(t)})}function sC(n,t){return new n({type:"string",format:"e164",check:"string_format",abort:!1,...O(t)})}function oC(n,t){return new n({type:"string",format:"jwt",check:"string_format",abort:!1,...O(t)})}function aC(n,t){return new n({type:"string",format:"datetime",check:"string_format",offset:!1,local:!1,precision:null,...O(t)})}function lC(n,t){return new n({type:"string",format:"date",check:"string_format",...O(t)})}function cC(n,t){return new n({type:"string",format:"time",check:"string_format",precision:null,...O(t)})}function uC(n,t){return new n({type:"string",format:"duration",check:"string_format",...O(t)})}function hC(n,t){return new n({type:"number",checks:[],...O(t)})}function dC(n,t){return new n({type:"number",check:"number_format",abort:!1,format:"safeint",...O(t)})}function pC(n,t){return new n({type:"boolean",...O(t)})}function fC(n){return new n({type:"unknown"})}function gC(n,t){return new n({type:"never",...O(t)})}function $g(n,t){return new Ey({check:"less_than",...O(t),value:n,inclusive:!1})}function pu(n,t){return new Ey({check:"less_than",...O(t),value:n,inclusive:!0})}function Tg(n,t){return new Ay({check:"greater_than",...O(t),value:n,inclusive:!1})}function fu(n,t){return new Ay({check:"greater_than",...O(t),value:n,inclusive:!0})}function Ig(n,t){return new CT({check:"multiple_of",...O(t),value:n})}function Dy(n,t){return new PT({check:"max_length",...O(t),maximum:n})}function Il(n,t){return new DT({check:"min_length",...O(t),minimum:n})}function Ly(n,t){return new LT({check:"length_equals",...O(t),length:n})}function mC(n,t){return new zT({check:"string_format",format:"regex",...O(t),pattern:n})}function vC(n){return new OT({check:"string_format",format:"lowercase",...O(n)})}function yC(n){return new MT({check:"string_format",format:"uppercase",...O(n)})}function bC(n,t){return new NT({check:"string_format",format:"includes",...O(t),includes:n})}function wC(n,t){return new UT({check:"string_format",format:"starts_with",...O(t),prefix:n})}function SC(n,t){return new FT({check:"string_format",format:"ends_with",...O(t),suffix:n})}function ws(n){return new HT({check:"overwrite",tx:n})}function _C(n){return ws(t=>t.normalize(n))}function kC(){return ws(n=>n.trim())}function xC(){return ws(n=>n.toLowerCase())}function EC(){return ws(n=>n.toUpperCase())}function AC(){return ws(n=>z$(n))}function $C(n,t,e){return new n({type:"array",element:t,...O(e)})}function TC(n,t,e){return new n({type:"custom",check:"custom",fn:t,...O(e)})}function IC(n){const t=CC(e=>(e.addIssue=r=>{if(typeof r=="string")e.issues.push(ao(r,e.value,t._zod.def));else{const i=r;i.fatal&&(i.continue=!1),i.code??(i.code="custom"),i.input??(i.input=e.value),i.inst??(i.inst=t),i.continue??(i.continue=!t._zod.def.abort),e.issues.push(ao(i))}},n(e.value,e)));return t}function CC(n,t){const e=new ct({check:"custom",...O(t)});return e._zod.check=n,e}function zy(n){let t=(n==null?void 0:n.target)??"draft-2020-12";return t==="draft-4"&&(t="draft-04"),t==="draft-7"&&(t="draft-07"),{processors:n.processors??{},metadataRegistry:(n==null?void 0:n.metadata)??Hs,target:t,unrepresentable:(n==null?void 0:n.unrepresentable)??"throw",override:(n==null?void 0:n.override)??(()=>{}),io:(n==null?void 0:n.io)??"output",counter:0,seen:new Map,cycles:(n==null?void 0:n.cycles)??"ref",reused:(n==null?void 0:n.reused)??"inline",external:(n==null?void 0:n.external)??void 0}}function Ee(n,t,e={path:[],schemaPath:[]}){var h,f;var r;const i=n._zod.def,s=t.seen.get(n);if(s)return s.count++,e.schemaPath.includes(n)&&(s.cycle=e.path),s.schema;const o={schema:{},count:1,cycle:void 0,path:e.path};t.seen.set(n,o);const a=(f=(h=n._zod).toJSONSchema)==null?void 0:f.call(h);if(a)o.schema=a;else{const y={...e,schemaPath:[...e.schemaPath,n],path:e.path};if(n._zod.processJSONSchema)n._zod.processJSONSchema(t,o.schema,y);else{const E=o.schema,x=t.processors[i.type];if(!x)throw new Error(`[toJSONSchema]: Non-representable type encountered: ${i.type}`);x(n,t,E,y)}const m=n._zod.parent;m&&(o.ref||(o.ref=m),Ee(m,t,y),t.seen.get(m).isParent=!0)}const c=t.metadataRegistry.get(n);return c&&Object.assign(o.schema,c),t.io==="input"&&Ge(n)&&(delete o.schema.examples,delete o.schema.default),t.io==="input"&&o.schema._prefault&&((r=o.schema).default??(r.default=o.schema._prefault)),delete o.schema._prefault,t.seen.get(n).schema}function Oy(n,t){var o,a,c,u;const e=n.seen.get(t);if(!e)throw new Error("Unprocessed schema. This is a bug in Zod.");const r=new Map;for(const h of n.seen.entries()){const f=(o=n.metadataRegistry.get(h[0]))==null?void 0:o.id;if(f){const y=r.get(f);if(y&&y!==h[0])throw new Error(`Duplicate schema id "${f}" detected during JSON Schema conversion. Two different schemas cannot share the same id when converted together.`);r.set(f,h[0])}}const i=h=>{var x;const f=n.target==="draft-2020-12"?"$defs":"definitions";if(n.external){const I=(x=n.external.registry.get(h[0]))==null?void 0:x.id,P=n.external.uri??(B=>B);if(I)return{ref:P(I)};const R=h[1].defId??h[1].schema.id??`schema${n.counter++}`;return h[1].defId=R,{defId:R,ref:`${P("__shared")}#/${f}/${R}`}}if(h[1]===e)return{ref:"#"};const m=`#/${f}/`,E=h[1].schema.id??`__schema${n.counter++}`;return{defId:E,ref:m+E}},s=h=>{if(h[1].schema.$ref)return;const f=h[1],{ref:y,defId:m}=i(h);f.def={...f.schema},m&&(f.defId=m);const E=f.schema;for(const x in E)delete E[x];E.$ref=y};if(n.cycles==="throw")for(const h of n.seen.entries()){const f=h[1];if(f.cycle)throw new Error(`Cycle detected: #/${(a=f.cycle)==null?void 0:a.join("/")}/<root>
|
|
41
|
+
|
|
42
|
+
Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.`)}for(const h of n.seen.entries()){const f=h[1];if(t===h[0]){s(h);continue}if(n.external){const m=(c=n.external.registry.get(h[0]))==null?void 0:c.id;if(t!==h[0]&&m){s(h);continue}}if((u=n.metadataRegistry.get(h[0]))==null?void 0:u.id){s(h);continue}if(f.cycle){s(h);continue}if(f.count>1&&n.reused==="ref"){s(h);continue}}}function My(n,t){var o,a,c;const e=n.seen.get(t);if(!e)throw new Error("Unprocessed schema. This is a bug in Zod.");const r=u=>{const h=n.seen.get(u);if(h.ref===null)return;const f=h.def??h.schema,y={...f},m=h.ref;if(h.ref=null,m){r(m);const x=n.seen.get(m),I=x.schema;if(I.$ref&&(n.target==="draft-07"||n.target==="draft-04"||n.target==="openapi-3.0")?(f.allOf=f.allOf??[],f.allOf.push(I)):Object.assign(f,I),Object.assign(f,y),u._zod.parent===m)for(const R in f)R==="$ref"||R==="allOf"||R in y||delete f[R];if(I.$ref&&x.def)for(const R in f)R==="$ref"||R==="allOf"||R in x.def&&JSON.stringify(f[R])===JSON.stringify(x.def[R])&&delete f[R]}const E=u._zod.parent;if(E&&E!==m){r(E);const x=n.seen.get(E);if(x!=null&&x.schema.$ref&&(f.$ref=x.schema.$ref,x.def))for(const I in f)I==="$ref"||I==="allOf"||I in x.def&&JSON.stringify(f[I])===JSON.stringify(x.def[I])&&delete f[I]}n.override({zodSchema:u,jsonSchema:f,path:h.path??[]})};for(const u of[...n.seen.entries()].reverse())r(u[0]);const i={};if(n.target==="draft-2020-12"?i.$schema="https://json-schema.org/draft/2020-12/schema":n.target==="draft-07"?i.$schema="http://json-schema.org/draft-07/schema#":n.target==="draft-04"?i.$schema="http://json-schema.org/draft-04/schema#":n.target,(o=n.external)!=null&&o.uri){const u=(a=n.external.registry.get(t))==null?void 0:a.id;if(!u)throw new Error("Schema is missing an `id` property");i.$id=n.external.uri(u)}Object.assign(i,e.def??e.schema);const s=((c=n.external)==null?void 0:c.defs)??{};for(const u of n.seen.entries()){const h=u[1];h.def&&h.defId&&(s[h.defId]=h.def)}n.external||Object.keys(s).length>0&&(n.target==="draft-2020-12"?i.$defs=s:i.definitions=s);try{const u=JSON.parse(JSON.stringify(i));return Object.defineProperty(u,"~standard",{value:{...t["~standard"],jsonSchema:{input:Cl(t,"input",n.processors),output:Cl(t,"output",n.processors)}},enumerable:!1,writable:!1}),u}catch{throw new Error("Error converting schema to JSON.")}}function Ge(n,t){const e=t??{seen:new Set};if(e.seen.has(n))return!1;e.seen.add(n);const r=n._zod.def;if(r.type==="transform")return!0;if(r.type==="array")return Ge(r.element,e);if(r.type==="set")return Ge(r.valueType,e);if(r.type==="lazy")return Ge(r.getter(),e);if(r.type==="promise"||r.type==="optional"||r.type==="nonoptional"||r.type==="nullable"||r.type==="readonly"||r.type==="default"||r.type==="prefault")return Ge(r.innerType,e);if(r.type==="intersection")return Ge(r.left,e)||Ge(r.right,e);if(r.type==="record"||r.type==="map")return Ge(r.keyType,e)||Ge(r.valueType,e);if(r.type==="pipe")return Ge(r.in,e)||Ge(r.out,e);if(r.type==="object"){for(const i in r.shape)if(Ge(r.shape[i],e))return!0;return!1}if(r.type==="union"){for(const i of r.options)if(Ge(i,e))return!0;return!1}if(r.type==="tuple"){for(const i of r.items)if(Ge(i,e))return!0;return!!(r.rest&&Ge(r.rest,e))}return!1}const RC=(n,t={})=>e=>{const r=zy({...e,processors:t});return Ee(n,r),Oy(r,n),My(r,n)},Cl=(n,t,e={})=>r=>{const{libraryOptions:i,target:s}=r??{},o=zy({...i??{},target:s,io:t,processors:e});return Ee(n,o),Oy(o,n),My(o,n)},PC={guid:"uuid",url:"uri",datetime:"date-time",json_string:"json-string",regex:""},DC=(n,t,e,r)=>{const i=e;i.type="string";const{minimum:s,maximum:o,format:a,patterns:c,contentEncoding:u}=n._zod.bag;if(typeof s=="number"&&(i.minLength=s),typeof o=="number"&&(i.maxLength=o),a&&(i.format=PC[a]??a,i.format===""&&delete i.format,a==="time"&&delete i.format),u&&(i.contentEncoding=u),c&&c.size>0){const h=[...c];h.length===1?i.pattern=h[0].source:h.length>1&&(i.allOf=[...h.map(f=>({...t.target==="draft-07"||t.target==="draft-04"||t.target==="openapi-3.0"?{type:"string"}:{},pattern:f.source}))])}},LC=(n,t,e,r)=>{const i=e,{minimum:s,maximum:o,format:a,multipleOf:c,exclusiveMaximum:u,exclusiveMinimum:h}=n._zod.bag;typeof a=="string"&&a.includes("int")?i.type="integer":i.type="number",typeof h=="number"&&(t.target==="draft-04"||t.target==="openapi-3.0"?(i.minimum=h,i.exclusiveMinimum=!0):i.exclusiveMinimum=h),typeof s=="number"&&(i.minimum=s,typeof h=="number"&&t.target!=="draft-04"&&(h>=s?delete i.minimum:delete i.exclusiveMinimum)),typeof u=="number"&&(t.target==="draft-04"||t.target==="openapi-3.0"?(i.maximum=u,i.exclusiveMaximum=!0):i.exclusiveMaximum=u),typeof o=="number"&&(i.maximum=o,typeof u=="number"&&t.target!=="draft-04"&&(u<=o?delete i.maximum:delete i.exclusiveMaximum)),typeof c=="number"&&(i.multipleOf=c)},zC=(n,t,e,r)=>{e.type="boolean"},OC=(n,t,e,r)=>{e.not={}},MC=(n,t,e,r)=>{},NC=(n,t,e,r)=>{const i=n._zod.def,s=fy(i.entries);s.every(o=>typeof o=="number")&&(e.type="number"),s.every(o=>typeof o=="string")&&(e.type="string"),e.enum=s},UC=(n,t,e,r)=>{const i=n._zod.def,s=[];for(const o of i.values)if(o===void 0){if(t.unrepresentable==="throw")throw new Error("Literal `undefined` cannot be represented in JSON Schema")}else if(typeof o=="bigint"){if(t.unrepresentable==="throw")throw new Error("BigInt literals cannot be represented in JSON Schema");s.push(Number(o))}else s.push(o);if(s.length!==0)if(s.length===1){const o=s[0];e.type=o===null?"null":typeof o,t.target==="draft-04"||t.target==="openapi-3.0"?e.enum=[o]:e.const=o}else s.every(o=>typeof o=="number")&&(e.type="number"),s.every(o=>typeof o=="string")&&(e.type="string"),s.every(o=>typeof o=="boolean")&&(e.type="boolean"),s.every(o=>o===null)&&(e.type="null"),e.enum=s},FC=(n,t,e,r)=>{if(t.unrepresentable==="throw")throw new Error("Custom types cannot be represented in JSON Schema")},HC=(n,t,e,r)=>{if(t.unrepresentable==="throw")throw new Error("Transforms cannot be represented in JSON Schema")},ZC=(n,t,e,r)=>{const i=e,s=n._zod.def,{minimum:o,maximum:a}=n._zod.bag;typeof o=="number"&&(i.minItems=o),typeof a=="number"&&(i.maxItems=a),i.type="array",i.items=Ee(s.element,t,{...r,path:[...r.path,"items"]})},WC=(n,t,e,r)=>{var u;const i=e,s=n._zod.def;i.type="object",i.properties={};const o=s.shape;for(const h in o)i.properties[h]=Ee(o[h],t,{...r,path:[...r.path,"properties",h]});const a=new Set(Object.keys(o)),c=new Set([...a].filter(h=>{const f=s.shape[h]._zod;return t.io==="input"?f.optin===void 0:f.optout===void 0}));c.size>0&&(i.required=Array.from(c)),((u=s.catchall)==null?void 0:u._zod.def.type)==="never"?i.additionalProperties=!1:s.catchall?s.catchall&&(i.additionalProperties=Ee(s.catchall,t,{...r,path:[...r.path,"additionalProperties"]})):t.io==="output"&&(i.additionalProperties=!1)},BC=(n,t,e,r)=>{const i=n._zod.def,s=i.inclusive===!1,o=i.options.map((a,c)=>Ee(a,t,{...r,path:[...r.path,s?"oneOf":"anyOf",c]}));s?e.oneOf=o:e.anyOf=o},jC=(n,t,e,r)=>{const i=n._zod.def,s=Ee(i.left,t,{...r,path:[...r.path,"allOf",0]}),o=Ee(i.right,t,{...r,path:[...r.path,"allOf",1]}),a=u=>"allOf"in u&&Object.keys(u).length===1,c=[...a(s)?s.allOf:[s],...a(o)?o.allOf:[o]];e.allOf=c},VC=(n,t,e,r)=>{const i=e,s=n._zod.def;i.type="object";const o=s.keyType,a=o._zod.bag,c=a==null?void 0:a.patterns;if(s.mode==="loose"&&c&&c.size>0){const h=Ee(s.valueType,t,{...r,path:[...r.path,"patternProperties","*"]});i.patternProperties={};for(const f of c)i.patternProperties[f.source]=h}else(t.target==="draft-07"||t.target==="draft-2020-12")&&(i.propertyNames=Ee(s.keyType,t,{...r,path:[...r.path,"propertyNames"]})),i.additionalProperties=Ee(s.valueType,t,{...r,path:[...r.path,"additionalProperties"]});const u=o._zod.values;if(u){const h=[...u].filter(f=>typeof f=="string"||typeof f=="number");h.length>0&&(i.required=h)}},GC=(n,t,e,r)=>{const i=n._zod.def,s=Ee(i.innerType,t,r),o=t.seen.get(n);t.target==="openapi-3.0"?(o.ref=i.innerType,e.nullable=!0):e.anyOf=[s,{type:"null"}]},qC=(n,t,e,r)=>{const i=n._zod.def;Ee(i.innerType,t,r);const s=t.seen.get(n);s.ref=i.innerType},YC=(n,t,e,r)=>{const i=n._zod.def;Ee(i.innerType,t,r);const s=t.seen.get(n);s.ref=i.innerType,e.default=JSON.parse(JSON.stringify(i.defaultValue))},KC=(n,t,e,r)=>{const i=n._zod.def;Ee(i.innerType,t,r);const s=t.seen.get(n);s.ref=i.innerType,t.io==="input"&&(e._prefault=JSON.parse(JSON.stringify(i.defaultValue)))},JC=(n,t,e,r)=>{const i=n._zod.def;Ee(i.innerType,t,r);const s=t.seen.get(n);s.ref=i.innerType;let o;try{o=i.catchValue(void 0)}catch{throw new Error("Dynamic catch values are not supported in JSON Schema")}e.default=o},XC=(n,t,e,r)=>{const i=n._zod.def,s=t.io==="input"?i.in._zod.def.type==="transform"?i.out:i.in:i.out;Ee(s,t,r);const o=t.seen.get(n);o.ref=s},QC=(n,t,e,r)=>{const i=n._zod.def;Ee(i.innerType,t,r);const s=t.seen.get(n);s.ref=i.innerType,e.readOnly=!0},Ny=(n,t,e,r)=>{const i=n._zod.def;Ee(i.innerType,t,r);const s=t.seen.get(n);s.ref=i.innerType},eR=A("ZodISODateTime",(n,t)=>{tI.init(n,t),ye.init(n,t)});function tR(n){return aC(eR,n)}const nR=A("ZodISODate",(n,t)=>{nI.init(n,t),ye.init(n,t)});function rR(n){return lC(nR,n)}const iR=A("ZodISOTime",(n,t)=>{rI.init(n,t),ye.init(n,t)});function sR(n){return cC(iR,n)}const oR=A("ZodISODuration",(n,t)=>{iI.init(n,t),ye.init(n,t)});function aR(n){return uC(oR,n)}const Uy=(n,t)=>{yy.init(n,t),n.name="ZodError",Object.defineProperties(n,{format:{value:e=>q$(n,e)},flatten:{value:e=>G$(n,e)},addIssue:{value:e=>{n.issues.push(e),n.message=JSON.stringify(n.issues,Xu,2)}},addIssues:{value:e=>{n.issues.push(...e),n.message=JSON.stringify(n.issues,Xu,2)}},isEmpty:{get(){return n.issues.length===0}}})},Cg=A("ZodError",Uy),xt=A("ZodError",Uy,{Parent:Error}),lR=Md(xt),cR=Nd(xt),uR=dc(xt),hR=pc(xt),dR=J$(xt),pR=X$(xt),fR=Q$(xt),gR=eT(xt),mR=tT(xt),vR=nT(xt),yR=rT(xt),bR=iT(xt),ve=A("ZodType",(n,t)=>(me.init(n,t),Object.assign(n["~standard"],{jsonSchema:{input:Cl(n,"input"),output:Cl(n,"output")}}),n.toJSONSchema=RC(n,{}),n.def=t,n.type=t.type,Object.defineProperty(n,"_def",{value:t}),n.check=(...e)=>n.clone(rr(t,{checks:[...t.checks??[],...e.map(r=>typeof r=="function"?{_zod:{check:r,def:{check:"custom"},onattach:[]}}:r)]}),{parent:!0}),n.with=n.check,n.clone=(e,r)=>ir(n,e,r),n.brand=()=>n,n.register=(e,r)=>(e.add(n,r),n),n.parse=(e,r)=>lR(n,e,r,{callee:n.parse}),n.safeParse=(e,r)=>uR(n,e,r),n.parseAsync=async(e,r)=>cR(n,e,r,{callee:n.parseAsync}),n.safeParseAsync=async(e,r)=>hR(n,e,r),n.spa=n.safeParseAsync,n.encode=(e,r)=>dR(n,e,r),n.decode=(e,r)=>pR(n,e,r),n.encodeAsync=async(e,r)=>fR(n,e,r),n.decodeAsync=async(e,r)=>gR(n,e,r),n.safeEncode=(e,r)=>mR(n,e,r),n.safeDecode=(e,r)=>vR(n,e,r),n.safeEncodeAsync=async(e,r)=>yR(n,e,r),n.safeDecodeAsync=async(e,r)=>bR(n,e,r),n.refine=(e,r)=>n.check(hP(e,r)),n.superRefine=e=>n.check(dP(e)),n.overwrite=e=>n.check(ws(e)),n.optional=()=>Dg(n),n.exactOptional=()=>XR(n),n.nullable=()=>Lg(n),n.nullish=()=>Dg(Lg(n)),n.nonoptional=e=>iP(n,e),n.array=()=>z(n),n.or=e=>j([n,e]),n.and=e=>gc(n,e),n.transform=e=>zg(n,KR(e)),n.default=e=>tP(n,e),n.prefault=e=>rP(n,e),n.catch=e=>oP(n,e),n.pipe=e=>zg(n,e),n.readonly=()=>cP(n),n.describe=e=>{const r=n.clone();return Hs.add(r,{description:e}),r},Object.defineProperty(n,"description",{get(){var e;return(e=Hs.get(n))==null?void 0:e.description},configurable:!0}),n.meta=(...e)=>{if(e.length===0)return Hs.get(n);const r=n.clone();return Hs.add(r,e[0]),r},n.isOptional=()=>n.safeParse(void 0).success,n.isNullable=()=>n.safeParse(null).success,n.apply=e=>e(n),n)),Fy=A("_ZodString",(n,t)=>{Ud.init(n,t),ve.init(n,t),n._zod.processJSONSchema=(r,i,s)=>DC(n,r,i);const e=n._zod.bag;n.format=e.format??null,n.minLength=e.minimum??null,n.maxLength=e.maximum??null,n.regex=(...r)=>n.check(mC(...r)),n.includes=(...r)=>n.check(bC(...r)),n.startsWith=(...r)=>n.check(wC(...r)),n.endsWith=(...r)=>n.check(SC(...r)),n.min=(...r)=>n.check(Il(...r)),n.max=(...r)=>n.check(Dy(...r)),n.length=(...r)=>n.check(Ly(...r)),n.nonempty=(...r)=>n.check(Il(1,...r)),n.lowercase=r=>n.check(vC(r)),n.uppercase=r=>n.check(yC(r)),n.trim=()=>n.check(kC()),n.normalize=(...r)=>n.check(_C(...r)),n.toLowerCase=()=>n.check(xC()),n.toUpperCase=()=>n.check(EC()),n.slugify=()=>n.check(AC())}),wR=A("ZodString",(n,t)=>{Ud.init(n,t),Fy.init(n,t),n.email=e=>n.check(FI(SR,e)),n.url=e=>n.check(jI(_R,e)),n.jwt=e=>n.check(oC(MR,e)),n.emoji=e=>n.check(VI(kR,e)),n.guid=e=>n.check(Ag(Rg,e)),n.uuid=e=>n.check(HI(Fa,e)),n.uuidv4=e=>n.check(ZI(Fa,e)),n.uuidv6=e=>n.check(WI(Fa,e)),n.uuidv7=e=>n.check(BI(Fa,e)),n.nanoid=e=>n.check(GI(xR,e)),n.guid=e=>n.check(Ag(Rg,e)),n.cuid=e=>n.check(qI(ER,e)),n.cuid2=e=>n.check(YI(AR,e)),n.ulid=e=>n.check(KI($R,e)),n.base64=e=>n.check(rC(LR,e)),n.base64url=e=>n.check(iC(zR,e)),n.xid=e=>n.check(JI(TR,e)),n.ksuid=e=>n.check(XI(IR,e)),n.ipv4=e=>n.check(QI(CR,e)),n.ipv6=e=>n.check(eC(RR,e)),n.cidrv4=e=>n.check(tC(PR,e)),n.cidrv6=e=>n.check(nC(DR,e)),n.e164=e=>n.check(sC(OR,e)),n.datetime=e=>n.check(tR(e)),n.date=e=>n.check(rR(e)),n.time=e=>n.check(sR(e)),n.duration=e=>n.check(aR(e))});function d(n){return UI(wR,n)}const ye=A("ZodStringFormat",(n,t)=>{fe.init(n,t),Fy.init(n,t)}),SR=A("ZodEmail",(n,t)=>{VT.init(n,t),ye.init(n,t)}),Rg=A("ZodGUID",(n,t)=>{BT.init(n,t),ye.init(n,t)}),Fa=A("ZodUUID",(n,t)=>{jT.init(n,t),ye.init(n,t)}),_R=A("ZodURL",(n,t)=>{GT.init(n,t),ye.init(n,t)}),kR=A("ZodEmoji",(n,t)=>{qT.init(n,t),ye.init(n,t)}),xR=A("ZodNanoID",(n,t)=>{YT.init(n,t),ye.init(n,t)}),ER=A("ZodCUID",(n,t)=>{KT.init(n,t),ye.init(n,t)}),AR=A("ZodCUID2",(n,t)=>{JT.init(n,t),ye.init(n,t)}),$R=A("ZodULID",(n,t)=>{XT.init(n,t),ye.init(n,t)}),TR=A("ZodXID",(n,t)=>{QT.init(n,t),ye.init(n,t)}),IR=A("ZodKSUID",(n,t)=>{eI.init(n,t),ye.init(n,t)}),CR=A("ZodIPv4",(n,t)=>{sI.init(n,t),ye.init(n,t)}),RR=A("ZodIPv6",(n,t)=>{oI.init(n,t),ye.init(n,t)}),PR=A("ZodCIDRv4",(n,t)=>{aI.init(n,t),ye.init(n,t)}),DR=A("ZodCIDRv6",(n,t)=>{lI.init(n,t),ye.init(n,t)}),LR=A("ZodBase64",(n,t)=>{cI.init(n,t),ye.init(n,t)}),zR=A("ZodBase64URL",(n,t)=>{hI.init(n,t),ye.init(n,t)}),OR=A("ZodE164",(n,t)=>{dI.init(n,t),ye.init(n,t)}),MR=A("ZodJWT",(n,t)=>{fI.init(n,t),ye.init(n,t)}),Hy=A("ZodNumber",(n,t)=>{Ty.init(n,t),ve.init(n,t),n._zod.processJSONSchema=(r,i,s)=>LC(n,r,i),n.gt=(r,i)=>n.check(Tg(r,i)),n.gte=(r,i)=>n.check(fu(r,i)),n.min=(r,i)=>n.check(fu(r,i)),n.lt=(r,i)=>n.check($g(r,i)),n.lte=(r,i)=>n.check(pu(r,i)),n.max=(r,i)=>n.check(pu(r,i)),n.int=r=>n.check(Pg(r)),n.safe=r=>n.check(Pg(r)),n.positive=r=>n.check(Tg(0,r)),n.nonnegative=r=>n.check(fu(0,r)),n.negative=r=>n.check($g(0,r)),n.nonpositive=r=>n.check(pu(0,r)),n.multipleOf=(r,i)=>n.check(Ig(r,i)),n.step=(r,i)=>n.check(Ig(r,i)),n.finite=()=>n;const e=n._zod.bag;n.minValue=Math.max(e.minimum??Number.NEGATIVE_INFINITY,e.exclusiveMinimum??Number.NEGATIVE_INFINITY)??null,n.maxValue=Math.min(e.maximum??Number.POSITIVE_INFINITY,e.exclusiveMaximum??Number.POSITIVE_INFINITY)??null,n.isInt=(e.format??"").includes("int")||Number.isSafeInteger(e.multipleOf??.5),n.isFinite=!0,n.format=e.format??null});function H(n){return hC(Hy,n)}const NR=A("ZodNumberFormat",(n,t)=>{gI.init(n,t),Hy.init(n,t)});function Pg(n){return dC(NR,n)}const UR=A("ZodBoolean",(n,t)=>{mI.init(n,t),ve.init(n,t),n._zod.processJSONSchema=(e,r,i)=>zC(n,e,r)});function Le(n){return pC(UR,n)}const FR=A("ZodUnknown",(n,t)=>{vI.init(n,t),ve.init(n,t),n._zod.processJSONSchema=(e,r,i)=>MC()});function _(){return fC(FR)}const HR=A("ZodNever",(n,t)=>{yI.init(n,t),ve.init(n,t),n._zod.processJSONSchema=(e,r,i)=>OC(n,e,r)});function ZR(n){return gC(HR,n)}const WR=A("ZodArray",(n,t)=>{bI.init(n,t),ve.init(n,t),n._zod.processJSONSchema=(e,r,i)=>ZC(n,e,r,i),n.element=t.element,n.min=(e,r)=>n.check(Il(e,r)),n.nonempty=e=>n.check(Il(1,e)),n.max=(e,r)=>n.check(Dy(e,r)),n.length=(e,r)=>n.check(Ly(e,r)),n.unwrap=()=>n.element});function z(n,t){return $C(WR,n,t)}const Zy=A("ZodObject",(n,t)=>{SI.init(n,t),ve.init(n,t),n._zod.processJSONSchema=(e,r,i)=>WC(n,e,r,i),ee(n,"shape",()=>t.shape),n.keyof=()=>jy(Object.keys(n._zod.def.shape)),n.catchall=e=>n.clone({...n._zod.def,catchall:e}),n.passthrough=()=>n.clone({...n._zod.def,catchall:_()}),n.loose=()=>n.clone({...n._zod.def,catchall:_()}),n.strict=()=>n.clone({...n._zod.def,catchall:ZR()}),n.strip=()=>n.clone({...n._zod.def,catchall:void 0}),n.extend=e=>Z$(n,e),n.safeExtend=e=>W$(n,e),n.merge=e=>B$(n,e),n.pick=e=>F$(n,e),n.omit=e=>H$(n,e),n.partial=(...e)=>j$(Vy,n,e[0]),n.required=(...e)=>V$(Gy,n,e[0])});function Wy(n,t){const e={type:"object",shape:n??{},...O(t)};return new Zy(e)}function v(n,t){return new Zy({type:"object",shape:n,catchall:_(),...O(t)})}const By=A("ZodUnion",(n,t)=>{Ry.init(n,t),ve.init(n,t),n._zod.processJSONSchema=(e,r,i)=>BC(n,e,r,i),n.options=t.options});function j(n,t){return new By({type:"union",options:n,...O(t)})}const BR=A("ZodDiscriminatedUnion",(n,t)=>{By.init(n,t),_I.init(n,t)});function jR(n,t,e){return new BR({type:"union",options:t,discriminator:n,...O(e)})}const VR=A("ZodIntersection",(n,t)=>{kI.init(n,t),ve.init(n,t),n._zod.processJSONSchema=(e,r,i)=>jC(n,e,r,i)});function gc(n,t){return new VR({type:"intersection",left:n,right:t})}const GR=A("ZodRecord",(n,t)=>{xI.init(n,t),ve.init(n,t),n._zod.processJSONSchema=(e,r,i)=>VC(n,e,r,i),n.keyType=t.keyType,n.valueType=t.valueType});function k(n,t,e){return new GR({type:"record",keyType:n,valueType:t,...O(e)})}const eh=A("ZodEnum",(n,t)=>{EI.init(n,t),ve.init(n,t),n._zod.processJSONSchema=(r,i,s)=>NC(n,r,i),n.enum=t.entries,n.options=Object.values(t.entries);const e=new Set(Object.keys(t.entries));n.extract=(r,i)=>{const s={};for(const o of r)if(e.has(o))s[o]=t.entries[o];else throw new Error(`Key ${o} not found in enum`);return new eh({...t,checks:[],...O(i),entries:s})},n.exclude=(r,i)=>{const s={...t.entries};for(const o of r)if(e.has(o))delete s[o];else throw new Error(`Key ${o} not found in enum`);return new eh({...t,checks:[],...O(i),entries:s})}});function jy(n,t){const e=Array.isArray(n)?Object.fromEntries(n.map(r=>[r,r])):n;return new eh({type:"enum",entries:e,...O(t)})}const qR=A("ZodLiteral",(n,t)=>{AI.init(n,t),ve.init(n,t),n._zod.processJSONSchema=(e,r,i)=>UC(n,e,r),n.values=new Set(t.values),Object.defineProperty(n,"value",{get(){if(t.values.length>1)throw new Error("This schema contains multiple valid literal values. Use `.values` instead.");return t.values[0]}})});function $(n,t){return new qR({type:"literal",values:Array.isArray(n)?n:[n],...O(t)})}const YR=A("ZodTransform",(n,t)=>{$I.init(n,t),ve.init(n,t),n._zod.processJSONSchema=(e,r,i)=>HC(n,e),n._zod.parse=(e,r)=>{if(r.direction==="backward")throw new dy(n.constructor.name);e.addIssue=s=>{if(typeof s=="string")e.issues.push(ao(s,e.value,t));else{const o=s;o.fatal&&(o.continue=!1),o.code??(o.code="custom"),o.input??(o.input=e.value),o.inst??(o.inst=n),e.issues.push(ao(o))}};const i=t.transform(e.value,e);return i instanceof Promise?i.then(s=>(e.value=s,e)):(e.value=i,e)}});function KR(n){return new YR({type:"transform",transform:n})}const Vy=A("ZodOptional",(n,t)=>{Py.init(n,t),ve.init(n,t),n._zod.processJSONSchema=(e,r,i)=>Ny(n,e,r,i),n.unwrap=()=>n._zod.def.innerType});function Dg(n){return new Vy({type:"optional",innerType:n})}const JR=A("ZodExactOptional",(n,t)=>{TI.init(n,t),ve.init(n,t),n._zod.processJSONSchema=(e,r,i)=>Ny(n,e,r,i),n.unwrap=()=>n._zod.def.innerType});function XR(n){return new JR({type:"optional",innerType:n})}const QR=A("ZodNullable",(n,t)=>{II.init(n,t),ve.init(n,t),n._zod.processJSONSchema=(e,r,i)=>GC(n,e,r,i),n.unwrap=()=>n._zod.def.innerType});function Lg(n){return new QR({type:"nullable",innerType:n})}const eP=A("ZodDefault",(n,t)=>{CI.init(n,t),ve.init(n,t),n._zod.processJSONSchema=(e,r,i)=>YC(n,e,r,i),n.unwrap=()=>n._zod.def.innerType,n.removeDefault=n.unwrap});function tP(n,t){return new eP({type:"default",innerType:n,get defaultValue(){return typeof t=="function"?t():my(t)}})}const nP=A("ZodPrefault",(n,t)=>{RI.init(n,t),ve.init(n,t),n._zod.processJSONSchema=(e,r,i)=>KC(n,e,r,i),n.unwrap=()=>n._zod.def.innerType});function rP(n,t){return new nP({type:"prefault",innerType:n,get defaultValue(){return typeof t=="function"?t():my(t)}})}const Gy=A("ZodNonOptional",(n,t)=>{PI.init(n,t),ve.init(n,t),n._zod.processJSONSchema=(e,r,i)=>qC(n,e,r,i),n.unwrap=()=>n._zod.def.innerType});function iP(n,t){return new Gy({type:"nonoptional",innerType:n,...O(t)})}const sP=A("ZodCatch",(n,t)=>{DI.init(n,t),ve.init(n,t),n._zod.processJSONSchema=(e,r,i)=>JC(n,e,r,i),n.unwrap=()=>n._zod.def.innerType,n.removeCatch=n.unwrap});function oP(n,t){return new sP({type:"catch",innerType:n,catchValue:typeof t=="function"?t:()=>t})}const aP=A("ZodPipe",(n,t)=>{LI.init(n,t),ve.init(n,t),n._zod.processJSONSchema=(e,r,i)=>XC(n,e,r,i),n.in=t.in,n.out=t.out});function zg(n,t){return new aP({type:"pipe",in:n,out:t})}const lP=A("ZodReadonly",(n,t)=>{zI.init(n,t),ve.init(n,t),n._zod.processJSONSchema=(e,r,i)=>QC(n,e,r,i),n.unwrap=()=>n._zod.def.innerType});function cP(n){return new lP({type:"readonly",innerType:n})}const uP=A("ZodCustom",(n,t)=>{OI.init(n,t),ve.init(n,t),n._zod.processJSONSchema=(e,r,i)=>FC(n,e)});function hP(n,t={}){return TC(uP,n,t)}function dP(n){return IC(n)}const pP=[".md",".markdown"];function qy(n){if(n.length===0)return!1;const t=n.at(-1);return t==="/"||t==="\\"}function Yy(n){const t=n.lastIndexOf("/"),e=n.lastIndexOf("\\");return n.slice(Math.max(t,e)+1)}function fP(n){return Yy(n).toLowerCase()}function gP(n,t){const e=fP(n);return t.some(r=>e.endsWith(r))}function mP(n){return!qy(n)&&gP(n,pP)}function vP(n){let t;try{t=new URL(n)}catch{return!1}return t.protocol==="http:"||t.protocol==="https:"}const yP=Wy({id:d().min(1),kind:$("path"),title:d(),path:d()}).strict(),bP=Wy({id:d().min(1),kind:$("url"),title:d(),url:d().refine(vP,{message:"url must be an http(s) URL"})}).strict();jR("kind",[yP,bP]);function Ky(n){return typeof n=="object"&&n!==null}function Jy(n){return!Ky(n)||n.type!=="ready"?!1:!("id"in n)}function Xy(n){return!(!Ky(n)||n.type!=="update-content"||typeof n.id!="string"||typeof n.content!="string")}const wP="/views/markdown/",SP="/views/url-unsupported/";function Qy(n){return`/artifact/${encodeURIComponent(n)}`}function _P(n,t){return`${Qy(n)}/${encodeURIComponent(t)}`}function kP(n){return`/markdown/${encodeURIComponent(n)}`}function Rl(n,t={electron:!1}){if(n.kind==="url")return t.electron?{renderer:"url-webview",viewURL:n.url,contentURL:null}:{renderer:"url-unsupported",viewURL:SP,contentURL:null};if(mP(n.path)){const r={viewURL:wP,contentURL:kP(n.id)};return t.electron?{renderer:"url-webview",...r}:{renderer:"markdown",...r}}const e=qy(n.path)?`${Qy(n.id)}/`:_P(n.id,Yy(n.path));return t.electron?{renderer:"url-webview",viewURL:e,contentURL:null}:{renderer:"proxy-iframe",viewURL:e,contentURL:null}}const xP="serverURL",EP="token",AP="mode",$P="electron";function eb(n=window.location.search,t=window.location.origin){const r=new URLSearchParams(n).get(xP);return r?new URL(r).origin:new URL(t).origin}function Og(n=window.location.search){return new URLSearchParams(n).get(EP)}function ln(n=typeof window>"u"?"":window.location.search){return new URLSearchParams(n).get(AP)===$P}const de={authenticate:"authenticate",document_did_change:"document/didChange",document_did_close:"document/didClose",document_did_focus:"document/didFocus",document_did_open:"document/didOpen",document_did_save:"document/didSave",initialize:"initialize",logout:"logout",nes_accept:"nes/accept",nes_close:"nes/close",nes_reject:"nes/reject",nes_start:"nes/start",nes_suggest:"nes/suggest",session_cancel:"session/cancel",session_close:"session/close",session_fork:"session/fork",session_list:"session/list",session_load:"session/load",session_new:"session/new",session_prompt:"session/prompt",session_resume:"session/resume",session_set_config_option:"session/set_config_option",session_set_mode:"session/set_mode",session_set_model:"session/set_model"},gn={fs_read_text_file:"fs/read_text_file",fs_write_text_file:"fs/write_text_file",session_request_permission:"session/request_permission",session_update:"session/update",terminal_create:"terminal/create",terminal_kill:"terminal/kill",terminal_output:"terminal/output",terminal_release:"terminal/release",terminal_wait_for_exit:"terminal/wait_for_exit"},TP=1,IP=v({_meta:k(d(),_()).nullish(),terminal:Le().optional().default(!1)}),CP=v({_meta:k(d(),_()).nullish(),label:d().nullish(),name:d(),optional:Le().optional().default(!1),secret:Le().optional().default(!0)}),RP=v({_meta:k(d(),_()).nullish(),description:d().nullish(),id:d(),name:d()}),PP=v({_meta:k(d(),_()).nullish(),description:d().nullish(),id:d(),link:d().nullish(),name:d(),vars:z(CP)}),DP=v({_meta:k(d(),_()).nullish(),args:z(d()).optional(),description:d().nullish(),env:k(d(),d()).optional(),id:d(),name:d()}),LP=j([PP.and(v({type:$("env_var")})),DP.and(v({type:$("terminal")})),RP]),zP=v({_meta:k(d(),_()).nullish(),methodId:d()}),OP=v({_meta:k(d(),_()).nullish()}),MP=v({_meta:k(d(),_()).nullish(),blob:d(),mimeType:d().nullish(),uri:d()}),NP=v({default:Le().nullish(),description:d().nullish(),title:d().nullish()}),UP=v({_meta:k(d(),_()).nullish()}),FP=v({_meta:k(d(),_()).nullish()}),HP=v({amount:H(),currency:d()}),ZP=v({_meta:k(d(),_()).nullish(),terminalId:d()}),WP=v({_meta:k(d(),_()).nullish(),newText:d(),oldText:d().nullish(),path:d()}),BP=j([d(),H(),H(),Le(),z(d())]),jP=v({content:k(d(),BP).nullish()}),VP=j([jP.and(v({action:$("accept")})),v({action:$("decline")}),v({action:$("cancel")})]),GP=v({_meta:k(d(),_()).nullish()}),tb=d(),qP=v({_meta:k(d(),_()).nullish(),elicitationId:tb}),YP=v({_meta:k(d(),_()).nullish(),action:VP}),KP=$("object"),JP=$("string"),XP=v({_meta:k(d(),_()).nullish()}),QP=v({_meta:k(d(),_()).nullish(),form:GP.nullish(),url:XP.nullish()}),eD=v({elicitationId:tb,url:d().url()}),nb=v({const:d(),title:d()}),rb=v({_meta:k(d(),_()).nullish(),name:d(),value:d()}),tD=j([$(-32700),$(-32600),$(-32601),$(-32602),$(-32603),$(-32800),$(-32e3),$(-32002),$(-32042),H().int().min(-2147483648,{message:"Invalid value: Expected int32 to be >= -2147483648"}).max(2147483647,{message:"Invalid value: Expected int32 to be <= 2147483647"})]),ib=v({code:tD,data:_().optional(),message:d()}),sb=_(),ob=_(),ab=_(),nD=v({_meta:k(d(),_()).nullish(),readTextFile:Le().optional().default(!1),writeTextFile:Le().optional().default(!1)}),lb=v({_meta:k(d(),_()).nullish(),name:d(),value:d()}),cb=v({_meta:k(d(),_()).nullish(),name:d(),title:d().nullish(),version:d()}),rD=v({default:H().nullish(),description:d().nullish(),maximum:H().nullish(),minimum:H().nullish(),title:d().nullish()}),iD=v({_meta:k(d(),_()).nullish()}),sD=v({_meta:k(d(),_()).nullish(),additionalDirectories:z(d()).optional(),cursor:d().nullish(),cwd:d().nullish()}),oD=v({_meta:k(d(),_()).nullish()}),aD=v({_meta:k(d(),_()).nullish(),logout:oD.nullish()}),lD=v({_meta:k(d(),_()).nullish()}),cD=v({_meta:k(d(),_()).nullish()}),uD=v({_meta:k(d(),_()).nullish(),http:Le().optional().default(!1),sse:Le().optional().default(!1)}),hD=v({_meta:k(d(),_()).nullish(),headers:z(lb),name:d(),url:d()}),dD=v({_meta:k(d(),_()).nullish(),headers:z(lb),name:d(),url:d()}),pD=v({_meta:k(d(),_()).nullish(),args:z(d()),command:d(),env:z(rb),name:d()}),mc=j([hD.and(v({type:$("http")})),dD.and(v({type:$("sse")})),pD]),Fd=d(),fD=v({_meta:k(d(),_()).nullish(),description:d().nullish(),modelId:Fd,name:d()}),gD=j([$("error"),$("warning"),$("information"),$("hint")]),mD=v({_meta:k(d(),_()).nullish()}),vD=v({_meta:k(d(),_()).nullish()}),yD=v({_meta:k(d(),_()).nullish()}),bD=v({_meta:k(d(),_()).nullish()}),wD=v({_meta:k(d(),_()).nullish()}),SD=v({_meta:k(d(),_()).nullish(),maxCount:H().int().gte(0).max(4294967295,{message:"Invalid value: Expected uint32 to be <= 4294967295"}).nullish()}),_D=v({diff:d(),uri:d()}),kD=v({endLine:H().int().gte(0).max(4294967295,{message:"Invalid value: Expected uint32 to be <= 4294967295"}),startLine:H().int().gte(0).max(4294967295,{message:"Invalid value: Expected uint32 to be <= 4294967295"}),text:d()}),xD=v({_meta:k(d(),_()).nullish()}),ED=v({_meta:k(d(),_()).nullish()}),AD=v({languageId:d(),text:d(),uri:d()}),$D=v({_meta:k(d(),_()).nullish(),maxCount:H().int().gte(0).max(4294967295,{message:"Invalid value: Expected uint32 to be <= 4294967295"}).nullish()}),TD=j([$("rejected"),$("ignored"),$("replaced"),$("cancelled")]),ID=v({excerpts:z(kD),uri:d()}),CD=v({_meta:k(d(),_()).nullish()}),RD=v({_meta:k(d(),_()).nullish()}),PD=v({name:d(),owner:d(),remoteUrl:d()}),DD=v({_meta:k(d(),_()).nullish()}),LD=v({_meta:k(d(),_()).nullish(),jump:xD.nullish(),rename:RD.nullish(),searchAndReplace:DD.nullish()}),zD=v({id:d(),isRegex:Le().nullish(),replace:d(),search:d(),uri:d()}),OD=j([$("automatic"),$("diagnostic"),$("manual")]),MD=v({_meta:k(d(),_()).nullish(),maxCount:H().int().gte(0).max(4294967295,{message:"Invalid value: Expected uint32 to be <= 4294967295"}).nullish()}),ND=v({_meta:k(d(),_()).nullish(),diagnostics:mD.nullish(),editHistory:SD.nullish(),openFiles:ED.nullish(),recentFiles:$D.nullish(),relatedSnippets:CD.nullish(),userActions:MD.nullish()}),UD=v({_meta:k(d(),_()).nullish(),additionalDirectories:z(d()).optional(),cwd:d(),mcpServers:z(mc)}),FD=v({default:H().nullish(),description:d().nullish(),maximum:H().nullish(),minimum:H().nullish(),title:d().nullish()}),ub=d(),HD=j([$("allow_once"),$("allow_always"),$("reject_once"),$("reject_always")]),ZD=v({_meta:k(d(),_()).nullish(),kind:HD,name:d(),optionId:ub}),WD=j([$("high"),$("medium"),$("low")]),BD=j([$("pending"),$("in_progress"),$("completed")]),jD=v({_meta:k(d(),_()).nullish(),content:d(),priority:WD,status:BD}),VD=v({_meta:k(d(),_()).nullish(),entries:z(jD)}),Qn=v({character:H().int().gte(0).max(4294967295,{message:"Invalid value: Expected uint32 to be <= 4294967295"}),line:H().int().gte(0).max(4294967295,{message:"Invalid value: Expected uint32 to be <= 4294967295"})}),GD=v({id:d(),position:Qn,uri:d()}),qD=v({id:d(),newName:d(),position:Qn,uri:d()}),YD=v({action:d(),position:Qn,timestampMs:H(),uri:d()}),hb=j([$("utf-16"),$("utf-32"),$("utf-8")]),KD=v({_meta:k(d(),_()).nullish(),auth:IP.optional().default({terminal:!1}),elicitation:QP.nullish(),fs:nD.optional().default({readTextFile:!1,writeTextFile:!1}),nes:LD.nullish(),positionEncodings:z(hb).optional(),terminal:Le().optional().default(!1)}),JD=v({_meta:k(d(),_()).nullish(),audio:Le().optional().default(!1),embeddedContext:Le().optional().default(!1),image:Le().optional().default(!1)}),db=H().int().gte(0).lte(65535),XD=v({_meta:k(d(),_()).nullish(),clientCapabilities:KD.optional().default({auth:{terminal:!1},fs:{readTextFile:!1,writeTextFile:!1},terminal:!1}),clientInfo:cb.nullish(),protocolVersion:db}),Ss=v({end:Qn,start:Qn}),QD=v({message:d(),range:Ss,severity:gD,uri:d()}),eL=v({languageId:d(),lastFocusedMs:H().nullish(),uri:d(),visibleRange:Ss.nullish()}),tL=v({_meta:k(d(),_()).nullish(),diagnostics:z(QD).nullish(),editHistory:z(_D).nullish(),openFiles:z(eL).nullish(),recentFiles:z(AD).nullish(),relatedSnippets:z(ID).nullish(),userActions:z(YD).nullish()}),nL=v({newText:d(),range:Ss}),rL=v({cursorPosition:Qn.nullish(),edits:z(nL),id:d(),uri:d()}),iL=j([rL.and(v({kind:$("edit")})),GD.and(v({kind:$("jump")})),qD.and(v({kind:$("rename")})),zD.and(v({kind:$("searchAndReplace")}))]),sL=v({_meta:k(d(),_()).nullish(),content:d()}),oL=v({_meta:k(d(),_()).nullish()}),jr=j([H(),d()]).nullable();v({_meta:k(d(),_()).nullish(),requestId:jr});const aL=jy(["assistant","user"]),va=v({_meta:k(d(),_()).nullish(),audience:z(aL).nullish(),lastModified:d().nullish(),priority:H().nullish()}),lL=v({_meta:k(d(),_()).nullish(),annotations:va.nullish(),data:d(),mimeType:d()}),cL=v({_meta:k(d(),_()).nullish(),annotations:va.nullish(),data:d(),mimeType:d(),uri:d().nullish()}),uL=v({_meta:k(d(),_()).nullish(),annotations:va.nullish(),description:d().nullish(),mimeType:d().nullish(),name:d(),size:H().nullish(),title:d().nullish(),uri:d()}),hL=v({_meta:k(d(),_()).nullish(),optionId:ub}),dL=j([v({outcome:$("cancelled")}),hL.and(v({outcome:$("selected")}))]),pL=v({_meta:k(d(),_()).nullish(),outcome:dL}),fL=v({_meta:k(d(),_()).nullish()}),gL=v({_meta:k(d(),_()).nullish()}),mL=v({currentValue:Le()}),vL=d(),pb=d(),yL=j([$("mode"),$("model"),$("thought_level"),d()]),Hd=d(),fb=v({_meta:k(d(),_()).nullish(),description:d().nullish(),name:d(),value:Hd}),bL=v({_meta:k(d(),_()).nullish(),group:vL,name:d(),options:z(fb)}),wL=j([z(fb),z(bL)]),SL=v({currentValue:Hd,options:wL}),_s=gc(j([SL.and(v({type:$("select")})),mL.and(v({type:$("boolean")}))]),v({_meta:k(d(),_()).nullish(),category:yL.nullish(),description:d().nullish(),id:pb,name:d()})),_L=v({_meta:k(d(),_()).nullish(),configOptions:z(_s)}),kL=v({_meta:k(d(),_()).nullish()}),Q=d(),xL=v({_meta:k(d(),_()).nullish(),id:d(),sessionId:Q}),EL=v({_meta:k(d(),_()).nullish(),sessionId:Q}),AL=v({_meta:k(d(),_()).nullish(),sessionId:Q}),$L=v({_meta:k(d(),_()).nullish(),sessionId:Q}),gb=v({_meta:k(d(),_()).nullish(),args:z(d()).optional(),command:d(),cwd:d().nullish(),env:z(rb).optional(),outputByteLimit:H().nullish(),sessionId:Q}),TL=v({_meta:k(d(),_()).nullish(),sessionId:Q,uri:d()}),IL=v({_meta:k(d(),_()).nullish(),position:Qn,sessionId:Q,uri:d(),version:H(),visibleRange:Ss}),CL=v({_meta:k(d(),_()).nullish(),languageId:d(),sessionId:Q,text:d(),uri:d(),version:H()}),RL=v({_meta:k(d(),_()).nullish(),sessionId:Q,uri:d()}),PL=v({_meta:k(d(),_()).nullish(),additionalDirectories:z(d()).optional(),cwd:d(),mcpServers:z(mc).optional(),sessionId:Q}),mb=v({_meta:k(d(),_()).nullish(),sessionId:Q,terminalId:d()}),DL=v({_meta:k(d(),_()).nullish(),additionalDirectories:z(d()).optional(),cwd:d(),mcpServers:z(mc),sessionId:Q}),vb=v({_meta:k(d(),_()).nullish(),limit:H().int().gte(0).max(4294967295,{message:"Invalid value: Expected uint32 to be <= 4294967295"}).nullish(),line:H().int().gte(0).max(4294967295,{message:"Invalid value: Expected uint32 to be <= 4294967295"}).nullish(),path:d(),sessionId:Q}),LL=v({_meta:k(d(),_()).nullish(),id:d(),reason:TD.nullish(),sessionId:Q}),yb=v({_meta:k(d(),_()).nullish(),sessionId:Q,terminalId:d()}),zL=v({_meta:k(d(),_()).nullish(),additionalDirectories:z(d()).optional(),cwd:d(),mcpServers:z(mc).optional(),sessionId:Q}),OL=v({_meta:k(d(),_()).nullish(),additionalDirectories:z(d()).optional(),cwd:d(),sessionId:Q,title:d().nullish(),updatedAt:d().nullish()}),ML=v({_meta:k(d(),_()).nullish(),nextCursor:d().nullish(),sessions:z(OL)}),NL=v({_meta:k(d(),_()).nullish(),title:d().nullish(),updatedAt:d().nullish()}),UL=v({_meta:k(d(),_()).nullish()}),vc=d(),FL=v({_meta:k(d(),_()).nullish(),currentModeId:vc}),HL=v({_meta:k(d(),_()).nullish(),description:d().nullish(),id:vc,name:d()}),yc=v({_meta:k(d(),_()).nullish(),availableModes:z(HL),currentModeId:vc}),bc=v({_meta:k(d(),_()).nullish(),availableModels:z(fD),currentModelId:Fd}),ZL=v({_meta:k(d(),_()).nullish(),configOptions:z(_s).nullish(),models:bc.nullish(),modes:yc.nullish(),sessionId:Q}),WL=v({_meta:k(d(),_()).nullish(),configOptions:z(_s).nullish(),models:bc.nullish(),modes:yc.nullish()}),BL=v({_meta:k(d(),_()).nullish(),configOptions:z(_s).nullish(),models:bc.nullish(),modes:yc.nullish(),sessionId:Q}),jL=v({_meta:k(d(),_()).nullish(),configOptions:z(_s).nullish(),models:bc.nullish(),modes:yc.nullish()}),VL=v({_meta:k(d(),_()).nullish()}),GL=v({_meta:k(d(),_()).nullish(),additionalDirectories:fL.nullish(),close:gL.nullish(),fork:kL.nullish(),list:UL.nullish(),resume:VL.nullish()}),qL=gc(j([v({type:$("boolean"),value:Le()}),v({value:Hd})]),v({_meta:k(d(),_()).nullish(),configId:pb,sessionId:Q})),YL=v({_meta:k(d(),_()).nullish(),configOptions:z(_s)}),KL=v({_meta:k(d(),_()).nullish(),modeId:vc,sessionId:Q}),JL=v({_meta:k(d(),_()).nullish()}),XL=v({_meta:k(d(),_()).nullish(),modelId:Fd,sessionId:Q}),QL=v({_meta:k(d(),_()).nullish()}),e2=v({_meta:k(d(),_()).nullish(),sessionId:Q}),t2=j([$("end_turn"),$("max_tokens"),$("max_turn_requests"),$("refusal"),$("cancelled")]),n2=j([$("email"),$("uri"),$("date"),$("date-time")]),r2=v({default:d().nullish(),description:d().nullish(),enum:z(d()).nullish(),format:n2.nullish(),maxLength:H().int().gte(0).max(4294967295,{message:"Invalid value: Expected uint32 to be <= 4294967295"}).nullish(),minLength:H().int().gte(0).max(4294967295,{message:"Invalid value: Expected uint32 to be <= 4294967295"}).nullish(),oneOf:z(nb).nullish(),pattern:d().nullish(),title:d().nullish()}),i2=v({_meta:k(d(),_()).nullish(),context:tL.nullish(),position:Qn,selection:Ss.nullish(),sessionId:Q,triggerKind:OD,uri:d(),version:H()}),s2=v({_meta:k(d(),_()).nullish(),suggestions:z(iL)}),o2=v({_meta:k(d(),_()).nullish(),terminalId:d()}),a2=v({_meta:k(d(),_()).nullish(),exitCode:H().int().gte(0).max(4294967295,{message:"Invalid value: Expected uint32 to be <= 4294967295"}).nullish(),signal:d().nullish()}),bb=v({_meta:k(d(),_()).nullish(),sessionId:Q,terminalId:d()}),l2=v({_meta:k(d(),_()).nullish(),exitStatus:a2.nullish(),output:d(),truncated:Le()}),c2=v({_meta:k(d(),_()).nullish(),annotations:va.nullish(),text:d()}),u2=v({range:Ss.nullish(),text:d()}),h2=v({_meta:k(d(),_()).nullish(),contentChanges:z(u2),sessionId:Q,uri:d(),version:H()});v({method:d(),params:j([EL,CL,h2,TL,RL,IL,xL,LL,sb]).nullish()});const d2=j([$("full"),$("incremental")]),p2=v({_meta:k(d(),_()).nullish(),syncKind:d2}),f2=v({_meta:k(d(),_()).nullish(),didChange:p2.nullish(),didClose:vD.nullish(),didFocus:yD.nullish(),didOpen:bD.nullish(),didSave:wD.nullish()}),g2=v({_meta:k(d(),_()).nullish(),document:f2.nullish()}),m2=v({_meta:k(d(),_()).nullish(),context:ND.nullish(),events:g2.nullish()}),v2=v({_meta:k(d(),_()).nullish(),auth:aD.optional().default({}),loadSession:Le().optional().default(!1),mcpCapabilities:uD.optional().default({http:!1,sse:!1}),nes:m2.nullish(),positionEncoding:hb.nullish(),promptCapabilities:JD.optional().default({audio:!1,embeddedContext:!1,image:!1}),sessionCapabilities:GL.optional().default({})}),y2=v({_meta:k(d(),_()).nullish(),agentCapabilities:v2.optional().default({auth:{},loadSession:!1,mcpCapabilities:{http:!1,sse:!1},promptCapabilities:{audio:!1,embeddedContext:!1,image:!1},sessionCapabilities:{}}),agentInfo:cb.nullish(),authMethods:z(LP).optional().default([]),protocolVersion:db}),b2=v({_meta:k(d(),_()).nullish(),mimeType:d().nullish(),text:d(),uri:d()}),w2=j([b2,MP]),S2=v({_meta:k(d(),_()).nullish(),annotations:va.nullish(),resource:w2}),Zd=j([c2.and(v({type:$("text")})),cL.and(v({type:$("image")})),lL.and(v({type:$("audio")})),uL.and(v({type:$("resource_link")})),S2.and(v({type:$("resource")}))]),_2=v({_meta:k(d(),_()).nullish(),content:Zd}),gu=v({_meta:k(d(),_()).nullish(),content:Zd,messageId:d().nullish()}),k2=v({_meta:k(d(),_()).nullish(),messageId:d().nullish(),prompt:z(Zd),sessionId:Q}),x2=v({anyOf:z(nb)}),wb=j([_2.and(v({type:$("content")})),WP.and(v({type:$("diff")})),o2.and(v({type:$("terminal")}))]),Sb=d(),_b=v({_meta:k(d(),_()).nullish(),line:H().int().gte(0).max(4294967295,{message:"Invalid value: Expected uint32 to be <= 4294967295"}).nullish(),path:d()}),kb=j([$("pending"),$("in_progress"),$("completed"),$("failed")]),xb=j([$("read"),$("edit"),$("delete"),$("move"),$("search"),$("execute"),$("think"),$("fetch"),$("switch_mode"),$("other")]),E2=v({_meta:k(d(),_()).nullish(),content:z(wb).optional(),kind:xb.optional(),locations:z(_b).optional(),rawInput:_().optional(),rawOutput:_().optional(),status:kb.optional(),title:d(),toolCallId:Sb}),Eb=v({_meta:k(d(),_()).nullish(),content:z(wb).nullish(),kind:xb.nullish(),locations:z(_b).nullish(),rawInput:_().optional(),rawOutput:_().optional(),status:kb.nullish(),title:d().nullish(),toolCallId:Sb}),Ab=v({_meta:k(d(),_()).nullish(),options:z(ZD),sessionId:Q,toolCall:Eb}),A2=v({_meta:k(d(),_()).nullish(),hint:d()}),$2=A2,T2=v({_meta:k(d(),_()).nullish(),description:d(),input:$2.nullish(),name:d()}),I2=v({_meta:k(d(),_()).nullish(),availableCommands:z(T2)}),C2=v({enum:z(d()),type:JP}),R2=j([C2,x2]),P2=v({default:z(d()).nullish(),description:d().nullish(),items:R2,maxItems:H().nullish(),minItems:H().nullish(),title:d().nullish()}),D2=j([r2.and(v({type:$("string")})),FD.and(v({type:$("number")})),rD.and(v({type:$("integer")})),NP.and(v({type:$("boolean")})),P2.and(v({type:$("array")}))]),L2=v({description:d().nullish(),properties:k(d(),D2).optional().default({}),required:z(d()).nullish(),title:d().nullish(),type:KP.optional().default("object")}),z2=v({requestedSchema:L2}),O2=gc(j([z2.and(v({mode:$("form")})),eD.and(v({mode:$("url")}))]),v({_meta:k(d(),_()).nullish(),message:d(),sessionId:Q})),M2=v({cachedReadTokens:H().nullish(),cachedWriteTokens:H().nullish(),inputTokens:H(),outputTokens:H(),thoughtTokens:H().nullish(),totalTokens:H()}),N2=v({_meta:k(d(),_()).nullish(),stopReason:t2,usage:M2.nullish(),userMessageId:d().nullish()});j([v({id:jr,result:j([y2,OP,cD,BL,WL,ML,ZL,jL,FP,JL,YL,N2,QL,e2,s2,UP,ab])}),v({error:ib,id:jr})]);const U2=v({_meta:k(d(),_()).nullish(),cost:HP.nullish(),size:H(),used:H()}),F2=j([gu.and(v({sessionUpdate:$("user_message_chunk")})),gu.and(v({sessionUpdate:$("agent_message_chunk")})),gu.and(v({sessionUpdate:$("agent_thought_chunk")})),E2.and(v({sessionUpdate:$("tool_call")})),Eb.and(v({sessionUpdate:$("tool_call_update")})),VD.and(v({sessionUpdate:$("plan")})),I2.and(v({sessionUpdate:$("available_commands_update")})),FL.and(v({sessionUpdate:$("current_mode_update")})),_L.and(v({sessionUpdate:$("config_option_update")})),NL.and(v({sessionUpdate:$("session_info_update")})),U2.and(v({sessionUpdate:$("usage_update")}))]),$b=v({_meta:k(d(),_()).nullish(),sessionId:Q,update:F2});v({method:d(),params:j([$b,qP,sb]).nullish()});const Tb=v({_meta:k(d(),_()).nullish(),sessionId:Q,terminalId:d()}),H2=v({_meta:k(d(),_()).nullish(),exitCode:H().int().gte(0).max(4294967295,{message:"Invalid value: Expected uint32 to be <= 4294967295"}).nullish(),signal:d().nullish()}),Z2=v({name:d(),uri:d()}),W2=v({_meta:k(d(),_()).nullish(),repository:PD.nullish(),workspaceFolders:z(Z2).nullish(),workspaceUri:d().nullish()});v({id:jr,method:d(),params:j([XD,zP,lD,UD,DL,sD,PL,zL,$L,KL,qL,k2,XL,W2,i2,AL,ob]).nullish()});const Ib=v({_meta:k(d(),_()).nullish(),content:d(),path:d(),sessionId:Q});v({id:jr,method:d(),params:j([Ib,vb,Ab,gb,bb,yb,Tb,mb,O2,ob]).nullish()});const B2=v({_meta:k(d(),_()).nullish()});j([v({id:jr,result:j([B2,sL,pL,ZP,l2,oL,H2,iD,YP,ab])}),v({error:ib,id:jr})]);var X;class j2{constructor(t,e){S(this,X);const r=t(this),i=async(o,a)=>{var c,u,h,f,y,m,E;switch(o){case gn.fs_write_text_file:{const x=Ib.parse(a);return(c=r.writeTextFile)==null?void 0:c.call(r,x)}case gn.fs_read_text_file:{const x=vb.parse(a);return(u=r.readTextFile)==null?void 0:u.call(r,x)}case gn.session_request_permission:{const x=Ab.parse(a);return r.requestPermission(x)}case gn.terminal_create:{const x=gb.parse(a);return(h=r.createTerminal)==null?void 0:h.call(r,x)}case gn.terminal_output:{const x=bb.parse(a);return(f=r.terminalOutput)==null?void 0:f.call(r,x)}case gn.terminal_release:{const x=yb.parse(a);return await((y=r.releaseTerminal)==null?void 0:y.call(r,x))??{}}case gn.terminal_wait_for_exit:{const x=Tb.parse(a);return(m=r.waitForTerminalExit)==null?void 0:m.call(r,x)}case gn.terminal_kill:{const x=mb.parse(a);return await((E=r.killTerminal)==null?void 0:E.call(r,x))??{}}default:if(r.extMethod)return r.extMethod(o,a);throw Ce.methodNotFound(o)}},s=async(o,a)=>{switch(o){case gn.session_update:{const c=$b.parse(a);return r.sessionUpdate(c)}default:if(r.extNotification)return r.extNotification(o,a);throw Ce.methodNotFound(o)}};w(this,X,new V2(i,s,e))}async initialize(t){return await l(this,X).sendRequest(de.initialize,t)}async newSession(t){return await l(this,X).sendRequest(de.session_new,t)}async loadSession(t){return await l(this,X).sendRequest(de.session_load,t)??{}}async unstable_forkSession(t){return await l(this,X).sendRequest(de.session_fork,t)}async listSessions(t){return await l(this,X).sendRequest(de.session_list,t)}async unstable_resumeSession(t){return await l(this,X).sendRequest(de.session_resume,t)}async unstable_closeSession(t){return await l(this,X).sendRequest(de.session_close,t)}async setSessionMode(t){return await l(this,X).sendRequest(de.session_set_mode,t)??{}}async unstable_setSessionModel(t){return await l(this,X).sendRequest(de.session_set_model,t)??{}}async setSessionConfigOption(t){return await l(this,X).sendRequest(de.session_set_config_option,t)}async authenticate(t){return await l(this,X).sendRequest(de.authenticate,t)??{}}async unstable_logout(t){return await l(this,X).sendRequest(de.logout,t)??{}}async prompt(t){return await l(this,X).sendRequest(de.session_prompt,t)}async cancel(t){return await l(this,X).sendNotification(de.session_cancel,t)}async unstable_startNes(t){return await l(this,X).sendRequest(de.nes_start,t)}async unstable_suggestNes(t){return await l(this,X).sendRequest(de.nes_suggest,t)}async unstable_closeNes(t){return await l(this,X).sendRequest(de.nes_close,t)??{}}async unstable_didOpenDocument(t){return await l(this,X).sendNotification(de.document_did_open,t)}async unstable_didChangeDocument(t){return await l(this,X).sendNotification(de.document_did_change,t)}async unstable_didCloseDocument(t){return await l(this,X).sendNotification(de.document_did_close,t)}async unstable_didSaveDocument(t){return await l(this,X).sendNotification(de.document_did_save,t)}async unstable_didFocusDocument(t){return await l(this,X).sendNotification(de.document_did_focus,t)}async unstable_acceptNes(t){return await l(this,X).sendNotification(de.nes_accept,t)}async unstable_rejectNes(t){return await l(this,X).sendNotification(de.nes_reject,t)}async extMethod(t,e){return await l(this,X).sendRequest(t,e)}async extNotification(t,e){return await l(this,X).sendNotification(t,e)}get signal(){return l(this,X).signal}get closed(){return l(this,X).closed}}X=new WeakMap;var Nn,Zl,mo,vo,Li,zi,Vt,yo,ge,Cb,th,Rb,Pb,Db,Lb,nh,Zs;class V2{constructor(t,e,r){S(this,ge);S(this,Nn,new Map);S(this,Zl,0);S(this,mo);S(this,vo);S(this,Li);S(this,zi,Promise.resolve());S(this,Vt,new AbortController);S(this,yo);w(this,mo,t),w(this,vo,e),w(this,Li,r),w(this,yo,new Promise(i=>{l(this,Vt).signal.addEventListener("abort",()=>i())})),p(this,ge,Cb).call(this)}get signal(){return l(this,Vt).signal}get closed(){return l(this,yo)}async sendRequest(t,e){p(this,ge,nh).call(this);const r=Rp(this,Zl)._++,i=new Promise((s,o)=>{l(this,Nn).set(r,{resolve:s,reject:o})});return await p(this,ge,Zs).call(this,{jsonrpc:"2.0",id:r,method:t,params:e}),i}async sendNotification(t,e){p(this,ge,nh).call(this),await p(this,ge,Zs).call(this,{jsonrpc:"2.0",method:t,params:e})}}Nn=new WeakMap,Zl=new WeakMap,mo=new WeakMap,vo=new WeakMap,Li=new WeakMap,zi=new WeakMap,Vt=new WeakMap,yo=new WeakMap,ge=new WeakSet,Cb=async function(){let t;try{const e=l(this,Li).readable.getReader();try{for(;!l(this,Vt).signal.aborted;){const{value:r,done:i}=await e.read();if(i)break;if(r)try{p(this,ge,Rb).call(this,r)}catch(s){console.error("Unexpected error during message processing:",r,s),"id"in r&&r.id!==void 0&&p(this,ge,Zs).call(this,{jsonrpc:"2.0",id:r.id,error:{code:-32700,message:"Parse error"}})}}}finally{e.releaseLock()}}catch(e){t=e}finally{p(this,ge,th).call(this,t)}},th=function(t){if(l(this,Vt).signal.aborted)return;const e=t??new Error("ACP connection closed");for(const r of l(this,Nn).values())r.reject(e);l(this,Nn).clear(),l(this,Vt).abort(e)},Rb=async function(t){if("method"in t&&"id"in t){const e=await p(this,ge,Pb).call(this,t.method,t.params);"error"in e&&console.error("Error handling request",t,e.error),await p(this,ge,Zs).call(this,{jsonrpc:"2.0",id:t.id,...e})}else if("method"in t){const e=await p(this,ge,Db).call(this,t.method,t.params);"error"in e&&console.error("Error handling notification",t,e.error)}else"id"in t?p(this,ge,Lb).call(this,t):console.error("Invalid message",{message:t})},Pb=async function(t,e){try{return{result:await l(this,mo).call(this,t,e)??null}}catch(r){if(r instanceof Ce)return r.toResult();if(r instanceof Cg)return Ce.invalidParams(r.format()).toResult();let i;(r instanceof Error||typeof r=="object"&&r!=null&&"message"in r&&typeof r.message=="string")&&(i=r.message);try{return Ce.internalError(i?JSON.parse(i):{}).toResult()}catch{return Ce.internalError({details:i}).toResult()}}},Db=async function(t,e){try{return await l(this,vo).call(this,t,e),{result:null}}catch(r){if(r instanceof Ce)return r.toResult();if(r instanceof Cg)return Ce.invalidParams(r.format()).toResult();let i;(r instanceof Error||typeof r=="object"&&r!=null&&"message"in r&&typeof r.message=="string")&&(i=r.message);try{return Ce.internalError(i?JSON.parse(i):{}).toResult()}catch{return Ce.internalError({details:i}).toResult()}}},Lb=function(t){const e=l(this,Nn).get(t.id);if(e){if("result"in t)e.resolve(t.result);else if("error"in t){const{code:r,message:i,data:s}=t.error;e.reject(new Ce(r,i,s))}l(this,Nn).delete(t.id)}else console.error("Got response to unknown request",t.id)},nh=function(){if(l(this,Vt).signal.aborted)throw l(this,Vt).signal.reason??new Error("ACP connection closed")},Zs=async function(t){return w(this,zi,l(this,zi).then(async()=>{const e=l(this,Li).writable.getWriter();try{await e.write(t)}finally{e.releaseLock()}}).catch(e=>{p(this,ge,th).call(this,e)})),l(this,zi)};class Ce extends Error{constructor(e,r,i){super(r);g(this,"code");g(this,"data");this.code=e,this.name="RequestError",this.data=i}static parseError(e,r){return new Ce(-32700,`Parse error${r?`: ${r}`:""}`,e)}static invalidRequest(e,r){return new Ce(-32600,`Invalid request${r?`: ${r}`:""}`,e)}static methodNotFound(e){return new Ce(-32601,`"Method not found": ${e}`,{method:e})}static invalidParams(e,r){return new Ce(-32602,`Invalid params${r?`: ${r}`:""}`,e)}static internalError(e,r){return new Ce(-32603,`Internal error${r?`: ${r}`:""}`,e)}static authRequired(e,r){return new Ce(-32e3,`Authentication required${r?`: ${r}`:""}`,e)}static resourceNotFound(e){return new Ce(-32002,`Resource not found${e?`: ${e}`:""}`,e&&{uri:e})}toResult(){return{error:{code:this.code,message:this.message,data:this.data}}}toErrorResponse(){return{code:this.code,message:this.message,data:this.data}}}const G2=/^Sender \(untrusted metadata\):\n```json\n[\s\S]*?\n```\n\n?/,q2=/^\[[^\n]*Working directory:[^\n]*\]\n\n?/,Y2=/\[Television screen context\][\s\S]*?\[\/Television screen context\]\n*/,K2=/\b(tv|television|screen|artifact|artifacts|viewer|filmstrip|layout|focus)\b/i,J2=/\[\[\s*(?:reply_to_current|reply_to\s*:\s*[^\]\n]+|audio_as_voice)\s*\]\]\s*/gi,X2="single_session",Q2={name:"television-acp-client",version:"0.0.0"},zb="agent:main:television",ez=ma(zt);var Oi,Gt,ht,qt,Un,At,Sn,Yt,Kt,Fn,$t,Mi,Ni,Jt,Ke,_n,Ui,Tr,kn,Hn,bo,Tt,Xt,Wl,Qt,T,rh,Ob,Mb,Nb,rl,Ub,Fb,Hb,Zb,Wb,Bb,jb,pr,vi,yi,mn,Vb,bi,ih,sh,il,Gb,sl,oh,ah,wo,So,ol,wi,lh,qb;class tz extends ez{constructor(e){super();S(this,T);S(this,Oi,"disconnected");S(this,Gt,null);S(this,ht,new Map);S(this,qt,null);S(this,Un,null);S(this,At,null);S(this,Sn,null);S(this,Yt,null);S(this,Kt,null);S(this,Fn);S(this,$t,null);S(this,Mi,0);S(this,Ni,1);S(this,Jt,null);S(this,Ke,null);S(this,_n,!1);S(this,Ui,!1);S(this,Tr,!1);S(this,kn,null);S(this,Hn,new Set);S(this,bo);S(this,Tt);S(this,Xt);S(this,Wl,e=>{p(this,T,Mb).call(this,e)});S(this,Qt,null);S(this,wo,()=>{p(this,T,wi).call(this,"ACP bridge websocket closed")});S(this,So,()=>{p(this,T,wi).call(this,"ACP bridge websocket error")});w(this,Tt,e),w(this,Xt,e.sessionMode??X2),w(this,Fn,e.mappedSessionStore??nz()),w(this,bo,e.createSocket??(r=>new WebSocket(r)))}get status(){return l(this,Oi)}get messages(){return[...l(this,ht).values()]}get enabled(){return l(this,Tt).enabled??!1}setToken(e){l(this,Tt).token=e??""}setEnabled(e){l(this,Tt).enabled=e,e||(p(this,T,ol).call(this),w(this,Gt,null),p(this,T,mn).call(this,"disconnected"))}async connect(){if(this.disposed)throw new Error("ACPClient has been disposed");if(this.enabled&&this.status==="disconnected"){l(this,Un)===null&&(w(this,Gt,null),w(this,Un,p(this,T,Ob).call(this)));try{await l(this,Un),await p(this,T,rl).call(this)}catch(e){throw p(this,T,wi).call(this,mu(e)),e}}}dispose(){p(this,T,ol).call(this),w(this,Gt,null),p(this,T,mn).call(this,"disposed")}async sendMessage(e){if(await this.connect(),(this.status==="running"||this.status==="cancelling")&&(await this.cancel(),await p(this,T,rh).call(this,"ready")),(l(this,Yt)===null||l(this,$t)!==p(this,T,sl).call(this))&&await p(this,T,rl).call(this),this.status!=="ready")throw new Error("ACPClient is not ready to send a new message");const r=e.text.trim();if(!r)throw new Error("Cannot send an empty message");p(this,T,vi).call(this,{id:p(this,T,bi).call(this,"user"),kind:"user",text:r,status:"final"}),p(this,T,mn).call(this,"running");try{const i=await p(this,T,il).call(this).prompt({sessionId:p(this,T,sh).call(this),prompt:[{type:"text",text:p(this,T,Vb).call(this,r)}]});p(this,T,pr).call(this,i.stopReason==="cancelled"?"cancelled":"final"),p(this,T,mn).call(this,"ready")}catch(i){throw p(this,T,qb).call(this)||(p(this,T,pr).call(this,"error"),p(this,T,mn).call(this,"ready")),i}}async startNewSession(){var r;await this.connect(),(this.status==="running"||this.status==="cancelling")&&(await this.cancel(),await p(this,T,rh).call(this,"ready"));const e=p(this,T,sl).call(this);((r=l(this,Kt))==null?void 0:r.sessionIdStrategy)==="mapped"?l(this,Fn).clearActualSessionId(e):w(this,Mi,l(this,Mi)+1),w(this,At,null),w(this,Sn,null),w(this,Yt,null),w(this,$t,null),p(this,T,lh).call(this)}async cancel(){this.status==="running"&&(p(this,T,mn).call(this,"cancelling"),await p(this,T,il).call(this).cancel({sessionId:p(this,T,sh).call(this)}))}setScreenContext(e){var s,o,a;if(e===null){if(l(this,Ke)===null)return;w(this,Ke,null),w(this,_n,!1);return}const r={screenID:e.screenID,screenName:e.screenName};if(((s=l(this,Ke))==null?void 0:s.screenID)===r.screenID&&((o=l(this,Ke))==null?void 0:o.screenName)===r.screenName)return;const i=((a=l(this,Ke))==null?void 0:a.screenID)??null;if(w(this,Ke,r),l(this,Xt)==="single_session"){(!l(this,$t)||i!==r.screenID)&&w(this,_n,!0);return}l(this,$t)!==p(this,T,oh).call(this,r.screenID)&&(w(this,At,null),w(this,Sn,null),l(this,qt)&&this.status==="ready"&&p(this,T,rl).call(this).catch(c=>{p(this,T,wi).call(this,mu(c))}))}}Oi=new WeakMap,Gt=new WeakMap,ht=new WeakMap,qt=new WeakMap,Un=new WeakMap,At=new WeakMap,Sn=new WeakMap,Yt=new WeakMap,Kt=new WeakMap,Fn=new WeakMap,$t=new WeakMap,Mi=new WeakMap,Ni=new WeakMap,Jt=new WeakMap,Ke=new WeakMap,_n=new WeakMap,Ui=new WeakMap,Tr=new WeakMap,kn=new WeakMap,Hn=new WeakMap,bo=new WeakMap,Tt=new WeakMap,Xt=new WeakMap,Wl=new WeakMap,Qt=new WeakMap,T=new WeakSet,rh=async function(e){if(this.status!==e){if(this.status==="disposed")throw new Error("ACPClient has been disposed");if(this.status==="disconnected")throw new Error(l(this,Gt)??"ACPClient is disconnected");await new Promise((r,i)=>{const s=()=>{this.removeEventListener("status-changed",o)},o=()=>{if(this.status===e){s(),r();return}if(this.status==="disposed"){s(),i(new Error("ACPClient has been disposed"));return}this.status==="disconnected"&&(s(),i(new Error(l(this,Gt)??"ACPClient is disconnected")))};this.addEventListener("status-changed",o)})}},Ob=async function(){try{const{stream:e,socket:r,metadata:i}=await oz({serverURL:l(this,Tt).serverURL,token:l(this,Tt).token,createSocket:l(this,bo),onDisconnect:l(this,Wl)});w(this,Kt,i),w(this,Qt,r),r.addEventListener("close",l(this,wo)),r.addEventListener("error",l(this,So)),w(this,qt,new j2(s=>({connection:s,sessionUpdate:async o=>{await p(this,T,Fb).call(this,o)},requestPermission:async o=>p(this,T,Hb).call(this,o)}),e)),await l(this,qt).initialize({protocolVersion:TP,clientCapabilities:{},clientInfo:Q2})}catch(e){throw e}},Mb=function(e){p(this,T,wi).call(this,mu(e))},Nb=function(e){const r=e==null?void 0:e.models;if(!(r!=null&&r.currentModelId))return;const i=r.availableModels.find(s=>s.modelId===r.currentModelId);console.info("[ACPClient] Current model:",(i==null?void 0:i.name)??r.currentModelId,`(${r.currentModelId})`)},rl=async function(){const e=p(this,T,sl).call(this);if(l(this,At)&&l(this,Sn)===e){await l(this,At);return}w(this,Sn,e),w(this,At,p(this,T,Ub).call(this,e)),await l(this,At)},Ub=async function(e){var c;const r=p(this,T,il).call(this);p(this,T,lh).call(this);let i,s=!1,o=null;const a={cwd:p(this,T,Gb).call(this),mcpServers:[],_meta:{sessionKey:e}};try{if(w(this,Tr,!0),w(this,kn,null),((c=l(this,Kt))==null?void 0:c.sessionIdStrategy)==="mapped"){const u=l(this,Fn).getActualSessionId(e);if(u)try{const h=await r.loadSession({...a,sessionId:u});if(rz(h))throw new Error("Mapped ACP session was not found");o=h,i=u,s=!0}catch{const h=await r.newSession(a);o=h,i=h.sessionId,l(this,Fn).setActualSessionId(e,i),s=!1}else{const h=await r.newSession(a);o=h,i=h.sessionId,l(this,Fn).setActualSessionId(e,i),s=!1}}else try{o=await r.loadSession({...a,sessionId:e}),i=e,s=l(this,ht).size>0}catch{const u=await r.newSession(a);o=u,i=u.sessionId,s=!1}}finally{w(this,Tr,!1),w(this,kn,null),p(this,T,pr).call(this,"final")}p(this,T,Nb).call(this,o),await r.setSessionConfigOption({sessionId:i,configId:"verbose_level",value:"full"}),w(this,Yt,i),w(this,$t,e),w(this,Ui,!0),s?(l(this,Hn).add(e),l(this,Xt)==="single_session"&&w(this,_n,!1)):(l(this,Hn).delete(e),w(this,_n,l(this,Xt)==="single_session")),w(this,Gt,null),p(this,T,mn).call(this,"ready")},Fb=async function(e){const r=e.update;switch(r.sessionUpdate){case"user_message_chunk":r.content.type==="text"&&p(this,T,jb).call(this,r.content.text);return;case"agent_message_chunk":r.content.type==="text"&&p(this,T,Zb).call(this,r.content.text);return;case"tool_call":p(this,T,Wb).call(this,r);return;case"tool_call_update":p(this,T,Bb).call(this,r);return;case"agent_thought_chunk":return;default:return}},Hb=async function(e){return{outcome:{outcome:"cancelled"}}},Zb=function(e){w(this,kn,null);const r=sz(e);if(!r)return;if(!l(this,Jt)){const s={id:p(this,T,bi).call(this,"assistant"),kind:"assistant",text:r,status:"streaming"};w(this,Jt,s.id),p(this,T,vi).call(this,s);return}const i=l(this,ht).get(l(this,Jt));if(!i||i.kind!=="assistant")throw new Error("Open assistant message invariant violated");p(this,T,yi).call(this,{...i,text:`${i.text}${r}`,status:"streaming"})},Wb=function(e){p(this,T,pr).call(this,"final");const r=p(this,T,ih).call(this,e.toolCallId),i=Ng("content"in e?e.content:void 0),s={id:(r==null?void 0:r.id)??p(this,T,bi).call(this,"tool"),kind:"tool_call",toolCallId:e.toolCallId,title:e.title,toolKind:e.kind??"other",status:e.status==="failed"?"failed":e.status==="completed"?"completed":"in_progress",text:(r==null?void 0:r.text)??i,locations:e.locations??(r==null?void 0:r.locations)};if(r){p(this,T,yi).call(this,s);return}p(this,T,vi).call(this,s)},Bb=function(e){const r=p(this,T,ih).call(this,e.toolCallId),i=(r==null?void 0:r.text)??"",s=Ng(e.content),o=s?`${i}${s}`:i,a={id:(r==null?void 0:r.id)??p(this,T,bi).call(this,"tool"),kind:"tool_call",toolCallId:e.toolCallId,title:(r==null?void 0:r.title)??e.toolCallId,toolKind:(r==null?void 0:r.toolKind)??"other",status:e.status==="failed"?"failed":e.status==="completed"?"completed":"in_progress",text:o,locations:e.locations??(r==null?void 0:r.locations)};if(r){p(this,T,yi).call(this,a);return}p(this,T,vi).call(this,a)},jb=function(e){if(p(this,T,pr).call(this,"final"),!e)return;const r=l(this,Tr)?l(this,kn):null;if(!r){const s=Mg(e);if(!s)return;const o={id:p(this,T,bi).call(this,"user"),kind:"user",text:s,status:"final"};p(this,T,vi).call(this,o),l(this,Tr)&&w(this,kn,o.id);return}const i=l(this,ht).get(r);if(!i||i.kind!=="user")throw new Error("Replay user message invariant violated");p(this,T,yi).call(this,{...i,text:Mg(`${i.text}${e}`)})},pr=function(e){if(!l(this,Jt))return;const r=l(this,ht).get(l(this,Jt));(r==null?void 0:r.kind)==="assistant"&&p(this,T,yi).call(this,{...r,status:e}),w(this,Jt,null)},vi=function(e){l(this,ht).set(e.id,e),this.dispatchEvent(new hu("messages-changed"))},yi=function(e){l(this,ht).set(e.id,e),this.dispatchEvent(new hu("messages-changed"))},mn=function(e){l(this,Oi)!==e&&(w(this,Oi,e),this.dispatchEvent(new FA("status-changed")))},Vb=function(e){const r=l(this,$t);if(!r)return e;const i=l(this,Ke)?l(this,Xt)==="single_session"?l(this,_n)||!l(this,Hn).has(r):!l(this,Hn).has(r):!1,s=l(this,Ui)&&(l(this,Ke)!==null||K2.test(e));if(!(s||i))return e;s&&w(this,Ui,!1),i&&(w(this,_n,!1),l(this,Hn).add(r));const a=["[Television screen context]","This chat session is coming from a Television client.","Using Television requires the knowledge in the `television` skill. Re-read it only if it is not already in context or you know it changed.","If the skill is not installed, it can be installed via `tv skills install <your agent skills path>`."];return l(this,Ke)?(a.push("This conversation is currently attached to the screen below."),a.push(`screen_id: ${l(this,Ke).screenID}`),a.push(`screen_name: ${l(this,Ke).screenName??""}`),a.push("When the user asks to inspect or change Television state with the tv CLI, use this screen ID with the --screen argument.")):a.push("There is currently no active Television screen."),a.push("[/Television screen context]","",e),a.join(`
|
|
43
|
+
`)},bi=function(e){const r=`${e}-${l(this,Ni)}`;return w(this,Ni,l(this,Ni)+1),r},ih=function(e){for(const r of l(this,ht).values())if((r==null?void 0:r.kind)==="tool_call"&&r.toolCallId===e)return r;return null},sh=function(){if(!l(this,Yt))throw new Error("ACP session is not ready");return l(this,Yt)},il=function(){if(!l(this,qt))throw new Error("ACP connection is not ready");return l(this,qt)},Gb=function(){var r;const e=(r=l(this,Kt))==null?void 0:r.sessionCwd;if(!e)throw new Error("ACP bridge session cwd is not ready");return e},sl=function(){var r;if(l(this,Xt)==="single_session")return p(this,T,ah).call(this,`${zb}-${(l(this,Tt).clientGUID??"default-client").toLowerCase()}`);const e=(r=l(this,Ke))==null?void 0:r.screenID;if(!e)throw new Error("Screen context is required for per-screen session mode");return p(this,T,oh).call(this,e)},oh=function(e){return p(this,T,ah).call(this,iz(l(this,Xt),e,l(this,Tt).clientGUID??"default-client"))},ah=function(e){var r;return((r=l(this,Kt))==null?void 0:r.sessionIdStrategy)==="deterministic"&&l(this,Mi)>0?`${e}:epoch-${l(this,Mi)}`:e},wo=new WeakMap,So=new WeakMap,ol=function(){w(this,qt,null),w(this,Un,null),w(this,At,null),w(this,Sn,null),w(this,Yt,null),w(this,$t,null),w(this,Kt,null),l(this,Qt)&&(l(this,Qt).removeEventListener("close",l(this,wo)),l(this,Qt).removeEventListener("error",l(this,So)),l(this,Qt).close(),w(this,Qt,null))},wi=function(e){const r=l(this,qt)!==null||l(this,Un)!==null||l(this,At)!==null||l(this,Sn)!==null||l(this,Yt)!==null||l(this,$t)!==null||l(this,Kt)!==null||l(this,Qt)!==null;this.disposed||this.status==="disconnected"&&!r||(p(this,T,pr).call(this,"error"),p(this,T,ol).call(this),w(this,Gt,e??null),p(this,T,mn).call(this,"disconnected"))},lh=function(){const e=l(this,ht).size>0;w(this,Jt,null),w(this,kn,null),w(this,Ni,1),l(this,ht).clear(),e&&this.dispatchEvent(new hu("messages-changed"))},qb=function(){return this.status==="disconnected"};function nz(){const n=new Map;return{getActualSessionId(t){return n.get(t)??null},setActualSessionId(t,e){n.set(t,e)},clearActualSessionId(t){n.delete(t)}}}function rz(n){return n==null?!0:typeof n=="object"&&Object.keys(n).length===0}function iz(n,t,e){return n==="single_session"?`${zb}-${e.toLowerCase()}`:`agent:main:television-${e.toLowerCase()}-${t.toLowerCase()}`}function Yb(n){return n.replace(/^(?:\s*\n)+/,"")}function Mg(n){let t=n;return t=t.replace(G2,""),t=t.replace(q2,""),t=t.replace(Y2,""),t=Yb(t),t}function sz(n){let t=n;return t=t.replace(J2,""),t=Yb(t),t}function Ng(n){return!n||n.length===0?"":n.flatMap(t=>t.type==="content"&&t.content.type==="text"?[t.content.text]:[]).join("")}async function oz(n){const t=n.createSocket(cz(n.serverURL,n.token));let e=!1,r,i;const s=new Promise((u,h)=>{r=u,i=h}),o=new ReadableStream({start(u){let h=!1;const f=()=>{t.send(JSON.stringify({type:"acp-bridge-connect"}))},y=x=>{const I=lz(x);if(!I)return;let P;try{P=JSON.parse(I)}catch(R){const B=R instanceof Error?R:new Error(String(R));i(B),u.error(B);return}switch(P.type){case"acp-bridge-status":if(P.status==="ready"){let R;try{R=az(P)}catch(B){const N=B instanceof Error?B:new Error(String(B));e||i(N),u.error(N);return}e||(e=!0,r(R));return}if(P.status==="error"||P.status==="exited"){const R=new Error(P.error??`ACP bridge ${P.status}`);e||i(R),u.error(R)}return;case"acp-bridge-message":u.enqueue(P.message);return}},m=()=>{var I;if(h)return;h=!0;const x=new Error("ACP bridge websocket closed");e||i(x),(I=n.onDisconnect)==null||I.call(n,x),u.close()},E=()=>{var I;if(h)return;h=!0;const x=new Error("ACP bridge websocket error");e||i(x),(I=n.onDisconnect)==null||I.call(n,x),u.error(x)};t.addEventListener("open",f),t.addEventListener("message",y),t.addEventListener("close",m),t.addEventListener("error",E)}}),a=new WritableStream({async write(u){await s,t.send(JSON.stringify({type:"acp-bridge-message",message:u}))},close(){t.close()},abort(){t.close()}}),c=await s;return{stream:{readable:o,writable:a},socket:t,metadata:c}}function az(n){const{agent:t,sessionIdStrategy:e,sessionCwd:r}=n;if((t==="openclaw"||t==="hermes")&&(e==="deterministic"||e==="mapped")&&typeof r=="string"&&r.length>0)return{agent:t,sessionIdStrategy:e,sessionCwd:r};throw new Error("ACP bridge ready status missing bootstrap metadata")}function lz(n){if(typeof n=="string")return n;if(n instanceof Uint8Array)return new TextDecoder().decode(n);if(typeof Buffer<"u"&&n instanceof Buffer)return n.toString("utf8");if(typeof n=="object"&&n!==null&&"data"in n){const t=n.data;if(typeof t=="string")return t;if(t instanceof Uint8Array)return new TextDecoder().decode(t);if(Array.isArray(t))return Buffer.concat(t).toString("utf8")}return null}function cz(n,t){const e=new URL(n);return e.protocol=e.protocol==="https:"?"wss:":"ws:",e.pathname="/acp",e.search="",e.searchParams.set("token",t),e.hash="",e.toString()}function mu(n){return n instanceof Error?n.message:String(n)}const Ug="television.acpClientGUID",Fg="television.acpMappedSessions",Hg=1;var Fi;class uz{constructor(){S(this,Fi,new Map)}getActualSessionId(t){return l(this,Fi).get(t)??null}setActualSessionId(t,e){l(this,Fi).set(t,e)}clearActualSessionId(t){l(this,Fi).delete(t)}}Fi=new WeakMap;var Hi,_o,pt,al,ll,ch;class hz{constructor(t,e){S(this,pt);S(this,Hi);S(this,_o);w(this,Hi,t),w(this,_o,e)}getActualSessionId(t){const e=p(this,pt,ll).call(this)[p(this,pt,al).call(this,t)];return typeof e=="string"&&e.length>0?e:null}setActualSessionId(t,e){const r=p(this,pt,ll).call(this);r[p(this,pt,al).call(this,t)]=e,p(this,pt,ch).call(this,r)}clearActualSessionId(t){const e=p(this,pt,ll).call(this);delete e[p(this,pt,al).call(this,t)],p(this,pt,ch).call(this,e)}}Hi=new WeakMap,_o=new WeakMap,pt=new WeakSet,al=function(t){return JSON.stringify([l(this,_o),t])},ll=function(){const t=l(this,Hi).getItem(Fg);if(!t)return{};let e;try{e=JSON.parse(t)}catch{return{}}if(typeof e!="object"||e===null||Array.isArray(e))return{};const r=e;return r.version!==Hg?{}:typeof r.entries!="object"||r.entries===null||Array.isArray(r.entries)?{}:Object.fromEntries(Object.entries(r.entries).filter(i=>typeof i[1]=="string"))},ch=function(t){const e={version:Hg,entries:t};l(this,Hi).setItem(Fg,JSON.stringify(e))};function dz(){return typeof window>"u"?null:window.localStorage}function pz(n){const t=n.getItem(Ug);if(t)return t;const e=Dd().toLowerCase();return n.setItem(Ug,e),e}const Zg=4401,fz=401,Ha=1e3,gz=3e4;class Qs extends Error{constructor(t="Authentication required"){super(t),this.name="AuthError"}}class Kb extends zt{constructor(e){var i,s;super();g(this,"url");g(this,"name");g(this,"status","unauthorized");g(this,"screens",new Map);g(this,"client");g(this,"acpClient");g(this,"_token");g(this,"attempting",!1);g(this,"nextRetryAt",null);g(this,"hasEverConnected",!1);g(this,"createSocket");g(this,"createClient");g(this,"socket",null);g(this,"connectAttempt",0);g(this,"autoReconnect",!1);g(this,"retryTimer",null);g(this,"retryDelay",Ha);g(this,"visibilityEventTarget");g(this,"networkEventTarget");g(this,"onVisibilityChange");g(this,"onNetworkOnline");this.url=_e(e.url),this.name=e.name,this._token=e.token??null,this.createSocket=e.createSocket??(o=>new WebSocket(o)),this.createClient=e.createClient??((o,a)=>new u$(o,{token:a??void 0})),this.client=this.createClient(this.url,this._token);const r=e.mappedSessionStore??(e.acpStorage?new hz(e.acpStorage,this.url):new uz);this.acpClient=new tz({serverURL:this.url,token:this._token??"",...e.createACPSocket?{createSocket:e.createACPSocket}:e.createSocket?{createSocket:e.createSocket}:{},...e.clientGUID?{clientGUID:e.clientGUID}:{},mappedSessionStore:r}),this.visibilityEventTarget=e.visibilityEventTarget!==void 0?e.visibilityEventTarget:typeof document<"u"?document:null,this.networkEventTarget=e.networkEventTarget!==void 0?e.networkEventTarget:typeof window<"u"?window:null,this.onVisibilityChange=()=>{this.isPageVisible()&&this.kickReconnect()},this.onNetworkOnline=()=>{this.kickReconnect()},(i=this.visibilityEventTarget)==null||i.addEventListener("visibilitychange",this.onVisibilityChange),(s=this.networkEventTarget)==null||s.addEventListener("online",this.onNetworkOnline)}get token(){return this._token}async connect(e){this._token=e,this.acpClient.setToken(e),this.cancelRetryTimer(),this.retryDelay=Ha,this.autoReconnect=!0,await this.attempt()}dispose(){var e,r,i;this.autoReconnect=!1,this.connectAttempt+=1,this.cancelRetryTimer(),(e=this.socket)==null||e.close(),this.socket=null,this.setStatus("unauthorized"),(r=this.visibilityEventTarget)==null||r.removeEventListener("visibilitychange",this.onVisibilityChange),(i=this.networkEventTarget)==null||i.removeEventListener("online",this.onNetworkOnline),this.acpClient.dispose()}getViewURL(e){const r=Rl(e,{electron:ln()});return ln()?new URL(r.viewURL,this.url).toString():r.renderer==="proxy-iframe"?new URL(r.viewURL,this.url).toString():r.viewURL}getContentURL(e){const r=Rl(e,{electron:ln()}).contentURL;return r===null?null:new URL(r,this.url).toString()}async createScreen(e){const{screen:r}=await this.client.screens.create({name:e});return this.screens.set(r.id,structuredClone(r)),r}applyServerEvent(e){switch(e.type){case"screen-created":this.screens.set(e.screen.id,structuredClone(e.screen)),this.dispatchEvent(new el("screens-changed"));break;case"screen-updated":this.screens.set(e.screen.id,structuredClone(e.screen)),this.dispatchEvent(new el("screens-changed"));break;case"screen-removed":this.screens.delete(e.screenID),this.dispatchEvent(new el("screens-changed"));break;case"artifact-created":{const r=this.screens.get(e.screenID);r&&!tl(r).includes(e.artifact.id)&&(r.layout=[...r.layout,ey(e.artifact.id)]);break}case"artifact-removed":{const r=this.screens.get(e.screenID);r&&(r.layout=Bv(r.layout,e.artifactID));break}case"artifact-updated":case"artifact-content-changed":case"screen-changed":case"theme-changed":case"artifact-focus":break;default:return mz(e,"server event")}}async attempt(){var i;this.attempting=!0,this.nextRetryAt=null,this.connectAttempt+=1;const e=this.connectAttempt;(i=this.socket)==null||i.close(),this.client=this.createClient(this.url,this._token),this.setStatus("disconnected"),this.dispatchEvent(new oe("change"));const r=this.createSocket(vz(this.url,this._token));return this.socket=r,await new Promise((s,o)=>{let a=!1;const c=()=>{a||this.connectAttempt!==e||(a=!0,this.retryDelay=Ha,this.hasEverConnected=!0,this.setStatus("connected"),s())},u=f=>{a||this.connectAttempt!==e||(a=!0,o(f))},h=async()=>{try{const[{screens:f},y]=await Promise.all([this.client.screens.list(),this.client.display.get()]);this.screens=new Map(f.map(m=>[m.id,structuredClone(m)])),this.acpClient.setEnabled(y.acpEnabled),this.dispatchEvent(new oe("change")),this.dispatchEvent(new Gu("server-event",{serverURL:this.url,event:{type:"screen-changed",screenID:y.activeScreenID}})),c()}catch(f){if(wz(f)){u(new Qs);return}u(f instanceof Error?f:new Error(String(f)))}};r.addEventListener("open",()=>{h()}),r.addEventListener("message",f=>{const y=bz(f);y&&(this.applyServerEvent(y),this.dispatchEvent(new Gu("server-event",{serverURL:this.url,event:y})))}),r.addEventListener("close",f=>{if(this.connectAttempt!==e)return;this.socket=null;const y=yz(f);if(!a){u(y===Zg?new Qs:new Error("Connection closed before initialization"));return}if(y===Zg){this.autoReconnect=!1,this.cancelRetryTimer(),this.setStatus("unauthorized");return}this.handleTransportFailure(new Error("Connection closed"))}),r.addEventListener("error",()=>{if(this.connectAttempt===e){if(a){this.handleTransportFailure(new Error("WebSocket error"));return}u(new Error("WebSocket connection failed"))}})}).then(()=>{this.attempting=!1},s=>{throw this.attempting=!1,this.handleAttemptFailure(s),s})}handleAttemptFailure(e){if(e instanceof Qs){this.autoReconnect=!1,this.cancelRetryTimer(),this.setStatus("unauthorized");return}this.autoReconnect&&this.scheduleRetry()}handleTransportFailure(e){this.autoReconnect&&(this.setStatus("disconnected"),this.scheduleRetry())}scheduleRetry(){this.cancelRetryTimer(),this.connectAttempt+=1;const e=this.retryDelay;this.retryDelay=Math.min(this.retryDelay*2,gz),this.nextRetryAt=Date.now()+e,this.retryTimer=setTimeout(()=>{this.retryTimer=null,this.attempt().catch(()=>{})},e),this.dispatchEvent(new oe("change"))}cancelRetryTimer(){this.retryTimer!==null&&(clearTimeout(this.retryTimer),this.retryTimer=null),this.nextRetryAt!==null&&(this.nextRetryAt=null,this.dispatchEvent(new oe("change")))}kickReconnect(){this.autoReconnect&&this.status!=="connected"&&(this.attempting||(this.cancelRetryTimer(),this.retryDelay=Ha,this.attempt().catch(()=>{})))}setStatus(e){this.status!==e&&(this.status=e,this.dispatchEvent(new oe("change")))}isPageVisible(){return this.visibilityEventTarget===null?!0:this.visibilityEventTarget.visibilityState==="visible"}}function mz(n,t){throw new Error(`Unexpected ${t}: ${JSON.stringify(n)}`)}function vz(n,t){const e=new URL(n);return e.protocol=e.protocol==="https:"?"wss:":"ws:",e.pathname="/events",e.search="",t&&e.searchParams.set("token",t),e.hash="",e.toString()}function yz(n){return typeof n=="object"&&n!==null&&"code"in n&&typeof n.code=="number"?n.code:null}function bz(n){const t=typeof n=="string"?n:typeof n=="object"&&n!==null&&"data"in n&&typeof n.data=="string"?n.data:"";if(!t)return null;try{return JSON.parse(t)}catch{return null}}function wz(n){return n instanceof ny&&n.status===fz}const Sz="Local";var ko,uh;class _z extends zt{constructor(e){super();S(this,ko);g(this,"servers",new Map);g(this,"localServerURL");g(this,"clientGUID");g(this,"acpStorage");g(this,"localStore");g(this,"createSocket");g(this,"lastActiveServerURL");g(this,"serverListeners",new Map);g(this,"handleLocalStoreChange",()=>{const e=this.localStore.get().activeServerURL;e!==this.lastActiveServerURL&&(this.lastActiveServerURL=e,this.dispatchEvent(new oe("change")))});this.localStore=e.localStore,this.localServerURL=e.localServerURL?_e(e.localServerURL):null,this.createSocket=e.createSocket??(i=>new WebSocket(i)),this.lastActiveServerURL=this.localStore.get().activeServerURL;const r=e.acpStorage===void 0?dz():e.acpStorage;this.acpStorage=r,this.clientGUID=e.clientGUID??(r?pz(r):Dd().toLowerCase()),this.localStore.addEventListener("change",this.handleLocalStoreChange)}get activeServer(){const e=this.localStore.get().activeServerURL;return e===null?null:this.servers.get(e)??null}add(e){const r=_e(e.url);this.servers.get(r)&&this.remove(r),this.servers.set(r,e);const s=()=>{this.dispatchEvent(new oe("change"))},o=c=>{this.dispatchEvent(new Gu("server-event",{serverURL:c.serverURL,event:c.event}))},a=()=>{this.dispatchEvent(new el("screens-changed"))};e.addEventListener("change",s),e.addEventListener("server-event",o),e.addEventListener("screens-changed",a),this.serverListeners.set(r,{onServerChange:s,onServerEvent:o,onScreensChanged:a}),this.dispatchEvent(new oe("change"))}remove(e){const r=_e(e);if(this.localServerURL&&r===this.localServerURL)return;const i=this.servers.get(r);if(!i)return;const s=this.serverListeners.get(r);s&&(i.removeEventListener("change",s.onServerChange),i.removeEventListener("server-event",s.onServerEvent),i.removeEventListener("screens-changed",s.onScreensChanged),this.serverListeners.delete(r)),i.dispose(),this.servers.delete(r);const o=this.localStore.get(),a=o.activeServerURL===r;this.localStore.set({...o,servers:o.servers.filter(c=>c.url!==r),activeServerURL:a?null:o.activeServerURL}),this.dispatchEvent(new oe("change"))}setActive(e){const r=this.localStore.get(),i=e?_e(e.url):null;r.activeServerURL!==i&&this.localStore.set({...r,activeServerURL:i})}connectConfiguredServers(e,r){const i=e?_e(e):null;if(i){const a=this.localStore.get();a.servers.some(u=>_e(u.url)===i)||this.localStore.set({...a,servers:[...a.servers,{url:i,name:Sz}]})}const s=this.localStore.get().servers;for(const a of s){const c=_e(a.url),h=i!==null&&c===i?r??null:null,f=p(this,ko,uh).call(this,{url:a.url,name:a.name,token:h});this.add(f),f.connect(h).catch(()=>{})}const o=i?this.servers.get(i)??null:null;this.setActive(o??this.servers.values().next().value??null)}addServer(e,r){const i=_e(e);this.remove(i);const s=this.localStore.get();this.localStore.set({...s,servers:[...s.servers.filter(a=>_e(a.url)!==i),{url:i,name:r}]});const o=p(this,ko,uh).call(this,{url:i,name:r,token:null});this.add(o),this.setActive(o),o.connect(null).catch(()=>{})}removeServer(e){this.remove(e)}}ko=new WeakSet,uh=function(e){return new Kb({url:e.url,name:e.name,token:e.token,createSocket:this.createSocket,clientGUID:this.clientGUID,acpStorage:this.acpStorage})};var xo;class kz extends zt{constructor(){super();S(this,xo,e=>{const r=xz(e);r!==null&&(e.preventDefault(),this.dispatchEvent(new UA("shortcut-triggered",{shortcut:r})))});document.addEventListener("keydown",l(this,xo))}dispose(){document.removeEventListener("keydown",l(this,xo))}}xo=new WeakMap;function xz(n){for(const[t,e]of Object.entries(h$))if(Ez(n,e.trigger))return t;return null}function Ez(n,t){return!(n.key.toLowerCase()!==t.key.toLowerCase()||n.metaKey!==!!t.meta||n.ctrlKey!==!!t.ctrl||n.shiftKey!==!!t.shift||n.altKey!==!!t.alt)}const hh="tv-nav:",Pl="tv-reload",Wg=100,Az=1e3,$z=60,Tz=60,Iz=24,Cz=30,Rz=Cz*Iz*Tz*$z*Az;function Wr(n){try{const t=new URL(n,window.location.href),e=t.searchParams.has(Pl);return t.searchParams.delete(Pl),t.origin===window.location.origin?`${t.pathname}${t.search}${t.hash}`:e?t.toString():n}catch{return n}}var Eo,Zi,ue,re,Ir,ke,Jb,Dn,Xb,dh,ph;class Pz extends zt{constructor(e,r){super();S(this,ke);S(this,Eo);S(this,Zi);S(this,ue,[]);S(this,re,-1);S(this,Ir,0);w(this,Eo,e),w(this,Zi,Wr(r)),p(this,ke,Jb).call(this)}get currentURL(){var e;return l(this,re)===-1?null:((e=l(this,ue)[l(this,re)])==null?void 0:e.url)??null}get canGoBack(){return l(this,re)>-1}get canGoForward(){return l(this,re)<l(this,ue).length-1}get entries(){return l(this,ue).map(e=>({...e}))}get cursor(){return l(this,re)}navigate(e){const r=Wr(e);if(r===l(this,Zi)){if(l(this,re)===-1)return;w(this,re,-1),p(this,ke,Dn).call(this);return}l(this,re)<l(this,ue).length-1&&w(this,ue,l(this,ue).slice(0,l(this,re)+1)),l(this,ue).push({url:r}),w(this,re,l(this,ue).length-1),p(this,ke,dh).call(this),p(this,ke,Dn).call(this)}replace(e){var i;if(l(this,re)===-1){this.navigate(e);return}const r=Wr(e);if(r===l(this,Zi)){w(this,ue,l(this,ue).filter((s,o)=>o!==l(this,re))),w(this,re,-1),p(this,ke,Dn).call(this);return}((i=l(this,ue)[l(this,re)])==null?void 0:i.url)!==r&&(w(this,ue,l(this,ue).map((s,o)=>o===l(this,re)?{url:r}:s)),p(this,ke,Dn).call(this))}back(){l(this,re)!==-1&&(w(this,re,l(this,re)-1),p(this,ke,Dn).call(this))}forward(){this.canGoForward&&(w(this,re,l(this,re)+1),p(this,ke,Dn).call(this))}reset(){l(this,re)===-1&&l(this,ue).length===0||(w(this,ue,[]),w(this,re,-1),p(this,ke,Dn).call(this))}}Eo=new WeakMap,Zi=new WeakMap,ue=new WeakMap,re=new WeakMap,Ir=new WeakMap,ke=new WeakSet,Jb=function(){const e=localStorage.getItem(l(this,ke,ph));if(e!==null)try{const r=JSON.parse(e);if(!Qb(r))return;w(this,ue,r.entries.map(i=>({url:i.url}))),w(this,re,r.cursor),w(this,Ir,r.lastWritten),p(this,ke,dh).call(this)}catch{w(this,ue,[]),w(this,re,-1),w(this,Ir,0)}},Dn=function(){w(this,Ir,Date.now());try{localStorage.setItem(l(this,ke,ph),JSON.stringify(p(this,ke,Xb).call(this)))}catch(e){if(!zz(e))throw e}this.dispatchEvent(new oe("change"))},Xb=function(){return{v:1,entries:l(this,ue).map(e=>({...e})),cursor:l(this,re),lastWritten:l(this,Ir)}},dh=function(){if(l(this,ue).length<=Wg)return;const e=l(this,ue).length-Wg;w(this,ue,l(this,ue).slice(e)),w(this,re,Math.max(-1,l(this,re)-e))},ph=function(){return Dz(l(this,Eo))};function Dz(n){return`${hh}${n}`}function Lz(n){const t=Date.now()-Rz,e=[];for(let r=0;r<localStorage.length;r+=1){const i=localStorage.key(r);if(!(i!=null&&i.startsWith(hh)))continue;const s=i.slice(hh.length),o=localStorage.getItem(i);if(o===null)continue;let a;try{a=JSON.parse(o)}catch{e.push(i);continue}if(!Qb(a)){e.push(i);continue}!n.has(s)&&a.lastWritten<t&&e.push(i)}for(const r of e)localStorage.removeItem(r)}function zz(n){return n instanceof DOMException&&n.name==="QuotaExceededError"}function Qb(n){if(typeof n!="object"||n===null)return!1;const t=n;if(t.v!==1||!Array.isArray(t.entries))return!1;const e=t.cursor;return typeof e!="number"||!Number.isInteger(e)||typeof t.lastWritten!="number"||!Number.isFinite(t.lastWritten)||e<-1||e>=t.entries.length?!1:t.entries.every(r=>typeof r=="object"&&r!==null&&typeof r.url=="string")}let Pn=null;async function ew(n,t){if(Pn==null||Pn.abort(),n===null){Pn=null,Al();return}const e=new AbortController;Pn=e;try{const r=t.token?{Authorization:`Bearer ${t.token}`}:void 0,i=new URL(`/themes/${n}/theme.css`,t.url).toString(),s=await fetch(i,{signal:e.signal,...r?{headers:r}:{}});if(!s.ok)throw new Error(`Theme fetch failed: ${s.status}`);const o=await s.text();if(Pn!==e)return;Zv(o)}catch(r){if(r.name==="AbortError")return;Al();const i=r instanceof Error?r.message:String(r);console.warn(`applyTheme: ${i}`)}finally{Pn===e&&(Pn=null)}}/**
|
|
44
|
+
* @license
|
|
45
|
+
* Copyright 2017 Google LLC
|
|
46
|
+
* SPDX-License-Identifier: BSD-3-Clause
|
|
47
|
+
*/const eo=globalThis,Bg=n=>n,Dl=eo.trustedTypes,jg=Dl?Dl.createPolicy("lit-html",{createHTML:n=>n}):void 0,tw="$lit$",zn=`lit$${Math.random().toFixed(9).slice(2)}$`,nw="?"+zn,Oz=`<${nw}>`,Vr=document,lo=()=>Vr.createComment(""),co=n=>n===null||typeof n!="object"&&typeof n!="function",Wd=Array.isArray,Mz=n=>Wd(n)||typeof(n==null?void 0:n[Symbol.iterator])=="function",vu=`[
|
|
48
|
+
\f\r]`,Rs=/<(?:(!--|\/[^a-zA-Z])|(\/?[a-zA-Z][^>\s]*)|(\/?$))/g,Vg=/-->/g,Gg=/>/g,cr=RegExp(`>|${vu}(?:([^\\s"'>=/]+)(${vu}*=${vu}*(?:[^
|
|
49
|
+
\f\r"'\`<>=]|("|')|))|$)`,"g"),qg=/'/g,Yg=/"/g,rw=/^(?:script|style|textarea|title)$/i,Nz=n=>(t,...e)=>({_$litType$:n,strings:t,values:e}),L=Nz(1),Gr=Symbol.for("lit-noChange"),le=Symbol.for("lit-nothing"),Kg=new WeakMap,Sr=Vr.createTreeWalker(Vr,129);function iw(n,t){if(!Wd(n)||!n.hasOwnProperty("raw"))throw Error("invalid template strings array");return jg!==void 0?jg.createHTML(t):t}const Uz=(n,t)=>{const e=n.length-1,r=[];let i,s=t===2?"<svg>":t===3?"<math>":"",o=Rs;for(let a=0;a<e;a++){const c=n[a];let u,h,f=-1,y=0;for(;y<c.length&&(o.lastIndex=y,h=o.exec(c),h!==null);)y=o.lastIndex,o===Rs?h[1]==="!--"?o=Vg:h[1]!==void 0?o=Gg:h[2]!==void 0?(rw.test(h[2])&&(i=RegExp("</"+h[2],"g")),o=cr):h[3]!==void 0&&(o=cr):o===cr?h[0]===">"?(o=i??Rs,f=-1):h[1]===void 0?f=-2:(f=o.lastIndex-h[2].length,u=h[1],o=h[3]===void 0?cr:h[3]==='"'?Yg:qg):o===Yg||o===qg?o=cr:o===Vg||o===Gg?o=Rs:(o=cr,i=void 0);const m=o===cr&&n[a+1].startsWith("/>")?" ":"";s+=o===Rs?c+Oz:f>=0?(r.push(u),c.slice(0,f)+tw+c.slice(f)+zn+m):c+zn+(f===-2?a:m)}return[iw(n,s+(n[e]||"<?>")+(t===2?"</svg>":t===3?"</math>":"")),r]};class uo{constructor({strings:t,_$litType$:e},r){let i;this.parts=[];let s=0,o=0;const a=t.length-1,c=this.parts,[u,h]=Uz(t,e);if(this.el=uo.createElement(u,r),Sr.currentNode=this.el.content,e===2||e===3){const f=this.el.content.firstChild;f.replaceWith(...f.childNodes)}for(;(i=Sr.nextNode())!==null&&c.length<a;){if(i.nodeType===1){if(i.hasAttributes())for(const f of i.getAttributeNames())if(f.endsWith(tw)){const y=h[o++],m=i.getAttribute(f).split(zn),E=/([.?@])?(.*)/.exec(y);c.push({type:1,index:s,name:E[2],strings:m,ctor:E[1]==="."?Hz:E[1]==="?"?Zz:E[1]==="@"?Wz:Sc}),i.removeAttribute(f)}else f.startsWith(zn)&&(c.push({type:6,index:s}),i.removeAttribute(f));if(rw.test(i.tagName)){const f=i.textContent.split(zn),y=f.length-1;if(y>0){i.textContent=Dl?Dl.emptyScript:"";for(let m=0;m<y;m++)i.append(f[m],lo()),Sr.nextNode(),c.push({type:2,index:++s});i.append(f[y],lo())}}}else if(i.nodeType===8)if(i.data===nw)c.push({type:2,index:s});else{let f=-1;for(;(f=i.data.indexOf(zn,f+1))!==-1;)c.push({type:7,index:s}),f+=zn.length-1}s++}}static createElement(t,e){const r=Vr.createElement("template");return r.innerHTML=t,r}}function us(n,t,e=n,r){var o,a;if(t===Gr)return t;let i=r!==void 0?(o=e._$Co)==null?void 0:o[r]:e._$Cl;const s=co(t)?void 0:t._$litDirective$;return(i==null?void 0:i.constructor)!==s&&((a=i==null?void 0:i._$AO)==null||a.call(i,!1),s===void 0?i=void 0:(i=new s(n),i._$AT(n,e,r)),r!==void 0?(e._$Co??(e._$Co=[]))[r]=i:e._$Cl=i),i!==void 0&&(t=us(n,i._$AS(n,t.values),i,r)),t}class Fz{constructor(t,e){this._$AV=[],this._$AN=void 0,this._$AD=t,this._$AM=e}get parentNode(){return this._$AM.parentNode}get _$AU(){return this._$AM._$AU}u(t){const{el:{content:e},parts:r}=this._$AD,i=((t==null?void 0:t.creationScope)??Vr).importNode(e,!0);Sr.currentNode=i;let s=Sr.nextNode(),o=0,a=0,c=r[0];for(;c!==void 0;){if(o===c.index){let u;c.type===2?u=new wc(s,s.nextSibling,this,t):c.type===1?u=new c.ctor(s,c.name,c.strings,this,t):c.type===6&&(u=new Bz(s,this,t)),this._$AV.push(u),c=r[++a]}o!==(c==null?void 0:c.index)&&(s=Sr.nextNode(),o++)}return Sr.currentNode=Vr,i}p(t){let e=0;for(const r of this._$AV)r!==void 0&&(r.strings!==void 0?(r._$AI(t,r,e),e+=r.strings.length-2):r._$AI(t[e])),e++}}let wc=class sw{get _$AU(){var t;return((t=this._$AM)==null?void 0:t._$AU)??this._$Cv}constructor(t,e,r,i){this.type=2,this._$AH=le,this._$AN=void 0,this._$AA=t,this._$AB=e,this._$AM=r,this.options=i,this._$Cv=(i==null?void 0:i.isConnected)??!0}get parentNode(){let t=this._$AA.parentNode;const e=this._$AM;return e!==void 0&&(t==null?void 0:t.nodeType)===11&&(t=e.parentNode),t}get startNode(){return this._$AA}get endNode(){return this._$AB}_$AI(t,e=this){t=us(this,t,e),co(t)?t===le||t==null||t===""?(this._$AH!==le&&this._$AR(),this._$AH=le):t!==this._$AH&&t!==Gr&&this._(t):t._$litType$!==void 0?this.$(t):t.nodeType!==void 0?this.T(t):Mz(t)?this.k(t):this._(t)}O(t){return this._$AA.parentNode.insertBefore(t,this._$AB)}T(t){this._$AH!==t&&(this._$AR(),this._$AH=this.O(t))}_(t){this._$AH!==le&&co(this._$AH)?this._$AA.nextSibling.data=t:this.T(Vr.createTextNode(t)),this._$AH=t}$(t){var s;const{values:e,_$litType$:r}=t,i=typeof r=="number"?this._$AC(t):(r.el===void 0&&(r.el=uo.createElement(iw(r.h,r.h[0]),this.options)),r);if(((s=this._$AH)==null?void 0:s._$AD)===i)this._$AH.p(e);else{const o=new Fz(i,this),a=o.u(this.options);o.p(e),this.T(a),this._$AH=o}}_$AC(t){let e=Kg.get(t.strings);return e===void 0&&Kg.set(t.strings,e=new uo(t)),e}k(t){Wd(this._$AH)||(this._$AH=[],this._$AR());const e=this._$AH;let r,i=0;for(const s of t)i===e.length?e.push(r=new sw(this.O(lo()),this.O(lo()),this,this.options)):r=e[i],r._$AI(s),i++;i<e.length&&(this._$AR(r&&r._$AB.nextSibling,i),e.length=i)}_$AR(t=this._$AA.nextSibling,e){var r;for((r=this._$AP)==null?void 0:r.call(this,!1,!0,e);t!==this._$AB;){const i=Bg(t).nextSibling;Bg(t).remove(),t=i}}setConnected(t){var e;this._$AM===void 0&&(this._$Cv=t,(e=this._$AP)==null||e.call(this,t))}},Sc=class{get tagName(){return this.element.tagName}get _$AU(){return this._$AM._$AU}constructor(t,e,r,i,s){this.type=1,this._$AH=le,this._$AN=void 0,this.element=t,this.name=e,this._$AM=i,this.options=s,r.length>2||r[0]!==""||r[1]!==""?(this._$AH=Array(r.length-1).fill(new String),this.strings=r):this._$AH=le}_$AI(t,e=this,r,i){const s=this.strings;let o=!1;if(s===void 0)t=us(this,t,e,0),o=!co(t)||t!==this._$AH&&t!==Gr,o&&(this._$AH=t);else{const a=t;let c,u;for(t=s[0],c=0;c<s.length-1;c++)u=us(this,a[r+c],e,c),u===Gr&&(u=this._$AH[c]),o||(o=!co(u)||u!==this._$AH[c]),u===le?t=le:t!==le&&(t+=(u??"")+s[c+1]),this._$AH[c]=u}o&&!i&&this.j(t)}j(t){t===le?this.element.removeAttribute(this.name):this.element.setAttribute(this.name,t??"")}},Hz=class extends Sc{constructor(){super(...arguments),this.type=3}j(t){this.element[this.name]=t===le?void 0:t}},Zz=class extends Sc{constructor(){super(...arguments),this.type=4}j(t){this.element.toggleAttribute(this.name,!!t&&t!==le)}},Wz=class extends Sc{constructor(t,e,r,i,s){super(t,e,r,i,s),this.type=5}_$AI(t,e=this){if((t=us(this,t,e,0)??le)===Gr)return;const r=this._$AH,i=t===le&&r!==le||t.capture!==r.capture||t.once!==r.once||t.passive!==r.passive,s=t!==le&&(r===le||i);i&&this.element.removeEventListener(this.name,this,r),s&&this.element.addEventListener(this.name,this,t),this._$AH=t}handleEvent(t){var e;typeof this._$AH=="function"?this._$AH.call(((e=this.options)==null?void 0:e.host)??this.element,t):this._$AH.handleEvent(t)}};class Bz{constructor(t,e,r){this.element=t,this.type=6,this._$AN=void 0,this._$AM=e,this.options=r}get _$AU(){return this._$AM._$AU}_$AI(t){us(this,t)}}const jz={I:wc},yu=eo.litHtmlPolyfillSupport;yu==null||yu(uo,wc),(eo.litHtmlVersions??(eo.litHtmlVersions=[])).push("3.3.2");const Ze=(n,t,e)=>{const r=t;let i=r._$litPart$;return i===void 0&&(r._$litPart$=i=new wc(t.insertBefore(lo(),null),null,void 0,{})),i._$AI(n),i};/**
|
|
50
|
+
* @license
|
|
51
|
+
* Copyright 2017 Google LLC
|
|
52
|
+
* SPDX-License-Identifier: BSD-3-Clause
|
|
53
|
+
*/const Bd={CHILD:2},_c=n=>(...t)=>({_$litDirective$:n,values:t});let jd=class{constructor(t){}get _$AU(){return this._$AM._$AU}_$AT(t,e,r){this._$Ct=t,this._$AM=e,this._$Ci=r}_$AS(t,e){return this.update(t,e)}update(t,e){return this.render(...e)}};/**
|
|
54
|
+
* @license
|
|
55
|
+
* Copyright 2017 Google LLC
|
|
56
|
+
* SPDX-License-Identifier: BSD-3-Clause
|
|
57
|
+
*/let Ll=class extends jd{constructor(t){if(super(t),this.it=le,t.type!==Bd.CHILD)throw Error(this.constructor.directiveName+"() can only be used in child bindings")}render(t){if(t===le||t==null)return this._t=void 0,this.it=t;if(t===Gr)return t;if(typeof t!="string")throw Error(this.constructor.directiveName+"() called with a non-string value");if(t===this.it)return this._t;this.it=t;const e=[t];return e.raw=e,this._t={_$litType$:this.constructor.resultType,strings:e,values:[]}}};Ll.directiveName="unsafeHTML",Ll.resultType=1;const Vz=_c(Ll);/**
|
|
58
|
+
* @license
|
|
59
|
+
* Copyright 2017 Google LLC
|
|
60
|
+
* SPDX-License-Identifier: BSD-3-Clause
|
|
61
|
+
*/let fh=class extends Ll{};fh.directiveName="unsafeSVG",fh.resultType=2;const ow=_c(fh),Gz={size:16,color:"currentColor",weight:"regular"};function qz(n){return typeof n=="string"?{regular:n}:n}function Ot(n,t="0 0 256 256"){const e=qz(n);return r=>{const{size:i,color:s,weight:o}={...Gz,...r},a=e[o]??e.regular;return L`<svg
|
|
62
|
+
xmlns="http://www.w3.org/2000/svg"
|
|
63
|
+
data-ui-icon=""
|
|
64
|
+
width="${i}"
|
|
65
|
+
height="${i}"
|
|
66
|
+
viewBox="${t}"
|
|
67
|
+
fill="${s}"
|
|
68
|
+
>${ow(a)}</svg>`}}/**
|
|
69
|
+
* @license
|
|
70
|
+
* Copyright 2020 Google LLC
|
|
71
|
+
* SPDX-License-Identifier: BSD-3-Clause
|
|
72
|
+
*/const{I:Yz}=jz,Jg=n=>n,Kz=n=>n.strings===void 0,Xg=()=>document.createComment(""),Ps=(n,t,e)=>{var s;const r=n._$AA.parentNode,i=t===void 0?n._$AB:t._$AA;if(e===void 0){const o=r.insertBefore(Xg(),i),a=r.insertBefore(Xg(),i);e=new Yz(o,a,n,n.options)}else{const o=e._$AB.nextSibling,a=e._$AM,c=a!==n;if(c){let u;(s=e._$AQ)==null||s.call(e,n),e._$AM=n,e._$AP!==void 0&&(u=n._$AU)!==a._$AU&&e._$AP(u)}if(o!==i||c){let u=e._$AA;for(;u!==o;){const h=Jg(u).nextSibling;Jg(r).insertBefore(u,i),u=h}}}return e},ur=(n,t,e=n)=>(n._$AI(t,e),n),Jz={},Xz=(n,t=Jz)=>n._$AH=t,Qz=n=>n._$AH,bu=n=>{n._$AR(),n._$AA.remove()};/**
|
|
73
|
+
* @license
|
|
74
|
+
* Copyright 2017 Google LLC
|
|
75
|
+
* SPDX-License-Identifier: BSD-3-Clause
|
|
76
|
+
*/const to=(n,t)=>{var r;const e=n._$AN;if(e===void 0)return!1;for(const i of e)(r=i._$AO)==null||r.call(i,t,!1),to(i,t);return!0},zl=n=>{let t,e;do{if((t=n._$AM)===void 0)break;e=t._$AN,e.delete(n),n=t}while((e==null?void 0:e.size)===0)},aw=n=>{for(let t;t=n._$AM;n=t){let e=t._$AN;if(e===void 0)t._$AN=e=new Set;else if(e.has(n))break;e.add(n),nO(t)}};function eO(n){this._$AN!==void 0?(zl(this),this._$AM=n,aw(this)):this._$AM=n}function tO(n,t=!1,e=0){const r=this._$AH,i=this._$AN;if(i!==void 0&&i.size!==0)if(t)if(Array.isArray(r))for(let s=e;s<r.length;s++)to(r[s],!1),zl(r[s]);else r!=null&&(to(r,!1),zl(r));else to(this,n)}const nO=n=>{n.type==Bd.CHILD&&(n._$AP??(n._$AP=tO),n._$AQ??(n._$AQ=eO))};class rO extends jd{constructor(){super(...arguments),this._$AN=void 0}_$AT(t,e,r){super._$AT(t,e,r),aw(this),this.isConnected=t._$AU}_$AO(t,e=!0){var r,i;t!==this.isConnected&&(this.isConnected=t,t?(r=this.reconnected)==null||r.call(this):(i=this.disconnected)==null||i.call(this)),e&&(to(this,t),zl(this))}setValue(t){if(Kz(this._$Ct))this._$Ct._$AI(t,this);else{const e=[...this._$Ct._$AH];e[this._$Ci]=t,this._$Ct._$AI(e,this,0)}}disconnected(){}reconnected(){}}/**
|
|
77
|
+
* @license
|
|
78
|
+
* Copyright 2020 Google LLC
|
|
79
|
+
* SPDX-License-Identifier: BSD-3-Clause
|
|
80
|
+
*/const cl=()=>new iO;class iO{}const wu=new WeakMap,ul=_c(class extends rO{render(n){return le}update(n,[t]){var r;const e=t!==this.G;return e&&this.G!==void 0&&this.rt(void 0),(e||this.lt!==this.ct)&&(this.G=t,this.ht=(r=n.options)==null?void 0:r.host,this.rt(this.ct=n.element)),le}rt(n){if(this.isConnected||(n=void 0),typeof this.G=="function"){const t=this.ht??globalThis;let e=wu.get(t);e===void 0&&(e=new WeakMap,wu.set(t,e)),e.get(this.G)!==void 0&&this.G.call(this.ht,void 0),e.set(this.G,n),n!==void 0&&this.G.call(this.ht,n)}else this.G.value=n}get lt(){var n,t;return typeof this.G=="function"?(n=wu.get(this.ht??globalThis))==null?void 0:n.get(this.G):(t=this.G)==null?void 0:t.value}disconnected(){this.lt===this.ct&&this.rt(void 0)}reconnected(){this.rt(this.ct)}}),sO=Ot('<path d="M176,128a48,48,0,1,1-48-48A48,48,0,0,1,176,128Z"/>'),Vd=Ot('<path d="M205.66,194.34a8,8,0,0,1-11.32,11.32L128,139.31,61.66,205.66a8,8,0,0,1-11.32-11.32L116.69,128,50.34,61.66A8,8,0,0,1,61.66,50.34L128,116.69l66.34-66.35a8,8,0,0,1,11.32,11.32L139.31,128Z"/>'),oO=Ot('<path d="M224,128a8,8,0,0,1-8,8H59.31l58.35,58.34a8,8,0,0,1-11.32,11.32l-72-72a8,8,0,0,1,0-11.32l72-72a8,8,0,0,1,11.32,11.32L59.31,120H216A8,8,0,0,1,224,128Z"/>'),aO=Ot('<path d="M216,56V200a16,16,0,0,1-16,16H56a16,16,0,0,1-16-16V56A16,16,0,0,1,56,40H200A16,16,0,0,1,216,56Z"/>'),Ol=Ot('<path d="M213.66,93.66l-80,80a8,8,0,0,1-11.32,0l-80-80A8,8,0,0,1,53.66,82.34L128,156.69l74.34-74.35a8,8,0,0,1,11.32,11.32Z"/>'),lO=Ot('<path d="M213.66,162.34l-80-80a8,8,0,0,0-11.32,0l-80,80A8,8,0,0,0,53.66,173.66L128,99.31l74.34,74.35a8,8,0,0,0,11.32-11.32Z"/>'),cO=Ot({regular:'<path d="M216,64H147.31l34.35-34.34a8,8,0,1,0-11.32-11.32L128,60.69,85.66,18.34A8,8,0,0,0,74.34,29.66L108.69,64H40A16,16,0,0,0,24,80V200a16,16,0,0,0,16,16H216a16,16,0,0,0,16-16V80A16,16,0,0,0,216,64Zm0,136H40V80H216V200Z"/>',bold:'<path d="M216,60H157l27.52-27.52a12,12,0,0,0-17-17L128,55,88.49,15.51a12,12,0,0,0-17,17L99,60H40A20,20,0,0,0,20,80V200a20,20,0,0,0,20,20H216a20,20,0,0,0,20-20V80A20,20,0,0,0,216,60Zm-4,136H44V84H212Z"/>'}),uO=Ot({regular:'<path d="M104,40H56A16,16,0,0,0,40,56v48a16,16,0,0,0,16,16h48a16,16,0,0,0,16-16V56A16,16,0,0,0,104,40Zm0,64H56V56h48v48Zm96-64H152a16,16,0,0,0-16,16v48a16,16,0,0,0,16,16h48a16,16,0,0,0,16-16V56A16,16,0,0,0,200,40Zm0,64H152V56h48v48Zm-96,32H56a16,16,0,0,0-16,16v48a16,16,0,0,0,16,16h48a16,16,0,0,0,16-16V152A16,16,0,0,0,104,136Zm0,64H56V152h48v48Zm96-64H152a16,16,0,0,0-16,16v48a16,16,0,0,0,16,16h48a16,16,0,0,0,16-16V152A16,16,0,0,0,200,136Zm0,64H152V152h48v48Z"/>',bold:'<path d="M100,36H56A20,20,0,0,0,36,56v44a20,20,0,0,0,20,20h44a20,20,0,0,0,20-20V56A20,20,0,0,0,100,36ZM96,96H60V60H96ZM200,36H156a20,20,0,0,0-20,20v44a20,20,0,0,0,20,20h44a20,20,0,0,0,20-20V56A20,20,0,0,0,200,36Zm-4,60H160V60h36Zm-96,40H56a20,20,0,0,0-20,20v44a20,20,0,0,0,20,20h44a20,20,0,0,0,20-20V156A20,20,0,0,0,100,136Zm-4,60H60V160H96Zm104-60H156a20,20,0,0,0-20,20v44a20,20,0,0,0,20,20h44a20,20,0,0,0,20-20V156A20,20,0,0,0,200,136Zm-4,60H160V160h36Z"/>',duotone:'<path d="M112,56v48a8,8,0,0,1-8,8H56a8,8,0,0,1-8-8V56a8,8,0,0,1,8-8h48A8,8,0,0,1,112,56Zm88-8H152a8,8,0,0,0-8,8v48a8,8,0,0,0,8,8h48a8,8,0,0,0,8-8V56A8,8,0,0,0,200,48Zm-96,96H56a8,8,0,0,0-8,8v48a8,8,0,0,0,8,8h48a8,8,0,0,0,8-8V152A8,8,0,0,0,104,144Zm96,0H152a8,8,0,0,0-8,8v48a8,8,0,0,0,8,8h48a8,8,0,0,0,8-8V152A8,8,0,0,0,200,144Z" opacity="0.2"/><path d="M200,136H152a16,16,0,0,0-16,16v48a16,16,0,0,0,16,16h48a16,16,0,0,0,16-16V152A16,16,0,0,0,200,136Zm0,64H152V152h48v48ZM104,40H56A16,16,0,0,0,40,56v48a16,16,0,0,0,16,16h48a16,16,0,0,0,16-16V56A16,16,0,0,0,104,40Zm0,64H56V56h48v48Zm96-64H152a16,16,0,0,0-16,16v48a16,16,0,0,0,16,16h48a16,16,0,0,0,16-16V56A16,16,0,0,0,200,40Zm0,64H152V56h48v48Zm-96,32H56a16,16,0,0,0-16,16v48a16,16,0,0,0,16,16h48a16,16,0,0,0,16-16V152A16,16,0,0,0,104,136Zm0,64H56V152h48v48Z"/>'}),hO=Ot('<path d="M224,128a8,8,0,0,1-8,8H136v80a8,8,0,0,1-16,0V136H40a8,8,0,0,1,0-16h80V40a8,8,0,0,1,16,0v80h80A8,8,0,0,1,224,128Z"/>'),lw=Ot({regular:'<path d="M136,32V64a8,8,0,0,1-16,0V32a8,8,0,0,1,16,0Zm88,88H192a8,8,0,0,0,0,16h32a8,8,0,0,0,0-16Zm-45.09,47.6a8,8,0,0,0-11.31,11.31l22.62,22.63a8,8,0,0,0,11.32-11.32ZM128,184a8,8,0,0,0-8,8v32a8,8,0,0,0,16,0V192A8,8,0,0,0,128,184ZM77.09,167.6,54.46,190.22a8,8,0,0,0,11.32,11.32L88.4,178.91A8,8,0,0,0,77.09,167.6ZM72,128a8,8,0,0,0-8-8H32a8,8,0,0,0,0,16H64A8,8,0,0,0,72,128ZM65.78,54.46A8,8,0,0,0,54.46,65.78L77.09,88.4A8,8,0,0,0,88.4,77.09Z"/>',bold:'<path d="M140,32V64a12,12,0,0,1-24,0V32a12,12,0,0,1,24,0Zm84,84H192a12,12,0,0,0,0,24h32a12,12,0,0,0,0-24Zm-42.26,48.77a12,12,0,1,0-17,17l22.63,22.63a12,12,0,0,0,17-17ZM128,180a12,12,0,0,0-12,12v32a12,12,0,0,0,24,0V192A12,12,0,0,0,128,180ZM74.26,164.77,51.63,187.4a12,12,0,0,0,17,17l22.63-22.63a12,12,0,1,0-17-17ZM76,128a12,12,0,0,0-12-12H32a12,12,0,0,0,0,24H64A12,12,0,0,0,76,128ZM68.6,51.63a12,12,0,1,0-17,17L74.26,91.23a12,12,0,0,0,17-17Z"/>'}),dO=Ot('<path d="M173.66,98.34a8,8,0,0,1,0,11.32l-56,56a8,8,0,0,1-11.32,0l-24-24a8,8,0,0,1,11.32-11.32L112,148.69l50.34-50.35A8,8,0,0,1,173.66,98.34ZM232,128A104,104,0,1,1,128,24,104.11,104.11,0,0,1,232,128Zm-16,0a88,88,0,1,0-88,88A88.1,88.1,0,0,0,216,128Z"/>');class pO extends Event{constructor(){super("close",{bubbles:!0,composed:!0})}}const Qg='a[href],button:not([disabled]),input:not([disabled]),select:not([disabled]),textarea:not([disabled]),[tabindex]:not([tabindex="-1"])',Su=4;var Ne,it,Cr,st,Ao,Wi,Bi,W,gh,mh,uw,hl,hw,vh,yh,$o,To,Rr,dw,bh,pw,fw,dl,Si;class cw extends HTMLElement{constructor(){super();S(this,W);S(this,Ne,!1);S(this,it,null);S(this,Cr);S(this,st,null);S(this,Ao,"bottom-start");S(this,Wi,!1);S(this,Bi,!1);S(this,$o,e=>{l(this,Ne)&&(l(this,Wi)||e.composedPath().includes(this)||(this.open=!1))});S(this,To,e=>{if(l(this,Ne)){if(e.key==="Escape"){e.preventDefault(),this.open=!1;return}e.key==="Tab"&&p(this,W,dw).call(this,e)}});S(this,Rr,()=>{l(this,Ne)&&p(this,W,dl).call(this)});w(this,Cr,this.attachShadow({mode:"open"})),Cd(l(this,Cr)),p(this,W,mh).call(this,"anchor")}connectedCallback(){this.removeAttribute("popover"),this.hasAttribute("tone")||this.setAttribute("tone","light"),p(this,W,mh).call(this,"open"),p(this,W,Si).call(this),l(this,Ne)&&(p(this,W,vh).call(this),p(this,W,hl).call(this))}disconnectedCallback(){var e;p(this,W,yh).call(this),(e=l(this,it))==null||e.removeAttribute("aria-expanded")}attributeChangedCallback(e){e==="open"?p(this,W,uw).call(this,this.hasAttribute("open")):e==="material"&&l(this,Ne)&&(p(this,W,Si).call(this),p(this,W,hl).call(this))}get open(){return l(this,Ne)}set open(e){this.toggleAttribute("open",e)}get anchor(){return l(this,it)}set anchor(e){l(this,it)!==e&&(l(this,it)&&l(this,it).removeAttribute("aria-expanded"),w(this,it,e),p(this,W,gh).call(this),l(this,Ne)&&p(this,W,dl).call(this))}}Ne=new WeakMap,it=new WeakMap,Cr=new WeakMap,st=new WeakMap,Ao=new WeakMap,Wi=new WeakMap,Bi=new WeakMap,W=new WeakSet,gh=function(){l(this,it)&&l(this,it).setAttribute("aria-expanded",l(this,Ne)?"true":"false")},mh=function(e){if(!Object.prototype.hasOwnProperty.call(this,e))return;const r=this,i=r[e];delete r[e],r[e]=i},uw=function(e){var r,i,s;if(l(this,Ne)!==e){if(w(this,Ne,e),p(this,W,gh).call(this),!this.isConnected){p(this,W,Si).call(this);return}e?(w(this,Wi,!0),setTimeout(()=>{w(this,Wi,!1)},0),p(this,W,Si).call(this),p(this,W,vh).call(this),p(this,W,hl).call(this)):(p(this,W,yh).call(this),(i=(r=l(this,st))==null?void 0:r.hidePopover)==null||i.call(r),p(this,W,Si).call(this),(s=l(this,it))==null||s.focus(),this.dispatchEvent(new pO))}},hl=function(){l(this,Bi)||(w(this,Bi,!0),queueMicrotask(()=>{w(this,Bi,!1),!(!l(this,Ne)||!this.isConnected)&&(p(this,W,hw).call(this),p(this,W,fw).call(this))}))},hw=function(){var e,r;if(l(this,st)){try{(r=(e=l(this,st)).showPopover)==null||r.call(e)}catch{}p(this,W,dl).call(this)}},vh=function(){document.addEventListener("click",l(this,$o)),document.addEventListener("keydown",l(this,To),!0),window.addEventListener("resize",l(this,Rr)),window.addEventListener("scroll",l(this,Rr),!0)},yh=function(){document.removeEventListener("click",l(this,$o)),document.removeEventListener("keydown",l(this,To),!0),window.removeEventListener("resize",l(this,Rr)),window.removeEventListener("scroll",l(this,Rr),!0)},$o=new WeakMap,To=new WeakMap,Rr=new WeakMap,dw=function(e){const r=p(this,W,bh).call(this);if(r.length===0){e.preventDefault();return}const i=r[0],s=r[r.length-1],o=p(this,W,pw).call(this),a=o instanceof HTMLElement&&r.includes(o);e.shiftKey?(!a||o===i)&&(e.preventDefault(),s.focus()):(!a||o===s)&&(e.preventDefault(),i.focus())},bh=function(){if(!l(this,st))return[];const e=l(this,st).querySelector("slot");if(!(e instanceof HTMLSlotElement))return[];const r=[];for(const i of e.assignedElements({flatten:!0}))if(i instanceof HTMLElement){i.matches(Qg)&&r.push(i);for(const s of i.querySelectorAll(Qg))r.push(s)}return r},pw=function(){var r;let e=document.activeElement;for(;e&&((r=e.shadowRoot)!=null&&r.activeElement);)e=e.shadowRoot.activeElement;return e},fw=function(){var r;const e=p(this,W,bh).call(this);e.length>0?e[0].focus():(r=l(this,st))==null||r.focus()},dl=function(){if(!l(this,Ne)||!l(this,it)||!l(this,st))return;const e=l(this,it).getBoundingClientRect(),r=l(this,st).getBoundingClientRect(),s=window.innerHeight-e.bottom,o=r.height+Su,a=s<o&&e.top>o?"top-start":"bottom-start";w(this,Ao,a);const c=a==="bottom-start"?e.bottom+Su:e.top-r.height-Su,u=e.left;l(this,st).style.transform=`translate(${u}px, ${c}px)`,l(this,st).setAttribute("data-placement",a)},Si=function(){this.toggleAttribute("open",l(this,Ne));const e=this.getAttribute("material")??"paper";Ze(l(this,Ne)?L`<div
|
|
81
|
+
class="panel"
|
|
82
|
+
part="panel"
|
|
83
|
+
popover="manual"
|
|
84
|
+
data-placement=${l(this,Ao)}
|
|
85
|
+
tabindex="-1"
|
|
86
|
+
role="dialog"
|
|
87
|
+
material=${e}
|
|
88
|
+
level="1"
|
|
89
|
+
>
|
|
90
|
+
<slot></slot>
|
|
91
|
+
</div>`:le,l(this,Cr)),w(this,st,l(this,Cr).querySelector(".panel"))},g(cw,"observedAttributes",["open","material"]);customElements.get("ui-popover")||customElements.define("ui-popover",cw);class gw extends Event{constructor(e){super("dropdown-item-select",{bubbles:!0,composed:!0});g(this,"value");this.value=e}}class fO extends Event{constructor(e){super("select",{bubbles:!0,composed:!0});g(this,"value");this.value=e}}var ot,It,Zn,Wn,se,Io,Co,M,vw,Ws,yw,bw,wh,ww,Bs,fr,Pr,Ro,Bl,Po,jl,Sw,_w,Sh,js,_h,kh,vn;class mw extends HTMLElement{constructor(){super();S(this,M);S(this,ot,!1);S(this,It,null);S(this,Zn,null);S(this,Wn);S(this,se,null);S(this,Io,cl());S(this,Co,new MutationObserver(e=>p(this,M,Sw).call(this,e)));S(this,Pr,()=>{p(this,M,Bs).call(this,!l(this,ot))});S(this,Ro,e=>{e.key!=="Enter"&&e.key!==" "||(e.preventDefault(),l(this,Pr).call(this))});S(this,Bl,()=>{l(this,ot)&&p(this,M,Bs).call(this,!1)});S(this,Po,e=>{e instanceof gw&&(e.stopPropagation(),w(this,ot,!1),p(this,M,Ws).call(this,e.value),p(this,M,vn).call(this),this.dispatchEvent(new fO(e.value)))});S(this,jl,()=>{p(this,M,Sh).call(this)});w(this,Wn,this.attachShadow({mode:"open"})),Cd(l(this,Wn))}connectedCallback(){this.addEventListener("dropdown-item-select",l(this,Po)),p(this,M,vw).call(this),l(this,Co).observe(this,{childList:!0,subtree:!0,characterData:!0,attributes:!0,attributeFilter:["selected","value","slot"]}),p(this,M,vn).call(this)}disconnectedCallback(){this.removeEventListener("dropdown-item-select",l(this,Po)),l(this,Co).disconnect(),p(this,M,kh).call(this)}attributeChangedCallback(e){if(e==="open"){p(this,M,Bs).call(this,this.hasAttribute("open"));return}p(this,M,vn).call(this)}get open(){return l(this,ot)}set open(e){this.toggleAttribute("open",e)}get title(){return this.getAttribute("title")??""}get value(){return l(this,It)}set value(e){e===null?(p(this,M,fr).call(this,null,null),p(this,M,yw).call(this)):p(this,M,Ws).call(this,e),p(this,M,vn).call(this)}close(){p(this,M,Bs).call(this,!1)}}ot=new WeakMap,It=new WeakMap,Zn=new WeakMap,Wn=new WeakMap,se=new WeakMap,Io=new WeakMap,Co=new WeakMap,M=new WeakSet,vw=function(){var r;const e=this.querySelector("dropdown-item[selected]");e&&p(this,M,fr).call(this,e.value,((r=e.textContent)==null?void 0:r.trim())??null)},Ws=function(e){var r;for(const i of l(this,M,wh))i.value===e?(p(this,M,fr).call(this,e,((r=i.textContent)==null?void 0:r.trim())??null),i.hasAttribute("selected")||i.setAttribute("selected","")):i.hasAttribute("selected")&&i.removeAttribute("selected")},yw=function(){const e=this.querySelectorAll("dropdown-item[selected]");for(const r of e)r.removeAttribute("selected")},bw=function(e){for(const r of l(this,M,wh))if(r.value===e)return r;return null},wh=function(){return this.querySelectorAll("dropdown-item")},ww=function(){return l(this,Zn)??this.title},Bs=function(e){l(this,ot)!==e&&(w(this,ot,e),p(this,M,vn).call(this))},fr=function(e,r){w(this,It,e),w(this,Zn,r)},Pr=new WeakMap,Ro=new WeakMap,Bl=new WeakMap,Po=new WeakMap,jl=new WeakMap,Sw=function(e){e.every(i=>i.target instanceof Element?i.target.closest('[slot="trigger"]')!==null:!1)||p(this,M,_w).call(this)},_w=function(){var r,i;const e=this.querySelector("dropdown-item[selected]");if(e){const s=e.value,o=((r=e.textContent)==null?void 0:r.trim())??null,a=l(this,It)!==s||l(this,Zn)!==o;p(this,M,fr).call(this,s,o),p(this,M,Ws).call(this,s),a?p(this,M,vn).call(this):p(this,M,js).call(this);return}if(l(this,It)!==null){const s=p(this,M,bw).call(this,l(this,It));if(s){const o=((i=s.textContent)==null?void 0:i.trim())??null,a=l(this,Zn)!==o;p(this,M,fr).call(this,l(this,It),o),p(this,M,Ws).call(this,l(this,It)),a?p(this,M,vn).call(this):p(this,M,js).call(this);return}}if(l(this,It)!==null||l(this,Zn)!==null){p(this,M,fr).call(this,null,null),p(this,M,vn).call(this);return}p(this,M,js).call(this)},Sh=function(){const e=l(this,Wn).querySelector('slot[name="trigger"]'),r=e instanceof HTMLSlotElement?e.assignedElements()[0]??null:null;l(this,se)!==r&&(p(this,M,kh).call(this),w(this,se,r),l(this,se)&&(l(this,se).addEventListener("click",l(this,Pr)),l(this,se)instanceof HTMLButtonElement?l(this,se).hasAttribute("type")||(l(this,se).type="button"):(l(this,se).hasAttribute("role")||l(this,se).setAttribute("role","button"),l(this,se).hasAttribute("tabindex")||(l(this,se).tabIndex=0),l(this,se).addEventListener("keydown",l(this,Ro))))),p(this,M,js).call(this),p(this,M,_h).call(this)},js=function(){l(this,se)&&(l(this,se).setAttribute("data-dropdown-trigger",""),l(this,se).setAttribute("aria-haspopup","listbox"),l(this,se).setAttribute("aria-expanded",l(this,ot)?"true":"false"))},_h=function(){const e=l(this,Io).value;if(!e)return;const r=l(this,Wn).querySelector("button.fallback-trigger");e.anchor=l(this,se)??r??null},kh=function(){l(this,se)&&(l(this,se).removeEventListener("click",l(this,Pr)),l(this,se).removeEventListener("keydown",l(this,Ro)),l(this,se).removeAttribute("data-dropdown-trigger"),l(this,se).removeAttribute("aria-haspopup"),l(this,se).removeAttribute("aria-expanded"),w(this,se,null))},vn=function(){this.toggleAttribute("open",l(this,ot)),Ze(L`
|
|
92
|
+
<slot name="trigger" @slotchange=${l(this,jl)}>
|
|
93
|
+
<button
|
|
94
|
+
class="fallback-trigger"
|
|
95
|
+
part="trigger"
|
|
96
|
+
type="button"
|
|
97
|
+
aria-haspopup="listbox"
|
|
98
|
+
aria-expanded=${l(this,ot)?"true":"false"}
|
|
99
|
+
@click=${l(this,Pr)}
|
|
100
|
+
>
|
|
101
|
+
<span class="trigger-label" part="trigger-label">${l(this,M,ww)}</span>
|
|
102
|
+
<span class="trigger-icon" part="trigger-icon" aria-hidden="true">
|
|
103
|
+
${Ol({size:16})}
|
|
104
|
+
</span>
|
|
105
|
+
</button>
|
|
106
|
+
</slot>
|
|
107
|
+
<ui-popover
|
|
108
|
+
class="dropdown-popover"
|
|
109
|
+
material="glass-frosted"
|
|
110
|
+
?open=${l(this,ot)}
|
|
111
|
+
@close=${l(this,Bl)}
|
|
112
|
+
${ul(l(this,Io))}
|
|
113
|
+
>
|
|
114
|
+
${l(this,ot)?L`<div class="dropdown-list" part="list" role="listbox">
|
|
115
|
+
<slot></slot>
|
|
116
|
+
</div>`:le}
|
|
117
|
+
</ui-popover>
|
|
118
|
+
`,l(this,Wn)),p(this,M,_h).call(this),queueMicrotask(()=>p(this,M,Sh).call(this))},g(mw,"observedAttributes",["title","open"]);class gO extends HTMLElement{}class mO extends HTMLElement{}class vO extends HTMLElement{}var Kr,xh,xw,Do,Lo;class kw extends HTMLElement{constructor(){super(...arguments);S(this,Kr);S(this,Do,()=>{this.action||p(this,Kr,xw).call(this)});S(this,Lo,e=>{e.key!=="Enter"&&e.key!==" "||(e.preventDefault(),this.click())})}connectedCallback(){this.hasAttribute("role")||this.setAttribute("role","option"),this.hasAttribute("tabindex")||(this.tabIndex=0),this.addEventListener("click",l(this,Do)),this.addEventListener("keydown",l(this,Lo)),p(this,Kr,xh).call(this)}disconnectedCallback(){this.removeEventListener("click",l(this,Do)),this.removeEventListener("keydown",l(this,Lo))}attributeChangedCallback(){p(this,Kr,xh).call(this)}get value(){return this.getAttribute("value")??""}get selected(){return this.hasAttribute("selected")}get action(){return this.hasAttribute("action")}}Kr=new WeakSet,xh=function(){if(this.action){this.setAttribute("role","button"),this.removeAttribute("aria-selected");return}this.setAttribute("role","option"),this.setAttribute("aria-selected",this.selected?"true":"false")},xw=function(){this.dispatchEvent(new gw(this.value))},Do=new WeakMap,Lo=new WeakMap,g(kw,"observedAttributes",["action","selected","value"]);customElements.get("dropdown-menu")||customElements.define("dropdown-menu",mw);customElements.get("dropdown-group")||customElements.define("dropdown-group",gO);customElements.get("dropdown-label")||customElements.define("dropdown-label",mO);customElements.get("dropdown-divider")||customElements.define("dropdown-divider",vO);customElements.get("dropdown-item")||customElements.define("dropdown-item",kw);class yO extends Event{constructor(e){super("rename",{bubbles:!0,composed:!0});g(this,"value");this.value=e}}var en,Ct,ie,Ue,Vs,zo,Eh,pl,Ah,Oo,Mo,No;class Ew extends HTMLElement{constructor(){super(...arguments);S(this,Ue);S(this,en,"");S(this,Ct,!1);S(this,ie,null);S(this,zo,e=>{l(this,Ct)||(e.preventDefault(),p(this,Ue,Eh).call(this))});S(this,Oo,e=>{e.stopPropagation()});S(this,Mo,e=>{var r,i;e.key==="Enter"?(e.preventDefault(),p(this,Ue,pl).call(this,!0),(r=l(this,ie))==null||r.blur()):e.key==="Escape"&&(e.preventDefault(),p(this,Ue,pl).call(this,!1),(i=l(this,ie))==null||i.blur())});S(this,No,()=>{p(this,Ue,pl).call(this,!0)})}connectedCallback(){l(this,ie)||(w(this,ie,document.createElement("span")),l(this,ie).className="editable-text-span",this.append(l(this,ie)));const e=this.getAttribute("value");e!==null&&w(this,en,e),p(this,Ue,Vs).call(this),this.addEventListener("dblclick",l(this,zo))}disconnectedCallback(){this.removeEventListener("dblclick",l(this,zo)),l(this,Ct)&&p(this,Ue,Ah).call(this)}attributeChangedCallback(e){if(e==="value"){const r=this.getAttribute("value")??"";w(this,en,r),l(this,Ct)||p(this,Ue,Vs).call(this)}}get value(){return l(this,en)}set value(e){w(this,en,e),l(this,Ct)||p(this,Ue,Vs).call(this)}startEditing(){l(this,Ct)||p(this,Ue,Eh).call(this)}}en=new WeakMap,Ct=new WeakMap,ie=new WeakMap,Ue=new WeakSet,Vs=function(){l(this,ie)&&(l(this,ie).textContent=l(this,en),l(this,ie).scrollLeft=0)},zo=new WeakMap,Eh=function(){l(this,ie)&&(w(this,Ct,!0),l(this,ie).setAttribute("contenteditable","plaintext-only"),l(this,ie).setAttribute("spellcheck","false"),l(this,ie).addEventListener("keydown",l(this,Mo)),l(this,ie).addEventListener("blur",l(this,No)),l(this,ie).addEventListener("mousedown",l(this,Oo)),this.toggleAttribute("data-editing",!0),queueMicrotask(()=>{var r;if(!l(this,ie))return;l(this,ie).focus();const e=(r=this.ownerDocument.defaultView)==null?void 0:r.getSelection();e==null||e.selectAllChildren(l(this,ie))}))},pl=function(e){if(!l(this,Ct)||!l(this,ie))return;const r=(l(this,ie).textContent??"").trim();w(this,Ct,!1),l(this,ie).removeAttribute("contenteditable"),l(this,ie).removeAttribute("spellcheck"),this.toggleAttribute("data-editing",!1),p(this,Ue,Ah).call(this),e&&r.length>0&&r!==l(this,en)&&(w(this,en,r),this.dispatchEvent(new yO(r))),p(this,Ue,Vs).call(this)},Ah=function(){var e,r,i;(e=l(this,ie))==null||e.removeEventListener("keydown",l(this,Mo)),(r=l(this,ie))==null||r.removeEventListener("blur",l(this,No)),(i=l(this,ie))==null||i.removeEventListener("mousedown",l(this,Oo))},Oo=new WeakMap,Mo=new WeakMap,No=new WeakMap,g(Ew,"observedAttributes",["value"]);customElements.get("editable-text")||customElements.define("editable-text",Ew);class bO extends Event{constructor(){super("close",{bubbles:!0,composed:!0})}}var Uo,er,$h,Vl,Fo,Th;class Aw extends HTMLElement{constructor(){super();S(this,er);S(this,Uo);S(this,Vl,e=>{e.target===e.currentTarget&&p(this,er,$h).call(this)});S(this,Fo,e=>{this.open&&e.key==="Escape"&&p(this,er,$h).call(this)});w(this,Uo,this.attachShadow({mode:"open"}))}connectedCallback(){document.addEventListener("keydown",l(this,Fo)),p(this,er,Th).call(this)}disconnectedCallback(){document.removeEventListener("keydown",l(this,Fo))}attributeChangedCallback(){p(this,er,Th).call(this)}get open(){return this.hasAttribute("open")}}Uo=new WeakMap,er=new WeakSet,$h=function(){this.dispatchEvent(new bO)},Vl=new WeakMap,Fo=new WeakMap,Th=function(){Ze(L`
|
|
119
|
+
${this.open?L`
|
|
120
|
+
<div class="backdrop" part="backdrop" @click=${l(this,Vl)}>
|
|
121
|
+
<slot></slot>
|
|
122
|
+
</div>
|
|
123
|
+
`:null}
|
|
124
|
+
`,l(this,Uo))},g(Aw,"observedAttributes",["open"]);customElements.get("modal-overlay")||customElements.define("modal-overlay",Aw);const wO=16,_u=24,SO=32;var ji;class $w extends HTMLElement{constructor(){super();S(this,ji);w(this,ji,this.attachShadow({mode:"open"})),Cd(l(this,ji))}connectedCallback(){this.render()}attributeChangedCallback(){this.render()}getSize(){const e=this.getAttribute("size");if(e===null)return _u;const r=Number(e);return r===wO||r===_u||r===SO?r:_u}getWeight(){return this.getAttribute("weight")==="bold"?"bold":"regular"}render(){Ze(L`<span class="spin">${lw({size:this.getSize(),weight:this.getWeight()})}</span>`,l(this,ji))}}ji=new WeakMap,g($w,"observedAttributes",["size","weight"]);customElements.get("ui-spinner")||customElements.define("ui-spinner",$w);class _O extends Event{constructor(){super("close",{bubbles:!0,composed:!0})}}class kO extends HTMLElement{}var Ho,Zo,Ih;class Tw extends HTMLElement{constructor(){super();S(this,Zo);S(this,Ho);w(this,Ho,this.attachShadow({mode:"open"}))}connectedCallback(){p(this,Zo,Ih).call(this)}attributeChangedCallback(){p(this,Zo,Ih).call(this)}get closable(){return this.hasAttribute("closable")}}Ho=new WeakMap,Zo=new WeakSet,Ih=function(){const e=this.querySelector("panel-page");Ze(L`
|
|
125
|
+
<section class="panel" part="panel">
|
|
126
|
+
<header class="title-bar" part="header">
|
|
127
|
+
<h2 class="title" part="title">${(e==null?void 0:e.getAttribute("title"))??""}</h2>
|
|
128
|
+
${this.closable?L`
|
|
129
|
+
<button
|
|
130
|
+
type="button"
|
|
131
|
+
class="title-button"
|
|
132
|
+
part="button close-button"
|
|
133
|
+
aria-label="Close"
|
|
134
|
+
@click=${()=>this.dispatchEvent(new _O)}
|
|
135
|
+
>
|
|
136
|
+
<span class="close-icon" part="icon close-icon">${Vd({size:16})}</span>
|
|
137
|
+
</button>
|
|
138
|
+
`:null}
|
|
139
|
+
</header>
|
|
140
|
+
<slot></slot>
|
|
141
|
+
</section>
|
|
142
|
+
`,l(this,Ho))},g(Tw,"observedAttributes",["closable"]);customElements.get("panel-view")||customElements.define("panel-view",Tw);customElements.get("panel-page")||customElements.define("panel-page",kO);const xO=`
|
|
143
|
+
<svg viewBox="0 0 12 12" aria-hidden="true" focusable="false">
|
|
144
|
+
<path d="M10.2 3.1 5.1 8.2 2.4 5.5" />
|
|
145
|
+
</svg>
|
|
146
|
+
`,EO=`
|
|
147
|
+
:host {
|
|
148
|
+
display: block;
|
|
149
|
+
margin: var(--checkbox-list-margin, var(--space-12) 0);
|
|
150
|
+
}
|
|
151
|
+
|
|
152
|
+
[part~="list"] {
|
|
153
|
+
display: grid;
|
|
154
|
+
gap: var(--checkbox-list-gap, var(--space-6));
|
|
155
|
+
}
|
|
156
|
+
`,AO=`
|
|
157
|
+
:host {
|
|
158
|
+
display: block;
|
|
159
|
+
--checkbox-size: 1em;
|
|
160
|
+
--checkbox-gap: var(--space-8);
|
|
161
|
+
--checkbox-color: var(--color-primary);
|
|
162
|
+
--checkbox-border-color: var(--color-border);
|
|
163
|
+
--checkbox-bg: transparent;
|
|
164
|
+
--checkbox-check-color: var(--color-bg);
|
|
165
|
+
--checkbox-checked-content-color: var(--color-text-muted);
|
|
166
|
+
--checkbox-checked-decoration: line-through;
|
|
167
|
+
--checkbox-checked-decoration-thickness: 0.08em;
|
|
168
|
+
}
|
|
169
|
+
|
|
170
|
+
[part~="label"] {
|
|
171
|
+
display: grid;
|
|
172
|
+
grid-template-columns: var(--checkbox-size) minmax(0, 1fr);
|
|
173
|
+
gap: var(--checkbox-gap);
|
|
174
|
+
align-items: baseline;
|
|
175
|
+
}
|
|
176
|
+
|
|
177
|
+
input {
|
|
178
|
+
position: absolute;
|
|
179
|
+
opacity: 0;
|
|
180
|
+
pointer-events: none;
|
|
181
|
+
width: 1px;
|
|
182
|
+
height: 1px;
|
|
183
|
+
}
|
|
184
|
+
|
|
185
|
+
[part~="box"] {
|
|
186
|
+
display: inline-grid;
|
|
187
|
+
place-items: center;
|
|
188
|
+
width: var(--checkbox-size);
|
|
189
|
+
height: var(--checkbox-size);
|
|
190
|
+
border: 1px solid var(--checkbox-border-color);
|
|
191
|
+
border-radius: var(--checkbox-radius, var(--radius-4));
|
|
192
|
+
background: var(--checkbox-bg);
|
|
193
|
+
color: var(--checkbox-check-color);
|
|
194
|
+
transform: translateY(0.12em);
|
|
195
|
+
cursor: not-allowed;
|
|
196
|
+
}
|
|
197
|
+
|
|
198
|
+
[part~="check"] {
|
|
199
|
+
display: block;
|
|
200
|
+
width: calc(var(--checkbox-size) * 0.72);
|
|
201
|
+
height: calc(var(--checkbox-size) * 0.72);
|
|
202
|
+
opacity: 0;
|
|
203
|
+
}
|
|
204
|
+
|
|
205
|
+
[part~="check"] svg {
|
|
206
|
+
display: block;
|
|
207
|
+
width: 100%;
|
|
208
|
+
height: 100%;
|
|
209
|
+
}
|
|
210
|
+
|
|
211
|
+
[part~="check"] path {
|
|
212
|
+
fill: none;
|
|
213
|
+
stroke: currentColor;
|
|
214
|
+
stroke-width: 2;
|
|
215
|
+
stroke-linecap: round;
|
|
216
|
+
stroke-linejoin: round;
|
|
217
|
+
}
|
|
218
|
+
|
|
219
|
+
[part~="content"] {
|
|
220
|
+
min-width: 0;
|
|
221
|
+
}
|
|
222
|
+
|
|
223
|
+
:host([checked]) [part~="box"] {
|
|
224
|
+
border-color: var(--checkbox-color);
|
|
225
|
+
background: var(--checkbox-color);
|
|
226
|
+
}
|
|
227
|
+
|
|
228
|
+
:host([checked]) [part~="check"] {
|
|
229
|
+
opacity: 1;
|
|
230
|
+
}
|
|
231
|
+
|
|
232
|
+
:host([checked]) [part~="content"] {
|
|
233
|
+
color: var(--checkbox-checked-content-color);
|
|
234
|
+
text-decoration-line: var(--checkbox-checked-decoration);
|
|
235
|
+
text-decoration-thickness: var(--checkbox-checked-decoration-thickness);
|
|
236
|
+
}
|
|
237
|
+
`;var Wo;class $O extends HTMLElement{constructor(){super();S(this,Wo);w(this,Wo,this.attachShadow({mode:"open"})),l(this,Wo).innerHTML=`<style>${EO}</style><div part="list"><slot></slot></div>`}connectedCallback(){this.hasAttribute("role")||this.setAttribute("role","list")}}Wo=new WeakMap;var Vi,Bo,jo,Ch;class Iw extends HTMLElement{constructor(){super();S(this,jo);S(this,Vi);S(this,Bo);w(this,Vi,this.attachShadow({mode:"open"})),l(this,Vi).innerHTML=`
|
|
238
|
+
<style>${AO}</style>
|
|
239
|
+
<label part="label">
|
|
240
|
+
<input type="checkbox" disabled tabindex="-1">
|
|
241
|
+
<span part="box"><span part="check">${xO}</span></span>
|
|
242
|
+
<span part="content"><slot></slot></span>
|
|
243
|
+
</label>
|
|
244
|
+
`;const e=l(this,Vi).querySelector("input");if(!(e instanceof HTMLInputElement))throw new Error("checkbox-item failed to initialize input");w(this,Bo,e)}connectedCallback(){this.hasAttribute("role")||this.setAttribute("role","listitem"),this.setAttribute("aria-disabled","true"),p(this,jo,Ch).call(this)}attributeChangedCallback(){p(this,jo,Ch).call(this)}}Vi=new WeakMap,Bo=new WeakMap,jo=new WeakSet,Ch=function(){const e=this.hasAttribute("checked");l(this,Bo).checked=e,this.setAttribute("aria-checked",e?"true":"false")},g(Iw,"observedAttributes",["checked"]);customElements.get("checkbox-list")||customElements.define("checkbox-list",$O);customElements.get("checkbox-item")||customElements.define("checkbox-item",Iw);const Cw=je(),Rw="No handler registered for update-content",Pw="handleUpdateContent: handler already registered",em="television-artifact-bridge";function Dw(n){return n instanceof Error&&typeof n.message=="string"?n.message:String(n)}const Lw=ma(zt);var Gi,qi,Yi,Dr,Lr,Vo,Fe,Rh,zw,Ow,Gs,Ph,zm;let TO=(zm=class extends Lw{constructor(e){super();S(this,Fe);S(this,Gi);S(this,qi);S(this,Yi);S(this,Dr,null);S(this,Lr,null);S(this,Vo,!1);w(this,Gi,e);const r=e.ownerDocument.defaultView;if(!r)throw new Error("ArtifactView: iframe has no owner window");w(this,qi,r),w(this,Yi,i=>p(this,Fe,zw).call(this,i)),l(this,qi).addEventListener("message",l(this,Yi))}get content(){return l(this,Lr)}set content(e){p(this,Fe,Ph).call(this),w(this,Lr,e),l(this,Vo)&&p(this,Fe,Rh).call(this,e)}handleUpdateContent(e){if(p(this,Fe,Ph).call(this),l(this,Dr)!==null)throw new Error(Pw);w(this,Dr,e)}dispose(){l(this,qi).removeEventListener("message",l(this,Yi)),w(this,Dr,null)}},Gi=new WeakMap,qi=new WeakMap,Yi=new WeakMap,Dr=new WeakMap,Lr=new WeakMap,Vo=new WeakMap,Fe=new WeakSet,Rh=function(e){const r={type:"content-updated",content:e};p(this,Fe,Gs).call(this,r)},zw=function(e){if(this.disposed||e.source!==l(this,Gi).contentWindow)return;const r=e.data;if(Jy(r)){w(this,Vo,!0),this.dispatchEvent(new Cw("ready")),l(this,Lr)!==null&&p(this,Fe,Rh).call(this,l(this,Lr));return}if(Xy(r)){p(this,Fe,Ow).call(this,r);return}},Ow=async function(e){const r=l(this,Dr);if(r===null){p(this,Fe,Gs).call(this,{type:"response",id:e.id,error:{message:Rw}});return}try{await r(e.content)}catch(i){if(this.disposed)return;p(this,Fe,Gs).call(this,{type:"response",id:e.id,error:{message:Dw(i)}});return}this.disposed||p(this,Fe,Gs).call(this,{type:"response",id:e.id,result:{}})},Gs=function(e){const r=l(this,Gi).contentWindow;r&&r.postMessage(e,"*")},Ph=function(){if(this.disposed)throw new Error("ArtifactView is disposed")},zm);var zr,Ki,Or,Mr,Go,He,Dh,Mw,Nw,qs,Lh;class IO extends Lw{constructor(e){super();S(this,He);S(this,zr);S(this,Ki);S(this,Or,null);S(this,Mr,null);S(this,Go,!1);w(this,zr,e),w(this,Ki,r=>p(this,He,Mw).call(this,r)),l(this,zr).addEventListener("ipc-message",l(this,Ki))}get content(){return l(this,Mr)}set content(e){p(this,He,Lh).call(this),w(this,Mr,e),l(this,Go)&&p(this,He,Dh).call(this,e)}handleUpdateContent(e){if(p(this,He,Lh).call(this),l(this,Or)!==null)throw new Error(Pw);w(this,Or,e)}dispose(){l(this,zr).removeEventListener("ipc-message",l(this,Ki)),w(this,Or,null)}}zr=new WeakMap,Ki=new WeakMap,Or=new WeakMap,Mr=new WeakMap,Go=new WeakMap,He=new WeakSet,Dh=function(e){const r={type:"content-updated",content:e};p(this,He,qs).call(this,r)},Mw=function(e){var s;if(this.disposed)return;const r=e.detail??e;if(!r||r.channel!==em)return;const i=(s=r.args)==null?void 0:s[0];if(Jy(i)){w(this,Go,!0),this.dispatchEvent(new Cw("ready")),l(this,Mr)!==null&&p(this,He,Dh).call(this,l(this,Mr));return}if(Xy(i)){p(this,He,Nw).call(this,i);return}},Nw=async function(e){const r=l(this,Or);if(r===null){p(this,He,qs).call(this,{type:"response",id:e.id,error:{message:Rw}});return}try{await r(e.content)}catch(i){if(this.disposed)return;p(this,He,qs).call(this,{type:"response",id:e.id,error:{message:Dw(i)}});return}this.disposed||p(this,He,qs).call(this,{type:"response",id:e.id,result:{}})},qs=function(e){var r,i;(i=(r=l(this,zr)).send)==null||i.call(r,em,e)},Lh=function(){if(this.disposed)throw new Error("WebviewArtifactViewRuntime is disposed")};const CO="television-artifact-bridge",tm="/views/url-unsupported/",Uw=je(),RO=je(),PO=je();class DO extends HTMLElement{constructor(){super(...arguments);g(this,"_artifact",null);g(this,"_viewURL",null);g(this,"_contentURL",null);g(this,"_screen",null);g(this,"_standaloneScroll",!1);g(this,"_subscribedWebview",null);g(this,"_embedLoadFrame",null);g(this,"_embedLoadKey",null);g(this,"_markdownFrame",null);g(this,"_markdownHost",null);g(this,"_markdownContentURL",null);g(this,"_proxyReloadVersion",0);g(this,"_navigationState",null);g(this,"_navigationArtifactId",null);g(this,"_navigationCanonicalURL",null);g(this,"_preserveFrameSrcOnNavigationRender",!1);g(this,"_frameMayHaveSameDocumentURL",!1);g(this,"handleIframeMessage",e=>{var i;const r=this.querySelector("iframe.artifact-frame");if(!(!r||r.contentWindow!==e.source)){if(Pp(e.data)){this.dispatchArtifactWheel({deltaX:e.data.deltaX,shiftKey:e.data.shiftKey});return}if(Dp(e.data)){this.dispatchArtifactFilmstripKey(e.data.direction);return}if(B0(e.data)){(i=r.contentWindow)==null||i.postMessage({type:j0,url:this.currentExternalTargetURL()},"*");return}V0(e.data)&&this.handleNavigationRequest(e.data)}});g(this,"handleNavigationChange",()=>{const e=this._preserveFrameSrcOnNavigationRender,r=!e;this.render({preserveFrameSrc:e}),this._preserveFrameSrcOnNavigationRender=!1,r&&(window.setTimeout(()=>this.forceCurrentFrameSrc(),0),this._frameMayHaveSameDocumentURL=!1)});g(this,"handleArtifactContentChanged",e=>{var i;if(e.artifactID===((i=this._artifact)==null?void 0:i.id)){if(this._markdownHost&&this._markdownContentURL){this.fetchMarkdownContent();return}this.reloadProxyFrame()}});g(this,"handleThemeChanged",()=>{this.reloadProxyFrame()});g(this,"handleWebviewIpcMessage",e=>{var o;const r=e.detail??e;if(!r||r.channel!==CO)return;const i=(o=r.args)==null?void 0:o[0];if(!(!i||!this._subscribedWebview)){if(Pp(i)){this.dispatchArtifactWheel({deltaX:i.deltaX,shiftKey:i.shiftKey});return}Dp(i)&&this.dispatchArtifactFilmstripKey(i.direction)}});g(this,"handleWebviewDidNavigate",e=>{this.handleWebviewNavigationEvent(e)});g(this,"handleWebviewDidNavigateInPage",e=>{this.handleWebviewNavigationEvent(e)});g(this,"handleEmbedLoad",()=>{const e=this.querySelector(".artifact-frame");!e||e!==this._embedLoadFrame||this.setAttribute("data-embed-loaded","")})}set artifact(e){this._artifact=e,this.syncNavigationState(),this.render(),this.syncWebviewSubscription()}get artifact(){return this._artifact}set viewURL(e){this._viewURL=e,this.syncNavigationState(),this.render(),this.syncWebviewSubscription()}get viewURL(){return this._viewURL}set contentURL(e){this._contentURL=e,this.render()}get contentURL(){return this._contentURL}set screen(e){var r,i,s,o;this._screen!==e&&((r=this._screen)==null||r.removeEventListener("artifact-content-changed",this.handleArtifactContentChanged),(i=this._screen)==null||i.removeEventListener("theme-changed",this.handleThemeChanged),this._screen=e,(s=this._screen)==null||s.addEventListener("artifact-content-changed",this.handleArtifactContentChanged),(o=this._screen)==null||o.addEventListener("theme-changed",this.handleThemeChanged),this.syncMarkdownHost())}get screen(){return this._screen}get activeView(){return null}set standaloneScroll(e){this._standaloneScroll=e}get standaloneScroll(){return this._standaloneScroll}connectedCallback(){this.setAttribute("level","2"),this.render(),window.addEventListener("message",this.handleIframeMessage),this.syncWebviewSubscription(),this.syncNavigationState()}disconnectedCallback(){var e,r;window.removeEventListener("message",this.handleIframeMessage),this.unsubscribeFromWebview(),this.unsubscribeFromEmbedLoad(),this.syncNavigationState(),(e=this._screen)==null||e.removeEventListener("artifact-content-changed",this.handleArtifactContentChanged),(r=this._screen)==null||r.removeEventListener("theme-changed",this.handleThemeChanged),this.disposeMarkdownHost()}handleClose(){this._artifact&&this.dispatchEvent(new Uw("close-artifact",{artifactID:this._artifact.id,bubbles:!0,composed:!0}))}currentExternalTargetURL(){var r,i;const e=((r=this._navigationState)==null?void 0:r.currentURL)??null;return e&&ku(e)?e:((i=this._artifact)==null?void 0:i.kind)==="url"?this._artifact.url:null}handleNavigationRequest(e){this.syncNavigationState();const r=this._navigationState;if(!r)return;const i=this.convertIframeNavigationURL(e.url);if(i===tm||i===r.currentURL)return;const s=e.native===!0;(e.sameDocument||s)&&(this._preserveFrameSrcOnNavigationRender=!0,this._frameMayHaveSameDocumentURL=!0),e.replace?r.replace(i):r.navigate(i)}dispatchArtifactFilmstripKey(e){this._standaloneScroll||this.dispatchEvent(new PO("artifact-filmstrip-key",{bubbles:!0,composed:!0,direction:e}))}dispatchArtifactWheel(e){this._standaloneScroll||this.dispatchEvent(new RO("artifact-wheel",{bubbles:!0,composed:!0,deltaX:e.deltaX,shiftKey:e.shiftKey}))}syncNavigationState(){if(!this.isConnected||!this._artifact){this.disposeNavigationState();return}const e=this.canonicalURLForArtifact(this._artifact);this._navigationState&&this._navigationArtifactId===this._artifact.id&&this._navigationCanonicalURL===e||(this.disposeNavigationState(),this._navigationState=new Pz(this._artifact.id,e),this._navigationArtifactId=this._artifact.id,this._navigationCanonicalURL=e,this._navigationState.addEventListener("change",this.handleNavigationChange),this._navigationState.currentURL!==null&&this.render())}disposeNavigationState(){var e;(e=this._navigationState)==null||e.removeEventListener("change",this.handleNavigationChange),this._navigationState=null,this._navigationArtifactId=null,this._navigationCanonicalURL=null,this._preserveFrameSrcOnNavigationRender=!1,this._frameMayHaveSameDocumentURL=!1}canonicalURLForArtifact(e){const r=Rl(e,{electron:ln()}),i=this._viewURL??r.viewURL;return r.renderer==="url-webview"?Wr(i):nm(i,i)}convertIframeNavigationURL(e){var i;const r=(i=this.querySelector(".artifact-frame"))==null?void 0:i.getAttribute("src");return nm(e,r??this._viewURL??null)}handleWebviewNavigationEvent(e){const r=e.url;if(typeof r!="string")return;this.syncNavigationState();const i=this._navigationState;if(!i)return;const s=Wr(r);s!==i.currentURL&&i.navigate(s)}viewURLForInternalNavigation(e){if(!e.startsWith("/")||!this._viewURL)return e;try{return new URL(e,this._viewURL).toString()}catch{return e}}syncWebviewSubscription(){const e=this.querySelector("webview");e!==this._subscribedWebview&&(this.unsubscribeFromWebview(),e&&(e.addEventListener("ipc-message",this.handleWebviewIpcMessage),e.addEventListener("did-navigate",this.handleWebviewDidNavigate),e.addEventListener("did-navigate-in-page",this.handleWebviewDidNavigateInPage),this._subscribedWebview=e))}unsubscribeFromWebview(){this._subscribedWebview&&(this._subscribedWebview.removeEventListener("ipc-message",this.handleWebviewIpcMessage),this._subscribedWebview.removeEventListener("did-navigate",this.handleWebviewDidNavigate),this._subscribedWebview.removeEventListener("did-navigate-in-page",this.handleWebviewDidNavigateInPage),this._subscribedWebview=null)}syncEmbedLoadState(){var s;const e=this.querySelector(".artifact-frame"),r=e?`${e.tagName.toLowerCase()}:${e.getAttribute("src")??""}:${e.dataset.contentUrl??""}`:null;if(e&&e===this._embedLoadFrame&&r===this._embedLoadKey||(this.unsubscribeFromEmbedLoad(),this.removeAttribute("data-embed-loaded"),!e||!r))return;if(this._embedLoadFrame=e,this._embedLoadKey=r,e.tagName.toLowerCase()==="webview"){e.addEventListener("did-finish-load",this.handleEmbedLoad),e.addEventListener("did-fail-load",this.handleEmbedLoad);return}e.addEventListener("load",this.handleEmbedLoad);const i=e;try{((s=i.contentDocument)==null?void 0:s.readyState)==="complete"&&this.handleEmbedLoad()}catch{}}unsubscribeFromEmbedLoad(){if(!this._embedLoadFrame){this._embedLoadKey=null;return}this._embedLoadFrame.removeEventListener("load",this.handleEmbedLoad),this._embedLoadFrame.removeEventListener("did-finish-load",this.handleEmbedLoad),this._embedLoadFrame.removeEventListener("did-fail-load",this.handleEmbedLoad),this._embedLoadFrame=null,this._embedLoadKey=null}iframeTargetOrigin(e){const r=e.getAttribute("sandbox")??"";if(!new Set(r.split(/\s+/).filter(Boolean)).has("allow-same-origin"))return"*";const s=e.getAttribute("src")??e.src;if(!s)return"*";try{return new URL(s,window.location.href).origin}catch{return"*"}}syncMarkdownHost(){const e=this.querySelector("[data-content-url]"),r=(e==null?void 0:e.dataset.contentUrl)??null;if(!e||!r||!this._artifact||!this._screen){this.disposeMarkdownHost();return}if(e===this._markdownFrame&&r===this._markdownContentURL)return;this.disposeMarkdownHost(),this._markdownFrame=e,this._markdownContentURL=r;const i=e.tagName.toLowerCase()==="webview"?new IO(e):new TO(e);this._markdownHost=i,i.handleUpdateContent(async s=>{const o=this._artifact,a=this._screen;if(!o||!a)throw new Error("No markdown artifact selected");await a.server.client.markdown.update({artifactID:o.id,content:s}),i.content=s}),this.fetchMarkdownContent()}async fetchMarkdownContent(){const e=this._artifact,r=this._markdownHost,i=this._screen;if(!(!e||!r||!i))try{r.content=await i.server.client.markdown.get({artifactID:e.id})}catch{}}disposeMarkdownHost(){var e;(e=this._markdownHost)==null||e.dispose(),this._markdownHost=null,this._markdownFrame=null,this._markdownContentURL=null}reloadProxyFrame(){var o;const e=this.querySelector(".artifact-frame:not([data-content-url])");if(!e||e.tagName.toLowerCase()==="webview"&&((o=this._artifact)==null?void 0:o.kind)!=="path")return;const r=e.getAttribute("src");if(r===null)return;const i=new URL(r,window.location.href);i.searchParams.set(Pl,String(++this._proxyReloadVersion));const s=r.startsWith("/")?`${i.pathname}${i.search}${i.hash}`:i.href;this.removeAttribute("data-embed-loaded"),e.setAttribute("src",s),this.syncEmbedLoadState()}contentTemplate(e,r){var c;const i=this.routeForCurrentNavigation(e),s=(c=this.querySelector(".artifact-frame"))==null?void 0:c.getAttribute("src"),o=r.preserveFrameSrc&&s?s:i.viewURL,a=this._contentURL??i.contentURL;return i.renderer==="url-webview"?i.contentURL?L`<webview class="artifact-frame artifact-content" src=${o} data-content-url=${a}></webview>`:L`<webview class="artifact-frame artifact-content" src=${o}></webview>`:i.renderer==="markdown"?L`<iframe class="artifact-frame artifact-content" src=${o} data-content-url=${a}></iframe>`:L`<iframe class="artifact-frame artifact-content" src=${o}></iframe>`}routeForCurrentNavigation(e){var s;const r=Rl(e,{electron:ln()}),i=((s=this._navigationState)==null?void 0:s.currentURL)??null;if(i===null){const o=this._viewURL??r.viewURL;return r.renderer==="markdown"?{renderer:"markdown",viewURL:o,contentURL:this._contentURL??r.contentURL}:{...r,viewURL:o}}return ku(i)&&!ln()?{renderer:"proxy-iframe",viewURL:tm,contentURL:null}:ku(i)&&ln()?{renderer:"url-webview",viewURL:i,contentURL:null}:ln()?{renderer:"url-webview",viewURL:this.viewURLForInternalNavigation(i),contentURL:null}:{renderer:"proxy-iframe",viewURL:this.viewURLForInternalNavigation(i),contentURL:null}}forceCurrentFrameSrc(){if(!this._artifact)return;const e=this.routeForCurrentNavigation(this._artifact);if(e.renderer==="url-webview")return;const r=this.querySelector("iframe.artifact-frame");if(r){this.removeAttribute("data-embed-loaded");try{r.contentWindow&&(r.contentWindow.location.href=e.viewURL)}catch{r.src=e.viewURL}r.src=e.viewURL,r.setAttribute("src",e.viewURL),this.syncEmbedLoadState()}}titleIconTemplate(){const e=this._navigationState;return e!=null&&e.canGoBack?L`
|
|
245
|
+
<button
|
|
246
|
+
icon-only
|
|
247
|
+
size="sm"
|
|
248
|
+
variant="ghost"
|
|
249
|
+
class="artifact-title-icon artifact-history-back"
|
|
250
|
+
@click=${()=>e.back()}
|
|
251
|
+
aria-label="Back"
|
|
252
|
+
>
|
|
253
|
+
${oO({size:16})}
|
|
254
|
+
</button>
|
|
255
|
+
`:L`
|
|
256
|
+
<button
|
|
257
|
+
icon-only
|
|
258
|
+
size="sm"
|
|
259
|
+
variant="ghost"
|
|
260
|
+
class="artifact-title-icon"
|
|
261
|
+
disabled
|
|
262
|
+
aria-label="No history"
|
|
263
|
+
>
|
|
264
|
+
${sO({size:16})}
|
|
265
|
+
</button>
|
|
266
|
+
`}template(e={preserveFrameSrc:!1}){const r=this._artifact;return L`
|
|
267
|
+
${this.contentTemplate(r,e)}
|
|
268
|
+
<footer class="artifact-title-bar" drag-handle material="glass-frosted">
|
|
269
|
+
<div class="artifact-title-group">
|
|
270
|
+
${this.titleIconTemplate()}
|
|
271
|
+
<span class="artifact-title">${r.title}</span>
|
|
272
|
+
</div>
|
|
273
|
+
<div class="artifact-title-actions">
|
|
274
|
+
<button
|
|
275
|
+
icon-only
|
|
276
|
+
size="sm"
|
|
277
|
+
variant="ghost"
|
|
278
|
+
class="artifact-close-btn"
|
|
279
|
+
@click=${()=>this.handleClose()}
|
|
280
|
+
aria-label="Close"
|
|
281
|
+
>
|
|
282
|
+
${Vd({size:16})}
|
|
283
|
+
</button>
|
|
284
|
+
</div>
|
|
285
|
+
</footer>
|
|
286
|
+
`}render(e={}){this._artifact&&(this.setAttribute("kind",this._artifact.kind),Ze(this.template({preserveFrameSrc:e.preserveFrameSrc??!1}),this),e.forceFrameSrc&&this.forceCurrentFrameSrc(),this.syncWebviewSubscription(),this.syncEmbedLoadState(),this.syncMarkdownHost())}}function ku(n){return n.startsWith("http://")||n.startsWith("https://")}function nm(n,t){try{const e=new URL(n,window.location.href);if(t){const r=new URL(t,window.location.href);if(e.origin===r.origin)return e.searchParams.delete(Pl),`${e.pathname}${e.search}${e.hash}`}}catch{return Wr(n)}return Wr(n)}customElements.define("artifact-view",DO);/**
|
|
287
|
+
* @license
|
|
288
|
+
* Copyright 2017 Google LLC
|
|
289
|
+
* SPDX-License-Identifier: BSD-3-Clause
|
|
290
|
+
*/const rm=(n,t,e)=>{const r=new Map;for(let i=t;i<=e;i++)r.set(n[i],i);return r},im=_c(class extends jd{constructor(n){if(super(n),n.type!==Bd.CHILD)throw Error("repeat() can only be used in text expressions")}dt(n,t,e){let r;e===void 0?e=t:t!==void 0&&(r=t);const i=[],s=[];let o=0;for(const a of n)i[o]=r?r(a,o):o,s[o]=e(a,o),o++;return{values:s,keys:i}}render(n,t,e){return this.dt(n,t,e).values}update(n,[t,e,r]){const i=Qz(n),{values:s,keys:o}=this.dt(t,e,r);if(!Array.isArray(i))return this.ut=o,s;const a=this.ut??(this.ut=[]),c=[];let u,h,f=0,y=i.length-1,m=0,E=s.length-1;for(;f<=y&&m<=E;)if(i[f]===null)f++;else if(i[y]===null)y--;else if(a[f]===o[m])c[m]=ur(i[f],s[m]),f++,m++;else if(a[y]===o[E])c[E]=ur(i[y],s[E]),y--,E--;else if(a[f]===o[E])c[E]=ur(i[f],s[E]),Ps(n,c[E+1],i[f]),f++,E--;else if(a[y]===o[m])c[m]=ur(i[y],s[m]),Ps(n,i[f],i[y]),y--,m++;else if(u===void 0&&(u=rm(o,m,E),h=rm(a,f,y)),u.has(a[f]))if(u.has(a[y])){const x=h.get(o[m]),I=x!==void 0?i[x]:null;if(I===null){const P=Ps(n,i[f]);ur(P,s[m]),c[m]=P}else c[m]=ur(I,s[m]),Ps(n,i[f],I),i[x]=null;m++}else bu(i[y]),y--;else bu(i[f]),f++;for(;m<=E;){const x=Ps(n,c[E+1]);ur(x,s[m]),c[m++]=x}for(;f<=y;){const x=i[f++];x!==null&&bu(x)}return this.ut=o,Xz(n,c),Gr}}),Ie=n=>({type:"px",...n}),Te=n=>({type:"unit",...n}),Za=2;class LO{constructor(t){g(this,"basis");g(this,"min");g(this,"_gap");g(this,"_viewport");g(this,"_unit");this.basis=t.basis,this.min=t.min,this._viewport=t.viewport,this._gap=t.gap??Ie({x:ae,y:ae});const e=this._viewport.x??Br,r=this._viewport.y??so,i=this._gap.x??ae,s=this._gap.y??ae,o=e<=ZA,a=o?e-i*Za:Math.min(Br,e-i*Za),c=o?r-s*Za:Math.min(so,r-s*Za),u=(a-i*(Be-1))/Be,h=(c-s*(ft-1))/ft,f=this.basis.x??0,y=this.basis.y??0,m=this.min.x??0,E=this.min.y??0;this._unit=Ie(o?{x:Math.max(m,u),y:Math.max(E,h)}:{x:Math.max(m,Math.min(f,u)),y:Math.max(E,Math.min(y,h))})}get unit(){return this._unit}get viewport(){return this._viewport}get gap(){return this._gap}toUnits(t){return Te({x:t.x==null?void 0:t.x/(this._unit.x??1),y:t.y==null?void 0:t.y/(this._unit.y??1)})}toPixels(t){const e=this._unit.x??0,r=this._unit.y??0,i=this._gap.x??ae,s=this._gap.y??ae,o=t.x==null?void 0:t.x*e+Math.max(0,t.x-1)*i,a=t.y==null?void 0:t.y*r+Math.max(0,t.y-1)*s;return Ie({x:o,y:a})}}const qr=1e-4,Pt=1e-6,zO=40,OO=24;function Fw(n,t){return Math.max(0,n-t*2)}function Hw(n){const t=[0];for(const e of n)t.push((t[t.length-1]??0)+e);return t}function Zw(n){const t=[0];for(let e=0;e<n.length;e+=1){const r=t[e]??0;t.push(r+n[e]+ae)}return t}function Ww(n,t,e){if(t<0||t>=n.length)return 0;let r=0,i=0;for(let s=t;s<n.length;s+=1){const o=n[s],a=i===0?o:r+ae+o;if(a>e+qr)break;r=a,i+=1}return Math.max(1,i)}function MO(n,t,e){if(t<0||t>=n.length)return 0;let r=0,i=0;for(let s=t;s>=0;s-=1){const o=n[s],a=i===0?o:r+ae+o;if(a>e+qr)break;r=a,i+=1}return Math.max(1,i)}function NO(n,t){if(n.length===0)return 0;let e=0,r=0;for(let i=n.length-1;i>=0;i-=1){const s=n[i],o=r===0?s:e+ae+s;if(o>t+qr)break;e=o,r+=1}return Math.max(1,r)}function Gd(n,t){if(n.length===0)return 0;const e=NO(n,t);return Math.max(0,n.length-e)}function sm(n,t,e){if(n.length===0)return 0;const r=Ww(n,t,e),i=Math.min(n.length,t+r);if(i<=t)return 0;const s=n.slice(t,i);return s.reduce((o,a)=>o+a,0)+Math.max(0,s.length-1)*ae}function zh(n,t,e){const r=n[t]??0;return e-r}function _i(n,t,e,r,i){if(n.length===0)return 0;const s=Gd(n,i),o=t[s]??0,a=Math.max(0,Math.min(o,e));let c=0;for(let F=0;F<s;F+=1){const Y=t[F]??0,V=t[F+1]??Y;if(a>=Y&&a<=V+qr){c=F;break}c=F+1}const u=Math.min(c+1,s),h=t[c]??0,f=t[u]??h,y=Math.max(f-h,qr),m=u===c?0:(a-h)/y,E=Zw(n),x=sm(n,c,i),I=sm(n,u,i),P=(r-x)/2,R=(r-I)/2,B=zh(E,c,P),N=zh(E,u,R);return B+(N-B)*m}function UO(n,t,e,r,i){const s=Gd(n,r),o=t[s]??0;let a=0,c=o;for(let u=0;u<zO;u+=1){const h=(a+c)/2;_i(n,t,h,e,r)>i?a=h:c=h}return(a+c)/2}function FO(n,t,e){const r=Zw(n),[i,s]=t,o=n.slice(i,s+1),a=o.reduce((u,h)=>u+h,0)+Math.max(0,o.length-1)*ae,c=(e-a)/2;return zh(r,i,c)}function HO(n,t,e){const r=Ww(n,t,e);return[t,Math.min(n.length-1,t+r-1)]}function ZO(n,t,e){const r=MO(n,t,e);return[Math.max(0,t-r+1),t]}function WO(n,t){return n[0]===t[0]&&n[1]===t[1]}function BO(n){const{nodeCols:t,nodeWidthsPx:e,viewportWidthPx:r}=n;if(t.length===0||e.length===0)return{viewspans:[],minScroll:0,maxScroll:0};const i=e.length,s=n.gapPx??ae,o=Fw(r,s),a=Hw(t),c=Gd(e,o),u=a[c]??0;function h(I){const P=FO(e,I,r),R=UO(e,a,r,o,P);return{nodeRange:I,anchor:Math.max(0,Math.min(u,R))}}const f=[];for(let I=0;I<i;){const P=HO(e,I,o);f.push(h(P)),I=P[1]+1}const y=h(ZO(e,i-1,o)),m=f.filter(I=>I.nodeRange[0]<y.nodeRange[0]),E=m[m.length-1];return{viewspans:E&&WO(E.nodeRange,y.nodeRange)?m:[...m,y],minScroll:0,maxScroll:u}}function di(n,t){var i;let e=0,r=Number.POSITIVE_INFINITY;for(let s=0;s<n.length;s+=1){const o=Math.abs((((i=n[s])==null?void 0:i.anchor)??0)-t);if(o+Pt<r){r=o,e=s;continue}Math.abs(o-r)<=Pt&&s<e&&(e=s)}return e}function jO(n,t,e){return e<=0?0:Math.max(0,Math.min(e-1,n+t))}function hr(n,t,e){return Math.max(t,Math.min(e,n))}function VO(n,t){var e;for(let r=0;r<n.length;r+=1)if(Math.abs((((e=n[r])==null?void 0:e.anchor)??0)-t)<=Pt)return r;return-1}function GO(n,t,e){var i,s;if(n.length===0)return t;const r=VO(n,t);if(r>=0){const o=n[r+e];return(o==null?void 0:o.anchor)??n[e>0?n.length-1:0].anchor}if(e>0){for(const o of n)if(o.anchor>t+Pt)return o.anchor;return((i=n[n.length-1])==null?void 0:i.anchor)??t}for(let o=n.length-1;o>=0;o-=1){const a=n[o];if(a&&a.anchor<t-Pt)return a.anchor}return((s=n[0])==null?void 0:s.anchor)??t}class qO extends zt{constructor(e){super();g(this,"_scroll",0);g(this,"_minScroll",0);g(this,"_maxScroll",0);g(this,"_viewspans",[]);g(this,"_activeViewspanIndex",0);g(this,"_nodeWidthsPx",[]);g(this,"_boundaryCols",[0]);g(this,"_viewportWidthPx",0);g(this,"_framedViewportWidthPx",0);this._scroll=(e==null?void 0:e.x)??0}get scroll(){return Te({x:this._scroll})}get translate(){return Ie({x:_i(this._nodeWidthsPx,this._boundaryCols,this._scroll,this._viewportWidthPx,this._framedViewportWidthPx)})}get activeViewspan(){return this._viewspans[this._activeViewspanIndex]??null}get viewspans(){return this._viewspans}set scroll(e){const r=hr(e.x??this._scroll,this._minScroll,this._maxScroll);Math.abs(r-this._scroll)<=Pt||(this._scroll=r,this._activeViewspanIndex=di(this._viewspans,this._scroll),this.dispatchEvent(new hi("layout-scroll",{scroll:this.scroll})))}rebuild(e){var y;const r=e.nodeWidths.map(m=>Math.max(0,m.x??0)),i=r.map(m=>e.grid.toPixels(Te({x:m})).x??0),s=e.grid.viewport.x??0,o=e.grid.gap.x??ae,a=BO({nodeCols:r,nodeWidthsPx:i,viewportWidthPx:s,gapPx:o});this._nodeWidthsPx=i,this._boundaryCols=Hw(r),this._viewportWidthPx=s,this._framedViewportWidthPx=Fw(s,o),this._viewspans=a.viewspans,this._minScroll=a.minScroll,this._maxScroll=a.maxScroll;const c=hr(this._scroll,this._minScroll,this._maxScroll);this._activeViewspanIndex=di(this._viewspans,c);const h=e.snap!==!1?((y=this._viewspans[this._activeViewspanIndex])==null?void 0:y.anchor)??c:c,f=hr(h,this._minScroll,this._maxScroll);Math.abs(f-this._scroll)>Pt&&(this._scroll=f,this.dispatchEvent(new hi("layout-scroll",{scroll:this.scroll})))}step(e){var o;if(this._viewspans.length===0)return;const r=jO(this._activeViewspanIndex,e,this._viewspans.length),i=((o=this._viewspans[r])==null?void 0:o.anchor)??this._scroll,s=hr(i,this._minScroll,this._maxScroll);this._activeViewspanIndex=r,!(Math.abs(s-this._scroll)<=Pt)&&(this._scroll=s,this.dispatchEvent(new hi("layout-scroll",{scroll:this.scroll})))}snap(e){var s;if(this._viewspans.length===0)return;const r=e===void 0?((s=this._viewspans[di(this._viewspans,this._scroll)])==null?void 0:s.anchor)??this._scroll:GO(this._viewspans,this._scroll,e),i=hr(r,this._minScroll,this._maxScroll);this._activeViewspanIndex=di(this._viewspans,i),!(Math.abs(i-this._scroll)<=Pt)&&(this._scroll=i,this.dispatchEvent(new hi("layout-scroll",{scroll:this.scroll})))}wheel(e){const r=hr(this._scroll+(e.x??0),this._minScroll,this._maxScroll);Math.abs(r-this._scroll)<=Pt||(this._scroll=r,this._activeViewspanIndex=di(this._viewspans,this._scroll),this.dispatchEvent(new hi("layout-scroll",{scroll:this.scroll})))}wheelPixels(e){const r=e.x??0;if(Math.abs(r)<=qr)return;const i=_i(this._nodeWidthsPx,this._boundaryCols,this._scroll,this._viewportWidthPx,this._framedViewportWidthPx),s=i-r,o=_i(this._nodeWidthsPx,this._boundaryCols,this._maxScroll,this._viewportWidthPx,this._framedViewportWidthPx),a=_i(this._nodeWidthsPx,this._boundaryCols,this._minScroll,this._viewportWidthPx,this._framedViewportWidthPx),c=Math.max(o,Math.min(a,s));if(Math.abs(c-i)<=qr)return;let u=this._minScroll,h=this._maxScroll;for(let y=0;y<OO;y+=1){const m=(u+h)/2;_i(this._nodeWidthsPx,this._boundaryCols,m,this._viewportWidthPx,this._framedViewportWidthPx)>c?u=m:h=m}const f=hr((u+h)/2,this._minScroll,this._maxScroll);Math.abs(f-this._scroll)<=Pt||(this._scroll=f,this._activeViewspanIndex=di(this._viewspans,this._scroll),this.dispatchEvent(new hi("layout-scroll",{scroll:this.scroll})))}}const xu={"stack-above":{left:.25,top:0,width:.5,height:.5},"stack-below":{left:.25,top:.5,width:.5,height:.5},"reorder-before":{left:0,top:0,width:.25,height:1},"reorder-after":{left:.75,top:0,width:.25,height:1}},YO=["stack-above","stack-below","reorder-before","reorder-after"];function Eu(n,t){return{left:n.left+n.width*t.left,top:n.top+n.height*t.top,width:n.width*t.width,height:n.height*t.height}}function dr(n,t,e){return n>=e.left&&n<e.left+e.width&&t>=e.top&&t<e.top+e.height}function Ri(n){return n.artifactID}function Oh(n){return Number.isFinite(n)?Math.max(io,Math.min(Rd,Math.round(n))):io}function KO(n,t,e){const r=n.findIndex(a=>a.type==="card"&&Ri(a)===t);if(r===-1)return n;const i=n[r];if(!i||i.type!=="card")return n;const s=Oh(e);if(i.width===s)return n;const o=[...n];return o[r]={...i,width:s},o}function Bw(n,t){for(const e of n){if(e.type==="card"&&Ri(e)===t)return e;if(e.type==="stack")for(const r of e.children){if(r.type==="card"&&Ri(r)===t)return r;if(r.type==="row"){for(const i of r.children)if(Ri(i)===t)return i}}}return null}function Mh(n){const t=n.height===ft||n.height===Kn?Kn:n.height;return n.width===Be&&n.height===t?n:{...n,width:Be,height:t}}function Nh(n){return n.height===Kn?{...n,height:ft}:n}function JO(n,t,e,r){const i=n.findIndex(h=>h.type==="stack"&&h.id===t);if(i===-1)return n;const s=n[i];if(!s||s.type!=="stack")return n;const o=s.children.find(h=>h.type==="card"&&Ri(h)===e);if(!o||o.type!=="card")return n;const a=s.children.filter(h=>h.type!=="card"||Ri(h)!==e);if(a.length===s.children.length||a.length<1)return n;const c=[...n];if(a.length===1){const[h]=a;c[i]=h.type==="card"?Nh(h):h}else c[i]={...s,children:a};const u=Math.max(0,Math.min(r,c.length));return c.splice(u,0,Nh(o)),c}const XO=je(),QO=je(),eM=50;function tM(n,t){if(n.type!==t.type)return!1;switch(n.type){case"reorder":return t.index===n.index;case"stack":return t.targetCardId===n.targetCardId&&t.position===n.position;case"stack-child-noop":return!0;case"stack-child-extract":return t.toIndex===n.toIndex;case"stack-child-reorder":return t.position===n.position;default:return!1}}function Xe(n){return n.artifactID}function om(n){return n.type==="card"?Xe(n):n.id}function ya(n){return{id:Xe(n),type:"drop-target",width:n.width,height:n.height}}function am(n){return n.map(rM)}function nM(n){return n.type==="drop-target"?{type:"card",artifactID:n.id,width:n.width,height:n.height}:n}function rM(n){return n.type==="drop-target"?{type:"card",artifactID:n.id,width:n.width,height:n.height}:n.type==="stack"?{...n,children:n.children.map(nM)}:n}function jw(n,t){return n.find(r=>r.type==="card"&&Xe(r)===t)??null}function lm(n,t){return n.find(r=>r.type==="stack"&&r.id===t)??null}function iM(n,t){const e=[...t],r=e.findIndex(a=>a.type==="card"&&Xe(a)===n.nodeId);if(r===-1)return null;const i=e[r];if(!i||i.type!=="card")return null;e.splice(r,1);const s=Math.max(0,Math.min(n.lastReorderIndex,e.length));e.splice(s,0,i);const o=e.findIndex(a=>a.type==="card"&&Xe(a)===n.nodeId);return o===-1?null:{base:e,visualDraggedIndex:o}}function sM(n,t,e,r){const i=[...n.base];i.splice(n.visualDraggedIndex,1);const s=i.findIndex(y=>y.type==="card"&&Xe(y)===e.targetCardId),o=s===-1?null:i[s];if(!o||o.type!=="card")return null;const a=jw(r,t.nodeId);if(!a)return null;const c=Mh(a),u=Mh(o),h=ya(c),f=e.position==="above"?[h,u]:[u,h];return i[s]={id:Xe(o),type:"stack",children:f},i}function Au(n,t){return n.parentStackId?aM(n,t):oM(n,t)}function oM(n,t){const e=n.hitTarget;if(e.type==="reorder"){const r=t[n.sourceIndex];if(!r||r.type!=="card")return[...t];const i=[...t];return i.splice(n.sourceIndex,1),i.splice(e.index,0,ya(r)),i}if(e.type==="stack"){const r=iM(n,t);return r?sM(r,n,e,t)??[...t]:[...t]}return[...t]}function aM(n,t){const e=n.hitTarget;switch(e.type){case"stack-child-reorder":return lM(n,t,e.position);case"stack-child-extract":return cM(n,t,e.toIndex);case"stack-child-noop":return uM(n,t);default:return[...t]}}function lM(n,t,e){const r=t.findIndex(y=>y.type==="stack"&&y.id===n.parentStackId);if(r===-1)return[...t];const i=t[r];if(!i||i.type!=="stack")return[...t];if(!i.children.every(y=>y.type==="card"))return[...t];const s=i.children,o=s.findIndex(y=>Xe(y)===n.nodeId);if(o===-1)return[...t];const a=s[o],c=s.filter(y=>Xe(y)!==n.nodeId),u=ya(a),h=e==="above"?[u,...c]:[...c,u],f=[...t];return f[r]={...i,children:h},f}function cM(n,t,e){if(!n.parentStackId)return[...t];const r=JO(t,n.parentStackId,n.nodeId,e);if(r===t)return[...t];const i=r.findIndex(a=>a.type==="card"&&Xe(a)===n.nodeId);if(i===-1)return[...t];const s=r[i];if(!s||s.type!=="card")return[...t];const o=[...r];return o[i]=ya(s),o}function uM(n,t){const e=t.findIndex(c=>c.type==="stack"&&c.id===n.parentStackId);if(e===-1)return[...t];const r=t[e];if(!r||r.type!=="stack")return[...t];const i=r.children.findIndex(c=>c.type==="card"&&Xe(c)===n.nodeId);if(i===-1)return[...t];const s=r.children[i];if(!s||s.type!=="card")return[...t];const o=[...t],a=[...r.children];return a[i]=ya(s),o[e]={...r,children:a},o}function hM(n,t){return t.find(r=>r.type==="stack"&&r.id===n.id)?n.id:Dd()}function dM(n,t,e){if(n.type==="drop-target"){const r=Bw(t,e);if(!r)throw new Error(`finalize: missing dragged card ${e}`);return Mh(r)}return n}function pM(n,t,e){const r=n.children.map(s=>dM(s,t,e));return{id:hM(n,t),type:"stack",children:r}}function fM(n,t,e){if(n.type==="drop-target"){const r=Bw(t,e);if(!r)throw new Error(`finalize: missing dragged card ${e}`);return jw(t,e)!==null?r:Nh(r)}return n.type==="card"||n.type==="row"?n:pM(n,t,e)}function gM(n,t,e){return n.map(r=>fM(r,t,e))}function mM(n,t){return JSON.stringify(n)===JSON.stringify(t)}const vM=ma(zt);class yM extends vM{constructor(e={}){super();g(this,"pending",null);g(this,"active",null)}start(e){if(this.pending||this.active)return;const r=e.pointer.x??0,i=e.pointer.y??0;this.pending={startX:r,startY:i,grabOffsetX:e.grabOffset.x??0,grabOffsetY:e.grabOffset.y??0,nodeId:e.nodeId,sourceIndex:e.source.index,parentStackId:e.source.parentId,width:e.size.x??0,height:e.size.y??0,baseLayout:e.layout}}update(e){const r=e.pointer.x??0,i=e.pointer.y??0,s=this.pending;if(s){const u=r-s.startX,h=i-s.startY;Math.hypot(u,h)>=BA&&(this.pending=null,this.active={...s,pointerX:r,pointerY:i,hitTarget:{type:"reorder",index:s.sourceIndex},lastReorderIndex:s.sourceIndex},this.emitDrag(),this.dispatchEvent(new oe("change")));return}if(!this.active)return;const o=Au(this.active,this.active.baseLayout),a=this.getHitTargetForPointer(r,i,e,o),c=a.type==="reorder"?a.index:this.active.lastReorderIndex;this.active.pointerX===r&&this.active.pointerY===i&&tM(this.active.hitTarget,a)&&this.active.lastReorderIndex===c||(this.active={...this.active,pointerX:r,pointerY:i,hitTarget:a,lastReorderIndex:c},this.emitDrag(),this.dispatchEvent(new oe("change")))}drop(){if(this.pending){this.cancel();return}if(!this.active)return;const e=this.active.baseLayout;let r=null;try{const i=Au(this.active,e),s=gM(i,e,this.active.nodeId);mM(s,e)||(r=s)}catch{r=null}this.reset(),r&&this.dispatchEvent(new QO("drop",{layout:r})),this.dispatchEvent(new oe("change"))}cancel(){!this.pending&&!this.active||(this.reset(),this.dispatchEvent(new oe("change")))}dispose(){this.reset()}get status(){return this.active?"active":this.pending?"pending":"idle"}reset(){this.pending=null,this.active=null}emitDrag(){if(!this.active)return;const e=Au(this.active,this.active.baseLayout);this.dispatchEvent(new XO("drag",{nodeId:this.active.nodeId,source:{index:this.active.sourceIndex,parentId:this.active.parentStackId},grabOffset:Ie({x:this.active.grabOffsetX,y:this.active.grabOffsetY}),pointer:Ie({x:this.active.pointerX,y:this.active.pointerY}),size:Ie({x:this.active.width,y:this.active.height}),projectedLayout:e}))}getHitTargetForPointer(e,r,i,s){return this.active?this.isPointerInsideDragBounds(e,r,i.viewport)?this.active.parentStackId?this.getStackChildHitTarget(e,r,i,s):this.getTopLevelCardHitTarget(e,r,i,s):{type:"reorder",index:this.active.sourceIndex}:{type:"reorder",index:0}}getStackChildHitTarget(e,r,i,s){var u;if(!((u=this.active)!=null&&u.parentStackId))return{type:"stack-child-noop"};const o=this.getSourceStackInteractionRect(i.geometry);if(o&&dr(e,r,o)){const h=o.top+o.height/2;return{type:"stack-child-reorder",position:r<h?"above":"below"}}const a=this.getSourceRemainingSiblingRect(i.geometry);if(a&&dr(e,r,a)){const h=a.top+a.height/2;return{type:"stack-child-reorder",position:r<h?"above":"below"}}return{type:"stack-child-extract",toIndex:this.getTopLevelReorderIndexForPointer(e,r,i,s)}}getSourceRemainingSiblingRect(e){var s,o;if(!((s=this.active)!=null&&s.parentStackId))return;const r=lm(this.active.baseLayout,this.active.parentStackId);if(!r)return;const i=r.children.find(a=>{var c;return a.type==="card"&&Xe(a)!==((c=this.active)==null?void 0:c.nodeId)});if(i)return(o=e.find(a=>a.id===Xe(i)))==null?void 0:o.rect}getSourceStackInteractionRect(e){var o;if(!((o=this.active)!=null&&o.parentStackId))return;const r=e.find(a=>{var c;return a.id===((c=this.active)==null?void 0:c.parentStackId)});if(r)return this.active.sourceStackRect=r.rect,r.rect;const i=lm(this.active.baseLayout,this.active.parentStackId);if(!i)return this.active.sourceStackRect;const s=i.children.find(a=>{var c;return a.type==="card"&&Xe(a)!==((c=this.active)==null?void 0:c.nodeId)});if(s){const a=e.find(c=>c.id===Xe(s));if(a)return a.rect}return this.active.sourceStackRect}getTopLevelCardHitTarget(e,r,i,s){var m,E,x;const o=this.getTopLevelZoneNodes(i.geometry,s);if(o.length===0)return{type:"reorder",index:((m=this.active)==null?void 0:m.sourceIndex)??0};const c=(i.effectiveVelocity??0)<=eM;for(const I of o){const P=I.rect;if(!dr(e,r,P))continue;const R=this.resolveTopLevelTargetForCard(e,r,I,I.logicalIndex,c);if(R)return R;if(!c&&((E=this.active)!=null&&E.hitTarget))return this.active.hitTarget.type==="reorder"?this.active.hitTarget:this.active.hitTarget.type==="stack"&&this.active.hitTarget.targetCardId===I.id?this.active.hitTarget:{type:"reorder",index:e<this.active.pointerX?I.logicalIndex:I.logicalIndex+1}}const u=this.getNearestTargetableZone(e,o);if(!u)return{type:"reorder",index:((x=this.active)==null?void 0:x.sourceIndex)??0};const h=Math.max(u.rect.left,Math.min(u.rect.left+u.rect.width,e)),f=this.resolveTopLevelTargetForCard(h,r,u,u.logicalIndex,c);if(f)return f;const y=u.rect.left+u.rect.width/2;return{type:"reorder",index:e<y?u.logicalIndex:u.logicalIndex+1}}getTopLevelReorderIndexForPointer(e,r,i,s){var u,h;const o=this.getTopLevelZoneNodes(i.geometry,s);if(o.length===0)return((u=this.active)==null?void 0:u.sourceIndex)??0;for(const f of o){if(!dr(e,r,f.rect))continue;const y=Eu(f.rect,xu["reorder-before"]);if(dr(e,r,y))return f.logicalIndex;const m=Eu(f.rect,xu["reorder-after"]);if(dr(e,r,m))return f.logicalIndex+1}const a=this.getNearestTargetableZone(e,o);if(!a)return((h=this.active)==null?void 0:h.sourceIndex)??0;const c=a.rect.left+a.rect.width/2;return e<c?a.logicalIndex:a.logicalIndex+1}getTopLevelZoneNodes(e,r){const i=new Map(r.map(a=>[om(a),a])),s=[];let o=0;for(const a of e){const c=i.get(a.id);c&&c.type!=="drop-target"&&(c.type==="card"||c.type==="stack")&&(s.push({id:om(c),rect:a.rect,logicalIndex:o}),o+=1)}return s}resolveTopLevelTargetForCard(e,r,i,s,o){const a=i.rect;for(const c of YO){if(!o&&(c==="stack-above"||c==="stack-below"))continue;const u=xu[c],h=Eu(a,u);if(dr(e,r,h))return c==="stack-above"?{type:"stack",targetCardId:i.id,position:"above"}:c==="stack-below"?{type:"stack",targetCardId:i.id,position:"below"}:c==="reorder-before"?{type:"reorder",index:s}:{type:"reorder",index:s+1}}return null}getNearestTargetableZone(e,r){let i=null,s=Number.POSITIVE_INFINITY;for(const o of r){const a=o.rect.left,c=o.rect.left+o.rect.width,u=e<a?a-e:e>c?e-c:0;u<s&&(s=u,i=o)}return i}isPointerInsideDragBounds(e,r,i){return e>=i.left&&e<=i.left+i.width&&r>=i.top&&r<=i.top+i.height}}const bM=100,wM=1e3;class SM{constructor(t,e){g(this,"_status","idle");g(this,"cumulativeOffset",0);g(this,"samples",[]);g(this,"scroll");g(this,"setAnimating");this.scroll=t,this.setAnimating=e}get status(){return this._status}start(t){this._status="active",this.cumulativeOffset=0,this.samples=[{time:t,offset:0}]}move(t,e){this._status==="active"&&(this.cumulativeOffset+=e,this.samples.push({time:t,offset:this.cumulativeOffset}),this.pruneSamples(t),this.setAnimating(!1),this.scroll.wheelPixels(Ie({x:-e})))}end(){if(this._status!=="active")return;const t=this.computeVelocityPxPerSec();this.setAnimating(!0),Math.abs(t)<VA?this.scroll.snap():this.scroll.snap(t>0?-1:1),this.reset()}cancel(){this._status==="active"&&(this.setAnimating(!0),this.scroll.snap(),this.reset())}reset(){this._status="idle",this.cumulativeOffset=0,this.samples=[]}pruneSamples(t){const e=t-bM;let r=0;for(let i=0;i<this.samples.length;i+=1){if(this.samples[i].time>=e){r=i;break}r=i+1}if(r>0){const i=Math.max(0,r-1);this.samples=this.samples.slice(i)}}computeVelocityPxPerSec(){if(this.samples.length<2)return 0;const t=this.samples[0],e=this.samples[this.samples.length-1],r=e.time-t.time;return r<=0?0:(e.offset-t.offset)/r*wM}}function Ti(n){return n.artifactID}function _M(n){return n.type==="card"?Ti(n):n.id}function kM({baseLayout:n,visibleLayout:t,resolved:e,cardsByID:r,grid:i,dragState:s,isForeground:o}){var E;const a=new Map(t.map(x=>[_M(x),x])),c=e.nodes.map((x,I)=>{const P=a.get(x.id),R=[];for(const N of x.cards){if(s&&N.artifactID===s.nodeId){R.push({key:`placeholder:${N.artifactID}`,kind:"placeholder",card:null,placement:N,isTopLevelCard:!1,isDragged:!1,sourceStackId:s.source.parentId??null});continue}const F=r.get(N.artifactID);F&&R.push({key:Ti(F),kind:"card",card:F,placement:N,isTopLevelCard:(P==null?void 0:P.type)==="card",isDragged:!1,sourceStackId:null})}if(s!=null&&s.source.parentId&&x.id===s.source.parentId){const N=r.get(s.nodeId);if(N){const F={key:Ti(N),kind:"card",card:N,placement:null,isTopLevelCard:!1,isDragged:!0,sourceStackId:s.source.parentId},Y=xM(n,s.source.parentId,s.nodeId),V=Y<0?R.length:Math.min(Y,R.length);R.splice(V,0,F)}}const B=!!(s&&(P==null?void 0:P.type)==="card"&&Ti(P)===s.nodeId);return{key:B?`placeholder:${x.id}`:x.id,kind:"visible",nodeId:x.id,widthPx:i.toPixels(Te({x:x.width})).x??0,widthUnits:x.width,layoutIndex:I,isForeground:o(I),isPlaceholder:B,slots:R}});if(!s||s.source.parentId&&a.has(s.source.parentId))return c;const u=r.get(s.nodeId);if(!u)return c;const h=s.source.parentId??s.nodeId,f=((E=br(n).nodes[s.source.index])==null?void 0:E.width)??Be,y={key:h,kind:"ghost",nodeId:h,widthPx:0,widthUnits:f,layoutIndex:null,isForeground:!1,isPlaceholder:!1,slots:[{key:Ti(u),kind:"card",card:u,placement:null,isTopLevelCard:!s.source.parentId,isDragged:!0,sourceStackId:s.source.parentId??null}]},m=Math.max(0,Math.min(s.source.index,c.length));return c.splice(m,0,y),c}function cm(n){if(!n)return null;const t=n.projectedLayout,e=n.source.parentId;for(const i of t){if(i.type!=="stack")continue;const s=i.children.findIndex(u=>u.type==="drop-target");if(s===-1)continue;const o=s===0?"above":"below";if(e&&e===i.id)return`stack-child-reorder:${o}`;const a=i.children.find(u=>u.type!=="drop-target");return`stack:${(a==null?void 0:a.type)==="card"?a.artifactID:(a==null?void 0:a.id)??""}:${o}`}const r=t.findIndex(i=>i.type==="drop-target");return r===-1?"none":e?`stack-child-extract:${r}`:`reorder:${r}`}function xM(n,t,e){const r=n.find(i=>i.type==="stack"&&i.id===t);return!r||r.type!=="stack"?-1:r.children.findIndex(i=>i.type==="card"&&Ti(i)===e)}const EM=2,um=1e3,pi=1e-4,AM=120,hm=!1;function dm(n){return n.replace(/["\\]/g,"\\$&")}function be(n){return n.artifactID}function Pi(n){return n.type==="card"?be(n):n.id}function pm(n,t,e){if(n===0)return 0;const r=t.toPixels(Te({y:ft})).y??0;return(e-r)/EM}function $u(n){const t=n.clientWidth>0?n.clientWidth:Br,e=n.clientHeight>0?n.clientHeight:so;let r=0,i=0;if(n.isConnected){const u=getComputedStyle(n);r=parseFloat(u.paddingTop)||0,i=parseFloat(u.paddingBottom)||0}const s=Math.max(1,e-r-i),o=n.isConnected&&parseFloat(getComputedStyle(n).getPropertyValue("--layout-virtual-bottom-balance"))||0,a=so+ae*2,c=Math.min(o,Math.max(0,s-a));return{width:t,height:s-c,offsetY:r}}function $M(n){return n.shiftKey&&n.deltaX===0&&n.deltaY!==0?n.deltaY:n.deltaX}function TM(n){var e;if(!(n instanceof Element))return!1;const t=n.closest("input, textarea, select, [contenteditable], [role='textbox'], [role='searchbox'], [role='combobox'], [role='spinbutton'], [role='slider']");return t?t.hasAttribute("contenteditable")?((e=t.getAttribute("contenteditable"))==null?void 0:e.toLowerCase())!=="false":!0:!1}class IM extends Event{constructor(e){super("scroll",{bubbles:!0,composed:!0});g(this,"scrollPosition");this.scrollPosition=e}}class Vw extends Event{constructor(e){super("layout-change",{bubbles:!0,composed:!0});g(this,"layout");this.layout=e}}class CM extends HTMLElement{constructor(){super();g(this,"_layout",[]);g(this,"_scrollPosition",0);g(this,"layoutGrid",null);g(this,"layoutScroll",new qO(Te({x:0})));g(this,"scrollModelKey","");g(this,"resizeObserver",null);g(this,"renderPending",!1);g(this,"animateNextRender",!0);g(this,"swipeGesture",new SM(this.layoutScroll,e=>{this.animateNextRender=e}));g(this,"swipePointerId",null);g(this,"swipeStartX",0);g(this,"swipeStartY",0);g(this,"swipeLastX",0);g(this,"swipeActive",!1);g(this,"swipeShouldSuppressClick",!1);g(this,"swipeListenersAttached",!1);g(this,"wheelIdleSnapTimer",null);g(this,"dragController",new yM);g(this,"dragState",null);g(this,"activeDragPointerId",null);g(this,"dragListenersAttached",!1);g(this,"dragFrame",0);g(this,"lastDragFrameTime",0);g(this,"lastPointerX",0);g(this,"lastPointerY",0);g(this,"pointerVelocityPxPerSec",0);g(this,"scrollVelocityPxPerSec",0);g(this,"motionSampleTime",0);g(this,"motionSampleX",0);g(this,"motionSampleY",0);g(this,"lastDragControllerStatus","idle");g(this,"lastProjectedDragLayoutSignature","");g(this,"lastDragDropIntent",null);g(this,"lastActivePlaceholderId",null);g(this,"draggedSlotElement",null);g(this,"draggedSlotContainingBlock",null);g(this,"currentDragPreviewSize",null);g(this,"dragTrackOffsetXPx",0);g(this,"previousProjectedLayoutForOffset",null);g(this,"resizeState",null);g(this,"resizeListenersAttached",!1);g(this,"_cards",new Map);g(this,"onDragControllerChange",()=>{const e=this.dragController.status;e!==this.lastDragControllerStatus&&(this.lastDragControllerStatus=e,e==="idle"&&(this.dragState=null,this.resetDragPreviewState()),this.scheduleRender())});g(this,"onDragControllerDrag",e=>{var c;const r=JSON.stringify(e.projectedLayout),i=cm(e),s=PM(e.projectedLayout);if(r!==this.lastProjectedDragLayoutSignature||i!==this.lastDragDropIntent||s!==this.lastActivePlaceholderId){const u=am(e.projectedLayout),h=this.shouldApplyTrackOffset(e.projectedLayout,e.source.parentId),f=e.source.parentId?this.getStackChildAnchorCardId(e.source.parentId,e.nodeId):null;this.dragTrackOffsetXPx=h?this.computeDragTrackOffset(this.previousProjectedLayoutForOffset,u,e.nodeId,e.source.parentId,f,this.dragTrackOffsetXPx):0,this.previousProjectedLayoutForOffset=u,this.lastProjectedDragLayoutSignature=r,this.lastDragDropIntent=i,this.lastActivePlaceholderId=s,this.dragState={nodeId:e.nodeId,source:e.source,grabOffset:e.grabOffset,pointer:e.pointer,size:e.size,projectedLayout:e.projectedLayout},this.scheduleRender();return}this.dragState={nodeId:e.nodeId,source:e.source,grabOffset:e.grabOffset,pointer:e.pointer,size:e.size,projectedLayout:((c=this.dragState)==null?void 0:c.projectedLayout)??e.projectedLayout};const a=this.getCachedDraggedSlotElement(e.nodeId);a&&this.writeDraggedSlotPosition(a,this.dragState)});g(this,"onDragControllerDrop",e=>{this.dragState=null,this.resetDragPreviewState(),this.commitLayout(e.layout)});g(this,"onLayoutScrollInternal",e=>{const i=e.scroll.x??0;Math.abs(i-this._scrollPosition)<pi||(this._scrollPosition=i,this.emitScrollPositionChanged(i),this.scheduleRender())});g(this,"handleKeyDown",e=>{if(e.key==="Escape"&&this.dragController.status!=="idle"){e.preventDefault(),this.stopDragFrameLoop(),this.releaseActiveDragPointerCapture(),this.dragController.cancel(),this.detachDragListeners();return}this.dragController.status==="idle"&&(TM(e.target)||(e.key==="ArrowRight"?(e.preventDefault(),this.stepFilmstrip(1)):e.key==="ArrowLeft"&&(e.preventDefault(),this.stepFilmstrip(-1))))});g(this,"handleWheel",e=>{if(this._layout.length===0)return;const r=$M(e);Math.abs(r)<pi||(e.preventDefault(),this.applyHorizontalWheel(r))});g(this,"handleWindowMessage",e=>{if(this._layout.length===0)return;const r=this.findManagedArtifactFrame(e.source);if(r&&this.isTrustedArtifactFrameMessage(e,r)){if(G0(e.data)){const i=typeof performance<"u"?performance.now():Date.now();this.swipeGesture.status==="idle"&&this.swipeGesture.start(i),this.swipeGesture.move(i,e.data.deltaX);return}if(q0(e.data)){this.swipeGesture.status==="active"&&this.swipeGesture.end();return}}});g(this,"handleArtifactFilmstripKey",e=>{this._layout.length!==0&&this.stepFilmstrip(e.direction)});g(this,"handleArtifactWheel",e=>{this._layout.length!==0&&(Math.abs(e.deltaX)<pi||this.applyHorizontalWheel(e.deltaX))});g(this,"handlePointerDown",e=>{if(e.button!==0||this.dragController.status!=="idle"||this.resizeState)return;const r=e.target;if(!(r instanceof Element))return;const i=r.closest("[data-resize-handle]");if(i){this.beginResize(e,i);return}const s=r.closest("[drag-handle]")!==null,o=r.closest("button, input, textarea, select, a, [role='button']")!==null;if(e.pointerType==="touch"&&!s&&!o&&this._layout.length>0){this.beginSwipeTracking(e);return}if(!s){if(!o){const f=r.closest(".node");if(f&&!f.hasAttribute("data-foreground")){const y=f.getAttribute("layout-node");if(y!==null){const m=parseInt(y,10);if(!isNaN(m)){const E=this.findViewspanContainingNode(m);if(E){this.clearWheelIdleSnap(),this.animateNextRender=!0,this.layoutScroll.scroll=Te({x:E.anchor}),e.preventDefault(),e.stopPropagation();return}}}}}return}if(o)return;const a=r.closest(".card-slot");if(!a)return;const c=a.getAttribute("data-layout-card-id");if(!c)return;const u=DM(this._layout,c);if(!u)return;const h=a.getBoundingClientRect();this.lastPointerX=e.clientX,this.lastPointerY=e.clientY,this.resetMotionTracking(e.clientX,e.clientY),this.focus(),this.dragController.start({nodeId:c,source:{index:u.topLevelIndex,parentId:u.sourceStackId},pointer:Ie({x:e.clientX,y:e.clientY}),grabOffset:Ie({x:e.clientX-h.left,y:e.clientY-h.top}),size:Ie({x:h.width,y:h.height}),layout:this._layout}),this.attachDragListeners(),this.activeDragPointerId=e.pointerId;try{this.setPointerCapture(e.pointerId)}catch{}e.preventDefault()});g(this,"handleResizePointerMove",e=>{const r=this.resizeState;if(!r||e.pointerId!==r.pointerId)return;const i=this.layoutGrid,s=((i==null?void 0:i.unit.x)??Ln)+ae;if(s<=0)return;const o=e.clientX-r.startClientX,a=Oh(r.startWidth+o/s);a!==r.currentWidth&&(r.currentWidth=a,this.scheduleRender())});g(this,"handleResizePointerUp",e=>{const r=this.resizeState;if(!r||e.pointerId!==r.pointerId)return;const i=r.currentWidth,s=r.startWidth,o=r.cardId;this.endResize(e.pointerId),i!==s?this.commitLayout(KO(this._layout,o,i)):this.scheduleRender()});g(this,"handleResizePointerCancel",e=>{!this.resizeState||e.pointerId!==this.resizeState.pointerId||(this.endResize(e.pointerId),this.scheduleRender())});g(this,"handleResizeWindowBlur",()=>{this.resizeState&&(this.endResize(this.resizeState.pointerId),this.scheduleRender())});g(this,"handleResizeKeyDown",e=>{this.resizeState&&e.key==="Escape"&&(e.preventDefault(),this.endResize(this.resizeState.pointerId),this.scheduleRender())});g(this,"handleSwipePointerMove",e=>{if(this.swipePointerId===null||e.pointerId!==this.swipePointerId)return;if(!this.swipeActive){const i=e.clientX-this.swipeStartX,s=e.clientY-this.swipeStartY,o=Math.abs(i),a=Math.abs(s);if(o<dg&&a<dg)return;if(a>=o){this.endSwipeTracking();return}this.swipeActive=!0,this.swipeShouldSuppressClick=!0;try{this.setPointerCapture(e.pointerId)}catch{}this.swipeGesture.start(e.timeStamp)}const r=e.clientX-this.swipeLastX;this.swipeLastX=e.clientX,this.swipeGesture.move(e.timeStamp,r),e.preventDefault()});g(this,"handleSwipePointerUp",e=>{this.swipePointerId===null||e.pointerId!==this.swipePointerId||(this.swipeActive&&this.swipeGesture.end(),this.releaseSwipePointerCapture(e.pointerId),this.endSwipeTracking())});g(this,"handleSwipePointerCancel",e=>{this.swipePointerId===null||e.pointerId!==this.swipePointerId||(this.swipeActive&&this.swipeGesture.cancel(),this.releaseSwipePointerCapture(e.pointerId),this.endSwipeTracking())});g(this,"handleSwipeWindowBlur",()=>{this.swipePointerId!==null&&this.swipeActive&&this.swipeGesture.cancel(),this.swipePointerId!==null&&this.releaseSwipePointerCapture(this.swipePointerId),this.endSwipeTracking()});g(this,"handleSwipeClick",e=>{this.swipeShouldSuppressClick&&(this.swipeShouldSuppressClick=!1,e.preventDefault(),e.stopPropagation(),typeof e.stopImmediatePropagation=="function"&&e.stopImmediatePropagation())});g(this,"handleWindowPointerMove",e=>{this.activeDragPointerId!==null&&e.pointerId!==this.activeDragPointerId||(this.lastPointerX=e.clientX,this.lastPointerY=e.clientY,this.updatePointerVelocity(e.clientX,e.clientY),this.syncDragTargetForLatestPointer(),this.ensureDragFrameLoop())});g(this,"handleWindowPointerUp",e=>{this.activeDragPointerId!==null&&e.pointerId!==this.activeDragPointerId||(this.stopDragFrameLoop(),this.releasePointerCaptureForEvent(e.pointerId),this.dragController.drop(),this.clearMotionTracking(),this.detachDragListeners())});g(this,"handleWindowPointerCancel",e=>{if(!(this.activeDragPointerId!==null&&e.pointerId!==this.activeDragPointerId)){if(this.dragController.status==="active"){this.ensureDragFrameLoop();return}this.stopDragFrameLoop(),this.releasePointerCaptureForEvent(e.pointerId),this.dragController.cancel(),this.clearMotionTracking(),this.detachDragListeners()}});g(this,"handleWindowBlur",()=>{this.releaseActiveDragPointerCapture(),this.stopDragFrameLoop(),this.dragController.cancel(),this.clearMotionTracking(),this.detachDragListeners()});g(this,"runDragFrame",e=>{if(this.dragController.status==="idle"){this.dragFrame=0;return}const r=Math.max(0,e-this.lastDragFrameTime)/um;this.lastDragFrameTime=e,this.samplePointerVelocityAt(e,this.lastPointerX,this.lastPointerY);const i=this.getBoundingClientRect(),s=this.clampPointerToViewport(this.lastPointerX,this.lastPointerY,i),o=this.getDragEdgeScrollDeltaPixels(s.x,i,r);this.scrollVelocityPxPerSec=r>pi?Math.abs(o)/r:0,Math.abs(o)>pi&&(this.animateNextRender=!1,this.layoutScroll.wheelPixels(Ie({x:o}))),this.dragController.status==="active"&&this.syncDragTarget(s.x,s.y,i),this.dragFrame=requestAnimationFrame(this.runDragFrame)});this.dragController.addEventListener("change",this.onDragControllerChange),this.dragController.addEventListener("drag",this.onDragControllerDrag),this.dragController.addEventListener("drop",this.onDragControllerDrop),this.layoutScroll.addEventListener("layout-scroll",this.onLayoutScrollInternal)}set cards(e){this._cards!==e&&(this._cards=e,this.scheduleRender())}get cards(){return this._cards}set layout(e){const r=[...e];this.dragController.status!=="idle"&&JSON.stringify(r)===JSON.stringify(this._layout)||(this._layout=r,this.stopDragFrameLoop(),this.dragController.cancel(),this.resizeState&&this.endResize(this.resizeState.pointerId),this.scrollModelKey="",this.syncScrollModel(),this.layoutScroll.scroll=Te({x:this._scrollPosition}),this.scheduleRender())}get layout(){return this._layout}commitLayout(e){this.layout=e,this.emitLayoutChanged()}set scrollPosition(e){Math.abs(e-this._scrollPosition)<pi||(this.animateNextRender=!1,this.syncScrollModel(),this.layoutScroll.scroll=Te({x:e}))}get scrollPosition(){return this._scrollPosition}focusArtifact(e){const r=br(this._layout),i=r.nodes.findIndex(o=>o.cards.some(a=>a.artifactID===e));if(i<0)return;let s=0;for(let o=0;o<i;o+=1)s+=r.nodes[o].width;this.scrollPosition=s,queueMicrotask(()=>{const o=this.querySelector(`.card-slot[data-layout-card-id="${dm(e)}"]`);if(!o)return;o.classList.remove("card-focus-pulse"),o.offsetHeight,o.classList.add("card-focus-pulse");const a=()=>{o.classList.remove("card-focus-pulse"),o.removeEventListener("animationend",a)};o.addEventListener("animationend",a)})}connectedCallback(){this.hasAttribute("tabindex")||(this.tabIndex=0),this.focus(),this.addEventListener("keydown",this.handleKeyDown),this.addEventListener("wheel",this.handleWheel,{passive:!1}),this.addEventListener("pointerdown",this.handlePointerDown),this.addEventListener("artifact-wheel",this.handleArtifactWheel),this.addEventListener("artifact-filmstrip-key",this.handleArtifactFilmstripKey),window.addEventListener("message",this.handleWindowMessage),typeof ResizeObserver<"u"&&(this.resizeObserver=new ResizeObserver(()=>this.render()),this.resizeObserver.observe(this)),this.render()}disconnectedCallback(){var e;this.removeEventListener("keydown",this.handleKeyDown),this.removeEventListener("wheel",this.handleWheel),this.removeEventListener("pointerdown",this.handlePointerDown),this.removeEventListener("artifact-wheel",this.handleArtifactWheel),this.removeEventListener("artifact-filmstrip-key",this.handleArtifactFilmstripKey),window.removeEventListener("message",this.handleWindowMessage),(e=this.resizeObserver)==null||e.disconnect(),this.resizeObserver=null,this.clearWheelIdleSnap(),this.detachDragListeners(),this.swipeGesture.status==="active"&&this.swipeGesture.cancel(),this.swipePointerId!==null&&this.releaseSwipePointerCapture(this.swipePointerId),this.endSwipeTracking(),this.dragController.removeEventListener("change",this.onDragControllerChange),this.dragController.removeEventListener("drag",this.onDragControllerDrag),this.dragController.removeEventListener("drop",this.onDragControllerDrop),this.layoutScroll.removeEventListener("layout-scroll",this.onLayoutScrollInternal),this.dragController.dispose(),this.stopDragFrameLoop(),this.resizeState&&this.endResize(this.resizeState.pointerId)}scheduleRender(){this.renderPending||(this.renderPending=!0,queueMicrotask(()=>{this.renderPending=!1,this.render()}))}createGrid(e,r){return new LO({basis:Ie({x:Ln,y:Ln}),min:Ie({x:ug,y:ug}),viewport:Ie({x:e,y:r}),gap:Ie({x:ae,y:ae})})}syncScrollModel(){const e=$u(this),i=br(this._layout).nodes.map(o=>o.width),s=`${e.width}x${e.height}:${i.join(",")}`;s===this.scrollModelKey&&this.layoutGrid||(this.scrollModelKey=s,this.layoutGrid=this.createGrid(e.width,e.height),this.layoutScroll.rebuild({grid:this.layoutGrid,nodeWidths:i.map(o=>Te({x:o})),snap:hm}))}emitScrollPositionChanged(e){this.dispatchEvent(new IM(e))}emitLayoutChanged(){this.dispatchEvent(new Vw([...this._layout]))}stepFilmstrip(e){this.clearWheelIdleSnap(),this.syncScrollModel(),this.animateNextRender=!0,this.layoutScroll.step(e)}applyHorizontalWheel(e){this.syncScrollModel();const r=this.layoutGrid;if(!r)return;this.animateNextRender=!1;const i=r.toUnits(Ie({x:e}));this.layoutScroll.wheel(Te({x:i.x??0}))}scheduleWheelIdleSnap(){this.clearWheelIdleSnap(),this.wheelIdleSnapTimer=setTimeout(()=>{this.wheelIdleSnapTimer=null,this.animateNextRender=!0,this.layoutScroll.snap()},AM)}clearWheelIdleSnap(){this.wheelIdleSnapTimer!==null&&(clearTimeout(this.wheelIdleSnapTimer),this.wheelIdleSnapTimer=null)}findViewspanContainingNode(e){const r=this.layoutScroll.viewspans,i=this._scrollPosition;let s=null,o=Number.POSITIVE_INFINITY;for(const a of r)if(e>=a.nodeRange[0]&&e<=a.nodeRange[1]){const c=Math.abs(a.anchor-i);c<o&&(o=c,s=a)}return s}findManagedArtifactFrame(e){if(!e)return null;const r=this.querySelectorAll("iframe.artifact-frame");for(const i of r)if(i.contentWindow===e)return i;return null}isTrustedArtifactFrameMessage(e,r){if(e.origin==="null")return!0;const i=this.getArtifactFrameOrigin(r);return i===null||e.origin===i}getArtifactFrameOrigin(e){const r=e.getAttribute("src")??e.src;if(!r)return null;try{return new URL(r,window.location.href).origin}catch{return null}}beginResize(e,r){const i=r.getAttribute("data-resize-handle");if(!i)return;const s=this._layout.find(a=>a.type==="card"&&be(a)===i);if(!s)return;const o=Oh(typeof s.width=="number"?s.width:Be);this.resizeState={cardId:i,pointerId:e.pointerId,startClientX:e.clientX,startWidth:o,currentWidth:o},this.attachResizeListeners();try{this.setPointerCapture(e.pointerId)}catch{}e.preventDefault(),e.stopPropagation()}attachResizeListeners(){this.resizeListenersAttached||(window.addEventListener("pointermove",this.handleResizePointerMove),window.addEventListener("pointerup",this.handleResizePointerUp),window.addEventListener("pointercancel",this.handleResizePointerCancel),window.addEventListener("blur",this.handleResizeWindowBlur),this.addEventListener("keydown",this.handleResizeKeyDown),this.resizeListenersAttached=!0)}detachResizeListeners(){this.resizeListenersAttached&&(window.removeEventListener("pointermove",this.handleResizePointerMove),window.removeEventListener("pointerup",this.handleResizePointerUp),window.removeEventListener("pointercancel",this.handleResizePointerCancel),window.removeEventListener("blur",this.handleResizeWindowBlur),this.removeEventListener("keydown",this.handleResizeKeyDown),this.resizeListenersAttached=!1)}endResize(e){this.resizeState=null,this.detachResizeListeners();try{this.hasPointerCapture(e)&&this.releasePointerCapture(e)}catch{}}beginSwipeTracking(e){this.swipePointerId=e.pointerId,this.swipeStartX=e.clientX,this.swipeStartY=e.clientY,this.swipeLastX=e.clientX,this.swipeActive=!1,this.swipeShouldSuppressClick=!1,this.attachSwipeListeners()}attachSwipeListeners(){this.swipeListenersAttached||(window.addEventListener("pointermove",this.handleSwipePointerMove),window.addEventListener("pointerup",this.handleSwipePointerUp),window.addEventListener("pointercancel",this.handleSwipePointerCancel),this.addEventListener("pointermove",this.handleSwipePointerMove),this.addEventListener("pointerup",this.handleSwipePointerUp),this.addEventListener("pointercancel",this.handleSwipePointerCancel),window.addEventListener("blur",this.handleSwipeWindowBlur),this.addEventListener("click",this.handleSwipeClick,{capture:!0}),this.swipeListenersAttached=!0)}detachSwipeListeners(){this.swipeListenersAttached&&(window.removeEventListener("pointermove",this.handleSwipePointerMove),window.removeEventListener("pointerup",this.handleSwipePointerUp),window.removeEventListener("pointercancel",this.handleSwipePointerCancel),this.removeEventListener("pointermove",this.handleSwipePointerMove),this.removeEventListener("pointerup",this.handleSwipePointerUp),this.removeEventListener("pointercancel",this.handleSwipePointerCancel),window.removeEventListener("blur",this.handleSwipeWindowBlur),this.removeEventListener("click",this.handleSwipeClick,{capture:!0}),this.swipeListenersAttached=!1)}endSwipeTracking(){this.swipePointerId=null,this.swipeActive=!1,this.detachSwipeListeners()}releaseSwipePointerCapture(e){try{this.hasPointerCapture(e)&&this.releasePointerCapture(e)}catch{}}releaseActiveDragPointerCapture(){this.activeDragPointerId!==null&&this.releasePointerCaptureForEvent(this.activeDragPointerId)}releasePointerCaptureForEvent(e){try{this.hasPointerCapture(e)&&this.releasePointerCapture(e)}catch{}}attachDragListeners(){this.dragListenersAttached||(window.addEventListener("pointermove",this.handleWindowPointerMove),window.addEventListener("pointerup",this.handleWindowPointerUp),window.addEventListener("pointercancel",this.handleWindowPointerCancel),this.addEventListener("pointermove",this.handleWindowPointerMove),this.addEventListener("pointerup",this.handleWindowPointerUp),this.addEventListener("pointercancel",this.handleWindowPointerCancel),window.addEventListener("blur",this.handleWindowBlur),this.dragListenersAttached=!0)}detachDragListeners(){this.dragListenersAttached&&(window.removeEventListener("pointermove",this.handleWindowPointerMove),window.removeEventListener("pointerup",this.handleWindowPointerUp),window.removeEventListener("pointercancel",this.handleWindowPointerCancel),this.removeEventListener("pointermove",this.handleWindowPointerMove),this.removeEventListener("pointerup",this.handleWindowPointerUp),this.removeEventListener("pointercancel",this.handleWindowPointerCancel),window.removeEventListener("blur",this.handleWindowBlur),this.dragListenersAttached=!1,this.activeDragPointerId=null)}getVisibleLayout(){return this.dragController.status!=="active"||!this.dragState?this.applyResizeOverride(this._layout):am(this.dragState.projectedLayout)}applyResizeOverride(e){const r=this.resizeState;if(!r)return e;const i=e.findIndex(a=>a.type==="card"&&be(a)===r.cardId);if(i===-1)return e;const s=e[i];if(!s||s.type!=="card"||s.width===r.currentWidth)return e;const o=[...e];return o[i]={...s,width:r.currentWidth},o}getGridSlotStyle(e){return`grid-column: ${e.col} / span ${e.width}; grid-row: ${e.row} / span ${e.height};`}findContainingBlock(e){let r=e.parentElement;for(;r;){const i=getComputedStyle(r);if(i.transform!=="none"||i.perspective!=="none"||i.filter!=="none")return r;const s=i.willChange;if(s.includes("transform")||s.includes("perspective")||s.includes("filter"))return r;const o=i.contain;if(o.includes("layout")||o.includes("paint")||o.includes("strict"))return r;r=r.parentElement}return document.documentElement}getDraggedSlotStyle(e){const r=this.currentDragPreviewSize??{width:e.size.x??0,height:e.size.y??0};return["position: fixed;",`width: ${r.width}px;`,`height: ${r.height}px;`,"pointer-events: none;","z-index: 10;"].join(" ")}writeDraggedSlotPosition(e,r){(!this.draggedSlotContainingBlock||!this.draggedSlotContainingBlock.isConnected||!this.draggedSlotContainingBlock.contains(e))&&(this.draggedSlotContainingBlock=this.findContainingBlock(e));const i=this.draggedSlotContainingBlock.getBoundingClientRect(),s=r.pointer.x??0,o=r.pointer.y??0,a=r.grabOffset.x??0,c=r.grabOffset.y??0,u=this.currentDragPreviewSize??{width:r.size.x??0,height:r.size.y??0},h=r.size.x??0,f=r.size.y??0,y=h>0?a*(u.width/h):a,m=f>0?c*(u.height/f):c;e.style.left=`${s-y-i.left}px`,e.style.top=`${o-m-i.top}px`,e.style.width=`${u.width}px`,e.style.height=`${u.height}px`}renderSlot(e,r){var o,a;if(e.kind==="placeholder")return e.placement?L`
|
|
291
|
+
<div
|
|
292
|
+
class="card-slot card-placeholder"
|
|
293
|
+
data-layout-placeholder-for=${(r==null?void 0:r.nodeId)??""}
|
|
294
|
+
data-layout-placeholder-ghost="false"
|
|
295
|
+
data-layout-source-stack=${e.sourceStackId??""}
|
|
296
|
+
style=${this.getGridSlotStyle(e.placement)}
|
|
297
|
+
></div>
|
|
298
|
+
`:null;const i=e.card;if(!i)return null;const s=e.isDragged&&r?this.getDraggedSlotStyle(r):e.placement?this.getGridSlotStyle(e.placement):"";return L`
|
|
299
|
+
<div
|
|
300
|
+
class="card-slot"
|
|
301
|
+
data-layout-card-id=${be(i)}
|
|
302
|
+
data-layout-drag-source=${String(e.isDragged)}
|
|
303
|
+
layout-cols=${String(((o=e.placement)==null?void 0:o.width)??"")}
|
|
304
|
+
layout-rows=${String(((a=e.placement)==null?void 0:a.height)??"")}
|
|
305
|
+
style=${s}
|
|
306
|
+
>
|
|
307
|
+
<div class="card-content-mount" data-mount-for=${be(i)}></div>
|
|
308
|
+
${e.isTopLevelCard&&!e.isDragged?L`<div
|
|
309
|
+
class="resize-handle"
|
|
310
|
+
data-resize-handle=${be(i)}
|
|
311
|
+
data-test-resize-handle=${be(i)}
|
|
312
|
+
></div>`:null}
|
|
313
|
+
</div>
|
|
314
|
+
`}renderNode(e,r){return L`
|
|
315
|
+
<div
|
|
316
|
+
class=${e.kind==="ghost"?"drag-source-node":"node"}
|
|
317
|
+
layout-node=${String(e.layoutIndex??"")}
|
|
318
|
+
data-layout-node-id=${e.nodeId}
|
|
319
|
+
data-layout-placeholder=${String(e.kind==="visible"&&e.isPlaceholder)}
|
|
320
|
+
layout-node-cols=${String(e.widthUnits)}
|
|
321
|
+
?data-foreground=${e.kind==="visible"&&e.isForeground}
|
|
322
|
+
style=${e.kind==="visible"?`width: ${e.widthPx}px; --card-width-px: ${e.widthPx};`:""}
|
|
323
|
+
>
|
|
324
|
+
<div class="node-inner" style=${`grid-template-columns: repeat(${e.widthUnits}, var(--layout-unit-x));`}>
|
|
325
|
+
${im(e.slots,i=>i.key,i=>this.renderSlot(i,r))}
|
|
326
|
+
</div>
|
|
327
|
+
</div>
|
|
328
|
+
`}render(){var Y;const e=$u(this),r=this.createGrid(e.width,e.height);this.layoutGrid=r;const i=this.getVisibleLayout(),s=this.dragController.status==="active",o=br(i),a=o.nodes.map(V=>V.width),c=`${e.width}x${e.height}:${a.join(",")}`;!s&&c!==this.scrollModelKey&&(this.scrollModelKey=c,this.layoutScroll.rebuild({grid:r,nodeWidths:a.map(V=>Te({x:V})),snap:hm}),this._scrollPosition=this.layoutScroll.scroll.x??this._scrollPosition);const u=RM(this._layout),h=r.unit.x??Ln,f=r.unit.y??Ln,y=s?this.dragTrackOffsetXPx:0,m=(this.layoutScroll.translate.x??0)+y,E=pm(o.nodes.length,r,e.height),x=this.animateNextRender&&!s,I=[`transform: translate(${m}px, ${E}px);`,`transition-duration: ${x?WA:0}ms;`,`pointer-events: ${s?"none":"auto"};`].join(" ");this.animateNextRender=!0,this.style.setProperty("--layout-unit-x",`${h}px`),this.style.setProperty("--layout-unit-y",`${f}px`),this.style.setProperty("--layout-gap",`${ae}px`);const P=this.dragState,R=new Set;{let V=m;for(let ce=0;ce<o.nodes.length;ce+=1){const Et=r.toPixels(Te({x:o.nodes[ce].width})).x??0,sr=V+Et;V>=-1&&sr<=e.width+1&&R.add(ce),V=sr+ae}}const B=V=>R.has(V),N=kM({baseLayout:this._layout,visibleLayout:i,resolved:o,cardsByID:u,grid:r,dragState:this.dragState,isForeground:B}),F=cm(this.dragState);if(F?this.setAttribute("data-test-drop-intent",F):this.removeAttribute("data-test-drop-intent"),this.dragState){let V=null;for(const ce of o.nodes){for(const Et of ce.cards)if(Et.artifactID===this.dragState.nodeId){V={width:r.toPixels(Te({x:Et.width})).x??0,height:r.toPixels(Te({y:Et.height})).y??0};break}if(V)break}this.currentDragPreviewSize=V??{width:this.dragState.size.x??0,height:this.dragState.size.y??0}}else this.currentDragPreviewSize=null;Ze(L`
|
|
329
|
+
<div class="track" style=${I}>
|
|
330
|
+
${im(N,V=>V.key,V=>this.renderNode(V,P))}
|
|
331
|
+
</div>
|
|
332
|
+
`,this),this.syncCardElements(u,P?((Y=u.get(P.nodeId))==null?void 0:Y.artifactID)??null:null),this.syncDraggedSlotElement(P)}syncCardElements(e,r){var o;const i=new Map;for(const a of this.querySelectorAll(".card-content-mount[data-mount-for]")){const c=a.getAttribute("data-mount-for");c&&i.set(c,a)}const s=new Set;for(const a of e.values()){const c=this._cards.get(a.artifactID);if(!c)continue;s.add(a.artifactID);const u=i.get(be(a));if(!u){c.removeAttribute("data-dragging");continue}const h=(o=u.parentElement)==null?void 0:o.getAttribute("data-layout-card-id");console.assert(h===be(a),`layout-view: mount mismatch for ${be(a)}`),c.parentElement!==u&&u.appendChild(c),console.assert(u.children.length<=1,`layout-view: multiple children for ${be(a)}`),c.toggleAttribute("data-dragging",a.artifactID===r)}for(const[a,c]of this._cards)s.has(a)||c.removeAttribute("data-dragging")}ensureDragFrameLoop(){this.dragFrame!==0||this.dragController.status==="idle"||(this.lastDragFrameTime=performance.now(),this.dragFrame=requestAnimationFrame(this.runDragFrame))}stopDragFrameLoop(){this.dragFrame!==0&&(cancelAnimationFrame(this.dragFrame),this.dragFrame=0,this.scrollVelocityPxPerSec=0)}syncDragTargetForLatestPointer(){if(this.dragController.status==="idle")return;const e=this.getBoundingClientRect();if(this.dragController.status==="active"){const i=this.clampPointerToViewport(this.lastPointerX,this.lastPointerY,e);this.syncDragTarget(i.x,i.y,e);return}if(this.syncDragTarget(this.lastPointerX,this.lastPointerY,e),this.dragController.status==="pending")return;const r=this.clampPointerToViewport(this.lastPointerX,this.lastPointerY,e);(r.x!==this.lastPointerX||r.y!==this.lastPointerY)&&this.syncDragTarget(r.x,r.y,e)}syncDragTarget(e,r,i=this.getBoundingClientRect()){if(this.dragController.status==="idle")return;const s=this.getVisibleLayout(),o=this.dragController.status==="active"?this.dragTrackOffsetXPx:0,a=this.measureLayoutGeometry(s,o);this.dragController.update({pointer:Ie({x:e,y:r}),viewport:{left:i.left,top:i.top,width:i.width,height:i.height},geometry:a,effectiveVelocity:Math.max(this.pointerVelocityPxPerSec,this.scrollVelocityPxPerSec)})}resetMotionTracking(e,r){this.pointerVelocityPxPerSec=0,this.scrollVelocityPxPerSec=0,this.motionSampleTime=performance.now(),this.motionSampleX=e,this.motionSampleY=r}clearMotionTracking(){this.pointerVelocityPxPerSec=0,this.scrollVelocityPxPerSec=0,this.motionSampleTime=0}updatePointerVelocity(e,r){this.samplePointerVelocityAt(performance.now(),e,r)}samplePointerVelocityAt(e,r,i){if(this.motionSampleTime===0){this.motionSampleTime=e,this.motionSampleX=r,this.motionSampleY=i,this.pointerVelocityPxPerSec=0;return}const s=e-this.motionSampleTime;if(s<100)return;const o=r-this.motionSampleX;this.pointerVelocityPxPerSec=Math.abs(o)/s*um,this.motionSampleTime=e,this.motionSampleX=r,this.motionSampleY=i}clampPointerToViewport(e,r,i){return{x:Math.max(i.left,Math.min(i.left+i.width,e)),y:Math.max(i.top,Math.min(i.top+i.height,r))}}getDragEdgeScrollDeltaPixels(e,r,i){var u;const s=r.left+Ma,o=r.left+r.width-Ma,a=((u=this.layoutGrid)==null?void 0:u.unit.x)??Ln,c=jA*a;if(e<s){const h=Math.max(0,Math.min(1,(s-e)/Ma));return-(c*h**hg)*i}if(e>o){const h=Math.max(0,Math.min(1,(e-o)/Ma));return c*h**hg*i}return 0}measureLayoutGeometry(e,r=0){const i=this.layoutGrid;if(!i)return[];const s=br(e),o=new Map(s.nodes.map(E=>[E.id,E.width])),a=i.toPixels(Te({y:ft})).y??so,c=$u(this),u=(this.layoutScroll.translate.x??0)+r,h=pm(s.nodes.length,i,c.height),f=c.offsetY+h,y=[];let m=u;for(const E of e){const x=Pi(E),I=o.get(x)??Be,P=i.toPixels(Te({x:I})).x??Br,R={left:m,top:f,width:P,height:a};y.push({id:x,rect:R}),m+=P+ae}return y}resetDragPreviewState(){this.dragTrackOffsetXPx=0,this.previousProjectedLayoutForOffset=null,this.lastProjectedDragLayoutSignature="",this.lastDragDropIntent=null,this.lastActivePlaceholderId=null,this.draggedSlotElement=null,this.draggedSlotContainingBlock=null,this.currentDragPreviewSize=null}getCachedDraggedSlotElement(e){var r;return(r=this.draggedSlotElement)!=null&&r.isConnected&&this.draggedSlotElement.getAttribute("data-layout-card-id")===e&&this.draggedSlotElement.getAttribute("data-layout-drag-source")==="true"?this.draggedSlotElement:(this.draggedSlotElement=this.querySelector(`.card-slot[data-layout-card-id="${dm(e)}"][data-layout-drag-source="true"]`),this.draggedSlotElement)}syncDraggedSlotElement(e){if(!e||this.dragController.status!=="active"){this.draggedSlotElement=null;return}const r=this.getCachedDraggedSlotElement(e.nodeId);r&&this.writeDraggedSlotPosition(r,e)}shouldApplyTrackOffset(e,r){if(r)return!0;for(const i of e){if(i.type!=="stack")continue;if(i.children.some(o=>o.type==="drop-target")&&r!==i.id)return!0}return!1}computeDragTrackOffset(e,r,i,s,o,a){if(!e)return a;const c=s?o??this.getStableAnchorCardId(e,r,i):this.getStableAnchorNodeId(e,r,i);if(!c)return a;const u=s?gm(e,c,this.layoutGrid):mm(e,c,this.layoutGrid),h=s?gm(r,c,this.layoutGrid):mm(r,c,this.layoutGrid);return u===null||h===null?a:a+(u-h)}getStableAnchorCardId(e,r,i){const s=fm(e),o=new Set(fm(r));for(const a of s)if(a!==i&&o.has(a))return a;return null}getStableAnchorNodeId(e,r,i){const s=new Set(r.map(Pi));for(const o of e){const a=Pi(o);if(a!==i&&s.has(a))return a}return null}getStackChildAnchorCardId(e,r){const i=this._layout.find(o=>o.type==="stack"&&o.id===e);if(!i||i.type!=="stack")return null;const s=i.children.find(o=>o.type==="card"&&be(o)!==r);return s?be(s):null}}function RM(n){const t=new Map;for(const e of n){if(e.type==="card"){t.set(be(e),e);continue}for(const r of e.children)if(r.type==="card")t.set(be(r),r);else for(const i of r.children)t.set(be(i),i)}return t}function PM(n){for(const t of n)if(t.type==="drop-target"||t.type==="stack"&&t.children.some(e=>e.type==="drop-target"))return t.id;return null}function DM(n,t){const e=n.findIndex(r=>r.type==="card"&&be(r)===t);if(e!==-1)return{topLevelIndex:e};for(let r=0;r<n.length;r+=1){const i=n[r];if(!(!i||i.type!=="stack")&&i.children.some(s=>s.type==="card"&&be(s)===t))return{topLevelIndex:r,sourceStackId:i.id}}return null}function fm(n){const t=[];for(const e of n){if(e.type==="card"){t.push(be(e));continue}if(e.type==="stack"){const r=e.children.find(i=>i.type==="card");r&&t.push(be(r))}}return t}function gm(n,t,e){if(!e)return null;const r=br(n),i=new Map(r.nodes.map(o=>[o.id,o.width]));let s=0;for(const o of n){if(o.type==="card"&&be(o)===t||o.type==="stack"&&o.children.some(u=>u.type==="card"&&be(u)===t))return s;const a=i.get(Pi(o))??Be,c=e.toPixels(Te({x:a})).x??Br;s+=c+ae}return null}function mm(n,t,e){if(!e)return null;const r=br(n),i=new Map(r.nodes.map(o=>[o.id,o.width]));let s=0;for(const o of n){if(Pi(o)===t)return s;const a=i.get(Pi(o))??Be,c=e.toPixels(Te({x:a})).x??Br;s+=c+ae}return null}customElements.get("layout-view")||customElements.define("layout-view",CM);class LM extends HTMLElement{constructor(){super(...arguments);g(this,"screenManager",un.resolve("ScreenManager"));g(this,"boundModel",null);g(this,"cardEls",new Map);g(this,"handleActiveScreenChanged",()=>{this.rebindModel(),this.render()});g(this,"handleModelChange",()=>{this.render()});g(this,"handleCloseArtifact",e=>{e instanceof Uw&&this.screenManager.activeScreen&&this.screenManager.activeScreen.removeArtifact(e.artifactID)});g(this,"handleScrollPositionChanged",e=>{const r=e;typeof r.scrollPosition=="number"&&Number.isFinite(r.scrollPosition)&&this.screenManager.activeScreen&&this.screenManager.activeScreen.setScrollPosition(r.scrollPosition)});g(this,"handleLayoutChanged",e=>{e instanceof Vw&&this.screenManager.activeScreen&&this.screenManager.activeScreen.setLayout(e.layout)});g(this,"handleGlobalArrowKey",e=>{var s;if(e.key!=="ArrowLeft"&&e.key!=="ArrowRight"||e.metaKey||e.ctrlKey||e.altKey||e.shiftKey||this.isTextEditingTarget(e.target))return;const r=e.target;if(r instanceof Node&&((s=this.querySelector("layout-view"))!=null&&s.contains(r)))return;const i=this.querySelector("layout-view");i&&(e.preventDefault(),i.stepFilmstrip(e.key==="ArrowRight"?1:-1))});g(this,"handleServerEvent",e=>{const r=e.event;if(r.type!=="artifact-focus"||!this.boundModel||r.screenID!==this.boundModel.id)return;const i=this.querySelector("layout-view");i&&i.focusArtifact(r.artifactID)})}connectedCallback(){this.screenManager.addEventListener("active-screen-changed",this.handleActiveScreenChanged),window.addEventListener("keydown",this.handleGlobalArrowKey,{capture:!0}),this.rebindModel(),this.render()}disconnectedCallback(){this.screenManager.removeEventListener("active-screen-changed",this.handleActiveScreenChanged),window.removeEventListener("keydown",this.handleGlobalArrowKey,{capture:!0}),this.unbindModel(),this.disposeCardElements()}rebindModel(){const e=this.screenManager.activeScreen;this.boundModel!==e&&(this.unbindModel(),this.boundModel=e,e&&(e.addEventListener("change",this.handleModelChange),e.server.addEventListener("server-event",this.handleServerEvent)))}unbindModel(){this.boundModel&&(this.boundModel.removeEventListener("change",this.handleModelChange),this.boundModel.server.removeEventListener("server-event",this.handleServerEvent),this.boundModel=null)}isTextEditingTarget(e){var i;if(!(e instanceof Element))return!1;const r=e.closest("input, textarea, select, [contenteditable], [role='textbox'], [role='searchbox'], [role='combobox'], [role='spinbutton'], [role='slider']");return r?r.hasAttribute("contenteditable")?((i=r.getAttribute("contenteditable"))==null?void 0:i.toLowerCase())!=="false":!0:!1}buildCards(e){if(!e)return this.disposeCardElements(),new Map;const r=new Map;for(const i of e.artifacts.values()){let s=this.cardEls.get(i.id);s||(s=document.createElement("artifact-view"),this.cardEls.set(i.id,s)),s.artifact=i,s.screen=e,s.viewURL=e.server.getViewURL(i),s.contentURL=e.server.getContentURL(i),r.set(i.id,s)}for(const[i,s]of this.cardEls)r.has(i)||(s.remove(),this.cardEls.delete(i));return r}disposeCardElements(){for(const e of this.cardEls.values())e.remove();this.cardEls.clear()}render(){const e=this.screenManager.activeScreen,r=(e==null?void 0:e.layout)??[],i=this.buildCards(e);if(r.length===0){Ze(L``,this);return}Ze(L`
|
|
333
|
+
<layout-view
|
|
334
|
+
.layout=${r}
|
|
335
|
+
.cards=${i}
|
|
336
|
+
.scrollPosition=${(e==null?void 0:e.scrollPosition)??0}
|
|
337
|
+
@scroll=${this.handleScrollPositionChanged}
|
|
338
|
+
@layout-change=${this.handleLayoutChanged}
|
|
339
|
+
@close-artifact=${this.handleCloseArtifact}
|
|
340
|
+
></layout-view>
|
|
341
|
+
`,this)}}customElements.define("screen-view",LM);function Ml(n){return typeof n=="object"&&n!==null}const Tu=new WeakMap,vm=Object.prototype.hasOwnProperty,zM=(()=>{const n=new Set;let t=HTMLElement.prototype;for(;t;){for(const e of Object.getOwnPropertyNames(t))n.add(e);if(t===Node.prototype)break;t=Object.getPrototypeOf(t)}return n})();function OM(n,t){if(Ml(n))return t===null?void 0:n.parse(t);if(n===Boolean)return t!==null;if(t!==null)return n===Number?Number(t):t}function MM(n,t){return Ml(n)?t==null?null:n.serialize(t):n===Boolean?t?"":null:t==null?null:String(t)}var qo,Uh,Nr,gt,tn,Ji,Ur,Xi,xe,ki,Gw,qw,Yw,Kw,fl;const vr=class vr extends HTMLElement{constructor(){var i;super();S(this,xe);S(this,Nr,new Map);S(this,gt,new Map);S(this,tn,new Map);S(this,Ji,!1);S(this,Ur,!1);S(this,Xi,!1);const e=p(i=vr,qo,Uh).call(i,this.constructor),r=this;for(const s of e.properties)vm.call(r,s)&&(l(this,tn).set(s,r[s]),delete r[s])}static get observedAttributes(){var e;return p(e=vr,qo,Uh).call(e,this).observedAttributes}connected(){}disconnected(){}changed(e){}connectedCallback(){if(p(this,xe,Kw).call(this),!l(this,Ur))for(const e of p(this,xe,ki).call(this).properties)l(this,gt).has(e)||l(this,gt).set(e,void 0);this.dispatchEvent(new Event("reactive:connect")),this.connected(),p(this,xe,fl).call(this)}disconnectedCallback(){this.dispatchEvent(new Event("reactive:disconnect")),this.disconnected()}attributeChangedCallback(e,r,i){if(r===i)return;const s=p(this,xe,ki).call(this).byAttr.get(e);s&&(l(this,tn).has(s.property)||(this[s.property]=OM(s.type,i)))}};qo=new WeakSet,Uh=function(e){const r=Tu.get(e);if(r)return r;const i=[...e.properties??[]],s=e.attributes??{},o=new Map,a=new Map;for(const u of i)if(zM.has(u))throw new Error(`Reactive property "${u}" collides with a built-in DOM property. Rename it to avoid shadowing the platform API.`);for(const[u,h]of Object.entries(s)){if(u.includes("-")&&h.property===void 0)throw new Error(`Attribute "${u}" must declare a "property" name because kebab-case cannot be a property.`);const f=h.property??u;if(!i.includes(f))throw new Error(`Attribute '${u}' references property '${f}', which isn't declared in \`static properties\`. Add it to \`properties\` to make it reactive.`);if(Ml(h.type)){if(typeof h.type.parse!="function")throw new Error(`Attribute "${u}" custom coercer is missing a \`parse\` function.`);if(typeof h.type.serialize!="function")throw new Error(`Attribute "${u}" custom coercer is missing a \`serialize\` function.`)}const y={attribute:u,property:f,type:h.type};o.set(u,y),a.set(f,y)}for(const u of i){const h=Object.getOwnPropertyDescriptor(e.prototype,u);if((h==null?void 0:h.get)!==void 0||(h==null?void 0:h.set)!==void 0)throw new Error(`Observed property "${u}" cannot define a custom getter/setter. Use changed() for side effects instead.`);h===void 0&&Object.defineProperty(e.prototype,u,{configurable:!0,enumerable:!0,get(){return l(this,Nr).get(u)},set(f){p(this,xe,Gw).call(this,u,f)}})}const c={properties:i,observedAttributes:Object.keys(s),byAttr:o,byProp:a};return Tu.set(e,c),c},Nr=new WeakMap,gt=new WeakMap,tn=new WeakMap,Ji=new WeakMap,Ur=new WeakMap,Xi=new WeakMap,xe=new WeakSet,ki=function(){return Tu.get(this.constructor)},Gw=function(e,r){if(!l(this,Xi)&&l(this,tn).has(e))return;const i=l(this,Nr).get(e);p(this,xe,qw).call(this,e,i,r)||(l(this,gt).has(e)||l(this,gt).set(e,i),l(this,Nr).set(e,r),l(this,tn).delete(e),p(this,xe,Yw).call(this,e,r),this.isConnected&&p(this,xe,fl).call(this))},qw=function(e,r,i){if(Object.is(r,i))return!0;const s=p(this,xe,ki).call(this).byProp.get(e);if(!s||!Ml(s.type))return!1;const o=r==null,a=i==null;if(o||a)return o&&a;try{return s.type.serialize(r)===s.type.serialize(i)}catch{return!1}},Yw=function(e,r){const i=p(this,xe,ki).call(this).byProp.get(e);if(!i)return;const{attribute:s,type:o}=i;if(o===Boolean){const c=this.hasAttribute(s);r&&!c?this.setAttribute(s,""):!r&&c&&this.removeAttribute(s);return}const a=MM(o,r);if(a===null){this.hasAttribute(s)&&this.removeAttribute(s);return}this.getAttribute(s)!==a&&this.setAttribute(s,a)},Kw=function(){const e=this,r=p(this,xe,ki).call(this);for(const i of r.properties){if(!vm.call(e,i))continue;const s=e[i];delete e[i],!(l(this,tn).has(i)||l(this,Nr).has(i))&&(e[i]=s)}w(this,Xi,!0);try{for(const[i,s]of l(this,tn))e[i]=s;l(this,tn).clear()}finally{w(this,Xi,!1)}},fl=function(){l(this,Ji)||!this.isConnected||l(this,Ur)&&l(this,gt).size===0||(w(this,Ji,!0),queueMicrotask(()=>{if(w(this,Ji,!1),!this.isConnected||l(this,Ur)&&l(this,gt).size===0)return;const e=new Map(l(this,gt));l(this,gt).clear(),w(this,Ur,!0);try{this.changed(e)}catch(r){console.error(r)}this.isConnected&&l(this,gt).size>0&&p(this,xe,fl).call(this)}))},S(vr,qo),g(vr,"properties"),g(vr,"attributes");let hs=vr;var pe,Bn,jn,Qi,es,xn,Yo,$e,ts,nn,Z,Jw,Ko,Jo,Xo,Qo,Fh,Hh,Zh,Xw,Qw,e0,t0,Gl,ql,Yl,Kl,Wh,n0,gl,Jl,ml,Xl,r0,i0,s0,o0,a0,dt;class NM extends hs{constructor(){super(...arguments);S(this,Z);S(this,pe,un.resolve("ScreenManager"));S(this,Bn,un.resolve("ServerManager"));S(this,jn,null);S(this,Qi,new DisposableStack);S(this,es,cl());S(this,xn,cl());S(this,Yo,cl());S(this,$e,{kind:"none"});S(this,ts,!1);S(this,nn,[]);S(this,Ko,()=>{p(this,Z,Fh).call(this),w(this,$e,{kind:"none"}),l(this,dt).call(this)});S(this,Jo,()=>{l(this,dt).call(this)});S(this,Xo,()=>{l(this,dt).call(this)});S(this,Qo,()=>{l(this,dt).call(this)});S(this,Gl,()=>{var i,s;if(l(this,$e).kind==="picker"){p(this,Z,ml).call(this);return}w(this,nn,p(this,Z,n0).call(this));const e=((i=l(this,pe).activeScreen)==null?void 0:i.id)??null,r=e&&l(this,nn).some(o=>o.screenID===e)?e:((s=l(this,nn)[0])==null?void 0:s.screenID)??null;w(this,$e,{kind:"picker",filter:"",highlightedID:r}),l(this,dt).call(this),queueMicrotask(()=>{var o;(o=l(this,Yo).value)==null||o.focus()})});S(this,ql,e=>{var u;const r=l(this,$e);if(r.kind!=="picker")return;const i=e.target;if(!(i instanceof HTMLInputElement))return;const s=i.value,o=p(this,Z,gl).call(this,l(this,nn),s),c=r.highlightedID!==null&&o.some(h=>h.screenID===r.highlightedID)?r.highlightedID:((u=o[0])==null?void 0:u.screenID)??null;w(this,$e,{kind:"picker",filter:s,highlightedID:c}),l(this,dt).call(this)});S(this,Yl,e=>{var s;const r=l(this,$e);if(r.kind!=="picker")return;if(e.key==="Escape"){e.preventDefault(),p(this,Z,ml).call(this),(s=l(this,es).value)==null||s.focus();return}const i=p(this,Z,gl).call(this,l(this,nn),r.filter);if(e.key==="ArrowDown"||e.key==="ArrowUp"){if(e.preventDefault(),i.length===0)return;const o=i.findIndex(u=>u.screenID===r.highlightedID),a=e.key==="ArrowDown"?1:-1,c=o<0?0:Math.max(0,Math.min(i.length-1,o+a));w(this,$e,{kind:"picker",filter:r.filter,highlightedID:i[c].screenID}),l(this,dt).call(this);return}if(e.key==="Enter"){e.preventDefault();const o=i.find(a=>a.screenID===r.highlightedID);o&&p(this,Z,Wh).call(this,o)}});S(this,Kl,e=>{p(this,Z,Wh).call(this,e)});S(this,Jl,e=>{l(this,$e).kind==="picker"&&e.target===l(this,xn).value&&(w(this,$e,{kind:"none"}),l(this,dt).call(this))});S(this,Xl,async()=>{if(l(this,ts))return;const e=p(this,Z,r0).call(this);if(e){w(this,ts,!0);try{const r=await e.createScreen(UM(new Date));l(this,pe).addTab(e.url,r.id),l(this,pe).setActive(e.url,r.id)}catch{}finally{w(this,ts,!1)}}});S(this,dt,()=>{const e=p(this,Z,e0).call(this);Ze(L`
|
|
342
|
+
${p(this,Z,i0).call(this)}
|
|
343
|
+
<div class="pills" role="group" aria-label="Open tabs">
|
|
344
|
+
${e.map(r=>p(this,Z,s0).call(this,r))}
|
|
345
|
+
</div>
|
|
346
|
+
${p(this,Z,o0).call(this)}
|
|
347
|
+
`,this),l(this,xn).value&&(l(this,xn).value.anchor=l(this,es).value??null)})}connected(){l(this,pe).addEventListener("active-screen-changed",l(this,Ko)),l(this,pe).addEventListener("tabs-changed",l(this,Jo)),l(this,Bn).addEventListener("screens-changed",l(this,Xo)),p(this,Z,Fh).call(this),l(this,dt).call(this),p(this,Z,Jw).call(this),l(this,Qi).defer(()=>{l(this,pe).removeEventListener("active-screen-changed",l(this,Ko)),l(this,pe).removeEventListener("tabs-changed",l(this,Jo)),l(this,Bn).removeEventListener("screens-changed",l(this,Xo)),p(this,Z,Hh).call(this)})}disconnected(){l(this,Qi).dispose(),w(this,Qi,new DisposableStack)}}pe=new WeakMap,Bn=new WeakMap,jn=new WeakMap,Qi=new WeakMap,es=new WeakMap,xn=new WeakMap,Yo=new WeakMap,$e=new WeakMap,ts=new WeakMap,nn=new WeakMap,Z=new WeakSet,Jw=async function(){const e=await Uv(this);this.setAttribute("tone",e)},Ko=new WeakMap,Jo=new WeakMap,Xo=new WeakMap,Qo=new WeakMap,Fh=function(){var r;const e=l(this,pe).activeScreen;l(this,jn)!==e&&(p(this,Z,Hh).call(this),w(this,jn,e),(r=l(this,jn))==null||r.addEventListener("change",l(this,Qo)))},Hh=function(){var e;(e=l(this,jn))==null||e.removeEventListener("change",l(this,Qo)),w(this,jn,null)},Zh=function(e,r){l(this,pe).setActive(e,r)},Xw=function(e,r,i){i.stopPropagation();const s=l(this,pe).getTabs(e),o=p(this,Z,t0).call(this,s,r),a=l(this,pe).activeScreen,c=(a==null?void 0:a.id)===r&&a.server.url===e;l(this,pe).removeTab(e,r),c&&(o?l(this,pe).setActive(e,o):l(this,pe).clearActive())},Qw=function(e,r,i){const s=l(this,pe).activeScreen;if((s==null?void 0:s.id)===r){s.rename(i.value);return}const o=l(this,Bn).servers.get(e),a=o==null?void 0:o.screens.get(r);!o||!a||o.client.screens.update({screenID:r,name:i.value}).catch(()=>{})},e0=function(){const e=l(this,pe).activeScreen,r=[];for(const i of l(this,Bn).servers.values())for(const s of l(this,pe).getTabs(i.url)){const o=i.screens.get(s);o&&r.push({serverURL:i.url,screenID:o.id,name:o.name,isActive:(e==null?void 0:e.id)===o.id&&e.server.url===i.url})}return r},t0=function(e,r){const i=e.indexOf(r);if(i<0)return null;const s=e.filter(a=>a!==r);if(s.length===0)return null;const o=Math.max(0,i-1);return s[o]??null},Gl=new WeakMap,ql=new WeakMap,Yl=new WeakMap,Kl=new WeakMap,Wh=function(e){l(this,pe).addTab(e.serverURL,e.screenID),l(this,pe).setActive(e.serverURL,e.screenID),p(this,Z,ml).call(this)},n0=function(){return l(this,pe).screens.map(e=>({serverURL:e.server.url,screenID:e.screen.id,name:e.screen.name}))},gl=function(e,r){const i=r.trim().toLowerCase();return i.length===0?e:e.filter(s=>s.name.toLowerCase().includes(i))},Jl=new WeakMap,ml=function(){l(this,$e).kind==="picker"&&(l(this,xn).value&&(l(this,xn).value.open=!1),w(this,$e,{kind:"none"}),l(this,dt).call(this))},Xl=new WeakMap,r0=function(){for(const e of l(this,Bn).servers.values())return e;return null},i0=function(){return L`
|
|
348
|
+
<segmented-control variant="glass" role="group" aria-label="Screens">
|
|
349
|
+
<button
|
|
350
|
+
type="button"
|
|
351
|
+
?icon-only=${!0}
|
|
352
|
+
aria-label="Choose screen"
|
|
353
|
+
@click=${l(this,Gl)}
|
|
354
|
+
${ul(l(this,es))}
|
|
355
|
+
>
|
|
356
|
+
${uO({size:16,weight:"regular"})}
|
|
357
|
+
</button>
|
|
358
|
+
<button
|
|
359
|
+
type="button"
|
|
360
|
+
?icon-only=${!0}
|
|
361
|
+
aria-label="New screen"
|
|
362
|
+
@click=${l(this,Xl)}
|
|
363
|
+
>
|
|
364
|
+
${hO({size:16,weight:"regular"})}
|
|
365
|
+
</button>
|
|
366
|
+
</segmented-control>
|
|
367
|
+
`},s0=function(e){return L`
|
|
368
|
+
<span class="tab" ?data-active=${e.isActive}>
|
|
369
|
+
<button
|
|
370
|
+
type="button"
|
|
371
|
+
variant="glass"
|
|
372
|
+
class="screen-name tab-body"
|
|
373
|
+
aria-pressed=${e.isActive?"true":"false"}
|
|
374
|
+
aria-current=${e.isActive?"page":le}
|
|
375
|
+
aria-label=${e.isActive?`Current tab: ${e.name}`:`Switch to ${e.name}`}
|
|
376
|
+
@mousedown=${r=>{r.button===0&&p(this,Z,Zh).call(this,e.serverURL,e.screenID)}}
|
|
377
|
+
@click=${()=>p(this,Z,Zh).call(this,e.serverURL,e.screenID)}
|
|
378
|
+
>
|
|
379
|
+
<span class="tab-leading">
|
|
380
|
+
${cO({weight:"bold"})}
|
|
381
|
+
</span>
|
|
382
|
+
<editable-text
|
|
383
|
+
class="tab-name"
|
|
384
|
+
.value=${e.name}
|
|
385
|
+
@rename=${r=>p(this,Z,Qw).call(this,e.serverURL,e.screenID,r)}
|
|
386
|
+
></editable-text>
|
|
387
|
+
</button>
|
|
388
|
+
<button
|
|
389
|
+
type="button"
|
|
390
|
+
variant="ghost"
|
|
391
|
+
size="xs"
|
|
392
|
+
icon-only
|
|
393
|
+
class="tab-close"
|
|
394
|
+
aria-label=${`Close ${e.name}`}
|
|
395
|
+
@click=${r=>p(this,Z,Xw).call(this,e.serverURL,e.screenID,r)}
|
|
396
|
+
>
|
|
397
|
+
${Vd({weight:"bold"})}
|
|
398
|
+
</button>
|
|
399
|
+
</span>
|
|
400
|
+
`},o0=function(){var o;const e=l(this,$e).kind==="picker"?l(this,$e).filter:"",r=l(this,$e).kind==="picker"?l(this,$e).highlightedID:null,i=((o=l(this,pe).activeScreen)==null?void 0:o.id)??null,s=p(this,Z,gl).call(this,l(this,nn),e);return L`
|
|
401
|
+
<ui-popover
|
|
402
|
+
class="picker-popover"
|
|
403
|
+
material="glass-frosted"
|
|
404
|
+
?open=${l(this,$e).kind==="picker"}
|
|
405
|
+
@close=${l(this,Jl)}
|
|
406
|
+
@keydown=${l(this,Yl)}
|
|
407
|
+
${ul(l(this,xn))}
|
|
408
|
+
>
|
|
409
|
+
<div class="picker">
|
|
410
|
+
<input
|
|
411
|
+
type="text"
|
|
412
|
+
class="picker-filter"
|
|
413
|
+
placeholder="Filter screens"
|
|
414
|
+
aria-label="Filter screens"
|
|
415
|
+
.value=${e}
|
|
416
|
+
@input=${l(this,ql)}
|
|
417
|
+
${ul(l(this,Yo))}
|
|
418
|
+
/>
|
|
419
|
+
${s.length===0?L`<p class="picker-empty">
|
|
420
|
+
${l(this,nn).length===0?"No screens":"No matches"}
|
|
421
|
+
</p>`:p(this,Z,a0).call(this,s,r,i)}
|
|
422
|
+
</div>
|
|
423
|
+
</ui-popover>
|
|
424
|
+
`},a0=function(e,r,i){return L`
|
|
425
|
+
<ul class="picker-list" role="listbox">
|
|
426
|
+
<li class="picker-section-label" role="presentation">Recent</li>
|
|
427
|
+
${e.map(s=>{const o=s.screenID===i;return L`
|
|
428
|
+
<li
|
|
429
|
+
class="picker-row"
|
|
430
|
+
role="option"
|
|
431
|
+
aria-selected=${s.screenID===r}
|
|
432
|
+
aria-current=${o?"true":le}
|
|
433
|
+
?data-highlighted=${s.screenID===r}
|
|
434
|
+
?data-active=${o}
|
|
435
|
+
@click=${()=>l(this,Kl).call(this,s)}
|
|
436
|
+
>
|
|
437
|
+
<span class="picker-name">${s.name}</span>
|
|
438
|
+
</li>
|
|
439
|
+
`})}
|
|
440
|
+
</ul>
|
|
441
|
+
`},dt=new WeakMap;customElements.define("screen-select",NM);function UM(n){const t=n.toLocaleDateString("en-US",{month:"long",day:"numeric",year:"numeric"}),e=12,r=n.getHours(),i=r%e===0?e:r%e,s=n.getMinutes().toString().padStart(2,"0"),o=r>=e?"pm":"am";return`${t} at ${i}:${s}${o}`}/*! @license DOMPurify 3.3.3 | (c) Cure53 and other contributors | Released under the Apache license 2.0 and Mozilla Public License 2.0 | github.com/cure53/DOMPurify/blob/3.3.3/LICENSE */const{entries:l0,setPrototypeOf:ym,isFrozen:FM,getPrototypeOf:HM,getOwnPropertyDescriptor:ZM}=Object;let{freeze:et,seal:St,create:vl}=Object,{apply:Bh,construct:jh}=typeof Reflect<"u"&&Reflect;et||(et=function(t){return t});St||(St=function(t){return t});Bh||(Bh=function(t,e){for(var r=arguments.length,i=new Array(r>2?r-2:0),s=2;s<r;s++)i[s-2]=arguments[s];return t.apply(e,i)});jh||(jh=function(t){for(var e=arguments.length,r=new Array(e>1?e-1:0),i=1;i<e;i++)r[i-1]=arguments[i];return new t(...r)});const Wa=tt(Array.prototype.forEach),WM=tt(Array.prototype.lastIndexOf),bm=tt(Array.prototype.pop),Ds=tt(Array.prototype.push),BM=tt(Array.prototype.splice),yl=tt(String.prototype.toLowerCase),Iu=tt(String.prototype.toString),Cu=tt(String.prototype.match),Ls=tt(String.prototype.replace),jM=tt(String.prototype.indexOf),VM=tt(String.prototype.trim),ut=tt(Object.prototype.hasOwnProperty),Ve=tt(RegExp.prototype.test),zs=GM(TypeError);function tt(n){return function(t){t instanceof RegExp&&(t.lastIndex=0);for(var e=arguments.length,r=new Array(e>1?e-1:0),i=1;i<e;i++)r[i-1]=arguments[i];return Bh(n,t,r)}}function GM(n){return function(){for(var t=arguments.length,e=new Array(t),r=0;r<t;r++)e[r]=arguments[r];return jh(n,e)}}function G(n,t){let e=arguments.length>2&&arguments[2]!==void 0?arguments[2]:yl;ym&&ym(n,null);let r=t.length;for(;r--;){let i=t[r];if(typeof i=="string"){const s=e(i);s!==i&&(FM(t)||(t[r]=s),i=s)}n[i]=!0}return n}function qM(n){for(let t=0;t<n.length;t++)ut(n,t)||(n[t]=null);return n}function Zt(n){const t=vl(null);for(const[e,r]of l0(n))ut(n,e)&&(Array.isArray(r)?t[e]=qM(r):r&&typeof r=="object"&&r.constructor===Object?t[e]=Zt(r):t[e]=r);return t}function Os(n,t){for(;n!==null;){const r=ZM(n,t);if(r){if(r.get)return tt(r.get);if(typeof r.value=="function")return tt(r.value)}n=HM(n)}function e(){return null}return e}const wm=et(["a","abbr","acronym","address","area","article","aside","audio","b","bdi","bdo","big","blink","blockquote","body","br","button","canvas","caption","center","cite","code","col","colgroup","content","data","datalist","dd","decorator","del","details","dfn","dialog","dir","div","dl","dt","element","em","fieldset","figcaption","figure","font","footer","form","h1","h2","h3","h4","h5","h6","head","header","hgroup","hr","html","i","img","input","ins","kbd","label","legend","li","main","map","mark","marquee","menu","menuitem","meter","nav","nobr","ol","optgroup","option","output","p","picture","pre","progress","q","rp","rt","ruby","s","samp","search","section","select","shadow","slot","small","source","spacer","span","strike","strong","style","sub","summary","sup","table","tbody","td","template","textarea","tfoot","th","thead","time","tr","track","tt","u","ul","var","video","wbr"]),Ru=et(["svg","a","altglyph","altglyphdef","altglyphitem","animatecolor","animatemotion","animatetransform","circle","clippath","defs","desc","ellipse","enterkeyhint","exportparts","filter","font","g","glyph","glyphref","hkern","image","inputmode","line","lineargradient","marker","mask","metadata","mpath","part","path","pattern","polygon","polyline","radialgradient","rect","stop","style","switch","symbol","text","textpath","title","tref","tspan","view","vkern"]),Pu=et(["feBlend","feColorMatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feDistantLight","feDropShadow","feFlood","feFuncA","feFuncB","feFuncG","feFuncR","feGaussianBlur","feImage","feMerge","feMergeNode","feMorphology","feOffset","fePointLight","feSpecularLighting","feSpotLight","feTile","feTurbulence"]),YM=et(["animate","color-profile","cursor","discard","font-face","font-face-format","font-face-name","font-face-src","font-face-uri","foreignobject","hatch","hatchpath","mesh","meshgradient","meshpatch","meshrow","missing-glyph","script","set","solidcolor","unknown","use"]),Du=et(["math","menclose","merror","mfenced","mfrac","mglyph","mi","mlabeledtr","mmultiscripts","mn","mo","mover","mpadded","mphantom","mroot","mrow","ms","mspace","msqrt","mstyle","msub","msup","msubsup","mtable","mtd","mtext","mtr","munder","munderover","mprescripts"]),KM=et(["maction","maligngroup","malignmark","mlongdiv","mscarries","mscarry","msgroup","mstack","msline","msrow","semantics","annotation","annotation-xml","mprescripts","none"]),Sm=et(["#text"]),_m=et(["accept","action","align","alt","autocapitalize","autocomplete","autopictureinpicture","autoplay","background","bgcolor","border","capture","cellpadding","cellspacing","checked","cite","class","clear","color","cols","colspan","controls","controlslist","coords","crossorigin","datetime","decoding","default","dir","disabled","disablepictureinpicture","disableremoteplayback","download","draggable","enctype","enterkeyhint","exportparts","face","for","headers","height","hidden","high","href","hreflang","id","inert","inputmode","integrity","ismap","kind","label","lang","list","loading","loop","low","max","maxlength","media","method","min","minlength","multiple","muted","name","nonce","noshade","novalidate","nowrap","open","optimum","part","pattern","placeholder","playsinline","popover","popovertarget","popovertargetaction","poster","preload","pubdate","radiogroup","readonly","rel","required","rev","reversed","role","rows","rowspan","spellcheck","scope","selected","shape","size","sizes","slot","span","srclang","start","src","srcset","step","style","summary","tabindex","title","translate","type","usemap","valign","value","width","wrap","xmlns","slot"]),Lu=et(["accent-height","accumulate","additive","alignment-baseline","amplitude","ascent","attributename","attributetype","azimuth","basefrequency","baseline-shift","begin","bias","by","class","clip","clippathunits","clip-path","clip-rule","color","color-interpolation","color-interpolation-filters","color-profile","color-rendering","cx","cy","d","dx","dy","diffuseconstant","direction","display","divisor","dur","edgemode","elevation","end","exponent","fill","fill-opacity","fill-rule","filter","filterunits","flood-color","flood-opacity","font-family","font-size","font-size-adjust","font-stretch","font-style","font-variant","font-weight","fx","fy","g1","g2","glyph-name","glyphref","gradientunits","gradienttransform","height","href","id","image-rendering","in","in2","intercept","k","k1","k2","k3","k4","kerning","keypoints","keysplines","keytimes","lang","lengthadjust","letter-spacing","kernelmatrix","kernelunitlength","lighting-color","local","marker-end","marker-mid","marker-start","markerheight","markerunits","markerwidth","maskcontentunits","maskunits","max","mask","mask-type","media","method","mode","min","name","numoctaves","offset","operator","opacity","order","orient","orientation","origin","overflow","paint-order","path","pathlength","patterncontentunits","patterntransform","patternunits","points","preservealpha","preserveaspectratio","primitiveunits","r","rx","ry","radius","refx","refy","repeatcount","repeatdur","restart","result","rotate","scale","seed","shape-rendering","slope","specularconstant","specularexponent","spreadmethod","startoffset","stddeviation","stitchtiles","stop-color","stop-opacity","stroke-dasharray","stroke-dashoffset","stroke-linecap","stroke-linejoin","stroke-miterlimit","stroke-opacity","stroke","stroke-width","style","surfacescale","systemlanguage","tabindex","tablevalues","targetx","targety","transform","transform-origin","text-anchor","text-decoration","text-rendering","textlength","type","u1","u2","unicode","values","viewbox","visibility","version","vert-adv-y","vert-origin-x","vert-origin-y","width","word-spacing","wrap","writing-mode","xchannelselector","ychannelselector","x","x1","x2","xmlns","y","y1","y2","z","zoomandpan"]),km=et(["accent","accentunder","align","bevelled","close","columnsalign","columnlines","columnspan","denomalign","depth","dir","display","displaystyle","encoding","fence","frame","height","href","id","largeop","length","linethickness","lspace","lquote","mathbackground","mathcolor","mathsize","mathvariant","maxsize","minsize","movablelimits","notation","numalign","open","rowalign","rowlines","rowspacing","rowspan","rspace","rquote","scriptlevel","scriptminsize","scriptsizemultiplier","selection","separator","separators","stretchy","subscriptshift","supscriptshift","symmetric","voffset","width","xmlns"]),Ba=et(["xlink:href","xml:id","xlink:title","xml:space","xmlns:xlink"]),JM=St(/\{\{[\w\W]*|[\w\W]*\}\}/gm),XM=St(/<%[\w\W]*|[\w\W]*%>/gm),QM=St(/\$\{[\w\W]*/gm),eN=St(/^data-[\-\w.\u00B7-\uFFFF]+$/),tN=St(/^aria-[\-\w]+$/),c0=St(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|sms|cid|xmpp|matrix):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i),nN=St(/^(?:\w+script|data):/i),rN=St(/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]/g),u0=St(/^html$/i),iN=St(/^[a-z][.\w]*(-[.\w]+)+$/i);var xm=Object.freeze({__proto__:null,ARIA_ATTR:tN,ATTR_WHITESPACE:rN,CUSTOM_ELEMENT:iN,DATA_ATTR:eN,DOCTYPE_NAME:u0,ERB_EXPR:XM,IS_ALLOWED_URI:c0,IS_SCRIPT_OR_DATA:nN,MUSTACHE_EXPR:JM,TMPLIT_EXPR:QM});const Ms={element:1,text:3,progressingInstruction:7,comment:8,document:9},sN=function(){return typeof window>"u"?null:window},oN=function(t,e){if(typeof t!="object"||typeof t.createPolicy!="function")return null;let r=null;const i="data-tt-policy-suffix";e&&e.hasAttribute(i)&&(r=e.getAttribute(i));const s="dompurify"+(r?"#"+r:"");try{return t.createPolicy(s,{createHTML(o){return o},createScriptURL(o){return o}})}catch{return console.warn("TrustedTypes policy "+s+" could not be created."),null}},Em=function(){return{afterSanitizeAttributes:[],afterSanitizeElements:[],afterSanitizeShadowDOM:[],beforeSanitizeAttributes:[],beforeSanitizeElements:[],beforeSanitizeShadowDOM:[],uponSanitizeAttribute:[],uponSanitizeElement:[],uponSanitizeShadowNode:[]}};function h0(){let n=arguments.length>0&&arguments[0]!==void 0?arguments[0]:sN();const t=U=>h0(U);if(t.version="3.3.3",t.removed=[],!n||!n.document||n.document.nodeType!==Ms.document||!n.Element)return t.isSupported=!1,t;let{document:e}=n;const r=e,i=r.currentScript,{DocumentFragment:s,HTMLTemplateElement:o,Node:a,Element:c,NodeFilter:u,NamedNodeMap:h=n.NamedNodeMap||n.MozNamedAttrMap,HTMLFormElement:f,DOMParser:y,trustedTypes:m}=n,E=c.prototype,x=Os(E,"cloneNode"),I=Os(E,"remove"),P=Os(E,"nextSibling"),R=Os(E,"childNodes"),B=Os(E,"parentNode");if(typeof o=="function"){const U=e.createElement("template");U.content&&U.content.ownerDocument&&(e=U.content.ownerDocument)}let N,F="";const{implementation:Y,createNodeIterator:V,createDocumentFragment:ce,getElementsByTagName:Et}=e,{importNode:sr}=r;let ze=Em();t.isSupported=typeof l0=="function"&&typeof B=="function"&&Y&&Y.createHTMLDocument!==void 0;const{MUSTACHE_EXPR:or,ERB_EXPR:Mt,TMPLIT_EXPR:Cn,DATA_ATTR:Ec,ARIA_ATTR:wa,IS_SCRIPT_OR_DATA:P0,ATTR_WHITESPACE:op,CUSTOM_ELEMENT:D0}=xm;let{IS_ALLOWED_URI:ap}=xm,Re=null;const lp=G({},[...wm,...Ru,...Pu,...Du,...Sm]);let Oe=null;const cp=G({},[..._m,...Lu,...km,...Ba]);let we=Object.seal(vl(null,{tagNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},allowCustomizedBuiltInElements:{writable:!0,configurable:!1,enumerable:!0,value:!1}})),xs=null,Sa=null;const Rn=Object.seal(vl(null,{tagCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeCheck:{writable:!0,configurable:!1,enumerable:!0,value:null}}));let up=!0,Ac=!0,hp=!1,dp=!0,ti=!1,_a=!0,ar=!1,$c=!1,Tc=!1,ni=!1,ka=!1,xa=!1,pp=!0,fp=!1;const L0="user-content-";let Ic=!0,Es=!1,ri={},Nt=null;const Cc=G({},["annotation-xml","audio","colgroup","desc","foreignobject","head","iframe","math","mi","mn","mo","ms","mtext","noembed","noframes","noscript","plaintext","script","style","svg","template","thead","title","video","xmp"]);let gp=null;const mp=G({},["audio","video","img","source","image","track"]);let Rc=null;const vp=G({},["alt","class","for","id","label","name","pattern","placeholder","role","summary","title","value","style","xmlns"]),Ea="http://www.w3.org/1998/Math/MathML",Aa="http://www.w3.org/2000/svg",hn="http://www.w3.org/1999/xhtml";let ii=hn,Pc=!1,Dc=null;const z0=G({},[Ea,Aa,hn],Iu);let $a=G({},["mi","mo","mn","ms","mtext"]),Ta=G({},["annotation-xml"]);const O0=G({},["title","style","font","a","script"]);let As=null;const M0=["application/xhtml+xml","text/html"],N0="text/html";let Ae=null,si=null;const U0=e.createElement("form"),yp=function(b){return b instanceof RegExp||b instanceof Function},Lc=function(){let b=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};if(!(si&&si===b)){if((!b||typeof b!="object")&&(b={}),b=Zt(b),As=M0.indexOf(b.PARSER_MEDIA_TYPE)===-1?N0:b.PARSER_MEDIA_TYPE,Ae=As==="application/xhtml+xml"?Iu:yl,Re=ut(b,"ALLOWED_TAGS")?G({},b.ALLOWED_TAGS,Ae):lp,Oe=ut(b,"ALLOWED_ATTR")?G({},b.ALLOWED_ATTR,Ae):cp,Dc=ut(b,"ALLOWED_NAMESPACES")?G({},b.ALLOWED_NAMESPACES,Iu):z0,Rc=ut(b,"ADD_URI_SAFE_ATTR")?G(Zt(vp),b.ADD_URI_SAFE_ATTR,Ae):vp,gp=ut(b,"ADD_DATA_URI_TAGS")?G(Zt(mp),b.ADD_DATA_URI_TAGS,Ae):mp,Nt=ut(b,"FORBID_CONTENTS")?G({},b.FORBID_CONTENTS,Ae):Cc,xs=ut(b,"FORBID_TAGS")?G({},b.FORBID_TAGS,Ae):Zt({}),Sa=ut(b,"FORBID_ATTR")?G({},b.FORBID_ATTR,Ae):Zt({}),ri=ut(b,"USE_PROFILES")?b.USE_PROFILES:!1,up=b.ALLOW_ARIA_ATTR!==!1,Ac=b.ALLOW_DATA_ATTR!==!1,hp=b.ALLOW_UNKNOWN_PROTOCOLS||!1,dp=b.ALLOW_SELF_CLOSE_IN_ATTR!==!1,ti=b.SAFE_FOR_TEMPLATES||!1,_a=b.SAFE_FOR_XML!==!1,ar=b.WHOLE_DOCUMENT||!1,ni=b.RETURN_DOM||!1,ka=b.RETURN_DOM_FRAGMENT||!1,xa=b.RETURN_TRUSTED_TYPE||!1,Tc=b.FORCE_BODY||!1,pp=b.SANITIZE_DOM!==!1,fp=b.SANITIZE_NAMED_PROPS||!1,Ic=b.KEEP_CONTENT!==!1,Es=b.IN_PLACE||!1,ap=b.ALLOWED_URI_REGEXP||c0,ii=b.NAMESPACE||hn,$a=b.MATHML_TEXT_INTEGRATION_POINTS||$a,Ta=b.HTML_INTEGRATION_POINTS||Ta,we=b.CUSTOM_ELEMENT_HANDLING||{},b.CUSTOM_ELEMENT_HANDLING&&yp(b.CUSTOM_ELEMENT_HANDLING.tagNameCheck)&&(we.tagNameCheck=b.CUSTOM_ELEMENT_HANDLING.tagNameCheck),b.CUSTOM_ELEMENT_HANDLING&&yp(b.CUSTOM_ELEMENT_HANDLING.attributeNameCheck)&&(we.attributeNameCheck=b.CUSTOM_ELEMENT_HANDLING.attributeNameCheck),b.CUSTOM_ELEMENT_HANDLING&&typeof b.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements=="boolean"&&(we.allowCustomizedBuiltInElements=b.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements),ti&&(Ac=!1),ka&&(ni=!0),ri&&(Re=G({},Sm),Oe=vl(null),ri.html===!0&&(G(Re,wm),G(Oe,_m)),ri.svg===!0&&(G(Re,Ru),G(Oe,Lu),G(Oe,Ba)),ri.svgFilters===!0&&(G(Re,Pu),G(Oe,Lu),G(Oe,Ba)),ri.mathMl===!0&&(G(Re,Du),G(Oe,km),G(Oe,Ba))),ut(b,"ADD_TAGS")||(Rn.tagCheck=null),ut(b,"ADD_ATTR")||(Rn.attributeCheck=null),b.ADD_TAGS&&(typeof b.ADD_TAGS=="function"?Rn.tagCheck=b.ADD_TAGS:(Re===lp&&(Re=Zt(Re)),G(Re,b.ADD_TAGS,Ae))),b.ADD_ATTR&&(typeof b.ADD_ATTR=="function"?Rn.attributeCheck=b.ADD_ATTR:(Oe===cp&&(Oe=Zt(Oe)),G(Oe,b.ADD_ATTR,Ae))),b.ADD_URI_SAFE_ATTR&&G(Rc,b.ADD_URI_SAFE_ATTR,Ae),b.FORBID_CONTENTS&&(Nt===Cc&&(Nt=Zt(Nt)),G(Nt,b.FORBID_CONTENTS,Ae)),b.ADD_FORBID_CONTENTS&&(Nt===Cc&&(Nt=Zt(Nt)),G(Nt,b.ADD_FORBID_CONTENTS,Ae)),Ic&&(Re["#text"]=!0),ar&&G(Re,["html","head","body"]),Re.table&&(G(Re,["tbody"]),delete xs.tbody),b.TRUSTED_TYPES_POLICY){if(typeof b.TRUSTED_TYPES_POLICY.createHTML!="function")throw zs('TRUSTED_TYPES_POLICY configuration option must provide a "createHTML" hook.');if(typeof b.TRUSTED_TYPES_POLICY.createScriptURL!="function")throw zs('TRUSTED_TYPES_POLICY configuration option must provide a "createScriptURL" hook.');N=b.TRUSTED_TYPES_POLICY,F=N.createHTML("")}else N===void 0&&(N=oN(m,i)),N!==null&&typeof F=="string"&&(F=N.createHTML(""));et&&et(b),si=b}},bp=G({},[...Ru,...Pu,...YM]),wp=G({},[...Du,...KM]),F0=function(b){let C=B(b);(!C||!C.tagName)&&(C={namespaceURI:ii,tagName:"template"});const D=yl(b.tagName),he=yl(C.tagName);return Dc[b.namespaceURI]?b.namespaceURI===Aa?C.namespaceURI===hn?D==="svg":C.namespaceURI===Ea?D==="svg"&&(he==="annotation-xml"||$a[he]):!!bp[D]:b.namespaceURI===Ea?C.namespaceURI===hn?D==="math":C.namespaceURI===Aa?D==="math"&&Ta[he]:!!wp[D]:b.namespaceURI===hn?C.namespaceURI===Aa&&!Ta[he]||C.namespaceURI===Ea&&!$a[he]?!1:!wp[D]&&(O0[D]||!bp[D]):!!(As==="application/xhtml+xml"&&Dc[b.namespaceURI]):!1},Ut=function(b){Ds(t.removed,{element:b});try{B(b).removeChild(b)}catch{I(b)}},lr=function(b,C){try{Ds(t.removed,{attribute:C.getAttributeNode(b),from:C})}catch{Ds(t.removed,{attribute:null,from:C})}if(C.removeAttribute(b),b==="is")if(ni||ka)try{Ut(C)}catch{}else try{C.setAttribute(b,"")}catch{}},Sp=function(b){let C=null,D=null;if(Tc)b="<remove></remove>"+b;else{const Se=Cu(b,/^[\r\n\t ]+/);D=Se&&Se[0]}As==="application/xhtml+xml"&&ii===hn&&(b='<html xmlns="http://www.w3.org/1999/xhtml"><head></head><body>'+b+"</body></html>");const he=N?N.createHTML(b):b;if(ii===hn)try{C=new y().parseFromString(he,As)}catch{}if(!C||!C.documentElement){C=Y.createDocument(ii,"template",null);try{C.documentElement.innerHTML=Pc?F:he}catch{}}const We=C.body||C.documentElement;return b&&D&&We.insertBefore(e.createTextNode(D),We.childNodes[0]||null),ii===hn?Et.call(C,ar?"html":"body")[0]:ar?C.documentElement:We},_p=function(b){return V.call(b.ownerDocument||b,b,u.SHOW_ELEMENT|u.SHOW_COMMENT|u.SHOW_TEXT|u.SHOW_PROCESSING_INSTRUCTION|u.SHOW_CDATA_SECTION,null)},zc=function(b){return b instanceof f&&(typeof b.nodeName!="string"||typeof b.textContent!="string"||typeof b.removeChild!="function"||!(b.attributes instanceof h)||typeof b.removeAttribute!="function"||typeof b.setAttribute!="function"||typeof b.namespaceURI!="string"||typeof b.insertBefore!="function"||typeof b.hasChildNodes!="function")},kp=function(b){return typeof a=="function"&&b instanceof a};function dn(U,b,C){Wa(U,D=>{D.call(t,b,C,si)})}const xp=function(b){let C=null;if(dn(ze.beforeSanitizeElements,b,null),zc(b))return Ut(b),!0;const D=Ae(b.nodeName);if(dn(ze.uponSanitizeElement,b,{tagName:D,allowedTags:Re}),_a&&b.hasChildNodes()&&!kp(b.firstElementChild)&&Ve(/<[/\w!]/g,b.innerHTML)&&Ve(/<[/\w!]/g,b.textContent)||b.nodeType===Ms.progressingInstruction||_a&&b.nodeType===Ms.comment&&Ve(/<[/\w]/g,b.data))return Ut(b),!0;if(!(Rn.tagCheck instanceof Function&&Rn.tagCheck(D))&&(!Re[D]||xs[D])){if(!xs[D]&&Ap(D)&&(we.tagNameCheck instanceof RegExp&&Ve(we.tagNameCheck,D)||we.tagNameCheck instanceof Function&&we.tagNameCheck(D)))return!1;if(Ic&&!Nt[D]){const he=B(b)||b.parentNode,We=R(b)||b.childNodes;if(We&&he){const Se=We.length;for(let nt=Se-1;nt>=0;--nt){const pn=x(We[nt],!0);pn.__removalCount=(b.__removalCount||0)+1,he.insertBefore(pn,P(b))}}}return Ut(b),!0}return b instanceof c&&!F0(b)||(D==="noscript"||D==="noembed"||D==="noframes")&&Ve(/<\/no(script|embed|frames)/i,b.innerHTML)?(Ut(b),!0):(ti&&b.nodeType===Ms.text&&(C=b.textContent,Wa([or,Mt,Cn],he=>{C=Ls(C,he," ")}),b.textContent!==C&&(Ds(t.removed,{element:b.cloneNode()}),b.textContent=C)),dn(ze.afterSanitizeElements,b,null),!1)},Ep=function(b,C,D){if(Sa[C]||pp&&(C==="id"||C==="name")&&(D in e||D in U0))return!1;if(!(Ac&&!Sa[C]&&Ve(Ec,C))){if(!(up&&Ve(wa,C))){if(!(Rn.attributeCheck instanceof Function&&Rn.attributeCheck(C,b))){if(!Oe[C]||Sa[C]){if(!(Ap(b)&&(we.tagNameCheck instanceof RegExp&&Ve(we.tagNameCheck,b)||we.tagNameCheck instanceof Function&&we.tagNameCheck(b))&&(we.attributeNameCheck instanceof RegExp&&Ve(we.attributeNameCheck,C)||we.attributeNameCheck instanceof Function&&we.attributeNameCheck(C,b))||C==="is"&&we.allowCustomizedBuiltInElements&&(we.tagNameCheck instanceof RegExp&&Ve(we.tagNameCheck,D)||we.tagNameCheck instanceof Function&&we.tagNameCheck(D))))return!1}else if(!Rc[C]){if(!Ve(ap,Ls(D,op,""))){if(!((C==="src"||C==="xlink:href"||C==="href")&&b!=="script"&&jM(D,"data:")===0&&gp[b])){if(!(hp&&!Ve(P0,Ls(D,op,"")))){if(D)return!1}}}}}}}return!0},Ap=function(b){return b!=="annotation-xml"&&Cu(b,D0)},$p=function(b){dn(ze.beforeSanitizeAttributes,b,null);const{attributes:C}=b;if(!C||zc(b))return;const D={attrName:"",attrValue:"",keepAttr:!0,allowedAttributes:Oe,forceKeepAttr:void 0};let he=C.length;for(;he--;){const We=C[he],{name:Se,namespaceURI:nt,value:pn}=We,oi=Ae(Se),Oc=pn;let Me=Se==="value"?Oc:VM(Oc);if(D.attrName=oi,D.attrValue=Me,D.keepAttr=!0,D.forceKeepAttr=void 0,dn(ze.uponSanitizeAttribute,b,D),Me=D.attrValue,fp&&(oi==="id"||oi==="name")&&(lr(Se,b),Me=L0+Me),_a&&Ve(/((--!?|])>)|<\/(style|script|title|xmp|textarea|noscript|iframe|noembed|noframes)/i,Me)){lr(Se,b);continue}if(oi==="attributename"&&Cu(Me,"href")){lr(Se,b);continue}if(D.forceKeepAttr)continue;if(!D.keepAttr){lr(Se,b);continue}if(!dp&&Ve(/\/>/i,Me)){lr(Se,b);continue}ti&&Wa([or,Mt,Cn],Ip=>{Me=Ls(Me,Ip," ")});const Tp=Ae(b.nodeName);if(!Ep(Tp,oi,Me)){lr(Se,b);continue}if(N&&typeof m=="object"&&typeof m.getAttributeType=="function"&&!nt)switch(m.getAttributeType(Tp,oi)){case"TrustedHTML":{Me=N.createHTML(Me);break}case"TrustedScriptURL":{Me=N.createScriptURL(Me);break}}if(Me!==Oc)try{nt?b.setAttributeNS(nt,Se,Me):b.setAttribute(Se,Me),zc(b)?Ut(b):bm(t.removed)}catch{lr(Se,b)}}dn(ze.afterSanitizeAttributes,b,null)},H0=function U(b){let C=null;const D=_p(b);for(dn(ze.beforeSanitizeShadowDOM,b,null);C=D.nextNode();)dn(ze.uponSanitizeShadowNode,C,null),xp(C),$p(C),C.content instanceof s&&U(C.content);dn(ze.afterSanitizeShadowDOM,b,null)};return t.sanitize=function(U){let b=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},C=null,D=null,he=null,We=null;if(Pc=!U,Pc&&(U="<!-->"),typeof U!="string"&&!kp(U))if(typeof U.toString=="function"){if(U=U.toString(),typeof U!="string")throw zs("dirty is not a string, aborting")}else throw zs("toString is not a function");if(!t.isSupported)return U;if($c||Lc(b),t.removed=[],typeof U=="string"&&(Es=!1),Es){if(U.nodeName){const pn=Ae(U.nodeName);if(!Re[pn]||xs[pn])throw zs("root node is forbidden and cannot be sanitized in-place")}}else if(U instanceof a)C=Sp("<!---->"),D=C.ownerDocument.importNode(U,!0),D.nodeType===Ms.element&&D.nodeName==="BODY"||D.nodeName==="HTML"?C=D:C.appendChild(D);else{if(!ni&&!ti&&!ar&&U.indexOf("<")===-1)return N&&xa?N.createHTML(U):U;if(C=Sp(U),!C)return ni?null:xa?F:""}C&&Tc&&Ut(C.firstChild);const Se=_p(Es?U:C);for(;he=Se.nextNode();)xp(he),$p(he),he.content instanceof s&&H0(he.content);if(Es)return U;if(ni){if(ka)for(We=ce.call(C.ownerDocument);C.firstChild;)We.appendChild(C.firstChild);else We=C;return(Oe.shadowroot||Oe.shadowrootmode)&&(We=sr.call(r,We,!0)),We}let nt=ar?C.outerHTML:C.innerHTML;return ar&&Re["!doctype"]&&C.ownerDocument&&C.ownerDocument.doctype&&C.ownerDocument.doctype.name&&Ve(u0,C.ownerDocument.doctype.name)&&(nt="<!DOCTYPE "+C.ownerDocument.doctype.name+`>
|
|
442
|
+
`+nt),ti&&Wa([or,Mt,Cn],pn=>{nt=Ls(nt,pn," ")}),N&&xa?N.createHTML(nt):nt},t.setConfig=function(){let U=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};Lc(U),$c=!0},t.clearConfig=function(){si=null,$c=!1},t.isValidAttribute=function(U,b,C){si||Lc({});const D=Ae(U),he=Ae(b);return Ep(D,he,C)},t.addHook=function(U,b){typeof b=="function"&&Ds(ze[U],b)},t.removeHook=function(U,b){if(b!==void 0){const C=WM(ze[U],b);return C===-1?void 0:BM(ze[U],C,1)[0]}return bm(ze[U])},t.removeHooks=function(U){ze[U]=[]},t.removeAllHooks=function(){ze=Em()},t}var d0=h0();function qd(){return{async:!1,breaks:!1,extensions:null,gfm:!0,hooks:null,pedantic:!1,renderer:null,silent:!1,tokenizer:null,walkTokens:null}}var ei=qd();function p0(n){ei=n}var mr={exec:()=>null};function J(n,t=""){let e=typeof n=="string"?n:n.source,r={replace:(i,s)=>{let o=typeof s=="string"?s:s.source;return o=o.replace(Qe.caret,"$1"),e=e.replace(i,o),r},getRegex:()=>new RegExp(e,t)};return r}var aN=(()=>{try{return!!new RegExp("(?<=1)(?<!1)")}catch{return!1}})(),Qe={codeRemoveIndent:/^(?: {1,4}| {0,3}\t)/gm,outputLinkReplace:/\\([\[\]])/g,indentCodeCompensation:/^(\s+)(?:```)/,beginningSpace:/^\s+/,endingHash:/#$/,startingSpaceChar:/^ /,endingSpaceChar:/ $/,nonSpaceChar:/[^ ]/,newLineCharGlobal:/\n/g,tabCharGlobal:/\t/g,multipleSpaceGlobal:/\s+/g,blankLine:/^[ \t]*$/,doubleBlankLine:/\n[ \t]*\n[ \t]*$/,blockquoteStart:/^ {0,3}>/,blockquoteSetextReplace:/\n {0,3}((?:=+|-+) *)(?=\n|$)/g,blockquoteSetextReplace2:/^ {0,3}>[ \t]?/gm,listReplaceNesting:/^ {1,4}(?=( {4})*[^ ])/g,listIsTask:/^\[[ xX]\] +\S/,listReplaceTask:/^\[[ xX]\] +/,listTaskCheckbox:/\[[ xX]\]/,anyLine:/\n.*\n/,hrefBrackets:/^<(.*)>$/,tableDelimiter:/[:|]/,tableAlignChars:/^\||\| *$/g,tableRowBlankLine:/\n[ \t]*$/,tableAlignRight:/^ *-+: *$/,tableAlignCenter:/^ *:-+: *$/,tableAlignLeft:/^ *:-+ *$/,startATag:/^<a /i,endATag:/^<\/a>/i,startPreScriptTag:/^<(pre|code|kbd|script)(\s|>)/i,endPreScriptTag:/^<\/(pre|code|kbd|script)(\s|>)/i,startAngleBracket:/^</,endAngleBracket:/>$/,pedanticHrefTitle:/^([^'"]*[^\s])\s+(['"])(.*)\2/,unicodeAlphaNumeric:/[\p{L}\p{N}]/u,escapeTest:/[&<>"']/,escapeReplace:/[&<>"']/g,escapeTestNoEncode:/[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/,escapeReplaceNoEncode:/[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/g,caret:/(^|[^\[])\^/g,percentDecode:/%25/g,findPipe:/\|/g,splitPipe:/ \|/,slashPipe:/\\\|/g,carriageReturn:/\r\n|\r/g,spaceLine:/^ +$/gm,notSpaceStart:/^\S*/,endingNewline:/\n$/,listItemRegex:n=>new RegExp(`^( {0,3}${n})((?:[ ][^\\n]*)?(?:\\n|$))`),nextBulletRegex:n=>new RegExp(`^ {0,${Math.min(3,n-1)}}(?:[*+-]|\\d{1,9}[.)])((?:[ ][^\\n]*)?(?:\\n|$))`),hrRegex:n=>new RegExp(`^ {0,${Math.min(3,n-1)}}((?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$)`),fencesBeginRegex:n=>new RegExp(`^ {0,${Math.min(3,n-1)}}(?:\`\`\`|~~~)`),headingBeginRegex:n=>new RegExp(`^ {0,${Math.min(3,n-1)}}#`),htmlBeginRegex:n=>new RegExp(`^ {0,${Math.min(3,n-1)}}<(?:[a-z].*>|!--)`,"i"),blockquoteBeginRegex:n=>new RegExp(`^ {0,${Math.min(3,n-1)}}>`)},lN=/^(?:[ \t]*(?:\n|$))+/,cN=/^((?: {4}| {0,3}\t)[^\n]+(?:\n(?:[ \t]*(?:\n|$))*)?)+/,uN=/^ {0,3}(`{3,}(?=[^`\n]*(?:\n|$))|~{3,})([^\n]*)(?:\n|$)(?:|([\s\S]*?)(?:\n|$))(?: {0,3}\1[~`]* *(?=\n|$)|$)/,ba=/^ {0,3}((?:-[\t ]*){3,}|(?:_[ \t]*){3,}|(?:\*[ \t]*){3,})(?:\n+|$)/,hN=/^ {0,3}(#{1,6})(?=\s|$)(.*)(?:\n+|$)/,Yd=/ {0,3}(?:[*+-]|\d{1,9}[.)])/,f0=/^(?!bull |blockCode|fences|blockquote|heading|html|table)((?:.|\n(?!\s*?\n|bull |blockCode|fences|blockquote|heading|html|table))+?)\n {0,3}(=+|-+) *(?:\n+|$)/,g0=J(f0).replace(/bull/g,Yd).replace(/blockCode/g,/(?: {4}| {0,3}\t)/).replace(/fences/g,/ {0,3}(?:`{3,}|~{3,})/).replace(/blockquote/g,/ {0,3}>/).replace(/heading/g,/ {0,3}#{1,6}/).replace(/html/g,/ {0,3}<[^\n>]+>\n/).replace(/\|table/g,"").getRegex(),dN=J(f0).replace(/bull/g,Yd).replace(/blockCode/g,/(?: {4}| {0,3}\t)/).replace(/fences/g,/ {0,3}(?:`{3,}|~{3,})/).replace(/blockquote/g,/ {0,3}>/).replace(/heading/g,/ {0,3}#{1,6}/).replace(/html/g,/ {0,3}<[^\n>]+>\n/).replace(/table/g,/ {0,3}\|?(?:[:\- ]*\|)+[\:\- ]*\n/).getRegex(),Kd=/^([^\n]+(?:\n(?!hr|heading|lheading|blockquote|fences|list|html|table| +\n)[^\n]+)*)/,pN=/^[^\n]+/,Jd=/(?!\s*\])(?:\\[\s\S]|[^\[\]\\])+/,fN=J(/^ {0,3}\[(label)\]: *(?:\n[ \t]*)?([^<\s][^\s]*|<.*?>)(?:(?: +(?:\n[ \t]*)?| *\n[ \t]*)(title))? *(?:\n+|$)/).replace("label",Jd).replace("title",/(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/).getRegex(),gN=J(/^(bull)([ \t][^\n]+?)?(?:\n|$)/).replace(/bull/g,Yd).getRegex(),kc="address|article|aside|base|basefont|blockquote|body|caption|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option|p|param|search|section|summary|table|tbody|td|tfoot|th|thead|title|tr|track|ul",Xd=/<!--(?:-?>|[\s\S]*?(?:-->|$))/,mN=J("^ {0,3}(?:<(script|pre|style|textarea)[\\s>][\\s\\S]*?(?:</\\1>[^\\n]*\\n+|$)|comment[^\\n]*(\\n+|$)|<\\?[\\s\\S]*?(?:\\?>\\n*|$)|<![A-Z][\\s\\S]*?(?:>\\n*|$)|<!\\[CDATA\\[[\\s\\S]*?(?:\\]\\]>\\n*|$)|</?(tag)(?: +|\\n|/?>)[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$)|<(?!script|pre|style|textarea)([a-z][\\w-]*)(?:attribute)*? */?>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$)|</(?!script|pre|style|textarea)[a-z][\\w-]*\\s*>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$))","i").replace("comment",Xd).replace("tag",kc).replace("attribute",/ +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/).getRegex(),m0=J(Kd).replace("hr",ba).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("|lheading","").replace("|table","").replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)])[ \\t]").replace("html","</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag",kc).getRegex(),vN=J(/^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/).replace("paragraph",m0).getRegex(),Qd={blockquote:vN,code:cN,def:fN,fences:uN,heading:hN,hr:ba,html:mN,lheading:g0,list:gN,newline:lN,paragraph:m0,table:mr,text:pN},Am=J("^ *([^\\n ].*)\\n {0,3}((?:\\| *)?:?-+:? *(?:\\| *:?-+:? *)*(?:\\| *)?)(?:\\n((?:(?! *\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)").replace("hr",ba).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("blockquote"," {0,3}>").replace("code","(?: {4}| {0,3} )[^\\n]").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)])[ \\t]").replace("html","</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag",kc).getRegex(),yN={...Qd,lheading:dN,table:Am,paragraph:J(Kd).replace("hr",ba).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("|lheading","").replace("table",Am).replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)])[ \\t]").replace("html","</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag",kc).getRegex()},bN={...Qd,html:J(`^ *(?:comment *(?:\\n|\\s*$)|<(tag)[\\s\\S]+?</\\1> *(?:\\n{2,}|\\s*$)|<tag(?:"[^"]*"|'[^']*'|\\s[^'"/>\\s]*)*?/?> *(?:\\n{2,}|\\s*$))`).replace("comment",Xd).replace(/tag/g,"(?!(?:a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)\\b)\\w+(?!:|[^\\w\\s@]*@)\\b").getRegex(),def:/^ *\[([^\]]+)\]: *<?([^\s>]+)>?(?: +(["(][^\n]+[")]))? *(?:\n+|$)/,heading:/^(#{1,6})(.*)(?:\n+|$)/,fences:mr,lheading:/^(.+?)\n {0,3}(=+|-+) *(?:\n+|$)/,paragraph:J(Kd).replace("hr",ba).replace("heading",` *#{1,6} *[^
|
|
443
|
+
]`).replace("lheading",g0).replace("|table","").replace("blockquote"," {0,3}>").replace("|fences","").replace("|list","").replace("|html","").replace("|tag","").getRegex()},wN=/^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/,SN=/^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/,v0=/^( {2,}|\\)\n(?!\s*$)/,_N=/^(`+|[^`])(?:(?= {2,}\n)|[\s\S]*?(?:(?=[\\<!\[`*_]|\b_|$)|[^ ](?= {2,}\n)))/,ks=/[\p{P}\p{S}]/u,xc=/[\s\p{P}\p{S}]/u,ep=/[^\s\p{P}\p{S}]/u,kN=J(/^((?![*_])punctSpace)/,"u").replace(/punctSpace/g,xc).getRegex(),y0=/(?!~)[\p{P}\p{S}]/u,xN=/(?!~)[\s\p{P}\p{S}]/u,EN=/(?:[^\s\p{P}\p{S}]|~)/u,AN=J(/link|precode-code|html/,"g").replace("link",/\[(?:[^\[\]`]|(?<a>`+)[^`]+\k<a>(?!`))*?\]\((?:\\[\s\S]|[^\\\(\)]|\((?:\\[\s\S]|[^\\\(\)])*\))*\)/).replace("precode-",aN?"(?<!`)()":"(^^|[^`])").replace("code",/(?<b>`+)[^`]+\k<b>(?!`)/).replace("html",/<(?! )[^<>]*?>/).getRegex(),b0=/^(?:\*+(?:((?!\*)punct)|([^\s*]))?)|^_+(?:((?!_)punct)|([^\s_]))?/,$N=J(b0,"u").replace(/punct/g,ks).getRegex(),TN=J(b0,"u").replace(/punct/g,y0).getRegex(),w0="^[^_*]*?__[^_*]*?\\*[^_*]*?(?=__)|[^*]+(?=[^*])|(?!\\*)punct(\\*+)(?=[\\s]|$)|notPunctSpace(\\*+)(?!\\*)(?=punctSpace|$)|(?!\\*)punctSpace(\\*+)(?=notPunctSpace)|[\\s](\\*+)(?!\\*)(?=punct)|(?!\\*)punct(\\*+)(?!\\*)(?=punct)|notPunctSpace(\\*+)(?=notPunctSpace)",IN=J(w0,"gu").replace(/notPunctSpace/g,ep).replace(/punctSpace/g,xc).replace(/punct/g,ks).getRegex(),CN=J(w0,"gu").replace(/notPunctSpace/g,EN).replace(/punctSpace/g,xN).replace(/punct/g,y0).getRegex(),RN=J("^[^_*]*?\\*\\*[^_*]*?_[^_*]*?(?=\\*\\*)|[^_]+(?=[^_])|(?!_)punct(_+)(?=[\\s]|$)|notPunctSpace(_+)(?!_)(?=punctSpace|$)|(?!_)punctSpace(_+)(?=notPunctSpace)|[\\s](_+)(?!_)(?=punct)|(?!_)punct(_+)(?!_)(?=punct)","gu").replace(/notPunctSpace/g,ep).replace(/punctSpace/g,xc).replace(/punct/g,ks).getRegex(),PN=J(/^~~?(?:((?!~)punct)|[^\s~])/,"u").replace(/punct/g,ks).getRegex(),DN="^[^~]+(?=[^~])|(?!~)punct(~~?)(?=[\\s]|$)|notPunctSpace(~~?)(?!~)(?=punctSpace|$)|(?!~)punctSpace(~~?)(?=notPunctSpace)|[\\s](~~?)(?!~)(?=punct)|(?!~)punct(~~?)(?!~)(?=punct)|notPunctSpace(~~?)(?=notPunctSpace)",LN=J(DN,"gu").replace(/notPunctSpace/g,ep).replace(/punctSpace/g,xc).replace(/punct/g,ks).getRegex(),zN=J(/\\(punct)/,"gu").replace(/punct/g,ks).getRegex(),ON=J(/^<(scheme:[^\s\x00-\x1f<>]*|email)>/).replace("scheme",/[a-zA-Z][a-zA-Z0-9+.-]{1,31}/).replace("email",/[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+(@)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+(?![-_])/).getRegex(),MN=J(Xd).replace("(?:-->|$)","-->").getRegex(),NN=J("^comment|^</[a-zA-Z][\\w:-]*\\s*>|^<[a-zA-Z][\\w-]*(?:attribute)*?\\s*/?>|^<\\?[\\s\\S]*?\\?>|^<![a-zA-Z]+\\s[\\s\\S]*?>|^<!\\[CDATA\\[[\\s\\S]*?\\]\\]>").replace("comment",MN).replace("attribute",/\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/).getRegex(),Nl=/(?:\[(?:\\[\s\S]|[^\[\]\\])*\]|\\[\s\S]|`+(?!`)[^`]*?`+(?!`)|``+(?=\])|[^\[\]\\`])*?/,UN=J(/^!?\[(label)\]\(\s*(href)(?:(?:[ \t]+(?:\n[ \t]*)?|\n[ \t]*)(title))?\s*\)/).replace("label",Nl).replace("href",/<(?:\\.|[^\n<>\\])+>|[^ \t\n\x00-\x1f]*/).replace("title",/"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/).getRegex(),S0=J(/^!?\[(label)\]\[(ref)\]/).replace("label",Nl).replace("ref",Jd).getRegex(),_0=J(/^!?\[(ref)\](?:\[\])?/).replace("ref",Jd).getRegex(),FN=J("reflink|nolink(?!\\()","g").replace("reflink",S0).replace("nolink",_0).getRegex(),$m=/[hH][tT][tT][pP][sS]?|[fF][tT][pP]/,tp={_backpedal:mr,anyPunctuation:zN,autolink:ON,blockSkip:AN,br:v0,code:SN,del:mr,delLDelim:mr,delRDelim:mr,emStrongLDelim:$N,emStrongRDelimAst:IN,emStrongRDelimUnd:RN,escape:wN,link:UN,nolink:_0,punctuation:kN,reflink:S0,reflinkSearch:FN,tag:NN,text:_N,url:mr},HN={...tp,link:J(/^!?\[(label)\]\((.*?)\)/).replace("label",Nl).getRegex(),reflink:J(/^!?\[(label)\]\s*\[([^\]]*)\]/).replace("label",Nl).getRegex()},Vh={...tp,emStrongRDelimAst:CN,emStrongLDelim:TN,delLDelim:PN,delRDelim:LN,url:J(/^((?:protocol):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/).replace("protocol",$m).replace("email",/[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/).getRegex(),_backpedal:/(?:[^?!.,:;*_'"~()&]+|\([^)]*\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_'"~)]+(?!$))+/,del:/^(~~?)(?=[^\s~])((?:\\[\s\S]|[^\\])*?(?:\\[\s\S]|[^\s~\\]))\1(?=[^~]|$)/,text:J(/^([`~]+|[^`~])(?:(?= {2,}\n)|(?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)|[\s\S]*?(?:(?=[\\<!\[`*~_]|\b_|protocol:\/\/|www\.|$)|[^ ](?= {2,}\n)|[^a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-](?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)))/).replace("protocol",$m).getRegex()},ZN={...Vh,br:J(v0).replace("{2,}","*").getRegex(),text:J(Vh.text).replace("\\b_","\\b_| {2,}\\n").replace(/\{2,\}/g,"*").getRegex()},ja={normal:Qd,gfm:yN,pedantic:bN},Ns={normal:tp,gfm:Vh,breaks:ZN,pedantic:HN},WN={"&":"&","<":"<",">":">",'"':""","'":"'"},Tm=n=>WN[n];function Wt(n,t){if(t){if(Qe.escapeTest.test(n))return n.replace(Qe.escapeReplace,Tm)}else if(Qe.escapeTestNoEncode.test(n))return n.replace(Qe.escapeReplaceNoEncode,Tm);return n}function Im(n){try{n=encodeURI(n).replace(Qe.percentDecode,"%")}catch{return null}return n}function Cm(n,t){var s;let e=n.replace(Qe.findPipe,(o,a,c)=>{let u=!1,h=a;for(;--h>=0&&c[h]==="\\";)u=!u;return u?"|":" |"}),r=e.split(Qe.splitPipe),i=0;if(r[0].trim()||r.shift(),r.length>0&&!((s=r.at(-1))!=null&&s.trim())&&r.pop(),t)if(r.length>t)r.splice(t);else for(;r.length<t;)r.push("");for(;i<r.length;i++)r[i]=r[i].trim().replace(Qe.slashPipe,"|");return r}function Us(n,t,e){let r=n.length;if(r===0)return"";let i=0;for(;i<r&&n.charAt(r-i-1)===t;)i++;return n.slice(0,r-i)}function BN(n,t){if(n.indexOf(t[1])===-1)return-1;let e=0;for(let r=0;r<n.length;r++)if(n[r]==="\\")r++;else if(n[r]===t[0])e++;else if(n[r]===t[1]&&(e--,e<0))return r;return e>0?-2:-1}function jN(n,t=0){let e=t,r="";for(let i of n)if(i===" "){let s=4-e%4;r+=" ".repeat(s),e+=s}else r+=i,e++;return r}function Rm(n,t,e,r,i){let s=t.href,o=t.title||null,a=n[1].replace(i.other.outputLinkReplace,"$1");r.state.inLink=!0;let c={type:n[0].charAt(0)==="!"?"image":"link",raw:e,href:s,title:o,text:a,tokens:r.inlineTokens(a)};return r.state.inLink=!1,c}function VN(n,t,e){let r=n.match(e.other.indentCodeCompensation);if(r===null)return t;let i=r[1];return t.split(`
|
|
444
|
+
`).map(s=>{let o=s.match(e.other.beginningSpace);if(o===null)return s;let[a]=o;return a.length>=i.length?s.slice(i.length):s}).join(`
|
|
445
|
+
`)}var Ul=class{constructor(n){g(this,"options");g(this,"rules");g(this,"lexer");this.options=n||ei}space(n){let t=this.rules.block.newline.exec(n);if(t&&t[0].length>0)return{type:"space",raw:t[0]}}code(n){let t=this.rules.block.code.exec(n);if(t){let e=t[0].replace(this.rules.other.codeRemoveIndent,"");return{type:"code",raw:t[0],codeBlockStyle:"indented",text:this.options.pedantic?e:Us(e,`
|
|
446
|
+
`)}}}fences(n){let t=this.rules.block.fences.exec(n);if(t){let e=t[0],r=VN(e,t[3]||"",this.rules);return{type:"code",raw:e,lang:t[2]?t[2].trim().replace(this.rules.inline.anyPunctuation,"$1"):t[2],text:r}}}heading(n){let t=this.rules.block.heading.exec(n);if(t){let e=t[2].trim();if(this.rules.other.endingHash.test(e)){let r=Us(e,"#");(this.options.pedantic||!r||this.rules.other.endingSpaceChar.test(r))&&(e=r.trim())}return{type:"heading",raw:t[0],depth:t[1].length,text:e,tokens:this.lexer.inline(e)}}}hr(n){let t=this.rules.block.hr.exec(n);if(t)return{type:"hr",raw:Us(t[0],`
|
|
447
|
+
`)}}blockquote(n){let t=this.rules.block.blockquote.exec(n);if(t){let e=Us(t[0],`
|
|
448
|
+
`).split(`
|
|
449
|
+
`),r="",i="",s=[];for(;e.length>0;){let o=!1,a=[],c;for(c=0;c<e.length;c++)if(this.rules.other.blockquoteStart.test(e[c]))a.push(e[c]),o=!0;else if(!o)a.push(e[c]);else break;e=e.slice(c);let u=a.join(`
|
|
450
|
+
`),h=u.replace(this.rules.other.blockquoteSetextReplace,`
|
|
451
|
+
$1`).replace(this.rules.other.blockquoteSetextReplace2,"");r=r?`${r}
|
|
452
|
+
${u}`:u,i=i?`${i}
|
|
453
|
+
${h}`:h;let f=this.lexer.state.top;if(this.lexer.state.top=!0,this.lexer.blockTokens(h,s,!0),this.lexer.state.top=f,e.length===0)break;let y=s.at(-1);if((y==null?void 0:y.type)==="code")break;if((y==null?void 0:y.type)==="blockquote"){let m=y,E=m.raw+`
|
|
454
|
+
`+e.join(`
|
|
455
|
+
`),x=this.blockquote(E);s[s.length-1]=x,r=r.substring(0,r.length-m.raw.length)+x.raw,i=i.substring(0,i.length-m.text.length)+x.text;break}else if((y==null?void 0:y.type)==="list"){let m=y,E=m.raw+`
|
|
456
|
+
`+e.join(`
|
|
457
|
+
`),x=this.list(E);s[s.length-1]=x,r=r.substring(0,r.length-y.raw.length)+x.raw,i=i.substring(0,i.length-m.raw.length)+x.raw,e=E.substring(s.at(-1).raw.length).split(`
|
|
458
|
+
`);continue}}return{type:"blockquote",raw:r,tokens:s,text:i}}}list(n){var e,r;let t=this.rules.block.list.exec(n);if(t){let i=t[1].trim(),s=i.length>1,o={type:"list",raw:"",ordered:s,start:s?+i.slice(0,-1):"",loose:!1,items:[]};i=s?`\\d{1,9}\\${i.slice(-1)}`:`\\${i}`,this.options.pedantic&&(i=s?i:"[*+-]");let a=this.rules.other.listItemRegex(i),c=!1;for(;n;){let h=!1,f="",y="";if(!(t=a.exec(n))||this.rules.block.hr.test(n))break;f=t[0],n=n.substring(f.length);let m=jN(t[2].split(`
|
|
459
|
+
`,1)[0],t[1].length),E=n.split(`
|
|
460
|
+
`,1)[0],x=!m.trim(),I=0;if(this.options.pedantic?(I=2,y=m.trimStart()):x?I=t[1].length+1:(I=m.search(this.rules.other.nonSpaceChar),I=I>4?1:I,y=m.slice(I),I+=t[1].length),x&&this.rules.other.blankLine.test(E)&&(f+=E+`
|
|
461
|
+
`,n=n.substring(E.length+1),h=!0),!h){let P=this.rules.other.nextBulletRegex(I),R=this.rules.other.hrRegex(I),B=this.rules.other.fencesBeginRegex(I),N=this.rules.other.headingBeginRegex(I),F=this.rules.other.htmlBeginRegex(I),Y=this.rules.other.blockquoteBeginRegex(I);for(;n;){let V=n.split(`
|
|
462
|
+
`,1)[0],ce;if(E=V,this.options.pedantic?(E=E.replace(this.rules.other.listReplaceNesting," "),ce=E):ce=E.replace(this.rules.other.tabCharGlobal," "),B.test(E)||N.test(E)||F.test(E)||Y.test(E)||P.test(E)||R.test(E))break;if(ce.search(this.rules.other.nonSpaceChar)>=I||!E.trim())y+=`
|
|
463
|
+
`+ce.slice(I);else{if(x||m.replace(this.rules.other.tabCharGlobal," ").search(this.rules.other.nonSpaceChar)>=4||B.test(m)||N.test(m)||R.test(m))break;y+=`
|
|
464
|
+
`+E}x=!E.trim(),f+=V+`
|
|
465
|
+
`,n=n.substring(V.length+1),m=ce.slice(I)}}o.loose||(c?o.loose=!0:this.rules.other.doubleBlankLine.test(f)&&(c=!0)),o.items.push({type:"list_item",raw:f,task:!!this.options.gfm&&this.rules.other.listIsTask.test(y),loose:!1,text:y,tokens:[]}),o.raw+=f}let u=o.items.at(-1);if(u)u.raw=u.raw.trimEnd(),u.text=u.text.trimEnd();else return;o.raw=o.raw.trimEnd();for(let h of o.items){if(this.lexer.state.top=!1,h.tokens=this.lexer.blockTokens(h.text,[]),h.task){if(h.text=h.text.replace(this.rules.other.listReplaceTask,""),((e=h.tokens[0])==null?void 0:e.type)==="text"||((r=h.tokens[0])==null?void 0:r.type)==="paragraph"){h.tokens[0].raw=h.tokens[0].raw.replace(this.rules.other.listReplaceTask,""),h.tokens[0].text=h.tokens[0].text.replace(this.rules.other.listReplaceTask,"");for(let y=this.lexer.inlineQueue.length-1;y>=0;y--)if(this.rules.other.listIsTask.test(this.lexer.inlineQueue[y].src)){this.lexer.inlineQueue[y].src=this.lexer.inlineQueue[y].src.replace(this.rules.other.listReplaceTask,"");break}}let f=this.rules.other.listTaskCheckbox.exec(h.raw);if(f){let y={type:"checkbox",raw:f[0]+" ",checked:f[0]!=="[ ]"};h.checked=y.checked,o.loose?h.tokens[0]&&["paragraph","text"].includes(h.tokens[0].type)&&"tokens"in h.tokens[0]&&h.tokens[0].tokens?(h.tokens[0].raw=y.raw+h.tokens[0].raw,h.tokens[0].text=y.raw+h.tokens[0].text,h.tokens[0].tokens.unshift(y)):h.tokens.unshift({type:"paragraph",raw:y.raw,text:y.raw,tokens:[y]}):h.tokens.unshift(y)}}if(!o.loose){let f=h.tokens.filter(m=>m.type==="space"),y=f.length>0&&f.some(m=>this.rules.other.anyLine.test(m.raw));o.loose=y}}if(o.loose)for(let h of o.items){h.loose=!0;for(let f of h.tokens)f.type==="text"&&(f.type="paragraph")}return o}}html(n){let t=this.rules.block.html.exec(n);if(t)return{type:"html",block:!0,raw:t[0],pre:t[1]==="pre"||t[1]==="script"||t[1]==="style",text:t[0]}}def(n){let t=this.rules.block.def.exec(n);if(t){let e=t[1].toLowerCase().replace(this.rules.other.multipleSpaceGlobal," "),r=t[2]?t[2].replace(this.rules.other.hrefBrackets,"$1").replace(this.rules.inline.anyPunctuation,"$1"):"",i=t[3]?t[3].substring(1,t[3].length-1).replace(this.rules.inline.anyPunctuation,"$1"):t[3];return{type:"def",tag:e,raw:t[0],href:r,title:i}}}table(n){var o;let t=this.rules.block.table.exec(n);if(!t||!this.rules.other.tableDelimiter.test(t[2]))return;let e=Cm(t[1]),r=t[2].replace(this.rules.other.tableAlignChars,"").split("|"),i=(o=t[3])!=null&&o.trim()?t[3].replace(this.rules.other.tableRowBlankLine,"").split(`
|
|
466
|
+
`):[],s={type:"table",raw:t[0],header:[],align:[],rows:[]};if(e.length===r.length){for(let a of r)this.rules.other.tableAlignRight.test(a)?s.align.push("right"):this.rules.other.tableAlignCenter.test(a)?s.align.push("center"):this.rules.other.tableAlignLeft.test(a)?s.align.push("left"):s.align.push(null);for(let a=0;a<e.length;a++)s.header.push({text:e[a],tokens:this.lexer.inline(e[a]),header:!0,align:s.align[a]});for(let a of i)s.rows.push(Cm(a,s.header.length).map((c,u)=>({text:c,tokens:this.lexer.inline(c),header:!1,align:s.align[u]})));return s}}lheading(n){let t=this.rules.block.lheading.exec(n);if(t){let e=t[1].trim();return{type:"heading",raw:t[0],depth:t[2].charAt(0)==="="?1:2,text:e,tokens:this.lexer.inline(e)}}}paragraph(n){let t=this.rules.block.paragraph.exec(n);if(t){let e=t[1].charAt(t[1].length-1)===`
|
|
467
|
+
`?t[1].slice(0,-1):t[1];return{type:"paragraph",raw:t[0],text:e,tokens:this.lexer.inline(e)}}}text(n){let t=this.rules.block.text.exec(n);if(t)return{type:"text",raw:t[0],text:t[0],tokens:this.lexer.inline(t[0])}}escape(n){let t=this.rules.inline.escape.exec(n);if(t)return{type:"escape",raw:t[0],text:t[1]}}tag(n){let t=this.rules.inline.tag.exec(n);if(t)return!this.lexer.state.inLink&&this.rules.other.startATag.test(t[0])?this.lexer.state.inLink=!0:this.lexer.state.inLink&&this.rules.other.endATag.test(t[0])&&(this.lexer.state.inLink=!1),!this.lexer.state.inRawBlock&&this.rules.other.startPreScriptTag.test(t[0])?this.lexer.state.inRawBlock=!0:this.lexer.state.inRawBlock&&this.rules.other.endPreScriptTag.test(t[0])&&(this.lexer.state.inRawBlock=!1),{type:"html",raw:t[0],inLink:this.lexer.state.inLink,inRawBlock:this.lexer.state.inRawBlock,block:!1,text:t[0]}}link(n){let t=this.rules.inline.link.exec(n);if(t){let e=t[2].trim();if(!this.options.pedantic&&this.rules.other.startAngleBracket.test(e)){if(!this.rules.other.endAngleBracket.test(e))return;let s=Us(e.slice(0,-1),"\\");if((e.length-s.length)%2===0)return}else{let s=BN(t[2],"()");if(s===-2)return;if(s>-1){let o=(t[0].indexOf("!")===0?5:4)+t[1].length+s;t[2]=t[2].substring(0,s),t[0]=t[0].substring(0,o).trim(),t[3]=""}}let r=t[2],i="";if(this.options.pedantic){let s=this.rules.other.pedanticHrefTitle.exec(r);s&&(r=s[1],i=s[3])}else i=t[3]?t[3].slice(1,-1):"";return r=r.trim(),this.rules.other.startAngleBracket.test(r)&&(this.options.pedantic&&!this.rules.other.endAngleBracket.test(e)?r=r.slice(1):r=r.slice(1,-1)),Rm(t,{href:r&&r.replace(this.rules.inline.anyPunctuation,"$1"),title:i&&i.replace(this.rules.inline.anyPunctuation,"$1")},t[0],this.lexer,this.rules)}}reflink(n,t){let e;if((e=this.rules.inline.reflink.exec(n))||(e=this.rules.inline.nolink.exec(n))){let r=(e[2]||e[1]).replace(this.rules.other.multipleSpaceGlobal," "),i=t[r.toLowerCase()];if(!i){let s=e[0].charAt(0);return{type:"text",raw:s,text:s}}return Rm(e,i,e[0],this.lexer,this.rules)}}emStrong(n,t,e=""){let r=this.rules.inline.emStrongLDelim.exec(n);if(!(!r||!r[1]&&!r[2]&&!r[3]&&!r[4]||r[4]&&e.match(this.rules.other.unicodeAlphaNumeric))&&(!(r[1]||r[3])||!e||this.rules.inline.punctuation.exec(e))){let i=[...r[0]].length-1,s,o,a=i,c=0,u=r[0][0]==="*"?this.rules.inline.emStrongRDelimAst:this.rules.inline.emStrongRDelimUnd;for(u.lastIndex=0,t=t.slice(-1*n.length+i);(r=u.exec(t))!=null;){if(s=r[1]||r[2]||r[3]||r[4]||r[5]||r[6],!s)continue;if(o=[...s].length,r[3]||r[4]){a+=o;continue}else if((r[5]||r[6])&&i%3&&!((i+o)%3)){c+=o;continue}if(a-=o,a>0)continue;o=Math.min(o,o+a+c);let h=[...r[0]][0].length,f=n.slice(0,i+r.index+h+o);if(Math.min(i,o)%2){let m=f.slice(1,-1);return{type:"em",raw:f,text:m,tokens:this.lexer.inlineTokens(m)}}let y=f.slice(2,-2);return{type:"strong",raw:f,text:y,tokens:this.lexer.inlineTokens(y)}}}}codespan(n){let t=this.rules.inline.code.exec(n);if(t){let e=t[2].replace(this.rules.other.newLineCharGlobal," "),r=this.rules.other.nonSpaceChar.test(e),i=this.rules.other.startingSpaceChar.test(e)&&this.rules.other.endingSpaceChar.test(e);return r&&i&&(e=e.substring(1,e.length-1)),{type:"codespan",raw:t[0],text:e}}}br(n){let t=this.rules.inline.br.exec(n);if(t)return{type:"br",raw:t[0]}}del(n,t,e=""){let r=this.rules.inline.delLDelim.exec(n);if(r&&(!r[1]||!e||this.rules.inline.punctuation.exec(e))){let i=[...r[0]].length-1,s,o,a=i,c=this.rules.inline.delRDelim;for(c.lastIndex=0,t=t.slice(-1*n.length+i);(r=c.exec(t))!=null;){if(s=r[1]||r[2]||r[3]||r[4]||r[5]||r[6],!s||(o=[...s].length,o!==i))continue;if(r[3]||r[4]){a+=o;continue}if(a-=o,a>0)continue;o=Math.min(o,o+a);let u=[...r[0]][0].length,h=n.slice(0,i+r.index+u+o),f=h.slice(i,-i);return{type:"del",raw:h,text:f,tokens:this.lexer.inlineTokens(f)}}}}autolink(n){let t=this.rules.inline.autolink.exec(n);if(t){let e,r;return t[2]==="@"?(e=t[1],r="mailto:"+e):(e=t[1],r=e),{type:"link",raw:t[0],text:e,href:r,tokens:[{type:"text",raw:e,text:e}]}}}url(n){var e;let t;if(t=this.rules.inline.url.exec(n)){let r,i;if(t[2]==="@")r=t[0],i="mailto:"+r;else{let s;do s=t[0],t[0]=((e=this.rules.inline._backpedal.exec(t[0]))==null?void 0:e[0])??"";while(s!==t[0]);r=t[0],t[1]==="www."?i="http://"+t[0]:i=t[0]}return{type:"link",raw:t[0],text:r,href:i,tokens:[{type:"text",raw:r,text:r}]}}}inlineText(n){let t=this.rules.inline.text.exec(n);if(t){let e=this.lexer.state.inRawBlock;return{type:"text",raw:t[0],text:t[0],escaped:e}}}},Dt=class Gh{constructor(t){g(this,"tokens");g(this,"options");g(this,"state");g(this,"inlineQueue");g(this,"tokenizer");this.tokens=[],this.tokens.links=Object.create(null),this.options=t||ei,this.options.tokenizer=this.options.tokenizer||new Ul,this.tokenizer=this.options.tokenizer,this.tokenizer.options=this.options,this.tokenizer.lexer=this,this.inlineQueue=[],this.state={inLink:!1,inRawBlock:!1,top:!0};let e={other:Qe,block:ja.normal,inline:Ns.normal};this.options.pedantic?(e.block=ja.pedantic,e.inline=Ns.pedantic):this.options.gfm&&(e.block=ja.gfm,this.options.breaks?e.inline=Ns.breaks:e.inline=Ns.gfm),this.tokenizer.rules=e}static get rules(){return{block:ja,inline:Ns}}static lex(t,e){return new Gh(e).lex(t)}static lexInline(t,e){return new Gh(e).inlineTokens(t)}lex(t){t=t.replace(Qe.carriageReturn,`
|
|
468
|
+
`),this.blockTokens(t,this.tokens);for(let e=0;e<this.inlineQueue.length;e++){let r=this.inlineQueue[e];this.inlineTokens(r.src,r.tokens)}return this.inlineQueue=[],this.tokens}blockTokens(t,e=[],r=!1){var i,s,o;for(this.tokenizer.lexer=this,this.options.pedantic&&(t=t.replace(Qe.tabCharGlobal," ").replace(Qe.spaceLine,""));t;){let a;if((s=(i=this.options.extensions)==null?void 0:i.block)!=null&&s.some(u=>(a=u.call({lexer:this},t,e))?(t=t.substring(a.raw.length),e.push(a),!0):!1))continue;if(a=this.tokenizer.space(t)){t=t.substring(a.raw.length);let u=e.at(-1);a.raw.length===1&&u!==void 0?u.raw+=`
|
|
469
|
+
`:e.push(a);continue}if(a=this.tokenizer.code(t)){t=t.substring(a.raw.length);let u=e.at(-1);(u==null?void 0:u.type)==="paragraph"||(u==null?void 0:u.type)==="text"?(u.raw+=(u.raw.endsWith(`
|
|
470
|
+
`)?"":`
|
|
471
|
+
`)+a.raw,u.text+=`
|
|
472
|
+
`+a.text,this.inlineQueue.at(-1).src=u.text):e.push(a);continue}if(a=this.tokenizer.fences(t)){t=t.substring(a.raw.length),e.push(a);continue}if(a=this.tokenizer.heading(t)){t=t.substring(a.raw.length),e.push(a);continue}if(a=this.tokenizer.hr(t)){t=t.substring(a.raw.length),e.push(a);continue}if(a=this.tokenizer.blockquote(t)){t=t.substring(a.raw.length),e.push(a);continue}if(a=this.tokenizer.list(t)){t=t.substring(a.raw.length),e.push(a);continue}if(a=this.tokenizer.html(t)){t=t.substring(a.raw.length),e.push(a);continue}if(a=this.tokenizer.def(t)){t=t.substring(a.raw.length);let u=e.at(-1);(u==null?void 0:u.type)==="paragraph"||(u==null?void 0:u.type)==="text"?(u.raw+=(u.raw.endsWith(`
|
|
473
|
+
`)?"":`
|
|
474
|
+
`)+a.raw,u.text+=`
|
|
475
|
+
`+a.raw,this.inlineQueue.at(-1).src=u.text):this.tokens.links[a.tag]||(this.tokens.links[a.tag]={href:a.href,title:a.title},e.push(a));continue}if(a=this.tokenizer.table(t)){t=t.substring(a.raw.length),e.push(a);continue}if(a=this.tokenizer.lheading(t)){t=t.substring(a.raw.length),e.push(a);continue}let c=t;if((o=this.options.extensions)!=null&&o.startBlock){let u=1/0,h=t.slice(1),f;this.options.extensions.startBlock.forEach(y=>{f=y.call({lexer:this},h),typeof f=="number"&&f>=0&&(u=Math.min(u,f))}),u<1/0&&u>=0&&(c=t.substring(0,u+1))}if(this.state.top&&(a=this.tokenizer.paragraph(c))){let u=e.at(-1);r&&(u==null?void 0:u.type)==="paragraph"?(u.raw+=(u.raw.endsWith(`
|
|
476
|
+
`)?"":`
|
|
477
|
+
`)+a.raw,u.text+=`
|
|
478
|
+
`+a.text,this.inlineQueue.pop(),this.inlineQueue.at(-1).src=u.text):e.push(a),r=c.length!==t.length,t=t.substring(a.raw.length);continue}if(a=this.tokenizer.text(t)){t=t.substring(a.raw.length);let u=e.at(-1);(u==null?void 0:u.type)==="text"?(u.raw+=(u.raw.endsWith(`
|
|
479
|
+
`)?"":`
|
|
480
|
+
`)+a.raw,u.text+=`
|
|
481
|
+
`+a.text,this.inlineQueue.pop(),this.inlineQueue.at(-1).src=u.text):e.push(a);continue}if(t){let u="Infinite loop on byte: "+t.charCodeAt(0);if(this.options.silent){console.error(u);break}else throw new Error(u)}}return this.state.top=!0,e}inline(t,e=[]){return this.inlineQueue.push({src:t,tokens:e}),e}inlineTokens(t,e=[]){var c,u,h,f,y;this.tokenizer.lexer=this;let r=t,i=null;if(this.tokens.links){let m=Object.keys(this.tokens.links);if(m.length>0)for(;(i=this.tokenizer.rules.inline.reflinkSearch.exec(r))!=null;)m.includes(i[0].slice(i[0].lastIndexOf("[")+1,-1))&&(r=r.slice(0,i.index)+"["+"a".repeat(i[0].length-2)+"]"+r.slice(this.tokenizer.rules.inline.reflinkSearch.lastIndex))}for(;(i=this.tokenizer.rules.inline.anyPunctuation.exec(r))!=null;)r=r.slice(0,i.index)+"++"+r.slice(this.tokenizer.rules.inline.anyPunctuation.lastIndex);let s;for(;(i=this.tokenizer.rules.inline.blockSkip.exec(r))!=null;)s=i[2]?i[2].length:0,r=r.slice(0,i.index+s)+"["+"a".repeat(i[0].length-s-2)+"]"+r.slice(this.tokenizer.rules.inline.blockSkip.lastIndex);r=((u=(c=this.options.hooks)==null?void 0:c.emStrongMask)==null?void 0:u.call({lexer:this},r))??r;let o=!1,a="";for(;t;){o||(a=""),o=!1;let m;if((f=(h=this.options.extensions)==null?void 0:h.inline)!=null&&f.some(x=>(m=x.call({lexer:this},t,e))?(t=t.substring(m.raw.length),e.push(m),!0):!1))continue;if(m=this.tokenizer.escape(t)){t=t.substring(m.raw.length),e.push(m);continue}if(m=this.tokenizer.tag(t)){t=t.substring(m.raw.length),e.push(m);continue}if(m=this.tokenizer.link(t)){t=t.substring(m.raw.length),e.push(m);continue}if(m=this.tokenizer.reflink(t,this.tokens.links)){t=t.substring(m.raw.length);let x=e.at(-1);m.type==="text"&&(x==null?void 0:x.type)==="text"?(x.raw+=m.raw,x.text+=m.text):e.push(m);continue}if(m=this.tokenizer.emStrong(t,r,a)){t=t.substring(m.raw.length),e.push(m);continue}if(m=this.tokenizer.codespan(t)){t=t.substring(m.raw.length),e.push(m);continue}if(m=this.tokenizer.br(t)){t=t.substring(m.raw.length),e.push(m);continue}if(m=this.tokenizer.del(t,r,a)){t=t.substring(m.raw.length),e.push(m);continue}if(m=this.tokenizer.autolink(t)){t=t.substring(m.raw.length),e.push(m);continue}if(!this.state.inLink&&(m=this.tokenizer.url(t))){t=t.substring(m.raw.length),e.push(m);continue}let E=t;if((y=this.options.extensions)!=null&&y.startInline){let x=1/0,I=t.slice(1),P;this.options.extensions.startInline.forEach(R=>{P=R.call({lexer:this},I),typeof P=="number"&&P>=0&&(x=Math.min(x,P))}),x<1/0&&x>=0&&(E=t.substring(0,x+1))}if(m=this.tokenizer.inlineText(E)){t=t.substring(m.raw.length),m.raw.slice(-1)!=="_"&&(a=m.raw.slice(-1)),o=!0;let x=e.at(-1);(x==null?void 0:x.type)==="text"?(x.raw+=m.raw,x.text+=m.text):e.push(m);continue}if(t){let x="Infinite loop on byte: "+t.charCodeAt(0);if(this.options.silent){console.error(x);break}else throw new Error(x)}}return e}},Fl=class{constructor(n){g(this,"options");g(this,"parser");this.options=n||ei}space(n){return""}code({text:n,lang:t,escaped:e}){var s;let r=(s=(t||"").match(Qe.notSpaceStart))==null?void 0:s[0],i=n.replace(Qe.endingNewline,"")+`
|
|
482
|
+
`;return r?'<pre><code class="language-'+Wt(r)+'">'+(e?i:Wt(i,!0))+`</code></pre>
|
|
483
|
+
`:"<pre><code>"+(e?i:Wt(i,!0))+`</code></pre>
|
|
484
|
+
`}blockquote({tokens:n}){return`<blockquote>
|
|
485
|
+
${this.parser.parse(n)}</blockquote>
|
|
486
|
+
`}html({text:n}){return n}def(n){return""}heading({tokens:n,depth:t}){return`<h${t}>${this.parser.parseInline(n)}</h${t}>
|
|
487
|
+
`}hr(n){return`<hr>
|
|
488
|
+
`}list(n){let t=n.ordered,e=n.start,r="";for(let o=0;o<n.items.length;o++){let a=n.items[o];r+=this.listitem(a)}let i=t?"ol":"ul",s=t&&e!==1?' start="'+e+'"':"";return"<"+i+s+`>
|
|
489
|
+
`+r+"</"+i+`>
|
|
490
|
+
`}listitem(n){return`<li>${this.parser.parse(n.tokens)}</li>
|
|
491
|
+
`}checkbox({checked:n}){return"<input "+(n?'checked="" ':"")+'disabled="" type="checkbox"> '}paragraph({tokens:n}){return`<p>${this.parser.parseInline(n)}</p>
|
|
492
|
+
`}table(n){let t="",e="";for(let i=0;i<n.header.length;i++)e+=this.tablecell(n.header[i]);t+=this.tablerow({text:e});let r="";for(let i=0;i<n.rows.length;i++){let s=n.rows[i];e="";for(let o=0;o<s.length;o++)e+=this.tablecell(s[o]);r+=this.tablerow({text:e})}return r&&(r=`<tbody>${r}</tbody>`),`<table>
|
|
493
|
+
<thead>
|
|
494
|
+
`+t+`</thead>
|
|
495
|
+
`+r+`</table>
|
|
496
|
+
`}tablerow({text:n}){return`<tr>
|
|
497
|
+
${n}</tr>
|
|
498
|
+
`}tablecell(n){let t=this.parser.parseInline(n.tokens),e=n.header?"th":"td";return(n.align?`<${e} align="${n.align}">`:`<${e}>`)+t+`</${e}>
|
|
499
|
+
`}strong({tokens:n}){return`<strong>${this.parser.parseInline(n)}</strong>`}em({tokens:n}){return`<em>${this.parser.parseInline(n)}</em>`}codespan({text:n}){return`<code>${Wt(n,!0)}</code>`}br(n){return"<br>"}del({tokens:n}){return`<del>${this.parser.parseInline(n)}</del>`}link({href:n,title:t,tokens:e}){let r=this.parser.parseInline(e),i=Im(n);if(i===null)return r;n=i;let s='<a href="'+n+'"';return t&&(s+=' title="'+Wt(t)+'"'),s+=">"+r+"</a>",s}image({href:n,title:t,text:e,tokens:r}){r&&(e=this.parser.parseInline(r,this.parser.textRenderer));let i=Im(n);if(i===null)return Wt(e);n=i;let s=`<img src="${n}" alt="${Wt(e)}"`;return t&&(s+=` title="${Wt(t)}"`),s+=">",s}text(n){return"tokens"in n&&n.tokens?this.parser.parseInline(n.tokens):"escaped"in n&&n.escaped?n.text:Wt(n.text)}},np=class{strong({text:n}){return n}em({text:n}){return n}codespan({text:n}){return n}del({text:n}){return n}html({text:n}){return n}text({text:n}){return n}link({text:n}){return""+n}image({text:n}){return""+n}br(){return""}checkbox({raw:n}){return n}},Lt=class qh{constructor(t){g(this,"options");g(this,"renderer");g(this,"textRenderer");this.options=t||ei,this.options.renderer=this.options.renderer||new Fl,this.renderer=this.options.renderer,this.renderer.options=this.options,this.renderer.parser=this,this.textRenderer=new np}static parse(t,e){return new qh(e).parse(t)}static parseInline(t,e){return new qh(e).parseInline(t)}parse(t){var r,i;this.renderer.parser=this;let e="";for(let s=0;s<t.length;s++){let o=t[s];if((i=(r=this.options.extensions)==null?void 0:r.renderers)!=null&&i[o.type]){let c=o,u=this.options.extensions.renderers[c.type].call({parser:this},c);if(u!==!1||!["space","hr","heading","code","table","blockquote","list","html","def","paragraph","text"].includes(c.type)){e+=u||"";continue}}let a=o;switch(a.type){case"space":{e+=this.renderer.space(a);break}case"hr":{e+=this.renderer.hr(a);break}case"heading":{e+=this.renderer.heading(a);break}case"code":{e+=this.renderer.code(a);break}case"table":{e+=this.renderer.table(a);break}case"blockquote":{e+=this.renderer.blockquote(a);break}case"list":{e+=this.renderer.list(a);break}case"checkbox":{e+=this.renderer.checkbox(a);break}case"html":{e+=this.renderer.html(a);break}case"def":{e+=this.renderer.def(a);break}case"paragraph":{e+=this.renderer.paragraph(a);break}case"text":{e+=this.renderer.text(a);break}default:{let c='Token with "'+a.type+'" type was not found.';if(this.options.silent)return console.error(c),"";throw new Error(c)}}}return e}parseInline(t,e=this.renderer){var i,s;this.renderer.parser=this;let r="";for(let o=0;o<t.length;o++){let a=t[o];if((s=(i=this.options.extensions)==null?void 0:i.renderers)!=null&&s[a.type]){let u=this.options.extensions.renderers[a.type].call({parser:this},a);if(u!==!1||!["escape","html","link","image","strong","em","codespan","br","del","text"].includes(a.type)){r+=u||"";continue}}let c=a;switch(c.type){case"escape":{r+=e.text(c);break}case"html":{r+=e.html(c);break}case"link":{r+=e.link(c);break}case"image":{r+=e.image(c);break}case"checkbox":{r+=e.checkbox(c);break}case"strong":{r+=e.strong(c);break}case"em":{r+=e.em(c);break}case"codespan":{r+=e.codespan(c);break}case"br":{r+=e.br(c);break}case"del":{r+=e.del(c);break}case"text":{r+=e.text(c);break}default:{let u='Token with "'+c.type+'" type was not found.';if(this.options.silent)return console.error(u),"";throw new Error(u)}}}return r}},Va,Ys=(Va=class{constructor(n){g(this,"options");g(this,"block");this.options=n||ei}preprocess(n){return n}postprocess(n){return n}processAllTokens(n){return n}emStrongMask(n){return n}provideLexer(){return this.block?Dt.lex:Dt.lexInline}provideParser(){return this.block?Lt.parse:Lt.parseInline}},g(Va,"passThroughHooks",new Set(["preprocess","postprocess","processAllTokens","emStrongMask"])),g(Va,"passThroughHooksRespectAsync",new Set(["preprocess","postprocess","processAllTokens"])),Va),GN=class{constructor(...n){g(this,"defaults",qd());g(this,"options",this.setOptions);g(this,"parse",this.parseMarkdown(!0));g(this,"parseInline",this.parseMarkdown(!1));g(this,"Parser",Lt);g(this,"Renderer",Fl);g(this,"TextRenderer",np);g(this,"Lexer",Dt);g(this,"Tokenizer",Ul);g(this,"Hooks",Ys);this.use(...n)}walkTokens(n,t){var r,i;let e=[];for(let s of n)switch(e=e.concat(t.call(this,s)),s.type){case"table":{let o=s;for(let a of o.header)e=e.concat(this.walkTokens(a.tokens,t));for(let a of o.rows)for(let c of a)e=e.concat(this.walkTokens(c.tokens,t));break}case"list":{let o=s;e=e.concat(this.walkTokens(o.items,t));break}default:{let o=s;(i=(r=this.defaults.extensions)==null?void 0:r.childTokens)!=null&&i[o.type]?this.defaults.extensions.childTokens[o.type].forEach(a=>{let c=o[a].flat(1/0);e=e.concat(this.walkTokens(c,t))}):o.tokens&&(e=e.concat(this.walkTokens(o.tokens,t)))}}return e}use(...n){let t=this.defaults.extensions||{renderers:{},childTokens:{}};return n.forEach(e=>{let r={...e};if(r.async=this.defaults.async||r.async||!1,e.extensions&&(e.extensions.forEach(i=>{if(!i.name)throw new Error("extension name required");if("renderer"in i){let s=t.renderers[i.name];s?t.renderers[i.name]=function(...o){let a=i.renderer.apply(this,o);return a===!1&&(a=s.apply(this,o)),a}:t.renderers[i.name]=i.renderer}if("tokenizer"in i){if(!i.level||i.level!=="block"&&i.level!=="inline")throw new Error("extension level must be 'block' or 'inline'");let s=t[i.level];s?s.unshift(i.tokenizer):t[i.level]=[i.tokenizer],i.start&&(i.level==="block"?t.startBlock?t.startBlock.push(i.start):t.startBlock=[i.start]:i.level==="inline"&&(t.startInline?t.startInline.push(i.start):t.startInline=[i.start]))}"childTokens"in i&&i.childTokens&&(t.childTokens[i.name]=i.childTokens)}),r.extensions=t),e.renderer){let i=this.defaults.renderer||new Fl(this.defaults);for(let s in e.renderer){if(!(s in i))throw new Error(`renderer '${s}' does not exist`);if(["options","parser"].includes(s))continue;let o=s,a=e.renderer[o],c=i[o];i[o]=(...u)=>{let h=a.apply(i,u);return h===!1&&(h=c.apply(i,u)),h||""}}r.renderer=i}if(e.tokenizer){let i=this.defaults.tokenizer||new Ul(this.defaults);for(let s in e.tokenizer){if(!(s in i))throw new Error(`tokenizer '${s}' does not exist`);if(["options","rules","lexer"].includes(s))continue;let o=s,a=e.tokenizer[o],c=i[o];i[o]=(...u)=>{let h=a.apply(i,u);return h===!1&&(h=c.apply(i,u)),h}}r.tokenizer=i}if(e.hooks){let i=this.defaults.hooks||new Ys;for(let s in e.hooks){if(!(s in i))throw new Error(`hook '${s}' does not exist`);if(["options","block"].includes(s))continue;let o=s,a=e.hooks[o],c=i[o];Ys.passThroughHooks.has(s)?i[o]=u=>{if(this.defaults.async&&Ys.passThroughHooksRespectAsync.has(s))return(async()=>{let f=await a.call(i,u);return c.call(i,f)})();let h=a.call(i,u);return c.call(i,h)}:i[o]=(...u)=>{if(this.defaults.async)return(async()=>{let f=await a.apply(i,u);return f===!1&&(f=await c.apply(i,u)),f})();let h=a.apply(i,u);return h===!1&&(h=c.apply(i,u)),h}}r.hooks=i}if(e.walkTokens){let i=this.defaults.walkTokens,s=e.walkTokens;r.walkTokens=function(o){let a=[];return a.push(s.call(this,o)),i&&(a=a.concat(i.call(this,o))),a}}this.defaults={...this.defaults,...r}}),this}setOptions(n){return this.defaults={...this.defaults,...n},this}lexer(n,t){return Dt.lex(n,t??this.defaults)}parser(n,t){return Lt.parse(n,t??this.defaults)}parseMarkdown(n){return(t,e)=>{let r={...e},i={...this.defaults,...r},s=this.onError(!!i.silent,!!i.async);if(this.defaults.async===!0&&r.async===!1)return s(new 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 s(new Error("marked(): input parameter is undefined or null"));if(typeof t!="string")return s(new Error("marked(): input parameter is of type "+Object.prototype.toString.call(t)+", string expected"));if(i.hooks&&(i.hooks.options=i,i.hooks.block=n),i.async)return(async()=>{let o=i.hooks?await i.hooks.preprocess(t):t,a=await(i.hooks?await i.hooks.provideLexer():n?Dt.lex:Dt.lexInline)(o,i),c=i.hooks?await i.hooks.processAllTokens(a):a;i.walkTokens&&await Promise.all(this.walkTokens(c,i.walkTokens));let u=await(i.hooks?await i.hooks.provideParser():n?Lt.parse:Lt.parseInline)(c,i);return i.hooks?await i.hooks.postprocess(u):u})().catch(s);try{i.hooks&&(t=i.hooks.preprocess(t));let o=(i.hooks?i.hooks.provideLexer():n?Dt.lex:Dt.lexInline)(t,i);i.hooks&&(o=i.hooks.processAllTokens(o)),i.walkTokens&&this.walkTokens(o,i.walkTokens);let a=(i.hooks?i.hooks.provideParser():n?Lt.parse:Lt.parseInline)(o,i);return i.hooks&&(a=i.hooks.postprocess(a)),a}catch(o){return s(o)}}}onError(n,t){return e=>{if(e.message+=`
|
|
500
|
+
Please report this to https://github.com/markedjs/marked.`,n){let r="<p>An error occurred:</p><pre>"+Wt(e.message+"",!0)+"</pre>";return t?Promise.resolve(r):r}if(t)return Promise.reject(e);throw e}}},Yr=new GN;function te(n,t){return Yr.parse(n,t)}te.options=te.setOptions=function(n){return Yr.setOptions(n),te.defaults=Yr.defaults,p0(te.defaults),te};te.getDefaults=qd;te.defaults=ei;te.use=function(...n){return Yr.use(...n),te.defaults=Yr.defaults,p0(te.defaults),te};te.walkTokens=function(n,t){return Yr.walkTokens(n,t)};te.parseInline=Yr.parseInline;te.Parser=Lt;te.parser=Lt.parse;te.Renderer=Fl;te.TextRenderer=np;te.Lexer=Dt;te.lexer=Dt.lex;te.Tokenizer=Ul;te.Hooks=Ys;te.parse=te;te.options;te.setOptions;te.use;te.walkTokens;te.parseInline;Lt.parse;Dt.lex;d0.addHook("afterSanitizeAttributes",n=>{n.tagName==="A"&&(n.setAttribute("target","_blank"),n.setAttribute("rel","noopener noreferrer"))});function qN(n){const t=te.parse(n,{async:!1});return d0.sanitize(t,{USE_PROFILES:{html:!0}})}var ea,En,rn,sn,qn,k0,bl;class Yh extends hs{constructor(){super(...arguments);S(this,qn);g(this,"phase","thinking");g(this,"toolCalls",[]);g(this,"expanded",!1);g(this,"expandedTexts",new Set);S(this,ea,`agent-activity-panel-${++JN}`);g(this,"overflowingTexts",new Set);S(this,En,null);S(this,rn,null);S(this,sn,null);g(this,"handleToggle",()=>{this.toolCalls.length!==0&&(this.expanded=!this.expanded)})}changed(e){Ze(this.template(),this),p(this,qn,k0).call(this),l(this,rn)!==null&&cancelAnimationFrame(l(this,rn)),w(this,rn,requestAnimationFrame(()=>{w(this,rn,null),p(this,qn,bl).call(this)})),e.has("expanded")&&(l(this,sn)!==null&&clearTimeout(l(this,sn)),w(this,sn,window.setTimeout(()=>{w(this,sn,null),p(this,qn,bl).call(this)},KN)))}disconnected(){var e;(e=l(this,En))==null||e.disconnect(),w(this,En,null),l(this,rn)!==null&&(cancelAnimationFrame(l(this,rn)),w(this,rn,null)),l(this,sn)!==null&&(clearTimeout(l(this,sn)),w(this,sn,null))}template(){const e=this.toolCalls.length>0;return L`
|
|
501
|
+
${this.barTemplate()}
|
|
502
|
+
${e?this.panelTemplate():null}
|
|
503
|
+
`}barTemplate(){return this.phase==="thinking"?L`<div class="bar bar-static" unselectable>${this.indicator()}${this.label({expanded:this.expanded})}</div>`:L`
|
|
504
|
+
<button
|
|
505
|
+
type="button"
|
|
506
|
+
variant="ghost"
|
|
507
|
+
class="bar"
|
|
508
|
+
unselectable
|
|
509
|
+
aria-expanded=${this.expanded?"true":"false"}
|
|
510
|
+
aria-controls=${l(this,ea)}
|
|
511
|
+
@click=${this.handleToggle}
|
|
512
|
+
>
|
|
513
|
+
${this.indicator()}${this.label({expanded:this.expanded})}
|
|
514
|
+
</button>
|
|
515
|
+
`}panelTemplate(){return L`
|
|
516
|
+
<div
|
|
517
|
+
class="panel"
|
|
518
|
+
id=${l(this,ea)}
|
|
519
|
+
role="region"
|
|
520
|
+
?inert=${!this.expanded}
|
|
521
|
+
aria-hidden=${this.expanded?"false":"true"}
|
|
522
|
+
>
|
|
523
|
+
<div class="panel-inner">
|
|
524
|
+
<ol class="tool-list">
|
|
525
|
+
${this.toolCalls.map(e=>this.toolItemTemplate(e))}
|
|
526
|
+
</ol>
|
|
527
|
+
</div>
|
|
528
|
+
</div>
|
|
529
|
+
`}toolItemTemplate(e){const r=this.expandedTexts.has(e.toolCallId),i=this.overflowingTexts.has(e.toolCallId),s=r?"Show less":"Show more";return L`
|
|
530
|
+
<li class="tool-item">
|
|
531
|
+
<span
|
|
532
|
+
class="tool-dot"
|
|
533
|
+
data-status=${e.status}
|
|
534
|
+
role="img"
|
|
535
|
+
aria-label=${XN(e.status)}
|
|
536
|
+
></span>
|
|
537
|
+
<span class="tool-title">${e.title}</span>
|
|
538
|
+
${e.text?L`
|
|
539
|
+
<div class="tool-output">
|
|
540
|
+
<pre
|
|
541
|
+
class="tool-text"
|
|
542
|
+
data-tool-call-id=${e.toolCallId}
|
|
543
|
+
?data-expanded=${r}
|
|
544
|
+
>${e.text}</pre>
|
|
545
|
+
${i?L`<button
|
|
546
|
+
type="button"
|
|
547
|
+
variant="ghost"
|
|
548
|
+
class="tool-text-toggle"
|
|
549
|
+
@click=${()=>this.toggleTextExpand(e.toolCallId)}
|
|
550
|
+
>
|
|
551
|
+
<span>${s}</span>
|
|
552
|
+
${r?lO({size:16}):Ol({size:16})}
|
|
553
|
+
</button>`:null}
|
|
554
|
+
</div>
|
|
555
|
+
`:null}
|
|
556
|
+
</li>
|
|
557
|
+
`}toggleTextExpand(e){const r=new Set(this.expandedTexts);r.has(e)?r.delete(e):r.add(e),this.expandedTexts=r}indicator(){if(this.expanded)return L`<span class="indicator">${Ol({size:16})}</span>`;const e=this.phase==="thinking"||this.phase==="using";return L`<span class=${e?"indicator indicator-active":"indicator"}
|
|
558
|
+
>${e?lw({size:16}):dO({size:16})}</span>`}label(e){var s;if(this.phase==="thinking")return"Thinking…";const r=this.toolCalls.length;if(this.phase==="using"){if(e.expanded)return`Using ${r} ${r===1?"tool":"tools"}…`;const o=[...this.toolCalls].reverse().find(c=>c.status==="in_progress"),a=(o==null?void 0:o.toolKind)??((s=this.toolCalls.at(-1))==null?void 0:s.toolKind)??"other";return YN(a)}return`${e.expanded?"Showing":"Used"} ${r} ${r===1?"tool":"tools"}`}}ea=new WeakMap,En=new WeakMap,rn=new WeakMap,sn=new WeakMap,qn=new WeakSet,k0=function(){if(!(typeof ResizeObserver>"u")){l(this,En)||w(this,En,new ResizeObserver(()=>p(this,qn,bl).call(this))),l(this,En).disconnect();for(const e of this.querySelectorAll(".tool-text"))l(this,En).observe(e)}},bl=function(){const e=new Set;for(const r of this.querySelectorAll(".tool-text")){const i=r.dataset.toolCallId;if(i){if(this.expandedTexts.has(i)){e.add(i);continue}r.scrollHeight>r.clientHeight+1&&e.add(i)}}QN(this.overflowingTexts,e)||(this.overflowingTexts=e)},g(Yh,"properties",["phase","toolCalls","expanded","expandedTexts","overflowingTexts"]),g(Yh,"attributes",{expanded:{type:Boolean}});function YN(n){switch(n){case"read":return"Reading files…";case"edit":return"Editing files…";case"delete":return"Deleting files…";case"move":return"Moving files…";case"search":return"Searching files…";case"execute":return"Running commands…";case"think":return"Thinking…";case"fetch":return"Fetching content…";case"switch_mode":return"Switching modes…";default:return"Working…"}}const KN=160;let JN=0;function XN(n){switch(n){case"completed":return"Completed";case"failed":return"Failed";case"in_progress":return"In progress";default:return"Pending"}}function QN(n,t){if(n.size!==t.size)return!1;for(const e of n)if(!t.has(e))return!1;return!0}customElements.define("agent-activity",Yh);function e6(n){const t=[];let e=0;for(;e<n.length;)if(n[e].kind==="tool_call"){const i=[];for(;e<n.length&&n[e].kind==="tool_call";)i.push(n[e]),e+=1;const s=e>=n.length;t.push({kind:"tool-run",toolCalls:i,live:s})}else t.push({kind:"message",message:n[e]}),e+=1;const r=n[n.length-1];return r&&r.kind==="user"&&t.push({kind:"thinking"}),t}const Pm=8,Dm=new WeakMap;function t6(n){const t=Dm.get(n);if(t&&t.text===n.text)return t.html;const e=qN(n.text);return Dm.set(n,{text:n.text,html:e}),e}function Lm(n){for(let t=n.length-1;t>=0;t-=1){const e=n[t];if(e&&e.kind==="user")return e.id}return null}var mt,vt,Fr,Hr,Vn,_t,E0,Kh,A0,Ql,ec,Jh;class x0 extends hs{constructor(){super(...arguments);S(this,_t);g(this,"messages",[]);S(this,mt,!0);S(this,vt,null);S(this,Fr,null);S(this,Hr,null);S(this,Vn,!1);S(this,Ql,()=>{if(l(this,Vn))return;const e=l(this,vt);if(!e)return;const i=e.scrollHeight-e.clientHeight-e.scrollTop<=Pm;i!==l(this,mt)&&(w(this,mt,i),this.toggleAttribute("data-pinned",i))});S(this,ec,()=>{w(this,mt,!0),this.toggleAttribute("data-pinned",!0),p(this,_t,Jh).call(this,!0)})}changed(e){let r=!1;if(e.has("messages")){const i=e.get("messages")??[],s=Lm(this.messages);r=s!==null&&s!==Lm(i),r&&w(this,mt,!0)}Ze(this.template(),this),l(this,vt)||(w(this,vt,this.querySelector(".history-scroll")),l(this,vt)&&p(this,_t,E0).call(this)),this.toggleAttribute("data-pinned",l(this,mt)),p(this,_t,Kh).call(this),p(this,_t,Jh).call(this,r)}disconnected(){var e,r;(e=l(this,Fr))==null||e.disconnect(),w(this,Fr,null),(r=l(this,Hr))==null||r.disconnect(),w(this,Hr,null)}template(){const e=e6(this.messages);return L`
|
|
559
|
+
<div class="history-scroll" @scroll=${l(this,Ql)}>
|
|
560
|
+
${e.map(r=>{if(r.kind==="tool-run")return L`<agent-activity
|
|
561
|
+
.phase=${r.live?"using":"final"}
|
|
562
|
+
.toolCalls=${r.toolCalls}
|
|
563
|
+
></agent-activity>`;if(r.kind==="thinking")return L`<agent-activity
|
|
564
|
+
.phase=${"thinking"}
|
|
565
|
+
.toolCalls=${[]}
|
|
566
|
+
></agent-activity>`;const i=r.message,s=i.kind==="assistant"?Vz(t6(i)):i.text;return L`<div
|
|
567
|
+
class="message message-${i.kind}"
|
|
568
|
+
data-message-id=${i.id}
|
|
569
|
+
>${s}</div>`})}
|
|
570
|
+
</div>
|
|
571
|
+
<button
|
|
572
|
+
type="button"
|
|
573
|
+
class="history-jump"
|
|
574
|
+
aria-label="Jump to latest message"
|
|
575
|
+
@click=${l(this,ec)}
|
|
576
|
+
>
|
|
577
|
+
${Ol({size:16})}
|
|
578
|
+
</button>
|
|
579
|
+
`}}mt=new WeakMap,vt=new WeakMap,Fr=new WeakMap,Hr=new WeakMap,Vn=new WeakMap,_t=new WeakSet,E0=function(){l(this,vt)&&(typeof ResizeObserver>"u"||(w(this,Fr,new ResizeObserver(()=>p(this,_t,A0).call(this))),w(this,Hr,new MutationObserver(()=>p(this,_t,Kh).call(this))),l(this,Hr).observe(l(this,vt),{childList:!0})))},Kh=function(){const e=l(this,vt),r=l(this,Fr);if(!(!e||!r)){r.disconnect();for(const i of Array.from(e.children))r.observe(i)}},A0=function(){const e=l(this,vt);if(!e)return;if(l(this,mt)){w(this,Vn,!0),e.scrollTop=e.scrollHeight-e.clientHeight,requestAnimationFrame(()=>{w(this,Vn,!1)});return}const i=e.scrollHeight-e.clientHeight-e.scrollTop<=Pm;i!==l(this,mt)&&(w(this,mt,i),this.toggleAttribute("data-pinned",i))},Ql=new WeakMap,ec=new WeakMap,Jh=function(e){requestAnimationFrame(()=>{const r=l(this,vt);r&&(!l(this,mt)&&!e||(w(this,Vn,!0),r.scrollTop=r.scrollHeight-r.clientHeight,requestAnimationFrame(()=>{w(this,Vn,!1)})))})},g(x0,"properties",["messages"]);customElements.define("message-history",x0);var Rt,ta,ns,on,rs,is,na,ss,tc,nc,rc,yt,wl,ra,Qh,ed,ia,sa;class Xh extends hs{constructor(){super(...arguments);S(this,yt);g(this,"placeholder","What do you want to do?");g(this,"open",!1);g(this,"messages",[]);g(this,"status","disconnected");S(this,Rt,un.resolve("ServerManager"));S(this,ta,un.resolve("ShortcutService"));S(this,ns,null);S(this,on,null);S(this,rs,()=>{var e;this.status=((e=l(this,on))==null?void 0:e.status)??"disconnected"});S(this,is,()=>{var e;this.messages=((e=l(this,on))==null?void 0:e.messages)??[]});S(this,na,()=>{var e,r;(e=l(this,on))==null||e.removeEventListener("status-changed",l(this,rs)),(r=l(this,on))==null||r.removeEventListener("messages-changed",l(this,is)),w(this,on,null)});S(this,ss,()=>{var r;const e=((r=l(this,Rt).activeServer)==null?void 0:r.acpClient)??null;e!==l(this,on)&&(l(this,na).call(this),w(this,on,e),e==null||e.addEventListener("status-changed",l(this,rs)),e==null||e.addEventListener("messages-changed",l(this,is)),l(this,rs).call(this),l(this,is).call(this),e!=null&&e.enabled&&e.status==="disconnected"&&e.connect().catch(i=>{console.error("ACPClient.connect() failed",i)}))});g(this,"handleTriggerActivate",()=>{var r;const e=(r=l(this,Rt).activeServer)==null?void 0:r.acpClient;e&&!e.enabled||(this.open=!0)});g(this,"handleKeydown",e=>{var o;if(e.key!=="Enter"||e.shiftKey)return;const r=e.currentTarget,i=r.value.trim();if(e.preventDefault(),!i)return;r.value="",p(this,yt,wl).call(this,r);const s=(o=l(this,Rt).activeServer)==null?void 0:o.acpClient;if(s!=null&&s.enabled){if(i==="/new"){s.startNewSession().catch(a=>{console.error("ACPClient.startNewSession() failed",a)});return}s.sendMessage({text:i}).catch(a=>{console.error("ACPClient.sendMessage() failed",a)})}});S(this,tc,e=>{p(this,yt,wl).call(this,e.currentTarget)});S(this,nc,e=>{var i;e.stopPropagation();const r=(i=l(this,Rt).activeServer)==null?void 0:i.acpClient;r&&r.cancel().catch(s=>{console.error("ACPClient.cancel() failed",s)})});S(this,rc,e=>{if(e.target instanceof HTMLTextAreaElement)return;const r=e.currentTarget.querySelector("textarea");r==null||r.focus()});S(this,ra,e=>{var s;if(e.shortcut!=="focusCommandInput")return;const r=(s=l(this,Rt).activeServer)==null?void 0:s.acpClient;if(r&&!r.enabled)return;if(!this.open){this.open=!0;return}const i=this.querySelector("textarea");if(i){if(document.activeElement===i){this.open=!1;return}i.focus()}});S(this,ia,e=>{e.target instanceof Node&&(this.contains(e.target)||(this.open=!1))});S(this,sa,e=>{e.key==="Escape"&&(this.open=!1)})}connected(){const e=new DisposableStack;w(this,ns,e),l(this,Rt).addEventListener("change",l(this,ss)),e.defer(()=>{l(this,Rt).removeEventListener("change",l(this,ss)),l(this,na).call(this)}),l(this,ss).call(this),l(this,ta).addEventListener("shortcut-triggered",l(this,ra)),e.defer(()=>l(this,ta).removeEventListener("shortcut-triggered",l(this,ra))),this.open&&p(this,yt,Qh).call(this)}disconnected(){var e;(e=l(this,ns))==null||e.dispose(),w(this,ns,null),p(this,yt,ed).call(this)}changed(e){if(this.open&&this.status!=="disconnected"?(this.removeAttribute("material"),this.removeAttribute("tone"),this.removeAttribute("level")):(this.setAttribute("material","paper"),this.setAttribute("tone","dark"),this.setAttribute("level","overlay")),Ze(this.template(),this),e.has("open"))if(this.open){p(this,yt,Qh).call(this);const r=this.querySelector("textarea");r&&(p(this,yt,wl).call(this,r),r.focus())}else p(this,yt,ed).call(this)}template(){var i;const e=(i=l(this,Rt).activeServer)==null?void 0:i.acpClient;if(e&&!e.enabled||this.status==="disposed")return null;if(this.status==="disconnected")return L`
|
|
580
|
+
<div class="connecting" aria-disabled="true">
|
|
581
|
+
<ui-spinner size="16" weight="bold"></ui-spinner>
|
|
582
|
+
<span class="label">Connecting<span class="dots" aria-hidden="true"></span></span>
|
|
583
|
+
</div>
|
|
584
|
+
`;if(this.open){const s=this.status==="running"||this.status==="cancelling",o=this.status==="cancelling";return L`
|
|
585
|
+
<div class="open">
|
|
586
|
+
<div
|
|
587
|
+
class="chat"
|
|
588
|
+
material="paper"
|
|
589
|
+
tone="dark"
|
|
590
|
+
level="overlay"
|
|
591
|
+
>
|
|
592
|
+
<message-history selectable .messages=${this.messages}></message-history>
|
|
593
|
+
</div>
|
|
594
|
+
<div
|
|
595
|
+
class="input"
|
|
596
|
+
material="paper"
|
|
597
|
+
tone="dark"
|
|
598
|
+
level="overlay"
|
|
599
|
+
@click=${l(this,rc)}
|
|
600
|
+
>
|
|
601
|
+
<textarea
|
|
602
|
+
class="textarea"
|
|
603
|
+
rows="1"
|
|
604
|
+
@keydown=${this.handleKeydown}
|
|
605
|
+
@input=${l(this,tc)}
|
|
606
|
+
></textarea>
|
|
607
|
+
${s?L`
|
|
608
|
+
<button
|
|
609
|
+
type="button"
|
|
610
|
+
icon-only
|
|
611
|
+
variant="ghost"
|
|
612
|
+
aria-label=${o?"Cancelling…":"Stop generating"}
|
|
613
|
+
?disabled=${o}
|
|
614
|
+
@click=${l(this,nc)}
|
|
615
|
+
>
|
|
616
|
+
${o?L`<ui-spinner size="16" weight="bold"></ui-spinner>`:aO({size:16})}
|
|
617
|
+
</button>
|
|
618
|
+
`:null}
|
|
619
|
+
</div>
|
|
620
|
+
</div>
|
|
621
|
+
`}return L`
|
|
622
|
+
<div
|
|
623
|
+
class="trigger"
|
|
624
|
+
tabindex="0"
|
|
625
|
+
role="button"
|
|
626
|
+
@click=${this.handleTriggerActivate}
|
|
627
|
+
@focus=${this.handleTriggerActivate}
|
|
628
|
+
>
|
|
629
|
+
<span class="label">${this.placeholder}</span>
|
|
630
|
+
<span class="kbd" aria-hidden="true">⌘K</span>
|
|
631
|
+
</div>
|
|
632
|
+
`}}Rt=new WeakMap,ta=new WeakMap,ns=new WeakMap,on=new WeakMap,rs=new WeakMap,is=new WeakMap,na=new WeakMap,ss=new WeakMap,tc=new WeakMap,nc=new WeakMap,rc=new WeakMap,yt=new WeakSet,wl=function(e){e.style.height="auto",e.style.height=`${e.scrollHeight}px`},ra=new WeakMap,Qh=function(){document.addEventListener("mousedown",l(this,ia)),document.addEventListener("keydown",l(this,sa))},ed=function(){document.removeEventListener("mousedown",l(this,ia)),document.removeEventListener("keydown",l(this,sa))},ia=new WeakMap,sa=new WeakMap,g(Xh,"properties",["placeholder","open","messages","status"]),g(Xh,"attributes",{placeholder:{type:String},open:{type:Boolean}});customElements.define("command-panel",Xh);const n6='<path d="M128,112a28,28,0,0,0-8,54.83V184a8,8,0,0,0,16,0V166.83A28,28,0,0,0,128,112Zm0,40a12,12,0,1,1,12-12A12,12,0,0,1,128,152Zm80-72H176V56a48,48,0,0,0-96,0V80H48A16,16,0,0,0,32,96V208a16,16,0,0,0,16,16H208a16,16,0,0,0,16-16V96A16,16,0,0,0,208,80ZM96,56a32,32,0,0,1,64,0V80H96ZM208,208H48V96H208V208Z"/>';class $0 extends Event{constructor(e){super("auth-submit",{bubbles:!0,composed:!0});g(this,"token");this.token=e}}class r6 extends HTMLElement{constructor(){super(...arguments);g(this,"_invalid",!1);g(this,"_tokenValue","")}set invalid(e){this._invalid=e,this.render()}get invalid(){return this._invalid}set tokenValue(e){this._tokenValue=e,this.render()}get tokenValue(){return this._tokenValue}connectedCallback(){this.render()}handleInput(e){const r=e.currentTarget;this._tokenValue=r.value}handleSubmit(e){e.preventDefault();const r=this._tokenValue.trim();r&&this.dispatchEvent(new $0(r))}render(){Ze(L`
|
|
633
|
+
<modal-overlay open>
|
|
634
|
+
<system-modal material="glass-frosted" level="1" class="auth-modal">
|
|
635
|
+
<form class="auth-form" @submit=${r=>this.handleSubmit(r)}>
|
|
636
|
+
<header>
|
|
637
|
+
<span class="auth-modal-icon" aria-hidden="true">
|
|
638
|
+
<svg width="32" height="32" viewBox="0 0 256 256" fill="currentColor">${ow(n6)}</svg>
|
|
639
|
+
</span>
|
|
640
|
+
<hgroup>
|
|
641
|
+
<h2>Enter access token</h2>
|
|
642
|
+
<p>${"This server requires an access token to connect."}</p>
|
|
643
|
+
</hgroup>
|
|
644
|
+
</header>
|
|
645
|
+
<div class="auth-input-row">
|
|
646
|
+
<input
|
|
647
|
+
class=${this.invalid?"auth-token-input auth-token-input-invalid":"auth-token-input"}
|
|
648
|
+
type="password"
|
|
649
|
+
name="token"
|
|
650
|
+
placeholder="paste token here"
|
|
651
|
+
aria-label="Access token"
|
|
652
|
+
.value=${this.tokenValue}
|
|
653
|
+
@input=${r=>this.handleInput(r)}
|
|
654
|
+
autofocus
|
|
655
|
+
required
|
|
656
|
+
/>
|
|
657
|
+
${this.invalid?L`<p class="auth-modal-error" role="alert">
|
|
658
|
+
The previous token was rejected. Try again.
|
|
659
|
+
</p>`:null}
|
|
660
|
+
</div>
|
|
661
|
+
<button type="submit" variant="primary" class="auth-submit">
|
|
662
|
+
Connect
|
|
663
|
+
</button>
|
|
664
|
+
</form>
|
|
665
|
+
</system-modal>
|
|
666
|
+
</modal-overlay>
|
|
667
|
+
`,this)}}customElements.get("auth-modal")||customElements.define("auth-modal",r6);const i6=250,s6=1e3;class T0 extends HTMLElement{constructor(){super(...arguments);g(this,"_nextRetryAt",null);g(this,"_hasEverConnected",!1);g(this,"tickHandle",null)}set nextRetryAt(e){e!==this._nextRetryAt&&(this._nextRetryAt=e,this.updateTickerState(),this.render())}get nextRetryAt(){return this._nextRetryAt}set hasEverConnected(e){e!==this._hasEverConnected&&(this._hasEverConnected=e,this.render())}get hasEverConnected(){return this._hasEverConnected}connectedCallback(){if(this._nextRetryAt===null&&this.hasAttribute("next-retry-at")){const e=Number(this.getAttribute("next-retry-at"));this._nextRetryAt=Number.isFinite(e)?e:null}this.updateTickerState(),this.render()}disconnectedCallback(){this.stopTicker()}attributeChangedCallback(e,r,i){if(e==="next-retry-at"){if(i===null||i==="")this._nextRetryAt=null;else{const s=Number(i);this._nextRetryAt=Number.isFinite(s)?s:null}this.updateTickerState()}else e==="has-ever-connected"&&(this._hasEverConnected=i!==null&&i!=="false");this.render()}updateTickerState(){this._nextRetryAt!==null?this.startTicker():this.stopTicker()}startTicker(){this.tickHandle===null&&(this.tickHandle=setInterval(()=>{this.render()},i6))}stopTicker(){this.tickHandle!==null&&(clearInterval(this.tickHandle),this.tickHandle=null)}render(){const e=this._hasEverConnected,r=e?"Disconnected":"Connecting",i=this._nextRetryAt!==null?this.formatCountdown(this._nextRetryAt):"Reattempting now…";Ze(L`
|
|
668
|
+
<modal-overlay open role="status" aria-live="polite">
|
|
669
|
+
<system-modal material="glass-frosted" level="1" class="connecting-overlay-panel">
|
|
670
|
+
<header>
|
|
671
|
+
<ui-spinner size="32"></ui-spinner>
|
|
672
|
+
<hgroup>
|
|
673
|
+
<h2>${r}</h2>
|
|
674
|
+
${e?L`<p>${i}</p>`:null}
|
|
675
|
+
</hgroup>
|
|
676
|
+
</header>
|
|
677
|
+
</system-modal>
|
|
678
|
+
</modal-overlay>
|
|
679
|
+
`,this)}formatCountdown(e){const r=e-Date.now();return r<=0?"Reattempting now…":`Reattempting in ${Math.ceil(r/s6)}s…`}}g(T0,"observedAttributes",["next-retry-at","has-ever-connected"]);customElements.get("connecting-overlay")||customElements.define("connecting-overlay",T0);class o6 extends HTMLElement{constructor(){super(...arguments);g(this,"runtimeServerURL",eb());g(this,"electronMode",ln());g(this,"serverManager",un.resolve("ServerManager"));g(this,"screenManager",un.resolve("ScreenManager"));g(this,"connectError",null);g(this,"topRowResizeObserver",null);g(this,"observedTopRow",null);g(this,"handleServerManagerChange",()=>{var e;this.connectError!==null&&((e=this.serverManager.activeServer)==null?void 0:e.status)==="connected"&&(this.connectError=null),this.render()});g(this,"handleScreenManagerChange",()=>{this.render()})}connectedCallback(){this.serverManager.addEventListener("change",this.handleServerManagerChange),this.screenManager.addEventListener("active-screen-changed",this.handleScreenManagerChange),this.screenManager.addEventListener("tabs-changed",this.handleScreenManagerChange),this.addEventListener("auth-submit",e=>{var i;const r=e instanceof $0?e.token:e instanceof CustomEvent&&typeof((i=e.detail)==null?void 0:i.token)=="string"?e.detail.token:null;r&&this.handleAuthSubmit(r)}),this.initializeConnection(),this.render()}disconnectedCallback(){var e;this.serverManager.removeEventListener("change",this.handleServerManagerChange),this.screenManager.removeEventListener("active-screen-changed",this.handleScreenManagerChange),this.screenManager.removeEventListener("tabs-changed",this.handleScreenManagerChange),(e=this.topRowResizeObserver)==null||e.disconnect(),this.topRowResizeObserver=null,this.observedTopRow=null}async initializeConnection(){if(this.electronMode){this.serverManager.connectConfiguredServers(this.runtimeServerURL,Og());return}if(this.serverManager.activeServer)return;const e=Og(),r=new Kb({url:this.runtimeServerURL,name:"Server",token:e});this.serverManager.add(r),this.serverManager.setActive(r);try{await r.connect(e),this.connectError=null}catch(i){this.connectError=i instanceof Error&&!(i instanceof Qs)?i.message:null}this.render()}async handleAuthSubmit(e){const r=this.serverManager.activeServer;if(r){this.connectError=null,this.updateTokenQueryParam(e);try{await r.connect(e)}catch(i){i instanceof Qs||(this.connectError=i instanceof Error?i.message:String(i))}this.render()}}updateTokenQueryParam(e){const r=new URL(window.location.href);r.searchParams.set("token",e),window.history.replaceState({},"",`${r.pathname}${r.search}${r.hash}`)}render(){const e=this.serverManager.activeServer,r=(e==null?void 0:e.status)??null,i=this.screenManager.activeScreen,s=!!(e&&i&&this.screenManager.hasTab(e.url,i.id));if(r==="unauthorized"){const h=e;if(!h)return;Ze(L`
|
|
680
|
+
<main class="auth-gate">
|
|
681
|
+
<auth-modal
|
|
682
|
+
.invalid=${!!h.token}
|
|
683
|
+
.tokenValue=${h.token??""}
|
|
684
|
+
></auth-modal>
|
|
685
|
+
</main>
|
|
686
|
+
`,this),this.updateLayoutChromeBalance();return}const o=r==="disconnected",a=(e==null?void 0:e.hasEverConnected)??!1,u=r==="connected"||o&&a;Ze(L`
|
|
687
|
+
<main>
|
|
688
|
+
${this.connectError?L`<p data-testid="auth-error">${this.connectError}</p>`:L`
|
|
689
|
+
${u?L`
|
|
690
|
+
<div class="top-row" electron-draggable>
|
|
691
|
+
<screen-select></screen-select>
|
|
692
|
+
</div>
|
|
693
|
+
`:null}
|
|
694
|
+
${s?L`<screen-view></screen-view>`:null}
|
|
695
|
+
${u&&(e!=null&&e.acpClient.enabled)?L`
|
|
696
|
+
<div class="command-panel-region">
|
|
697
|
+
<command-panel></command-panel>
|
|
698
|
+
</div>
|
|
699
|
+
`:null}
|
|
700
|
+
`}
|
|
701
|
+
${o?L`<connecting-overlay
|
|
702
|
+
.nextRetryAt=${(e==null?void 0:e.nextRetryAt)??null}
|
|
703
|
+
.hasEverConnected=${(e==null?void 0:e.hasEverConnected)??!1}
|
|
704
|
+
></connecting-overlay>`:null}
|
|
705
|
+
</main>
|
|
706
|
+
`,this),this.updateLayoutChromeBalance()}updateLayoutChromeBalance(){var o;const e=this.querySelector("main"),r=this.querySelector(".top-row"),i=this.querySelector(".command-panel-region"),s=r&&!i?r.getBoundingClientRect().height:0;e==null||e.style.setProperty("--layout-virtual-bottom-balance",`${s}px`),r!==this.observedTopRow&&((o=this.topRowResizeObserver)==null||o.disconnect(),this.observedTopRow=r,r&&typeof ResizeObserver<"u"?(this.topRowResizeObserver=new ResizeObserver(()=>this.updateLayoutChromeBalance()),this.topRowResizeObserver.observe(r)):this.topRowResizeObserver=null)}}customElements.get("television-app")||customElements.define("television-app",o6);const rp=ln(),ip=eb(),I0=new b$(rp?"television-electron":"television-browser",f$(ip)),cn=new _z({localStore:I0,localServerURL:ip}),C0=new A$({localStore:I0,serverManager:cn}),a6=new kz,l6=()=>{const n=[...cn.servers.values()].filter(t=>t.status==="connected");n.length!==0&&Promise.all(n.map(t=>t.client.artifacts.list())).then(t=>{const e=new Set(t.flatMap(({artifacts:r})=>r.map(i=>i.id)));Lz(e)}).catch(()=>{})},R0=()=>{const n=cn.activeServer;if(!n||n.status!=="connected"){Al();return}l6(),n.client.display.get().then(t=>{if(!(cn.activeServer!==n||n.status!=="connected"))return ew(t.activeThemeName,n)}).catch(()=>{cn.activeServer===n&&Al()})};R0();cn.addEventListener("change",R0);cn.addEventListener("server-event",n=>{if(n.event.type!=="theme-changed")return;const t=cn.activeServer;!t||t.url!==n.serverURL||ew(n.event.themeName,t)});un.register("ServerManager",()=>cn);un.register("ScreenManager",()=>C0);un.register("ShortcutService",()=>a6);globalThis.__telepath={screenManager:C0,serverManager:cn};const sp=document.createElement("television-app");sp.runtimeServerURL=ip;sp.electronMode=rp;rp&&document.body.classList.add("electron");document.body.appendChild(sp);
|