@vuu-ui/vuu-layout 0.8.11 → 0.8.12
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/cjs/index.js +17 -17
- package/cjs/index.js.map +4 -4
- package/esm/index.js +17 -17
- package/esm/index.js.map +4 -4
- package/index.css +1 -1
- package/index.css.map +3 -3
- package/package.json +6 -6
- package/types/layout-persistence/LocalLayoutPersistenceManager.d.ts +2 -0
- package/types/layout-reducer/layoutTypes.d.ts +1 -0
- package/types/overflow-container/OverflowContainer.d.ts +2 -0
- package/types/overflow-container/overflow-utils.d.ts +2 -1
- package/types/palette/Palette.d.ts +4 -3
- package/types/toolbar/Toolbar.d.ts +8 -1
- package/types/toolbar/{tabstrip-dom-utils.d.ts → toolbar-dom-utils.d.ts} +1 -0
- package/types/toolbar/useKeyboardNavigation.d.ts +8 -5
- package/types/toolbar/useToolbar.d.ts +8 -2
package/cjs/index.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
"use strict";var xw=Object.create;var Ks=Object.defineProperty;var vw=Object.getOwnPropertyDescriptor;var ww=Object.getOwnPropertyNames;var Sw=Object.getPrototypeOf,Cw=Object.prototype.hasOwnProperty;var Tw=(r,e)=>{for(var t in e)Ks(r,t,{get:e[t],enumerable:!0})},Bd=(r,e,t,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let o of ww(e))!Cw.call(r,o)&&o!==t&&Ks(r,o,{get:()=>e[o],enumerable:!(n=vw(e,o))||n.enumerable});return r};var z=(r,e,t)=>(t=r!=null?xw(Sw(r)):{},Bd(e||!r||!r.__esModule?Ks(t,"default",{value:r,enumerable:!0}):t,r)),kw=r=>Bd(Ks({},"__esModule",{value:!0}),r);var Hd=(r,e,t)=>{if(!e.has(r))throw TypeError("Cannot "+t)};var T=(r,e,t)=>(Hd(r,e,"read from private field"),t?t.call(r):e.get(r)),ne=(r,e,t)=>{if(e.has(r))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(r):e.set(r,t)},W=(r,e,t,n)=>(Hd(r,e,"write to private field"),n?n.call(r,t):e.set(r,t),t),_d=(r,e,t,n)=>({set _(o){W(r,e,o,t)},get _(){return T(r,e,n)}});var eP={};Tw(eP,{Action:()=>Jn,BORDER_STYLES:()=>JI,Component:()=>Js,ComponentRegistry:()=>Un,ConfigWrapper:()=>GI,DockLayout:()=>Rc,Draggable:()=>ul,DraggableLayout:()=>vo,Drawer:()=>Ii,DropMenu:()=>Wc,DropTarget:()=>kn,Flexbox:()=>So,FlexboxLayout:()=>du,FluidGrid:()=>kl,FluidGridLayout:()=>xu,Header:()=>wu,HeightOnly:()=>cC,LayoutActionType:()=>Oe,LayoutConfigurator:()=>Pd,LayoutProvider:()=>pm,LayoutProviderContext:()=>ko,LayoutProviderVersion:()=>aC,LayoutTreeViewer:()=>Dd,LocalLayoutPersistenceManager:()=>Es,MARGIN_STYLES:()=>KI,MeasuredContainer:()=>CI,NO_WRAPPED_ITEMS:()=>cc,OverflowContainer:()=>kd,PADDING_STYLES:()=>jI,Palette:()=>sd,PaletteItem:()=>ic,Placeholder:()=>Ni,Stack:()=>Hs,StackLayout:()=>Rd,Toolbar:()=>zg,View:()=>Zn,ViewContext:()=>Ui,WidthHeight:()=>mu,WidthOnly:()=>uC,XXXnormalizeStyles:()=>XI,applyLayout:()=>MS,applyLayoutProps:()=>Co,applyOverflowClassToWrappedItems:()=>xd,asReactElements:()=>kr,componentToJson:()=>su,computeMenuPosition:()=>zc,containerOf:()=>Yd,correctForWrappedHighPriorityItems:()=>Cd,correctForWrappedOverflowIndicator:()=>Sd,createFlexbox:()=>ml,createPlaceHolder:()=>Jt,defaultLayout:()=>Io,expandFlex:()=>Zs,extractResponsiveProps:()=>xC,findTarget:()=>an,followPath:()=>Ee,followPathToComponent:()=>Lc,followPathToParent:()=>ln,getChild:()=>Xd,getChildProp:()=>Pc,getElementsMarkedAsWrapped:()=>Av,getFlexDimensions:()=>Qc,getFlexOrIntrinsicStyle:()=>pl,getFlexStyle:()=>dl,getIntrinsicSize:()=>mt,getManagedDimension:()=>ou,getNonWrappedAndWrappedItems:()=>gi,getPersistentState:()=>Zc,getProp:()=>q,getProps:()=>H,hasPersistentState:()=>eu,hasUnboundedFlexStyle:()=>Yc,highPriorityItemsHaveWrappedButShouldNotHave:()=>wd,identifyDropTarget:()=>tl,isApplicationLevelChange:()=>BS,isContainer:()=>ze,isLayoutComponent:()=>Tc,isLayoutLevelChange:()=>HS,isResponsiveAttribute:()=>wm,isTabstrip:()=>Gw,isTypeOf:()=>Pw,isView:()=>$d,layoutFromJson:()=>Ar,layoutReducer:()=>uu,layoutToJSON:()=>iu,markElementAsWrapped:()=>Lv,nextLeaf:()=>Lw,nextStep:()=>Pt,overflowIndicatorHasWrappedButShouldNotHave:()=>vd,previousLeaf:()=>Aw,processLayoutElement:()=>yl,registerComponent:()=>xe,removeOverflowIndicatorIfNoLongerNeeded:()=>Td,resetPath:()=>Ae,resizeObserver:()=>pu,resolveJSONPath:()=>Dc,resolvePath:()=>Xs,serializeProps:()=>Wp,setPersistentState:()=>tu,setRef:()=>Ow,sortByScreenOrder:()=>Dv,switchWrappedItemIntoView:()=>uc,typeOf:()=>j,unmarkItemsWhichAreNoLongerWrapped:()=>Ov,useBreakpoints:()=>bu,useId:()=>Mr,useLayoutContextMenuItems:()=>mI,useLayoutCreateNewChild:()=>hu,useLayoutEffectSkipFirst:()=>Oc,useLayoutProviderDispatch:()=>gt,useLayoutProviderVersion:()=>mm,useMeasuredContainer:()=>pd,usePersistentState:()=>Lr,useResizeObserver:()=>zi,useViewActionDispatcher:()=>Wi,useViewContext:()=>TC,useViewDispatch:()=>vu,warningLayout:()=>MC,wrapIntrinsicSizeComponentWithFlexbox:()=>wo});module.exports=kw(eP);var Mc=require("@vuu-ui/vuu-utils"),Kd=z(require("classnames"));var zd={},Wd={},Un={};function ze(r){return zd[r]===!0}function $d(r){return Wd[r]===!0}var Tc=r=>ze(r)||$d(r);function xe(r,e,t="component"){Un[r]=e,t==="container"?zd[r]=!0:t==="view"&&(Wd[r]=!0)}var Ri=require("@salt-ds/core"),kc=z(require("classnames")),Gd=require("react");var qn=require("react/jsx-runtime"),Gn="vuuDrawer",Ud=r=>typeof r=="string"?r:r+"px",Mw=(r,e,t)=>{let n=e!==void 0,o=t!==void 0;if(!(!r&&!o&&!n))return!o&&!n?r:{...r,"--drawer-size":n?Ud(e):void 0,"--drawer-peek-size":o?Ud(t):void 0}},qd=({children:r,className:e,clickToOpen:t,defaultOpen:n,sizeOpen:o,sizeClosed:i,style:s,open:l,position:a="left",inline:c,onClick:u,peekaboo:h=!1,toggleButton:f,...d})=>{let[p,m]=(0,Ri.useControlled)({controlled:l,default:n!=null?n:!1,name:"Drawer",state:"open"}),g=(0,kc.default)(Gn,e,`${Gn}-${a}`,{[`${Gn}-open`]:p,[`${Gn}-inline`]:c,[`${Gn}-over`]:!c,[`${Gn}-peekaboo`]:h}),y=(0,Gd.useCallback)(()=>{m(!p)},[p,m]),v=Mw(s,o,i),w=t?y:u,x=()=>(0,qn.jsx)("div",{className:(0,kc.default)("vuuToggleButton-container"),children:p?(0,qn.jsx)(Ri.Button,{"aria-label":"close",onClick:y,"data-icon":"close",variant:"secondary"}):(0,qn.jsx)(Ri.Button,{"aria-label":"open",onClick:y,"data-icon":"close",variant:"secondary"})});return(0,qn.jsxs)("div",{...d,className:g,onClick:w,style:v,children:[f=="start"?x():null,(0,qn.jsx)("div",{className:`${Gn}-liner`,children:(0,qn.jsx)("div",{className:`${Gn}-content`,children:r})}),f=="end"?x():null]})};qd.displayName="Drawer";var Ii=qd;var js=require("react/jsx-runtime"),Ew=r=>r.type===Ii,Rw=({props:{position:r="left"}})=>r.match(/top|bottom/),Ec=r=>{let{children:e,className:t,id:n,style:o}=r,i="vuuDockLayout",[s,l]=(0,Mc.partition)(e,Ew),[a,c]=(0,Mc.partition)(s,Rw),u=a.length===0?"horizontal":c.length===0?"vertical":"both",h=(0,Kd.default)(i,t,`${i}-${u}`);return(0,js.jsxs)("div",{className:h,id:n,style:o,children:[s,(0,js.jsx)("div",{className:`${i}-content`,children:l})]})};Ec.displayName="DockLayout";var Rc=Ec;xe("DockLayout",Ec,"container");var jd=require("react");var Jd=require("react/jsx-runtime"),Ic=(0,jd.forwardRef)(function({resizeable:e,...t},n){return(0,Jd.jsx)("div",{...t,className:"Component",ref:n})});Ic.displayName="Component";var Js=Ic;xe("Component",Ic);var It=z(require("react"));var Iw={},q=(r,e)=>{var n;let t=H(r);return(n=t[e])!=null?n:t[`data-${e}`]},H=r=>(r==null?void 0:r.props)||r||Iw,Pc=r=>{let e=H(r);if(e.children){let{children:[t,...n]}=e;return n.length>0&&console.warn(`getChild expected a single child, found ${n.length+1}`),t}};function j(r){var e;if(r){let t=r.type;if(typeof t=="function"||typeof t=="object"){let n=t.displayName||t.name||((e=t.type)==null?void 0:e.name);if(typeof n=="string")return n}if(typeof r.type=="string")return r.type;if(r.constructor)return r.constructor.displayName;throw Error("typeOf unable to determine type of element")}}var Pw=(r,e)=>j(r)===e;var Dw=r=>{let e=r.lastIndexOf(".");return e===-1?r:r.slice(0,e)},Qd=r=>It.default.isValidElement(r.props.children)?[r.props.children]:r.props.children,Xs=(r,e="")=>{let[t,...n]=e.split(".");if(t!=null&&t.startsWith("#")){let o=Ac(r,t.slice(1),!0);if(o&&n.length)return Xs(o,n.join("."))}else if(t==="ACTIVE_CHILD"){let{active:o}=H(r),i=Qd(r),{path:s}=H(i[o]);return s}return""},Dc=(r,e="")=>{let[t,...n]=e.split(".");if(t!=null&&t.startsWith("#")){let o=Zd(r,t.slice(1),!0);if(o&&n.length)return Dc(o,n.join("."))}else if(t==="ACTIVE_CHILD"){let{children:o,props:i}=r,{active:s}=i;if(typeof s=="number"&&(o!=null&&o[s]))return o[s]}};function ln(r,e){let{"data-path":t,path:n=t}=H(r);return e==="0"||e===n?null:Ee(r,Dw(e),!0)}function an(r,e){let{children:t,...n}=H(r);if(e(n))return r;if(It.default.Children.count(t)>0){let o=It.default.isValidElement(t)?[t]:t;for(let i of o){let s=an(i,e);if(s)return s}}}function Yd(r,e){if(e===r)return null;let{path:t,children:n}=H(r),{idx:o,finalStep:i}=Pt(t,q(e,"path"));return i?r:n===void 0||n[o]===void 0?null:Yd(n[o],e)}var Xd=(r,e)=>{if(It.default.isValidElement(r)&&e==0)return r;if(Array.isArray(r))return r[e]};function Lc(r,e){let t=e.split("."),n=[r];for(let o=0;o<t.length;o++){let i=parseInt(t[o]),s=n[i];if(o===t.length-1)return s;n=Qd(s)}}var Ac=(r,e,t=!0)=>{let{children:n,id:o}=r.props;if(o===e)return r;if(It.default.Children.count(n)>0){let i=(0,It.isValidElement)(n)?[n]:n;for(let s of i)if((0,It.isValidElement)(s)){let l=Ac(s,e,!1);if(l)return l}}if(t===!0)throw Error(`pathUtils.findTargetById id #${e} not found in source`)},Zd=(r,e,t=!0)=>{let{children:n,id:o}=r;if(o===e)return r;if(Array.isArray(n)&&n.length>0){for(let i of n)if(i!==null&&typeof i=="object"){let s=Zd(i,e,!1);if(s)return s}}if(t===!0)throw Error(`pathUtils.findTargetJSONById id #${e} not found in source`)};function Ee(r,e,t=!1){if(e.startsWith("#"))return Ac(r,e.slice(1),t);let{"data-path":n,path:o=n}=H(r);if(e.indexOf(o)!==0)throw Error(`pathUtils.followPath path ${e} is not within source path ${o}`);let i=e.slice(o.length+1);if(i==="")return r;let s=r,l=i.split(".");for(let a=0;a<l.length;a++){if(It.default.Children.count(s.props.children)===0){let c=`element at 0.${l.slice(0,a).join(".")} has no children, so cannot fulfill rest of path ${l.slice(a).join(".")}`;if(t)throw Error(c);console.warn(c);return}if(s=Xd(s.props.children,parseInt(l[a])),s===void 0){let c=`model at 0.${l.slice(0,a).join(".")} has no children that fulfill next step of path ${l.slice(a).join(".")}`;if(t)throw Error(c);console.warn(c)}}return s}function Lw(r,e){let t=ln(r,e),n=e.split(".").map(o=>parseInt(o,10));if(t){let o=n.pop(),{children:i}=t.props;if(i.length-1>o)return Qs(i[o+1]);{let s=n.pop(),l=ln(r,q(t,"path"));if(l&&typeof s=="number"&&(n=l.props.path.split(".").map(a=>parseInt(a,10)),l.props.children.length-1>s)){let a=l.props.children[s+1];return ze(j(a))?Qs(a):a}}}return Qs(r)}function Aw(r,e){let t=e.split(".").map(i=>parseInt(i,10)),n=t.pop(),o=ln(r,e);if(o!=null&&typeof n=="number"){let{children:i}=o.props;if(n>0)return Ys(i[n-1]);for(;t.length>1;)if(n=t.pop(),o=ln(r,q(o,"path")),n>0){let s=o.props.children[n-1];return ze(j(s))?Ys(s):s}}return Ys(r)}function Qs(r){if(ze(j(r))){let{children:e}=r.props||r;return Qs(e[0])}return r}function Ys(r){if(ze(j(r))){let{children:e}=r.props||r;return Ys(e[e.length-1])}return r}function Pt(r,e,t=!1){if(r===e)return{idx:-1,finalStep:!0};let n=`${r}.`;if(!e.startsWith(n))throw Error("pathUtils nextStep has strayed from the path");let o=t?0:1,i=e.replace(n,"").split(".").map(s=>parseInt(s,10));return{idx:i[0],finalStep:i.length===o}}function Ae(r,e,t){if(q(r,"path")===e)return r;let n=[];It.default.Children.forEach(r.props.children,(i,s)=>{q(i,"path")?n.push(Ae(i,`${e}.${s}`)):n.push(i)});let o=r.props["data-path"]?"data-path":"path";return It.default.cloneElement(r,{[o]:e,...t},n)}function Ow(r,e){typeof r=="function"?r(e):r&&(r.current=e)}var Kt=require("react"),Nw=[],Vw=0,kr=r=>{let e=Array.isArray(r),t=e?r.length:Kt.Children.count(r);return e&&r.every(Kt.isValidElement)?r:t===1&&!e&&(0,Kt.isValidElement)(r)?[r]:t>1?r:Nw},Oc=(r,e)=>{let t=(0,Kt.useRef)(!1);(0,Kt.useLayoutEffect)(()=>{t.current?r():t.current=!0},e)},Mr=r=>(0,Kt.useMemo)(()=>r!=null?r:`vuu-${++Vw}`,[r]);var Zs=r=>{if(typeof r!="number")throw Error(`"no support yet for flex value ${r}`);return{flexBasis:0,flexGrow:1,flexShrink:1}};var Pi=require("@vuu-ui/vuu-utils");var Rr={north:1,east:2,south:4,west:8,header:16,centre:32,absolute:64},Di={AFTER:"after",BEFORE:"before"},pt=Object.freeze({North:Er("north"),East:Er("east"),South:Er("south"),West:Er("west"),Header:Er("header"),Centre:Er("centre"),Absolute:Er("absolute")});function Er(r){return Object.freeze({offset:r==="north"||r==="west"?0:r==="south"||r==="east"?1:NaN,valueOf:function(){return Rr[r]},toString:function(){return r},North:r==="north",South:r==="south",East:r==="east",West:r==="west",Header:r==="header",Centre:r==="centre",NorthOrSouth:r==="north"||r==="south",EastOrWest:r==="east"||r==="west",NorthOrWest:r==="north"||r==="west",SouthOrEast:r==="east"||r==="south",Absolute:r==="absolute"})}var ep=pt.North,tp=pt.South,Nc=pt.East,Vc=pt.West,Fw=pt.Header,Bw=pt.Centre,xo=class{static measure(e,t=[]){let n={};return zw(e,n,t),n}static allBoxesContainingPoint(e,t,n,o,i){return ip(e,t,n,o,i).reverse()}};function Fc(r,e,t,n=30){let o=t.right-t.left,i=t.bottom-t.top,s=r-t.left,l=e-t.top,a=0;return s<n&&(a+=8),s>o-n&&(a+=2),l<n&&(a+=1),l>i-n&&(a+=4),{pctX:s/o,pctY:l/i,closeToTheEdge:a}}function Bc(r,e,t,n){let{BEFORE:o,AFTER:i}=Di,{pctX:s,pctY:l,closeToTheEdge:a}=Fc(r,e,t),c,u;if(n==="row")c=s<.5?Vc:Nc;else if(t.header&&(0,Pi.boxContainsPoint)(t.header,r,e))if(c=Fw,t.Stack){let h=t.Stack.length;if(h===0)u={index:-1,left:t.left,positionRelativeToTab:i,width:0};else{let f=t.Stack.find(({left:d,right:p})=>r>=d&&r<=p);if(f){let d=f.right-f.left;u={index:t.Stack.indexOf(f),left:f.left,positionRelativeToTab:(r-f.left)/d<.5?o:i,width:d}}else u={left:t.Stack[h-1].right,width:0,index:h,positionRelativeToTab:i}}}else if(t.header.titleWidth){let h=t.header.titleWidth;u={index:-1,left:t.left,positionRelativeToTab:(r-t.left)/h<.5?o:i,width:h}}else u={left:t.left,width:0,positionRelativeToTab:o,index:-1};else c=Hw(r,e,t,s,l);return{position:c,x:r,y:e,closeToTheEdge:a,tab:u}}function Hw(r,e,t,n,o){let i=_w(t,.2);if((0,Pi.boxContainsPoint)(i,r,e))return Bw;switch(`${o<.5?"north":"south"}${n<.5?"west":"east"}`){case"northwest":return n>o?ep:Vc;case"northeast":return 1-n>o?ep:Nc;case"southeast":return n>o?Nc:tp;case"southwest":return 1-n>o?Vc:tp;default:}}function _w({right:r,left:e,top:t,bottom:n},o){let i=(1-o)/2,s=(r-e)*i,l=(n-t)*i;return{left:e+s,top:t+l,right:r-s,bottom:n-l}}function zw(r,e,t){let{id:n,"data-path":o,path:i=o}=H(r),s=j(r);if(n&&i){let[l,a]=op(r);np(r,l,a,e),ze(s)&&rp(r,e,t)}}function np(r,e,t,n){let{"data-path":o,path:i=o,header:s}=H(r);n[i]=e;let l=j(r);if(s||l==="Stack"){let a=l==="Stack"?".vuuTabstrip":".vuuHeader",c=t.querySelector(a);if(c){let{top:u,left:h,right:f,bottom:d}=c.getBoundingClientRect();if(n[i].header={top:Math.round(u),left:Math.round(h),right:Math.round(f),bottom:Math.round(d)},l==="Stack")n[i].Stack=Array.from(c.querySelectorAll(".vuuTab")).map(p=>p.getBoundingClientRect()).map(({left:p,right:m})=>({left:p,right:m}));else{let p=c.querySelector('[class^="vuuHeader-title"]'),{header:m}=n[i];p&&m&&(m.titleWidth=p.clientWidth)}}}return n[i]}function rp(r,e,t,n=0,o=0,i=0,s=0){let{children:l,"data-path":a,path:c=a,style:u,active:h=0}=H(r),f=j(r),d=f==="Flexbox",p=f==="Stack",m=d&&u.flexDirection==="column",g=d&&u.flexDirection==="row",v=(p?l.filter((x,S)=>S===h):l.filter(Ww)).map(x=>{let[S,b]=op(x);return[{...S,top:S.top-i,right:S.right+o,bottom:S.bottom+s,left:S.left-n},b,x]}),w=v.map(([x,S,b],C,k)=>{let E,R,N,O,M,D,F=k.length-1;g?(M=C===0?0:x.left-k[C-1][0].right,D=C===F?0:k[C+1][0].left-x.right,E=C===0||M===0?0:M,R=C===F||D===0?0:D-D/2,x.left-=E,x.right+=R,N=i,O=s):m&&(M=C===0?0:x.top-k[C-1][0].bottom,D=C===F?0:k[C+1][0].top-x.bottom,N=C===0||M===0?0:M,O=C===F||D===0?0:D-D/2,x.top-=N,x.bottom+=O,E=n,R=o);let K=np(b,x,S,e),A=j(b);return ze(A)&&rp(b,e,t,E,R,N,O),K});v.length&&(e[c].children=w)}function Ww(r){let{id:e}=H(r),t=document.getElementById(e);return t?t.dataset.dragging!=="true":(console.warn(`BoxModel: no element found with id #${e}`),!1)}function op(r){let{id:e}=H(r);if(e===void 0)throw Error("`BoxModel.measureComponentElement, component has no id");let t=document.getElementById(e);if(!t)throw Error("BoxModel.measureComponentElement, no DOM element found for component");let{top:n,left:o,right:i,bottom:s,height:l,width:a}=t.getBoundingClientRect(),c,u=j(r);if(ze(u)){let h=t.scrollHeight;h>l&&(c={id:e,scrollHeight:h,scrollTop:t.scrollTop})}return[{top:Math.round(n),left:Math.round(o),right:Math.round(i),bottom:Math.round(s),height:Math.round(l),width:Math.round(a),scrolling:c},t,r]}function ip(r,e,t,n,o,i=[]){let{children:s,"data-path":l,path:a=l}=H(r),c=j(r),u=e[a];if(!(0,Pi.boxContainsPoint)(u,t,n))return i;if(o&&o.length){if(o.includes(a))i.push(r);else if(!o.some(h=>h.startsWith(a)))return i}else i.push(r);if(!ze(c)||u.header&&(0,Pi.boxContainsPoint)(u.header,t,n))return i;u.scrolling&&$w(u,t,n);for(let h=0;h<s.length;h++){if(c==="Stack"&&r.props.active!==h)continue;let f=ip(s[h],e,t,n,o);if(f.length)return i.concat(f)}return i}function $w({top:r,bottom:e,scrolling:t},n,o){if(t){let{id:i,scrollTop:s,scrollHeight:l}=t,a=e-r;if(s===0&&e-o<50){let c=l-a;document.getElementById(i).scrollTo({left:0,top:c,behavior:"smooth"}),t.scrollTop=c}else if(s>0&&o-r<50)document.getElementById(i).scrollTo({left:0,top:0,behavior:"smooth"}),t.scrollTop=0;else return!1}else return!1}var Uw=.4,el=class{constructor(e,t,n,o,i){this.init(e,t,n,o,i)}init(e,t,n,o,i){let{left:s,top:l}=o,{pctX:a,pctY:c}=Fc(t,n,o),u=Uw,h=a*o.width,f=o.width-h,d=c*o.height,p=o.height-d,m=o.width*u,g=o.height*u,y=1-u,v=h*y,w=d*y,x=f*y,S=p*y;this.intrinsicSize=i,this.constraint={zone:{x:{lo:e.left,hi:e.right},y:{lo:e.top,hi:e.bottom}},pos:{x:{lo:e.left-v,hi:e.right-o.width+x},y:{lo:e.top-w,hi:e.bottom-o.height+S}},mouse:{x:{lo:e.left+m*a,hi:e.right-m*(1-a)},y:{lo:e.top+g*c,hi:e.bottom-g*(1-c)}}},this.x={pos:s,lo:!1,hi:!1,mousePos:t,mousePct:a},this.y={pos:l,lo:!1,hi:!1,mousePos:n,mousePct:c}}outOfBounds(){return this.x.lo||this.x.hi||this.y.lo||this.y.hi}inBounds(){return!this.outOfBounds()}dropX(){return this.dropXY("x")}dropY(){return this.dropXY("y")}hasIntrinsicSize(){var e,t;return((e=this==null?void 0:this.intrinsicSize)==null?void 0:e.height)&&((t=this==null?void 0:this.intrinsicSize)==null?void 0:t.width)}update(e,t){let n=this[e],o=this.constraint.mouse[e],i=this.constraint.pos[e],s=n.pos,l=t-n.mousePos;return l<0?n.lo||(t<o.lo?(n.lo=!0,n.pos=i.lo):n.hi?t<o.hi&&(n.hi=!1,n.pos+=l):n.pos+=l):l>0&&(n.hi||(t>o.hi?(n.hi=!0,n.pos=i.hi):n.lo?t>o.lo&&(n.lo=!1,n.pos+=l):n.pos+=l)),n.mousePos=t,s!==n.pos}dropXY(e){let t=this[e],n=this.constraint.zone[e];return t.lo?Math.max(n.lo,t.mousePos):t.hi?Math.min(t.mousePos,Math.round(n.hi)-1):t.mousePos}};var Gw=r=>r.pos.tab&&j(r.component)==="Stack"&&r.pos.position.Header,{north:qw,south:Kw,east:jw,west:Jw}=Rr,Qw=jw+Jw,Yw=qw+Kw,kn=class{constructor({component:e,pos:t,clientRect:n,nextDropTarget:o}){this.component=e,this.pos=t,this.clientRect=n,this.nextDropTarget=o,this.active=!1,this.dropRect=void 0}targetTabPos(e){let{left:t,width:n,positionRelativeToTab:o}=e;return o===Di.BEFORE?t:t+n}getTargetDropOutline(e,t){if(this.pos.tab)return this.getDropTabOutline(e,this.pos.tab);if(t&&t.hasIntrinsicSize())return this.getIntrinsicDropRect(t);{let[n,o,i,s]=this.getDropRectOutline(e,t);return{l:n,t:o,r:i,b:s}}}getDropTabOutline(e,t){var y,v;let{clientRect:{top:n,left:o,right:i,bottom:s,header:l}}=this,a=0,c=Math.round(e/2)+a,u=Math.round(n),h=Math.round(o+c),f=Math.round(i-c),d=Math.round(s-c),p=this.targetTabPos(t),m=60,g=((y=l==null?void 0:l.bottom)!=null?y:0)-((v=l==null?void 0:l.top)!=null?v:0);return{l:h,t:u,r:f,b:d,tabLeft:p,tabWidth:m,tabHeight:g}}getIntrinsicDropRect(e){var m,g,y,v;let{pos:t,clientRect:n}=this,{x:o,y:i}=e,s=(g=(m=e.intrinsicSize)==null?void 0:m.height)!=null?g:0,l=(v=(y=e.intrinsicSize)==null?void 0:y.height)!=null?v:0;s&&s>n.height?(console.log("DropTarget: we're going to blow the gaff"),s=n.height):l&&l>n.width&&(console.log("DropTarget: we're going to blow the gaff"),l=n.width);let a=Math.min(n.right-l,Math.max(n.left,Math.round(t.x-o.mousePct*l))),c=Math.min(n.bottom-s,Math.max(n.top,Math.round(t.y-i.mousePct*s))),[u,h,f,d]=this.dropRect=[a,c,a+l,c+s],p=t.position.EastOrWest?[u,n.top,u,n.bottom,f,n.top,f,n.bottom]:[n.left,h,n.right,h,n.left,d,n.right,d];return{l:u,r:f,t:h,b:d,guideLines:p}}getDropRectOutline(e,t){var v,w,x;let{pos:n,clientRect:o}=this,{width:i,height:s,position:l}=n,{width:a,height:c}=(v=t==null?void 0:t.intrinsicSize)!=null?v:{},u=(w=c!=null?c:s)!=null?w:0,h=(x=a!=null?a:i)!=null?x:0;this.dropRect=void 0;let{top:f,left:d,right:p,bottom:m}=o,g=0,y=Math.round(e/2)+g;switch(l){case pt.North:case pt.Header:{let S=Math.round((m-f)/2),b=u?Math.min(S,Math.round(u)):S;return h&&d+h<p?[d+y,f+y,d+h-y,f+y+b]:[d+y,f+y,p-y,f+y+b]}case pt.West:{let S=Math.round((p-d)/2),b=h?Math.min(S,Math.round(h)):S;return u&&f+u<m?[d+y,f+y,d-y+b,f+u+y]:[d+y,f+y,d-y+b,m-y]}case pt.East:{let S=Math.round((p-d)/2),b=h?Math.min(S,Math.round(h)):S;return u&&f+u<m?[p-y-b,f+y,p-y,f+u+y]:[p-y-b,f+y,p-y,m-y]}case pt.South:{let S=Math.round((m-f)/2),b=u?Math.min(S,Math.round(u)):S;return h&&d+h<p?[d+y,m-y-b,d+h-y,m-y]:[d+y,m-y-b,p-y,m-y]}case pt.Centre:return[d+y,f+y,p-y,m-y];default:return console.warn(`DropTarget does not recognize position ${l}`),null}}activate(){return this.active=!0,this}toArray(){let e=this,t=[e];for(;e=e.nextDropTarget;)t.push(e);return t}static getActiveDropTarget(e){return e===null?null:e!=null&&e.active?e:kn.getActiveDropTarget(e.nextDropTarget)}};function tl(r,e,t,n,o,i){var a;let s=null,l=xo.allBoxesContainingPoint(t,n,r,e,i);if(l.length){let[c,...u]=l,{"data-path":h,path:f=h,"data-row-placeholder":d}=H(c),p=n[f],g=Bc(r,e,p,o&&d?"row":void 0),y=n[f],v=([w,...x])=>{var S,b;if((S=g.position)!=null&&S.Header||g.closeToTheEdge){let C=Xw(w,g,y,n,r,e);if(C){let[k,E]=C;return new kn({component:w,pos:k,clientRect:E,nextDropTarget:(b=v(x))!=null?b:null})}else if(x.length)return v(x)}};s=new kn({component:c,pos:g,clientRect:p,nextDropTarget:(a=v(u))!=null?a:null}).activate()}return s}function Xw(r,{closeToTheEdge:e,position:t},n,o,i,s){if(!r||r.type==="DraggableLayout")return;let l=o[r.props.path],a=e&Rr.north,c=e&Rr.east,u=e&Rr.south,h=e&Rr.west,f=(a||t.Header)&&Math.round(n.top)===Math.round(l.top),d=c&&Math.round(n.right)===Math.round(l.right),p=u&&Math.round(n.bottom)===Math.round(l.bottom),m=h&&Math.round(n.left)===Math.round(l.left);if(f||d||p||m){let{"data-path":g,path:y=g}=r.props,v=o[y],w=Bc(i,s,v);if((Zw(r)||sp(r))&&e&Qw)return w.width=120,[w,v];if((eS(r)||sp(r))&&(t.Header||e&Yw))return w.height=120,[w,v]}}function sp(r){return j(r)==="Stack"}function Zw(r){return j(r)==="Flexbox"&&r.props.style.flexDirection==="column"}function eS(r){return j(r)==="Flexbox"&&r.props.style.flexDirection==="row"}var nl=require("@vuu-ui/vuu-popups");var lp=z(require("classnames"));var _c=require("react/jsx-runtime");function zc(r,e=0,t=0){let{pos:n,clientRect:o}=r,i=20;return n.position.West?[o.left-t+i,n.y-e,"left"]:n.position.South?[n.x-t,o.bottom-e-i,"bottom"]:n.position.East?[o.right-t-i,n.y-e,"right"]:[n.x-t,o.top-e+i,"top"]}var Hc="vuuDropMenu",Wc=({className:r,dropTarget:e,onHover:t,orientation:n})=>{let o=e.toArray();return(0,_c.jsx)("div",{className:(0,lp.default)(Hc,r,`${Hc}-${n}`),onMouseLeave:()=>t(null),children:o.map((i,s)=>(0,_c.jsx)("div",{className:`${Hc}-item`,"data-icon":s===0?"column-2A":"column-2B",onMouseEnter:()=>t(i)},s))})};var hp=require("react/jsx-runtime"),$c=!1,Li=null,jt=null,tS=r=>Li=r,nS=([r,e])=>`M${r},${e}`,rS=([r,e])=>`L${r},${e}`,ap=([r,...e])=>`${nS(r)} ${e.map(rS)}Z`,oS=r=>{if(r){let[e,t,n,o,i,s,l,a]=r;return`M${e},${t} L${n},${o} M${i},${s} L${l},${a}`}else return""};function iS(){if(document.getElementById("hw-drag-canvas")===null){let r=document.getElementById("root"),e=document.createElement("div");e.id="hw-drag-canvas",e.innerHTML=`
|
|
1
|
+
"use strict";var Cw=Object.create;var Js=Object.defineProperty;var Tw=Object.getOwnPropertyDescriptor;var kw=Object.getOwnPropertyNames;var Mw=Object.getPrototypeOf,Ew=Object.prototype.hasOwnProperty;var Rw=(r,e)=>{for(var t in e)Js(r,t,{get:e[t],enumerable:!0})},Vd=(r,e,t,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let o of kw(e))!Ew.call(r,o)&&o!==t&&Js(r,o,{get:()=>e[o],enumerable:!(n=Tw(e,o))||n.enumerable});return r};var z=(r,e,t)=>(t=r!=null?Cw(Mw(r)):{},Vd(e||!r||!r.__esModule?Js(t,"default",{value:r,enumerable:!0}):t,r)),Iw=r=>Vd(Js({},"__esModule",{value:!0}),r);var Fd=(r,e,t)=>{if(!e.has(r))throw TypeError("Cannot "+t)};var T=(r,e,t)=>(Fd(r,e,"read from private field"),t?t.call(r):e.get(r)),te=(r,e,t)=>{if(e.has(r))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(r):e.set(r,t)},W=(r,e,t,n)=>(Fd(r,e,"write to private field"),n?n.call(r,t):e.set(r,t),t),Bd=(r,e,t,n)=>({set _(o){W(r,e,o,t)},get _(){return T(r,e,n)}});var rP={};Rw(rP,{Action:()=>Jn,BORDER_STYLES:()=>XI,Component:()=>Ys,ComponentRegistry:()=>Un,ConfigWrapper:()=>jI,DockLayout:()=>Rc,Draggable:()=>fl,DraggableLayout:()=>wo,Drawer:()=>Di,DropMenu:()=>Wc,DropTarget:()=>kn,Flexbox:()=>Co,FlexboxLayout:()=>du,FluidGrid:()=>El,FluidGridLayout:()=>xu,Header:()=>wu,HeightOnly:()=>dC,LayoutActionType:()=>Oe,LayoutConfigurator:()=>Rd,LayoutProvider:()=>fm,LayoutProviderContext:()=>Mo,LayoutProviderVersion:()=>fC,LayoutTreeViewer:()=>Id,LocalLayoutPersistenceManager:()=>Is,MARGIN_STYLES:()=>QI,MeasuredContainer:()=>TI,NO_WRAPPED_ITEMS:()=>uc,OverflowContainer:()=>Cd,PADDING_STYLES:()=>YI,Palette:()=>od,PaletteItem:()=>sc,Placeholder:()=>Fi,Stack:()=>zs,StackLayout:()=>Md,Toolbar:()=>Hg,View:()=>Zn,ViewContext:()=>qi,WidthHeight:()=>mu,WidthOnly:()=>pC,XXXnormalizeStyles:()=>tP,applyLayout:()=>PS,applyLayoutProps:()=>To,applyOverflowClassToWrappedItems:()=>yd,asReactElements:()=>Er,componentToJson:()=>su,computeMenuPosition:()=>zc,containerOf:()=>Jd,correctForWrappedHighPriorityItems:()=>wd,correctForWrappedOverflowIndicator:()=>vd,createFlexbox:()=>yl,createPlaceHolder:()=>Jt,defaultLayout:()=>Po,expandFlex:()=>tl,extractResponsiveProps:()=>CC,findTarget:()=>an,followPath:()=>Ee,followPathToComponent:()=>Lc,followPathToParent:()=>ln,getChild:()=>Qd,getChildProp:()=>Pc,getElementsMarkedAsWrapped:()=>Ov,getFlexDimensions:()=>Qc,getFlexOrIntrinsicStyle:()=>gl,getFlexStyle:()=>ml,getIntrinsicSize:()=>mt,getManagedDimension:()=>ou,getNonWrappedAndWrappedItems:()=>bi,getPersistentState:()=>Zc,getProp:()=>K,getProps:()=>H,hasPersistentState:()=>eu,hasUnboundedFlexStyle:()=>Yc,highPriorityItemsHaveWrappedButShouldNotHave:()=>xd,identifyDropTarget:()=>rl,isApplicationLevelChange:()=>WS,isContainer:()=>ze,isLayoutComponent:()=>Tc,isLayoutLevelChange:()=>$S,isOverflowElement:()=>MI,isResponsiveAttribute:()=>xm,isTabstrip:()=>Jw,isTypeOf:()=>Ow,isView:()=>zd,layoutFromJson:()=>Nr,layoutReducer:()=>uu,layoutToJSON:()=>iu,markElementAsWrapped:()=>Av,nextLeaf:()=>Vw,nextStep:()=>Pt,overflowIndicatorHasWrappedButShouldNotHave:()=>bd,previousLeaf:()=>Fw,processLayoutElement:()=>xl,registerComponent:()=>xe,removeOverflowIndicatorIfNoLongerNeeded:()=>Sd,resetPath:()=>Ae,resizeObserver:()=>pu,resolveJSONPath:()=>Dc,resolvePath:()=>el,serializeProps:()=>_p,setPersistentState:()=>tu,setRef:()=>Bw,sortByScreenOrder:()=>Lv,switchWrappedItemIntoView:()=>hc,typeOf:()=>j,unmarkItemsWhichAreNoLongerWrapped:()=>Nv,useBreakpoints:()=>bu,useId:()=>Rr,useLayoutContextMenuItems:()=>gI,useLayoutCreateNewChild:()=>hu,useLayoutEffectSkipFirst:()=>Oc,useLayoutProviderDispatch:()=>gt,useLayoutProviderVersion:()=>dm,useMeasuredContainer:()=>fd,usePersistentState:()=>Or,useResizeObserver:()=>$i,useViewActionDispatcher:()=>Ui,useViewContext:()=>RC,useViewDispatch:()=>vu,warningLayout:()=>PC,wrapIntrinsicSizeComponentWithFlexbox:()=>So});module.exports=Iw(rP);var Mc=require("@vuu-ui/vuu-utils"),Gd=z(require("classnames"));var Hd={},_d={},Un={};function ze(r){return Hd[r]===!0}function zd(r){return _d[r]===!0}var Tc=r=>ze(r)||zd(r);function xe(r,e,t="component"){Un[r]=e,t==="container"?Hd[r]=!0:t==="view"&&(_d[r]=!0)}var Pi=require("@salt-ds/core"),kc=z(require("classnames")),$d=require("react");var qn=require("react/jsx-runtime"),Gn="vuuDrawer",Wd=r=>typeof r=="string"?r:r+"px",Pw=(r,e,t)=>{let n=e!==void 0,o=t!==void 0;if(!(!r&&!o&&!n))return!o&&!n?r:{...r,"--drawer-size":n?Wd(e):void 0,"--drawer-peek-size":o?Wd(t):void 0}},Ud=({children:r,className:e,clickToOpen:t,defaultOpen:n,sizeOpen:o,sizeClosed:i,style:s,open:l,position:a="left",inline:c,onClick:u,peekaboo:h=!1,toggleButton:f,...d})=>{let[p,m]=(0,Pi.useControlled)({controlled:l,default:n!=null?n:!1,name:"Drawer",state:"open"}),y=(0,kc.default)(Gn,e,`${Gn}-${a}`,{[`${Gn}-open`]:p,[`${Gn}-inline`]:c,[`${Gn}-over`]:!c,[`${Gn}-peekaboo`]:h}),g=(0,$d.useCallback)(()=>{m(!p)},[p,m]),v=Pw(s,o,i),w=t?g:u,x=()=>(0,qn.jsx)("div",{className:(0,kc.default)("vuuToggleButton-container"),children:p?(0,qn.jsx)(Pi.Button,{"aria-label":"close",onClick:g,"data-icon":"close",variant:"secondary"}):(0,qn.jsx)(Pi.Button,{"aria-label":"open",onClick:g,"data-icon":"close",variant:"secondary"})});return(0,qn.jsxs)("div",{...d,className:y,onClick:w,style:v,children:[f=="start"?x():null,(0,qn.jsx)("div",{className:`${Gn}-liner`,children:(0,qn.jsx)("div",{className:`${Gn}-content`,children:r})}),f=="end"?x():null]})};Ud.displayName="Drawer";var Di=Ud;var Qs=require("react/jsx-runtime"),Dw=r=>r.type===Di,Lw=({props:{position:r="left"}})=>r.match(/top|bottom/),Ec=r=>{let{children:e,className:t,id:n,style:o}=r,i="vuuDockLayout",[s,l]=(0,Mc.partition)(e,Dw),[a,c]=(0,Mc.partition)(s,Lw),u=a.length===0?"horizontal":c.length===0?"vertical":"both",h=(0,Gd.default)(i,t,`${i}-${u}`);return(0,Qs.jsxs)("div",{className:h,id:n,style:o,children:[s,(0,Qs.jsx)("div",{className:`${i}-content`,children:l})]})};Ec.displayName="DockLayout";var Rc=Ec;xe("DockLayout",Ec,"container");var qd=require("react");var Kd=require("react/jsx-runtime"),Ic=(0,qd.forwardRef)(function({resizeable:e,...t},n){return(0,Kd.jsx)("div",{...t,className:"Component",ref:n})});Ic.displayName="Component";var Ys=Ic;xe("Component",Ic);var It=z(require("react"));var Aw={},K=(r,e)=>{var n;let t=H(r);return(n=t[e])!=null?n:t[`data-${e}`]},H=r=>(r==null?void 0:r.props)||r||Aw,Pc=r=>{let e=H(r);if(e.children){let{children:[t,...n]}=e;return n.length>0&&console.warn(`getChild expected a single child, found ${n.length+1}`),t}};function j(r){var e;if(r){let t=r.type;if(typeof t=="function"||typeof t=="object"){let n=t.displayName||t.name||((e=t.type)==null?void 0:e.name);if(typeof n=="string")return n}if(typeof r.type=="string")return r.type;if(r.constructor)return r.constructor.displayName;throw Error("typeOf unable to determine type of element")}}var Ow=(r,e)=>j(r)===e;var Nw=r=>{let e=r.lastIndexOf(".");return e===-1?r:r.slice(0,e)},jd=r=>It.default.isValidElement(r.props.children)?[r.props.children]:r.props.children,el=(r,e="")=>{let[t,...n]=e.split(".");if(t!=null&&t.startsWith("#")){let o=Ac(r,t.slice(1),!0);if(o&&n.length)return el(o,n.join("."))}else if(t==="ACTIVE_CHILD"){let{active:o}=H(r),i=jd(r),{path:s}=H(i[o]);return s}return""},Dc=(r,e="")=>{let[t,...n]=e.split(".");if(t!=null&&t.startsWith("#")){let o=Yd(r,t.slice(1),!0);if(o&&n.length)return Dc(o,n.join("."))}else if(t==="ACTIVE_CHILD"){let{children:o,props:i}=r,{active:s}=i;if(typeof s=="number"&&(o!=null&&o[s]))return o[s]}};function ln(r,e){let{"data-path":t,path:n=t}=H(r);return e==="0"||e===n?null:Ee(r,Nw(e),!0)}function an(r,e){let{children:t,...n}=H(r);if(e(n))return r;if(It.default.Children.count(t)>0){let o=It.default.isValidElement(t)?[t]:t;for(let i of o){let s=an(i,e);if(s)return s}}}function Jd(r,e){if(e===r)return null;let{path:t,children:n}=H(r),{idx:o,finalStep:i}=Pt(t,K(e,"path"));return i?r:n===void 0||n[o]===void 0?null:Jd(n[o],e)}var Qd=(r,e)=>{if(It.default.isValidElement(r)&&e==0)return r;if(Array.isArray(r))return r[e]};function Lc(r,e){let t=e.split("."),n=[r];for(let o=0;o<t.length;o++){let i=parseInt(t[o]),s=n[i];if(o===t.length-1)return s;n=jd(s)}}var Ac=(r,e,t=!0)=>{let{children:n,id:o}=r.props;if(o===e)return r;if(It.default.Children.count(n)>0){let i=(0,It.isValidElement)(n)?[n]:n;for(let s of i)if((0,It.isValidElement)(s)){let l=Ac(s,e,!1);if(l)return l}}if(t===!0)throw Error(`pathUtils.findTargetById id #${e} not found in source`)},Yd=(r,e,t=!0)=>{let{children:n,id:o}=r;if(o===e)return r;if(Array.isArray(n)&&n.length>0){for(let i of n)if(i!==null&&typeof i=="object"){let s=Yd(i,e,!1);if(s)return s}}if(t===!0)throw Error(`pathUtils.findTargetJSONById id #${e} not found in source`)};function Ee(r,e,t=!1){if(e.startsWith("#"))return Ac(r,e.slice(1),t);let{"data-path":n,path:o=n}=H(r);if(e.indexOf(o)!==0)throw Error(`pathUtils.followPath path ${e} is not within source path ${o}`);let i=e.slice(o.length+1);if(i==="")return r;let s=r,l=i.split(".");for(let a=0;a<l.length;a++){if(It.default.Children.count(s.props.children)===0){let c=`element at 0.${l.slice(0,a).join(".")} has no children, so cannot fulfill rest of path ${l.slice(a).join(".")}`;if(t)throw Error(c);console.warn(c);return}if(s=Qd(s.props.children,parseInt(l[a])),s===void 0){let c=`model at 0.${l.slice(0,a).join(".")} has no children that fulfill next step of path ${l.slice(a).join(".")}`;if(t)throw Error(c);console.warn(c)}}return s}function Vw(r,e){let t=ln(r,e),n=e.split(".").map(o=>parseInt(o,10));if(t){let o=n.pop(),{children:i}=t.props;if(i.length-1>o)return Xs(i[o+1]);{let s=n.pop(),l=ln(r,K(t,"path"));if(l&&typeof s=="number"&&(n=l.props.path.split(".").map(a=>parseInt(a,10)),l.props.children.length-1>s)){let a=l.props.children[s+1];return ze(j(a))?Xs(a):a}}}return Xs(r)}function Fw(r,e){let t=e.split(".").map(i=>parseInt(i,10)),n=t.pop(),o=ln(r,e);if(o!=null&&typeof n=="number"){let{children:i}=o.props;if(n>0)return Zs(i[n-1]);for(;t.length>1;)if(n=t.pop(),o=ln(r,K(o,"path")),n>0){let s=o.props.children[n-1];return ze(j(s))?Zs(s):s}}return Zs(r)}function Xs(r){if(ze(j(r))){let{children:e}=r.props||r;return Xs(e[0])}return r}function Zs(r){if(ze(j(r))){let{children:e}=r.props||r;return Zs(e[e.length-1])}return r}function Pt(r,e,t=!1){if(r===e)return{idx:-1,finalStep:!0};let n=`${r}.`;if(!e.startsWith(n))throw Error("pathUtils nextStep has strayed from the path");let o=t?0:1,i=e.replace(n,"").split(".").map(s=>parseInt(s,10));return{idx:i[0],finalStep:i.length===o}}function Ae(r,e,t){if(K(r,"path")===e)return r;let n=[];It.default.Children.forEach(r.props.children,(i,s)=>{K(i,"path")?n.push(Ae(i,`${e}.${s}`)):n.push(i)});let o=r.props["data-path"]?"data-path":"path";return It.default.cloneElement(r,{[o]:e,...t},n)}function Bw(r,e){typeof r=="function"?r(e):r&&(r.current=e)}var Kt=require("react"),Hw=[],_w=0,Er=r=>{let e=Array.isArray(r),t=e?r.length:Kt.Children.count(r);return e&&r.every(Kt.isValidElement)?r:t===1&&!e&&(0,Kt.isValidElement)(r)?[r]:t>1?r:Hw},Oc=(r,e)=>{let t=(0,Kt.useRef)(!1);(0,Kt.useLayoutEffect)(()=>{t.current?r():t.current=!0},e)},Rr=r=>(0,Kt.useMemo)(()=>r!=null?r:`vuu-${++_w}`,[r]);var tl=r=>{if(typeof r!="number")throw Error(`"no support yet for flex value ${r}`);return{flexBasis:0,flexGrow:1,flexShrink:1}};var Li=require("@vuu-ui/vuu-utils");var Pr={north:1,east:2,south:4,west:8,header:16,centre:32,absolute:64},Ai={AFTER:"after",BEFORE:"before"},pt=Object.freeze({North:Ir("north"),East:Ir("east"),South:Ir("south"),West:Ir("west"),Header:Ir("header"),Centre:Ir("centre"),Absolute:Ir("absolute")});function Ir(r){return Object.freeze({offset:r==="north"||r==="west"?0:r==="south"||r==="east"?1:NaN,valueOf:function(){return Pr[r]},toString:function(){return r},North:r==="north",South:r==="south",East:r==="east",West:r==="west",Header:r==="header",Centre:r==="centre",NorthOrSouth:r==="north"||r==="south",EastOrWest:r==="east"||r==="west",NorthOrWest:r==="north"||r==="west",SouthOrEast:r==="east"||r==="south",Absolute:r==="absolute"})}var Xd=pt.North,Zd=pt.South,Nc=pt.East,Vc=pt.West,zw=pt.Header,Ww=pt.Centre,vo=class{static measure(e,t=[]){let n={};return Gw(e,n,t),n}static allBoxesContainingPoint(e,t,n,o,i){return rp(e,t,n,o,i).reverse()}};function Fc(r,e,t,n=30){let o=t.right-t.left,i=t.bottom-t.top,s=r-t.left,l=e-t.top,a=0;return s<n&&(a+=8),s>o-n&&(a+=2),l<n&&(a+=1),l>i-n&&(a+=4),{pctX:s/o,pctY:l/i,closeToTheEdge:a}}function Bc(r,e,t,n){let{BEFORE:o,AFTER:i}=Ai,{pctX:s,pctY:l,closeToTheEdge:a}=Fc(r,e,t),c,u;if(n==="row")c=s<.5?Vc:Nc;else if(t.header&&(0,Li.boxContainsPoint)(t.header,r,e))if(c=zw,t.Stack){let h=t.Stack.length;if(h===0)u={index:-1,left:t.left,positionRelativeToTab:i,width:0};else{let f=t.Stack.find(({left:d,right:p})=>r>=d&&r<=p);if(f){let d=f.right-f.left;u={index:t.Stack.indexOf(f),left:f.left,positionRelativeToTab:(r-f.left)/d<.5?o:i,width:d}}else u={left:t.Stack[h-1].right,width:0,index:h,positionRelativeToTab:i}}}else if(t.header.titleWidth){let h=t.header.titleWidth;u={index:-1,left:t.left,positionRelativeToTab:(r-t.left)/h<.5?o:i,width:h}}else u={left:t.left,width:0,positionRelativeToTab:o,index:-1};else c=$w(r,e,t,s,l);return{position:c,x:r,y:e,closeToTheEdge:a,tab:u}}function $w(r,e,t,n,o){let i=Uw(t,.2);if((0,Li.boxContainsPoint)(i,r,e))return Ww;switch(`${o<.5?"north":"south"}${n<.5?"west":"east"}`){case"northwest":return n>o?Xd:Vc;case"northeast":return 1-n>o?Xd:Nc;case"southeast":return n>o?Nc:Zd;case"southwest":return 1-n>o?Vc:Zd;default:}}function Uw({right:r,left:e,top:t,bottom:n},o){let i=(1-o)/2,s=(r-e)*i,l=(n-t)*i;return{left:e+s,top:t+l,right:r-s,bottom:n-l}}function Gw(r,e,t){let{id:n,"data-path":o,path:i=o}=H(r),s=j(r);if(n&&i){let[l,a]=np(r);ep(r,l,a,e),ze(s)&&tp(r,e,t)}}function ep(r,e,t,n){let{"data-path":o,path:i=o,header:s}=H(r);n[i]=e;let l=j(r);if(s||l==="Stack"){let a=l==="Stack"?".vuuTabstrip":".vuuHeader",c=t.querySelector(a);if(c){let{top:u,left:h,right:f,bottom:d}=c.getBoundingClientRect();if(n[i].header={top:Math.round(u),left:Math.round(h),right:Math.round(f),bottom:Math.round(d)},l==="Stack")n[i].Stack=Array.from(c.querySelectorAll(".vuuTab")).map(p=>p.getBoundingClientRect()).map(({left:p,right:m})=>({left:p,right:m}));else{let p=c.querySelector('[class^="vuuHeader-title"]'),{header:m}=n[i];p&&m&&(m.titleWidth=p.clientWidth)}}}return n[i]}function tp(r,e,t,n=0,o=0,i=0,s=0){let{children:l,"data-path":a,path:c=a,style:u,active:h=0}=H(r),f=j(r),d=f==="Flexbox",p=f==="Stack",m=d&&u.flexDirection==="column",y=d&&u.flexDirection==="row",v=(p?l.filter((x,S)=>S===h):l.filter(qw)).map(x=>{let[S,b]=np(x);return[{...S,top:S.top-i,right:S.right+o,bottom:S.bottom+s,left:S.left-n},b,x]}),w=v.map(([x,S,b],C,k)=>{let E,R,M,P,I,V,B=k.length-1;y?(I=C===0?0:x.left-k[C-1][0].right,V=C===B?0:k[C+1][0].left-x.right,E=C===0||I===0?0:I,R=C===B||V===0?0:V-V/2,x.left-=E,x.right+=R,M=i,P=s):m&&(I=C===0?0:x.top-k[C-1][0].bottom,V=C===B?0:k[C+1][0].top-x.bottom,M=C===0||I===0?0:I,P=C===B||V===0?0:V-V/2,x.top-=M,x.bottom+=P,E=n,R=o);let $=ep(b,x,S,e),O=j(b);return ze(O)&&tp(b,e,t,E,R,M,P),$});v.length&&(e[c].children=w)}function qw(r){let{id:e}=H(r),t=document.getElementById(e);return t?t.dataset.dragging!=="true":(console.warn(`BoxModel: no element found with id #${e}`),!1)}function np(r){let{id:e}=H(r);if(e===void 0)throw Error("`BoxModel.measureComponentElement, component has no id");let t=document.getElementById(e);if(!t)throw Error("BoxModel.measureComponentElement, no DOM element found for component");let{top:n,left:o,right:i,bottom:s,height:l,width:a}=t.getBoundingClientRect(),c,u=j(r);if(ze(u)){let h=t.scrollHeight;h>l&&(c={id:e,scrollHeight:h,scrollTop:t.scrollTop})}return[{top:Math.round(n),left:Math.round(o),right:Math.round(i),bottom:Math.round(s),height:Math.round(l),width:Math.round(a),scrolling:c},t,r]}function rp(r,e,t,n,o,i=[]){let{children:s,"data-path":l,path:a=l}=H(r),c=j(r),u=e[a];if(!(0,Li.boxContainsPoint)(u,t,n))return i;if(o&&o.length){if(o.includes(a))i.push(r);else if(!o.some(h=>h.startsWith(a)))return i}else i.push(r);if(!ze(c)||u.header&&(0,Li.boxContainsPoint)(u.header,t,n))return i;u.scrolling&&Kw(u,t,n);for(let h=0;h<s.length;h++){if(c==="Stack"&&r.props.active!==h)continue;let f=rp(s[h],e,t,n,o);if(f.length)return i.concat(f)}return i}function Kw({top:r,bottom:e,scrolling:t},n,o){if(t){let{id:i,scrollTop:s,scrollHeight:l}=t,a=e-r;if(s===0&&e-o<50){let c=l-a;document.getElementById(i).scrollTo({left:0,top:c,behavior:"smooth"}),t.scrollTop=c}else if(s>0&&o-r<50)document.getElementById(i).scrollTo({left:0,top:0,behavior:"smooth"}),t.scrollTop=0;else return!1}else return!1}var jw=.4,nl=class{constructor(e,t,n,o,i){this.init(e,t,n,o,i)}init(e,t,n,o,i){let{left:s,top:l}=o,{pctX:a,pctY:c}=Fc(t,n,o),u=jw,h=a*o.width,f=o.width-h,d=c*o.height,p=o.height-d,m=o.width*u,y=o.height*u,g=1-u,v=h*g,w=d*g,x=f*g,S=p*g;this.intrinsicSize=i,this.constraint={zone:{x:{lo:e.left,hi:e.right},y:{lo:e.top,hi:e.bottom}},pos:{x:{lo:e.left-v,hi:e.right-o.width+x},y:{lo:e.top-w,hi:e.bottom-o.height+S}},mouse:{x:{lo:e.left+m*a,hi:e.right-m*(1-a)},y:{lo:e.top+y*c,hi:e.bottom-y*(1-c)}}},this.x={pos:s,lo:!1,hi:!1,mousePos:t,mousePct:a},this.y={pos:l,lo:!1,hi:!1,mousePos:n,mousePct:c}}outOfBounds(){return this.x.lo||this.x.hi||this.y.lo||this.y.hi}inBounds(){return!this.outOfBounds()}dropX(){return this.dropXY("x")}dropY(){return this.dropXY("y")}hasIntrinsicSize(){var e,t;return((e=this==null?void 0:this.intrinsicSize)==null?void 0:e.height)&&((t=this==null?void 0:this.intrinsicSize)==null?void 0:t.width)}update(e,t){let n=this[e],o=this.constraint.mouse[e],i=this.constraint.pos[e],s=n.pos,l=t-n.mousePos;return l<0?n.lo||(t<o.lo?(n.lo=!0,n.pos=i.lo):n.hi?t<o.hi&&(n.hi=!1,n.pos+=l):n.pos+=l):l>0&&(n.hi||(t>o.hi?(n.hi=!0,n.pos=i.hi):n.lo?t>o.lo&&(n.lo=!1,n.pos+=l):n.pos+=l)),n.mousePos=t,s!==n.pos}dropXY(e){let t=this[e],n=this.constraint.zone[e];return t.lo?Math.max(n.lo,t.mousePos):t.hi?Math.min(t.mousePos,Math.round(n.hi)-1):t.mousePos}};var Jw=r=>r.pos.tab&&j(r.component)==="Stack"&&r.pos.position.Header,{north:Qw,south:Yw,east:Xw,west:Zw}=Pr,eS=Xw+Zw,tS=Qw+Yw,kn=class{constructor({component:e,pos:t,clientRect:n,nextDropTarget:o}){this.component=e,this.pos=t,this.clientRect=n,this.nextDropTarget=o,this.active=!1,this.dropRect=void 0}targetTabPos(e){let{left:t,width:n,positionRelativeToTab:o}=e;return o===Ai.BEFORE?t:t+n}getTargetDropOutline(e,t){if(this.pos.tab)return this.getDropTabOutline(e,this.pos.tab);if(t&&t.hasIntrinsicSize())return this.getIntrinsicDropRect(t);{let[n,o,i,s]=this.getDropRectOutline(e,t);return{l:n,t:o,r:i,b:s}}}getDropTabOutline(e,t){var g,v;let{clientRect:{top:n,left:o,right:i,bottom:s,header:l}}=this,a=0,c=Math.round(e/2)+a,u=Math.round(n),h=Math.round(o+c),f=Math.round(i-c),d=Math.round(s-c),p=this.targetTabPos(t),m=60,y=((g=l==null?void 0:l.bottom)!=null?g:0)-((v=l==null?void 0:l.top)!=null?v:0);return{l:h,t:u,r:f,b:d,tabLeft:p,tabWidth:m,tabHeight:y}}getIntrinsicDropRect(e){var m,y,g,v;let{pos:t,clientRect:n}=this,{x:o,y:i}=e,s=(y=(m=e.intrinsicSize)==null?void 0:m.height)!=null?y:0,l=(v=(g=e.intrinsicSize)==null?void 0:g.height)!=null?v:0;s&&s>n.height?(console.log("DropTarget: we're going to blow the gaff"),s=n.height):l&&l>n.width&&(console.log("DropTarget: we're going to blow the gaff"),l=n.width);let a=Math.min(n.right-l,Math.max(n.left,Math.round(t.x-o.mousePct*l))),c=Math.min(n.bottom-s,Math.max(n.top,Math.round(t.y-i.mousePct*s))),[u,h,f,d]=this.dropRect=[a,c,a+l,c+s],p=t.position.EastOrWest?[u,n.top,u,n.bottom,f,n.top,f,n.bottom]:[n.left,h,n.right,h,n.left,d,n.right,d];return{l:u,r:f,t:h,b:d,guideLines:p}}getDropRectOutline(e,t){var v,w,x;let{pos:n,clientRect:o}=this,{width:i,height:s,position:l}=n,{width:a,height:c}=(v=t==null?void 0:t.intrinsicSize)!=null?v:{},u=(w=c!=null?c:s)!=null?w:0,h=(x=a!=null?a:i)!=null?x:0;this.dropRect=void 0;let{top:f,left:d,right:p,bottom:m}=o,y=0,g=Math.round(e/2)+y;switch(l){case pt.North:case pt.Header:{let S=Math.round((m-f)/2),b=u?Math.min(S,Math.round(u)):S;return h&&d+h<p?[d+g,f+g,d+h-g,f+g+b]:[d+g,f+g,p-g,f+g+b]}case pt.West:{let S=Math.round((p-d)/2),b=h?Math.min(S,Math.round(h)):S;return u&&f+u<m?[d+g,f+g,d-g+b,f+u+g]:[d+g,f+g,d-g+b,m-g]}case pt.East:{let S=Math.round((p-d)/2),b=h?Math.min(S,Math.round(h)):S;return u&&f+u<m?[p-g-b,f+g,p-g,f+u+g]:[p-g-b,f+g,p-g,m-g]}case pt.South:{let S=Math.round((m-f)/2),b=u?Math.min(S,Math.round(u)):S;return h&&d+h<p?[d+g,m-g-b,d+h-g,m-g]:[d+g,m-g-b,p-g,m-g]}case pt.Centre:return[d+g,f+g,p-g,m-g];default:return console.warn(`DropTarget does not recognize position ${l}`),null}}activate(){return this.active=!0,this}toArray(){let e=this,t=[e];for(;e=e.nextDropTarget;)t.push(e);return t}static getActiveDropTarget(e){return e===null?null:e!=null&&e.active?e:kn.getActiveDropTarget(e.nextDropTarget)}};function rl(r,e,t,n,o,i){var a;let s=null,l=vo.allBoxesContainingPoint(t,n,r,e,i);if(l.length){let[c,...u]=l,{"data-path":h,path:f=h,"data-row-placeholder":d}=H(c),p=n[f],y=Bc(r,e,p,o&&d?"row":void 0),g=n[f],v=([w,...x])=>{var S,b;if((S=y.position)!=null&&S.Header||y.closeToTheEdge){let C=nS(w,y,g,n,r,e);if(C){let[k,E]=C;return new kn({component:w,pos:k,clientRect:E,nextDropTarget:(b=v(x))!=null?b:null})}else if(x.length)return v(x)}};s=new kn({component:c,pos:y,clientRect:p,nextDropTarget:(a=v(u))!=null?a:null}).activate()}return s}function nS(r,{closeToTheEdge:e,position:t},n,o,i,s){if(!r||r.type==="DraggableLayout")return;let l=o[r.props.path],a=e&Pr.north,c=e&Pr.east,u=e&Pr.south,h=e&Pr.west,f=(a||t.Header)&&Math.round(n.top)===Math.round(l.top),d=c&&Math.round(n.right)===Math.round(l.right),p=u&&Math.round(n.bottom)===Math.round(l.bottom),m=h&&Math.round(n.left)===Math.round(l.left);if(f||d||p||m){let{"data-path":y,path:g=y}=r.props,v=o[g],w=Bc(i,s,v);if((rS(r)||op(r))&&e&eS)return w.width=120,[w,v];if((oS(r)||op(r))&&(t.Header||e&tS))return w.height=120,[w,v]}}function op(r){return j(r)==="Stack"}function rS(r){return j(r)==="Flexbox"&&r.props.style.flexDirection==="column"}function oS(r){return j(r)==="Flexbox"&&r.props.style.flexDirection==="row"}var ol=require("@vuu-ui/vuu-popups");var ip=z(require("classnames"));var _c=require("react/jsx-runtime");function zc(r,e=0,t=0){let{pos:n,clientRect:o}=r,i=20;return n.position.West?[o.left-t+i,n.y-e,"left"]:n.position.South?[n.x-t,o.bottom-e-i,"bottom"]:n.position.East?[o.right-t-i,n.y-e,"right"]:[n.x-t,o.top-e+i,"top"]}var Hc="vuuDropMenu",Wc=({className:r,dropTarget:e,onHover:t,orientation:n})=>{let o=e.toArray();return(0,_c.jsx)("div",{className:(0,ip.default)(Hc,r,`${Hc}-${n}`),onMouseLeave:()=>t(null),children:o.map((i,s)=>(0,_c.jsx)("div",{className:`${Hc}-item`,"data-icon":s===0?"column-2A":"column-2B",onMouseEnter:()=>t(i)},s))})};var cp=require("react/jsx-runtime"),$c=!1,Oi=null,jt=null,iS=r=>Oi=r,sS=([r,e])=>`M${r},${e}`,lS=([r,e])=>`L${r},${e}`,sp=([r,...e])=>`${sS(r)} ${e.map(lS)}Z`,aS=r=>{if(r){let[e,t,n,o,i,s,l,a]=r;return`M${e},${t} L${n},${o} M${i},${s} L${l},${a}`}else return""};function cS(){if(document.getElementById("hw-drag-canvas")===null){let r=document.getElementById("root"),e=document.createElement("div");e.id="hw-drag-canvas",e.innerHTML=`
|
|
2
2
|
<svg width="100%" height="100%">
|
|
3
3
|
<path id="hw-drop-guides" />
|
|
4
4
|
<path
|
|
@@ -14,20 +14,20 @@
|
|
|
14
14
|
/>
|
|
15
15
|
</path>
|
|
16
16
|
</svg>
|
|
17
|
-
`,document.body.insertBefore(e,r)}}var Ai=class{constructor(){this.currentPath=null;this.tabMode=null;iS()}prepare(e,t="full-view"){document.body.classList.add("drawing"),this.currentPath=null,this.tabMode=t;let n=this.getPoints(0,0,0,0),o=ap(n),i=document.getElementById("vuu-drop-outline");i==null||i.setAttribute("d",o),this.currentPath=o}clear(){Li=null,rl(),document.body.classList.remove("drawing"),nl.PopupService.hidePopup()}get hoverDropTarget(){return Li}getPoints(e,t,n,o,i=0,s=0,l=0){let a=this.tabMode==="tab-only";if(s===0)return[[e,t+l],[e,t+l],[e,t],[e+s,t],[e+s,t],[e+n,t],[e+n,t+o],[e,t+o]];if(a){let c=i;return[[c,t],[c,t],[c+s,t],[c+s,t],[c+s,t+l],[c+s,t+l],[c,t+l],[c,t+l]]}else return i===0?[[e,t+l],[e,t+l],[e,t],[e+s,t],[e+s,t+l],[e+n,t+l],[e+n,t+o],[e,t+o]]:[[e,t+l],[e+i,t+l],[e+i,t],[e+i,t],[e+i,t+l],[e+n,t+l],[e+n,t+o],[e,t+o]]}draw(e,t){let o=$c;if(Li!==null)this.drawTarget(Li);else if($c=e.nextDropTarget!=null,e.pos.tab?sS(e):jt&&rl(),this.drawTarget(e,t),$c){let[i,s,l]=zc(e);{let a=(0,hp.jsx)(Wc,{dropTarget:e,onHover:tS,orientation:l});nl.PopupService.showPopup({left:i,top:s,component:a})}}else nl.PopupService.hidePopup()}drawTarget(e,t){let o=e.getTargetDropOutline(6,t);if(o){let{l:i,t:s,r:l,b:a,tabLeft:c,tabWidth:u,tabHeight:h,guideLines:f}=o,d=l-i,p=a-s;if(this.currentPath){let w=document.getElementById("vuu-drop-outline");w==null||w.setAttribute("d",this.currentPath)}let m=this.getPoints(i,s,d,p,c,u,h),g=ap(m),y=document.getElementById("hw-drop-outline-animate");y==null||y.setAttribute("to",g),y==null||y.beginElement(),this.currentPath=g;let v=document.getElementById("hw-drop-guides");v==null||v.setAttribute("d",oS(f))}}},cp="transition:margin-left .4s ease-out;margin-left: 63px",up="transition:margin-left .4s ease-out;margin-left: 0px";function sS(r){var l,a;let{AFTER:e,BEFORE:t}=Di,{clientRect:{Stack:n},pos:{tab:o}}=r,{id:i}=r.component.props,s=null;if(n&&o&&o.positionRelativeToTab!==e){let c=o.positionRelativeToTab===t?1:2,u=`:scope .hwTabstrip > .hwTabstrip-inner > .hwTab:nth-child(${o.index+c})`;s=(l=document.getElementById(i))==null?void 0:l.querySelector(u),s?(jt===null||jt!==s)&&(s.style.cssText=cp,jt&&(jt.style.cssText=up),jt=s):rl()}else if((o==null?void 0:o.positionRelativeToTab)===t){if(jt===null){let c=".vuuHeader-title";s=(a=document.getElementById(i))==null?void 0:a.querySelector(c),s.style.cssText=cp,jt=s}}else rl()}function rl(){jt&&(jt.style.cssText=up,jt=null)}var Mn,Oi,Kn,dp,pp,Ir,ol,Pr=null,Gc,mp,sl,gp,Uc,il=null,lS=3,ll=new Ai,fp=.4;function aS(r,e){return e?Ee(r,e):an(r,t=>t.dropTarget)}var ul={handleMousedown(r,e,t={}){Mn=e,mp=t,dp=r.clientX,pp=r.clientY,Uc=t.dragThreshold===void 0?lS:t.dragThreshold,Uc===0?Mn(r,0,0):(window.addEventListener("mousemove",al,!1),window.addEventListener("mouseup",cl,!1),il=window.setTimeout(()=>{window.removeEventListener("mousemove",al,!1),window.removeEventListener("mouseup",cl,!1),Mn==null||Mn(r,0,0)},500)),r.preventDefault()},initDrag(r,e,{top:t,left:n,right:o,bottom:i},s,l,a,c){return{drag:Oi,drop:Kn}=l,cS(r,e,{top:t,left:n,right:o,bottom:i},s,a,c)}};function al(r){let n=r.clientX-dp,o=r.clientY-pp;Math.max(Math.abs(n),Math.abs(o))>Uc&&(window.removeEventListener("mousemove",al,!1),window.removeEventListener("mouseup",cl,!1),Mn==null||Mn(r,n,o),Mn=null)}function cl(){il&&(window.clearTimeout(il),il=null),window.removeEventListener("mousemove",al,!1),window.removeEventListener("mouseup",cl,!1)}function cS(r,e,t,n,o,i){Ir=aS(r,e);let{"data-path":s,path:l=s}=H(Ir);i&&(Gc=i.map(f=>an(r,d=>d.id===f)).map(f=>f.props.path)),sl=xo.measure(Ir,i);let a=sl[l];ol=new el(a,n.x,n.y,t,o);let c=Math.round(ol.x.mousePct*100),u=Math.round(ol.y.mousePct*100);return window.addEventListener("mousemove",yp,!1),window.addEventListener("mouseup",xp,!1),window.addEventListener("keydown",bp,!1),gp=!1,ll.prepare(t,"tab-only"),mp.DoNotTransform?"transform:none":`transform:scale(${fp},${fp});transform-origin:${c}% ${u}%;`}function yp(r){let e=r.clientX,t=r.clientY,n=ol,o=Pr,i,s,l;n.update("x",e)&&(s=n.x.pos),n.update("y",t)&&(l=n.y.pos),s===void 0&&l===void 0||Oi==null||Oi(s,l),!(gp||Ir===void 0)&&(n.inBounds()?i=tl(e,t,Ir,sl,n.hasIntrinsicSize(),Gc):i=tl(n.dropX(),n.dropY(),Ir,sl),o&&(i==null||i.box!==o.box)&&(Pr=null),i&&(ll.draw(i,n),Pr=i))}function bp(r){r.key==="Escape"&&(Pr=null,vp())}function xp(){vp()}function vp(){if(Pr){let r=ll.hoverDropTarget||kn.getActiveDropTarget(Pr);Kn==null||Kn(r),Pr=null}else Kn==null||Kn();Oi=null,Kn=null,Ir=void 0,ll.clear(),Gc=void 0,window.removeEventListener("mousemove",yp,!1),window.removeEventListener("mouseup",xp,!1),window.removeEventListener("keydown",bp,!1)}var wp=z(require("classnames")),Sp=require("react");var Tp=require("react/jsx-runtime"),vo=(0,Sp.forwardRef)(function({children:e,className:t,dropTarget:n,resizeable:o,...i},s){let l=(0,wp.default)("DraggableLayout",t);return(0,Tp.jsx)("div",{className:l,ref:s,...i,children:e})}),Cp="DraggableLayout";vo.displayName=Cp;xe(Cp,vo,"container");var Fp=require("@salt-ds/core"),Bp=z(require("classnames")),Hp=require("react");var Np=require("@vuu-ui/vuu-utils"),ve=z(require("react"));var Mp=z(require("classnames"));var Ep=require("react/jsx-runtime"),kp="vuuPlaceholder",Ni=({className:r,closeable:e,flexFill:t,resizeable:n,shim:o,...i})=>(0,Ep.jsx)("div",{className:(0,Mp.default)(kp,r,{[`${kp}-shim`]:o}),...i,"data-placeholder":!0,"data-resizeable":!0});Ni.displayName="Placeholder";xe("Placeholder",Ni);var Rp=z(require("classnames")),Qe=z(require("react"));var qc=require("react/jsx-runtime"),hl="vuuSplitter",Ip=Qe.default.memo(function({column:e,index:t,onDrag:n,onDragEnd:o,onDragStart:i,style:s}){let l=(0,Qe.useRef)(),a=(0,Qe.useRef)(null),c=(0,Qe.useRef)(0),[u,h]=(0,Qe.useState)(!1),f=(0,Qe.useCallback)(({key:b,shiftKey:C})=>{let k=C?10:1;e&&b==="ArrowDown"?n(t,k):e&&b==="ArrowUp"||!e&&b==="ArrowLeft"?n(t,-k):!e&&b==="ArrowRight"&&n(t,k)},[e,t,n]),d=(0,Qe.useCallback)(b=>{let{key:C}=b;(e&&(C==="ArrowUp"||C==="ArrowDown")||!e&&(C==="ArrowLeft"||C==="ArrowRight"))&&(i(t),f(b),p.current=f)},[e,f,t,i]),p=(0,Qe.useRef)(d),m=b=>p.current(b),g=(0,Qe.useCallback)(b=>{l.current=!0;let C=b[e?"clientY":"clientX"],k=C-c.current;C&&C!==c.current&&n(t,k),c.current=C},[e,t,n]),y=(0,Qe.useCallback)(()=>{var b;window.removeEventListener("mousemove",g,!1),window.removeEventListener("mouseup",y,!1),o(),h(!1),(b=a.current)==null||b.focus()},[g,o,h]),v=(0,Qe.useCallback)(b=>{c.current=e?b.clientY:b.clientX,i(t),window.addEventListener("mousemove",g,!1),window.addEventListener("mouseup",y,!1),b.preventDefault(),h(!0)},[e,g,y,t,i,h]),w=()=>{var b;l.current?l.current=!1:(b=a.current)==null||b.focus()},x=()=>{p.current=d},S=(0,Rp.default)(hl,{[`${hl}-active`]:u,[`${hl}-column`]:e});return(0,qc.jsx)("div",{className:S,"data-splitter":!0,ref:a,role:"separator",style:s,onBlur:x,onClick:w,onKeyDown:m,onMouseDown:v,tabIndex:0,children:(0,qc.jsx)("div",{className:`${hl}-grab-zone`})})});var jc=require("@vuu-ui/vuu-utils"),Jc=z(require("react"));var uS={"data-placeholder":!0,"data-resizeable":!0},fl={},jn="auto",Kc={flexBasis:0,flexGrow:1,flexShrink:1,height:jn,width:jn},Pp={height:"width",width:"height"},Qc=(r="row")=>r==="row"?["width","height","column"]:["height","width","row"],hS=r=>typeof r=="string"&&r.endsWith("%"),mt=r=>{let{style:{width:e=jn,height:t=jn}=fl}=r.props,n=typeof t=="number",o=typeof e=="number";return n&&o?{height:t,width:e}:n?{height:t}:o?{width:e}:void 0};function dl(r,e,t){let n=Pp[e],{style:{[n]:o=jn,...i}=fl}=r.props;return t&&t[e]?{...i,...Kc,flexBasis:t[e],flexGrow:0,flexShrink:0}:{...i,...Kc,[n]:o}}function Yc(r){let{style:{flex:e,flexGrow:t,flexShrink:n,flexBasis:o}=fl}=r.props;return typeof e=="number"||o===0&&t===1&&n===1?!0:typeof o!="number"}function pl(r,e,t){let n=Pp[e],{style:{[e]:o=jn,[n]:i=jn,...s}=fl}=r.props;return o!==jn?hS(o)?{flexBasis:0,flexGrow:1,flexShrink:1,[e]:void 0,[n]:i}:{flexBasis:o,flexGrow:0,flexShrink:0,[e]:o,[n]:i}:t&&t[e]?{...s,...Kc,flexBasis:t[e],flexGrow:0,flexShrink:0}:{...s,[n]:i}}function wo(r,e,t,n,o){let i=[],s=0,l;if(n&&o){let u,[h,f,d,p]=o;[u,l]=e==="column"?[f-n.top,n.bottom-p]:[h-n.left,n.right-d],u&&i.push(Jt(`${t}.${s++}`,u,{flexGrow:0,flexShrink:0}))}else l=!0;let{version:a=0,style:c}=H(r);return i.push(Ae(r,`${t}.${s++}`,{version:a+1,style:{...c,flexBasis:"auto",flexGrow:0,flexShrink:0}})),l&&i.push(Jt(`${t}.${s++}`,0,void 0,{[`data-${e}-placeholder`]:!0})),ml(e,{resizeable:!1,style:{flexBasis:"auto"}},i,t)}var fS=(r,e)=>{if(!e)return r===0?1:0};function ml(r,e,t,n){let o=(0,jc.uuid)(),{flexFill:i,style:s,resizeable:l=!0}=e,{flexBasis:a=i?void 0:"auto"}=s,c=fS(a,i);return Jc.default.createElement(Un.Flexbox,{id:o,key:o,path:n,flexFill:i,style:{...s,flexDirection:r,flexBasis:a,flexGrow:c,flexShrink:c},resizeable:l},t)}var dS={flexGrow:1,flexShrink:1};function Jt(r,e,t,n){let o=(0,jc.uuid)();return Jc.default.createElement("div",{...uS,...n,"data-path":r,id:o,key:o,style:{...dS,...t,flexBasis:e}})}var pS={},Vi=1,Fi=2,mS=r=>typeof r.intrinsicSize=="number",gS=(r,e)=>{let t={};return r.forEach(n=>{t[n]=q(e,n)}),t},gl=(r,e,t)=>r.map((n,o)=>{var a;let i=q(n,"resizeable"),{[e]:s}=(a=mt(n))!=null?a:pS,l=Yc(n);return t?{index:o,flexOpen:l,intrinsicSize:s,resizeable:i,...gS(t,n)}:{index:o,flexOpen:l,intrinsicSize:s,resizeable:i}}),Dp=r=>{let e=r.length,t=r.every(mS),n=Array(e).fill(0);if(t&&e>0&&(n[0]=Fi,n[e-1]=Fi),e<2)return n;for(let o=0,i=0;o<e-1;o++)r[o].resizeable&&!i&&(i=Vi),n[o]+=i;for(let o=e-1;o>0&&(n[o]&Vi&&(n[o]-=Vi),!r[o].resizeable);o--);return n},Lp=(r,e)=>{let t=bS(r,e),n=xS(r,e),o=t!==-1&&n!==-1?[t,n]:void 0,i=yS(r,o);return[o,i]};function yS(r,e){if(e){let t=[];for(let n=0;n<r.length;n++)r[n].flexOpen&&!e.includes(n)&&t.push(n);return t}}function bS(r,e){let t=e,n=!1;for(;t>=1&&!n;)t=t-1,n=Ap(r,t);return t}function xS(r,e){let t=e,n=!1,o=r.length;for(;t<o-1&&!n;)t=t+1,n=Ap(r,t);return t===o?-1:t}function Ap(r,e){let{placeholder:t,splitter:n,resizeable:o,intrinsicSize:i}=r[e];return!!(!n&&!i&&(t||o))}var vS=r=>!r.splitter&&!r.placeholder,Vp=({children:r,onSplitterMoved:e,style:t})=>{let n=(0,ve.useRef)(null),o=(0,ve.useRef)(),i=(0,ve.useRef)(),s=(0,ve.useRef)([]),[,l]=(0,ve.useState)({}),a=g=>{i.current=g,l({})},c=(t==null?void 0:t.flexDirection)==="column",u=c?"height":"width",h=(0,ve.useMemo)(()=>Array.isArray(r)?r:ve.default.isValidElement(r)?[r]:[],[r]),f=(0,ve.useCallback)(g=>{let{current:y}=o;if(y){let[v,w]=Lp(y,g);v&&(v.forEach(x=>{var b;let S=(b=n.current)==null?void 0:b.childNodes[x];if(S){let{size:C,minSize:k}=TS(S,u);y[x].currentSize=C,y[x].minSize=k}}),w&&w.forEach(x=>{var b;let S=(b=n.current)==null?void 0:b.childNodes[x];if(S){let{[u]:C}=S.getBoundingClientRect();y[x].flexBasis=C}}))}},[u]),d=(0,ve.useCallback)((g,y)=>{i.current&&o.current&&a(SS(i.current,o.current,y,u))},[u]),p=(0,ve.useCallback)(()=>{let g=o.current;g&&(e==null||e(g.filter(vS))),g==null||g.forEach(y=>{y.currentSize=void 0,y.flexBasis=void 0,y.flexOpen=!1})},[e]),m=(0,ve.useCallback)(g=>ve.default.createElement(Ip,{column:c,index:g,key:`splitter-${g}`,onDrag:d,onDragEnd:p,onDragStart:f}),[d,p,f,c]);return(0,ve.useMemo)(()=>{let[g,y]=wS(h,u,m,s.current);o.current=y,i.current=g},[h,m,u]),{content:i.current||[],rootRef:n}};function wS(r,e,t,n){let o=gl(r,e),i=Dp(o),s=[],l=[];for(let a=0;a<r.length;a++){let c=r[a];if(a===0&&i[a]&Fi&&(s.push(Op(a)),l.push({placeholder:!0,shim:!0})),c.key==null){let u=n[a]||(n[a]=(0,Np.getUniqueId)());s.push(ve.default.cloneElement(c,{key:u}))}else s.push(c);l.push(o[a]),a>0&&i[a]&Fi?(s.push(Op(a)),l.push({placeholder:!0})):i[a]&Vi&&(s.push(t(s.length)),l.push({splitter:!0}))}return[s,l]}function SS(r,e,t,n){return CS(e,t)?r.map((i,s)=>{let l=e[s],{currentSize:a,flexOpen:c,flexBasis:u}=l,h=a!==void 0;if(h||c){let{flexBasis:f}=i.props.style||{},d=h?l.currentSize:u;return d!==f?ve.default.cloneElement(i,{style:{...i.props.style,flexBasis:d,[n]:"auto"}}):i}else return i}):r}function CS(r,e){let t=[];r.forEach((u,h)=>{u.currentSize!==void 0&&t.push(h)});let n=e<0?t[0]:t[1],{currentSize:o=0,minSize:i=0}=r[n];if(o===i)return!1;if(Math.abs(e)>o-i){let u=e<0?-1:1;e=Math.max(0,o-i)*u}let s=r[t[0]],{currentSize:l=0}=s;s.currentSize=l+e;let a=r[t[1]],{currentSize:c=0}=a;return a.currentSize=c-e,!0}function Op(r){return ve.default.createElement(Ni,{shim:r===0,key:`placeholder-${r}`})}function TS(r,e){let{[e]:t}=r.getBoundingClientRect(),o=getComputedStyle(r).getPropertyValue(`min-${e}`),i=o.endsWith("px")?parseInt(o,10):0;return{size:t,minSize:i}}var zp=require("react/jsx-runtime"),Xc="hwFlexbox",_p=(0,Hp.forwardRef)(function(e,t){let{breakPoints:n,children:o,column:i,className:s,flexFill:l,gap:a,fullPage:c,id:u,onSplitterMoved:h,resizeable:f,row:d,spacing:p,splitterSize:m,style:g,...y}=e,{content:v,rootRef:w}=Vp({children:o,onSplitterMoved:h,style:g}),x=(0,Bp.default)(Xc,s,{[`${Xc}-column`]:i,[`${Xc}-row`]:d,"flex-fill":l,"full-page":c});return(0,zp.jsx)("div",{...y,className:x,"data-resizeable":f||void 0,id:u,ref:(0,Fp.useForkRef)(w,t),style:{...g,gap:a,"--spacing":p},children:v})});_p.displayName="Flexbox";var So=_p;var gm=require("react");var Jn={ADD:"add",BLUR:"blur",BLUR_SPLITTER:"blur-splitter",DRAG_START:"drag-start",DRAG_STARTED:"drag-started",DRAG_DROP:"drag-drop",FOCUS:"focus",FOCUS_SPLITTER:"focus-splitter",INITIALIZE:"initialize",LAYOUT_RESIZE:"layout-resize",MAXIMIZE:"maximize",MINIMIZE:"minimize",REMOVE:"remove",REPLACE:"replace",RESTORE:"restore",SAVE:"save",SET_TITLE:"set-title",SPLITTER_RESIZE:"splitter-resize",SWITCH_TAB:"switch-tab",TEAR_OUT:"tear-out"};var Ze=require("react");var Sl=z(require("react"));var lu=require("@vuu-ui/vuu-utils"),To=z(require("react"));var ru=require("@vuu-ui/vuu-utils"),Qn=z(require("react"));var Dr=require("react"),Ye=new Map,Dt=new Map,Zc=r=>Ye.get(r),eu=r=>Ye.has(r),tu=(r,e)=>Ye.set(r,e),Lr=()=>{let r=(0,Dr.useCallback)((s,l)=>{let a=Dt.get(s);if(a)return l!==void 0&&a[l]!==void 0?a[l]:l!==void 0?void 0:a},[]),e=(0,Dr.useCallback)((s,l,a)=>{if(l===void 0)Dt.set(s,a);else if(Dt.has(s)){let c=Dt.get(s);Dt.set(s,{...c,[l]:a})}else Dt.set(s,{[l]:a})},[]),t=(0,Dr.useCallback)((s,l)=>{if(Dt.has(s)){if(l===void 0)Dt.delete(s);else if(Dt.get(s)[l]){let{[l]:c,...u}=Dt.get(s);Object.keys(u).length>0?Dt.set(s,u):Dt.delete(s)}}},[]),n=(0,Dr.useCallback)((s,l)=>{let a=Ye.get(s);if(a)return l!==void 0?a[l]:a},[]),o=(0,Dr.useCallback)((s,l,a)=>{if(l===void 0)Ye.set(s,a);else if(Ye.has(s)){let c=Ye.get(s);Ye.set(s,{...c,[l]:a})}else Ye.set(s,{[l]:a})},[]),i=(0,Dr.useCallback)((s,l)=>{if(Ye.has(s)){if(l===void 0)Ye.delete(s);else if(Ye.get(s)[l]){let{[l]:c,...u}=Ye.get(s);Object.keys(u).length>0?Ye.set(s,u):Ye.delete(s)}}},[]);return{loadSessionState:r,loadState:n,saveSessionState:e,saveState:o,purgeState:i,purgeSessionState:t}};var ou=r=>r.flexDirection==="column"?["height","width"]:["width","height"],kS={},Co=(r,e="0")=>{let[t,n]=bl(j(r),r.props,e);return Qn.default.cloneElement(r,t,n)},yl=(r,e)=>{let t=j(r),[n,o]=bl(t,r.props,"0",void 0,e);return(0,Qn.cloneElement)(r,n,o)},MS=(r,e,t)=>{let[n,o]=bl(r,e,"0",void 0,t);return{...e,...n,type:r,children:o}};function ES(r,e,t="0",n=null,o){var m,g;let{active:i=0,"data-path":s,path:l=s,id:a,style:c}=H(o),u=j(o)===r&&t===l,h=u?a:(m=e.id)!=null?m:(0,ru.uuid)(),f=r==="Stack"?(g=e.active)!=null?g:i:void 0,d=h,p=u?c:IS(r,e,n);return Tc(r)?{id:h,key:d,path:t,style:p,type:r,active:f}:{id:h,key:d,style:p,"data-path":t}}function bl(r,e,t,n=null,o){var c,u;let i=ES(r,e,t,n,o);if(e.layout&&!o)return[i,[Ar(e.layout,`${t}.0`)]];let s=(u=o==null?void 0:o.children)!=null?u:(c=o==null?void 0:o.props)==null?void 0:c.children,a=e.dropTarget&&s?s:RS(r,e.children,t,s);return[i,a]}function RS(r,e,t="0",n){let o=Array.isArray(e)?e:Qn.default.isValidElement(e)?[e]:[];return ze(r)?o.map((i,s)=>{let l=j(i),a=j(n==null?void 0:n[s]);if(!a||l===a){let[c,u]=bl(l,i.props,`${t}.${s}`,r,n==null?void 0:n[s]);return Qn.default.cloneElement(i,c,u)}return n==null?void 0:n[s]}):e}var IS=(r,e,t)=>{let{style:n=kS}=e;if(r==="Flexbox"&&(n={flexDirection:e.column?"column":"row",...n,display:"flex"}),n.flex){let{flex:o,...i}=n;n={...i,...Zs(typeof o=="number"?o:0)}}else t==="Stack"?n={...n,...Zs(1)}:t==="Flexbox"&&(n.width||n.height)&&n.flexBasis===void 0&&(n={...n,flexBasis:"auto",flexGrow:0,flexShrink:0});return n};function Ar({id:r=(0,ru.uuid)(),type:e,children:t,props:n,state:o},i){let s=e.match(/^[a-z]/)?e:Un[e];if(s===void 0)throw Error(`layoutUtils unable to create component from JSON, unknown type ${e}`);return o&&tu(r,o),Qn.default.createElement(s,{id:r,...n,key:r,path:i},t?t.map((l,a)=>Ar(l,`${i}.${a}`)):void 0)}function iu(r){return su(r)}function su(r){let e=j(r),{id:t,children:n,type:o,...i}=H(r),s=eu(t)?Zc(t):void 0;return{id:t,type:e,props:Wp(i),state:s,children:Qn.default.Children.map(n,su)}}function Wp(r){if(r){let{path:e,...t}=r,n={};for(let[o,i]of Object.entries(t))n[o]=nu(i);return n}}function nu(r){if(typeof r=="string"||typeof r=="number"||typeof r=="boolean")return r;if(Array.isArray(r))return r.map(nu);if(typeof r=="object"&&r!==null){let e={};for(let[t,n]of Object.entries(r))e[t]=nu(n);return e}}function $p(r,e){var s;let t=r.props.children,n=t.length,{index:o=-1,positionRelativeToTab:i="after"}=e.tab||{};return o===-1||o>=n?[t[n-1],"after"]:[(s=t[o])!=null?s:null,i]}function xl(r,e,t){let{active:n,children:o=[],path:i}=H(r),s=q(e,"path"),{idx:l,finalStep:a}=Pt(i,s,!0),[c,u]=a?PS(r,o,t):[n,o==null?void 0:o.map((f,d)=>d===l?xl(f,e,t):f)],h=j(r)==="Stack"?Array.isArray(c)?c[0]:c:n;return To.default.cloneElement(r,{active:h},u)}function PS(r,e,t){let n=q(r,"path"),o=e==null?void 0:e.length,{id:i=(0,lu.uuid)()}=H(t);return o?[o,e.concat(Ae(t,`${n}.${o}`,{id:i,key:i}))]:[0,[Ae(t,`${n}.0`,{id:i})]]}function vl(r,e,t,n,o,i,s){let{active:l,children:a,path:c}=H(r),u=q(e,"path"),{idx:h,finalStep:f}=Pt(c,u),[d,p]=f?DS(r,a,h,t,n,o,i,s):[l,a.map((g,y)=>y===h?vl(g,e,t,n,o,i,s):g)],m=j(r)==="Stack"?d:l;return To.default.cloneElement(r,{active:m},p)}function DS(r,e,t,n,o,i,s,l){let a=mt(n);return a!=null&&a.width&&(a!=null&&a.height)?AS(r,e,t,n,o,s,l):Up(r,e,t,n,o,(i==null?void 0:i.width)||(i==null?void 0:i.height),s)}var LS=(r,e,{top:t,right:n,bottom:o,left:i},[s,l,a,c])=>{if(r==="column"&&e==="before")return l-t;if(r==="column")return o-c;if(r==="row"&&e==="before")return s-i;if(r==="row")return n-a};function AS(r,e,t,n,o,i,s){let{style:{flexDirection:l}}=H(r),[a,c,u]=Qc(l),{[c]:h,[a]:f}=mt(n),d=q(e[t],"path"),p=LS(l,o,i,s),[m,g]=h<i[c]?[wo(n,u,d,i,s),f]:[n,void 0],y=p?Jt(d,p,{flexGrow:0,flexShrink:0}):void 0;return h>i[c]&&(e=e.map(v=>{if(q(v,"placeholder"))return v;{let{[c]:w}=mt(v);return w&&w<h?wo(v,u,q(v,"path")):v}})),Up(r,e,t,m,o,g,i,y)}function Up(r,e,t,n,o,i,s,l){let a=q(r,"path"),c=0,u=!e||e.length===0?[n]:e.reduce((h,f,d)=>{if(t===d){let[p,m]=OS(r,f,n,s);o==="before"?l?h.push(l,m,p):h.push(m,p):l?h.push(p,m,l):h.push(p,m),c=h.indexOf(m)}else h.push(f);return h},[]).map((h,f)=>f<c?h:Ae(h,`${a}.${f}`));return[c,u]}function OS(r,e,t,n){let o=(0,lu.uuid)(),{version:i=0}=H(t);if(i+=1,j(r)==="Flexbox"){let[s]=ou(r.props.style),l=6,a={[s]:(n[s]-l)/2},c=pl(e,s,a),u=pl(t,s,a);return[To.default.cloneElement(e,{style:c}),To.default.cloneElement(t,{id:o,version:i,style:u})]}else{let{style:{left:s,top:l,flex:a,...c}={left:void 0,top:void 0,flex:void 0}}=H(t);return[e,To.default.cloneElement(t,{id:o,version:i,style:c})]}}var qp=require("react");var Bi=z(require("react"));function Gp(r,{target:e,replacement:t}){return au(r,e,t)}function au(r,e,t){let n=q(e,"path"),o=q(e,"resizeable"),{style:i}=H(e),s=Co(Bi.default.cloneElement(t,{resizeable:o,style:{...i,...t.props.style}}),n);return Xe(r,e,s)}function Xe(r,e,t,n){if(r===e)return t;let{idx:o,finalStep:i}=Pt(q(r,"path"),q(e,"path")),s=r.props.children.slice();return i?n?n===Jn.MINIMIZE?s[o]=NS(r,s[o]):n===Jn.RESTORE&&(s[o]=VS(s[o])):s[o]=t:s[o]=Xe(s[o],e,t,n),Bi.default.cloneElement(r,void 0,s)}function NS(r,e){let{style:t}=H(r),{style:n}=H(e),{width:o,height:i,flexBasis:s,flexShrink:l,flexGrow:a,...c}=n,u={width:o,height:i,flexBasis:s,flexShrink:l,flexGrow:a},h={...c,flexBasis:0,flexGrow:0,flexShrink:0},f=t.flexDirection==="row"?"vertical":t.flexDirection==="column"?"horizontal":!1;return f?Bi.default.cloneElement(e,{collapsed:f,restoreStyle:u,style:h}):e}function VS(r){let{style:e,restoreStyle:t}=H(r),{flexBasis:n,flexShrink:o,flexGrow:i,...s}=e,l={...s,...t};return Bi.default.cloneElement(r,{collapsed:!1,style:l,restoreStyle:void 0})}function Kp(r,{fromIndex:e,path:t,toIndex:n}){let o=Ee(r,t,!0),{children:i}=H(o),s=FS(i,e,n),l=(0,qp.cloneElement)(o,void 0,s);return Xe(r,o,l)}function FS(r,e,t){let n=r.slice(),[o]=n.splice(e,1);return t===-1?n.concat(o):(n.splice(t,0,o),n)}var Oe={ADD:"add",DRAG_START:"drag-start",DRAG_DROP:"drag-drop",LAYOUT_RESIZE:"layout-resize",MAXIMIZE:"maximize",MINIMIZE:"minimize",MOVE_CHILD:"move-child",REMOVE:"remove",REPLACE:"replace",RESTORE:"restore",SAVE:"save",SET_PROP:"set-prop",SET_PROPS:"set-props",SET_TITLE:"set-title",SPLITTER_RESIZE:"splitter-resize",SWITCH_TAB:"switch-tab",TEAROUT:"tearout"},BS=r=>["switch-active-layout","open-layout","close-layout","rename-layout"].includes(r),HS=r=>["switch-active-tab","edit-feature-title","save-feature-props","remove-component","resize-component","drag-drop-operation"].includes(r);var Yn=z(require("react"));function cu(r,{path:e}){let t=Ee(r,e),n=ln(r,e);if(n===null)return r;let{children:o}=H(n);if(o.length>1&&Jp(o,e)){let{style:{flexBasis:i,display:s,flexDirection:l,...a}}=H(n),c=q(n,"path"),u=Xe(r,n,Jt(c,i,a));for(;(n=ln(u,c))&&q(n,"path")!=="0";){let{children:h}=H(n);if(Jp(h)){c=q(n,"path");let{style:{flexBasis:f,display:d,flexDirection:p,...m}}=H(n);u=Xe(r,n,Jt(c,f,m))}else if($S(h))u=Xp(r,n);else break}return u}return Qp(r,t)}function Qp(r,e){let t=H(r),{children:n,path:o,preserve:i}=t,{active:s}=t,{idx:l,finalStep:a}=Pt(o,q(e,"path")),c=j(r),u=n.slice();if(a){if(u.splice(l,1),s!==void 0&&s>=l&&(s=Math.max(0,s-1)),u.length===1&&!i&&o!=="0"&&c.match(/Flexbox|Stack/))return _S(r,u[0]);!u.some(zS)&&u.some(Yp)&&(u=WS(u))}else u[l]=Qp(u[l],e);return u=u.map((h,f)=>Ae(h,`${o}.${f}`)),Yn.default.cloneElement(r,{active:s},u)}function _S(r,e){let t=j(r),{path:n,style:{flexBasis:o,flexGrow:i,flexShrink:s,width:l,height:a}}=H(r),c=Ae(e,n);if(n==="0")c=Yn.default.cloneElement(c,{style:{...e.props.style,width:l,height:a}});else if(t==="Flexbox"){let u=r.props.style.flexDirection==="column"?"height":"width",{style:{[u]:h,...f}}=c.props;c=Yn.default.cloneElement(c,{flexFill:void 0,style:{...f,flexGrow:i,flexShrink:s,flexBasis:o,width:l,height:a}})}return c}var zS=r=>r.props.style.flexGrow>0,Yp=r=>{let{width:e,height:t,flexGrow:n}=r.props.style;return n===0&&typeof e!="number"&&typeof t!="number"},WS=r=>r.map(e=>Yp(e)?Yn.default.cloneElement(e,{style:{...e.props.style,flexGrow:1}}):e),$S=r=>{if(r&&r.length>0){let e=q(r[0],"placeholder"),t=!1;for(let n=1;n<r.length;n++){if(t=q(r[n],"placeholder"),e&&t)return!0;e=t}}},Xp=(r,e)=>{let{children:t,path:n}=H(r),{idx:o,finalStep:i}=Pt(n,q(e,"path")),s=t.slice();return i?s[o]=US(e):s[o]=Xp(s[o],e),s=s.map((l,a)=>Ae(l,`${n}.${a}`)),Yn.default.cloneElement(r,void 0,s)},US=r=>{let{children:e}=H(r),t=[],n=[];for(let i=0;i<e.length;i++)q(e[i],"placeholder")?n.push(e[i]):(n.length===1?t.push(n.pop()):n.length>0&&(t.push(jp(n)),n.length=0),t.push(e[i]));n.length===1?t.push(n.pop()):n.length>0&&t.push(jp(n));let o=q(r,"path");return Yn.default.cloneElement(r,void 0,t.map((i,s)=>Ae(i,`${o}.${s}`)))},jp=([r,...e])=>{let t=q(r,"style"),{flexBasis:n,flexGrow:o,flexShrink:i}=t;for(let{props:{style:s}}of e)n+=s.flexBasis,o=Math.max(o,s.flexGrow),i=Math.max(i,s.flexShrink);return Yn.default.cloneElement(r,{style:{...t,flexBasis:n,flexGrow:o,flexShrink:i}})},Jp=(r,e)=>r.every(t=>q(t,"placeholder")||e&&q(t,"path")===e);var wl=z(require("react"));function Zp(r,{path:e,size:t}){let n=Ee(r,e,!0),{style:o}=H(n),i={...o,width:t},s=wl.default.cloneElement(n,{style:i});return Xe(r,n,s)}function em(r,{path:e,sizes:t}){let n=Ee(r,e,!0),{children:o,style:i}=H(n),s=i.flexDirection==="column"?"height":"width",l=GS(o,t,s),a=wl.default.cloneElement(n,void 0,l);return Xe(r,n,a)}function GS(r,e,t){return r.map((n,o)=>{let{style:{[t]:i,flexBasis:s}}=H(n),l=e[o],{currentSize:a,flexBasis:c}=l,h=a!==void 0?l.currentSize:c;return h===void 0||i===h||s===h?n:wl.default.cloneElement(n,{style:qS(n.props.style,t,h)})})}function qS(r,e,t){let n=typeof r[e]=="number",{flexShrink:o=1,flexGrow:i=1}=r;return{...r,[e]:n?t:"auto",flexBasis:n?"auto":t,flexShrink:o,flexGrow:i}}var tm=require("@vuu-ui/vuu-utils"),Hi=z(require("react"));var nm=r=>{let[e]=j(r);return e===e.toLowerCase()};function _i(r,e,t,n,o,i){let{children:s,path:l}=H(r),a=q(e,"path"),{idx:c,finalStep:u}=Pt(l,a),h=u?KS(r,s,e,t,n,o,i):s.map((f,d)=>d===c?_i(f,e,t,n,o,i):f);return Hi.default.cloneElement(r,void 0,h)}function KS(r,e,t,n,o,i,s){let l=mt(n);if(l!=null&&l.width&&(l!=null&&l.height)){if(i===void 0||s===void 0)throw Error("wrap-layout-element, updateChildren clientRect and dropRect must both be available");return JS(e,t,n,o,i,s)}return jS(r,e,t,n,o)}function jS(r,e,t,n,o){var b;let{version:i=0}=H(n),s=q(t,"path"),{type:l,flexDirection:a,showTabs:c}=om(o),[u,h,f]=QS(l,t,n,a,o),d=rm(o),p=d?1:0,m={resizeable:!0,style:f,version:i+1},y={[nm(t)?"data-resizeable":"resizeable"]:!0,style:h},v=l==="Stack"?{showTabs:c}:void 0,w=l==="Flexbox"?{splitterSize:(b=j(r)==="Flexbox"&&r.props.splitterSize)!=null?b:void 0}:void 0,x=(0,tm.uuid)(),S=Hi.default.createElement(Un[l],{active:p,id:x,key:x,path:q(t,"path"),flexFill:q(t,"flexFill"),...w,...v,style:u,resizeable:q(t,"resizeable")},d?[Ae(t,`${s}.0`,y),Co(Hi.default.cloneElement(n,m),`${s}.1`)]:[Co(Hi.default.cloneElement(n,m),`${s}.0`),Ae(t,`${s}.1`,y)]);return e.map(C=>C===t?S:C)}function JS(r,e,t,n,o,i){let{flexDirection:s}=om(n),l=s==="column"?"row":"column",a=rm(n),[c,u,h,f]=i,[d,p]=s==="column"?[u-o.top,o.bottom-f]:[c-o.left,o.right-h],m=q(e,"path"),g=0,y=nm(e)?"data-resizeable":"resizeable",v=[];d&&v.push(a?Ae(e,`${m}.${g++}`,{[y]:!0,style:{flexBasis:d,flexGrow:1,flexShrink:1}}):Jt(`${m}.${g++}`,d,{flexGrow:0,flexShrink:0})),v.push(wo(t,l,`${m}.${g++}`,o,i)),p&&v.push(a?Jt(`${m}.${g++}`,0):Ae(e,`${m}.${g++}`,{[y]:!0,style:{flexBasis:0,flexGrow:1,flexShrink:1}}));let w=ml(s,e.props,v,m);return r.map(x=>x===e?w:x)}function QS(r,e,t,n,o){let i={...e.props.style,flexDirection:n},s=r==="Flexbox"&&n==="column"?"height":"width",l=dl(t,s,o),a=dl(e,s);return[i,a,l]}var rm=r=>{var e;return r.position.SouthOrEast?!0:((e=r==null?void 0:r.tab)==null?void 0:e.positionRelativeToTab)==="before"?!1:!!r.position.Header};function om(r){return r.position.Header?{type:"Stack",flexDirection:"column",showTabs:!0}:{type:"Flexbox",flexDirection:r.position.EastOrWest?"row":"column"}}var uu=(r,e)=>{switch(e.type){case Oe.ADD:return tC(r,e);case Oe.DRAG_DROP:return eC(r,e);case Oe.MAXIMIZE:return ZS(r,e);case Oe.REMOVE:return cu(r,e);case Oe.REPLACE:return Gp(r,e);case Oe.SET_PROP:return im(r,e);case Oe.SET_PROPS:return XS(r,e);case Oe.SET_TITLE:return im(r,{type:"set-prop",path:e.path,propName:"title",propValue:e.title});case Oe.SPLITTER_RESIZE:return em(r,e);case Oe.LAYOUT_RESIZE:return Zp(r,e);case Oe.SWITCH_TAB:return YS(r,e);case Oe.MOVE_CHILD:return Kp(r,e);default:return r}},YS=(r,{path:e,nextIdx:t})=>{let n=Ee(r,e,!0),o=Sl.default.cloneElement(n,{active:t});return Xe(r,n,o)},im=(r,{path:e,propName:t,propValue:n})=>{let o=Ee(r,e,!0),i=Sl.default.cloneElement(o,{[t]:n});return Xe(r,o,i)},XS=(r,{path:e,props:t})=>{let n=Ee(r,e,!0),o=Sl.default.cloneElement(n,t);return Xe(r,n,o)},ZS=(r,{path:e,type:t})=>{if(e){let n=Ee(r,e,!0);return Xe(r,n,n,t)}else return r},eC=(r,e)=>{var p,m;let{draggedReactElement:t,dragInstructions:n,dropTarget:o}=e,i=o.component,{pos:s}=o,l=((p=s==null?void 0:s.position)==null?void 0:p.Header)&&j(i)==="Stack",{id:a,version:c}=H(t),u=mt(t),h;if(l){let[g,y]=$p(i,s);g===void 0?h=xl(r,i,t):h=vl(r,g,t,y)}else!u&&((m=s==null?void 0:s.position)!=null&&m.Centre)?h=au(r,i,t):h=nC(r,o,t);if(n.DoNotRemove)return h;let f=an(h,g=>g.id===a&&g.version===c),d=q(f,"path");return cu(h,{path:d,type:"remove"})},tC=(r,{path:e,component:t})=>xl(r,Ee(r,e),t),nC=(r,e,t)=>{let{component:n,pos:o,clientRect:i,dropRect:s}=e,l=q(n,"path");if(l==="0.0")return _i(r,n,t,o);let a=ln(r,l);if(sm(o,a)){let c=o.position.SouthOrEast?"after":"before";return vl(r,n,t,c,o,i,s)}if(!sm(o,a))return _i(r,n,t,o,i,s);if(ze(j(a)))return _i(r,n,t,o);throw Error(`no support right now for position = ${o.position}`)},sm=(r,e)=>r.position.Centre?am(e)||lm(e):r.position.NorthOrSouth?lm(e):r.position.EastOrWest?am(e):!1,lm=r=>j(r)==="Flexbox"&&r.props.style.flexDirection==="column",am=r=>j(r)==="Flexbox"&&r.props.style.flexDirection!=="column";var cm=require("react"),rC=r=>console.log(`dispatch ${r.type}, have you forgotten to provide a LayoutProvider ?`),ko=(0,cm.createContext)({dispatchLayoutProvider:rC,version:-1});var En=require("react");var oC={},um=[0,0],iC=(r,e,t)=>{let n=document.createElement("div");n.className="vuuSimpleDraggableWrapper",n.classList.add("vuuSimpleDraggableWrapper","salt-theme","salt-density-medium"),n.dataset.dragging="true";let o=t!=null?t:document.createElement("div");o.id=e,n.appendChild(o),document.body.appendChild(n);let i=`top:${r.top}px;left:${r.left}px;width:${r.width}px;height:${r.height}px;`;return[n,i,r.left,r.top]},sC=r=>{let{offsetParent:e}=r;if(e===null)return um;{let{left:t,top:n}=e.getBoundingClientRect();return[t,n]}},hm=(r,e,t)=>{let n=(0,En.useRef)(),o=(0,En.useRef)(),i=(0,En.useRef)(),s=(0,En.useCallback)((u,h)=>{if(o.current&&i.current){let{dragOffsets:[f,d],targetPosition:p}=o.current,m=typeof u=="number"?u-f:p.left,g=typeof h=="number"?h-d:p.top;(m!==p.left||g!==p.top)&&(o.current.targetPosition.left=m,o.current.targetPosition.top=g,i.current.style.top=g+"px",i.current.style.left=m+"px")}},[]),l=(0,En.useCallback)(u=>{if(o.current){let{dragInstructions:h,payload:f,originalCSS:d}=o.current;u&&e({type:"drag-drop",draggedReactElement:f,dragInstructions:h,dropTarget:u}),i.current&&(!u&&h.DriftHomeIfNoDropTarget?(console.log("drift back to start"),document.body.removeChild(i.current)):h.RemoveDraggableOnDragEnd?document.body.removeChild(i.current):(i.current.style.cssText=d,delete i.current.dataset.dragging)),n.current=void 0,o.current=void 0,i.current=void 0}},[e]),a=(0,En.useCallback)(u=>{if(n.current){let{payload:h,dragContainerPath:f,dragElement:d,dragRect:p,instructions:m=oC,path:g}=n.current,{current:y}=r,v={x:u.clientX,y:u.clientY},w=h!=null?h:Ee(y,g,!0),{id:x}=w.props,S=mt(w),b="",C="",k="",E=-1,R=-1,N=um,O=document.getElementById(x);if(O===null)[O,C,E,R]=iC(p,x,d);else{N=sC(O);let[M,D]=N,{width:F,height:K,left:A,top:V}=O.getBoundingClientRect();E=A-M,R=V-D,C=`width:${F}px;height:${K}px;left:${E}px;top:${R}px;z-index: 100;background-color:#ccc;opacity: 0.6;`,O.dataset.dragging="true",b=O.style.cssText}k=ul.initDrag(r.current,f,p,v,{drag:s,drop:l},S),O.style.cssText=C+k,i.current=O,o.current={payload:w,originalCSS:b,dragRect:p,dragOffsets:N,dragInstructions:m,targetPosition:{left:E,top:R}}}},[s,l,r]);return(0,En.useCallback)(u=>{let{evt:h,...f}=u;n.current={...f,dragContainerPath:Xs(r.current,t)},ul.handleMousedown(h,a,f.instructions)},[a,t,r])};var fu=require("react/jsx-runtime"),fm=r=>r.dropTarget,lC=r=>["drag-drop","remove","set-title","splitter-resize","switch-tab"].includes(r.type),dm=r=>{switch(r.type){case"switch-tab":return r.id==="main-tabs"?"switch-active-layout":"switch-active-tab";case"save":return"save-feature-props";case"drag-drop":return"drag-drop-operation";case"remove":return"remove-component";case"splitter-resize":return"resize-component";case"set-title":return"edit-feature-title";default:throw Error("unknown layout action")}},aC=()=>{let r=mm();return(0,fu.jsx)("div",{children:`Context: ${r} `})},pm=r=>{let{children:e,createNewChild:t,pathToDropTarget:n,layout:o,onLayoutChange:i}=r,s=(0,Ze.useRef)(void 0),l=(0,Ze.useRef)(e),[,a]=(0,Ze.useState)(null),c=(0,Ze.useCallback)((d,p)=>{if(console.log(`serialize state ${p}`),i){let m=an(d,fm)||s.current,y=j(m)==="DraggableLayout"?H(m).children[0]:m,v=iu(y);i(v,p)}},[i]),u=(0,Ze.useCallback)((d,p=!1)=>{let m=uu(s.current,d);m!==s.current&&(s.current=m,a({}),!p&&lC(d)&&c(m,dm(d)))},[a,c]),h=(0,Ze.useCallback)(d=>{switch(d.type){case"drag-start":{f(d);break}case"save":{c(s.current,dm(d));break}default:{u(d);break}}},[u,c]),f=hm(s,h,n);return(0,Ze.useEffect)(()=>{if(o){let d=an(s.current,fm);if(d){let p=Pc(d),m=Ar(o,`${d.props.path}.0`),g=p?{type:Oe.REPLACE,target:p,replacement:m}:{type:Oe.ADD,path:d.props.path,component:m};u(g,!0)}else if(o.id===q(s.current,"id")){let p=Ar(o,"0"),m={type:Oe.REPLACE,target:s.current,replacement:p};u(m,!0)}}},[u,o]),s.current===void 0?s.current=yl(e):e!==l.current&&(s.current=yl(e,s.current),l.current=e),(0,fu.jsx)(ko.Provider,{value:{createNewChild:t,dispatchLayoutProvider:h,version:0},children:s.current})},gt=()=>{let{dispatchLayoutProvider:r}=(0,Ze.useContext)(ko);return r},hu=()=>{let{createNewChild:r}=(0,Ze.useContext)(ko);return r},mm=()=>{let{version:r}=(0,Ze.useContext)(ko);return r};var ym=require("react/jsx-runtime"),du=function(e){let{path:t}=e,n=gt(),o=(0,gm.useCallback)(i=>{n({type:Jn.SPLITTER_RESIZE,path:t,sizes:i})},[n,t]);return(0,ym.jsx)(So,{...e,onSplitterMoved:o})};du.displayName="Flexbox";xe("Flexbox",du,"container");var Tm=require("@salt-ds/core"),km=z(require("classnames")),Tl=require("react");var Qt=require("react");var Nr=require("react"),mu=["height","width"],cC=["height"],uC=["width"],Or=new WeakMap,bm=(r,e,t)=>{switch(t){case"height":return e.height;case"scrollHeight":return r.scrollHeight;case"scrollWidth":return r.scrollWidth;case"width":return e.width;default:return 0}},pu=new ResizeObserver(r=>{for(let e of r){let{target:t,contentRect:n}=e,o=Or.get(t);if(o){let{onResize:i,measurements:s}=o,l=!1;for(let[a,c]of Object.entries(s)){let u=bm(t,n,a);u!==c&&(l=!0,s[a]=u)}l&&i&&i(s)}}});function zi(r,e,t,n=!1){let o=(0,Nr.useRef)(e),i=(0,Nr.useCallback)(s=>{let l=s.getBoundingClientRect();return o.current.reduce((a,c)=>(a[c]=bm(s,l,c),a),{})},[]);(0,Nr.useLayoutEffect)(()=>{let s=r.current,l=!1;async function a(){Or.set(s,{measurements:{}}),l=!1;let{fonts:c}=document;if(c&&await c.ready,!l){let u=Or.get(s);if(u){let h=i(s);u.measurements=h,pu.observe(s),n&&t(h)}}}if(s){if(Or.has(s))throw Error("useResizeObserver attemping to observe same element twice");a()}return()=>{s&&Or.has(s)&&(pu.unobserve(s),Or.delete(s),l=!0)}},[r,i,n,t]),(0,Nr.useLayoutEffect)(()=>{let s=r.current,l=Or.get(s);if(l){if(o.current!==e){o.current=e;let a=i(s);l.measurements=a}l.onResize=t}},[e,i,r,t])}function hC(r,e){let t=document.body.querySelector(`.${r}`),n={get:function(o,i){let s=o.getPropertyValue(`--${r}-breakpoint-${i}`);return s?parseInt(s):void 0}};return t?new Proxy(getComputedStyle(t),n):e!=null?e:{}}var fC=([,r],[,e])=>e-r,yu=r=>Object.entries(r).sort(fC).map(([e,t],n,o)=>[e,t,n<o.length-1?o[n+1][1]:9999]),gu=null,dC=(r="salt")=>{let{xs:e,sm:t,md:n,lg:o,xl:i}=hC(r);return yu({xs:e,sm:t,md:n,lg:o,xl:i})},xm=r=>(gu===null&&(gu=dC(r)),gu);var pC=[],bu=({breakPoints:r,smallerThan:e},t)=>{let[n,o]=(0,Qt.useState)(e?!1:"lg"),i=(0,Qt.useRef)(document.body),s=(0,Qt.useRef)(r?yu(r):xm()),l=(0,Qt.useRef)("lg"),a=(0,Qt.useCallback)(u=>{if(s.current){for(let[h,f]of s.current)if(u>=f)return h}},[s]),c=(0,Qt.useCallback)(u=>{if(e){let h=s.current.find(([f])=>f===e);if(h){let[,,f]=h;return u<f}}else return a(u);return u},[e,a]);return zi(t||i,s.current?["width"]:pC,({width:u})=>{let h=c(u);h!==l.current&&(l.current=h,o(h))},!0),(0,Qt.useEffect)(()=>{let u=t||i;if(u.current){let h=l.current;if(s.current){let{clientWidth:f}=u.current,d=c(f);l.current=d,d!==h&&o(d)}}},[o,c,t]),n};var vm="data-collapsible",mC={[vm]:!0,"data-pad-start":!0,"data-pad-end":!0},wm=r=>{var e;return(e=mC[r])!=null?e:!1},gC=r=>r===vm,yC={dynamic:"dynamic",instant:"instant",true:"instant"},bC=r=>{var e;return(e=yC[r])!=null?e:"none"},xC=r=>Object.keys(r).reduce((e,t)=>{let[n,o]=e;if(wm(t)){let i=gC(t)?bC(r[t]):r[t];n[t]=i,o[t]=void 0}return e},[{},{}]);var Sm=require("@vuu-ui/vuu-utils"),yt=require("react");var vC=["xs","sm","md","lg","xl"],wC=12,Cm=({children:r,cols:e,style:t})=>{let n=(0,yt.useRef)(null),o=(0,yt.useRef)(null),i=(0,yt.useRef)(),s=e!=null?e:wC,a=(t==null?void 0:t.flexDirection)==="column"?"height":"width",c=(0,yt.useMemo)(()=>Array.isArray(r)?r:(0,yt.isValidElement)(r)?[r]:[],[r]),u=(0,yt.useCallback)((h,f)=>{let d=gl(h,f,vC),p=[],m=[];for(let g=0;g<h.length;g++){let y=h[g],{style:{flex:v,...w}}=y.props;p.push((0,yt.cloneElement)(y,{key:(0,Sm.getUniqueId)(),style:{...w,"--parent-col-count":s}})),m.push(d[g])}return[p,m]},[s]);return(0,yt.useMemo)(()=>{let[h,f]=u(c,a);o.current=f,i.current=h},[u,c,a]),{cols:s,content:i.current,rootRef:n}};var Mm=require("react/jsx-runtime"),Cl="hwFluidGrid",kl=(0,Tl.forwardRef)(function(e,t){let{breakPoints:n,children:o,column:i,cols:s=12,className:l,flexFill:a,gap:c=3,fullPage:u,id:h,onSplitterMoved:f,resizeable:d,row:p,showGrid:m,spacing:g,splitterSize:y,style:v,...w}=e,x=(0,Tl.useMemo)(()=>kr(o),[o]),{cols:S,content:b,rootRef:C}=Cm({children:x,cols:s,style:v}),k=bu({breakPoints:n},C),E=(0,km.default)(Cl,l,{[`${Cl}-column`]:i,[`${Cl}-row`]:p,[`${Cl}-show-grid`]:m,"flex-fill":a,"full-page":u}),R={...v,"--spacing":g,"--grid-col-count":S,"--grid-gap":c};return(0,Mm.jsx)("div",{...w,className:E,"data-breakpoint":k,"data-cols":S,"data-resizeable":d||void 0,id:h,ref:(0,Tm.useForkRef)(C,t),style:R,children:b})});kl.displayName="FluidGrid";var Em=require("react/jsx-runtime"),xu=function(e){return(0,Em.jsx)(kl,{...e})};xu.displayName="FluidGrid";xe("FluidGrid",xu,"container");var Lm=require("@vuu-ui/vuu-ui-controls"),Am=require("@salt-ds/core"),El=z(require("classnames")),er=require("react");var Xn=require("react");var Wi=(r,e,t,n)=>{var g;let{loadSessionState:o,purgeSessionState:i,purgeState:s,saveSessionState:l}=Lr(),[a,c]=(0,Xn.useState)((g=o(r,"contributions"))!=null?g:[]),u=gt(),h=(0,Xn.useCallback)((y,v)=>{let w=a.concat([{location:y,content:v}]);l(r,"contributions",w),c(w)},[a,r,l]),f=(0,Xn.useCallback)(()=>{i(r,"contributions"),c([])},[r,i]),d=(0,Xn.useCallback)(()=>{let y=o(r,"data-source");y&&y.unsubscribe(),i(r),s(r),u({type:"remove",path:t})},[u,r,o,i,s,t]),p=(0,Xn.useCallback)(async(y,v,w)=>{var S;y.stopPropagation();let x=(S=e.current)==null?void 0:S.getBoundingClientRect();return new Promise((b,C)=>{u({type:"drag-start",evt:y,path:v===void 0?t:`${t}.${v}`,dragRect:x,preDragActivity:w,dropTargets:n,resolveDragStart:b,rejectDragStart:C})})},[e,u,t,n]);return[(0,Xn.useCallback)(async(y,v)=>{var x;let{type:w}=y;switch(w){case"maximize":case"minimize":case"restore":return u({type:w,path:(x=y.path)!=null?x:t});case"remove":return d();case"mousedown":return p(v,y.index,y.preDragActivity);case"add-toolbar-contribution":return h(y.location,y.content);case"remove-toolbar-contribution":return f();default:return}},[u,t,d,p,h,f]),a]};var Ml=require("@salt-ds/core"),Pm=z(require("classnames")),et=z(require("react"));var Yt=require("react");var Rm=({id:r,rootRef:e,path:t,dropTargets:n,title:o})=>{let i=gt(),{loadState:s,loadSessionState:l,purgeState:a,saveState:c,saveSessionState:u}=Lr(),[h,f]=Wi(r,e,t,n),d=(0,Yt.useMemo)(()=>{var b;return(b=s("view-title"))!=null?b:o},[s,o]),p=(0,Yt.useCallback)(b=>{t&&i({type:"set-title",path:t,title:b})},[i,t]),m=(0,Yt.useMemo)(()=>s(r),[r,s]),g=(0,Yt.useCallback)(b=>s(r,b),[r,s]),y=(0,Yt.useCallback)(b=>{a(r,b),i({type:"save"})},[r,i,a]),v=(0,Yt.useCallback)((b,C)=>{c(r,C,b),i({type:"save"})},[r,i,c]),w=(0,Yt.useCallback)(b=>l(r,b),[r,l]),x=(0,Yt.useCallback)((b,C)=>u(r,C,b),[r,u]),S=(0,Yt.useCallback)(({type:b,...C})=>{let{[b]:k}=C;v(k,b)},[v]);return{contributions:f,dispatchViewAction:h,load:g,loadSession:w,onConfigChange:S,onEditTitle:p,purge:y,restoredState:m,save:v,saveSession:x,title:d}};var Mo=require("react"),SC=[],Im=({mainRef:r,resize:e="responsive",rootRef:t})=>{let n=e==="defer",o=(0,Mo.useRef)({}),i=(0,Mo.useRef)(),s=(0,Mo.useCallback)(()=>{r.current&&(r.current.style.height=o.current.height+"px",r.current.style.width=o.current.width+"px"),i.current=void 0},[r]),l=(0,Mo.useCallback)(({height:a,width:c})=>{o.current.height=a,o.current.width=c,i.current!==null&&clearTimeout(i.current),i.current=window.setTimeout(s,40)},[s]);zi(t,n?mu:SC,l,n)};var $i=z(require("react")),CC={dispatch:null},Ui=$i.default.createContext(CC),vu=()=>{var e;let r=(0,$i.useContext)(Ui);return(e=r==null?void 0:r.dispatch)!=null?e:null},TC=()=>(0,$i.useContext)(Ui);var Eo=require("react/jsx-runtime"),Gi="vuuView",kC=(r,e)=>r&&e?{...r,...e}:r||e,Dm=(0,et.forwardRef)(function(e,t){let{Header:n=wu,children:o,className:i,collapsed:s,closeable:l,"data-path":a,"data-resizeable":c,dropTargets:u,expanded:h,flexFill:f,id:d,header:p,orientation:m="horizontal",path:g=a,resize:y="responsive",resizeable:v=c,tearOut:w,style:x={},title:S,...b}=e,C=(0,Ml.useIdMemo)(d),k=(0,et.useRef)(null),E=(0,et.useRef)(null),[R,N]=(0,et.useState)(),{contributions:O,dispatchViewAction:M,load:D,loadSession:F,onConfigChange:K,onEditTitle:A,purge:V,restoredState:B,save:G,saveSession:Z,title:te}=Rm({id:C,rootRef:k,path:g,dropTargets:u,title:S});Im({mainRef:E,resize:y,rootRef:k});let Je=(0,et.useCallback)(sn=>{N(sn)},[]),ye=()=>et.default.isValidElement(o)&&(B||R)?et.default.cloneElement(o,kC(B,R)):o,Mt=(0,et.useMemo)(()=>({dispatch:M,id:C,path:g,title:te,load:D,loadSession:F,onConfigChange:K,purge:V,save:G,saveSession:Z,setComponentProps:Je}),[M,C,D,F,K,g,V,G,Z,Je,te]),Sr=typeof p=="object"?p:{};return(0,Eo.jsx)("div",{...b,className:(0,Pm.default)(Gi,i,{[`${Gi}-collapsed`]:s,[`${Gi}-expanded`]:h,[`${Gi}-resize-defer`]:y==="defer"}),"data-resizeable":v,id:C,ref:(0,Ml.useForkRef)(t,k),style:x,tabIndex:-1,children:(0,Eo.jsxs)(Ui.Provider,{value:Mt,children:[p?(0,Eo.jsx)(n,{...Sr,collapsed:s,contributions:O,expanded:h,closeable:l,onEditTitle:A,orientation:m,tearOut:w,title:te}):null,(0,Eo.jsx)("div",{className:`${Gi}-main`,ref:E,children:ye()})]})})});Dm.displayName="View";var Zn=et.default.memo(Dm);Zn.displayName="View";xe("View",Zn,"view");var Ro=require("react/jsx-runtime"),Su="vuuHeader",wu=({className:r,contributions:e,collapsed:t,closeable:n,onEditTitle:o,orientation:i="horizontal",style:s,title:l="Untitled"})=>{let a=(0,er.useRef)(null),[c,u]=(0,er.useState)(l),[h,f]=(0,er.useState)(!1),d=vu(),p=R=>d==null?void 0:d({type:"remove"},R),m=()=>{var R;(R=a.current)==null||R.focus()},g=R=>{R.stopPropagation()},v=(0,El.default)(Su,r,`${Su}-${t||i}`),w=()=>{f(!0)},x=R=>{R.key==="Enter"&&f(!0)},S=(R="",N="",O=!0,M=!1)=>{var D;f(!1),M?u(R):N!==R&&(u(N),o==null||o(N)),O===!1&&((D=a.current)==null||D.focus())},b=R=>{d==null||d({type:"mousedown"},R)},C=[],k=[],E=[];return e==null||e.forEach((R,N)=>{switch(R.location){case"pre-title":C.push((0,er.cloneElement)(R.content,{key:N}));break;default:k.push((0,er.cloneElement)(R.content,{key:N}))}}),l&&C.push((0,Ro.jsx)(Lm.EditableLabel,{className:`${Su}-title`,editing:h,value:c,onChange:u,onMouseDownCapture:m,onEnterEditMode:w,onExitEditMode:S,onKeyDown:x,ref:a,tabIndex:0},"title")),n&&E.push((0,Ro.jsx)(Am.Button,{"data-icon":"close",onClick:p,onMouseDown:g,variant:"secondary"},"close")),k.length>0&&C.push((0,Ro.jsx)("div",{className:"vuuTooltrayProxy","data-align":"end",children:k},"contributions")),E.length>0&&C.push((0,Ro.jsx)("div",{className:"vuuTooltrayProxy","data-align":"end",children:E},"actions")),(0,Ro.jsx)("div",{className:(0,El.default)("vuuToolbarProxy",v),style:s,onMouseDown:b,children:C})};var MC={type:"View",props:{style:{height:"calc(100% - 6px)"}},children:[{props:{className:"vuuShell-warningPlaceholder"},type:"Placeholder"}]},Io={type:"Stack",id:"main-tabs",props:{className:"vuuShell-mainTabs",TabstripProps:{allowAddTab:!0,allowRenameTab:!0,animateSelectionThumb:!1,location:"main-tab",allowCloseTab:!0},preserve:!0,active:0},children:[{props:{id:"tab1",className:"vuuShell-Placeholder"},type:"Placeholder"}]};var KT=require("@vuu-ui/vuu-popups"),jT=require("@salt-ds/core"),JT=z(require("classnames"),1),QT=require("react");var Om=require("react"),Nm=require("@vuu-ui/vuu-popups"),Vm=require("@vuu-ui/vuu-ui-controls");var Cu=require("react/jsx-runtime");var Bm=require("@vuu-ui/vuu-utils"),Hm=require("@vuu-ui/vuu-ui-controls"),Tu=z(require("classnames"),1),bt=require("react");var ku=require("react/jsx-runtime"),Fm="vuuExpandoCombobox",EC={},qi=(0,bt.forwardRef)(function({className:e,InputProps:t=EC,ListProps:n,onInputChange:o,onSelectionChange:i,selectionStrategy:s,style:l,value:a="",...c},u){let[h,f]=(0,bt.useState)(a),{itemToString:d=Bm.itemToString}=c,p=(0,bt.useRef)(a),m=(0,bt.useCallback)(b=>{let[C,...k]=b;return k.length?`${d(C)} + ${k.length}`:d(C)},[d]),g=(0,bt.useCallback)(b=>{let{value:C}=b.target;console.log(`onInputChange ${C}`),f(C),o==null||o(b)},[o]),y=(0,bt.useCallback)(b=>{console.log(`handleSetSelectedText ${b}`),f(b)},[]),[v,w]=(0,bt.useMemo)(()=>{let{inputProps:b,...C}=t;return[{...C,className:`${Fm}-Input`,endAdornment:null,inputProps:{...b,autoComplete:"off",onInput:g}},{...n,className:(0,Tu.default)("vuuMenuList",n==null?void 0:n.className),"data-mode":"light",displayedItemCount:10,itemHeight:22,maxWidth:300,minWidth:100,width:"auto"}]},[t,g,n]),x=(0,bt.useCallback)((b,C)=>{Array.isArray(C)?i==null||i(null,C):C&&(f(d(C)),i==null||i(null,C))},[d,i]),S={minWidth:102};return(0,ku.jsx)("div",{className:(0,Tu.default)(Fm,e),"data-text":h,ref:u,style:l,children:(0,ku.jsx)(Hm.ComboBox,{...c,PopupProps:S,defaultValue:p.current,fullWidth:!0,ListProps:w,InputProps:v,itemsToString:m,onSelectionChange:x,onSetSelectedText:y,selectionStrategy:s})})});var VT=z(require("classnames"),1),FT=require("react");var RC=require("@salt-ds/core");var IC=require("react/jsx-runtime");var Vr=require("react"),_m=require("@vuu-ui/vuu-ui-controls"),Rl=require("@vuu-ui/vuu-utils"),zm=require("react/jsx-runtime"),PC=(0,Vr.forwardRef)(function({InputProps:e,className:t,column:n,onInputComplete:o,value:i},s){let[l,a]=(0,Vr.useState)((0,Rl.isValidNumber)(i)?i.toString():""),c=(0,Vr.useCallback)(h=>{let{value:f}=h.target,d=parseFloat(f);(0,Rl.isValidNumber)(d)&&console.log("its valid"),a(f)},[]),u=(0,Vr.useCallback)(h=>{if(h.key==="Enter"){let{value:f}=h.target,d=parseFloat(f);(0,Rl.isValidNumber)(d)&&o(d)}},[o]);return(0,zm.jsx)(_m.ExpandoInput,{...e,className:t,value:l,ref:s,onChange:c,onKeyDown:u})});var Wm=require("@vuu-ui/vuu-utils");var nt=require("react");var Il=require("@vuu-ui/vuu-utils"),Ki=require("react"),{SELECTED:f2}=Il.metadataKeys;var Qu=require("react");var Lo=require("@vuu-ui/vuu-utils");var ji=(r,e)=>r===e?!0:r===void 0&&e===void 0,DC=({filter:r},{filter:e})=>r===void 0&&(e==null?void 0:e.filter)===""||e===void 0&&(r==null?void 0:r.filter)==="",LC=(r,e)=>{var t,n;return DC(r,e)?!1:((t=r.filter)==null?void 0:t.filter)!==((n=e.filter)==null?void 0:n.filter)},AC=({sort:r},{sort:e})=>r===void 0&&(e==null?void 0:e.sortDefs.length)===0||e===void 0&&(r==null?void 0:r.sortDefs.length)===0,OC=(r,e)=>{let{sort:t}=r,{sort:n}=e;return ji(t,n)||AC(r,e)?!1:t===void 0||n===void 0||(t==null?void 0:t.sortDefs.length)!==(n==null?void 0:n.sortDefs.length)?!0:t.sortDefs.some(({column:o,sortType:i},s)=>o!==n.sortDefs[s].column||i!==n.sortDefs[s].sortType)},$m=r=>r!==void 0&&r.groupBy!==void 0&&r.groupBy.length>0,Um=r=>(r==null?void 0:r.filter)!==void 0&&r.filter.filter.length>0,Gm=r=>{var e;return(r==null?void 0:r.sort)!==void 0&&Array.isArray((e=r.sort)==null?void 0:e.sortDefs)&&r.sort.sortDefs.length>0},NC=({groupBy:r},{groupBy:e})=>r===void 0&&(e==null?void 0:e.length)===0||e===void 0&&(r==null?void 0:r.length)===0,Mu=(r,e)=>{let{groupBy:t}=r,{groupBy:n}=e;return ji(t,n)||NC(r,e)?!1:t===void 0||n===void 0||(t==null?void 0:t.length)!==(n==null?void 0:n.length)?!0:t.some((o,i)=>o!==(n==null?void 0:n[i]))},VC=({columns:r},{columns:e})=>r===void 0&&(e==null?void 0:e.length)===0||e===void 0&&(r==null?void 0:r.length)===0,FC=(r,e)=>{let{columns:t}=r,{columns:n}=e;return ji(t,n)||VC(r,e)?!1:t===void 0||n===void 0||(t==null?void 0:t.length)!==(n==null?void 0:n.length)?!0:t.some((o,i)=>o!==(n==null?void 0:n[i]))},BC=({aggregations:r},{aggregations:e})=>r===void 0&&(e==null?void 0:e.length)===0||e===void 0&&(r==null?void 0:r.length)===0,HC=(r,e)=>{let{aggregations:t}=r,{aggregations:n}=e;return ji(t,n)||BC(r,e)?!1:t===void 0||n===void 0||t.length!==n.length?!0:t.some(({column:o,aggType:i},s)=>o!==n[s].column||i!==n[s].aggType)},_C=()=>!1,Pl=(r,e)=>ji(r,e)?!1:r===void 0||e===void 0?!0:FC(r,e)||LC(r,e)||OC(r,e)||Mu(r,e)||HC(r,e)||_C(r,e),zC=["config","aggregate","viewport-update","columns","debounce-begin","disabled","enabled","filter","groupBy","vuu-link-created","vuu-link-removed","vuu-links","vuu-menu","sort","subscribed"],qm=r=>{let e=r.type;return zC.includes(e)},Km=r=>["config","aggregate","columns","filter","groupBy","sort"].includes(r.type),WC={filter:""},$C={sortDefs:[]},Po={aggregations:[],columns:[],filter:WC,groupBy:[],sort:$C},Dl=r=>{if(r.aggregations&&r.columns&&r.filter&&r.groupBy&&r.sort)return r;{let{aggregations:e=[],columns:t=[],filter:n={filter:""},groupBy:o=[],sort:i={sortDefs:[]},visualLink:s}=r;return{aggregations:e,columns:t,filter:n,groupBy:o,sort:i,visualLink:s}}};var jm="GET_TABLE_LIST",Jm="GET_TABLE_META";var Eu=r=>r.type==="connection-status",Qm=r=>r.type==="connection-metrics",Ym=r=>typeof r.result<"u",Xm=r=>r.type==="TABLE_META_RESP";var Zm='\nvar fe=(s,e,t)=>{if(!e.has(s))throw TypeError("Cannot "+t)};var g=(s,e,t)=>(fe(s,e,"read from private field"),t?t.call(s):e.get(s)),U=(s,e,t)=>{if(e.has(s))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(s):e.set(s,t)},me=(s,e,t,n)=>(fe(s,e,"write to private field"),n?n.call(s,t):e.set(s,t),t);function he(s,e,t=[],n=[]){for(let r=0,o=s.length;r<o;r++)(e(s[r],r)?t:n).push(s[r]);return[t,n]}var x={IDX:0,RENDER_IDX:1,IS_LEAF:2,IS_EXPANDED:3,DEPTH:4,COUNT:5,KEY:6,SELECTED:7,count:8,PARENT_IDX:"parent_idx",IDX_POINTER:"idx_pointer",FILTER_COUNT:"filter_count",NEXT_FILTER_IDX:"next_filter_idx"};var{DEPTH:nn,IS_LEAF:rn}=x;var be=s=>{var e,t;if(((e=globalThis.document)==null?void 0:e.cookie)!==void 0)return(t=globalThis.document.cookie.split("; ").find(n=>n.startsWith(`${s}=`)))==null?void 0:t.split("=")[1]};function Y({from:s,to:e},t=0,n=Number.MAX_SAFE_INTEGER){if(t===0)return n<s?{from:0,to:0}:{from:s,to:Math.min(e,n)};if(s===0)return{from:s,to:Math.min(e+t,n)};{let r=e-s,o=Math.round(t/2),a=s-o<0,u=n-(e+o)<0;return a&&u?{from:0,to:n}:a?{from:0,to:r+t}:u?{from:Math.max(0,n-(r+t)),to:n}:{from:s-o,to:e+o}}}var lt=(s,{from:e,to:t})=>s>=e&&s<t;var v=class{constructor(e,t){this.from=e,this.to=t}isWithin(e){return lt(e,this)}overlap(e,t){return e>=this.to||t<this.from?[0,0]:[Math.max(e,this.from),Math.min(t,this.to)]}copy(){return new v(this.from,this.to)}};var{KEY:pn}=x;var ct=["error","warn","info","debug"],pt=s=>typeof s=="string"&&ct.includes(s),dt="error",F=()=>{},gt="error",{loggingLevel:N=gt}=ft(),w=s=>{let e=N==="debug",t=e||N==="info",n=t||N==="warn",r=n||N==="error",o=t?d=>console.info(`[${s}] ${d}`):F,a=n?d=>console.warn(`[${s}] ${d}`):F,u=e?d=>console.debug(`[${s}] ${d}`):F;return{errorEnabled:r,error:r?d=>console.error(`[${s}] ${d}`):F}};function ft(){return typeof loggingSettings<"u"?loggingSettings:{loggingLevel:mt()}}function mt(){let s=be("vuu-logging-level");return pt(s)?s:dt}var{debug:ht,debugEnabled:bt}=w("range-monitor"),W=class{constructor(e){this.source=e;this.range={from:0,to:0};this.timestamp=0}isSet(){return this.timestamp!==0}set({from:e,to:t}){let{timestamp:n}=this;if(this.range.from=e,this.range.to=t,this.timestamp=performance.now(),n)bt&&ht(`<${this.source}> [${e}-${t}], ${(this.timestamp-n).toFixed(0)} ms elapsed`);else return 0}};function Ce(s){return Array.isArray(s)}function Ct(s){return!Array.isArray(s)}var S,ye=class{constructor(){U(this,S,new Map)}addListener(e,t){let n=g(this,S).get(e);n?Ce(n)?n.push(t):Ct(n)&&g(this,S).set(e,[n,t]):g(this,S).set(e,t)}removeListener(e,t){if(!g(this,S).has(e))return;let n=g(this,S).get(e),r=-1;if(n===t)g(this,S).delete(e);else if(Array.isArray(n)){for(let o=length;o-- >0;)if(n[o]===t){r=o;break}if(r<0)return;n.length===1?(n.length=0,g(this,S).delete(e)):n.splice(r,1)}}removeAllListeners(e){e&&g(this,S).has(e)?g(this,S).delete(e):e===void 0&&g(this,S).clear()}emit(e,...t){if(g(this,S)){let n=g(this,S).get(e);n&&this.invokeHandler(n,t)}}once(e,t){let n=(...r)=>{this.removeListener(e,n),t(...r)};this.on(e,n)}on(e,t){this.addListener(e,t)}invokeHandler(e,t){if(Ce(e))e.slice().forEach(n=>this.invokeHandler(n,t));else switch(t.length){case 0:e();break;case 1:e(t[0]);break;case 2:e(t[0],t[1]);break;default:e.call(null,...t)}}};S=new WeakMap;var $=String.fromCharCode(8200),m=String.fromCharCode(8199);var wn={DIGIT:m,TWO_DIGITS:m+m,THREE_DIGITS:m+m+m,FULL_PADDING:[null,$+m,$+m+m,$+m+m+m,$+m+m+m+m]};var En=m+m+m+m+m+m+m+m+m;var{COUNT:Bn}=x;var q=class{constructor(e){this.keys=new Map,this.free=[],this.nextKeyValue=0,this.reset(e)}next(){return this.free.length>0?this.free.pop():this.nextKeyValue++}reset({from:e,to:t}){this.keys.forEach((r,o)=>{(o<e||o>=t)&&(this.free.push(r),this.keys.delete(o))});let n=t-e;this.keys.size+this.free.length>n&&(this.free.length=Math.max(0,n-this.keys.size));for(let r=e;r<t;r++)if(!this.keys.has(r)){let o=this.next();this.keys.set(r,o)}this.nextKeyValue>this.keys.size&&(this.nextKeyValue=this.keys.size)}keyFor(e){let t=this.keys.get(e);if(t===void 0)throw console.log(`key not found\n keys: ${this.toDebugString()}\n free : ${this.free.join(",")} \n `),Error(`KeySet, no key found for rowIndex ${e}`);return t}toDebugString(){return Array.from(this.keys.entries()).map((e,t)=>`${e}=>${t}`).join(",")}};var{IDX:Zn}=x;var{SELECTED:er}=x,I={False:0,True:1,First:2,Last:4};var yt=(s,e)=>e>=s[0]&&e<=s[1],St=I.True+I.First+I.Last,Tt=I.True+I.First,Rt=I.True+I.Last,Z=(s,e)=>{for(let t of s)if(typeof t=="number"){if(t===e)return St}else if(yt(t,e))return e===t[0]?Tt:e===t[1]?Rt:I.True;return I.False};var Se=s=>{if(s.every(t=>typeof t=="number"))return s;let e=[];for(let t of s)if(typeof t=="number")e.push(t);else for(let n=t[0];n<=t[1];n++)e.push(n);return e};var wt=(()=>{let s=0,e=()=>`0000${(Math.random()*36**4<<0).toString(36)}`.slice(-4);return()=>(s+=1,`u${e()}${s}`)})();var{debug:ks,debugEnabled:As,error:we,info:V,infoEnabled:It,warn:_}=w("websocket-connection"),Ee="ws",vt=s=>s.startsWith(Ee+"://")||s.startsWith(Ee+"s://"),xe={},ee=Symbol("setWebsocket"),B=Symbol("connectionCallback");async function Ie(s,e,t,n=10,r=5){return xe[s]={status:"connecting",connect:{allowed:r,remaining:r},reconnect:{allowed:n,remaining:n}},ve(s,e,t)}async function Q(s){throw Error("connection broken")}async function ve(s,e,t,n){let{status:r,connect:o,reconnect:a}=xe[s],u=r==="connecting"?o:a;try{t({type:"connection-status",status:"connecting"});let c=typeof n<"u",d=await _t(s,e);console.info("%c\u26A1 %cconnected","font-size: 24px;color: green;font-weight: bold;","color:green; font-size: 14px;"),n!==void 0&&n[ee](d);let i=n!=null?n:new te(d,s,e,t),l=c?"reconnected":"connection-open-awaiting-session";return t({type:"connection-status",status:l}),i.status=l,u.remaining=u.allowed,i}catch{let d=--u.remaining>0;if(t({type:"connection-status",status:"disconnected",reason:"failed to connect",retry:d}),d)return Dt(s,e,t,n,2e3);throw Error("Failed to establish connection")}}var Dt=(s,e,t,n,r)=>new Promise(o=>{setTimeout(()=>{o(ve(s,e,t,n))},r)}),_t=(s,e)=>new Promise((t,n)=>{let r=vt(s)?s:`wss://${s}`;It&&e!==void 0&&V(`WebSocket Protocol ${e==null?void 0:e.toString()}`);let o=new WebSocket(r,e);o.onopen=()=>t(o),o.onerror=a=>n(a)}),Ve=()=>{_==null||_("Connection cannot be closed, socket not yet opened")},Me=s=>{_==null||_(`Message cannot be sent, socket closed ${s.body.type}`)},Pt=s=>{try{return JSON.parse(s)}catch{throw Error(`Error parsing JSON response from server ${s}`)}},te=class{constructor(e,t,n,r){this.close=Ve;this.requiresLogin=!0;this.send=Me;this.status="ready";this.messagesCount=0;this.connectionMetricsInterval=null;this.handleWebsocketMessage=e=>{let t=Pt(e.data);this.messagesCount+=1,this[B](t)};this.url=t,this.protocol=n,this[B]=r,this[ee](e)}reconnect(){Q(this)}[(B,ee)](e){let t=this[B];e.onmessage=o=>{this.status="connected",e.onmessage=this.handleWebsocketMessage,this.handleWebsocketMessage(o)},this.connectionMetricsInterval=setInterval(()=>{t({type:"connection-metrics",messagesLength:this.messagesCount}),this.messagesCount=0},2e3),e.onerror=()=>{we("\u26A1 connection error"),t({type:"connection-status",status:"disconnected",reason:"error"}),this.connectionMetricsInterval&&(clearInterval(this.connectionMetricsInterval),this.connectionMetricsInterval=null),this.status==="connection-open-awaiting-session"?we("Websocket connection lost before Vuu session established, check websocket configuration"):this.status!=="closed"&&(Q(this),this.send=r)},e.onclose=()=>{V==null||V("\u26A1 connection close"),t({type:"connection-status",status:"disconnected",reason:"close"}),this.connectionMetricsInterval&&(clearInterval(this.connectionMetricsInterval),this.connectionMetricsInterval=null),this.status!=="closed"&&(Q(this),this.send=r)};let n=o=>{e.send(JSON.stringify(o))},r=o=>{V==null||V(`TODO queue message until websocket reconnected ${o.body.type}`)};this.send=n,this.close=()=>{this.status="closed",e.close(),this.close=Ve,this.send=Me,V==null||V("close websocket")}}};var Lt=["VIEW_PORT_MENUS_SELECT_RPC","VIEW_PORT_MENU_TABLE_RPC","VIEW_PORT_MENU_ROW_RPC","VIEW_PORT_MENU_CELL_RPC","VP_EDIT_CELL_RPC","VP_EDIT_ROW_RPC","VP_EDIT_ADD_ROW_RPC","VP_EDIT_DELETE_CELL_RPC","VP_EDIT_DELETE_ROW_RPC","VP_EDIT_SUBMIT_FORM_RPC"],De=s=>Lt.includes(s.type),ne=({requestId:s,...e})=>[s,e],_e=s=>{let e=s.at(0);if(e.updateType==="SIZE"){if(s.length===1)return s;e=s.at(1)}let t=s.at(-1);return[e,t]},Pe=s=>{let e={};for(let t of s)(e[t.viewPortId]||(e[t.viewPortId]=[])).push(t);return e};var re=({columns:s,dataTypes:e,key:t,table:n})=>({table:n,columns:s.map((r,o)=>({name:r,serverDataType:e[o]})),key:t});var Le=s=>s.type==="connection-status",Oe=s=>s.type==="connection-metrics";var ke=s=>"viewport"in s,Ae=s=>s.type==="VIEW_PORT_MENU_RESP"&&s.action!==null&&G(s.action.table),G=s=>s!==null&&typeof s=="object"&&"table"in s&&"module"in s?s.table.startsWith("session"):!1;var Ue="CHANGE_VP_SUCCESS",Fe="CHANGE_VP_RANGE_SUCCESS",Ne="CLOSE_TREE_NODE",We="CLOSE_TREE_SUCCESS";var $e="CREATE_VP",qe="CREATE_VP_SUCCESS",Be="DISABLE_VP",Ge="DISABLE_VP_SUCCESS";var Ke="ENABLE_VP",He="ENABLE_VP_SUCCESS";var se="GET_VP_VISUAL_LINKS",je="GET_VIEW_PORT_MENUS";var ze="HB",Je="HB_RESP",Ye="LOGIN",Ze="LOGIN_SUCCESS",Xe="OPEN_TREE_NODE",Qe="OPEN_TREE_SUCCESS";var et="REMOVE_VP";var oe="RPC_RESP";var tt="SET_SELECTION_SUCCESS",ie="TABLE_META_RESP",ae="TABLE_LIST_RESP",nt="TABLE_ROW";var st=s=>{switch(s){case"TypeAheadRpcHandler":return"TYPEAHEAD";default:return"SIMUL"}};var ot=[],T=w("array-backed-moving-window");function Ot(s,e){if(!e||e.sel!==s.sel)return!1;for(let t=0;t<e.data.length;t++)if(e.data[t]!==s.data[t])return!1;return!0}var h,K=class{constructor({from:e,to:t},{from:n,to:r},o){U(this,h,void 0);this.setRowCount=e=>{var t;if((t=T.info)==null||t.call(T,`setRowCount ${e}`),e<this.internalData.length&&(this.internalData.length=e),e<this.rowCount){this.rowsWithinRange=0;let n=Math.min(e,this.clientRange.to);for(let r=this.clientRange.from;r<n;r++){let o=r-g(this,h).from;this.internalData[o]!==void 0&&(this.rowsWithinRange+=1)}}this.rowCount=e};this.bufferBreakout=(e,t)=>{let n=this.bufferSize*.25;return g(this,h).to-t<n?!0:g(this,h).from>0&&e-g(this,h).from<n};this.bufferSize=o,this.clientRange=new v(e,t),me(this,h,new v(n,r)),this.internalData=new Array(o),this.rowsWithinRange=0,this.rowCount=0}get range(){return g(this,h)}get hasAllRowsWithinRange(){return this.rowsWithinRange===this.clientRange.to-this.clientRange.from||this.rowCount>0&&this.clientRange.from+this.rowsWithinRange===this.rowCount}outOfRange(e,t){let{from:n,to:r}=this.range;if(t<n||e>=r)return!0}setAtIndex(e){let{rowIndex:t}=e,n=t-g(this,h).from;if(Ot(e,this.internalData[n]))return!1;let r=this.isWithinClientRange(t);return(r||this.isWithinRange(t))&&(!this.internalData[n]&&r&&(this.rowsWithinRange+=1),this.internalData[n]=e),r}getAtIndex(e){return g(this,h).isWithin(e)&&this.internalData[e-g(this,h).from]!=null?this.internalData[e-g(this,h).from]:void 0}isWithinRange(e){return g(this,h).isWithin(e)}isWithinClientRange(e){return this.clientRange.isWithin(e)}setClientRange(e,t){var d;(d=T.debug)==null||d.call(T,`setClientRange ${e} - ${t}`);let n=this.clientRange.from,r=Math.min(this.clientRange.to,this.rowCount);if(e===n&&t===r)return[!1,ot];let o=this.clientRange.copy();this.clientRange.from=e,this.clientRange.to=t,this.rowsWithinRange=0;for(let i=e;i<t;i++){let l=i-g(this,h).from;this.internalData[l]&&(this.rowsWithinRange+=1)}let a=ot,u=g(this,h).from;if(this.hasAllRowsWithinRange)if(t>o.to){let i=Math.max(e,o.to);a=this.internalData.slice(i-u,t-u)}else{let i=Math.min(o.from,t);a=this.internalData.slice(e-u,i-u)}return[this.bufferBreakout(e,t),a]}setRange(e,t){var n,r;if(e!==g(this,h).from||t!==g(this,h).to){(n=T.debug)==null||n.call(T,`setRange ${e} - ${t}`);let[o,a]=g(this,h).overlap(e,t),u=new Array(t-e);this.rowsWithinRange=0;for(let c=o;c<a;c++){let d=this.getAtIndex(c);if(d){let i=c-e;u[i]=d,this.isWithinClientRange(c)&&(this.rowsWithinRange+=1)}}this.internalData=u,g(this,h).from=e,g(this,h).to=t}else(r=T.debug)==null||r.call(T,`setRange ${e} - ${t} IGNORED because not changed`)}get data(){return this.internalData}getData(){var u;let{from:e,to:t}=g(this,h),{from:n,to:r}=this.clientRange,o=Math.max(0,n-e),a=Math.min(t-e,t,r-e,(u=this.rowCount)!=null?u:t);return this.internalData.slice(o,a)}clear(){var e;(e=T.debug)==null||e.call(T,"clear"),this.internalData.length=0,this.rowsWithinRange=0,this.setRowCount(0)}getCurrentDataRange(){let e=this.internalData,t=e.length,[n]=this.internalData,r=this.internalData[t-1];if(n&&r)return[n.rowIndex,r.rowIndex];for(let o=0;o<t;o++)if(e[o]!==void 0){n=e[o];break}for(let o=t-1;o>=0;o--)if(e[o]!==void 0){r=e[o];break}return n&&r?[n.rowIndex,r.rowIndex]:[-1,-1]}};h=new WeakMap;var kt=[],{debug:b,debugEnabled:H,error:At,info:p,infoEnabled:Ut,warn:P}=w("viewport"),Ft=({rowKey:s,updateType:e})=>e==="U"&&!s.startsWith("$root"),j=[void 0,void 0],Nt={count:0,mode:void 0,size:0,ts:0},z=class{constructor({aggregations:e,bufferSize:t=50,columns:n,filter:r,groupBy:o=[],table:a,range:u,sort:c,title:d,viewport:i,visualLink:l},f){this.batchMode=!0;this.hasUpdates=!1;this.pendingUpdates=[];this.pendingOperations=new Map;this.pendingRangeRequests=[];this.rowCountChanged=!1;this.selectedRows=[];this.tableSchema=null;this.useBatchMode=!0;this.lastUpdateStatus=Nt;this.updateThrottleTimer=void 0;this.rangeMonitor=new W("ViewPort");this.disabled=!1;this.isTree=!1;this.status="";this.suspended=!1;this.suspendTimer=null;this.setLastSizeOnlyUpdateSize=e=>{this.lastUpdateStatus.size=e};this.setLastUpdate=e=>{let{ts:t,mode:n}=this.lastUpdateStatus,r=0;if(n===e){let o=Date.now();this.lastUpdateStatus.count+=1,this.lastUpdateStatus.ts=o,r=t===0?0:o-t}else this.lastUpdateStatus.count=1,this.lastUpdateStatus.ts=0,r=0;return this.lastUpdateStatus.mode=e,r};this.rangeRequestAlreadyPending=e=>{let{bufferSize:t}=this,n=t*.25,{from:r}=e;for(let{from:o,to:a}of this.pendingRangeRequests)if(r>=o&&r<a){if(e.to+n<=a)return!0;r=a}return!1};this.sendThrottledSizeMessage=()=>{this.updateThrottleTimer=void 0,this.lastUpdateStatus.count=3,this.postMessageToClient({clientViewportId:this.clientViewportId,mode:"size-only",size:this.lastUpdateStatus.size,type:"viewport-update"})};this.shouldThrottleMessage=e=>{let t=this.setLastUpdate(e);return console.log(`elapsed time = ${t}`),e==="size-only"&&t>0&&t<500&&this.lastUpdateStatus.count>3};this.throttleMessage=e=>this.shouldThrottleMessage(e)?(p==null||p("throttling updates setTimeout to 2000"),this.updateThrottleTimer===void 0&&(this.updateThrottleTimer=setTimeout(this.sendThrottledSizeMessage,2e3)),!0):(this.updateThrottleTimer!==void 0&&(clearTimeout(this.updateThrottleTimer),this.updateThrottleTimer=void 0),!1);this.getNewRowCount=()=>{if(this.rowCountChanged&&this.dataWindow)return this.rowCountChanged=!1,this.dataWindow.rowCount};this.aggregations=e,this.bufferSize=t,this.clientRange=u,this.clientViewportId=i,this.columns=n,this.filter=r,this.groupBy=o,this.keys=new q(u),this.pendingLinkedParent=l,this.table=a,this.sort=c,this.title=d,Ut&&(p==null||p(`constructor #${i} ${a.table} bufferSize=${t}`)),this.dataWindow=new K(this.clientRange,u,this.bufferSize),this.postMessageToClient=f}get hasUpdatesToProcess(){return this.suspended?!1:this.rowCountChanged||this.hasUpdates}get size(){var e;return(e=this.dataWindow.rowCount)!=null?e:0}subscribe(){let{filter:e}=this.filter;return this.status=this.status==="subscribed"?"resubscribing":"subscribing",{type:$e,table:this.table,range:Y(this.clientRange,this.bufferSize),aggregations:this.aggregations,columns:this.columns,sort:this.sort,groupBy:this.groupBy,filterSpec:{filter:e}}}handleSubscribed({viewPortId:e,aggregations:t,columns:n,filterSpec:r,range:o,sort:a,groupBy:u}){return this.serverViewportId=e,this.status="subscribed",this.aggregations=t,this.columns=n,this.groupBy=u,this.isTree=u&&u.length>0,this.dataWindow.setRange(o.from,o.to),{aggregations:t,type:"subscribed",clientViewportId:this.clientViewportId,columns:n,filter:r,groupBy:u,range:o,sort:a,tableSchema:this.tableSchema}}awaitOperation(e,t){this.pendingOperations.set(e,t)}completeOperation(e,...t){var u;let{clientViewportId:n,pendingOperations:r}=this,o=r.get(e);if(!o){At("no matching operation found to complete");return}let{type:a}=o;if(p==null||p(`completeOperation ${a}`),r.delete(e),a==="CHANGE_VP_RANGE"){let[c,d]=t;(u=this.dataWindow)==null||u.setRange(c,d);for(let i=this.pendingRangeRequests.length-1;i>=0;i--){let l=this.pendingRangeRequests[i];if(l.requestId===e){l.acked=!0;break}else P==null||P("range requests sent faster than they are being ACKed")}}else if(a==="config"){let{aggregations:c,columns:d,filter:i,groupBy:l,sort:f}=o.data;return this.aggregations=c,this.columns=d,this.filter=i,this.groupBy=l,this.sort=f,l.length>0?this.isTree=!0:this.isTree&&(this.isTree=!1),b==null||b(`config change confirmed, isTree : ${this.isTree}`),{clientViewportId:n,type:a,config:o.data}}else{if(a==="groupBy")return this.isTree=o.data.length>0,this.groupBy=o.data,b==null||b(`groupBy change confirmed, isTree : ${this.isTree}`),{clientViewportId:n,type:a,groupBy:o.data};if(a==="columns")return this.columns=o.data,{clientViewportId:n,type:a,columns:o.data};if(a==="filter")return this.filter=o.data,{clientViewportId:n,type:a,filter:o.data};if(a==="aggregate")return this.aggregations=o.data,{clientViewportId:n,type:"aggregate",aggregations:this.aggregations};if(a==="sort")return this.sort=o.data,{clientViewportId:n,type:a,sort:this.sort};if(a!=="selection"){if(a==="disable")return this.disabled=!0,{type:"disabled",clientViewportId:n};if(a==="enable")return this.disabled=!1,{type:"enabled",clientViewportId:n};if(a==="CREATE_VISUAL_LINK"){let[c,d,i]=t;return this.linkedParent={colName:c,parentViewportId:d,parentColName:i},this.pendingLinkedParent=void 0,{type:"vuu-link-created",clientViewportId:n,colName:c,parentViewportId:d,parentColName:i}}else if(a==="REMOVE_VISUAL_LINK")return this.linkedParent=void 0,{type:"vuu-link-removed",clientViewportId:n}}}}rangeRequest(e,t){H&&this.rangeMonitor.set(t);let n="CHANGE_VP_RANGE";if(this.dataWindow){let[r,o]=this.dataWindow.setClientRange(t.from,t.to),a,u=this.dataWindow.rowCount||void 0,c=r&&!this.rangeRequestAlreadyPending(t)?{type:n,viewPortId:this.serverViewportId,...Y(t,this.bufferSize,u)}:null;if(c){H&&(b==null||b(`create CHANGE_VP_RANGE: [${c.from} - ${c.to}]`)),this.awaitOperation(e,{type:n});let i=this.pendingRangeRequests.at(-1);if(i)if(i.acked)console.warn("Range Request before previous request is filled");else{let{from:l,to:f}=i;this.dataWindow.outOfRange(l,f)?a={clientViewportId:this.clientViewportId,type:"debounce-begin"}:P==null||P("Range Request before previous request is acked")}this.pendingRangeRequests.push({...c,requestId:e}),this.useBatchMode&&(this.batchMode=!0)}else o.length>0&&(this.batchMode=!1);this.keys.reset(this.dataWindow.clientRange);let d=this.isTree?le:ue;return o.length?[c,o.map(i=>d(i,this.keys,this.selectedRows))]:a?[c,void 0,a]:[c]}else return[null]}setLinks(e){return this.links=e,[{type:"vuu-links",links:e,clientViewportId:this.clientViewportId},this.pendingLinkedParent]}setMenu(e){return{type:"vuu-menu",menu:e,clientViewportId:this.clientViewportId}}setTableSchema(e){this.tableSchema=e}openTreeNode(e,t){return this.useBatchMode&&(this.batchMode=!0),{type:Xe,vpId:this.serverViewportId,treeKey:t.key}}closeTreeNode(e,t){return this.useBatchMode&&(this.batchMode=!0),{type:Ne,vpId:this.serverViewportId,treeKey:t.key}}createLink(e,t,n,r){let o={type:"CREATE_VISUAL_LINK",parentVpId:n,childVpId:this.serverViewportId,parentColumnName:r,childColumnName:t};return this.awaitOperation(e,o),this.useBatchMode&&(this.batchMode=!0),o}removeLink(e){let t={type:"REMOVE_VISUAL_LINK",childVpId:this.serverViewportId};return this.awaitOperation(e,t),t}suspend(){this.suspended=!0,p==null||p("suspend")}resume(){return this.suspended=!1,H&&(b==null||b(`resume: ${this.currentData()}`)),this.currentData()}currentData(){let e=[];if(this.dataWindow){let t=this.dataWindow.getData(),{keys:n}=this,r=this.isTree?le:ue;for(let o of t)o&&e.push(r(o,n,this.selectedRows))}return e}enable(e){return this.awaitOperation(e,{type:"enable"}),p==null||p(`enable: ${this.serverViewportId}`),{type:Ke,viewPortId:this.serverViewportId}}disable(e){return this.awaitOperation(e,{type:"disable"}),p==null||p(`disable: ${this.serverViewportId}`),this.suspended=!1,{type:Be,viewPortId:this.serverViewportId}}columnRequest(e,t){return this.awaitOperation(e,{type:"columns",data:t}),b==null||b(`columnRequest: ${t}`),this.createRequest({columns:t})}filterRequest(e,t){this.awaitOperation(e,{type:"filter",data:t}),this.useBatchMode&&(this.batchMode=!0);let{filter:n}=t;return p==null||p(`filterRequest: ${n}`),this.createRequest({filterSpec:{filter:n}})}setConfig(e,t){this.awaitOperation(e,{type:"config",data:t});let{filter:n,...r}=t;return this.useBatchMode&&(this.batchMode=!0),H?b==null||b(`setConfig ${JSON.stringify(t)}`):p==null||p("setConfig"),this.createRequest({...r,filterSpec:typeof(n==null?void 0:n.filter)=="string"?{filter:n.filter}:{filter:""}},!0)}aggregateRequest(e,t){return this.awaitOperation(e,{type:"aggregate",data:t}),p==null||p(`aggregateRequest: ${t}`),this.createRequest({aggregations:t})}sortRequest(e,t){return this.awaitOperation(e,{type:"sort",data:t}),p==null||p(`sortRequest: ${JSON.stringify(t.sortDefs)}`),this.createRequest({sort:t})}groupByRequest(e,t=kt){var n;return this.awaitOperation(e,{type:"groupBy",data:t}),this.useBatchMode&&(this.batchMode=!0),this.isTree||(n=this.dataWindow)==null||n.clear(),this.createRequest({groupBy:t})}selectRequest(e,t){return this.selectedRows=t,this.awaitOperation(e,{type:"selection",data:t}),p==null||p(`selectRequest: ${t}`),{type:"SET_SELECTION",vpId:this.serverViewportId,selection:Se(t)}}removePendingRangeRequest(e,t){for(let n=this.pendingRangeRequests.length-1;n>=0;n--){let{from:r,to:o}=this.pendingRangeRequests[n],a=!0;if(e>=r&&e<o||t>r&&t<o){a||console.warn("removePendingRangeRequest TABLE_ROWS are not for latest request"),this.pendingRangeRequests.splice(n,1);break}else a=!1}}updateRows(e){var r,o,a;let[t,n]=_e(e);if(t&&n&&this.removePendingRangeRequest(t.rowIndex,n.rowIndex),e.length===1)if(t.vpSize===0&&this.disabled){b==null||b(`ignore a SIZE=0 message on disabled viewport (${e.length} rows)`);return}else t.updateType==="SIZE"&&this.setLastSizeOnlyUpdateSize(t.vpSize);for(let u of e)this.isTree&&Ft(u)||((u.updateType==="SIZE"||((r=this.dataWindow)==null?void 0:r.rowCount)!==u.vpSize)&&((o=this.dataWindow)==null||o.setRowCount(u.vpSize),this.rowCountChanged=!0),u.updateType==="U"&&(a=this.dataWindow)!=null&&a.setAtIndex(u)&&(this.hasUpdates=!0,this.batchMode||this.pendingUpdates.push(u)))}getClientRows(){let e,t="size-only";if(!this.hasUpdates&&!this.rowCountChanged)return j;if(this.hasUpdates){let{keys:n,selectedRows:r}=this,o=this.isTree?le:ue;if(this.updateThrottleTimer&&(self.clearTimeout(this.updateThrottleTimer),this.updateThrottleTimer=void 0),this.pendingUpdates.length>0){e=[],t="update";for(let a of this.pendingUpdates)e.push(o(a,n,r));this.pendingUpdates.length=0}else{let a=this.dataWindow.getData();if(this.dataWindow.hasAllRowsWithinRange){e=[],t="batch";for(let u of a)e.push(o(u,n,r));this.batchMode=!1}}this.hasUpdates=!1}return this.throttleMessage(t)?j:[e,t]}createRequest(e,t=!1){return t?{type:"CHANGE_VP",viewPortId:this.serverViewportId,...e}:{type:"CHANGE_VP",viewPortId:this.serverViewportId,aggregations:this.aggregations,columns:this.columns,sort:this.sort,groupBy:this.groupBy,filterSpec:{filter:this.filter.filter},...e}}},ue=({rowIndex:s,rowKey:e,sel:t,data:n},r,o)=>[s,r.keyFor(s),!0,!1,0,0,e,t?Z(o,s):0].concat(n),le=({rowIndex:s,rowKey:e,sel:t,data:n},r,o)=>{let[a,u,,c,,d,...i]=n;return[s,r.keyFor(s),c,u,a,d,e,t?Z(o,s):0].concat(i)};var it=1;var{debug:E,debugEnabled:L,error:O,info:y,infoEnabled:Wt,warn:k}=w("server-proxy"),C=()=>`${it++}`,$t={},qt=s=>s.disabled!==!0&&s.suspended!==!0,Bt={type:"NO_ACTION"},Gt=(s,e,t)=>s.map(n=>n.parentVpId===e?{...n,label:t}:n);function Kt(s,e){return s.map(t=>{let{parentVpId:n}=t,r=e.get(n);if(r)return{...t,parentClientVpId:r.clientViewportId,label:r.title};throw Error("addLabelsToLinks viewport not found")})}var J=class{constructor(e,t){this.authToken="";this.user="user";this.pendingTableMetaRequests=new Map;this.pendingRequests=new Map;this.queuedRequests=[];this.cachedTableSchemas=new Map;this.connection=e,this.postMessageToClient=t,this.viewports=new Map,this.mapClientToServerViewport=new Map}async reconnect(){await this.login(this.authToken);let[e,t]=he(Array.from(this.viewports.values()),qt);this.viewports.clear(),this.mapClientToServerViewport.clear();let n=r=>{r.forEach(o=>{let{clientViewportId:a}=o;this.viewports.set(a,o),this.sendMessageToServer(o.subscribe(),a)})};n(e),setTimeout(()=>{n(t)},2e3)}async login(e,t="user"){if(e)return this.authToken=e,this.user=t,new Promise((n,r)=>{this.sendMessageToServer({type:Ye,token:this.authToken,user:t},""),this.pendingLogin={resolve:n,reject:r}});this.authToken===""&&O("login, cannot login until auth token has been obtained")}subscribe(e){if(this.mapClientToServerViewport.has(e.viewport))O(`spurious subscribe call ${e.viewport}`);else{if(!this.hasSchemaForTable(e.table)&&!G(e.table)){y==null||y(`subscribe to ${e.table.table}, no metadata yet, request metadata`);let n=C();this.sendMessageToServer({type:"GET_TABLE_META",table:e.table},n),this.pendingTableMetaRequests.set(n,e.viewport)}let t=new z(e,this.postMessageToClient);this.viewports.set(e.viewport,t),this.sendIfReady(t.subscribe(),e.viewport,this.sessionId!=="")}}unsubscribe(e){let t=this.mapClientToServerViewport.get(e);t?(y==null||y(`Unsubscribe Message (Client to Server):\n ${t}`),this.sendMessageToServer({type:et,viewPortId:t})):O(`failed to unsubscribe client viewport ${e}, viewport not found`)}getViewportForClient(e,t=!0){let n=this.mapClientToServerViewport.get(e);if(n){let r=this.viewports.get(n);if(r)return r;if(t)throw Error(`Viewport not found for client viewport ${e}`);return null}else{if(this.viewports.has(e))return this.viewports.get(e);if(t)throw Error(`Viewport server id not found for client viewport ${e}`);return null}}setViewRange(e,t){let n=C(),[r,o,a]=e.rangeRequest(n,t.range);y==null||y(`setViewRange ${t.range.from} - ${t.range.to}`),r&&this.sendIfReady(r,n,e.status==="subscribed"),o?(y==null||y(`setViewRange ${o.length} rows returned from cache`),this.postMessageToClient({mode:"batch",type:"viewport-update",clientViewportId:e.clientViewportId,rows:o})):a&&this.postMessageToClient(a)}setConfig(e,t){let n=C(),r=e.setConfig(n,t.config);this.sendIfReady(r,n,e.status==="subscribed")}aggregate(e,t){let n=C(),r=e.aggregateRequest(n,t.aggregations);this.sendIfReady(r,n,e.status==="subscribed")}sort(e,t){let n=C(),r=e.sortRequest(n,t.sort);this.sendIfReady(r,n,e.status==="subscribed")}groupBy(e,t){let n=C(),r=e.groupByRequest(n,t.groupBy);this.sendIfReady(r,n,e.status==="subscribed")}filter(e,t){let n=C(),{filter:r}=t,o=e.filterRequest(n,r);this.sendIfReady(o,n,e.status==="subscribed")}setColumns(e,t){let n=C(),{columns:r}=t,o=e.columnRequest(n,r);this.sendIfReady(o,n,e.status==="subscribed")}setTitle(e,t){e&&(e.title=t.title,this.updateTitleOnVisualLinks(e))}select(e,t){let n=C(),{selected:r}=t,o=e.selectRequest(n,r);this.sendIfReady(o,n,e.status==="subscribed")}disableViewport(e){let t=C(),n=e.disable(t);this.sendIfReady(n,t,e.status==="subscribed")}enableViewport(e){if(e.disabled){let t=C(),n=e.enable(t);this.sendIfReady(n,t,e.status==="subscribed")}}suspendViewport(e){e.suspend(),e.suspendTimer=setTimeout(()=>{y==null||y("suspendTimer expired, escalate suspend to disable"),this.disableViewport(e)},3e3)}resumeViewport(e){e.suspendTimer&&(E==null||E("clear suspend timer"),clearTimeout(e.suspendTimer),e.suspendTimer=null);let t=e.resume();this.postMessageToClient({clientViewportId:e.clientViewportId,mode:"batch",rows:t,type:"viewport-update"})}openTreeNode(e,t){if(e.serverViewportId){let n=C();this.sendIfReady(e.openTreeNode(n,t),n,e.status==="subscribed")}}closeTreeNode(e,t){if(e.serverViewportId){let n=C();this.sendIfReady(e.closeTreeNode(n,t),n,e.status==="subscribed")}}createLink(e,t){let{parentClientVpId:n,parentColumnName:r,childColumnName:o}=t,a=C(),u=this.mapClientToServerViewport.get(n);if(u){let c=e.createLink(a,o,u,r);this.sendMessageToServer(c,a)}else O("ServerProxy unable to create link, viewport not found")}removeLink(e){let t=C(),n=e.removeLink(t);this.sendMessageToServer(n,t)}updateTitleOnVisualLinks(e){var r;let{serverViewportId:t,title:n}=e;for(let o of this.viewports.values())if(o!==e&&o.links&&t&&n&&(r=o.links)!=null&&r.some(a=>a.parentVpId===t)){let[a]=o.setLinks(Gt(o.links,t,n));this.postMessageToClient(a)}}removeViewportFromVisualLinks(e){var t;for(let n of this.viewports.values())if((t=n.links)!=null&&t.some(({parentVpId:r})=>r===e)){let[r]=n.setLinks(n.links.filter(({parentVpId:o})=>o!==e));this.postMessageToClient(r)}}menuRpcCall(e){let t=this.getViewportForClient(e.vpId,!1);if(t!=null&&t.serverViewportId){let[n,r]=ne(e);this.sendMessageToServer({...r,vpId:t.serverViewportId},n)}}rpcCall(e){let[t,n]=ne(e),r=st(n.service);this.sendMessageToServer(n,t,{module:r})}handleMessageFromClient(e){if(E==null||E(`handleMessageFromClient: ${e.type}`),ke(e))if(e.type==="disable"){let t=this.getViewportForClient(e.viewport,!1);return t!==null?this.disableViewport(t):void 0}else{let t=this.getViewportForClient(e.viewport);switch(e.type){case"setViewRange":return this.setViewRange(t,e);case"config":return this.setConfig(t,e);case"aggregate":return this.aggregate(t,e);case"sort":return this.sort(t,e);case"groupBy":return this.groupBy(t,e);case"filter":return this.filter(t,e);case"select":return this.select(t,e);case"suspend":return this.suspendViewport(t);case"resume":return this.resumeViewport(t);case"enable":return this.enableViewport(t);case"openTreeNode":return this.openTreeNode(t,e);case"closeTreeNode":return this.closeTreeNode(t,e);case"createLink":return this.createLink(t,e);case"removeLink":return this.removeLink(t);case"setColumns":return this.setColumns(t,e);case"setTitle":return this.setTitle(t,e);default:}}else{if(De(e))return this.menuRpcCall(e);{let{type:t,requestId:n}=e;switch(t){case"GET_TABLE_LIST":return this.sendMessageToServer({type:t},n);case"GET_TABLE_META":return this.sendMessageToServer({type:t,table:e.table},n);case"RPC_CALL":return this.rpcCall(e);default:}}}O(`Vuu ServerProxy Unexpected message from client ${JSON.stringify(e)}`)}awaitResponseToMessage(e){return new Promise((t,n)=>{let r=C();this.sendMessageToServer(e,r),this.pendingRequests.set(r,{reject:n,resolve:t})})}sendIfReady(e,t,n=!0){return n?this.sendMessageToServer(e,t):this.queuedRequests.push(e),n}sendMessageToServer(e,t=`${it++}`,n=$t){let{module:r="CORE"}=n;this.authToken&&this.connection.send({requestId:t,sessionId:this.sessionId,token:this.authToken,user:this.user,module:r,body:e})}handleMessageFromServer(e){var u;let{body:t,requestId:n,sessionId:r}=e,o=this.pendingRequests.get(n);if(o){let{resolve:i}=o;this.pendingRequests.delete(n),i(t);return}let{viewports:a}=this;switch(t.type){case ze:this.sendMessageToServer({type:Je,ts:+new Date},"NA");break;case Ze:if(r)this.sessionId=r,(u=this.pendingLogin)==null||u.resolve(r),this.pendingLogin=void 0;else throw Error("LOGIN_SUCCESS did not provide sessionId");break;case qe:{let i=a.get(n);if(i){let{status:l}=i,{viewPortId:f}=t;n!==f&&(a.delete(n),a.set(f,i)),this.mapClientToServerViewport.set(n,f);let R=i.handleSubscribed(t);R&&(this.postMessageToClient(R),L&&E(`post DataSourceSubscribedMessage to client: ${JSON.stringify(R)}`)),i.disabled&&this.disableViewport(i),l==="subscribing"&&!G(i.table)&&(this.sendMessageToServer({type:se,vpId:f}),this.sendMessageToServer({type:je,vpId:f}),Array.from(a.entries()).filter(([M,{disabled:A}])=>M!==f&&!A).forEach(([M])=>{this.sendMessageToServer({type:se,vpId:M})}))}}break;case"REMOVE_VP_SUCCESS":{let i=this.viewports.get(t.viewPortId);i&&(this.mapClientToServerViewport.delete(i.clientViewportId),a.delete(t.viewPortId),this.removeViewportFromVisualLinks(t.viewPortId))}break;case tt:{let i=this.viewports.get(t.vpId);i&&i.completeOperation(n)}break;case Ue:case Ge:if(a.has(t.viewPortId)){let i=this.viewports.get(t.viewPortId);if(i){let l=i.completeOperation(n);l!==void 0&&(this.postMessageToClient(l),L&&E(`postMessageToClient ${JSON.stringify(l)}`))}}break;case He:{let i=this.viewports.get(t.viewPortId);if(i){let l=i.completeOperation(n);if(l){this.postMessageToClient(l);let f=i.currentData();L&&E(`Enable Response (ServerProxy to Client): ${JSON.stringify(l)}`),i.size===0?L&&E("Viewport Enabled but size 0, resend to server"):(this.postMessageToClient({clientViewportId:i.clientViewportId,mode:"batch",rows:f,size:i.size,type:"viewport-update"}),L&&E(`Enable Response (ServerProxy to Client): send size ${i.size} ${f.length} rows from cache`))}}}break;case nt:{let i=Pe(t.rows);for(let[l,f]of Object.entries(i)){let R=a.get(l);R?R.updateRows(f):k==null||k(`TABLE_ROW message received for non registered viewport ${l}`)}this.processUpdates()}break;case Fe:{let i=this.viewports.get(t.viewPortId);if(i){let{from:l,to:f}=t;i.completeOperation(n,l,f)}}break;case Qe:case We:break;case"CREATE_VISUAL_LINK_SUCCESS":{let i=this.viewports.get(t.childVpId),l=this.viewports.get(t.parentVpId);if(i&&l){let{childColumnName:f,parentColumnName:R}=t,M=i.completeOperation(n,f,l.clientViewportId,R);M&&this.postMessageToClient(M)}}break;case"REMOVE_VISUAL_LINK_SUCCESS":{let i=this.viewports.get(t.childVpId);if(i){let l=i.completeOperation(n);l&&this.postMessageToClient(l)}}break;case ae:this.postMessageToClient({type:ae,tables:t.tables,requestId:n});break;case ie:{let i=this.cacheTableMeta(t),l=this.pendingTableMetaRequests.get(n);if(l){this.pendingTableMetaRequests.delete(n);let f=this.viewports.get(l);f?f.setTableSchema(i):k==null||k("Message has come back AFTER CREATE_VP_SUCCESS, what do we do now")}else this.postMessageToClient({type:ie,tableSchema:i,requestId:n})}break;case"VP_VISUAL_LINKS_RESP":{let i=this.getActiveLinks(t.links),l=this.viewports.get(t.vpId);if(i.length&&l){let f=Kt(i,this.viewports),[R,M]=l.setLinks(f);if(this.postMessageToClient(R),M){let{link:A,parentClientVpId:at}=M,de=C(),ge=this.mapClientToServerViewport.get(at);if(ge){let ut=l.createLink(de,A.fromColumn,ge,A.toColumn);this.sendMessageToServer(ut,de)}}}}break;case"VIEW_PORT_MENUS_RESP":if(t.menu.name){let i=this.viewports.get(t.vpId);if(i){let l=i.setMenu(t.menu);this.postMessageToClient(l)}}break;case"VP_EDIT_RPC_RESPONSE":this.postMessageToClient({action:t.action,requestId:n,rpcName:t.rpcName,type:"VP_EDIT_RPC_RESPONSE"});break;case"VP_EDIT_RPC_REJECT":this.viewports.get(t.vpId)&&this.postMessageToClient({requestId:n,type:"VP_EDIT_RPC_REJECT",error:t.error});break;case"VIEW_PORT_MENU_RESP":if(Ae(t)){let{action:i,rpcName:l}=t;this.awaitResponseToMessage({type:"GET_TABLE_META",table:i.table}).then(f=>{let R=re(f);this.postMessageToClient({rpcName:l,type:"VIEW_PORT_MENU_RESP",action:{...i,tableSchema:R},tableAlreadyOpen:this.isTableOpen(i.table),requestId:n})})}else{let{action:i}=t;this.postMessageToClient({type:"VIEW_PORT_MENU_RESP",action:i||Bt,tableAlreadyOpen:i!==null&&this.isTableOpen(i.table),requestId:n})}break;case oe:{let{method:i,result:l}=t;this.postMessageToClient({type:oe,method:i,result:l,requestId:n})}break;case"ERROR":O(t.msg);break;default:Wt&&y(`handleMessageFromServer ${t.type}.`)}}hasSchemaForTable(e){return this.cachedTableSchemas.has(`${e.module}:${e.table}`)}cacheTableMeta(e){let{module:t,table:n}=e.table,r=`${t}:${n}`,o=this.cachedTableSchemas.get(r);return o||(o=re(e),this.cachedTableSchemas.set(r,o)),o}isTableOpen(e){if(e){let t=e.table;for(let n of this.viewports.values())if(!n.suspended&&n.table.table===t)return!0}}getActiveLinks(e){return e.filter(t=>{let n=this.viewports.get(t.parentVpId);return n&&!n.suspended})}processUpdates(){this.viewports.forEach(e=>{var t;if(e.hasUpdatesToProcess){let n=e.getClientRows();if(n!==j){let[r,o]=n,a=e.getNewRowCount();(a!==void 0||r&&r.length>0)&&(L&&E(`postMessageToClient #${e.clientViewportId} viewport-update ${o}, ${(t=r==null?void 0:r.length)!=null?t:"no"} rows, size ${a}`),o&&this.postMessageToClient({clientViewportId:e.clientViewportId,mode:o,rows:r,size:a,type:"viewport-update"}))}}})}};var D,{info:ce,infoEnabled:pe}=w("worker");async function Ht(s,e,t,n,r,o,a){let u=await Ie(s,e,c=>{Oe(c)?(console.log("post connection metrics"),postMessage({type:"connection-metrics",messages:c})):Le(c)?(r(c),c.status==="reconnected"&&D.reconnect()):D.handleMessageFromServer(c)},o,a);D=new J(u,c=>jt(c)),u.requiresLogin&&await D.login(t,n)}function jt(s){postMessage(s)}var zt=async({data:s})=>{switch(s.type){case"connect":await Ht(s.url,s.protocol,s.token,s.username,postMessage,s.retryLimitDisconnect,s.retryLimitStartup),postMessage({type:"connected"});break;case"subscribe":pe&&ce(`client subscribe: ${JSON.stringify(s)}`),D.subscribe(s);break;case"unsubscribe":pe&&ce(`client unsubscribe: ${JSON.stringify(s)}`),D.unsubscribe(s.viewport);break;default:pe&&ce(`client message: ${JSON.stringify(s)}`),D.handleMessageFromClient(s)}};self.addEventListener("message",zt);postMessage({type:"ready"});\n\n';var GC=new Blob([(0,Lo.getLoggingConfigForWorker)()+Zm],{type:"text/javascript"}),qC=URL.createObjectURL(GC),Do,Ru,Iu=[],KC,jC,eg=new Promise((r,e)=>{KC=r,jC=e}),Lu=()=>eg,Ll=new Map,Al=new Map,JC=async({handleConnectionStatusChange:r,protocol:e,retryLimitDisconnect:t,retryLimitStartup:n,token:o="",username:i,url:s})=>o===""&&Ru===void 0?new Promise(l=>{Iu.push({resolve:l})}):Ru||(Ru=new Promise(l=>{let a=new Worker(qC),c=window.setTimeout(()=>{console.error("timed out waiting for worker to load")},1e3);a.onmessage=u=>{let{data:h}=u;if(h.type==="ready")window.clearTimeout(c),a.postMessage({protocol:e,retryLimitDisconnect:t,retryLimitStartup:n,token:o,type:"connect",url:s,username:i});else if(h.type==="connected"){a.onmessage=tg,l(a);for(let f of Iu)f.resolve(a);Iu.length=0}else Eu(h)?r({data:h}):console.warn("ConnectionManager: Unexpected message from the worker")}}));function tg({data:r}){if(qm(r)){let e=Ll.get(r.clientViewportId);e?e.postMessageToClientDataSource(r):console.error(`[ConnectionManager] ${r.type} message received, viewport not found`)}else if(Eu(r))Ol.emit("connection-status",r);else if(Qm(r))console.log({message:r}),Ol.emit("connection-metrics",r);else{let e=r.requestId;if(Al.has(e)){let{resolve:t}=Al.get(e);Al.delete(e);let{type:n,requestId:o,...i}=r;Ym(r)?t(r.result):r.type==="VP_EDIT_RPC_RESPONSE"||r.type==="VP_EDIT_RPC_REJECT"?t(r):Xm(r)?t(r.tableSchema):t(i)}else console.warn("%cConnectionManager Unexpected message from the worker","color:red;font-weight:bold;")}}var Pu=r=>{let e=(0,Lo.uuid)();return Do.postMessage({requestId:e,...r}),new Promise((t,n)=>{Al.set(e,{resolve:t,reject:n})})},QC={subscribe:(r,e)=>{Ll.set(r.viewport,{status:"subscribing",request:r,postMessageToClientDataSource:e}),Do.postMessage({type:"subscribe",...r})},unsubscribe:r=>{Do.postMessage({type:"unsubscribe",viewport:r})},send:r=>{Do.postMessage(r)},destroy:r=>{r&&Ll.has(r)&&Ll.delete(r)},rpcCall:async r=>Pu(r),getTableList:async()=>Pu({type:jm}),getTableSchema:async r=>Pu({type:Jm,table:r})},Du=class extends Lo.EventEmitter{async connect({url:e,authToken:t,username:n,protocol:o,retryLimitDisconnect:i,retryLimitStartup:s}){return Do=await JC({protocol:o,url:e,token:t,username:n,retryLimitDisconnect:i,retryLimitStartup:s,handleConnectionStatusChange:tg}),QC}destroy(){Do.terminate()}},Ol=new Du;var ng=async r=>{try{return(await eg).rpcCall(r)}catch{throw Error("Error accessing server api")}};var YC=0,Ji=class{constructor(e,t){this.from=e,this.to=t}},Q=class{constructor(e={}){this.id=YC++,this.perNode=!!e.perNode,this.deserialize=e.deserialize||(()=>{throw new Error("This node type doesn't define a deserialize function")})}add(e){if(this.perNode)throw new RangeError("Can't add per-node props to node types");return typeof e!="function"&&(e=Ne.match(e)),t=>{let n=e(t);return n===void 0?null:[this,n]}}};Q.closedBy=new Q({deserialize:r=>r.split(" ")});Q.openedBy=new Q({deserialize:r=>r.split(" ")});Q.group=new Q({deserialize:r=>r.split(" ")});Q.contextHash=new Q({perNode:!0});Q.lookAhead=new Q({perNode:!0});Q.mounted=new Q({perNode:!0});var XC=Object.create(null),Ne=class{constructor(e,t,n,o=0){this.name=e,this.props=t,this.id=n,this.flags=o}static define(e){let t=e.props&&e.props.length?Object.create(null):XC,n=(e.top?1:0)|(e.skipped?2:0)|(e.error?4:0)|(e.name==null?8:0),o=new Ne(e.name||"",t,e.id,n);if(e.props){for(let i of e.props)if(Array.isArray(i)||(i=i(o)),i){if(i[0].perNode)throw new RangeError("Can't store a per-node prop on a node type");t[i[0].id]=i[1]}}return o}prop(e){return this.props[e.id]}get isTop(){return(this.flags&1)>0}get isSkipped(){return(this.flags&2)>0}get isError(){return(this.flags&4)>0}get isAnonymous(){return(this.flags&8)>0}is(e){if(typeof e=="string"){if(this.name==e)return!0;let t=this.prop(Q.group);return t?t.indexOf(e)>-1:!1}return this.id==e}static match(e){let t=Object.create(null);for(let n in e)for(let o of n.split(" "))t[o]=e[n];return n=>{for(let o=n.prop(Q.group),i=-1;i<(o?o.length:0);i++){let s=t[i<0?n.name:o[i]];if(s)return s}}}};Ne.none=new Ne("",Object.create(null),0,8);var Fr=class{constructor(e){this.types=e;for(let t=0;t<e.length;t++)if(e[t].id!=t)throw new RangeError("Node type ids should correspond to array positions when creating a node set")}extend(...e){let t=[];for(let n of this.types){let o=null;for(let i of e){let s=i(n);s&&(o||(o=Object.assign({},n.props)),o[s[0].id]=s[1])}t.push(o?new Ne(n.name,o,n.id,n.flags):n)}return new Fr(t)}},Nl=new WeakMap,rg=new WeakMap,Ce;(function(r){r[r.ExcludeBuffers=1]="ExcludeBuffers",r[r.IncludeAnonymous=2]="IncludeAnonymous",r[r.IgnoreMounts=4]="IgnoreMounts",r[r.IgnoreOverlays=8]="IgnoreOverlays"})(Ce||(Ce={}));var ue=class{constructor(e,t,n,o,i){if(this.type=e,this.children=t,this.positions=n,this.length=o,this.props=null,i&&i.length){this.props=Object.create(null);for(let[s,l]of i)this.props[typeof s=="number"?s:s.id]=l}}toString(){let e=this.prop(Q.mounted);if(e&&!e.overlay)return e.tree.toString();let t="";for(let n of this.children){let o=n.toString();o&&(t&&(t+=","),t+=o)}return this.type.name?(/\W/.test(this.type.name)&&!this.type.isError?JSON.stringify(this.type.name):this.type.name)+(t.length?"("+t+")":""):t}cursor(e=0){return new Oo(this.topNode,e)}cursorAt(e,t=0,n=0){let o=Nl.get(this)||this.topNode,i=new Oo(o);return i.moveTo(e,t),Nl.set(this,i._tree),i}get topNode(){return new Xt(this,0,0,null)}resolve(e,t=0){let n=Ao(Nl.get(this)||this.topNode,e,t,!1);return Nl.set(this,n),n}resolveInner(e,t=0){let n=Ao(rg.get(this)||this.topNode,e,t,!0);return rg.set(this,n),n}iterate(e){let{enter:t,leave:n,from:o=0,to:i=this.length}=e,s=e.mode||0,l=(s&Ce.IncludeAnonymous)>0;for(let a=this.cursor(s|Ce.IncludeAnonymous);;){let c=!1;if(a.from<=i&&a.to>=o&&(!l&&a.type.isAnonymous||t(a)!==!1)){if(a.firstChild())continue;c=!0}for(;c&&n&&(l||!a.type.isAnonymous)&&n(a),!a.nextSibling();){if(!a.parent())return;c=!0}}}prop(e){return e.perNode?this.props?this.props[e.id]:void 0:this.type.prop(e)}get propValues(){let e=[];if(this.props)for(let t in this.props)e.push([+t,this.props[t]]);return e}balance(e={}){return this.children.length<=8?this:Vu(Ne.none,this.children,this.positions,0,this.children.length,0,this.length,(t,n,o)=>new ue(this.type,t,n,o,this.propValues),e.makeTree||((t,n,o)=>new ue(Ne.none,t,n,o)))}static build(e){return ZC(e)}};ue.empty=new ue(Ne.none,[],[],0);var Qi=class{constructor(e,t){this.buffer=e,this.index=t}get id(){return this.buffer[this.index-4]}get start(){return this.buffer[this.index-3]}get end(){return this.buffer[this.index-2]}get size(){return this.buffer[this.index-1]}get pos(){return this.index}next(){this.index-=4}fork(){return new Qi(this.buffer,this.index)}},Rn=class{constructor(e,t,n){this.buffer=e,this.length=t,this.set=n}get type(){return Ne.none}toString(){let e=[];for(let t=0;t<this.buffer.length;)e.push(this.childString(t)),t=this.buffer[t+3];return e.join(",")}childString(e){let t=this.buffer[e],n=this.buffer[e+3],o=this.set.types[t],i=o.name;if(/\W/.test(i)&&!o.isError&&(i=JSON.stringify(i)),e+=4,n==e)return i;let s=[];for(;e<n;)s.push(this.childString(e)),e=this.buffer[e+3];return i+"("+s.join(",")+")"}findChild(e,t,n,o,i){let{buffer:s}=this,l=-1;for(let a=e;a!=t&&!(ig(i,o,s[a+1],s[a+2])&&(l=a,n>0));a=s[a+3]);return l}slice(e,t,n){let o=this.buffer,i=new Uint16Array(t-e),s=0;for(let l=e,a=0;l<t;){i[a++]=o[l++],i[a++]=o[l++]-n;let c=i[a++]=o[l++]-n;i[a++]=o[l++]-e,s=Math.max(s,c)}return new Rn(i,s,this.set)}};function ig(r,e,t,n){switch(r){case-2:return t<e;case-1:return n>=e&&t<e;case 0:return t<e&&n>e;case 1:return t<=e&&n>e;case 2:return n>e;case 4:return!0}}function sg(r,e){let t=r.childBefore(e);for(;t;){let n=t.lastChild;if(!n||n.to!=t.to)break;n.type.isError&&n.from==n.to?(r=t,t=n.prevSibling):t=n}return r}function Ao(r,e,t,n){for(var o;r.from==r.to||(t<1?r.from>=e:r.from>e)||(t>-1?r.to<=e:r.to<e);){let s=!n&&r instanceof Xt&&r.index<0?null:r.parent;if(!s)return r;r=s}let i=n?0:Ce.IgnoreOverlays;if(n)for(let s=r,l=s.parent;l;s=l,l=s.parent)s instanceof Xt&&s.index<0&&((o=l.enter(e,t,i))===null||o===void 0?void 0:o.from)!=s.from&&(r=l);for(;;){let s=r.enter(e,t,i);if(!s)return r;r=s}}var Xt=class{constructor(e,t,n,o){this._tree=e,this.from=t,this.index=n,this._parent=o}get type(){return this._tree.type}get name(){return this._tree.type.name}get to(){return this.from+this._tree.length}nextChild(e,t,n,o,i=0){for(let s=this;;){for(let{children:l,positions:a}=s._tree,c=t>0?l.length:-1;e!=c;e+=t){let u=l[e],h=a[e]+s.from;if(ig(o,n,h,h+u.length)){if(u instanceof Rn){if(i&Ce.ExcludeBuffers)continue;let f=u.findChild(0,u.buffer.length,t,n-h,o);if(f>-1)return new cn(new Au(s,u,e,h),null,f)}else if(i&Ce.IncludeAnonymous||!u.type.isAnonymous||Nu(u)){let f;if(!(i&Ce.IgnoreMounts)&&u.props&&(f=u.prop(Q.mounted))&&!f.overlay)return new Xt(f.tree,h,e,s);let d=new Xt(u,h,e,s);return i&Ce.IncludeAnonymous||!d.type.isAnonymous?d:d.nextChild(t<0?u.children.length-1:0,t,n,o)}}}if(i&Ce.IncludeAnonymous||!s.type.isAnonymous||(s.index>=0?e=s.index+t:e=t<0?-1:s._parent._tree.children.length,s=s._parent,!s))return null}}get firstChild(){return this.nextChild(0,1,0,4)}get lastChild(){return this.nextChild(this._tree.children.length-1,-1,0,4)}childAfter(e){return this.nextChild(0,1,e,2)}childBefore(e){return this.nextChild(this._tree.children.length-1,-1,e,-2)}enter(e,t,n=0){let o;if(!(n&Ce.IgnoreOverlays)&&(o=this._tree.prop(Q.mounted))&&o.overlay){let i=e-this.from;for(let{from:s,to:l}of o.overlay)if((t>0?s<=i:s<i)&&(t<0?l>=i:l>i))return new Xt(o.tree,o.overlay[0].from+this.from,-1,this)}return this.nextChild(0,1,e,t,n)}nextSignificantParent(){let e=this;for(;e.type.isAnonymous&&e._parent;)e=e._parent;return e}get parent(){return this._parent?this._parent.nextSignificantParent():null}get nextSibling(){return this._parent&&this.index>=0?this._parent.nextChild(this.index+1,1,0,4):null}get prevSibling(){return this._parent&&this.index>=0?this._parent.nextChild(this.index-1,-1,0,4):null}cursor(e=0){return new Oo(this,e)}get tree(){return this._tree}toTree(){return this._tree}resolve(e,t=0){return Ao(this,e,t,!1)}resolveInner(e,t=0){return Ao(this,e,t,!0)}enterUnfinishedNodesBefore(e){return sg(this,e)}getChild(e,t=null,n=null){let o=Fl(this,e,t,n);return o.length?o[0]:null}getChildren(e,t=null,n=null){return Fl(this,e,t,n)}toString(){return this._tree.toString()}get node(){return this}matchContext(e){return Bl(this,e)}};function Fl(r,e,t,n){let o=r.cursor(),i=[];if(!o.firstChild())return i;if(t!=null){for(;!o.type.is(t);)if(!o.nextSibling())return i}for(;;){if(n!=null&&o.type.is(n))return i;if(o.type.is(e)&&i.push(o.node),!o.nextSibling())return n==null?i:[]}}function Bl(r,e,t=e.length-1){for(let n=r.parent;t>=0;n=n.parent){if(!n)return!1;if(!n.type.isAnonymous){if(e[t]&&e[t]!=n.name)return!1;t--}}return!0}var Au=class{constructor(e,t,n,o){this.parent=e,this.buffer=t,this.index=n,this.start=o}},cn=class{get name(){return this.type.name}get from(){return this.context.start+this.context.buffer.buffer[this.index+1]}get to(){return this.context.start+this.context.buffer.buffer[this.index+2]}constructor(e,t,n){this.context=e,this._parent=t,this.index=n,this.type=e.buffer.set.types[e.buffer.buffer[n]]}child(e,t,n){let{buffer:o}=this.context,i=o.findChild(this.index+4,o.buffer[this.index+3],e,t-this.context.start,n);return i<0?null:new cn(this.context,this,i)}get firstChild(){return this.child(1,0,4)}get lastChild(){return this.child(-1,0,4)}childAfter(e){return this.child(1,e,2)}childBefore(e){return this.child(-1,e,-2)}enter(e,t,n=0){if(n&Ce.ExcludeBuffers)return null;let{buffer:o}=this.context,i=o.findChild(this.index+4,o.buffer[this.index+3],t>0?1:-1,e-this.context.start,t);return i<0?null:new cn(this.context,this,i)}get parent(){return this._parent||this.context.parent.nextSignificantParent()}externalSibling(e){return this._parent?null:this.context.parent.nextChild(this.context.index+e,e,0,4)}get nextSibling(){let{buffer:e}=this.context,t=e.buffer[this.index+3];return t<(this._parent?e.buffer[this._parent.index+3]:e.buffer.length)?new cn(this.context,this._parent,t):this.externalSibling(1)}get prevSibling(){let{buffer:e}=this.context,t=this._parent?this._parent.index+4:0;return this.index==t?this.externalSibling(-1):new cn(this.context,this._parent,e.findChild(t,this.index,-1,0,4))}cursor(e=0){return new Oo(this,e)}get tree(){return null}toTree(){let e=[],t=[],{buffer:n}=this.context,o=this.index+4,i=n.buffer[this.index+3];if(i>o){let s=n.buffer[this.index+1];e.push(n.slice(o,i,s)),t.push(0)}return new ue(this.type,e,t,this.to-this.from)}resolve(e,t=0){return Ao(this,e,t,!1)}resolveInner(e,t=0){return Ao(this,e,t,!0)}enterUnfinishedNodesBefore(e){return sg(this,e)}toString(){return this.context.buffer.childString(this.index)}getChild(e,t=null,n=null){let o=Fl(this,e,t,n);return o.length?o[0]:null}getChildren(e,t=null,n=null){return Fl(this,e,t,n)}get node(){return this}matchContext(e){return Bl(this,e)}},Oo=class{get name(){return this.type.name}constructor(e,t=0){if(this.mode=t,this.buffer=null,this.stack=[],this.index=0,this.bufferNode=null,e instanceof Xt)this.yieldNode(e);else{this._tree=e.context.parent,this.buffer=e.context;for(let n=e._parent;n;n=n._parent)this.stack.unshift(n.index);this.bufferNode=e,this.yieldBuf(e.index)}}yieldNode(e){return e?(this._tree=e,this.type=e.type,this.from=e.from,this.to=e.to,!0):!1}yieldBuf(e,t){this.index=e;let{start:n,buffer:o}=this.buffer;return this.type=t||o.set.types[o.buffer[e]],this.from=n+o.buffer[e+1],this.to=n+o.buffer[e+2],!0}yield(e){return e?e instanceof Xt?(this.buffer=null,this.yieldNode(e)):(this.buffer=e.context,this.yieldBuf(e.index,e.type)):!1}toString(){return this.buffer?this.buffer.buffer.childString(this.index):this._tree.toString()}enterChild(e,t,n){if(!this.buffer)return this.yield(this._tree.nextChild(e<0?this._tree._tree.children.length-1:0,e,t,n,this.mode));let{buffer:o}=this.buffer,i=o.findChild(this.index+4,o.buffer[this.index+3],e,t-this.buffer.start,n);return i<0?!1:(this.stack.push(this.index),this.yieldBuf(i))}firstChild(){return this.enterChild(1,0,4)}lastChild(){return this.enterChild(-1,0,4)}childAfter(e){return this.enterChild(1,e,2)}childBefore(e){return this.enterChild(-1,e,-2)}enter(e,t,n=this.mode){return this.buffer?n&Ce.ExcludeBuffers?!1:this.enterChild(1,e,t):this.yield(this._tree.enter(e,t,n))}parent(){if(!this.buffer)return this.yieldNode(this.mode&Ce.IncludeAnonymous?this._tree._parent:this._tree.parent);if(this.stack.length)return this.yieldBuf(this.stack.pop());let e=this.mode&Ce.IncludeAnonymous?this.buffer.parent:this.buffer.parent.nextSignificantParent();return this.buffer=null,this.yieldNode(e)}sibling(e){if(!this.buffer)return this._tree._parent?this.yield(this._tree.index<0?null:this._tree._parent.nextChild(this._tree.index+e,e,0,4,this.mode)):!1;let{buffer:t}=this.buffer,n=this.stack.length-1;if(e<0){let o=n<0?0:this.stack[n]+4;if(this.index!=o)return this.yieldBuf(t.findChild(o,this.index,-1,0,4))}else{let o=t.buffer[this.index+3];if(o<(n<0?t.buffer.length:t.buffer[this.stack[n]+3]))return this.yieldBuf(o)}return n<0?this.yield(this.buffer.parent.nextChild(this.buffer.index+e,e,0,4,this.mode)):!1}nextSibling(){return this.sibling(1)}prevSibling(){return this.sibling(-1)}atLastNode(e){let t,n,{buffer:o}=this;if(o){if(e>0){if(this.index<o.buffer.buffer.length)return!1}else for(let i=0;i<this.index;i++)if(o.buffer.buffer[i+3]<this.index)return!1;({index:t,parent:n}=o)}else({index:t,_parent:n}=this._tree);for(;n;{index:t,_parent:n}=n)if(t>-1)for(let i=t+e,s=e<0?-1:n._tree.children.length;i!=s;i+=e){let l=n._tree.children[i];if(this.mode&Ce.IncludeAnonymous||l instanceof Rn||!l.type.isAnonymous||Nu(l))return!1}return!0}move(e,t){if(t&&this.enterChild(e,0,4))return!0;for(;;){if(this.sibling(e))return!0;if(this.atLastNode(e)||!this.parent())return!1}}next(e=!0){return this.move(1,e)}prev(e=!0){return this.move(-1,e)}moveTo(e,t=0){for(;(this.from==this.to||(t<1?this.from>=e:this.from>e)||(t>-1?this.to<=e:this.to<e))&&this.parent(););for(;this.enterChild(1,e,t););return this}get node(){if(!this.buffer)return this._tree;let e=this.bufferNode,t=null,n=0;if(e&&e.context==this.buffer)e:for(let o=this.index,i=this.stack.length;i>=0;){for(let s=e;s;s=s._parent)if(s.index==o){if(o==this.index)return s;t=s,n=i+1;break e}o=this.stack[--i]}for(let o=n;o<this.stack.length;o++)t=new cn(this.buffer,t,this.stack[o]);return this.bufferNode=new cn(this.buffer,t,this.index)}get tree(){return this.buffer?null:this._tree._tree}iterate(e,t){for(let n=0;;){let o=!1;if(this.type.isAnonymous||e(this)!==!1){if(this.firstChild()){n++;continue}this.type.isAnonymous||(o=!0)}for(;o&&t&&t(this),o=this.type.isAnonymous,!this.nextSibling();){if(!n)return;this.parent(),n--,o=!0}}}matchContext(e){if(!this.buffer)return Bl(this.node,e);let{buffer:t}=this.buffer,{types:n}=t.set;for(let o=e.length-1,i=this.stack.length-1;o>=0;i--){if(i<0)return Bl(this.node,e,o);let s=n[t.buffer[this.stack[i]]];if(!s.isAnonymous){if(e[o]&&e[o]!=s.name)return!1;o--}}return!0}};function Nu(r){return r.children.some(e=>e instanceof Rn||!e.type.isAnonymous||Nu(e))}function ZC(r){var e;let{buffer:t,nodeSet:n,maxBufferLength:o=1024,reused:i=[],minRepeatType:s=n.types.length}=r,l=Array.isArray(t)?new Qi(t,t.length):t,a=n.types,c=0,u=0;function h(x,S,b,C,k){let{id:E,start:R,end:N,size:O}=l,M=u;for(;O<0;)if(l.next(),O==-1){let V=i[E];b.push(V),C.push(R-x);return}else if(O==-3){c=E;return}else if(O==-4){u=E;return}else throw new RangeError(`Unrecognized record size: ${O}`);let D=a[E],F,K,A=R-x;if(N-R<=o&&(K=m(l.pos-S,k))){let V=new Uint16Array(K.size-K.skip),B=l.pos-K.size,G=V.length;for(;l.pos>B;)G=g(K.start,V,G);F=new Rn(V,N-K.start,n),A=K.start-x}else{let V=l.pos-O;l.next();let B=[],G=[],Z=E>=s?E:-1,te=0,Je=N;for(;l.pos>V;)Z>=0&&l.id==Z&&l.size>=0?(l.end<=Je-o&&(d(B,G,R,te,l.end,Je,Z,M),te=B.length,Je=l.end),l.next()):h(R,V,B,G,Z);if(Z>=0&&te>0&&te<B.length&&d(B,G,R,te,R,Je,Z,M),B.reverse(),G.reverse(),Z>-1&&te>0){let ye=f(D);F=Vu(D,B,G,0,B.length,0,N-R,ye,ye)}else F=p(D,B,G,N-R,M-N)}b.push(F),C.push(A)}function f(x){return(S,b,C)=>{let k=0,E=S.length-1,R,N;if(E>=0&&(R=S[E])instanceof ue){if(!E&&R.type==x&&R.length==C)return R;(N=R.prop(Q.lookAhead))&&(k=b[E]+R.length+N)}return p(x,S,b,C,k)}}function d(x,S,b,C,k,E,R,N){let O=[],M=[];for(;x.length>C;)O.push(x.pop()),M.push(S.pop()+b-k);x.push(p(n.types[R],O,M,E-k,N-E)),S.push(k-b)}function p(x,S,b,C,k=0,E){if(c){let R=[Q.contextHash,c];E=E?[R].concat(E):[R]}if(k>25){let R=[Q.lookAhead,k];E=E?[R].concat(E):[R]}return new ue(x,S,b,C,E)}function m(x,S){let b=l.fork(),C=0,k=0,E=0,R=b.end-o,N={size:0,start:0,skip:0};e:for(let O=b.pos-x;b.pos>O;){let M=b.size;if(b.id==S&&M>=0){N.size=C,N.start=k,N.skip=E,E+=4,C+=4,b.next();continue}let D=b.pos-M;if(M<0||D<O||b.start<R)break;let F=b.id>=s?4:0,K=b.start;for(b.next();b.pos>D;){if(b.size<0)if(b.size==-3)F+=4;else break e;else b.id>=s&&(F+=4);b.next()}k=K,C+=M,E+=F}return(S<0||C==x)&&(N.size=C,N.start=k,N.skip=E),N.size>4?N:void 0}function g(x,S,b){let{id:C,start:k,end:E,size:R}=l;if(l.next(),R>=0&&C<s){let N=b;if(R>4){let O=l.pos-(R-4);for(;l.pos>O;)b=g(x,S,b)}S[--b]=N,S[--b]=E-x,S[--b]=k-x,S[--b]=C}else R==-3?c=C:R==-4&&(u=C);return b}let y=[],v=[];for(;l.pos>0;)h(r.start||0,r.bufferStart||0,y,v,-1);let w=(e=r.length)!==null&&e!==void 0?e:y.length?v[0]+y[0].length:0;return new ue(a[r.topID],y.reverse(),v.reverse(),w)}var og=new WeakMap;function Vl(r,e){if(!r.isAnonymous||e instanceof Rn||e.type!=r)return 1;let t=og.get(e);if(t==null){t=1;for(let n of e.children){if(n.type!=r||!(n instanceof ue)){t=1;break}t+=Vl(r,n)}og.set(e,t)}return t}function Vu(r,e,t,n,o,i,s,l,a){let c=0;for(let p=n;p<o;p++)c+=Vl(r,e[p]);let u=Math.ceil(c*1.5/8),h=[],f=[];function d(p,m,g,y,v){for(let w=g;w<y;){let x=w,S=m[w],b=Vl(r,p[w]);for(w++;w<y;w++){let C=Vl(r,p[w]);if(b+C>=u)break;b+=C}if(w==x+1){if(b>u){let C=p[x];d(C.children,C.positions,0,C.children.length,m[x]+v);continue}h.push(p[x])}else{let C=m[w-1]+p[w-1].length-S;h.push(Vu(r,p,m,x,w,S,C,null,a))}f.push(S+v-i)}}return d(e,t,n,o,0),(l||a)(h,f,s)}var un=class{constructor(e,t,n,o,i=!1,s=!1){this.from=e,this.to=t,this.tree=n,this.offset=o,this.open=(i?1:0)|(s?2:0)}get openStart(){return(this.open&1)>0}get openEnd(){return(this.open&2)>0}static addTree(e,t=[],n=!1){let o=[new un(0,e.length,e,0,!1,n)];for(let i of t)i.to>e.length&&o.push(i);return o}static applyChanges(e,t,n=128){if(!t.length)return e;let o=[],i=1,s=e.length?e[0]:null;for(let l=0,a=0,c=0;;l++){let u=l<t.length?t[l]:null,h=u?u.fromA:1e9;if(h-a>=n)for(;s&&s.from<h;){let f=s;if(a>=f.from||h<=f.to||c){let d=Math.max(f.from,a)-c,p=Math.min(f.to,h)-c;f=d>=p?null:new un(d,p,f.tree,f.offset+c,l>0,!!u)}if(f&&o.push(f),s.to>h)break;s=i<e.length?e[i++]:null}if(!u)break;a=u.toA,c=u.toA-u.toB}return o}},No=class{startParse(e,t,n){return typeof e=="string"&&(e=new Ou(e)),n=n?n.length?n.map(o=>new Ji(o.from,o.to)):[new Ji(0,0)]:[new Ji(0,e.length)],this.createParse(e,t||[],n)}parse(e,t,n){let o=this.startParse(e,t,n);for(;;){let i=o.advance();if(i)return i}}},Ou=class{constructor(e){this.string=e}get length(){return this.string.length}chunk(e){return this.string.slice(e)}get lineChunks(){return!1}read(e,t){return this.string.slice(e,t)}};var L2=new Q({perNode:!0});var Fo=class{constructor(e,t,n,o,i,s,l,a,c,u=0,h){this.p=e,this.stack=t,this.state=n,this.reducePos=o,this.pos=i,this.score=s,this.buffer=l,this.bufferBase=a,this.curContext=c,this.lookAhead=u,this.parent=h}toString(){return`[${this.stack.filter((e,t)=>t%3==0).concat(this.state)}]@${this.pos}${this.score?"!"+this.score:""}`}static start(e,t,n=0){let o=e.parser.context;return new Fo(e,[],t,n,n,0,[],0,o?new Hl(o,o.start):null,0,null)}get context(){return this.curContext?this.curContext.context:null}pushState(e,t){this.stack.push(this.state,t,this.bufferBase+this.buffer.length),this.state=e}reduce(e){var t;let n=e>>19,o=e&65535,{parser:i}=this.p,s=i.dynamicPrecedence(o);if(s&&(this.score+=s),n==0){this.pushState(i.getGoto(this.state,o,!0),this.reducePos),o<i.minRepeatTerm&&this.storeNode(o,this.reducePos,this.reducePos,4,!0),this.reduceContext(o,this.reducePos);return}let l=this.stack.length-(n-1)*3-(e&262144?6:0),a=l?this.stack[l-2]:this.p.ranges[0].from,c=this.reducePos-a;c>=2e3&&!(!((t=this.p.parser.nodeSet.types[o])===null||t===void 0)&&t.isAnonymous)&&(a==this.p.lastBigReductionStart?(this.p.bigReductionCount++,this.p.lastBigReductionSize=c):this.p.lastBigReductionSize<c&&(this.p.bigReductionCount=1,this.p.lastBigReductionStart=a,this.p.lastBigReductionSize=c));let u=l?this.stack[l-1]:0,h=this.bufferBase+this.buffer.length-u;if(o<i.minRepeatTerm||e&131072){let f=i.stateFlag(this.state,1)?this.pos:this.reducePos;this.storeNode(o,a,f,h+4,!0)}if(e&262144)this.state=this.stack[l];else{let f=this.stack[l-3];this.state=i.getGoto(f,o,!0)}for(;this.stack.length>l;)this.stack.pop();this.reduceContext(o,a)}storeNode(e,t,n,o=4,i=!1){if(e==0&&(!this.stack.length||this.stack[this.stack.length-1]<this.buffer.length+this.bufferBase)){let s=this,l=this.buffer.length;if(l==0&&s.parent&&(l=s.bufferBase-s.parent.bufferBase,s=s.parent),l>0&&s.buffer[l-4]==0&&s.buffer[l-1]>-1){if(t==n)return;if(s.buffer[l-2]>=t){s.buffer[l-2]=n;return}}}if(!i||this.pos==n)this.buffer.push(e,t,n,o);else{let s=this.buffer.length;if(s>0&&this.buffer[s-4]!=0)for(;s>0&&this.buffer[s-2]>n;)this.buffer[s]=this.buffer[s-4],this.buffer[s+1]=this.buffer[s-3],this.buffer[s+2]=this.buffer[s-2],this.buffer[s+3]=this.buffer[s-1],s-=4,o>4&&(o-=4);this.buffer[s]=e,this.buffer[s+1]=t,this.buffer[s+2]=n,this.buffer[s+3]=o}}shift(e,t,n){let o=this.pos;if(e&131072)this.pushState(e&65535,this.pos);else if(e&262144)this.pos=n,this.shiftContext(t,o),t<=this.p.parser.maxNode&&this.buffer.push(t,o,n,4);else{let i=e,{parser:s}=this.p;(n>this.pos||t<=s.maxNode)&&(this.pos=n,s.stateFlag(i,1)||(this.reducePos=n)),this.pushState(i,o),this.shiftContext(t,o),t<=s.maxNode&&this.buffer.push(t,o,n,4)}}apply(e,t,n){e&65536?this.reduce(e):this.shift(e,t,n)}useNode(e,t){let n=this.p.reused.length-1;(n<0||this.p.reused[n]!=e)&&(this.p.reused.push(e),n++);let o=this.pos;this.reducePos=this.pos=o+e.length,this.pushState(t,o),this.buffer.push(n,o,this.reducePos,-1),this.curContext&&this.updateContext(this.curContext.tracker.reuse(this.curContext.context,e,this,this.p.stream.reset(this.pos-e.length)))}split(){let e=this,t=e.buffer.length;for(;t>0&&e.buffer[t-2]>e.reducePos;)t-=4;let n=e.buffer.slice(t),o=e.bufferBase+t;for(;e&&o==e.bufferBase;)e=e.parent;return new Fo(this.p,this.stack.slice(),this.state,this.reducePos,this.pos,this.score,n,o,this.curContext,this.lookAhead,e)}recoverByDelete(e,t){let n=e<=this.p.parser.maxNode;n&&this.storeNode(e,this.pos,t,4),this.storeNode(0,this.pos,t,n?8:4),this.pos=this.reducePos=t,this.score-=190}canShift(e){for(let t=new Bu(this);;){let n=this.p.parser.stateSlot(t.state,4)||this.p.parser.hasAction(t.state,e);if(n==0)return!1;if(!(n&65536))return!0;t.reduce(n)}}recoverByInsert(e){if(this.stack.length>=300)return[];let t=this.p.parser.nextStates(this.state);if(t.length>4<<1||this.stack.length>=120){let o=[];for(let i=0,s;i<t.length;i+=2)(s=t[i+1])!=this.state&&this.p.parser.hasAction(s,e)&&o.push(t[i],s);if(this.stack.length<120)for(let i=0;o.length<4<<1&&i<t.length;i+=2){let s=t[i+1];o.some((l,a)=>a&1&&l==s)||o.push(t[i],s)}t=o}let n=[];for(let o=0;o<t.length&&n.length<4;o+=2){let i=t[o+1];if(i==this.state)continue;let s=this.split();s.pushState(i,this.pos),s.storeNode(0,s.pos,s.pos,4,!0),s.shiftContext(t[o],this.pos),s.score-=200,n.push(s)}return n}forceReduce(){let{parser:e}=this.p,t=e.stateSlot(this.state,5);if(!(t&65536))return!1;if(!e.validAction(this.state,t)){let n=t>>19,o=t&65535,i=this.stack.length-n*3;if(i<0||e.getGoto(this.stack[i],o,!1)<0){let s=this.findForcedReduction();if(s==null)return!1;t=s}this.storeNode(0,this.pos,this.pos,4,!0),this.score-=100}return this.reducePos=this.pos,this.reduce(t),!0}findForcedReduction(){let{parser:e}=this.p,t=[],n=(o,i)=>{if(!t.includes(o))return t.push(o),e.allActions(o,s=>{if(!(s&393216))if(s&65536){let l=(s>>19)-i;if(l>1){let a=s&65535,c=this.stack.length-l*3;if(c>=0&&e.getGoto(this.stack[c],a,!1)>=0)return l<<19|65536|a}}else{let l=n(s,i+1);if(l!=null)return l}})};return n(this.state,0)}forceAll(){for(;!this.p.parser.stateFlag(this.state,2);)if(!this.forceReduce()){this.storeNode(0,this.pos,this.pos,4,!0);break}return this}get deadEnd(){if(this.stack.length!=3)return!1;let{parser:e}=this.p;return e.data[e.stateSlot(this.state,1)]==65535&&!e.stateSlot(this.state,4)}restart(){this.state=this.stack[0],this.stack.length=0}sameState(e){if(this.state!=e.state||this.stack.length!=e.stack.length)return!1;for(let t=0;t<this.stack.length;t+=3)if(this.stack[t]!=e.stack[t])return!1;return!0}get parser(){return this.p.parser}dialectEnabled(e){return this.p.parser.dialect.flags[e]}shiftContext(e,t){this.curContext&&this.updateContext(this.curContext.tracker.shift(this.curContext.context,e,this,this.p.stream.reset(t)))}reduceContext(e,t){this.curContext&&this.updateContext(this.curContext.tracker.reduce(this.curContext.context,e,this,this.p.stream.reset(t)))}emitContext(){let e=this.buffer.length-1;(e<0||this.buffer[e]!=-3)&&this.buffer.push(this.curContext.hash,this.pos,this.pos,-3)}emitLookAhead(){let e=this.buffer.length-1;(e<0||this.buffer[e]!=-4)&&this.buffer.push(this.lookAhead,this.pos,this.pos,-4)}updateContext(e){if(e!=this.curContext.context){let t=new Hl(this.curContext.tracker,e);t.hash!=this.curContext.hash&&this.emitContext(),this.curContext=t}}setLookAhead(e){e>this.lookAhead&&(this.emitLookAhead(),this.lookAhead=e)}close(){this.curContext&&this.curContext.tracker.strict&&this.emitContext(),this.lookAhead>0&&this.emitLookAhead()}},Hl=class{constructor(e,t){this.tracker=e,this.context=t,this.hash=e.strict?e.hash(t):0}},lg;(function(r){r[r.Insert=200]="Insert",r[r.Delete=190]="Delete",r[r.Reduce=100]="Reduce",r[r.MaxNext=4]="MaxNext",r[r.MaxInsertStackDepth=300]="MaxInsertStackDepth",r[r.DampenInsertStackDepth=120]="DampenInsertStackDepth",r[r.MinBigReduction=2e3]="MinBigReduction"})(lg||(lg={}));var Bu=class{constructor(e){this.start=e,this.state=e.state,this.stack=e.stack,this.base=this.stack.length}reduce(e){let t=e&65535,n=e>>19;n==0?(this.stack==this.start.stack&&(this.stack=this.stack.slice()),this.stack.push(this.state,0,0),this.base+=3):this.base-=(n-1)*3;let o=this.start.p.parser.getGoto(this.stack[this.base-3],t,!0);this.state=o}},Bo=class{constructor(e,t,n){this.stack=e,this.pos=t,this.index=n,this.buffer=e.buffer,this.index==0&&this.maybeNext()}static create(e,t=e.bufferBase+e.buffer.length){return new Bo(e,t,t-e.bufferBase)}maybeNext(){let e=this.stack.parent;e!=null&&(this.index=this.stack.bufferBase-e.bufferBase,this.stack=e,this.buffer=e.buffer)}get id(){return this.buffer[this.index-4]}get start(){return this.buffer[this.index-3]}get end(){return this.buffer[this.index-2]}get size(){return this.buffer[this.index-1]}next(){this.index-=4,this.pos-=4,this.index==0&&this.maybeNext()}fork(){return new Bo(this.stack,this.pos,this.index)}};function Yi(r,e=Uint16Array){if(typeof r!="string")return r;let t=null;for(let n=0,o=0;n<r.length;){let i=0;for(;;){let s=r.charCodeAt(n++),l=!1;if(s==126){i=65535;break}s>=92&&s--,s>=34&&s--;let a=s-32;if(a>=46&&(a-=46,l=!0),i+=a,l)break;i*=46}t?t[o++]=i:t=new e(i)}return t}var Vo=class{constructor(){this.start=-1,this.value=-1,this.end=-1,this.extended=-1,this.lookAhead=0,this.mask=0,this.context=0}},ag=new Vo,Hu=class{constructor(e,t){this.input=e,this.ranges=t,this.chunk="",this.chunkOff=0,this.chunk2="",this.chunk2Pos=0,this.next=-1,this.token=ag,this.rangeIndex=0,this.pos=this.chunkPos=t[0].from,this.range=t[0],this.end=t[t.length-1].to,this.readNext()}resolveOffset(e,t){let n=this.range,o=this.rangeIndex,i=this.pos+e;for(;i<n.from;){if(!o)return null;let s=this.ranges[--o];i-=n.from-s.to,n=s}for(;t<0?i>n.to:i>=n.to;){if(o==this.ranges.length-1)return null;let s=this.ranges[++o];i+=s.from-n.to,n=s}return i}clipPos(e){if(e>=this.range.from&&e<this.range.to)return e;for(let t of this.ranges)if(t.to>e)return Math.max(e,t.from);return this.end}peek(e){let t=this.chunkOff+e,n,o;if(t>=0&&t<this.chunk.length)n=this.pos+e,o=this.chunk.charCodeAt(t);else{let i=this.resolveOffset(e,1);if(i==null)return-1;if(n=i,n>=this.chunk2Pos&&n<this.chunk2Pos+this.chunk2.length)o=this.chunk2.charCodeAt(n-this.chunk2Pos);else{let s=this.rangeIndex,l=this.range;for(;l.to<=n;)l=this.ranges[++s];this.chunk2=this.input.chunk(this.chunk2Pos=n),n+this.chunk2.length>l.to&&(this.chunk2=this.chunk2.slice(0,l.to-n)),o=this.chunk2.charCodeAt(0)}}return n>=this.token.lookAhead&&(this.token.lookAhead=n+1),o}acceptToken(e,t=0){let n=t?this.resolveOffset(t,-1):this.pos;if(n==null||n<this.token.start)throw new RangeError("Token end out of bounds");this.token.value=e,this.token.end=n}getChunk(){if(this.pos>=this.chunk2Pos&&this.pos<this.chunk2Pos+this.chunk2.length){let{chunk:e,chunkPos:t}=this;this.chunk=this.chunk2,this.chunkPos=this.chunk2Pos,this.chunk2=e,this.chunk2Pos=t,this.chunkOff=this.pos-this.chunkPos}else{this.chunk2=this.chunk,this.chunk2Pos=this.chunkPos;let e=this.input.chunk(this.pos),t=this.pos+e.length;this.chunk=t>this.range.to?e.slice(0,this.range.to-this.pos):e,this.chunkPos=this.pos,this.chunkOff=0}}readNext(){return this.chunkOff>=this.chunk.length&&(this.getChunk(),this.chunkOff==this.chunk.length)?this.next=-1:this.next=this.chunk.charCodeAt(this.chunkOff)}advance(e=1){for(this.chunkOff+=e;this.pos+e>=this.range.to;){if(this.rangeIndex==this.ranges.length-1)return this.setDone();e-=this.range.to-this.pos,this.range=this.ranges[++this.rangeIndex],this.pos=this.range.from}return this.pos+=e,this.pos>=this.token.lookAhead&&(this.token.lookAhead=this.pos+1),this.readNext()}setDone(){return this.pos=this.chunkPos=this.end,this.range=this.ranges[this.rangeIndex=this.ranges.length-1],this.chunk="",this.next=-1}reset(e,t){if(t?(this.token=t,t.start=e,t.lookAhead=e+1,t.value=t.extended=-1):this.token=ag,this.pos!=e){if(this.pos=e,e==this.end)return this.setDone(),this;for(;e<this.range.from;)this.range=this.ranges[--this.rangeIndex];for(;e>=this.range.to;)this.range=this.ranges[++this.rangeIndex];e>=this.chunkPos&&e<this.chunkPos+this.chunk.length?this.chunkOff=e-this.chunkPos:(this.chunk="",this.chunkOff=0),this.readNext()}return this}read(e,t){if(e>=this.chunkPos&&t<=this.chunkPos+this.chunk.length)return this.chunk.slice(e-this.chunkPos,t-this.chunkPos);if(e>=this.chunk2Pos&&t<=this.chunk2Pos+this.chunk2.length)return this.chunk2.slice(e-this.chunk2Pos,t-this.chunk2Pos);if(e>=this.range.from&&t<=this.range.to)return this.input.read(e,t);let n="";for(let o of this.ranges){if(o.from>=t)break;o.to>e&&(n+=this.input.read(Math.max(o.from,e),Math.min(o.to,t)))}return n}},tr=class{constructor(e,t){this.data=e,this.id=t}token(e,t){let{parser:n}=t.p;mg(this.data,e,t,this.id,n.data,n.tokenPrecTable)}};tr.prototype.contextual=tr.prototype.fallback=tr.prototype.extend=!1;var _u=class{constructor(e,t,n){this.precTable=t,this.elseToken=n,this.data=typeof e=="string"?Yi(e):e}token(e,t){let n=e.pos,o=0;for(;;){let i=e.next<0,s=e.resolveOffset(1,1);if(mg(this.data,e,t,0,this.data,this.precTable),e.token.value>-1)break;if(this.elseToken==null)return;if(i||o++,s==null)break;e.reset(s,e.token)}o&&(e.reset(n,e.token),e.acceptToken(this.elseToken,o))}};_u.prototype.contextual=tr.prototype.fallback=tr.prototype.extend=!1;function mg(r,e,t,n,o,i){let s=0,l=1<<n,{dialect:a}=t.p.parser;e:for(;l&r[s];){let c=r[s+1];for(let d=s+3;d<c;d+=2)if((r[d+1]&l)>0){let p=r[d];if(a.allows(p)&&(e.token.value==-1||e.token.value==p||tT(p,e.token.value,o,i))){e.acceptToken(p);break}}let u=e.next,h=0,f=r[s+2];if(e.next<0&&f>h&&r[c+f*3-3]==65535&&r[c+f*3-3]==65535){s=r[c+f*3-1];continue e}for(;h<f;){let d=h+f>>1,p=c+d+(d<<1),m=r[p],g=r[p+1]||65536;if(u<m)f=d;else if(u>=g)h=d+1;else{s=r[p+2],e.advance();continue e}}break}}function cg(r,e,t){for(let n=e,o;(o=r[n])!=65535;n++)if(o==t)return n-e;return-1}function tT(r,e,t,n){let o=cg(t,n,e);return o<0||cg(t,n,r)<o}var Zt=typeof process<"u"&&process.env&&/\bparse\b/.test(process.env.LOG),Fu=null,ug;(function(r){r[r.Margin=25]="Margin"})(ug||(ug={}));function hg(r,e,t){let n=r.cursor(Ce.IncludeAnonymous);for(n.moveTo(e);;)if(!(t<0?n.childBefore(e):n.childAfter(e)))for(;;){if((t<0?n.to<e:n.from>e)&&!n.type.isError)return t<0?Math.max(0,Math.min(n.to-1,e-25)):Math.min(r.length,Math.max(n.from+1,e+25));if(t<0?n.prevSibling():n.nextSibling())break;if(!n.parent())return t<0?0:r.length}}var zu=class{constructor(e,t){this.fragments=e,this.nodeSet=t,this.i=0,this.fragment=null,this.safeFrom=-1,this.safeTo=-1,this.trees=[],this.start=[],this.index=[],this.nextFragment()}nextFragment(){let e=this.fragment=this.i==this.fragments.length?null:this.fragments[this.i++];if(e){for(this.safeFrom=e.openStart?hg(e.tree,e.from+e.offset,1)-e.offset:e.from,this.safeTo=e.openEnd?hg(e.tree,e.to+e.offset,-1)-e.offset:e.to;this.trees.length;)this.trees.pop(),this.start.pop(),this.index.pop();this.trees.push(e.tree),this.start.push(-e.offset),this.index.push(0),this.nextStart=this.safeFrom}else this.nextStart=1e9}nodeAt(e){if(e<this.nextStart)return null;for(;this.fragment&&this.safeTo<=e;)this.nextFragment();if(!this.fragment)return null;for(;;){let t=this.trees.length-1;if(t<0)return this.nextFragment(),null;let n=this.trees[t],o=this.index[t];if(o==n.children.length){this.trees.pop(),this.start.pop(),this.index.pop();continue}let i=n.children[o],s=this.start[t]+n.positions[o];if(s>e)return this.nextStart=s,null;if(i instanceof ue){if(s==e){if(s<this.safeFrom)return null;let l=s+i.length;if(l<=this.safeTo){let a=i.prop(Q.lookAhead);if(!a||l+a<this.fragment.to)return i}}this.index[t]++,s+i.length>=Math.max(this.safeFrom,e)&&(this.trees.push(i),this.start.push(s),this.index.push(0))}else this.index[t]++,this.nextStart=s+i.length}}},Wu=class{constructor(e,t){this.stream=t,this.tokens=[],this.mainToken=null,this.actions=[],this.tokens=e.tokenizers.map(n=>new Vo)}getActions(e){let t=0,n=null,{parser:o}=e.p,{tokenizers:i}=o,s=o.stateSlot(e.state,3),l=e.curContext?e.curContext.hash:0,a=0;for(let c=0;c<i.length;c++){if(!(1<<c&s))continue;let u=i[c],h=this.tokens[c];if(!(n&&!u.fallback)&&((u.contextual||h.start!=e.pos||h.mask!=s||h.context!=l)&&(this.updateCachedToken(h,u,e),h.mask=s,h.context=l),h.lookAhead>h.end+25&&(a=Math.max(h.lookAhead,a)),h.value!=0)){let f=t;if(h.extended>-1&&(t=this.addActions(e,h.extended,h.end,t)),t=this.addActions(e,h.value,h.end,t),!u.extend&&(n=h,t>f))break}}for(;this.actions.length>t;)this.actions.pop();return a&&e.setLookAhead(a),!n&&e.pos==this.stream.end&&(n=new Vo,n.value=e.p.parser.eofTerm,n.start=n.end=e.pos,t=this.addActions(e,n.value,n.end,t)),this.mainToken=n,this.actions}getMainToken(e){if(this.mainToken)return this.mainToken;let t=new Vo,{pos:n,p:o}=e;return t.start=n,t.end=Math.min(n+1,o.stream.end),t.value=n==o.stream.end?o.parser.eofTerm:0,t}updateCachedToken(e,t,n){let o=this.stream.clipPos(n.pos);if(t.token(this.stream.reset(o,e),n),e.value>-1){let{parser:i}=n.p;for(let s=0;s<i.specialized.length;s++)if(i.specialized[s]==e.value){let l=i.specializers[s](this.stream.read(e.start,e.end),n);if(l>=0&&n.p.parser.dialect.allows(l>>1)){l&1?e.extended=l>>1:e.value=l>>1;break}}}else e.value=0,e.end=this.stream.clipPos(o+1)}putAction(e,t,n,o){for(let i=0;i<o;i+=3)if(this.actions[i]==e)return o;return this.actions[o++]=e,this.actions[o++]=t,this.actions[o++]=n,o}addActions(e,t,n,o){let{state:i}=e,{parser:s}=e.p,{data:l}=s;for(let a=0;a<2;a++)for(let c=s.stateSlot(i,a?2:1);;c+=3){if(l[c]==65535)if(l[c+1]==1)c=In(l,c+2);else{o==0&&l[c+1]==2&&(o=this.putAction(In(l,c+2),t,n,o));break}l[c]==t&&(o=this.putAction(In(l,c+1),t,n,o))}return o}},fg;(function(r){r[r.Distance=5]="Distance",r[r.MaxRemainingPerStep=3]="MaxRemainingPerStep",r[r.MinBufferLengthPrune=500]="MinBufferLengthPrune",r[r.ForceReduceLimit=10]="ForceReduceLimit",r[r.CutDepth=15e3]="CutDepth",r[r.CutTo=9e3]="CutTo",r[r.MaxLeftAssociativeReductionCount=300]="MaxLeftAssociativeReductionCount",r[r.MaxStackCount=12]="MaxStackCount"})(fg||(fg={}));var $u=class{constructor(e,t,n,o){this.parser=e,this.input=t,this.ranges=o,this.recovering=0,this.nextStackID=9812,this.minStackPos=0,this.reused=[],this.stoppedAt=null,this.lastBigReductionStart=-1,this.lastBigReductionSize=0,this.bigReductionCount=0,this.stream=new Hu(t,o),this.tokens=new Wu(e,this.stream),this.topTerm=e.top[1];let{from:i}=o[0];this.stacks=[Fo.start(this,e.top[0],i)],this.fragments=n.length&&this.stream.end-i>e.bufferLength*4?new zu(n,e.nodeSet):null}get parsedPos(){return this.minStackPos}advance(){let e=this.stacks,t=this.minStackPos,n=this.stacks=[],o,i;if(this.bigReductionCount>300&&e.length==1){let[s]=e;for(;s.forceReduce()&&s.stack.length&&s.stack[s.stack.length-2]>=this.lastBigReductionStart;);this.bigReductionCount=this.lastBigReductionSize=0}for(let s=0;s<e.length;s++){let l=e[s];for(;;){if(this.tokens.mainToken=null,l.pos>t)n.push(l);else{if(this.advanceStack(l,n,e))continue;{o||(o=[],i=[]),o.push(l);let a=this.tokens.getMainToken(l);i.push(a.value,a.end)}}break}}if(!n.length){let s=o&&nT(o);if(s)return this.stackToTree(s);if(this.parser.strict)throw Zt&&o&&console.log("Stuck with token "+(this.tokens.mainToken?this.parser.getName(this.tokens.mainToken.value):"none")),new SyntaxError("No parse at "+t);this.recovering||(this.recovering=5)}if(this.recovering&&o){let s=this.stoppedAt!=null&&o[0].pos>this.stoppedAt?o[0]:this.runRecovery(o,i,n);if(s)return this.stackToTree(s.forceAll())}if(this.recovering){let s=this.recovering==1?1:this.recovering*3;if(n.length>s)for(n.sort((l,a)=>a.score-l.score);n.length>s;)n.pop();n.some(l=>l.reducePos>t)&&this.recovering--}else if(n.length>1){e:for(let s=0;s<n.length-1;s++){let l=n[s];for(let a=s+1;a<n.length;a++){let c=n[a];if(l.sameState(c)||l.buffer.length>500&&c.buffer.length>500)if((l.score-c.score||l.buffer.length-c.buffer.length)>0)n.splice(a--,1);else{n.splice(s--,1);continue e}}}n.length>12&&n.splice(12,n.length-12)}this.minStackPos=n[0].pos;for(let s=1;s<n.length;s++)n[s].pos<this.minStackPos&&(this.minStackPos=n[s].pos);return null}stopAt(e){if(this.stoppedAt!=null&&this.stoppedAt<e)throw new RangeError("Can't move stoppedAt forward");this.stoppedAt=e}advanceStack(e,t,n){let o=e.pos,{parser:i}=this,s=Zt?this.stackID(e)+" -> ":"";if(this.stoppedAt!=null&&o>this.stoppedAt)return e.forceReduce()?e:null;if(this.fragments){let c=e.curContext&&e.curContext.tracker.strict,u=c?e.curContext.hash:0;for(let h=this.fragments.nodeAt(o);h;){let f=this.parser.nodeSet.types[h.type.id]==h.type?i.getGoto(e.state,h.type.id):-1;if(f>-1&&h.length&&(!c||(h.prop(Q.contextHash)||0)==u))return e.useNode(h,f),Zt&&console.log(s+this.stackID(e)+` (via reuse of ${i.getName(h.type.id)})`),!0;if(!(h instanceof ue)||h.children.length==0||h.positions[0]>0)break;let d=h.children[0];if(d instanceof ue&&h.positions[0]==0)h=d;else break}}let l=i.stateSlot(e.state,4);if(l>0)return e.reduce(l),Zt&&console.log(s+this.stackID(e)+` (via always-reduce ${i.getName(l&65535)})`),!0;if(e.stack.length>=15e3)for(;e.stack.length>9e3&&e.forceReduce(););let a=this.tokens.getActions(e);for(let c=0;c<a.length;){let u=a[c++],h=a[c++],f=a[c++],d=c==a.length||!n,p=d?e:e.split();if(p.apply(u,h,f),Zt&&console.log(s+this.stackID(p)+` (via ${u&65536?`reduce of ${i.getName(u&65535)}`:"shift"} for ${i.getName(h)} @ ${o}${p==e?"":", split"})`),d)return!0;p.pos>o?t.push(p):n.push(p)}return!1}advanceFully(e,t){let n=e.pos;for(;;){if(!this.advanceStack(e,null,null))return!1;if(e.pos>n)return dg(e,t),!0}}runRecovery(e,t,n){let o=null,i=!1;for(let s=0;s<e.length;s++){let l=e[s],a=t[s<<1],c=t[(s<<1)+1],u=Zt?this.stackID(l)+" -> ":"";if(l.deadEnd&&(i||(i=!0,l.restart(),Zt&&console.log(u+this.stackID(l)+" (restarted)"),this.advanceFully(l,n))))continue;let h=l.split(),f=u;for(let d=0;h.forceReduce()&&d<10&&(Zt&&console.log(f+this.stackID(h)+" (via force-reduce)"),!this.advanceFully(h,n));d++)Zt&&(f=this.stackID(h)+" -> ");for(let d of l.recoverByInsert(a))Zt&&console.log(u+this.stackID(d)+" (via recover-insert)"),this.advanceFully(d,n);this.stream.end>l.pos?(c==l.pos&&(c++,a=0),l.recoverByDelete(a,c),Zt&&console.log(u+this.stackID(l)+` (via recover-delete ${this.parser.getName(a)})`),dg(l,n)):(!o||o.score<l.score)&&(o=l)}return o}stackToTree(e){return e.close(),ue.build({buffer:Bo.create(e),nodeSet:this.parser.nodeSet,topID:this.topTerm,maxBufferLength:this.parser.bufferLength,reused:this.reused,start:this.ranges[0].from,length:e.pos-this.ranges[0].from,minRepeatType:this.parser.minRepeatTerm})}stackID(e){let t=(Fu||(Fu=new WeakMap)).get(e);return t||Fu.set(e,t=String.fromCodePoint(this.nextStackID++)),t+e}};function dg(r,e){for(let t=0;t<e.length;t++){let n=e[t];if(n.pos==r.pos&&n.sameState(r)){e[t].score<r.score&&(e[t]=r);return}}e.push(r)}var Uu=class{constructor(e,t,n){this.source=e,this.flags=t,this.disabled=n}allows(e){return!this.disabled||this.disabled[e]==0}};var Br=class extends No{constructor(e){if(super(),this.wrappers=[],e.version!=14)throw new RangeError(`Parser version (${e.version}) doesn't match runtime version (14)`);let t=e.nodeNames.split(" ");this.minRepeatTerm=t.length;for(let l=0;l<e.repeatNodeCount;l++)t.push("");let n=Object.keys(e.topRules).map(l=>e.topRules[l][1]),o=[];for(let l=0;l<t.length;l++)o.push([]);function i(l,a,c){o[l].push([a,a.deserialize(String(c))])}if(e.nodeProps)for(let l of e.nodeProps){let a=l[0];typeof a=="string"&&(a=Q[a]);for(let c=1;c<l.length;){let u=l[c++];if(u>=0)i(u,a,l[c++]);else{let h=l[c+-u];for(let f=-u;f>0;f--)i(l[c++],a,h);c++}}}this.nodeSet=new Fr(t.map((l,a)=>Ne.define({name:a>=this.minRepeatTerm?void 0:l,id:a,props:o[a],top:n.indexOf(a)>-1,error:a==0,skipped:e.skippedNodes&&e.skippedNodes.indexOf(a)>-1}))),e.propSources&&(this.nodeSet=this.nodeSet.extend(...e.propSources)),this.strict=!1,this.bufferLength=1024;let s=Yi(e.tokenData);this.context=e.context,this.specializerSpecs=e.specialized||[],this.specialized=new Uint16Array(this.specializerSpecs.length);for(let l=0;l<this.specializerSpecs.length;l++)this.specialized[l]=this.specializerSpecs[l].term;this.specializers=this.specializerSpecs.map(pg),this.states=Yi(e.states,Uint32Array),this.data=Yi(e.stateData),this.goto=Yi(e.goto),this.maxTerm=e.maxTerm,this.tokenizers=e.tokenizers.map(l=>typeof l=="number"?new tr(s,l):l),this.topRules=e.topRules,this.dialects=e.dialects||{},this.dynamicPrecedences=e.dynamicPrecedences||null,this.tokenPrecTable=e.tokenPrec,this.termNames=e.termNames||null,this.maxNode=this.nodeSet.types.length-1,this.dialect=this.parseDialect(),this.top=this.topRules[Object.keys(this.topRules)[0]]}createParse(e,t,n){let o=new $u(this,e,t,n);for(let i of this.wrappers)o=i(o,e,t,n);return o}getGoto(e,t,n=!1){let o=this.goto;if(t>=o[0])return-1;for(let i=o[t+1];;){let s=o[i++],l=s&1,a=o[i++];if(l&&n)return a;for(let c=i+(s>>1);i<c;i++)if(o[i]==e)return a;if(l)return-1}}hasAction(e,t){let n=this.data;for(let o=0;o<2;o++)for(let i=this.stateSlot(e,o?2:1),s;;i+=3){if((s=n[i])==65535)if(n[i+1]==1)s=n[i=In(n,i+2)];else{if(n[i+1]==2)return In(n,i+2);break}if(s==t||s==0)return In(n,i+1)}return 0}stateSlot(e,t){return this.states[e*6+t]}stateFlag(e,t){return(this.stateSlot(e,0)&t)>0}validAction(e,t){return!!this.allActions(e,n=>n==t?!0:null)}allActions(e,t){let n=this.stateSlot(e,4),o=n?t(n):void 0;for(let i=this.stateSlot(e,1);o==null;i+=3){if(this.data[i]==65535)if(this.data[i+1]==1)i=In(this.data,i+2);else break;o=t(In(this.data,i+1))}return o}nextStates(e){let t=[];for(let n=this.stateSlot(e,1);;n+=3){if(this.data[n]==65535)if(this.data[n+1]==1)n=In(this.data,n+2);else break;if(!(this.data[n+2]&1)){let o=this.data[n+1];t.some((i,s)=>s&1&&i==o)||t.push(this.data[n],o)}}return t}configure(e){let t=Object.assign(Object.create(Br.prototype),this);if(e.props&&(t.nodeSet=this.nodeSet.extend(...e.props)),e.top){let n=this.topRules[e.top];if(!n)throw new RangeError(`Invalid top rule name ${e.top}`);t.top=n}return e.tokenizers&&(t.tokenizers=this.tokenizers.map(n=>{let o=e.tokenizers.find(i=>i.from==n);return o?o.to:n})),e.specializers&&(t.specializers=this.specializers.slice(),t.specializerSpecs=this.specializerSpecs.map((n,o)=>{let i=e.specializers.find(l=>l.from==n.external);if(!i)return n;let s=Object.assign(Object.assign({},n),{external:i.to});return t.specializers[o]=pg(s),s})),e.contextTracker&&(t.context=e.contextTracker),e.dialect&&(t.dialect=this.parseDialect(e.dialect)),e.strict!=null&&(t.strict=e.strict),e.wrap&&(t.wrappers=t.wrappers.concat(e.wrap)),e.bufferLength!=null&&(t.bufferLength=e.bufferLength),t}hasWrappers(){return this.wrappers.length>0}getName(e){return this.termNames?this.termNames[e]:String(e<=this.maxNode&&this.nodeSet.types[e].name||e)}get eofTerm(){return this.maxNode+1}get topNode(){return this.nodeSet.types[this.top[1]]}dynamicPrecedence(e){let t=this.dynamicPrecedences;return t==null?0:t[e]||0}parseDialect(e){let t=Object.keys(this.dialects),n=t.map(()=>!1);if(e)for(let i of e.split(" ")){let s=t.indexOf(i);s>=0&&(n[s]=!0)}let o=null;for(let i=0;i<t.length;i++)if(!n[i])for(let s=this.dialects[t[i]],l;(l=this.data[s++])!=65535;)(o||(o=new Uint8Array(this.maxTerm+1)))[l]=1;return new Uu(e,n,o)}static deserialize(e){return new Br(e)}};function In(r,e){return r[e]|r[e+1]<<16}function nT(r){let e=null;for(let t of r){let n=t.p.stoppedAt;(t.pos==t.p.stream.end||n!=null&&t.pos>n)&&t.p.parser.stateFlag(t.state,2)&&(!e||e.score<t.score)&&(e=t)}return e}function pg(r){if(r.external){let e=r.extend?1:0;return(t,n)=>r.external(t,n)<<1|e}return r.get}var Xi=Br.deserialize({version:14,states:"%QOVQPOOOOQO'#C_'#C_O_QQO'#C^OOQO'#DO'#DOOvQQO'#C|OOQO'#DR'#DROVQPO'#CuOOQO'#C}'#C}QOQPOOOOQO'#C`'#C`O!UQQO,58xO!dQPO,59VOVQPO,59]OVQPO,59_O!iQPO,59hO!nQQO,59aOOQO'#DQ'#DQOOQO1G.d1G.dO!UQQO1G.qO!yQQO1G.wOOQO1G.y1G.yOOQO'#Cw'#CwOOQO1G/S1G/SOOQO1G.{1G.{O#[QPO'#CnO#dQPO7+$]O!UQQO'#CxO#iQPO,59YOOQO<<Gw<<GwOOQO,59d,59dOOQO-E6v-E6v",stateData:"#q~OoOS~OsPOvUO~OTXOUXOVXOWXOXXOYXO`ZO~Of[Oh]Oj^OmpX~OZ`O[`O]`O^`O~OabO~OseO~Of[Oh]OwgO~Oh]Ofeijeimeiwei~OcjOdbX~OdlO~OcjOdba~O",goto:"#YvPPw}!TPPPPPPPPPPwPP!WPP!ZP!ZP!aP!g!jPPP!p!s!aP#P!aXROU[]XQOU[]RYQRibXTOU[]XVOU[]Rf^QkhRnkRWOQSOQ_UQc[Rd]QaYQhbRmj",nodeNames:"\u26A0 Filter ColumnValueExpression Column Operator Eq NotEq Gt Lt Starts Ends Number String True False ColumnSetExpression In LBrack Values Comma RBrack AndExpression And OrExpression Or ParenthesizedExpression As FilterName",maxTerm:39,skippedNodes:[0],repeatNodeCount:1,tokenData:"6p~RnXY#PYZ#P]^#Ppq#Pqr#brs#mxy$eyz$j|}$o!O!P$t!Q![%S!^!_%_!_!`%d!`!a%i!c!}%n!}#O&V#P#Q&[#R#S%n#T#U&a#U#X%n#X#Y(w#Y#Z+]#Z#]%n#]#^.]#^#c%n#c#d/e#d#g%n#g#h0m#h#i4[#i#o%n~#USo~XY#PYZ#P]^#Ppq#P~#eP!_!`#h~#mOU~~#pWOX#mZ]#m^r#mrs$Ys#O#m#P;'S#m;'S;=`$_<%lO#m~$_O[~~$bP;=`<%l#m~$jOv~~$oOw~~$tOc~~$wP!Q![$z~%PPZ~!Q![$z~%XQZ~!O!P$t!Q![%S~%dOW~~%iOT~~%nOV~P%sUsP}!O%n!O!P%n!Q![%n!c!}%n#R#S%n#T#o%n~&[Oa~~&aOd~R&fYsP}!O%n!O!P%n!Q![%n!c!}%n#R#S%n#T#b%n#b#c'U#c#g%n#g#h(^#h#o%nR'ZWsP}!O%n!O!P%n!Q![%n!c!}%n#R#S%n#T#W%n#W#X's#X#o%nR'zUfQsP}!O%n!O!P%n!Q![%n!c!}%n#R#S%n#T#o%nR(eUjQsP}!O%n!O!P%n!Q![%n!c!}%n#R#S%n#T#o%nR(|WsP}!O%n!O!P%n!Q![%n!c!}%n#R#S%n#T#b%n#b#c)f#c#o%nR)kWsP}!O%n!O!P%n!Q![%n!c!}%n#R#S%n#T#W%n#W#X*T#X#o%nR*YWsP}!O%n!O!P%n!Q![%n!c!}%n#R#S%n#T#g%n#g#h*r#h#o%nR*yUYQsP}!O%n!O!P%n!Q![%n!c!}%n#R#S%n#T#o%nR+bVsP}!O%n!O!P%n!Q![%n!c!}%n#R#S%n#T#U+w#U#o%nR+|WsP}!O%n!O!P%n!Q![%n!c!}%n#R#S%n#T#`%n#`#a,f#a#o%nR,kWsP}!O%n!O!P%n!Q![%n!c!}%n#R#S%n#T#g%n#g#h-T#h#o%nR-YWsP}!O%n!O!P%n!Q![%n!c!}%n#R#S%n#T#X%n#X#Y-r#Y#o%nR-yU^QsP}!O%n!O!P%n!Q![%n!c!}%n#R#S%n#T#o%nR.bWsP}!O%n!O!P%n!Q![%n!c!}%n#R#S%n#T#b%n#b#c.z#c#o%nR/RU`QsP}!O%n!O!P%n!Q![%n!c!}%n#R#S%n#T#o%nR/jWsP}!O%n!O!P%n!Q![%n!c!}%n#R#S%n#T#f%n#f#g0S#g#o%nR0ZUhQsP}!O%n!O!P%n!Q![%n!c!}%n#R#S%n#T#o%nR0rWsP}!O%n!O!P%n!Q![%n!c!}%n#R#S%n#T#h%n#h#i1[#i#o%nR1aVsP}!O%n!O!P%n!Q![%n!c!}%n#R#S%n#T#U1v#U#o%nR1{WsP}!O%n!O!P%n!Q![%n!c!}%n#R#S%n#T#f%n#f#g2e#g#o%nR2jWsP}!O%n!O!P%n!Q![%n!c!}%n#R#S%n#T#h%n#h#i3S#i#o%nR3XWsP}!O%n!O!P%n!Q![%n!c!}%n#R#S%n#T#g%n#g#h3q#h#o%nR3xUXQsP}!O%n!O!P%n!Q![%n!c!}%n#R#S%n#T#o%nR4aWsP}!O%n!O!P%n!Q![%n!c!}%n#R#S%n#T#f%n#f#g4y#g#o%nR5OWsP}!O%n!O!P%n!Q![%n!c!}%n#R#S%n#T#i%n#i#j5h#j#o%nR5mWsP}!O%n!O!P%n!Q![%n!c!}%n#R#S%n#T#X%n#X#Y6V#Y#o%nR6^U]QsP}!O%n!O!P%n!Q![%n!c!}%n#R#S%n#T#o%n",tokenizers:[0,1],topRules:{Filter:[0,1]},tokenPrec:0});var hn=require("@vuu-ui/vuu-utils");var ct,Gu=class{constructor(){ne(this,ct,void 0)}setFilterCombinatorOp(e,t=T(this,ct)){(0,hn.isMultiClauseFilter)(t)&&t.op===e||W(this,ct,{op:e,filters:[T(this,ct)]})}add(e){if(T(this,ct)===void 0)W(this,ct,e);else if((0,hn.isMultiClauseFilter)(T(this,ct)))T(this,ct).filters.push(e);else throw Error("Invalid filter passed to FilterExpression")}setColumn(e,t=T(this,ct)){if((0,hn.isMultiClauseFilter)(t)){let n=t.filters.at(-1);n&&this.setColumn(e,n)}else t&&(t.column=e)}setOp(e,t=T(this,ct)){if((0,hn.isMultiClauseFilter)(t)){let n=t.filters.at(-1);n&&this.setOp(e,n)}else t&&(t.op=e)}setValue(e,t=T(this,ct)){var n;if((0,hn.isMultiClauseFilter)(t)){let o=t.filters.at(-1);o&&this.setValue(e,o)}else(0,hn.isMultiValueFilter)(t)?((n=t.values)!=null||(t.values=[]),t.values.push(e)):(0,hn.isSingleValueFilter)(t)&&(t.value=e)}toJSON(e=T(this,ct)){return this.name?{...e,name:this.name}:e}};ct=new WeakMap;var _l=(r,e)=>{let t=new Gu,n=r.cursor();do{let{name:o,from:i,to:s}=n;switch(o){case"ColumnValueExpression":t.add({});break;case"ColumnSetExpression":t.add({op:"in"});break;case"Or":case"And":t.setFilterCombinatorOp(e.substring(i,s));break;case"Column":t.setColumn(e.substring(i,s));break;case"Operator":t.setOp(e.substring(i,s));break;case"String":t.setValue(e.substring(i+1,s-1));break;case"Number":t.setValue(parseFloat(e.substring(i,s)));break;case"True":t.setValue(!0);break;case"False":t.setValue(!1);break;case"FilterName":t.name=e.substring(i,s);break;default:}}while(n.next());return t.toJSON()};var rT=Xi.configure({strict:!0}),Hr=r=>{let e=rT.parse(r);return _l(e,r)};function zl(r,e){switch(e.op){case"in":return oT(r,e);case"=":return iT(r,e);case">":return sT(r,e);case">=":return lT(r,e);case"<":return aT(r,e);case"<=":return cT(r,e);case"starts":return uT(r,e);case"and":return hT(r,e);case"or":return fT(r,e);default:return console.log(`unrecognized filter type ${e.op}`),()=>!0}}var oT=(r,e)=>t=>e.values.indexOf(t[r[e.column]])!==-1,iT=(r,e)=>t=>t[r[e.column]]===e.value,sT=(r,e)=>t=>t[r[e.column]]>e.value,lT=(r,e)=>t=>t[r[e.column]]>=e.value,aT=(r,e)=>t=>t[r[e.column]]<e.value,cT=(r,e)=>t=>t[r[e.column]]<=e.value,uT=(r,e)=>{let t=e.value;if(typeof t!="string")throw Error("string filter applied to value of wrong type");return n=>{let o=n[r[e.column]];if(typeof o!="string")throw Error("string filter applied to value of wrong type");return o.toLowerCase().startsWith(t.toLowerCase())}},hT=(r,e)=>{let t=e.filters.map(n=>zl(r,n));return n=>t.every(o=>o(n))};function fT(r,e){let t=e.filters.map(n=>zl(r,n));return n=>t.some(o=>o(n))}var le=require("@vuu-ui/vuu-utils");var gg=(r,e,t,n,o,i)=>{let s=_r(o,r),l=r[r.length-1].aggType,a=t.map(c=>o[c]);switch(l){case 1:return bg(i,n,o,r,e,a);case 2:return dT(i,n,o,r,e,a);case 3:return yg(i,o,r,e,a);case 4:return mT(i,n,o,r,e,a);case 5:return gT(i,n,o,r,e,a);case 6:return pT(i,n,o,r,e,a)}};function yg(r,e,t,n,o){let i={},s=_r(e,t);function l(a){if(Array.isArray(a))return a.length;{let c=0;for(let u in a)c+=1+l(a[u]);return c}}for(let a in r){let c=l(r[a]);i[a]=c}for(let a=0;a<n.length;a++)for(let c in i)n[a][o[0]]===c&&(n[a][s]=i[c]);return console.log("!!!! targetData",n),console.log("!!!! counts",i),i}function _r(r,e){console.log("!!!! aggregation length",e.length);let t=e[e.length-1].column;return r[t]}function bg(r,e,t,n,o,i){let s={},l=_r(t,n);function a(c,u,h){if(Array.isArray(c)){let f=0;for(let d of c)f+=Number(u[d][h]);return f}else{let f=0;for(let d in c)f+=a(c[d],u,h);return f}}for(let c in r){console.log(c);let u=Number(a(r[c],e,l));s[c]=u}for(let c=0;c<o.length;c++)for(let u in s)o[c][i[0]]===u&&(o[c][l]=s[u]);return console.log("!!!! targetData",o),console.log("!!!! sums",s),s}function dT(r,e,t,n,o,i){let s={},l=_r(t,n),a=yg(r,t,n,o,i),c=bg(r,e,t,n,o,i);for(let u in a){let h=0;h=c[u]/a[u],s[u]=h}for(let u=0;u<o.length;u++)for(let h in s)o[u][i[0]]===h&&(o[u][l]=s[h]);return console.log("!!!! targetData",o),console.log("!!!! averages",s),s}function Wl(r,e,t){let n=[];if(Array.isArray(r))for(let o of r)n.push(e[o][t]);else for(let o in r)n.push(...Wl(r[o],e,t));return n}function pT(r,e,t,n,o,i){let s={},l=_r(t,n);for(let a in r){let c=Wl(r[a],e,l),u=[...new Set(c)];s[a]=u}for(let a=0;a<o.length;a++)for(let c in s)o[a][i[0]]===c&&(o[a][l]=s[c]);return s}function mT(r,e,t,n,o,i){let s={},l=_r(t,n);for(let a in r){let c=Wl(r[a],e,l),u=Math.max(...c);s[a]=u}for(let a=0;a<o.length;a++)for(let c in s)o[a][i[0]]===c&&(o[a][l]=s[c]);return s}function gT(r,e,t,n,o,i){let s={},l=_r(t,n);for(let a in r){let c=Wl(r[a],e,l),u=Math.min(...c);s[a]=u}for(let a=0;a<o.length;a++)for(let c in s)o[a][i[0]]===c&&(o[a][l]=s[c]);return s}var xg=require("@vuu-ui/vuu-utils"),{DEPTH:qu,IS_EXPANDED:vg,KEY:Ku}=xg.metadataKeys,wg=(r,e)=>{let t=[];for(let n=0,o=0,i=!1,s=e.length;n<s;n++){let l=e[n],{[qu]:a,[Ku]:c}=l;if(c===r){let u=l.slice();for(u[vg]=!1,t.push(u),o+=1,i=!0;n<s-1&&e[n+1][qu]>a;)n+=1}else if(i){let u=l.slice();u[0]=o,u[1]=o,t.push(u),o+=1}else t.push(l),o+=1}return t},ju=(r,e,t,n,o,i)=>{let s=t.map(l=>n[l]);return Sg(o,s,r,e,void 0,void 0,void 0,i)},Sg=(r,e,t,n=[],o="$root",i=1,s=[],l)=>{let a=Object.keys(r).sort();for(let c of a){let u=s.length,h=`${o}|${c}`,f=[u,u,!1,!1,i,0,h,0];f[e[i-1]]=c,s.push(f),t.includes(h)&&(f[vg]=!0,Array.isArray(r[c])?yT(s,r[c],n,h,i+1):Sg(r[c],e,t,n,h,i+1,s,l))}for(let c in s)for(let u in s)if(s[c][2]===!1&&l[u]!=null&&s[c][e[0]]===l[u][e[0]]){s[c]=s[c].splice(0,8).concat(l[u].slice(8,l[u].length));break}return s},yT=(r,e,t,n,o)=>{for(let i of e){let s=r.length,l=t[i].slice();l[0]=s,l[1]=s,l[qu]=o,l[Ku]=`${n}|${l[Ku]}`,r.push(l)}},Cg=(r,e,t)=>{let n=e.map(s=>t[s]),o=xT(r,n);return[bT(o,n),o]},bT=(r,e)=>{let n=[],o=0,i=Object.keys(r).sort();for(let s of i){let l=[o,o,!1,!1,1,0,`$root|${s}`,0];l[e[0]]=s,n.push(l),o+=1}return n};function xT(r,e){let t={},n=e.length,o=n-1;for(let i=0,s=r.length;i<s;i++){let l=r[i],a=t,c,u;for(let h=0;h<n;h++){let f=e[h];u=l[f].toString(),c=a[u],c&&h===o?c.push(i):c?a=c:!c&&h<o?a=a[u]={}:c||(a[u]=[i])}}return console.log("!! groups",t),t}var vT=(r,e,[t,n])=>{let o=n==="D"?e[t]:r[t],i=n==="D"?r[t]:e[t];return o===i?0:i===null||o>i?1:-1},wT=r=>r.length===1?ST(r):r.length===2?CT(r):TT(r),ST=([[r,e]])=>(t,n)=>{let o=e==="D"?n[r]:t[r],i=e==="D"?t[r]:n[r];return o>i?1:i>o?-1:0},CT=([[r,e],[t,n]])=>(o,i)=>{let s=e==="D"?i[r]:o[r],l=e==="D"?o[r]:i[r],a=n==="D"?i[t]:o[t],c=n==="D"?o[t]:i[t];return s>l?1:l>s?-1:a>c?1:c>a?-1:0},TT=(r,e=vT)=>(t,n)=>{for(let o of r){let i=e(t,n,o);if(i!==0)return i}return 0},Tg=(r,{sortDefs:e},t)=>{let n=e.map(({column:i,sortType:s})=>[t[i],s]),o=wT(n);return r.slice().sort(o)};var{debug:Lt}=(0,le.logger)("ArrayDataSource"),{RENDER_IDX:kT,SELECTED:MT}=le.metadataKeys,ET=(r,e)=>[e,e,!0,!1,1,0,r[0].toString(),0,...r],RT=r=>({columns:r.map(({name:t,serverDataType:n="string"})=>({name:t,serverDataType:n})),key:r[0].name,table:{module:"",table:"Array"}}),IT=(r,e,t)=>{let[n]=r,o=r.slice();return o[kT]=e.keyFor(n),o[MT]=(0,le.getSelectionStatus)(t,n),o},Zi,en,Y,We,Re,$l,es,Ho,kg=class extends le.EventEmitter{constructor({aggregations:t,columnDescriptors:n,data:o,filter:i,groupBy:s,rangeChangeRowset:l="delta",sort:a,title:c,viewport:u}){super();this.status="initialising";this.disabled=!1;this.selectedRows=[];this.suspended=!1;this.lastRangeServed={from:0,to:0};this.openTreeNodes=[];ne(this,Zi,[]);ne(this,en,void 0);ne(this,Y,Po);ne(this,We,void 0);ne(this,Re,le.NULL_RANGE);ne(this,$l,0);ne(this,es,0);ne(this,Ho,void 0);this.keys=new le.KeySet(T(this,Re));this.processedData=void 0;if(!o||!n)throw Error("ArrayDataSource constructor called without data or without columnDescriptors");this.columnDescriptors=n,W(this,Zi,n.map(h=>h.name)),W(this,en,(0,le.buildColumnMap)(T(this,Zi))),this.rangeChangeRowset=l,this.tableSchema=RT(n),W(this,We,o.map(ET)),this.viewport=u||(0,le.uuid)(),W(this,es,o.length),W(this,Ho,c),this.config={...T(this,Y),aggregations:t||T(this,Y).aggregations,columns:n.map(h=>h.name),filter:i||T(this,Y).filter,groupBy:s||T(this,Y).groupBy,sort:a||T(this,Y).sort},Lt==null||Lt(`columnMap: ${JSON.stringify(T(this,en))}`)}async subscribe({viewport:t=(u=>(u=this.viewport)!=null?u:(0,le.uuid)())(),columns:n,aggregations:o,range:i,sort:s,groupBy:l,filter:a},c){var h;this.clientCallback=c,this.viewport=t,this.status="subscribed",this.lastRangeServed={from:0,to:0},o||n||a||l||s?(i&&W(this,Re,i),this.config={...T(this,Y),aggregations:o||T(this,Y).aggregations,columns:n||T(this,Y).columns,filter:a||T(this,Y).filter,groupBy:l||T(this,Y).groupBy,sort:s||T(this,Y).sort}):((h=this.clientCallback)==null||h.call(this,{...T(this,Y),type:"subscribed",clientViewportId:this.viewport,range:T(this,Re),tableSchema:this.tableSchema}),this.clientCallback({clientViewportId:this.viewport,mode:"size-only",type:"viewport-update",size:T(this,We).length}),i?this.range=i:T(this,Re)!==le.NULL_RANGE&&this.sendRowsToClient())}unsubscribe(){console.log("unsubscribe noop")}suspend(){return console.log("noop"),this}resume(){return console.log("resume noop"),this}disable(){return console.log("disable noop"),this}enable(){return console.log("enable noop"),this}select(t){Lt==null||Lt(`select ${JSON.stringify(t)}`),this.selectedRows=t,this.setRange((0,le.resetRange)(T(this,Re)),!0)}openTreeNode(t){this.openTreeNodes.push(t),this.processedData=ju(this.openTreeNodes,T(this,We),T(this,Y).groupBy,T(this,en),this.groupMap,this.processedData),this.setRange((0,le.resetRange)(T(this,Re)),!0)}closeTreeNode(t){this.openTreeNodes=this.openTreeNodes.filter(n=>n!==t),this.processedData&&(this.processedData=wg(t,this.processedData),this.setRange((0,le.resetRange)(T(this,Re)),!0))}get data(){return T(this,We)}get currentData(){var t;return(t=this.processedData)!=null?t:T(this,We)}get config(){return T(this,Y)}set config(t){var n;if(Pl(T(this,Y),t)){if(t){let o=T(this,Y),i=(n=t==null?void 0:t.filter)!=null&&n.filter&&(t==null?void 0:t.filter.filterStruct)===void 0?{...t,filter:{filter:t.filter.filter,filterStruct:Hr(t.filter.filter)}}:t;W(this,Y,Dl(i));let s;if(Um(t)){let{filter:l,filterStruct:a=Hr(l)}=t.filter;if(a){let c=zl(T(this,en),a);s=T(this,We).filter(c)}else throw Error("filter must include filterStruct")}if(Gm(t)&&(s=Tg(s!=null?s:T(this,We),t.sort,T(this,en))),this.openTreeNodes.length>0&&Mu(o,t)&&(T(this,Y).groupBy.length===0?this.openTreeNodes.length=0:console.log("adjust the openTReeNodes groupBy changed ",{originalGroupBy:o.groupBy,newGroupBy:i.groupBy})),$m(t)){let[l,a]=Cg(s!=null?s:T(this,We),t.groupBy,T(this,en));this.groupMap=a,s=l,this.openTreeNodes.length>0&&(s=ju(this.openTreeNodes,T(this,We),T(this,Y).groupBy,T(this,en),this.groupMap,s))}this.processedData=s==null?void 0:s.map((l,a)=>{let c=l.slice();return c[0]=a,c[1]=a,c})}this.setRange((0,le.resetRange)(T(this,Re)),!0),this.emit("config",T(this,Y))}}get selectedRowsCount(){return T(this,$l)}get size(){return T(this,es)}get range(){return T(this,Re)}set range(t){(t.from!==T(this,Re).from||t.to!==T(this,Re).to)&&this.setRange(t)}setRange(t,n=!1){W(this,Re,t),this.keys.reset(t),this.sendRowsToClient(n)}sendRowsToClient(t=!1){var s,l;let n=this.rangeChangeRowset==="delta"&&!t?(0,le.rangeNewItems)(this.lastRangeServed,T(this,Re)):T(this,Re),o=(s=this.processedData)!=null?s:T(this,We),i=o.slice(n.from,n.to).map(a=>IT(a,this.keys,this.selectedRows));(l=this.clientCallback)==null||l.call(this,{clientViewportId:this.viewport,mode:"batch",rows:i,size:o.length,type:"viewport-update"}),this.lastRangeServed=T(this,Re)}get columns(){return T(this,Y).columns}set columns(t){this.config={...T(this,Y),columns:t}}get aggregations(){return T(this,Y).aggregations}set aggregations(t){var i;W(this,Y,{...T(this,Y),aggregations:t});let n=(i=this.processedData)!=null?i:T(this,We),o=T(this,We);gg(t,n,T(this,Y).groupBy,o,T(this,en),this.groupMap),this.setRange((0,le.resetRange)(T(this,Re)),!0),this.emit("config",T(this,Y))}get sort(){return T(this,Y).sort}set sort(t){console.log("set sort",{sort:t}),Lt==null||Lt(`sort ${JSON.stringify(t)}`),this.config={...T(this,Y),sort:t}}get filter(){return T(this,Y).filter}set filter(t){Lt==null||Lt(`filter ${JSON.stringify(t)}`),this.config={...T(this,Y),filter:t}}get groupBy(){return T(this,Y).groupBy}set groupBy(t){this.config={...T(this,Y),groupBy:t}}get title(){return T(this,Ho)}set title(t){W(this,Ho,t)}get _clientCallback(){return this.clientCallback}createLink({parentVpId:t,link:{fromColumn:n,toColumn:o}}){console.log("create link",{parentVpId:t,fromColumn:n,toColumn:o})}removeLink(){console.log("remove link")}findRow(t){let n=T(this,We)[t];if(n)return n;throw`no row found for key ${t}`}updateRow(t,n,o){let i=this.findRow(parseInt(t));console.log({row:i,colName:n,value:o})}applyEdit(t,n,o){return console.log(`ArrayDataSource applyEdit ${t} ${n} ${o}`),!0}async menuRpcCall(t){return new Promise(n=>{let{type:o}=t;switch(o){case"VP_EDIT_CELL_RPC":{let{rowKey:i,field:s,value:l}=t;try{this.updateRow(i,s,l),n(void 0)}catch(a){n({error:String(a),type:"VP_EDIT_RPC_REJECT"})}}break;default:n(void 0)}})}};Zi=new WeakMap,en=new WeakMap,Y=new WeakMap,We=new WeakMap,Re=new WeakMap,$l=new WeakMap,es=new WeakMap,Ho=new WeakMap;var xt=require("@vuu-ui/vuu-utils");var PT={columns:[],key:"",table:{module:"",table:""}},{DEPTH:_o,IDX:Mg,IS_EXPANDED:DT,IS_LEAF:LT,KEY:Dg,SELECTED:Eg}=xt.metadataKeys,Rg=(r,e)=>{let[t]=r,n=r.slice();return n[1]=e.keyFor(t),n},nr,At,ut,rr,or,fn,Ul,Gl,ir,zo,Ig=class extends xt.EventEmitter{constructor({aggregations:t,data:n,filter:o,groupBy:i,sort:s,title:l,viewport:a}){super();this.status="initialising";this.expandedRows=new Set;this.visibleRows=[];ne(this,nr,[]);ne(this,At,Po);ne(this,ut,void 0);ne(this,rr,{filter:""});ne(this,or,[]);ne(this,fn,{from:0,to:0});ne(this,Ul,0);ne(this,Gl,0);ne(this,ir,{sortDefs:[]});ne(this,zo,void 0);this.keys=new xt.KeySet(T(this,fn));if(!n)throw Error("JsonDataSource constructor called without data");[this.columnDescriptors,_d(this,ut)._]=(0,xt.jsonToDataSourceRows)(n),this.visibleRows=T(this,ut).filter(c=>c[_o]===0).map((c,u)=>[u,u].concat(c.slice(2))),this.viewport=a||(0,xt.uuid)(),t&&W(this,nr,t),this.columnDescriptors&&W(this,At,{...T(this,At),columns:this.columnDescriptors.map(c=>c.name)}),o&&W(this,rr,o),i&&W(this,or,i),s&&W(this,ir,s),W(this,zo,l)}async subscribe({viewport:t=(u=>(u=this.viewport)!=null?u:(0,xt.uuid)())(),columns:n,aggregations:o,range:i,sort:s,groupBy:l,filter:a},c){var h;this.clientCallback=c,console.log(`subscribe range ${i==null?void 0:i.from} ${i==null?void 0:i.to}`),o&&W(this,nr,o),n&&W(this,At,{...T(this,At),columns:n}),a&&W(this,rr,a),l&&W(this,or,l),i&&W(this,fn,i),s&&W(this,ir,s),this.status==="initialising"&&(this.viewport=t,this.status="subscribed",(h=this.clientCallback)==null||h.call(this,{aggregations:T(this,nr),type:"subscribed",clientViewportId:this.viewport,columns:T(this,At).columns,filter:T(this,rr),groupBy:T(this,or),range:T(this,fn),sort:T(this,ir),tableSchema:PT}),this.clientCallback({clientViewportId:this.viewport,mode:"size-only",type:"viewport-update",size:this.visibleRows.length}))}unsubscribe(){console.log("noop")}suspend(){return console.log("noop"),this}resume(){return console.log("noop"),this}disable(){return console.log("noop"),this}enable(){return console.log("noop"),this}select(t){var o;let n=[];for(let i of T(this,ut)){let{[Mg]:s,[Eg]:l}=i,a=l===1,c=(0,xt.isSelected)(t,s);if(c!==a){let u=i.slice();u[Eg]=c?1:0,T(this,ut)[s]=u,n.push(u)}}n.length>0&&((o=this.clientCallback)==null||o.call(this,{clientViewportId:this.viewport,mode:"update",type:"viewport-update",rows:n}))}openTreeNode(t){var i;this.expandedRows.add(t),this.visibleRows=Pg(T(this,ut),this.expandedRows);let{from:n,to:o}=T(this,fn);(i=this.clientCallback)==null||i.call(this,{clientViewportId:this.viewport,mode:"batch",rows:this.visibleRows.slice(n,o).map(s=>Rg(s,this.keys)),size:this.visibleRows.length,type:"viewport-update"})}closeTreeNode(t,n=!1){if(this.expandedRows.delete(t),n)for(let o of this.expandedRows.keys())o.startsWith(t)&&this.expandedRows.delete(o);this.visibleRows=Pg(T(this,ut),this.expandedRows),this.sendRowsToClient()}get config(){return T(this,At)}get selectedRowsCount(){return T(this,Ul)}get size(){return T(this,Gl)}get range(){return T(this,fn)}set range(t){W(this,fn,t),this.keys.reset(t),requestAnimationFrame(()=>{this.sendRowsToClient()})}sendRowsToClient(){var o;let{from:t,to:n}=T(this,fn);(o=this.clientCallback)==null||o.call(this,{clientViewportId:this.viewport,mode:"batch",rows:this.visibleRows.slice(t,n).map(i=>Rg(i,this.keys)),size:this.visibleRows.length,type:"viewport-update"})}get columns(){return T(this,At).columns}set columns(t){W(this,At,{...T(this,At),columns:t})}get aggregations(){return T(this,nr)}set aggregations(t){W(this,nr,t)}get sort(){return T(this,ir)}set sort(t){W(this,ir,t)}get filter(){return T(this,rr)}set filter(t){W(this,rr,t)}get groupBy(){return T(this,or)}set groupBy(t){W(this,or,t)}get title(){return T(this,zo)}set title(t){W(this,zo,t)}createLink({parentVpId:t,link:{fromColumn:n,toColumn:o}}){console.log("create link",{parentVpId:t,fromColumn:n,toColumn:o})}removeLink(){console.log("remove link")}async menuRpcCall(t){console.log("rmenuRpcCall",{rpcRequest:t})}applyEdit(t,n,o){return console.log(`ArrayDataSource applyEdit ${t} ${n} ${o}`),!0}getChildRows(t){let n=T(this,ut).find(o=>o[Dg]===t);if(n){let{[Mg]:o,[_o]:i}=n,s=o+1,l=[];do{let{[_o]:a}=T(this,ut)[s];if(a===i+1)l.push(T(this,ut)[s]);else if(a<=i)break;s+=1}while(s<T(this,ut).length);return l}else console.warn(`JsonDataSource getChildRows row not found for key ${t}`);return[]}getRowsAtDepth(t,n=!0){return(n?this.visibleRows:T(this,ut)).filter(i=>i[_o]===t)}};nr=new WeakMap,At=new WeakMap,ut=new WeakMap,rr=new WeakMap,or=new WeakMap,fn=new WeakMap,Ul=new WeakMap,Gl=new WeakMap,ir=new WeakMap,zo=new WeakMap;function Pg(r,e){let t=[],n={value:0};for(let o=0;o<r.length;o++){let i=r[o],{[_o]:s,[Dg]:l,[LT]:a}=i,c=e.has(l);if(t.push(AT(i,n,c)),!a&&!c)do o+=1;while(o<r.length-1&&r[o+1][_o]>s)}return t}var AT=(r,e,t)=>{let n=r.slice();return n[0]=e.value,n[1]=e.value,t&&(n[DT]=!0),e.value+=1,n};var vt=require("@vuu-ui/vuu-utils");var{info:tt}=(0,vt.logger)("RemoteDataSource"),$,ql,Wo,Pn,ts,$o,zr,Ju=class extends vt.EventEmitter{constructor({bufferSize:t=100,aggregations:n,columns:o,filter:i,groupBy:s,sort:l,table:a,title:c,viewport:u,visualLink:h}){super();this.server=null;this.status="initialising";ne(this,$,Po);ne(this,ql,[]);ne(this,Wo,"throttle");ne(this,Pn,{from:0,to:0});ne(this,ts,0);ne(this,$o,0);ne(this,zr,void 0);this.handleMessageFromServer=t=>{var n,o;if(t.type==="subscribed")this.status="subscribed",(n=this.clientCallback)==null||n.call(this,t);else if(t.type==="disabled")this.status="disabled";else if(t.type==="enabled")this.status="enabled";else{if(Km(t))return;t.type==="debounce-begin"?this.optimize="debounce":(t.type==="viewport-update"&&t.size!==void 0&&t.size!==T(this,$o)&&(W(this,$o,t.size),this.emit("resize",t.size)),this.configChangePending&&this.setConfigPending(),(o=this.clientCallback)==null||o.call(this,t),this.optimize==="debounce"&&this.revertDebounce())}};this.revertDebounce=(0,vt.debounce)(()=>{this.optimize="throttle"},100);this.rawRangeRequest=t=>{this.viewport&&this.server&&this.server.send({viewport:this.viewport,type:"setViewRange",range:t})};this.debounceRangeRequest=(0,vt.debounce)(t=>{this.viewport&&this.server&&this.server.send({viewport:this.viewport,type:"setViewRange",range:t})},50);this.throttleRangeRequest=(0,vt.throttle)(t=>{this.viewport&&this.server&&this.server.send({viewport:this.viewport,type:"setViewRange",range:t})},80);if(!a)throw Error("RemoteDataSource constructor called without table");this.bufferSize=t,this.table=a,this.viewport=u,W(this,$,{...T(this,$),aggregations:n||T(this,$).aggregations,columns:o||T(this,$).columns,filter:i||T(this,$).filter,groupBy:s||T(this,$).groupBy,sort:l||T(this,$).sort,visualLink:h||T(this,$).visualLink}),W(this,zr,c),this.rangeRequest=this.throttleRangeRequest}async subscribe({viewport:t=(u=>(u=this.viewport)!=null?u:(0,vt.uuid)())(),columns:n,aggregations:o,range:i,sort:s,groupBy:l,filter:a},c){var f;if(this.clientCallback=c,(o||n||a||l||s)&&W(this,$,{...T(this,$),aggregations:o||T(this,$).aggregations,columns:n||T(this,$).columns,filter:a||T(this,$).filter,groupBy:l||T(this,$).groupBy,sort:s||T(this,$).sort}),i&&W(this,Pn,i),this.status!=="initialising")return;this.status="subscribing",this.viewport=t,this.server=await Lu();let{bufferSize:h}=this;(f=this.server)==null||f.subscribe({...T(this,$),bufferSize:h,viewport:t,table:this.table,range:T(this,Pn),title:T(this,zr)},this.handleMessageFromServer)}unsubscribe(){var t,n;tt==null||tt(`unsubscribe #${this.viewport}`),this.viewport&&((t=this.server)==null||t.unsubscribe(this.viewport)),(n=this.server)==null||n.destroy(this.viewport),this.removeAllListeners()}suspend(){var t;return tt==null||tt(`suspend #${this.viewport}, current status ${this.status}`),this.viewport&&(this.status="suspended",(t=this.server)==null||t.send({type:"suspend",viewport:this.viewport})),this}resume(){var t;return tt==null||tt(`resume #${this.viewport}, current status ${this.status}`),this.viewport&&(this.status==="disabled"||this.status==="disabling"?this.enable():this.status==="suspended"&&((t=this.server)==null||t.send({type:"resume",viewport:this.viewport}),this.status="subscribed")),this}disable(){var t;return tt==null||tt(`disable #${this.viewport}, current status ${this.status}`),this.viewport&&(this.status="disabling",(t=this.server)==null||t.send({viewport:this.viewport,type:"disable"})),this}enable(){var t;return tt==null||tt(`enable #${this.viewport}, current status ${this.status}`),this.viewport&&(this.status==="disabled"||this.status==="disabling")&&(this.status="enabling",(t=this.server)==null||t.send({viewport:this.viewport,type:"enable"})),this}select(t){var n;W(this,ts,t.length),this.viewport&&((n=this.server)==null||n.send({viewport:this.viewport,type:"select",selected:t}))}openTreeNode(t){var n;this.viewport&&((n=this.server)==null||n.send({viewport:this.viewport,type:"openTreeNode",key:t}))}closeTreeNode(t){var n;this.viewport&&((n=this.server)==null||n.send({viewport:this.viewport,type:"closeTreeNode",key:t}))}get optimize(){return T(this,Wo)}set optimize(t){if(t!==T(this,Wo)){switch(W(this,Wo,t),t){case"none":this.rangeRequest=this.rawRangeRequest;break;case"debounce":this.rangeRequest=this.debounceRangeRequest;break;case"throttle":this.rangeRequest=this.throttleRangeRequest;break}this.emit("optimize",t)}}get selectedRowsCount(){return T(this,ts)}get size(){return T(this,$o)}get range(){return T(this,Pn)}set range(t){(t.from!==T(this,Pn).from||t.to!==T(this,Pn).to)&&(W(this,Pn,t),this.rangeRequest(t))}get config(){return T(this,$)}set config(t){var n,o;if(Pl(T(this,$),t)&&t){let i=(n=t==null?void 0:t.filter)!=null&&n.filter&&(t==null?void 0:t.filter.filterStruct)===void 0?{...t,filter:{filter:t.filter.filter,filterStruct:Hr(t.filter.filter)}}:t;W(this,$,Dl(i)),T(this,$)&&this.viewport&&this.server&&t&&((o=this.server)==null||o.send({viewport:this.viewport,type:"config",config:T(this,$)})),this.emit("config",T(this,$))}}get columns(){return T(this,$).columns}set columns(t){if(W(this,$,{...T(this,$),columns:t}),this.viewport){let n={viewport:this.viewport,type:"setColumns",columns:t};this.server&&this.server.send(n)}this.emit("config",T(this,$))}get aggregations(){return T(this,$).aggregations}set aggregations(t){var n;W(this,$,{...T(this,$),aggregations:t}),this.viewport&&((n=this.server)==null||n.send({viewport:this.viewport,type:"aggregate",aggregations:t})),this.emit("config",T(this,$))}get sort(){return T(this,$).sort}set sort(t){if(W(this,$,{...T(this,$),sort:t}),this.viewport){let n={viewport:this.viewport,type:"sort",sort:t};this.server&&this.server.send(n)}this.emit("config",T(this,$))}get filter(){return T(this,$).filter}set filter(t){if(W(this,$,{...T(this,$),filter:t}),this.viewport){let n={viewport:this.viewport,type:"filter",filter:t};this.server&&this.server.send(n)}this.emit("config",T(this,$))}get groupBy(){return T(this,$).groupBy}set groupBy(t){var n;if((0,vt.itemsOrOrderChanged)(this.groupBy,t)){let o=T(this,ql).length>0;if(W(this,$,{...T(this,$),groupBy:t}),this.viewport){let i={viewport:this.viewport,type:"groupBy",groupBy:T(this,$).groupBy};this.server&&this.server.send(i)}!o&&t.length>0&&this.viewport&&((n=this.clientCallback)==null||n.call(this,{clientViewportId:this.viewport,mode:"batch",type:"viewport-update",size:0,rows:[]})),this.emit("config",T(this,$)),this.setConfigPending({groupBy:t})}}get title(){return T(this,zr)}set title(t){var n;W(this,zr,t),this.viewport&&t&&((n=this.server)==null||n.send({type:"setTitle",title:t,viewport:this.viewport}))}get visualLink(){return T(this,$).visualLink}set visualLink(t){var n,o;if(W(this,$,{...T(this,$),visualLink:t}),t){let{parentClientVpId:i,link:{fromColumn:s,toColumn:l}}=t;this.viewport&&((n=this.server)==null||n.send({viewport:this.viewport,type:"createLink",parentClientVpId:i,parentColumnName:l,childColumnName:s}))}else this.viewport&&((o=this.server)==null||o.send({type:"removeLink",viewport:this.viewport}));this.emit("config",T(this,$))}setConfigPending(t){let n=this.configChangePending;this.configChangePending=t,t!==void 0?this.emit("config",t,!1):this.emit("config",n,!0)}async menuRpcCall(t){var n;if(this.viewport)return(n=this.server)==null?void 0:n.rpcCall({vpId:this.viewport,...t})}applyEdit(t,n,o){return console.log(`ArrayDataSource applyEdit ${t} ${n} ${o}`),!0}};$=new WeakMap,ql=new WeakMap,Wo=new WeakMap,Pn=new WeakMap,ts=new WeakMap,$o=new WeakMap,zr=new WeakMap;var Yu=require("react");var Ag=require("react");var Lg={type:"RPC_CALL",service:"TypeAheadRpcHandler"};var Xu=()=>(0,Ag.useCallback)(async e=>{let t=e.length===2?{method:"getUniqueFieldValues",params:e,...Lg}:{method:"getUniqueFieldValuesStartingWith",params:e,...Lg};return await ng(t)},[]);var Kl=require("@vuu-ui/vuu-utils"),OT=require("react");var{KEY:tF}=Kl.metadataKeys;var Zu=require("react");var Og=require("@vuu-ui/vuu-ui-controls");var ns=require("react/jsx-runtime"),NT=(0,nt.forwardRef)(function({InputProps:e={},className:t,column:n,onInputComplete:o,operator:i,suggestionProvider:s=Xu,table:l,value:a},c){let[u,h]=(0,nt.useState)(a!=null?a:""),[f,d]=(0,nt.useState)([]),p=s(),m=(0,nt.useCallback)((x,S)=>o(S),[o]),g=(0,nt.useCallback)((x,S)=>{S.length===1?o(S[0]):S.length>1&&o(S)},[o]);(0,nt.useEffect)(()=>{},[n]),(0,nt.useEffect)(()=>{if(l){let x=u?[l,n.name,u]:[l,n.name];p(x).then(S=>{d(S)}).catch(S=>{console.error("Error getting suggsetions",S)})}},[l,n,u,p]);let y=(0,nt.useCallback)(x=>{let{value:S}=x.target;h(S)},[]),v=(0,nt.useMemo)(()=>{if(i==="starts"||i==="ends"){let{inputProps:x,...S}=e;return{...S,inputProps:{...x,onKeyDown:b=>{var C;b.key==="Enter"&&u!==""?(b.stopPropagation(),b.preventDefault(),o(u)):(C=x==null?void 0:x.onKeyDown)==null||C.call(x,b)}}}}else return e},[e,o,i,u]);return(0,nt.useCallback)(()=>{switch(i){case"in":return(0,ns.jsx)(qi,{InputProps:v,className:t,initialHighlightedIndex:0,source:f,onInputChange:y,onSelectionChange:g,ref:c,selectionStrategy:"multiple",value:a});case"starts":return(0,ns.jsx)(qi,{InputProps:v,ListProps:{className:"vuuIllustrationsOnly",disabled:!0},allowFreeText:!0,className:t,initialHighlightedIndex:0,source:f,onInputChange:y,onSelectionChange:m,ref:c,value:a});case"ends":return(0,ns.jsx)(Og.ExpandoInput,{...v,className:t,value:u,ref:c,onChange:y});default:return(0,ns.jsx)(qi,{InputProps:v,className:t,initialHighlightedIndex:0,source:f,title:"value",onInputChange:y,onSelectionChange:m,ref:c,value:a})}},[i,v,t,f,y,g,c,a,m,u])()});var eh=require("@vuu-ui/vuu-utils");var rs=require("react");var Ng=require("react/jsx-runtime");var $T=require("@vuu-ui/vuu-ui-controls"),Vg=require("@vuu-ui/vuu-utils"),UT=z(require("classnames"),1),Fg=require("react");var BT=require("@vuu-ui/vuu-popups"),HT=require("react"),_T=z(require("classnames"),1);var zT=require("react/jsx-runtime");var Dn=require("@vuu-ui/vuu-utils");var Bg=require("react/jsx-runtime");var Hg=require("@vuu-ui/vuu-utils"),os=require("react");var GT=require("@vuu-ui/vuu-ui-controls"),qT=require("react");var _g=require("react/jsx-runtime"),YT=require("react");var HE=require("@salt-ds/core");var X=class{lineAt(e){if(e<0||e>this.length)throw new RangeError(`Invalid position ${e} in document of length ${this.length}`);return this.lineInner(e,!1,1,0)}line(e){if(e<1||e>this.lines)throw new RangeError(`Invalid line number ${e} in ${this.lines}-line document`);return this.lineInner(e,!0,1,0)}replace(e,t,n){let o=[];return this.decompose(0,e,o,2),n.length&&n.decompose(0,n.length,o,3),this.decompose(t,this.length,o,1),Ot.from(o,this.length-(t-e)+n.length)}append(e){return this.replace(this.length,this.length,e)}slice(e,t=this.length){let n=[];return this.decompose(e,t,n,0),Ot.from(n,t-e)}eq(e){if(e==this)return!0;if(e.length!=this.length||e.lines!=this.lines)return!1;let t=this.scanIdentical(e,1),n=this.length-this.scanIdentical(e,-1),o=new Ur(this),i=new Ur(e);for(let s=t,l=t;;){if(o.next(s),i.next(s),s=0,o.lineBreak!=i.lineBreak||o.done!=i.done||o.value!=i.value)return!1;if(l+=o.value.length,o.done||l>=n)return!0}}iter(e=1){return new Ur(this,e)}iterRange(e,t=this.length){return new Yl(this,e,t)}iterLines(e,t){let n;if(e==null)n=this.iter();else{t==null&&(t=this.lines+1);let o=this.line(e).from;n=this.iterRange(o,Math.max(o,t==this.lines+1?this.length:t<=1?0:this.line(t-1).to))}return new Xl(n)}toString(){return this.sliceString(0)}toJSON(){let e=[];return this.flatten(e),e}constructor(){}static of(e){if(e.length==0)throw new RangeError("A document must have at least one line");return e.length==1&&!e[0]?X.empty:e.length<=32?new de(e):Ot.from(de.split(e,[]))}},de=class extends X{constructor(e,t=XT(e)){super(),this.text=e,this.length=t}get lines(){return this.text.length}get children(){return null}lineInner(e,t,n,o){for(let i=0;;i++){let s=this.text[i],l=o+s.length;if((t?n:l)>=e)return new nh(o,l,n,s);o=l+1,n++}}decompose(e,t,n,o){let i=e<=0&&t>=this.length?this:new de(Wg(this.text,e,t),Math.min(t,this.length)-Math.max(0,e));if(o&1){let s=n.pop(),l=Ql(i.text,s.text.slice(),0,i.length);if(l.length<=32)n.push(new de(l,s.length+i.length));else{let a=l.length>>1;n.push(new de(l.slice(0,a)),new de(l.slice(a)))}}else n.push(i)}replace(e,t,n){if(!(n instanceof de))return super.replace(e,t,n);let o=Ql(this.text,Ql(n.text,Wg(this.text,0,e)),t),i=this.length+n.length-(t-e);return o.length<=32?new de(o,i):Ot.from(de.split(o,[]),i)}sliceString(e,t=this.length,n=`
|
|
17
|
+
`,document.body.insertBefore(e,r)}}var Ni=class{constructor(){this.currentPath=null;this.tabMode=null;cS()}prepare(e,t="full-view"){document.body.classList.add("drawing"),this.currentPath=null,this.tabMode=t;let n=this.getPoints(0,0,0,0),o=sp(n),i=document.getElementById("vuu-drop-outline");i==null||i.setAttribute("d",o),this.currentPath=o}clear(){Oi=null,il(),document.body.classList.remove("drawing"),ol.PopupService.hidePopup()}get hoverDropTarget(){return Oi}getPoints(e,t,n,o,i=0,s=0,l=0){let a=this.tabMode==="tab-only";if(s===0)return[[e,t+l],[e,t+l],[e,t],[e+s,t],[e+s,t],[e+n,t],[e+n,t+o],[e,t+o]];if(a){let c=i;return[[c,t],[c,t],[c+s,t],[c+s,t],[c+s,t+l],[c+s,t+l],[c,t+l],[c,t+l]]}else return i===0?[[e,t+l],[e,t+l],[e,t],[e+s,t],[e+s,t+l],[e+n,t+l],[e+n,t+o],[e,t+o]]:[[e,t+l],[e+i,t+l],[e+i,t],[e+i,t],[e+i,t+l],[e+n,t+l],[e+n,t+o],[e,t+o]]}draw(e,t){let o=$c;if(Oi!==null)this.drawTarget(Oi);else if($c=e.nextDropTarget!=null,e.pos.tab?uS(e):jt&&il(),this.drawTarget(e,t),$c){let[i,s,l]=zc(e);{let a=(0,cp.jsx)(Wc,{dropTarget:e,onHover:iS,orientation:l});ol.PopupService.showPopup({left:i,top:s,component:a})}}else ol.PopupService.hidePopup()}drawTarget(e,t){let o=e.getTargetDropOutline(6,t);if(o){let{l:i,t:s,r:l,b:a,tabLeft:c,tabWidth:u,tabHeight:h,guideLines:f}=o,d=l-i,p=a-s;if(this.currentPath){let w=document.getElementById("vuu-drop-outline");w==null||w.setAttribute("d",this.currentPath)}let m=this.getPoints(i,s,d,p,c,u,h),y=sp(m),g=document.getElementById("hw-drop-outline-animate");g==null||g.setAttribute("to",y),g==null||g.beginElement(),this.currentPath=y;let v=document.getElementById("hw-drop-guides");v==null||v.setAttribute("d",aS(f))}}},lp="transition:margin-left .4s ease-out;margin-left: 63px",ap="transition:margin-left .4s ease-out;margin-left: 0px";function uS(r){var l,a;let{AFTER:e,BEFORE:t}=Ai,{clientRect:{Stack:n},pos:{tab:o}}=r,{id:i}=r.component.props,s=null;if(n&&o&&o.positionRelativeToTab!==e){let c=o.positionRelativeToTab===t?1:2,u=`:scope .hwTabstrip > .hwTabstrip-inner > .hwTab:nth-child(${o.index+c})`;s=(l=document.getElementById(i))==null?void 0:l.querySelector(u),s?(jt===null||jt!==s)&&(s.style.cssText=lp,jt&&(jt.style.cssText=ap),jt=s):il()}else if((o==null?void 0:o.positionRelativeToTab)===t){if(jt===null){let c=".vuuHeader-title";s=(a=document.getElementById(i))==null?void 0:a.querySelector(c),s.style.cssText=lp,jt=s}}else il()}function il(){jt&&(jt.style.cssText=ap,jt=null)}var Mn,Vi,Kn,hp,fp,Dr,sl,Lr=null,Gc,dp,al,pp,Uc,ll=null,hS=3,cl=new Ni,up=.4;function fS(r,e){return e?Ee(r,e):an(r,t=>t.dropTarget)}var fl={handleMousedown(r,e,t={}){Mn=e,dp=t,hp=r.clientX,fp=r.clientY,Uc=t.dragThreshold===void 0?hS:t.dragThreshold,Uc===0?Mn(r,0,0):(window.addEventListener("mousemove",ul,!1),window.addEventListener("mouseup",hl,!1),ll=window.setTimeout(()=>{window.removeEventListener("mousemove",ul,!1),window.removeEventListener("mouseup",hl,!1),Mn==null||Mn(r,0,0)},500)),r.preventDefault()},initDrag(r,e,{top:t,left:n,right:o,bottom:i},s,l,a,c){return{drag:Vi,drop:Kn}=l,dS(r,e,{top:t,left:n,right:o,bottom:i},s,a,c)}};function ul(r){let n=r.clientX-hp,o=r.clientY-fp;Math.max(Math.abs(n),Math.abs(o))>Uc&&(window.removeEventListener("mousemove",ul,!1),window.removeEventListener("mouseup",hl,!1),Mn==null||Mn(r,n,o),Mn=null)}function hl(){ll&&(window.clearTimeout(ll),ll=null),window.removeEventListener("mousemove",ul,!1),window.removeEventListener("mouseup",hl,!1)}function dS(r,e,t,n,o,i){Dr=fS(r,e);let{"data-path":s,path:l=s}=H(Dr);i&&(Gc=i.map(f=>an(r,d=>d.id===f)).map(f=>f.props.path)),al=vo.measure(Dr,i);let a=al[l];sl=new nl(a,n.x,n.y,t,o);let c=Math.round(sl.x.mousePct*100),u=Math.round(sl.y.mousePct*100);return window.addEventListener("mousemove",mp,!1),window.addEventListener("mouseup",yp,!1),window.addEventListener("keydown",gp,!1),pp=!1,cl.prepare(t,"tab-only"),dp.DoNotTransform?"transform:none":`transform:scale(${up},${up});transform-origin:${c}% ${u}%;`}function mp(r){let e=r.clientX,t=r.clientY,n=sl,o=Lr,i,s,l;n.update("x",e)&&(s=n.x.pos),n.update("y",t)&&(l=n.y.pos),s===void 0&&l===void 0||Vi==null||Vi(s,l),!(pp||Dr===void 0)&&(n.inBounds()?i=rl(e,t,Dr,al,n.hasIntrinsicSize(),Gc):i=rl(n.dropX(),n.dropY(),Dr,al),o&&(i==null||i.box!==o.box)&&(Lr=null),i&&(cl.draw(i,n),Lr=i))}function gp(r){r.key==="Escape"&&(Lr=null,bp())}function yp(){bp()}function bp(){if(Lr){let r=cl.hoverDropTarget||kn.getActiveDropTarget(Lr);Kn==null||Kn(r),Lr=null}else Kn==null||Kn();Vi=null,Kn=null,Dr=void 0,cl.clear(),Gc=void 0,window.removeEventListener("mousemove",mp,!1),window.removeEventListener("mouseup",yp,!1),window.removeEventListener("keydown",gp,!1)}var xp=z(require("classnames")),vp=require("react");var Sp=require("react/jsx-runtime"),wo=(0,vp.forwardRef)(function({children:e,className:t,dropTarget:n,resizeable:o,...i},s){let l=(0,xp.default)("DraggableLayout",t);return(0,Sp.jsx)("div",{className:l,ref:s,...i,children:e})}),wp="DraggableLayout";wo.displayName=wp;xe(wp,wo,"container");var Np=require("@salt-ds/core"),Vp=z(require("classnames")),Fp=require("react");var Ap=require("@vuu-ui/vuu-utils"),ve=z(require("react"));var Tp=z(require("classnames"));var kp=require("react/jsx-runtime"),Cp="vuuPlaceholder",Fi=({className:r,closeable:e,flexFill:t,resizeable:n,shim:o,...i})=>(0,kp.jsx)("div",{className:(0,Tp.default)(Cp,r,{[`${Cp}-shim`]:o}),...i,"data-placeholder":!0,"data-resizeable":!0});Fi.displayName="Placeholder";xe("Placeholder",Fi);var Mp=z(require("classnames")),Qe=z(require("react"));var qc=require("react/jsx-runtime"),dl="vuuSplitter",Ep=Qe.default.memo(function({column:e,index:t,onDrag:n,onDragEnd:o,onDragStart:i,style:s}){let l=(0,Qe.useRef)(),a=(0,Qe.useRef)(null),c=(0,Qe.useRef)(0),[u,h]=(0,Qe.useState)(!1),f=(0,Qe.useCallback)(({key:b,shiftKey:C})=>{let k=C?10:1;e&&b==="ArrowDown"?n(t,k):e&&b==="ArrowUp"||!e&&b==="ArrowLeft"?n(t,-k):!e&&b==="ArrowRight"&&n(t,k)},[e,t,n]),d=(0,Qe.useCallback)(b=>{let{key:C}=b;(e&&(C==="ArrowUp"||C==="ArrowDown")||!e&&(C==="ArrowLeft"||C==="ArrowRight"))&&(i(t),f(b),p.current=f)},[e,f,t,i]),p=(0,Qe.useRef)(d),m=b=>p.current(b),y=(0,Qe.useCallback)(b=>{l.current=!0;let C=b[e?"clientY":"clientX"],k=C-c.current;C&&C!==c.current&&n(t,k),c.current=C},[e,t,n]),g=(0,Qe.useCallback)(()=>{var b;window.removeEventListener("mousemove",y,!1),window.removeEventListener("mouseup",g,!1),o(),h(!1),(b=a.current)==null||b.focus()},[y,o,h]),v=(0,Qe.useCallback)(b=>{c.current=e?b.clientY:b.clientX,i(t),window.addEventListener("mousemove",y,!1),window.addEventListener("mouseup",g,!1),b.preventDefault(),h(!0)},[e,y,g,t,i,h]),w=()=>{var b;l.current?l.current=!1:(b=a.current)==null||b.focus()},x=()=>{p.current=d},S=(0,Mp.default)(dl,{[`${dl}-active`]:u,[`${dl}-column`]:e});return(0,qc.jsx)("div",{className:S,"data-splitter":!0,ref:a,role:"separator",style:s,onBlur:x,onClick:w,onKeyDown:m,onMouseDown:v,tabIndex:0,children:(0,qc.jsx)("div",{className:`${dl}-grab-zone`})})});var jc=require("@vuu-ui/vuu-utils"),Jc=z(require("react"));var pS={"data-placeholder":!0,"data-resizeable":!0},pl={},jn="auto",Kc={flexBasis:0,flexGrow:1,flexShrink:1,height:jn,width:jn},Rp={height:"width",width:"height"},Qc=(r="row")=>r==="row"?["width","height","column"]:["height","width","row"],mS=r=>typeof r=="string"&&r.endsWith("%"),mt=r=>{let{style:{width:e=jn,height:t=jn}=pl}=r.props,n=typeof t=="number",o=typeof e=="number";return n&&o?{height:t,width:e}:n?{height:t}:o?{width:e}:void 0};function ml(r,e,t){let n=Rp[e],{style:{[n]:o=jn,...i}=pl}=r.props;return t&&t[e]?{...i,...Kc,flexBasis:t[e],flexGrow:0,flexShrink:0}:{...i,...Kc,[n]:o}}function Yc(r){let{style:{flex:e,flexGrow:t,flexShrink:n,flexBasis:o}=pl}=r.props;return typeof e=="number"||o===0&&t===1&&n===1?!0:typeof o!="number"}function gl(r,e,t){let n=Rp[e],{style:{[e]:o=jn,[n]:i=jn,...s}=pl}=r.props;return o!==jn?mS(o)?{flexBasis:0,flexGrow:1,flexShrink:1,[e]:void 0,[n]:i}:{flexBasis:o,flexGrow:0,flexShrink:0,[e]:o,[n]:i}:t&&t[e]?{...s,...Kc,flexBasis:t[e],flexGrow:0,flexShrink:0}:{...s,[n]:i}}function So(r,e,t,n,o){let i=[],s=0,l;if(n&&o){let u,[h,f,d,p]=o;[u,l]=e==="column"?[f-n.top,n.bottom-p]:[h-n.left,n.right-d],u&&i.push(Jt(`${t}.${s++}`,u,{flexGrow:0,flexShrink:0}))}else l=!0;let{version:a=0,style:c}=H(r);return i.push(Ae(r,`${t}.${s++}`,{version:a+1,style:{...c,flexBasis:"auto",flexGrow:0,flexShrink:0}})),l&&i.push(Jt(`${t}.${s++}`,0,void 0,{[`data-${e}-placeholder`]:!0})),yl(e,{resizeable:!1,style:{flexBasis:"auto"}},i,t)}var gS=(r,e)=>{if(!e)return r===0?1:0};function yl(r,e,t,n){let o=(0,jc.uuid)(),{flexFill:i,style:s,resizeable:l=!0}=e,{flexBasis:a=i?void 0:"auto"}=s,c=gS(a,i);return Jc.default.createElement(Un.Flexbox,{id:o,key:o,path:n,flexFill:i,style:{...s,flexDirection:r,flexBasis:a,flexGrow:c,flexShrink:c},resizeable:l},t)}var yS={flexGrow:1,flexShrink:1};function Jt(r,e,t,n){let o=(0,jc.uuid)();return Jc.default.createElement("div",{...pS,...n,"data-path":r,id:o,key:o,style:{...yS,...t,flexBasis:e}})}var bS={},Bi=1,Hi=2,xS=r=>typeof r.intrinsicSize=="number",vS=(r,e)=>{let t={};return r.forEach(n=>{t[n]=K(e,n)}),t},bl=(r,e,t)=>r.map((n,o)=>{var a;let i=K(n,"resizeable"),{[e]:s}=(a=mt(n))!=null?a:bS,l=Yc(n);return t?{index:o,flexOpen:l,intrinsicSize:s,resizeable:i,...vS(t,n)}:{index:o,flexOpen:l,intrinsicSize:s,resizeable:i}}),Ip=r=>{let e=r.length,t=r.every(xS),n=Array(e).fill(0);if(t&&e>0&&(n[0]=Hi,n[e-1]=Hi),e<2)return n;for(let o=0,i=0;o<e-1;o++)r[o].resizeable&&!i&&(i=Bi),n[o]+=i;for(let o=e-1;o>0&&(n[o]&Bi&&(n[o]-=Bi),!r[o].resizeable);o--);return n},Pp=(r,e)=>{let t=SS(r,e),n=CS(r,e),o=t!==-1&&n!==-1?[t,n]:void 0,i=wS(r,o);return[o,i]};function wS(r,e){if(e){let t=[];for(let n=0;n<r.length;n++)r[n].flexOpen&&!e.includes(n)&&t.push(n);return t}}function SS(r,e){let t=e,n=!1;for(;t>=1&&!n;)t=t-1,n=Dp(r,t);return t}function CS(r,e){let t=e,n=!1,o=r.length;for(;t<o-1&&!n;)t=t+1,n=Dp(r,t);return t===o?-1:t}function Dp(r,e){let{placeholder:t,splitter:n,resizeable:o,intrinsicSize:i}=r[e];return!!(!n&&!i&&(t||o))}var TS=r=>!r.splitter&&!r.placeholder,Op=({children:r,onSplitterMoved:e,style:t})=>{let n=(0,ve.useRef)(null),o=(0,ve.useRef)(),i=(0,ve.useRef)(),s=(0,ve.useRef)([]),[,l]=(0,ve.useState)({}),a=y=>{i.current=y,l({})},c=(t==null?void 0:t.flexDirection)==="column",u=c?"height":"width",h=(0,ve.useMemo)(()=>Array.isArray(r)?r:ve.default.isValidElement(r)?[r]:[],[r]),f=(0,ve.useCallback)(y=>{let{current:g}=o;if(g){let[v,w]=Pp(g,y);v&&(v.forEach(x=>{var b;let S=(b=n.current)==null?void 0:b.childNodes[x];if(S){let{size:C,minSize:k}=RS(S,u);g[x].currentSize=C,g[x].minSize=k}}),w&&w.forEach(x=>{var b;let S=(b=n.current)==null?void 0:b.childNodes[x];if(S){let{[u]:C}=S.getBoundingClientRect();g[x].flexBasis=C}}))}},[u]),d=(0,ve.useCallback)((y,g)=>{i.current&&o.current&&a(MS(i.current,o.current,g,u))},[u]),p=(0,ve.useCallback)(()=>{let y=o.current;y&&(e==null||e(y.filter(TS))),y==null||y.forEach(g=>{g.currentSize=void 0,g.flexBasis=void 0,g.flexOpen=!1})},[e]),m=(0,ve.useCallback)(y=>ve.default.createElement(Ep,{column:c,index:y,key:`splitter-${y}`,onDrag:d,onDragEnd:p,onDragStart:f}),[d,p,f,c]);return(0,ve.useMemo)(()=>{let[y,g]=kS(h,u,m,s.current);o.current=g,i.current=y},[h,m,u]),{content:i.current||[],rootRef:n}};function kS(r,e,t,n){let o=bl(r,e),i=Ip(o),s=[],l=[];for(let a=0;a<r.length;a++){let c=r[a];if(a===0&&i[a]&Hi&&(s.push(Lp(a)),l.push({placeholder:!0,shim:!0})),c.key==null){let u=n[a]||(n[a]=(0,Ap.getUniqueId)());s.push(ve.default.cloneElement(c,{key:u}))}else s.push(c);l.push(o[a]),a>0&&i[a]&Hi?(s.push(Lp(a)),l.push({placeholder:!0})):i[a]&Bi&&(s.push(t(s.length)),l.push({splitter:!0}))}return[s,l]}function MS(r,e,t,n){return ES(e,t)?r.map((i,s)=>{let l=e[s],{currentSize:a,flexOpen:c,flexBasis:u}=l,h=a!==void 0;if(h||c){let{flexBasis:f}=i.props.style||{},d=h?l.currentSize:u;return d!==f?ve.default.cloneElement(i,{style:{...i.props.style,flexBasis:d,[n]:"auto"}}):i}else return i}):r}function ES(r,e){let t=[];r.forEach((u,h)=>{u.currentSize!==void 0&&t.push(h)});let n=e<0?t[0]:t[1],{currentSize:o=0,minSize:i=0}=r[n];if(o===i)return!1;if(Math.abs(e)>o-i){let u=e<0?-1:1;e=Math.max(0,o-i)*u}let s=r[t[0]],{currentSize:l=0}=s;s.currentSize=l+e;let a=r[t[1]],{currentSize:c=0}=a;return a.currentSize=c-e,!0}function Lp(r){return ve.default.createElement(Fi,{shim:r===0,key:`placeholder-${r}`})}function RS(r,e){let{[e]:t}=r.getBoundingClientRect(),o=getComputedStyle(r).getPropertyValue(`min-${e}`),i=o.endsWith("px")?parseInt(o,10):0;return{size:t,minSize:i}}var Hp=require("react/jsx-runtime"),Xc="hwFlexbox",Bp=(0,Fp.forwardRef)(function(e,t){let{breakPoints:n,children:o,column:i,className:s,flexFill:l,gap:a,fullPage:c,id:u,onSplitterMoved:h,resizeable:f,row:d,spacing:p,splitterSize:m,style:y,...g}=e,{content:v,rootRef:w}=Op({children:o,onSplitterMoved:h,style:y}),x=(0,Vp.default)(Xc,s,{[`${Xc}-column`]:i,[`${Xc}-row`]:d,"flex-fill":l,"full-page":c});return(0,Hp.jsx)("div",{...g,className:x,"data-resizeable":f||void 0,id:u,ref:(0,Np.useForkRef)(w,t),style:{...y,gap:a,"--spacing":p},children:v})});Bp.displayName="Flexbox";var Co=Bp;var pm=require("react");var Jn={ADD:"add",BLUR:"blur",BLUR_SPLITTER:"blur-splitter",DRAG_START:"drag-start",DRAG_STARTED:"drag-started",DRAG_DROP:"drag-drop",FOCUS:"focus",FOCUS_SPLITTER:"focus-splitter",INITIALIZE:"initialize",LAYOUT_RESIZE:"layout-resize",MAXIMIZE:"maximize",MINIMIZE:"minimize",REMOVE:"remove",REPLACE:"replace",RESTORE:"restore",SAVE:"save",SET_TITLE:"set-title",SPLITTER_RESIZE:"splitter-resize",SWITCH_TAB:"switch-tab",TEAR_OUT:"tear-out"};var Ze=require("react");var Tl=z(require("react"));var lu=require("@vuu-ui/vuu-utils"),ko=z(require("react"));var ru=require("@vuu-ui/vuu-utils"),Qn=z(require("react"));var Ar=require("react"),Ye=new Map,Dt=new Map,Zc=r=>Ye.get(r),eu=r=>Ye.has(r),tu=(r,e)=>Ye.set(r,e),Or=()=>{let r=(0,Ar.useCallback)((s,l)=>{let a=Dt.get(s);if(a)return l!==void 0&&a[l]!==void 0?a[l]:l!==void 0?void 0:a},[]),e=(0,Ar.useCallback)((s,l,a)=>{if(l===void 0)Dt.set(s,a);else if(Dt.has(s)){let c=Dt.get(s);Dt.set(s,{...c,[l]:a})}else Dt.set(s,{[l]:a})},[]),t=(0,Ar.useCallback)((s,l)=>{if(Dt.has(s)){if(l===void 0)Dt.delete(s);else if(Dt.get(s)[l]){let{[l]:c,...u}=Dt.get(s);Object.keys(u).length>0?Dt.set(s,u):Dt.delete(s)}}},[]),n=(0,Ar.useCallback)((s,l)=>{let a=Ye.get(s);if(a)return l!==void 0?a[l]:a},[]),o=(0,Ar.useCallback)((s,l,a)=>{if(l===void 0)Ye.set(s,a);else if(Ye.has(s)){let c=Ye.get(s);Ye.set(s,{...c,[l]:a})}else Ye.set(s,{[l]:a})},[]),i=(0,Ar.useCallback)((s,l)=>{if(Ye.has(s)){if(l===void 0)Ye.delete(s);else if(Ye.get(s)[l]){let{[l]:c,...u}=Ye.get(s);Object.keys(u).length>0?Ye.set(s,u):Ye.delete(s)}}},[]);return{loadSessionState:r,loadState:n,saveSessionState:e,saveState:o,purgeState:i,purgeSessionState:t}};var ou=r=>r.flexDirection==="column"?["height","width"]:["width","height"],IS={},To=(r,e="0")=>{let[t,n]=vl(j(r),r.props,e);return Qn.default.cloneElement(r,t,n)},xl=(r,e)=>{let t=j(r),[n,o]=vl(t,r.props,"0",void 0,e);return(0,Qn.cloneElement)(r,n,o)},PS=(r,e,t)=>{let[n,o]=vl(r,e,"0",void 0,t);return{...e,...n,type:r,children:o}};function DS(r,e,t="0",n=null,o){var m,y;let{active:i=0,"data-path":s,path:l=s,id:a,style:c}=H(o),u=j(o)===r&&t===l,h=u?a:(m=e.id)!=null?m:(0,ru.uuid)(),f=r==="Stack"?(y=e.active)!=null?y:i:void 0,d=h,p=u?c:AS(r,e,n);return Tc(r)?{id:h,key:d,path:t,style:p,type:r,active:f}:{id:h,key:d,style:p,"data-path":t}}function vl(r,e,t,n=null,o){var c,u;let i=DS(r,e,t,n,o);if(e.layout&&!o)return[i,[Nr(e.layout,`${t}.0`)]];let s=(u=o==null?void 0:o.children)!=null?u:(c=o==null?void 0:o.props)==null?void 0:c.children,a=e.dropTarget&&s?s:LS(r,e.children,t,s);return[i,a]}function LS(r,e,t="0",n){let o=Array.isArray(e)?e:Qn.default.isValidElement(e)?[e]:[];return ze(r)?o.map((i,s)=>{let l=j(i),a=j(n==null?void 0:n[s]);if(!a||l===a){let[c,u]=vl(l,i.props,`${t}.${s}`,r,n==null?void 0:n[s]);return Qn.default.cloneElement(i,c,u)}return n==null?void 0:n[s]}):e}var AS=(r,e,t)=>{let{style:n=IS}=e;if(r==="Flexbox"&&(n={flexDirection:e.column?"column":"row",...n,display:"flex"}),n.flex){let{flex:o,...i}=n;n={...i,...tl(typeof o=="number"?o:0)}}else t==="Stack"?n={...n,...tl(1)}:t==="Flexbox"&&(n.width||n.height)&&n.flexBasis===void 0&&(n={...n,flexBasis:"auto",flexGrow:0,flexShrink:0});return n};function Nr({id:r=(0,ru.uuid)(),type:e,children:t,props:n,state:o},i){let s=e.match(/^[a-z]/)?e:Un[e];if(s===void 0)throw Error(`layoutUtils unable to create component from JSON, unknown type ${e}`);return o&&tu(r,o),Qn.default.createElement(s,{id:r,...n,key:r,path:i},t?t.map((l,a)=>Nr(l,`${i}.${a}`)):void 0)}function iu(r){return su(r)}function su(r){let e=j(r),{id:t,children:n,type:o,...i}=H(r),s=eu(t)?Zc(t):void 0;return{id:t,type:e,props:_p(i),state:s,children:Qn.default.Children.map(n,su)}}function _p(r){if(r){let{path:e,...t}=r,n={};for(let[o,i]of Object.entries(t))n[o]=nu(i);return n}}function nu(r){if(typeof r=="string"||typeof r=="number"||typeof r=="boolean")return r;if(Array.isArray(r))return r.map(nu);if(typeof r=="object"&&r!==null){let e={};for(let[t,n]of Object.entries(r))e[t]=nu(n);return e}}function zp(r,e){var s;let t=r.props.children,n=t.length,{index:o=-1,positionRelativeToTab:i="after"}=e.tab||{};return o===-1||o>=n?[t[n-1],"after"]:[(s=t[o])!=null?s:null,i]}function wl(r,e,t){let{active:n,children:o=[],path:i}=H(r),s=K(e,"path"),{idx:l,finalStep:a}=Pt(i,s,!0),[c,u]=a?OS(r,o,t):[n,o==null?void 0:o.map((f,d)=>d===l?wl(f,e,t):f)],h=j(r)==="Stack"?Array.isArray(c)?c[0]:c:n;return ko.default.cloneElement(r,{active:h},u)}function OS(r,e,t){let n=K(r,"path"),o=e==null?void 0:e.length,{id:i=(0,lu.uuid)()}=H(t);return o?[o,e.concat(Ae(t,`${n}.${o}`,{id:i,key:i}))]:[0,[Ae(t,`${n}.0`,{id:i})]]}function Sl(r,e,t,n,o,i,s){let{active:l,children:a,path:c}=H(r),u=K(e,"path"),{idx:h,finalStep:f}=Pt(c,u),[d,p]=f?NS(r,a,h,t,n,o,i,s):[l,a.map((y,g)=>g===h?Sl(y,e,t,n,o,i,s):y)],m=j(r)==="Stack"?d:l;return ko.default.cloneElement(r,{active:m},p)}function NS(r,e,t,n,o,i,s,l){let a=mt(n);return a!=null&&a.width&&(a!=null&&a.height)?FS(r,e,t,n,o,s,l):Wp(r,e,t,n,o,(i==null?void 0:i.width)||(i==null?void 0:i.height),s)}var VS=(r,e,{top:t,right:n,bottom:o,left:i},[s,l,a,c])=>{if(r==="column"&&e==="before")return l-t;if(r==="column")return o-c;if(r==="row"&&e==="before")return s-i;if(r==="row")return n-a};function FS(r,e,t,n,o,i,s){let{style:{flexDirection:l}}=H(r),[a,c,u]=Qc(l),{[c]:h,[a]:f}=mt(n),d=K(e[t],"path"),p=VS(l,o,i,s),[m,y]=h<i[c]?[So(n,u,d,i,s),f]:[n,void 0],g=p?Jt(d,p,{flexGrow:0,flexShrink:0}):void 0;return h>i[c]&&(e=e.map(v=>{if(K(v,"placeholder"))return v;{let{[c]:w}=mt(v);return w&&w<h?So(v,u,K(v,"path")):v}})),Wp(r,e,t,m,o,y,i,g)}function Wp(r,e,t,n,o,i,s,l){let a=K(r,"path"),c=0,u=!e||e.length===0?[n]:e.reduce((h,f,d)=>{if(t===d){let[p,m]=BS(r,f,n,s);o==="before"?l?h.push(l,m,p):h.push(m,p):l?h.push(p,m,l):h.push(p,m),c=h.indexOf(m)}else h.push(f);return h},[]).map((h,f)=>f<c?h:Ae(h,`${a}.${f}`));return[c,u]}function BS(r,e,t,n){let o=(0,lu.uuid)(),{version:i=0}=H(t);if(i+=1,j(r)==="Flexbox"){let[s]=ou(r.props.style),l=6,a={[s]:(n[s]-l)/2},c=gl(e,s,a),u=gl(t,s,a);return[ko.default.cloneElement(e,{style:c}),ko.default.cloneElement(t,{id:o,version:i,style:u})]}else{let{style:{left:s,top:l,flex:a,...c}={left:void 0,top:void 0,flex:void 0}}=H(t);return[e,ko.default.cloneElement(t,{id:o,version:i,style:c})]}}var Up=require("react");var _i=z(require("react"));function $p(r,{target:e,replacement:t}){return au(r,e,t)}function au(r,e,t){let n=K(e,"path"),o=K(e,"resizeable"),{style:i}=H(e),s=To(_i.default.cloneElement(t,{resizeable:o,style:{...i,...t.props.style}}),n);return Xe(r,e,s)}function Xe(r,e,t,n){if(r===e)return t;let{idx:o,finalStep:i}=Pt(K(r,"path"),K(e,"path")),s=r.props.children.slice();return i?n?n===Jn.MINIMIZE?s[o]=HS(r,s[o]):n===Jn.RESTORE&&(s[o]=_S(s[o])):s[o]=t:s[o]=Xe(s[o],e,t,n),_i.default.cloneElement(r,void 0,s)}function HS(r,e){let{style:t}=H(r),{style:n}=H(e),{width:o,height:i,flexBasis:s,flexShrink:l,flexGrow:a,...c}=n,u={width:o,height:i,flexBasis:s,flexShrink:l,flexGrow:a},h={...c,flexBasis:0,flexGrow:0,flexShrink:0},f=t.flexDirection==="row"?"vertical":t.flexDirection==="column"?"horizontal":!1;return f?_i.default.cloneElement(e,{collapsed:f,restoreStyle:u,style:h}):e}function _S(r){let{style:e,restoreStyle:t}=H(r),{flexBasis:n,flexShrink:o,flexGrow:i,...s}=e,l={...s,...t};return _i.default.cloneElement(r,{collapsed:!1,style:l,restoreStyle:void 0})}function Gp(r,{fromIndex:e,path:t,toIndex:n}){let o=Ee(r,t,!0),{children:i}=H(o),s=zS(i,e,n),l=(0,Up.cloneElement)(o,void 0,s);return Xe(r,o,l)}function zS(r,e,t){let n=r.slice(),[o]=n.splice(e,1);return t===-1?n.concat(o):(n.splice(t,0,o),n)}var Oe={ADD:"add",DRAG_START:"drag-start",DRAG_DROP:"drag-drop",LAYOUT_RESIZE:"layout-resize",MAXIMIZE:"maximize",MINIMIZE:"minimize",MOVE_CHILD:"move-child",REMOVE:"remove",REPLACE:"replace",RESTORE:"restore",SAVE:"save",SET_PROP:"set-prop",SET_PROPS:"set-props",SET_TITLE:"set-title",SPLITTER_RESIZE:"splitter-resize",SWITCH_TAB:"switch-tab",TEAROUT:"tearout"},WS=r=>["switch-active-layout","open-layout","close-layout","rename-layout"].includes(r),$S=r=>["switch-active-tab","edit-feature-title","save-feature-props","remove-component","resize-component","drag-drop-operation"].includes(r);var Yn=z(require("react"));function cu(r,{path:e}){let t=Ee(r,e),n=ln(r,e);if(n===null)return r;let{children:o}=H(n);if(o.length>1&&Kp(o,e)){let{style:{flexBasis:i,display:s,flexDirection:l,...a}}=H(n),c=K(n,"path"),u=Xe(r,n,Jt(c,i,a));for(;(n=ln(u,c))&&K(n,"path")!=="0";){let{children:h}=H(n);if(Kp(h)){c=K(n,"path");let{style:{flexBasis:f,display:d,flexDirection:p,...m}}=H(n);u=Xe(r,n,Jt(c,f,m))}else if(KS(h))u=Qp(r,n);else break}return u}return jp(r,t)}function jp(r,e){let t=H(r),{children:n,path:o,preserve:i}=t,{active:s}=t,{idx:l,finalStep:a}=Pt(o,K(e,"path")),c=j(r),u=n.slice();if(a){if(u.splice(l,1),s!==void 0&&s>=l&&(s=Math.max(0,s-1)),u.length===1&&!i&&o!=="0"&&c.match(/Flexbox|Stack/))return US(r,u[0]);!u.some(GS)&&u.some(Jp)&&(u=qS(u))}else u[l]=jp(u[l],e);return u=u.map((h,f)=>Ae(h,`${o}.${f}`)),Yn.default.cloneElement(r,{active:s},u)}function US(r,e){let t=j(r),{path:n,style:{flexBasis:o,flexGrow:i,flexShrink:s,width:l,height:a}}=H(r),c=Ae(e,n);if(n==="0")c=Yn.default.cloneElement(c,{style:{...e.props.style,width:l,height:a}});else if(t==="Flexbox"){let u=r.props.style.flexDirection==="column"?"height":"width",{style:{[u]:h,...f}}=c.props;c=Yn.default.cloneElement(c,{flexFill:void 0,style:{...f,flexGrow:i,flexShrink:s,flexBasis:o,width:l,height:a}})}return c}var GS=r=>r.props.style.flexGrow>0,Jp=r=>{let{width:e,height:t,flexGrow:n}=r.props.style;return n===0&&typeof e!="number"&&typeof t!="number"},qS=r=>r.map(e=>Jp(e)?Yn.default.cloneElement(e,{style:{...e.props.style,flexGrow:1}}):e),KS=r=>{if(r&&r.length>0){let e=K(r[0],"placeholder"),t=!1;for(let n=1;n<r.length;n++){if(t=K(r[n],"placeholder"),e&&t)return!0;e=t}}},Qp=(r,e)=>{let{children:t,path:n}=H(r),{idx:o,finalStep:i}=Pt(n,K(e,"path")),s=t.slice();return i?s[o]=jS(e):s[o]=Qp(s[o],e),s=s.map((l,a)=>Ae(l,`${n}.${a}`)),Yn.default.cloneElement(r,void 0,s)},jS=r=>{let{children:e}=H(r),t=[],n=[];for(let i=0;i<e.length;i++)K(e[i],"placeholder")?n.push(e[i]):(n.length===1?t.push(n.pop()):n.length>0&&(t.push(qp(n)),n.length=0),t.push(e[i]));n.length===1?t.push(n.pop()):n.length>0&&t.push(qp(n));let o=K(r,"path");return Yn.default.cloneElement(r,void 0,t.map((i,s)=>Ae(i,`${o}.${s}`)))},qp=([r,...e])=>{let t=K(r,"style"),{flexBasis:n,flexGrow:o,flexShrink:i}=t;for(let{props:{style:s}}of e)n+=s.flexBasis,o=Math.max(o,s.flexGrow),i=Math.max(i,s.flexShrink);return Yn.default.cloneElement(r,{style:{...t,flexBasis:n,flexGrow:o,flexShrink:i}})},Kp=(r,e)=>r.every(t=>K(t,"placeholder")||e&&K(t,"path")===e);var Cl=z(require("react"));function Yp(r,{path:e,size:t}){let n=Ee(r,e,!0),{style:o}=H(n),i={...o,width:t},s=Cl.default.cloneElement(n,{style:i});return Xe(r,n,s)}function Xp(r,{path:e,sizes:t}){let n=Ee(r,e,!0),{children:o,style:i}=H(n),s=i.flexDirection==="column"?"height":"width",l=JS(o,t,s),a=Cl.default.cloneElement(n,void 0,l);return Xe(r,n,a)}function JS(r,e,t){return r.map((n,o)=>{let{style:{[t]:i,flexBasis:s}}=H(n),l=e[o],{currentSize:a,flexBasis:c}=l,h=a!==void 0?l.currentSize:c;return h===void 0||i===h||s===h?n:Cl.default.cloneElement(n,{style:QS(n.props.style,t,h)})})}function QS(r,e,t){let n=typeof r[e]=="number",{flexShrink:o=1,flexGrow:i=1}=r;return{...r,[e]:n?t:"auto",flexBasis:n?"auto":t,flexShrink:o,flexGrow:i}}var Zp=require("@vuu-ui/vuu-utils"),zi=z(require("react"));var em=r=>{let[e]=j(r);return e===e.toLowerCase()};function Wi(r,e,t,n,o,i){let{children:s,path:l}=H(r),a=K(e,"path"),{idx:c,finalStep:u}=Pt(l,a),h=u?YS(r,s,e,t,n,o,i):s.map((f,d)=>d===c?Wi(f,e,t,n,o,i):f);return zi.default.cloneElement(r,void 0,h)}function YS(r,e,t,n,o,i,s){let l=mt(n);if(l!=null&&l.width&&(l!=null&&l.height)){if(i===void 0||s===void 0)throw Error("wrap-layout-element, updateChildren clientRect and dropRect must both be available");return ZS(e,t,n,o,i,s)}return XS(r,e,t,n,o)}function XS(r,e,t,n,o){var b;let{version:i=0}=H(n),s=K(t,"path"),{type:l,flexDirection:a,showTabs:c}=nm(o),[u,h,f]=eC(l,t,n,a,o),d=tm(o),p=d?1:0,m={resizeable:!0,style:f,version:i+1},g={[em(t)?"data-resizeable":"resizeable"]:!0,style:h},v=l==="Stack"?{showTabs:c}:void 0,w=l==="Flexbox"?{splitterSize:(b=j(r)==="Flexbox"&&r.props.splitterSize)!=null?b:void 0}:void 0,x=(0,Zp.uuid)(),S=zi.default.createElement(Un[l],{active:p,id:x,key:x,path:K(t,"path"),flexFill:K(t,"flexFill"),...w,...v,style:u,resizeable:K(t,"resizeable")},d?[Ae(t,`${s}.0`,g),To(zi.default.cloneElement(n,m),`${s}.1`)]:[To(zi.default.cloneElement(n,m),`${s}.0`),Ae(t,`${s}.1`,g)]);return e.map(C=>C===t?S:C)}function ZS(r,e,t,n,o,i){let{flexDirection:s}=nm(n),l=s==="column"?"row":"column",a=tm(n),[c,u,h,f]=i,[d,p]=s==="column"?[u-o.top,o.bottom-f]:[c-o.left,o.right-h],m=K(e,"path"),y=0,g=em(e)?"data-resizeable":"resizeable",v=[];d&&v.push(a?Ae(e,`${m}.${y++}`,{[g]:!0,style:{flexBasis:d,flexGrow:1,flexShrink:1}}):Jt(`${m}.${y++}`,d,{flexGrow:0,flexShrink:0})),v.push(So(t,l,`${m}.${y++}`,o,i)),p&&v.push(a?Jt(`${m}.${y++}`,0):Ae(e,`${m}.${y++}`,{[g]:!0,style:{flexBasis:0,flexGrow:1,flexShrink:1}}));let w=yl(s,e.props,v,m);return r.map(x=>x===e?w:x)}function eC(r,e,t,n,o){let i={...e.props.style,flexDirection:n},s=r==="Flexbox"&&n==="column"?"height":"width",l=ml(t,s,o),a=ml(e,s);return[i,a,l]}var tm=r=>{var e;return r.position.SouthOrEast?!0:((e=r==null?void 0:r.tab)==null?void 0:e.positionRelativeToTab)==="before"?!1:!!r.position.Header};function nm(r){return r.position.Header?{type:"Stack",flexDirection:"column",showTabs:!0}:{type:"Flexbox",flexDirection:r.position.EastOrWest?"row":"column"}}var uu=(r,e)=>{switch(e.type){case Oe.ADD:return iC(r,e);case Oe.DRAG_DROP:return oC(r,e);case Oe.MAXIMIZE:return rC(r,e);case Oe.REMOVE:return cu(r,e);case Oe.REPLACE:return $p(r,e);case Oe.SET_PROP:return rm(r,e);case Oe.SET_PROPS:return nC(r,e);case Oe.SET_TITLE:return rm(r,{type:"set-prop",path:e.path,propName:"title",propValue:e.title});case Oe.SPLITTER_RESIZE:return Xp(r,e);case Oe.LAYOUT_RESIZE:return Yp(r,e);case Oe.SWITCH_TAB:return tC(r,e);case Oe.MOVE_CHILD:return Gp(r,e);default:return r}},tC=(r,{path:e,nextIdx:t})=>{let n=Ee(r,e,!0),o=Tl.default.cloneElement(n,{active:t});return Xe(r,n,o)},rm=(r,{path:e,propName:t,propValue:n})=>{let o=Ee(r,e,!0),i=Tl.default.cloneElement(o,{[t]:n});return Xe(r,o,i)},nC=(r,{path:e,props:t})=>{let n=Ee(r,e,!0),o=Tl.default.cloneElement(n,t);return Xe(r,n,o)},rC=(r,{path:e,type:t})=>{if(e){let n=Ee(r,e,!0);return Xe(r,n,n,t)}else return r},oC=(r,e)=>{var p,m;let{draggedReactElement:t,dragInstructions:n,dropTarget:o}=e,i=o.component,{pos:s}=o,l=((p=s==null?void 0:s.position)==null?void 0:p.Header)&&j(i)==="Stack",{id:a,version:c}=H(t),u=mt(t),h;if(l){let[y,g]=zp(i,s);y===void 0?h=wl(r,i,t):h=Sl(r,y,t,g)}else!u&&((m=s==null?void 0:s.position)!=null&&m.Centre)?h=au(r,i,t):h=sC(r,o,t);if(n.DoNotRemove)return h;let f=an(h,y=>y.id===a&&y.version===c),d=K(f,"path");return cu(h,{path:d,type:"remove"})},iC=(r,{path:e,component:t})=>wl(r,Ee(r,e),t),sC=(r,e,t)=>{let{component:n,pos:o,clientRect:i,dropRect:s}=e,l=K(n,"path");if(l==="0.0")return Wi(r,n,t,o);let a=ln(r,l);if(om(o,a)){let c=o.position.SouthOrEast?"after":"before";return Sl(r,n,t,c,o,i,s)}if(!om(o,a))return Wi(r,n,t,o,i,s);if(ze(j(a)))return Wi(r,n,t,o);throw Error(`no support right now for position = ${o.position}`)},om=(r,e)=>r.position.Centre?sm(e)||im(e):r.position.NorthOrSouth?im(e):r.position.EastOrWest?sm(e):!1,im=r=>j(r)==="Flexbox"&&r.props.style.flexDirection==="column",sm=r=>j(r)==="Flexbox"&&r.props.style.flexDirection!=="column";var lm=require("react"),lC=r=>console.log(`dispatch ${r.type}, have you forgotten to provide a LayoutProvider ?`),Mo=(0,lm.createContext)({dispatchLayoutProvider:lC,version:-1});var En=require("react");var aC={},am=[0,0],cC=(r,e,t)=>{let n=document.createElement("div");n.className="vuuSimpleDraggableWrapper",n.classList.add("vuuSimpleDraggableWrapper","salt-theme","salt-density-medium"),n.dataset.dragging="true";let o=t!=null?t:document.createElement("div");o.id=e,n.appendChild(o),document.body.appendChild(n);let i=`top:${r.top}px;left:${r.left}px;width:${r.width}px;height:${r.height}px;`;return[n,i,r.left,r.top]},uC=r=>{let{offsetParent:e}=r;if(e===null)return am;{let{left:t,top:n}=e.getBoundingClientRect();return[t,n]}},cm=(r,e,t)=>{let n=(0,En.useRef)(),o=(0,En.useRef)(),i=(0,En.useRef)(),s=(0,En.useCallback)((u,h)=>{if(o.current&&i.current){let{dragOffsets:[f,d],targetPosition:p}=o.current,m=typeof u=="number"?u-f:p.left,y=typeof h=="number"?h-d:p.top;(m!==p.left||y!==p.top)&&(o.current.targetPosition.left=m,o.current.targetPosition.top=y,i.current.style.top=y+"px",i.current.style.left=m+"px")}},[]),l=(0,En.useCallback)(u=>{if(o.current){let{dragInstructions:h,payload:f,originalCSS:d}=o.current;u&&e({type:"drag-drop",draggedReactElement:f,dragInstructions:h,dropTarget:u}),i.current&&(!u&&h.DriftHomeIfNoDropTarget?(console.log("drift back to start"),document.body.removeChild(i.current)):h.RemoveDraggableOnDragEnd?document.body.removeChild(i.current):(i.current.style.cssText=d,delete i.current.dataset.dragging)),n.current=void 0,o.current=void 0,i.current=void 0}},[e]),a=(0,En.useCallback)(u=>{if(n.current){let{payload:h,dragContainerPath:f,dragElement:d,dragRect:p,instructions:m=aC,path:y}=n.current,{current:g}=r,v={x:u.clientX,y:u.clientY},w=h!=null?h:Ee(g,y,!0),{id:x}=w.props,S=mt(w),b="",C="",k="",E=-1,R=-1,M=am,P=document.getElementById(x);if(P===null)[P,C,E,R]=cC(p,x,d);else{M=uC(P);let[I,V]=M,{width:B,height:$,left:O,top:N}=P.getBoundingClientRect();E=O-I,R=N-V,C=`width:${B}px;height:${$}px;left:${E}px;top:${R}px;z-index: 100;background-color:#ccc;opacity: 0.6;`,P.dataset.dragging="true",b=P.style.cssText}k=fl.initDrag(r.current,f,p,v,{drag:s,drop:l},S),P.style.cssText=C+k,i.current=P,o.current={payload:w,originalCSS:b,dragRect:p,dragOffsets:M,dragInstructions:m,targetPosition:{left:E,top:R}}}},[s,l,r]);return(0,En.useCallback)(u=>{let{evt:h,...f}=u;n.current={...f,dragContainerPath:el(r.current,t)},fl.handleMousedown(h,a,f.instructions)},[a,t,r])};var fu=require("react/jsx-runtime"),um=r=>r.dropTarget,hC=r=>["drag-drop","remove","set-title","splitter-resize","switch-tab"].includes(r.type),hm=r=>{switch(r.type){case"switch-tab":return r.id==="main-tabs"?"switch-active-layout":"switch-active-tab";case"save":return"save-feature-props";case"drag-drop":return"drag-drop-operation";case"remove":return"remove-component";case"splitter-resize":return"resize-component";case"set-title":return"edit-feature-title";default:throw Error("unknown layout action")}},fC=()=>{let r=dm();return(0,fu.jsx)("div",{children:`Context: ${r} `})},fm=r=>{let{children:e,createNewChild:t,pathToDropTarget:n,layout:o,onLayoutChange:i}=r,s=(0,Ze.useRef)(void 0),l=(0,Ze.useRef)(e),[,a]=(0,Ze.useState)(null),c=(0,Ze.useCallback)((d,p)=>{if(i){let m=an(d,um)||s.current,g=j(m)==="DraggableLayout"?H(m).children[0]:m,v=iu(g);i(v,p)}},[i]),u=(0,Ze.useCallback)((d,p=!1)=>{let m=uu(s.current,d);m!==s.current&&(s.current=m,a({}),!p&&hC(d)&&c(m,hm(d)))},[a,c]),h=(0,Ze.useCallback)(d=>{switch(d.type){case"drag-start":{f(d);break}case"save":{c(s.current,hm(d));break}default:{u(d);break}}},[u,c]),f=cm(s,h,n);return(0,Ze.useEffect)(()=>{if(o){let d=an(s.current,um);if(d){let p=Pc(d),m=Nr(o,`${d.props.path}.0`),y=p?{type:Oe.REPLACE,target:p,replacement:m}:{type:Oe.ADD,path:d.props.path,component:m};u(y,!0)}else if(o.id===K(s.current,"id")){let p=Nr(o,"0"),m={type:Oe.REPLACE,target:s.current,replacement:p};u(m,!0)}}},[u,o]),s.current===void 0?s.current=xl(e):e!==l.current&&(s.current=xl(e,s.current),l.current=e),(0,fu.jsx)(Mo.Provider,{value:{createNewChild:t,dispatchLayoutProvider:h,version:0},children:s.current})},gt=()=>{let{dispatchLayoutProvider:r}=(0,Ze.useContext)(Mo);return r},hu=()=>{let{createNewChild:r}=(0,Ze.useContext)(Mo);return r},dm=()=>{let{version:r}=(0,Ze.useContext)(Mo);return r};var mm=require("react/jsx-runtime"),du=function(e){let{path:t}=e,n=gt(),o=(0,pm.useCallback)(i=>{n({type:Jn.SPLITTER_RESIZE,path:t,sizes:i})},[n,t]);return(0,mm.jsx)(Co,{...e,onSplitterMoved:o})};du.displayName="Flexbox";xe("Flexbox",du,"container");var Sm=require("@salt-ds/core"),Cm=z(require("classnames")),Ml=require("react");var Qt=require("react");var Fr=require("react"),mu=["height","width"],dC=["height"],pC=["width"],Vr=new WeakMap,gm=(r,e,t)=>{switch(t){case"height":return e.height;case"scrollHeight":return r.scrollHeight;case"scrollWidth":return r.scrollWidth;case"width":return e.width;default:return 0}},pu=new ResizeObserver(r=>{for(let e of r){let{target:t,contentRect:n}=e,o=Vr.get(t);if(o){let{onResize:i,measurements:s}=o,l=!1;for(let[a,c]of Object.entries(s)){let u=gm(t,n,a);u!==c&&(l=!0,s[a]=u)}l&&i&&i(s)}}});function $i(r,e,t,n=!1){let o=(0,Fr.useRef)(e),i=(0,Fr.useCallback)(s=>{let l=s.getBoundingClientRect();return o.current.reduce((a,c)=>(a[c]=gm(s,l,c),a),{})},[]);(0,Fr.useLayoutEffect)(()=>{let s=r.current,l=!1;async function a(){Vr.set(s,{measurements:{}}),l=!1;let{fonts:c}=document;if(c&&await c.ready,!l){let u=Vr.get(s);if(u){let h=i(s);u.measurements=h,pu.observe(s),n&&t(h)}}}if(s){if(Vr.has(s))throw Error("useResizeObserver attemping to observe same element twice");a()}return()=>{s&&Vr.has(s)&&(pu.unobserve(s),Vr.delete(s),l=!0)}},[r,i,n,t]),(0,Fr.useLayoutEffect)(()=>{let s=r.current,l=Vr.get(s);if(l){if(o.current!==e){o.current=e;let a=i(s);l.measurements=a}l.onResize=t}},[e,i,r,t])}function mC(r,e){let t=document.body.querySelector(`.${r}`),n={get:function(o,i){let s=o.getPropertyValue(`--${r}-breakpoint-${i}`);return s?parseInt(s):void 0}};return t?new Proxy(getComputedStyle(t),n):e!=null?e:{}}var gC=([,r],[,e])=>e-r,yu=r=>Object.entries(r).sort(gC).map(([e,t],n,o)=>[e,t,n<o.length-1?o[n+1][1]:9999]),gu=null,yC=(r="salt")=>{let{xs:e,sm:t,md:n,lg:o,xl:i}=mC(r);return yu({xs:e,sm:t,md:n,lg:o,xl:i})},ym=r=>(gu===null&&(gu=yC(r)),gu);var bC=[],bu=({breakPoints:r,smallerThan:e},t)=>{let[n,o]=(0,Qt.useState)(e?!1:"lg"),i=(0,Qt.useRef)(document.body),s=(0,Qt.useRef)(r?yu(r):ym()),l=(0,Qt.useRef)("lg"),a=(0,Qt.useCallback)(u=>{if(s.current){for(let[h,f]of s.current)if(u>=f)return h}},[s]),c=(0,Qt.useCallback)(u=>{if(e){let h=s.current.find(([f])=>f===e);if(h){let[,,f]=h;return u<f}}else return a(u);return u},[e,a]);return $i(t||i,s.current?["width"]:bC,({width:u})=>{let h=c(u);h!==l.current&&(l.current=h,o(h))},!0),(0,Qt.useEffect)(()=>{let u=t||i;if(u.current){let h=l.current;if(s.current){let{clientWidth:f}=u.current,d=c(f);l.current=d,d!==h&&o(d)}}},[o,c,t]),n};var bm="data-collapsible",xC={[bm]:!0,"data-pad-start":!0,"data-pad-end":!0},xm=r=>{var e;return(e=xC[r])!=null?e:!1},vC=r=>r===bm,wC={dynamic:"dynamic",instant:"instant",true:"instant"},SC=r=>{var e;return(e=wC[r])!=null?e:"none"},CC=r=>Object.keys(r).reduce((e,t)=>{let[n,o]=e;if(xm(t)){let i=vC(t)?SC(r[t]):r[t];n[t]=i,o[t]=void 0}return e},[{},{}]);var vm=require("@vuu-ui/vuu-utils"),yt=require("react");var TC=["xs","sm","md","lg","xl"],kC=12,wm=({children:r,cols:e,style:t})=>{let n=(0,yt.useRef)(null),o=(0,yt.useRef)(null),i=(0,yt.useRef)(),s=e!=null?e:kC,a=(t==null?void 0:t.flexDirection)==="column"?"height":"width",c=(0,yt.useMemo)(()=>Array.isArray(r)?r:(0,yt.isValidElement)(r)?[r]:[],[r]),u=(0,yt.useCallback)((h,f)=>{let d=bl(h,f,TC),p=[],m=[];for(let y=0;y<h.length;y++){let g=h[y],{style:{flex:v,...w}}=g.props;p.push((0,yt.cloneElement)(g,{key:(0,vm.getUniqueId)(),style:{...w,"--parent-col-count":s}})),m.push(d[y])}return[p,m]},[s]);return(0,yt.useMemo)(()=>{let[h,f]=u(c,a);o.current=f,i.current=h},[u,c,a]),{cols:s,content:i.current,rootRef:n}};var Tm=require("react/jsx-runtime"),kl="hwFluidGrid",El=(0,Ml.forwardRef)(function(e,t){let{breakPoints:n,children:o,column:i,cols:s=12,className:l,flexFill:a,gap:c=3,fullPage:u,id:h,onSplitterMoved:f,resizeable:d,row:p,showGrid:m,spacing:y,splitterSize:g,style:v,...w}=e,x=(0,Ml.useMemo)(()=>Er(o),[o]),{cols:S,content:b,rootRef:C}=wm({children:x,cols:s,style:v}),k=bu({breakPoints:n},C),E=(0,Cm.default)(kl,l,{[`${kl}-column`]:i,[`${kl}-row`]:p,[`${kl}-show-grid`]:m,"flex-fill":a,"full-page":u}),R={...v,"--spacing":y,"--grid-col-count":S,"--grid-gap":c};return(0,Tm.jsx)("div",{...w,className:E,"data-breakpoint":k,"data-cols":S,"data-resizeable":d||void 0,id:h,ref:(0,Sm.useForkRef)(C,t),style:R,children:b})});El.displayName="FluidGrid";var km=require("react/jsx-runtime"),xu=function(e){return(0,km.jsx)(El,{...e})};xu.displayName="FluidGrid";xe("FluidGrid",xu,"container");var Pm=require("@vuu-ui/vuu-ui-controls"),Dm=require("@salt-ds/core"),Il=z(require("classnames")),er=require("react");var Xn=require("react");var Ui=(r,e,t,n)=>{var y;let{loadSessionState:o,purgeSessionState:i,purgeState:s,saveSessionState:l}=Or(),[a,c]=(0,Xn.useState)((y=o(r,"contributions"))!=null?y:[]),u=gt(),h=(0,Xn.useCallback)((g,v)=>{let w=a.concat([{location:g,content:v}]);l(r,"contributions",w),c(w)},[a,r,l]),f=(0,Xn.useCallback)(()=>{i(r,"contributions"),c([])},[r,i]),d=(0,Xn.useCallback)(()=>{let g=o(r,"data-source");g&&g.unsubscribe(),i(r),s(r),u({type:"remove",path:t})},[u,r,o,i,s,t]),p=(0,Xn.useCallback)(async(g,v,w)=>{var S;g.stopPropagation();let x=(S=e.current)==null?void 0:S.getBoundingClientRect();return new Promise((b,C)=>{u({type:"drag-start",evt:g,path:v===void 0?t:`${t}.${v}`,dragRect:x,preDragActivity:w,dropTargets:n,resolveDragStart:b,rejectDragStart:C})})},[e,u,t,n]);return[(0,Xn.useCallback)(async(g,v)=>{var x;let{type:w}=g;switch(w){case"maximize":case"minimize":case"restore":return u({type:w,path:(x=g.path)!=null?x:t});case"remove":return d();case"mousedown":return p(v,g.index,g.preDragActivity);case"add-toolbar-contribution":return h(g.location,g.content);case"remove-toolbar-contribution":return f();default:return}},[u,t,d,p,h,f]),a]};var Rl=require("@salt-ds/core"),Rm=z(require("classnames")),et=z(require("react"));var Yt=require("react");var Mm=({id:r,rootRef:e,path:t,dropTargets:n,title:o})=>{let i=gt(),{loadState:s,loadSessionState:l,purgeState:a,saveState:c,saveSessionState:u}=Or(),[h,f]=Ui(r,e,t,n),d=(0,Yt.useMemo)(()=>{var b;return(b=s("view-title"))!=null?b:o},[s,o]),p=(0,Yt.useCallback)(b=>{t&&i({type:"set-title",path:t,title:b})},[i,t]),m=(0,Yt.useMemo)(()=>s(r),[r,s]),y=(0,Yt.useCallback)(b=>s(r,b),[r,s]),g=(0,Yt.useCallback)(b=>{a(r,b),i({type:"save"})},[r,i,a]),v=(0,Yt.useCallback)((b,C)=>{c(r,C,b),i({type:"save"})},[r,i,c]),w=(0,Yt.useCallback)(b=>l(r,b),[r,l]),x=(0,Yt.useCallback)((b,C)=>u(r,C,b),[r,u]),S=(0,Yt.useCallback)(({type:b,...C})=>{let{[b]:k}=C;v(k,b)},[v]);return{contributions:f,dispatchViewAction:h,load:y,loadSession:w,onConfigChange:S,onEditTitle:p,purge:g,restoredState:m,save:v,saveSession:x,title:d}};var Eo=require("react"),MC=[],Em=({mainRef:r,resize:e="responsive",rootRef:t})=>{let n=e==="defer",o=(0,Eo.useRef)({}),i=(0,Eo.useRef)(),s=(0,Eo.useCallback)(()=>{r.current&&(r.current.style.height=o.current.height+"px",r.current.style.width=o.current.width+"px"),i.current=void 0},[r]),l=(0,Eo.useCallback)(({height:a,width:c})=>{o.current.height=a,o.current.width=c,i.current!==null&&clearTimeout(i.current),i.current=window.setTimeout(s,40)},[s]);$i(t,n?mu:MC,l,n)};var Gi=z(require("react")),EC={dispatch:null},qi=Gi.default.createContext(EC),vu=()=>{var e;let r=(0,Gi.useContext)(qi);return(e=r==null?void 0:r.dispatch)!=null?e:null},RC=()=>(0,Gi.useContext)(qi);var Ro=require("react/jsx-runtime"),Ki="vuuView",IC=(r,e)=>r&&e?{...r,...e}:r||e,Im=(0,et.forwardRef)(function(e,t){let{Header:n=wu,children:o,className:i,collapsed:s,closeable:l,"data-path":a,"data-resizeable":c,dropTargets:u,expanded:h,flexFill:f,id:d,header:p,orientation:m="horizontal",path:y=a,resize:g="responsive",resizeable:v=c,tearOut:w,style:x={},title:S,...b}=e,C=(0,Rl.useIdMemo)(d),k=(0,et.useRef)(null),E=(0,et.useRef)(null),[R,M]=(0,et.useState)(),{contributions:P,dispatchViewAction:I,load:V,loadSession:B,onConfigChange:$,onEditTitle:O,purge:N,restoredState:F,save:q,saveSession:Z,title:ne}=Mm({id:C,rootRef:k,path:y,dropTargets:u,title:S});Em({mainRef:E,resize:g,rootRef:k});let Je=(0,et.useCallback)(sn=>{M(sn)},[]),ye=()=>et.default.isValidElement(o)&&(F||R)?et.default.cloneElement(o,IC(F,R)):o,Mt=(0,et.useMemo)(()=>({dispatch:I,id:C,path:y,title:ne,load:V,loadSession:B,onConfigChange:$,purge:N,save:q,saveSession:Z,setComponentProps:Je}),[I,C,V,B,$,y,N,q,Z,Je,ne]),Tr=typeof p=="object"?p:{};return(0,Ro.jsx)("div",{...b,className:(0,Rm.default)(Ki,i,{[`${Ki}-collapsed`]:s,[`${Ki}-expanded`]:h,[`${Ki}-resize-defer`]:g==="defer"}),"data-resizeable":v,id:C,ref:(0,Rl.useForkRef)(t,k),style:x,tabIndex:-1,children:(0,Ro.jsxs)(qi.Provider,{value:Mt,children:[p?(0,Ro.jsx)(n,{...Tr,collapsed:s,contributions:P,expanded:h,closeable:l,onEditTitle:O,orientation:m,tearOut:w,title:ne}):null,(0,Ro.jsx)("div",{className:`${Ki}-main`,ref:E,children:ye()})]})})});Im.displayName="View";var Zn=et.default.memo(Im);Zn.displayName="View";xe("View",Zn,"view");var Io=require("react/jsx-runtime"),Su="vuuHeader",wu=({className:r,contributions:e,collapsed:t,closeable:n,onEditTitle:o,orientation:i="horizontal",style:s,title:l="Untitled"})=>{let a=(0,er.useRef)(null),[c,u]=(0,er.useState)(l),[h,f]=(0,er.useState)(!1),d=vu(),p=R=>d==null?void 0:d({type:"remove"},R),m=()=>{var R;(R=a.current)==null||R.focus()},y=R=>{R.stopPropagation()},v=(0,Il.default)(Su,r,`${Su}-${t||i}`),w=()=>{f(!0)},x=R=>{R.key==="Enter"&&f(!0)},S=(R="",M="",P=!0,I=!1)=>{var V;f(!1),I?u(R):M!==R&&(u(M),o==null||o(M)),P===!1&&((V=a.current)==null||V.focus())},b=R=>{d==null||d({type:"mousedown"},R)},C=[],k=[],E=[];return e==null||e.forEach((R,M)=>{switch(R.location){case"pre-title":C.push((0,er.cloneElement)(R.content,{key:M}));break;default:k.push((0,er.cloneElement)(R.content,{key:M}))}}),l&&C.push((0,Io.jsx)(Pm.EditableLabel,{className:`${Su}-title`,editing:h,value:c,onChange:u,onMouseDownCapture:m,onEnterEditMode:w,onExitEditMode:S,onKeyDown:x,ref:a,tabIndex:0},"title")),n&&E.push((0,Io.jsx)(Dm.Button,{"data-icon":"close",onClick:p,onMouseDown:y,variant:"secondary"},"close")),k.length>0&&C.push((0,Io.jsx)("div",{className:"vuuTooltrayProxy","data-align":"end",children:k},"contributions")),E.length>0&&C.push((0,Io.jsx)("div",{className:"vuuTooltrayProxy","data-align":"end",children:E},"actions")),(0,Io.jsx)("div",{className:(0,Il.default)("vuuToolbarProxy",v),style:s,onMouseDown:b,children:C})};var PC={type:"View",props:{style:{height:"calc(100% - 6px)"}},children:[{props:{className:"vuuShell-warningPlaceholder"},type:"Placeholder"}]},Po={type:"Stack",id:"main-tabs",props:{className:"vuuShell-mainTabs",TabstripProps:{allowAddTab:!0,allowCloseTab:!0,allowRenameTab:!0,animateSelectionThumb:!1,location:"main-tab",tabClassName:"MainTab"},preserve:!0,active:0},children:[{props:{id:"tab1",className:"vuuShell-Placeholder"},type:"Placeholder"}]};var QT=require("@vuu-ui/vuu-popups"),YT=require("@salt-ds/core"),XT=z(require("classnames"),1),ZT=require("react");var Lm=require("react"),Am=require("@vuu-ui/vuu-popups"),Om=require("@vuu-ui/vuu-ui-controls");var Cu=require("react/jsx-runtime");var Vm=require("@vuu-ui/vuu-utils"),Fm=require("@vuu-ui/vuu-ui-controls"),Tu=z(require("classnames"),1),bt=require("react");var ku=require("react/jsx-runtime"),Nm="vuuExpandoCombobox",DC={},ji=(0,bt.forwardRef)(function({className:e,InputProps:t=DC,ListProps:n,onInputChange:o,onSelectionChange:i,selectionStrategy:s,style:l,value:a="",...c},u){let[h,f]=(0,bt.useState)(a),{itemToString:d=Vm.itemToString}=c,p=(0,bt.useRef)(a),m=(0,bt.useCallback)(b=>{let[C,...k]=b;return k.length?`${d(C)} + ${k.length}`:d(C)},[d]),y=(0,bt.useCallback)(b=>{let{value:C}=b.target;console.log(`onInputChange ${C}`),f(C),o==null||o(b)},[o]),g=(0,bt.useCallback)(b=>{console.log(`handleSetSelectedText ${b}`),f(b)},[]),[v,w]=(0,bt.useMemo)(()=>{let{inputProps:b,...C}=t;return[{...C,className:`${Nm}-Input`,endAdornment:null,inputProps:{...b,autoComplete:"off",onInput:y}},{...n,className:(0,Tu.default)("vuuMenuList",n==null?void 0:n.className),"data-mode":"light",displayedItemCount:10,itemHeight:22,maxWidth:300,minWidth:100,width:"auto"}]},[t,y,n]),x=(0,bt.useCallback)((b,C)=>{Array.isArray(C)?i==null||i(null,C):C&&(f(d(C)),i==null||i(null,C))},[d,i]),S={minWidth:102};return(0,ku.jsx)("div",{className:(0,Tu.default)(Nm,e),"data-text":h,ref:u,style:l,children:(0,ku.jsx)(Fm.ComboBox,{...c,PopupProps:S,defaultValue:p.current,fullWidth:!0,ListProps:w,InputProps:v,itemsToString:m,onSelectionChange:x,onSetSelectedText:g,selectionStrategy:s})})});var BT=z(require("classnames"),1),HT=require("react");var Br=require("react"),Bm=require("@vuu-ui/vuu-ui-controls"),Pl=require("@vuu-ui/vuu-utils"),Hm=require("react/jsx-runtime"),LC=(0,Br.forwardRef)(function({InputProps:e,className:t,column:n,onInputComplete:o,value:i},s){let[l,a]=(0,Br.useState)((0,Pl.isValidNumber)(i)?i.toString():""),c=(0,Br.useCallback)(h=>{let{value:f}=h.target,d=parseFloat(f);(0,Pl.isValidNumber)(d)&&console.log("its valid"),a(f)},[]),u=(0,Br.useCallback)(h=>{if(h.key==="Enter"){let{value:f}=h.target,d=parseFloat(f);(0,Pl.isValidNumber)(d)&&o(d)}},[o]);return(0,Hm.jsx)(Bm.ExpandoInput,{...e,className:t,value:l,ref:s,onChange:c,onKeyDown:u})});var _m=require("@vuu-ui/vuu-utils");var nt=require("react");var Dl=require("@vuu-ui/vuu-utils"),Ji=require("react"),{SELECTED:f2}=Dl.metadataKeys;var Qu=require("react");var Ao=require("@vuu-ui/vuu-utils");var Qi=(r,e)=>r===e?!0:r===void 0&&e===void 0,AC=({filter:r},{filter:e})=>r===void 0&&(e==null?void 0:e.filter)===""||e===void 0&&(r==null?void 0:r.filter)==="",OC=(r,e)=>{var t,n;return AC(r,e)?!1:((t=r.filter)==null?void 0:t.filter)!==((n=e.filter)==null?void 0:n.filter)},NC=({sort:r},{sort:e})=>r===void 0&&(e==null?void 0:e.sortDefs.length)===0||e===void 0&&(r==null?void 0:r.sortDefs.length)===0,VC=(r,e)=>{let{sort:t}=r,{sort:n}=e;return Qi(t,n)||NC(r,e)?!1:t===void 0||n===void 0||(t==null?void 0:t.sortDefs.length)!==(n==null?void 0:n.sortDefs.length)?!0:t.sortDefs.some(({column:o,sortType:i},s)=>o!==n.sortDefs[s].column||i!==n.sortDefs[s].sortType)},zm=r=>r!==void 0&&r.groupBy!==void 0&&r.groupBy.length>0,Wm=r=>(r==null?void 0:r.filter)!==void 0&&r.filter.filter.length>0,$m=r=>{var e;return(r==null?void 0:r.sort)!==void 0&&Array.isArray((e=r.sort)==null?void 0:e.sortDefs)&&r.sort.sortDefs.length>0},FC=({groupBy:r},{groupBy:e})=>r===void 0&&(e==null?void 0:e.length)===0||e===void 0&&(r==null?void 0:r.length)===0,Mu=(r,e)=>{let{groupBy:t}=r,{groupBy:n}=e;return Qi(t,n)||FC(r,e)?!1:t===void 0||n===void 0||(t==null?void 0:t.length)!==(n==null?void 0:n.length)?!0:t.some((o,i)=>o!==(n==null?void 0:n[i]))},BC=({columns:r},{columns:e})=>r===void 0&&(e==null?void 0:e.length)===0||e===void 0&&(r==null?void 0:r.length)===0,HC=(r,e)=>{let{columns:t}=r,{columns:n}=e;return Qi(t,n)||BC(r,e)?!1:t===void 0||n===void 0||(t==null?void 0:t.length)!==(n==null?void 0:n.length)?!0:t.some((o,i)=>o!==(n==null?void 0:n[i]))},_C=({aggregations:r},{aggregations:e})=>r===void 0&&(e==null?void 0:e.length)===0||e===void 0&&(r==null?void 0:r.length)===0,zC=(r,e)=>{let{aggregations:t}=r,{aggregations:n}=e;return Qi(t,n)||_C(r,e)?!1:t===void 0||n===void 0||t.length!==n.length?!0:t.some(({column:o,aggType:i},s)=>o!==n[s].column||i!==n[s].aggType)},WC=()=>!1,Ll=(r,e)=>Qi(r,e)?!1:r===void 0||e===void 0?!0:HC(r,e)||OC(r,e)||VC(r,e)||Mu(r,e)||zC(r,e)||WC(r,e),$C=["config","aggregate","viewport-update","columns","debounce-begin","disabled","enabled","filter","groupBy","vuu-link-created","vuu-link-removed","vuu-links","vuu-menu","sort","subscribed"],Um=r=>{let e=r.type;return $C.includes(e)},Gm=r=>["config","aggregate","columns","filter","groupBy","sort"].includes(r.type),UC={filter:""},GC={sortDefs:[]},Do={aggregations:[],columns:[],filter:UC,groupBy:[],sort:GC},Al=r=>{if(r.aggregations&&r.columns&&r.filter&&r.groupBy&&r.sort)return r;{let{aggregations:e=[],columns:t=[],filter:n={filter:""},groupBy:o=[],sort:i={sortDefs:[]},visualLink:s}=r;return{aggregations:e,columns:t,filter:n,groupBy:o,sort:i,visualLink:s}}};var qm="GET_TABLE_LIST",Km="GET_TABLE_META";var Eu=r=>r.type==="connection-status",jm=r=>r.type==="connection-metrics",Jm=r=>typeof r.result<"u",Qm=r=>r.type==="TABLE_META_RESP";var Ym='\nvar fe=(s,e,t)=>{if(!e.has(s))throw TypeError("Cannot "+t)};var p=(s,e,t)=>(fe(s,e,"read from private field"),t?t.call(s):e.get(s)),U=(s,e,t)=>{if(e.has(s))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(s):e.set(s,t)},me=(s,e,t,n)=>(fe(s,e,"write to private field"),n?n.call(s,t):e.set(s,t),t);function he(s,e,t=[],n=[]){for(let r=0,o=s.length;r<o;r++)(e(s[r],r)?t:n).push(s[r]);return[t,n]}var x={IDX:0,RENDER_IDX:1,IS_LEAF:2,IS_EXPANDED:3,DEPTH:4,COUNT:5,KEY:6,SELECTED:7,count:8,PARENT_IDX:"parent_idx",IDX_POINTER:"idx_pointer",FILTER_COUNT:"filter_count",NEXT_FILTER_IDX:"next_filter_idx"};var{DEPTH:nn,IS_LEAF:rn}=x;var be=s=>{var e,t;if(((e=globalThis.document)==null?void 0:e.cookie)!==void 0)return(t=globalThis.document.cookie.split("; ").find(n=>n.startsWith(`${s}=`)))==null?void 0:t.split("=")[1]};function Y({from:s,to:e},t=0,n=Number.MAX_SAFE_INTEGER){if(t===0)return n<s?{from:0,to:0}:{from:s,to:Math.min(e,n)};if(s===0)return{from:s,to:Math.min(e+t,n)};{let r=e-s,o=Math.round(t/2),a=s-o<0,u=n-(e+o)<0;return a&&u?{from:0,to:n}:a?{from:0,to:r+t}:u?{from:Math.max(0,n-(r+t)),to:n}:{from:s-o,to:e+o}}}var lt=(s,{from:e,to:t})=>s>=e&&s<t;var v=class{constructor(e,t){this.from=e,this.to=t}isWithin(e){return lt(e,this)}overlap(e,t){return e>=this.to||t<this.from?[0,0]:[Math.max(e,this.from),Math.min(t,this.to)]}copy(){return new v(this.from,this.to)}};var{KEY:pn}=x;var ct=["error","warn","info","debug"],pt=s=>typeof s=="string"&&ct.includes(s),dt="error",F=()=>{},gt="error",{loggingLevel:N=gt}=ft(),w=s=>{let e=N==="debug",t=e||N==="info",n=t||N==="warn",r=n||N==="error",o=t?g=>console.info(`[${s}] ${g}`):F,a=n?g=>console.warn(`[${s}] ${g}`):F,u=e?g=>console.debug(`[${s}] ${g}`):F;return{errorEnabled:r,error:r?g=>console.error(`[${s}] ${g}`):F}};function ft(){return typeof loggingSettings<"u"?loggingSettings:{loggingLevel:mt()}}function mt(){let s=be("vuu-logging-level");return pt(s)?s:dt}var{debug:ht,debugEnabled:bt}=w("range-monitor"),W=class{constructor(e){this.source=e;this.range={from:0,to:0};this.timestamp=0}isSet(){return this.timestamp!==0}set({from:e,to:t}){let{timestamp:n}=this;if(this.range.from=e,this.range.to=t,this.timestamp=performance.now(),n)bt&&ht(`<${this.source}> [${e}-${t}], ${(this.timestamp-n).toFixed(0)} ms elapsed`);else return 0}};function Ce(s){return Array.isArray(s)}function Ct(s){return!Array.isArray(s)}var y,ye=class{constructor(){U(this,y,new Map)}addListener(e,t){let n=p(this,y).get(e);n?Ce(n)?n.push(t):Ct(n)&&p(this,y).set(e,[n,t]):p(this,y).set(e,t)}removeListener(e,t){if(!p(this,y).has(e))return;let n=p(this,y).get(e),r=-1;if(n===t)p(this,y).delete(e);else if(Array.isArray(n)){for(let o=length;o-- >0;)if(n[o]===t){r=o;break}if(r<0)return;n.length===1?(n.length=0,p(this,y).delete(e)):n.splice(r,1)}}removeAllListeners(e){e&&p(this,y).has(e)?p(this,y).delete(e):e===void 0&&p(this,y).clear()}emit(e,...t){if(p(this,y)){let n=p(this,y).get(e);n&&this.invokeHandler(n,t)}}once(e,t){let n=(...r)=>{this.removeListener(e,n),t(...r)};this.on(e,n)}on(e,t){this.addListener(e,t)}hasListener(e,t){let n=p(this,y).get(e);return Array.isArray(n)?n.includes(t):n===t}invokeHandler(e,t){if(Ce(e))e.slice().forEach(n=>this.invokeHandler(n,t));else switch(t.length){case 0:e();break;case 1:e(t[0]);break;case 2:e(t[0],t[1]);break;default:e.call(null,...t)}}};y=new WeakMap;var $=String.fromCharCode(8200),m=String.fromCharCode(8199);var wn={DIGIT:m,TWO_DIGITS:m+m,THREE_DIGITS:m+m+m,FULL_PADDING:[null,$+m,$+m+m,$+m+m+m,$+m+m+m+m]};var En=m+m+m+m+m+m+m+m+m;var{COUNT:Bn}=x;var q=class{constructor(e){this.keys=new Map,this.free=[],this.nextKeyValue=0,this.reset(e)}next(){return this.free.length>0?this.free.pop():this.nextKeyValue++}reset({from:e,to:t}){this.keys.forEach((r,o)=>{(o<e||o>=t)&&(this.free.push(r),this.keys.delete(o))});let n=t-e;this.keys.size+this.free.length>n&&(this.free.length=Math.max(0,n-this.keys.size));for(let r=e;r<t;r++)if(!this.keys.has(r)){let o=this.next();this.keys.set(r,o)}this.nextKeyValue>this.keys.size&&(this.nextKeyValue=this.keys.size)}keyFor(e){let t=this.keys.get(e);if(t===void 0)throw console.log(`key not found\n keys: ${this.toDebugString()}\n free : ${this.free.join(",")} \n `),Error(`KeySet, no key found for rowIndex ${e}`);return t}toDebugString(){return Array.from(this.keys.entries()).map((e,t)=>`${e}=>${t}`).join(",")}};var{IDX:Zn}=x;var{SELECTED:er}=x,I={False:0,True:1,First:2,Last:4};var yt=(s,e)=>e>=s[0]&&e<=s[1],St=I.True+I.First+I.Last,Tt=I.True+I.First,Rt=I.True+I.Last,Z=(s,e)=>{for(let t of s)if(typeof t=="number"){if(t===e)return St}else if(yt(t,e))return e===t[0]?Tt:e===t[1]?Rt:I.True;return I.False};var Se=s=>{if(s.every(t=>typeof t=="number"))return s;let e=[];for(let t of s)if(typeof t=="number")e.push(t);else for(let n=t[0];n<=t[1];n++)e.push(n);return e};var wt=(()=>{let s=0,e=()=>`0000${(Math.random()*36**4<<0).toString(36)}`.slice(-4);return()=>(s+=1,`u${e()}${s}`)})();var{debug:ks,debugEnabled:As,error:we,info:V,infoEnabled:It,warn:_}=w("websocket-connection"),Ee="ws",vt=s=>s.startsWith(Ee+"://")||s.startsWith(Ee+"s://"),xe={},ee=Symbol("setWebsocket"),B=Symbol("connectionCallback");async function Ie(s,e,t,n=10,r=5){return xe[s]={status:"connecting",connect:{allowed:r,remaining:r},reconnect:{allowed:n,remaining:n}},ve(s,e,t)}async function Q(s){throw Error("connection broken")}async function ve(s,e,t,n){let{status:r,connect:o,reconnect:a}=xe[s],u=r==="connecting"?o:a;try{t({type:"connection-status",status:"connecting"});let c=typeof n<"u",g=await _t(s,e);console.info("%c\u26A1 %cconnected","font-size: 24px;color: green;font-weight: bold;","color:green; font-size: 14px;"),n!==void 0&&n[ee](g);let i=n!=null?n:new te(g,s,e,t),l=c?"reconnected":"connection-open-awaiting-session";return t({type:"connection-status",status:l}),i.status=l,u.remaining=u.allowed,i}catch{let g=--u.remaining>0;if(t({type:"connection-status",status:"disconnected",reason:"failed to connect",retry:g}),g)return Dt(s,e,t,n,2e3);throw Error("Failed to establish connection")}}var Dt=(s,e,t,n,r)=>new Promise(o=>{setTimeout(()=>{o(ve(s,e,t,n))},r)}),_t=(s,e)=>new Promise((t,n)=>{let r=vt(s)?s:`wss://${s}`;It&&e!==void 0&&V(`WebSocket Protocol ${e==null?void 0:e.toString()}`);let o=new WebSocket(r,e);o.onopen=()=>t(o),o.onerror=a=>n(a)}),Ve=()=>{_==null||_("Connection cannot be closed, socket not yet opened")},Me=s=>{_==null||_(`Message cannot be sent, socket closed ${s.body.type}`)},Pt=s=>{try{return JSON.parse(s)}catch{throw Error(`Error parsing JSON response from server ${s}`)}},te=class{constructor(e,t,n,r){this.close=Ve;this.requiresLogin=!0;this.send=Me;this.status="ready";this.messagesCount=0;this.connectionMetricsInterval=null;this.handleWebsocketMessage=e=>{let t=Pt(e.data);this.messagesCount+=1,this[B](t)};this.url=t,this.protocol=n,this[B]=r,this[ee](e)}reconnect(){Q(this)}[(B,ee)](e){let t=this[B];e.onmessage=o=>{this.status="connected",e.onmessage=this.handleWebsocketMessage,this.handleWebsocketMessage(o)},this.connectionMetricsInterval=setInterval(()=>{t({type:"connection-metrics",messagesLength:this.messagesCount}),this.messagesCount=0},2e3),e.onerror=()=>{we("\u26A1 connection error"),t({type:"connection-status",status:"disconnected",reason:"error"}),this.connectionMetricsInterval&&(clearInterval(this.connectionMetricsInterval),this.connectionMetricsInterval=null),this.status==="connection-open-awaiting-session"?we("Websocket connection lost before Vuu session established, check websocket configuration"):this.status!=="closed"&&(Q(this),this.send=r)},e.onclose=()=>{V==null||V("\u26A1 connection close"),t({type:"connection-status",status:"disconnected",reason:"close"}),this.connectionMetricsInterval&&(clearInterval(this.connectionMetricsInterval),this.connectionMetricsInterval=null),this.status!=="closed"&&(Q(this),this.send=r)};let n=o=>{e.send(JSON.stringify(o))},r=o=>{V==null||V(`TODO queue message until websocket reconnected ${o.body.type}`)};this.send=n,this.close=()=>{this.status="closed",e.close(),this.close=Ve,this.send=Me,V==null||V("close websocket")}}};var Lt=["VIEW_PORT_MENUS_SELECT_RPC","VIEW_PORT_MENU_TABLE_RPC","VIEW_PORT_MENU_ROW_RPC","VIEW_PORT_MENU_CELL_RPC","VP_EDIT_CELL_RPC","VP_EDIT_ROW_RPC","VP_EDIT_ADD_ROW_RPC","VP_EDIT_DELETE_CELL_RPC","VP_EDIT_DELETE_ROW_RPC","VP_EDIT_SUBMIT_FORM_RPC"],De=s=>Lt.includes(s.type),ne=({requestId:s,...e})=>[s,e],_e=s=>{let e=s.at(0);if(e.updateType==="SIZE"){if(s.length===1)return s;e=s.at(1)}let t=s.at(-1);return[e,t]},Pe=s=>{let e={};for(let t of s)(e[t.viewPortId]||(e[t.viewPortId]=[])).push(t);return e};var re=({columns:s,dataTypes:e,key:t,table:n})=>({table:n,columns:s.map((r,o)=>({name:r,serverDataType:e[o]})),key:t});var Le=s=>s.type==="connection-status",Oe=s=>s.type==="connection-metrics";var ke=s=>"viewport"in s,Ae=s=>s.type==="VIEW_PORT_MENU_RESP"&&s.action!==null&&G(s.action.table),G=s=>s!==null&&typeof s=="object"&&"table"in s&&"module"in s?s.table.startsWith("session"):!1;var Ue="CHANGE_VP_SUCCESS",Fe="CHANGE_VP_RANGE_SUCCESS",Ne="CLOSE_TREE_NODE",We="CLOSE_TREE_SUCCESS";var $e="CREATE_VP",qe="CREATE_VP_SUCCESS",Be="DISABLE_VP",Ge="DISABLE_VP_SUCCESS";var Ke="ENABLE_VP",He="ENABLE_VP_SUCCESS";var se="GET_VP_VISUAL_LINKS",je="GET_VIEW_PORT_MENUS";var ze="HB",Je="HB_RESP",Ye="LOGIN",Ze="LOGIN_SUCCESS",Xe="OPEN_TREE_NODE",Qe="OPEN_TREE_SUCCESS";var et="REMOVE_VP";var oe="RPC_RESP";var tt="SET_SELECTION_SUCCESS",ie="TABLE_META_RESP",ae="TABLE_LIST_RESP",nt="TABLE_ROW";var st=s=>{switch(s){case"TypeAheadRpcHandler":return"TYPEAHEAD";default:return"SIMUL"}};var ot=[],T=w("array-backed-moving-window");function Ot(s,e){if(!e||e.data.length!==s.data.length||e.sel!==s.sel)return!1;for(let t=0;t<e.data.length;t++)if(e.data[t]!==s.data[t])return!1;return!0}var h,K=class{constructor({from:e,to:t},{from:n,to:r},o){U(this,h,void 0);this.setRowCount=e=>{var t;if((t=T.info)==null||t.call(T,`setRowCount ${e}`),e<this.internalData.length&&(this.internalData.length=e),e<this.rowCount){this.rowsWithinRange=0;let n=Math.min(e,this.clientRange.to);for(let r=this.clientRange.from;r<n;r++){let o=r-p(this,h).from;this.internalData[o]!==void 0&&(this.rowsWithinRange+=1)}}this.rowCount=e};this.bufferBreakout=(e,t)=>{let n=this.bufferSize*.25;return p(this,h).to-t<n?!0:p(this,h).from>0&&e-p(this,h).from<n};this.bufferSize=o,this.clientRange=new v(e,t),me(this,h,new v(n,r)),this.internalData=new Array(o),this.rowsWithinRange=0,this.rowCount=0}get range(){return p(this,h)}get hasAllRowsWithinRange(){return this.rowsWithinRange===this.clientRange.to-this.clientRange.from||this.rowCount>0&&this.clientRange.from+this.rowsWithinRange===this.rowCount}outOfRange(e,t){let{from:n,to:r}=this.range;if(t<n||e>=r)return!0}setAtIndex(e){let{rowIndex:t}=e,n=t-p(this,h).from;if(Ot(e,this.internalData[n]))return!1;let r=this.isWithinClientRange(t);return(r||this.isWithinRange(t))&&(!this.internalData[n]&&r&&(this.rowsWithinRange+=1),this.internalData[n]=e),r}getAtIndex(e){return p(this,h).isWithin(e)&&this.internalData[e-p(this,h).from]!=null?this.internalData[e-p(this,h).from]:void 0}isWithinRange(e){return p(this,h).isWithin(e)}isWithinClientRange(e){return this.clientRange.isWithin(e)}setClientRange(e,t){var g;(g=T.debug)==null||g.call(T,`setClientRange ${e} - ${t}`);let n=this.clientRange.from,r=Math.min(this.clientRange.to,this.rowCount);if(e===n&&t===r)return[!1,ot];let o=this.clientRange.copy();this.clientRange.from=e,this.clientRange.to=t,this.rowsWithinRange=0;for(let i=e;i<t;i++){let l=i-p(this,h).from;this.internalData[l]&&(this.rowsWithinRange+=1)}let a=ot,u=p(this,h).from;if(this.hasAllRowsWithinRange)if(t>o.to){let i=Math.max(e,o.to);a=this.internalData.slice(i-u,t-u)}else{let i=Math.min(o.from,t);a=this.internalData.slice(e-u,i-u)}return[this.bufferBreakout(e,t),a]}setRange(e,t){var n,r;if(e!==p(this,h).from||t!==p(this,h).to){(n=T.debug)==null||n.call(T,`setRange ${e} - ${t}`);let[o,a]=p(this,h).overlap(e,t),u=new Array(t-e);this.rowsWithinRange=0;for(let c=o;c<a;c++){let g=this.getAtIndex(c);if(g){let i=c-e;u[i]=g,this.isWithinClientRange(c)&&(this.rowsWithinRange+=1)}}this.internalData=u,p(this,h).from=e,p(this,h).to=t}else(r=T.debug)==null||r.call(T,`setRange ${e} - ${t} IGNORED because not changed`)}get data(){return this.internalData}getData(){var u;let{from:e,to:t}=p(this,h),{from:n,to:r}=this.clientRange,o=Math.max(0,n-e),a=Math.min(t-e,t,r-e,(u=this.rowCount)!=null?u:t);return this.internalData.slice(o,a)}clear(){var e;(e=T.debug)==null||e.call(T,"clear"),this.internalData.length=0,this.rowsWithinRange=0,this.setRowCount(0)}getCurrentDataRange(){let e=this.internalData,t=e.length,[n]=this.internalData,r=this.internalData[t-1];if(n&&r)return[n.rowIndex,r.rowIndex];for(let o=0;o<t;o++)if(e[o]!==void 0){n=e[o];break}for(let o=t-1;o>=0;o--)if(e[o]!==void 0){r=e[o];break}return n&&r?[n.rowIndex,r.rowIndex]:[-1,-1]}};h=new WeakMap;var kt=[],{debug:b,debugEnabled:H,error:At,info:d,infoEnabled:Ut,warn:P}=w("viewport"),Ft=({rowKey:s,updateType:e})=>e==="U"&&!s.startsWith("$root"),j=[void 0,void 0],Nt={count:0,mode:void 0,size:0,ts:0},z=class{constructor({aggregations:e,bufferSize:t=50,columns:n,filter:r,groupBy:o=[],table:a,range:u,sort:c,title:g,viewport:i,visualLink:l},f){this.batchMode=!0;this.hasUpdates=!1;this.pendingUpdates=[];this.pendingOperations=new Map;this.pendingRangeRequests=[];this.rowCountChanged=!1;this.selectedRows=[];this.tableSchema=null;this.useBatchMode=!0;this.lastUpdateStatus=Nt;this.updateThrottleTimer=void 0;this.rangeMonitor=new W("ViewPort");this.disabled=!1;this.isTree=!1;this.status="";this.suspended=!1;this.suspendTimer=null;this.setLastSizeOnlyUpdateSize=e=>{this.lastUpdateStatus.size=e};this.setLastUpdate=e=>{let{ts:t,mode:n}=this.lastUpdateStatus,r=0;if(n===e){let o=Date.now();this.lastUpdateStatus.count+=1,this.lastUpdateStatus.ts=o,r=t===0?0:o-t}else this.lastUpdateStatus.count=1,this.lastUpdateStatus.ts=0,r=0;return this.lastUpdateStatus.mode=e,r};this.rangeRequestAlreadyPending=e=>{let{bufferSize:t}=this,n=t*.25,{from:r}=e;for(let{from:o,to:a}of this.pendingRangeRequests)if(r>=o&&r<a){if(e.to+n<=a)return!0;r=a}return!1};this.sendThrottledSizeMessage=()=>{this.updateThrottleTimer=void 0,this.lastUpdateStatus.count=3,this.postMessageToClient({clientViewportId:this.clientViewportId,mode:"size-only",size:this.lastUpdateStatus.size,type:"viewport-update"})};this.shouldThrottleMessage=e=>{let t=this.setLastUpdate(e);return e==="size-only"&&t>0&&t<500&&this.lastUpdateStatus.count>3};this.throttleMessage=e=>this.shouldThrottleMessage(e)?(d==null||d("throttling updates setTimeout to 2000"),this.updateThrottleTimer===void 0&&(this.updateThrottleTimer=setTimeout(this.sendThrottledSizeMessage,2e3)),!0):(this.updateThrottleTimer!==void 0&&(clearTimeout(this.updateThrottleTimer),this.updateThrottleTimer=void 0),!1);this.getNewRowCount=()=>{if(this.rowCountChanged&&this.dataWindow)return this.rowCountChanged=!1,this.dataWindow.rowCount};this.aggregations=e,this.bufferSize=t,this.clientRange=u,this.clientViewportId=i,this.columns=n,this.filter=r,this.groupBy=o,this.keys=new q(u),this.pendingLinkedParent=l,this.table=a,this.sort=c,this.title=g,Ut&&(d==null||d(`constructor #${i} ${a.table} bufferSize=${t}`)),this.dataWindow=new K(this.clientRange,u,this.bufferSize),this.postMessageToClient=f}get hasUpdatesToProcess(){return this.suspended?!1:this.rowCountChanged||this.hasUpdates}get size(){var e;return(e=this.dataWindow.rowCount)!=null?e:0}subscribe(){let{filter:e}=this.filter;return this.status=this.status==="subscribed"?"resubscribing":"subscribing",{type:$e,table:this.table,range:Y(this.clientRange,this.bufferSize),aggregations:this.aggregations,columns:this.columns,sort:this.sort,groupBy:this.groupBy,filterSpec:{filter:e}}}handleSubscribed({viewPortId:e,aggregations:t,columns:n,filterSpec:r,range:o,sort:a,groupBy:u}){return this.serverViewportId=e,this.status="subscribed",this.aggregations=t,this.columns=n,this.groupBy=u,this.isTree=u&&u.length>0,this.dataWindow.setRange(o.from,o.to),{aggregations:t,type:"subscribed",clientViewportId:this.clientViewportId,columns:n,filter:r,groupBy:u,range:o,sort:a,tableSchema:this.tableSchema}}awaitOperation(e,t){this.pendingOperations.set(e,t)}completeOperation(e,...t){var u;let{clientViewportId:n,pendingOperations:r}=this,o=r.get(e);if(!o){At("no matching operation found to complete");return}let{type:a}=o;if(d==null||d(`completeOperation ${a}`),r.delete(e),a==="CHANGE_VP_RANGE"){let[c,g]=t;(u=this.dataWindow)==null||u.setRange(c,g);for(let i=this.pendingRangeRequests.length-1;i>=0;i--){let l=this.pendingRangeRequests[i];if(l.requestId===e){l.acked=!0;break}else P==null||P("range requests sent faster than they are being ACKed")}}else if(a==="config"){let{aggregations:c,columns:g,filter:i,groupBy:l,sort:f}=o.data;return this.aggregations=c,this.columns=g,this.filter=i,this.groupBy=l,this.sort=f,l.length>0?this.isTree=!0:this.isTree&&(this.isTree=!1),b==null||b(`config change confirmed, isTree : ${this.isTree}`),{clientViewportId:n,type:a,config:o.data}}else{if(a==="groupBy")return this.isTree=o.data.length>0,this.groupBy=o.data,b==null||b(`groupBy change confirmed, isTree : ${this.isTree}`),{clientViewportId:n,type:a,groupBy:o.data};if(a==="columns")return this.columns=o.data,{clientViewportId:n,type:a,columns:o.data};if(a==="filter")return this.filter=o.data,{clientViewportId:n,type:a,filter:o.data};if(a==="aggregate")return this.aggregations=o.data,{clientViewportId:n,type:"aggregate",aggregations:this.aggregations};if(a==="sort")return this.sort=o.data,{clientViewportId:n,type:a,sort:this.sort};if(a!=="selection"){if(a==="disable")return this.disabled=!0,{type:"disabled",clientViewportId:n};if(a==="enable")return this.disabled=!1,{type:"enabled",clientViewportId:n};if(a==="CREATE_VISUAL_LINK"){let[c,g,i]=t;return this.linkedParent={colName:c,parentViewportId:g,parentColName:i},this.pendingLinkedParent=void 0,{type:"vuu-link-created",clientViewportId:n,colName:c,parentViewportId:g,parentColName:i}}else if(a==="REMOVE_VISUAL_LINK")return this.linkedParent=void 0,{type:"vuu-link-removed",clientViewportId:n}}}}rangeRequest(e,t){H&&this.rangeMonitor.set(t);let n="CHANGE_VP_RANGE";if(this.dataWindow){let[r,o]=this.dataWindow.setClientRange(t.from,t.to),a,u=this.dataWindow.rowCount||void 0,c=r&&!this.rangeRequestAlreadyPending(t)?{type:n,viewPortId:this.serverViewportId,...Y(t,this.bufferSize,u)}:null;if(c){H&&(b==null||b(`create CHANGE_VP_RANGE: [${c.from} - ${c.to}]`)),this.awaitOperation(e,{type:n});let i=this.pendingRangeRequests.at(-1);if(i)if(i.acked)console.warn("Range Request before previous request is filled");else{let{from:l,to:f}=i;this.dataWindow.outOfRange(l,f)?a={clientViewportId:this.clientViewportId,type:"debounce-begin"}:P==null||P("Range Request before previous request is acked")}this.pendingRangeRequests.push({...c,requestId:e}),this.useBatchMode&&(this.batchMode=!0)}else o.length>0&&(this.batchMode=!1);this.keys.reset(this.dataWindow.clientRange);let g=this.isTree?le:ue;return o.length?[c,o.map(i=>g(i,this.keys,this.selectedRows))]:a?[c,void 0,a]:[c]}else return[null]}setLinks(e){return this.links=e,[{type:"vuu-links",links:e,clientViewportId:this.clientViewportId},this.pendingLinkedParent]}setMenu(e){return{type:"vuu-menu",menu:e,clientViewportId:this.clientViewportId}}setTableSchema(e){this.tableSchema=e}openTreeNode(e,t){return this.useBatchMode&&(this.batchMode=!0),{type:Xe,vpId:this.serverViewportId,treeKey:t.key}}closeTreeNode(e,t){return this.useBatchMode&&(this.batchMode=!0),{type:Ne,vpId:this.serverViewportId,treeKey:t.key}}createLink(e,t,n,r){let o={type:"CREATE_VISUAL_LINK",parentVpId:n,childVpId:this.serverViewportId,parentColumnName:r,childColumnName:t};return this.awaitOperation(e,o),this.useBatchMode&&(this.batchMode=!0),o}removeLink(e){let t={type:"REMOVE_VISUAL_LINK",childVpId:this.serverViewportId};return this.awaitOperation(e,t),t}suspend(){this.suspended=!0,d==null||d("suspend")}resume(){return this.suspended=!1,H&&(b==null||b(`resume: ${this.currentData()}`)),this.currentData()}currentData(){let e=[];if(this.dataWindow){let t=this.dataWindow.getData(),{keys:n}=this,r=this.isTree?le:ue;for(let o of t)o&&e.push(r(o,n,this.selectedRows))}return e}enable(e){return this.awaitOperation(e,{type:"enable"}),d==null||d(`enable: ${this.serverViewportId}`),{type:Ke,viewPortId:this.serverViewportId}}disable(e){return this.awaitOperation(e,{type:"disable"}),d==null||d(`disable: ${this.serverViewportId}`),this.suspended=!1,{type:Be,viewPortId:this.serverViewportId}}columnRequest(e,t){return this.awaitOperation(e,{type:"columns",data:t}),b==null||b(`columnRequest: ${t}`),this.createRequest({columns:t})}filterRequest(e,t){this.awaitOperation(e,{type:"filter",data:t}),this.useBatchMode&&(this.batchMode=!0);let{filter:n}=t;return d==null||d(`filterRequest: ${n}`),this.createRequest({filterSpec:{filter:n}})}setConfig(e,t){this.awaitOperation(e,{type:"config",data:t});let{filter:n,...r}=t;return this.useBatchMode&&(this.batchMode=!0),H?b==null||b(`setConfig ${JSON.stringify(t)}`):d==null||d("setConfig"),this.createRequest({...r,filterSpec:typeof(n==null?void 0:n.filter)=="string"?{filter:n.filter}:{filter:""}},!0)}aggregateRequest(e,t){return this.awaitOperation(e,{type:"aggregate",data:t}),d==null||d(`aggregateRequest: ${t}`),this.createRequest({aggregations:t})}sortRequest(e,t){return this.awaitOperation(e,{type:"sort",data:t}),d==null||d(`sortRequest: ${JSON.stringify(t.sortDefs)}`),this.createRequest({sort:t})}groupByRequest(e,t=kt){var n;return this.awaitOperation(e,{type:"groupBy",data:t}),this.useBatchMode&&(this.batchMode=!0),this.isTree||(n=this.dataWindow)==null||n.clear(),this.createRequest({groupBy:t})}selectRequest(e,t){return this.selectedRows=t,this.awaitOperation(e,{type:"selection",data:t}),d==null||d(`selectRequest: ${t}`),{type:"SET_SELECTION",vpId:this.serverViewportId,selection:Se(t)}}removePendingRangeRequest(e,t){for(let n=this.pendingRangeRequests.length-1;n>=0;n--){let{from:r,to:o}=this.pendingRangeRequests[n],a=!0;if(e>=r&&e<o||t>r&&t<o){a||console.warn("removePendingRangeRequest TABLE_ROWS are not for latest request"),this.pendingRangeRequests.splice(n,1);break}else a=!1}}updateRows(e){var r,o,a;let[t,n]=_e(e);if(t&&n&&this.removePendingRangeRequest(t.rowIndex,n.rowIndex),e.length===1)if(t.vpSize===0&&this.disabled){b==null||b(`ignore a SIZE=0 message on disabled viewport (${e.length} rows)`);return}else t.updateType==="SIZE"&&this.setLastSizeOnlyUpdateSize(t.vpSize);for(let u of e)this.isTree&&Ft(u)||((u.updateType==="SIZE"||((r=this.dataWindow)==null?void 0:r.rowCount)!==u.vpSize)&&((o=this.dataWindow)==null||o.setRowCount(u.vpSize),this.rowCountChanged=!0),u.updateType==="U"&&(a=this.dataWindow)!=null&&a.setAtIndex(u)&&(this.hasUpdates=!0,this.batchMode||this.pendingUpdates.push(u)))}getClientRows(){let e,t="size-only";if(!this.hasUpdates&&!this.rowCountChanged)return j;if(this.hasUpdates){let{keys:n,selectedRows:r}=this,o=this.isTree?le:ue;if(this.updateThrottleTimer&&(self.clearTimeout(this.updateThrottleTimer),this.updateThrottleTimer=void 0),this.pendingUpdates.length>0){e=[],t="update";for(let a of this.pendingUpdates)e.push(o(a,n,r));this.pendingUpdates.length=0}else{let a=this.dataWindow.getData();if(this.dataWindow.hasAllRowsWithinRange){e=[],t="batch";for(let u of a)e.push(o(u,n,r));this.batchMode=!1}}this.hasUpdates=!1}return this.throttleMessage(t)?j:[e,t]}createRequest(e,t=!1){return t?{type:"CHANGE_VP",viewPortId:this.serverViewportId,...e}:{type:"CHANGE_VP",viewPortId:this.serverViewportId,aggregations:this.aggregations,columns:this.columns,sort:this.sort,groupBy:this.groupBy,filterSpec:{filter:this.filter.filter},...e}}},ue=({rowIndex:s,rowKey:e,sel:t,data:n},r,o)=>[s,r.keyFor(s),!0,!1,0,0,e,t?Z(o,s):0].concat(n),le=({rowIndex:s,rowKey:e,sel:t,data:n},r,o)=>{let[a,u,,c,,g,...i]=n;return[s,r.keyFor(s),c,u,a,g,e,t?Z(o,s):0].concat(i)};var it=1;var{debug:E,debugEnabled:L,error:O,info:S,infoEnabled:Wt,warn:k}=w("server-proxy"),C=()=>`${it++}`,$t={},qt=s=>s.disabled!==!0&&s.suspended!==!0,Bt={type:"NO_ACTION"},Gt=(s,e,t)=>s.map(n=>n.parentVpId===e?{...n,label:t}:n);function Kt(s,e){return s.map(t=>{let{parentVpId:n}=t,r=e.get(n);if(r)return{...t,parentClientVpId:r.clientViewportId,label:r.title};throw Error("addLabelsToLinks viewport not found")})}var J=class{constructor(e,t){this.authToken="";this.user="user";this.pendingTableMetaRequests=new Map;this.pendingRequests=new Map;this.queuedRequests=[];this.cachedTableSchemas=new Map;this.connection=e,this.postMessageToClient=t,this.viewports=new Map,this.mapClientToServerViewport=new Map}async reconnect(){await this.login(this.authToken);let[e,t]=he(Array.from(this.viewports.values()),qt);this.viewports.clear(),this.mapClientToServerViewport.clear();let n=r=>{r.forEach(o=>{let{clientViewportId:a}=o;this.viewports.set(a,o),this.sendMessageToServer(o.subscribe(),a)})};n(e),setTimeout(()=>{n(t)},2e3)}async login(e,t="user"){if(e)return this.authToken=e,this.user=t,new Promise((n,r)=>{this.sendMessageToServer({type:Ye,token:this.authToken,user:t},""),this.pendingLogin={resolve:n,reject:r}});this.authToken===""&&O("login, cannot login until auth token has been obtained")}subscribe(e){if(this.mapClientToServerViewport.has(e.viewport))O(`spurious subscribe call ${e.viewport}`);else{if(!this.hasSchemaForTable(e.table)&&!G(e.table)){S==null||S(`subscribe to ${e.table.table}, no metadata yet, request metadata`);let n=C();this.sendMessageToServer({type:"GET_TABLE_META",table:e.table},n),this.pendingTableMetaRequests.set(n,e.viewport)}let t=new z(e,this.postMessageToClient);this.viewports.set(e.viewport,t),this.sendIfReady(t.subscribe(),e.viewport,this.sessionId!=="")}}unsubscribe(e){let t=this.mapClientToServerViewport.get(e);t?(S==null||S(`Unsubscribe Message (Client to Server):\n ${t}`),this.sendMessageToServer({type:et,viewPortId:t})):O(`failed to unsubscribe client viewport ${e}, viewport not found`)}getViewportForClient(e,t=!0){let n=this.mapClientToServerViewport.get(e);if(n){let r=this.viewports.get(n);if(r)return r;if(t)throw Error(`Viewport not found for client viewport ${e}`);return null}else{if(this.viewports.has(e))return this.viewports.get(e);if(t)throw Error(`Viewport server id not found for client viewport ${e}`);return null}}setViewRange(e,t){let n=C(),[r,o,a]=e.rangeRequest(n,t.range);S==null||S(`setViewRange ${t.range.from} - ${t.range.to}`),r&&this.sendIfReady(r,n,e.status==="subscribed"),o?(S==null||S(`setViewRange ${o.length} rows returned from cache`),this.postMessageToClient({mode:"batch",type:"viewport-update",clientViewportId:e.clientViewportId,rows:o})):a&&this.postMessageToClient(a)}setConfig(e,t){let n=C(),r=e.setConfig(n,t.config);this.sendIfReady(r,n,e.status==="subscribed")}aggregate(e,t){let n=C(),r=e.aggregateRequest(n,t.aggregations);this.sendIfReady(r,n,e.status==="subscribed")}sort(e,t){let n=C(),r=e.sortRequest(n,t.sort);this.sendIfReady(r,n,e.status==="subscribed")}groupBy(e,t){let n=C(),r=e.groupByRequest(n,t.groupBy);this.sendIfReady(r,n,e.status==="subscribed")}filter(e,t){let n=C(),{filter:r}=t,o=e.filterRequest(n,r);this.sendIfReady(o,n,e.status==="subscribed")}setColumns(e,t){let n=C(),{columns:r}=t,o=e.columnRequest(n,r);this.sendIfReady(o,n,e.status==="subscribed")}setTitle(e,t){e&&(e.title=t.title,this.updateTitleOnVisualLinks(e))}select(e,t){let n=C(),{selected:r}=t,o=e.selectRequest(n,r);this.sendIfReady(o,n,e.status==="subscribed")}disableViewport(e){let t=C(),n=e.disable(t);this.sendIfReady(n,t,e.status==="subscribed")}enableViewport(e){if(e.disabled){let t=C(),n=e.enable(t);this.sendIfReady(n,t,e.status==="subscribed")}}suspendViewport(e){e.suspend(),e.suspendTimer=setTimeout(()=>{S==null||S("suspendTimer expired, escalate suspend to disable"),this.disableViewport(e)},3e3)}resumeViewport(e){e.suspendTimer&&(E==null||E("clear suspend timer"),clearTimeout(e.suspendTimer),e.suspendTimer=null);let t=e.resume();this.postMessageToClient({clientViewportId:e.clientViewportId,mode:"batch",rows:t,type:"viewport-update"})}openTreeNode(e,t){if(e.serverViewportId){let n=C();this.sendIfReady(e.openTreeNode(n,t),n,e.status==="subscribed")}}closeTreeNode(e,t){if(e.serverViewportId){let n=C();this.sendIfReady(e.closeTreeNode(n,t),n,e.status==="subscribed")}}createLink(e,t){let{parentClientVpId:n,parentColumnName:r,childColumnName:o}=t,a=C(),u=this.mapClientToServerViewport.get(n);if(u){let c=e.createLink(a,o,u,r);this.sendMessageToServer(c,a)}else O("ServerProxy unable to create link, viewport not found")}removeLink(e){let t=C(),n=e.removeLink(t);this.sendMessageToServer(n,t)}updateTitleOnVisualLinks(e){var r;let{serverViewportId:t,title:n}=e;for(let o of this.viewports.values())if(o!==e&&o.links&&t&&n&&(r=o.links)!=null&&r.some(a=>a.parentVpId===t)){let[a]=o.setLinks(Gt(o.links,t,n));this.postMessageToClient(a)}}removeViewportFromVisualLinks(e){var t;for(let n of this.viewports.values())if((t=n.links)!=null&&t.some(({parentVpId:r})=>r===e)){let[r]=n.setLinks(n.links.filter(({parentVpId:o})=>o!==e));this.postMessageToClient(r)}}menuRpcCall(e){let t=this.getViewportForClient(e.vpId,!1);if(t!=null&&t.serverViewportId){let[n,r]=ne(e);this.sendMessageToServer({...r,vpId:t.serverViewportId},n)}}rpcCall(e){let[t,n]=ne(e),r=st(n.service);this.sendMessageToServer(n,t,{module:r})}handleMessageFromClient(e){if(E==null||E(`handleMessageFromClient: ${e.type}`),ke(e))if(e.type==="disable"){let t=this.getViewportForClient(e.viewport,!1);return t!==null?this.disableViewport(t):void 0}else{let t=this.getViewportForClient(e.viewport);switch(e.type){case"setViewRange":return this.setViewRange(t,e);case"config":return this.setConfig(t,e);case"aggregate":return this.aggregate(t,e);case"sort":return this.sort(t,e);case"groupBy":return this.groupBy(t,e);case"filter":return this.filter(t,e);case"select":return this.select(t,e);case"suspend":return this.suspendViewport(t);case"resume":return this.resumeViewport(t);case"enable":return this.enableViewport(t);case"openTreeNode":return this.openTreeNode(t,e);case"closeTreeNode":return this.closeTreeNode(t,e);case"createLink":return this.createLink(t,e);case"removeLink":return this.removeLink(t);case"setColumns":return this.setColumns(t,e);case"setTitle":return this.setTitle(t,e);default:}}else{if(De(e))return this.menuRpcCall(e);{let{type:t,requestId:n}=e;switch(t){case"GET_TABLE_LIST":return this.sendMessageToServer({type:t},n);case"GET_TABLE_META":return this.sendMessageToServer({type:t,table:e.table},n);case"RPC_CALL":return this.rpcCall(e);default:}}}O(`Vuu ServerProxy Unexpected message from client ${JSON.stringify(e)}`)}awaitResponseToMessage(e){return new Promise((t,n)=>{let r=C();this.sendMessageToServer(e,r),this.pendingRequests.set(r,{reject:n,resolve:t})})}sendIfReady(e,t,n=!0){return n?this.sendMessageToServer(e,t):this.queuedRequests.push(e),n}sendMessageToServer(e,t=`${it++}`,n=$t){let{module:r="CORE"}=n;this.authToken&&this.connection.send({requestId:t,sessionId:this.sessionId,token:this.authToken,user:this.user,module:r,body:e})}handleMessageFromServer(e){var u;let{body:t,requestId:n,sessionId:r}=e,o=this.pendingRequests.get(n);if(o){let{resolve:i}=o;this.pendingRequests.delete(n),i(t);return}let{viewports:a}=this;switch(t.type){case ze:this.sendMessageToServer({type:Je,ts:+new Date},"NA");break;case Ze:if(r)this.sessionId=r,(u=this.pendingLogin)==null||u.resolve(r),this.pendingLogin=void 0;else throw Error("LOGIN_SUCCESS did not provide sessionId");break;case qe:{let i=a.get(n);if(i){let{status:l}=i,{viewPortId:f}=t;n!==f&&(a.delete(n),a.set(f,i)),this.mapClientToServerViewport.set(n,f);let R=i.handleSubscribed(t);R&&(this.postMessageToClient(R),L&&E(`post DataSourceSubscribedMessage to client: ${JSON.stringify(R)}`)),i.disabled&&this.disableViewport(i),l==="subscribing"&&!G(i.table)&&(this.sendMessageToServer({type:se,vpId:f}),this.sendMessageToServer({type:je,vpId:f}),Array.from(a.entries()).filter(([M,{disabled:A}])=>M!==f&&!A).forEach(([M])=>{this.sendMessageToServer({type:se,vpId:M})}))}}break;case"REMOVE_VP_SUCCESS":{let i=a.get(t.viewPortId);i&&(this.mapClientToServerViewport.delete(i.clientViewportId),a.delete(t.viewPortId),this.removeViewportFromVisualLinks(t.viewPortId))}break;case tt:{let i=this.viewports.get(t.vpId);i&&i.completeOperation(n)}break;case Ue:case Ge:if(a.has(t.viewPortId)){let i=this.viewports.get(t.viewPortId);if(i){let l=i.completeOperation(n);l!==void 0&&(this.postMessageToClient(l),L&&E(`postMessageToClient ${JSON.stringify(l)}`))}}break;case He:{let i=this.viewports.get(t.viewPortId);if(i){let l=i.completeOperation(n);if(l){this.postMessageToClient(l);let f=i.currentData();L&&E(`Enable Response (ServerProxy to Client): ${JSON.stringify(l)}`),i.size===0?L&&E("Viewport Enabled but size 0, resend to server"):(this.postMessageToClient({clientViewportId:i.clientViewportId,mode:"batch",rows:f,size:i.size,type:"viewport-update"}),L&&E(`Enable Response (ServerProxy to Client): send size ${i.size} ${f.length} rows from cache`))}}}break;case nt:{let i=Pe(t.rows);for(let[l,f]of Object.entries(i)){let R=a.get(l);R?R.updateRows(f):k==null||k(`TABLE_ROW message received for non registered viewport ${l}`)}this.processUpdates()}break;case Fe:{let i=this.viewports.get(t.viewPortId);if(i){let{from:l,to:f}=t;i.completeOperation(n,l,f)}}break;case Qe:case We:break;case"CREATE_VISUAL_LINK_SUCCESS":{let i=this.viewports.get(t.childVpId),l=this.viewports.get(t.parentVpId);if(i&&l){let{childColumnName:f,parentColumnName:R}=t,M=i.completeOperation(n,f,l.clientViewportId,R);M&&this.postMessageToClient(M)}}break;case"REMOVE_VISUAL_LINK_SUCCESS":{let i=this.viewports.get(t.childVpId);if(i){let l=i.completeOperation(n);l&&this.postMessageToClient(l)}}break;case ae:this.postMessageToClient({type:ae,tables:t.tables,requestId:n});break;case ie:{let i=this.cacheTableMeta(t),l=this.pendingTableMetaRequests.get(n);if(l){this.pendingTableMetaRequests.delete(n);let f=this.viewports.get(l);f?f.setTableSchema(i):k==null||k("Message has come back AFTER CREATE_VP_SUCCESS, what do we do now")}else this.postMessageToClient({type:ie,tableSchema:i,requestId:n})}break;case"VP_VISUAL_LINKS_RESP":{let i=this.getActiveLinks(t.links),l=this.viewports.get(t.vpId);if(i.length&&l){let f=Kt(i,this.viewports),[R,M]=l.setLinks(f);if(this.postMessageToClient(R),M){let{link:A,parentClientVpId:at}=M,de=C(),ge=this.mapClientToServerViewport.get(at);if(ge){let ut=l.createLink(de,A.fromColumn,ge,A.toColumn);this.sendMessageToServer(ut,de)}}}}break;case"VIEW_PORT_MENUS_RESP":if(t.menu.name){let i=this.viewports.get(t.vpId);if(i){let l=i.setMenu(t.menu);this.postMessageToClient(l)}}break;case"VP_EDIT_RPC_RESPONSE":this.postMessageToClient({action:t.action,requestId:n,rpcName:t.rpcName,type:"VP_EDIT_RPC_RESPONSE"});break;case"VP_EDIT_RPC_REJECT":this.viewports.get(t.vpId)&&this.postMessageToClient({requestId:n,type:"VP_EDIT_RPC_REJECT",error:t.error});break;case"VIEW_PORT_MENU_RESP":if(Ae(t)){let{action:i,rpcName:l}=t;this.awaitResponseToMessage({type:"GET_TABLE_META",table:i.table}).then(f=>{let R=re(f);this.postMessageToClient({rpcName:l,type:"VIEW_PORT_MENU_RESP",action:{...i,tableSchema:R},tableAlreadyOpen:this.isTableOpen(i.table),requestId:n})})}else{let{action:i}=t;this.postMessageToClient({type:"VIEW_PORT_MENU_RESP",action:i||Bt,tableAlreadyOpen:i!==null&&this.isTableOpen(i.table),requestId:n})}break;case oe:{let{method:i,result:l}=t;this.postMessageToClient({type:oe,method:i,result:l,requestId:n})}break;case"ERROR":O(t.msg);break;default:Wt&&S(`handleMessageFromServer ${t.type}.`)}}hasSchemaForTable(e){return this.cachedTableSchemas.has(`${e.module}:${e.table}`)}cacheTableMeta(e){let{module:t,table:n}=e.table,r=`${t}:${n}`,o=this.cachedTableSchemas.get(r);return o||(o=re(e),this.cachedTableSchemas.set(r,o)),o}isTableOpen(e){if(e){let t=e.table;for(let n of this.viewports.values())if(!n.suspended&&n.table.table===t)return!0}}getActiveLinks(e){return e.filter(t=>{let n=this.viewports.get(t.parentVpId);return n&&!n.suspended})}processUpdates(){this.viewports.forEach(e=>{var t;if(e.hasUpdatesToProcess){let n=e.getClientRows();if(n!==j){let[r,o]=n,a=e.getNewRowCount();(a!==void 0||r&&r.length>0)&&(L&&E(`postMessageToClient #${e.clientViewportId} viewport-update ${o}, ${(t=r==null?void 0:r.length)!=null?t:"no"} rows, size ${a}`),o&&this.postMessageToClient({clientViewportId:e.clientViewportId,mode:o,rows:r,size:a,type:"viewport-update"}))}}})}};var D,{info:ce,infoEnabled:pe}=w("worker");async function Ht(s,e,t,n,r,o,a){let u=await Ie(s,e,c=>{Oe(c)?(console.log("post connection metrics"),postMessage({type:"connection-metrics",messages:c})):Le(c)?(r(c),c.status==="reconnected"&&D.reconnect()):D.handleMessageFromServer(c)},o,a);D=new J(u,c=>jt(c)),u.requiresLogin&&await D.login(t,n)}function jt(s){postMessage(s)}var zt=async({data:s})=>{switch(s.type){case"connect":await Ht(s.url,s.protocol,s.token,s.username,postMessage,s.retryLimitDisconnect,s.retryLimitStartup),postMessage({type:"connected"});break;case"subscribe":pe&&ce(`client subscribe: ${JSON.stringify(s)}`),D.subscribe(s);break;case"unsubscribe":pe&&ce(`client unsubscribe: ${JSON.stringify(s)}`),D.unsubscribe(s.viewport);break;default:pe&&ce(`client message: ${JSON.stringify(s)}`),D.handleMessageFromClient(s)}};self.addEventListener("message",zt);postMessage({type:"ready"});\n\n';var KC=new Blob([(0,Ao.getLoggingConfigForWorker)()+Ym],{type:"text/javascript"}),jC=URL.createObjectURL(KC),Lo,Ru,Iu=[],JC,QC,Xm=new Promise((r,e)=>{JC=r,QC=e}),Lu=()=>Xm,Ol=new Map,Nl=new Map,YC=async({handleConnectionStatusChange:r,protocol:e,retryLimitDisconnect:t,retryLimitStartup:n,token:o="",username:i,url:s})=>o===""&&Ru===void 0?new Promise(l=>{Iu.push({resolve:l})}):Ru||(Ru=new Promise(l=>{let a=new Worker(jC),c=window.setTimeout(()=>{console.error("timed out waiting for worker to load")},1e3);a.onmessage=u=>{let{data:h}=u;if(h.type==="ready")window.clearTimeout(c),a.postMessage({protocol:e,retryLimitDisconnect:t,retryLimitStartup:n,token:o,type:"connect",url:s,username:i});else if(h.type==="connected"){a.onmessage=Zm,l(a);for(let f of Iu)f.resolve(a);Iu.length=0}else Eu(h)?r({data:h}):console.warn("ConnectionManager: Unexpected message from the worker")}}));function Zm({data:r}){if(Um(r)){let e=Ol.get(r.clientViewportId);e?e.postMessageToClientDataSource(r):console.error(`[ConnectionManager] ${r.type} message received, viewport not found`)}else if(Eu(r))Vl.emit("connection-status",r);else if(jm(r))Vl.emit("connection-metrics",r);else{let e=r.requestId;if(Nl.has(e)){let{resolve:t}=Nl.get(e);Nl.delete(e);let{type:n,requestId:o,...i}=r;Jm(r)?t(r.result):r.type==="VP_EDIT_RPC_RESPONSE"||r.type==="VP_EDIT_RPC_REJECT"?t(r):Qm(r)?t(r.tableSchema):t(i)}else console.warn("%cConnectionManager Unexpected message from the worker","color:red;font-weight:bold;")}}var Pu=r=>{let e=(0,Ao.uuid)();return Lo.postMessage({requestId:e,...r}),new Promise((t,n)=>{Nl.set(e,{resolve:t,reject:n})})},XC={subscribe:(r,e)=>{Ol.set(r.viewport,{status:"subscribing",request:r,postMessageToClientDataSource:e}),Lo.postMessage({type:"subscribe",...r})},unsubscribe:r=>{Lo.postMessage({type:"unsubscribe",viewport:r})},send:r=>{Lo.postMessage(r)},destroy:r=>{r&&Ol.has(r)&&Ol.delete(r)},rpcCall:async r=>Pu(r),getTableList:async()=>Pu({type:qm}),getTableSchema:async r=>Pu({type:Km,table:r})},Du=class extends Ao.EventEmitter{async connect({url:e,authToken:t,username:n,protocol:o,retryLimitDisconnect:i,retryLimitStartup:s}){return Lo=await YC({protocol:o,url:e,token:t,username:n,retryLimitDisconnect:i,retryLimitStartup:s,handleConnectionStatusChange:Zm}),XC}destroy(){Lo.terminate()}},Vl=new Du;var eg=async r=>{try{return(await Xm).rpcCall(r)}catch{throw Error("Error accessing server api")}};var ZC=0,Yi=class{constructor(e,t){this.from=e,this.to=t}},Q=class{constructor(e={}){this.id=ZC++,this.perNode=!!e.perNode,this.deserialize=e.deserialize||(()=>{throw new Error("This node type doesn't define a deserialize function")})}add(e){if(this.perNode)throw new RangeError("Can't add per-node props to node types");return typeof e!="function"&&(e=Ne.match(e)),t=>{let n=e(t);return n===void 0?null:[this,n]}}};Q.closedBy=new Q({deserialize:r=>r.split(" ")});Q.openedBy=new Q({deserialize:r=>r.split(" ")});Q.group=new Q({deserialize:r=>r.split(" ")});Q.contextHash=new Q({perNode:!0});Q.lookAhead=new Q({perNode:!0});Q.mounted=new Q({perNode:!0});var eT=Object.create(null),Ne=class{constructor(e,t,n,o=0){this.name=e,this.props=t,this.id=n,this.flags=o}static define(e){let t=e.props&&e.props.length?Object.create(null):eT,n=(e.top?1:0)|(e.skipped?2:0)|(e.error?4:0)|(e.name==null?8:0),o=new Ne(e.name||"",t,e.id,n);if(e.props){for(let i of e.props)if(Array.isArray(i)||(i=i(o)),i){if(i[0].perNode)throw new RangeError("Can't store a per-node prop on a node type");t[i[0].id]=i[1]}}return o}prop(e){return this.props[e.id]}get isTop(){return(this.flags&1)>0}get isSkipped(){return(this.flags&2)>0}get isError(){return(this.flags&4)>0}get isAnonymous(){return(this.flags&8)>0}is(e){if(typeof e=="string"){if(this.name==e)return!0;let t=this.prop(Q.group);return t?t.indexOf(e)>-1:!1}return this.id==e}static match(e){let t=Object.create(null);for(let n in e)for(let o of n.split(" "))t[o]=e[n];return n=>{for(let o=n.prop(Q.group),i=-1;i<(o?o.length:0);i++){let s=t[i<0?n.name:o[i]];if(s)return s}}}};Ne.none=new Ne("",Object.create(null),0,8);var Hr=class{constructor(e){this.types=e;for(let t=0;t<e.length;t++)if(e[t].id!=t)throw new RangeError("Node type ids should correspond to array positions when creating a node set")}extend(...e){let t=[];for(let n of this.types){let o=null;for(let i of e){let s=i(n);s&&(o||(o=Object.assign({},n.props)),o[s[0].id]=s[1])}t.push(o?new Ne(n.name,o,n.id,n.flags):n)}return new Hr(t)}},Fl=new WeakMap,tg=new WeakMap,Ce;(function(r){r[r.ExcludeBuffers=1]="ExcludeBuffers",r[r.IncludeAnonymous=2]="IncludeAnonymous",r[r.IgnoreMounts=4]="IgnoreMounts",r[r.IgnoreOverlays=8]="IgnoreOverlays"})(Ce||(Ce={}));var ue=class{constructor(e,t,n,o,i){if(this.type=e,this.children=t,this.positions=n,this.length=o,this.props=null,i&&i.length){this.props=Object.create(null);for(let[s,l]of i)this.props[typeof s=="number"?s:s.id]=l}}toString(){let e=this.prop(Q.mounted);if(e&&!e.overlay)return e.tree.toString();let t="";for(let n of this.children){let o=n.toString();o&&(t&&(t+=","),t+=o)}return this.type.name?(/\W/.test(this.type.name)&&!this.type.isError?JSON.stringify(this.type.name):this.type.name)+(t.length?"("+t+")":""):t}cursor(e=0){return new No(this.topNode,e)}cursorAt(e,t=0,n=0){let o=Fl.get(this)||this.topNode,i=new No(o);return i.moveTo(e,t),Fl.set(this,i._tree),i}get topNode(){return new Xt(this,0,0,null)}resolve(e,t=0){let n=Oo(Fl.get(this)||this.topNode,e,t,!1);return Fl.set(this,n),n}resolveInner(e,t=0){let n=Oo(tg.get(this)||this.topNode,e,t,!0);return tg.set(this,n),n}iterate(e){let{enter:t,leave:n,from:o=0,to:i=this.length}=e,s=e.mode||0,l=(s&Ce.IncludeAnonymous)>0;for(let a=this.cursor(s|Ce.IncludeAnonymous);;){let c=!1;if(a.from<=i&&a.to>=o&&(!l&&a.type.isAnonymous||t(a)!==!1)){if(a.firstChild())continue;c=!0}for(;c&&n&&(l||!a.type.isAnonymous)&&n(a),!a.nextSibling();){if(!a.parent())return;c=!0}}}prop(e){return e.perNode?this.props?this.props[e.id]:void 0:this.type.prop(e)}get propValues(){let e=[];if(this.props)for(let t in this.props)e.push([+t,this.props[t]]);return e}balance(e={}){return this.children.length<=8?this:Vu(Ne.none,this.children,this.positions,0,this.children.length,0,this.length,(t,n,o)=>new ue(this.type,t,n,o,this.propValues),e.makeTree||((t,n,o)=>new ue(Ne.none,t,n,o)))}static build(e){return tT(e)}};ue.empty=new ue(Ne.none,[],[],0);var Xi=class{constructor(e,t){this.buffer=e,this.index=t}get id(){return this.buffer[this.index-4]}get start(){return this.buffer[this.index-3]}get end(){return this.buffer[this.index-2]}get size(){return this.buffer[this.index-1]}get pos(){return this.index}next(){this.index-=4}fork(){return new Xi(this.buffer,this.index)}},Rn=class{constructor(e,t,n){this.buffer=e,this.length=t,this.set=n}get type(){return Ne.none}toString(){let e=[];for(let t=0;t<this.buffer.length;)e.push(this.childString(t)),t=this.buffer[t+3];return e.join(",")}childString(e){let t=this.buffer[e],n=this.buffer[e+3],o=this.set.types[t],i=o.name;if(/\W/.test(i)&&!o.isError&&(i=JSON.stringify(i)),e+=4,n==e)return i;let s=[];for(;e<n;)s.push(this.childString(e)),e=this.buffer[e+3];return i+"("+s.join(",")+")"}findChild(e,t,n,o,i){let{buffer:s}=this,l=-1;for(let a=e;a!=t&&!(rg(i,o,s[a+1],s[a+2])&&(l=a,n>0));a=s[a+3]);return l}slice(e,t,n){let o=this.buffer,i=new Uint16Array(t-e),s=0;for(let l=e,a=0;l<t;){i[a++]=o[l++],i[a++]=o[l++]-n;let c=i[a++]=o[l++]-n;i[a++]=o[l++]-e,s=Math.max(s,c)}return new Rn(i,s,this.set)}};function rg(r,e,t,n){switch(r){case-2:return t<e;case-1:return n>=e&&t<e;case 0:return t<e&&n>e;case 1:return t<=e&&n>e;case 2:return n>e;case 4:return!0}}function og(r,e){let t=r.childBefore(e);for(;t;){let n=t.lastChild;if(!n||n.to!=t.to)break;n.type.isError&&n.from==n.to?(r=t,t=n.prevSibling):t=n}return r}function Oo(r,e,t,n){for(var o;r.from==r.to||(t<1?r.from>=e:r.from>e)||(t>-1?r.to<=e:r.to<e);){let s=!n&&r instanceof Xt&&r.index<0?null:r.parent;if(!s)return r;r=s}let i=n?0:Ce.IgnoreOverlays;if(n)for(let s=r,l=s.parent;l;s=l,l=s.parent)s instanceof Xt&&s.index<0&&((o=l.enter(e,t,i))===null||o===void 0?void 0:o.from)!=s.from&&(r=l);for(;;){let s=r.enter(e,t,i);if(!s)return r;r=s}}var Xt=class{constructor(e,t,n,o){this._tree=e,this.from=t,this.index=n,this._parent=o}get type(){return this._tree.type}get name(){return this._tree.type.name}get to(){return this.from+this._tree.length}nextChild(e,t,n,o,i=0){for(let s=this;;){for(let{children:l,positions:a}=s._tree,c=t>0?l.length:-1;e!=c;e+=t){let u=l[e],h=a[e]+s.from;if(rg(o,n,h,h+u.length)){if(u instanceof Rn){if(i&Ce.ExcludeBuffers)continue;let f=u.findChild(0,u.buffer.length,t,n-h,o);if(f>-1)return new cn(new Au(s,u,e,h),null,f)}else if(i&Ce.IncludeAnonymous||!u.type.isAnonymous||Nu(u)){let f;if(!(i&Ce.IgnoreMounts)&&u.props&&(f=u.prop(Q.mounted))&&!f.overlay)return new Xt(f.tree,h,e,s);let d=new Xt(u,h,e,s);return i&Ce.IncludeAnonymous||!d.type.isAnonymous?d:d.nextChild(t<0?u.children.length-1:0,t,n,o)}}}if(i&Ce.IncludeAnonymous||!s.type.isAnonymous||(s.index>=0?e=s.index+t:e=t<0?-1:s._parent._tree.children.length,s=s._parent,!s))return null}}get firstChild(){return this.nextChild(0,1,0,4)}get lastChild(){return this.nextChild(this._tree.children.length-1,-1,0,4)}childAfter(e){return this.nextChild(0,1,e,2)}childBefore(e){return this.nextChild(this._tree.children.length-1,-1,e,-2)}enter(e,t,n=0){let o;if(!(n&Ce.IgnoreOverlays)&&(o=this._tree.prop(Q.mounted))&&o.overlay){let i=e-this.from;for(let{from:s,to:l}of o.overlay)if((t>0?s<=i:s<i)&&(t<0?l>=i:l>i))return new Xt(o.tree,o.overlay[0].from+this.from,-1,this)}return this.nextChild(0,1,e,t,n)}nextSignificantParent(){let e=this;for(;e.type.isAnonymous&&e._parent;)e=e._parent;return e}get parent(){return this._parent?this._parent.nextSignificantParent():null}get nextSibling(){return this._parent&&this.index>=0?this._parent.nextChild(this.index+1,1,0,4):null}get prevSibling(){return this._parent&&this.index>=0?this._parent.nextChild(this.index-1,-1,0,4):null}cursor(e=0){return new No(this,e)}get tree(){return this._tree}toTree(){return this._tree}resolve(e,t=0){return Oo(this,e,t,!1)}resolveInner(e,t=0){return Oo(this,e,t,!0)}enterUnfinishedNodesBefore(e){return og(this,e)}getChild(e,t=null,n=null){let o=Hl(this,e,t,n);return o.length?o[0]:null}getChildren(e,t=null,n=null){return Hl(this,e,t,n)}toString(){return this._tree.toString()}get node(){return this}matchContext(e){return _l(this,e)}};function Hl(r,e,t,n){let o=r.cursor(),i=[];if(!o.firstChild())return i;if(t!=null){for(;!o.type.is(t);)if(!o.nextSibling())return i}for(;;){if(n!=null&&o.type.is(n))return i;if(o.type.is(e)&&i.push(o.node),!o.nextSibling())return n==null?i:[]}}function _l(r,e,t=e.length-1){for(let n=r.parent;t>=0;n=n.parent){if(!n)return!1;if(!n.type.isAnonymous){if(e[t]&&e[t]!=n.name)return!1;t--}}return!0}var Au=class{constructor(e,t,n,o){this.parent=e,this.buffer=t,this.index=n,this.start=o}},cn=class{get name(){return this.type.name}get from(){return this.context.start+this.context.buffer.buffer[this.index+1]}get to(){return this.context.start+this.context.buffer.buffer[this.index+2]}constructor(e,t,n){this.context=e,this._parent=t,this.index=n,this.type=e.buffer.set.types[e.buffer.buffer[n]]}child(e,t,n){let{buffer:o}=this.context,i=o.findChild(this.index+4,o.buffer[this.index+3],e,t-this.context.start,n);return i<0?null:new cn(this.context,this,i)}get firstChild(){return this.child(1,0,4)}get lastChild(){return this.child(-1,0,4)}childAfter(e){return this.child(1,e,2)}childBefore(e){return this.child(-1,e,-2)}enter(e,t,n=0){if(n&Ce.ExcludeBuffers)return null;let{buffer:o}=this.context,i=o.findChild(this.index+4,o.buffer[this.index+3],t>0?1:-1,e-this.context.start,t);return i<0?null:new cn(this.context,this,i)}get parent(){return this._parent||this.context.parent.nextSignificantParent()}externalSibling(e){return this._parent?null:this.context.parent.nextChild(this.context.index+e,e,0,4)}get nextSibling(){let{buffer:e}=this.context,t=e.buffer[this.index+3];return t<(this._parent?e.buffer[this._parent.index+3]:e.buffer.length)?new cn(this.context,this._parent,t):this.externalSibling(1)}get prevSibling(){let{buffer:e}=this.context,t=this._parent?this._parent.index+4:0;return this.index==t?this.externalSibling(-1):new cn(this.context,this._parent,e.findChild(t,this.index,-1,0,4))}cursor(e=0){return new No(this,e)}get tree(){return null}toTree(){let e=[],t=[],{buffer:n}=this.context,o=this.index+4,i=n.buffer[this.index+3];if(i>o){let s=n.buffer[this.index+1];e.push(n.slice(o,i,s)),t.push(0)}return new ue(this.type,e,t,this.to-this.from)}resolve(e,t=0){return Oo(this,e,t,!1)}resolveInner(e,t=0){return Oo(this,e,t,!0)}enterUnfinishedNodesBefore(e){return og(this,e)}toString(){return this.context.buffer.childString(this.index)}getChild(e,t=null,n=null){let o=Hl(this,e,t,n);return o.length?o[0]:null}getChildren(e,t=null,n=null){return Hl(this,e,t,n)}get node(){return this}matchContext(e){return _l(this,e)}},No=class{get name(){return this.type.name}constructor(e,t=0){if(this.mode=t,this.buffer=null,this.stack=[],this.index=0,this.bufferNode=null,e instanceof Xt)this.yieldNode(e);else{this._tree=e.context.parent,this.buffer=e.context;for(let n=e._parent;n;n=n._parent)this.stack.unshift(n.index);this.bufferNode=e,this.yieldBuf(e.index)}}yieldNode(e){return e?(this._tree=e,this.type=e.type,this.from=e.from,this.to=e.to,!0):!1}yieldBuf(e,t){this.index=e;let{start:n,buffer:o}=this.buffer;return this.type=t||o.set.types[o.buffer[e]],this.from=n+o.buffer[e+1],this.to=n+o.buffer[e+2],!0}yield(e){return e?e instanceof Xt?(this.buffer=null,this.yieldNode(e)):(this.buffer=e.context,this.yieldBuf(e.index,e.type)):!1}toString(){return this.buffer?this.buffer.buffer.childString(this.index):this._tree.toString()}enterChild(e,t,n){if(!this.buffer)return this.yield(this._tree.nextChild(e<0?this._tree._tree.children.length-1:0,e,t,n,this.mode));let{buffer:o}=this.buffer,i=o.findChild(this.index+4,o.buffer[this.index+3],e,t-this.buffer.start,n);return i<0?!1:(this.stack.push(this.index),this.yieldBuf(i))}firstChild(){return this.enterChild(1,0,4)}lastChild(){return this.enterChild(-1,0,4)}childAfter(e){return this.enterChild(1,e,2)}childBefore(e){return this.enterChild(-1,e,-2)}enter(e,t,n=this.mode){return this.buffer?n&Ce.ExcludeBuffers?!1:this.enterChild(1,e,t):this.yield(this._tree.enter(e,t,n))}parent(){if(!this.buffer)return this.yieldNode(this.mode&Ce.IncludeAnonymous?this._tree._parent:this._tree.parent);if(this.stack.length)return this.yieldBuf(this.stack.pop());let e=this.mode&Ce.IncludeAnonymous?this.buffer.parent:this.buffer.parent.nextSignificantParent();return this.buffer=null,this.yieldNode(e)}sibling(e){if(!this.buffer)return this._tree._parent?this.yield(this._tree.index<0?null:this._tree._parent.nextChild(this._tree.index+e,e,0,4,this.mode)):!1;let{buffer:t}=this.buffer,n=this.stack.length-1;if(e<0){let o=n<0?0:this.stack[n]+4;if(this.index!=o)return this.yieldBuf(t.findChild(o,this.index,-1,0,4))}else{let o=t.buffer[this.index+3];if(o<(n<0?t.buffer.length:t.buffer[this.stack[n]+3]))return this.yieldBuf(o)}return n<0?this.yield(this.buffer.parent.nextChild(this.buffer.index+e,e,0,4,this.mode)):!1}nextSibling(){return this.sibling(1)}prevSibling(){return this.sibling(-1)}atLastNode(e){let t,n,{buffer:o}=this;if(o){if(e>0){if(this.index<o.buffer.buffer.length)return!1}else for(let i=0;i<this.index;i++)if(o.buffer.buffer[i+3]<this.index)return!1;({index:t,parent:n}=o)}else({index:t,_parent:n}=this._tree);for(;n;{index:t,_parent:n}=n)if(t>-1)for(let i=t+e,s=e<0?-1:n._tree.children.length;i!=s;i+=e){let l=n._tree.children[i];if(this.mode&Ce.IncludeAnonymous||l instanceof Rn||!l.type.isAnonymous||Nu(l))return!1}return!0}move(e,t){if(t&&this.enterChild(e,0,4))return!0;for(;;){if(this.sibling(e))return!0;if(this.atLastNode(e)||!this.parent())return!1}}next(e=!0){return this.move(1,e)}prev(e=!0){return this.move(-1,e)}moveTo(e,t=0){for(;(this.from==this.to||(t<1?this.from>=e:this.from>e)||(t>-1?this.to<=e:this.to<e))&&this.parent(););for(;this.enterChild(1,e,t););return this}get node(){if(!this.buffer)return this._tree;let e=this.bufferNode,t=null,n=0;if(e&&e.context==this.buffer)e:for(let o=this.index,i=this.stack.length;i>=0;){for(let s=e;s;s=s._parent)if(s.index==o){if(o==this.index)return s;t=s,n=i+1;break e}o=this.stack[--i]}for(let o=n;o<this.stack.length;o++)t=new cn(this.buffer,t,this.stack[o]);return this.bufferNode=new cn(this.buffer,t,this.index)}get tree(){return this.buffer?null:this._tree._tree}iterate(e,t){for(let n=0;;){let o=!1;if(this.type.isAnonymous||e(this)!==!1){if(this.firstChild()){n++;continue}this.type.isAnonymous||(o=!0)}for(;o&&t&&t(this),o=this.type.isAnonymous,!this.nextSibling();){if(!n)return;this.parent(),n--,o=!0}}}matchContext(e){if(!this.buffer)return _l(this.node,e);let{buffer:t}=this.buffer,{types:n}=t.set;for(let o=e.length-1,i=this.stack.length-1;o>=0;i--){if(i<0)return _l(this.node,e,o);let s=n[t.buffer[this.stack[i]]];if(!s.isAnonymous){if(e[o]&&e[o]!=s.name)return!1;o--}}return!0}};function Nu(r){return r.children.some(e=>e instanceof Rn||!e.type.isAnonymous||Nu(e))}function tT(r){var e;let{buffer:t,nodeSet:n,maxBufferLength:o=1024,reused:i=[],minRepeatType:s=n.types.length}=r,l=Array.isArray(t)?new Xi(t,t.length):t,a=n.types,c=0,u=0;function h(x,S,b,C,k){let{id:E,start:R,end:M,size:P}=l,I=u;for(;P<0;)if(l.next(),P==-1){let N=i[E];b.push(N),C.push(R-x);return}else if(P==-3){c=E;return}else if(P==-4){u=E;return}else throw new RangeError(`Unrecognized record size: ${P}`);let V=a[E],B,$,O=R-x;if(M-R<=o&&($=m(l.pos-S,k))){let N=new Uint16Array($.size-$.skip),F=l.pos-$.size,q=N.length;for(;l.pos>F;)q=y($.start,N,q);B=new Rn(N,M-$.start,n),O=$.start-x}else{let N=l.pos-P;l.next();let F=[],q=[],Z=E>=s?E:-1,ne=0,Je=M;for(;l.pos>N;)Z>=0&&l.id==Z&&l.size>=0?(l.end<=Je-o&&(d(F,q,R,ne,l.end,Je,Z,I),ne=F.length,Je=l.end),l.next()):h(R,N,F,q,Z);if(Z>=0&&ne>0&&ne<F.length&&d(F,q,R,ne,R,Je,Z,I),F.reverse(),q.reverse(),Z>-1&&ne>0){let ye=f(V);B=Vu(V,F,q,0,F.length,0,M-R,ye,ye)}else B=p(V,F,q,M-R,I-M)}b.push(B),C.push(O)}function f(x){return(S,b,C)=>{let k=0,E=S.length-1,R,M;if(E>=0&&(R=S[E])instanceof ue){if(!E&&R.type==x&&R.length==C)return R;(M=R.prop(Q.lookAhead))&&(k=b[E]+R.length+M)}return p(x,S,b,C,k)}}function d(x,S,b,C,k,E,R,M){let P=[],I=[];for(;x.length>C;)P.push(x.pop()),I.push(S.pop()+b-k);x.push(p(n.types[R],P,I,E-k,M-E)),S.push(k-b)}function p(x,S,b,C,k=0,E){if(c){let R=[Q.contextHash,c];E=E?[R].concat(E):[R]}if(k>25){let R=[Q.lookAhead,k];E=E?[R].concat(E):[R]}return new ue(x,S,b,C,E)}function m(x,S){let b=l.fork(),C=0,k=0,E=0,R=b.end-o,M={size:0,start:0,skip:0};e:for(let P=b.pos-x;b.pos>P;){let I=b.size;if(b.id==S&&I>=0){M.size=C,M.start=k,M.skip=E,E+=4,C+=4,b.next();continue}let V=b.pos-I;if(I<0||V<P||b.start<R)break;let B=b.id>=s?4:0,$=b.start;for(b.next();b.pos>V;){if(b.size<0)if(b.size==-3)B+=4;else break e;else b.id>=s&&(B+=4);b.next()}k=$,C+=I,E+=B}return(S<0||C==x)&&(M.size=C,M.start=k,M.skip=E),M.size>4?M:void 0}function y(x,S,b){let{id:C,start:k,end:E,size:R}=l;if(l.next(),R>=0&&C<s){let M=b;if(R>4){let P=l.pos-(R-4);for(;l.pos>P;)b=y(x,S,b)}S[--b]=M,S[--b]=E-x,S[--b]=k-x,S[--b]=C}else R==-3?c=C:R==-4&&(u=C);return b}let g=[],v=[];for(;l.pos>0;)h(r.start||0,r.bufferStart||0,g,v,-1);let w=(e=r.length)!==null&&e!==void 0?e:g.length?v[0]+g[0].length:0;return new ue(a[r.topID],g.reverse(),v.reverse(),w)}var ng=new WeakMap;function Bl(r,e){if(!r.isAnonymous||e instanceof Rn||e.type!=r)return 1;let t=ng.get(e);if(t==null){t=1;for(let n of e.children){if(n.type!=r||!(n instanceof ue)){t=1;break}t+=Bl(r,n)}ng.set(e,t)}return t}function Vu(r,e,t,n,o,i,s,l,a){let c=0;for(let p=n;p<o;p++)c+=Bl(r,e[p]);let u=Math.ceil(c*1.5/8),h=[],f=[];function d(p,m,y,g,v){for(let w=y;w<g;){let x=w,S=m[w],b=Bl(r,p[w]);for(w++;w<g;w++){let C=Bl(r,p[w]);if(b+C>=u)break;b+=C}if(w==x+1){if(b>u){let C=p[x];d(C.children,C.positions,0,C.children.length,m[x]+v);continue}h.push(p[x])}else{let C=m[w-1]+p[w-1].length-S;h.push(Vu(r,p,m,x,w,S,C,null,a))}f.push(S+v-i)}}return d(e,t,n,o,0),(l||a)(h,f,s)}var un=class{constructor(e,t,n,o,i=!1,s=!1){this.from=e,this.to=t,this.tree=n,this.offset=o,this.open=(i?1:0)|(s?2:0)}get openStart(){return(this.open&1)>0}get openEnd(){return(this.open&2)>0}static addTree(e,t=[],n=!1){let o=[new un(0,e.length,e,0,!1,n)];for(let i of t)i.to>e.length&&o.push(i);return o}static applyChanges(e,t,n=128){if(!t.length)return e;let o=[],i=1,s=e.length?e[0]:null;for(let l=0,a=0,c=0;;l++){let u=l<t.length?t[l]:null,h=u?u.fromA:1e9;if(h-a>=n)for(;s&&s.from<h;){let f=s;if(a>=f.from||h<=f.to||c){let d=Math.max(f.from,a)-c,p=Math.min(f.to,h)-c;f=d>=p?null:new un(d,p,f.tree,f.offset+c,l>0,!!u)}if(f&&o.push(f),s.to>h)break;s=i<e.length?e[i++]:null}if(!u)break;a=u.toA,c=u.toA-u.toB}return o}},Vo=class{startParse(e,t,n){return typeof e=="string"&&(e=new Ou(e)),n=n?n.length?n.map(o=>new Yi(o.from,o.to)):[new Yi(0,0)]:[new Yi(0,e.length)],this.createParse(e,t||[],n)}parse(e,t,n){let o=this.startParse(e,t,n);for(;;){let i=o.advance();if(i)return i}}},Ou=class{constructor(e){this.string=e}get length(){return this.string.length}chunk(e){return this.string.slice(e)}get lineChunks(){return!1}read(e,t){return this.string.slice(e,t)}};var L2=new Q({perNode:!0});var Bo=class{constructor(e,t,n,o,i,s,l,a,c,u=0,h){this.p=e,this.stack=t,this.state=n,this.reducePos=o,this.pos=i,this.score=s,this.buffer=l,this.bufferBase=a,this.curContext=c,this.lookAhead=u,this.parent=h}toString(){return`[${this.stack.filter((e,t)=>t%3==0).concat(this.state)}]@${this.pos}${this.score?"!"+this.score:""}`}static start(e,t,n=0){let o=e.parser.context;return new Bo(e,[],t,n,n,0,[],0,o?new zl(o,o.start):null,0,null)}get context(){return this.curContext?this.curContext.context:null}pushState(e,t){this.stack.push(this.state,t,this.bufferBase+this.buffer.length),this.state=e}reduce(e){var t;let n=e>>19,o=e&65535,{parser:i}=this.p,s=i.dynamicPrecedence(o);if(s&&(this.score+=s),n==0){this.pushState(i.getGoto(this.state,o,!0),this.reducePos),o<i.minRepeatTerm&&this.storeNode(o,this.reducePos,this.reducePos,4,!0),this.reduceContext(o,this.reducePos);return}let l=this.stack.length-(n-1)*3-(e&262144?6:0),a=l?this.stack[l-2]:this.p.ranges[0].from,c=this.reducePos-a;c>=2e3&&!(!((t=this.p.parser.nodeSet.types[o])===null||t===void 0)&&t.isAnonymous)&&(a==this.p.lastBigReductionStart?(this.p.bigReductionCount++,this.p.lastBigReductionSize=c):this.p.lastBigReductionSize<c&&(this.p.bigReductionCount=1,this.p.lastBigReductionStart=a,this.p.lastBigReductionSize=c));let u=l?this.stack[l-1]:0,h=this.bufferBase+this.buffer.length-u;if(o<i.minRepeatTerm||e&131072){let f=i.stateFlag(this.state,1)?this.pos:this.reducePos;this.storeNode(o,a,f,h+4,!0)}if(e&262144)this.state=this.stack[l];else{let f=this.stack[l-3];this.state=i.getGoto(f,o,!0)}for(;this.stack.length>l;)this.stack.pop();this.reduceContext(o,a)}storeNode(e,t,n,o=4,i=!1){if(e==0&&(!this.stack.length||this.stack[this.stack.length-1]<this.buffer.length+this.bufferBase)){let s=this,l=this.buffer.length;if(l==0&&s.parent&&(l=s.bufferBase-s.parent.bufferBase,s=s.parent),l>0&&s.buffer[l-4]==0&&s.buffer[l-1]>-1){if(t==n)return;if(s.buffer[l-2]>=t){s.buffer[l-2]=n;return}}}if(!i||this.pos==n)this.buffer.push(e,t,n,o);else{let s=this.buffer.length;if(s>0&&this.buffer[s-4]!=0)for(;s>0&&this.buffer[s-2]>n;)this.buffer[s]=this.buffer[s-4],this.buffer[s+1]=this.buffer[s-3],this.buffer[s+2]=this.buffer[s-2],this.buffer[s+3]=this.buffer[s-1],s-=4,o>4&&(o-=4);this.buffer[s]=e,this.buffer[s+1]=t,this.buffer[s+2]=n,this.buffer[s+3]=o}}shift(e,t,n){let o=this.pos;if(e&131072)this.pushState(e&65535,this.pos);else if(e&262144)this.pos=n,this.shiftContext(t,o),t<=this.p.parser.maxNode&&this.buffer.push(t,o,n,4);else{let i=e,{parser:s}=this.p;(n>this.pos||t<=s.maxNode)&&(this.pos=n,s.stateFlag(i,1)||(this.reducePos=n)),this.pushState(i,o),this.shiftContext(t,o),t<=s.maxNode&&this.buffer.push(t,o,n,4)}}apply(e,t,n){e&65536?this.reduce(e):this.shift(e,t,n)}useNode(e,t){let n=this.p.reused.length-1;(n<0||this.p.reused[n]!=e)&&(this.p.reused.push(e),n++);let o=this.pos;this.reducePos=this.pos=o+e.length,this.pushState(t,o),this.buffer.push(n,o,this.reducePos,-1),this.curContext&&this.updateContext(this.curContext.tracker.reuse(this.curContext.context,e,this,this.p.stream.reset(this.pos-e.length)))}split(){let e=this,t=e.buffer.length;for(;t>0&&e.buffer[t-2]>e.reducePos;)t-=4;let n=e.buffer.slice(t),o=e.bufferBase+t;for(;e&&o==e.bufferBase;)e=e.parent;return new Bo(this.p,this.stack.slice(),this.state,this.reducePos,this.pos,this.score,n,o,this.curContext,this.lookAhead,e)}recoverByDelete(e,t){let n=e<=this.p.parser.maxNode;n&&this.storeNode(e,this.pos,t,4),this.storeNode(0,this.pos,t,n?8:4),this.pos=this.reducePos=t,this.score-=190}canShift(e){for(let t=new Bu(this);;){let n=this.p.parser.stateSlot(t.state,4)||this.p.parser.hasAction(t.state,e);if(n==0)return!1;if(!(n&65536))return!0;t.reduce(n)}}recoverByInsert(e){if(this.stack.length>=300)return[];let t=this.p.parser.nextStates(this.state);if(t.length>4<<1||this.stack.length>=120){let o=[];for(let i=0,s;i<t.length;i+=2)(s=t[i+1])!=this.state&&this.p.parser.hasAction(s,e)&&o.push(t[i],s);if(this.stack.length<120)for(let i=0;o.length<4<<1&&i<t.length;i+=2){let s=t[i+1];o.some((l,a)=>a&1&&l==s)||o.push(t[i],s)}t=o}let n=[];for(let o=0;o<t.length&&n.length<4;o+=2){let i=t[o+1];if(i==this.state)continue;let s=this.split();s.pushState(i,this.pos),s.storeNode(0,s.pos,s.pos,4,!0),s.shiftContext(t[o],this.pos),s.score-=200,n.push(s)}return n}forceReduce(){let{parser:e}=this.p,t=e.stateSlot(this.state,5);if(!(t&65536))return!1;if(!e.validAction(this.state,t)){let n=t>>19,o=t&65535,i=this.stack.length-n*3;if(i<0||e.getGoto(this.stack[i],o,!1)<0){let s=this.findForcedReduction();if(s==null)return!1;t=s}this.storeNode(0,this.pos,this.pos,4,!0),this.score-=100}return this.reducePos=this.pos,this.reduce(t),!0}findForcedReduction(){let{parser:e}=this.p,t=[],n=(o,i)=>{if(!t.includes(o))return t.push(o),e.allActions(o,s=>{if(!(s&393216))if(s&65536){let l=(s>>19)-i;if(l>1){let a=s&65535,c=this.stack.length-l*3;if(c>=0&&e.getGoto(this.stack[c],a,!1)>=0)return l<<19|65536|a}}else{let l=n(s,i+1);if(l!=null)return l}})};return n(this.state,0)}forceAll(){for(;!this.p.parser.stateFlag(this.state,2);)if(!this.forceReduce()){this.storeNode(0,this.pos,this.pos,4,!0);break}return this}get deadEnd(){if(this.stack.length!=3)return!1;let{parser:e}=this.p;return e.data[e.stateSlot(this.state,1)]==65535&&!e.stateSlot(this.state,4)}restart(){this.state=this.stack[0],this.stack.length=0}sameState(e){if(this.state!=e.state||this.stack.length!=e.stack.length)return!1;for(let t=0;t<this.stack.length;t+=3)if(this.stack[t]!=e.stack[t])return!1;return!0}get parser(){return this.p.parser}dialectEnabled(e){return this.p.parser.dialect.flags[e]}shiftContext(e,t){this.curContext&&this.updateContext(this.curContext.tracker.shift(this.curContext.context,e,this,this.p.stream.reset(t)))}reduceContext(e,t){this.curContext&&this.updateContext(this.curContext.tracker.reduce(this.curContext.context,e,this,this.p.stream.reset(t)))}emitContext(){let e=this.buffer.length-1;(e<0||this.buffer[e]!=-3)&&this.buffer.push(this.curContext.hash,this.pos,this.pos,-3)}emitLookAhead(){let e=this.buffer.length-1;(e<0||this.buffer[e]!=-4)&&this.buffer.push(this.lookAhead,this.pos,this.pos,-4)}updateContext(e){if(e!=this.curContext.context){let t=new zl(this.curContext.tracker,e);t.hash!=this.curContext.hash&&this.emitContext(),this.curContext=t}}setLookAhead(e){e>this.lookAhead&&(this.emitLookAhead(),this.lookAhead=e)}close(){this.curContext&&this.curContext.tracker.strict&&this.emitContext(),this.lookAhead>0&&this.emitLookAhead()}},zl=class{constructor(e,t){this.tracker=e,this.context=t,this.hash=e.strict?e.hash(t):0}},ig;(function(r){r[r.Insert=200]="Insert",r[r.Delete=190]="Delete",r[r.Reduce=100]="Reduce",r[r.MaxNext=4]="MaxNext",r[r.MaxInsertStackDepth=300]="MaxInsertStackDepth",r[r.DampenInsertStackDepth=120]="DampenInsertStackDepth",r[r.MinBigReduction=2e3]="MinBigReduction"})(ig||(ig={}));var Bu=class{constructor(e){this.start=e,this.state=e.state,this.stack=e.stack,this.base=this.stack.length}reduce(e){let t=e&65535,n=e>>19;n==0?(this.stack==this.start.stack&&(this.stack=this.stack.slice()),this.stack.push(this.state,0,0),this.base+=3):this.base-=(n-1)*3;let o=this.start.p.parser.getGoto(this.stack[this.base-3],t,!0);this.state=o}},Ho=class{constructor(e,t,n){this.stack=e,this.pos=t,this.index=n,this.buffer=e.buffer,this.index==0&&this.maybeNext()}static create(e,t=e.bufferBase+e.buffer.length){return new Ho(e,t,t-e.bufferBase)}maybeNext(){let e=this.stack.parent;e!=null&&(this.index=this.stack.bufferBase-e.bufferBase,this.stack=e,this.buffer=e.buffer)}get id(){return this.buffer[this.index-4]}get start(){return this.buffer[this.index-3]}get end(){return this.buffer[this.index-2]}get size(){return this.buffer[this.index-1]}next(){this.index-=4,this.pos-=4,this.index==0&&this.maybeNext()}fork(){return new Ho(this.stack,this.pos,this.index)}};function Zi(r,e=Uint16Array){if(typeof r!="string")return r;let t=null;for(let n=0,o=0;n<r.length;){let i=0;for(;;){let s=r.charCodeAt(n++),l=!1;if(s==126){i=65535;break}s>=92&&s--,s>=34&&s--;let a=s-32;if(a>=46&&(a-=46,l=!0),i+=a,l)break;i*=46}t?t[o++]=i:t=new e(i)}return t}var Fo=class{constructor(){this.start=-1,this.value=-1,this.end=-1,this.extended=-1,this.lookAhead=0,this.mask=0,this.context=0}},sg=new Fo,Hu=class{constructor(e,t){this.input=e,this.ranges=t,this.chunk="",this.chunkOff=0,this.chunk2="",this.chunk2Pos=0,this.next=-1,this.token=sg,this.rangeIndex=0,this.pos=this.chunkPos=t[0].from,this.range=t[0],this.end=t[t.length-1].to,this.readNext()}resolveOffset(e,t){let n=this.range,o=this.rangeIndex,i=this.pos+e;for(;i<n.from;){if(!o)return null;let s=this.ranges[--o];i-=n.from-s.to,n=s}for(;t<0?i>n.to:i>=n.to;){if(o==this.ranges.length-1)return null;let s=this.ranges[++o];i+=s.from-n.to,n=s}return i}clipPos(e){if(e>=this.range.from&&e<this.range.to)return e;for(let t of this.ranges)if(t.to>e)return Math.max(e,t.from);return this.end}peek(e){let t=this.chunkOff+e,n,o;if(t>=0&&t<this.chunk.length)n=this.pos+e,o=this.chunk.charCodeAt(t);else{let i=this.resolveOffset(e,1);if(i==null)return-1;if(n=i,n>=this.chunk2Pos&&n<this.chunk2Pos+this.chunk2.length)o=this.chunk2.charCodeAt(n-this.chunk2Pos);else{let s=this.rangeIndex,l=this.range;for(;l.to<=n;)l=this.ranges[++s];this.chunk2=this.input.chunk(this.chunk2Pos=n),n+this.chunk2.length>l.to&&(this.chunk2=this.chunk2.slice(0,l.to-n)),o=this.chunk2.charCodeAt(0)}}return n>=this.token.lookAhead&&(this.token.lookAhead=n+1),o}acceptToken(e,t=0){let n=t?this.resolveOffset(t,-1):this.pos;if(n==null||n<this.token.start)throw new RangeError("Token end out of bounds");this.token.value=e,this.token.end=n}getChunk(){if(this.pos>=this.chunk2Pos&&this.pos<this.chunk2Pos+this.chunk2.length){let{chunk:e,chunkPos:t}=this;this.chunk=this.chunk2,this.chunkPos=this.chunk2Pos,this.chunk2=e,this.chunk2Pos=t,this.chunkOff=this.pos-this.chunkPos}else{this.chunk2=this.chunk,this.chunk2Pos=this.chunkPos;let e=this.input.chunk(this.pos),t=this.pos+e.length;this.chunk=t>this.range.to?e.slice(0,this.range.to-this.pos):e,this.chunkPos=this.pos,this.chunkOff=0}}readNext(){return this.chunkOff>=this.chunk.length&&(this.getChunk(),this.chunkOff==this.chunk.length)?this.next=-1:this.next=this.chunk.charCodeAt(this.chunkOff)}advance(e=1){for(this.chunkOff+=e;this.pos+e>=this.range.to;){if(this.rangeIndex==this.ranges.length-1)return this.setDone();e-=this.range.to-this.pos,this.range=this.ranges[++this.rangeIndex],this.pos=this.range.from}return this.pos+=e,this.pos>=this.token.lookAhead&&(this.token.lookAhead=this.pos+1),this.readNext()}setDone(){return this.pos=this.chunkPos=this.end,this.range=this.ranges[this.rangeIndex=this.ranges.length-1],this.chunk="",this.next=-1}reset(e,t){if(t?(this.token=t,t.start=e,t.lookAhead=e+1,t.value=t.extended=-1):this.token=sg,this.pos!=e){if(this.pos=e,e==this.end)return this.setDone(),this;for(;e<this.range.from;)this.range=this.ranges[--this.rangeIndex];for(;e>=this.range.to;)this.range=this.ranges[++this.rangeIndex];e>=this.chunkPos&&e<this.chunkPos+this.chunk.length?this.chunkOff=e-this.chunkPos:(this.chunk="",this.chunkOff=0),this.readNext()}return this}read(e,t){if(e>=this.chunkPos&&t<=this.chunkPos+this.chunk.length)return this.chunk.slice(e-this.chunkPos,t-this.chunkPos);if(e>=this.chunk2Pos&&t<=this.chunk2Pos+this.chunk2.length)return this.chunk2.slice(e-this.chunk2Pos,t-this.chunk2Pos);if(e>=this.range.from&&t<=this.range.to)return this.input.read(e,t);let n="";for(let o of this.ranges){if(o.from>=t)break;o.to>e&&(n+=this.input.read(Math.max(o.from,e),Math.min(o.to,t)))}return n}},tr=class{constructor(e,t){this.data=e,this.id=t}token(e,t){let{parser:n}=t.p;dg(this.data,e,t,this.id,n.data,n.tokenPrecTable)}};tr.prototype.contextual=tr.prototype.fallback=tr.prototype.extend=!1;var _u=class{constructor(e,t,n){this.precTable=t,this.elseToken=n,this.data=typeof e=="string"?Zi(e):e}token(e,t){let n=e.pos,o=0;for(;;){let i=e.next<0,s=e.resolveOffset(1,1);if(dg(this.data,e,t,0,this.data,this.precTable),e.token.value>-1)break;if(this.elseToken==null)return;if(i||o++,s==null)break;e.reset(s,e.token)}o&&(e.reset(n,e.token),e.acceptToken(this.elseToken,o))}};_u.prototype.contextual=tr.prototype.fallback=tr.prototype.extend=!1;function dg(r,e,t,n,o,i){let s=0,l=1<<n,{dialect:a}=t.p.parser;e:for(;l&r[s];){let c=r[s+1];for(let d=s+3;d<c;d+=2)if((r[d+1]&l)>0){let p=r[d];if(a.allows(p)&&(e.token.value==-1||e.token.value==p||rT(p,e.token.value,o,i))){e.acceptToken(p);break}}let u=e.next,h=0,f=r[s+2];if(e.next<0&&f>h&&r[c+f*3-3]==65535&&r[c+f*3-3]==65535){s=r[c+f*3-1];continue e}for(;h<f;){let d=h+f>>1,p=c+d+(d<<1),m=r[p],y=r[p+1]||65536;if(u<m)f=d;else if(u>=y)h=d+1;else{s=r[p+2],e.advance();continue e}}break}}function lg(r,e,t){for(let n=e,o;(o=r[n])!=65535;n++)if(o==t)return n-e;return-1}function rT(r,e,t,n){let o=lg(t,n,e);return o<0||lg(t,n,r)<o}var Zt=typeof process<"u"&&process.env&&/\bparse\b/.test(process.env.LOG),Fu=null,ag;(function(r){r[r.Margin=25]="Margin"})(ag||(ag={}));function cg(r,e,t){let n=r.cursor(Ce.IncludeAnonymous);for(n.moveTo(e);;)if(!(t<0?n.childBefore(e):n.childAfter(e)))for(;;){if((t<0?n.to<e:n.from>e)&&!n.type.isError)return t<0?Math.max(0,Math.min(n.to-1,e-25)):Math.min(r.length,Math.max(n.from+1,e+25));if(t<0?n.prevSibling():n.nextSibling())break;if(!n.parent())return t<0?0:r.length}}var zu=class{constructor(e,t){this.fragments=e,this.nodeSet=t,this.i=0,this.fragment=null,this.safeFrom=-1,this.safeTo=-1,this.trees=[],this.start=[],this.index=[],this.nextFragment()}nextFragment(){let e=this.fragment=this.i==this.fragments.length?null:this.fragments[this.i++];if(e){for(this.safeFrom=e.openStart?cg(e.tree,e.from+e.offset,1)-e.offset:e.from,this.safeTo=e.openEnd?cg(e.tree,e.to+e.offset,-1)-e.offset:e.to;this.trees.length;)this.trees.pop(),this.start.pop(),this.index.pop();this.trees.push(e.tree),this.start.push(-e.offset),this.index.push(0),this.nextStart=this.safeFrom}else this.nextStart=1e9}nodeAt(e){if(e<this.nextStart)return null;for(;this.fragment&&this.safeTo<=e;)this.nextFragment();if(!this.fragment)return null;for(;;){let t=this.trees.length-1;if(t<0)return this.nextFragment(),null;let n=this.trees[t],o=this.index[t];if(o==n.children.length){this.trees.pop(),this.start.pop(),this.index.pop();continue}let i=n.children[o],s=this.start[t]+n.positions[o];if(s>e)return this.nextStart=s,null;if(i instanceof ue){if(s==e){if(s<this.safeFrom)return null;let l=s+i.length;if(l<=this.safeTo){let a=i.prop(Q.lookAhead);if(!a||l+a<this.fragment.to)return i}}this.index[t]++,s+i.length>=Math.max(this.safeFrom,e)&&(this.trees.push(i),this.start.push(s),this.index.push(0))}else this.index[t]++,this.nextStart=s+i.length}}},Wu=class{constructor(e,t){this.stream=t,this.tokens=[],this.mainToken=null,this.actions=[],this.tokens=e.tokenizers.map(n=>new Fo)}getActions(e){let t=0,n=null,{parser:o}=e.p,{tokenizers:i}=o,s=o.stateSlot(e.state,3),l=e.curContext?e.curContext.hash:0,a=0;for(let c=0;c<i.length;c++){if(!(1<<c&s))continue;let u=i[c],h=this.tokens[c];if(!(n&&!u.fallback)&&((u.contextual||h.start!=e.pos||h.mask!=s||h.context!=l)&&(this.updateCachedToken(h,u,e),h.mask=s,h.context=l),h.lookAhead>h.end+25&&(a=Math.max(h.lookAhead,a)),h.value!=0)){let f=t;if(h.extended>-1&&(t=this.addActions(e,h.extended,h.end,t)),t=this.addActions(e,h.value,h.end,t),!u.extend&&(n=h,t>f))break}}for(;this.actions.length>t;)this.actions.pop();return a&&e.setLookAhead(a),!n&&e.pos==this.stream.end&&(n=new Fo,n.value=e.p.parser.eofTerm,n.start=n.end=e.pos,t=this.addActions(e,n.value,n.end,t)),this.mainToken=n,this.actions}getMainToken(e){if(this.mainToken)return this.mainToken;let t=new Fo,{pos:n,p:o}=e;return t.start=n,t.end=Math.min(n+1,o.stream.end),t.value=n==o.stream.end?o.parser.eofTerm:0,t}updateCachedToken(e,t,n){let o=this.stream.clipPos(n.pos);if(t.token(this.stream.reset(o,e),n),e.value>-1){let{parser:i}=n.p;for(let s=0;s<i.specialized.length;s++)if(i.specialized[s]==e.value){let l=i.specializers[s](this.stream.read(e.start,e.end),n);if(l>=0&&n.p.parser.dialect.allows(l>>1)){l&1?e.extended=l>>1:e.value=l>>1;break}}}else e.value=0,e.end=this.stream.clipPos(o+1)}putAction(e,t,n,o){for(let i=0;i<o;i+=3)if(this.actions[i]==e)return o;return this.actions[o++]=e,this.actions[o++]=t,this.actions[o++]=n,o}addActions(e,t,n,o){let{state:i}=e,{parser:s}=e.p,{data:l}=s;for(let a=0;a<2;a++)for(let c=s.stateSlot(i,a?2:1);;c+=3){if(l[c]==65535)if(l[c+1]==1)c=In(l,c+2);else{o==0&&l[c+1]==2&&(o=this.putAction(In(l,c+2),t,n,o));break}l[c]==t&&(o=this.putAction(In(l,c+1),t,n,o))}return o}},ug;(function(r){r[r.Distance=5]="Distance",r[r.MaxRemainingPerStep=3]="MaxRemainingPerStep",r[r.MinBufferLengthPrune=500]="MinBufferLengthPrune",r[r.ForceReduceLimit=10]="ForceReduceLimit",r[r.CutDepth=15e3]="CutDepth",r[r.CutTo=9e3]="CutTo",r[r.MaxLeftAssociativeReductionCount=300]="MaxLeftAssociativeReductionCount",r[r.MaxStackCount=12]="MaxStackCount"})(ug||(ug={}));var $u=class{constructor(e,t,n,o){this.parser=e,this.input=t,this.ranges=o,this.recovering=0,this.nextStackID=9812,this.minStackPos=0,this.reused=[],this.stoppedAt=null,this.lastBigReductionStart=-1,this.lastBigReductionSize=0,this.bigReductionCount=0,this.stream=new Hu(t,o),this.tokens=new Wu(e,this.stream),this.topTerm=e.top[1];let{from:i}=o[0];this.stacks=[Bo.start(this,e.top[0],i)],this.fragments=n.length&&this.stream.end-i>e.bufferLength*4?new zu(n,e.nodeSet):null}get parsedPos(){return this.minStackPos}advance(){let e=this.stacks,t=this.minStackPos,n=this.stacks=[],o,i;if(this.bigReductionCount>300&&e.length==1){let[s]=e;for(;s.forceReduce()&&s.stack.length&&s.stack[s.stack.length-2]>=this.lastBigReductionStart;);this.bigReductionCount=this.lastBigReductionSize=0}for(let s=0;s<e.length;s++){let l=e[s];for(;;){if(this.tokens.mainToken=null,l.pos>t)n.push(l);else{if(this.advanceStack(l,n,e))continue;{o||(o=[],i=[]),o.push(l);let a=this.tokens.getMainToken(l);i.push(a.value,a.end)}}break}}if(!n.length){let s=o&&oT(o);if(s)return this.stackToTree(s);if(this.parser.strict)throw Zt&&o&&console.log("Stuck with token "+(this.tokens.mainToken?this.parser.getName(this.tokens.mainToken.value):"none")),new SyntaxError("No parse at "+t);this.recovering||(this.recovering=5)}if(this.recovering&&o){let s=this.stoppedAt!=null&&o[0].pos>this.stoppedAt?o[0]:this.runRecovery(o,i,n);if(s)return this.stackToTree(s.forceAll())}if(this.recovering){let s=this.recovering==1?1:this.recovering*3;if(n.length>s)for(n.sort((l,a)=>a.score-l.score);n.length>s;)n.pop();n.some(l=>l.reducePos>t)&&this.recovering--}else if(n.length>1){e:for(let s=0;s<n.length-1;s++){let l=n[s];for(let a=s+1;a<n.length;a++){let c=n[a];if(l.sameState(c)||l.buffer.length>500&&c.buffer.length>500)if((l.score-c.score||l.buffer.length-c.buffer.length)>0)n.splice(a--,1);else{n.splice(s--,1);continue e}}}n.length>12&&n.splice(12,n.length-12)}this.minStackPos=n[0].pos;for(let s=1;s<n.length;s++)n[s].pos<this.minStackPos&&(this.minStackPos=n[s].pos);return null}stopAt(e){if(this.stoppedAt!=null&&this.stoppedAt<e)throw new RangeError("Can't move stoppedAt forward");this.stoppedAt=e}advanceStack(e,t,n){let o=e.pos,{parser:i}=this,s=Zt?this.stackID(e)+" -> ":"";if(this.stoppedAt!=null&&o>this.stoppedAt)return e.forceReduce()?e:null;if(this.fragments){let c=e.curContext&&e.curContext.tracker.strict,u=c?e.curContext.hash:0;for(let h=this.fragments.nodeAt(o);h;){let f=this.parser.nodeSet.types[h.type.id]==h.type?i.getGoto(e.state,h.type.id):-1;if(f>-1&&h.length&&(!c||(h.prop(Q.contextHash)||0)==u))return e.useNode(h,f),Zt&&console.log(s+this.stackID(e)+` (via reuse of ${i.getName(h.type.id)})`),!0;if(!(h instanceof ue)||h.children.length==0||h.positions[0]>0)break;let d=h.children[0];if(d instanceof ue&&h.positions[0]==0)h=d;else break}}let l=i.stateSlot(e.state,4);if(l>0)return e.reduce(l),Zt&&console.log(s+this.stackID(e)+` (via always-reduce ${i.getName(l&65535)})`),!0;if(e.stack.length>=15e3)for(;e.stack.length>9e3&&e.forceReduce(););let a=this.tokens.getActions(e);for(let c=0;c<a.length;){let u=a[c++],h=a[c++],f=a[c++],d=c==a.length||!n,p=d?e:e.split();if(p.apply(u,h,f),Zt&&console.log(s+this.stackID(p)+` (via ${u&65536?`reduce of ${i.getName(u&65535)}`:"shift"} for ${i.getName(h)} @ ${o}${p==e?"":", split"})`),d)return!0;p.pos>o?t.push(p):n.push(p)}return!1}advanceFully(e,t){let n=e.pos;for(;;){if(!this.advanceStack(e,null,null))return!1;if(e.pos>n)return hg(e,t),!0}}runRecovery(e,t,n){let o=null,i=!1;for(let s=0;s<e.length;s++){let l=e[s],a=t[s<<1],c=t[(s<<1)+1],u=Zt?this.stackID(l)+" -> ":"";if(l.deadEnd&&(i||(i=!0,l.restart(),Zt&&console.log(u+this.stackID(l)+" (restarted)"),this.advanceFully(l,n))))continue;let h=l.split(),f=u;for(let d=0;h.forceReduce()&&d<10&&(Zt&&console.log(f+this.stackID(h)+" (via force-reduce)"),!this.advanceFully(h,n));d++)Zt&&(f=this.stackID(h)+" -> ");for(let d of l.recoverByInsert(a))Zt&&console.log(u+this.stackID(d)+" (via recover-insert)"),this.advanceFully(d,n);this.stream.end>l.pos?(c==l.pos&&(c++,a=0),l.recoverByDelete(a,c),Zt&&console.log(u+this.stackID(l)+` (via recover-delete ${this.parser.getName(a)})`),hg(l,n)):(!o||o.score<l.score)&&(o=l)}return o}stackToTree(e){return e.close(),ue.build({buffer:Ho.create(e),nodeSet:this.parser.nodeSet,topID:this.topTerm,maxBufferLength:this.parser.bufferLength,reused:this.reused,start:this.ranges[0].from,length:e.pos-this.ranges[0].from,minRepeatType:this.parser.minRepeatTerm})}stackID(e){let t=(Fu||(Fu=new WeakMap)).get(e);return t||Fu.set(e,t=String.fromCodePoint(this.nextStackID++)),t+e}};function hg(r,e){for(let t=0;t<e.length;t++){let n=e[t];if(n.pos==r.pos&&n.sameState(r)){e[t].score<r.score&&(e[t]=r);return}}e.push(r)}var Uu=class{constructor(e,t,n){this.source=e,this.flags=t,this.disabled=n}allows(e){return!this.disabled||this.disabled[e]==0}};var _r=class extends Vo{constructor(e){if(super(),this.wrappers=[],e.version!=14)throw new RangeError(`Parser version (${e.version}) doesn't match runtime version (14)`);let t=e.nodeNames.split(" ");this.minRepeatTerm=t.length;for(let l=0;l<e.repeatNodeCount;l++)t.push("");let n=Object.keys(e.topRules).map(l=>e.topRules[l][1]),o=[];for(let l=0;l<t.length;l++)o.push([]);function i(l,a,c){o[l].push([a,a.deserialize(String(c))])}if(e.nodeProps)for(let l of e.nodeProps){let a=l[0];typeof a=="string"&&(a=Q[a]);for(let c=1;c<l.length;){let u=l[c++];if(u>=0)i(u,a,l[c++]);else{let h=l[c+-u];for(let f=-u;f>0;f--)i(l[c++],a,h);c++}}}this.nodeSet=new Hr(t.map((l,a)=>Ne.define({name:a>=this.minRepeatTerm?void 0:l,id:a,props:o[a],top:n.indexOf(a)>-1,error:a==0,skipped:e.skippedNodes&&e.skippedNodes.indexOf(a)>-1}))),e.propSources&&(this.nodeSet=this.nodeSet.extend(...e.propSources)),this.strict=!1,this.bufferLength=1024;let s=Zi(e.tokenData);this.context=e.context,this.specializerSpecs=e.specialized||[],this.specialized=new Uint16Array(this.specializerSpecs.length);for(let l=0;l<this.specializerSpecs.length;l++)this.specialized[l]=this.specializerSpecs[l].term;this.specializers=this.specializerSpecs.map(fg),this.states=Zi(e.states,Uint32Array),this.data=Zi(e.stateData),this.goto=Zi(e.goto),this.maxTerm=e.maxTerm,this.tokenizers=e.tokenizers.map(l=>typeof l=="number"?new tr(s,l):l),this.topRules=e.topRules,this.dialects=e.dialects||{},this.dynamicPrecedences=e.dynamicPrecedences||null,this.tokenPrecTable=e.tokenPrec,this.termNames=e.termNames||null,this.maxNode=this.nodeSet.types.length-1,this.dialect=this.parseDialect(),this.top=this.topRules[Object.keys(this.topRules)[0]]}createParse(e,t,n){let o=new $u(this,e,t,n);for(let i of this.wrappers)o=i(o,e,t,n);return o}getGoto(e,t,n=!1){let o=this.goto;if(t>=o[0])return-1;for(let i=o[t+1];;){let s=o[i++],l=s&1,a=o[i++];if(l&&n)return a;for(let c=i+(s>>1);i<c;i++)if(o[i]==e)return a;if(l)return-1}}hasAction(e,t){let n=this.data;for(let o=0;o<2;o++)for(let i=this.stateSlot(e,o?2:1),s;;i+=3){if((s=n[i])==65535)if(n[i+1]==1)s=n[i=In(n,i+2)];else{if(n[i+1]==2)return In(n,i+2);break}if(s==t||s==0)return In(n,i+1)}return 0}stateSlot(e,t){return this.states[e*6+t]}stateFlag(e,t){return(this.stateSlot(e,0)&t)>0}validAction(e,t){return!!this.allActions(e,n=>n==t?!0:null)}allActions(e,t){let n=this.stateSlot(e,4),o=n?t(n):void 0;for(let i=this.stateSlot(e,1);o==null;i+=3){if(this.data[i]==65535)if(this.data[i+1]==1)i=In(this.data,i+2);else break;o=t(In(this.data,i+1))}return o}nextStates(e){let t=[];for(let n=this.stateSlot(e,1);;n+=3){if(this.data[n]==65535)if(this.data[n+1]==1)n=In(this.data,n+2);else break;if(!(this.data[n+2]&1)){let o=this.data[n+1];t.some((i,s)=>s&1&&i==o)||t.push(this.data[n],o)}}return t}configure(e){let t=Object.assign(Object.create(_r.prototype),this);if(e.props&&(t.nodeSet=this.nodeSet.extend(...e.props)),e.top){let n=this.topRules[e.top];if(!n)throw new RangeError(`Invalid top rule name ${e.top}`);t.top=n}return e.tokenizers&&(t.tokenizers=this.tokenizers.map(n=>{let o=e.tokenizers.find(i=>i.from==n);return o?o.to:n})),e.specializers&&(t.specializers=this.specializers.slice(),t.specializerSpecs=this.specializerSpecs.map((n,o)=>{let i=e.specializers.find(l=>l.from==n.external);if(!i)return n;let s=Object.assign(Object.assign({},n),{external:i.to});return t.specializers[o]=fg(s),s})),e.contextTracker&&(t.context=e.contextTracker),e.dialect&&(t.dialect=this.parseDialect(e.dialect)),e.strict!=null&&(t.strict=e.strict),e.wrap&&(t.wrappers=t.wrappers.concat(e.wrap)),e.bufferLength!=null&&(t.bufferLength=e.bufferLength),t}hasWrappers(){return this.wrappers.length>0}getName(e){return this.termNames?this.termNames[e]:String(e<=this.maxNode&&this.nodeSet.types[e].name||e)}get eofTerm(){return this.maxNode+1}get topNode(){return this.nodeSet.types[this.top[1]]}dynamicPrecedence(e){let t=this.dynamicPrecedences;return t==null?0:t[e]||0}parseDialect(e){let t=Object.keys(this.dialects),n=t.map(()=>!1);if(e)for(let i of e.split(" ")){let s=t.indexOf(i);s>=0&&(n[s]=!0)}let o=null;for(let i=0;i<t.length;i++)if(!n[i])for(let s=this.dialects[t[i]],l;(l=this.data[s++])!=65535;)(o||(o=new Uint8Array(this.maxTerm+1)))[l]=1;return new Uu(e,n,o)}static deserialize(e){return new _r(e)}};function In(r,e){return r[e]|r[e+1]<<16}function oT(r){let e=null;for(let t of r){let n=t.p.stoppedAt;(t.pos==t.p.stream.end||n!=null&&t.pos>n)&&t.p.parser.stateFlag(t.state,2)&&(!e||e.score<t.score)&&(e=t)}return e}function fg(r){if(r.external){let e=r.extend?1:0;return(t,n)=>r.external(t,n)<<1|e}return r.get}var es=_r.deserialize({version:14,states:"%QOVQPOOOOQO'#C_'#C_O_QQO'#C^OOQO'#DO'#DOOvQQO'#C|OOQO'#DR'#DROVQPO'#CuOOQO'#C}'#C}QOQPOOOOQO'#C`'#C`O!UQQO,58xO!dQPO,59VOVQPO,59]OVQPO,59_O!iQPO,59hO!nQQO,59aOOQO'#DQ'#DQOOQO1G.d1G.dO!UQQO1G.qO!yQQO1G.wOOQO1G.y1G.yOOQO'#Cw'#CwOOQO1G/S1G/SOOQO1G.{1G.{O#[QPO'#CnO#dQPO7+$]O!UQQO'#CxO#iQPO,59YOOQO<<Gw<<GwOOQO,59d,59dOOQO-E6v-E6v",stateData:"#q~OoOS~OsPOvUO~OTXOUXOVXOWXOXXOYXO`ZO~Of[Oh]Oj^OmpX~OZ`O[`O]`O^`O~OabO~OseO~Of[Oh]OwgO~Oh]Ofeijeimeiwei~OcjOdbX~OdlO~OcjOdba~O",goto:"#YvPPw}!TPPPPPPPPPPwPP!WPP!ZP!ZP!aP!g!jPPP!p!s!aP#P!aXROU[]XQOU[]RYQRibXTOU[]XVOU[]Rf^QkhRnkRWOQSOQ_UQc[Rd]QaYQhbRmj",nodeNames:"\u26A0 Filter ColumnValueExpression Column Operator Eq NotEq Gt Lt Starts Ends Number String True False ColumnSetExpression In LBrack Values Comma RBrack AndExpression And OrExpression Or ParenthesizedExpression As FilterName",maxTerm:39,skippedNodes:[0],repeatNodeCount:1,tokenData:"6p~RnXY#PYZ#P]^#Ppq#Pqr#brs#mxy$eyz$j|}$o!O!P$t!Q![%S!^!_%_!_!`%d!`!a%i!c!}%n!}#O&V#P#Q&[#R#S%n#T#U&a#U#X%n#X#Y(w#Y#Z+]#Z#]%n#]#^.]#^#c%n#c#d/e#d#g%n#g#h0m#h#i4[#i#o%n~#USo~XY#PYZ#P]^#Ppq#P~#eP!_!`#h~#mOU~~#pWOX#mZ]#m^r#mrs$Ys#O#m#P;'S#m;'S;=`$_<%lO#m~$_O[~~$bP;=`<%l#m~$jOv~~$oOw~~$tOc~~$wP!Q![$z~%PPZ~!Q![$z~%XQZ~!O!P$t!Q![%S~%dOW~~%iOT~~%nOV~P%sUsP}!O%n!O!P%n!Q![%n!c!}%n#R#S%n#T#o%n~&[Oa~~&aOd~R&fYsP}!O%n!O!P%n!Q![%n!c!}%n#R#S%n#T#b%n#b#c'U#c#g%n#g#h(^#h#o%nR'ZWsP}!O%n!O!P%n!Q![%n!c!}%n#R#S%n#T#W%n#W#X's#X#o%nR'zUfQsP}!O%n!O!P%n!Q![%n!c!}%n#R#S%n#T#o%nR(eUjQsP}!O%n!O!P%n!Q![%n!c!}%n#R#S%n#T#o%nR(|WsP}!O%n!O!P%n!Q![%n!c!}%n#R#S%n#T#b%n#b#c)f#c#o%nR)kWsP}!O%n!O!P%n!Q![%n!c!}%n#R#S%n#T#W%n#W#X*T#X#o%nR*YWsP}!O%n!O!P%n!Q![%n!c!}%n#R#S%n#T#g%n#g#h*r#h#o%nR*yUYQsP}!O%n!O!P%n!Q![%n!c!}%n#R#S%n#T#o%nR+bVsP}!O%n!O!P%n!Q![%n!c!}%n#R#S%n#T#U+w#U#o%nR+|WsP}!O%n!O!P%n!Q![%n!c!}%n#R#S%n#T#`%n#`#a,f#a#o%nR,kWsP}!O%n!O!P%n!Q![%n!c!}%n#R#S%n#T#g%n#g#h-T#h#o%nR-YWsP}!O%n!O!P%n!Q![%n!c!}%n#R#S%n#T#X%n#X#Y-r#Y#o%nR-yU^QsP}!O%n!O!P%n!Q![%n!c!}%n#R#S%n#T#o%nR.bWsP}!O%n!O!P%n!Q![%n!c!}%n#R#S%n#T#b%n#b#c.z#c#o%nR/RU`QsP}!O%n!O!P%n!Q![%n!c!}%n#R#S%n#T#o%nR/jWsP}!O%n!O!P%n!Q![%n!c!}%n#R#S%n#T#f%n#f#g0S#g#o%nR0ZUhQsP}!O%n!O!P%n!Q![%n!c!}%n#R#S%n#T#o%nR0rWsP}!O%n!O!P%n!Q![%n!c!}%n#R#S%n#T#h%n#h#i1[#i#o%nR1aVsP}!O%n!O!P%n!Q![%n!c!}%n#R#S%n#T#U1v#U#o%nR1{WsP}!O%n!O!P%n!Q![%n!c!}%n#R#S%n#T#f%n#f#g2e#g#o%nR2jWsP}!O%n!O!P%n!Q![%n!c!}%n#R#S%n#T#h%n#h#i3S#i#o%nR3XWsP}!O%n!O!P%n!Q![%n!c!}%n#R#S%n#T#g%n#g#h3q#h#o%nR3xUXQsP}!O%n!O!P%n!Q![%n!c!}%n#R#S%n#T#o%nR4aWsP}!O%n!O!P%n!Q![%n!c!}%n#R#S%n#T#f%n#f#g4y#g#o%nR5OWsP}!O%n!O!P%n!Q![%n!c!}%n#R#S%n#T#i%n#i#j5h#j#o%nR5mWsP}!O%n!O!P%n!Q![%n!c!}%n#R#S%n#T#X%n#X#Y6V#Y#o%nR6^U]QsP}!O%n!O!P%n!Q![%n!c!}%n#R#S%n#T#o%n",tokenizers:[0,1],topRules:{Filter:[0,1]},tokenPrec:0});var hn=require("@vuu-ui/vuu-utils");var ct,Gu=class{constructor(){te(this,ct,void 0)}setFilterCombinatorOp(e,t=T(this,ct)){(0,hn.isMultiClauseFilter)(t)&&t.op===e||W(this,ct,{op:e,filters:[T(this,ct)]})}add(e){if(T(this,ct)===void 0)W(this,ct,e);else if((0,hn.isMultiClauseFilter)(T(this,ct)))T(this,ct).filters.push(e);else throw Error("Invalid filter passed to FilterExpression")}setColumn(e,t=T(this,ct)){if((0,hn.isMultiClauseFilter)(t)){let n=t.filters.at(-1);n&&this.setColumn(e,n)}else t&&(t.column=e)}setOp(e,t=T(this,ct)){if((0,hn.isMultiClauseFilter)(t)){let n=t.filters.at(-1);n&&this.setOp(e,n)}else t&&(t.op=e)}setValue(e,t=T(this,ct)){var n;if((0,hn.isMultiClauseFilter)(t)){let o=t.filters.at(-1);o&&this.setValue(e,o)}else(0,hn.isMultiValueFilter)(t)?((n=t.values)!=null||(t.values=[]),t.values.push(e)):(0,hn.isSingleValueFilter)(t)&&(t.value=e)}toJSON(e=T(this,ct)){return this.name?{...e,name:this.name}:e}};ct=new WeakMap;var Wl=(r,e)=>{let t=new Gu,n=r.cursor();do{let{name:o,from:i,to:s}=n;switch(o){case"ColumnValueExpression":t.add({});break;case"ColumnSetExpression":t.add({op:"in"});break;case"Or":case"And":t.setFilterCombinatorOp(e.substring(i,s));break;case"Column":t.setColumn(e.substring(i,s));break;case"Operator":t.setOp(e.substring(i,s));break;case"String":t.setValue(e.substring(i+1,s-1));break;case"Number":t.setValue(parseFloat(e.substring(i,s)));break;case"True":t.setValue(!0);break;case"False":t.setValue(!1);break;case"FilterName":t.name=e.substring(i,s);break;default:}}while(n.next());return t.toJSON()};var iT=es.configure({strict:!0}),zr=r=>{let e=iT.parse(r);return Wl(e,r)};function $l(r,e){switch(e.op){case"in":return sT(r,e);case"=":return lT(r,e);case">":return aT(r,e);case">=":return cT(r,e);case"<":return uT(r,e);case"<=":return hT(r,e);case"starts":return fT(r,e);case"and":return dT(r,e);case"or":return pT(r,e);default:return console.log(`unrecognized filter type ${e.op}`),()=>!0}}var sT=(r,e)=>t=>e.values.indexOf(t[r[e.column]])!==-1,lT=(r,e)=>t=>t[r[e.column]]===e.value,aT=(r,e)=>t=>t[r[e.column]]>e.value,cT=(r,e)=>t=>t[r[e.column]]>=e.value,uT=(r,e)=>t=>t[r[e.column]]<e.value,hT=(r,e)=>t=>t[r[e.column]]<=e.value,fT=(r,e)=>{let t=e.value;if(typeof t!="string")throw Error("string filter applied to value of wrong type");return n=>{let o=n[r[e.column]];if(typeof o!="string")throw Error("string filter applied to value of wrong type");return o.toLowerCase().startsWith(t.toLowerCase())}},dT=(r,e)=>{let t=e.filters.map(n=>$l(r,n));return n=>t.every(o=>o(n))};function pT(r,e){let t=e.filters.map(n=>$l(r,n));return n=>t.some(o=>o(n))}var re=require("@vuu-ui/vuu-utils");var pg=(r,e,t,n,o,i)=>{let s=Wr(o,r),l=r[r.length-1].aggType,a=t.map(c=>o[c]);switch(l){case 1:return gg(i,n,o,r,e,a);case 2:return mT(i,n,o,r,e,a);case 3:return mg(i,o,r,e,a);case 4:return yT(i,n,o,r,e,a);case 5:return bT(i,n,o,r,e,a);case 6:return gT(i,n,o,r,e,a)}};function mg(r,e,t,n,o){let i={},s=Wr(e,t);function l(a){if(Array.isArray(a))return a.length;{let c=0;for(let u in a)c+=1+l(a[u]);return c}}for(let a in r){let c=l(r[a]);i[a]=c}for(let a=0;a<n.length;a++)for(let c in i)n[a][o[0]]===c&&(n[a][s]=i[c]);return console.log("!!!! targetData",n),console.log("!!!! counts",i),i}function Wr(r,e){console.log("!!!! aggregation length",e.length);let t=e[e.length-1].column;return r[t]}function gg(r,e,t,n,o,i){let s={},l=Wr(t,n);function a(c,u,h){if(Array.isArray(c)){let f=0;for(let d of c)f+=Number(u[d][h]);return f}else{let f=0;for(let d in c)f+=a(c[d],u,h);return f}}for(let c in r){console.log(c);let u=Number(a(r[c],e,l));s[c]=u}for(let c=0;c<o.length;c++)for(let u in s)o[c][i[0]]===u&&(o[c][l]=s[u]);return console.log("!!!! targetData",o),console.log("!!!! sums",s),s}function mT(r,e,t,n,o,i){let s={},l=Wr(t,n),a=mg(r,t,n,o,i),c=gg(r,e,t,n,o,i);for(let u in a){let h=0;h=c[u]/a[u],s[u]=h}for(let u=0;u<o.length;u++)for(let h in s)o[u][i[0]]===h&&(o[u][l]=s[h]);return console.log("!!!! targetData",o),console.log("!!!! averages",s),s}function Ul(r,e,t){let n=[];if(Array.isArray(r))for(let o of r)n.push(e[o][t]);else for(let o in r)n.push(...Ul(r[o],e,t));return n}function gT(r,e,t,n,o,i){let s={},l=Wr(t,n);for(let a in r){let c=Ul(r[a],e,l),u=[...new Set(c)];s[a]=u}for(let a=0;a<o.length;a++)for(let c in s)o[a][i[0]]===c&&(o[a][l]=s[c]);return s}function yT(r,e,t,n,o,i){let s={},l=Wr(t,n);for(let a in r){let c=Ul(r[a],e,l),u=Math.max(...c);s[a]=u}for(let a=0;a<o.length;a++)for(let c in s)o[a][i[0]]===c&&(o[a][l]=s[c]);return s}function bT(r,e,t,n,o,i){let s={},l=Wr(t,n);for(let a in r){let c=Ul(r[a],e,l),u=Math.min(...c);s[a]=u}for(let a=0;a<o.length;a++)for(let c in s)o[a][i[0]]===c&&(o[a][l]=s[c]);return s}var yg=require("@vuu-ui/vuu-utils"),{DEPTH:qu,IS_EXPANDED:bg,KEY:Ku}=yg.metadataKeys,xg=(r,e)=>{let t=[];for(let n=0,o=0,i=!1,s=e.length;n<s;n++){let l=e[n],{[qu]:a,[Ku]:c}=l;if(c===r){let u=l.slice();for(u[bg]=!1,t.push(u),o+=1,i=!0;n<s-1&&e[n+1][qu]>a;)n+=1}else if(i){let u=l.slice();u[0]=o,u[1]=o,t.push(u),o+=1}else t.push(l),o+=1}return t},ju=(r,e,t,n,o,i)=>{let s=t.map(l=>n[l]);return vg(o,s,r,e,void 0,void 0,void 0,i)},vg=(r,e,t,n=[],o="$root",i=1,s=[],l)=>{let a=Object.keys(r).sort();for(let c of a){let u=s.length,h=`${o}|${c}`,f=[u,u,!1,!1,i,0,h,0];f[e[i-1]]=c,s.push(f),t.includes(h)&&(f[bg]=!0,Array.isArray(r[c])?xT(s,r[c],n,h,i+1):vg(r[c],e,t,n,h,i+1,s,l))}for(let c in s)for(let u in s)if(s[c][2]===!1&&l[u]!=null&&s[c][e[0]]===l[u][e[0]]){s[c]=s[c].splice(0,8).concat(l[u].slice(8,l[u].length));break}return s},xT=(r,e,t,n,o)=>{for(let i of e){let s=r.length,l=t[i].slice();l[0]=s,l[1]=s,l[qu]=o,l[Ku]=`${n}|${l[Ku]}`,r.push(l)}},wg=(r,e,t)=>{let n=e.map(s=>t[s]),o=wT(r,n);return[vT(o,n),o]},vT=(r,e)=>{let n=[],o=0,i=Object.keys(r).sort();for(let s of i){let l=[o,o,!1,!1,1,0,`$root|${s}`,0];l[e[0]]=s,n.push(l),o+=1}return n};function wT(r,e){let t={},n=e.length,o=n-1;for(let i=0,s=r.length;i<s;i++){let l=r[i],a=t,c,u;for(let h=0;h<n;h++){let f=e[h];u=l[f].toString(),c=a[u],c&&h===o?c.push(i):c?a=c:!c&&h<o?a=a[u]={}:c||(a[u]=[i])}}return console.log("!! groups",t),t}var ST=(r,e,[t,n])=>{let o=n==="D"?e[t]:r[t],i=n==="D"?r[t]:e[t];return o===i?0:i===null||o>i?1:-1},CT=r=>r.length===1?TT(r):r.length===2?kT(r):MT(r),TT=([[r,e]])=>(t,n)=>{let o=e==="D"?n[r]:t[r],i=e==="D"?t[r]:n[r];return o>i?1:i>o?-1:0},kT=([[r,e],[t,n]])=>(o,i)=>{let s=e==="D"?i[r]:o[r],l=e==="D"?o[r]:i[r],a=n==="D"?i[t]:o[t],c=n==="D"?o[t]:i[t];return s>l?1:l>s?-1:a>c?1:c>a?-1:0},MT=(r,e=ST)=>(t,n)=>{for(let o of r){let i=e(t,n,o);if(i!==0)return i}return 0},Sg=(r,{sortDefs:e},t)=>{let n=e.map(({column:i,sortType:s})=>[t[i],s]),o=CT(n);return r.slice().sort(o)};var{debug:Lt}=(0,re.logger)("ArrayDataSource"),{RENDER_IDX:ET,SELECTED:RT}=re.metadataKeys,IT=(r,e)=>[e,e,!0,!1,1,0,r[0].toString(),0,...r],PT=r=>({columns:r.map(({name:t,serverDataType:n="string"})=>({name:t,serverDataType:n})),key:r[0].name,table:{module:"",table:"Array"}}),DT=(r,e,t)=>{let[n]=r,o=r.slice();return o[ET]=e.keyFor(n),o[RT]=(0,re.getSelectionStatus)(t,n),o},ts,en,Y,We,Re,Gl,ns,_o,Cg=class extends re.EventEmitter{constructor({aggregations:t,columnDescriptors:n,data:o,filter:i,groupBy:s,rangeChangeRowset:l="delta",sort:a,title:c,viewport:u}){super();this.status="initialising";this.disabled=!1;this.selectedRows=[];this.suspended=!1;this.lastRangeServed={from:0,to:0};this.openTreeNodes=[];te(this,ts,[]);te(this,en,void 0);te(this,Y,Do);te(this,We,void 0);te(this,Re,re.NULL_RANGE);te(this,Gl,0);te(this,ns,0);te(this,_o,void 0);this.keys=new re.KeySet(T(this,Re));this.processedData=void 0;if(console.log("ArrayDataSource",{columnDescriptors:n}),!o||!n)throw Error("ArrayDataSource constructor called without data or without columnDescriptors");this.columnDescriptors=n,W(this,ts,n.map(h=>h.name)),W(this,en,(0,re.buildColumnMap)(T(this,ts))),this.rangeChangeRowset=l,this.tableSchema=PT(n),W(this,We,o.map(IT)),this.viewport=u||(0,re.uuid)(),W(this,ns,o.length),W(this,_o,c),this.config={...T(this,Y),aggregations:t||T(this,Y).aggregations,columns:n.map(h=>h.name),filter:i||T(this,Y).filter,groupBy:s||T(this,Y).groupBy,sort:a||T(this,Y).sort},Lt==null||Lt(`columnMap: ${JSON.stringify(T(this,en))}`)}async subscribe({viewport:t=(u=>(u=this.viewport)!=null?u:(0,re.uuid)())(),columns:n,aggregations:o,range:i,sort:s,groupBy:l,filter:a},c){var h;this.clientCallback=c,this.viewport=t,this.status="subscribed",this.lastRangeServed={from:0,to:0},o||n||a||l||s?(i&&W(this,Re,i),this.config={...T(this,Y),aggregations:o||T(this,Y).aggregations,columns:n||T(this,Y).columns,filter:a||T(this,Y).filter,groupBy:l||T(this,Y).groupBy,sort:s||T(this,Y).sort}):((h=this.clientCallback)==null||h.call(this,{...T(this,Y),type:"subscribed",clientViewportId:this.viewport,range:T(this,Re),tableSchema:this.tableSchema}),this.clientCallback({clientViewportId:this.viewport,mode:"size-only",type:"viewport-update",size:T(this,We).length}),i?this.range=i:T(this,Re)!==re.NULL_RANGE&&this.sendRowsToClient())}unsubscribe(){console.log("unsubscribe noop")}suspend(){return console.log("noop"),this}resume(){return console.log("resume noop"),this}disable(){return console.log("disable noop"),this}enable(){return console.log("enable noop"),this}select(t){Lt==null||Lt(`select ${JSON.stringify(t)}`),this.selectedRows=t,this.setRange((0,re.resetRange)(T(this,Re)),!0)}openTreeNode(t){this.openTreeNodes.push(t),this.processedData=ju(this.openTreeNodes,T(this,We),T(this,Y).groupBy,T(this,en),this.groupMap,this.processedData),this.setRange((0,re.resetRange)(T(this,Re)),!0)}closeTreeNode(t){this.openTreeNodes=this.openTreeNodes.filter(n=>n!==t),this.processedData&&(this.processedData=xg(t,this.processedData),this.setRange((0,re.resetRange)(T(this,Re)),!0))}get data(){return T(this,We)}get currentData(){var t;return(t=this.processedData)!=null?t:T(this,We)}get table(){return this.tableSchema.table}get config(){return T(this,Y)}set config(t){var n;if(Ll(T(this,Y),t)){if(t){let o=T(this,Y),i=(n=t==null?void 0:t.filter)!=null&&n.filter&&(t==null?void 0:t.filter.filterStruct)===void 0?{...t,filter:{filter:t.filter.filter,filterStruct:zr(t.filter.filter)}}:t;W(this,Y,Al(i));let s;if(Wm(t)){let{filter:l,filterStruct:a=zr(l)}=t.filter;if(a){let c=$l(T(this,en),a);s=T(this,We).filter(c)}else throw Error("filter must include filterStruct")}if($m(t)&&(s=Sg(s!=null?s:T(this,We),t.sort,T(this,en))),this.openTreeNodes.length>0&&Mu(o,t)&&(T(this,Y).groupBy.length===0?this.openTreeNodes.length=0:console.log("adjust the openTReeNodes groupBy changed ",{originalGroupBy:o.groupBy,newGroupBy:i.groupBy})),zm(t)){let[l,a]=wg(s!=null?s:T(this,We),t.groupBy,T(this,en));this.groupMap=a,s=l,this.openTreeNodes.length>0&&(s=ju(this.openTreeNodes,T(this,We),T(this,Y).groupBy,T(this,en),this.groupMap,s))}this.processedData=s==null?void 0:s.map((l,a)=>{let c=l.slice();return c[0]=a,c[1]=a,c})}this.setRange((0,re.resetRange)(T(this,Re)),!0),this.emit("config",T(this,Y))}}get selectedRowsCount(){return T(this,Gl)}get size(){return T(this,ns)}get range(){return T(this,Re)}set range(t){(t.from!==T(this,Re).from||t.to!==T(this,Re).to)&&this.setRange(t)}setRange(t,n=!1){W(this,Re,t),this.keys.reset(t),this.sendRowsToClient(n)}sendRowsToClient(t=!1){var s,l;let n=this.rangeChangeRowset==="delta"&&!t?(0,re.rangeNewItems)(this.lastRangeServed,T(this,Re)):T(this,Re),o=(s=this.processedData)!=null?s:T(this,We),i=o.slice(n.from,n.to).map(a=>DT(a,this.keys,this.selectedRows));(l=this.clientCallback)==null||l.call(this,{clientViewportId:this.viewport,mode:"batch",rows:i,size:o.length,type:"viewport-update"}),this.lastRangeServed=T(this,Re)}get columns(){return T(this,Y).columns}set columns(t){let n=(0,re.getAddedItems)(this.config.columns,t);if(n.length>0){let o=(0,re.getMissingItems)(this.columnDescriptors,n,i=>i.name);console.log("columnsWithoutDescriptors",{columnsWithoutDescriptors:o})}this.config={...T(this,Y),columns:t}}get aggregations(){return T(this,Y).aggregations}set aggregations(t){var i;W(this,Y,{...T(this,Y),aggregations:t});let n=(i=this.processedData)!=null?i:T(this,We),o=T(this,We);pg(t,n,T(this,Y).groupBy,o,T(this,en),this.groupMap),this.setRange((0,re.resetRange)(T(this,Re)),!0),this.emit("config",T(this,Y))}get sort(){return T(this,Y).sort}set sort(t){console.log("set sort",{sort:t}),Lt==null||Lt(`sort ${JSON.stringify(t)}`),this.config={...T(this,Y),sort:t}}get filter(){return T(this,Y).filter}set filter(t){Lt==null||Lt(`filter ${JSON.stringify(t)}`),this.config={...T(this,Y),filter:t}}get groupBy(){return T(this,Y).groupBy}set groupBy(t){this.config={...T(this,Y),groupBy:t}}get title(){return T(this,_o)}set title(t){W(this,_o,t)}get _clientCallback(){return this.clientCallback}createLink({parentVpId:t,link:{fromColumn:n,toColumn:o}}){console.log("create link",{parentVpId:t,fromColumn:n,toColumn:o})}removeLink(){console.log("remove link")}findRow(t){let n=T(this,We)[t];if(n)return n;throw`no row found for key ${t}`}updateRow(t,n,o){let i=this.findRow(parseInt(t));console.log({row:i,colName:n,value:o})}applyEdit(t,n,o){return console.log(`ArrayDataSource applyEdit ${t} ${n} ${o}`),!0}async menuRpcCall(t){return new Promise(n=>{let{type:o}=t;switch(o){case"VP_EDIT_CELL_RPC":{let{rowKey:i,field:s,value:l}=t;try{this.updateRow(i,s,l),n(void 0)}catch(a){n({error:String(a),type:"VP_EDIT_RPC_REJECT"})}}break;default:n(void 0)}})}};ts=new WeakMap,en=new WeakMap,Y=new WeakMap,We=new WeakMap,Re=new WeakMap,Gl=new WeakMap,ns=new WeakMap,_o=new WeakMap;var xt=require("@vuu-ui/vuu-utils");var LT={columns:[],key:"",table:{module:"",table:""}},{DEPTH:zo,IDX:Tg,IS_EXPANDED:AT,IS_LEAF:OT,KEY:Ig,SELECTED:kg}=xt.metadataKeys,Mg=(r,e)=>{let[t]=r,n=r.slice();return n[1]=e.keyFor(t),n},nr,At,ut,rr,or,fn,ql,Kl,ir,Wo,Eg=class extends xt.EventEmitter{constructor({aggregations:t,data:n,filter:o,groupBy:i,sort:s,title:l,viewport:a}){super();this.status="initialising";this.expandedRows=new Set;this.visibleRows=[];te(this,nr,[]);te(this,At,Do);te(this,ut,void 0);te(this,rr,{filter:""});te(this,or,[]);te(this,fn,{from:0,to:0});te(this,ql,0);te(this,Kl,0);te(this,ir,{sortDefs:[]});te(this,Wo,void 0);this.keys=new xt.KeySet(T(this,fn));if(!n)throw Error("JsonDataSource constructor called without data");[this.columnDescriptors,Bd(this,ut)._]=(0,xt.jsonToDataSourceRows)(n),this.visibleRows=T(this,ut).filter(c=>c[zo]===0).map((c,u)=>[u,u].concat(c.slice(2))),this.viewport=a||(0,xt.uuid)(),t&&W(this,nr,t),this.columnDescriptors&&W(this,At,{...T(this,At),columns:this.columnDescriptors.map(c=>c.name)}),o&&W(this,rr,o),i&&W(this,or,i),s&&W(this,ir,s),W(this,Wo,l)}async subscribe({viewport:t=(u=>(u=this.viewport)!=null?u:(0,xt.uuid)())(),columns:n,aggregations:o,range:i,sort:s,groupBy:l,filter:a},c){var h;this.clientCallback=c,o&&W(this,nr,o),n&&W(this,At,{...T(this,At),columns:n}),a&&W(this,rr,a),l&&W(this,or,l),i&&W(this,fn,i),s&&W(this,ir,s),this.status==="initialising"&&(this.viewport=t,this.status="subscribed",(h=this.clientCallback)==null||h.call(this,{aggregations:T(this,nr),type:"subscribed",clientViewportId:this.viewport,columns:T(this,At).columns,filter:T(this,rr),groupBy:T(this,or),range:T(this,fn),sort:T(this,ir),tableSchema:LT}),this.clientCallback({clientViewportId:this.viewport,mode:"size-only",type:"viewport-update",size:this.visibleRows.length}))}unsubscribe(){console.log("noop")}suspend(){return console.log("noop"),this}resume(){return console.log("noop"),this}disable(){return console.log("noop"),this}enable(){return console.log("noop"),this}select(t){var o;let n=[];for(let i of T(this,ut)){let{[Tg]:s,[kg]:l}=i,a=l===1,c=(0,xt.isSelected)(t,s);if(c!==a){let u=i.slice();u[kg]=c?1:0,T(this,ut)[s]=u,n.push(u)}}n.length>0&&((o=this.clientCallback)==null||o.call(this,{clientViewportId:this.viewport,mode:"update",type:"viewport-update",rows:n}))}openTreeNode(t){var i;this.expandedRows.add(t),this.visibleRows=Rg(T(this,ut),this.expandedRows);let{from:n,to:o}=T(this,fn);(i=this.clientCallback)==null||i.call(this,{clientViewportId:this.viewport,mode:"batch",rows:this.visibleRows.slice(n,o).map(s=>Mg(s,this.keys)),size:this.visibleRows.length,type:"viewport-update"})}closeTreeNode(t,n=!1){if(this.expandedRows.delete(t),n)for(let o of this.expandedRows.keys())o.startsWith(t)&&this.expandedRows.delete(o);this.visibleRows=Rg(T(this,ut),this.expandedRows),this.sendRowsToClient()}get config(){return T(this,At)}get selectedRowsCount(){return T(this,ql)}get size(){return T(this,Kl)}get range(){return T(this,fn)}set range(t){W(this,fn,t),this.keys.reset(t),requestAnimationFrame(()=>{this.sendRowsToClient()})}sendRowsToClient(){var o;let{from:t,to:n}=T(this,fn);(o=this.clientCallback)==null||o.call(this,{clientViewportId:this.viewport,mode:"batch",rows:this.visibleRows.slice(t,n).map(i=>Mg(i,this.keys)),size:this.visibleRows.length,type:"viewport-update"})}get columns(){return T(this,At).columns}set columns(t){W(this,At,{...T(this,At),columns:t})}get aggregations(){return T(this,nr)}set aggregations(t){W(this,nr,t)}set data(t){console.log("set JsonDataSource data")}get sort(){return T(this,ir)}set sort(t){W(this,ir,t)}get filter(){return T(this,rr)}set filter(t){W(this,rr,t)}get groupBy(){return T(this,or)}set groupBy(t){W(this,or,t)}get title(){return T(this,Wo)}set title(t){W(this,Wo,t)}createLink({parentVpId:t,link:{fromColumn:n,toColumn:o}}){console.log("create link",{parentVpId:t,fromColumn:n,toColumn:o})}removeLink(){console.log("remove link")}async menuRpcCall(t){console.log("rmenuRpcCall",{rpcRequest:t})}applyEdit(t,n,o){return console.log(`ArrayDataSource applyEdit ${t} ${n} ${o}`),!0}getChildRows(t){let n=T(this,ut).find(o=>o[Ig]===t);if(n){let{[Tg]:o,[zo]:i}=n,s=o+1,l=[];do{let{[zo]:a}=T(this,ut)[s];if(a===i+1)l.push(T(this,ut)[s]);else if(a<=i)break;s+=1}while(s<T(this,ut).length);return l}else console.warn(`JsonDataSource getChildRows row not found for key ${t}`);return[]}getRowsAtDepth(t,n=!0){return(n?this.visibleRows:T(this,ut)).filter(i=>i[zo]===t)}};nr=new WeakMap,At=new WeakMap,ut=new WeakMap,rr=new WeakMap,or=new WeakMap,fn=new WeakMap,ql=new WeakMap,Kl=new WeakMap,ir=new WeakMap,Wo=new WeakMap;function Rg(r,e){let t=[],n={value:0};for(let o=0;o<r.length;o++){let i=r[o],{[zo]:s,[Ig]:l,[OT]:a}=i,c=e.has(l);if(t.push(NT(i,n,c)),!a&&!c)do o+=1;while(o<r.length-1&&r[o+1][zo]>s)}return t}var NT=(r,e,t)=>{let n=r.slice();return n[0]=e.value,n[1]=e.value,t&&(n[AT]=!0),e.value+=1,n};var vt=require("@vuu-ui/vuu-utils");var{info:tt}=(0,vt.logger)("RemoteDataSource"),U,jl,$o,Pn,rs,Uo,$r,Ju=class extends vt.EventEmitter{constructor({bufferSize:t=100,aggregations:n,columns:o,filter:i,groupBy:s,sort:l,table:a,title:c,viewport:u,visualLink:h}){super();this.server=null;this.status="initialising";te(this,U,Do);te(this,jl,[]);te(this,$o,"throttle");te(this,Pn,{from:0,to:0});te(this,rs,0);te(this,Uo,0);te(this,$r,void 0);this.handleMessageFromServer=t=>{var n,o;if(t.type==="subscribed")this.status="subscribed",(n=this.clientCallback)==null||n.call(this,t);else if(t.type==="disabled")this.status="disabled";else if(t.type==="enabled")this.status="enabled";else{if(Gm(t))return;t.type==="debounce-begin"?this.optimize="debounce":(t.type==="viewport-update"&&t.size!==void 0&&t.size!==T(this,Uo)&&(W(this,Uo,t.size),this.emit("resize",t.size)),this.configChangePending&&this.setConfigPending(),(o=this.clientCallback)==null||o.call(this,t),this.optimize==="debounce"&&this.revertDebounce())}};this.revertDebounce=(0,vt.debounce)(()=>{this.optimize="throttle"},100);this.rawRangeRequest=t=>{this.viewport&&this.server&&this.server.send({viewport:this.viewport,type:"setViewRange",range:t})};this.debounceRangeRequest=(0,vt.debounce)(t=>{this.viewport&&this.server&&this.server.send({viewport:this.viewport,type:"setViewRange",range:t})},50);this.throttleRangeRequest=(0,vt.throttle)(t=>{this.viewport&&this.server&&this.server.send({viewport:this.viewport,type:"setViewRange",range:t})},80);if(!a)throw Error("RemoteDataSource constructor called without table");this.bufferSize=t,this.table=a,this.viewport=u,W(this,U,{...T(this,U),aggregations:n||T(this,U).aggregations,columns:o||T(this,U).columns,filter:i||T(this,U).filter,groupBy:s||T(this,U).groupBy,sort:l||T(this,U).sort,visualLink:h||T(this,U).visualLink}),W(this,$r,c),this.rangeRequest=this.throttleRangeRequest}async subscribe({viewport:t=(u=>(u=this.viewport)!=null?u:(0,vt.uuid)())(),columns:n,aggregations:o,range:i,sort:s,groupBy:l,filter:a},c){var f;if(console.log("%csubscribe","color:red;font-weight:bold;"),this.clientCallback=c,(o||n||a||l||s)&&W(this,U,{...T(this,U),aggregations:o||T(this,U).aggregations,columns:n||T(this,U).columns,filter:a||T(this,U).filter,groupBy:l||T(this,U).groupBy,sort:s||T(this,U).sort}),i&&W(this,Pn,i),this.status!=="initialising"&&this.status!=="unsubscribed")return;this.status="subscribing",this.viewport=t,this.server=await Lu();let{bufferSize:h}=this;(f=this.server)==null||f.subscribe({...T(this,U),bufferSize:h,viewport:t,table:this.table,range:T(this,Pn),title:T(this,$r)},this.handleMessageFromServer)}unsubscribe(){var t,n;console.log("%cunsubscribe","color:red;font-weight:bold;"),tt==null||tt(`unsubscribe #${this.viewport}`),this.viewport&&((t=this.server)==null||t.unsubscribe(this.viewport)),(n=this.server)==null||n.destroy(this.viewport),this.removeAllListeners(),this.status="unsubscribed",this.viewport=void 0}suspend(){var t;return tt==null||tt(`suspend #${this.viewport}, current status ${this.status}`),this.viewport&&(this.status="suspended",(t=this.server)==null||t.send({type:"suspend",viewport:this.viewport})),this}resume(){var t;return tt==null||tt(`resume #${this.viewport}, current status ${this.status}`),this.viewport&&(this.status==="disabled"||this.status==="disabling"?this.enable():this.status==="suspended"&&((t=this.server)==null||t.send({type:"resume",viewport:this.viewport}),this.status="subscribed")),this}disable(){var t;return tt==null||tt(`disable #${this.viewport}, current status ${this.status}`),this.viewport&&(this.status="disabling",(t=this.server)==null||t.send({viewport:this.viewport,type:"disable"})),this}enable(){var t;return tt==null||tt(`enable #${this.viewport}, current status ${this.status}`),this.viewport&&(this.status==="disabled"||this.status==="disabling")&&(this.status="enabling",(t=this.server)==null||t.send({viewport:this.viewport,type:"enable"})),this}select(t){var n;W(this,rs,t.length),this.viewport&&((n=this.server)==null||n.send({viewport:this.viewport,type:"select",selected:t}))}openTreeNode(t){var n;this.viewport&&((n=this.server)==null||n.send({viewport:this.viewport,type:"openTreeNode",key:t}))}closeTreeNode(t){var n;this.viewport&&((n=this.server)==null||n.send({viewport:this.viewport,type:"closeTreeNode",key:t}))}get optimize(){return T(this,$o)}set optimize(t){if(t!==T(this,$o)){switch(W(this,$o,t),t){case"none":this.rangeRequest=this.rawRangeRequest;break;case"debounce":this.rangeRequest=this.debounceRangeRequest;break;case"throttle":this.rangeRequest=this.throttleRangeRequest;break}this.emit("optimize",t)}}get selectedRowsCount(){return T(this,rs)}get size(){return T(this,Uo)}get range(){return T(this,Pn)}set range(t){(t.from!==T(this,Pn).from||t.to!==T(this,Pn).to)&&(W(this,Pn,t),this.rangeRequest(t))}get config(){return T(this,U)}set config(t){var n,o;if(Ll(T(this,U),t)&&t){let i=(n=t==null?void 0:t.filter)!=null&&n.filter&&(t==null?void 0:t.filter.filterStruct)===void 0?{...t,filter:{filter:t.filter.filter,filterStruct:zr(t.filter.filter)}}:t;W(this,U,Al(i)),T(this,U)&&this.viewport&&this.server&&t&&((o=this.server)==null||o.send({viewport:this.viewport,type:"config",config:T(this,U)})),this.emit("config",T(this,U))}}get columns(){return T(this,U).columns}set columns(t){if(W(this,U,{...T(this,U),columns:t}),this.viewport){let n={viewport:this.viewport,type:"setColumns",columns:t};this.server&&this.server.send(n)}this.emit("config",T(this,U))}get aggregations(){return T(this,U).aggregations}set aggregations(t){var n;W(this,U,{...T(this,U),aggregations:t}),this.viewport&&((n=this.server)==null||n.send({viewport:this.viewport,type:"aggregate",aggregations:t})),this.emit("config",T(this,U))}get sort(){return T(this,U).sort}set sort(t){if(W(this,U,{...T(this,U),sort:t}),this.viewport){let n={viewport:this.viewport,type:"sort",sort:t};this.server&&this.server.send(n)}this.emit("config",T(this,U))}get filter(){return T(this,U).filter}set filter(t){if(W(this,U,{...T(this,U),filter:t}),this.viewport){let n={viewport:this.viewport,type:"filter",filter:t};this.server&&this.server.send(n)}this.emit("config",T(this,U))}get groupBy(){return T(this,U).groupBy}set groupBy(t){var n;if((0,vt.itemsOrOrderChanged)(this.groupBy,t)){let o=T(this,jl).length>0;if(W(this,U,{...T(this,U),groupBy:t}),this.viewport){let i={viewport:this.viewport,type:"groupBy",groupBy:T(this,U).groupBy};this.server&&this.server.send(i)}!o&&t.length>0&&this.viewport&&((n=this.clientCallback)==null||n.call(this,{clientViewportId:this.viewport,mode:"batch",type:"viewport-update",size:0,rows:[]})),this.emit("config",T(this,U)),this.setConfigPending({groupBy:t})}}get title(){return T(this,$r)}set title(t){var n;W(this,$r,t),this.viewport&&t&&((n=this.server)==null||n.send({type:"setTitle",title:t,viewport:this.viewport}))}get visualLink(){return T(this,U).visualLink}set visualLink(t){var n,o;if(W(this,U,{...T(this,U),visualLink:t}),t){let{parentClientVpId:i,link:{fromColumn:s,toColumn:l}}=t;this.viewport&&((n=this.server)==null||n.send({viewport:this.viewport,type:"createLink",parentClientVpId:i,parentColumnName:l,childColumnName:s}))}else this.viewport&&((o=this.server)==null||o.send({type:"removeLink",viewport:this.viewport}));this.emit("config",T(this,U))}setConfigPending(t){let n=this.configChangePending;this.configChangePending=t,t!==void 0?this.emit("config",t,!1):this.emit("config",n,!0)}async menuRpcCall(t){var n;if(this.viewport)return(n=this.server)==null?void 0:n.rpcCall({vpId:this.viewport,...t})}applyEdit(t,n,o){return console.log(`ArrayDataSource applyEdit ${t} ${n} ${o}`),!0}};U=new WeakMap,jl=new WeakMap,$o=new WeakMap,Pn=new WeakMap,rs=new WeakMap,Uo=new WeakMap,$r=new WeakMap;var Yu=require("react");var Dg=require("react");var Pg={type:"RPC_CALL",service:"TypeAheadRpcHandler"};var Xu=()=>(0,Dg.useCallback)(async e=>{let t=e.length===2?{method:"getUniqueFieldValues",params:e,...Pg}:{method:"getUniqueFieldValuesStartingWith",params:e,...Pg};return await eg(t)},[]);var Jl=require("@vuu-ui/vuu-utils"),VT=require("react");var{KEY:tF}=Jl.metadataKeys;var Zu=require("react");var Lg=require("@vuu-ui/vuu-ui-controls");var os=require("react/jsx-runtime"),FT=(0,nt.forwardRef)(function({InputProps:e={},className:t,column:n,onInputComplete:o,operator:i,suggestionProvider:s=Xu,table:l,value:a},c){let[u,h]=(0,nt.useState)(a!=null?a:""),[f,d]=(0,nt.useState)([]),p=s(),m=(0,nt.useCallback)((x,S)=>o(S),[o]),y=(0,nt.useCallback)((x,S)=>{S.length===1?o(S[0]):S.length>1&&o(S)},[o]);(0,nt.useEffect)(()=>{},[n]),(0,nt.useEffect)(()=>{if(l){let x=u?[l,n.name,u]:[l,n.name];p(x).then(S=>{d(S)}).catch(S=>{console.error("Error getting suggsetions",S)})}},[l,n,u,p]);let g=(0,nt.useCallback)(x=>{let{value:S}=x.target;h(S)},[]),v=(0,nt.useMemo)(()=>{if(i==="starts"||i==="ends"){let{inputProps:x,...S}=e;return{...S,inputProps:{...x,onKeyDown:b=>{var C;b.key==="Enter"&&u!==""?(b.stopPropagation(),b.preventDefault(),o(u)):(C=x==null?void 0:x.onKeyDown)==null||C.call(x,b)}}}}else return e},[e,o,i,u]);return(0,nt.useCallback)(()=>{switch(i){case"in":return(0,os.jsx)(ji,{InputProps:v,className:t,initialHighlightedIndex:0,source:f,onInputChange:g,onSelectionChange:y,ref:c,selectionStrategy:"multiple",value:a});case"starts":return(0,os.jsx)(ji,{InputProps:v,ListProps:{className:"vuuIllustrationsOnly",disabled:!0},allowFreeText:!0,className:t,initialHighlightedIndex:0,source:f,onInputChange:g,onSelectionChange:m,ref:c,value:a});case"ends":return(0,os.jsx)(Lg.ExpandoInput,{...v,className:t,value:u,ref:c,onChange:g});default:return(0,os.jsx)(ji,{InputProps:v,className:t,initialHighlightedIndex:0,source:f,title:"value",onInputChange:g,onSelectionChange:m,ref:c,value:a})}},[i,v,t,f,g,y,c,a,m,u])()});var eh=require("@vuu-ui/vuu-utils");var is=require("react");var _T=require("@salt-ds/core"),Ag=require("react/jsx-runtime");var qT=require("@vuu-ui/vuu-ui-controls"),Og=require("@vuu-ui/vuu-utils"),KT=z(require("classnames"),1),Ng=require("react");var zT=require("@vuu-ui/vuu-popups"),WT=require("react"),$T=z(require("classnames"),1);var UT=require("react/jsx-runtime");var Dn=require("@vuu-ui/vuu-utils");var Vg=require("react/jsx-runtime");var Fg=require("@vuu-ui/vuu-utils"),ss=require("react");var jT=require("@vuu-ui/vuu-ui-controls"),JT=require("react");var Bg=require("react/jsx-runtime"),ek=require("react");var _E=require("@salt-ds/core");var X=class{lineAt(e){if(e<0||e>this.length)throw new RangeError(`Invalid position ${e} in document of length ${this.length}`);return this.lineInner(e,!1,1,0)}line(e){if(e<1||e>this.lines)throw new RangeError(`Invalid line number ${e} in ${this.lines}-line document`);return this.lineInner(e,!0,1,0)}replace(e,t,n){let o=[];return this.decompose(0,e,o,2),n.length&&n.decompose(0,n.length,o,3),this.decompose(t,this.length,o,1),Ot.from(o,this.length-(t-e)+n.length)}append(e){return this.replace(this.length,this.length,e)}slice(e,t=this.length){let n=[];return this.decompose(e,t,n,0),Ot.from(n,t-e)}eq(e){if(e==this)return!0;if(e.length!=this.length||e.lines!=this.lines)return!1;let t=this.scanIdentical(e,1),n=this.length-this.scanIdentical(e,-1),o=new qr(this),i=new qr(e);for(let s=t,l=t;;){if(o.next(s),i.next(s),s=0,o.lineBreak!=i.lineBreak||o.done!=i.done||o.value!=i.value)return!1;if(l+=o.value.length,o.done||l>=n)return!0}}iter(e=1){return new qr(this,e)}iterRange(e,t=this.length){return new Zl(this,e,t)}iterLines(e,t){let n;if(e==null)n=this.iter();else{t==null&&(t=this.lines+1);let o=this.line(e).from;n=this.iterRange(o,Math.max(o,t==this.lines+1?this.length:t<=1?0:this.line(t-1).to))}return new ea(n)}toString(){return this.sliceString(0)}toJSON(){let e=[];return this.flatten(e),e}constructor(){}static of(e){if(e.length==0)throw new RangeError("A document must have at least one line");return e.length==1&&!e[0]?X.empty:e.length<=32?new de(e):Ot.from(de.split(e,[]))}},de=class extends X{constructor(e,t=tk(e)){super(),this.text=e,this.length=t}get lines(){return this.text.length}get children(){return null}lineInner(e,t,n,o){for(let i=0;;i++){let s=this.text[i],l=o+s.length;if((t?n:l)>=e)return new nh(o,l,n,s);o=l+1,n++}}decompose(e,t,n,o){let i=e<=0&&t>=this.length?this:new de(_g(this.text,e,t),Math.min(t,this.length)-Math.max(0,e));if(o&1){let s=n.pop(),l=Xl(i.text,s.text.slice(),0,i.length);if(l.length<=32)n.push(new de(l,s.length+i.length));else{let a=l.length>>1;n.push(new de(l.slice(0,a)),new de(l.slice(a)))}}else n.push(i)}replace(e,t,n){if(!(n instanceof de))return super.replace(e,t,n);let o=Xl(this.text,Xl(n.text,_g(this.text,0,e)),t),i=this.length+n.length-(t-e);return o.length<=32?new de(o,i):Ot.from(de.split(o,[]),i)}sliceString(e,t=this.length,n=`
|
|
18
18
|
`){let o="";for(let i=0,s=0;i<=t&&s<this.text.length;s++){let l=this.text[s],a=i+l.length;i>e&&s&&(o+=n),e<a&&t>i&&(o+=l.slice(Math.max(0,e-i),t-i)),i=a+1}return o}flatten(e){for(let t of this.text)e.push(t)}scanIdentical(){return 0}static split(e,t){let n=[],o=-1;for(let i of e)n.push(i),o+=i.length+1,n.length==32&&(t.push(new de(n,o)),n=[],o=-1);return o>-1&&t.push(new de(n,o)),t}},Ot=class extends X{constructor(e,t){super(),this.children=e,this.length=t,this.lines=0;for(let n of e)this.lines+=n.lines}lineInner(e,t,n,o){for(let i=0;;i++){let s=this.children[i],l=o+s.length,a=n+s.lines-1;if((t?a:l)>=e)return s.lineInner(e,t,n,o);o=l+1,n=a+1}}decompose(e,t,n,o){for(let i=0,s=0;s<=t&&i<this.children.length;i++){let l=this.children[i],a=s+l.length;if(e<=a&&t>=s){let c=o&((s<=e?1:0)|(a>=t?2:0));s>=e&&a<=t&&!c?n.push(l):l.decompose(e-s,t-s,n,c)}s=a+1}}replace(e,t,n){if(n.lines<this.lines)for(let o=0,i=0;o<this.children.length;o++){let s=this.children[o],l=i+s.length;if(e>=i&&t<=l){let a=s.replace(e-i,t-i,n),c=this.lines-s.lines+a.lines;if(a.lines<c>>5-1&&a.lines>c>>5+1){let u=this.children.slice();return u[o]=a,new Ot(u,this.length-(t-e)+n.length)}return super.replace(i,l,a)}i=l+1}return super.replace(e,t,n)}sliceString(e,t=this.length,n=`
|
|
19
|
-
`){let o="";for(let i=0,s=0;i<this.children.length&&s<=t;i++){let l=this.children[i],a=s+l.length;s>e&&i&&(o+=n),e<a&&t>s&&(o+=l.sliceString(e-s,t-s,n)),s=a+1}return o}flatten(e){for(let t of this.children)t.flatten(e)}scanIdentical(e,t){if(!(e instanceof Ot))return 0;let n=0,[o,i,s,l]=t>0?[0,0,this.children.length,e.children.length]:[this.children.length-1,e.children.length-1,-1,-1];for(;;o+=t,i+=t){if(o==s||i==l)return n;let a=this.children[o],c=e.children[i];if(a!=c)return n+a.scanIdentical(c,t);n+=a.length+1}}static from(e,t=e.reduce((n,o)=>n+o.length+1,-1)){let n=0;for(let d of e)n+=d.lines;if(n<32){let d=[];for(let p of e)p.flatten(d);return new de(d,t)}let o=Math.max(32,n>>5),i=o<<1,s=o>>1,l=[],a=0,c=-1,u=[];function h(d){let p;if(d.lines>i&&d instanceof Ot)for(let m of d.children)h(m);else d.lines>s&&(a>s||!a)?(f(),l.push(d)):d instanceof de&&a&&(p=u[u.length-1])instanceof de&&d.lines+p.lines<=32?(a+=d.lines,c+=d.length+1,u[u.length-1]=new de(p.text.concat(d.text),p.length+1+d.length)):(a+d.lines>o&&f(),a+=d.lines,c+=d.length+1,u.push(d))}function f(){a!=0&&(l.push(u.length==1?u[0]:Ot.from(u,c)),c=-1,a=u.length=0)}for(let d of e)h(d);return f(),l.length==1?l[0]:new Ot(l,t)}};X.empty=new de([""],0);function
|
|
20
|
-
`,this;e--}else if(o instanceof de){let a=o.text[s+(t<0?-1:0)];if(this.offsets[n]+=t,a.length>Math.max(0,e))return this.value=e==0?a:t>0?a.slice(e):a.slice(0,a.length-e),this;e-=a.length}else{let a=o.children[s+(t<0?-1:0)];e>a.length?(e-=a.length,this.offsets[n]+=t):(t<0&&this.offsets[n]--,this.nodes.push(a),this.offsets.push(t>0?1:(a instanceof de?a.text.length:a.children.length)<<1))}}}next(e=0){return e<0&&(this.nextInner(-e,-this.dir),e=this.value.length),this.nextInner(e,this.dir)}},Yl=class{constructor(e,t,n){this.value="",this.done=!1,this.cursor=new Ur(e,t>n?-1:1),this.pos=t>n?e.length:0,this.from=Math.min(t,n),this.to=Math.max(t,n)}nextInner(e,t){if(t<0?this.pos<=this.from:this.pos>=this.to)return this.value="",this.done=!0,this;e+=Math.max(0,t<0?this.pos-this.to:this.from-this.pos);let n=t<0?this.pos-this.from:this.to-this.pos;e>n&&(e=n),n-=e;let{value:o}=this.cursor.next(e);return this.pos+=(o.length+e)*t,this.value=o.length<=n?o:t<0?o.slice(o.length-n):o.slice(0,n),this.done=!this.value,this}next(e=0){return e<0?e=Math.max(e,this.from-this.pos):e>0&&(e=Math.min(e,this.to-this.pos)),this.nextInner(e,this.cursor.dir)}get lineBreak(){return this.cursor.lineBreak&&this.value!=""}},Xl=class{constructor(e){this.inner=e,this.afterBreak=!0,this.value="",this.done=!1}next(e=0){let{done:t,lineBreak:n,value:o}=this.inner.next(e);return t?(this.done=!0,this.value=""):n?this.afterBreak?this.value="":(this.afterBreak=!0,this.next()):(this.value=o,this.afterBreak=!1),this}get lineBreak(){return!1}};typeof Symbol<"u"&&(X.prototype[Symbol.iterator]=function(){return this.iter()},Ur.prototype[Symbol.iterator]=Yl.prototype[Symbol.iterator]=Xl.prototype[Symbol.iterator]=function(){return this});var nh=class{constructor(e,t,n,o){this.from=e,this.to=t,this.number=n,this.text=o}get length(){return this.to-this.from}},Uo="lc,34,7n,7,7b,19,,,,2,,2,,,20,b,1c,l,g,,2t,7,2,6,2,2,,4,z,,u,r,2j,b,1m,9,9,,o,4,,9,,3,,5,17,3,3b,f,,w,1j,,,,4,8,4,,3,7,a,2,t,,1m,,,,2,4,8,,9,,a,2,q,,2,2,1l,,4,2,4,2,2,3,3,,u,2,3,,b,2,1l,,4,5,,2,4,,k,2,m,6,,,1m,,,2,,4,8,,7,3,a,2,u,,1n,,,,c,,9,,14,,3,,1l,3,5,3,,4,7,2,b,2,t,,1m,,2,,2,,3,,5,2,7,2,b,2,s,2,1l,2,,,2,4,8,,9,,a,2,t,,20,,4,,2,3,,,8,,29,,2,7,c,8,2q,,2,9,b,6,22,2,r,,,,,,1j,e,,5,,2,5,b,,10,9,,2u,4,,6,,2,2,2,p,2,4,3,g,4,d,,2,2,6,,f,,jj,3,qa,3,t,3,t,2,u,2,1s,2,,7,8,,2,b,9,,19,3,3b,2,y,,3a,3,4,2,9,,6,3,63,2,2,,1m,,,7,,,,,2,8,6,a,2,,1c,h,1r,4,1c,7,,,5,,14,9,c,2,w,4,2,2,,3,1k,,,2,3,,,3,1m,8,2,2,48,3,,d,,7,4,,6,,3,2,5i,1m,,5,ek,,5f,x,2da,3,3x,,2o,w,fe,6,2x,2,n9w,4,,a,w,2,28,2,7k,,3,,4,,p,2,5,,47,2,q,i,d,,12,8,p,b,1a,3,1c,,2,4,2,2,13,,1v,6,2,2,2,2,c,,8,,1b,,1f,,,3,2,2,5,2,,,16,2,8,,6m,,2,,4,,fn4,,kh,g,g,g,a6,2,gt,,6a,,45,5,1ae,3,,2,5,4,14,3,4,,4l,2,fx,4,ar,2,49,b,4w,,1i,f,1k,3,1d,4,2,2,1x,3,10,5,,8,1q,,c,2,1g,9,a,4,2,,2n,3,2,,,2,6,,4g,,3,8,l,2,1l,2,,,,,m,,e,7,3,5,5f,8,2,3,,,n,,29,,2,6,,,2,,,2,,2,6j,,2,4,6,2,,2,r,2,2d,8,2,,,2,2y,,,,2,6,,,2t,3,2,4,,5,77,9,,2,6t,,a,2,,,4,,40,4,2,2,4,,w,a,14,6,2,4,8,,9,6,2,3,1a,d,,2,ba,7,,6,,,2a,m,2,7,,2,,2,3e,6,3,,,2,,7,,,20,2,3,,,,9n,2,f0b,5,1n,7,t4,,1r,4,29,,f5k,2,43q,,,3,4,5,8,8,2,7,u,4,44,3,1iz,1j,4,1e,8,,e,,m,5,,f,11s,7,,h,2,7,,2,,5,79,7,c5,4,15s,7,31,7,240,5,gx7k,2o,3k,6o".split(",").map(r=>r?parseInt(r,36):1);for(let r=1;r<Uo.length;r++)Uo[r]+=Uo[r-1];function ZT(r){for(let e=1;e<Uo.length;e+=2)if(Uo[e]>r)return Uo[e-1]<=r;return!1}function $g(r){return r>=127462&&r<=127487}var Ug=8205;function Ge(r,e,t=!0,n=!0){return(t?Qg:ek)(r,e,n)}function Qg(r,e,t){if(e==r.length)return e;e&&Yg(r.charCodeAt(e))&&Xg(r.charCodeAt(e-1))&&e--;let n=dn(r,e);for(e+=Gr(n);e<r.length;){let o=dn(r,e);if(n==Ug||o==Ug||t&&ZT(o))e+=Gr(o),n=o;else if($g(o)){let i=0,s=e-2;for(;s>=0&&$g(dn(r,s));)i++,s-=2;if(i%2==0)break;e+=2}else break}return e}function ek(r,e,t){for(;e>0;){let n=Qg(r,e-2,t);if(n<e)return n;e--}return 0}function Yg(r){return r>=56320&&r<57344}function Xg(r){return r>=55296&&r<56320}function dn(r,e){let t=r.charCodeAt(e);if(!Xg(t)||e+1==r.length)return t;let n=r.charCodeAt(e+1);return Yg(n)?(t-55296<<10)+(n-56320)+65536:t}function Zg(r){return r<=65535?String.fromCharCode(r):(r-=65536,String.fromCharCode((r>>10)+55296,(r&1023)+56320))}function Gr(r){return r<65536?1:2}var rh=/\r\n?|\n/,Ue=function(r){return r[r.Simple=0]="Simple",r[r.TrackDel=1]="TrackDel",r[r.TrackBefore=2]="TrackBefore",r[r.TrackAfter=3]="TrackAfter",r}(Ue||(Ue={})),wt=class{constructor(e){this.sections=e}get length(){let e=0;for(let t=0;t<this.sections.length;t+=2)e+=this.sections[t];return e}get newLength(){let e=0;for(let t=0;t<this.sections.length;t+=2){let n=this.sections[t+1];e+=n<0?this.sections[t]:n}return e}get empty(){return this.sections.length==0||this.sections.length==2&&this.sections[1]<0}iterGaps(e){for(let t=0,n=0,o=0;t<this.sections.length;){let i=this.sections[t++],s=this.sections[t++];s<0?(e(n,o,i),o+=i):o+=s,n+=i}}iterChangedRanges(e,t=!1){oh(this,e,t)}get invertedDesc(){let e=[];for(let t=0;t<this.sections.length;){let n=this.sections[t++],o=this.sections[t++];o<0?e.push(n,o):e.push(o,n)}return new wt(e)}composeDesc(e){return this.empty?e:e.empty?this:ey(this,e)}mapDesc(e,t=!1){return e.empty?this:ih(this,e,t)}mapPos(e,t=-1,n=Ue.Simple){let o=0,i=0;for(let s=0;s<this.sections.length;){let l=this.sections[s++],a=this.sections[s++],c=o+l;if(a<0){if(c>e)return i+(e-o);i+=l}else{if(n!=Ue.Simple&&c>=e&&(n==Ue.TrackDel&&o<e&&c>e||n==Ue.TrackBefore&&o<e||n==Ue.TrackAfter&&c>e))return null;if(c>e||c==e&&t<0&&!l)return e==o||t<0?i:i+a;i+=a}o=c}if(e>o)throw new RangeError(`Position ${e} is out of range for changeset of length ${o}`);return i}touchesRange(e,t=e){for(let n=0,o=0;n<this.sections.length&&o<=t;){let i=this.sections[n++],s=this.sections[n++],l=o+i;if(s>=0&&o<=t&&l>=e)return o<e&&l>t?"cover":!0;o=l}return!1}toString(){let e="";for(let t=0;t<this.sections.length;){let n=this.sections[t++],o=this.sections[t++];e+=(e?" ":"")+n+(o>=0?":"+o:"")}return e}toJSON(){return this.sections}static fromJSON(e){if(!Array.isArray(e)||e.length%2||e.some(t=>typeof t!="number"))throw new RangeError("Invalid JSON representation of ChangeDesc");return new wt(e)}static create(e){return new wt(e)}},pe=class extends wt{constructor(e,t){super(e),this.inserted=t}apply(e){if(this.length!=e.length)throw new RangeError("Applying change set to a document with the wrong length");return oh(this,(t,n,o,i,s)=>e=e.replace(o,o+(n-t),s),!1),e}mapDesc(e,t=!1){return ih(this,e,t,!0)}invert(e){let t=this.sections.slice(),n=[];for(let o=0,i=0;o<t.length;o+=2){let s=t[o],l=t[o+1];if(l>=0){t[o]=l,t[o+1]=s;let a=o>>1;for(;n.length<a;)n.push(X.empty);n.push(s?e.slice(i,i+s):X.empty)}i+=s}return new pe(t,n)}compose(e){return this.empty?e:e.empty?this:ey(this,e,!0)}map(e,t=!1){return e.empty?this:ih(this,e,t,!0)}iterChanges(e,t=!1){oh(this,e,t)}get desc(){return wt.create(this.sections)}filter(e){let t=[],n=[],o=[],i=new qr(this);e:for(let s=0,l=0;;){let a=s==e.length?1e9:e[s++];for(;l<a||l==a&&i.len==0;){if(i.done)break e;let u=Math.min(i.len,a-l);$e(o,u,-1);let h=i.ins==-1?-1:i.off==0?i.ins:0;$e(t,u,h),h>0&&sr(n,t,i.text),i.forward(u),l+=u}let c=e[s++];for(;l<c;){if(i.done)break e;let u=Math.min(i.len,c-l);$e(t,u,-1),$e(o,u,i.ins==-1?-1:i.off==0?i.ins:0),i.forward(u),l+=u}}return{changes:new pe(t,n),filtered:wt.create(o)}}toJSON(){let e=[];for(let t=0;t<this.sections.length;t+=2){let n=this.sections[t],o=this.sections[t+1];o<0?e.push(n):o==0?e.push([n]):e.push([n].concat(this.inserted[t>>1].toJSON()))}return e}static of(e,t,n){let o=[],i=[],s=0,l=null;function a(u=!1){if(!u&&!o.length)return;s<t&&$e(o,t-s,-1);let h=new pe(o,i);l=l?l.compose(h.map(l)):h,o=[],i=[],s=0}function c(u){if(Array.isArray(u))for(let h of u)c(h);else if(u instanceof pe){if(u.length!=t)throw new RangeError(`Mismatched change set length (got ${u.length}, expected ${t})`);a(),l=l?l.compose(u.map(l)):u}else{let{from:h,to:f=h,insert:d}=u;if(h>f||h<0||f>t)throw new RangeError(`Invalid change range ${h} to ${f} (in doc of length ${t})`);let p=d?typeof d=="string"?X.of(d.split(n||rh)):d:X.empty,m=p.length;if(h==f&&m==0)return;h<s&&a(),h>s&&$e(o,h-s,-1),$e(o,f-h,m),sr(i,o,p),s=f}}return c(e),a(!l),l}static empty(e){return new pe(e?[e,-1]:[],[])}static fromJSON(e){if(!Array.isArray(e))throw new RangeError("Invalid JSON representation of ChangeSet");let t=[],n=[];for(let o=0;o<e.length;o++){let i=e[o];if(typeof i=="number")t.push(i,-1);else{if(!Array.isArray(i)||typeof i[0]!="number"||i.some((s,l)=>l&&typeof s!="string"))throw new RangeError("Invalid JSON representation of ChangeSet");if(i.length==1)t.push(i[0],0);else{for(;n.length<o;)n.push(X.empty);n[o]=X.of(i.slice(1)),t.push(i[0],n[o].length)}}}return new pe(t,n)}static createSet(e,t){return new pe(e,t)}};function $e(r,e,t,n=!1){if(e==0&&t<=0)return;let o=r.length-2;o>=0&&t<=0&&t==r[o+1]?r[o]+=e:e==0&&r[o]==0?r[o+1]+=t:n?(r[o]+=e,r[o+1]+=t):r.push(e,t)}function sr(r,e,t){if(t.length==0)return;let n=e.length-2>>1;if(n<r.length)r[r.length-1]=r[r.length-1].append(t);else{for(;r.length<n;)r.push(X.empty);r.push(t)}}function oh(r,e,t){let n=r.inserted;for(let o=0,i=0,s=0;s<r.sections.length;){let l=r.sections[s++],a=r.sections[s++];if(a<0)o+=l,i+=l;else{let c=o,u=i,h=X.empty;for(;c+=l,u+=a,a&&n&&(h=h.append(n[s-2>>1])),!(t||s==r.sections.length||r.sections[s+1]<0);)l=r.sections[s++],a=r.sections[s++];e(o,c,i,u,h),o=c,i=u}}}function ih(r,e,t,n=!1){let o=[],i=n?[]:null,s=new qr(r),l=new qr(e);for(let a=-1;;)if(s.ins==-1&&l.ins==-1){let c=Math.min(s.len,l.len);$e(o,c,-1),s.forward(c),l.forward(c)}else if(l.ins>=0&&(s.ins<0||a==s.i||s.off==0&&(l.len<s.len||l.len==s.len&&!t))){let c=l.len;for($e(o,l.ins,-1);c;){let u=Math.min(s.len,c);s.ins>=0&&a<s.i&&s.len<=u&&($e(o,0,s.ins),i&&sr(i,o,s.text),a=s.i),s.forward(u),c-=u}l.next()}else if(s.ins>=0){let c=0,u=s.len;for(;u;)if(l.ins==-1){let h=Math.min(u,l.len);c+=h,u-=h,l.forward(h)}else if(l.ins==0&&l.len<u)u-=l.len,l.next();else break;$e(o,c,a<s.i?s.ins:0),i&&a<s.i&&sr(i,o,s.text),a=s.i,s.forward(s.len-u)}else{if(s.done&&l.done)return i?pe.createSet(o,i):wt.create(o);throw new Error("Mismatched change set lengths")}}function ey(r,e,t=!1){let n=[],o=t?[]:null,i=new qr(r),s=new qr(e);for(let l=!1;;){if(i.done&&s.done)return o?pe.createSet(n,o):wt.create(n);if(i.ins==0)$e(n,i.len,0,l),i.next();else if(s.len==0&&!s.done)$e(n,0,s.ins,l),o&&sr(o,n,s.text),s.next();else{if(i.done||s.done)throw new Error("Mismatched change set lengths");{let a=Math.min(i.len2,s.len),c=n.length;if(i.ins==-1){let u=s.ins==-1?-1:s.off?0:s.ins;$e(n,a,u,l),o&&u&&sr(o,n,s.text)}else s.ins==-1?($e(n,i.off?0:i.len,a,l),o&&sr(o,n,i.textBit(a))):($e(n,i.off?0:i.len,s.off?0:s.ins,l),o&&!s.off&&sr(o,n,s.text));l=(i.ins>a||s.ins>=0&&s.len>a)&&(l||n.length>c),i.forward2(a),s.forward(a)}}}}var qr=class{constructor(e){this.set=e,this.i=0,this.next()}next(){let{sections:e}=this.set;this.i<e.length?(this.len=e[this.i++],this.ins=e[this.i++]):(this.len=0,this.ins=-2),this.off=0}get done(){return this.ins==-2}get len2(){return this.ins<0?this.len:this.ins}get text(){let{inserted:e}=this.set,t=this.i-2>>1;return t>=e.length?X.empty:e[t]}textBit(e){let{inserted:t}=this.set,n=this.i-2>>1;return n>=t.length&&!e?X.empty:t[n].slice(this.off,e==null?void 0:this.off+e)}forward(e){e==this.len?this.next():(this.len-=e,this.off+=e)}forward2(e){this.ins==-1?this.forward(e):e==this.ins?this.next():(this.ins-=e,this.off+=e)}},Ln=class{constructor(e,t,n){this.from=e,this.to=t,this.flags=n}get anchor(){return this.flags&16?this.to:this.from}get head(){return this.flags&16?this.from:this.to}get empty(){return this.from==this.to}get assoc(){return this.flags&4?-1:this.flags&8?1:0}get bidiLevel(){let e=this.flags&3;return e==3?null:e}get goalColumn(){let e=this.flags>>5;return e==33554431?void 0:e}map(e,t=-1){let n,o;return this.empty?n=o=e.mapPos(this.from,t):(n=e.mapPos(this.from,1),o=e.mapPos(this.to,-1)),n==this.from&&o==this.to?this:new Ln(n,o,this.flags)}extend(e,t=e){if(e<=this.anchor&&t>=this.anchor)return I.range(e,t);let n=Math.abs(e-this.anchor)>Math.abs(t-this.anchor)?e:t;return I.range(this.anchor,n)}eq(e){return this.anchor==e.anchor&&this.head==e.head}toJSON(){return{anchor:this.anchor,head:this.head}}static fromJSON(e){if(!e||typeof e.anchor!="number"||typeof e.head!="number")throw new RangeError("Invalid JSON representation for SelectionRange");return I.range(e.anchor,e.head)}static create(e,t,n){return new Ln(e,t,n)}},I=class{constructor(e,t){this.ranges=e,this.mainIndex=t}map(e,t=-1){return e.empty?this:I.create(this.ranges.map(n=>n.map(e,t)),this.mainIndex)}eq(e){if(this.ranges.length!=e.ranges.length||this.mainIndex!=e.mainIndex)return!1;for(let t=0;t<this.ranges.length;t++)if(!this.ranges[t].eq(e.ranges[t]))return!1;return!0}get main(){return this.ranges[this.mainIndex]}asSingle(){return this.ranges.length==1?this:new I([this.main],0)}addRange(e,t=!0){return I.create([e].concat(this.ranges),t?0:this.mainIndex+1)}replaceRange(e,t=this.mainIndex){let n=this.ranges.slice();return n[t]=e,I.create(n,this.mainIndex)}toJSON(){return{ranges:this.ranges.map(e=>e.toJSON()),main:this.mainIndex}}static fromJSON(e){if(!e||!Array.isArray(e.ranges)||typeof e.main!="number"||e.main>=e.ranges.length)throw new RangeError("Invalid JSON representation for EditorSelection");return new I(e.ranges.map(t=>Ln.fromJSON(t)),e.main)}static single(e,t=e){return new I([I.range(e,t)],0)}static create(e,t=0){if(e.length==0)throw new RangeError("A selection needs at least one range");for(let n=0,o=0;o<e.length;o++){let i=e[o];if(i.empty?i.from<=n:i.from<n)return I.normalized(e.slice(),t);n=i.to}return new I(e,t)}static cursor(e,t=0,n,o){return Ln.create(e,e,(t==0?0:t<0?4:8)|(n==null?3:Math.min(2,n))|(o!=null?o:33554431)<<5)}static range(e,t,n,o){let i=(n!=null?n:33554431)<<5|(o==null?3:Math.min(2,o));return t<e?Ln.create(t,e,24|i):Ln.create(e,t,(t>e?4:0)|i)}static normalized(e,t=0){let n=e[t];e.sort((o,i)=>o.from-i.from),t=e.indexOf(n);for(let o=1;o<e.length;o++){let i=e[o],s=e[o-1];if(i.empty?i.from<=s.to:i.from<s.to){let l=s.from,a=Math.max(i.to,s.to);o<=t&&t--,e.splice(--o,2,i.anchor>i.head?I.range(a,l):I.range(l,a))}}return new I(e,t)}};function ty(r,e){for(let t of r.ranges)if(t.to>e)throw new RangeError("Selection points outside of document")}var fh=0,U=class{constructor(e,t,n,o,i){this.combine=e,this.compareInput=t,this.compare=n,this.isStatic=o,this.id=fh++,this.default=e([]),this.extensions=typeof i=="function"?i(this):i}static define(e={}){return new U(e.combine||(t=>t),e.compareInput||((t,n)=>t===n),e.compare||(e.combine?(t,n)=>t===n:dh),!!e.static,e.enables)}of(e){return new Go([],this,0,e)}compute(e,t){if(this.isStatic)throw new Error("Can't compute a static facet");return new Go(e,this,1,t)}computeN(e,t){if(this.isStatic)throw new Error("Can't compute a static facet");return new Go(e,this,2,t)}from(e,t){return t||(t=n=>n),this.compute([e],n=>t(n.field(e)))}};function dh(r,e){return r==e||r.length==e.length&&r.every((t,n)=>t===e[n])}var Go=class{constructor(e,t,n,o){this.dependencies=e,this.facet=t,this.type=n,this.value=o,this.id=fh++}dynamicSlot(e){var t;let n=this.value,o=this.facet.compareInput,i=this.id,s=e[i]>>1,l=this.type==2,a=!1,c=!1,u=[];for(let h of this.dependencies)h=="doc"?a=!0:h=="selection"?c=!0:((t=e[h.id])!==null&&t!==void 0?t:1)&1||u.push(e[h.id]);return{create(h){return h.values[s]=n(h),1},update(h,f){if(a&&f.docChanged||c&&(f.docChanged||f.selection)||sh(h,u)){let d=n(h);if(l?!Gg(d,h.values[s],o):!o(d,h.values[s]))return h.values[s]=d,1}return 0},reconfigure:(h,f)=>{let d,p=f.config.address[i];if(p!=null){let m=ea(f,p);if(this.dependencies.every(g=>g instanceof U?f.facet(g)===h.facet(g):g instanceof ot?f.field(g,!1)==h.field(g,!1):!0)||(l?Gg(d=n(h),m,o):o(d=n(h),m)))return h.values[s]=m,0}else d=n(h);return h.values[s]=d,1}}}};function Gg(r,e,t){if(r.length!=e.length)return!1;for(let n=0;n<r.length;n++)if(!t(r[n],e[n]))return!1;return!0}function sh(r,e){let t=!1;for(let n of e)ss(r,n)&1&&(t=!0);return t}function tk(r,e,t){let n=t.map(a=>r[a.id]),o=t.map(a=>a.type),i=n.filter(a=>!(a&1)),s=r[e.id]>>1;function l(a){let c=[];for(let u=0;u<n.length;u++){let h=ea(a,n[u]);if(o[u]==2)for(let f of h)c.push(f);else c.push(h)}return e.combine(c)}return{create(a){for(let c of n)ss(a,c);return a.values[s]=l(a),1},update(a,c){if(!sh(a,i))return 0;let u=l(a);return e.compare(u,a.values[s])?0:(a.values[s]=u,1)},reconfigure(a,c){let u=sh(a,n),h=c.config.facets[e.id],f=c.facet(e);if(h&&!u&&dh(t,h))return a.values[s]=f,0;let d=l(a);return e.compare(d,f)?(a.values[s]=f,0):(a.values[s]=d,1)}}}var qg=U.define({static:!0}),ot=class{constructor(e,t,n,o,i){this.id=e,this.createF=t,this.updateF=n,this.compareF=o,this.spec=i,this.provides=void 0}static define(e){let t=new ot(fh++,e.create,e.update,e.compare||((n,o)=>n===o),e);return e.provide&&(t.provides=e.provide(t)),t}create(e){let t=e.facet(qg).find(n=>n.field==this);return((t==null?void 0:t.create)||this.createF)(e)}slot(e){let t=e[this.id]>>1;return{create:n=>(n.values[t]=this.create(n),1),update:(n,o)=>{let i=n.values[t],s=this.updateF(i,o);return this.compareF(i,s)?0:(n.values[t]=s,1)},reconfigure:(n,o)=>o.config.address[this.id]!=null?(n.values[t]=o.field(this),0):(n.values[t]=this.create(n),1)}}init(e){return[this,qg.of({field:this,create:e})]}get extension(){return this}},Wr={lowest:4,low:3,default:2,high:1,highest:0};function is(r){return e=>new Zl(e,r)}var Jr={highest:is(Wr.highest),high:is(Wr.high),default:is(Wr.default),low:is(Wr.low),lowest:is(Wr.lowest)},Zl=class{constructor(e,t){this.inner=e,this.prec=t}},Ko=class{of(e){return new ls(this,e)}reconfigure(e){return Ko.reconfigure.of({compartment:this,extension:e})}get(e){return e.config.compartments.get(this)}},ls=class{constructor(e,t){this.compartment=e,this.inner=t}},jo=class{constructor(e,t,n,o,i,s){for(this.base=e,this.compartments=t,this.dynamicSlots=n,this.address=o,this.staticValues=i,this.facets=s,this.statusTemplate=[];this.statusTemplate.length<n.length;)this.statusTemplate.push(0)}staticFacet(e){let t=this.address[e.id];return t==null?e.default:this.staticValues[t>>1]}static resolve(e,t,n){let o=[],i=Object.create(null),s=new Map;for(let f of nk(e,t,s))f instanceof ot?o.push(f):(i[f.facet.id]||(i[f.facet.id]=[])).push(f);let l=Object.create(null),a=[],c=[];for(let f of o)l[f.id]=c.length<<1,c.push(d=>f.slot(d));let u=n==null?void 0:n.config.facets;for(let f in i){let d=i[f],p=d[0].facet,m=u&&u[f]||[];if(d.every(g=>g.type==0))if(l[p.id]=a.length<<1|1,dh(m,d))a.push(n.facet(p));else{let g=p.combine(d.map(y=>y.value));a.push(n&&p.compare(g,n.facet(p))?n.facet(p):g)}else{for(let g of d)g.type==0?(l[g.id]=a.length<<1|1,a.push(g.value)):(l[g.id]=c.length<<1,c.push(y=>g.dynamicSlot(y)));l[p.id]=c.length<<1,c.push(g=>tk(g,p,d))}}let h=c.map(f=>f(l));return new jo(e,s,h,l,a,i)}};function nk(r,e,t){let n=[[],[],[],[],[]],o=new Map;function i(s,l){let a=o.get(s);if(a!=null){if(a<=l)return;let c=n[a].indexOf(s);c>-1&&n[a].splice(c,1),s instanceof ls&&t.delete(s.compartment)}if(o.set(s,l),Array.isArray(s))for(let c of s)i(c,l);else if(s instanceof ls){if(t.has(s.compartment))throw new RangeError("Duplicate use of compartment in extensions");let c=e.get(s.compartment)||s.inner;t.set(s.compartment,c),i(c,l)}else if(s instanceof Zl)i(s.inner,s.prec);else if(s instanceof ot)n[l].push(s),s.provides&&i(s.provides,l);else if(s instanceof Go)n[l].push(s),s.facet.extensions&&i(s.facet.extensions,Wr.default);else{let c=s.extension;if(!c)throw new Error(`Unrecognized extension value in extension set (${s}). This sometimes happens because multiple instances of @codemirror/state are loaded, breaking instanceof checks.`);i(c,l)}}return i(r,Wr.default),n.reduce((s,l)=>s.concat(l))}function ss(r,e){if(e&1)return 2;let t=e>>1,n=r.status[t];if(n==4)throw new Error("Cyclic dependency between fields and/or facets");if(n&2)return n;r.status[t]=4;let o=r.computeSlot(r,r.config.dynamicSlots[t]);return r.status[t]=2|o}function ea(r,e){return e&1?r.config.staticValues[e>>1]:r.values[e>>1]}var ny=U.define(),ry=U.define({combine:r=>r.some(e=>e),static:!0}),oy=U.define({combine:r=>r.length?r[0]:void 0,static:!0}),iy=U.define(),sy=U.define(),ly=U.define(),ay=U.define({combine:r=>r.length?r[0]:!1}),St=class{constructor(e,t){this.type=e,this.value=t}static define(){return new ta}},ta=class{of(e){return new St(this,e)}},lh=class{constructor(e){this.map=e}of(e){return new ae(this,e)}},ae=class{constructor(e,t){this.type=e,this.value=t}map(e){let t=this.type.map(this.value,e);return t===void 0?void 0:t==this.value?this:new ae(this.type,t)}is(e){return this.type==e}static define(e={}){return new lh(e.map||(t=>t))}static mapEffects(e,t){if(!e.length)return e;let n=[];for(let o of e){let i=o.map(t);i&&n.push(i)}return n}};ae.reconfigure=ae.define();ae.appendConfig=ae.define();var me=class{constructor(e,t,n,o,i,s){this.startState=e,this.changes=t,this.selection=n,this.effects=o,this.annotations=i,this.scrollIntoView=s,this._doc=null,this._state=null,n&&ty(n,t.newLength),i.some(l=>l.type==me.time)||(this.annotations=i.concat(me.time.of(Date.now())))}static create(e,t,n,o,i,s){return new me(e,t,n,o,i,s)}get newDoc(){return this._doc||(this._doc=this.changes.apply(this.startState.doc))}get newSelection(){return this.selection||this.startState.selection.map(this.changes)}get state(){return this._state||this.startState.applyTransaction(this),this._state}annotation(e){for(let t of this.annotations)if(t.type==e)return t.value}get docChanged(){return!this.changes.empty}get reconfigured(){return this.startState.config!=this.state.config}isUserEvent(e){let t=this.annotation(me.userEvent);return!!(t&&(t==e||t.length>e.length&&t.slice(0,e.length)==e&&t[e.length]=="."))}};me.time=St.define();me.userEvent=St.define();me.addToHistory=St.define();me.remote=St.define();function rk(r,e){let t=[];for(let n=0,o=0;;){let i,s;if(n<r.length&&(o==e.length||e[o]>=r[n]))i=r[n++],s=r[n++];else if(o<e.length)i=e[o++],s=e[o++];else return t;!t.length||t[t.length-1]<i?t.push(i,s):t[t.length-1]<s&&(t[t.length-1]=s)}}function cy(r,e,t){var n;let o,i,s;return t?(o=e.changes,i=pe.empty(e.changes.length),s=r.changes.compose(e.changes)):(o=e.changes.map(r.changes),i=r.changes.mapDesc(e.changes,!0),s=r.changes.compose(o)),{changes:s,selection:e.selection?e.selection.map(i):(n=r.selection)===null||n===void 0?void 0:n.map(o),effects:ae.mapEffects(r.effects,o).concat(ae.mapEffects(e.effects,i)),annotations:r.annotations.length?r.annotations.concat(e.annotations):e.annotations,scrollIntoView:r.scrollIntoView||e.scrollIntoView}}function ah(r,e,t){let n=e.selection,o=qo(e.annotations);return e.userEvent&&(o=o.concat(me.userEvent.of(e.userEvent))),{changes:e.changes instanceof pe?e.changes:pe.of(e.changes||[],t,r.facet(oy)),selection:n&&(n instanceof I?n:I.single(n.anchor,n.head)),effects:qo(e.effects),annotations:o,scrollIntoView:!!e.scrollIntoView}}function uy(r,e,t){let n=ah(r,e.length?e[0]:{},r.doc.length);e.length&&e[0].filter===!1&&(t=!1);for(let i=1;i<e.length;i++){e[i].filter===!1&&(t=!1);let s=!!e[i].sequential;n=cy(n,ah(r,e[i],s?n.changes.newLength:r.doc.length),s)}let o=me.create(r,n.changes,n.selection,n.effects,n.annotations,n.scrollIntoView);return ik(t?ok(o):o)}function ok(r){let e=r.startState,t=!0;for(let o of e.facet(iy)){let i=o(r);if(i===!1){t=!1;break}Array.isArray(i)&&(t=t===!0?i:rk(t,i))}if(t!==!0){let o,i;if(t===!1)i=r.changes.invertedDesc,o=pe.empty(e.doc.length);else{let s=r.changes.filter(t);o=s.changes,i=s.filtered.mapDesc(s.changes).invertedDesc}r=me.create(e,o,r.selection&&r.selection.map(i),ae.mapEffects(r.effects,i),r.annotations,r.scrollIntoView)}let n=e.facet(sy);for(let o=n.length-1;o>=0;o--){let i=n[o](r);i instanceof me?r=i:Array.isArray(i)&&i.length==1&&i[0]instanceof me?r=i[0]:r=uy(e,qo(i),!1)}return r}function ik(r){let e=r.startState,t=e.facet(ly),n=r;for(let o=t.length-1;o>=0;o--){let i=t[o](r);i&&Object.keys(i).length&&(n=cy(n,ah(e,i,r.changes.newLength),!0))}return n==r?r:me.create(e,r.changes,r.selection,n.effects,n.annotations,n.scrollIntoView)}var sk=[];function qo(r){return r==null?sk:Array.isArray(r)?r:[r]}var rt=function(r){return r[r.Word=0]="Word",r[r.Space=1]="Space",r[r.Other=2]="Other",r}(rt||(rt={})),lk=/[\u00df\u0587\u0590-\u05f4\u0600-\u06ff\u3040-\u309f\u30a0-\u30ff\u3400-\u4db5\u4e00-\u9fcc\uac00-\ud7af]/,ch;try{ch=new RegExp("[\\p{Alphabetic}\\p{Number}_]","u")}catch{}function ak(r){if(ch)return ch.test(r);for(let e=0;e<r.length;e++){let t=r[e];if(/\w/.test(t)||t>"\x80"&&(t.toUpperCase()!=t.toLowerCase()||lk.test(t)))return!0}return!1}function ck(r){return e=>{if(!/\S/.test(e))return rt.Space;if(ak(e))return rt.Word;for(let t=0;t<r.length;t++)if(e.indexOf(r[t])>-1)return rt.Word;return rt.Other}}var ee=class{constructor(e,t,n,o,i,s){this.config=e,this.doc=t,this.selection=n,this.values=o,this.status=e.statusTemplate.slice(),this.computeSlot=i,s&&(s._state=this);for(let l=0;l<this.config.dynamicSlots.length;l++)ss(this,l<<1);this.computeSlot=null}field(e,t=!0){let n=this.config.address[e.id];if(n==null){if(t)throw new RangeError("Field is not present in this state");return}return ss(this,n),ea(this,n)}update(...e){return uy(this,e,!0)}applyTransaction(e){let t=this.config,{base:n,compartments:o}=t;for(let s of e.effects)s.is(Ko.reconfigure)?(t&&(o=new Map,t.compartments.forEach((l,a)=>o.set(a,l)),t=null),o.set(s.value.compartment,s.value.extension)):s.is(ae.reconfigure)?(t=null,n=s.value):s.is(ae.appendConfig)&&(t=null,n=qo(n).concat(s.value));let i;t?i=e.startState.values.slice():(t=jo.resolve(n,o,this),i=new ee(t,this.doc,this.selection,t.dynamicSlots.map(()=>null),(l,a)=>a.reconfigure(l,this),null).values),new ee(t,e.newDoc,e.newSelection,i,(s,l)=>l.update(s,e),e)}replaceSelection(e){return typeof e=="string"&&(e=this.toText(e)),this.changeByRange(t=>({changes:{from:t.from,to:t.to,insert:e},range:I.cursor(t.from+e.length)}))}changeByRange(e){let t=this.selection,n=e(t.ranges[0]),o=this.changes(n.changes),i=[n.range],s=qo(n.effects);for(let l=1;l<t.ranges.length;l++){let a=e(t.ranges[l]),c=this.changes(a.changes),u=c.map(o);for(let f=0;f<l;f++)i[f]=i[f].map(u);let h=o.mapDesc(c,!0);i.push(a.range.map(h)),o=o.compose(u),s=ae.mapEffects(s,u).concat(ae.mapEffects(qo(a.effects),h))}return{changes:o,selection:I.create(i,t.mainIndex),effects:s}}changes(e=[]){return e instanceof pe?e:pe.of(e,this.doc.length,this.facet(ee.lineSeparator))}toText(e){return X.of(e.split(this.facet(ee.lineSeparator)||rh))}sliceDoc(e=0,t=this.doc.length){return this.doc.sliceString(e,t,this.lineBreak)}facet(e){let t=this.config.address[e.id];return t==null?e.default:(ss(this,t),ea(this,t))}toJSON(e){let t={doc:this.sliceDoc(),selection:this.selection.toJSON()};if(e)for(let n in e){let o=e[n];o instanceof ot&&this.config.address[o.id]!=null&&(t[n]=o.spec.toJSON(this.field(e[n]),this))}return t}static fromJSON(e,t={},n){if(!e||typeof e.doc!="string")throw new RangeError("Invalid JSON representation for EditorState");let o=[];if(n){for(let i in n)if(Object.prototype.hasOwnProperty.call(e,i)){let s=n[i],l=e[i];o.push(s.init(a=>s.spec.fromJSON(l,a)))}}return ee.create({doc:e.doc,selection:I.fromJSON(e.selection),extensions:t.extensions?o.concat([t.extensions]):o})}static create(e={}){let t=jo.resolve(e.extensions||[],new Map),n=e.doc instanceof X?e.doc:X.of((e.doc||"").split(t.staticFacet(ee.lineSeparator)||rh)),o=e.selection?e.selection instanceof I?e.selection:I.single(e.selection.anchor,e.selection.head):I.single(0);return ty(o,n.length),t.staticFacet(ry)||(o=o.asSingle()),new ee(t,n,o,t.dynamicSlots.map(()=>null),(i,s)=>s.create(i),null)}get tabSize(){return this.facet(ee.tabSize)}get lineBreak(){return this.facet(ee.lineSeparator)||`
|
|
21
|
-
`}get readOnly(){return this.facet(ay)}phrase(e,...t){for(let n of this.facet(ee.phrases))if(Object.prototype.hasOwnProperty.call(n,e)){e=n[e];break}return t.length&&(e=e.replace(/\$(\$|\d*)/g,(n,o)=>{if(o=="$")return"$";let i=+(o||1);return!i||i>t.length?n:t[i-1]})),e}languageDataAt(e,t,n=-1){let o=[];for(let i of this.facet(ny))for(let s of i(this,t,n))Object.prototype.hasOwnProperty.call(s,e)&&o.push(s[e]);return o}charCategorizer(e){return ck(this.languageDataAt("wordChars",e).join(""))}wordAt(e){let{text:t,from:n,length:o}=this.doc.lineAt(e),i=this.charCategorizer(e),s=e-n,l=e-n;for(;s>0;){let a=Ge(t,s,!1);if(i(t.slice(a,s))!=rt.Word)break;s=a}for(;l<o;){let a=Ge(t,l);if(i(t.slice(l,a))!=rt.Word)break;l=a}return s==l?null:I.range(s+n,l+n)}};ee.allowMultipleSelections=ry;ee.tabSize=U.define({combine:r=>r.length?r[0]:4});ee.lineSeparator=oy;ee.readOnly=ay;ee.phrases=U.define({compare(r,e){let t=Object.keys(r),n=Object.keys(e);return t.length==n.length&&t.every(o=>r[o]==e[o])}});ee.languageData=ny;ee.changeFilter=iy;ee.transactionFilter=sy;ee.transactionExtender=ly;Ko.reconfigure=ae.define();function Qr(r,e,t={}){let n={};for(let o of r)for(let i of Object.keys(o)){let s=o[i],l=n[i];if(l===void 0)n[i]=s;else if(!(l===s||s===void 0))if(Object.hasOwnProperty.call(t,i))n[i]=t[i](l,s);else throw new Error("Config merge conflict for field "+i)}for(let o in e)n[o]===void 0&&(n[o]=e[o]);return n}var tn=class{eq(e){return this==e}range(e,t=e){return Kr.create(e,t,this)}};tn.prototype.startSide=tn.prototype.endSide=0;tn.prototype.point=!1;tn.prototype.mapMode=Ue.TrackDel;var Kr=class{constructor(e,t,n){this.from=e,this.to=t,this.value=n}static create(e,t,n){return new Kr(e,t,n)}};function uh(r,e){return r.from-e.from||r.value.startSide-e.value.startSide}var as=class{constructor(e,t,n,o){this.from=e,this.to=t,this.value=n,this.maxPoint=o}get length(){return this.to[this.to.length-1]}findIndex(e,t,n,o=0){let i=n?this.to:this.from;for(let s=o,l=i.length;;){if(s==l)return s;let a=s+l>>1,c=i[a]-e||(n?this.value[a].endSide:this.value[a].startSide)-t;if(a==s)return c>=0?s:l;c>=0?l=a:s=a+1}}between(e,t,n,o){for(let i=this.findIndex(t,-1e9,!0),s=this.findIndex(n,1e9,!1,i);i<s;i++)if(o(this.from[i]+e,this.to[i]+e,this.value[i])===!1)return!1}map(e,t){let n=[],o=[],i=[],s=-1,l=-1;for(let a=0;a<this.value.length;a++){let c=this.value[a],u=this.from[a]+e,h=this.to[a]+e,f,d;if(u==h){let p=t.mapPos(u,c.startSide,c.mapMode);if(p==null||(f=d=p,c.startSide!=c.endSide&&(d=t.mapPos(u,c.endSide),d<f)))continue}else if(f=t.mapPos(u,c.startSide),d=t.mapPos(h,c.endSide),f>d||f==d&&c.startSide>0&&c.endSide<=0)continue;(d-f||c.endSide-c.startSide)<0||(s<0&&(s=f),c.point&&(l=Math.max(l,d-f)),n.push(c),o.push(f-s),i.push(d-s))}return{mapped:n.length?new as(o,i,n,l):null,pos:s}}},se=class{constructor(e,t,n,o){this.chunkPos=e,this.chunk=t,this.nextLayer=n,this.maxPoint=o}static create(e,t,n,o){return new se(e,t,n,o)}get length(){let e=this.chunk.length-1;return e<0?0:Math.max(this.chunkEnd(e),this.nextLayer.length)}get size(){if(this.isEmpty)return 0;let e=this.nextLayer.size;for(let t of this.chunk)e+=t.value.length;return e}chunkEnd(e){return this.chunkPos[e]+this.chunk[e].length}update(e){let{add:t=[],sort:n=!1,filterFrom:o=0,filterTo:i=this.length}=e,s=e.filter;if(t.length==0&&!s)return this;if(n&&(t=t.slice().sort(uh)),this.isEmpty)return t.length?se.of(t):this;let l=new na(this,null,-1).goto(0),a=0,c=[],u=new pn;for(;l.value||a<t.length;)if(a<t.length&&(l.from-t[a].from||l.startSide-t[a].value.startSide)>=0){let h=t[a++];u.addInner(h.from,h.to,h.value)||c.push(h)}else l.rangeIndex==1&&l.chunkIndex<this.chunk.length&&(a==t.length||this.chunkEnd(l.chunkIndex)<t[a].from)&&(!s||o>this.chunkEnd(l.chunkIndex)||i<this.chunkPos[l.chunkIndex])&&u.addChunk(this.chunkPos[l.chunkIndex],this.chunk[l.chunkIndex])?l.nextChunk():((!s||o>l.to||i<l.from||s(l.from,l.to,l.value))&&(u.addInner(l.from,l.to,l.value)||c.push(Kr.create(l.from,l.to,l.value))),l.next());return u.finishInner(this.nextLayer.isEmpty&&!c.length?se.empty:this.nextLayer.update({add:c,filter:s,filterFrom:o,filterTo:i}))}map(e){if(e.empty||this.isEmpty)return this;let t=[],n=[],o=-1;for(let s=0;s<this.chunk.length;s++){let l=this.chunkPos[s],a=this.chunk[s],c=e.touchesRange(l,l+a.length);if(c===!1)o=Math.max(o,a.maxPoint),t.push(a),n.push(e.mapPos(l));else if(c===!0){let{mapped:u,pos:h}=a.map(l,e);u&&(o=Math.max(o,u.maxPoint),t.push(u),n.push(h))}}let i=this.nextLayer.map(e);return t.length==0?i:new se(n,t,i||se.empty,o)}between(e,t,n){if(!this.isEmpty){for(let o=0;o<this.chunk.length;o++){let i=this.chunkPos[o],s=this.chunk[o];if(t>=i&&e<=i+s.length&&s.between(i,e-i,t-i,n)===!1)return}this.nextLayer.between(e,t,n)}}iter(e=0){return jr.from([this]).goto(e)}get isEmpty(){return this.nextLayer==this}static iter(e,t=0){return jr.from(e).goto(t)}static compare(e,t,n,o,i=-1){let s=e.filter(h=>h.maxPoint>0||!h.isEmpty&&h.maxPoint>=i),l=t.filter(h=>h.maxPoint>0||!h.isEmpty&&h.maxPoint>=i),a=Kg(s,l,n),c=new $r(s,a,i),u=new $r(l,a,i);n.iterGaps((h,f,d)=>jg(c,h,u,f,d,o)),n.empty&&n.length==0&&jg(c,0,u,0,0,o)}static eq(e,t,n=0,o){o==null&&(o=1e9-1);let i=e.filter(u=>!u.isEmpty&&t.indexOf(u)<0),s=t.filter(u=>!u.isEmpty&&e.indexOf(u)<0);if(i.length!=s.length)return!1;if(!i.length)return!0;let l=Kg(i,s),a=new $r(i,l,0).goto(n),c=new $r(s,l,0).goto(n);for(;;){if(a.to!=c.to||!hh(a.active,c.active)||a.point&&(!c.point||!a.point.eq(c.point)))return!1;if(a.to>o)return!0;a.next(),c.next()}}static spans(e,t,n,o,i=-1){let s=new $r(e,null,i).goto(t),l=t,a=s.openStart;for(;;){let c=Math.min(s.to,n);if(s.point){let u=s.activeForPoint(s.to),h=s.pointFrom<t?u.length+1:Math.min(u.length,a);o.point(l,c,s.point,u,h,s.pointRank),a=Math.min(s.openEnd(c),u.length)}else c>l&&(o.span(l,c,s.active,a),a=s.openEnd(c));if(s.to>n)return a+(s.point&&s.to>n?1:0);l=s.to,s.next()}}static of(e,t=!1){let n=new pn;for(let o of e instanceof Kr?[e]:t?uk(e):e)n.add(o.from,o.to,o.value);return n.finish()}};se.empty=new se([],[],null,-1);function uk(r){if(r.length>1)for(let e=r[0],t=1;t<r.length;t++){let n=r[t];if(uh(e,n)>0)return r.slice().sort(uh);e=n}return r}se.empty.nextLayer=se.empty;var pn=class{finishChunk(e){this.chunks.push(new as(this.from,this.to,this.value,this.maxPoint)),this.chunkPos.push(this.chunkStart),this.chunkStart=-1,this.setMaxPoint=Math.max(this.setMaxPoint,this.maxPoint),this.maxPoint=-1,e&&(this.from=[],this.to=[],this.value=[])}constructor(){this.chunks=[],this.chunkPos=[],this.chunkStart=-1,this.last=null,this.lastFrom=-1e9,this.lastTo=-1e9,this.from=[],this.to=[],this.value=[],this.maxPoint=-1,this.setMaxPoint=-1,this.nextLayer=null}add(e,t,n){this.addInner(e,t,n)||(this.nextLayer||(this.nextLayer=new pn)).add(e,t,n)}addInner(e,t,n){let o=e-this.lastTo||n.startSide-this.last.endSide;if(o<=0&&(e-this.lastFrom||n.startSide-this.last.startSide)<0)throw new Error("Ranges must be added sorted by `from` position and `startSide`");return o<0?!1:(this.from.length==250&&this.finishChunk(!0),this.chunkStart<0&&(this.chunkStart=e),this.from.push(e-this.chunkStart),this.to.push(t-this.chunkStart),this.last=n,this.lastFrom=e,this.lastTo=t,this.value.push(n),n.point&&(this.maxPoint=Math.max(this.maxPoint,t-e)),!0)}addChunk(e,t){if((e-this.lastTo||t.value[0].startSide-this.last.endSide)<0)return!1;this.from.length&&this.finishChunk(!0),this.setMaxPoint=Math.max(this.setMaxPoint,t.maxPoint),this.chunks.push(t),this.chunkPos.push(e);let n=t.value.length-1;return this.last=t.value[n],this.lastFrom=t.from[n]+e,this.lastTo=t.to[n]+e,!0}finish(){return this.finishInner(se.empty)}finishInner(e){if(this.from.length&&this.finishChunk(!1),this.chunks.length==0)return e;let t=se.create(this.chunkPos,this.chunks,this.nextLayer?this.nextLayer.finishInner(e):e,this.setMaxPoint);return this.from=null,t}};function Kg(r,e,t){let n=new Map;for(let i of r)for(let s=0;s<i.chunk.length;s++)i.chunk[s].maxPoint<=0&&n.set(i.chunk[s],i.chunkPos[s]);let o=new Set;for(let i of e)for(let s=0;s<i.chunk.length;s++){let l=n.get(i.chunk[s]);l!=null&&(t?t.mapPos(l):l)==i.chunkPos[s]&&!(t!=null&&t.touchesRange(l,l+i.chunk[s].length))&&o.add(i.chunk[s])}return o}var na=class{constructor(e,t,n,o=0){this.layer=e,this.skip=t,this.minPoint=n,this.rank=o}get startSide(){return this.value?this.value.startSide:0}get endSide(){return this.value?this.value.endSide:0}goto(e,t=-1e9){return this.chunkIndex=this.rangeIndex=0,this.gotoInner(e,t,!1),this}gotoInner(e,t,n){for(;this.chunkIndex<this.layer.chunk.length;){let o=this.layer.chunk[this.chunkIndex];if(!(this.skip&&this.skip.has(o)||this.layer.chunkEnd(this.chunkIndex)<e||o.maxPoint<this.minPoint))break;this.chunkIndex++,n=!1}if(this.chunkIndex<this.layer.chunk.length){let o=this.layer.chunk[this.chunkIndex].findIndex(e-this.layer.chunkPos[this.chunkIndex],t,!0);(!n||this.rangeIndex<o)&&this.setRangeIndex(o)}this.next()}forward(e,t){(this.to-e||this.endSide-t)<0&&this.gotoInner(e,t,!0)}next(){for(;;)if(this.chunkIndex==this.layer.chunk.length){this.from=this.to=1e9,this.value=null;break}else{let e=this.layer.chunkPos[this.chunkIndex],t=this.layer.chunk[this.chunkIndex],n=e+t.from[this.rangeIndex];if(this.from=n,this.to=e+t.to[this.rangeIndex],this.value=t.value[this.rangeIndex],this.setRangeIndex(this.rangeIndex+1),this.minPoint<0||this.value.point&&this.to-this.from>=this.minPoint)break}}setRangeIndex(e){if(e==this.layer.chunk[this.chunkIndex].value.length){if(this.chunkIndex++,this.skip)for(;this.chunkIndex<this.layer.chunk.length&&this.skip.has(this.layer.chunk[this.chunkIndex]);)this.chunkIndex++;this.rangeIndex=0}else this.rangeIndex=e}nextChunk(){this.chunkIndex++,this.rangeIndex=0,this.next()}compare(e){return this.from-e.from||this.startSide-e.startSide||this.rank-e.rank||this.to-e.to||this.endSide-e.endSide}},jr=class{constructor(e){this.heap=e}static from(e,t=null,n=-1){let o=[];for(let i=0;i<e.length;i++)for(let s=e[i];!s.isEmpty;s=s.nextLayer)s.maxPoint>=n&&o.push(new na(s,t,n,i));return o.length==1?o[0]:new jr(o)}get startSide(){return this.value?this.value.startSide:0}goto(e,t=-1e9){for(let n of this.heap)n.goto(e,t);for(let n=this.heap.length>>1;n>=0;n--)th(this.heap,n);return this.next(),this}forward(e,t){for(let n of this.heap)n.forward(e,t);for(let n=this.heap.length>>1;n>=0;n--)th(this.heap,n);(this.to-e||this.value.endSide-t)<0&&this.next()}next(){if(this.heap.length==0)this.from=this.to=1e9,this.value=null,this.rank=-1;else{let e=this.heap[0];this.from=e.from,this.to=e.to,this.value=e.value,this.rank=e.rank,e.value&&e.next(),th(this.heap,0)}}};function th(r,e){for(let t=r[e];;){let n=(e<<1)+1;if(n>=r.length)break;let o=r[n];if(n+1<r.length&&o.compare(r[n+1])>=0&&(o=r[n+1],n++),t.compare(o)<0)break;r[n]=t,r[e]=o,e=n}}var $r=class{constructor(e,t,n){this.minPoint=n,this.active=[],this.activeTo=[],this.activeRank=[],this.minActive=-1,this.point=null,this.pointFrom=0,this.pointRank=0,this.to=-1e9,this.endSide=0,this.openStart=-1,this.cursor=jr.from(e,t,n)}goto(e,t=-1e9){return this.cursor.goto(e,t),this.active.length=this.activeTo.length=this.activeRank.length=0,this.minActive=-1,this.to=e,this.endSide=t,this.openStart=-1,this.next(),this}forward(e,t){for(;this.minActive>-1&&(this.activeTo[this.minActive]-e||this.active[this.minActive].endSide-t)<0;)this.removeActive(this.minActive);this.cursor.forward(e,t)}removeActive(e){jl(this.active,e),jl(this.activeTo,e),jl(this.activeRank,e),this.minActive=Jg(this.active,this.activeTo)}addActive(e){let t=0,{value:n,to:o,rank:i}=this.cursor;for(;t<this.activeRank.length&&this.activeRank[t]<=i;)t++;Jl(this.active,t,n),Jl(this.activeTo,t,o),Jl(this.activeRank,t,i),e&&Jl(e,t,this.cursor.from),this.minActive=Jg(this.active,this.activeTo)}next(){let e=this.to,t=this.point;this.point=null;let n=this.openStart<0?[]:null;for(;;){let o=this.minActive;if(o>-1&&(this.activeTo[o]-this.cursor.from||this.active[o].endSide-this.cursor.startSide)<0){if(this.activeTo[o]>e){this.to=this.activeTo[o],this.endSide=this.active[o].endSide;break}this.removeActive(o),n&&jl(n,o)}else if(this.cursor.value)if(this.cursor.from>e){this.to=this.cursor.from,this.endSide=this.cursor.startSide;break}else{let i=this.cursor.value;if(!i.point)this.addActive(n),this.cursor.next();else if(t&&this.cursor.to==this.to&&this.cursor.from<this.cursor.to)this.cursor.next();else{this.point=i,this.pointFrom=this.cursor.from,this.pointRank=this.cursor.rank,this.to=this.cursor.to,this.endSide=i.endSide,this.cursor.next(),this.forward(this.to,this.endSide);break}}else{this.to=this.endSide=1e9;break}}if(n){this.openStart=0;for(let o=n.length-1;o>=0&&n[o]<e;o--)this.openStart++}}activeForPoint(e){if(!this.active.length)return this.active;let t=[];for(let n=this.active.length-1;n>=0&&!(this.activeRank[n]<this.pointRank);n--)(this.activeTo[n]>e||this.activeTo[n]==e&&this.active[n].endSide>=this.point.endSide)&&t.push(this.active[n]);return t.reverse()}openEnd(e){let t=0;for(let n=this.activeTo.length-1;n>=0&&this.activeTo[n]>e;n--)t++;return t}};function jg(r,e,t,n,o,i){r.goto(e),t.goto(n);let s=n+o,l=n,a=n-e;for(;;){let c=r.to+a-t.to||r.endSide-t.endSide,u=c<0?r.to+a:t.to,h=Math.min(u,s);if(r.point||t.point?r.point&&t.point&&(r.point==t.point||r.point.eq(t.point))&&hh(r.activeForPoint(r.to),t.activeForPoint(t.to))||i.comparePoint(l,h,r.point,t.point):h>l&&!hh(r.active,t.active)&&i.compareRange(l,h,r.active,t.active),u>s)break;l=u,c<=0&&r.next(),c>=0&&t.next()}}function hh(r,e){if(r.length!=e.length)return!1;for(let t=0;t<r.length;t++)if(r[t]!=e[t]&&!r[t].eq(e[t]))return!1;return!0}function jl(r,e){for(let t=e,n=r.length-1;t<n;t++)r[t]=r[t+1];r.pop()}function Jl(r,e,t){for(let n=r.length-1;n>=e;n--)r[n+1]=r[n];r[e]=t}function Jg(r,e){let t=-1,n=1e9;for(let o=0;o<e.length;o++)(e[o]-n||r[o].endSide-r[t].endSide)<0&&(t=o,n=e[o]);return t}function Yr(r,e,t=r.length){let n=0;for(let o=0;o<t;)r.charCodeAt(o)==9?(n+=e-n%e,o++):(n++,o=Ge(r,o));return n}function hy(r,e,t,n){for(let o=0,i=0;;){if(i>=e)return o;if(o==r.length)break;i+=r.charCodeAt(o)==9?t-i%t:1,o=Ge(r,o)}return n===!0?-1:r.length}var ph="\u037C",fy=typeof Symbol>"u"?"__"+ph:Symbol.for(ph),mh=typeof Symbol>"u"?"__styleSet"+Math.floor(Math.random()*1e8):Symbol("styleSet"),dy=typeof globalThis<"u"?globalThis:typeof window<"u"?window:{},Nt=class{constructor(e,t){this.rules=[];let{finish:n}=t||{};function o(s){return/^@/.test(s)?[s]:s.split(/,\s*/)}function i(s,l,a,c){let u=[],h=/^@(\w+)\b/.exec(s[0]),f=h&&h[1]=="keyframes";if(h&&l==null)return a.push(s[0]+";");for(let d in l){let p=l[d];if(/&/.test(d))i(d.split(/,\s*/).map(m=>s.map(g=>m.replace(/&/,g))).reduce((m,g)=>m.concat(g)),p,a);else if(p&&typeof p=="object"){if(!h)throw new RangeError("The value of a property ("+d+") should be a primitive value.");i(o(d),p,u,f)}else p!=null&&u.push(d.replace(/_.*/,"").replace(/[A-Z]/g,m=>"-"+m.toLowerCase())+": "+p+";")}(u.length||f)&&a.push((n&&!h&&!c?s.map(n):s).join(", ")+" {"+u.join(" ")+"}")}for(let s in e)i(o(s),e[s],this.rules)}getRules(){return this.rules.join(`
|
|
22
|
-
`)}static newName(){let e=
|
|
23
|
-
`;this.styleTag.textContent=i}}};var An={8:"Backspace",9:"Tab",10:"Enter",12:"NumLock",13:"Enter",16:"Shift",17:"Control",18:"Alt",20:"CapsLock",27:"Escape",32:" ",33:"PageUp",34:"PageDown",35:"End",36:"Home",37:"ArrowLeft",38:"ArrowUp",39:"ArrowRight",40:"ArrowDown",44:"PrintScreen",45:"Insert",46:"Delete",59:";",61:"=",91:"Meta",92:"Meta",106:"*",107:"+",108:",",109:"-",110:".",111:"/",144:"NumLock",145:"ScrollLock",160:"Shift",161:"Shift",162:"Control",163:"Control",164:"Alt",165:"Alt",173:"-",186:";",187:"=",188:",",189:"-",190:".",191:"/",192:"`",219:"[",220:"\\",221:"]",222:"'"},Jo={48:")",49:"!",50:"@",51:"#",52:"$",53:"%",54:"^",55:"&",56:"*",57:"(",59:":",61:"+",173:"_",186:":",187:"+",188:"<",189:"_",190:">",191:"?",192:"~",219:"{",220:"|",221:"}",222:'"'},hk=typeof navigator<"u"&&/Mac/.test(navigator.platform),fk=typeof navigator<"u"&&/MSIE \d|Trident\/(?:[7-9]|\d{2,})\..*rv:(\d+)/.exec(navigator.userAgent);for(Te=0;Te<10;Te++)An[48+Te]=An[96+Te]=String(Te);var Te;for(Te=1;Te<=24;Te++)An[Te+111]="F"+Te;var Te;for(Te=65;Te<=90;Te++)An[Te]=String.fromCharCode(Te+32),Jo[Te]=String.fromCharCode(Te);var Te;for(ra in An)Jo.hasOwnProperty(ra)||(Jo[ra]=An[ra]);var ra;function my(r){var e=hk&&r.metaKey&&r.shiftKey&&!r.ctrlKey&&!r.altKey||fk&&r.shiftKey&&r.key&&r.key.length==1||r.key=="Unidentified",t=!e&&r.key||(r.shiftKey?Jo:An)[r.keyCode]||r.key||"Unidentified";return t=="Esc"&&(t="Escape"),t=="Del"&&(t="Delete"),t=="Left"&&(t="ArrowLeft"),t=="Up"&&(t="ArrowUp"),t=="Right"&&(t="ArrowRight"),t=="Down"&&(t="ArrowDown"),t}function ga(r){let e;return r.nodeType==11?e=r.getSelection?r:r.ownerDocument:e=r,e.getSelection()}function Sh(r,e){return e?r==e||r.contains(e.nodeType!=1?e.parentNode:e):!1}function dk(r){let e=r.activeElement;for(;e&&e.shadowRoot;)e=e.shadowRoot.activeElement;return e}function ha(r,e){if(!e.anchorNode)return!1;try{return Sh(r,e.anchorNode)}catch{return!1}}function ps(r){return r.nodeType==3?Zr(r,0,r.nodeValue.length).getClientRects():r.nodeType==1?r.getClientRects():[]}function ya(r,e,t,n){return t?gy(r,e,t,n,-1)||gy(r,e,t,n,1):!1}function ba(r){for(var e=0;;e++)if(r=r.previousSibling,!r)return e}function gy(r,e,t,n,o){for(;;){if(r==t&&e==n)return!0;if(e==(o<0?0:cr(r))){if(r.nodeName=="DIV")return!1;let i=r.parentNode;if(!i||i.nodeType!=1)return!1;e=ba(r)+(o<0?0:1),r=i}else if(r.nodeType==1){if(r=r.childNodes[e+(o<0?-1:0)],r.nodeType==1&&r.contentEditable=="false")return!1;e=o<0?cr(r):0}else return!1}}function cr(r){return r.nodeType==3?r.nodeValue.length:r.childNodes.length}function nf(r,e){let t=e?r.left:r.right;return{left:t,right:t,top:r.top,bottom:r.bottom}}function pk(r){return{left:0,right:r.innerWidth,top:0,bottom:r.innerHeight}}function mk(r,e,t,n,o,i,s,l){let a=r.ownerDocument,c=a.defaultView||window;for(let u=r,h=!1;u&&!h;)if(u.nodeType==1){let f,d=u==a.body;if(d)f=pk(c);else{if(/^(fixed|sticky)$/.test(getComputedStyle(u).position)&&(h=!0),u.scrollHeight<=u.clientHeight&&u.scrollWidth<=u.clientWidth){u=u.assignedSlot||u.parentNode;continue}let g=u.getBoundingClientRect();f={left:g.left,right:g.left+u.clientWidth,top:g.top,bottom:g.top+u.clientHeight}}let p=0,m=0;if(o=="nearest")e.top<f.top?(m=-(f.top-e.top+s),t>0&&e.bottom>f.bottom+m&&(m=e.bottom-f.bottom+m+s)):e.bottom>f.bottom&&(m=e.bottom-f.bottom+s,t<0&&e.top-m<f.top&&(m=-(f.top+m-e.top+s)));else{let g=e.bottom-e.top,y=f.bottom-f.top;m=(o=="center"&&g<=y?e.top+g/2-y/2:o=="start"||o=="center"&&t<0?e.top-s:e.bottom-y+s)-f.top}if(n=="nearest"?e.left<f.left?(p=-(f.left-e.left+i),t>0&&e.right>f.right+p&&(p=e.right-f.right+p+i)):e.right>f.right&&(p=e.right-f.right+i,t<0&&e.left<f.left+p&&(p=-(f.left+p-e.left+i))):p=(n=="center"?e.left+(e.right-e.left)/2-(f.right-f.left)/2:n=="start"==l?e.left-i:e.right-(f.right-f.left)+i)-f.left,p||m)if(d)c.scrollBy(p,m);else{let g=0,y=0;if(m){let v=u.scrollTop;u.scrollTop+=m,y=u.scrollTop-v}if(p){let v=u.scrollLeft;u.scrollLeft+=p,g=u.scrollLeft-v}e={left:e.left-g,top:e.top-y,right:e.right-g,bottom:e.bottom-y},g&&Math.abs(g-p)<1&&(n="nearest"),y&&Math.abs(y-m)<1&&(o="nearest")}if(d)break;u=u.assignedSlot||u.parentNode}else if(u.nodeType==11)u=u.host;else break}function gk(r){let e=r.ownerDocument;for(let t=r.parentNode;t&&t!=e.body;)if(t.nodeType==1){if(t.scrollHeight>t.clientHeight||t.scrollWidth>t.clientWidth)return t;t=t.assignedSlot||t.parentNode}else if(t.nodeType==11)t=t.host;else break;return null}var Ch=class{constructor(){this.anchorNode=null,this.anchorOffset=0,this.focusNode=null,this.focusOffset=0}eq(e){return this.anchorNode==e.anchorNode&&this.anchorOffset==e.anchorOffset&&this.focusNode==e.focusNode&&this.focusOffset==e.focusOffset}setRange(e){let{anchorNode:t,focusNode:n}=e;this.set(t,Math.min(e.anchorOffset,t?cr(t):0),n,Math.min(e.focusOffset,n?cr(n):0))}set(e,t,n,o){this.anchorNode=e,this.anchorOffset=t,this.focusNode=n,this.focusOffset=o}},Qo=null;function Jy(r){if(r.setActive)return r.setActive();if(Qo)return r.focus(Qo);let e=[];for(let t=r;t&&(e.push(t,t.scrollTop,t.scrollLeft),t!=t.ownerDocument);t=t.parentNode);if(r.focus(Qo==null?{get preventScroll(){return Qo={preventScroll:!0},!0}}:void 0),!Qo){Qo=!1;for(let t=0;t<e.length;){let n=e[t++],o=e[t++],i=e[t++];n.scrollTop!=o&&(n.scrollTop=o),n.scrollLeft!=i&&(n.scrollLeft=i)}}}var yy;function Zr(r,e,t=e){let n=yy||(yy=document.createRange());return n.setEnd(r,t),n.setStart(r,e),n}function Zo(r,e,t){let n={key:e,code:e,keyCode:t,which:t,cancelable:!0},o=new KeyboardEvent("keydown",n);o.synthetic=!0,r.dispatchEvent(o);let i=new KeyboardEvent("keyup",n);return i.synthetic=!0,r.dispatchEvent(i),o.defaultPrevented||i.defaultPrevented}function yk(r){for(;r;){if(r&&(r.nodeType==9||r.nodeType==11&&r.host))return r;r=r.assignedSlot||r.parentNode}return null}function Qy(r){for(;r.attributes.length;)r.removeAttributeNode(r.attributes[0])}function bk(r,e){let t=e.focusNode,n=e.focusOffset;if(!t||e.anchorNode!=t||e.anchorOffset!=n)return!1;for(n=Math.min(n,cr(t));;)if(n){if(t.nodeType!=1)return!1;let o=t.childNodes[n-1];o.contentEditable=="false"?n--:(t=o,n=cr(t))}else{if(t==r)return!0;n=ba(t),t=t.parentNode}}function Yy(r){return r.scrollTop>Math.max(1,r.scrollHeight-r.clientHeight-4)}var Be=class{constructor(e,t,n=!0){this.node=e,this.offset=t,this.precise=n}static before(e,t){return new Be(e.parentNode,ba(e),t)}static after(e,t){return new Be(e.parentNode,ba(e)+1,t)}},rf=[],re=class{constructor(){this.parent=null,this.dom=null,this.flags=2}get overrideDOMText(){return null}get posAtStart(){return this.parent?this.parent.posBefore(this):0}get posAtEnd(){return this.posAtStart+this.length}posBefore(e){let t=this.posAtStart;for(let n of this.children){if(n==e)return t;t+=n.length+n.breakAfter}throw new RangeError("Invalid child in posBefore")}posAfter(e){return this.posBefore(e)+e.length}sync(e,t){if(this.flags&2){let n=this.dom,o=null,i;for(let s of this.children){if(s.flags&7){if(!s.dom&&(i=o?o.nextSibling:n.firstChild)){let l=re.get(i);(!l||!l.parent&&l.canReuseDOM(s))&&s.reuseDOM(i)}s.sync(e,t),s.flags&=-8}if(i=o?o.nextSibling:n.firstChild,t&&!t.written&&t.node==n&&i!=s.dom&&(t.written=!0),s.dom.parentNode==n)for(;i&&i!=s.dom;)i=by(i);else n.insertBefore(s.dom,i);o=s.dom}for(i=o?o.nextSibling:n.firstChild,i&&t&&t.node==n&&(t.written=!0);i;)i=by(i)}else if(this.flags&1)for(let n of this.children)n.flags&7&&(n.sync(e,t),n.flags&=-8)}reuseDOM(e){}localPosFromDOM(e,t){let n;if(e==this.dom)n=this.dom.childNodes[t];else{let o=cr(e)==0?0:t==0?-1:1;for(;;){let i=e.parentNode;if(i==this.dom)break;o==0&&i.firstChild!=i.lastChild&&(e==i.firstChild?o=-1:o=1),e=i}o<0?n=e:n=e.nextSibling}if(n==this.dom.firstChild)return 0;for(;n&&!re.get(n);)n=n.nextSibling;if(!n)return this.length;for(let o=0,i=0;;o++){let s=this.children[o];if(s.dom==n)return i;i+=s.length+s.breakAfter}}domBoundsAround(e,t,n=0){let o=-1,i=-1,s=-1,l=-1;for(let a=0,c=n,u=n;a<this.children.length;a++){let h=this.children[a],f=c+h.length;if(c<e&&f>t)return h.domBoundsAround(e,t,c);if(f>=e&&o==-1&&(o=a,i=c),c>t&&h.dom.parentNode==this.dom){s=a,l=u;break}u=f,c=f+h.breakAfter}return{from:i,to:l<0?n+this.length:l,startDOM:(o?this.children[o-1].dom.nextSibling:null)||this.dom.firstChild,endDOM:s<this.children.length&&s>=0?this.children[s].dom:null}}markDirty(e=!1){this.flags|=2,this.markParentsDirty(e)}markParentsDirty(e){for(let t=this.parent;t;t=t.parent){if(e&&(t.flags|=2),t.flags&1)return;t.flags|=1,e=!1}}setParent(e){this.parent!=e&&(this.parent=e,this.flags&7&&this.markParentsDirty(!0))}setDOM(e){this.dom&&(this.dom.cmView=null),this.dom=e,e.cmView=this}get rootView(){for(let e=this;;){let t=e.parent;if(!t)return e;e=t}}replaceChildren(e,t,n=rf){this.markDirty();for(let o=e;o<t;o++){let i=this.children[o];i.parent==this&&i.destroy()}this.children.splice(e,t-e,...n);for(let o=0;o<n.length;o++)n[o].setParent(this)}ignoreMutation(e){return!1}ignoreEvent(e){return!1}childCursor(e=this.length){return new xa(this.children,e,this.children.length)}childPos(e,t=1){return this.childCursor().findPos(e,t)}toString(){let e=this.constructor.name.replace("View","");return e+(this.children.length?"("+this.children.join()+")":this.length?"["+(e=="Text"?this.text:this.length)+"]":"")+(this.breakAfter?"#":"")}static get(e){return e.cmView}get isEditable(){return!0}get isWidget(){return!1}get isHidden(){return!1}merge(e,t,n,o,i,s){return!1}become(e){return!1}canReuseDOM(e){return e.constructor==this.constructor&&!((this.flags|e.flags)&8)}getSide(){return 0}destroy(){this.parent=null}};re.prototype.breakAfter=0;function by(r){let e=r.nextSibling;return r.parentNode.removeChild(r),e}var xa=class{constructor(e,t,n){this.children=e,this.pos=t,this.i=n,this.off=0}findPos(e,t=1){for(;;){if(e>this.pos||e==this.pos&&(t>0||this.i==0||this.children[this.i-1].breakAfter))return this.off=e-this.pos,this;let n=this.children[--this.i];this.pos-=n.length+n.breakAfter}}};function Xy(r,e,t,n,o,i,s,l,a){let{children:c}=r,u=c.length?c[e]:null,h=i.length?i[i.length-1]:null,f=h?h.breakAfter:s;if(!(e==n&&u&&!s&&!f&&i.length<2&&u.merge(t,o,i.length?h:null,t==0,l,a))){if(n<c.length){let d=c[n];d&&o<d.length?(e==n&&(d=d.split(o),o=0),!f&&h&&d.merge(0,o,h,!0,0,a)?i[i.length-1]=d:(o&&d.merge(0,o,null,!1,0,a),i.push(d))):d!=null&&d.breakAfter&&(h?h.breakAfter=1:s=1),n++}for(u&&(u.breakAfter=s,t>0&&(!s&&i.length&&u.merge(t,u.length,i[0],!1,l,0)?u.breakAfter=i.shift().breakAfter:(t<u.length||u.children.length&&u.children[u.children.length-1].length==0)&&u.merge(t,u.length,null,!1,l,0),e++));e<n&&i.length;)if(c[n-1].become(i[i.length-1]))n--,i.pop(),a=i.length?0:l;else if(c[e].become(i[0]))e++,i.shift(),l=i.length?0:a;else break;!i.length&&e&&n<c.length&&!c[e-1].breakAfter&&c[n].merge(0,0,c[e-1],!1,l,a)&&e--,(e<n||i.length)&&r.replaceChildren(e,n,i)}}function Zy(r,e,t,n,o,i){let s=r.childCursor(),{i:l,off:a}=s.findPos(t,1),{i:c,off:u}=s.findPos(e,-1),h=e-t;for(let f of n)h+=f.length;r.length+=h,Xy(r,c,u,l,a,n,0,o,i)}var Yo="\uFFFF",va=class{constructor(e,t){this.points=e,this.text="",this.lineSeparator=t.facet(ee.lineSeparator)}append(e){this.text+=e}lineBreak(){this.text+=Yo}readRange(e,t){if(!e)return this;let n=e.parentNode;for(let o=e;;){this.findPointBefore(n,o);let i=this.text.length;this.readNode(o);let s=o.nextSibling;if(s==t)break;let l=re.get(o),a=re.get(s);(l&&a?l.breakAfter:(l?l.breakAfter:xy(o))||xy(s)&&(o.nodeName!="BR"||o.cmIgnore)&&this.text.length>i)&&this.lineBreak(),o=s}return this.findPointBefore(n,t),this}readTextNode(e){let t=e.nodeValue;for(let n of this.points)n.node==e&&(n.pos=this.text.length+Math.min(n.offset,t.length));for(let n=0,o=this.lineSeparator?null:/\r\n?|\n/g;;){let i=-1,s=1,l;if(this.lineSeparator?(i=t.indexOf(this.lineSeparator,n),s=this.lineSeparator.length):(l=o.exec(t))&&(i=l.index,s=l[0].length),this.append(t.slice(n,i<0?t.length:i)),i<0)break;if(this.lineBreak(),s>1)for(let a of this.points)a.node==e&&a.pos>this.text.length&&(a.pos-=s-1);n=i+s}}readNode(e){if(e.cmIgnore)return;let t=re.get(e),n=t&&t.overrideDOMText;if(n!=null){this.findPointInside(e,n.length);for(let o=n.iter();!o.next().done;)o.lineBreak?this.lineBreak():this.append(o.value)}else e.nodeType==3?this.readTextNode(e):e.nodeName=="BR"?e.nextSibling&&this.lineBreak():e.nodeType==1&&this.readRange(e.firstChild,null)}findPointBefore(e,t){for(let n of this.points)n.node==e&&e.childNodes[n.offset]==t&&(n.pos=this.text.length)}findPointInside(e,t){for(let n of this.points)(e.nodeType==3?n.node==e:e.contains(n.node))&&(n.pos=this.text.length+Math.min(t,n.offset))}};function xy(r){return r.nodeType==1&&/^(DIV|P|LI|UL|OL|BLOCKQUOTE|DD|DT|H\d|SECTION|PRE)$/.test(r.nodeName)}var wa=class{constructor(e,t){this.node=e,this.offset=t,this.pos=-1}},Ct=typeof navigator<"u"?navigator:{userAgent:"",vendor:"",platform:""},Th=typeof document<"u"?document:{documentElement:{style:{}}},kh=/Edge\/(\d+)/.exec(Ct.userAgent),eb=/MSIE \d/.test(Ct.userAgent),Mh=/Trident\/(?:[7-9]|\d{2,})\..*rv:(\d+)/.exec(Ct.userAgent),Ea=!!(eb||Mh||kh),vy=!Ea&&/gecko\/(\d+)/i.test(Ct.userAgent),yh=!Ea&&/Chrome\/(\d+)/.exec(Ct.userAgent),wy="webkitFontSmoothing"in Th.documentElement.style,tb=!Ea&&/Apple Computer/.test(Ct.vendor),Sy=tb&&(/Mobile\/\w+/.test(Ct.userAgent)||Ct.maxTouchPoints>2),_={mac:Sy||/Mac/.test(Ct.platform),windows:/Win/.test(Ct.platform),linux:/Linux|X11/.test(Ct.platform),ie:Ea,ie_version:eb?Th.documentMode||6:Mh?+Mh[1]:kh?+kh[1]:0,gecko:vy,gecko_version:vy?+(/Firefox\/(\d+)/.exec(Ct.userAgent)||[0,0])[1]:0,chrome:!!yh,chrome_version:yh?+yh[1]:0,ios:Sy,android:/Android\b/.test(Ct.userAgent),webkit:wy,safari:tb,webkit_version:wy?+(/\bAppleWebKit\/(\d+)/.exec(navigator.userAgent)||[0,0])[1]:0,tabSize:Th.documentElement.style.tabSize!=null?"tab-size":"-moz-tab-size"},xk=256,Ft=class extends re{constructor(e){super(),this.text=e}get length(){return this.text.length}createDOM(e){this.setDOM(e||document.createTextNode(this.text))}sync(e,t){this.dom||this.createDOM(),this.dom.nodeValue!=this.text&&(t&&t.node==this.dom&&(t.written=!0),this.dom.nodeValue=this.text)}reuseDOM(e){e.nodeType==3&&this.createDOM(e)}merge(e,t,n){return this.flags&8||n&&(!(n instanceof Ft)||this.length-(t-e)+n.length>xk||n.flags&8)?!1:(this.text=this.text.slice(0,e)+(n?n.text:"")+this.text.slice(t),this.markDirty(),!0)}split(e){let t=new Ft(this.text.slice(e));return this.text=this.text.slice(0,e),this.markDirty(),t.flags|=this.flags&8,t}localPosFromDOM(e,t){return e==this.dom?t:t?this.text.length:0}domAtPos(e){return new Be(this.dom,e)}domBoundsAround(e,t,n){return{from:n,to:n+this.length,startDOM:this.dom,endDOM:this.dom.nextSibling}}coordsAt(e,t){return vk(this.dom,e,t)}},nn=class extends re{constructor(e,t=[],n=0){super(),this.mark=e,this.children=t,this.length=n;for(let o of t)o.setParent(this)}setAttrs(e){if(Qy(e),this.mark.class&&(e.className=this.mark.class),this.mark.attrs)for(let t in this.mark.attrs)e.setAttribute(t,this.mark.attrs[t]);return e}canReuseDOM(e){return super.canReuseDOM(e)&&!((this.flags|e.flags)&8)}reuseDOM(e){e.nodeName==this.mark.tagName.toUpperCase()&&(this.setDOM(e),this.flags|=6)}sync(e,t){this.dom?this.flags&4&&this.setAttrs(this.dom):this.setDOM(this.setAttrs(document.createElement(this.mark.tagName))),super.sync(e,t)}merge(e,t,n,o,i,s){return n&&(!(n instanceof nn&&n.mark.eq(this.mark))||e&&i<=0||t<this.length&&s<=0)?!1:(Zy(this,e,t,n?n.children:[],i-1,s-1),this.markDirty(),!0)}split(e){let t=[],n=0,o=-1,i=0;for(let l of this.children){let a=n+l.length;a>e&&t.push(n<e?l.split(e-n):l),o<0&&n>=e&&(o=i),n=a,i++}let s=this.length-e;return this.length=e,o>-1&&(this.children.length=o,this.markDirty()),new nn(this.mark,t,s)}domAtPos(e){return nb(this,e)}coordsAt(e,t){return ob(this,e,t)}};function vk(r,e,t){let n=r.nodeValue.length;e>n&&(e=n);let o=e,i=e,s=0;e==0&&t<0||e==n&&t>=0?_.chrome||_.gecko||(e?(o--,s=1):i<n&&(i++,s=-1)):t<0?o--:i<n&&i++;let l=Zr(r,o,i).getClientRects();if(!l.length)return null;let a=l[(s?s<0:t>=0)?0:l.length-1];return _.safari&&!s&&a.width==0&&(a=Array.prototype.find.call(l,c=>c.width)||a),s?nf(a,s<0):a||null}var On=class extends re{constructor(e,t,n){super(),this.widget=e,this.length=t,this.side=n,this.prevWidget=null}static create(e,t,n){return new On(e,t,n)}split(e){let t=On.create(this.widget,this.length-e,this.side);return this.length-=e,t}sync(e){(!this.dom||!this.widget.updateDOM(this.dom,e))&&(this.dom&&this.prevWidget&&this.prevWidget.destroy(this.dom),this.prevWidget=null,this.setDOM(this.widget.toDOM(e)),this.dom.contentEditable="false")}getSide(){return this.side}merge(e,t,n,o,i,s){return n&&(!(n instanceof On)||!this.widget.compare(n.widget)||e>0&&i<=0||t<this.length&&s<=0)?!1:(this.length=e+(n?n.length:0)+(this.length-t),!0)}become(e){return e instanceof On&&e.side==this.side&&this.widget.constructor==e.widget.constructor?(this.widget.compare(e.widget)||this.markDirty(!0),this.dom&&!this.prevWidget&&(this.prevWidget=this.widget),this.widget=e.widget,this.length=e.length,!0):!1}ignoreMutation(){return!0}ignoreEvent(e){return this.widget.ignoreEvent(e)}get overrideDOMText(){if(this.length==0)return X.empty;let e=this;for(;e.parent;)e=e.parent;let{view:t}=e,n=t&&t.state.doc,o=this.posAtStart;return n?n.slice(o,o+this.length):X.empty}domAtPos(e){return(this.length?e==0:this.side>0)?Be.before(this.dom):Be.after(this.dom,e==this.length)}domBoundsAround(){return null}coordsAt(e,t){let n=this.widget.coordsAt(this.dom,e,t);if(n)return n;let o=this.dom.getClientRects(),i=null;if(!o.length)return null;let s=this.side?this.side<0:e>0;for(let l=s?o.length-1:0;i=o[l],!(e>0?l==0:l==o.length-1||i.top<i.bottom);l+=s?-1:1);return nf(i,!s)}get isEditable(){return!1}get isWidget(){return!0}get isHidden(){return this.widget.isHidden}destroy(){super.destroy(),this.dom&&this.widget.destroy(this.dom)}},ur=class extends re{constructor(e){super(),this.side=e}get length(){return 0}merge(){return!1}become(e){return e instanceof ur&&e.side==this.side}split(){return new ur(this.side)}sync(){if(!this.dom){let e=document.createElement("img");e.className="cm-widgetBuffer",e.setAttribute("aria-hidden","true"),this.setDOM(e)}}getSide(){return this.side}domAtPos(e){return this.side>0?Be.before(this.dom):Be.after(this.dom)}localPosFromDOM(){return 0}domBoundsAround(){return null}coordsAt(e){return this.dom.getBoundingClientRect()}get overrideDOMText(){return X.empty}get isHidden(){return!0}};Ft.prototype.children=On.prototype.children=ur.prototype.children=rf;function nb(r,e){let t=r.dom,{children:n}=r,o=0;for(let i=0;o<n.length;o++){let s=n[o],l=i+s.length;if(!(l==i&&s.getSide()<=0)){if(e>i&&e<l&&s.dom.parentNode==t)return s.domAtPos(e-i);if(e<=i)break;i=l}}for(let i=o;i>0;i--){let s=n[i-1];if(s.dom.parentNode==t)return s.domAtPos(s.length)}for(let i=o;i<n.length;i++){let s=n[i];if(s.dom.parentNode==t)return s.domAtPos(0)}return new Be(t,0)}function rb(r,e,t){let n,{children:o}=r;t>0&&e instanceof nn&&o.length&&(n=o[o.length-1])instanceof nn&&n.mark.eq(e.mark)?rb(n,e.children[0],t-1):(o.push(e),e.setParent(r)),r.length+=e.length}function ob(r,e,t){let n=null,o=-1,i=null,s=-1;function l(c,u){for(let h=0,f=0;h<c.children.length&&f<=u;h++){let d=c.children[h],p=f+d.length;p>=u&&(d.children.length?l(d,u-f):(!i||i.isHidden&&t>0)&&(p>u||f==p&&d.getSide()>0)?(i=d,s=u-f):(f<u||f==p&&d.getSide()<0&&!d.isHidden)&&(n=d,o=u-f)),f=p}}l(r,e);let a=(t<0?n:i)||n||i;return a?a.coordsAt(Math.max(0,a==n?o:s),t):wk(r)}function wk(r){let e=r.dom.lastChild;if(!e)return r.dom.getBoundingClientRect();let t=ps(e);return t[t.length-1]||null}function Eh(r,e){for(let t in r)t=="class"&&e.class?e.class+=" "+r.class:t=="style"&&e.style?e.style+=";"+r.style:e[t]=r[t];return e}var Cy=Object.create(null);function of(r,e,t){if(r==e)return!0;r||(r=Cy),e||(e=Cy);let n=Object.keys(r),o=Object.keys(e);if(n.length-(t&&n.indexOf(t)>-1?1:0)!=o.length-(t&&o.indexOf(t)>-1?1:0))return!1;for(let i of n)if(i!=t&&(o.indexOf(i)==-1||r[i]!==e[i]))return!1;return!0}function Rh(r,e,t){let n=null;if(e)for(let o in e)t&&o in t||r.removeAttribute(n=o);if(t)for(let o in t)e&&e[o]==t[o]||r.setAttribute(n=o,t[o]);return!!n}function Sk(r){let e=Object.create(null);for(let t=0;t<r.attributes.length;t++){let n=r.attributes[t];e[n.name]=n.value}return e}var Vn=class{eq(e){return!1}updateDOM(e,t){return!1}compare(e){return this==e||this.constructor==e.constructor&&this.eq(e)}get estimatedHeight(){return-1}get lineBreaks(){return 0}ignoreEvent(e){return!0}coordsAt(e,t,n){return null}get isHidden(){return!1}destroy(e){}},Se=function(r){return r[r.Text=0]="Text",r[r.WidgetBefore=1]="WidgetBefore",r[r.WidgetAfter=2]="WidgetAfter",r[r.WidgetRange=3]="WidgetRange",r}(Se||(Se={})),Pe=class extends tn{constructor(e,t,n,o){super(),this.startSide=e,this.endSide=t,this.widget=n,this.spec=o}get heightRelevant(){return!1}static mark(e){return new eo(e)}static widget(e){let t=Math.max(-1e4,Math.min(1e4,e.side||0)),n=!!e.block;return t+=n&&!e.inlineOrder?t>0?3e8:-4e8:t>0?1e8:-1e8,new yn(e,t,t,n,e.widget||null,!1)}static replace(e){let t=!!e.block,n,o;if(e.isBlockGap)n=-5e8,o=4e8;else{let{start:i,end:s}=ib(e,t);n=(i?t?-3e8:-1:5e8)-1,o=(s?t?2e8:1:-6e8)+1}return new yn(e,n,o,t,e.widget||null,!0)}static line(e){return new to(e)}static set(e,t=!1){return se.of(e,t)}hasHeight(){return this.widget?this.widget.estimatedHeight>-1:!1}};Pe.none=se.empty;var eo=class extends Pe{constructor(e){let{start:t,end:n}=ib(e);super(t?-1:5e8,n?1:-6e8,null,e),this.tagName=e.tagName||"span",this.class=e.class||"",this.attrs=e.attributes||null}eq(e){var t,n;return this==e||e instanceof eo&&this.tagName==e.tagName&&(this.class||((t=this.attrs)===null||t===void 0?void 0:t.class))==(e.class||((n=e.attrs)===null||n===void 0?void 0:n.class))&&of(this.attrs,e.attrs,"class")}range(e,t=e){if(e>=t)throw new RangeError("Mark decorations may not be empty");return super.range(e,t)}};eo.prototype.point=!1;var to=class extends Pe{constructor(e){super(-2e8,-2e8,null,e)}eq(e){return e instanceof to&&this.spec.class==e.spec.class&&of(this.spec.attributes,e.spec.attributes)}range(e,t=e){if(t!=e)throw new RangeError("Line decoration ranges must be zero-length");return super.range(e,t)}};to.prototype.mapMode=Ue.TrackBefore;to.prototype.point=!0;var yn=class extends Pe{constructor(e,t,n,o,i,s){super(t,n,i,e),this.block=o,this.isReplace=s,this.mapMode=o?t<=0?Ue.TrackBefore:Ue.TrackAfter:Ue.TrackDel}get type(){return this.startSide<this.endSide?Se.WidgetRange:this.startSide<=0?Se.WidgetBefore:Se.WidgetAfter}get heightRelevant(){return this.block||!!this.widget&&(this.widget.estimatedHeight>=5||this.widget.lineBreaks>0)}eq(e){return e instanceof yn&&Ck(this.widget,e.widget)&&this.block==e.block&&this.startSide==e.startSide&&this.endSide==e.endSide}range(e,t=e){if(this.isReplace&&(e>t||e==t&&this.startSide>0&&this.endSide<=0))throw new RangeError("Invalid range for replacement decoration");if(!this.isReplace&&t!=e)throw new RangeError("Widget decorations can only have zero-length ranges");return super.range(e,t)}};yn.prototype.point=!0;function ib(r,e=!1){let{inclusiveStart:t,inclusiveEnd:n}=r;return t==null&&(t=r.inclusive),n==null&&(n=r.inclusive),{start:t!=null?t:e,end:n!=null?n:e}}function Ck(r,e){return r==e||!!(r&&e&&r.compare(e))}function Ih(r,e,t,n=0){let o=t.length-1;o>=0&&t[o]+n>=r?t[o]=Math.max(t[o],e):t.push(r,e)}var Fe=class extends re{constructor(){super(...arguments),this.children=[],this.length=0,this.prevAttrs=void 0,this.attrs=null,this.breakAfter=0}merge(e,t,n,o,i,s){if(n){if(!(n instanceof Fe))return!1;this.dom||n.transferDOM(this)}return o&&this.setDeco(n?n.attrs:null),Zy(this,e,t,n?n.children:[],i,s),!0}split(e){let t=new Fe;if(t.breakAfter=this.breakAfter,this.length==0)return t;let{i:n,off:o}=this.childPos(e);o&&(t.append(this.children[n].split(o),0),this.children[n].merge(o,this.children[n].length,null,!1,0,0),n++);for(let i=n;i<this.children.length;i++)t.append(this.children[i],0);for(;n>0&&this.children[n-1].length==0;)this.children[--n].destroy();return this.children.length=n,this.markDirty(),this.length=e,t}transferDOM(e){this.dom&&(this.markDirty(),e.setDOM(this.dom),e.prevAttrs=this.prevAttrs===void 0?this.attrs:this.prevAttrs,this.prevAttrs=void 0,this.dom=null)}setDeco(e){of(this.attrs,e)||(this.dom&&(this.prevAttrs=this.attrs,this.markDirty()),this.attrs=e)}append(e,t){rb(this,e,t)}addLineDeco(e){let t=e.spec.attributes,n=e.spec.class;t&&(this.attrs=Eh(t,this.attrs||{})),n&&(this.attrs=Eh({class:n},this.attrs||{}))}domAtPos(e){return nb(this,e)}reuseDOM(e){e.nodeName=="DIV"&&(this.setDOM(e),this.flags|=6)}sync(e,t){var n;this.dom?this.flags&4&&(Qy(this.dom),this.dom.className="cm-line",this.prevAttrs=this.attrs?null:void 0):(this.setDOM(document.createElement("div")),this.dom.className="cm-line",this.prevAttrs=this.attrs?null:void 0),this.prevAttrs!==void 0&&(Rh(this.dom,this.prevAttrs,this.attrs),this.dom.classList.add("cm-line"),this.prevAttrs=void 0),super.sync(e,t);let o=this.dom.lastChild;for(;o&&re.get(o)instanceof nn;)o=o.lastChild;if(!o||!this.length||o.nodeName!="BR"&&((n=re.get(o))===null||n===void 0?void 0:n.isEditable)==!1&&(!_.ios||!this.children.some(i=>i instanceof Ft))){let i=document.createElement("BR");i.cmIgnore=!0,this.dom.appendChild(i)}}measureTextSize(){if(this.children.length==0||this.length>20)return null;let e=0,t;for(let n of this.children){if(!(n instanceof Ft)||/[^ -~]/.test(n.text))return null;let o=ps(n.dom);if(o.length!=1)return null;e+=o[0].width,t=o[0].height}return e?{lineHeight:this.dom.getBoundingClientRect().height,charWidth:e/this.length,textHeight:t}:null}coordsAt(e,t){let n=ob(this,e,t);if(!this.children.length&&n&&this.parent){let{heightOracle:o}=this.parent.view.viewState,i=n.bottom-n.top;if(Math.abs(i-o.lineHeight)<2&&o.textHeight<i){let s=(i-o.textHeight)/2;return{top:n.top+s,bottom:n.bottom-s,left:n.left,right:n.left}}}return n}become(e){return!1}get type(){return Se.Text}static find(e,t){for(let n=0,o=0;n<e.children.length;n++){let i=e.children[n],s=o+i.length;if(s>=t){if(i instanceof Fe)return i;if(s>t)break}o=s+i.breakAfter}return null}},Nn=class extends re{constructor(e,t,n){super(),this.widget=e,this.length=t,this.type=n,this.breakAfter=0,this.prevWidget=null}merge(e,t,n,o,i,s){return n&&(!(n instanceof Nn)||!this.widget.compare(n.widget)||e>0&&i<=0||t<this.length&&s<=0)?!1:(this.length=e+(n?n.length:0)+(this.length-t),!0)}domAtPos(e){return e==0?Be.before(this.dom):Be.after(this.dom,e==this.length)}split(e){let t=this.length-e;this.length=e;let n=new Nn(this.widget,t,this.type);return n.breakAfter=this.breakAfter,n}get children(){return rf}sync(e){(!this.dom||!this.widget.updateDOM(this.dom,e))&&(this.dom&&this.prevWidget&&this.prevWidget.destroy(this.dom),this.prevWidget=null,this.setDOM(this.widget.toDOM(e)),this.dom.contentEditable="false")}get overrideDOMText(){return this.parent?this.parent.view.state.doc.slice(this.posAtStart,this.posAtEnd):X.empty}domBoundsAround(){return null}become(e){return e instanceof Nn&&e.widget.constructor==this.widget.constructor?(e.widget.compare(this.widget)||this.markDirty(!0),this.dom&&!this.prevWidget&&(this.prevWidget=this.widget),this.widget=e.widget,this.length=e.length,this.type=e.type,this.breakAfter=e.breakAfter,!0):!1}ignoreMutation(){return!0}ignoreEvent(e){return this.widget.ignoreEvent(e)}get isEditable(){return!1}get isWidget(){return!0}coordsAt(e,t){return this.widget.coordsAt(this.dom,e,t)}destroy(){super.destroy(),this.dom&&this.widget.destroy(this.dom)}},Xr=class{constructor(e,t,n,o){this.doc=e,this.pos=t,this.end=n,this.disallowBlockEffectsFor=o,this.content=[],this.curLine=null,this.breakAtStart=0,this.pendingBuffer=0,this.bufferMarks=[],this.atCursorPos=!0,this.openStart=-1,this.openEnd=-1,this.text="",this.textOff=0,this.cursor=e.iter(),this.skip=t}posCovered(){if(this.content.length==0)return!this.breakAtStart&&this.doc.lineAt(this.pos).from!=this.pos;let e=this.content[this.content.length-1];return!e.breakAfter&&!(e instanceof Nn&&e.type==Se.WidgetBefore)}getLine(){return this.curLine||(this.content.push(this.curLine=new Fe),this.atCursorPos=!0),this.curLine}flushBuffer(e=this.bufferMarks){this.pendingBuffer&&(this.curLine.append(oa(new ur(-1),e),e.length),this.pendingBuffer=0)}addBlockWidget(e){this.flushBuffer(),this.curLine=null,this.content.push(e)}finish(e){this.pendingBuffer&&e<=this.bufferMarks.length?this.flushBuffer():this.pendingBuffer=0,this.posCovered()||this.getLine()}buildText(e,t,n){for(;e>0;){if(this.textOff==this.text.length){let{value:i,lineBreak:s,done:l}=this.cursor.next(this.skip);if(this.skip=0,l)throw new Error("Ran out of text content when drawing inline views");if(s){this.posCovered()||this.getLine(),this.content.length?this.content[this.content.length-1].breakAfter=1:this.breakAtStart=1,this.flushBuffer(),this.curLine=null,this.atCursorPos=!0,e--;continue}else this.text=i,this.textOff=0}let o=Math.min(this.text.length-this.textOff,e,512);this.flushBuffer(t.slice(t.length-n)),this.getLine().append(oa(new Ft(this.text.slice(this.textOff,this.textOff+o)),t),n),this.atCursorPos=!0,this.textOff+=o,e-=o,n=0}}span(e,t,n,o){this.buildText(t-e,n,o),this.pos=t,this.openStart<0&&(this.openStart=o)}point(e,t,n,o,i,s){if(this.disallowBlockEffectsFor[s]&&n instanceof yn){if(n.block)throw new RangeError("Block decorations may not be specified via plugins");if(t>this.doc.lineAt(this.pos).to)throw new RangeError("Decorations that replace line breaks may not be specified via plugins")}let l=t-e;if(n instanceof yn)if(n.block){let{type:a}=n;a==Se.WidgetAfter&&!this.posCovered()&&this.getLine(),this.addBlockWidget(new Nn(n.widget||new Sa("div"),l,a))}else{let a=On.create(n.widget||new Sa("span"),l,l?0:n.startSide),c=this.atCursorPos&&!a.isEditable&&i<=o.length&&(e<t||n.startSide>0),u=!a.isEditable&&(e<t||i>o.length||n.startSide<=0),h=this.getLine();this.pendingBuffer==2&&!c&&!a.isEditable&&(this.pendingBuffer=0),this.flushBuffer(o),c&&(h.append(oa(new ur(1),o),i),i=o.length+Math.max(0,i-o.length)),h.append(oa(a,o),i),this.atCursorPos=u,this.pendingBuffer=u?e<t||i>o.length?1:2:0,this.pendingBuffer&&(this.bufferMarks=o.slice())}else this.doc.lineAt(this.pos).from==this.pos&&this.getLine().addLineDeco(n);l&&(this.textOff+l<=this.text.length?this.textOff+=l:(this.skip+=l-(this.text.length-this.textOff),this.text="",this.textOff=0),this.pos=t),this.openStart<0&&(this.openStart=i)}static build(e,t,n,o,i){let s=new Xr(e,t,n,i);return s.openEnd=se.spans(o,t,n,s),s.openStart<0&&(s.openStart=s.openEnd),s.finish(s.openEnd),s}};function oa(r,e){for(let t of e)r=new nn(t,[r],r.length);return r}var Sa=class extends Vn{constructor(e){super(),this.tag=e}eq(e){return e.tag==this.tag}toDOM(){return document.createElement(this.tag)}updateDOM(e){return e.nodeName.toLowerCase()==this.tag}get isHidden(){return!0}},sb=U.define(),lb=U.define(),ab=U.define(),cb=U.define(),Ph=U.define(),ub=U.define(),hb=U.define(),fb=U.define({combine:r=>r.some(e=>e)}),db=U.define({combine:r=>r.some(e=>e)}),ei=class{constructor(e,t="nearest",n="nearest",o=5,i=5){this.range=e,this.y=t,this.x=n,this.yMargin=o,this.xMargin=i}map(e){return e.empty?this:new ei(this.range.map(e),this.y,this.x,this.yMargin,this.xMargin)}},Ty=ae.define({map:(r,e)=>r.map(e)});function gn(r,e,t){let n=r.facet(cb);n.length?n[0](e):window.onerror?window.onerror(String(e),t,void 0,void 0,e):t?console.error(t+":",e):console.error(e)}var Ra=U.define({combine:r=>r.length?r[0]:!0}),Tk=0,cs=U.define(),Bt=class{constructor(e,t,n,o){this.id=e,this.create=t,this.domEventHandlers=n,this.extension=o(this)}static define(e,t){let{eventHandlers:n,provide:o,decorations:i}=t||{};return new Bt(Tk++,e,n,s=>{let l=[cs.of(s)];return i&&l.push(ms.of(a=>{let c=a.plugin(s);return c?i(c):Pe.none})),o&&l.push(o(s)),l})}static fromClass(e,t){return Bt.define(n=>new e(n),t)}},fs=class{constructor(e){this.spec=e,this.mustUpdate=null,this.value=null}update(e){if(this.value){if(this.mustUpdate){let t=this.mustUpdate;if(this.mustUpdate=null,this.value.update)try{this.value.update(t)}catch(n){if(gn(t.state,n,"CodeMirror plugin crashed"),this.value.destroy)try{this.value.destroy()}catch{}this.deactivate()}}}else if(this.spec)try{this.value=this.spec.create(e)}catch(t){gn(e.state,t,"CodeMirror plugin crashed"),this.deactivate()}return this}destroy(e){var t;if(!((t=this.value)===null||t===void 0)&&t.destroy)try{this.value.destroy()}catch(n){gn(e.state,n,"CodeMirror plugin crashed")}}deactivate(){this.spec=this.value=null}},pb=U.define(),sf=U.define(),ms=U.define(),lf=U.define(),mb=U.define();function gb(r){let e=0,t=0,n=0,o=0;for(let i of r.state.facet(mb)){let s=i(r);s&&(s.left!=null&&(e=Math.max(e,s.left)),s.right!=null&&(t=Math.max(t,s.right)),s.top!=null&&(n=Math.max(n,s.top)),s.bottom!=null&&(o=Math.max(o,s.bottom)))}return{left:e,right:t,top:n,bottom:o}}var us=U.define(),ht=class{constructor(e,t,n,o){this.fromA=e,this.toA=t,this.fromB=n,this.toB=o}join(e){return new ht(Math.min(this.fromA,e.fromA),Math.max(this.toA,e.toA),Math.min(this.fromB,e.fromB),Math.max(this.toB,e.toB))}addToSet(e){let t=e.length,n=this;for(;t>0;t--){let o=e[t-1];if(!(o.fromA>n.toA)){if(o.toA<n.fromA)break;n=n.join(o),e.splice(t-1,1)}}return e.splice(t,0,n),e}static extendWithRanges(e,t){if(t.length==0)return e;let n=[];for(let o=0,i=0,s=0,l=0;;o++){let a=o==e.length?null:e[o],c=s-l,u=a?a.fromB:1e9;for(;i<t.length&&t[i]<u;){let h=t[i],f=t[i+1],d=Math.max(l,h),p=Math.min(u,f);if(d<=p&&new ht(d+c,p+c,d,p).addToSet(n),f>u)break;i+=2}if(!a)return n;new ht(a.fromA,a.toA,a.fromB,a.toB).addToSet(n),s=a.toA,l=a.toB}}},ti=class{constructor(e,t,n){this.view=e,this.state=t,this.transactions=n,this.flags=0,this.startState=e.state,this.changes=pe.empty(this.startState.doc.length);for(let i of n)this.changes=this.changes.compose(i.changes);let o=[];this.changes.iterChangedRanges((i,s,l,a)=>o.push(new ht(i,s,l,a))),this.changedRanges=o}static create(e,t,n){return new ti(e,t,n)}get viewportChanged(){return(this.flags&4)>0}get heightChanged(){return(this.flags&2)>0}get geometryChanged(){return this.docChanged||(this.flags&10)>0}get focusChanged(){return(this.flags&1)>0}get docChanged(){return!this.changes.empty}get selectionSet(){return this.transactions.some(e=>e.selection)}get empty(){return this.flags==0&&this.transactions.length==0}},we=function(r){return r[r.LTR=0]="LTR",r[r.RTL=1]="RTL",r}(we||(we={})),Dh=we.LTR,kk=we.RTL;function yb(r){let e=[];for(let t=0;t<r.length;t++)e.push(1<<+r[t]);return e}var Mk=yb("88888888888888888888888888888888888666888888787833333333337888888000000000000000000000000008888880000000000000000000000000088888888888888888888888888888888888887866668888088888663380888308888800000000000000000000000800000000000000000000000000000008"),Ek=yb("4444448826627288999999999992222222222222222222222222222222222222222222222229999999999999999999994444444444644222822222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222999999949999999229989999223333333333"),Lh=Object.create(null),mn=[];for(let r of["()","[]","{}"]){let e=r.charCodeAt(0),t=r.charCodeAt(1);Lh[e]=t,Lh[t]=-e}function Rk(r){return r<=247?Mk[r]:1424<=r&&r<=1524?2:1536<=r&&r<=1785?Ek[r-1536]:1774<=r&&r<=2220?4:8192<=r&&r<=8203?256:64336<=r&&r<=65023?4:r==8204?256:1}var Ik=/[\u0590-\u05f4\u0600-\u06ff\u0700-\u08ac\ufb50-\ufdff]/,ar=class{constructor(e,t,n){this.from=e,this.to=t,this.level=n}get dir(){return this.level%2?kk:Dh}side(e,t){return this.dir==t==e?this.to:this.from}static find(e,t,n,o){let i=-1;for(let s=0;s<e.length;s++){let l=e[s];if(l.from<=t&&l.to>=t){if(l.level==n)return s;(i<0||(o!=0?o<0?l.from<t:l.to>t:e[i].level>l.level))&&(i=s)}}if(i<0)throw new RangeError("Index out of range");return i}},ge=[];function Pk(r,e){let t=r.length,n=e==Dh?1:2,o=e==Dh?2:1;if(!r||n==1&&!Ik.test(r))return bb(t);for(let s=0,l=n,a=n;s<t;s++){let c=Rk(r.charCodeAt(s));c==512?c=l:c==8&&a==4&&(c=16),ge[s]=c==4?2:c,c&7&&(a=c),l=c}for(let s=0,l=n,a=n;s<t;s++){let c=ge[s];if(c==128)s<t-1&&l==ge[s+1]&&l&24?c=ge[s]=l:ge[s]=256;else if(c==64){let u=s+1;for(;u<t&&ge[u]==64;)u++;let h=s&&l==8||u<t&&ge[u]==8?a==1?1:8:256;for(let f=s;f<u;f++)ge[f]=h;s=u-1}else c==8&&a==1&&(ge[s]=1);l=c,c&7&&(a=c)}for(let s=0,l=0,a=0,c,u,h;s<t;s++)if(u=Lh[c=r.charCodeAt(s)])if(u<0){for(let f=l-3;f>=0;f-=3)if(mn[f+1]==-u){let d=mn[f+2],p=d&2?n:d&4?d&1?o:n:0;p&&(ge[s]=ge[mn[f]]=p),l=f;break}}else{if(mn.length==189)break;mn[l++]=s,mn[l++]=c,mn[l++]=a}else if((h=ge[s])==2||h==1){let f=h==n;a=f?0:1;for(let d=l-3;d>=0;d-=3){let p=mn[d+2];if(p&2)break;if(f)mn[d+2]|=2;else{if(p&4)break;mn[d+2]|=4}}}for(let s=0;s<t;s++)if(ge[s]==256){let l=s+1;for(;l<t&&ge[l]==256;)l++;let a=(s?ge[s-1]:n)==1,c=(l<t?ge[l]:n)==1,u=a==c?a?1:2:n;for(let h=s;h<l;h++)ge[h]=u;s=l-1}let i=[];if(n==1)for(let s=0;s<t;){let l=s,a=ge[s++]!=1;for(;s<t&&a==(ge[s]!=1);)s++;if(a)for(let c=s;c>l;){let u=c,h=ge[--c]!=2;for(;c>l&&h==(ge[c-1]!=2);)c--;i.push(new ar(c,u,h?2:1))}else i.push(new ar(l,s,0))}else for(let s=0;s<t;){let l=s,a=ge[s++]==2;for(;s<t&&a==(ge[s]==2);)s++;i.push(new ar(l,s,a?1:2))}return i}function bb(r){return[new ar(0,r,0)]}var xb="";function Dk(r,e,t,n,o){var i;let s=n.head-r.from,l=-1;if(s==0){if(!o||!r.length)return null;e[0].level!=t&&(s=e[0].side(!1,t),l=0)}else if(s==r.length){if(o)return null;let f=e[e.length-1];f.level!=t&&(s=f.side(!0,t),l=e.length-1)}l<0&&(l=ar.find(e,s,(i=n.bidiLevel)!==null&&i!==void 0?i:-1,n.assoc));let a=e[l];s==a.side(o,t)&&(a=e[l+=o?1:-1],s=a.side(!o,t));let c=o==(a.dir==t),u=Ge(r.text,s,c);if(xb=r.text.slice(Math.min(s,u),Math.max(s,u)),u!=a.side(o,t))return I.cursor(u+r.from,c?-1:1,a.level);let h=l==(o?e.length-1:0)?null:e[l+(o?1:-1)];return!h&&a.level!=t?I.cursor(o?r.to:r.from,o?-1:1,t):h&&h.level<a.level?I.cursor(h.side(!o,t)+r.from,o?1:-1,h.level):I.cursor(u+r.from,o?-1:1,a.level)}var Ca=class extends re{constructor(e){super(),this.view=e,this.decorations=[],this.dynamicDecorationMap=[],this.hasComposition=null,this.markedForComposition=new Set,this.minWidth=0,this.minWidthFrom=0,this.minWidthTo=0,this.impreciseAnchor=null,this.impreciseHead=null,this.forceSelection=!1,this.lastUpdate=Date.now(),this.setDOM(e.contentDOM),this.children=[new Fe],this.children[0].setParent(this),this.updateDeco(),this.updateInner([new ht(0,0,0,e.state.doc.length)],0,null)}get length(){return this.view.state.doc.length}update(e){let t=e.changedRanges;this.minWidth>0&&t.length&&(t.every(({fromA:l,toA:a})=>a<this.minWidthFrom||l>this.minWidthTo)?(this.minWidthFrom=e.changes.mapPos(this.minWidthFrom,1),this.minWidthTo=e.changes.mapPos(this.minWidthTo,1)):this.minWidth=this.minWidthFrom=this.minWidthTo=0);let n=this.view.inputState.composing<0?null:Ak(this.view,e.changes);if(this.hasComposition){this.markedForComposition.clear();let{from:l,to:a}=this.hasComposition;t=new ht(l,a,e.changes.mapPos(l,-1),e.changes.mapPos(a,1)).addToSet(t.slice())}this.hasComposition=n?{from:n.range.fromB,to:n.range.toB}:null,(_.ie||_.chrome)&&!n&&e&&e.state.doc.lines!=e.startState.doc.lines&&(this.forceSelection=!0);let o=this.decorations,i=this.updateDeco(),s=Nk(o,i,e.changes);return t=ht.extendWithRanges(t,s),!(this.flags&7)&&t.length==0?!1:(this.updateInner(t,e.startState.doc.length,n),e.transactions.length&&(this.lastUpdate=Date.now()),!0)}updateInner(e,t,n){this.view.viewState.mustMeasureContent=!0,this.updateChildren(e,t,n);let{observer:o}=this.view;o.ignore(()=>{this.dom.style.height=this.view.viewState.contentHeight+"px",this.dom.style.flexBasis=this.minWidth?this.minWidth+"px":"";let s=_.chrome||_.ios?{node:o.selectionRange.focusNode,written:!1}:void 0;this.sync(this.view,s),this.flags&=-8,s&&(s.written||o.selectionRange.focusNode!=s.node)&&(this.forceSelection=!0),this.dom.style.height=""}),this.markedForComposition.forEach(s=>s.flags&=-9);let i=[];if(this.view.viewport.from||this.view.viewport.to<this.view.state.doc.length)for(let s of this.children)s instanceof Nn&&s.widget instanceof Ta&&i.push(s.dom);o.updateGaps(i)}updateChildren(e,t,n){let o=n?n.range.addToSet(e.slice()):e,i=this.childCursor(t);for(let s=o.length-1;;s--){let l=s>=0?o[s]:null;if(!l)break;let{fromA:a,toA:c,fromB:u,toB:h}=l,f,d,p,m;if(n&&n.range.fromB<h&&n.range.toB>u){let x=Xr.build(this.view.state.doc,u,n.range.fromB,this.decorations,this.dynamicDecorationMap),S=Xr.build(this.view.state.doc,n.range.toB,h,this.decorations,this.dynamicDecorationMap);d=x.breakAtStart,p=x.openStart,m=S.openEnd;let b=this.compositionView(n);S.breakAtStart?b.breakAfter=1:S.content.length&&b.merge(b.length,b.length,S.content[0],!1,S.openStart,0)&&(b.breakAfter=S.content[0].breakAfter,S.content.shift()),x.content.length&&b.merge(0,0,x.content[x.content.length-1],!0,0,x.openEnd)&&x.content.pop(),f=x.content.concat(b).concat(S.content)}else({content:f,breakAtStart:d,openStart:p,openEnd:m}=Xr.build(this.view.state.doc,u,h,this.decorations,this.dynamicDecorationMap));let{i:g,off:y}=i.findPos(c,1),{i:v,off:w}=i.findPos(a,-1);Xy(this,v,w,g,y,f,d,p,m)}n&&this.fixCompositionDOM(n)}compositionView(e){let t=new Ft(e.text.nodeValue);t.flags|=8;for(let{deco:o}of e.marks)t=new nn(o,[t],t.length);let n=new Fe;return n.append(t,0),n}fixCompositionDOM(e){let t=(i,s)=>{s.flags|=8,this.markedForComposition.add(s);let l=re.get(i);l!=s&&(l&&(l.dom=null),s.setDOM(i))},n=this.childPos(e.range.fromB,1),o=this.children[n.i];t(e.line,o);for(let i=e.marks.length-1;i>=-1;i--)n=o.childPos(n.off,1),o=o.children[n.i],t(i>=0?e.marks[i].node:e.text,o)}updateSelection(e=!1,t=!1){(e||!this.view.observer.selectionRange.focusNode)&&this.view.observer.readSelectionRange();let n=this.view.root.activeElement,o=n==this.dom,i=!o&&ha(this.dom,this.view.observer.selectionRange)&&!(n&&this.dom.contains(n));if(!(o||t||i))return;let s=this.forceSelection;this.forceSelection=!1;let l=this.view.state.selection.main,a=this.domAtPos(l.anchor),c=l.empty?a:this.domAtPos(l.head);if(_.gecko&&l.empty&&!this.hasComposition&&Lk(a)){let h=document.createTextNode("");this.view.observer.ignore(()=>a.node.insertBefore(h,a.node.childNodes[a.offset]||null)),a=c=new Be(h,0),s=!0}let u=this.view.observer.selectionRange;(s||!u.focusNode||!ya(a.node,a.offset,u.anchorNode,u.anchorOffset)||!ya(c.node,c.offset,u.focusNode,u.focusOffset))&&(this.view.observer.ignore(()=>{_.android&&_.chrome&&this.dom.contains(u.focusNode)&&Vk(u.focusNode,this.dom)&&(this.dom.blur(),this.dom.focus({preventScroll:!0}));let h=ga(this.view.root);if(h)if(l.empty){if(_.gecko){let f=Ok(a.node,a.offset);if(f&&f!=3){let d=wb(a.node,a.offset,f==1?1:-1);d&&(a=new Be(d,f==1?0:d.nodeValue.length))}}h.collapse(a.node,a.offset),l.bidiLevel!=null&&u.cursorBidiLevel!=null&&(u.cursorBidiLevel=l.bidiLevel)}else if(h.extend){h.collapse(a.node,a.offset);try{h.extend(c.node,c.offset)}catch{}}else{let f=document.createRange();l.anchor>l.head&&([a,c]=[c,a]),f.setEnd(c.node,c.offset),f.setStart(a.node,a.offset),h.removeAllRanges(),h.addRange(f)}i&&this.view.root.activeElement==this.dom&&(this.dom.blur(),n&&n.focus())}),this.view.observer.setSelectionRange(a,c)),this.impreciseAnchor=a.precise?null:new Be(u.anchorNode,u.anchorOffset),this.impreciseHead=c.precise?null:new Be(u.focusNode,u.focusOffset)}enforceCursorAssoc(){if(this.hasComposition)return;let{view:e}=this,t=e.state.selection.main,n=ga(e.root),{anchorNode:o,anchorOffset:i}=e.observer.selectionRange;if(!n||!t.empty||!t.assoc||!n.modify)return;let s=Fe.find(this,t.head);if(!s)return;let l=s.posAtStart;if(t.head==l||t.head==l+s.length)return;let a=this.coordsAt(t.head,-1),c=this.coordsAt(t.head,1);if(!a||!c||a.bottom>c.top)return;let u=this.domAtPos(t.head+t.assoc);n.collapse(u.node,u.offset),n.modify("move",t.assoc<0?"forward":"backward","lineboundary"),e.observer.readSelectionRange();let h=e.observer.selectionRange;e.docView.posFromDOM(h.anchorNode,h.anchorOffset)!=t.from&&n.collapse(o,i)}nearest(e){for(let t=e;t;){let n=re.get(t);if(n&&n.rootView==this)return n;t=t.parentNode}return null}posFromDOM(e,t){let n=this.nearest(e);if(!n)throw new RangeError("Trying to find position for a DOM position outside of the document");return n.localPosFromDOM(e,t)+n.posAtStart}domAtPos(e){let{i:t,off:n}=this.childCursor().findPos(e,-1);for(;t<this.children.length-1;){let o=this.children[t];if(n<o.length||o instanceof Fe)break;t++,n=0}return this.children[t].domAtPos(n)}coordsAt(e,t){for(let n=this.length,o=this.children.length-1;;o--){let i=this.children[o],s=n-i.breakAfter-i.length;if(e>s||e==s&&i.type!=Se.WidgetBefore&&i.type!=Se.WidgetAfter&&(!o||t==2||this.children[o-1].breakAfter||this.children[o-1].type==Se.WidgetBefore&&t>-2))return i.coordsAt(e-s,t);n=s}}coordsForChar(e){let{i:t,off:n}=this.childPos(e,1),o=this.children[t];if(!(o instanceof Fe))return null;for(;o.children.length;){let{i:l,off:a}=o.childPos(n,1);for(;;l++){if(l==o.children.length)return null;if((o=o.children[l]).length)break}n=a}if(!(o instanceof Ft))return null;let i=Ge(o.text,n);if(i==n)return null;let s=Zr(o.dom,n,i).getClientRects();return!s.length||s[0].top>=s[0].bottom?null:s[0]}measureVisibleLineHeights(e){let t=[],{from:n,to:o}=e,i=this.view.contentDOM.clientWidth,s=i>Math.max(this.view.scrollDOM.clientWidth,this.minWidth)+1,l=-1,a=this.view.textDirection==we.LTR;for(let c=0,u=0;u<this.children.length;u++){let h=this.children[u],f=c+h.length;if(f>o)break;if(c>=n){let d=h.dom.getBoundingClientRect();if(t.push(d.height),s){let p=h.dom.lastChild,m=p?ps(p):[];if(m.length){let g=m[m.length-1],y=a?g.right-d.left:d.right-g.left;y>l&&(l=y,this.minWidth=i,this.minWidthFrom=c,this.minWidthTo=f)}}}c=f+h.breakAfter}return t}textDirectionAt(e){let{i:t}=this.childPos(e,1);return getComputedStyle(this.children[t].dom).direction=="rtl"?we.RTL:we.LTR}measureTextSize(){for(let i of this.children)if(i instanceof Fe){let s=i.measureTextSize();if(s)return s}let e=document.createElement("div"),t,n,o;return e.className="cm-line",e.style.width="99999px",e.style.position="absolute",e.textContent="abc def ghi jkl mno pqr stu",this.view.observer.ignore(()=>{this.dom.appendChild(e);let i=ps(e.firstChild)[0];t=e.getBoundingClientRect().height,n=i?i.width/27:7,o=i?i.height:t,e.remove()}),{lineHeight:t,charWidth:n,textHeight:o}}childCursor(e=this.length){let t=this.children.length;return t&&(e-=this.children[--t].length),new xa(this.children,e,t)}computeBlockGapDeco(){let e=[],t=this.view.viewState;for(let n=0,o=0;;o++){let i=o==t.viewports.length?null:t.viewports[o],s=i?i.from-1:this.length;if(s>n){let l=t.lineBlockAt(s).bottom-t.lineBlockAt(n).top;e.push(Pe.replace({widget:new Ta(l),block:!0,inclusive:!0,isBlockGap:!0}).range(n,s))}if(!i)break;n=i.to+1}return Pe.set(e)}updateDeco(){let e=this.view.state.facet(ms).map((t,n)=>(this.dynamicDecorationMap[n]=typeof t=="function")?t(this.view):t);for(let t=e.length;t<e.length+3;t++)this.dynamicDecorationMap[t]=!1;return this.decorations=[...e,this.computeBlockGapDeco(),this.view.viewState.lineGapDeco]}scrollIntoView(e){let{range:t}=e,n=this.coordsAt(t.head,t.empty?t.assoc:t.head>t.anchor?-1:1),o;if(!n)return;!t.empty&&(o=this.coordsAt(t.anchor,t.anchor>t.head?-1:1))&&(n={left:Math.min(n.left,o.left),top:Math.min(n.top,o.top),right:Math.max(n.right,o.right),bottom:Math.max(n.bottom,o.bottom)});let i=gb(this.view),s={left:n.left-i.left,top:n.top-i.top,right:n.right+i.right,bottom:n.bottom+i.bottom};mk(this.view.scrollDOM,s,t.head<t.anchor?-1:1,e.x,e.y,e.xMargin,e.yMargin,this.view.textDirection==we.LTR)}};function Lk(r){return r.node.nodeType==1&&r.node.firstChild&&(r.offset==0||r.node.childNodes[r.offset-1].contentEditable=="false")&&(r.offset==r.node.childNodes.length||r.node.childNodes[r.offset].contentEditable=="false")}var Ta=class extends Vn{constructor(e){super(),this.height=e}toDOM(){let e=document.createElement("div");return this.updateDOM(e),e}eq(e){return e.height==this.height}updateDOM(e){return e.style.height=this.height+"px",!0}get estimatedHeight(){return this.height}};function vb(r){let e=r.observer.selectionRange,t=e.focusNode&&wb(e.focusNode,e.focusOffset,0);if(!t)return null;let n=re.get(t),o,i;if(n instanceof Ft)o=n.posAtStart,i=o+n.length;else e:for(let s=0,l=t;;){for(let c=l.previousSibling,u;c;c=c.previousSibling){if(u=re.get(c)){o=i=u.posAtEnd+s;break e}let h=new va([],r.state);if(h.readNode(c),h.text.indexOf(Yo)>-1)return null;s+=h.text.length}if(l=l.parentNode,!l)return null;let a=re.get(l);if(a){o=i=a.posAtStart+s;break}}return{from:o,to:i,node:t}}function Ak(r,e){let t=vb(r);if(!t)return null;let{from:n,to:o,node:i}=t,s=e.mapPos(n,-1),l=e.mapPos(o,1),a=i.nodeValue;if(/[\n\r]/.test(a))return null;if(l-s!=a.length){let f=e.mapPos(n,1),d=e.mapPos(o,-1);if(d-f==a.length)s=f,l=d;else if(r.state.doc.sliceString(l-a.length,l)==a)s=l-a.length;else if(r.state.doc.sliceString(s,s+a.length)==a)l=s+a.length;else return null}let{main:c}=r.state.selection;if(r.state.doc.sliceString(s,l)!=a||s>c.head||l<c.head)return null;let u=[],h=new ht(n,o,s,l);for(let f=i.parentNode;;f=f.parentNode){let d=re.get(f);if(d instanceof nn)u.push({node:f,deco:d.mark});else{if(d instanceof Fe||f.nodeName=="DIV"&&f.parentNode==r.contentDOM)return{range:h,text:i,marks:u,line:f};if(f!=r.contentDOM)u.push({node:f,deco:new eo({inclusive:!0,attributes:Sk(f),tagName:f.tagName.toLowerCase()})});else return null}}}function wb(r,e,t){if(t<=0)for(let n=r,o=e;;){if(n.nodeType==3)return n;if(n.nodeType==1&&o>0)n=n.childNodes[o-1],o=cr(n);else break}if(t>=0)for(let n=r,o=e;;){if(n.nodeType==3)return n;if(n.nodeType==1&&o<n.childNodes.length&&t>=0)n=n.childNodes[o],o=0;else break}return null}function Ok(r,e){return r.nodeType!=1?0:(e&&r.childNodes[e-1].contentEditable=="false"?1:0)|(e<r.childNodes.length&&r.childNodes[e].contentEditable=="false"?2:0)}var Ah=class{constructor(){this.changes=[]}compareRange(e,t){Ih(e,t,this.changes)}comparePoint(e,t){Ih(e,t,this.changes)}};function Nk(r,e,t){let n=new Ah;return se.compare(r,e,t,n),n.changes}function Vk(r,e){for(let t=r;t&&t!=e;t=t.assignedSlot||t.parentNode)if(t.nodeType==1&&t.contentEditable=="false")return!0;return!1}function Fk(r,e,t=1){let n=r.charCategorizer(e),o=r.doc.lineAt(e),i=e-o.from;if(o.length==0)return I.cursor(e);i==0?t=1:i==o.length&&(t=-1);let s=i,l=i;t<0?s=Ge(o.text,i,!1):l=Ge(o.text,i);let a=n(o.text.slice(s,l));for(;s>0;){let c=Ge(o.text,s,!1);if(n(o.text.slice(c,s))!=a)break;s=c}for(;l<o.length;){let c=Ge(o.text,l);if(n(o.text.slice(l,c))!=a)break;l=c}return I.range(s+o.from,l+o.from)}function Bk(r,e){return e.left>r?e.left-r:Math.max(0,r-e.right)}function Hk(r,e){return e.top>r?e.top-r:Math.max(0,r-e.bottom)}function bh(r,e){return r.top<e.bottom-1&&r.bottom>e.top+1}function ky(r,e){return e<r.top?{top:e,left:r.left,right:r.right,bottom:r.bottom}:r}function My(r,e){return e>r.bottom?{top:r.top,left:r.left,right:r.right,bottom:e}:r}function Oh(r,e,t){let n,o,i,s,l=!1,a,c,u,h;for(let p=r.firstChild;p;p=p.nextSibling){let m=ps(p);for(let g=0;g<m.length;g++){let y=m[g];o&&bh(o,y)&&(y=ky(My(y,o.bottom),o.top));let v=Bk(e,y),w=Hk(t,y);if(v==0&&w==0)return p.nodeType==3?Ey(p,e,t):Oh(p,e,t);if(!n||s>w||s==w&&i>v){n=p,o=y,i=v,s=w;let x=w?t<y.top?-1:1:v?e<y.left?-1:1:0;l=!x||(x>0?g<m.length-1:g>0)}v==0?t>y.bottom&&(!u||u.bottom<y.bottom)?(a=p,u=y):t<y.top&&(!h||h.top>y.top)&&(c=p,h=y):u&&bh(u,y)?u=My(u,y.bottom):h&&bh(h,y)&&(h=ky(h,y.top))}}if(u&&u.bottom>=t?(n=a,o=u):h&&h.top<=t&&(n=c,o=h),!n)return{node:r,offset:0};let f=Math.max(o.left,Math.min(o.right,e));if(n.nodeType==3)return Ey(n,f,t);if(l&&n.contentEditable!="false")return Oh(n,f,t);let d=Array.prototype.indexOf.call(r.childNodes,n)+(e>=(o.left+o.right)/2?1:0);return{node:r,offset:d}}function Ey(r,e,t){let n=r.nodeValue.length,o=-1,i=1e9,s=0;for(let l=0;l<n;l++){let a=Zr(r,l,l+1).getClientRects();for(let c=0;c<a.length;c++){let u=a[c];if(u.top==u.bottom)continue;s||(s=e-u.left);let h=(u.top>t?u.top-t:t-u.bottom)-1;if(u.left-1<=e&&u.right+1>=e&&h<i){let f=e>=(u.left+u.right)/2,d=f;if((_.chrome||_.gecko)&&Zr(r,l).getBoundingClientRect().left==u.right&&(d=!f),h<=0)return{node:r,offset:l+(d?1:0)};o=l+(d?1:0),i=h}}}return{node:r,offset:o>-1?o:s>0?r.nodeValue.length:0}}function Sb(r,e,t,n=-1){var o,i;let s=r.contentDOM.getBoundingClientRect(),l=s.top+r.viewState.paddingTop,a,{docHeight:c}=r.viewState,{x:u,y:h}=e,f=h-l;if(f<0)return 0;if(f>c)return r.state.doc.length;for(let x=r.viewState.heightOracle.textHeight/2,S=!1;a=r.elementAtHeight(f),a.type!=Se.Text;)for(;f=n>0?a.bottom+x:a.top-x,!(f>=0&&f<=c);){if(S)return t?null:0;S=!0,n=-n}h=l+f;let d=a.from;if(d<r.viewport.from)return r.viewport.from==0?0:t?null:Ry(r,s,a,u,h);if(d>r.viewport.to)return r.viewport.to==r.state.doc.length?r.state.doc.length:t?null:Ry(r,s,a,u,h);let p=r.dom.ownerDocument,m=r.root.elementFromPoint?r.root:p,g=m.elementFromPoint(u,h);g&&!r.contentDOM.contains(g)&&(g=null),g||(u=Math.max(s.left+1,Math.min(s.right-1,u)),g=m.elementFromPoint(u,h),g&&!r.contentDOM.contains(g)&&(g=null));let y,v=-1;if(g&&((o=r.docView.nearest(g))===null||o===void 0?void 0:o.isEditable)!=!1){if(p.caretPositionFromPoint){let x=p.caretPositionFromPoint(u,h);x&&({offsetNode:y,offset:v}=x)}else if(p.caretRangeFromPoint){let x=p.caretRangeFromPoint(u,h);x&&({startContainer:y,startOffset:v}=x,(!r.contentDOM.contains(y)||_.safari&&_k(y,v,u)||_.chrome&&zk(y,v,u))&&(y=void 0))}}if(!y||!r.docView.dom.contains(y)){let x=Fe.find(r.docView,d);if(!x)return f>a.top+a.height/2?a.to:a.from;({node:y,offset:v}=Oh(x.dom,u,h))}let w=r.docView.nearest(y);if(!w)return null;if(w.isWidget&&((i=w.dom)===null||i===void 0?void 0:i.nodeType)==1){let x=w.dom.getBoundingClientRect();return e.y<x.top||e.y<=x.bottom&&e.x<=(x.left+x.right)/2?w.posAtStart:w.posAtEnd}else return w.localPosFromDOM(y,v)+w.posAtStart}function Ry(r,e,t,n,o){let i=Math.round((n-e.left)*r.defaultCharacterWidth);if(r.lineWrapping&&t.height>r.defaultLineHeight*1.5){let l=r.viewState.heightOracle.textHeight,a=Math.floor((o-t.top-(r.defaultLineHeight-l)*.5)/l);i+=a*r.viewState.heightOracle.lineLength}let s=r.state.sliceDoc(t.from,t.to);return t.from+hy(s,i,r.state.tabSize)}function _k(r,e,t){let n;if(r.nodeType!=3||e!=(n=r.nodeValue.length))return!1;for(let o=r.nextSibling;o;o=o.nextSibling)if(o.nodeType!=1||o.nodeName!="BR")return!1;return Zr(r,n-1,n).getBoundingClientRect().left>t}function zk(r,e,t){if(e!=0)return!1;for(let o=r;;){let i=o.parentNode;if(!i||i.nodeType!=1||i.firstChild!=o)return!1;if(i.classList.contains("cm-line"))break;o=i}let n=r.nodeType==1?r.getBoundingClientRect():Zr(r,0,Math.max(r.nodeValue.length,1)).getBoundingClientRect();return t-n.left>5}function Nh(r,e){let t=r.lineBlockAt(e);if(Array.isArray(t.type)){for(let n of t.type)if(n.to>e||n.to==e&&(n.to==t.to||n.type==Se.Text))return n}return t}function Wk(r,e,t,n){let o=Nh(r,e.head),i=!n||o.type!=Se.Text||!(r.lineWrapping||o.widgetLineBreaks)?null:r.coordsAtPos(e.assoc<0&&e.head>o.from?e.head-1:e.head);if(i){let s=r.dom.getBoundingClientRect(),l=r.textDirectionAt(o.from),a=r.posAtCoords({x:t==(l==we.LTR)?s.right-1:s.left+1,y:(i.top+i.bottom)/2});if(a!=null)return I.cursor(a,t?-1:1)}return I.cursor(t?o.to:o.from,t?-1:1)}function Iy(r,e,t,n){let o=r.state.doc.lineAt(e.head),i=r.bidiSpans(o),s=r.textDirectionAt(o.from);for(let l=e,a=null;;){let c=Dk(o,i,s,l,t),u=xb;if(!c){if(o.number==(t?r.state.doc.lines:1))return l;u=`
|
|
24
|
-
`,o=r.state.doc.line(o.number+(t?1:-1)),i=r.bidiSpans(o),c=I.cursor(t?o.from:o.to)}if(a){if(!a(u))return l}else{if(!n)return c;a=n(u)}l=c}}function $k(r,e,t){let n=r.state.charCategorizer(e),o=n(t);return i=>{let s=n(i);return o==rt.Space&&(o=s),o==s}}function Uk(r,e,t,n){let o=e.head,i=t?1:-1;if(o==(t?r.state.doc.length:0))return I.cursor(o,e.assoc);let s=e.goalColumn,l,a=r.contentDOM.getBoundingClientRect(),c=r.coordsAtPos(o),u=r.documentTop;if(c)s==null&&(s=c.left-a.left),l=i<0?c.top:c.bottom;else{let d=r.viewState.lineBlockAt(o);s==null&&(s=Math.min(a.right-a.left,r.defaultCharacterWidth*(o-d.from))),l=(i<0?d.top:d.bottom)+u}let h=a.left+s,f=n!=null?n:r.viewState.heightOracle.textHeight>>1;for(let d=0;;d+=10){let p=l+(f+d)*i,m=Sb(r,{x:h,y:p},!1,i);if(p<a.top||p>a.bottom||(i<0?m<o:m>o))return I.cursor(m,e.assoc,void 0,s)}}function fa(r,e,t){for(;;){let n=0;for(let o of r)o.between(e-1,e+1,(i,s,l)=>{if(e>i&&e<s){let a=n||t||(e-i<s-e?-1:1);e=a<0?i:s,n=a}});if(!n)return e}}function xh(r,e,t){let n=fa(r.state.facet(lf).map(o=>o(r)),t.from,e.head>t.from?-1:1);return n==t.from?t:I.cursor(n,n<t.from?1:-1)}var Vh=class{constructor(e){this.lastKeyCode=0,this.lastKeyTime=0,this.lastTouchTime=0,this.lastFocusTime=0,this.lastScrollTop=0,this.lastScrollLeft=0,this.chromeScrollHack=-1,this.pendingIOSKey=void 0,this.lastSelectionOrigin=null,this.lastSelectionTime=0,this.lastEscPress=0,this.lastContextMenu=0,this.scrollHandlers=[],this.registeredEvents=[],this.customHandlers=[],this.composing=-1,this.compositionFirstChange=null,this.compositionEndedAt=0,this.compositionPendingKey=!1,this.compositionPendingChange=!1,this.mouseSelection=null;let t=(n,o)=>{this.ignoreDuringComposition(o)||o.type=="keydown"&&this.keydown(e,o)||(this.mustFlushObserver(o)&&e.observer.forceFlush(),this.runCustomHandlers(o.type,e,o)?o.preventDefault():n(e,o))};for(let n in ke){let o=ke[n];e.contentDOM.addEventListener(n,i=>{Py(e,i)&&t(o,i)},Bh[n]),this.registeredEvents.push(n)}e.scrollDOM.addEventListener("mousedown",n=>{if(n.target==e.scrollDOM&&n.clientY>e.contentDOM.getBoundingClientRect().bottom&&(t(ke.mousedown,n),!n.defaultPrevented&&n.button==2)){let o=e.contentDOM.style.minHeight;e.contentDOM.style.minHeight="100%",setTimeout(()=>e.contentDOM.style.minHeight=o,200)}}),e.scrollDOM.addEventListener("drop",n=>{n.target==e.scrollDOM&&n.clientY>e.contentDOM.getBoundingClientRect().bottom&&t(ke.drop,n)}),_.chrome&&_.chrome_version==102&&e.scrollDOM.addEventListener("wheel",()=>{this.chromeScrollHack<0?e.contentDOM.style.pointerEvents="none":window.clearTimeout(this.chromeScrollHack),this.chromeScrollHack=setTimeout(()=>{this.chromeScrollHack=-1,e.contentDOM.style.pointerEvents=""},100)},{passive:!0}),this.notifiedFocused=e.hasFocus,_.safari&&e.contentDOM.addEventListener("input",()=>null)}setSelectionOrigin(e){this.lastSelectionOrigin=e,this.lastSelectionTime=Date.now()}ensureHandlers(e,t){var n;let o;this.customHandlers=[];for(let i of t)if(o=(n=i.update(e).spec)===null||n===void 0?void 0:n.domEventHandlers){this.customHandlers.push({plugin:i.value,handlers:o});for(let s in o)this.registeredEvents.indexOf(s)<0&&s!="scroll"&&(this.registeredEvents.push(s),e.contentDOM.addEventListener(s,l=>{Py(e,l)&&this.runCustomHandlers(s,e,l)&&l.preventDefault()}))}}runCustomHandlers(e,t,n){for(let o of this.customHandlers){let i=o.handlers[e];if(i)try{if(i.call(o.plugin,n,t)||n.defaultPrevented)return!0}catch(s){gn(t.state,s)}}return!1}runScrollHandlers(e,t){this.lastScrollTop=e.scrollDOM.scrollTop,this.lastScrollLeft=e.scrollDOM.scrollLeft;for(let n of this.customHandlers){let o=n.handlers.scroll;if(o)try{o.call(n.plugin,t,e)}catch(i){gn(e.state,i)}}}keydown(e,t){if(this.lastKeyCode=t.keyCode,this.lastKeyTime=Date.now(),t.keyCode==9&&Date.now()<this.lastEscPress+2e3)return!0;if(t.keyCode!=27&&Tb.indexOf(t.keyCode)<0&&(e.inputState.lastEscPress=0),_.android&&_.chrome&&!t.synthetic&&(t.keyCode==13||t.keyCode==8))return e.observer.delayAndroidKey(t.key,t.keyCode),!0;let n;return _.ios&&!t.synthetic&&!t.altKey&&!t.metaKey&&((n=Cb.find(o=>o.keyCode==t.keyCode))&&!t.ctrlKey||Gk.indexOf(t.key)>-1&&t.ctrlKey&&!t.shiftKey)?(this.pendingIOSKey=n||t,setTimeout(()=>this.flushIOSKey(e),250),!0):!1}flushIOSKey(e){let t=this.pendingIOSKey;return t?(this.pendingIOSKey=void 0,Zo(e.contentDOM,t.key,t.keyCode)):!1}ignoreDuringComposition(e){return/^key/.test(e.type)?this.composing>0?!0:_.safari&&!_.ios&&this.compositionPendingKey&&Date.now()-this.compositionEndedAt<100?(this.compositionPendingKey=!1,!0):!1:!1}mustFlushObserver(e){return e.type=="keydown"&&e.keyCode!=229}startMouseSelection(e){this.mouseSelection&&this.mouseSelection.destroy(),this.mouseSelection=e}update(e){this.mouseSelection&&this.mouseSelection.update(e),e.transactions.length&&(this.lastKeyCode=this.lastSelectionTime=0)}destroy(){this.mouseSelection&&this.mouseSelection.destroy()}},Cb=[{key:"Backspace",keyCode:8,inputType:"deleteContentBackward"},{key:"Enter",keyCode:13,inputType:"insertParagraph"},{key:"Enter",keyCode:13,inputType:"insertLineBreak"},{key:"Delete",keyCode:46,inputType:"deleteContentForward"}],Gk="dthko",Tb=[16,17,18,20,91,92,224,225],ia=6;function sa(r){return Math.max(0,r)*.7+8}function qk(r,e){return Math.max(Math.abs(r.clientX-e.clientX),Math.abs(r.clientY-e.clientY))}var Fh=class{constructor(e,t,n,o){this.view=e,this.startEvent=t,this.style=n,this.mustSelect=o,this.scrollSpeed={x:0,y:0},this.scrolling=-1,this.lastEvent=t,this.scrollParent=gk(e.contentDOM),this.atoms=e.state.facet(lf).map(s=>s(e));let i=e.contentDOM.ownerDocument;i.addEventListener("mousemove",this.move=this.move.bind(this)),i.addEventListener("mouseup",this.up=this.up.bind(this)),this.extend=t.shiftKey,this.multiple=e.state.facet(ee.allowMultipleSelections)&&Kk(e,t),this.dragging=Jk(e,t)&&Rb(t)==1?null:!1}start(e){this.dragging===!1&&(e.preventDefault(),this.select(e))}move(e){var t;if(e.buttons==0)return this.destroy();if(this.dragging||this.dragging==null&&qk(this.startEvent,e)<10)return;this.select(this.lastEvent=e);let n=0,o=0,i=((t=this.scrollParent)===null||t===void 0?void 0:t.getBoundingClientRect())||{left:0,top:0,right:this.view.win.innerWidth,bottom:this.view.win.innerHeight},s=gb(this.view);e.clientX-s.left<=i.left+ia?n=-sa(i.left-e.clientX):e.clientX+s.right>=i.right-ia&&(n=sa(e.clientX-i.right)),e.clientY-s.top<=i.top+ia?o=-sa(i.top-e.clientY):e.clientY+s.bottom>=i.bottom-ia&&(o=sa(e.clientY-i.bottom)),this.setScrollSpeed(n,o)}up(e){this.dragging==null&&this.select(this.lastEvent),this.dragging||e.preventDefault(),this.destroy()}destroy(){this.setScrollSpeed(0,0);let e=this.view.contentDOM.ownerDocument;e.removeEventListener("mousemove",this.move),e.removeEventListener("mouseup",this.up),this.view.inputState.mouseSelection=null}setScrollSpeed(e,t){this.scrollSpeed={x:e,y:t},e||t?this.scrolling<0&&(this.scrolling=setInterval(()=>this.scroll(),50)):this.scrolling>-1&&(clearInterval(this.scrolling),this.scrolling=-1)}scroll(){this.scrollParent?(this.scrollParent.scrollLeft+=this.scrollSpeed.x,this.scrollParent.scrollTop+=this.scrollSpeed.y):this.view.win.scrollBy(this.scrollSpeed.x,this.scrollSpeed.y),this.dragging===!1&&this.select(this.lastEvent)}skipAtoms(e){let t=null;for(let n=0;n<e.ranges.length;n++){let o=e.ranges[n],i=null;if(o.empty){let s=fa(this.atoms,o.from,0);s!=o.from&&(i=I.cursor(s,-1))}else{let s=fa(this.atoms,o.from,-1),l=fa(this.atoms,o.to,1);(s!=o.from||l!=o.to)&&(i=I.range(o.from==o.anchor?s:l,o.from==o.head?s:l))}i&&(t||(t=e.ranges.slice()),t[n]=i)}return t?I.create(t,e.mainIndex):e}select(e){let{view:t}=this,n=this.skipAtoms(this.style.get(e,this.extend,this.multiple));(this.mustSelect||!n.eq(t.state.selection)||n.main.assoc!=t.state.selection.main.assoc&&this.dragging===!1)&&this.view.dispatch({selection:n,userEvent:"select.pointer"}),this.mustSelect=!1}update(e){e.docChanged&&this.dragging&&(this.dragging=this.dragging.map(e.changes)),this.style.update(e)&&setTimeout(()=>this.select(this.lastEvent),20)}};function Kk(r,e){let t=r.state.facet(sb);return t.length?t[0](e):_.mac?e.metaKey:e.ctrlKey}function jk(r,e){let t=r.state.facet(lb);return t.length?t[0](e):_.mac?!e.altKey:!e.ctrlKey}function Jk(r,e){let{main:t}=r.state.selection;if(t.empty)return!1;let n=ga(r.root);if(!n||n.rangeCount==0)return!0;let o=n.getRangeAt(0).getClientRects();for(let i=0;i<o.length;i++){let s=o[i];if(s.left<=e.clientX&&s.right>=e.clientX&&s.top<=e.clientY&&s.bottom>=e.clientY)return!0}return!1}function Py(r,e){if(!e.bubbles)return!0;if(e.defaultPrevented)return!1;for(let t=e.target,n;t!=r.contentDOM;t=t.parentNode)if(!t||t.nodeType==11||(n=re.get(t))&&n.ignoreEvent(e))return!1;return!0}var ke=Object.create(null),Bh=Object.create(null),kb=_.ie&&_.ie_version<15||_.ios&&_.webkit_version<604;function Qk(r){let e=r.dom.parentNode;if(!e)return;let t=e.appendChild(document.createElement("textarea"));t.style.cssText="position: fixed; left: -10000px; top: 10px",t.focus(),setTimeout(()=>{r.focus(),t.remove(),Mb(r,t.value)},50)}function Mb(r,e){let{state:t}=r,n,o=1,i=t.toText(e),s=i.lines==t.selection.ranges.length;if(Hh!=null&&t.selection.ranges.every(a=>a.empty)&&Hh==i.toString()){let a=-1;n=t.changeByRange(c=>{let u=t.doc.lineAt(c.from);if(u.from==a)return{range:c};a=u.from;let h=t.toText((s?i.line(o++).text:e)+t.lineBreak);return{changes:{from:u.from,insert:h},range:I.cursor(c.from+h.length)}})}else s?n=t.changeByRange(a=>{let c=i.line(o++);return{changes:{from:a.from,to:a.to,insert:c.text},range:I.cursor(a.from+c.length)}}):n=t.replaceSelection(i);r.dispatch(n,{userEvent:"input.paste",scrollIntoView:!0})}ke.keydown=(r,e)=>{r.inputState.setSelectionOrigin("select"),e.keyCode==27&&(r.inputState.lastEscPress=Date.now())};ke.touchstart=(r,e)=>{r.inputState.lastTouchTime=Date.now(),r.inputState.setSelectionOrigin("select.pointer")};ke.touchmove=r=>{r.inputState.setSelectionOrigin("select.pointer")};Bh.touchstart=Bh.touchmove={passive:!0};ke.mousedown=(r,e)=>{if(r.observer.flush(),r.inputState.lastTouchTime>Date.now()-2e3)return;let t=null;for(let n of r.state.facet(ab))if(t=n(r,e),t)break;if(!t&&e.button==0&&(t=Zk(r,e)),t){let n=!r.hasFocus;r.inputState.startMouseSelection(new Fh(r,e,t,n)),n&&r.observer.ignore(()=>Jy(r.contentDOM)),r.inputState.mouseSelection&&r.inputState.mouseSelection.start(e)}};function Dy(r,e,t,n){if(n==1)return I.cursor(e,t);if(n==2)return Fk(r.state,e,t);{let o=Fe.find(r.docView,e),i=r.state.doc.lineAt(o?o.posAtEnd:e),s=o?o.posAtStart:i.from,l=o?o.posAtEnd:i.to;return l<r.state.doc.length&&l==i.to&&l++,I.range(s,l)}}var Eb=(r,e)=>r>=e.top&&r<=e.bottom,Ly=(r,e,t)=>Eb(e,t)&&r>=t.left&&r<=t.right;function Yk(r,e,t,n){let o=Fe.find(r.docView,e);if(!o)return 1;let i=e-o.posAtStart;if(i==0)return 1;if(i==o.length)return-1;let s=o.coordsAt(i,-1);if(s&&Ly(t,n,s))return-1;let l=o.coordsAt(i,1);return l&&Ly(t,n,l)?1:s&&Eb(n,s)?-1:1}function Ay(r,e){let t=r.posAtCoords({x:e.clientX,y:e.clientY},!1);return{pos:t,bias:Yk(r,t,e.clientX,e.clientY)}}var Xk=_.ie&&_.ie_version<=11,Oy=null,Ny=0,Vy=0;function Rb(r){if(!Xk)return r.detail;let e=Oy,t=Vy;return Oy=r,Vy=Date.now(),Ny=!e||t>Date.now()-400&&Math.abs(e.clientX-r.clientX)<2&&Math.abs(e.clientY-r.clientY)<2?(Ny+1)%3:1}function Zk(r,e){let t=Ay(r,e),n=Rb(e),o=r.state.selection;return{update(i){i.docChanged&&(t.pos=i.changes.mapPos(t.pos),o=o.map(i.changes))},get(i,s,l){let a=Ay(r,i),c,u=Dy(r,a.pos,a.bias,n);if(t.pos!=a.pos&&!s){let h=Dy(r,t.pos,t.bias,n),f=Math.min(h.from,u.from),d=Math.max(h.to,u.to);u=f<u.from?I.range(f,d):I.range(d,f)}return s?o.replaceRange(o.main.extend(u.from,u.to)):l&&n==1&&o.ranges.length>1&&(c=e1(o,a.pos))?c:l?o.addRange(u):I.create([u])}}}function e1(r,e){for(let t=0;t<r.ranges.length;t++){let{from:n,to:o}=r.ranges[t];if(n<=e&&o>=e)return I.create(r.ranges.slice(0,t).concat(r.ranges.slice(t+1)),r.mainIndex==t?0:r.mainIndex-(r.mainIndex>t?1:0))}return null}ke.dragstart=(r,e)=>{let{selection:{main:t}}=r.state,{mouseSelection:n}=r.inputState;n&&(n.dragging=t),e.dataTransfer&&(e.dataTransfer.setData("Text",r.state.sliceDoc(t.from,t.to)),e.dataTransfer.effectAllowed="copyMove")};function Fy(r,e,t,n){if(!t)return;let o=r.posAtCoords({x:e.clientX,y:e.clientY},!1);e.preventDefault();let{mouseSelection:i}=r.inputState,s=n&&i&&i.dragging&&jk(r,e)?{from:i.dragging.from,to:i.dragging.to}:null,l={from:o,insert:t},a=r.state.changes(s?[s,l]:l);r.focus(),r.dispatch({changes:a,selection:{anchor:a.mapPos(o,-1),head:a.mapPos(o,1)},userEvent:s?"move.drop":"input.drop"})}ke.drop=(r,e)=>{if(!e.dataTransfer)return;if(r.state.readOnly)return e.preventDefault();let t=e.dataTransfer.files;if(t&&t.length){e.preventDefault();let n=Array(t.length),o=0,i=()=>{++o==t.length&&Fy(r,e,n.filter(s=>s!=null).join(r.state.lineBreak),!1)};for(let s=0;s<t.length;s++){let l=new FileReader;l.onerror=i,l.onload=()=>{/[\x00-\x08\x0e-\x1f]{2}/.test(l.result)||(n[s]=l.result),i()},l.readAsText(t[s])}}else Fy(r,e,e.dataTransfer.getData("Text"),!0)};ke.paste=(r,e)=>{if(r.state.readOnly)return e.preventDefault();r.observer.flush();let t=kb?null:e.clipboardData;t?(Mb(r,t.getData("text/plain")||t.getData("text/uri-text")),e.preventDefault()):Qk(r)};function t1(r,e){let t=r.dom.parentNode;if(!t)return;let n=t.appendChild(document.createElement("textarea"));n.style.cssText="position: fixed; left: -10000px; top: 10px",n.value=e,n.focus(),n.selectionEnd=e.length,n.selectionStart=0,setTimeout(()=>{n.remove(),r.focus()},50)}function n1(r){let e=[],t=[],n=!1;for(let o of r.selection.ranges)o.empty||(e.push(r.sliceDoc(o.from,o.to)),t.push(o));if(!e.length){let o=-1;for(let{from:i}of r.selection.ranges){let s=r.doc.lineAt(i);s.number>o&&(e.push(s.text),t.push({from:s.from,to:Math.min(r.doc.length,s.to+1)})),o=s.number}n=!0}return{text:e.join(r.lineBreak),ranges:t,linewise:n}}var Hh=null;ke.copy=ke.cut=(r,e)=>{let{text:t,ranges:n,linewise:o}=n1(r.state);if(!t&&!o)return;Hh=o?t:null;let i=kb?null:e.clipboardData;i?(e.preventDefault(),i.clearData(),i.setData("text/plain",t)):t1(r,t),e.type=="cut"&&!r.state.readOnly&&r.dispatch({changes:n,scrollIntoView:!0,userEvent:"delete.cut"})};var Ib=St.define();function Pb(r,e){let t=[];for(let n of r.facet(hb)){let o=n(r,e);o&&t.push(o)}return t?r.update({effects:t,annotations:Ib.of(!0)}):null}function Db(r){setTimeout(()=>{let e=r.hasFocus;if(e!=r.inputState.notifiedFocused){let t=Pb(r.state,e);t?r.dispatch(t):r.update([])}},10)}ke.focus=r=>{r.inputState.lastFocusTime=Date.now(),!r.scrollDOM.scrollTop&&(r.inputState.lastScrollTop||r.inputState.lastScrollLeft)&&(r.scrollDOM.scrollTop=r.inputState.lastScrollTop,r.scrollDOM.scrollLeft=r.inputState.lastScrollLeft),Db(r)};ke.blur=r=>{r.observer.clearSelectionRange(),Db(r)};ke.compositionstart=ke.compositionupdate=r=>{r.inputState.compositionFirstChange==null&&(r.inputState.compositionFirstChange=!0),r.inputState.composing<0&&(r.inputState.composing=0)};ke.compositionend=r=>{r.inputState.composing=-1,r.inputState.compositionEndedAt=Date.now(),r.inputState.compositionPendingKey=!0,r.inputState.compositionPendingChange=r.observer.pendingRecords().length>0,r.inputState.compositionFirstChange=null,_.chrome&&_.android?r.observer.flushSoon():r.inputState.compositionPendingChange?Promise.resolve().then(()=>r.observer.flush()):setTimeout(()=>{r.inputState.composing<0&&r.docView.hasComposition&&r.update([])},50)};ke.contextmenu=r=>{r.inputState.lastContextMenu=Date.now()};ke.beforeinput=(r,e)=>{var t;let n;if(_.chrome&&_.android&&(n=Cb.find(o=>o.inputType==e.inputType))&&(r.observer.delayAndroidKey(n.key,n.keyCode),n.key=="Backspace"||n.key=="Delete")){let o=((t=window.visualViewport)===null||t===void 0?void 0:t.height)||0;setTimeout(()=>{var i;(((i=window.visualViewport)===null||i===void 0?void 0:i.height)||0)>o+10&&r.hasFocus&&(r.contentDOM.blur(),r.focus())},100)}};var By=["pre-wrap","normal","pre-line","break-spaces"],_h=class{constructor(e){this.lineWrapping=e,this.doc=X.empty,this.heightSamples={},this.lineHeight=14,this.charWidth=7,this.textHeight=14,this.lineLength=30,this.heightChanged=!1}heightForGap(e,t){let n=this.doc.lineAt(t).number-this.doc.lineAt(e).number+1;return this.lineWrapping&&(n+=Math.max(0,Math.ceil((t-e-n*this.lineLength*.5)/this.lineLength))),this.lineHeight*n}heightForLine(e){return this.lineWrapping?(1+Math.max(0,Math.ceil((e-this.lineLength)/(this.lineLength-5))))*this.lineHeight:this.lineHeight}setDoc(e){return this.doc=e,this}mustRefreshForWrapping(e){return By.indexOf(e)>-1!=this.lineWrapping}mustRefreshForHeights(e){let t=!1;for(let n=0;n<e.length;n++){let o=e[n];o<0?n++:this.heightSamples[Math.floor(o*10)]||(t=!0,this.heightSamples[Math.floor(o*10)]=!0)}return t}refresh(e,t,n,o,i,s){let l=By.indexOf(e)>-1,a=Math.round(t)!=Math.round(this.lineHeight)||this.lineWrapping!=l;if(this.lineWrapping=l,this.lineHeight=t,this.charWidth=n,this.textHeight=o,this.lineLength=i,a){this.heightSamples={};for(let c=0;c<s.length;c++){let u=s[c];u<0?c++:this.heightSamples[Math.floor(u*10)]=!0}}return a}},zh=class{constructor(e,t){this.from=e,this.heights=t,this.index=0}get more(){return this.index<this.heights.length}},Vt=class{constructor(e,t,n,o,i){this.from=e,this.length=t,this.top=n,this.height=o,this._content=i}get type(){return typeof this._content=="number"?Se.Text:Array.isArray(this._content)?this._content:this._content.type}get to(){return this.from+this.length}get bottom(){return this.top+this.height}get widget(){return this._content instanceof yn?this._content.widget:null}get widgetLineBreaks(){return typeof this._content=="number"?this._content:0}join(e){let t=(Array.isArray(this._content)?this._content:[this]).concat(Array.isArray(e._content)?e._content:[e]);return new Vt(this.from,this.length+e.length,this.top,this.height+e.height,t)}},he=function(r){return r[r.ByPos=0]="ByPos",r[r.ByHeight=1]="ByHeight",r[r.ByPosNoHeight=2]="ByPosNoHeight",r}(he||(he={})),da=.001,He=class{constructor(e,t,n=2){this.length=e,this.height=t,this.flags=n}get outdated(){return(this.flags&2)>0}set outdated(e){this.flags=(e?2:0)|this.flags&-3}setHeight(e,t){this.height!=t&&(Math.abs(this.height-t)>da&&(e.heightChanged=!0),this.height=t)}replace(e,t,n){return He.of(n)}decomposeLeft(e,t){t.push(this)}decomposeRight(e,t){t.push(this)}applyChanges(e,t,n,o){let i=this,s=n.doc;for(let l=o.length-1;l>=0;l--){let{fromA:a,toA:c,fromB:u,toB:h}=o[l],f=i.lineAt(a,he.ByPosNoHeight,n.setDoc(t),0,0),d=f.to>=c?f:i.lineAt(c,he.ByPosNoHeight,n,0,0);for(h+=d.to-c,c=d.to;l>0&&f.from<=o[l-1].toA;)a=o[l-1].fromA,u=o[l-1].fromB,l--,a<f.from&&(f=i.lineAt(a,he.ByPosNoHeight,n,0,0));u+=f.from-a,a=f.from;let p=gs.build(n.setDoc(s),e,u,h);i=i.replace(a,c,p)}return i.updateHeight(n,0)}static empty(){return new it(0,0)}static of(e){if(e.length==1)return e[0];let t=0,n=e.length,o=0,i=0;for(;;)if(t==n)if(o>i*2){let l=e[t-1];l.break?e.splice(--t,1,l.left,null,l.right):e.splice(--t,1,l.left,l.right),n+=1+l.break,o-=l.size}else if(i>o*2){let l=e[n];l.break?e.splice(n,1,l.left,null,l.right):e.splice(n,1,l.left,l.right),n+=2+l.break,i-=l.size}else break;else if(o<i){let l=e[t++];l&&(o+=l.size)}else{let l=e[--n];l&&(i+=l.size)}let s=0;return e[t-1]==null?(s=1,t--):e[t]==null&&(s=1,n++),new Wh(He.of(e.slice(0,t)),s,He.of(e.slice(n)))}};He.prototype.size=1;var ka=class extends He{constructor(e,t,n){super(e,t),this.deco=n}blockAt(e,t,n,o){return new Vt(o,this.length,n,this.height,this.deco||0)}lineAt(e,t,n,o,i){return this.blockAt(0,n,o,i)}forEachLine(e,t,n,o,i,s){e<=i+this.length&&t>=i&&s(this.blockAt(0,n,o,i))}updateHeight(e,t=0,n=!1,o){return o&&o.from<=t&&o.more&&this.setHeight(e,o.heights[o.index++]),this.outdated=!1,this}toString(){return`block(${this.length})`}},it=class extends ka{constructor(e,t){super(e,t,null),this.collapsed=0,this.widgetHeight=0,this.breaks=0}blockAt(e,t,n,o){return new Vt(o,this.length,n,this.height,this.breaks)}replace(e,t,n){let o=n[0];return n.length==1&&(o instanceof it||o instanceof Ie&&o.flags&4)&&Math.abs(this.length-o.length)<10?(o instanceof Ie?o=new it(o.length,this.height):o.height=this.height,this.outdated||(o.outdated=!1),o):He.of(n)}updateHeight(e,t=0,n=!1,o){return o&&o.from<=t&&o.more?this.setHeight(e,o.heights[o.index++]):(n||this.outdated)&&this.setHeight(e,Math.max(this.widgetHeight,e.heightForLine(this.length-this.collapsed))+this.breaks*e.lineHeight),this.outdated=!1,this}toString(){return`line(${this.length}${this.collapsed?-this.collapsed:""}${this.widgetHeight?":"+this.widgetHeight:""})`}},Ie=class extends He{constructor(e){super(e,0)}heightMetrics(e,t){let n=e.doc.lineAt(t).number,o=e.doc.lineAt(t+this.length).number,i=o-n+1,s,l=0;if(e.lineWrapping){let a=Math.min(this.height,e.lineHeight*i);s=a/i,this.length>i+1&&(l=(this.height-a)/(this.length-i-1))}else s=this.height/i;return{firstLine:n,lastLine:o,perLine:s,perChar:l}}blockAt(e,t,n,o){let{firstLine:i,lastLine:s,perLine:l,perChar:a}=this.heightMetrics(t,o);if(t.lineWrapping){let c=o+Math.round(Math.max(0,Math.min(1,(e-n)/this.height))*this.length),u=t.doc.lineAt(c),h=l+u.length*a,f=Math.max(n,e-h/2);return new Vt(u.from,u.length,f,h,0)}else{let c=Math.max(0,Math.min(s-i,Math.floor((e-n)/l))),{from:u,length:h}=t.doc.line(i+c);return new Vt(u,h,n+l*c,l,0)}}lineAt(e,t,n,o,i){if(t==he.ByHeight)return this.blockAt(e,n,o,i);if(t==he.ByPosNoHeight){let{from:d,to:p}=n.doc.lineAt(e);return new Vt(d,p-d,0,0,0)}let{firstLine:s,perLine:l,perChar:a}=this.heightMetrics(n,i),c=n.doc.lineAt(e),u=l+c.length*a,h=c.number-s,f=o+l*h+a*(c.from-i-h);return new Vt(c.from,c.length,Math.max(o,Math.min(f,o+this.height-u)),u,0)}forEachLine(e,t,n,o,i,s){e=Math.max(e,i),t=Math.min(t,i+this.length);let{firstLine:l,perLine:a,perChar:c}=this.heightMetrics(n,i);for(let u=e,h=o;u<=t;){let f=n.doc.lineAt(u);if(u==e){let p=f.number-l;h+=a*p+c*(e-i-p)}let d=a+c*f.length;s(new Vt(f.from,f.length,h,d,0)),h+=d,u=f.to+1}}replace(e,t,n){let o=this.length-t;if(o>0){let i=n[n.length-1];i instanceof Ie?n[n.length-1]=new Ie(i.length+o):n.push(null,new Ie(o-1))}if(e>0){let i=n[0];i instanceof Ie?n[0]=new Ie(e+i.length):n.unshift(new Ie(e-1),null)}return He.of(n)}decomposeLeft(e,t){t.push(new Ie(e-1),null)}decomposeRight(e,t){t.push(null,new Ie(this.length-e-1))}updateHeight(e,t=0,n=!1,o){let i=t+this.length;if(o&&o.from<=t+this.length&&o.more){let s=[],l=Math.max(t,o.from),a=-1;for(o.from>t&&s.push(new Ie(o.from-t-1).updateHeight(e,t));l<=i&&o.more;){let u=e.doc.lineAt(l).length;s.length&&s.push(null);let h=o.heights[o.index++];a==-1?a=h:Math.abs(h-a)>=da&&(a=-2);let f=new it(u,h);f.outdated=!1,s.push(f),l+=u+1}l<=i&&s.push(null,new Ie(i-l).updateHeight(e,l));let c=He.of(s);return(a<0||Math.abs(c.height-this.height)>=da||Math.abs(a-this.heightMetrics(e,t).perLine)>=da)&&(e.heightChanged=!0),c}else(n||this.outdated)&&(this.setHeight(e,e.heightForGap(t,t+this.length)),this.outdated=!1);return this}toString(){return`gap(${this.length})`}},Wh=class extends He{constructor(e,t,n){super(e.length+t+n.length,e.height+n.height,t|(e.outdated||n.outdated?2:0)),this.left=e,this.right=n,this.size=e.size+n.size}get break(){return this.flags&1}blockAt(e,t,n,o){let i=n+this.left.height;return e<i?this.left.blockAt(e,t,n,o):this.right.blockAt(e,t,i,o+this.left.length+this.break)}lineAt(e,t,n,o,i){let s=o+this.left.height,l=i+this.left.length+this.break,a=t==he.ByHeight?e<s:e<l,c=a?this.left.lineAt(e,t,n,o,i):this.right.lineAt(e,t,n,s,l);if(this.break||(a?c.to<l:c.from>l))return c;let u=t==he.ByPosNoHeight?he.ByPosNoHeight:he.ByPos;return a?c.join(this.right.lineAt(l,u,n,s,l)):this.left.lineAt(l,u,n,o,i).join(c)}forEachLine(e,t,n,o,i,s){let l=o+this.left.height,a=i+this.left.length+this.break;if(this.break)e<a&&this.left.forEachLine(e,t,n,o,i,s),t>=a&&this.right.forEachLine(e,t,n,l,a,s);else{let c=this.lineAt(a,he.ByPos,n,o,i);e<c.from&&this.left.forEachLine(e,c.from-1,n,o,i,s),c.to>=e&&c.from<=t&&s(c),t>c.to&&this.right.forEachLine(c.to+1,t,n,l,a,s)}}replace(e,t,n){let o=this.left.length+this.break;if(t<o)return this.balanced(this.left.replace(e,t,n),this.right);if(e>this.left.length)return this.balanced(this.left,this.right.replace(e-o,t-o,n));let i=[];e>0&&this.decomposeLeft(e,i);let s=i.length;for(let l of n)i.push(l);if(e>0&&Hy(i,s-1),t<this.length){let l=i.length;this.decomposeRight(t,i),Hy(i,l)}return He.of(i)}decomposeLeft(e,t){let n=this.left.length;if(e<=n)return this.left.decomposeLeft(e,t);t.push(this.left),this.break&&(n++,e>=n&&t.push(null)),e>n&&this.right.decomposeLeft(e-n,t)}decomposeRight(e,t){let n=this.left.length,o=n+this.break;if(e>=o)return this.right.decomposeRight(e-o,t);e<n&&this.left.decomposeRight(e,t),this.break&&e<o&&t.push(null),t.push(this.right)}balanced(e,t){return e.size>2*t.size||t.size>2*e.size?He.of(this.break?[e,null,t]:[e,t]):(this.left=e,this.right=t,this.height=e.height+t.height,this.outdated=e.outdated||t.outdated,this.size=e.size+t.size,this.length=e.length+this.break+t.length,this)}updateHeight(e,t=0,n=!1,o){let{left:i,right:s}=this,l=t+i.length+this.break,a=null;return o&&o.from<=t+i.length&&o.more?a=i=i.updateHeight(e,t,n,o):i.updateHeight(e,t,n),o&&o.from<=l+s.length&&o.more?a=s=s.updateHeight(e,l,n,o):s.updateHeight(e,l,n),a?this.balanced(i,s):(this.height=this.left.height+this.right.height,this.outdated=!1,this)}toString(){return this.left+(this.break?" ":"-")+this.right}};function Hy(r,e){let t,n;r[e]==null&&(t=r[e-1])instanceof Ie&&(n=r[e+1])instanceof Ie&&r.splice(e-1,3,new Ie(t.length+1+n.length))}var r1=5,gs=class{constructor(e,t){this.pos=e,this.oracle=t,this.nodes=[],this.lineStart=-1,this.lineEnd=-1,this.covering=null,this.writtenTo=e}get isCovered(){return this.covering&&this.nodes[this.nodes.length-1]==this.covering}span(e,t){if(this.lineStart>-1){let n=Math.min(t,this.lineEnd),o=this.nodes[this.nodes.length-1];o instanceof it?o.length+=n-this.pos:(n>this.pos||!this.isCovered)&&this.nodes.push(new it(n-this.pos,-1)),this.writtenTo=n,t>n&&(this.nodes.push(null),this.writtenTo++,this.lineStart=-1)}this.pos=t}point(e,t,n){if(e<t||n.heightRelevant){let o=n.widget?n.widget.estimatedHeight:0,i=n.widget?n.widget.lineBreaks:0;o<0&&(o=this.oracle.lineHeight);let s=t-e;n.block?this.addBlock(new ka(s,o,n)):(s||i||o>=r1)&&this.addLineDeco(o,i,s)}else t>e&&this.span(e,t);this.lineEnd>-1&&this.lineEnd<this.pos&&(this.lineEnd=this.oracle.doc.lineAt(this.pos).to)}enterLine(){if(this.lineStart>-1)return;let{from:e,to:t}=this.oracle.doc.lineAt(this.pos);this.lineStart=e,this.lineEnd=t,this.writtenTo<e&&((this.writtenTo<e-1||this.nodes[this.nodes.length-1]==null)&&this.nodes.push(this.blankContent(this.writtenTo,e-1)),this.nodes.push(null)),this.pos>e&&this.nodes.push(new it(this.pos-e,-1)),this.writtenTo=this.pos}blankContent(e,t){let n=new Ie(t-e);return this.oracle.doc.lineAt(e).to==t&&(n.flags|=4),n}ensureLine(){this.enterLine();let e=this.nodes.length?this.nodes[this.nodes.length-1]:null;if(e instanceof it)return e;let t=new it(0,-1);return this.nodes.push(t),t}addBlock(e){var t;this.enterLine();let n=(t=e.deco)===null||t===void 0?void 0:t.type;n==Se.WidgetAfter&&!this.isCovered&&this.ensureLine(),this.nodes.push(e),this.writtenTo=this.pos=this.pos+e.length,n!=Se.WidgetBefore&&(this.covering=e)}addLineDeco(e,t,n){let o=this.ensureLine();o.length+=n,o.collapsed+=n,o.widgetHeight=Math.max(o.widgetHeight,e),o.breaks+=t,this.writtenTo=this.pos=this.pos+n}finish(e){let t=this.nodes.length==0?null:this.nodes[this.nodes.length-1];this.lineStart>-1&&!(t instanceof it)&&!this.isCovered?this.nodes.push(new it(0,-1)):(this.writtenTo<this.pos||t==null)&&this.nodes.push(this.blankContent(this.writtenTo,this.pos));let n=e;for(let o of this.nodes)o instanceof it&&o.updateHeight(this.oracle,n),n+=o?o.length:1;return this.nodes}static build(e,t,n,o){let i=new gs(n,e);return se.spans(t,n,o,i,0),i.finish(n)}};function o1(r,e,t){let n=new $h;return se.compare(r,e,t,n,0),n.changes}var $h=class{constructor(){this.changes=[]}compareRange(){}comparePoint(e,t,n,o){(e<t||n&&n.heightRelevant||o&&o.heightRelevant)&&Ih(e,t,this.changes,5)}};function i1(r,e){let t=r.getBoundingClientRect(),n=r.ownerDocument,o=n.defaultView||window,i=Math.max(0,t.left),s=Math.min(o.innerWidth,t.right),l=Math.max(0,t.top),a=Math.min(o.innerHeight,t.bottom);for(let c=r.parentNode;c&&c!=n.body;)if(c.nodeType==1){let u=c,h=window.getComputedStyle(u);if((u.scrollHeight>u.clientHeight||u.scrollWidth>u.clientWidth)&&h.overflow!="visible"){let f=u.getBoundingClientRect();i=Math.max(i,f.left),s=Math.min(s,f.right),l=Math.max(l,f.top),a=c==r.parentNode?f.bottom:Math.min(a,f.bottom)}c=h.position=="absolute"||h.position=="fixed"?u.offsetParent:u.parentNode}else if(c.nodeType==11)c=c.host;else break;return{left:i-t.left,right:Math.max(i,s)-t.left,top:l-(t.top+e),bottom:Math.max(l,a)-(t.top+e)}}function s1(r,e){let t=r.getBoundingClientRect();return{left:0,right:t.right-t.left,top:e,bottom:t.bottom-(t.top+e)}}var ds=class{constructor(e,t,n){this.from=e,this.to=t,this.size=n}static same(e,t){if(e.length!=t.length)return!1;for(let n=0;n<e.length;n++){let o=e[n],i=t[n];if(o.from!=i.from||o.to!=i.to||o.size!=i.size)return!1}return!0}draw(e){return Pe.replace({widget:new Uh(this.size,e)}).range(this.from,this.to)}},Uh=class extends Vn{constructor(e,t){super(),this.size=e,this.vertical=t}eq(e){return e.size==this.size&&e.vertical==this.vertical}toDOM(){let e=document.createElement("div");return this.vertical?e.style.height=this.size+"px":(e.style.width=this.size+"px",e.style.height="2px",e.style.display="inline-block"),e}get estimatedHeight(){return this.vertical?this.size:-1}},Ma=class{constructor(e){this.state=e,this.pixelViewport={left:0,right:window.innerWidth,top:0,bottom:0},this.inView=!0,this.paddingTop=0,this.paddingBottom=0,this.contentDOMWidth=0,this.contentDOMHeight=0,this.editorHeight=0,this.editorWidth=0,this.scrollTop=0,this.scrolledToBottom=!0,this.scrollAnchorPos=0,this.scrollAnchorHeight=-1,this.scaler=_y,this.scrollTarget=null,this.printing=!1,this.mustMeasureContent=!0,this.defaultTextDirection=we.LTR,this.visibleRanges=[],this.mustEnforceCursorAssoc=!1;let t=e.facet(sf).some(n=>typeof n!="function"&&n.class=="cm-lineWrapping");this.heightOracle=new _h(t),this.stateDeco=e.facet(ms).filter(n=>typeof n!="function"),this.heightMap=He.empty().applyChanges(this.stateDeco,X.empty,this.heightOracle.setDoc(e.doc),[new ht(0,0,0,e.doc.length)]),this.viewport=this.getViewport(0,null),this.updateViewportLines(),this.updateForViewport(),this.lineGaps=this.ensureLineGaps([]),this.lineGapDeco=Pe.set(this.lineGaps.map(n=>n.draw(!1))),this.computeVisibleRanges()}updateForViewport(){let e=[this.viewport],{main:t}=this.state.selection;for(let n=0;n<=1;n++){let o=n?t.head:t.anchor;if(!e.some(({from:i,to:s})=>o>=i&&o<=s)){let{from:i,to:s}=this.lineBlockAt(o);e.push(new Xo(i,s))}}this.viewports=e.sort((n,o)=>n.from-o.from),this.scaler=this.heightMap.height<=7e6?_y:new Gh(this.heightOracle,this.heightMap,this.viewports)}updateViewportLines(){this.viewportLines=[],this.heightMap.forEachLine(this.viewport.from,this.viewport.to,this.heightOracle.setDoc(this.state.doc),0,0,e=>{this.viewportLines.push(this.scaler.scale==1?e:hs(e,this.scaler))})}update(e,t=null){this.state=e.state;let n=this.stateDeco;this.stateDeco=this.state.facet(ms).filter(u=>typeof u!="function");let o=e.changedRanges,i=ht.extendWithRanges(o,o1(n,this.stateDeco,e?e.changes:pe.empty(this.state.doc.length))),s=this.heightMap.height,l=this.scrolledToBottom?null:this.scrollAnchorAt(this.scrollTop);this.heightMap=this.heightMap.applyChanges(this.stateDeco,e.startState.doc,this.heightOracle.setDoc(this.state.doc),i),this.heightMap.height!=s&&(e.flags|=2),l?(this.scrollAnchorPos=e.changes.mapPos(l.from,-1),this.scrollAnchorHeight=l.top):(this.scrollAnchorPos=-1,this.scrollAnchorHeight=this.heightMap.height);let a=i.length?this.mapViewport(this.viewport,e.changes):this.viewport;(t&&(t.range.head<a.from||t.range.head>a.to)||!this.viewportIsAppropriate(a))&&(a=this.getViewport(0,t));let c=!e.changes.empty||e.flags&2||a.from!=this.viewport.from||a.to!=this.viewport.to;this.viewport=a,this.updateForViewport(),c&&this.updateViewportLines(),(this.lineGaps.length||this.viewport.to-this.viewport.from>2e3<<1)&&this.updateLineGaps(this.ensureLineGaps(this.mapLineGaps(this.lineGaps,e.changes))),e.flags|=this.computeVisibleRanges(),t&&(this.scrollTarget=t),!this.mustEnforceCursorAssoc&&e.selectionSet&&e.view.lineWrapping&&e.state.selection.main.empty&&e.state.selection.main.assoc&&!e.state.facet(db)&&(this.mustEnforceCursorAssoc=!0)}measure(e){let t=e.contentDOM,n=window.getComputedStyle(t),o=this.heightOracle,i=n.whiteSpace;this.defaultTextDirection=n.direction=="rtl"?we.RTL:we.LTR;let s=this.heightOracle.mustRefreshForWrapping(i),l=t.getBoundingClientRect(),a=s||this.mustMeasureContent||this.contentDOMHeight!=l.height;this.contentDOMHeight=l.height,this.mustMeasureContent=!1;let c=0,u=0,h=parseInt(n.paddingTop)||0,f=parseInt(n.paddingBottom)||0;(this.paddingTop!=h||this.paddingBottom!=f)&&(this.paddingTop=h,this.paddingBottom=f,c|=10),this.editorWidth!=e.scrollDOM.clientWidth&&(o.lineWrapping&&(a=!0),this.editorWidth=e.scrollDOM.clientWidth,c|=8),this.scrollTop!=e.scrollDOM.scrollTop&&(this.scrollAnchorHeight=-1,this.scrollTop=e.scrollDOM.scrollTop),this.scrolledToBottom=Yy(e.scrollDOM);let d=(this.printing?s1:i1)(t,this.paddingTop),p=d.top-this.pixelViewport.top,m=d.bottom-this.pixelViewport.bottom;this.pixelViewport=d;let g=this.pixelViewport.bottom>this.pixelViewport.top&&this.pixelViewport.right>this.pixelViewport.left;if(g!=this.inView&&(this.inView=g,g&&(a=!0)),!this.inView&&!this.scrollTarget)return 0;let y=l.width;if((this.contentDOMWidth!=y||this.editorHeight!=e.scrollDOM.clientHeight)&&(this.contentDOMWidth=l.width,this.editorHeight=e.scrollDOM.clientHeight,c|=8),a){let w=e.docView.measureVisibleLineHeights(this.viewport);if(o.mustRefreshForHeights(w)&&(s=!0),s||o.lineWrapping&&Math.abs(y-this.contentDOMWidth)>o.charWidth){let{lineHeight:x,charWidth:S,textHeight:b}=e.docView.measureTextSize();s=x>0&&o.refresh(i,x,S,b,y/S,w),s&&(e.docView.minWidth=0,c|=8)}p>0&&m>0?u=Math.max(p,m):p<0&&m<0&&(u=Math.min(p,m)),o.heightChanged=!1;for(let x of this.viewports){let S=x.from==this.viewport.from?w:e.docView.measureVisibleLineHeights(x);this.heightMap=(s?He.empty().applyChanges(this.stateDeco,X.empty,this.heightOracle,[new ht(0,0,0,e.state.doc.length)]):this.heightMap).updateHeight(o,0,s,new zh(x.from,S))}o.heightChanged&&(c|=2)}let v=!this.viewportIsAppropriate(this.viewport,u)||this.scrollTarget&&(this.scrollTarget.range.head<this.viewport.from||this.scrollTarget.range.head>this.viewport.to);return v&&(this.viewport=this.getViewport(u,this.scrollTarget)),this.updateForViewport(),(c&2||v)&&this.updateViewportLines(),(this.lineGaps.length||this.viewport.to-this.viewport.from>2e3<<1)&&this.updateLineGaps(this.ensureLineGaps(s?[]:this.lineGaps,e)),c|=this.computeVisibleRanges(),this.mustEnforceCursorAssoc&&(this.mustEnforceCursorAssoc=!1,e.docView.enforceCursorAssoc()),c}get visibleTop(){return this.scaler.fromDOM(this.pixelViewport.top)}get visibleBottom(){return this.scaler.fromDOM(this.pixelViewport.bottom)}getViewport(e,t){let n=.5-Math.max(-.5,Math.min(.5,e/1e3/2)),o=this.heightMap,i=this.heightOracle,{visibleTop:s,visibleBottom:l}=this,a=new Xo(o.lineAt(s-n*1e3,he.ByHeight,i,0,0).from,o.lineAt(l+(1-n)*1e3,he.ByHeight,i,0,0).to);if(t){let{head:c}=t.range;if(c<a.from||c>a.to){let u=Math.min(this.editorHeight,this.pixelViewport.bottom-this.pixelViewport.top),h=o.lineAt(c,he.ByPos,i,0,0),f;t.y=="center"?f=(h.top+h.bottom)/2-u/2:t.y=="start"||t.y=="nearest"&&c<a.from?f=h.top:f=h.bottom-u,a=new Xo(o.lineAt(f-1e3/2,he.ByHeight,i,0,0).from,o.lineAt(f+u+1e3/2,he.ByHeight,i,0,0).to)}}return a}mapViewport(e,t){let n=t.mapPos(e.from,-1),o=t.mapPos(e.to,1);return new Xo(this.heightMap.lineAt(n,he.ByPos,this.heightOracle,0,0).from,this.heightMap.lineAt(o,he.ByPos,this.heightOracle,0,0).to)}viewportIsAppropriate({from:e,to:t},n=0){if(!this.inView)return!0;let{top:o}=this.heightMap.lineAt(e,he.ByPos,this.heightOracle,0,0),{bottom:i}=this.heightMap.lineAt(t,he.ByPos,this.heightOracle,0,0),{visibleTop:s,visibleBottom:l}=this;return(e==0||o<=s-Math.max(10,Math.min(-n,250)))&&(t==this.state.doc.length||i>=l+Math.max(10,Math.min(n,250)))&&o>s-2*1e3&&i<l+2*1e3}mapLineGaps(e,t){if(!e.length||t.empty)return e;let n=[];for(let o of e)t.touchesRange(o.from,o.to)||n.push(new ds(t.mapPos(o.from),t.mapPos(o.to),o.size));return n}ensureLineGaps(e,t){let n=this.heightOracle.lineWrapping,o=n?1e4:2e3,i=o>>1,s=o<<1;if(this.defaultTextDirection!=we.LTR&&!n)return[];let l=[],a=(c,u,h,f)=>{if(u-c<i)return;let d=this.state.selection.main,p=[d.from];d.empty||p.push(d.to);for(let g of p)if(g>c&&g<u){a(c,g-10,h,f),a(g+10,u,h,f);return}let m=a1(e,g=>g.from>=h.from&&g.to<=h.to&&Math.abs(g.from-c)<i&&Math.abs(g.to-u)<i&&!p.some(y=>g.from<y&&g.to>y));if(!m){if(u<h.to&&t&&n&&t.visibleRanges.some(g=>g.from<=u&&g.to>=u)){let g=t.moveToLineBoundary(I.cursor(u),!1,!0).head;g>c&&(u=g)}m=new ds(c,u,this.gapSize(h,c,u,f))}l.push(m)};for(let c of this.viewportLines){if(c.length<s)continue;let u=l1(c.from,c.to,this.stateDeco);if(u.total<s)continue;let h=this.scrollTarget?this.scrollTarget.range.head:null,f,d;if(n){let p=o/this.heightOracle.lineLength*this.heightOracle.lineHeight,m,g;if(h!=null){let y=aa(u,h),v=((this.visibleBottom-this.visibleTop)/2+p)/c.height;m=y-v,g=y+v}else m=(this.visibleTop-c.top-p)/c.height,g=(this.visibleBottom-c.top+p)/c.height;f=la(u,m),d=la(u,g)}else{let p=u.total*this.heightOracle.charWidth,m=o*this.heightOracle.charWidth,g,y;if(h!=null){let v=aa(u,h),w=((this.pixelViewport.right-this.pixelViewport.left)/2+m)/p;g=v-w,y=v+w}else g=(this.pixelViewport.left-m)/p,y=(this.pixelViewport.right+m)/p;f=la(u,g),d=la(u,y)}f>c.from&&a(c.from,f,c,u),d<c.to&&a(d,c.to,c,u)}return l}gapSize(e,t,n,o){let i=aa(o,n)-aa(o,t);return this.heightOracle.lineWrapping?e.height*i:o.total*this.heightOracle.charWidth*i}updateLineGaps(e){ds.same(e,this.lineGaps)||(this.lineGaps=e,this.lineGapDeco=Pe.set(e.map(t=>t.draw(this.heightOracle.lineWrapping))))}computeVisibleRanges(){let e=this.stateDeco;this.lineGaps.length&&(e=e.concat(this.lineGapDeco));let t=[];se.spans(e,this.viewport.from,this.viewport.to,{span(o,i){t.push({from:o,to:i})},point(){}},20);let n=t.length!=this.visibleRanges.length||this.visibleRanges.some((o,i)=>o.from!=t[i].from||o.to!=t[i].to);return this.visibleRanges=t,n?4:0}lineBlockAt(e){return e>=this.viewport.from&&e<=this.viewport.to&&this.viewportLines.find(t=>t.from<=e&&t.to>=e)||hs(this.heightMap.lineAt(e,he.ByPos,this.heightOracle,0,0),this.scaler)}lineBlockAtHeight(e){return hs(this.heightMap.lineAt(this.scaler.fromDOM(e),he.ByHeight,this.heightOracle,0,0),this.scaler)}scrollAnchorAt(e){let t=this.lineBlockAtHeight(e+8);return t.from>=this.viewport.from||this.viewportLines[0].top-e>200?t:this.viewportLines[0]}elementAtHeight(e){return hs(this.heightMap.blockAt(this.scaler.fromDOM(e),this.heightOracle,0,0),this.scaler)}get docHeight(){return this.scaler.toDOM(this.heightMap.height)}get contentHeight(){return this.docHeight+this.paddingTop+this.paddingBottom}},Xo=class{constructor(e,t){this.from=e,this.to=t}};function l1(r,e,t){let n=[],o=r,i=0;return se.spans(t,r,e,{span(){},point(s,l){s>o&&(n.push({from:o,to:s}),i+=s-o),o=l}},20),o<e&&(n.push({from:o,to:e}),i+=e-o),{total:i,ranges:n}}function la({total:r,ranges:e},t){if(t<=0)return e[0].from;if(t>=1)return e[e.length-1].to;let n=Math.floor(r*t);for(let o=0;;o++){let{from:i,to:s}=e[o],l=s-i;if(n<=l)return i+n;n-=l}}function aa(r,e){let t=0;for(let{from:n,to:o}of r.ranges){if(e<=o){t+=e-n;break}t+=o-n}return t/r.total}function a1(r,e){for(let t of r)if(e(t))return t}var _y={toDOM(r){return r},fromDOM(r){return r},scale:1},Gh=class{constructor(e,t,n){let o=0,i=0,s=0;this.viewports=n.map(({from:l,to:a})=>{let c=t.lineAt(l,he.ByPos,e,0,0).top,u=t.lineAt(a,he.ByPos,e,0,0).bottom;return o+=u-c,{from:l,to:a,top:c,bottom:u,domTop:0,domBottom:0}}),this.scale=(7e6-o)/(t.height-o);for(let l of this.viewports)l.domTop=s+(l.top-i)*this.scale,s=l.domBottom=l.domTop+(l.bottom-l.top),i=l.bottom}toDOM(e){for(let t=0,n=0,o=0;;t++){let i=t<this.viewports.length?this.viewports[t]:null;if(!i||e<i.top)return o+(e-n)*this.scale;if(e<=i.bottom)return i.domTop+(e-i.top);n=i.bottom,o=i.domBottom}}fromDOM(e){for(let t=0,n=0,o=0;;t++){let i=t<this.viewports.length?this.viewports[t]:null;if(!i||e<i.domTop)return n+(e-o)/this.scale;if(e<=i.domBottom)return i.top+(e-i.domTop);n=i.bottom,o=i.domBottom}}};function hs(r,e){if(e.scale==1)return r;let t=e.toDOM(r.top),n=e.toDOM(r.bottom);return new Vt(r.from,r.length,t,n-t,Array.isArray(r._content)?r._content.map(o=>hs(o,e)):r._content)}var ca=U.define({combine:r=>r.join(" ")}),qh=U.define({combine:r=>r.indexOf(!0)>-1}),Kh=Nt.newName(),Lb=Nt.newName(),Ab=Nt.newName(),Ob={"&light":"."+Lb,"&dark":"."+Ab};function jh(r,e,t){return new Nt(e,{finish(n){return/&/.test(n)?n.replace(/&\w*/,o=>{if(o=="&")return r;if(!t||!t[o])throw new RangeError(`Unsupported selector: ${o}`);return t[o]}):r+" "+n}})}var c1=jh("."+Kh,{"&":{position:"relative !important",boxSizing:"border-box","&.cm-focused":{outline:"1px dotted #212121"},display:"flex !important",flexDirection:"column"},".cm-scroller":{display:"flex !important",alignItems:"flex-start !important",fontFamily:"monospace",lineHeight:1.4,height:"100%",overflowX:"auto",position:"relative",zIndex:0},".cm-content":{margin:0,flexGrow:2,flexShrink:0,display:"block",whiteSpace:"pre",wordWrap:"normal",boxSizing:"border-box",padding:"4px 0",outline:"none","&[contenteditable=true]":{WebkitUserModify:"read-write-plaintext-only"}},".cm-lineWrapping":{whiteSpace_fallback:"pre-wrap",whiteSpace:"break-spaces",wordBreak:"break-word",overflowWrap:"anywhere",flexShrink:1},"&light .cm-content":{caretColor:"black"},"&dark .cm-content":{caretColor:"white"},".cm-line":{display:"block",padding:"0 2px 0 6px"},".cm-layer":{position:"absolute",left:0,top:0,contain:"size style","& > *":{position:"absolute"}},"&light .cm-selectionBackground":{background:"#d9d9d9"},"&dark .cm-selectionBackground":{background:"#222"},"&light.cm-focused > .cm-scroller > .cm-selectionLayer .cm-selectionBackground":{background:"#d7d4f0"},"&dark.cm-focused > .cm-scroller > .cm-selectionLayer .cm-selectionBackground":{background:"#233"},".cm-cursorLayer":{pointerEvents:"none"},"&.cm-focused > .cm-scroller > .cm-cursorLayer":{animation:"steps(1) cm-blink 1.2s infinite"},"@keyframes cm-blink":{"0%":{},"50%":{opacity:0},"100%":{}},"@keyframes cm-blink2":{"0%":{},"50%":{opacity:0},"100%":{}},".cm-cursor, .cm-dropCursor":{borderLeft:"1.2px solid black",marginLeft:"-0.6px",pointerEvents:"none"},".cm-cursor":{display:"none"},"&dark .cm-cursor":{borderLeftColor:"#444"},".cm-dropCursor":{position:"absolute"},"&.cm-focused > .cm-scroller > .cm-cursorLayer .cm-cursor":{display:"block"},"&light .cm-activeLine":{backgroundColor:"#cceeff44"},"&dark .cm-activeLine":{backgroundColor:"#99eeff33"},"&light .cm-specialChar":{color:"red"},"&dark .cm-specialChar":{color:"#f78"},".cm-gutters":{flexShrink:0,display:"flex",height:"100%",boxSizing:"border-box",insetInlineStart:0,zIndex:200},"&light .cm-gutters":{backgroundColor:"#f5f5f5",color:"#6c6c6c",borderRight:"1px solid #ddd"},"&dark .cm-gutters":{backgroundColor:"#333338",color:"#ccc"},".cm-gutter":{display:"flex !important",flexDirection:"column",flexShrink:0,boxSizing:"border-box",minHeight:"100%",overflow:"hidden"},".cm-gutterElement":{boxSizing:"border-box"},".cm-lineNumbers .cm-gutterElement":{padding:"0 3px 0 5px",minWidth:"20px",textAlign:"right",whiteSpace:"nowrap"},"&light .cm-activeLineGutter":{backgroundColor:"#e2f2ff"},"&dark .cm-activeLineGutter":{backgroundColor:"#222227"},".cm-panels":{boxSizing:"border-box",position:"sticky",left:0,right:0},"&light .cm-panels":{backgroundColor:"#f5f5f5",color:"black"},"&light .cm-panels-top":{borderBottom:"1px solid #ddd"},"&light .cm-panels-bottom":{borderTop:"1px solid #ddd"},"&dark .cm-panels":{backgroundColor:"#333338",color:"white"},".cm-tab":{display:"inline-block",overflow:"hidden",verticalAlign:"bottom"},".cm-widgetBuffer":{verticalAlign:"text-top",height:"1em",width:0,display:"inline"},".cm-placeholder":{color:"#888",display:"inline-block",verticalAlign:"top"},".cm-highlightSpace:before":{content:"attr(data-display)",position:"absolute",pointerEvents:"none",color:"#888"},".cm-highlightTab":{backgroundImage:`url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="200" height="20"><path stroke="%23888" stroke-width="1" fill="none" d="M1 10H196L190 5M190 15L196 10M197 4L197 16"/></svg>')`,backgroundSize:"auto 100%",backgroundPosition:"right 90%",backgroundRepeat:"no-repeat"},".cm-trailingSpace":{backgroundColor:"#ff332255"},".cm-button":{verticalAlign:"middle",color:"inherit",fontSize:"70%",padding:".2em 1em",borderRadius:"1px"},"&light .cm-button":{backgroundImage:"linear-gradient(#eff1f5, #d9d9df)",border:"1px solid #888","&:active":{backgroundImage:"linear-gradient(#b4b4b4, #d0d3d6)"}},"&dark .cm-button":{backgroundImage:"linear-gradient(#393939, #111)",border:"1px solid #888","&:active":{backgroundImage:"linear-gradient(#111, #333)"}},".cm-textfield":{verticalAlign:"middle",color:"inherit",fontSize:"70%",border:"1px solid silver",padding:".2em .5em"},"&light .cm-textfield":{backgroundColor:"white"},"&dark .cm-textfield":{border:"1px solid #555",backgroundColor:"inherit"}},Ob),Jh=class{constructor(e,t,n,o){this.typeOver=o,this.bounds=null,this.text="";let{impreciseHead:i,impreciseAnchor:s}=e.docView;if(e.state.readOnly&&t>-1)this.newSel=null;else if(t>-1&&(this.bounds=e.docView.domBoundsAround(t,n,0))){let l=i||s?[]:h1(e),a=new va(l,e.state);a.readRange(this.bounds.startDOM,this.bounds.endDOM),this.text=a.text,this.newSel=f1(l,this.bounds.from)}else{let l=e.observer.selectionRange,a=i&&i.node==l.focusNode&&i.offset==l.focusOffset||!Sh(e.contentDOM,l.focusNode)?e.state.selection.main.head:e.docView.posFromDOM(l.focusNode,l.focusOffset),c=s&&s.node==l.anchorNode&&s.offset==l.anchorOffset||!Sh(e.contentDOM,l.anchorNode)?e.state.selection.main.anchor:e.docView.posFromDOM(l.anchorNode,l.anchorOffset);this.newSel=I.single(c,a)}}};function Nb(r,e){let t,{newSel:n}=e,o=r.state.selection.main,i=r.inputState.lastKeyTime>Date.now()-100?r.inputState.lastKeyCode:-1;if(e.bounds){let{from:s,to:l}=e.bounds,a=o.from,c=null;(i===8||_.android&&e.text.length<l-s)&&(a=o.to,c="end");let u=u1(r.state.doc.sliceString(s,l,Yo),e.text,a-s,c);u&&(_.chrome&&i==13&&u.toB==u.from+2&&e.text.slice(u.from,u.toB)==Yo+Yo&&u.toB--,t={from:s+u.from,to:s+u.toA,insert:X.of(e.text.slice(u.from,u.toB).split(Yo))})}else n&&(!r.hasFocus&&r.state.facet(Ra)||n.main.eq(o))&&(n=null);if(!t&&!n)return!1;if(!t&&e.typeOver&&!o.empty&&n&&n.main.empty?t={from:o.from,to:o.to,insert:r.state.doc.slice(o.from,o.to)}:t&&t.from>=o.from&&t.to<=o.to&&(t.from!=o.from||t.to!=o.to)&&o.to-o.from-(t.to-t.from)<=4?t={from:o.from,to:o.to,insert:r.state.doc.slice(o.from,t.from).append(t.insert).append(r.state.doc.slice(t.to,o.to))}:(_.mac||_.android)&&t&&t.from==t.to&&t.from==o.head-1&&/^\. ?$/.test(t.insert.toString())&&r.contentDOM.getAttribute("autocorrect")=="off"?(n&&t.insert.length==2&&(n=I.single(n.main.anchor-1,n.main.head-1)),t={from:o.from,to:o.to,insert:X.of([" "])}):_.chrome&&t&&t.from==t.to&&t.from==o.head&&t.insert.toString()==`
|
|
25
|
-
`&&r.lineWrapping&&(n&&(n=I.single(n.main.anchor-1,n.main.head-1)),t={from:o.from,to:o.to,insert:X.of([" "])}),t){let s=r.state;if(_.ios&&r.inputState.flushIOSKey(r)||_.android&&(t.from==o.from&&t.to==o.to&&t.insert.length==1&&t.insert.lines==2&&Zo(r.contentDOM,"Enter",13)||(t.from==o.from-1&&t.to==o.to&&t.insert.length==0||i==8&&t.insert.length<t.to-t.from)&&Zo(r.contentDOM,"Backspace",8)||t.from==o.from&&t.to==o.to+1&&t.insert.length==0&&Zo(r.contentDOM,"Delete",46)))return!0;let l=t.insert.toString();if(r.state.facet(ub).some(u=>u(r,t.from,t.to,l)))return!0;r.inputState.composing>=0&&r.inputState.composing++;let a;if(t.from>=o.from&&t.to<=o.to&&t.to-t.from>=(o.to-o.from)/3&&(!n||n.main.empty&&n.main.from==t.from+t.insert.length)&&r.inputState.composing<0){let u=o.from<t.from?s.sliceDoc(o.from,t.from):"",h=o.to>t.to?s.sliceDoc(t.to,o.to):"";a=s.replaceSelection(r.state.toText(u+t.insert.sliceString(0,void 0,r.state.lineBreak)+h))}else{let u=s.changes(t),h=n&&n.main.to<=u.newLength?n.main:void 0;if(s.selection.ranges.length>1&&r.inputState.composing>=0&&t.to<=o.to&&t.to>=o.to-10){let f=r.state.sliceDoc(t.from,t.to),d=vb(r)||r.state.doc.lineAt(o.head),p=o.to-t.to,m=o.to-o.from;a=s.changeByRange(g=>{if(g.from==o.from&&g.to==o.to)return{changes:u,range:h||g.map(u)};let y=g.to-p,v=y-f.length;if(g.to-g.from!=m||r.state.sliceDoc(v,y)!=f||d&&g.to>=d.from&&g.from<=d.to)return{range:g};let w=s.changes({from:v,to:y,insert:t.insert}),x=g.to-o.to;return{changes:w,range:h?I.range(Math.max(0,h.anchor+x),Math.max(0,h.head+x)):g.map(w)}})}else a={changes:u,selection:h&&s.selection.replaceRange(h)}}let c="input.type";return(r.composing||r.inputState.compositionPendingChange&&r.inputState.compositionEndedAt>Date.now()-50)&&(r.inputState.compositionPendingChange=!1,c+=".compose",r.inputState.compositionFirstChange&&(c+=".start",r.inputState.compositionFirstChange=!1)),r.dispatch(a,{scrollIntoView:!0,userEvent:c}),!0}else if(n&&!n.main.eq(o)){let s=!1,l="select";return r.inputState.lastSelectionTime>Date.now()-50&&(r.inputState.lastSelectionOrigin=="select"&&(s=!0),l=r.inputState.lastSelectionOrigin),r.dispatch({selection:n,scrollIntoView:s,userEvent:l}),!0}else return!1}function u1(r,e,t,n){let o=Math.min(r.length,e.length),i=0;for(;i<o&&r.charCodeAt(i)==e.charCodeAt(i);)i++;if(i==o&&r.length==e.length)return null;let s=r.length,l=e.length;for(;s>0&&l>0&&r.charCodeAt(s-1)==e.charCodeAt(l-1);)s--,l--;if(n=="end"){let a=Math.max(0,i-Math.min(s,l));t-=s+a-i}if(s<i&&r.length<e.length){let a=t<=i&&t>=s?i-t:0;i-=a,l=i+(l-s),s=i}else if(l<i){let a=t<=i&&t>=l?i-t:0;i-=a,s=i+(s-l),l=i}return{from:i,toA:s,toB:l}}function h1(r){let e=[];if(r.root.activeElement!=r.contentDOM)return e;let{anchorNode:t,anchorOffset:n,focusNode:o,focusOffset:i}=r.observer.selectionRange;return t&&(e.push(new wa(t,n)),(o!=t||i!=n)&&e.push(new wa(o,i))),e}function f1(r,e){if(r.length==0)return null;let t=r[0].pos,n=r.length==2?r[1].pos:t;return t>-1&&n>-1?I.single(t+e,n+e):null}var d1={childList:!0,characterData:!0,subtree:!0,attributes:!0,characterDataOldValue:!0},vh=_.ie&&_.ie_version<=11,Qh=class{constructor(e){this.view=e,this.active=!1,this.selectionRange=new Ch,this.selectionChanged=!1,this.delayedFlush=-1,this.resizeTimeout=-1,this.queue=[],this.delayedAndroidKey=null,this.flushingAndroidKey=-1,this.lastChange=0,this.scrollTargets=[],this.intersection=null,this.resizeScroll=null,this.resizeContent=null,this.intersecting=!1,this.gapIntersection=null,this.gaps=[],this.parentCheck=-1,this.dom=e.contentDOM,this.observer=new MutationObserver(t=>{for(let n of t)this.queue.push(n);(_.ie&&_.ie_version<=11||_.ios&&e.composing)&&t.some(n=>n.type=="childList"&&n.removedNodes.length||n.type=="characterData"&&n.oldValue.length>n.target.nodeValue.length)?this.flushSoon():this.flush()}),vh&&(this.onCharData=t=>{this.queue.push({target:t.target,type:"characterData",oldValue:t.prevValue}),this.flushSoon()}),this.onSelectionChange=this.onSelectionChange.bind(this),this.onResize=this.onResize.bind(this),this.onPrint=this.onPrint.bind(this),this.onScroll=this.onScroll.bind(this),typeof ResizeObserver=="function"&&(this.resizeScroll=new ResizeObserver(()=>{var t;((t=this.view.docView)===null||t===void 0?void 0:t.lastUpdate)<Date.now()-75&&this.onResize()}),this.resizeScroll.observe(e.scrollDOM),this.resizeContent=new ResizeObserver(()=>this.view.requestMeasure()),this.resizeContent.observe(e.contentDOM)),this.addWindowListeners(this.win=e.win),this.start(),typeof IntersectionObserver=="function"&&(this.intersection=new IntersectionObserver(t=>{this.parentCheck<0&&(this.parentCheck=setTimeout(this.listenForScroll.bind(this),1e3)),t.length>0&&t[t.length-1].intersectionRatio>0!=this.intersecting&&(this.intersecting=!this.intersecting,this.intersecting!=this.view.inView&&this.onScrollChanged(document.createEvent("Event")))},{threshold:[0,.001]}),this.intersection.observe(this.dom),this.gapIntersection=new IntersectionObserver(t=>{t.length>0&&t[t.length-1].intersectionRatio>0&&this.onScrollChanged(document.createEvent("Event"))},{})),this.listenForScroll(),this.readSelectionRange()}onScrollChanged(e){this.view.inputState.runScrollHandlers(this.view,e),this.intersecting&&this.view.measure()}onScroll(e){this.intersecting&&this.flush(!1),this.onScrollChanged(e)}onResize(){this.resizeTimeout<0&&(this.resizeTimeout=setTimeout(()=>{this.resizeTimeout=-1,this.view.requestMeasure()},50))}onPrint(){this.view.viewState.printing=!0,this.view.measure(),setTimeout(()=>{this.view.viewState.printing=!1,this.view.requestMeasure()},500)}updateGaps(e){if(this.gapIntersection&&(e.length!=this.gaps.length||this.gaps.some((t,n)=>t!=e[n]))){this.gapIntersection.disconnect();for(let t of e)this.gapIntersection.observe(t);this.gaps=e}}onSelectionChange(e){let t=this.selectionChanged;if(!this.readSelectionRange()||this.delayedAndroidKey)return;let{view:n}=this,o=this.selectionRange;if(n.state.facet(Ra)?n.root.activeElement!=this.dom:!ha(n.dom,o))return;let i=o.anchorNode&&n.docView.nearest(o.anchorNode);if(i&&i.ignoreEvent(e)){t||(this.selectionChanged=!1);return}(_.ie&&_.ie_version<=11||_.android&&_.chrome)&&!n.state.selection.main.empty&&o.focusNode&&ya(o.focusNode,o.focusOffset,o.anchorNode,o.anchorOffset)?this.flushSoon():this.flush(!1)}readSelectionRange(){let{view:e}=this,t=_.safari&&e.root.nodeType==11&&dk(this.dom.ownerDocument)==this.dom&&p1(this.view)||ga(e.root);if(!t||this.selectionRange.eq(t))return!1;let n=ha(this.dom,t);return n&&!this.selectionChanged&&e.inputState.lastFocusTime>Date.now()-200&&e.inputState.lastTouchTime<Date.now()-300&&bk(this.dom,t)?(this.view.inputState.lastFocusTime=0,e.docView.updateSelection(),!1):(this.selectionRange.setRange(t),n&&(this.selectionChanged=!0),!0)}setSelectionRange(e,t){this.selectionRange.set(e.node,e.offset,t.node,t.offset),this.selectionChanged=!1}clearSelectionRange(){this.selectionRange.set(null,0,null,0)}listenForScroll(){this.parentCheck=-1;let e=0,t=null;for(let n=this.dom;n;)if(n.nodeType==1)!t&&e<this.scrollTargets.length&&this.scrollTargets[e]==n?e++:t||(t=this.scrollTargets.slice(0,e)),t&&t.push(n),n=n.assignedSlot||n.parentNode;else if(n.nodeType==11)n=n.host;else break;if(e<this.scrollTargets.length&&!t&&(t=this.scrollTargets.slice(0,e)),t){for(let n of this.scrollTargets)n.removeEventListener("scroll",this.onScroll);for(let n of this.scrollTargets=t)n.addEventListener("scroll",this.onScroll)}}ignore(e){if(!this.active)return e();try{return this.stop(),e()}finally{this.start(),this.clear()}}start(){this.active||(this.observer.observe(this.dom,d1),vh&&this.dom.addEventListener("DOMCharacterDataModified",this.onCharData),this.active=!0)}stop(){this.active&&(this.active=!1,this.observer.disconnect(),vh&&this.dom.removeEventListener("DOMCharacterDataModified",this.onCharData))}clear(){this.processRecords(),this.queue.length=0,this.selectionChanged=!1}delayAndroidKey(e,t){var n;if(!this.delayedAndroidKey){let o=()=>{let i=this.delayedAndroidKey;i&&(this.clearDelayedAndroidKey(),this.view.inputState.lastKeyCode=i.keyCode,this.view.inputState.lastKeyTime=Date.now(),!this.flush()&&i.force&&Zo(this.dom,i.key,i.keyCode))};this.flushingAndroidKey=this.view.win.requestAnimationFrame(o)}(!this.delayedAndroidKey||e=="Enter")&&(this.delayedAndroidKey={key:e,keyCode:t,force:this.lastChange<Date.now()-50||!!(!((n=this.delayedAndroidKey)===null||n===void 0)&&n.force)})}clearDelayedAndroidKey(){this.win.cancelAnimationFrame(this.flushingAndroidKey),this.delayedAndroidKey=null,this.flushingAndroidKey=-1}flushSoon(){this.delayedFlush<0&&(this.delayedFlush=this.view.win.requestAnimationFrame(()=>{this.delayedFlush=-1,this.flush()}))}forceFlush(){this.delayedFlush>=0&&(this.view.win.cancelAnimationFrame(this.delayedFlush),this.delayedFlush=-1),this.flush()}pendingRecords(){for(let e of this.observer.takeRecords())this.queue.push(e);return this.queue}processRecords(){let e=this.pendingRecords();e.length&&(this.queue=[]);let t=-1,n=-1,o=!1;for(let i of e){let s=this.readMutation(i);s&&(s.typeOver&&(o=!0),t==-1?{from:t,to:n}=s:(t=Math.min(s.from,t),n=Math.max(s.to,n)))}return{from:t,to:n,typeOver:o}}readChange(){let{from:e,to:t,typeOver:n}=this.processRecords(),o=this.selectionChanged&&ha(this.dom,this.selectionRange);return e<0&&!o?null:(e>-1&&(this.lastChange=Date.now()),this.view.inputState.lastFocusTime=0,this.selectionChanged=!1,new Jh(this.view,e,t,n))}flush(e=!0){if(this.delayedFlush>=0||this.delayedAndroidKey)return!1;e&&this.readSelectionRange();let t=this.readChange();if(!t)return!1;let n=this.view.state,o=Nb(this.view,t);return this.view.state==n&&this.view.update([]),o}readMutation(e){let t=this.view.docView.nearest(e.target);if(!t||t.ignoreMutation(e))return null;if(t.markDirty(e.type=="attributes"),e.type=="attributes"&&(t.flags|=4),e.type=="childList"){let n=zy(t,e.previousSibling||e.target.previousSibling,-1),o=zy(t,e.nextSibling||e.target.nextSibling,1);return{from:n?t.posAfter(n):t.posAtStart,to:o?t.posBefore(o):t.posAtEnd,typeOver:!1}}else return e.type=="characterData"?{from:t.posAtStart,to:t.posAtEnd,typeOver:e.target.nodeValue==e.oldValue}:null}setWindow(e){e!=this.win&&(this.removeWindowListeners(this.win),this.win=e,this.addWindowListeners(this.win))}addWindowListeners(e){e.addEventListener("resize",this.onResize),e.addEventListener("beforeprint",this.onPrint),e.addEventListener("scroll",this.onScroll),e.document.addEventListener("selectionchange",this.onSelectionChange)}removeWindowListeners(e){e.removeEventListener("scroll",this.onScroll),e.removeEventListener("resize",this.onResize),e.removeEventListener("beforeprint",this.onPrint),e.document.removeEventListener("selectionchange",this.onSelectionChange)}destroy(){var e,t,n,o;this.stop(),(e=this.intersection)===null||e===void 0||e.disconnect(),(t=this.gapIntersection)===null||t===void 0||t.disconnect(),(n=this.resizeScroll)===null||n===void 0||n.disconnect(),(o=this.resizeContent)===null||o===void 0||o.disconnect();for(let i of this.scrollTargets)i.removeEventListener("scroll",this.onScroll);this.removeWindowListeners(this.win),clearTimeout(this.parentCheck),clearTimeout(this.resizeTimeout),this.win.cancelAnimationFrame(this.delayedFlush),this.win.cancelAnimationFrame(this.flushingAndroidKey)}};function zy(r,e,t){for(;e;){let n=re.get(e);if(n&&n.parent==r)return n;let o=e.parentNode;e=o!=r.dom?o:t>0?e.nextSibling:e.previousSibling}return null}function p1(r){let e=null;function t(a){a.preventDefault(),a.stopImmediatePropagation(),e=a.getTargetRanges()[0]}if(r.contentDOM.addEventListener("beforeinput",t,!0),r.dom.ownerDocument.execCommand("indent"),r.contentDOM.removeEventListener("beforeinput",t,!0),!e)return null;let n=e.startContainer,o=e.startOffset,i=e.endContainer,s=e.endOffset,l=r.docView.domAtPos(r.state.selection.main.anchor);return ya(l.node,l.offset,i,s)&&([n,o,i,s]=[i,s,n,o]),{anchorNode:n,anchorOffset:o,focusNode:i,focusOffset:s}}var J=class{constructor(e={}){this.plugins=[],this.pluginMap=new Map,this.editorAttrs={},this.contentAttrs={},this.bidiCache=[],this.destroyed=!1,this.updateState=2,this.measureScheduled=-1,this.measureRequests=[],this.contentDOM=document.createElement("div"),this.scrollDOM=document.createElement("div"),this.scrollDOM.tabIndex=-1,this.scrollDOM.className="cm-scroller",this.scrollDOM.appendChild(this.contentDOM),this.announceDOM=document.createElement("div"),this.announceDOM.style.cssText="position: fixed; top: -10000px",this.announceDOM.setAttribute("aria-live","polite"),this.dom=document.createElement("div"),this.dom.appendChild(this.announceDOM),this.dom.appendChild(this.scrollDOM),this._dispatch=e.dispatch||(t=>this.update([t])),this.dispatch=this.dispatch.bind(this),this._root=e.root||yk(e.parent)||document,this.viewState=new Ma(e.state||ee.create(e)),this.plugins=this.state.facet(cs).map(t=>new fs(t));for(let t of this.plugins)t.update(this);this.observer=new Qh(this),this.inputState=new Vh(this),this.inputState.ensureHandlers(this,this.plugins),this.docView=new Ca(this),this.mountStyles(),this.updateAttrs(),this.updateState=0,this.requestMeasure(),e.parent&&e.parent.appendChild(this.dom)}get state(){return this.viewState.state}get viewport(){return this.viewState.viewport}get visibleRanges(){return this.viewState.visibleRanges}get inView(){return this.viewState.inView}get composing(){return this.inputState.composing>0}get compositionStarted(){return this.inputState.composing>=0}get root(){return this._root}get win(){return this.dom.ownerDocument.defaultView||window}dispatch(...e){let t=e.length==1&&e[0]instanceof me?e[0]:this.state.update(...e);this._dispatch(t,this)}update(e){if(this.updateState!=0)throw new Error("Calls to EditorView.update are not allowed while an update is in progress");let t=!1,n=!1,o,i=this.state;for(let f of e){if(f.startState!=i)throw new RangeError("Trying to update state with a transaction that doesn't start from the previous state.");i=f.state}if(this.destroyed){this.viewState.state=i;return}let s=this.hasFocus,l=0,a=null;e.some(f=>f.annotation(Ib))?(this.inputState.notifiedFocused=s,l=1):s!=this.inputState.notifiedFocused&&(this.inputState.notifiedFocused=s,a=Pb(i,s),a||(l=1));let c=this.observer.delayedAndroidKey,u=null;if(c?(this.observer.clearDelayedAndroidKey(),u=this.observer.readChange(),(u&&!this.state.doc.eq(i.doc)||!this.state.selection.eq(i.selection))&&(u=null)):this.observer.clear(),i.facet(ee.phrases)!=this.state.facet(ee.phrases))return this.setState(i);o=ti.create(this,i,e),o.flags|=l;let h=this.viewState.scrollTarget;try{this.updateState=2;for(let f of e){if(h&&(h=h.map(f.changes)),f.scrollIntoView){let{main:d}=f.state.selection;h=new ei(d.empty?d:I.cursor(d.head,d.head>d.anchor?-1:1))}for(let d of f.effects)d.is(Ty)&&(h=d.value)}this.viewState.update(o,h),this.bidiCache=ni.update(this.bidiCache,o.changes),o.empty||(this.updatePlugins(o),this.inputState.update(o)),t=this.docView.update(o),this.state.facet(us)!=this.styleModules&&this.mountStyles(),n=this.updateAttrs(),this.showAnnouncements(e),this.docView.updateSelection(t,e.some(f=>f.isUserEvent("select.pointer")))}finally{this.updateState=0}if(o.startState.facet(ca)!=o.state.facet(ca)&&(this.viewState.mustMeasureContent=!0),(t||n||h||this.viewState.mustEnforceCursorAssoc||this.viewState.mustMeasureContent)&&this.requestMeasure(),!o.empty)for(let f of this.state.facet(Ph))f(o);(a||u)&&Promise.resolve().then(()=>{a&&this.state==a.startState&&this.dispatch(a),u&&!Nb(this,u)&&c.force&&Zo(this.contentDOM,c.key,c.keyCode)})}setState(e){if(this.updateState!=0)throw new Error("Calls to EditorView.setState are not allowed while an update is in progress");if(this.destroyed){this.viewState.state=e;return}this.updateState=2;let t=this.hasFocus;try{for(let n of this.plugins)n.destroy(this);this.viewState=new Ma(e),this.plugins=e.facet(cs).map(n=>new fs(n)),this.pluginMap.clear();for(let n of this.plugins)n.update(this);this.docView=new Ca(this),this.inputState.ensureHandlers(this,this.plugins),this.mountStyles(),this.updateAttrs(),this.bidiCache=[]}finally{this.updateState=0}t&&this.focus(),this.requestMeasure()}updatePlugins(e){let t=e.startState.facet(cs),n=e.state.facet(cs);if(t!=n){let o=[];for(let i of n){let s=t.indexOf(i);if(s<0)o.push(new fs(i));else{let l=this.plugins[s];l.mustUpdate=e,o.push(l)}}for(let i of this.plugins)i.mustUpdate!=e&&i.destroy(this);this.plugins=o,this.pluginMap.clear(),this.inputState.ensureHandlers(this,this.plugins)}else for(let o of this.plugins)o.mustUpdate=e;for(let o=0;o<this.plugins.length;o++)this.plugins[o].update(this)}measure(e=!0){if(this.destroyed)return;this.measureScheduled>-1&&this.win.cancelAnimationFrame(this.measureScheduled),this.measureScheduled=0,e&&this.observer.forceFlush();let t=null,n=this.scrollDOM,{scrollTop:o}=n,{scrollAnchorPos:i,scrollAnchorHeight:s}=this.viewState;o!=this.viewState.scrollTop&&(s=-1),this.viewState.scrollAnchorHeight=-1;try{for(let l=0;;l++){if(s<0)if(Yy(n))i=-1,s=this.viewState.heightMap.height;else{let d=this.viewState.scrollAnchorAt(o);i=d.from,s=d.top}this.updateState=1;let a=this.viewState.measure(this);if(!a&&!this.measureRequests.length&&this.viewState.scrollTarget==null)break;if(l>5){console.warn(this.measureRequests.length?"Measure loop restarted more than 5 times":"Viewport failed to stabilize");break}let c=[];a&4||([this.measureRequests,c]=[c,this.measureRequests]);let u=c.map(d=>{try{return d.read(this)}catch(p){return gn(this.state,p),Wy}}),h=ti.create(this,this.state,[]),f=!1;h.flags|=a,t?t.flags|=a:t=h,this.updateState=2,h.empty||(this.updatePlugins(h),this.inputState.update(h),this.updateAttrs(),f=this.docView.update(h));for(let d=0;d<c.length;d++)if(u[d]!=Wy)try{let p=c[d];p.write&&p.write(u[d],this)}catch(p){gn(this.state,p)}if(f&&this.docView.updateSelection(!0),!h.viewportChanged&&this.measureRequests.length==0){if(this.viewState.editorHeight)if(this.viewState.scrollTarget){this.docView.scrollIntoView(this.viewState.scrollTarget),this.viewState.scrollTarget=null;continue}else{let p=(i<0?this.viewState.heightMap.height:this.viewState.lineBlockAt(i).top)-s;if(p>1||p<-1){o=n.scrollTop=o+p,s=-1;continue}}break}}}finally{this.updateState=0,this.measureScheduled=-1}if(t&&!t.empty)for(let l of this.state.facet(Ph))l(t)}get themeClasses(){return Kh+" "+(this.state.facet(qh)?Ab:Lb)+" "+this.state.facet(ca)}updateAttrs(){let e=$y(this,pb,{class:"cm-editor"+(this.hasFocus?" cm-focused ":" ")+this.themeClasses}),t={spellcheck:"false",autocorrect:"off",autocapitalize:"off",translate:"no",contenteditable:this.state.facet(Ra)?"true":"false",class:"cm-content",style:`${_.tabSize}: ${this.state.tabSize}`,role:"textbox","aria-multiline":"true"};this.state.readOnly&&(t["aria-readonly"]="true"),$y(this,sf,t);let n=this.observer.ignore(()=>{let o=Rh(this.contentDOM,this.contentAttrs,t),i=Rh(this.dom,this.editorAttrs,e);return o||i});return this.editorAttrs=e,this.contentAttrs=t,n}showAnnouncements(e){let t=!0;for(let n of e)for(let o of n.effects)if(o.is(J.announce)){t&&(this.announceDOM.textContent=""),t=!1;let i=this.announceDOM.appendChild(document.createElement("div"));i.textContent=o.value}}mountStyles(){this.styleModules=this.state.facet(us),Nt.mount(this.root,this.styleModules.concat(c1).reverse())}readMeasured(){if(this.updateState==2)throw new Error("Reading the editor layout isn't allowed during an update");this.updateState==0&&this.measureScheduled>-1&&this.measure(!1)}requestMeasure(e){if(this.measureScheduled<0&&(this.measureScheduled=this.win.requestAnimationFrame(()=>this.measure())),e){if(this.measureRequests.indexOf(e)>-1)return;if(e.key!=null){for(let t=0;t<this.measureRequests.length;t++)if(this.measureRequests[t].key===e.key){this.measureRequests[t]=e;return}}this.measureRequests.push(e)}}plugin(e){let t=this.pluginMap.get(e);return(t===void 0||t&&t.spec!=e)&&this.pluginMap.set(e,t=this.plugins.find(n=>n.spec==e)||null),t&&t.update(this).value}get documentTop(){return this.contentDOM.getBoundingClientRect().top+this.viewState.paddingTop}get documentPadding(){return{top:this.viewState.paddingTop,bottom:this.viewState.paddingBottom}}elementAtHeight(e){return this.readMeasured(),this.viewState.elementAtHeight(e)}lineBlockAtHeight(e){return this.readMeasured(),this.viewState.lineBlockAtHeight(e)}get viewportLineBlocks(){return this.viewState.viewportLines}lineBlockAt(e){return this.viewState.lineBlockAt(e)}get contentHeight(){return this.viewState.contentHeight}moveByChar(e,t,n){return xh(this,e,Iy(this,e,t,n))}moveByGroup(e,t){return xh(this,e,Iy(this,e,t,n=>$k(this,e.head,n)))}moveToLineBoundary(e,t,n=!0){return Wk(this,e,t,n)}moveVertically(e,t,n){return xh(this,e,Uk(this,e,t,n))}domAtPos(e){return this.docView.domAtPos(e)}posAtDOM(e,t=0){return this.docView.posFromDOM(e,t)}posAtCoords(e,t=!0){return this.readMeasured(),Sb(this,e,t)}coordsAtPos(e,t=1){this.readMeasured();let n=this.docView.coordsAt(e,t);if(!n||n.left==n.right)return n;let o=this.state.doc.lineAt(e),i=this.bidiSpans(o),s=i[ar.find(i,e-o.from,-1,t)];return nf(n,s.dir==we.LTR==t>0)}coordsForChar(e){return this.readMeasured(),this.docView.coordsForChar(e)}get defaultCharacterWidth(){return this.viewState.heightOracle.charWidth}get defaultLineHeight(){return this.viewState.heightOracle.lineHeight}get textDirection(){return this.viewState.defaultTextDirection}textDirectionAt(e){return!this.state.facet(fb)||e<this.viewport.from||e>this.viewport.to?this.textDirection:(this.readMeasured(),this.docView.textDirectionAt(e))}get lineWrapping(){return this.viewState.heightOracle.lineWrapping}bidiSpans(e){if(e.length>m1)return bb(e.length);let t=this.textDirectionAt(e.from);for(let o of this.bidiCache)if(o.from==e.from&&o.dir==t)return o.order;let n=Pk(e.text,t);return this.bidiCache.push(new ni(e.from,e.to,t,n)),n}get hasFocus(){var e;return(this.dom.ownerDocument.hasFocus()||_.safari&&((e=this.inputState)===null||e===void 0?void 0:e.lastContextMenu)>Date.now()-3e4)&&this.root.activeElement==this.contentDOM}focus(){this.observer.ignore(()=>{Jy(this.contentDOM),this.docView.updateSelection()})}setRoot(e){this._root!=e&&(this._root=e,this.observer.setWindow((e.nodeType==9?e:e.ownerDocument).defaultView||window),this.mountStyles())}destroy(){for(let e of this.plugins)e.destroy(this);this.plugins=[],this.inputState.destroy(),this.dom.remove(),this.observer.destroy(),this.measureScheduled>-1&&this.win.cancelAnimationFrame(this.measureScheduled),this.destroyed=!0}static scrollIntoView(e,t={}){return Ty.of(new ei(typeof e=="number"?I.cursor(e):e,t.y,t.x,t.yMargin,t.xMargin))}static domEventHandlers(e){return Bt.define(()=>({}),{eventHandlers:e})}static theme(e,t){let n=Nt.newName(),o=[ca.of(n),us.of(jh(`.${n}`,e))];return t&&t.dark&&o.push(qh.of(!0)),o}static baseTheme(e){return Jr.lowest(us.of(jh("."+Kh,e,Ob)))}static findFromDOM(e){var t;let n=e.querySelector(".cm-content"),o=n&&re.get(n)||re.get(e);return((t=o==null?void 0:o.rootView)===null||t===void 0?void 0:t.view)||null}};J.styleModule=us;J.inputHandler=ub;J.focusChangeEffect=hb;J.perLineTextDirection=fb;J.exceptionSink=cb;J.updateListener=Ph;J.editable=Ra;J.mouseSelectionStyle=ab;J.dragMovesSelection=lb;J.clickAddsSelectionRange=sb;J.decorations=ms;J.atomicRanges=lf;J.scrollMargins=mb;J.darkTheme=qh;J.contentAttributes=sf;J.editorAttributes=pb;J.lineWrapping=J.contentAttributes.of({class:"cm-lineWrapping"});J.announce=ae.define();var m1=4096,Wy={},ni=class{constructor(e,t,n,o){this.from=e,this.to=t,this.dir=n,this.order=o}static update(e,t){if(t.empty)return e;let n=[],o=e.length?e[e.length-1].dir:we.LTR;for(let i=Math.max(0,e.length-10);i<e.length;i++){let s=e[i];s.dir==o&&!t.touchesRange(s.from,s.to)&&n.push(new ni(t.mapPos(s.from,1),t.mapPos(s.to,-1),s.dir,s.order))}return n}};function $y(r,e,t){for(let n=r.state.facet(e),o=n.length-1;o>=0;o--){let i=n[o],s=typeof i=="function"?i(r):i;s&&Eh(s,t)}return t}var g1=_.mac?"mac":_.windows?"win":_.linux?"linux":"key";function y1(r,e){let t=r.split(/-(?!$)/),n=t[t.length-1];n=="Space"&&(n=" ");let o,i,s,l;for(let a=0;a<t.length-1;++a){let c=t[a];if(/^(cmd|meta|m)$/i.test(c))l=!0;else if(/^a(lt)?$/i.test(c))o=!0;else if(/^(c|ctrl|control)$/i.test(c))i=!0;else if(/^s(hift)?$/i.test(c))s=!0;else if(/^mod$/i.test(c))e=="mac"?l=!0:i=!0;else throw new Error("Unrecognized modifier name: "+c)}return o&&(n="Alt-"+n),i&&(n="Ctrl-"+n),l&&(n="Meta-"+n),s&&(n="Shift-"+n),n}function ua(r,e,t){return e.altKey&&(r="Alt-"+r),e.ctrlKey&&(r="Ctrl-"+r),e.metaKey&&(r="Meta-"+r),t!==!1&&e.shiftKey&&(r="Shift-"+r),r}var b1=Jr.default(J.domEventHandlers({keydown(r,e){return S1(x1(e.state),r,e,"editor")}})),ri=U.define({enables:b1}),Uy=new WeakMap;function x1(r){let e=r.facet(ri),t=Uy.get(e);return t||Uy.set(e,t=w1(e.reduce((n,o)=>n.concat(o),[]))),t}var lr=null,v1=4e3;function w1(r,e=g1){let t=Object.create(null),n=Object.create(null),o=(s,l)=>{let a=n[s];if(a==null)n[s]=l;else if(a!=l)throw new Error("Key binding "+s+" is used both as a regular binding and as a multi-stroke prefix")},i=(s,l,a,c,u)=>{var h,f;let d=t[s]||(t[s]=Object.create(null)),p=l.split(/ (?!$)/).map(y=>y1(y,e));for(let y=1;y<p.length;y++){let v=p.slice(0,y).join(" ");o(v,!0),d[v]||(d[v]={preventDefault:!0,stopPropagation:!1,run:[w=>{let x=lr={view:w,prefix:v,scope:s};return setTimeout(()=>{lr==x&&(lr=null)},v1),!0}]})}let m=p.join(" ");o(m,!1);let g=d[m]||(d[m]={preventDefault:!1,stopPropagation:!1,run:((f=(h=d._any)===null||h===void 0?void 0:h.run)===null||f===void 0?void 0:f.slice())||[]});a&&g.run.push(a),c&&(g.preventDefault=!0),u&&(g.stopPropagation=!0)};for(let s of r){let l=s.scope?s.scope.split(" "):["editor"];if(s.any)for(let c of l){let u=t[c]||(t[c]=Object.create(null));u._any||(u._any={preventDefault:!1,stopPropagation:!1,run:[]});for(let h in u)u[h].run.push(s.any)}let a=s[e]||s.key;if(a)for(let c of l)i(c,a,s.run,s.preventDefault,s.stopPropagation),s.shift&&i(c,"Shift-"+a,s.shift,s.preventDefault,s.stopPropagation)}return t}function S1(r,e,t,n){let o=my(e),i=dn(o,0),s=Gr(i)==o.length&&o!=" ",l="",a=!1,c=!1,u=!1;lr&&lr.view==t&&lr.scope==n&&(l=lr.prefix+" ",Tb.indexOf(e.keyCode)<0&&(c=!0,lr=null));let h=new Set,f=g=>{if(g){for(let y of g.run)if(!h.has(y)&&(h.add(y),y(t,e)))return g.stopPropagation&&(u=!0),!0;g.preventDefault&&(g.stopPropagation&&(u=!0),c=!0)}return!1},d=r[n],p,m;return d&&(f(d[l+ua(o,e,!s)])?a=!0:s&&(e.altKey||e.metaKey||e.ctrlKey)&&!(_.windows&&e.ctrlKey&&e.altKey)&&(p=An[e.keyCode])&&p!=o?(f(d[l+ua(p,e,!0)])||e.shiftKey&&(m=Jo[e.keyCode])!=o&&m!=p&&f(d[l+ua(m,e,!1)]))&&(a=!0):s&&e.shiftKey&&f(d[l+ua(o,e,!0)])&&(a=!0),!a&&f(d._any)&&(a=!0)),c&&(a=!0),a&&u&&e.stopPropagation(),a}var no=class{constructor(e,t,n,o,i){this.className=e,this.left=t,this.top=n,this.width=o,this.height=i}draw(){let e=document.createElement("div");return e.className=this.className,this.adjust(e),e}update(e,t){return t.className!=this.className?!1:(this.adjust(e),!0)}adjust(e){e.style.left=this.left+"px",e.style.top=this.top+"px",this.width!=null&&(e.style.width=this.width+"px"),e.style.height=this.height+"px"}eq(e){return this.left==e.left&&this.top==e.top&&this.width==e.width&&this.height==e.height&&this.className==e.className}static forRange(e,t,n){if(n.empty){let o=e.coordsAtPos(n.head,n.assoc||1);if(!o)return[];let i=Vb(e);return[new no(t,o.left-i.left,o.top-i.top,null,o.bottom-o.top)]}else return C1(e,t,n)}};function Vb(r){let e=r.scrollDOM.getBoundingClientRect();return{left:(r.textDirection==we.LTR?e.left:e.right-r.scrollDOM.clientWidth)-r.scrollDOM.scrollLeft,top:e.top-r.scrollDOM.scrollTop}}function Gy(r,e,t){let n=I.cursor(e);return{from:Math.max(t.from,r.moveToLineBoundary(n,!1,!0).from),to:Math.min(t.to,r.moveToLineBoundary(n,!0,!0).from),type:Se.Text}}function C1(r,e,t){if(t.to<=r.viewport.from||t.from>=r.viewport.to)return[];let n=Math.max(t.from,r.viewport.from),o=Math.min(t.to,r.viewport.to),i=r.textDirection==we.LTR,s=r.contentDOM,l=s.getBoundingClientRect(),a=Vb(r),c=s.querySelector(".cm-line"),u=c&&window.getComputedStyle(c),h=l.left+(u?parseInt(u.paddingLeft)+Math.min(0,parseInt(u.textIndent)):0),f=l.right-(u?parseInt(u.paddingRight):0),d=Nh(r,n),p=Nh(r,o),m=d.type==Se.Text?d:null,g=p.type==Se.Text?p:null;if(m&&(r.lineWrapping||d.widgetLineBreaks)&&(m=Gy(r,n,m)),g&&(r.lineWrapping||p.widgetLineBreaks)&&(g=Gy(r,o,g)),m&&g&&m.from==g.from)return v(w(t.from,t.to,m));{let S=m?w(t.from,null,m):x(d,!1),b=g?w(null,t.to,g):x(p,!0),C=[];return(m||d).to<(g||p).from-(m&&g?1:0)||d.widgetLineBreaks>1&&S.bottom+r.defaultLineHeight/2<b.top?C.push(y(h,S.bottom,f,b.top)):S.bottom<b.top&&r.elementAtHeight((S.bottom+b.top)/2).type==Se.Text&&(S.bottom=b.top=(S.bottom+b.top)/2),v(S).concat(C).concat(v(b))}function y(S,b,C,k){return new no(e,S-a.left,b-a.top-.01,C-S,k-b+.01)}function v({top:S,bottom:b,horizontal:C}){let k=[];for(let E=0;E<C.length;E+=2)k.push(y(C[E],S,C[E+1],b));return k}function w(S,b,C){let k=1e9,E=-1e9,R=[];function N(D,F,K,A,V){let B=r.coordsAtPos(D,D==C.to?-2:2),G=r.coordsAtPos(K,K==C.from?2:-2);!B||!G||(k=Math.min(B.top,G.top,k),E=Math.max(B.bottom,G.bottom,E),V==we.LTR?R.push(i&&F?h:B.left,i&&A?f:G.right):R.push(!i&&A?h:G.left,!i&&F?f:B.right))}let O=S!=null?S:C.from,M=b!=null?b:C.to;for(let D of r.visibleRanges)if(D.to>O&&D.from<M)for(let F=Math.max(D.from,O),K=Math.min(D.to,M);;){let A=r.state.doc.lineAt(F);for(let V of r.bidiSpans(A)){let B=V.from+A.from,G=V.to+A.from;if(B>=K)break;G>F&&N(Math.max(B,F),S==null&&B<=O,Math.min(G,K),b==null&&G>=M,V.dir)}if(F=A.to+1,F>=K)break}return R.length==0&&N(O,S==null,M,b==null,r.textDirection),{top:k,bottom:E,horizontal:R}}function x(S,b){let C=l.top+(b?S.top:S.bottom);return{top:C,bottom:C,horizontal:[]}}}function T1(r,e){return r.constructor==e.constructor&&r.eq(e)}var Yh=class{constructor(e,t){this.view=e,this.layer=t,this.drawn=[],this.measureReq={read:this.measure.bind(this),write:this.draw.bind(this)},this.dom=e.scrollDOM.appendChild(document.createElement("div")),this.dom.classList.add("cm-layer"),t.above&&this.dom.classList.add("cm-layer-above"),t.class&&this.dom.classList.add(t.class),this.dom.setAttribute("aria-hidden","true"),this.setOrder(e.state),e.requestMeasure(this.measureReq),t.mount&&t.mount(this.dom,e)}update(e){e.startState.facet(pa)!=e.state.facet(pa)&&this.setOrder(e.state),(this.layer.update(e,this.dom)||e.geometryChanged)&&e.view.requestMeasure(this.measureReq)}setOrder(e){let t=0,n=e.facet(pa);for(;t<n.length&&n[t]!=this.layer;)t++;this.dom.style.zIndex=String((this.layer.above?150:-1)-t)}measure(){return this.layer.markers(this.view)}draw(e){if(e.length!=this.drawn.length||e.some((t,n)=>!T1(t,this.drawn[n]))){let t=this.dom.firstChild,n=0;for(let o of e)o.update&&t&&o.constructor&&this.drawn[n].constructor&&o.update(t,this.drawn[n])?(t=t.nextSibling,n++):this.dom.insertBefore(o.draw(),t);for(;t;){let o=t.nextSibling;t.remove(),t=o}this.drawn=e}}destroy(){this.layer.destroy&&this.layer.destroy(this.dom,this.view),this.dom.remove()}},pa=U.define();function Fb(r){return[Bt.define(e=>new Yh(e,r)),pa.of(r)]}var Bb=!_.ios,ys=U.define({combine(r){return Qr(r,{cursorBlinkRate:1200,drawRangeCursor:!0},{cursorBlinkRate:(e,t)=>Math.min(e,t),drawRangeCursor:(e,t)=>e||t})}});function af(r={}){return[ys.of(r),k1,M1,E1,db.of(!0)]}function Hb(r){return r.startState.facet(ys)!=r.state.facet(ys)}var k1=Fb({above:!0,markers(r){let{state:e}=r,t=e.facet(ys),n=[];for(let o of e.selection.ranges){let i=o==e.selection.main;if(o.empty?!i||Bb:t.drawRangeCursor){let s=i?"cm-cursor cm-cursor-primary":"cm-cursor cm-cursor-secondary",l=o.empty?o:I.cursor(o.head,o.head>o.anchor?-1:1);for(let a of no.forRange(r,s,l))n.push(a)}}return n},update(r,e){r.transactions.some(n=>n.selection)&&(e.style.animationName=e.style.animationName=="cm-blink"?"cm-blink2":"cm-blink");let t=Hb(r);return t&&qy(r.state,e),r.docChanged||r.selectionSet||t},mount(r,e){qy(e.state,r)},class:"cm-cursorLayer"});function qy(r,e){e.style.animationDuration=r.facet(ys).cursorBlinkRate+"ms"}var M1=Fb({above:!1,markers(r){return r.state.selection.ranges.map(e=>e.empty?[]:no.forRange(r,"cm-selectionBackground",e)).reduce((e,t)=>e.concat(t))},update(r,e){return r.docChanged||r.selectionSet||r.viewportChanged||Hb(r)},class:"cm-selectionLayer"}),_b={".cm-line":{"& ::selection":{backgroundColor:"transparent !important"},"&::selection":{backgroundColor:"transparent !important"}}};Bb&&(_b[".cm-line"].caretColor="transparent !important");var E1=Jr.highest(J.theme(_b));function Ky(r,e,t,n,o){e.lastIndex=0;for(let i=r.iterRange(t,n),s=t,l;!i.next().done;s+=i.value.length)if(!i.lineBreak)for(;l=e.exec(i.value);)o(s+l.index,l)}function R1(r,e){let t=r.visibleRanges;if(t.length==1&&t[0].from==r.viewport.from&&t[0].to==r.viewport.to)return t;let n=[];for(let{from:o,to:i}of t)o=Math.max(r.state.doc.lineAt(o).from,o-e),i=Math.min(r.state.doc.lineAt(i).to,i+e),n.length&&n[n.length-1].to>=o?n[n.length-1].to=i:n.push({from:o,to:i});return n}var Xh=class{constructor(e){let{regexp:t,decoration:n,decorate:o,boundary:i,maxLength:s=1e3}=e;if(!t.global)throw new RangeError("The regular expression given to MatchDecorator should have its 'g' flag set");if(this.regexp=t,o)this.addMatch=(l,a,c,u)=>o(u,c,c+l[0].length,l,a);else if(typeof n=="function")this.addMatch=(l,a,c,u)=>{let h=n(l,a,c);h&&u(c,c+l[0].length,h)};else if(n)this.addMatch=(l,a,c,u)=>u(c,c+l[0].length,n);else throw new RangeError("Either 'decorate' or 'decoration' should be provided to MatchDecorator");this.boundary=i,this.maxLength=s}createDeco(e){let t=new pn,n=t.add.bind(t);for(let{from:o,to:i}of R1(e,this.maxLength))Ky(e.state.doc,this.regexp,o,i,(s,l)=>this.addMatch(l,e,s,n));return t.finish()}updateDeco(e,t){let n=1e9,o=-1;return e.docChanged&&e.changes.iterChanges((i,s,l,a)=>{a>e.view.viewport.from&&l<e.view.viewport.to&&(n=Math.min(l,n),o=Math.max(a,o))}),e.viewportChanged||o-n>1e3?this.createDeco(e.view):o>-1?this.updateRange(e.view,t.map(e.changes),n,o):t}updateRange(e,t,n,o){for(let i of e.visibleRanges){let s=Math.max(i.from,n),l=Math.min(i.to,o);if(l>s){let a=e.state.doc.lineAt(s),c=a.to<l?e.state.doc.lineAt(l):a,u=Math.max(i.from,a.from),h=Math.min(i.to,c.to);if(this.boundary){for(;s>a.from;s--)if(this.boundary.test(a.text[s-1-a.from])){u=s;break}for(;l<c.to;l++)if(this.boundary.test(c.text[l-c.from])){h=l;break}}let f=[],d,p=(m,g,y)=>f.push(y.range(m,g));if(a==c)for(this.regexp.lastIndex=u-a.from;(d=this.regexp.exec(a.text))&&d.index<h-a.from;)this.addMatch(d,e,d.index+a.from,p);else Ky(e.state.doc,this.regexp,u,h,(m,g)=>this.addMatch(g,e,m,p));t=t.update({filterFrom:u,filterTo:h,filter:(m,g)=>m<u||g>h,add:f})}}return t}},Zh=/x/.unicode!=null?"gu":"g",I1=new RegExp(`[\0-\b
|
|
26
|
-
-\x7F-\x9F\xAD\u061C\u200B\u200E\u200F\u2028\u2029\u202D\u202E\u2066\u2067\u2069\uFEFF\uFFF9-\uFFFC]`,Zh),P1={0:"null",7:"bell",8:"backspace",10:"newline",11:"vertical tab",13:"carriage return",27:"escape",8203:"zero width space",8204:"zero width non-joiner",8205:"zero width joiner",8206:"left-to-right mark",8207:"right-to-left mark",8232:"line separator",8237:"left-to-right override",8238:"right-to-left override",8294:"left-to-right isolate",8295:"right-to-left isolate",8297:"pop directional isolate",8233:"paragraph separator",65279:"zero width no-break space",65532:"object replacement"},wh=null;function D1(){var r;if(wh==null&&typeof document<"u"&&document.body){let e=document.body.style;wh=((r=e.tabSize)!==null&&r!==void 0?r:e.MozTabSize)!=null}return wh||!1}var ma=U.define({combine(r){let e=Qr(r,{render:null,specialChars:I1,addSpecialChars:null});return(e.replaceTabs=!D1())&&(e.specialChars=new RegExp(" |"+e.specialChars.source,Zh)),e.addSpecialChars&&(e.specialChars=new RegExp(e.specialChars.source+"|"+e.addSpecialChars.source,Zh)),e}});function cf(r={}){return[ma.of(r),L1()]}var jy=null;function L1(){return jy||(jy=Bt.fromClass(class{constructor(r){this.view=r,this.decorations=Pe.none,this.decorationCache=Object.create(null),this.decorator=this.makeDecorator(r.state.facet(ma)),this.decorations=this.decorator.createDeco(r)}makeDecorator(r){return new Xh({regexp:r.specialChars,decoration:(e,t,n)=>{let{doc:o}=t.state,i=dn(e[0],0);if(i==9){let s=o.lineAt(n),l=t.state.tabSize,a=Yr(s.text,l,n-s.from);return Pe.replace({widget:new tf((l-a%l)*this.view.defaultCharacterWidth)})}return this.decorationCache[i]||(this.decorationCache[i]=Pe.replace({widget:new ef(r,i)}))},boundary:r.replaceTabs?void 0:/[^]/})}update(r){let e=r.state.facet(ma);r.startState.facet(ma)!=e?(this.decorator=this.makeDecorator(e),this.decorations=this.decorator.createDeco(r.view)):this.decorations=this.decorator.updateDeco(r,this.decorations)}},{decorations:r=>r.decorations}))}var A1="\u2022";function O1(r){return r>=32?A1:r==10?"\u2424":String.fromCharCode(9216+r)}var ef=class extends Vn{constructor(e,t){super(),this.options=e,this.code=t}eq(e){return e.code==this.code}toDOM(e){let t=O1(this.code),n=e.state.phrase("Control character")+" "+(P1[this.code]||"0x"+this.code.toString(16)),o=this.options.render&&this.options.render(this.code,n,t);if(o)return o;let i=document.createElement("span");return i.textContent=t,i.title=n,i.setAttribute("aria-label",n),i.className="cm-specialChar",i}ignoreEvent(){return!1}},tf=class extends Vn{constructor(e){super(),this.width=e}eq(e){return e.width==this.width}toDOM(){let e=document.createElement("span");return e.textContent=" ",e.className="cm-tab",e.style.width=this.width+"px",e}ignoreEvent(){return!1}};var rH=J.baseTheme({".cm-tooltip":{zIndex:100,boxSizing:"border-box"},"&light .cm-tooltip":{border:"1px solid #bbb",backgroundColor:"#f5f5f5"},"&light .cm-tooltip-section:not(:first-child)":{borderTop:"1px solid #bbb"},"&dark .cm-tooltip":{backgroundColor:"#333338",color:"white"},".cm-tooltip-arrow":{height:"7px",width:`${7*2}px`,position:"absolute",zIndex:-1,overflow:"hidden","&:before, &:after":{content:"''",position:"absolute",width:0,height:0,borderLeft:"7px solid transparent",borderRight:"7px solid transparent"},".cm-tooltip-above &":{bottom:"-7px","&:before":{borderTop:"7px solid #bbb"},"&:after":{borderTop:"7px solid #f5f5f5",bottom:"1px"}},".cm-tooltip-below &":{top:"-7px","&:before":{borderBottom:"7px solid #bbb"},"&:after":{borderBottom:"7px solid #f5f5f5",top:"1px"}}},"&dark .cm-tooltip .cm-tooltip-arrow":{"&:before":{borderTopColor:"#333338",borderBottomColor:"#333338"},"&:after":{borderTopColor:"transparent",borderBottomColor:"transparent"}}});var Fn=class extends tn{compare(e){return this==e||this.constructor==e.constructor&&this.eq(e)}eq(e){return!1}destroy(e){}};Fn.prototype.elementClass="";Fn.prototype.toDOM=void 0;Fn.prototype.mapMode=Ue.TrackBefore;Fn.prototype.startSide=Fn.prototype.endSide=-1;Fn.prototype.point=!0;var N1=0,Ht=class{constructor(e,t,n){this.set=e,this.base=t,this.modified=n,this.id=N1++}static define(e){if(e!=null&&e.base)throw new Error("Can not derive from a modified tag");let t=new Ht([],null,[]);if(t.set.push(t),e)for(let n of e.set)t.set.push(n);return t}static defineModifier(){let e=new oi;return t=>t.modified.indexOf(e)>-1?t:oi.get(t.base||t,t.modified.concat(e).sort((n,o)=>n.id-o.id))}},V1=0,oi=class{constructor(){this.instances=[],this.id=V1++}static get(e,t){if(!t.length)return e;let n=t[0].instances.find(l=>l.base==e&&F1(t,l.modified));if(n)return n;let o=[],i=new Ht(o,e,t);for(let l of t)l.instances.push(i);let s=B1(t);for(let l of e.set)if(!l.modified.length)for(let a of s)o.push(oi.get(l,a));return i}};function F1(r,e){return r.length==e.length&&r.every((t,n)=>t==e[n])}function B1(r){let e=[[]];for(let t=0;t<r.length;t++)for(let n=0,o=e.length;n<o;n++)e.push(e[n].concat(r[t]));return e.sort((t,n)=>n.length-t.length)}function xs(r){let e=Object.create(null);for(let t in r){let n=r[t];Array.isArray(n)||(n=[n]);for(let o of t.split(" "))if(o){let i=[],s=2,l=o;for(let h=0;;){if(l=="..."&&h>0&&h+3==o.length){s=1;break}let f=/^"(?:[^"\\]|\\.)*?"|[^\/!]+/.exec(l);if(!f)throw new RangeError("Invalid path: "+o);if(i.push(f[0]=="*"?"":f[0][0]=='"'?JSON.parse(f[0]):f[0]),h+=f[0].length,h==o.length)break;let d=o[h++];if(h==o.length&&d=="!"){s=0;break}if(d!="/")throw new RangeError("Invalid path: "+o);l=o.slice(h)}let a=i.length-1,c=i[a];if(!c)throw new RangeError("Invalid path: "+o);let u=new ii(n,s,a>0?i.slice(0,a):null);e[c]=u.sort(e[c])}}return $b.add(e)}var $b=new Q,ii=class{constructor(e,t,n,o){this.tags=e,this.mode=t,this.context=n,this.next=o}get opaque(){return this.mode==0}get inherit(){return this.mode==1}sort(e){return!e||e.depth<this.depth?(this.next=e,this):(e.next=this.sort(e.next),e)}get depth(){return this.context?this.context.length:0}};ii.empty=new ii([],2,null);function df(r,e){let t=Object.create(null);for(let i of r)if(!Array.isArray(i.tag))t[i.tag.id]=i.class;else for(let s of i.tag)t[s.id]=i.class;let{scope:n,all:o=null}=e||{};return{style:i=>{let s=o;for(let l of i)for(let a of l.set){let c=t[a.id];if(c){s=s?s+" "+c:c;break}}return s},scope:n}}function H1(r,e){let t=null;for(let n of r){let o=n.style(e);o&&(t=t?t+" "+o:o)}return t}function Ub(r,e,t,n=0,o=r.length){let i=new hf(n,Array.isArray(e)?e:[e],t);i.highlightRange(r.cursor(),n,o,"",i.highlighters),i.flush(o)}var hf=class{constructor(e,t,n){this.at=e,this.highlighters=t,this.span=n,this.class=""}startSpan(e,t){t!=this.class&&(this.flush(e),e>this.at&&(this.at=e),this.class=t)}flush(e){e>this.at&&this.class&&this.span(this.at,e,this.class)}highlightRange(e,t,n,o,i){let{type:s,from:l,to:a}=e;if(l>=n||a<=t)return;s.isTop&&(i=this.highlighters.filter(d=>!d.scope||d.scope(s)));let c=o,u=_1(e)||ii.empty,h=H1(i,u.tags);if(h&&(c&&(c+=" "),c+=h,u.mode==1&&(o+=(o?" ":"")+h)),this.startSpan(Math.max(t,l),c),u.opaque)return;let f=e.tree&&e.tree.prop(Q.mounted);if(f&&f.overlay){let d=e.node.enter(f.overlay[0].from+l,1),p=this.highlighters.filter(g=>!g.scope||g.scope(f.tree.type)),m=e.firstChild();for(let g=0,y=l;;g++){let v=g<f.overlay.length?f.overlay[g]:null,w=v?v.from+l:a,x=Math.max(t,y),S=Math.min(n,w);if(x<S&&m)for(;e.from<S&&(this.highlightRange(e,x,S,o,i),this.startSpan(Math.min(S,e.to),c),!(e.to>=w||!e.nextSibling())););if(!v||w>n)break;y=v.to+l,y>t&&(this.highlightRange(d.cursor(),Math.max(t,v.from+l),Math.min(n,y),"",p),this.startSpan(Math.min(n,y),c))}m&&e.parent()}else if(e.firstChild()){f&&(o="");do if(!(e.to<=t)){if(e.from>=n)break;this.highlightRange(e,t,n,o,i),this.startSpan(Math.min(n,e.to),c)}while(e.nextSibling());e.parent()}}};function _1(r){let e=r.type.prop($b);for(;e&&e.context&&!r.matchContext(e.context);)e=e.next;return e||null}var L=Ht.define,Ia=L(),hr=L(),zb=L(hr),Wb=L(hr),fr=L(),Pa=L(fr),uf=L(fr),vn=L(),ro=L(vn),bn=L(),xn=L(),ff=L(),bs=L(ff),Da=L(),P={comment:Ia,lineComment:L(Ia),blockComment:L(Ia),docComment:L(Ia),name:hr,variableName:L(hr),typeName:zb,tagName:L(zb),propertyName:Wb,attributeName:L(Wb),className:L(hr),labelName:L(hr),namespace:L(hr),macroName:L(hr),literal:fr,string:Pa,docString:L(Pa),character:L(Pa),attributeValue:L(Pa),number:uf,integer:L(uf),float:L(uf),bool:L(fr),regexp:L(fr),escape:L(fr),color:L(fr),url:L(fr),keyword:bn,self:L(bn),null:L(bn),atom:L(bn),unit:L(bn),modifier:L(bn),operatorKeyword:L(bn),controlKeyword:L(bn),definitionKeyword:L(bn),moduleKeyword:L(bn),operator:xn,derefOperator:L(xn),arithmeticOperator:L(xn),logicOperator:L(xn),bitwiseOperator:L(xn),compareOperator:L(xn),updateOperator:L(xn),definitionOperator:L(xn),typeOperator:L(xn),controlOperator:L(xn),punctuation:ff,separator:L(ff),bracket:bs,angleBracket:L(bs),squareBracket:L(bs),paren:L(bs),brace:L(bs),content:vn,heading:ro,heading1:L(ro),heading2:L(ro),heading3:L(ro),heading4:L(ro),heading5:L(ro),heading6:L(ro),contentSeparator:L(vn),list:L(vn),quote:L(vn),emphasis:L(vn),strong:L(vn),link:L(vn),monospace:L(vn),strikethrough:L(vn),inserted:L(),deleted:L(),changed:L(),invalid:L(),meta:Da,documentMeta:L(Da),annotation:L(Da),processingInstruction:L(Da),definition:Ht.defineModifier(),constant:Ht.defineModifier(),function:Ht.defineModifier(),standard:Ht.defineModifier(),local:Ht.defineModifier(),special:Ht.defineModifier()},lH=df([{tag:P.link,class:"tok-link"},{tag:P.heading,class:"tok-heading"},{tag:P.emphasis,class:"tok-emphasis"},{tag:P.strong,class:"tok-strong"},{tag:P.keyword,class:"tok-keyword"},{tag:P.atom,class:"tok-atom"},{tag:P.bool,class:"tok-bool"},{tag:P.url,class:"tok-url"},{tag:P.labelName,class:"tok-labelName"},{tag:P.inserted,class:"tok-inserted"},{tag:P.deleted,class:"tok-deleted"},{tag:P.literal,class:"tok-literal"},{tag:P.string,class:"tok-string"},{tag:P.number,class:"tok-number"},{tag:[P.regexp,P.escape,P.special(P.string)],class:"tok-string2"},{tag:P.variableName,class:"tok-variableName"},{tag:P.local(P.variableName),class:"tok-variableName tok-local"},{tag:P.definition(P.variableName),class:"tok-variableName tok-definition"},{tag:P.special(P.variableName),class:"tok-variableName2"},{tag:P.definition(P.propertyName),class:"tok-propertyName tok-definition"},{tag:P.typeName,class:"tok-typeName"},{tag:P.namespace,class:"tok-namespace"},{tag:P.className,class:"tok-className"},{tag:P.macroName,class:"tok-macroName"},{tag:P.propertyName,class:"tok-propertyName"},{tag:P.operator,class:"tok-operator"},{tag:P.comment,class:"tok-comment"},{tag:P.meta,class:"tok-meta"},{tag:P.invalid,class:"tok-invalid"},{tag:P.punctuation,class:"tok-punctuation"}]);var pf,si=new Q;function z1(r){return U.define({combine:r?e=>e.concat(r):void 0})}var W1=new Q,Tt=class{constructor(e,t,n=[],o=""){this.data=e,this.name=o,ee.prototype.hasOwnProperty("tree")||Object.defineProperty(ee.prototype,"tree",{get(){return qe(this)}}),this.parser=t,this.extension=[ai.of(this),ee.languageData.of((i,s,l)=>{let a=Gb(i,s,l),c=a.type.prop(si);if(!c)return[];let u=i.facet(c),h=a.type.prop(W1);if(h){let f=a.resolve(s-a.from,l);for(let d of h)if(d.test(f,i)){let p=i.facet(d.facet);return d.type=="replace"?p:p.concat(u)}}return u})].concat(n)}isActiveAt(e,t,n=-1){return Gb(e,t,n).type.prop(si)==this.data}findRegions(e){let t=e.facet(ai);if((t==null?void 0:t.data)==this.data)return[{from:0,to:e.doc.length}];if(!t||!t.allowsNesting)return[];let n=[],o=(i,s)=>{if(i.prop(si)==this.data){n.push({from:s,to:s+i.length});return}let l=i.prop(Q.mounted);if(l){if(l.tree.prop(si)==this.data){if(l.overlay)for(let a of l.overlay)n.push({from:a.from+s,to:a.to+s});else n.push({from:s,to:s+i.length});return}else if(l.overlay){let a=n.length;if(o(l.tree,l.overlay[0].from+s),n.length>a)return}}for(let a=0;a<i.children.length;a++){let c=i.children[a];c instanceof ue&&o(c,i.positions[a]+s)}};return o(qe(e),0),n}get allowsNesting(){return!0}};Tt.setState=ae.define();function Gb(r,e,t){let n=r.facet(ai),o=qe(r).topNode;if(!n||n.allowsNesting)for(let i=o;i;i=i.enter(e,t,Ce.ExcludeBuffers))i.type.isTop&&(o=i);return o}var dr=class extends Tt{constructor(e,t,n){super(e,t,[],n),this.parser=t}static define(e){let t=z1(e.languageData);return new dr(t,e.parser.configure({props:[si.add(n=>n.isTop?t:void 0)]}),e.name)}configure(e,t){return new dr(this.data,this.parser.configure(e),t||this.name)}get allowsNesting(){return this.parser.hasWrappers()}};function qe(r){let e=r.field(Tt.state,!1);return e?e.tree:ue.empty}var bf=class{constructor(e){this.doc=e,this.cursorPos=0,this.string="",this.cursor=e.iter()}get length(){return this.doc.length}syncTo(e){return this.string=this.cursor.next(e-this.cursorPos).value,this.cursorPos=e+this.string.length,this.cursorPos-this.string.length}chunk(e){return this.syncTo(e),this.string}get lineChunks(){return!0}read(e,t){let n=this.cursorPos-this.string.length;return e<n||t>=this.cursorPos?this.doc.sliceString(e,t):this.string.slice(e-n,t-n)}},vs=null,li=class{constructor(e,t,n=[],o,i,s,l,a){this.parser=e,this.state=t,this.fragments=n,this.tree=o,this.treeLen=i,this.viewport=s,this.skipped=l,this.scheduleOn=a,this.parse=null,this.tempSkipped=[]}static create(e,t,n){return new li(e,t,[],ue.empty,0,n,[],null)}startParse(){return this.parser.startParse(new bf(this.state.doc),this.fragments)}work(e,t){return t!=null&&t>=this.state.doc.length&&(t=void 0),this.tree!=ue.empty&&this.isDone(t!=null?t:this.state.doc.length)?(this.takeTree(),!0):this.withContext(()=>{var n;if(typeof e=="number"){let o=Date.now()+e;e=()=>Date.now()>o}for(this.parse||(this.parse=this.startParse()),t!=null&&(this.parse.stoppedAt==null||this.parse.stoppedAt>t)&&t<this.state.doc.length&&this.parse.stopAt(t);;){let o=this.parse.advance();if(o)if(this.fragments=this.withoutTempSkipped(un.addTree(o,this.fragments,this.parse.stoppedAt!=null)),this.treeLen=(n=this.parse.stoppedAt)!==null&&n!==void 0?n:this.state.doc.length,this.tree=o,this.parse=null,this.treeLen<(t!=null?t:this.state.doc.length))this.parse=this.startParse();else return!0;if(e())return!1}})}takeTree(){let e,t;this.parse&&(e=this.parse.parsedPos)>=this.treeLen&&((this.parse.stoppedAt==null||this.parse.stoppedAt>e)&&this.parse.stopAt(e),this.withContext(()=>{for(;!(t=this.parse.advance()););}),this.treeLen=e,this.tree=t,this.fragments=this.withoutTempSkipped(un.addTree(this.tree,this.fragments,!0)),this.parse=null)}withContext(e){let t=vs;vs=this;try{return e()}finally{vs=t}}withoutTempSkipped(e){for(let t;t=this.tempSkipped.pop();)e=qb(e,t.from,t.to);return e}changes(e,t){let{fragments:n,tree:o,treeLen:i,viewport:s,skipped:l}=this;if(this.takeTree(),!e.empty){let a=[];if(e.iterChangedRanges((c,u,h,f)=>a.push({fromA:c,toA:u,fromB:h,toB:f})),n=un.applyChanges(n,a),o=ue.empty,i=0,s={from:e.mapPos(s.from,-1),to:e.mapPos(s.to,1)},this.skipped.length){l=[];for(let c of this.skipped){let u=e.mapPos(c.from,1),h=e.mapPos(c.to,-1);u<h&&l.push({from:u,to:h})}}}return new li(this.parser,t,n,o,i,s,l,this.scheduleOn)}updateViewport(e){if(this.viewport.from==e.from&&this.viewport.to==e.to)return!1;this.viewport=e;let t=this.skipped.length;for(let n=0;n<this.skipped.length;n++){let{from:o,to:i}=this.skipped[n];o<e.to&&i>e.from&&(this.fragments=qb(this.fragments,o,i),this.skipped.splice(n--,1))}return this.skipped.length>=t?!1:(this.reset(),!0)}reset(){this.parse&&(this.takeTree(),this.parse=null)}skipUntilInView(e,t){this.skipped.push({from:e,to:t})}static getSkippingParser(e){return new class extends No{createParse(t,n,o){let i=o[0].from,s=o[o.length-1].to;return{parsedPos:i,advance(){let a=vs;if(a){for(let c of o)a.tempSkipped.push(c);e&&(a.scheduleOn=a.scheduleOn?Promise.all([a.scheduleOn,e]):e)}return this.parsedPos=s,new ue(Ne.none,[],[],s-i)},stoppedAt:null,stopAt(){}}}}}isDone(e){e=Math.min(e,this.state.doc.length);let t=this.fragments;return this.treeLen>=e&&t.length&&t[0].from==0&&t[0].to>=e}static get(){return vs}};function qb(r,e,t){return un.applyChanges(r,[{fromA:e,toA:t,fromB:e,toB:t}])}var pr=class{constructor(e){this.context=e,this.tree=e.tree}apply(e){if(!e.docChanged&&this.tree==this.context.tree)return this;let t=this.context.changes(e.changes,e.state),n=this.context.treeLen==e.startState.doc.length?void 0:Math.max(e.changes.mapPos(this.context.treeLen),t.viewport.to);return t.work(20,n)||t.takeTree(),new pr(t)}static init(e){let t=Math.min(3e3,e.doc.length),n=li.create(e.facet(ai).parser,e,{from:0,to:t});return n.work(20,t)||n.takeTree(),new pr(n)}};Tt.state=ot.define({create:pr.init,update(r,e){for(let t of e.effects)if(t.is(Tt.setState))return t.value;return e.startState.facet(ai)!=e.state.facet(ai)?pr.init(e.state):r.apply(e)}});var Jb=r=>{let e=setTimeout(()=>r(),500);return()=>clearTimeout(e)};typeof requestIdleCallback<"u"&&(Jb=r=>{let e=-1,t=setTimeout(()=>{e=requestIdleCallback(r,{timeout:500-100})},100);return()=>e<0?clearTimeout(t):cancelIdleCallback(e)});var mf=typeof navigator<"u"&&(!((pf=navigator.scheduling)===null||pf===void 0)&&pf.isInputPending)?()=>navigator.scheduling.isInputPending():null,$1=Bt.fromClass(class{constructor(e){this.view=e,this.working=null,this.workScheduled=0,this.chunkEnd=-1,this.chunkBudget=-1,this.work=this.work.bind(this),this.scheduleWork()}update(e){let t=this.view.state.field(Tt.state).context;(t.updateViewport(e.view.viewport)||this.view.viewport.to>t.treeLen)&&this.scheduleWork(),e.docChanged&&(this.view.hasFocus&&(this.chunkBudget+=50),this.scheduleWork()),this.checkAsyncSchedule(t)}scheduleWork(){if(this.working)return;let{state:e}=this.view,t=e.field(Tt.state);(t.tree!=t.context.tree||!t.context.isDone(e.doc.length))&&(this.working=Jb(this.work))}work(e){this.working=null;let t=Date.now();if(this.chunkEnd<t&&(this.chunkEnd<0||this.view.hasFocus)&&(this.chunkEnd=t+3e4,this.chunkBudget=3e3),this.chunkBudget<=0)return;let{state:n,viewport:{to:o}}=this.view,i=n.field(Tt.state);if(i.tree==i.context.tree&&i.context.isDone(o+1e5))return;let s=Date.now()+Math.min(this.chunkBudget,100,e&&!mf?Math.max(25,e.timeRemaining()-5):1e9),l=i.context.treeLen<o&&n.doc.length>o+1e3,a=i.context.work(()=>mf&&mf()||Date.now()>s,o+(l?0:1e5));this.chunkBudget-=Date.now()-t,(a||this.chunkBudget<=0)&&(i.context.takeTree(),this.view.dispatch({effects:Tt.setState.of(new pr(i.context))})),this.chunkBudget>0&&!(a&&!l)&&this.scheduleWork(),this.checkAsyncSchedule(i.context)}checkAsyncSchedule(e){e.scheduleOn&&(this.workScheduled++,e.scheduleOn.then(()=>this.scheduleWork()).catch(t=>gn(this.view.state,t)).then(()=>this.workScheduled--),e.scheduleOn=null)}destroy(){this.working&&this.working()}isWorking(){return!!(this.working||this.workScheduled>0)}},{eventHandlers:{focus(){this.scheduleWork()}}}),ai=U.define({combine(r){return r.length?r[0]:null},enables:r=>[Tt.state,$1,J.contentAttributes.compute([r],e=>{let t=e.facet(r);return t&&t.name?{"data-language":t.name}:{}})]});var U1=U.define(),Ss=U.define({combine:r=>{if(!r.length)return" ";let e=r[0];if(!e||/\S/.test(e)||Array.from(e).some(t=>t!=e[0]))throw new Error("Invalid indent unit: "+JSON.stringify(r[0]));return e}});function Cs(r){let e=r.facet(Ss);return e.charCodeAt(0)==9?r.tabSize*e.length:e.length}function Ts(r,e){let t="",n=r.tabSize,o=r.facet(Ss)[0];if(o==" "){for(;e>=n;)t+=" ",e-=n;o=" "}for(let i=0;i<e;i++)t+=o;return t}function Cf(r,e){r instanceof ee&&(r=new oo(r));for(let n of r.state.facet(U1)){let o=n(r,e);if(o!==void 0)return o}let t=qe(r.state);return t?q1(r,t,e):null}var oo=class{constructor(e,t={}){this.state=e,this.options=t,this.unit=Cs(e)}lineAt(e,t=1){let n=this.state.doc.lineAt(e),{simulateBreak:o,simulateDoubleBreak:i}=this.options;return o!=null&&o>=n.from&&o<=n.to?i&&o==e?{text:"",from:e}:(t<0?o<e:o<=e)?{text:n.text.slice(o-n.from),from:o}:{text:n.text.slice(0,o-n.from),from:n.from}:n}textAfterPos(e,t=1){if(this.options.simulateDoubleBreak&&e==this.options.simulateBreak)return"";let{text:n,from:o}=this.lineAt(e,t);return n.slice(e-o,Math.min(n.length,e+100-o))}column(e,t=1){let{text:n,from:o}=this.lineAt(e,t),i=this.countColumn(n,e-o),s=this.options.overrideIndentation?this.options.overrideIndentation(o):-1;return s>-1&&(i+=s-this.countColumn(n,n.search(/\S|$/))),i}countColumn(e,t=e.length){return Yr(e,this.state.tabSize,t)}lineIndent(e,t=1){let{text:n,from:o}=this.lineAt(e,t),i=this.options.overrideIndentation;if(i){let s=i(o);if(s>-1)return s}return this.countColumn(n,n.search(/\S|$/))}get simulatedBreak(){return this.options.simulateBreak||null}},G1=new Q;function q1(r,e,t){return Qb(e.resolveInner(t).enterUnfinishedNodesBefore(t),t,r)}function K1(r){return r.pos==r.options.simulateBreak&&r.options.simulateDoubleBreak}function j1(r){let e=r.type.prop(G1);if(e)return e;let t=r.firstChild,n;if(t&&(n=t.type.prop(Q.closedBy))){let o=r.lastChild,i=o&&n.indexOf(o.name)>-1;return s=>X1(s,!0,1,void 0,i&&!K1(s)?o.from:void 0)}return r.parent==null?J1:null}function Qb(r,e,t){for(;r;r=r.parent){let n=j1(r);if(n)return n(ws.create(t,e,r))}return null}function J1(){return 0}var ws=class extends oo{constructor(e,t,n){super(e.state,e.options),this.base=e,this.pos=t,this.node=n}static create(e,t,n){return new ws(e,t,n)}get textAfter(){return this.textAfterPos(this.pos)}get baseIndent(){return this.baseIndentFor(this.node)}baseIndentFor(e){let t=this.state.doc.lineAt(e.from);for(;;){let n=e.resolve(t.from);for(;n.parent&&n.parent.from==n.from;)n=n.parent;if(Q1(n,e))break;t=this.state.doc.lineAt(n.from)}return this.lineIndent(t.from)}continue(){let e=this.node.parent;return e?Qb(e,this.pos,this.base):0}};function Q1(r,e){for(let t=e;t;t=t.parent)if(r==t)return!0;return!1}function Y1(r){let e=r.node,t=e.childAfter(e.from),n=e.lastChild;if(!t)return null;let o=r.options.simulateBreak,i=r.state.doc.lineAt(t.from),s=o==null||o<=i.from?i.to:Math.min(i.to,o);for(let l=t.to;;){let a=e.childAfter(l);if(!a||a==n)return null;if(!a.type.isSkipped)return a.from<s?t:null;l=a.to}}function X1(r,e,t,n,o){let i=r.textAfter,s=i.match(/^\s*/)[0].length,l=n&&i.slice(s,s+n.length)==n||o==r.pos+s,a=e?Y1(r):null;return a?l?r.column(a.from):r.column(a.to):r.baseIndent+(l?0:r.unit*t)}var Bn=class{constructor(e,t){this.specs=e;let n;function o(l){let a=Nt.newName();return(n||(n=Object.create(null)))["."+a]=l,a}let i=typeof t.all=="string"?t.all:t.all?o(t.all):void 0,s=t.scope;this.scope=s instanceof Tt?l=>l.prop(si)==s.data:s?l=>l==s:void 0,this.style=df(e.map(l=>({tag:l.tag,class:l.class||o(Object.assign({},l,{tag:null}))})),{all:i}).style,this.module=n?new Nt(n):null,this.themeType=t.themeType}static define(e,t){return new Bn(e,t||{})}},xf=U.define(),Yb=U.define({combine(r){return r.length?[r[0]]:null}});function gf(r){let e=r.facet(xf);return e.length?e:r.facet(Yb)}function ks(r,e){let t=[Z1],n;return r instanceof Bn&&(r.module&&t.push(J.styleModule.of(r.module)),n=r.themeType),e!=null&&e.fallback?t.push(Yb.of(r)):n?t.push(xf.computeN([J.darkTheme],o=>o.facet(J.darkTheme)==(n=="dark")?[r]:[])):t.push(xf.of(r)),t}var vf=class{constructor(e){this.markCache=Object.create(null),this.tree=qe(e.state),this.decorations=this.buildDeco(e,gf(e.state))}update(e){let t=qe(e.state),n=gf(e.state),o=n!=gf(e.startState);t.length<e.view.viewport.to&&!o&&t.type==this.tree.type?this.decorations=this.decorations.map(e.changes):(t!=this.tree||e.viewportChanged||o)&&(this.tree=t,this.decorations=this.buildDeco(e.view,n))}buildDeco(e,t){if(!t||!this.tree.length)return Pe.none;let n=new pn;for(let{from:o,to:i}of e.visibleRanges)Ub(this.tree,t,(s,l,a)=>{n.add(s,l,this.markCache[a]||(this.markCache[a]=Pe.mark({class:a})))},o,i);return n.finish()}},Z1=Jr.high(Bt.fromClass(vf,{decorations:r=>r.decorations})),Tf=Bn.define([{tag:P.meta,color:"#404740"},{tag:P.link,textDecoration:"underline"},{tag:P.heading,textDecoration:"underline",fontWeight:"bold"},{tag:P.emphasis,fontStyle:"italic"},{tag:P.strong,fontWeight:"bold"},{tag:P.strikethrough,textDecoration:"line-through"},{tag:P.keyword,color:"#708"},{tag:[P.atom,P.bool,P.url,P.contentSeparator,P.labelName],color:"#219"},{tag:[P.literal,P.inserted],color:"#164"},{tag:[P.string,P.deleted],color:"#a11"},{tag:[P.regexp,P.escape,P.special(P.string)],color:"#e40"},{tag:P.definition(P.variableName),color:"#00f"},{tag:P.local(P.variableName),color:"#30a"},{tag:[P.typeName,P.namespace],color:"#085"},{tag:P.className,color:"#167"},{tag:[P.special(P.variableName),P.macroName],color:"#256"},{tag:P.definition(P.propertyName),color:"#00c"},{tag:P.comment,color:"#940"},{tag:P.invalid,color:"#f00"}]);var eM=1e4,tM="()[]{}";var nM=new Q;function wf(r,e,t){let n=r.prop(e<0?Q.openedBy:Q.closedBy);if(n)return n;if(r.name.length==1){let o=t.indexOf(r.name);if(o>-1&&o%2==(e<0?1:0))return[t[o+e]]}return null}function Sf(r){let e=r.type.prop(nM);return e?e(r.node):r}function io(r,e,t,n={}){let o=n.maxScanDistance||eM,i=n.brackets||tM,s=qe(r),l=s.resolveInner(e,t);for(let a=l;a;a=a.parent){let c=wf(a.type,t,i);if(c&&a.from<a.to){let u=Sf(a);if(u&&(t>0?e>=u.from&&e<u.to:e>u.from&&e<=u.to))return rM(r,e,t,a,u,c,i)}}return oM(r,e,t,s,l.type,o,i)}function rM(r,e,t,n,o,i,s){let l=n.parent,a={from:o.from,to:o.to},c=0,u=l==null?void 0:l.cursor();if(u&&(t<0?u.childBefore(n.from):u.childAfter(n.to)))do if(t<0?u.to<=n.from:u.from>=n.to){if(c==0&&i.indexOf(u.type.name)>-1&&u.from<u.to){let h=Sf(u);return{start:a,end:h?{from:h.from,to:h.to}:void 0,matched:!0}}else if(wf(u.type,t,s))c++;else if(wf(u.type,-t,s)){if(c==0){let h=Sf(u);return{start:a,end:h&&h.from<h.to?{from:h.from,to:h.to}:void 0,matched:!1}}c--}}while(t<0?u.prevSibling():u.nextSibling());return{start:a,matched:!1}}function oM(r,e,t,n,o,i,s){let l=t<0?r.sliceDoc(e-1,e):r.sliceDoc(e,e+1),a=s.indexOf(l);if(a<0||a%2==0!=t>0)return null;let c={from:t<0?e-1:e,to:t>0?e+1:e},u=r.doc.iterRange(e,t>0?r.doc.length:0),h=0;for(let f=0;!u.next().done&&f<=i;){let d=u.value;t<0&&(f+=d.length);let p=e+f*t;for(let m=t>0?0:d.length-1,g=t>0?d.length:-1;m!=g;m+=t){let y=s.indexOf(d[m]);if(!(y<0||n.resolveInner(p+m,1).type!=o))if(y%2==0==t>0)h++;else{if(h==1)return{start:c,end:{from:p+m,to:p+m+1},matched:y>>1==a>>1};h--}}t>0&&(f+=d.length)}return u.done?{start:c,matched:!1}:null}var iM=Object.create(null),Kb=[Ne.none];var jb=[],sM=Object.create(null);for(let[r,e]of[["variable","variableName"],["variable-2","variableName.special"],["string-2","string.special"],["def","variableName.definition"],["tag","tagName"],["attribute","attributeName"],["type","typeName"],["builtin","variableName.standard"],["qualifier","modifier"],["error","invalid"],["header","heading"],["property","propertyName"]])sM[r]=lM(iM,e);function yf(r,e){jb.indexOf(r)>-1||(jb.push(r),console.warn(e))}function lM(r,e){let t=null;for(let i of e.split(".")){let s=r[i]||P[i];s?typeof s=="function"?t?t=s(t):yf(i,`Modifier ${i} used at start of tag`):t?yf(i,`Tag ${i} used as modifier`):t=s:yf(i,`Unknown highlighting tag ${i}`)}if(!t)return 0;let n=e.replace(/ /g,"_"),o=Ne.define({id:Kb.length,name:n,props:[xs({[n]:t})]});return Kb.push(o),o.id}var La={brackets:["(","[","{","'",'"'],before:")]}:;>",stringPrefixes:[]},so=ae.define({map(r,e){let t=e.mapPos(r,-1,Ue.TrackAfter);return t==null?void 0:t}}),Mf=new class extends tn{};Mf.startSide=1;Mf.endSide=-1;var e0=ot.define({create(){return se.empty},update(r,e){if(e.selection){let t=e.state.doc.lineAt(e.selection.main.head).from,n=e.startState.doc.lineAt(e.startState.selection.main.head).from;t!=e.changes.mapPos(n,-1)&&(r=se.empty)}r=r.map(e.changes);for(let t of e.effects)t.is(so)&&(r=r.update({add:[Mf.range(t.value,t.value+1)]}));return r}});function Ef(){return[hM,e0]}var kf="()[]{}<>";function aM(r){for(let e=0;e<kf.length;e+=2)if(kf.charCodeAt(e)==r)return kf.charAt(e+1);return Zg(r<128?r:r+1)}function cM(r,e){return r.languageDataAt("closeBrackets",e)[0]||La}var uM=typeof navigator=="object"&&/Android\b/.test(navigator.userAgent),hM=J.inputHandler.of((r,e,t,n)=>{if((uM?r.composing:r.compositionStarted)||r.state.readOnly)return!1;let o=r.state.selection.main;if(n.length>2||n.length==2&&Gr(dn(n,0))==1||e!=o.from||t!=o.to)return!1;let i=fM(r.state,n);return i?(r.dispatch(i),!0):!1});function fM(r,e){let t=cM(r,r.selection.main.head),n=t.brackets||La.brackets;for(let o of n){let i=aM(dn(o,0));if(e==o)return i==o?mM(r,o,n.indexOf(o+o+o)>-1,t):dM(r,o,i,t.before||La.before);if(e==i&&t0(r,r.selection.main.from))return pM(r,o,i)}return null}function t0(r,e){let t=!1;return r.field(e0).between(0,r.doc.length,n=>{n==e&&(t=!0)}),t}function Rf(r,e){let t=r.sliceString(e,e+2);return t.slice(0,Gr(dn(t,0)))}function dM(r,e,t,n){let o=null,i=r.changeByRange(s=>{if(!s.empty)return{changes:[{insert:e,from:s.from},{insert:t,from:s.to}],effects:so.of(s.to+e.length),range:I.range(s.anchor+e.length,s.head+e.length)};let l=Rf(r.doc,s.head);return!l||/\s/.test(l)||n.indexOf(l)>-1?{changes:{insert:e+t,from:s.head},effects:so.of(s.head+e.length),range:I.cursor(s.head+e.length)}:{range:o=s}});return o?null:r.update(i,{scrollIntoView:!0,userEvent:"input.type"})}function pM(r,e,t){let n=null,o=r.changeByRange(i=>i.empty&&Rf(r.doc,i.head)==t?{changes:{from:i.head,to:i.head+t.length,insert:t},range:I.cursor(i.head+t.length)}:n={range:i});return n?null:r.update(o,{scrollIntoView:!0,userEvent:"input.type"})}function mM(r,e,t,n){let o=n.stringPrefixes||La.stringPrefixes,i=null,s=r.changeByRange(l=>{if(!l.empty)return{changes:[{insert:e,from:l.from},{insert:e,from:l.to}],effects:so.of(l.to+e.length),range:I.range(l.anchor+e.length,l.head+e.length)};let a=l.head,c=Rf(r.doc,a),u;if(c==e){if(Xb(r,a))return{changes:{insert:e+e,from:a},effects:so.of(a+e.length),range:I.cursor(a+e.length)};if(t0(r,a)){let f=t&&r.sliceDoc(a,a+e.length*3)==e+e+e?e+e+e:e;return{changes:{from:a,to:a+f.length,insert:f},range:I.cursor(a+f.length)}}}else{if(t&&r.sliceDoc(a-2*e.length,a)==e+e&&(u=Zb(r,a-2*e.length,o))>-1&&Xb(r,u))return{changes:{insert:e+e+e+e,from:a},effects:so.of(a+e.length),range:I.cursor(a+e.length)};if(r.charCategorizer(a)(c)!=rt.Word&&Zb(r,a,o)>-1&&!gM(r,a,e,o))return{changes:{insert:e+e,from:a},effects:so.of(a+e.length),range:I.cursor(a+e.length)}}return{range:i=l}});return i?null:r.update(s,{scrollIntoView:!0,userEvent:"input.type"})}function Xb(r,e){let t=qe(r).resolveInner(e+1);return t.parent&&t.from==e}function gM(r,e,t,n){let o=qe(r).resolveInner(e,-1),i=n.reduce((s,l)=>Math.max(s,l.length),0);for(let s=0;s<5;s++){let l=r.sliceDoc(o.from,Math.min(o.to,o.from+t.length+i)),a=l.indexOf(t);if(!a||a>-1&&n.indexOf(l.slice(0,a))>-1){let u=o.firstChild;for(;u&&u.from==o.from&&u.to-u.from>t.length+a;){if(r.sliceDoc(u.to-t.length,u.to)==t)return!1;u=u.firstChild}return!0}let c=o.to==e&&o.parent;if(!c)break;o=c}return!1}function Zb(r,e,t){let n=r.charCategorizer(e);if(n(r.sliceDoc(e-1,e))!=rt.Word)return e;for(let o of t){let i=e-o.length;if(r.sliceDoc(i,e)==o&&n(r.sliceDoc(i-1,i))!=rt.Word)return i}return-1}var yM=r=>{let{state:e}=r,t=e.doc.lineAt(e.selection.main.from),n=Nf(r.state,t.from);return n.line?bM(r):n.block?vM(r):!1};function Of(r,e){return({state:t,dispatch:n})=>{if(t.readOnly)return!1;let o=r(e,t);return o?(n(t.update(o)),!0):!1}}var bM=Of(CM,0);var xM=Of(c0,0);var vM=Of((r,e)=>c0(r,e,SM(e)),0);function Nf(r,e){let t=r.languageDataAt("commentTokens",e);return t.length?t[0]:{}}var Ms=50;function wM(r,{open:e,close:t},n,o){let i=r.sliceDoc(n-Ms,n),s=r.sliceDoc(o,o+Ms),l=/\s*$/.exec(i)[0].length,a=/^\s*/.exec(s)[0].length,c=i.length-l;if(i.slice(c-e.length,c)==e&&s.slice(a,a+t.length)==t)return{open:{pos:n-l,margin:l&&1},close:{pos:o+a,margin:a&&1}};let u,h;o-n<=2*Ms?u=h=r.sliceDoc(n,o):(u=r.sliceDoc(n,n+Ms),h=r.sliceDoc(o-Ms,o));let f=/^\s*/.exec(u)[0].length,d=/\s*$/.exec(h)[0].length,p=h.length-d-t.length;return u.slice(f,f+e.length)==e&&h.slice(p,p+t.length)==t?{open:{pos:n+f+e.length,margin:/\s/.test(u.charAt(f+e.length))?1:0},close:{pos:o-d-t.length,margin:/\s/.test(h.charAt(p-1))?1:0}}:null}function SM(r){let e=[];for(let t of r.selection.ranges){let n=r.doc.lineAt(t.from),o=t.to<=n.to?n:r.doc.lineAt(t.to),i=e.length-1;i>=0&&e[i].to>n.from?e[i].to=o.to:e.push({from:n.from+/^\s*/.exec(n.text)[0].length,to:o.to})}return e}function c0(r,e,t=e.selection.ranges){let n=t.map(i=>Nf(e,i.from).block);if(!n.every(i=>i))return null;let o=t.map((i,s)=>wM(e,n[s],i.from,i.to));if(r!=2&&!o.every(i=>i))return{changes:e.changes(t.map((i,s)=>o[s]?[]:[{from:i.from,insert:n[s].open+" "},{from:i.to,insert:" "+n[s].close}]))};if(r!=1&&o.some(i=>i)){let i=[];for(let s=0,l;s<o.length;s++)if(l=o[s]){let a=n[s],{open:c,close:u}=l;i.push({from:c.pos-a.open.length,to:c.pos+c.margin},{from:u.pos-u.margin,to:u.pos+a.close.length})}return{changes:i}}return null}function CM(r,e,t=e.selection.ranges){let n=[],o=-1;for(let{from:i,to:s}of t){let l=n.length,a=1e9,c=Nf(e,i).line;if(c){for(let u=i;u<=s;){let h=e.doc.lineAt(u);if(h.from>o&&(i==s||s>h.from)){o=h.from;let f=/^\s*/.exec(h.text)[0].length,d=f==h.length,p=h.text.slice(f,f+c.length)==c?f:-1;f<h.text.length&&f<a&&(a=f),n.push({line:h,comment:p,token:c,indent:f,empty:d,single:!1})}u=h.to+1}if(a<1e9)for(let u=l;u<n.length;u++)n[u].indent<n[u].line.text.length&&(n[u].indent=a);n.length==l+1&&(n[l].single=!0)}}if(r!=2&&n.some(i=>i.comment<0&&(!i.empty||i.single))){let i=[];for(let{line:l,token:a,indent:c,empty:u,single:h}of n)(h||!u)&&i.push({from:l.from+c,insert:a+" "});let s=e.changes(i);return{changes:s,selection:e.selection.map(s,1)}}else if(r!=1&&n.some(i=>i.comment>=0)){let i=[];for(let{line:s,comment:l,token:a}of n)if(l>=0){let c=s.from+l,u=c+a.length;s.text[u-s.from]==" "&&u++,i.push({from:c,to:u})}return{changes:i}}return null}var Pf=St.define(),TM=St.define(),kM=U.define(),u0=U.define({combine(r){return Qr(r,{minDepth:100,newGroupDelay:500,joinToEvent:(e,t)=>t},{minDepth:Math.max,newGroupDelay:Math.min,joinToEvent:(e,t)=>(n,o)=>e(n,o)||t(n,o)})}});function MM(r){let e=0;return r.iterChangedRanges((t,n)=>e=n),e}var h0=ot.define({create(){return zt.empty},update(r,e){let t=e.state.facet(u0),n=e.annotation(Pf);if(n){let a=e.docChanged?I.single(MM(e.changes)):void 0,c=Ke.fromTransaction(e,a),u=n.side,h=u==0?r.undone:r.done;return c?h=Oa(h,h.length,t.minDepth,c):h=p0(h,e.startState.selection),new zt(u==0?n.rest:h,u==0?h:n.rest)}let o=e.annotation(TM);if((o=="full"||o=="before")&&(r=r.isolate()),e.annotation(me.addToHistory)===!1)return e.changes.empty?r:r.addMapping(e.changes.desc);let i=Ke.fromTransaction(e),s=e.annotation(me.time),l=e.annotation(me.userEvent);return i?r=r.addChanges(i,s,l,t,e):e.selection&&(r=r.addSelection(e.startState.selection,s,l,t.newGroupDelay)),(o=="full"||o=="after")&&(r=r.isolate()),r},toJSON(r){return{done:r.done.map(e=>e.toJSON()),undone:r.undone.map(e=>e.toJSON())}},fromJSON(r){return new zt(r.done.map(Ke.fromJSON),r.undone.map(Ke.fromJSON))}});function Vf(r={}){return[h0,u0.of(r),J.domEventHandlers({beforeinput(e,t){let n=e.inputType=="historyUndo"?f0:e.inputType=="historyRedo"?Df:null;return n?(e.preventDefault(),n(t)):!1}})]}function Na(r,e){return function({state:t,dispatch:n}){if(!e&&t.readOnly)return!1;let o=t.field(h0,!1);if(!o)return!1;let i=o.pop(r,t,e);return i?(n(i),!0):!1}}var f0=Na(0,!1),Df=Na(1,!1),EM=Na(0,!0),RM=Na(1,!0);var Ke=class{constructor(e,t,n,o,i){this.changes=e,this.effects=t,this.mapped=n,this.startSelection=o,this.selectionsAfter=i}setSelAfter(e){return new Ke(this.changes,this.effects,this.mapped,this.startSelection,e)}toJSON(){var e,t,n;return{changes:(e=this.changes)===null||e===void 0?void 0:e.toJSON(),mapped:(t=this.mapped)===null||t===void 0?void 0:t.toJSON(),startSelection:(n=this.startSelection)===null||n===void 0?void 0:n.toJSON(),selectionsAfter:this.selectionsAfter.map(o=>o.toJSON())}}static fromJSON(e){return new Ke(e.changes&&pe.fromJSON(e.changes),[],e.mapped&&wt.fromJSON(e.mapped),e.startSelection&&I.fromJSON(e.startSelection),e.selectionsAfter.map(I.fromJSON))}static fromTransaction(e,t){let n=_t;for(let o of e.startState.facet(kM)){let i=o(e);i.length&&(n=n.concat(i))}return!n.length&&e.changes.empty?null:new Ke(e.changes.invert(e.startState.doc),n,void 0,t||e.startState.selection,_t)}static selection(e){return new Ke(void 0,_t,void 0,void 0,e)}};function Oa(r,e,t,n){let o=e+1>t+20?e-t-1:0,i=r.slice(o,e);return i.push(n),i}function IM(r,e){let t=[],n=!1;return r.iterChangedRanges((o,i)=>t.push(o,i)),e.iterChangedRanges((o,i,s,l)=>{for(let a=0;a<t.length;){let c=t[a++],u=t[a++];l>=c&&s<=u&&(n=!0)}}),n}function PM(r,e){return r.ranges.length==e.ranges.length&&r.ranges.filter((t,n)=>t.empty!=e.ranges[n].empty).length===0}function d0(r,e){return r.length?e.length?r.concat(e):r:e}var _t=[],DM=200;function p0(r,e){if(r.length){let t=r[r.length-1],n=t.selectionsAfter.slice(Math.max(0,t.selectionsAfter.length-DM));return n.length&&n[n.length-1].eq(e)?r:(n.push(e),Oa(r,r.length-1,1e9,t.setSelAfter(n)))}else return[Ke.selection([e])]}function LM(r){let e=r[r.length-1],t=r.slice();return t[r.length-1]=e.setSelAfter(e.selectionsAfter.slice(0,e.selectionsAfter.length-1)),t}function If(r,e){if(!r.length)return r;let t=r.length,n=_t;for(;t;){let o=AM(r[t-1],e,n);if(o.changes&&!o.changes.empty||o.effects.length){let i=r.slice(0,t);return i[t-1]=o,i}else e=o.mapped,t--,n=o.selectionsAfter}return n.length?[Ke.selection(n)]:_t}function AM(r,e,t){let n=d0(r.selectionsAfter.length?r.selectionsAfter.map(l=>l.map(e)):_t,t);if(!r.changes)return Ke.selection(n);let o=r.changes.map(e),i=e.mapDesc(r.changes,!0),s=r.mapped?r.mapped.composeDesc(i):i;return new Ke(o,ae.mapEffects(r.effects,e),s,r.startSelection.map(i),n)}var OM=/^(input\.type|delete)($|\.)/,zt=class{constructor(e,t,n=0,o=void 0){this.done=e,this.undone=t,this.prevTime=n,this.prevUserEvent=o}isolate(){return this.prevTime?new zt(this.done,this.undone):this}addChanges(e,t,n,o,i){let s=this.done,l=s[s.length-1];return l&&l.changes&&!l.changes.empty&&e.changes&&(!n||OM.test(n))&&(!l.selectionsAfter.length&&t-this.prevTime<o.newGroupDelay&&o.joinToEvent(i,IM(l.changes,e.changes))||n=="input.type.compose")?s=Oa(s,s.length-1,o.minDepth,new Ke(e.changes.compose(l.changes),d0(e.effects,l.effects),l.mapped,l.startSelection,_t)):s=Oa(s,s.length,o.minDepth,e),new zt(s,_t,t,n)}addSelection(e,t,n,o){let i=this.done.length?this.done[this.done.length-1].selectionsAfter:_t;return i.length>0&&t-this.prevTime<o&&n==this.prevUserEvent&&n&&/^select($|\.)/.test(n)&&PM(i[i.length-1],e)?this:new zt(p0(this.done,e),this.undone,t,n)}addMapping(e){return new zt(If(this.done,e),If(this.undone,e),this.prevTime,this.prevUserEvent)}pop(e,t,n){let o=e==0?this.done:this.undone;if(o.length==0)return null;let i=o[o.length-1];if(n&&i.selectionsAfter.length)return t.update({selection:i.selectionsAfter[i.selectionsAfter.length-1],annotations:Pf.of({side:e,rest:LM(o)}),userEvent:e==0?"select.undo":"select.redo",scrollIntoView:!0});if(i.changes){let s=o.length==1?_t:o.slice(0,o.length-1);return i.mapped&&(s=If(s,i.mapped)),t.update({changes:i.changes,selection:i.startSelection,effects:i.effects,annotations:Pf.of({side:e,rest:s}),filter:!1,userEvent:e==0?"undo":"redo",scrollIntoView:!0})}else return null}};zt.empty=new zt(_t,_t);var Ff=[{key:"Mod-z",run:f0,preventDefault:!0},{key:"Mod-y",mac:"Mod-Shift-z",run:Df,preventDefault:!0},{linux:"Ctrl-Shift-z",run:Df,preventDefault:!0},{key:"Mod-u",run:EM,preventDefault:!0},{key:"Alt-u",mac:"Mod-Shift-u",run:RM,preventDefault:!0}];function ci(r,e){return I.create(r.ranges.map(e),r.mainIndex)}function wn(r,e){return r.update({selection:e,scrollIntoView:!0,userEvent:"select"})}function rn({state:r,dispatch:e},t){let n=ci(r.selection,t);return n.eq(r.selection)?!1:(e(wn(r,n)),!0)}function Va(r,e){return I.cursor(e?r.to:r.from)}function m0(r,e){return rn(r,t=>t.empty?r.moveByChar(t,e):Va(t,e))}function je(r){return r.textDirectionAt(r.state.selection.main.head)==we.LTR}var g0=r=>m0(r,!je(r)),y0=r=>m0(r,je(r));function b0(r,e){return rn(r,t=>t.empty?r.moveByGroup(t,e):Va(t,e))}var NM=r=>b0(r,!je(r)),VM=r=>b0(r,je(r));function FM(r,e,t){if(e.type.prop(t))return!0;let n=e.to-e.from;return n&&(n>2||/[^\s,.;:]/.test(r.sliceDoc(e.from,e.to)))||e.firstChild}function Fa(r,e,t){let n=qe(r).resolveInner(e.head),o=t?Q.closedBy:Q.openedBy;for(let a=e.head;;){let c=t?n.childAfter(a):n.childBefore(a);if(!c)break;FM(r,c,o)?n=c:a=t?c.to:c.from}let i=n.type.prop(o),s,l;return i&&(s=t?io(r,n.from,1):io(r,n.to,-1))&&s.matched?l=t?s.end.to:s.end.from:l=t?n.to:n.from,I.cursor(l,t?-1:1)}var BM=r=>rn(r,e=>Fa(r.state,e,!je(r))),HM=r=>rn(r,e=>Fa(r.state,e,je(r)));function x0(r,e){return rn(r,t=>{if(!t.empty)return Va(t,e);let n=r.moveVertically(t,e);return n.head!=t.head?n:r.moveToLineBoundary(t,e)})}var v0=r=>x0(r,!1),w0=r=>x0(r,!0);function S0(r){let e=r.scrollDOM.clientHeight<r.scrollDOM.scrollHeight-2,t=0,n=0,o;if(e){for(let i of r.state.facet(J.scrollMargins)){let s=i(r);s!=null&&s.top&&(t=Math.max(s==null?void 0:s.top,t)),s!=null&&s.bottom&&(n=Math.max(s==null?void 0:s.bottom,n))}o=r.scrollDOM.clientHeight-t-n}else o=(r.dom.ownerDocument.defaultView||window).innerHeight;return{marginTop:t,marginBottom:n,selfScroll:e,height:Math.max(r.defaultLineHeight,o-5)}}function C0(r,e){let t=S0(r),{state:n}=r,o=ci(n.selection,s=>s.empty?r.moveVertically(s,e,t.height):Va(s,e));if(o.eq(n.selection))return!1;let i;if(t.selfScroll){let s=r.coordsAtPos(n.selection.main.head),l=r.scrollDOM.getBoundingClientRect(),a=l.top+t.marginTop,c=l.bottom-t.marginBottom;s&&s.top>a&&s.bottom<c&&(i=J.scrollIntoView(o.main.head,{y:"start",yMargin:s.top-a}))}return r.dispatch(wn(n,o),{effects:i}),!0}var n0=r=>C0(r,!1),Lf=r=>C0(r,!0);function mr(r,e,t){let n=r.lineBlockAt(e.head),o=r.moveToLineBoundary(e,t);if(o.head==e.head&&o.head!=(t?n.to:n.from)&&(o=r.moveToLineBoundary(e,t,!1)),!t&&o.head==n.from&&n.length){let i=/^\s*/.exec(r.state.sliceDoc(n.from,Math.min(n.from+100,n.to)))[0].length;i&&e.head!=n.from+i&&(o=I.cursor(n.from+i))}return o}var _M=r=>rn(r,e=>mr(r,e,!0)),zM=r=>rn(r,e=>mr(r,e,!1)),WM=r=>rn(r,e=>mr(r,e,!je(r))),$M=r=>rn(r,e=>mr(r,e,je(r))),UM=r=>rn(r,e=>I.cursor(r.lineBlockAt(e.head).from,1)),GM=r=>rn(r,e=>I.cursor(r.lineBlockAt(e.head).to,-1));function qM(r,e,t){let n=!1,o=ci(r.selection,i=>{let s=io(r,i.head,-1)||io(r,i.head,1)||i.head>0&&io(r,i.head-1,1)||i.head<r.doc.length&&io(r,i.head+1,-1);if(!s||!s.end)return i;n=!0;let l=s.start.from==i.head?s.end.to:s.end.from;return t?I.range(i.anchor,l):I.cursor(l)});return n?(e(wn(r,o)),!0):!1}var KM=({state:r,dispatch:e})=>qM(r,e,!1);function Wt(r,e){let t=ci(r.state.selection,n=>{let o=e(n);return I.range(n.anchor,o.head,o.goalColumn,o.bidiLevel||void 0)});return t.eq(r.state.selection)?!1:(r.dispatch(wn(r.state,t)),!0)}function T0(r,e){return Wt(r,t=>r.moveByChar(t,e))}var k0=r=>T0(r,!je(r)),M0=r=>T0(r,je(r));function E0(r,e){return Wt(r,t=>r.moveByGroup(t,e))}var jM=r=>E0(r,!je(r)),JM=r=>E0(r,je(r));var QM=r=>Wt(r,e=>Fa(r.state,e,!je(r))),YM=r=>Wt(r,e=>Fa(r.state,e,je(r)));function R0(r,e){return Wt(r,t=>r.moveVertically(t,e))}var I0=r=>R0(r,!1),P0=r=>R0(r,!0);function D0(r,e){return Wt(r,t=>r.moveVertically(t,e,S0(r).height))}var r0=r=>D0(r,!1),o0=r=>D0(r,!0),XM=r=>Wt(r,e=>mr(r,e,!0)),ZM=r=>Wt(r,e=>mr(r,e,!1)),eE=r=>Wt(r,e=>mr(r,e,!je(r))),tE=r=>Wt(r,e=>mr(r,e,je(r))),nE=r=>Wt(r,e=>I.cursor(r.lineBlockAt(e.head).from)),rE=r=>Wt(r,e=>I.cursor(r.lineBlockAt(e.head).to)),i0=({state:r,dispatch:e})=>(e(wn(r,{anchor:0})),!0),s0=({state:r,dispatch:e})=>(e(wn(r,{anchor:r.doc.length})),!0),l0=({state:r,dispatch:e})=>(e(wn(r,{anchor:r.selection.main.anchor,head:0})),!0),a0=({state:r,dispatch:e})=>(e(wn(r,{anchor:r.selection.main.anchor,head:r.doc.length})),!0),oE=({state:r,dispatch:e})=>(e(r.update({selection:{anchor:0,head:r.doc.length},userEvent:"select"})),!0),iE=({state:r,dispatch:e})=>{let t=Ha(r).map(({from:n,to:o})=>I.range(n,Math.min(o+1,r.doc.length)));return e(r.update({selection:I.create(t),userEvent:"select"})),!0},sE=({state:r,dispatch:e})=>{let t=ci(r.selection,n=>{var o;let i=qe(r).resolveInner(n.head,1);for(;!(i.from<n.from&&i.to>=n.to||i.to>n.to&&i.from<=n.from||!(!((o=i.parent)===null||o===void 0)&&o.parent));)i=i.parent;return I.range(i.to,i.from)});return e(wn(r,t)),!0},lE=({state:r,dispatch:e})=>{let t=r.selection,n=null;return t.ranges.length>1?n=I.create([t.main]):t.main.empty||(n=I.create([I.cursor(t.main.head)])),n?(e(wn(r,n)),!0):!1};function Ba(r,e){if(r.state.readOnly)return!1;let t="delete.selection",{state:n}=r,o=n.changeByRange(i=>{let{from:s,to:l}=i;if(s==l){let a=e(s);a<s?(t="delete.backward",a=Aa(r,a,!1)):a>s&&(t="delete.forward",a=Aa(r,a,!0)),s=Math.min(s,a),l=Math.max(l,a)}else s=Aa(r,s,!1),l=Aa(r,l,!0);return s==l?{range:i}:{changes:{from:s,to:l},range:I.cursor(s)}});return o.changes.empty?!1:(r.dispatch(n.update(o,{scrollIntoView:!0,userEvent:t,effects:t=="delete.selection"?J.announce.of(n.phrase("Selection deleted")):void 0})),!0)}function Aa(r,e,t){if(r instanceof J)for(let n of r.state.facet(J.atomicRanges).map(o=>o(r)))n.between(e,e,(o,i)=>{o<e&&i>e&&(e=t?i:o)});return e}var L0=(r,e)=>Ba(r,t=>{let{state:n}=r,o=n.doc.lineAt(t),i,s;if(!e&&t>o.from&&t<o.from+200&&!/[^ \t]/.test(i=o.text.slice(0,t-o.from))){if(i[i.length-1]==" ")return t-1;let l=Yr(i,n.tabSize),a=l%Cs(n)||Cs(n);for(let c=0;c<a&&i[i.length-1-c]==" ";c++)t--;s=t}else s=Ge(o.text,t-o.from,e,e)+o.from,s==t&&o.number!=(e?n.doc.lines:1)&&(s+=e?1:-1);return s}),Af=r=>L0(r,!1),A0=r=>L0(r,!0),O0=(r,e)=>Ba(r,t=>{let n=t,{state:o}=r,i=o.doc.lineAt(n),s=o.charCategorizer(n);for(let l=null;;){if(n==(e?i.to:i.from)){n==t&&i.number!=(e?o.doc.lines:1)&&(n+=e?1:-1);break}let a=Ge(i.text,n-i.from,e)+i.from,c=i.text.slice(Math.min(n,a)-i.from,Math.max(n,a)-i.from),u=s(c);if(l!=null&&u!=l)break;(c!=" "||n!=t)&&(l=u),n=a}return n}),N0=r=>O0(r,!1),aE=r=>O0(r,!0),V0=r=>Ba(r,e=>{let t=r.lineBlockAt(e).to;return e<t?t:Math.min(r.state.doc.length,e+1)}),cE=r=>Ba(r,e=>{let t=r.lineBlockAt(e).from;return e>t?t:Math.max(0,e-1)});var uE=({state:r,dispatch:e})=>{if(r.readOnly)return!1;let t=r.changeByRange(n=>({changes:{from:n.from,to:n.to,insert:X.of(["",""])},range:I.cursor(n.from)}));return e(r.update(t,{scrollIntoView:!0,userEvent:"input"})),!0},hE=({state:r,dispatch:e})=>{if(r.readOnly)return!1;let t=r.changeByRange(n=>{if(!n.empty||n.from==0||n.from==r.doc.length)return{range:n};let o=n.from,i=r.doc.lineAt(o),s=o==i.from?o-1:Ge(i.text,o-i.from,!1)+i.from,l=o==i.to?o+1:Ge(i.text,o-i.from,!0)+i.from;return{changes:{from:s,to:l,insert:r.doc.slice(o,l).append(r.doc.slice(s,o))},range:I.cursor(l)}});return t.changes.empty?!1:(e(r.update(t,{scrollIntoView:!0,userEvent:"move.character"})),!0)};function Ha(r){let e=[],t=-1;for(let n of r.selection.ranges){let o=r.doc.lineAt(n.from),i=r.doc.lineAt(n.to);if(!n.empty&&n.to==i.from&&(i=r.doc.lineAt(n.to-1)),t>=o.number){let s=e[e.length-1];s.to=i.to,s.ranges.push(n)}else e.push({from:o.from,to:i.to,ranges:[n]});t=i.number+1}return e}function F0(r,e,t){if(r.readOnly)return!1;let n=[],o=[];for(let i of Ha(r)){if(t?i.to==r.doc.length:i.from==0)continue;let s=r.doc.lineAt(t?i.to+1:i.from-1),l=s.length+1;if(t){n.push({from:i.to,to:s.to},{from:i.from,insert:s.text+r.lineBreak});for(let a of i.ranges)o.push(I.range(Math.min(r.doc.length,a.anchor+l),Math.min(r.doc.length,a.head+l)))}else{n.push({from:s.from,to:i.from},{from:i.to,insert:r.lineBreak+s.text});for(let a of i.ranges)o.push(I.range(a.anchor-l,a.head-l))}}return n.length?(e(r.update({changes:n,scrollIntoView:!0,selection:I.create(o,r.selection.mainIndex),userEvent:"move.line"})),!0):!1}var fE=({state:r,dispatch:e})=>F0(r,e,!1),dE=({state:r,dispatch:e})=>F0(r,e,!0);function B0(r,e,t){if(r.readOnly)return!1;let n=[];for(let o of Ha(r))t?n.push({from:o.from,insert:r.doc.slice(o.from,o.to)+r.lineBreak}):n.push({from:o.to,insert:r.lineBreak+r.doc.slice(o.from,o.to)});return e(r.update({changes:n,scrollIntoView:!0,userEvent:"input.copyline"})),!0}var pE=({state:r,dispatch:e})=>B0(r,e,!1),mE=({state:r,dispatch:e})=>B0(r,e,!0),gE=r=>{if(r.state.readOnly)return!1;let{state:e}=r,t=e.changes(Ha(e).map(({from:o,to:i})=>(o>0?o--:i<e.doc.length&&i++,{from:o,to:i}))),n=ci(e.selection,o=>r.moveVertically(o,!0)).map(t);return r.dispatch({changes:t,selection:n,scrollIntoView:!0,userEvent:"delete.line"}),!0};function yE(r,e){if(/\(\)|\[\]|\{\}/.test(r.sliceDoc(e-1,e+1)))return{from:e,to:e};let t=qe(r).resolveInner(e),n=t.childBefore(e),o=t.childAfter(e),i;return n&&o&&n.to<=e&&o.from>=e&&(i=n.type.prop(Q.closedBy))&&i.indexOf(o.name)>-1&&r.doc.lineAt(n.to).from==r.doc.lineAt(o.from).from?{from:n.to,to:o.from}:null}var bE=H0(!1),xE=H0(!0);function H0(r){return({state:e,dispatch:t})=>{if(e.readOnly)return!1;let n=e.changeByRange(o=>{let{from:i,to:s}=o,l=e.doc.lineAt(i),a=!r&&i==s&&yE(e,i);r&&(i=s=(s<=l.to?l:e.doc.lineAt(s)).to);let c=new oo(e,{simulateBreak:i,simulateDoubleBreak:!!a}),u=Cf(c,i);for(u==null&&(u=/^\s*/.exec(e.doc.lineAt(i).text)[0].length);s<l.to&&/\s/.test(l.text[s-l.from]);)s++;a?{from:i,to:s}=a:i>l.from&&i<l.from+100&&!/\S/.test(l.text.slice(0,i))&&(i=l.from);let h=["",Ts(e,u)];return a&&h.push(Ts(e,c.lineIndent(l.from,-1))),{changes:{from:i,to:s,insert:X.of(h)},range:I.cursor(i+1+h[1].length)}});return t(e.update(n,{scrollIntoView:!0,userEvent:"input"})),!0}}function Bf(r,e){let t=-1;return r.changeByRange(n=>{let o=[];for(let s=n.from;s<=n.to;){let l=r.doc.lineAt(s);l.number>t&&(n.empty||n.to>l.from)&&(e(l,o,n),t=l.number),s=l.to+1}let i=r.changes(o);return{changes:o,range:I.range(i.mapPos(n.anchor,1),i.mapPos(n.head,1))}})}var vE=({state:r,dispatch:e})=>{if(r.readOnly)return!1;let t=Object.create(null),n=new oo(r,{overrideIndentation:i=>{let s=t[i];return s==null?-1:s}}),o=Bf(r,(i,s,l)=>{let a=Cf(n,i.from);if(a==null)return;/\S/.test(i.text)||(a=0);let c=/^\s*/.exec(i.text)[0],u=Ts(r,a);(c!=u||l.from<i.from+c.length)&&(t[i.from]=a,s.push({from:i.from,to:i.from+c.length,insert:u}))});return o.changes.empty||e(r.update(o,{userEvent:"indent"})),!0},wE=({state:r,dispatch:e})=>r.readOnly?!1:(e(r.update(Bf(r,(t,n)=>{n.push({from:t.from,insert:r.facet(Ss)})}),{userEvent:"input.indent"})),!0),SE=({state:r,dispatch:e})=>r.readOnly?!1:(e(r.update(Bf(r,(t,n)=>{let o=/^\s*/.exec(t.text)[0];if(!o)return;let i=Yr(o,r.tabSize),s=0,l=Ts(r,Math.max(0,i-Cs(r)));for(;s<o.length&&s<l.length&&o.charCodeAt(s)==l.charCodeAt(s);)s++;n.push({from:t.from+s,to:t.from+o.length,insert:l.slice(s)})}),{userEvent:"delete.dedent"})),!0);var CE=[{key:"Ctrl-b",run:g0,shift:k0,preventDefault:!0},{key:"Ctrl-f",run:y0,shift:M0},{key:"Ctrl-p",run:v0,shift:I0},{key:"Ctrl-n",run:w0,shift:P0},{key:"Ctrl-a",run:UM,shift:nE},{key:"Ctrl-e",run:GM,shift:rE},{key:"Ctrl-d",run:A0},{key:"Ctrl-h",run:Af},{key:"Ctrl-k",run:V0},{key:"Ctrl-Alt-h",run:N0},{key:"Ctrl-o",run:uE},{key:"Ctrl-t",run:hE},{key:"Ctrl-v",run:Lf}],TE=[{key:"ArrowLeft",run:g0,shift:k0,preventDefault:!0},{key:"Mod-ArrowLeft",mac:"Alt-ArrowLeft",run:NM,shift:jM,preventDefault:!0},{mac:"Cmd-ArrowLeft",run:WM,shift:eE,preventDefault:!0},{key:"ArrowRight",run:y0,shift:M0,preventDefault:!0},{key:"Mod-ArrowRight",mac:"Alt-ArrowRight",run:VM,shift:JM,preventDefault:!0},{mac:"Cmd-ArrowRight",run:$M,shift:tE,preventDefault:!0},{key:"ArrowUp",run:v0,shift:I0,preventDefault:!0},{mac:"Cmd-ArrowUp",run:i0,shift:l0},{mac:"Ctrl-ArrowUp",run:n0,shift:r0},{key:"ArrowDown",run:w0,shift:P0,preventDefault:!0},{mac:"Cmd-ArrowDown",run:s0,shift:a0},{mac:"Ctrl-ArrowDown",run:Lf,shift:o0},{key:"PageUp",run:n0,shift:r0},{key:"PageDown",run:Lf,shift:o0},{key:"Home",run:zM,shift:ZM,preventDefault:!0},{key:"Mod-Home",run:i0,shift:l0},{key:"End",run:_M,shift:XM,preventDefault:!0},{key:"Mod-End",run:s0,shift:a0},{key:"Enter",run:bE},{key:"Mod-a",run:oE},{key:"Backspace",run:Af,shift:Af},{key:"Delete",run:A0},{key:"Mod-Backspace",mac:"Alt-Backspace",run:N0},{key:"Mod-Delete",mac:"Alt-Delete",run:aE},{mac:"Mod-Backspace",run:cE},{mac:"Mod-Delete",run:V0}].concat(CE.map(r=>({mac:r.key,run:r.run,shift:r.shift}))),_a=[{key:"Alt-ArrowLeft",mac:"Ctrl-ArrowLeft",run:BM,shift:QM},{key:"Alt-ArrowRight",mac:"Ctrl-ArrowRight",run:HM,shift:YM},{key:"Alt-ArrowUp",run:fE},{key:"Shift-Alt-ArrowUp",run:pE},{key:"Alt-ArrowDown",run:dE},{key:"Shift-Alt-ArrowDown",run:mE},{key:"Escape",run:lE},{key:"Mod-Enter",run:xE},{key:"Alt-l",mac:"Ctrl-l",run:iE},{key:"Mod-i",run:sE,preventDefault:!0},{key:"Mod-[",run:SE},{key:"Mod-]",run:wE},{key:"Mod-Alt-\\",run:vE},{key:"Shift-Mod-k",run:gE},{key:"Shift-Mod-\\",run:KM},{key:"Mod-/",run:yM},{key:"Alt-A",run:xM}].concat(TE);var kE=[..._a,...Ff],ME=(()=>[cf(),Vf(),af(),Ef(),ks(Tf,{fallback:!0}),ri.of(kE)])();var EE=require("@vuu-ui/vuu-utils");var _0=[{label:"=",boost:10,type:"operator"},{label:"!=",boost:9,type:"operator"}],RE=[..._0,{label:"in",boost:6,type:"operator"},{label:"starts",boost:5,type:"operator"},{label:"ends",boost:4,type:"operator"}],IE=[..._0,{label:">",boost:8,type:"operator"},{label:"<",boost:7,type:"operator"}];var BE=z(require("classnames"),1),Hf=require("react");var ZH=dr.define({name:"VuuFilterQuery",parser:Xi.configure({props:[xs({Identifier:P.variableName,String:P.string,Or:P.emphasis,Operator:P.operator})]})});var OE=Bn.define([{tag:P.variableName,color:"var(--vuuFilterEditor-variableColor)"},{tag:P.comment,color:"green",fontStyle:"italic"}]),NE=ks(OE);var VE=J.theme({"&":{color:"var(--vuuFilterEditor-color)",backgroundColor:"var(--vuuFilterEditor-background)",fontSize:"var(--vuuFilterEditor-fontSize)"},".cm-content":{caretColor:"var(--vuuFilterEditor-cursorColor)",padding:0},".cm-line":{lineHeight:"var(--vuuFilterEditor-lineHeight)"},"&.cm-focused .cm-cursor":{borderLeftColor:"var(--vuuFilterEditor-cursorColor)"},"&.cm-focused .cm-selectionBackground, ::selection":{backgroundColor:"var(--vuuFilterEditor-selectionBackground)"},".cm-selectionBackground, ::selection":{backgroundColor:"var(--vuuFilterEditor-selectionBackground)"},".cm-scroller":{fontFamily:"var(--vuuFilterEditor-fontFamily)"},".cm-tooltip":{background:"var(--vuuFilterEditor-tooltipBackground)",border:"var(--vuuFilterEditor-tooltipBorder)",boxShadow:"var(--vuuFilterEditor-tooltipElevation)","&.cm-tooltip-autocomplete > ul":{fontFamily:"var(--vuuFilterEditor-fontFamily)",fontSize:"var(--vuuFilterEditor-fontSize)",maxHeight:"240px"},"&.cm-tooltip-autocomplete > ul > li":{alignItems:"center",display:"flex",height:"var(--vuuFilterEditor-suggestion-height)",padding:"0 3px",lineHeight:"var(--vuuFilterEditor-suggestion-height)"},"&.cm-tooltip-autocomplete li[aria-selected]":{background:"var(--vuuFilterEditor-suggestion-selectedBackground)",color:"var(--vuuFilterEditor-suggestion-selectedColor)"}},".cm-completionIcon":{height:"18px",flex:"0 0 16px"},".cm-completionLabel":{flex:"1 1 auto"},".cm-completionIcon-filter":{position:"relative","&:after":{background:"var(--salt-text-secondary-foreground)",content:"''","-webkit-mask":"var(--svg-filter) center center/13px 13px","-webkit-mask-repeat":"no-repeat",position:"absolute",height:"18px",left:"0px",top:"0px",width:"16px"}}},{dark:!1});var FE=require("react");var z0=require("react/jsx-runtime");var W0=require("react");var _E=require("@vuu-ui/vuu-utils");var za=r=>{let e=localStorage.getItem(r);return e?JSON.parse(e):void 0};var Wa=(r,e)=>{try{return localStorage.setItem(r,JSON.stringify(e)),e}catch{return}};var G0=require("@vuu-ui/vuu-utils");var $0="layouts/metadata",U0="layouts/layouts",Es=class{createLayout(e,t){return new Promise(n=>{console.log(`Saving layout as ${e.name} to group ${e.group}...`),Promise.all([this.loadLayouts(),this.loadMetadata()]).then(([o,i])=>{let s=(0,G0.getUniqueId)();this.appendAndPersist(s,e,t,o,i),n(s)})})}updateLayout(e,t,n){return new Promise((o,i)=>{this.validateIds(e).then(()=>Promise.all([this.loadLayouts(),this.loadMetadata()])).then(([s,l])=>{let a=s.filter(u=>u.id!==e),c=l.filter(u=>u.id!==e);this.appendAndPersist(e,t,n,a,c),o()}).catch(s=>i(s))})}deleteLayout(e){return new Promise((t,n)=>{this.validateIds(e).then(()=>Promise.all([this.loadLayouts(),this.loadMetadata()])).then(([o,i])=>{let s=o.filter(a=>a.id!==e),l=i.filter(a=>a.id!==e);this.saveLayoutsWithMetadata(s,l),t()}).catch(o=>n(o))})}loadLayout(e){return new Promise((t,n)=>{this.validateId(e,"layout").then(()=>this.loadLayouts()).then(o=>{let i=o.find(s=>s.id===e);t(i.json)}).catch(o=>n(o))})}loadMetadata(){return new Promise(e=>{let t=za($0);e(t||[])})}loadApplicationLayout(){return new Promise(e=>{let t=za("api/vui");e(t||Io)})}saveApplicationLayout(e){return new Promise((t,n)=>{Wa("api/vui",e)?t():n(new Error("Layout failed to save"))})}loadLayouts(){return new Promise(e=>{let t=za(U0);e(t||[])})}appendAndPersist(e,t,n,o,i){o.push({id:e,json:n}),i.push({id:e,...t}),this.saveLayoutsWithMetadata(o,i)}saveLayoutsWithMetadata(e,t){Wa(U0,e),Wa($0,t)}async validateIds(e){return Promise.all([this.validateId(e,"metadata").catch(t=>t.message),this.validateId(e,"layout").catch(t=>t.message)]).then(t=>{let n=t.filter(o=>o!==void 0).join("; ");if(n)throw new Error(n)})}validateId(e,t){return new Promise((n,o)=>{(t==="metadata"?this.loadMetadata:this.loadLayouts)().then(s=>{switch(s.filter(a=>a.id===e).length){case 1:{n();break}case 0:{o(new Error(`No ${t} with ID ${e}`));break}default:o(new Error(`Non-unique ${t} with ID ${e}`))}})})}};var _f=z(require("react")),zE=z(require("classnames"));var zf=require("react/jsx-runtime");function q0(r){var e,t,n="";if(typeof r=="string"||typeof r=="number")n+=r;else if(typeof r=="object")if(Array.isArray(r))for(e=0;e<r.length;e++)r[e]&&(t=q0(r[e]))&&(n&&(n+=" "),n+=t);else for(e in r)r[e]&&(n&&(n+=" "),n+=e);return n}function lo(){for(var r,e,t=0,n="";t<arguments.length;)(r=arguments[t++])&&(e=q0(r))&&(n&&(n+=" "),n+=e);return n}var WE=/[.*+?^${}()|[\]\\]/g;function $a(r){return r.replace(WE,"\\$&")}var $E=require("react/jsx-runtime"),Ua=require("react"),UE=(0,Ua.createContext)(typeof window<"u"?window:null);function Hn(){return(0,Ua.useContext)(UE)}var Ga=z(require("react"));var GE=require("react/jsx-runtime"),Rs=require("react"),qE=(0,Rs.createContext)(null);function K0(){return(0,Rs.useContext)(qE)}var j0,KE=(j0=Ga.useInsertionEffect)!=null?j0:Ga.useLayoutEffect,Wf=new WeakMap;function _n({testId:r,css:e,window:t}){let n=K0();KE(()=>{var o,i;if(!t)return;let s=(o=Wf.get(t))!=null?o:new Map,l=(i=s.get(e))!=null?i:{styleElement:null,count:0};return l.styleElement==null?(l.styleElement=t.document.createElement("style"),l.styleElement.setAttribute("type","text/css"),l.styleElement.setAttribute("data-salt-style",r||""),l.styleElement.textContent=e,l.count=1,t.document.head.insertBefore(l.styleElement,n||t.document.head.firstChild)):(l.styleElement.textContent=e,l.count++),s.set(e,l),Wf.set(t,s),()=>{let a=Wf.get(t),c=a==null?void 0:a.get(e);c!=null&&c.styleElement&&(c.count--,c.count<1&&(t.document.head.removeChild(c.styleElement),c.styleElement=null,a==null||a.delete(e)))}},[r,e,t])}var j3=require("@salt-ds/core"),J3=require("react");var jE=require("react/jsx-runtime"),Is=require("react"),JE=(0,Is.createContext)(void 0);function J0(){let r=(0,Is.useContext)(JE);if(r)return r}function QE(r,...e){let t=new Set(r);for(let n of e)for(let o of n)t.add(o);return t}var Ps="ArrowUp",Ds="ArrowDown",Q0="ArrowLeft",Y0="ArrowRight",$f="Enter",qa="Home",Ls="End",Uf="PageUp",Ka="PageDown",X0=" ",YE=new Set(["Enter","Delete"," "]),XE=new Set(["Tab"]),ZE=new Set(["ArrowRight","ArrowLeft"]),Z0=new Set([qa,Ls,Uf,Ka,Ds,Ps]),eR=new Set(["F1","F2","F3","F4","F5","F6","F7","F8","F9","F10","F11","F12"]),tR=QE(YE,Z0,ZE,eR,XE),ja=r=>tR.has(r.key)?!1:r.key.length===1&&!r.ctrlKey&&!r.metaKey&&!r.altKey,ex=({key:r})=>Z0.has(r);var oe=require("react");var hi=require("react");var tx=r=>null;var nx=r=>null;var nR=r=>Object.prototype.toString.call(r)==="[object Object]";function ui(r){return typeof r=="string"?r:nR(r)?Object.prototype.hasOwnProperty.call(r,"label")?String(r.label):(console.warn(["itemToString: you've likely forgotten to set the label prop on the item object.","You can also provide your own `itemToString` implementation."].join(`
|
|
27
|
-
`)),""):String(r)}var Gf=(r,e)=>r!==null&&Object.prototype.hasOwnProperty.call(r,e),qf=r=>Gf(r,"header"),rx=r=>Gf(r,"childNodes"),As=(r,e)=>r&&Object.prototype.hasOwnProperty.call(r.props,e),ox=r=>{if((0,hi.isValidElement)(r)){if(As(r,"disabled"))return r.props.disabled===!0}else if(Gf(r,"disabled"))return r.disabled===!0;return!1},ix=r=>(0,hi.isValidElement)(r)&&As(r,"focusable")?r.props.focusable:!0,sx=(r,e,t)=>{if(r.childNodes)return r.childNodes.length;if(r.header){let n=t+1,o=0;for(;n<e.length&&!e[n].header;)o++,n++;return o}else return 0},rR=r=>{if(typeof r.props.children=="string")return r.props.children;if(r.props.title)return r.props.title;if(r.props.label)return r.props.label},lx=r=>r.type===nx||As(r,"data-header"),ax=r=>r.type===tx||As(r,"data-group"),oR=r=>As(r,"selectable")?r.props.selectable===!0:!ax(r)&&!lx(r),iR=r=>{if(ax(r)){let{props:{children:e}}=r;if(typeof e!="string")return jf(e)}},sR=(r,e)=>{let t=[];return hi.Children.forEach(r,n=>{(0,hi.isValidElement)(n)&&t.push(e(n))}),t},Kf=(r,e)=>{if(Array.isArray(r))return r.length===0&&(e!=null&&e.noChildrenLabel)?[{label:e.noChildrenLabel,value:null}]:r.map((t,n)=>{var o,i;return{childNodes:Kf(t.childNodes,e),description:t.description,expanded:t.expanded,value:t,label:(i=(o=e==null?void 0:e.itemToString)==null?void 0:o.call(e,t))!=null?i:ui(t)}});if(r)throw Error("list-child-items expects source to be an array")},jf=r=>{if(r)return sR(r,e=>{let{"data-id":t,disabled:n,id:o=t,"data-expanded":i,expanded:s=i}=e.props;return{childNodes:iR(e),disabled:n,expanded:s,header:lx(e),id:o,label:rR(e),selectable:oR(e),value:e}})},lR=new Set(["/","-","."]),aR=r=>lR.has(r),cx=(r,e)=>e.startsWith(r)&&aR(e[r.length]),cR=new Set([".","/"]);function uR(r,e){return e.startsWith(r)?cR.has(e.charAt(r.length)):!1}function Ja(r,e,t){let n;return r.map(i=>i.id===e?{...i,...t}:uR(i.id,e)&&i.childNodes?(n=Ja(i.childNodes,e,t),{...i,childNodes:n}):i)}var B_=require("react"),H_=require("@salt-ds/core"),hR=r=>r&&r.replace(/^\s+/g,""),Jf=r=>new RegExp(`(${$a(hR(r))})`,"gi"),ux=(r="",e=Jf)=>(t="")=>!!t.length&&!!r.length&&t.match(e(r))!==null;var fR={},hx=({children:r,id:e,label:t="",options:n=fR,source:o})=>{var i;let{getItemId:s}=n,[,l]=(0,oe.useState)(null),a=J0(),c=(0,oe.useRef)([]),u=(0,oe.useRef)([]),h=(0,oe.useMemo)(()=>[],[]),f=(0,oe.useRef)((i=n.filterPattern)!=null?i:""),{getFilterRegex:d=Jf,noChildrenLabel:p,itemToString:m=ui}=n,g=(0,oe.useCallback)(A=>n.defaultExpanded||!1,[n.defaultExpanded]),y=(0,oe.useCallback)((A,V,B=1,G="",Z=[],te=[],Je=[])=>(A.forEach((ye,Mt,Sr)=>{var sn,ie;let ce=ye.header&&n.collapsibleHeaders,Ve=ye.childNodes&&n.collapsibleHeaders===!1,Gt=!ye.childNodes||ye.childNodes.length===0,Si=Ve||Gt&&!ce,Ci=G?`${G}.${Mt}`:`item-${Mt}`,Ti=(sn=ye.id)!=null?sn:s?s(Mt):`${e}-${Ci}`,qt=Si?void 0:(ie=ye.expanded)!=null?ie:g(Ti),ki={...ye,childNodes:void 0,count:!Ve&&qt===void 0?0:sx(ye,Sr,Mt),description:ye.description,disabled:ox(ye.value),focusable:ix(ye.value)?void 0:!1,id:Ti,index:V.value,expanded:qt,level:B};if(Z.push(ki),te.push(ki),Je.push(A[Mt].value),V.value+=1,ye.childNodes){let[wc]=y(ye.childNodes,V,B+1,Ci,[],te,Je);ki.childNodes=wc}}),[Z,Je,te]),[n.collapsibleHeaders,s,e,g]),v=(0,oe.useCallback)(()=>f.current?ux(f.current,d):null,[d]),w=(0,oe.useCallback)((A,V=v(),B=[],G={value:0})=>{let Z=!1;for(let te of A)Z&&!qf(te)||(te.value!==null&&(V===null||V(m(te.value)))&&(B[G.value]=te,G.value+=1),Z=!1,qf(te)&&te.expanded===!1?Z=!0:rx(te)&&te.expanded!==!1&&te.childNodes&&w(te.childNodes,V,B,G));return B},[v,m]),x=(0,oe.useMemo)(()=>a?h:Kf(o,{itemToString:m,noChildrenLabel:p})||jf(r)||[],[a,h,o,m,p,r]),[S,b,C]=(0,oe.useMemo)(()=>a?[h,h,h]:y(x,{value:0}),[h,y,a,x]);u.current=C,(0,oe.useMemo)(()=>a?h:c.current=w(S),[h,w,S,a]);let k=(0,oe.useRef)(S),E=(0,oe.useCallback)((A="")=>{typeof A=="string"&&(f.current=A,c.current=w(S),l({}))},[S,w]),R=(0,oe.useCallback)((A,V=S)=>{let B=V.find(G=>{var Z;return G.id===A||((Z=G==null?void 0:G.childNodes)==null?void 0:Z.length)&&cx(G.id,A)});if((B==null?void 0:B.id)===A)return b==null?void 0:b[B.index];if(B)return R(A,B.childNodes);throw Error(`useCollectionData itemById, id ${A} not found `)},[b,S]),N=(0,oe.useCallback)(A=>{let V=u.current.find(B=>(0,oe.isValidElement)(B.value)?B.label===A:B.value===A);if(V)return V;throw Error("useCollectionData toCollectionItem, item not found ")},[]),O=(0,oe.useCallback)(A=>{if(A===null)return null;if(Array.isArray(A)){let V=[];for(let B of A){let G=N(B);V.push(G)}return V}else if(A!==void 0)return N(A)},[N]),M=(0,oe.useCallback)(A=>{let V=B=>{let G=u.current.find(Z=>(0,oe.isValidElement)(Z.value)?Z.label===B:Z.value!==null&&m(Z.value)===B);if(G)return G};if(A===null)return null;if(Array.isArray(A)){let B=[];for(let G of A){let Z=V(G);Z&&B.push(Z)}return B}else if(A!==void 0)return V(A)},[m]),D=(0,oe.useCallback)(A=>{for(let V of k.current)if(A===V.value)return V.id;throw Error("useCollectionData itemToId, item not found")},[]),F=(0,oe.useCallback)(A=>{k.current=Ja(k.current,A.id,{expanded:!1}),c.current=w(k.current),l({})},[w]),K=(0,oe.useCallback)(A=>{k.current=Ja(k.current,A.id,{expanded:!0}),c.current=w(k.current),l({})},[w]);return a||{collapseGroupItem:F,data:c.current,expandGroupItem:K,setFilterPattern:E,itemById:R,itemToId:D,toCollectionItem:N,itemToCollectionItem:O,stringToCollectionItem:M}};var Qf=require("@salt-ds/core"),Ya=require("react");var fx=["height"];var ao=new WeakMap,dx=(r,e,t)=>{switch(t){case"height":return e.height;case"scrollHeight":return r.scrollHeight;case"scrollWidth":return r.scrollWidth;case"width":return e.width;default:return 0}},Qa=typeof ResizeObserver<"u"?new ResizeObserver(r=>{for(let e of r){let{target:t,contentRect:n}=e,o=ao.get(t);if(o){let{onResize:i,measurements:s}=o,l=!1;for(let[a,c]of Object.entries(s)){let u=dx(t,n,a);u!==c&&(l=!0,s[a]=u)}l&&i&&i(s)}}}):null;function Os(r,e,t,n=!1){let o=(0,Ya.useRef)(e),i=(0,Ya.useCallback)(s=>{let l=s.getBoundingClientRect();return o.current.reduce((a,c)=>(a[c]=dx(s,l,c),a),{})},[]);(0,Qf.useIsomorphicLayoutEffect)(()=>{if(!Qa)return;let s=r.current,l=!1;async function a(){ao.set(s,{measurements:{}}),l=!1;let{fonts:c}=document;if(c&&await c.ready,!l&&Qa){let u=ao.get(s);if(u){let h=i(s);u.measurements=h,Qa.observe(s),n&&t(h)}}}if(s){if(ao.has(s))throw Error("useResizeObserver attemping to observe same element twice");a()}return()=>{s&&ao.has(s)&&(Qa.unobserve(s),ao.delete(s),l=!0)}},[r,i]),(0,Qf.useIsomorphicLayoutEffect)(()=>{let s=r.current,l=ao.get(s);if(l){if(o.current!==e){o.current=e;let a=i(s);l.measurements=a}l.onResize=t}},[e,i,r,t])}var $t=require("react/jsx-runtime"),Ut=require("react"),pi=require("@salt-ds/core");var Xa=require("react"),dR={scrollToIndex:r=>{},scrollToItem:r=>{},scrollTo:r=>{}},px=({collectionHook:r,forwardedRef:e,scrollableRef:t,scrollIntoView:n})=>{let o=(0,Xa.useMemo)(()=>({scrollToIndex:i=>{let s=r.data[i];s&&(n==null||n(s))},scrollToItem:i=>{let s=r.toCollectionItem(i);s&&(n==null||n(s))},scrollTo:i=>{t!=null&&t.current&&(t.current.scrollTop=i)}}),[r.data,r.toCollectionItem,n]);(0,Xa.useImperativeHandle)(e,()=>t.current?o:dR,[o])};var xx=require("@salt-ds/core"),st=require("react");var mx=r=>Array.isArray(r)?r.length>0:r!=null,gx=r=>Array.isArray(r)?r[0]:r;var Xf=-2;function yx(r,e,t){return e===Ps||e===Ls?t>0?t-1:t:t===null?0:t===r-1?t:t+1}var Yf=(r,e)=>{let t=gx(e);return t?r.indexOf(t):-1},pR=(r,e,t,n)=>r===Ls?n:r===qa?-1:e!==-1?e:t,vx=r=>{let e=document.getElementById(r.id);if(e)return e.getBoundingClientRect();throw Error(`useKeyboardNavigation.getItemRect no element found for item #${r==null?void 0:r.id}`)},mR=(r,e,t,n)=>{let{top:o}=e.getBoundingClientRect(),{scrollTop:i,clientHeight:s,scrollHeight:l}=r,a=t.length-1,c=Math.min(i+s,l-s);if(c!==i&&n<a){r.scrollTo(0,c);let u=n,h;do u+=1,h=vx(t[u]);while(h.top<o&&u<a);return u}},gR=async(r,e,t,n)=>{let{top:o}=e.getBoundingClientRect(),{scrollTop:i,clientHeight:s}=r,l=Math.max(i-s,0);if(l!==i&&n>0)return r.scrollTo(0,l),new Promise(a=>{requestAnimationFrame(()=>{let c=n,u;do c-=1,u=vx(t[c]);while(u.top>o&&c>0);a(c)})})},yR=r=>!r.header&&!r.childNodes,bx=r=>yR(r)||r.expanded!==void 0,wx=({containerRef:r,defaultHighlightedIndex:e=-1,disableHighlightOnFocus:t,highlightedIndex:n,indexPositions:o,onHighlight:i,onKeyboardNavigation:s,restoreLastFocus:l,selected:a})=>{let c=(0,st.useRef)(-1),[,u]=(0,st.useState)({}),[h,f,d]=(0,xx.useControlled)({controlled:n,default:e,name:"UseKeyboardNavigation"}),p=(0,st.useCallback)((k,E=!1)=>{i==null||i(k),f(k),E&&(c.current=k)},[i,f]),m=(0,st.useCallback)(async(k,E)=>{let{id:R}=o[E],N;if(R){let O=document.getElementById(R),{current:M}=r;O&&M&&(N=k.key===Ka?mR(M,O,o,E):await gR(M,O,o,E))}return N!=null?N:E},[r,o]),g=(0,st.useCallback)((k=Ds,E=k===Ds?-1:o.length)=>{if(o.length===0)return-1;{let R=Yf(o,a),N=pR(k,E,R,o.length),O=yx(o.length,k,N);if(O===0&&k===Ps&&!bx(o[0]))return E;for(;((k===Ds||k===qa)&&O<o.length||(k===Ps||k===Ls)&&O>0)&&!bx(o[O]);)O=yx(o.length,k,O);return O}},[o,a]),y=(0,st.useRef)(!1),v=(0,st.useRef)(!1),w=k=>v.current=k,x=(0,st.useCallback)(k=>{if(v.current)v.current=!1;else if(y.current=!0,o.length===0)p(Xf);else if(h!==-1)u({});else if(l)if(c.current!==-1)p(c.current);else{let E=Yf(o,a);p(E!==-1?E:0)}else if(mx(a)){let E=Yf(o,a);p(E)}else t!==!0&&p(g())},[t,h,o,g,l,a,p]),S=(0,st.useCallback)(async k=>{let E=k.key===Ka||k.key===Uf?await m(k,h):g(k.key,h);E!==h&&p(E,!0),s==null||s(k,E)},[h,g,m,s,p]),b=(0,st.useCallback)(k=>{o.length>0&&ex(k)?(k.preventDefault(),k.stopPropagation(),y.current=!0,S(k)):ja(k)&&(y.current=!0)},[o,S]),C=(0,st.useMemo)(()=>({onBlur:k=>{let E=k.target.closest(".saltList"),R=k.relatedTarget;E&&!(E!=null&&E.contains(R))&&(y.current=!1,f(-1),l||(c.current=-1))},onFocus:x,onKeyDown:b,onMouseDownCapture:()=>{y.current=!1,w(!0)},onMouseMove:()=>{y.current&&(y.current=!1)},onMouseLeave:()=>{y.current=!1,w(!1),p(-1)}}),[x,b,l,f,p]);return{focusVisible:y.current?h:-1,controlledHighlighting:d,highlightedIndex:h,setHighlightedIndex:p,keyboardNavigation:y,listProps:C,setIgnoreFocus:w}};function Sx(r,e){return Array.isArray(r)?r.includes(e):r===e}var co=require("react/jsx-runtime"),Zf=require("react");var Za=require("@salt-ds/core");var fi=require("react/jsx-runtime"),Tx=require("@salt-ds/core");var t3=require("react");var Cx=`.saltHighlighter-highlight {
|
|
19
|
+
`){let o="";for(let i=0,s=0;i<this.children.length&&s<=t;i++){let l=this.children[i],a=s+l.length;s>e&&i&&(o+=n),e<a&&t>s&&(o+=l.sliceString(e-s,t-s,n)),s=a+1}return o}flatten(e){for(let t of this.children)t.flatten(e)}scanIdentical(e,t){if(!(e instanceof Ot))return 0;let n=0,[o,i,s,l]=t>0?[0,0,this.children.length,e.children.length]:[this.children.length-1,e.children.length-1,-1,-1];for(;;o+=t,i+=t){if(o==s||i==l)return n;let a=this.children[o],c=e.children[i];if(a!=c)return n+a.scanIdentical(c,t);n+=a.length+1}}static from(e,t=e.reduce((n,o)=>n+o.length+1,-1)){let n=0;for(let d of e)n+=d.lines;if(n<32){let d=[];for(let p of e)p.flatten(d);return new de(d,t)}let o=Math.max(32,n>>5),i=o<<1,s=o>>1,l=[],a=0,c=-1,u=[];function h(d){let p;if(d.lines>i&&d instanceof Ot)for(let m of d.children)h(m);else d.lines>s&&(a>s||!a)?(f(),l.push(d)):d instanceof de&&a&&(p=u[u.length-1])instanceof de&&d.lines+p.lines<=32?(a+=d.lines,c+=d.length+1,u[u.length-1]=new de(p.text.concat(d.text),p.length+1+d.length)):(a+d.lines>o&&f(),a+=d.lines,c+=d.length+1,u.push(d))}function f(){a!=0&&(l.push(u.length==1?u[0]:Ot.from(u,c)),c=-1,a=u.length=0)}for(let d of e)h(d);return f(),l.length==1?l[0]:new Ot(l,t)}};X.empty=new de([""],0);function tk(r){let e=-1;for(let t of r)e+=t.length+1;return e}function Xl(r,e,t=0,n=1e9){for(let o=0,i=0,s=!0;i<r.length&&o<=n;i++){let l=r[i],a=o+l.length;a>=t&&(a>n&&(l=l.slice(0,n-o)),o<t&&(l=l.slice(t-o)),s?(e[e.length-1]+=l,s=!1):e.push(l)),o=a+1}return e}function _g(r,e,t){return Xl(r,[""],e,t)}var qr=class{constructor(e,t=1){this.dir=t,this.done=!1,this.lineBreak=!1,this.value="",this.nodes=[e],this.offsets=[t>0?1:(e instanceof de?e.text.length:e.children.length)<<1]}nextInner(e,t){for(this.done=this.lineBreak=!1;;){let n=this.nodes.length-1,o=this.nodes[n],i=this.offsets[n],s=i>>1,l=o instanceof de?o.text.length:o.children.length;if(s==(t>0?l:0)){if(n==0)return this.done=!0,this.value="",this;t>0&&this.offsets[n-1]++,this.nodes.pop(),this.offsets.pop()}else if((i&1)==(t>0?0:1)){if(this.offsets[n]+=t,e==0)return this.lineBreak=!0,this.value=`
|
|
20
|
+
`,this;e--}else if(o instanceof de){let a=o.text[s+(t<0?-1:0)];if(this.offsets[n]+=t,a.length>Math.max(0,e))return this.value=e==0?a:t>0?a.slice(e):a.slice(0,a.length-e),this;e-=a.length}else{let a=o.children[s+(t<0?-1:0)];e>a.length?(e-=a.length,this.offsets[n]+=t):(t<0&&this.offsets[n]--,this.nodes.push(a),this.offsets.push(t>0?1:(a instanceof de?a.text.length:a.children.length)<<1))}}}next(e=0){return e<0&&(this.nextInner(-e,-this.dir),e=this.value.length),this.nextInner(e,this.dir)}},Zl=class{constructor(e,t,n){this.value="",this.done=!1,this.cursor=new qr(e,t>n?-1:1),this.pos=t>n?e.length:0,this.from=Math.min(t,n),this.to=Math.max(t,n)}nextInner(e,t){if(t<0?this.pos<=this.from:this.pos>=this.to)return this.value="",this.done=!0,this;e+=Math.max(0,t<0?this.pos-this.to:this.from-this.pos);let n=t<0?this.pos-this.from:this.to-this.pos;e>n&&(e=n),n-=e;let{value:o}=this.cursor.next(e);return this.pos+=(o.length+e)*t,this.value=o.length<=n?o:t<0?o.slice(o.length-n):o.slice(0,n),this.done=!this.value,this}next(e=0){return e<0?e=Math.max(e,this.from-this.pos):e>0&&(e=Math.min(e,this.to-this.pos)),this.nextInner(e,this.cursor.dir)}get lineBreak(){return this.cursor.lineBreak&&this.value!=""}},ea=class{constructor(e){this.inner=e,this.afterBreak=!0,this.value="",this.done=!1}next(e=0){let{done:t,lineBreak:n,value:o}=this.inner.next(e);return t?(this.done=!0,this.value=""):n?this.afterBreak?this.value="":(this.afterBreak=!0,this.next()):(this.value=o,this.afterBreak=!1),this}get lineBreak(){return!1}};typeof Symbol<"u"&&(X.prototype[Symbol.iterator]=function(){return this.iter()},qr.prototype[Symbol.iterator]=Zl.prototype[Symbol.iterator]=ea.prototype[Symbol.iterator]=function(){return this});var nh=class{constructor(e,t,n,o){this.from=e,this.to=t,this.number=n,this.text=o}get length(){return this.to-this.from}},Go="lc,34,7n,7,7b,19,,,,2,,2,,,20,b,1c,l,g,,2t,7,2,6,2,2,,4,z,,u,r,2j,b,1m,9,9,,o,4,,9,,3,,5,17,3,3b,f,,w,1j,,,,4,8,4,,3,7,a,2,t,,1m,,,,2,4,8,,9,,a,2,q,,2,2,1l,,4,2,4,2,2,3,3,,u,2,3,,b,2,1l,,4,5,,2,4,,k,2,m,6,,,1m,,,2,,4,8,,7,3,a,2,u,,1n,,,,c,,9,,14,,3,,1l,3,5,3,,4,7,2,b,2,t,,1m,,2,,2,,3,,5,2,7,2,b,2,s,2,1l,2,,,2,4,8,,9,,a,2,t,,20,,4,,2,3,,,8,,29,,2,7,c,8,2q,,2,9,b,6,22,2,r,,,,,,1j,e,,5,,2,5,b,,10,9,,2u,4,,6,,2,2,2,p,2,4,3,g,4,d,,2,2,6,,f,,jj,3,qa,3,t,3,t,2,u,2,1s,2,,7,8,,2,b,9,,19,3,3b,2,y,,3a,3,4,2,9,,6,3,63,2,2,,1m,,,7,,,,,2,8,6,a,2,,1c,h,1r,4,1c,7,,,5,,14,9,c,2,w,4,2,2,,3,1k,,,2,3,,,3,1m,8,2,2,48,3,,d,,7,4,,6,,3,2,5i,1m,,5,ek,,5f,x,2da,3,3x,,2o,w,fe,6,2x,2,n9w,4,,a,w,2,28,2,7k,,3,,4,,p,2,5,,47,2,q,i,d,,12,8,p,b,1a,3,1c,,2,4,2,2,13,,1v,6,2,2,2,2,c,,8,,1b,,1f,,,3,2,2,5,2,,,16,2,8,,6m,,2,,4,,fn4,,kh,g,g,g,a6,2,gt,,6a,,45,5,1ae,3,,2,5,4,14,3,4,,4l,2,fx,4,ar,2,49,b,4w,,1i,f,1k,3,1d,4,2,2,1x,3,10,5,,8,1q,,c,2,1g,9,a,4,2,,2n,3,2,,,2,6,,4g,,3,8,l,2,1l,2,,,,,m,,e,7,3,5,5f,8,2,3,,,n,,29,,2,6,,,2,,,2,,2,6j,,2,4,6,2,,2,r,2,2d,8,2,,,2,2y,,,,2,6,,,2t,3,2,4,,5,77,9,,2,6t,,a,2,,,4,,40,4,2,2,4,,w,a,14,6,2,4,8,,9,6,2,3,1a,d,,2,ba,7,,6,,,2a,m,2,7,,2,,2,3e,6,3,,,2,,7,,,20,2,3,,,,9n,2,f0b,5,1n,7,t4,,1r,4,29,,f5k,2,43q,,,3,4,5,8,8,2,7,u,4,44,3,1iz,1j,4,1e,8,,e,,m,5,,f,11s,7,,h,2,7,,2,,5,79,7,c5,4,15s,7,31,7,240,5,gx7k,2o,3k,6o".split(",").map(r=>r?parseInt(r,36):1);for(let r=1;r<Go.length;r++)Go[r]+=Go[r-1];function nk(r){for(let e=1;e<Go.length;e+=2)if(Go[e]>r)return Go[e-1]<=r;return!1}function zg(r){return r>=127462&&r<=127487}var Wg=8205;function Ge(r,e,t=!0,n=!0){return(t?jg:rk)(r,e,n)}function jg(r,e,t){if(e==r.length)return e;e&&Jg(r.charCodeAt(e))&&Qg(r.charCodeAt(e-1))&&e--;let n=dn(r,e);for(e+=Kr(n);e<r.length;){let o=dn(r,e);if(n==Wg||o==Wg||t&&nk(o))e+=Kr(o),n=o;else if(zg(o)){let i=0,s=e-2;for(;s>=0&&zg(dn(r,s));)i++,s-=2;if(i%2==0)break;e+=2}else break}return e}function rk(r,e,t){for(;e>0;){let n=jg(r,e-2,t);if(n<e)return n;e--}return 0}function Jg(r){return r>=56320&&r<57344}function Qg(r){return r>=55296&&r<56320}function dn(r,e){let t=r.charCodeAt(e);if(!Qg(t)||e+1==r.length)return t;let n=r.charCodeAt(e+1);return Jg(n)?(t-55296<<10)+(n-56320)+65536:t}function Yg(r){return r<=65535?String.fromCharCode(r):(r-=65536,String.fromCharCode((r>>10)+55296,(r&1023)+56320))}function Kr(r){return r<65536?1:2}var rh=/\r\n?|\n/,Ue=function(r){return r[r.Simple=0]="Simple",r[r.TrackDel=1]="TrackDel",r[r.TrackBefore=2]="TrackBefore",r[r.TrackAfter=3]="TrackAfter",r}(Ue||(Ue={})),wt=class{constructor(e){this.sections=e}get length(){let e=0;for(let t=0;t<this.sections.length;t+=2)e+=this.sections[t];return e}get newLength(){let e=0;for(let t=0;t<this.sections.length;t+=2){let n=this.sections[t+1];e+=n<0?this.sections[t]:n}return e}get empty(){return this.sections.length==0||this.sections.length==2&&this.sections[1]<0}iterGaps(e){for(let t=0,n=0,o=0;t<this.sections.length;){let i=this.sections[t++],s=this.sections[t++];s<0?(e(n,o,i),o+=i):o+=s,n+=i}}iterChangedRanges(e,t=!1){oh(this,e,t)}get invertedDesc(){let e=[];for(let t=0;t<this.sections.length;){let n=this.sections[t++],o=this.sections[t++];o<0?e.push(n,o):e.push(o,n)}return new wt(e)}composeDesc(e){return this.empty?e:e.empty?this:Xg(this,e)}mapDesc(e,t=!1){return e.empty?this:ih(this,e,t)}mapPos(e,t=-1,n=Ue.Simple){let o=0,i=0;for(let s=0;s<this.sections.length;){let l=this.sections[s++],a=this.sections[s++],c=o+l;if(a<0){if(c>e)return i+(e-o);i+=l}else{if(n!=Ue.Simple&&c>=e&&(n==Ue.TrackDel&&o<e&&c>e||n==Ue.TrackBefore&&o<e||n==Ue.TrackAfter&&c>e))return null;if(c>e||c==e&&t<0&&!l)return e==o||t<0?i:i+a;i+=a}o=c}if(e>o)throw new RangeError(`Position ${e} is out of range for changeset of length ${o}`);return i}touchesRange(e,t=e){for(let n=0,o=0;n<this.sections.length&&o<=t;){let i=this.sections[n++],s=this.sections[n++],l=o+i;if(s>=0&&o<=t&&l>=e)return o<e&&l>t?"cover":!0;o=l}return!1}toString(){let e="";for(let t=0;t<this.sections.length;){let n=this.sections[t++],o=this.sections[t++];e+=(e?" ":"")+n+(o>=0?":"+o:"")}return e}toJSON(){return this.sections}static fromJSON(e){if(!Array.isArray(e)||e.length%2||e.some(t=>typeof t!="number"))throw new RangeError("Invalid JSON representation of ChangeDesc");return new wt(e)}static create(e){return new wt(e)}},pe=class extends wt{constructor(e,t){super(e),this.inserted=t}apply(e){if(this.length!=e.length)throw new RangeError("Applying change set to a document with the wrong length");return oh(this,(t,n,o,i,s)=>e=e.replace(o,o+(n-t),s),!1),e}mapDesc(e,t=!1){return ih(this,e,t,!0)}invert(e){let t=this.sections.slice(),n=[];for(let o=0,i=0;o<t.length;o+=2){let s=t[o],l=t[o+1];if(l>=0){t[o]=l,t[o+1]=s;let a=o>>1;for(;n.length<a;)n.push(X.empty);n.push(s?e.slice(i,i+s):X.empty)}i+=s}return new pe(t,n)}compose(e){return this.empty?e:e.empty?this:Xg(this,e,!0)}map(e,t=!1){return e.empty?this:ih(this,e,t,!0)}iterChanges(e,t=!1){oh(this,e,t)}get desc(){return wt.create(this.sections)}filter(e){let t=[],n=[],o=[],i=new jr(this);e:for(let s=0,l=0;;){let a=s==e.length?1e9:e[s++];for(;l<a||l==a&&i.len==0;){if(i.done)break e;let u=Math.min(i.len,a-l);$e(o,u,-1);let h=i.ins==-1?-1:i.off==0?i.ins:0;$e(t,u,h),h>0&&sr(n,t,i.text),i.forward(u),l+=u}let c=e[s++];for(;l<c;){if(i.done)break e;let u=Math.min(i.len,c-l);$e(t,u,-1),$e(o,u,i.ins==-1?-1:i.off==0?i.ins:0),i.forward(u),l+=u}}return{changes:new pe(t,n),filtered:wt.create(o)}}toJSON(){let e=[];for(let t=0;t<this.sections.length;t+=2){let n=this.sections[t],o=this.sections[t+1];o<0?e.push(n):o==0?e.push([n]):e.push([n].concat(this.inserted[t>>1].toJSON()))}return e}static of(e,t,n){let o=[],i=[],s=0,l=null;function a(u=!1){if(!u&&!o.length)return;s<t&&$e(o,t-s,-1);let h=new pe(o,i);l=l?l.compose(h.map(l)):h,o=[],i=[],s=0}function c(u){if(Array.isArray(u))for(let h of u)c(h);else if(u instanceof pe){if(u.length!=t)throw new RangeError(`Mismatched change set length (got ${u.length}, expected ${t})`);a(),l=l?l.compose(u.map(l)):u}else{let{from:h,to:f=h,insert:d}=u;if(h>f||h<0||f>t)throw new RangeError(`Invalid change range ${h} to ${f} (in doc of length ${t})`);let p=d?typeof d=="string"?X.of(d.split(n||rh)):d:X.empty,m=p.length;if(h==f&&m==0)return;h<s&&a(),h>s&&$e(o,h-s,-1),$e(o,f-h,m),sr(i,o,p),s=f}}return c(e),a(!l),l}static empty(e){return new pe(e?[e,-1]:[],[])}static fromJSON(e){if(!Array.isArray(e))throw new RangeError("Invalid JSON representation of ChangeSet");let t=[],n=[];for(let o=0;o<e.length;o++){let i=e[o];if(typeof i=="number")t.push(i,-1);else{if(!Array.isArray(i)||typeof i[0]!="number"||i.some((s,l)=>l&&typeof s!="string"))throw new RangeError("Invalid JSON representation of ChangeSet");if(i.length==1)t.push(i[0],0);else{for(;n.length<o;)n.push(X.empty);n[o]=X.of(i.slice(1)),t.push(i[0],n[o].length)}}}return new pe(t,n)}static createSet(e,t){return new pe(e,t)}};function $e(r,e,t,n=!1){if(e==0&&t<=0)return;let o=r.length-2;o>=0&&t<=0&&t==r[o+1]?r[o]+=e:e==0&&r[o]==0?r[o+1]+=t:n?(r[o]+=e,r[o+1]+=t):r.push(e,t)}function sr(r,e,t){if(t.length==0)return;let n=e.length-2>>1;if(n<r.length)r[r.length-1]=r[r.length-1].append(t);else{for(;r.length<n;)r.push(X.empty);r.push(t)}}function oh(r,e,t){let n=r.inserted;for(let o=0,i=0,s=0;s<r.sections.length;){let l=r.sections[s++],a=r.sections[s++];if(a<0)o+=l,i+=l;else{let c=o,u=i,h=X.empty;for(;c+=l,u+=a,a&&n&&(h=h.append(n[s-2>>1])),!(t||s==r.sections.length||r.sections[s+1]<0);)l=r.sections[s++],a=r.sections[s++];e(o,c,i,u,h),o=c,i=u}}}function ih(r,e,t,n=!1){let o=[],i=n?[]:null,s=new jr(r),l=new jr(e);for(let a=-1;;)if(s.ins==-1&&l.ins==-1){let c=Math.min(s.len,l.len);$e(o,c,-1),s.forward(c),l.forward(c)}else if(l.ins>=0&&(s.ins<0||a==s.i||s.off==0&&(l.len<s.len||l.len==s.len&&!t))){let c=l.len;for($e(o,l.ins,-1);c;){let u=Math.min(s.len,c);s.ins>=0&&a<s.i&&s.len<=u&&($e(o,0,s.ins),i&&sr(i,o,s.text),a=s.i),s.forward(u),c-=u}l.next()}else if(s.ins>=0){let c=0,u=s.len;for(;u;)if(l.ins==-1){let h=Math.min(u,l.len);c+=h,u-=h,l.forward(h)}else if(l.ins==0&&l.len<u)u-=l.len,l.next();else break;$e(o,c,a<s.i?s.ins:0),i&&a<s.i&&sr(i,o,s.text),a=s.i,s.forward(s.len-u)}else{if(s.done&&l.done)return i?pe.createSet(o,i):wt.create(o);throw new Error("Mismatched change set lengths")}}function Xg(r,e,t=!1){let n=[],o=t?[]:null,i=new jr(r),s=new jr(e);for(let l=!1;;){if(i.done&&s.done)return o?pe.createSet(n,o):wt.create(n);if(i.ins==0)$e(n,i.len,0,l),i.next();else if(s.len==0&&!s.done)$e(n,0,s.ins,l),o&&sr(o,n,s.text),s.next();else{if(i.done||s.done)throw new Error("Mismatched change set lengths");{let a=Math.min(i.len2,s.len),c=n.length;if(i.ins==-1){let u=s.ins==-1?-1:s.off?0:s.ins;$e(n,a,u,l),o&&u&&sr(o,n,s.text)}else s.ins==-1?($e(n,i.off?0:i.len,a,l),o&&sr(o,n,i.textBit(a))):($e(n,i.off?0:i.len,s.off?0:s.ins,l),o&&!s.off&&sr(o,n,s.text));l=(i.ins>a||s.ins>=0&&s.len>a)&&(l||n.length>c),i.forward2(a),s.forward(a)}}}}var jr=class{constructor(e){this.set=e,this.i=0,this.next()}next(){let{sections:e}=this.set;this.i<e.length?(this.len=e[this.i++],this.ins=e[this.i++]):(this.len=0,this.ins=-2),this.off=0}get done(){return this.ins==-2}get len2(){return this.ins<0?this.len:this.ins}get text(){let{inserted:e}=this.set,t=this.i-2>>1;return t>=e.length?X.empty:e[t]}textBit(e){let{inserted:t}=this.set,n=this.i-2>>1;return n>=t.length&&!e?X.empty:t[n].slice(this.off,e==null?void 0:this.off+e)}forward(e){e==this.len?this.next():(this.len-=e,this.off+=e)}forward2(e){this.ins==-1?this.forward(e):e==this.ins?this.next():(this.ins-=e,this.off+=e)}},Ln=class{constructor(e,t,n){this.from=e,this.to=t,this.flags=n}get anchor(){return this.flags&16?this.to:this.from}get head(){return this.flags&16?this.from:this.to}get empty(){return this.from==this.to}get assoc(){return this.flags&4?-1:this.flags&8?1:0}get bidiLevel(){let e=this.flags&3;return e==3?null:e}get goalColumn(){let e=this.flags>>5;return e==33554431?void 0:e}map(e,t=-1){let n,o;return this.empty?n=o=e.mapPos(this.from,t):(n=e.mapPos(this.from,1),o=e.mapPos(this.to,-1)),n==this.from&&o==this.to?this:new Ln(n,o,this.flags)}extend(e,t=e){if(e<=this.anchor&&t>=this.anchor)return D.range(e,t);let n=Math.abs(e-this.anchor)>Math.abs(t-this.anchor)?e:t;return D.range(this.anchor,n)}eq(e){return this.anchor==e.anchor&&this.head==e.head}toJSON(){return{anchor:this.anchor,head:this.head}}static fromJSON(e){if(!e||typeof e.anchor!="number"||typeof e.head!="number")throw new RangeError("Invalid JSON representation for SelectionRange");return D.range(e.anchor,e.head)}static create(e,t,n){return new Ln(e,t,n)}},D=class{constructor(e,t){this.ranges=e,this.mainIndex=t}map(e,t=-1){return e.empty?this:D.create(this.ranges.map(n=>n.map(e,t)),this.mainIndex)}eq(e){if(this.ranges.length!=e.ranges.length||this.mainIndex!=e.mainIndex)return!1;for(let t=0;t<this.ranges.length;t++)if(!this.ranges[t].eq(e.ranges[t]))return!1;return!0}get main(){return this.ranges[this.mainIndex]}asSingle(){return this.ranges.length==1?this:new D([this.main],0)}addRange(e,t=!0){return D.create([e].concat(this.ranges),t?0:this.mainIndex+1)}replaceRange(e,t=this.mainIndex){let n=this.ranges.slice();return n[t]=e,D.create(n,this.mainIndex)}toJSON(){return{ranges:this.ranges.map(e=>e.toJSON()),main:this.mainIndex}}static fromJSON(e){if(!e||!Array.isArray(e.ranges)||typeof e.main!="number"||e.main>=e.ranges.length)throw new RangeError("Invalid JSON representation for EditorSelection");return new D(e.ranges.map(t=>Ln.fromJSON(t)),e.main)}static single(e,t=e){return new D([D.range(e,t)],0)}static create(e,t=0){if(e.length==0)throw new RangeError("A selection needs at least one range");for(let n=0,o=0;o<e.length;o++){let i=e[o];if(i.empty?i.from<=n:i.from<n)return D.normalized(e.slice(),t);n=i.to}return new D(e,t)}static cursor(e,t=0,n,o){return Ln.create(e,e,(t==0?0:t<0?4:8)|(n==null?3:Math.min(2,n))|(o!=null?o:33554431)<<5)}static range(e,t,n,o){let i=(n!=null?n:33554431)<<5|(o==null?3:Math.min(2,o));return t<e?Ln.create(t,e,24|i):Ln.create(e,t,(t>e?4:0)|i)}static normalized(e,t=0){let n=e[t];e.sort((o,i)=>o.from-i.from),t=e.indexOf(n);for(let o=1;o<e.length;o++){let i=e[o],s=e[o-1];if(i.empty?i.from<=s.to:i.from<s.to){let l=s.from,a=Math.max(i.to,s.to);o<=t&&t--,e.splice(--o,2,i.anchor>i.head?D.range(a,l):D.range(l,a))}}return new D(e,t)}};function Zg(r,e){for(let t of r.ranges)if(t.to>e)throw new RangeError("Selection points outside of document")}var fh=0,G=class{constructor(e,t,n,o,i){this.combine=e,this.compareInput=t,this.compare=n,this.isStatic=o,this.id=fh++,this.default=e([]),this.extensions=typeof i=="function"?i(this):i}static define(e={}){return new G(e.combine||(t=>t),e.compareInput||((t,n)=>t===n),e.compare||(e.combine?(t,n)=>t===n:dh),!!e.static,e.enables)}of(e){return new qo([],this,0,e)}compute(e,t){if(this.isStatic)throw new Error("Can't compute a static facet");return new qo(e,this,1,t)}computeN(e,t){if(this.isStatic)throw new Error("Can't compute a static facet");return new qo(e,this,2,t)}from(e,t){return t||(t=n=>n),this.compute([e],n=>t(n.field(e)))}};function dh(r,e){return r==e||r.length==e.length&&r.every((t,n)=>t===e[n])}var qo=class{constructor(e,t,n,o){this.dependencies=e,this.facet=t,this.type=n,this.value=o,this.id=fh++}dynamicSlot(e){var t;let n=this.value,o=this.facet.compareInput,i=this.id,s=e[i]>>1,l=this.type==2,a=!1,c=!1,u=[];for(let h of this.dependencies)h=="doc"?a=!0:h=="selection"?c=!0:((t=e[h.id])!==null&&t!==void 0?t:1)&1||u.push(e[h.id]);return{create(h){return h.values[s]=n(h),1},update(h,f){if(a&&f.docChanged||c&&(f.docChanged||f.selection)||sh(h,u)){let d=n(h);if(l?!$g(d,h.values[s],o):!o(d,h.values[s]))return h.values[s]=d,1}return 0},reconfigure:(h,f)=>{let d,p=f.config.address[i];if(p!=null){let m=na(f,p);if(this.dependencies.every(y=>y instanceof G?f.facet(y)===h.facet(y):y instanceof ot?f.field(y,!1)==h.field(y,!1):!0)||(l?$g(d=n(h),m,o):o(d=n(h),m)))return h.values[s]=m,0}else d=n(h);return h.values[s]=d,1}}}};function $g(r,e,t){if(r.length!=e.length)return!1;for(let n=0;n<r.length;n++)if(!t(r[n],e[n]))return!1;return!0}function sh(r,e){let t=!1;for(let n of e)as(r,n)&1&&(t=!0);return t}function ok(r,e,t){let n=t.map(a=>r[a.id]),o=t.map(a=>a.type),i=n.filter(a=>!(a&1)),s=r[e.id]>>1;function l(a){let c=[];for(let u=0;u<n.length;u++){let h=na(a,n[u]);if(o[u]==2)for(let f of h)c.push(f);else c.push(h)}return e.combine(c)}return{create(a){for(let c of n)as(a,c);return a.values[s]=l(a),1},update(a,c){if(!sh(a,i))return 0;let u=l(a);return e.compare(u,a.values[s])?0:(a.values[s]=u,1)},reconfigure(a,c){let u=sh(a,n),h=c.config.facets[e.id],f=c.facet(e);if(h&&!u&&dh(t,h))return a.values[s]=f,0;let d=l(a);return e.compare(d,f)?(a.values[s]=f,0):(a.values[s]=d,1)}}}var Ug=G.define({static:!0}),ot=class{constructor(e,t,n,o,i){this.id=e,this.createF=t,this.updateF=n,this.compareF=o,this.spec=i,this.provides=void 0}static define(e){let t=new ot(fh++,e.create,e.update,e.compare||((n,o)=>n===o),e);return e.provide&&(t.provides=e.provide(t)),t}create(e){let t=e.facet(Ug).find(n=>n.field==this);return((t==null?void 0:t.create)||this.createF)(e)}slot(e){let t=e[this.id]>>1;return{create:n=>(n.values[t]=this.create(n),1),update:(n,o)=>{let i=n.values[t],s=this.updateF(i,o);return this.compareF(i,s)?0:(n.values[t]=s,1)},reconfigure:(n,o)=>o.config.address[this.id]!=null?(n.values[t]=o.field(this),0):(n.values[t]=this.create(n),1)}}init(e){return[this,Ug.of({field:this,create:e})]}get extension(){return this}},Ur={lowest:4,low:3,default:2,high:1,highest:0};function ls(r){return e=>new ta(e,r)}var Yr={highest:ls(Ur.highest),high:ls(Ur.high),default:ls(Ur.default),low:ls(Ur.low),lowest:ls(Ur.lowest)},ta=class{constructor(e,t){this.inner=e,this.prec=t}},jo=class{of(e){return new cs(this,e)}reconfigure(e){return jo.reconfigure.of({compartment:this,extension:e})}get(e){return e.config.compartments.get(this)}},cs=class{constructor(e,t){this.compartment=e,this.inner=t}},Jo=class{constructor(e,t,n,o,i,s){for(this.base=e,this.compartments=t,this.dynamicSlots=n,this.address=o,this.staticValues=i,this.facets=s,this.statusTemplate=[];this.statusTemplate.length<n.length;)this.statusTemplate.push(0)}staticFacet(e){let t=this.address[e.id];return t==null?e.default:this.staticValues[t>>1]}static resolve(e,t,n){let o=[],i=Object.create(null),s=new Map;for(let f of ik(e,t,s))f instanceof ot?o.push(f):(i[f.facet.id]||(i[f.facet.id]=[])).push(f);let l=Object.create(null),a=[],c=[];for(let f of o)l[f.id]=c.length<<1,c.push(d=>f.slot(d));let u=n==null?void 0:n.config.facets;for(let f in i){let d=i[f],p=d[0].facet,m=u&&u[f]||[];if(d.every(y=>y.type==0))if(l[p.id]=a.length<<1|1,dh(m,d))a.push(n.facet(p));else{let y=p.combine(d.map(g=>g.value));a.push(n&&p.compare(y,n.facet(p))?n.facet(p):y)}else{for(let y of d)y.type==0?(l[y.id]=a.length<<1|1,a.push(y.value)):(l[y.id]=c.length<<1,c.push(g=>y.dynamicSlot(g)));l[p.id]=c.length<<1,c.push(y=>ok(y,p,d))}}let h=c.map(f=>f(l));return new Jo(e,s,h,l,a,i)}};function ik(r,e,t){let n=[[],[],[],[],[]],o=new Map;function i(s,l){let a=o.get(s);if(a!=null){if(a<=l)return;let c=n[a].indexOf(s);c>-1&&n[a].splice(c,1),s instanceof cs&&t.delete(s.compartment)}if(o.set(s,l),Array.isArray(s))for(let c of s)i(c,l);else if(s instanceof cs){if(t.has(s.compartment))throw new RangeError("Duplicate use of compartment in extensions");let c=e.get(s.compartment)||s.inner;t.set(s.compartment,c),i(c,l)}else if(s instanceof ta)i(s.inner,s.prec);else if(s instanceof ot)n[l].push(s),s.provides&&i(s.provides,l);else if(s instanceof qo)n[l].push(s),s.facet.extensions&&i(s.facet.extensions,Ur.default);else{let c=s.extension;if(!c)throw new Error(`Unrecognized extension value in extension set (${s}). This sometimes happens because multiple instances of @codemirror/state are loaded, breaking instanceof checks.`);i(c,l)}}return i(r,Ur.default),n.reduce((s,l)=>s.concat(l))}function as(r,e){if(e&1)return 2;let t=e>>1,n=r.status[t];if(n==4)throw new Error("Cyclic dependency between fields and/or facets");if(n&2)return n;r.status[t]=4;let o=r.computeSlot(r,r.config.dynamicSlots[t]);return r.status[t]=2|o}function na(r,e){return e&1?r.config.staticValues[e>>1]:r.values[e>>1]}var ey=G.define(),ty=G.define({combine:r=>r.some(e=>e),static:!0}),ny=G.define({combine:r=>r.length?r[0]:void 0,static:!0}),ry=G.define(),oy=G.define(),iy=G.define(),sy=G.define({combine:r=>r.length?r[0]:!1}),St=class{constructor(e,t){this.type=e,this.value=t}static define(){return new ra}},ra=class{of(e){return new St(this,e)}},lh=class{constructor(e){this.map=e}of(e){return new ae(this,e)}},ae=class{constructor(e,t){this.type=e,this.value=t}map(e){let t=this.type.map(this.value,e);return t===void 0?void 0:t==this.value?this:new ae(this.type,t)}is(e){return this.type==e}static define(e={}){return new lh(e.map||(t=>t))}static mapEffects(e,t){if(!e.length)return e;let n=[];for(let o of e){let i=o.map(t);i&&n.push(i)}return n}};ae.reconfigure=ae.define();ae.appendConfig=ae.define();var me=class{constructor(e,t,n,o,i,s){this.startState=e,this.changes=t,this.selection=n,this.effects=o,this.annotations=i,this.scrollIntoView=s,this._doc=null,this._state=null,n&&Zg(n,t.newLength),i.some(l=>l.type==me.time)||(this.annotations=i.concat(me.time.of(Date.now())))}static create(e,t,n,o,i,s){return new me(e,t,n,o,i,s)}get newDoc(){return this._doc||(this._doc=this.changes.apply(this.startState.doc))}get newSelection(){return this.selection||this.startState.selection.map(this.changes)}get state(){return this._state||this.startState.applyTransaction(this),this._state}annotation(e){for(let t of this.annotations)if(t.type==e)return t.value}get docChanged(){return!this.changes.empty}get reconfigured(){return this.startState.config!=this.state.config}isUserEvent(e){let t=this.annotation(me.userEvent);return!!(t&&(t==e||t.length>e.length&&t.slice(0,e.length)==e&&t[e.length]=="."))}};me.time=St.define();me.userEvent=St.define();me.addToHistory=St.define();me.remote=St.define();function sk(r,e){let t=[];for(let n=0,o=0;;){let i,s;if(n<r.length&&(o==e.length||e[o]>=r[n]))i=r[n++],s=r[n++];else if(o<e.length)i=e[o++],s=e[o++];else return t;!t.length||t[t.length-1]<i?t.push(i,s):t[t.length-1]<s&&(t[t.length-1]=s)}}function ly(r,e,t){var n;let o,i,s;return t?(o=e.changes,i=pe.empty(e.changes.length),s=r.changes.compose(e.changes)):(o=e.changes.map(r.changes),i=r.changes.mapDesc(e.changes,!0),s=r.changes.compose(o)),{changes:s,selection:e.selection?e.selection.map(i):(n=r.selection)===null||n===void 0?void 0:n.map(o),effects:ae.mapEffects(r.effects,o).concat(ae.mapEffects(e.effects,i)),annotations:r.annotations.length?r.annotations.concat(e.annotations):e.annotations,scrollIntoView:r.scrollIntoView||e.scrollIntoView}}function ah(r,e,t){let n=e.selection,o=Ko(e.annotations);return e.userEvent&&(o=o.concat(me.userEvent.of(e.userEvent))),{changes:e.changes instanceof pe?e.changes:pe.of(e.changes||[],t,r.facet(ny)),selection:n&&(n instanceof D?n:D.single(n.anchor,n.head)),effects:Ko(e.effects),annotations:o,scrollIntoView:!!e.scrollIntoView}}function ay(r,e,t){let n=ah(r,e.length?e[0]:{},r.doc.length);e.length&&e[0].filter===!1&&(t=!1);for(let i=1;i<e.length;i++){e[i].filter===!1&&(t=!1);let s=!!e[i].sequential;n=ly(n,ah(r,e[i],s?n.changes.newLength:r.doc.length),s)}let o=me.create(r,n.changes,n.selection,n.effects,n.annotations,n.scrollIntoView);return ak(t?lk(o):o)}function lk(r){let e=r.startState,t=!0;for(let o of e.facet(ry)){let i=o(r);if(i===!1){t=!1;break}Array.isArray(i)&&(t=t===!0?i:sk(t,i))}if(t!==!0){let o,i;if(t===!1)i=r.changes.invertedDesc,o=pe.empty(e.doc.length);else{let s=r.changes.filter(t);o=s.changes,i=s.filtered.mapDesc(s.changes).invertedDesc}r=me.create(e,o,r.selection&&r.selection.map(i),ae.mapEffects(r.effects,i),r.annotations,r.scrollIntoView)}let n=e.facet(oy);for(let o=n.length-1;o>=0;o--){let i=n[o](r);i instanceof me?r=i:Array.isArray(i)&&i.length==1&&i[0]instanceof me?r=i[0]:r=ay(e,Ko(i),!1)}return r}function ak(r){let e=r.startState,t=e.facet(iy),n=r;for(let o=t.length-1;o>=0;o--){let i=t[o](r);i&&Object.keys(i).length&&(n=ly(n,ah(e,i,r.changes.newLength),!0))}return n==r?r:me.create(e,r.changes,r.selection,n.effects,n.annotations,n.scrollIntoView)}var ck=[];function Ko(r){return r==null?ck:Array.isArray(r)?r:[r]}var rt=function(r){return r[r.Word=0]="Word",r[r.Space=1]="Space",r[r.Other=2]="Other",r}(rt||(rt={})),uk=/[\u00df\u0587\u0590-\u05f4\u0600-\u06ff\u3040-\u309f\u30a0-\u30ff\u3400-\u4db5\u4e00-\u9fcc\uac00-\ud7af]/,ch;try{ch=new RegExp("[\\p{Alphabetic}\\p{Number}_]","u")}catch{}function hk(r){if(ch)return ch.test(r);for(let e=0;e<r.length;e++){let t=r[e];if(/\w/.test(t)||t>"\x80"&&(t.toUpperCase()!=t.toLowerCase()||uk.test(t)))return!0}return!1}function fk(r){return e=>{if(!/\S/.test(e))return rt.Space;if(hk(e))return rt.Word;for(let t=0;t<r.length;t++)if(e.indexOf(r[t])>-1)return rt.Word;return rt.Other}}var ee=class{constructor(e,t,n,o,i,s){this.config=e,this.doc=t,this.selection=n,this.values=o,this.status=e.statusTemplate.slice(),this.computeSlot=i,s&&(s._state=this);for(let l=0;l<this.config.dynamicSlots.length;l++)as(this,l<<1);this.computeSlot=null}field(e,t=!0){let n=this.config.address[e.id];if(n==null){if(t)throw new RangeError("Field is not present in this state");return}return as(this,n),na(this,n)}update(...e){return ay(this,e,!0)}applyTransaction(e){let t=this.config,{base:n,compartments:o}=t;for(let s of e.effects)s.is(jo.reconfigure)?(t&&(o=new Map,t.compartments.forEach((l,a)=>o.set(a,l)),t=null),o.set(s.value.compartment,s.value.extension)):s.is(ae.reconfigure)?(t=null,n=s.value):s.is(ae.appendConfig)&&(t=null,n=Ko(n).concat(s.value));let i;t?i=e.startState.values.slice():(t=Jo.resolve(n,o,this),i=new ee(t,this.doc,this.selection,t.dynamicSlots.map(()=>null),(l,a)=>a.reconfigure(l,this),null).values),new ee(t,e.newDoc,e.newSelection,i,(s,l)=>l.update(s,e),e)}replaceSelection(e){return typeof e=="string"&&(e=this.toText(e)),this.changeByRange(t=>({changes:{from:t.from,to:t.to,insert:e},range:D.cursor(t.from+e.length)}))}changeByRange(e){let t=this.selection,n=e(t.ranges[0]),o=this.changes(n.changes),i=[n.range],s=Ko(n.effects);for(let l=1;l<t.ranges.length;l++){let a=e(t.ranges[l]),c=this.changes(a.changes),u=c.map(o);for(let f=0;f<l;f++)i[f]=i[f].map(u);let h=o.mapDesc(c,!0);i.push(a.range.map(h)),o=o.compose(u),s=ae.mapEffects(s,u).concat(ae.mapEffects(Ko(a.effects),h))}return{changes:o,selection:D.create(i,t.mainIndex),effects:s}}changes(e=[]){return e instanceof pe?e:pe.of(e,this.doc.length,this.facet(ee.lineSeparator))}toText(e){return X.of(e.split(this.facet(ee.lineSeparator)||rh))}sliceDoc(e=0,t=this.doc.length){return this.doc.sliceString(e,t,this.lineBreak)}facet(e){let t=this.config.address[e.id];return t==null?e.default:(as(this,t),na(this,t))}toJSON(e){let t={doc:this.sliceDoc(),selection:this.selection.toJSON()};if(e)for(let n in e){let o=e[n];o instanceof ot&&this.config.address[o.id]!=null&&(t[n]=o.spec.toJSON(this.field(e[n]),this))}return t}static fromJSON(e,t={},n){if(!e||typeof e.doc!="string")throw new RangeError("Invalid JSON representation for EditorState");let o=[];if(n){for(let i in n)if(Object.prototype.hasOwnProperty.call(e,i)){let s=n[i],l=e[i];o.push(s.init(a=>s.spec.fromJSON(l,a)))}}return ee.create({doc:e.doc,selection:D.fromJSON(e.selection),extensions:t.extensions?o.concat([t.extensions]):o})}static create(e={}){let t=Jo.resolve(e.extensions||[],new Map),n=e.doc instanceof X?e.doc:X.of((e.doc||"").split(t.staticFacet(ee.lineSeparator)||rh)),o=e.selection?e.selection instanceof D?e.selection:D.single(e.selection.anchor,e.selection.head):D.single(0);return Zg(o,n.length),t.staticFacet(ty)||(o=o.asSingle()),new ee(t,n,o,t.dynamicSlots.map(()=>null),(i,s)=>s.create(i),null)}get tabSize(){return this.facet(ee.tabSize)}get lineBreak(){return this.facet(ee.lineSeparator)||`
|
|
21
|
+
`}get readOnly(){return this.facet(sy)}phrase(e,...t){for(let n of this.facet(ee.phrases))if(Object.prototype.hasOwnProperty.call(n,e)){e=n[e];break}return t.length&&(e=e.replace(/\$(\$|\d*)/g,(n,o)=>{if(o=="$")return"$";let i=+(o||1);return!i||i>t.length?n:t[i-1]})),e}languageDataAt(e,t,n=-1){let o=[];for(let i of this.facet(ey))for(let s of i(this,t,n))Object.prototype.hasOwnProperty.call(s,e)&&o.push(s[e]);return o}charCategorizer(e){return fk(this.languageDataAt("wordChars",e).join(""))}wordAt(e){let{text:t,from:n,length:o}=this.doc.lineAt(e),i=this.charCategorizer(e),s=e-n,l=e-n;for(;s>0;){let a=Ge(t,s,!1);if(i(t.slice(a,s))!=rt.Word)break;s=a}for(;l<o;){let a=Ge(t,l);if(i(t.slice(l,a))!=rt.Word)break;l=a}return s==l?null:D.range(s+n,l+n)}};ee.allowMultipleSelections=ty;ee.tabSize=G.define({combine:r=>r.length?r[0]:4});ee.lineSeparator=ny;ee.readOnly=sy;ee.phrases=G.define({compare(r,e){let t=Object.keys(r),n=Object.keys(e);return t.length==n.length&&t.every(o=>r[o]==e[o])}});ee.languageData=ey;ee.changeFilter=ry;ee.transactionFilter=oy;ee.transactionExtender=iy;jo.reconfigure=ae.define();function Xr(r,e,t={}){let n={};for(let o of r)for(let i of Object.keys(o)){let s=o[i],l=n[i];if(l===void 0)n[i]=s;else if(!(l===s||s===void 0))if(Object.hasOwnProperty.call(t,i))n[i]=t[i](l,s);else throw new Error("Config merge conflict for field "+i)}for(let o in e)n[o]===void 0&&(n[o]=e[o]);return n}var tn=class{eq(e){return this==e}range(e,t=e){return Jr.create(e,t,this)}};tn.prototype.startSide=tn.prototype.endSide=0;tn.prototype.point=!1;tn.prototype.mapMode=Ue.TrackDel;var Jr=class{constructor(e,t,n){this.from=e,this.to=t,this.value=n}static create(e,t,n){return new Jr(e,t,n)}};function uh(r,e){return r.from-e.from||r.value.startSide-e.value.startSide}var us=class{constructor(e,t,n,o){this.from=e,this.to=t,this.value=n,this.maxPoint=o}get length(){return this.to[this.to.length-1]}findIndex(e,t,n,o=0){let i=n?this.to:this.from;for(let s=o,l=i.length;;){if(s==l)return s;let a=s+l>>1,c=i[a]-e||(n?this.value[a].endSide:this.value[a].startSide)-t;if(a==s)return c>=0?s:l;c>=0?l=a:s=a+1}}between(e,t,n,o){for(let i=this.findIndex(t,-1e9,!0),s=this.findIndex(n,1e9,!1,i);i<s;i++)if(o(this.from[i]+e,this.to[i]+e,this.value[i])===!1)return!1}map(e,t){let n=[],o=[],i=[],s=-1,l=-1;for(let a=0;a<this.value.length;a++){let c=this.value[a],u=this.from[a]+e,h=this.to[a]+e,f,d;if(u==h){let p=t.mapPos(u,c.startSide,c.mapMode);if(p==null||(f=d=p,c.startSide!=c.endSide&&(d=t.mapPos(u,c.endSide),d<f)))continue}else if(f=t.mapPos(u,c.startSide),d=t.mapPos(h,c.endSide),f>d||f==d&&c.startSide>0&&c.endSide<=0)continue;(d-f||c.endSide-c.startSide)<0||(s<0&&(s=f),c.point&&(l=Math.max(l,d-f)),n.push(c),o.push(f-s),i.push(d-s))}return{mapped:n.length?new us(o,i,n,l):null,pos:s}}},le=class{constructor(e,t,n,o){this.chunkPos=e,this.chunk=t,this.nextLayer=n,this.maxPoint=o}static create(e,t,n,o){return new le(e,t,n,o)}get length(){let e=this.chunk.length-1;return e<0?0:Math.max(this.chunkEnd(e),this.nextLayer.length)}get size(){if(this.isEmpty)return 0;let e=this.nextLayer.size;for(let t of this.chunk)e+=t.value.length;return e}chunkEnd(e){return this.chunkPos[e]+this.chunk[e].length}update(e){let{add:t=[],sort:n=!1,filterFrom:o=0,filterTo:i=this.length}=e,s=e.filter;if(t.length==0&&!s)return this;if(n&&(t=t.slice().sort(uh)),this.isEmpty)return t.length?le.of(t):this;let l=new oa(this,null,-1).goto(0),a=0,c=[],u=new pn;for(;l.value||a<t.length;)if(a<t.length&&(l.from-t[a].from||l.startSide-t[a].value.startSide)>=0){let h=t[a++];u.addInner(h.from,h.to,h.value)||c.push(h)}else l.rangeIndex==1&&l.chunkIndex<this.chunk.length&&(a==t.length||this.chunkEnd(l.chunkIndex)<t[a].from)&&(!s||o>this.chunkEnd(l.chunkIndex)||i<this.chunkPos[l.chunkIndex])&&u.addChunk(this.chunkPos[l.chunkIndex],this.chunk[l.chunkIndex])?l.nextChunk():((!s||o>l.to||i<l.from||s(l.from,l.to,l.value))&&(u.addInner(l.from,l.to,l.value)||c.push(Jr.create(l.from,l.to,l.value))),l.next());return u.finishInner(this.nextLayer.isEmpty&&!c.length?le.empty:this.nextLayer.update({add:c,filter:s,filterFrom:o,filterTo:i}))}map(e){if(e.empty||this.isEmpty)return this;let t=[],n=[],o=-1;for(let s=0;s<this.chunk.length;s++){let l=this.chunkPos[s],a=this.chunk[s],c=e.touchesRange(l,l+a.length);if(c===!1)o=Math.max(o,a.maxPoint),t.push(a),n.push(e.mapPos(l));else if(c===!0){let{mapped:u,pos:h}=a.map(l,e);u&&(o=Math.max(o,u.maxPoint),t.push(u),n.push(h))}}let i=this.nextLayer.map(e);return t.length==0?i:new le(n,t,i||le.empty,o)}between(e,t,n){if(!this.isEmpty){for(let o=0;o<this.chunk.length;o++){let i=this.chunkPos[o],s=this.chunk[o];if(t>=i&&e<=i+s.length&&s.between(i,e-i,t-i,n)===!1)return}this.nextLayer.between(e,t,n)}}iter(e=0){return Qr.from([this]).goto(e)}get isEmpty(){return this.nextLayer==this}static iter(e,t=0){return Qr.from(e).goto(t)}static compare(e,t,n,o,i=-1){let s=e.filter(h=>h.maxPoint>0||!h.isEmpty&&h.maxPoint>=i),l=t.filter(h=>h.maxPoint>0||!h.isEmpty&&h.maxPoint>=i),a=Gg(s,l,n),c=new Gr(s,a,i),u=new Gr(l,a,i);n.iterGaps((h,f,d)=>qg(c,h,u,f,d,o)),n.empty&&n.length==0&&qg(c,0,u,0,0,o)}static eq(e,t,n=0,o){o==null&&(o=1e9-1);let i=e.filter(u=>!u.isEmpty&&t.indexOf(u)<0),s=t.filter(u=>!u.isEmpty&&e.indexOf(u)<0);if(i.length!=s.length)return!1;if(!i.length)return!0;let l=Gg(i,s),a=new Gr(i,l,0).goto(n),c=new Gr(s,l,0).goto(n);for(;;){if(a.to!=c.to||!hh(a.active,c.active)||a.point&&(!c.point||!a.point.eq(c.point)))return!1;if(a.to>o)return!0;a.next(),c.next()}}static spans(e,t,n,o,i=-1){let s=new Gr(e,null,i).goto(t),l=t,a=s.openStart;for(;;){let c=Math.min(s.to,n);if(s.point){let u=s.activeForPoint(s.to),h=s.pointFrom<t?u.length+1:Math.min(u.length,a);o.point(l,c,s.point,u,h,s.pointRank),a=Math.min(s.openEnd(c),u.length)}else c>l&&(o.span(l,c,s.active,a),a=s.openEnd(c));if(s.to>n)return a+(s.point&&s.to>n?1:0);l=s.to,s.next()}}static of(e,t=!1){let n=new pn;for(let o of e instanceof Jr?[e]:t?dk(e):e)n.add(o.from,o.to,o.value);return n.finish()}};le.empty=new le([],[],null,-1);function dk(r){if(r.length>1)for(let e=r[0],t=1;t<r.length;t++){let n=r[t];if(uh(e,n)>0)return r.slice().sort(uh);e=n}return r}le.empty.nextLayer=le.empty;var pn=class{finishChunk(e){this.chunks.push(new us(this.from,this.to,this.value,this.maxPoint)),this.chunkPos.push(this.chunkStart),this.chunkStart=-1,this.setMaxPoint=Math.max(this.setMaxPoint,this.maxPoint),this.maxPoint=-1,e&&(this.from=[],this.to=[],this.value=[])}constructor(){this.chunks=[],this.chunkPos=[],this.chunkStart=-1,this.last=null,this.lastFrom=-1e9,this.lastTo=-1e9,this.from=[],this.to=[],this.value=[],this.maxPoint=-1,this.setMaxPoint=-1,this.nextLayer=null}add(e,t,n){this.addInner(e,t,n)||(this.nextLayer||(this.nextLayer=new pn)).add(e,t,n)}addInner(e,t,n){let o=e-this.lastTo||n.startSide-this.last.endSide;if(o<=0&&(e-this.lastFrom||n.startSide-this.last.startSide)<0)throw new Error("Ranges must be added sorted by `from` position and `startSide`");return o<0?!1:(this.from.length==250&&this.finishChunk(!0),this.chunkStart<0&&(this.chunkStart=e),this.from.push(e-this.chunkStart),this.to.push(t-this.chunkStart),this.last=n,this.lastFrom=e,this.lastTo=t,this.value.push(n),n.point&&(this.maxPoint=Math.max(this.maxPoint,t-e)),!0)}addChunk(e,t){if((e-this.lastTo||t.value[0].startSide-this.last.endSide)<0)return!1;this.from.length&&this.finishChunk(!0),this.setMaxPoint=Math.max(this.setMaxPoint,t.maxPoint),this.chunks.push(t),this.chunkPos.push(e);let n=t.value.length-1;return this.last=t.value[n],this.lastFrom=t.from[n]+e,this.lastTo=t.to[n]+e,!0}finish(){return this.finishInner(le.empty)}finishInner(e){if(this.from.length&&this.finishChunk(!1),this.chunks.length==0)return e;let t=le.create(this.chunkPos,this.chunks,this.nextLayer?this.nextLayer.finishInner(e):e,this.setMaxPoint);return this.from=null,t}};function Gg(r,e,t){let n=new Map;for(let i of r)for(let s=0;s<i.chunk.length;s++)i.chunk[s].maxPoint<=0&&n.set(i.chunk[s],i.chunkPos[s]);let o=new Set;for(let i of e)for(let s=0;s<i.chunk.length;s++){let l=n.get(i.chunk[s]);l!=null&&(t?t.mapPos(l):l)==i.chunkPos[s]&&!(t!=null&&t.touchesRange(l,l+i.chunk[s].length))&&o.add(i.chunk[s])}return o}var oa=class{constructor(e,t,n,o=0){this.layer=e,this.skip=t,this.minPoint=n,this.rank=o}get startSide(){return this.value?this.value.startSide:0}get endSide(){return this.value?this.value.endSide:0}goto(e,t=-1e9){return this.chunkIndex=this.rangeIndex=0,this.gotoInner(e,t,!1),this}gotoInner(e,t,n){for(;this.chunkIndex<this.layer.chunk.length;){let o=this.layer.chunk[this.chunkIndex];if(!(this.skip&&this.skip.has(o)||this.layer.chunkEnd(this.chunkIndex)<e||o.maxPoint<this.minPoint))break;this.chunkIndex++,n=!1}if(this.chunkIndex<this.layer.chunk.length){let o=this.layer.chunk[this.chunkIndex].findIndex(e-this.layer.chunkPos[this.chunkIndex],t,!0);(!n||this.rangeIndex<o)&&this.setRangeIndex(o)}this.next()}forward(e,t){(this.to-e||this.endSide-t)<0&&this.gotoInner(e,t,!0)}next(){for(;;)if(this.chunkIndex==this.layer.chunk.length){this.from=this.to=1e9,this.value=null;break}else{let e=this.layer.chunkPos[this.chunkIndex],t=this.layer.chunk[this.chunkIndex],n=e+t.from[this.rangeIndex];if(this.from=n,this.to=e+t.to[this.rangeIndex],this.value=t.value[this.rangeIndex],this.setRangeIndex(this.rangeIndex+1),this.minPoint<0||this.value.point&&this.to-this.from>=this.minPoint)break}}setRangeIndex(e){if(e==this.layer.chunk[this.chunkIndex].value.length){if(this.chunkIndex++,this.skip)for(;this.chunkIndex<this.layer.chunk.length&&this.skip.has(this.layer.chunk[this.chunkIndex]);)this.chunkIndex++;this.rangeIndex=0}else this.rangeIndex=e}nextChunk(){this.chunkIndex++,this.rangeIndex=0,this.next()}compare(e){return this.from-e.from||this.startSide-e.startSide||this.rank-e.rank||this.to-e.to||this.endSide-e.endSide}},Qr=class{constructor(e){this.heap=e}static from(e,t=null,n=-1){let o=[];for(let i=0;i<e.length;i++)for(let s=e[i];!s.isEmpty;s=s.nextLayer)s.maxPoint>=n&&o.push(new oa(s,t,n,i));return o.length==1?o[0]:new Qr(o)}get startSide(){return this.value?this.value.startSide:0}goto(e,t=-1e9){for(let n of this.heap)n.goto(e,t);for(let n=this.heap.length>>1;n>=0;n--)th(this.heap,n);return this.next(),this}forward(e,t){for(let n of this.heap)n.forward(e,t);for(let n=this.heap.length>>1;n>=0;n--)th(this.heap,n);(this.to-e||this.value.endSide-t)<0&&this.next()}next(){if(this.heap.length==0)this.from=this.to=1e9,this.value=null,this.rank=-1;else{let e=this.heap[0];this.from=e.from,this.to=e.to,this.value=e.value,this.rank=e.rank,e.value&&e.next(),th(this.heap,0)}}};function th(r,e){for(let t=r[e];;){let n=(e<<1)+1;if(n>=r.length)break;let o=r[n];if(n+1<r.length&&o.compare(r[n+1])>=0&&(o=r[n+1],n++),t.compare(o)<0)break;r[n]=t,r[e]=o,e=n}}var Gr=class{constructor(e,t,n){this.minPoint=n,this.active=[],this.activeTo=[],this.activeRank=[],this.minActive=-1,this.point=null,this.pointFrom=0,this.pointRank=0,this.to=-1e9,this.endSide=0,this.openStart=-1,this.cursor=Qr.from(e,t,n)}goto(e,t=-1e9){return this.cursor.goto(e,t),this.active.length=this.activeTo.length=this.activeRank.length=0,this.minActive=-1,this.to=e,this.endSide=t,this.openStart=-1,this.next(),this}forward(e,t){for(;this.minActive>-1&&(this.activeTo[this.minActive]-e||this.active[this.minActive].endSide-t)<0;)this.removeActive(this.minActive);this.cursor.forward(e,t)}removeActive(e){Ql(this.active,e),Ql(this.activeTo,e),Ql(this.activeRank,e),this.minActive=Kg(this.active,this.activeTo)}addActive(e){let t=0,{value:n,to:o,rank:i}=this.cursor;for(;t<this.activeRank.length&&this.activeRank[t]<=i;)t++;Yl(this.active,t,n),Yl(this.activeTo,t,o),Yl(this.activeRank,t,i),e&&Yl(e,t,this.cursor.from),this.minActive=Kg(this.active,this.activeTo)}next(){let e=this.to,t=this.point;this.point=null;let n=this.openStart<0?[]:null;for(;;){let o=this.minActive;if(o>-1&&(this.activeTo[o]-this.cursor.from||this.active[o].endSide-this.cursor.startSide)<0){if(this.activeTo[o]>e){this.to=this.activeTo[o],this.endSide=this.active[o].endSide;break}this.removeActive(o),n&&Ql(n,o)}else if(this.cursor.value)if(this.cursor.from>e){this.to=this.cursor.from,this.endSide=this.cursor.startSide;break}else{let i=this.cursor.value;if(!i.point)this.addActive(n),this.cursor.next();else if(t&&this.cursor.to==this.to&&this.cursor.from<this.cursor.to)this.cursor.next();else{this.point=i,this.pointFrom=this.cursor.from,this.pointRank=this.cursor.rank,this.to=this.cursor.to,this.endSide=i.endSide,this.cursor.next(),this.forward(this.to,this.endSide);break}}else{this.to=this.endSide=1e9;break}}if(n){this.openStart=0;for(let o=n.length-1;o>=0&&n[o]<e;o--)this.openStart++}}activeForPoint(e){if(!this.active.length)return this.active;let t=[];for(let n=this.active.length-1;n>=0&&!(this.activeRank[n]<this.pointRank);n--)(this.activeTo[n]>e||this.activeTo[n]==e&&this.active[n].endSide>=this.point.endSide)&&t.push(this.active[n]);return t.reverse()}openEnd(e){let t=0;for(let n=this.activeTo.length-1;n>=0&&this.activeTo[n]>e;n--)t++;return t}};function qg(r,e,t,n,o,i){r.goto(e),t.goto(n);let s=n+o,l=n,a=n-e;for(;;){let c=r.to+a-t.to||r.endSide-t.endSide,u=c<0?r.to+a:t.to,h=Math.min(u,s);if(r.point||t.point?r.point&&t.point&&(r.point==t.point||r.point.eq(t.point))&&hh(r.activeForPoint(r.to),t.activeForPoint(t.to))||i.comparePoint(l,h,r.point,t.point):h>l&&!hh(r.active,t.active)&&i.compareRange(l,h,r.active,t.active),u>s)break;l=u,c<=0&&r.next(),c>=0&&t.next()}}function hh(r,e){if(r.length!=e.length)return!1;for(let t=0;t<r.length;t++)if(r[t]!=e[t]&&!r[t].eq(e[t]))return!1;return!0}function Ql(r,e){for(let t=e,n=r.length-1;t<n;t++)r[t]=r[t+1];r.pop()}function Yl(r,e,t){for(let n=r.length-1;n>=e;n--)r[n+1]=r[n];r[e]=t}function Kg(r,e){let t=-1,n=1e9;for(let o=0;o<e.length;o++)(e[o]-n||r[o].endSide-r[t].endSide)<0&&(t=o,n=e[o]);return t}function Zr(r,e,t=r.length){let n=0;for(let o=0;o<t;)r.charCodeAt(o)==9?(n+=e-n%e,o++):(n++,o=Ge(r,o));return n}function cy(r,e,t,n){for(let o=0,i=0;;){if(i>=e)return o;if(o==r.length)break;i+=r.charCodeAt(o)==9?t-i%t:1,o=Ge(r,o)}return n===!0?-1:r.length}var ph="\u037C",uy=typeof Symbol>"u"?"__"+ph:Symbol.for(ph),mh=typeof Symbol>"u"?"__styleSet"+Math.floor(Math.random()*1e8):Symbol("styleSet"),hy=typeof globalThis<"u"?globalThis:typeof window<"u"?window:{},Nt=class{constructor(e,t){this.rules=[];let{finish:n}=t||{};function o(s){return/^@/.test(s)?[s]:s.split(/,\s*/)}function i(s,l,a,c){let u=[],h=/^@(\w+)\b/.exec(s[0]),f=h&&h[1]=="keyframes";if(h&&l==null)return a.push(s[0]+";");for(let d in l){let p=l[d];if(/&/.test(d))i(d.split(/,\s*/).map(m=>s.map(y=>m.replace(/&/,y))).reduce((m,y)=>m.concat(y)),p,a);else if(p&&typeof p=="object"){if(!h)throw new RangeError("The value of a property ("+d+") should be a primitive value.");i(o(d),p,u,f)}else p!=null&&u.push(d.replace(/_.*/,"").replace(/[A-Z]/g,m=>"-"+m.toLowerCase())+": "+p+";")}(u.length||f)&&a.push((n&&!h&&!c?s.map(n):s).join(", ")+" {"+u.join(" ")+"}")}for(let s in e)i(o(s),e[s],this.rules)}getRules(){return this.rules.join(`
|
|
22
|
+
`)}static newName(){let e=hy[uy]||1;return hy[uy]=e+1,ph+e.toString(36)}static mount(e,t){(e[mh]||new gh(e)).mount(Array.isArray(t)?t:[t])}},fy=new Map,gh=class{constructor(e){let t=e.ownerDocument||e,n=t.defaultView;if(!e.head&&e.adoptedStyleSheets&&n.CSSStyleSheet){let o=fy.get(t);if(o)return e.adoptedStyleSheets=[o.sheet,...e.adoptedStyleSheets],e[mh]=o;this.sheet=new n.CSSStyleSheet,e.adoptedStyleSheets=[this.sheet,...e.adoptedStyleSheets],fy.set(t,this)}else{this.styleTag=t.createElement("style");let o=e.head||e;o.insertBefore(this.styleTag,o.firstChild)}this.modules=[],e[mh]=this}mount(e){let t=this.sheet,n=0,o=0;for(let i=0;i<e.length;i++){let s=e[i],l=this.modules.indexOf(s);if(l<o&&l>-1&&(this.modules.splice(l,1),o--,l=-1),l==-1){if(this.modules.splice(o++,0,s),t)for(let a=0;a<s.rules.length;a++)t.insertRule(s.rules[a],n++)}else{for(;o<l;)n+=this.modules[o++].rules.length;n+=s.rules.length,o++}}if(!t){let i="";for(let s=0;s<this.modules.length;s++)i+=this.modules[s].getRules()+`
|
|
23
|
+
`;this.styleTag.textContent=i}}};var An={8:"Backspace",9:"Tab",10:"Enter",12:"NumLock",13:"Enter",16:"Shift",17:"Control",18:"Alt",20:"CapsLock",27:"Escape",32:" ",33:"PageUp",34:"PageDown",35:"End",36:"Home",37:"ArrowLeft",38:"ArrowUp",39:"ArrowRight",40:"ArrowDown",44:"PrintScreen",45:"Insert",46:"Delete",59:";",61:"=",91:"Meta",92:"Meta",106:"*",107:"+",108:",",109:"-",110:".",111:"/",144:"NumLock",145:"ScrollLock",160:"Shift",161:"Shift",162:"Control",163:"Control",164:"Alt",165:"Alt",173:"-",186:";",187:"=",188:",",189:"-",190:".",191:"/",192:"`",219:"[",220:"\\",221:"]",222:"'"},Qo={48:")",49:"!",50:"@",51:"#",52:"$",53:"%",54:"^",55:"&",56:"*",57:"(",59:":",61:"+",173:"_",186:":",187:"+",188:"<",189:"_",190:">",191:"?",192:"~",219:"{",220:"|",221:"}",222:'"'},pk=typeof navigator<"u"&&/Mac/.test(navigator.platform),mk=typeof navigator<"u"&&/MSIE \d|Trident\/(?:[7-9]|\d{2,})\..*rv:(\d+)/.exec(navigator.userAgent);for(Te=0;Te<10;Te++)An[48+Te]=An[96+Te]=String(Te);var Te;for(Te=1;Te<=24;Te++)An[Te+111]="F"+Te;var Te;for(Te=65;Te<=90;Te++)An[Te]=String.fromCharCode(Te+32),Qo[Te]=String.fromCharCode(Te);var Te;for(ia in An)Qo.hasOwnProperty(ia)||(Qo[ia]=An[ia]);var ia;function dy(r){var e=pk&&r.metaKey&&r.shiftKey&&!r.ctrlKey&&!r.altKey||mk&&r.shiftKey&&r.key&&r.key.length==1||r.key=="Unidentified",t=!e&&r.key||(r.shiftKey?Qo:An)[r.keyCode]||r.key||"Unidentified";return t=="Esc"&&(t="Escape"),t=="Del"&&(t="Delete"),t=="Left"&&(t="ArrowLeft"),t=="Up"&&(t="ArrowUp"),t=="Right"&&(t="ArrowRight"),t=="Down"&&(t="ArrowDown"),t}function ba(r){let e;return r.nodeType==11?e=r.getSelection?r:r.ownerDocument:e=r,e.getSelection()}function Sh(r,e){return e?r==e||r.contains(e.nodeType!=1?e.parentNode:e):!1}function gk(r){let e=r.activeElement;for(;e&&e.shadowRoot;)e=e.shadowRoot.activeElement;return e}function da(r,e){if(!e.anchorNode)return!1;try{return Sh(r,e.anchorNode)}catch{return!1}}function gs(r){return r.nodeType==3?to(r,0,r.nodeValue.length).getClientRects():r.nodeType==1?r.getClientRects():[]}function xa(r,e,t,n){return t?py(r,e,t,n,-1)||py(r,e,t,n,1):!1}function va(r){for(var e=0;;e++)if(r=r.previousSibling,!r)return e}function py(r,e,t,n,o){for(;;){if(r==t&&e==n)return!0;if(e==(o<0?0:cr(r))){if(r.nodeName=="DIV")return!1;let i=r.parentNode;if(!i||i.nodeType!=1)return!1;e=va(r)+(o<0?0:1),r=i}else if(r.nodeType==1){if(r=r.childNodes[e+(o<0?-1:0)],r.nodeType==1&&r.contentEditable=="false")return!1;e=o<0?cr(r):0}else return!1}}function cr(r){return r.nodeType==3?r.nodeValue.length:r.childNodes.length}function nf(r,e){let t=e?r.left:r.right;return{left:t,right:t,top:r.top,bottom:r.bottom}}function yk(r){return{left:0,right:r.innerWidth,top:0,bottom:r.innerHeight}}function bk(r,e,t,n,o,i,s,l){let a=r.ownerDocument,c=a.defaultView||window;for(let u=r,h=!1;u&&!h;)if(u.nodeType==1){let f,d=u==a.body;if(d)f=yk(c);else{if(/^(fixed|sticky)$/.test(getComputedStyle(u).position)&&(h=!0),u.scrollHeight<=u.clientHeight&&u.scrollWidth<=u.clientWidth){u=u.assignedSlot||u.parentNode;continue}let y=u.getBoundingClientRect();f={left:y.left,right:y.left+u.clientWidth,top:y.top,bottom:y.top+u.clientHeight}}let p=0,m=0;if(o=="nearest")e.top<f.top?(m=-(f.top-e.top+s),t>0&&e.bottom>f.bottom+m&&(m=e.bottom-f.bottom+m+s)):e.bottom>f.bottom&&(m=e.bottom-f.bottom+s,t<0&&e.top-m<f.top&&(m=-(f.top+m-e.top+s)));else{let y=e.bottom-e.top,g=f.bottom-f.top;m=(o=="center"&&y<=g?e.top+y/2-g/2:o=="start"||o=="center"&&t<0?e.top-s:e.bottom-g+s)-f.top}if(n=="nearest"?e.left<f.left?(p=-(f.left-e.left+i),t>0&&e.right>f.right+p&&(p=e.right-f.right+p+i)):e.right>f.right&&(p=e.right-f.right+i,t<0&&e.left<f.left+p&&(p=-(f.left+p-e.left+i))):p=(n=="center"?e.left+(e.right-e.left)/2-(f.right-f.left)/2:n=="start"==l?e.left-i:e.right-(f.right-f.left)+i)-f.left,p||m)if(d)c.scrollBy(p,m);else{let y=0,g=0;if(m){let v=u.scrollTop;u.scrollTop+=m,g=u.scrollTop-v}if(p){let v=u.scrollLeft;u.scrollLeft+=p,y=u.scrollLeft-v}e={left:e.left-y,top:e.top-g,right:e.right-y,bottom:e.bottom-g},y&&Math.abs(y-p)<1&&(n="nearest"),g&&Math.abs(g-m)<1&&(o="nearest")}if(d)break;u=u.assignedSlot||u.parentNode}else if(u.nodeType==11)u=u.host;else break}function xk(r){let e=r.ownerDocument;for(let t=r.parentNode;t&&t!=e.body;)if(t.nodeType==1){if(t.scrollHeight>t.clientHeight||t.scrollWidth>t.clientWidth)return t;t=t.assignedSlot||t.parentNode}else if(t.nodeType==11)t=t.host;else break;return null}var Ch=class{constructor(){this.anchorNode=null,this.anchorOffset=0,this.focusNode=null,this.focusOffset=0}eq(e){return this.anchorNode==e.anchorNode&&this.anchorOffset==e.anchorOffset&&this.focusNode==e.focusNode&&this.focusOffset==e.focusOffset}setRange(e){let{anchorNode:t,focusNode:n}=e;this.set(t,Math.min(e.anchorOffset,t?cr(t):0),n,Math.min(e.focusOffset,n?cr(n):0))}set(e,t,n,o){this.anchorNode=e,this.anchorOffset=t,this.focusNode=n,this.focusOffset=o}},Yo=null;function Ky(r){if(r.setActive)return r.setActive();if(Yo)return r.focus(Yo);let e=[];for(let t=r;t&&(e.push(t,t.scrollTop,t.scrollLeft),t!=t.ownerDocument);t=t.parentNode);if(r.focus(Yo==null?{get preventScroll(){return Yo={preventScroll:!0},!0}}:void 0),!Yo){Yo=!1;for(let t=0;t<e.length;){let n=e[t++],o=e[t++],i=e[t++];n.scrollTop!=o&&(n.scrollTop=o),n.scrollLeft!=i&&(n.scrollLeft=i)}}}var my;function to(r,e,t=e){let n=my||(my=document.createRange());return n.setEnd(r,t),n.setStart(r,e),n}function ei(r,e,t){let n={key:e,code:e,keyCode:t,which:t,cancelable:!0},o=new KeyboardEvent("keydown",n);o.synthetic=!0,r.dispatchEvent(o);let i=new KeyboardEvent("keyup",n);return i.synthetic=!0,r.dispatchEvent(i),o.defaultPrevented||i.defaultPrevented}function vk(r){for(;r;){if(r&&(r.nodeType==9||r.nodeType==11&&r.host))return r;r=r.assignedSlot||r.parentNode}return null}function jy(r){for(;r.attributes.length;)r.removeAttributeNode(r.attributes[0])}function wk(r,e){let t=e.focusNode,n=e.focusOffset;if(!t||e.anchorNode!=t||e.anchorOffset!=n)return!1;for(n=Math.min(n,cr(t));;)if(n){if(t.nodeType!=1)return!1;let o=t.childNodes[n-1];o.contentEditable=="false"?n--:(t=o,n=cr(t))}else{if(t==r)return!0;n=va(t),t=t.parentNode}}function Jy(r){return r.scrollTop>Math.max(1,r.scrollHeight-r.clientHeight-4)}var Be=class{constructor(e,t,n=!0){this.node=e,this.offset=t,this.precise=n}static before(e,t){return new Be(e.parentNode,va(e),t)}static after(e,t){return new Be(e.parentNode,va(e)+1,t)}},rf=[],oe=class{constructor(){this.parent=null,this.dom=null,this.flags=2}get overrideDOMText(){return null}get posAtStart(){return this.parent?this.parent.posBefore(this):0}get posAtEnd(){return this.posAtStart+this.length}posBefore(e){let t=this.posAtStart;for(let n of this.children){if(n==e)return t;t+=n.length+n.breakAfter}throw new RangeError("Invalid child in posBefore")}posAfter(e){return this.posBefore(e)+e.length}sync(e,t){if(this.flags&2){let n=this.dom,o=null,i;for(let s of this.children){if(s.flags&7){if(!s.dom&&(i=o?o.nextSibling:n.firstChild)){let l=oe.get(i);(!l||!l.parent&&l.canReuseDOM(s))&&s.reuseDOM(i)}s.sync(e,t),s.flags&=-8}if(i=o?o.nextSibling:n.firstChild,t&&!t.written&&t.node==n&&i!=s.dom&&(t.written=!0),s.dom.parentNode==n)for(;i&&i!=s.dom;)i=gy(i);else n.insertBefore(s.dom,i);o=s.dom}for(i=o?o.nextSibling:n.firstChild,i&&t&&t.node==n&&(t.written=!0);i;)i=gy(i)}else if(this.flags&1)for(let n of this.children)n.flags&7&&(n.sync(e,t),n.flags&=-8)}reuseDOM(e){}localPosFromDOM(e,t){let n;if(e==this.dom)n=this.dom.childNodes[t];else{let o=cr(e)==0?0:t==0?-1:1;for(;;){let i=e.parentNode;if(i==this.dom)break;o==0&&i.firstChild!=i.lastChild&&(e==i.firstChild?o=-1:o=1),e=i}o<0?n=e:n=e.nextSibling}if(n==this.dom.firstChild)return 0;for(;n&&!oe.get(n);)n=n.nextSibling;if(!n)return this.length;for(let o=0,i=0;;o++){let s=this.children[o];if(s.dom==n)return i;i+=s.length+s.breakAfter}}domBoundsAround(e,t,n=0){let o=-1,i=-1,s=-1,l=-1;for(let a=0,c=n,u=n;a<this.children.length;a++){let h=this.children[a],f=c+h.length;if(c<e&&f>t)return h.domBoundsAround(e,t,c);if(f>=e&&o==-1&&(o=a,i=c),c>t&&h.dom.parentNode==this.dom){s=a,l=u;break}u=f,c=f+h.breakAfter}return{from:i,to:l<0?n+this.length:l,startDOM:(o?this.children[o-1].dom.nextSibling:null)||this.dom.firstChild,endDOM:s<this.children.length&&s>=0?this.children[s].dom:null}}markDirty(e=!1){this.flags|=2,this.markParentsDirty(e)}markParentsDirty(e){for(let t=this.parent;t;t=t.parent){if(e&&(t.flags|=2),t.flags&1)return;t.flags|=1,e=!1}}setParent(e){this.parent!=e&&(this.parent=e,this.flags&7&&this.markParentsDirty(!0))}setDOM(e){this.dom&&(this.dom.cmView=null),this.dom=e,e.cmView=this}get rootView(){for(let e=this;;){let t=e.parent;if(!t)return e;e=t}}replaceChildren(e,t,n=rf){this.markDirty();for(let o=e;o<t;o++){let i=this.children[o];i.parent==this&&i.destroy()}this.children.splice(e,t-e,...n);for(let o=0;o<n.length;o++)n[o].setParent(this)}ignoreMutation(e){return!1}ignoreEvent(e){return!1}childCursor(e=this.length){return new wa(this.children,e,this.children.length)}childPos(e,t=1){return this.childCursor().findPos(e,t)}toString(){let e=this.constructor.name.replace("View","");return e+(this.children.length?"("+this.children.join()+")":this.length?"["+(e=="Text"?this.text:this.length)+"]":"")+(this.breakAfter?"#":"")}static get(e){return e.cmView}get isEditable(){return!0}get isWidget(){return!1}get isHidden(){return!1}merge(e,t,n,o,i,s){return!1}become(e){return!1}canReuseDOM(e){return e.constructor==this.constructor&&!((this.flags|e.flags)&8)}getSide(){return 0}destroy(){this.parent=null}};oe.prototype.breakAfter=0;function gy(r){let e=r.nextSibling;return r.parentNode.removeChild(r),e}var wa=class{constructor(e,t,n){this.children=e,this.pos=t,this.i=n,this.off=0}findPos(e,t=1){for(;;){if(e>this.pos||e==this.pos&&(t>0||this.i==0||this.children[this.i-1].breakAfter))return this.off=e-this.pos,this;let n=this.children[--this.i];this.pos-=n.length+n.breakAfter}}};function Qy(r,e,t,n,o,i,s,l,a){let{children:c}=r,u=c.length?c[e]:null,h=i.length?i[i.length-1]:null,f=h?h.breakAfter:s;if(!(e==n&&u&&!s&&!f&&i.length<2&&u.merge(t,o,i.length?h:null,t==0,l,a))){if(n<c.length){let d=c[n];d&&o<d.length?(e==n&&(d=d.split(o),o=0),!f&&h&&d.merge(0,o,h,!0,0,a)?i[i.length-1]=d:(o&&d.merge(0,o,null,!1,0,a),i.push(d))):d!=null&&d.breakAfter&&(h?h.breakAfter=1:s=1),n++}for(u&&(u.breakAfter=s,t>0&&(!s&&i.length&&u.merge(t,u.length,i[0],!1,l,0)?u.breakAfter=i.shift().breakAfter:(t<u.length||u.children.length&&u.children[u.children.length-1].length==0)&&u.merge(t,u.length,null,!1,l,0),e++));e<n&&i.length;)if(c[n-1].become(i[i.length-1]))n--,i.pop(),a=i.length?0:l;else if(c[e].become(i[0]))e++,i.shift(),l=i.length?0:a;else break;!i.length&&e&&n<c.length&&!c[e-1].breakAfter&&c[n].merge(0,0,c[e-1],!1,l,a)&&e--,(e<n||i.length)&&r.replaceChildren(e,n,i)}}function Yy(r,e,t,n,o,i){let s=r.childCursor(),{i:l,off:a}=s.findPos(t,1),{i:c,off:u}=s.findPos(e,-1),h=e-t;for(let f of n)h+=f.length;r.length+=h,Qy(r,c,u,l,a,n,0,o,i)}var Xo="\uFFFF",Sa=class{constructor(e,t){this.points=e,this.text="",this.lineSeparator=t.facet(ee.lineSeparator)}append(e){this.text+=e}lineBreak(){this.text+=Xo}readRange(e,t){if(!e)return this;let n=e.parentNode;for(let o=e;;){this.findPointBefore(n,o);let i=this.text.length;this.readNode(o);let s=o.nextSibling;if(s==t)break;let l=oe.get(o),a=oe.get(s);(l&&a?l.breakAfter:(l?l.breakAfter:yy(o))||yy(s)&&(o.nodeName!="BR"||o.cmIgnore)&&this.text.length>i)&&this.lineBreak(),o=s}return this.findPointBefore(n,t),this}readTextNode(e){let t=e.nodeValue;for(let n of this.points)n.node==e&&(n.pos=this.text.length+Math.min(n.offset,t.length));for(let n=0,o=this.lineSeparator?null:/\r\n?|\n/g;;){let i=-1,s=1,l;if(this.lineSeparator?(i=t.indexOf(this.lineSeparator,n),s=this.lineSeparator.length):(l=o.exec(t))&&(i=l.index,s=l[0].length),this.append(t.slice(n,i<0?t.length:i)),i<0)break;if(this.lineBreak(),s>1)for(let a of this.points)a.node==e&&a.pos>this.text.length&&(a.pos-=s-1);n=i+s}}readNode(e){if(e.cmIgnore)return;let t=oe.get(e),n=t&&t.overrideDOMText;if(n!=null){this.findPointInside(e,n.length);for(let o=n.iter();!o.next().done;)o.lineBreak?this.lineBreak():this.append(o.value)}else e.nodeType==3?this.readTextNode(e):e.nodeName=="BR"?e.nextSibling&&this.lineBreak():e.nodeType==1&&this.readRange(e.firstChild,null)}findPointBefore(e,t){for(let n of this.points)n.node==e&&e.childNodes[n.offset]==t&&(n.pos=this.text.length)}findPointInside(e,t){for(let n of this.points)(e.nodeType==3?n.node==e:e.contains(n.node))&&(n.pos=this.text.length+Math.min(t,n.offset))}};function yy(r){return r.nodeType==1&&/^(DIV|P|LI|UL|OL|BLOCKQUOTE|DD|DT|H\d|SECTION|PRE)$/.test(r.nodeName)}var Ca=class{constructor(e,t){this.node=e,this.offset=t,this.pos=-1}},Ct=typeof navigator<"u"?navigator:{userAgent:"",vendor:"",platform:""},Th=typeof document<"u"?document:{documentElement:{style:{}}},kh=/Edge\/(\d+)/.exec(Ct.userAgent),Xy=/MSIE \d/.test(Ct.userAgent),Mh=/Trident\/(?:[7-9]|\d{2,})\..*rv:(\d+)/.exec(Ct.userAgent),Ia=!!(Xy||Mh||kh),by=!Ia&&/gecko\/(\d+)/i.test(Ct.userAgent),yh=!Ia&&/Chrome\/(\d+)/.exec(Ct.userAgent),xy="webkitFontSmoothing"in Th.documentElement.style,Zy=!Ia&&/Apple Computer/.test(Ct.vendor),vy=Zy&&(/Mobile\/\w+/.test(Ct.userAgent)||Ct.maxTouchPoints>2),_={mac:vy||/Mac/.test(Ct.platform),windows:/Win/.test(Ct.platform),linux:/Linux|X11/.test(Ct.platform),ie:Ia,ie_version:Xy?Th.documentMode||6:Mh?+Mh[1]:kh?+kh[1]:0,gecko:by,gecko_version:by?+(/Firefox\/(\d+)/.exec(Ct.userAgent)||[0,0])[1]:0,chrome:!!yh,chrome_version:yh?+yh[1]:0,ios:vy,android:/Android\b/.test(Ct.userAgent),webkit:xy,safari:Zy,webkit_version:xy?+(/\bAppleWebKit\/(\d+)/.exec(navigator.userAgent)||[0,0])[1]:0,tabSize:Th.documentElement.style.tabSize!=null?"tab-size":"-moz-tab-size"},Sk=256,Ft=class extends oe{constructor(e){super(),this.text=e}get length(){return this.text.length}createDOM(e){this.setDOM(e||document.createTextNode(this.text))}sync(e,t){this.dom||this.createDOM(),this.dom.nodeValue!=this.text&&(t&&t.node==this.dom&&(t.written=!0),this.dom.nodeValue=this.text)}reuseDOM(e){e.nodeType==3&&this.createDOM(e)}merge(e,t,n){return this.flags&8||n&&(!(n instanceof Ft)||this.length-(t-e)+n.length>Sk||n.flags&8)?!1:(this.text=this.text.slice(0,e)+(n?n.text:"")+this.text.slice(t),this.markDirty(),!0)}split(e){let t=new Ft(this.text.slice(e));return this.text=this.text.slice(0,e),this.markDirty(),t.flags|=this.flags&8,t}localPosFromDOM(e,t){return e==this.dom?t:t?this.text.length:0}domAtPos(e){return new Be(this.dom,e)}domBoundsAround(e,t,n){return{from:n,to:n+this.length,startDOM:this.dom,endDOM:this.dom.nextSibling}}coordsAt(e,t){return Ck(this.dom,e,t)}},nn=class extends oe{constructor(e,t=[],n=0){super(),this.mark=e,this.children=t,this.length=n;for(let o of t)o.setParent(this)}setAttrs(e){if(jy(e),this.mark.class&&(e.className=this.mark.class),this.mark.attrs)for(let t in this.mark.attrs)e.setAttribute(t,this.mark.attrs[t]);return e}canReuseDOM(e){return super.canReuseDOM(e)&&!((this.flags|e.flags)&8)}reuseDOM(e){e.nodeName==this.mark.tagName.toUpperCase()&&(this.setDOM(e),this.flags|=6)}sync(e,t){this.dom?this.flags&4&&this.setAttrs(this.dom):this.setDOM(this.setAttrs(document.createElement(this.mark.tagName))),super.sync(e,t)}merge(e,t,n,o,i,s){return n&&(!(n instanceof nn&&n.mark.eq(this.mark))||e&&i<=0||t<this.length&&s<=0)?!1:(Yy(this,e,t,n?n.children:[],i-1,s-1),this.markDirty(),!0)}split(e){let t=[],n=0,o=-1,i=0;for(let l of this.children){let a=n+l.length;a>e&&t.push(n<e?l.split(e-n):l),o<0&&n>=e&&(o=i),n=a,i++}let s=this.length-e;return this.length=e,o>-1&&(this.children.length=o,this.markDirty()),new nn(this.mark,t,s)}domAtPos(e){return eb(this,e)}coordsAt(e,t){return nb(this,e,t)}};function Ck(r,e,t){let n=r.nodeValue.length;e>n&&(e=n);let o=e,i=e,s=0;e==0&&t<0||e==n&&t>=0?_.chrome||_.gecko||(e?(o--,s=1):i<n&&(i++,s=-1)):t<0?o--:i<n&&i++;let l=to(r,o,i).getClientRects();if(!l.length)return null;let a=l[(s?s<0:t>=0)?0:l.length-1];return _.safari&&!s&&a.width==0&&(a=Array.prototype.find.call(l,c=>c.width)||a),s?nf(a,s<0):a||null}var On=class extends oe{constructor(e,t,n){super(),this.widget=e,this.length=t,this.side=n,this.prevWidget=null}static create(e,t,n){return new On(e,t,n)}split(e){let t=On.create(this.widget,this.length-e,this.side);return this.length-=e,t}sync(e){(!this.dom||!this.widget.updateDOM(this.dom,e))&&(this.dom&&this.prevWidget&&this.prevWidget.destroy(this.dom),this.prevWidget=null,this.setDOM(this.widget.toDOM(e)),this.dom.contentEditable="false")}getSide(){return this.side}merge(e,t,n,o,i,s){return n&&(!(n instanceof On)||!this.widget.compare(n.widget)||e>0&&i<=0||t<this.length&&s<=0)?!1:(this.length=e+(n?n.length:0)+(this.length-t),!0)}become(e){return e instanceof On&&e.side==this.side&&this.widget.constructor==e.widget.constructor?(this.widget.compare(e.widget)||this.markDirty(!0),this.dom&&!this.prevWidget&&(this.prevWidget=this.widget),this.widget=e.widget,this.length=e.length,!0):!1}ignoreMutation(){return!0}ignoreEvent(e){return this.widget.ignoreEvent(e)}get overrideDOMText(){if(this.length==0)return X.empty;let e=this;for(;e.parent;)e=e.parent;let{view:t}=e,n=t&&t.state.doc,o=this.posAtStart;return n?n.slice(o,o+this.length):X.empty}domAtPos(e){return(this.length?e==0:this.side>0)?Be.before(this.dom):Be.after(this.dom,e==this.length)}domBoundsAround(){return null}coordsAt(e,t){let n=this.widget.coordsAt(this.dom,e,t);if(n)return n;let o=this.dom.getClientRects(),i=null;if(!o.length)return null;let s=this.side?this.side<0:e>0;for(let l=s?o.length-1:0;i=o[l],!(e>0?l==0:l==o.length-1||i.top<i.bottom);l+=s?-1:1);return nf(i,!s)}get isEditable(){return!1}get isWidget(){return!0}get isHidden(){return this.widget.isHidden}destroy(){super.destroy(),this.dom&&this.widget.destroy(this.dom)}},ur=class extends oe{constructor(e){super(),this.side=e}get length(){return 0}merge(){return!1}become(e){return e instanceof ur&&e.side==this.side}split(){return new ur(this.side)}sync(){if(!this.dom){let e=document.createElement("img");e.className="cm-widgetBuffer",e.setAttribute("aria-hidden","true"),this.setDOM(e)}}getSide(){return this.side}domAtPos(e){return this.side>0?Be.before(this.dom):Be.after(this.dom)}localPosFromDOM(){return 0}domBoundsAround(){return null}coordsAt(e){return this.dom.getBoundingClientRect()}get overrideDOMText(){return X.empty}get isHidden(){return!0}};Ft.prototype.children=On.prototype.children=ur.prototype.children=rf;function eb(r,e){let t=r.dom,{children:n}=r,o=0;for(let i=0;o<n.length;o++){let s=n[o],l=i+s.length;if(!(l==i&&s.getSide()<=0)){if(e>i&&e<l&&s.dom.parentNode==t)return s.domAtPos(e-i);if(e<=i)break;i=l}}for(let i=o;i>0;i--){let s=n[i-1];if(s.dom.parentNode==t)return s.domAtPos(s.length)}for(let i=o;i<n.length;i++){let s=n[i];if(s.dom.parentNode==t)return s.domAtPos(0)}return new Be(t,0)}function tb(r,e,t){let n,{children:o}=r;t>0&&e instanceof nn&&o.length&&(n=o[o.length-1])instanceof nn&&n.mark.eq(e.mark)?tb(n,e.children[0],t-1):(o.push(e),e.setParent(r)),r.length+=e.length}function nb(r,e,t){let n=null,o=-1,i=null,s=-1;function l(c,u){for(let h=0,f=0;h<c.children.length&&f<=u;h++){let d=c.children[h],p=f+d.length;p>=u&&(d.children.length?l(d,u-f):(!i||i.isHidden&&t>0)&&(p>u||f==p&&d.getSide()>0)?(i=d,s=u-f):(f<u||f==p&&d.getSide()<0&&!d.isHidden)&&(n=d,o=u-f)),f=p}}l(r,e);let a=(t<0?n:i)||n||i;return a?a.coordsAt(Math.max(0,a==n?o:s),t):Tk(r)}function Tk(r){let e=r.dom.lastChild;if(!e)return r.dom.getBoundingClientRect();let t=gs(e);return t[t.length-1]||null}function Eh(r,e){for(let t in r)t=="class"&&e.class?e.class+=" "+r.class:t=="style"&&e.style?e.style+=";"+r.style:e[t]=r[t];return e}var wy=Object.create(null);function of(r,e,t){if(r==e)return!0;r||(r=wy),e||(e=wy);let n=Object.keys(r),o=Object.keys(e);if(n.length-(t&&n.indexOf(t)>-1?1:0)!=o.length-(t&&o.indexOf(t)>-1?1:0))return!1;for(let i of n)if(i!=t&&(o.indexOf(i)==-1||r[i]!==e[i]))return!1;return!0}function Rh(r,e,t){let n=null;if(e)for(let o in e)t&&o in t||r.removeAttribute(n=o);if(t)for(let o in t)e&&e[o]==t[o]||r.setAttribute(n=o,t[o]);return!!n}function kk(r){let e=Object.create(null);for(let t=0;t<r.attributes.length;t++){let n=r.attributes[t];e[n.name]=n.value}return e}var Vn=class{eq(e){return!1}updateDOM(e,t){return!1}compare(e){return this==e||this.constructor==e.constructor&&this.eq(e)}get estimatedHeight(){return-1}get lineBreaks(){return 0}ignoreEvent(e){return!0}coordsAt(e,t,n){return null}get isHidden(){return!1}destroy(e){}},Se=function(r){return r[r.Text=0]="Text",r[r.WidgetBefore=1]="WidgetBefore",r[r.WidgetAfter=2]="WidgetAfter",r[r.WidgetRange=3]="WidgetRange",r}(Se||(Se={})),Pe=class extends tn{constructor(e,t,n,o){super(),this.startSide=e,this.endSide=t,this.widget=n,this.spec=o}get heightRelevant(){return!1}static mark(e){return new no(e)}static widget(e){let t=Math.max(-1e4,Math.min(1e4,e.side||0)),n=!!e.block;return t+=n&&!e.inlineOrder?t>0?3e8:-4e8:t>0?1e8:-1e8,new yn(e,t,t,n,e.widget||null,!1)}static replace(e){let t=!!e.block,n,o;if(e.isBlockGap)n=-5e8,o=4e8;else{let{start:i,end:s}=rb(e,t);n=(i?t?-3e8:-1:5e8)-1,o=(s?t?2e8:1:-6e8)+1}return new yn(e,n,o,t,e.widget||null,!0)}static line(e){return new ro(e)}static set(e,t=!1){return le.of(e,t)}hasHeight(){return this.widget?this.widget.estimatedHeight>-1:!1}};Pe.none=le.empty;var no=class extends Pe{constructor(e){let{start:t,end:n}=rb(e);super(t?-1:5e8,n?1:-6e8,null,e),this.tagName=e.tagName||"span",this.class=e.class||"",this.attrs=e.attributes||null}eq(e){var t,n;return this==e||e instanceof no&&this.tagName==e.tagName&&(this.class||((t=this.attrs)===null||t===void 0?void 0:t.class))==(e.class||((n=e.attrs)===null||n===void 0?void 0:n.class))&&of(this.attrs,e.attrs,"class")}range(e,t=e){if(e>=t)throw new RangeError("Mark decorations may not be empty");return super.range(e,t)}};no.prototype.point=!1;var ro=class extends Pe{constructor(e){super(-2e8,-2e8,null,e)}eq(e){return e instanceof ro&&this.spec.class==e.spec.class&&of(this.spec.attributes,e.spec.attributes)}range(e,t=e){if(t!=e)throw new RangeError("Line decoration ranges must be zero-length");return super.range(e,t)}};ro.prototype.mapMode=Ue.TrackBefore;ro.prototype.point=!0;var yn=class extends Pe{constructor(e,t,n,o,i,s){super(t,n,i,e),this.block=o,this.isReplace=s,this.mapMode=o?t<=0?Ue.TrackBefore:Ue.TrackAfter:Ue.TrackDel}get type(){return this.startSide<this.endSide?Se.WidgetRange:this.startSide<=0?Se.WidgetBefore:Se.WidgetAfter}get heightRelevant(){return this.block||!!this.widget&&(this.widget.estimatedHeight>=5||this.widget.lineBreaks>0)}eq(e){return e instanceof yn&&Mk(this.widget,e.widget)&&this.block==e.block&&this.startSide==e.startSide&&this.endSide==e.endSide}range(e,t=e){if(this.isReplace&&(e>t||e==t&&this.startSide>0&&this.endSide<=0))throw new RangeError("Invalid range for replacement decoration");if(!this.isReplace&&t!=e)throw new RangeError("Widget decorations can only have zero-length ranges");return super.range(e,t)}};yn.prototype.point=!0;function rb(r,e=!1){let{inclusiveStart:t,inclusiveEnd:n}=r;return t==null&&(t=r.inclusive),n==null&&(n=r.inclusive),{start:t!=null?t:e,end:n!=null?n:e}}function Mk(r,e){return r==e||!!(r&&e&&r.compare(e))}function Ih(r,e,t,n=0){let o=t.length-1;o>=0&&t[o]+n>=r?t[o]=Math.max(t[o],e):t.push(r,e)}var Fe=class extends oe{constructor(){super(...arguments),this.children=[],this.length=0,this.prevAttrs=void 0,this.attrs=null,this.breakAfter=0}merge(e,t,n,o,i,s){if(n){if(!(n instanceof Fe))return!1;this.dom||n.transferDOM(this)}return o&&this.setDeco(n?n.attrs:null),Yy(this,e,t,n?n.children:[],i,s),!0}split(e){let t=new Fe;if(t.breakAfter=this.breakAfter,this.length==0)return t;let{i:n,off:o}=this.childPos(e);o&&(t.append(this.children[n].split(o),0),this.children[n].merge(o,this.children[n].length,null,!1,0,0),n++);for(let i=n;i<this.children.length;i++)t.append(this.children[i],0);for(;n>0&&this.children[n-1].length==0;)this.children[--n].destroy();return this.children.length=n,this.markDirty(),this.length=e,t}transferDOM(e){this.dom&&(this.markDirty(),e.setDOM(this.dom),e.prevAttrs=this.prevAttrs===void 0?this.attrs:this.prevAttrs,this.prevAttrs=void 0,this.dom=null)}setDeco(e){of(this.attrs,e)||(this.dom&&(this.prevAttrs=this.attrs,this.markDirty()),this.attrs=e)}append(e,t){tb(this,e,t)}addLineDeco(e){let t=e.spec.attributes,n=e.spec.class;t&&(this.attrs=Eh(t,this.attrs||{})),n&&(this.attrs=Eh({class:n},this.attrs||{}))}domAtPos(e){return eb(this,e)}reuseDOM(e){e.nodeName=="DIV"&&(this.setDOM(e),this.flags|=6)}sync(e,t){var n;this.dom?this.flags&4&&(jy(this.dom),this.dom.className="cm-line",this.prevAttrs=this.attrs?null:void 0):(this.setDOM(document.createElement("div")),this.dom.className="cm-line",this.prevAttrs=this.attrs?null:void 0),this.prevAttrs!==void 0&&(Rh(this.dom,this.prevAttrs,this.attrs),this.dom.classList.add("cm-line"),this.prevAttrs=void 0),super.sync(e,t);let o=this.dom.lastChild;for(;o&&oe.get(o)instanceof nn;)o=o.lastChild;if(!o||!this.length||o.nodeName!="BR"&&((n=oe.get(o))===null||n===void 0?void 0:n.isEditable)==!1&&(!_.ios||!this.children.some(i=>i instanceof Ft))){let i=document.createElement("BR");i.cmIgnore=!0,this.dom.appendChild(i)}}measureTextSize(){if(this.children.length==0||this.length>20)return null;let e=0,t;for(let n of this.children){if(!(n instanceof Ft)||/[^ -~]/.test(n.text))return null;let o=gs(n.dom);if(o.length!=1)return null;e+=o[0].width,t=o[0].height}return e?{lineHeight:this.dom.getBoundingClientRect().height,charWidth:e/this.length,textHeight:t}:null}coordsAt(e,t){let n=nb(this,e,t);if(!this.children.length&&n&&this.parent){let{heightOracle:o}=this.parent.view.viewState,i=n.bottom-n.top;if(Math.abs(i-o.lineHeight)<2&&o.textHeight<i){let s=(i-o.textHeight)/2;return{top:n.top+s,bottom:n.bottom-s,left:n.left,right:n.left}}}return n}become(e){return!1}get type(){return Se.Text}static find(e,t){for(let n=0,o=0;n<e.children.length;n++){let i=e.children[n],s=o+i.length;if(s>=t){if(i instanceof Fe)return i;if(s>t)break}o=s+i.breakAfter}return null}},Nn=class extends oe{constructor(e,t,n){super(),this.widget=e,this.length=t,this.type=n,this.breakAfter=0,this.prevWidget=null}merge(e,t,n,o,i,s){return n&&(!(n instanceof Nn)||!this.widget.compare(n.widget)||e>0&&i<=0||t<this.length&&s<=0)?!1:(this.length=e+(n?n.length:0)+(this.length-t),!0)}domAtPos(e){return e==0?Be.before(this.dom):Be.after(this.dom,e==this.length)}split(e){let t=this.length-e;this.length=e;let n=new Nn(this.widget,t,this.type);return n.breakAfter=this.breakAfter,n}get children(){return rf}sync(e){(!this.dom||!this.widget.updateDOM(this.dom,e))&&(this.dom&&this.prevWidget&&this.prevWidget.destroy(this.dom),this.prevWidget=null,this.setDOM(this.widget.toDOM(e)),this.dom.contentEditable="false")}get overrideDOMText(){return this.parent?this.parent.view.state.doc.slice(this.posAtStart,this.posAtEnd):X.empty}domBoundsAround(){return null}become(e){return e instanceof Nn&&e.widget.constructor==this.widget.constructor?(e.widget.compare(this.widget)||this.markDirty(!0),this.dom&&!this.prevWidget&&(this.prevWidget=this.widget),this.widget=e.widget,this.length=e.length,this.type=e.type,this.breakAfter=e.breakAfter,!0):!1}ignoreMutation(){return!0}ignoreEvent(e){return this.widget.ignoreEvent(e)}get isEditable(){return!1}get isWidget(){return!0}coordsAt(e,t){return this.widget.coordsAt(this.dom,e,t)}destroy(){super.destroy(),this.dom&&this.widget.destroy(this.dom)}},eo=class{constructor(e,t,n,o){this.doc=e,this.pos=t,this.end=n,this.disallowBlockEffectsFor=o,this.content=[],this.curLine=null,this.breakAtStart=0,this.pendingBuffer=0,this.bufferMarks=[],this.atCursorPos=!0,this.openStart=-1,this.openEnd=-1,this.text="",this.textOff=0,this.cursor=e.iter(),this.skip=t}posCovered(){if(this.content.length==0)return!this.breakAtStart&&this.doc.lineAt(this.pos).from!=this.pos;let e=this.content[this.content.length-1];return!e.breakAfter&&!(e instanceof Nn&&e.type==Se.WidgetBefore)}getLine(){return this.curLine||(this.content.push(this.curLine=new Fe),this.atCursorPos=!0),this.curLine}flushBuffer(e=this.bufferMarks){this.pendingBuffer&&(this.curLine.append(sa(new ur(-1),e),e.length),this.pendingBuffer=0)}addBlockWidget(e){this.flushBuffer(),this.curLine=null,this.content.push(e)}finish(e){this.pendingBuffer&&e<=this.bufferMarks.length?this.flushBuffer():this.pendingBuffer=0,this.posCovered()||this.getLine()}buildText(e,t,n){for(;e>0;){if(this.textOff==this.text.length){let{value:i,lineBreak:s,done:l}=this.cursor.next(this.skip);if(this.skip=0,l)throw new Error("Ran out of text content when drawing inline views");if(s){this.posCovered()||this.getLine(),this.content.length?this.content[this.content.length-1].breakAfter=1:this.breakAtStart=1,this.flushBuffer(),this.curLine=null,this.atCursorPos=!0,e--;continue}else this.text=i,this.textOff=0}let o=Math.min(this.text.length-this.textOff,e,512);this.flushBuffer(t.slice(t.length-n)),this.getLine().append(sa(new Ft(this.text.slice(this.textOff,this.textOff+o)),t),n),this.atCursorPos=!0,this.textOff+=o,e-=o,n=0}}span(e,t,n,o){this.buildText(t-e,n,o),this.pos=t,this.openStart<0&&(this.openStart=o)}point(e,t,n,o,i,s){if(this.disallowBlockEffectsFor[s]&&n instanceof yn){if(n.block)throw new RangeError("Block decorations may not be specified via plugins");if(t>this.doc.lineAt(this.pos).to)throw new RangeError("Decorations that replace line breaks may not be specified via plugins")}let l=t-e;if(n instanceof yn)if(n.block){let{type:a}=n;a==Se.WidgetAfter&&!this.posCovered()&&this.getLine(),this.addBlockWidget(new Nn(n.widget||new Ta("div"),l,a))}else{let a=On.create(n.widget||new Ta("span"),l,l?0:n.startSide),c=this.atCursorPos&&!a.isEditable&&i<=o.length&&(e<t||n.startSide>0),u=!a.isEditable&&(e<t||i>o.length||n.startSide<=0),h=this.getLine();this.pendingBuffer==2&&!c&&!a.isEditable&&(this.pendingBuffer=0),this.flushBuffer(o),c&&(h.append(sa(new ur(1),o),i),i=o.length+Math.max(0,i-o.length)),h.append(sa(a,o),i),this.atCursorPos=u,this.pendingBuffer=u?e<t||i>o.length?1:2:0,this.pendingBuffer&&(this.bufferMarks=o.slice())}else this.doc.lineAt(this.pos).from==this.pos&&this.getLine().addLineDeco(n);l&&(this.textOff+l<=this.text.length?this.textOff+=l:(this.skip+=l-(this.text.length-this.textOff),this.text="",this.textOff=0),this.pos=t),this.openStart<0&&(this.openStart=i)}static build(e,t,n,o,i){let s=new eo(e,t,n,i);return s.openEnd=le.spans(o,t,n,s),s.openStart<0&&(s.openStart=s.openEnd),s.finish(s.openEnd),s}};function sa(r,e){for(let t of e)r=new nn(t,[r],r.length);return r}var Ta=class extends Vn{constructor(e){super(),this.tag=e}eq(e){return e.tag==this.tag}toDOM(){return document.createElement(this.tag)}updateDOM(e){return e.nodeName.toLowerCase()==this.tag}get isHidden(){return!0}},ob=G.define(),ib=G.define(),sb=G.define(),lb=G.define(),Ph=G.define(),ab=G.define(),cb=G.define(),ub=G.define({combine:r=>r.some(e=>e)}),hb=G.define({combine:r=>r.some(e=>e)}),ti=class{constructor(e,t="nearest",n="nearest",o=5,i=5){this.range=e,this.y=t,this.x=n,this.yMargin=o,this.xMargin=i}map(e){return e.empty?this:new ti(this.range.map(e),this.y,this.x,this.yMargin,this.xMargin)}},Sy=ae.define({map:(r,e)=>r.map(e)});function gn(r,e,t){let n=r.facet(lb);n.length?n[0](e):window.onerror?window.onerror(String(e),t,void 0,void 0,e):t?console.error(t+":",e):console.error(e)}var Pa=G.define({combine:r=>r.length?r[0]:!0}),Ek=0,hs=G.define(),Bt=class{constructor(e,t,n,o){this.id=e,this.create=t,this.domEventHandlers=n,this.extension=o(this)}static define(e,t){let{eventHandlers:n,provide:o,decorations:i}=t||{};return new Bt(Ek++,e,n,s=>{let l=[hs.of(s)];return i&&l.push(ys.of(a=>{let c=a.plugin(s);return c?i(c):Pe.none})),o&&l.push(o(s)),l})}static fromClass(e,t){return Bt.define(n=>new e(n),t)}},ps=class{constructor(e){this.spec=e,this.mustUpdate=null,this.value=null}update(e){if(this.value){if(this.mustUpdate){let t=this.mustUpdate;if(this.mustUpdate=null,this.value.update)try{this.value.update(t)}catch(n){if(gn(t.state,n,"CodeMirror plugin crashed"),this.value.destroy)try{this.value.destroy()}catch{}this.deactivate()}}}else if(this.spec)try{this.value=this.spec.create(e)}catch(t){gn(e.state,t,"CodeMirror plugin crashed"),this.deactivate()}return this}destroy(e){var t;if(!((t=this.value)===null||t===void 0)&&t.destroy)try{this.value.destroy()}catch(n){gn(e.state,n,"CodeMirror plugin crashed")}}deactivate(){this.spec=this.value=null}},fb=G.define(),sf=G.define(),ys=G.define(),lf=G.define(),db=G.define();function pb(r){let e=0,t=0,n=0,o=0;for(let i of r.state.facet(db)){let s=i(r);s&&(s.left!=null&&(e=Math.max(e,s.left)),s.right!=null&&(t=Math.max(t,s.right)),s.top!=null&&(n=Math.max(n,s.top)),s.bottom!=null&&(o=Math.max(o,s.bottom)))}return{left:e,right:t,top:n,bottom:o}}var fs=G.define(),ht=class{constructor(e,t,n,o){this.fromA=e,this.toA=t,this.fromB=n,this.toB=o}join(e){return new ht(Math.min(this.fromA,e.fromA),Math.max(this.toA,e.toA),Math.min(this.fromB,e.fromB),Math.max(this.toB,e.toB))}addToSet(e){let t=e.length,n=this;for(;t>0;t--){let o=e[t-1];if(!(o.fromA>n.toA)){if(o.toA<n.fromA)break;n=n.join(o),e.splice(t-1,1)}}return e.splice(t,0,n),e}static extendWithRanges(e,t){if(t.length==0)return e;let n=[];for(let o=0,i=0,s=0,l=0;;o++){let a=o==e.length?null:e[o],c=s-l,u=a?a.fromB:1e9;for(;i<t.length&&t[i]<u;){let h=t[i],f=t[i+1],d=Math.max(l,h),p=Math.min(u,f);if(d<=p&&new ht(d+c,p+c,d,p).addToSet(n),f>u)break;i+=2}if(!a)return n;new ht(a.fromA,a.toA,a.fromB,a.toB).addToSet(n),s=a.toA,l=a.toB}}},ni=class{constructor(e,t,n){this.view=e,this.state=t,this.transactions=n,this.flags=0,this.startState=e.state,this.changes=pe.empty(this.startState.doc.length);for(let i of n)this.changes=this.changes.compose(i.changes);let o=[];this.changes.iterChangedRanges((i,s,l,a)=>o.push(new ht(i,s,l,a))),this.changedRanges=o}static create(e,t,n){return new ni(e,t,n)}get viewportChanged(){return(this.flags&4)>0}get heightChanged(){return(this.flags&2)>0}get geometryChanged(){return this.docChanged||(this.flags&10)>0}get focusChanged(){return(this.flags&1)>0}get docChanged(){return!this.changes.empty}get selectionSet(){return this.transactions.some(e=>e.selection)}get empty(){return this.flags==0&&this.transactions.length==0}},we=function(r){return r[r.LTR=0]="LTR",r[r.RTL=1]="RTL",r}(we||(we={})),Dh=we.LTR,Rk=we.RTL;function mb(r){let e=[];for(let t=0;t<r.length;t++)e.push(1<<+r[t]);return e}var Ik=mb("88888888888888888888888888888888888666888888787833333333337888888000000000000000000000000008888880000000000000000000000000088888888888888888888888888888888888887866668888088888663380888308888800000000000000000000000800000000000000000000000000000008"),Pk=mb("4444448826627288999999999992222222222222222222222222222222222222222222222229999999999999999999994444444444644222822222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222999999949999999229989999223333333333"),Lh=Object.create(null),mn=[];for(let r of["()","[]","{}"]){let e=r.charCodeAt(0),t=r.charCodeAt(1);Lh[e]=t,Lh[t]=-e}function Dk(r){return r<=247?Ik[r]:1424<=r&&r<=1524?2:1536<=r&&r<=1785?Pk[r-1536]:1774<=r&&r<=2220?4:8192<=r&&r<=8203?256:64336<=r&&r<=65023?4:r==8204?256:1}var Lk=/[\u0590-\u05f4\u0600-\u06ff\u0700-\u08ac\ufb50-\ufdff]/,ar=class{constructor(e,t,n){this.from=e,this.to=t,this.level=n}get dir(){return this.level%2?Rk:Dh}side(e,t){return this.dir==t==e?this.to:this.from}static find(e,t,n,o){let i=-1;for(let s=0;s<e.length;s++){let l=e[s];if(l.from<=t&&l.to>=t){if(l.level==n)return s;(i<0||(o!=0?o<0?l.from<t:l.to>t:e[i].level>l.level))&&(i=s)}}if(i<0)throw new RangeError("Index out of range");return i}},ge=[];function Ak(r,e){let t=r.length,n=e==Dh?1:2,o=e==Dh?2:1;if(!r||n==1&&!Lk.test(r))return gb(t);for(let s=0,l=n,a=n;s<t;s++){let c=Dk(r.charCodeAt(s));c==512?c=l:c==8&&a==4&&(c=16),ge[s]=c==4?2:c,c&7&&(a=c),l=c}for(let s=0,l=n,a=n;s<t;s++){let c=ge[s];if(c==128)s<t-1&&l==ge[s+1]&&l&24?c=ge[s]=l:ge[s]=256;else if(c==64){let u=s+1;for(;u<t&&ge[u]==64;)u++;let h=s&&l==8||u<t&&ge[u]==8?a==1?1:8:256;for(let f=s;f<u;f++)ge[f]=h;s=u-1}else c==8&&a==1&&(ge[s]=1);l=c,c&7&&(a=c)}for(let s=0,l=0,a=0,c,u,h;s<t;s++)if(u=Lh[c=r.charCodeAt(s)])if(u<0){for(let f=l-3;f>=0;f-=3)if(mn[f+1]==-u){let d=mn[f+2],p=d&2?n:d&4?d&1?o:n:0;p&&(ge[s]=ge[mn[f]]=p),l=f;break}}else{if(mn.length==189)break;mn[l++]=s,mn[l++]=c,mn[l++]=a}else if((h=ge[s])==2||h==1){let f=h==n;a=f?0:1;for(let d=l-3;d>=0;d-=3){let p=mn[d+2];if(p&2)break;if(f)mn[d+2]|=2;else{if(p&4)break;mn[d+2]|=4}}}for(let s=0;s<t;s++)if(ge[s]==256){let l=s+1;for(;l<t&&ge[l]==256;)l++;let a=(s?ge[s-1]:n)==1,c=(l<t?ge[l]:n)==1,u=a==c?a?1:2:n;for(let h=s;h<l;h++)ge[h]=u;s=l-1}let i=[];if(n==1)for(let s=0;s<t;){let l=s,a=ge[s++]!=1;for(;s<t&&a==(ge[s]!=1);)s++;if(a)for(let c=s;c>l;){let u=c,h=ge[--c]!=2;for(;c>l&&h==(ge[c-1]!=2);)c--;i.push(new ar(c,u,h?2:1))}else i.push(new ar(l,s,0))}else for(let s=0;s<t;){let l=s,a=ge[s++]==2;for(;s<t&&a==(ge[s]==2);)s++;i.push(new ar(l,s,a?1:2))}return i}function gb(r){return[new ar(0,r,0)]}var yb="";function Ok(r,e,t,n,o){var i;let s=n.head-r.from,l=-1;if(s==0){if(!o||!r.length)return null;e[0].level!=t&&(s=e[0].side(!1,t),l=0)}else if(s==r.length){if(o)return null;let f=e[e.length-1];f.level!=t&&(s=f.side(!0,t),l=e.length-1)}l<0&&(l=ar.find(e,s,(i=n.bidiLevel)!==null&&i!==void 0?i:-1,n.assoc));let a=e[l];s==a.side(o,t)&&(a=e[l+=o?1:-1],s=a.side(!o,t));let c=o==(a.dir==t),u=Ge(r.text,s,c);if(yb=r.text.slice(Math.min(s,u),Math.max(s,u)),u!=a.side(o,t))return D.cursor(u+r.from,c?-1:1,a.level);let h=l==(o?e.length-1:0)?null:e[l+(o?1:-1)];return!h&&a.level!=t?D.cursor(o?r.to:r.from,o?-1:1,t):h&&h.level<a.level?D.cursor(h.side(!o,t)+r.from,o?1:-1,h.level):D.cursor(u+r.from,o?-1:1,a.level)}var ka=class extends oe{constructor(e){super(),this.view=e,this.decorations=[],this.dynamicDecorationMap=[],this.hasComposition=null,this.markedForComposition=new Set,this.minWidth=0,this.minWidthFrom=0,this.minWidthTo=0,this.impreciseAnchor=null,this.impreciseHead=null,this.forceSelection=!1,this.lastUpdate=Date.now(),this.setDOM(e.contentDOM),this.children=[new Fe],this.children[0].setParent(this),this.updateDeco(),this.updateInner([new ht(0,0,0,e.state.doc.length)],0,null)}get length(){return this.view.state.doc.length}update(e){let t=e.changedRanges;this.minWidth>0&&t.length&&(t.every(({fromA:l,toA:a})=>a<this.minWidthFrom||l>this.minWidthTo)?(this.minWidthFrom=e.changes.mapPos(this.minWidthFrom,1),this.minWidthTo=e.changes.mapPos(this.minWidthTo,1)):this.minWidth=this.minWidthFrom=this.minWidthTo=0);let n=this.view.inputState.composing<0?null:Vk(this.view,e.changes);if(this.hasComposition){this.markedForComposition.clear();let{from:l,to:a}=this.hasComposition;t=new ht(l,a,e.changes.mapPos(l,-1),e.changes.mapPos(a,1)).addToSet(t.slice())}this.hasComposition=n?{from:n.range.fromB,to:n.range.toB}:null,(_.ie||_.chrome)&&!n&&e&&e.state.doc.lines!=e.startState.doc.lines&&(this.forceSelection=!0);let o=this.decorations,i=this.updateDeco(),s=Bk(o,i,e.changes);return t=ht.extendWithRanges(t,s),!(this.flags&7)&&t.length==0?!1:(this.updateInner(t,e.startState.doc.length,n),e.transactions.length&&(this.lastUpdate=Date.now()),!0)}updateInner(e,t,n){this.view.viewState.mustMeasureContent=!0,this.updateChildren(e,t,n);let{observer:o}=this.view;o.ignore(()=>{this.dom.style.height=this.view.viewState.contentHeight+"px",this.dom.style.flexBasis=this.minWidth?this.minWidth+"px":"";let s=_.chrome||_.ios?{node:o.selectionRange.focusNode,written:!1}:void 0;this.sync(this.view,s),this.flags&=-8,s&&(s.written||o.selectionRange.focusNode!=s.node)&&(this.forceSelection=!0),this.dom.style.height=""}),this.markedForComposition.forEach(s=>s.flags&=-9);let i=[];if(this.view.viewport.from||this.view.viewport.to<this.view.state.doc.length)for(let s of this.children)s instanceof Nn&&s.widget instanceof Ma&&i.push(s.dom);o.updateGaps(i)}updateChildren(e,t,n){let o=n?n.range.addToSet(e.slice()):e,i=this.childCursor(t);for(let s=o.length-1;;s--){let l=s>=0?o[s]:null;if(!l)break;let{fromA:a,toA:c,fromB:u,toB:h}=l,f,d,p,m;if(n&&n.range.fromB<h&&n.range.toB>u){let x=eo.build(this.view.state.doc,u,n.range.fromB,this.decorations,this.dynamicDecorationMap),S=eo.build(this.view.state.doc,n.range.toB,h,this.decorations,this.dynamicDecorationMap);d=x.breakAtStart,p=x.openStart,m=S.openEnd;let b=this.compositionView(n);S.breakAtStart?b.breakAfter=1:S.content.length&&b.merge(b.length,b.length,S.content[0],!1,S.openStart,0)&&(b.breakAfter=S.content[0].breakAfter,S.content.shift()),x.content.length&&b.merge(0,0,x.content[x.content.length-1],!0,0,x.openEnd)&&x.content.pop(),f=x.content.concat(b).concat(S.content)}else({content:f,breakAtStart:d,openStart:p,openEnd:m}=eo.build(this.view.state.doc,u,h,this.decorations,this.dynamicDecorationMap));let{i:y,off:g}=i.findPos(c,1),{i:v,off:w}=i.findPos(a,-1);Qy(this,v,w,y,g,f,d,p,m)}n&&this.fixCompositionDOM(n)}compositionView(e){let t=new Ft(e.text.nodeValue);t.flags|=8;for(let{deco:o}of e.marks)t=new nn(o,[t],t.length);let n=new Fe;return n.append(t,0),n}fixCompositionDOM(e){let t=(i,s)=>{s.flags|=8,this.markedForComposition.add(s);let l=oe.get(i);l!=s&&(l&&(l.dom=null),s.setDOM(i))},n=this.childPos(e.range.fromB,1),o=this.children[n.i];t(e.line,o);for(let i=e.marks.length-1;i>=-1;i--)n=o.childPos(n.off,1),o=o.children[n.i],t(i>=0?e.marks[i].node:e.text,o)}updateSelection(e=!1,t=!1){(e||!this.view.observer.selectionRange.focusNode)&&this.view.observer.readSelectionRange();let n=this.view.root.activeElement,o=n==this.dom,i=!o&&da(this.dom,this.view.observer.selectionRange)&&!(n&&this.dom.contains(n));if(!(o||t||i))return;let s=this.forceSelection;this.forceSelection=!1;let l=this.view.state.selection.main,a=this.domAtPos(l.anchor),c=l.empty?a:this.domAtPos(l.head);if(_.gecko&&l.empty&&!this.hasComposition&&Nk(a)){let h=document.createTextNode("");this.view.observer.ignore(()=>a.node.insertBefore(h,a.node.childNodes[a.offset]||null)),a=c=new Be(h,0),s=!0}let u=this.view.observer.selectionRange;(s||!u.focusNode||!xa(a.node,a.offset,u.anchorNode,u.anchorOffset)||!xa(c.node,c.offset,u.focusNode,u.focusOffset))&&(this.view.observer.ignore(()=>{_.android&&_.chrome&&this.dom.contains(u.focusNode)&&Hk(u.focusNode,this.dom)&&(this.dom.blur(),this.dom.focus({preventScroll:!0}));let h=ba(this.view.root);if(h)if(l.empty){if(_.gecko){let f=Fk(a.node,a.offset);if(f&&f!=3){let d=xb(a.node,a.offset,f==1?1:-1);d&&(a=new Be(d,f==1?0:d.nodeValue.length))}}h.collapse(a.node,a.offset),l.bidiLevel!=null&&u.cursorBidiLevel!=null&&(u.cursorBidiLevel=l.bidiLevel)}else if(h.extend){h.collapse(a.node,a.offset);try{h.extend(c.node,c.offset)}catch{}}else{let f=document.createRange();l.anchor>l.head&&([a,c]=[c,a]),f.setEnd(c.node,c.offset),f.setStart(a.node,a.offset),h.removeAllRanges(),h.addRange(f)}i&&this.view.root.activeElement==this.dom&&(this.dom.blur(),n&&n.focus())}),this.view.observer.setSelectionRange(a,c)),this.impreciseAnchor=a.precise?null:new Be(u.anchorNode,u.anchorOffset),this.impreciseHead=c.precise?null:new Be(u.focusNode,u.focusOffset)}enforceCursorAssoc(){if(this.hasComposition)return;let{view:e}=this,t=e.state.selection.main,n=ba(e.root),{anchorNode:o,anchorOffset:i}=e.observer.selectionRange;if(!n||!t.empty||!t.assoc||!n.modify)return;let s=Fe.find(this,t.head);if(!s)return;let l=s.posAtStart;if(t.head==l||t.head==l+s.length)return;let a=this.coordsAt(t.head,-1),c=this.coordsAt(t.head,1);if(!a||!c||a.bottom>c.top)return;let u=this.domAtPos(t.head+t.assoc);n.collapse(u.node,u.offset),n.modify("move",t.assoc<0?"forward":"backward","lineboundary"),e.observer.readSelectionRange();let h=e.observer.selectionRange;e.docView.posFromDOM(h.anchorNode,h.anchorOffset)!=t.from&&n.collapse(o,i)}nearest(e){for(let t=e;t;){let n=oe.get(t);if(n&&n.rootView==this)return n;t=t.parentNode}return null}posFromDOM(e,t){let n=this.nearest(e);if(!n)throw new RangeError("Trying to find position for a DOM position outside of the document");return n.localPosFromDOM(e,t)+n.posAtStart}domAtPos(e){let{i:t,off:n}=this.childCursor().findPos(e,-1);for(;t<this.children.length-1;){let o=this.children[t];if(n<o.length||o instanceof Fe)break;t++,n=0}return this.children[t].domAtPos(n)}coordsAt(e,t){for(let n=this.length,o=this.children.length-1;;o--){let i=this.children[o],s=n-i.breakAfter-i.length;if(e>s||e==s&&i.type!=Se.WidgetBefore&&i.type!=Se.WidgetAfter&&(!o||t==2||this.children[o-1].breakAfter||this.children[o-1].type==Se.WidgetBefore&&t>-2))return i.coordsAt(e-s,t);n=s}}coordsForChar(e){let{i:t,off:n}=this.childPos(e,1),o=this.children[t];if(!(o instanceof Fe))return null;for(;o.children.length;){let{i:l,off:a}=o.childPos(n,1);for(;;l++){if(l==o.children.length)return null;if((o=o.children[l]).length)break}n=a}if(!(o instanceof Ft))return null;let i=Ge(o.text,n);if(i==n)return null;let s=to(o.dom,n,i).getClientRects();return!s.length||s[0].top>=s[0].bottom?null:s[0]}measureVisibleLineHeights(e){let t=[],{from:n,to:o}=e,i=this.view.contentDOM.clientWidth,s=i>Math.max(this.view.scrollDOM.clientWidth,this.minWidth)+1,l=-1,a=this.view.textDirection==we.LTR;for(let c=0,u=0;u<this.children.length;u++){let h=this.children[u],f=c+h.length;if(f>o)break;if(c>=n){let d=h.dom.getBoundingClientRect();if(t.push(d.height),s){let p=h.dom.lastChild,m=p?gs(p):[];if(m.length){let y=m[m.length-1],g=a?y.right-d.left:d.right-y.left;g>l&&(l=g,this.minWidth=i,this.minWidthFrom=c,this.minWidthTo=f)}}}c=f+h.breakAfter}return t}textDirectionAt(e){let{i:t}=this.childPos(e,1);return getComputedStyle(this.children[t].dom).direction=="rtl"?we.RTL:we.LTR}measureTextSize(){for(let i of this.children)if(i instanceof Fe){let s=i.measureTextSize();if(s)return s}let e=document.createElement("div"),t,n,o;return e.className="cm-line",e.style.width="99999px",e.style.position="absolute",e.textContent="abc def ghi jkl mno pqr stu",this.view.observer.ignore(()=>{this.dom.appendChild(e);let i=gs(e.firstChild)[0];t=e.getBoundingClientRect().height,n=i?i.width/27:7,o=i?i.height:t,e.remove()}),{lineHeight:t,charWidth:n,textHeight:o}}childCursor(e=this.length){let t=this.children.length;return t&&(e-=this.children[--t].length),new wa(this.children,e,t)}computeBlockGapDeco(){let e=[],t=this.view.viewState;for(let n=0,o=0;;o++){let i=o==t.viewports.length?null:t.viewports[o],s=i?i.from-1:this.length;if(s>n){let l=t.lineBlockAt(s).bottom-t.lineBlockAt(n).top;e.push(Pe.replace({widget:new Ma(l),block:!0,inclusive:!0,isBlockGap:!0}).range(n,s))}if(!i)break;n=i.to+1}return Pe.set(e)}updateDeco(){let e=this.view.state.facet(ys).map((t,n)=>(this.dynamicDecorationMap[n]=typeof t=="function")?t(this.view):t);for(let t=e.length;t<e.length+3;t++)this.dynamicDecorationMap[t]=!1;return this.decorations=[...e,this.computeBlockGapDeco(),this.view.viewState.lineGapDeco]}scrollIntoView(e){let{range:t}=e,n=this.coordsAt(t.head,t.empty?t.assoc:t.head>t.anchor?-1:1),o;if(!n)return;!t.empty&&(o=this.coordsAt(t.anchor,t.anchor>t.head?-1:1))&&(n={left:Math.min(n.left,o.left),top:Math.min(n.top,o.top),right:Math.max(n.right,o.right),bottom:Math.max(n.bottom,o.bottom)});let i=pb(this.view),s={left:n.left-i.left,top:n.top-i.top,right:n.right+i.right,bottom:n.bottom+i.bottom};bk(this.view.scrollDOM,s,t.head<t.anchor?-1:1,e.x,e.y,e.xMargin,e.yMargin,this.view.textDirection==we.LTR)}};function Nk(r){return r.node.nodeType==1&&r.node.firstChild&&(r.offset==0||r.node.childNodes[r.offset-1].contentEditable=="false")&&(r.offset==r.node.childNodes.length||r.node.childNodes[r.offset].contentEditable=="false")}var Ma=class extends Vn{constructor(e){super(),this.height=e}toDOM(){let e=document.createElement("div");return this.updateDOM(e),e}eq(e){return e.height==this.height}updateDOM(e){return e.style.height=this.height+"px",!0}get estimatedHeight(){return this.height}};function bb(r){let e=r.observer.selectionRange,t=e.focusNode&&xb(e.focusNode,e.focusOffset,0);if(!t)return null;let n=oe.get(t),o,i;if(n instanceof Ft)o=n.posAtStart,i=o+n.length;else e:for(let s=0,l=t;;){for(let c=l.previousSibling,u;c;c=c.previousSibling){if(u=oe.get(c)){o=i=u.posAtEnd+s;break e}let h=new Sa([],r.state);if(h.readNode(c),h.text.indexOf(Xo)>-1)return null;s+=h.text.length}if(l=l.parentNode,!l)return null;let a=oe.get(l);if(a){o=i=a.posAtStart+s;break}}return{from:o,to:i,node:t}}function Vk(r,e){let t=bb(r);if(!t)return null;let{from:n,to:o,node:i}=t,s=e.mapPos(n,-1),l=e.mapPos(o,1),a=i.nodeValue;if(/[\n\r]/.test(a))return null;if(l-s!=a.length){let f=e.mapPos(n,1),d=e.mapPos(o,-1);if(d-f==a.length)s=f,l=d;else if(r.state.doc.sliceString(l-a.length,l)==a)s=l-a.length;else if(r.state.doc.sliceString(s,s+a.length)==a)l=s+a.length;else return null}let{main:c}=r.state.selection;if(r.state.doc.sliceString(s,l)!=a||s>c.head||l<c.head)return null;let u=[],h=new ht(n,o,s,l);for(let f=i.parentNode;;f=f.parentNode){let d=oe.get(f);if(d instanceof nn)u.push({node:f,deco:d.mark});else{if(d instanceof Fe||f.nodeName=="DIV"&&f.parentNode==r.contentDOM)return{range:h,text:i,marks:u,line:f};if(f!=r.contentDOM)u.push({node:f,deco:new no({inclusive:!0,attributes:kk(f),tagName:f.tagName.toLowerCase()})});else return null}}}function xb(r,e,t){if(t<=0)for(let n=r,o=e;;){if(n.nodeType==3)return n;if(n.nodeType==1&&o>0)n=n.childNodes[o-1],o=cr(n);else break}if(t>=0)for(let n=r,o=e;;){if(n.nodeType==3)return n;if(n.nodeType==1&&o<n.childNodes.length&&t>=0)n=n.childNodes[o],o=0;else break}return null}function Fk(r,e){return r.nodeType!=1?0:(e&&r.childNodes[e-1].contentEditable=="false"?1:0)|(e<r.childNodes.length&&r.childNodes[e].contentEditable=="false"?2:0)}var Ah=class{constructor(){this.changes=[]}compareRange(e,t){Ih(e,t,this.changes)}comparePoint(e,t){Ih(e,t,this.changes)}};function Bk(r,e,t){let n=new Ah;return le.compare(r,e,t,n),n.changes}function Hk(r,e){for(let t=r;t&&t!=e;t=t.assignedSlot||t.parentNode)if(t.nodeType==1&&t.contentEditable=="false")return!0;return!1}function _k(r,e,t=1){let n=r.charCategorizer(e),o=r.doc.lineAt(e),i=e-o.from;if(o.length==0)return D.cursor(e);i==0?t=1:i==o.length&&(t=-1);let s=i,l=i;t<0?s=Ge(o.text,i,!1):l=Ge(o.text,i);let a=n(o.text.slice(s,l));for(;s>0;){let c=Ge(o.text,s,!1);if(n(o.text.slice(c,s))!=a)break;s=c}for(;l<o.length;){let c=Ge(o.text,l);if(n(o.text.slice(l,c))!=a)break;l=c}return D.range(s+o.from,l+o.from)}function zk(r,e){return e.left>r?e.left-r:Math.max(0,r-e.right)}function Wk(r,e){return e.top>r?e.top-r:Math.max(0,r-e.bottom)}function bh(r,e){return r.top<e.bottom-1&&r.bottom>e.top+1}function Cy(r,e){return e<r.top?{top:e,left:r.left,right:r.right,bottom:r.bottom}:r}function Ty(r,e){return e>r.bottom?{top:r.top,left:r.left,right:r.right,bottom:e}:r}function Oh(r,e,t){let n,o,i,s,l=!1,a,c,u,h;for(let p=r.firstChild;p;p=p.nextSibling){let m=gs(p);for(let y=0;y<m.length;y++){let g=m[y];o&&bh(o,g)&&(g=Cy(Ty(g,o.bottom),o.top));let v=zk(e,g),w=Wk(t,g);if(v==0&&w==0)return p.nodeType==3?ky(p,e,t):Oh(p,e,t);if(!n||s>w||s==w&&i>v){n=p,o=g,i=v,s=w;let x=w?t<g.top?-1:1:v?e<g.left?-1:1:0;l=!x||(x>0?y<m.length-1:y>0)}v==0?t>g.bottom&&(!u||u.bottom<g.bottom)?(a=p,u=g):t<g.top&&(!h||h.top>g.top)&&(c=p,h=g):u&&bh(u,g)?u=Ty(u,g.bottom):h&&bh(h,g)&&(h=Cy(h,g.top))}}if(u&&u.bottom>=t?(n=a,o=u):h&&h.top<=t&&(n=c,o=h),!n)return{node:r,offset:0};let f=Math.max(o.left,Math.min(o.right,e));if(n.nodeType==3)return ky(n,f,t);if(l&&n.contentEditable!="false")return Oh(n,f,t);let d=Array.prototype.indexOf.call(r.childNodes,n)+(e>=(o.left+o.right)/2?1:0);return{node:r,offset:d}}function ky(r,e,t){let n=r.nodeValue.length,o=-1,i=1e9,s=0;for(let l=0;l<n;l++){let a=to(r,l,l+1).getClientRects();for(let c=0;c<a.length;c++){let u=a[c];if(u.top==u.bottom)continue;s||(s=e-u.left);let h=(u.top>t?u.top-t:t-u.bottom)-1;if(u.left-1<=e&&u.right+1>=e&&h<i){let f=e>=(u.left+u.right)/2,d=f;if((_.chrome||_.gecko)&&to(r,l).getBoundingClientRect().left==u.right&&(d=!f),h<=0)return{node:r,offset:l+(d?1:0)};o=l+(d?1:0),i=h}}}return{node:r,offset:o>-1?o:s>0?r.nodeValue.length:0}}function vb(r,e,t,n=-1){var o,i;let s=r.contentDOM.getBoundingClientRect(),l=s.top+r.viewState.paddingTop,a,{docHeight:c}=r.viewState,{x:u,y:h}=e,f=h-l;if(f<0)return 0;if(f>c)return r.state.doc.length;for(let x=r.viewState.heightOracle.textHeight/2,S=!1;a=r.elementAtHeight(f),a.type!=Se.Text;)for(;f=n>0?a.bottom+x:a.top-x,!(f>=0&&f<=c);){if(S)return t?null:0;S=!0,n=-n}h=l+f;let d=a.from;if(d<r.viewport.from)return r.viewport.from==0?0:t?null:My(r,s,a,u,h);if(d>r.viewport.to)return r.viewport.to==r.state.doc.length?r.state.doc.length:t?null:My(r,s,a,u,h);let p=r.dom.ownerDocument,m=r.root.elementFromPoint?r.root:p,y=m.elementFromPoint(u,h);y&&!r.contentDOM.contains(y)&&(y=null),y||(u=Math.max(s.left+1,Math.min(s.right-1,u)),y=m.elementFromPoint(u,h),y&&!r.contentDOM.contains(y)&&(y=null));let g,v=-1;if(y&&((o=r.docView.nearest(y))===null||o===void 0?void 0:o.isEditable)!=!1){if(p.caretPositionFromPoint){let x=p.caretPositionFromPoint(u,h);x&&({offsetNode:g,offset:v}=x)}else if(p.caretRangeFromPoint){let x=p.caretRangeFromPoint(u,h);x&&({startContainer:g,startOffset:v}=x,(!r.contentDOM.contains(g)||_.safari&&$k(g,v,u)||_.chrome&&Uk(g,v,u))&&(g=void 0))}}if(!g||!r.docView.dom.contains(g)){let x=Fe.find(r.docView,d);if(!x)return f>a.top+a.height/2?a.to:a.from;({node:g,offset:v}=Oh(x.dom,u,h))}let w=r.docView.nearest(g);if(!w)return null;if(w.isWidget&&((i=w.dom)===null||i===void 0?void 0:i.nodeType)==1){let x=w.dom.getBoundingClientRect();return e.y<x.top||e.y<=x.bottom&&e.x<=(x.left+x.right)/2?w.posAtStart:w.posAtEnd}else return w.localPosFromDOM(g,v)+w.posAtStart}function My(r,e,t,n,o){let i=Math.round((n-e.left)*r.defaultCharacterWidth);if(r.lineWrapping&&t.height>r.defaultLineHeight*1.5){let l=r.viewState.heightOracle.textHeight,a=Math.floor((o-t.top-(r.defaultLineHeight-l)*.5)/l);i+=a*r.viewState.heightOracle.lineLength}let s=r.state.sliceDoc(t.from,t.to);return t.from+cy(s,i,r.state.tabSize)}function $k(r,e,t){let n;if(r.nodeType!=3||e!=(n=r.nodeValue.length))return!1;for(let o=r.nextSibling;o;o=o.nextSibling)if(o.nodeType!=1||o.nodeName!="BR")return!1;return to(r,n-1,n).getBoundingClientRect().left>t}function Uk(r,e,t){if(e!=0)return!1;for(let o=r;;){let i=o.parentNode;if(!i||i.nodeType!=1||i.firstChild!=o)return!1;if(i.classList.contains("cm-line"))break;o=i}let n=r.nodeType==1?r.getBoundingClientRect():to(r,0,Math.max(r.nodeValue.length,1)).getBoundingClientRect();return t-n.left>5}function Nh(r,e){let t=r.lineBlockAt(e);if(Array.isArray(t.type)){for(let n of t.type)if(n.to>e||n.to==e&&(n.to==t.to||n.type==Se.Text))return n}return t}function Gk(r,e,t,n){let o=Nh(r,e.head),i=!n||o.type!=Se.Text||!(r.lineWrapping||o.widgetLineBreaks)?null:r.coordsAtPos(e.assoc<0&&e.head>o.from?e.head-1:e.head);if(i){let s=r.dom.getBoundingClientRect(),l=r.textDirectionAt(o.from),a=r.posAtCoords({x:t==(l==we.LTR)?s.right-1:s.left+1,y:(i.top+i.bottom)/2});if(a!=null)return D.cursor(a,t?-1:1)}return D.cursor(t?o.to:o.from,t?-1:1)}function Ey(r,e,t,n){let o=r.state.doc.lineAt(e.head),i=r.bidiSpans(o),s=r.textDirectionAt(o.from);for(let l=e,a=null;;){let c=Ok(o,i,s,l,t),u=yb;if(!c){if(o.number==(t?r.state.doc.lines:1))return l;u=`
|
|
24
|
+
`,o=r.state.doc.line(o.number+(t?1:-1)),i=r.bidiSpans(o),c=D.cursor(t?o.from:o.to)}if(a){if(!a(u))return l}else{if(!n)return c;a=n(u)}l=c}}function qk(r,e,t){let n=r.state.charCategorizer(e),o=n(t);return i=>{let s=n(i);return o==rt.Space&&(o=s),o==s}}function Kk(r,e,t,n){let o=e.head,i=t?1:-1;if(o==(t?r.state.doc.length:0))return D.cursor(o,e.assoc);let s=e.goalColumn,l,a=r.contentDOM.getBoundingClientRect(),c=r.coordsAtPos(o),u=r.documentTop;if(c)s==null&&(s=c.left-a.left),l=i<0?c.top:c.bottom;else{let d=r.viewState.lineBlockAt(o);s==null&&(s=Math.min(a.right-a.left,r.defaultCharacterWidth*(o-d.from))),l=(i<0?d.top:d.bottom)+u}let h=a.left+s,f=n!=null?n:r.viewState.heightOracle.textHeight>>1;for(let d=0;;d+=10){let p=l+(f+d)*i,m=vb(r,{x:h,y:p},!1,i);if(p<a.top||p>a.bottom||(i<0?m<o:m>o))return D.cursor(m,e.assoc,void 0,s)}}function pa(r,e,t){for(;;){let n=0;for(let o of r)o.between(e-1,e+1,(i,s,l)=>{if(e>i&&e<s){let a=n||t||(e-i<s-e?-1:1);e=a<0?i:s,n=a}});if(!n)return e}}function xh(r,e,t){let n=pa(r.state.facet(lf).map(o=>o(r)),t.from,e.head>t.from?-1:1);return n==t.from?t:D.cursor(n,n<t.from?1:-1)}var Vh=class{constructor(e){this.lastKeyCode=0,this.lastKeyTime=0,this.lastTouchTime=0,this.lastFocusTime=0,this.lastScrollTop=0,this.lastScrollLeft=0,this.chromeScrollHack=-1,this.pendingIOSKey=void 0,this.lastSelectionOrigin=null,this.lastSelectionTime=0,this.lastEscPress=0,this.lastContextMenu=0,this.scrollHandlers=[],this.registeredEvents=[],this.customHandlers=[],this.composing=-1,this.compositionFirstChange=null,this.compositionEndedAt=0,this.compositionPendingKey=!1,this.compositionPendingChange=!1,this.mouseSelection=null;let t=(n,o)=>{this.ignoreDuringComposition(o)||o.type=="keydown"&&this.keydown(e,o)||(this.mustFlushObserver(o)&&e.observer.forceFlush(),this.runCustomHandlers(o.type,e,o)?o.preventDefault():n(e,o))};for(let n in ke){let o=ke[n];e.contentDOM.addEventListener(n,i=>{Ry(e,i)&&t(o,i)},Bh[n]),this.registeredEvents.push(n)}e.scrollDOM.addEventListener("mousedown",n=>{if(n.target==e.scrollDOM&&n.clientY>e.contentDOM.getBoundingClientRect().bottom&&(t(ke.mousedown,n),!n.defaultPrevented&&n.button==2)){let o=e.contentDOM.style.minHeight;e.contentDOM.style.minHeight="100%",setTimeout(()=>e.contentDOM.style.minHeight=o,200)}}),e.scrollDOM.addEventListener("drop",n=>{n.target==e.scrollDOM&&n.clientY>e.contentDOM.getBoundingClientRect().bottom&&t(ke.drop,n)}),_.chrome&&_.chrome_version==102&&e.scrollDOM.addEventListener("wheel",()=>{this.chromeScrollHack<0?e.contentDOM.style.pointerEvents="none":window.clearTimeout(this.chromeScrollHack),this.chromeScrollHack=setTimeout(()=>{this.chromeScrollHack=-1,e.contentDOM.style.pointerEvents=""},100)},{passive:!0}),this.notifiedFocused=e.hasFocus,_.safari&&e.contentDOM.addEventListener("input",()=>null)}setSelectionOrigin(e){this.lastSelectionOrigin=e,this.lastSelectionTime=Date.now()}ensureHandlers(e,t){var n;let o;this.customHandlers=[];for(let i of t)if(o=(n=i.update(e).spec)===null||n===void 0?void 0:n.domEventHandlers){this.customHandlers.push({plugin:i.value,handlers:o});for(let s in o)this.registeredEvents.indexOf(s)<0&&s!="scroll"&&(this.registeredEvents.push(s),e.contentDOM.addEventListener(s,l=>{Ry(e,l)&&this.runCustomHandlers(s,e,l)&&l.preventDefault()}))}}runCustomHandlers(e,t,n){for(let o of this.customHandlers){let i=o.handlers[e];if(i)try{if(i.call(o.plugin,n,t)||n.defaultPrevented)return!0}catch(s){gn(t.state,s)}}return!1}runScrollHandlers(e,t){this.lastScrollTop=e.scrollDOM.scrollTop,this.lastScrollLeft=e.scrollDOM.scrollLeft;for(let n of this.customHandlers){let o=n.handlers.scroll;if(o)try{o.call(n.plugin,t,e)}catch(i){gn(e.state,i)}}}keydown(e,t){if(this.lastKeyCode=t.keyCode,this.lastKeyTime=Date.now(),t.keyCode==9&&Date.now()<this.lastEscPress+2e3)return!0;if(t.keyCode!=27&&Sb.indexOf(t.keyCode)<0&&(e.inputState.lastEscPress=0),_.android&&_.chrome&&!t.synthetic&&(t.keyCode==13||t.keyCode==8))return e.observer.delayAndroidKey(t.key,t.keyCode),!0;let n;return _.ios&&!t.synthetic&&!t.altKey&&!t.metaKey&&((n=wb.find(o=>o.keyCode==t.keyCode))&&!t.ctrlKey||jk.indexOf(t.key)>-1&&t.ctrlKey&&!t.shiftKey)?(this.pendingIOSKey=n||t,setTimeout(()=>this.flushIOSKey(e),250),!0):!1}flushIOSKey(e){let t=this.pendingIOSKey;return t?(this.pendingIOSKey=void 0,ei(e.contentDOM,t.key,t.keyCode)):!1}ignoreDuringComposition(e){return/^key/.test(e.type)?this.composing>0?!0:_.safari&&!_.ios&&this.compositionPendingKey&&Date.now()-this.compositionEndedAt<100?(this.compositionPendingKey=!1,!0):!1:!1}mustFlushObserver(e){return e.type=="keydown"&&e.keyCode!=229}startMouseSelection(e){this.mouseSelection&&this.mouseSelection.destroy(),this.mouseSelection=e}update(e){this.mouseSelection&&this.mouseSelection.update(e),e.transactions.length&&(this.lastKeyCode=this.lastSelectionTime=0)}destroy(){this.mouseSelection&&this.mouseSelection.destroy()}},wb=[{key:"Backspace",keyCode:8,inputType:"deleteContentBackward"},{key:"Enter",keyCode:13,inputType:"insertParagraph"},{key:"Enter",keyCode:13,inputType:"insertLineBreak"},{key:"Delete",keyCode:46,inputType:"deleteContentForward"}],jk="dthko",Sb=[16,17,18,20,91,92,224,225],la=6;function aa(r){return Math.max(0,r)*.7+8}function Jk(r,e){return Math.max(Math.abs(r.clientX-e.clientX),Math.abs(r.clientY-e.clientY))}var Fh=class{constructor(e,t,n,o){this.view=e,this.startEvent=t,this.style=n,this.mustSelect=o,this.scrollSpeed={x:0,y:0},this.scrolling=-1,this.lastEvent=t,this.scrollParent=xk(e.contentDOM),this.atoms=e.state.facet(lf).map(s=>s(e));let i=e.contentDOM.ownerDocument;i.addEventListener("mousemove",this.move=this.move.bind(this)),i.addEventListener("mouseup",this.up=this.up.bind(this)),this.extend=t.shiftKey,this.multiple=e.state.facet(ee.allowMultipleSelections)&&Qk(e,t),this.dragging=Xk(e,t)&&Mb(t)==1?null:!1}start(e){this.dragging===!1&&(e.preventDefault(),this.select(e))}move(e){var t;if(e.buttons==0)return this.destroy();if(this.dragging||this.dragging==null&&Jk(this.startEvent,e)<10)return;this.select(this.lastEvent=e);let n=0,o=0,i=((t=this.scrollParent)===null||t===void 0?void 0:t.getBoundingClientRect())||{left:0,top:0,right:this.view.win.innerWidth,bottom:this.view.win.innerHeight},s=pb(this.view);e.clientX-s.left<=i.left+la?n=-aa(i.left-e.clientX):e.clientX+s.right>=i.right-la&&(n=aa(e.clientX-i.right)),e.clientY-s.top<=i.top+la?o=-aa(i.top-e.clientY):e.clientY+s.bottom>=i.bottom-la&&(o=aa(e.clientY-i.bottom)),this.setScrollSpeed(n,o)}up(e){this.dragging==null&&this.select(this.lastEvent),this.dragging||e.preventDefault(),this.destroy()}destroy(){this.setScrollSpeed(0,0);let e=this.view.contentDOM.ownerDocument;e.removeEventListener("mousemove",this.move),e.removeEventListener("mouseup",this.up),this.view.inputState.mouseSelection=null}setScrollSpeed(e,t){this.scrollSpeed={x:e,y:t},e||t?this.scrolling<0&&(this.scrolling=setInterval(()=>this.scroll(),50)):this.scrolling>-1&&(clearInterval(this.scrolling),this.scrolling=-1)}scroll(){this.scrollParent?(this.scrollParent.scrollLeft+=this.scrollSpeed.x,this.scrollParent.scrollTop+=this.scrollSpeed.y):this.view.win.scrollBy(this.scrollSpeed.x,this.scrollSpeed.y),this.dragging===!1&&this.select(this.lastEvent)}skipAtoms(e){let t=null;for(let n=0;n<e.ranges.length;n++){let o=e.ranges[n],i=null;if(o.empty){let s=pa(this.atoms,o.from,0);s!=o.from&&(i=D.cursor(s,-1))}else{let s=pa(this.atoms,o.from,-1),l=pa(this.atoms,o.to,1);(s!=o.from||l!=o.to)&&(i=D.range(o.from==o.anchor?s:l,o.from==o.head?s:l))}i&&(t||(t=e.ranges.slice()),t[n]=i)}return t?D.create(t,e.mainIndex):e}select(e){let{view:t}=this,n=this.skipAtoms(this.style.get(e,this.extend,this.multiple));(this.mustSelect||!n.eq(t.state.selection)||n.main.assoc!=t.state.selection.main.assoc&&this.dragging===!1)&&this.view.dispatch({selection:n,userEvent:"select.pointer"}),this.mustSelect=!1}update(e){e.docChanged&&this.dragging&&(this.dragging=this.dragging.map(e.changes)),this.style.update(e)&&setTimeout(()=>this.select(this.lastEvent),20)}};function Qk(r,e){let t=r.state.facet(ob);return t.length?t[0](e):_.mac?e.metaKey:e.ctrlKey}function Yk(r,e){let t=r.state.facet(ib);return t.length?t[0](e):_.mac?!e.altKey:!e.ctrlKey}function Xk(r,e){let{main:t}=r.state.selection;if(t.empty)return!1;let n=ba(r.root);if(!n||n.rangeCount==0)return!0;let o=n.getRangeAt(0).getClientRects();for(let i=0;i<o.length;i++){let s=o[i];if(s.left<=e.clientX&&s.right>=e.clientX&&s.top<=e.clientY&&s.bottom>=e.clientY)return!0}return!1}function Ry(r,e){if(!e.bubbles)return!0;if(e.defaultPrevented)return!1;for(let t=e.target,n;t!=r.contentDOM;t=t.parentNode)if(!t||t.nodeType==11||(n=oe.get(t))&&n.ignoreEvent(e))return!1;return!0}var ke=Object.create(null),Bh=Object.create(null),Cb=_.ie&&_.ie_version<15||_.ios&&_.webkit_version<604;function Zk(r){let e=r.dom.parentNode;if(!e)return;let t=e.appendChild(document.createElement("textarea"));t.style.cssText="position: fixed; left: -10000px; top: 10px",t.focus(),setTimeout(()=>{r.focus(),t.remove(),Tb(r,t.value)},50)}function Tb(r,e){let{state:t}=r,n,o=1,i=t.toText(e),s=i.lines==t.selection.ranges.length;if(Hh!=null&&t.selection.ranges.every(a=>a.empty)&&Hh==i.toString()){let a=-1;n=t.changeByRange(c=>{let u=t.doc.lineAt(c.from);if(u.from==a)return{range:c};a=u.from;let h=t.toText((s?i.line(o++).text:e)+t.lineBreak);return{changes:{from:u.from,insert:h},range:D.cursor(c.from+h.length)}})}else s?n=t.changeByRange(a=>{let c=i.line(o++);return{changes:{from:a.from,to:a.to,insert:c.text},range:D.cursor(a.from+c.length)}}):n=t.replaceSelection(i);r.dispatch(n,{userEvent:"input.paste",scrollIntoView:!0})}ke.keydown=(r,e)=>{r.inputState.setSelectionOrigin("select"),e.keyCode==27&&(r.inputState.lastEscPress=Date.now())};ke.touchstart=(r,e)=>{r.inputState.lastTouchTime=Date.now(),r.inputState.setSelectionOrigin("select.pointer")};ke.touchmove=r=>{r.inputState.setSelectionOrigin("select.pointer")};Bh.touchstart=Bh.touchmove={passive:!0};ke.mousedown=(r,e)=>{if(r.observer.flush(),r.inputState.lastTouchTime>Date.now()-2e3)return;let t=null;for(let n of r.state.facet(sb))if(t=n(r,e),t)break;if(!t&&e.button==0&&(t=nM(r,e)),t){let n=!r.hasFocus;r.inputState.startMouseSelection(new Fh(r,e,t,n)),n&&r.observer.ignore(()=>Ky(r.contentDOM)),r.inputState.mouseSelection&&r.inputState.mouseSelection.start(e)}};function Iy(r,e,t,n){if(n==1)return D.cursor(e,t);if(n==2)return _k(r.state,e,t);{let o=Fe.find(r.docView,e),i=r.state.doc.lineAt(o?o.posAtEnd:e),s=o?o.posAtStart:i.from,l=o?o.posAtEnd:i.to;return l<r.state.doc.length&&l==i.to&&l++,D.range(s,l)}}var kb=(r,e)=>r>=e.top&&r<=e.bottom,Py=(r,e,t)=>kb(e,t)&&r>=t.left&&r<=t.right;function eM(r,e,t,n){let o=Fe.find(r.docView,e);if(!o)return 1;let i=e-o.posAtStart;if(i==0)return 1;if(i==o.length)return-1;let s=o.coordsAt(i,-1);if(s&&Py(t,n,s))return-1;let l=o.coordsAt(i,1);return l&&Py(t,n,l)?1:s&&kb(n,s)?-1:1}function Dy(r,e){let t=r.posAtCoords({x:e.clientX,y:e.clientY},!1);return{pos:t,bias:eM(r,t,e.clientX,e.clientY)}}var tM=_.ie&&_.ie_version<=11,Ly=null,Ay=0,Oy=0;function Mb(r){if(!tM)return r.detail;let e=Ly,t=Oy;return Ly=r,Oy=Date.now(),Ay=!e||t>Date.now()-400&&Math.abs(e.clientX-r.clientX)<2&&Math.abs(e.clientY-r.clientY)<2?(Ay+1)%3:1}function nM(r,e){let t=Dy(r,e),n=Mb(e),o=r.state.selection;return{update(i){i.docChanged&&(t.pos=i.changes.mapPos(t.pos),o=o.map(i.changes))},get(i,s,l){let a=Dy(r,i),c,u=Iy(r,a.pos,a.bias,n);if(t.pos!=a.pos&&!s){let h=Iy(r,t.pos,t.bias,n),f=Math.min(h.from,u.from),d=Math.max(h.to,u.to);u=f<u.from?D.range(f,d):D.range(d,f)}return s?o.replaceRange(o.main.extend(u.from,u.to)):l&&n==1&&o.ranges.length>1&&(c=rM(o,a.pos))?c:l?o.addRange(u):D.create([u])}}}function rM(r,e){for(let t=0;t<r.ranges.length;t++){let{from:n,to:o}=r.ranges[t];if(n<=e&&o>=e)return D.create(r.ranges.slice(0,t).concat(r.ranges.slice(t+1)),r.mainIndex==t?0:r.mainIndex-(r.mainIndex>t?1:0))}return null}ke.dragstart=(r,e)=>{let{selection:{main:t}}=r.state,{mouseSelection:n}=r.inputState;n&&(n.dragging=t),e.dataTransfer&&(e.dataTransfer.setData("Text",r.state.sliceDoc(t.from,t.to)),e.dataTransfer.effectAllowed="copyMove")};function Ny(r,e,t,n){if(!t)return;let o=r.posAtCoords({x:e.clientX,y:e.clientY},!1);e.preventDefault();let{mouseSelection:i}=r.inputState,s=n&&i&&i.dragging&&Yk(r,e)?{from:i.dragging.from,to:i.dragging.to}:null,l={from:o,insert:t},a=r.state.changes(s?[s,l]:l);r.focus(),r.dispatch({changes:a,selection:{anchor:a.mapPos(o,-1),head:a.mapPos(o,1)},userEvent:s?"move.drop":"input.drop"})}ke.drop=(r,e)=>{if(!e.dataTransfer)return;if(r.state.readOnly)return e.preventDefault();let t=e.dataTransfer.files;if(t&&t.length){e.preventDefault();let n=Array(t.length),o=0,i=()=>{++o==t.length&&Ny(r,e,n.filter(s=>s!=null).join(r.state.lineBreak),!1)};for(let s=0;s<t.length;s++){let l=new FileReader;l.onerror=i,l.onload=()=>{/[\x00-\x08\x0e-\x1f]{2}/.test(l.result)||(n[s]=l.result),i()},l.readAsText(t[s])}}else Ny(r,e,e.dataTransfer.getData("Text"),!0)};ke.paste=(r,e)=>{if(r.state.readOnly)return e.preventDefault();r.observer.flush();let t=Cb?null:e.clipboardData;t?(Tb(r,t.getData("text/plain")||t.getData("text/uri-text")),e.preventDefault()):Zk(r)};function oM(r,e){let t=r.dom.parentNode;if(!t)return;let n=t.appendChild(document.createElement("textarea"));n.style.cssText="position: fixed; left: -10000px; top: 10px",n.value=e,n.focus(),n.selectionEnd=e.length,n.selectionStart=0,setTimeout(()=>{n.remove(),r.focus()},50)}function iM(r){let e=[],t=[],n=!1;for(let o of r.selection.ranges)o.empty||(e.push(r.sliceDoc(o.from,o.to)),t.push(o));if(!e.length){let o=-1;for(let{from:i}of r.selection.ranges){let s=r.doc.lineAt(i);s.number>o&&(e.push(s.text),t.push({from:s.from,to:Math.min(r.doc.length,s.to+1)})),o=s.number}n=!0}return{text:e.join(r.lineBreak),ranges:t,linewise:n}}var Hh=null;ke.copy=ke.cut=(r,e)=>{let{text:t,ranges:n,linewise:o}=iM(r.state);if(!t&&!o)return;Hh=o?t:null;let i=Cb?null:e.clipboardData;i?(e.preventDefault(),i.clearData(),i.setData("text/plain",t)):oM(r,t),e.type=="cut"&&!r.state.readOnly&&r.dispatch({changes:n,scrollIntoView:!0,userEvent:"delete.cut"})};var Eb=St.define();function Rb(r,e){let t=[];for(let n of r.facet(cb)){let o=n(r,e);o&&t.push(o)}return t?r.update({effects:t,annotations:Eb.of(!0)}):null}function Ib(r){setTimeout(()=>{let e=r.hasFocus;if(e!=r.inputState.notifiedFocused){let t=Rb(r.state,e);t?r.dispatch(t):r.update([])}},10)}ke.focus=r=>{r.inputState.lastFocusTime=Date.now(),!r.scrollDOM.scrollTop&&(r.inputState.lastScrollTop||r.inputState.lastScrollLeft)&&(r.scrollDOM.scrollTop=r.inputState.lastScrollTop,r.scrollDOM.scrollLeft=r.inputState.lastScrollLeft),Ib(r)};ke.blur=r=>{r.observer.clearSelectionRange(),Ib(r)};ke.compositionstart=ke.compositionupdate=r=>{r.inputState.compositionFirstChange==null&&(r.inputState.compositionFirstChange=!0),r.inputState.composing<0&&(r.inputState.composing=0)};ke.compositionend=r=>{r.inputState.composing=-1,r.inputState.compositionEndedAt=Date.now(),r.inputState.compositionPendingKey=!0,r.inputState.compositionPendingChange=r.observer.pendingRecords().length>0,r.inputState.compositionFirstChange=null,_.chrome&&_.android?r.observer.flushSoon():r.inputState.compositionPendingChange?Promise.resolve().then(()=>r.observer.flush()):setTimeout(()=>{r.inputState.composing<0&&r.docView.hasComposition&&r.update([])},50)};ke.contextmenu=r=>{r.inputState.lastContextMenu=Date.now()};ke.beforeinput=(r,e)=>{var t;let n;if(_.chrome&&_.android&&(n=wb.find(o=>o.inputType==e.inputType))&&(r.observer.delayAndroidKey(n.key,n.keyCode),n.key=="Backspace"||n.key=="Delete")){let o=((t=window.visualViewport)===null||t===void 0?void 0:t.height)||0;setTimeout(()=>{var i;(((i=window.visualViewport)===null||i===void 0?void 0:i.height)||0)>o+10&&r.hasFocus&&(r.contentDOM.blur(),r.focus())},100)}};var Vy=["pre-wrap","normal","pre-line","break-spaces"],_h=class{constructor(e){this.lineWrapping=e,this.doc=X.empty,this.heightSamples={},this.lineHeight=14,this.charWidth=7,this.textHeight=14,this.lineLength=30,this.heightChanged=!1}heightForGap(e,t){let n=this.doc.lineAt(t).number-this.doc.lineAt(e).number+1;return this.lineWrapping&&(n+=Math.max(0,Math.ceil((t-e-n*this.lineLength*.5)/this.lineLength))),this.lineHeight*n}heightForLine(e){return this.lineWrapping?(1+Math.max(0,Math.ceil((e-this.lineLength)/(this.lineLength-5))))*this.lineHeight:this.lineHeight}setDoc(e){return this.doc=e,this}mustRefreshForWrapping(e){return Vy.indexOf(e)>-1!=this.lineWrapping}mustRefreshForHeights(e){let t=!1;for(let n=0;n<e.length;n++){let o=e[n];o<0?n++:this.heightSamples[Math.floor(o*10)]||(t=!0,this.heightSamples[Math.floor(o*10)]=!0)}return t}refresh(e,t,n,o,i,s){let l=Vy.indexOf(e)>-1,a=Math.round(t)!=Math.round(this.lineHeight)||this.lineWrapping!=l;if(this.lineWrapping=l,this.lineHeight=t,this.charWidth=n,this.textHeight=o,this.lineLength=i,a){this.heightSamples={};for(let c=0;c<s.length;c++){let u=s[c];u<0?c++:this.heightSamples[Math.floor(u*10)]=!0}}return a}},zh=class{constructor(e,t){this.from=e,this.heights=t,this.index=0}get more(){return this.index<this.heights.length}},Vt=class{constructor(e,t,n,o,i){this.from=e,this.length=t,this.top=n,this.height=o,this._content=i}get type(){return typeof this._content=="number"?Se.Text:Array.isArray(this._content)?this._content:this._content.type}get to(){return this.from+this.length}get bottom(){return this.top+this.height}get widget(){return this._content instanceof yn?this._content.widget:null}get widgetLineBreaks(){return typeof this._content=="number"?this._content:0}join(e){let t=(Array.isArray(this._content)?this._content:[this]).concat(Array.isArray(e._content)?e._content:[e]);return new Vt(this.from,this.length+e.length,this.top,this.height+e.height,t)}},he=function(r){return r[r.ByPos=0]="ByPos",r[r.ByHeight=1]="ByHeight",r[r.ByPosNoHeight=2]="ByPosNoHeight",r}(he||(he={})),ma=.001,He=class{constructor(e,t,n=2){this.length=e,this.height=t,this.flags=n}get outdated(){return(this.flags&2)>0}set outdated(e){this.flags=(e?2:0)|this.flags&-3}setHeight(e,t){this.height!=t&&(Math.abs(this.height-t)>ma&&(e.heightChanged=!0),this.height=t)}replace(e,t,n){return He.of(n)}decomposeLeft(e,t){t.push(this)}decomposeRight(e,t){t.push(this)}applyChanges(e,t,n,o){let i=this,s=n.doc;for(let l=o.length-1;l>=0;l--){let{fromA:a,toA:c,fromB:u,toB:h}=o[l],f=i.lineAt(a,he.ByPosNoHeight,n.setDoc(t),0,0),d=f.to>=c?f:i.lineAt(c,he.ByPosNoHeight,n,0,0);for(h+=d.to-c,c=d.to;l>0&&f.from<=o[l-1].toA;)a=o[l-1].fromA,u=o[l-1].fromB,l--,a<f.from&&(f=i.lineAt(a,he.ByPosNoHeight,n,0,0));u+=f.from-a,a=f.from;let p=bs.build(n.setDoc(s),e,u,h);i=i.replace(a,c,p)}return i.updateHeight(n,0)}static empty(){return new it(0,0)}static of(e){if(e.length==1)return e[0];let t=0,n=e.length,o=0,i=0;for(;;)if(t==n)if(o>i*2){let l=e[t-1];l.break?e.splice(--t,1,l.left,null,l.right):e.splice(--t,1,l.left,l.right),n+=1+l.break,o-=l.size}else if(i>o*2){let l=e[n];l.break?e.splice(n,1,l.left,null,l.right):e.splice(n,1,l.left,l.right),n+=2+l.break,i-=l.size}else break;else if(o<i){let l=e[t++];l&&(o+=l.size)}else{let l=e[--n];l&&(i+=l.size)}let s=0;return e[t-1]==null?(s=1,t--):e[t]==null&&(s=1,n++),new Wh(He.of(e.slice(0,t)),s,He.of(e.slice(n)))}};He.prototype.size=1;var Ea=class extends He{constructor(e,t,n){super(e,t),this.deco=n}blockAt(e,t,n,o){return new Vt(o,this.length,n,this.height,this.deco||0)}lineAt(e,t,n,o,i){return this.blockAt(0,n,o,i)}forEachLine(e,t,n,o,i,s){e<=i+this.length&&t>=i&&s(this.blockAt(0,n,o,i))}updateHeight(e,t=0,n=!1,o){return o&&o.from<=t&&o.more&&this.setHeight(e,o.heights[o.index++]),this.outdated=!1,this}toString(){return`block(${this.length})`}},it=class extends Ea{constructor(e,t){super(e,t,null),this.collapsed=0,this.widgetHeight=0,this.breaks=0}blockAt(e,t,n,o){return new Vt(o,this.length,n,this.height,this.breaks)}replace(e,t,n){let o=n[0];return n.length==1&&(o instanceof it||o instanceof Ie&&o.flags&4)&&Math.abs(this.length-o.length)<10?(o instanceof Ie?o=new it(o.length,this.height):o.height=this.height,this.outdated||(o.outdated=!1),o):He.of(n)}updateHeight(e,t=0,n=!1,o){return o&&o.from<=t&&o.more?this.setHeight(e,o.heights[o.index++]):(n||this.outdated)&&this.setHeight(e,Math.max(this.widgetHeight,e.heightForLine(this.length-this.collapsed))+this.breaks*e.lineHeight),this.outdated=!1,this}toString(){return`line(${this.length}${this.collapsed?-this.collapsed:""}${this.widgetHeight?":"+this.widgetHeight:""})`}},Ie=class extends He{constructor(e){super(e,0)}heightMetrics(e,t){let n=e.doc.lineAt(t).number,o=e.doc.lineAt(t+this.length).number,i=o-n+1,s,l=0;if(e.lineWrapping){let a=Math.min(this.height,e.lineHeight*i);s=a/i,this.length>i+1&&(l=(this.height-a)/(this.length-i-1))}else s=this.height/i;return{firstLine:n,lastLine:o,perLine:s,perChar:l}}blockAt(e,t,n,o){let{firstLine:i,lastLine:s,perLine:l,perChar:a}=this.heightMetrics(t,o);if(t.lineWrapping){let c=o+Math.round(Math.max(0,Math.min(1,(e-n)/this.height))*this.length),u=t.doc.lineAt(c),h=l+u.length*a,f=Math.max(n,e-h/2);return new Vt(u.from,u.length,f,h,0)}else{let c=Math.max(0,Math.min(s-i,Math.floor((e-n)/l))),{from:u,length:h}=t.doc.line(i+c);return new Vt(u,h,n+l*c,l,0)}}lineAt(e,t,n,o,i){if(t==he.ByHeight)return this.blockAt(e,n,o,i);if(t==he.ByPosNoHeight){let{from:d,to:p}=n.doc.lineAt(e);return new Vt(d,p-d,0,0,0)}let{firstLine:s,perLine:l,perChar:a}=this.heightMetrics(n,i),c=n.doc.lineAt(e),u=l+c.length*a,h=c.number-s,f=o+l*h+a*(c.from-i-h);return new Vt(c.from,c.length,Math.max(o,Math.min(f,o+this.height-u)),u,0)}forEachLine(e,t,n,o,i,s){e=Math.max(e,i),t=Math.min(t,i+this.length);let{firstLine:l,perLine:a,perChar:c}=this.heightMetrics(n,i);for(let u=e,h=o;u<=t;){let f=n.doc.lineAt(u);if(u==e){let p=f.number-l;h+=a*p+c*(e-i-p)}let d=a+c*f.length;s(new Vt(f.from,f.length,h,d,0)),h+=d,u=f.to+1}}replace(e,t,n){let o=this.length-t;if(o>0){let i=n[n.length-1];i instanceof Ie?n[n.length-1]=new Ie(i.length+o):n.push(null,new Ie(o-1))}if(e>0){let i=n[0];i instanceof Ie?n[0]=new Ie(e+i.length):n.unshift(new Ie(e-1),null)}return He.of(n)}decomposeLeft(e,t){t.push(new Ie(e-1),null)}decomposeRight(e,t){t.push(null,new Ie(this.length-e-1))}updateHeight(e,t=0,n=!1,o){let i=t+this.length;if(o&&o.from<=t+this.length&&o.more){let s=[],l=Math.max(t,o.from),a=-1;for(o.from>t&&s.push(new Ie(o.from-t-1).updateHeight(e,t));l<=i&&o.more;){let u=e.doc.lineAt(l).length;s.length&&s.push(null);let h=o.heights[o.index++];a==-1?a=h:Math.abs(h-a)>=ma&&(a=-2);let f=new it(u,h);f.outdated=!1,s.push(f),l+=u+1}l<=i&&s.push(null,new Ie(i-l).updateHeight(e,l));let c=He.of(s);return(a<0||Math.abs(c.height-this.height)>=ma||Math.abs(a-this.heightMetrics(e,t).perLine)>=ma)&&(e.heightChanged=!0),c}else(n||this.outdated)&&(this.setHeight(e,e.heightForGap(t,t+this.length)),this.outdated=!1);return this}toString(){return`gap(${this.length})`}},Wh=class extends He{constructor(e,t,n){super(e.length+t+n.length,e.height+n.height,t|(e.outdated||n.outdated?2:0)),this.left=e,this.right=n,this.size=e.size+n.size}get break(){return this.flags&1}blockAt(e,t,n,o){let i=n+this.left.height;return e<i?this.left.blockAt(e,t,n,o):this.right.blockAt(e,t,i,o+this.left.length+this.break)}lineAt(e,t,n,o,i){let s=o+this.left.height,l=i+this.left.length+this.break,a=t==he.ByHeight?e<s:e<l,c=a?this.left.lineAt(e,t,n,o,i):this.right.lineAt(e,t,n,s,l);if(this.break||(a?c.to<l:c.from>l))return c;let u=t==he.ByPosNoHeight?he.ByPosNoHeight:he.ByPos;return a?c.join(this.right.lineAt(l,u,n,s,l)):this.left.lineAt(l,u,n,o,i).join(c)}forEachLine(e,t,n,o,i,s){let l=o+this.left.height,a=i+this.left.length+this.break;if(this.break)e<a&&this.left.forEachLine(e,t,n,o,i,s),t>=a&&this.right.forEachLine(e,t,n,l,a,s);else{let c=this.lineAt(a,he.ByPos,n,o,i);e<c.from&&this.left.forEachLine(e,c.from-1,n,o,i,s),c.to>=e&&c.from<=t&&s(c),t>c.to&&this.right.forEachLine(c.to+1,t,n,l,a,s)}}replace(e,t,n){let o=this.left.length+this.break;if(t<o)return this.balanced(this.left.replace(e,t,n),this.right);if(e>this.left.length)return this.balanced(this.left,this.right.replace(e-o,t-o,n));let i=[];e>0&&this.decomposeLeft(e,i);let s=i.length;for(let l of n)i.push(l);if(e>0&&Fy(i,s-1),t<this.length){let l=i.length;this.decomposeRight(t,i),Fy(i,l)}return He.of(i)}decomposeLeft(e,t){let n=this.left.length;if(e<=n)return this.left.decomposeLeft(e,t);t.push(this.left),this.break&&(n++,e>=n&&t.push(null)),e>n&&this.right.decomposeLeft(e-n,t)}decomposeRight(e,t){let n=this.left.length,o=n+this.break;if(e>=o)return this.right.decomposeRight(e-o,t);e<n&&this.left.decomposeRight(e,t),this.break&&e<o&&t.push(null),t.push(this.right)}balanced(e,t){return e.size>2*t.size||t.size>2*e.size?He.of(this.break?[e,null,t]:[e,t]):(this.left=e,this.right=t,this.height=e.height+t.height,this.outdated=e.outdated||t.outdated,this.size=e.size+t.size,this.length=e.length+this.break+t.length,this)}updateHeight(e,t=0,n=!1,o){let{left:i,right:s}=this,l=t+i.length+this.break,a=null;return o&&o.from<=t+i.length&&o.more?a=i=i.updateHeight(e,t,n,o):i.updateHeight(e,t,n),o&&o.from<=l+s.length&&o.more?a=s=s.updateHeight(e,l,n,o):s.updateHeight(e,l,n),a?this.balanced(i,s):(this.height=this.left.height+this.right.height,this.outdated=!1,this)}toString(){return this.left+(this.break?" ":"-")+this.right}};function Fy(r,e){let t,n;r[e]==null&&(t=r[e-1])instanceof Ie&&(n=r[e+1])instanceof Ie&&r.splice(e-1,3,new Ie(t.length+1+n.length))}var sM=5,bs=class{constructor(e,t){this.pos=e,this.oracle=t,this.nodes=[],this.lineStart=-1,this.lineEnd=-1,this.covering=null,this.writtenTo=e}get isCovered(){return this.covering&&this.nodes[this.nodes.length-1]==this.covering}span(e,t){if(this.lineStart>-1){let n=Math.min(t,this.lineEnd),o=this.nodes[this.nodes.length-1];o instanceof it?o.length+=n-this.pos:(n>this.pos||!this.isCovered)&&this.nodes.push(new it(n-this.pos,-1)),this.writtenTo=n,t>n&&(this.nodes.push(null),this.writtenTo++,this.lineStart=-1)}this.pos=t}point(e,t,n){if(e<t||n.heightRelevant){let o=n.widget?n.widget.estimatedHeight:0,i=n.widget?n.widget.lineBreaks:0;o<0&&(o=this.oracle.lineHeight);let s=t-e;n.block?this.addBlock(new Ea(s,o,n)):(s||i||o>=sM)&&this.addLineDeco(o,i,s)}else t>e&&this.span(e,t);this.lineEnd>-1&&this.lineEnd<this.pos&&(this.lineEnd=this.oracle.doc.lineAt(this.pos).to)}enterLine(){if(this.lineStart>-1)return;let{from:e,to:t}=this.oracle.doc.lineAt(this.pos);this.lineStart=e,this.lineEnd=t,this.writtenTo<e&&((this.writtenTo<e-1||this.nodes[this.nodes.length-1]==null)&&this.nodes.push(this.blankContent(this.writtenTo,e-1)),this.nodes.push(null)),this.pos>e&&this.nodes.push(new it(this.pos-e,-1)),this.writtenTo=this.pos}blankContent(e,t){let n=new Ie(t-e);return this.oracle.doc.lineAt(e).to==t&&(n.flags|=4),n}ensureLine(){this.enterLine();let e=this.nodes.length?this.nodes[this.nodes.length-1]:null;if(e instanceof it)return e;let t=new it(0,-1);return this.nodes.push(t),t}addBlock(e){var t;this.enterLine();let n=(t=e.deco)===null||t===void 0?void 0:t.type;n==Se.WidgetAfter&&!this.isCovered&&this.ensureLine(),this.nodes.push(e),this.writtenTo=this.pos=this.pos+e.length,n!=Se.WidgetBefore&&(this.covering=e)}addLineDeco(e,t,n){let o=this.ensureLine();o.length+=n,o.collapsed+=n,o.widgetHeight=Math.max(o.widgetHeight,e),o.breaks+=t,this.writtenTo=this.pos=this.pos+n}finish(e){let t=this.nodes.length==0?null:this.nodes[this.nodes.length-1];this.lineStart>-1&&!(t instanceof it)&&!this.isCovered?this.nodes.push(new it(0,-1)):(this.writtenTo<this.pos||t==null)&&this.nodes.push(this.blankContent(this.writtenTo,this.pos));let n=e;for(let o of this.nodes)o instanceof it&&o.updateHeight(this.oracle,n),n+=o?o.length:1;return this.nodes}static build(e,t,n,o){let i=new bs(n,e);return le.spans(t,n,o,i,0),i.finish(n)}};function lM(r,e,t){let n=new $h;return le.compare(r,e,t,n,0),n.changes}var $h=class{constructor(){this.changes=[]}compareRange(){}comparePoint(e,t,n,o){(e<t||n&&n.heightRelevant||o&&o.heightRelevant)&&Ih(e,t,this.changes,5)}};function aM(r,e){let t=r.getBoundingClientRect(),n=r.ownerDocument,o=n.defaultView||window,i=Math.max(0,t.left),s=Math.min(o.innerWidth,t.right),l=Math.max(0,t.top),a=Math.min(o.innerHeight,t.bottom);for(let c=r.parentNode;c&&c!=n.body;)if(c.nodeType==1){let u=c,h=window.getComputedStyle(u);if((u.scrollHeight>u.clientHeight||u.scrollWidth>u.clientWidth)&&h.overflow!="visible"){let f=u.getBoundingClientRect();i=Math.max(i,f.left),s=Math.min(s,f.right),l=Math.max(l,f.top),a=c==r.parentNode?f.bottom:Math.min(a,f.bottom)}c=h.position=="absolute"||h.position=="fixed"?u.offsetParent:u.parentNode}else if(c.nodeType==11)c=c.host;else break;return{left:i-t.left,right:Math.max(i,s)-t.left,top:l-(t.top+e),bottom:Math.max(l,a)-(t.top+e)}}function cM(r,e){let t=r.getBoundingClientRect();return{left:0,right:t.right-t.left,top:e,bottom:t.bottom-(t.top+e)}}var ms=class{constructor(e,t,n){this.from=e,this.to=t,this.size=n}static same(e,t){if(e.length!=t.length)return!1;for(let n=0;n<e.length;n++){let o=e[n],i=t[n];if(o.from!=i.from||o.to!=i.to||o.size!=i.size)return!1}return!0}draw(e){return Pe.replace({widget:new Uh(this.size,e)}).range(this.from,this.to)}},Uh=class extends Vn{constructor(e,t){super(),this.size=e,this.vertical=t}eq(e){return e.size==this.size&&e.vertical==this.vertical}toDOM(){let e=document.createElement("div");return this.vertical?e.style.height=this.size+"px":(e.style.width=this.size+"px",e.style.height="2px",e.style.display="inline-block"),e}get estimatedHeight(){return this.vertical?this.size:-1}},Ra=class{constructor(e){this.state=e,this.pixelViewport={left:0,right:window.innerWidth,top:0,bottom:0},this.inView=!0,this.paddingTop=0,this.paddingBottom=0,this.contentDOMWidth=0,this.contentDOMHeight=0,this.editorHeight=0,this.editorWidth=0,this.scrollTop=0,this.scrolledToBottom=!0,this.scrollAnchorPos=0,this.scrollAnchorHeight=-1,this.scaler=By,this.scrollTarget=null,this.printing=!1,this.mustMeasureContent=!0,this.defaultTextDirection=we.LTR,this.visibleRanges=[],this.mustEnforceCursorAssoc=!1;let t=e.facet(sf).some(n=>typeof n!="function"&&n.class=="cm-lineWrapping");this.heightOracle=new _h(t),this.stateDeco=e.facet(ys).filter(n=>typeof n!="function"),this.heightMap=He.empty().applyChanges(this.stateDeco,X.empty,this.heightOracle.setDoc(e.doc),[new ht(0,0,0,e.doc.length)]),this.viewport=this.getViewport(0,null),this.updateViewportLines(),this.updateForViewport(),this.lineGaps=this.ensureLineGaps([]),this.lineGapDeco=Pe.set(this.lineGaps.map(n=>n.draw(!1))),this.computeVisibleRanges()}updateForViewport(){let e=[this.viewport],{main:t}=this.state.selection;for(let n=0;n<=1;n++){let o=n?t.head:t.anchor;if(!e.some(({from:i,to:s})=>o>=i&&o<=s)){let{from:i,to:s}=this.lineBlockAt(o);e.push(new Zo(i,s))}}this.viewports=e.sort((n,o)=>n.from-o.from),this.scaler=this.heightMap.height<=7e6?By:new Gh(this.heightOracle,this.heightMap,this.viewports)}updateViewportLines(){this.viewportLines=[],this.heightMap.forEachLine(this.viewport.from,this.viewport.to,this.heightOracle.setDoc(this.state.doc),0,0,e=>{this.viewportLines.push(this.scaler.scale==1?e:ds(e,this.scaler))})}update(e,t=null){this.state=e.state;let n=this.stateDeco;this.stateDeco=this.state.facet(ys).filter(u=>typeof u!="function");let o=e.changedRanges,i=ht.extendWithRanges(o,lM(n,this.stateDeco,e?e.changes:pe.empty(this.state.doc.length))),s=this.heightMap.height,l=this.scrolledToBottom?null:this.scrollAnchorAt(this.scrollTop);this.heightMap=this.heightMap.applyChanges(this.stateDeco,e.startState.doc,this.heightOracle.setDoc(this.state.doc),i),this.heightMap.height!=s&&(e.flags|=2),l?(this.scrollAnchorPos=e.changes.mapPos(l.from,-1),this.scrollAnchorHeight=l.top):(this.scrollAnchorPos=-1,this.scrollAnchorHeight=this.heightMap.height);let a=i.length?this.mapViewport(this.viewport,e.changes):this.viewport;(t&&(t.range.head<a.from||t.range.head>a.to)||!this.viewportIsAppropriate(a))&&(a=this.getViewport(0,t));let c=!e.changes.empty||e.flags&2||a.from!=this.viewport.from||a.to!=this.viewport.to;this.viewport=a,this.updateForViewport(),c&&this.updateViewportLines(),(this.lineGaps.length||this.viewport.to-this.viewport.from>2e3<<1)&&this.updateLineGaps(this.ensureLineGaps(this.mapLineGaps(this.lineGaps,e.changes))),e.flags|=this.computeVisibleRanges(),t&&(this.scrollTarget=t),!this.mustEnforceCursorAssoc&&e.selectionSet&&e.view.lineWrapping&&e.state.selection.main.empty&&e.state.selection.main.assoc&&!e.state.facet(hb)&&(this.mustEnforceCursorAssoc=!0)}measure(e){let t=e.contentDOM,n=window.getComputedStyle(t),o=this.heightOracle,i=n.whiteSpace;this.defaultTextDirection=n.direction=="rtl"?we.RTL:we.LTR;let s=this.heightOracle.mustRefreshForWrapping(i),l=t.getBoundingClientRect(),a=s||this.mustMeasureContent||this.contentDOMHeight!=l.height;this.contentDOMHeight=l.height,this.mustMeasureContent=!1;let c=0,u=0,h=parseInt(n.paddingTop)||0,f=parseInt(n.paddingBottom)||0;(this.paddingTop!=h||this.paddingBottom!=f)&&(this.paddingTop=h,this.paddingBottom=f,c|=10),this.editorWidth!=e.scrollDOM.clientWidth&&(o.lineWrapping&&(a=!0),this.editorWidth=e.scrollDOM.clientWidth,c|=8),this.scrollTop!=e.scrollDOM.scrollTop&&(this.scrollAnchorHeight=-1,this.scrollTop=e.scrollDOM.scrollTop),this.scrolledToBottom=Jy(e.scrollDOM);let d=(this.printing?cM:aM)(t,this.paddingTop),p=d.top-this.pixelViewport.top,m=d.bottom-this.pixelViewport.bottom;this.pixelViewport=d;let y=this.pixelViewport.bottom>this.pixelViewport.top&&this.pixelViewport.right>this.pixelViewport.left;if(y!=this.inView&&(this.inView=y,y&&(a=!0)),!this.inView&&!this.scrollTarget)return 0;let g=l.width;if((this.contentDOMWidth!=g||this.editorHeight!=e.scrollDOM.clientHeight)&&(this.contentDOMWidth=l.width,this.editorHeight=e.scrollDOM.clientHeight,c|=8),a){let w=e.docView.measureVisibleLineHeights(this.viewport);if(o.mustRefreshForHeights(w)&&(s=!0),s||o.lineWrapping&&Math.abs(g-this.contentDOMWidth)>o.charWidth){let{lineHeight:x,charWidth:S,textHeight:b}=e.docView.measureTextSize();s=x>0&&o.refresh(i,x,S,b,g/S,w),s&&(e.docView.minWidth=0,c|=8)}p>0&&m>0?u=Math.max(p,m):p<0&&m<0&&(u=Math.min(p,m)),o.heightChanged=!1;for(let x of this.viewports){let S=x.from==this.viewport.from?w:e.docView.measureVisibleLineHeights(x);this.heightMap=(s?He.empty().applyChanges(this.stateDeco,X.empty,this.heightOracle,[new ht(0,0,0,e.state.doc.length)]):this.heightMap).updateHeight(o,0,s,new zh(x.from,S))}o.heightChanged&&(c|=2)}let v=!this.viewportIsAppropriate(this.viewport,u)||this.scrollTarget&&(this.scrollTarget.range.head<this.viewport.from||this.scrollTarget.range.head>this.viewport.to);return v&&(this.viewport=this.getViewport(u,this.scrollTarget)),this.updateForViewport(),(c&2||v)&&this.updateViewportLines(),(this.lineGaps.length||this.viewport.to-this.viewport.from>2e3<<1)&&this.updateLineGaps(this.ensureLineGaps(s?[]:this.lineGaps,e)),c|=this.computeVisibleRanges(),this.mustEnforceCursorAssoc&&(this.mustEnforceCursorAssoc=!1,e.docView.enforceCursorAssoc()),c}get visibleTop(){return this.scaler.fromDOM(this.pixelViewport.top)}get visibleBottom(){return this.scaler.fromDOM(this.pixelViewport.bottom)}getViewport(e,t){let n=.5-Math.max(-.5,Math.min(.5,e/1e3/2)),o=this.heightMap,i=this.heightOracle,{visibleTop:s,visibleBottom:l}=this,a=new Zo(o.lineAt(s-n*1e3,he.ByHeight,i,0,0).from,o.lineAt(l+(1-n)*1e3,he.ByHeight,i,0,0).to);if(t){let{head:c}=t.range;if(c<a.from||c>a.to){let u=Math.min(this.editorHeight,this.pixelViewport.bottom-this.pixelViewport.top),h=o.lineAt(c,he.ByPos,i,0,0),f;t.y=="center"?f=(h.top+h.bottom)/2-u/2:t.y=="start"||t.y=="nearest"&&c<a.from?f=h.top:f=h.bottom-u,a=new Zo(o.lineAt(f-1e3/2,he.ByHeight,i,0,0).from,o.lineAt(f+u+1e3/2,he.ByHeight,i,0,0).to)}}return a}mapViewport(e,t){let n=t.mapPos(e.from,-1),o=t.mapPos(e.to,1);return new Zo(this.heightMap.lineAt(n,he.ByPos,this.heightOracle,0,0).from,this.heightMap.lineAt(o,he.ByPos,this.heightOracle,0,0).to)}viewportIsAppropriate({from:e,to:t},n=0){if(!this.inView)return!0;let{top:o}=this.heightMap.lineAt(e,he.ByPos,this.heightOracle,0,0),{bottom:i}=this.heightMap.lineAt(t,he.ByPos,this.heightOracle,0,0),{visibleTop:s,visibleBottom:l}=this;return(e==0||o<=s-Math.max(10,Math.min(-n,250)))&&(t==this.state.doc.length||i>=l+Math.max(10,Math.min(n,250)))&&o>s-2*1e3&&i<l+2*1e3}mapLineGaps(e,t){if(!e.length||t.empty)return e;let n=[];for(let o of e)t.touchesRange(o.from,o.to)||n.push(new ms(t.mapPos(o.from),t.mapPos(o.to),o.size));return n}ensureLineGaps(e,t){let n=this.heightOracle.lineWrapping,o=n?1e4:2e3,i=o>>1,s=o<<1;if(this.defaultTextDirection!=we.LTR&&!n)return[];let l=[],a=(c,u,h,f)=>{if(u-c<i)return;let d=this.state.selection.main,p=[d.from];d.empty||p.push(d.to);for(let y of p)if(y>c&&y<u){a(c,y-10,h,f),a(y+10,u,h,f);return}let m=hM(e,y=>y.from>=h.from&&y.to<=h.to&&Math.abs(y.from-c)<i&&Math.abs(y.to-u)<i&&!p.some(g=>y.from<g&&y.to>g));if(!m){if(u<h.to&&t&&n&&t.visibleRanges.some(y=>y.from<=u&&y.to>=u)){let y=t.moveToLineBoundary(D.cursor(u),!1,!0).head;y>c&&(u=y)}m=new ms(c,u,this.gapSize(h,c,u,f))}l.push(m)};for(let c of this.viewportLines){if(c.length<s)continue;let u=uM(c.from,c.to,this.stateDeco);if(u.total<s)continue;let h=this.scrollTarget?this.scrollTarget.range.head:null,f,d;if(n){let p=o/this.heightOracle.lineLength*this.heightOracle.lineHeight,m,y;if(h!=null){let g=ua(u,h),v=((this.visibleBottom-this.visibleTop)/2+p)/c.height;m=g-v,y=g+v}else m=(this.visibleTop-c.top-p)/c.height,y=(this.visibleBottom-c.top+p)/c.height;f=ca(u,m),d=ca(u,y)}else{let p=u.total*this.heightOracle.charWidth,m=o*this.heightOracle.charWidth,y,g;if(h!=null){let v=ua(u,h),w=((this.pixelViewport.right-this.pixelViewport.left)/2+m)/p;y=v-w,g=v+w}else y=(this.pixelViewport.left-m)/p,g=(this.pixelViewport.right+m)/p;f=ca(u,y),d=ca(u,g)}f>c.from&&a(c.from,f,c,u),d<c.to&&a(d,c.to,c,u)}return l}gapSize(e,t,n,o){let i=ua(o,n)-ua(o,t);return this.heightOracle.lineWrapping?e.height*i:o.total*this.heightOracle.charWidth*i}updateLineGaps(e){ms.same(e,this.lineGaps)||(this.lineGaps=e,this.lineGapDeco=Pe.set(e.map(t=>t.draw(this.heightOracle.lineWrapping))))}computeVisibleRanges(){let e=this.stateDeco;this.lineGaps.length&&(e=e.concat(this.lineGapDeco));let t=[];le.spans(e,this.viewport.from,this.viewport.to,{span(o,i){t.push({from:o,to:i})},point(){}},20);let n=t.length!=this.visibleRanges.length||this.visibleRanges.some((o,i)=>o.from!=t[i].from||o.to!=t[i].to);return this.visibleRanges=t,n?4:0}lineBlockAt(e){return e>=this.viewport.from&&e<=this.viewport.to&&this.viewportLines.find(t=>t.from<=e&&t.to>=e)||ds(this.heightMap.lineAt(e,he.ByPos,this.heightOracle,0,0),this.scaler)}lineBlockAtHeight(e){return ds(this.heightMap.lineAt(this.scaler.fromDOM(e),he.ByHeight,this.heightOracle,0,0),this.scaler)}scrollAnchorAt(e){let t=this.lineBlockAtHeight(e+8);return t.from>=this.viewport.from||this.viewportLines[0].top-e>200?t:this.viewportLines[0]}elementAtHeight(e){return ds(this.heightMap.blockAt(this.scaler.fromDOM(e),this.heightOracle,0,0),this.scaler)}get docHeight(){return this.scaler.toDOM(this.heightMap.height)}get contentHeight(){return this.docHeight+this.paddingTop+this.paddingBottom}},Zo=class{constructor(e,t){this.from=e,this.to=t}};function uM(r,e,t){let n=[],o=r,i=0;return le.spans(t,r,e,{span(){},point(s,l){s>o&&(n.push({from:o,to:s}),i+=s-o),o=l}},20),o<e&&(n.push({from:o,to:e}),i+=e-o),{total:i,ranges:n}}function ca({total:r,ranges:e},t){if(t<=0)return e[0].from;if(t>=1)return e[e.length-1].to;let n=Math.floor(r*t);for(let o=0;;o++){let{from:i,to:s}=e[o],l=s-i;if(n<=l)return i+n;n-=l}}function ua(r,e){let t=0;for(let{from:n,to:o}of r.ranges){if(e<=o){t+=e-n;break}t+=o-n}return t/r.total}function hM(r,e){for(let t of r)if(e(t))return t}var By={toDOM(r){return r},fromDOM(r){return r},scale:1},Gh=class{constructor(e,t,n){let o=0,i=0,s=0;this.viewports=n.map(({from:l,to:a})=>{let c=t.lineAt(l,he.ByPos,e,0,0).top,u=t.lineAt(a,he.ByPos,e,0,0).bottom;return o+=u-c,{from:l,to:a,top:c,bottom:u,domTop:0,domBottom:0}}),this.scale=(7e6-o)/(t.height-o);for(let l of this.viewports)l.domTop=s+(l.top-i)*this.scale,s=l.domBottom=l.domTop+(l.bottom-l.top),i=l.bottom}toDOM(e){for(let t=0,n=0,o=0;;t++){let i=t<this.viewports.length?this.viewports[t]:null;if(!i||e<i.top)return o+(e-n)*this.scale;if(e<=i.bottom)return i.domTop+(e-i.top);n=i.bottom,o=i.domBottom}}fromDOM(e){for(let t=0,n=0,o=0;;t++){let i=t<this.viewports.length?this.viewports[t]:null;if(!i||e<i.domTop)return n+(e-o)/this.scale;if(e<=i.domBottom)return i.top+(e-i.domTop);n=i.bottom,o=i.domBottom}}};function ds(r,e){if(e.scale==1)return r;let t=e.toDOM(r.top),n=e.toDOM(r.bottom);return new Vt(r.from,r.length,t,n-t,Array.isArray(r._content)?r._content.map(o=>ds(o,e)):r._content)}var ha=G.define({combine:r=>r.join(" ")}),qh=G.define({combine:r=>r.indexOf(!0)>-1}),Kh=Nt.newName(),Pb=Nt.newName(),Db=Nt.newName(),Lb={"&light":"."+Pb,"&dark":"."+Db};function jh(r,e,t){return new Nt(e,{finish(n){return/&/.test(n)?n.replace(/&\w*/,o=>{if(o=="&")return r;if(!t||!t[o])throw new RangeError(`Unsupported selector: ${o}`);return t[o]}):r+" "+n}})}var fM=jh("."+Kh,{"&":{position:"relative !important",boxSizing:"border-box","&.cm-focused":{outline:"1px dotted #212121"},display:"flex !important",flexDirection:"column"},".cm-scroller":{display:"flex !important",alignItems:"flex-start !important",fontFamily:"monospace",lineHeight:1.4,height:"100%",overflowX:"auto",position:"relative",zIndex:0},".cm-content":{margin:0,flexGrow:2,flexShrink:0,display:"block",whiteSpace:"pre",wordWrap:"normal",boxSizing:"border-box",padding:"4px 0",outline:"none","&[contenteditable=true]":{WebkitUserModify:"read-write-plaintext-only"}},".cm-lineWrapping":{whiteSpace_fallback:"pre-wrap",whiteSpace:"break-spaces",wordBreak:"break-word",overflowWrap:"anywhere",flexShrink:1},"&light .cm-content":{caretColor:"black"},"&dark .cm-content":{caretColor:"white"},".cm-line":{display:"block",padding:"0 2px 0 6px"},".cm-layer":{position:"absolute",left:0,top:0,contain:"size style","& > *":{position:"absolute"}},"&light .cm-selectionBackground":{background:"#d9d9d9"},"&dark .cm-selectionBackground":{background:"#222"},"&light.cm-focused > .cm-scroller > .cm-selectionLayer .cm-selectionBackground":{background:"#d7d4f0"},"&dark.cm-focused > .cm-scroller > .cm-selectionLayer .cm-selectionBackground":{background:"#233"},".cm-cursorLayer":{pointerEvents:"none"},"&.cm-focused > .cm-scroller > .cm-cursorLayer":{animation:"steps(1) cm-blink 1.2s infinite"},"@keyframes cm-blink":{"0%":{},"50%":{opacity:0},"100%":{}},"@keyframes cm-blink2":{"0%":{},"50%":{opacity:0},"100%":{}},".cm-cursor, .cm-dropCursor":{borderLeft:"1.2px solid black",marginLeft:"-0.6px",pointerEvents:"none"},".cm-cursor":{display:"none"},"&dark .cm-cursor":{borderLeftColor:"#444"},".cm-dropCursor":{position:"absolute"},"&.cm-focused > .cm-scroller > .cm-cursorLayer .cm-cursor":{display:"block"},"&light .cm-activeLine":{backgroundColor:"#cceeff44"},"&dark .cm-activeLine":{backgroundColor:"#99eeff33"},"&light .cm-specialChar":{color:"red"},"&dark .cm-specialChar":{color:"#f78"},".cm-gutters":{flexShrink:0,display:"flex",height:"100%",boxSizing:"border-box",insetInlineStart:0,zIndex:200},"&light .cm-gutters":{backgroundColor:"#f5f5f5",color:"#6c6c6c",borderRight:"1px solid #ddd"},"&dark .cm-gutters":{backgroundColor:"#333338",color:"#ccc"},".cm-gutter":{display:"flex !important",flexDirection:"column",flexShrink:0,boxSizing:"border-box",minHeight:"100%",overflow:"hidden"},".cm-gutterElement":{boxSizing:"border-box"},".cm-lineNumbers .cm-gutterElement":{padding:"0 3px 0 5px",minWidth:"20px",textAlign:"right",whiteSpace:"nowrap"},"&light .cm-activeLineGutter":{backgroundColor:"#e2f2ff"},"&dark .cm-activeLineGutter":{backgroundColor:"#222227"},".cm-panels":{boxSizing:"border-box",position:"sticky",left:0,right:0},"&light .cm-panels":{backgroundColor:"#f5f5f5",color:"black"},"&light .cm-panels-top":{borderBottom:"1px solid #ddd"},"&light .cm-panels-bottom":{borderTop:"1px solid #ddd"},"&dark .cm-panels":{backgroundColor:"#333338",color:"white"},".cm-tab":{display:"inline-block",overflow:"hidden",verticalAlign:"bottom"},".cm-widgetBuffer":{verticalAlign:"text-top",height:"1em",width:0,display:"inline"},".cm-placeholder":{color:"#888",display:"inline-block",verticalAlign:"top"},".cm-highlightSpace:before":{content:"attr(data-display)",position:"absolute",pointerEvents:"none",color:"#888"},".cm-highlightTab":{backgroundImage:`url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="200" height="20"><path stroke="%23888" stroke-width="1" fill="none" d="M1 10H196L190 5M190 15L196 10M197 4L197 16"/></svg>')`,backgroundSize:"auto 100%",backgroundPosition:"right 90%",backgroundRepeat:"no-repeat"},".cm-trailingSpace":{backgroundColor:"#ff332255"},".cm-button":{verticalAlign:"middle",color:"inherit",fontSize:"70%",padding:".2em 1em",borderRadius:"1px"},"&light .cm-button":{backgroundImage:"linear-gradient(#eff1f5, #d9d9df)",border:"1px solid #888","&:active":{backgroundImage:"linear-gradient(#b4b4b4, #d0d3d6)"}},"&dark .cm-button":{backgroundImage:"linear-gradient(#393939, #111)",border:"1px solid #888","&:active":{backgroundImage:"linear-gradient(#111, #333)"}},".cm-textfield":{verticalAlign:"middle",color:"inherit",fontSize:"70%",border:"1px solid silver",padding:".2em .5em"},"&light .cm-textfield":{backgroundColor:"white"},"&dark .cm-textfield":{border:"1px solid #555",backgroundColor:"inherit"}},Lb),Jh=class{constructor(e,t,n,o){this.typeOver=o,this.bounds=null,this.text="";let{impreciseHead:i,impreciseAnchor:s}=e.docView;if(e.state.readOnly&&t>-1)this.newSel=null;else if(t>-1&&(this.bounds=e.docView.domBoundsAround(t,n,0))){let l=i||s?[]:pM(e),a=new Sa(l,e.state);a.readRange(this.bounds.startDOM,this.bounds.endDOM),this.text=a.text,this.newSel=mM(l,this.bounds.from)}else{let l=e.observer.selectionRange,a=i&&i.node==l.focusNode&&i.offset==l.focusOffset||!Sh(e.contentDOM,l.focusNode)?e.state.selection.main.head:e.docView.posFromDOM(l.focusNode,l.focusOffset),c=s&&s.node==l.anchorNode&&s.offset==l.anchorOffset||!Sh(e.contentDOM,l.anchorNode)?e.state.selection.main.anchor:e.docView.posFromDOM(l.anchorNode,l.anchorOffset);this.newSel=D.single(c,a)}}};function Ab(r,e){let t,{newSel:n}=e,o=r.state.selection.main,i=r.inputState.lastKeyTime>Date.now()-100?r.inputState.lastKeyCode:-1;if(e.bounds){let{from:s,to:l}=e.bounds,a=o.from,c=null;(i===8||_.android&&e.text.length<l-s)&&(a=o.to,c="end");let u=dM(r.state.doc.sliceString(s,l,Xo),e.text,a-s,c);u&&(_.chrome&&i==13&&u.toB==u.from+2&&e.text.slice(u.from,u.toB)==Xo+Xo&&u.toB--,t={from:s+u.from,to:s+u.toA,insert:X.of(e.text.slice(u.from,u.toB).split(Xo))})}else n&&(!r.hasFocus&&r.state.facet(Pa)||n.main.eq(o))&&(n=null);if(!t&&!n)return!1;if(!t&&e.typeOver&&!o.empty&&n&&n.main.empty?t={from:o.from,to:o.to,insert:r.state.doc.slice(o.from,o.to)}:t&&t.from>=o.from&&t.to<=o.to&&(t.from!=o.from||t.to!=o.to)&&o.to-o.from-(t.to-t.from)<=4?t={from:o.from,to:o.to,insert:r.state.doc.slice(o.from,t.from).append(t.insert).append(r.state.doc.slice(t.to,o.to))}:(_.mac||_.android)&&t&&t.from==t.to&&t.from==o.head-1&&/^\. ?$/.test(t.insert.toString())&&r.contentDOM.getAttribute("autocorrect")=="off"?(n&&t.insert.length==2&&(n=D.single(n.main.anchor-1,n.main.head-1)),t={from:o.from,to:o.to,insert:X.of([" "])}):_.chrome&&t&&t.from==t.to&&t.from==o.head&&t.insert.toString()==`
|
|
25
|
+
`&&r.lineWrapping&&(n&&(n=D.single(n.main.anchor-1,n.main.head-1)),t={from:o.from,to:o.to,insert:X.of([" "])}),t){let s=r.state;if(_.ios&&r.inputState.flushIOSKey(r)||_.android&&(t.from==o.from&&t.to==o.to&&t.insert.length==1&&t.insert.lines==2&&ei(r.contentDOM,"Enter",13)||(t.from==o.from-1&&t.to==o.to&&t.insert.length==0||i==8&&t.insert.length<t.to-t.from)&&ei(r.contentDOM,"Backspace",8)||t.from==o.from&&t.to==o.to+1&&t.insert.length==0&&ei(r.contentDOM,"Delete",46)))return!0;let l=t.insert.toString();if(r.state.facet(ab).some(u=>u(r,t.from,t.to,l)))return!0;r.inputState.composing>=0&&r.inputState.composing++;let a;if(t.from>=o.from&&t.to<=o.to&&t.to-t.from>=(o.to-o.from)/3&&(!n||n.main.empty&&n.main.from==t.from+t.insert.length)&&r.inputState.composing<0){let u=o.from<t.from?s.sliceDoc(o.from,t.from):"",h=o.to>t.to?s.sliceDoc(t.to,o.to):"";a=s.replaceSelection(r.state.toText(u+t.insert.sliceString(0,void 0,r.state.lineBreak)+h))}else{let u=s.changes(t),h=n&&n.main.to<=u.newLength?n.main:void 0;if(s.selection.ranges.length>1&&r.inputState.composing>=0&&t.to<=o.to&&t.to>=o.to-10){let f=r.state.sliceDoc(t.from,t.to),d=bb(r)||r.state.doc.lineAt(o.head),p=o.to-t.to,m=o.to-o.from;a=s.changeByRange(y=>{if(y.from==o.from&&y.to==o.to)return{changes:u,range:h||y.map(u)};let g=y.to-p,v=g-f.length;if(y.to-y.from!=m||r.state.sliceDoc(v,g)!=f||d&&y.to>=d.from&&y.from<=d.to)return{range:y};let w=s.changes({from:v,to:g,insert:t.insert}),x=y.to-o.to;return{changes:w,range:h?D.range(Math.max(0,h.anchor+x),Math.max(0,h.head+x)):y.map(w)}})}else a={changes:u,selection:h&&s.selection.replaceRange(h)}}let c="input.type";return(r.composing||r.inputState.compositionPendingChange&&r.inputState.compositionEndedAt>Date.now()-50)&&(r.inputState.compositionPendingChange=!1,c+=".compose",r.inputState.compositionFirstChange&&(c+=".start",r.inputState.compositionFirstChange=!1)),r.dispatch(a,{scrollIntoView:!0,userEvent:c}),!0}else if(n&&!n.main.eq(o)){let s=!1,l="select";return r.inputState.lastSelectionTime>Date.now()-50&&(r.inputState.lastSelectionOrigin=="select"&&(s=!0),l=r.inputState.lastSelectionOrigin),r.dispatch({selection:n,scrollIntoView:s,userEvent:l}),!0}else return!1}function dM(r,e,t,n){let o=Math.min(r.length,e.length),i=0;for(;i<o&&r.charCodeAt(i)==e.charCodeAt(i);)i++;if(i==o&&r.length==e.length)return null;let s=r.length,l=e.length;for(;s>0&&l>0&&r.charCodeAt(s-1)==e.charCodeAt(l-1);)s--,l--;if(n=="end"){let a=Math.max(0,i-Math.min(s,l));t-=s+a-i}if(s<i&&r.length<e.length){let a=t<=i&&t>=s?i-t:0;i-=a,l=i+(l-s),s=i}else if(l<i){let a=t<=i&&t>=l?i-t:0;i-=a,s=i+(s-l),l=i}return{from:i,toA:s,toB:l}}function pM(r){let e=[];if(r.root.activeElement!=r.contentDOM)return e;let{anchorNode:t,anchorOffset:n,focusNode:o,focusOffset:i}=r.observer.selectionRange;return t&&(e.push(new Ca(t,n)),(o!=t||i!=n)&&e.push(new Ca(o,i))),e}function mM(r,e){if(r.length==0)return null;let t=r[0].pos,n=r.length==2?r[1].pos:t;return t>-1&&n>-1?D.single(t+e,n+e):null}var gM={childList:!0,characterData:!0,subtree:!0,attributes:!0,characterDataOldValue:!0},vh=_.ie&&_.ie_version<=11,Qh=class{constructor(e){this.view=e,this.active=!1,this.selectionRange=new Ch,this.selectionChanged=!1,this.delayedFlush=-1,this.resizeTimeout=-1,this.queue=[],this.delayedAndroidKey=null,this.flushingAndroidKey=-1,this.lastChange=0,this.scrollTargets=[],this.intersection=null,this.resizeScroll=null,this.resizeContent=null,this.intersecting=!1,this.gapIntersection=null,this.gaps=[],this.parentCheck=-1,this.dom=e.contentDOM,this.observer=new MutationObserver(t=>{for(let n of t)this.queue.push(n);(_.ie&&_.ie_version<=11||_.ios&&e.composing)&&t.some(n=>n.type=="childList"&&n.removedNodes.length||n.type=="characterData"&&n.oldValue.length>n.target.nodeValue.length)?this.flushSoon():this.flush()}),vh&&(this.onCharData=t=>{this.queue.push({target:t.target,type:"characterData",oldValue:t.prevValue}),this.flushSoon()}),this.onSelectionChange=this.onSelectionChange.bind(this),this.onResize=this.onResize.bind(this),this.onPrint=this.onPrint.bind(this),this.onScroll=this.onScroll.bind(this),typeof ResizeObserver=="function"&&(this.resizeScroll=new ResizeObserver(()=>{var t;((t=this.view.docView)===null||t===void 0?void 0:t.lastUpdate)<Date.now()-75&&this.onResize()}),this.resizeScroll.observe(e.scrollDOM),this.resizeContent=new ResizeObserver(()=>this.view.requestMeasure()),this.resizeContent.observe(e.contentDOM)),this.addWindowListeners(this.win=e.win),this.start(),typeof IntersectionObserver=="function"&&(this.intersection=new IntersectionObserver(t=>{this.parentCheck<0&&(this.parentCheck=setTimeout(this.listenForScroll.bind(this),1e3)),t.length>0&&t[t.length-1].intersectionRatio>0!=this.intersecting&&(this.intersecting=!this.intersecting,this.intersecting!=this.view.inView&&this.onScrollChanged(document.createEvent("Event")))},{threshold:[0,.001]}),this.intersection.observe(this.dom),this.gapIntersection=new IntersectionObserver(t=>{t.length>0&&t[t.length-1].intersectionRatio>0&&this.onScrollChanged(document.createEvent("Event"))},{})),this.listenForScroll(),this.readSelectionRange()}onScrollChanged(e){this.view.inputState.runScrollHandlers(this.view,e),this.intersecting&&this.view.measure()}onScroll(e){this.intersecting&&this.flush(!1),this.onScrollChanged(e)}onResize(){this.resizeTimeout<0&&(this.resizeTimeout=setTimeout(()=>{this.resizeTimeout=-1,this.view.requestMeasure()},50))}onPrint(){this.view.viewState.printing=!0,this.view.measure(),setTimeout(()=>{this.view.viewState.printing=!1,this.view.requestMeasure()},500)}updateGaps(e){if(this.gapIntersection&&(e.length!=this.gaps.length||this.gaps.some((t,n)=>t!=e[n]))){this.gapIntersection.disconnect();for(let t of e)this.gapIntersection.observe(t);this.gaps=e}}onSelectionChange(e){let t=this.selectionChanged;if(!this.readSelectionRange()||this.delayedAndroidKey)return;let{view:n}=this,o=this.selectionRange;if(n.state.facet(Pa)?n.root.activeElement!=this.dom:!da(n.dom,o))return;let i=o.anchorNode&&n.docView.nearest(o.anchorNode);if(i&&i.ignoreEvent(e)){t||(this.selectionChanged=!1);return}(_.ie&&_.ie_version<=11||_.android&&_.chrome)&&!n.state.selection.main.empty&&o.focusNode&&xa(o.focusNode,o.focusOffset,o.anchorNode,o.anchorOffset)?this.flushSoon():this.flush(!1)}readSelectionRange(){let{view:e}=this,t=_.safari&&e.root.nodeType==11&&gk(this.dom.ownerDocument)==this.dom&&yM(this.view)||ba(e.root);if(!t||this.selectionRange.eq(t))return!1;let n=da(this.dom,t);return n&&!this.selectionChanged&&e.inputState.lastFocusTime>Date.now()-200&&e.inputState.lastTouchTime<Date.now()-300&&wk(this.dom,t)?(this.view.inputState.lastFocusTime=0,e.docView.updateSelection(),!1):(this.selectionRange.setRange(t),n&&(this.selectionChanged=!0),!0)}setSelectionRange(e,t){this.selectionRange.set(e.node,e.offset,t.node,t.offset),this.selectionChanged=!1}clearSelectionRange(){this.selectionRange.set(null,0,null,0)}listenForScroll(){this.parentCheck=-1;let e=0,t=null;for(let n=this.dom;n;)if(n.nodeType==1)!t&&e<this.scrollTargets.length&&this.scrollTargets[e]==n?e++:t||(t=this.scrollTargets.slice(0,e)),t&&t.push(n),n=n.assignedSlot||n.parentNode;else if(n.nodeType==11)n=n.host;else break;if(e<this.scrollTargets.length&&!t&&(t=this.scrollTargets.slice(0,e)),t){for(let n of this.scrollTargets)n.removeEventListener("scroll",this.onScroll);for(let n of this.scrollTargets=t)n.addEventListener("scroll",this.onScroll)}}ignore(e){if(!this.active)return e();try{return this.stop(),e()}finally{this.start(),this.clear()}}start(){this.active||(this.observer.observe(this.dom,gM),vh&&this.dom.addEventListener("DOMCharacterDataModified",this.onCharData),this.active=!0)}stop(){this.active&&(this.active=!1,this.observer.disconnect(),vh&&this.dom.removeEventListener("DOMCharacterDataModified",this.onCharData))}clear(){this.processRecords(),this.queue.length=0,this.selectionChanged=!1}delayAndroidKey(e,t){var n;if(!this.delayedAndroidKey){let o=()=>{let i=this.delayedAndroidKey;i&&(this.clearDelayedAndroidKey(),this.view.inputState.lastKeyCode=i.keyCode,this.view.inputState.lastKeyTime=Date.now(),!this.flush()&&i.force&&ei(this.dom,i.key,i.keyCode))};this.flushingAndroidKey=this.view.win.requestAnimationFrame(o)}(!this.delayedAndroidKey||e=="Enter")&&(this.delayedAndroidKey={key:e,keyCode:t,force:this.lastChange<Date.now()-50||!!(!((n=this.delayedAndroidKey)===null||n===void 0)&&n.force)})}clearDelayedAndroidKey(){this.win.cancelAnimationFrame(this.flushingAndroidKey),this.delayedAndroidKey=null,this.flushingAndroidKey=-1}flushSoon(){this.delayedFlush<0&&(this.delayedFlush=this.view.win.requestAnimationFrame(()=>{this.delayedFlush=-1,this.flush()}))}forceFlush(){this.delayedFlush>=0&&(this.view.win.cancelAnimationFrame(this.delayedFlush),this.delayedFlush=-1),this.flush()}pendingRecords(){for(let e of this.observer.takeRecords())this.queue.push(e);return this.queue}processRecords(){let e=this.pendingRecords();e.length&&(this.queue=[]);let t=-1,n=-1,o=!1;for(let i of e){let s=this.readMutation(i);s&&(s.typeOver&&(o=!0),t==-1?{from:t,to:n}=s:(t=Math.min(s.from,t),n=Math.max(s.to,n)))}return{from:t,to:n,typeOver:o}}readChange(){let{from:e,to:t,typeOver:n}=this.processRecords(),o=this.selectionChanged&&da(this.dom,this.selectionRange);return e<0&&!o?null:(e>-1&&(this.lastChange=Date.now()),this.view.inputState.lastFocusTime=0,this.selectionChanged=!1,new Jh(this.view,e,t,n))}flush(e=!0){if(this.delayedFlush>=0||this.delayedAndroidKey)return!1;e&&this.readSelectionRange();let t=this.readChange();if(!t)return!1;let n=this.view.state,o=Ab(this.view,t);return this.view.state==n&&this.view.update([]),o}readMutation(e){let t=this.view.docView.nearest(e.target);if(!t||t.ignoreMutation(e))return null;if(t.markDirty(e.type=="attributes"),e.type=="attributes"&&(t.flags|=4),e.type=="childList"){let n=Hy(t,e.previousSibling||e.target.previousSibling,-1),o=Hy(t,e.nextSibling||e.target.nextSibling,1);return{from:n?t.posAfter(n):t.posAtStart,to:o?t.posBefore(o):t.posAtEnd,typeOver:!1}}else return e.type=="characterData"?{from:t.posAtStart,to:t.posAtEnd,typeOver:e.target.nodeValue==e.oldValue}:null}setWindow(e){e!=this.win&&(this.removeWindowListeners(this.win),this.win=e,this.addWindowListeners(this.win))}addWindowListeners(e){e.addEventListener("resize",this.onResize),e.addEventListener("beforeprint",this.onPrint),e.addEventListener("scroll",this.onScroll),e.document.addEventListener("selectionchange",this.onSelectionChange)}removeWindowListeners(e){e.removeEventListener("scroll",this.onScroll),e.removeEventListener("resize",this.onResize),e.removeEventListener("beforeprint",this.onPrint),e.document.removeEventListener("selectionchange",this.onSelectionChange)}destroy(){var e,t,n,o;this.stop(),(e=this.intersection)===null||e===void 0||e.disconnect(),(t=this.gapIntersection)===null||t===void 0||t.disconnect(),(n=this.resizeScroll)===null||n===void 0||n.disconnect(),(o=this.resizeContent)===null||o===void 0||o.disconnect();for(let i of this.scrollTargets)i.removeEventListener("scroll",this.onScroll);this.removeWindowListeners(this.win),clearTimeout(this.parentCheck),clearTimeout(this.resizeTimeout),this.win.cancelAnimationFrame(this.delayedFlush),this.win.cancelAnimationFrame(this.flushingAndroidKey)}};function Hy(r,e,t){for(;e;){let n=oe.get(e);if(n&&n.parent==r)return n;let o=e.parentNode;e=o!=r.dom?o:t>0?e.nextSibling:e.previousSibling}return null}function yM(r){let e=null;function t(a){a.preventDefault(),a.stopImmediatePropagation(),e=a.getTargetRanges()[0]}if(r.contentDOM.addEventListener("beforeinput",t,!0),r.dom.ownerDocument.execCommand("indent"),r.contentDOM.removeEventListener("beforeinput",t,!0),!e)return null;let n=e.startContainer,o=e.startOffset,i=e.endContainer,s=e.endOffset,l=r.docView.domAtPos(r.state.selection.main.anchor);return xa(l.node,l.offset,i,s)&&([n,o,i,s]=[i,s,n,o]),{anchorNode:n,anchorOffset:o,focusNode:i,focusOffset:s}}var J=class{constructor(e={}){this.plugins=[],this.pluginMap=new Map,this.editorAttrs={},this.contentAttrs={},this.bidiCache=[],this.destroyed=!1,this.updateState=2,this.measureScheduled=-1,this.measureRequests=[],this.contentDOM=document.createElement("div"),this.scrollDOM=document.createElement("div"),this.scrollDOM.tabIndex=-1,this.scrollDOM.className="cm-scroller",this.scrollDOM.appendChild(this.contentDOM),this.announceDOM=document.createElement("div"),this.announceDOM.style.cssText="position: fixed; top: -10000px",this.announceDOM.setAttribute("aria-live","polite"),this.dom=document.createElement("div"),this.dom.appendChild(this.announceDOM),this.dom.appendChild(this.scrollDOM),this._dispatch=e.dispatch||(t=>this.update([t])),this.dispatch=this.dispatch.bind(this),this._root=e.root||vk(e.parent)||document,this.viewState=new Ra(e.state||ee.create(e)),this.plugins=this.state.facet(hs).map(t=>new ps(t));for(let t of this.plugins)t.update(this);this.observer=new Qh(this),this.inputState=new Vh(this),this.inputState.ensureHandlers(this,this.plugins),this.docView=new ka(this),this.mountStyles(),this.updateAttrs(),this.updateState=0,this.requestMeasure(),e.parent&&e.parent.appendChild(this.dom)}get state(){return this.viewState.state}get viewport(){return this.viewState.viewport}get visibleRanges(){return this.viewState.visibleRanges}get inView(){return this.viewState.inView}get composing(){return this.inputState.composing>0}get compositionStarted(){return this.inputState.composing>=0}get root(){return this._root}get win(){return this.dom.ownerDocument.defaultView||window}dispatch(...e){let t=e.length==1&&e[0]instanceof me?e[0]:this.state.update(...e);this._dispatch(t,this)}update(e){if(this.updateState!=0)throw new Error("Calls to EditorView.update are not allowed while an update is in progress");let t=!1,n=!1,o,i=this.state;for(let f of e){if(f.startState!=i)throw new RangeError("Trying to update state with a transaction that doesn't start from the previous state.");i=f.state}if(this.destroyed){this.viewState.state=i;return}let s=this.hasFocus,l=0,a=null;e.some(f=>f.annotation(Eb))?(this.inputState.notifiedFocused=s,l=1):s!=this.inputState.notifiedFocused&&(this.inputState.notifiedFocused=s,a=Rb(i,s),a||(l=1));let c=this.observer.delayedAndroidKey,u=null;if(c?(this.observer.clearDelayedAndroidKey(),u=this.observer.readChange(),(u&&!this.state.doc.eq(i.doc)||!this.state.selection.eq(i.selection))&&(u=null)):this.observer.clear(),i.facet(ee.phrases)!=this.state.facet(ee.phrases))return this.setState(i);o=ni.create(this,i,e),o.flags|=l;let h=this.viewState.scrollTarget;try{this.updateState=2;for(let f of e){if(h&&(h=h.map(f.changes)),f.scrollIntoView){let{main:d}=f.state.selection;h=new ti(d.empty?d:D.cursor(d.head,d.head>d.anchor?-1:1))}for(let d of f.effects)d.is(Sy)&&(h=d.value)}this.viewState.update(o,h),this.bidiCache=ri.update(this.bidiCache,o.changes),o.empty||(this.updatePlugins(o),this.inputState.update(o)),t=this.docView.update(o),this.state.facet(fs)!=this.styleModules&&this.mountStyles(),n=this.updateAttrs(),this.showAnnouncements(e),this.docView.updateSelection(t,e.some(f=>f.isUserEvent("select.pointer")))}finally{this.updateState=0}if(o.startState.facet(ha)!=o.state.facet(ha)&&(this.viewState.mustMeasureContent=!0),(t||n||h||this.viewState.mustEnforceCursorAssoc||this.viewState.mustMeasureContent)&&this.requestMeasure(),!o.empty)for(let f of this.state.facet(Ph))f(o);(a||u)&&Promise.resolve().then(()=>{a&&this.state==a.startState&&this.dispatch(a),u&&!Ab(this,u)&&c.force&&ei(this.contentDOM,c.key,c.keyCode)})}setState(e){if(this.updateState!=0)throw new Error("Calls to EditorView.setState are not allowed while an update is in progress");if(this.destroyed){this.viewState.state=e;return}this.updateState=2;let t=this.hasFocus;try{for(let n of this.plugins)n.destroy(this);this.viewState=new Ra(e),this.plugins=e.facet(hs).map(n=>new ps(n)),this.pluginMap.clear();for(let n of this.plugins)n.update(this);this.docView=new ka(this),this.inputState.ensureHandlers(this,this.plugins),this.mountStyles(),this.updateAttrs(),this.bidiCache=[]}finally{this.updateState=0}t&&this.focus(),this.requestMeasure()}updatePlugins(e){let t=e.startState.facet(hs),n=e.state.facet(hs);if(t!=n){let o=[];for(let i of n){let s=t.indexOf(i);if(s<0)o.push(new ps(i));else{let l=this.plugins[s];l.mustUpdate=e,o.push(l)}}for(let i of this.plugins)i.mustUpdate!=e&&i.destroy(this);this.plugins=o,this.pluginMap.clear(),this.inputState.ensureHandlers(this,this.plugins)}else for(let o of this.plugins)o.mustUpdate=e;for(let o=0;o<this.plugins.length;o++)this.plugins[o].update(this)}measure(e=!0){if(this.destroyed)return;this.measureScheduled>-1&&this.win.cancelAnimationFrame(this.measureScheduled),this.measureScheduled=0,e&&this.observer.forceFlush();let t=null,n=this.scrollDOM,{scrollTop:o}=n,{scrollAnchorPos:i,scrollAnchorHeight:s}=this.viewState;o!=this.viewState.scrollTop&&(s=-1),this.viewState.scrollAnchorHeight=-1;try{for(let l=0;;l++){if(s<0)if(Jy(n))i=-1,s=this.viewState.heightMap.height;else{let d=this.viewState.scrollAnchorAt(o);i=d.from,s=d.top}this.updateState=1;let a=this.viewState.measure(this);if(!a&&!this.measureRequests.length&&this.viewState.scrollTarget==null)break;if(l>5){console.warn(this.measureRequests.length?"Measure loop restarted more than 5 times":"Viewport failed to stabilize");break}let c=[];a&4||([this.measureRequests,c]=[c,this.measureRequests]);let u=c.map(d=>{try{return d.read(this)}catch(p){return gn(this.state,p),_y}}),h=ni.create(this,this.state,[]),f=!1;h.flags|=a,t?t.flags|=a:t=h,this.updateState=2,h.empty||(this.updatePlugins(h),this.inputState.update(h),this.updateAttrs(),f=this.docView.update(h));for(let d=0;d<c.length;d++)if(u[d]!=_y)try{let p=c[d];p.write&&p.write(u[d],this)}catch(p){gn(this.state,p)}if(f&&this.docView.updateSelection(!0),!h.viewportChanged&&this.measureRequests.length==0){if(this.viewState.editorHeight)if(this.viewState.scrollTarget){this.docView.scrollIntoView(this.viewState.scrollTarget),this.viewState.scrollTarget=null;continue}else{let p=(i<0?this.viewState.heightMap.height:this.viewState.lineBlockAt(i).top)-s;if(p>1||p<-1){o=n.scrollTop=o+p,s=-1;continue}}break}}}finally{this.updateState=0,this.measureScheduled=-1}if(t&&!t.empty)for(let l of this.state.facet(Ph))l(t)}get themeClasses(){return Kh+" "+(this.state.facet(qh)?Db:Pb)+" "+this.state.facet(ha)}updateAttrs(){let e=zy(this,fb,{class:"cm-editor"+(this.hasFocus?" cm-focused ":" ")+this.themeClasses}),t={spellcheck:"false",autocorrect:"off",autocapitalize:"off",translate:"no",contenteditable:this.state.facet(Pa)?"true":"false",class:"cm-content",style:`${_.tabSize}: ${this.state.tabSize}`,role:"textbox","aria-multiline":"true"};this.state.readOnly&&(t["aria-readonly"]="true"),zy(this,sf,t);let n=this.observer.ignore(()=>{let o=Rh(this.contentDOM,this.contentAttrs,t),i=Rh(this.dom,this.editorAttrs,e);return o||i});return this.editorAttrs=e,this.contentAttrs=t,n}showAnnouncements(e){let t=!0;for(let n of e)for(let o of n.effects)if(o.is(J.announce)){t&&(this.announceDOM.textContent=""),t=!1;let i=this.announceDOM.appendChild(document.createElement("div"));i.textContent=o.value}}mountStyles(){this.styleModules=this.state.facet(fs),Nt.mount(this.root,this.styleModules.concat(fM).reverse())}readMeasured(){if(this.updateState==2)throw new Error("Reading the editor layout isn't allowed during an update");this.updateState==0&&this.measureScheduled>-1&&this.measure(!1)}requestMeasure(e){if(this.measureScheduled<0&&(this.measureScheduled=this.win.requestAnimationFrame(()=>this.measure())),e){if(this.measureRequests.indexOf(e)>-1)return;if(e.key!=null){for(let t=0;t<this.measureRequests.length;t++)if(this.measureRequests[t].key===e.key){this.measureRequests[t]=e;return}}this.measureRequests.push(e)}}plugin(e){let t=this.pluginMap.get(e);return(t===void 0||t&&t.spec!=e)&&this.pluginMap.set(e,t=this.plugins.find(n=>n.spec==e)||null),t&&t.update(this).value}get documentTop(){return this.contentDOM.getBoundingClientRect().top+this.viewState.paddingTop}get documentPadding(){return{top:this.viewState.paddingTop,bottom:this.viewState.paddingBottom}}elementAtHeight(e){return this.readMeasured(),this.viewState.elementAtHeight(e)}lineBlockAtHeight(e){return this.readMeasured(),this.viewState.lineBlockAtHeight(e)}get viewportLineBlocks(){return this.viewState.viewportLines}lineBlockAt(e){return this.viewState.lineBlockAt(e)}get contentHeight(){return this.viewState.contentHeight}moveByChar(e,t,n){return xh(this,e,Ey(this,e,t,n))}moveByGroup(e,t){return xh(this,e,Ey(this,e,t,n=>qk(this,e.head,n)))}moveToLineBoundary(e,t,n=!0){return Gk(this,e,t,n)}moveVertically(e,t,n){return xh(this,e,Kk(this,e,t,n))}domAtPos(e){return this.docView.domAtPos(e)}posAtDOM(e,t=0){return this.docView.posFromDOM(e,t)}posAtCoords(e,t=!0){return this.readMeasured(),vb(this,e,t)}coordsAtPos(e,t=1){this.readMeasured();let n=this.docView.coordsAt(e,t);if(!n||n.left==n.right)return n;let o=this.state.doc.lineAt(e),i=this.bidiSpans(o),s=i[ar.find(i,e-o.from,-1,t)];return nf(n,s.dir==we.LTR==t>0)}coordsForChar(e){return this.readMeasured(),this.docView.coordsForChar(e)}get defaultCharacterWidth(){return this.viewState.heightOracle.charWidth}get defaultLineHeight(){return this.viewState.heightOracle.lineHeight}get textDirection(){return this.viewState.defaultTextDirection}textDirectionAt(e){return!this.state.facet(ub)||e<this.viewport.from||e>this.viewport.to?this.textDirection:(this.readMeasured(),this.docView.textDirectionAt(e))}get lineWrapping(){return this.viewState.heightOracle.lineWrapping}bidiSpans(e){if(e.length>bM)return gb(e.length);let t=this.textDirectionAt(e.from);for(let o of this.bidiCache)if(o.from==e.from&&o.dir==t)return o.order;let n=Ak(e.text,t);return this.bidiCache.push(new ri(e.from,e.to,t,n)),n}get hasFocus(){var e;return(this.dom.ownerDocument.hasFocus()||_.safari&&((e=this.inputState)===null||e===void 0?void 0:e.lastContextMenu)>Date.now()-3e4)&&this.root.activeElement==this.contentDOM}focus(){this.observer.ignore(()=>{Ky(this.contentDOM),this.docView.updateSelection()})}setRoot(e){this._root!=e&&(this._root=e,this.observer.setWindow((e.nodeType==9?e:e.ownerDocument).defaultView||window),this.mountStyles())}destroy(){for(let e of this.plugins)e.destroy(this);this.plugins=[],this.inputState.destroy(),this.dom.remove(),this.observer.destroy(),this.measureScheduled>-1&&this.win.cancelAnimationFrame(this.measureScheduled),this.destroyed=!0}static scrollIntoView(e,t={}){return Sy.of(new ti(typeof e=="number"?D.cursor(e):e,t.y,t.x,t.yMargin,t.xMargin))}static domEventHandlers(e){return Bt.define(()=>({}),{eventHandlers:e})}static theme(e,t){let n=Nt.newName(),o=[ha.of(n),fs.of(jh(`.${n}`,e))];return t&&t.dark&&o.push(qh.of(!0)),o}static baseTheme(e){return Yr.lowest(fs.of(jh("."+Kh,e,Lb)))}static findFromDOM(e){var t;let n=e.querySelector(".cm-content"),o=n&&oe.get(n)||oe.get(e);return((t=o==null?void 0:o.rootView)===null||t===void 0?void 0:t.view)||null}};J.styleModule=fs;J.inputHandler=ab;J.focusChangeEffect=cb;J.perLineTextDirection=ub;J.exceptionSink=lb;J.updateListener=Ph;J.editable=Pa;J.mouseSelectionStyle=sb;J.dragMovesSelection=ib;J.clickAddsSelectionRange=ob;J.decorations=ys;J.atomicRanges=lf;J.scrollMargins=db;J.darkTheme=qh;J.contentAttributes=sf;J.editorAttributes=fb;J.lineWrapping=J.contentAttributes.of({class:"cm-lineWrapping"});J.announce=ae.define();var bM=4096,_y={},ri=class{constructor(e,t,n,o){this.from=e,this.to=t,this.dir=n,this.order=o}static update(e,t){if(t.empty)return e;let n=[],o=e.length?e[e.length-1].dir:we.LTR;for(let i=Math.max(0,e.length-10);i<e.length;i++){let s=e[i];s.dir==o&&!t.touchesRange(s.from,s.to)&&n.push(new ri(t.mapPos(s.from,1),t.mapPos(s.to,-1),s.dir,s.order))}return n}};function zy(r,e,t){for(let n=r.state.facet(e),o=n.length-1;o>=0;o--){let i=n[o],s=typeof i=="function"?i(r):i;s&&Eh(s,t)}return t}var xM=_.mac?"mac":_.windows?"win":_.linux?"linux":"key";function vM(r,e){let t=r.split(/-(?!$)/),n=t[t.length-1];n=="Space"&&(n=" ");let o,i,s,l;for(let a=0;a<t.length-1;++a){let c=t[a];if(/^(cmd|meta|m)$/i.test(c))l=!0;else if(/^a(lt)?$/i.test(c))o=!0;else if(/^(c|ctrl|control)$/i.test(c))i=!0;else if(/^s(hift)?$/i.test(c))s=!0;else if(/^mod$/i.test(c))e=="mac"?l=!0:i=!0;else throw new Error("Unrecognized modifier name: "+c)}return o&&(n="Alt-"+n),i&&(n="Ctrl-"+n),l&&(n="Meta-"+n),s&&(n="Shift-"+n),n}function fa(r,e,t){return e.altKey&&(r="Alt-"+r),e.ctrlKey&&(r="Ctrl-"+r),e.metaKey&&(r="Meta-"+r),t!==!1&&e.shiftKey&&(r="Shift-"+r),r}var wM=Yr.default(J.domEventHandlers({keydown(r,e){return kM(SM(e.state),r,e,"editor")}})),oi=G.define({enables:wM}),Wy=new WeakMap;function SM(r){let e=r.facet(oi),t=Wy.get(e);return t||Wy.set(e,t=TM(e.reduce((n,o)=>n.concat(o),[]))),t}var lr=null,CM=4e3;function TM(r,e=xM){let t=Object.create(null),n=Object.create(null),o=(s,l)=>{let a=n[s];if(a==null)n[s]=l;else if(a!=l)throw new Error("Key binding "+s+" is used both as a regular binding and as a multi-stroke prefix")},i=(s,l,a,c,u)=>{var h,f;let d=t[s]||(t[s]=Object.create(null)),p=l.split(/ (?!$)/).map(g=>vM(g,e));for(let g=1;g<p.length;g++){let v=p.slice(0,g).join(" ");o(v,!0),d[v]||(d[v]={preventDefault:!0,stopPropagation:!1,run:[w=>{let x=lr={view:w,prefix:v,scope:s};return setTimeout(()=>{lr==x&&(lr=null)},CM),!0}]})}let m=p.join(" ");o(m,!1);let y=d[m]||(d[m]={preventDefault:!1,stopPropagation:!1,run:((f=(h=d._any)===null||h===void 0?void 0:h.run)===null||f===void 0?void 0:f.slice())||[]});a&&y.run.push(a),c&&(y.preventDefault=!0),u&&(y.stopPropagation=!0)};for(let s of r){let l=s.scope?s.scope.split(" "):["editor"];if(s.any)for(let c of l){let u=t[c]||(t[c]=Object.create(null));u._any||(u._any={preventDefault:!1,stopPropagation:!1,run:[]});for(let h in u)u[h].run.push(s.any)}let a=s[e]||s.key;if(a)for(let c of l)i(c,a,s.run,s.preventDefault,s.stopPropagation),s.shift&&i(c,"Shift-"+a,s.shift,s.preventDefault,s.stopPropagation)}return t}function kM(r,e,t,n){let o=dy(e),i=dn(o,0),s=Kr(i)==o.length&&o!=" ",l="",a=!1,c=!1,u=!1;lr&&lr.view==t&&lr.scope==n&&(l=lr.prefix+" ",Sb.indexOf(e.keyCode)<0&&(c=!0,lr=null));let h=new Set,f=y=>{if(y){for(let g of y.run)if(!h.has(g)&&(h.add(g),g(t,e)))return y.stopPropagation&&(u=!0),!0;y.preventDefault&&(y.stopPropagation&&(u=!0),c=!0)}return!1},d=r[n],p,m;return d&&(f(d[l+fa(o,e,!s)])?a=!0:s&&(e.altKey||e.metaKey||e.ctrlKey)&&!(_.windows&&e.ctrlKey&&e.altKey)&&(p=An[e.keyCode])&&p!=o?(f(d[l+fa(p,e,!0)])||e.shiftKey&&(m=Qo[e.keyCode])!=o&&m!=p&&f(d[l+fa(m,e,!1)]))&&(a=!0):s&&e.shiftKey&&f(d[l+fa(o,e,!0)])&&(a=!0),!a&&f(d._any)&&(a=!0)),c&&(a=!0),a&&u&&e.stopPropagation(),a}var oo=class{constructor(e,t,n,o,i){this.className=e,this.left=t,this.top=n,this.width=o,this.height=i}draw(){let e=document.createElement("div");return e.className=this.className,this.adjust(e),e}update(e,t){return t.className!=this.className?!1:(this.adjust(e),!0)}adjust(e){e.style.left=this.left+"px",e.style.top=this.top+"px",this.width!=null&&(e.style.width=this.width+"px"),e.style.height=this.height+"px"}eq(e){return this.left==e.left&&this.top==e.top&&this.width==e.width&&this.height==e.height&&this.className==e.className}static forRange(e,t,n){if(n.empty){let o=e.coordsAtPos(n.head,n.assoc||1);if(!o)return[];let i=Ob(e);return[new oo(t,o.left-i.left,o.top-i.top,null,o.bottom-o.top)]}else return MM(e,t,n)}};function Ob(r){let e=r.scrollDOM.getBoundingClientRect();return{left:(r.textDirection==we.LTR?e.left:e.right-r.scrollDOM.clientWidth)-r.scrollDOM.scrollLeft,top:e.top-r.scrollDOM.scrollTop}}function $y(r,e,t){let n=D.cursor(e);return{from:Math.max(t.from,r.moveToLineBoundary(n,!1,!0).from),to:Math.min(t.to,r.moveToLineBoundary(n,!0,!0).from),type:Se.Text}}function MM(r,e,t){if(t.to<=r.viewport.from||t.from>=r.viewport.to)return[];let n=Math.max(t.from,r.viewport.from),o=Math.min(t.to,r.viewport.to),i=r.textDirection==we.LTR,s=r.contentDOM,l=s.getBoundingClientRect(),a=Ob(r),c=s.querySelector(".cm-line"),u=c&&window.getComputedStyle(c),h=l.left+(u?parseInt(u.paddingLeft)+Math.min(0,parseInt(u.textIndent)):0),f=l.right-(u?parseInt(u.paddingRight):0),d=Nh(r,n),p=Nh(r,o),m=d.type==Se.Text?d:null,y=p.type==Se.Text?p:null;if(m&&(r.lineWrapping||d.widgetLineBreaks)&&(m=$y(r,n,m)),y&&(r.lineWrapping||p.widgetLineBreaks)&&(y=$y(r,o,y)),m&&y&&m.from==y.from)return v(w(t.from,t.to,m));{let S=m?w(t.from,null,m):x(d,!1),b=y?w(null,t.to,y):x(p,!0),C=[];return(m||d).to<(y||p).from-(m&&y?1:0)||d.widgetLineBreaks>1&&S.bottom+r.defaultLineHeight/2<b.top?C.push(g(h,S.bottom,f,b.top)):S.bottom<b.top&&r.elementAtHeight((S.bottom+b.top)/2).type==Se.Text&&(S.bottom=b.top=(S.bottom+b.top)/2),v(S).concat(C).concat(v(b))}function g(S,b,C,k){return new oo(e,S-a.left,b-a.top-.01,C-S,k-b+.01)}function v({top:S,bottom:b,horizontal:C}){let k=[];for(let E=0;E<C.length;E+=2)k.push(g(C[E],S,C[E+1],b));return k}function w(S,b,C){let k=1e9,E=-1e9,R=[];function M(V,B,$,O,N){let F=r.coordsAtPos(V,V==C.to?-2:2),q=r.coordsAtPos($,$==C.from?2:-2);!F||!q||(k=Math.min(F.top,q.top,k),E=Math.max(F.bottom,q.bottom,E),N==we.LTR?R.push(i&&B?h:F.left,i&&O?f:q.right):R.push(!i&&O?h:q.left,!i&&B?f:F.right))}let P=S!=null?S:C.from,I=b!=null?b:C.to;for(let V of r.visibleRanges)if(V.to>P&&V.from<I)for(let B=Math.max(V.from,P),$=Math.min(V.to,I);;){let O=r.state.doc.lineAt(B);for(let N of r.bidiSpans(O)){let F=N.from+O.from,q=N.to+O.from;if(F>=$)break;q>B&&M(Math.max(F,B),S==null&&F<=P,Math.min(q,$),b==null&&q>=I,N.dir)}if(B=O.to+1,B>=$)break}return R.length==0&&M(P,S==null,I,b==null,r.textDirection),{top:k,bottom:E,horizontal:R}}function x(S,b){let C=l.top+(b?S.top:S.bottom);return{top:C,bottom:C,horizontal:[]}}}function EM(r,e){return r.constructor==e.constructor&&r.eq(e)}var Yh=class{constructor(e,t){this.view=e,this.layer=t,this.drawn=[],this.measureReq={read:this.measure.bind(this),write:this.draw.bind(this)},this.dom=e.scrollDOM.appendChild(document.createElement("div")),this.dom.classList.add("cm-layer"),t.above&&this.dom.classList.add("cm-layer-above"),t.class&&this.dom.classList.add(t.class),this.dom.setAttribute("aria-hidden","true"),this.setOrder(e.state),e.requestMeasure(this.measureReq),t.mount&&t.mount(this.dom,e)}update(e){e.startState.facet(ga)!=e.state.facet(ga)&&this.setOrder(e.state),(this.layer.update(e,this.dom)||e.geometryChanged)&&e.view.requestMeasure(this.measureReq)}setOrder(e){let t=0,n=e.facet(ga);for(;t<n.length&&n[t]!=this.layer;)t++;this.dom.style.zIndex=String((this.layer.above?150:-1)-t)}measure(){return this.layer.markers(this.view)}draw(e){if(e.length!=this.drawn.length||e.some((t,n)=>!EM(t,this.drawn[n]))){let t=this.dom.firstChild,n=0;for(let o of e)o.update&&t&&o.constructor&&this.drawn[n].constructor&&o.update(t,this.drawn[n])?(t=t.nextSibling,n++):this.dom.insertBefore(o.draw(),t);for(;t;){let o=t.nextSibling;t.remove(),t=o}this.drawn=e}}destroy(){this.layer.destroy&&this.layer.destroy(this.dom,this.view),this.dom.remove()}},ga=G.define();function Nb(r){return[Bt.define(e=>new Yh(e,r)),ga.of(r)]}var Vb=!_.ios,xs=G.define({combine(r){return Xr(r,{cursorBlinkRate:1200,drawRangeCursor:!0},{cursorBlinkRate:(e,t)=>Math.min(e,t),drawRangeCursor:(e,t)=>e||t})}});function af(r={}){return[xs.of(r),RM,IM,PM,hb.of(!0)]}function Fb(r){return r.startState.facet(xs)!=r.state.facet(xs)}var RM=Nb({above:!0,markers(r){let{state:e}=r,t=e.facet(xs),n=[];for(let o of e.selection.ranges){let i=o==e.selection.main;if(o.empty?!i||Vb:t.drawRangeCursor){let s=i?"cm-cursor cm-cursor-primary":"cm-cursor cm-cursor-secondary",l=o.empty?o:D.cursor(o.head,o.head>o.anchor?-1:1);for(let a of oo.forRange(r,s,l))n.push(a)}}return n},update(r,e){r.transactions.some(n=>n.selection)&&(e.style.animationName=e.style.animationName=="cm-blink"?"cm-blink2":"cm-blink");let t=Fb(r);return t&&Uy(r.state,e),r.docChanged||r.selectionSet||t},mount(r,e){Uy(e.state,r)},class:"cm-cursorLayer"});function Uy(r,e){e.style.animationDuration=r.facet(xs).cursorBlinkRate+"ms"}var IM=Nb({above:!1,markers(r){return r.state.selection.ranges.map(e=>e.empty?[]:oo.forRange(r,"cm-selectionBackground",e)).reduce((e,t)=>e.concat(t))},update(r,e){return r.docChanged||r.selectionSet||r.viewportChanged||Fb(r)},class:"cm-selectionLayer"}),Bb={".cm-line":{"& ::selection":{backgroundColor:"transparent !important"},"&::selection":{backgroundColor:"transparent !important"}}};Vb&&(Bb[".cm-line"].caretColor="transparent !important");var PM=Yr.highest(J.theme(Bb));function Gy(r,e,t,n,o){e.lastIndex=0;for(let i=r.iterRange(t,n),s=t,l;!i.next().done;s+=i.value.length)if(!i.lineBreak)for(;l=e.exec(i.value);)o(s+l.index,l)}function DM(r,e){let t=r.visibleRanges;if(t.length==1&&t[0].from==r.viewport.from&&t[0].to==r.viewport.to)return t;let n=[];for(let{from:o,to:i}of t)o=Math.max(r.state.doc.lineAt(o).from,o-e),i=Math.min(r.state.doc.lineAt(i).to,i+e),n.length&&n[n.length-1].to>=o?n[n.length-1].to=i:n.push({from:o,to:i});return n}var Xh=class{constructor(e){let{regexp:t,decoration:n,decorate:o,boundary:i,maxLength:s=1e3}=e;if(!t.global)throw new RangeError("The regular expression given to MatchDecorator should have its 'g' flag set");if(this.regexp=t,o)this.addMatch=(l,a,c,u)=>o(u,c,c+l[0].length,l,a);else if(typeof n=="function")this.addMatch=(l,a,c,u)=>{let h=n(l,a,c);h&&u(c,c+l[0].length,h)};else if(n)this.addMatch=(l,a,c,u)=>u(c,c+l[0].length,n);else throw new RangeError("Either 'decorate' or 'decoration' should be provided to MatchDecorator");this.boundary=i,this.maxLength=s}createDeco(e){let t=new pn,n=t.add.bind(t);for(let{from:o,to:i}of DM(e,this.maxLength))Gy(e.state.doc,this.regexp,o,i,(s,l)=>this.addMatch(l,e,s,n));return t.finish()}updateDeco(e,t){let n=1e9,o=-1;return e.docChanged&&e.changes.iterChanges((i,s,l,a)=>{a>e.view.viewport.from&&l<e.view.viewport.to&&(n=Math.min(l,n),o=Math.max(a,o))}),e.viewportChanged||o-n>1e3?this.createDeco(e.view):o>-1?this.updateRange(e.view,t.map(e.changes),n,o):t}updateRange(e,t,n,o){for(let i of e.visibleRanges){let s=Math.max(i.from,n),l=Math.min(i.to,o);if(l>s){let a=e.state.doc.lineAt(s),c=a.to<l?e.state.doc.lineAt(l):a,u=Math.max(i.from,a.from),h=Math.min(i.to,c.to);if(this.boundary){for(;s>a.from;s--)if(this.boundary.test(a.text[s-1-a.from])){u=s;break}for(;l<c.to;l++)if(this.boundary.test(c.text[l-c.from])){h=l;break}}let f=[],d,p=(m,y,g)=>f.push(g.range(m,y));if(a==c)for(this.regexp.lastIndex=u-a.from;(d=this.regexp.exec(a.text))&&d.index<h-a.from;)this.addMatch(d,e,d.index+a.from,p);else Gy(e.state.doc,this.regexp,u,h,(m,y)=>this.addMatch(y,e,m,p));t=t.update({filterFrom:u,filterTo:h,filter:(m,y)=>m<u||y>h,add:f})}}return t}},Zh=/x/.unicode!=null?"gu":"g",LM=new RegExp(`[\0-\b
|
|
26
|
+
-\x7F-\x9F\xAD\u061C\u200B\u200E\u200F\u2028\u2029\u202D\u202E\u2066\u2067\u2069\uFEFF\uFFF9-\uFFFC]`,Zh),AM={0:"null",7:"bell",8:"backspace",10:"newline",11:"vertical tab",13:"carriage return",27:"escape",8203:"zero width space",8204:"zero width non-joiner",8205:"zero width joiner",8206:"left-to-right mark",8207:"right-to-left mark",8232:"line separator",8237:"left-to-right override",8238:"right-to-left override",8294:"left-to-right isolate",8295:"right-to-left isolate",8297:"pop directional isolate",8233:"paragraph separator",65279:"zero width no-break space",65532:"object replacement"},wh=null;function OM(){var r;if(wh==null&&typeof document<"u"&&document.body){let e=document.body.style;wh=((r=e.tabSize)!==null&&r!==void 0?r:e.MozTabSize)!=null}return wh||!1}var ya=G.define({combine(r){let e=Xr(r,{render:null,specialChars:LM,addSpecialChars:null});return(e.replaceTabs=!OM())&&(e.specialChars=new RegExp(" |"+e.specialChars.source,Zh)),e.addSpecialChars&&(e.specialChars=new RegExp(e.specialChars.source+"|"+e.addSpecialChars.source,Zh)),e}});function cf(r={}){return[ya.of(r),NM()]}var qy=null;function NM(){return qy||(qy=Bt.fromClass(class{constructor(r){this.view=r,this.decorations=Pe.none,this.decorationCache=Object.create(null),this.decorator=this.makeDecorator(r.state.facet(ya)),this.decorations=this.decorator.createDeco(r)}makeDecorator(r){return new Xh({regexp:r.specialChars,decoration:(e,t,n)=>{let{doc:o}=t.state,i=dn(e[0],0);if(i==9){let s=o.lineAt(n),l=t.state.tabSize,a=Zr(s.text,l,n-s.from);return Pe.replace({widget:new tf((l-a%l)*this.view.defaultCharacterWidth)})}return this.decorationCache[i]||(this.decorationCache[i]=Pe.replace({widget:new ef(r,i)}))},boundary:r.replaceTabs?void 0:/[^]/})}update(r){let e=r.state.facet(ya);r.startState.facet(ya)!=e?(this.decorator=this.makeDecorator(e),this.decorations=this.decorator.createDeco(r.view)):this.decorations=this.decorator.updateDeco(r,this.decorations)}},{decorations:r=>r.decorations}))}var VM="\u2022";function FM(r){return r>=32?VM:r==10?"\u2424":String.fromCharCode(9216+r)}var ef=class extends Vn{constructor(e,t){super(),this.options=e,this.code=t}eq(e){return e.code==this.code}toDOM(e){let t=FM(this.code),n=e.state.phrase("Control character")+" "+(AM[this.code]||"0x"+this.code.toString(16)),o=this.options.render&&this.options.render(this.code,n,t);if(o)return o;let i=document.createElement("span");return i.textContent=t,i.title=n,i.setAttribute("aria-label",n),i.className="cm-specialChar",i}ignoreEvent(){return!1}},tf=class extends Vn{constructor(e){super(),this.width=e}eq(e){return e.width==this.width}toDOM(){let e=document.createElement("span");return e.textContent=" ",e.className="cm-tab",e.style.width=this.width+"px",e}ignoreEvent(){return!1}};var eH=J.baseTheme({".cm-tooltip":{zIndex:100,boxSizing:"border-box"},"&light .cm-tooltip":{border:"1px solid #bbb",backgroundColor:"#f5f5f5"},"&light .cm-tooltip-section:not(:first-child)":{borderTop:"1px solid #bbb"},"&dark .cm-tooltip":{backgroundColor:"#333338",color:"white"},".cm-tooltip-arrow":{height:"7px",width:`${7*2}px`,position:"absolute",zIndex:-1,overflow:"hidden","&:before, &:after":{content:"''",position:"absolute",width:0,height:0,borderLeft:"7px solid transparent",borderRight:"7px solid transparent"},".cm-tooltip-above &":{bottom:"-7px","&:before":{borderTop:"7px solid #bbb"},"&:after":{borderTop:"7px solid #f5f5f5",bottom:"1px"}},".cm-tooltip-below &":{top:"-7px","&:before":{borderBottom:"7px solid #bbb"},"&:after":{borderBottom:"7px solid #f5f5f5",top:"1px"}}},"&dark .cm-tooltip .cm-tooltip-arrow":{"&:before":{borderTopColor:"#333338",borderBottomColor:"#333338"},"&:after":{borderTopColor:"transparent",borderBottomColor:"transparent"}}});var Fn=class extends tn{compare(e){return this==e||this.constructor==e.constructor&&this.eq(e)}eq(e){return!1}destroy(e){}};Fn.prototype.elementClass="";Fn.prototype.toDOM=void 0;Fn.prototype.mapMode=Ue.TrackBefore;Fn.prototype.startSide=Fn.prototype.endSide=-1;Fn.prototype.point=!0;var BM=0,Ht=class{constructor(e,t,n){this.set=e,this.base=t,this.modified=n,this.id=BM++}static define(e){if(e!=null&&e.base)throw new Error("Can not derive from a modified tag");let t=new Ht([],null,[]);if(t.set.push(t),e)for(let n of e.set)t.set.push(n);return t}static defineModifier(){let e=new ii;return t=>t.modified.indexOf(e)>-1?t:ii.get(t.base||t,t.modified.concat(e).sort((n,o)=>n.id-o.id))}},HM=0,ii=class{constructor(){this.instances=[],this.id=HM++}static get(e,t){if(!t.length)return e;let n=t[0].instances.find(l=>l.base==e&&_M(t,l.modified));if(n)return n;let o=[],i=new Ht(o,e,t);for(let l of t)l.instances.push(i);let s=zM(t);for(let l of e.set)if(!l.modified.length)for(let a of s)o.push(ii.get(l,a));return i}};function _M(r,e){return r.length==e.length&&r.every((t,n)=>t==e[n])}function zM(r){let e=[[]];for(let t=0;t<r.length;t++)for(let n=0,o=e.length;n<o;n++)e.push(e[n].concat(r[t]));return e.sort((t,n)=>n.length-t.length)}function ws(r){let e=Object.create(null);for(let t in r){let n=r[t];Array.isArray(n)||(n=[n]);for(let o of t.split(" "))if(o){let i=[],s=2,l=o;for(let h=0;;){if(l=="..."&&h>0&&h+3==o.length){s=1;break}let f=/^"(?:[^"\\]|\\.)*?"|[^\/!]+/.exec(l);if(!f)throw new RangeError("Invalid path: "+o);if(i.push(f[0]=="*"?"":f[0][0]=='"'?JSON.parse(f[0]):f[0]),h+=f[0].length,h==o.length)break;let d=o[h++];if(h==o.length&&d=="!"){s=0;break}if(d!="/")throw new RangeError("Invalid path: "+o);l=o.slice(h)}let a=i.length-1,c=i[a];if(!c)throw new RangeError("Invalid path: "+o);let u=new si(n,s,a>0?i.slice(0,a):null);e[c]=u.sort(e[c])}}return zb.add(e)}var zb=new Q,si=class{constructor(e,t,n,o){this.tags=e,this.mode=t,this.context=n,this.next=o}get opaque(){return this.mode==0}get inherit(){return this.mode==1}sort(e){return!e||e.depth<this.depth?(this.next=e,this):(e.next=this.sort(e.next),e)}get depth(){return this.context?this.context.length:0}};si.empty=new si([],2,null);function df(r,e){let t=Object.create(null);for(let i of r)if(!Array.isArray(i.tag))t[i.tag.id]=i.class;else for(let s of i.tag)t[s.id]=i.class;let{scope:n,all:o=null}=e||{};return{style:i=>{let s=o;for(let l of i)for(let a of l.set){let c=t[a.id];if(c){s=s?s+" "+c:c;break}}return s},scope:n}}function WM(r,e){let t=null;for(let n of r){let o=n.style(e);o&&(t=t?t+" "+o:o)}return t}function Wb(r,e,t,n=0,o=r.length){let i=new hf(n,Array.isArray(e)?e:[e],t);i.highlightRange(r.cursor(),n,o,"",i.highlighters),i.flush(o)}var hf=class{constructor(e,t,n){this.at=e,this.highlighters=t,this.span=n,this.class=""}startSpan(e,t){t!=this.class&&(this.flush(e),e>this.at&&(this.at=e),this.class=t)}flush(e){e>this.at&&this.class&&this.span(this.at,e,this.class)}highlightRange(e,t,n,o,i){let{type:s,from:l,to:a}=e;if(l>=n||a<=t)return;s.isTop&&(i=this.highlighters.filter(d=>!d.scope||d.scope(s)));let c=o,u=$M(e)||si.empty,h=WM(i,u.tags);if(h&&(c&&(c+=" "),c+=h,u.mode==1&&(o+=(o?" ":"")+h)),this.startSpan(Math.max(t,l),c),u.opaque)return;let f=e.tree&&e.tree.prop(Q.mounted);if(f&&f.overlay){let d=e.node.enter(f.overlay[0].from+l,1),p=this.highlighters.filter(y=>!y.scope||y.scope(f.tree.type)),m=e.firstChild();for(let y=0,g=l;;y++){let v=y<f.overlay.length?f.overlay[y]:null,w=v?v.from+l:a,x=Math.max(t,g),S=Math.min(n,w);if(x<S&&m)for(;e.from<S&&(this.highlightRange(e,x,S,o,i),this.startSpan(Math.min(S,e.to),c),!(e.to>=w||!e.nextSibling())););if(!v||w>n)break;g=v.to+l,g>t&&(this.highlightRange(d.cursor(),Math.max(t,v.from+l),Math.min(n,g),"",p),this.startSpan(Math.min(n,g),c))}m&&e.parent()}else if(e.firstChild()){f&&(o="");do if(!(e.to<=t)){if(e.from>=n)break;this.highlightRange(e,t,n,o,i),this.startSpan(Math.min(n,e.to),c)}while(e.nextSibling());e.parent()}}};function $M(r){let e=r.type.prop(zb);for(;e&&e.context&&!r.matchContext(e.context);)e=e.next;return e||null}var A=Ht.define,Da=A(),hr=A(),Hb=A(hr),_b=A(hr),fr=A(),La=A(fr),uf=A(fr),vn=A(),io=A(vn),bn=A(),xn=A(),ff=A(),vs=A(ff),Aa=A(),L={comment:Da,lineComment:A(Da),blockComment:A(Da),docComment:A(Da),name:hr,variableName:A(hr),typeName:Hb,tagName:A(Hb),propertyName:_b,attributeName:A(_b),className:A(hr),labelName:A(hr),namespace:A(hr),macroName:A(hr),literal:fr,string:La,docString:A(La),character:A(La),attributeValue:A(La),number:uf,integer:A(uf),float:A(uf),bool:A(fr),regexp:A(fr),escape:A(fr),color:A(fr),url:A(fr),keyword:bn,self:A(bn),null:A(bn),atom:A(bn),unit:A(bn),modifier:A(bn),operatorKeyword:A(bn),controlKeyword:A(bn),definitionKeyword:A(bn),moduleKeyword:A(bn),operator:xn,derefOperator:A(xn),arithmeticOperator:A(xn),logicOperator:A(xn),bitwiseOperator:A(xn),compareOperator:A(xn),updateOperator:A(xn),definitionOperator:A(xn),typeOperator:A(xn),controlOperator:A(xn),punctuation:ff,separator:A(ff),bracket:vs,angleBracket:A(vs),squareBracket:A(vs),paren:A(vs),brace:A(vs),content:vn,heading:io,heading1:A(io),heading2:A(io),heading3:A(io),heading4:A(io),heading5:A(io),heading6:A(io),contentSeparator:A(vn),list:A(vn),quote:A(vn),emphasis:A(vn),strong:A(vn),link:A(vn),monospace:A(vn),strikethrough:A(vn),inserted:A(),deleted:A(),changed:A(),invalid:A(),meta:Aa,documentMeta:A(Aa),annotation:A(Aa),processingInstruction:A(Aa),definition:Ht.defineModifier(),constant:Ht.defineModifier(),function:Ht.defineModifier(),standard:Ht.defineModifier(),local:Ht.defineModifier(),special:Ht.defineModifier()},oH=df([{tag:L.link,class:"tok-link"},{tag:L.heading,class:"tok-heading"},{tag:L.emphasis,class:"tok-emphasis"},{tag:L.strong,class:"tok-strong"},{tag:L.keyword,class:"tok-keyword"},{tag:L.atom,class:"tok-atom"},{tag:L.bool,class:"tok-bool"},{tag:L.url,class:"tok-url"},{tag:L.labelName,class:"tok-labelName"},{tag:L.inserted,class:"tok-inserted"},{tag:L.deleted,class:"tok-deleted"},{tag:L.literal,class:"tok-literal"},{tag:L.string,class:"tok-string"},{tag:L.number,class:"tok-number"},{tag:[L.regexp,L.escape,L.special(L.string)],class:"tok-string2"},{tag:L.variableName,class:"tok-variableName"},{tag:L.local(L.variableName),class:"tok-variableName tok-local"},{tag:L.definition(L.variableName),class:"tok-variableName tok-definition"},{tag:L.special(L.variableName),class:"tok-variableName2"},{tag:L.definition(L.propertyName),class:"tok-propertyName tok-definition"},{tag:L.typeName,class:"tok-typeName"},{tag:L.namespace,class:"tok-namespace"},{tag:L.className,class:"tok-className"},{tag:L.macroName,class:"tok-macroName"},{tag:L.propertyName,class:"tok-propertyName"},{tag:L.operator,class:"tok-operator"},{tag:L.comment,class:"tok-comment"},{tag:L.meta,class:"tok-meta"},{tag:L.invalid,class:"tok-invalid"},{tag:L.punctuation,class:"tok-punctuation"}]);var pf,li=new Q;function UM(r){return G.define({combine:r?e=>e.concat(r):void 0})}var GM=new Q,Tt=class{constructor(e,t,n=[],o=""){this.data=e,this.name=o,ee.prototype.hasOwnProperty("tree")||Object.defineProperty(ee.prototype,"tree",{get(){return qe(this)}}),this.parser=t,this.extension=[ci.of(this),ee.languageData.of((i,s,l)=>{let a=$b(i,s,l),c=a.type.prop(li);if(!c)return[];let u=i.facet(c),h=a.type.prop(GM);if(h){let f=a.resolve(s-a.from,l);for(let d of h)if(d.test(f,i)){let p=i.facet(d.facet);return d.type=="replace"?p:p.concat(u)}}return u})].concat(n)}isActiveAt(e,t,n=-1){return $b(e,t,n).type.prop(li)==this.data}findRegions(e){let t=e.facet(ci);if((t==null?void 0:t.data)==this.data)return[{from:0,to:e.doc.length}];if(!t||!t.allowsNesting)return[];let n=[],o=(i,s)=>{if(i.prop(li)==this.data){n.push({from:s,to:s+i.length});return}let l=i.prop(Q.mounted);if(l){if(l.tree.prop(li)==this.data){if(l.overlay)for(let a of l.overlay)n.push({from:a.from+s,to:a.to+s});else n.push({from:s,to:s+i.length});return}else if(l.overlay){let a=n.length;if(o(l.tree,l.overlay[0].from+s),n.length>a)return}}for(let a=0;a<i.children.length;a++){let c=i.children[a];c instanceof ue&&o(c,i.positions[a]+s)}};return o(qe(e),0),n}get allowsNesting(){return!0}};Tt.setState=ae.define();function $b(r,e,t){let n=r.facet(ci),o=qe(r).topNode;if(!n||n.allowsNesting)for(let i=o;i;i=i.enter(e,t,Ce.ExcludeBuffers))i.type.isTop&&(o=i);return o}var dr=class extends Tt{constructor(e,t,n){super(e,t,[],n),this.parser=t}static define(e){let t=UM(e.languageData);return new dr(t,e.parser.configure({props:[li.add(n=>n.isTop?t:void 0)]}),e.name)}configure(e,t){return new dr(this.data,this.parser.configure(e),t||this.name)}get allowsNesting(){return this.parser.hasWrappers()}};function qe(r){let e=r.field(Tt.state,!1);return e?e.tree:ue.empty}var bf=class{constructor(e){this.doc=e,this.cursorPos=0,this.string="",this.cursor=e.iter()}get length(){return this.doc.length}syncTo(e){return this.string=this.cursor.next(e-this.cursorPos).value,this.cursorPos=e+this.string.length,this.cursorPos-this.string.length}chunk(e){return this.syncTo(e),this.string}get lineChunks(){return!0}read(e,t){let n=this.cursorPos-this.string.length;return e<n||t>=this.cursorPos?this.doc.sliceString(e,t):this.string.slice(e-n,t-n)}},Ss=null,ai=class{constructor(e,t,n=[],o,i,s,l,a){this.parser=e,this.state=t,this.fragments=n,this.tree=o,this.treeLen=i,this.viewport=s,this.skipped=l,this.scheduleOn=a,this.parse=null,this.tempSkipped=[]}static create(e,t,n){return new ai(e,t,[],ue.empty,0,n,[],null)}startParse(){return this.parser.startParse(new bf(this.state.doc),this.fragments)}work(e,t){return t!=null&&t>=this.state.doc.length&&(t=void 0),this.tree!=ue.empty&&this.isDone(t!=null?t:this.state.doc.length)?(this.takeTree(),!0):this.withContext(()=>{var n;if(typeof e=="number"){let o=Date.now()+e;e=()=>Date.now()>o}for(this.parse||(this.parse=this.startParse()),t!=null&&(this.parse.stoppedAt==null||this.parse.stoppedAt>t)&&t<this.state.doc.length&&this.parse.stopAt(t);;){let o=this.parse.advance();if(o)if(this.fragments=this.withoutTempSkipped(un.addTree(o,this.fragments,this.parse.stoppedAt!=null)),this.treeLen=(n=this.parse.stoppedAt)!==null&&n!==void 0?n:this.state.doc.length,this.tree=o,this.parse=null,this.treeLen<(t!=null?t:this.state.doc.length))this.parse=this.startParse();else return!0;if(e())return!1}})}takeTree(){let e,t;this.parse&&(e=this.parse.parsedPos)>=this.treeLen&&((this.parse.stoppedAt==null||this.parse.stoppedAt>e)&&this.parse.stopAt(e),this.withContext(()=>{for(;!(t=this.parse.advance()););}),this.treeLen=e,this.tree=t,this.fragments=this.withoutTempSkipped(un.addTree(this.tree,this.fragments,!0)),this.parse=null)}withContext(e){let t=Ss;Ss=this;try{return e()}finally{Ss=t}}withoutTempSkipped(e){for(let t;t=this.tempSkipped.pop();)e=Ub(e,t.from,t.to);return e}changes(e,t){let{fragments:n,tree:o,treeLen:i,viewport:s,skipped:l}=this;if(this.takeTree(),!e.empty){let a=[];if(e.iterChangedRanges((c,u,h,f)=>a.push({fromA:c,toA:u,fromB:h,toB:f})),n=un.applyChanges(n,a),o=ue.empty,i=0,s={from:e.mapPos(s.from,-1),to:e.mapPos(s.to,1)},this.skipped.length){l=[];for(let c of this.skipped){let u=e.mapPos(c.from,1),h=e.mapPos(c.to,-1);u<h&&l.push({from:u,to:h})}}}return new ai(this.parser,t,n,o,i,s,l,this.scheduleOn)}updateViewport(e){if(this.viewport.from==e.from&&this.viewport.to==e.to)return!1;this.viewport=e;let t=this.skipped.length;for(let n=0;n<this.skipped.length;n++){let{from:o,to:i}=this.skipped[n];o<e.to&&i>e.from&&(this.fragments=Ub(this.fragments,o,i),this.skipped.splice(n--,1))}return this.skipped.length>=t?!1:(this.reset(),!0)}reset(){this.parse&&(this.takeTree(),this.parse=null)}skipUntilInView(e,t){this.skipped.push({from:e,to:t})}static getSkippingParser(e){return new class extends Vo{createParse(t,n,o){let i=o[0].from,s=o[o.length-1].to;return{parsedPos:i,advance(){let a=Ss;if(a){for(let c of o)a.tempSkipped.push(c);e&&(a.scheduleOn=a.scheduleOn?Promise.all([a.scheduleOn,e]):e)}return this.parsedPos=s,new ue(Ne.none,[],[],s-i)},stoppedAt:null,stopAt(){}}}}}isDone(e){e=Math.min(e,this.state.doc.length);let t=this.fragments;return this.treeLen>=e&&t.length&&t[0].from==0&&t[0].to>=e}static get(){return Ss}};function Ub(r,e,t){return un.applyChanges(r,[{fromA:e,toA:t,fromB:e,toB:t}])}var pr=class{constructor(e){this.context=e,this.tree=e.tree}apply(e){if(!e.docChanged&&this.tree==this.context.tree)return this;let t=this.context.changes(e.changes,e.state),n=this.context.treeLen==e.startState.doc.length?void 0:Math.max(e.changes.mapPos(this.context.treeLen),t.viewport.to);return t.work(20,n)||t.takeTree(),new pr(t)}static init(e){let t=Math.min(3e3,e.doc.length),n=ai.create(e.facet(ci).parser,e,{from:0,to:t});return n.work(20,t)||n.takeTree(),new pr(n)}};Tt.state=ot.define({create:pr.init,update(r,e){for(let t of e.effects)if(t.is(Tt.setState))return t.value;return e.startState.facet(ci)!=e.state.facet(ci)?pr.init(e.state):r.apply(e)}});var Kb=r=>{let e=setTimeout(()=>r(),500);return()=>clearTimeout(e)};typeof requestIdleCallback<"u"&&(Kb=r=>{let e=-1,t=setTimeout(()=>{e=requestIdleCallback(r,{timeout:500-100})},100);return()=>e<0?clearTimeout(t):cancelIdleCallback(e)});var mf=typeof navigator<"u"&&(!((pf=navigator.scheduling)===null||pf===void 0)&&pf.isInputPending)?()=>navigator.scheduling.isInputPending():null,qM=Bt.fromClass(class{constructor(e){this.view=e,this.working=null,this.workScheduled=0,this.chunkEnd=-1,this.chunkBudget=-1,this.work=this.work.bind(this),this.scheduleWork()}update(e){let t=this.view.state.field(Tt.state).context;(t.updateViewport(e.view.viewport)||this.view.viewport.to>t.treeLen)&&this.scheduleWork(),e.docChanged&&(this.view.hasFocus&&(this.chunkBudget+=50),this.scheduleWork()),this.checkAsyncSchedule(t)}scheduleWork(){if(this.working)return;let{state:e}=this.view,t=e.field(Tt.state);(t.tree!=t.context.tree||!t.context.isDone(e.doc.length))&&(this.working=Kb(this.work))}work(e){this.working=null;let t=Date.now();if(this.chunkEnd<t&&(this.chunkEnd<0||this.view.hasFocus)&&(this.chunkEnd=t+3e4,this.chunkBudget=3e3),this.chunkBudget<=0)return;let{state:n,viewport:{to:o}}=this.view,i=n.field(Tt.state);if(i.tree==i.context.tree&&i.context.isDone(o+1e5))return;let s=Date.now()+Math.min(this.chunkBudget,100,e&&!mf?Math.max(25,e.timeRemaining()-5):1e9),l=i.context.treeLen<o&&n.doc.length>o+1e3,a=i.context.work(()=>mf&&mf()||Date.now()>s,o+(l?0:1e5));this.chunkBudget-=Date.now()-t,(a||this.chunkBudget<=0)&&(i.context.takeTree(),this.view.dispatch({effects:Tt.setState.of(new pr(i.context))})),this.chunkBudget>0&&!(a&&!l)&&this.scheduleWork(),this.checkAsyncSchedule(i.context)}checkAsyncSchedule(e){e.scheduleOn&&(this.workScheduled++,e.scheduleOn.then(()=>this.scheduleWork()).catch(t=>gn(this.view.state,t)).then(()=>this.workScheduled--),e.scheduleOn=null)}destroy(){this.working&&this.working()}isWorking(){return!!(this.working||this.workScheduled>0)}},{eventHandlers:{focus(){this.scheduleWork()}}}),ci=G.define({combine(r){return r.length?r[0]:null},enables:r=>[Tt.state,qM,J.contentAttributes.compute([r],e=>{let t=e.facet(r);return t&&t.name?{"data-language":t.name}:{}})]});var KM=G.define(),Ts=G.define({combine:r=>{if(!r.length)return" ";let e=r[0];if(!e||/\S/.test(e)||Array.from(e).some(t=>t!=e[0]))throw new Error("Invalid indent unit: "+JSON.stringify(r[0]));return e}});function ks(r){let e=r.facet(Ts);return e.charCodeAt(0)==9?r.tabSize*e.length:e.length}function Ms(r,e){let t="",n=r.tabSize,o=r.facet(Ts)[0];if(o==" "){for(;e>=n;)t+=" ",e-=n;o=" "}for(let i=0;i<e;i++)t+=o;return t}function Cf(r,e){r instanceof ee&&(r=new so(r));for(let n of r.state.facet(KM)){let o=n(r,e);if(o!==void 0)return o}let t=qe(r.state);return t?JM(r,t,e):null}var so=class{constructor(e,t={}){this.state=e,this.options=t,this.unit=ks(e)}lineAt(e,t=1){let n=this.state.doc.lineAt(e),{simulateBreak:o,simulateDoubleBreak:i}=this.options;return o!=null&&o>=n.from&&o<=n.to?i&&o==e?{text:"",from:e}:(t<0?o<e:o<=e)?{text:n.text.slice(o-n.from),from:o}:{text:n.text.slice(0,o-n.from),from:n.from}:n}textAfterPos(e,t=1){if(this.options.simulateDoubleBreak&&e==this.options.simulateBreak)return"";let{text:n,from:o}=this.lineAt(e,t);return n.slice(e-o,Math.min(n.length,e+100-o))}column(e,t=1){let{text:n,from:o}=this.lineAt(e,t),i=this.countColumn(n,e-o),s=this.options.overrideIndentation?this.options.overrideIndentation(o):-1;return s>-1&&(i+=s-this.countColumn(n,n.search(/\S|$/))),i}countColumn(e,t=e.length){return Zr(e,this.state.tabSize,t)}lineIndent(e,t=1){let{text:n,from:o}=this.lineAt(e,t),i=this.options.overrideIndentation;if(i){let s=i(o);if(s>-1)return s}return this.countColumn(n,n.search(/\S|$/))}get simulatedBreak(){return this.options.simulateBreak||null}},jM=new Q;function JM(r,e,t){return jb(e.resolveInner(t).enterUnfinishedNodesBefore(t),t,r)}function QM(r){return r.pos==r.options.simulateBreak&&r.options.simulateDoubleBreak}function YM(r){let e=r.type.prop(jM);if(e)return e;let t=r.firstChild,n;if(t&&(n=t.type.prop(Q.closedBy))){let o=r.lastChild,i=o&&n.indexOf(o.name)>-1;return s=>t1(s,!0,1,void 0,i&&!QM(s)?o.from:void 0)}return r.parent==null?XM:null}function jb(r,e,t){for(;r;r=r.parent){let n=YM(r);if(n)return n(Cs.create(t,e,r))}return null}function XM(){return 0}var Cs=class extends so{constructor(e,t,n){super(e.state,e.options),this.base=e,this.pos=t,this.node=n}static create(e,t,n){return new Cs(e,t,n)}get textAfter(){return this.textAfterPos(this.pos)}get baseIndent(){return this.baseIndentFor(this.node)}baseIndentFor(e){let t=this.state.doc.lineAt(e.from);for(;;){let n=e.resolve(t.from);for(;n.parent&&n.parent.from==n.from;)n=n.parent;if(ZM(n,e))break;t=this.state.doc.lineAt(n.from)}return this.lineIndent(t.from)}continue(){let e=this.node.parent;return e?jb(e,this.pos,this.base):0}};function ZM(r,e){for(let t=e;t;t=t.parent)if(r==t)return!0;return!1}function e1(r){let e=r.node,t=e.childAfter(e.from),n=e.lastChild;if(!t)return null;let o=r.options.simulateBreak,i=r.state.doc.lineAt(t.from),s=o==null||o<=i.from?i.to:Math.min(i.to,o);for(let l=t.to;;){let a=e.childAfter(l);if(!a||a==n)return null;if(!a.type.isSkipped)return a.from<s?t:null;l=a.to}}function t1(r,e,t,n,o){let i=r.textAfter,s=i.match(/^\s*/)[0].length,l=n&&i.slice(s,s+n.length)==n||o==r.pos+s,a=e?e1(r):null;return a?l?r.column(a.from):r.column(a.to):r.baseIndent+(l?0:r.unit*t)}var Bn=class{constructor(e,t){this.specs=e;let n;function o(l){let a=Nt.newName();return(n||(n=Object.create(null)))["."+a]=l,a}let i=typeof t.all=="string"?t.all:t.all?o(t.all):void 0,s=t.scope;this.scope=s instanceof Tt?l=>l.prop(li)==s.data:s?l=>l==s:void 0,this.style=df(e.map(l=>({tag:l.tag,class:l.class||o(Object.assign({},l,{tag:null}))})),{all:i}).style,this.module=n?new Nt(n):null,this.themeType=t.themeType}static define(e,t){return new Bn(e,t||{})}},xf=G.define(),Jb=G.define({combine(r){return r.length?[r[0]]:null}});function gf(r){let e=r.facet(xf);return e.length?e:r.facet(Jb)}function Es(r,e){let t=[n1],n;return r instanceof Bn&&(r.module&&t.push(J.styleModule.of(r.module)),n=r.themeType),e!=null&&e.fallback?t.push(Jb.of(r)):n?t.push(xf.computeN([J.darkTheme],o=>o.facet(J.darkTheme)==(n=="dark")?[r]:[])):t.push(xf.of(r)),t}var vf=class{constructor(e){this.markCache=Object.create(null),this.tree=qe(e.state),this.decorations=this.buildDeco(e,gf(e.state))}update(e){let t=qe(e.state),n=gf(e.state),o=n!=gf(e.startState);t.length<e.view.viewport.to&&!o&&t.type==this.tree.type?this.decorations=this.decorations.map(e.changes):(t!=this.tree||e.viewportChanged||o)&&(this.tree=t,this.decorations=this.buildDeco(e.view,n))}buildDeco(e,t){if(!t||!this.tree.length)return Pe.none;let n=new pn;for(let{from:o,to:i}of e.visibleRanges)Wb(this.tree,t,(s,l,a)=>{n.add(s,l,this.markCache[a]||(this.markCache[a]=Pe.mark({class:a})))},o,i);return n.finish()}},n1=Yr.high(Bt.fromClass(vf,{decorations:r=>r.decorations})),Tf=Bn.define([{tag:L.meta,color:"#404740"},{tag:L.link,textDecoration:"underline"},{tag:L.heading,textDecoration:"underline",fontWeight:"bold"},{tag:L.emphasis,fontStyle:"italic"},{tag:L.strong,fontWeight:"bold"},{tag:L.strikethrough,textDecoration:"line-through"},{tag:L.keyword,color:"#708"},{tag:[L.atom,L.bool,L.url,L.contentSeparator,L.labelName],color:"#219"},{tag:[L.literal,L.inserted],color:"#164"},{tag:[L.string,L.deleted],color:"#a11"},{tag:[L.regexp,L.escape,L.special(L.string)],color:"#e40"},{tag:L.definition(L.variableName),color:"#00f"},{tag:L.local(L.variableName),color:"#30a"},{tag:[L.typeName,L.namespace],color:"#085"},{tag:L.className,color:"#167"},{tag:[L.special(L.variableName),L.macroName],color:"#256"},{tag:L.definition(L.propertyName),color:"#00c"},{tag:L.comment,color:"#940"},{tag:L.invalid,color:"#f00"}]);var r1=1e4,o1="()[]{}";var i1=new Q;function wf(r,e,t){let n=r.prop(e<0?Q.openedBy:Q.closedBy);if(n)return n;if(r.name.length==1){let o=t.indexOf(r.name);if(o>-1&&o%2==(e<0?1:0))return[t[o+e]]}return null}function Sf(r){let e=r.type.prop(i1);return e?e(r.node):r}function lo(r,e,t,n={}){let o=n.maxScanDistance||r1,i=n.brackets||o1,s=qe(r),l=s.resolveInner(e,t);for(let a=l;a;a=a.parent){let c=wf(a.type,t,i);if(c&&a.from<a.to){let u=Sf(a);if(u&&(t>0?e>=u.from&&e<u.to:e>u.from&&e<=u.to))return s1(r,e,t,a,u,c,i)}}return l1(r,e,t,s,l.type,o,i)}function s1(r,e,t,n,o,i,s){let l=n.parent,a={from:o.from,to:o.to},c=0,u=l==null?void 0:l.cursor();if(u&&(t<0?u.childBefore(n.from):u.childAfter(n.to)))do if(t<0?u.to<=n.from:u.from>=n.to){if(c==0&&i.indexOf(u.type.name)>-1&&u.from<u.to){let h=Sf(u);return{start:a,end:h?{from:h.from,to:h.to}:void 0,matched:!0}}else if(wf(u.type,t,s))c++;else if(wf(u.type,-t,s)){if(c==0){let h=Sf(u);return{start:a,end:h&&h.from<h.to?{from:h.from,to:h.to}:void 0,matched:!1}}c--}}while(t<0?u.prevSibling():u.nextSibling());return{start:a,matched:!1}}function l1(r,e,t,n,o,i,s){let l=t<0?r.sliceDoc(e-1,e):r.sliceDoc(e,e+1),a=s.indexOf(l);if(a<0||a%2==0!=t>0)return null;let c={from:t<0?e-1:e,to:t>0?e+1:e},u=r.doc.iterRange(e,t>0?r.doc.length:0),h=0;for(let f=0;!u.next().done&&f<=i;){let d=u.value;t<0&&(f+=d.length);let p=e+f*t;for(let m=t>0?0:d.length-1,y=t>0?d.length:-1;m!=y;m+=t){let g=s.indexOf(d[m]);if(!(g<0||n.resolveInner(p+m,1).type!=o))if(g%2==0==t>0)h++;else{if(h==1)return{start:c,end:{from:p+m,to:p+m+1},matched:g>>1==a>>1};h--}}t>0&&(f+=d.length)}return u.done?{start:c,matched:!1}:null}var a1=Object.create(null),Gb=[Ne.none];var qb=[],c1=Object.create(null);for(let[r,e]of[["variable","variableName"],["variable-2","variableName.special"],["string-2","string.special"],["def","variableName.definition"],["tag","tagName"],["attribute","attributeName"],["type","typeName"],["builtin","variableName.standard"],["qualifier","modifier"],["error","invalid"],["header","heading"],["property","propertyName"]])c1[r]=u1(a1,e);function yf(r,e){qb.indexOf(r)>-1||(qb.push(r),console.warn(e))}function u1(r,e){let t=null;for(let i of e.split(".")){let s=r[i]||L[i];s?typeof s=="function"?t?t=s(t):yf(i,`Modifier ${i} used at start of tag`):t?yf(i,`Tag ${i} used as modifier`):t=s:yf(i,`Unknown highlighting tag ${i}`)}if(!t)return 0;let n=e.replace(/ /g,"_"),o=Ne.define({id:Gb.length,name:n,props:[ws({[n]:t})]});return Gb.push(o),o.id}var Oa={brackets:["(","[","{","'",'"'],before:")]}:;>",stringPrefixes:[]},ao=ae.define({map(r,e){let t=e.mapPos(r,-1,Ue.TrackAfter);return t==null?void 0:t}}),Mf=new class extends tn{};Mf.startSide=1;Mf.endSide=-1;var Xb=ot.define({create(){return le.empty},update(r,e){if(e.selection){let t=e.state.doc.lineAt(e.selection.main.head).from,n=e.startState.doc.lineAt(e.startState.selection.main.head).from;t!=e.changes.mapPos(n,-1)&&(r=le.empty)}r=r.map(e.changes);for(let t of e.effects)t.is(ao)&&(r=r.update({add:[Mf.range(t.value,t.value+1)]}));return r}});function Zb(){return[p1,Xb]}var kf="()[]{}<>";function h1(r){for(let e=0;e<kf.length;e+=2)if(kf.charCodeAt(e)==r)return kf.charAt(e+1);return Yg(r<128?r:r+1)}function f1(r,e){return r.languageDataAt("closeBrackets",e)[0]||Oa}var d1=typeof navigator=="object"&&/Android\b/.test(navigator.userAgent),p1=J.inputHandler.of((r,e,t,n)=>{if((d1?r.composing:r.compositionStarted)||r.state.readOnly)return!1;let o=r.state.selection.main;if(n.length>2||n.length==2&&Kr(dn(n,0))==1||e!=o.from||t!=o.to)return!1;let i=m1(r.state,n);return i?(r.dispatch(i),!0):!1});function m1(r,e){let t=f1(r,r.selection.main.head),n=t.brackets||Oa.brackets;for(let o of n){let i=h1(dn(o,0));if(e==o)return i==o?b1(r,o,n.indexOf(o+o+o)>-1,t):g1(r,o,i,t.before||Oa.before);if(e==i&&e0(r,r.selection.main.from))return y1(r,o,i)}return null}function e0(r,e){let t=!1;return r.field(Xb).between(0,r.doc.length,n=>{n==e&&(t=!0)}),t}function Ef(r,e){let t=r.sliceString(e,e+2);return t.slice(0,Kr(dn(t,0)))}function g1(r,e,t,n){let o=null,i=r.changeByRange(s=>{if(!s.empty)return{changes:[{insert:e,from:s.from},{insert:t,from:s.to}],effects:ao.of(s.to+e.length),range:D.range(s.anchor+e.length,s.head+e.length)};let l=Ef(r.doc,s.head);return!l||/\s/.test(l)||n.indexOf(l)>-1?{changes:{insert:e+t,from:s.head},effects:ao.of(s.head+e.length),range:D.cursor(s.head+e.length)}:{range:o=s}});return o?null:r.update(i,{scrollIntoView:!0,userEvent:"input.type"})}function y1(r,e,t){let n=null,o=r.changeByRange(i=>i.empty&&Ef(r.doc,i.head)==t?{changes:{from:i.head,to:i.head+t.length,insert:t},range:D.cursor(i.head+t.length)}:n={range:i});return n?null:r.update(o,{scrollIntoView:!0,userEvent:"input.type"})}function b1(r,e,t,n){let o=n.stringPrefixes||Oa.stringPrefixes,i=null,s=r.changeByRange(l=>{if(!l.empty)return{changes:[{insert:e,from:l.from},{insert:e,from:l.to}],effects:ao.of(l.to+e.length),range:D.range(l.anchor+e.length,l.head+e.length)};let a=l.head,c=Ef(r.doc,a),u;if(c==e){if(Qb(r,a))return{changes:{insert:e+e,from:a},effects:ao.of(a+e.length),range:D.cursor(a+e.length)};if(e0(r,a)){let f=t&&r.sliceDoc(a,a+e.length*3)==e+e+e?e+e+e:e;return{changes:{from:a,to:a+f.length,insert:f},range:D.cursor(a+f.length)}}}else{if(t&&r.sliceDoc(a-2*e.length,a)==e+e&&(u=Yb(r,a-2*e.length,o))>-1&&Qb(r,u))return{changes:{insert:e+e+e+e,from:a},effects:ao.of(a+e.length),range:D.cursor(a+e.length)};if(r.charCategorizer(a)(c)!=rt.Word&&Yb(r,a,o)>-1&&!x1(r,a,e,o))return{changes:{insert:e+e,from:a},effects:ao.of(a+e.length),range:D.cursor(a+e.length)}}return{range:i=l}});return i?null:r.update(s,{scrollIntoView:!0,userEvent:"input.type"})}function Qb(r,e){let t=qe(r).resolveInner(e+1);return t.parent&&t.from==e}function x1(r,e,t,n){let o=qe(r).resolveInner(e,-1),i=n.reduce((s,l)=>Math.max(s,l.length),0);for(let s=0;s<5;s++){let l=r.sliceDoc(o.from,Math.min(o.to,o.from+t.length+i)),a=l.indexOf(t);if(!a||a>-1&&n.indexOf(l.slice(0,a))>-1){let u=o.firstChild;for(;u&&u.from==o.from&&u.to-u.from>t.length+a;){if(r.sliceDoc(u.to-t.length,u.to)==t)return!1;u=u.firstChild}return!0}let c=o.to==e&&o.parent;if(!c)break;o=c}return!1}function Yb(r,e,t){let n=r.charCategorizer(e);if(n(r.sliceDoc(e-1,e))!=rt.Word)return e;for(let o of t){let i=e-o.length;if(r.sliceDoc(i,e)==o&&n(r.sliceDoc(i-1,i))!=rt.Word)return i}return-1}var v1=r=>{let{state:e}=r,t=e.doc.lineAt(e.selection.main.from),n=Of(r.state,t.from);return n.line?w1(r):n.block?C1(r):!1};function Af(r,e){return({state:t,dispatch:n})=>{if(t.readOnly)return!1;let o=r(e,t);return o?(n(t.update(o)),!0):!1}}var w1=Af(M1,0);var S1=Af(a0,0);var C1=Af((r,e)=>a0(r,e,k1(e)),0);function Of(r,e){let t=r.languageDataAt("commentTokens",e);return t.length?t[0]:{}}var Rs=50;function T1(r,{open:e,close:t},n,o){let i=r.sliceDoc(n-Rs,n),s=r.sliceDoc(o,o+Rs),l=/\s*$/.exec(i)[0].length,a=/^\s*/.exec(s)[0].length,c=i.length-l;if(i.slice(c-e.length,c)==e&&s.slice(a,a+t.length)==t)return{open:{pos:n-l,margin:l&&1},close:{pos:o+a,margin:a&&1}};let u,h;o-n<=2*Rs?u=h=r.sliceDoc(n,o):(u=r.sliceDoc(n,n+Rs),h=r.sliceDoc(o-Rs,o));let f=/^\s*/.exec(u)[0].length,d=/\s*$/.exec(h)[0].length,p=h.length-d-t.length;return u.slice(f,f+e.length)==e&&h.slice(p,p+t.length)==t?{open:{pos:n+f+e.length,margin:/\s/.test(u.charAt(f+e.length))?1:0},close:{pos:o-d-t.length,margin:/\s/.test(h.charAt(p-1))?1:0}}:null}function k1(r){let e=[];for(let t of r.selection.ranges){let n=r.doc.lineAt(t.from),o=t.to<=n.to?n:r.doc.lineAt(t.to),i=e.length-1;i>=0&&e[i].to>n.from?e[i].to=o.to:e.push({from:n.from+/^\s*/.exec(n.text)[0].length,to:o.to})}return e}function a0(r,e,t=e.selection.ranges){let n=t.map(i=>Of(e,i.from).block);if(!n.every(i=>i))return null;let o=t.map((i,s)=>T1(e,n[s],i.from,i.to));if(r!=2&&!o.every(i=>i))return{changes:e.changes(t.map((i,s)=>o[s]?[]:[{from:i.from,insert:n[s].open+" "},{from:i.to,insert:" "+n[s].close}]))};if(r!=1&&o.some(i=>i)){let i=[];for(let s=0,l;s<o.length;s++)if(l=o[s]){let a=n[s],{open:c,close:u}=l;i.push({from:c.pos-a.open.length,to:c.pos+c.margin},{from:u.pos-u.margin,to:u.pos+a.close.length})}return{changes:i}}return null}function M1(r,e,t=e.selection.ranges){let n=[],o=-1;for(let{from:i,to:s}of t){let l=n.length,a=1e9,c=Of(e,i).line;if(c){for(let u=i;u<=s;){let h=e.doc.lineAt(u);if(h.from>o&&(i==s||s>h.from)){o=h.from;let f=/^\s*/.exec(h.text)[0].length,d=f==h.length,p=h.text.slice(f,f+c.length)==c?f:-1;f<h.text.length&&f<a&&(a=f),n.push({line:h,comment:p,token:c,indent:f,empty:d,single:!1})}u=h.to+1}if(a<1e9)for(let u=l;u<n.length;u++)n[u].indent<n[u].line.text.length&&(n[u].indent=a);n.length==l+1&&(n[l].single=!0)}}if(r!=2&&n.some(i=>i.comment<0&&(!i.empty||i.single))){let i=[];for(let{line:l,token:a,indent:c,empty:u,single:h}of n)(h||!u)&&i.push({from:l.from+c,insert:a+" "});let s=e.changes(i);return{changes:s,selection:e.selection.map(s,1)}}else if(r!=1&&n.some(i=>i.comment>=0)){let i=[];for(let{line:s,comment:l,token:a}of n)if(l>=0){let c=s.from+l,u=c+a.length;s.text[u-s.from]==" "&&u++,i.push({from:c,to:u})}return{changes:i}}return null}var If=St.define(),E1=St.define(),R1=G.define(),c0=G.define({combine(r){return Xr(r,{minDepth:100,newGroupDelay:500,joinToEvent:(e,t)=>t},{minDepth:Math.max,newGroupDelay:Math.min,joinToEvent:(e,t)=>(n,o)=>e(n,o)||t(n,o)})}});function I1(r){let e=0;return r.iterChangedRanges((t,n)=>e=n),e}var u0=ot.define({create(){return zt.empty},update(r,e){let t=e.state.facet(c0),n=e.annotation(If);if(n){let a=e.docChanged?D.single(I1(e.changes)):void 0,c=Ke.fromTransaction(e,a),u=n.side,h=u==0?r.undone:r.done;return c?h=Va(h,h.length,t.minDepth,c):h=p0(h,e.startState.selection),new zt(u==0?n.rest:h,u==0?h:n.rest)}let o=e.annotation(E1);if((o=="full"||o=="before")&&(r=r.isolate()),e.annotation(me.addToHistory)===!1)return e.changes.empty?r:r.addMapping(e.changes.desc);let i=Ke.fromTransaction(e),s=e.annotation(me.time),l=e.annotation(me.userEvent);return i?r=r.addChanges(i,s,l,t,e):e.selection&&(r=r.addSelection(e.startState.selection,s,l,t.newGroupDelay)),(o=="full"||o=="after")&&(r=r.isolate()),r},toJSON(r){return{done:r.done.map(e=>e.toJSON()),undone:r.undone.map(e=>e.toJSON())}},fromJSON(r){return new zt(r.done.map(Ke.fromJSON),r.undone.map(Ke.fromJSON))}});function h0(r={}){return[u0,c0.of(r),J.domEventHandlers({beforeinput(e,t){let n=e.inputType=="historyUndo"?f0:e.inputType=="historyRedo"?Pf:null;return n?(e.preventDefault(),n(t)):!1}})]}function Fa(r,e){return function({state:t,dispatch:n}){if(!e&&t.readOnly)return!1;let o=t.field(u0,!1);if(!o)return!1;let i=o.pop(r,t,e);return i?(n(i),!0):!1}}var f0=Fa(0,!1),Pf=Fa(1,!1),P1=Fa(0,!0),D1=Fa(1,!0);var Ke=class{constructor(e,t,n,o,i){this.changes=e,this.effects=t,this.mapped=n,this.startSelection=o,this.selectionsAfter=i}setSelAfter(e){return new Ke(this.changes,this.effects,this.mapped,this.startSelection,e)}toJSON(){var e,t,n;return{changes:(e=this.changes)===null||e===void 0?void 0:e.toJSON(),mapped:(t=this.mapped)===null||t===void 0?void 0:t.toJSON(),startSelection:(n=this.startSelection)===null||n===void 0?void 0:n.toJSON(),selectionsAfter:this.selectionsAfter.map(o=>o.toJSON())}}static fromJSON(e){return new Ke(e.changes&&pe.fromJSON(e.changes),[],e.mapped&&wt.fromJSON(e.mapped),e.startSelection&&D.fromJSON(e.startSelection),e.selectionsAfter.map(D.fromJSON))}static fromTransaction(e,t){let n=_t;for(let o of e.startState.facet(R1)){let i=o(e);i.length&&(n=n.concat(i))}return!n.length&&e.changes.empty?null:new Ke(e.changes.invert(e.startState.doc),n,void 0,t||e.startState.selection,_t)}static selection(e){return new Ke(void 0,_t,void 0,void 0,e)}};function Va(r,e,t,n){let o=e+1>t+20?e-t-1:0,i=r.slice(o,e);return i.push(n),i}function L1(r,e){let t=[],n=!1;return r.iterChangedRanges((o,i)=>t.push(o,i)),e.iterChangedRanges((o,i,s,l)=>{for(let a=0;a<t.length;){let c=t[a++],u=t[a++];l>=c&&s<=u&&(n=!0)}}),n}function A1(r,e){return r.ranges.length==e.ranges.length&&r.ranges.filter((t,n)=>t.empty!=e.ranges[n].empty).length===0}function d0(r,e){return r.length?e.length?r.concat(e):r:e}var _t=[],O1=200;function p0(r,e){if(r.length){let t=r[r.length-1],n=t.selectionsAfter.slice(Math.max(0,t.selectionsAfter.length-O1));return n.length&&n[n.length-1].eq(e)?r:(n.push(e),Va(r,r.length-1,1e9,t.setSelAfter(n)))}else return[Ke.selection([e])]}function N1(r){let e=r[r.length-1],t=r.slice();return t[r.length-1]=e.setSelAfter(e.selectionsAfter.slice(0,e.selectionsAfter.length-1)),t}function Rf(r,e){if(!r.length)return r;let t=r.length,n=_t;for(;t;){let o=V1(r[t-1],e,n);if(o.changes&&!o.changes.empty||o.effects.length){let i=r.slice(0,t);return i[t-1]=o,i}else e=o.mapped,t--,n=o.selectionsAfter}return n.length?[Ke.selection(n)]:_t}function V1(r,e,t){let n=d0(r.selectionsAfter.length?r.selectionsAfter.map(l=>l.map(e)):_t,t);if(!r.changes)return Ke.selection(n);let o=r.changes.map(e),i=e.mapDesc(r.changes,!0),s=r.mapped?r.mapped.composeDesc(i):i;return new Ke(o,ae.mapEffects(r.effects,e),s,r.startSelection.map(i),n)}var F1=/^(input\.type|delete)($|\.)/,zt=class{constructor(e,t,n=0,o=void 0){this.done=e,this.undone=t,this.prevTime=n,this.prevUserEvent=o}isolate(){return this.prevTime?new zt(this.done,this.undone):this}addChanges(e,t,n,o,i){let s=this.done,l=s[s.length-1];return l&&l.changes&&!l.changes.empty&&e.changes&&(!n||F1.test(n))&&(!l.selectionsAfter.length&&t-this.prevTime<o.newGroupDelay&&o.joinToEvent(i,L1(l.changes,e.changes))||n=="input.type.compose")?s=Va(s,s.length-1,o.minDepth,new Ke(e.changes.compose(l.changes),d0(e.effects,l.effects),l.mapped,l.startSelection,_t)):s=Va(s,s.length,o.minDepth,e),new zt(s,_t,t,n)}addSelection(e,t,n,o){let i=this.done.length?this.done[this.done.length-1].selectionsAfter:_t;return i.length>0&&t-this.prevTime<o&&n==this.prevUserEvent&&n&&/^select($|\.)/.test(n)&&A1(i[i.length-1],e)?this:new zt(p0(this.done,e),this.undone,t,n)}addMapping(e){return new zt(Rf(this.done,e),Rf(this.undone,e),this.prevTime,this.prevUserEvent)}pop(e,t,n){let o=e==0?this.done:this.undone;if(o.length==0)return null;let i=o[o.length-1];if(n&&i.selectionsAfter.length)return t.update({selection:i.selectionsAfter[i.selectionsAfter.length-1],annotations:If.of({side:e,rest:N1(o)}),userEvent:e==0?"select.undo":"select.redo",scrollIntoView:!0});if(i.changes){let s=o.length==1?_t:o.slice(0,o.length-1);return i.mapped&&(s=Rf(s,i.mapped)),t.update({changes:i.changes,selection:i.startSelection,effects:i.effects,annotations:If.of({side:e,rest:s}),filter:!1,userEvent:e==0?"undo":"redo",scrollIntoView:!0})}else return null}};zt.empty=new zt(_t,_t);var m0=[{key:"Mod-z",run:f0,preventDefault:!0},{key:"Mod-y",mac:"Mod-Shift-z",run:Pf,preventDefault:!0},{linux:"Ctrl-Shift-z",run:Pf,preventDefault:!0},{key:"Mod-u",run:P1,preventDefault:!0},{key:"Alt-u",mac:"Mod-Shift-u",run:D1,preventDefault:!0}];function ui(r,e){return D.create(r.ranges.map(e),r.mainIndex)}function wn(r,e){return r.update({selection:e,scrollIntoView:!0,userEvent:"select"})}function rn({state:r,dispatch:e},t){let n=ui(r.selection,t);return n.eq(r.selection)?!1:(e(wn(r,n)),!0)}function Ba(r,e){return D.cursor(e?r.to:r.from)}function g0(r,e){return rn(r,t=>t.empty?r.moveByChar(t,e):Ba(t,e))}function je(r){return r.textDirectionAt(r.state.selection.main.head)==we.LTR}var y0=r=>g0(r,!je(r)),b0=r=>g0(r,je(r));function x0(r,e){return rn(r,t=>t.empty?r.moveByGroup(t,e):Ba(t,e))}var B1=r=>x0(r,!je(r)),H1=r=>x0(r,je(r));function _1(r,e,t){if(e.type.prop(t))return!0;let n=e.to-e.from;return n&&(n>2||/[^\s,.;:]/.test(r.sliceDoc(e.from,e.to)))||e.firstChild}function Ha(r,e,t){let n=qe(r).resolveInner(e.head),o=t?Q.closedBy:Q.openedBy;for(let a=e.head;;){let c=t?n.childAfter(a):n.childBefore(a);if(!c)break;_1(r,c,o)?n=c:a=t?c.to:c.from}let i=n.type.prop(o),s,l;return i&&(s=t?lo(r,n.from,1):lo(r,n.to,-1))&&s.matched?l=t?s.end.to:s.end.from:l=t?n.to:n.from,D.cursor(l,t?-1:1)}var z1=r=>rn(r,e=>Ha(r.state,e,!je(r))),W1=r=>rn(r,e=>Ha(r.state,e,je(r)));function v0(r,e){return rn(r,t=>{if(!t.empty)return Ba(t,e);let n=r.moveVertically(t,e);return n.head!=t.head?n:r.moveToLineBoundary(t,e)})}var w0=r=>v0(r,!1),S0=r=>v0(r,!0);function C0(r){let e=r.scrollDOM.clientHeight<r.scrollDOM.scrollHeight-2,t=0,n=0,o;if(e){for(let i of r.state.facet(J.scrollMargins)){let s=i(r);s!=null&&s.top&&(t=Math.max(s==null?void 0:s.top,t)),s!=null&&s.bottom&&(n=Math.max(s==null?void 0:s.bottom,n))}o=r.scrollDOM.clientHeight-t-n}else o=(r.dom.ownerDocument.defaultView||window).innerHeight;return{marginTop:t,marginBottom:n,selfScroll:e,height:Math.max(r.defaultLineHeight,o-5)}}function T0(r,e){let t=C0(r),{state:n}=r,o=ui(n.selection,s=>s.empty?r.moveVertically(s,e,t.height):Ba(s,e));if(o.eq(n.selection))return!1;let i;if(t.selfScroll){let s=r.coordsAtPos(n.selection.main.head),l=r.scrollDOM.getBoundingClientRect(),a=l.top+t.marginTop,c=l.bottom-t.marginBottom;s&&s.top>a&&s.bottom<c&&(i=J.scrollIntoView(o.main.head,{y:"start",yMargin:s.top-a}))}return r.dispatch(wn(n,o),{effects:i}),!0}var t0=r=>T0(r,!1),Df=r=>T0(r,!0);function mr(r,e,t){let n=r.lineBlockAt(e.head),o=r.moveToLineBoundary(e,t);if(o.head==e.head&&o.head!=(t?n.to:n.from)&&(o=r.moveToLineBoundary(e,t,!1)),!t&&o.head==n.from&&n.length){let i=/^\s*/.exec(r.state.sliceDoc(n.from,Math.min(n.from+100,n.to)))[0].length;i&&e.head!=n.from+i&&(o=D.cursor(n.from+i))}return o}var $1=r=>rn(r,e=>mr(r,e,!0)),U1=r=>rn(r,e=>mr(r,e,!1)),G1=r=>rn(r,e=>mr(r,e,!je(r))),q1=r=>rn(r,e=>mr(r,e,je(r))),K1=r=>rn(r,e=>D.cursor(r.lineBlockAt(e.head).from,1)),j1=r=>rn(r,e=>D.cursor(r.lineBlockAt(e.head).to,-1));function J1(r,e,t){let n=!1,o=ui(r.selection,i=>{let s=lo(r,i.head,-1)||lo(r,i.head,1)||i.head>0&&lo(r,i.head-1,1)||i.head<r.doc.length&&lo(r,i.head+1,-1);if(!s||!s.end)return i;n=!0;let l=s.start.from==i.head?s.end.to:s.end.from;return t?D.range(i.anchor,l):D.cursor(l)});return n?(e(wn(r,o)),!0):!1}var Q1=({state:r,dispatch:e})=>J1(r,e,!1);function Wt(r,e){let t=ui(r.state.selection,n=>{let o=e(n);return D.range(n.anchor,o.head,o.goalColumn,o.bidiLevel||void 0)});return t.eq(r.state.selection)?!1:(r.dispatch(wn(r.state,t)),!0)}function k0(r,e){return Wt(r,t=>r.moveByChar(t,e))}var M0=r=>k0(r,!je(r)),E0=r=>k0(r,je(r));function R0(r,e){return Wt(r,t=>r.moveByGroup(t,e))}var Y1=r=>R0(r,!je(r)),X1=r=>R0(r,je(r));var Z1=r=>Wt(r,e=>Ha(r.state,e,!je(r))),eE=r=>Wt(r,e=>Ha(r.state,e,je(r)));function I0(r,e){return Wt(r,t=>r.moveVertically(t,e))}var P0=r=>I0(r,!1),D0=r=>I0(r,!0);function L0(r,e){return Wt(r,t=>r.moveVertically(t,e,C0(r).height))}var n0=r=>L0(r,!1),r0=r=>L0(r,!0),tE=r=>Wt(r,e=>mr(r,e,!0)),nE=r=>Wt(r,e=>mr(r,e,!1)),rE=r=>Wt(r,e=>mr(r,e,!je(r))),oE=r=>Wt(r,e=>mr(r,e,je(r))),iE=r=>Wt(r,e=>D.cursor(r.lineBlockAt(e.head).from)),sE=r=>Wt(r,e=>D.cursor(r.lineBlockAt(e.head).to)),o0=({state:r,dispatch:e})=>(e(wn(r,{anchor:0})),!0),i0=({state:r,dispatch:e})=>(e(wn(r,{anchor:r.doc.length})),!0),s0=({state:r,dispatch:e})=>(e(wn(r,{anchor:r.selection.main.anchor,head:0})),!0),l0=({state:r,dispatch:e})=>(e(wn(r,{anchor:r.selection.main.anchor,head:r.doc.length})),!0),lE=({state:r,dispatch:e})=>(e(r.update({selection:{anchor:0,head:r.doc.length},userEvent:"select"})),!0),aE=({state:r,dispatch:e})=>{let t=za(r).map(({from:n,to:o})=>D.range(n,Math.min(o+1,r.doc.length)));return e(r.update({selection:D.create(t),userEvent:"select"})),!0},cE=({state:r,dispatch:e})=>{let t=ui(r.selection,n=>{var o;let i=qe(r).resolveInner(n.head,1);for(;!(i.from<n.from&&i.to>=n.to||i.to>n.to&&i.from<=n.from||!(!((o=i.parent)===null||o===void 0)&&o.parent));)i=i.parent;return D.range(i.to,i.from)});return e(wn(r,t)),!0},uE=({state:r,dispatch:e})=>{let t=r.selection,n=null;return t.ranges.length>1?n=D.create([t.main]):t.main.empty||(n=D.create([D.cursor(t.main.head)])),n?(e(wn(r,n)),!0):!1};function _a(r,e){if(r.state.readOnly)return!1;let t="delete.selection",{state:n}=r,o=n.changeByRange(i=>{let{from:s,to:l}=i;if(s==l){let a=e(s);a<s?(t="delete.backward",a=Na(r,a,!1)):a>s&&(t="delete.forward",a=Na(r,a,!0)),s=Math.min(s,a),l=Math.max(l,a)}else s=Na(r,s,!1),l=Na(r,l,!0);return s==l?{range:i}:{changes:{from:s,to:l},range:D.cursor(s)}});return o.changes.empty?!1:(r.dispatch(n.update(o,{scrollIntoView:!0,userEvent:t,effects:t=="delete.selection"?J.announce.of(n.phrase("Selection deleted")):void 0})),!0)}function Na(r,e,t){if(r instanceof J)for(let n of r.state.facet(J.atomicRanges).map(o=>o(r)))n.between(e,e,(o,i)=>{o<e&&i>e&&(e=t?i:o)});return e}var A0=(r,e)=>_a(r,t=>{let{state:n}=r,o=n.doc.lineAt(t),i,s;if(!e&&t>o.from&&t<o.from+200&&!/[^ \t]/.test(i=o.text.slice(0,t-o.from))){if(i[i.length-1]==" ")return t-1;let l=Zr(i,n.tabSize),a=l%ks(n)||ks(n);for(let c=0;c<a&&i[i.length-1-c]==" ";c++)t--;s=t}else s=Ge(o.text,t-o.from,e,e)+o.from,s==t&&o.number!=(e?n.doc.lines:1)&&(s+=e?1:-1);return s}),Lf=r=>A0(r,!1),O0=r=>A0(r,!0),N0=(r,e)=>_a(r,t=>{let n=t,{state:o}=r,i=o.doc.lineAt(n),s=o.charCategorizer(n);for(let l=null;;){if(n==(e?i.to:i.from)){n==t&&i.number!=(e?o.doc.lines:1)&&(n+=e?1:-1);break}let a=Ge(i.text,n-i.from,e)+i.from,c=i.text.slice(Math.min(n,a)-i.from,Math.max(n,a)-i.from),u=s(c);if(l!=null&&u!=l)break;(c!=" "||n!=t)&&(l=u),n=a}return n}),V0=r=>N0(r,!1),hE=r=>N0(r,!0),F0=r=>_a(r,e=>{let t=r.lineBlockAt(e).to;return e<t?t:Math.min(r.state.doc.length,e+1)}),fE=r=>_a(r,e=>{let t=r.lineBlockAt(e).from;return e>t?t:Math.max(0,e-1)});var dE=({state:r,dispatch:e})=>{if(r.readOnly)return!1;let t=r.changeByRange(n=>({changes:{from:n.from,to:n.to,insert:X.of(["",""])},range:D.cursor(n.from)}));return e(r.update(t,{scrollIntoView:!0,userEvent:"input"})),!0},pE=({state:r,dispatch:e})=>{if(r.readOnly)return!1;let t=r.changeByRange(n=>{if(!n.empty||n.from==0||n.from==r.doc.length)return{range:n};let o=n.from,i=r.doc.lineAt(o),s=o==i.from?o-1:Ge(i.text,o-i.from,!1)+i.from,l=o==i.to?o+1:Ge(i.text,o-i.from,!0)+i.from;return{changes:{from:s,to:l,insert:r.doc.slice(o,l).append(r.doc.slice(s,o))},range:D.cursor(l)}});return t.changes.empty?!1:(e(r.update(t,{scrollIntoView:!0,userEvent:"move.character"})),!0)};function za(r){let e=[],t=-1;for(let n of r.selection.ranges){let o=r.doc.lineAt(n.from),i=r.doc.lineAt(n.to);if(!n.empty&&n.to==i.from&&(i=r.doc.lineAt(n.to-1)),t>=o.number){let s=e[e.length-1];s.to=i.to,s.ranges.push(n)}else e.push({from:o.from,to:i.to,ranges:[n]});t=i.number+1}return e}function B0(r,e,t){if(r.readOnly)return!1;let n=[],o=[];for(let i of za(r)){if(t?i.to==r.doc.length:i.from==0)continue;let s=r.doc.lineAt(t?i.to+1:i.from-1),l=s.length+1;if(t){n.push({from:i.to,to:s.to},{from:i.from,insert:s.text+r.lineBreak});for(let a of i.ranges)o.push(D.range(Math.min(r.doc.length,a.anchor+l),Math.min(r.doc.length,a.head+l)))}else{n.push({from:s.from,to:i.from},{from:i.to,insert:r.lineBreak+s.text});for(let a of i.ranges)o.push(D.range(a.anchor-l,a.head-l))}}return n.length?(e(r.update({changes:n,scrollIntoView:!0,selection:D.create(o,r.selection.mainIndex),userEvent:"move.line"})),!0):!1}var mE=({state:r,dispatch:e})=>B0(r,e,!1),gE=({state:r,dispatch:e})=>B0(r,e,!0);function H0(r,e,t){if(r.readOnly)return!1;let n=[];for(let o of za(r))t?n.push({from:o.from,insert:r.doc.slice(o.from,o.to)+r.lineBreak}):n.push({from:o.to,insert:r.lineBreak+r.doc.slice(o.from,o.to)});return e(r.update({changes:n,scrollIntoView:!0,userEvent:"input.copyline"})),!0}var yE=({state:r,dispatch:e})=>H0(r,e,!1),bE=({state:r,dispatch:e})=>H0(r,e,!0),xE=r=>{if(r.state.readOnly)return!1;let{state:e}=r,t=e.changes(za(e).map(({from:o,to:i})=>(o>0?o--:i<e.doc.length&&i++,{from:o,to:i}))),n=ui(e.selection,o=>r.moveVertically(o,!0)).map(t);return r.dispatch({changes:t,selection:n,scrollIntoView:!0,userEvent:"delete.line"}),!0};function vE(r,e){if(/\(\)|\[\]|\{\}/.test(r.sliceDoc(e-1,e+1)))return{from:e,to:e};let t=qe(r).resolveInner(e),n=t.childBefore(e),o=t.childAfter(e),i;return n&&o&&n.to<=e&&o.from>=e&&(i=n.type.prop(Q.closedBy))&&i.indexOf(o.name)>-1&&r.doc.lineAt(n.to).from==r.doc.lineAt(o.from).from?{from:n.to,to:o.from}:null}var wE=_0(!1),SE=_0(!0);function _0(r){return({state:e,dispatch:t})=>{if(e.readOnly)return!1;let n=e.changeByRange(o=>{let{from:i,to:s}=o,l=e.doc.lineAt(i),a=!r&&i==s&&vE(e,i);r&&(i=s=(s<=l.to?l:e.doc.lineAt(s)).to);let c=new so(e,{simulateBreak:i,simulateDoubleBreak:!!a}),u=Cf(c,i);for(u==null&&(u=/^\s*/.exec(e.doc.lineAt(i).text)[0].length);s<l.to&&/\s/.test(l.text[s-l.from]);)s++;a?{from:i,to:s}=a:i>l.from&&i<l.from+100&&!/\S/.test(l.text.slice(0,i))&&(i=l.from);let h=["",Ms(e,u)];return a&&h.push(Ms(e,c.lineIndent(l.from,-1))),{changes:{from:i,to:s,insert:X.of(h)},range:D.cursor(i+1+h[1].length)}});return t(e.update(n,{scrollIntoView:!0,userEvent:"input"})),!0}}function Nf(r,e){let t=-1;return r.changeByRange(n=>{let o=[];for(let s=n.from;s<=n.to;){let l=r.doc.lineAt(s);l.number>t&&(n.empty||n.to>l.from)&&(e(l,o,n),t=l.number),s=l.to+1}let i=r.changes(o);return{changes:o,range:D.range(i.mapPos(n.anchor,1),i.mapPos(n.head,1))}})}var CE=({state:r,dispatch:e})=>{if(r.readOnly)return!1;let t=Object.create(null),n=new so(r,{overrideIndentation:i=>{let s=t[i];return s==null?-1:s}}),o=Nf(r,(i,s,l)=>{let a=Cf(n,i.from);if(a==null)return;/\S/.test(i.text)||(a=0);let c=/^\s*/.exec(i.text)[0],u=Ms(r,a);(c!=u||l.from<i.from+c.length)&&(t[i.from]=a,s.push({from:i.from,to:i.from+c.length,insert:u}))});return o.changes.empty||e(r.update(o,{userEvent:"indent"})),!0},TE=({state:r,dispatch:e})=>r.readOnly?!1:(e(r.update(Nf(r,(t,n)=>{n.push({from:t.from,insert:r.facet(Ts)})}),{userEvent:"input.indent"})),!0),kE=({state:r,dispatch:e})=>r.readOnly?!1:(e(r.update(Nf(r,(t,n)=>{let o=/^\s*/.exec(t.text)[0];if(!o)return;let i=Zr(o,r.tabSize),s=0,l=Ms(r,Math.max(0,i-ks(r)));for(;s<o.length&&s<l.length&&o.charCodeAt(s)==l.charCodeAt(s);)s++;n.push({from:t.from+s,to:t.from+o.length,insert:l.slice(s)})}),{userEvent:"delete.dedent"})),!0);var ME=[{key:"Ctrl-b",run:y0,shift:M0,preventDefault:!0},{key:"Ctrl-f",run:b0,shift:E0},{key:"Ctrl-p",run:w0,shift:P0},{key:"Ctrl-n",run:S0,shift:D0},{key:"Ctrl-a",run:K1,shift:iE},{key:"Ctrl-e",run:j1,shift:sE},{key:"Ctrl-d",run:O0},{key:"Ctrl-h",run:Lf},{key:"Ctrl-k",run:F0},{key:"Ctrl-Alt-h",run:V0},{key:"Ctrl-o",run:dE},{key:"Ctrl-t",run:pE},{key:"Ctrl-v",run:Df}],EE=[{key:"ArrowLeft",run:y0,shift:M0,preventDefault:!0},{key:"Mod-ArrowLeft",mac:"Alt-ArrowLeft",run:B1,shift:Y1,preventDefault:!0},{mac:"Cmd-ArrowLeft",run:G1,shift:rE,preventDefault:!0},{key:"ArrowRight",run:b0,shift:E0,preventDefault:!0},{key:"Mod-ArrowRight",mac:"Alt-ArrowRight",run:H1,shift:X1,preventDefault:!0},{mac:"Cmd-ArrowRight",run:q1,shift:oE,preventDefault:!0},{key:"ArrowUp",run:w0,shift:P0,preventDefault:!0},{mac:"Cmd-ArrowUp",run:o0,shift:s0},{mac:"Ctrl-ArrowUp",run:t0,shift:n0},{key:"ArrowDown",run:S0,shift:D0,preventDefault:!0},{mac:"Cmd-ArrowDown",run:i0,shift:l0},{mac:"Ctrl-ArrowDown",run:Df,shift:r0},{key:"PageUp",run:t0,shift:n0},{key:"PageDown",run:Df,shift:r0},{key:"Home",run:U1,shift:nE,preventDefault:!0},{key:"Mod-Home",run:o0,shift:s0},{key:"End",run:$1,shift:tE,preventDefault:!0},{key:"Mod-End",run:i0,shift:l0},{key:"Enter",run:wE},{key:"Mod-a",run:lE},{key:"Backspace",run:Lf,shift:Lf},{key:"Delete",run:O0},{key:"Mod-Backspace",mac:"Alt-Backspace",run:V0},{key:"Mod-Delete",mac:"Alt-Delete",run:hE},{mac:"Mod-Backspace",run:fE},{mac:"Mod-Delete",run:F0}].concat(ME.map(r=>({mac:r.key,run:r.run,shift:r.shift}))),Vf=[{key:"Alt-ArrowLeft",mac:"Ctrl-ArrowLeft",run:z1,shift:Z1},{key:"Alt-ArrowRight",mac:"Ctrl-ArrowRight",run:W1,shift:eE},{key:"Alt-ArrowUp",run:mE},{key:"Shift-Alt-ArrowUp",run:yE},{key:"Alt-ArrowDown",run:gE},{key:"Shift-Alt-ArrowDown",run:bE},{key:"Escape",run:uE},{key:"Mod-Enter",run:SE},{key:"Alt-l",mac:"Ctrl-l",run:aE},{key:"Mod-i",run:cE,preventDefault:!0},{key:"Mod-[",run:kE},{key:"Mod-]",run:TE},{key:"Mod-Alt-\\",run:CE},{key:"Shift-Mod-k",run:xE},{key:"Shift-Mod-\\",run:Q1},{key:"Mod-/",run:v1},{key:"Alt-A",run:S1}].concat(EE);var RE=[...Vf,...m0],IE=(()=>[cf(),h0(),af(),Zb(),Es(Tf,{fallback:!0}),oi.of(RE)])();var PE=require("@vuu-ui/vuu-utils");var z0=[{label:"=",boost:10,type:"operator"},{label:"!=",boost:9,type:"operator"}],DE=[...z0,{label:"in",boost:6,type:"operator"},{label:"starts",boost:5,type:"operator"},{label:"ends",boost:4,type:"operator"}],LE=[...z0,{label:">",boost:8,type:"operator"},{label:"<",boost:7,type:"operator"}];var HE=z(require("classnames"),1),Ff=require("react");var jH=dr.define({name:"VuuFilterQuery",parser:es.configure({props:[ws({Identifier:L.variableName,String:L.string,Or:L.emphasis,Operator:L.operator})]})});var NE=Bn.define([{tag:L.variableName,color:"var(--vuuFilterEditor-variableColor)"},{tag:L.comment,color:"green",fontStyle:"italic"}]),VE=Es(NE);var FE=J.theme({"&":{color:"var(--vuuFilterEditor-color)",backgroundColor:"var(--vuuFilterEditor-background)",fontSize:"var(--vuuFilterEditor-fontSize)"},".cm-content":{caretColor:"var(--vuuFilterEditor-cursorColor)",padding:0},".cm-line":{lineHeight:"var(--vuuFilterEditor-lineHeight)"},"&.cm-focused .cm-cursor":{borderLeftColor:"var(--vuuFilterEditor-cursorColor)"},"&.cm-focused .cm-selectionBackground, ::selection":{backgroundColor:"var(--vuuFilterEditor-selectionBackground)"},".cm-selectionBackground, ::selection":{backgroundColor:"var(--vuuFilterEditor-selectionBackground)"},".cm-scroller":{fontFamily:"var(--vuuFilterEditor-fontFamily)"},".cm-tooltip":{background:"var(--vuuFilterEditor-tooltipBackground)",border:"var(--vuuFilterEditor-tooltipBorder)",boxShadow:"var(--vuuFilterEditor-tooltipElevation)","&.cm-tooltip-autocomplete > ul":{fontFamily:"var(--vuuFilterEditor-fontFamily)",fontSize:"var(--vuuFilterEditor-fontSize)",maxHeight:"240px"},"&.cm-tooltip-autocomplete > ul > li":{alignItems:"center",display:"flex",height:"var(--vuuFilterEditor-suggestion-height)",padding:"0 3px",lineHeight:"var(--vuuFilterEditor-suggestion-height)"},"&.cm-tooltip-autocomplete li[aria-selected]":{background:"var(--vuuFilterEditor-suggestion-selectedBackground)",color:"var(--vuuFilterEditor-suggestion-selectedColor)"}},".cm-completionIcon":{height:"18px",flex:"0 0 16px"},".cm-completionLabel":{flex:"1 1 auto"},".cm-completionIcon-filter":{position:"relative","&:after":{background:"var(--salt-text-secondary-foreground)",content:"''","-webkit-mask":"var(--svg-filter) center center/13px 13px","-webkit-mask-repeat":"no-repeat",position:"absolute",height:"18px",left:"0px",top:"0px",width:"16px"}}},{dark:!1});var BE=require("react");var W0=require("react/jsx-runtime");var $0=require("react");var zE=require("@vuu-ui/vuu-utils");var Wa=r=>{let e=localStorage.getItem(r);return e?JSON.parse(e):void 0};var $a=(r,e)=>{try{return localStorage.setItem(r,JSON.stringify(e)),e}catch{return}};var q0=require("@vuu-ui/vuu-utils");var U0="layouts/metadata",G0="layouts/layouts",hi,Is=class{constructor(e){te(this,hi,"api/vui");e&&W(this,hi,e)}createLayout(e,t){return new Promise(n=>{Promise.all([this.loadLayouts(),this.loadMetadata()]).then(([o,i])=>{let s=(0,q0.getUniqueId)();this.appendAndPersist(s,e,t,o,i),n(s)})})}updateLayout(e,t,n){return new Promise((o,i)=>{this.validateIds(e).then(()=>Promise.all([this.loadLayouts(),this.loadMetadata()])).then(([s,l])=>{let a=s.filter(u=>u.id!==e),c=l.filter(u=>u.id!==e);this.appendAndPersist(e,t,n,a,c),o()}).catch(s=>i(s))})}deleteLayout(e){return new Promise((t,n)=>{this.validateIds(e).then(()=>Promise.all([this.loadLayouts(),this.loadMetadata()])).then(([o,i])=>{let s=o.filter(a=>a.id!==e),l=i.filter(a=>a.id!==e);this.saveLayoutsWithMetadata(s,l),t()}).catch(o=>n(o))})}loadLayout(e){return new Promise((t,n)=>{this.validateId(e,"layout").then(()=>this.loadLayouts()).then(o=>{let i=o.find(s=>s.id===e);t(i.json)}).catch(o=>n(o))})}loadMetadata(){return new Promise(e=>{let t=Wa(U0);e(t||[])})}loadApplicationLayout(){return new Promise(e=>{let t=Wa(T(this,hi));e(t||Po)})}saveApplicationLayout(e){return new Promise((t,n)=>{$a(T(this,hi),e)?t():n(new Error("Layout failed to save"))})}loadLayouts(){return new Promise(e=>{let t=Wa(G0);e(t||[])})}appendAndPersist(e,t,n,o,i){o.push({id:e,json:n}),i.push({id:e,...t}),this.saveLayoutsWithMetadata(o,i)}saveLayoutsWithMetadata(e,t){$a(G0,e),$a(U0,t)}async validateIds(e){return Promise.all([this.validateId(e,"metadata").catch(t=>t.message),this.validateId(e,"layout").catch(t=>t.message)]).then(t=>{let n=t.filter(o=>o!==void 0).join("; ");if(n)throw new Error(n)})}validateId(e,t){return new Promise((n,o)=>{(t==="metadata"?this.loadMetadata:this.loadLayouts)().then(s=>{switch(s.filter(a=>a.id===e).length){case 1:{n();break}case 0:{o(new Error(`No ${t} with ID ${e}`));break}default:o(new Error(`Non-unique ${t} with ID ${e}`))}})})}};hi=new WeakMap;var Bf=z(require("react")),WE=z(require("classnames"));var Hf=require("react/jsx-runtime");function K0(r){var e,t,n="";if(typeof r=="string"||typeof r=="number")n+=r;else if(typeof r=="object")if(Array.isArray(r))for(e=0;e<r.length;e++)r[e]&&(t=K0(r[e]))&&(n&&(n+=" "),n+=t);else for(e in r)r[e]&&(n&&(n+=" "),n+=e);return n}function co(){for(var r,e,t=0,n="";t<arguments.length;)(r=arguments[t++])&&(e=K0(r))&&(n&&(n+=" "),n+=e);return n}var $E=/[.*+?^${}()|[\]\\]/g;function Ua(r){return r.replace($E,"\\$&")}var UE=require("react/jsx-runtime"),Ga=require("react"),GE=(0,Ga.createContext)(typeof window<"u"?window:null);function Hn(){return(0,Ga.useContext)(GE)}var qa=z(require("react"));var qE=require("react/jsx-runtime"),Ps=require("react"),KE=(0,Ps.createContext)(null);function j0(){return(0,Ps.useContext)(KE)}var J0,jE=(J0=qa.useInsertionEffect)!=null?J0:qa.useLayoutEffect,_f=new WeakMap;function _n({testId:r,css:e,window:t}){let n=j0();jE(()=>{var o,i;if(!t)return;let s=(o=_f.get(t))!=null?o:new Map,l=(i=s.get(e))!=null?i:{styleElement:null,count:0};return l.styleElement==null?(l.styleElement=t.document.createElement("style"),l.styleElement.setAttribute("type","text/css"),l.styleElement.setAttribute("data-salt-style",r||""),l.styleElement.textContent=e,l.count=1,t.document.head.insertBefore(l.styleElement,n||t.document.head.firstChild)):(l.styleElement.textContent=e,l.count++),s.set(e,l),_f.set(t,s),()=>{let a=_f.get(t),c=a==null?void 0:a.get(e);c!=null&&c.styleElement&&(c.count--,c.count<1&&(t.document.head.removeChild(c.styleElement),c.styleElement=null,a==null||a.delete(e)))}},[r,e,t])}var q3=require("@salt-ds/core"),K3=require("react");var JE=require("react/jsx-runtime"),Ds=require("react"),QE=(0,Ds.createContext)(void 0);function Q0(){let r=(0,Ds.useContext)(QE);if(r)return r}function YE(r,...e){let t=new Set(r);for(let n of e)for(let o of n)t.add(o);return t}var Ls="ArrowUp",As="ArrowDown",Y0="ArrowLeft",X0="ArrowRight",zf="Enter",Ka="Home",Os="End",Wf="PageUp",ja="PageDown",Z0=" ",XE=new Set(["Enter","Delete"," "]),ZE=new Set(["Tab"]),eR=new Set(["ArrowRight","ArrowLeft"]),ex=new Set([Ka,Os,Wf,ja,As,Ls]),tR=new Set(["F1","F2","F3","F4","F5","F6","F7","F8","F9","F10","F11","F12"]),nR=YE(XE,ex,eR,tR,ZE),Ja=r=>nR.has(r.key)?!1:r.key.length===1&&!r.ctrlKey&&!r.metaKey&&!r.altKey,tx=({key:r})=>ex.has(r);var ie=require("react");var di=require("react");var nx=r=>null;var rx=r=>null;var rR=r=>Object.prototype.toString.call(r)==="[object Object]";function fi(r){return typeof r=="string"?r:rR(r)?Object.prototype.hasOwnProperty.call(r,"label")?String(r.label):(console.warn(["itemToString: you've likely forgotten to set the label prop on the item object.","You can also provide your own `itemToString` implementation."].join(`
|
|
27
|
+
`)),""):String(r)}var $f=(r,e)=>r!==null&&Object.prototype.hasOwnProperty.call(r,e),Uf=r=>$f(r,"header"),ox=r=>$f(r,"childNodes"),Ns=(r,e)=>r&&Object.prototype.hasOwnProperty.call(r.props,e),ix=r=>{if((0,di.isValidElement)(r)){if(Ns(r,"disabled"))return r.props.disabled===!0}else if($f(r,"disabled"))return r.disabled===!0;return!1},sx=r=>(0,di.isValidElement)(r)&&Ns(r,"focusable")?r.props.focusable:!0,lx=(r,e,t)=>{if(r.childNodes)return r.childNodes.length;if(r.header){let n=t+1,o=0;for(;n<e.length&&!e[n].header;)o++,n++;return o}else return 0},oR=r=>{if(typeof r.props.children=="string")return r.props.children;if(r.props.title)return r.props.title;if(r.props.label)return r.props.label},ax=r=>r.type===rx||Ns(r,"data-header"),cx=r=>r.type===nx||Ns(r,"data-group"),iR=r=>Ns(r,"selectable")?r.props.selectable===!0:!cx(r)&&!ax(r),sR=r=>{if(cx(r)){let{props:{children:e}}=r;if(typeof e!="string")return qf(e)}},lR=(r,e)=>{let t=[];return di.Children.forEach(r,n=>{(0,di.isValidElement)(n)&&t.push(e(n))}),t},Gf=(r,e)=>{if(Array.isArray(r))return r.length===0&&(e!=null&&e.noChildrenLabel)?[{label:e.noChildrenLabel,value:null}]:r.map((t,n)=>{var o,i;return{childNodes:Gf(t.childNodes,e),description:t.description,expanded:t.expanded,value:t,label:(i=(o=e==null?void 0:e.itemToString)==null?void 0:o.call(e,t))!=null?i:fi(t)}});if(r)throw Error("list-child-items expects source to be an array")},qf=r=>{if(r)return lR(r,e=>{let{"data-id":t,disabled:n,id:o=t,"data-expanded":i,expanded:s=i}=e.props;return{childNodes:sR(e),disabled:n,expanded:s,header:ax(e),id:o,label:oR(e),selectable:iR(e),value:e}})},aR=new Set(["/","-","."]),cR=r=>aR.has(r),ux=(r,e)=>e.startsWith(r)&&cR(e[r.length]),uR=new Set([".","/"]);function hR(r,e){return e.startsWith(r)?uR.has(e.charAt(r.length)):!1}function Qa(r,e,t){let n;return r.map(i=>i.id===e?{...i,...t}:hR(i.id,e)&&i.childNodes?(n=Qa(i.childNodes,e,t),{...i,childNodes:n}):i)}var V_=require("react"),F_=require("@salt-ds/core"),fR=r=>r&&r.replace(/^\s+/g,""),Kf=r=>new RegExp(`(${Ua(fR(r))})`,"gi"),hx=(r="",e=Kf)=>(t="")=>!!t.length&&!!r.length&&t.match(e(r))!==null;var dR={},fx=({children:r,id:e,label:t="",options:n=dR,source:o})=>{var i;let{getItemId:s}=n,[,l]=(0,ie.useState)(null),a=Q0(),c=(0,ie.useRef)([]),u=(0,ie.useRef)([]),h=(0,ie.useMemo)(()=>[],[]),f=(0,ie.useRef)((i=n.filterPattern)!=null?i:""),{getFilterRegex:d=Kf,noChildrenLabel:p,itemToString:m=fi}=n,y=(0,ie.useCallback)(O=>n.defaultExpanded||!1,[n.defaultExpanded]),g=(0,ie.useCallback)((O,N,F=1,q="",Z=[],ne=[],Je=[])=>(O.forEach((ye,Mt,Tr)=>{var sn,se;let ce=ye.header&&n.collapsibleHeaders,Ve=ye.childNodes&&n.collapsibleHeaders===!1,Gt=!ye.childNodes||ye.childNodes.length===0,Ti=Ve||Gt&&!ce,ki=q?`${q}.${Mt}`:`item-${Mt}`,Mi=(sn=ye.id)!=null?sn:s?s(Mt):`${e}-${ki}`,qt=Ti?void 0:(se=ye.expanded)!=null?se:y(Mi),Ei={...ye,childNodes:void 0,count:!Ve&&qt===void 0?0:lx(ye,Tr,Mt),description:ye.description,disabled:ix(ye.value),focusable:sx(ye.value)?void 0:!1,id:Mi,index:N.value,expanded:qt,level:F};if(Z.push(Ei),ne.push(Ei),Je.push(O[Mt].value),N.value+=1,ye.childNodes){let[wc]=g(ye.childNodes,N,F+1,ki,[],ne,Je);Ei.childNodes=wc}}),[Z,Je,ne]),[n.collapsibleHeaders,s,e,y]),v=(0,ie.useCallback)(()=>f.current?hx(f.current,d):null,[d]),w=(0,ie.useCallback)((O,N=v(),F=[],q={value:0})=>{let Z=!1;for(let ne of O)Z&&!Uf(ne)||(ne.value!==null&&(N===null||N(m(ne.value)))&&(F[q.value]=ne,q.value+=1),Z=!1,Uf(ne)&&ne.expanded===!1?Z=!0:ox(ne)&&ne.expanded!==!1&&ne.childNodes&&w(ne.childNodes,N,F,q));return F},[v,m]),x=(0,ie.useMemo)(()=>a?h:Gf(o,{itemToString:m,noChildrenLabel:p})||qf(r)||[],[a,h,o,m,p,r]),[S,b,C]=(0,ie.useMemo)(()=>a?[h,h,h]:g(x,{value:0}),[h,g,a,x]);u.current=C,(0,ie.useMemo)(()=>a?h:c.current=w(S),[h,w,S,a]);let k=(0,ie.useRef)(S),E=(0,ie.useCallback)((O="")=>{typeof O=="string"&&(f.current=O,c.current=w(S),l({}))},[S,w]),R=(0,ie.useCallback)((O,N=S)=>{let F=N.find(q=>{var Z;return q.id===O||((Z=q==null?void 0:q.childNodes)==null?void 0:Z.length)&&ux(q.id,O)});if((F==null?void 0:F.id)===O)return b==null?void 0:b[F.index];if(F)return R(O,F.childNodes);throw Error(`useCollectionData itemById, id ${O} not found `)},[b,S]),M=(0,ie.useCallback)(O=>{let N=u.current.find(F=>(0,ie.isValidElement)(F.value)?F.label===O:F.value===O);if(N)return N;throw Error("useCollectionData toCollectionItem, item not found ")},[]),P=(0,ie.useCallback)(O=>{if(O===null)return null;if(Array.isArray(O)){let N=[];for(let F of O){let q=M(F);N.push(q)}return N}else if(O!==void 0)return M(O)},[M]),I=(0,ie.useCallback)(O=>{let N=F=>{let q=u.current.find(Z=>(0,ie.isValidElement)(Z.value)?Z.label===F:Z.value!==null&&m(Z.value)===F);if(q)return q};if(O===null)return null;if(Array.isArray(O)){let F=[];for(let q of O){let Z=N(q);Z&&F.push(Z)}return F}else if(O!==void 0)return N(O)},[m]),V=(0,ie.useCallback)(O=>{for(let N of k.current)if(O===N.value)return N.id;throw Error("useCollectionData itemToId, item not found")},[]),B=(0,ie.useCallback)(O=>{k.current=Qa(k.current,O.id,{expanded:!1}),c.current=w(k.current),l({})},[w]),$=(0,ie.useCallback)(O=>{k.current=Qa(k.current,O.id,{expanded:!0}),c.current=w(k.current),l({})},[w]);return a||{collapseGroupItem:B,data:c.current,expandGroupItem:$,setFilterPattern:E,itemById:R,itemToId:V,toCollectionItem:M,itemToCollectionItem:P,stringToCollectionItem:I}};var jf=require("@salt-ds/core"),Xa=require("react");var dx=["height"];var uo=new WeakMap,px=(r,e,t)=>{switch(t){case"height":return e.height;case"scrollHeight":return r.scrollHeight;case"scrollWidth":return r.scrollWidth;case"width":return e.width;default:return 0}},Ya=typeof ResizeObserver<"u"?new ResizeObserver(r=>{for(let e of r){let{target:t,contentRect:n}=e,o=uo.get(t);if(o){let{onResize:i,measurements:s}=o,l=!1;for(let[a,c]of Object.entries(s)){let u=px(t,n,a);u!==c&&(l=!0,s[a]=u)}l&&i&&i(s)}}}):null;function Vs(r,e,t,n=!1){let o=(0,Xa.useRef)(e),i=(0,Xa.useCallback)(s=>{let l=s.getBoundingClientRect();return o.current.reduce((a,c)=>(a[c]=px(s,l,c),a),{})},[]);(0,jf.useIsomorphicLayoutEffect)(()=>{if(!Ya)return;let s=r.current,l=!1;async function a(){uo.set(s,{measurements:{}}),l=!1;let{fonts:c}=document;if(c&&await c.ready,!l&&Ya){let u=uo.get(s);if(u){let h=i(s);u.measurements=h,Ya.observe(s),n&&t(h)}}}if(s){if(uo.has(s))throw Error("useResizeObserver attemping to observe same element twice");a()}return()=>{s&&uo.has(s)&&(Ya.unobserve(s),uo.delete(s),l=!0)}},[r,i]),(0,jf.useIsomorphicLayoutEffect)(()=>{let s=r.current,l=uo.get(s);if(l){if(o.current!==e){o.current=e;let a=i(s);l.measurements=a}l.onResize=t}},[e,i,r,t])}var $t=require("react/jsx-runtime"),Ut=require("react"),gi=require("@salt-ds/core");var Za=require("react"),pR={scrollToIndex:r=>{},scrollToItem:r=>{},scrollTo:r=>{}},mx=({collectionHook:r,forwardedRef:e,scrollableRef:t,scrollIntoView:n})=>{let o=(0,Za.useMemo)(()=>({scrollToIndex:i=>{let s=r.data[i];s&&(n==null||n(s))},scrollToItem:i=>{let s=r.toCollectionItem(i);s&&(n==null||n(s))},scrollTo:i=>{t!=null&&t.current&&(t.current.scrollTop=i)}}),[r.data,r.toCollectionItem,n]);(0,Za.useImperativeHandle)(e,()=>t.current?o:pR,[o])};var vx=require("@salt-ds/core"),st=require("react");var gx=r=>Array.isArray(r)?r.length>0:r!=null,yx=r=>Array.isArray(r)?r[0]:r;var Qf=-2;function bx(r,e,t){return e===Ls||e===Os?t>0?t-1:t:t===null?0:t===r-1?t:t+1}var Jf=(r,e)=>{let t=yx(e);return t?r.indexOf(t):-1},mR=(r,e,t,n)=>r===Os?n:r===Ka?-1:e!==-1?e:t,wx=r=>{let e=document.getElementById(r.id);if(e)return e.getBoundingClientRect();throw Error(`useKeyboardNavigation.getItemRect no element found for item #${r==null?void 0:r.id}`)},gR=(r,e,t,n)=>{let{top:o}=e.getBoundingClientRect(),{scrollTop:i,clientHeight:s,scrollHeight:l}=r,a=t.length-1,c=Math.min(i+s,l-s);if(c!==i&&n<a){r.scrollTo(0,c);let u=n,h;do u+=1,h=wx(t[u]);while(h.top<o&&u<a);return u}},yR=async(r,e,t,n)=>{let{top:o}=e.getBoundingClientRect(),{scrollTop:i,clientHeight:s}=r,l=Math.max(i-s,0);if(l!==i&&n>0)return r.scrollTo(0,l),new Promise(a=>{requestAnimationFrame(()=>{let c=n,u;do c-=1,u=wx(t[c]);while(u.top>o&&c>0);a(c)})})},bR=r=>!r.header&&!r.childNodes,xx=r=>bR(r)||r.expanded!==void 0,Sx=({containerRef:r,defaultHighlightedIndex:e=-1,disableHighlightOnFocus:t,highlightedIndex:n,indexPositions:o,onHighlight:i,onKeyboardNavigation:s,restoreLastFocus:l,selected:a})=>{let c=(0,st.useRef)(-1),[,u]=(0,st.useState)({}),[h,f,d]=(0,vx.useControlled)({controlled:n,default:e,name:"UseKeyboardNavigation"}),p=(0,st.useCallback)((k,E=!1)=>{i==null||i(k),f(k),E&&(c.current=k)},[i,f]),m=(0,st.useCallback)(async(k,E)=>{let{id:R}=o[E],M;if(R){let P=document.getElementById(R),{current:I}=r;P&&I&&(M=k.key===ja?gR(I,P,o,E):await yR(I,P,o,E))}return M!=null?M:E},[r,o]),y=(0,st.useCallback)((k=As,E=k===As?-1:o.length)=>{if(o.length===0)return-1;{let R=Jf(o,a),M=mR(k,E,R,o.length),P=bx(o.length,k,M);if(P===0&&k===Ls&&!xx(o[0]))return E;for(;((k===As||k===Ka)&&P<o.length||(k===Ls||k===Os)&&P>0)&&!xx(o[P]);)P=bx(o.length,k,P);return P}},[o,a]),g=(0,st.useRef)(!1),v=(0,st.useRef)(!1),w=k=>v.current=k,x=(0,st.useCallback)(k=>{if(v.current)v.current=!1;else if(g.current=!0,o.length===0)p(Qf);else if(h!==-1)u({});else if(l)if(c.current!==-1)p(c.current);else{let E=Jf(o,a);p(E!==-1?E:0)}else if(gx(a)){let E=Jf(o,a);p(E)}else t!==!0&&p(y())},[t,h,o,y,l,a,p]),S=(0,st.useCallback)(async k=>{let E=k.key===ja||k.key===Wf?await m(k,h):y(k.key,h);E!==h&&p(E,!0),s==null||s(k,E)},[h,y,m,s,p]),b=(0,st.useCallback)(k=>{o.length>0&&tx(k)?(k.preventDefault(),k.stopPropagation(),g.current=!0,S(k)):Ja(k)&&(g.current=!0)},[o,S]),C=(0,st.useMemo)(()=>({onBlur:k=>{let E=k.target.closest(".saltList"),R=k.relatedTarget;E&&!(E!=null&&E.contains(R))&&(g.current=!1,f(-1),l||(c.current=-1))},onFocus:x,onKeyDown:b,onMouseDownCapture:()=>{g.current=!1,w(!0)},onMouseMove:()=>{g.current&&(g.current=!1)},onMouseLeave:()=>{g.current=!1,w(!1),p(-1)}}),[x,b,l,f,p]);return{focusVisible:g.current?h:-1,controlledHighlighting:d,highlightedIndex:h,setHighlightedIndex:p,keyboardNavigation:g,listProps:C,setIgnoreFocus:w}};function Cx(r,e){return Array.isArray(r)?r.includes(e):r===e}var ho=require("react/jsx-runtime"),Yf=require("react");var ec=require("@salt-ds/core");var pi=require("react/jsx-runtime"),kx=require("@salt-ds/core");var Z_=require("react");var Tx=`.saltHighlighter-highlight {
|
|
28
28
|
font-weight: var(--salt-text-fontWeight-strong); /* TODO: Check with design */
|
|
29
29
|
}
|
|
30
|
-
`;var
|
|
30
|
+
`;var xR=(0,kx.makePrefixer)("saltHighlighter"),Mx=r=>{let{matchPattern:e,text:t=""}=r,n=Hn();_n({testId:"salt-hightligher",css:Tx,window:n});let o=typeof e=="string"?new RegExp(`(${Ua(e)})`,"gi"):e;return o===void 0?(0,pi.jsx)(pi.Fragment,{children:t}):(0,pi.jsx)("span",{children:t.split(o).map((i,s)=>i.match(o)?(0,pi.jsx)("strong",{className:xR("highlight"),children:i},`${s}-${i}`):i)})};var Ex=`.saltListItem {
|
|
31
31
|
/* Color */
|
|
32
32
|
--list-item-text-color: var(--salt-text-primary-foreground);
|
|
33
33
|
--list-item-background: var(--saltList-item-background, var(--salt-selectable-background));
|
|
@@ -118,7 +118,7 @@
|
|
|
118
118
|
position: absolute !important;
|
|
119
119
|
visibility: hidden;
|
|
120
120
|
}
|
|
121
|
-
`;var
|
|
121
|
+
`;var Fs=(0,ec.makePrefixer)("saltListItem"),Xf=(0,Yf.forwardRef)(function(e,t){return(0,ho.jsx)("div",{"aria-hidden":!0,className:co(Fs(),Fs("proxy")),ref:t})}),Bs=(0,Yf.forwardRef)(function({children:e,className:t,disabled:n,tabIndex:o,item:i,itemHeight:s,itemTextHighlightPattern:l,label:a,selectable:c,selected:u,showCheckbox:h,style:f,...d},p){let m=Hn();_n({testId:"salt-list-item",css:Ex,window:m});let y=co(Fs(),t,{saltDisabled:n,[Fs("checkbox")]:h}),g=s!==void 0?{...f,height:s}:f;return(0,ho.jsxs)("div",{className:y,...d,"aria-disabled":n||void 0,"aria-selected":u||void 0,ref:p,style:g,children:[h&&(0,ho.jsx)(ec.CheckboxIcon,{"aria-hidden":!0,checked:u}),e&&typeof e!="string"?e:l==null?(0,ho.jsx)("span",{className:Fs("textWrapper"),children:a||e}):(0,ho.jsx)(Mx,{matchPattern:l,text:a||e})]})});var on=require("react"),v3=require("@salt-ds/core");var Zf=require("react");var vR={},wR=r=>Array.isArray(r.childNodes),SR=r=>r.closest("[data-toggle],[aria-expanded]").dataset.toggle==="true",Rx=({collapsibleHeaders:r,collectionHook:e,highlightedIdx:t,onToggle:n})=>{let o=(0,Zf.useCallback)(l=>{if(l.key===X0||l.key===zf){let a=e.data[t];a&&a.expanded===!1&&a.value&&(l.preventDefault(),e.expandGroupItem(a),n==null||n(a.value))}if(l.key===Y0||l.key===zf){let a=e.data[t];a&&a.expanded&&a.value&&(l.preventDefault(),e.collapseGroupItem(a),n==null||n(a.value))}},[e.collapseGroupItem,e.data,e.expandGroupItem,t]),s={onClick:(0,Zf.useCallback)(l=>{console.log(`useCollapsibleGroups idx=${t}`);let a=e.data[t];console.log(l.target,l.currentTarget),a&&wR(a)&&SR(l.target)&&(l.stopPropagation(),l.preventDefault(),a.expanded===!1&&a.value?(e.expandGroupItem(a),n==null||n(a.value)):a.expanded===!0&&a.value&&(e.collapseGroupItem(a),n==null||n(a.value)))},[e.collapseGroupItem,e.data,e.expandGroupItem,t]),onKeyDown:o};return r?s:vR};function CR(r){if(r){let e=r.dataset.idx;if(e)return parseInt(e,10);if(e=r.ariaPosInSet)return parseInt(e,10)-1}return-1}var TR=r=>r.closest("[data-idx],[aria-posinset]"),Ix=r=>CR(TR(r));var Dx=require("@salt-ds/core"),ft=require("react");var kR=["Enter"," "],ed=r=>r&&r.disabled!==!0&&r.selectable!==!1,Px=(r,e)=>{var t,n;return((t=r.index)!=null?t:0)-((n=e.index)!=null?n:0)},Lx=({defaultSelected:r,disableSelection:e=!1,highlightedIdx:t,indexPositions:n,label:o="",onSelect:i,onSelectionChange:s,selected:l,selectionStrategy:a,selectionKeys:c=kR,tabToSelect:u})=>{let h=a==="deselectable",f=a==="multiple",d=a==="extended",p=(0,ft.useRef)(-1),m=(0,ft.useCallback)(I=>c.includes(I.key),[c]),y=(0,ft.useCallback)(()=>f||d?[]:null,[f,d]),[g,v]=(0,Dx.useControlled)({controlled:l,default:r!=null?r:y(),name:"UseSelection",state:"selected"}),w=(0,ft.useCallback)(I=>Array.isArray(g)?g.includes(I):g===I,[g]),x=(0,ft.useCallback)(I=>I,[]),S=(0,ft.useCallback)(I=>w(I)?null:I,[w]),b=(0,ft.useCallback)(I=>{let V=w(I)?g.filter(B=>B!==I):g.concat(I);return V.sort(Px),V},[w,g]),C=(0,ft.useCallback)((I,V)=>{let B=V?g:[],[$]=g.slice(-1),O=$?n.indexOf($):0,N=Math.min(I,O),F=Math.max(I,O),q=n.slice(N,F+1),Z=[...new Set([...B,...q])];return Z.sort(Px),Z},[n,g]),k=(0,ft.useCallback)((I,V,B,$,O)=>{let N;f?N=b(B):d?O&&!$?N=b(B):$?N=C(V,O):N=[B]:h?N=S(B):N=x(B),N!==g&&v(N),i==null||i(I,B),N!==g&&s&&s(I,N)},[f,d,h,g,i,b,C,S,x,v,s]),E=(0,ft.useCallback)(I=>{let V=n[t];ed(V)&&(m(I)||u&&I.key==="Tab")&&(I.key!=="Tab"&&I.preventDefault(),k(I,t,V,!1,I.ctrlKey||I.metaKey),d&&(p.current=t))},[n,t,m,u,k,d]),R=(0,ft.useCallback)((I,V)=>{if(d&&I.shiftKey){let B=n[V];ed(B)&&k(I,V,B,!0)}},[d,n,k]);return{listHandlers:{onClick:(0,ft.useCallback)(I=>{let V=n[t];!e&&ed(V)&&(I.preventDefault(),I.stopPropagation(),k(I,t,V,I.shiftKey,I.ctrlKey||I.metaKey),d&&(p.current=t))},[e,d,t,n,k]),onKeyDown:E,onKeyboardNavigation:R},selected:g,setSelected:v}};var fo=require("react");var Ax=({disableTypeToSelect:r,highlightedIdx:e,highlightItemAtIndex:t,typeToNavigate:n,items:o,applyIncrementalSearch:i=!0})=>{let s=(0,fo.useRef)(null),l=(0,fo.useRef)(""),a=(0,fo.useRef)(-1),c=(0,fo.useCallback)(h=>{if(h||!i){let f=new RegExp(`^${l.current}`,"i"),d=o.findIndex(({label:p},m)=>m>a.current&&f.test(p));d===-1&&(d=o.findIndex(({label:p},m)=>m<=a.current&&f.test(p))),d!==-1&&t(d)}else l.current="",s.current=null,a.current=-1},[i,t,o]),u=(0,fo.useCallback)(h=>{let f=a.current!==-1;(Ja(h)||f&&h.key===Z0)&&n&&(h.preventDefault(),h.stopPropagation(),(a.current===-1||h.key===l.current)&&(a.current=e),s.current!==null&&(clearTimeout(s.current),s.current=null),h.key!==l.current&&(l.current+=h.key),i&&c(!0),s.current=window.setTimeout(()=>{c()},100))},[n,i,e,c]);return{onKeyDown:r?void 0:u}};var Sn=require("react"),Fx=require("@salt-ds/core"),y3=require("react/jsx-runtime");var Ox=["height"],MR=["height","scrollHeight"],ER=[],Nx={containerOnly:[MR,ER],withContent:[Ox,Ox]},RR=r=>r?Nx.containerOnly:Nx.withContent,Vx={current:null},IR=(r,e)=>{let{transform:t="none"}=getComputedStyle(r);if(t.startsWith("matrix")){let n=t.lastIndexOf(",");return parseInt(t.slice(n+1))}else{let n=r.offsetParent;if(n===e||e===null)return r.offsetTop;{let o=r.offsetTop;for(;n!==null&&n!==e;)o+=n.offsetTop,n=n.offsetParent;return o}}},Bx=({containerRef:r,contentRef:e=Vx,highlightedIdx:t=-1,indexPositions:n,stickyHeaders:o=!1})=>{let i=(0,Sn.useRef)(!1),s=(0,Sn.useRef)({height:0,contentHeight:0}),l=(0,Sn.useCallback)(m=>{i.current=!0,r.current&&(r.current.scrollTop=m),setTimeout(()=>{i.current=!1})},[]),a=(0,Sn.useCallback)(()=>l(0),[l]),c=(0,Sn.useCallback)(()=>{l(s.current.contentHeight-s.current.height)},[l]),u=(0,Sn.useCallback)(m=>{let y=e.current||r.current;if(m.id){let g=document.getElementById(m.id);if(g&&r.current){let{height:v}=s.current,w=g.ariaExpanded&&g.firstChild?g.firstChild:g,x=o?36:0,S=IR(w,y),b=w.offsetHeight,{scrollTop:C}=r.current,k=C+x,E=k+v-x;if(S+b>E||S<k){let R=S+b>E?C+(S+b)-E:S-x;l(R)}}}},[r,e,l,o]);(0,Fx.useIsomorphicLayoutEffect)(()=>{let{height:m,contentHeight:y}=s.current,g=n[t];if(y>m&&g){let[v]=n,[w]=n.slice(-1);g===v?a():g===w?c():u(n[t])}},[t,n,u,c,a]);let h=(0,Sn.useCallback)(({height:m,scrollHeight:y})=>{typeof m=="number"&&(s.current.height=m),typeof y=="number"&&(s.current.contentHeight=y)},[]),f=(0,Sn.useCallback)(({height:m})=>{typeof m=="number"&&(s.current.contentHeight=m)},[]),[d,p]=RR(e===Vx);return Vs(r,d,h,!0),Vs(e,p,f,!0),{isScrolling:i,scrollIntoView:u}};var Hx=({collapsibleHeaders:r,collectionHook:e,containerRef:t,contentRef:n,defaultHighlightedIndex:o,defaultSelected:i,disabled:s,disableAriaActiveDescendant:l,disableHighlightOnFocus:a,disableTypeToSelect:c,highlightedIndex:u,label:h="",listHandlers:f,onSelect:d,onSelectionChange:p,onHighlight:m,onKeyboardNavigation:y,onKeyDown:g,restoreLastFocus:v,selected:w,selectionStrategy:x,selectionKeys:S,stickyHeaders:b,tabToSelect:C})=>{let k=(0,on.useRef)(w||i),E=(se,ce)=>{var Ve,Gt;(Gt=(Ve=F.listHandlers).onKeyboardNavigation)==null||Gt.call(Ve,se,ce),y==null||y(se,ce)},R=(0,on.useCallback)((se,ce)=>{d&&((0,on.isValidElement)(ce.value)?d(se,ce.label):ce.value!==null&&d(se,ce.value))},[d]),M=(0,on.useCallback)((se,ce)=>{p&&p(se,Array.isArray(ce)?ce.map(Ve=>(0,on.isValidElement)(Ve.value)?Ve.label:Ve.value):ce&&((0,on.isValidElement)(ce.value)?ce.label:ce.value))},[p]),{highlightedIndex:P,listProps:{onKeyDown:I,onMouseMove:V,...B},setHighlightedIndex:$,...O}=Sx({containerRef:t,defaultHighlightedIndex:o,disableHighlightOnFocus:a,highlightedIndex:u,indexPositions:e.data,label:h,onHighlight:m,onKeyboardNavigation:E,restoreLastFocus:v,selected:k.current}),N=Rx({collapsibleHeaders:r,highlightedIdx:P,collectionHook:e}),F=Lx({defaultSelected:i,highlightedIdx:P,indexPositions:e.data,label:h,onSelect:R,onSelectionChange:M,selected:w,selectionStrategy:x,selectionKeys:S,tabToSelect:C}),{onKeyDown:q}=Ax({disableTypeToSelect:c,highlightedIdx:P,highlightItemAtIndex:$,typeToNavigate:!0,items:e.data}),Z=(0,on.useCallback)(se=>{var ce,Ve,Gt;se.defaultPrevented||q==null||q(se),I(se),se.defaultPrevented||(Ve=(ce=F.listHandlers).onKeyDown)==null||Ve.call(ce,se),se.defaultPrevented||(Gt=N==null?void 0:N.onKeyDown)==null||Gt.call(N,se),se.defaultPrevented||g==null||g(se)},[N,I,g,F.listHandlers,q]),{isScrolling:ne,scrollIntoView:Je}=Bx({containerRef:t,contentRef:n,highlightedIdx:P,indexPositions:e.data,stickyHeaders:b}),ye=(0,on.useCallback)(se=>{if(!ne.current&&!s){V();let ce=Ix(se.target);if(ce!==P){let Ve=e.data[ce];!Ve||Ve.disabled?$(-1):$(ce)}}},[ne,s,$,V,P,e.data]),Mt=()=>{var se;return P===void 0||P===-1||l||(se=e.data[P])==null?void 0:se.id};k.current=F.selected;let Tr={"aria-activedescendant":Mt(),onBlur:B.onBlur,onFocus:B.onFocus,onKeyDown:Z,onMouseDownCapture:B.onMouseDownCapture,onMouseLeave:B.onMouseLeave},sn=f||{onClick:F.listHandlers.onClick,onMouseMove:ye};return{focusVisible:O.focusVisible,controlledHighlighting:O.controlledHighlighting,highlightedIndex:P,keyboardNavigation:O.keyboardNavigation,listHandlers:sn,listItemHeaderHandlers:N,listControlProps:Tr,scrollIntoView:Je,selected:F.selected,setHighlightedIndex:$,setIgnoreFocus:O.setIgnoreFocus,setSelected:F.setSelected}};var mi=require("react"),R3=require("@salt-ds/core"),I3=require("react/jsx-runtime");var _x=({borderless:r,displayedItemCount:e,getItemHeight:t,height:n,itemCount:o,itemGapSize:i,itemHeight:s,rowHeightRef:l})=>{let[a,c]=(0,mi.useState)(36),u=(0,mi.useMemo)(()=>{let f=r?0:2,d=s!=null?s:a,p=Math.min(e,o)||e;return typeof t=="function"?f+=Array(p).fill(0).reduce((m,y,g)=>m+t(g)+i,0)-i:f+=p*Number(d)+(p-1)*i,isNaN(f)?void 0:f},[r,e,t,o,i,s,a]),h=(0,mi.useCallback)(({height:f})=>{c(f)},[]);return Vs(l,dx,h,!0),{preferredHeight:u}};var zx=`.saltList {
|
|
122
122
|
--list-background: var(--salt-container-primary-background);
|
|
123
123
|
--list-borderStyle: var(--salt-container-borderStyle);
|
|
124
124
|
--list-borderWidth: var(--salt-size-border);
|
|
@@ -201,9 +201,9 @@
|
|
|
201
201
|
.saltList.saltFocusVisible:after {
|
|
202
202
|
inset: 2px;
|
|
203
203
|
}
|
|
204
|
-
`;var IR="No data to display",Fs=(0,pi.makePrefixer)("saltList"),rd=(0,Ut.forwardRef)(function({ListItem:e=Vs,ListPlaceholder:t,borderless:n,children:o,className:i,collapsibleHeaders:s=!1,defaultHighlightedIndex:l,defaultSelected:a,disabled:c=!1,disableFocus:u=!1,disableTypeToSelect:h,displayedItemCount:f=10,emptyMessage:d,focusVisible:p,getItemHeight:m,getItemId:g,height:y,highlightedIndex:v,id:w,itemGapSize:x=0,itemHeight:S,itemTextHighlightPattern:b,itemToString:C=ui,listHandlers:k,maxHeight:E,maxWidth:R,minHeight:N,minWidth:O,onSelect:M,onSelectionChange:D,onHighlight:F,restoreLastFocus:K,selected:A,selectionStrategy:V,checkable:B=V==="multiple",scrollingApiRef:G,selectionKeys:Z,showEmptyMessage:te=!1,source:Je,style:ye,stickyHeaders:Mt,tabToSelect:Sr,width:sn,...ie},ce){let Ve=Hn();_n({testId:"salt-list",css:_x,window:Ve});let Gt=(0,pi.useIdMemo)(w),Si=(0,Ut.useRef)(null),Ci=(0,Ut.useRef)(null),Ti=(0,Ut.useRef)(null),qt=hx({id:Gt,label:"List",source:Je,children:o,options:{collapsibleHeaders:s,getItemId:g,itemToString:C}}),{preferredHeight:ki}=Hx({borderless:n,displayedItemCount:f,getItemHeight:m,height:y,itemCount:qt.data.length,itemGapSize:x,itemHeight:S,rowHeightRef:Ti}),{focusVisible:wc,highlightedIndex:Sc,listControlProps:lw,listHandlers:aw,listItemHeaderHandlers:cw,scrollIntoView:uw,selected:hw}=Bx({collapsibleHeaders:s,collectionHook:qt,containerRef:Si,contentRef:Ci,defaultHighlightedIndex:l,defaultSelected:qt.itemToCollectionItem(a),disabled:c,disableTypeToSelect:h,highlightedIndex:v,label:Gt,listHandlers:k,onSelect:M,onSelectionChange:D,onHighlight:F,restoreLastFocus:K,selected:qt.itemToCollectionItem(A),selectionStrategy:V,selectionKeys:Z,stickyHeaders:Mt,tabToSelect:Sr});px({collectionHook:qt,forwardedRef:G,scrollableRef:Si,scrollIntoView:uw});let Nd=p!=null?p:wc,Vd=function(Le,Et,at,Rt){let Tr=(0,Ut.createElement)(e,{...cw,className:lo("saltListItemHeader",{focusVisible:s&&Nd===Le.value}),"aria-expanded":Rt,"data-idx":s?Le.value:void 0,"data-highlighted":Le.value===Sc||void 0,"data-sticky":Mt,"data-selectable":!1,id:Et,key:`header-${Le.value}`,label:at});return Le.value+=1,Tr},fw=m===void 0?()=>S:m;function dw(Cr,Le,Et){var at;let{disabled:Rt,value:Tr,id:Mi,label:Cc}=Le,Ei=(0,Ut.isValidElement)(Tr),qs={className:lo({saltHighlighted:Et.value===Sc,saltFocusVisible:Nd===Et.value}),disabled:Rt||c,id:Mi,item:Ei?void 0:(at=Le==null?void 0:Le.value)!=null?at:void 0,itemHeight:fw(Et.value),itemTextHighlightPattern:b,key:Mi,"data-idx":Et.value,label:Cc,role:"option",selected:Sx(hw,Le),showCheckbox:B};Cr.push(Ei?(0,Ut.cloneElement)(Tr,qs):(0,$t.jsx)(e,{...qs})),Et.value+=1}let pw=function(Le,Et,at){let{count:Rt=0,id:Tr,expanded:Mi,label:Cc=""}=Et[at.value],Ei=Vd(at,Tr,Cc,Mi),qs=Mi!==!1?[Ei].concat(Fd(Et,at,at.value+Rt)||[]):Ei;Le.push((0,$t.jsx)("div",{role:"group",children:qs},Tr))},Fd=(Cr,Le={value:0},Et=Cr.length)=>{let at=[];for(;Le.value<Et;){let Rt=Cr[Le.value];Rt.header?at.push(Vd(Le,Rt.id,Rt.label,Rt.expanded===!1)):Rt.childNodes?pw(at,Cr,Le):dw(at,Rt,Le)}return at};function mw(){return d||te?(0,$t.jsx)("span",{className:Fs("empty-message"),children:d!=null?d:IR}):null}let gw=()=>{if(qt.data.length)return Fd(qt.data);mw()},yw="auto",bw={"--list-item-gap":x?`${x}px`:void 0,minWidth:O,minHeight:N,width:sn!=null?sn:"100%",height:y!=null?y:"100%",maxWidth:R!=null?R:sn,maxHeight:E!=null?E:ki};return(0,$t.jsxs)("div",{"aria-multiselectable":V==="multiple"||V==="extended"||V==="extended-multi-range"||void 0,...ie,...aw,...lw,className:lo(Fs(),i,{[Fs("borderless")]:n,saltDisabled:c,[Fs("collapsible")]:s,saltFocusVisible:Sc===Xf}),id:`${Gt}`,ref:(0,pi.useForkRef)(Si,ce),role:"listbox",style:{...ye,...bw},tabIndex:c||u?void 0:0,children:[(0,$t.jsx)(ed,{ref:Ti}),qt.data.length===0&&t!==void 0?(0,$t.jsx)($t.Fragment,{children:(0,$t.jsx)(t,{})}):(0,$t.jsx)("div",{className:Fs("scrollingContentContainer"),ref:Ci,style:{height:yw},children:gw()})]})});var PR=require("react"),DR=z(require("classnames")),LR=require("react/jsx-runtime");var fo=z(require("react"));var zx=z(require("react")),ho=require("react/jsx-runtime"),ec=class extends zx.default.Component{constructor(e){super(e),this.state={errorMessage:null}}static getDerivedStateFromError(e){return{errorMessage:e.message}}componentDidCatch(e,t){console.log(`error creating component at ${this.props.url}`),console.log(e,t)}render(){return this.state.errorMessage?(0,ho.jsxs)(ho.Fragment,{children:[(0,ho.jsx)("h1",{children:"An error occured while creating component."}),(0,ho.jsx)("p",{children:this.state.errorMessage})]}):this.props.children}};var $x=require("react/jsx-runtime"),Wx=()=>(0,$x.jsx)("div",{className:"hwLoader",children:"loading"});var Ux=async r=>{let e=new CSSStyleSheet;return fetch(r).then(t=>t.text()).then(t=>e.replace(t))};var Bs=require("react/jsx-runtime"),tc=new Map,AR=r=>{(0,fo.useEffect)(()=>()=>{tc.delete(r)},[r]),tc.has(r)||tc.set(r,fo.default.lazy(()=>import(r)));let e=tc.get(r);if(e)return e;throw Error(`Unable to load Lazy Feature at url ${r}`)};function OR({url:r,css:e,ComponentProps:t,...n}){e&&Ux(e).then(i=>{document.adoptedStyleSheets=[...document.adoptedStyleSheets,i]});let o=AR(r);return(0,Bs.jsx)(ec,{url:r,children:(0,Bs.jsx)(fo.Suspense,{fallback:(0,Bs.jsx)(Wx,{}),children:(0,Bs.jsx)(o,{...n,...t})})})}var od=fo.default.memo(OR);od.displayName="Feature";xe("Feature",od,"view");var gr=require("react"),_e=require("@salt-ds/core"),mi=require("@vuu-ui/vuu-ui-controls"),rc=require("@vuu-ui/vuu-utils");var fe=require("react/jsx-runtime"),kt="saveLayoutPanel",nc=`${kt}-formField`,NR=["Group 1","Group 2","Group 3","Group 4","Group 5"],VR=["Value 1","Value 2","Value 3"],Gx=["Value 1","Value 2","Value 3"],qx=r=>{let{onCancel:e,onSave:t,componentId:n}=r,[o,i]=(0,gr.useState)(""),[s,l]=(0,gr.useState)(""),[a,c]=(0,gr.useState)([]),[u,h]=(0,gr.useState)(Gx[0]),[f,d]=(0,gr.useState)();(0,gr.useEffect)(()=>{n&&(0,rc.takeScreenshot)(document.getElementById(n)).then(m=>d(m))},[n]);let p=()=>{t({name:o,group:s,screenshot:f!=null?f:"",user:"User",date:(0,rc.formatDate)(new Date,"dd.mm.yyyy")})};return(0,fe.jsxs)("div",{className:`${kt}-panelContainer`,children:[(0,fe.jsxs)("div",{className:`${kt}-panelContent`,children:[(0,fe.jsxs)("div",{className:`${kt}-formContainer`,children:[(0,fe.jsxs)(_e.FormField,{className:nc,children:[(0,fe.jsx)(_e.FormFieldLabel,{children:"Group"}),(0,fe.jsx)(mi.ComboBox,{source:NR,allowFreeText:!0,InputProps:{inputProps:{className:`${kt}-inputText`,placeholder:"Select Group or Enter New Name",onChange:m=>l(m.target.value)}},width:120,onSelectionChange:(m,g)=>l(g||"")})]}),(0,fe.jsxs)(_e.FormField,{className:nc,children:[(0,fe.jsx)(_e.FormFieldLabel,{children:"Layout Name"}),(0,fe.jsx)(_e.Input,{inputProps:{className:`${kt}-inputText`,placeholder:"Enter Layout Name"},onChange:m=>i(m.target.value),value:o})]}),(0,fe.jsxs)(_e.FormField,{className:nc,children:[(0,fe.jsx)(_e.FormFieldLabel,{children:"Some Layout Setting"}),(0,fe.jsx)("div",{className:`${kt}-settingsGroup`,children:VR.map((m,g)=>(0,fe.jsx)(mi.Checkbox,{onToggle:()=>c(y=>y.includes(m)?y.filter(v=>v!==m):[...y,m]),checked:a.includes(m),label:m},g))})]}),(0,fe.jsxs)(_e.FormField,{className:nc,children:[(0,fe.jsx)(_e.FormFieldLabel,{children:"Some Layout Setting"}),(0,fe.jsx)("div",{className:`${kt}-settingsGroup`,children:Gx.map((m,g)=>(0,fe.jsx)(mi.RadioButton,{onClick:()=>h(m),checked:u===m,label:m,groupName:"radioGroup"},g))})]})]}),(0,fe.jsx)("div",{className:`${kt}-screenshotContainer`,children:f?(0,fe.jsx)("img",{className:`${kt}-screenshot`,src:f,alt:"screenshot of current layout"}):(0,fe.jsx)(_e.Text,{className:"screenshot",children:"No screenshot available"})})]}),(0,fe.jsxs)("div",{className:`${kt}-buttonsContainer`,children:[(0,fe.jsx)(_e.Button,{className:`${kt}-cancelButton`,onClick:e,children:"Cancel"}),(0,fe.jsx)(_e.Button,{className:`${kt}-saveButton`,onClick:p,disabled:o===""||s==="",children:"Save"})]})]})};var HR=require("@vuu-ui/vuu-ui-controls");var po=z(require("react"));var BR=require("react/jsx-runtime"),Cz=new Es,FR=po.default.createContext({layoutMetadata:[],saveLayout:()=>{},applicationLayout:Io,saveApplicationLayout:()=>{},loadLayoutById:()=>Io});var oc=()=>(0,po.useContext)(FR);var id=require("react/jsx-runtime");var Kx=require("react"),Me=require("react/jsx-runtime"),jx=(0,Kx.memo)(()=>(0,Me.jsxs)("svg",{width:"44",height:"45",viewBox:"0 0 44 45",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[(0,Me.jsxs)("g",{clipPath:"url(#clip0_217_6990)",children:[(0,Me.jsx)("path",{d:"M39.8642 15.5509L35.9196 7.58974L34.3369 6.85464L24.6235 22.0825L39.1628 30.618L42.3152 25.6347L39.8642 15.5509Z",fill:"url(#paint0_linear_217_6990)"}),(0,Me.jsx)("path",{d:"M42.6246 24.8716C41.9199 25.9157 40.9625 26.824 39.767 27.4905C38.424 28.2396 36.9563 28.597 35.5081 28.597C32.7541 28.597 30.0715 27.3094 28.4466 24.9855L15.772 3.90967L15.7655 3.9206C13.3615 0.137431 8.25372 -1.13143 4.24754 1.10507C0.178173 3.37435 -1.20852 8.39359 1.14854 12.3125L18.3445 40.9095C19.1108 42.1846 20.1816 43.1834 21.4144 43.8764C21.4241 43.8826 21.4338 43.8889 21.4435 43.8951C21.4484 43.8982 21.4549 43.9013 21.4597 43.9045C22.0332 44.2228 22.6423 44.471 23.2725 44.6536C23.3194 44.6677 23.368 44.6817 23.415 44.6942C23.6418 44.7551 23.8702 44.8097 24.1019 44.8534C24.1456 44.8612 24.1894 44.8659 24.2331 44.8737C24.4194 44.9049 24.6073 44.9314 24.7952 44.9501C24.8698 44.9579 24.9443 44.9658 25.0188 44.9704C25.2342 44.9876 25.4497 44.9985 25.6668 45.0001C25.6781 45.0001 25.6895 45.0001 25.6992 45.0001C25.7024 45.0001 25.704 45.0001 25.7073 45.0001C25.7105 45.0001 25.7121 45.0001 25.7154 45.0001C25.9503 45.0001 26.1868 44.9876 26.4217 44.9689C26.4751 44.9642 26.5286 44.9595 26.5837 44.9533C26.8137 44.9299 27.0438 44.9002 27.2738 44.8596C27.277 44.8596 27.2803 44.8596 27.2835 44.8596C27.5362 44.8144 27.7889 44.7551 28.0384 44.6864C28.0546 44.6817 28.0692 44.677 28.0854 44.6723C28.4483 44.5709 28.8063 44.4445 29.1594 44.2931C29.1659 44.29 29.174 44.2868 29.1805 44.2837C29.4494 44.1682 29.7151 44.0418 29.9759 43.8967C30.24 43.75 30.491 43.5908 30.7308 43.4206C30.9398 43.2739 31.1407 43.1179 31.3367 42.9524C31.5748 42.7495 31.8 42.5373 32.009 42.3141C32.1661 42.1471 32.3168 41.9723 32.4609 41.7913C32.5079 41.732 32.5517 41.6711 32.5954 41.6118C32.6942 41.4807 32.7882 41.3465 32.8789 41.2091C32.9259 41.1373 32.9728 41.0671 33.0182 40.9953C33.036 40.9672 33.0555 40.9407 33.0717 40.9126L42.7153 24.8763H42.6214L42.6246 24.8716Z",fill:"url(#paint1_linear_217_6990)"}),(0,Me.jsx)("path",{d:"M42.8402 16.4218L42.1112 15.2232L38.9636 9.58433L37.504 7.19644C37.2286 6.56123 36.579 6.11331 35.8176 6.11331C34.8083 6.11331 33.9919 6.90147 33.9919 7.87223C33.9919 8.20154 34.0907 8.50432 34.2543 8.76808L34.2349 8.78056L39.9048 18.0808C40.5884 19.2186 40.7715 20.5437 40.4199 21.8141C40.0684 23.0845 39.226 24.1458 38.045 24.806C37.2675 25.2398 36.3846 25.4693 35.4936 25.4693C33.6727 25.4693 31.9766 24.5281 31.0662 23.0143L22.9161 9.63271H22.9323L19.4899 3.90958L19.4834 3.92051C19.4235 3.8253 19.3538 3.73947 19.2907 3.64738L19.1935 3.48663C19.1935 3.48663 19.1854 3.49131 19.1821 3.49443C17.5654 1.27666 14.9799 0.0390178 12.3118 0.00936427V0H7.91199V0.02185C10.9851 -0.184164 14.0582 1.23296 15.7656 3.92051L15.7721 3.90958L28.4451 24.987C30.0699 27.3093 32.7542 28.5985 35.5066 28.5985C36.9548 28.5985 38.4225 28.2426 39.7655 27.4919C40.961 26.8255 41.9168 25.9156 42.6231 24.8731H42.717L42.6846 24.9261C43.1366 24.2347 43.4833 23.4731 43.7068 22.6615C44.2916 20.5452 43.9871 18.3352 42.8369 16.4234L42.8402 16.4218Z",fill:"#F37880"}),(0,Me.jsxs)("g",{opacity:"0.86",children:[(0,Me.jsx)("path",{d:"M34.2332 8.78212L39.9031 18.0824C40.5868 19.2202 40.7698 20.5452 40.4183 21.8156C40.2044 22.5897 39.8059 23.2858 39.2616 23.8617C39.9744 23.2343 40.4879 22.4243 40.7423 21.5035C41.0938 20.2331 40.9107 18.908 40.2271 17.7703L34.5572 8.46998L34.5767 8.4575C34.413 8.19374 34.3142 7.89096 34.3142 7.56165C34.3142 7.15586 34.4584 6.78285 34.6982 6.48476C34.2672 6.80626 33.9902 7.30881 33.9902 7.87379C33.9902 8.2031 34.0891 8.50588 34.2527 8.76964L34.2332 8.78212Z",fill:"white"}),(0,Me.jsx)("path",{d:"M42.6917 24.9169L42.6863 24.9256C42.6863 24.9256 42.6899 24.9187 42.6935 24.9152C42.6935 24.9152 42.6935 24.9152 42.6935 24.9169H42.6917Z",fill:"white"}),(0,Me.jsx)("path",{d:"M40.0911 27.1798C38.7481 27.9289 37.2804 28.2863 35.8322 28.2863C33.0782 28.2863 30.3955 26.9988 28.7707 24.6749L16.0961 3.59744L16.0896 3.60837C14.9281 1.78077 13.1364 0.543128 11.1422 0H7.91199V0.02185C10.9851 -0.184164 14.0582 1.23296 15.7656 3.92051L15.7721 3.90958L28.4451 24.987C30.0699 27.3093 32.7542 28.5985 35.5066 28.5985C36.9548 28.5985 38.4225 28.2426 39.7655 27.4919C40.4815 27.0924 41.1084 26.6055 41.6511 26.0561C41.1862 26.479 40.6662 26.8583 40.0894 27.1798H40.0911Z",fill:"white"})]})]}),(0,Me.jsxs)("defs",{children:[(0,Me.jsxs)("linearGradient",{id:"paint0_linear_217_6990",x1:"24.6235",y1:"18.7363",x2:"42.3152",y2:"18.7363",gradientUnits:"userSpaceOnUse",children:[(0,Me.jsx)("stop",{stopColor:"#4906A5"}),(0,Me.jsx)("stop",{offset:"1",stopColor:"#D3423A"})]}),(0,Me.jsxs)("linearGradient",{id:"paint1_linear_217_6990",x1:"-2.35794e-05",y1:"22.5009",x2:"42.7186",y2:"22.5009",gradientUnits:"userSpaceOnUse",children:[(0,Me.jsx)("stop",{stopColor:"#7C06A5"}),(0,Me.jsx)("stop",{offset:"1",stopColor:"#D3423A"})]}),(0,Me.jsx)("clipPath",{id:"clip0_217_6990",children:(0,Me.jsx)("rect",{width:"44",height:"45",fill:"white"})})]})]}));jx.displayName="VuuLogo";var ev=require("@vuu-ui/vuu-ui-controls"),GR=z(require("classnames"));var tv=require("react");var Jx=require("react/jsx-runtime");var yr=require("react"),Yx=z(require("classnames")),Zx=require("react/jsx-runtime"),_R="medium",zR="salt-theme",WR="light",Qx=(0,yr.createContext)({density:"high",theme:"vuu",themeMode:"light"});var $R=(r,e,t,n)=>{var o;return(0,yr.isValidElement)(r)?(0,yr.cloneElement)(r,{className:(0,Yx.default)((o=r.props)==null?void 0:o.className,`${e}-theme`,`${e}-density-${n}`),"data-mode":t}):(console.warn(`
|
|
204
|
+
`;var PR="No data to display",Hs=(0,gi.makePrefixer)("saltList"),td=(0,Ut.forwardRef)(function({ListItem:e=Bs,ListPlaceholder:t,borderless:n,children:o,className:i,collapsibleHeaders:s=!1,defaultHighlightedIndex:l,defaultSelected:a,disabled:c=!1,disableFocus:u=!1,disableTypeToSelect:h,displayedItemCount:f=10,emptyMessage:d,focusVisible:p,getItemHeight:m,getItemId:y,height:g,highlightedIndex:v,id:w,itemGapSize:x=0,itemHeight:S,itemTextHighlightPattern:b,itemToString:C=fi,listHandlers:k,maxHeight:E,maxWidth:R,minHeight:M,minWidth:P,onSelect:I,onSelectionChange:V,onHighlight:B,restoreLastFocus:$,selected:O,selectionStrategy:N,checkable:F=N==="multiple",scrollingApiRef:q,selectionKeys:Z,showEmptyMessage:ne=!1,source:Je,style:ye,stickyHeaders:Mt,tabToSelect:Tr,width:sn,...se},ce){let Ve=Hn();_n({testId:"salt-list",css:zx,window:Ve});let Gt=(0,gi.useIdMemo)(w),Ti=(0,Ut.useRef)(null),ki=(0,Ut.useRef)(null),Mi=(0,Ut.useRef)(null),qt=fx({id:Gt,label:"List",source:Je,children:o,options:{collapsibleHeaders:s,getItemId:y,itemToString:C}}),{preferredHeight:Ei}=_x({borderless:n,displayedItemCount:f,getItemHeight:m,height:g,itemCount:qt.data.length,itemGapSize:x,itemHeight:S,rowHeightRef:Mi}),{focusVisible:wc,highlightedIndex:Sc,listControlProps:hw,listHandlers:fw,listItemHeaderHandlers:dw,scrollIntoView:pw,selected:mw}=Hx({collapsibleHeaders:s,collectionHook:qt,containerRef:Ti,contentRef:ki,defaultHighlightedIndex:l,defaultSelected:qt.itemToCollectionItem(a),disabled:c,disableTypeToSelect:h,highlightedIndex:v,label:Gt,listHandlers:k,onSelect:I,onSelectionChange:V,onHighlight:B,restoreLastFocus:$,selected:qt.itemToCollectionItem(O),selectionStrategy:N,selectionKeys:Z,stickyHeaders:Mt,tabToSelect:Tr});mx({collectionHook:qt,forwardedRef:q,scrollableRef:Ti,scrollIntoView:pw});let Ad=p!=null?p:wc,Od=function(Le,Et,at,Rt){let Mr=(0,Ut.createElement)(e,{...dw,className:co("saltListItemHeader",{focusVisible:s&&Ad===Le.value}),"aria-expanded":Rt,"data-idx":s?Le.value:void 0,"data-highlighted":Le.value===Sc||void 0,"data-sticky":Mt,"data-selectable":!1,id:Et,key:`header-${Le.value}`,label:at});return Le.value+=1,Mr},gw=m===void 0?()=>S:m;function yw(kr,Le,Et){var at;let{disabled:Rt,value:Mr,id:Ri,label:Cc}=Le,Ii=(0,Ut.isValidElement)(Mr),js={className:co({saltHighlighted:Et.value===Sc,saltFocusVisible:Ad===Et.value}),disabled:Rt||c,id:Ri,item:Ii?void 0:(at=Le==null?void 0:Le.value)!=null?at:void 0,itemHeight:gw(Et.value),itemTextHighlightPattern:b,key:Ri,"data-idx":Et.value,label:Cc,role:"option",selected:Cx(mw,Le),showCheckbox:F};kr.push(Ii?(0,Ut.cloneElement)(Mr,js):(0,$t.jsx)(e,{...js})),Et.value+=1}let bw=function(Le,Et,at){let{count:Rt=0,id:Mr,expanded:Ri,label:Cc=""}=Et[at.value],Ii=Od(at,Mr,Cc,Ri),js=Ri!==!1?[Ii].concat(Nd(Et,at,at.value+Rt)||[]):Ii;Le.push((0,$t.jsx)("div",{role:"group",children:js},Mr))},Nd=(kr,Le={value:0},Et=kr.length)=>{let at=[];for(;Le.value<Et;){let Rt=kr[Le.value];Rt.header?at.push(Od(Le,Rt.id,Rt.label,Rt.expanded===!1)):Rt.childNodes?bw(at,kr,Le):yw(at,Rt,Le)}return at};function xw(){return d||ne?(0,$t.jsx)("span",{className:Hs("empty-message"),children:d!=null?d:PR}):null}let vw=()=>{if(qt.data.length)return Nd(qt.data);xw()},ww="auto",Sw={"--list-item-gap":x?`${x}px`:void 0,minWidth:P,minHeight:M,width:sn!=null?sn:"100%",height:g!=null?g:"100%",maxWidth:R!=null?R:sn,maxHeight:E!=null?E:Ei};return(0,$t.jsxs)("div",{"aria-multiselectable":N==="multiple"||N==="extended"||N==="extended-multi-range"||void 0,...se,...fw,...hw,className:co(Hs(),i,{[Hs("borderless")]:n,saltDisabled:c,[Hs("collapsible")]:s,saltFocusVisible:Sc===Qf}),id:`${Gt}`,ref:(0,gi.useForkRef)(Ti,ce),role:"listbox",style:{...ye,...Sw},tabIndex:c||u?void 0:0,children:[(0,$t.jsx)(Xf,{ref:Mi}),qt.data.length===0&&t!==void 0?(0,$t.jsx)($t.Fragment,{children:(0,$t.jsx)(t,{})}):(0,$t.jsx)("div",{className:Hs("scrollingContentContainer"),ref:ki,style:{height:ww},children:vw()})]})});var DR=require("react"),LR=z(require("classnames")),AR=require("react/jsx-runtime");var mo=z(require("react"));var Wx=z(require("react")),po=require("react/jsx-runtime"),tc=class extends Wx.default.Component{constructor(e){super(e),this.state={errorMessage:null}}static getDerivedStateFromError(e){return{errorMessage:e.message}}componentDidCatch(e,t){console.log(`error creating component at ${this.props.url}`),console.log(e,t)}render(){return this.state.errorMessage?(0,po.jsxs)(po.Fragment,{children:[(0,po.jsx)("h1",{children:"An error occured while creating component."}),(0,po.jsx)("p",{children:this.state.errorMessage})]}):this.props.children}};var Ux=require("react/jsx-runtime"),$x=()=>(0,Ux.jsx)("div",{className:"hwLoader",children:"loading"});var Gx=async r=>{let e=new CSSStyleSheet;return fetch(r).then(t=>t.text()).then(t=>e.replace(t))};var _s=require("react/jsx-runtime"),nc=new Map,OR=r=>{(0,mo.useEffect)(()=>()=>{nc.delete(r)},[r]),nc.has(r)||nc.set(r,mo.default.lazy(()=>import(r)));let e=nc.get(r);if(e)return e;throw Error(`Unable to load Lazy Feature at url ${r}`)};function NR({url:r,css:e,ComponentProps:t,...n}){e&&Gx(e).then(i=>{document.adoptedStyleSheets=[...document.adoptedStyleSheets,i]});let o=OR(r);return(0,_s.jsx)(tc,{url:r,children:(0,_s.jsx)(mo.Suspense,{fallback:(0,_s.jsx)($x,{}),children:(0,_s.jsx)(o,{...n,...t})})})}var nd=mo.default.memo(NR);nd.displayName="Feature";xe("Feature",nd,"view");var gr=require("react"),_e=require("@salt-ds/core"),yi=require("@vuu-ui/vuu-ui-controls"),oc=require("@vuu-ui/vuu-utils");var fe=require("react/jsx-runtime"),kt="saveLayoutPanel",rc=`${kt}-formField`,VR=["Group 1","Group 2","Group 3","Group 4","Group 5"],FR=["Value 1","Value 2","Value 3"],qx=["Value 1","Value 2","Value 3"],Kx=r=>{let{onCancel:e,onSave:t,componentId:n}=r,[o,i]=(0,gr.useState)(""),[s,l]=(0,gr.useState)(""),[a,c]=(0,gr.useState)([]),[u,h]=(0,gr.useState)(qx[0]),[f,d]=(0,gr.useState)();(0,gr.useEffect)(()=>{n&&(0,oc.takeScreenshot)(document.getElementById(n)).then(m=>d(m))},[n]);let p=()=>{t({name:o,group:s,screenshot:f!=null?f:"",user:"User",date:(0,oc.formatDate)(new Date,"dd.mm.yyyy")})};return(0,fe.jsxs)("div",{className:`${kt}-panelContainer`,children:[(0,fe.jsxs)("div",{className:`${kt}-panelContent`,children:[(0,fe.jsxs)("div",{className:`${kt}-formContainer`,children:[(0,fe.jsxs)(_e.FormField,{className:rc,children:[(0,fe.jsx)(_e.FormFieldLabel,{children:"Group"}),(0,fe.jsx)(yi.ComboBox,{source:VR,allowFreeText:!0,InputProps:{inputProps:{className:`${kt}-inputText`,placeholder:"Select Group or Enter New Name",onChange:m=>l(m.target.value)}},width:"100%",onSelectionChange:(m,y)=>l(y||"")})]}),(0,fe.jsxs)(_e.FormField,{className:rc,children:[(0,fe.jsx)(_e.FormFieldLabel,{children:"Layout Name"}),(0,fe.jsx)(_e.Input,{inputProps:{className:`${kt}-inputText`,placeholder:"Enter Layout Name"},onChange:m=>i(m.target.value),value:o})]}),(0,fe.jsxs)(_e.FormField,{className:rc,children:[(0,fe.jsx)(_e.FormFieldLabel,{children:"Some Layout Setting"}),(0,fe.jsx)("div",{className:`${kt}-settingsGroup`,children:FR.map((m,y)=>(0,fe.jsx)(yi.Checkbox,{onToggle:()=>c(g=>g.includes(m)?g.filter(v=>v!==m):[...g,m]),checked:a.includes(m),label:m},y))})]}),(0,fe.jsxs)(_e.FormField,{className:rc,children:[(0,fe.jsx)(_e.FormFieldLabel,{children:"Some Layout Setting"}),(0,fe.jsx)("div",{className:`${kt}-settingsGroup`,children:qx.map((m,y)=>(0,fe.jsx)(yi.RadioButton,{onClick:()=>h(m),checked:u===m,label:m,groupName:"radioGroup"},y))})]})]}),(0,fe.jsx)("div",{className:`${kt}-screenshotContainer`,children:f?(0,fe.jsx)("img",{className:`${kt}-screenshot`,src:f,alt:"screenshot of current layout"}):(0,fe.jsx)(_e.Text,{className:"screenshot",children:"No screenshot available"})})]}),(0,fe.jsxs)("div",{className:`${kt}-buttonsContainer`,children:[(0,fe.jsx)(_e.Button,{className:`${kt}-cancelButton`,onClick:e,children:"Cancel"}),(0,fe.jsx)(_e.Button,{className:`${kt}-saveButton`,onClick:p,disabled:o===""||s==="",children:"Save"})]})]})};var _R=require("@vuu-ui/vuu-ui-controls");var yr=z(require("react"));var HR=require("react/jsx-runtime"),wz=new Is,BR=yr.default.createContext({layoutMetadata:[],saveLayout:()=>{},applicationLayout:Po,saveApplicationLayout:()=>{},loadLayoutById:()=>Po});var ic=()=>(0,yr.useContext)(BR);var rd=require("react/jsx-runtime");var jx=require("react"),Me=require("react/jsx-runtime"),Jx=(0,jx.memo)(()=>(0,Me.jsxs)("svg",{width:"44",height:"45",viewBox:"0 0 44 45",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[(0,Me.jsxs)("g",{clipPath:"url(#clip0_217_6990)",children:[(0,Me.jsx)("path",{d:"M39.8642 15.5509L35.9196 7.58974L34.3369 6.85464L24.6235 22.0825L39.1628 30.618L42.3152 25.6347L39.8642 15.5509Z",fill:"url(#paint0_linear_217_6990)"}),(0,Me.jsx)("path",{d:"M42.6246 24.8716C41.9199 25.9157 40.9625 26.824 39.767 27.4905C38.424 28.2396 36.9563 28.597 35.5081 28.597C32.7541 28.597 30.0715 27.3094 28.4466 24.9855L15.772 3.90967L15.7655 3.9206C13.3615 0.137431 8.25372 -1.13143 4.24754 1.10507C0.178173 3.37435 -1.20852 8.39359 1.14854 12.3125L18.3445 40.9095C19.1108 42.1846 20.1816 43.1834 21.4144 43.8764C21.4241 43.8826 21.4338 43.8889 21.4435 43.8951C21.4484 43.8982 21.4549 43.9013 21.4597 43.9045C22.0332 44.2228 22.6423 44.471 23.2725 44.6536C23.3194 44.6677 23.368 44.6817 23.415 44.6942C23.6418 44.7551 23.8702 44.8097 24.1019 44.8534C24.1456 44.8612 24.1894 44.8659 24.2331 44.8737C24.4194 44.9049 24.6073 44.9314 24.7952 44.9501C24.8698 44.9579 24.9443 44.9658 25.0188 44.9704C25.2342 44.9876 25.4497 44.9985 25.6668 45.0001C25.6781 45.0001 25.6895 45.0001 25.6992 45.0001C25.7024 45.0001 25.704 45.0001 25.7073 45.0001C25.7105 45.0001 25.7121 45.0001 25.7154 45.0001C25.9503 45.0001 26.1868 44.9876 26.4217 44.9689C26.4751 44.9642 26.5286 44.9595 26.5837 44.9533C26.8137 44.9299 27.0438 44.9002 27.2738 44.8596C27.277 44.8596 27.2803 44.8596 27.2835 44.8596C27.5362 44.8144 27.7889 44.7551 28.0384 44.6864C28.0546 44.6817 28.0692 44.677 28.0854 44.6723C28.4483 44.5709 28.8063 44.4445 29.1594 44.2931C29.1659 44.29 29.174 44.2868 29.1805 44.2837C29.4494 44.1682 29.7151 44.0418 29.9759 43.8967C30.24 43.75 30.491 43.5908 30.7308 43.4206C30.9398 43.2739 31.1407 43.1179 31.3367 42.9524C31.5748 42.7495 31.8 42.5373 32.009 42.3141C32.1661 42.1471 32.3168 41.9723 32.4609 41.7913C32.5079 41.732 32.5517 41.6711 32.5954 41.6118C32.6942 41.4807 32.7882 41.3465 32.8789 41.2091C32.9259 41.1373 32.9728 41.0671 33.0182 40.9953C33.036 40.9672 33.0555 40.9407 33.0717 40.9126L42.7153 24.8763H42.6214L42.6246 24.8716Z",fill:"url(#paint1_linear_217_6990)"}),(0,Me.jsx)("path",{d:"M42.8402 16.4218L42.1112 15.2232L38.9636 9.58433L37.504 7.19644C37.2286 6.56123 36.579 6.11331 35.8176 6.11331C34.8083 6.11331 33.9919 6.90147 33.9919 7.87223C33.9919 8.20154 34.0907 8.50432 34.2543 8.76808L34.2349 8.78056L39.9048 18.0808C40.5884 19.2186 40.7715 20.5437 40.4199 21.8141C40.0684 23.0845 39.226 24.1458 38.045 24.806C37.2675 25.2398 36.3846 25.4693 35.4936 25.4693C33.6727 25.4693 31.9766 24.5281 31.0662 23.0143L22.9161 9.63271H22.9323L19.4899 3.90958L19.4834 3.92051C19.4235 3.8253 19.3538 3.73947 19.2907 3.64738L19.1935 3.48663C19.1935 3.48663 19.1854 3.49131 19.1821 3.49443C17.5654 1.27666 14.9799 0.0390178 12.3118 0.00936427V0H7.91199V0.02185C10.9851 -0.184164 14.0582 1.23296 15.7656 3.92051L15.7721 3.90958L28.4451 24.987C30.0699 27.3093 32.7542 28.5985 35.5066 28.5985C36.9548 28.5985 38.4225 28.2426 39.7655 27.4919C40.961 26.8255 41.9168 25.9156 42.6231 24.8731H42.717L42.6846 24.9261C43.1366 24.2347 43.4833 23.4731 43.7068 22.6615C44.2916 20.5452 43.9871 18.3352 42.8369 16.4234L42.8402 16.4218Z",fill:"#F37880"}),(0,Me.jsxs)("g",{opacity:"0.86",children:[(0,Me.jsx)("path",{d:"M34.2332 8.78212L39.9031 18.0824C40.5868 19.2202 40.7698 20.5452 40.4183 21.8156C40.2044 22.5897 39.8059 23.2858 39.2616 23.8617C39.9744 23.2343 40.4879 22.4243 40.7423 21.5035C41.0938 20.2331 40.9107 18.908 40.2271 17.7703L34.5572 8.46998L34.5767 8.4575C34.413 8.19374 34.3142 7.89096 34.3142 7.56165C34.3142 7.15586 34.4584 6.78285 34.6982 6.48476C34.2672 6.80626 33.9902 7.30881 33.9902 7.87379C33.9902 8.2031 34.0891 8.50588 34.2527 8.76964L34.2332 8.78212Z",fill:"white"}),(0,Me.jsx)("path",{d:"M42.6917 24.9169L42.6863 24.9256C42.6863 24.9256 42.6899 24.9187 42.6935 24.9152C42.6935 24.9152 42.6935 24.9152 42.6935 24.9169H42.6917Z",fill:"white"}),(0,Me.jsx)("path",{d:"M40.0911 27.1798C38.7481 27.9289 37.2804 28.2863 35.8322 28.2863C33.0782 28.2863 30.3955 26.9988 28.7707 24.6749L16.0961 3.59744L16.0896 3.60837C14.9281 1.78077 13.1364 0.543128 11.1422 0H7.91199V0.02185C10.9851 -0.184164 14.0582 1.23296 15.7656 3.92051L15.7721 3.90958L28.4451 24.987C30.0699 27.3093 32.7542 28.5985 35.5066 28.5985C36.9548 28.5985 38.4225 28.2426 39.7655 27.4919C40.4815 27.0924 41.1084 26.6055 41.6511 26.0561C41.1862 26.479 40.6662 26.8583 40.0894 27.1798H40.0911Z",fill:"white"})]})]}),(0,Me.jsxs)("defs",{children:[(0,Me.jsxs)("linearGradient",{id:"paint0_linear_217_6990",x1:"24.6235",y1:"18.7363",x2:"42.3152",y2:"18.7363",gradientUnits:"userSpaceOnUse",children:[(0,Me.jsx)("stop",{stopColor:"#4906A5"}),(0,Me.jsx)("stop",{offset:"1",stopColor:"#D3423A"})]}),(0,Me.jsxs)("linearGradient",{id:"paint1_linear_217_6990",x1:"-2.35794e-05",y1:"22.5009",x2:"42.7186",y2:"22.5009",gradientUnits:"userSpaceOnUse",children:[(0,Me.jsx)("stop",{stopColor:"#7C06A5"}),(0,Me.jsx)("stop",{offset:"1",stopColor:"#D3423A"})]}),(0,Me.jsx)("clipPath",{id:"clip0_217_6990",children:(0,Me.jsx)("rect",{width:"44",height:"45",fill:"white"})})]})]}));Jx.displayName="VuuLogo";var tv=require("@vuu-ui/vuu-ui-controls"),qR=z(require("classnames"));var nv=require("react");var Qx=require("react/jsx-runtime");var br=require("react"),Xx=z(require("classnames")),ev=require("react/jsx-runtime"),zR="medium",WR="salt-theme",$R="light",Yx=(0,br.createContext)({density:"high",theme:"vuu",themeMode:"light"});var UR=(r,e,t,n)=>{var o;return(0,br.isValidElement)(r)?(0,br.cloneElement)(r,{className:(0,Xx.default)((o=r.props)==null?void 0:o.className,`${e}-theme`,`${e}-density-${n}`),"data-mode":t}):(console.warn(`
|
|
205
205
|
ThemeProvider can only apply CSS classes for theming to a single nested child element of the ThemeProvider.
|
|
206
|
-
Wrap elements with a single container`),r)},
|
|
206
|
+
Wrap elements with a single container`),r)},Zx=({applyThemeClasses:r=!1,children:e,theme:t,themeMode:n,density:o})=>{var f,d,p;let{density:i,themeMode:s,theme:l}=(0,br.useContext)(Yx),a=(f=o!=null?o:i)!=null?f:zR,c=(d=n!=null?n:s)!=null?d:$R,u=(p=t!=null?t:l)!=null?p:WR,h=r?UR(e,u,c,a):e;return(0,ev.jsx)(Yx.Provider,{value:{themeMode:c,density:a,theme:u},children:h})};Zx.displayName="ThemeProvider";var rv=require("react/jsx-runtime");var KR=require("react"),lc=require("@salt-ds/core");var ov=require("react/jsx-runtime");var iv=require("@vuu-ui/vuu-utils"),jR=()=>{let r=(0,iv.getCookieValue)("vuu-auth-mode");return r!=null?r:""};var JR=()=>jR()==="login"?"login.html":"demo.html",QR=(r=JR())=>{window.location.href=r},sv=r=>{document.cookie="vuu-username= ; expires = Thu, 01 Jan 1970 00:00:00 GMT",document.cookie="vuu-auth-token= ; expires = Thu, 01 Jan 1970 00:00:00 GMT",QR(r)};var Ws=require("react"),YR=z(require("classnames")),XR=require("@salt-ds/core"),ZR=require("@salt-ds/core");var id=require("@vuu-ui/vuu-utils");var lv=require("react/jsx-runtime");var dI=z(require("classnames")),ud=require("react");var cI=require("react");var sI=require("@salt-ds/core");var sd=require("react/jsx-runtime"),hv=require("react");function av(r){var e,t,n="";if(typeof r=="string"||typeof r=="number")n+=r;else if(typeof r=="object")if(Array.isArray(r))for(e=0;e<r.length;e++)r[e]&&(t=av(r[e]))&&(n&&(n+=" "),n+=t);else for(e in r)r[e]&&(n&&(n+=" "),n+=e);return n}function cv(){for(var r,e,t=0,n="";t<arguments.length;)(r=arguments[t++])&&(e=av(r))&&(n&&(n+=" "),n+=e);return n}var uv=`/* Style applied to the root element */
|
|
207
207
|
.saltIcon {
|
|
208
208
|
--icon-color: var(--saltIcon-color, var(--salt-text-secondary-foreground));
|
|
209
209
|
--icon-size-multiplier: var(--saltIcon-size-multiplier, 1);
|
|
@@ -234,7 +234,7 @@ ThemeProvider can only apply CSS classes for theming to a single nested child el
|
|
|
234
234
|
.saltIcon:active {
|
|
235
235
|
--icon-color: var(--saltIcon-color-active, var(--salt-text-secondary-foreground));
|
|
236
236
|
}
|
|
237
|
-
`;var ZR=r=>(...e)=>[r,...e].join("-"),eI=ZR("saltIcon"),tI=1,hv=(0,uv.forwardRef)(function({children:e,className:t,size:n=tI,style:o,...i},s){let l=Hn();_n({testId:"salt-icon",css:cv,window:l});let a={...o,"--saltIcon-size-multiplier":`${n}`};return(0,ad.jsx)("svg",{className:av(eI(),t),style:a,role:"img",...i,ref:s,children:(0,ad.jsx)("g",{"aria-hidden":!0,children:e})})});var zs=require("react/jsx-runtime"),fv=require("react");var cd=(0,fv.forwardRef)(function(e,t){return(0,zs.jsxs)(hv,{"data-testid":"ExportIcon","aria-label":"export",viewBox:"0 0 12 12",ref:t,...e,children:[(0,zs.jsx)("path",{d:"M5 1H1v10h4v-1H2V2h3V1Z"}),(0,zs.jsx)("path",{d:"M3 5h5V3l4 3-4 3V7H3V5Z"})]})});var pv=require("@vuu-ui/vuu-utils");var mv=require("@salt-ds/core");var zn=require("react");var dv=async r=>await fetch(`api/vui/${r.username}`,{}).then(t=>t.ok?t.json():null).catch(()=>{console.log("error getting history")});var br=require("react/jsx-runtime"),nI=({lastUpdate:r},{lastUpdate:e})=>e===r?0:e<r?-1:1,rI=r=>(0,br.jsx)(Vs,{...r}),oI=(0,zn.forwardRef)(function({loginUrl:e,onNavigate:t,user:n,layoutId:o="latest"},i){let[s,l]=(0,zn.useState)([]);(0,zn.useEffect)(()=>{async function h(){let d=(await dv(n)).filter(p=>p.id!=="latest").sort(nI).map(({id:p,lastUpdate:m})=>({lastUpdate:m,id:p,label:`Saved at ${(0,pv.formatDate)(new Date(m),"kk:mm:ss")}`}));console.log({sortedHistory:d}),l(d)}h()},[n]);let a=(0,zn.useCallback)((h,f)=>{f&&t(f.id)},[t]),c=(0,zn.useCallback)(()=>{iv(e)},[e]),u=s.length===0?null:o==="latest"?s[0]:s.find(h=>h.id===o);return(0,br.jsxs)("div",{className:"vuuUserPanel",ref:i,children:[(0,br.jsx)(rd,{ListItem:rI,className:"vuuUserPanel-history",onSelect:a,selected:u,source:s}),(0,br.jsx)("div",{className:"vuuUserPanel-buttonBar",children:(0,br.jsxs)(mv.Button,{"aria-label":"logout",onClick:c,children:[(0,br.jsx)(cd,{})," Logout"]})})]})});var gv=require("react/jsx-runtime");var sI=z(require("classnames")),ud=require("@salt-ds/core"),lI=require("react");var yv=require("react/jsx-runtime");var cI=z(require("classnames"));var bv=require("react/jsx-runtime");var Cv=require("@vuu-ui/vuu-utils");var uI=require("@salt-ds/core"),hI=z(require("classnames")),xv=require("react");var vv=require("react/jsx-runtime");var wv=require("react/jsx-runtime");var hd=require("react"),Sv=require("react/jsx-runtime");var Tv=require("react/jsx-runtime"),{error:w$}=(0,Cv.logger)("Shell");var dd=require("react"),pI=require("react/jsx-runtime"),dI={},k$=(0,dd.createContext)(dI);var mo=require("react"),kv=require("react/jsx-runtime"),mI=()=>{let[r,e]=(0,mo.useState)(),{saveLayout:t}=oc(),n=(0,mo.useCallback)(()=>{e(void 0)},[]),o=(0,mo.useCallback)(l=>{t(l),e(void 0)},[t]),[i,s]=(0,mo.useMemo)(()=>[(l,a)=>{console.log({options:a});let c=l.split(" "),u=[];return c.includes("main-tab")&&u.push({label:"Save Layout",action:"save-layout",options:a},{label:"Layout Settings",action:"layout-settings",options:a}),u},l=>(console.log("menu action",{action:l}),l.menuId==="save-layout"?(e((0,kv.jsx)(qx,{onCancel:n,onSave:o,componentId:l.options.controlledComponentId})),!0):!1)],[n,o]);return{buildMenuOptions:i,dialogContent:r,handleCloseDialog:n,handleMenuAction:s}};var Iv=require("react");var Wn=require("@vuu-ui/vuu-utils"),Cn=require("react");var yo=require("react");var go=new Map,Ev=(r,e,t)=>{switch(t){case"height":return e.height;case"clientHeight":return r.clientHeight;case"clientWidth":return r.clientWidth;case"contentHeight":return e.contentHeight;case"contentWidth":return e.contentWidth;case"scrollHeight":return Math.ceil(r.scrollHeight);case"scrollWidth":return Math.ceil(r.scrollWidth);case"width":return e.width;default:return 0}},Mv=new ResizeObserver(r=>{for(let e of r){let{target:t,borderBoxSize:n,contentBoxSize:o}=e,i=go.get(t);if(i){let[{blockSize:s,inlineSize:l}]=n,[{blockSize:a,inlineSize:c}]=o,{onResize:u,measurements:h}=i,f=!1;for(let[d,p]of Object.entries(h)){let m=Ev(t,{height:s,width:l,contentHeight:a,contentWidth:c},d);m!==p&&(f=!0,h[d]=m)}f&&u&&u(h)}}});function Rv(r,e,t,n=!1){let o=(0,yo.useRef)(e),i=(0,yo.useCallback)(s=>{let{width:l,height:a}=s.getBoundingClientRect(),{clientWidth:c,clientHeight:u}=s;return o.current.reduce((h,f)=>(h[f]=Ev(s,{width:l,height:a,contentHeight:u,contentWidth:c},f),h),{})},[]);(0,yo.useEffect)(()=>{let s=r.current;async function l(){go.set(s,{measurements:{}});let a=go.get(s);if(a){let c=i(s);a.measurements=c,Mv.observe(s),n&&t(c)}else console.log("%cuseResizeObserver an target expected to be under observation wa snot found. This warrants investigation","font-weight:bold; color:red;")}return s&&(go.has(s)&&console.log("useResizeObserver attemping to observe same element twice",{target:s}),l()),()=>{s&&go.has(s)&&(Mv.unobserve(s),go.delete(s))}},[i,r]),(0,yo.useEffect)(()=>{let s=r.current,l=go.get(s);if(l){if(o.current!==e){o.current=e;let a=i(s);l.measurements=a}l.onResize=t}},[e,i,r,t])}var gI=["clientHeight","clientWidth"],yI=["clientWidth"],bI=["clientHeight"],xI=[],lc=r=>Number.isFinite(r),vI={height:"100%",width:"100%"},wI=(r,e)=>(0,Wn.isValidNumber)(r)&&(0,Wn.isValidNumber)(e)?{height:`${r}px`,width:`${e}px`}:typeof r=="string"&&typeof e=="string"?{height:r,width:e}:vI,SI=(r,e)=>{if((0,Wn.isValidNumber)(r)&&(0,Wn.isValidNumber)(e))return{height:r,width:e}},pd=({defaultHeight:r=0,defaultWidth:e=0,height:t,onResize:n,width:o})=>{let i=(0,Cn.useRef)(null),[s,l]=(0,Cn.useState)({css:wI(t,o),inner:SI(t,o),outer:{height:t!=null?t:"100%",width:o!=null?o:"100%"}}),a=typeof t=="number",c=typeof o=="number",u=a&&c?xI:a?yI:c?bI:gI;(0,Cn.useMemo)(()=>{l(f=>{let{inner:d,outer:p}=f;if((0,Wn.isValidNumber)(t)&&(0,Wn.isValidNumber)(o)&&d&&p){let{height:m,width:g}=d,{height:y,width:v}=p;if(y!==t||v!==o){let w=(0,Wn.isValidNumber)(y)?y-m:0,x=(0,Wn.isValidNumber)(v)?v-g:0;return{...f,outer:{height:t,width:o},inner:{height:t-w,width:o-x}}}}return f})},[t,o]);let h=(0,Cn.useCallback)(({clientWidth:f,clientHeight:d})=>{let{css:p,inner:m,outer:g}=s,y=s;a&&lc(f)&&f!==(m==null?void 0:m.width)?y={css:p,outer:g,inner:{width:Math.floor(f)||e,height:t}}:c&&lc(d)&&d!==(m==null?void 0:m.height)?y={css:p,outer:g,inner:{height:Math.floor(d)||r,width:o}}:lc(d)&&lc(f)&&(f!==(m==null?void 0:m.width)||d!==(m==null?void 0:m.height))&&(y={css:p,outer:g,inner:{width:Math.floor(f)||e,height:Math.floor(d)||r}}),y!==s&&l(y)},[r,e,a,c,t,s,o]);return(0,Cn.useEffect)(()=>{s.inner&&(n==null||n(s.inner))},[n,s.inner]),Rv(i,u,h,!0),{containerRef:i,cssSize:s.css,outerSize:s.outer,innerSize:s.inner}};var Pv=require("@salt-ds/core"),gd=z(require("classnames"));var yd=require("react/jsx-runtime"),md="vuuMeasuredContainer",CI=(0,Iv.forwardRef)(function({children:e,className:t,height:n,onResize:o,style:i,width:s,...l},a){let{containerRef:c,...u}=pd({height:n,onResize:o,width:s}),{cssSize:h,innerSize:f}=u,d=f===void 0,p=()=>d?{"--measured-css-height":`${h.height}`,"--measured-css-width":`${h.width}`}:{...i,"--measured-css-height":`${h.height}`,"--measured-css-width":`${h.width}`,"--measured-px-height":`${f==null?void 0:f.height}px`,"--measured-px-width":`${f==null?void 0:f.width}px`},m=(0,Pv.useForkRef)(c,a);return d?(0,yd.jsx)("div",{...l,className:(0,gd.default)(md,`${md}-ummeasured`),style:p(),ref:c}):(0,yd.jsx)("div",{...l,className:(0,gd.default)(md,t),ref:m,style:p(),children:e})});var Hv=require("@vuu-ui/vuu-popups");var Ws=z(require("classnames")),fc=z(require("react"));var Fv=require("@vuu-ui/vuu-ui-controls"),hc=require("@vuu-ui/vuu-utils"),dt=require("react");var bd=require("@vuu-ui/vuu-utils"),TI=".vuuOverflowContainer-item:not(.wrapped)",Dv=r=>r.sort((e,t)=>{let{dataset:{index:n="?"}}=e,{dataset:{index:o="?"}}=t,i=e.classList.contains("wrapped"),s=t.classList.contains("wrapped"),l=n==="overflow",a=o==="overflow";return i&&!s?1:!i&&s?-1:l?1:a?-1:parseInt(n)>parseInt(o)?1:-1}),cc=[],gi=(r,e="horizontal")=>{let t=[],n=[],o=-1,i=!1,s=Dv(Array.from(r.children)),l=e==="vertical"?"top":"left";for(let a of s){let c=a,{dataset:{index:u="?",label:h="?",overflowPriority:f="0"}}=c,{[l]:d}=c.getBoundingClientRect();d<=o?(u==="overflow"?n.push(t.pop()):n.push({index:u,label:h,overflowPriority:f}),i=!0):i?n.push({index:u,label:h,overflowPriority:f}):t.push({index:u,label:h,overflowPriority:f}),o=d}return[t,n]},xd=(r,e)=>{let t=!1;e.find(({index:n})=>n==="overflow")&&e.length===1&&(t=!0);for(let n of r.children){let{dataset:{index:o="?"}}=n;e.length===0||t?r.classList.remove("overflowed"):r.classList.add("overflowed"),o!=="overflow"&&e.find(i=>i.index===o)?n.classList.add("wrapped"):n.classList.remove("wrapped")}},kI=(r,{overflowPriority:e})=>Math.max(r,parseInt(e)),MI=(r,{overflowPriority:e})=>Math.min(r,parseInt(e)),vd=r=>{var e;return r.length>1&&((e=r.at(-1))==null?void 0:e.index)==="overflow"},EI=r=>{let[e]=r;for(let t=1;t<r.length;t++){let n=r[t];parseInt(n.overflowPriority)>parseInt(e.overflowPriority)&&(e=n)}return e},wd=(r,e)=>{var o;let t=r.reduce(MI,Number.MAX_SAFE_INTEGER);return e.reduce(kI,0)>t?!0:e.length>1&&((o=e.at(-1))==null?void 0:o.index)==="overflow"},Sd=(r,e)=>new Promise(t=>{requestAnimationFrame(()=>{let[,n]=gi(r);RI(e,n).forEach(i=>Lv(r,i)),t(n)})}),Cd=(r,e,t)=>new Promise(n=>{requestAnimationFrame(()=>{let[,o]=gi(r),i=EI(o);if(i){let[s,l]=uc(r,i);n([s,l])}else n([e,t])})}),Lv=(r,e)=>{let t=(0,bd.getElementByDataIndex)(r,e.index);if(t)t.classList.add("wrapped");else throw Error(`markElementAsWrapped element item with index ${e.index} not found`)},Av=r=>Array.from(r.querySelectorAll(".wrapped")),RI=(r,e)=>{let t=[];for(let n of e)r.find(({index:o})=>o===n.index)||t.push(n);return t},Ov=(r,e)=>{Av(r).forEach(n=>{let{dataset:{index:o="?"}}=n;e.find(i=>i.index===o)||n.classList.remove("wrapped")})},Nv=r=>r.querySelector('[data-index="overflow"]'),II=r=>r.querySelector(".wrapped"),ac=r=>parseInt(getComputedStyle(r).getPropertyValue("width")),Vv=(r,e)=>{let{right:t}=r.getBoundingClientRect(),n=parseInt(getComputedStyle(r).getPropertyValue("padding-right")),{right:o}=e.getBoundingClientRect();return t-n-o},Td=r=>{let e=Nv(r),t=Vv(r,e),n=ac(e),o=II(r);return ac(o)<=t+n?(r.classList.remove("overflowed"),o.classList.remove("wrapped"),!0):!1},PI=(r,e)=>{let{dataset:{index:t="0",overflowPriority:n="0"}}=r,{dataset:{index:o="0",overflowPriority:i="0"}}=e;return n>i?-1:n<i?1:parseInt(t)-parseInt(o)},DI=r=>Array.from(r.querySelectorAll(TI)).sort(PI),uc=(r,e)=>{let t=DI(r),n=(0,bd.getElementByDataIndex)(r,e.index,!0),o=-1,i=t.at(o),s=ac(i),l=ac(n),a=Nv(r),c=Vv(r,a)+s;if(c>=l)LI(n,i);else{let{left:f}=i.getBoundingClientRect(),d=c,p=[i];for(;c<l;){o-=1,i=t.at(o),p.push(i);let{left:m}=i.getBoundingClientRect(),g=f-m;c=d+g}n==null||n.classList.remove("wrapped"),p.forEach(m=>{m.classList.add("wrapped")})}let[u,h]=gi(r);return Ov(r,h),[u,h]},LI=(r,e)=>{if(!r||!e)throw Error("switchWrapOnElements, element undefined");r.classList.remove("wrapped"),e.classList.add("wrapped")};var Bv=({allowDragDrop:r=!1,itemCount:e,onMoveItem:t,onSwitchWrappedItemIntoView:n,orientation:o="horizontal"})=>{let[i,s]=(0,dt.useState)(null),l=(0,dt.useRef)(cc),a=(0,dt.useRef)(null),c=(0,dt.useCallback)(w=>{var x;a.current&&((x=a.current.querySelector(".vuuOverflowContainer-OverflowIndicator button"))==null||x.setAttribute("tabindex",w))},[]),u=(0,dt.useCallback)(async()=>{if(i){let[w,x]=gi(i,o);for(xd(i,x),vd(x)&&(x=await Sd(i,x));wd(w,x);)[w,x]=await Cd(i,w,x);x.length===1&&Td(i)&&(x=cc),l.current.length===0&&x.length>0?c("0"):l.current.length>0&&x.length===0&&c("-1"),l.current=x}},[i,o,c]),h=w=>typeof w=="object"&&w!==null&&"overflowItem"in w,[f,d]=(0,dt.useMemo)(()=>[()=>{let{current:w}=l;return w.map(x=>({label:x.label,action:`activate-item-${x.index}`,options:{overflowItem:x}}))},({options:w})=>{if(i&&h(w)){let[,x]=uc(i,w.overflowItem);l.current=x,n==null||n(w.overflowItem)}return!0}],[i,n]),p=(0,dt.useMemo)(()=>{let{sizeProp:w}=hc.MEASURES[o],x=0;return new ResizeObserver(S=>{for(let b of S){let{[w]:C}=b.contentRect,k=Math.round(C);(0,hc.isValidNumber)(k)&&x!==k&&(x=k,u())}})},[u,o]);Oc(()=>{u()},[u,e]),(0,dt.useMemo)(()=>{i&&p.observe(i)},[i,p]);let m=(0,dt.useCallback)(w=>{s(a.current=w)},[]),g=(0,dt.useCallback)((w,x)=>{t==null||t(w,x)},[t]),{onMouseDown:y,...v}=(0,Fv.useDragDropNext)({allowDragDrop:r,containerRef:a,draggableClassName:"vuuOverflowContainer",onDrop:g,orientation:"horizontal",itemQuery:".vuuOverflowContainer-item"});return{menuActionHandler:d,menuBuilder:f,onItemMouseDown:y,rootRef:m,...v}};var xr=require("react/jsx-runtime"),yi="vuuOverflowContainer",_v=fc.default.memo(({allowDragDrop:r,children:e,className:t,height:n,id:o,onMoveItem:i,onSwitchWrappedItemIntoView:s,orientation:l="horizontal",overflowIcon:a,overflowPosition:c="end"})=>{let u=kr(e),{draggable:h,draggedItemIndex:f,menuActionHandler:d,menuBuilder:p,onItemMouseDown:m,rootRef:g}=Bv({allowDragDrop:r,itemCount:u.length,onMoveItem:i,onSwitchWrappedItemIntoView:s,orientation:l}),v={"--overflow-container-height":`${l==="vertical"?"100%":`${n}px`}`},w=(0,Ws.default)(`${yi}-wrapContainer`,t,{[`${yi}-horizontal`]:l==="horizontal",[`${yi}-vertical`]:l==="vertical"}),x=u.map((b,C)=>{let{"data-align":k,"data-overflow-priority":E="0",id:R=`${o}-${C}`,label:N=`Item ${C+1}`}=b.props;return(0,xr.jsx)("div",{className:(0,Ws.default)(`${yi}-item`,{"vuuDraggable-dragAway":f===C}),"data-index":C,"data-align":k,"data-label":N,"data-overflow-priority":E,id:`${R}-wrapper`,onMouseDown:m,children:b},C)}),S=(0,xr.jsx)("div",{className:`${yi}-OverflowIndicator`,"data-index":"overflow",children:(0,xr.jsx)(Hv.PopupMenu,{icon:a,menuBuilder:p,menuActionHandler:d,tabIndex:-1})},"overflow");return x.push(S),(0,xr.jsxs)("div",{className:w,ref:g,style:v,children:[x,h]})});_v.displayName="OverflowContainer.InnerContainer";var kd=(0,fc.forwardRef)(function({allowDragDrop:e=!1,children:t,className:n,height:o=44,id:i,onMoveItem:s,onSwitchWrappedItemIntoView:l,orientation:a,overflowIcon:c,overflowPosition:u,...h},f){let d=Mr(i);return(0,xr.jsx)("div",{...h,className:(0,Ws.default)((0,Ws.default)(yi,n)),id:d,ref:f,children:(0,xr.jsx)(_v,{allowDragDrop:e,height:o,id:d,orientation:a,overflowIcon:c,overflowPosition:u,onMoveItem:s,onSwitchWrappedItemIntoView:l,children:t})})});var zv=require("@vuu-ui/vuu-utils"),pc=require("@vuu-ui/vuu-ui-controls"),Md=z(require("classnames")),mc=require("react");var dc=require("react/jsx-runtime"),AI=r=>{let e=r.cloneNode(!0);return e.id="",delete e.dataset.idx,e},ic=(0,mc.memo)(({className:r,children:e,idx:t,resizeable:n,header:o,closeable:i,...s})=>(0,dc.jsx)(pc.ListItem,{className:(0,Md.default)("vuuPaletteItem",r),"data-draggable":!0,"data-icon":"draggable",...s}));ic.displayName="PaletteItem";var sd=({children:r,className:e,itemHeight:t=41,orientation:n="horizontal",ViewProps:o,...i})=>{let s=gt(),l="vuuPalette";function a(c){var k,E;let h=c.target.closest(".vuuPaletteItem"),f=parseInt((E=(k=h.dataset)==null?void 0:k.index)!=null?E:"-1"),{props:{caption:d,children:p,template:m,...g}}=r[f],{height:y,left:v,top:w,width:x}=h.getBoundingClientRect(),S=(0,zv.uuid)(),C=m?p:(0,dc.jsx)(Zn,{...o,...{id:S,key:S},...g,title:g.label,children:p});s({dragRect:{left:v,top:w,right:v+x,bottom:w+150,width:x,height:y},dragElement:AI(h),evt:c.nativeEvent,instructions:{DoNotRemove:!0,DoNotTransform:!0,DriftHomeIfNoDropTarget:!0,RemoveDraggableOnDragEnd:!0,dragThreshold:10},path:"*",payload:C,type:"drag-start"})}return(0,dc.jsx)(pc.List,{...i,className:(0,Md.default)(l,e,`${l}-${n}`),itemHeight:t,selected:null,children:r.map((c,u)=>c.type===ic?(0,mc.cloneElement)(c,{key:u,onMouseDown:a}):c)})};xe("Palette",sd,"view");var gc=require("@vuu-ui/vuu-ui-controls"),Ed=z(require("classnames")),vr=z(require("react"));var $s=require("react/jsx-runtime"),Wv="Tabs",OI=()=>{},NI=(r,e)=>{var t,n,o,i;return(i=(o=(t=r.props)==null?void 0:t.title)!=null?o:(n=r.props)==null?void 0:n["data-tab-title"])!=null?i:`Tab ${e+1}`},VI=r=>{let e=[];return vr.default.Children.forEach(r,t=>{vr.default.isValidElement(t)?e.push(t):console.warn("Stack has unexpected child element type")}),e},FI={allowAddTab:!1,allowCloseTab:!1,allowRenameTab:!1},Hs=(0,vr.forwardRef)(function({active:e=0,children:t,className:n,getTabIcon:o=OI,getTabLabel:i=NI,id:s,keyBoardActivation:l="manual",onAddTab:a,onMoveTab:c,onTabClose:u,onTabEdit:h,onTabSelectionChanged:f,showTabs:d="top",style:p,TabstripProps:m=FI},g){var N;let y=Mr(s),{allowCloseTab:v,allowRenameTab:w,className:x}=m,S=(0,vr.useCallback)((O,M,D,F)=>{h==null||h(F,M)},[h]),b=()=>{var O;return vr.default.isValidElement(t)?t:Array.isArray(t)&&(O=t[e])!=null?O:null},C=()=>VI(t).map((O,M)=>{let{closeable:D=v,id:F=`${y}-${M}`,"data-tab-location":K}=O.props;return(0,$s.jsx)(gc.Tab,{ariaControls:F,"data-icon":o(O,M),id:`${F}-tab`,index:M,label:i(O,M),location:K,closeable:D,editable:w},F)}),k=b(),E=d==="left"||d==="right",R=E?"vertical":"horizontal";return(0,$s.jsxs)("div",{className:(0,Ed.default)(Wv,n,{[`${Wv}-horizontal`]:E}),style:p,id:y,ref:g,children:[d?(0,$s.jsx)(gc.Tabstrip,{...m,activeTabIndex:(N=m==null?void 0:m.activeTabIndex)!=null?N:k===null?-1:e,allowDragDrop:m.allowDragDrop!==!1,animateSelectionThumb:!0,className:(0,Ed.default)("vuuTabHeader",x),keyBoardActivation:l,onActiveChange:f,onAddTab:a,onCloseTab:u,onExitEditMode:S,onMoveTab:c,orientation:R,children:C()}):null,k]})});Hs.displayName="Stack";var $v=require("@salt-ds/core"),wr=z(require("react"));var yc=require("react/jsx-runtime"),BI=r=>(0,yc.jsx)(Zn,{resizeable:!0,title:`Tab ${r}`,style:{flexGrow:1,flexShrink:0,flexBasis:0},header:!0,closeable:!0,children:(0,yc.jsx)(Js,{style:{flex:1}})}),Rd=r=>{var S;let e=(0,wr.useRef)(null),t=gt(),{loadState:n}=Lr(),{createNewChild:o,id:i,onTabSelectionChanged:s,path:l,...a}=r,{children:c}=r,u=(0,$v.useIdMemo)(i),[h]=Wi(u,e,l),f=hu(),d=(S=o!=null?o:f)!=null?S:BI,p=b=>{l&&(t({type:"switch-tab",id:u,path:l,nextIdx:b}),s==null||s(b))},m=(0,wr.useCallback)(b=>{if(Array.isArray(c)){let{props:{"data-path":C,path:k=C}}=c[b];t({type:"remove",path:k})}},[c,t]),g=(0,wr.useCallback)(()=>{if(l){let b=wr.default.Children.count(c),C=d(b);t({type:"add",path:l,component:C})}},[c,d,t,l]),y=(0,wr.useCallback)((b,C)=>{l&&t({fromIndex:b,toIndex:C,path:l,type:"move-child"})},[t,l]);return(0,yc.jsx)(Hs,{...a,id:u,getTabLabel:(b,C)=>{let{id:k,title:E}=b.props;return n(k,"view-title")||E||`Tab ${C+1}`},onMouseDown:async(b,C)=>{let k;await h({type:"mousedown",index:C,preDragActivity:async()=>new Promise(N=>{console.log("preDragActivity: Ok, gonna release the drag"),k=N})},b)&&(k==null||k(void 0))},onMoveTab:y,onAddTab:g,onTabClose:m,onTabEdit:(b,C)=>{t({type:"set-title",path:`${l}.${b}`,title:C})},onTabSelectionChanged:p,ref:e})};Rd.displayName="Stack";xe("Stack",Rd,"container");var xc=z(require("classnames")),vi=z(require("react"));var Yv=require("@vuu-ui/vuu-utils"),xi=require("react");var Kv=require("@salt-ds/core"),bc=require("@vuu-ui/vuu-utils"),De=require("react"),lt=require("@vuu-ui/vuu-utils");var Uv=require("@vuu-ui/vuu-utils"),HI=(r,e)=>{if(r){let t=r.querySelector(`[data-index]:has(${e})`);return(0,Uv.getElementDataIndex)(t)}return-1};var Gv=r=>HI(r,".vuuEditableLabel-editing");var jv={horizontal:{[lt.Home]:"start",[lt.End]:"end",[lt.ArrowLeft]:"bwd",[lt.ArrowRight]:"fwd"},vertical:{[lt.Home]:"start",[lt.End]:"end",[lt.ArrowUp]:"bwd",[lt.ArrowDown]:"fwd"}},_I=(r,e="horizontal")=>jv[e][r]!==void 0,zI=r=>r===lt.ArrowDown;function qv(r,e,t){return e==="start"?0:e==="end"?r-1:e==="bwd"?t>0?t-1:t:t===null?0:t===r-1?t:t+1}var WI=r=>r!==null&&!r.classList.contains("wrapped"),Us=(r,e)=>r?r.querySelector(`[data-index="${e}"]`):null,Jv=({containerRef:r,defaultHighlightedIdx:e=-1,highlightedIdx:t,keyBoardActivation:n,orientation:o,selectedIndex:i=[]})=>{let s=n==="manual",l=(0,De.useRef)(!1),a=(0,De.useRef)(-1),[c,u]=(0,De.useState)(!1),[,h]=(0,De.useState)({}),[f,d]=(0,Kv.useControlled)({controlled:t,default:e,name:"UseKeyboardNavigation"}),p=(0,De.useCallback)(M=>{d(a.current=M)},[d]),m=(0,De.useRef)(!1),g=(0,De.useCallback)((M,D=!1,F,K=70)=>{p(M),F===!0&&!m.current&&(m.current=!0);let A=()=>{let V=Us(r.current,M);if(V){let B=(0,bc.getFocusableElement)(V);B==null||B.focus()}};D?A():setTimeout(A,K)},[r,p]),y=M=>{if(a.current===-1&&M.target.tabIndex!==-1){let D=Gv(r.current);D!==-1?requestAnimationFrame(()=>{p(D)}):setTimeout(()=>{let[F=null]=i;a.current===-1&&F!==null&&p(F)},200)}},v=(0,De.useCallback)(()=>{var M,D;return(D=(M=r.current)==null?void 0:M.querySelectorAll("[data-index]").length)!=null?D:0},[r]),w=(0,De.useCallback)((M="fwd",D)=>{let F=v(),A=qv(F,M,typeof D=="number"?D:F),V=M==="start"?"fwd":M==="end"?"bwd":M;for(;(V==="fwd"&&A<F||V==="bwd"&&A>0)&&!WI(Us(r.current,A));){let B=qv(F,V,A);if(B===A)break;A=B}return A},[r,v]),x=(0,De.useCallback)((M,D=!1)=>{let F=jv[o][M.key],K=w(F,f);K!==f?s&&g(K,!0):D&&h({})},[f,s,w,g,o]),S=(0,De.useCallback)(()=>{let M=Us(r.current,f);return M?M.querySelector(".vuuPopupMenu")!=null:!1},[r,f]),b=(0,De.useCallback)(()=>{let M=Us(r.current,f);return M?M.querySelector(".vuuEditableLabel-input")!=null:!1},[r,f]),C=(0,De.useCallback)(()=>{let M=Us(r.current,f),D=M==null?void 0:M.querySelector(".vuuPopupMenu");return D&&(0,bc.dispatchMouseEvent)(D,"click"),!1},[r,f]),k=(0,De.useCallback)(M=>{v()>0&&_I(M.key,o)?(M.preventDefault(),m.current?x(M):(m.current=!0,x(M,!0))):zI(M.key)&&S()&&!b()&&C()},[C,v,S,b,x,o]),E=(M,D)=>{p(D)},R=(0,De.useCallback)(()=>{c||(u(!0),l.current?l.current=!1:m.current=!0)},[c]),N=(0,De.useCallback)(()=>{c||(l.current=!0),m.current=!1},[c]);return{containerProps:{onBlur:M=>{let D=M.target.closest(".vuuTabstrip"),F=M.relatedTarget;D&&!(D!=null&&D.contains(F))&&(p(-1),u(!1))},onMouseDownCapture:N,onFocus:R,onMouseLeave:()=>{m.current=!0,p(-1),l.current=!1}},focusVisible:m.current?f:-1,focusIsWithinComponent:c,highlightedIdx:f,focusItem:g,onClick:E,onFocus:y,onKeyDown:k,setHighlightedIdx:p}};var Gs=require("@vuu-ui/vuu-utils"),$n=require("@vuu-ui/vuu-ui-controls"),bi=require("react"),$I=["Enter"," "],UI={},Qv=({containerRef:r,defaultSelected:e,highlightedIdx:t,itemQuery:n,onSelectionChange:o,selected:i,selectionStrategy:s})=>{let[l,a,c]=(0,$n.useControlled)({controlled:i,default:e!=null?e:[],name:"useSelection",state:"selected"}),u=(0,bi.useCallback)(g=>$I.includes(g.key),[]),h=(0,bi.useCallback)((g,y=!1)=>{let v=(0,$n.allowMultipleSelection)(s,y)?l.concat(g):[g];a(v),o==null||o(v)},[o,l,s,a]),f=(0,bi.useCallback)((g,y=!1)=>{let v=s==="deselectable"||s==="multiple-special-key"&&!y?[]:l.filter(w=>w!==g);a(v),o==null||o(v)},[o,l,s,a]),d=(0,bi.useCallback)(g=>{u(g)&&(0,Gs.isSelectableElement)(g.target)&&(l.includes(t)?(0,$n.deselectionIsAllowed)(s)&&(g.stopPropagation(),g.preventDefault(),f(t,g.shiftKey)):(g.stopPropagation(),g.preventDefault(),h(t,g.shiftKey)))},[u,l,t,s,h,f]),p=(0,bi.useCallback)((g,y)=>{let v=(0,Gs.getClosestIndexItem)(g.target);(0,Gs.isSelectableElement)(v)&&(l.includes(y)?(0,$n.deselectionIsAllowed)(s)&&f(y,g.shiftKey):h(y,g.shiftKey))},[f,h,l,s]),m=(0,$n.selectionIsDisallowed)(s)?UI:{onClick:p,onKeyDown:d};return{activateItem:h,itemHandlers:m,isControlled:c,selected:l}};var Xv=({activeItemIndex:r,defaultActiveItemIndex:e,containerRef:t,itemQuery:n="vuuToolbarItem",onActiveChange:o,orientation:i,selectionStrategy:s})=>{var b;let l=(0,xi.useRef)(r),{focusItem:a,highlightedIdx:c,onClick:u,onKeyDown:h,setHighlightedIdx:f,...d}=Jv({containerRef:t,keyBoardActivation:"manual",orientation:i,selectedIndex:(b=l.current)!=null?b:[]}),{activateItem:p,itemHandlers:{onClick:m,onKeyDown:g},selected:y}=Qv({containerRef:t,defaultSelected:e,highlightedIdx:c,itemQuery:n,onSelectionChange:o,selected:r,selectionStrategy:s});l.current=y;let v=(0,xi.useCallback)(C=>{var R;let E=C.target.closest("[data-index]");if(E){let N=parseInt((R=E.dataset.index)!=null?R:"-1");N!==-1&&(0,Yv.isValidNumber)(N)&&(u(C,N),m==null||m(C,N))}},[u,m]),w=(0,xi.useCallback)(C=>{h(C),C.defaultPrevented||g==null||g(C)},[h,g]),x=(0,xi.useCallback)(C=>{let k=parseInt(C.index);isNaN(k)||p(k)},[p]),S={onClick:v,onFocus:d.onFocus,onKeyDown:w};return{activeItemIndex:y,focusVisible:d.focusVisible,containerProps:{...d.containerProps,onSwitchWrappedItemIntoView:x},itemProps:S}};var Zv=require("@vuu-ui/vuu-ui-controls");var ew=require("react/jsx-runtime"),Id="vuuToolbar",zg=({activeItemIndex:r,defaultActiveItemIndex:e,children:t,className:n,id:o,onActiveChange:i,orientation:s="horizontal",selectionStrategy:l="none",...a})=>{let c=(0,vi.useRef)(null),{activeItemIndex:u,focusVisible:h,itemProps:f,...d}=Xv({activeItemIndex:r,defaultActiveItemIndex:e,containerRef:c,onActiveChange:i,orientation:s,selectionStrategy:l}),p=Mr(o),m=(0,xc.default)(Id,`${Id}-${s}`,n),g=(0,vi.useMemo)(()=>kr(t).map((y,v)=>{let{id:w=`${p}-tab-${v}`,className:x,...S}=y.props,b=u.includes(v);return vi.default.cloneElement(y,{...(0,Zv.forwardCallbackProps)(S,f),className:(0,xc.default)("vuuToolbarItem",x,{vuuFocusVisible:h===v}),"data-overflow-priority":b?"1":void 0,id:w,key:v,"aria-selected":b,tabIndex:b?0:-1})}),[u,t,h,p,f]);return(0,ew.jsx)(kd,{...a,...d.containerProps,className:(0,xc.default)(Id,m),...a,ref:c,children:g})};var wi=z(require("react"));var bo=require("react/jsx-runtime"),GI=({children:r})=>{let[t,n]=(0,wi.useState)(r),[o,i]=(0,wi.useState)(r),s=a=>{let c=Lc(t,a);i(c)},l=(a,c)=>{console.log(`change ${a} -> ${c}`);let u=wi.default.cloneElement(o,{style:{...o.props.style,[a]:c}});i(u),n(wi.default.cloneElement(t,{},u))};return(0,bo.jsxs)("div",{"data-design-mode":`${!1}`,children:[t,(0,bo.jsx)("br",{}),(0,bo.jsxs)("div",{style:{display:"flex"},children:[(0,bo.jsx)(Pd,{height:300,managedStyle:o.props.style,width:300,onChange:l,style:void 0}),(0,bo.jsx)(Dd,{layout:t,onSelect:s,style:{width:300,height:300,backgroundColor:"#ccc"}})]})]})};var Tn=require("@salt-ds/core"),be=require("react/jsx-runtime"),Ad={},qI={margin:{top:"marginTop",right:"marginRight",bottom:"marginBottom",left:"marginLeft"},border:{top:"borderTopWidth",right:"borderRightWidth",bottom:"borderBottomWidth",left:"borderLeftWidth"},padding:{top:"paddingTop",right:"paddingRight",bottom:"paddingBottom",left:"paddingLeft"}},Ld=({feature:r,children:e,style:t,onChange:n})=>(0,be.jsxs)("div",{className:`LayoutBox layout-${r} layout-outer`,children:[(0,be.jsxs)("div",{className:"layout-top",children:[(0,be.jsx)("span",{className:"layout-title",children:r}),(0,be.jsx)(Tn.FormField,{className:"layout-input",style:{width:30},children:(0,be.jsx)(Tn.Input,{value:t.top,onChange:(o,i)=>n(r,"top",i)})})]}),(0,be.jsxs)("div",{className:"layout-inner",children:[(0,be.jsx)("div",{className:"layout-left",children:(0,be.jsx)(Tn.FormField,{className:"layout-input",style:{width:30},children:(0,be.jsx)(Tn.Input,{value:t.left,onChange:(o,i)=>n(r,"left",i)})})}),e,(0,be.jsx)("div",{className:"layout-right",children:(0,be.jsx)(Tn.FormField,{className:"layout-input",style:{width:30},children:(0,be.jsx)(Tn.Input,{value:t.right,onChange:(o,i)=>n(r,"right",i)})})})]}),(0,be.jsx)("div",{className:"layout-bottom",children:(0,be.jsx)(Tn.FormField,{className:"layout-input",style:{width:30},children:(0,be.jsx)(Tn.Input,{value:t.bottom,onChange:(o,i)=>n(r,"bottom",i)})})})]}),KI={margin:!0,marginTop:!0,marginRight:!0,marginBottom:!0,marginLeft:!0},jI={padding:!0,paddingTop:!0,paddingRight:!0,paddingBottom:!0,paddingLeft:!0},JI={border:!0,borderColor:!0,borderWidth:!0,borderTopWidth:!0,borderRightWidth:!0,borderBottomWidth:!0,borderLeftWidth:!0},vc="(\\d+)(?:px)?",QI=`^(?:${vc}(?:\\s${vc}(?:\\s${vc}(?:\\s${vc})?)?)?)$`,tw=new RegExp(QI),YI=/^(?:(\d+)(?:px)\ssolid\s([a-zA-Z,0-9().]+))$/,Pd=({height:r,managedStyle:e,onChange:t,style:n,width:o})=>{let i=nw(e),s=(w,x,S)=>{let b=parseInt(S||"0",10),C=qI[w][x];t(C,b)},{marginTop:l=0,marginRight:a=0,marginBottom:c=0,marginLeft:u=0}=i,{borderTopWidth:h=0,borderRightWidth:f=0,borderBottomWidth:d=0,borderLeftWidth:p=0}=i,{paddingTop:m=0,paddingRight:g=0,paddingBottom:y=0,paddingLeft:v=0}=i;return(0,be.jsx)("div",{className:"LayoutConfigurator",style:{width:o,height:r,...n},children:(0,be.jsx)(Ld,{feature:"margin",style:{top:l,right:a,bottom:c,left:u},onChange:s,children:(0,be.jsx)(Ld,{feature:"border",style:{top:h,right:f,bottom:d,left:p},onChange:s,children:(0,be.jsx)(Ld,{feature:"padding",style:{top:m,right:g,bottom:y,left:v},onChange:s,children:(0,be.jsx)("div",{className:"layout-content"})})})})})};function XI(r=Ad,e=Ad){let{margin:t,marginTop:n,marginRight:o,marginBottom:i,marginLeft:s,padding:l,paddingTop:a,paddingRight:c,paddingBottom:u,paddingLeft:h,...f}=r;if(typeof t=="number")f.marginTop=f.marginRight=f.marginBottom=f.marginLeft=t;else if(typeof t=="string"){let d=tw.exec(t);if(d===null)console.error(`Invalid css value for margin '${t}'`);else{let[,p,m,g,y]=d,v=p&&m&&g;v&&y?(f.marginTop=parseInt(p,10),f.marginRight=parseInt(m,10),f.marginBottom=parseInt(g,10),f.marginLeft=parseInt(y,10)):v?(f.marginTop=parseInt(p,10),f.marginRight=f.marginLeft=parseInt(m,10),f.marginBottom=parseInt(g,10)):p&&m?(f.marginTop=f.marginBottom=parseInt(p,10),f.marginRight=f.marginLeft=parseInt(m,10)):f.marginTop=f.marginRight=f.marginBottom=f.marginLeft=parseInt(p,10)}}if(typeof n=="number"&&(f.marginTop=n),typeof o=="number"&&(f.marginRight=o),typeof i=="number"&&(f.marginBottom=i),typeof s=="number"&&(f.marginLeft=s),typeof l=="number")f.paddingTop=f.paddingRight=f.paddingBottom=f.paddingLeft=l;else if(typeof l=="string"){let d=tw.exec(l);if(d===null)console.error(`Invalid css value for padding '${l}'`);else{let[,p,m,g,y]=d,v=p&&m&&g;v&&y?(f.paddingTop=parseInt(p,10),f.paddingRight=parseInt(m,10),f.paddingBottom=parseInt(g,10),f.paddingLeft=parseInt(y,10)):v?(f.paddingTop=parseInt(p,10),f.paddingRight=f.paddingLeft=parseInt(m,10),f.paddingBottom=parseInt(g,10)):p&&m?(f.paddingTop=f.paddingBottom=parseInt(p,10),f.paddingRight=f.paddingLeft=parseInt(m,10)):f.paddingTop=f.paddingRight=f.paddingBottom=f.paddinggLeft=parseInt(p,10)}}return typeof a=="number"&&(f.paddingTop=a),typeof c=="number"&&(f.paddingRight=c),typeof u=="number"&&(f.paddingBottom=u),typeof h=="number"&&(f.paddingLeft=h),nw(f,e)}function nw(r=Ad){let e={...r},t,{border:n,borderWidth:o,borderTopWidth:i,borderRightWidth:s,borderBottomWidth:l,borderLeftWidth:a,borderColor:c,margin:u,marginTop:h,marginRight:f,marginBottom:d,marginLeft:p,padding:m,paddingTop:g,paddingRight:y,paddingBottom:v,paddingLeft:w,...x}=e,S={},b={};if(typeof u=="number"&&(e.marginTop=e.marginRight=e.marginBottom=e.marginLeft=u,S={marginTop:u,marginRight:u,marginBottom:u,marginLeft:u}),typeof m=="number"&&(e.paddingTop=e.paddingRight=e.paddingBottom=e.paddingLeft=m,b={paddingTop:m,paddingRight:m,paddingBottom:m,paddingLeft:m}),n||o||i||s||l||a){typeof n=="string"&&(t=YI.exec(n))&&([,o,c]=t,o=parseInt(o,10)),o&&(i=i===void 0?o:i,s=s===void 0?o:s,l=l===void 0?o:l,a=a===void 0?o:a),c=c||"black";let C=`
|
|
237
|
+
`;var eI=r=>(...e)=>[r,...e].join("-"),tI=eI("saltIcon"),nI=1,fv=(0,hv.forwardRef)(function({children:e,className:t,size:n=nI,style:o,...i},s){let l=Hn();_n({testId:"salt-icon",css:uv,window:l});let a={...o,"--saltIcon-size-multiplier":`${n}`};return(0,sd.jsx)("svg",{className:cv(tI(),t),style:a,role:"img",...i,ref:s,children:(0,sd.jsx)("g",{"aria-hidden":!0,children:e})})});var $s=require("react/jsx-runtime"),dv=require("react");var ld=(0,dv.forwardRef)(function(e,t){return(0,$s.jsxs)(fv,{"data-testid":"ExportIcon","aria-label":"export",viewBox:"0 0 12 12",ref:t,...e,children:[(0,$s.jsx)("path",{d:"M5 1H1v10h4v-1H2V2h3V1Z"}),(0,$s.jsx)("path",{d:"M3 5h5V3l4 3-4 3V7H3V5Z"})]})});var mv=require("@vuu-ui/vuu-utils");var gv=require("@salt-ds/core");var zn=require("react");var pv=async r=>await fetch(`api/vui/${r.username}`,{}).then(t=>t.ok?t.json():null).catch(()=>{console.log("error getting history")});var xr=require("react/jsx-runtime"),rI=({lastUpdate:r},{lastUpdate:e})=>e===r?0:e<r?-1:1,oI=r=>(0,xr.jsx)(Bs,{...r}),iI=(0,zn.forwardRef)(function({loginUrl:e,onNavigate:t,user:n,layoutId:o="latest"},i){let[s,l]=(0,zn.useState)([]);(0,zn.useEffect)(()=>{async function h(){let d=(await pv(n)).filter(p=>p.id!=="latest").sort(rI).map(({id:p,lastUpdate:m})=>({lastUpdate:m,id:p,label:`Saved at ${(0,mv.formatDate)(new Date(m),"kk:mm:ss")}`}));console.log({sortedHistory:d}),l(d)}h()},[n]);let a=(0,zn.useCallback)((h,f)=>{f&&t(f.id)},[t]),c=(0,zn.useCallback)(()=>{sv(e)},[e]),u=s.length===0?null:o==="latest"?s[0]:s.find(h=>h.id===o);return(0,xr.jsxs)("div",{className:"vuuUserPanel",ref:i,children:[(0,xr.jsx)(td,{ListItem:oI,className:"vuuUserPanel-history",onSelect:a,selected:u,source:s}),(0,xr.jsx)("div",{className:"vuuUserPanel-buttonBar",children:(0,xr.jsxs)(gv.Button,{"aria-label":"logout",onClick:c,children:[(0,xr.jsx)(ld,{})," Logout"]})})]})});var yv=require("react/jsx-runtime");var lI=z(require("classnames")),ad=require("@salt-ds/core"),aI=require("react");var bv=require("react/jsx-runtime");var uI=z(require("classnames"));var xv=require("react/jsx-runtime");var Tv=require("@vuu-ui/vuu-utils");var hI=require("@salt-ds/core"),fI=z(require("classnames")),vv=require("react");var wv=require("react/jsx-runtime");var Sv=require("react/jsx-runtime");var cd=require("react"),Cv=require("react/jsx-runtime");var kv=require("react/jsx-runtime"),{error:x$}=(0,Tv.logger)("Shell");var hd=require("react"),mI=require("react/jsx-runtime"),pI={},T$=(0,hd.createContext)(pI);var go=require("react"),Mv=require("react/jsx-runtime"),gI=()=>{let[r,e]=(0,go.useState)(),{saveLayout:t}=ic(),n=(0,go.useCallback)(()=>{e(void 0)},[]),o=(0,go.useCallback)(l=>{t(l),e(void 0)},[t]),[i,s]=(0,go.useMemo)(()=>[(l,a)=>{let c=l.split(" "),u=[];return c.includes("main-tab")&&u.push({label:"Save Layout",action:"save-layout",options:a},{label:"Layout Settings",action:"layout-settings",options:a}),u},l=>(console.log("menu action",{action:l}),l.menuId==="save-layout"?(e((0,Mv.jsx)(Kx,{onCancel:n,onSave:o,componentId:l.options.controlledComponentId})),!0):!1)],[n,o]);return{buildMenuOptions:i,dialogContent:r,handleCloseDialog:n,handleMenuAction:s}};var Pv=require("react");var Wn=require("@vuu-ui/vuu-utils"),Cn=require("react");var bo=require("react");var yo=new Map,Rv=(r,e,t)=>{switch(t){case"height":return e.height;case"clientHeight":return Math.floor(r.clientHeight);case"clientWidth":return Math.floor(r.clientWidth);case"contentHeight":return e.contentHeight;case"contentWidth":return e.contentWidth;case"scrollHeight":return Math.ceil(Math.floor(r.scrollHeight));case"scrollWidth":return Math.ceil(Math.floor(r.scrollWidth));case"width":return e.width;default:return 0}},Ev=new ResizeObserver(r=>{for(let e of r){let{target:t,borderBoxSize:n,contentBoxSize:o}=e,i=yo.get(t);if(i){let[{blockSize:s,inlineSize:l}]=n,[{blockSize:a,inlineSize:c}]=o,{onResize:u,measurements:h}=i,f=!1;for(let[d,p]of Object.entries(h)){let m=Rv(t,{height:s,width:l,contentHeight:a,contentWidth:c},d);m!==p&&(f=!0,h[d]=m)}f&&u&&u(h)}}});function Iv(r,e,t,n=!1){let o=(0,bo.useRef)(e),i=(0,bo.useCallback)(s=>{let{width:l,height:a}=s.getBoundingClientRect(),{clientWidth:c,clientHeight:u}=s,h=Math.floor(a),f=Math.floor(l);return o.current.reduce((d,p)=>(d[p]=Rv(s,{width:f,height:h,contentHeight:u,contentWidth:c},p),d),{})},[]);(0,bo.useEffect)(()=>{let s=r.current;async function l(){yo.set(s,{measurements:{}});let a=yo.get(s);if(a){let c=i(s);a.measurements=c,Ev.observe(s),n&&t(c)}else console.log("%cuseResizeObserver an target expected to be under observation wa snot found. This warrants investigation","font-weight:bold; color:red;")}return s&&(yo.has(s)&&console.log("useResizeObserver attemping to observe same element twice",{target:s}),l()),()=>{s&&yo.has(s)&&(Ev.unobserve(s),yo.delete(s))}},[i,r]),(0,bo.useEffect)(()=>{let s=r.current,l=yo.get(s);if(l){if(o.current!==e){o.current=e;let a=i(s);l.measurements=a}l.onResize=t}},[e,i,r,t])}var yI=["clientHeight","clientWidth"],bI=["clientWidth"],xI=["clientHeight"],vI=[],ac=r=>Number.isFinite(r),wI={height:"100%",width:"auto"},SI=(r,e)=>(0,Wn.isValidNumber)(r)&&(0,Wn.isValidNumber)(e)?{height:`${r}px`,width:`${e}px`}:typeof r=="string"||typeof e=="string"?{height:r!=null?r:"100%",width:e!=null?e:"auto"}:wI,CI=(r,e)=>{if((0,Wn.isValidNumber)(r)&&(0,Wn.isValidNumber)(e))return{height:r,width:e}},fd=({defaultHeight:r=0,defaultWidth:e=0,height:t,onResize:n,width:o})=>{let i=(0,Cn.useRef)(null),[s,l]=(0,Cn.useState)({css:SI(t,o),inner:CI(t,o),outer:{height:t!=null?t:"100%",width:o!=null?o:"auto"}}),a=typeof t=="number",c=typeof o=="number",u=a&&c?vI:a?bI:c?xI:yI;(0,Cn.useMemo)(()=>{l(f=>{let{inner:d,outer:p}=f;if((0,Wn.isValidNumber)(t)&&(0,Wn.isValidNumber)(o)&&d&&p){let{height:m,width:y}=d,{height:g,width:v}=p;if(g!==t||v!==o){let w=(0,Wn.isValidNumber)(g)?g-m:0,x=(0,Wn.isValidNumber)(v)?v-y:0;return{...f,outer:{height:t,width:o},inner:{height:t-w,width:o-x}}}}return f})},[t,o]);let h=(0,Cn.useCallback)(({clientWidth:f,clientHeight:d})=>{let{css:p,inner:m,outer:y}=s,g=s;a&&ac(f)&&Math.floor(f)!==(m==null?void 0:m.width)?g={css:p,outer:y,inner:{width:Math.floor(f)||e,height:t}}:c&&ac(d)&&Math.floor(d)!==(m==null?void 0:m.height)?g={css:p,outer:y,inner:{height:Math.floor(d)||r,width:o}}:ac(d)&&ac(f)&&(f!==(m==null?void 0:m.width)||d!==(m==null?void 0:m.height))&&(g={css:p,outer:y,inner:{width:Math.floor(f)||e,height:Math.floor(d)||r}}),g!==s&&l(g)},[r,e,a,c,t,s,o]);return(0,Cn.useEffect)(()=>{s.inner&&(n==null||n(s.inner))},[n,s.inner]),Iv(i,u,h,!0),{containerRef:i,cssSize:s.css,outerSize:s.outer,innerSize:s.inner}};var Dv=require("@salt-ds/core"),pd=z(require("classnames"));var md=require("react/jsx-runtime"),dd="vuuMeasuredContainer",TI=(0,Pv.forwardRef)(function({children:e,className:t,height:n,onResize:o,style:i,width:s,...l},a){let{containerRef:c,...u}=fd({height:n,onResize:o,width:s}),{cssSize:h,innerSize:f}=u,d=f===void 0,p=()=>d?{"--measured-css-height":`${h.height}`,"--measured-css-width":`${h.width}`}:{...i,"--measured-css-height":`${h.height}`,"--measured-css-width":`${h.width}`,"--measured-px-height":`${f==null?void 0:f.height}px`,"--measured-px-width":`${f==null?void 0:f.width}px`},m=(0,Dv.useForkRef)(c,a);return d?(0,md.jsx)("div",{...l,className:(0,pd.default)(dd,`${dd}-ummeasured`),style:p(),ref:c}):(0,md.jsx)("div",{...l,className:(0,pd.default)(dd,t),ref:m,style:p(),children:e})});var _v=require("@vuu-ui/vuu-popups");var Us=z(require("classnames")),dc=z(require("react"));var Bv=require("@vuu-ui/vuu-ui-controls"),fc=require("@vuu-ui/vuu-utils"),dt=require("react");var gd=require("@vuu-ui/vuu-utils"),kI=".vuuOverflowContainer-item:not(.wrapped)",MI=r=>r!==null&&r.dataset.index==="overflow"&&r.parentElement!==null&&r.parentElement.classList.contains("vuuOverflowContainer-wrapContainer-overflowed"),Lv=r=>r.sort((e,t)=>{let{dataset:{index:n="?"}}=e,{dataset:{index:o="?"}}=t,i=e.classList.contains("wrapped"),s=t.classList.contains("wrapped"),l=n==="overflow",a=o==="overflow";return i&&!s?1:!i&&s?-1:l?1:a?-1:parseInt(n)>parseInt(o)?1:-1}),uc=[],bi=(r,e="horizontal")=>{let t=[],n=[],o=-1,i=!1,s=Lv(Array.from(r.children)),l=e==="vertical"?"top":"left";for(let a of s){let c=a,{dataset:{index:u="?",label:h="?",overflowPriority:f="0"}}=c,{[l]:d}=c.getBoundingClientRect();d<=o?(u==="overflow"?n.push(t.pop()):n.push({index:u,label:h,overflowPriority:f}),i=!0):i?n.push({index:u,label:h,overflowPriority:f}):t.push({index:u,label:h,overflowPriority:f}),o=d}return[t,n]},yd=(r,e,t)=>{let n=!1,o=t?`${t}-overflowed`:"overflow";e.find(({index:i})=>i==="overflow")&&e.length===1&&(n=!0);for(let i of r.children){let{dataset:{index:s="?"}}=i;e.length===0||n?r.classList.remove(o):r.classList.add(o),s!=="overflow"&&e.find(l=>l.index===s)?i.classList.add("wrapped"):i.classList.remove("wrapped")}},EI=(r,{overflowPriority:e})=>Math.max(r,parseInt(e)),RI=(r,{overflowPriority:e})=>Math.min(r,parseInt(e)),bd=r=>{var e;return r.length>1&&((e=r.at(-1))==null?void 0:e.index)==="overflow"},II=r=>{let[e]=r;for(let t=1;t<r.length;t++){let n=r[t];parseInt(n.overflowPriority)>parseInt(e.overflowPriority)&&(e=n)}return e},xd=(r,e)=>{var o;let t=r.reduce(RI,Number.MAX_SAFE_INTEGER);return e.reduce(EI,0)>t?!0:e.length>1&&((o=e.at(-1))==null?void 0:o.index)==="overflow"},vd=(r,e)=>new Promise(t=>{requestAnimationFrame(()=>{let[,n]=bi(r);PI(e,n).forEach(i=>Av(r,i)),t(n)})}),wd=(r,e,t)=>new Promise(n=>{requestAnimationFrame(()=>{let[,o]=bi(r),i=II(o);if(i){let[s,l]=hc(r,i);n([s,l])}else n([e,t])})}),Av=(r,e)=>{let t=(0,gd.getElementByDataIndex)(r,e.index);if(t)t.classList.add("wrapped");else throw Error(`markElementAsWrapped element item with index ${e.index} not found`)},Ov=r=>Array.from(r.querySelectorAll(".wrapped")),PI=(r,e)=>{let t=[];for(let n of e)r.find(({index:o})=>o===n.index)||t.push(n);return t},Nv=(r,e)=>{Ov(r).forEach(n=>{let{dataset:{index:o="?"}}=n;e.find(i=>i.index===o)||n.classList.remove("wrapped")})},Vv=r=>r.querySelector('[data-index="overflow"]'),DI=r=>r.querySelector(".wrapped"),cc=r=>parseInt(getComputedStyle(r).getPropertyValue("width")),Fv=(r,e)=>{let{right:t}=r.getBoundingClientRect(),n=parseInt(getComputedStyle(r).getPropertyValue("padding-right")),{right:o}=e.getBoundingClientRect();return t-n-o},Sd=r=>{let e=Vv(r),t=Fv(r,e),n=cc(e),o=DI(r);return cc(o)<=t+n?(r.classList.remove("overflowed"),o.classList.remove("wrapped"),!0):!1},LI=(r,e)=>{let{dataset:{index:t="0",overflowPriority:n="0"}}=r,{dataset:{index:o="0",overflowPriority:i="0"}}=e;return n>i?-1:n<i?1:parseInt(t)-parseInt(o)},AI=r=>Array.from(r.querySelectorAll(kI)).sort(LI),hc=(r,e)=>{let t=AI(r),n=(0,gd.getElementByDataIndex)(r,e.index,!0),o=-1,i=t.at(o),s=cc(i),l=cc(n),a=Vv(r),c=Fv(r,a)+s;if(c>=l)OI(n,i);else{let{left:f}=i.getBoundingClientRect(),d=c,p=[i];for(;c<l;){o-=1,i=t.at(o),p.push(i);let{left:m}=i.getBoundingClientRect(),y=f-m;c=d+y}n==null||n.classList.remove("wrapped"),p.forEach(m=>{m.classList.add("wrapped")})}let[u,h]=bi(r);return Nv(r,h),[u,h]},OI=(r,e)=>{if(!r||!e)throw Error("switchWrapOnElements, element undefined");r.classList.remove("wrapped"),e.classList.add("wrapped")};var Hv=({allowDragDrop:r=!1,itemCount:e,onMoveItem:t,onSwitchWrappedItemIntoView:n,orientation:o="horizontal"})=>{let[i,s]=(0,dt.useState)(null),l=(0,dt.useRef)(uc),a=(0,dt.useRef)(null),c=(0,dt.useCallback)(w=>{var x;a.current&&((x=a.current.querySelector(".vuuOverflowContainer-OverflowIndicator button"))==null||x.setAttribute("tabindex",w))},[]),u=(0,dt.useCallback)(async()=>{if(i){let[w,x]=bi(i,o);for(yd(i,x,"vuuOverflowContainer-wrapContainer"),bd(x)&&(x=await vd(i,x));xd(w,x);)[w,x]=await wd(i,w,x);x.length===1&&Sd(i)&&(x=uc),l.current.length===0&&x.length>0?c("0"):l.current.length>0&&x.length===0&&c("-1"),l.current=x}},[i,o,c]),h=w=>typeof w=="object"&&w!==null&&"overflowItem"in w,[f,d]=(0,dt.useMemo)(()=>[()=>{let{current:w}=l;return w.map(x=>({label:x.label,action:`activate-item-${x.index}`,options:{overflowItem:x}}))},({options:w})=>{if(i&&h(w)){let[,x]=hc(i,w.overflowItem);l.current=x,n==null||n(w.overflowItem)}return!0}],[i,n]),p=(0,dt.useMemo)(()=>{let{sizeProp:w}=fc.MEASURES[o],x=0;return new ResizeObserver(S=>{for(let b of S){let{[w]:C}=b.contentRect,k=Math.round(C);(0,fc.isValidNumber)(k)&&x!==k&&(x=k,u())}})},[u,o]);Oc(()=>{u()},[u,e]),(0,dt.useMemo)(()=>{i&&p.observe(i)},[i,p]);let m=(0,dt.useCallback)(w=>{s(a.current=w)},[]),y=(0,dt.useCallback)((w,x)=>{t==null||t(w,x)},[t]),{onMouseDown:g,...v}=(0,Bv.useDragDropNext)({allowDragDrop:r,containerRef:a,draggableClassName:"vuuOverflowContainer",onDrop:y,orientation:"horizontal",itemQuery:".vuuOverflowContainer-item"});return{menuActionHandler:d,menuBuilder:f,onItemMouseDown:g,rootRef:m,...v}};var vr=require("react/jsx-runtime"),xi="vuuOverflowContainer",zv=dc.default.memo(({PopupMenuProps:r,allowDragDrop:e,children:t,className:n,height:o,id:i,onMoveItem:s,onSwitchWrappedItemIntoView:l,orientation:a="horizontal",overflowIcon:c,overflowPosition:u="end"})=>{let h=Er(t),{draggable:f,draggedItemIndex:d,menuActionHandler:p,menuBuilder:m,onItemMouseDown:y,rootRef:g}=Hv({allowDragDrop:e,itemCount:h.length,onMoveItem:s,onSwitchWrappedItemIntoView:l,orientation:a}),w={"--overflow-container-height":`${a==="vertical"?"100%":`${o}px`}`},x=(0,Us.default)(`${xi}-wrapContainer`,n,{[`${xi}-horizontal`]:a==="horizontal",[`${xi}-vertical`]:a==="vertical"}),S=h.map((C,k)=>{let{"data-align":E,"data-overflow-priority":R="0",id:M=`${i}-${k}`,label:P=`Item ${k+1}`}=C.props;return(0,vr.jsx)("div",{className:(0,Us.default)(`${xi}-item`,{"vuuDraggable-dragAway":d===k}),"data-index":k,"data-align":E,"data-label":P,"data-overflow-priority":R,id:`${M}-wrapper`,onMouseDown:y,children:C},k)}),b=(0,vr.jsx)("div",{className:`${xi}-OverflowIndicator`,"data-index":"overflow",children:(0,vr.jsx)(_v.PopupMenu,{...r,icon:c,menuBuilder:m,menuActionHandler:p,tabIndex:-1})},"overflow");return S.push(b),(0,vr.jsxs)("div",{className:x,ref:g,style:w,children:[S,f]})});zv.displayName="OverflowContainer.InnerContainer";var Cd=(0,dc.forwardRef)(function({PopupMenuProps:e,allowDragDrop:t=!1,children:n,className:o,height:i=44,id:s,onMoveItem:l,onSwitchWrappedItemIntoView:a,orientation:c,overflowIcon:u,overflowPosition:h,...f},d){let p=Rr(s);return(0,vr.jsx)("div",{...f,className:(0,Us.default)((0,Us.default)(xi,o)),id:p,ref:d,children:(0,vr.jsx)(zv,{PopupMenuProps:e,allowDragDrop:t,height:i,id:p,orientation:c,overflowIcon:u,overflowPosition:h,onMoveItem:l,onSwitchWrappedItemIntoView:a,children:n})})});var Wv=require("@vuu-ui/vuu-utils"),mc=require("@vuu-ui/vuu-ui-controls"),Td=z(require("classnames")),gc=require("react");var pc=require("react/jsx-runtime"),NI=r=>{let e=r.cloneNode(!0);return e.id="",delete e.dataset.idx,e},sc=(0,gc.memo)(({className:r,children:e,idx:t,resizeable:n,header:o,closeable:i,...s})=>(0,pc.jsx)(mc.ListItem,{className:(0,Td.default)("vuuPaletteItem",r),"data-draggable":!0,"data-icon":"draggable",...s}));sc.displayName="PaletteItem";var od=({ListProps:r,ViewProps:e,children:t,className:n,itemHeight:o=41,orientation:i="horizontal",...s})=>{let l=gt(),a="vuuPalette";function c(u){var E,R;let f=u.target.closest(".vuuPaletteItem"),d=parseInt((R=(E=f.dataset)==null?void 0:E.index)!=null?R:"-1"),{props:{caption:p,children:m,template:y,...g}}=t[d],{height:v,left:w,top:x,width:S}=f.getBoundingClientRect(),b=(0,Wv.uuid)(),k=y?m:(0,pc.jsx)(Zn,{...e,...{id:b,key:b},...g,title:g.label,children:m});l({dragRect:{left:w,top:x,right:w+S,bottom:x+150,width:S,height:v},dragElement:NI(f),evt:u.nativeEvent,instructions:{DoNotRemove:!0,DoNotTransform:!0,DriftHomeIfNoDropTarget:!0,RemoveDraggableOnDragEnd:!0,dragThreshold:10},path:"*",payload:k,type:"drag-start"})}return(0,pc.jsx)(mc.List,{...r,...s,className:(0,Td.default)(a,n,`${a}-${i}`),itemHeight:o,selected:null,children:t.map((u,h)=>u.type===sc?(0,gc.cloneElement)(u,{key:h,onMouseDown:c}):u)})};xe("Palette",od,"view");var yc=require("@vuu-ui/vuu-ui-controls"),kd=z(require("classnames")),wr=z(require("react"));var Gs=require("react/jsx-runtime"),$v="Tabs",VI=()=>{},FI=(r,e)=>{var t,n,o,i;return(i=(o=(t=r.props)==null?void 0:t.title)!=null?o:(n=r.props)==null?void 0:n["data-tab-title"])!=null?i:`Tab ${e+1}`},BI=r=>{let e=[];return wr.default.Children.forEach(r,t=>{wr.default.isValidElement(t)?e.push(t):console.warn("Stack has unexpected child element type")}),e},HI={allowAddTab:!1,allowCloseTab:!1,allowRenameTab:!1},zs=(0,wr.forwardRef)(function({TabstripProps:e=HI,active:t=0,children:n,className:o,getTabIcon:i=VI,getTabLabel:s=FI,id:l,keyBoardActivation:a="manual",onAddTab:c,onMoveTab:u,onTabClose:h,onTabEdit:f,onTabSelectionChanged:d,showTabs:p="top",style:m},y){var P;let g=Rr(l),{allowCloseTab:v,allowRenameTab:w,className:x,tabClassName:S}=e,b=(0,wr.useCallback)((I,V,B,$)=>{f==null||f($,V)},[f]),C=()=>{var I;return wr.default.isValidElement(n)?n:Array.isArray(n)&&(I=n[t])!=null?I:null},k=()=>BI(n).map((I,V)=>{let{closeable:B=v,id:$=`${g}-${V}`,"data-tab-location":O}=I.props;return(0,Gs.jsx)(yc.Tab,{ariaControls:$,"data-icon":i(I,V),id:`${$}-tab`,index:V,label:s(I,V),location:O,closeable:B,editable:w},$)}),E=C(),R=p==="left"||p==="right",M=R?"vertical":"horizontal";return(0,Gs.jsxs)("div",{className:(0,kd.default)($v,o,{[`${$v}-horizontal`]:R}),style:m,id:g,ref:y,children:[p?(0,Gs.jsx)(yc.Tabstrip,{...e,activeTabIndex:(P=e==null?void 0:e.activeTabIndex)!=null?P:E===null?-1:t,allowDragDrop:e.allowDragDrop!==!1,animateSelectionThumb:!0,className:(0,kd.default)("vuuTabHeader",x),keyBoardActivation:a,onActiveChange:d,onAddTab:c,onCloseTab:h,onExitEditMode:b,onMoveTab:u,orientation:M,children:k()}):null,E]})});zs.displayName="Stack";var Uv=require("@salt-ds/core"),Sr=z(require("react"));var bc=require("react/jsx-runtime"),_I=r=>(0,bc.jsx)(Zn,{resizeable:!0,title:`Tab ${r}`,style:{flexGrow:1,flexShrink:0,flexBasis:0},header:!0,closeable:!0,children:(0,bc.jsx)(Ys,{style:{flex:1}})}),Md=r=>{var S;let e=(0,Sr.useRef)(null),t=gt(),{loadState:n}=Or(),{createNewChild:o,id:i,onTabSelectionChanged:s,path:l,...a}=r,{children:c}=r,u=(0,Uv.useIdMemo)(i),[h]=Ui(u,e,l),f=hu(),d=(S=o!=null?o:f)!=null?S:_I,p=b=>{l&&(t({type:"switch-tab",id:u,path:l,nextIdx:b}),s==null||s(b))},m=(0,Sr.useCallback)(b=>{if(Array.isArray(c)){let{props:{"data-path":C,path:k=C}}=c[b];t({type:"remove",path:k})}},[c,t]),y=(0,Sr.useCallback)(()=>{if(l){let b=Sr.default.Children.count(c),C=d(b);t({type:"add",path:l,component:C})}},[c,d,t,l]),g=(0,Sr.useCallback)((b,C)=>{l&&t({fromIndex:b,toIndex:C,path:l,type:"move-child"})},[t,l]);return(0,bc.jsx)(zs,{...a,id:u,getTabLabel:(b,C)=>{let{id:k,title:E}=b.props;return n(k,"view-title")||E||`Tab ${C+1}`},onMouseDown:async(b,C)=>{let k;await h({type:"mousedown",index:C,preDragActivity:async()=>new Promise(M=>{console.log("preDragActivity: Ok, gonna release the drag"),k=M})},b)&&(k==null||k(void 0))},onMoveTab:g,onAddTab:y,onTabClose:m,onTabEdit:(b,C)=>{t({type:"set-title",path:`${l}.${b}`,title:C})},onTabSelectionChanged:p,ref:e})};Md.displayName="Stack";xe("Stack",Md,"container");var xc=z(require("classnames")),Si=z(require("react"));var tw=require("@vuu-ui/vuu-utils"),wi=require("react");var Jv=require("@salt-ds/core"),Cr=require("@vuu-ui/vuu-utils"),De=require("react"),lt=require("@vuu-ui/vuu-utils");var Gv=require("@vuu-ui/vuu-utils"),zI=(r,e)=>{if(r){let t=r.querySelector(`[data-index]:has(${e})`);return(0,Gv.getElementDataIndex)(t)}return-1};var qv=r=>zI(r,".vuuEditableLabel-editing");var Qv={horizontal:{[lt.Home]:"start",[lt.End]:"end",[lt.ArrowLeft]:"bwd",[lt.ArrowRight]:"fwd"},vertical:{[lt.Home]:"start",[lt.End]:"end",[lt.ArrowUp]:"bwd",[lt.ArrowDown]:"fwd"}},Yv=r=>r!==null&&r.dataset.index==="overflow",WI=(r,e,t,n,o)=>{if(r){let i=e==="bwd"&&n>0,s=e==="fwd"&&n<t,l=i||s,a=qs(r,n,!0),c=o&&!jv(a),u=!o&&Yv(a);return o&&jv(a),l&&(c||u)}else return!1},$I=(r,e="horizontal")=>Qv[e][r]!==void 0,UI=r=>r===lt.ArrowDown;function Kv(r,e,t){return e==="start"?0:e==="end"?r-1:e==="bwd"?t>0?t-1:t:t===null?0:t===r-1?t:t+1}var jv=r=>r!==null&&!r.classList.contains("wrapped"),Xv=r=>Array.from(r.querySelectorAll("[data-index]")),GI=r=>r===null?-1:Xv(r).map(n=>n.dataset.index).indexOf("overflow"),qs=(r,e,t=!1)=>{if(r!==null){let o=Xv(r)[e];return!t&&Yv(o)?null:o}return null},Zv=({containerRef:r,defaultHighlightedIdx:e=-1,highlightedIdx:t,onNavigateOutOfBounds:n,orientation:o})=>{let i=(0,De.useRef)(!1),s=(0,De.useRef)(-1),[l,a]=(0,De.useState)(!1),[c,u]=(0,Jv.useControlled)({controlled:t,default:e,name:"UseKeyboardNavigation"}),h=(0,De.useCallback)(M=>{u(s.current=M)},[u]),f=(0,De.useRef)(!1),d=(0,De.useCallback)((M,P=!1,I,V=70)=>{console.log(`focus item ${M}`),h(M),I===!0&&!f.current&&(f.current=!0);let B=()=>{let $=qs(r.current,M,!0);if($){let O=(0,Cr.getFocusableElement)($);O==null||O.focus()}};P?B():setTimeout(B,V)},[r,h]),p=M=>{if(s.current===-1){if(M.target.tabIndex===0){let P=(0,Cr.getElementDataIndex)((0,Cr.getClosest)(M.target,"index"));h(P)}else if(M.target.tabIndex!==-1){let P=qv(r.current);P!==-1&&requestAnimationFrame(()=>{h(P)})}}},m=(0,De.useCallback)(()=>{var M,P;return(P=(M=r.current)==null?void 0:M.querySelectorAll("[data-index]").length)!=null?P:0},[r]),y=(0,De.useCallback)((M="fwd",P)=>{var N;let I=m(),V=typeof P=="number"?P:I,B=Kv(I,M,V),$=M==="start"?"fwd":M==="end"?"bwd":M,O=((N=r.current)==null?void 0:N.querySelector(".vuuOverflowContainer-wrapContainer-overflowed"))!=null;for(;WI(r.current,$,I,B,O);){let F=Kv(I,$,B);if(F===B)return V;B=F}return B},[r,m]),g=(0,De.useCallback)(M=>{let P=Qv[o][M.key],I=y(P,c);console.log(`highlightedIdx = ${c}, nextIdx = ${I} `),I!==c?d(I,!0):n==null||n(P==="bwd"?"start":"end")},[o,y,c,d,n]),v=(0,De.useCallback)(()=>{let M=qs(r.current,c);return M?M.querySelector(".vuuPopupMenu")!=null:!1},[r,c]),w=(0,De.useCallback)(()=>{let M=qs(r.current,c);return M?M.querySelector(".vuuEditableLabel-input")!=null:!1},[r,c]),x=(0,De.useCallback)(()=>{let M=qs(r.current,c),P=M==null?void 0:M.querySelector(".vuuPopupMenu");return P&&(0,Cr.dispatchMouseEvent)(P,"click"),!1},[r,c]),S=(0,De.useCallback)(M=>{m()>0&&$I(M.key,o)?(M.preventDefault(),f.current||(f.current=!0),g(M)):UI(M.key)&&v()&&!w()&&x()},[x,m,v,w,g,o]),b=(M,P)=>{h(P)},C=(0,De.useCallback)(()=>{l||(a(!0),i.current?i.current=!1:f.current=!0)},[l]),k=(0,De.useCallback)(()=>{l||(i.current=!0),f.current=!1},[l]),E=(0,De.useCallback)(M=>{if((M==null?void 0:M.type)==="escape"){let P=GI(r.current);P!==-1&&d(P)}},[r,d]);return{containerProps:{onBlur:M=>{let P=M.target.closest(".vuuToolbar"),I=M.relatedTarget;P&&!(P!=null&&P.contains(I))&&(h(-1),a(!1))},onMouseDownCapture:k,onFocus:C,onMouseLeave:()=>{f.current=!0,h(-1),i.current=!1}},focusVisible:f.current?c:-1,focusIsWithinComponent:l,highlightedIdx:c,focusableIdx:0,focusItem:d,onClick:b,onFocus:p,onKeyDown:S,onOverflowMenuClose:E,setHighlightedIdx:h}};var Ks=require("@vuu-ui/vuu-utils"),$n=require("@vuu-ui/vuu-ui-controls"),vi=require("react"),qI=["Enter"," "],KI={},ew=({containerRef:r,defaultSelected:e,highlightedIdx:t,itemQuery:n,onSelectionChange:o,selected:i,selectionStrategy:s})=>{let[l,a,c]=(0,$n.useControlled)({controlled:i,default:e!=null?e:[],name:"useSelection",state:"selected"}),u=(0,vi.useCallback)(y=>qI.includes(y.key),[]),h=(0,vi.useCallback)((y,g=!1)=>{let v=(0,$n.allowMultipleSelection)(s,g)?l.concat(y):[y];a(v),o==null||o(v)},[o,l,s,a]),f=(0,vi.useCallback)((y,g=!1)=>{let v=s==="deselectable"||s==="multiple-special-key"&&!g?[]:l.filter(w=>w!==y);a(v),o==null||o(v)},[o,l,s,a]),d=(0,vi.useCallback)(y=>{u(y)&&(0,Ks.isSelectableElement)(y.target)&&(l.includes(t)?(0,$n.deselectionIsAllowed)(s)&&(y.stopPropagation(),y.preventDefault(),f(t,y.shiftKey)):(y.stopPropagation(),y.preventDefault(),h(t,y.shiftKey)))},[u,l,t,s,h,f]),p=(0,vi.useCallback)((y,g)=>{let v=(0,Ks.getClosestIndexItem)(y.target);(0,Ks.isSelectableElement)(v)&&(l.includes(g)?(0,$n.deselectionIsAllowed)(s)&&f(g,y.shiftKey):h(g,y.shiftKey))},[f,h,l,s]),m=(0,$n.selectionIsDisallowed)(s)?KI:{onClick:p,onKeyDown:d};return{activateItem:h,itemHandlers:m,isControlled:c,selected:l}};var nw=({activeItemIndex:r,defaultActiveItemIndex:e,containerRef:t,itemQuery:n="vuuToolbarItem",onActiveChange:o,onNavigateOutOfBounds:i,orientation:s,selectionStrategy:l})=>{let a=(0,wi.useRef)(r),{focusItem:c,highlightedIdx:u,onClick:h,onKeyDown:f,setHighlightedIdx:d,...p}=Zv({containerRef:t,onNavigateOutOfBounds:i,orientation:s}),{activateItem:m,itemHandlers:{onClick:y,onKeyDown:g},selected:v}=ew({containerRef:t,defaultSelected:e,highlightedIdx:u,itemQuery:n,onSelectionChange:o,selected:r,selectionStrategy:l});a.current=v;let w=(0,wi.useCallback)(C=>{var R;let E=C.target.closest("[data-index]");if(E){let M=parseInt((R=E.dataset.index)!=null?R:"-1");M!==-1&&(0,tw.isValidNumber)(M)&&(h(C,M),y==null||y(C,M))}},[h,y]),x=(0,wi.useCallback)(C=>{f(C),C.defaultPrevented||g==null||g(C)},[f,g]),S=(0,wi.useCallback)(C=>{let k=parseInt(C.index);isNaN(k)||(m(k),c(k))},[c,m]),b={onClick:w,onFocus:p.onFocus,onKeyDown:x};return{activeItemIndex:v,focusableIdx:p.focusableIdx,focusVisible:p.focusVisible,containerProps:{PopupMenuProps:{onKeyDown:x,onMenuClose:p.onOverflowMenuClose},...p.containerProps,onSwitchWrappedItemIntoView:S},itemProps:b}};var rw=require("@vuu-ui/vuu-ui-controls");var ow=require("react/jsx-runtime"),Ed="vuuToolbar",Hg=({activeItemIndex:r,defaultActiveItemIndex:e,children:t,className:n,id:o,onActiveChange:i,onNavigateOutOfBounds:s,orientation:l="horizontal",selectionStrategy:a="none",...c})=>{let u=(0,Si.useRef)(null),{activeItemIndex:h,focusableIdx:f,focusVisible:d,itemProps:p,...m}=nw({activeItemIndex:r,defaultActiveItemIndex:e,containerRef:u,onActiveChange:i,onNavigateOutOfBounds:s,orientation:l,selectionStrategy:a}),y=Rr(o),g=(0,xc.default)(Ed,`${Ed}-${l}`,n),v=(0,Si.useMemo)(()=>Er(t).map((w,x)=>{let{id:S=`${y}-tab-${x}`,className:b,...C}=w.props,k=h.includes(x);return Si.default.cloneElement(w,{...(0,rw.forwardCallbackProps)(C,p),className:(0,xc.default)("vuuToolbarItem",b),"data-overflow-priority":k?"1":void 0,id:S,key:x,"aria-selected":k,tabIndex:f===x?0:-1})}),[h,t,f,y,p]);return(0,ow.jsx)(Cd,{...c,...m.containerProps,className:(0,xc.default)(Ed,g),...c,ref:u,children:v})};var Ci=z(require("react"));var xo=require("react/jsx-runtime"),jI=({children:r})=>{let[t,n]=(0,Ci.useState)(r),[o,i]=(0,Ci.useState)(r),s=a=>{let c=Lc(t,a);i(c)},l=(a,c)=>{console.log(`change ${a} -> ${c}`);let u=Ci.default.cloneElement(o,{style:{...o.props.style,[a]:c}});i(u),n(Ci.default.cloneElement(t,{},u))};return(0,xo.jsxs)("div",{"data-design-mode":`${!1}`,children:[t,(0,xo.jsx)("br",{}),(0,xo.jsxs)("div",{style:{display:"flex"},children:[(0,xo.jsx)(Rd,{height:300,managedStyle:o.props.style,width:300,onChange:l,style:void 0}),(0,xo.jsx)(Id,{layout:t,onSelect:s,style:{width:300,height:300,backgroundColor:"#ccc"}})]})]})};var Tn=require("@salt-ds/core"),be=require("react/jsx-runtime"),Dd={},JI={margin:{top:"marginTop",right:"marginRight",bottom:"marginBottom",left:"marginLeft"},border:{top:"borderTopWidth",right:"borderRightWidth",bottom:"borderBottomWidth",left:"borderLeftWidth"},padding:{top:"paddingTop",right:"paddingRight",bottom:"paddingBottom",left:"paddingLeft"}},Pd=({feature:r,children:e,style:t,onChange:n})=>(0,be.jsxs)("div",{className:`LayoutBox layout-${r} layout-outer`,children:[(0,be.jsxs)("div",{className:"layout-top",children:[(0,be.jsx)("span",{className:"layout-title",children:r}),(0,be.jsx)(Tn.FormField,{className:"layout-input",style:{width:30},children:(0,be.jsx)(Tn.Input,{value:t.top,onChange:(o,i)=>n(r,"top",i)})})]}),(0,be.jsxs)("div",{className:"layout-inner",children:[(0,be.jsx)("div",{className:"layout-left",children:(0,be.jsx)(Tn.FormField,{className:"layout-input",style:{width:30},children:(0,be.jsx)(Tn.Input,{value:t.left,onChange:(o,i)=>n(r,"left",i)})})}),e,(0,be.jsx)("div",{className:"layout-right",children:(0,be.jsx)(Tn.FormField,{className:"layout-input",style:{width:30},children:(0,be.jsx)(Tn.Input,{value:t.right,onChange:(o,i)=>n(r,"right",i)})})})]}),(0,be.jsx)("div",{className:"layout-bottom",children:(0,be.jsx)(Tn.FormField,{className:"layout-input",style:{width:30},children:(0,be.jsx)(Tn.Input,{value:t.bottom,onChange:(o,i)=>n(r,"bottom",i)})})})]}),QI={margin:!0,marginTop:!0,marginRight:!0,marginBottom:!0,marginLeft:!0},YI={padding:!0,paddingTop:!0,paddingRight:!0,paddingBottom:!0,paddingLeft:!0},XI={border:!0,borderColor:!0,borderWidth:!0,borderTopWidth:!0,borderRightWidth:!0,borderBottomWidth:!0,borderLeftWidth:!0},vc="(\\d+)(?:px)?",ZI=`^(?:${vc}(?:\\s${vc}(?:\\s${vc}(?:\\s${vc})?)?)?)$`,iw=new RegExp(ZI),eP=/^(?:(\d+)(?:px)\ssolid\s([a-zA-Z,0-9().]+))$/,Rd=({height:r,managedStyle:e,onChange:t,style:n,width:o})=>{let i=sw(e),s=(w,x,S)=>{let b=parseInt(S||"0",10),C=JI[w][x];t(C,b)},{marginTop:l=0,marginRight:a=0,marginBottom:c=0,marginLeft:u=0}=i,{borderTopWidth:h=0,borderRightWidth:f=0,borderBottomWidth:d=0,borderLeftWidth:p=0}=i,{paddingTop:m=0,paddingRight:y=0,paddingBottom:g=0,paddingLeft:v=0}=i;return(0,be.jsx)("div",{className:"LayoutConfigurator",style:{width:o,height:r,...n},children:(0,be.jsx)(Pd,{feature:"margin",style:{top:l,right:a,bottom:c,left:u},onChange:s,children:(0,be.jsx)(Pd,{feature:"border",style:{top:h,right:f,bottom:d,left:p},onChange:s,children:(0,be.jsx)(Pd,{feature:"padding",style:{top:m,right:y,bottom:g,left:v},onChange:s,children:(0,be.jsx)("div",{className:"layout-content"})})})})})};function tP(r=Dd,e=Dd){let{margin:t,marginTop:n,marginRight:o,marginBottom:i,marginLeft:s,padding:l,paddingTop:a,paddingRight:c,paddingBottom:u,paddingLeft:h,...f}=r;if(typeof t=="number")f.marginTop=f.marginRight=f.marginBottom=f.marginLeft=t;else if(typeof t=="string"){let d=iw.exec(t);if(d===null)console.error(`Invalid css value for margin '${t}'`);else{let[,p,m,y,g]=d,v=p&&m&&y;v&&g?(f.marginTop=parseInt(p,10),f.marginRight=parseInt(m,10),f.marginBottom=parseInt(y,10),f.marginLeft=parseInt(g,10)):v?(f.marginTop=parseInt(p,10),f.marginRight=f.marginLeft=parseInt(m,10),f.marginBottom=parseInt(y,10)):p&&m?(f.marginTop=f.marginBottom=parseInt(p,10),f.marginRight=f.marginLeft=parseInt(m,10)):f.marginTop=f.marginRight=f.marginBottom=f.marginLeft=parseInt(p,10)}}if(typeof n=="number"&&(f.marginTop=n),typeof o=="number"&&(f.marginRight=o),typeof i=="number"&&(f.marginBottom=i),typeof s=="number"&&(f.marginLeft=s),typeof l=="number")f.paddingTop=f.paddingRight=f.paddingBottom=f.paddingLeft=l;else if(typeof l=="string"){let d=iw.exec(l);if(d===null)console.error(`Invalid css value for padding '${l}'`);else{let[,p,m,y,g]=d,v=p&&m&&y;v&&g?(f.paddingTop=parseInt(p,10),f.paddingRight=parseInt(m,10),f.paddingBottom=parseInt(y,10),f.paddingLeft=parseInt(g,10)):v?(f.paddingTop=parseInt(p,10),f.paddingRight=f.paddingLeft=parseInt(m,10),f.paddingBottom=parseInt(y,10)):p&&m?(f.paddingTop=f.paddingBottom=parseInt(p,10),f.paddingRight=f.paddingLeft=parseInt(m,10)):f.paddingTop=f.paddingRight=f.paddingBottom=f.paddinggLeft=parseInt(p,10)}}return typeof a=="number"&&(f.paddingTop=a),typeof c=="number"&&(f.paddingRight=c),typeof u=="number"&&(f.paddingBottom=u),typeof h=="number"&&(f.paddingLeft=h),sw(f,e)}function sw(r=Dd){let e={...r},t,{border:n,borderWidth:o,borderTopWidth:i,borderRightWidth:s,borderBottomWidth:l,borderLeftWidth:a,borderColor:c,margin:u,marginTop:h,marginRight:f,marginBottom:d,marginLeft:p,padding:m,paddingTop:y,paddingRight:g,paddingBottom:v,paddingLeft:w,...x}=e,S={},b={};if(typeof u=="number"&&(e.marginTop=e.marginRight=e.marginBottom=e.marginLeft=u,S={marginTop:u,marginRight:u,marginBottom:u,marginLeft:u}),typeof m=="number"&&(e.paddingTop=e.paddingRight=e.paddingBottom=e.paddingLeft=m,b={paddingTop:m,paddingRight:m,paddingBottom:m,paddingLeft:m}),n||o||i||s||l||a){typeof n=="string"&&(t=eP.exec(n))&&([,o,c]=t,o=parseInt(o,10)),o&&(i=i===void 0?o:i,s=s===void 0?o:s,l=l===void 0?o:l,a=a===void 0?o:a),c=c||"black";let C=`
|
|
238
238
|
${c} ${a||0}px ${i||0}px 0 0 inset,
|
|
239
|
-
${c} ${-s||0}px ${-l||0}px 0 0 inset`;return{...x,...S,...b,borderTopWidth:i,borderRightWidth:s,borderBottomWidth:l,borderLeftWidth:a,borderColor:c,borderStyle:"solid",boxShadow:C}}else return e}var
|
|
239
|
+
${c} ${-s||0}px ${-l||0}px 0 0 inset`;return{...x,...S,...b,borderTopWidth:i,borderRightWidth:s,borderBottomWidth:l,borderLeftWidth:a,borderColor:c,borderStyle:"solid",boxShadow:C}}else return e}var lw=z(require("react")),aw=z(require("classnames"));var cw=require("@vuu-ui/vuu-ui-controls"),Ld=require("react/jsx-runtime"),nP="hwLayoutTreeViewer",uw=(r,e="0")=>({label:j(r),path:e,childNodes:lw.default.Children.map(r.props.children,(t,n)=>uw(t,e?`${e}.${n}`:`${n}`))}),Id=({layout:r,onSelect:e,style:t})=>{let n=[uw(r)],o=(i,[{path:s}])=>{e(s)};return(0,Ld.jsx)("div",{className:(0,aw.default)(nP),style:t,children:(0,Ld.jsx)(cw.Tree,{source:n,groupSelection:"single",onSelectionChange:o})})};
|
|
240
240
|
//# sourceMappingURL=index.js.map
|