strapi-plugin-navigation 3.0.7-beta.1 → 3.0.7-beta.2

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.
@@ -60,7 +60,7 @@
60
60
  `,i=t.state.doc.line(i.number+(n?1:-1)),o=t.bidiSpans(i),d=t.visualLineSide(i,!n)}if(c){if(!c(h))return a}else{if(!r)return d;c=r(h)}a=d}}function lz(t,e,n){let r=t.state.charCategorizer(e),i=r(n);return o=>{let s=r(o);return i==kt.Space&&(i=s),i==s}}function cz(t,e,n,r){let i=e.head,o=n?1:-1;if(i==(n?t.state.doc.length:0))return ie.cursor(i,e.assoc);let s=e.goalColumn,a,c=t.contentDOM.getBoundingClientRect(),d=t.coordsAtPos(i,e.assoc||-1),h=t.documentTop;if(d)s==null&&(s=d.left-c.left),a=o<0?d.top:d.bottom;else{let b=t.viewState.lineBlockAt(i);s==null&&(s=Math.min(c.right-c.left,t.defaultCharacterWidth*(i-b.from))),a=(o<0?b.top:b.bottom)+h}let g=c.left+s,m=r??t.viewState.heightOracle.textHeight>>1;for(let b=0;;b+=10){let v=a+(m+b)*o,w=pC(t,{x:g,y:v},!1,o);if(v<c.top||v>c.bottom||(o<0?w<i:w>i)){let y=t.docView.coordsForChar(w),$=!y||v<y.top?-1:1;return ie.cursor(w,$,void 0,s)}}}function Fu(t,e,n){for(;;){let r=0;for(let i of t)i.between(e-1,e+1,(o,s,a)=>{if(e>o&&e<s){let c=r||n||(e-o<s-e?-1:1);e=c<0?o:s,r=c}});if(!r)return e}}function S0(t,e,n){let r=Fu(t.state.facet(em).map(i=>i(t)),n.from,e.head>n.from?-1:1);return r==n.from?n:ie.cursor(r,r<n.from?1:-1)}const Za="￿";class uz{constructor(e,n){this.points=e,this.text="",this.lineSeparator=n.facet(lt.lineSeparator)}append(e){this.text+=e}lineBreak(){this.text+=Za}readRange(e,n){if(!e)return this;let r=e.parentNode;for(let i=e;;){this.findPointBefore(r,i);let o=this.text.length;this.readNode(i);let s=i.nextSibling;if(s==n)break;let a=wt.get(i),c=wt.get(s);(a&&c?a.breakAfter:(a?a.breakAfter:cd(i))||cd(s)&&(i.nodeName!="BR"||i.cmIgnore)&&this.text.length>o)&&this.lineBreak(),i=s}return this.findPointBefore(r,n),this}readTextNode(e){let n=e.nodeValue;for(let r of this.points)r.node==e&&(r.pos=this.text.length+Math.min(r.offset,n.length));for(let r=0,i=this.lineSeparator?null:/\r\n?|\n/g;;){let o=-1,s=1,a;if(this.lineSeparator?(o=n.indexOf(this.lineSeparator,r),s=this.lineSeparator.length):(a=i.exec(n))&&(o=a.index,s=a[0].length),this.append(n.slice(r,o<0?n.length:o)),o<0)break;if(this.lineBreak(),s>1)for(let c of this.points)c.node==e&&c.pos>this.text.length&&(c.pos-=s-1);r=o+s}}readNode(e){if(e.cmIgnore)return;let n=wt.get(e),r=n&&n.overrideDOMText;if(r!=null){this.findPointInside(e,r.length);for(let i=r.iter();!i.next().done;)i.lineBreak?this.lineBreak():this.append(i.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,n){for(let r of this.points)r.node==e&&e.childNodes[r.offset]==n&&(r.pos=this.text.length)}findPointInside(e,n){for(let r of this.points)(e.nodeType==3?r.node==e:e.contains(r.node))&&(r.pos=this.text.length+(dz(e,r.node,r.offset)?n:0))}}function dz(t,e,n){for(;;){if(!e||n<Jr(e))return!1;if(e==t)return!0;n=Ho(e)+1,e=e.parentNode}}class D5{constructor(e,n){this.node=e,this.offset=n,this.pos=-1}}class hz{constructor(e,n,r,i){this.typeOver=i,this.bounds=null,this.text="",this.domChanged=n>-1;let{impreciseHead:o,impreciseAnchor:s}=e.docView;if(e.state.readOnly&&n>-1)this.newSel=null;else if(n>-1&&(this.bounds=e.docView.domBoundsAround(n,r,0))){let a=o||s?[]:pz(e),c=new uz(a,e.state);c.readRange(this.bounds.startDOM,this.bounds.endDOM),this.text=c.text,this.newSel=mz(a,this.bounds.from)}else{let a=e.observer.selectionRange,c=o&&o.node==a.focusNode&&o.offset==a.focusOffset||!V1(e.contentDOM,a.focusNode)?e.state.selection.main.head:e.docView.posFromDOM(a.focusNode,a.focusOffset),d=s&&s.node==a.anchorNode&&s.offset==a.anchorOffset||!V1(e.contentDOM,a.anchorNode)?e.state.selection.main.anchor:e.docView.posFromDOM(a.anchorNode,a.anchorOffset),h=e.viewport;if((ke.ios||ke.chrome)&&e.state.selection.main.empty&&c!=d&&(h.from>0||h.to<e.state.doc.length)){let g=Math.min(c,d),m=Math.max(c,d),b=h.from-g,v=h.to-m;(b==0||b==1||g==0)&&(v==0||v==-1||m==e.state.doc.length)&&(c=0,d=e.state.doc.length)}this.newSel=ie.single(d,c)}}}function mC(t,e){let n,{newSel:r}=e,i=t.state.selection.main,o=t.inputState.lastKeyTime>Date.now()-100?t.inputState.lastKeyCode:-1;if(e.bounds){let{from:s,to:a}=e.bounds,c=i.from,d=null;(o===8||ke.android&&e.text.length<a-s)&&(c=i.to,d="end");let h=gz(t.state.doc.sliceString(s,a,Za),e.text,c-s,d);h&&(ke.chrome&&o==13&&h.toB==h.from+2&&e.text.slice(h.from,h.toB)==Za+Za&&h.toB--,n={from:s+h.from,to:s+h.toA,insert:dt.of(e.text.slice(h.from,h.toB).split(Za))})}else r&&(!t.hasFocus&&t.state.facet(yi)||r.main.eq(i))&&(r=null);if(!n&&!r)return!1;if(!n&&e.typeOver&&!i.empty&&r&&r.main.empty?n={from:i.from,to:i.to,insert:t.state.doc.slice(i.from,i.to)}:(ke.mac||ke.android)&&n&&n.from==n.to&&n.from==i.head-1&&/^\. ?$/.test(n.insert.toString())&&t.contentDOM.getAttribute("autocorrect")=="off"?(r&&n.insert.length==2&&(r=ie.single(r.main.anchor-1,r.main.head-1)),n={from:n.from,to:n.to,insert:dt.of([n.insert.toString().replace("."," ")])}):n&&n.from>=i.from&&n.to<=i.to&&(n.from!=i.from||n.to!=i.to)&&i.to-i.from-(n.to-n.from)<=4?n={from:i.from,to:i.to,insert:t.state.doc.slice(i.from,n.from).append(n.insert).append(t.state.doc.slice(n.to,i.to))}:ke.chrome&&n&&n.from==n.to&&n.from==i.head&&n.insert.toString()==`
61
61
  `&&t.lineWrapping&&(r&&(r=ie.single(r.main.anchor-1,r.main.head-1)),n={from:i.from,to:i.to,insert:dt.of([" "])}),n)return nm(t,n,r,o);if(r&&!r.main.eq(i)){let s=!1,a="select";return t.inputState.lastSelectionTime>Date.now()-50&&(t.inputState.lastSelectionOrigin=="select"&&(s=!0),a=t.inputState.lastSelectionOrigin),t.dispatch({selection:r,scrollIntoView:s,userEvent:a}),!0}else return!1}function nm(t,e,n,r=-1){if(ke.ios&&t.inputState.flushIOSKey(e))return!0;let i=t.state.selection.main;if(ke.android&&(e.to==i.to&&(e.from==i.from||e.from==i.from-1&&t.state.sliceDoc(e.from,i.from)==" ")&&e.insert.length==1&&e.insert.lines==2&&Bs(t.contentDOM,"Enter",13)||(e.from==i.from-1&&e.to==i.to&&e.insert.length==0||r==8&&e.insert.length<e.to-e.from&&e.to>i.head)&&Bs(t.contentDOM,"Backspace",8)||e.from==i.from&&e.to==i.to+1&&e.insert.length==0&&Bs(t.contentDOM,"Delete",46)))return!0;let o=e.insert.toString();t.inputState.composing>=0&&t.inputState.composing++;let s,a=()=>s||(s=fz(t,e,n));return t.state.facet(iC).some(c=>c(t,e.from,e.to,o,a))||t.dispatch(a()),!0}function fz(t,e,n){let r,i=t.state,o=i.selection.main;if(e.from>=o.from&&e.to<=o.to&&e.to-e.from>=(o.to-o.from)/3&&(!n||n.main.empty&&n.main.from==e.from+e.insert.length)&&t.inputState.composing<0){let a=o.from<e.from?i.sliceDoc(o.from,e.from):"",c=o.to>e.to?i.sliceDoc(e.to,o.to):"";r=i.replaceSelection(t.state.toText(a+e.insert.sliceString(0,void 0,t.state.lineBreak)+c))}else{let a=i.changes(e),c=n&&n.main.to<=a.newLength?n.main:void 0;if(i.selection.ranges.length>1&&t.inputState.composing>=0&&e.to<=o.to&&e.to>=o.to-10){let d=t.state.sliceDoc(e.from,e.to),h,g=n&&gC(t,n.main.head);if(g){let v=e.insert.length-(e.to-e.from);h={from:g.from,to:g.to-v}}else h=t.state.doc.lineAt(o.head);let m=o.to-e.to,b=o.to-o.from;r=i.changeByRange(v=>{if(v.from==o.from&&v.to==o.to)return{changes:a,range:c||v.map(a)};let w=v.to-m,y=w-d.length;if(v.to-v.from!=b||t.state.sliceDoc(y,w)!=d||v.to>=h.from&&v.from<=h.to)return{range:v};let $=i.changes({from:y,to:w,insert:e.insert}),A=v.to-o.to;return{changes:$,range:c?ie.range(Math.max(0,c.anchor+A),Math.max(0,c.head+A)):v.map($)}})}else r={changes:a,selection:c&&i.selection.replaceRange(c)}}let s="input.type";return(t.composing||t.inputState.compositionPendingChange&&t.inputState.compositionEndedAt>Date.now()-50)&&(t.inputState.compositionPendingChange=!1,s+=".compose",t.inputState.compositionFirstChange&&(s+=".start",t.inputState.compositionFirstChange=!1)),i.update(r,{userEvent:s,scrollIntoView:!0})}function gz(t,e,n,r){let i=Math.min(t.length,e.length),o=0;for(;o<i&&t.charCodeAt(o)==e.charCodeAt(o);)o++;if(o==i&&t.length==e.length)return null;let s=t.length,a=e.length;for(;s>0&&a>0&&t.charCodeAt(s-1)==e.charCodeAt(a-1);)s--,a--;if(r=="end"){let c=Math.max(0,o-Math.min(s,a));n-=s+c-o}if(s<o&&t.length<e.length){let c=n<=o&&n>=s?o-n:0;o-=c,a=o+(a-s),s=o}else if(a<o){let c=n<=o&&n>=a?o-n:0;o-=c,s=o+(s-a),a=o}return{from:o,toA:s,toB:a}}function pz(t){let e=[];if(t.root.activeElement!=t.contentDOM)return e;let{anchorNode:n,anchorOffset:r,focusNode:i,focusOffset:o}=t.observer.selectionRange;return n&&(e.push(new D5(n,r)),(i!=n||o!=r)&&e.push(new D5(i,o))),e}function mz(t,e){if(t.length==0)return null;let n=t[0].pos,r=t.length==2?t[1].pos:n;return n>-1&&r>-1?ie.single(n+e,r+e):null}class bz{setSelectionOrigin(e){this.lastSelectionOrigin=e,this.lastSelectionTime=Date.now()}constructor(e){this.view=e,this.lastKeyCode=0,this.lastKeyTime=0,this.lastTouchTime=0,this.lastFocusTime=0,this.lastScrollTop=0,this.lastScrollLeft=0,this.pendingIOSKey=void 0,this.tabFocusMode=-1,this.lastSelectionOrigin=null,this.lastSelectionTime=0,this.lastContextMenu=0,this.scrollHandlers=[],this.handlers=Object.create(null),this.composing=-1,this.compositionFirstChange=null,this.compositionEndedAt=0,this.compositionPendingKey=!1,this.compositionPendingChange=!1,this.mouseSelection=null,this.draggedContent=null,this.handleEvent=this.handleEvent.bind(this),this.notifiedFocused=e.hasFocus,ke.safari&&e.contentDOM.addEventListener("input",()=>null),ke.gecko&&Dz(e.contentDOM.ownerDocument)}handleEvent(e){!Az(this.view,e)||this.ignoreDuringComposition(e)||e.type=="keydown"&&this.keydown(e)||this.runHandlers(e.type,e)}runHandlers(e,n){let r=this.handlers[e];if(r){for(let i of r.observers)i(this.view,n);for(let i of r.handlers){if(n.defaultPrevented)break;if(i(this.view,n)){n.preventDefault();break}}}}ensureHandlers(e){let n=xz(e),r=this.handlers,i=this.view.contentDOM;for(let o in n)if(o!="scroll"){let s=!n[o].handlers.length,a=r[o];a&&s!=!a.handlers.length&&(i.removeEventListener(o,this.handleEvent),a=null),a||i.addEventListener(o,this.handleEvent,{passive:s})}for(let o in r)o!="scroll"&&!n[o]&&i.removeEventListener(o,this.handleEvent);this.handlers=n}keydown(e){if(this.lastKeyCode=e.keyCode,this.lastKeyTime=Date.now(),e.keyCode==9&&this.tabFocusMode>-1&&(!this.tabFocusMode||Date.now()<=this.tabFocusMode))return!0;if(this.tabFocusMode>0&&e.keyCode!=27&&xC.indexOf(e.keyCode)<0&&(this.tabFocusMode=-1),ke.android&&ke.chrome&&!e.synthetic&&(e.keyCode==13||e.keyCode==8))return this.view.observer.delayAndroidKey(e.key,e.keyCode),!0;let n;return ke.ios&&!e.synthetic&&!e.altKey&&!e.metaKey&&((n=bC.find(r=>r.keyCode==e.keyCode))&&!e.ctrlKey||vz.indexOf(e.key)>-1&&e.ctrlKey&&!e.shiftKey)?(this.pendingIOSKey=n||e,setTimeout(()=>this.flushIOSKey(),250),!0):(e.keyCode!=229&&this.view.observer.forceFlush(),!1)}flushIOSKey(e){let n=this.pendingIOSKey;return!n||n.key=="Enter"&&e&&e.from<e.to&&/^\S+$/.test(e.insert.toString())?!1:(this.pendingIOSKey=void 0,Bs(this.view.contentDOM,n.key,n.keyCode,n instanceof KeyboardEvent?n:void 0))}ignoreDuringComposition(e){return/^key/.test(e.type)?this.composing>0?!0:ke.safari&&!ke.ios&&this.compositionPendingKey&&Date.now()-this.compositionEndedAt<100?(this.compositionPendingKey=!1,!0):!1:!1}startMouseSelection(e){this.mouseSelection&&this.mouseSelection.destroy(),this.mouseSelection=e}update(e){this.view.observer.update(e),this.mouseSelection&&this.mouseSelection.update(e),this.draggedContent&&e.docChanged&&(this.draggedContent=this.draggedContent.map(e.changes)),e.transactions.length&&(this.lastKeyCode=this.lastSelectionTime=0)}destroy(){this.mouseSelection&&this.mouseSelection.destroy()}}function L5(t,e){return(n,r)=>{try{return e.call(t,r,n)}catch(i){Dn(n.state,i)}}}function xz(t){let e=Object.create(null);function n(r){return e[r]||(e[r]={observers:[],handlers:[]})}for(let r of t){let i=r.spec;if(i&&i.domEventHandlers)for(let o in i.domEventHandlers){let s=i.domEventHandlers[o];s&&n(o).handlers.push(L5(r.value,s))}if(i&&i.domEventObservers)for(let o in i.domEventObservers){let s=i.domEventObservers[o];s&&n(o).observers.push(L5(r.value,s))}}for(let r in Mr)n(r).handlers.push(Mr[r]);for(let r in ur)n(r).observers.push(ur[r]);return e}const bC=[{key:"Backspace",keyCode:8,inputType:"deleteContentBackward"},{key:"Enter",keyCode:13,inputType:"insertParagraph"},{key:"Enter",keyCode:13,inputType:"insertLineBreak"},{key:"Delete",keyCode:46,inputType:"deleteContentForward"}],vz="dthko",xC=[16,17,18,20,91,92,224,225],gu=6;function pu(t){return Math.max(0,t)*.7+8}function wz(t,e){return Math.max(Math.abs(t.clientX-e.clientX),Math.abs(t.clientY-e.clientY))}class yz{constructor(e,n,r,i){this.view=e,this.startEvent=n,this.style=r,this.mustSelect=i,this.scrollSpeed={x:0,y:0},this.scrolling=-1,this.lastEvent=n,this.scrollParents=MH(e.contentDOM),this.atoms=e.state.facet(em).map(s=>s(e));let o=e.contentDOM.ownerDocument;o.addEventListener("mousemove",this.move=this.move.bind(this)),o.addEventListener("mouseup",this.up=this.up.bind(this)),this.extend=n.shiftKey,this.multiple=e.state.facet(lt.allowMultipleSelections)&&Cz(e,n),this.dragging=Sz(e,n)&&yC(n)==1?null:!1}start(e){this.dragging===!1&&this.select(e)}move(e){if(e.buttons==0)return this.destroy();if(this.dragging||this.dragging==null&&wz(this.startEvent,e)<10)return;this.select(this.lastEvent=e);let n=0,r=0,i=0,o=0,s=this.view.win.innerWidth,a=this.view.win.innerHeight;this.scrollParents.x&&({left:i,right:s}=this.scrollParents.x.getBoundingClientRect()),this.scrollParents.y&&({top:o,bottom:a}=this.scrollParents.y.getBoundingClientRect());let c=tm(this.view);e.clientX-c.left<=i+gu?n=-pu(i-e.clientX):e.clientX+c.right>=s-gu&&(n=pu(e.clientX-s)),e.clientY-c.top<=o+gu?r=-pu(o-e.clientY):e.clientY+c.bottom>=a-gu&&(r=pu(e.clientY-a)),this.setScrollSpeed(n,r)}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=this.view.inputState.draggedContent=null}setScrollSpeed(e,n){this.scrollSpeed={x:e,y:n},e||n?this.scrolling<0&&(this.scrolling=setInterval(()=>this.scroll(),50)):this.scrolling>-1&&(clearInterval(this.scrolling),this.scrolling=-1)}scroll(){let{x:e,y:n}=this.scrollSpeed;e&&this.scrollParents.x&&(this.scrollParents.x.scrollLeft+=e,e=0),n&&this.scrollParents.y&&(this.scrollParents.y.scrollTop+=n,n=0),(e||n)&&this.view.win.scrollBy(e,n),this.dragging===!1&&this.select(this.lastEvent)}skipAtoms(e){let n=null;for(let r=0;r<e.ranges.length;r++){let i=e.ranges[r],o=null;if(i.empty){let s=Fu(this.atoms,i.from,0);s!=i.from&&(o=ie.cursor(s,-1))}else{let s=Fu(this.atoms,i.from,-1),a=Fu(this.atoms,i.to,1);(s!=i.from||a!=i.to)&&(o=ie.range(i.from==i.anchor?s:a,i.from==i.head?s:a))}o&&(n||(n=e.ranges.slice()),n[r]=o)}return n?ie.create(n,e.mainIndex):e}select(e){let{view:n}=this,r=this.skipAtoms(this.style.get(e,this.extend,this.multiple));(this.mustSelect||!r.eq(n.state.selection,this.dragging===!1))&&this.view.dispatch({selection:r,userEvent:"select.pointer"}),this.mustSelect=!1}update(e){e.transactions.some(n=>n.isUserEvent("input.type"))?this.destroy():this.style.update(e)&&setTimeout(()=>this.select(this.lastEvent),20)}}function Cz(t,e){let n=t.state.facet(eC);return n.length?n[0](e):ke.mac?e.metaKey:e.ctrlKey}function $z(t,e){let n=t.state.facet(tC);return n.length?n[0](e):ke.mac?!e.altKey:!e.ctrlKey}function Sz(t,e){let{main:n}=t.state.selection;if(n.empty)return!1;let r=wl(t.root);if(!r||r.rangeCount==0)return!0;let i=r.getRangeAt(0).getClientRects();for(let o=0;o<i.length;o++){let s=i[o];if(s.left<=e.clientX&&s.right>=e.clientX&&s.top<=e.clientY&&s.bottom>=e.clientY)return!0}return!1}function Az(t,e){if(!e.bubbles)return!0;if(e.defaultPrevented)return!1;for(let n=e.target,r;n!=t.contentDOM;n=n.parentNode)if(!n||n.nodeType==11||(r=wt.get(n))&&r.ignoreEvent(e))return!1;return!0}const Mr=Object.create(null),ur=Object.create(null),vC=ke.ie&&ke.ie_version<15||ke.ios&&ke.webkit_version<604;function Rz(t){let e=t.dom.parentNode;if(!e)return;let n=e.appendChild(document.createElement("textarea"));n.style.cssText="position: fixed; left: -10000px; top: 10px",n.focus(),setTimeout(()=>{t.focus(),n.remove(),wC(t,n.value)},50)}function ch(t,e,n){for(let r of t.facet(e))n=r(n,t);return n}function wC(t,e){e=ch(t.state,Qp,e);let{state:n}=t,r,i=1,o=n.toText(e),s=o.lines==n.selection.ranges.length;if(eg!=null&&n.selection.ranges.every(c=>c.empty)&&eg==o.toString()){let c=-1;r=n.changeByRange(d=>{let h=n.doc.lineAt(d.from);if(h.from==c)return{range:d};c=h.from;let g=n.toText((s?o.line(i++).text:e)+n.lineBreak);return{changes:{from:h.from,insert:g},range:ie.cursor(d.from+g.length)}})}else s?r=n.changeByRange(c=>{let d=o.line(i++);return{changes:{from:c.from,to:c.to,insert:d.text},range:ie.cursor(c.from+d.length)}}):r=n.replaceSelection(o);t.dispatch(r,{userEvent:"input.paste",scrollIntoView:!0})}ur.scroll=t=>{t.inputState.lastScrollTop=t.scrollDOM.scrollTop,t.inputState.lastScrollLeft=t.scrollDOM.scrollLeft};Mr.keydown=(t,e)=>(t.inputState.setSelectionOrigin("select"),e.keyCode==27&&t.inputState.tabFocusMode!=0&&(t.inputState.tabFocusMode=Date.now()+2e3),!1);ur.touchstart=(t,e)=>{t.inputState.lastTouchTime=Date.now(),t.inputState.setSelectionOrigin("select.pointer")};ur.touchmove=t=>{t.inputState.setSelectionOrigin("select.pointer")};Mr.mousedown=(t,e)=>{if(t.observer.flush(),t.inputState.lastTouchTime>Date.now()-2e3)return!1;let n=null;for(let r of t.state.facet(nC))if(n=r(t,e),n)break;if(!n&&e.button==0&&(n=Ez(t,e)),n){let r=!t.hasFocus;t.inputState.startMouseSelection(new yz(t,e,n,r)),r&&t.observer.ignore(()=>{j6(t.contentDOM);let o=t.root.activeElement;o&&!o.contains(t.contentDOM)&&o.blur()});let i=t.inputState.mouseSelection;if(i)return i.start(e),i.dragging===!1}return!1};function j5(t,e,n,r){if(r==1)return ie.cursor(e,n);if(r==2)return nz(t.state,e,n);{let i=Ht.find(t.docView,e),o=t.state.doc.lineAt(i?i.posAtEnd:e),s=i?i.posAtStart:o.from,a=i?i.posAtEnd:o.to;return a<t.state.doc.length&&a==o.to&&a++,ie.range(s,a)}}let _5=(t,e,n)=>e>=n.top&&e<=n.bottom&&t>=n.left&&t<=n.right;function Tz(t,e,n,r){let i=Ht.find(t.docView,e);if(!i)return 1;let o=e-i.posAtStart;if(o==0)return 1;if(o==i.length)return-1;let s=i.coordsAt(o,-1);if(s&&_5(n,r,s))return-1;let a=i.coordsAt(o,1);return a&&_5(n,r,a)?1:s&&s.bottom>=r?-1:1}function N5(t,e){let n=t.posAtCoords({x:e.clientX,y:e.clientY},!1);return{pos:n,bias:Tz(t,n,e.clientX,e.clientY)}}const kz=ke.ie&&ke.ie_version<=11;let B5=null,F5=0,P5=0;function yC(t){if(!kz)return t.detail;let e=B5,n=P5;return B5=t,P5=Date.now(),F5=!e||n>Date.now()-400&&Math.abs(e.clientX-t.clientX)<2&&Math.abs(e.clientY-t.clientY)<2?(F5+1)%3:1}function Ez(t,e){let n=N5(t,e),r=yC(e),i=t.state.selection;return{update(o){o.docChanged&&(n.pos=o.changes.mapPos(n.pos),i=i.map(o.changes))},get(o,s,a){let c=N5(t,o),d,h=j5(t,c.pos,c.bias,r);if(n.pos!=c.pos&&!s){let g=j5(t,n.pos,n.bias,r),m=Math.min(g.from,h.from),b=Math.max(g.to,h.to);h=m<h.from?ie.range(m,b):ie.range(b,m)}return s?i.replaceRange(i.main.extend(h.from,h.to)):a&&r==1&&i.ranges.length>1&&(d=Mz(i,c.pos))?d:a?i.addRange(h):ie.create([h])}}}function Mz(t,e){for(let n=0;n<t.ranges.length;n++){let{from:r,to:i}=t.ranges[n];if(r<=e&&i>=e)return ie.create(t.ranges.slice(0,n).concat(t.ranges.slice(n+1)),t.mainIndex==n?0:t.mainIndex-(t.mainIndex>n?1:0))}return null}Mr.dragstart=(t,e)=>{let{selection:{main:n}}=t.state;if(e.target.draggable){let i=t.docView.nearest(e.target);if(i&&i.isWidget){let o=i.posAtStart,s=o+i.length;(o>=n.to||s<=n.from)&&(n=ie.range(o,s))}}let{inputState:r}=t;return r.mouseSelection&&(r.mouseSelection.dragging=!0),r.draggedContent=n,e.dataTransfer&&(e.dataTransfer.setData("Text",ch(t.state,Zp,t.state.sliceDoc(n.from,n.to))),e.dataTransfer.effectAllowed="copyMove"),!1};Mr.dragend=t=>(t.inputState.draggedContent=null,!1);function V5(t,e,n,r){if(n=ch(t.state,Qp,n),!n)return;let i=t.posAtCoords({x:e.clientX,y:e.clientY},!1),{draggedContent:o}=t.inputState,s=r&&o&&$z(t,e)?{from:o.from,to:o.to}:null,a={from:i,insert:n},c=t.state.changes(s?[s,a]:a);t.focus(),t.dispatch({changes:c,selection:{anchor:c.mapPos(i,-1),head:c.mapPos(i,1)},userEvent:s?"move.drop":"input.drop"}),t.inputState.draggedContent=null}Mr.drop=(t,e)=>{if(!e.dataTransfer)return!1;if(t.state.readOnly)return!0;let n=e.dataTransfer.files;if(n&&n.length){let r=Array(n.length),i=0,o=()=>{++i==n.length&&V5(t,e,r.filter(s=>s!=null).join(t.state.lineBreak),!1)};for(let s=0;s<n.length;s++){let a=new FileReader;a.onerror=o,a.onload=()=>{/[\x00-\x08\x0e-\x1f]{2}/.test(a.result)||(r[s]=a.result),o()},a.readAsText(n[s])}return!0}else{let r=e.dataTransfer.getData("Text");if(r)return V5(t,e,r,!0),!0}return!1};Mr.paste=(t,e)=>{if(t.state.readOnly)return!0;t.observer.flush();let n=vC?null:e.clipboardData;return n?(wC(t,n.getData("text/plain")||n.getData("text/uri-list")),!0):(Rz(t),!1)};function Iz(t,e){let n=t.dom.parentNode;if(!n)return;let r=n.appendChild(document.createElement("textarea"));r.style.cssText="position: fixed; left: -10000px; top: 10px",r.value=e,r.focus(),r.selectionEnd=e.length,r.selectionStart=0,setTimeout(()=>{r.remove(),t.focus()},50)}function Oz(t){let e=[],n=[],r=!1;for(let i of t.selection.ranges)i.empty||(e.push(t.sliceDoc(i.from,i.to)),n.push(i));if(!e.length){let i=-1;for(let{from:o}of t.selection.ranges){let s=t.doc.lineAt(o);s.number>i&&(e.push(s.text),n.push({from:s.from,to:Math.min(t.doc.length,s.to+1)})),i=s.number}r=!0}return{text:ch(t,Zp,e.join(t.lineBreak)),ranges:n,linewise:r}}let eg=null;Mr.copy=Mr.cut=(t,e)=>{let{text:n,ranges:r,linewise:i}=Oz(t.state);if(!n&&!i)return!1;eg=i?n:null,e.type=="cut"&&!t.state.readOnly&&t.dispatch({changes:r,scrollIntoView:!0,userEvent:"delete.cut"});let o=vC?null:e.clipboardData;return o?(o.clearData(),o.setData("text/plain",n),!0):(Iz(t,n),!1)};const CC=ri.define();function $C(t,e){let n=[];for(let r of t.facet(oC)){let i=r(t,e);i&&n.push(i)}return n?t.update({effects:n,annotations:CC.of(!0)}):null}function SC(t){setTimeout(()=>{let e=t.hasFocus;if(e!=t.inputState.notifiedFocused){let n=$C(t.state,e);n?t.dispatch(n):t.update([])}},10)}ur.focus=t=>{t.inputState.lastFocusTime=Date.now(),!t.scrollDOM.scrollTop&&(t.inputState.lastScrollTop||t.inputState.lastScrollLeft)&&(t.scrollDOM.scrollTop=t.inputState.lastScrollTop,t.scrollDOM.scrollLeft=t.inputState.lastScrollLeft),SC(t)};ur.blur=t=>{t.observer.clearSelectionRange(),SC(t)};ur.compositionstart=ur.compositionupdate=t=>{t.observer.editContext||(t.inputState.compositionFirstChange==null&&(t.inputState.compositionFirstChange=!0),t.inputState.composing<0&&(t.inputState.composing=0))};ur.compositionend=t=>{t.observer.editContext||(t.inputState.composing=-1,t.inputState.compositionEndedAt=Date.now(),t.inputState.compositionPendingKey=!0,t.inputState.compositionPendingChange=t.observer.pendingRecords().length>0,t.inputState.compositionFirstChange=null,ke.chrome&&ke.android?t.observer.flushSoon():t.inputState.compositionPendingChange?Promise.resolve().then(()=>t.observer.flush()):setTimeout(()=>{t.inputState.composing<0&&t.docView.hasComposition&&t.update([])},50))};ur.contextmenu=t=>{t.inputState.lastContextMenu=Date.now()};Mr.beforeinput=(t,e)=>{var n,r;if(e.inputType=="insertReplacementText"&&t.observer.editContext){let o=(n=e.dataTransfer)===null||n===void 0?void 0:n.getData("text/plain"),s=e.getTargetRanges();if(o&&s.length){let a=s[0],c=t.posAtDOM(a.startContainer,a.startOffset),d=t.posAtDOM(a.endContainer,a.endOffset);return nm(t,{from:c,to:d,insert:t.state.toText(o)},null),!0}}let i;if(ke.chrome&&ke.android&&(i=bC.find(o=>o.inputType==e.inputType))&&(t.observer.delayAndroidKey(i.key,i.keyCode),i.key=="Backspace"||i.key=="Delete")){let o=((r=window.visualViewport)===null||r===void 0?void 0:r.height)||0;setTimeout(()=>{var s;(((s=window.visualViewport)===null||s===void 0?void 0:s.height)||0)>o+10&&t.hasFocus&&(t.contentDOM.blur(),t.focus())},100)}return ke.ios&&e.inputType=="deleteContentForward"&&t.observer.flushSoon(),ke.safari&&e.inputType=="insertText"&&t.inputState.composing>=0&&setTimeout(()=>ur.compositionend(t,e),20),!1};const H5=new Set;function Dz(t){H5.has(t)||(H5.add(t),t.addEventListener("copy",()=>{}),t.addEventListener("cut",()=>{}))}const z5=["pre-wrap","normal","pre-line","break-spaces"];let ta=!1;function W5(){ta=!1}class Lz{constructor(e){this.lineWrapping=e,this.doc=dt.empty,this.heightSamples={},this.lineHeight=14,this.charWidth=7,this.textHeight=14,this.lineLength=30}heightForGap(e,n){let r=this.doc.lineAt(n).number-this.doc.lineAt(e).number+1;return this.lineWrapping&&(r+=Math.max(0,Math.ceil((n-e-r*this.lineLength*.5)/this.lineLength))),this.lineHeight*r}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 z5.indexOf(e)>-1!=this.lineWrapping}mustRefreshForHeights(e){let n=!1;for(let r=0;r<e.length;r++){let i=e[r];i<0?r++:this.heightSamples[Math.floor(i*10)]||(n=!0,this.heightSamples[Math.floor(i*10)]=!0)}return n}refresh(e,n,r,i,o,s){let a=z5.indexOf(e)>-1,c=Math.round(n)!=Math.round(this.lineHeight)||this.lineWrapping!=a;if(this.lineWrapping=a,this.lineHeight=n,this.charWidth=r,this.textHeight=i,this.lineLength=o,c){this.heightSamples={};for(let d=0;d<s.length;d++){let h=s[d];h<0?d++:this.heightSamples[Math.floor(h*10)]=!0}}return c}}class jz{constructor(e,n){this.from=e,this.heights=n,this.index=0}get more(){return this.index<this.heights.length}}class Wr{constructor(e,n,r,i,o){this.from=e,this.length=n,this.top=r,this.height=i,this._content=o}get type(){return typeof this._content=="number"?$n.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 ao?this._content.widget:null}get widgetLineBreaks(){return typeof this._content=="number"?this._content:0}join(e){let n=(Array.isArray(this._content)?this._content:[this]).concat(Array.isArray(e._content)?e._content:[e]);return new Wr(this.from,this.length+e.length,this.top,this.height+e.height,n)}}var St=function(t){return t[t.ByPos=0]="ByPos",t[t.ByHeight=1]="ByHeight",t[t.ByPosNoHeight=2]="ByPosNoHeight",t}(St||(St={}));const Pu=.001;class Sn{constructor(e,n,r=2){this.length=e,this.height=n,this.flags=r}get outdated(){return(this.flags&2)>0}set outdated(e){this.flags=(e?2:0)|this.flags&-3}setHeight(e){this.height!=e&&(Math.abs(this.height-e)>Pu&&(ta=!0),this.height=e)}replace(e,n,r){return Sn.of(r)}decomposeLeft(e,n){n.push(this)}decomposeRight(e,n){n.push(this)}applyChanges(e,n,r,i){let o=this,s=r.doc;for(let a=i.length-1;a>=0;a--){let{fromA:c,toA:d,fromB:h,toB:g}=i[a],m=o.lineAt(c,St.ByPosNoHeight,r.setDoc(n),0,0),b=m.to>=d?m:o.lineAt(d,St.ByPosNoHeight,r,0,0);for(g+=b.to-d,d=b.to;a>0&&m.from<=i[a-1].toA;)c=i[a-1].fromA,h=i[a-1].fromB,a--,c<m.from&&(m=o.lineAt(c,St.ByPosNoHeight,r,0,0));h+=m.from-c,c=m.from;let v=rm.build(r.setDoc(s),e,h,g);o=hd(o,o.replace(c,d,v))}return o.updateHeight(r,0)}static empty(){return new Kn(0,0)}static of(e){if(e.length==1)return e[0];let n=0,r=e.length,i=0,o=0;for(;;)if(n==r)if(i>o*2){let a=e[n-1];a.break?e.splice(--n,1,a.left,null,a.right):e.splice(--n,1,a.left,a.right),r+=1+a.break,i-=a.size}else if(o>i*2){let a=e[r];a.break?e.splice(r,1,a.left,null,a.right):e.splice(r,1,a.left,a.right),r+=2+a.break,o-=a.size}else break;else if(i<o){let a=e[n++];a&&(i+=a.size)}else{let a=e[--r];a&&(o+=a.size)}let s=0;return e[n-1]==null?(s=1,n--):e[n]==null&&(s=1,r++),new _z(Sn.of(e.slice(0,n)),s,Sn.of(e.slice(r)))}}function hd(t,e){return t==e?t:(t.constructor!=e.constructor&&(ta=!0),e)}Sn.prototype.size=1;class AC extends Sn{constructor(e,n,r){super(e,n),this.deco=r}blockAt(e,n,r,i){return new Wr(i,this.length,r,this.height,this.deco||0)}lineAt(e,n,r,i,o){return this.blockAt(0,r,i,o)}forEachLine(e,n,r,i,o,s){e<=o+this.length&&n>=o&&s(this.blockAt(0,r,i,o))}updateHeight(e,n=0,r=!1,i){return i&&i.from<=n&&i.more&&this.setHeight(i.heights[i.index++]),this.outdated=!1,this}toString(){return`block(${this.length})`}}class Kn extends AC{constructor(e,n){super(e,n,null),this.collapsed=0,this.widgetHeight=0,this.breaks=0}blockAt(e,n,r,i){return new Wr(i,this.length,r,this.height,this.breaks)}replace(e,n,r){let i=r[0];return r.length==1&&(i instanceof Kn||i instanceof sn&&i.flags&4)&&Math.abs(this.length-i.length)<10?(i instanceof sn?i=new Kn(i.length,this.height):i.height=this.height,this.outdated||(i.outdated=!1),i):Sn.of(r)}updateHeight(e,n=0,r=!1,i){return i&&i.from<=n&&i.more?this.setHeight(i.heights[i.index++]):(r||this.outdated)&&this.setHeight(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:""})`}}class sn extends Sn{constructor(e){super(e,0)}heightMetrics(e,n){let r=e.doc.lineAt(n).number,i=e.doc.lineAt(n+this.length).number,o=i-r+1,s,a=0;if(e.lineWrapping){let c=Math.min(this.height,e.lineHeight*o);s=c/o,this.length>o+1&&(a=(this.height-c)/(this.length-o-1))}else s=this.height/o;return{firstLine:r,lastLine:i,perLine:s,perChar:a}}blockAt(e,n,r,i){let{firstLine:o,lastLine:s,perLine:a,perChar:c}=this.heightMetrics(n,i);if(n.lineWrapping){let d=i+(e<n.lineHeight?0:Math.round(Math.max(0,Math.min(1,(e-r)/this.height))*this.length)),h=n.doc.lineAt(d),g=a+h.length*c,m=Math.max(r,e-g/2);return new Wr(h.from,h.length,m,g,0)}else{let d=Math.max(0,Math.min(s-o,Math.floor((e-r)/a))),{from:h,length:g}=n.doc.line(o+d);return new Wr(h,g,r+a*d,a,0)}}lineAt(e,n,r,i,o){if(n==St.ByHeight)return this.blockAt(e,r,i,o);if(n==St.ByPosNoHeight){let{from:b,to:v}=r.doc.lineAt(e);return new Wr(b,v-b,0,0,0)}let{firstLine:s,perLine:a,perChar:c}=this.heightMetrics(r,o),d=r.doc.lineAt(e),h=a+d.length*c,g=d.number-s,m=i+a*g+c*(d.from-o-g);return new Wr(d.from,d.length,Math.max(i,Math.min(m,i+this.height-h)),h,0)}forEachLine(e,n,r,i,o,s){e=Math.max(e,o),n=Math.min(n,o+this.length);let{firstLine:a,perLine:c,perChar:d}=this.heightMetrics(r,o);for(let h=e,g=i;h<=n;){let m=r.doc.lineAt(h);if(h==e){let v=m.number-a;g+=c*v+d*(e-o-v)}let b=c+d*m.length;s(new Wr(m.from,m.length,g,b,0)),g+=b,h=m.to+1}}replace(e,n,r){let i=this.length-n;if(i>0){let o=r[r.length-1];o instanceof sn?r[r.length-1]=new sn(o.length+i):r.push(null,new sn(i-1))}if(e>0){let o=r[0];o instanceof sn?r[0]=new sn(e+o.length):r.unshift(new sn(e-1),null)}return Sn.of(r)}decomposeLeft(e,n){n.push(new sn(e-1),null)}decomposeRight(e,n){n.push(null,new sn(this.length-e-1))}updateHeight(e,n=0,r=!1,i){let o=n+this.length;if(i&&i.from<=n+this.length&&i.more){let s=[],a=Math.max(n,i.from),c=-1;for(i.from>n&&s.push(new sn(i.from-n-1).updateHeight(e,n));a<=o&&i.more;){let h=e.doc.lineAt(a).length;s.length&&s.push(null);let g=i.heights[i.index++];c==-1?c=g:Math.abs(g-c)>=Pu&&(c=-2);let m=new Kn(h,g);m.outdated=!1,s.push(m),a+=h+1}a<=o&&s.push(null,new sn(o-a).updateHeight(e,a));let d=Sn.of(s);return(c<0||Math.abs(d.height-this.height)>=Pu||Math.abs(c-this.heightMetrics(e,n).perLine)>=Pu)&&(ta=!0),hd(this,d)}else(r||this.outdated)&&(this.setHeight(e.heightForGap(n,n+this.length)),this.outdated=!1);return this}toString(){return`gap(${this.length})`}}class _z extends Sn{constructor(e,n,r){super(e.length+n+r.length,e.height+r.height,n|(e.outdated||r.outdated?2:0)),this.left=e,this.right=r,this.size=e.size+r.size}get break(){return this.flags&1}blockAt(e,n,r,i){let o=r+this.left.height;return e<o?this.left.blockAt(e,n,r,i):this.right.blockAt(e,n,o,i+this.left.length+this.break)}lineAt(e,n,r,i,o){let s=i+this.left.height,a=o+this.left.length+this.break,c=n==St.ByHeight?e<s:e<a,d=c?this.left.lineAt(e,n,r,i,o):this.right.lineAt(e,n,r,s,a);if(this.break||(c?d.to<a:d.from>a))return d;let h=n==St.ByPosNoHeight?St.ByPosNoHeight:St.ByPos;return c?d.join(this.right.lineAt(a,h,r,s,a)):this.left.lineAt(a,h,r,i,o).join(d)}forEachLine(e,n,r,i,o,s){let a=i+this.left.height,c=o+this.left.length+this.break;if(this.break)e<c&&this.left.forEachLine(e,n,r,i,o,s),n>=c&&this.right.forEachLine(e,n,r,a,c,s);else{let d=this.lineAt(c,St.ByPos,r,i,o);e<d.from&&this.left.forEachLine(e,d.from-1,r,i,o,s),d.to>=e&&d.from<=n&&s(d),n>d.to&&this.right.forEachLine(d.to+1,n,r,a,c,s)}}replace(e,n,r){let i=this.left.length+this.break;if(n<i)return this.balanced(this.left.replace(e,n,r),this.right);if(e>this.left.length)return this.balanced(this.left,this.right.replace(e-i,n-i,r));let o=[];e>0&&this.decomposeLeft(e,o);let s=o.length;for(let a of r)o.push(a);if(e>0&&U5(o,s-1),n<this.length){let a=o.length;this.decomposeRight(n,o),U5(o,a)}return Sn.of(o)}decomposeLeft(e,n){let r=this.left.length;if(e<=r)return this.left.decomposeLeft(e,n);n.push(this.left),this.break&&(r++,e>=r&&n.push(null)),e>r&&this.right.decomposeLeft(e-r,n)}decomposeRight(e,n){let r=this.left.length,i=r+this.break;if(e>=i)return this.right.decomposeRight(e-i,n);e<r&&this.left.decomposeRight(e,n),this.break&&e<i&&n.push(null),n.push(this.right)}balanced(e,n){return e.size>2*n.size||n.size>2*e.size?Sn.of(this.break?[e,null,n]:[e,n]):(this.left=hd(this.left,e),this.right=hd(this.right,n),this.setHeight(e.height+n.height),this.outdated=e.outdated||n.outdated,this.size=e.size+n.size,this.length=e.length+this.break+n.length,this)}updateHeight(e,n=0,r=!1,i){let{left:o,right:s}=this,a=n+o.length+this.break,c=null;return i&&i.from<=n+o.length&&i.more?c=o=o.updateHeight(e,n,r,i):o.updateHeight(e,n,r),i&&i.from<=a+s.length&&i.more?c=s=s.updateHeight(e,a,r,i):s.updateHeight(e,a,r),c?this.balanced(o,s):(this.height=this.left.height+this.right.height,this.outdated=!1,this)}toString(){return this.left+(this.break?" ":"-")+this.right}}function U5(t,e){let n,r;t[e]==null&&(n=t[e-1])instanceof sn&&(r=t[e+1])instanceof sn&&t.splice(e-1,3,new sn(n.length+1+r.length))}const Nz=5;class rm{constructor(e,n){this.pos=e,this.oracle=n,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,n){if(this.lineStart>-1){let r=Math.min(n,this.lineEnd),i=this.nodes[this.nodes.length-1];i instanceof Kn?i.length+=r-this.pos:(r>this.pos||!this.isCovered)&&this.nodes.push(new Kn(r-this.pos,-1)),this.writtenTo=r,n>r&&(this.nodes.push(null),this.writtenTo++,this.lineStart=-1)}this.pos=n}point(e,n,r){if(e<n||r.heightRelevant){let i=r.widget?r.widget.estimatedHeight:0,o=r.widget?r.widget.lineBreaks:0;i<0&&(i=this.oracle.lineHeight);let s=n-e;r.block?this.addBlock(new AC(s,i,r)):(s||o||i>=Nz)&&this.addLineDeco(i,o,s)}else n>e&&this.span(e,n);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:n}=this.oracle.doc.lineAt(this.pos);this.lineStart=e,this.lineEnd=n,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 Kn(this.pos-e,-1)),this.writtenTo=this.pos}blankContent(e,n){let r=new sn(n-e);return this.oracle.doc.lineAt(e).to==n&&(r.flags|=4),r}ensureLine(){this.enterLine();let e=this.nodes.length?this.nodes[this.nodes.length-1]:null;if(e instanceof Kn)return e;let n=new Kn(0,-1);return this.nodes.push(n),n}addBlock(e){this.enterLine();let n=e.deco;n&&n.startSide>0&&!this.isCovered&&this.ensureLine(),this.nodes.push(e),this.writtenTo=this.pos=this.pos+e.length,n&&n.endSide>0&&(this.covering=e)}addLineDeco(e,n,r){let i=this.ensureLine();i.length+=r,i.collapsed+=r,i.widgetHeight=Math.max(i.widgetHeight,e),i.breaks+=n,this.writtenTo=this.pos=this.pos+r}finish(e){let n=this.nodes.length==0?null:this.nodes[this.nodes.length-1];this.lineStart>-1&&!(n instanceof Kn)&&!this.isCovered?this.nodes.push(new Kn(0,-1)):(this.writtenTo<this.pos||n==null)&&this.nodes.push(this.blankContent(this.writtenTo,this.pos));let r=e;for(let i of this.nodes)i instanceof Kn&&i.updateHeight(this.oracle,r),r+=i?i.length:1;return this.nodes}static build(e,n,r,i){let o=new rm(r,e);return ut.spans(n,r,i,o,0),o.finish(r)}}function Bz(t,e,n){let r=new Fz;return ut.compare(t,e,n,r,0),r.changes}class Fz{constructor(){this.changes=[]}compareRange(){}comparePoint(e,n,r,i){(e<n||r&&r.heightRelevant||i&&i.heightRelevant)&&Bu(e,n,this.changes,5)}}function Pz(t,e){let n=t.getBoundingClientRect(),r=t.ownerDocument,i=r.defaultView||window,o=Math.max(0,n.left),s=Math.min(i.innerWidth,n.right),a=Math.max(0,n.top),c=Math.min(i.innerHeight,n.bottom);for(let d=t.parentNode;d&&d!=r.body;)if(d.nodeType==1){let h=d,g=window.getComputedStyle(h);if((h.scrollHeight>h.clientHeight||h.scrollWidth>h.clientWidth)&&g.overflow!="visible"){let m=h.getBoundingClientRect();o=Math.max(o,m.left),s=Math.min(s,m.right),a=Math.max(a,m.top),c=Math.min(d==t.parentNode?i.innerHeight:c,m.bottom)}d=g.position=="absolute"||g.position=="fixed"?h.offsetParent:h.parentNode}else if(d.nodeType==11)d=d.host;else break;return{left:o-n.left,right:Math.max(o,s)-n.left,top:a-(n.top+e),bottom:Math.max(a,c)-(n.top+e)}}function Vz(t){let e=t.getBoundingClientRect(),n=t.ownerDocument.defaultView||window;return e.left<n.innerWidth&&e.right>0&&e.top<n.innerHeight&&e.bottom>0}function Hz(t,e){let n=t.getBoundingClientRect();return{left:0,right:n.right-n.left,top:e,bottom:n.bottom-(n.top+e)}}class A0{constructor(e,n,r,i){this.from=e,this.to=n,this.size=r,this.displaySize=i}static same(e,n){if(e.length!=n.length)return!1;for(let r=0;r<e.length;r++){let i=e[r],o=n[r];if(i.from!=o.from||i.to!=o.to||i.size!=o.size)return!1}return!0}draw(e,n){return Fe.replace({widget:new zz(this.displaySize*(n?e.scaleY:e.scaleX),n)}).range(this.from,this.to)}}class zz extends Di{constructor(e,n){super(),this.size=e,this.vertical=n}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}}class q5{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=!1,this.scaleX=1,this.scaleY=1,this.scrollAnchorPos=0,this.scrollAnchorHeight=-1,this.scaler=K5,this.scrollTarget=null,this.printing=!1,this.mustMeasureContent=!0,this.defaultTextDirection=At.LTR,this.visibleRanges=[],this.mustEnforceCursorAssoc=!1;let n=e.facet(Jp).some(r=>typeof r!="function"&&r.class=="cm-lineWrapping");this.heightOracle=new Lz(n),this.stateDeco=e.facet(yl).filter(r=>typeof r!="function"),this.heightMap=Sn.empty().applyChanges(this.stateDeco,dt.empty,this.heightOracle.setDoc(e.doc),[new cr(0,0,0,e.doc.length)]);for(let r=0;r<2&&(this.viewport=this.getViewport(0,null),!!this.updateForViewport());r++);this.updateViewportLines(),this.lineGaps=this.ensureLineGaps([]),this.lineGapDeco=Fe.set(this.lineGaps.map(r=>r.draw(this,!1))),this.computeVisibleRanges()}updateForViewport(){let e=[this.viewport],{main:n}=this.state.selection;for(let r=0;r<=1;r++){let i=r?n.head:n.anchor;if(!e.some(({from:o,to:s})=>i>=o&&i<=s)){let{from:o,to:s}=this.lineBlockAt(i);e.push(new mu(o,s))}}return this.viewports=e.sort((r,i)=>r.from-i.from),this.updateScaler()}updateScaler(){let e=this.scaler;return this.scaler=this.heightMap.height<=7e6?K5:new im(this.heightOracle,this.heightMap,this.viewports),e.eq(this.scaler)?0:2}updateViewportLines(){this.viewportLines=[],this.heightMap.forEachLine(this.viewport.from,this.viewport.to,this.heightOracle.setDoc(this.state.doc),0,0,e=>{this.viewportLines.push(Ja(e,this.scaler))})}update(e,n=null){this.state=e.state;let r=this.stateDeco;this.stateDeco=this.state.facet(yl).filter(h=>typeof h!="function");let i=e.changedRanges,o=cr.extendWithRanges(i,Bz(r,this.stateDeco,e?e.changes:Kt.empty(this.state.doc.length))),s=this.heightMap.height,a=this.scrolledToBottom?null:this.scrollAnchorAt(this.scrollTop);W5(),this.heightMap=this.heightMap.applyChanges(this.stateDeco,e.startState.doc,this.heightOracle.setDoc(this.state.doc),o),(this.heightMap.height!=s||ta)&&(e.flags|=2),a?(this.scrollAnchorPos=e.changes.mapPos(a.from,-1),this.scrollAnchorHeight=a.top):(this.scrollAnchorPos=-1,this.scrollAnchorHeight=this.heightMap.height);let c=o.length?this.mapViewport(this.viewport,e.changes):this.viewport;(n&&(n.range.head<c.from||n.range.head>c.to)||!this.viewportIsAppropriate(c))&&(c=this.getViewport(0,n));let d=c.from!=this.viewport.from||c.to!=this.viewport.to;this.viewport=c,e.flags|=this.updateForViewport(),(d||!e.changes.empty||e.flags&2)&&this.updateViewportLines(),(this.lineGaps.length||this.viewport.to-this.viewport.from>4e3)&&this.updateLineGaps(this.ensureLineGaps(this.mapLineGaps(this.lineGaps,e.changes))),e.flags|=this.computeVisibleRanges(e.changes),n&&(this.scrollTarget=n),!this.mustEnforceCursorAssoc&&e.selectionSet&&e.view.lineWrapping&&e.state.selection.main.empty&&e.state.selection.main.assoc&&!e.state.facet(aC)&&(this.mustEnforceCursorAssoc=!0)}measure(e){let n=e.contentDOM,r=window.getComputedStyle(n),i=this.heightOracle,o=r.whiteSpace;this.defaultTextDirection=r.direction=="rtl"?At.RTL:At.LTR;let s=this.heightOracle.mustRefreshForWrapping(o),a=n.getBoundingClientRect(),c=s||this.mustMeasureContent||this.contentDOMHeight!=a.height;this.contentDOMHeight=a.height,this.mustMeasureContent=!1;let d=0,h=0;if(a.width&&a.height){let{scaleX:I,scaleY:E}=L6(n,a);(I>.005&&Math.abs(this.scaleX-I)>.005||E>.005&&Math.abs(this.scaleY-E)>.005)&&(this.scaleX=I,this.scaleY=E,d|=16,s=c=!0)}let g=(parseInt(r.paddingTop)||0)*this.scaleY,m=(parseInt(r.paddingBottom)||0)*this.scaleY;(this.paddingTop!=g||this.paddingBottom!=m)&&(this.paddingTop=g,this.paddingBottom=m,d|=18),this.editorWidth!=e.scrollDOM.clientWidth&&(i.lineWrapping&&(c=!0),this.editorWidth=e.scrollDOM.clientWidth,d|=16);let b=e.scrollDOM.scrollTop*this.scaleY;this.scrollTop!=b&&(this.scrollAnchorHeight=-1,this.scrollTop=b),this.scrolledToBottom=N6(e.scrollDOM);let v=(this.printing?Hz:Pz)(n,this.paddingTop),w=v.top-this.pixelViewport.top,y=v.bottom-this.pixelViewport.bottom;this.pixelViewport=v;let $=this.pixelViewport.bottom>this.pixelViewport.top&&this.pixelViewport.right>this.pixelViewport.left;if($!=this.inView&&(this.inView=$,$&&(c=!0)),!this.inView&&!this.scrollTarget&&!Vz(e.dom))return 0;let A=a.width;if((this.contentDOMWidth!=A||this.editorHeight!=e.scrollDOM.clientHeight)&&(this.contentDOMWidth=a.width,this.editorHeight=e.scrollDOM.clientHeight,d|=16),c){let I=e.docView.measureVisibleLineHeights(this.viewport);if(i.mustRefreshForHeights(I)&&(s=!0),s||i.lineWrapping&&Math.abs(A-this.contentDOMWidth)>i.charWidth){let{lineHeight:E,charWidth:L,textHeight:D}=e.docView.measureTextSize();s=E>0&&i.refresh(o,E,L,D,A/L,I),s&&(e.docView.minWidth=0,d|=16)}w>0&&y>0?h=Math.max(w,y):w<0&&y<0&&(h=Math.min(w,y)),W5();for(let E of this.viewports){let L=E.from==this.viewport.from?I:e.docView.measureVisibleLineHeights(E);this.heightMap=(s?Sn.empty().applyChanges(this.stateDeco,dt.empty,this.heightOracle,[new cr(0,0,0,e.state.doc.length)]):this.heightMap).updateHeight(i,0,s,new jz(E.from,L))}ta&&(d|=2)}let k=!this.viewportIsAppropriate(this.viewport,h)||this.scrollTarget&&(this.scrollTarget.range.head<this.viewport.from||this.scrollTarget.range.head>this.viewport.to);return k&&(d&2&&(d|=this.updateScaler()),this.viewport=this.getViewport(h,this.scrollTarget),d|=this.updateForViewport()),(d&2||k)&&this.updateViewportLines(),(this.lineGaps.length||this.viewport.to-this.viewport.from>4e3)&&this.updateLineGaps(this.ensureLineGaps(s?[]:this.lineGaps,e)),d|=this.computeVisibleRanges(),this.mustEnforceCursorAssoc&&(this.mustEnforceCursorAssoc=!1,e.docView.enforceCursorAssoc()),d}get visibleTop(){return this.scaler.fromDOM(this.pixelViewport.top)}get visibleBottom(){return this.scaler.fromDOM(this.pixelViewport.bottom)}getViewport(e,n){let r=.5-Math.max(-.5,Math.min(.5,e/1e3/2)),i=this.heightMap,o=this.heightOracle,{visibleTop:s,visibleBottom:a}=this,c=new mu(i.lineAt(s-r*1e3,St.ByHeight,o,0,0).from,i.lineAt(a+(1-r)*1e3,St.ByHeight,o,0,0).to);if(n){let{head:d}=n.range;if(d<c.from||d>c.to){let h=Math.min(this.editorHeight,this.pixelViewport.bottom-this.pixelViewport.top),g=i.lineAt(d,St.ByPos,o,0,0),m;n.y=="center"?m=(g.top+g.bottom)/2-h/2:n.y=="start"||n.y=="nearest"&&d<c.from?m=g.top:m=g.bottom-h,c=new mu(i.lineAt(m-1e3/2,St.ByHeight,o,0,0).from,i.lineAt(m+h+1e3/2,St.ByHeight,o,0,0).to)}}return c}mapViewport(e,n){let r=n.mapPos(e.from,-1),i=n.mapPos(e.to,1);return new mu(this.heightMap.lineAt(r,St.ByPos,this.heightOracle,0,0).from,this.heightMap.lineAt(i,St.ByPos,this.heightOracle,0,0).to)}viewportIsAppropriate({from:e,to:n},r=0){if(!this.inView)return!0;let{top:i}=this.heightMap.lineAt(e,St.ByPos,this.heightOracle,0,0),{bottom:o}=this.heightMap.lineAt(n,St.ByPos,this.heightOracle,0,0),{visibleTop:s,visibleBottom:a}=this;return(e==0||i<=s-Math.max(10,Math.min(-r,250)))&&(n==this.state.doc.length||o>=a+Math.max(10,Math.min(r,250)))&&i>s-2*1e3&&o<a+2*1e3}mapLineGaps(e,n){if(!e.length||n.empty)return e;let r=[];for(let i of e)n.touchesRange(i.from,i.to)||r.push(new A0(n.mapPos(i.from),n.mapPos(i.to),i.size,i.displaySize));return r}ensureLineGaps(e,n){let r=this.heightOracle.lineWrapping,i=r?1e4:2e3,o=i>>1,s=i<<1;if(this.defaultTextDirection!=At.LTR&&!r)return[];let a=[],c=(h,g,m,b)=>{if(g-h<o)return;let v=this.state.selection.main,w=[v.from];v.empty||w.push(v.to);for(let $ of w)if($>h&&$<g){c(h,$-10,m,b),c($+10,g,m,b);return}let y=Uz(e,$=>$.from>=m.from&&$.to<=m.to&&Math.abs($.from-h)<o&&Math.abs($.to-g)<o&&!w.some(A=>$.from<A&&$.to>A));if(!y){if(g<m.to&&n&&r&&n.visibleRanges.some(k=>k.from<=g&&k.to>=g)){let k=n.moveToLineBoundary(ie.cursor(g),!1,!0).head;k>h&&(g=k)}let $=this.gapSize(m,h,g,b),A=r||$<2e6?$:2e6;y=new A0(h,g,$,A)}a.push(y)},d=h=>{if(h.length<s||h.type!=$n.Text)return;let g=Wz(h.from,h.to,this.stateDeco);if(g.total<s)return;let m=this.scrollTarget?this.scrollTarget.range.head:null,b,v;if(r){let w=i/this.heightOracle.lineLength*this.heightOracle.lineHeight,y,$;if(m!=null){let A=xu(g,m),k=((this.visibleBottom-this.visibleTop)/2+w)/h.height;y=A-k,$=A+k}else y=(this.visibleTop-h.top-w)/h.height,$=(this.visibleBottom-h.top+w)/h.height;b=bu(g,y),v=bu(g,$)}else{let w=g.total*this.heightOracle.charWidth,y=i*this.heightOracle.charWidth,$=0;if(w>2e6)for(let L of e)L.from>=h.from&&L.from<h.to&&L.size!=L.displaySize&&L.from*this.heightOracle.charWidth+$<this.pixelViewport.left&&($=L.size-L.displaySize);let A=this.pixelViewport.left+$,k=this.pixelViewport.right+$,I,E;if(m!=null){let L=xu(g,m),D=((k-A)/2+y)/w;I=L-D,E=L+D}else I=(A-y)/w,E=(k+y)/w;b=bu(g,I),v=bu(g,E)}b>h.from&&c(h.from,b,h,g),v<h.to&&c(v,h.to,h,g)};for(let h of this.viewportLines)Array.isArray(h.type)?h.type.forEach(d):d(h);return a}gapSize(e,n,r,i){let o=xu(i,r)-xu(i,n);return this.heightOracle.lineWrapping?e.height*o:i.total*this.heightOracle.charWidth*o}updateLineGaps(e){A0.same(e,this.lineGaps)||(this.lineGaps=e,this.lineGapDeco=Fe.set(e.map(n=>n.draw(this,this.heightOracle.lineWrapping))))}computeVisibleRanges(e){let n=this.stateDeco;this.lineGaps.length&&(n=n.concat(this.lineGapDeco));let r=[];ut.spans(n,this.viewport.from,this.viewport.to,{span(o,s){r.push({from:o,to:s})},point(){}},20);let i=0;if(r.length!=this.visibleRanges.length)i=12;else for(let o=0;o<r.length&&!(i&8);o++){let s=this.visibleRanges[o],a=r[o];(s.from!=a.from||s.to!=a.to)&&(i|=4,e&&e.mapPos(s.from,-1)==a.from&&e.mapPos(s.to,1)==a.to||(i|=8))}return this.visibleRanges=r,i}lineBlockAt(e){return e>=this.viewport.from&&e<=this.viewport.to&&this.viewportLines.find(n=>n.from<=e&&n.to>=e)||Ja(this.heightMap.lineAt(e,St.ByPos,this.heightOracle,0,0),this.scaler)}lineBlockAtHeight(e){return e>=this.viewportLines[0].top&&e<=this.viewportLines[this.viewportLines.length-1].bottom&&this.viewportLines.find(n=>n.top<=e&&n.bottom>=e)||Ja(this.heightMap.lineAt(this.scaler.fromDOM(e),St.ByHeight,this.heightOracle,0,0),this.scaler)}scrollAnchorAt(e){let n=this.lineBlockAtHeight(e+8);return n.from>=this.viewport.from||this.viewportLines[0].top-e>200?n:this.viewportLines[0]}elementAtHeight(e){return Ja(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}}let mu=class{constructor(e,n){this.from=e,this.to=n}};function Wz(t,e,n){let r=[],i=t,o=0;return ut.spans(n,t,e,{span(){},point(s,a){s>i&&(r.push({from:i,to:s}),o+=s-i),i=a}},20),i<e&&(r.push({from:i,to:e}),o+=e-i),{total:o,ranges:r}}function bu({total:t,ranges:e},n){if(n<=0)return e[0].from;if(n>=1)return e[e.length-1].to;let r=Math.floor(t*n);for(let i=0;;i++){let{from:o,to:s}=e[i],a=s-o;if(r<=a)return o+r;r-=a}}function xu(t,e){let n=0;for(let{from:r,to:i}of t.ranges){if(e<=i){n+=e-r;break}n+=i-r}return n/t.total}function Uz(t,e){for(let n of t)if(e(n))return n}const K5={toDOM(t){return t},fromDOM(t){return t},scale:1,eq(t){return t==this}};class im{constructor(e,n,r){let i=0,o=0,s=0;this.viewports=r.map(({from:a,to:c})=>{let d=n.lineAt(a,St.ByPos,e,0,0).top,h=n.lineAt(c,St.ByPos,e,0,0).bottom;return i+=h-d,{from:a,to:c,top:d,bottom:h,domTop:0,domBottom:0}}),this.scale=(7e6-i)/(n.height-i);for(let a of this.viewports)a.domTop=s+(a.top-o)*this.scale,s=a.domBottom=a.domTop+(a.bottom-a.top),o=a.bottom}toDOM(e){for(let n=0,r=0,i=0;;n++){let o=n<this.viewports.length?this.viewports[n]:null;if(!o||e<o.top)return i+(e-r)*this.scale;if(e<=o.bottom)return o.domTop+(e-o.top);r=o.bottom,i=o.domBottom}}fromDOM(e){for(let n=0,r=0,i=0;;n++){let o=n<this.viewports.length?this.viewports[n]:null;if(!o||e<o.domTop)return r+(e-i)/this.scale;if(e<=o.domBottom)return o.top+(e-o.domTop);r=o.bottom,i=o.domBottom}}eq(e){return e instanceof im?this.scale==e.scale&&this.viewports.length==e.viewports.length&&this.viewports.every((n,r)=>n.from==e.viewports[r].from&&n.to==e.viewports[r].to):!1}}function Ja(t,e){if(e.scale==1)return t;let n=e.toDOM(t.top),r=e.toDOM(t.bottom);return new Wr(t.from,t.length,n,r-n,Array.isArray(t._content)?t._content.map(i=>Ja(i,e)):t._content)}const vu=Ie.define({combine:t=>t.join(" ")}),tg=Ie.define({combine:t=>t.indexOf(!0)>-1}),ng=oo.newName(),RC=oo.newName(),TC=oo.newName(),kC={"&light":"."+RC,"&dark":"."+TC};function rg(t,e,n){return new oo(e,{finish(r){return/&/.test(r)?r.replace(/&\w*/,i=>{if(i=="&")return t;if(!n||!n[i])throw new RangeError(`Unsupported selector: ${i}`);return n[i]}):t+" "+r}})}const qz=rg("."+ng,{"&":{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,overflowAnchor:"none"},".cm-content":{margin:0,flexGrow:2,flexShrink:0,display:"block",whiteSpace:"pre",wordWrap:"normal",boxSizing:"border-box",minHeight:"100%",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:"#ddd"},".cm-dropCursor":{position:"absolute"},"&.cm-focused > .cm-scroller > .cm-cursorLayer .cm-cursor":{display:"block"},".cm-iso":{unicodeBidi:"isolate"},".cm-announced":{position:"fixed",top:"-10000px"},"@media print":{".cm-announced":{display:"none"}},"&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,zIndex:300},"&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":{backgroundImage:"radial-gradient(circle at 50% 55%, #aaa 20%, transparent 5%)",backgroundPosition:"center"},".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"}},kC),Kz={childList:!0,characterData:!0,subtree:!0,attributes:!0,characterDataOldValue:!0},R0=ke.ie&&ke.ie_version<=11;class Gz{constructor(e){this.view=e,this.active=!1,this.editContext=null,this.selectionRange=new IH,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.intersecting=!1,this.gapIntersection=null,this.gaps=[],this.printQuery=null,this.parentCheck=-1,this.dom=e.contentDOM,this.observer=new MutationObserver(n=>{for(let r of n)this.queue.push(r);(ke.ie&&ke.ie_version<=11||ke.ios&&e.composing)&&n.some(r=>r.type=="childList"&&r.removedNodes.length||r.type=="characterData"&&r.oldValue.length>r.target.nodeValue.length)?this.flushSoon():this.flush()}),window.EditContext&&e.constructor.EDIT_CONTEXT!==!1&&!(ke.chrome&&ke.chrome_version<126)&&(this.editContext=new Xz(e),e.state.facet(yi)&&(e.contentDOM.editContext=this.editContext.editContext)),R0&&(this.onCharData=n=>{this.queue.push({target:n.target,type:"characterData",oldValue:n.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),window.matchMedia&&(this.printQuery=window.matchMedia("print")),typeof ResizeObserver=="function"&&(this.resizeScroll=new ResizeObserver(()=>{var n;((n=this.view.docView)===null||n===void 0?void 0:n.lastUpdate)<Date.now()-75&&this.onResize()}),this.resizeScroll.observe(e.scrollDOM)),this.addWindowListeners(this.win=e.win),this.start(),typeof IntersectionObserver=="function"&&(this.intersection=new IntersectionObserver(n=>{this.parentCheck<0&&(this.parentCheck=setTimeout(this.listenForScroll.bind(this),1e3)),n.length>0&&n[n.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(n=>{n.length>0&&n[n.length-1].intersectionRatio>0&&this.onScrollChanged(document.createEvent("Event"))},{})),this.listenForScroll(),this.readSelectionRange()}onScrollChanged(e){this.view.inputState.runHandlers("scroll",e),this.intersecting&&this.view.measure()}onScroll(e){this.intersecting&&this.flush(!1),this.editContext&&this.view.requestMeasure(this.editContext.measureReq),this.onScrollChanged(e)}onResize(){this.resizeTimeout<0&&(this.resizeTimeout=setTimeout(()=>{this.resizeTimeout=-1,this.view.requestMeasure()},50))}onPrint(e){(e.type=="change"||!e.type)&&!e.matches||(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((n,r)=>n!=e[r]))){this.gapIntersection.disconnect();for(let n of e)this.gapIntersection.observe(n);this.gaps=e}}onSelectionChange(e){let n=this.selectionChanged;if(!this.readSelectionRange()||this.delayedAndroidKey)return;let{view:r}=this,i=this.selectionRange;if(r.state.facet(yi)?r.root.activeElement!=this.dom:!Nu(this.dom,i))return;let o=i.anchorNode&&r.docView.nearest(i.anchorNode);if(o&&o.ignoreEvent(e)){n||(this.selectionChanged=!1);return}(ke.ie&&ke.ie_version<=11||ke.android&&ke.chrome)&&!r.state.selection.main.empty&&i.focusNode&&ol(i.focusNode,i.focusOffset,i.anchorNode,i.anchorOffset)?this.flushSoon():this.flush(!1)}readSelectionRange(){let{view:e}=this,n=wl(e.root);if(!n)return!1;let r=ke.safari&&e.root.nodeType==11&&e.root.activeElement==this.dom&&Yz(this.view,n)||n;if(!r||this.selectionRange.eq(r))return!1;let i=Nu(this.dom,r);return i&&!this.selectionChanged&&e.inputState.lastFocusTime>Date.now()-200&&e.inputState.lastTouchTime<Date.now()-300&&DH(this.dom,r)?(this.view.inputState.lastFocusTime=0,e.docView.updateSelection(),!1):(this.selectionRange.setRange(r),i&&(this.selectionChanged=!0),!0)}setSelectionRange(e,n){this.selectionRange.set(e.node,e.offset,n.node,n.offset),this.selectionChanged=!1}clearSelectionRange(){this.selectionRange.set(null,0,null,0)}listenForScroll(){this.parentCheck=-1;let e=0,n=null;for(let r=this.dom;r;)if(r.nodeType==1)!n&&e<this.scrollTargets.length&&this.scrollTargets[e]==r?e++:n||(n=this.scrollTargets.slice(0,e)),n&&n.push(r),r=r.assignedSlot||r.parentNode;else if(r.nodeType==11)r=r.host;else break;if(e<this.scrollTargets.length&&!n&&(n=this.scrollTargets.slice(0,e)),n){for(let r of this.scrollTargets)r.removeEventListener("scroll",this.onScroll);for(let r of this.scrollTargets=n)r.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,Kz),R0&&this.dom.addEventListener("DOMCharacterDataModified",this.onCharData),this.active=!0)}stop(){this.active&&(this.active=!1,this.observer.disconnect(),R0&&this.dom.removeEventListener("DOMCharacterDataModified",this.onCharData))}clear(){this.processRecords(),this.queue.length=0,this.selectionChanged=!1}delayAndroidKey(e,n){var r;if(!this.delayedAndroidKey){let i=()=>{let o=this.delayedAndroidKey;o&&(this.clearDelayedAndroidKey(),this.view.inputState.lastKeyCode=o.keyCode,this.view.inputState.lastKeyTime=Date.now(),!this.flush()&&o.force&&Bs(this.dom,o.key,o.keyCode))};this.flushingAndroidKey=this.view.win.requestAnimationFrame(i)}(!this.delayedAndroidKey||e=="Enter")&&(this.delayedAndroidKey={key:e,keyCode:n,force:this.lastChange<Date.now()-50||!!(!((r=this.delayedAndroidKey)===null||r===void 0)&&r.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 n=-1,r=-1,i=!1;for(let o of e){let s=this.readMutation(o);s&&(s.typeOver&&(i=!0),n==-1?{from:n,to:r}=s:(n=Math.min(s.from,n),r=Math.max(s.to,r)))}return{from:n,to:r,typeOver:i}}readChange(){let{from:e,to:n,typeOver:r}=this.processRecords(),i=this.selectionChanged&&Nu(this.dom,this.selectionRange);if(e<0&&!i)return null;e>-1&&(this.lastChange=Date.now()),this.view.inputState.lastFocusTime=0,this.selectionChanged=!1;let o=new hz(this.view,e,n,r);return this.view.docView.domChanged={newSel:o.newSel?o.newSel.main:null},o}flush(e=!0){if(this.delayedFlush>=0||this.delayedAndroidKey)return!1;e&&this.readSelectionRange();let n=this.readChange();if(!n)return this.view.requestMeasure(),!1;let r=this.view.state,i=mC(this.view,n);return this.view.state==r&&(n.domChanged||n.newSel&&!n.newSel.main.eq(this.view.state.selection.main))&&this.view.update([]),i}readMutation(e){let n=this.view.docView.nearest(e.target);if(!n||n.ignoreMutation(e))return null;if(n.markDirty(e.type=="attributes"),e.type=="attributes"&&(n.flags|=4),e.type=="childList"){let r=G5(n,e.previousSibling||e.target.previousSibling,-1),i=G5(n,e.nextSibling||e.target.nextSibling,1);return{from:r?n.posAfter(r):n.posAtStart,to:i?n.posBefore(i):n.posAtEnd,typeOver:!1}}else return e.type=="characterData"?{from:n.posAtStart,to:n.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),this.printQuery?this.printQuery.addEventListener?this.printQuery.addEventListener("change",this.onPrint):this.printQuery.addListener(this.onPrint):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),this.printQuery?this.printQuery.removeEventListener?this.printQuery.removeEventListener("change",this.onPrint):this.printQuery.removeListener(this.onPrint):e.removeEventListener("beforeprint",this.onPrint),e.document.removeEventListener("selectionchange",this.onSelectionChange)}update(e){this.editContext&&(this.editContext.update(e),e.startState.facet(yi)!=e.state.facet(yi)&&(e.view.contentDOM.editContext=e.state.facet(yi)?this.editContext.editContext:null))}destroy(){var e,n,r;this.stop(),(e=this.intersection)===null||e===void 0||e.disconnect(),(n=this.gapIntersection)===null||n===void 0||n.disconnect(),(r=this.resizeScroll)===null||r===void 0||r.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),this.editContext&&(this.view.contentDOM.editContext=null,this.editContext.destroy())}}function G5(t,e,n){for(;e;){let r=wt.get(e);if(r&&r.parent==t)return r;let i=e.parentNode;e=i!=t.dom?i:n>0?e.nextSibling:e.previousSibling}return null}function Y5(t,e){let n=e.startContainer,r=e.startOffset,i=e.endContainer,o=e.endOffset,s=t.docView.domAtPos(t.state.selection.main.anchor);return ol(s.node,s.offset,i,o)&&([n,r,i,o]=[i,o,n,r]),{anchorNode:n,anchorOffset:r,focusNode:i,focusOffset:o}}function Yz(t,e){if(e.getComposedRanges){let i=e.getComposedRanges(t.root)[0];if(i)return Y5(t,i)}let n=null;function r(i){i.preventDefault(),i.stopImmediatePropagation(),n=i.getTargetRanges()[0]}return t.contentDOM.addEventListener("beforeinput",r,!0),t.dom.ownerDocument.execCommand("indent"),t.contentDOM.removeEventListener("beforeinput",r,!0),n?Y5(t,n):null}class Xz{constructor(e){this.from=0,this.to=0,this.pendingContextChange=null,this.handlers=Object.create(null),this.composing=null,this.resetRange(e.state);let n=this.editContext=new window.EditContext({text:e.state.doc.sliceString(this.from,this.to),selectionStart:this.toContextPos(Math.max(this.from,Math.min(this.to,e.state.selection.main.anchor))),selectionEnd:this.toContextPos(e.state.selection.main.head)});this.handlers.textupdate=r=>{let i=e.state.selection.main,{anchor:o,head:s}=i,a=this.toEditorPos(r.updateRangeStart),c=this.toEditorPos(r.updateRangeEnd);e.inputState.composing>=0&&!this.composing&&(this.composing={contextBase:r.updateRangeStart,editorBase:a,drifted:!1});let d={from:a,to:c,insert:dt.of(r.text.split(`
62
62
  `))};if(d.from==this.from&&o<this.from?d.from=o:d.to==this.to&&o>this.to&&(d.to=o),d.from==d.to&&!d.insert.length){let h=ie.single(this.toEditorPos(r.selectionStart),this.toEditorPos(r.selectionEnd));h.main.eq(i)||e.dispatch({selection:h,userEvent:"select"});return}if((ke.mac||ke.android)&&d.from==s-1&&/^\. ?$/.test(r.text)&&e.contentDOM.getAttribute("autocorrect")=="off"&&(d={from:a,to:c,insert:dt.of([r.text.replace("."," ")])}),this.pendingContextChange=d,!e.state.readOnly){let h=this.to-this.from+(d.to-d.from+d.insert.length);nm(e,d,ie.single(this.toEditorPos(r.selectionStart,h),this.toEditorPos(r.selectionEnd,h)))}this.pendingContextChange&&(this.revertPending(e.state),this.setSelection(e.state))},this.handlers.characterboundsupdate=r=>{let i=[],o=null;for(let s=this.toEditorPos(r.rangeStart),a=this.toEditorPos(r.rangeEnd);s<a;s++){let c=e.coordsForChar(s);o=c&&new DOMRect(c.left,c.top,c.right-c.left,c.bottom-c.top)||o||new DOMRect,i.push(o)}n.updateCharacterBounds(r.rangeStart,i)},this.handlers.textformatupdate=r=>{let i=[];for(let o of r.getTextFormats()){let s=o.underlineStyle,a=o.underlineThickness;if(s!="None"&&a!="None"){let c=this.toEditorPos(o.rangeStart),d=this.toEditorPos(o.rangeEnd);if(c<d){let h=`text-decoration: underline ${s=="Dashed"?"dashed ":s=="Squiggle"?"wavy ":""}${a=="Thin"?1:2}px`;i.push(Fe.mark({attributes:{style:h}}).range(c,d))}}}e.dispatch({effects:cC.of(Fe.set(i))})},this.handlers.compositionstart=()=>{e.inputState.composing<0&&(e.inputState.composing=0,e.inputState.compositionFirstChange=!0)},this.handlers.compositionend=()=>{if(e.inputState.composing=-1,e.inputState.compositionFirstChange=null,this.composing){let{drifted:r}=this.composing;this.composing=null,r&&this.reset(e.state)}};for(let r in this.handlers)n.addEventListener(r,this.handlers[r]);this.measureReq={read:r=>{this.editContext.updateControlBounds(r.contentDOM.getBoundingClientRect());let i=wl(r.root);i&&i.rangeCount&&this.editContext.updateSelectionBounds(i.getRangeAt(0).getBoundingClientRect())}}}applyEdits(e){let n=0,r=!1,i=this.pendingContextChange;return e.changes.iterChanges((o,s,a,c,d)=>{if(r)return;let h=d.length-(s-o);if(i&&s>=i.to)if(i.from==o&&i.to==s&&i.insert.eq(d)){i=this.pendingContextChange=null,n+=h,this.to+=h;return}else i=null,this.revertPending(e.state);if(o+=n,s+=n,s<=this.from)this.from+=h,this.to+=h;else if(o<this.to){if(o<this.from||s>this.to||this.to-this.from+d.length>3e4){r=!0;return}this.editContext.updateText(this.toContextPos(o),this.toContextPos(s),d.toString()),this.to+=h}n+=h}),i&&!r&&this.revertPending(e.state),!r}update(e){let n=this.pendingContextChange;this.composing&&(this.composing.drifted||e.transactions.some(r=>!r.isUserEvent("input.type")&&r.changes.touchesRange(this.from,this.to)))?(this.composing.drifted=!0,this.composing.editorBase=e.changes.mapPos(this.composing.editorBase)):!this.applyEdits(e)||!this.rangeIsValid(e.state)?(this.pendingContextChange=null,this.reset(e.state)):(e.docChanged||e.selectionSet||n)&&this.setSelection(e.state),(e.geometryChanged||e.docChanged||e.selectionSet)&&e.view.requestMeasure(this.measureReq)}resetRange(e){let{head:n}=e.selection.main;this.from=Math.max(0,n-1e4),this.to=Math.min(e.doc.length,n+1e4)}reset(e){this.resetRange(e),this.editContext.updateText(0,this.editContext.text.length,e.doc.sliceString(this.from,this.to)),this.setSelection(e)}revertPending(e){let n=this.pendingContextChange;this.pendingContextChange=null,this.editContext.updateText(this.toContextPos(n.from),this.toContextPos(n.from+n.insert.length),e.doc.sliceString(n.from,n.to))}setSelection(e){let{main:n}=e.selection,r=this.toContextPos(Math.max(this.from,Math.min(this.to,n.anchor))),i=this.toContextPos(n.head);(this.editContext.selectionStart!=r||this.editContext.selectionEnd!=i)&&this.editContext.updateSelection(r,i)}rangeIsValid(e){let{head:n}=e.selection.main;return!(this.from>0&&n-this.from<500||this.to<e.doc.length&&this.to-n<500||this.to-this.from>1e4*3)}toEditorPos(e,n=this.to-this.from){e=Math.min(e,n);let r=this.composing;return r&&r.drifted?r.editorBase+(e-r.contextBase):e+this.from}toContextPos(e){let n=this.composing;return n&&n.drifted?n.contextBase+(e-n.editorBase):e-this.from}destroy(){for(let e in this.handlers)this.editContext.removeEventListener(e,this.handlers[e])}}class Te{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}constructor(e={}){var n;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.className="cm-announced",this.announceDOM.setAttribute("aria-live","polite"),this.dom=document.createElement("div"),this.dom.appendChild(this.announceDOM),this.dom.appendChild(this.scrollDOM),e.parent&&e.parent.appendChild(this.dom);let{dispatch:r}=e;this.dispatchTransactions=e.dispatchTransactions||r&&(i=>i.forEach(o=>r(o,this)))||(i=>this.update(i)),this.dispatch=this.dispatch.bind(this),this._root=e.root||OH(e.parent)||document,this.viewState=new q5(e.state||lt.create(e)),e.scrollTo&&e.scrollTo.is(fu)&&(this.viewState.scrollTarget=e.scrollTo.value.clip(this.viewState.state)),this.plugins=this.state.facet(Xa).map(i=>new C0(i));for(let i of this.plugins)i.update(this);this.observer=new Gz(this),this.inputState=new bz(this),this.inputState.ensureHandlers(this.plugins),this.docView=new T5(this),this.mountStyles(),this.updateAttrs(),this.updateState=0,this.requestMeasure(),!((n=document.fonts)===null||n===void 0)&&n.ready&&document.fonts.ready.then(()=>this.requestMeasure())}dispatch(...e){let n=e.length==1&&e[0]instanceof Gt?e:e.length==1&&Array.isArray(e[0])?e[0]:[this.state.update(...e)];this.dispatchTransactions(n,this)}update(e){if(this.updateState!=0)throw new Error("Calls to EditorView.update are not allowed while an update is in progress");let n=!1,r=!1,i,o=this.state;for(let m of e){if(m.startState!=o)throw new RangeError("Trying to update state with a transaction that doesn't start from the previous state.");o=m.state}if(this.destroyed){this.viewState.state=o;return}let s=this.hasFocus,a=0,c=null;e.some(m=>m.annotation(CC))?(this.inputState.notifiedFocused=s,a=1):s!=this.inputState.notifiedFocused&&(this.inputState.notifiedFocused=s,c=$C(o,s),c||(a=1));let d=this.observer.delayedAndroidKey,h=null;if(d?(this.observer.clearDelayedAndroidKey(),h=this.observer.readChange(),(h&&!this.state.doc.eq(o.doc)||!this.state.selection.eq(o.selection))&&(h=null)):this.observer.clear(),o.facet(lt.phrases)!=this.state.facet(lt.phrases))return this.setState(o);i=dd.create(this,o,e),i.flags|=a;let g=this.viewState.scrollTarget;try{this.updateState=2;for(let m of e){if(g&&(g=g.map(m.changes)),m.scrollIntoView){let{main:b}=m.state.selection;g=new Fs(b.empty?b:ie.cursor(b.head,b.head>b.anchor?-1:1))}for(let b of m.effects)b.is(fu)&&(g=b.value.clip(this.state))}this.viewState.update(i,g),this.bidiCache=fd.update(this.bidiCache,i.changes),i.empty||(this.updatePlugins(i),this.inputState.update(i)),n=this.docView.update(i),this.state.facet(Qa)!=this.styleModules&&this.mountStyles(),r=this.updateAttrs(),this.showAnnouncements(e),this.docView.updateSelection(n,e.some(m=>m.isUserEvent("select.pointer")))}finally{this.updateState=0}if(i.startState.facet(vu)!=i.state.facet(vu)&&(this.viewState.mustMeasureContent=!0),(n||r||g||this.viewState.mustEnforceCursorAssoc||this.viewState.mustMeasureContent)&&this.requestMeasure(),n&&this.docViewUpdate(),!i.empty)for(let m of this.state.facet(Q1))try{m(i)}catch(b){Dn(this.state,b,"update listener")}(c||h)&&Promise.resolve().then(()=>{c&&this.state==c.startState&&this.dispatch(c),h&&!mC(this,h)&&d.force&&Bs(this.contentDOM,d.key,d.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 n=this.hasFocus;try{for(let r of this.plugins)r.destroy(this);this.viewState=new q5(e),this.plugins=e.facet(Xa).map(r=>new C0(r)),this.pluginMap.clear();for(let r of this.plugins)r.update(this);this.docView.destroy(),this.docView=new T5(this),this.inputState.ensureHandlers(this.plugins),this.mountStyles(),this.updateAttrs(),this.bidiCache=[]}finally{this.updateState=0}n&&this.focus(),this.requestMeasure()}updatePlugins(e){let n=e.startState.facet(Xa),r=e.state.facet(Xa);if(n!=r){let i=[];for(let o of r){let s=n.indexOf(o);if(s<0)i.push(new C0(o));else{let a=this.plugins[s];a.mustUpdate=e,i.push(a)}}for(let o of this.plugins)o.mustUpdate!=e&&o.destroy(this);this.plugins=i,this.pluginMap.clear()}else for(let i of this.plugins)i.mustUpdate=e;for(let i=0;i<this.plugins.length;i++)this.plugins[i].update(this);n!=r&&this.inputState.ensureHandlers(this.plugins)}docViewUpdate(){for(let e of this.plugins){let n=e.value;if(n&&n.docViewUpdate)try{n.docViewUpdate(this)}catch(r){Dn(this.state,r,"doc view update listener")}}}measure(e=!0){if(this.destroyed)return;if(this.measureScheduled>-1&&this.win.cancelAnimationFrame(this.measureScheduled),this.observer.delayedAndroidKey){this.measureScheduled=-1,this.requestMeasure();return}this.measureScheduled=0,e&&this.observer.forceFlush();let n=null,r=this.scrollDOM,i=r.scrollTop*this.scaleY,{scrollAnchorPos:o,scrollAnchorHeight:s}=this.viewState;Math.abs(i-this.viewState.scrollTop)>1&&(s=-1),this.viewState.scrollAnchorHeight=-1;try{for(let a=0;;a++){if(s<0)if(N6(r))o=-1,s=this.viewState.heightMap.height;else{let b=this.viewState.scrollAnchorAt(i);o=b.from,s=b.top}this.updateState=1;let c=this.viewState.measure(this);if(!c&&!this.measureRequests.length&&this.viewState.scrollTarget==null)break;if(a>5){console.warn(this.measureRequests.length?"Measure loop restarted more than 5 times":"Viewport failed to stabilize");break}let d=[];c&4||([this.measureRequests,d]=[d,this.measureRequests]);let h=d.map(b=>{try{return b.read(this)}catch(v){return Dn(this.state,v),X5}}),g=dd.create(this,this.state,[]),m=!1;g.flags|=c,n?n.flags|=c:n=g,this.updateState=2,g.empty||(this.updatePlugins(g),this.inputState.update(g),this.updateAttrs(),m=this.docView.update(g),m&&this.docViewUpdate());for(let b=0;b<d.length;b++)if(h[b]!=X5)try{let v=d[b];v.write&&v.write(h[b],this)}catch(v){Dn(this.state,v)}if(m&&this.docView.updateSelection(!0),!g.viewportChanged&&this.measureRequests.length==0){if(this.viewState.editorHeight)if(this.viewState.scrollTarget){this.docView.scrollIntoView(this.viewState.scrollTarget),this.viewState.scrollTarget=null,s=-1;continue}else{let v=(o<0?this.viewState.heightMap.height:this.viewState.lineBlockAt(o).top)-s;if(v>1||v<-1){i=i+v,r.scrollTop=i/this.scaleY,s=-1;continue}}break}}}finally{this.updateState=0,this.measureScheduled=-1}if(n&&!n.empty)for(let a of this.state.facet(Q1))a(n)}get themeClasses(){return ng+" "+(this.state.facet(tg)?TC:RC)+" "+this.state.facet(vu)}updateAttrs(){let e=Q5(this,uC,{class:"cm-editor"+(this.hasFocus?" cm-focused ":" ")+this.themeClasses}),n={spellcheck:"false",autocorrect:"off",autocapitalize:"off",writingsuggestions:"false",translate:"no",contenteditable:this.state.facet(yi)?"true":"false",class:"cm-content",style:`${ke.tabSize}: ${this.state.tabSize}`,role:"textbox","aria-multiline":"true"};this.state.readOnly&&(n["aria-readonly"]="true"),Q5(this,Jp,n);let r=this.observer.ignore(()=>{let i=q1(this.contentDOM,this.contentAttrs,n),o=q1(this.dom,this.editorAttrs,e);return i||o});return this.editorAttrs=e,this.contentAttrs=n,r}showAnnouncements(e){let n=!0;for(let r of e)for(let i of r.effects)if(i.is(Te.announce)){n&&(this.announceDOM.textContent=""),n=!1;let o=this.announceDOM.appendChild(document.createElement("div"));o.textContent=i.value}}mountStyles(){this.styleModules=this.state.facet(Qa);let e=this.state.facet(Te.cspNonce);oo.mount(this.root,this.styleModules.concat(qz).reverse(),e?{nonce:e}:void 0)}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 n=0;n<this.measureRequests.length;n++)if(this.measureRequests[n].key===e.key){this.measureRequests[n]=e;return}}this.measureRequests.push(e)}}plugin(e){let n=this.pluginMap.get(e);return(n===void 0||n&&n.spec!=e)&&this.pluginMap.set(e,n=this.plugins.find(r=>r.spec==e)||null),n&&n.update(this).value}get documentTop(){return this.contentDOM.getBoundingClientRect().top+this.viewState.paddingTop}get documentPadding(){return{top:this.viewState.paddingTop,bottom:this.viewState.paddingBottom}}get scaleX(){return this.viewState.scaleX}get scaleY(){return this.viewState.scaleY}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,n,r){return S0(this,e,O5(this,e,n,r))}moveByGroup(e,n){return S0(this,e,O5(this,e,n,r=>lz(this,e.head,r)))}visualLineSide(e,n){let r=this.bidiSpans(e),i=this.textDirectionAt(e.from),o=r[n?r.length-1:0];return ie.cursor(o.side(n,i)+e.from,o.forward(!n,i)?1:-1)}moveToLineBoundary(e,n,r=!0){return az(this,e,n,r)}moveVertically(e,n,r){return S0(this,e,cz(this,e,n,r))}domAtPos(e){return this.docView.domAtPos(e)}posAtDOM(e,n=0){return this.docView.posFromDOM(e,n)}posAtCoords(e,n=!0){return this.readMeasured(),pC(this,e,n)}coordsAtPos(e,n=1){this.readMeasured();let r=this.docView.coordsAt(e,n);if(!r||r.left==r.right)return r;let i=this.state.doc.lineAt(e),o=this.bidiSpans(i),s=o[Qi.find(o,e-i.from,-1,n)];return Wl(r,s.dir==At.LTR==n>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(sC)||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>Qz)return Z6(e.length);let n=this.textDirectionAt(e.from),r;for(let o of this.bidiCache)if(o.from==e.from&&o.dir==n&&(o.fresh||Q6(o.isolates,r=R5(this,e))))return o.order;r||(r=R5(this,e));let i=UH(e.text,n,r);return this.bidiCache.push(new fd(e.from,e.to,n,r,!0,i)),i}get hasFocus(){var e;return(this.dom.ownerDocument.hasFocus()||ke.safari&&((e=this.inputState)===null||e===void 0?void 0:e.lastContextMenu)>Date.now()-3e4)&&this.root.activeElement==this.contentDOM}focus(){this.observer.ignore(()=>{j6(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(){this.root.activeElement==this.contentDOM&&this.contentDOM.blur();for(let e of this.plugins)e.destroy(this);this.plugins=[],this.inputState.destroy(),this.docView.destroy(),this.dom.remove(),this.observer.destroy(),this.measureScheduled>-1&&this.win.cancelAnimationFrame(this.measureScheduled),this.destroyed=!0}static scrollIntoView(e,n={}){return fu.of(new Fs(typeof e=="number"?ie.cursor(e):e,n.y,n.x,n.yMargin,n.xMargin))}scrollSnapshot(){let{scrollTop:e,scrollLeft:n}=this.scrollDOM,r=this.viewState.scrollAnchorAt(e);return fu.of(new Fs(ie.cursor(r.from),"start","start",r.top-e,n,!0))}setTabFocusMode(e){e==null?this.inputState.tabFocusMode=this.inputState.tabFocusMode<0?0:-1:typeof e=="boolean"?this.inputState.tabFocusMode=e?0:-1:this.inputState.tabFocusMode!=0&&(this.inputState.tabFocusMode=Date.now()+e)}static domEventHandlers(e){return Pt.define(()=>({}),{eventHandlers:e})}static domEventObservers(e){return Pt.define(()=>({}),{eventObservers:e})}static theme(e,n){let r=oo.newName(),i=[vu.of(r),Qa.of(rg(`.${r}`,e))];return n&&n.dark&&i.push(tg.of(!0)),i}static baseTheme(e){return ts.lowest(Qa.of(rg("."+ng,e,kC)))}static findFromDOM(e){var n;let r=e.querySelector(".cm-content"),i=r&&wt.get(r)||wt.get(e);return((n=i?.rootView)===null||n===void 0?void 0:n.view)||null}}Te.styleModule=Qa;Te.inputHandler=iC;Te.clipboardInputFilter=Qp;Te.clipboardOutputFilter=Zp;Te.scrollHandler=lC;Te.focusChangeEffect=oC;Te.perLineTextDirection=sC;Te.exceptionSink=rC;Te.updateListener=Q1;Te.editable=yi;Te.mouseSelectionStyle=nC;Te.dragMovesSelection=tC;Te.clickAddsSelectionRange=eC;Te.decorations=yl;Te.outerDecorations=dC;Te.atomicRanges=em;Te.bidiIsolatedRanges=hC;Te.scrollMargins=fC;Te.darkTheme=tg;Te.cspNonce=Ie.define({combine:t=>t.length?t[0]:""});Te.contentAttributes=Jp;Te.editorAttributes=uC;Te.lineWrapping=Te.contentAttributes.of({class:"cm-lineWrapping"});Te.announce=Xe.define();const Qz=4096,X5={};class fd{constructor(e,n,r,i,o,s){this.from=e,this.to=n,this.dir=r,this.isolates=i,this.fresh=o,this.order=s}static update(e,n){if(n.empty&&!e.some(o=>o.fresh))return e;let r=[],i=e.length?e[e.length-1].dir:At.LTR;for(let o=Math.max(0,e.length-10);o<e.length;o++){let s=e[o];s.dir==i&&!n.touchesRange(s.from,s.to)&&r.push(new fd(n.mapPos(s.from,1),n.mapPos(s.to,-1),s.dir,s.isolates,!1,s.order))}return r}}function Q5(t,e,n){for(let r=t.state.facet(e),i=r.length-1;i>=0;i--){let o=r[i],s=typeof o=="function"?o(t):o;s&&U1(s,n)}return n}const Zz=ke.mac?"mac":ke.windows?"win":ke.linux?"linux":"key";function Jz(t,e){const n=t.split(/-(?!$)/);let r=n[n.length-1];r=="Space"&&(r=" ");let i,o,s,a;for(let c=0;c<n.length-1;++c){const d=n[c];if(/^(cmd|meta|m)$/i.test(d))a=!0;else if(/^a(lt)?$/i.test(d))i=!0;else if(/^(c|ctrl|control)$/i.test(d))o=!0;else if(/^s(hift)?$/i.test(d))s=!0;else if(/^mod$/i.test(d))e=="mac"?a=!0:o=!0;else throw new Error("Unrecognized modifier name: "+d)}return i&&(r="Alt-"+r),o&&(r="Ctrl-"+r),a&&(r="Meta-"+r),s&&(r="Shift-"+r),r}function wu(t,e,n){return e.altKey&&(t="Alt-"+t),e.ctrlKey&&(t="Ctrl-"+t),e.metaKey&&(t="Meta-"+t),n!==!1&&e.shiftKey&&(t="Shift-"+t),t}const eW=ts.default(Te.domEventHandlers({keydown(t,e){return MC(EC(e.state),t,e,"editor")}})),uh=Ie.define({enables:eW}),Z5=new WeakMap;function EC(t){let e=t.facet(uh),n=Z5.get(e);return n||Z5.set(e,n=rW(e.reduce((r,i)=>r.concat(i),[]))),n}function tW(t,e,n){return MC(EC(t.state),e,t,n)}let Ki=null;const nW=4e3;function rW(t,e=Zz){let n=Object.create(null),r=Object.create(null),i=(s,a)=>{let c=r[s];if(c==null)r[s]=a;else if(c!=a)throw new Error("Key binding "+s+" is used both as a regular binding and as a multi-stroke prefix")},o=(s,a,c,d,h)=>{var g,m;let b=n[s]||(n[s]=Object.create(null)),v=a.split(/ (?!$)/).map($=>Jz($,e));for(let $=1;$<v.length;$++){let A=v.slice(0,$).join(" ");i(A,!0),b[A]||(b[A]={preventDefault:!0,stopPropagation:!1,run:[k=>{let I=Ki={view:k,prefix:A,scope:s};return setTimeout(()=>{Ki==I&&(Ki=null)},nW),!0}]})}let w=v.join(" ");i(w,!1);let y=b[w]||(b[w]={preventDefault:!1,stopPropagation:!1,run:((m=(g=b._any)===null||g===void 0?void 0:g.run)===null||m===void 0?void 0:m.slice())||[]});c&&y.run.push(c),d&&(y.preventDefault=!0),h&&(y.stopPropagation=!0)};for(let s of t){let a=s.scope?s.scope.split(" "):["editor"];if(s.any)for(let d of a){let h=n[d]||(n[d]=Object.create(null));h._any||(h._any={preventDefault:!1,stopPropagation:!1,run:[]});let{any:g}=s;for(let m in h)h[m].run.push(b=>g(b,ig))}let c=s[e]||s.key;if(c)for(let d of a)o(d,c,s.run,s.preventDefault,s.stopPropagation),s.shift&&o(d,"Shift-"+c,s.shift,s.preventDefault,s.stopPropagation)}return n}let ig=null;function MC(t,e,n,r){ig=e;let i=TH(e),o=Mn(i,0),s=zr(o)==i.length&&i!=" ",a="",c=!1,d=!1,h=!1;Ki&&Ki.view==n&&Ki.scope==r&&(a=Ki.prefix+" ",xC.indexOf(e.keyCode)<0&&(d=!0,Ki=null));let g=new Set,m=y=>{if(y){for(let $ of y.run)if(!g.has($)&&(g.add($),$(n)))return y.stopPropagation&&(h=!0),!0;y.preventDefault&&(y.stopPropagation&&(h=!0),d=!0)}return!1},b=t[r],v,w;return b&&(m(b[a+wu(i,e,!s)])?c=!0:s&&(e.altKey||e.metaKey||e.ctrlKey)&&!(ke.windows&&e.ctrlKey&&e.altKey)&&(v=so[e.keyCode])&&v!=i?(m(b[a+wu(v,e,!0)])||e.shiftKey&&(w=vl[e.keyCode])!=i&&w!=v&&m(b[a+wu(w,e,!1)]))&&(c=!0):s&&e.shiftKey&&m(b[a+wu(i,e,!0)])&&(c=!0),!c&&m(b._any)&&(c=!0)),d&&(c=!0),c&&h&&e.stopPropagation(),ig=null,c}class Kl{constructor(e,n,r,i,o){this.className=e,this.left=n,this.top=r,this.width=i,this.height=o}draw(){let e=document.createElement("div");return e.className=this.className,this.adjust(e),e}update(e,n){return n.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,n,r){if(r.empty){let i=e.coordsAtPos(r.head,r.assoc||1);if(!i)return[];let o=IC(e);return[new Kl(n,i.left-o.left,i.top-o.top,null,i.bottom-i.top)]}else return iW(e,n,r)}}function IC(t){let e=t.scrollDOM.getBoundingClientRect();return{left:(t.textDirection==At.LTR?e.left:e.right-t.scrollDOM.clientWidth*t.scaleX)-t.scrollDOM.scrollLeft*t.scaleX,top:e.top-t.scrollDOM.scrollTop*t.scaleY}}function J5(t,e,n,r){let i=t.coordsAtPos(e,n*2);if(!i)return r;let o=t.dom.getBoundingClientRect(),s=(i.top+i.bottom)/2,a=t.posAtCoords({x:o.left+1,y:s}),c=t.posAtCoords({x:o.right-1,y:s});return a==null||c==null?r:{from:Math.max(r.from,Math.min(a,c)),to:Math.min(r.to,Math.max(a,c))}}function iW(t,e,n){if(n.to<=t.viewport.from||n.from>=t.viewport.to)return[];let r=Math.max(n.from,t.viewport.from),i=Math.min(n.to,t.viewport.to),o=t.textDirection==At.LTR,s=t.contentDOM,a=s.getBoundingClientRect(),c=IC(t),d=s.querySelector(".cm-line"),h=d&&window.getComputedStyle(d),g=a.left+(h?parseInt(h.paddingLeft)+Math.min(0,parseInt(h.textIndent)):0),m=a.right-(h?parseInt(h.paddingRight):0),b=J1(t,r),v=J1(t,i),w=b.type==$n.Text?b:null,y=v.type==$n.Text?v:null;if(w&&(t.lineWrapping||b.widgetLineBreaks)&&(w=J5(t,r,1,w)),y&&(t.lineWrapping||v.widgetLineBreaks)&&(y=J5(t,i,-1,y)),w&&y&&w.from==y.from&&w.to==y.to)return A(k(n.from,n.to,w));{let E=w?k(n.from,null,w):I(b,!1),L=y?k(null,n.to,y):I(v,!0),D=[];return(w||b).to<(y||v).from-(w&&y?1:0)||b.widgetLineBreaks>1&&E.bottom+t.defaultLineHeight/2<L.top?D.push($(g,E.bottom,m,L.top)):E.bottom<L.top&&t.elementAtHeight((E.bottom+L.top)/2).type==$n.Text&&(E.bottom=L.top=(E.bottom+L.top)/2),A(E).concat(D).concat(A(L))}function $(E,L,D,H){return new Kl(e,E-c.left,L-c.top,D-E,H-L)}function A({top:E,bottom:L,horizontal:D}){let H=[];for(let V=0;V<D.length;V+=2)H.push($(D[V],E,D[V+1],L));return H}function k(E,L,D){let H=1e9,V=-1e9,z=[];function q(K,le,ce,se,ue){let Y=t.coordsAtPos(K,K==D.to?-2:2),me=t.coordsAtPos(ce,ce==D.from?2:-2);!Y||!me||(H=Math.min(Y.top,me.top,H),V=Math.max(Y.bottom,me.bottom,V),ue==At.LTR?z.push(o&&le?g:Y.left,o&&se?m:me.right):z.push(!o&&se?g:me.left,!o&&le?m:Y.right))}let W=E??D.from,Z=L??D.to;for(let K of t.visibleRanges)if(K.to>W&&K.from<Z)for(let le=Math.max(K.from,W),ce=Math.min(K.to,Z);;){let se=t.state.doc.lineAt(le);for(let ue of t.bidiSpans(se)){let Y=ue.from+se.from,me=ue.to+se.from;if(Y>=ce)break;me>le&&q(Math.max(Y,le),E==null&&Y<=W,Math.min(me,ce),L==null&&me>=Z,ue.dir)}if(le=se.to+1,le>=ce)break}return z.length==0&&q(W,E==null,Z,L==null,t.textDirection),{top:H,bottom:V,horizontal:z}}function I(E,L){let D=a.top+(L?E.top:E.bottom);return{top:D,bottom:D,horizontal:[]}}}function oW(t,e){return t.constructor==e.constructor&&t.eq(e)}class sW{constructor(e,n){this.view=e,this.layer=n,this.drawn=[],this.scaleX=1,this.scaleY=1,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"),n.above&&this.dom.classList.add("cm-layer-above"),n.class&&this.dom.classList.add(n.class),this.scale(),this.dom.setAttribute("aria-hidden","true"),this.setOrder(e.state),e.requestMeasure(this.measureReq),n.mount&&n.mount(this.dom,e)}update(e){e.startState.facet(Vu)!=e.state.facet(Vu)&&this.setOrder(e.state),(this.layer.update(e,this.dom)||e.geometryChanged)&&(this.scale(),e.view.requestMeasure(this.measureReq))}docViewUpdate(e){this.layer.updateOnDocViewUpdate!==!1&&e.requestMeasure(this.measureReq)}setOrder(e){let n=0,r=e.facet(Vu);for(;n<r.length&&r[n]!=this.layer;)n++;this.dom.style.zIndex=String((this.layer.above?150:-1)-n)}measure(){return this.layer.markers(this.view)}scale(){let{scaleX:e,scaleY:n}=this.view;(e!=this.scaleX||n!=this.scaleY)&&(this.scaleX=e,this.scaleY=n,this.dom.style.transform=`scale(${1/e}, ${1/n})`)}draw(e){if(e.length!=this.drawn.length||e.some((n,r)=>!oW(n,this.drawn[r]))){let n=this.dom.firstChild,r=0;for(let i of e)i.update&&n&&i.constructor&&this.drawn[r].constructor&&i.update(n,this.drawn[r])?(n=n.nextSibling,r++):this.dom.insertBefore(i.draw(),n);for(;n;){let i=n.nextSibling;n.remove(),n=i}this.drawn=e}}destroy(){this.layer.destroy&&this.layer.destroy(this.dom,this.view),this.dom.remove()}}const Vu=Ie.define();function OC(t){return[Pt.define(e=>new sW(e,t)),Vu.of(t)]}const DC=!(ke.ios&&ke.webkit&&ke.webkit_version<534),Cl=Ie.define({combine(t){return ii(t,{cursorBlinkRate:1200,drawRangeCursor:!0},{cursorBlinkRate:(e,n)=>Math.min(e,n),drawRangeCursor:(e,n)=>e||n})}});function aW(t={}){return[Cl.of(t),lW,cW,uW,aC.of(!0)]}function LC(t){return t.startState.facet(Cl)!=t.state.facet(Cl)}const lW=OC({above:!0,markers(t){let{state:e}=t,n=e.facet(Cl),r=[];for(let i of e.selection.ranges){let o=i==e.selection.main;if(i.empty?!o||DC:n.drawRangeCursor){let s=o?"cm-cursor cm-cursor-primary":"cm-cursor cm-cursor-secondary",a=i.empty?i:ie.cursor(i.head,i.head>i.anchor?-1:1);for(let c of Kl.forRange(t,s,a))r.push(c)}}return r},update(t,e){t.transactions.some(r=>r.selection)&&(e.style.animationName=e.style.animationName=="cm-blink"?"cm-blink2":"cm-blink");let n=LC(t);return n&&ev(t.state,e),t.docChanged||t.selectionSet||n},mount(t,e){ev(e.state,t)},class:"cm-cursorLayer"});function ev(t,e){e.style.animationDuration=t.facet(Cl).cursorBlinkRate+"ms"}const cW=OC({above:!1,markers(t){return t.state.selection.ranges.map(e=>e.empty?[]:Kl.forRange(t,"cm-selectionBackground",e)).reduce((e,n)=>e.concat(n))},update(t,e){return t.docChanged||t.selectionSet||t.viewportChanged||LC(t)},class:"cm-selectionLayer"}),og={".cm-line":{"& ::selection, &::selection":{backgroundColor:"transparent !important"}},".cm-content":{"& :focus":{caretColor:"initial !important","&::selection, & ::selection":{backgroundColor:"Highlight !important"}}}};DC&&(og[".cm-line"].caretColor=og[".cm-content"].caretColor="transparent !important");const uW=ts.highest(Te.theme(og)),jC=Xe.define({map(t,e){return t==null?null:e.mapPos(t)}}),el=nn.define({create(){return null},update(t,e){return t!=null&&(t=e.changes.mapPos(t)),e.effects.reduce((n,r)=>r.is(jC)?r.value:n,t)}}),dW=Pt.fromClass(class{constructor(t){this.view=t,this.cursor=null,this.measureReq={read:this.readPos.bind(this),write:this.drawCursor.bind(this)}}update(t){var e;let n=t.state.field(el);n==null?this.cursor!=null&&((e=this.cursor)===null||e===void 0||e.remove(),this.cursor=null):(this.cursor||(this.cursor=this.view.scrollDOM.appendChild(document.createElement("div")),this.cursor.className="cm-dropCursor"),(t.startState.field(el)!=n||t.docChanged||t.geometryChanged)&&this.view.requestMeasure(this.measureReq))}readPos(){let{view:t}=this,e=t.state.field(el),n=e!=null&&t.coordsAtPos(e);if(!n)return null;let r=t.scrollDOM.getBoundingClientRect();return{left:n.left-r.left+t.scrollDOM.scrollLeft*t.scaleX,top:n.top-r.top+t.scrollDOM.scrollTop*t.scaleY,height:n.bottom-n.top}}drawCursor(t){if(this.cursor){let{scaleX:e,scaleY:n}=this.view;t?(this.cursor.style.left=t.left/e+"px",this.cursor.style.top=t.top/n+"px",this.cursor.style.height=t.height/n+"px"):this.cursor.style.left="-100000px"}}destroy(){this.cursor&&this.cursor.remove()}setDropPos(t){this.view.state.field(el)!=t&&this.view.dispatch({effects:jC.of(t)})}},{eventObservers:{dragover(t){this.setDropPos(this.view.posAtCoords({x:t.clientX,y:t.clientY}))},dragleave(t){(t.target==this.view.contentDOM||!this.view.contentDOM.contains(t.relatedTarget))&&this.setDropPos(null)},dragend(){this.setDropPos(null)},drop(){this.setDropPos(null)}}});function hW(){return[el,dW]}function tv(t,e,n,r,i){e.lastIndex=0;for(let o=t.iterRange(n,r),s=n,a;!o.next().done;s+=o.value.length)if(!o.lineBreak)for(;a=e.exec(o.value);)i(s+a.index,a)}function fW(t,e){let n=t.visibleRanges;if(n.length==1&&n[0].from==t.viewport.from&&n[0].to==t.viewport.to)return n;let r=[];for(let{from:i,to:o}of n)i=Math.max(t.state.doc.lineAt(i).from,i-e),o=Math.min(t.state.doc.lineAt(o).to,o+e),r.length&&r[r.length-1].to>=i?r[r.length-1].to=o:r.push({from:i,to:o});return r}class gW{constructor(e){const{regexp:n,decoration:r,decorate:i,boundary:o,maxLength:s=1e3}=e;if(!n.global)throw new RangeError("The regular expression given to MatchDecorator should have its 'g' flag set");if(this.regexp=n,i)this.addMatch=(a,c,d,h)=>i(h,d,d+a[0].length,a,c);else if(typeof r=="function")this.addMatch=(a,c,d,h)=>{let g=r(a,c,d);g&&h(d,d+a[0].length,g)};else if(r)this.addMatch=(a,c,d,h)=>h(d,d+a[0].length,r);else throw new RangeError("Either 'decorate' or 'decoration' should be provided to MatchDecorator");this.boundary=o,this.maxLength=s}createDeco(e){let n=new ki,r=n.add.bind(n);for(let{from:i,to:o}of fW(e,this.maxLength))tv(e.state.doc,this.regexp,i,o,(s,a)=>this.addMatch(a,e,s,r));return n.finish()}updateDeco(e,n){let r=1e9,i=-1;return e.docChanged&&e.changes.iterChanges((o,s,a,c)=>{c>=e.view.viewport.from&&a<=e.view.viewport.to&&(r=Math.min(a,r),i=Math.max(c,i))}),e.viewportMoved||i-r>1e3?this.createDeco(e.view):i>-1?this.updateRange(e.view,n.map(e.changes),r,i):n}updateRange(e,n,r,i){for(let o of e.visibleRanges){let s=Math.max(o.from,r),a=Math.min(o.to,i);if(a>s){let c=e.state.doc.lineAt(s),d=c.to<a?e.state.doc.lineAt(a):c,h=Math.max(o.from,c.from),g=Math.min(o.to,d.to);if(this.boundary){for(;s>c.from;s--)if(this.boundary.test(c.text[s-1-c.from])){h=s;break}for(;a<d.to;a++)if(this.boundary.test(d.text[a-d.from])){g=a;break}}let m=[],b,v=(w,y,$)=>m.push($.range(w,y));if(c==d)for(this.regexp.lastIndex=h-c.from;(b=this.regexp.exec(c.text))&&b.index<g-c.from;)this.addMatch(b,e,b.index+c.from,v);else tv(e.state.doc,this.regexp,h,g,(w,y)=>this.addMatch(y,e,w,v));n=n.update({filterFrom:h,filterTo:g,filter:(w,y)=>w<h||y>g,add:m})}}return n}}const sg=/x/.unicode!=null?"gu":"g",pW=new RegExp(`[\0-\b
63
- --Ÿ­؜​‎‏\u2028\u2029‭‮⁦⁧⁩\uFEFF-]`,sg),mW={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"};let T0=null;function bW(){var t;if(T0==null&&typeof document<"u"&&document.body){let e=document.body.style;T0=((t=e.tabSize)!==null&&t!==void 0?t:e.MozTabSize)!=null}return T0||!1}const Hu=Ie.define({combine(t){let e=ii(t,{render:null,specialChars:pW,addSpecialChars:null});return(e.replaceTabs=!bW())&&(e.specialChars=new RegExp(" |"+e.specialChars.source,sg)),e.addSpecialChars&&(e.specialChars=new RegExp(e.specialChars.source+"|"+e.addSpecialChars.source,sg)),e}});function xW(t={}){return[Hu.of(t),vW()]}let nv=null;function vW(){return nv||(nv=Pt.fromClass(class{constructor(t){this.view=t,this.decorations=Fe.none,this.decorationCache=Object.create(null),this.decorator=this.makeDecorator(t.state.facet(Hu)),this.decorations=this.decorator.createDeco(t)}makeDecorator(t){return new gW({regexp:t.specialChars,decoration:(e,n,r)=>{let{doc:i}=n.state,o=Mn(e[0],0);if(o==9){let s=i.lineAt(r),a=n.state.tabSize,c=ga(s.text,a,r-s.from);return Fe.replace({widget:new $W((a-c%a)*this.view.defaultCharacterWidth/this.view.scaleX)})}return this.decorationCache[o]||(this.decorationCache[o]=Fe.replace({widget:new CW(t,o)}))},boundary:t.replaceTabs?void 0:/[^]/})}update(t){let e=t.state.facet(Hu);t.startState.facet(Hu)!=e?(this.decorator=this.makeDecorator(e),this.decorations=this.decorator.createDeco(t.view)):this.decorations=this.decorator.updateDeco(t,this.decorations)}},{decorations:t=>t.decorations}))}const wW="•";function yW(t){return t>=32?wW:t==10?"␤":String.fromCharCode(9216+t)}class CW extends Di{constructor(e,n){super(),this.options=e,this.code=n}eq(e){return e.code==this.code}toDOM(e){let n=yW(this.code),r=e.state.phrase("Control character")+" "+(mW[this.code]||"0x"+this.code.toString(16)),i=this.options.render&&this.options.render(this.code,r,n);if(i)return i;let o=document.createElement("span");return o.textContent=n,o.title=r,o.setAttribute("aria-label",r),o.className="cm-specialChar",o}ignoreEvent(){return!1}}class $W extends Di{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}}function SW(){return RW}const AW=Fe.line({class:"cm-activeLine"}),RW=Pt.fromClass(class{constructor(t){this.decorations=this.getDeco(t)}update(t){(t.docChanged||t.selectionSet)&&(this.decorations=this.getDeco(t.view))}getDeco(t){let e=-1,n=[];for(let r of t.state.selection.ranges){let i=t.lineBlockAt(r.head);i.from>e&&(n.push(AW.range(i.from)),e=i.from)}return Fe.set(n)}},{decorations:t=>t.decorations});class TW extends Di{constructor(e){super(),this.content=e}toDOM(e){let n=document.createElement("span");return n.className="cm-placeholder",n.style.pointerEvents="none",n.appendChild(typeof this.content=="string"?document.createTextNode(this.content):typeof this.content=="function"?this.content(e):this.content.cloneNode(!0)),typeof this.content=="string"?n.setAttribute("aria-label","placeholder "+this.content):n.setAttribute("aria-hidden","true"),n}coordsAt(e){let n=e.firstChild?Zs(e.firstChild):[];if(!n.length)return null;let r=window.getComputedStyle(e.parentNode),i=Wl(n[0],r.direction!="rtl"),o=parseInt(r.lineHeight);return i.bottom-i.top>o*1.5?{left:i.left,right:i.right,top:i.top,bottom:i.top+o}:i}ignoreEvent(){return!1}}function kW(t){return Pt.fromClass(class{constructor(e){this.view=e,this.placeholder=t?Fe.set([Fe.widget({widget:new TW(t),side:1}).range(0)]):Fe.none}get decorations(){return this.view.state.doc.length?Fe.none:this.placeholder}},{decorations:e=>e.decorations})}const ag=2e3;function EW(t,e,n){let r=Math.min(e.line,n.line),i=Math.max(e.line,n.line),o=[];if(e.off>ag||n.off>ag||e.col<0||n.col<0){let s=Math.min(e.off,n.off),a=Math.max(e.off,n.off);for(let c=r;c<=i;c++){let d=t.doc.line(c);d.length<=a&&o.push(ie.range(d.from+s,d.to+a))}}else{let s=Math.min(e.col,n.col),a=Math.max(e.col,n.col);for(let c=r;c<=i;c++){let d=t.doc.line(c),h=B1(d.text,s,t.tabSize,!0);if(h<0)o.push(ie.cursor(d.to));else{let g=B1(d.text,a,t.tabSize);o.push(ie.range(d.from+h,d.from+g))}}}return o}function MW(t,e){let n=t.coordsAtPos(t.viewport.from);return n?Math.round(Math.abs((n.left-e)/t.defaultCharacterWidth)):-1}function rv(t,e){let n=t.posAtCoords({x:e.clientX,y:e.clientY},!1),r=t.state.doc.lineAt(n),i=n-r.from,o=i>ag?-1:i==r.length?MW(t,e.clientX):ga(r.text,t.state.tabSize,n-r.from);return{line:r.number,col:o,off:i}}function IW(t,e){let n=rv(t,e),r=t.state.selection;return n?{update(i){if(i.docChanged){let o=i.changes.mapPos(i.startState.doc.line(n.line).from),s=i.state.doc.lineAt(o);n={line:s.number,col:n.col,off:Math.min(n.off,s.length)},r=r.map(i.changes)}},get(i,o,s){let a=rv(t,i);if(!a)return r;let c=EW(t.state,n,a);return c.length?s?ie.create(c.concat(r.ranges)):ie.create(c):r}}:null}function OW(t){let e=n=>n.altKey&&n.button==0;return Te.mouseSelectionStyle.of((n,r)=>e(r)?IW(n,r):null)}const DW={Alt:[18,t=>!!t.altKey],Control:[17,t=>!!t.ctrlKey],Shift:[16,t=>!!t.shiftKey],Meta:[91,t=>!!t.metaKey]},LW={style:"cursor: crosshair"};function jW(t={}){let[e,n]=DW[t.key||"Alt"],r=Pt.fromClass(class{constructor(i){this.view=i,this.isDown=!1}set(i){this.isDown!=i&&(this.isDown=i,this.view.update([]))}},{eventObservers:{keydown(i){this.set(i.keyCode==e||n(i))},keyup(i){(i.keyCode==e||!n(i))&&this.set(!1)},mousemove(i){this.set(n(i))}}});return[r,Te.contentAttributes.of(i=>{var o;return!((o=i.plugin(r))===null||o===void 0)&&o.isDown?LW:null})]}const Fa="-10000px";class _C{constructor(e,n,r,i){this.facet=n,this.createTooltipView=r,this.removeTooltipView=i,this.input=e.state.facet(n),this.tooltips=this.input.filter(s=>s);let o=null;this.tooltipViews=this.tooltips.map(s=>o=r(s,o))}update(e,n){var r;let i=e.state.facet(this.facet),o=i.filter(c=>c);if(i===this.input){for(let c of this.tooltipViews)c.update&&c.update(e);return!1}let s=[],a=n?[]:null;for(let c=0;c<o.length;c++){let d=o[c],h=-1;if(d){for(let g=0;g<this.tooltips.length;g++){let m=this.tooltips[g];m&&m.create==d.create&&(h=g)}if(h<0)s[c]=this.createTooltipView(d,c?s[c-1]:null),a&&(a[c]=!!d.above);else{let g=s[c]=this.tooltipViews[h];a&&(a[c]=n[h]),g.update&&g.update(e)}}}for(let c of this.tooltipViews)s.indexOf(c)<0&&(this.removeTooltipView(c),(r=c.destroy)===null||r===void 0||r.call(c));return n&&(a.forEach((c,d)=>n[d]=c),n.length=a.length),this.input=i,this.tooltips=o,this.tooltipViews=s,!0}}function _W(t){let{win:e}=t;return{top:0,left:0,bottom:e.innerHeight,right:e.innerWidth}}const k0=Ie.define({combine:t=>{var e,n,r;return{position:ke.ios?"absolute":((e=t.find(i=>i.position))===null||e===void 0?void 0:e.position)||"fixed",parent:((n=t.find(i=>i.parent))===null||n===void 0?void 0:n.parent)||null,tooltipSpace:((r=t.find(i=>i.tooltipSpace))===null||r===void 0?void 0:r.tooltipSpace)||_W}}}),iv=new WeakMap,om=Pt.fromClass(class{constructor(t){this.view=t,this.above=[],this.inView=!0,this.madeAbsolute=!1,this.lastTransaction=0,this.measureTimeout=-1;let e=t.state.facet(k0);this.position=e.position,this.parent=e.parent,this.classes=t.themeClasses,this.createContainer(),this.measureReq={read:this.readMeasure.bind(this),write:this.writeMeasure.bind(this),key:this},this.resizeObserver=typeof ResizeObserver=="function"?new ResizeObserver(()=>this.measureSoon()):null,this.manager=new _C(t,sm,(n,r)=>this.createTooltip(n,r),n=>{this.resizeObserver&&this.resizeObserver.unobserve(n.dom),n.dom.remove()}),this.above=this.manager.tooltips.map(n=>!!n.above),this.intersectionObserver=typeof IntersectionObserver=="function"?new IntersectionObserver(n=>{Date.now()>this.lastTransaction-50&&n.length>0&&n[n.length-1].intersectionRatio<1&&this.measureSoon()},{threshold:[1]}):null,this.observeIntersection(),t.win.addEventListener("resize",this.measureSoon=this.measureSoon.bind(this)),this.maybeMeasure()}createContainer(){this.parent?(this.container=document.createElement("div"),this.container.style.position="relative",this.container.className=this.view.themeClasses,this.parent.appendChild(this.container)):this.container=this.view.dom}observeIntersection(){if(this.intersectionObserver){this.intersectionObserver.disconnect();for(let t of this.manager.tooltipViews)this.intersectionObserver.observe(t.dom)}}measureSoon(){this.measureTimeout<0&&(this.measureTimeout=setTimeout(()=>{this.measureTimeout=-1,this.maybeMeasure()},50))}update(t){t.transactions.length&&(this.lastTransaction=Date.now());let e=this.manager.update(t,this.above);e&&this.observeIntersection();let n=e||t.geometryChanged,r=t.state.facet(k0);if(r.position!=this.position&&!this.madeAbsolute){this.position=r.position;for(let i of this.manager.tooltipViews)i.dom.style.position=this.position;n=!0}if(r.parent!=this.parent){this.parent&&this.container.remove(),this.parent=r.parent,this.createContainer();for(let i of this.manager.tooltipViews)this.container.appendChild(i.dom);n=!0}else this.parent&&this.view.themeClasses!=this.classes&&(this.classes=this.container.className=this.view.themeClasses);n&&this.maybeMeasure()}createTooltip(t,e){let n=t.create(this.view),r=e?e.dom:null;if(n.dom.classList.add("cm-tooltip"),t.arrow&&!n.dom.querySelector(".cm-tooltip > .cm-tooltip-arrow")){let i=document.createElement("div");i.className="cm-tooltip-arrow",n.dom.appendChild(i)}return n.dom.style.position=this.position,n.dom.style.top=Fa,n.dom.style.left="0px",this.container.insertBefore(n.dom,r),n.mount&&n.mount(this.view),this.resizeObserver&&this.resizeObserver.observe(n.dom),n}destroy(){var t,e,n;this.view.win.removeEventListener("resize",this.measureSoon);for(let r of this.manager.tooltipViews)r.dom.remove(),(t=r.destroy)===null||t===void 0||t.call(r);this.parent&&this.container.remove(),(e=this.resizeObserver)===null||e===void 0||e.disconnect(),(n=this.intersectionObserver)===null||n===void 0||n.disconnect(),clearTimeout(this.measureTimeout)}readMeasure(){let t=1,e=1,n=!1;if(this.position=="fixed"&&this.manager.tooltipViews.length){let{dom:o}=this.manager.tooltipViews[0];if(ke.gecko)n=o.offsetParent!=this.container.ownerDocument.body;else if(o.style.top==Fa&&o.style.left=="0px"){let s=o.getBoundingClientRect();n=Math.abs(s.top+1e4)>1||Math.abs(s.left)>1}}if(n||this.position=="absolute")if(this.parent){let o=this.parent.getBoundingClientRect();o.width&&o.height&&(t=o.width/this.parent.offsetWidth,e=o.height/this.parent.offsetHeight)}else({scaleX:t,scaleY:e}=this.view.viewState);let r=this.view.scrollDOM.getBoundingClientRect(),i=tm(this.view);return{visible:{left:r.left+i.left,top:r.top+i.top,right:r.right-i.right,bottom:r.bottom-i.bottom},parent:this.parent?this.container.getBoundingClientRect():this.view.dom.getBoundingClientRect(),pos:this.manager.tooltips.map((o,s)=>{let a=this.manager.tooltipViews[s];return a.getCoords?a.getCoords(o.pos):this.view.coordsAtPos(o.pos)}),size:this.manager.tooltipViews.map(({dom:o})=>o.getBoundingClientRect()),space:this.view.state.facet(k0).tooltipSpace(this.view),scaleX:t,scaleY:e,makeAbsolute:n}}writeMeasure(t){var e;if(t.makeAbsolute){this.madeAbsolute=!0,this.position="absolute";for(let a of this.manager.tooltipViews)a.dom.style.position="absolute"}let{visible:n,space:r,scaleX:i,scaleY:o}=t,s=[];for(let a=0;a<this.manager.tooltips.length;a++){let c=this.manager.tooltips[a],d=this.manager.tooltipViews[a],{dom:h}=d,g=t.pos[a],m=t.size[a];if(!g||c.clip!==!1&&(g.bottom<=Math.max(n.top,r.top)||g.top>=Math.min(n.bottom,r.bottom)||g.right<Math.max(n.left,r.left)-.1||g.left>Math.min(n.right,r.right)+.1)){h.style.top=Fa;continue}let b=c.arrow?d.dom.querySelector(".cm-tooltip-arrow"):null,v=b?7:0,w=m.right-m.left,y=(e=iv.get(d))!==null&&e!==void 0?e:m.bottom-m.top,$=d.offset||BW,A=this.view.textDirection==At.LTR,k=m.width>r.right-r.left?A?r.left:r.right-m.width:A?Math.max(r.left,Math.min(g.left-(b?14:0)+$.x,r.right-w)):Math.min(Math.max(r.left,g.left-w+(b?14:0)-$.x),r.right-w),I=this.above[a];!c.strictSide&&(I?g.top-y-v-$.y<r.top:g.bottom+y+v+$.y>r.bottom)&&I==r.bottom-g.bottom>g.top-r.top&&(I=this.above[a]=!I);let E=(I?g.top-r.top:r.bottom-g.bottom)-v;if(E<y&&d.resize!==!1){if(E<this.view.defaultLineHeight){h.style.top=Fa;continue}iv.set(d,y),h.style.height=(y=E)/o+"px"}else h.style.height&&(h.style.height="");let L=I?g.top-y-v-$.y:g.bottom+v+$.y,D=k+w;if(d.overlap!==!0)for(let H of s)H.left<D&&H.right>k&&H.top<L+y&&H.bottom>L&&(L=I?H.top-y-2-v:H.bottom+v+2);if(this.position=="absolute"?(h.style.top=(L-t.parent.top)/o+"px",ov(h,(k-t.parent.left)/i)):(h.style.top=L/o+"px",ov(h,k/i)),b){let H=g.left+(A?$.x:-$.x)-(k+14-7);b.style.left=H/i+"px"}d.overlap!==!0&&s.push({left:k,top:L,right:D,bottom:L+y}),h.classList.toggle("cm-tooltip-above",I),h.classList.toggle("cm-tooltip-below",!I),d.positioned&&d.positioned(t.space)}}maybeMeasure(){if(this.manager.tooltips.length&&(this.view.inView&&this.view.requestMeasure(this.measureReq),this.inView!=this.view.inView&&(this.inView=this.view.inView,!this.inView)))for(let t of this.manager.tooltipViews)t.dom.style.top=Fa}},{eventObservers:{scroll(){this.maybeMeasure()}}});function ov(t,e){let n=parseInt(t.style.left,10);(isNaN(n)||Math.abs(e-n)>1)&&(t.style.left=e+"px")}const NW=Te.baseTheme({".cm-tooltip":{zIndex:500,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"}}}),BW={x:0,y:0},sm=Ie.define({enables:[om,NW]}),gd=Ie.define({combine:t=>t.reduce((e,n)=>e.concat(n),[])});class dh{static create(e){return new dh(e)}constructor(e){this.view=e,this.mounted=!1,this.dom=document.createElement("div"),this.dom.classList.add("cm-tooltip-hover"),this.manager=new _C(e,gd,(n,r)=>this.createHostedView(n,r),n=>n.dom.remove())}createHostedView(e,n){let r=e.create(this.view);return r.dom.classList.add("cm-tooltip-section"),this.dom.insertBefore(r.dom,n?n.dom.nextSibling:this.dom.firstChild),this.mounted&&r.mount&&r.mount(this.view),r}mount(e){for(let n of this.manager.tooltipViews)n.mount&&n.mount(e);this.mounted=!0}positioned(e){for(let n of this.manager.tooltipViews)n.positioned&&n.positioned(e)}update(e){this.manager.update(e)}destroy(){var e;for(let n of this.manager.tooltipViews)(e=n.destroy)===null||e===void 0||e.call(n)}passProp(e){let n;for(let r of this.manager.tooltipViews){let i=r[e];if(i!==void 0){if(n===void 0)n=i;else if(n!==i)return}}return n}get offset(){return this.passProp("offset")}get getCoords(){return this.passProp("getCoords")}get overlap(){return this.passProp("overlap")}get resize(){return this.passProp("resize")}}const FW=sm.compute([gd],t=>{let e=t.facet(gd);return e.length===0?null:{pos:Math.min(...e.map(n=>n.pos)),end:Math.max(...e.map(n=>{var r;return(r=n.end)!==null&&r!==void 0?r:n.pos})),create:dh.create,above:e[0].above,arrow:e.some(n=>n.arrow)}});class PW{constructor(e,n,r,i,o){this.view=e,this.source=n,this.field=r,this.setHover=i,this.hoverTime=o,this.hoverTimeout=-1,this.restartTimeout=-1,this.pending=null,this.lastMove={x:0,y:0,target:e.dom,time:0},this.checkHover=this.checkHover.bind(this),e.dom.addEventListener("mouseleave",this.mouseleave=this.mouseleave.bind(this)),e.dom.addEventListener("mousemove",this.mousemove=this.mousemove.bind(this))}update(){this.pending&&(this.pending=null,clearTimeout(this.restartTimeout),this.restartTimeout=setTimeout(()=>this.startHover(),20))}get active(){return this.view.state.field(this.field)}checkHover(){if(this.hoverTimeout=-1,this.active.length)return;let e=Date.now()-this.lastMove.time;e<this.hoverTime?this.hoverTimeout=setTimeout(this.checkHover,this.hoverTime-e):this.startHover()}startHover(){clearTimeout(this.restartTimeout);let{view:e,lastMove:n}=this,r=e.docView.nearest(n.target);if(!r)return;let i,o=1;if(r instanceof Xi)i=r.posAtStart;else{if(i=e.posAtCoords(n),i==null)return;let a=e.coordsAtPos(i);if(!a||n.y<a.top||n.y>a.bottom||n.x<a.left-e.defaultCharacterWidth||n.x>a.right+e.defaultCharacterWidth)return;let c=e.bidiSpans(e.state.doc.lineAt(i)).find(h=>h.from<=i&&h.to>=i),d=c&&c.dir==At.RTL?-1:1;o=n.x<a.left?-d:d}let s=this.source(e,i,o);if(s?.then){let a=this.pending={pos:i};s.then(c=>{this.pending==a&&(this.pending=null,c&&!(Array.isArray(c)&&!c.length)&&e.dispatch({effects:this.setHover.of(Array.isArray(c)?c:[c])}))},c=>Dn(e.state,c,"hover tooltip"))}else s&&!(Array.isArray(s)&&!s.length)&&e.dispatch({effects:this.setHover.of(Array.isArray(s)?s:[s])})}get tooltip(){let e=this.view.plugin(om),n=e?e.manager.tooltips.findIndex(r=>r.create==dh.create):-1;return n>-1?e.manager.tooltipViews[n]:null}mousemove(e){var n,r;this.lastMove={x:e.clientX,y:e.clientY,target:e.target,time:Date.now()},this.hoverTimeout<0&&(this.hoverTimeout=setTimeout(this.checkHover,this.hoverTime));let{active:i,tooltip:o}=this;if(i.length&&o&&!VW(o.dom,e)||this.pending){let{pos:s}=i[0]||this.pending,a=(r=(n=i[0])===null||n===void 0?void 0:n.end)!==null&&r!==void 0?r:s;(s==a?this.view.posAtCoords(this.lastMove)!=s:!HW(this.view,s,a,e.clientX,e.clientY))&&(this.view.dispatch({effects:this.setHover.of([])}),this.pending=null)}}mouseleave(e){clearTimeout(this.hoverTimeout),this.hoverTimeout=-1;let{active:n}=this;if(n.length){let{tooltip:r}=this;r&&r.dom.contains(e.relatedTarget)?this.watchTooltipLeave(r.dom):this.view.dispatch({effects:this.setHover.of([])})}}watchTooltipLeave(e){let n=r=>{e.removeEventListener("mouseleave",n),this.active.length&&!this.view.dom.contains(r.relatedTarget)&&this.view.dispatch({effects:this.setHover.of([])})};e.addEventListener("mouseleave",n)}destroy(){clearTimeout(this.hoverTimeout),this.view.dom.removeEventListener("mouseleave",this.mouseleave),this.view.dom.removeEventListener("mousemove",this.mousemove)}}const yu=4;function VW(t,e){let{left:n,right:r,top:i,bottom:o}=t.getBoundingClientRect(),s;if(s=t.querySelector(".cm-tooltip-arrow")){let a=s.getBoundingClientRect();i=Math.min(a.top,i),o=Math.max(a.bottom,o)}return e.clientX>=n-yu&&e.clientX<=r+yu&&e.clientY>=i-yu&&e.clientY<=o+yu}function HW(t,e,n,r,i,o){let s=t.scrollDOM.getBoundingClientRect(),a=t.documentTop+t.documentPadding.top+t.contentHeight;if(s.left>r||s.right<r||s.top>i||Math.min(s.bottom,a)<i)return!1;let c=t.posAtCoords({x:r,y:i},!1);return c>=e&&c<=n}function zW(t,e={}){let n=Xe.define(),r=nn.define({create(){return[]},update(i,o){if(i.length&&(e.hideOnChange&&(o.docChanged||o.selection)?i=[]:e.hideOn&&(i=i.filter(s=>!e.hideOn(o,s))),o.docChanged)){let s=[];for(let a of i){let c=o.changes.mapPos(a.pos,-1,Cn.TrackDel);if(c!=null){let d=Object.assign(Object.create(null),a);d.pos=c,d.end!=null&&(d.end=o.changes.mapPos(d.end)),s.push(d)}}i=s}for(let s of o.effects)s.is(n)&&(i=s.value),s.is(WW)&&(i=[]);return i},provide:i=>gd.from(i)});return{active:r,extension:[r,Pt.define(i=>new PW(i,t,r,n,e.hoverTime||300)),FW]}}function NC(t,e){let n=t.plugin(om);if(!n)return null;let r=n.manager.tooltips.indexOf(e);return r<0?null:n.manager.tooltipViews[r]}const WW=Xe.define(),sv=Ie.define({combine(t){let e,n;for(let r of t)e=e||r.topContainer,n=n||r.bottomContainer;return{topContainer:e,bottomContainer:n}}});function $l(t,e){let n=t.plugin(BC),r=n?n.specs.indexOf(e):-1;return r>-1?n.panels[r]:null}const BC=Pt.fromClass(class{constructor(t){this.input=t.state.facet(Sl),this.specs=this.input.filter(n=>n),this.panels=this.specs.map(n=>n(t));let e=t.state.facet(sv);this.top=new Cu(t,!0,e.topContainer),this.bottom=new Cu(t,!1,e.bottomContainer),this.top.sync(this.panels.filter(n=>n.top)),this.bottom.sync(this.panels.filter(n=>!n.top));for(let n of this.panels)n.dom.classList.add("cm-panel"),n.mount&&n.mount()}update(t){let e=t.state.facet(sv);this.top.container!=e.topContainer&&(this.top.sync([]),this.top=new Cu(t.view,!0,e.topContainer)),this.bottom.container!=e.bottomContainer&&(this.bottom.sync([]),this.bottom=new Cu(t.view,!1,e.bottomContainer)),this.top.syncClasses(),this.bottom.syncClasses();let n=t.state.facet(Sl);if(n!=this.input){let r=n.filter(c=>c),i=[],o=[],s=[],a=[];for(let c of r){let d=this.specs.indexOf(c),h;d<0?(h=c(t.view),a.push(h)):(h=this.panels[d],h.update&&h.update(t)),i.push(h),(h.top?o:s).push(h)}this.specs=r,this.panels=i,this.top.sync(o),this.bottom.sync(s);for(let c of a)c.dom.classList.add("cm-panel"),c.mount&&c.mount()}else for(let r of this.panels)r.update&&r.update(t)}destroy(){this.top.sync([]),this.bottom.sync([])}},{provide:t=>Te.scrollMargins.of(e=>{let n=e.plugin(t);return n&&{top:n.top.scrollMargin(),bottom:n.bottom.scrollMargin()}})});class Cu{constructor(e,n,r){this.view=e,this.top=n,this.container=r,this.dom=void 0,this.classes="",this.panels=[],this.syncClasses()}sync(e){for(let n of this.panels)n.destroy&&e.indexOf(n)<0&&n.destroy();this.panels=e,this.syncDOM()}syncDOM(){if(this.panels.length==0){this.dom&&(this.dom.remove(),this.dom=void 0);return}if(!this.dom){this.dom=document.createElement("div"),this.dom.className=this.top?"cm-panels cm-panels-top":"cm-panels cm-panels-bottom",this.dom.style[this.top?"top":"bottom"]="0";let n=this.container||this.view.dom;n.insertBefore(this.dom,this.top?n.firstChild:null)}let e=this.dom.firstChild;for(let n of this.panels)if(n.dom.parentNode==this.dom){for(;e!=n.dom;)e=av(e);e=e.nextSibling}else this.dom.insertBefore(n.dom,e);for(;e;)e=av(e)}scrollMargin(){return!this.dom||this.container?0:Math.max(0,this.top?this.dom.getBoundingClientRect().bottom-Math.max(0,this.view.scrollDOM.getBoundingClientRect().top):Math.min(innerHeight,this.view.scrollDOM.getBoundingClientRect().bottom)-this.dom.getBoundingClientRect().top)}syncClasses(){if(!(!this.container||this.classes==this.view.themeClasses)){for(let e of this.classes.split(" "))e&&this.container.classList.remove(e);for(let e of(this.classes=this.view.themeClasses).split(" "))e&&this.container.classList.add(e)}}}function av(t){let e=t.nextSibling;return t.remove(),e}const Sl=Ie.define({enables:BC});class Mi extends Vo{compare(e){return this==e||this.constructor==e.constructor&&this.eq(e)}eq(e){return!1}destroy(e){}}Mi.prototype.elementClass="";Mi.prototype.toDOM=void 0;Mi.prototype.mapMode=Cn.TrackBefore;Mi.prototype.startSide=Mi.prototype.endSide=-1;Mi.prototype.point=!0;const zu=Ie.define(),UW=Ie.define(),qW={class:"",renderEmptyElements:!1,elementStyle:"",markers:()=>ut.empty,lineMarker:()=>null,widgetMarker:()=>null,lineMarkerChange:null,initialSpacer:null,updateSpacer:null,domEventHandlers:{}},al=Ie.define();function KW(t){return[FC(),al.of(Object.assign(Object.assign({},qW),t))]}const lv=Ie.define({combine:t=>t.some(e=>e)});function FC(t){return[GW]}const GW=Pt.fromClass(class{constructor(t){this.view=t,this.prevViewport=t.viewport,this.dom=document.createElement("div"),this.dom.className="cm-gutters",this.dom.setAttribute("aria-hidden","true"),this.dom.style.minHeight=this.view.contentHeight/this.view.scaleY+"px",this.gutters=t.state.facet(al).map(e=>new uv(t,e));for(let e of this.gutters)this.dom.appendChild(e.dom);this.fixed=!t.state.facet(lv),this.fixed&&(this.dom.style.position="sticky"),this.syncGutters(!1),t.scrollDOM.insertBefore(this.dom,t.contentDOM)}update(t){if(this.updateGutters(t)){let e=this.prevViewport,n=t.view.viewport,r=Math.min(e.to,n.to)-Math.max(e.from,n.from);this.syncGutters(r<(n.to-n.from)*.8)}t.geometryChanged&&(this.dom.style.minHeight=this.view.contentHeight/this.view.scaleY+"px"),this.view.state.facet(lv)!=!this.fixed&&(this.fixed=!this.fixed,this.dom.style.position=this.fixed?"sticky":""),this.prevViewport=t.view.viewport}syncGutters(t){let e=this.dom.nextSibling;t&&this.dom.remove();let n=ut.iter(this.view.state.facet(zu),this.view.viewport.from),r=[],i=this.gutters.map(o=>new YW(o,this.view.viewport,-this.view.documentPadding.top));for(let o of this.view.viewportLineBlocks)if(r.length&&(r=[]),Array.isArray(o.type)){let s=!0;for(let a of o.type)if(a.type==$n.Text&&s){lg(n,r,a.from);for(let c of i)c.line(this.view,a,r);s=!1}else if(a.widget)for(let c of i)c.widget(this.view,a)}else if(o.type==$n.Text){lg(n,r,o.from);for(let s of i)s.line(this.view,o,r)}else if(o.widget)for(let s of i)s.widget(this.view,o);for(let o of i)o.finish();t&&this.view.scrollDOM.insertBefore(this.dom,e)}updateGutters(t){let e=t.startState.facet(al),n=t.state.facet(al),r=t.docChanged||t.heightChanged||t.viewportChanged||!ut.eq(t.startState.facet(zu),t.state.facet(zu),t.view.viewport.from,t.view.viewport.to);if(e==n)for(let i of this.gutters)i.update(t)&&(r=!0);else{r=!0;let i=[];for(let o of n){let s=e.indexOf(o);s<0?i.push(new uv(this.view,o)):(this.gutters[s].update(t),i.push(this.gutters[s]))}for(let o of this.gutters)o.dom.remove(),i.indexOf(o)<0&&o.destroy();for(let o of i)this.dom.appendChild(o.dom);this.gutters=i}return r}destroy(){for(let t of this.gutters)t.destroy();this.dom.remove()}},{provide:t=>Te.scrollMargins.of(e=>{let n=e.plugin(t);return!n||n.gutters.length==0||!n.fixed?null:e.textDirection==At.LTR?{left:n.dom.offsetWidth*e.scaleX}:{right:n.dom.offsetWidth*e.scaleX}})});function cv(t){return Array.isArray(t)?t:[t]}function lg(t,e,n){for(;t.value&&t.from<=n;)t.from==n&&e.push(t.value),t.next()}class YW{constructor(e,n,r){this.gutter=e,this.height=r,this.i=0,this.cursor=ut.iter(e.markers,n.from)}addElement(e,n,r){let{gutter:i}=this,o=(n.top-this.height)/e.scaleY,s=n.height/e.scaleY;if(this.i==i.elements.length){let a=new PC(e,s,o,r);i.elements.push(a),i.dom.appendChild(a.dom)}else i.elements[this.i].update(e,s,o,r);this.height=n.bottom,this.i++}line(e,n,r){let i=[];lg(this.cursor,i,n.from),r.length&&(i=i.concat(r));let o=this.gutter.config.lineMarker(e,n,i);o&&i.unshift(o);let s=this.gutter;i.length==0&&!s.config.renderEmptyElements||this.addElement(e,n,i)}widget(e,n){let r=this.gutter.config.widgetMarker(e,n.widget,n),i=r?[r]:null;for(let o of e.state.facet(UW)){let s=o(e,n.widget,n);s&&(i||(i=[])).push(s)}i&&this.addElement(e,n,i)}finish(){let e=this.gutter;for(;e.elements.length>this.i;){let n=e.elements.pop();e.dom.removeChild(n.dom),n.destroy()}}}class uv{constructor(e,n){this.view=e,this.config=n,this.elements=[],this.spacer=null,this.dom=document.createElement("div"),this.dom.className="cm-gutter"+(this.config.class?" "+this.config.class:"");for(let r in n.domEventHandlers)this.dom.addEventListener(r,i=>{let o=i.target,s;if(o!=this.dom&&this.dom.contains(o)){for(;o.parentNode!=this.dom;)o=o.parentNode;let c=o.getBoundingClientRect();s=(c.top+c.bottom)/2}else s=i.clientY;let a=e.lineBlockAtHeight(s-e.documentTop);n.domEventHandlers[r](e,a,i)&&i.preventDefault()});this.markers=cv(n.markers(e)),n.initialSpacer&&(this.spacer=new PC(e,0,0,[n.initialSpacer(e)]),this.dom.appendChild(this.spacer.dom),this.spacer.dom.style.cssText+="visibility: hidden; pointer-events: none")}update(e){let n=this.markers;if(this.markers=cv(this.config.markers(e.view)),this.spacer&&this.config.updateSpacer){let i=this.config.updateSpacer(this.spacer.markers[0],e);i!=this.spacer.markers[0]&&this.spacer.update(e.view,0,0,[i])}let r=e.view.viewport;return!ut.eq(this.markers,n,r.from,r.to)||(this.config.lineMarkerChange?this.config.lineMarkerChange(e):!1)}destroy(){for(let e of this.elements)e.destroy()}}class PC{constructor(e,n,r,i){this.height=-1,this.above=0,this.markers=[],this.dom=document.createElement("div"),this.dom.className="cm-gutterElement",this.update(e,n,r,i)}update(e,n,r,i){this.height!=n&&(this.height=n,this.dom.style.height=n+"px"),this.above!=r&&(this.dom.style.marginTop=(this.above=r)?r+"px":""),XW(this.markers,i)||this.setMarkers(e,i)}setMarkers(e,n){let r="cm-gutterElement",i=this.dom.firstChild;for(let o=0,s=0;;){let a=s,c=o<n.length?n[o++]:null,d=!1;if(c){let h=c.elementClass;h&&(r+=" "+h);for(let g=s;g<this.markers.length;g++)if(this.markers[g].compare(c)){a=g,d=!0;break}}else a=this.markers.length;for(;s<a;){let h=this.markers[s++];if(h.toDOM){h.destroy(i);let g=i.nextSibling;i.remove(),i=g}}if(!c)break;c.toDOM&&(d?i=i.nextSibling:this.dom.insertBefore(c.toDOM(e),i)),d&&s++}this.dom.className=r,this.markers=n}destroy(){this.setMarkers(null,[])}}function XW(t,e){if(t.length!=e.length)return!1;for(let n=0;n<t.length;n++)if(!t[n].compare(e[n]))return!1;return!0}const QW=Ie.define(),ZW=Ie.define(),Ts=Ie.define({combine(t){return ii(t,{formatNumber:String,domEventHandlers:{}},{domEventHandlers(e,n){let r=Object.assign({},e);for(let i in n){let o=r[i],s=n[i];r[i]=o?(a,c,d)=>o(a,c,d)||s(a,c,d):s}return r}})}});class E0 extends Mi{constructor(e){super(),this.number=e}eq(e){return this.number==e.number}toDOM(){return document.createTextNode(this.number)}}function M0(t,e){return t.state.facet(Ts).formatNumber(e,t.state)}const JW=al.compute([Ts],t=>({class:"cm-lineNumbers",renderEmptyElements:!1,markers(e){return e.state.facet(QW)},lineMarker(e,n,r){return r.some(i=>i.toDOM)?null:new E0(M0(e,e.state.doc.lineAt(n.from).number))},widgetMarker:(e,n,r)=>{for(let i of e.state.facet(ZW)){let o=i(e,n,r);if(o)return o}return null},lineMarkerChange:e=>e.startState.facet(Ts)!=e.state.facet(Ts),initialSpacer(e){return new E0(M0(e,dv(e.state.doc.lines)))},updateSpacer(e,n){let r=M0(n.view,dv(n.view.state.doc.lines));return r==e.number?e:new E0(r)},domEventHandlers:t.facet(Ts).domEventHandlers}));function eU(t={}){return[Ts.of(t),FC(),JW]}function dv(t){let e=9;for(;e<t;)e=e*10+9;return e}const tU=new class extends Mi{constructor(){super(...arguments),this.elementClass="cm-activeLineGutter"}},nU=zu.compute(["selection"],t=>{let e=[],n=-1;for(let r of t.selection.ranges){let i=t.doc.lineAt(r.head).from;i>n&&(n=i,e.push(tU.range(i)))}return ut.of(e)});function rU(){return nU}var I0;const ks=new nt;function iU(t){return Ie.define({combine:t?e=>e.concat(t):void 0})}const oU=new nt;class $r{constructor(e,n,r=[],i=""){this.data=e,this.name=i,lt.prototype.hasOwnProperty("tree")||Object.defineProperty(lt.prototype,"tree",{get(){return mn(this)}}),this.parser=n,this.extension=[lo.of(this),lt.languageData.of((o,s,a)=>{let c=hv(o,s,a),d=c.type.prop(ks);if(!d)return[];let h=o.facet(d),g=c.type.prop(oU);if(g){let m=c.resolve(s-c.from,a);for(let b of g)if(b.test(m,o)){let v=o.facet(b.facet);return b.type=="replace"?v:v.concat(h)}}return h})].concat(r)}isActiveAt(e,n,r=-1){return hv(e,n,r).type.prop(ks)==this.data}findRegions(e){let n=e.facet(lo);if(n?.data==this.data)return[{from:0,to:e.doc.length}];if(!n||!n.allowsNesting)return[];let r=[],i=(o,s)=>{if(o.prop(ks)==this.data){r.push({from:s,to:s+o.length});return}let a=o.prop(nt.mounted);if(a){if(a.tree.prop(ks)==this.data){if(a.overlay)for(let c of a.overlay)r.push({from:c.from+s,to:c.to+s});else r.push({from:s,to:s+o.length});return}else if(a.overlay){let c=r.length;if(i(a.tree,a.overlay[0].from+s),r.length>c)return}}for(let c=0;c<o.children.length;c++){let d=o.children[c];d instanceof zt&&i(d,o.positions[c]+s)}};return i(mn(e),0),r}get allowsNesting(){return!0}}$r.setState=Xe.define();function hv(t,e,n){let r=t.facet(lo),i=mn(t).topNode;if(!r||r.allowsNesting)for(let o=i;o;o=o.enter(e,n,Zt.ExcludeBuffers))o.type.isTop&&(i=o);return i}class pd extends $r{constructor(e,n,r){super(e,n,[],r),this.parser=n}static define(e){let n=iU(e.languageData);return new pd(n,e.parser.configure({props:[ks.add(r=>r.isTop?n:void 0)]}),e.name)}configure(e,n){return new pd(this.data,this.parser.configure(e),n||this.name)}get allowsNesting(){return this.parser.hasWrappers()}}function mn(t){let e=t.field($r.state,!1);return e?e.tree:zt.empty}class sU{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,n){let r=this.cursorPos-this.string.length;return e<r||n>=this.cursorPos?this.doc.sliceString(e,n):this.string.slice(e-r,n-r)}}let Pa=null;class md{constructor(e,n,r=[],i,o,s,a,c){this.parser=e,this.state=n,this.fragments=r,this.tree=i,this.treeLen=o,this.viewport=s,this.skipped=a,this.scheduleOn=c,this.parse=null,this.tempSkipped=[]}static create(e,n,r){return new md(e,n,[],zt.empty,0,r,[],null)}startParse(){return this.parser.startParse(new sU(this.state.doc),this.fragments)}work(e,n){return n!=null&&n>=this.state.doc.length&&(n=void 0),this.tree!=zt.empty&&this.isDone(n??this.state.doc.length)?(this.takeTree(),!0):this.withContext(()=>{var r;if(typeof e=="number"){let i=Date.now()+e;e=()=>Date.now()>i}for(this.parse||(this.parse=this.startParse()),n!=null&&(this.parse.stoppedAt==null||this.parse.stoppedAt>n)&&n<this.state.doc.length&&this.parse.stopAt(n);;){let i=this.parse.advance();if(i)if(this.fragments=this.withoutTempSkipped(jo.addTree(i,this.fragments,this.parse.stoppedAt!=null)),this.treeLen=(r=this.parse.stoppedAt)!==null&&r!==void 0?r:this.state.doc.length,this.tree=i,this.parse=null,this.treeLen<(n??this.state.doc.length))this.parse=this.startParse();else return!0;if(e())return!1}})}takeTree(){let e,n;this.parse&&(e=this.parse.parsedPos)>=this.treeLen&&((this.parse.stoppedAt==null||this.parse.stoppedAt>e)&&this.parse.stopAt(e),this.withContext(()=>{for(;!(n=this.parse.advance()););}),this.treeLen=e,this.tree=n,this.fragments=this.withoutTempSkipped(jo.addTree(this.tree,this.fragments,!0)),this.parse=null)}withContext(e){let n=Pa;Pa=this;try{return e()}finally{Pa=n}}withoutTempSkipped(e){for(let n;n=this.tempSkipped.pop();)e=fv(e,n.from,n.to);return e}changes(e,n){let{fragments:r,tree:i,treeLen:o,viewport:s,skipped:a}=this;if(this.takeTree(),!e.empty){let c=[];if(e.iterChangedRanges((d,h,g,m)=>c.push({fromA:d,toA:h,fromB:g,toB:m})),r=jo.applyChanges(r,c),i=zt.empty,o=0,s={from:e.mapPos(s.from,-1),to:e.mapPos(s.to,1)},this.skipped.length){a=[];for(let d of this.skipped){let h=e.mapPos(d.from,1),g=e.mapPos(d.to,-1);h<g&&a.push({from:h,to:g})}}}return new md(this.parser,n,r,i,o,s,a,this.scheduleOn)}updateViewport(e){if(this.viewport.from==e.from&&this.viewport.to==e.to)return!1;this.viewport=e;let n=this.skipped.length;for(let r=0;r<this.skipped.length;r++){let{from:i,to:o}=this.skipped[r];i<e.to&&o>e.from&&(this.fragments=fv(this.fragments,i,o),this.skipped.splice(r--,1))}return this.skipped.length>=n?!1:(this.reset(),!0)}reset(){this.parse&&(this.takeTree(),this.parse=null)}skipUntilInView(e,n){this.skipped.push({from:e,to:n})}static getSkippingParser(e){return new class extends h6{createParse(n,r,i){let o=i[0].from,s=i[i.length-1].to;return{parsedPos:o,advance(){let c=Pa;if(c){for(let d of i)c.tempSkipped.push(d);e&&(c.scheduleOn=c.scheduleOn?Promise.all([c.scheduleOn,e]):e)}return this.parsedPos=s,new zt(jn.none,[],[],s-o)},stoppedAt:null,stopAt(){}}}}}isDone(e){e=Math.min(e,this.state.doc.length);let n=this.fragments;return this.treeLen>=e&&n.length&&n[0].from==0&&n[0].to>=e}static get(){return Pa}}function fv(t,e,n){return jo.applyChanges(t,[{fromA:e,toA:n,fromB:e,toB:n}])}class na{constructor(e){this.context=e,this.tree=e.tree}apply(e){if(!e.docChanged&&this.tree==this.context.tree)return this;let n=this.context.changes(e.changes,e.state),r=this.context.treeLen==e.startState.doc.length?void 0:Math.max(e.changes.mapPos(this.context.treeLen),n.viewport.to);return n.work(20,r)||n.takeTree(),new na(n)}static init(e){let n=Math.min(3e3,e.doc.length),r=md.create(e.facet(lo).parser,e,{from:0,to:n});return r.work(20,n)||r.takeTree(),new na(r)}}$r.state=nn.define({create:na.init,update(t,e){for(let n of e.effects)if(n.is($r.setState))return n.value;return e.startState.facet(lo)!=e.state.facet(lo)?na.init(e.state):t.apply(e)}});let VC=t=>{let e=setTimeout(()=>t(),500);return()=>clearTimeout(e)};typeof requestIdleCallback<"u"&&(VC=t=>{let e=-1,n=setTimeout(()=>{e=requestIdleCallback(t,{timeout:400})},100);return()=>e<0?clearTimeout(n):cancelIdleCallback(e)});const O0=typeof navigator<"u"&&(!((I0=navigator.scheduling)===null||I0===void 0)&&I0.isInputPending)?()=>navigator.scheduling.isInputPending():null,aU=Pt.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 n=this.view.state.field($r.state).context;(n.updateViewport(e.view.viewport)||this.view.viewport.to>n.treeLen)&&this.scheduleWork(),(e.docChanged||e.selectionSet)&&(this.view.hasFocus&&(this.chunkBudget+=50),this.scheduleWork()),this.checkAsyncSchedule(n)}scheduleWork(){if(this.working)return;let{state:e}=this.view,n=e.field($r.state);(n.tree!=n.context.tree||!n.context.isDone(e.doc.length))&&(this.working=VC(this.work))}work(e){this.working=null;let n=Date.now();if(this.chunkEnd<n&&(this.chunkEnd<0||this.view.hasFocus)&&(this.chunkEnd=n+3e4,this.chunkBudget=3e3),this.chunkBudget<=0)return;let{state:r,viewport:{to:i}}=this.view,o=r.field($r.state);if(o.tree==o.context.tree&&o.context.isDone(i+1e5))return;let s=Date.now()+Math.min(this.chunkBudget,100,e&&!O0?Math.max(25,e.timeRemaining()-5):1e9),a=o.context.treeLen<i&&r.doc.length>i+1e3,c=o.context.work(()=>O0&&O0()||Date.now()>s,i+(a?0:1e5));this.chunkBudget-=Date.now()-n,(c||this.chunkBudget<=0)&&(o.context.takeTree(),this.view.dispatch({effects:$r.setState.of(new na(o.context))})),this.chunkBudget>0&&!(c&&!a)&&this.scheduleWork(),this.checkAsyncSchedule(o.context)}checkAsyncSchedule(e){e.scheduleOn&&(this.workScheduled++,e.scheduleOn.then(()=>this.scheduleWork()).catch(n=>Dn(this.view.state,n)).then(()=>this.workScheduled--),e.scheduleOn=null)}destroy(){this.working&&this.working()}isWorking(){return!!(this.working||this.workScheduled>0)}},{eventHandlers:{focus(){this.scheduleWork()}}}),lo=Ie.define({combine(t){return t.length?t[0]:null},enables:t=>[$r.state,aU,Te.contentAttributes.compute([t],e=>{let n=e.facet(t);return n&&n.name?{"data-language":n.name}:{}})]});class lU{constructor(e,n=[]){this.language=e,this.support=n,this.extension=[e,n]}}const cU=Ie.define(),hh=Ie.define({combine:t=>{if(!t.length)return" ";let e=t[0];if(!e||/\S/.test(e)||Array.from(e).some(n=>n!=e[0]))throw new Error("Invalid indent unit: "+JSON.stringify(t[0]));return e}});function bd(t){let e=t.facet(hh);return e.charCodeAt(0)==9?t.tabSize*e.length:e.length}function Al(t,e){let n="",r=t.tabSize,i=t.facet(hh)[0];if(i==" "){for(;e>=r;)n+=" ",e-=r;i=" "}for(let o=0;o<e;o++)n+=i;return n}function am(t,e){t instanceof lt&&(t=new fh(t));for(let r of t.state.facet(cU)){let i=r(t,e);if(i!==void 0)return i}let n=mn(t.state);return n.length>=e?uU(t,n,e):null}class fh{constructor(e,n={}){this.state=e,this.options=n,this.unit=bd(e)}lineAt(e,n=1){let r=this.state.doc.lineAt(e),{simulateBreak:i,simulateDoubleBreak:o}=this.options;return i!=null&&i>=r.from&&i<=r.to?o&&i==e?{text:"",from:e}:(n<0?i<e:i<=e)?{text:r.text.slice(i-r.from),from:i}:{text:r.text.slice(0,i-r.from),from:r.from}:r}textAfterPos(e,n=1){if(this.options.simulateDoubleBreak&&e==this.options.simulateBreak)return"";let{text:r,from:i}=this.lineAt(e,n);return r.slice(e-i,Math.min(r.length,e+100-i))}column(e,n=1){let{text:r,from:i}=this.lineAt(e,n),o=this.countColumn(r,e-i),s=this.options.overrideIndentation?this.options.overrideIndentation(i):-1;return s>-1&&(o+=s-this.countColumn(r,r.search(/\S|$/))),o}countColumn(e,n=e.length){return ga(e,this.state.tabSize,n)}lineIndent(e,n=1){let{text:r,from:i}=this.lineAt(e,n),o=this.options.overrideIndentation;if(o){let s=o(i);if(s>-1)return s}return this.countColumn(r,r.search(/\S|$/))}get simulatedBreak(){return this.options.simulateBreak||null}}const HC=new nt;function uU(t,e,n){let r=e.resolveStack(n),i=e.resolveInner(n,-1).resolve(n,0).enterUnfinishedNodesBefore(n);if(i!=r.node){let o=[];for(let s=i;s&&!(s.from==r.node.from&&s.type==r.node.type);s=s.parent)o.push(s);for(let s=o.length-1;s>=0;s--)r={node:o[s],next:r}}return zC(r,t,n)}function zC(t,e,n){for(let r=t;r;r=r.next){let i=hU(r.node);if(i)return i(lm.create(e,n,r))}return 0}function dU(t){return t.pos==t.options.simulateBreak&&t.options.simulateDoubleBreak}function hU(t){let e=t.type.prop(HC);if(e)return e;let n=t.firstChild,r;if(n&&(r=n.type.prop(nt.closedBy))){let i=t.lastChild,o=i&&r.indexOf(i.name)>-1;return s=>mU(s,!0,1,void 0,o&&!dU(s)?i.from:void 0)}return t.parent==null?fU:null}function fU(){return 0}class lm extends fh{constructor(e,n,r){super(e.state,e.options),this.base=e,this.pos=n,this.context=r}get node(){return this.context.node}static create(e,n,r){return new lm(e,n,r)}get textAfter(){return this.textAfterPos(this.pos)}get baseIndent(){return this.baseIndentFor(this.node)}baseIndentFor(e){let n=this.state.doc.lineAt(e.from);for(;;){let r=e.resolve(n.from);for(;r.parent&&r.parent.from==r.from;)r=r.parent;if(gU(r,e))break;n=this.state.doc.lineAt(r.from)}return this.lineIndent(n.from)}continue(){return zC(this.context.next,this.base,this.pos)}}function gU(t,e){for(let n=e;n;n=n.parent)if(t==n)return!0;return!1}function pU(t){let e=t.node,n=e.childAfter(e.from),r=e.lastChild;if(!n)return null;let i=t.options.simulateBreak,o=t.state.doc.lineAt(n.from),s=i==null||i<=o.from?o.to:Math.min(o.to,i);for(let a=n.to;;){let c=e.childAfter(a);if(!c||c==r)return null;if(!c.type.isSkipped){if(c.from>=s)return null;let d=/^ */.exec(o.text.slice(n.to-o.from))[0].length;return{from:n.from,to:n.to+d}}a=c.to}}function mU(t,e,n,r,i){let o=t.textAfter,s=o.match(/^\s*/)[0].length,a=i==t.pos+s,c=pU(t);return c?a?t.column(c.from):t.column(c.to):t.baseIndent+(a?0:t.unit*n)}function gv({except:t,units:e=1}={}){return n=>{let r=t&&t.test(n.textAfter);return n.baseIndent+(r?0:e*n.unit)}}const bU=200;function xU(){return lt.transactionFilter.of(t=>{if(!t.docChanged||!t.isUserEvent("input.type")&&!t.isUserEvent("input.complete"))return t;let e=t.startState.languageDataAt("indentOnInput",t.startState.selection.main.head);if(!e.length)return t;let n=t.newDoc,{head:r}=t.newSelection.main,i=n.lineAt(r);if(r>i.from+bU)return t;let o=n.sliceString(i.from,r);if(!e.some(d=>d.test(o)))return t;let{state:s}=t,a=-1,c=[];for(let{head:d}of s.selection.ranges){let h=s.doc.lineAt(d);if(h.from==a)continue;a=h.from;let g=am(s,h.from);if(g==null)continue;let m=/^\s*/.exec(h.text)[0],b=Al(s,g);m!=b&&c.push({from:h.from,to:h.from+m.length,insert:b})}return c.length?[t,{changes:c,sequential:!0}]:t})}const vU=Ie.define(),WC=new nt;function wU(t){let e=t.firstChild,n=t.lastChild;return e&&e.to<n.from?{from:e.to,to:n.type.isError?t.to:n.from}:null}function yU(t,e,n){let r=mn(t);if(r.length<n)return null;let i=r.resolveStack(n,1),o=null;for(let s=i;s;s=s.next){let a=s.node;if(a.to<=n||a.from>n)continue;if(o&&a.from<e)break;let c=a.type.prop(WC);if(c&&(a.to<r.length-50||r.length==t.doc.length||!CU(a))){let d=c(a,t);d&&d.from<=n&&d.from>=e&&d.to>n&&(o=d)}}return o}function CU(t){let e=t.lastChild;return e&&e.to==t.to&&e.type.isError}function xd(t,e,n){for(let r of t.facet(vU)){let i=r(t,e,n);if(i)return i}return yU(t,e,n)}function UC(t,e){let n=e.mapPos(t.from,1),r=e.mapPos(t.to,-1);return n>=r?void 0:{from:n,to:r}}const gh=Xe.define({map:UC}),Gl=Xe.define({map:UC});function qC(t){let e=[];for(let{head:n}of t.state.selection.ranges)e.some(r=>r.from<=n&&r.to>=n)||e.push(t.lineBlockAt(n));return e}const Uo=nn.define({create(){return Fe.none},update(t,e){t=t.map(e.changes);for(let n of e.effects)if(n.is(gh)&&!$U(t,n.value.from,n.value.to)){let{preparePlaceholder:r}=e.state.facet(YC),i=r?Fe.replace({widget:new MU(r(e.state,n.value))}):pv;t=t.update({add:[i.range(n.value.from,n.value.to)]})}else n.is(Gl)&&(t=t.update({filter:(r,i)=>n.value.from!=r||n.value.to!=i,filterFrom:n.value.from,filterTo:n.value.to}));if(e.selection){let n=!1,{head:r}=e.selection.main;t.between(r,r,(i,o)=>{i<r&&o>r&&(n=!0)}),n&&(t=t.update({filterFrom:r,filterTo:r,filter:(i,o)=>o<=r||i>=r}))}return t},provide:t=>Te.decorations.from(t),toJSON(t,e){let n=[];return t.between(0,e.doc.length,(r,i)=>{n.push(r,i)}),n},fromJSON(t){if(!Array.isArray(t)||t.length%2)throw new RangeError("Invalid JSON for fold state");let e=[];for(let n=0;n<t.length;){let r=t[n++],i=t[n++];if(typeof r!="number"||typeof i!="number")throw new RangeError("Invalid JSON for fold state");e.push(pv.range(r,i))}return Fe.set(e,!0)}});function vd(t,e,n){var r;let i=null;return(r=t.field(Uo,!1))===null||r===void 0||r.between(e,n,(o,s)=>{(!i||i.from>o)&&(i={from:o,to:s})}),i}function $U(t,e,n){let r=!1;return t.between(e,e,(i,o)=>{i==e&&o==n&&(r=!0)}),r}function KC(t,e){return t.field(Uo,!1)?e:e.concat(Xe.appendConfig.of(XC()))}const SU=t=>{for(let e of qC(t)){let n=xd(t.state,e.from,e.to);if(n)return t.dispatch({effects:KC(t.state,[gh.of(n),GC(t,n)])}),!0}return!1},AU=t=>{if(!t.state.field(Uo,!1))return!1;let e=[];for(let n of qC(t)){let r=vd(t.state,n.from,n.to);r&&e.push(Gl.of(r),GC(t,r,!1))}return e.length&&t.dispatch({effects:e}),e.length>0};function GC(t,e,n=!0){let r=t.state.doc.lineAt(e.from).number,i=t.state.doc.lineAt(e.to).number;return Te.announce.of(`${t.state.phrase(n?"Folded lines":"Unfolded lines")} ${r} ${t.state.phrase("to")} ${i}.`)}const RU=t=>{let{state:e}=t,n=[];for(let r=0;r<e.doc.length;){let i=t.lineBlockAt(r),o=xd(e,i.from,i.to);o&&n.push(gh.of(o)),r=(o?t.lineBlockAt(o.to):i).to+1}return n.length&&t.dispatch({effects:KC(t.state,n)}),!!n.length},TU=t=>{let e=t.state.field(Uo,!1);if(!e||!e.size)return!1;let n=[];return e.between(0,t.state.doc.length,(r,i)=>{n.push(Gl.of({from:r,to:i}))}),t.dispatch({effects:n}),!0},kU=[{key:"Ctrl-Shift-[",mac:"Cmd-Alt-[",run:SU},{key:"Ctrl-Shift-]",mac:"Cmd-Alt-]",run:AU},{key:"Ctrl-Alt-[",run:RU},{key:"Ctrl-Alt-]",run:TU}],EU={placeholderDOM:null,preparePlaceholder:null,placeholderText:"…"},YC=Ie.define({combine(t){return ii(t,EU)}});function XC(t){return[Uo,DU]}function QC(t,e){let{state:n}=t,r=n.facet(YC),i=s=>{let a=t.lineBlockAt(t.posAtDOM(s.target)),c=vd(t.state,a.from,a.to);c&&t.dispatch({effects:Gl.of(c)}),s.preventDefault()};if(r.placeholderDOM)return r.placeholderDOM(t,i,e);let o=document.createElement("span");return o.textContent=r.placeholderText,o.setAttribute("aria-label",n.phrase("folded code")),o.title=n.phrase("unfold"),o.className="cm-foldPlaceholder",o.onclick=i,o}const pv=Fe.replace({widget:new class extends Di{toDOM(t){return QC(t,null)}}});class MU extends Di{constructor(e){super(),this.value=e}eq(e){return this.value==e.value}toDOM(e){return QC(e,this.value)}}const IU={openText:"⌄",closedText:"›",markerDOM:null,domEventHandlers:{},foldingChanged:()=>!1};class D0 extends Mi{constructor(e,n){super(),this.config=e,this.open=n}eq(e){return this.config==e.config&&this.open==e.open}toDOM(e){if(this.config.markerDOM)return this.config.markerDOM(this.open);let n=document.createElement("span");return n.textContent=this.open?this.config.openText:this.config.closedText,n.title=e.state.phrase(this.open?"Fold line":"Unfold line"),n}}function OU(t={}){let e=Object.assign(Object.assign({},IU),t),n=new D0(e,!0),r=new D0(e,!1),i=Pt.fromClass(class{constructor(s){this.from=s.viewport.from,this.markers=this.buildMarkers(s)}update(s){(s.docChanged||s.viewportChanged||s.startState.facet(lo)!=s.state.facet(lo)||s.startState.field(Uo,!1)!=s.state.field(Uo,!1)||mn(s.startState)!=mn(s.state)||e.foldingChanged(s))&&(this.markers=this.buildMarkers(s.view))}buildMarkers(s){let a=new ki;for(let c of s.viewportLineBlocks){let d=vd(s.state,c.from,c.to)?r:xd(s.state,c.from,c.to)?n:null;d&&a.add(c.from,c.from,d)}return a.finish()}}),{domEventHandlers:o}=e;return[i,KW({class:"cm-foldGutter",markers(s){var a;return((a=s.plugin(i))===null||a===void 0?void 0:a.markers)||ut.empty},initialSpacer(){return new D0(e,!1)},domEventHandlers:Object.assign(Object.assign({},o),{click:(s,a,c)=>{if(o.click&&o.click(s,a,c))return!0;let d=vd(s.state,a.from,a.to);if(d)return s.dispatch({effects:Gl.of(d)}),!0;let h=xd(s.state,a.from,a.to);return h?(s.dispatch({effects:gh.of(h)}),!0):!1}})}),XC()]}const DU=Te.baseTheme({".cm-foldPlaceholder":{backgroundColor:"#eee",border:"1px solid #ddd",color:"#888",borderRadius:".2em",margin:"0 1px",padding:"0 1px",cursor:"pointer"},".cm-foldGutter span":{padding:"0 1px",cursor:"pointer"}});class Yl{constructor(e,n){this.specs=e;let r;function i(a){let c=oo.newName();return(r||(r=Object.create(null)))["."+c]=a,c}const o=typeof n.all=="string"?n.all:n.all?i(n.all):void 0,s=n.scope;this.scope=s instanceof $r?a=>a.prop(ks)==s.data:s?a=>a==s:void 0,this.style=p6(e.map(a=>({tag:a.tag,class:a.class||i(Object.assign({},a,{tag:null}))})),{all:o}).style,this.module=r?new oo(r):null,this.themeType=n.themeType}static define(e,n){return new Yl(e,n||{})}}const cg=Ie.define(),ZC=Ie.define({combine(t){return t.length?[t[0]]:null}});function L0(t){let e=t.facet(cg);return e.length?e:t.facet(ZC)}function JC(t,e){let n=[jU],r;return t instanceof Yl&&(t.module&&n.push(Te.styleModule.of(t.module)),r=t.themeType),e?.fallback?n.push(ZC.of(t)):r?n.push(cg.computeN([Te.darkTheme],i=>i.facet(Te.darkTheme)==(r=="dark")?[t]:[])):n.push(cg.of(t)),n}class LU{constructor(e){this.markCache=Object.create(null),this.tree=mn(e.state),this.decorations=this.buildDeco(e,L0(e.state)),this.decoratedTo=e.viewport.to}update(e){let n=mn(e.state),r=L0(e.state),i=r!=L0(e.startState),{viewport:o}=e.view,s=e.changes.mapPos(this.decoratedTo,1);n.length<o.to&&!i&&n.type==this.tree.type&&s>=o.to?(this.decorations=this.decorations.map(e.changes),this.decoratedTo=s):(n!=this.tree||e.viewportChanged||i)&&(this.tree=n,this.decorations=this.buildDeco(e.view,r),this.decoratedTo=o.to)}buildDeco(e,n){if(!n||!this.tree.length)return Fe.none;let r=new ki;for(let{from:i,to:o}of e.visibleRanges)eH(this.tree,n,(s,a,c)=>{r.add(s,a,this.markCache[c]||(this.markCache[c]=Fe.mark({class:c})))},i,o);return r.finish()}}const jU=ts.high(Pt.fromClass(LU,{decorations:t=>t.decorations})),_U=Yl.define([{tag:G.meta,color:"#404740"},{tag:G.link,textDecoration:"underline"},{tag:G.heading,textDecoration:"underline",fontWeight:"bold"},{tag:G.emphasis,fontStyle:"italic"},{tag:G.strong,fontWeight:"bold"},{tag:G.strikethrough,textDecoration:"line-through"},{tag:G.keyword,color:"#708"},{tag:[G.atom,G.bool,G.url,G.contentSeparator,G.labelName],color:"#219"},{tag:[G.literal,G.inserted],color:"#164"},{tag:[G.string,G.deleted],color:"#a11"},{tag:[G.regexp,G.escape,G.special(G.string)],color:"#e40"},{tag:G.definition(G.variableName),color:"#00f"},{tag:G.local(G.variableName),color:"#30a"},{tag:[G.typeName,G.namespace],color:"#085"},{tag:G.className,color:"#167"},{tag:[G.special(G.variableName),G.macroName],color:"#256"},{tag:G.definition(G.propertyName),color:"#00c"},{tag:G.comment,color:"#940"},{tag:G.invalid,color:"#f00"}]),NU=Te.baseTheme({"&.cm-focused .cm-matchingBracket":{backgroundColor:"#328c8252"},"&.cm-focused .cm-nonmatchingBracket":{backgroundColor:"#bb555544"}}),e4=1e4,t4="()[]{}",n4=Ie.define({combine(t){return ii(t,{afterCursor:!0,brackets:t4,maxScanDistance:e4,renderMatch:PU})}}),BU=Fe.mark({class:"cm-matchingBracket"}),FU=Fe.mark({class:"cm-nonmatchingBracket"});function PU(t){let e=[],n=t.matched?BU:FU;return e.push(n.range(t.start.from,t.start.to)),t.end&&e.push(n.range(t.end.from,t.end.to)),e}const VU=nn.define({create(){return Fe.none},update(t,e){if(!e.docChanged&&!e.selection)return t;let n=[],r=e.state.facet(n4);for(let i of e.state.selection.ranges){if(!i.empty)continue;let o=Ur(e.state,i.head,-1,r)||i.head>0&&Ur(e.state,i.head-1,1,r)||r.afterCursor&&(Ur(e.state,i.head,1,r)||i.head<e.state.doc.length&&Ur(e.state,i.head+1,-1,r));o&&(n=n.concat(r.renderMatch(o,e.state)))}return Fe.set(n,!0)},provide:t=>Te.decorations.from(t)}),HU=[VU,NU];function zU(t={}){return[n4.of(t),HU]}const WU=new nt;function ug(t,e,n){let r=t.prop(e<0?nt.openedBy:nt.closedBy);if(r)return r;if(t.name.length==1){let i=n.indexOf(t.name);if(i>-1&&i%2==(e<0?1:0))return[n[i+e]]}return null}function dg(t){let e=t.type.prop(WU);return e?e(t.node):t}function Ur(t,e,n,r={}){let i=r.maxScanDistance||e4,o=r.brackets||t4,s=mn(t),a=s.resolveInner(e,n);for(let c=a;c;c=c.parent){let d=ug(c.type,n,o);if(d&&c.from<c.to){let h=dg(c);if(h&&(n>0?e>=h.from&&e<h.to:e>h.from&&e<=h.to))return UU(t,e,n,c,h,d,o)}}return qU(t,e,n,s,a.type,i,o)}function UU(t,e,n,r,i,o,s){let a=r.parent,c={from:i.from,to:i.to},d=0,h=a?.cursor();if(h&&(n<0?h.childBefore(r.from):h.childAfter(r.to)))do if(n<0?h.to<=r.from:h.from>=r.to){if(d==0&&o.indexOf(h.type.name)>-1&&h.from<h.to){let g=dg(h);return{start:c,end:g?{from:g.from,to:g.to}:void 0,matched:!0}}else if(ug(h.type,n,s))d++;else if(ug(h.type,-n,s)){if(d==0){let g=dg(h);return{start:c,end:g&&g.from<g.to?{from:g.from,to:g.to}:void 0,matched:!1}}d--}}while(n<0?h.prevSibling():h.nextSibling());return{start:c,matched:!1}}function qU(t,e,n,r,i,o,s){let a=n<0?t.sliceDoc(e-1,e):t.sliceDoc(e,e+1),c=s.indexOf(a);if(c<0||c%2==0!=n>0)return null;let d={from:n<0?e-1:e,to:n>0?e+1:e},h=t.doc.iterRange(e,n>0?t.doc.length:0),g=0;for(let m=0;!h.next().done&&m<=o;){let b=h.value;n<0&&(m+=b.length);let v=e+m*n;for(let w=n>0?0:b.length-1,y=n>0?b.length:-1;w!=y;w+=n){let $=s.indexOf(b[w]);if(!($<0||r.resolveInner(v+w,1).type!=i))if($%2==0==n>0)g++;else{if(g==1)return{start:d,end:{from:v+w,to:v+w+1},matched:$>>1==c>>1};g--}}n>0&&(m+=b.length)}return h.done?{start:d,matched:!1}:null}const KU=Object.create(null),mv=[jn.none],bv=[],xv=Object.create(null),GU=Object.create(null);for(let[t,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"]])GU[t]=YU(KU,e);function j0(t,e){bv.indexOf(t)>-1||(bv.push(t),console.warn(e))}function YU(t,e){let n=[];for(let a of e.split(" ")){let c=[];for(let d of a.split(".")){let h=t[d]||G[d];h?typeof h=="function"?c.length?c=c.map(h):j0(d,`Modifier ${d} used at start of tag`):c.length?j0(d,`Tag ${d} used as modifier`):c=Array.isArray(h)?h:[h]:j0(d,`Unknown highlighting tag ${d}`)}for(let d of c)n.push(d)}if(!n.length)return 0;let r=e.replace(/ /g,"_"),i=r+" "+n.map(a=>a.id),o=xv[i];if(o)return o.id;let s=xv[i]=jn.define({id:mv.length,name:r,props:[f6({[r]:n})]});return mv.push(s),s.id}At.RTL,At.LTR;const XU=()=>t=>{try{JSON.parse(t.state.doc.toString())}catch(e){if(!(e instanceof SyntaxError))throw e;const n=QU(e,t.state.doc);return[{from:n,message:e.message,severity:"error",to:n}]}return[]};function QU(t,e){let n;return(n=t.message.match(/at position (\d+)/))?Math.min(+n[1],e.length):(n=t.message.match(/at line (\d+) column (\d+)/))?Math.min(e.line(+n[1]).from+ +n[2]-1,e.length):0}const ZU=pd.define({name:"json",parser:iH.configure({props:[HC.add({Object:gv({except:/^\s*\}/}),Array:gv({except:/^\s*\]/})}),WC.add({"Object Array":wU})]}),languageData:{closeBrackets:{brackets:["[","{",'"']},indentOnInput:/^\s*[\}\]]$/}});function JU(){return new lU(ZU)}function eq(t,e){if(t==null)return{};var n={};for(var r in t)if({}.hasOwnProperty.call(t,r)){if(e.includes(r))continue;n[r]=t[r]}return n}const tq=t=>{let{state:e}=t,n=e.doc.lineAt(e.selection.main.from),r=um(t.state,n.from);return r.line?nq(t):r.block?iq(t):!1};function cm(t,e){return({state:n,dispatch:r})=>{if(n.readOnly)return!1;let i=t(e,n);return i?(r(n.update(i)),!0):!1}}const nq=cm(aq,0),rq=cm(r4,0),iq=cm((t,e)=>r4(t,e,sq(e)),0);function um(t,e){let n=t.languageDataAt("commentTokens",e);return n.length?n[0]:{}}const Va=50;function oq(t,{open:e,close:n},r,i){let o=t.sliceDoc(r-Va,r),s=t.sliceDoc(i,i+Va),a=/\s*$/.exec(o)[0].length,c=/^\s*/.exec(s)[0].length,d=o.length-a;if(o.slice(d-e.length,d)==e&&s.slice(c,c+n.length)==n)return{open:{pos:r-a,margin:a&&1},close:{pos:i+c,margin:c&&1}};let h,g;i-r<=2*Va?h=g=t.sliceDoc(r,i):(h=t.sliceDoc(r,r+Va),g=t.sliceDoc(i-Va,i));let m=/^\s*/.exec(h)[0].length,b=/\s*$/.exec(g)[0].length,v=g.length-b-n.length;return h.slice(m,m+e.length)==e&&g.slice(v,v+n.length)==n?{open:{pos:r+m+e.length,margin:/\s/.test(h.charAt(m+e.length))?1:0},close:{pos:i-b-n.length,margin:/\s/.test(g.charAt(v-1))?1:0}}:null}function sq(t){let e=[];for(let n of t.selection.ranges){let r=t.doc.lineAt(n.from),i=n.to<=r.to?r:t.doc.lineAt(n.to);i.from>r.from&&i.from==n.to&&(i=n.to==r.to+1?r:t.doc.lineAt(n.to-1));let o=e.length-1;o>=0&&e[o].to>r.from?e[o].to=i.to:e.push({from:r.from+/^\s*/.exec(r.text)[0].length,to:i.to})}return e}function r4(t,e,n=e.selection.ranges){let r=n.map(o=>um(e,o.from).block);if(!r.every(o=>o))return null;let i=n.map((o,s)=>oq(e,r[s],o.from,o.to));if(t!=2&&!i.every(o=>o))return{changes:e.changes(n.map((o,s)=>i[s]?[]:[{from:o.from,insert:r[s].open+" "},{from:o.to,insert:" "+r[s].close}]))};if(t!=1&&i.some(o=>o)){let o=[];for(let s=0,a;s<i.length;s++)if(a=i[s]){let c=r[s],{open:d,close:h}=a;o.push({from:d.pos-c.open.length,to:d.pos+d.margin},{from:h.pos-h.margin,to:h.pos+c.close.length})}return{changes:o}}return null}function aq(t,e,n=e.selection.ranges){let r=[],i=-1;for(let{from:o,to:s}of n){let a=r.length,c=1e9,d=um(e,o).line;if(d){for(let h=o;h<=s;){let g=e.doc.lineAt(h);if(g.from>i&&(o==s||s>g.from)){i=g.from;let m=/^\s*/.exec(g.text)[0].length,b=m==g.length,v=g.text.slice(m,m+d.length)==d?m:-1;m<g.text.length&&m<c&&(c=m),r.push({line:g,comment:v,token:d,indent:m,empty:b,single:!1})}h=g.to+1}if(c<1e9)for(let h=a;h<r.length;h++)r[h].indent<r[h].line.text.length&&(r[h].indent=c);r.length==a+1&&(r[a].single=!0)}}if(t!=2&&r.some(o=>o.comment<0&&(!o.empty||o.single))){let o=[];for(let{line:a,token:c,indent:d,empty:h,single:g}of r)(g||!h)&&o.push({from:a.from+d,insert:c+" "});let s=e.changes(o);return{changes:s,selection:e.selection.map(s,1)}}else if(t!=1&&r.some(o=>o.comment>=0)){let o=[];for(let{line:s,comment:a,token:c}of r)if(a>=0){let d=s.from+a,h=d+c.length;s.text[h-s.from]==" "&&h++,o.push({from:d,to:h})}return{changes:o}}return null}const hg=ri.define(),lq=ri.define(),cq=Ie.define(),i4=Ie.define({combine(t){return ii(t,{minDepth:100,newGroupDelay:500,joinToEvent:(e,n)=>n},{minDepth:Math.max,newGroupDelay:Math.min,joinToEvent:(e,n)=>(r,i)=>e(r,i)||n(r,i)})}}),o4=nn.define({create(){return qr.empty},update(t,e){let n=e.state.facet(i4),r=e.annotation(hg);if(r){let c=Ln.fromTransaction(e,r.selection),d=r.side,h=d==0?t.undone:t.done;return c?h=wd(h,h.length,n.minDepth,c):h=l4(h,e.startState.selection),new qr(d==0?r.rest:h,d==0?h:r.rest)}let i=e.annotation(lq);if((i=="full"||i=="before")&&(t=t.isolate()),e.annotation(Gt.addToHistory)===!1)return e.changes.empty?t:t.addMapping(e.changes.desc);let o=Ln.fromTransaction(e),s=e.annotation(Gt.time),a=e.annotation(Gt.userEvent);return o?t=t.addChanges(o,s,a,n,e):e.selection&&(t=t.addSelection(e.startState.selection,s,a,n.newGroupDelay)),(i=="full"||i=="after")&&(t=t.isolate()),t},toJSON(t){return{done:t.done.map(e=>e.toJSON()),undone:t.undone.map(e=>e.toJSON())}},fromJSON(t){return new qr(t.done.map(Ln.fromJSON),t.undone.map(Ln.fromJSON))}});function uq(t={}){return[o4,i4.of(t),Te.domEventHandlers({beforeinput(e,n){let r=e.inputType=="historyUndo"?s4:e.inputType=="historyRedo"?fg:null;return r?(e.preventDefault(),r(n)):!1}})]}function ph(t,e){return function({state:n,dispatch:r}){if(!e&&n.readOnly)return!1;let i=n.field(o4,!1);if(!i)return!1;let o=i.pop(t,n,e);return o?(r(o),!0):!1}}const s4=ph(0,!1),fg=ph(1,!1),dq=ph(0,!0),hq=ph(1,!0);class Ln{constructor(e,n,r,i,o){this.changes=e,this.effects=n,this.mapped=r,this.startSelection=i,this.selectionsAfter=o}setSelAfter(e){return new Ln(this.changes,this.effects,this.mapped,this.startSelection,e)}toJSON(){var e,n,r;return{changes:(e=this.changes)===null||e===void 0?void 0:e.toJSON(),mapped:(n=this.mapped)===null||n===void 0?void 0:n.toJSON(),startSelection:(r=this.startSelection)===null||r===void 0?void 0:r.toJSON(),selectionsAfter:this.selectionsAfter.map(i=>i.toJSON())}}static fromJSON(e){return new Ln(e.changes&&Kt.fromJSON(e.changes),[],e.mapped&&Yr.fromJSON(e.mapped),e.startSelection&&ie.fromJSON(e.startSelection),e.selectionsAfter.map(ie.fromJSON))}static fromTransaction(e,n){let r=or;for(let i of e.startState.facet(cq)){let o=i(e);o.length&&(r=r.concat(o))}return!r.length&&e.changes.empty?null:new Ln(e.changes.invert(e.startState.doc),r,void 0,n||e.startState.selection,or)}static selection(e){return new Ln(void 0,or,void 0,void 0,e)}}function wd(t,e,n,r){let i=e+1>n+20?e-n-1:0,o=t.slice(i,e);return o.push(r),o}function fq(t,e){let n=[],r=!1;return t.iterChangedRanges((i,o)=>n.push(i,o)),e.iterChangedRanges((i,o,s,a)=>{for(let c=0;c<n.length;){let d=n[c++],h=n[c++];a>=d&&s<=h&&(r=!0)}}),r}function gq(t,e){return t.ranges.length==e.ranges.length&&t.ranges.filter((n,r)=>n.empty!=e.ranges[r].empty).length===0}function a4(t,e){return t.length?e.length?t.concat(e):t:e}const or=[],pq=200;function l4(t,e){if(t.length){let n=t[t.length-1],r=n.selectionsAfter.slice(Math.max(0,n.selectionsAfter.length-pq));return r.length&&r[r.length-1].eq(e)?t:(r.push(e),wd(t,t.length-1,1e9,n.setSelAfter(r)))}else return[Ln.selection([e])]}function mq(t){let e=t[t.length-1],n=t.slice();return n[t.length-1]=e.setSelAfter(e.selectionsAfter.slice(0,e.selectionsAfter.length-1)),n}function _0(t,e){if(!t.length)return t;let n=t.length,r=or;for(;n;){let i=bq(t[n-1],e,r);if(i.changes&&!i.changes.empty||i.effects.length){let o=t.slice(0,n);return o[n-1]=i,o}else e=i.mapped,n--,r=i.selectionsAfter}return r.length?[Ln.selection(r)]:or}function bq(t,e,n){let r=a4(t.selectionsAfter.length?t.selectionsAfter.map(a=>a.map(e)):or,n);if(!t.changes)return Ln.selection(r);let i=t.changes.map(e),o=e.mapDesc(t.changes,!0),s=t.mapped?t.mapped.composeDesc(o):o;return new Ln(i,Xe.mapEffects(t.effects,e),s,t.startSelection.map(o),r)}const xq=/^(input\.type|delete)($|\.)/;class qr{constructor(e,n,r=0,i=void 0){this.done=e,this.undone=n,this.prevTime=r,this.prevUserEvent=i}isolate(){return this.prevTime?new qr(this.done,this.undone):this}addChanges(e,n,r,i,o){let s=this.done,a=s[s.length-1];return a&&a.changes&&!a.changes.empty&&e.changes&&(!r||xq.test(r))&&(!a.selectionsAfter.length&&n-this.prevTime<i.newGroupDelay&&i.joinToEvent(o,fq(a.changes,e.changes))||r=="input.type.compose")?s=wd(s,s.length-1,i.minDepth,new Ln(e.changes.compose(a.changes),a4(Xe.mapEffects(e.effects,a.changes),a.effects),a.mapped,a.startSelection,or)):s=wd(s,s.length,i.minDepth,e),new qr(s,or,n,r)}addSelection(e,n,r,i){let o=this.done.length?this.done[this.done.length-1].selectionsAfter:or;return o.length>0&&n-this.prevTime<i&&r==this.prevUserEvent&&r&&/^select($|\.)/.test(r)&&gq(o[o.length-1],e)?this:new qr(l4(this.done,e),this.undone,n,r)}addMapping(e){return new qr(_0(this.done,e),_0(this.undone,e),this.prevTime,this.prevUserEvent)}pop(e,n,r){let i=e==0?this.done:this.undone;if(i.length==0)return null;let o=i[i.length-1],s=o.selectionsAfter[0]||n.selection;if(r&&o.selectionsAfter.length)return n.update({selection:o.selectionsAfter[o.selectionsAfter.length-1],annotations:hg.of({side:e,rest:mq(i),selection:s}),userEvent:e==0?"select.undo":"select.redo",scrollIntoView:!0});if(o.changes){let a=i.length==1?or:i.slice(0,i.length-1);return o.mapped&&(a=_0(a,o.mapped)),n.update({changes:o.changes,selection:o.startSelection,effects:o.effects,annotations:hg.of({side:e,rest:a,selection:s}),filter:!1,userEvent:e==0?"undo":"redo",scrollIntoView:!0})}else return null}}qr.empty=new qr(or,or);const vq=[{key:"Mod-z",run:s4,preventDefault:!0},{key:"Mod-y",mac:"Mod-Shift-z",run:fg,preventDefault:!0},{linux:"Ctrl-Shift-z",run:fg,preventDefault:!0},{key:"Mod-u",run:dq,preventDefault:!0},{key:"Alt-u",mac:"Mod-Shift-u",run:hq,preventDefault:!0}];function pa(t,e){return ie.create(t.ranges.map(e),t.mainIndex)}function oi(t,e){return t.update({selection:e,scrollIntoView:!0,userEvent:"select"})}function Dr({state:t,dispatch:e},n){let r=pa(t.selection,n);return r.eq(t.selection,!0)?!1:(e(oi(t,r)),!0)}function mh(t,e){return ie.cursor(e?t.to:t.from)}function c4(t,e){return Dr(t,n=>n.empty?t.moveByChar(n,e):mh(n,e))}function bn(t){return t.textDirectionAt(t.state.selection.main.head)==At.LTR}const u4=t=>c4(t,!bn(t)),d4=t=>c4(t,bn(t));function h4(t,e){return Dr(t,n=>n.empty?t.moveByGroup(n,e):mh(n,e))}const wq=t=>h4(t,!bn(t)),yq=t=>h4(t,bn(t));function Cq(t,e,n){if(e.type.prop(n))return!0;let r=e.to-e.from;return r&&(r>2||/[^\s,.;:]/.test(t.sliceDoc(e.from,e.to)))||e.firstChild}function bh(t,e,n){let r=mn(t).resolveInner(e.head),i=n?nt.closedBy:nt.openedBy;for(let c=e.head;;){let d=n?r.childAfter(c):r.childBefore(c);if(!d)break;Cq(t,d,i)?r=d:c=n?d.to:d.from}let o=r.type.prop(i),s,a;return o&&(s=n?Ur(t,r.from,1):Ur(t,r.to,-1))&&s.matched?a=n?s.end.to:s.end.from:a=n?r.to:r.from,ie.cursor(a,n?-1:1)}const $q=t=>Dr(t,e=>bh(t.state,e,!bn(t))),Sq=t=>Dr(t,e=>bh(t.state,e,bn(t)));function f4(t,e){return Dr(t,n=>{if(!n.empty)return mh(n,e);let r=t.moveVertically(n,e);return r.head!=n.head?r:t.moveToLineBoundary(n,e)})}const g4=t=>f4(t,!1),p4=t=>f4(t,!0);function m4(t){let e=t.scrollDOM.clientHeight<t.scrollDOM.scrollHeight-2,n=0,r=0,i;if(e){for(let o of t.state.facet(Te.scrollMargins)){let s=o(t);s?.top&&(n=Math.max(s?.top,n)),s?.bottom&&(r=Math.max(s?.bottom,r))}i=t.scrollDOM.clientHeight-n-r}else i=(t.dom.ownerDocument.defaultView||window).innerHeight;return{marginTop:n,marginBottom:r,selfScroll:e,height:Math.max(t.defaultLineHeight,i-5)}}function b4(t,e){let n=m4(t),{state:r}=t,i=pa(r.selection,s=>s.empty?t.moveVertically(s,e,n.height):mh(s,e));if(i.eq(r.selection))return!1;let o;if(n.selfScroll){let s=t.coordsAtPos(r.selection.main.head),a=t.scrollDOM.getBoundingClientRect(),c=a.top+n.marginTop,d=a.bottom-n.marginBottom;s&&s.top>c&&s.bottom<d&&(o=Te.scrollIntoView(i.main.head,{y:"start",yMargin:s.top-c}))}return t.dispatch(oi(r,i),{effects:o}),!0}const vv=t=>b4(t,!1),gg=t=>b4(t,!0);function go(t,e,n){let r=t.lineBlockAt(e.head),i=t.moveToLineBoundary(e,n);if(i.head==e.head&&i.head!=(n?r.to:r.from)&&(i=t.moveToLineBoundary(e,n,!1)),!n&&i.head==r.from&&r.length){let o=/^\s*/.exec(t.state.sliceDoc(r.from,Math.min(r.from+100,r.to)))[0].length;o&&e.head!=r.from+o&&(i=ie.cursor(r.from+o))}return i}const Aq=t=>Dr(t,e=>go(t,e,!0)),Rq=t=>Dr(t,e=>go(t,e,!1)),Tq=t=>Dr(t,e=>go(t,e,!bn(t))),kq=t=>Dr(t,e=>go(t,e,bn(t))),Eq=t=>Dr(t,e=>ie.cursor(t.lineBlockAt(e.head).from,1)),Mq=t=>Dr(t,e=>ie.cursor(t.lineBlockAt(e.head).to,-1));function Iq(t,e,n){let r=!1,i=pa(t.selection,o=>{let s=Ur(t,o.head,-1)||Ur(t,o.head,1)||o.head>0&&Ur(t,o.head-1,1)||o.head<t.doc.length&&Ur(t,o.head+1,-1);if(!s||!s.end)return o;r=!0;let a=s.start.from==o.head?s.end.to:s.end.from;return ie.cursor(a)});return r?(e(oi(t,i)),!0):!1}const Oq=({state:t,dispatch:e})=>Iq(t,e);function dr(t,e){let n=pa(t.state.selection,r=>{let i=e(r);return ie.range(r.anchor,i.head,i.goalColumn,i.bidiLevel||void 0)});return n.eq(t.state.selection)?!1:(t.dispatch(oi(t.state,n)),!0)}function x4(t,e){return dr(t,n=>t.moveByChar(n,e))}const v4=t=>x4(t,!bn(t)),w4=t=>x4(t,bn(t));function y4(t,e){return dr(t,n=>t.moveByGroup(n,e))}const Dq=t=>y4(t,!bn(t)),Lq=t=>y4(t,bn(t)),jq=t=>dr(t,e=>bh(t.state,e,!bn(t))),_q=t=>dr(t,e=>bh(t.state,e,bn(t)));function C4(t,e){return dr(t,n=>t.moveVertically(n,e))}const $4=t=>C4(t,!1),S4=t=>C4(t,!0);function A4(t,e){return dr(t,n=>t.moveVertically(n,e,m4(t).height))}const wv=t=>A4(t,!1),yv=t=>A4(t,!0),Nq=t=>dr(t,e=>go(t,e,!0)),Bq=t=>dr(t,e=>go(t,e,!1)),Fq=t=>dr(t,e=>go(t,e,!bn(t))),Pq=t=>dr(t,e=>go(t,e,bn(t))),Vq=t=>dr(t,e=>ie.cursor(t.lineBlockAt(e.head).from)),Hq=t=>dr(t,e=>ie.cursor(t.lineBlockAt(e.head).to)),Cv=({state:t,dispatch:e})=>(e(oi(t,{anchor:0})),!0),$v=({state:t,dispatch:e})=>(e(oi(t,{anchor:t.doc.length})),!0),Sv=({state:t,dispatch:e})=>(e(oi(t,{anchor:t.selection.main.anchor,head:0})),!0),Av=({state:t,dispatch:e})=>(e(oi(t,{anchor:t.selection.main.anchor,head:t.doc.length})),!0),zq=({state:t,dispatch:e})=>(e(t.update({selection:{anchor:0,head:t.doc.length},userEvent:"select"})),!0),Wq=({state:t,dispatch:e})=>{let n=xh(t).map(({from:r,to:i})=>ie.range(r,Math.min(i+1,t.doc.length)));return e(t.update({selection:ie.create(n),userEvent:"select"})),!0},Uq=({state:t,dispatch:e})=>{let n=pa(t.selection,r=>{let i=mn(t),o=i.resolveStack(r.from,1);if(r.empty){let s=i.resolveStack(r.from,-1);s.node.from>=o.node.from&&s.node.to<=o.node.to&&(o=s)}for(let s=o;s;s=s.next){let{node:a}=s;if((a.from<r.from&&a.to>=r.to||a.to>r.to&&a.from<=r.from)&&s.next)return ie.range(a.to,a.from)}return r});return n.eq(t.selection)?!1:(e(oi(t,n)),!0)},qq=({state:t,dispatch:e})=>{let n=t.selection,r=null;return n.ranges.length>1?r=ie.create([n.main]):n.main.empty||(r=ie.create([ie.cursor(n.main.head)])),r?(e(oi(t,r)),!0):!1};function Xl(t,e){if(t.state.readOnly)return!1;let n="delete.selection",{state:r}=t,i=r.changeByRange(o=>{let{from:s,to:a}=o;if(s==a){let c=e(o);c<s?(n="delete.backward",c=$u(t,c,!1)):c>s&&(n="delete.forward",c=$u(t,c,!0)),s=Math.min(s,c),a=Math.max(a,c)}else s=$u(t,s,!1),a=$u(t,a,!0);return s==a?{range:o}:{changes:{from:s,to:a},range:ie.cursor(s,s<o.head?-1:1)}});return i.changes.empty?!1:(t.dispatch(r.update(i,{scrollIntoView:!0,userEvent:n,effects:n=="delete.selection"?Te.announce.of(r.phrase("Selection deleted")):void 0})),!0)}function $u(t,e,n){if(t instanceof Te)for(let r of t.state.facet(Te.atomicRanges).map(i=>i(t)))r.between(e,e,(i,o)=>{i<e&&o>e&&(e=n?o:i)});return e}const R4=(t,e,n)=>Xl(t,r=>{let i=r.from,{state:o}=t,s=o.doc.lineAt(i),a,c;if(n&&!e&&i>s.from&&i<s.from+200&&!/[^ \t]/.test(a=s.text.slice(0,i-s.from))){if(a[a.length-1]==" ")return i-1;let d=ga(a,o.tabSize),h=d%bd(o)||bd(o);for(let g=0;g<h&&a[a.length-1-g]==" ";g++)i--;c=i}else c=cn(s.text,i-s.from,e,e)+s.from,c==i&&s.number!=(e?o.doc.lines:1)?c+=e?1:-1:!e&&/[\ufe00-\ufe0f]/.test(s.text.slice(c-s.from,i-s.from))&&(c=cn(s.text,c-s.from,!1,!1)+s.from);return c}),pg=t=>R4(t,!1,!0),T4=t=>R4(t,!0,!1),k4=(t,e)=>Xl(t,n=>{let r=n.head,{state:i}=t,o=i.doc.lineAt(r),s=i.charCategorizer(r);for(let a=null;;){if(r==(e?o.to:o.from)){r==n.head&&o.number!=(e?i.doc.lines:1)&&(r+=e?1:-1);break}let c=cn(o.text,r-o.from,e)+o.from,d=o.text.slice(Math.min(r,c)-o.from,Math.max(r,c)-o.from),h=s(d);if(a!=null&&h!=a)break;(d!=" "||r!=n.head)&&(a=h),r=c}return r}),E4=t=>k4(t,!1),Kq=t=>k4(t,!0),Gq=t=>Xl(t,e=>{let n=t.lineBlockAt(e.head).to;return e.head<n?n:Math.min(t.state.doc.length,e.head+1)}),Yq=t=>Xl(t,e=>{let n=t.moveToLineBoundary(e,!1).head;return e.head>n?n:Math.max(0,e.head-1)}),Xq=t=>Xl(t,e=>{let n=t.moveToLineBoundary(e,!0).head;return e.head<n?n:Math.min(t.state.doc.length,e.head+1)}),Qq=({state:t,dispatch:e})=>{if(t.readOnly)return!1;let n=t.changeByRange(r=>({changes:{from:r.from,to:r.to,insert:dt.of(["",""])},range:ie.cursor(r.from)}));return e(t.update(n,{scrollIntoView:!0,userEvent:"input"})),!0},Zq=({state:t,dispatch:e})=>{if(t.readOnly)return!1;let n=t.changeByRange(r=>{if(!r.empty||r.from==0||r.from==t.doc.length)return{range:r};let i=r.from,o=t.doc.lineAt(i),s=i==o.from?i-1:cn(o.text,i-o.from,!1)+o.from,a=i==o.to?i+1:cn(o.text,i-o.from,!0)+o.from;return{changes:{from:s,to:a,insert:t.doc.slice(i,a).append(t.doc.slice(s,i))},range:ie.cursor(a)}});return n.changes.empty?!1:(e(t.update(n,{scrollIntoView:!0,userEvent:"move.character"})),!0)};function xh(t){let e=[],n=-1;for(let r of t.selection.ranges){let i=t.doc.lineAt(r.from),o=t.doc.lineAt(r.to);if(!r.empty&&r.to==o.from&&(o=t.doc.lineAt(r.to-1)),n>=i.number){let s=e[e.length-1];s.to=o.to,s.ranges.push(r)}else e.push({from:i.from,to:o.to,ranges:[r]});n=o.number+1}return e}function M4(t,e,n){if(t.readOnly)return!1;let r=[],i=[];for(let o of xh(t)){if(n?o.to==t.doc.length:o.from==0)continue;let s=t.doc.lineAt(n?o.to+1:o.from-1),a=s.length+1;if(n){r.push({from:o.to,to:s.to},{from:o.from,insert:s.text+t.lineBreak});for(let c of o.ranges)i.push(ie.range(Math.min(t.doc.length,c.anchor+a),Math.min(t.doc.length,c.head+a)))}else{r.push({from:s.from,to:o.from},{from:o.to,insert:t.lineBreak+s.text});for(let c of o.ranges)i.push(ie.range(c.anchor-a,c.head-a))}}return r.length?(e(t.update({changes:r,scrollIntoView:!0,selection:ie.create(i,t.selection.mainIndex),userEvent:"move.line"})),!0):!1}const Jq=({state:t,dispatch:e})=>M4(t,e,!1),eK=({state:t,dispatch:e})=>M4(t,e,!0);function I4(t,e,n){if(t.readOnly)return!1;let r=[];for(let i of xh(t))n?r.push({from:i.from,insert:t.doc.slice(i.from,i.to)+t.lineBreak}):r.push({from:i.to,insert:t.lineBreak+t.doc.slice(i.from,i.to)});return e(t.update({changes:r,scrollIntoView:!0,userEvent:"input.copyline"})),!0}const tK=({state:t,dispatch:e})=>I4(t,e,!1),nK=({state:t,dispatch:e})=>I4(t,e,!0),rK=t=>{if(t.state.readOnly)return!1;let{state:e}=t,n=e.changes(xh(e).map(({from:i,to:o})=>(i>0?i--:o<e.doc.length&&o++,{from:i,to:o}))),r=pa(e.selection,i=>{let o;if(t.lineWrapping){let s=t.lineBlockAt(i.head),a=t.coordsAtPos(i.head,i.assoc||1);a&&(o=s.bottom+t.documentTop-a.bottom+t.defaultLineHeight/2)}return t.moveVertically(i,!0,o)}).map(n);return t.dispatch({changes:n,selection:r,scrollIntoView:!0,userEvent:"delete.line"}),!0};function iK(t,e){if(/\(\)|\[\]|\{\}/.test(t.sliceDoc(e-1,e+1)))return{from:e,to:e};let n=mn(t).resolveInner(e),r=n.childBefore(e),i=n.childAfter(e),o;return r&&i&&r.to<=e&&i.from>=e&&(o=r.type.prop(nt.closedBy))&&o.indexOf(i.name)>-1&&t.doc.lineAt(r.to).from==t.doc.lineAt(i.from).from&&!/\S/.test(t.sliceDoc(r.to,i.from))?{from:r.to,to:i.from}:null}const Rv=O4(!1),oK=O4(!0);function O4(t){return({state:e,dispatch:n})=>{if(e.readOnly)return!1;let r=e.changeByRange(i=>{let{from:o,to:s}=i,a=e.doc.lineAt(o),c=!t&&o==s&&iK(e,o);t&&(o=s=(s<=a.to?a:e.doc.lineAt(s)).to);let d=new fh(e,{simulateBreak:o,simulateDoubleBreak:!!c}),h=am(d,o);for(h==null&&(h=ga(/^\s*/.exec(e.doc.lineAt(o).text)[0],e.tabSize));s<a.to&&/\s/.test(a.text[s-a.from]);)s++;c?{from:o,to:s}=c:o>a.from&&o<a.from+100&&!/\S/.test(a.text.slice(0,o))&&(o=a.from);let g=["",Al(e,h)];return c&&g.push(Al(e,d.lineIndent(a.from,-1))),{changes:{from:o,to:s,insert:dt.of(g)},range:ie.cursor(o+1+g[1].length)}});return n(e.update(r,{scrollIntoView:!0,userEvent:"input"})),!0}}function dm(t,e){let n=-1;return t.changeByRange(r=>{let i=[];for(let s=r.from;s<=r.to;){let a=t.doc.lineAt(s);a.number>n&&(r.empty||r.to>a.from)&&(e(a,i,r),n=a.number),s=a.to+1}let o=t.changes(i);return{changes:i,range:ie.range(o.mapPos(r.anchor,1),o.mapPos(r.head,1))}})}const sK=({state:t,dispatch:e})=>{if(t.readOnly)return!1;let n=Object.create(null),r=new fh(t,{overrideIndentation:o=>{let s=n[o];return s??-1}}),i=dm(t,(o,s,a)=>{let c=am(r,o.from);if(c==null)return;/\S/.test(o.text)||(c=0);let d=/^\s*/.exec(o.text)[0],h=Al(t,c);(d!=h||a.from<o.from+d.length)&&(n[o.from]=c,s.push({from:o.from,to:o.from+d.length,insert:h}))});return i.changes.empty||e(t.update(i,{userEvent:"indent"})),!0},D4=({state:t,dispatch:e})=>t.readOnly?!1:(e(t.update(dm(t,(n,r)=>{r.push({from:n.from,insert:t.facet(hh)})}),{userEvent:"input.indent"})),!0),L4=({state:t,dispatch:e})=>t.readOnly?!1:(e(t.update(dm(t,(n,r)=>{let i=/^\s*/.exec(n.text)[0];if(!i)return;let o=ga(i,t.tabSize),s=0,a=Al(t,Math.max(0,o-bd(t)));for(;s<i.length&&s<a.length&&i.charCodeAt(s)==a.charCodeAt(s);)s++;r.push({from:n.from+s,to:n.from+i.length,insert:a.slice(s)})}),{userEvent:"delete.dedent"})),!0),aK=t=>(t.setTabFocusMode(),!0),lK=[{key:"Ctrl-b",run:u4,shift:v4,preventDefault:!0},{key:"Ctrl-f",run:d4,shift:w4},{key:"Ctrl-p",run:g4,shift:$4},{key:"Ctrl-n",run:p4,shift:S4},{key:"Ctrl-a",run:Eq,shift:Vq},{key:"Ctrl-e",run:Mq,shift:Hq},{key:"Ctrl-d",run:T4},{key:"Ctrl-h",run:pg},{key:"Ctrl-k",run:Gq},{key:"Ctrl-Alt-h",run:E4},{key:"Ctrl-o",run:Qq},{key:"Ctrl-t",run:Zq},{key:"Ctrl-v",run:gg}],cK=[{key:"ArrowLeft",run:u4,shift:v4,preventDefault:!0},{key:"Mod-ArrowLeft",mac:"Alt-ArrowLeft",run:wq,shift:Dq,preventDefault:!0},{mac:"Cmd-ArrowLeft",run:Tq,shift:Fq,preventDefault:!0},{key:"ArrowRight",run:d4,shift:w4,preventDefault:!0},{key:"Mod-ArrowRight",mac:"Alt-ArrowRight",run:yq,shift:Lq,preventDefault:!0},{mac:"Cmd-ArrowRight",run:kq,shift:Pq,preventDefault:!0},{key:"ArrowUp",run:g4,shift:$4,preventDefault:!0},{mac:"Cmd-ArrowUp",run:Cv,shift:Sv},{mac:"Ctrl-ArrowUp",run:vv,shift:wv},{key:"ArrowDown",run:p4,shift:S4,preventDefault:!0},{mac:"Cmd-ArrowDown",run:$v,shift:Av},{mac:"Ctrl-ArrowDown",run:gg,shift:yv},{key:"PageUp",run:vv,shift:wv},{key:"PageDown",run:gg,shift:yv},{key:"Home",run:Rq,shift:Bq,preventDefault:!0},{key:"Mod-Home",run:Cv,shift:Sv},{key:"End",run:Aq,shift:Nq,preventDefault:!0},{key:"Mod-End",run:$v,shift:Av},{key:"Enter",run:Rv,shift:Rv},{key:"Mod-a",run:zq},{key:"Backspace",run:pg,shift:pg},{key:"Delete",run:T4},{key:"Mod-Backspace",mac:"Alt-Backspace",run:E4},{key:"Mod-Delete",mac:"Alt-Delete",run:Kq},{mac:"Mod-Backspace",run:Yq},{mac:"Mod-Delete",run:Xq}].concat(lK.map(t=>({mac:t.key,run:t.run,shift:t.shift}))),uK=[{key:"Alt-ArrowLeft",mac:"Ctrl-ArrowLeft",run:$q,shift:jq},{key:"Alt-ArrowRight",mac:"Ctrl-ArrowRight",run:Sq,shift:_q},{key:"Alt-ArrowUp",run:Jq},{key:"Shift-Alt-ArrowUp",run:tK},{key:"Alt-ArrowDown",run:eK},{key:"Shift-Alt-ArrowDown",run:nK},{key:"Escape",run:qq},{key:"Mod-Enter",run:oK},{key:"Alt-l",mac:"Ctrl-l",run:Wq},{key:"Mod-i",run:Uq,preventDefault:!0},{key:"Mod-[",run:L4},{key:"Mod-]",run:D4},{key:"Mod-Alt-\\",run:sK},{key:"Shift-Mod-k",run:rK},{key:"Shift-Mod-\\",run:Oq},{key:"Mod-/",run:tq},{key:"Alt-A",run:rq},{key:"Ctrl-m",mac:"Shift-Alt-m",run:aK}].concat(cK),dK={key:"Tab",run:D4,shift:L4};function Ct(){var t=arguments[0];typeof t=="string"&&(t=document.createElement(t));var e=1,n=arguments[1];if(n&&typeof n=="object"&&n.nodeType==null&&!Array.isArray(n)){for(var r in n)if(Object.prototype.hasOwnProperty.call(n,r)){var i=n[r];typeof i=="string"?t.setAttribute(r,i):i!=null&&(t[r]=i)}e++}for(;e<arguments.length;e++)j4(t,arguments[e]);return t}function j4(t,e){if(typeof e=="string")t.appendChild(document.createTextNode(e));else if(e!=null)if(e.nodeType!=null)t.appendChild(e);else if(Array.isArray(e))for(var n=0;n<e.length;n++)j4(t,e[n]);else throw new RangeError("Unsupported child node: "+e)}const Tv=typeof String.prototype.normalize=="function"?t=>t.normalize("NFKD"):t=>t;class ra{constructor(e,n,r=0,i=e.length,o,s){this.test=s,this.value={from:0,to:0},this.done=!1,this.matches=[],this.buffer="",this.bufferPos=0,this.iter=e.iterRange(r,i),this.bufferStart=r,this.normalize=o?a=>o(Tv(a)):Tv,this.query=this.normalize(n)}peek(){if(this.bufferPos==this.buffer.length){if(this.bufferStart+=this.buffer.length,this.iter.next(),this.iter.done)return-1;this.bufferPos=0,this.buffer=this.iter.value}return Mn(this.buffer,this.bufferPos)}next(){for(;this.matches.length;)this.matches.pop();return this.nextOverlapping()}nextOverlapping(){for(;;){let e=this.peek();if(e<0)return this.done=!0,this;let n=Up(e),r=this.bufferStart+this.bufferPos;this.bufferPos+=zr(e);let i=this.normalize(n);if(i.length)for(let o=0,s=r;;o++){let a=i.charCodeAt(o),c=this.match(a,s,this.bufferPos+this.bufferStart);if(o==i.length-1){if(c)return this.value=c,this;break}s==r&&o<n.length&&n.charCodeAt(o)==a&&s++}}}match(e,n,r){let i=null;for(let o=0;o<this.matches.length;o+=2){let s=this.matches[o],a=!1;this.query.charCodeAt(s)==e&&(s==this.query.length-1?i={from:this.matches[o+1],to:r}:(this.matches[o]++,a=!0)),a||(this.matches.splice(o,2),o-=2)}return this.query.charCodeAt(0)==e&&(this.query.length==1?i={from:n,to:r}:this.matches.push(1,n)),i&&this.test&&!this.test(i.from,i.to,this.buffer,this.bufferStart)&&(i=null),i}}typeof Symbol<"u"&&(ra.prototype[Symbol.iterator]=function(){return this});const _4={from:-1,to:-1,match:/.*/.exec("")},hm="gm"+(/x/.unicode==null?"":"u");class N4{constructor(e,n,r,i=0,o=e.length){if(this.text=e,this.to=o,this.curLine="",this.done=!1,this.value=_4,/\\[sWDnr]|\n|\r|\[\^/.test(n))return new B4(e,n,r,i,o);this.re=new RegExp(n,hm+(r?.ignoreCase?"i":"")),this.test=r?.test,this.iter=e.iter();let s=e.lineAt(i);this.curLineStart=s.from,this.matchPos=yd(e,i),this.getLine(this.curLineStart)}getLine(e){this.iter.next(e),this.iter.lineBreak?this.curLine="":(this.curLine=this.iter.value,this.curLineStart+this.curLine.length>this.to&&(this.curLine=this.curLine.slice(0,this.to-this.curLineStart)),this.iter.next())}nextLine(){this.curLineStart=this.curLineStart+this.curLine.length+1,this.curLineStart>this.to?this.curLine="":this.getLine(0)}next(){for(let e=this.matchPos-this.curLineStart;;){this.re.lastIndex=e;let n=this.matchPos<=this.to&&this.re.exec(this.curLine);if(n){let r=this.curLineStart+n.index,i=r+n[0].length;if(this.matchPos=yd(this.text,i+(r==i?1:0)),r==this.curLineStart+this.curLine.length&&this.nextLine(),(r<i||r>this.value.to)&&(!this.test||this.test(r,i,n)))return this.value={from:r,to:i,match:n},this;e=this.matchPos-this.curLineStart}else if(this.curLineStart+this.curLine.length<this.to)this.nextLine(),e=0;else return this.done=!0,this}}}const N0=new WeakMap;class Ps{constructor(e,n){this.from=e,this.text=n}get to(){return this.from+this.text.length}static get(e,n,r){let i=N0.get(e);if(!i||i.from>=r||i.to<=n){let a=new Ps(n,e.sliceString(n,r));return N0.set(e,a),a}if(i.from==n&&i.to==r)return i;let{text:o,from:s}=i;return s>n&&(o=e.sliceString(n,s)+o,s=n),i.to<r&&(o+=e.sliceString(i.to,r)),N0.set(e,new Ps(s,o)),new Ps(n,o.slice(n-s,r-s))}}class B4{constructor(e,n,r,i,o){this.text=e,this.to=o,this.done=!1,this.value=_4,this.matchPos=yd(e,i),this.re=new RegExp(n,hm+(r?.ignoreCase?"i":"")),this.test=r?.test,this.flat=Ps.get(e,i,this.chunkEnd(i+5e3))}chunkEnd(e){return e>=this.to?this.to:this.text.lineAt(e).to}next(){for(;;){let e=this.re.lastIndex=this.matchPos-this.flat.from,n=this.re.exec(this.flat.text);if(n&&!n[0]&&n.index==e&&(this.re.lastIndex=e+1,n=this.re.exec(this.flat.text)),n){let r=this.flat.from+n.index,i=r+n[0].length;if((this.flat.to>=this.to||n.index+n[0].length<=this.flat.text.length-10)&&(!this.test||this.test(r,i,n)))return this.value={from:r,to:i,match:n},this.matchPos=yd(this.text,i+(r==i?1:0)),this}if(this.flat.to==this.to)return this.done=!0,this;this.flat=Ps.get(this.text,this.flat.from,this.chunkEnd(this.flat.from+this.flat.text.length*2))}}}typeof Symbol<"u"&&(N4.prototype[Symbol.iterator]=B4.prototype[Symbol.iterator]=function(){return this});function hK(t){try{return new RegExp(t,hm),!0}catch{return!1}}function yd(t,e){if(e>=t.length)return e;let n=t.lineAt(e),r;for(;e<n.to&&(r=n.text.charCodeAt(e-n.from))>=56320&&r<57344;)e++;return e}function mg(t){let e=String(t.state.doc.lineAt(t.state.selection.main.head).number),n=Ct("input",{class:"cm-textfield",name:"line",value:e}),r=Ct("form",{class:"cm-gotoLine",onkeydown:o=>{o.keyCode==27?(o.preventDefault(),t.dispatch({effects:Cd.of(!1)}),t.focus()):o.keyCode==13&&(o.preventDefault(),i())},onsubmit:o=>{o.preventDefault(),i()}},Ct("label",t.state.phrase("Go to line"),": ",n)," ",Ct("button",{class:"cm-button",type:"submit"},t.state.phrase("go")));function i(){let o=/^([+-])?(\d+)?(:\d+)?(%)?$/.exec(n.value);if(!o)return;let{state:s}=t,a=s.doc.lineAt(s.selection.main.head),[,c,d,h,g]=o,m=h?+h.slice(1):0,b=d?+d:a.number;if(d&&g){let y=b/100;c&&(y=y*(c=="-"?-1:1)+a.number/s.doc.lines),b=Math.round(s.doc.lines*y)}else d&&c&&(b=b*(c=="-"?-1:1)+a.number);let v=s.doc.line(Math.max(1,Math.min(s.doc.lines,b))),w=ie.cursor(v.from+Math.max(0,Math.min(m,v.length)));t.dispatch({effects:[Cd.of(!1),Te.scrollIntoView(w.from,{y:"center"})],selection:w}),t.focus()}return{dom:r}}const Cd=Xe.define(),kv=nn.define({create(){return!0},update(t,e){for(let n of e.effects)n.is(Cd)&&(t=n.value);return t},provide:t=>Sl.from(t,e=>e?mg:null)}),fK=t=>{let e=$l(t,mg);if(!e){let n=[Cd.of(!0)];t.state.field(kv,!1)==null&&n.push(Xe.appendConfig.of([kv,gK])),t.dispatch({effects:n}),e=$l(t,mg)}return e&&e.dom.querySelector("input").select(),!0},gK=Te.baseTheme({".cm-panel.cm-gotoLine":{padding:"2px 6px 4px","& label":{fontSize:"80%"}}}),pK={highlightWordAroundCursor:!1,minSelectionLength:1,maxMatches:100,wholeWords:!1},mK=Ie.define({combine(t){return ii(t,pK,{highlightWordAroundCursor:(e,n)=>e||n,minSelectionLength:Math.min,maxMatches:Math.min})}});function bK(t){return[CK,yK]}const xK=Fe.mark({class:"cm-selectionMatch"}),vK=Fe.mark({class:"cm-selectionMatch cm-selectionMatch-main"});function Ev(t,e,n,r){return(n==0||t(e.sliceDoc(n-1,n))!=kt.Word)&&(r==e.doc.length||t(e.sliceDoc(r,r+1))!=kt.Word)}function wK(t,e,n,r){return t(e.sliceDoc(n,n+1))==kt.Word&&t(e.sliceDoc(r-1,r))==kt.Word}const yK=Pt.fromClass(class{constructor(t){this.decorations=this.getDeco(t)}update(t){(t.selectionSet||t.docChanged||t.viewportChanged)&&(this.decorations=this.getDeco(t.view))}getDeco(t){let e=t.state.facet(mK),{state:n}=t,r=n.selection;if(r.ranges.length>1)return Fe.none;let i=r.main,o,s=null;if(i.empty){if(!e.highlightWordAroundCursor)return Fe.none;let c=n.wordAt(i.head);if(!c)return Fe.none;s=n.charCategorizer(i.head),o=n.sliceDoc(c.from,c.to)}else{let c=i.to-i.from;if(c<e.minSelectionLength||c>200)return Fe.none;if(e.wholeWords){if(o=n.sliceDoc(i.from,i.to),s=n.charCategorizer(i.head),!(Ev(s,n,i.from,i.to)&&wK(s,n,i.from,i.to)))return Fe.none}else if(o=n.sliceDoc(i.from,i.to),!o)return Fe.none}let a=[];for(let c of t.visibleRanges){let d=new ra(n.doc,o,c.from,c.to);for(;!d.next().done;){let{from:h,to:g}=d.value;if((!s||Ev(s,n,h,g))&&(i.empty&&h<=i.from&&g>=i.to?a.push(vK.range(h,g)):(h>=i.to||g<=i.from)&&a.push(xK.range(h,g)),a.length>e.maxMatches))return Fe.none}}return Fe.set(a)}},{decorations:t=>t.decorations}),CK=Te.baseTheme({".cm-selectionMatch":{backgroundColor:"#99ff7780"},".cm-searchMatch .cm-selectionMatch":{backgroundColor:"transparent"}}),$K=({state:t,dispatch:e})=>{let{selection:n}=t,r=ie.create(n.ranges.map(i=>t.wordAt(i.head)||ie.cursor(i.head)),n.mainIndex);return r.eq(n)?!1:(e(t.update({selection:r})),!0)};function SK(t,e){let{main:n,ranges:r}=t.selection,i=t.wordAt(n.head),o=i&&i.from==n.from&&i.to==n.to;for(let s=!1,a=new ra(t.doc,e,r[r.length-1].to);;)if(a.next(),a.done){if(s)return null;a=new ra(t.doc,e,0,Math.max(0,r[r.length-1].from-1)),s=!0}else{if(s&&r.some(c=>c.from==a.value.from))continue;if(o){let c=t.wordAt(a.value.from);if(!c||c.from!=a.value.from||c.to!=a.value.to)continue}return a.value}}const AK=({state:t,dispatch:e})=>{let{ranges:n}=t.selection;if(n.some(o=>o.from===o.to))return $K({state:t,dispatch:e});let r=t.sliceDoc(n[0].from,n[0].to);if(t.selection.ranges.some(o=>t.sliceDoc(o.from,o.to)!=r))return!1;let i=SK(t,r);return i?(e(t.update({selection:t.selection.addRange(ie.range(i.from,i.to),!1),effects:Te.scrollIntoView(i.to)})),!0):!1},ma=Ie.define({combine(t){return ii(t,{top:!1,caseSensitive:!1,literal:!1,regexp:!1,wholeWord:!1,createPanel:e=>new NK(e),scrollToMatch:e=>Te.scrollIntoView(e)})}});class F4{constructor(e){this.search=e.search,this.caseSensitive=!!e.caseSensitive,this.literal=!!e.literal,this.regexp=!!e.regexp,this.replace=e.replace||"",this.valid=!!this.search&&(!this.regexp||hK(this.search)),this.unquoted=this.unquote(this.search),this.wholeWord=!!e.wholeWord}unquote(e){return this.literal?e:e.replace(/\\([nrt\\])/g,(n,r)=>r=="n"?`
63
+ --Ÿ­؜​‎‏\u2028\u2029‭‮⁦⁧⁩\uFEFF-]`,sg),mW={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"};let T0=null;function bW(){var t;if(T0==null&&typeof document<"u"&&document.body){let e=document.body.style;T0=((t=e.tabSize)!==null&&t!==void 0?t:e.MozTabSize)!=null}return T0||!1}const Hu=Ie.define({combine(t){let e=ii(t,{render:null,specialChars:pW,addSpecialChars:null});return(e.replaceTabs=!bW())&&(e.specialChars=new RegExp(" |"+e.specialChars.source,sg)),e.addSpecialChars&&(e.specialChars=new RegExp(e.specialChars.source+"|"+e.addSpecialChars.source,sg)),e}});function xW(t={}){return[Hu.of(t),vW()]}let nv=null;function vW(){return nv||(nv=Pt.fromClass(class{constructor(t){this.view=t,this.decorations=Fe.none,this.decorationCache=Object.create(null),this.decorator=this.makeDecorator(t.state.facet(Hu)),this.decorations=this.decorator.createDeco(t)}makeDecorator(t){return new gW({regexp:t.specialChars,decoration:(e,n,r)=>{let{doc:i}=n.state,o=Mn(e[0],0);if(o==9){let s=i.lineAt(r),a=n.state.tabSize,c=ga(s.text,a,r-s.from);return Fe.replace({widget:new $W((a-c%a)*this.view.defaultCharacterWidth/this.view.scaleX)})}return this.decorationCache[o]||(this.decorationCache[o]=Fe.replace({widget:new CW(t,o)}))},boundary:t.replaceTabs?void 0:/[^]/})}update(t){let e=t.state.facet(Hu);t.startState.facet(Hu)!=e?(this.decorator=this.makeDecorator(e),this.decorations=this.decorator.createDeco(t.view)):this.decorations=this.decorator.updateDeco(t,this.decorations)}},{decorations:t=>t.decorations}))}const wW="•";function yW(t){return t>=32?wW:t==10?"␤":String.fromCharCode(9216+t)}class CW extends Di{constructor(e,n){super(),this.options=e,this.code=n}eq(e){return e.code==this.code}toDOM(e){let n=yW(this.code),r=e.state.phrase("Control character")+" "+(mW[this.code]||"0x"+this.code.toString(16)),i=this.options.render&&this.options.render(this.code,r,n);if(i)return i;let o=document.createElement("span");return o.textContent=n,o.title=r,o.setAttribute("aria-label",r),o.className="cm-specialChar",o}ignoreEvent(){return!1}}class $W extends Di{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}}function SW(){return RW}const AW=Fe.line({class:"cm-activeLine"}),RW=Pt.fromClass(class{constructor(t){this.decorations=this.getDeco(t)}update(t){(t.docChanged||t.selectionSet)&&(this.decorations=this.getDeco(t.view))}getDeco(t){let e=-1,n=[];for(let r of t.state.selection.ranges){let i=t.lineBlockAt(r.head);i.from>e&&(n.push(AW.range(i.from)),e=i.from)}return Fe.set(n)}},{decorations:t=>t.decorations});class TW extends Di{constructor(e){super(),this.content=e}toDOM(e){let n=document.createElement("span");return n.className="cm-placeholder",n.style.pointerEvents="none",n.appendChild(typeof this.content=="string"?document.createTextNode(this.content):typeof this.content=="function"?this.content(e):this.content.cloneNode(!0)),typeof this.content=="string"?n.setAttribute("aria-label","placeholder "+this.content):n.setAttribute("aria-hidden","true"),n}coordsAt(e){let n=e.firstChild?Zs(e.firstChild):[];if(!n.length)return null;let r=window.getComputedStyle(e.parentNode),i=Wl(n[0],r.direction!="rtl"),o=parseInt(r.lineHeight);return i.bottom-i.top>o*1.5?{left:i.left,right:i.right,top:i.top,bottom:i.top+o}:i}ignoreEvent(){return!1}}function kW(t){return Pt.fromClass(class{constructor(e){this.view=e,this.placeholder=t?Fe.set([Fe.widget({widget:new TW(t),side:1}).range(0)]):Fe.none}get decorations(){return this.view.state.doc.length?Fe.none:this.placeholder}},{decorations:e=>e.decorations})}const ag=2e3;function EW(t,e,n){let r=Math.min(e.line,n.line),i=Math.max(e.line,n.line),o=[];if(e.off>ag||n.off>ag||e.col<0||n.col<0){let s=Math.min(e.off,n.off),a=Math.max(e.off,n.off);for(let c=r;c<=i;c++){let d=t.doc.line(c);d.length<=a&&o.push(ie.range(d.from+s,d.to+a))}}else{let s=Math.min(e.col,n.col),a=Math.max(e.col,n.col);for(let c=r;c<=i;c++){let d=t.doc.line(c),h=B1(d.text,s,t.tabSize,!0);if(h<0)o.push(ie.cursor(d.to));else{let g=B1(d.text,a,t.tabSize);o.push(ie.range(d.from+h,d.from+g))}}}return o}function MW(t,e){let n=t.coordsAtPos(t.viewport.from);return n?Math.round(Math.abs((n.left-e)/t.defaultCharacterWidth)):-1}function rv(t,e){let n=t.posAtCoords({x:e.clientX,y:e.clientY},!1),r=t.state.doc.lineAt(n),i=n-r.from,o=i>ag?-1:i==r.length?MW(t,e.clientX):ga(r.text,t.state.tabSize,n-r.from);return{line:r.number,col:o,off:i}}function IW(t,e){let n=rv(t,e),r=t.state.selection;return n?{update(i){if(i.docChanged){let o=i.changes.mapPos(i.startState.doc.line(n.line).from),s=i.state.doc.lineAt(o);n={line:s.number,col:n.col,off:Math.min(n.off,s.length)},r=r.map(i.changes)}},get(i,o,s){let a=rv(t,i);if(!a)return r;let c=EW(t.state,n,a);return c.length?s?ie.create(c.concat(r.ranges)):ie.create(c):r}}:null}function OW(t){let e=n=>n.altKey&&n.button==0;return Te.mouseSelectionStyle.of((n,r)=>e(r)?IW(n,r):null)}const DW={Alt:[18,t=>!!t.altKey],Control:[17,t=>!!t.ctrlKey],Shift:[16,t=>!!t.shiftKey],Meta:[91,t=>!!t.metaKey]},LW={style:"cursor: crosshair"};function jW(t={}){let[e,n]=DW[t.key||"Alt"],r=Pt.fromClass(class{constructor(i){this.view=i,this.isDown=!1}set(i){this.isDown!=i&&(this.isDown=i,this.view.update([]))}},{eventObservers:{keydown(i){this.set(i.keyCode==e||n(i))},keyup(i){(i.keyCode==e||!n(i))&&this.set(!1)},mousemove(i){this.set(n(i))}}});return[r,Te.contentAttributes.of(i=>{var o;return!((o=i.plugin(r))===null||o===void 0)&&o.isDown?LW:null})]}const Fa="-10000px";class _C{constructor(e,n,r,i){this.facet=n,this.createTooltipView=r,this.removeTooltipView=i,this.input=e.state.facet(n),this.tooltips=this.input.filter(s=>s);let o=null;this.tooltipViews=this.tooltips.map(s=>o=r(s,o))}update(e,n){var r;let i=e.state.facet(this.facet),o=i.filter(c=>c);if(i===this.input){for(let c of this.tooltipViews)c.update&&c.update(e);return!1}let s=[],a=n?[]:null;for(let c=0;c<o.length;c++){let d=o[c],h=-1;if(d){for(let g=0;g<this.tooltips.length;g++){let m=this.tooltips[g];m&&m.create==d.create&&(h=g)}if(h<0)s[c]=this.createTooltipView(d,c?s[c-1]:null),a&&(a[c]=!!d.above);else{let g=s[c]=this.tooltipViews[h];a&&(a[c]=n[h]),g.update&&g.update(e)}}}for(let c of this.tooltipViews)s.indexOf(c)<0&&(this.removeTooltipView(c),(r=c.destroy)===null||r===void 0||r.call(c));return n&&(a.forEach((c,d)=>n[d]=c),n.length=a.length),this.input=i,this.tooltips=o,this.tooltipViews=s,!0}}function _W(t){let{win:e}=t;return{top:0,left:0,bottom:e.innerHeight,right:e.innerWidth}}const k0=Ie.define({combine:t=>{var e,n,r;return{position:ke.ios?"absolute":((e=t.find(i=>i.position))===null||e===void 0?void 0:e.position)||"fixed",parent:((n=t.find(i=>i.parent))===null||n===void 0?void 0:n.parent)||null,tooltipSpace:((r=t.find(i=>i.tooltipSpace))===null||r===void 0?void 0:r.tooltipSpace)||_W}}}),iv=new WeakMap,om=Pt.fromClass(class{constructor(t){this.view=t,this.above=[],this.inView=!0,this.madeAbsolute=!1,this.lastTransaction=0,this.measureTimeout=-1;let e=t.state.facet(k0);this.position=e.position,this.parent=e.parent,this.classes=t.themeClasses,this.createContainer(),this.measureReq={read:this.readMeasure.bind(this),write:this.writeMeasure.bind(this),key:this},this.resizeObserver=typeof ResizeObserver=="function"?new ResizeObserver(()=>this.measureSoon()):null,this.manager=new _C(t,sm,(n,r)=>this.createTooltip(n,r),n=>{this.resizeObserver&&this.resizeObserver.unobserve(n.dom),n.dom.remove()}),this.above=this.manager.tooltips.map(n=>!!n.above),this.intersectionObserver=typeof IntersectionObserver=="function"?new IntersectionObserver(n=>{Date.now()>this.lastTransaction-50&&n.length>0&&n[n.length-1].intersectionRatio<1&&this.measureSoon()},{threshold:[1]}):null,this.observeIntersection(),t.win.addEventListener("resize",this.measureSoon=this.measureSoon.bind(this)),this.maybeMeasure()}createContainer(){this.parent?(this.container=document.createElement("div"),this.container.style.position="relative",this.container.className=this.view.themeClasses,this.parent.appendChild(this.container)):this.container=this.view.dom}observeIntersection(){if(this.intersectionObserver){this.intersectionObserver.disconnect();for(let t of this.manager.tooltipViews)this.intersectionObserver.observe(t.dom)}}measureSoon(){this.measureTimeout<0&&(this.measureTimeout=setTimeout(()=>{this.measureTimeout=-1,this.maybeMeasure()},50))}update(t){t.transactions.length&&(this.lastTransaction=Date.now());let e=this.manager.update(t,this.above);e&&this.observeIntersection();let n=e||t.geometryChanged,r=t.state.facet(k0);if(r.position!=this.position&&!this.madeAbsolute){this.position=r.position;for(let i of this.manager.tooltipViews)i.dom.style.position=this.position;n=!0}if(r.parent!=this.parent){this.parent&&this.container.remove(),this.parent=r.parent,this.createContainer();for(let i of this.manager.tooltipViews)this.container.appendChild(i.dom);n=!0}else this.parent&&this.view.themeClasses!=this.classes&&(this.classes=this.container.className=this.view.themeClasses);n&&this.maybeMeasure()}createTooltip(t,e){let n=t.create(this.view),r=e?e.dom:null;if(n.dom.classList.add("cm-tooltip"),t.arrow&&!n.dom.querySelector(".cm-tooltip > .cm-tooltip-arrow")){let i=document.createElement("div");i.className="cm-tooltip-arrow",n.dom.appendChild(i)}return n.dom.style.position=this.position,n.dom.style.top=Fa,n.dom.style.left="0px",this.container.insertBefore(n.dom,r),n.mount&&n.mount(this.view),this.resizeObserver&&this.resizeObserver.observe(n.dom),n}destroy(){var t,e,n;this.view.win.removeEventListener("resize",this.measureSoon);for(let r of this.manager.tooltipViews)r.dom.remove(),(t=r.destroy)===null||t===void 0||t.call(r);this.parent&&this.container.remove(),(e=this.resizeObserver)===null||e===void 0||e.disconnect(),(n=this.intersectionObserver)===null||n===void 0||n.disconnect(),clearTimeout(this.measureTimeout)}readMeasure(){let t=1,e=1,n=!1;if(this.position=="fixed"&&this.manager.tooltipViews.length){let{dom:o}=this.manager.tooltipViews[0];if(ke.gecko)n=o.offsetParent!=this.container.ownerDocument.body;else if(o.style.top==Fa&&o.style.left=="0px"){let s=o.getBoundingClientRect();n=Math.abs(s.top+1e4)>1||Math.abs(s.left)>1}}if(n||this.position=="absolute")if(this.parent){let o=this.parent.getBoundingClientRect();o.width&&o.height&&(t=o.width/this.parent.offsetWidth,e=o.height/this.parent.offsetHeight)}else({scaleX:t,scaleY:e}=this.view.viewState);let r=this.view.scrollDOM.getBoundingClientRect(),i=tm(this.view);return{visible:{left:r.left+i.left,top:r.top+i.top,right:r.right-i.right,bottom:r.bottom-i.bottom},parent:this.parent?this.container.getBoundingClientRect():this.view.dom.getBoundingClientRect(),pos:this.manager.tooltips.map((o,s)=>{let a=this.manager.tooltipViews[s];return a.getCoords?a.getCoords(o.pos):this.view.coordsAtPos(o.pos)}),size:this.manager.tooltipViews.map(({dom:o})=>o.getBoundingClientRect()),space:this.view.state.facet(k0).tooltipSpace(this.view),scaleX:t,scaleY:e,makeAbsolute:n}}writeMeasure(t){var e;if(t.makeAbsolute){this.madeAbsolute=!0,this.position="absolute";for(let a of this.manager.tooltipViews)a.dom.style.position="absolute"}let{visible:n,space:r,scaleX:i,scaleY:o}=t,s=[];for(let a=0;a<this.manager.tooltips.length;a++){let c=this.manager.tooltips[a],d=this.manager.tooltipViews[a],{dom:h}=d,g=t.pos[a],m=t.size[a];if(!g||c.clip!==!1&&(g.bottom<=Math.max(n.top,r.top)||g.top>=Math.min(n.bottom,r.bottom)||g.right<Math.max(n.left,r.left)-.1||g.left>Math.min(n.right,r.right)+.1)){h.style.top=Fa;continue}let b=c.arrow?d.dom.querySelector(".cm-tooltip-arrow"):null,v=b?7:0,w=m.right-m.left,y=(e=iv.get(d))!==null&&e!==void 0?e:m.bottom-m.top,$=d.offset||BW,A=this.view.textDirection==At.LTR,k=m.width>r.right-r.left?A?r.left:r.right-m.width:A?Math.max(r.left,Math.min(g.left-(b?14:0)+$.x,r.right-w)):Math.min(Math.max(r.left,g.left-w+(b?14:0)-$.x),r.right-w),I=this.above[a];!c.strictSide&&(I?g.top-y-v-$.y<r.top:g.bottom+y+v+$.y>r.bottom)&&I==r.bottom-g.bottom>g.top-r.top&&(I=this.above[a]=!I);let E=(I?g.top-r.top:r.bottom-g.bottom)-v;if(E<y&&d.resize!==!1){if(E<this.view.defaultLineHeight){h.style.top=Fa;continue}iv.set(d,y),h.style.height=(y=E)/o+"px"}else h.style.height&&(h.style.height="");let L=I?g.top-y-v-$.y:g.bottom+v+$.y,D=k+w;if(d.overlap!==!0)for(let H of s)H.left<D&&H.right>k&&H.top<L+y&&H.bottom>L&&(L=I?H.top-y-2-v:H.bottom+v+2);if(this.position=="absolute"?(h.style.top=(L-t.parent.top)/o+"px",ov(h,(k-t.parent.left)/i)):(h.style.top=L/o+"px",ov(h,k/i)),b){let H=g.left+(A?$.x:-$.x)-(k+14-7);b.style.left=H/i+"px"}d.overlap!==!0&&s.push({left:k,top:L,right:D,bottom:L+y}),h.classList.toggle("cm-tooltip-above",I),h.classList.toggle("cm-tooltip-below",!I),d.positioned&&d.positioned(t.space)}}maybeMeasure(){if(this.manager.tooltips.length&&(this.view.inView&&this.view.requestMeasure(this.measureReq),this.inView!=this.view.inView&&(this.inView=this.view.inView,!this.inView)))for(let t of this.manager.tooltipViews)t.dom.style.top=Fa}},{eventObservers:{scroll(){this.maybeMeasure()}}});function ov(t,e){let n=parseInt(t.style.left,10);(isNaN(n)||Math.abs(e-n)>1)&&(t.style.left=e+"px")}const NW=Te.baseTheme({".cm-tooltip":{zIndex:500,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"}}}),BW={x:0,y:0},sm=Ie.define({enables:[om,NW]}),gd=Ie.define({combine:t=>t.reduce((e,n)=>e.concat(n),[])});class dh{static create(e){return new dh(e)}constructor(e){this.view=e,this.mounted=!1,this.dom=document.createElement("div"),this.dom.classList.add("cm-tooltip-hover"),this.manager=new _C(e,gd,(n,r)=>this.createHostedView(n,r),n=>n.dom.remove())}createHostedView(e,n){let r=e.create(this.view);return r.dom.classList.add("cm-tooltip-section"),this.dom.insertBefore(r.dom,n?n.dom.nextSibling:this.dom.firstChild),this.mounted&&r.mount&&r.mount(this.view),r}mount(e){for(let n of this.manager.tooltipViews)n.mount&&n.mount(e);this.mounted=!0}positioned(e){for(let n of this.manager.tooltipViews)n.positioned&&n.positioned(e)}update(e){this.manager.update(e)}destroy(){var e;for(let n of this.manager.tooltipViews)(e=n.destroy)===null||e===void 0||e.call(n)}passProp(e){let n;for(let r of this.manager.tooltipViews){let i=r[e];if(i!==void 0){if(n===void 0)n=i;else if(n!==i)return}}return n}get offset(){return this.passProp("offset")}get getCoords(){return this.passProp("getCoords")}get overlap(){return this.passProp("overlap")}get resize(){return this.passProp("resize")}}const FW=sm.compute([gd],t=>{let e=t.facet(gd);return e.length===0?null:{pos:Math.min(...e.map(n=>n.pos)),end:Math.max(...e.map(n=>{var r;return(r=n.end)!==null&&r!==void 0?r:n.pos})),create:dh.create,above:e[0].above,arrow:e.some(n=>n.arrow)}});class PW{constructor(e,n,r,i,o){this.view=e,this.source=n,this.field=r,this.setHover=i,this.hoverTime=o,this.hoverTimeout=-1,this.restartTimeout=-1,this.pending=null,this.lastMove={x:0,y:0,target:e.dom,time:0},this.checkHover=this.checkHover.bind(this),e.dom.addEventListener("mouseleave",this.mouseleave=this.mouseleave.bind(this)),e.dom.addEventListener("mousemove",this.mousemove=this.mousemove.bind(this))}update(){this.pending&&(this.pending=null,clearTimeout(this.restartTimeout),this.restartTimeout=setTimeout(()=>this.startHover(),20))}get active(){return this.view.state.field(this.field)}checkHover(){if(this.hoverTimeout=-1,this.active.length)return;let e=Date.now()-this.lastMove.time;e<this.hoverTime?this.hoverTimeout=setTimeout(this.checkHover,this.hoverTime-e):this.startHover()}startHover(){clearTimeout(this.restartTimeout);let{view:e,lastMove:n}=this,r=e.docView.nearest(n.target);if(!r)return;let i,o=1;if(r instanceof Xi)i=r.posAtStart;else{if(i=e.posAtCoords(n),i==null)return;let a=e.coordsAtPos(i);if(!a||n.y<a.top||n.y>a.bottom||n.x<a.left-e.defaultCharacterWidth||n.x>a.right+e.defaultCharacterWidth)return;let c=e.bidiSpans(e.state.doc.lineAt(i)).find(h=>h.from<=i&&h.to>=i),d=c&&c.dir==At.RTL?-1:1;o=n.x<a.left?-d:d}let s=this.source(e,i,o);if(s?.then){let a=this.pending={pos:i};s.then(c=>{this.pending==a&&(this.pending=null,c&&!(Array.isArray(c)&&!c.length)&&e.dispatch({effects:this.setHover.of(Array.isArray(c)?c:[c])}))},c=>Dn(e.state,c,"hover tooltip"))}else s&&!(Array.isArray(s)&&!s.length)&&e.dispatch({effects:this.setHover.of(Array.isArray(s)?s:[s])})}get tooltip(){let e=this.view.plugin(om),n=e?e.manager.tooltips.findIndex(r=>r.create==dh.create):-1;return n>-1?e.manager.tooltipViews[n]:null}mousemove(e){var n,r;this.lastMove={x:e.clientX,y:e.clientY,target:e.target,time:Date.now()},this.hoverTimeout<0&&(this.hoverTimeout=setTimeout(this.checkHover,this.hoverTime));let{active:i,tooltip:o}=this;if(i.length&&o&&!VW(o.dom,e)||this.pending){let{pos:s}=i[0]||this.pending,a=(r=(n=i[0])===null||n===void 0?void 0:n.end)!==null&&r!==void 0?r:s;(s==a?this.view.posAtCoords(this.lastMove)!=s:!HW(this.view,s,a,e.clientX,e.clientY))&&(this.view.dispatch({effects:this.setHover.of([])}),this.pending=null)}}mouseleave(e){clearTimeout(this.hoverTimeout),this.hoverTimeout=-1;let{active:n}=this;if(n.length){let{tooltip:r}=this;r&&r.dom.contains(e.relatedTarget)?this.watchTooltipLeave(r.dom):this.view.dispatch({effects:this.setHover.of([])})}}watchTooltipLeave(e){let n=r=>{e.removeEventListener("mouseleave",n),this.active.length&&!this.view.dom.contains(r.relatedTarget)&&this.view.dispatch({effects:this.setHover.of([])})};e.addEventListener("mouseleave",n)}destroy(){clearTimeout(this.hoverTimeout),this.view.dom.removeEventListener("mouseleave",this.mouseleave),this.view.dom.removeEventListener("mousemove",this.mousemove)}}const yu=4;function VW(t,e){let{left:n,right:r,top:i,bottom:o}=t.getBoundingClientRect(),s;if(s=t.querySelector(".cm-tooltip-arrow")){let a=s.getBoundingClientRect();i=Math.min(a.top,i),o=Math.max(a.bottom,o)}return e.clientX>=n-yu&&e.clientX<=r+yu&&e.clientY>=i-yu&&e.clientY<=o+yu}function HW(t,e,n,r,i,o){let s=t.scrollDOM.getBoundingClientRect(),a=t.documentTop+t.documentPadding.top+t.contentHeight;if(s.left>r||s.right<r||s.top>i||Math.min(s.bottom,a)<i)return!1;let c=t.posAtCoords({x:r,y:i},!1);return c>=e&&c<=n}function zW(t,e={}){let n=Xe.define(),r=nn.define({create(){return[]},update(i,o){if(i.length&&(e.hideOnChange&&(o.docChanged||o.selection)?i=[]:e.hideOn&&(i=i.filter(s=>!e.hideOn(o,s))),o.docChanged)){let s=[];for(let a of i){let c=o.changes.mapPos(a.pos,-1,Cn.TrackDel);if(c!=null){let d=Object.assign(Object.create(null),a);d.pos=c,d.end!=null&&(d.end=o.changes.mapPos(d.end)),s.push(d)}}i=s}for(let s of o.effects)s.is(n)&&(i=s.value),s.is(WW)&&(i=[]);return i},provide:i=>gd.from(i)});return{active:r,extension:[r,Pt.define(i=>new PW(i,t,r,n,e.hoverTime||300)),FW]}}function NC(t,e){let n=t.plugin(om);if(!n)return null;let r=n.manager.tooltips.indexOf(e);return r<0?null:n.manager.tooltipViews[r]}const WW=Xe.define(),sv=Ie.define({combine(t){let e,n;for(let r of t)e=e||r.topContainer,n=n||r.bottomContainer;return{topContainer:e,bottomContainer:n}}});function $l(t,e){let n=t.plugin(BC),r=n?n.specs.indexOf(e):-1;return r>-1?n.panels[r]:null}const BC=Pt.fromClass(class{constructor(t){this.input=t.state.facet(Sl),this.specs=this.input.filter(n=>n),this.panels=this.specs.map(n=>n(t));let e=t.state.facet(sv);this.top=new Cu(t,!0,e.topContainer),this.bottom=new Cu(t,!1,e.bottomContainer),this.top.sync(this.panels.filter(n=>n.top)),this.bottom.sync(this.panels.filter(n=>!n.top));for(let n of this.panels)n.dom.classList.add("cm-panel"),n.mount&&n.mount()}update(t){let e=t.state.facet(sv);this.top.container!=e.topContainer&&(this.top.sync([]),this.top=new Cu(t.view,!0,e.topContainer)),this.bottom.container!=e.bottomContainer&&(this.bottom.sync([]),this.bottom=new Cu(t.view,!1,e.bottomContainer)),this.top.syncClasses(),this.bottom.syncClasses();let n=t.state.facet(Sl);if(n!=this.input){let r=n.filter(c=>c),i=[],o=[],s=[],a=[];for(let c of r){let d=this.specs.indexOf(c),h;d<0?(h=c(t.view),a.push(h)):(h=this.panels[d],h.update&&h.update(t)),i.push(h),(h.top?o:s).push(h)}this.specs=r,this.panels=i,this.top.sync(o),this.bottom.sync(s);for(let c of a)c.dom.classList.add("cm-panel"),c.mount&&c.mount()}else for(let r of this.panels)r.update&&r.update(t)}destroy(){this.top.sync([]),this.bottom.sync([])}},{provide:t=>Te.scrollMargins.of(e=>{let n=e.plugin(t);return n&&{top:n.top.scrollMargin(),bottom:n.bottom.scrollMargin()}})});class Cu{constructor(e,n,r){this.view=e,this.top=n,this.container=r,this.dom=void 0,this.classes="",this.panels=[],this.syncClasses()}sync(e){for(let n of this.panels)n.destroy&&e.indexOf(n)<0&&n.destroy();this.panels=e,this.syncDOM()}syncDOM(){if(this.panels.length==0){this.dom&&(this.dom.remove(),this.dom=void 0);return}if(!this.dom){this.dom=document.createElement("div"),this.dom.className=this.top?"cm-panels cm-panels-top":"cm-panels cm-panels-bottom",this.dom.style[this.top?"top":"bottom"]="0";let n=this.container||this.view.dom;n.insertBefore(this.dom,this.top?n.firstChild:null)}let e=this.dom.firstChild;for(let n of this.panels)if(n.dom.parentNode==this.dom){for(;e!=n.dom;)e=av(e);e=e.nextSibling}else this.dom.insertBefore(n.dom,e);for(;e;)e=av(e)}scrollMargin(){return!this.dom||this.container?0:Math.max(0,this.top?this.dom.getBoundingClientRect().bottom-Math.max(0,this.view.scrollDOM.getBoundingClientRect().top):Math.min(innerHeight,this.view.scrollDOM.getBoundingClientRect().bottom)-this.dom.getBoundingClientRect().top)}syncClasses(){if(!(!this.container||this.classes==this.view.themeClasses)){for(let e of this.classes.split(" "))e&&this.container.classList.remove(e);for(let e of(this.classes=this.view.themeClasses).split(" "))e&&this.container.classList.add(e)}}}function av(t){let e=t.nextSibling;return t.remove(),e}const Sl=Ie.define({enables:BC});class Mi extends Vo{compare(e){return this==e||this.constructor==e.constructor&&this.eq(e)}eq(e){return!1}destroy(e){}}Mi.prototype.elementClass="";Mi.prototype.toDOM=void 0;Mi.prototype.mapMode=Cn.TrackBefore;Mi.prototype.startSide=Mi.prototype.endSide=-1;Mi.prototype.point=!0;const zu=Ie.define(),UW=Ie.define(),qW={class:"",renderEmptyElements:!1,elementStyle:"",markers:()=>ut.empty,lineMarker:()=>null,widgetMarker:()=>null,lineMarkerChange:null,initialSpacer:null,updateSpacer:null,domEventHandlers:{}},al=Ie.define();function KW(t){return[FC(),al.of(Object.assign(Object.assign({},qW),t))]}const lv=Ie.define({combine:t=>t.some(e=>e)});function FC(t){return[GW]}const GW=Pt.fromClass(class{constructor(t){this.view=t,this.prevViewport=t.viewport,this.dom=document.createElement("div"),this.dom.className="cm-gutters",this.dom.setAttribute("aria-hidden","true"),this.dom.style.minHeight=this.view.contentHeight/this.view.scaleY+"px",this.gutters=t.state.facet(al).map(e=>new uv(t,e));for(let e of this.gutters)this.dom.appendChild(e.dom);this.fixed=!t.state.facet(lv),this.fixed&&(this.dom.style.position="sticky"),this.syncGutters(!1),t.scrollDOM.insertBefore(this.dom,t.contentDOM)}update(t){if(this.updateGutters(t)){let e=this.prevViewport,n=t.view.viewport,r=Math.min(e.to,n.to)-Math.max(e.from,n.from);this.syncGutters(r<(n.to-n.from)*.8)}t.geometryChanged&&(this.dom.style.minHeight=this.view.contentHeight/this.view.scaleY+"px"),this.view.state.facet(lv)!=!this.fixed&&(this.fixed=!this.fixed,this.dom.style.position=this.fixed?"sticky":""),this.prevViewport=t.view.viewport}syncGutters(t){let e=this.dom.nextSibling;t&&this.dom.remove();let n=ut.iter(this.view.state.facet(zu),this.view.viewport.from),r=[],i=this.gutters.map(o=>new YW(o,this.view.viewport,-this.view.documentPadding.top));for(let o of this.view.viewportLineBlocks)if(r.length&&(r=[]),Array.isArray(o.type)){let s=!0;for(let a of o.type)if(a.type==$n.Text&&s){lg(n,r,a.from);for(let c of i)c.line(this.view,a,r);s=!1}else if(a.widget)for(let c of i)c.widget(this.view,a)}else if(o.type==$n.Text){lg(n,r,o.from);for(let s of i)s.line(this.view,o,r)}else if(o.widget)for(let s of i)s.widget(this.view,o);for(let o of i)o.finish();t&&this.view.scrollDOM.insertBefore(this.dom,e)}updateGutters(t){let e=t.startState.facet(al),n=t.state.facet(al),r=t.docChanged||t.heightChanged||t.viewportChanged||!ut.eq(t.startState.facet(zu),t.state.facet(zu),t.view.viewport.from,t.view.viewport.to);if(e==n)for(let i of this.gutters)i.update(t)&&(r=!0);else{r=!0;let i=[];for(let o of n){let s=e.indexOf(o);s<0?i.push(new uv(this.view,o)):(this.gutters[s].update(t),i.push(this.gutters[s]))}for(let o of this.gutters)o.dom.remove(),i.indexOf(o)<0&&o.destroy();for(let o of i)this.dom.appendChild(o.dom);this.gutters=i}return r}destroy(){for(let t of this.gutters)t.destroy();this.dom.remove()}},{provide:t=>Te.scrollMargins.of(e=>{let n=e.plugin(t);return!n||n.gutters.length==0||!n.fixed?null:e.textDirection==At.LTR?{left:n.dom.offsetWidth*e.scaleX}:{right:n.dom.offsetWidth*e.scaleX}})});function cv(t){return Array.isArray(t)?t:[t]}function lg(t,e,n){for(;t.value&&t.from<=n;)t.from==n&&e.push(t.value),t.next()}class YW{constructor(e,n,r){this.gutter=e,this.height=r,this.i=0,this.cursor=ut.iter(e.markers,n.from)}addElement(e,n,r){let{gutter:i}=this,o=(n.top-this.height)/e.scaleY,s=n.height/e.scaleY;if(this.i==i.elements.length){let a=new PC(e,s,o,r);i.elements.push(a),i.dom.appendChild(a.dom)}else i.elements[this.i].update(e,s,o,r);this.height=n.bottom,this.i++}line(e,n,r){let i=[];lg(this.cursor,i,n.from),r.length&&(i=i.concat(r));let o=this.gutter.config.lineMarker(e,n,i);o&&i.unshift(o);let s=this.gutter;i.length==0&&!s.config.renderEmptyElements||this.addElement(e,n,i)}widget(e,n){let r=this.gutter.config.widgetMarker(e,n.widget,n),i=r?[r]:null;for(let o of e.state.facet(UW)){let s=o(e,n.widget,n);s&&(i||(i=[])).push(s)}i&&this.addElement(e,n,i)}finish(){let e=this.gutter;for(;e.elements.length>this.i;){let n=e.elements.pop();e.dom.removeChild(n.dom),n.destroy()}}}class uv{constructor(e,n){this.view=e,this.config=n,this.elements=[],this.spacer=null,this.dom=document.createElement("div"),this.dom.className="cm-gutter"+(this.config.class?" "+this.config.class:"");for(let r in n.domEventHandlers)this.dom.addEventListener(r,i=>{let o=i.target,s;if(o!=this.dom&&this.dom.contains(o)){for(;o.parentNode!=this.dom;)o=o.parentNode;let c=o.getBoundingClientRect();s=(c.top+c.bottom)/2}else s=i.clientY;let a=e.lineBlockAtHeight(s-e.documentTop);n.domEventHandlers[r](e,a,i)&&i.preventDefault()});this.markers=cv(n.markers(e)),n.initialSpacer&&(this.spacer=new PC(e,0,0,[n.initialSpacer(e)]),this.dom.appendChild(this.spacer.dom),this.spacer.dom.style.cssText+="visibility: hidden; pointer-events: none")}update(e){let n=this.markers;if(this.markers=cv(this.config.markers(e.view)),this.spacer&&this.config.updateSpacer){let i=this.config.updateSpacer(this.spacer.markers[0],e);i!=this.spacer.markers[0]&&this.spacer.update(e.view,0,0,[i])}let r=e.view.viewport;return!ut.eq(this.markers,n,r.from,r.to)||(this.config.lineMarkerChange?this.config.lineMarkerChange(e):!1)}destroy(){for(let e of this.elements)e.destroy()}}class PC{constructor(e,n,r,i){this.height=-1,this.above=0,this.markers=[],this.dom=document.createElement("div"),this.dom.className="cm-gutterElement",this.update(e,n,r,i)}update(e,n,r,i){this.height!=n&&(this.height=n,this.dom.style.height=n+"px"),this.above!=r&&(this.dom.style.marginTop=(this.above=r)?r+"px":""),XW(this.markers,i)||this.setMarkers(e,i)}setMarkers(e,n){let r="cm-gutterElement",i=this.dom.firstChild;for(let o=0,s=0;;){let a=s,c=o<n.length?n[o++]:null,d=!1;if(c){let h=c.elementClass;h&&(r+=" "+h);for(let g=s;g<this.markers.length;g++)if(this.markers[g].compare(c)){a=g,d=!0;break}}else a=this.markers.length;for(;s<a;){let h=this.markers[s++];if(h.toDOM){h.destroy(i);let g=i.nextSibling;i.remove(),i=g}}if(!c)break;c.toDOM&&(d?i=i.nextSibling:this.dom.insertBefore(c.toDOM(e),i)),d&&s++}this.dom.className=r,this.markers=n}destroy(){this.setMarkers(null,[])}}function XW(t,e){if(t.length!=e.length)return!1;for(let n=0;n<t.length;n++)if(!t[n].compare(e[n]))return!1;return!0}const QW=Ie.define(),ZW=Ie.define(),Ts=Ie.define({combine(t){return ii(t,{formatNumber:String,domEventHandlers:{}},{domEventHandlers(e,n){let r=Object.assign({},e);for(let i in n){let o=r[i],s=n[i];r[i]=o?(a,c,d)=>o(a,c,d)||s(a,c,d):s}return r}})}});class E0 extends Mi{constructor(e){super(),this.number=e}eq(e){return this.number==e.number}toDOM(){return document.createTextNode(this.number)}}function M0(t,e){return t.state.facet(Ts).formatNumber(e,t.state)}const JW=al.compute([Ts],t=>({class:"cm-lineNumbers",renderEmptyElements:!1,markers(e){return e.state.facet(QW)},lineMarker(e,n,r){return r.some(i=>i.toDOM)?null:new E0(M0(e,e.state.doc.lineAt(n.from).number))},widgetMarker:(e,n,r)=>{for(let i of e.state.facet(ZW)){let o=i(e,n,r);if(o)return o}return null},lineMarkerChange:e=>e.startState.facet(Ts)!=e.state.facet(Ts),initialSpacer(e){return new E0(M0(e,dv(e.state.doc.lines)))},updateSpacer(e,n){let r=M0(n.view,dv(n.view.state.doc.lines));return r==e.number?e:new E0(r)},domEventHandlers:t.facet(Ts).domEventHandlers}));function eU(t={}){return[Ts.of(t),FC(),JW]}function dv(t){let e=9;for(;e<t;)e=e*10+9;return e}const tU=new class extends Mi{constructor(){super(...arguments),this.elementClass="cm-activeLineGutter"}},nU=zu.compute(["selection"],t=>{let e=[],n=-1;for(let r of t.selection.ranges){let i=t.doc.lineAt(r.head).from;i>n&&(n=i,e.push(tU.range(i)))}return ut.of(e)});function rU(){return nU}var I0;const ks=new nt;function iU(t){return Ie.define({combine:t?e=>e.concat(t):void 0})}const oU=new nt;class $r{constructor(e,n,r=[],i=""){this.data=e,this.name=i,lt.prototype.hasOwnProperty("tree")||Object.defineProperty(lt.prototype,"tree",{get(){return mn(this)}}),this.parser=n,this.extension=[lo.of(this),lt.languageData.of((o,s,a)=>{let c=hv(o,s,a),d=c.type.prop(ks);if(!d)return[];let h=o.facet(d),g=c.type.prop(oU);if(g){let m=c.resolve(s-c.from,a);for(let b of g)if(b.test(m,o)){let v=o.facet(b.facet);return b.type=="replace"?v:v.concat(h)}}return h})].concat(r)}isActiveAt(e,n,r=-1){return hv(e,n,r).type.prop(ks)==this.data}findRegions(e){let n=e.facet(lo);if(n?.data==this.data)return[{from:0,to:e.doc.length}];if(!n||!n.allowsNesting)return[];let r=[],i=(o,s)=>{if(o.prop(ks)==this.data){r.push({from:s,to:s+o.length});return}let a=o.prop(nt.mounted);if(a){if(a.tree.prop(ks)==this.data){if(a.overlay)for(let c of a.overlay)r.push({from:c.from+s,to:c.to+s});else r.push({from:s,to:s+o.length});return}else if(a.overlay){let c=r.length;if(i(a.tree,a.overlay[0].from+s),r.length>c)return}}for(let c=0;c<o.children.length;c++){let d=o.children[c];d instanceof zt&&i(d,o.positions[c]+s)}};return i(mn(e),0),r}get allowsNesting(){return!0}}$r.setState=Xe.define();function hv(t,e,n){let r=t.facet(lo),i=mn(t).topNode;if(!r||r.allowsNesting)for(let o=i;o;o=o.enter(e,n,Zt.ExcludeBuffers))o.type.isTop&&(i=o);return i}class pd extends $r{constructor(e,n,r){super(e,n,[],r),this.parser=n}static define(e){let n=iU(e.languageData);return new pd(n,e.parser.configure({props:[ks.add(r=>r.isTop?n:void 0)]}),e.name)}configure(e,n){return new pd(this.data,this.parser.configure(e),n||this.name)}get allowsNesting(){return this.parser.hasWrappers()}}function mn(t){let e=t.field($r.state,!1);return e?e.tree:zt.empty}class sU{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,n){let r=this.cursorPos-this.string.length;return e<r||n>=this.cursorPos?this.doc.sliceString(e,n):this.string.slice(e-r,n-r)}}let Pa=null;class md{constructor(e,n,r=[],i,o,s,a,c){this.parser=e,this.state=n,this.fragments=r,this.tree=i,this.treeLen=o,this.viewport=s,this.skipped=a,this.scheduleOn=c,this.parse=null,this.tempSkipped=[]}static create(e,n,r){return new md(e,n,[],zt.empty,0,r,[],null)}startParse(){return this.parser.startParse(new sU(this.state.doc),this.fragments)}work(e,n){return n!=null&&n>=this.state.doc.length&&(n=void 0),this.tree!=zt.empty&&this.isDone(n??this.state.doc.length)?(this.takeTree(),!0):this.withContext(()=>{var r;if(typeof e=="number"){let i=Date.now()+e;e=()=>Date.now()>i}for(this.parse||(this.parse=this.startParse()),n!=null&&(this.parse.stoppedAt==null||this.parse.stoppedAt>n)&&n<this.state.doc.length&&this.parse.stopAt(n);;){let i=this.parse.advance();if(i)if(this.fragments=this.withoutTempSkipped(jo.addTree(i,this.fragments,this.parse.stoppedAt!=null)),this.treeLen=(r=this.parse.stoppedAt)!==null&&r!==void 0?r:this.state.doc.length,this.tree=i,this.parse=null,this.treeLen<(n??this.state.doc.length))this.parse=this.startParse();else return!0;if(e())return!1}})}takeTree(){let e,n;this.parse&&(e=this.parse.parsedPos)>=this.treeLen&&((this.parse.stoppedAt==null||this.parse.stoppedAt>e)&&this.parse.stopAt(e),this.withContext(()=>{for(;!(n=this.parse.advance()););}),this.treeLen=e,this.tree=n,this.fragments=this.withoutTempSkipped(jo.addTree(this.tree,this.fragments,!0)),this.parse=null)}withContext(e){let n=Pa;Pa=this;try{return e()}finally{Pa=n}}withoutTempSkipped(e){for(let n;n=this.tempSkipped.pop();)e=fv(e,n.from,n.to);return e}changes(e,n){let{fragments:r,tree:i,treeLen:o,viewport:s,skipped:a}=this;if(this.takeTree(),!e.empty){let c=[];if(e.iterChangedRanges((d,h,g,m)=>c.push({fromA:d,toA:h,fromB:g,toB:m})),r=jo.applyChanges(r,c),i=zt.empty,o=0,s={from:e.mapPos(s.from,-1),to:e.mapPos(s.to,1)},this.skipped.length){a=[];for(let d of this.skipped){let h=e.mapPos(d.from,1),g=e.mapPos(d.to,-1);h<g&&a.push({from:h,to:g})}}}return new md(this.parser,n,r,i,o,s,a,this.scheduleOn)}updateViewport(e){if(this.viewport.from==e.from&&this.viewport.to==e.to)return!1;this.viewport=e;let n=this.skipped.length;for(let r=0;r<this.skipped.length;r++){let{from:i,to:o}=this.skipped[r];i<e.to&&o>e.from&&(this.fragments=fv(this.fragments,i,o),this.skipped.splice(r--,1))}return this.skipped.length>=n?!1:(this.reset(),!0)}reset(){this.parse&&(this.takeTree(),this.parse=null)}skipUntilInView(e,n){this.skipped.push({from:e,to:n})}static getSkippingParser(e){return new class extends h6{createParse(n,r,i){let o=i[0].from,s=i[i.length-1].to;return{parsedPos:o,advance(){let c=Pa;if(c){for(let d of i)c.tempSkipped.push(d);e&&(c.scheduleOn=c.scheduleOn?Promise.all([c.scheduleOn,e]):e)}return this.parsedPos=s,new zt(jn.none,[],[],s-o)},stoppedAt:null,stopAt(){}}}}}isDone(e){e=Math.min(e,this.state.doc.length);let n=this.fragments;return this.treeLen>=e&&n.length&&n[0].from==0&&n[0].to>=e}static get(){return Pa}}function fv(t,e,n){return jo.applyChanges(t,[{fromA:e,toA:n,fromB:e,toB:n}])}class na{constructor(e){this.context=e,this.tree=e.tree}apply(e){if(!e.docChanged&&this.tree==this.context.tree)return this;let n=this.context.changes(e.changes,e.state),r=this.context.treeLen==e.startState.doc.length?void 0:Math.max(e.changes.mapPos(this.context.treeLen),n.viewport.to);return n.work(20,r)||n.takeTree(),new na(n)}static init(e){let n=Math.min(3e3,e.doc.length),r=md.create(e.facet(lo).parser,e,{from:0,to:n});return r.work(20,n)||r.takeTree(),new na(r)}}$r.state=nn.define({create:na.init,update(t,e){for(let n of e.effects)if(n.is($r.setState))return n.value;return e.startState.facet(lo)!=e.state.facet(lo)?na.init(e.state):t.apply(e)}});let VC=t=>{let e=setTimeout(()=>t(),500);return()=>clearTimeout(e)};typeof requestIdleCallback<"u"&&(VC=t=>{let e=-1,n=setTimeout(()=>{e=requestIdleCallback(t,{timeout:400})},100);return()=>e<0?clearTimeout(n):cancelIdleCallback(e)});const O0=typeof navigator<"u"&&(!((I0=navigator.scheduling)===null||I0===void 0)&&I0.isInputPending)?()=>navigator.scheduling.isInputPending():null,aU=Pt.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 n=this.view.state.field($r.state).context;(n.updateViewport(e.view.viewport)||this.view.viewport.to>n.treeLen)&&this.scheduleWork(),(e.docChanged||e.selectionSet)&&(this.view.hasFocus&&(this.chunkBudget+=50),this.scheduleWork()),this.checkAsyncSchedule(n)}scheduleWork(){if(this.working)return;let{state:e}=this.view,n=e.field($r.state);(n.tree!=n.context.tree||!n.context.isDone(e.doc.length))&&(this.working=VC(this.work))}work(e){this.working=null;let n=Date.now();if(this.chunkEnd<n&&(this.chunkEnd<0||this.view.hasFocus)&&(this.chunkEnd=n+3e4,this.chunkBudget=3e3),this.chunkBudget<=0)return;let{state:r,viewport:{to:i}}=this.view,o=r.field($r.state);if(o.tree==o.context.tree&&o.context.isDone(i+1e5))return;let s=Date.now()+Math.min(this.chunkBudget,100,e&&!O0?Math.max(25,e.timeRemaining()-5):1e9),a=o.context.treeLen<i&&r.doc.length>i+1e3,c=o.context.work(()=>O0&&O0()||Date.now()>s,i+(a?0:1e5));this.chunkBudget-=Date.now()-n,(c||this.chunkBudget<=0)&&(o.context.takeTree(),this.view.dispatch({effects:$r.setState.of(new na(o.context))})),this.chunkBudget>0&&!(c&&!a)&&this.scheduleWork(),this.checkAsyncSchedule(o.context)}checkAsyncSchedule(e){e.scheduleOn&&(this.workScheduled++,e.scheduleOn.then(()=>this.scheduleWork()).catch(n=>Dn(this.view.state,n)).then(()=>this.workScheduled--),e.scheduleOn=null)}destroy(){this.working&&this.working()}isWorking(){return!!(this.working||this.workScheduled>0)}},{eventHandlers:{focus(){this.scheduleWork()}}}),lo=Ie.define({combine(t){return t.length?t[0]:null},enables:t=>[$r.state,aU,Te.contentAttributes.compute([t],e=>{let n=e.facet(t);return n&&n.name?{"data-language":n.name}:{}})]});class lU{constructor(e,n=[]){this.language=e,this.support=n,this.extension=[e,n]}}const cU=Ie.define(),hh=Ie.define({combine:t=>{if(!t.length)return" ";let e=t[0];if(!e||/\S/.test(e)||Array.from(e).some(n=>n!=e[0]))throw new Error("Invalid indent unit: "+JSON.stringify(t[0]));return e}});function bd(t){let e=t.facet(hh);return e.charCodeAt(0)==9?t.tabSize*e.length:e.length}function Al(t,e){let n="",r=t.tabSize,i=t.facet(hh)[0];if(i==" "){for(;e>=r;)n+=" ",e-=r;i=" "}for(let o=0;o<e;o++)n+=i;return n}function am(t,e){t instanceof lt&&(t=new fh(t));for(let r of t.state.facet(cU)){let i=r(t,e);if(i!==void 0)return i}let n=mn(t.state);return n.length>=e?uU(t,n,e):null}class fh{constructor(e,n={}){this.state=e,this.options=n,this.unit=bd(e)}lineAt(e,n=1){let r=this.state.doc.lineAt(e),{simulateBreak:i,simulateDoubleBreak:o}=this.options;return i!=null&&i>=r.from&&i<=r.to?o&&i==e?{text:"",from:e}:(n<0?i<e:i<=e)?{text:r.text.slice(i-r.from),from:i}:{text:r.text.slice(0,i-r.from),from:r.from}:r}textAfterPos(e,n=1){if(this.options.simulateDoubleBreak&&e==this.options.simulateBreak)return"";let{text:r,from:i}=this.lineAt(e,n);return r.slice(e-i,Math.min(r.length,e+100-i))}column(e,n=1){let{text:r,from:i}=this.lineAt(e,n),o=this.countColumn(r,e-i),s=this.options.overrideIndentation?this.options.overrideIndentation(i):-1;return s>-1&&(o+=s-this.countColumn(r,r.search(/\S|$/))),o}countColumn(e,n=e.length){return ga(e,this.state.tabSize,n)}lineIndent(e,n=1){let{text:r,from:i}=this.lineAt(e,n),o=this.options.overrideIndentation;if(o){let s=o(i);if(s>-1)return s}return this.countColumn(r,r.search(/\S|$/))}get simulatedBreak(){return this.options.simulateBreak||null}}const HC=new nt;function uU(t,e,n){let r=e.resolveStack(n),i=e.resolveInner(n,-1).resolve(n,0).enterUnfinishedNodesBefore(n);if(i!=r.node){let o=[];for(let s=i;s&&!(s.from==r.node.from&&s.type==r.node.type);s=s.parent)o.push(s);for(let s=o.length-1;s>=0;s--)r={node:o[s],next:r}}return zC(r,t,n)}function zC(t,e,n){for(let r=t;r;r=r.next){let i=hU(r.node);if(i)return i(lm.create(e,n,r))}return 0}function dU(t){return t.pos==t.options.simulateBreak&&t.options.simulateDoubleBreak}function hU(t){let e=t.type.prop(HC);if(e)return e;let n=t.firstChild,r;if(n&&(r=n.type.prop(nt.closedBy))){let i=t.lastChild,o=i&&r.indexOf(i.name)>-1;return s=>mU(s,!0,1,void 0,o&&!dU(s)?i.from:void 0)}return t.parent==null?fU:null}function fU(){return 0}class lm extends fh{constructor(e,n,r){super(e.state,e.options),this.base=e,this.pos=n,this.context=r}get node(){return this.context.node}static create(e,n,r){return new lm(e,n,r)}get textAfter(){return this.textAfterPos(this.pos)}get baseIndent(){return this.baseIndentFor(this.node)}baseIndentFor(e){let n=this.state.doc.lineAt(e.from);for(;;){let r=e.resolve(n.from);for(;r.parent&&r.parent.from==r.from;)r=r.parent;if(gU(r,e))break;n=this.state.doc.lineAt(r.from)}return this.lineIndent(n.from)}continue(){return zC(this.context.next,this.base,this.pos)}}function gU(t,e){for(let n=e;n;n=n.parent)if(t==n)return!0;return!1}function pU(t){let e=t.node,n=e.childAfter(e.from),r=e.lastChild;if(!n)return null;let i=t.options.simulateBreak,o=t.state.doc.lineAt(n.from),s=i==null||i<=o.from?o.to:Math.min(o.to,i);for(let a=n.to;;){let c=e.childAfter(a);if(!c||c==r)return null;if(!c.type.isSkipped){if(c.from>=s)return null;let d=/^ */.exec(o.text.slice(n.to-o.from))[0].length;return{from:n.from,to:n.to+d}}a=c.to}}function mU(t,e,n,r,i){let o=t.textAfter,s=o.match(/^\s*/)[0].length,a=i==t.pos+s,c=pU(t);return c?a?t.column(c.from):t.column(c.to):t.baseIndent+(a?0:t.unit*n)}function gv({except:t,units:e=1}={}){return n=>{let r=t&&t.test(n.textAfter);return n.baseIndent+(r?0:e*n.unit)}}const bU=200;function xU(){return lt.transactionFilter.of(t=>{if(!t.docChanged||!t.isUserEvent("input.type")&&!t.isUserEvent("input.complete"))return t;let e=t.startState.languageDataAt("indentOnInput",t.startState.selection.main.head);if(!e.length)return t;let n=t.newDoc,{head:r}=t.newSelection.main,i=n.lineAt(r);if(r>i.from+bU)return t;let o=n.sliceString(i.from,r);if(!e.some(d=>d.test(o)))return t;let{state:s}=t,a=-1,c=[];for(let{head:d}of s.selection.ranges){let h=s.doc.lineAt(d);if(h.from==a)continue;a=h.from;let g=am(s,h.from);if(g==null)continue;let m=/^\s*/.exec(h.text)[0],b=Al(s,g);m!=b&&c.push({from:h.from,to:h.from+m.length,insert:b})}return c.length?[t,{changes:c,sequential:!0}]:t})}const vU=Ie.define(),WC=new nt;function wU(t){let e=t.firstChild,n=t.lastChild;return e&&e.to<n.from?{from:e.to,to:n.type.isError?t.to:n.from}:null}function yU(t,e,n){let r=mn(t);if(r.length<n)return null;let i=r.resolveStack(n,1),o=null;for(let s=i;s;s=s.next){let a=s.node;if(a.to<=n||a.from>n)continue;if(o&&a.from<e)break;let c=a.type.prop(WC);if(c&&(a.to<r.length-50||r.length==t.doc.length||!CU(a))){let d=c(a,t);d&&d.from<=n&&d.from>=e&&d.to>n&&(o=d)}}return o}function CU(t){let e=t.lastChild;return e&&e.to==t.to&&e.type.isError}function xd(t,e,n){for(let r of t.facet(vU)){let i=r(t,e,n);if(i)return i}return yU(t,e,n)}function UC(t,e){let n=e.mapPos(t.from,1),r=e.mapPos(t.to,-1);return n>=r?void 0:{from:n,to:r}}const gh=Xe.define({map:UC}),Gl=Xe.define({map:UC});function qC(t){let e=[];for(let{head:n}of t.state.selection.ranges)e.some(r=>r.from<=n&&r.to>=n)||e.push(t.lineBlockAt(n));return e}const Uo=nn.define({create(){return Fe.none},update(t,e){t=t.map(e.changes);for(let n of e.effects)if(n.is(gh)&&!$U(t,n.value.from,n.value.to)){let{preparePlaceholder:r}=e.state.facet(YC),i=r?Fe.replace({widget:new MU(r(e.state,n.value))}):pv;t=t.update({add:[i.range(n.value.from,n.value.to)]})}else n.is(Gl)&&(t=t.update({filter:(r,i)=>n.value.from!=r||n.value.to!=i,filterFrom:n.value.from,filterTo:n.value.to}));if(e.selection){let n=!1,{head:r}=e.selection.main;t.between(r,r,(i,o)=>{i<r&&o>r&&(n=!0)}),n&&(t=t.update({filterFrom:r,filterTo:r,filter:(i,o)=>o<=r||i>=r}))}return t},provide:t=>Te.decorations.from(t),toJSON(t,e){let n=[];return t.between(0,e.doc.length,(r,i)=>{n.push(r,i)}),n},fromJSON(t){if(!Array.isArray(t)||t.length%2)throw new RangeError("Invalid JSON for fold state");let e=[];for(let n=0;n<t.length;){let r=t[n++],i=t[n++];if(typeof r!="number"||typeof i!="number")throw new RangeError("Invalid JSON for fold state");e.push(pv.range(r,i))}return Fe.set(e,!0)}});function vd(t,e,n){var r;let i=null;return(r=t.field(Uo,!1))===null||r===void 0||r.between(e,n,(o,s)=>{(!i||i.from>o)&&(i={from:o,to:s})}),i}function $U(t,e,n){let r=!1;return t.between(e,e,(i,o)=>{i==e&&o==n&&(r=!0)}),r}function KC(t,e){return t.field(Uo,!1)?e:e.concat(Xe.appendConfig.of(XC()))}const SU=t=>{for(let e of qC(t)){let n=xd(t.state,e.from,e.to);if(n)return t.dispatch({effects:KC(t.state,[gh.of(n),GC(t,n)])}),!0}return!1},AU=t=>{if(!t.state.field(Uo,!1))return!1;let e=[];for(let n of qC(t)){let r=vd(t.state,n.from,n.to);r&&e.push(Gl.of(r),GC(t,r,!1))}return e.length&&t.dispatch({effects:e}),e.length>0};function GC(t,e,n=!0){let r=t.state.doc.lineAt(e.from).number,i=t.state.doc.lineAt(e.to).number;return Te.announce.of(`${t.state.phrase(n?"Folded lines":"Unfolded lines")} ${r} ${t.state.phrase("to")} ${i}.`)}const RU=t=>{let{state:e}=t,n=[];for(let r=0;r<e.doc.length;){let i=t.lineBlockAt(r),o=xd(e,i.from,i.to);o&&n.push(gh.of(o)),r=(o?t.lineBlockAt(o.to):i).to+1}return n.length&&t.dispatch({effects:KC(t.state,n)}),!!n.length},TU=t=>{let e=t.state.field(Uo,!1);if(!e||!e.size)return!1;let n=[];return e.between(0,t.state.doc.length,(r,i)=>{n.push(Gl.of({from:r,to:i}))}),t.dispatch({effects:n}),!0},kU=[{key:"Ctrl-Shift-[",mac:"Cmd-Alt-[",run:SU},{key:"Ctrl-Shift-]",mac:"Cmd-Alt-]",run:AU},{key:"Ctrl-Alt-[",run:RU},{key:"Ctrl-Alt-]",run:TU}],EU={placeholderDOM:null,preparePlaceholder:null,placeholderText:"…"},YC=Ie.define({combine(t){return ii(t,EU)}});function XC(t){return[Uo,DU]}function QC(t,e){let{state:n}=t,r=n.facet(YC),i=s=>{let a=t.lineBlockAt(t.posAtDOM(s.target)),c=vd(t.state,a.from,a.to);c&&t.dispatch({effects:Gl.of(c)}),s.preventDefault()};if(r.placeholderDOM)return r.placeholderDOM(t,i,e);let o=document.createElement("span");return o.textContent=r.placeholderText,o.setAttribute("aria-label",n.phrase("folded code")),o.title=n.phrase("unfold"),o.className="cm-foldPlaceholder",o.onclick=i,o}const pv=Fe.replace({widget:new class extends Di{toDOM(t){return QC(t,null)}}});class MU extends Di{constructor(e){super(),this.value=e}eq(e){return this.value==e.value}toDOM(e){return QC(e,this.value)}}const IU={openText:"⌄",closedText:"›",markerDOM:null,domEventHandlers:{},foldingChanged:()=>!1};class D0 extends Mi{constructor(e,n){super(),this.config=e,this.open=n}eq(e){return this.config==e.config&&this.open==e.open}toDOM(e){if(this.config.markerDOM)return this.config.markerDOM(this.open);let n=document.createElement("span");return n.textContent=this.open?this.config.openText:this.config.closedText,n.title=e.state.phrase(this.open?"Fold line":"Unfold line"),n}}function OU(t={}){let e=Object.assign(Object.assign({},IU),t),n=new D0(e,!0),r=new D0(e,!1),i=Pt.fromClass(class{constructor(s){this.from=s.viewport.from,this.markers=this.buildMarkers(s)}update(s){(s.docChanged||s.viewportChanged||s.startState.facet(lo)!=s.state.facet(lo)||s.startState.field(Uo,!1)!=s.state.field(Uo,!1)||mn(s.startState)!=mn(s.state)||e.foldingChanged(s))&&(this.markers=this.buildMarkers(s.view))}buildMarkers(s){let a=new ki;for(let c of s.viewportLineBlocks){let d=vd(s.state,c.from,c.to)?r:xd(s.state,c.from,c.to)?n:null;d&&a.add(c.from,c.from,d)}return a.finish()}}),{domEventHandlers:o}=e;return[i,KW({class:"cm-foldGutter",markers(s){var a;return((a=s.plugin(i))===null||a===void 0?void 0:a.markers)||ut.empty},initialSpacer(){return new D0(e,!1)},domEventHandlers:Object.assign(Object.assign({},o),{click:(s,a,c)=>{if(o.click&&o.click(s,a,c))return!0;let d=vd(s.state,a.from,a.to);if(d)return s.dispatch({effects:Gl.of(d)}),!0;let h=xd(s.state,a.from,a.to);return h?(s.dispatch({effects:gh.of(h)}),!0):!1}})}),XC()]}const DU=Te.baseTheme({".cm-foldPlaceholder":{backgroundColor:"#eee",border:"1px solid #ddd",color:"#888",borderRadius:".2em",margin:"0 1px",padding:"0 1px",cursor:"pointer"},".cm-foldGutter span":{padding:"0 1px",cursor:"pointer"}});class Yl{constructor(e,n){this.specs=e;let r;function i(a){let c=oo.newName();return(r||(r=Object.create(null)))["."+c]=a,c}const o=typeof n.all=="string"?n.all:n.all?i(n.all):void 0,s=n.scope;this.scope=s instanceof $r?a=>a.prop(ks)==s.data:s?a=>a==s:void 0,this.style=p6(e.map(a=>({tag:a.tag,class:a.class||i(Object.assign({},a,{tag:null}))})),{all:o}).style,this.module=r?new oo(r):null,this.themeType=n.themeType}static define(e,n){return new Yl(e,n||{})}}const cg=Ie.define(),ZC=Ie.define({combine(t){return t.length?[t[0]]:null}});function L0(t){let e=t.facet(cg);return e.length?e:t.facet(ZC)}function JC(t,e){let n=[jU],r;return t instanceof Yl&&(t.module&&n.push(Te.styleModule.of(t.module)),r=t.themeType),e?.fallback?n.push(ZC.of(t)):r?n.push(cg.computeN([Te.darkTheme],i=>i.facet(Te.darkTheme)==(r=="dark")?[t]:[])):n.push(cg.of(t)),n}class LU{constructor(e){this.markCache=Object.create(null),this.tree=mn(e.state),this.decorations=this.buildDeco(e,L0(e.state)),this.decoratedTo=e.viewport.to}update(e){let n=mn(e.state),r=L0(e.state),i=r!=L0(e.startState),{viewport:o}=e.view,s=e.changes.mapPos(this.decoratedTo,1);n.length<o.to&&!i&&n.type==this.tree.type&&s>=o.to?(this.decorations=this.decorations.map(e.changes),this.decoratedTo=s):(n!=this.tree||e.viewportChanged||i)&&(this.tree=n,this.decorations=this.buildDeco(e.view,r),this.decoratedTo=o.to)}buildDeco(e,n){if(!n||!this.tree.length)return Fe.none;let r=new ki;for(let{from:i,to:o}of e.visibleRanges)eH(this.tree,n,(s,a,c)=>{r.add(s,a,this.markCache[c]||(this.markCache[c]=Fe.mark({class:c})))},i,o);return r.finish()}}const jU=ts.high(Pt.fromClass(LU,{decorations:t=>t.decorations})),_U=Yl.define([{tag:G.meta,color:"#404740"},{tag:G.link,textDecoration:"underline"},{tag:G.heading,textDecoration:"underline",fontWeight:"bold"},{tag:G.emphasis,fontStyle:"italic"},{tag:G.strong,fontWeight:"bold"},{tag:G.strikethrough,textDecoration:"line-through"},{tag:G.keyword,color:"#708"},{tag:[G.atom,G.bool,G.url,G.contentSeparator,G.labelName],color:"#219"},{tag:[G.literal,G.inserted],color:"#164"},{tag:[G.string,G.deleted],color:"#a11"},{tag:[G.regexp,G.escape,G.special(G.string)],color:"#e40"},{tag:G.definition(G.variableName),color:"#00f"},{tag:G.local(G.variableName),color:"#30a"},{tag:[G.typeName,G.namespace],color:"#085"},{tag:G.className,color:"#167"},{tag:[G.special(G.variableName),G.macroName],color:"#256"},{tag:G.definition(G.propertyName),color:"#00c"},{tag:G.comment,color:"#940"},{tag:G.invalid,color:"#f00"}]),NU=Te.baseTheme({"&.cm-focused .cm-matchingBracket":{backgroundColor:"#328c8252"},"&.cm-focused .cm-nonmatchingBracket":{backgroundColor:"#bb555544"}}),e4=1e4,t4="()[]{}",n4=Ie.define({combine(t){return ii(t,{afterCursor:!0,brackets:t4,maxScanDistance:e4,renderMatch:PU})}}),BU=Fe.mark({class:"cm-matchingBracket"}),FU=Fe.mark({class:"cm-nonmatchingBracket"});function PU(t){let e=[],n=t.matched?BU:FU;return e.push(n.range(t.start.from,t.start.to)),t.end&&e.push(n.range(t.end.from,t.end.to)),e}const VU=nn.define({create(){return Fe.none},update(t,e){if(!e.docChanged&&!e.selection)return t;let n=[],r=e.state.facet(n4);for(let i of e.state.selection.ranges){if(!i.empty)continue;let o=Ur(e.state,i.head,-1,r)||i.head>0&&Ur(e.state,i.head-1,1,r)||r.afterCursor&&(Ur(e.state,i.head,1,r)||i.head<e.state.doc.length&&Ur(e.state,i.head+1,-1,r));o&&(n=n.concat(r.renderMatch(o,e.state)))}return Fe.set(n,!0)},provide:t=>Te.decorations.from(t)}),HU=[VU,NU];function zU(t={}){return[n4.of(t),HU]}const WU=new nt;function ug(t,e,n){let r=t.prop(e<0?nt.openedBy:nt.closedBy);if(r)return r;if(t.name.length==1){let i=n.indexOf(t.name);if(i>-1&&i%2==(e<0?1:0))return[n[i+e]]}return null}function dg(t){let e=t.type.prop(WU);return e?e(t.node):t}function Ur(t,e,n,r={}){let i=r.maxScanDistance||e4,o=r.brackets||t4,s=mn(t),a=s.resolveInner(e,n);for(let c=a;c;c=c.parent){let d=ug(c.type,n,o);if(d&&c.from<c.to){let h=dg(c);if(h&&(n>0?e>=h.from&&e<h.to:e>h.from&&e<=h.to))return UU(t,e,n,c,h,d,o)}}return qU(t,e,n,s,a.type,i,o)}function UU(t,e,n,r,i,o,s){let a=r.parent,c={from:i.from,to:i.to},d=0,h=a?.cursor();if(h&&(n<0?h.childBefore(r.from):h.childAfter(r.to)))do if(n<0?h.to<=r.from:h.from>=r.to){if(d==0&&o.indexOf(h.type.name)>-1&&h.from<h.to){let g=dg(h);return{start:c,end:g?{from:g.from,to:g.to}:void 0,matched:!0}}else if(ug(h.type,n,s))d++;else if(ug(h.type,-n,s)){if(d==0){let g=dg(h);return{start:c,end:g&&g.from<g.to?{from:g.from,to:g.to}:void 0,matched:!1}}d--}}while(n<0?h.prevSibling():h.nextSibling());return{start:c,matched:!1}}function qU(t,e,n,r,i,o,s){let a=n<0?t.sliceDoc(e-1,e):t.sliceDoc(e,e+1),c=s.indexOf(a);if(c<0||c%2==0!=n>0)return null;let d={from:n<0?e-1:e,to:n>0?e+1:e},h=t.doc.iterRange(e,n>0?t.doc.length:0),g=0;for(let m=0;!h.next().done&&m<=o;){let b=h.value;n<0&&(m+=b.length);let v=e+m*n;for(let w=n>0?0:b.length-1,y=n>0?b.length:-1;w!=y;w+=n){let $=s.indexOf(b[w]);if(!($<0||r.resolveInner(v+w,1).type!=i))if($%2==0==n>0)g++;else{if(g==1)return{start:d,end:{from:v+w,to:v+w+1},matched:$>>1==c>>1};g--}}n>0&&(m+=b.length)}return h.done?{start:d,matched:!1}:null}const KU=Object.create(null),mv=[jn.none],bv=[],xv=Object.create(null),GU=Object.create(null);for(let[t,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"]])GU[t]=YU(KU,e);function j0(t,e){bv.indexOf(t)>-1||(bv.push(t),console.warn(e))}function YU(t,e){let n=[];for(let a of e.split(" ")){let c=[];for(let d of a.split(".")){let h=t[d]||G[d];h?typeof h=="function"?c.length?c=c.map(h):j0(d,`Modifier ${d} used at start of tag`):c.length?j0(d,`Tag ${d} used as modifier`):c=Array.isArray(h)?h:[h]:j0(d,`Unknown highlighting tag ${d}`)}for(let d of c)n.push(d)}if(!n.length)return 0;let r=e.replace(/ /g,"_"),i=r+" "+n.map(a=>a.id),o=xv[i];if(o)return o.id;let s=xv[i]=jn.define({id:mv.length,name:r,props:[f6({[r]:n})]});return mv.push(s),s.id}At.RTL,At.LTR;const XU=()=>t=>{try{JSON.parse(t.state.doc.toString())}catch(e){if(!(e instanceof SyntaxError))throw e;const n=QU(e,t.state.doc);return[{from:n,message:e.message,severity:"error",to:n}]}return[]};function QU(t,e){let n;return(n=t.message.match(/at position (\d+)/))?Math.min(+n[1],e.length):(n=t.message.match(/at line (\d+) column (\d+)/))?Math.min(e.line(+n[1]).from+ +n[2]-1,e.length):0}const ZU=pd.define({name:"json",parser:iH.configure({props:[HC.add({Object:gv({except:/^\s*\}/}),Array:gv({except:/^\s*\]/})}),WC.add({"Object Array":wU})]}),languageData:{closeBrackets:{brackets:["[","{",'"']},indentOnInput:/^\s*[\}\]]$/}});function JU(){return new lU(ZU)}function eq(t,e){if(t==null)return{};var n={};for(var r in t)if({}.hasOwnProperty.call(t,r)){if(e.indexOf(r)!==-1)continue;n[r]=t[r]}return n}const tq=t=>{let{state:e}=t,n=e.doc.lineAt(e.selection.main.from),r=um(t.state,n.from);return r.line?nq(t):r.block?iq(t):!1};function cm(t,e){return({state:n,dispatch:r})=>{if(n.readOnly)return!1;let i=t(e,n);return i?(r(n.update(i)),!0):!1}}const nq=cm(aq,0),rq=cm(r4,0),iq=cm((t,e)=>r4(t,e,sq(e)),0);function um(t,e){let n=t.languageDataAt("commentTokens",e);return n.length?n[0]:{}}const Va=50;function oq(t,{open:e,close:n},r,i){let o=t.sliceDoc(r-Va,r),s=t.sliceDoc(i,i+Va),a=/\s*$/.exec(o)[0].length,c=/^\s*/.exec(s)[0].length,d=o.length-a;if(o.slice(d-e.length,d)==e&&s.slice(c,c+n.length)==n)return{open:{pos:r-a,margin:a&&1},close:{pos:i+c,margin:c&&1}};let h,g;i-r<=2*Va?h=g=t.sliceDoc(r,i):(h=t.sliceDoc(r,r+Va),g=t.sliceDoc(i-Va,i));let m=/^\s*/.exec(h)[0].length,b=/\s*$/.exec(g)[0].length,v=g.length-b-n.length;return h.slice(m,m+e.length)==e&&g.slice(v,v+n.length)==n?{open:{pos:r+m+e.length,margin:/\s/.test(h.charAt(m+e.length))?1:0},close:{pos:i-b-n.length,margin:/\s/.test(g.charAt(v-1))?1:0}}:null}function sq(t){let e=[];for(let n of t.selection.ranges){let r=t.doc.lineAt(n.from),i=n.to<=r.to?r:t.doc.lineAt(n.to);i.from>r.from&&i.from==n.to&&(i=n.to==r.to+1?r:t.doc.lineAt(n.to-1));let o=e.length-1;o>=0&&e[o].to>r.from?e[o].to=i.to:e.push({from:r.from+/^\s*/.exec(r.text)[0].length,to:i.to})}return e}function r4(t,e,n=e.selection.ranges){let r=n.map(o=>um(e,o.from).block);if(!r.every(o=>o))return null;let i=n.map((o,s)=>oq(e,r[s],o.from,o.to));if(t!=2&&!i.every(o=>o))return{changes:e.changes(n.map((o,s)=>i[s]?[]:[{from:o.from,insert:r[s].open+" "},{from:o.to,insert:" "+r[s].close}]))};if(t!=1&&i.some(o=>o)){let o=[];for(let s=0,a;s<i.length;s++)if(a=i[s]){let c=r[s],{open:d,close:h}=a;o.push({from:d.pos-c.open.length,to:d.pos+d.margin},{from:h.pos-h.margin,to:h.pos+c.close.length})}return{changes:o}}return null}function aq(t,e,n=e.selection.ranges){let r=[],i=-1;for(let{from:o,to:s}of n){let a=r.length,c=1e9,d=um(e,o).line;if(d){for(let h=o;h<=s;){let g=e.doc.lineAt(h);if(g.from>i&&(o==s||s>g.from)){i=g.from;let m=/^\s*/.exec(g.text)[0].length,b=m==g.length,v=g.text.slice(m,m+d.length)==d?m:-1;m<g.text.length&&m<c&&(c=m),r.push({line:g,comment:v,token:d,indent:m,empty:b,single:!1})}h=g.to+1}if(c<1e9)for(let h=a;h<r.length;h++)r[h].indent<r[h].line.text.length&&(r[h].indent=c);r.length==a+1&&(r[a].single=!0)}}if(t!=2&&r.some(o=>o.comment<0&&(!o.empty||o.single))){let o=[];for(let{line:a,token:c,indent:d,empty:h,single:g}of r)(g||!h)&&o.push({from:a.from+d,insert:c+" "});let s=e.changes(o);return{changes:s,selection:e.selection.map(s,1)}}else if(t!=1&&r.some(o=>o.comment>=0)){let o=[];for(let{line:s,comment:a,token:c}of r)if(a>=0){let d=s.from+a,h=d+c.length;s.text[h-s.from]==" "&&h++,o.push({from:d,to:h})}return{changes:o}}return null}const hg=ri.define(),lq=ri.define(),cq=Ie.define(),i4=Ie.define({combine(t){return ii(t,{minDepth:100,newGroupDelay:500,joinToEvent:(e,n)=>n},{minDepth:Math.max,newGroupDelay:Math.min,joinToEvent:(e,n)=>(r,i)=>e(r,i)||n(r,i)})}}),o4=nn.define({create(){return qr.empty},update(t,e){let n=e.state.facet(i4),r=e.annotation(hg);if(r){let c=Ln.fromTransaction(e,r.selection),d=r.side,h=d==0?t.undone:t.done;return c?h=wd(h,h.length,n.minDepth,c):h=l4(h,e.startState.selection),new qr(d==0?r.rest:h,d==0?h:r.rest)}let i=e.annotation(lq);if((i=="full"||i=="before")&&(t=t.isolate()),e.annotation(Gt.addToHistory)===!1)return e.changes.empty?t:t.addMapping(e.changes.desc);let o=Ln.fromTransaction(e),s=e.annotation(Gt.time),a=e.annotation(Gt.userEvent);return o?t=t.addChanges(o,s,a,n,e):e.selection&&(t=t.addSelection(e.startState.selection,s,a,n.newGroupDelay)),(i=="full"||i=="after")&&(t=t.isolate()),t},toJSON(t){return{done:t.done.map(e=>e.toJSON()),undone:t.undone.map(e=>e.toJSON())}},fromJSON(t){return new qr(t.done.map(Ln.fromJSON),t.undone.map(Ln.fromJSON))}});function uq(t={}){return[o4,i4.of(t),Te.domEventHandlers({beforeinput(e,n){let r=e.inputType=="historyUndo"?s4:e.inputType=="historyRedo"?fg:null;return r?(e.preventDefault(),r(n)):!1}})]}function ph(t,e){return function({state:n,dispatch:r}){if(!e&&n.readOnly)return!1;let i=n.field(o4,!1);if(!i)return!1;let o=i.pop(t,n,e);return o?(r(o),!0):!1}}const s4=ph(0,!1),fg=ph(1,!1),dq=ph(0,!0),hq=ph(1,!0);class Ln{constructor(e,n,r,i,o){this.changes=e,this.effects=n,this.mapped=r,this.startSelection=i,this.selectionsAfter=o}setSelAfter(e){return new Ln(this.changes,this.effects,this.mapped,this.startSelection,e)}toJSON(){var e,n,r;return{changes:(e=this.changes)===null||e===void 0?void 0:e.toJSON(),mapped:(n=this.mapped)===null||n===void 0?void 0:n.toJSON(),startSelection:(r=this.startSelection)===null||r===void 0?void 0:r.toJSON(),selectionsAfter:this.selectionsAfter.map(i=>i.toJSON())}}static fromJSON(e){return new Ln(e.changes&&Kt.fromJSON(e.changes),[],e.mapped&&Yr.fromJSON(e.mapped),e.startSelection&&ie.fromJSON(e.startSelection),e.selectionsAfter.map(ie.fromJSON))}static fromTransaction(e,n){let r=or;for(let i of e.startState.facet(cq)){let o=i(e);o.length&&(r=r.concat(o))}return!r.length&&e.changes.empty?null:new Ln(e.changes.invert(e.startState.doc),r,void 0,n||e.startState.selection,or)}static selection(e){return new Ln(void 0,or,void 0,void 0,e)}}function wd(t,e,n,r){let i=e+1>n+20?e-n-1:0,o=t.slice(i,e);return o.push(r),o}function fq(t,e){let n=[],r=!1;return t.iterChangedRanges((i,o)=>n.push(i,o)),e.iterChangedRanges((i,o,s,a)=>{for(let c=0;c<n.length;){let d=n[c++],h=n[c++];a>=d&&s<=h&&(r=!0)}}),r}function gq(t,e){return t.ranges.length==e.ranges.length&&t.ranges.filter((n,r)=>n.empty!=e.ranges[r].empty).length===0}function a4(t,e){return t.length?e.length?t.concat(e):t:e}const or=[],pq=200;function l4(t,e){if(t.length){let n=t[t.length-1],r=n.selectionsAfter.slice(Math.max(0,n.selectionsAfter.length-pq));return r.length&&r[r.length-1].eq(e)?t:(r.push(e),wd(t,t.length-1,1e9,n.setSelAfter(r)))}else return[Ln.selection([e])]}function mq(t){let e=t[t.length-1],n=t.slice();return n[t.length-1]=e.setSelAfter(e.selectionsAfter.slice(0,e.selectionsAfter.length-1)),n}function _0(t,e){if(!t.length)return t;let n=t.length,r=or;for(;n;){let i=bq(t[n-1],e,r);if(i.changes&&!i.changes.empty||i.effects.length){let o=t.slice(0,n);return o[n-1]=i,o}else e=i.mapped,n--,r=i.selectionsAfter}return r.length?[Ln.selection(r)]:or}function bq(t,e,n){let r=a4(t.selectionsAfter.length?t.selectionsAfter.map(a=>a.map(e)):or,n);if(!t.changes)return Ln.selection(r);let i=t.changes.map(e),o=e.mapDesc(t.changes,!0),s=t.mapped?t.mapped.composeDesc(o):o;return new Ln(i,Xe.mapEffects(t.effects,e),s,t.startSelection.map(o),r)}const xq=/^(input\.type|delete)($|\.)/;class qr{constructor(e,n,r=0,i=void 0){this.done=e,this.undone=n,this.prevTime=r,this.prevUserEvent=i}isolate(){return this.prevTime?new qr(this.done,this.undone):this}addChanges(e,n,r,i,o){let s=this.done,a=s[s.length-1];return a&&a.changes&&!a.changes.empty&&e.changes&&(!r||xq.test(r))&&(!a.selectionsAfter.length&&n-this.prevTime<i.newGroupDelay&&i.joinToEvent(o,fq(a.changes,e.changes))||r=="input.type.compose")?s=wd(s,s.length-1,i.minDepth,new Ln(e.changes.compose(a.changes),a4(Xe.mapEffects(e.effects,a.changes),a.effects),a.mapped,a.startSelection,or)):s=wd(s,s.length,i.minDepth,e),new qr(s,or,n,r)}addSelection(e,n,r,i){let o=this.done.length?this.done[this.done.length-1].selectionsAfter:or;return o.length>0&&n-this.prevTime<i&&r==this.prevUserEvent&&r&&/^select($|\.)/.test(r)&&gq(o[o.length-1],e)?this:new qr(l4(this.done,e),this.undone,n,r)}addMapping(e){return new qr(_0(this.done,e),_0(this.undone,e),this.prevTime,this.prevUserEvent)}pop(e,n,r){let i=e==0?this.done:this.undone;if(i.length==0)return null;let o=i[i.length-1],s=o.selectionsAfter[0]||n.selection;if(r&&o.selectionsAfter.length)return n.update({selection:o.selectionsAfter[o.selectionsAfter.length-1],annotations:hg.of({side:e,rest:mq(i),selection:s}),userEvent:e==0?"select.undo":"select.redo",scrollIntoView:!0});if(o.changes){let a=i.length==1?or:i.slice(0,i.length-1);return o.mapped&&(a=_0(a,o.mapped)),n.update({changes:o.changes,selection:o.startSelection,effects:o.effects,annotations:hg.of({side:e,rest:a,selection:s}),filter:!1,userEvent:e==0?"undo":"redo",scrollIntoView:!0})}else return null}}qr.empty=new qr(or,or);const vq=[{key:"Mod-z",run:s4,preventDefault:!0},{key:"Mod-y",mac:"Mod-Shift-z",run:fg,preventDefault:!0},{linux:"Ctrl-Shift-z",run:fg,preventDefault:!0},{key:"Mod-u",run:dq,preventDefault:!0},{key:"Alt-u",mac:"Mod-Shift-u",run:hq,preventDefault:!0}];function pa(t,e){return ie.create(t.ranges.map(e),t.mainIndex)}function oi(t,e){return t.update({selection:e,scrollIntoView:!0,userEvent:"select"})}function Dr({state:t,dispatch:e},n){let r=pa(t.selection,n);return r.eq(t.selection,!0)?!1:(e(oi(t,r)),!0)}function mh(t,e){return ie.cursor(e?t.to:t.from)}function c4(t,e){return Dr(t,n=>n.empty?t.moveByChar(n,e):mh(n,e))}function bn(t){return t.textDirectionAt(t.state.selection.main.head)==At.LTR}const u4=t=>c4(t,!bn(t)),d4=t=>c4(t,bn(t));function h4(t,e){return Dr(t,n=>n.empty?t.moveByGroup(n,e):mh(n,e))}const wq=t=>h4(t,!bn(t)),yq=t=>h4(t,bn(t));function Cq(t,e,n){if(e.type.prop(n))return!0;let r=e.to-e.from;return r&&(r>2||/[^\s,.;:]/.test(t.sliceDoc(e.from,e.to)))||e.firstChild}function bh(t,e,n){let r=mn(t).resolveInner(e.head),i=n?nt.closedBy:nt.openedBy;for(let c=e.head;;){let d=n?r.childAfter(c):r.childBefore(c);if(!d)break;Cq(t,d,i)?r=d:c=n?d.to:d.from}let o=r.type.prop(i),s,a;return o&&(s=n?Ur(t,r.from,1):Ur(t,r.to,-1))&&s.matched?a=n?s.end.to:s.end.from:a=n?r.to:r.from,ie.cursor(a,n?-1:1)}const $q=t=>Dr(t,e=>bh(t.state,e,!bn(t))),Sq=t=>Dr(t,e=>bh(t.state,e,bn(t)));function f4(t,e){return Dr(t,n=>{if(!n.empty)return mh(n,e);let r=t.moveVertically(n,e);return r.head!=n.head?r:t.moveToLineBoundary(n,e)})}const g4=t=>f4(t,!1),p4=t=>f4(t,!0);function m4(t){let e=t.scrollDOM.clientHeight<t.scrollDOM.scrollHeight-2,n=0,r=0,i;if(e){for(let o of t.state.facet(Te.scrollMargins)){let s=o(t);s?.top&&(n=Math.max(s?.top,n)),s?.bottom&&(r=Math.max(s?.bottom,r))}i=t.scrollDOM.clientHeight-n-r}else i=(t.dom.ownerDocument.defaultView||window).innerHeight;return{marginTop:n,marginBottom:r,selfScroll:e,height:Math.max(t.defaultLineHeight,i-5)}}function b4(t,e){let n=m4(t),{state:r}=t,i=pa(r.selection,s=>s.empty?t.moveVertically(s,e,n.height):mh(s,e));if(i.eq(r.selection))return!1;let o;if(n.selfScroll){let s=t.coordsAtPos(r.selection.main.head),a=t.scrollDOM.getBoundingClientRect(),c=a.top+n.marginTop,d=a.bottom-n.marginBottom;s&&s.top>c&&s.bottom<d&&(o=Te.scrollIntoView(i.main.head,{y:"start",yMargin:s.top-c}))}return t.dispatch(oi(r,i),{effects:o}),!0}const vv=t=>b4(t,!1),gg=t=>b4(t,!0);function go(t,e,n){let r=t.lineBlockAt(e.head),i=t.moveToLineBoundary(e,n);if(i.head==e.head&&i.head!=(n?r.to:r.from)&&(i=t.moveToLineBoundary(e,n,!1)),!n&&i.head==r.from&&r.length){let o=/^\s*/.exec(t.state.sliceDoc(r.from,Math.min(r.from+100,r.to)))[0].length;o&&e.head!=r.from+o&&(i=ie.cursor(r.from+o))}return i}const Aq=t=>Dr(t,e=>go(t,e,!0)),Rq=t=>Dr(t,e=>go(t,e,!1)),Tq=t=>Dr(t,e=>go(t,e,!bn(t))),kq=t=>Dr(t,e=>go(t,e,bn(t))),Eq=t=>Dr(t,e=>ie.cursor(t.lineBlockAt(e.head).from,1)),Mq=t=>Dr(t,e=>ie.cursor(t.lineBlockAt(e.head).to,-1));function Iq(t,e,n){let r=!1,i=pa(t.selection,o=>{let s=Ur(t,o.head,-1)||Ur(t,o.head,1)||o.head>0&&Ur(t,o.head-1,1)||o.head<t.doc.length&&Ur(t,o.head+1,-1);if(!s||!s.end)return o;r=!0;let a=s.start.from==o.head?s.end.to:s.end.from;return ie.cursor(a)});return r?(e(oi(t,i)),!0):!1}const Oq=({state:t,dispatch:e})=>Iq(t,e);function dr(t,e){let n=pa(t.state.selection,r=>{let i=e(r);return ie.range(r.anchor,i.head,i.goalColumn,i.bidiLevel||void 0)});return n.eq(t.state.selection)?!1:(t.dispatch(oi(t.state,n)),!0)}function x4(t,e){return dr(t,n=>t.moveByChar(n,e))}const v4=t=>x4(t,!bn(t)),w4=t=>x4(t,bn(t));function y4(t,e){return dr(t,n=>t.moveByGroup(n,e))}const Dq=t=>y4(t,!bn(t)),Lq=t=>y4(t,bn(t)),jq=t=>dr(t,e=>bh(t.state,e,!bn(t))),_q=t=>dr(t,e=>bh(t.state,e,bn(t)));function C4(t,e){return dr(t,n=>t.moveVertically(n,e))}const $4=t=>C4(t,!1),S4=t=>C4(t,!0);function A4(t,e){return dr(t,n=>t.moveVertically(n,e,m4(t).height))}const wv=t=>A4(t,!1),yv=t=>A4(t,!0),Nq=t=>dr(t,e=>go(t,e,!0)),Bq=t=>dr(t,e=>go(t,e,!1)),Fq=t=>dr(t,e=>go(t,e,!bn(t))),Pq=t=>dr(t,e=>go(t,e,bn(t))),Vq=t=>dr(t,e=>ie.cursor(t.lineBlockAt(e.head).from)),Hq=t=>dr(t,e=>ie.cursor(t.lineBlockAt(e.head).to)),Cv=({state:t,dispatch:e})=>(e(oi(t,{anchor:0})),!0),$v=({state:t,dispatch:e})=>(e(oi(t,{anchor:t.doc.length})),!0),Sv=({state:t,dispatch:e})=>(e(oi(t,{anchor:t.selection.main.anchor,head:0})),!0),Av=({state:t,dispatch:e})=>(e(oi(t,{anchor:t.selection.main.anchor,head:t.doc.length})),!0),zq=({state:t,dispatch:e})=>(e(t.update({selection:{anchor:0,head:t.doc.length},userEvent:"select"})),!0),Wq=({state:t,dispatch:e})=>{let n=xh(t).map(({from:r,to:i})=>ie.range(r,Math.min(i+1,t.doc.length)));return e(t.update({selection:ie.create(n),userEvent:"select"})),!0},Uq=({state:t,dispatch:e})=>{let n=pa(t.selection,r=>{let i=mn(t),o=i.resolveStack(r.from,1);if(r.empty){let s=i.resolveStack(r.from,-1);s.node.from>=o.node.from&&s.node.to<=o.node.to&&(o=s)}for(let s=o;s;s=s.next){let{node:a}=s;if((a.from<r.from&&a.to>=r.to||a.to>r.to&&a.from<=r.from)&&s.next)return ie.range(a.to,a.from)}return r});return n.eq(t.selection)?!1:(e(oi(t,n)),!0)},qq=({state:t,dispatch:e})=>{let n=t.selection,r=null;return n.ranges.length>1?r=ie.create([n.main]):n.main.empty||(r=ie.create([ie.cursor(n.main.head)])),r?(e(oi(t,r)),!0):!1};function Xl(t,e){if(t.state.readOnly)return!1;let n="delete.selection",{state:r}=t,i=r.changeByRange(o=>{let{from:s,to:a}=o;if(s==a){let c=e(o);c<s?(n="delete.backward",c=$u(t,c,!1)):c>s&&(n="delete.forward",c=$u(t,c,!0)),s=Math.min(s,c),a=Math.max(a,c)}else s=$u(t,s,!1),a=$u(t,a,!0);return s==a?{range:o}:{changes:{from:s,to:a},range:ie.cursor(s,s<o.head?-1:1)}});return i.changes.empty?!1:(t.dispatch(r.update(i,{scrollIntoView:!0,userEvent:n,effects:n=="delete.selection"?Te.announce.of(r.phrase("Selection deleted")):void 0})),!0)}function $u(t,e,n){if(t instanceof Te)for(let r of t.state.facet(Te.atomicRanges).map(i=>i(t)))r.between(e,e,(i,o)=>{i<e&&o>e&&(e=n?o:i)});return e}const R4=(t,e,n)=>Xl(t,r=>{let i=r.from,{state:o}=t,s=o.doc.lineAt(i),a,c;if(n&&!e&&i>s.from&&i<s.from+200&&!/[^ \t]/.test(a=s.text.slice(0,i-s.from))){if(a[a.length-1]==" ")return i-1;let d=ga(a,o.tabSize),h=d%bd(o)||bd(o);for(let g=0;g<h&&a[a.length-1-g]==" ";g++)i--;c=i}else c=cn(s.text,i-s.from,e,e)+s.from,c==i&&s.number!=(e?o.doc.lines:1)?c+=e?1:-1:!e&&/[\ufe00-\ufe0f]/.test(s.text.slice(c-s.from,i-s.from))&&(c=cn(s.text,c-s.from,!1,!1)+s.from);return c}),pg=t=>R4(t,!1,!0),T4=t=>R4(t,!0,!1),k4=(t,e)=>Xl(t,n=>{let r=n.head,{state:i}=t,o=i.doc.lineAt(r),s=i.charCategorizer(r);for(let a=null;;){if(r==(e?o.to:o.from)){r==n.head&&o.number!=(e?i.doc.lines:1)&&(r+=e?1:-1);break}let c=cn(o.text,r-o.from,e)+o.from,d=o.text.slice(Math.min(r,c)-o.from,Math.max(r,c)-o.from),h=s(d);if(a!=null&&h!=a)break;(d!=" "||r!=n.head)&&(a=h),r=c}return r}),E4=t=>k4(t,!1),Kq=t=>k4(t,!0),Gq=t=>Xl(t,e=>{let n=t.lineBlockAt(e.head).to;return e.head<n?n:Math.min(t.state.doc.length,e.head+1)}),Yq=t=>Xl(t,e=>{let n=t.moveToLineBoundary(e,!1).head;return e.head>n?n:Math.max(0,e.head-1)}),Xq=t=>Xl(t,e=>{let n=t.moveToLineBoundary(e,!0).head;return e.head<n?n:Math.min(t.state.doc.length,e.head+1)}),Qq=({state:t,dispatch:e})=>{if(t.readOnly)return!1;let n=t.changeByRange(r=>({changes:{from:r.from,to:r.to,insert:dt.of(["",""])},range:ie.cursor(r.from)}));return e(t.update(n,{scrollIntoView:!0,userEvent:"input"})),!0},Zq=({state:t,dispatch:e})=>{if(t.readOnly)return!1;let n=t.changeByRange(r=>{if(!r.empty||r.from==0||r.from==t.doc.length)return{range:r};let i=r.from,o=t.doc.lineAt(i),s=i==o.from?i-1:cn(o.text,i-o.from,!1)+o.from,a=i==o.to?i+1:cn(o.text,i-o.from,!0)+o.from;return{changes:{from:s,to:a,insert:t.doc.slice(i,a).append(t.doc.slice(s,i))},range:ie.cursor(a)}});return n.changes.empty?!1:(e(t.update(n,{scrollIntoView:!0,userEvent:"move.character"})),!0)};function xh(t){let e=[],n=-1;for(let r of t.selection.ranges){let i=t.doc.lineAt(r.from),o=t.doc.lineAt(r.to);if(!r.empty&&r.to==o.from&&(o=t.doc.lineAt(r.to-1)),n>=i.number){let s=e[e.length-1];s.to=o.to,s.ranges.push(r)}else e.push({from:i.from,to:o.to,ranges:[r]});n=o.number+1}return e}function M4(t,e,n){if(t.readOnly)return!1;let r=[],i=[];for(let o of xh(t)){if(n?o.to==t.doc.length:o.from==0)continue;let s=t.doc.lineAt(n?o.to+1:o.from-1),a=s.length+1;if(n){r.push({from:o.to,to:s.to},{from:o.from,insert:s.text+t.lineBreak});for(let c of o.ranges)i.push(ie.range(Math.min(t.doc.length,c.anchor+a),Math.min(t.doc.length,c.head+a)))}else{r.push({from:s.from,to:o.from},{from:o.to,insert:t.lineBreak+s.text});for(let c of o.ranges)i.push(ie.range(c.anchor-a,c.head-a))}}return r.length?(e(t.update({changes:r,scrollIntoView:!0,selection:ie.create(i,t.selection.mainIndex),userEvent:"move.line"})),!0):!1}const Jq=({state:t,dispatch:e})=>M4(t,e,!1),eK=({state:t,dispatch:e})=>M4(t,e,!0);function I4(t,e,n){if(t.readOnly)return!1;let r=[];for(let i of xh(t))n?r.push({from:i.from,insert:t.doc.slice(i.from,i.to)+t.lineBreak}):r.push({from:i.to,insert:t.lineBreak+t.doc.slice(i.from,i.to)});return e(t.update({changes:r,scrollIntoView:!0,userEvent:"input.copyline"})),!0}const tK=({state:t,dispatch:e})=>I4(t,e,!1),nK=({state:t,dispatch:e})=>I4(t,e,!0),rK=t=>{if(t.state.readOnly)return!1;let{state:e}=t,n=e.changes(xh(e).map(({from:i,to:o})=>(i>0?i--:o<e.doc.length&&o++,{from:i,to:o}))),r=pa(e.selection,i=>{let o;if(t.lineWrapping){let s=t.lineBlockAt(i.head),a=t.coordsAtPos(i.head,i.assoc||1);a&&(o=s.bottom+t.documentTop-a.bottom+t.defaultLineHeight/2)}return t.moveVertically(i,!0,o)}).map(n);return t.dispatch({changes:n,selection:r,scrollIntoView:!0,userEvent:"delete.line"}),!0};function iK(t,e){if(/\(\)|\[\]|\{\}/.test(t.sliceDoc(e-1,e+1)))return{from:e,to:e};let n=mn(t).resolveInner(e),r=n.childBefore(e),i=n.childAfter(e),o;return r&&i&&r.to<=e&&i.from>=e&&(o=r.type.prop(nt.closedBy))&&o.indexOf(i.name)>-1&&t.doc.lineAt(r.to).from==t.doc.lineAt(i.from).from&&!/\S/.test(t.sliceDoc(r.to,i.from))?{from:r.to,to:i.from}:null}const Rv=O4(!1),oK=O4(!0);function O4(t){return({state:e,dispatch:n})=>{if(e.readOnly)return!1;let r=e.changeByRange(i=>{let{from:o,to:s}=i,a=e.doc.lineAt(o),c=!t&&o==s&&iK(e,o);t&&(o=s=(s<=a.to?a:e.doc.lineAt(s)).to);let d=new fh(e,{simulateBreak:o,simulateDoubleBreak:!!c}),h=am(d,o);for(h==null&&(h=ga(/^\s*/.exec(e.doc.lineAt(o).text)[0],e.tabSize));s<a.to&&/\s/.test(a.text[s-a.from]);)s++;c?{from:o,to:s}=c:o>a.from&&o<a.from+100&&!/\S/.test(a.text.slice(0,o))&&(o=a.from);let g=["",Al(e,h)];return c&&g.push(Al(e,d.lineIndent(a.from,-1))),{changes:{from:o,to:s,insert:dt.of(g)},range:ie.cursor(o+1+g[1].length)}});return n(e.update(r,{scrollIntoView:!0,userEvent:"input"})),!0}}function dm(t,e){let n=-1;return t.changeByRange(r=>{let i=[];for(let s=r.from;s<=r.to;){let a=t.doc.lineAt(s);a.number>n&&(r.empty||r.to>a.from)&&(e(a,i,r),n=a.number),s=a.to+1}let o=t.changes(i);return{changes:i,range:ie.range(o.mapPos(r.anchor,1),o.mapPos(r.head,1))}})}const sK=({state:t,dispatch:e})=>{if(t.readOnly)return!1;let n=Object.create(null),r=new fh(t,{overrideIndentation:o=>{let s=n[o];return s??-1}}),i=dm(t,(o,s,a)=>{let c=am(r,o.from);if(c==null)return;/\S/.test(o.text)||(c=0);let d=/^\s*/.exec(o.text)[0],h=Al(t,c);(d!=h||a.from<o.from+d.length)&&(n[o.from]=c,s.push({from:o.from,to:o.from+d.length,insert:h}))});return i.changes.empty||e(t.update(i,{userEvent:"indent"})),!0},D4=({state:t,dispatch:e})=>t.readOnly?!1:(e(t.update(dm(t,(n,r)=>{r.push({from:n.from,insert:t.facet(hh)})}),{userEvent:"input.indent"})),!0),L4=({state:t,dispatch:e})=>t.readOnly?!1:(e(t.update(dm(t,(n,r)=>{let i=/^\s*/.exec(n.text)[0];if(!i)return;let o=ga(i,t.tabSize),s=0,a=Al(t,Math.max(0,o-bd(t)));for(;s<i.length&&s<a.length&&i.charCodeAt(s)==a.charCodeAt(s);)s++;r.push({from:n.from+s,to:n.from+i.length,insert:a.slice(s)})}),{userEvent:"delete.dedent"})),!0),aK=t=>(t.setTabFocusMode(),!0),lK=[{key:"Ctrl-b",run:u4,shift:v4,preventDefault:!0},{key:"Ctrl-f",run:d4,shift:w4},{key:"Ctrl-p",run:g4,shift:$4},{key:"Ctrl-n",run:p4,shift:S4},{key:"Ctrl-a",run:Eq,shift:Vq},{key:"Ctrl-e",run:Mq,shift:Hq},{key:"Ctrl-d",run:T4},{key:"Ctrl-h",run:pg},{key:"Ctrl-k",run:Gq},{key:"Ctrl-Alt-h",run:E4},{key:"Ctrl-o",run:Qq},{key:"Ctrl-t",run:Zq},{key:"Ctrl-v",run:gg}],cK=[{key:"ArrowLeft",run:u4,shift:v4,preventDefault:!0},{key:"Mod-ArrowLeft",mac:"Alt-ArrowLeft",run:wq,shift:Dq,preventDefault:!0},{mac:"Cmd-ArrowLeft",run:Tq,shift:Fq,preventDefault:!0},{key:"ArrowRight",run:d4,shift:w4,preventDefault:!0},{key:"Mod-ArrowRight",mac:"Alt-ArrowRight",run:yq,shift:Lq,preventDefault:!0},{mac:"Cmd-ArrowRight",run:kq,shift:Pq,preventDefault:!0},{key:"ArrowUp",run:g4,shift:$4,preventDefault:!0},{mac:"Cmd-ArrowUp",run:Cv,shift:Sv},{mac:"Ctrl-ArrowUp",run:vv,shift:wv},{key:"ArrowDown",run:p4,shift:S4,preventDefault:!0},{mac:"Cmd-ArrowDown",run:$v,shift:Av},{mac:"Ctrl-ArrowDown",run:gg,shift:yv},{key:"PageUp",run:vv,shift:wv},{key:"PageDown",run:gg,shift:yv},{key:"Home",run:Rq,shift:Bq,preventDefault:!0},{key:"Mod-Home",run:Cv,shift:Sv},{key:"End",run:Aq,shift:Nq,preventDefault:!0},{key:"Mod-End",run:$v,shift:Av},{key:"Enter",run:Rv,shift:Rv},{key:"Mod-a",run:zq},{key:"Backspace",run:pg,shift:pg},{key:"Delete",run:T4},{key:"Mod-Backspace",mac:"Alt-Backspace",run:E4},{key:"Mod-Delete",mac:"Alt-Delete",run:Kq},{mac:"Mod-Backspace",run:Yq},{mac:"Mod-Delete",run:Xq}].concat(lK.map(t=>({mac:t.key,run:t.run,shift:t.shift}))),uK=[{key:"Alt-ArrowLeft",mac:"Ctrl-ArrowLeft",run:$q,shift:jq},{key:"Alt-ArrowRight",mac:"Ctrl-ArrowRight",run:Sq,shift:_q},{key:"Alt-ArrowUp",run:Jq},{key:"Shift-Alt-ArrowUp",run:tK},{key:"Alt-ArrowDown",run:eK},{key:"Shift-Alt-ArrowDown",run:nK},{key:"Escape",run:qq},{key:"Mod-Enter",run:oK},{key:"Alt-l",mac:"Ctrl-l",run:Wq},{key:"Mod-i",run:Uq,preventDefault:!0},{key:"Mod-[",run:L4},{key:"Mod-]",run:D4},{key:"Mod-Alt-\\",run:sK},{key:"Shift-Mod-k",run:rK},{key:"Shift-Mod-\\",run:Oq},{key:"Mod-/",run:tq},{key:"Alt-A",run:rq},{key:"Ctrl-m",mac:"Shift-Alt-m",run:aK}].concat(cK),dK={key:"Tab",run:D4,shift:L4};function Ct(){var t=arguments[0];typeof t=="string"&&(t=document.createElement(t));var e=1,n=arguments[1];if(n&&typeof n=="object"&&n.nodeType==null&&!Array.isArray(n)){for(var r in n)if(Object.prototype.hasOwnProperty.call(n,r)){var i=n[r];typeof i=="string"?t.setAttribute(r,i):i!=null&&(t[r]=i)}e++}for(;e<arguments.length;e++)j4(t,arguments[e]);return t}function j4(t,e){if(typeof e=="string")t.appendChild(document.createTextNode(e));else if(e!=null)if(e.nodeType!=null)t.appendChild(e);else if(Array.isArray(e))for(var n=0;n<e.length;n++)j4(t,e[n]);else throw new RangeError("Unsupported child node: "+e)}const Tv=typeof String.prototype.normalize=="function"?t=>t.normalize("NFKD"):t=>t;class ra{constructor(e,n,r=0,i=e.length,o,s){this.test=s,this.value={from:0,to:0},this.done=!1,this.matches=[],this.buffer="",this.bufferPos=0,this.iter=e.iterRange(r,i),this.bufferStart=r,this.normalize=o?a=>o(Tv(a)):Tv,this.query=this.normalize(n)}peek(){if(this.bufferPos==this.buffer.length){if(this.bufferStart+=this.buffer.length,this.iter.next(),this.iter.done)return-1;this.bufferPos=0,this.buffer=this.iter.value}return Mn(this.buffer,this.bufferPos)}next(){for(;this.matches.length;)this.matches.pop();return this.nextOverlapping()}nextOverlapping(){for(;;){let e=this.peek();if(e<0)return this.done=!0,this;let n=Up(e),r=this.bufferStart+this.bufferPos;this.bufferPos+=zr(e);let i=this.normalize(n);if(i.length)for(let o=0,s=r;;o++){let a=i.charCodeAt(o),c=this.match(a,s,this.bufferPos+this.bufferStart);if(o==i.length-1){if(c)return this.value=c,this;break}s==r&&o<n.length&&n.charCodeAt(o)==a&&s++}}}match(e,n,r){let i=null;for(let o=0;o<this.matches.length;o+=2){let s=this.matches[o],a=!1;this.query.charCodeAt(s)==e&&(s==this.query.length-1?i={from:this.matches[o+1],to:r}:(this.matches[o]++,a=!0)),a||(this.matches.splice(o,2),o-=2)}return this.query.charCodeAt(0)==e&&(this.query.length==1?i={from:n,to:r}:this.matches.push(1,n)),i&&this.test&&!this.test(i.from,i.to,this.buffer,this.bufferStart)&&(i=null),i}}typeof Symbol<"u"&&(ra.prototype[Symbol.iterator]=function(){return this});const _4={from:-1,to:-1,match:/.*/.exec("")},hm="gm"+(/x/.unicode==null?"":"u");class N4{constructor(e,n,r,i=0,o=e.length){if(this.text=e,this.to=o,this.curLine="",this.done=!1,this.value=_4,/\\[sWDnr]|\n|\r|\[\^/.test(n))return new B4(e,n,r,i,o);this.re=new RegExp(n,hm+(r?.ignoreCase?"i":"")),this.test=r?.test,this.iter=e.iter();let s=e.lineAt(i);this.curLineStart=s.from,this.matchPos=yd(e,i),this.getLine(this.curLineStart)}getLine(e){this.iter.next(e),this.iter.lineBreak?this.curLine="":(this.curLine=this.iter.value,this.curLineStart+this.curLine.length>this.to&&(this.curLine=this.curLine.slice(0,this.to-this.curLineStart)),this.iter.next())}nextLine(){this.curLineStart=this.curLineStart+this.curLine.length+1,this.curLineStart>this.to?this.curLine="":this.getLine(0)}next(){for(let e=this.matchPos-this.curLineStart;;){this.re.lastIndex=e;let n=this.matchPos<=this.to&&this.re.exec(this.curLine);if(n){let r=this.curLineStart+n.index,i=r+n[0].length;if(this.matchPos=yd(this.text,i+(r==i?1:0)),r==this.curLineStart+this.curLine.length&&this.nextLine(),(r<i||r>this.value.to)&&(!this.test||this.test(r,i,n)))return this.value={from:r,to:i,match:n},this;e=this.matchPos-this.curLineStart}else if(this.curLineStart+this.curLine.length<this.to)this.nextLine(),e=0;else return this.done=!0,this}}}const N0=new WeakMap;class Ps{constructor(e,n){this.from=e,this.text=n}get to(){return this.from+this.text.length}static get(e,n,r){let i=N0.get(e);if(!i||i.from>=r||i.to<=n){let a=new Ps(n,e.sliceString(n,r));return N0.set(e,a),a}if(i.from==n&&i.to==r)return i;let{text:o,from:s}=i;return s>n&&(o=e.sliceString(n,s)+o,s=n),i.to<r&&(o+=e.sliceString(i.to,r)),N0.set(e,new Ps(s,o)),new Ps(n,o.slice(n-s,r-s))}}class B4{constructor(e,n,r,i,o){this.text=e,this.to=o,this.done=!1,this.value=_4,this.matchPos=yd(e,i),this.re=new RegExp(n,hm+(r?.ignoreCase?"i":"")),this.test=r?.test,this.flat=Ps.get(e,i,this.chunkEnd(i+5e3))}chunkEnd(e){return e>=this.to?this.to:this.text.lineAt(e).to}next(){for(;;){let e=this.re.lastIndex=this.matchPos-this.flat.from,n=this.re.exec(this.flat.text);if(n&&!n[0]&&n.index==e&&(this.re.lastIndex=e+1,n=this.re.exec(this.flat.text)),n){let r=this.flat.from+n.index,i=r+n[0].length;if((this.flat.to>=this.to||n.index+n[0].length<=this.flat.text.length-10)&&(!this.test||this.test(r,i,n)))return this.value={from:r,to:i,match:n},this.matchPos=yd(this.text,i+(r==i?1:0)),this}if(this.flat.to==this.to)return this.done=!0,this;this.flat=Ps.get(this.text,this.flat.from,this.chunkEnd(this.flat.from+this.flat.text.length*2))}}}typeof Symbol<"u"&&(N4.prototype[Symbol.iterator]=B4.prototype[Symbol.iterator]=function(){return this});function hK(t){try{return new RegExp(t,hm),!0}catch{return!1}}function yd(t,e){if(e>=t.length)return e;let n=t.lineAt(e),r;for(;e<n.to&&(r=n.text.charCodeAt(e-n.from))>=56320&&r<57344;)e++;return e}function mg(t){let e=String(t.state.doc.lineAt(t.state.selection.main.head).number),n=Ct("input",{class:"cm-textfield",name:"line",value:e}),r=Ct("form",{class:"cm-gotoLine",onkeydown:o=>{o.keyCode==27?(o.preventDefault(),t.dispatch({effects:Cd.of(!1)}),t.focus()):o.keyCode==13&&(o.preventDefault(),i())},onsubmit:o=>{o.preventDefault(),i()}},Ct("label",t.state.phrase("Go to line"),": ",n)," ",Ct("button",{class:"cm-button",type:"submit"},t.state.phrase("go")));function i(){let o=/^([+-])?(\d+)?(:\d+)?(%)?$/.exec(n.value);if(!o)return;let{state:s}=t,a=s.doc.lineAt(s.selection.main.head),[,c,d,h,g]=o,m=h?+h.slice(1):0,b=d?+d:a.number;if(d&&g){let y=b/100;c&&(y=y*(c=="-"?-1:1)+a.number/s.doc.lines),b=Math.round(s.doc.lines*y)}else d&&c&&(b=b*(c=="-"?-1:1)+a.number);let v=s.doc.line(Math.max(1,Math.min(s.doc.lines,b))),w=ie.cursor(v.from+Math.max(0,Math.min(m,v.length)));t.dispatch({effects:[Cd.of(!1),Te.scrollIntoView(w.from,{y:"center"})],selection:w}),t.focus()}return{dom:r}}const Cd=Xe.define(),kv=nn.define({create(){return!0},update(t,e){for(let n of e.effects)n.is(Cd)&&(t=n.value);return t},provide:t=>Sl.from(t,e=>e?mg:null)}),fK=t=>{let e=$l(t,mg);if(!e){let n=[Cd.of(!0)];t.state.field(kv,!1)==null&&n.push(Xe.appendConfig.of([kv,gK])),t.dispatch({effects:n}),e=$l(t,mg)}return e&&e.dom.querySelector("input").select(),!0},gK=Te.baseTheme({".cm-panel.cm-gotoLine":{padding:"2px 6px 4px","& label":{fontSize:"80%"}}}),pK={highlightWordAroundCursor:!1,minSelectionLength:1,maxMatches:100,wholeWords:!1},mK=Ie.define({combine(t){return ii(t,pK,{highlightWordAroundCursor:(e,n)=>e||n,minSelectionLength:Math.min,maxMatches:Math.min})}});function bK(t){return[CK,yK]}const xK=Fe.mark({class:"cm-selectionMatch"}),vK=Fe.mark({class:"cm-selectionMatch cm-selectionMatch-main"});function Ev(t,e,n,r){return(n==0||t(e.sliceDoc(n-1,n))!=kt.Word)&&(r==e.doc.length||t(e.sliceDoc(r,r+1))!=kt.Word)}function wK(t,e,n,r){return t(e.sliceDoc(n,n+1))==kt.Word&&t(e.sliceDoc(r-1,r))==kt.Word}const yK=Pt.fromClass(class{constructor(t){this.decorations=this.getDeco(t)}update(t){(t.selectionSet||t.docChanged||t.viewportChanged)&&(this.decorations=this.getDeco(t.view))}getDeco(t){let e=t.state.facet(mK),{state:n}=t,r=n.selection;if(r.ranges.length>1)return Fe.none;let i=r.main,o,s=null;if(i.empty){if(!e.highlightWordAroundCursor)return Fe.none;let c=n.wordAt(i.head);if(!c)return Fe.none;s=n.charCategorizer(i.head),o=n.sliceDoc(c.from,c.to)}else{let c=i.to-i.from;if(c<e.minSelectionLength||c>200)return Fe.none;if(e.wholeWords){if(o=n.sliceDoc(i.from,i.to),s=n.charCategorizer(i.head),!(Ev(s,n,i.from,i.to)&&wK(s,n,i.from,i.to)))return Fe.none}else if(o=n.sliceDoc(i.from,i.to),!o)return Fe.none}let a=[];for(let c of t.visibleRanges){let d=new ra(n.doc,o,c.from,c.to);for(;!d.next().done;){let{from:h,to:g}=d.value;if((!s||Ev(s,n,h,g))&&(i.empty&&h<=i.from&&g>=i.to?a.push(vK.range(h,g)):(h>=i.to||g<=i.from)&&a.push(xK.range(h,g)),a.length>e.maxMatches))return Fe.none}}return Fe.set(a)}},{decorations:t=>t.decorations}),CK=Te.baseTheme({".cm-selectionMatch":{backgroundColor:"#99ff7780"},".cm-searchMatch .cm-selectionMatch":{backgroundColor:"transparent"}}),$K=({state:t,dispatch:e})=>{let{selection:n}=t,r=ie.create(n.ranges.map(i=>t.wordAt(i.head)||ie.cursor(i.head)),n.mainIndex);return r.eq(n)?!1:(e(t.update({selection:r})),!0)};function SK(t,e){let{main:n,ranges:r}=t.selection,i=t.wordAt(n.head),o=i&&i.from==n.from&&i.to==n.to;for(let s=!1,a=new ra(t.doc,e,r[r.length-1].to);;)if(a.next(),a.done){if(s)return null;a=new ra(t.doc,e,0,Math.max(0,r[r.length-1].from-1)),s=!0}else{if(s&&r.some(c=>c.from==a.value.from))continue;if(o){let c=t.wordAt(a.value.from);if(!c||c.from!=a.value.from||c.to!=a.value.to)continue}return a.value}}const AK=({state:t,dispatch:e})=>{let{ranges:n}=t.selection;if(n.some(o=>o.from===o.to))return $K({state:t,dispatch:e});let r=t.sliceDoc(n[0].from,n[0].to);if(t.selection.ranges.some(o=>t.sliceDoc(o.from,o.to)!=r))return!1;let i=SK(t,r);return i?(e(t.update({selection:t.selection.addRange(ie.range(i.from,i.to),!1),effects:Te.scrollIntoView(i.to)})),!0):!1},ma=Ie.define({combine(t){return ii(t,{top:!1,caseSensitive:!1,literal:!1,regexp:!1,wholeWord:!1,createPanel:e=>new NK(e),scrollToMatch:e=>Te.scrollIntoView(e)})}});class F4{constructor(e){this.search=e.search,this.caseSensitive=!!e.caseSensitive,this.literal=!!e.literal,this.regexp=!!e.regexp,this.replace=e.replace||"",this.valid=!!this.search&&(!this.regexp||hK(this.search)),this.unquoted=this.unquote(this.search),this.wholeWord=!!e.wholeWord}unquote(e){return this.literal?e:e.replace(/\\([nrt\\])/g,(n,r)=>r=="n"?`
64
64
  `:r=="r"?"\r":r=="t"?" ":"\\")}eq(e){return this.search==e.search&&this.replace==e.replace&&this.caseSensitive==e.caseSensitive&&this.regexp==e.regexp&&this.wholeWord==e.wholeWord}create(){return this.regexp?new EK(this):new TK(this)}getCursor(e,n=0,r){let i=e.doc?e:lt.create({doc:e});return r==null&&(r=i.doc.length),this.regexp?Rs(this,i,n,r):As(this,i,n,r)}}class P4{constructor(e){this.spec=e}}function As(t,e,n,r){return new ra(e.doc,t.unquoted,n,r,t.caseSensitive?void 0:i=>i.toLowerCase(),t.wholeWord?RK(e.doc,e.charCategorizer(e.selection.main.head)):void 0)}function RK(t,e){return(n,r,i,o)=>((o>n||o+i.length<r)&&(o=Math.max(0,n-2),i=t.sliceString(o,Math.min(t.length,r+2))),(e($d(i,n-o))!=kt.Word||e(Sd(i,n-o))!=kt.Word)&&(e(Sd(i,r-o))!=kt.Word||e($d(i,r-o))!=kt.Word))}class TK extends P4{constructor(e){super(e)}nextMatch(e,n,r){let i=As(this.spec,e,r,e.doc.length).nextOverlapping();if(i.done){let o=Math.min(e.doc.length,n+this.spec.unquoted.length);i=As(this.spec,e,0,o).nextOverlapping()}return i.done||i.value.from==n&&i.value.to==r?null:i.value}prevMatchInRange(e,n,r){for(let i=r;;){let o=Math.max(n,i-1e4-this.spec.unquoted.length),s=As(this.spec,e,o,i),a=null;for(;!s.nextOverlapping().done;)a=s.value;if(a)return a;if(o==n)return null;i-=1e4}}prevMatch(e,n,r){let i=this.prevMatchInRange(e,0,n);return i||(i=this.prevMatchInRange(e,Math.max(0,r-this.spec.unquoted.length),e.doc.length)),i&&(i.from!=n||i.to!=r)?i:null}getReplacement(e){return this.spec.unquote(this.spec.replace)}matchAll(e,n){let r=As(this.spec,e,0,e.doc.length),i=[];for(;!r.next().done;){if(i.length>=n)return null;i.push(r.value)}return i}highlight(e,n,r,i){let o=As(this.spec,e,Math.max(0,n-this.spec.unquoted.length),Math.min(r+this.spec.unquoted.length,e.doc.length));for(;!o.next().done;)i(o.value.from,o.value.to)}}function Rs(t,e,n,r){return new N4(e.doc,t.search,{ignoreCase:!t.caseSensitive,test:t.wholeWord?kK(e.charCategorizer(e.selection.main.head)):void 0},n,r)}function $d(t,e){return t.slice(cn(t,e,!1),e)}function Sd(t,e){return t.slice(e,cn(t,e))}function kK(t){return(e,n,r)=>!r[0].length||(t($d(r.input,r.index))!=kt.Word||t(Sd(r.input,r.index))!=kt.Word)&&(t(Sd(r.input,r.index+r[0].length))!=kt.Word||t($d(r.input,r.index+r[0].length))!=kt.Word)}class EK extends P4{nextMatch(e,n,r){let i=Rs(this.spec,e,r,e.doc.length).next();return i.done&&(i=Rs(this.spec,e,0,n).next()),i.done?null:i.value}prevMatchInRange(e,n,r){for(let i=1;;i++){let o=Math.max(n,r-i*1e4),s=Rs(this.spec,e,o,r),a=null;for(;!s.next().done;)a=s.value;if(a&&(o==n||a.from>o+10))return a;if(o==n)return null}}prevMatch(e,n,r){return this.prevMatchInRange(e,0,n)||this.prevMatchInRange(e,r,e.doc.length)}getReplacement(e){return this.spec.unquote(this.spec.replace).replace(/\$([$&\d+])/g,(n,r)=>r=="$"?"$":r=="&"?e.match[0]:r!="0"&&+r<e.match.length?e.match[r]:n)}matchAll(e,n){let r=Rs(this.spec,e,0,e.doc.length),i=[];for(;!r.next().done;){if(i.length>=n)return null;i.push(r.value)}return i}highlight(e,n,r,i){let o=Rs(this.spec,e,Math.max(0,n-250),Math.min(r+250,e.doc.length));for(;!o.next().done;)i(o.value.from,o.value.to)}}const Rl=Xe.define(),fm=Xe.define(),Zi=nn.define({create(t){return new B0(bg(t).create(),null)},update(t,e){for(let n of e.effects)n.is(Rl)?t=new B0(n.value.create(),t.panel):n.is(fm)&&(t=new B0(t.query,n.value?gm:null));return t},provide:t=>Sl.from(t,e=>e.panel)});class B0{constructor(e,n){this.query=e,this.panel=n}}const MK=Fe.mark({class:"cm-searchMatch"}),IK=Fe.mark({class:"cm-searchMatch cm-searchMatch-selected"}),OK=Pt.fromClass(class{constructor(t){this.view=t,this.decorations=this.highlight(t.state.field(Zi))}update(t){let e=t.state.field(Zi);(e!=t.startState.field(Zi)||t.docChanged||t.selectionSet||t.viewportChanged)&&(this.decorations=this.highlight(e))}highlight({query:t,panel:e}){if(!e||!t.spec.valid)return Fe.none;let{view:n}=this,r=new ki;for(let i=0,o=n.visibleRanges,s=o.length;i<s;i++){let{from:a,to:c}=o[i];for(;i<s-1&&c>o[i+1].from-2*250;)c=o[++i].to;t.highlight(n.state,a,c,(d,h)=>{let g=n.state.selection.ranges.some(m=>m.from==d&&m.to==h);r.add(d,h,g?IK:MK)})}return r.finish()}},{decorations:t=>t.decorations});function Ql(t){return e=>{let n=e.state.field(Zi,!1);return n&&n.query.spec.valid?t(e,n):z4(e)}}const Ad=Ql((t,{query:e})=>{let{to:n}=t.state.selection.main,r=e.nextMatch(t.state,n,n);if(!r)return!1;let i=ie.single(r.from,r.to),o=t.state.facet(ma);return t.dispatch({selection:i,effects:[pm(t,r),o.scrollToMatch(i.main,t)],userEvent:"select.search"}),H4(t),!0}),Rd=Ql((t,{query:e})=>{let{state:n}=t,{from:r}=n.selection.main,i=e.prevMatch(n,r,r);if(!i)return!1;let o=ie.single(i.from,i.to),s=t.state.facet(ma);return t.dispatch({selection:o,effects:[pm(t,i),s.scrollToMatch(o.main,t)],userEvent:"select.search"}),H4(t),!0}),DK=Ql((t,{query:e})=>{let n=e.matchAll(t.state,1e3);return!n||!n.length?!1:(t.dispatch({selection:ie.create(n.map(r=>ie.range(r.from,r.to))),userEvent:"select.search.matches"}),!0)}),LK=({state:t,dispatch:e})=>{let n=t.selection;if(n.ranges.length>1||n.main.empty)return!1;let{from:r,to:i}=n.main,o=[],s=0;for(let a=new ra(t.doc,t.sliceDoc(r,i));!a.next().done;){if(o.length>1e3)return!1;a.value.from==r&&(s=o.length),o.push(ie.range(a.value.from,a.value.to))}return e(t.update({selection:ie.create(o,s),userEvent:"select.search.matches"})),!0},Mv=Ql((t,{query:e})=>{let{state:n}=t,{from:r,to:i}=n.selection.main;if(n.readOnly)return!1;let o=e.nextMatch(n,r,r);if(!o)return!1;let s=o,a=[],c,d,h=[];if(s.from==r&&s.to==i&&(d=n.toText(e.getReplacement(s)),a.push({from:s.from,to:s.to,insert:d}),s=e.nextMatch(n,s.from,s.to),h.push(Te.announce.of(n.phrase("replaced match on line $",n.doc.lineAt(r).number)+"."))),s){let g=a.length==0||a[0].from>=o.to?0:o.to-o.from-d.length;c=ie.single(s.from-g,s.to-g),h.push(pm(t,s)),h.push(n.facet(ma).scrollToMatch(c.main,t))}return t.dispatch({changes:a,selection:c,effects:h,userEvent:"input.replace"}),!0}),jK=Ql((t,{query:e})=>{if(t.state.readOnly)return!1;let n=e.matchAll(t.state,1e9).map(i=>{let{from:o,to:s}=i;return{from:o,to:s,insert:e.getReplacement(i)}});if(!n.length)return!1;let r=t.state.phrase("replaced $ matches",n.length)+".";return t.dispatch({changes:n,effects:Te.announce.of(r),userEvent:"input.replace.all"}),!0});function gm(t){return t.state.facet(ma).createPanel(t)}function bg(t,e){var n,r,i,o,s;let a=t.selection.main,c=a.empty||a.to>a.from+100?"":t.sliceDoc(a.from,a.to);if(e&&!c)return e;let d=t.facet(ma);return new F4({search:((n=e?.literal)!==null&&n!==void 0?n:d.literal)?c:c.replace(/\n/g,"\\n"),caseSensitive:(r=e?.caseSensitive)!==null&&r!==void 0?r:d.caseSensitive,literal:(i=e?.literal)!==null&&i!==void 0?i:d.literal,regexp:(o=e?.regexp)!==null&&o!==void 0?o:d.regexp,wholeWord:(s=e?.wholeWord)!==null&&s!==void 0?s:d.wholeWord})}function V4(t){let e=$l(t,gm);return e&&e.dom.querySelector("[main-field]")}function H4(t){let e=V4(t);e&&e==t.root.activeElement&&e.select()}const z4=t=>{let e=t.state.field(Zi,!1);if(e&&e.panel){let n=V4(t);if(n&&n!=t.root.activeElement){let r=bg(t.state,e.query.spec);r.valid&&t.dispatch({effects:Rl.of(r)}),n.focus(),n.select()}}else t.dispatch({effects:[fm.of(!0),e?Rl.of(bg(t.state,e.query.spec)):Xe.appendConfig.of(FK)]});return!0},W4=t=>{let e=t.state.field(Zi,!1);if(!e||!e.panel)return!1;let n=$l(t,gm);return n&&n.dom.contains(t.root.activeElement)&&t.focus(),t.dispatch({effects:fm.of(!1)}),!0},_K=[{key:"Mod-f",run:z4,scope:"editor search-panel"},{key:"F3",run:Ad,shift:Rd,scope:"editor search-panel",preventDefault:!0},{key:"Mod-g",run:Ad,shift:Rd,scope:"editor search-panel",preventDefault:!0},{key:"Escape",run:W4,scope:"editor search-panel"},{key:"Mod-Shift-l",run:LK},{key:"Mod-Alt-g",run:fK},{key:"Mod-d",run:AK,preventDefault:!0}];class NK{constructor(e){this.view=e;let n=this.query=e.state.field(Zi).query.spec;this.commit=this.commit.bind(this),this.searchField=Ct("input",{value:n.search,placeholder:Un(e,"Find"),"aria-label":Un(e,"Find"),class:"cm-textfield",name:"search",form:"","main-field":"true",onchange:this.commit,onkeyup:this.commit}),this.replaceField=Ct("input",{value:n.replace,placeholder:Un(e,"Replace"),"aria-label":Un(e,"Replace"),class:"cm-textfield",name:"replace",form:"",onchange:this.commit,onkeyup:this.commit}),this.caseField=Ct("input",{type:"checkbox",name:"case",form:"",checked:n.caseSensitive,onchange:this.commit}),this.reField=Ct("input",{type:"checkbox",name:"re",form:"",checked:n.regexp,onchange:this.commit}),this.wordField=Ct("input",{type:"checkbox",name:"word",form:"",checked:n.wholeWord,onchange:this.commit});function r(i,o,s){return Ct("button",{class:"cm-button",name:i,onclick:o,type:"button"},s)}this.dom=Ct("div",{onkeydown:i=>this.keydown(i),class:"cm-search"},[this.searchField,r("next",()=>Ad(e),[Un(e,"next")]),r("prev",()=>Rd(e),[Un(e,"previous")]),r("select",()=>DK(e),[Un(e,"all")]),Ct("label",null,[this.caseField,Un(e,"match case")]),Ct("label",null,[this.reField,Un(e,"regexp")]),Ct("label",null,[this.wordField,Un(e,"by word")]),...e.state.readOnly?[]:[Ct("br"),this.replaceField,r("replace",()=>Mv(e),[Un(e,"replace")]),r("replaceAll",()=>jK(e),[Un(e,"replace all")])],Ct("button",{name:"close",onclick:()=>W4(e),"aria-label":Un(e,"close"),type:"button"},["×"])])}commit(){let e=new F4({search:this.searchField.value,caseSensitive:this.caseField.checked,regexp:this.reField.checked,wholeWord:this.wordField.checked,replace:this.replaceField.value});e.eq(this.query)||(this.query=e,this.view.dispatch({effects:Rl.of(e)}))}keydown(e){tW(this.view,e,"search-panel")?e.preventDefault():e.keyCode==13&&e.target==this.searchField?(e.preventDefault(),(e.shiftKey?Rd:Ad)(this.view)):e.keyCode==13&&e.target==this.replaceField&&(e.preventDefault(),Mv(this.view))}update(e){for(let n of e.transactions)for(let r of n.effects)r.is(Rl)&&!r.value.eq(this.query)&&this.setQuery(r.value)}setQuery(e){this.query=e,this.searchField.value=e.search,this.replaceField.value=e.replace,this.caseField.checked=e.caseSensitive,this.reField.checked=e.regexp,this.wordField.checked=e.wholeWord}mount(){this.searchField.select()}get pos(){return 80}get top(){return this.view.state.facet(ma).top}}function Un(t,e){return t.state.phrase(e)}const Su=30,Au=/[\s\.,:;?!]/;function pm(t,{from:e,to:n}){let r=t.state.doc.lineAt(e),i=t.state.doc.lineAt(n).to,o=Math.max(r.from,e-Su),s=Math.min(i,n+Su),a=t.state.sliceDoc(o,s);if(o!=r.from){for(let c=0;c<Su;c++)if(!Au.test(a[c+1])&&Au.test(a[c])){a=a.slice(c);break}}if(s!=i){for(let c=a.length-1;c>a.length-Su;c--)if(!Au.test(a[c-1])&&Au.test(a[c])){a=a.slice(0,c);break}}return Te.announce.of(`${t.state.phrase("current match")}. ${a} ${t.state.phrase("on line")} ${r.number}.`)}const BK=Te.baseTheme({".cm-panel.cm-search":{padding:"2px 6px 4px",position:"relative","& [name=close]":{position:"absolute",top:"0",right:"4px",backgroundColor:"inherit",border:"none",font:"inherit",padding:0,margin:0},"& input, & button, & label":{margin:".2em .6em .2em 0"},"& input[type=checkbox]":{marginRight:".2em"},"& label":{fontSize:"80%",whiteSpace:"pre"}},"&light .cm-searchMatch":{backgroundColor:"#ffff0054"},"&dark .cm-searchMatch":{backgroundColor:"#00ffff8a"},"&light .cm-searchMatch-selected":{backgroundColor:"#ff6a0054"},"&dark .cm-searchMatch-selected":{backgroundColor:"#ff00ff8a"}}),FK=[Zi,ts.low(OK),BK];class U4{constructor(e,n,r,i){this.state=e,this.pos=n,this.explicit=r,this.view=i,this.abortListeners=[],this.abortOnDocChange=!1}tokenBefore(e){let n=mn(this.state).resolveInner(this.pos,-1);for(;n&&e.indexOf(n.name)<0;)n=n.parent;return n?{from:n.from,to:this.pos,text:this.state.sliceDoc(n.from,this.pos),type:n.type}:null}matchBefore(e){let n=this.state.doc.lineAt(this.pos),r=Math.max(n.from,this.pos-250),i=n.text.slice(r-n.from,this.pos-n.from),o=i.search(q4(e,!1));return o<0?null:{from:r+o,to:this.pos,text:i.slice(o)}}get aborted(){return this.abortListeners==null}addEventListener(e,n,r){e=="abort"&&this.abortListeners&&(this.abortListeners.push(n),r&&r.onDocChange&&(this.abortOnDocChange=!0))}}function Iv(t){let e=Object.keys(t).join(""),n=/\w/.test(e);return n&&(e=e.replace(/\w/g,"")),`[${n?"\\w":""}${e.replace(/[^\w\s]/g,"\\$&")}]`}function PK(t){let e=Object.create(null),n=Object.create(null);for(let{label:i}of t){e[i[0]]=!0;for(let o=1;o<i.length;o++)n[i[o]]=!0}let r=Iv(e)+Iv(n)+"*$";return[new RegExp("^"+r),new RegExp(r)]}function VK(t){let e=t.map(i=>typeof i=="string"?{label:i}:i),[n,r]=e.every(i=>/^\w+$/.test(i.label))?[/\w*$/,/\w+$/]:PK(e);return i=>{let o=i.matchBefore(r);return o||i.explicit?{from:o?o.from:i.pos,options:e,validFor:n}:null}}let Ov=class{constructor(e,n,r,i){this.completion=e,this.source=n,this.match=r,this.score=i}};function _o(t){return t.selection.main.from}function q4(t,e){var n;let{source:r}=t,i=e&&r[0]!="^",o=r[r.length-1]!="$";return!i&&!o?t:new RegExp(`${i?"^":""}(?:${r})${o?"$":""}`,(n=t.flags)!==null&&n!==void 0?n:t.ignoreCase?"i":"")}const K4=ri.define();function HK(t,e,n,r){let{main:i}=t.selection,o=n-i.from,s=r-i.from;return Object.assign(Object.assign({},t.changeByRange(a=>{if(a!=i&&n!=r&&t.sliceDoc(a.from+o,a.from+s)!=t.sliceDoc(n,r))return{range:a};let c=t.toText(e);return{changes:{from:a.from+o,to:r==i.from?a.to:a.from+s,insert:c},range:ie.cursor(a.from+o+c.length)}})),{scrollIntoView:!0,userEvent:"input.complete"})}const Dv=new WeakMap;function zK(t){if(!Array.isArray(t))return t;let e=Dv.get(t);return e||Dv.set(t,e=VK(t)),e}const Td=Xe.define(),Tl=Xe.define();class WK{constructor(e){this.pattern=e,this.chars=[],this.folded=[],this.any=[],this.precise=[],this.byWord=[],this.score=0,this.matched=[];for(let n=0;n<e.length;){let r=Mn(e,n),i=zr(r);this.chars.push(r);let o=e.slice(n,n+i),s=o.toUpperCase();this.folded.push(Mn(s==o?o.toLowerCase():s,0)),n+=i}this.astral=e.length!=this.chars.length}ret(e,n){return this.score=e,this.matched=n,this}match(e){if(this.pattern.length==0)return this.ret(-100,[]);if(e.length<this.pattern.length)return null;let{chars:n,folded:r,any:i,precise:o,byWord:s}=this;if(n.length==1){let A=Mn(e,0),k=zr(A),I=k==e.length?0:-100;if(A!=n[0])if(A==r[0])I+=-200;else return null;return this.ret(I,[0,k])}let a=e.indexOf(this.pattern);if(a==0)return this.ret(e.length==this.pattern.length?0:-100,[0,this.pattern.length]);let c=n.length,d=0;if(a<0){for(let A=0,k=Math.min(e.length,200);A<k&&d<c;){let I=Mn(e,A);(I==n[d]||I==r[d])&&(i[d++]=A),A+=zr(I)}if(d<c)return null}let h=0,g=0,m=!1,b=0,v=-1,w=-1,y=/[a-z]/.test(e),$=!0;for(let A=0,k=Math.min(e.length,200),I=0;A<k&&g<c;){let E=Mn(e,A);a<0&&(h<c&&E==n[h]&&(o[h++]=A),b<c&&(E==n[b]||E==r[b]?(b==0&&(v=A),w=A+1,b++):b=0));let L,D=E<255?E>=48&&E<=57||E>=97&&E<=122?2:E>=65&&E<=90?1:0:(L=Up(E))!=L.toLowerCase()?1:L!=L.toUpperCase()?2:0;(!A||D==1&&y||I==0&&D!=0)&&(n[g]==E||r[g]==E&&(m=!0)?s[g++]=A:s.length&&($=!1)),I=D,A+=zr(E)}return g==c&&s[0]==0&&$?this.result(-100+(m?-200:0),s,e):b==c&&v==0?this.ret(-200-e.length+(w==e.length?0:-100),[0,w]):a>-1?this.ret(-700-e.length,[a,a+this.pattern.length]):b==c?this.ret(-900-e.length,[v,w]):g==c?this.result(-100+(m?-200:0)+-700+($?0:-1100),s,e):n.length==2?null:this.result((i[0]?-700:0)+-200+-1100,i,e)}result(e,n,r){let i=[],o=0;for(let s of n){let a=s+(this.astral?zr(Mn(r,s)):1);o&&i[o-1]==s?i[o-1]=a:(i[o++]=s,i[o++]=a)}return this.ret(e-r.length,i)}}class UK{constructor(e){this.pattern=e,this.matched=[],this.score=0,this.folded=e.toLowerCase()}match(e){if(e.length<this.pattern.length)return null;let n=e.slice(0,this.pattern.length),r=n==this.pattern?0:n.toLowerCase()==this.folded?-200:null;return r==null?null:(this.matched=[0,n.length],this.score=r+(e.length==this.pattern.length?0:-100),this)}}const en=Ie.define({combine(t){return ii(t,{activateOnTyping:!0,activateOnCompletion:()=>!1,activateOnTypingDelay:100,selectOnOpen:!0,override:null,closeOnBlur:!0,maxRenderedOptions:100,defaultKeymap:!0,tooltipClass:()=>"",optionClass:()=>"",aboveCursor:!1,icons:!0,addToOptions:[],positionInfo:qK,filterStrict:!1,compareCompletions:(e,n)=>e.label.localeCompare(n.label),interactionDelay:75,updateSyncTime:100},{defaultKeymap:(e,n)=>e&&n,closeOnBlur:(e,n)=>e&&n,icons:(e,n)=>e&&n,tooltipClass:(e,n)=>r=>Lv(e(r),n(r)),optionClass:(e,n)=>r=>Lv(e(r),n(r)),addToOptions:(e,n)=>e.concat(n),filterStrict:(e,n)=>e||n})}});function Lv(t,e){return t?e?t+" "+e:t:e}function qK(t,e,n,r,i,o){let s=t.textDirection==At.RTL,a=s,c=!1,d="top",h,g,m=e.left-i.left,b=i.right-e.right,v=r.right-r.left,w=r.bottom-r.top;if(a&&m<Math.min(v,b)?a=!1:!a&&b<Math.min(v,m)&&(a=!0),v<=(a?m:b))h=Math.max(i.top,Math.min(n.top,i.bottom-w))-e.top,g=Math.min(400,a?m:b);else{c=!0,g=Math.min(400,(s?e.right:i.right-e.left)-30);let A=i.bottom-e.bottom;A>=w||A>e.top?h=n.bottom-e.top:(d="bottom",h=e.bottom-n.top)}let y=(e.bottom-e.top)/o.offsetHeight,$=(e.right-e.left)/o.offsetWidth;return{style:`${d}: ${h/y}px; max-width: ${g/$}px`,class:"cm-completionInfo-"+(c?s?"left-narrow":"right-narrow":a?"left":"right")}}function KK(t){let e=t.addToOptions.slice();return t.icons&&e.push({render(n){let r=document.createElement("div");return r.classList.add("cm-completionIcon"),n.type&&r.classList.add(...n.type.split(/\s+/g).map(i=>"cm-completionIcon-"+i)),r.setAttribute("aria-hidden","true"),r},position:20}),e.push({render(n,r,i,o){let s=document.createElement("span");s.className="cm-completionLabel";let a=n.displayLabel||n.label,c=0;for(let d=0;d<o.length;){let h=o[d++],g=o[d++];h>c&&s.appendChild(document.createTextNode(a.slice(c,h)));let m=s.appendChild(document.createElement("span"));m.appendChild(document.createTextNode(a.slice(h,g))),m.className="cm-completionMatchedText",c=g}return c<a.length&&s.appendChild(document.createTextNode(a.slice(c))),s},position:50},{render(n){if(!n.detail)return null;let r=document.createElement("span");return r.className="cm-completionDetail",r.textContent=n.detail,r},position:80}),e.sort((n,r)=>n.position-r.position).map(n=>n.render)}function F0(t,e,n){if(t<=n)return{from:0,to:t};if(e<0&&(e=0),e<=t>>1){let i=Math.floor(e/n);return{from:i*n,to:(i+1)*n}}let r=Math.floor((t-e)/n);return{from:t-(r+1)*n,to:t-r*n}}class GK{constructor(e,n,r){this.view=e,this.stateField=n,this.applyCompletion=r,this.info=null,this.infoDestroy=null,this.placeInfoReq={read:()=>this.measureInfo(),write:c=>this.placeInfo(c),key:this},this.space=null,this.currentClass="";let i=e.state.field(n),{options:o,selected:s}=i.open,a=e.state.facet(en);this.optionContent=KK(a),this.optionClass=a.optionClass,this.tooltipClass=a.tooltipClass,this.range=F0(o.length,s,a.maxRenderedOptions),this.dom=document.createElement("div"),this.dom.className="cm-tooltip-autocomplete",this.updateTooltipClass(e.state),this.dom.addEventListener("mousedown",c=>{let{options:d}=e.state.field(n).open;for(let h=c.target,g;h&&h!=this.dom;h=h.parentNode)if(h.nodeName=="LI"&&(g=/-(\d+)$/.exec(h.id))&&+g[1]<d.length){this.applyCompletion(e,d[+g[1]]),c.preventDefault();return}}),this.dom.addEventListener("focusout",c=>{let d=e.state.field(this.stateField,!1);d&&d.tooltip&&e.state.facet(en).closeOnBlur&&c.relatedTarget!=e.contentDOM&&e.dispatch({effects:Tl.of(null)})}),this.showOptions(o,i.id)}mount(){this.updateSel()}showOptions(e,n){this.list&&this.list.remove(),this.list=this.dom.appendChild(this.createListBox(e,n,this.range)),this.list.addEventListener("scroll",()=>{this.info&&this.view.requestMeasure(this.placeInfoReq)})}update(e){var n;let r=e.state.field(this.stateField),i=e.startState.field(this.stateField);if(this.updateTooltipClass(e.state),r!=i){let{options:o,selected:s,disabled:a}=r.open;(!i.open||i.open.options!=o)&&(this.range=F0(o.length,s,e.state.facet(en).maxRenderedOptions),this.showOptions(o,r.id)),this.updateSel(),a!=((n=i.open)===null||n===void 0?void 0:n.disabled)&&this.dom.classList.toggle("cm-tooltip-autocomplete-disabled",!!a)}}updateTooltipClass(e){let n=this.tooltipClass(e);if(n!=this.currentClass){for(let r of this.currentClass.split(" "))r&&this.dom.classList.remove(r);for(let r of n.split(" "))r&&this.dom.classList.add(r);this.currentClass=n}}positioned(e){this.space=e,this.info&&this.view.requestMeasure(this.placeInfoReq)}updateSel(){let e=this.view.state.field(this.stateField),n=e.open;if((n.selected>-1&&n.selected<this.range.from||n.selected>=this.range.to)&&(this.range=F0(n.options.length,n.selected,this.view.state.facet(en).maxRenderedOptions),this.showOptions(n.options,e.id)),this.updateSelectedOption(n.selected)){this.destroyInfo();let{completion:r}=n.options[n.selected],{info:i}=r;if(!i)return;let o=typeof i=="string"?document.createTextNode(i):i(r);if(!o)return;"then"in o?o.then(s=>{s&&this.view.state.field(this.stateField,!1)==e&&this.addInfoPane(s,r)}).catch(s=>Dn(this.view.state,s,"completion info")):this.addInfoPane(o,r)}}addInfoPane(e,n){this.destroyInfo();let r=this.info=document.createElement("div");if(r.className="cm-tooltip cm-completionInfo",e.nodeType!=null)r.appendChild(e),this.infoDestroy=null;else{let{dom:i,destroy:o}=e;r.appendChild(i),this.infoDestroy=o||null}this.dom.appendChild(r),this.view.requestMeasure(this.placeInfoReq)}updateSelectedOption(e){let n=null;for(let r=this.list.firstChild,i=this.range.from;r;r=r.nextSibling,i++)r.nodeName!="LI"||!r.id?i--:i==e?r.hasAttribute("aria-selected")||(r.setAttribute("aria-selected","true"),n=r):r.hasAttribute("aria-selected")&&r.removeAttribute("aria-selected");return n&&XK(this.list,n),n}measureInfo(){let e=this.dom.querySelector("[aria-selected]");if(!e||!this.info)return null;let n=this.dom.getBoundingClientRect(),r=this.info.getBoundingClientRect(),i=e.getBoundingClientRect(),o=this.space;if(!o){let s=this.dom.ownerDocument.defaultView||window;o={left:0,top:0,right:s.innerWidth,bottom:s.innerHeight}}return i.top>Math.min(o.bottom,n.bottom)-10||i.bottom<Math.max(o.top,n.top)+10?null:this.view.state.facet(en).positionInfo(this.view,n,i,r,o,this.dom)}placeInfo(e){this.info&&(e?(e.style&&(this.info.style.cssText=e.style),this.info.className="cm-tooltip cm-completionInfo "+(e.class||"")):this.info.style.cssText="top: -1e6px")}createListBox(e,n,r){const i=document.createElement("ul");i.id=n,i.setAttribute("role","listbox"),i.setAttribute("aria-expanded","true"),i.setAttribute("aria-label",this.view.state.phrase("Completions"));let o=null;for(let s=r.from;s<r.to;s++){let{completion:a,match:c}=e[s],{section:d}=a;if(d){let m=typeof d=="string"?d:d.name;if(m!=o&&(s>r.from||r.from==0))if(o=m,typeof d!="string"&&d.header)i.appendChild(d.header(d));else{let b=i.appendChild(document.createElement("completion-section"));b.textContent=m}}const h=i.appendChild(document.createElement("li"));h.id=n+"-"+s,h.setAttribute("role","option");let g=this.optionClass(a);g&&(h.className=g);for(let m of this.optionContent){let b=m(a,this.view.state,this.view,c);b&&h.appendChild(b)}}return r.from&&i.classList.add("cm-completionListIncompleteTop"),r.to<e.length&&i.classList.add("cm-completionListIncompleteBottom"),i}destroyInfo(){this.info&&(this.infoDestroy&&this.infoDestroy(),this.info.remove(),this.info=null)}destroy(){this.destroyInfo()}}function YK(t,e){return n=>new GK(n,t,e)}function XK(t,e){let n=t.getBoundingClientRect(),r=e.getBoundingClientRect(),i=n.height/t.offsetHeight;r.top<n.top?t.scrollTop-=(n.top-r.top)/i:r.bottom>n.bottom&&(t.scrollTop+=(r.bottom-n.bottom)/i)}function jv(t){return(t.boost||0)*100+(t.apply?10:0)+(t.info?5:0)+(t.type?1:0)}function QK(t,e){let n=[],r=null,i=d=>{n.push(d);let{section:h}=d.completion;if(h){r||(r=[]);let g=typeof h=="string"?h:h.name;r.some(m=>m.name==g)||r.push(typeof h=="string"?{name:g}:h)}},o=e.facet(en);for(let d of t)if(d.hasResult()){let h=d.result.getMatch;if(d.result.filter===!1)for(let g of d.result.options)i(new Ov(g,d.source,h?h(g):[],1e9-n.length));else{let g=e.sliceDoc(d.from,d.to),m,b=o.filterStrict?new UK(g):new WK(g);for(let v of d.result.options)if(m=b.match(v.label)){let w=v.displayLabel?h?h(v,m.matched):[]:m.matched;i(new Ov(v,d.source,w,m.score+(v.boost||0)))}}}if(r){let d=Object.create(null),h=0,g=(m,b)=>{var v,w;return((v=m.rank)!==null&&v!==void 0?v:1e9)-((w=b.rank)!==null&&w!==void 0?w:1e9)||(m.name<b.name?-1:1)};for(let m of r.sort(g))h-=1e5,d[m.name]=h;for(let m of n){let{section:b}=m.completion;b&&(m.score+=d[typeof b=="string"?b:b.name])}}let s=[],a=null,c=o.compareCompletions;for(let d of n.sort((h,g)=>g.score-h.score||c(h.completion,g.completion))){let h=d.completion;!a||a.label!=h.label||a.detail!=h.detail||a.type!=null&&h.type!=null&&a.type!=h.type||a.apply!=h.apply||a.boost!=h.boost?s.push(d):jv(d.completion)>jv(a)&&(s[s.length-1]=d),a=d.completion}return s}class Es{constructor(e,n,r,i,o,s){this.options=e,this.attrs=n,this.tooltip=r,this.timestamp=i,this.selected=o,this.disabled=s}setSelected(e,n){return e==this.selected||e>=this.options.length?this:new Es(this.options,_v(n,e),this.tooltip,this.timestamp,e,this.disabled)}static build(e,n,r,i,o,s){if(i&&!s&&e.some(d=>d.isPending))return i.setDisabled();let a=QK(e,n);if(!a.length)return i&&e.some(d=>d.isPending)?i.setDisabled():null;let c=n.facet(en).selectOnOpen?0:-1;if(i&&i.selected!=c&&i.selected!=-1){let d=i.options[i.selected].completion;for(let h=0;h<a.length;h++)if(a[h].completion==d){c=h;break}}return new Es(a,_v(r,c),{pos:e.reduce((d,h)=>h.hasResult()?Math.min(d,h.from):d,1e8),create:rG,above:o.aboveCursor},i?i.timestamp:Date.now(),c,!1)}map(e){return new Es(this.options,this.attrs,Object.assign(Object.assign({},this.tooltip),{pos:e.mapPos(this.tooltip.pos)}),this.timestamp,this.selected,this.disabled)}setDisabled(){return new Es(this.options,this.attrs,this.tooltip,this.timestamp,this.selected,!0)}}class kd{constructor(e,n,r){this.active=e,this.id=n,this.open=r}static start(){return new kd(tG,"cm-ac-"+Math.floor(Math.random()*2e6).toString(36),null)}update(e){let{state:n}=e,r=n.facet(en),o=(r.override||n.languageDataAt("autocomplete",_o(n)).map(zK)).map(c=>(this.active.find(h=>h.source==c)||new sr(c,this.active.some(h=>h.state!=0)?1:0)).update(e,r));o.length==this.active.length&&o.every((c,d)=>c==this.active[d])&&(o=this.active);let s=this.open,a=e.effects.some(c=>c.is(mm));s&&e.docChanged&&(s=s.map(e.changes)),e.selection||o.some(c=>c.hasResult()&&e.changes.touchesRange(c.from,c.to))||!ZK(o,this.active)||a?s=Es.build(o,n,this.id,s,r,a):s&&s.disabled&&!o.some(c=>c.isPending)&&(s=null),!s&&o.every(c=>!c.isPending)&&o.some(c=>c.hasResult())&&(o=o.map(c=>c.hasResult()?new sr(c.source,0):c));for(let c of e.effects)c.is(Y4)&&(s=s&&s.setSelected(c.value,this.id));return o==this.active&&s==this.open?this:new kd(o,this.id,s)}get tooltip(){return this.open?this.open.tooltip:null}get attrs(){return this.open?this.open.attrs:this.active.length?JK:eG}}function ZK(t,e){if(t==e)return!0;for(let n=0,r=0;;){for(;n<t.length&&!t[n].hasResult();)n++;for(;r<e.length&&!e[r].hasResult();)r++;let i=n==t.length,o=r==e.length;if(i||o)return i==o;if(t[n++].result!=e[r++].result)return!1}}const JK={"aria-autocomplete":"list"},eG={};function _v(t,e){let n={"aria-autocomplete":"list","aria-haspopup":"listbox","aria-controls":t};return e>-1&&(n["aria-activedescendant"]=t+"-"+e),n}const tG=[];function G4(t,e){if(t.isUserEvent("input.complete")){let r=t.annotation(K4);if(r&&e.activateOnCompletion(r))return 12}let n=t.isUserEvent("input.type");return n&&e.activateOnTyping?5:n?1:t.isUserEvent("delete.backward")?2:t.selection?8:t.docChanged?16:0}class sr{constructor(e,n,r=!1){this.source=e,this.state=n,this.explicit=r}hasResult(){return!1}get isPending(){return this.state==1}update(e,n){let r=G4(e,n),i=this;(r&8||r&16&&this.touches(e))&&(i=new sr(i.source,0)),r&4&&i.state==0&&(i=new sr(this.source,1)),i=i.updateFor(e,r);for(let o of e.effects)if(o.is(Td))i=new sr(i.source,1,o.value);else if(o.is(Tl))i=new sr(i.source,0);else if(o.is(mm))for(let s of o.value)s.source==i.source&&(i=s);return i}updateFor(e,n){return this.map(e.changes)}map(e){return this}touches(e){return e.changes.touchesRange(_o(e.state))}}class Vs extends sr{constructor(e,n,r,i,o,s){super(e,3,n),this.limit=r,this.result=i,this.from=o,this.to=s}hasResult(){return!0}updateFor(e,n){var r;if(!(n&3))return this.map(e.changes);let i=this.result;i.map&&!e.changes.empty&&(i=i.map(i,e.changes));let o=e.changes.mapPos(this.from),s=e.changes.mapPos(this.to,1),a=_o(e.state);if(a>s||!i||n&2&&(_o(e.startState)==this.from||a<this.limit))return new sr(this.source,n&4?1:0);let c=e.changes.mapPos(this.limit);return nG(i.validFor,e.state,o,s)?new Vs(this.source,this.explicit,c,i,o,s):i.update&&(i=i.update(i,o,s,new U4(e.state,a,!1)))?new Vs(this.source,this.explicit,c,i,i.from,(r=i.to)!==null&&r!==void 0?r:_o(e.state)):new sr(this.source,1,this.explicit)}map(e){return e.empty?this:(this.result.map?this.result.map(this.result,e):this.result)?new Vs(this.source,this.explicit,e.mapPos(this.limit),this.result,e.mapPos(this.from),e.mapPos(this.to,1)):new sr(this.source,0)}touches(e){return e.changes.touchesRange(this.from,this.to)}}function nG(t,e,n,r){if(!t)return!1;let i=e.sliceDoc(n,r);return typeof t=="function"?t(i,n,r,e):q4(t,!0).test(i)}const mm=Xe.define({map(t,e){return t.map(n=>n.map(e))}}),Y4=Xe.define(),On=nn.define({create(){return kd.start()},update(t,e){return t.update(e)},provide:t=>[sm.from(t,e=>e.tooltip),Te.contentAttributes.from(t,e=>e.attrs)]});function bm(t,e){const n=e.completion.apply||e.completion.label;let r=t.state.field(On).active.find(i=>i.source==e.source);return r instanceof Vs?(typeof n=="string"?t.dispatch(Object.assign(Object.assign({},HK(t.state,n,r.from,r.to)),{annotations:K4.of(e.completion)})):n(t,e.completion,r.from,r.to),!0):!1}const rG=YK(On,bm);function Ru(t,e="option"){return n=>{let r=n.state.field(On,!1);if(!r||!r.open||r.open.disabled||Date.now()-r.open.timestamp<n.state.facet(en).interactionDelay)return!1;let i=1,o;e=="page"&&(o=NC(n,r.open.tooltip))&&(i=Math.max(2,Math.floor(o.dom.offsetHeight/o.dom.querySelector("li").offsetHeight)-1));let{length:s}=r.open.options,a=r.open.selected>-1?r.open.selected+i*(t?1:-1):t?0:s-1;return a<0?a=e=="page"?0:s-1:a>=s&&(a=e=="page"?s-1:0),n.dispatch({effects:Y4.of(a)}),!0}}const iG=t=>{let e=t.state.field(On,!1);return t.state.readOnly||!e||!e.open||e.open.selected<0||e.open.disabled||Date.now()-e.open.timestamp<t.state.facet(en).interactionDelay?!1:bm(t,e.open.options[e.open.selected])},Nv=t=>t.state.field(On,!1)?(t.dispatch({effects:Td.of(!0)}),!0):!1,oG=t=>{let e=t.state.field(On,!1);return!e||!e.active.some(n=>n.state!=0)?!1:(t.dispatch({effects:Tl.of(null)}),!0)};class sG{constructor(e,n){this.active=e,this.context=n,this.time=Date.now(),this.updates=[],this.done=void 0}}const aG=50,lG=1e3,cG=Pt.fromClass(class{constructor(t){this.view=t,this.debounceUpdate=-1,this.running=[],this.debounceAccept=-1,this.pendingStart=!1,this.composing=0;for(let e of t.state.field(On).active)e.isPending&&this.startQuery(e)}update(t){let e=t.state.field(On),n=t.state.facet(en);if(!t.selectionSet&&!t.docChanged&&t.startState.field(On)==e)return;let r=t.transactions.some(o=>{let s=G4(o,n);return s&8||(o.selection||o.docChanged)&&!(s&3)});for(let o=0;o<this.running.length;o++){let s=this.running[o];if(r||s.context.abortOnDocChange&&t.docChanged||s.updates.length+t.transactions.length>aG&&Date.now()-s.time>lG){for(let a of s.context.abortListeners)try{a()}catch(c){Dn(this.view.state,c)}s.context.abortListeners=null,this.running.splice(o--,1)}else s.updates.push(...t.transactions)}this.debounceUpdate>-1&&clearTimeout(this.debounceUpdate),t.transactions.some(o=>o.effects.some(s=>s.is(Td)))&&(this.pendingStart=!0);let i=this.pendingStart?50:n.activateOnTypingDelay;if(this.debounceUpdate=e.active.some(o=>o.isPending&&!this.running.some(s=>s.active.source==o.source))?setTimeout(()=>this.startUpdate(),i):-1,this.composing!=0)for(let o of t.transactions)o.isUserEvent("input.type")?this.composing=2:this.composing==2&&o.selection&&(this.composing=3)}startUpdate(){this.debounceUpdate=-1,this.pendingStart=!1;let{state:t}=this.view,e=t.field(On);for(let n of e.active)n.isPending&&!this.running.some(r=>r.active.source==n.source)&&this.startQuery(n);this.running.length&&e.open&&e.open.disabled&&(this.debounceAccept=setTimeout(()=>this.accept(),this.view.state.facet(en).updateSyncTime))}startQuery(t){let{state:e}=this.view,n=_o(e),r=new U4(e,n,t.explicit,this.view),i=new sG(t,r);this.running.push(i),Promise.resolve(t.source(r)).then(o=>{i.context.aborted||(i.done=o||null,this.scheduleAccept())},o=>{this.view.dispatch({effects:Tl.of(null)}),Dn(this.view.state,o)})}scheduleAccept(){this.running.every(t=>t.done!==void 0)?this.accept():this.debounceAccept<0&&(this.debounceAccept=setTimeout(()=>this.accept(),this.view.state.facet(en).updateSyncTime))}accept(){var t;this.debounceAccept>-1&&clearTimeout(this.debounceAccept),this.debounceAccept=-1;let e=[],n=this.view.state.facet(en),r=this.view.state.field(On);for(let i=0;i<this.running.length;i++){let o=this.running[i];if(o.done===void 0)continue;if(this.running.splice(i--,1),o.done){let a=_o(o.updates.length?o.updates[0].startState:this.view.state),c=Math.min(a,o.done.from+(o.active.explicit?0:1)),d=new Vs(o.active.source,o.active.explicit,c,o.done,o.done.from,(t=o.done.to)!==null&&t!==void 0?t:a);for(let h of o.updates)d=d.update(h,n);if(d.hasResult()){e.push(d);continue}}let s=r.active.find(a=>a.source==o.active.source);if(s&&s.isPending)if(o.done==null){let a=new sr(o.active.source,0);for(let c of o.updates)a=a.update(c,n);a.isPending||e.push(a)}else this.startQuery(s)}(e.length||r.open&&r.open.disabled)&&this.view.dispatch({effects:mm.of(e)})}},{eventHandlers:{blur(t){let e=this.view.state.field(On,!1);if(e&&e.tooltip&&this.view.state.facet(en).closeOnBlur){let n=e.open&&NC(this.view,e.open.tooltip);(!n||!n.dom.contains(t.relatedTarget))&&setTimeout(()=>this.view.dispatch({effects:Tl.of(null)}),10)}},compositionstart(){this.composing=1},compositionend(){this.composing==3&&setTimeout(()=>this.view.dispatch({effects:Td.of(!1)}),20),this.composing=0}}}),uG=typeof navigator=="object"&&/Win/.test(navigator.platform),dG=ts.highest(Te.domEventHandlers({keydown(t,e){let n=e.state.field(On,!1);if(!n||!n.open||n.open.disabled||n.open.selected<0||t.key.length>1||t.ctrlKey&&!(uG&&t.altKey)||t.metaKey)return!1;let r=n.open.options[n.open.selected],i=n.active.find(s=>s.source==r.source),o=r.completion.commitCharacters||i.result.commitCharacters;return o&&o.indexOf(t.key)>-1&&bm(e,r),!1}})),hG=Te.baseTheme({".cm-tooltip.cm-tooltip-autocomplete":{"& > ul":{fontFamily:"monospace",whiteSpace:"nowrap",overflow:"hidden auto",maxWidth_fallback:"700px",maxWidth:"min(700px, 95vw)",minWidth:"250px",maxHeight:"10em",height:"100%",listStyle:"none",margin:0,padding:0,"& > li, & > completion-section":{padding:"1px 3px",lineHeight:1.2},"& > li":{overflowX:"hidden",textOverflow:"ellipsis",cursor:"pointer"},"& > completion-section":{display:"list-item",borderBottom:"1px solid silver",paddingLeft:"0.5em",opacity:.7}}},"&light .cm-tooltip-autocomplete ul li[aria-selected]":{background:"#17c",color:"white"},"&light .cm-tooltip-autocomplete-disabled ul li[aria-selected]":{background:"#777"},"&dark .cm-tooltip-autocomplete ul li[aria-selected]":{background:"#347",color:"white"},"&dark .cm-tooltip-autocomplete-disabled ul li[aria-selected]":{background:"#444"},".cm-completionListIncompleteTop:before, .cm-completionListIncompleteBottom:after":{content:'"···"',opacity:.5,display:"block",textAlign:"center"},".cm-tooltip.cm-completionInfo":{position:"absolute",padding:"3px 9px",width:"max-content",maxWidth:"400px",boxSizing:"border-box",whiteSpace:"pre-line"},".cm-completionInfo.cm-completionInfo-left":{right:"100%"},".cm-completionInfo.cm-completionInfo-right":{left:"100%"},".cm-completionInfo.cm-completionInfo-left-narrow":{right:"30px"},".cm-completionInfo.cm-completionInfo-right-narrow":{left:"30px"},"&light .cm-snippetField":{backgroundColor:"#00000022"},"&dark .cm-snippetField":{backgroundColor:"#ffffff22"},".cm-snippetFieldPosition":{verticalAlign:"text-top",width:0,height:"1.15em",display:"inline-block",margin:"0 -0.7px -.7em",borderLeft:"1.4px dotted #888"},".cm-completionMatchedText":{textDecoration:"underline"},".cm-completionDetail":{marginLeft:"0.5em",fontStyle:"italic"},".cm-completionIcon":{fontSize:"90%",width:".8em",display:"inline-block",textAlign:"center",paddingRight:".6em",opacity:"0.6",boxSizing:"content-box"},".cm-completionIcon-function, .cm-completionIcon-method":{"&:after":{content:"'ƒ'"}},".cm-completionIcon-class":{"&:after":{content:"'○'"}},".cm-completionIcon-interface":{"&:after":{content:"'◌'"}},".cm-completionIcon-variable":{"&:after":{content:"'𝑥'"}},".cm-completionIcon-constant":{"&:after":{content:"'𝐶'"}},".cm-completionIcon-type":{"&:after":{content:"'𝑡'"}},".cm-completionIcon-enum":{"&:after":{content:"'∪'"}},".cm-completionIcon-property":{"&:after":{content:"'□'"}},".cm-completionIcon-keyword":{"&:after":{content:"'🔑︎'"}},".cm-completionIcon-namespace":{"&:after":{content:"'▢'"}},".cm-completionIcon-text":{"&:after":{content:"'abc'",fontSize:"50%",verticalAlign:"middle"}}}),kl={brackets:["(","[","{","'",'"'],before:")]}:;>",stringPrefixes:[]},Io=Xe.define({map(t,e){let n=e.mapPos(t,-1,Cn.TrackAfter);return n??void 0}}),xm=new class extends Vo{};xm.startSide=1;xm.endSide=-1;const X4=nn.define({create(){return ut.empty},update(t,e){if(t=t.map(e.changes),e.selection){let n=e.state.doc.lineAt(e.selection.main.head);t=t.update({filter:r=>r>=n.from&&r<=n.to})}for(let n of e.effects)n.is(Io)&&(t=t.update({add:[xm.range(n.value,n.value+1)]}));return t}});function fG(){return[pG,X4]}const P0="()[]{}<>";function Q4(t){for(let e=0;e<P0.length;e+=2)if(P0.charCodeAt(e)==t)return P0.charAt(e+1);return Up(t<128?t:t+1)}function Z4(t,e){return t.languageDataAt("closeBrackets",e)[0]||kl}const gG=typeof navigator=="object"&&/Android\b/.test(navigator.userAgent),pG=Te.inputHandler.of((t,e,n,r)=>{if((gG?t.composing:t.compositionStarted)||t.state.readOnly)return!1;let i=t.state.selection.main;if(r.length>2||r.length==2&&zr(Mn(r,0))==1||e!=i.from||n!=i.to)return!1;let o=xG(t.state,r);return o?(t.dispatch(o),!0):!1}),mG=({state:t,dispatch:e})=>{if(t.readOnly)return!1;let r=Z4(t,t.selection.main.head).brackets||kl.brackets,i=null,o=t.changeByRange(s=>{if(s.empty){let a=vG(t.doc,s.head);for(let c of r)if(c==a&&vh(t.doc,s.head)==Q4(Mn(c,0)))return{changes:{from:s.head-c.length,to:s.head+c.length},range:ie.cursor(s.head-c.length)}}return{range:i=s}});return i||e(t.update(o,{scrollIntoView:!0,userEvent:"delete.backward"})),!i},bG=[{key:"Backspace",run:mG}];function xG(t,e){let n=Z4(t,t.selection.main.head),r=n.brackets||kl.brackets;for(let i of r){let o=Q4(Mn(i,0));if(e==i)return o==i?CG(t,i,r.indexOf(i+i+i)>-1,n):wG(t,i,o,n.before||kl.before);if(e==o&&J4(t,t.selection.main.from))return yG(t,i,o)}return null}function J4(t,e){let n=!1;return t.field(X4).between(0,t.doc.length,r=>{r==e&&(n=!0)}),n}function vh(t,e){let n=t.sliceString(e,e+2);return n.slice(0,zr(Mn(n,0)))}function vG(t,e){let n=t.sliceString(e-2,e);return zr(Mn(n,0))==n.length?n:n.slice(1)}function wG(t,e,n,r){let i=null,o=t.changeByRange(s=>{if(!s.empty)return{changes:[{insert:e,from:s.from},{insert:n,from:s.to}],effects:Io.of(s.to+e.length),range:ie.range(s.anchor+e.length,s.head+e.length)};let a=vh(t.doc,s.head);return!a||/\s/.test(a)||r.indexOf(a)>-1?{changes:{insert:e+n,from:s.head},effects:Io.of(s.head+e.length),range:ie.cursor(s.head+e.length)}:{range:i=s}});return i?null:t.update(o,{scrollIntoView:!0,userEvent:"input.type"})}function yG(t,e,n){let r=null,i=t.changeByRange(o=>o.empty&&vh(t.doc,o.head)==n?{changes:{from:o.head,to:o.head+n.length,insert:n},range:ie.cursor(o.head+n.length)}:r={range:o});return r?null:t.update(i,{scrollIntoView:!0,userEvent:"input.type"})}function CG(t,e,n,r){let i=r.stringPrefixes||kl.stringPrefixes,o=null,s=t.changeByRange(a=>{if(!a.empty)return{changes:[{insert:e,from:a.from},{insert:e,from:a.to}],effects:Io.of(a.to+e.length),range:ie.range(a.anchor+e.length,a.head+e.length)};let c=a.head,d=vh(t.doc,c),h;if(d==e){if(Bv(t,c))return{changes:{insert:e+e,from:c},effects:Io.of(c+e.length),range:ie.cursor(c+e.length)};if(J4(t,c)){let m=n&&t.sliceDoc(c,c+e.length*3)==e+e+e?e+e+e:e;return{changes:{from:c,to:c+m.length,insert:m},range:ie.cursor(c+m.length)}}}else{if(n&&t.sliceDoc(c-2*e.length,c)==e+e&&(h=Fv(t,c-2*e.length,i))>-1&&Bv(t,h))return{changes:{insert:e+e+e+e,from:c},effects:Io.of(c+e.length),range:ie.cursor(c+e.length)};if(t.charCategorizer(c)(d)!=kt.Word&&Fv(t,c,i)>-1&&!$G(t,c,e,i))return{changes:{insert:e+e,from:c},effects:Io.of(c+e.length),range:ie.cursor(c+e.length)}}return{range:o=a}});return o?null:t.update(s,{scrollIntoView:!0,userEvent:"input.type"})}function Bv(t,e){let n=mn(t).resolveInner(e+1);return n.parent&&n.from==e}function $G(t,e,n,r){let i=mn(t).resolveInner(e,-1),o=r.reduce((s,a)=>Math.max(s,a.length),0);for(let s=0;s<5;s++){let a=t.sliceDoc(i.from,Math.min(i.to,i.from+n.length+o)),c=a.indexOf(n);if(!c||c>-1&&r.indexOf(a.slice(0,c))>-1){let h=i.firstChild;for(;h&&h.from==i.from&&h.to-h.from>n.length+c;){if(t.sliceDoc(h.to-n.length,h.to)==n)return!1;h=h.firstChild}return!0}let d=i.to==e&&i.parent;if(!d)break;i=d}return!1}function Fv(t,e,n){let r=t.charCategorizer(e);if(r(t.sliceDoc(e-1,e))!=kt.Word)return e;for(let i of n){let o=e-i.length;if(t.sliceDoc(o,e)==i&&r(t.sliceDoc(o-1,o))!=kt.Word)return o}return-1}function SG(t={}){return[dG,On,en.of(t),cG,AG,hG]}const e$=[{key:"Ctrl-Space",run:Nv},{mac:"Alt-`",run:Nv},{key:"Escape",run:oG},{key:"ArrowDown",run:Ru(!0)},{key:"ArrowUp",run:Ru(!1)},{key:"PageDown",run:Ru(!0,"page")},{key:"PageUp",run:Ru(!1,"page")},{key:"Enter",run:iG}],AG=ts.highest(uh.computeN([en],t=>t.facet(en).defaultKeymap?[e$]:[]));class Pv{constructor(e,n,r){this.from=e,this.to=n,this.diagnostic=r}}class Eo{constructor(e,n,r){this.diagnostics=e,this.panel=n,this.selected=r}static init(e,n,r){let i=e,o=r.facet(El).markerFilter;o&&(i=o(i,r));let s=e.slice().sort((g,m)=>g.from-m.from||g.to-m.to),a=new ki,c=[],d=0;for(let g=0;;){let m=g==s.length?null:s[g];if(!m&&!c.length)break;let b,v;for(c.length?(b=d,v=c.reduce((y,$)=>Math.min(y,$.to),m&&m.from>b?m.from:1e8)):(b=m.from,v=m.to,c.push(m),g++);g<s.length;){let y=s[g];if(y.from==b&&(y.to>y.from||y.to==b))c.push(y),g++,v=Math.min(y.to,v);else{v=Math.min(y.from,v);break}}let w=BG(c);if(c.some(y=>y.from==y.to||y.from==y.to-1&&r.doc.lineAt(y.from).to==y.from))a.add(b,b,Fe.widget({widget:new LG(w),diagnostics:c.slice()}));else{let y=c.reduce(($,A)=>A.markClass?$+" "+A.markClass:$,"");a.add(b,v,Fe.mark({class:"cm-lintRange cm-lintRange-"+w+y,diagnostics:c.slice(),inclusiveEnd:c.some($=>$.to>v)}))}d=v;for(let y=0;y<c.length;y++)c[y].to<=d&&c.splice(y--,1)}let h=a.finish();return new Eo(h,n,ia(h))}}function ia(t,e=null,n=0){let r=null;return t.between(n,1e9,(i,o,{spec:s})=>{if(!(e&&s.diagnostics.indexOf(e)<0))if(!r)r=new Pv(i,o,e||s.diagnostics[0]);else{if(s.diagnostics.indexOf(r.diagnostic)<0)return!1;r=new Pv(r.from,o,r.diagnostic)}}),r}function RG(t,e){let n=e.pos,r=e.end||n,i=t.state.facet(El).hideOn(t,n,r);if(i!=null)return i;let o=t.startState.doc.lineAt(e.pos);return!!(t.effects.some(s=>s.is(t$))||t.changes.touchesRange(o.from,Math.max(o.to,r)))}function TG(t,e){return t.field(Yn,!1)?e:e.concat(Xe.appendConfig.of(FG))}const t$=Xe.define(),vm=Xe.define(),n$=Xe.define(),Yn=nn.define({create(){return new Eo(Fe.none,null,null)},update(t,e){if(e.docChanged&&t.diagnostics.size){let n=t.diagnostics.map(e.changes),r=null,i=t.panel;if(t.selected){let o=e.changes.mapPos(t.selected.from,1);r=ia(n,t.selected.diagnostic,o)||ia(n,null,o)}!n.size&&i&&e.state.facet(El).autoPanel&&(i=null),t=new Eo(n,i,r)}for(let n of e.effects)if(n.is(t$)){let r=e.state.facet(El).autoPanel?n.value.length?Ml.open:null:t.panel;t=Eo.init(n.value,r,e.state)}else n.is(vm)?t=new Eo(t.diagnostics,n.value?Ml.open:null,t.selected):n.is(n$)&&(t=new Eo(t.diagnostics,t.panel,n.value));return t},provide:t=>[Sl.from(t,e=>e.panel),Te.decorations.from(t,e=>e.diagnostics)]}),kG=Fe.mark({class:"cm-lintRange cm-lintRange-active"});function EG(t,e,n){let{diagnostics:r}=t.state.field(Yn),i,o=-1,s=-1;r.between(e-(n<0?1:0),e+(n>0?1:0),(c,d,{spec:h})=>{if(e>=c&&e<=d&&(c==d||(e>c||n>0)&&(e<d||n<0)))return i=h.diagnostics,o=c,s=d,!1});let a=t.state.facet(El).tooltipFilter;return i&&a&&(i=a(i,t.state)),i?{pos:o,end:s,above:t.state.doc.lineAt(o).to<s,create(){return{dom:MG(t,i)}}}:null}function MG(t,e){return Ct("ul",{class:"cm-tooltip-lint"},e.map(n=>i$(t,n,!1)))}const IG=t=>{let e=t.state.field(Yn,!1);(!e||!e.panel)&&t.dispatch({effects:TG(t.state,[vm.of(!0)])});let n=$l(t,Ml.open);return n&&n.dom.querySelector(".cm-panel-lint ul").focus(),!0},Vv=t=>{let e=t.state.field(Yn,!1);return!e||!e.panel?!1:(t.dispatch({effects:vm.of(!1)}),!0)},OG=t=>{let e=t.state.field(Yn,!1);if(!e)return!1;let n=t.state.selection.main,r=e.diagnostics.iter(n.to+1);return!r.value&&(r=e.diagnostics.iter(0),!r.value||r.from==n.from&&r.to==n.to)?!1:(t.dispatch({selection:{anchor:r.from,head:r.to},scrollIntoView:!0}),!0)},DG=[{key:"Mod-Shift-m",run:IG,preventDefault:!0},{key:"F8",run:OG}],El=Ie.define({combine(t){return Object.assign({sources:t.map(e=>e.source).filter(e=>e!=null)},ii(t.map(e=>e.config),{delay:750,markerFilter:null,tooltipFilter:null,needsRefresh:null,hideOn:()=>null},{needsRefresh:(e,n)=>e?n?r=>e(r)||n(r):e:n}))}});function r$(t){let e=[];if(t)e:for(let{name:n}of t){for(let r=0;r<n.length;r++){let i=n[r];if(/[a-zA-Z]/.test(i)&&!e.some(o=>o.toLowerCase()==i.toLowerCase())){e.push(i);continue e}}e.push("")}return e}function i$(t,e,n){var r;let i=n?r$(e.actions):[];return Ct("li",{class:"cm-diagnostic cm-diagnostic-"+e.severity},Ct("span",{class:"cm-diagnosticText"},e.renderMessage?e.renderMessage(t):e.message),(r=e.actions)===null||r===void 0?void 0:r.map((o,s)=>{let a=!1,c=m=>{if(m.preventDefault(),a)return;a=!0;let b=ia(t.state.field(Yn).diagnostics,e);b&&o.apply(t,b.from,b.to)},{name:d}=o,h=i[s]?d.indexOf(i[s]):-1,g=h<0?d:[d.slice(0,h),Ct("u",d.slice(h,h+1)),d.slice(h+1)];return Ct("button",{type:"button",class:"cm-diagnosticAction",onclick:c,onmousedown:c,"aria-label":` Action: ${d}${h<0?"":` (access key "${i[s]})"`}.`},g)}),e.source&&Ct("div",{class:"cm-diagnosticSource"},e.source))}class LG extends Di{constructor(e){super(),this.sev=e}eq(e){return e.sev==this.sev}toDOM(){return Ct("span",{class:"cm-lintPoint cm-lintPoint-"+this.sev})}}class Hv{constructor(e,n){this.diagnostic=n,this.id="item_"+Math.floor(Math.random()*4294967295).toString(16),this.dom=i$(e,n,!0),this.dom.id=this.id,this.dom.setAttribute("role","option")}}class Ml{constructor(e){this.view=e,this.items=[];let n=i=>{if(i.keyCode==27)Vv(this.view),this.view.focus();else if(i.keyCode==38||i.keyCode==33)this.moveSelection((this.selectedIndex-1+this.items.length)%this.items.length);else if(i.keyCode==40||i.keyCode==34)this.moveSelection((this.selectedIndex+1)%this.items.length);else if(i.keyCode==36)this.moveSelection(0);else if(i.keyCode==35)this.moveSelection(this.items.length-1);else if(i.keyCode==13)this.view.focus();else if(i.keyCode>=65&&i.keyCode<=90&&this.selectedIndex>=0){let{diagnostic:o}=this.items[this.selectedIndex],s=r$(o.actions);for(let a=0;a<s.length;a++)if(s[a].toUpperCase().charCodeAt(0)==i.keyCode){let c=ia(this.view.state.field(Yn).diagnostics,o);c&&o.actions[a].apply(e,c.from,c.to)}}else return;i.preventDefault()},r=i=>{for(let o=0;o<this.items.length;o++)this.items[o].dom.contains(i.target)&&this.moveSelection(o)};this.list=Ct("ul",{tabIndex:0,role:"listbox","aria-label":this.view.state.phrase("Diagnostics"),onkeydown:n,onclick:r}),this.dom=Ct("div",{class:"cm-panel-lint"},this.list,Ct("button",{type:"button",name:"close","aria-label":this.view.state.phrase("close"),onclick:()=>Vv(this.view)},"×")),this.update()}get selectedIndex(){let e=this.view.state.field(Yn).selected;if(!e)return-1;for(let n=0;n<this.items.length;n++)if(this.items[n].diagnostic==e.diagnostic)return n;return-1}update(){let{diagnostics:e,selected:n}=this.view.state.field(Yn),r=0,i=!1,o=null,s=new Set;for(e.between(0,this.view.state.doc.length,(a,c,{spec:d})=>{for(let h of d.diagnostics){if(s.has(h))continue;s.add(h);let g=-1,m;for(let b=r;b<this.items.length;b++)if(this.items[b].diagnostic==h){g=b;break}g<0?(m=new Hv(this.view,h),this.items.splice(r,0,m),i=!0):(m=this.items[g],g>r&&(this.items.splice(r,g-r),i=!0)),n&&m.diagnostic==n.diagnostic?m.dom.hasAttribute("aria-selected")||(m.dom.setAttribute("aria-selected","true"),o=m):m.dom.hasAttribute("aria-selected")&&m.dom.removeAttribute("aria-selected"),r++}});r<this.items.length&&!(this.items.length==1&&this.items[0].diagnostic.from<0);)i=!0,this.items.pop();this.items.length==0&&(this.items.push(new Hv(this.view,{from:-1,to:-1,severity:"info",message:this.view.state.phrase("No diagnostics")})),i=!0),o?(this.list.setAttribute("aria-activedescendant",o.id),this.view.requestMeasure({key:this,read:()=>({sel:o.dom.getBoundingClientRect(),panel:this.list.getBoundingClientRect()}),write:({sel:a,panel:c})=>{let d=c.height/this.list.offsetHeight;a.top<c.top?this.list.scrollTop-=(c.top-a.top)/d:a.bottom>c.bottom&&(this.list.scrollTop+=(a.bottom-c.bottom)/d)}})):this.selectedIndex<0&&this.list.removeAttribute("aria-activedescendant"),i&&this.sync()}sync(){let e=this.list.firstChild;function n(){let r=e;e=r.nextSibling,r.remove()}for(let r of this.items)if(r.dom.parentNode==this.list){for(;e!=r.dom;)n();e=r.dom.nextSibling}else this.list.insertBefore(r.dom,e);for(;e;)n()}moveSelection(e){if(this.selectedIndex<0)return;let n=this.view.state.field(Yn),r=ia(n.diagnostics,this.items[e].diagnostic);r&&this.view.dispatch({selection:{anchor:r.from,head:r.to},scrollIntoView:!0,effects:n$.of(r)})}static open(e){return new Ml(e)}}function jG(t,e='viewBox="0 0 40 40"'){return`url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" ${e}>${encodeURIComponent(t)}</svg>')`}function Tu(t){return jG(`<path d="m0 2.5 l2 -1.5 l1 0 l2 1.5 l1 0" stroke="${t}" fill="none" stroke-width=".7"/>`,'width="6" height="3"')}const _G=Te.baseTheme({".cm-diagnostic":{padding:"3px 6px 3px 8px",marginLeft:"-1px",display:"block",whiteSpace:"pre-wrap"},".cm-diagnostic-error":{borderLeft:"5px solid #d11"},".cm-diagnostic-warning":{borderLeft:"5px solid orange"},".cm-diagnostic-info":{borderLeft:"5px solid #999"},".cm-diagnostic-hint":{borderLeft:"5px solid #66d"},".cm-diagnosticAction":{font:"inherit",border:"none",padding:"2px 4px",backgroundColor:"#444",color:"white",borderRadius:"3px",marginLeft:"8px",cursor:"pointer"},".cm-diagnosticSource":{fontSize:"70%",opacity:.7},".cm-lintRange":{backgroundPosition:"left bottom",backgroundRepeat:"repeat-x",paddingBottom:"0.7px"},".cm-lintRange-error":{backgroundImage:Tu("#d11")},".cm-lintRange-warning":{backgroundImage:Tu("orange")},".cm-lintRange-info":{backgroundImage:Tu("#999")},".cm-lintRange-hint":{backgroundImage:Tu("#66d")},".cm-lintRange-active":{backgroundColor:"#ffdd9980"},".cm-tooltip-lint":{padding:0,margin:0},".cm-lintPoint":{position:"relative","&:after":{content:'""',position:"absolute",bottom:0,left:"-2px",borderLeft:"3px solid transparent",borderRight:"3px solid transparent",borderBottom:"4px solid #d11"}},".cm-lintPoint-warning":{"&:after":{borderBottomColor:"orange"}},".cm-lintPoint-info":{"&:after":{borderBottomColor:"#999"}},".cm-lintPoint-hint":{"&:after":{borderBottomColor:"#66d"}},".cm-panel.cm-panel-lint":{position:"relative","& ul":{maxHeight:"100px",overflowY:"auto","& [aria-selected]":{backgroundColor:"#ddd","& u":{textDecoration:"underline"}},"&:focus [aria-selected]":{background_fallback:"#bdf",backgroundColor:"Highlight",color_fallback:"white",color:"HighlightText"},"& u":{textDecoration:"none"},padding:0,margin:0},"& [name=close]":{position:"absolute",top:"0",right:"2px",background:"inherit",border:"none",font:"inherit",padding:0,margin:0}}});function NG(t){return t=="error"?4:t=="warning"?3:t=="info"?2:1}function BG(t){let e="hint",n=1;for(let r of t){let i=NG(r.severity);i>n&&(n=i,e=r.severity)}return e}const FG=[Yn,Te.decorations.compute([Yn],t=>{let{selected:e,panel:n}=t.field(Yn);return!e||!n||e.from==e.to?Fe.none:Fe.set([kG.range(e.from,e.to)])}),zW(EG,{hideOn:RG}),_G];var zv=function(e){e===void 0&&(e={});var{crosshairCursor:n=!1}=e,r=[];e.closeBracketsKeymap!==!1&&(r=r.concat(bG)),e.defaultKeymap!==!1&&(r=r.concat(uK)),e.searchKeymap!==!1&&(r=r.concat(_K)),e.historyKeymap!==!1&&(r=r.concat(vq)),e.foldKeymap!==!1&&(r=r.concat(kU)),e.completionKeymap!==!1&&(r=r.concat(e$)),e.lintKeymap!==!1&&(r=r.concat(DG));var i=[];return e.lineNumbers!==!1&&i.push(eU()),e.highlightActiveLineGutter!==!1&&i.push(rU()),e.highlightSpecialChars!==!1&&i.push(xW()),e.history!==!1&&i.push(uq()),e.foldGutter!==!1&&i.push(OU()),e.drawSelection!==!1&&i.push(aW()),e.dropCursor!==!1&&i.push(hW()),e.allowMultipleSelections!==!1&&i.push(lt.allowMultipleSelections.of(!0)),e.indentOnInput!==!1&&i.push(xU()),e.syntaxHighlighting!==!1&&i.push(JC(_U,{fallback:!0})),e.bracketMatching!==!1&&i.push(zU()),e.closeBrackets!==!1&&i.push(fG()),e.autocompletion!==!1&&i.push(SG()),e.rectangularSelection!==!1&&i.push(OW()),n!==!1&&i.push(jW()),e.highlightActiveLine!==!1&&i.push(SW()),e.highlightSelectionMatches!==!1&&i.push(bK()),e.tabSize&&typeof e.tabSize=="number"&&i.push(hh.of(" ".repeat(e.tabSize))),i.concat([uh.of(r.flat())]).filter(Boolean)};const PG="#e5c07b",Wv="#e06c75",VG="#56b6c2",HG="#ffffff",Wu="#abb2bf",xg="#7d8799",zG="#61afef",WG="#98c379",Uv="#d19a66",UG="#c678dd",qG="#21252b",qv="#2c313a",Kv="#282c34",V0="#353a42",KG="#3E4451",Gv="#528bff",GG=Te.theme({"&":{color:Wu,backgroundColor:Kv},".cm-content":{caretColor:Gv},".cm-cursor, .cm-dropCursor":{borderLeftColor:Gv},"&.cm-focused > .cm-scroller > .cm-selectionLayer .cm-selectionBackground, .cm-selectionBackground, .cm-content ::selection":{backgroundColor:KG},".cm-panels":{backgroundColor:qG,color:Wu},".cm-panels.cm-panels-top":{borderBottom:"2px solid black"},".cm-panels.cm-panels-bottom":{borderTop:"2px solid black"},".cm-searchMatch":{backgroundColor:"#72a1ff59",outline:"1px solid #457dff"},".cm-searchMatch.cm-searchMatch-selected":{backgroundColor:"#6199ff2f"},".cm-activeLine":{backgroundColor:"#6699ff0b"},".cm-selectionMatch":{backgroundColor:"#aafe661a"},"&.cm-focused .cm-matchingBracket, &.cm-focused .cm-nonmatchingBracket":{backgroundColor:"#bad0f847"},".cm-gutters":{backgroundColor:Kv,color:xg,border:"none"},".cm-activeLineGutter":{backgroundColor:qv},".cm-foldPlaceholder":{backgroundColor:"transparent",border:"none",color:"#ddd"},".cm-tooltip":{border:"none",backgroundColor:V0},".cm-tooltip .cm-tooltip-arrow:before":{borderTopColor:"transparent",borderBottomColor:"transparent"},".cm-tooltip .cm-tooltip-arrow:after":{borderTopColor:V0,borderBottomColor:V0},".cm-tooltip-autocomplete":{"& > ul > li[aria-selected]":{backgroundColor:qv,color:Wu}}},{dark:!0}),YG=Yl.define([{tag:G.keyword,color:UG},{tag:[G.name,G.deleted,G.character,G.propertyName,G.macroName],color:Wv},{tag:[G.function(G.variableName),G.labelName],color:zG},{tag:[G.color,G.constant(G.name),G.standard(G.name)],color:Uv},{tag:[G.definition(G.name),G.separator],color:Wu},{tag:[G.typeName,G.className,G.number,G.changed,G.annotation,G.modifier,G.self,G.namespace],color:PG},{tag:[G.operator,G.operatorKeyword,G.url,G.escape,G.regexp,G.link,G.special(G.string)],color:VG},{tag:[G.meta,G.comment],color:xg},{tag:G.strong,fontWeight:"bold"},{tag:G.emphasis,fontStyle:"italic"},{tag:G.strikethrough,textDecoration:"line-through"},{tag:G.link,color:xg,textDecoration:"underline"},{tag:G.heading,fontWeight:"bold",color:Wv},{tag:[G.atom,G.bool,G.special(G.variableName)],color:Uv},{tag:[G.processingInstruction,G.string,G.inserted],color:WG},{tag:G.invalid,color:HG}]),XG=[GG,JC(YG)];var QG=Te.theme({"&":{backgroundColor:"#fff"}},{dark:!1}),ZG=function(e){e===void 0&&(e={});var{indentWithTab:n=!0,editable:r=!0,readOnly:i=!1,theme:o="light",placeholder:s="",basicSetup:a=!0}=e,c=[];switch(n&&c.unshift(uh.of([dK])),a&&(typeof a=="boolean"?c.unshift(zv()):c.unshift(zv(a))),s&&c.unshift(kW(s)),o){case"light":c.push(QG);break;case"dark":c.push(XG);break;case"none":break;default:c.push(o);break}return r===!1&&c.push(Te.editable.of(!1)),i&&c.push(lt.readOnly.of(!0)),[...c]},JG=t=>({line:t.state.doc.lineAt(t.state.selection.main.from),lineCount:t.state.doc.lines,lineBreak:t.state.lineBreak,length:t.state.doc.length,readOnly:t.state.readOnly,tabSize:t.state.tabSize,selection:t.state.selection,selectionAsSingle:t.state.selection.asSingle().main,ranges:t.state.selection.ranges,selectionCode:t.state.sliceDoc(t.state.selection.main.from,t.state.selection.main.to),selections:t.state.selection.ranges.map(e=>t.state.sliceDoc(e.from,e.to)),selectedText:t.state.selection.ranges.some(e=>!e.empty)}),Yv=ri.define(),eY=[];function o$(t){var{value:e,selection:n,onChange:r,onStatistics:i,onCreateEditor:o,onUpdate:s,extensions:a=eY,autoFocus:c,theme:d="light",height:h=null,minHeight:g=null,maxHeight:m=null,width:b=null,minWidth:v=null,maxWidth:w=null,placeholder:y="",editable:$=!0,readOnly:A=!1,indentWithTab:k=!0,basicSetup:I=!0,root:E,initialState:L}=t,[D,H]=x.useState(),[V,z]=x.useState(),[q,W]=x.useState(),Z=Te.theme({"&":{height:h,minHeight:g,maxHeight:m,width:b,minWidth:v,maxWidth:w},"& .cm-scroller":{height:"100% !important"}}),K=Te.updateListener.of(se=>{if(se.docChanged&&typeof r=="function"&&!se.transactions.some(me=>me.annotation(Yv))){var ue=se.state.doc,Y=ue.toString();r(Y,se)}i&&i(JG(se))}),le=ZG({theme:d,editable:$,readOnly:A,placeholder:y,indentWithTab:k,basicSetup:I}),ce=[K,Z,...le];return s&&typeof s=="function"&&ce.push(Te.updateListener.of(s)),ce=ce.concat(a),x.useEffect(()=>{if(D&&!q){var se={doc:e,selection:n,extensions:ce},ue=L?lt.fromJSON(L.json,se,L.fields):lt.create(se);if(W(ue),!V){var Y=new Te({state:ue,parent:D,root:E});z(Y),o&&o(Y,ue)}}return()=>{V&&(W(void 0),z(void 0))}},[D,q]),x.useEffect(()=>H(t.container),[t.container]),x.useEffect(()=>()=>{V&&(V.destroy(),z(void 0))},[V]),x.useEffect(()=>{c&&V&&V.focus()},[c,V]),x.useEffect(()=>{V&&V.dispatch({effects:Xe.reconfigure.of(ce)})},[d,a,h,g,m,b,v,w,y,$,A,k,I,r,s]),x.useEffect(()=>{if(e!==void 0){var se=V?V.state.doc.toString():"";V&&e!==se&&V.dispatch({changes:{from:0,to:se.length,insert:e||""},annotations:[Yv.of(!0)]})}},[e,V]),{state:q,setState:W,view:V,setView:z,container:D,setContainer:H}}var tY=["className","value","selection","extensions","onChange","onStatistics","onCreateEditor","onUpdate","autoFocus","theme","height","minHeight","maxHeight","width","minWidth","maxWidth","basicSetup","placeholder","indentWithTab","editable","readOnly","root","initialState"],nY=x.forwardRef((t,e)=>{var{className:n,value:r="",selection:i,extensions:o=[],onChange:s,onStatistics:a,onCreateEditor:c,onUpdate:d,autoFocus:h,theme:g="light",height:m,minHeight:b,maxHeight:v,width:w,minWidth:y,maxWidth:$,basicSetup:A,placeholder:k,indentWithTab:I,editable:E,readOnly:L,root:D,initialState:H}=t,V=eq(t,tY),z=x.useRef(null),{state:q,view:W,container:Z}=o$({container:z.current,root:D,value:r,autoFocus:h,theme:g,height:m,minHeight:b,maxHeight:v,width:w,minWidth:y,maxWidth:$,basicSetup:A,placeholder:k,indentWithTab:I,editable:E,readOnly:L,selection:i,onChange:s,onStatistics:a,onCreateEditor:c,onUpdate:d,extensions:o,initialState:H});if(x.useImperativeHandle(e,()=>({editor:z.current,state:q,view:W}),[z,Z,q,W]),typeof r!="string")throw new Error("value must be typeof string but got "+typeof r);var K=typeof g=="string"?"cm-theme-"+g:"cm-theme";return f.jsx("div",X({ref:z,className:""+K+(n?" "+n:"")},V))});nY.displayName="CodeMirror";function rY(t,e){return x.useReducer((n,r)=>{const i=e[n][r];return i??n},t)}const s$="ScrollArea",[a$,Ure]=Vt(s$),[iY,si]=a$(s$),oY=x.forwardRef((t,e)=>{const{__scopeScrollArea:n,type:r="hover",dir:i,scrollHideDelay:o=600,...s}=t,[a,c]=x.useState(null),[d,h]=x.useState(null),[g,m]=x.useState(null),[b,v]=x.useState(null),[w,y]=x.useState(null),[$,A]=x.useState(0),[k,I]=x.useState(0),[E,L]=x.useState(!1),[D,H]=x.useState(!1),V=Ve(e,q=>c(q)),z=Xo(i);return x.createElement(iY,{scope:n,type:r,dir:z,scrollHideDelay:o,scrollArea:a,viewport:d,onViewportChange:h,content:g,onContentChange:m,scrollbarX:b,onScrollbarXChange:v,scrollbarXEnabled:E,onScrollbarXEnabledChange:L,scrollbarY:w,onScrollbarYChange:y,scrollbarYEnabled:D,onScrollbarYEnabledChange:H,onCornerWidthChange:A,onCornerHeightChange:I},x.createElement(_e.div,X({dir:z},s,{ref:V,style:{position:"relative","--radix-scroll-area-corner-width":$+"px","--radix-scroll-area-corner-height":k+"px",...t.style}})))}),sY="ScrollAreaViewport",aY=x.forwardRef((t,e)=>{const{__scopeScrollArea:n,children:r,...i}=t,o=si(sY,n),s=x.useRef(null),a=Ve(e,s,o.onViewportChange);return x.createElement(x.Fragment,null,x.createElement("style",{dangerouslySetInnerHTML:{__html:"[data-radix-scroll-area-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-scroll-area-viewport]::-webkit-scrollbar{display:none}"}}),x.createElement(_e.div,X({"data-radix-scroll-area-viewport":""},i,{ref:a,style:{overflowX:o.scrollbarXEnabled?"scroll":"hidden",overflowY:o.scrollbarYEnabled?"scroll":"hidden",...t.style}}),x.createElement("div",{ref:o.onContentChange,style:{minWidth:"100%",display:"table"}},r)))}),Li="ScrollAreaScrollbar",lY=x.forwardRef((t,e)=>{const{forceMount:n,...r}=t,i=si(Li,t.__scopeScrollArea),{onScrollbarXEnabledChange:o,onScrollbarYEnabledChange:s}=i,a=t.orientation==="horizontal";return x.useEffect(()=>(a?o(!0):s(!0),()=>{a?o(!1):s(!1)}),[a,o,s]),i.type==="hover"?x.createElement(cY,X({},r,{ref:e,forceMount:n})):i.type==="scroll"?x.createElement(uY,X({},r,{ref:e,forceMount:n})):i.type==="auto"?x.createElement(l$,X({},r,{ref:e,forceMount:n})):i.type==="always"?x.createElement(wm,X({},r,{ref:e})):null}),cY=x.forwardRef((t,e)=>{const{forceMount:n,...r}=t,i=si(Li,t.__scopeScrollArea),[o,s]=x.useState(!1);return x.useEffect(()=>{const a=i.scrollArea;let c=0;if(a){const d=()=>{window.clearTimeout(c),s(!0)},h=()=>{c=window.setTimeout(()=>s(!1),i.scrollHideDelay)};return a.addEventListener("pointerenter",d),a.addEventListener("pointerleave",h),()=>{window.clearTimeout(c),a.removeEventListener("pointerenter",d),a.removeEventListener("pointerleave",h)}}},[i.scrollArea,i.scrollHideDelay]),x.createElement(Yt,{present:n||o},x.createElement(l$,X({"data-state":o?"visible":"hidden"},r,{ref:e})))}),uY=x.forwardRef((t,e)=>{const{forceMount:n,...r}=t,i=si(Li,t.__scopeScrollArea),o=t.orientation==="horizontal",s=yh(()=>c("SCROLL_END"),100),[a,c]=rY("hidden",{hidden:{SCROLL:"scrolling"},scrolling:{SCROLL_END:"idle",POINTER_ENTER:"interacting"},interacting:{SCROLL:"interacting",POINTER_LEAVE:"idle"},idle:{HIDE:"hidden",SCROLL:"scrolling",POINTER_ENTER:"interacting"}});return x.useEffect(()=>{if(a==="idle"){const d=window.setTimeout(()=>c("HIDE"),i.scrollHideDelay);return()=>window.clearTimeout(d)}},[a,i.scrollHideDelay,c]),x.useEffect(()=>{const d=i.viewport,h=o?"scrollLeft":"scrollTop";if(d){let g=d[h];const m=()=>{const b=d[h];g!==b&&(c("SCROLL"),s()),g=b};return d.addEventListener("scroll",m),()=>d.removeEventListener("scroll",m)}},[i.viewport,o,c,s]),x.createElement(Yt,{present:n||a!=="hidden"},x.createElement(wm,X({"data-state":a==="hidden"?"hidden":"visible"},r,{ref:e,onPointerEnter:ge(t.onPointerEnter,()=>c("POINTER_ENTER")),onPointerLeave:ge(t.onPointerLeave,()=>c("POINTER_LEAVE"))})))}),l$=x.forwardRef((t,e)=>{const n=si(Li,t.__scopeScrollArea),{forceMount:r,...i}=t,[o,s]=x.useState(!1),a=t.orientation==="horizontal",c=yh(()=>{if(n.viewport){const d=n.viewport.offsetWidth<n.viewport.scrollWidth,h=n.viewport.offsetHeight<n.viewport.scrollHeight;s(a?d:h)}},10);return Md(n.viewport,c),Md(n.content,c),x.createElement(Yt,{present:r||o},x.createElement(wm,X({"data-state":o?"visible":"hidden"},i,{ref:e})))}),wm=x.forwardRef((t,e)=>{const{orientation:n="vertical",...r}=t,i=si(Li,t.__scopeScrollArea),o=x.useRef(null),s=x.useRef(0),[a,c]=x.useState({content:0,viewport:0,scrollbar:{size:0,paddingStart:0,paddingEnd:0}}),d=d$(a.viewport,a.content),h={...r,sizes:a,onSizesChange:c,hasThumb:d>0&&d<1,onThumbChange:m=>o.current=m,onThumbPointerUp:()=>s.current=0,onThumbPointerDown:m=>s.current=m};function g(m,b){return mY(m,s.current,a,b)}return n==="horizontal"?x.createElement(dY,X({},h,{ref:e,onThumbPositionChange:()=>{if(i.viewport&&o.current){const m=i.viewport.scrollLeft,b=Xv(m,a,i.dir);o.current.style.transform=`translate3d(${b}px, 0, 0)`}},onWheelScroll:m=>{i.viewport&&(i.viewport.scrollLeft=m)},onDragScroll:m=>{i.viewport&&(i.viewport.scrollLeft=g(m,i.dir))}})):n==="vertical"?x.createElement(hY,X({},h,{ref:e,onThumbPositionChange:()=>{if(i.viewport&&o.current){const m=i.viewport.scrollTop,b=Xv(m,a);o.current.style.transform=`translate3d(0, ${b}px, 0)`}},onWheelScroll:m=>{i.viewport&&(i.viewport.scrollTop=m)},onDragScroll:m=>{i.viewport&&(i.viewport.scrollTop=g(m))}})):null}),dY=x.forwardRef((t,e)=>{const{sizes:n,onSizesChange:r,...i}=t,o=si(Li,t.__scopeScrollArea),[s,a]=x.useState(),c=x.useRef(null),d=Ve(e,c,o.onScrollbarXChange);return x.useEffect(()=>{c.current&&a(getComputedStyle(c.current))},[c]),x.createElement(u$,X({"data-orientation":"horizontal"},i,{ref:d,sizes:n,style:{bottom:0,left:o.dir==="rtl"?"var(--radix-scroll-area-corner-width)":0,right:o.dir==="ltr"?"var(--radix-scroll-area-corner-width)":0,"--radix-scroll-area-thumb-width":wh(n)+"px",...t.style},onThumbPointerDown:h=>t.onThumbPointerDown(h.x),onDragScroll:h=>t.onDragScroll(h.x),onWheelScroll:(h,g)=>{if(o.viewport){const m=o.viewport.scrollLeft+h.deltaX;t.onWheelScroll(m),f$(m,g)&&h.preventDefault()}},onResize:()=>{c.current&&o.viewport&&s&&r({content:o.viewport.scrollWidth,viewport:o.viewport.offsetWidth,scrollbar:{size:c.current.clientWidth,paddingStart:Ed(s.paddingLeft),paddingEnd:Ed(s.paddingRight)}})}}))}),hY=x.forwardRef((t,e)=>{const{sizes:n,onSizesChange:r,...i}=t,o=si(Li,t.__scopeScrollArea),[s,a]=x.useState(),c=x.useRef(null),d=Ve(e,c,o.onScrollbarYChange);return x.useEffect(()=>{c.current&&a(getComputedStyle(c.current))},[c]),x.createElement(u$,X({"data-orientation":"vertical"},i,{ref:d,sizes:n,style:{top:0,right:o.dir==="ltr"?0:void 0,left:o.dir==="rtl"?0:void 0,bottom:"var(--radix-scroll-area-corner-height)","--radix-scroll-area-thumb-height":wh(n)+"px",...t.style},onThumbPointerDown:h=>t.onThumbPointerDown(h.y),onDragScroll:h=>t.onDragScroll(h.y),onWheelScroll:(h,g)=>{if(o.viewport){const m=o.viewport.scrollTop+h.deltaY;t.onWheelScroll(m),f$(m,g)&&h.preventDefault()}},onResize:()=>{c.current&&o.viewport&&s&&r({content:o.viewport.scrollHeight,viewport:o.viewport.offsetHeight,scrollbar:{size:c.current.clientHeight,paddingStart:Ed(s.paddingTop),paddingEnd:Ed(s.paddingBottom)}})}}))}),[fY,c$]=a$(Li),u$=x.forwardRef((t,e)=>{const{__scopeScrollArea:n,sizes:r,hasThumb:i,onThumbChange:o,onThumbPointerUp:s,onThumbPointerDown:a,onThumbPositionChange:c,onDragScroll:d,onWheelScroll:h,onResize:g,...m}=t,b=si(Li,n),[v,w]=x.useState(null),y=Ve(e,V=>w(V)),$=x.useRef(null),A=x.useRef(""),k=b.viewport,I=r.content-r.viewport,E=Jt(h),L=Jt(c),D=yh(g,10);function H(V){if($.current){const z=V.clientX-$.current.left,q=V.clientY-$.current.top;d({x:z,y:q})}}return x.useEffect(()=>{const V=z=>{const q=z.target;v?.contains(q)&&E(z,I)};return document.addEventListener("wheel",V,{passive:!1}),()=>document.removeEventListener("wheel",V,{passive:!1})},[k,v,I,E]),x.useEffect(L,[r,L]),Md(v,D),Md(b.content,D),x.createElement(fY,{scope:n,scrollbar:v,hasThumb:i,onThumbChange:Jt(o),onThumbPointerUp:Jt(s),onThumbPositionChange:L,onThumbPointerDown:Jt(a)},x.createElement(_e.div,X({},m,{ref:y,style:{position:"absolute",...m.style},onPointerDown:ge(t.onPointerDown,V=>{V.button===0&&(V.target.setPointerCapture(V.pointerId),$.current=v.getBoundingClientRect(),A.current=document.body.style.webkitUserSelect,document.body.style.webkitUserSelect="none",b.viewport&&(b.viewport.style.scrollBehavior="auto"),H(V))}),onPointerMove:ge(t.onPointerMove,H),onPointerUp:ge(t.onPointerUp,V=>{const z=V.target;z.hasPointerCapture(V.pointerId)&&z.releasePointerCapture(V.pointerId),document.body.style.webkitUserSelect=A.current,b.viewport&&(b.viewport.style.scrollBehavior=""),$.current=null})})))}),vg="ScrollAreaThumb",gY=x.forwardRef((t,e)=>{const{forceMount:n,...r}=t,i=c$(vg,t.__scopeScrollArea);return x.createElement(Yt,{present:n||i.hasThumb},x.createElement(pY,X({ref:e},r)))}),pY=x.forwardRef((t,e)=>{const{__scopeScrollArea:n,style:r,...i}=t,o=si(vg,n),s=c$(vg,n),{onThumbPositionChange:a}=s,c=Ve(e,g=>s.onThumbChange(g)),d=x.useRef(),h=yh(()=>{d.current&&(d.current(),d.current=void 0)},100);return x.useEffect(()=>{const g=o.viewport;if(g){const m=()=>{if(h(),!d.current){const b=bY(g,a);d.current=b,a()}};return a(),g.addEventListener("scroll",m),()=>g.removeEventListener("scroll",m)}},[o.viewport,h,a]),x.createElement(_e.div,X({"data-state":s.hasThumb?"visible":"hidden"},i,{ref:c,style:{width:"var(--radix-scroll-area-thumb-width)",height:"var(--radix-scroll-area-thumb-height)",...r},onPointerDownCapture:ge(t.onPointerDownCapture,g=>{const b=g.target.getBoundingClientRect(),v=g.clientX-b.left,w=g.clientY-b.top;s.onThumbPointerDown({x:v,y:w})}),onPointerUp:ge(t.onPointerUp,s.onThumbPointerUp)}))});function Ed(t){return t?parseInt(t,10):0}function d$(t,e){const n=t/e;return isNaN(n)?0:n}function wh(t){const e=d$(t.viewport,t.content),n=t.scrollbar.paddingStart+t.scrollbar.paddingEnd,r=(t.scrollbar.size-n)*e;return Math.max(r,18)}function mY(t,e,n,r="ltr"){const i=wh(n),o=i/2,s=e||o,a=i-s,c=n.scrollbar.paddingStart+s,d=n.scrollbar.size-n.scrollbar.paddingEnd-a,h=n.content-n.viewport,g=r==="ltr"?[0,h]:[h*-1,0];return h$([c,d],g)(t)}function Xv(t,e,n="ltr"){const r=wh(e),i=e.scrollbar.paddingStart+e.scrollbar.paddingEnd,o=e.scrollbar.size-i,s=e.content-e.viewport,a=o-r,c=n==="ltr"?[0,s]:[s*-1,0],d=d1(t,c);return h$([0,s],[0,a])(d)}function h$(t,e){return n=>{if(t[0]===t[1]||e[0]===e[1])return e[0];const r=(e[1]-e[0])/(t[1]-t[0]);return e[0]+r*(n-t[0])}}function f$(t,e){return t>0&&t<e}const bY=(t,e=()=>{})=>{let n={left:t.scrollLeft,top:t.scrollTop},r=0;return function i(){const o={left:t.scrollLeft,top:t.scrollTop},s=n.left!==o.left,a=n.top!==o.top;(s||a)&&e(),n=o,r=window.requestAnimationFrame(i)}(),()=>window.cancelAnimationFrame(r)};function yh(t,e){const n=Jt(t),r=x.useRef(0);return x.useEffect(()=>()=>window.clearTimeout(r.current),[]),x.useCallback(()=>{window.clearTimeout(r.current),r.current=window.setTimeout(n,e)},[n,e])}function Md(t,e){const n=Jt(e);Ot(()=>{let r=0;if(t){const i=new ResizeObserver(()=>{cancelAnimationFrame(r),r=window.requestAnimationFrame(n)});return i.observe(t),()=>{window.cancelAnimationFrame(r),i.unobserve(t)}}},[t,n])}const xY=oY,vY=aY,wY=lY,yY=gY;let H0=new Map,wg=!1;try{wg=new Intl.NumberFormat("de-DE",{signDisplay:"exceptZero"}).resolvedOptions().signDisplay==="exceptZero"}catch{}let Id=!1;try{Id=new Intl.NumberFormat("de-DE",{style:"unit",unit:"degree"}).resolvedOptions().style==="unit"}catch{}const g$={degree:{narrow:{default:"°","ja-JP":" 度","zh-TW":"度","sl-SI":" °"}}};class p${format(e){let n="";if(!wg&&this.options.signDisplay!=null?n=$Y(this.numberFormatter,this.options.signDisplay,e):n=this.numberFormatter.format(e),this.options.style==="unit"&&!Id){var r;let{unit:i,unitDisplay:o="short",locale:s}=this.resolvedOptions();if(!i)return n;let a=(r=g$[i])===null||r===void 0?void 0:r[o];n+=a[s]||a.default}return n}formatToParts(e){return this.numberFormatter.formatToParts(e)}formatRange(e,n){if(typeof this.numberFormatter.formatRange=="function")return this.numberFormatter.formatRange(e,n);if(n<e)throw new RangeError("End date must be >= start date");return`${this.format(e)} – ${this.format(n)}`}formatRangeToParts(e,n){if(typeof this.numberFormatter.formatRangeToParts=="function")return this.numberFormatter.formatRangeToParts(e,n);if(n<e)throw new RangeError("End date must be >= start date");let r=this.numberFormatter.formatToParts(e),i=this.numberFormatter.formatToParts(n);return[...r.map(o=>({...o,source:"startRange"})),{type:"literal",value:" – ",source:"shared"},...i.map(o=>({...o,source:"endRange"}))]}resolvedOptions(){let e=this.numberFormatter.resolvedOptions();return!wg&&this.options.signDisplay!=null&&(e={...e,signDisplay:this.options.signDisplay}),!Id&&this.options.style==="unit"&&(e={...e,style:"unit",unit:this.options.unit,unitDisplay:this.options.unitDisplay}),e}constructor(e,n={}){this.numberFormatter=CY(e,n),this.options=n}}function CY(t,e={}){let{numberingSystem:n}=e;if(n&&t.includes("-nu-")&&(t.includes("-u-")||(t+="-u-"),t+=`-nu-${n}`),e.style==="unit"&&!Id){var r;let{unit:s,unitDisplay:a="short"}=e;if(!s)throw new Error('unit option must be provided with style: "unit"');if(!(!((r=g$[s])===null||r===void 0)&&r[a]))throw new Error(`Unsupported unit ${s} with unitDisplay = ${a}`);e={...e,style:"decimal"}}let i=t+(e?Object.entries(e).sort((s,a)=>s[0]<a[0]?-1:1).join():"");if(H0.has(i))return H0.get(i);let o=new Intl.NumberFormat(t,e);return H0.set(i,o),o}function $Y(t,e,n){if(e==="auto")return t.format(n);if(e==="never")return t.format(Math.abs(n));{let r=!1;if(e==="always"?r=n>0||Object.is(n,0):e==="exceptZero"&&(Object.is(n,-0)||Object.is(n,0)?n=Math.abs(n):r=n>0),r){let i=t.format(-n),o=t.format(n),s=i.replace(o,"").replace(/\u200e|\u061C/,"");return[...s].length!==1&&console.warn("@react-aria/i18n polyfill for NumberFormat signDisplay: Unsupported case"),i.replace(o,"!!!").replace(s,"+").replace("!!!",o)}else return t.format(n)}}const SY=new RegExp("^.*\\(.*\\).*$"),AY=["latn","arab","hanidec"];class m${parse(e){return z0(this.locale,this.options,e).parse(e)}isValidPartialNumber(e,n,r){return z0(this.locale,this.options,e).isValidPartialNumber(e,n,r)}getNumberingSystem(e){return z0(this.locale,this.options,e).options.numberingSystem}constructor(e,n={}){this.locale=e,this.options=n}}const Qv=new Map;function z0(t,e,n){let r=Zv(t,e);if(!t.includes("-nu-")&&!r.isValidPartialNumber(n)){for(let i of AY)if(i!==r.options.numberingSystem){let o=Zv(t+(t.includes("-u-")?"-nu-":"-u-nu-")+i,e);if(o.isValidPartialNumber(n))return o}}return r}function Zv(t,e){let n=t+(e?Object.entries(e).sort((i,o)=>i[0]<o[0]?-1:1).join():""),r=Qv.get(n);return r||(r=new RY(t,e),Qv.set(n,r)),r}class RY{parse(e){let n=this.sanitize(e);if(this.symbols.group&&(n=ku(n,this.symbols.group,"")),this.symbols.decimal&&(n=n.replace(this.symbols.decimal,".")),this.symbols.minusSign&&(n=n.replace(this.symbols.minusSign,"-")),n=n.replace(this.symbols.numeral,this.symbols.index),this.options.style==="percent"){let s=n.indexOf("-");n=n.replace("-","");let a=n.indexOf(".");a===-1&&(a=n.length),n=n.replace(".",""),a-2===0?n=`0.${n}`:a-2===-1?n=`0.0${n}`:a-2===-2?n="0.00":n=`${n.slice(0,a-2)}.${n.slice(a-2)}`,s>-1&&(n=`-${n}`)}let r=n?+n:NaN;if(isNaN(r))return NaN;if(this.options.style==="percent"){var i,o;let s={...this.options,style:"decimal",minimumFractionDigits:Math.min(((i=this.options.minimumFractionDigits)!==null&&i!==void 0?i:0)+2,20),maximumFractionDigits:Math.min(((o=this.options.maximumFractionDigits)!==null&&o!==void 0?o:0)+2,20)};return new m$(this.locale,s).parse(new p$(this.locale,s).format(r))}return this.options.currencySign==="accounting"&&SY.test(e)&&(r=-1*r),r}sanitize(e){return e=e.replace(this.symbols.literals,""),this.symbols.minusSign&&(e=e.replace("-",this.symbols.minusSign)),this.options.numberingSystem==="arab"&&(this.symbols.decimal&&(e=e.replace(",",this.symbols.decimal),e=e.replace("،",this.symbols.decimal)),this.symbols.group&&(e=ku(e,".",this.symbols.group))),this.options.locale==="fr-FR"&&(e=ku(e,"."," ")),e}isValidPartialNumber(e,n=-1/0,r=1/0){return e=this.sanitize(e),this.symbols.minusSign&&e.startsWith(this.symbols.minusSign)&&n<0?e=e.slice(this.symbols.minusSign.length):this.symbols.plusSign&&e.startsWith(this.symbols.plusSign)&&r>0&&(e=e.slice(this.symbols.plusSign.length)),this.symbols.group&&e.startsWith(this.symbols.group)||this.symbols.decimal&&e.indexOf(this.symbols.decimal)>-1&&this.options.maximumFractionDigits===0?!1:(this.symbols.group&&(e=ku(e,this.symbols.group,"")),e=e.replace(this.symbols.numeral,""),this.symbols.decimal&&(e=e.replace(this.symbols.decimal,"")),e.length===0)}constructor(e,n={}){this.locale=e,this.formatter=new Intl.NumberFormat(e,n),this.options=this.formatter.resolvedOptions(),this.symbols=kY(e,this.formatter,this.options,n);var r,i;this.options.style==="percent"&&(((r=this.options.minimumFractionDigits)!==null&&r!==void 0?r:0)>18||((i=this.options.maximumFractionDigits)!==null&&i!==void 0?i:0)>18)&&console.warn("NumberParser cannot handle percentages with greater than 18 decimal places, please reduce the number in your options.")}}const Jv=new Set(["decimal","fraction","integer","minusSign","plusSign","group"]),TY=[0,4,2,1,11,20,3,7,100,21,.1,1.1];function kY(t,e,n,r){var i,o,s,a;let c=new Intl.NumberFormat(t,{...n,minimumSignificantDigits:1,maximumSignificantDigits:21}),d=c.formatToParts(-10000.111),h=c.formatToParts(10000.111),g=TY.map(z=>c.formatToParts(z));var m;let b=(m=(i=d.find(z=>z.type==="minusSign"))===null||i===void 0?void 0:i.value)!==null&&m!==void 0?m:"-",v=(o=h.find(z=>z.type==="plusSign"))===null||o===void 0?void 0:o.value;!v&&(r?.signDisplay==="exceptZero"||r?.signDisplay==="always")&&(v="+");let y=(s=new Intl.NumberFormat(t,{...n,minimumFractionDigits:2,maximumFractionDigits:2}).formatToParts(.001).find(z=>z.type==="decimal"))===null||s===void 0?void 0:s.value,$=(a=d.find(z=>z.type==="group"))===null||a===void 0?void 0:a.value,A=d.filter(z=>!Jv.has(z.type)).map(z=>ew(z.value)),k=g.flatMap(z=>z.filter(q=>!Jv.has(q.type)).map(q=>ew(q.value))),I=[...new Set([...A,...k])].sort((z,q)=>q.length-z.length),E=I.length===0?new RegExp("[\\p{White_Space}]","gu"):new RegExp(`${I.join("|")}|[\\p{White_Space}]`,"gu"),L=[...new Intl.NumberFormat(n.locale,{useGrouping:!1}).format(9876543210)].reverse(),D=new Map(L.map((z,q)=>[z,q])),H=new RegExp(`[${L.join("")}]`,"g");return{minusSign:b,plusSign:v,decimal:y,group:$,literals:E,numeral:H,index:z=>String(D.get(z))}}function ku(t,e,n){return t.replaceAll?t.replaceAll(e,n):t.split(e).join(n)}function ew(t){return t.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}const b$="Popover",[x$,qre]=Vt(b$,[uo]),v$=uo(),[Kre,ba]=x$(b$),EY="PopoverTrigger",MY=x.forwardRef((t,e)=>{const{__scopePopover:n,...r}=t,i=ba(EY,n),o=v$(n),s=Ve(e,i.triggerRef),a=x.createElement(_e.button,X({type:"button","aria-haspopup":"dialog","aria-expanded":i.open,"aria-controls":i.contentId,"data-state":C$(i.open)},r,{ref:s,onClick:ge(t.onClick,i.onOpenToggle)}));return i.hasCustomAnchor?a:x.createElement(_l,X({asChild:!0},o),a)}),w$="PopoverPortal",[IY,OY]=x$(w$,{forceMount:void 0}),DY=t=>{const{__scopePopover:e,forceMount:n,children:r,container:i}=t,o=ba(w$,e);return x.createElement(IY,{scope:e,forceMount:n},x.createElement(Yt,{present:n||o.open},x.createElement(ua,{asChild:!0,container:i},r)))},Il="PopoverContent",LY=x.forwardRef((t,e)=>{const n=OY(Il,t.__scopePopover),{forceMount:r=n.forceMount,...i}=t,o=ba(Il,t.__scopePopover);return x.createElement(Yt,{present:r||o.open},o.modal?x.createElement(jY,X({},i,{ref:e})):x.createElement(_Y,X({},i,{ref:e})))}),jY=x.forwardRef((t,e)=>{const n=ba(Il,t.__scopePopover),r=x.useRef(null),i=Ve(e,r),o=x.useRef(!1);return x.useEffect(()=>{const s=r.current;if(s)return Pl(s)},[]),x.createElement(rh,{as:Qr,allowPinchZoom:!0},x.createElement(y$,X({},t,{ref:i,trapFocus:n.open,disableOutsidePointerEvents:!0,onCloseAutoFocus:ge(t.onCloseAutoFocus,s=>{var a;s.preventDefault(),o.current||(a=n.triggerRef.current)===null||a===void 0||a.focus()}),onPointerDownOutside:ge(t.onPointerDownOutside,s=>{const a=s.detail.originalEvent,c=a.button===0&&a.ctrlKey===!0,d=a.button===2||c;o.current=d},{checkForDefaultPrevented:!1}),onFocusOutside:ge(t.onFocusOutside,s=>s.preventDefault(),{checkForDefaultPrevented:!1})})))}),_Y=x.forwardRef((t,e)=>{const n=ba(Il,t.__scopePopover),r=x.useRef(!1),i=x.useRef(!1);return x.createElement(y$,X({},t,{ref:e,trapFocus:!1,disableOutsidePointerEvents:!1,onCloseAutoFocus:o=>{var s;if((s=t.onCloseAutoFocus)===null||s===void 0||s.call(t,o),!o.defaultPrevented){var a;r.current||(a=n.triggerRef.current)===null||a===void 0||a.focus(),o.preventDefault()}r.current=!1,i.current=!1},onInteractOutside:o=>{var s,a;(s=t.onInteractOutside)===null||s===void 0||s.call(t,o),o.defaultPrevented||(r.current=!0,o.detail.originalEvent.type==="pointerdown"&&(i.current=!0));const c=o.target;((a=n.triggerRef.current)===null||a===void 0?void 0:a.contains(c))&&o.preventDefault(),o.detail.originalEvent.type==="focusin"&&i.current&&o.preventDefault()}}))}),y$=x.forwardRef((t,e)=>{const{__scopePopover:n,trapFocus:r,onOpenAutoFocus:i,onCloseAutoFocus:o,disableOutsidePointerEvents:s,onEscapeKeyDown:a,onPointerDownOutside:c,onFocusOutside:d,onInteractOutside:h,...g}=t,m=ba(Il,n),b=v$(n);return Fl(),x.createElement(da,{asChild:!0,loop:!0,trapped:r,onMountAutoFocus:i,onUnmountAutoFocus:o},x.createElement(Yo,{asChild:!0,disableOutsidePointerEvents:s,onInteractOutside:h,onEscapeKeyDown:a,onPointerDownOutside:c,onFocusOutside:d,onDismiss:()=>m.onOpenChange(!1)},x.createElement(Nl,X({"data-state":C$(m.open),role:"dialog",id:m.contentId},b,g,{ref:e,style:{...g.style,"--radix-popover-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-popover-content-available-width":"var(--radix-popper-available-width)","--radix-popover-content-available-height":"var(--radix-popper-available-height)","--radix-popover-trigger-width":"var(--radix-popper-anchor-width)","--radix-popover-trigger-height":"var(--radix-popper-anchor-height)"}}))))});function C$(t){return t?"open":"closed"}const NY=MY,BY=DY,FY=LY,$$="Progress",Ch=100,[PY,Gre]=Vt($$),[VY,HY]=PY($$),S$=x.forwardRef((t,e)=>{const{__scopeProgress:n,value:r,max:i,getValueLabel:o=UY,...s}=t,a=yg(i)?i:Ch,c=R$(r,a)?r:null,d=Od(c)?o(c,a):void 0;return x.createElement(VY,{scope:n,value:c,max:a},x.createElement(_e.div,X({"aria-valuemax":a,"aria-valuemin":0,"aria-valuenow":Od(c)?c:void 0,"aria-valuetext":d,role:"progressbar","data-state":A$(c,a),"data-value":c??void 0,"data-max":a},s,{ref:e})))});S$.propTypes={max(t,e,n){const r=t[e],i=String(r);return r&&!yg(r)?new Error(qY(i,n)):null},value(t,e,n){const r=t[e],i=String(r),o=yg(t.max)?t.max:Ch;return r!=null&&!R$(r,o)?new Error(KY(i,n)):null}};const zY="ProgressIndicator",WY=x.forwardRef((t,e)=>{var n;const{__scopeProgress:r,...i}=t,o=HY(zY,r);return x.createElement(_e.div,X({"data-state":A$(o.value,o.max),"data-value":(n=o.value)!==null&&n!==void 0?n:void 0,"data-max":o.max},i,{ref:e}))});function UY(t,e){return`${Math.round(t/e*100)}%`}function A$(t,e){return t==null?"indeterminate":t===e?"complete":"loading"}function Od(t){return typeof t=="number"}function yg(t){return Od(t)&&!isNaN(t)&&t>0}function R$(t,e){return Od(t)&&!isNaN(t)&&t<=e&&t>=0}function qY(t,e){return`Invalid prop \`max\` of value \`${t}\` supplied to \`${e}\`. Only numbers greater than 0 are valid max values. Defaulting to \`${Ch}\`.`}function KY(t,e){return`Invalid prop \`value\` of value \`${t}\` supplied to \`${e}\`. The \`value\` prop must be:
65
65
  - a positive number
66
66
  - less than the value passed to \`max\` (or ${Ch} if no \`max\` prop is set)
@@ -2303,7 +2303,7 @@ ${T.css`
2303
2303
  border-left: 4px solid ${e.colors.neutral300};
2304
2304
  }
2305
2305
  `};
2306
- `,e8=({isParentAttachedToMenu:t=!1,items:e,level:n=0,levelPath:r="",onItemEdit:i,onItemLevelAdd:o,onItemRemove:s,onItemRestore:a,onItemReOrder:c,onItemToggleCollapse:d,displayFlat:h,permissions:g,structurePrefix:m,viewParentId:b,locale:v})=>f.jsx(Fne,{"data-level":n,children:e?.map((w,y)=>f.jsx(Bne,{item:w,isLast:y===e.length-1,level:n,levelPath:r,isParentAttachedToMenu:t,onItemRestore:a,onItemLevelAdd:o,onItemRemove:s,onItemEdit:i,onItemReOrder:c,onItemToggleCollapse:d,displayChildren:h,permissions:g,structureId:m?`${m}.${y}`:y.toString(),viewParentId:b,locale:v},`list-item-${w.viewId||y}`))}),Pne="",Vne={type:"media",multiple:!1,required:!1,allowedTypes:["images"],pluginOptions:{i18n:{localized:!1}}},Hne=({name:t,field:e,isLoading:n,onChange:r,onChangeEnhancer:i,value:o,disabled:s})=>{const{toggleNotification:a}=Ke.useNotification(),{formatMessage:c}=mt.useIntl(),h=Ke.useStrapiApp("AdditionalFieldInput",m=>m.fields).media,g=x.useMemo(()=>({id:e.name,name:t||e.name,disabled:n||s}),[e,n]);switch(x.useEffect(()=>{e.type==="media"&&i(g.name,o,r)},[o]),e.type){case"boolean":return f.jsx(Kr,{...g,checked:!!o,onChange:m=>i(m,!o,r),onLabel:"true",offLabel:"false",type:"checkbox"});case"string":return f.jsx(co,{...g,onChange:(m,b)=>i(m,b,r),value:o||Pne});case"select":return e.multi?f.jsx(Ms,{...g,onChange:m=>i(g.name,m,r),value:Me.isNil(o)?e.multi?[]:null:o,multi:e.multi,withTags:e.multi,children:e.options.map((m,b)=>f.jsx(Oo,{value:m,children:m},`${e.name}-option-${b}`))}):f.jsx(Sr,{...g,onChange:m=>i(g.name,m,r),value:Me.isNil(o)?e.multi?[]:null:o,multi:e.multi,withTags:e.multi,children:e.options.map((m,b)=>f.jsx(Ar,{value:m,children:m},`${e.name}-option-${b}`))});case"media":return f.jsx(h,{...g,...Vne,value:o});default:throw a({type:"warning",message:c(B("notification.error.customField.type"))}),new Error("Type of custom field is unsupported")}},zne=({handleCancel:t,handleSubmit:e,submitDisabled:n,canUpdate:r})=>{const{formatMessage:i}=mt.useIntl();return r?f.jsxs(tn.Footer,{children:[f.jsx(tn.Close,{children:f.jsx(jt,{onClick:t,variant:"tertiary",children:i(B("popup.item.form.button.cancel"))})}),f.jsx(jt,{onClick:e,disabled:n,children:i(B("popup.item.form.button.save"))})]}):null},Wne=[/^mailto:[\w-\.]+@([\w-]+\.)+[\w-]{2,}$/,/^tel:(\+\d{1,3})?[\s]?(\(?\d{2,3}\)?)?[\s.-]?(\d{3})?[\s.-]?\d{3,4}$/,/^#.*/,/(https?:\/\/(?:www\.|(?!www))[a-zA-Z0-9][a-zA-Z0-9-]+[a-zA-Z0-9]\.[^\s]{2,}|www\.[a-zA-Z0-9][a-zA-Z0-9-]+[a-zA-Z0-9]\.[^\s]{2,}|https?:\/\/(?:www\.|(?!www))[a-zA-Z0-9]+\.[^\s]{2,}|www\.[a-zA-Z0-9]+\.[^\s]{2,})/],Bm=({additionalFields:t})=>J.z.object({title:J.z.string(),autoSync:J.z.boolean().optional(),removed:J.z.boolean().optional(),updated:J.z.boolean().optional(),uiRouterKey:J.z.string(),levelPath:J.z.string().optional(),isMenuAllowedLevel:J.z.boolean().optional(),parentAttachedToMenu:J.z.boolean().optional(),viewId:J.z.number().optional(),structureId:J.z.string().optional(),menuAttached:J.z.boolean().optional(),collapsed:J.z.boolean().optional(),isSearchActive:J.z.boolean().optional(),viewParentId:J.z.number().optional(),id:J.z.number().optional(),documentId:J.z.string().optional(),audience:J.z.string().array().optional(),order:J.z.number().optional(),items:J.z.any().array().optional(),additionalFields:J.z.object(t.reduce((e,n)=>{if(typeof n=="string")return e;switch(n.type){case"string":e[n.name]=n.required?J.z.string():J.z.string().optional();break;case"boolean":e[n.name]=n.required?J.z.boolean():J.z.boolean().optional();case"media":e[n.name]=n.required?J.z.any():J.z.any().optional();case"select":{n.multi?e[n.name]=n.required?J.z.string().array():J.z.string().array().optional():e[n.name]=n.required?J.z.string():J.z.string().optional();break}}return e},{}))}),Une=({additionalFields:t,isSingleSelected:e})=>Bm({additionalFields:t,isSingleSelected:e}).extend({type:J.z.literal("INTERNAL"),path:J.z.string(),externalPath:J.z.string().optional(),relatedType:J.z.string(),related:e?J.z.string().optional():J.z.string()}),qne=({isSingleSelected:t,additionalFields:e})=>Bm({additionalFields:e,isSingleSelected:t}).extend({type:J.z.literal("EXTERNAL"),path:J.z.string().or(J.z.null()).optional(),externalPath:J.z.string().min(1).refine(n=>Wne.some(r=>r.test(n))),relatedType:J.z.string().optional(),related:J.z.string().optional()}),Kne=({isSingleSelected:t,additionalFields:e})=>Bm({additionalFields:e,isSingleSelected:t}).extend({type:J.z.literal("WRAPPER"),path:J.z.string().or(J.z.null()).optional()}),Gne=t=>J.z.discriminatedUnion("type",[qne(t),Une(t),Kne(t)]),$w={autoSync:!0,type:"INTERNAL",relatedType:"",menuAttached:!1,title:"",externalPath:"",path:"",additionalFields:{},audience:[],updated:!1,uiRouterKey:""},Yne=()=>{const t=Ke.getFetchClient(),e=Wt(t);return pt.useMutation({mutationFn(n){return e.slugify(n)}})},Xne=async({slugify:t,title:e,config:n,related:r,relatedType:i,contentTypeItems:o})=>{if(e)return e?await t(e):void 0;if(r){const s=Nd({...o?.find(a=>a.documentId===r.toString())??{documentId:"",id:0},__collectionUid:i},n);return s?await t(s):void 0}},Qne=({currentType:t,config:e,contentTypeItems:n,currentRelated:r,currentRelatedType:i,isSingleSelected:o})=>{if(t!=="INTERNAL"||!i)return"";const s=e?.pathDefaultFields[i]??[];if(Me.isEmpty(t)&&!Me.isEmpty(s)){const a=o?Me.first(n??[]):n?.find(({id:d})=>d===r);return s.map(d=>a?.[d]??"").filter(d=>!!d.toString().trim())[0]??""}return""},Zne=({currentPath:t,isExternal:e,current:n,currentType:r="INTERNAL",config:i,contentTypeItems:o,currentRelated:s,currentRelatedType:a,isSingleSelected:c})=>{if(!e){const d=Me.isEmpty(t)||t==="/"?Qne({currentType:r,config:i,contentTypeItems:o,currentRelated:s,currentRelatedType:a,isSingleSelected:c}):t||"";return`${n.levelPath!=="/"?`${n.levelPath}`:""}/${d}`.replace("//","/")}},Jne=[],ere=({availableLocale:t,isLoading:e,current:n=$w,onSubmit:r,onCancel:i,appendLabelPublicationStatus:o=tre,locale:s,permissions:a={},currentNavigation:c})=>{const{formatMessage:d}=mt.useIntl(),[h,g]=x.useState(e),{canUpdate:m}=a,[b,v]=x.useState(!1),[w,y]=x.useState(),[$,A]=x.useState({}),[k,I]=x.useState(),E=rc(),L=E.data?.availableAudience??[],D=E.data?.contentTypes??[],{toggleNotification:H}=Ke.useNotification(),V=Gte(),z=jm(),q=(oe,je,qe)=>{if(qe){let We=oe,be=je;if(Me.isObject(oe)){const{name:Ue,value:tt}=oe.target;We=Ue,be=Me.isNil(be)?tt:be}return Me.isString(We)&&W(We,be),qe(oe,be)}},W=(oe,je)=>{A(Me.set({...$,additionalFields:{...$.additionalFields},updated:!0},oe,je))},Z=oe=>({...oe,additionalFields:E.data?.additionalFields.reduce((je,qe)=>{const{name:We,type:be}=qe;if(We in(oe.additionalFields??{})){let Ue=oe.additionalFields[We];switch(be){case"boolean":Ue=Me.isBoolean(Ue)?`${Ue}`:Ue;break;case"media":Ue=Ue&&JSON.stringify(Ue);break}return{...je,[We]:Ue}}return je},{})||{}}),K=oe=>({...oe,additionalFields:E.data?.additionalFields.reduce((je,qe)=>{const{name:We,type:be}=qe;if(We in(oe.additionalFields??{})){let Ue=oe.additionalFields[We];switch(be){case"boolean":Ue=Ue==="true";break;case"media":Ue=Ue&&JSON.parse(Ue);break}return{...je,[We]:Ue}}return je},{})||{}}),le=async(oe,je)=>{oe.preventDefault();const qe=Z(je),{success:We,data:be,error:Ue}=Gne({isSingleSelected:b,additionalFields:E.data?.additionalFields??Jne}).safeParse(qe);if(We){const tt=be.title.trim()?be.title.trim():be.type==="INTERNAL"?ye(be?.related?.toString(),be.relatedType,b):"";g(!0);const Xt=await Xne(be.type==="INTERNAL"?{slugify:xe.mutateAsync,title:tt,related:be.related,relatedType:be.relatedType}:{slugify:xe.mutateAsync,title:tt});if(xe.reset(),g(!1),!Xt){H({type:"warning",message:d(B("popup.item.form.uiRouter.unableToRender"))});return}r(be.type==="INTERNAL"?{...be,title:tt,uiRouterKey:Xt}:{...be,title:tt,uiRouterKey:Xt})}else Ue&&I(Ue.issues.reduce((tt,Xt)=>({...tt,[Xt.path.join(".")]:Xt.message}),{}))},ce=(oe,je)=>Me.get(k,oe)?d(B(je??oe)):void 0,se=n.type==="INTERNAL"?n.relatedType:void 0,{path:ue,type:Y,title:me,autoSync:$e}=$,{relatedType:Ne,related:Oe}=$.type==="INTERNAL"?$:{related:void 0,relatedType:void 0},te=Y==="EXTERNAL",ve=Y==="INTERNAL",de=te?"externalPath":"path",ee=ve&&!b&&Me.isNil(Oe)||h,we=GS({uid:Ne??"",locale:s}),xe=Yne(),he=x.useMemo(()=>t.map((oe,je)=>({key:`${oe}-${je}`,value:oe,label:oe})),[t]),De=x.useMemo(()=>L.map(oe=>({value:oe.documentId??0,label:oe.name??" "})),[L]),ye=x.useCallback((oe,je,qe)=>{let We;if(qe){if(We=we.data?.find(be=>be.uid===je||be.__collectionUid===je),!We)return D.find(be=>be.uid===je)?.contentTypeName}else We={...we.data?.find(({documentId:Ue})=>Ue===oe)||{documentId:null},__collectionUid:je};return Nd(We,E.data)},[we.data,E.data,D]),rt=(E.data?.contentTypes.length?["INTERNAL","EXTERNAL","WRAPPER"]:["EXTERNAL","WRAPPER"]).map(oe=>({key:oe,value:oe,label:d(B(`popup.item.form.type.${oe.toLowerCase()}.label`))})),Ge=Me.sortBy(we.data?.map(oe=>{const je=o(Nd({...oe,__collectionUid:Ne},E.data),oe,!1);return{key:oe?.documentId?.toString(),value:oe?.documentId?.toString(),label:je}})??[],oe=>oe.key),Rt=x.useMemo(()=>Me.sortBy(E.data?.contentTypes?.filter(oe=>oe.isSingle?!!(Ne&&[Ne,se].includes(oe.uid)):!0).map(oe=>({key:oe.uid,value:oe.uid,label:oe.contentTypeName})),oe=>oe.key),[E.data,Ne]),Se=Me.isEmpty(Ge),it=x.useCallback(async oe=>{oe.preventDefault(),oe.stopPropagation();const je=z.data?.find(({locale:qe})=>qe===w);je&&(g(!0),V.mutate({target:c.documentId,structureId:n.structureId,source:je.documentId},{onSuccess(qe){V.reset();const{type:We,externalPath:be,path:Ue,related:tt,title:Xt,uiRouterKey:hr}=qe,{__type:Et,documentId:ns}=tt??{};W("type",We),W("externalPath",be??void 0),W("path",Ue??void 0),W("title",Xt),W("uiRouterKey",hr),Et&&ns&&(W("related",ns),W("relatedType",Et))},onSettled(){g(!1)}}))},[g,V,z]);return x.useEffect(()=>{A(K({...$w,...n}))},[n]),x.useEffect(()=>{if(Ne){const oe=E.data?.contentTypes.find(je=>je.uid===Ne);if(oe&&(v(oe.isSingle),oe.isSingle&&we.data?.length)){const je=we.data[0];je&&W("related",je.documentId)}}},[Ne,E.data,we.data]),x.useEffect(()=>{if($e&&Y==="INTERNAL"&&Oe&&Ne&&E.data){const oe=we.data?.find(je=>je.documentId===Oe);if(oe){const{contentTypesNameFields:je,pathDefaultFields:qe}=E.data,We=qe[Ne]?.reduce((tt,Xt)=>tt||oe?.[Xt],void 0),be=(je[Ne]??[]).concat(je.default??[]).reduce((tt,Xt)=>tt||oe?.[Xt],void 0),Ue=[];We&&We!==ue&&Ue.push({name:"path",value:We}),be&&be!==me&&Ue.push({name:"title",value:be}),setTimeout(()=>{Ue.forEach(tt=>{W(tt.name,tt.value)})},100)}}},[me,ue,$e,Y,Oe,Ne,E.data,we.data]),f.jsxs(f.Fragment,{children:[f.jsx(tn.Body,{children:f.jsx(Ke.Form,{method:"POST",initialValues:$,children:({values:oe,onChange:je})=>{const qe=oe.type==="INTERNAL"?oe:{related:void 0,relatedType:void 0},We=Zne({currentPath:oe.path,isExternal:oe.type==="EXTERNAL",current:n,currentType:oe.type,config:E.data,contentTypeItems:we.data,currentRelated:qe.related,currentRelatedType:qe.relatedType,isSingleSelected:b});return f.jsxs(f.Fragment,{children:[f.jsxs(Ee.Root,{gap:5,paddingBottom:1,children:[f.jsx(Ee.Item,{alignItems:"flex-start",col:8,children:f.jsx(xt,{name:"type",label:d(B("popup.item.form.type.label","Internal link")),error:ce("type"),hint:d(B("popup.item.form.title.placeholder","e.g. Blog")),children:f.jsx(Sr,{onChange:be=>q("type",be,je),value:oe.type,name:"type",disabled:!m,width:"100%",children:rt.map(({key:be,label:Ue,value:tt})=>f.jsx(Ar,{value:tt,children:Ue},be))})})},"title"),f.jsx(Ee.Item,{alignItems:"flex-start",col:4,children:f.jsx(xt,{name:"menuAttached",label:d(B("popup.item.form.menuAttached.label","MenuAttached")),error:ce("menuAttached"),hint:d(B("popup.item.form.menuAttached.placeholder","is menu item attached to menu")),children:f.jsx(Kr,{name:"menuAttached",checked:oe.menuAttached,onChange:be=>q(be,!oe.menuAttached,je),value:oe.menuAttached,onLabel:d(B("popup.item.form.menuAttached.value.yes","yes")),offLabel:d(B("popup.item.form.menuAttached.value.no","no")),disabled:!m||(E.data?.cascadeMenuAttached?!(n.isMenuAllowedLevel&&n.parentAttachedToMenu):!1),width:"100%"})})},"menuAttached")]}),f.jsxs(Ee.Root,{gap:5,paddingTop:1,paddingBottom:1,children:[f.jsx(Ee.Item,{alignItems:"flex-start",col:oe.type==="INTERNAL"?8:12,children:f.jsx(xt,{name:"title",label:d(B("popup.item.form.title.label","Title")),error:ce("title"),hint:d(B("popup.item.form.title.placeholder","e.g. Blog")),children:f.jsx(co,{type:"string",disabled:!m||oe.autoSync&&oe.type==="INTERNAL",name:"title",onChange:(be,Ue)=>q(be,Ue,je),value:oe.title})})},"title"),oe.type==="INTERNAL"&&f.jsx(Ee.Item,{alignItems:"flex-start",col:4,children:f.jsx(xt,{name:"autoSync",label:d(B("popup.item.form.autoSync.label","Read fields from related")),error:ce("autoSync"),children:f.jsx(Kr,{name:"autoSync",checked:oe.autoSync,onChange:be=>q(be,!oe.autoSync,je),onLabel:"Enabled",offLabel:"Disabled"})})},"autoSync")]}),f.jsx(Ee.Root,{gap:5,paddingTop:1,paddingBottom:1,children:f.jsx(Ee.Item,{alignItems:"flex-start",col:12,children:f.jsx(xt,{name:de,label:d(B(`popup.item.form.${de}.label`,"Path")),error:ce(de,`popup.item.form.${de}.validation.type`),hint:[d(B(`popup.item.form.${de}.placeholder`,"e.g. Blog")),We?d(B("popup.item.form.type.external.description"),{value:We}):""].join(" "),children:f.jsx(co,{disabled:!m,name:de,onChange:(be,Ue)=>q(be,Ue,je),value:oe[de],width:"100%"})})},"title")}),oe.type==="INTERNAL"&&f.jsxs(Ee.Root,{gap:5,paddingTop:1,paddingBottom:1,children:[f.jsx(Ee.Item,{alignItems:"flex-start",col:oe.relatedType&&!b?6:12,children:f.jsx(xt,{name:"relatedType",label:d(B("popup.item.form.relatedType.label","Related Type")),error:ce("relatedType"),hint:!h&&Me.isEmpty(Rt)?d(B("popup.item.form.relatedType.empty","There are no more content types")):void 0,children:f.jsx(Sr,{name:"relatedType",onChange:be=>q("relatedType",be,je),value:oe.relatedType,disabled:!E.data?.contentTypes.length||!m,width:"100%",children:E.data?.contentTypes.map(be=>f.jsx(Ar,{value:be.uid,children:be.contentTypeName},be.uid))})})}),oe.relatedType&&!b&&f.jsx(Ee.Item,{alignItems:"flex-start",col:6,children:f.jsx(xt,{name:"related",label:d(B("popup.item.form.related.label","Related")),error:ce("related"),hint:!h&&Se?d(B("popup.item.form.related.empty","There are no more entities"),{contentTypeName:oe.relatedType}):void 0,children:f.jsx(Sr,{name:"related",onChange:be=>q("related",be,je),value:oe.related,options:Ge,disabled:h||Se||!m,width:"100%",children:Ge.map(({key:be,label:Ue,value:tt})=>f.jsx(Ar,{value:tt,children:Ue},be))})})})]}),!Me.isEmpty(E.data?.additionalFields)&&f.jsxs(f.Fragment,{children:[f.jsx(Ee.Root,{gap:5,paddingTop:1,paddingBottom:1,children:f.jsx(Ee.Item,{col:12,lg:12,children:f.jsx(Hs,{width:"100%"})})}),f.jsxs(Ee.Root,{gap:5,paddingTop:1,paddingBottom:1,children:[E.data?.additionalFields.map((be,Ue)=>{if(be!=="audience")return f.jsx(Ee.Item,{alignItems:"flex-start",col:6,children:f.jsx(xt,{name:`additionalFields.${be.name}`,label:be.label,error:ce(`additionalFields.${be.name}`),children:f.jsx(Hne,{name:`additionalFields.${be.name}`,field:be,isLoading:h,onChange:je,onChangeEnhancer:q,value:Me.get(oe?.additionalFields,be.name),disabled:!m})})},be.name)}),E.data?.additionalFields.map((be,Ue)=>{if(be==="audience")return f.jsx(Ee.Item,{alignItems:"flex-start",col:12,children:f.jsx(xt,{name:"audience",label:d(B("popup.item.form.audience.label")),error:ce("audience"),hint:!h&&Me.isEmpty(De)?d(B("popup.item.form.title.placeholder","e.g. Blog")):void 0,children:f.jsx(Ms,{name:"audience",value:oe.audience,onChange:tt=>q("audience",tt,je),width:"100%",children:De.map(({value:tt,label:Xt})=>f.jsx(Oo,{value:tt,children:Xt},tt))})})},"audience")})]}),f.jsx(Ee.Root,{gap:5,paddingTop:1,paddingBottom:1,children:f.jsx(Ee.Item,{col:12,lg:12,children:f.jsx(Hs,{width:"100%"})})})]}),he&&he.length>1&&f.jsx(Ee.Root,{gap:5,paddingTop:1,paddingBottom:1,children:f.jsxs(Ee.Item,{alignItems:"flex-start",col:12,children:[f.jsx(Hs,{marginTop:5,marginBottom:5}),f.jsxs(Ee.Root,{gap:5,children:[f.jsx(Ee.Item,{alignItems:"flex-start",col:6,lg:12,children:f.jsx(xt,{name:"i18n.locale",label:d(B("popup.item.form.i18n.locale.label","Copy details from")),children:f.jsx(Sr,{name:"i18n.locale",onChange:y,value:w,disabled:h||!m,placeholder:d(B("popup.item.form.i18n.locale.placeholder","locale")),children:he.map(({key:be,label:Ue,value:tt})=>f.jsx(Ar,{value:tt,children:Ue},be))})})}),m&&f.jsx(Ee.Item,{alignItems:"flex-start",col:6,lg:12,paddingTop:6,children:f.jsx(Re,{children:f.jsx(jt,{variant:"tertiary",onClick:it,disabled:h||!w,children:d(B("popup.item.form.i18n.locale.button"))})})})]})]},"title")}),f.jsx(Ee.Root,{gap:5,children:f.jsx(Ee.Item,{alignItems:"flex-start",col:12},"title")})]})}})}),f.jsx(zne,{handleSubmit:oe=>le(oe,$),handleCancel:i,submitDisabled:ee,canUpdate:m})]})},tre=()=>"",nre=({isNewItem:t,canUpdate:e})=>{const{formatMessage:n}=mt.useIntl();let r="view";return e&&(r=t?"new":"edit"),f.jsx(tn.Header,{children:f.jsx(pe,{variant:"omega",fontWeight:"bold",textColor:"neutral800",as:"h2",id:"asset-dialog-title",children:n(B(`popup.item.header.${r}`))})})},rre=({availableLocale:t,isOpen:e,isLoading:n,currentItem:r={},onSubmit:i,onClose:o,locale:s,permissions:a,currentNavigation:c})=>{const{formatMessage:d}=mt.useIntl(),h=b=>{i(b)},g=(b,v,w)=>`${Zte({relatedRef:v,type:v.isSingle?"INTERNAL":v.type,isCollection:w})?"":`[${d(B("notification.navigation.item.relation.status.draft"))}] `.toUpperCase()}${b}`,m=!!r.viewId;return f.jsx(tn.Root,{labelledBy:"condition-modal-breadcrumbs",onOpenChange:b=>{b||o({preventDefault(){},stopPropagation(){},target:{}})},open:e,children:f.jsxs(tn.Content,{children:[f.jsx(nre,{isNewItem:!m,canUpdate:a?.canUpdate}),f.jsx(ere,{availableLocale:t,current:r,isLoading:n,onSubmit:h,onCancel:o,appendLabelPublicationStatus:g,locale:s,permissions:a,currentNavigation:c})]})})},Q0=0,ire=({value:t,setValue:e,initialIndex:n=Q0})=>{const[r,i]=x.useState(t),[o,s]=x.useState(t),[a,c]=x.useState(n),[d,h]=x.useState(!!t),g=x.useRef(null),{formatMessage:m}=mt.useIntl();x.useEffect(()=>{d&&setTimeout(()=>{g.current?.querySelector("input")?.focus()},0)},[d]),x.useEffect(()=>{a&&r===o&&e({value:r,index:a})},[a,r,o]),x.useEffect(()=>{r!==o&&(s(r),c(Q0),e({value:r,index:Q0}))},[r,o]);const b=x.useCallback(y=>{y.code.toLowerCase()==="enter"&&c($=>$+1)},[]),v=x.useCallback(y=>{i(y.target.value)},[i]),w=x.useCallback(()=>{i(""),h(!1)},[i,h]);return d?f.jsxs("div",{ref:g,children:[f.jsx(Aee,{name:"searchbar",onClear:w,value:t,size:"S",onChange:v,clearLabel:"Clearing the search",placeholder:m(B("pages.main.search.placeholder","Type to start searching...")),onKeyDown:b,children:"Search for navigation items"}),f.jsx(pe,{variant:"pi",fontColor:"neutral150",style:{margin:"3px 0 0",display:"inline-block"},children:m(B("pages.main.search.subLabel","press ENTER to highlight next item"))})]}):f.jsx(ar,{children:f.jsx(x3,{}),onClick:()=>h(!d)})},ore=new pt.QueryClient,sre=()=>{const{formatMessage:t}=mt.useIntl(),e=Lm(),[n,r]=x.useState(),[i,o]=x.useState(),[s,a]=x.useState(),[c,d]=x.useState(!1),[h,g]=x.useState(!1),[m,b]=x.useState(),v=x.useMemo(()=>({access:aa.access,update:aa.update}),[]),{isLoading:w,allowedActions:{canUpdate:y,canAccess:$}}=Ke.useRBAC(v),A=jm(),k=rc(),I=XS(),E=QS([A,{isPending:w}]),L=Yte(),[{value:D,index:H},V]=x.useState({value:"",index:0}),z=Me.isEmpty(D),q=(D||"").toLowerCase(),W=(Se,it,oe)=>{const je=Se.reduce((qe,We)=>{const be=We.items?.length?W(We.items??[],it):[];return it(We)?[We,...be,...qe]:[...be,...qe]},[]);if(oe!==void 0){const qe=oe%je.length;return je.map((We,be)=>qe===be?{...We,isSearchActive:!0}:We)}return je},Z=z?[]:W(i?.items.map(Se=>({...Se}))??[],Se=>(Se?.title||"").toLowerCase().includes(q),q?H:void 0),K=x.useCallback((Se,it={})=>{a(it),d(Se)},[d]),le=x.useCallback((Se,it,oe=!0,je="",qe=!0,We="0",be=0)=>{y&&(Se.preventDefault(),Se.stopPropagation(),K(!0,{viewParentId:it,isMenuAllowedLevel:oe,levelPath:je,parentAttachedToMenu:qe,structureId:We,viewId:void 0,order:be+1}))},[K,y]),ce=x.useMemo(()=>(e.data?[e.data.defaultLocale,...e.data.restLocale]:[]).filter(Se=>Se!==m),[e.data,m]),se=Ute(),ue=Wte(),{i18nCopyItemsModal:Y,i18nCopySourceLocale:me,setI18nCopyModalOpened:$e,setI18nCopySourceLocale:Ne}=Qte(x.useCallback(Se=>{const it=A.data?.find(({locale:oe,documentId:je})=>oe===Se&&je===i?.documentId);it&&it.documentId&&i?.documentId&&L.mutate({source:it.locale,target:i.locale,documentId:it.documentId},{onSuccess(oe){L.reset(),o({...oe.data,items:oe.data.items.map(_m)}),se(),ue()}})},[i])),Oe=x.useCallback(()=>{me&&$e(!0)},[$e,me]),te=YS(()=>{r({documentId:i?.documentId,id:i?.id}),o(void 0)}),ve=()=>{i&&te.mutate(i)},de=Se=>{Se.preventDefault(),Se.stopPropagation(),Se.target.tagName!=="HTML"&&K(!1)},ee=({item:Se,newOrder:it})=>{ye({...Se,order:it})},we=Se=>{ye(Ji({...Se,removed:!0},!0))},xe=Se=>{ye(Ji({...Se,removed:!1},!0))},he=Se=>{ye(Ji({...Se,collapsed:!Se.collapsed,updated:!0,isSearchActive:!1},!0))},De=({item:Se,levelPath:it="",parentAttachedToMenu:oe=!0})=>{K(!0,{...Se,levelPath:it,parentAttachedToMenu:oe})},ye=Se=>{if(i&&k.data){const it=zs(Se,i?.items??[],k.data);o({...i,items:it}),g(!0),d(!1)}},ct=z?i?.items??[]:Z,rt=x.useCallback(()=>{i&&o({...i,items:i.items.map(Se=>Is(Se,!1))})},[o,i,Is]),Ge=x.useCallback(()=>{i&&o({...i,items:i.items.map(Se=>Is(Se,!0))})},[o,i,Is]),Rt=[{onClick:rt,type:"submit",variant:"tertiary",tradId:"header.action.expandAll",margin:"8px"},{onClick:Ge,type:"submit",variant:"tertiary",tradId:"header.action.collapseAll",margin:"8px"}];return y&&Rt.push({onClick:le,type:"submit",variant:"primary",tradId:"header.action.newItem",startIcon:f.jsx(Op,{}),margin:"8px"}),x.useEffect(()=>{if(!i&&A.data?.[0]){let Se;n?.documentId&&(Se=A.data.find(it=>it.documentId===n.documentId&&it.id===n.id)),r(void 0),o(Se||Me.first(A.data))}},[A.data]),x.useEffect(()=>{!m&&e.data?.defaultLocale&&b(e.data?.defaultLocale)},[A.data]),x.useEffect(()=>{if(i&&m!==i.locale){r(void 0);const Se=A.data?.find(it=>it.documentId===i.documentId&&it.locale===m);Se&&Se.documentId===i.documentId&&Se.locale!==i.locale&&o(Se)}},[i,m,A.data]),x.useEffect(()=>{!m&&e.data?.defaultLocale&&b(e.data.defaultLocale)},[A.data]),!A.data||!e.data||E?f.jsx(Ke.Page.Loading,{}):f.jsxs(Ke.Layouts.Root,{children:[f.jsx(Ke.Page.Title,{children:t(B("header.title","UI Navigation"))}),f.jsxs(Ke.Page.Main,{children:[f.jsx(Cne,{availableNavigations:A.data,activeNavigation:i,handleCachePurge:()=>I.mutate(void 0),handleChangeSelection:o,handleLocalizationSelection:b,handleSave:ve,locale:e.data,structureHasChanged:h,permissions:{canUpdate:y},currentLocale:m}),f.jsxs(Ke.Layouts.Content,{children:[f.jsx($ne,{startActions:f.jsx(ire,{value:D,setValue:V}),endActions:Rt.map(({tradId:Se,margin:it,...oe},je)=>f.jsx(Re,{marginLeft:it,children:f.jsxs(jt,{...oe,children:[" ",t(B(Se))," "]})},je))}),i?.items.length?f.jsx(e8,{items:ct,onItemLevelAdd:le,onItemRemove:we,onItemEdit:De,onItemRestore:xe,onItemReOrder:ee,onItemToggleCollapse:he,displayFlat:!z,isParentAttachedToMenu:!0,permissions:{canUpdate:y,canAccess:$},structurePrefix:"",locale:m??""}):f.jsxs(fe,{direction:"column",minHeight:"400px",justifyContent:"center",children:[f.jsx(Re,{padding:4,children:f.jsx(pe,{variant:"beta",textColor:"neutral600",children:t(B("empty.description"))})}),y&&f.jsx(jt,{variant:"secondary",startIcon:f.jsx(oN,{}),label:t(B("empty.cta")),onClick:le,children:t(B("empty.cta"))}),y&&ce.length?f.jsxs(fe,{direction:"column",justifyContent:"center",children:[f.jsx(Re,{paddingTop:3,paddingBottom:3,children:f.jsx(pe,{variant:"beta",textColor:"neutral600",children:t(B("view.i18n.fill.cta.header"))})}),f.jsxs(fe,{direction:"row",justifyContent:"center",alignItems:"center",children:[f.jsx(Re,{paddingLeft:1,paddingRight:1,children:f.jsx(Sr,{onChange:Ne,value:me,size:"S",children:ce.map(Se=>f.jsx(Ar,{value:Se,children:t(B("view.i18n.fill.option"),{locale:Se})},Se))})}),f.jsx(Re,{paddingLeft:1,paddingRight:1,children:f.jsx(jt,{variant:"tertiary",onClick:Oe,disabled:!me,size:"S",children:t(B("view.i18n.fill.cta.button"))})})]})]}):null]}),c&&m&&i&&f.jsx(rre,{availableLocale:ce,currentItem:s,onSubmit:ye,onClose:de,locale:m,permissions:{canUpdate:y},isOpen:c,isLoading:w,currentNavigation:i}),y&&Y]})]})]})};function are(){const t=zS();return f.jsx(pt.QueryClientProvider,{client:ore,children:f.jsx(mS,{theme:t,children:f.jsx(sre,{})})})}const lre=()=>f.jsx(Z0.DndProvider,{backend:jE.HTML5Backend,children:f.jsxs(Xf.Routes,{children:[f.jsx(Xf.Route,{path:"/",index:!0,Component:are}),f.jsx(Xf.Route,{path:"/*",Component:Ke.Page.Error})]})}),cre=ei.default(gQ)`
2306
+ `,e8=({isParentAttachedToMenu:t=!1,items:e,level:n=0,levelPath:r="",onItemEdit:i,onItemLevelAdd:o,onItemRemove:s,onItemRestore:a,onItemReOrder:c,onItemToggleCollapse:d,displayFlat:h,permissions:g,structurePrefix:m,viewParentId:b,locale:v})=>f.jsx(Fne,{"data-level":n,children:e?.map((w,y)=>f.jsx(Bne,{item:w,isLast:y===e.length-1,level:n,levelPath:r,isParentAttachedToMenu:t,onItemRestore:a,onItemLevelAdd:o,onItemRemove:s,onItemEdit:i,onItemReOrder:c,onItemToggleCollapse:d,displayChildren:h,permissions:g,structureId:m?`${m}.${y}`:y.toString(),viewParentId:b,locale:v},`list-item-${w.viewId||y}`))}),Pne="",Vne={type:"media",multiple:!1,required:!1,allowedTypes:["images"],pluginOptions:{i18n:{localized:!1}}},Hne=({name:t,field:e,isLoading:n,onChange:r,onChangeEnhancer:i,value:o,disabled:s})=>{const{toggleNotification:a}=Ke.useNotification(),{formatMessage:c}=mt.useIntl(),h=Ke.useStrapiApp("AdditionalFieldInput",m=>m.fields).media,g=x.useMemo(()=>({id:e.name,name:t||e.name,disabled:n||s}),[e,n]);switch(x.useEffect(()=>{e.type==="media"&&i(g.name,o,r)},[o]),e.type){case"boolean":return f.jsx(Kr,{...g,checked:!!o,onChange:m=>i(m,!o,r),onLabel:"true",offLabel:"false",type:"checkbox"});case"string":return f.jsx(co,{...g,onChange:(m,b)=>i(m,b,r),value:o||Pne});case"select":return e.multi?f.jsx(Ms,{...g,onChange:m=>i(g.name,m,r),value:Me.isNil(o)?e.multi?[]:null:o,multi:e.multi,withTags:e.multi,children:e.options.map((m,b)=>f.jsx(Oo,{value:m,children:m},`${e.name}-option-${b}`))}):f.jsx(Sr,{...g,onChange:m=>i(g.name,m,r),value:Me.isNil(o)?e.multi?[]:null:o,multi:e.multi,withTags:e.multi,children:e.options.map((m,b)=>f.jsx(Ar,{value:m,children:m},`${e.name}-option-${b}`))});case"media":return f.jsx(h,{...g,...Vne,value:o});default:throw a({type:"warning",message:c(B("notification.error.customField.type"))}),new Error("Type of custom field is unsupported")}},zne=({handleCancel:t,handleSubmit:e,submitDisabled:n,canUpdate:r})=>{const{formatMessage:i}=mt.useIntl();return r?f.jsxs(tn.Footer,{children:[f.jsx(tn.Close,{children:f.jsx(jt,{onClick:t,variant:"tertiary",children:i(B("popup.item.form.button.cancel"))})}),f.jsx(jt,{onClick:e,disabled:n,children:i(B("popup.item.form.button.save"))})]}):null},Wne=[/^mailto:[\w-\.]+@([\w-]+\.)+[\w-]{2,}$/,/^tel:(\+\d{1,3})?[\s]?(\(?\d{2,3}\)?)?[\s.-]?(\d{3})?[\s.-]?\d{3,4}$/,/^#.*/,/(https?:\/\/(?:www\.|(?!www))[a-zA-Z0-9][a-zA-Z0-9-]+[a-zA-Z0-9]\.[^\s]{2,}|www\.[a-zA-Z0-9][a-zA-Z0-9-]+[a-zA-Z0-9]\.[^\s]{2,}|https?:\/\/(?:www\.|(?!www))[a-zA-Z0-9]+\.[^\s]{2,}|www\.[a-zA-Z0-9]+\.[^\s]{2,})/],Bm=({additionalFields:t})=>J.z.object({title:J.z.string(),autoSync:J.z.boolean().optional(),removed:J.z.boolean().optional(),updated:J.z.boolean().optional(),uiRouterKey:J.z.string(),levelPath:J.z.string().optional(),isMenuAllowedLevel:J.z.boolean().optional(),parentAttachedToMenu:J.z.boolean().optional(),viewId:J.z.number().optional(),structureId:J.z.string().optional(),menuAttached:J.z.boolean().optional(),collapsed:J.z.boolean().optional(),isSearchActive:J.z.boolean().optional(),viewParentId:J.z.number().optional(),id:J.z.number().optional(),documentId:J.z.string().optional(),audience:J.z.string().array().optional(),order:J.z.number().optional(),items:J.z.any().array().optional(),additionalFields:J.z.object(t.reduce((e,n)=>{if(typeof n=="string")return e;switch(n.type){case"string":e[n.name]=n.required?J.z.string():J.z.string().optional();break;case"boolean":e[n.name]=n.required?J.z.boolean():J.z.boolean().optional();case"media":e[n.name]=n.required?J.z.any():J.z.any().optional();case"select":{n.multi?e[n.name]=n.required?J.z.string().array():J.z.string().array().optional():e[n.name]=n.required?J.z.string():J.z.string().optional();break}}return e},{}))}),Une=({additionalFields:t,isSingleSelected:e})=>Bm({additionalFields:t,isSingleSelected:e}).extend({type:J.z.literal("INTERNAL"),path:J.z.string(),externalPath:J.z.string().optional(),relatedType:J.z.string(),related:e?J.z.string().optional():J.z.string()}),qne=({isSingleSelected:t,additionalFields:e})=>Bm({additionalFields:e,isSingleSelected:t}).extend({type:J.z.literal("EXTERNAL"),path:J.z.string().or(J.z.null()).optional(),externalPath:J.z.string().min(1).refine(n=>Wne.some(r=>r.test(n))),relatedType:J.z.string().optional(),related:J.z.string().optional()}),Kne=({isSingleSelected:t,additionalFields:e})=>Bm({additionalFields:e,isSingleSelected:t}).extend({type:J.z.literal("WRAPPER"),path:J.z.string().or(J.z.null()).optional()}),Gne=t=>J.z.discriminatedUnion("type",[qne(t),Une(t),Kne(t)]),$w={autoSync:!0,type:"INTERNAL",relatedType:"",menuAttached:!1,title:"",externalPath:"",path:"",additionalFields:{},audience:[],updated:!1,uiRouterKey:""},Yne=()=>{const t=Ke.getFetchClient(),e=Wt(t);return pt.useMutation({mutationFn(n){return e.slugify(n)}})},Xne=async({slugify:t,title:e,config:n,related:r,relatedType:i,contentTypeItems:o})=>{if(e)return e?await t(e):void 0;if(r){const s=Nd({...o?.find(a=>a.documentId===r.toString())??{documentId:"",id:0},__collectionUid:i},n);return s?await t(s):void 0}},Qne=({currentType:t,config:e,contentTypeItems:n,currentRelated:r,currentRelatedType:i,isSingleSelected:o})=>{if(t!=="INTERNAL"||!i)return"";const s=e?.pathDefaultFields[i]??[];if(Me.isEmpty(t)&&!Me.isEmpty(s)){const a=o?Me.first(n??[]):n?.find(({id:d})=>d===r);return s.map(d=>a?.[d]??"").filter(d=>!!d.toString().trim())[0]??""}return""},Zne=({currentPath:t,isExternal:e,current:n,currentType:r="INTERNAL",config:i,contentTypeItems:o,currentRelated:s,currentRelatedType:a,isSingleSelected:c})=>{if(!e){const d=Me.isEmpty(t)||t==="/"?Qne({currentType:r,config:i,contentTypeItems:o,currentRelated:s,currentRelatedType:a,isSingleSelected:c}):t||"";return`${n.levelPath!=="/"?`${n.levelPath}`:""}/${d}`.replace("//","/")}},Jne=[],ere=({availableLocale:t,isLoading:e,current:n=$w,onSubmit:r,onCancel:i,appendLabelPublicationStatus:o=tre,locale:s,permissions:a={},currentNavigation:c})=>{const{formatMessage:d}=mt.useIntl(),[h,g]=x.useState(e),{canUpdate:m}=a,[b,v]=x.useState(!1),[w,y]=x.useState(),[$,A]=x.useState({}),[k,I]=x.useState(),E=rc(),L=E.data?.availableAudience??[],D=E.data?.contentTypes??[],{toggleNotification:H}=Ke.useNotification(),V=Gte(),z=jm(),q=(oe,je,qe)=>{if(qe){let We=oe,be=je;if(Me.isObject(oe)){const{name:Ue,value:tt}=oe.target;We=Ue,be=Me.isNil(be)?tt:be}return Me.isString(We)&&W(We,be),qe(oe,be)}},W=(oe,je)=>{A(Me.set({...$,additionalFields:{...$.additionalFields},updated:!0},oe,je))},Z=oe=>({...oe,additionalFields:E.data?.additionalFields.reduce((je,qe)=>{const{name:We,type:be}=qe;if(We in(oe.additionalFields??{})){let Ue=oe.additionalFields[We];switch(be){case"boolean":Ue=Me.isBoolean(Ue)?`${Ue}`:Ue;break;case"media":Ue=Ue&&JSON.stringify(Ue);break}return{...je,[We]:Ue}}return je},{})||{}}),K=oe=>({...oe,additionalFields:E.data?.additionalFields.reduce((je,qe)=>{const{name:We,type:be}=qe;if(We in(oe.additionalFields??{})){let Ue=oe.additionalFields[We];switch(be){case"boolean":Ue=Ue==="true";break;case"media":Ue=Ue&&JSON.parse(Ue);break}return{...je,[We]:Ue}}return je},{})||{}}),le=async(oe,je)=>{oe.preventDefault();const qe=Z(je),{success:We,data:be,error:Ue}=Gne({isSingleSelected:b,additionalFields:E.data?.additionalFields??Jne}).safeParse(qe);if(We){const tt=be.title.trim()?be.title.trim():be.type==="INTERNAL"?ye(be?.related?.toString(),be.relatedType,b):"";g(!0);const Xt=await Xne(be.type==="INTERNAL"?{slugify:xe.mutateAsync,title:tt,related:be.related,relatedType:be.relatedType}:{slugify:xe.mutateAsync,title:tt});if(xe.reset(),g(!1),!Xt){H({type:"warning",message:d(B("popup.item.form.uiRouter.unableToRender"))});return}r(be.type==="INTERNAL"?{...be,title:tt,uiRouterKey:Xt}:{...be,title:tt,uiRouterKey:Xt})}else Ue&&I(Ue.issues.reduce((tt,Xt)=>({...tt,[Xt.path.join(".")]:Xt.message}),{}))},ce=(oe,je)=>Me.get(k,oe)?d(B(je??oe)):void 0,se=n.type==="INTERNAL"?n.relatedType:void 0,{path:ue,type:Y,title:me,autoSync:$e}=$,{relatedType:Ne,related:Oe}=$.type==="INTERNAL"?$:{related:void 0,relatedType:void 0},te=Y==="EXTERNAL",ve=Y==="INTERNAL",de=te?"externalPath":"path",ee=ve&&!b&&Me.isNil(Oe)||h,we=GS({uid:Ne??"",locale:s}),xe=Yne(),he=x.useMemo(()=>t.map((oe,je)=>({key:`${oe}-${je}`,value:oe,label:oe})),[t]),De=x.useMemo(()=>L.map(oe=>({value:oe.documentId??0,label:oe.name??" "})),[L]),ye=x.useCallback((oe,je,qe)=>{let We;if(qe){if(We=we.data?.find(be=>be.uid===je||be.__collectionUid===je),!We)return D.find(be=>be.uid===je)?.contentTypeName}else We={...we.data?.find(({documentId:Ue})=>Ue===oe)||{documentId:null},__collectionUid:je};return Nd(We,E.data)},[we.data,E.data,D]),rt=(E.data?.contentTypes.length?["INTERNAL","EXTERNAL","WRAPPER"]:["EXTERNAL","WRAPPER"]).map(oe=>({key:oe,value:oe,label:d(B(`popup.item.form.type.${oe.toLowerCase()}.label`))})),Ge=Me.sortBy(we.data?.map(oe=>{const je=o(Nd({...oe,__collectionUid:Ne},E.data),oe,!1);return{key:oe?.documentId?.toString(),value:oe?.documentId?.toString(),label:je}})??[],oe=>oe.label),Rt=x.useMemo(()=>Me.sortBy(E.data?.contentTypes?.filter(oe=>oe.isSingle?!!(Ne&&[Ne,se].includes(oe.uid)):!0).map(oe=>({key:oe.uid,value:oe.uid,label:oe.contentTypeName})),oe=>oe.label),[E.data,Ne]),Se=Me.isEmpty(Ge),it=x.useCallback(async oe=>{oe.preventDefault(),oe.stopPropagation();const je=z.data?.find(({locale:qe})=>qe===w);je&&(g(!0),V.mutate({target:c.documentId,structureId:n.structureId,source:je.documentId},{onSuccess(qe){V.reset();const{type:We,externalPath:be,path:Ue,related:tt,title:Xt,uiRouterKey:hr}=qe,{__type:Et,documentId:ns}=tt??{};W("type",We),W("externalPath",be??void 0),W("path",Ue??void 0),W("title",Xt),W("uiRouterKey",hr),Et&&ns&&(W("related",ns),W("relatedType",Et))},onSettled(){g(!1)}}))},[g,V,z]);return x.useEffect(()=>{A(K({...$w,...n}))},[n]),x.useEffect(()=>{if(Ne){const oe=E.data?.contentTypes.find(je=>je.uid===Ne);if(oe&&(v(oe.isSingle),oe.isSingle&&we.data?.length)){const je=we.data[0];je&&W("related",je.documentId)}}},[Ne,E.data,we.data]),x.useEffect(()=>{if($e&&Y==="INTERNAL"&&Oe&&Ne&&E.data){const oe=we.data?.find(je=>je.documentId===Oe);if(oe){const{contentTypesNameFields:je,pathDefaultFields:qe}=E.data,We=qe[Ne]?.reduce((tt,Xt)=>tt||oe?.[Xt],void 0),be=(je[Ne]??[]).concat(je.default??[]).reduce((tt,Xt)=>tt||oe?.[Xt],void 0),Ue=[];We&&We!==ue&&Ue.push({name:"path",value:We}),be&&be!==me&&Ue.push({name:"title",value:be}),setTimeout(()=>{Ue.forEach(tt=>{W(tt.name,tt.value)})},100)}}},[me,ue,$e,Y,Oe,Ne,E.data,we.data]),f.jsxs(f.Fragment,{children:[f.jsx(tn.Body,{children:f.jsx(Ke.Form,{method:"POST",initialValues:$,children:({values:oe,onChange:je})=>{const qe=oe.type==="INTERNAL"?oe:{related:void 0,relatedType:void 0},We=Zne({currentPath:oe.path,isExternal:oe.type==="EXTERNAL",current:n,currentType:oe.type,config:E.data,contentTypeItems:we.data,currentRelated:qe.related,currentRelatedType:qe.relatedType,isSingleSelected:b});return f.jsxs(f.Fragment,{children:[f.jsxs(Ee.Root,{gap:5,paddingBottom:1,children:[f.jsx(Ee.Item,{alignItems:"flex-start",col:8,children:f.jsx(xt,{name:"type",label:d(B("popup.item.form.type.label","Internal link")),error:ce("type"),hint:d(B("popup.item.form.title.placeholder","e.g. Blog")),children:f.jsx(Sr,{onChange:be=>q("type",be,je),value:oe.type,name:"type",disabled:!m,width:"100%",children:rt.map(({key:be,label:Ue,value:tt})=>f.jsx(Ar,{value:tt,children:Ue},be))})})},"title"),f.jsx(Ee.Item,{alignItems:"flex-start",col:4,children:f.jsx(xt,{name:"menuAttached",label:d(B("popup.item.form.menuAttached.label","MenuAttached")),error:ce("menuAttached"),hint:d(B("popup.item.form.menuAttached.placeholder","is menu item attached to menu")),children:f.jsx(Kr,{name:"menuAttached",checked:oe.menuAttached,onChange:be=>q(be,!oe.menuAttached,je),value:oe.menuAttached,onLabel:d(B("popup.item.form.menuAttached.value.yes","yes")),offLabel:d(B("popup.item.form.menuAttached.value.no","no")),disabled:!m||(E.data?.cascadeMenuAttached?!(n.isMenuAllowedLevel&&n.parentAttachedToMenu):!1),width:"100%"})})},"menuAttached")]}),f.jsxs(Ee.Root,{gap:5,paddingTop:1,paddingBottom:1,children:[f.jsx(Ee.Item,{alignItems:"flex-start",col:oe.type==="INTERNAL"?8:12,children:f.jsx(xt,{name:"title",label:d(B("popup.item.form.title.label","Title")),error:ce("title"),hint:d(B("popup.item.form.title.placeholder","e.g. Blog")),children:f.jsx(co,{type:"string",disabled:!m||oe.autoSync&&oe.type==="INTERNAL",name:"title",onChange:(be,Ue)=>q(be,Ue,je),value:oe.title})})},"title"),oe.type==="INTERNAL"&&f.jsx(Ee.Item,{alignItems:"flex-start",col:4,children:f.jsx(xt,{name:"autoSync",label:d(B("popup.item.form.autoSync.label","Read fields from related")),error:ce("autoSync"),children:f.jsx(Kr,{name:"autoSync",checked:oe.autoSync,onChange:be=>q(be,!oe.autoSync,je),onLabel:"Enabled",offLabel:"Disabled"})})},"autoSync")]}),f.jsx(Ee.Root,{gap:5,paddingTop:1,paddingBottom:1,children:f.jsx(Ee.Item,{alignItems:"flex-start",col:12,children:f.jsx(xt,{name:de,label:d(B(`popup.item.form.${de}.label`,"Path")),error:ce(de,`popup.item.form.${de}.validation.type`),hint:[d(B(`popup.item.form.${de}.placeholder`,"e.g. Blog")),We?d(B("popup.item.form.type.external.description"),{value:We}):""].join(" "),children:f.jsx(co,{disabled:!m,name:de,onChange:(be,Ue)=>q(be,Ue,je),value:oe[de],width:"100%"})})},"title")}),oe.type==="INTERNAL"&&f.jsxs(Ee.Root,{gap:5,paddingTop:1,paddingBottom:1,children:[f.jsx(Ee.Item,{alignItems:"flex-start",col:oe.relatedType&&!b?6:12,children:f.jsx(xt,{name:"relatedType",label:d(B("popup.item.form.relatedType.label","Related Type")),error:ce("relatedType"),hint:!h&&Me.isEmpty(Rt)?d(B("popup.item.form.relatedType.empty","There are no more content types")):void 0,children:f.jsx(Sr,{name:"relatedType",onChange:be=>q("relatedType",be,je),value:oe.relatedType,disabled:!E.data?.contentTypes.length||!m,width:"100%",children:E.data?.contentTypes.map(be=>f.jsx(Ar,{value:be.uid,children:be.contentTypeName},be.uid))})})}),oe.relatedType&&!b&&f.jsx(Ee.Item,{alignItems:"flex-start",col:6,children:f.jsx(xt,{name:"related",label:d(B("popup.item.form.related.label","Related")),error:ce("related"),hint:!h&&Se?d(B("popup.item.form.related.empty","There are no more entities"),{contentTypeName:oe.relatedType}):void 0,children:f.jsx(Sr,{name:"related",onChange:be=>q("related",be,je),value:oe.related,options:Ge,disabled:h||Se||!m,width:"100%",children:Ge.map(({key:be,label:Ue,value:tt})=>f.jsx(Ar,{value:tt,children:Ue},be))})})})]}),!Me.isEmpty(E.data?.additionalFields)&&f.jsxs(f.Fragment,{children:[f.jsx(Ee.Root,{gap:5,paddingTop:1,paddingBottom:1,children:f.jsx(Ee.Item,{col:12,lg:12,children:f.jsx(Hs,{width:"100%"})})}),f.jsxs(Ee.Root,{gap:5,paddingTop:1,paddingBottom:1,children:[E.data?.additionalFields.map((be,Ue)=>{if(be!=="audience")return f.jsx(Ee.Item,{alignItems:"flex-start",col:6,children:f.jsx(xt,{name:`additionalFields.${be.name}`,label:be.label,error:ce(`additionalFields.${be.name}`),children:f.jsx(Hne,{name:`additionalFields.${be.name}`,field:be,isLoading:h,onChange:je,onChangeEnhancer:q,value:Me.get(oe?.additionalFields,be.name),disabled:!m})})},be.name)}),E.data?.additionalFields.map((be,Ue)=>{if(be==="audience")return f.jsx(Ee.Item,{alignItems:"flex-start",col:12,children:f.jsx(xt,{name:"audience",label:d(B("popup.item.form.audience.label")),error:ce("audience"),hint:!h&&Me.isEmpty(De)?d(B("popup.item.form.title.placeholder","e.g. Blog")):void 0,children:f.jsx(Ms,{name:"audience",value:oe.audience,onChange:tt=>q("audience",tt,je),width:"100%",children:De.map(({value:tt,label:Xt})=>f.jsx(Oo,{value:tt,children:Xt},tt))})})},"audience")})]}),f.jsx(Ee.Root,{gap:5,paddingTop:1,paddingBottom:1,children:f.jsx(Ee.Item,{col:12,lg:12,children:f.jsx(Hs,{width:"100%"})})})]}),he&&he.length>1&&f.jsx(Ee.Root,{gap:5,paddingTop:1,paddingBottom:1,children:f.jsxs(Ee.Item,{alignItems:"flex-start",col:12,children:[f.jsx(Hs,{marginTop:5,marginBottom:5}),f.jsxs(Ee.Root,{gap:5,children:[f.jsx(Ee.Item,{alignItems:"flex-start",col:6,lg:12,children:f.jsx(xt,{name:"i18n.locale",label:d(B("popup.item.form.i18n.locale.label","Copy details from")),children:f.jsx(Sr,{name:"i18n.locale",onChange:y,value:w,disabled:h||!m,placeholder:d(B("popup.item.form.i18n.locale.placeholder","locale")),children:he.map(({key:be,label:Ue,value:tt})=>f.jsx(Ar,{value:tt,children:Ue},be))})})}),m&&f.jsx(Ee.Item,{alignItems:"flex-start",col:6,lg:12,paddingTop:6,children:f.jsx(Re,{children:f.jsx(jt,{variant:"tertiary",onClick:it,disabled:h||!w,children:d(B("popup.item.form.i18n.locale.button"))})})})]})]},"title")}),f.jsx(Ee.Root,{gap:5,children:f.jsx(Ee.Item,{alignItems:"flex-start",col:12},"title")})]})}})}),f.jsx(zne,{handleSubmit:oe=>le(oe,$),handleCancel:i,submitDisabled:ee,canUpdate:m})]})},tre=()=>"",nre=({isNewItem:t,canUpdate:e})=>{const{formatMessage:n}=mt.useIntl();let r="view";return e&&(r=t?"new":"edit"),f.jsx(tn.Header,{children:f.jsx(pe,{variant:"omega",fontWeight:"bold",textColor:"neutral800",as:"h2",id:"asset-dialog-title",children:n(B(`popup.item.header.${r}`))})})},rre=({availableLocale:t,isOpen:e,isLoading:n,currentItem:r={},onSubmit:i,onClose:o,locale:s,permissions:a,currentNavigation:c})=>{const{formatMessage:d}=mt.useIntl(),h=b=>{i(b)},g=(b,v,w)=>`${Zte({relatedRef:v,type:v.isSingle?"INTERNAL":v.type,isCollection:w})?"":`[${d(B("notification.navigation.item.relation.status.draft"))}] `.toUpperCase()}${b}`,m=!!r.viewId;return f.jsx(tn.Root,{labelledBy:"condition-modal-breadcrumbs",onOpenChange:b=>{b||o({preventDefault(){},stopPropagation(){},target:{}})},open:e,children:f.jsxs(tn.Content,{children:[f.jsx(nre,{isNewItem:!m,canUpdate:a?.canUpdate}),f.jsx(ere,{availableLocale:t,current:r,isLoading:n,onSubmit:h,onCancel:o,appendLabelPublicationStatus:g,locale:s,permissions:a,currentNavigation:c})]})})},Q0=0,ire=({value:t,setValue:e,initialIndex:n=Q0})=>{const[r,i]=x.useState(t),[o,s]=x.useState(t),[a,c]=x.useState(n),[d,h]=x.useState(!!t),g=x.useRef(null),{formatMessage:m}=mt.useIntl();x.useEffect(()=>{d&&setTimeout(()=>{g.current?.querySelector("input")?.focus()},0)},[d]),x.useEffect(()=>{a&&r===o&&e({value:r,index:a})},[a,r,o]),x.useEffect(()=>{r!==o&&(s(r),c(Q0),e({value:r,index:Q0}))},[r,o]);const b=x.useCallback(y=>{y.code.toLowerCase()==="enter"&&c($=>$+1)},[]),v=x.useCallback(y=>{i(y.target.value)},[i]),w=x.useCallback(()=>{i(""),h(!1)},[i,h]);return d?f.jsxs("div",{ref:g,children:[f.jsx(Aee,{name:"searchbar",onClear:w,value:t,size:"S",onChange:v,clearLabel:"Clearing the search",placeholder:m(B("pages.main.search.placeholder","Type to start searching...")),onKeyDown:b,children:"Search for navigation items"}),f.jsx(pe,{variant:"pi",fontColor:"neutral150",style:{margin:"3px 0 0",display:"inline-block"},children:m(B("pages.main.search.subLabel","press ENTER to highlight next item"))})]}):f.jsx(ar,{children:f.jsx(x3,{}),onClick:()=>h(!d)})},ore=new pt.QueryClient,sre=()=>{const{formatMessage:t}=mt.useIntl(),e=Lm(),[n,r]=x.useState(),[i,o]=x.useState(),[s,a]=x.useState(),[c,d]=x.useState(!1),[h,g]=x.useState(!1),[m,b]=x.useState(),v=x.useMemo(()=>({access:aa.access,update:aa.update}),[]),{isLoading:w,allowedActions:{canUpdate:y,canAccess:$}}=Ke.useRBAC(v),A=jm(),k=rc(),I=XS(),E=QS([A,{isPending:w}]),L=Yte(),[{value:D,index:H},V]=x.useState({value:"",index:0}),z=Me.isEmpty(D),q=(D||"").toLowerCase(),W=(Se,it,oe)=>{const je=Se.reduce((qe,We)=>{const be=We.items?.length?W(We.items??[],it):[];return it(We)?[We,...be,...qe]:[...be,...qe]},[]);if(oe!==void 0){const qe=oe%je.length;return je.map((We,be)=>qe===be?{...We,isSearchActive:!0}:We)}return je},Z=z?[]:W(i?.items.map(Se=>({...Se}))??[],Se=>(Se?.title||"").toLowerCase().includes(q),q?H:void 0),K=x.useCallback((Se,it={})=>{a(it),d(Se)},[d]),le=x.useCallback((Se,it,oe=!0,je="",qe=!0,We="0",be=0)=>{y&&(Se.preventDefault(),Se.stopPropagation(),K(!0,{viewParentId:it,isMenuAllowedLevel:oe,levelPath:je,parentAttachedToMenu:qe,structureId:We,viewId:void 0,order:be+1}))},[K,y]),ce=x.useMemo(()=>(e.data?[e.data.defaultLocale,...e.data.restLocale]:[]).filter(Se=>Se!==m),[e.data,m]),se=Ute(),ue=Wte(),{i18nCopyItemsModal:Y,i18nCopySourceLocale:me,setI18nCopyModalOpened:$e,setI18nCopySourceLocale:Ne}=Qte(x.useCallback(Se=>{const it=A.data?.find(({locale:oe,documentId:je})=>oe===Se&&je===i?.documentId);it&&it.documentId&&i?.documentId&&L.mutate({source:it.locale,target:i.locale,documentId:it.documentId},{onSuccess(oe){L.reset(),o({...oe.data,items:oe.data.items.map(_m)}),se(),ue()}})},[i])),Oe=x.useCallback(()=>{me&&$e(!0)},[$e,me]),te=YS(()=>{r({documentId:i?.documentId,id:i?.id}),o(void 0)}),ve=()=>{i&&te.mutate(i)},de=Se=>{Se.preventDefault(),Se.stopPropagation(),Se.target.tagName!=="HTML"&&K(!1)},ee=({item:Se,newOrder:it})=>{ye({...Se,order:it})},we=Se=>{ye(Ji({...Se,removed:!0},!0))},xe=Se=>{ye(Ji({...Se,removed:!1},!0))},he=Se=>{ye(Ji({...Se,collapsed:!Se.collapsed,updated:!0,isSearchActive:!1},!0))},De=({item:Se,levelPath:it="",parentAttachedToMenu:oe=!0})=>{K(!0,{...Se,levelPath:it,parentAttachedToMenu:oe})},ye=Se=>{if(i&&k.data){const it=zs(Se,i?.items??[],k.data);o({...i,items:it}),g(!0),d(!1)}},ct=z?i?.items??[]:Z,rt=x.useCallback(()=>{i&&o({...i,items:i.items.map(Se=>Is(Se,!1))})},[o,i,Is]),Ge=x.useCallback(()=>{i&&o({...i,items:i.items.map(Se=>Is(Se,!0))})},[o,i,Is]),Rt=[{onClick:rt,type:"submit",variant:"tertiary",tradId:"header.action.expandAll",margin:"8px"},{onClick:Ge,type:"submit",variant:"tertiary",tradId:"header.action.collapseAll",margin:"8px"}];return y&&Rt.push({onClick:le,type:"submit",variant:"primary",tradId:"header.action.newItem",startIcon:f.jsx(Op,{}),margin:"8px"}),x.useEffect(()=>{if(!i&&A.data?.[0]){let Se;n?.documentId&&(Se=A.data.find(it=>it.documentId===n.documentId&&it.id===n.id)),r(void 0),o(Se||Me.first(A.data))}},[A.data]),x.useEffect(()=>{!m&&e.data?.defaultLocale&&b(e.data?.defaultLocale)},[A.data]),x.useEffect(()=>{if(i&&m!==i.locale){r(void 0);const Se=A.data?.find(it=>it.documentId===i.documentId&&it.locale===m);Se&&Se.documentId===i.documentId&&Se.locale!==i.locale&&o(Se)}},[i,m,A.data]),x.useEffect(()=>{!m&&e.data?.defaultLocale&&b(e.data.defaultLocale)},[A.data]),!A.data||!e.data||E?f.jsx(Ke.Page.Loading,{}):f.jsxs(Ke.Layouts.Root,{children:[f.jsx(Ke.Page.Title,{children:t(B("header.title","UI Navigation"))}),f.jsxs(Ke.Page.Main,{children:[f.jsx(Cne,{availableNavigations:A.data,activeNavigation:i,handleCachePurge:()=>I.mutate(void 0),handleChangeSelection:o,handleLocalizationSelection:b,handleSave:ve,locale:e.data,structureHasChanged:h,permissions:{canUpdate:y},currentLocale:m}),f.jsxs(Ke.Layouts.Content,{children:[f.jsx($ne,{startActions:f.jsx(ire,{value:D,setValue:V}),endActions:Rt.map(({tradId:Se,margin:it,...oe},je)=>f.jsx(Re,{marginLeft:it,children:f.jsxs(jt,{...oe,children:[" ",t(B(Se))," "]})},je))}),i?.items.length?f.jsx(e8,{items:ct,onItemLevelAdd:le,onItemRemove:we,onItemEdit:De,onItemRestore:xe,onItemReOrder:ee,onItemToggleCollapse:he,displayFlat:!z,isParentAttachedToMenu:!0,permissions:{canUpdate:y,canAccess:$},structurePrefix:"",locale:m??""}):f.jsxs(fe,{direction:"column",minHeight:"400px",justifyContent:"center",children:[f.jsx(Re,{padding:4,children:f.jsx(pe,{variant:"beta",textColor:"neutral600",children:t(B("empty.description"))})}),y&&f.jsx(jt,{variant:"secondary",startIcon:f.jsx(oN,{}),label:t(B("empty.cta")),onClick:le,children:t(B("empty.cta"))}),y&&ce.length?f.jsxs(fe,{direction:"column",justifyContent:"center",children:[f.jsx(Re,{paddingTop:3,paddingBottom:3,children:f.jsx(pe,{variant:"beta",textColor:"neutral600",children:t(B("view.i18n.fill.cta.header"))})}),f.jsxs(fe,{direction:"row",justifyContent:"center",alignItems:"center",children:[f.jsx(Re,{paddingLeft:1,paddingRight:1,children:f.jsx(Sr,{onChange:Ne,value:me,size:"S",children:ce.map(Se=>f.jsx(Ar,{value:Se,children:t(B("view.i18n.fill.option"),{locale:Se})},Se))})}),f.jsx(Re,{paddingLeft:1,paddingRight:1,children:f.jsx(jt,{variant:"tertiary",onClick:Oe,disabled:!me,size:"S",children:t(B("view.i18n.fill.cta.button"))})})]})]}):null]}),c&&m&&i&&f.jsx(rre,{availableLocale:ce,currentItem:s,onSubmit:ye,onClose:de,locale:m,permissions:{canUpdate:y},isOpen:c,isLoading:w,currentNavigation:i}),y&&Y]})]})]})};function are(){const t=zS();return f.jsx(pt.QueryClientProvider,{client:ore,children:f.jsx(mS,{theme:t,children:f.jsx(sre,{})})})}const lre=()=>f.jsx(Z0.DndProvider,{backend:jE.HTML5Backend,children:f.jsxs(Xf.Routes,{children:[f.jsx(Xf.Route,{path:"/",index:!0,Component:are}),f.jsx(Xf.Route,{path:"/*",Component:Ke.Page.Error})]})}),cre=ei.default(gQ)`
2307
2307
  [role='status'] {
2308
2308
  flex-direction: column;
2309
2309
  }