var QT=Object.defineProperty;var IT=(t,e,n)=>e in t?QT(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n;var et=(t,e,n)=>IT(t,typeof e!="symbol"?e+"":e,n);(function(){const e=document.createElement("link").relList;if(e&&e.supports&&e.supports("modulepreload"))return;for(const i of document.querySelectorAll('link[rel="modulepreload"]'))r(i);new MutationObserver(i=>{for(const s of i)if(s.type==="childList")for(const o of s.addedNodes)o.tagName==="LINK"&&o.rel==="modulepreload"&&r(o)}).observe(document,{childList:!0,subtree:!0});function n(i){const s={};return i.integrity&&(s.integrity=i.integrity),i.referrerPolicy&&(s.referrerPolicy=i.referrerPolicy),i.crossOrigin==="use-credentials"?s.credentials="include":i.crossOrigin==="anonymous"?s.credentials="omit":s.credentials="same-origin",s}function r(i){if(i.ep)return;i.ep=!0;const s=n(i);fetch(i.href,s)}})();function zT(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t}var hS={exports:{}},Uf={},fS={exports:{}},Te={};/** * @license React * react.production.min.js * * Copyright (c) Facebook, Inc. and its affiliates. * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. */var Nu=Symbol.for("react.element"),FT=Symbol.for("react.portal"),NT=Symbol.for("react.fragment"),$T=Symbol.for("react.strict_mode"),WT=Symbol.for("react.profiler"),UT=Symbol.for("react.provider"),qT=Symbol.for("react.context"),jT=Symbol.for("react.forward_ref"),HT=Symbol.for("react.suspense"),VT=Symbol.for("react.memo"),XT=Symbol.for("react.lazy"),F1=Symbol.iterator;function GT(t){return t===null||typeof t!="object"?null:(t=F1&&t[F1]||t["@@iterator"],typeof t=="function"?t:null)}var dS={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},pS=Object.assign,mS={};function Dl(t,e,n){this.props=t,this.context=e,this.refs=mS,this.updater=n||dS}Dl.prototype.isReactComponent={};Dl.prototype.setState=function(t,e){if(typeof t!="object"&&typeof t!="function"&&t!=null)throw Error("setState(...): takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,t,e,"setState")};Dl.prototype.forceUpdate=function(t){this.updater.enqueueForceUpdate(this,t,"forceUpdate")};function gS(){}gS.prototype=Dl.prototype;function C0(t,e,n){this.props=t,this.context=e,this.refs=mS,this.updater=n||dS}var T0=C0.prototype=new gS;T0.constructor=C0;pS(T0,Dl.prototype);T0.isPureReactComponent=!0;var N1=Array.isArray,OS=Object.prototype.hasOwnProperty,P0={current:null},yS={key:!0,ref:!0,__self:!0,__source:!0};function vS(t,e,n){var r,i={},s=null,o=null;if(e!=null)for(r in e.ref!==void 0&&(o=e.ref),e.key!==void 0&&(s=""+e.key),e)OS.call(e,r)&&!yS.hasOwnProperty(r)&&(i[r]=e[r]);var l=arguments.length-2;if(l===1)i.children=n;else if(1>>1,te=N[we];if(0>>1;wei(ve,se))pei(me,ve)?(N[we]=me,N[pe]=se,we=pe):(N[we]=ve,N[Je]=se,we=Je);else if(pei(me,se))N[we]=me,N[pe]=se,we=pe;else break e}}return X}function i(N,X){var se=N.sortIndex-X.sortIndex;return se!==0?se:N.id-X.id}if(typeof performance=="object"&&typeof performance.now=="function"){var s=performance;t.unstable_now=function(){return s.now()}}else{var o=Date,l=o.now();t.unstable_now=function(){return o.now()-l}}var a=[],u=[],c=1,d=null,p=3,g=!1,y=!1,w=!1,_=typeof setTimeout=="function"?setTimeout:null,x=typeof clearTimeout=="function"?clearTimeout:null,S=typeof setImmediate<"u"?setImmediate:null;typeof navigator<"u"&&navigator.scheduling!==void 0&&navigator.scheduling.isInputPending!==void 0&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function b(N){for(var X=n(u);X!==null;){if(X.callback===null)r(u);else if(X.startTime<=N)r(u),X.sortIndex=X.expirationTime,e(a,X);else break;X=n(u)}}function T(N){if(w=!1,b(N),!y)if(n(a)!==null)y=!0,oe(P);else{var X=n(u);X!==null&&ye(T,X.startTime-N)}}function P(N,X){y=!1,w&&(w=!1,x(L),L=-1),g=!0;var se=p;try{for(b(X),d=n(a);d!==null&&(!(d.expirationTime>X)||N&&!j());){var we=d.callback;if(typeof we=="function"){d.callback=null,p=d.priorityLevel;var te=we(d.expirationTime<=X);X=t.unstable_now(),typeof te=="function"?d.callback=te:d===n(a)&&r(a),b(X)}else r(a);d=n(a)}if(d!==null)var Be=!0;else{var Je=n(u);Je!==null&&ye(T,Je.startTime-X),Be=!1}return Be}finally{d=null,p=se,g=!1}}var D=!1,M=null,L=-1,B=5,I=-1;function j(){return!(t.unstable_now()-IN||125we?(N.sortIndex=se,e(u,N),n(a)===null&&N===n(u)&&(w?(x(L),L=-1):w=!0,ye(T,se-we))):(N.sortIndex=te,e(a,N),y||g||(y=!0,oe(P))),N},t.unstable_shouldYield=j,t.unstable_wrapCallback=function(N){var X=p;return function(){var se=p;p=X;try{return N.apply(this,arguments)}finally{p=se}}}})(bS);kS.exports=bS;var oP=kS.exports;/** * @license React * react-dom.production.min.js * * Copyright (c) Facebook, Inc. and its affiliates. * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. */var lP=ae,Un=oP;function K(t){for(var e="https://reactjs.org/docs/error-decoder.html?invariant="+t,n=1;n"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),bm=Object.prototype.hasOwnProperty,aP=/^[:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD][:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\-.0-9\u00B7\u0300-\u036F\u203F-\u2040]*$/,W1={},U1={};function uP(t){return bm.call(U1,t)?!0:bm.call(W1,t)?!1:aP.test(t)?U1[t]=!0:(W1[t]=!0,!1)}function cP(t,e,n,r){if(n!==null&&n.type===0)return!1;switch(typeof e){case"function":case"symbol":return!0;case"boolean":return r?!1:n!==null?!n.acceptsBooleans:(t=t.toLowerCase().slice(0,5),t!=="data-"&&t!=="aria-");default:return!1}}function hP(t,e,n,r){if(e===null||typeof e>"u"||cP(t,e,n,r))return!0;if(r)return!1;if(n!==null)switch(n.type){case 3:return!e;case 4:return e===!1;case 5:return isNaN(e);case 6:return isNaN(e)||1>e}return!1}function fn(t,e,n,r,i,s,o){this.acceptsBooleans=e===2||e===3||e===4,this.attributeName=r,this.attributeNamespace=i,this.mustUseProperty=n,this.propertyName=t,this.type=e,this.sanitizeURL=s,this.removeEmptyString=o}var Vt={};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach(function(t){Vt[t]=new fn(t,0,!1,t,null,!1,!1)});[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach(function(t){var e=t[0];Vt[e]=new fn(e,1,!1,t[1],null,!1,!1)});["contentEditable","draggable","spellCheck","value"].forEach(function(t){Vt[t]=new fn(t,2,!1,t.toLowerCase(),null,!1,!1)});["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach(function(t){Vt[t]=new fn(t,2,!1,t,null,!1,!1)});"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope".split(" ").forEach(function(t){Vt[t]=new fn(t,3,!1,t.toLowerCase(),null,!1,!1)});["checked","multiple","muted","selected"].forEach(function(t){Vt[t]=new fn(t,3,!0,t,null,!1,!1)});["capture","download"].forEach(function(t){Vt[t]=new fn(t,4,!1,t,null,!1,!1)});["cols","rows","size","span"].forEach(function(t){Vt[t]=new fn(t,6,!1,t,null,!1,!1)});["rowSpan","start"].forEach(function(t){Vt[t]=new fn(t,5,!1,t.toLowerCase(),null,!1,!1)});var D0=/[\-:]([a-z])/g;function R0(t){return t[1].toUpperCase()}"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height".split(" ").forEach(function(t){var e=t.replace(D0,R0);Vt[e]=new fn(e,1,!1,t,null,!1,!1)});"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type".split(" ").forEach(function(t){var e=t.replace(D0,R0);Vt[e]=new fn(e,1,!1,t,"http://www.w3.org/1999/xlink",!1,!1)});["xml:base","xml:lang","xml:space"].forEach(function(t){var e=t.replace(D0,R0);Vt[e]=new fn(e,1,!1,t,"http://www.w3.org/XML/1998/namespace",!1,!1)});["tabIndex","crossOrigin"].forEach(function(t){Vt[t]=new fn(t,1,!1,t.toLowerCase(),null,!1,!1)});Vt.xlinkHref=new fn("xlinkHref",1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0,!1);["src","href","action","formAction"].forEach(function(t){Vt[t]=new fn(t,1,!1,t.toLowerCase(),null,!0,!0)});function B0(t,e,n,r){var i=Vt.hasOwnProperty(e)?Vt[e]:null;(i!==null?i.type!==0:r||!(2l||i[o]!==s[l]){var a=` `+i[o].replace(" at new "," at ");return t.displayName&&a.includes("")&&(a=a.replace("",t.displayName)),a}while(1<=o&&0<=l);break}}}finally{Vd=!1,Error.prepareStackTrace=n}return(t=t?t.displayName||t.name:"")?wa(t):""}function fP(t){switch(t.tag){case 5:return wa(t.type);case 16:return wa("Lazy");case 13:return wa("Suspense");case 19:return wa("SuspenseList");case 0:case 2:case 15:return t=Xd(t.type,!1),t;case 11:return t=Xd(t.type.render,!1),t;case 1:return t=Xd(t.type,!0),t;default:return""}}function Tm(t){if(t==null)return null;if(typeof t=="function")return t.displayName||t.name||null;if(typeof t=="string")return t;switch(t){case Fo:return"Fragment";case zo:return"Portal";case _m:return"Profiler";case L0:return"StrictMode";case Em:return"Suspense";case Cm:return"SuspenseList"}if(typeof t=="object")switch(t.$$typeof){case CS:return(t.displayName||"Context")+".Consumer";case ES:return(t._context.displayName||"Context")+".Provider";case Q0:var e=t.render;return t=t.displayName,t||(t=e.displayName||e.name||"",t=t!==""?"ForwardRef("+t+")":"ForwardRef"),t;case I0:return e=t.displayName||null,e!==null?e:Tm(t.type)||"Memo";case Ii:e=t._payload,t=t._init;try{return Tm(t(e))}catch{}}return null}function dP(t){var e=t.type;switch(t.tag){case 24:return"Cache";case 9:return(e.displayName||"Context")+".Consumer";case 10:return(e._context.displayName||"Context")+".Provider";case 18:return"DehydratedFragment";case 11:return t=e.render,t=t.displayName||t.name||"",e.displayName||(t!==""?"ForwardRef("+t+")":"ForwardRef");case 7:return"Fragment";case 5:return e;case 4:return"Portal";case 3:return"Root";case 6:return"Text";case 16:return Tm(e);case 8:return e===L0?"StrictMode":"Mode";case 22:return"Offscreen";case 12:return"Profiler";case 21:return"Scope";case 13:return"Suspense";case 19:return"SuspenseList";case 25:return"TracingMarker";case 1:case 0:case 17:case 2:case 14:case 15:if(typeof e=="function")return e.displayName||e.name||null;if(typeof e=="string")return e}return null}function as(t){switch(typeof t){case"boolean":case"number":case"string":case"undefined":return t;case"object":return t;default:return""}}function PS(t){var e=t.type;return(t=t.nodeName)&&t.toLowerCase()==="input"&&(e==="checkbox"||e==="radio")}function pP(t){var e=PS(t)?"checked":"value",n=Object.getOwnPropertyDescriptor(t.constructor.prototype,e),r=""+t[e];if(!t.hasOwnProperty(e)&&typeof n<"u"&&typeof n.get=="function"&&typeof n.set=="function"){var i=n.get,s=n.set;return Object.defineProperty(t,e,{configurable:!0,get:function(){return i.call(this)},set:function(o){r=""+o,s.call(this,o)}}),Object.defineProperty(t,e,{enumerable:n.enumerable}),{getValue:function(){return r},setValue:function(o){r=""+o},stopTracking:function(){t._valueTracker=null,delete t[e]}}}}function wc(t){t._valueTracker||(t._valueTracker=pP(t))}function MS(t){if(!t)return!1;var e=t._valueTracker;if(!e)return!0;var n=e.getValue(),r="";return t&&(r=PS(t)?t.checked?"true":"false":t.value),t=r,t!==n?(e.setValue(t),!0):!1}function zh(t){if(t=t||(typeof document<"u"?document:void 0),typeof t>"u")return null;try{return t.activeElement||t.body}catch{return t.body}}function Pm(t,e){var n=e.checked;return lt({},e,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:n??t._wrapperState.initialChecked})}function j1(t,e){var n=e.defaultValue==null?"":e.defaultValue,r=e.checked!=null?e.checked:e.defaultChecked;n=as(e.value!=null?e.value:n),t._wrapperState={initialChecked:r,initialValue:n,controlled:e.type==="checkbox"||e.type==="radio"?e.checked!=null:e.value!=null}}function DS(t,e){e=e.checked,e!=null&&B0(t,"checked",e,!1)}function Mm(t,e){DS(t,e);var n=as(e.value),r=e.type;if(n!=null)r==="number"?(n===0&&t.value===""||t.value!=n)&&(t.value=""+n):t.value!==""+n&&(t.value=""+n);else if(r==="submit"||r==="reset"){t.removeAttribute("value");return}e.hasOwnProperty("value")?Dm(t,e.type,n):e.hasOwnProperty("defaultValue")&&Dm(t,e.type,as(e.defaultValue)),e.checked==null&&e.defaultChecked!=null&&(t.defaultChecked=!!e.defaultChecked)}function H1(t,e,n){if(e.hasOwnProperty("value")||e.hasOwnProperty("defaultValue")){var r=e.type;if(!(r!=="submit"&&r!=="reset"||e.value!==void 0&&e.value!==null))return;e=""+t._wrapperState.initialValue,n||e===t.value||(t.value=e),t.defaultValue=e}n=t.name,n!==""&&(t.name=""),t.defaultChecked=!!t._wrapperState.initialChecked,n!==""&&(t.name=n)}function Dm(t,e,n){(e!=="number"||zh(t.ownerDocument)!==t)&&(n==null?t.defaultValue=""+t._wrapperState.initialValue:t.defaultValue!==""+n&&(t.defaultValue=""+n))}var xa=Array.isArray;function Jo(t,e,n,r){if(t=t.options,e){e={};for(var i=0;i"+e.valueOf().toString()+"",e=xc.firstChild;t.firstChild;)t.removeChild(t.firstChild);for(;e.firstChild;)t.appendChild(e.firstChild)}});function Ja(t,e){if(e){var n=t.firstChild;if(n&&n===t.lastChild&&n.nodeType===3){n.nodeValue=e;return}}t.textContent=e}var Ra={animationIterationCount:!0,aspectRatio:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},mP=["Webkit","ms","Moz","O"];Object.keys(Ra).forEach(function(t){mP.forEach(function(e){e=e+t.charAt(0).toUpperCase()+t.substring(1),Ra[e]=Ra[t]})});function QS(t,e,n){return e==null||typeof e=="boolean"||e===""?"":n||typeof e!="number"||e===0||Ra.hasOwnProperty(t)&&Ra[t]?(""+e).trim():e+"px"}function IS(t,e){t=t.style;for(var n in e)if(e.hasOwnProperty(n)){var r=n.indexOf("--")===0,i=QS(n,e[n],r);n==="float"&&(n="cssFloat"),r?t.setProperty(n,i):t[n]=i}}var gP=lt({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});function Lm(t,e){if(e){if(gP[t]&&(e.children!=null||e.dangerouslySetInnerHTML!=null))throw Error(K(137,t));if(e.dangerouslySetInnerHTML!=null){if(e.children!=null)throw Error(K(60));if(typeof e.dangerouslySetInnerHTML!="object"||!("__html"in e.dangerouslySetInnerHTML))throw Error(K(61))}if(e.style!=null&&typeof e.style!="object")throw Error(K(62))}}function Qm(t,e){if(t.indexOf("-")===-1)return typeof e.is=="string";switch(t){case"annotation-xml":case"color-profile":case"font-face":case"font-face-src":case"font-face-uri":case"font-face-format":case"font-face-name":case"missing-glyph":return!1;default:return!0}}var Im=null;function z0(t){return t=t.target||t.srcElement||window,t.correspondingUseElement&&(t=t.correspondingUseElement),t.nodeType===3?t.parentNode:t}var zm=null,el=null,tl=null;function G1(t){if(t=Uu(t)){if(typeof zm!="function")throw Error(K(280));var e=t.stateNode;e&&(e=Xf(e),zm(t.stateNode,t.type,e))}}function zS(t){el?tl?tl.push(t):tl=[t]:el=t}function FS(){if(el){var t=el,e=tl;if(tl=el=null,G1(t),e)for(t=0;t>>=0,t===0?32:31-(CP(t)/TP|0)|0}var Sc=64,kc=4194304;function Sa(t){switch(t&-t){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return t&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return t&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;default:return t}}function Wh(t,e){var n=t.pendingLanes;if(n===0)return 0;var r=0,i=t.suspendedLanes,s=t.pingedLanes,o=n&268435455;if(o!==0){var l=o&~i;l!==0?r=Sa(l):(s&=o,s!==0&&(r=Sa(s)))}else o=n&~i,o!==0?r=Sa(o):s!==0&&(r=Sa(s));if(r===0)return 0;if(e!==0&&e!==r&&!(e&i)&&(i=r&-r,s=e&-e,i>=s||i===16&&(s&4194240)!==0))return e;if(r&4&&(r|=n&16),e=t.entangledLanes,e!==0)for(t=t.entanglements,e&=r;0n;n++)e.push(t);return e}function $u(t,e,n){t.pendingLanes|=e,e!==536870912&&(t.suspendedLanes=0,t.pingedLanes=0),t=t.eventTimes,e=31-kr(e),t[e]=n}function RP(t,e){var n=t.pendingLanes&~e;t.pendingLanes=e,t.suspendedLanes=0,t.pingedLanes=0,t.expiredLanes&=e,t.mutableReadLanes&=e,t.entangledLanes&=e,e=t.entanglements;var r=t.eventTimes;for(t=t.expirationTimes;0=La),ry=" ",iy=!1;function ik(t,e){switch(t){case"keyup":return oM.indexOf(e.keyCode)!==-1;case"keydown":return e.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function sk(t){return t=t.detail,typeof t=="object"&&"data"in t?t.data:null}var No=!1;function aM(t,e){switch(t){case"compositionend":return sk(e);case"keypress":return e.which!==32?null:(iy=!0,ry);case"textInput":return t=e.data,t===ry&&iy?null:t;default:return null}}function uM(t,e){if(No)return t==="compositionend"||!H0&&ik(t,e)?(t=nk(),gh=U0=Vi=null,No=!1,t):null;switch(t){case"paste":return null;case"keypress":if(!(e.ctrlKey||e.altKey||e.metaKey)||e.ctrlKey&&e.altKey){if(e.char&&1=e)return{node:n,offset:e-t};t=r}e:{for(;n;){if(n.nextSibling){n=n.nextSibling;break e}n=n.parentNode}n=void 0}n=ay(n)}}function uk(t,e){return t&&e?t===e?!0:t&&t.nodeType===3?!1:e&&e.nodeType===3?uk(t,e.parentNode):"contains"in t?t.contains(e):t.compareDocumentPosition?!!(t.compareDocumentPosition(e)&16):!1:!1}function ck(){for(var t=window,e=zh();e instanceof t.HTMLIFrameElement;){try{var n=typeof e.contentWindow.location.href=="string"}catch{n=!1}if(n)t=e.contentWindow;else break;e=zh(t.document)}return e}function V0(t){var e=t&&t.nodeName&&t.nodeName.toLowerCase();return e&&(e==="input"&&(t.type==="text"||t.type==="search"||t.type==="tel"||t.type==="url"||t.type==="password")||e==="textarea"||t.contentEditable==="true")}function yM(t){var e=ck(),n=t.focusedElem,r=t.selectionRange;if(e!==n&&n&&n.ownerDocument&&uk(n.ownerDocument.documentElement,n)){if(r!==null&&V0(n)){if(e=r.start,t=r.end,t===void 0&&(t=e),"selectionStart"in n)n.selectionStart=e,n.selectionEnd=Math.min(t,n.value.length);else if(t=(e=n.ownerDocument||document)&&e.defaultView||window,t.getSelection){t=t.getSelection();var i=n.textContent.length,s=Math.min(r.start,i);r=r.end===void 0?s:Math.min(r.end,i),!t.extend&&s>r&&(i=r,r=s,s=i),i=uy(n,s);var o=uy(n,r);i&&o&&(t.rangeCount!==1||t.anchorNode!==i.node||t.anchorOffset!==i.offset||t.focusNode!==o.node||t.focusOffset!==o.offset)&&(e=e.createRange(),e.setStart(i.node,i.offset),t.removeAllRanges(),s>r?(t.addRange(e),t.extend(o.node,o.offset)):(e.setEnd(o.node,o.offset),t.addRange(e)))}}for(e=[],t=n;t=t.parentNode;)t.nodeType===1&&e.push({element:t,left:t.scrollLeft,top:t.scrollTop});for(typeof n.focus=="function"&&n.focus(),n=0;n=document.documentMode,$o=null,qm=null,Ia=null,jm=!1;function cy(t,e,n){var r=n.window===n?n.document:n.nodeType===9?n:n.ownerDocument;jm||$o==null||$o!==zh(r)||(r=$o,"selectionStart"in r&&V0(r)?r={start:r.selectionStart,end:r.selectionEnd}:(r=(r.ownerDocument&&r.ownerDocument.defaultView||window).getSelection(),r={anchorNode:r.anchorNode,anchorOffset:r.anchorOffset,focusNode:r.focusNode,focusOffset:r.focusOffset}),Ia&&su(Ia,r)||(Ia=r,r=jh(qm,"onSelect"),0qo||(t.current=Km[qo],Km[qo]=null,qo--)}function Ge(t,e){qo++,Km[qo]=t.current,t.current=e}var us={},tn=ys(us),_n=ys(!1),Ks=us;function ml(t,e){var n=t.type.contextTypes;if(!n)return us;var r=t.stateNode;if(r&&r.__reactInternalMemoizedUnmaskedChildContext===e)return r.__reactInternalMemoizedMaskedChildContext;var i={},s;for(s in n)i[s]=e[s];return r&&(t=t.stateNode,t.__reactInternalMemoizedUnmaskedChildContext=e,t.__reactInternalMemoizedMaskedChildContext=i),i}function En(t){return t=t.childContextTypes,t!=null}function Vh(){Ae(_n),Ae(tn)}function Oy(t,e,n){if(tn.current!==us)throw Error(K(168));Ge(tn,e),Ge(_n,n)}function vk(t,e,n){var r=t.stateNode;if(e=e.childContextTypes,typeof r.getChildContext!="function")return n;r=r.getChildContext();for(var i in r)if(!(i in e))throw Error(K(108,dP(t)||"Unknown",i));return lt({},n,r)}function Xh(t){return t=(t=t.stateNode)&&t.__reactInternalMemoizedMergedChildContext||us,Ks=tn.current,Ge(tn,t),Ge(_n,_n.current),!0}function yy(t,e,n){var r=t.stateNode;if(!r)throw Error(K(169));n?(t=vk(t,e,Ks),r.__reactInternalMemoizedMergedChildContext=t,Ae(_n),Ae(tn),Ge(tn,t)):Ae(_n),Ge(_n,n)}var ci=null,Gf=!1,lp=!1;function wk(t){ci===null?ci=[t]:ci.push(t)}function MM(t){Gf=!0,wk(t)}function vs(){if(!lp&&ci!==null){lp=!0;var t=0,e=qe;try{var n=ci;for(qe=1;t>=o,i-=o,pi=1<<32-kr(e)+i|n<L?(B=M,M=null):B=M.sibling;var I=p(x,M,b[L],T);if(I===null){M===null&&(M=B);break}t&&M&&I.alternate===null&&e(x,M),S=s(I,S,L),D===null?P=I:D.sibling=I,D=I,M=B}if(L===b.length)return n(x,M),nt&&Ds(x,L),P;if(M===null){for(;LL?(B=M,M=null):B=M.sibling;var j=p(x,M,I.value,T);if(j===null){M===null&&(M=B);break}t&&M&&j.alternate===null&&e(x,M),S=s(j,S,L),D===null?P=j:D.sibling=j,D=j,M=B}if(I.done)return n(x,M),nt&&Ds(x,L),P;if(M===null){for(;!I.done;L++,I=b.next())I=d(x,I.value,T),I!==null&&(S=s(I,S,L),D===null?P=I:D.sibling=I,D=I);return nt&&Ds(x,L),P}for(M=r(x,M);!I.done;L++,I=b.next())I=g(M,x,L,I.value,T),I!==null&&(t&&I.alternate!==null&&M.delete(I.key===null?L:I.key),S=s(I,S,L),D===null?P=I:D.sibling=I,D=I);return t&&M.forEach(function(V){return e(x,V)}),nt&&Ds(x,L),P}function _(x,S,b,T){if(typeof b=="object"&&b!==null&&b.type===Fo&&b.key===null&&(b=b.props.children),typeof b=="object"&&b!==null){switch(b.$$typeof){case vc:e:{for(var P=b.key,D=S;D!==null;){if(D.key===P){if(P=b.type,P===Fo){if(D.tag===7){n(x,D.sibling),S=i(D,b.props.children),S.return=x,x=S;break e}}else if(D.elementType===P||typeof P=="object"&&P!==null&&P.$$typeof===Ii&&xy(P)===D.type){n(x,D.sibling),S=i(D,b.props),S.ref=ua(x,D,b),S.return=x,x=S;break e}n(x,D);break}else e(x,D);D=D.sibling}b.type===Fo?(S=Hs(b.props.children,x.mode,T,b.key),S.return=x,x=S):(T=bh(b.type,b.key,b.props,null,x.mode,T),T.ref=ua(x,S,b),T.return=x,x=T)}return o(x);case zo:e:{for(D=b.key;S!==null;){if(S.key===D)if(S.tag===4&&S.stateNode.containerInfo===b.containerInfo&&S.stateNode.implementation===b.implementation){n(x,S.sibling),S=i(S,b.children||[]),S.return=x,x=S;break e}else{n(x,S);break}else e(x,S);S=S.sibling}S=mp(b,x.mode,T),S.return=x,x=S}return o(x);case Ii:return D=b._init,_(x,S,D(b._payload),T)}if(xa(b))return y(x,S,b,T);if(ia(b))return w(x,S,b,T);Mc(x,b)}return typeof b=="string"&&b!==""||typeof b=="number"?(b=""+b,S!==null&&S.tag===6?(n(x,S.sibling),S=i(S,b),S.return=x,x=S):(n(x,S),S=pp(b,x.mode,T),S.return=x,x=S),o(x)):n(x,S)}return _}var Ol=bk(!0),_k=bk(!1),Kh=ys(null),Zh=null,Vo=null,K0=null;function Z0(){K0=Vo=Zh=null}function A0(t){var e=Kh.current;Ae(Kh),t._currentValue=e}function Jm(t,e,n){for(;t!==null;){var r=t.alternate;if((t.childLanes&e)!==e?(t.childLanes|=e,r!==null&&(r.childLanes|=e)):r!==null&&(r.childLanes&e)!==e&&(r.childLanes|=e),t===n)break;t=t.return}}function rl(t,e){Zh=t,K0=Vo=null,t=t.dependencies,t!==null&&t.firstContext!==null&&(t.lanes&e&&(xn=!0),t.firstContext=null)}function lr(t){var e=t._currentValue;if(K0!==t)if(t={context:t,memoizedValue:e,next:null},Vo===null){if(Zh===null)throw Error(K(308));Vo=t,Zh.dependencies={lanes:0,firstContext:t}}else Vo=Vo.next=t;return e}var zs=null;function J0(t){zs===null?zs=[t]:zs.push(t)}function Ek(t,e,n,r){var i=e.interleaved;return i===null?(n.next=n,J0(e)):(n.next=i.next,i.next=n),e.interleaved=n,wi(t,r)}function wi(t,e){t.lanes|=e;var n=t.alternate;for(n!==null&&(n.lanes|=e),n=t,t=t.return;t!==null;)t.childLanes|=e,n=t.alternate,n!==null&&(n.childLanes|=e),n=t,t=t.return;return n.tag===3?n.stateNode:null}var zi=!1;function eO(t){t.updateQueue={baseState:t.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,interleaved:null,lanes:0},effects:null}}function Ck(t,e){t=t.updateQueue,e.updateQueue===t&&(e.updateQueue={baseState:t.baseState,firstBaseUpdate:t.firstBaseUpdate,lastBaseUpdate:t.lastBaseUpdate,shared:t.shared,effects:t.effects})}function gi(t,e){return{eventTime:t,lane:e,tag:0,payload:null,callback:null,next:null}}function ts(t,e,n){var r=t.updateQueue;if(r===null)return null;if(r=r.shared,Qe&2){var i=r.pending;return i===null?e.next=e:(e.next=i.next,i.next=e),r.pending=e,wi(t,n)}return i=r.interleaved,i===null?(e.next=e,J0(r)):(e.next=i.next,i.next=e),r.interleaved=e,wi(t,n)}function yh(t,e,n){if(e=e.updateQueue,e!==null&&(e=e.shared,(n&4194240)!==0)){var r=e.lanes;r&=t.pendingLanes,n|=r,e.lanes=n,N0(t,n)}}function Sy(t,e){var n=t.updateQueue,r=t.alternate;if(r!==null&&(r=r.updateQueue,n===r)){var i=null,s=null;if(n=n.firstBaseUpdate,n!==null){do{var o={eventTime:n.eventTime,lane:n.lane,tag:n.tag,payload:n.payload,callback:n.callback,next:null};s===null?i=s=o:s=s.next=o,n=n.next}while(n!==null);s===null?i=s=e:s=s.next=e}else i=s=e;n={baseState:r.baseState,firstBaseUpdate:i,lastBaseUpdate:s,shared:r.shared,effects:r.effects},t.updateQueue=n;return}t=n.lastBaseUpdate,t===null?n.firstBaseUpdate=e:t.next=e,n.lastBaseUpdate=e}function Ah(t,e,n,r){var i=t.updateQueue;zi=!1;var s=i.firstBaseUpdate,o=i.lastBaseUpdate,l=i.shared.pending;if(l!==null){i.shared.pending=null;var a=l,u=a.next;a.next=null,o===null?s=u:o.next=u,o=a;var c=t.alternate;c!==null&&(c=c.updateQueue,l=c.lastBaseUpdate,l!==o&&(l===null?c.firstBaseUpdate=u:l.next=u,c.lastBaseUpdate=a))}if(s!==null){var d=i.baseState;o=0,c=u=a=null,l=s;do{var p=l.lane,g=l.eventTime;if((r&p)===p){c!==null&&(c=c.next={eventTime:g,lane:0,tag:l.tag,payload:l.payload,callback:l.callback,next:null});e:{var y=t,w=l;switch(p=e,g=n,w.tag){case 1:if(y=w.payload,typeof y=="function"){d=y.call(g,d,p);break e}d=y;break e;case 3:y.flags=y.flags&-65537|128;case 0:if(y=w.payload,p=typeof y=="function"?y.call(g,d,p):y,p==null)break e;d=lt({},d,p);break e;case 2:zi=!0}}l.callback!==null&&l.lane!==0&&(t.flags|=64,p=i.effects,p===null?i.effects=[l]:p.push(l))}else g={eventTime:g,lane:p,tag:l.tag,payload:l.payload,callback:l.callback,next:null},c===null?(u=c=g,a=d):c=c.next=g,o|=p;if(l=l.next,l===null){if(l=i.shared.pending,l===null)break;p=l,l=p.next,p.next=null,i.lastBaseUpdate=p,i.shared.pending=null}}while(!0);if(c===null&&(a=d),i.baseState=a,i.firstBaseUpdate=u,i.lastBaseUpdate=c,e=i.shared.interleaved,e!==null){i=e;do o|=i.lane,i=i.next;while(i!==e)}else s===null&&(i.shared.lanes=0);Js|=o,t.lanes=o,t.memoizedState=d}}function ky(t,e,n){if(t=e.effects,e.effects=null,t!==null)for(e=0;en?n:4,t(!0);var r=up.transition;up.transition={};try{t(!1),e()}finally{qe=n,up.transition=r}}function jk(){return ar().memoizedState}function LM(t,e,n){var r=rs(t);if(n={lane:r,action:n,hasEagerState:!1,eagerState:null,next:null},Hk(t))Vk(e,n);else if(n=Ek(t,e,n,r),n!==null){var i=an();br(n,t,r,i),Xk(n,e,r)}}function QM(t,e,n){var r=rs(t),i={lane:r,action:n,hasEagerState:!1,eagerState:null,next:null};if(Hk(t))Vk(e,i);else{var s=t.alternate;if(t.lanes===0&&(s===null||s.lanes===0)&&(s=e.lastRenderedReducer,s!==null))try{var o=e.lastRenderedState,l=s(o,n);if(i.hasEagerState=!0,i.eagerState=l,_r(l,o)){var a=e.interleaved;a===null?(i.next=i,J0(e)):(i.next=a.next,a.next=i),e.interleaved=i;return}}catch{}finally{}n=Ek(t,e,i,r),n!==null&&(i=an(),br(n,t,r,i),Xk(n,e,r))}}function Hk(t){var e=t.alternate;return t===ot||e!==null&&e===ot}function Vk(t,e){za=ef=!0;var n=t.pending;n===null?e.next=e:(e.next=n.next,n.next=e),t.pending=e}function Xk(t,e,n){if(n&4194240){var r=e.lanes;r&=t.pendingLanes,n|=r,e.lanes=n,N0(t,n)}}var tf={readContext:lr,useCallback:Kt,useContext:Kt,useEffect:Kt,useImperativeHandle:Kt,useInsertionEffect:Kt,useLayoutEffect:Kt,useMemo:Kt,useReducer:Kt,useRef:Kt,useState:Kt,useDebugValue:Kt,useDeferredValue:Kt,useTransition:Kt,useMutableSource:Kt,useSyncExternalStore:Kt,useId:Kt,unstable_isNewReconciler:!1},IM={readContext:lr,useCallback:function(t,e){return Fr().memoizedState=[t,e===void 0?null:e],t},useContext:lr,useEffect:_y,useImperativeHandle:function(t,e,n){return n=n!=null?n.concat([t]):null,wh(4194308,4,Nk.bind(null,e,t),n)},useLayoutEffect:function(t,e){return wh(4194308,4,t,e)},useInsertionEffect:function(t,e){return wh(4,2,t,e)},useMemo:function(t,e){var n=Fr();return e=e===void 0?null:e,t=t(),n.memoizedState=[t,e],t},useReducer:function(t,e,n){var r=Fr();return e=n!==void 0?n(e):e,r.memoizedState=r.baseState=e,t={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:t,lastRenderedState:e},r.queue=t,t=t.dispatch=LM.bind(null,ot,t),[r.memoizedState,t]},useRef:function(t){var e=Fr();return t={current:t},e.memoizedState=t},useState:by,useDebugValue:aO,useDeferredValue:function(t){return Fr().memoizedState=t},useTransition:function(){var t=by(!1),e=t[0];return t=BM.bind(null,t[1]),Fr().memoizedState=t,[e,t]},useMutableSource:function(){},useSyncExternalStore:function(t,e,n){var r=ot,i=Fr();if(nt){if(n===void 0)throw Error(K(407));n=n()}else{if(n=e(),Lt===null)throw Error(K(349));As&30||Dk(r,e,n)}i.memoizedState=n;var s={value:n,getSnapshot:e};return i.queue=s,_y(Bk.bind(null,r,s,t),[t]),r.flags|=2048,du(9,Rk.bind(null,r,s,n,e),void 0,null),n},useId:function(){var t=Fr(),e=Lt.identifierPrefix;if(nt){var n=mi,r=pi;n=(r&~(1<<32-kr(r)-1)).toString(32)+n,e=":"+e+"R"+n,n=hu++,0<\/script>",t=t.removeChild(t.firstChild)):typeof r.is=="string"?t=o.createElement(n,{is:r.is}):(t=o.createElement(n),n==="select"&&(o=t,r.multiple?o.multiple=!0:r.size&&(o.size=r.size))):t=o.createElementNS(t,n),t[$r]=e,t[au]=r,rb(t,e,!1,!1),e.stateNode=t;e:{switch(o=Qm(n,r),n){case"dialog":Ze("cancel",t),Ze("close",t),i=r;break;case"iframe":case"object":case"embed":Ze("load",t),i=r;break;case"video":case"audio":for(i=0;iwl&&(e.flags|=128,r=!0,ca(s,!1),e.lanes=4194304)}else{if(!r)if(t=Jh(o),t!==null){if(e.flags|=128,r=!0,n=t.updateQueue,n!==null&&(e.updateQueue=n,e.flags|=4),ca(s,!0),s.tail===null&&s.tailMode==="hidden"&&!o.alternate&&!nt)return Zt(e),null}else 2*pt()-s.renderingStartTime>wl&&n!==1073741824&&(e.flags|=128,r=!0,ca(s,!1),e.lanes=4194304);s.isBackwards?(o.sibling=e.child,e.child=o):(n=s.last,n!==null?n.sibling=o:e.child=o,s.last=o)}return s.tail!==null?(e=s.tail,s.rendering=e,s.tail=e.sibling,s.renderingStartTime=pt(),e.sibling=null,n=it.current,Ge(it,r?n&1|2:n&1),e):(Zt(e),null);case 22:case 23:return pO(),r=e.memoizedState!==null,t!==null&&t.memoizedState!==null!==r&&(e.flags|=8192),r&&e.mode&1?In&1073741824&&(Zt(e),e.subtreeFlags&6&&(e.flags|=8192)):Zt(e),null;case 24:return null;case 25:return null}throw Error(K(156,e.tag))}function jM(t,e){switch(G0(e),e.tag){case 1:return En(e.type)&&Vh(),t=e.flags,t&65536?(e.flags=t&-65537|128,e):null;case 3:return yl(),Ae(_n),Ae(tn),rO(),t=e.flags,t&65536&&!(t&128)?(e.flags=t&-65537|128,e):null;case 5:return nO(e),null;case 13:if(Ae(it),t=e.memoizedState,t!==null&&t.dehydrated!==null){if(e.alternate===null)throw Error(K(340));gl()}return t=e.flags,t&65536?(e.flags=t&-65537|128,e):null;case 19:return Ae(it),null;case 4:return yl(),null;case 10:return A0(e.type._context),null;case 22:case 23:return pO(),null;case 24:return null;default:return null}}var Rc=!1,en=!1,HM=typeof WeakSet=="function"?WeakSet:Set,le=null;function Xo(t,e){var n=t.ref;if(n!==null)if(typeof n=="function")try{n(null)}catch(r){ut(t,e,r)}else n.current=null}function ag(t,e,n){try{n()}catch(r){ut(t,e,r)}}var Iy=!1;function VM(t,e){if(Hm=Uh,t=ck(),V0(t)){if("selectionStart"in t)var n={start:t.selectionStart,end:t.selectionEnd};else e:{n=(n=t.ownerDocument)&&n.defaultView||window;var r=n.getSelection&&n.getSelection();if(r&&r.rangeCount!==0){n=r.anchorNode;var i=r.anchorOffset,s=r.focusNode;r=r.focusOffset;try{n.nodeType,s.nodeType}catch{n=null;break e}var o=0,l=-1,a=-1,u=0,c=0,d=t,p=null;t:for(;;){for(var g;d!==n||i!==0&&d.nodeType!==3||(l=o+i),d!==s||r!==0&&d.nodeType!==3||(a=o+r),d.nodeType===3&&(o+=d.nodeValue.length),(g=d.firstChild)!==null;)p=d,d=g;for(;;){if(d===t)break t;if(p===n&&++u===i&&(l=o),p===s&&++c===r&&(a=o),(g=d.nextSibling)!==null)break;d=p,p=d.parentNode}d=g}n=l===-1||a===-1?null:{start:l,end:a}}else n=null}n=n||{start:0,end:0}}else n=null;for(Vm={focusedElem:t,selectionRange:n},Uh=!1,le=e;le!==null;)if(e=le,t=e.child,(e.subtreeFlags&1028)!==0&&t!==null)t.return=e,le=t;else for(;le!==null;){e=le;try{var y=e.alternate;if(e.flags&1024)switch(e.tag){case 0:case 11:case 15:break;case 1:if(y!==null){var w=y.memoizedProps,_=y.memoizedState,x=e.stateNode,S=x.getSnapshotBeforeUpdate(e.elementType===e.type?w:Or(e.type,w),_);x.__reactInternalSnapshotBeforeUpdate=S}break;case 3:var b=e.stateNode.containerInfo;b.nodeType===1?b.textContent="":b.nodeType===9&&b.documentElement&&b.removeChild(b.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(K(163))}}catch(T){ut(e,e.return,T)}if(t=e.sibling,t!==null){t.return=e.return,le=t;break}le=e.return}return y=Iy,Iy=!1,y}function Fa(t,e,n){var r=e.updateQueue;if(r=r!==null?r.lastEffect:null,r!==null){var i=r=r.next;do{if((i.tag&t)===t){var s=i.destroy;i.destroy=void 0,s!==void 0&&ag(e,n,s)}i=i.next}while(i!==r)}}function Zf(t,e){if(e=e.updateQueue,e=e!==null?e.lastEffect:null,e!==null){var n=e=e.next;do{if((n.tag&t)===t){var r=n.create;n.destroy=r()}n=n.next}while(n!==e)}}function ug(t){var e=t.ref;if(e!==null){var n=t.stateNode;switch(t.tag){case 5:t=n;break;default:t=n}typeof e=="function"?e(t):e.current=t}}function ob(t){var e=t.alternate;e!==null&&(t.alternate=null,ob(e)),t.child=null,t.deletions=null,t.sibling=null,t.tag===5&&(e=t.stateNode,e!==null&&(delete e[$r],delete e[au],delete e[Ym],delete e[TM],delete e[PM])),t.stateNode=null,t.return=null,t.dependencies=null,t.memoizedProps=null,t.memoizedState=null,t.pendingProps=null,t.stateNode=null,t.updateQueue=null}function lb(t){return t.tag===5||t.tag===3||t.tag===4}function zy(t){e:for(;;){for(;t.sibling===null;){if(t.return===null||lb(t.return))return null;t=t.return}for(t.sibling.return=t.return,t=t.sibling;t.tag!==5&&t.tag!==6&&t.tag!==18;){if(t.flags&2||t.child===null||t.tag===4)continue e;t.child.return=t,t=t.child}if(!(t.flags&2))return t.stateNode}}function cg(t,e,n){var r=t.tag;if(r===5||r===6)t=t.stateNode,e?n.nodeType===8?n.parentNode.insertBefore(t,e):n.insertBefore(t,e):(n.nodeType===8?(e=n.parentNode,e.insertBefore(t,n)):(e=n,e.appendChild(t)),n=n._reactRootContainer,n!=null||e.onclick!==null||(e.onclick=Hh));else if(r!==4&&(t=t.child,t!==null))for(cg(t,e,n),t=t.sibling;t!==null;)cg(t,e,n),t=t.sibling}function hg(t,e,n){var r=t.tag;if(r===5||r===6)t=t.stateNode,e?n.insertBefore(t,e):n.appendChild(t);else if(r!==4&&(t=t.child,t!==null))for(hg(t,e,n),t=t.sibling;t!==null;)hg(t,e,n),t=t.sibling}var Ft=null,yr=!1;function Li(t,e,n){for(n=n.child;n!==null;)ab(t,e,n),n=n.sibling}function ab(t,e,n){if(Yr&&typeof Yr.onCommitFiberUnmount=="function")try{Yr.onCommitFiberUnmount(qf,n)}catch{}switch(n.tag){case 5:en||Xo(n,e);case 6:var r=Ft,i=yr;Ft=null,Li(t,e,n),Ft=r,yr=i,Ft!==null&&(yr?(t=Ft,n=n.stateNode,t.nodeType===8?t.parentNode.removeChild(n):t.removeChild(n)):Ft.removeChild(n.stateNode));break;case 18:Ft!==null&&(yr?(t=Ft,n=n.stateNode,t.nodeType===8?op(t.parentNode,n):t.nodeType===1&&op(t,n),ru(t)):op(Ft,n.stateNode));break;case 4:r=Ft,i=yr,Ft=n.stateNode.containerInfo,yr=!0,Li(t,e,n),Ft=r,yr=i;break;case 0:case 11:case 14:case 15:if(!en&&(r=n.updateQueue,r!==null&&(r=r.lastEffect,r!==null))){i=r=r.next;do{var s=i,o=s.destroy;s=s.tag,o!==void 0&&(s&2||s&4)&&ag(n,e,o),i=i.next}while(i!==r)}Li(t,e,n);break;case 1:if(!en&&(Xo(n,e),r=n.stateNode,typeof r.componentWillUnmount=="function"))try{r.props=n.memoizedProps,r.state=n.memoizedState,r.componentWillUnmount()}catch(l){ut(n,e,l)}Li(t,e,n);break;case 21:Li(t,e,n);break;case 22:n.mode&1?(en=(r=en)||n.memoizedState!==null,Li(t,e,n),en=r):Li(t,e,n);break;default:Li(t,e,n)}}function Fy(t){var e=t.updateQueue;if(e!==null){t.updateQueue=null;var n=t.stateNode;n===null&&(n=t.stateNode=new HM),e.forEach(function(r){var i=tD.bind(null,t,r);n.has(r)||(n.add(r),r.then(i,i))})}}function mr(t,e){var n=e.deletions;if(n!==null)for(var r=0;ri&&(i=o),r&=~s}if(r=i,r=pt()-r,r=(120>r?120:480>r?480:1080>r?1080:1920>r?1920:3e3>r?3e3:4320>r?4320:1960*GM(r/1960))-r,10t?16:t,Xi===null)var r=!1;else{if(t=Xi,Xi=null,sf=0,Qe&6)throw Error(K(331));var i=Qe;for(Qe|=4,le=t.current;le!==null;){var s=le,o=s.child;if(le.flags&16){var l=s.deletions;if(l!==null){for(var a=0;apt()-fO?js(t,0):hO|=n),Cn(t,e)}function gb(t,e){e===0&&(t.mode&1?(e=kc,kc<<=1,!(kc&130023424)&&(kc=4194304)):e=1);var n=an();t=wi(t,e),t!==null&&($u(t,e,n),Cn(t,n))}function eD(t){var e=t.memoizedState,n=0;e!==null&&(n=e.retryLane),gb(t,n)}function tD(t,e){var n=0;switch(t.tag){case 13:var r=t.stateNode,i=t.memoizedState;i!==null&&(n=i.retryLane);break;case 19:r=t.stateNode;break;default:throw Error(K(314))}r!==null&&r.delete(e),gb(t,n)}var Ob;Ob=function(t,e,n){if(t!==null)if(t.memoizedProps!==e.pendingProps||_n.current)xn=!0;else{if(!(t.lanes&n)&&!(e.flags&128))return xn=!1,UM(t,e,n);xn=!!(t.flags&131072)}else xn=!1,nt&&e.flags&1048576&&xk(e,Yh,e.index);switch(e.lanes=0,e.tag){case 2:var r=e.type;xh(t,e),t=e.pendingProps;var i=ml(e,tn.current);rl(e,n),i=sO(null,e,r,t,i,n);var s=oO();return e.flags|=1,typeof i=="object"&&i!==null&&typeof i.render=="function"&&i.$$typeof===void 0?(e.tag=1,e.memoizedState=null,e.updateQueue=null,En(r)?(s=!0,Xh(e)):s=!1,e.memoizedState=i.state!==null&&i.state!==void 0?i.state:null,eO(e),i.updater=Kf,e.stateNode=i,i._reactInternals=e,tg(e,r,t,n),e=ig(null,e,r,!0,s,n)):(e.tag=0,nt&&s&&X0(e),sn(null,e,i,n),e=e.child),e;case 16:r=e.elementType;e:{switch(xh(t,e),t=e.pendingProps,i=r._init,r=i(r._payload),e.type=r,i=e.tag=rD(r),t=Or(r,t),i){case 0:e=rg(null,e,r,t,n);break e;case 1:e=By(null,e,r,t,n);break e;case 11:e=Dy(null,e,r,t,n);break e;case 14:e=Ry(null,e,r,Or(r.type,t),n);break e}throw Error(K(306,r,""))}return e;case 0:return r=e.type,i=e.pendingProps,i=e.elementType===r?i:Or(r,i),rg(t,e,r,i,n);case 1:return r=e.type,i=e.pendingProps,i=e.elementType===r?i:Or(r,i),By(t,e,r,i,n);case 3:e:{if(eb(e),t===null)throw Error(K(387));r=e.pendingProps,s=e.memoizedState,i=s.element,Ck(t,e),Ah(e,r,null,n);var o=e.memoizedState;if(r=o.element,s.isDehydrated)if(s={element:r,isDehydrated:!1,cache:o.cache,pendingSuspenseBoundaries:o.pendingSuspenseBoundaries,transitions:o.transitions},e.updateQueue.baseState=s,e.memoizedState=s,e.flags&256){i=vl(Error(K(423)),e),e=Ly(t,e,r,n,i);break e}else if(r!==i){i=vl(Error(K(424)),e),e=Ly(t,e,r,n,i);break e}else for(Fn=es(e.stateNode.containerInfo.firstChild),Wn=e,nt=!0,vr=null,n=_k(e,null,r,n),e.child=n;n;)n.flags=n.flags&-3|4096,n=n.sibling;else{if(gl(),r===i){e=xi(t,e,n);break e}sn(t,e,r,n)}e=e.child}return e;case 5:return Tk(e),t===null&&Am(e),r=e.type,i=e.pendingProps,s=t!==null?t.memoizedProps:null,o=i.children,Xm(r,i)?o=null:s!==null&&Xm(r,s)&&(e.flags|=32),Jk(t,e),sn(t,e,o,n),e.child;case 6:return t===null&&Am(e),null;case 13:return tb(t,e,n);case 4:return tO(e,e.stateNode.containerInfo),r=e.pendingProps,t===null?e.child=Ol(e,null,r,n):sn(t,e,r,n),e.child;case 11:return r=e.type,i=e.pendingProps,i=e.elementType===r?i:Or(r,i),Dy(t,e,r,i,n);case 7:return sn(t,e,e.pendingProps,n),e.child;case 8:return sn(t,e,e.pendingProps.children,n),e.child;case 12:return sn(t,e,e.pendingProps.children,n),e.child;case 10:e:{if(r=e.type._context,i=e.pendingProps,s=e.memoizedProps,o=i.value,Ge(Kh,r._currentValue),r._currentValue=o,s!==null)if(_r(s.value,o)){if(s.children===i.children&&!_n.current){e=xi(t,e,n);break e}}else for(s=e.child,s!==null&&(s.return=e);s!==null;){var l=s.dependencies;if(l!==null){o=s.child;for(var a=l.firstContext;a!==null;){if(a.context===r){if(s.tag===1){a=gi(-1,n&-n),a.tag=2;var u=s.updateQueue;if(u!==null){u=u.shared;var c=u.pending;c===null?a.next=a:(a.next=c.next,c.next=a),u.pending=a}}s.lanes|=n,a=s.alternate,a!==null&&(a.lanes|=n),Jm(s.return,n,e),l.lanes|=n;break}a=a.next}}else if(s.tag===10)o=s.type===e.type?null:s.child;else if(s.tag===18){if(o=s.return,o===null)throw Error(K(341));o.lanes|=n,l=o.alternate,l!==null&&(l.lanes|=n),Jm(o,n,e),o=s.sibling}else o=s.child;if(o!==null)o.return=s;else for(o=s;o!==null;){if(o===e){o=null;break}if(s=o.sibling,s!==null){s.return=o.return,o=s;break}o=o.return}s=o}sn(t,e,i.children,n),e=e.child}return e;case 9:return i=e.type,r=e.pendingProps.children,rl(e,n),i=lr(i),r=r(i),e.flags|=1,sn(t,e,r,n),e.child;case 14:return r=e.type,i=Or(r,e.pendingProps),i=Or(r.type,i),Ry(t,e,r,i,n);case 15:return Zk(t,e,e.type,e.pendingProps,n);case 17:return r=e.type,i=e.pendingProps,i=e.elementType===r?i:Or(r,i),xh(t,e),e.tag=1,En(r)?(t=!0,Xh(e)):t=!1,rl(e,n),Gk(e,r,i),tg(e,r,i,n),ig(null,e,r,!0,t,n);case 19:return nb(t,e,n);case 22:return Ak(t,e,n)}throw Error(K(156,e.tag))};function yb(t,e){return HS(t,e)}function nD(t,e,n,r){this.tag=t,this.key=n,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=e,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=r,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function nr(t,e,n,r){return new nD(t,e,n,r)}function gO(t){return t=t.prototype,!(!t||!t.isReactComponent)}function rD(t){if(typeof t=="function")return gO(t)?1:0;if(t!=null){if(t=t.$$typeof,t===Q0)return 11;if(t===I0)return 14}return 2}function is(t,e){var n=t.alternate;return n===null?(n=nr(t.tag,e,t.key,t.mode),n.elementType=t.elementType,n.type=t.type,n.stateNode=t.stateNode,n.alternate=t,t.alternate=n):(n.pendingProps=e,n.type=t.type,n.flags=0,n.subtreeFlags=0,n.deletions=null),n.flags=t.flags&14680064,n.childLanes=t.childLanes,n.lanes=t.lanes,n.child=t.child,n.memoizedProps=t.memoizedProps,n.memoizedState=t.memoizedState,n.updateQueue=t.updateQueue,e=t.dependencies,n.dependencies=e===null?null:{lanes:e.lanes,firstContext:e.firstContext},n.sibling=t.sibling,n.index=t.index,n.ref=t.ref,n}function bh(t,e,n,r,i,s){var o=2;if(r=t,typeof t=="function")gO(t)&&(o=1);else if(typeof t=="string")o=5;else e:switch(t){case Fo:return Hs(n.children,i,s,e);case L0:o=8,i|=8;break;case _m:return t=nr(12,n,e,i|2),t.elementType=_m,t.lanes=s,t;case Em:return t=nr(13,n,e,i),t.elementType=Em,t.lanes=s,t;case Cm:return t=nr(19,n,e,i),t.elementType=Cm,t.lanes=s,t;case TS:return Jf(n,i,s,e);default:if(typeof t=="object"&&t!==null)switch(t.$$typeof){case ES:o=10;break e;case CS:o=9;break e;case Q0:o=11;break e;case I0:o=14;break e;case Ii:o=16,r=null;break e}throw Error(K(130,t==null?t:typeof t,""))}return e=nr(o,n,e,i),e.elementType=t,e.type=r,e.lanes=s,e}function Hs(t,e,n,r){return t=nr(7,t,r,e),t.lanes=n,t}function Jf(t,e,n,r){return t=nr(22,t,r,e),t.elementType=TS,t.lanes=n,t.stateNode={isHidden:!1},t}function pp(t,e,n){return t=nr(6,t,null,e),t.lanes=n,t}function mp(t,e,n){return e=nr(4,t.children!==null?t.children:[],t.key,e),e.lanes=n,e.stateNode={containerInfo:t.containerInfo,pendingChildren:null,implementation:t.implementation},e}function iD(t,e,n,r,i){this.tag=e,this.containerInfo=t,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=Yd(0),this.expirationTimes=Yd(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=Yd(0),this.identifierPrefix=r,this.onRecoverableError=i,this.mutableSourceEagerHydrationData=null}function OO(t,e,n,r,i,s,o,l,a){return t=new iD(t,e,n,l,a),e===1?(e=1,s===!0&&(e|=8)):e=0,s=nr(3,null,null,e),t.current=s,s.stateNode=t,s.memoizedState={element:r,isDehydrated:n,cache:null,transitions:null,pendingSuspenseBoundaries:null},eO(s),t}function sD(t,e,n){var r=3"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(Sb)}catch(t){console.error(t)}}Sb(),SS.exports=qn;var kb=SS.exports,Vy=kb;km.createRoot=Vy.createRoot,km.hydrateRoot=Vy.hydrateRoot;let gg=[],bb=[];(()=>{let t="lc,34,7n,7,7b,19,,,,2,,2,,,20,b,1c,l,g,,2t,7,2,6,2,2,,4,z,,u,r,2j,b,1m,9,9,,o,4,,9,,3,,5,17,3,3b,f,,w,1j,,,,4,8,4,,3,7,a,2,t,,1m,,,,2,4,8,,9,,a,2,q,,2,2,1l,,4,2,4,2,2,3,3,,u,2,3,,b,2,1l,,4,5,,2,4,,k,2,m,6,,,1m,,,2,,4,8,,7,3,a,2,u,,1n,,,,c,,9,,14,,3,,1l,3,5,3,,4,7,2,b,2,t,,1m,,2,,2,,3,,5,2,7,2,b,2,s,2,1l,2,,,2,4,8,,9,,a,2,t,,20,,4,,2,3,,,8,,29,,2,7,c,8,2q,,2,9,b,6,22,2,r,,,,,,1j,e,,5,,2,5,b,,10,9,,2u,4,,6,,2,2,2,p,2,4,3,g,4,d,,2,2,6,,f,,jj,3,qa,3,t,3,t,2,u,2,1s,2,,7,8,,2,b,9,,19,3,3b,2,y,,3a,3,4,2,9,,6,3,63,2,2,,1m,,,7,,,,,2,8,6,a,2,,1c,h,1r,4,1c,7,,,5,,14,9,c,2,w,4,2,2,,3,1k,,,2,3,,,3,1m,8,2,2,48,3,,d,,7,4,,6,,3,2,5i,1m,,5,ek,,5f,x,2da,3,3x,,2o,w,fe,6,2x,2,n9w,4,,a,w,2,28,2,7k,,3,,4,,p,2,5,,47,2,q,i,d,,12,8,p,b,1a,3,1c,,2,4,2,2,13,,1v,6,2,2,2,2,c,,8,,1b,,1f,,,3,2,2,5,2,,,16,2,8,,6m,,2,,4,,fn4,,kh,g,g,g,a6,2,gt,,6a,,45,5,1ae,3,,2,5,4,14,3,4,,4l,2,fx,4,ar,2,49,b,4w,,1i,f,1k,3,1d,4,2,2,1x,3,10,5,,8,1q,,c,2,1g,9,a,4,2,,2n,3,2,,,2,6,,4g,,3,8,l,2,1l,2,,,,,m,,e,7,3,5,5f,8,2,3,,,n,,29,,2,6,,,2,,,2,,2,6j,,2,4,6,2,,2,r,2,2d,8,2,,,2,2y,,,,2,6,,,2t,3,2,4,,5,77,9,,2,6t,,a,2,,,4,,40,4,2,2,4,,w,a,14,6,2,4,8,,9,6,2,3,1a,d,,2,ba,7,,6,,,2a,m,2,7,,2,,2,3e,6,3,,,2,,7,,,20,2,3,,,,9n,2,f0b,5,1n,7,t4,,1r,4,29,,f5k,2,43q,,,3,4,5,8,8,2,7,u,4,44,3,1iz,1j,4,1e,8,,e,,m,5,,f,11s,7,,h,2,7,,2,,5,79,7,c5,4,15s,7,31,7,240,5,gx7k,2o,3k,6o".split(",").map(e=>e?parseInt(e,36):1);for(let e=0,n=0;e>1;if(t=bb[r])e=r+1;else return!0;if(e==n)return!1}}function Xy(t){return t>=127462&&t<=127487}const Gy=8205;function hD(t,e,n=!0,r=!0){return(n?_b:fD)(t,e,r)}function _b(t,e,n){if(e==t.length)return e;e&&Eb(t.charCodeAt(e))&&Cb(t.charCodeAt(e-1))&&e--;let r=gp(t,e);for(e+=Yy(r);e=0&&Xy(gp(t,o));)s++,o-=2;if(s%2==0)break;e+=2}else break}return e}function fD(t,e,n){for(;e>1;){let r=_b(t,e-2,n);if(r=56320&&t<57344}function Cb(t){return t>=55296&&t<56320}function Yy(t){return t<65536?1:2}class Re{lineAt(e){if(e<0||e>this.length)throw new RangeError(`Invalid position ${e} in document of length ${this.length}`);return this.lineInner(e,!1,1,0)}line(e){if(e<1||e>this.lines)throw new RangeError(`Invalid line number ${e} in ${this.lines}-line document`);return this.lineInner(e,!0,1,0)}replace(e,n,r){[e,n]=xl(this,e,n);let i=[];return this.decompose(0,e,i,2),r.length&&r.decompose(0,r.length,i,3),this.decompose(n,this.length,i,1),Wr.from(i,this.length-(n-e)+r.length)}append(e){return this.replace(this.length,this.length,e)}slice(e,n=this.length){[e,n]=xl(this,e,n);let r=[];return this.decompose(e,n,r,0),Wr.from(r,n-e)}eq(e){if(e==this)return!0;if(e.length!=this.length||e.lines!=this.lines)return!1;let n=this.scanIdentical(e,1),r=this.length-this.scanIdentical(e,-1),i=new Wa(this),s=new Wa(e);for(let o=n,l=n;;){if(i.next(o),s.next(o),o=0,i.lineBreak!=s.lineBreak||i.done!=s.done||i.value!=s.value)return!1;if(l+=i.value.length,i.done||l>=r)return!0}}iter(e=1){return new Wa(this,e)}iterRange(e,n=this.length){return new Tb(this,e,n)}iterLines(e,n){let r;if(e==null)r=this.iter();else{n==null&&(n=this.lines+1);let i=this.line(e).from;r=this.iterRange(i,Math.max(i,n==this.lines+1?this.length:n<=1?0:this.line(n-1).to))}return new Pb(r)}toString(){return this.sliceString(0)}toJSON(){let e=[];return this.flatten(e),e}constructor(){}static of(e){if(e.length==0)throw new RangeError("A document must have at least one line");return e.length==1&&!e[0]?Re.empty:e.length<=32?new dt(e):Wr.from(dt.split(e,[]))}}class dt extends Re{constructor(e,n=dD(e)){super(),this.text=e,this.length=n}get lines(){return this.text.length}get children(){return null}lineInner(e,n,r,i){for(let s=0;;s++){let o=this.text[s],l=i+o.length;if((n?r:l)>=e)return new pD(i,l,r,o);i=l+1,r++}}decompose(e,n,r,i){let s=e<=0&&n>=this.length?this:new dt(Ky(this.text,e,n),Math.min(n,this.length)-Math.max(0,e));if(i&1){let o=r.pop(),l=_h(s.text,o.text.slice(),0,s.length);if(l.length<=32)r.push(new dt(l,o.length+s.length));else{let a=l.length>>1;r.push(new dt(l.slice(0,a)),new dt(l.slice(a)))}}else r.push(s)}replace(e,n,r){if(!(r instanceof dt))return super.replace(e,n,r);[e,n]=xl(this,e,n);let i=_h(this.text,_h(r.text,Ky(this.text,0,e)),n),s=this.length+r.length-(n-e);return i.length<=32?new dt(i,s):Wr.from(dt.split(i,[]),s)}sliceString(e,n=this.length,r=` `){[e,n]=xl(this,e,n);let i="";for(let s=0,o=0;s<=n&&oe&&o&&(i+=r),es&&(i+=l.slice(Math.max(0,e-s),n-s)),s=a+1}return i}flatten(e){for(let n of this.text)e.push(n)}scanIdentical(){return 0}static split(e,n){let r=[],i=-1;for(let s of e)r.push(s),i+=s.length+1,r.length==32&&(n.push(new dt(r,i)),r=[],i=-1);return i>-1&&n.push(new dt(r,i)),n}}class Wr extends Re{constructor(e,n){super(),this.children=e,this.length=n,this.lines=0;for(let r of e)this.lines+=r.lines}lineInner(e,n,r,i){for(let s=0;;s++){let o=this.children[s],l=i+o.length,a=r+o.lines-1;if((n?a:l)>=e)return o.lineInner(e,n,r,i);i=l+1,r=a+1}}decompose(e,n,r,i){for(let s=0,o=0;o<=n&&s=o){let u=i&((o<=e?1:0)|(a>=n?2:0));o>=e&&a<=n&&!u?r.push(l):l.decompose(e-o,n-o,r,u)}o=a+1}}replace(e,n,r){if([e,n]=xl(this,e,n),r.lines=s&&n<=l){let a=o.replace(e-s,n-s,r),u=this.lines-o.lines+a.lines;if(a.lines>4&&a.lines>u>>6){let c=this.children.slice();return c[i]=a,new Wr(c,this.length-(n-e)+r.length)}return super.replace(s,l,a)}s=l+1}return super.replace(e,n,r)}sliceString(e,n=this.length,r=` `){[e,n]=xl(this,e,n);let i="";for(let s=0,o=0;se&&s&&(i+=r),eo&&(i+=l.sliceString(e-o,n-o,r)),o=a+1}return i}flatten(e){for(let n of this.children)n.flatten(e)}scanIdentical(e,n){if(!(e instanceof Wr))return 0;let r=0,[i,s,o,l]=n>0?[0,0,this.children.length,e.children.length]:[this.children.length-1,e.children.length-1,-1,-1];for(;;i+=n,s+=n){if(i==o||s==l)return r;let a=this.children[i],u=e.children[s];if(a!=u)return r+a.scanIdentical(u,n);r+=a.length+1}}static from(e,n=e.reduce((r,i)=>r+i.length+1,-1)){let r=0;for(let g of e)r+=g.lines;if(r<32){let g=[];for(let y of e)y.flatten(g);return new dt(g,n)}let i=Math.max(32,r>>5),s=i<<1,o=i>>1,l=[],a=0,u=-1,c=[];function d(g){let y;if(g.lines>s&&g instanceof Wr)for(let w of g.children)d(w);else g.lines>o&&(a>o||!a)?(p(),l.push(g)):g instanceof dt&&a&&(y=c[c.length-1])instanceof dt&&g.lines+y.lines<=32?(a+=g.lines,u+=g.length+1,c[c.length-1]=new dt(y.text.concat(g.text),y.length+1+g.length)):(a+g.lines>i&&p(),a+=g.lines,u+=g.length+1,c.push(g))}function p(){a!=0&&(l.push(c.length==1?c[0]:Wr.from(c,u)),u=-1,a=c.length=0)}for(let g of e)d(g);return p(),l.length==1?l[0]:new Wr(l,n)}}Re.empty=new dt([""],0);function dD(t){let e=-1;for(let n of t)e+=n.length+1;return e}function _h(t,e,n=0,r=1e9){for(let i=0,s=0,o=!0;s=n&&(a>r&&(l=l.slice(0,r-i)),i0?1:(e instanceof dt?e.text.length:e.children.length)<<1]}nextInner(e,n){for(this.done=this.lineBreak=!1;;){let r=this.nodes.length-1,i=this.nodes[r],s=this.offsets[r],o=s>>1,l=i instanceof dt?i.text.length:i.children.length;if(o==(n>0?l:0)){if(r==0)return this.done=!0,this.value="",this;n>0&&this.offsets[r-1]++,this.nodes.pop(),this.offsets.pop()}else if((s&1)==(n>0?0:1)){if(this.offsets[r]+=n,e==0)return this.lineBreak=!0,this.value=` `,this;e--}else if(i instanceof dt){let a=i.text[o+(n<0?-1:0)];if(this.offsets[r]+=n,a.length>Math.max(0,e))return this.value=e==0?a:n>0?a.slice(e):a.slice(0,a.length-e),this;e-=a.length}else{let a=i.children[o+(n<0?-1:0)];e>a.length?(e-=a.length,this.offsets[r]+=n):(n<0&&this.offsets[r]--,this.nodes.push(a),this.offsets.push(n>0?1:(a instanceof dt?a.text.length:a.children.length)<<1))}}}next(e=0){return e<0&&(this.nextInner(-e,-this.dir),e=this.value.length),this.nextInner(e,this.dir)}}class Tb{constructor(e,n,r){this.value="",this.done=!1,this.cursor=new Wa(e,n>r?-1:1),this.pos=n>r?e.length:0,this.from=Math.min(n,r),this.to=Math.max(n,r)}nextInner(e,n){if(n<0?this.pos<=this.from:this.pos>=this.to)return this.value="",this.done=!0,this;e+=Math.max(0,n<0?this.pos-this.to:this.from-this.pos);let r=n<0?this.pos-this.from:this.to-this.pos;e>r&&(e=r),r-=e;let{value:i}=this.cursor.next(e);return this.pos+=(i.length+e)*n,this.value=i.length<=r?i:n<0?i.slice(i.length-r):i.slice(0,r),this.done=!this.value,this}next(e=0){return e<0?e=Math.max(e,this.from-this.pos):e>0&&(e=Math.min(e,this.to-this.pos)),this.nextInner(e,this.cursor.dir)}get lineBreak(){return this.cursor.lineBreak&&this.value!=""}}class Pb{constructor(e){this.inner=e,this.afterBreak=!0,this.value="",this.done=!1}next(e=0){let{done:n,lineBreak:r,value:i}=this.inner.next(e);return n&&this.afterBreak?(this.value="",this.afterBreak=!1):n?(this.done=!0,this.value=""):r?this.afterBreak?this.value="":(this.afterBreak=!0,this.next()):(this.value=i,this.afterBreak=!1),this}get lineBreak(){return!1}}typeof Symbol<"u"&&(Re.prototype[Symbol.iterator]=function(){return this.iter()},Wa.prototype[Symbol.iterator]=Tb.prototype[Symbol.iterator]=Pb.prototype[Symbol.iterator]=function(){return this});class pD{constructor(e,n,r,i){this.from=e,this.to=n,this.number=r,this.text=i}get length(){return this.to-this.from}}function xl(t,e,n){return e=Math.max(0,Math.min(t.length,e)),[e,Math.max(e,Math.min(t.length,n))]}function Bt(t,e,n=!0,r=!0){return hD(t,e,n,r)}function mD(t){return t>=56320&&t<57344}function gD(t){return t>=55296&&t<56320}function yn(t,e){let n=t.charCodeAt(e);if(!gD(n)||e+1==t.length)return n;let r=t.charCodeAt(e+1);return mD(r)?(n-55296<<10)+(r-56320)+65536:n}function xO(t){return t<=65535?String.fromCharCode(t):(t-=65536,String.fromCharCode((t>>10)+55296,(t&1023)+56320))}function Ur(t){return t<65536?1:2}const Og=/\r\n?|\n/;var Ut=function(t){return t[t.Simple=0]="Simple",t[t.TrackDel=1]="TrackDel",t[t.TrackBefore=2]="TrackBefore",t[t.TrackAfter=3]="TrackAfter",t}(Ut||(Ut={}));class Zr{constructor(e){this.sections=e}get length(){let e=0;for(let n=0;ne)return s+(e-i);s+=l}else{if(r!=Ut.Simple&&u>=e&&(r==Ut.TrackDel&&ie||r==Ut.TrackBefore&&ie))return null;if(u>e||u==e&&n<0&&!l)return e==i||n<0?s:s+a;s+=a}i=u}if(e>i)throw new RangeError(`Position ${e} is out of range for changeset of length ${i}`);return s}touchesRange(e,n=e){for(let r=0,i=0;r=0&&i<=n&&l>=e)return in?"cover":!0;i=l}return!1}toString(){let e="";for(let n=0;n=0?":"+i:"")}return e}toJSON(){return this.sections}static fromJSON(e){if(!Array.isArray(e)||e.length%2||e.some(n=>typeof n!="number"))throw new RangeError("Invalid JSON representation of ChangeDesc");return new Zr(e)}static create(e){return new Zr(e)}}class Et extends Zr{constructor(e,n){super(e),this.inserted=n}apply(e){if(this.length!=e.length)throw new RangeError("Applying change set to a document with the wrong length");return yg(this,(n,r,i,s,o)=>e=e.replace(i,i+(r-n),o),!1),e}mapDesc(e,n=!1){return vg(this,e,n,!0)}invert(e){let n=this.sections.slice(),r=[];for(let i=0,s=0;i=0){n[i]=l,n[i+1]=o;let a=i>>1;for(;r.length0&&Gi(r,n,s.text),s.forward(c),l+=c}let u=e[o++];for(;l>1].toJSON()))}return e}static of(e,n,r){let i=[],s=[],o=0,l=null;function a(c=!1){if(!c&&!i.length)return;op||d<0||p>n)throw new RangeError(`Invalid change range ${d} to ${p} (in doc of length ${n})`);let y=g?typeof g=="string"?Re.of(g.split(r||Og)):g:Re.empty,w=y.length;if(d==p&&w==0)return;do&&Jt(i,d-o,-1),Jt(i,p-d,w),Gi(s,i,y),o=p}}return u(e),a(!l),l}static empty(e){return new Et(e?[e,-1]:[],[])}static fromJSON(e){if(!Array.isArray(e))throw new RangeError("Invalid JSON representation of ChangeSet");let n=[],r=[];for(let i=0;il&&typeof o!="string"))throw new RangeError("Invalid JSON representation of ChangeSet");if(s.length==1)n.push(s[0],0);else{for(;r.length=0&&n<=0&&n==t[i+1]?t[i]+=e:i>=0&&e==0&&t[i]==0?t[i+1]+=n:r?(t[i]+=e,t[i+1]+=n):t.push(e,n)}function Gi(t,e,n){if(n.length==0)return;let r=e.length-2>>1;if(r>1])),!(n||o==t.sections.length||t.sections[o+1]<0);)l=t.sections[o++],a=t.sections[o++];e(i,u,s,c,d),i=u,s=c}}}function vg(t,e,n,r=!1){let i=[],s=r?[]:null,o=new mu(t),l=new mu(e);for(let a=-1;;){if(o.done&&l.len||l.done&&o.len)throw new Error("Mismatched change set lengths");if(o.ins==-1&&l.ins==-1){let u=Math.min(o.len,l.len);Jt(i,u,-1),o.forward(u),l.forward(u)}else if(l.ins>=0&&(o.ins<0||a==o.i||o.off==0&&(l.len=0&&a=0){let u=0,c=o.len;for(;c;)if(l.ins==-1){let d=Math.min(c,l.len);u+=d,c-=d,l.forward(d)}else if(l.ins==0&&l.lena||o.ins>=0&&o.len>a)&&(l||r.length>u),s.forward2(a),o.forward(a)}}}}class mu{constructor(e){this.set=e,this.i=0,this.next()}next(){let{sections:e}=this.set;this.i>1;return n>=e.length?Re.empty:e[n]}textBit(e){let{inserted:n}=this.set,r=this.i-2>>1;return r>=n.length&&!e?Re.empty:n[r].slice(this.off,e==null?void 0:this.off+e)}forward(e){e==this.len?this.next():(this.len-=e,this.off+=e)}forward2(e){this.ins==-1?this.forward(e):e==this.ins?this.next():(this.ins-=e,this.off+=e)}}class Ui{constructor(e,n,r,i){this.from=e,this.to=n,this.flags=r,this.goalColumn=i}get anchor(){return this.flags&32?this.to:this.from}get head(){return this.flags&32?this.from:this.to}get empty(){return this.from==this.to}get assoc(){return this.flags&8?-1:this.flags&16?1:0}get undirectional(){return(this.flags&64)>0}get bidiLevel(){let e=this.flags&7;return e==7?null:e}map(e,n=-1){let r,i;return this.empty?r=i=e.mapPos(this.from,n):(r=e.mapPos(this.from,1),i=e.mapPos(this.to,-1)),r==this.from&&i==this.to?this:new Ui(r,i,this.flags,this.goalColumn)}extend(e,n=e,r=0){if(e<=this.anchor&&n>=this.anchor)return U.range(e,n,void 0,void 0,r);let i=Math.abs(e-this.anchor)>Math.abs(n-this.anchor)?e:n;return U.range(this.anchor,i,void 0,void 0,r)}eq(e,n=!1){return this.anchor==e.anchor&&this.head==e.head&&this.goalColumn==e.goalColumn&&(!n||!this.empty||this.assoc==e.assoc)}toJSON(){return{anchor:this.anchor,head:this.head}}static fromJSON(e){if(!e||typeof e.anchor!="number"||typeof e.head!="number")throw new RangeError("Invalid JSON representation for SelectionRange");return U.range(e.anchor,e.head)}static create(e,n,r,i){return new Ui(e,n,r,i)}}class U{constructor(e,n){this.ranges=e,this.mainIndex=n}map(e,n=-1){return e.empty?this:U.create(this.ranges.map(r=>r.map(e,n)),this.mainIndex)}eq(e,n=!1){if(this.ranges.length!=e.ranges.length||this.mainIndex!=e.mainIndex)return!1;for(let r=0;re.toJSON()),main:this.mainIndex}}static fromJSON(e){if(!e||!Array.isArray(e.ranges)||typeof e.main!="number"||e.main>=e.ranges.length)throw new RangeError("Invalid JSON representation for EditorSelection");return new U(e.ranges.map(n=>Ui.fromJSON(n)),e.main)}static single(e,n=e){return new U([U.range(e,n)],0)}static create(e,n=0){if(e.length==0)throw new RangeError("A selection needs at least one range");for(let r=0,i=0;ii.from-s.from),n=e.indexOf(r);for(let i=1;is.head?U.range(a,l):U.range(l,a))}}return new U(e,n)}}function Db(t,e){for(let n of t.ranges)if(n.to>e)throw new RangeError("Selection points outside of document")}let SO=0;class ne{constructor(e,n,r,i,s){this.combine=e,this.compareInput=n,this.compare=r,this.isStatic=i,this.id=SO++,this.default=e([]),this.extensions=typeof s=="function"?s(this):s}get reader(){return this}static define(e={}){return new ne(e.combine||(n=>n),e.compareInput||((n,r)=>n===r),e.compare||(e.combine?(n,r)=>n===r:kO),!!e.static,e.enables)}of(e){return new Eh([],this,0,e)}compute(e,n){if(this.isStatic)throw new Error("Can't compute a static facet");return new Eh(e,this,1,n)}computeN(e,n){if(this.isStatic)throw new Error("Can't compute a static facet");return new Eh(e,this,2,n)}from(e,n){return n||(n=r=>r),this.compute([e],r=>n(r.field(e)))}}function kO(t,e){return t==e||t.length==e.length&&t.every((n,r)=>n===e[r])}class Eh{constructor(e,n,r,i){this.dependencies=e,this.facet=n,this.type=r,this.value=i,this.id=SO++}dynamicSlot(e){var n;let r=this.value,i=this.facet.compareInput,s=this.id,o=e[s]>>1,l=this.type==2,a=!1,u=!1,c=[];for(let d of this.dependencies)d=="doc"?a=!0:d=="selection"?u=!0:((n=e[d.id])!==null&&n!==void 0?n:1)&1||c.push(e[d.id]);return{create(d){return d.values[o]=r(d),1},update(d,p){if(a&&p.docChanged||u&&(p.docChanged||p.selection)||wg(d,c)){let g=r(d);if(l?!Zy(g,d.values[o],i):!i(g,d.values[o]))return d.values[o]=g,1}return 0},reconfigure:(d,p)=>{let g,y=p.config.address[s];if(y!=null){let w=uf(p,y);if(this.dependencies.every(_=>_ instanceof ne?p.facet(_)===d.facet(_):_ instanceof It?p.field(_,!1)==d.field(_,!1):!0)||(l?Zy(g=r(d),w,i):i(g=r(d),w)))return d.values[o]=w,0}else g=r(d);return d.values[o]=g,1}}}get extension(){return this}}function Zy(t,e,n){if(t.length!=e.length)return!1;for(let r=0;rt[a.id]),i=n.map(a=>a.type),s=r.filter(a=>!(a&1)),o=t[e.id]>>1;function l(a){let u=[];for(let c=0;cr===i),e);return e.provide&&(n.provides=e.provide(n)),n}create(e){let n=e.facet(Qc).find(r=>r.field==this);return((n==null?void 0:n.create)||this.createF)(e)}slot(e){let n=e[this.id]>>1;return{create:r=>(r.values[n]=this.create(r),1),update:(r,i)=>{let s=r.values[n],o=this.updateF(s,i);return this.compareF(s,o)?0:(r.values[n]=o,1)},reconfigure:(r,i)=>{let s=r.facet(Qc),o=i.facet(Qc),l;return(l=s.find(a=>a.field==this))&&l!=o.find(a=>a.field==this)?(r.values[n]=l.create(r),1):i.config.address[this.id]!=null?(r.values[n]=i.field(this),0):(r.values[n]=this.create(r),1)}}}init(e){return[this,Qc.of({field:this,create:e})]}get extension(){return this}}const Ls={lowest:4,low:3,default:2,high:1,highest:0};function fa(t){return e=>new Rb(e,t)}const ws={highest:fa(Ls.highest),high:fa(Ls.high),default:fa(Ls.default),low:fa(Ls.low),lowest:fa(Ls.lowest)};class Rb{constructor(e,n){this.inner=e,this.prec=n}get extension(){return this}}class id{of(e){return new xg(this,e)}reconfigure(e){return id.reconfigure.of({compartment:this,extension:e})}get(e){return e.config.compartments.get(this)}}class xg{constructor(e,n){this.compartment=e,this.inner=n}get extension(){return this}}class af{constructor(e,n,r,i,s,o){for(this.base=e,this.compartments=n,this.dynamicSlots=r,this.address=i,this.staticValues=s,this.facets=o,this.statusTemplate=[];this.statusTemplate.length>1]}static resolve(e,n,r){let i=[],s=Object.create(null),o=new Map;for(let p of yD(e,n,o))p instanceof It?i.push(p):(s[p.facet.id]||(s[p.facet.id]=[])).push(p);let l=Object.create(null),a=[],u=[];for(let p of i)l[p.id]=u.length<<1,u.push(g=>p.slot(g));let c=r==null?void 0:r.config.facets;for(let p in s){let g=s[p],y=g[0].facet,w=c&&c[p]||[];if(g.every(_=>_.type==0))if(l[y.id]=a.length<<1|1,kO(w,g))a.push(r.facet(y));else{let _=y.combine(g.map(x=>x.value));a.push(r&&y.compare(_,r.facet(y))?r.facet(y):_)}else{for(let _ of g)_.type==0?(l[_.id]=a.length<<1|1,a.push(_.value)):(l[_.id]=u.length<<1,u.push(x=>_.dynamicSlot(x)));l[y.id]=u.length<<1,u.push(_=>OD(_,y,g))}}let d=u.map(p=>p(l));return new af(e,o,d,l,a,s)}}function yD(t,e,n){let r=[[],[],[],[],[]],i=new Map;function s(o,l){let a=i.get(o);if(a!=null){if(a<=l)return;let u=r[a].indexOf(o);u>-1&&r[a].splice(u,1),o instanceof xg&&n.delete(o.compartment)}if(i.set(o,l),Array.isArray(o))for(let u of o)s(u,l);else if(o instanceof xg){if(n.has(o.compartment))throw new RangeError("Duplicate use of compartment in extensions");let u=e.get(o.compartment)||o.inner;n.set(o.compartment,u),s(u,l)}else if(o instanceof Rb)s(o.inner,o.prec);else if(o instanceof It)r[l].push(o),o.provides&&s(o.provides,l);else if(o instanceof Eh)r[l].push(o),o.facet.extensions&&s(o.facet.extensions,Ls.default);else{let u=o.extension;if(!u)throw new Error(`Unrecognized extension value in extension set (${o}).`);if(u==o)throw new Error(`Unrecognized extension value in extension set (${o}). This sometimes happens because multiple instances of @codemirror/state are loaded, breaking instanceof checks.`);s(u,l)}}return s(t,Ls.default),r.reduce((o,l)=>o.concat(l))}function Ua(t,e){if(e&1)return 2;let n=e>>1,r=t.status[n];if(r==4)throw new Error("Cyclic dependency between fields and/or facets");if(r&2)return r;t.status[n]=4;let i=t.computeSlot(t,t.config.dynamicSlots[n]);return t.status[n]=2|i}function uf(t,e){return e&1?t.config.staticValues[e>>1]:t.values[e>>1]}const Bb=ne.define(),Sg=ne.define({combine:t=>t.some(e=>e),static:!0}),Lb=ne.define({combine:t=>t.length?t[0]:void 0,static:!0}),Qb=ne.define(),Ib=ne.define(),zb=ne.define(),Fb=ne.define({combine:t=>t.length?t[0]:!1});class Ei{constructor(e,n){this.type=e,this.value=n}static define(){return new vD}}class vD{of(e){return new Ei(this,e)}}class wD{constructor(e){this.map=e}of(e){return new xe(this,e)}}class xe{constructor(e,n){this.type=e,this.value=n}map(e){let n=this.type.map(this.value,e);return n===void 0?void 0:n==this.value?this:new xe(this.type,n)}is(e){return this.type==e}static define(e={}){return new wD(e.map||(n=>n))}static mapEffects(e,n){if(!e.length)return e;let r=[];for(let i of e){let s=i.map(n);s&&r.push(s)}return r}}xe.reconfigure=xe.define();xe.appendConfig=xe.define();class wt{constructor(e,n,r,i,s,o){this.startState=e,this.changes=n,this.selection=r,this.effects=i,this.annotations=s,this.scrollIntoView=o,this._doc=null,this._state=null,r&&Db(r,n.newLength),s.some(l=>l.type==wt.time)||(this.annotations=s.concat(wt.time.of(Date.now())))}static create(e,n,r,i,s,o){return new wt(e,n,r,i,s,o)}get newDoc(){return this._doc||(this._doc=this.changes.apply(this.startState.doc))}get newSelection(){return this.selection||this.startState.selection.map(this.changes)}get state(){return this._state||this.startState.applyTransaction(this),this._state}annotation(e){for(let n of this.annotations)if(n.type==e)return n.value}get docChanged(){return!this.changes.empty}get reconfigured(){return this.startState.config!=this.state.config}isUserEvent(e){let n=this.annotation(wt.userEvent);return!!(n&&(n==e||n.length>e.length&&n.slice(0,e.length)==e&&n[e.length]=="."))}}wt.time=Ei.define();wt.userEvent=Ei.define();wt.addToHistory=Ei.define();wt.remote=Ei.define();function xD(t,e){let n=[];for(let r=0,i=0;;){let s,o;if(r=t[r]))s=t[r++],o=t[r++];else if(i=0;i--){let s=r[i](t);s instanceof wt?t=s:Array.isArray(s)&&s.length==1&&s[0]instanceof wt?t=s[0]:t=$b(e,sl(s),!1)}return t}function kD(t){let e=t.startState,n=e.facet(zb),r=t;for(let i=n.length-1;i>=0;i--){let s=n[i](t);s&&Object.keys(s).length&&(r=Nb(r,kg(e,s,t.changes.newLength),!0))}return r==t?t:wt.create(e,t.changes,t.selection,r.effects,r.annotations,r.scrollIntoView)}const bD=[];function sl(t){return t==null?bD:Array.isArray(t)?t:[t]}var rt=function(t){return t[t.Word=0]="Word",t[t.Space=1]="Space",t[t.Other=2]="Other",t}(rt||(rt={}));const _D=/[\u00df\u0587\u0590-\u05f4\u0600-\u06ff\u3040-\u309f\u30a0-\u30ff\u3400-\u4db5\u4e00-\u9fcc\uac00-\ud7af]/;let bg;try{bg=new RegExp("[\\p{Alphabetic}\\p{Number}_]","u")}catch{}function ED(t){if(bg)return bg.test(t);for(let e=0;e"€"&&(n.toUpperCase()!=n.toLowerCase()||_D.test(n)))return!0}return!1}function CD(t){return e=>{if(!/\S/.test(e))return rt.Space;if(ED(e))return rt.Word;for(let n=0;n-1)return rt.Word;return rt.Other}}class ze{constructor(e,n,r,i,s,o){this.config=e,this.doc=n,this.selection=r,this.values=i,this.status=e.statusTemplate.slice(),this.computeSlot=s,o&&(o._state=this);for(let l=0;li.set(u,a)),n=null),i.set(l.value.compartment,l.value.extension)):l.is(xe.reconfigure)?(n=null,r=l.value):l.is(xe.appendConfig)&&(n=null,r=sl(r).concat(l.value));let s;n?s=e.startState.values.slice():(n=af.resolve(r,i,this),s=new ze(n,this.doc,this.selection,n.dynamicSlots.map(()=>null),(a,u)=>u.reconfigure(a,this),null).values);let o=e.startState.facet(Sg)?e.newSelection:e.newSelection.asSingle();new ze(n,e.newDoc,o,s,(l,a)=>a.update(l,e),e)}replaceSelection(e){return typeof e=="string"&&(e=this.toText(e)),this.changeByRange(n=>({changes:{from:n.from,to:n.to,insert:e},range:U.cursor(n.from+e.length)}))}changeByRange(e){let n=this.selection,r=e(n.ranges[0]),i=this.changes(r.changes),s=[r.range],o=sl(r.effects);for(let l=1;lo.spec.fromJSON(l,a)))}}return ze.create({doc:e.doc,selection:U.fromJSON(e.selection),extensions:n.extensions?i.concat([n.extensions]):i})}static create(e={}){let n=af.resolve(e.extensions||[],new Map),r=e.doc instanceof Re?e.doc:Re.of((e.doc||"").split(n.staticFacet(ze.lineSeparator)||Og)),i=e.selection?e.selection instanceof U?e.selection:U.single(e.selection.anchor,e.selection.head):U.single(0);return Db(i,r.length),n.staticFacet(Sg)||(i=i.asSingle()),new ze(n,r,i,n.dynamicSlots.map(()=>null),(s,o)=>o.create(s),null)}get tabSize(){return this.facet(ze.tabSize)}get lineBreak(){return this.facet(ze.lineSeparator)||` `}get readOnly(){return this.facet(Fb)}phrase(e,...n){for(let r of this.facet(ze.phrases))if(Object.prototype.hasOwnProperty.call(r,e)){e=r[e];break}return n.length&&(e=e.replace(/\$(\$|\d*)/g,(r,i)=>{if(i=="$")return"$";let s=+(i||1);return!s||s>n.length?r:n[s-1]})),e}languageDataAt(e,n,r=-1){let i=[];for(let s of this.facet(Bb))for(let o of s(this,n,r))Object.prototype.hasOwnProperty.call(o,e)&&i.push(o[e]);return i}charCategorizer(e){let n=this.languageDataAt("wordChars",e);return CD(n.length?n[0]:"")}wordAt(e){let{text:n,from:r,length:i}=this.doc.lineAt(e),s=this.charCategorizer(e),o=e-r,l=e-r;for(;o>0;){let a=Bt(n,o,!1);if(s(n.slice(a,o))!=rt.Word)break;o=a}for(;lt.length?t[0]:4});ze.lineSeparator=Lb;ze.readOnly=Fb;ze.phrases=ne.define({compare(t,e){let n=Object.keys(t),r=Object.keys(e);return n.length==r.length&&n.every(i=>t[i]==e[i])}});ze.languageData=Bb;ze.changeFilter=Qb;ze.transactionFilter=Ib;ze.transactionExtender=zb;id.reconfigure=xe.define();function ei(t,e,n={}){let r={};for(let i of t)for(let s of Object.keys(i)){let o=i[s],l=r[s];if(l===void 0)r[s]=o;else if(!(l===o||o===void 0))if(Object.hasOwnProperty.call(n,s))r[s]=n[s](l,o);else throw new Error("Config merge conflict for field "+s)}for(let i in e)r[i]===void 0&&(r[i]=e[i]);return r}class cs{eq(e){return this==e}range(e,n=e){return _g.create(e,n,this)}}cs.prototype.startSide=cs.prototype.endSide=0;cs.prototype.point=!1;cs.prototype.mapMode=Ut.TrackDel;function bO(t,e){return t==e||t.constructor==e.constructor&&t.eq(e)}let _g=class Wb{constructor(e,n,r){this.from=e,this.to=n,this.value=r}static create(e,n,r){return new Wb(e,n,r)}};function Eg(t,e){return t.from-e.from||t.value.startSide-e.value.startSide}class _O{constructor(e,n,r,i){this.from=e,this.to=n,this.value=r,this.maxPoint=i}get length(){return this.to[this.to.length-1]}findIndex(e,n,r,i=0){let s=r?this.to:this.from;for(let o=i,l=s.length;;){if(o==l)return o;let a=o+l>>1,u=s[a]-e||(r?this.value[a].endSide:this.value[a].startSide)-n;if(a==o)return u>=0?o:l;u>=0?l=a:o=a+1}}between(e,n,r,i){for(let s=this.findIndex(n,-1e9,!0),o=this.findIndex(r,1e9,!1,s);sg||p==g&&u.startSide>0&&u.endSide<=0)continue;(g-p||u.endSide-u.startSide)<0||(o<0&&(o=p),u.point&&(l=Math.max(l,g-p)),r.push(u),i.push(p-o),s.push(g-o))}return{mapped:r.length?new _O(i,s,r,l):null,pos:o}}}class Ce{constructor(e,n,r,i){this.chunkPos=e,this.chunk=n,this.nextLayer=r,this.maxPoint=i}static create(e,n,r,i){return new Ce(e,n,r,i)}get length(){let e=this.chunk.length-1;return e<0?0:Math.max(this.chunkEnd(e),this.nextLayer.length)}get size(){if(this.isEmpty)return 0;let e=this.nextLayer.size;for(let n of this.chunk)e+=n.value.length;return e}chunkEnd(e){return this.chunkPos[e]+this.chunk[e].length}update(e){let{add:n=[],sort:r=!1,filterFrom:i=0,filterTo:s=this.length}=e,o=e.filter;if(n.length==0&&!o)return this;if(r&&(n=n.slice().sort(Eg)),this.isEmpty)return n.length?Ce.of(n):this;let l=new Ub(this,null,-1).goto(0),a=0,u=[],c=new Si;for(;l.value||a=0){let d=n[a++];c.addInner(d.from,d.to,d.value)||u.push(d)}else l.rangeIndex==1&&l.chunkIndexthis.chunkEnd(l.chunkIndex)||sl.to||s=s&&e<=s+o.length&&o.between(s,e-s,n-s,r)===!1)return}this.nextLayer.between(e,n,r)}}iter(e=0){return gu.from([this]).goto(e)}get isEmpty(){return this.nextLayer==this}static iter(e,n=0){return gu.from(e).goto(n)}static compare(e,n,r,i,s=-1){let o=e.filter(d=>d.maxPoint>0||!d.isEmpty&&d.maxPoint>=s),l=n.filter(d=>d.maxPoint>0||!d.isEmpty&&d.maxPoint>=s),a=Ay(o,l,r),u=new da(o,a,s),c=new da(l,a,s);r.iterGaps((d,p,g)=>Jy(u,d,c,p,g,i)),r.empty&&r.length==0&&Jy(u,0,c,0,0,i)}static eq(e,n,r=0,i){i==null&&(i=999999999);let s=e.filter(c=>!c.isEmpty&&n.indexOf(c)<0),o=n.filter(c=>!c.isEmpty&&e.indexOf(c)<0);if(s.length!=o.length)return!1;if(!s.length)return!0;let l=Ay(s,o),a=new da(s,l,0).goto(r),u=new da(o,l,0).goto(r);for(;;){if(a.to!=u.to||!Cg(a.active,u.active)||a.point&&(!u.point||!bO(a.point,u.point)))return!1;if(a.to>i)return!0;a.next(),u.next()}}static spans(e,n,r,i,s=-1){let o=new da(e,null,s).goto(n),l=n,a=o.openStart;for(;;){let u=Math.min(o.to,r);if(o.point){let c=o.activeForPoint(o.to),d=o.pointFroml&&(i.span(l,u,o.active,a),a=o.openEnd(u));if(o.to>r)return a+(o.point&&o.to>r?1:0);l=o.to,o.next()}}static of(e,n=!1){let r=new Si;for(let i of e instanceof _g?[e]:n?TD(e):e)r.add(i.from,i.to,i.value);return r.finish()}static join(e){if(!e.length)return Ce.empty;let n=e[e.length-1];for(let r=e.length-2;r>=0;r--)for(let i=e[r];i!=Ce.empty;i=i.nextLayer)n=new Ce(i.chunkPos,i.chunk,n,Math.max(i.maxPoint,n.maxPoint));return n}}Ce.empty=new Ce([],[],null,-1);function TD(t){if(t.length>1)for(let e=t[0],n=1;n0)return t.slice().sort(Eg);e=r}return t}Ce.empty.nextLayer=Ce.empty;class Si{finishChunk(e){this.chunks.push(new _O(this.from,this.to,this.value,this.maxPoint)),this.chunkPos.push(this.chunkStart),this.chunkStart=-1,this.setMaxPoint=Math.max(this.setMaxPoint,this.maxPoint),this.maxPoint=-1,e&&(this.from=[],this.to=[],this.value=[])}constructor(){this.chunks=[],this.chunkPos=[],this.chunkStart=-1,this.last=null,this.lastFrom=-1e9,this.lastTo=-1e9,this.from=[],this.to=[],this.value=[],this.maxPoint=-1,this.setMaxPoint=-1,this.nextLayer=null}add(e,n,r){this.addInner(e,n,r)||(this.nextLayer||(this.nextLayer=new Si)).add(e,n,r)}addInner(e,n,r){let i=e-this.lastTo||r.startSide-this.last.endSide;if(i<=0&&(e-this.lastFrom||r.startSide-this.last.startSide)<0)throw new Error("Ranges must be added sorted by `from` position and `startSide`");return i<0?!1:(this.from.length==250&&this.finishChunk(!0),this.chunkStart<0&&(this.chunkStart=e),this.from.push(e-this.chunkStart),this.to.push(n-this.chunkStart),this.last=r,this.lastFrom=e,this.lastTo=n,this.value.push(r),r.point&&(this.maxPoint=Math.max(this.maxPoint,n-e)),!0)}addChunk(e,n){if((e-this.lastTo||n.value[0].startSide-this.last.endSide)<0)return!1;this.from.length&&this.finishChunk(!0),this.setMaxPoint=Math.max(this.setMaxPoint,n.maxPoint),this.chunks.push(n),this.chunkPos.push(e);let r=n.value.length-1;return this.last=n.value[r],this.lastFrom=n.from[r]+e,this.lastTo=n.to[r]+e,!0}finish(){return this.finishInner(Ce.empty)}finishInner(e){if(this.from.length&&this.finishChunk(!1),this.chunks.length==0)return e;let n=Ce.create(this.chunkPos,this.chunks,this.nextLayer?this.nextLayer.finishInner(e):e,this.setMaxPoint);return this.from=null,n}}function Ay(t,e,n){let r=new Map;for(let s of t)for(let o=0;o=this.minPoint)break}}setRangeIndex(e){if(e==this.layer.chunk[this.chunkIndex].value.length){if(this.chunkIndex++,this.skip)for(;this.chunkIndex=r&&i.push(new Ub(o,n,r,s));return i.length==1?i[0]:new gu(i)}get startSide(){return this.value?this.value.startSide:0}goto(e,n=-1e9){for(let r of this.heap)r.goto(e,n);for(let r=this.heap.length>>1;r>=0;r--)Op(this.heap,r);return this.next(),this}forward(e,n){for(let r of this.heap)r.forward(e,n);for(let r=this.heap.length>>1;r>=0;r--)Op(this.heap,r);(this.to-e||this.value.endSide-n)<0&&this.next()}next(){if(this.heap.length==0)this.from=this.to=1e9,this.value=null,this.rank=-1;else{let e=this.heap[0];this.from=e.from,this.to=e.to,this.value=e.value,this.rank=e.rank,e.value&&e.next(),Op(this.heap,0)}}}function Op(t,e){for(let n=t[e];;){let r=(e<<1)+1;if(r>=t.length)break;let i=t[r];if(r+1=0&&(i=t[r+1],r++),n.compare(i)<0)break;t[r]=n,t[e]=i,e=r}}class da{constructor(e,n,r){this.minPoint=r,this.active=[],this.activeTo=[],this.activeRank=[],this.minActive=-1,this.point=null,this.pointFrom=0,this.pointRank=0,this.to=-1e9,this.endSide=0,this.openStart=-1,this.cursor=gu.from(e,n,r)}goto(e,n=-1e9){return this.cursor.goto(e,n),this.active.length=this.activeTo.length=this.activeRank.length=0,this.minActive=-1,this.to=e,this.endSide=n,this.openStart=-1,this.next(),this}forward(e,n){for(;this.minActive>-1&&(this.activeTo[this.minActive]-e||this.active[this.minActive].endSide-n)<0;)this.removeActive(this.minActive);this.cursor.forward(e,n)}removeActive(e){Ic(this.active,e),Ic(this.activeTo,e),Ic(this.activeRank,e),this.minActive=ev(this.active,this.activeTo)}addActive(e){let n=0,{value:r,to:i,rank:s}=this.cursor;for(;n0;)n++;zc(this.active,n,r),zc(this.activeTo,n,i),zc(this.activeRank,n,s),e&&zc(e,n,this.cursor.from),this.minActive=ev(this.active,this.activeTo)}next(){let e=this.to,n=this.point;this.point=null;let r=this.openStart<0?[]:null;for(;;){let i=this.minActive;if(i>-1&&(this.activeTo[i]-this.cursor.from||this.active[i].endSide-this.cursor.startSide)<0){if(this.activeTo[i]>e){this.to=this.activeTo[i],this.endSide=this.active[i].endSide;break}this.removeActive(i),r&&Ic(r,i)}else if(this.cursor.value)if(this.cursor.from>e){this.to=this.cursor.from,this.endSide=this.cursor.startSide;break}else{let s=this.cursor.value;if(!s.point)this.addActive(r),this.cursor.next();else if(n&&this.cursor.to==this.to&&this.cursor.from=0&&r[i]=0&&!(this.activeRank[r]e||this.activeTo[r]==e&&this.active[r].endSide>=this.point.endSide)&&n.push(this.active[r]);return n.reverse()}openEnd(e){let n=0;for(let r=this.activeTo.length-1;r>=0&&this.activeTo[r]>e;r--)n++;return n}}function Jy(t,e,n,r,i,s){t.goto(e),n.goto(r);let o=r+i,l=r,a=r-e,u=!!s.boundChange;for(let c=!1;;){let d=t.to+a-n.to,p=d||t.endSide-n.endSide,g=p<0?t.to+a:n.to,y=Math.min(g,o);if(t.point||n.point?(t.point&&n.point&&bO(t.point,n.point)&&Cg(t.activeForPoint(t.to),n.activeForPoint(n.to))||s.comparePoint(l,y,t.point,n.point),c=!1):(c&&s.boundChange(l),y>l&&!Cg(t.active,n.active)&&s.compareRange(l,y,t.active,n.active),u&&yo)break;l=g,p<=0&&t.next(),p>=0&&n.next()}}function Cg(t,e){if(t.length!=e.length)return!1;for(let n=0;n=e;r--)t[r+1]=t[r];t[e]=n}function ev(t,e){let n=-1,r=1e9;for(let i=0;i=e)return i;if(i==t.length)break;s+=t.charCodeAt(i)==9?n-s%n:1,i=Bt(t,i)}return r===!0?-1:t.length}const Pg="ͼ",tv=typeof Symbol>"u"?"__"+Pg:Symbol.for(Pg),Mg=typeof Symbol>"u"?"__styleSet"+Math.floor(Math.random()*1e8):Symbol("styleSet"),nv=typeof globalThis<"u"?globalThis:typeof window<"u"?window:{};class hs{constructor(e,n){this.rules=[];let{finish:r}=n||{};function i(o){return/^@/.test(o)?[o]:o.split(/,\s*/)}function s(o,l,a,u){let c=[],d=/^@(\w+)\b/.exec(o[0]),p=d&&d[1]=="keyframes";if(d&&l==null)return a.push(o[0]+";");for(let g in l){let y=l[g];if(/&/.test(g))s(g.split(/,\s*/).map(w=>o.map(_=>w.replace(/&/,_))).reduce((w,_)=>w.concat(_)),y,a);else if(y&&typeof y=="object"){if(!d)throw new RangeError("The value of a property ("+g+") should be a primitive value.");s(i(g),y,c,p)}else y!=null&&c.push(g.replace(/_.*/,"").replace(/[A-Z]/g,w=>"-"+w.toLowerCase())+": "+y+";")}(c.length||p)&&a.push((r&&!d&&!u?o.map(r):o).join(", ")+" {"+c.join(" ")+"}")}for(let o in e)s(i(o),e[o],this.rules)}getRules(){return this.rules.join(` `)}static newName(){let e=nv[tv]||1;return nv[tv]=e+1,Pg+e.toString(36)}static mount(e,n,r){let i=e[Mg],s=r&&r.nonce;i?s&&i.setNonce(s):i=new PD(e,s),i.mount(Array.isArray(n)?n:[n],e)}}let rv=new Map;class PD{constructor(e,n){let r=e.ownerDocument||e,i=r.defaultView;if(!e.head&&e.adoptedStyleSheets&&i.CSSStyleSheet){let s=rv.get(r);if(s)return e[Mg]=s;this.sheet=new i.CSSStyleSheet,rv.set(r,this)}else this.styleTag=r.createElement("style"),n&&this.styleTag.setAttribute("nonce",n);this.modules=[],e[Mg]=this}mount(e,n){let r=this.sheet,i=0,s=0;for(let o=0;o-1&&(this.modules.splice(a,1),s--,a=-1),a==-1){if(this.modules.splice(s++,0,l),r)for(let u=0;u",191:"?",192:"~",219:"{",220:"|",221:"}",222:'"'},MD=typeof navigator<"u"&&/Mac/.test(navigator.platform),DD=typeof navigator<"u"&&/MSIE \d|Trident\/(?:[7-9]|\d{2,})\..*rv:(\d+)/.exec(navigator.userAgent);for(var Wt=0;Wt<10;Wt++)fs[48+Wt]=fs[96+Wt]=String(Wt);for(var Wt=1;Wt<=24;Wt++)fs[Wt+111]="F"+Wt;for(var Wt=65;Wt<=90;Wt++)fs[Wt]=String.fromCharCode(Wt+32),Ou[Wt]=String.fromCharCode(Wt);for(var yp in fs)Ou.hasOwnProperty(yp)||(Ou[yp]=fs[yp]);function RD(t){var e=MD&&t.metaKey&&t.shiftKey&&!t.ctrlKey&&!t.altKey||DD&&t.shiftKey&&t.key&&t.key.length==1||t.key=="Unidentified",n=!e&&t.key||(t.shiftKey?Ou:fs)[t.keyCode]||t.key||"Unidentified";return n=="Esc"&&(n="Escape"),n=="Del"&&(n="Delete"),n=="Left"&&(n="ArrowLeft"),n=="Up"&&(n="ArrowUp"),n=="Right"&&(n="ArrowRight"),n=="Down"&&(n="ArrowDown"),n}function je(){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(;e2);var ee={mac:ov||/Mac/.test(on.platform),windows:/Win/.test(on.platform),linux:/Linux|X11/.test(on.platform),ie:sd,ie_version:jb?Dg.documentMode||6:Bg?+Bg[1]:Rg?+Rg[1]:0,gecko:iv,gecko_version:iv?+(/Firefox\/(\d+)/.exec(on.userAgent)||[0,0])[1]:0,chrome:!!vp,chrome_version:vp?+vp[1]:0,ios:ov,android:/Android\b/.test(on.userAgent),webkit:sv,webkit_version:sv?+(/\bAppleWebKit\/(\d+)/.exec(on.userAgent)||[0,0])[1]:0,safari:Lg,safari_version:Lg?+(/\bVersion\/(\d+(\.\d+)?)/.exec(on.userAgent)||[0,0])[1]:0,tabSize:Dg.documentElement.style.tabSize!=null?"tab-size":"-moz-tab-size"};function EO(t,e){for(let n in t)n=="class"&&e.class?e.class+=" "+t.class:n=="style"&&e.style?e.style+=";"+t.style:e[n]=t[n];return e}const cf=Object.create(null);function CO(t,e,n){if(t==e)return!0;t||(t=cf),e||(e=cf);let r=Object.keys(t),i=Object.keys(e);if(r.length-0!=i.length-0)return!1;for(let s of r)if(s!=n&&(i.indexOf(s)==-1||t[s]!==e[s]))return!1;return!0}function BD(t,e){for(let n=t.attributes.length-1;n>=0;n--){let r=t.attributes[n].name;e[r]==null&&t.removeAttribute(r)}for(let n in e){let r=e[n];n=="style"?t.style.cssText=r:t.getAttribute(n)!=r&&t.setAttribute(n,r)}}function lv(t,e,n){let r=!1;if(e)for(let i in e)n&&i in n||(r=!0,i=="style"?t.style.cssText="":t.removeAttribute(i));if(n)for(let i in n)e&&e[i]==n[i]||(r=!0,i=="style"?t.style.cssText=n[i]:t.setAttribute(i,n[i]));return r}function LD(t){let e=Object.create(null);for(let n=0;n0?3e8:-4e8:n>0?1e8:-1e8,new to(e,n,n,r,e.widget||null,!1)}static replace(e){let n=!!e.block,r,i;if(e.isBlockGap)r=-5e8,i=4e8;else{let{start:s,end:o}=Hb(e,n);r=(s?n?-3e8:-1:5e8)-1,i=(o?n?2e8:1:-6e8)+1}return new to(e,r,i,n,e.widget||null,!0)}static line(e){return new Hu(e)}static set(e,n=!1){return Ce.of(e,n)}hasHeight(){return this.widget?this.widget.estimatedHeight>-1:!1}}Oe.none=Ce.empty;class ju extends Oe{constructor(e){let{start:n,end:r}=Hb(e);super(n?-1:5e8,r?1:-6e8,null,e),this.tagName=e.tagName||"span",this.attrs=e.class&&e.attributes?EO(e.attributes,{class:e.class}):e.class?{class:e.class}:e.attributes||cf}eq(e){return this==e||e instanceof ju&&this.tagName==e.tagName&&CO(this.attrs,e.attrs)}range(e,n=e){if(e>=n)throw new RangeError("Mark decorations may not be empty");return super.range(e,n)}}ju.prototype.point=!1;class Hu extends Oe{constructor(e){super(-2e8,-2e8,null,e)}eq(e){return e instanceof Hu&&this.spec.class==e.spec.class&&CO(this.spec.attributes,e.spec.attributes)}range(e,n=e){if(n!=e)throw new RangeError("Line decoration ranges must be zero-length");return super.range(e,n)}}Hu.prototype.mapMode=Ut.TrackBefore;Hu.prototype.point=!0;class to extends Oe{constructor(e,n,r,i,s,o){super(n,r,s,e),this.block=i,this.isReplace=o,this.mapMode=i?n<=0?Ut.TrackBefore:Ut.TrackAfter:Ut.TrackDel}get type(){return this.startSide!=this.endSide?Ht.WidgetRange:this.startSide<=0?Ht.WidgetBefore:Ht.WidgetAfter}get heightRelevant(){return this.block||!!this.widget&&(this.widget.estimatedHeight>=5||this.widget.lineBreaks>0)}eq(e){return e instanceof to&&QD(this.widget,e.widget)&&this.block==e.block&&this.startSide==e.startSide&&this.endSide==e.endSide}range(e,n=e){if(this.isReplace&&(e>n||e==n&&this.startSide>0&&this.endSide<=0))throw new RangeError("Invalid range for replacement decoration");if(!this.isReplace&&n!=e)throw new RangeError("Widget decorations can only have zero-length ranges");return super.range(e,n)}}to.prototype.point=!0;function Hb(t,e=!1){let{inclusiveStart:n,inclusiveEnd:r}=t;return n==null&&(n=t.inclusive),r==null&&(r=t.inclusive),{start:n??e,end:r??e}}function QD(t,e){return t==e||!!(t&&e&&t.compare(e))}function ol(t,e,n,r=0){let i=n.length-1;i>=0&&n[i]+r>=t?n[i]=Math.max(n[i],e):n.push(t,e)}class yu extends cs{constructor(e,n,r){super(),this.tagName=e,this.attributes=n,this.rank=r}eq(e){return e==this||e instanceof yu&&this.tagName==e.tagName&&CO(this.attributes,e.attributes)}static create(e){return new yu(e.tagName,e.attributes||cf,e.rank==null?50:Math.max(0,Math.min(e.rank,100)))}static set(e,n=!1){return Ce.of(e,n)}}yu.prototype.startSide=yu.prototype.endSide=-1;function vu(t){let e;return t.nodeType==11?e=t.getSelection?t:t.ownerDocument:e=t,e.getSelection()}function Qg(t,e){return e?t==e||t.contains(e.nodeType!=1?e.parentNode:e):!1}function qa(t,e){if(!e.anchorNode)return!1;try{return Qg(t,e.anchorNode)}catch{return!1}}function Ch(t){return t.nodeType==3?wu(t,0,t.nodeValue.length).getClientRects():t.nodeType==1?t.getClientRects():[]}function ja(t,e,n,r){return n?av(t,e,n,r,-1)||av(t,e,n,r,1):!1}function ds(t){for(var e=0;;e++)if(t=t.previousSibling,!t)return e}function hf(t){return t.nodeType==1&&/^(DIV|P|LI|UL|OL|BLOCKQUOTE|DD|DT|H\d|SECTION|PRE)$/.test(t.nodeName)}function av(t,e,n,r,i){for(;;){if(t==n&&e==r)return!0;if(e==(i<0?0:ki(t))){if(t.nodeName=="DIV")return!1;let s=t.parentNode;if(!s||s.nodeType!=1)return!1;e=ds(t)+(i<0?0:1),t=s}else if(t.nodeType==1){if(t=t.childNodes[e+(i<0?-1:0)],t.nodeType==1&&t.contentEditable=="false")return!1;e=i<0?ki(t):0}else return!1}}function ki(t){return t.nodeType==3?t.nodeValue.length:t.childNodes.length}function ff(t,e){let{left:n,right:r}=t;if(n==r)return t;let i=e?n:r;return{left:i,right:i,top:t.top,bottom:t.bottom}}function ID(t){let e=t.visualViewport;return e?{left:0,right:e.width,top:0,bottom:e.height}:{left:0,right:t.innerWidth,top:0,bottom:t.innerHeight}}function Vb(t,e){let n=e.width/t.offsetWidth,r=e.height/t.offsetHeight;return(n>.995&&n<1.005||!isFinite(n)||Math.abs(e.width-t.offsetWidth)<1)&&(n=1),(r>.995&&r<1.005||!isFinite(r)||Math.abs(e.height-t.offsetHeight)<1)&&(r=1),{scaleX:n,scaleY:r}}function zD(t,e,n,r,i,s,o,l){let a=t.ownerDocument,u=a.defaultView||window;for(let c=t,d=!1;c&&!d;)if(c.nodeType==1){let p,g=c==a.body,y=1,w=1;if(g)p=ID(u);else{if(/^(fixed|sticky)$/.test(getComputedStyle(c).position)&&(d=!0),c.scrollHeight<=c.clientHeight&&c.scrollWidth<=c.clientWidth){c=c.assignedSlot||c.parentNode;continue}let S=c.getBoundingClientRect();({scaleX:y,scaleY:w}=Vb(c,S)),p={left:S.left,right:S.left+c.clientWidth*y,top:S.top,bottom:S.top+c.clientHeight*w}}let _=0,x=0;if(i=="nearest")e.top0&&e.bottom>p.bottom+x&&(x=e.bottom-p.bottom+o)):e.bottom>p.bottom-o&&(x=e.bottom-p.bottom+o,n<0&&e.top-x0&&e.right>p.right+_&&(_=e.right-p.right+s)):e.right>p.right-s&&(_=e.right-p.right+s,n<0&&e.leftp.bottom||e.leftp.right)&&(e={left:Math.max(e.left,p.left),right:Math.min(e.right,p.right),top:Math.max(e.top,p.top),bottom:Math.min(e.bottom,p.bottom)}),c=c.assignedSlot||c.parentNode}else if(c.nodeType==11)c=c.host;else break}function Xb(t,e=!0){let n=t.ownerDocument,r=null,i=null;for(let s=t.parentNode;s&&!(s==n.body||(!e||r)&&i);)if(s.nodeType==1)!i&&s.scrollHeight>s.clientHeight&&(i=s),e&&!r&&s.scrollWidth>s.clientWidth&&(r=s),s=s.assignedSlot||s.parentNode;else if(s.nodeType==11)s=s.host;else break;return{x:r,y:i}}class FD{constructor(){this.anchorNode=null,this.anchorOffset=0,this.focusNode=null,this.focusOffset=0}eq(e){return this.anchorNode==e.anchorNode&&this.anchorOffset==e.anchorOffset&&this.focusNode==e.focusNode&&this.focusOffset==e.focusOffset}setRange(e){let{anchorNode:n,focusNode:r}=e;this.set(n,Math.min(e.anchorOffset,n?ki(n):0),r,Math.min(e.focusOffset,r?ki(r):0))}set(e,n,r,i){this.anchorNode=e,this.anchorOffset=n,this.focusNode=r,this.focusOffset=i}}let Bs=null;ee.safari&&ee.safari_version>=26&&(Bs=!1);function Gb(t){if(t.setActive)return t.setActive();if(Bs)return t.focus(Bs);let e=[];for(let n=t;n&&(e.push(n,n.scrollTop,n.scrollLeft),n!=n.ownerDocument);n=n.parentNode);if(t.focus(Bs==null?{get preventScroll(){return Bs={preventScroll:!0},!0}}:void 0),!Bs){Bs=!1;for(let n=0;nMath.max(0,t.document.documentElement.scrollHeight-t.innerHeight-4):t.scrollTop>Math.max(1,t.scrollHeight-t.clientHeight-4)}function Kb(t,e){for(let n=t,r=e;;){if(n.nodeType==3&&r>0)return{node:n,offset:r};if(n.nodeType==1&&r>0){if(n.contentEditable=="false")return null;n=n.childNodes[r-1],r=ki(n)}else if(n.parentNode&&!hf(n))r=ds(n),n=n.parentNode;else return null}}function Zb(t,e){for(let n=t,r=e;;){if(n.nodeType==3&&r=n){if(l.level==r)return o;(s<0||(i!=0?i<0?l.fromn:e[s].level>l.level))&&(s=o)}}if(s<0)throw new RangeError("Index out of range");return s}}function e2(t,e){if(t.length!=e.length)return!1;for(let n=0;n=0;w-=3)if(Br[w+1]==-g){let _=Br[w+2],x=_&2?i:_&4?_&1?s:i:0;x&&(He[d]=He[Br[w]]=x),l=w;break}}else{if(Br.length==189)break;Br[l++]=d,Br[l++]=p,Br[l++]=a}else if((y=He[d])==2||y==1){let w=y==i;a=w?0:1;for(let _=l-3;_>=0;_-=3){let x=Br[_+2];if(x&2)break;if(w)Br[_+2]|=2;else{if(x&4)break;Br[_+2]|=4}}}}}function VD(t,e,n,r){for(let i=0,s=r;i<=n.length;i++){let o=i?n[i-1].to:t,l=ia;)y==_&&(y=n[--w].from,_=w?n[w-1].to:t),He[--y]=g;a=c}else s=u,a++}}}function zg(t,e,n,r,i,s,o){let l=r%2?2:1;if(r%2==i%2)for(let a=e,u=0;aa&&o.push(new Hr(a,w.from,g));let _=w.direction==no!=!(g%2);Fg(t,_?r+1:r,i,w.inner,w.from,w.to,o),a=w.to}y=w.to}else{if(y==n||(c?He[y]!=l:He[y]==l))break;y++}p?zg(t,a,y,r+1,i,p,o):ae;){let c=!0,d=!1;if(!u||a>s[u-1].to){let w=He[a-1];w!=l&&(c=!1,d=w==16)}let p=!c&&l==1?[]:null,g=c?r:r+1,y=a;e:for(;;)if(u&&y==s[u-1].to){if(d)break e;let w=s[--u];if(!c)for(let _=w.from,x=u;;){if(_==e)break e;if(x&&s[x-1].to==_)_=s[--x].from;else{if(He[_-1]==l)break e;break}}if(p)p.push(w);else{w.toHe.length;)He[He.length]=256;let r=[],i=e==no?0:1;return Fg(t,i,i,n,0,t.length,r),r}function t2(t){return[new Hr(0,t,0)]}let n2="";function GD(t,e,n,r,i){var s;let o=r.head-t.from,l=Hr.find(e,o,(s=r.bidiLevel)!==null&&s!==void 0?s:-1,r.assoc),a=e[l],u=a.side(i,n);if(o==u){let p=l+=i?1:-1;if(p<0||p>=e.length)return null;a=e[l=p],o=a.side(!i,n),u=a.side(i,n)}let c=Bt(t.text,o,a.forward(i,n));(ca.to)&&(c=u),n2=t.text.slice(Math.min(o,c),Math.max(o,c));let d=l==(i?e.length-1:0)?null:e[l+(i?1:-1)];return d&&c==u&&d.level+(i?0:1)t.some(e=>e)}),c2=ne.define({combine:t=>t.some(e=>e)}),h2=ne.define();class al{constructor(e,n,r,i,s,o=!1){this.range=e,this.y=n,this.x=r,this.yMargin=i,this.xMargin=s,this.isSnapshot=o}map(e){return e.empty?this:new al(this.range.map(e),this.y,this.x,this.yMargin,this.xMargin,this.isSnapshot)}clip(e){return this.range.to<=e.doc.length?this:new al(U.cursor(e.doc.length),this.y,this.x,this.yMargin,this.xMargin,this.isSnapshot)}}const Fc=xe.define({map:(t,e)=>t.map(e)}),f2=xe.define();function Sn(t,e,n){let r=t.facet(o2);r.length?r[0](e):window.onerror&&window.onerror(String(e),n,void 0,void 0,e)||(n?console.error(n+":",e):console.error(e))}const di=ne.define({combine:t=>t.length?t[0]:!0});let KD=0;const Yo=ne.define({combine(t){return t.filter((e,n)=>{for(let r=0;r{let a=[];return o&&a.push(od.of(u=>{let c=u.plugin(l);return c?o(c):Oe.none})),s&&a.push(s(l)),a})}static fromClass(e,n){return Ot.define((r,i)=>new e(r,i),n)}}class wp{constructor(e){this.spec=e,this.mustUpdate=null,this.value=null}get plugin(){return this.spec&&this.spec.plugin}update(e){if(this.value){if(this.mustUpdate){let n=this.mustUpdate;if(this.mustUpdate=null,this.value.update)try{this.value.update(n)}catch(r){if(Sn(n.state,r,"CodeMirror plugin crashed"),this.value.destroy)try{this.value.destroy()}catch{}this.deactivate()}}}else if(this.spec)try{this.value=this.spec.plugin.create(e,this.spec.arg)}catch(n){Sn(e.state,n,"CodeMirror plugin crashed"),this.deactivate()}return this}destroy(e){var n;if(!((n=this.value)===null||n===void 0)&&n.destroy)try{this.value.destroy()}catch(r){Sn(e.state,r,"CodeMirror plugin crashed")}}deactivate(){this.spec=this.value=null}}const d2=ne.define(),DO=ne.define(),od=ne.define(),p2=ne.define(),RO=ne.define(),Vu=ne.define(),m2=ne.define();function cv(t,e){let n=t.state.facet(m2);if(!n.length)return n;let r=n.map(s=>s instanceof Function?s(t):s),i=[];return Ce.spans(r,e.from,e.to,{point(){},span(s,o,l,a){let u=s-e.from,c=o-e.from,d=i;for(let p=l.length-1;p>=0;p--,a--){let g=l[p].spec.bidiIsolate,y;if(g==null&&(g=YD(e.text,u,c)),a>0&&d.length&&(y=d[d.length-1]).to==u&&y.direction==g)y.to=c,d=y.inner;else{let w={from:u,to:c,direction:g,inner:[]};d.push(w),d=w.inner}}}}),i}const g2=ne.define();function BO(t){let e=0,n=0,r=0,i=0;for(let s of t.state.facet(g2)){let o=s(t);o&&(o.left!=null&&(e=Math.max(e,o.left)),o.right!=null&&(n=Math.max(n,o.right)),o.top!=null&&(r=Math.max(r,o.top)),o.bottom!=null&&(i=Math.max(i,o.bottom)))}return{left:e,right:n,top:r,bottom:i}}const ba=ne.define();class rr{constructor(e,n,r,i){this.fromA=e,this.toA=n,this.fromB=r,this.toB=i}join(e){return new rr(Math.min(this.fromA,e.fromA),Math.max(this.toA,e.toA),Math.min(this.fromB,e.fromB),Math.max(this.toB,e.toB))}addToSet(e){let n=e.length,r=this;for(;n>0;n--){let i=e[n-1];if(!(i.fromA>r.toA)){if(i.toAi.push(new rr(s,o,l,a))),this.changedRanges=i}static create(e,n,r){return new df(e,n,r)}get viewportChanged(){return(this.flags&4)>0}get viewportMoved(){return(this.flags&8)>0}get heightChanged(){return(this.flags&2)>0}get geometryChanged(){return this.docChanged||(this.flags&18)>0}get focusChanged(){return(this.flags&1)>0}get docChanged(){return!this.changes.empty}get selectionSet(){return this.transactions.some(e=>e.selection)}get empty(){return this.flags==0&&this.transactions.length==0}}const ZD=[];class ct{constructor(e,n,r=0){this.dom=e,this.length=n,this.flags=r,this.parent=null,e.cmTile=this}get breakAfter(){return this.flags&1}get children(){return ZD}isWidget(){return!1}get isHidden(){return!1}isComposite(){return!1}isLine(){return!1}isText(){return!1}isBlock(){return!1}get domAttrs(){return null}sync(e){if(this.flags|=2,this.flags&4){this.flags&=-5;let n=this.domAttrs;n&&BD(this.dom,n)}}toString(){return this.constructor.name+(this.children.length?`(${this.children})`:"")+(this.breakAfter?"#":"")}destroy(){this.parent=null}setDOM(e){this.dom=e,e.cmTile=this}get posAtStart(){return this.parent?this.parent.posBefore(this):0}get posAtEnd(){return this.posAtStart+this.length}posBefore(e,n=this.posAtStart){let r=n;for(let i of this.children){if(i==e)return r;r+=i.length+i.breakAfter}throw new RangeError("Invalid child in posBefore")}posAfter(e){return this.posBefore(e)+e.length}covers(e){return!0}coordsIn(e,n,r){return null}domPosFor(e,n){let r=ds(this.dom),i=this.length?e>0:n>0;return new xr(this.parent.dom,r+(i?1:0),e==0||e==this.length)}markDirty(e){this.flags&=-3,e&&(this.flags|=4),this.parent&&this.parent.flags&2&&this.parent.markDirty(!1)}get overrideDOMText(){return null}get root(){for(let e=this;e;e=e.parent)if(e instanceof ad)return e;return null}static get(e){return e.cmTile}}class ld extends ct{constructor(e){super(e,0),this._children=[]}isComposite(){return!0}get children(){return this._children}get lastChild(){return this.children.length?this.children[this.children.length-1]:null}append(e){this.children.push(e),e.parent=this}sync(e){if(this.flags&2)return;super.sync(e);let n=this.dom,r=null,i,s=(e==null?void 0:e.node)==n?e:null,o=0;for(let l of this.children){if(l.sync(e),o+=l.length+l.breakAfter,i=r?r.nextSibling:n.firstChild,s&&i!=l.dom&&(s.written=!0),l.dom.parentNode==n)for(;i&&i!=l.dom;)i=hv(i);else n.insertBefore(l.dom,i);r=l.dom}for(i=r?r.nextSibling:n.firstChild,s&&i&&(s.written=!0);i;)i=hv(i);this.length=o}}function hv(t){let e=t.nextSibling;return t.parentNode.removeChild(t),e}class ad extends ld{constructor(e,n){super(n),this.view=e}owns(e){for(;e;e=e.parent)if(e==this)return!0;return!1}isBlock(){return!0}nearest(e){for(;;){if(!e)return null;let n=ct.get(e);if(n&&this.owns(n))return n;e=e.parentNode}}blockTiles(e){for(let n=[],r=this,i=0,s=0;;)if(i==r.children.length){if(!n.length)return;r=r.parent,r.breakAfter&&s++,i=n.pop()}else{let o=r.children[i++];if(o instanceof Oi)n.push(i),r=o,i=0;else{let l=s+o.length,a=e(o,s);if(a!==void 0)return a;s=l+o.breakAfter}}}resolveBlock(e,n){let r,i=-1,s,o=-1;if(this.blockTiles((l,a)=>{let u=a+l.length;if(e>=a&&e<=u){if(l.isWidget()&&n>=-1&&n<=1){if(l.flags&32)return!0;l.flags&16&&(r=void 0)}(ae||e==a&&(n>1?l.length:l.covers(-1)))&&(!s||!l.isWidget()&&s.isWidget())&&(s=l,o=e-a)}}),!r&&!s)throw new Error("No tile at position "+e);return r&&n<0||!s?{tile:r,offset:i}:{tile:s,offset:o}}}class Oi extends ld{constructor(e,n){super(e),this.wrapper=n}isBlock(){return!0}covers(e){return this.children.length?e<0?this.children[0].covers(-1):this.lastChild.covers(1):!1}get domAttrs(){return this.wrapper.attributes}static of(e,n){let r=new Oi(n||document.createElement(e.tagName),e);return n||(r.flags|=4),r}}class Sl extends ld{constructor(e,n){super(e),this.attrs=n}isLine(){return!0}static start(e,n,r){let i=new Sl(n||document.createElement("div"),e);return(!n||!r)&&(i.flags|=4),i}get domAttrs(){return this.attrs}resolveInline(e,n,r){let i=null,s=-1,o=null,l=-1;function a(c,d){for(let p=0,g=0;p=d&&(y.isComposite()?a(y,d-g):(!o||o.isHidden&&(n>0&&!(o.flags&32)||r&&JD(o,y)))&&(w>d||y.flags&32&&n<=1)?(o=y,l=d-g):(g=-1)&&(i=y,s=d-g)),g=w}}a(this,e);let u=(n<0?i:o)||i||o;return u?{tile:u,offset:u==i?s:l}:null}coordsIn(e,n,r){let i=this.resolveInline(e,n,!0);return i?i.tile.coordsIn(Math.max(0,i.offset),n,r):AD(this)}domIn(e,n){let r=this.resolveInline(e,n);if(r){let{tile:i,offset:s}=r;if(this.dom.contains(i.dom))return i.isText()?new xr(i.dom,Math.min(i.dom.nodeValue.length,s)):i.domPosFor(s,i.flags&16?1:i.flags&32?-1:n);let o=r.tile.parent,l=!1;for(let a of o.children){if(l)return new xr(a.dom,0);a==r.tile&&(l=!0)}}return new xr(this.dom,0)}}function AD(t){let e=t.dom.lastChild;if(!e)return t.dom.getBoundingClientRect();let n=Ch(e);return n[n.length-1]||null}function JD(t,e){let n=t.coordsIn(0,1),r=e.coordsIn(0,1);return n&&r&&r.topi&&(e=i);let s=e,o=e,l=0;e==0&&n<0||e==i&&n>=0?ee.chrome||ee.gecko||(e?(s--,l=1):o=0)?0:a.length-1];return ee.safari&&!l&&u.width==0&&(u=Array.prototype.find.call(a,c=>c.width)||u),r==null?u:ff(u,(l?l>0:n<0)==r)}static of(e,n){let r=new Ns(n||document.createTextNode(e),e);return n||(r.flags|=2),r}}class ro extends ct{constructor(e,n,r,i){super(e,n,i),this.widget=r}isWidget(){return!0}get isHidden(){return this.widget.isHidden}covers(e){return this.flags&48?!1:(this.flags&(e<0?64:128))>0}coordsIn(e,n){return this.coordsInWidget(e,n,!1)}coordsInWidget(e,n,r){let i=this.widget.coordsAt(this.dom,e,n);if(i)return i;if(r)return ff(this.dom.getBoundingClientRect(),this.length?e==0:n<=0);{let s=this.dom.getClientRects(),o=null;if(!s.length)return null;let l=this.flags&16?!0:this.flags&32?!1:e>0;for(let a=l?s.length-1:0;o=s[a],!(e>0?a==0:a==s.length-1||o.top0==r)}}class eR{constructor(e){this.index=0,this.beforeBreak=!1,this.parents=[],this.tile=e}advance(e,n,r){let{tile:i,index:s,beforeBreak:o,parents:l}=this;for(;e||n>0;)if(i.isComposite())if(o){if(!e)break;r&&r.break(),e--,o=!1}else if(s==i.children.length){if(!e&&!l.length)break;r&&r.leave(i),o=!!i.breakAfter,{tile:i,index:s}=l.pop(),s++}else{let a=i.children[s],u=a.breakAfter;(n>0?a.length<=e:a.length=0;l--){let a=n.marks[l],u=i.lastChild;if(u instanceof wn&&u.mark.eq(a.mark))u.dom!=a.dom&&u.setDOM(xp(a.dom)),i=u;else{if(this.cache.reused.get(a)){let d=ct.get(a.dom);d&&d.setDOM(xp(a.dom))}let c=wn.of(a.mark,a.dom);i.append(c),i=c}this.cache.reused.set(a,2)}let s=ct.get(e.text);s&&this.cache.reused.set(s,2);let o=new Ns(e.text,e.text.nodeValue);o.flags|=8,this.pos=e.range.toB,i.append(o)}addInlineWidget(e,n,r){let i=this.afterWidget&&e.flags&48&&(this.afterWidget.flags&48)==(e.flags&48);i||this.flushBuffer();let s=this.ensureMarks(n,r);!i&&!(e.flags&16)&&s.append(this.getBuffer(1)),s.append(e),this.pos+=e.length,this.afterWidget=e}addMark(e,n,r){this.flushBuffer(),this.ensureMarks(n,r).append(e),this.pos+=e.length,this.afterWidget=null}addBlockWidget(e){this.getBlockPos().append(e),this.pos+=e.length,this.lastBlock=e,this.endLine()}continueWidget(e){let n=this.afterWidget||this.lastBlock;n.length+=e,this.pos+=e}addLineStart(e,n){var r;e||(e=O2);let i=Sl.start(e,n||((r=this.cache.find(Sl))===null||r===void 0?void 0:r.dom),!!n);this.getBlockPos().append(this.lastBlock=this.curLine=i)}addLine(e){this.getBlockPos().append(e),this.pos+=e.length,this.lastBlock=e,this.endLine()}addBreak(){this.lastBlock.flags|=1,this.endLine(),this.pos++}addLineStartIfNotCovered(e){this.blockPosCovered()||this.addLineStart(e)}ensureLine(e){this.curLine||this.addLineStart(e)}ensureMarks(e,n){var r;let i=this.curLine;for(let s=e.length-1;s>=0;s--){let o=e[s],l;if(n>0&&(l=i.lastChild)&&l instanceof wn&&l.mark.eq(o))i=l,n--;else{let a=wn.of(o,(r=this.cache.find(wn,u=>u.mark.eq(o)))===null||r===void 0?void 0:r.dom);i.append(a),i=a,n=0}}return i}endLine(){if(this.curLine){this.flushBuffer();let e=this.curLine.lastChild;(!e||!fv(this.curLine,!1)||e.dom.nodeName!="BR"&&e.isWidget()&&!(ee.ios&&fv(this.curLine,!0)))&&this.curLine.append(this.cache.findWidget(Sp,0,32)||new ro(Sp.toDOM(),0,Sp,32)),this.curLine=this.afterWidget=null}}updateBlockWrappers(){this.wrapperPos>this.pos+1e4&&(this.blockWrappers.goto(this.pos),this.wrappers.length=0);for(let e=this.wrappers.length-1;e>=0;e--)this.wrappers[e].to=this.pos){let n=e.rank*102+e.value.rank,r=new tR(e.from,e.to,e.value,n),i=this.wrappers.length;for(;i>0&&(this.wrappers[i-1].rank-r.rank||this.wrappers[i-1].to-r.to)<0;)i--;this.wrappers.splice(i,0,r)}this.wrapperPos=this.pos}getBlockPos(){var e;this.updateBlockWrappers();let n=this.root;for(let r of this.wrappers){let i=n.lastChild;if(r.fromo.wrapper.eq(r.wrapper)))===null||e===void 0?void 0:e.dom);n.append(s),n=s}}return n}blockPosCovered(){let e=this.lastBlock;return e!=null&&!e.breakAfter&&(!e.isWidget()||(e.flags&160)>0)}getBuffer(e){let n=2|(e<0?16:32),r=this.cache.find(pf,void 0,1);return r&&(r.flags=n),r||new pf(n)}flushBuffer(){this.afterWidget&&!(this.afterWidget.flags&32)&&(this.afterWidget.parent.append(this.getBuffer(-1)),this.afterWidget=null)}}class rR{constructor(e){this.skipCount=0,this.text="",this.textOff=0,this.cursor=e.iter()}skip(e){this.textOff+e<=this.text.length?this.textOff+=e:(this.skipCount+=e-(this.text.length-this.textOff),this.text="",this.textOff=0)}next(e){if(this.textOff==this.text.length){let{value:i,lineBreak:s,done:o}=this.cursor.next(this.skipCount);if(this.skipCount=0,o)throw new Error("Ran out of text content when drawing inline views");this.text=i;let l=this.textOff=Math.min(e,i.length);return s?null:i.slice(0,l)}let n=Math.min(this.text.length,this.textOff+e),r=this.text.slice(this.textOff,n);return this.textOff=n,r}}const mf=[ro,Sl,Ns,wn,pf,Oi,ad];for(let t=0;t[]),this.index=mf.map(()=>0),this.reused=new Map}add(e){let n=e.constructor.bucket,r=this.buckets[n];r.length<6?r.push(e):r[this.index[n]=(this.index[n]+1)%6]=e}find(e,n,r=2){let i=e.bucket,s=this.buckets[i],o=this.index[i];for(let l=0;l{if(this.cache.add(o),o.isComposite())return!1},enter:o=>this.cache.add(o),leave:()=>{},break:()=>{}}}run(e,n){let r=n&&this.getCompositionContext(n.text);for(let i=0,s=0,o=0;;){let l=oi){let u=a-i;this.preserve(u,!o,!l),i=a,s+=u}if(!l)break;n&&l.fromA<=n.range.fromA&&l.toA>=n.range.toA?(this.forward(l.fromA,n.range.fromA,n.range.fromA{if(o.isWidget())if(this.openWidget)this.builder.continueWidget(a-l);else{let u=a>0||l{o.isLine()?this.builder.addLineStart(o.attrs,this.cache.maybeReuse(o)):(this.cache.add(o),o instanceof wn&&i.unshift(o.mark)),this.openWidget=!1},leave:o=>{o.isLine()?i.length&&(i.length=s=0):o instanceof wn&&(i.shift(),s=Math.min(s,i.length))},break:()=>{this.builder.addBreak(),this.openWidget=!1}}),this.text.skip(e)}emit(e,n){let r=null,i=this.builder,s=-1,o=Ce.spans(this.decorations,e,n,{point:(l,a,u,c,d,p)=>{if(u instanceof to){if(this.disallowBlockEffectsFor[p]){if(u.block)throw new RangeError("Block decorations may not be specified via plugins");if(a>this.view.state.doc.lineAt(l).to)throw new RangeError("Decorations that replace line breaks may not be specified via plugins")}if(s=c.length,d>c.length)i.continueWidget(a-l);else{let g=u.widget||(u.block?kl.block:kl.inline),y=oR(u),w=this.cache.findWidget(g,a-l,y)||ro.of(g,this.view,a-l,y);u.block?(u.startSide>0&&i.addLineStartIfNotCovered(r),i.addBlockWidget(w)):(i.ensureLine(r),i.addInlineWidget(w,c,d))}r=null}else r=lR(r,u);a>l&&this.text.skip(a-l)},span:(l,a,u,c)=>{for(let d=l;d-1&&(this.openWidget=o>s),this.openWidget||i.addLineStartIfNotCovered(r),this.openMarks=o}forward(e,n,r=1){n-e<=10?this.old.advance(n-e,r,this.reuseWalker):(this.old.advance(5,-1,this.reuseWalker),this.old.advance(n-e-10,-1),this.old.advance(5,r,this.reuseWalker))}getCompositionContext(e){let n=[],r=null;for(let i=e.parentNode;;i=i.parentNode){let s=ct.get(i);if(i==this.view.contentDOM)break;s instanceof wn?n.push(s):s!=null&&s.isLine()?r=s:s instanceof Oi||(i.nodeName=="DIV"&&!r&&i!=this.view.contentDOM?r=new Sl(i,O2):r||n.push(wn.of(new ju({tagName:i.nodeName.toLowerCase(),attributes:LD(i)}),i)))}return{line:r,marks:n}}}function fv(t,e){let n=r=>{for(let i of r.children)if((e?i.isText():i.length)||n(i))return!0;return!1};return n(t)}function oR(t){let e=t.isReplace?(t.startSide<0?64:0)|(t.endSide>0?128:0):t.startSide>0?32:16;return t.block&&(e|=256),e}const O2={class:"cm-line"};function lR(t,e){let n=e.spec.attributes,r=e.spec.class;return!n&&!r||(t||(t={class:"cm-line"}),n&&EO(n,t),r&&(t.class+=" "+r)),t}function aR(t){let e=[];for(let n=t.parents.length;n>1;n--){let r=n==t.parents.length?t.tile:t.parents[n].tile;r instanceof wn&&e.push(r.mark)}return e}function xp(t){let e=ct.get(t);return e&&e.setDOM(t.cloneNode()),t}class kl extends ti{constructor(e){super(),this.tag=e}eq(e){return e.tag==this.tag}toDOM(){return document.createElement(this.tag)}updateDOM(e){return e.nodeName.toLowerCase()==this.tag}get isHidden(){return!0}}kl.inline=new kl("span");kl.block=new kl("div");const Sp=new class extends ti{toDOM(){return document.createElement("br")}get isHidden(){return!0}get editable(){return!0}};class dv{constructor(e){this.view=e,this.decorations=[],this.blockWrappers=[],this.dynamicDecorationMap=[!1],this.domChanged=null,this.hasComposition=null,this.editContextFormatting=Oe.none,this.lastCompositionAfterCursor=!1,this.minWidth=0,this.minWidthFrom=0,this.minWidthTo=0,this.impreciseAnchor=null,this.impreciseHead=null,this.forceSelection=!1,this.lastUpdate=Date.now(),this.updateDeco(),this.tile=new ad(e,e.contentDOM),this.updateInner([new rr(0,0,0,e.state.doc.length)],null)}update(e){var n;let r=e.changedRanges;this.minWidth>0&&r.length&&(r.every(({fromA:c,toA:d})=>dthis.minWidthTo)?(this.minWidthFrom=e.changes.mapPos(this.minWidthFrom,1),this.minWidthTo=e.changes.mapPos(this.minWidthTo,1)):this.minWidth=this.minWidthFrom=this.minWidthTo=0),this.updateEditContextFormatting(e);let i=-1;this.view.inputState.composing>=0&&!this.view.observer.editContext&&(!((n=this.domChanged)===null||n===void 0)&&n.newSel?i=this.domChanged.newSel.head:!OR(e.changes,this.hasComposition)&&!e.selectionSet&&(i=e.state.selection.main.head));let s=i>-1?cR(this.view,e.changes,i):null;if(this.domChanged=null,this.hasComposition){let{from:c,to:d}=this.hasComposition;r=new rr(c,d,e.changes.mapPos(c,-1),e.changes.mapPos(d,1)).addToSet(r.slice())}this.hasComposition=s?{from:s.range.fromB,to:s.range.toB}:null,(ee.ie||ee.chrome)&&!s&&e&&e.state.doc.lines!=e.startState.doc.lines&&(this.forceSelection=!0);let o=this.decorations,l=this.blockWrappers;this.updateDeco();let a=dR(o,this.decorations,e.changes);a.length&&(r=rr.extendWithRanges(r,a));let u=mR(l,this.blockWrappers,e.changes);return u.length&&(r=rr.extendWithRanges(r,u)),s&&!r.some(c=>c.fromA<=s.range.fromA&&c.toA>=s.range.toA)&&(r=s.range.addToSet(r.slice())),this.tile.flags&2&&r.length==0?!1:(this.updateInner(r,s),e.transactions.length&&(this.lastUpdate=Date.now()),!0)}updateInner(e,n){this.view.viewState.mustMeasureContent=!0;let{observer:r}=this.view;r.ignore(()=>{if(n||e.length){let o=this.tile,l=new sR(this.view,o,this.blockWrappers,this.decorations,this.dynamicDecorationMap);n&&ct.get(n.text)&&l.cache.reused.set(ct.get(n.text),2),this.tile=l.run(e,n),$g(o,l.cache.reused)}this.tile.dom.style.height=this.view.viewState.contentHeight/this.view.scaleY+"px",this.tile.dom.style.flexBasis=this.minWidth?this.minWidth+"px":"";let s=ee.chrome||ee.ios?{node:r.selectionRange.focusNode,written:!1}:void 0;this.tile.sync(s),s&&(s.written||r.selectionRange.focusNode!=s.node||!this.tile.dom.contains(s.node))&&(this.forceSelection=!0),this.tile.dom.style.height=""});let i=[];if(this.view.viewport.from||this.view.viewport.to-1)&&qa(r,this.view.observer.selectionRange)&&!(i&&r.contains(i));if(!(s||n||o))return;let l=this.forceSelection;this.forceSelection=!1;let a=this.view.state.selection.main,u,c;if(a.empty?c=u=this.inlineDOMNearPos(a.anchor,a.assoc||1):(c=this.inlineDOMNearPos(a.head,a.head==a.from?1:-1),u=this.inlineDOMNearPos(a.anchor,a.anchor==a.from?1:-1)),ee.gecko&&a.empty&&!this.hasComposition&&uR(u)){let p=document.createTextNode("");this.view.observer.ignore(()=>u.node.insertBefore(p,u.node.childNodes[u.offset]||null)),u=c=new xr(p,0),l=!0}let d=this.view.observer.selectionRange;(l||!d.focusNode||(!ja(u.node,u.offset,d.anchorNode,d.anchorOffset)||!ja(c.node,c.offset,d.focusNode,d.focusOffset))&&!this.suppressWidgetCursorChange(d,a))&&(this.view.observer.ignore(()=>{ee.android&&ee.chrome&&r.contains(d.focusNode)&&gR(d.focusNode,r)&&(r.blur(),r.focus({preventScroll:!0}));let p=vu(this.view.root);if(p)if(a.empty){if(ee.gecko){let g=hR(u.node,u.offset);if(g&&g!=3){let y=(g==1?Kb:Zb)(u.node,u.offset);y&&(u=new xr(y.node,y.offset))}}p.collapse(u.node,u.offset),a.bidiLevel!=null&&p.caretBidiLevel!==void 0&&(p.caretBidiLevel=a.bidiLevel)}else if(p.extend){p.collapse(u.node,u.offset);try{p.extend(c.node,c.offset)}catch{}}else{let g=document.createRange();a.anchor>a.head&&([u,c]=[c,u]),g.setEnd(c.node,c.offset),g.setStart(u.node,u.offset),p.removeAllRanges(),p.addRange(g)}o&&this.view.root.activeElement==r&&(r.blur(),i&&i.focus())}),this.view.observer.setSelectionRange(u,c)),this.impreciseAnchor=u.precise?null:new xr(d.anchorNode,d.anchorOffset),this.impreciseHead=c.precise?null:new xr(d.focusNode,d.focusOffset)}suppressWidgetCursorChange(e,n){return this.hasComposition&&n.empty&&ja(e.focusNode,e.focusOffset,e.anchorNode,e.anchorOffset)&&this.posFromDOM(e.focusNode,e.focusOffset)==n.head}enforceCursorAssoc(){if(this.hasComposition)return;let{view:e}=this,n=e.state.selection.main,r=vu(e.root),{anchorNode:i,anchorOffset:s}=e.observer.selectionRange;if(!r||!n.empty||!n.assoc||!r.modify)return;let o=this.lineAt(n.head,n.assoc);if(!o)return;let l=o.posAtStart;if(n.head==l||n.head==l+o.length)return;let a=this.coordsAt(n.head,-1),u=this.coordsAt(n.head,1);if(!a||!u||a.bottom>u.top)return;let c=this.domAtPos(n.head+n.assoc,n.assoc);r.collapse(c.node,c.offset),r.modify("move",n.assoc<0?"forward":"backward","lineboundary"),e.observer.readSelectionRange();let d=e.observer.selectionRange;e.docView.posFromDOM(d.anchorNode,d.anchorOffset)!=n.from&&r.collapse(i,s)}posFromDOM(e,n){let r=this.tile.nearest(e);if(!r)return this.tile.dom.compareDocumentPosition(e)&2?0:this.view.state.doc.length;let i=r.posAtStart;if(r.isComposite()){let s;if(e==r.dom)s=r.dom.childNodes[n];else{let o=ki(e)==0?0:n==0?-1:1;for(;;){let l=e.parentNode;if(l==r.dom)break;o==0&&l.firstChild!=l.lastChild&&(e==l.firstChild?o=-1:o=1),e=l}o<0?s=e:s=e.nextSibling}if(s==r.dom.firstChild)return i;for(;s&&!ct.get(s);)s=s.nextSibling;if(!s)return i+r.length;for(let o=0,l=i;;o++){let a=r.children[o];if(a.dom==s)return l;l+=a.length+a.breakAfter}}else return r.isText()?e==r.dom?i+n:i+(n?r.length:0):i}domAtPos(e,n){let{tile:r,offset:i}=this.tile.resolveBlock(e,n);return r.isWidget()?r.domPosFor(i,n):r.domIn(i,n)}inlineDOMNearPos(e,n){let r,i=-1,s=!1,o,l=-1,a=!1;return this.tile.blockTiles((u,c)=>{if(u.isWidget()){if(u.flags&32&&c>=e)return!0;u.flags&16&&(s=!0)}else{let d=c+u.length;if(c<=e&&(r=u,i=e-c,s=d=e&&!o&&(o=u,l=e-c,a=c>e),c>e&&o)return!0}}),!r&&!o?this.domAtPos(e,n):(s&&o?r=null:a&&r&&(o=null),r&&n<0||!o?r.domIn(i,n):o.domIn(l,n))}coordsAt(e,n,r){let{tile:i,offset:s}=this.tile.resolveBlock(e,n);return i.isWidget()?i.widget instanceof kp?null:i.coordsInWidget(s,n,!0):i.coordsIn(s,n,r)}lineAt(e,n){let{tile:r}=this.tile.resolveBlock(e,n);return r.isLine()?r:null}coordsForChar(e){let{tile:n,offset:r}=this.tile.resolveBlock(e,1);if(!n.isLine())return null;function i(s,o){if(s.isComposite())for(let l of s.children){if(l.length>=o){let a=i(l,o);if(a)return a}if(o-=l.length,o<0)break}else if(s.isText()&&oMath.max(this.view.scrollDOM.clientWidth,this.minWidth)+1,l=-1,a=this.view.textDirection==Ve.LTR,u=0,c=(d,p,g)=>{for(let y=0;yi);y++){let w=d.children[y],_=p+w.length,x=w.dom.getBoundingClientRect(),{height:S}=x;if(g&&!y&&(u+=x.top-g.top),w instanceof Oi)_>r&&c(w,p,x);else if(p>=r&&(u>0&&n.push(-u),n.push(S+u),u=0,o)){let b=w.dom.lastChild,T=b?Ch(b):[];if(T.length){let P=T[T.length-1],D=a?P.right-x.left:x.right-P.left;D>l&&(l=D,this.minWidth=s,this.minWidthFrom=p,this.minWidthTo=_)}}g&&y==d.children.length-1&&(u+=g.bottom-x.bottom),p=_+w.breakAfter}};return c(this.tile,0,null),n}textDirectionAt(e){let{tile:n}=this.tile.resolveBlock(e,1);return getComputedStyle(n.dom).direction=="rtl"?Ve.RTL:Ve.LTR}measureTextSize(){let e=this.tile.blockTiles(o=>{if(o.isLine()&&o.children.length&&o.length<=20){let l=0,a;for(let u of o.children){if(!u.isText()||/[^ -~]/.test(u.text))return;let c=Ch(u.dom);if(c.length!=1)return;l+=c[0].width,a=c[0].height}if(l)return{lineHeight:o.dom.getBoundingClientRect().height,charWidth:l/o.length,textHeight:a}}});if(e)return e;let n=document.createElement("div"),r,i,s;return n.className="cm-line",n.style.width="99999px",n.style.position="absolute",n.textContent="abc def ghi jkl mno pqr stu",this.view.observer.ignore(()=>{this.tile.dom.appendChild(n);let o=Ch(n.firstChild)[0];r=n.getBoundingClientRect().height,i=o&&o.width?o.width/27:7,s=o&&o.height?o.height:r,n.remove()}),{lineHeight:r,charWidth:i,textHeight:s}}computeBlockGapDeco(){let e=[],n=this.view.viewState;for(let r=0,i=0;;i++){let s=i==n.viewports.length?null:n.viewports[i],o=s?s.from-1:this.view.state.doc.length;if(o>r){let l=(n.lineBlockAt(o).bottom-n.lineBlockAt(r).top)/this.view.scaleY;e.push(Oe.replace({widget:new kp(l),block:!0,inclusive:!0,isBlockGap:!0}).range(r,o))}if(!s)break;r=s.to+1}return Oe.set(e)}updateDeco(){let e=1,n=this.view.state.facet(od).map(s=>(this.dynamicDecorationMap[e++]=typeof s=="function")?s(this.view):s),r=!1,i=this.view.state.facet(RO).map((s,o)=>{let l=typeof s=="function";return l&&(r=!0),l?s(this.view):s});for(i.length&&(this.dynamicDecorationMap[e++]=r,n.push(Ce.join(i))),this.decorations=[this.editContextFormatting,...n,this.computeBlockGapDeco(),this.view.viewState.lineGapDeco];etypeof s=="function"?s(this.view):s)}scrollIntoView(e){if(e.isSnapshot){let u=this.view.viewState.lineBlockAt(e.range.head);this.view.scrollDOM.scrollTop=u.top-e.yMargin,this.view.scrollDOM.scrollLeft=e.xMargin;return}for(let u of this.view.state.facet(h2))try{if(u(this.view,e.range,e))return!0}catch(c){Sn(this.view.state,c,"scroll handler")}let{range:n}=e,r=this.coordsAt(n.head,n.assoc||(n.head>n.anchor?-1:1)),i;if(!r)return;!n.empty&&(i=this.coordsAt(n.anchor,n.anchor>n.head?-1:1))&&(r={left:Math.min(r.left,i.left),top:Math.min(r.top,i.top),right:Math.max(r.right,i.right),bottom:Math.max(r.bottom,i.bottom)});let s=BO(this.view),o={left:r.left-s.left,top:r.top-s.top,right:r.right+s.right,bottom:r.bottom+s.bottom},{offsetWidth:l,offsetHeight:a}=this.view.scrollDOM;if(zD(this.view.scrollDOM,o,n.head1&&(r.top>window.pageYOffset+window.visualViewport.offsetTop+window.visualViewport.height||r.bottomr.isWidget()||r.children.some(n);return n(this.tile.resolveBlock(e,1).tile)}destroy(){$g(this.tile)}}function $g(t,e){let n=e==null?void 0:e.get(t);if(n!=1){n==null&&t.destroy();for(let r of t.children)$g(r,e)}}function uR(t){return t.node.nodeType==1&&t.node.firstChild&&(t.offset==0||t.node.childNodes[t.offset-1].contentEditable=="false")&&(t.offset==t.node.childNodes.length||t.node.childNodes[t.offset].contentEditable=="false")}function y2(t,e){let n=t.observer.selectionRange;if(!n.focusNode)return null;let r=Kb(n.focusNode,n.focusOffset),i=Zb(n.focusNode,n.focusOffset),s=r||i;if(i&&r&&i.node!=r.node){let l=ct.get(i.node);if(!l||l.isText()&&l.text!=i.node.nodeValue)s=i;else if(t.docView.lastCompositionAfterCursor){let a=ct.get(r.node);!a||a.isText()&&a.text!=r.node.nodeValue||(s=i)}}if(t.docView.lastCompositionAfterCursor=s!=r,!s)return null;let o=e-s.offset;return{from:o,to:o+s.node.nodeValue.length,node:s.node}}function cR(t,e,n){let r=y2(t,n);if(!r)return null;let{node:i,from:s,to:o}=r,l=i.nodeValue;if(/[\n\r]/.test(l)||t.state.doc.sliceString(r.from,r.to)!=l)return null;let a=e.invertedDesc;return{range:new rr(a.mapPos(s),a.mapPos(o),s,o),text:i}}function hR(t,e){return t.nodeType!=1?0:(e&&t.childNodes[e-1].contentEditable=="false"?1:0)|(e{re.from&&(n=!0)}),n}class kp extends ti{constructor(e){super(),this.height=e}toDOM(){let e=document.createElement("div");return e.className="cm-gap",this.updateDOM(e),e}eq(e){return e.height==this.height}updateDOM(e){return e.style.height=this.height+"px",!0}get editable(){return!0}get estimatedHeight(){return this.height}ignoreEvent(){return!1}}function yR(t,e,n=1){let r=t.charCategorizer(e),i=t.doc.lineAt(e),s=e-i.from;if(i.length==0)return U.cursor(e);s==0?n=1:s==i.length&&(n=-1);let o=s,l=s;n<0?o=Bt(i.text,s,!1):l=Bt(i.text,s);let a=r(i.text.slice(o,l));for(;o>0;){let u=Bt(i.text,o,!1);if(r(i.text.slice(u,o))!=a)break;o=u}for(;lt.defaultLineHeight*1.5){let l=t.viewState.heightOracle.textHeight,a=Math.floor((i-n.top-(t.defaultLineHeight-l)*.5)/l);s+=a*t.viewState.heightOracle.lineLength}let o=t.state.sliceDoc(n.from,n.to);return n.from+Tg(o,s,t.state.tabSize)}function Wg(t,e,n){let r=t.lineBlockAt(e);if(Array.isArray(r.type)){let i;for(let s of r.type){if(s.from>e)break;if(!(s.toe)return s;(!i||s.type==Ht.Text&&(i.type!=s.type||(n<0?s.frome)))&&(i=s)}}return i||r}return r}function wR(t,e,n,r){let i=Wg(t,e.head,e.assoc||-1),s=!r||i.type!=Ht.Text||!(t.lineWrapping||i.widgetLineBreaks)?null:t.coordsAtPos(e.assoc<0&&e.head>i.from?e.head-1:e.head);if(s){let o=t.dom.getBoundingClientRect(),l=t.textDirectionAt(i.from),a=t.posAtCoords({x:n==(l==Ve.LTR)?o.right-1:o.left+1,y:(s.top+s.bottom)/2});if(a!=null)return U.cursor(a,n?-1:1)}return U.cursor(n?i.to:i.from,n?-1:1)}function pv(t,e,n,r){let i=t.state.doc.lineAt(e.head),s=t.bidiSpans(i),o=t.textDirectionAt(i.from);for(let l=e,a=null;;){let u=GD(i,s,o,l,n),c=n2;if(!u){if(i.number==(n?t.state.doc.lines:1))return l;c=` `,i=t.state.doc.line(i.number+(n?1:-1)),s=t.bidiSpans(i),u=t.visualLineSide(i,!n)}if(a){if(!a(c))return l}else{if(!r)return u;a=r(c)}l=u}}function xR(t,e,n){let r=t.state.charCategorizer(e),i=r(n);return s=>{let o=r(s);return i==rt.Space&&(i=o),i==o}}function SR(t,e,n,r){let i=e.head,s=n?1:-1;if(i==(n?t.state.doc.length:0))return U.cursor(i,e.assoc);let o=e.goalColumn,l,a=t.contentDOM.getBoundingClientRect(),u=t.coordsAtPos(i,e.assoc||((e.empty?n:e.head==e.from)?1:-1)),c=t.documentTop;if(u)o==null&&(o=u.left-a.left),l=s<0?u.top:u.bottom;else{let y=t.viewState.lineBlockAt(i);o==null&&(o=Math.min(a.right-a.left,t.defaultCharacterWidth*(i-y.from))),l=(s<0?y.top:y.bottom)+c}let d=a.left+o,p=t.viewState.heightOracle.textHeight>>1,g=r??p;for(let y=0;;y+=p){let w=l+(g+y)*s,_=Ug(t,{x:d,y:w},!1,s);if(n?w>a.bottom:wl:S{if(e>s&&ei(t)),n.from,e.head>n.from?-1:1);return r==n.from?n:U.cursor(r,rt.viewState.docHeight)return new qr(t.state.doc.length,-1);if(u=t.elementAtHeight(a),r==null)break;if(u.type==Ht.Text){if(r<0?u.tot.viewport.to)break;let p=t.docView.coordsAt(r<0?u.from:u.to,r>0?-1:1);if(p&&(r<0?p.top<=a+s:p.bottom>=a+s))break}let d=t.viewState.heightOracle.textHeight/2;a=r>0?u.bottom+d:u.top-d}if(t.viewport.from>=u.to||t.viewport.to<=u.from){if(n)return null;if(u.type==Ht.Text){let d=vR(t,i,u,o,l);return new qr(d,d==u.from?1:-1)}}if(u.type!=Ht.Text)return a<(u.top+u.bottom)/2?new qr(u.from,1):new qr(u.to,-1);let c=t.docView.lineAt(u.from,2);return(!c||c.length!=u.length)&&(c=t.docView.lineAt(u.from,-2)),new kR(t,o,l,t.textDirectionAt(u.from)).scanTile(c,u.from)}class kR{constructor(e,n,r,i){this.view=e,this.x=n,this.y=r,this.baseDir=i,this.line=null,this.spans=null}bidiSpansAt(e){return(!this.line||this.line.from>e||this.line.to1||r.length&&(r[0].level!=this.baseDir||r[0].to+i.from>1;t:if(o.has(w)){let x=i+Math.floor(Math.random()*y);for(let S=0;S1)){if(S.bottomthis.y)(!u||u.top>S.top)&&(u=S),b=-1;else{let T=S.left>this.x?this.x-S.left:S.right(y+y+w)/3)return this.y=a.bottom-1,this.scan(e,n,!0);if(u&&u.top<(y+w+w)/3)return this.y=u.top+1,this.scan(e,n,!0)}let g=(l?this.dirAt(e[c],1):this.baseDir)==Ve.LTR;return{i:c,after:this.x>(p.left+p.right)/2==g}}scanText(e,n){let r=[];for(let s=0;s{let o=r[s]-n,l=r[s+1]-n;return wu(e.dom,o,l).getClientRects()});return i.after?new qr(r[i.i+1],-1):new qr(r[i.i],1)}scanTile(e,n){if(!e.length)return new qr(n,1);if(e.children.length==1){let l=e.children[0];if(l.isText())return this.scanText(l,n);if(l.isComposite())return this.scanTile(l,n)}let r=[n];for(let l=0,a=n;l{let a=e.children[l];return a.flags&48?null:(a.dom.nodeType==1?a.dom:wu(a.dom,0,a.length)).getClientRects()}),s=e.children[i.i],o=r[i.i];return s.isText()?this.scanText(s,o):s.isComposite()?this.scanTile(s,o):i.after?new qr(r[i.i+1],-1):new qr(o,1)}}const Ro="￿";class bR{constructor(e,n){this.points=e,this.view=n,this.text="",this.lineSeparator=n.state.facet(ze.lineSeparator)}append(e){this.text+=e}lineBreak(){this.text+=Ro}readRange(e,n){if(!e)return this;let r=e.parentNode;for(let i=e;;){this.findPointBefore(r,i);let s=this.text.length;this.readNode(i);let o=ct.get(i),l=i.nextSibling;if(l==n){o!=null&&o.breakAfter&&!l&&r!=this.view.contentDOM&&this.lineBreak();break}let a=ct.get(l);(o&&a?o.breakAfter:(o?o.breakAfter:hf(i))||hf(l)&&(i.nodeName!="BR"||o!=null&&o.isWidget())&&this.text.length>s)&&!ER(l,n)&&this.lineBreak(),i=l}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 s=-1,o=1,l;if(this.lineSeparator?(s=n.indexOf(this.lineSeparator,r),o=this.lineSeparator.length):(l=i.exec(n))&&(s=l.index,o=l[0].length),this.append(n.slice(r,s<0?n.length:s)),s<0)break;if(this.lineBreak(),o>1)for(let a of this.points)a.node==e&&a.pos>this.text.length&&(a.pos-=o-1);r=s+o}}readNode(e){let n=ct.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+(_R(e,r.node,r.offset)?n:0))}}function _R(t,e,n){for(;;){if(!e||n-1;let{impreciseHead:s,impreciseAnchor:o}=e.docView,l=e.state.selection;if(e.state.readOnly&&n>-1)this.newSel=null;else if(n>-1&&(this.bounds=w2(e.docView.tile,n,r,0))){let a=s||o?[]:PR(e),u=new bR(a,e);u.readRange(this.bounds.startDOM,this.bounds.endDOM),this.text=u.text,this.newSel=MR(a,this.bounds.from)}else{let a=e.observer.selectionRange,u=s&&s.node==a.focusNode&&s.offset==a.focusOffset||!Qg(e.contentDOM,a.focusNode)?l.main.head:e.docView.posFromDOM(a.focusNode,a.focusOffset),c=o&&o.node==a.anchorNode&&o.offset==a.anchorOffset||!Qg(e.contentDOM,a.anchorNode)?l.main.anchor:e.docView.posFromDOM(a.anchorNode,a.anchorOffset),d=e.viewport;if((ee.ios||ee.chrome)&&u!=c&&Math.min(u,c)<=l.main.from&&Math.max(u,c)>=l.main.to&&(d.from>0||d.to-1&&l.ranges.length>1)this.newSel=l.replaceRange(U.range(c,u));else if(e.lineWrapping&&c==u&&!(l.main.empty&&l.main.head==u)&&e.inputState.lastTouchTime>Date.now()-100){let p=e.coordsAtPos(u,-1),g=0;p&&(g=e.inputState.lastTouchY<=p.bottom?-1:1),this.newSel=U.create([U.cursor(u,g)])}else this.newSel=U.single(c,u)}}}function w2(t,e,n,r){if(t.isComposite()){let i=-1,s=-1,o=-1,l=-1;for(let a=0,u=r,c=r;an)return w2(d,e,n,u);if(p>=e&&i==-1&&(i=a,s=u),u>n&&d.dom.parentNode==t.dom){o=a,l=c;break}c=p,u=p+d.breakAfter}return{from:s,to:l<0?r+t.length:l,startDOM:(i?t.children[i-1].dom.nextSibling:null)||t.dom.firstChild,endDOM:o=0?t.children[o].dom:null}}else return t.isText()?{from:r,to:r+t.length,startDOM:t.dom,endDOM:t.dom.nextSibling}:null}function x2(t,e){let n,{newSel:r}=e,{state:i}=t,s=i.selection.main,o=t.inputState.lastKeyTime>Date.now()-100?t.inputState.lastKeyCode:-1;if(e.bounds){let{from:l,to:a}=e.bounds,u=s.from,c=null;(o===8||ee.android&&e.text.length=l&&s.to<=a&&(e.typeOver||d!=e.text)&&d.slice(0,s.from-l)==e.text.slice(0,s.from-l)&&d.slice(s.to-l)==e.text.slice(p=e.text.length-(d.length-(s.to-l)))?n={from:s.from,to:s.to,insert:Re.of(e.text.slice(s.from-l,p).split(Ro))}:(g=S2(d,e.text,u-l,c))&&(ee.chrome&&o==13&&g.toB==g.from+2&&e.text.slice(g.from,g.toB)==Ro+Ro&&g.toB--,n={from:l+g.from,to:l+g.toA,insert:Re.of(e.text.slice(g.from,g.toB).split(Ro))})}else r&&(!t.hasFocus&&i.facet(di)||gf(r,s))&&(r=null);if(!n&&!r)return!1;if((ee.mac||ee.android)&&n&&n.from==n.to&&n.from==s.head-1&&/^\. ?$/.test(n.insert.toString())&&t.contentDOM.getAttribute("autocorrect")=="off"?(r&&n.insert.length==2&&(r=U.single(r.main.anchor-1,r.main.head-1)),n={from:n.from,to:n.to,insert:Re.of([n.insert.toString().replace("."," ")])}):i.doc.lineAt(s.from).toDate.now()-50?n={from:s.from,to:s.to,insert:i.toText(t.inputState.insertingText)}:ee.chrome&&n&&n.from==n.to&&n.from==s.head&&n.insert.toString()==` `&&t.lineWrapping&&(r&&(r=U.single(r.main.anchor-1,r.main.head-1)),n={from:s.from,to:s.to,insert:Re.of([" "])}),n)return LO(t,n,r,o);if(r&&!gf(r,s)){let l=!1,a="select";return t.inputState.lastSelectionTime>Date.now()-50&&(t.inputState.lastSelectionOrigin=="select"&&(l=!0),a=t.inputState.lastSelectionOrigin,a=="select.pointer"&&(r=v2(i.facet(Vu).map(u=>u(t)),r))),t.dispatch({selection:r,scrollIntoView:l,userEvent:a}),!0}else return!1}function LO(t,e,n,r=-1){if(ee.ios&&t.inputState.flushIOSKey(e))return!0;let i=t.state.selection.main;if(ee.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&&ll(t.contentDOM,"Enter",13)||(e.from==i.from-1&&e.to==i.to&&e.insert.length==0||r==8&&e.insert.lengthi.head)&&ll(t.contentDOM,"Backspace",8)||e.from==i.from&&e.to==i.to+1&&e.insert.length==0&&ll(t.contentDOM,"Delete",46)))return!0;let s=e.insert.toString();t.inputState.composing>=0&&t.inputState.composing++;let o,l=()=>o||(o=TR(t,e,n));return t.state.facet(l2).some(a=>a(t,e.from,e.to,s,l))||t.dispatch(l()),!0}function TR(t,e,n){let r,i=t.state,s=i.selection.main,o=-1;if(e.from==e.to&&e.froms.to){let a=e.fromd(t)),u,a);e.from==c&&(o=c)}if(o>-1)r={changes:e,selection:U.cursor(e.from+e.insert.length,-1)};else if(e.from>=s.from&&e.to<=s.to&&e.to-e.from>=(s.to-s.from)/3&&(!n||n.main.empty&&n.main.from==e.from+e.insert.length)&&t.inputState.composing<0){let a=s.frome.to?i.sliceDoc(e.to,s.to):"";r=i.replaceSelection(t.state.toText(a+e.insert.sliceString(0,void 0,t.state.lineBreak)+u))}else{let a=i.changes(e),u=n&&n.main.to<=a.newLength?n.main:void 0;if(i.selection.ranges.length>1&&(t.inputState.composing>=0||t.inputState.compositionPendingChange)&&e.to<=s.to+10&&e.to>=s.to-10){let c=t.state.sliceDoc(e.from,e.to),d,p=n&&y2(t,n.main.head);if(p){let y=e.insert.length-(e.to-e.from);d={from:p.from,to:p.to-y}}else d=t.state.doc.lineAt(s.head);let g=s.to-e.to;r=i.changeByRange(y=>{if(y.from==s.from&&y.to==s.to)return{changes:a,range:u||y.map(a)};let w=y.to-g,_=w-c.length;if(t.state.sliceDoc(_,w)!=c||w>=d.from&&_<=d.to)return{range:y};let x=i.changes({from:_,to:w,insert:e.insert}),S=y.to-s.to;return{changes:x,range:u?U.range(Math.max(0,u.anchor+S),Math.max(0,u.head+S)):y.map(x)}})}else r={changes:a,selection:u&&i.selection.replaceRange(u)}}let l="input.type";return(t.composing||t.inputState.compositionPendingChange&&t.inputState.compositionEndedAt>Date.now()-50)&&(t.inputState.compositionPendingChange=!1,l+=".compose",t.inputState.compositionFirstChange&&(l+=".start",t.inputState.compositionFirstChange=!1)),i.update(r,{userEvent:l,scrollIntoView:!0})}function S2(t,e,n,r){let i=Math.min(t.length,e.length),s=0;for(;s0&&l>0&&t.charCodeAt(o-1)==e.charCodeAt(l-1);)o--,l--;if(r=="end"){let a=Math.max(0,s-Math.min(o,l));n-=o+a-s}if(o=o?s-n:0;s-=a,l=s+(l-o),o=s}else if(l=l?s-n:0;s-=a,o=s+(o-l),l=s}return{from:s,toA:o,toB:l}}function PR(t){let e=[];if(t.root.activeElement!=t.contentDOM)return e;let{anchorNode:n,anchorOffset:r,focusNode:i,focusOffset:s}=t.observer.selectionRange;return n&&(e.push(new mv(n,r)),(i!=n||s!=r)&&e.push(new mv(i,s))),e}function MR(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?U.single(n+e,r+e):null}function gf(t,e){return e.head==t.main.head&&e.anchor==t.main.anchor}class DR{setSelectionOrigin(e){this.lastSelectionOrigin=e,this.lastSelectionTime=Date.now()}constructor(e){this.view=e,this.lastKeyCode=0,this.lastKeyTime=0,this.touchActive=!1,this.lastTouchTime=0,this.lastTouchX=0,this.lastTouchY=0,this.lastFocusTime=0,this.lastScrollTop=0,this.lastScrollLeft=0,this.lastWheelEvent=0,this.pendingIOSKey=void 0,this.lastIOSMomentumScroll=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.insertingText="",this.insertingTextAt=0,this.mouseSelection=null,this.draggedContent=null,this.handleEvent=this.handleEvent.bind(this),this.notifiedFocused=e.hasFocus,ee.safari&&e.contentDOM.addEventListener("input",()=>null),ee.gecko&&XR(e.contentDOM.ownerDocument)}handleEvent(e){!$R(this.view,e)||this.ignoreDuringComposition(e)||e.type=="keydown"&&this.keydown(e)||(this.view.updateState!=0?Promise.resolve().then(()=>this.runHandlers(e.type,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=BR(e),r=this.handlers,i=this.view.contentDOM;for(let s in n)if(s!="scroll"){let o=!n[s].handlers.length,l=r[s];l&&o!=!l.handlers.length&&(i.removeEventListener(s,this.handleEvent),l=null),l||i.addEventListener(s,this.handleEvent,{passive:o})}for(let s in r)s!="scroll"&&!n[s]&&i.removeEventListener(s,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&&b2.indexOf(e.keyCode)<0&&(this.tabFocusMode=-1),ee.android&&ee.chrome&&!e.synthetic&&(e.keyCode==13||e.keyCode==8))return this.view.observer.delayAndroidKey(e.key,e.keyCode),!0;if(ee.ios&&!e.synthetic&&!e.altKey&&!e.metaKey&&(k2.some(n=>n.keyCode==e.keyCode)&&!e.ctrlKey||LR.indexOf(e.key)>-1&&e.ctrlKey)){let n={ctrlKey:e.ctrlKey,altKey:e.altKey,metaKey:e.metaKey,shiftKey:e.shiftKey};return n.shiftKey&&ee.ios&&!/^(off|none)$/.test(this.view.contentDOM.autocapitalize)&&RR(this.view.win)&&(n.shiftKey=!1),this.pendingIOSKey={key:e.key,keyCode:e.keyCode,mods:n},setTimeout(()=>this.flushIOSKey(),250),!0}return e.keyCode!=229&&this.view.observer.forceFlush(),!1}flushIOSKey(e){let n=this.pendingIOSKey;return!n||n.key=="Enter"&&e&&e.from0?!0:ee.safari&&!ee.ios&&this.compositionPendingKey&&Date.now()-this.compositionEndedAt<100?(this.compositionPendingKey=!1,!0):!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 RR(t){return t.visualViewport?t.visualViewport.height*t.visualViewport.scale/t.document.documentElement.clientHeight<.85:!1}function gv(t,e){return(n,r)=>{try{return e.call(t,r,n)}catch(i){Sn(n.state,i)}}}function BR(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,s=i&&i.plugin.domEventHandlers,o=i&&i.plugin.domEventObservers;if(s)for(let l in s){let a=s[l];a&&n(l).handlers.push(gv(r.value,a))}if(o)for(let l in o){let a=o[l];a&&n(l).observers.push(gv(r.value,a))}}for(let r in Er)n(r).handlers.push(Er[r]);for(let r in cn)n(r).observers.push(cn[r]);return e}const k2=[{key:"Backspace",keyCode:8,inputType:"deleteContentBackward"},{key:"Enter",keyCode:13,inputType:"insertParagraph"},{key:"Enter",keyCode:13,inputType:"insertLineBreak"},{key:"Delete",keyCode:46,inputType:"deleteContentForward"}],LR="dthko",b2=[16,17,18,20,91,92,224,225],Nc=6;function $c(t){return Math.max(0,t)*.7+8}function QR(t,e){return Math.max(Math.abs(t.clientX-e.clientX),Math.abs(t.clientY-e.clientY))}class IR{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=Xb(e.contentDOM),this.atoms=e.state.facet(Vu).map(o=>o(e));let s=e.contentDOM.ownerDocument;s.addEventListener("mousemove",this.move=this.move.bind(this)),s.addEventListener("mouseup",this.up=this.up.bind(this)),this.extend=n.shiftKey,this.multiple=e.state.facet(ze.allowMultipleSelections)&&zR(e,n),this.dragging=NR(e,n)&&C2(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&&QR(this.startEvent,e)<10)return;this.select(this.lastEvent=e);let n=0,r=0,i=0,s=0,o=this.view.win.innerWidth,l=this.view.win.innerHeight;this.scrollParents.x&&({left:i,right:o}=this.scrollParents.x.getBoundingClientRect()),this.scrollParents.y&&({top:s,bottom:l}=this.scrollParents.y.getBoundingClientRect());let a=BO(this.view);e.clientX-a.left<=i+Nc?n=-$c(i-e.clientX):e.clientX+a.right>=o-Nc&&(n=$c(e.clientX-o)),e.clientY-a.top<=s+Nc?r=-$c(s-e.clientY):e.clientY+a.bottom>=l-Nc&&(r=$c(e.clientY-l)),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)}select(e){let{view:n}=this,r=v2(this.atoms,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 zR(t,e){let n=t.state.facet(r2);return n.length?n[0](e):ee.mac?e.metaKey:e.ctrlKey}function FR(t,e){let n=t.state.facet(i2);return n.length?n[0](e):ee.mac?!e.altKey:!e.ctrlKey}function NR(t,e){let{main:n}=t.state.selection;if(n.empty)return!1;let r=vu(t.root);if(!r||r.rangeCount==0)return!0;let i=r.getRangeAt(0).getClientRects();for(let s=0;s=e.clientX&&o.top<=e.clientY&&o.bottom>=e.clientY)return!0}return!1}function $R(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=ct.get(n))&&r.isWidget()&&!r.isHidden&&r.widget.ignoreEvent(e))return!1;return!0}const Er=Object.create(null),cn=Object.create(null),_2=ee.ie&&ee.ie_version<15||ee.ios&&ee.webkit_version<604;function WR(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(),E2(t,n.value)},50)}function ud(t,e,n){for(let r of t.facet(e))n=r(n,t);return n}function E2(t,e){e=ud(t.state,PO,e);let{state:n}=t,r,i=1,s=n.toText(e),o=s.lines==n.selection.ranges.length;if(qg!=null&&n.selection.ranges.every(a=>a.empty)&&qg==s.toString()){let a=-1;r=n.changeByRange(u=>{let c=n.doc.lineAt(u.from);if(c.from==a)return{range:u};a=c.from;let d=n.toText((o?s.line(i++).text:e)+n.lineBreak);return{changes:{from:c.from,insert:d},range:U.cursor(u.from+d.length)}})}else o?r=n.changeByRange(a=>{let u=s.line(i++);return{changes:{from:a.from,to:a.to,insert:u.text},range:U.cursor(a.from+u.length)}}):r=n.replaceSelection(s);t.dispatch(r,{userEvent:"input.paste",scrollIntoView:!0})}cn.scroll=t=>{let e=t.inputState;e.lastScrollTop=t.scrollDOM.scrollTop,e.lastScrollLeft=t.scrollDOM.scrollLeft,ee.ios&&!e.touchActive&&(e.lastIOSMomentumScroll=Date.now())};cn.wheel=cn.mousewheel=t=>{t.inputState.lastWheelEvent=Date.now()};Er.keydown=(t,e)=>(t.inputState.setSelectionOrigin("select"),e.keyCode==27&&t.inputState.tabFocusMode!=0&&(t.inputState.tabFocusMode=Date.now()+2e3),!1);cn.touchstart=(t,e)=>{let n=t.inputState,r=e.targetTouches[0];n.touchActive=!0,n.lastTouchTime=Date.now(),r&&(n.lastTouchX=r.clientX,n.lastTouchY=r.clientY),n.setSelectionOrigin("select.pointer")};cn.touchmove=t=>{t.inputState.setSelectionOrigin("select.pointer")};cn.touchend=(t,e)=>{t.inputState.touchActive=!1};Er.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(s2))if(n=r(t,e),n)break;if(!n&&e.button==0&&(n=qR(t,e)),n){let r=!t.hasFocus;t.inputState.startMouseSelection(new IR(t,e,n,r)),r&&t.observer.ignore(()=>{Gb(t.contentDOM);let s=t.root.activeElement;s&&!s.contains(t.contentDOM)&&s.blur()});let i=t.inputState.mouseSelection;if(i)return i.start(e),i.dragging===!1}else t.inputState.setSelectionOrigin("select.pointer");return!1};function Ov(t,e,n,r){if(r==1)return U.cursor(e,n);if(r==2)return yR(t.state,e,n);{let i=t.docView.lineAt(e,n),s=t.state.doc.lineAt(i?i.posAtEnd:e),o=i?i.posAtStart:s.from,l=i?i.posAtEnd:s.to;return lDate.now()-400&&Math.abs(e.clientX-t.clientX)<2&&Math.abs(e.clientY-t.clientY)<2?(vv+1)%3:1}function qR(t,e){let n=t.posAndSideAtCoords({x:e.clientX,y:e.clientY},!1),r=C2(e),i=t.state.selection;return{update(s){s.docChanged&&(n.pos=s.changes.mapPos(n.pos),i=i.map(s.changes))},get(s,o,l){let a=t.posAndSideAtCoords({x:s.clientX,y:s.clientY},!1),u,c=Ov(t,a.pos,a.assoc,r);if(n.pos!=a.pos&&!o){let d=Ov(t,n.pos,n.assoc,r),p=Math.min(d.from,c.from),g=Math.max(d.to,c.to);c=p1&&(u=jR(i,a.pos))?u:l?i.addRange(c):U.create([c])}}}function jR(t,e){for(let n=0;n=e)return U.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}Er.dragstart=(t,e)=>{let{selection:{main:n}}=t.state;if(e.target.draggable){let i=t.docView.tile.nearest(e.target);if(i&&i.isWidget()){let s=i.posAtStart,o=s+i.length;(s>=n.to||o<=n.from)&&(n=U.undirectionalRange(s,o))}}let{inputState:r}=t;return r.mouseSelection&&(r.mouseSelection.dragging=!0),r.draggedContent=n,e.dataTransfer&&(e.dataTransfer.setData("Text",ud(t.state,MO,t.state.sliceDoc(n.from,n.to))),e.dataTransfer.effectAllowed="copyMove"),!1};Er.dragend=t=>(t.inputState.draggedContent=null,!1);function xv(t,e,n,r){if(n=ud(t.state,PO,n),!n)return;let i=t.posAtCoords({x:e.clientX,y:e.clientY},!1),{draggedContent:s}=t.inputState,o=r&&s&&FR(t,e)?{from:s.from,to:s.to}:null,l={from:i,insert:n},a=t.state.changes(o?[o,l]:l);t.focus(),t.dispatch({changes:a,selection:{anchor:a.mapPos(i,-1),head:a.mapPos(i,1)},userEvent:o?"move.drop":"input.drop"}),t.inputState.draggedContent=null}Er.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,s=()=>{++i==n.length&&xv(t,e,r.filter(o=>o!=null).join(t.state.lineBreak),!1)};for(let o=0;o{/[\x00-\x08\x0e-\x1f]{2}/.test(l.result)||(r[o]=l.result),s()},l.readAsText(n[o])}return!0}else{let r=e.dataTransfer.getData("Text");if(r)return xv(t,e,r,!0),!0}return!1};Er.paste=(t,e)=>{if(t.state.readOnly)return!0;t.observer.flush();let n=_2?null:e.clipboardData;return n?(E2(t,n.getData("text/plain")||n.getData("text/uri-list")),!0):(WR(t),!1)};function HR(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 VR(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:s}of t.selection.ranges){let o=t.doc.lineAt(s);o.number>i&&(e.push(o.text),n.push({from:o.from,to:Math.min(t.doc.length,o.to+1)})),i=o.number}r=!0}return{text:ud(t,MO,e.join(t.lineBreak)),ranges:n,linewise:r}}let qg=null;Er.copy=Er.cut=(t,e)=>{if(!qa(t.contentDOM,t.observer.selectionRange))return!1;let{text:n,ranges:r,linewise:i}=VR(t.state);if(!n&&!i)return!1;qg=i?n:null,e.type=="cut"&&!t.state.readOnly&&t.dispatch({changes:r,scrollIntoView:!0,userEvent:"delete.cut"});let s=_2?null:e.clipboardData;return s?(s.clearData(),s.setData("text/plain",n),!0):(HR(t,n),!1)};const T2=Ei.define();function P2(t,e){let n=[];for(let r of t.facet(a2)){let i=r(t,e);i&&n.push(i)}return n.length?t.update({effects:n,annotations:T2.of(!0)}):null}function M2(t){setTimeout(()=>{let e=t.hasFocus;if(e!=t.inputState.notifiedFocused){let n=P2(t.state,e);n?t.dispatch(n):t.update([])}},10)}cn.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),M2(t)};cn.blur=t=>{t.observer.clearSelectionRange(),M2(t)};cn.compositionstart=cn.compositionupdate=t=>{t.observer.editContext||(t.inputState.compositionFirstChange==null&&(t.inputState.compositionFirstChange=!0),t.inputState.composing<0&&(t.inputState.composing=0))};cn.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,ee.chrome&&ee.android?t.observer.flushSoon():t.inputState.compositionPendingChange?Promise.resolve().then(()=>t.observer.flush()):setTimeout(()=>{t.inputState.composing<0&&t.docView.hasComposition&&t.update([])},50))};cn.contextmenu=t=>{t.inputState.lastContextMenu=Date.now()};Er.beforeinput=(t,e)=>{var n,r;if((e.inputType=="insertText"||e.inputType=="insertCompositionText")&&(t.inputState.insertingText=e.data,t.inputState.insertingTextAt=Date.now()),e.inputType=="insertReplacementText"&&t.observer.editContext){let s=(n=e.dataTransfer)===null||n===void 0?void 0:n.getData("text/plain"),o=e.getTargetRanges();if(s&&o.length){let l=o[0],a=t.posAtDOM(l.startContainer,l.startOffset),u=t.posAtDOM(l.endContainer,l.endOffset);return LO(t,{from:a,to:u,insert:t.state.toText(s)},null),!0}}let i;if(ee.chrome&&ee.android&&(i=k2.find(s=>s.inputType==e.inputType))&&(t.observer.delayAndroidKey(i.key,i.keyCode),i.key=="Backspace"||i.key=="Delete")){let s=((r=window.visualViewport)===null||r===void 0?void 0:r.height)||0;setTimeout(()=>{var o;(((o=window.visualViewport)===null||o===void 0?void 0:o.height)||0)>s+10&&t.hasFocus&&(t.contentDOM.blur(),t.focus())},100)}return ee.ios&&e.inputType=="deleteContentForward"&&t.observer.flushSoon(),ee.safari&&e.inputType=="insertText"&&t.inputState.composing>=0&&setTimeout(()=>cn.compositionend(t,e),20),!1};const Sv=new Set;function XR(t){Sv.has(t)||(Sv.add(t),t.addEventListener("copy",()=>{}),t.addEventListener("cut",()=>{}))}const kv=["pre-wrap","normal","pre-line","break-spaces"];let bl=!1;function bv(){bl=!1}class GR{constructor(e){this.lineWrapping=e,this.doc=Re.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)/Math.max(1,this.lineLength-5))))*this.lineHeight:this.lineHeight}setDoc(e){return this.doc=e,this}mustRefreshForWrapping(e){return kv.indexOf(e)>-1!=this.lineWrapping}mustRefreshForHeights(e){let n=!1;for(let r=0;r-1,a=Math.abs(n-this.lineHeight)>.3||this.lineWrapping!=l;if(this.lineWrapping=l,this.lineHeight=n,this.charWidth=r,this.textHeight=i,this.lineLength=s,a){this.heightSamples={};for(let u=0;u0}set outdated(e){this.flags=(e?2:0)|this.flags&-3}setHeight(e){this.height!=e&&(Math.abs(this.height-e)>Th&&(bl=!0),this.height=e)}replace(e,n,r){return un.of(r)}decomposeLeft(e,n){n.push(this)}decomposeRight(e,n){n.push(this)}applyChanges(e,n,r,i){let s=this,o=r.doc;for(let l=i.length-1;l>=0;l--){let{fromA:a,toA:u,fromB:c,toB:d}=i[l],p=s.lineAt(a,Xe.ByPosNoHeight,r.setDoc(n),0,0),g=p.to>=u?p:s.lineAt(u,Xe.ByPosNoHeight,r,0,0);for(d+=g.to-u,u=g.to;l>0&&p.from<=i[l-1].toA;)a=i[l-1].fromA,c=i[l-1].fromB,l--,as*2){let l=e[n-1];l.break?e.splice(--n,1,l.left,null,l.right):e.splice(--n,1,l.left,l.right),r+=1+l.break,i-=l.size}else if(s>i*2){let l=e[r];l.break?e.splice(r,1,l.left,null,l.right):e.splice(r,1,l.left,l.right),r+=2+l.break,s-=l.size}else break;else if(i=s&&o(this.lineAt(0,Xe.ByPos,r,i,s))}setMeasuredHeight(e){let n=e.heights[e.index++];n<0?(this.spaceAbove=-n,n=e.heights[e.index++]):this.spaceAbove=0,this.setHeight(n)}updateHeight(e,n=0,r=!1,i){return i&&i.from<=n&&i.more&&this.setMeasuredHeight(i),this.outdated=!1,this}toString(){return`block(${this.length})`}}class zn extends D2{constructor(e,n,r){super(e,n,null),this.collapsed=0,this.widgetHeight=0,this.breaks=0,this.spaceAbove=r}mainBlock(e,n){return new wr(n,this.length,e+this.spaceAbove,this.height-this.spaceAbove,this.breaks)}replace(e,n,r){let i=r[0];return r.length==1&&(i instanceof zn||i instanceof $t&&i.flags&4)&&Math.abs(this.length-i.length)<10?(i instanceof $t?i=new zn(i.length,this.height,this.spaceAbove):i.height=this.height,this.outdated||(i.outdated=!1),i):un.of(r)}updateHeight(e,n=0,r=!1,i){return i&&i.from<=n&&i.more?this.setMeasuredHeight(i):(r||this.outdated)&&(this.spaceAbove=0,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 $t extends un{constructor(e){super(e,0)}heightMetrics(e,n){let r=e.doc.lineAt(n).number,i=e.doc.lineAt(n+this.length).number,s=i-r+1,o,l=0;if(e.lineWrapping){let a=Math.min(this.height,e.lineHeight*s);o=a/s,this.length>s+1&&(l=(this.height-a)/(this.length-s-1))}else o=this.height/s;return{firstLine:r,lastLine:i,perLine:o,perChar:l}}blockAt(e,n,r,i){let{firstLine:s,lastLine:o,perLine:l,perChar:a}=this.heightMetrics(n,i);if(n.lineWrapping){let u=i+(e0){let s=r[r.length-1];s instanceof $t?r[r.length-1]=new $t(s.length+i):r.push(null,new $t(i-1))}if(e>0){let s=r[0];s instanceof $t?r[0]=new $t(e+s.length):r.unshift(new $t(e-1),null)}return un.of(r)}decomposeLeft(e,n){n.push(new $t(e-1),null)}decomposeRight(e,n){n.push(null,new $t(this.length-e-1))}updateHeight(e,n=0,r=!1,i){let s=n+this.length;if(i&&i.from<=n+this.length&&i.more){let o=[],l=Math.max(n,i.from),a=-1;for(i.from>n&&o.push(new $t(i.from-n-1).updateHeight(e,n));l<=s&&i.more;){let c=e.doc.lineAt(l).length;o.length&&o.push(null);let d=i.heights[i.index++],p=0;d<0&&(p=-d,d=i.heights[i.index++]),a==-1?a=d:Math.abs(d-a)>=Th&&(a=-2);let g=new zn(c,d,p);g.outdated=!1,o.push(g),l+=c+1}l<=s&&o.push(null,new $t(s-l).updateHeight(e,l));let u=un.of(o);return(a<0||Math.abs(u.height-this.height)>=Th||Math.abs(a-this.heightMetrics(e,n).perLine)>=Th)&&(bl=!0),Of(this,u)}else(r||this.outdated)&&(this.setHeight(e.heightForGap(n,n+this.length)),this.outdated=!1);return this}toString(){return`gap(${this.length})`}}class ZR extends un{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 s=r+this.left.height;return el))return u;let c=n==Xe.ByPosNoHeight?Xe.ByPosNoHeight:Xe.ByPos;return a?u.join(this.right.lineAt(l,c,r,o,l)):this.left.lineAt(l,c,r,i,s).join(u)}forEachLine(e,n,r,i,s,o){let l=i+this.left.height,a=s+this.left.length+this.break;if(this.break)e=a&&this.right.forEachLine(e,n,r,l,a,o);else{let u=this.lineAt(a,Xe.ByPos,r,i,s);e=e&&u.from<=n&&o(u),n>u.to&&this.right.forEachLine(u.to+1,n,r,l,a,o)}}replace(e,n,r){let i=this.left.length+this.break;if(nthis.left.length)return this.balanced(this.left,this.right.replace(e-i,n-i,r));let s=[];e>0&&this.decomposeLeft(e,s);let o=s.length;for(let l of r)s.push(l);if(e>0&&_v(s,o-1),n=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);e2*n.size||n.size>2*e.size?un.of(this.break?[e,null,n]:[e,n]):(this.left=Of(this.left,e),this.right=Of(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:s,right:o}=this,l=n+s.length+this.break,a=null;return i&&i.from<=n+s.length&&i.more?a=s=s.updateHeight(e,n,r,i):s.updateHeight(e,n,r),i&&i.from<=l+o.length&&i.more?a=o=o.updateHeight(e,l,r,i):o.updateHeight(e,l,r),a?this.balanced(s,o):(this.height=this.left.height+this.right.height,this.outdated=!1,this)}toString(){return this.left+(this.break?" ":"-")+this.right}}function _v(t,e){let n,r;t[e]==null&&(n=t[e-1])instanceof $t&&(r=t[e+1])instanceof $t&&t.splice(e-1,3,new $t(n.length+1+r.length))}const AR=5;class QO{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 zn?i.length+=r-this.pos:(r>this.pos||!this.isCovered)&&this.nodes.push(new zn(r-this.pos,-1,0)),this.writtenTo=r,n>r&&(this.nodes.push(null),this.writtenTo++,this.lineStart=-1)}this.pos=n}point(e,n,r){if(e=AR)&&this.addLineDeco(i,s,o)}else n>e&&this.span(e,n);this.lineEnd>-1&&this.lineEnd-1)return;let{from:e,to:n}=this.oracle.doc.lineAt(this.pos);this.lineStart=e,this.lineEnd=n,this.writtenToe&&this.nodes.push(new zn(this.pos-e,-1,0)),this.writtenTo=this.pos}blankContent(e,n){let r=new $t(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 zn)return e;let n=new zn(0,-1,0);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 zn)&&!this.isCovered?this.nodes.push(new zn(0,-1,0)):(this.writtenToc.clientHeight||c.scrollWidth>c.clientWidth)&&d.overflow!="visible"){let p=c.getBoundingClientRect();s=Math.max(s,p.left),o=Math.min(o,p.right),l=Math.max(l,p.top),a=Math.min(u==t.parentNode?i.innerHeight:a,p.bottom)}u=d.position=="absolute"||d.position=="fixed"?c.offsetParent:c.parentNode}else if(u.nodeType==11)u=u.host;else break;return{left:s-n.left,right:Math.max(s,o)-n.left,top:l-(n.top+e),bottom:Math.max(l,a)-(n.top+e)}}function nB(t){let e=t.getBoundingClientRect(),n=t.ownerDocument.defaultView||window;return e.left0&&e.top0}function rB(t,e){let n=t.getBoundingClientRect();return{left:0,right:n.right-n.left,top:e,bottom:n.bottom-(n.top+e)}}class _p{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;rtypeof i!="function"&&i.class=="cm-lineWrapping");this.heightOracle=new GR(r),this.stateDeco=Tv(n),this.heightMap=un.empty().applyChanges(this.stateDeco,Re.empty,this.heightOracle.setDoc(n.doc),[new rr(0,0,0,n.doc.length)]);for(let i=0;i<2&&(this.viewport=this.getViewport(0,null),!!this.updateForViewport());i++);this.updateViewportLines(),this.lineGaps=this.ensureLineGaps([]),this.lineGapDeco=Oe.set(this.lineGaps.map(i=>i.draw(this,!1))),this.scrollParent=e.scrollDOM,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:s,to:o})=>i>=s&&i<=o)){let{from:s,to:o}=this.lineBlockAt(i);e.push(new Wc(s,o))}}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?Cv:new IO(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(_a(e,this.scaler))})}update(e,n=null){this.state=e.state;let r=this.stateDeco;this.stateDeco=Tv(this.state);let i=e.changedRanges,s=rr.extendWithRanges(i,JR(r,this.stateDeco,e?e.changes:Et.empty(this.state.doc.length))),o=this.heightMap.height,l=this.scrolledToBottom?null:this.scrollAnchorAt(this.scrollOffset);bv(),this.heightMap=this.heightMap.applyChanges(this.stateDeco,e.startState.doc,this.heightOracle.setDoc(this.state.doc),s),(this.heightMap.height!=o||bl)&&(e.flags|=2),l?(this.scrollAnchorPos=e.changes.mapPos(l.from,-1),this.scrollAnchorHeight=l.top):(this.scrollAnchorPos=-1,this.scrollAnchorHeight=o);let a=s.length?this.mapViewport(this.viewport,e.changes):this.viewport;(n&&(n.range.heada.to)||!this.viewportIsAppropriate(a))&&(a=this.getViewport(0,n));let u=a.from!=this.viewport.from||a.to!=this.viewport.to;this.viewport=a,e.flags|=this.updateForViewport(),(u||!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.focusChanged)&&e.view.lineWrapping&&e.state.selection.main.empty&&e.state.selection.main.assoc&&!e.state.facet(c2)&&(this.mustEnforceCursorAssoc=!0)}measure(){let{view:e}=this,n=e.contentDOM,r=window.getComputedStyle(n),i=this.heightOracle,s=r.whiteSpace;this.defaultTextDirection=r.direction=="rtl"?Ve.RTL:Ve.LTR;let o=this.heightOracle.mustRefreshForWrapping(s)||this.mustMeasureContent==="refresh",l=n.getBoundingClientRect(),a=o||this.mustMeasureContent||this.contentDOMHeight!=l.height;this.contentDOMHeight=l.height,this.mustMeasureContent=!1;let u=0,c=0;if(l.width&&l.height){let{scaleX:P,scaleY:D}=Vb(n,l);(P>.005&&Math.abs(this.scaleX-P)>.005||D>.005&&Math.abs(this.scaleY-D)>.005)&&(this.scaleX=P,this.scaleY=D,u|=16,o=a=!0)}let d=(parseInt(r.paddingTop)||0)*this.scaleY,p=(parseInt(r.paddingBottom)||0)*this.scaleY;(this.paddingTop!=d||this.paddingBottom!=p)&&(this.paddingTop=d,this.paddingBottom=p,u|=18),this.editorWidth!=e.scrollDOM.clientWidth&&(i.lineWrapping&&(a=!0),this.editorWidth=e.scrollDOM.clientWidth,u|=16);let g=Xb(this.view.contentDOM,!1).y;g!=this.scrollParent&&(this.scrollParent=g,this.scrollAnchorHeight=-1,this.scrollOffset=0);let y=this.getScrollOffset();this.scrollOffset!=y&&(this.scrollAnchorHeight=-1,this.scrollOffset=y),this.scrolledToBottom=Yb(this.scrollParent||e.win);let w=(this.printing?rB:tB)(n,this.paddingTop),_=w.top-this.pixelViewport.top,x=w.bottom-this.pixelViewport.bottom;this.pixelViewport=w;let S=this.pixelViewport.bottom>this.pixelViewport.top&&this.pixelViewport.right>this.pixelViewport.left;if(S!=this.inView&&(this.inView=S,S&&(a=!0)),!this.inView&&!this.scrollTarget&&!nB(e.dom))return 0;let b=l.width;if((this.contentDOMWidth!=b||this.editorHeight!=e.scrollDOM.clientHeight)&&(this.contentDOMWidth=l.width,this.editorHeight=e.scrollDOM.clientHeight,u|=16),a){let P=e.docView.measureVisibleLineHeights(this.viewport);if(i.mustRefreshForHeights(P)&&(o=!0),o||i.lineWrapping&&Math.abs(b-this.contentDOMWidth)>i.charWidth){let{lineHeight:D,charWidth:M,textHeight:L}=e.docView.measureTextSize();o=D>0&&i.refresh(s,D,M,L,Math.max(5,b/M),P),o&&(e.docView.minWidth=0,u|=16)}_>0&&x>0?c=Math.max(_,x):_<0&&x<0&&(c=Math.min(_,x)),bv();for(let D of this.viewports){let M=D.from==this.viewport.from?P:e.docView.measureVisibleLineHeights(D);this.heightMap=(o?un.empty().applyChanges(this.stateDeco,Re.empty,this.heightOracle,[new rr(0,0,0,e.state.doc.length)]):this.heightMap).updateHeight(i,0,o,new YR(D.from,M))}bl&&(u|=2)}let T=!this.viewportIsAppropriate(this.viewport,c)||this.scrollTarget&&(this.scrollTarget.range.headthis.viewport.to);return T&&(u&2&&(u|=this.updateScaler()),this.viewport=this.getViewport(c,this.scrollTarget),u|=this.updateForViewport()),(u&2||T)&&this.updateViewportLines(),(this.lineGaps.length||this.viewport.to-this.viewport.from>4e3)&&this.updateLineGaps(this.ensureLineGaps(o?[]:this.lineGaps,e)),u|=this.computeVisibleRanges(),this.mustEnforceCursorAssoc&&(this.mustEnforceCursorAssoc=!1,e.docView.enforceCursorAssoc()),u}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,s=this.heightOracle,{visibleTop:o,visibleBottom:l}=this,a=new Wc(i.lineAt(o-r*1e3,Xe.ByHeight,s,0,0).from,i.lineAt(l+(1-r)*1e3,Xe.ByHeight,s,0,0).to);if(n){let{head:u}=n.range;if(ua.to){let c=Math.min(this.editorHeight,this.pixelViewport.bottom-this.pixelViewport.top),d=i.lineAt(u,Xe.ByPos,s,0,0),p;n.y=="center"?p=(d.top+d.bottom)/2-c/2:n.y=="start"||n.y=="nearest"&&u=l+Math.max(10,Math.min(r,250)))&&i>o-2*1e3&&s>1,o=i<<1;if(this.defaultTextDirection!=Ve.LTR&&!r)return[];let l=[],a=(c,d,p,g)=>{if(d-cc&&xx.from>=p.from&&x.to<=p.to&&Math.abs(x.from-c)x.fromS));if(!_){if(db.from<=d&&b.to>=d)){let b=n.moveToLineBoundary(U.cursor(d),!1,!0).head;b>c&&(d=b)}let x=this.gapSize(p,c,d,g),S=r||x<2e6?x:2e6;_=new _p(c,d,x,S)}l.push(_)},u=c=>{if(c.length2e6)for(let D of e)D.from>=c.from&&D.fromc.from&&a(c.from,g,c,d),yn.draw(this,this.heightOracle.lineWrapping))))}computeVisibleRanges(e){let n=this.stateDeco;this.lineGaps.length&&(n=n.concat(this.lineGapDeco));let r=[];Ce.spans(n,this.viewport.from,this.viewport.to,{span(s,o){r.push({from:s,to:o})},point(){}},20);let i=0;if(r.length!=this.visibleRanges.length)i=12;else for(let s=0;s=this.viewport.from&&e<=this.viewport.to&&this.viewportLines.find(n=>n.from<=e&&n.to>=e)||_a(this.heightMap.lineAt(e,Xe.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)||_a(this.heightMap.lineAt(this.scaler.fromDOM(e),Xe.ByHeight,this.heightOracle,0,0),this.scaler)}getScrollOffset(){return(this.scrollParent==this.view.scrollDOM?this.scrollParent.scrollTop:(this.scrollParent?this.scrollParent.getBoundingClientRect().top:0)-this.view.contentDOM.getBoundingClientRect().top)*this.scaleY}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 _a(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}}class Wc{constructor(e,n){this.from=e,this.to=n}}function sB(t,e,n){let r=[],i=t,s=0;return Ce.spans(n,t,e,{span(){},point(o,l){o>i&&(r.push({from:i,to:o}),s+=o-i),i=l}},20),i=1)return e[e.length-1].to;let r=Math.floor(t*n);for(let i=0;;i++){let{from:s,to:o}=e[i],l=o-s;if(r<=l)return s+r;r-=l}}function qc(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 oB(t,e){for(let n of t)if(e(n))return n}const Cv={toDOM(t){return t},fromDOM(t){return t},scale:1,eq(t){return t==this}};function Tv(t){let e=t.facet(od).filter(r=>typeof r!="function"),n=t.facet(RO).filter(r=>typeof r!="function");return n.length&&e.push(Ce.join(n)),e}class IO{constructor(e,n,r){let i=0,s=0,o=0;this.viewports=r.map(({from:l,to:a})=>{let u=n.lineAt(l,Xe.ByPos,e,0,0).top,c=n.lineAt(a,Xe.ByPos,e,0,0).bottom;return i+=c-u,{from:l,to:a,top:u,bottom:c,domTop:0,domBottom:0}}),this.scale=(7e6-i)/(n.height-i);for(let l of this.viewports)l.domTop=o+(l.top-s)*this.scale,o=l.domBottom=l.domTop+(l.bottom-l.top),s=l.bottom}toDOM(e){for(let n=0,r=0,i=0;;n++){let s=nn.from==e.viewports[r].from&&n.to==e.viewports[r].to):!1}}function _a(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=>_a(i,e)):t._content)}const jc=ne.define({combine:t=>t.join(" ")}),jg=ne.define({combine:t=>t.indexOf(!0)>-1}),Hg=hs.newName(),R2=hs.newName(),B2=hs.newName(),L2={"&light":"."+R2,"&dark":"."+B2};function Vg(t,e,n){return new hs(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 lB=Vg("."+Hg,{"&":{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":{userSelect:"none",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-selectionHandle":{backgroundColor:"currentColor",width:"1.5px"},".cm-selectionHandle-start::before, .cm-selectionHandle-end::before":{content:'""',backgroundColor:"inherit",borderRadius:"50%",width:"8px",height:"8px",position:"absolute",left:"-3.25px"},".cm-selectionHandle-start::before":{top:"-8px"},".cm-selectionHandle-end::before":{bottom:"-8px"},".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",zIndex:200},".cm-gutters-before":{insetInlineStart:0},".cm-gutters-after":{insetInlineEnd:0},"&light .cm-gutters":{backgroundColor:"#f5f5f5",color:"#6c6c6c",border:"0px solid #ddd","&.cm-gutters-before":{borderRightWidth:"1px"},"&.cm-gutters-after":{borderLeftWidth:"1px"}},"&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"},".cm-panels-top":{top:"0"},".cm-panels-bottom":{bottom:"0"},"&light .cm-panels-top":{borderBottom:"1px solid #ddd"},"&light .cm-panels-bottom":{borderTop:"1px solid #ddd"},"&dark .cm-panels":{backgroundColor:"#333338",color:"white"},".cm-dialog":{padding:"2px 19px 4px 6px",position:"relative","& label":{fontSize:"80%"}},".cm-dialog-close":{position:"absolute",top:"3px",right:"4px",backgroundColor:"inherit",border:"none",font:"inherit",fontSize:"14px",padding:"0"},".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",userSelect:"none"},".cm-highlightSpace":{backgroundImage:"radial-gradient(circle at 50% 55%, #aaa 20%, transparent 5%)",backgroundPosition:"center"},".cm-highlightTab":{backgroundImage:`url('data:image/svg+xml,')`,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"}},L2),aB={childList:!0,characterData:!0,subtree:!0,attributes:!0,characterDataOldValue:!0},Ep=ee.ie&&ee.ie_version<=11;class uB{constructor(e){this.view=e,this.active=!1,this.editContext=null,this.selectionRange=new FD,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);(ee.ie&&ee.ie_version<=11||ee.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&&ee.android&&e.constructor.EDIT_CONTEXT!==!1&&!(ee.chrome&&ee.chrome_version<126)&&(this.editContext=new hB(e),e.state.facet(di)&&(e.contentDOM.editContext=this.editContext.editContext)),Ep&&(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){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(di)?r.root.activeElement!=this.dom:!qa(this.dom,i))return;let s=i.anchorNode&&r.docView.tile.nearest(i.anchorNode);if(s&&s.isWidget()&&s.widget.ignoreEvent(e)){n||(this.selectionChanged=!1);return}(ee.ie&&ee.ie_version<=11||ee.android&&ee.chrome)&&!r.state.selection.main.empty&&i.focusNode&&ja(i.focusNode,i.focusOffset,i.anchorNode,i.anchorOffset)?this.flushSoon():this.flush(!1)}readSelectionRange(){let{view:e}=this,n=vu(e.root);if(!n)return!1;let r=ee.safari&&e.root.nodeType==11&&e.root.activeElement==this.dom&&cB(this.view,n)||n;if(!r||this.selectionRange.eq(r))return!1;let i=qa(this.dom,r);return i&&!this.selectionChanged&&e.inputState.lastFocusTime>Date.now()-200&&e.inputState.lastTouchTime{let s=this.delayedAndroidKey;s&&(this.clearDelayedAndroidKey(),this.view.inputState.lastKeyCode=s.keyCode,this.view.inputState.lastKeyTime=Date.now(),!this.flush()&&s.force&&ll(this.dom,s.key,s.keyCode))};this.flushingAndroidKey=this.view.win.requestAnimationFrame(i)}(!this.delayedAndroidKey||e=="Enter")&&(this.delayedAndroidKey={key:e,keyCode:n,force:this.lastChange{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 s of e){let o=this.readMutation(s);o&&(o.typeOver&&(i=!0),n==-1?{from:n,to:r}=o:(n=Math.min(o.from,n),r=Math.max(o.to,r)))}return{from:n,to:r,typeOver:i}}readChange(){let{from:e,to:n,typeOver:r}=this.processRecords(),i=this.selectionChanged&&qa(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 s=new CR(this.view,e,n,r);return this.view.docView.domChanged={newSel:s.newSel?s.newSel.main:null},s}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=x2(this.view,n);return this.view.state==r&&(n.domChanged||n.newSel&&!gf(this.view.state.selection,n.newSel.main))&&this.view.update([]),i}readMutation(e){let n=this.view.docView.tile.nearest(e.target);if(!n||n.isWidget())return null;if(n.markDirty(e.type=="attributes"),e.type=="childList"){let r=Pv(n,e.previousSibling||e.target.previousSibling,-1),i=Pv(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(di)!=e.state.facet(di)&&(e.view.contentDOM.editContext=e.state.facet(di)?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 Pv(t,e,n){for(;e;){let r=ct.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 Mv(t,e){let n=e.startContainer,r=e.startOffset,i=e.endContainer,s=e.endOffset,o=t.docView.domAtPos(t.state.selection.main.anchor,1);return ja(o.node,o.offset,i,s)&&([n,r,i,s]=[i,s,n,r]),{anchorNode:n,anchorOffset:r,focusNode:i,focusOffset:s}}function cB(t,e){if(e.getComposedRanges){let i=e.getComposedRanges(t.root)[0];if(i)return Mv(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?Mv(t,n):null}class hB{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:s,head:o}=i,l=this.toEditorPos(r.updateRangeStart),a=this.toEditorPos(r.updateRangeEnd);e.inputState.composing>=0&&!this.composing&&(this.composing={contextBase:r.updateRangeStart,editorBase:l,drifted:!1});let u=a-l>r.text.length;l==this.from&&sthis.to&&(a=s);let c=S2(e.state.sliceDoc(l,a),r.text,(u?i.from:i.to)-l,u?"end":null);if(!c){let p=U.single(this.toEditorPos(r.selectionStart),this.toEditorPos(r.selectionEnd));gf(p,i)||e.dispatch({selection:p,userEvent:"select"});return}let d={from:c.from+l,to:c.toA+l,insert:Re.of(r.text.slice(c.from,c.toB).split(` `))};if((ee.mac||ee.android)&&d.from==o-1&&/^\. ?$/.test(r.text)&&e.contentDOM.getAttribute("autocorrect")=="off"&&(d={from:l,to:a,insert:Re.of([r.text.replace("."," ")])}),this.pendingContextChange=d,!e.state.readOnly){let p=this.to-this.from+(d.to-d.from+d.insert.length);LO(e,d,U.single(this.toEditorPos(r.selectionStart,p),this.toEditorPos(r.selectionEnd,p)))}this.pendingContextChange&&(this.revertPending(e.state),this.setSelection(e.state)),d.from=0&&!/[\\p{Alphabetic}\\p{Number}_]/.test(n.text.slice(Math.max(0,r.updateRangeStart-1),Math.min(n.text.length,r.updateRangeStart+1)))&&this.handlers.compositionend(r)},this.handlers.characterboundsupdate=r=>{let i=[],s=null;for(let o=this.toEditorPos(r.rangeStart),l=this.toEditorPos(r.rangeEnd);o{let i=[];for(let s of r.getTextFormats()){let o=s.underlineStyle,l=s.underlineThickness;if(!/none/i.test(o)&&!/none/i.test(l)){let a=this.toEditorPos(s.rangeStart),u=this.toEditorPos(s.rangeEnd);if(a{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=>{let i=vu(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((s,o,l,a,u)=>{if(r)return;let c=u.length-(o-s);if(i&&o>=i.to)if(i.from==s&&i.to==o&&i.insert.eq(u)){i=this.pendingContextChange=null,n+=c,this.to+=c;return}else i=null,this.revertPending(e.state);if(s+=n,o+=n,o<=this.from)this.from+=c,this.to+=c;else if(sthis.to||this.to-this.from+u.length>3e4){r=!0;return}this.editContext.updateText(this.toContextPos(s),this.toContextPos(o),u.toString()),this.to+=c}n+=c}),i&&!r&&this.revertPending(e.state),!r}update(e){let n=this.pendingContextChange,r=e.startState.selection.main;this.composing&&(this.composing.drifted||!e.changes.touchesRange(r.from,r.to)&&e.transactions.some(i=>!i.isUserEvent("input.type")&&i.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.to1e4*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 ie{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&&this.inputState.composing>0}get compositionStarted(){return!!this.inputState&&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(s=>r(s,this)))||(i=>this.update(i)),this.dispatch=this.dispatch.bind(this),this._root=e.root||ND(e.parent)||document,this.viewState=new Ev(this,e.state||ze.create(e)),e.scrollTo&&e.scrollTo.is(Fc)&&(this.viewState.scrollTarget=e.scrollTo.value.clip(this.viewState.state)),this.plugins=this.state.facet(Yo).map(i=>new wp(i));for(let i of this.plugins)i.update(this);this.observer=new uB(this),this.inputState=new DR(this),this.inputState.ensureHandlers(this.plugins),this.docView=new dv(this),this.mountStyles(),this.updateAttrs(),this.updateState=0,this.requestMeasure(),!((n=document.fonts)===null||n===void 0)&&n.ready&&document.fonts.ready.then(()=>{this.viewState.mustMeasureContent="refresh",this.requestMeasure()})}dispatch(...e){let n=e.length==1&&e[0]instanceof wt?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,s=this.state;for(let p of e){if(p.startState!=s)throw new RangeError("Trying to update state with a transaction that doesn't start from the previous state.");s=p.state}if(this.destroyed){this.viewState.state=s;return}let o=this.hasFocus,l=0,a=null;e.some(p=>p.annotation(T2))?(this.inputState.notifiedFocused=o,l=1):o!=this.inputState.notifiedFocused&&(this.inputState.notifiedFocused=o,a=P2(s,o),a||(l=1));let u=this.observer.delayedAndroidKey,c=null;if(u?(this.observer.clearDelayedAndroidKey(),c=this.observer.readChange(),(c&&!this.state.doc.eq(s.doc)||!this.state.selection.eq(s.selection))&&(c=null)):this.observer.clear(),s.facet(ze.phrases)!=this.state.facet(ze.phrases))return this.setState(s);i=df.create(this,s,e),i.flags|=l;let d=this.viewState.scrollTarget;try{this.updateState=2;for(let p of e){if(d&&(d=d.map(p.changes)),p.scrollIntoView){let{main:g}=p.state.selection,{x:y,y:w}=this.state.facet(ie.cursorScrollMargin);d=new al(g.empty?g:U.cursor(g.head,g.head>g.anchor?-1:1),"nearest","nearest",w,y)}for(let g of p.effects)g.is(Fc)&&(d=g.value.clip(this.state))}this.viewState.update(i,d),this.bidiCache=yf.update(this.bidiCache,i.changes),i.empty||(this.updatePlugins(i),this.inputState.update(i)),n=this.docView.update(i),this.state.facet(ba)!=this.styleModules&&this.mountStyles(),r=this.updateAttrs(),this.showAnnouncements(e),this.docView.updateSelection(n,e.some(p=>p.isUserEvent("select.pointer")))}finally{this.updateState=0}if(i.startState.facet(jc)!=i.state.facet(jc)&&(this.viewState.mustMeasureContent=!0),(n||r||d||this.viewState.mustEnforceCursorAssoc||this.viewState.mustMeasureContent)&&this.requestMeasure(),n&&this.docViewUpdate(),!i.empty)for(let p of this.state.facet(Ng))try{p(i)}catch(g){Sn(this.state,g,"update listener")}(a||c)&&Promise.resolve().then(()=>{a&&this.state==a.startState&&this.dispatch(a),c&&!x2(this,c)&&u.force&&ll(this.contentDOM,u.key,u.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 Ev(this,e),this.plugins=e.facet(Yo).map(r=>new wp(r)),this.pluginMap.clear();for(let r of this.plugins)r.update(this);this.docView.destroy(),this.docView=new dv(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(Yo),r=e.state.facet(Yo);if(n!=r){let i=[];for(let s of r){let o=n.indexOf(s);if(o<0)i.push(new wp(s));else{let l=this.plugins[o];l.mustUpdate=e,i.push(l)}}for(let s of this.plugins)s.mustUpdate!=e&&s.destroy(this);this.plugins=i,this.pluginMap.clear()}else for(let i of this.plugins)i.mustUpdate=e;for(let i=0;i-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.viewState.scrollParent,i=this.viewState.getScrollOffset(),{scrollAnchorPos:s,scrollAnchorHeight:o}=this.viewState;Math.abs(i-this.viewState.scrollOffset)>1&&(o=-1),this.viewState.scrollAnchorHeight=-1;try{for(let l=0;;l++){if(o<0)if(Yb(r||this.win))s=-1,o=this.viewState.heightMap.height;else{let g=this.viewState.scrollAnchorAt(i);s=g.from,o=g.top}this.updateState=1;let a=this.viewState.measure();if(!a&&!this.measureRequests.length&&this.viewState.scrollTarget==null)break;if(l>5){console.warn(this.measureRequests.length?"Measure loop restarted more than 5 times":"Viewport failed to stabilize");break}let u=[];a&4||([this.measureRequests,u]=[u,this.measureRequests]);let c=u.map(g=>{try{return g.read(this)}catch(y){return Sn(this.state,y),Dv}}),d=df.create(this,this.state,[]),p=!1;d.flags|=a,n?n.flags|=a:n=d,this.updateState=2,d.empty||(this.updatePlugins(d),this.inputState.update(d),this.updateAttrs(),p=this.docView.update(d),p&&this.docViewUpdate());for(let g=0;g1||y<-1)&&!(ee.ios&&this.inputState.lastIOSMomentumScroll>Date.now()-100)&&(r==this.scrollDOM||this.hasFocus||Math.max(this.inputState.lastWheelEvent,this.inputState.lastTouchTime)>Date.now()-100)){i=i+y,r?r.scrollTop+=y:this.win.scrollBy(0,y),o=-1;continue}}break}}}finally{this.updateState=0,this.measureScheduled=-1}if(n&&!n.empty)for(let l of this.state.facet(Ng))l(n)}get themeClasses(){return Hg+" "+(this.state.facet(jg)?B2:R2)+" "+this.state.facet(jc)}updateAttrs(){let e=Rv(this,d2,{class:"cm-editor"+(this.hasFocus?" cm-focused ":" ")+this.themeClasses}),n={spellcheck:"false",autocorrect:"off",autocapitalize:"off",writingsuggestions:"false",translate:"no",contenteditable:this.state.facet(di)?"true":"false",class:"cm-content",style:`${ee.tabSize}: ${this.state.tabSize}`,role:"textbox","aria-multiline":"true"};this.state.readOnly&&(n["aria-readonly"]="true"),Rv(this,DO,n);let r=this.observer.ignore(()=>{let i=lv(this.contentDOM,this.contentAttrs,n),s=lv(this.dom,this.editorAttrs,e);return i||s});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(ie.announce)){n&&(this.announceDOM.textContent=""),n=!1;let s=this.announceDOM.appendChild(document.createElement("div"));s.textContent=i.value}}mountStyles(){this.styleModules=this.state.facet(ba);let e=this.state.facet(ie.cspNonce);hs.mount(this.root,this.styleModules.concat(lB).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;nr.plugin==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 bp(this,e,pv(this,e,n,r))}moveByGroup(e,n){return bp(this,e,pv(this,e,n,r=>xR(this,e.head,r)))}visualLineSide(e,n){let r=this.bidiSpans(e),i=this.textDirectionAt(e.from),s=r[n?r.length-1:0];return U.cursor(s.side(n,i)+e.from,s.forward(!n,i)?1:-1)}moveToLineBoundary(e,n,r=!0){return wR(this,e,n,r)}moveVertically(e,n,r){return bp(this,e,SR(this,e,n,r))}domAtPos(e,n=1){return this.docView.domAtPos(e,n)}posAtDOM(e,n=0){return this.docView.posFromDOM(e,n)}posAtCoords(e,n=!0){this.readMeasured();let r=Ug(this,e,n);return r&&r.pos}posAndSideAtCoords(e,n=!0){return this.readMeasured(),Ug(this,e,n)}coordsAtPos(e,n=1){this.readMeasured();let r=this.state.doc.lineAt(e),i=this.bidiSpans(r),s=i[Hr.find(i,e-r.from,-1,n)];return this.docView.coordsAt(e,n,s.dir==Ve.RTL)}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(u2)||ethis.viewport.to?this.textDirection:(this.readMeasured(),this.docView.textDirectionAt(e))}get lineWrapping(){return this.viewState.heightOracle.lineWrapping}bidiSpans(e){if(e.length>fB)return t2(e.length);let n=this.textDirectionAt(e.from),r;for(let s of this.bidiCache)if(s.from==e.from&&s.dir==n&&(s.fresh||e2(s.isolates,r=cv(this,e))))return s.order;r||(r=cv(this,e));let i=XD(e.text,n,r);return this.bidiCache.push(new yf(e.from,e.to,n,r,!0,i)),i}get hasFocus(){var e;return(this.dom.ownerDocument.hasFocus()||ee.safari&&((e=this.inputState)===null||e===void 0?void 0:e.lastContextMenu)>Date.now()-3e4)&&this.root.activeElement==this.contentDOM}focus(){this.observer.ignore(()=>{Gb(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={}){var r,i,s,o;return Fc.of(new al(typeof e=="number"?U.cursor(e):e,(r=n.y)!==null&&r!==void 0?r:"nearest",(i=n.x)!==null&&i!==void 0?i:"nearest",(s=n.yMargin)!==null&&s!==void 0?s:5,(o=n.xMargin)!==null&&o!==void 0?o:5))}scrollSnapshot(){let{scrollTop:e,scrollLeft:n}=this.scrollDOM,r=this.viewState.scrollAnchorAt(e);return Fc.of(new al(U.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 Ot.define(()=>({}),{eventHandlers:e})}static domEventObservers(e){return Ot.define(()=>({}),{eventObservers:e})}static theme(e,n){let r=hs.newName(),i=[jc.of(r),ba.of(Vg(`.${r}`,e))];return n&&n.dark&&i.push(jg.of(!0)),i}static baseTheme(e){return ws.lowest(ba.of(Vg("."+Hg,e,L2)))}static findFromDOM(e){var n;let r=e.querySelector(".cm-content"),i=r&&ct.get(r)||ct.get(e);return((n=i==null?void 0:i.root)===null||n===void 0?void 0:n.view)||null}}ie.styleModule=ba;ie.inputHandler=l2;ie.clipboardInputFilter=PO;ie.clipboardOutputFilter=MO;ie.scrollHandler=h2;ie.focusChangeEffect=a2;ie.perLineTextDirection=u2;ie.exceptionSink=o2;ie.updateListener=Ng;ie.editable=di;ie.mouseSelectionStyle=s2;ie.dragMovesSelection=i2;ie.clickAddsSelectionRange=r2;ie.decorations=od;ie.blockWrappers=p2;ie.outerDecorations=RO;ie.atomicRanges=Vu;ie.bidiIsolatedRanges=m2;ie.cursorScrollMargin=ne.define({combine:t=>{let e=5,n=5;for(let r of t)typeof r=="number"?e=n=r:{x:e,y:n}=r;return{x:e,y:n}}});ie.scrollMargins=g2;ie.darkTheme=jg;ie.cspNonce=ne.define({combine:t=>t.length?t[0]:""});ie.contentAttributes=DO;ie.editorAttributes=d2;ie.lineWrapping=ie.contentAttributes.of({class:"cm-lineWrapping"});ie.announce=xe.define();const fB=4096,Dv={};class yf{constructor(e,n,r,i,s,o){this.from=e,this.to=n,this.dir=r,this.isolates=i,this.fresh=s,this.order=o}static update(e,n){if(n.empty&&!e.some(s=>s.fresh))return e;let r=[],i=e.length?e[e.length-1].dir:Ve.LTR;for(let s=Math.max(0,e.length-10);s=0;i--){let s=r[i],o=typeof s=="function"?s(t):s;o&&EO(o,n)}return n}const dB=ee.mac?"mac":ee.windows?"win":ee.linux?"linux":"key";function pB(t,e){const n=t.split(/-(?!$)/);let r=n[n.length-1];r=="Space"&&(r=" ");let i,s,o,l;for(let a=0;ar.concat(i),[]))),n}function gB(t,e,n){return I2(Q2(t.state),e,t,n)}let qi=null;const OB=4e3;function yB(t,e=dB){let n=Object.create(null),r=Object.create(null),i=(o,l)=>{let a=r[o];if(a==null)r[o]=l;else if(a!=l)throw new Error("Key binding "+o+" is used both as a regular binding and as a multi-stroke prefix")},s=(o,l,a,u,c)=>{var d,p;let g=n[o]||(n[o]=Object.create(null)),y=l.split(/ (?!$)/).map(x=>pB(x,e));for(let x=1;x{let T=qi={view:b,prefix:S,scope:o};return setTimeout(()=>{qi==T&&(qi=null)},OB),!0}]})}let w=y.join(" ");i(w,!1);let _=g[w]||(g[w]={preventDefault:!1,stopPropagation:!1,run:((p=(d=g._any)===null||d===void 0?void 0:d.run)===null||p===void 0?void 0:p.slice())||[]});a&&_.run.push(a),u&&(_.preventDefault=!0),c&&(_.stopPropagation=!0)};for(let o of t){let l=o.scope?o.scope.split(" "):["editor"];if(o.any)for(let u of l){let c=n[u]||(n[u]=Object.create(null));c._any||(c._any={preventDefault:!1,stopPropagation:!1,run:[]});let{any:d}=o;for(let p in c)c[p].run.push(g=>d(g,Xg))}let a=o[e]||o.key;if(a)for(let u of l)s(u,a,o.run,o.preventDefault,o.stopPropagation),o.shift&&s(u,"Shift-"+a,o.shift,o.preventDefault,o.stopPropagation)}return n}let Xg=null;function I2(t,e,n,r){Xg=e;let i=RD(e),s=yn(i,0),o=Ur(s)==i.length&&i!=" ",l="",a=!1,u=!1,c=!1;qi&&qi.view==n&&qi.scope==r&&(l=qi.prefix+" ",b2.indexOf(e.keyCode)<0&&(u=!0,qi=null));let d=new Set,p=_=>{if(_){for(let x of _.run)if(!d.has(x)&&(d.add(x),x(n)))return _.stopPropagation&&(c=!0),!0;_.preventDefault&&(_.stopPropagation&&(c=!0),u=!0)}return!1},g=t[r],y,w;return g&&(p(g[l+Hc(i,e,!o)])?a=!0:o&&(e.altKey||e.metaKey||e.ctrlKey)&&!(ee.windows&&e.ctrlKey&&e.altKey)&&!(ee.mac&&e.altKey&&!(e.ctrlKey||e.metaKey))&&(y=fs[e.keyCode])&&y!=i?(p(g[l+Hc(y,e,!0)])||e.shiftKey&&(w=Ou[e.keyCode])!=i&&w!=y&&p(g[l+Hc(w,e,!1)]))&&(a=!0):o&&e.shiftKey&&p(g[l+Hc(i,e,!0)])&&(a=!0),!a&&p(g._any)&&(a=!0)),u&&(a=!0),a&&c&&e.stopPropagation(),Xg=null,a}class Vs{constructor(e,n,r,i,s){this.className=e,this.left=n,this.top=r,this.width=i,this.height=s}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 s=z2(e);return[new Vs(n,i.left-s.left,i.top-s.top,null,i.bottom-i.top)]}else return vB(e,n,r)}}function z2(t){let e=t.scrollDOM.getBoundingClientRect();return{left:(t.textDirection==Ve.LTR?e.left:e.right-t.scrollDOM.clientWidth*t.scaleX)-t.scrollDOM.scrollLeft*t.scaleX,top:e.top-t.scrollDOM.scrollTop*t.scaleY}}function Lv(t,e,n,r){let i=t.coordsAtPos(e,n*2);if(!i)return r;let s=t.dom.getBoundingClientRect(),o=(i.top+i.bottom)/2,l=t.posAtCoords({x:s.left+1,y:o}),a=t.posAtCoords({x:s.right-1,y:o});return l==null||a==null?r:{from:Math.max(r.from,Math.min(l,a)),to:Math.min(r.to,Math.max(l,a))}}function vB(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),s=t.textDirection==Ve.LTR,o=t.contentDOM,l=o.getBoundingClientRect(),a=z2(t),u=o.querySelector(".cm-line"),c=u&&window.getComputedStyle(u),d=l.left+(c?parseInt(c.paddingLeft)+Math.min(0,parseInt(c.textIndent)):0),p=l.right-(c?parseInt(c.paddingRight):0),g=Wg(t,r,1),y=Wg(t,i,-1),w=g.type==Ht.Text?g:null,_=y.type==Ht.Text?y:null;if(w&&(t.lineWrapping||g.widgetLineBreaks)&&(w=Lv(t,r,1,w)),_&&(t.lineWrapping||y.widgetLineBreaks)&&(_=Lv(t,i,-1,_)),w&&_&&w.from==_.from&&w.to==_.to)return S(b(n.from,n.to,w));{let P=w?b(n.from,null,w):T(g,!1),D=_?b(null,n.to,_):T(y,!0),M=[];return(w||g).to<(_||y).from-(w&&_?1:0)||g.widgetLineBreaks>1&&P.bottom+t.defaultLineHeight/2V&&G.from=oe)break;se>A&&j(Math.max(X,A),P==null&&X<=V,Math.min(se,oe),D==null&&se>=q,N.dir)}if(A=ye.to+1,A>=oe)break}return I.length==0&&j(V,P==null,q,D==null,t.textDirection),{top:L,bottom:B,horizontal:I}}function T(P,D){let M=l.top+(D?P.top:P.bottom);return{top:M,bottom:M,horizontal:[]}}}function wB(t,e){return t.constructor==e.constructor&&t.eq(e)}class xB{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(Ph)!=e.state.facet(Ph)&&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(Ph);for(;n!wB(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,ee.webkit&&(this.dom.style.display=this.dom.firstChild?"":"none")}}destroy(){this.layer.destroy&&this.layer.destroy(this.dom,this.view),this.dom.remove()}}const Ph=ne.define();function F2(t){return[Ot.define(e=>new xB(e,t)),Ph.of(t)]}const El=ne.define({combine(t){return ei(t,{cursorBlinkRate:1200,drawRangeCursor:!0,iosSelectionHandles:!0},{cursorBlinkRate:(e,n)=>Math.min(e,n),drawRangeCursor:(e,n)=>e||n})}});function SB(t={}){return[El.of(t),kB,bB,EB,c2.of(!0)]}function N2(t){return t.startState.facet(El)!=t.state.facet(El)}const kB=F2({above:!0,markers(t){let{state:e}=t,n=e.facet(El),r=[];for(let i of e.selection.ranges){let s=i==e.selection.main;if(i.empty||n.drawRangeCursor&&!(s&&ee.ios&&n.iosSelectionHandles)){let o=s?"cm-cursor cm-cursor-primary":"cm-cursor cm-cursor-secondary",l=i.empty?i:U.cursor(i.head,i.assoc);for(let a of Vs.forRange(t,o,l))r.push(a)}}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=N2(t);return n&&Qv(t.state,e),t.docChanged||t.selectionSet||n},mount(t,e){Qv(e.state,t)},class:"cm-cursorLayer"});function Qv(t,e){e.style.animationDuration=t.facet(El).cursorBlinkRate+"ms"}const bB=F2({above:!1,markers(t){let e=[],{main:n,ranges:r}=t.state.selection;for(let i of r)if(!i.empty)for(let s of Vs.forRange(t,"cm-selectionBackground",i))e.push(s);if(ee.ios&&!n.empty&&t.state.facet(El).iosSelectionHandles){for(let i of Vs.forRange(t,"cm-selectionHandle cm-selectionHandle-start",U.cursor(n.from,1)))e.push(i);for(let i of Vs.forRange(t,"cm-selectionHandle cm-selectionHandle-end",U.cursor(n.to,1)))e.push(i)}return e},update(t,e){return t.docChanged||t.selectionSet||t.viewportChanged||N2(t)},class:"cm-selectionLayer"}),_B=ee.gecko&&ee.gecko_version>=153?"#ffffff01":"transparent",EB=ws.highest(ie.theme({".cm-line":{"& ::selection, &::selection":{backgroundColor:`${_B} !important`},caretColor:"transparent !important"},".cm-content":{caretColor:"transparent !important","& :focus":{caretColor:"initial !important","&::selection, & ::selection":{backgroundColor:"Highlight !important"}}}})),$2=xe.define({map(t,e){return t==null?null:e.mapPos(t)}}),Ea=It.define({create(){return null},update(t,e){return t!=null&&(t=e.changes.mapPos(t)),e.effects.reduce((n,r)=>r.is($2)?r.value:n,t)}}),CB=Ot.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(Ea);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(Ea)!=n||t.docChanged||t.geometryChanged)&&this.view.requestMeasure(this.measureReq))}readPos(){let{view:t}=this,e=t.state.field(Ea),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(Ea)!=t&&this.view.dispatch({effects:$2.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 TB(){return[Ea,CB]}function Iv(t,e,n,r,i){e.lastIndex=0;for(let s=t.iterRange(n,r),o=n,l;!s.next().done;o+=s.value.length)if(!s.lineBreak)for(;l=e.exec(s.value);)i(o+l.index,l)}function PB(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:s}of n)i=Math.max(t.state.doc.lineAt(i).from,i-e),s=Math.min(t.state.doc.lineAt(s).to,s+e),r.length&&r[r.length-1].to>=i?r[r.length-1].to=s:r.push({from:i,to:s});return r}class MB{constructor(e){const{regexp:n,decoration:r,decorate:i,boundary:s,maxLength:o=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=(l,a,u,c)=>i(c,u,u+l[0].length,l,a);else if(typeof r=="function")this.addMatch=(l,a,u,c)=>{let d=r(l,a,u);d&&c(u,u+l[0].length,d)};else if(r)this.addMatch=(l,a,u,c)=>c(u,u+l[0].length,r);else throw new RangeError("Either 'decorate' or 'decoration' should be provided to MatchDecorator");this.boundary=s,this.maxLength=o}createDeco(e){let n=new Si,r=n.add.bind(n);for(let{from:i,to:s}of PB(e,this.maxLength))Iv(e.state.doc,this.regexp,i,s,(o,l)=>this.addMatch(l,e,o,r));return n.finish()}updateDeco(e,n){let r=1e9,i=-1;return e.docChanged&&e.changes.iterChanges((s,o,l,a)=>{a>=e.view.viewport.from&&l<=e.view.viewport.to&&(r=Math.min(l,r),i=Math.max(a,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 s of e.visibleRanges){let o=Math.max(s.from,r),l=Math.min(s.to,i);if(l>=o){let a=e.state.doc.lineAt(o),u=a.toa.from;o--)if(this.boundary.test(a.text[o-1-a.from])){c=o;break}for(;lp.push(x.range(w,_));if(a==u)for(this.regexp.lastIndex=c-a.from;(g=this.regexp.exec(a.text))&&g.indexthis.addMatch(_,e,w,y));n=n.update({filterFrom:c,filterTo:d,filter:(w,_)=>wd,add:p})}}return n}}const Gg=/x/.unicode!=null?"gu":"g",DB=new RegExp(`[\0-\b --Ÿ­؜​‎‏\u2028\u2029‭‮⁦⁧⁩\uFEFF-]`,Gg),RB={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 Cp=null;function BB(){var t;if(Cp==null&&typeof document<"u"&&document.body){let e=document.body.style;Cp=((t=e.tabSize)!==null&&t!==void 0?t:e.MozTabSize)!=null}return Cp||!1}const Mh=ne.define({combine(t){let e=ei(t,{render:null,specialChars:DB,addSpecialChars:null});return(e.replaceTabs=!BB())&&(e.specialChars=new RegExp(" |"+e.specialChars.source,Gg)),e.addSpecialChars&&(e.specialChars=new RegExp(e.specialChars.source+"|"+e.addSpecialChars.source,Gg)),e}});function LB(t={}){return[Mh.of(t),QB()]}let zv=null;function QB(){return zv||(zv=Ot.fromClass(class{constructor(t){this.view=t,this.decorations=Oe.none,this.decorationCache=Object.create(null),this.decorator=this.makeDecorator(t.state.facet(Mh)),this.decorations=this.decorator.createDeco(t)}makeDecorator(t){return new MB({regexp:t.specialChars,decoration:(e,n,r)=>{let{doc:i}=n.state,s=yn(e[0],0);if(s==9){let o=i.lineAt(r),l=n.state.tabSize,a=Ll(o.text,l,r-o.from);return Oe.replace({widget:new NB((l-a%l)*this.view.defaultCharacterWidth/this.view.scaleX)})}return this.decorationCache[s]||(this.decorationCache[s]=Oe.replace({widget:new FB(t,s)}))},boundary:t.replaceTabs?void 0:/[^]/})}update(t){let e=t.state.facet(Mh);t.startState.facet(Mh)!=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 IB="•";function zB(t){return t>=32?IB:t==10?"␤":String.fromCharCode(9216+t)}class FB extends ti{constructor(e,n){super(),this.options=e,this.code=n}eq(e){return e.code==this.code}toDOM(e){let n=zB(this.code),r=e.state.phrase("Control character")+" "+(RB[this.code]||"0x"+this.code.toString(16)),i=this.options.render&&this.options.render(this.code,r,n);if(i)return i;let s=document.createElement("span");return s.textContent=n,s.title=r,s.setAttribute("aria-label",r),s.className="cm-specialChar",s}ignoreEvent(){return!1}}class NB extends ti{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 $B(){return UB}const WB=Oe.line({class:"cm-activeLine"}),UB=Ot.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(WB.range(i.from)),e=i.from)}return Oe.set(n)}},{decorations:t=>t.decorations}),Yg=2e3;function qB(t,e,n){let r=Math.min(e.line,n.line),i=Math.max(e.line,n.line),s=[];if(e.off>Yg||n.off>Yg||e.col<0||n.col<0){let o=Math.min(e.off,n.off),l=Math.max(e.off,n.off);for(let a=r;a<=i;a++){let u=t.doc.line(a);u.length<=l&&s.push(U.range(u.from+o,u.to+l))}}else{let o=Math.min(e.col,n.col),l=Math.max(e.col,n.col);for(let a=r;a<=i;a++){let u=t.doc.line(a),c=Tg(u.text,o,t.tabSize,!0);if(c<0)s.push(U.cursor(u.to));else{let d=Tg(u.text,l,t.tabSize);s.push(U.range(u.from+c,u.from+d))}}}return s}function jB(t,e){let n=t.coordsAtPos(t.viewport.from);return n?Math.round(Math.abs((n.left-e)/t.defaultCharacterWidth)):-1}function Fv(t,e){let n=t.posAtCoords({x:e.clientX,y:e.clientY},!1),r=t.state.doc.lineAt(n),i=n-r.from,s=i>Yg?-1:i==r.length?jB(t,e.clientX):Ll(r.text,t.state.tabSize,n-r.from);return{line:r.number,col:s,off:i}}function HB(t,e){let n=Fv(t,e),r=t.state.selection;return n?{update(i){if(i.docChanged){let s=i.changes.mapPos(i.startState.doc.line(n.line).from),o=i.state.doc.lineAt(s);n={line:o.number,col:n.col,off:Math.min(n.off,o.length)},r=r.map(i.changes)}},get(i,s,o){let l=Fv(t,i);if(!l)return r;let a=qB(t.state,n,l);return a.length?o?U.create(a.concat(r.ranges)):U.create(a):r}}:null}function VB(t){let e=n=>n.altKey&&n.button==0;return ie.mouseSelectionStyle.of((n,r)=>e(r)?HB(n,r):null)}const XB={Alt:[18,t=>!!t.altKey],Control:[17,t=>!!t.ctrlKey],Shift:[16,t=>!!t.shiftKey],Meta:[91,t=>!!t.metaKey]},GB={style:"cursor: crosshair"};function YB(t={}){let[e,n]=XB[t.key||"Alt"],r=Ot.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,ie.contentAttributes.of(i=>{var s;return!((s=i.plugin(r))===null||s===void 0)&&s.isDown?GB:null})]}const Vc="-10000px";class W2{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(o=>o);let s=null;this.tooltipViews=this.tooltips.map(o=>s=r(o,s))}update(e,n){var r;let i=e.state.facet(this.facet),s=i.filter(a=>a);if(i===this.input){for(let a of this.tooltipViews)a.update&&a.update(e);return!1}let o=[],l=n?[]:null;for(let a=0;an[u]=a),n.length=l.length),this.input=i,this.tooltips=s,this.tooltipViews=o,!0}}function KB(t){let e=t.dom.ownerDocument.documentElement;return{top:0,left:0,bottom:e.clientHeight,right:e.clientWidth}}const Tp=ne.define({combine:t=>{var e,n,r;return{position:ee.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)||KB}}}),Nv=new WeakMap,zO=Ot.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(Tp);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 W2(t,cd,(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(Tp);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=Vc,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:s}=this.manager.tooltipViews[0];if(ee.safari){let o=s.getBoundingClientRect();n=Math.abs(o.top+1e4)>1||Math.abs(o.left)>1}else n=!!s.offsetParent&&s.offsetParent!=this.container.ownerDocument.body}if(n||this.position=="absolute")if(this.parent){let s=this.parent.getBoundingClientRect();s.width&&s.height&&(t=s.width/this.parent.offsetWidth,e=s.height/this.parent.offsetHeight)}else({scaleX:t,scaleY:e}=this.view.viewState);let r=this.view.scrollDOM.getBoundingClientRect(),i=BO(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((s,o)=>{let l=this.manager.tooltipViews[o];return l.getCoords?l.getCoords(s.pos):this.view.coordsAtPos(s.pos)}),size:this.manager.tooltipViews.map(({dom:s})=>s.getBoundingClientRect()),space:this.view.state.facet(Tp).tooltipSpace(this.view),scaleX:t,scaleY:e,makeAbsolute:n}}writeMeasure(t){var e;if(t.makeAbsolute){this.madeAbsolute=!0,this.position="absolute";for(let l of this.manager.tooltipViews)l.dom.style.position="absolute"}let{visible:n,space:r,scaleX:i,scaleY:s}=t,o=[];for(let l=0;l=Math.min(n.bottom,r.bottom)||d.rightMath.min(n.right,r.right)+.1)){c.style.top=Vc;continue}let g=a.arrow?u.dom.querySelector(".cm-tooltip-arrow"):null,y=g?7:0,w=p.right-p.left,_=(e=Nv.get(u))!==null&&e!==void 0?e:p.bottom-p.top,x=u.offset||AB,S=this.view.textDirection==Ve.LTR,b=p.width>r.right-r.left?S?r.left:r.right-p.width:S?Math.max(r.left,Math.min(d.left-(g?14:0)+x.x,r.right-w)):Math.min(Math.max(r.left,d.left-w+(g?14:0)-x.x),r.right-w),T=this.above[l];!a.strictSide&&(T?d.top-_-y-x.yr.bottom)&&T==r.bottom-d.bottom>d.top-r.top&&(T=this.above[l]=!T);let P=(T?d.top-r.top:r.bottom-d.bottom)-y;if(P<_&&u.resize!==!1){if(Pb&&L.topD&&(D=T?L.top-_-2-y:L.bottom+y+2);if(this.position=="absolute"?(c.style.top=(D-t.parent.top)/s+"px",$v(c,(b-t.parent.left)/i)):(c.style.top=D/s+"px",$v(c,b/i)),g){let L=d.left+(S?x.x:-x.x)-(b+14-7);g.style.left=L/i+"px"}u.overlap!==!0&&o.push({left:b,top:D,right:M,bottom:D+_}),c.classList.toggle("cm-tooltip-above",T),c.classList.toggle("cm-tooltip-below",!T),u.positioned&&u.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=Vc}},{eventObservers:{scroll(){this.maybeMeasure()}}});function $v(t,e){let n=parseInt(t.style.left,10);(isNaN(n)||Math.abs(e-n)>1)&&(t.style.left=e+"px")}const ZB=ie.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"}}}),AB={x:0,y:0},cd=ne.define({enables:[zO,ZB]}),vf=ne.define({combine:t=>t.reduce((e,n)=>e.concat(n),[])});class hd{static create(e){return new hd(e)}constructor(e){this.view=e,this.mounted=!1,this.dom=document.createElement("div"),this.dom.classList.add("cm-tooltip-hover"),this.manager=new W2(e,vf,(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 JB=cd.compute([vf],t=>{let e=t.facet(vf);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:hd.create,above:e[0].above,arrow:e.some(n=>n.arrow)}}),U2=ne.define();class eL{constructor(e,n,r,i,s,o){this.view=e,this.source=n,this.field=r,this.locked=i,this.setHover=s,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(e){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;eo.bottom||n.xo.right+e.defaultCharacterWidth)return;let l=e.bidiSpans(e.state.doc.lineAt(i)).find(u=>u.from<=i&&u.to>=i),a=l&&l.dir==Ve.RTL?-1:1;s=n.x{if(l&&!(Array.isArray(l)&&!l.length)){let a=Array.isArray(l)?l:[l];i&&this.locked.set(a,i),e.dispatch({effects:this.setHover.of(a)})}};if(s&&"then"in s){let l=this.pending={pos:n};s.then(a=>{this.pending==l&&(this.pending=null,o(a))},a=>Sn(e.state,a,"hover tooltip"))}else o(s)}get tooltip(){let e=this.view.plugin(zO),n=e?e.manager.tooltips.findIndex(r=>r.create==hd.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:s}=this;if(i.length&&!this.locked.has(i)&&s&&!tL(s.dom,e)||this.pending){let{pos:o}=i[0]||this.pending,l=(r=(n=i[0])===null||n===void 0?void 0:n.end)!==null&&r!==void 0?r:o;(o==l?this.view.posAtCoords(this.lastMove)!=o:!nL(this.view,o,l,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&&!this.locked.has(n)){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);let{active:i}=this;i.length&&!this.locked.has(i)&&!this.view.dom.contains(r.relatedTarget)&&this.view.dispatch({effects:this.setHover.of([])})};e.addEventListener("mouseleave",n)}destroy(){clearTimeout(this.hoverTimeout),clearTimeout(this.restartTimeout),this.view.dom.removeEventListener("mouseleave",this.mouseleave),this.view.dom.removeEventListener("mousemove",this.mousemove)}}const Xc=4;function tL(t,e){let{left:n,right:r,top:i,bottom:s}=t.getBoundingClientRect(),o;if(o=t.querySelector(".cm-tooltip-arrow")){let l=o.getBoundingClientRect();i=Math.min(l.top,i),s=Math.max(l.bottom,s)}return e.clientX>=n-Xc&&e.clientX<=r+Xc&&e.clientY>=i-Xc&&e.clientY<=s+Xc}function nL(t,e,n,r,i,s){let o=t.scrollDOM.getBoundingClientRect(),l=t.documentTop+t.documentPadding.top+t.contentHeight;if(o.left>r||o.righti||Math.min(o.bottom,l)=e&&a<=n}function rL(t,e={}){let n=xe.define(),r=new WeakMap,i=It.define({create(){return[]},update(o,l){let a=r.get(o);if(o.length&&(e.hideOnChange&&(l.docChanged||l.selection)?o=[]:a&&a(l)?o=[]:e.hideOn&&(o=o.filter(u=>!e.hideOn(l,u)))),l.docChanged&&o.length){let u=[];for(let c of o){let d=l.changes.mapPos(c.pos,-1,Ut.TrackDel);if(d!=null){let p=Object.assign(Object.create(null),c);p.pos=d,p.end!=null&&(p.end=l.changes.mapPos(p.end)),u.push(p)}}o=u}for(let u of l.effects)u.is(n)&&(o=u.value,a=void 0),(u.is(sL)&&!u.value||u.value==i)&&(o=[]);return o.length&&a&&r.set(o,a),o},provide:o=>vf.from(o)});const s=Ot.define(o=>new eL(o,t,i,r,n,e.hoverTime||300));return{active:i,extension:[i,s,U2.of(s),JB]}}function iL(t,e,n,r={}){var i;let s=t.state.facet(U2).map(o=>t.plugin(o)).filter(o=>!!o);if(r.tooltip&&r.tooltip.active){let o=s.find(l=>l.field==r.tooltip.active);o&&(s=[o])}for(let o of s)o.activateHover(t,e,n,(i=r.until)!==null&&i!==void 0?i:()=>!1)}function q2(t,e){let n=t.plugin(zO);if(!n)return null;let r=n.manager.tooltips.indexOf(e);return r<0?null:n.manager.tooltipViews[r]}const sL=xe.define(),Wv=ne.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 FO(t,e){let n=t.plugin(j2),r=n?n.specs.indexOf(e):-1;return r>-1?n.panels[r]:null}const j2=Ot.fromClass(class{constructor(t){this.input=t.state.facet(xu),this.specs=this.input.filter(n=>n),this.panels=this.specs.map(n=>n(t));let e=t.state.facet(Wv);this.top=new Gc(t,!0,e.topContainer),this.bottom=new Gc(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(Wv);this.top.container!=e.topContainer&&(this.top.sync([]),this.top=new Gc(t.view,!0,e.topContainer)),this.bottom.container!=e.bottomContainer&&(this.bottom.sync([]),this.bottom=new Gc(t.view,!1,e.bottomContainer)),this.top.syncClasses(),this.bottom.syncClasses();let n=t.state.facet(xu);if(n!=this.input){let r=n.filter(a=>a),i=[],s=[],o=[],l=[];for(let a of r){let u=this.specs.indexOf(a),c;u<0?(c=a(t.view),l.push(c)):(c=this.panels[u],c.update&&c.update(t)),i.push(c),(c.top?s:o).push(c)}this.specs=r,this.panels=i,this.top.sync(s),this.bottom.sync(o);for(let a of l)a.dom.classList.add("cm-panel"),a.mount&&a.mount()}else for(let r of this.panels)r.update&&r.update(t)}destroy(){this.top.sync([]),this.bottom.sync([])}},{provide:t=>ie.scrollMargins.of(e=>{let n=e.plugin(t);return n&&{top:n.top.scrollMargin(),bottom:n.bottom.scrollMargin()}})});class Gc{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";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=Uv(e);e=e.nextSibling}else this.dom.insertBefore(n.dom,e);for(;e;)e=Uv(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 Uv(t){let e=t.nextSibling;return t.remove(),e}const xu=ne.define({enables:j2});function oL(t,e){let n,r=new Promise(o=>n=o),i=o=>lL(o,e,n);t.state.field(Pp,!1)?t.dispatch({effects:H2.of(i)}):t.dispatch({effects:xe.appendConfig.of(Pp.init(()=>[i]))});let s=V2.of(i);return{close:s,result:r.then(o=>((t.win.queueMicrotask||(a=>t.win.setTimeout(a,10)))(()=>{t.state.field(Pp).indexOf(i)>-1&&t.dispatch({effects:s})}),o))}}const Pp=It.define({create(){return[]},update(t,e){for(let n of e.effects)n.is(H2)?t=[n.value].concat(t):n.is(V2)&&(t=t.filter(r=>r!=n.value));return t},provide:t=>xu.computeN([t],e=>e.field(t))}),H2=xe.define(),V2=xe.define();function lL(t,e,n){let r=e.content?e.content(t,()=>o(null)):null;if(!r){if(r=je("form"),e.input){let l=je("input",e.input);/^(text|password|number|email|tel|url)$/.test(l.type)&&l.classList.add("cm-textfield"),l.name||(l.name="input"),r.appendChild(je("label",(e.label||"")+": ",l))}else r.appendChild(document.createTextNode(e.label||""));r.appendChild(document.createTextNode(" ")),r.appendChild(je("button",{class:"cm-button",type:"submit"},e.submitLabel||"OK"))}let i=r.nodeName=="FORM"?[r]:r.querySelectorAll("form");for(let l=0;l{u.keyCode==27?(u.preventDefault(),o(null)):u.keyCode==13&&(u.preventDefault(),o(a))}),a.addEventListener("submit",u=>{u.preventDefault(),o(a)})}let s=je("div",r,je("button",{onclick:()=>o(null),"aria-label":t.state.phrase("close"),class:"cm-dialog-close",type:"button"},["×"]));e.class&&(s.className=e.class),s.classList.add("cm-dialog");function o(l){s.contains(s.ownerDocument.activeElement)&&t.focus(),n(l)}return{dom:s,top:e.top,mount:()=>{if(e.focus){let l;typeof e.focus=="string"?l=r.querySelector(e.focus):l=r.querySelector("input")||r.querySelector("button"),l&&"select"in l?l.select():l&&"focus"in l&&l.focus()}}}}class bi extends cs{compare(e){return this==e||this.constructor==e.constructor&&this.eq(e)}eq(e){return!1}destroy(e){}}bi.prototype.elementClass="";bi.prototype.toDOM=void 0;bi.prototype.mapMode=Ut.TrackBefore;bi.prototype.startSide=bi.prototype.endSide=-1;bi.prototype.point=!0;const Dh=ne.define(),aL=ne.define(),uL={class:"",renderEmptyElements:!1,elementStyle:"",markers:()=>Ce.empty,lineMarker:()=>null,widgetMarker:()=>null,lineMarkerChange:null,initialSpacer:null,updateSpacer:null,domEventHandlers:{},side:"before"},Va=ne.define();function cL(t){return[X2(),Va.of({...uL,...t})]}const qv=ne.define({combine:t=>t.some(e=>e)});function X2(t){return[hL]}const hL=Ot.fromClass(class{constructor(t){this.view=t,this.domAfter=null,this.prevViewport=t.viewport,this.dom=document.createElement("div"),this.dom.className="cm-gutters cm-gutters-before",this.dom.setAttribute("aria-hidden","true"),this.dom.style.minHeight=this.view.contentHeight/this.view.scaleY+"px",this.gutters=t.state.facet(Va).map(e=>new Hv(t,e)),this.fixed=!t.state.facet(qv);for(let e of this.gutters)e.config.side=="after"?this.getDOMAfter().appendChild(e.dom):this.dom.appendChild(e.dom);this.fixed&&(this.dom.style.position="sticky"),this.syncGutters(!1),t.scrollDOM.insertBefore(this.dom,t.contentDOM)}getDOMAfter(){return this.domAfter||(this.domAfter=document.createElement("div"),this.domAfter.className="cm-gutters cm-gutters-after",this.domAfter.setAttribute("aria-hidden","true"),this.domAfter.style.minHeight=this.view.contentHeight/this.view.scaleY+"px",this.domAfter.style.position=this.fixed?"sticky":"",this.view.scrollDOM.appendChild(this.domAfter)),this.domAfter}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)}if(t.geometryChanged){let e=this.view.contentHeight/this.view.scaleY+"px";this.dom.style.minHeight=e,this.domAfter&&(this.domAfter.style.minHeight=e)}this.view.state.facet(qv)!=!this.fixed&&(this.fixed=!this.fixed,this.dom.style.position=this.fixed?"sticky":"",this.domAfter&&(this.domAfter.style.position=this.fixed?"sticky":"")),this.prevViewport=t.view.viewport}syncGutters(t){let e=this.dom.nextSibling;t&&(this.dom.remove(),this.domAfter&&this.domAfter.remove());let n=Ce.iter(this.view.state.facet(Dh),this.view.viewport.from),r=[],i=this.gutters.map(s=>new fL(s,this.view.viewport,-this.view.documentPadding.top));for(let s of this.view.viewportLineBlocks)if(r.length&&(r=[]),Array.isArray(s.type)){let o=!0;for(let l of s.type)if(l.type==Ht.Text&&o){Kg(n,r,l.from);for(let a of i)a.line(this.view,l,r);o=!1}else if(l.widget)for(let a of i)a.widget(this.view,l)}else if(s.type==Ht.Text){Kg(n,r,s.from);for(let o of i)o.line(this.view,s,r)}else if(s.widget)for(let o of i)o.widget(this.view,s);for(let s of i)s.finish();t&&(this.view.scrollDOM.insertBefore(this.dom,e),this.domAfter&&this.view.scrollDOM.appendChild(this.domAfter))}updateGutters(t){let e=t.startState.facet(Va),n=t.state.facet(Va),r=t.docChanged||t.heightChanged||t.viewportChanged||!Ce.eq(t.startState.facet(Dh),t.state.facet(Dh),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 s of n){let o=e.indexOf(s);o<0?i.push(new Hv(this.view,s)):(this.gutters[o].update(t),i.push(this.gutters[o]))}for(let s of this.gutters)s.dom.remove(),i.indexOf(s)<0&&s.destroy();for(let s of i)s.config.side=="after"?this.getDOMAfter().appendChild(s.dom):this.dom.appendChild(s.dom);this.gutters=i}return r}destroy(){for(let t of this.gutters)t.destroy();this.dom.remove(),this.domAfter&&this.domAfter.remove()}},{provide:t=>ie.scrollMargins.of(e=>{let n=e.plugin(t);if(!n||n.gutters.length==0||!n.fixed)return null;let r=n.dom.offsetWidth*e.scaleX,i=n.domAfter?n.domAfter.offsetWidth*e.scaleX:0;return e.textDirection==Ve.LTR?{left:r,right:i}:{right:r,left:i}})});function jv(t){return Array.isArray(t)?t:[t]}function Kg(t,e,n){for(;t.value&&t.from<=n;)t.from==n&&e.push(t.value),t.next()}class fL{constructor(e,n,r){this.gutter=e,this.height=r,this.i=0,this.cursor=Ce.iter(e.markers,n.from)}addElement(e,n,r){let{gutter:i}=this,s=(n.top-this.height)/e.scaleY,o=n.height/e.scaleY;if(this.i==i.elements.length){let l=new G2(e,o,s,r);i.elements.push(l),i.dom.appendChild(l.dom)}else i.elements[this.i].update(e,o,s,r);this.height=n.bottom,this.i++}line(e,n,r){let i=[];Kg(this.cursor,i,n.from),r.length&&(i=i.concat(r));let s=this.gutter.config.lineMarker(e,n,i);s&&i.unshift(s);let o=this.gutter;i.length==0&&!o.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 s of e.state.facet(aL)){let o=s(e,n.widget,n);o&&(i||(i=[])).push(o)}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 Hv{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 s=i.target,o;if(s!=this.dom&&this.dom.contains(s)){for(;s.parentNode!=this.dom;)s=s.parentNode;let a=s.getBoundingClientRect();o=(a.top+a.bottom)/2}else o=i.clientY;let l=e.lineBlockAtHeight(o-e.documentTop);n.domEventHandlers[r](e,l,i)&&i.preventDefault()});this.markers=jv(n.markers(e)),n.initialSpacer&&(this.spacer=new G2(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=jv(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!Ce.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 G2{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":""),dL(this.markers,i)||this.setMarkers(e,i)}setMarkers(e,n){let r="cm-gutterElement",i=this.dom.firstChild;for(let s=0,o=0;;){let l=o,a=ss(l,a,u)||o(l,a,u):o}return r}})}});class Mp extends bi{constructor(e){super(),this.number=e}eq(e){return this.number==e.number}toDOM(){return document.createTextNode(this.number)}}function Dp(t,e){return t.state.facet(Ko).formatNumber(e,t.state)}const gL=Va.compute([Ko],t=>({class:"cm-lineNumbers",renderEmptyElements:!1,markers(e){return e.state.facet(pL)},lineMarker(e,n,r){return r.some(i=>i.toDOM)?null:new Mp(Dp(e,e.state.doc.lineAt(n.from).number))},widgetMarker:(e,n,r)=>{for(let i of e.state.facet(mL)){let s=i(e,n,r);if(s)return s}return null},lineMarkerChange:e=>e.startState.facet(Ko)!=e.state.facet(Ko),initialSpacer(e){return new Mp(Dp(e,Vv(e.state.doc.lines)))},updateSpacer(e,n){let r=Dp(n.view,Vv(n.view.state.doc.lines));return r==e.number?e:new Mp(r)},domEventHandlers:t.facet(Ko).domEventHandlers,side:"before"}));function OL(t={}){return[Ko.of(t),X2(),gL]}function Vv(t){let e=9;for(;e{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(yL.range(i)))}return Ce.of(e)});function wL(){return vL}const Y2=1024;let xL=0;class Rp{constructor(e,n){this.from=e,this.to=n}}class Ee{constructor(e={}){this.id=xL++,this.perNode=!!e.perNode,this.deserialize=e.deserialize||(()=>{throw new Error("This node type doesn't define a deserialize function")}),this.combine=e.combine||null}add(e){if(this.perNode)throw new RangeError("Can't add per-node props to node types");return typeof e!="function"&&(e=Pn.match(e)),n=>{let r=e(n);return r===void 0?null:[this,r]}}}Ee.closedBy=new Ee({deserialize:t=>t.split(" ")});Ee.openedBy=new Ee({deserialize:t=>t.split(" ")});Ee.group=new Ee({deserialize:t=>t.split(" ")});Ee.isolate=new Ee({deserialize:t=>{if(t&&t!="rtl"&&t!="ltr"&&t!="auto")throw new RangeError("Invalid value for isolate: "+t);return t||"auto"}});Ee.contextHash=new Ee({perNode:!0});Ee.lookAhead=new Ee({perNode:!0});Ee.mounted=new Ee({perNode:!0});class Xa{constructor(e,n,r,i=!1){this.tree=e,this.overlay=n,this.parser=r,this.bracketed=i}static get(e){return e&&e.props&&e.props[Ee.mounted.id]}}const SL=Object.create(null);class Pn{constructor(e,n,r,i=0){this.name=e,this.props=n,this.id=r,this.flags=i}static define(e){let n=e.props&&e.props.length?Object.create(null):SL,r=(e.top?1:0)|(e.skipped?2:0)|(e.error?4:0)|(e.name==null?8:0),i=new Pn(e.name||"",n,e.id,r);if(e.props){for(let s of e.props)if(Array.isArray(s)||(s=s(i)),s){if(s[0].perNode)throw new RangeError("Can't store a per-node prop on a node type");n[s[0].id]=s[1]}}return i}prop(e){return this.props[e.id]}get isTop(){return(this.flags&1)>0}get isSkipped(){return(this.flags&2)>0}get isError(){return(this.flags&4)>0}get isAnonymous(){return(this.flags&8)>0}is(e){if(typeof e=="string"){if(this.name==e)return!0;let n=this.prop(Ee.group);return n?n.indexOf(e)>-1:!1}return this.id==e}static match(e){let n=Object.create(null);for(let r in e)for(let i of r.split(" "))n[i]=e[r];return r=>{for(let i=r.prop(Ee.group),s=-1;s<(i?i.length:0);s++){let o=n[s<0?r.name:i[s]];if(o)return o}}}}Pn.none=new Pn("",Object.create(null),0,8);class NO{constructor(e){this.types=e;for(let n=0;n0;for(let a=this.cursor(o|st.IncludeAnonymous);;){let u=!1;if(a.from<=s&&a.to>=i&&(!l&&a.type.isAnonymous||n(a)!==!1)){if(a.firstChild())continue;u=!0}for(;u&&r&&(l||!a.type.isAnonymous)&&r(a),!a.nextSibling();){if(!a.parent())return;u=!0}}}prop(e){return e.perNode?this.props?this.props[e.id]:void 0:this.type.prop(e)}get propValues(){let e=[];if(this.props)for(let n in this.props)e.push([+n,this.props[n]]);return e}balance(e={}){return this.children.length<=8?this:UO(Pn.none,this.children,this.positions,0,this.children.length,0,this.length,(n,r,i)=>new mt(this.type,n,r,i,this.propValues),e.makeTree||((n,r,i)=>new mt(Pn.none,n,r,i)))}static build(e){return EL(e)}}mt.empty=new mt(Pn.none,[],[],0);class $O{constructor(e,n){this.buffer=e,this.index=n}get id(){return this.buffer[this.index-4]}get start(){return this.buffer[this.index-3]}get end(){return this.buffer[this.index-2]}get size(){return this.buffer[this.index-1]}get pos(){return this.index}next(){this.index-=4}fork(){return new $O(this.buffer,this.index)}}class ps{constructor(e,n,r){this.buffer=e,this.length=n,this.set=r}get type(){return Pn.none}toString(){let e=[];for(let n=0;n0));a=o[a+3]);return l}slice(e,n,r){let i=this.buffer,s=new Uint16Array(n-e),o=0;for(let l=e,a=0;l=e&&ne;case 1:return n<=e&&r>e;case 2:return r>e;case 4:return!0}}function Su(t,e,n,r){for(var i;t.from==t.to||(n<1?t.from>=e:t.from>e)||(n>-1?t.to<=e:t.to0?l.length:-1;e!=u;e+=n){let c=l[e],d=a[e]+o.from,p;if(!(!(s&st.EnterBracketed&&c instanceof mt&&(p=Xa.get(c))&&!p.overlay&&p.bracketed&&r>=d&&r<=d+c.length)&&!K2(i,r,d,d+c.length))){if(c instanceof ps){if(s&st.ExcludeBuffers)continue;let g=c.findChild(0,c.buffer.length,n,r-d,i);if(g>-1)return new Vr(new kL(o,c,e,d),null,g)}else if(s&st.IncludeAnonymous||!c.type.isAnonymous||WO(c)){let g;if(!(s&st.IgnoreMounts)&&(g=Xa.get(c))&&!g.overlay)return new Tn(g.tree,d,e,o);let y=new Tn(c,d,e,o);return s&st.IncludeAnonymous||!y.type.isAnonymous?y:y.nextChild(n<0?c.children.length-1:0,n,r,i,s)}}}if(s&st.IncludeAnonymous||!o.type.isAnonymous||(o.index>=0?e=o.index+n:e=n<0?-1:o._parent._tree.children.length,o=o._parent,!o))return null}}get firstChild(){return this.nextChild(0,1,0,4)}get lastChild(){return this.nextChild(this._tree.children.length-1,-1,0,4)}childAfter(e){return this.nextChild(0,1,e,2)}childBefore(e){return this.nextChild(this._tree.children.length-1,-1,e,-2)}prop(e){return this._tree.prop(e)}enter(e,n,r=0){let i;if(!(r&st.IgnoreOverlays)&&(i=Xa.get(this._tree))&&i.overlay){let s=e-this.from,o=r&st.EnterBracketed&&i.bracketed;for(let{from:l,to:a}of i.overlay)if((n>0||o?l<=s:l=s:a>s))return new Tn(i.tree,i.overlay[0].from+this.from,-1,this)}return this.nextChild(0,1,e,n,r)}nextSignificantParent(){let e=this;for(;e.type.isAnonymous&&e._parent;)e=e._parent;return e}get parent(){return this._parent?this._parent.nextSignificantParent():null}get nextSibling(){return this._parent&&this.index>=0?this._parent.nextChild(this.index+1,1,0,4):null}get prevSibling(){return this._parent&&this.index>=0?this._parent.nextChild(this.index-1,-1,0,4):null}get tree(){return this._tree}toTree(){return this._tree}toString(){return this._tree.toString()}}function Gv(t,e,n,r){let i=t.cursor(),s=[];if(!i.firstChild())return s;if(n!=null){for(let o=!1;!o;)if(o=i.type.is(n),!i.nextSibling())return s}for(;;){if(r!=null&&i.type.is(r))return s;if(i.type.is(e)&&s.push(i.node),!i.nextSibling())return r==null?s:[]}}function Zg(t,e,n=e.length-1){for(let r=t;n>=0;r=r.parent){if(!r)return!1;if(!r.type.isAnonymous){if(e[n]&&e[n]!=r.name)return!1;n--}}return!0}class kL{constructor(e,n,r,i){this.parent=e,this.buffer=n,this.index=r,this.start=i}}class Vr extends Z2{get name(){return this.type.name}get from(){return this.context.start+this.context.buffer.buffer[this.index+1]}get to(){return this.context.start+this.context.buffer.buffer[this.index+2]}constructor(e,n,r){super(),this.context=e,this._parent=n,this.index=r,this.type=e.buffer.set.types[e.buffer.buffer[r]]}child(e,n,r){let{buffer:i}=this.context,s=i.findChild(this.index+4,i.buffer[this.index+3],e,n-this.context.start,r);return s<0?null:new Vr(this.context,this,s)}get firstChild(){return this.child(1,0,4)}get lastChild(){return this.child(-1,0,4)}childAfter(e){return this.child(1,e,2)}childBefore(e){return this.child(-1,e,-2)}prop(e){return this.type.prop(e)}enter(e,n,r=0){if(r&st.ExcludeBuffers)return null;let{buffer:i}=this.context,s=i.findChild(this.index+4,i.buffer[this.index+3],n>0?1:-1,e-this.context.start,n);return s<0?null:new Vr(this.context,this,s)}get parent(){return this._parent||this.context.parent.nextSignificantParent()}externalSibling(e){return this._parent?null:this.context.parent.nextChild(this.context.index+e,e,0,4)}get nextSibling(){let{buffer:e}=this.context,n=e.buffer[this.index+3];return n<(this._parent?e.buffer[this._parent.index+3]:e.buffer.length)?new Vr(this.context,this._parent,n):this.externalSibling(1)}get prevSibling(){let{buffer:e}=this.context,n=this._parent?this._parent.index+4:0;return this.index==n?this.externalSibling(-1):new Vr(this.context,this._parent,e.findChild(n,this.index,-1,0,4))}get tree(){return null}toTree(){let e=[],n=[],{buffer:r}=this.context,i=this.index+4,s=r.buffer[this.index+3];if(s>i){let o=r.buffer[this.index+1];e.push(r.slice(i,s,o)),n.push(0)}return new mt(this.type,e,n,this.to-this.from)}toString(){return this.context.buffer.childString(this.index)}}function A2(t){if(!t.length)return null;let e=0,n=t[0];for(let s=1;sn.from||o.to=e){let l=new Tn(o.tree,o.overlay[0].from+s.from,-1,s);(i||(i=[r])).push(Su(l,e,n,!1))}}return i?A2(i):r}class Ag{get name(){return this.type.name}constructor(e,n=0){if(this.buffer=null,this.stack=[],this.index=0,this.bufferNode=null,this.mode=n&~st.EnterBracketed,e instanceof Tn)this.yieldNode(e);else{this._tree=e.context.parent,this.buffer=e.context;for(let r=e._parent;r;r=r._parent)this.stack.unshift(r.index);this.bufferNode=e,this.yieldBuf(e.index)}}yieldNode(e){return e?(this._tree=e,this.type=e.type,this.from=e.from,this.to=e.to,!0):!1}yieldBuf(e,n){this.index=e;let{start:r,buffer:i}=this.buffer;return this.type=n||i.set.types[i.buffer[e]],this.from=r+i.buffer[e+1],this.to=r+i.buffer[e+2],!0}yield(e){return e?e instanceof Tn?(this.buffer=null,this.yieldNode(e)):(this.buffer=e.context,this.yieldBuf(e.index,e.type)):!1}toString(){return this.buffer?this.buffer.buffer.childString(this.index):this._tree.toString()}enterChild(e,n,r){if(!this.buffer)return this.yield(this._tree.nextChild(e<0?this._tree._tree.children.length-1:0,e,n,r,this.mode));let{buffer:i}=this.buffer,s=i.findChild(this.index+4,i.buffer[this.index+3],e,n-this.buffer.start,r);return s<0?!1:(this.stack.push(this.index),this.yieldBuf(s))}firstChild(){return this.enterChild(1,0,4)}lastChild(){return this.enterChild(-1,0,4)}childAfter(e){return this.enterChild(1,e,2)}childBefore(e){return this.enterChild(-1,e,-2)}enter(e,n,r=this.mode){return this.buffer?r&st.ExcludeBuffers?!1:this.enterChild(1,e,n):this.yield(this._tree.enter(e,n,r))}parent(){if(!this.buffer)return this.yieldNode(this.mode&st.IncludeAnonymous?this._tree._parent:this._tree.parent);if(this.stack.length)return this.yieldBuf(this.stack.pop());let e=this.mode&st.IncludeAnonymous?this.buffer.parent:this.buffer.parent.nextSignificantParent();return this.buffer=null,this.yieldNode(e)}sibling(e){if(!this.buffer)return this._tree._parent?this.yield(this._tree.index<0?null:this._tree._parent.nextChild(this._tree.index+e,e,0,4,this.mode)):!1;let{buffer:n}=this.buffer,r=this.stack.length-1;if(e<0){let i=r<0?0:this.stack[r]+4;if(this.index!=i)return this.yieldBuf(n.findChild(i,this.index,-1,0,4))}else{let i=n.buffer[this.index+3];if(i<(r<0?n.buffer.length:n.buffer[this.stack[r]+3]))return this.yieldBuf(i)}return r<0?this.yield(this.buffer.parent.nextChild(this.buffer.index+e,e,0,4,this.mode)):!1}nextSibling(){return this.sibling(1)}prevSibling(){return this.sibling(-1)}atLastNode(e){let n,r,{buffer:i}=this;if(i){if(e>0){if(this.index-1)for(let s=n+e,o=e<0?-1:r._tree.children.length;s!=o;s+=e){let l=r._tree.children[s];if(this.mode&st.IncludeAnonymous||l instanceof ps||!l.type.isAnonymous||WO(l))return!1}return!0}move(e,n){if(n&&this.enterChild(e,0,4))return!0;for(;;){if(this.sibling(e))return!0;if(this.atLastNode(e)||!this.parent())return!1}}next(e=!0){return this.move(1,e)}prev(e=!0){return this.move(-1,e)}moveTo(e,n=0){for(;(this.from==this.to||(n<1?this.from>=e:this.from>e)||(n>-1?this.to<=e:this.to=0;){for(let o=e;o;o=o._parent)if(o.index==i){if(i==this.index)return o;n=o,r=s+1;break e}i=this.stack[--s]}for(let i=r;i=0;s--){if(s<0)return Zg(this._tree,e,i);let o=r[n.buffer[this.stack[s]]];if(!o.isAnonymous){if(e[i]&&e[i]!=o.name)return!1;i--}}return!0}}function WO(t){return t.children.some(e=>e instanceof ps||!e.type.isAnonymous||WO(e))}function EL(t){var e;let{buffer:n,nodeSet:r,maxBufferLength:i=Y2,reused:s=[],minRepeatType:o=r.types.length}=t,l=Array.isArray(n)?new $O(n,n.length):n,a=r.types,u=0,c=0;function d(P,D,M,L,B,I){let{id:j,start:V,end:q,size:G}=l,A=c,oe=u;if(G<0)if(l.next(),G==-1){let we=s[j];M.push(we),L.push(V-P);return}else if(G==-3){u=j;return}else if(G==-4){c=j;return}else throw new RangeError(`Unrecognized record size: ${G}`);let ye=a[j],N,X,se=V-P;if(q-V<=i&&(X=_(l.pos-D,B))){let we=new Uint16Array(X.size-X.skip),te=l.pos-X.size,Be=we.length;for(;l.pos>te;)Be=x(X.start,we,Be);N=new ps(we,q-X.start,r),se=X.start-P}else{let we=l.pos-G;l.next();let te=[],Be=[],Je=j>=o?j:-1,ve=0,pe=q;for(;l.pos>we;)Je>=0&&l.id==Je&&l.size>=0?(l.end<=pe-i&&(y(te,Be,V,ve,l.end,pe,Je,A,oe),ve=te.length,pe=l.end),l.next()):I>2500?p(V,we,te,Be):d(V,we,te,Be,Je,I+1);if(Je>=0&&ve>0&&ve-1&&ve>0){let me=g(ye,oe);N=UO(ye,te,Be,0,te.length,0,q-V,me,me)}else N=w(ye,te,Be,q-V,A-q,oe)}M.push(N),L.push(se)}function p(P,D,M,L){let B=[],I=0,j=-1;for(;l.pos>D;){let{id:V,start:q,end:G,size:A}=l;if(A>4)l.next();else{if(j>-1&&q=0;G-=3)V[A++]=B[G],V[A++]=B[G+1]-q,V[A++]=B[G+2]-q,V[A++]=A;M.push(new ps(V,B[2]-q,r)),L.push(q-P)}}function g(P,D){return(M,L,B)=>{let I=0,j=M.length-1,V,q;if(j>=0&&(V=M[j])instanceof mt){if(!j&&V.type==P&&V.length==B)return V;(q=V.prop(Ee.lookAhead))&&(I=L[j]+V.length+q)}return w(P,M,L,B,I,D)}}function y(P,D,M,L,B,I,j,V,q){let G=[],A=[];for(;P.length>L;)G.push(P.pop()),A.push(D.pop()+M-B);P.push(w(r.types[j],G,A,I-B,V-I,q)),D.push(B-M)}function w(P,D,M,L,B,I,j){if(I){let V=[Ee.contextHash,I];j=j?[V].concat(j):[V]}if(B>25){let V=[Ee.lookAhead,B];j=j?[V].concat(j):[V]}return new mt(P,D,M,L,j)}function _(P,D){let M=l.fork(),L=0,B=0,I=0,j=M.end-i,V={size:0,start:0,skip:0};e:for(let q=M.pos-P;M.pos>q;){let G=M.size;if(M.id==D&&G>=0){V.size=L,V.start=B,V.skip=I,I+=4,L+=4,M.next();continue}let A=M.pos-G;if(G<0||A=o?4:0,ye=M.start;for(M.next();M.pos>A;){if(M.size<0)if(M.size==-3||M.size==-4)oe+=4;else break e;else M.id>=o&&(oe+=4);M.next()}B=ye,L+=G,I+=oe}return(D<0||L==P)&&(V.size=L,V.start=B,V.skip=I),V.size>4?V:void 0}function x(P,D,M){let{id:L,start:B,end:I,size:j}=l;if(l.next(),j>=0&&L4){let q=l.pos-(j-4);for(;l.pos>q;)M=x(P,D,M)}D[--M]=V,D[--M]=I-P,D[--M]=B-P,D[--M]=L}else j==-3?u=L:j==-4&&(c=L);return M}let S=[],b=[];for(;l.pos>0;)d(t.start||0,t.bufferStart||0,S,b,-1,0);let T=(e=t.length)!==null&&e!==void 0?e:S.length?b[0]+S[0].length:0;return new mt(a[t.topID],S.reverse(),b.reverse(),T)}const Yv=new WeakMap;function Rh(t,e){if(!t.isAnonymous||e instanceof ps||e.type!=t)return 1;let n=Yv.get(e);if(n==null){n=1;for(let r of e.children){if(r.type!=t||!(r instanceof mt)){n=1;break}n+=Rh(t,r)}Yv.set(e,n)}return n}function UO(t,e,n,r,i,s,o,l,a){let u=0;for(let y=r;y=c)break;D+=M}if(b==T+1){if(D>c){let M=y[T];g(M.children,M.positions,0,M.children.length,w[T]+S);continue}d.push(y[T])}else{let M=w[b-1]+y[b-1].length-P;d.push(UO(t,y,w,T,b,P,M,null,a))}p.push(P+S-s)}}return g(e,n,r,i,0),(l||a)(d,p,o)}class CL{constructor(){this.map=new WeakMap}setBuffer(e,n,r){let i=this.map.get(e);i||this.map.set(e,i=new Map),i.set(n,r)}getBuffer(e,n){let r=this.map.get(e);return r&&r.get(n)}set(e,n){e instanceof Vr?this.setBuffer(e.context.buffer,e.index,n):e instanceof Tn&&this.map.set(e.tree,n)}get(e){return e instanceof Vr?this.getBuffer(e.context.buffer,e.index):e instanceof Tn?this.map.get(e.tree):void 0}cursorSet(e,n){e.buffer?this.setBuffer(e.buffer.buffer,e.index,n):this.map.set(e.tree,n)}cursorGet(e){return e.buffer?this.getBuffer(e.buffer.buffer,e.index):this.map.get(e.tree)}}class Xs{constructor(e,n,r,i,s=!1,o=!1){this.from=e,this.to=n,this.tree=r,this.offset=i,this.open=(s?1:0)|(o?2:0)}get openStart(){return(this.open&1)>0}get openEnd(){return(this.open&2)>0}static addTree(e,n=[],r=!1){let i=[new Xs(0,e.length,e,0,!1,r)];for(let s of n)s.to>e.length&&i.push(s);return i}static applyChanges(e,n,r=128){if(!n.length)return e;let i=[],s=1,o=e.length?e[0]:null;for(let l=0,a=0,u=0;;l++){let c=l=r)for(;o&&o.from=p.from||d<=p.to||u){let g=Math.max(p.from,a)-u,y=Math.min(p.to,d)-u;p=g>=y?null:new Xs(g,y,p.tree,p.offset+u,l>0,!!c)}if(p&&i.push(p),o.to>d)break;o=snew Rp(i.from,i.to)):[new Rp(0,0)]:[new Rp(0,e.length)],this.createParse(e,n||[],r)}parse(e,n,r){let i=this.startParse(e,n,r);for(;;){let s=i.advance();if(s)return s}}}class TL{constructor(e){this.string=e}get length(){return this.string.length}chunk(e){return this.string.slice(e)}get lineChunks(){return!1}read(e,n){return this.string.slice(e,n)}}new Ee({perNode:!0});let PL=0;class Jn{constructor(e,n,r,i){this.name=e,this.set=n,this.base=r,this.modified=i,this.id=PL++}toString(){let{name:e}=this;for(let n of this.modified)n.name&&(e=`${n.name}(${e})`);return e}static define(e,n){let r=typeof e=="string"?e:"?";if(e instanceof Jn&&(n=e),n!=null&&n.base)throw new Error("Can not derive from a modified tag");let i=new Jn(r,[],null,[]);if(i.set.push(i),n)for(let s of n.set)i.set.push(s);return i}static defineModifier(e){let n=new wf(e);return r=>r.modified.indexOf(n)>-1?r:wf.get(r.base||r,r.modified.concat(n).sort((i,s)=>i.id-s.id))}}let ML=0;class wf{constructor(e){this.name=e,this.instances=[],this.id=ML++}static get(e,n){if(!n.length)return e;let r=n[0].instances.find(l=>l.base==e&&DL(n,l.modified));if(r)return r;let i=[],s=new Jn(e.name,i,e,n);for(let l of n)l.instances.push(s);let o=RL(n);for(let l of e.set)if(!l.modified.length)for(let a of o)i.push(wf.get(l,a));return s}}function DL(t,e){return t.length==e.length&&t.every((n,r)=>n==e[r])}function RL(t){let e=[[]];for(let n=0;nr.length-n.length)}function e_(t){let e=Object.create(null);for(let n in t){let r=t[n];Array.isArray(r)||(r=[r]);for(let i of n.split(" "))if(i){let s=[],o=2,l=i;for(let d=0;;){if(l=="..."&&d>0&&d+3==i.length){o=1;break}let p=/^"(?:[^"\\]|\\.)*?"|[^\/!]+/.exec(l);if(!p)throw new RangeError("Invalid path: "+i);if(s.push(p[0]=="*"?"":p[0][0]=='"'?JSON.parse(p[0]):p[0]),d+=p[0].length,d==i.length)break;let g=i[d++];if(d==i.length&&g=="!"){o=0;break}if(g!="/")throw new RangeError("Invalid path: "+i);l=i.slice(d)}let a=s.length-1,u=s[a];if(!u)throw new RangeError("Invalid path: "+i);let c=new ku(r,o,a>0?s.slice(0,a):null);e[u]=c.sort(e[u])}}return t_.add(e)}const t_=new Ee({combine(t,e){let n,r,i;for(;t||e;){if(!t||e&&t.depth>=e.depth?(i=e,e=e.next):(i=t,t=t.next),n&&n.mode==i.mode&&!i.context&&!n.context)continue;let s=new ku(i.tags,i.mode,i.context);n?n.next=s:r=s,n=s}return r}});class ku{constructor(e,n,r,i){this.tags=e,this.mode=n,this.context=r,this.next=i}get opaque(){return this.mode==0}get inherit(){return this.mode==1}sort(e){return!e||e.depth{let o=i;for(let l of s)for(let a of l.set){let u=n[a.id];if(u){o=o?o+" "+u:u;break}}return o},scope:r}}function BL(t,e){let n=null;for(let r of t){let i=r.style(e);i&&(n=n?n+" "+i:i)}return n}function LL(t,e,n,r=0,i=t.length){let s=new QL(r,Array.isArray(e)?e:[e],n);s.highlightRange(t.cursor(),r,i,"",s.highlighters),s.flush(i)}class QL{constructor(e,n,r){this.at=e,this.highlighters=n,this.span=r,this.class=""}startSpan(e,n){n!=this.class&&(this.flush(e),e>this.at&&(this.at=e),this.class=n)}flush(e){e>this.at&&this.class&&this.span(this.at,e,this.class)}highlightRange(e,n,r,i,s){let{type:o,from:l,to:a}=e;if(l>=r||a<=n)return;o.isTop&&(s=this.highlighters.filter(g=>!g.scope||g.scope(o)));let u=i,c=IL(e)||ku.empty,d=BL(s,c.tags);if(d&&(u&&(u+=" "),u+=d,c.mode==1&&(i+=(i?" ":"")+d)),this.startSpan(Math.max(n,l),u),c.opaque)return;let p=e.tree&&e.tree.prop(Ee.mounted);if(p&&p.overlay){let g=e.node.enter(p.overlay[0].from+l,1),y=this.highlighters.filter(_=>!_.scope||_.scope(p.tree.type)),w=e.firstChild();for(let _=0,x=l;;_++){let S=_=b||!e.nextSibling())););if(!S||b>r)break;x=S.to+l,x>n&&(this.highlightRange(g.cursor(),Math.max(n,S.from+l),Math.min(r,x),"",y),this.startSpan(Math.min(r,x),u))}w&&e.parent()}else if(e.firstChild()){p&&(i="");do if(!(e.to<=n)){if(e.from>=r)break;this.highlightRange(e,n,r,i,s),this.startSpan(Math.min(r,e.to),u)}while(e.nextSibling());e.parent()}}}function IL(t){let e=t.type.prop(t_);for(;e&&e.context&&!t.matchContext(e.context);)e=e.next;return e||null}const J=Jn.define,Kc=J(),Fi=J(),Kv=J(Fi),Zv=J(Fi),Ni=J(),Zc=J(Ni),Bp=J(Ni),zr=J(),Ps=J(zr),Lr=J(),Qr=J(),Jg=J(),pa=J(Jg),Ac=J(),F={comment:Kc,lineComment:J(Kc),blockComment:J(Kc),docComment:J(Kc),name:Fi,variableName:J(Fi),typeName:Kv,tagName:J(Kv),propertyName:Zv,attributeName:J(Zv),className:J(Fi),labelName:J(Fi),namespace:J(Fi),macroName:J(Fi),literal:Ni,string:Zc,docString:J(Zc),character:J(Zc),attributeValue:J(Zc),number:Bp,integer:J(Bp),float:J(Bp),bool:J(Ni),regexp:J(Ni),escape:J(Ni),color:J(Ni),url:J(Ni),keyword:Lr,self:J(Lr),null:J(Lr),atom:J(Lr),unit:J(Lr),modifier:J(Lr),operatorKeyword:J(Lr),controlKeyword:J(Lr),definitionKeyword:J(Lr),moduleKeyword:J(Lr),operator:Qr,derefOperator:J(Qr),arithmeticOperator:J(Qr),logicOperator:J(Qr),bitwiseOperator:J(Qr),compareOperator:J(Qr),updateOperator:J(Qr),definitionOperator:J(Qr),typeOperator:J(Qr),controlOperator:J(Qr),punctuation:Jg,separator:J(Jg),bracket:pa,angleBracket:J(pa),squareBracket:J(pa),paren:J(pa),brace:J(pa),content:zr,heading:Ps,heading1:J(Ps),heading2:J(Ps),heading3:J(Ps),heading4:J(Ps),heading5:J(Ps),heading6:J(Ps),contentSeparator:J(zr),list:J(zr),quote:J(zr),emphasis:J(zr),strong:J(zr),link:J(zr),monospace:J(zr),strikethrough:J(zr),inserted:J(),deleted:J(),changed:J(),invalid:J(),meta:Ac,documentMeta:J(Ac),annotation:J(Ac),processingInstruction:J(Ac),definition:Jn.defineModifier("definition"),constant:Jn.defineModifier("constant"),function:Jn.defineModifier("function"),standard:Jn.defineModifier("standard"),local:Jn.defineModifier("local"),special:Jn.defineModifier("special")};for(let t in F){let e=F[t];e instanceof Jn&&(e.name=t)}n_([{tag:F.link,class:"tok-link"},{tag:F.heading,class:"tok-heading"},{tag:F.emphasis,class:"tok-emphasis"},{tag:F.strong,class:"tok-strong"},{tag:F.keyword,class:"tok-keyword"},{tag:F.atom,class:"tok-atom"},{tag:F.bool,class:"tok-bool"},{tag:F.url,class:"tok-url"},{tag:F.labelName,class:"tok-labelName"},{tag:F.inserted,class:"tok-inserted"},{tag:F.deleted,class:"tok-deleted"},{tag:F.literal,class:"tok-literal"},{tag:F.string,class:"tok-string"},{tag:F.number,class:"tok-number"},{tag:[F.regexp,F.escape,F.special(F.string)],class:"tok-string2"},{tag:F.variableName,class:"tok-variableName"},{tag:F.local(F.variableName),class:"tok-variableName tok-local"},{tag:F.definition(F.variableName),class:"tok-variableName tok-definition"},{tag:F.special(F.variableName),class:"tok-variableName2"},{tag:F.definition(F.propertyName),class:"tok-propertyName tok-definition"},{tag:F.typeName,class:"tok-typeName"},{tag:F.namespace,class:"tok-namespace"},{tag:F.className,class:"tok-className"},{tag:F.macroName,class:"tok-macroName"},{tag:F.propertyName,class:"tok-propertyName"},{tag:F.operator,class:"tok-operator"},{tag:F.comment,class:"tok-comment"},{tag:F.meta,class:"tok-meta"},{tag:F.invalid,class:"tok-invalid"},{tag:F.punctuation,class:"tok-punctuation"}]);var Lp;const Zo=new Ee;function zL(t){return ne.define({combine:t?e=>e.concat(t):void 0})}const FL=new Ee;class Sr{constructor(e,n,r=[],i=""){this.data=e,this.name=i,ze.prototype.hasOwnProperty("tree")||Object.defineProperty(ze.prototype,"tree",{get(){return Qt(this)}}),this.parser=n,this.extension=[ms.of(this),ze.languageData.of((s,o,l)=>{let a=Av(s,o,l),u=a.type.prop(Zo);if(!u)return[];let c=s.facet(u),d=a.type.prop(FL);if(d){let p=a.resolve(o-a.from,l);for(let g of d)if(g.test(p,s)){let y=s.facet(g.facet);return g.type=="replace"?y:y.concat(c)}}return c})].concat(r)}isActiveAt(e,n,r=-1){return Av(e,n,r).type.prop(Zo)==this.data}findRegions(e){let n=e.facet(ms);if((n==null?void 0:n.data)==this.data)return[{from:0,to:e.doc.length}];if(!n||!n.allowsNesting)return[];let r=[],i=(s,o)=>{if(s.prop(Zo)==this.data){r.push({from:o,to:o+s.length});return}let l=s.prop(Ee.mounted);if(l){if(l.tree.prop(Zo)==this.data){if(l.overlay)for(let a of l.overlay)r.push({from:a.from+o,to:a.to+o});else r.push({from:o,to:o+s.length});return}else if(l.overlay){let a=r.length;if(i(l.tree,l.overlay[0].from+o),r.length>a)return}}for(let a=0;ar.isTop?n:void 0)]}),e.name)}configure(e,n){return new xf(this.data,this.parser.configure(e),n||this.name)}get allowsNesting(){return this.parser.hasWrappers()}}function Qt(t){let e=t.field(Sr.state,!1);return e?e.tree:mt.empty}class NL{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=this.cursorPos?this.doc.sliceString(e,n):this.string.slice(e-r,n-r)}}let ma=null;class Sf{constructor(e,n,r=[],i,s,o,l,a){this.parser=e,this.state=n,this.fragments=r,this.tree=i,this.treeLen=s,this.viewport=o,this.skipped=l,this.scheduleOn=a,this.parse=null,this.tempSkipped=[]}static create(e,n,r){return new Sf(e,n,[],mt.empty,0,r,[],null)}startParse(){return this.parser.startParse(new NL(this.state.doc),this.fragments)}work(e,n){return n!=null&&n>=this.state.doc.length&&(n=void 0),this.tree!=mt.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.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(Xs.addTree(this.tree,this.fragments,!0)),this.parse=null)}withContext(e){let n=ma;ma=this;try{return e()}finally{ma=n}}withoutTempSkipped(e){for(let n;n=this.tempSkipped.pop();)e=Jv(e,n.from,n.to);return e}changes(e,n){let{fragments:r,tree:i,treeLen:s,viewport:o,skipped:l}=this;if(this.takeTree(),!e.empty){let a=[];if(e.iterChangedRanges((u,c,d,p)=>a.push({fromA:u,toA:c,fromB:d,toB:p})),r=Xs.applyChanges(r,a),i=mt.empty,s=0,o={from:e.mapPos(o.from,-1),to:e.mapPos(o.to,1)},this.skipped.length){l=[];for(let u of this.skipped){let c=e.mapPos(u.from,1),d=e.mapPos(u.to,-1);ce.from&&(this.fragments=Jv(this.fragments,i,s),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 J2{createParse(n,r,i){let s=i[0].from,o=i[i.length-1].to;return{parsedPos:s,advance(){let a=ma;if(a){for(let u of i)a.tempSkipped.push(u);e&&(a.scheduleOn=a.scheduleOn?Promise.all([a.scheduleOn,e]):e)}return this.parsedPos=o,new mt(Pn.none,[],[],o-s)},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 ma}}function Jv(t,e,n){return Xs.applyChanges(t,[{fromA:e,toA:n,fromB:e,toB:n}])}class Cl{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 Cl(n)}static init(e){let n=Math.min(3e3,e.doc.length),r=Sf.create(e.facet(ms).parser,e,{from:0,to:n});return r.work(20,n)||r.takeTree(),new Cl(r)}}Sr.state=It.define({create:Cl.init,update(t,e){for(let n of e.effects)if(n.is(Sr.setState))return n.value;return e.startState.facet(ms)!=e.state.facet(ms)?Cl.init(e.state):t.apply(e)}});let r_=t=>{let e=setTimeout(()=>t(),500);return()=>clearTimeout(e)};typeof requestIdleCallback<"u"&&(r_=t=>{let e=-1,n=setTimeout(()=>{e=requestIdleCallback(t,{timeout:400})},100);return()=>e<0?clearTimeout(n):cancelIdleCallback(e)});const Qp=typeof navigator<"u"&&(!((Lp=navigator.scheduling)===null||Lp===void 0)&&Lp.isInputPending)?()=>navigator.scheduling.isInputPending():null,$L=Ot.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(Sr.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(Sr.state);(n.tree!=n.context.tree||!n.context.isDone(e.doc.length))&&(this.working=r_(this.work))}work(e){this.working=null;let n=Date.now();if(this.chunkEndi+1e3,a=s.context.work(()=>Qp&&Qp()||Date.now()>o,i+(l?0:1e5));this.chunkBudget-=Date.now()-n,(a||this.chunkBudget<=0)&&(s.context.takeTree(),this.view.dispatch({effects:Sr.setState.of(new Cl(s.context))})),this.chunkBudget>0&&!(a&&!l)&&this.scheduleWork(),this.checkAsyncSchedule(s.context)}checkAsyncSchedule(e){e.scheduleOn&&(this.workScheduled++,e.scheduleOn.then(()=>this.scheduleWork()).catch(n=>Sn(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()}}}),ms=ne.define({combine(t){return t.length?t[0]:null},enables:t=>[Sr.state,$L,ie.contentAttributes.compute([t],e=>{let n=e.facet(t);return n&&n.name?{"data-language":n.name}:{}})]});class WL{constructor(e,n=[]){this.language=e,this.support=n,this.extension=[e,n]}}const UL=ne.define(),fd=ne.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 kf(t){let e=t.facet(fd);return e.charCodeAt(0)==9?t.tabSize*e.length:e.length}function bu(t,e){let n="",r=t.tabSize,i=t.facet(fd)[0];if(i==" "){for(;e>=r;)n+=" ",e-=r;i=" "}for(let s=0;s=e?qL(t,n,e):null}class dd{constructor(e,n={}){this.state=e,this.options=n,this.unit=kf(e)}lineAt(e,n=1){let r=this.state.doc.lineAt(e),{simulateBreak:i,simulateDoubleBreak:s}=this.options;return i!=null&&i>=r.from&&i<=r.to?s&&i==e?{text:"",from:e}:(n<0?i-1&&(s+=o-this.countColumn(r,r.search(/\S|$/))),s}countColumn(e,n=e.length){return Ll(e,this.state.tabSize,n)}lineIndent(e,n=1){let{text:r,from:i}=this.lineAt(e,n),s=this.options.overrideIndentation;if(s){let o=s(i);if(o>-1)return o}return this.countColumn(r,r.search(/\S|$/))}get simulatedBreak(){return this.options.simulateBreak||null}}const i_=new Ee;function qL(t,e,n){let r=e.resolveStack(n),i=e.resolveInner(n,-1).resolve(n,0).enterUnfinishedNodesBefore(n);if(i!=r.node){let s=[];for(let o=i;o&&!(o.fromr.node.to||o.from==r.node.from&&o.type==r.node.type);o=o.parent)s.push(o);for(let o=s.length-1;o>=0;o--)r={node:s[o],next:r}}return s_(r,t,n)}function s_(t,e,n){for(let r=t;r;r=r.next){let i=HL(r.node);if(i)return i(jO.create(e,n,r))}return 0}function jL(t){return t.pos==t.options.simulateBreak&&t.options.simulateDoubleBreak}function HL(t){let e=t.type.prop(i_);if(e)return e;let n=t.firstChild,r;if(n&&(r=n.type.prop(Ee.closedBy))){let i=t.lastChild,s=i&&r.indexOf(i.name)>-1;return o=>o_(o,!0,1,void 0,s&&!jL(o)?i.from:void 0)}return t.parent==null?VL:null}function VL(){return 0}class jO extends dd{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 jO(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(XL(r,e))break;n=this.state.doc.lineAt(r.from)}return this.lineIndent(n.from)}continue(){return s_(this.context.next,this.base,this.pos)}}function XL(t,e){for(let n=e;n;n=n.parent)if(t==n)return!0;return!1}function GL(t){let e=t.node,n=e.childAfter(e.from),r=e.lastChild;if(!n)return null;let i=t.options.simulateBreak,s=t.state.doc.lineAt(n.from),o=i==null||i<=s.from?s.to:Math.min(s.to,i);for(let l=n.to;;){let a=e.childAfter(l);if(!a||a==r)return null;if(!a.type.isSkipped){if(a.from>=o)return null;let u=/^ */.exec(s.text.slice(n.to-s.from))[0].length;return{from:n.from,to:n.to+u}}l=a.to}}function Ip({closing:t,align:e=!0,units:n=1}){return r=>o_(r,e,n,t)}function o_(t,e,n,r,i){let s=t.textAfter,o=s.match(/^\s*/)[0].length,l=r&&s.slice(o,o+r.length)==r||i==t.pos+o,a=e?GL(t):null;return a?l?t.column(a.from):t.column(a.to):t.baseIndent+(l?0:t.unit*n)}const YL=200;function KL(){return ze.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+YL)return t;let s=n.sliceString(i.from,r);if(!e.some(u=>u.test(s)))return t;let{state:o}=t,l=-1,a=[];for(let{head:u}of o.selection.ranges){let c=o.doc.lineAt(u);if(c.from==l)continue;l=c.from;let d=qO(o,c.from);if(d==null)continue;let p=/^\s*/.exec(c.text)[0],g=bu(o,d);p!=g&&a.push({from:c.from,to:c.from+p.length,insert:g})}return a.length?[t,{changes:a,sequential:!0}]:t})}const ZL=ne.define(),l_=new Ee;function AL(t){let e=t.firstChild,n=t.lastChild;return e&&e.ton)continue;if(s&&l.from=e&&u.to>n&&(s=u)}}return s}function eQ(t){let e=t.lastChild;return e&&e.to==t.to&&e.type.isError}function bf(t,e,n){for(let r of t.facet(ZL)){let i=r(t,e,n);if(i)return i}return JL(t,e,n)}function a_(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 pd=xe.define({map:a_}),Xu=xe.define({map:a_});function u_(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 io=It.define({create(){return Oe.none},update(t,e){e.isUserEvent("delete")&&e.changes.iterChangedRanges((r,i)=>t=ew(t,r,i)),t=t.map(e.changes);let n=[];for(let r of e.effects)r.is(pd)&&!tQ(t,r.value.from,r.value.to)?n.push(r.value):r.is(Xu)&&(t=t.update({filter:(i,s)=>r.value.from!=i||r.value.to!=s,filterFrom:r.value.from,filterTo:r.value.to}));if(n.length){let{preparePlaceholder:r}=e.state.facet(f_),i=n.map(s=>(r?Oe.replace({widget:new aQ(r(e.state,s))}):tw).range(s.from,s.to));t=t.update({add:i})}return e.selection&&(t=ew(t,e.selection.main.head)),t},provide:t=>ie.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{ie&&(r=!0)}),r?t.update({filterFrom:e,filterTo:n,filter:(i,s)=>i>=n||s<=e}):t}function _f(t,e,n){var r;let i=null;return(r=t.field(io,!1))===null||r===void 0||r.between(e,n,(s,o)=>{(!i||i.from>s)&&(i={from:s,to:o})}),i}function tQ(t,e,n){let r=!1;return t.between(e,e,(i,s)=>{i==e&&s==n&&(r=!0)}),r}function c_(t,e){return t.field(io,!1)?e:e.concat(xe.appendConfig.of(d_()))}const nQ=t=>{for(let e of u_(t)){let n=bf(t.state,e.from,e.to);if(n)return t.dispatch({effects:c_(t.state,[pd.of(n),h_(t,n)])}),!0}return!1},rQ=t=>{if(!t.state.field(io,!1))return!1;let e=[];for(let n of u_(t)){let r=_f(t.state,n.from,n.to);r&&e.push(Xu.of(r),h_(t,r,!1))}return e.length&&t.dispatch({effects:e}),e.length>0};function h_(t,e,n=!0){let r=t.state.doc.lineAt(e.from).number,i=t.state.doc.lineAt(e.to).number;return ie.announce.of(`${t.state.phrase(n?"Folded lines":"Unfolded lines")} ${r} ${t.state.phrase("to")} ${i}.`)}const iQ=t=>{let{state:e}=t,n=[];for(let r=0;r{let e=t.state.field(io,!1);if(!e||!e.size)return!1;let n=[];return e.between(0,t.state.doc.length,(r,i)=>{n.push(Xu.of({from:r,to:i}))}),t.dispatch({effects:n}),!0},oQ=[{key:"Ctrl-Shift-[",mac:"Cmd-Alt-[",run:nQ},{key:"Ctrl-Shift-]",mac:"Cmd-Alt-]",run:rQ},{key:"Ctrl-Alt-[",run:iQ},{key:"Ctrl-Alt-]",run:sQ}],lQ={placeholderDOM:null,preparePlaceholder:null,placeholderText:"…"},f_=ne.define({combine(t){return ei(t,lQ)}});function d_(t){return[io,hQ]}function p_(t,e){let{state:n}=t,r=n.facet(f_),i=o=>{let l=t.lineBlockAt(t.posAtDOM(o.target)),a=_f(t.state,l.from,l.to);a&&t.dispatch({effects:Xu.of(a)}),o.preventDefault()};if(r.placeholderDOM)return r.placeholderDOM(t,i,e);let s=document.createElement("span");return s.textContent=r.placeholderText,s.setAttribute("aria-label",n.phrase("folded code")),s.title=n.phrase("unfold"),s.className="cm-foldPlaceholder",s.onclick=i,s}const tw=Oe.replace({widget:new class extends ti{toDOM(t){return p_(t,null)}}});class aQ extends ti{constructor(e){super(),this.value=e}eq(e){return this.value==e.value}toDOM(e){return p_(e,this.value)}}const uQ={openText:"⌄",closedText:"›",markerDOM:null,domEventHandlers:{},foldingChanged:()=>!1};class zp extends bi{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 cQ(t={}){let e={...uQ,...t},n=new zp(e,!0),r=new zp(e,!1),i=Ot.fromClass(class{constructor(o){this.from=o.viewport.from,this.markers=this.buildMarkers(o)}update(o){(o.docChanged||o.viewportChanged||o.startState.facet(ms)!=o.state.facet(ms)||o.startState.field(io,!1)!=o.state.field(io,!1)||Qt(o.startState)!=Qt(o.state)||e.foldingChanged(o))&&(this.markers=this.buildMarkers(o.view))}buildMarkers(o){let l=new Si;for(let a of o.viewportLineBlocks){let u=_f(o.state,a.from,a.to)?r:bf(o.state,a.from,a.to)?n:null;u&&l.add(a.from,a.from,u)}return l.finish()}}),{domEventHandlers:s}=e;return[i,cL({class:"cm-foldGutter",markers(o){var l;return((l=o.plugin(i))===null||l===void 0?void 0:l.markers)||Ce.empty},initialSpacer(){return new zp(e,!1)},domEventHandlers:{...s,click:(o,l,a)=>{if(s.click&&s.click(o,l,a))return!0;let u=_f(o.state,l.from,l.to);if(u)return o.dispatch({effects:Xu.of(u)}),!0;let c=bf(o.state,l.from,l.to);return c?(o.dispatch({effects:pd.of(c)}),!0):!1}}}),d_()]}const hQ=ie.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 Gu{constructor(e,n){this.specs=e;let r;function i(l){let a=hs.newName();return(r||(r=Object.create(null)))["."+a]=l,a}const s=typeof n.all=="string"?n.all:n.all?i(n.all):void 0,o=n.scope;this.scope=o instanceof Sr?l=>l.prop(Zo)==o.data:o?l=>l==o:void 0,this.style=n_(e.map(l=>({tag:l.tag,class:l.class||i(Object.assign({},l,{tag:null}))})),{all:s}).style,this.module=r?new hs(r):null,this.themeType=n.themeType}static define(e,n){return new Gu(e,n||{})}}const e0=ne.define(),m_=ne.define({combine(t){return t.length?[t[0]]:null}});function Fp(t){let e=t.facet(e0);return e.length?e:t.facet(m_)}function g_(t,e){let n=[dQ],r;return t instanceof Gu&&(t.module&&n.push(ie.styleModule.of(t.module)),r=t.themeType),e!=null&&e.fallback?n.push(m_.of(t)):r?n.push(e0.computeN([ie.darkTheme],i=>i.facet(ie.darkTheme)==(r=="dark")?[t]:[])):n.push(e0.of(t)),n}class fQ{constructor(e){this.markCache=Object.create(null),this.tree=Qt(e.state),this.decorations=this.buildDeco(e,Fp(e.state)),this.decoratedTo=e.viewport.to}update(e){let n=Qt(e.state),r=Fp(e.state),i=r!=Fp(e.startState),{viewport:s}=e.view,o=e.changes.mapPos(this.decoratedTo,1);n.length=s.to?(this.decorations=this.decorations.map(e.changes),this.decoratedTo=o):(n!=this.tree||e.viewportChanged||i)&&(this.tree=n,this.decorations=this.buildDeco(e.view,r),this.decoratedTo=s.to)}buildDeco(e,n){if(!n||!this.tree.length)return Oe.none;let r=new Si;for(let{from:i,to:s}of e.visibleRanges)LL(this.tree,n,(o,l,a)=>{r.add(o,l,this.markCache[a]||(this.markCache[a]=Oe.mark({class:a})))},i,s);return r.finish()}}const dQ=ws.high(Ot.fromClass(fQ,{decorations:t=>t.decorations})),pQ=Gu.define([{tag:F.meta,color:"#404740"},{tag:F.link,textDecoration:"underline"},{tag:F.heading,textDecoration:"underline",fontWeight:"bold"},{tag:F.emphasis,fontStyle:"italic"},{tag:F.strong,fontWeight:"bold"},{tag:F.strikethrough,textDecoration:"line-through"},{tag:F.keyword,color:"#708"},{tag:[F.atom,F.bool,F.url,F.contentSeparator,F.labelName],color:"#219"},{tag:[F.literal,F.inserted],color:"#164"},{tag:[F.string,F.deleted],color:"#a11"},{tag:[F.regexp,F.escape,F.special(F.string)],color:"#e40"},{tag:F.definition(F.variableName),color:"#00f"},{tag:F.local(F.variableName),color:"#30a"},{tag:[F.typeName,F.namespace],color:"#085"},{tag:F.className,color:"#167"},{tag:[F.special(F.variableName),F.macroName],color:"#256"},{tag:F.definition(F.propertyName),color:"#00c"},{tag:F.comment,color:"#940"},{tag:F.invalid,color:"#f00"}]),mQ=ie.baseTheme({"&.cm-focused .cm-matchingBracket":{backgroundColor:"#328c8252"},"&.cm-focused .cm-nonmatchingBracket":{backgroundColor:"#bb555544"}}),O_=1e4,y_="()[]{}",v_=ne.define({combine(t){return ei(t,{afterCursor:!0,brackets:y_,maxScanDistance:O_,renderMatch:yQ})}}),gQ=Oe.mark({class:"cm-matchingBracket"}),OQ=Oe.mark({class:"cm-nonmatchingBracket"});function yQ(t){let e=[],n=t.matched?gQ:OQ;return e.push(n.range(t.start.from,t.start.to)),t.end&&e.push(n.range(t.end.from,t.end.to)),e}function nw(t){let e=[],n=t.facet(v_);for(let r of t.selection.ranges){if(!r.empty)continue;let i=Xr(t,r.head,-1,n)||r.head>0&&Xr(t,r.head-1,1,n)||n.afterCursor&&(Xr(t,r.head,1,n)||r.headt.decorations}),wQ=[vQ,mQ];function xQ(t={}){return[v_.of(t),wQ]}const SQ=new Ee;function t0(t,e,n){let r=t.prop(e<0?Ee.openedBy:Ee.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 n0(t){let e=t.type.prop(SQ);return e?e(t.node):t}function Xr(t,e,n,r={}){let i=r.maxScanDistance||O_,s=r.brackets||y_,o=Qt(t),l=o.resolveInner(e,n);for(let a=l;a;a=a.parent){let u=t0(a.type,n,s);if(u&&a.from0?e>=c.from&&ec.from&&e<=c.to))return kQ(t,e,n,a,c,u,s)}}return bQ(t,e,n,o,l.type,i,s)}function kQ(t,e,n,r,i,s,o){let l=r.parent,a={from:i.from,to:i.to},u=0,c=l==null?void 0:l.cursor();if(c&&(n<0?c.childBefore(r.from):c.childAfter(r.to)))do if(n<0?c.to<=r.from:c.from>=r.to){if(u==0&&s.indexOf(c.type.name)>-1&&c.from0)return null;let u={from:n<0?e-1:e,to:n>0?e+1:e},c=t.doc.iterRange(e,n>0?t.doc.length:0),d=0;for(let p=0;!c.next().done&&p<=s;){let g=c.value;n<0&&(p+=g.length);let y=e+p*n;for(let w=n>0?0:g.length-1,_=n>0?g.length:-1;w!=_;w+=n){let x=o.indexOf(g[w]);if(!(x<0||r.resolveInner(y+w,1).type!=i))if(x%2==0==n>0)d++;else{if(d==1)return{start:u,end:{from:y+w,to:y+w+1},matched:x>>1==a>>1};d--}}n>0&&(p+=g.length)}return c.done?{start:u,matched:!1}:null}const _Q=Object.create(null),rw=[Pn.none],iw=[],sw=Object.create(null),EQ=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"]])EQ[t]=CQ(_Q,e);function Np(t,e){iw.indexOf(t)>-1||(iw.push(t),console.warn(e))}function CQ(t,e){let n=[];for(let l of e.split(" ")){let a=[];for(let u of l.split(".")){let c=t[u]||F[u];c?typeof c=="function"?a.length?a=a.map(c):Np(u,`Modifier ${u} used at start of tag`):a.length?Np(u,`Tag ${u} used as modifier`):a=Array.isArray(c)?c:[c]:Np(u,`Unknown highlighting tag ${u}`)}for(let u of a)n.push(u)}if(!n.length)return 0;let r=e.replace(/ /g,"_"),i=r+" "+n.map(l=>l.id),s=sw[i];if(s)return s.id;let o=sw[i]=Pn.define({id:rw.length,name:r,props:[e_({[r]:n})]});return rw.push(o),o.id}Ve.RTL,Ve.LTR;class w_{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=Qt(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),s=i.search(S_(e,!1));return s<0?null:{from:r+s,to:this.pos,text:i.slice(s)}}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 ow(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 TQ(t){let e=Object.create(null),n=Object.create(null);for(let{label:i}of t){e[i[0]]=!0;for(let s=1;stypeof i=="string"?{label:i}:i),[n,r]=e.every(i=>/^\w+$/.test(i.label))?[/\w*$/,/\w+$/]:TQ(e);return i=>{let s=i.matchBefore(r);return s||i.explicit?{from:s?s.from:i.pos,options:e,validFor:n}:null}}function PQ(t,e){return n=>{for(let r=Qt(n.state).resolveInner(n.pos,-1);r;r=r.parent){if(t.indexOf(r.name)>-1)return null;if(r.type.isTop)break}return e(n)}}class lw{constructor(e,n,r,i){this.completion=e,this.source=n,this.match=r,this.score=i}}function Gs(t){return t.selection.main.from}function S_(t,e){var n;let{source:r}=t,i=e&&r[0]!="^",s=r[r.length-1]!="$";return!i&&!s?t:new RegExp(`${i?"^":""}(?:${r})${s?"$":""}`,(n=t.flags)!==null&&n!==void 0?n:t.ignoreCase?"i":"")}const HO=Ei.define();function MQ(t,e,n,r){let{main:i}=t.selection,s=n-i.from,o=r-i.from;return{...t.changeByRange(l=>{if(l!=i&&n!=r&&t.sliceDoc(l.from+s,l.from+o)!=t.sliceDoc(n,r))return{range:l};let a=t.toText(e);return{changes:{from:l.from+s,to:r==i.from?l.to:l.from+o,insert:a},range:U.cursor(l.from+s+a.length)}}),scrollIntoView:!0,userEvent:"input.complete"}}const aw=new WeakMap;function DQ(t){if(!Array.isArray(t))return t;let e=aw.get(t);return e||aw.set(t,e=x_(t)),e}const Ef=xe.define(),_u=xe.define();class RQ{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=48&&P<=57||P>=97&&P<=122?2:P>=65&&P<=90?1:0:(D=xO(P))!=D.toLowerCase()?1:D!=D.toUpperCase()?2:0;(!S||M==1&&_||T==0&&M!=0)&&(n[d]==P||r[d]==P&&(p=!0)?o[d++]=S:o.length&&(x=!1)),T=M,S+=Ur(P)}return d==a&&o[0]==0&&x?this.result(-100+(p?-200:0),o,e):g==a&&y==0?this.ret(-200-e.length+(w==e.length?0:-100),[0,w]):l>-1?this.ret(-700-e.length,[l,l+this.pattern.length]):g==a?this.ret(-900-e.length,[y,w]):d==a?this.result(-100+(p?-200:0)+-700+(x?0:-1100),o,e):n.length==2?null:this.result((i[0]?-700:0)+-200+-1100,i,e)}result(e,n,r){let i=[],s=0;for(let o of n){let l=o+(this.astral?Ur(yn(r,o)):1);s&&i[s-1]==o?i[s-1]=l:(i[s++]=o,i[s++]=l)}return this.ret(e-r.length,i)}}class BQ{constructor(e){this.pattern=e,this.matched=[],this.score=0,this.folded=e.toLowerCase()}match(e){if(e.length!1,activateOnTypingDelay:100,selectOnOpen:!0,override:null,closeOnBlur:!0,maxRenderedOptions:100,defaultKeymap:!0,tooltipClass:()=>"",optionClass:()=>"",aboveCursor:!1,icons:!0,addToOptions:[],positionInfo:LQ,filterStrict:!1,compareCompletions:(e,n)=>(e.sortText||e.label).localeCompare(n.sortText||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=>uw(e(r),n(r)),optionClass:(e,n)=>r=>uw(e(r),n(r)),addToOptions:(e,n)=>e.concat(n),filterStrict:(e,n)=>e||n})}});function uw(t,e){return t?e?t+" "+e:t:e}function LQ(t,e,n,r,i,s){let o=t.textDirection==Ve.RTL,l=o,a=!1,u="top",c,d,p=e.left-i.left,g=i.right-e.right,y=r.right-r.left,w=r.bottom-r.top;if(l&&p=w||S>e.top?c=n.bottom-e.top:(u="bottom",c=e.bottom-n.top)}let _=(e.bottom-e.top)/s.offsetHeight,x=(e.right-e.left)/s.offsetWidth;return{style:`${u}: ${c/_}px; max-width: ${d/x}px`,class:"cm-completionInfo-"+(a?o?"left-narrow":"right-narrow":l?"left":"right")}}const VO=xe.define();function QQ(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,s){let o=document.createElement("span");o.className="cm-completionLabel";let l=n.displayLabel||n.label,a=0;for(let u=0;ua&&o.appendChild(document.createTextNode(l.slice(a,c)));let p=o.appendChild(document.createElement("span"));p.appendChild(document.createTextNode(l.slice(c,d))),p.className="cm-completionMatchedText",a=d}return an.position-r.position).map(n=>n.render)}function $p(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.ceil((t-e)/n);return{from:t-r*n,to:t-(r-1)*n}}class IQ{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:a=>this.placeInfo(a),key:this},this.space=null,this.currentClass="";let i=e.state.field(n),{options:s,selected:o}=i.open,l=e.state.facet(Rt);this.optionContent=QQ(l),this.optionClass=l.optionClass,this.tooltipClass=l.tooltipClass,this.range=$p(s.length,o,l.maxRenderedOptions),this.dom=document.createElement("div"),this.dom.className="cm-tooltip-autocomplete",this.updateTooltipClass(e.state),this.dom.addEventListener("mousedown",a=>{let{options:u}=e.state.field(n).open;for(let c=a.target,d;c&&c!=this.dom;c=c.parentNode)if(c.nodeName=="LI"&&(d=/-(\d+)$/.exec(c.id))&&+d[1]this.list.lastChild.getBoundingClientRect().bottom?this.range.to:null;c!=null&&(e.dispatch({effects:VO.of(c)}),a.preventDefault())}}),this.dom.addEventListener("focusout",a=>{let u=e.state.field(this.stateField,!1);u&&u.tooltip&&e.state.facet(Rt).closeOnBlur&&a.relatedTarget!=e.contentDOM&&e.dispatch({effects:_u.of(null)})}),this.showOptions(s,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:s,selected:o,disabled:l}=r.open;(!i.open||i.open.options!=s)&&(this.range=$p(s.length,o,e.state.facet(Rt).maxRenderedOptions),this.showOptions(s,r.id)),this.updateSel(),l!=((n=i.open)===null||n===void 0?void 0:n.disabled)&&this.dom.classList.toggle("cm-tooltip-autocomplete-disabled",!!l)}}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;(n.selected>-1&&n.selected=this.range.to)&&(this.range=$p(n.options.length,n.selected,this.view.state.facet(Rt).maxRenderedOptions),this.showOptions(n.options,e.id));let r=this.updateSelectedOption(n.selected);if(r){this.destroyInfo();let{completion:i}=n.options[n.selected],{info:s}=i;if(!s)return;let o=typeof s=="string"?document.createTextNode(s):s(i);if(!o)return;"then"in o?o.then(l=>{l&&this.view.state.field(this.stateField,!1)==e&&this.addInfoPane(l,i)}).catch(l=>Sn(this.view.state,l,"completion info")):(this.addInfoPane(o,i),r.setAttribute("aria-describedby",this.info.id))}}addInfoPane(e,n){this.destroyInfo();let r=this.info=document.createElement("div");if(r.className="cm-tooltip cm-completionInfo",r.id="cm-completionInfo-"+Math.floor(Math.random()*65535).toString(16),e.nodeType!=null)r.appendChild(e),this.infoDestroy=null;else{let{dom:i,destroy:s}=e;r.appendChild(i),this.infoDestroy=s||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"),r.removeAttribute("aria-describedby"));return n&&FQ(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(),s=this.space;if(!s){let o=this.dom.ownerDocument.documentElement;s={left:0,top:0,right:o.clientWidth,bottom:o.clientHeight}}return i.top>Math.min(s.bottom,n.bottom)-10||i.bottom{o.target==i&&o.preventDefault()});let s=null;for(let o=r.from;or.from||r.from==0))if(s=p,typeof u!="string"&&u.header)i.appendChild(u.header(u));else{let g=i.appendChild(document.createElement("completion-section"));g.textContent=p}}const c=i.appendChild(document.createElement("li"));c.id=n+"-"+o,c.setAttribute("role","option");let d=this.optionClass(l);d&&(c.className=d);for(let p of this.optionContent){let g=p(l,this.view.state,this.view,a);g&&c.appendChild(g)}}return r.from&&i.classList.add("cm-completionListIncompleteTop"),r.tonew IQ(n,t,e)}function FQ(t,e){let n=t.getBoundingClientRect(),r=e.getBoundingClientRect(),i=n.height/t.offsetHeight;r.topn.bottom&&(t.scrollTop+=(r.bottom-n.bottom)/i)}function cw(t){return(t.boost||0)*100+(t.apply?10:0)+(t.info?5:0)+(t.type?1:0)}function NQ(t,e){let n=[],r=null,i=null,s=c=>{n.push(c);let{section:d}=c.completion;if(d){r||(r=[]);let p=typeof d=="string"?d:d.name;r.some(g=>g.name==p)||r.push(typeof d=="string"?{name:p}:d)}},o=e.facet(Rt);for(let c of t)if(c.hasResult()){let d=c.result.getMatch;if(c.result.filter===!1)for(let p of c.result.options)s(new lw(p,c.source,d?d(p):[],1e9-n.length));else{let p=e.sliceDoc(c.from,c.to),g,y=o.filterStrict?new BQ(p):new RQ(p);for(let w of c.result.options)if(g=y.match(w.label)){let _=w.displayLabel?d?d(w,g.matched):[]:g.matched,x=g.score+(w.boost||0);if(s(new lw(w,c.source,_,x)),typeof w.section=="object"&&w.section.rank==="dynamic"){let{name:S}=w.section;i||(i=Object.create(null)),i[S]=Math.max(x,i[S]||-1e9)}}}}if(r){let c=Object.create(null),d=0,p=(g,y)=>(g.rank==="dynamic"&&y.rank==="dynamic"?i[y.name]-i[g.name]:0)||(typeof g.rank=="number"?g.rank:1e9)-(typeof y.rank=="number"?y.rank:1e9)||(g.namep.score-d.score||u(d.completion,p.completion))){let d=c.completion;!a||a.label!=d.label||a.detail!=d.detail||a.type!=null&&d.type!=null&&a.type!=d.type||a.apply!=d.apply||a.boost!=d.boost?l.push(c):cw(c.completion)>cw(a)&&(l[l.length-1]=c),a=c.completion}return l}class Ao{constructor(e,n,r,i,s,o){this.options=e,this.attrs=n,this.tooltip=r,this.timestamp=i,this.selected=s,this.disabled=o}setSelected(e,n){return e==this.selected||e>=this.options.length?this:new Ao(this.options,hw(n,e),this.tooltip,this.timestamp,e,this.disabled)}static build(e,n,r,i,s,o){if(i&&!o&&e.some(u=>u.isPending))return i.setDisabled();let l=NQ(e,n);if(!l.length)return i&&e.some(u=>u.isPending)?i.setDisabled():null;let a=n.facet(Rt).selectOnOpen?0:-1;if(i&&i.selected!=a&&i.selected!=-1){let u=i.options[i.selected].completion;for(let c=0;cc.hasResult()?Math.min(u,c.from):u,1e8),create:HQ,above:s.aboveCursor},i?i.timestamp:Date.now(),a,!1)}map(e){return new Ao(this.options,this.attrs,{...this.tooltip,pos:e.mapPos(this.tooltip.pos)},this.timestamp,this.selected,this.disabled)}setDisabled(){return new Ao(this.options,this.attrs,this.tooltip,this.timestamp,this.selected,!0)}}class Cf{constructor(e,n,r){this.active=e,this.id=n,this.open=r}static start(){return new Cf(qQ,"cm-ac-"+Math.floor(Math.random()*2e6).toString(36),null)}update(e){let{state:n}=e,r=n.facet(Rt),s=(r.override||n.languageDataAt("autocomplete",Gs(n)).map(DQ)).map(a=>(this.active.find(c=>c.source==a)||new ir(a,this.active.some(c=>c.state!=0)?1:0)).update(e,r));s.length==this.active.length&&s.every((a,u)=>a==this.active[u])&&(s=this.active);let o=this.open,l=e.effects.some(a=>a.is(XO));o&&e.docChanged&&(o=o.map(e.changes)),e.selection||s.some(a=>a.hasResult()&&e.changes.touchesRange(a.from,a.to))||!$Q(s,this.active)||l?o=Ao.build(s,n,this.id,o,r,l):o&&o.disabled&&!s.some(a=>a.isPending)&&(o=null),!o&&s.every(a=>!a.isPending)&&s.some(a=>a.hasResult())&&(s=s.map(a=>a.hasResult()?new ir(a.source,0):a));for(let a of e.effects)a.is(VO)&&(o=o&&o.setSelected(a.value,this.id));return s==this.active&&o==this.open?this:new Cf(s,this.id,o)}get tooltip(){return this.open?this.open.tooltip:null}get attrs(){return this.open?this.open.attrs:this.active.length?WQ:UQ}}function $Q(t,e){if(t==e)return!0;for(let n=0,r=0;;){for(;n-1&&(n["aria-activedescendant"]=t+"-"+e),n}const qQ=[];function k_(t,e){if(t.isUserEvent("input.complete")){let r=t.annotation(HO);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 ir{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=k_(e,n),i=this;(r&8||r&16&&this.touches(e))&&(i=new ir(i.source,0)),r&4&&i.state==0&&(i=new ir(this.source,1)),i=i.updateFor(e,r);for(let s of e.effects)if(s.is(Ef))i=new ir(i.source,1,s.value);else if(s.is(_u))i=new ir(i.source,0);else if(s.is(XO))for(let o of s.value)o.source==i.source&&(i=o);return i}updateFor(e,n){return this.map(e.changes)}map(e){return this}touches(e){return e.changes.touchesRange(Gs(e.state))}}class ul extends ir{constructor(e,n,r,i,s,o){super(e,3,n),this.limit=r,this.result=i,this.from=s,this.to=o}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 s=e.changes.mapPos(this.from),o=e.changes.mapPos(this.to,1),l=Gs(e.state);if(l>o||!i||n&2&&(Gs(e.startState)==this.from||ln.map(e))}}),vn=It.define({create(){return Cf.start()},update(t,e){return t.update(e)},provide:t=>[cd.from(t,e=>e.tooltip),ie.contentAttributes.from(t,e=>e.attrs)]});function GO(t,e){const n=e.completion.apply||e.completion.label;let r=t.state.field(vn).active.find(i=>i.source==e.source);return r instanceof ul?(typeof n=="string"?t.dispatch({...MQ(t.state,n,r.from,r.to),annotations:HO.of(e.completion)}):n(t,e.completion,r.from,r.to),!0):!1}const HQ=zQ(vn,GO);function Jc(t,e="option"){return n=>{let r=n.state.field(vn,!1);if(!r||!r.open||r.open.disabled||Date.now()-r.open.timestamp-1?r.open.selected+i*(t?1:-1):t?0:o-1;return l<0?l=e=="page"?0:o-1:l>=o&&(l=e=="page"?o-1:0),n.dispatch({effects:VO.of(l)}),!0}}const VQ=t=>{let e=t.state.field(vn,!1);return t.state.readOnly||!e||!e.open||e.open.selected<0||e.open.disabled||Date.now()-e.open.timestampt.state.field(vn,!1)?(t.dispatch({effects:Ef.of(!0)}),!0):!1,XQ=t=>{let e=t.state.field(vn,!1);return!e||!e.active.some(n=>n.state!=0)?!1:(t.dispatch({effects:_u.of(null)}),!0)};class GQ{constructor(e,n){this.active=e,this.context=n,this.time=Date.now(),this.updates=[],this.done=void 0}}const YQ=50,KQ=1e3,ZQ=Ot.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(vn).active)e.isPending&&this.startQuery(e)}update(t){let e=t.state.field(vn),n=t.state.facet(Rt);if(!t.selectionSet&&!t.docChanged&&t.startState.field(vn)==e)return;let r=t.transactions.some(s=>{let o=k_(s,n);return o&8||(s.selection||s.docChanged)&&!(o&3)});for(let s=0;sYQ&&Date.now()-o.time>KQ){for(let l of o.context.abortListeners)try{l()}catch(a){Sn(this.view.state,a)}o.context.abortListeners=null,this.running.splice(s--,1)}else o.updates.push(...t.transactions)}this.debounceUpdate>-1&&clearTimeout(this.debounceUpdate),t.transactions.some(s=>s.effects.some(o=>o.is(Ef)))&&(this.pendingStart=!0);let i=this.pendingStart?50:n.activateOnTypingDelay;if(this.debounceUpdate=e.active.some(s=>s.isPending&&!this.running.some(o=>o.active.source==s.source))?setTimeout(()=>this.startUpdate(),i):-1,this.composing!=0)for(let s of t.transactions)s.isUserEvent("input.type")?this.composing=2:this.composing==2&&s.selection&&(this.composing=3)}startUpdate(){this.debounceUpdate=-1,this.pendingStart=!1;let{state:t}=this.view,e=t.field(vn);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(Rt).updateSyncTime))}startQuery(t){let{state:e}=this.view,n=Gs(e),r=new w_(e,n,t.explicit,this.view),i=new GQ(t,r);this.running.push(i),Promise.resolve(t.source(r)).then(s=>{i.context.aborted||(i.done=s||null,this.scheduleAccept())},s=>{this.view.dispatch({effects:_u.of(null)}),Sn(this.view.state,s)})}scheduleAccept(){this.running.every(t=>t.done!==void 0)?this.accept():this.debounceAccept<0&&(this.debounceAccept=setTimeout(()=>this.accept(),this.view.state.facet(Rt).updateSyncTime))}accept(){var t;this.debounceAccept>-1&&clearTimeout(this.debounceAccept),this.debounceAccept=-1;let e=[],n=this.view.state.facet(Rt),r=this.view.state.field(vn);for(let i=0;il.source==s.active.source);if(o&&o.isPending)if(s.done==null){let l=new ir(s.active.source,0);for(let a of s.updates)l=l.update(a,n);l.isPending||e.push(l)}else this.startQuery(o)}(e.length||r.open&&r.open.disabled)&&this.view.dispatch({effects:XO.of(e)})}},{eventHandlers:{blur(t){let e=this.view.state.field(vn,!1);if(e&&e.tooltip&&this.view.state.facet(Rt).closeOnBlur){let n=e.open&&q2(this.view,e.open.tooltip);(!n||!n.dom.contains(t.relatedTarget))&&setTimeout(()=>this.view.dispatch({effects:_u.of(null)}),10)}},compositionstart(){this.composing=1},compositionend(){this.composing==3&&setTimeout(()=>this.view.dispatch({effects:Ef.of(!1)}),20),this.composing=0}}}),AQ=typeof navigator=="object"&&/Win/.test(navigator.platform),JQ=ws.highest(ie.domEventHandlers({keydown(t,e){let n=e.state.field(vn,!1);if(!n||!n.open||n.open.disabled||n.open.selected<0||t.key.length>1||t.ctrlKey&&!(AQ&&t.altKey)||t.metaKey)return!1;let r=n.open.options[n.open.selected],i=n.active.find(o=>o.source==r.source),s=r.completion.commitCharacters||i.result.commitCharacters;return s&&s.indexOf(t.key)>-1&&GO(e,r),!1}})),b_=ie.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",cursor:"pointer"},".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"}}});class eI{constructor(e,n,r,i){this.field=e,this.line=n,this.from=r,this.to=i}}class YO{constructor(e,n,r){this.field=e,this.from=n,this.to=r}map(e){let n=e.mapPos(this.from,-1,Ut.TrackDel),r=e.mapPos(this.to,1,Ut.TrackDel);return n==null||r==null?null:new YO(this.field,n,r)}}class KO{constructor(e,n){this.lines=e,this.fieldPositions=n}instantiate(e,n){let r=[],i=[n],s=e.doc.lineAt(n),o=/^\s*/.exec(s.text)[0];for(let a of this.lines){if(r.length){let u=o,c=/^\t*/.exec(a)[0].length;for(let d=0;dnew YO(a.field,i[a.line]+a.from,i[a.line]+a.to));return{text:r,ranges:l}}static parse(e){let n=[],r=[],i=[],s;for(let o of e.split(/\r\n?|\n/)){for(;s=/[#$]\{(?:(\d+)(?::([^{}]*))?|((?:\\[{}]|[^{}])*))\}/.exec(o);){let l=s[1]?+s[1]:null,a=s[2]||s[3]||"",u=-1;l===0&&(l=1e9);let c=a.replace(/\\[{}]/g,d=>d[1]);for(let d=0;d=u&&p.field++}for(let d of i)if(d.line==r.length&&d.from>s.index){let p=s[2]?3+(s[1]||"").length:2;d.from-=p,d.to-=p}i.push(new eI(u,r.length,s.index,s.index+c.length)),o=o.slice(0,s.index)+a+o.slice(s.index+s[0].length)}o=o.replace(/\\([{}])/g,(l,a,u)=>{for(let c of i)c.line==r.length&&c.from>u&&(c.from--,c.to--);return a}),r.push(o)}return new KO(r,i)}}let tI=Oe.widget({widget:new class extends ti{toDOM(){let t=document.createElement("span");return t.className="cm-snippetFieldPosition",t}ignoreEvent(){return!1}}}),nI=Oe.mark({class:"cm-snippetField"});class Ql{constructor(e,n){this.ranges=e,this.active=n,this.deco=Oe.set(e.map(r=>(r.from==r.to?tI:nI).range(r.from,r.to)),!0)}map(e){let n=[];for(let r of this.ranges){let i=r.map(e);if(!i)return null;n.push(i)}return new Ql(n,this.active)}selectionInsideField(e){return e.ranges.every(n=>this.ranges.some(r=>r.field==this.active&&r.from<=n.from&&r.to>=n.to))}}const Yu=xe.define({map(t,e){return t&&t.map(e)}}),rI=xe.define(),Eu=It.define({create(){return null},update(t,e){for(let n of e.effects){if(n.is(Yu))return n.value;if(n.is(rI)&&t)return new Ql(t.ranges,n.value)}return t&&e.docChanged&&(t=t.map(e.changes)),t&&e.selection&&!t.selectionInsideField(e.selection)&&(t=null),t},provide:t=>ie.decorations.from(t,e=>e?e.deco:Oe.none)});function ZO(t,e){return U.create(t.filter(n=>n.field==e).map(n=>U.range(n.from,n.to)))}function iI(t){let e=KO.parse(t);return(n,r,i,s)=>{let{text:o,ranges:l}=e.instantiate(n.state,i),{main:a}=n.state.selection,u={changes:{from:i,to:s==a.from?a.to:s,insert:Re.of(o)},scrollIntoView:!0,annotations:r?[HO.of(r),wt.userEvent.of("input.complete")]:void 0};if(l.length&&(u.selection=ZO(l,0)),l.some(c=>c.field>0)){let c=new Ql(l,0),d=u.effects=[Yu.of(c)];n.state.field(Eu,!1)===void 0&&d.push(xe.appendConfig.of([Eu,uI,cI,b_]))}n.dispatch(n.state.update(u))}}function __(t){return({state:e,dispatch:n})=>{let r=e.field(Eu,!1);if(!r||t<0&&r.active==0)return!1;let i=r.active+t,s=t>0&&!r.ranges.some(o=>o.field==i+t);return n(e.update({selection:ZO(r.ranges,i),effects:Yu.of(s?null:new Ql(r.ranges,i)),scrollIntoView:!0})),!0}}const sI=({state:t,dispatch:e})=>t.field(Eu,!1)?(e(t.update({effects:Yu.of(null)})),!0):!1,oI=__(1),lI=__(-1),aI=[{key:"Tab",run:oI,shift:lI},{key:"Escape",run:sI}],fw=ne.define({combine(t){return t.length?t[0]:aI}}),uI=ws.highest(_l.compute([fw],t=>t.facet(fw)));function ri(t,e){return{...e,apply:iI(t)}}const cI=ie.domEventHandlers({mousedown(t,e){let n=e.state.field(Eu,!1),r;if(!n||(r=e.posAtCoords({x:t.clientX,y:t.clientY}))==null)return!1;let i=n.ranges.find(s=>s.from<=r&&s.to>=r);return!i||i.field==n.active?!1:(e.dispatch({selection:ZO(n.ranges,i.field),effects:Yu.of(n.ranges.some(s=>s.field>i.field)?new Ql(n.ranges,i.field):null),scrollIntoView:!0}),!0)}}),Cu={brackets:["(","[","{","'",'"'],before:")]}:;>",stringPrefixes:[]},$s=xe.define({map(t,e){let n=e.mapPos(t,-1,Ut.TrackAfter);return n??void 0}}),AO=new class extends cs{};AO.startSide=1;AO.endSide=-1;const E_=It.define({create(){return Ce.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($s)&&(t=t.update({add:[AO.range(n.value,n.value+1)]}));return t}});function hI(){return[dI,E_]}const Up="()[]{}<>«»»«[]{}";function C_(t){for(let e=0;e{if((fI?t.composing:t.compositionStarted)||t.state.readOnly)return!1;let i=t.state.selection.main;if(r.length>2||r.length==2&&Ur(yn(r,0))==1||e!=i.from||n!=i.to)return!1;let s=gI(t.state,r);return s?(t.dispatch(s),!0):!1}),pI=({state:t,dispatch:e})=>{if(t.readOnly)return!1;let r=T_(t,t.selection.main.head).brackets||Cu.brackets,i=null,s=t.changeByRange(o=>{if(o.empty){let l=OI(t.doc,o.head);for(let a of r)if(a==l&&md(t.doc,o.head)==C_(yn(a,0)))return{changes:{from:o.head-a.length,to:o.head+a.length},range:U.cursor(o.head-a.length)}}return{range:i=o}});return i||e(t.update(s,{scrollIntoView:!0,userEvent:"delete.backward"})),!i},mI=[{key:"Backspace",run:pI}];function gI(t,e){let n=T_(t,t.selection.main.head),r=n.brackets||Cu.brackets;for(let i of r){let s=C_(yn(i,0));if(e==i)return s==i?wI(t,i,r.indexOf(i+i+i)>-1,n):yI(t,i,s,n.before||Cu.before);if(e==s&&P_(t,t.selection.main.from))return vI(t,i,s)}return null}function P_(t,e){let n=!1;return t.field(E_).between(0,t.doc.length,r=>{r==e&&(n=!0)}),n}function md(t,e){let n=t.sliceString(e,e+2);return n.slice(0,Ur(yn(n,0)))}function OI(t,e){let n=t.sliceString(e-2,e);return Ur(yn(n,0))==n.length?n:n.slice(1)}function yI(t,e,n,r){let i=null,s=t.changeByRange(o=>{if(!o.empty)return{changes:[{insert:e,from:o.from},{insert:n,from:o.to}],effects:$s.of(o.to+e.length),range:U.range(o.anchor+e.length,o.head+e.length)};let l=md(t.doc,o.head);return!l||/\s/.test(l)||r.indexOf(l)>-1?{changes:{insert:e+n,from:o.head},effects:$s.of(o.head+e.length),range:U.cursor(o.head+e.length)}:{range:i=o}});return i?null:t.update(s,{scrollIntoView:!0,userEvent:"input.type"})}function vI(t,e,n){let r=null,i=t.changeByRange(s=>s.empty&&md(t.doc,s.head)==n?{changes:{from:s.head,to:s.head+n.length,insert:n},range:U.cursor(s.head+n.length)}:r={range:s});return r?null:t.update(i,{scrollIntoView:!0,userEvent:"input.type"})}function wI(t,e,n,r){let i=r.stringPrefixes||Cu.stringPrefixes,s=null,o=t.changeByRange(l=>{if(!l.empty)return{changes:[{insert:e,from:l.from},{insert:e,from:l.to}],effects:$s.of(l.to+e.length),range:U.range(l.anchor+e.length,l.head+e.length)};let a=l.head,u=md(t.doc,a),c;if(u==e){if(dw(t,a))return{changes:{insert:e+e,from:a},effects:$s.of(a+e.length),range:U.cursor(a+e.length)};if(P_(t,a)){let p=n&&t.sliceDoc(a,a+e.length*3)==e+e+e?e+e+e:e;return{changes:{from:a,to:a+p.length,insert:p},range:U.cursor(a+p.length)}}}else{if(n&&t.sliceDoc(a-2*e.length,a)==e+e&&(c=pw(t,a-2*e.length,i))>-1&&dw(t,c))return{changes:{insert:e+e+e+e,from:a},effects:$s.of(a+e.length),range:U.cursor(a+e.length)};if(t.charCategorizer(a)(u)!=rt.Word&&pw(t,a,i)>-1&&!xI(t,a,e,i))return{changes:{insert:e+e,from:a},effects:$s.of(a+e.length),range:U.cursor(a+e.length)}}return{range:s=l}});return s?null:t.update(o,{scrollIntoView:!0,userEvent:"input.type"})}function dw(t,e){let n=Qt(t).resolveInner(e+1);return n.parent&&n.from==e}function xI(t,e,n,r){let i=Qt(t).resolveInner(e,-1),s=r.reduce((o,l)=>Math.max(o,l.length),0);for(let o=0;o<5;o++){let l=t.sliceDoc(i.from,Math.min(i.to,i.from+n.length+s)),a=l.indexOf(n);if(!a||a>-1&&r.indexOf(l.slice(0,a))>-1){let c=i.firstChild;for(;c&&c.from==i.from&&c.to-c.from>n.length+a;){if(t.sliceDoc(c.to-n.length,c.to)==n)return!1;c=c.firstChild}return!0}let u=i.to==e&&i.parent;if(!u)break;i=u}return!1}function pw(t,e,n){let r=t.charCategorizer(e);if(r(t.sliceDoc(e-1,e))!=rt.Word)return e;for(let i of n){let s=e-i.length;if(t.sliceDoc(s,e)==i&&r(t.sliceDoc(s-1,s))!=rt.Word)return s}return-1}function M_(t={}){return[JQ,vn,Rt.of(t),ZQ,SI,b_]}const D_=[{key:"Ctrl-Space",run:Wp},{mac:"Alt-`",run:Wp},{mac:"Alt-i",run:Wp},{key:"Escape",run:XQ},{key:"ArrowDown",run:Jc(!0)},{key:"ArrowUp",run:Jc(!1)},{key:"PageDown",run:Jc(!0,"page")},{key:"PageUp",run:Jc(!1,"page")},{key:"Enter",run:VQ}],SI=ws.highest(_l.computeN([Rt],t=>t.facet(Rt).defaultKeymap?[D_]:[]));function mw({containerRef:t,onChange:e,ariaLabel:n,valueFromPointer:r,resetValue:i}){const[s,o]=ae.useState(!1),l=ae.useRef(!1);function a(d){l.current=!0,o(!0),d.currentTarget.setPointerCapture(d.pointerId)}function u(d){var g;if(!l.current)return;const p=(g=t.current)==null?void 0:g.getBoundingClientRect();e(p?r(d.clientX,p):i)}function c(d){l.current&&(l.current=!1,o(!1),d.currentTarget.hasPointerCapture(d.pointerId)&&d.currentTarget.releasePointerCapture(d.pointerId))}return W.jsx("div",{className:`split-handle${s?" is-active":""}`,role:"separator","aria-orientation":"vertical","aria-label":n,onPointerDown:a,onPointerMove:u,onPointerUp:c,onPointerCancel:c,onDoubleClick:()=>e(i)})}const kI=t=>{let{state:e}=t,n=e.doc.lineAt(e.selection.main.from),r=e1(t.state,n.from);return r.line?bI(t):r.block?EI(t):!1};function JO(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 bI=JO(PI,0),_I=JO(R_,0),EI=JO((t,e)=>R_(t,e,TI(e)),0);function e1(t,e){let n=t.languageDataAt("commentTokens",e,1);return n.length?n[0]:{}}const ga=50;function CI(t,{open:e,close:n},r,i){let s=t.sliceDoc(r-ga,r),o=t.sliceDoc(i,i+ga),l=/\s*$/.exec(s)[0].length,a=/^\s*/.exec(o)[0].length,u=s.length-l;if(s.slice(u-e.length,u)==e&&o.slice(a,a+n.length)==n)return{open:{pos:r-l,margin:l&&1},close:{pos:i+a,margin:a&&1}};let c,d;i-r<=2*ga?c=d=t.sliceDoc(r,i):(c=t.sliceDoc(r,r+ga),d=t.sliceDoc(i-ga,i));let p=/^\s*/.exec(c)[0].length,g=/\s*$/.exec(d)[0].length,y=d.length-g-n.length;return c.slice(p,p+e.length)==e&&d.slice(y,y+n.length)==n?{open:{pos:r+p+e.length,margin:/\s/.test(c.charAt(p+e.length))?1:0},close:{pos:i-g-n.length,margin:/\s/.test(d.charAt(y-1))?1:0}}:null}function TI(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 s=e.length-1;s>=0&&e[s].to>r.from?e[s].to=i.to:e.push({from:r.from+/^\s*/.exec(r.text)[0].length,to:i.to})}return e}function R_(t,e,n=e.selection.ranges){let r=n.map(s=>e1(e,s.from).block);if(!r.every(s=>s))return null;let i=n.map((s,o)=>CI(e,r[o],s.from,s.to));if(t!=2&&!i.every(s=>s))return{changes:e.changes(n.map((s,o)=>i[o]?[]:[{from:s.from,insert:r[o].open+" "},{from:s.to,insert:" "+r[o].close}]))};if(t!=1&&i.some(s=>s)){let s=[];for(let o=0,l;oi&&(s==o||o>d.from)){i=d.from;let p=/^\s*/.exec(d.text)[0].length,g=p==d.length,y=d.text.slice(p,p+u.length)==u?p:-1;ps.comment<0&&(!s.empty||s.single))){let s=[];for(let{line:l,token:a,indent:u,empty:c,single:d}of r)(d||!c)&&s.push({from:l.from+u,insert:a+" "});let o=e.changes(s);return{changes:o,selection:e.selection.map(o,1)}}else if(t!=1&&r.some(s=>s.comment>=0)){let s=[];for(let{line:o,comment:l,token:a}of r)if(l>=0){let u=o.from+l,c=u+a.length;o.text[c-o.from]==" "&&c++,s.push({from:u,to:c})}return{changes:s}}return null}const r0=Ei.define(),MI=Ei.define(),DI=ne.define(),B_=ne.define({combine(t){return ei(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)})}}),L_=It.define({create(){return Gr.empty},update(t,e){let n=e.state.facet(B_),r=e.annotation(r0);if(r){let a=kn.fromTransaction(e,r.selection),u=r.side,c=u==0?t.undone:t.done;return a?c=Tf(c,c.length,n.minDepth,a):c=z_(c,e.startState.selection),new Gr(u==0?r.rest:c,u==0?c:r.rest)}let i=e.annotation(MI);if((i=="full"||i=="before")&&(t=t.isolate()),e.annotation(wt.addToHistory)===!1)return e.changes.empty?t:t.addMapping(e.changes.desc);let s=kn.fromTransaction(e),o=e.annotation(wt.time),l=e.annotation(wt.userEvent);return s?t=t.addChanges(s,o,l,n,e):e.selection&&(t=t.addSelection(e.startState.selection,o,l,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 Gr(t.done.map(kn.fromJSON),t.undone.map(kn.fromJSON))}});function RI(t={}){return[L_,B_.of(t),ie.domEventHandlers({beforeinput(e,n){let r=e.inputType=="historyUndo"?Q_:e.inputType=="historyRedo"?i0:null;return r?(e.preventDefault(),r(n)):!1}})]}function gd(t,e){return function({state:n,dispatch:r}){if(!e&&n.readOnly)return!1;let i=n.field(L_,!1);if(!i)return!1;let s=i.pop(t,n,e);return s?(r(s),!0):!1}}const Q_=gd(0,!1),i0=gd(1,!1),BI=gd(0,!0),LI=gd(1,!0);class kn{constructor(e,n,r,i,s){this.changes=e,this.effects=n,this.mapped=r,this.startSelection=i,this.selectionsAfter=s}setSelAfter(e){return new kn(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 kn(e.changes&&Et.fromJSON(e.changes),[],e.mapped&&Zr.fromJSON(e.mapped),e.startSelection&&U.fromJSON(e.startSelection),e.selectionsAfter.map(U.fromJSON))}static fromTransaction(e,n){let r=sr;for(let i of e.startState.facet(DI)){let s=i(e);s.length&&(r=r.concat(s))}return!r.length&&e.changes.empty?null:new kn(e.changes.invert(e.startState.doc),r,void 0,n||e.startState.selection,sr)}static selection(e){return new kn(void 0,sr,void 0,void 0,e)}}function Tf(t,e,n,r){let i=e+1>n+20?e-n-1:0,s=t.slice(i,e);return s.push(r),s}function QI(t,e){let n=[],r=!1;return t.iterChangedRanges((i,s)=>n.push(i,s)),e.iterChangedRanges((i,s,o,l)=>{for(let a=0;a=u&&o<=c&&(r=!0)}}),r}function II(t,e){return t.ranges.length==e.ranges.length&&t.ranges.filter((n,r)=>n.empty!=e.ranges[r].empty).length===0}function I_(t,e){return t.length?e.length?t.concat(e):t:e}const sr=[],zI=200;function z_(t,e){if(t.length){let n=t[t.length-1],r=n.selectionsAfter.slice(Math.max(0,n.selectionsAfter.length-zI));return r.length&&r[r.length-1].eq(e)?t:(r.push(e),Tf(t,t.length-1,1e9,n.setSelAfter(r)))}else return[kn.selection([e])]}function FI(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 qp(t,e){if(!t.length)return t;let n=t.length,r=sr;for(;n;){let i=NI(t[n-1],e,r);if(i.changes&&!i.changes.empty||i.effects.length){let s=t.slice(0,n);return s[n-1]=i,s}else e=i.mapped,n--,r=i.selectionsAfter}return r.length?[kn.selection(r)]:sr}function NI(t,e,n){let r=I_(t.selectionsAfter.length?t.selectionsAfter.map(l=>l.map(e)):sr,n);if(!t.changes)return kn.selection(r);let i=t.changes.map(e),s=e.mapDesc(t.changes,!0),o=t.mapped?t.mapped.composeDesc(s):s;return new kn(i,xe.mapEffects(t.effects,e),o,t.startSelection.map(s),r)}const $I=/^(input\.type|delete)($|\.)/;class Gr{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 Gr(this.done,this.undone):this}addChanges(e,n,r,i,s){let o=this.done,l=o[o.length-1];return l&&l.changes&&!l.changes.empty&&e.changes&&(!r||$I.test(r))&&(!l.selectionsAfter.length&&n-this.prevTime0&&n-this.prevTimen.empty?t.moveByChar(n,e):Od(n,e))}function nn(t){return t.textDirectionAt(t.state.selection.main.head)==Ve.LTR}const N_=t=>F_(t,!nn(t)),$_=t=>F_(t,nn(t));function W_(t,e){return Tr(t,n=>n.empty?t.moveByGroup(n,e):Od(n,e))}const UI=t=>W_(t,!nn(t)),qI=t=>W_(t,nn(t));function jI(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 yd(t,e,n){let r=Qt(t).resolveInner(e.head),i=n?Ee.closedBy:Ee.openedBy;for(let a=e.head;;){let u=n?r.childAfter(a):r.childBefore(a);if(!u)break;jI(t,u,i)?r=u:a=n?u.to:u.from}let s=r.type.prop(i),o,l;return s&&(o=n?Xr(t,r.from,1):Xr(t,r.to,-1))&&o.matched?l=n?o.end.to:o.end.from:l=n?r.to:r.from,U.cursor(l,n?-1:1)}const HI=t=>Tr(t,e=>yd(t.state,e,!nn(t))),VI=t=>Tr(t,e=>yd(t.state,e,nn(t)));function U_(t,e){return Tr(t,n=>{if(!n.empty)return Od(n,e);let r=t.moveVertically(n,e);return r.head!=n.head?r:t.moveToLineBoundary(n,e)})}const q_=t=>U_(t,!1),j_=t=>U_(t,!0);function H_(t){let e=t.scrollDOM.clientHeighto.empty?t.moveVertically(o,e,n.height):Od(o,e));if(i.eq(r.selection))return!1;let s;if(n.selfScroll){let o=t.coordsAtPos(r.selection.main.head),l=t.scrollDOM.getBoundingClientRect(),a=l.top+n.marginTop,u=l.bottom-n.marginBottom;o&&o.top>a&&o.bottomV_(t,!1),s0=t=>V_(t,!0);function xs(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 s=/^\s*/.exec(t.state.sliceDoc(r.from,Math.min(r.from+100,r.to)))[0].length;s&&e.head!=r.from+s&&(i=U.cursor(r.from+s))}return i}const XI=t=>Tr(t,e=>xs(t,e,!0)),GI=t=>Tr(t,e=>xs(t,e,!1)),YI=t=>Tr(t,e=>xs(t,e,!nn(t))),KI=t=>Tr(t,e=>xs(t,e,nn(t))),ZI=t=>Tr(t,e=>U.cursor(t.lineBlockAt(e.head).from,1)),AI=t=>Tr(t,e=>U.cursor(t.lineBlockAt(e.head).to,-1));function JI(t,e,n){let r=!1,i=Il(t.selection,s=>{let o=Xr(t,s.head,-1)||Xr(t,s.head,1)||s.head>0&&Xr(t,s.head-1,1)||s.headJI(t,e);function cr(t,e,n){let r=Il(t.state.selection,i=>{i.undirectional&&i.head>=i.anchor!=e&&(i=U.range(i.head,i.anchor));let s=n(i);return U.range(i.anchor,s.head,s.goalColumn,s.bidiLevel||void 0,s.assoc)});return r.eq(t.state.selection)?!1:(t.dispatch(Cr(t.state,r)),!0)}function X_(t,e){return cr(t,e,n=>t.moveByChar(n,e))}const G_=t=>X_(t,!nn(t)),Y_=t=>X_(t,nn(t));function K_(t,e){return cr(t,e,n=>t.moveByGroup(n,e))}const tz=t=>K_(t,!nn(t)),nz=t=>K_(t,nn(t)),rz=t=>{let e=!nn(t);return cr(t,e,n=>yd(t.state,n,e))},iz=t=>{let e=nn(t);return cr(t,e,n=>yd(t.state,n,e))};function Z_(t,e){return cr(t,e,n=>t.moveVertically(n,e))}const A_=t=>Z_(t,!1),J_=t=>Z_(t,!0);function eE(t,e){return cr(t,e,n=>t.moveVertically(n,e,H_(t).height))}const Ow=t=>eE(t,!1),yw=t=>eE(t,!0),sz=t=>cr(t,!0,e=>xs(t,e,!0)),oz=t=>cr(t,!1,e=>xs(t,e,!1)),lz=t=>{let e=!nn(t);return cr(t,e,n=>xs(t,n,e))},az=t=>{let e=nn(t);return cr(t,e,n=>xs(t,n,e))},uz=t=>cr(t,!1,e=>U.cursor(t.lineBlockAt(e.head).from)),cz=t=>cr(t,!0,e=>U.cursor(t.lineBlockAt(e.head).to)),vw=({state:t,dispatch:e})=>(e(Cr(t,{anchor:0})),!0),ww=({state:t,dispatch:e})=>(e(Cr(t,{anchor:t.doc.length})),!0),xw=({state:t,dispatch:e})=>(e(Cr(t,{anchor:t.selection.main.anchor,head:0})),!0),Sw=({state:t,dispatch:e})=>(e(Cr(t,{anchor:t.selection.main.anchor,head:t.doc.length})),!0),hz=({state:t,dispatch:e})=>(e(t.update({selection:{anchor:0,head:t.doc.length},userEvent:"select"})),!0),fz=({state:t,dispatch:e})=>{let n=vd(t).map(({from:r,to:i})=>U.range(r,Math.min(i+1,t.doc.length)));return e(t.update({selection:U.create(n),userEvent:"select"})),!0},dz=({state:t,dispatch:e})=>{let n=Il(t.selection,r=>{let i=Qt(t),s=i.resolveStack(r.from,1);if(r.empty){let o=i.resolveStack(r.from,-1);o.node.from>=s.node.from&&o.node.to<=s.node.to&&(s=o)}for(let o=s;o;o=o.next){let{node:l}=o;if((l.from=r.to||l.to>r.to&&l.from<=r.from)&&o.next)return U.range(l.to,l.from)}return r});return n.eq(t.selection)?!1:(e(Cr(t,n)),!0)};function tE(t,e){let{state:n}=t,r=n.selection,i=n.selection.ranges.slice();for(let s of n.selection.ranges){let o=n.doc.lineAt(s.head);if(e?o.to0)for(let l=s;;){let a=t.moveVertically(l,e);if(a.heado.to){i.some(u=>u.head==a.head)||i.push(a);break}else{if(a.head==l.head)break;l=a}}}return i.length==r.ranges.length?!1:(t.dispatch(Cr(n,U.create(i,i.length-1))),!0)}const pz=t=>tE(t,!1),mz=t=>tE(t,!0),gz=({state:t,dispatch:e})=>{let n=t.selection,r=null;return n.ranges.length>1?r=U.create([n.main]):n.main.empty||(r=U.create([U.cursor(n.main.head)])),r?(e(Cr(t,r)),!0):!1};function Ku(t,e){if(t.state.readOnly)return!1;let n="delete.selection",{state:r}=t,i=r.changeByRange(s=>{let{from:o,to:l}=s;if(o==l){let a=e(s);ao&&(n="delete.forward",a=eh(t,a,!0)),o=Math.min(o,a),l=Math.max(l,a)}else o=eh(t,o,!1),l=eh(t,l,!0);return o==l?{range:s}:{changes:{from:o,to:l},range:U.cursor(o,oi(t)))r.between(e,e,(i,s)=>{ie&&(e=n?s:i)});return e}const nE=(t,e,n)=>Ku(t,r=>{let i=r.from,{state:s}=t,o=s.doc.lineAt(i),l,a;if(n&&!e&&i>o.from&&inE(t,!1,!0),rE=t=>nE(t,!0,!1),iE=(t,e)=>Ku(t,n=>{let r=n.head,{state:i}=t,s=i.doc.lineAt(r),o=i.charCategorizer(r);for(let l=null;;){if(r==(e?s.to:s.from)){r==n.head&&s.number!=(e?i.doc.lines:1)&&(r+=e?1:-1);break}let a=Bt(s.text,r-s.from,e)+s.from,u=s.text.slice(Math.min(r,a)-s.from,Math.max(r,a)-s.from),c=o(u);if(l!=null&&c!=l)break;(u!=" "||r!=n.head)&&(l=c),r=a}return r}),sE=t=>iE(t,!1),Oz=t=>iE(t,!0),yz=t=>Ku(t,e=>{let n=t.lineBlockAt(e.head).to;return e.headKu(t,e=>{let n=t.moveToLineBoundary(e,!1).head;return e.head>n?n:Math.max(0,e.head-1)}),wz=t=>Ku(t,e=>{let n=t.moveToLineBoundary(e,!0).head;return e.head{if(t.readOnly)return!1;let n=t.changeByRange(r=>({changes:{from:r.from,to:r.to,insert:Re.of(["",""])},range:U.cursor(r.from)}));return e(t.update(n,{scrollIntoView:!0,userEvent:"input"})),!0},Sz=({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,s=t.doc.lineAt(i),o=i==s.from?i-1:Bt(s.text,i-s.from,!1)+s.from,l=i==s.to?i+1:Bt(s.text,i-s.from,!0)+s.from;return{changes:{from:o,to:l,insert:t.doc.slice(i,l).append(t.doc.slice(o,i))},range:U.cursor(l)}});return n.changes.empty?!1:(e(t.update(n,{scrollIntoView:!0,userEvent:"move.character"})),!0)};function vd(t){let e=[],n=-1;for(let r of t.selection.ranges){let i=t.doc.lineAt(r.from),s=t.doc.lineAt(r.to);if(!r.empty&&r.to==s.from&&(s=t.doc.lineAt(r.to-1)),n>=i.number){let o=e[e.length-1];o.to=s.to,o.ranges.push(r)}else e.push({from:i.from,to:s.to,ranges:[r]});n=s.number+1}return e}function oE(t,e,n){if(t.readOnly)return!1;let r=[],i=[];for(let s of vd(t)){if(n?s.to==t.doc.length:s.from==0)continue;let o=t.doc.lineAt(n?s.to+1:s.from-1),l=o.length+1;if(n){r.push({from:s.to,to:o.to},{from:s.from,insert:o.text+t.lineBreak});for(let a of s.ranges)i.push(U.range(Math.min(t.doc.length,a.anchor+l),Math.min(t.doc.length,a.head+l)))}else{r.push({from:o.from,to:s.from},{from:s.to,insert:t.lineBreak+o.text});for(let a of s.ranges)i.push(U.range(a.anchor-l,a.head-l))}}return r.length?(e(t.update({changes:r,scrollIntoView:!0,selection:U.create(i,t.selection.mainIndex),userEvent:"move.line"})),!0):!1}const kz=({state:t,dispatch:e})=>oE(t,e,!1),bz=({state:t,dispatch:e})=>oE(t,e,!0);function lE(t,e,n){if(t.readOnly)return!1;let r=[];for(let s of vd(t))n?r.push({from:s.from,insert:t.doc.slice(s.from,s.to)+t.lineBreak}):r.push({from:s.to,insert:t.lineBreak+t.doc.slice(s.from,s.to)});let i=t.changes(r);return e(t.update({changes:i,selection:t.selection.map(i,n?1:-1),scrollIntoView:!0,userEvent:"input.copyline"})),!0}const _z=({state:t,dispatch:e})=>lE(t,e,!1),Ez=({state:t,dispatch:e})=>lE(t,e,!0),Cz=t=>{if(t.state.readOnly)return!1;let{state:e}=t,n=e.changes(vd(e).map(({from:i,to:s})=>(i>0?i--:s{let s;if(t.lineWrapping){let o=t.lineBlockAt(i.head),l=t.coordsAtPos(i.head,i.assoc||1);l&&(s=o.bottom+t.documentTop-l.bottom+t.defaultLineHeight/2)}return t.moveVertically(i,!0,s)}).map(n);return t.dispatch({changes:n,selection:r,scrollIntoView:!0,userEvent:"delete.line"}),!0};function Tz(t,e){if(/\(\)|\[\]|\{\}/.test(t.sliceDoc(e-1,e+1)))return{from:e,to:e};let n=Qt(t).resolveInner(e),r=n.childBefore(e),i=n.childAfter(e),s;return r&&i&&r.to<=e&&i.from>=e&&(s=r.type.prop(Ee.closedBy))&&s.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 kw=aE(!1),Pz=aE(!0);function aE(t){return({state:e,dispatch:n})=>{if(e.readOnly)return!1;let r=e.changeByRange(i=>{let{from:s,to:o}=i,l=e.doc.lineAt(s),a=!t&&s==o&&Tz(e,s);t&&(s=o=(o<=l.to?l:e.doc.lineAt(o)).to);let u=new dd(e,{simulateBreak:s,simulateDoubleBreak:!!a}),c=qO(u,s);for(c==null&&(c=Ll(/^\s*/.exec(e.doc.lineAt(s).text)[0],e.tabSize));ol.from&&s{let i=[];for(let o=r.from;o<=r.to;){let l=t.doc.lineAt(o);l.number>n&&(r.empty||r.to>l.from)&&(e(l,i,r),n=l.number),o=l.to+1}let s=t.changes(i);return{changes:i,range:U.range(s.mapPos(r.anchor,1),s.mapPos(r.head,1))}})}const Mz=({state:t,dispatch:e})=>{if(t.readOnly)return!1;let n=Object.create(null),r=new dd(t,{overrideIndentation:s=>{let o=n[s];return o??-1}}),i=t1(t,(s,o,l)=>{let a=qO(r,s.from);if(a==null)return;/\S/.test(s.text)||(a=0);let u=/^\s*/.exec(s.text)[0],c=bu(t,a);(u!=c||l.fromt.readOnly?!1:(e(t.update(t1(t,(n,r)=>{r.push({from:n.from,insert:t.facet(fd)})}),{userEvent:"input.indent"})),!0),cE=({state:t,dispatch:e})=>t.readOnly?!1:(e(t.update(t1(t,(n,r)=>{let i=/^\s*/.exec(n.text)[0];if(!i)return;let s=Ll(i,t.tabSize),o=0,l=bu(t,Math.max(0,s-kf(t)));for(;o(t.setTabFocusMode(),!0),Rz=[{key:"Ctrl-b",run:N_,shift:G_,preventDefault:!0},{key:"Ctrl-f",run:$_,shift:Y_},{key:"Ctrl-p",run:q_,shift:A_},{key:"Ctrl-n",run:j_,shift:J_},{key:"Ctrl-a",run:ZI,shift:uz},{key:"Ctrl-e",run:AI,shift:cz},{key:"Ctrl-d",run:rE},{key:"Ctrl-h",run:o0},{key:"Ctrl-k",run:yz},{key:"Ctrl-Alt-h",run:sE},{key:"Ctrl-o",run:xz},{key:"Ctrl-t",run:Sz},{key:"Ctrl-v",run:s0}],Bz=[{key:"ArrowLeft",run:N_,shift:G_,preventDefault:!0},{key:"Mod-ArrowLeft",mac:"Alt-ArrowLeft",run:UI,shift:tz,preventDefault:!0},{mac:"Cmd-ArrowLeft",run:YI,shift:lz,preventDefault:!0},{key:"ArrowRight",run:$_,shift:Y_,preventDefault:!0},{key:"Mod-ArrowRight",mac:"Alt-ArrowRight",run:qI,shift:nz,preventDefault:!0},{mac:"Cmd-ArrowRight",run:KI,shift:az,preventDefault:!0},{key:"ArrowUp",run:q_,shift:A_,preventDefault:!0},{mac:"Cmd-ArrowUp",run:vw,shift:xw},{mac:"Ctrl-ArrowUp",run:gw,shift:Ow},{key:"ArrowDown",run:j_,shift:J_,preventDefault:!0},{mac:"Cmd-ArrowDown",run:ww,shift:Sw},{mac:"Ctrl-ArrowDown",run:s0,shift:yw},{key:"PageUp",run:gw,shift:Ow},{key:"PageDown",run:s0,shift:yw},{key:"Home",run:GI,shift:oz,preventDefault:!0},{key:"Mod-Home",run:vw,shift:xw},{key:"End",run:XI,shift:sz,preventDefault:!0},{key:"Mod-End",run:ww,shift:Sw},{key:"Enter",run:kw,shift:kw},{key:"Mod-a",run:hz},{key:"Backspace",run:o0,shift:o0,preventDefault:!0},{key:"Delete",run:rE,preventDefault:!0},{key:"Mod-Backspace",mac:"Alt-Backspace",run:sE,preventDefault:!0},{key:"Mod-Delete",mac:"Alt-Delete",run:Oz,preventDefault:!0},{mac:"Mod-Backspace",run:vz,preventDefault:!0},{mac:"Mod-Delete",run:wz,preventDefault:!0}].concat(Rz.map(t=>({mac:t.key,run:t.run,shift:t.shift}))),Lz=[{key:"Alt-ArrowLeft",mac:"Ctrl-ArrowLeft",run:HI,shift:rz},{key:"Alt-ArrowRight",mac:"Ctrl-ArrowRight",run:VI,shift:iz},{key:"Alt-ArrowUp",run:kz},{key:"Shift-Alt-ArrowUp",run:_z},{key:"Alt-ArrowDown",run:bz},{key:"Shift-Alt-ArrowDown",run:Ez},{key:"Mod-Alt-ArrowUp",run:pz},{key:"Mod-Alt-ArrowDown",run:mz},{key:"Escape",run:gz},{key:"Mod-Enter",run:Pz},{key:"Alt-l",mac:"Ctrl-l",run:fz},{key:"Mod-i",run:dz,preventDefault:!0},{key:"Mod-[",run:cE},{key:"Mod-]",run:uE},{key:"Mod-Alt-\\",run:Mz},{key:"Shift-Mod-k",run:Cz},{key:"Shift-Mod-\\",run:ez},{key:"Mod-/",run:kI},{key:"Alt-A",run:_I},{key:"Ctrl-m",mac:"Shift-Alt-m",run:Dz}].concat(Bz),Qz={key:"Tab",run:uE,shift:cE};var bw={};class Pf{constructor(e,n,r,i,s,o,l,a,u,c=0,d){this.p=e,this.stack=n,this.state=r,this.reducePos=i,this.pos=s,this.score=o,this.buffer=l,this.bufferBase=a,this.curContext=u,this.lookAhead=c,this.parent=d}toString(){return`[${this.stack.filter((e,n)=>n%3==0).concat(this.state)}]@${this.pos}${this.score?"!"+this.score:""}`}static start(e,n,r=0){let i=e.parser.context;return new Pf(e,[],n,r,r,0,[],0,i?new _w(i,i.start):null,0,null)}get context(){return this.curContext?this.curContext.context:null}pushState(e,n){this.stack.push(this.state,n,this.bufferBase+this.buffer.length),this.state=e}reduce(e){var n;let r=e>>19,i=e&65535,{parser:s}=this.p,o=this.reducePos=2e3&&!(!((n=this.p.parser.nodeSet.types[i])===null||n===void 0)&&n.isAnonymous)&&(u==this.p.lastBigReductionStart?(this.p.bigReductionCount++,this.p.lastBigReductionSize=c):this.p.lastBigReductionSizea;)this.stack.pop();this.reduceContext(i,u)}storeNode(e,n,r,i=4,s=!1){if(e==0&&(!this.stack.length||this.stack[this.stack.length-1]0&&this.buffer[o-4]==0&&this.buffer[o-1]>-1){if(n==r)return;if(this.buffer[o-2]>=n){this.buffer[o-2]=r;return}}}if(!s||this.pos==r)this.buffer.push(e,n,r,i);else{let o=this.buffer.length;if(o>0&&(this.buffer[o-4]!=0||this.buffer[o-1]<0)){let l=!1;for(let a=o;a>0&&this.buffer[a-2]>r;a-=4)if(this.buffer[a-1]>=0){l=!0;break}if(l)for(;o>0&&this.buffer[o-2]>r;)this.buffer[o]=this.buffer[o-4],this.buffer[o+1]=this.buffer[o-3],this.buffer[o+2]=this.buffer[o-2],this.buffer[o+3]=this.buffer[o-1],o-=4,i>4&&(i-=4)}this.buffer[o]=e,this.buffer[o+1]=n,this.buffer[o+2]=r,this.buffer[o+3]=i}}shift(e,n,r,i){if(e&131072)this.pushState(e&65535,this.pos);else if(e&262144)this.pos=i,this.shiftContext(n,r),n<=this.p.parser.maxNode&&this.buffer.push(n,r,i,4);else{let s=e,{parser:o}=this.p;this.pos=i;let l=o.stateFlag(s,1);!l&&(i>r||n<=o.maxNode)&&(this.reducePos=i),this.pushState(s,l?r:Math.min(r,this.reducePos)),this.shiftContext(n,r),n<=o.maxNode&&this.buffer.push(n,r,i,4)}}apply(e,n,r,i){e&65536?this.reduce(e):this.shift(e,n,r,i)}useNode(e,n){let r=this.p.reused.length-1;(r<0||this.p.reused[r]!=e)&&(this.p.reused.push(e),r++);let i=this.pos;this.reducePos=this.pos=i+e.length,this.pushState(n,i),this.buffer.push(r,i,this.reducePos,-1),this.curContext&&this.updateContext(this.curContext.tracker.reuse(this.curContext.context,e,this,this.p.stream.reset(this.pos-e.length)))}split(){let e=this,n=e.buffer.length;for(n&&e.buffer[n-4]==0&&(n-=4);n>0&&e.buffer[n-2]>e.reducePos;)n-=4;let r=e.buffer.slice(n),i=e.bufferBase+n;for(;e&&i==e.bufferBase;)e=e.parent;return new Pf(this.p,this.stack.slice(),this.state,this.reducePos,this.pos,this.score,r,i,this.curContext,this.lookAhead,e)}recoverByDelete(e,n){let r=e<=this.p.parser.maxNode;r&&this.storeNode(e,this.pos,n,4),this.storeNode(0,this.pos,n,r?8:4),this.pos=this.reducePos=n,this.score-=190}canShift(e){for(let n=new Iz(this);;){let r=this.p.parser.stateSlot(n.state,4)||this.p.parser.hasAction(n.state,e);if(r==0)return!1;if(!(r&65536))return!0;n.reduce(r)}}recoverByInsert(e){if(this.stack.length>=300)return[];let n=this.p.parser.nextStates(this.state);if(n.length>8||this.stack.length>=120){let i=[];for(let s=0,o;sa&1&&l==o)||i.push(n[s],o)}n=i}let r=[];for(let i=0;i>19,i=n&65535,s=this.stack.length-r*3;if(s<0||e.getGoto(this.stack[s],i,!1)<0){let o=this.findForcedReduction();if(o==null)return!1;n=o}this.storeNode(0,this.pos,this.pos,4,!0),this.score-=100}return this.reducePos=this.pos,this.reduce(n),!0}findForcedReduction(){let{parser:e}=this.p,n=[],r=(i,s)=>{if(!n.includes(i))return n.push(i),e.allActions(i,o=>{if(!(o&393216))if(o&65536){let l=(o>>19)-s;if(l>1){let a=o&65535,u=this.stack.length-l*3;if(u>=0&&e.getGoto(this.stack[u],a,!1)>=0)return l<<19|65536|a}}else{let l=r(o,s+1);if(l!=null)return l}})};return r(this.state,0)}forceAll(){for(;!this.p.parser.stateFlag(this.state,2);)if(!this.forceReduce()){this.storeNode(0,this.pos,this.pos,4,!0);break}return this}get deadEnd(){if(this.stack.length!=3)return!1;let{parser:e}=this.p;return e.data[e.stateSlot(this.state,1)]==65535&&!e.stateSlot(this.state,4)}restart(){this.storeNode(0,this.pos,this.pos,4,!0),this.state=this.stack[0],this.stack.length=0}sameState(e){if(this.state!=e.state||this.stack.length!=e.stack.length)return!1;for(let n=0;n0&&this.emitLookAhead()}}class _w{constructor(e,n){this.tracker=e,this.context=n,this.hash=e.strict?e.hash(n):0}}class Iz{constructor(e){this.start=e,this.state=e.state,this.stack=e.stack,this.base=this.stack.length}reduce(e){let n=e&65535,r=e>>19;r==0?(this.stack==this.start.stack&&(this.stack=this.stack.slice()),this.stack.push(this.state,0,0),this.base+=3):this.base-=(r-1)*3;let i=this.start.p.parser.getGoto(this.stack[this.base-3],n,!0);this.state=i}}class Mf{constructor(e,n,r){this.stack=e,this.pos=n,this.index=r,this.buffer=e.buffer,this.index==0&&this.maybeNext()}static create(e,n=e.bufferBase+e.buffer.length){return new Mf(e,n,n-e.bufferBase)}maybeNext(){let e=this.stack.parent;e!=null&&(this.index=this.stack.bufferBase-e.bufferBase,this.stack=e,this.buffer=e.buffer)}get id(){return this.buffer[this.index-4]}get start(){return this.buffer[this.index-3]}get end(){return this.buffer[this.index-2]}get size(){return this.buffer[this.index-1]}next(){this.index-=4,this.pos-=4,this.index==0&&this.maybeNext()}fork(){return new Mf(this.stack,this.pos,this.index)}}function th(t,e=Uint16Array){if(typeof t!="string")return t;let n=null;for(let r=0,i=0;r=92&&o--,o>=34&&o--;let a=o-32;if(a>=46&&(a-=46,l=!0),s+=a,l)break;s*=46}n?n[i++]=s:n=new e(s)}return n}class Bh{constructor(){this.start=-1,this.value=-1,this.end=-1,this.extended=-1,this.lookAhead=0,this.mask=0,this.context=0}}const Ew=new Bh;class zz{constructor(e,n){this.input=e,this.ranges=n,this.chunk="",this.chunkOff=0,this.chunk2="",this.chunk2Pos=0,this.next=-1,this.token=Ew,this.rangeIndex=0,this.pos=this.chunkPos=n[0].from,this.range=n[0],this.end=n[n.length-1].to,this.readNext()}resolveOffset(e,n){let r=this.range,i=this.rangeIndex,s=this.pos+e;for(;sr.to:s>=r.to;){if(i==this.ranges.length-1)return null;let o=this.ranges[++i];s+=o.from-r.to,r=o}return s}clipPos(e){if(e>=this.range.from&&ee)return Math.max(e,n.from);return this.end}peek(e){let n=this.chunkOff+e,r,i;if(n>=0&&n=this.chunk2Pos&&rl.to&&(this.chunk2=this.chunk2.slice(0,l.to-r)),i=this.chunk2.charCodeAt(0)}}return r>=this.token.lookAhead&&(this.token.lookAhead=r+1),i}acceptToken(e,n=0){let r=n?this.resolveOffset(n,-1):this.pos;if(r==null||r=this.chunk2Pos&&this.posthis.range.to?e.slice(0,this.range.to-this.pos):e,this.chunkPos=this.pos,this.chunkOff=0}}readNext(){return this.chunkOff>=this.chunk.length&&(this.getChunk(),this.chunkOff==this.chunk.length)?this.next=-1:this.next=this.chunk.charCodeAt(this.chunkOff)}advance(e=1){for(this.chunkOff+=e;this.pos+e>=this.range.to;){if(this.rangeIndex==this.ranges.length-1)return this.setDone();e-=this.range.to-this.pos,this.range=this.ranges[++this.rangeIndex],this.pos=this.range.from}return this.pos+=e,this.pos>=this.token.lookAhead&&(this.token.lookAhead=this.pos+1),this.readNext()}setDone(){return this.pos=this.chunkPos=this.end,this.range=this.ranges[this.rangeIndex=this.ranges.length-1],this.chunk="",this.next=-1}reset(e,n){if(n?(this.token=n,n.start=e,n.lookAhead=e+1,n.value=n.extended=-1):this.token=Ew,this.pos!=e){if(this.pos=e,e==this.end)return this.setDone(),this;for(;e=this.range.to;)this.range=this.ranges[++this.rangeIndex];e>=this.chunkPos&&e=this.chunkPos&&n<=this.chunkPos+this.chunk.length)return this.chunk.slice(e-this.chunkPos,n-this.chunkPos);if(e>=this.chunk2Pos&&n<=this.chunk2Pos+this.chunk2.length)return this.chunk2.slice(e-this.chunk2Pos,n-this.chunk2Pos);if(e>=this.range.from&&n<=this.range.to)return this.input.read(e,n);let r="";for(let i of this.ranges){if(i.from>=n)break;i.to>e&&(r+=this.input.read(Math.max(i.from,e),Math.min(i.to,n)))}return r}}class cl{constructor(e,n){this.data=e,this.id=n}token(e,n){let{parser:r}=n.p;Fz(this.data,e,n,this.id,r.data,r.tokenPrecTable)}}cl.prototype.contextual=cl.prototype.fallback=cl.prototype.extend=!1;cl.prototype.fallback=cl.prototype.extend=!1;class wd{constructor(e,n={}){this.token=e,this.contextual=!!n.contextual,this.fallback=!!n.fallback,this.extend=!!n.extend}}function Fz(t,e,n,r,i,s){let o=0,l=1<0){let y=t[g];if(a.allows(y)&&(e.token.value==-1||e.token.value==y||Nz(y,e.token.value,i,s))){e.acceptToken(y);break}}let c=e.next,d=0,p=t[o+2];if(e.next<0&&p>d&&t[u+p*3-3]==65535){o=t[u+p*3-1];continue e}for(;d>1,y=u+g+(g<<1),w=t[y],_=t[y+1]||65536;if(c=_)d=g+1;else{o=t[y+2],e.advance();continue e}}break}}function Cw(t,e,n){for(let r=e,i;(i=t[r])!=65535;r++)if(i==n)return r-e;return-1}function Nz(t,e,n,r){let i=Cw(n,r,e);return i<0||Cw(n,r,t)e)&&!r.type.isError)return n<0?Math.max(0,Math.min(r.to-1,e-25)):Math.min(t.length,Math.max(r.from+1,e+25));if(n<0?r.prevSibling():r.nextSibling())break;if(!r.parent())return n<0?0:t.length}}class $z{constructor(e,n){this.fragments=e,this.nodeSet=n,this.i=0,this.fragment=null,this.safeFrom=-1,this.safeTo=-1,this.trees=[],this.start=[],this.index=[],this.nextFragment()}nextFragment(){let e=this.fragment=this.i==this.fragments.length?null:this.fragments[this.i++];if(e){for(this.safeFrom=e.openStart?Tw(e.tree,e.from+e.offset,1)-e.offset:e.from,this.safeTo=e.openEnd?Tw(e.tree,e.to+e.offset,-1)-e.offset:e.to;this.trees.length;)this.trees.pop(),this.start.pop(),this.index.pop();this.trees.push(e.tree),this.start.push(-e.offset),this.index.push(0),this.nextStart=this.safeFrom}else this.nextStart=1e9}nodeAt(e){if(ee)return this.nextStart=o,null;if(s instanceof mt){if(o==e){if(o=Math.max(this.safeFrom,e)&&(this.trees.push(s),this.start.push(o),this.index.push(0))}else this.index[n]++,this.nextStart=o+s.length}}}class Wz{constructor(e,n){this.stream=n,this.tokens=[],this.mainToken=null,this.actions=[],this.tokens=e.tokenizers.map(r=>new Bh)}getActions(e){let n=0,r=null,{parser:i}=e.p,{tokenizers:s}=i,o=i.stateSlot(e.state,3),l=e.curContext?e.curContext.hash:0,a=0;for(let u=0;ud.end+25&&(a=Math.max(d.lookAhead,a)),d.value!=0)){let p=n;if(d.extended>-1&&(n=this.addActions(e,d.extended,d.end,n)),n=this.addActions(e,d.value,d.end,n),!c.extend&&(r=d,n>p))break}}for(;this.actions.length>n;)this.actions.pop();return a&&e.setLookAhead(a),!r&&e.pos==this.stream.end&&(r=new Bh,r.value=e.p.parser.eofTerm,r.start=r.end=e.pos,n=this.addActions(e,r.value,r.end,n)),this.mainToken=r,this.actions}getMainToken(e){if(this.mainToken)return this.mainToken;let n=new Bh,{pos:r,p:i}=e;return n.start=r,n.end=Math.min(r+1,i.stream.end),n.value=r==i.stream.end?i.parser.eofTerm:0,n}updateCachedToken(e,n,r){let i=this.stream.clipPos(r.pos);if(n.token(this.stream.reset(i,e),r),e.value>-1){let{parser:s}=r.p;for(let o=0;o=0&&r.p.parser.dialect.allows(l>>1)){l&1?e.extended=l>>1:e.value=l>>1;break}}}else e.value=0,e.end=this.stream.clipPos(i+1)}putAction(e,n,r,i){for(let s=0;se.bufferLength*4?new $z(r,e.nodeSet):null}get parsedPos(){return this.minStackPos}advance(){let e=this.stacks,n=this.minStackPos,r=this.stacks=[],i,s;if(this.bigReductionCount>300&&e.length==1){let[o]=e;for(;o.forceReduce()&&o.stack.length&&o.stack[o.stack.length-2]>=this.lastBigReductionStart;);this.bigReductionCount=this.lastBigReductionSize=0}for(let o=0;on)r.push(l);else{if(this.advanceStack(l,r,e))continue;{i||(i=[],s=[]),i.push(l);let a=this.tokens.getMainToken(l);s.push(a.value,a.end)}}break}}if(!r.length){let o=i&&Hz(i);if(o)return Rn&&console.log("Finish with "+this.stackID(o)),this.stackToTree(o);if(this.parser.strict)throw Rn&&i&&console.log("Stuck with token "+(this.tokens.mainToken?this.parser.getName(this.tokens.mainToken.value):"none")),new SyntaxError("No parse at "+n);this.recovering||(this.recovering=5)}if(this.recovering&&i){let o=this.stoppedAt!=null&&i[0].pos>this.stoppedAt?i[0]:this.runRecovery(i,s,r);if(o)return Rn&&console.log("Force-finish "+this.stackID(o)),this.stackToTree(o.forceAll())}if(this.recovering){let o=this.recovering==1?1:this.recovering*3;if(r.length>o)for(r.sort((l,a)=>a.score-l.score);r.length>o;)r.pop();r.some(l=>l.reducePos>n)&&this.recovering--}else if(r.length>1){e:for(let o=0;o500&&u.buffer.length>500)if((l.score-u.score||l.buffer.length-u.buffer.length)>0)r.splice(a--,1);else{r.splice(o--,1);continue e}}}r.length>12&&(r.sort((o,l)=>l.score-o.score),r.splice(12,r.length-12))}this.minStackPos=r[0].pos;for(let o=1;o ":"";if(this.stoppedAt!=null&&i>this.stoppedAt)return e.forceReduce()?e:null;if(this.fragments){let u=e.curContext&&e.curContext.tracker.strict,c=u?e.curContext.hash:0;for(let d=this.fragments.nodeAt(i);d;){let p=this.parser.nodeSet.types[d.type.id]==d.type?s.getGoto(e.state,d.type.id):-1;if(p>-1&&d.length&&(!u||(d.prop(Ee.contextHash)||0)==c))return e.useNode(d,p),Rn&&console.log(o+this.stackID(e)+` (via reuse of ${s.getName(d.type.id)})`),!0;if(!(d instanceof mt)||d.children.length==0||d.positions[0]>0)break;let g=d.children[0];if(g instanceof mt&&d.positions[0]==0)d=g;else break}}let l=s.stateSlot(e.state,4);if(l>0)return e.reduce(l),Rn&&console.log(o+this.stackID(e)+` (via always-reduce ${s.getName(l&65535)})`),!0;if(e.stack.length>=8400)for(;e.stack.length>6e3&&e.forceReduce(););let a=this.tokens.getActions(e);for(let u=0;ui?n.push(y):r.push(y)}return!1}advanceFully(e,n){let r=e.pos;for(;;){if(!this.advanceStack(e,null,null))return!1;if(e.pos>r)return Pw(e,n),!0}}runRecovery(e,n,r){let i=null,s=!1;for(let o=0;o ":"";if(l.deadEnd&&(s||(s=!0,l.restart(),Rn&&console.log(c+this.stackID(l)+" (restarted)"),this.advanceFully(l,r))))continue;let d=l.split(),p=c;for(let g=0;g<10&&d.forceReduce()&&(Rn&&console.log(p+this.stackID(d)+" (via force-reduce)"),!this.advanceFully(d,r));g++)Rn&&(p=this.stackID(d)+" -> ");for(let g of l.recoverByInsert(a))Rn&&console.log(c+this.stackID(g)+" (via recover-insert)"),this.advanceFully(g,r);this.stream.end>l.pos?(u==l.pos&&(u++,a=0),l.recoverByDelete(a,u),Rn&&console.log(c+this.stackID(l)+` (via recover-delete ${this.parser.getName(a)})`),Pw(l,r)):(!i||i.scoret;class jz{constructor(e){this.start=e.start,this.shift=e.shift||Hp,this.reduce=e.reduce||Hp,this.reuse=e.reuse||Hp,this.hash=e.hash||(()=>0),this.strict=e.strict!==!1}}class Df extends J2{constructor(e){if(super(),this.wrappers=[],e.version!=14)throw new RangeError(`Parser version (${e.version}) doesn't match runtime version (14)`);let n=e.nodeNames.split(" ");this.minRepeatTerm=n.length;for(let l=0;le.topRules[l][1]),i=[];for(let l=0;l=0)s(c,a,l[u++]);else{let d=l[u+-c];for(let p=-c;p>0;p--)s(l[u++],a,d);u++}}}this.nodeSet=new NO(n.map((l,a)=>Pn.define({name:a>=this.minRepeatTerm?void 0:l,id:a,props:i[a],top:r.indexOf(a)>-1,error:a==0,skipped:e.skippedNodes&&e.skippedNodes.indexOf(a)>-1}))),e.propSources&&(this.nodeSet=this.nodeSet.extend(...e.propSources)),this.strict=!1,this.bufferLength=Y2;let o=th(e.tokenData);this.context=e.context,this.specializerSpecs=e.specialized||[],this.specialized=new Uint16Array(this.specializerSpecs.length);for(let l=0;ltypeof l=="number"?new cl(o,l):l),this.topRules=e.topRules,this.dialects=e.dialects||{},this.dynamicPrecedences=e.dynamicPrecedences||null,this.tokenPrecTable=e.tokenPrec,this.termNames=e.termNames||null,this.maxNode=this.nodeSet.types.length-1,this.dialect=this.parseDialect(),this.top=this.topRules[Object.keys(this.topRules)[0]]}createParse(e,n,r){let i=new Uz(this,e,n,r);for(let s of this.wrappers)i=s(i,e,n,r);return i}getGoto(e,n,r=!1){let i=this.goto;if(n>=i[0])return-1;for(let s=i[n+1];;){let o=i[s++],l=o&1,a=i[s++];if(l&&r)return a;for(let u=s+(o>>1);s0}validAction(e,n){return!!this.allActions(e,r=>r==n?!0:null)}allActions(e,n){let r=this.stateSlot(e,4),i=r?n(r):void 0;for(let s=this.stateSlot(e,1);i==null;s+=3){if(this.data[s]==65535)if(this.data[s+1]==1)s=hi(this.data,s+2);else break;i=n(hi(this.data,s+1))}return i}nextStates(e){let n=[];for(let r=this.stateSlot(e,1);;r+=3){if(this.data[r]==65535)if(this.data[r+1]==1)r=hi(this.data,r+2);else break;if(!(this.data[r+2]&1)){let i=this.data[r+1];n.some((s,o)=>o&1&&s==i)||n.push(this.data[r],i)}}return n}configure(e){let n=Object.assign(Object.create(Df.prototype),this);if(e.props&&(n.nodeSet=this.nodeSet.extend(...e.props)),e.top){let r=this.topRules[e.top];if(!r)throw new RangeError(`Invalid top rule name ${e.top}`);n.top=r}return e.tokenizers&&(n.tokenizers=this.tokenizers.map(r=>{let i=e.tokenizers.find(s=>s.from==r);return i?i.to:r})),e.specializers&&(n.specializers=this.specializers.slice(),n.specializerSpecs=this.specializerSpecs.map((r,i)=>{let s=e.specializers.find(l=>l.from==r.external);if(!s)return r;let o=Object.assign(Object.assign({},r),{external:s.to});return n.specializers[i]=Mw(o),o})),e.contextTracker&&(n.context=e.contextTracker),e.dialect&&(n.dialect=this.parseDialect(e.dialect)),e.strict!=null&&(n.strict=e.strict),e.wrap&&(n.wrappers=n.wrappers.concat(e.wrap)),e.bufferLength!=null&&(n.bufferLength=e.bufferLength),n}hasWrappers(){return this.wrappers.length>0}getName(e){return this.termNames?this.termNames[e]:String(e<=this.maxNode&&this.nodeSet.types[e].name||e)}get eofTerm(){return this.maxNode+1}get topNode(){return this.nodeSet.types[this.top[1]]}dynamicPrecedence(e){let n=this.dynamicPrecedences;return n==null?0:n[e]||0}parseDialect(e){let n=Object.keys(this.dialects),r=n.map(()=>!1);if(e)for(let s of e.split(" ")){let o=n.indexOf(s);o>=0&&(r[o]=!0)}let i=null;for(let s=0;sr)&&n.p.parser.stateFlag(n.state,2)&&(!e||e.scoret.external(n,r)<<1|e}return t.get}const Vz=1,hE=194,fE=195,Xz=196,Dw=197,Gz=198,Yz=199,Kz=200,Zz=2,dE=3,Rw=201,Az=24,Jz=25,e5=49,t5=50,n5=55,r5=56,i5=57,s5=59,o5=60,l5=61,a5=62,u5=63,c5=65,h5=238,f5=71,d5=241,p5=242,m5=243,g5=244,O5=245,y5=246,v5=247,w5=248,pE=72,x5=249,S5=250,k5=251,b5=252,_5=253,E5=254,C5=255,T5=256,P5=73,M5=77,D5=263,R5=112,B5=130,L5=151,Q5=152,I5=155,so=10,Tu=13,n1=32,xd=9,r1=35,z5=40,F5=46,l0=123,Bw=125,mE=39,gE=34,Lw=92,N5=111,$5=120,W5=78,U5=117,q5=85,j5=new Set([Jz,e5,t5,D5,c5,B5,r5,i5,h5,a5,u5,pE,P5,M5,o5,l5,L5,Q5,I5,R5]);function Vp(t){return t==so||t==Tu}function Xp(t){return t>=48&&t<=57||t>=65&&t<=70||t>=97&&t<=102}const H5=new wd((t,e)=>{let n;if(t.next<0)t.acceptToken(Yz);else if(e.context.flags&Lh)Vp(t.next)&&t.acceptToken(Gz,1);else if(((n=t.peek(-1))<0||Vp(n))&&e.canShift(Dw)){let r=0;for(;t.next==n1||t.next==xd;)t.advance(),r++;(t.next==so||t.next==Tu||t.next==r1)&&t.acceptToken(Dw,-r)}else Vp(t.next)&&t.acceptToken(Xz,1)},{contextual:!0}),V5=new wd((t,e)=>{let n=e.context;if(n.flags)return;let r=t.peek(-1);if(r==so||r==Tu){let i=0,s=0;for(;;){if(t.next==n1)i++;else if(t.next==xd)i+=8-i%8;else break;t.advance(),s++}i!=n.indent&&t.next!=so&&t.next!=Tu&&t.next!=r1&&(i[t,e|OE])),Y5=new jz({start:X5,reduce(t,e,n,r){return t.flags&Lh&&j5.has(e)||(e==f5||e==pE)&&t.flags&OE?t.parent:t},shift(t,e,n,r){return e==hE?new Qh(t,G5(r.read(r.pos,n.pos)),0):e==fE?t.parent:e==Az||e==n5||e==s5||e==dE?new Qh(t,0,Lh):Qw.has(e)?new Qh(t,0,Qw.get(e)|t.flags&Lh):t},hash(t){return t.hash}}),K5=new wd(t=>{for(let e=0;e<5;e++){if(t.next!="print".charCodeAt(e))return;t.advance()}if(!/\w/.test(String.fromCharCode(t.next)))for(let e=0;;e++){let n=t.peek(e);if(!(n==n1||n==xd)){n!=z5&&n!=F5&&n!=so&&n!=Tu&&n!=r1&&t.acceptToken(Vz);return}}}),Z5=new wd((t,e)=>{let{flags:n}=e.context,r=n&si?gE:mE,i=(n&oi)>0,s=!(n&li),o=(n&ai)>0,l=t.pos;for(;!(t.next<0);)if(o&&t.next==l0)if(t.peek(1)==l0)t.advance(2);else{if(t.pos==l){t.acceptToken(dE,1);return}break}else if(s&&t.next==Lw){if(t.pos==l){t.advance();let a=t.next;a>=0&&(t.advance(),A5(t,a)),t.acceptToken(Zz);return}break}else if(t.next==Lw&&!s&&t.peek(1)>-1)t.advance(2);else if(t.next==r&&(!i||t.peek(1)==r&&t.peek(2)==r)){if(t.pos==l){t.acceptToken(Rw,i?3:1);return}break}else if(t.next==so){if(i)t.advance();else if(t.pos==l){t.acceptToken(Rw);return}break}else t.advance();t.pos>l&&t.acceptToken(Kz)});function A5(t,e){if(e==N5)for(let n=0;n<2&&t.next>=48&&t.next<=55;n++)t.advance();else if(e==$5)for(let n=0;n<2&&Xp(t.next);n++)t.advance();else if(e==U5)for(let n=0;n<4&&Xp(t.next);n++)t.advance();else if(e==q5)for(let n=0;n<8&&Xp(t.next);n++)t.advance();else if(e==W5&&t.next==l0){for(t.advance();t.next>=0&&t.next!=Bw&&t.next!=mE&&t.next!=gE&&t.next!=so;)t.advance();t.next==Bw&&t.advance()}}const J5=e_({'async "*" "**" FormatConversion FormatSpec':F.modifier,"for while if elif else try except finally return raise break continue with pass assert await yield match case":F.controlKeyword,"in not and or is del":F.operatorKeyword,"from def class global nonlocal lambda":F.definitionKeyword,import:F.moduleKeyword,"with as print":F.keyword,Boolean:F.bool,None:F.null,VariableName:F.variableName,"CallExpression/VariableName":F.function(F.variableName),"FunctionDefinition/VariableName":F.function(F.definition(F.variableName)),"ClassDefinition/VariableName":F.definition(F.className),PropertyName:F.propertyName,"CallExpression/MemberExpression/PropertyName":F.function(F.propertyName),Comment:F.lineComment,Number:F.number,String:F.string,FormatString:F.special(F.string),Escape:F.escape,UpdateOp:F.updateOperator,"ArithOp!":F.arithmeticOperator,BitOp:F.bitwiseOperator,CompareOp:F.compareOperator,AssignOp:F.definitionOperator,Ellipsis:F.punctuation,At:F.meta,"( )":F.paren,"[ ]":F.squareBracket,"{ }":F.brace,".":F.derefOperator,", ;":F.separator}),e4={__proto__:null,await:44,or:54,and:56,in:60,not:62,is:64,if:70,else:72,lambda:76,yield:94,from:96,async:102,for:104,None:162,True:164,False:164,del:178,pass:182,break:186,continue:190,return:194,raise:202,import:206,as:208,global:212,nonlocal:214,assert:218,type:223,elif:236,while:240,try:246,except:248,finally:250,with:254,def:258,class:268,match:279,case:285},t4=Df.deserialize({version:14,states:"##jQ`QeOOP$}OSOOO&WQtO'#HUOOQS'#Co'#CoOOQS'#Cp'#CpO'vQdO'#CnO*UQtO'#HTOOQS'#HU'#HUOOQS'#DU'#DUOOQS'#HT'#HTO*rQdO'#D_O+VQdO'#DfO+gQdO'#DjO+zOWO'#DuO,VOWO'#DvO.[QtO'#GuOOQS'#Gu'#GuO'vQdO'#GtO0ZQtO'#GtOOQS'#Eb'#EbO0rQdO'#EcOOQS'#Gs'#GsO0|QdO'#GrOOQV'#Gr'#GrO1XQdO'#FYOOQS'#G^'#G^O1^QdO'#FXOOQV'#IS'#ISOOQV'#Gq'#GqOOQV'#Fq'#FqQ`QeOOO'vQdO'#CqO1lQdO'#C}O1sQdO'#DRO2RQdO'#HYO2cQtO'#EVO'vQdO'#EWOOQS'#EY'#EYOOQS'#E['#E[OOQS'#E^'#E^O2wQdO'#E`O3_QdO'#EdO3rQdO'#EfO3zQtO'#EfO1XQdO'#EiO0rQdO'#ElO1XQdO'#EnO0rQdO'#EtO0rQdO'#EwO4VQdO'#EyO4^QdO'#FOO4iQdO'#EzO0rQdO'#FOO1XQdO'#FQO1XQdO'#FVO4nQdO'#F[P4uOdO'#GpPOOO)CBd)CBdOOQS'#Ce'#CeOOQS'#Cf'#CfOOQS'#Cg'#CgOOQS'#Ch'#ChOOQS'#Ci'#CiOOQS'#Cj'#CjOOQS'#Cl'#ClO'vQdO,59OO'vQdO,59OO'vQdO,59OO'vQdO,59OO'vQdO,59OO'vQdO,59OO5TQdO'#DoOOQS,5:Y,5:YO5hQdO'#HdOOQS,5:],5:]O5uQ!fO,5:]O5zQtO,59YO1lQdO,59bO1lQdO,59bO1lQdO,59bO8jQdO,59bO8oQdO,59bO8vQdO,59jO8}QdO'#HTO:TQdO'#HSOOQS'#HS'#HSOOQS'#D['#D[O:lQdO,59aO'vQdO,59aO:zQdO,59aOOQS,59y,59yO;PQdO,5:RO'vQdO,5:ROOQS,5:Q,5:QO;_QdO,5:QO;dQdO,5:XO'vQdO,5:XO'vQdO,5:VOOQS,5:U,5:UO;uQdO,5:UO;zQdO,5:WOOOW'#Fy'#FyOOOOQS'#Ds'#DsOOQS1G/w1G/wOOQS1G.|1G.|O!/[QtO1G.|O!/cQtO1G.|O1lQdO1G.|O!0OQdO1G/UOOQS'#DZ'#DZO0rQdO,59tOOQS1G.{1G.{O!0VQdO1G/eO!0gQdO1G/eO!0oQdO1G/fO'vQdO'#H[O!0tQdO'#H[O!0yQtO1G.{O!1ZQdO,59iO!2aQdO,5=zO!2qQdO,5=zO!2yQdO1G/mO!3OQtO1G/mOOQS1G/l1G/lO!3`QdO,5=uO!4VQdO,5=uO0rQdO1G/qO!4tQdO1G/sO!4yQtO1G/sO!5ZQtO1G/qOOQS1G/p1G/pOOQS1G/r1G/rOOOW-E9w-E9wOOQS1G/{1G/{O!5kQdO'#HxO0rQdO'#HxO!5|QdO,5>cOOOW-E9x-E9xOOQS1G/|1G/|OOQS-E9{-E9{O!6[Q#xO1G2zO!6{QtO1G2zO'vQdO,5kOOQS1G1`1G1`O!8RQdO1G1`OOQS'#DV'#DVO0rQdO,5=qOOQS,5=q,5=qO!8WQdO'#FrO!8cQdO,59oO!8kQdO1G/XO!8uQtO,5=uOOQS1G3`1G3`OOQS,5:m,5:mO!9fQdO'#GtOOQS,5jO!;ZQdO,5>jO1XQdO,5>jO!;lQdO,5>iOOQS-E:R-E:RO!;qQdO1G0lO!;|QdO1G0lO!lO!lO!hO!=VQdO,5>hO!=hQdO'#EpO0rQdO1G0tO!=sQdO1G0tO!=xQgO1G0zO!AvQgO1G0}O!EqQdO,5>oO!E{QdO,5>oO!FTQtO,5>oO0rQdO1G1PO!F_QdO1G1PO4iQdO1G1UO!!vQdO1G1WOOQV,5;a,5;aO!FdQfO,5;aO!FiQgO1G1QO!JjQdO'#GZO4iQdO1G1QO4iQdO1G1QO!JzQdO,5>pO!KXQdO,5>pO1XQdO,5>pOOQV1G1U1G1UO!KaQdO'#FSO!KrQ!fO1G1WO!KzQdO1G1WOOQV1G1]1G1]O4iQdO1G1]O!LPQdO1G1]O!LXQdO'#F^OOQV1G1b1G1bO!#ZQtO1G1bPOOO1G2v1G2vP!L^OSO1G2vOOQS,5=},5=}OOQS'#Dp'#DpO0rQdO,5=}O!LfQdO,5=|O!LyQdO,5=|OOQS1G/u1G/uO!MRQdO,5>PO!McQdO,5>PO!MkQdO,5>PO!NOQdO,5>PO!N`QdO,5>POOQS1G3j1G3jOOQS7+$h7+$hO!8kQdO7+$pO#!RQdO1G.|O#!YQdO1G.|OOQS1G/`1G/`OOQS,5<`,5<`O'vQdO,5<`OOQS7+%P7+%PO#!aQdO7+%POOQS-E9r-E9rOOQS7+%Q7+%QO#!qQdO,5=vO'vQdO,5=vOOQS7+$g7+$gO#!vQdO7+%PO##OQdO7+%QO##TQdO1G3fOOQS7+%X7+%XO##eQdO1G3fO##mQdO7+%XOOQS,5<_,5<_O'vQdO,5<_O##rQdO1G3aOOQS-E9q-E9qO#$iQdO7+%]OOQS7+%_7+%_O#$wQdO1G3aO#%fQdO7+%_O#%kQdO1G3gO#%{QdO1G3gO#&TQdO7+%]O#&YQdO,5>dO#&sQdO,5>dO#&sQdO,5>dOOQS'#Dx'#DxO#'UO&jO'#DzO#'aO`O'#HyOOOW1G3}1G3}O#'fQdO1G3}O#'nQdO1G3}O#'yQ#xO7+(fO#(jQtO1G2UP#)TQdO'#GOOOQS,5nQdO,5sQdO1G4OOOQS-E9y-E9yO#?^QdO1G4OO<[QdO'#H{OOOO'#D{'#D{OOOO'#F|'#F|O#?oO&jO,5:fOOOW,5>e,5>eOOOW7+)i7+)iO#?zQdO7+)iO#@SQdO1G2zO#@mQdO1G2zP'vQdO'#FuO0rQdO<mO#BQQdO,5>mOOQS1G0v1G0vOOQS<rO#KgQdO,5>rO#KrQdO,5>rO#K}QdO,5>qO#L`QdO,5>qOOQS1G1Y1G1YOOQS,5;p,5;pOOQV<VAN>VO$ oQdO<cAN>cO0rQdO1G1|O$!PQtO1G1|P$!ZQdO'#FvOOQS1G2R1G2RP$!hQdO'#F{O$!uQdO7+)jO$#`QdO,5>gOOOO-E9z-E9zOOOW<tO$4{QdO,5>tO1XQdO,5vO$)nQdO,5>vOOQS1G1p1G1pOOQS,5<[,5<[OOQU7+'P7+'PO$+zQdO1G/iO$)nQdO,5wO$8zQdO,5>wOOQS1G1s1G1sOOQS7+'S7+'SP$)nQdO'#GdO$9SQdO1G4bO$9^QdO1G4bO$9fQdO1G4bOOQS7+%T7+%TO$9tQdO1G1tO$:SQtO'#FaO$:ZQdO,5<}OOQS,5<},5<}O$:iQdO1G4cOOQS-E:a-E:aO$)nQdO,5<|O$:pQdO,5<|O$:uQdO7+)|OOQS-E:`-E:`O$;PQdO7+)|O$)nQdO,5S~O%cOS%^OSSOS%]PQ~OPdOVaOfoOhYOopOs!POvqO!PrO!Q{O!T!SO!U!RO!XZO!][O!h`O!r`O!s`O!t`O!{tO!}uO#PvO#RwO#TxO#XyO#ZzO#^|O#_|O#a}O#c!OO#l!QO#o!TO#s!UO#u!VO#z!WO#}hO$P!XO%oRO%pRO%tSO%uWO&Z]O&[]O&]]O&^]O&_]O&`]O&a]O&b]O&c^O&d^O&e^O&f^O&g^O&h^O&i^O&j^O~O%]!YO~OV!aO_!aOa!bOh!iO!X!kO!f!mO%j![O%k!]O%l!^O%m!_O%n!_O%o!`O%p!`O%q!aO%r!aO%s!aO~Ok%xXl%xXm%xXn%xXo%xXp%xXs%xXz%xX{%xX!x%xX#g%xX%[%xX%_%xX%z%xXg%xX!T%xX!U%xX%{%xX!W%xX![%xX!Q%xX#[%xXt%xX!m%xX~P%SOfoOhYO!XZO!][O!h`O!r`O!s`O!t`O%oRO%pRO%tSO%uWO&Z]O&[]O&]]O&^]O&_]O&`]O&a]O&b]O&c^O&d^O&e^O&f^O&g^O&h^O&i^O&j^O~Oz%wX{%wX#g%wX%[%wX%_%wX%z%wX~Ok!pOl!qOm!oOn!oOo!rOp!sOs!tO!x%wX~P)pOV!zOg!|Oo0cOv0qO!PrO~P'vOV#OOo0cOv0qO!W#PO~P'vOV#SOa#TOo0cOv0qO![#UO~P'vOQ#XO%`#XO%a#ZO~OQ#^OR#[O%`#^O%a#`O~OV%iX_%iXa%iXh%iXk%iXl%iXm%iXn%iXo%iXp%iXs%iXz%iX!X%iX!f%iX%j%iX%k%iX%l%iX%m%iX%n%iX%o%iX%p%iX%q%iX%r%iX%s%iXg%iX!T%iX!U%iX~O&Z]O&[]O&]]O&^]O&_]O&`]O&a]O&b]O&c^O&d^O&e^O&f^O&g^O&h^O&i^O&j^O{%iX!x%iX#g%iX%[%iX%_%iX%z%iX%{%iX!W%iX![%iX!Q%iX#[%iXt%iX!m%iX~P,eOz#dO{%hX!x%hX#g%hX%[%hX%_%hX%z%hX~Oo0cOv0qO~P'vO#g#gO%[#iO%_#iO~O%uWO~O!T#nO#u!VO#z!WO#}hO~OopO~P'vOV#sOa#tO%uWO{wP~OV#xOo0cOv0qO!Q#yO~P'vO{#{O!x$QO%z#|O#g!yX%[!yX%_!yX~OV#xOo0cOv0qO#g#SX%[#SX%_#SX~P'vOo0cOv0qO#g#WX%[#WX%_#WX~P'vOh$WO%uWO~O!f$YO!r$YO%uWO~OV$eO~P'vO!U$gO#s$hO#u$iO~O{$jO~OV$qO~P'vOS$sO%[$rO%_$rO%c$tO~OV$}Oa$}Og%POo0cOv0qO~P'vOo0cOv0qO{%SO~P'vO&Y%UO~Oa!bOh!iO!X!kO!f!mOVba_bakbalbambanbaobapbasbazba{ba!xba#gba%[ba%_ba%jba%kba%lba%mba%nba%oba%pba%qba%rba%sba%zbagba!Tba!Uba%{ba!Wba![ba!Qba#[batba!mba~On%ZO~Oo%ZO~P'vOo0cO~P'vOk0eOl0fOm0dOn0dOo0mOp0nOs0rOg%wX!T%wX!U%wX%{%wX!W%wX![%wX!Q%wX#[%wX!m%wX~P)pO%{%]Og%vXz%vX!T%vX!U%vX!W%vX{%vX~Og%_Oz%`O!T%dO!U%cO~Og%_O~Oz%gO!T%dO!U%cO!W&SX~O!W%kO~Oz%lO{%nO!T%dO!U%cO![%}X~O![%rO~O![%sO~OQ#XO%`#XO%a%uO~OV%wOo0cOv0qO!PrO~P'vOQ#^OR#[O%`#^O%a%zO~OV!qa_!qaa!qah!qak!qal!qam!qan!qao!qap!qas!qaz!qa{!qa!X!qa!f!qa!x!qa#g!qa%[!qa%_!qa%j!qa%k!qa%l!qa%m!qa%n!qa%o!qa%p!qa%q!qa%r!qa%s!qa%z!qag!qa!T!qa!U!qa%{!qa!W!qa![!qa!Q!qa#[!qat!qa!m!qa~P#yOz%|O{%ha!x%ha#g%ha%[%ha%_%ha%z%ha~P%SOV&OOopOvqO{%ha!x%ha#g%ha%[%ha%_%ha%z%ha~P'vOz%|O{%ha!x%ha#g%ha%[%ha%_%ha%z%ha~OPdOVaOopOvqO!PrO!Q{O!{tO!}uO#PvO#RwO#TxO#XyO#ZzO#^|O#_|O#a}O#c!OO#g$zX%[$zX%_$zX~P'vO#g#gO%[&TO%_&TO~O!f&UOh&sX%[&sXz&sX#[&sX#g&sX%_&sX#Z&sXg&sX~Oh!iO%[&WO~Okealeameaneaoeapeaseazea{ea!xea#gea%[ea%_ea%zeagea!Tea!Uea%{ea!Wea![ea!Qea#[eatea!mea~P%SOsqazqa{qa#gqa%[qa%_qa%zqa~Ok!pOl!qOm!oOn!oOo!rOp!sO!xqa~PEcO%z&YOz%yX{%yX~O%uWOz%yX{%yX~Oz&]O{wX~O{&_O~Oz%lO#g%}X%[%}X%_%}Xg%}X{%}X![%}X!m%}X%z%}X~OV0lOo0cOv0qO!PrO~P'vO%z#|O#gUa%[Ua%_Ua~Oz&hO#g&PX%[&PX%_&PXn&PX~P%SOz&kO!Q&jO#g#Wa%[#Wa%_#Wa~Oz&lO#[&nO#g&rX%[&rX%_&rXg&rX~O!f$YO!r$YO#Z&qO%uWO~O#Z&qO~Oz&sO#g&tX%[&tX%_&tX~Oz&uO#g&pX%[&pX%_&pX{&pX~O!X&wO%z&xO~Oz&|On&wX~P%SOn'PO~OPdOVaOopOvqO!PrO!Q{O!{tO!}uO#PvO#RwO#TxO#XyO#ZzO#^|O#_|O#a}O#c!OO%['UO~P'vOt'YO#p'WO#q'XOP#naV#naf#nah#nao#nas#nav#na!P#na!Q#na!T#na!U#na!X#na!]#na!h#na!r#na!s#na!t#na!{#na!}#na#P#na#R#na#T#na#X#na#Z#na#^#na#_#na#a#na#c#na#l#na#o#na#s#na#u#na#z#na#}#na$P#na%X#na%o#na%p#na%t#na%u#na&Z#na&[#na&]#na&^#na&_#na&`#na&a#na&b#na&c#na&d#na&e#na&f#na&g#na&h#na&i#na&j#na%Z#na%_#na~Oz'ZO#[']O{&xX~Oh'_O!X&wO~Oh!iO{$jO!X&wO~O{'eO~P%SO%['hO%_'hO~OS'iO%['hO%_'hO~OV!aO_!aOa!bOh!iO!X!kO!f!mO%l!^O%m!_O%n!_O%o!`O%p!`O%q!aO%r!aO%s!aOkWilWimWinWioWipWisWizWi{Wi!xWi#gWi%[Wi%_Wi%jWi%zWigWi!TWi!UWi%{Wi!WWi![Wi!QWi#[WitWi!mWi~O%k!]O~P!#uO%kWi~P!#uOV!aO_!aOa!bOh!iO!X!kO!f!mO%o!`O%p!`O%q!aO%r!aO%s!aOkWilWimWinWioWipWisWizWi{Wi!xWi#gWi%[Wi%_Wi%jWi%kWi%lWi%zWigWi!TWi!UWi%{Wi!WWi![Wi!QWi#[WitWi!mWi~O%m!_O%n!_O~P!&pO%mWi%nWi~P!&pOa!bOh!iO!X!kO!f!mOkWilWimWinWioWipWisWizWi{Wi!xWi#gWi%[Wi%_Wi%jWi%kWi%lWi%mWi%nWi%oWi%pWi%zWigWi!TWi!UWi%{Wi!WWi![Wi!QWi#[WitWi!mWi~OV!aO_!aO%q!aO%r!aO%s!aO~P!)nOVWi_Wi%qWi%rWi%sWi~P!)nO!T%dO!U%cOg&VXz&VX~O%z'kO%{'kO~P,eOz'mOg&UX~Og'oO~Oz'pO{'rO!W&XX~Oo0cOv0qOz'pO{'sO!W&XX~P'vO!W'uO~Om!oOn!oOo!rOp!sOkjisjizji{ji!xji#gji%[ji%_ji%zji~Ol!qO~P!.aOlji~P!.aOk0eOl0fOm0dOn0dOo0mOp0nO~Ot'wO~P!/jOV'|Og'}Oo0cOv0qO~P'vOg'}Oz(OO~Og(QO~O!U(SO~Og(TOz(OO!T%dO!U%cO~P%SOk0eOl0fOm0dOn0dOo0mOp0nOgqa!Tqa!Uqa%{qa!Wqa![qa!Qqa#[qatqa!mqa~PEcOV'|Oo0cOv0qO!W&Sa~P'vOz(WO!W&Sa~O!W(XO~Oz(WO!T%dO!U%cO!W&Sa~P%SOV(]Oo0cOv0qO![%}a#g%}a%[%}a%_%}ag%}a{%}a!m%}a%z%}a~P'vOz(^O![%}a#g%}a%[%}a%_%}ag%}a{%}a!m%}a%z%}a~O![(aO~Oz(^O!T%dO!U%cO![%}a~P%SOz(dO!T%dO!U%cO![&Ta~P%SOz(gO{&lX![&lX!m&lX%z&lX~O{(kO![(mO!m(nO%z(jO~OV&OOopOvqO{%hi!x%hi#g%hi%[%hi%_%hi%z%hi~P'vOz(pO{%hi!x%hi#g%hi%[%hi%_%hi%z%hi~O!f&UOh&sa%[&saz&sa#[&sa#g&sa%_&sa#Z&sag&sa~O%[(uO~OV#sOa#tO%uWO~Oz&]O{wa~OopOvqO~P'vOz(^O#g%}a%[%}a%_%}ag%}a{%}a![%}a!m%}a%z%}a~P%SOz(zO#g%hX%[%hX%_%hX%z%hX~O%z#|O#gUi%[Ui%_Ui~O#g&Pa%[&Pa%_&Pan&Pa~P'vOz(}O#g&Pa%[&Pa%_&Pan&Pa~O%uWO#g&ra%[&ra%_&rag&ra~Oz)SO#g&ra%[&ra%_&rag&ra~Og)VO~OV)WOh$WO%uWO~O#Z)XO~O%uWO#g&ta%[&ta%_&ta~Oz)ZO#g&ta%[&ta%_&ta~Oo0cOv0qO#g&pa%[&pa%_&pa{&pa~P'vOz)^O#g&pa%[&pa%_&pa{&pa~OV)`Oa)`O%uWO~O%z)eO~Ot)hO#j)gOP#hiV#hif#hih#hio#his#hiv#hi!P#hi!Q#hi!T#hi!U#hi!X#hi!]#hi!h#hi!r#hi!s#hi!t#hi!{#hi!}#hi#P#hi#R#hi#T#hi#X#hi#Z#hi#^#hi#_#hi#a#hi#c#hi#l#hi#o#hi#s#hi#u#hi#z#hi#}#hi$P#hi%X#hi%o#hi%p#hi%t#hi%u#hi&Z#hi&[#hi&]#hi&^#hi&_#hi&`#hi&a#hi&b#hi&c#hi&d#hi&e#hi&f#hi&g#hi&h#hi&i#hi&j#hi%Z#hi%_#hi~Ot)iOP#kiV#kif#kih#kio#kis#kiv#ki!P#ki!Q#ki!T#ki!U#ki!X#ki!]#ki!h#ki!r#ki!s#ki!t#ki!{#ki!}#ki#P#ki#R#ki#T#ki#X#ki#Z#ki#^#ki#_#ki#a#ki#c#ki#l#ki#o#ki#s#ki#u#ki#z#ki#}#ki$P#ki%X#ki%o#ki%p#ki%t#ki%u#ki&Z#ki&[#ki&]#ki&^#ki&_#ki&`#ki&a#ki&b#ki&c#ki&d#ki&e#ki&f#ki&g#ki&h#ki&i#ki&j#ki%Z#ki%_#ki~OV)kOn&wa~P'vOz)lOn&wa~Oz)lOn&wa~P%SOn)pO~O%Y)tO~Ot)wO#p'WO#q)vOP#niV#nif#nih#nio#nis#niv#ni!P#ni!Q#ni!T#ni!U#ni!X#ni!]#ni!h#ni!r#ni!s#ni!t#ni!{#ni!}#ni#P#ni#R#ni#T#ni#X#ni#Z#ni#^#ni#_#ni#a#ni#c#ni#l#ni#o#ni#s#ni#u#ni#z#ni#}#ni$P#ni%X#ni%o#ni%p#ni%t#ni%u#ni&Z#ni&[#ni&]#ni&^#ni&_#ni&`#ni&a#ni&b#ni&c#ni&d#ni&e#ni&f#ni&g#ni&h#ni&i#ni&j#ni%Z#ni%_#ni~OV)zOo0cOv0qO{$jO~P'vOo0cOv0qO{&xa~P'vOz*OO{&xa~OV*SOa*TOg*WO%q*UO%uWO~O{$jO&{*YO~Oh'_O~Oh!iO{$jO~O%[*_O~O%[*aO%_*aO~OV$}Oa$}Oo0cOv0qOg&Ua~P'vOz*dOg&Ua~Oo0cOv0qO{*gO!W&Xa~P'vOz*hO!W&Xa~Oo0cOv0qOz*hO{*kO!W&Xa~P'vOo0cOv0qOz*hO!W&Xa~P'vOz*hO{*kO!W&Xa~Om0dOn0dOo0mOp0nOgjikjisjizji!Tji!Uji%{ji!Wji{ji![ji#gji%[ji%_ji!Qji#[jitji!mji%zji~Ol0fO~P!NkOlji~P!NkOV'|Og*pOo0cOv0qO~P'vOn*rO~Og*pOz*tO~Og*uO~OV'|Oo0cOv0qO!W&Si~P'vOz*vO!W&Si~O!W*wO~OV(]Oo0cOv0qO![%}i#g%}i%[%}i%_%}ig%}i{%}i!m%}i%z%}i~P'vOz*zO!T%dO!U%cO![&Ti~Oz*}O![%}i#g%}i%[%}i%_%}ig%}i{%}i!m%}i%z%}i~O![+OO~Oa+QOo0cOv0qO![&Ti~P'vOz*zO![&Ti~O![+SO~OV+UOo0cOv0qO{&la![&la!m&la%z&la~P'vOz+VO{&la![&la!m&la%z&la~O!]+YO&n+[O![!nX~O![+^O~O{(kO![+_O~O{(kO![+_O!m+`O~OV&OOopOvqO{%hq!x%hq#g%hq%[%hq%_%hq%z%hq~P'vOz$ri{$ri!x$ri#g$ri%[$ri%_$ri%z$ri~P%SOV&OOopOvqO~P'vOV&OOo0cOv0qO#g%ha%[%ha%_%ha%z%ha~P'vOz+aO#g%ha%[%ha%_%ha%z%ha~Oz$ia#g$ia%[$ia%_$ian$ia~P%SO#g&Pi%[&Pi%_&Pin&Pi~P'vOz+dO#g#Wq%[#Wq%_#Wq~O#[+eOz$va#g$va%[$va%_$vag$va~O%uWO#g&ri%[&ri%_&rig&ri~Oz+gO#g&ri%[&ri%_&rig&ri~OV+iOh$WO%uWO~O%uWO#g&ti%[&ti%_&ti~Oo0cOv0qO#g&pi%[&pi%_&pi{&pi~P'vO{#{Oz#eX!W#eX~Oz+mO!W&uX~O!W+oO~Ot+rO#j)gOP#hqV#hqf#hqh#hqo#hqs#hqv#hq!P#hq!Q#hq!T#hq!U#hq!X#hq!]#hq!h#hq!r#hq!s#hq!t#hq!{#hq!}#hq#P#hq#R#hq#T#hq#X#hq#Z#hq#^#hq#_#hq#a#hq#c#hq#l#hq#o#hq#s#hq#u#hq#z#hq#}#hq$P#hq%X#hq%o#hq%p#hq%t#hq%u#hq&Z#hq&[#hq&]#hq&^#hq&_#hq&`#hq&a#hq&b#hq&c#hq&d#hq&e#hq&f#hq&g#hq&h#hq&i#hq&j#hq%Z#hq%_#hq~On$|az$|a~P%SOV)kOn&wi~P'vOz+yOn&wi~Oz,TO{$jO#[,TO~O#q,VOP#nqV#nqf#nqh#nqo#nqs#nqv#nq!P#nq!Q#nq!T#nq!U#nq!X#nq!]#nq!h#nq!r#nq!s#nq!t#nq!{#nq!}#nq#P#nq#R#nq#T#nq#X#nq#Z#nq#^#nq#_#nq#a#nq#c#nq#l#nq#o#nq#s#nq#u#nq#z#nq#}#nq$P#nq%X#nq%o#nq%p#nq%t#nq%u#nq&Z#nq&[#nq&]#nq&^#nq&_#nq&`#nq&a#nq&b#nq&c#nq&d#nq&e#nq&f#nq&g#nq&h#nq&i#nq&j#nq%Z#nq%_#nq~O#[,WOz%Oa{%Oa~Oo0cOv0qO{&xi~P'vOz,YO{&xi~O{#{O%z,[Og&zXz&zX~O%uWOg&zXz&zX~Oz,`Og&yX~Og,bO~O%Y,eO~O!T%dO!U%cOg&Viz&Vi~OV$}Oa$}Oo0cOv0qOg&Ui~P'vO{,hOz$la!W$la~Oo0cOv0qO{,iOz$la!W$la~P'vOo0cOv0qO{*gO!W&Xi~P'vOz,lO!W&Xi~Oo0cOv0qOz,lO!W&Xi~P'vOz,lO{,oO!W&Xi~Og$hiz$hi!W$hi~P%SOV'|Oo0cOv0qO~P'vOn,qO~OV'|Og,rOo0cOv0qO~P'vOV'|Oo0cOv0qO!W&Sq~P'vOz$gi![$gi#g$gi%[$gi%_$gig$gi{$gi!m$gi%z$gi~P%SOV(]Oo0cOv0qO~P'vOa+QOo0cOv0qO![&Tq~P'vOz,sO![&Tq~O![,tO~OV(]Oo0cOv0qO![%}q#g%}q%[%}q%_%}qg%}q{%}q!m%}q%z%}q~P'vO{,uO~OV+UOo0cOv0qO{&li![&li!m&li%z&li~P'vOz,zO{&li![&li!m&li%z&li~O!]+YO&n+[O![!na~O{(kO![,}O~OV&OOo0cOv0qO#g%hi%[%hi%_%hi%z%hi~P'vOz-OO#g%hi%[%hi%_%hi%z%hi~O%uWO#g&rq%[&rq%_&rqg&rq~Oz-RO#g&rq%[&rq%_&rqg&rq~OV)`Oa)`O%uWO!W&ua~Oz-TO!W&ua~On$|iz$|i~P%SOV)kO~P'vOV)kOn&wq~P'vOt-XOP#myV#myf#myh#myo#mys#myv#my!P#my!Q#my!T#my!U#my!X#my!]#my!h#my!r#my!s#my!t#my!{#my!}#my#P#my#R#my#T#my#X#my#Z#my#^#my#_#my#a#my#c#my#l#my#o#my#s#my#u#my#z#my#}#my$P#my%X#my%o#my%p#my%t#my%u#my&Z#my&[#my&]#my&^#my&_#my&`#my&a#my&b#my&c#my&d#my&e#my&f#my&g#my&h#my&i#my&j#my%Z#my%_#my~O%Z-]O%_-]O~P`O#q-^OP#nyV#nyf#nyh#nyo#nys#nyv#ny!P#ny!Q#ny!T#ny!U#ny!X#ny!]#ny!h#ny!r#ny!s#ny!t#ny!{#ny!}#ny#P#ny#R#ny#T#ny#X#ny#Z#ny#^#ny#_#ny#a#ny#c#ny#l#ny#o#ny#s#ny#u#ny#z#ny#}#ny$P#ny%X#ny%o#ny%p#ny%t#ny%u#ny&Z#ny&[#ny&]#ny&^#ny&_#ny&`#ny&a#ny&b#ny&c#ny&d#ny&e#ny&f#ny&g#ny&h#ny&i#ny&j#ny%Z#ny%_#ny~Oz-aO{$jO#[-aO~Oo0cOv0qO{&xq~P'vOz-dO{&xq~O%z,[Og&zaz&za~O{#{Og&zaz&za~OV*SOa*TO%q*UO%uWOg&ya~Oz-hOg&ya~O$S-lO~OV$}Oa$}Oo0cOv0qO~P'vOo0cOv0qO{-mOz$li!W$li~P'vOo0cOv0qOz$li!W$li~P'vO{-mOz$li!W$li~Oo0cOv0qO{*gO~P'vOo0cOv0qO{*gO!W&Xq~P'vOz-pO!W&Xq~Oo0cOv0qOz-pO!W&Xq~P'vOs-sO!T%dO!U%cOg&Oq!W&Oq![&Oqz&Oq~P!/jOa+QOo0cOv0qO![&Ty~P'vOz$ji![$ji~P%SOa+QOo0cOv0qO~P'vOV+UOo0cOv0qO~P'vOV+UOo0cOv0qO{&lq![&lq!m&lq%z&lq~P'vO{(kO![-xO!m-yO%z-wO~OV&OOo0cOv0qO#g%hq%[%hq%_%hq%z%hq~P'vO%uWO#g&ry%[&ry%_&ryg&ry~OV)`Oa)`O%uWO!W&ui~Ot-}OP#m!RV#m!Rf#m!Rh#m!Ro#m!Rs#m!Rv#m!R!P#m!R!Q#m!R!T#m!R!U#m!R!X#m!R!]#m!R!h#m!R!r#m!R!s#m!R!t#m!R!{#m!R!}#m!R#P#m!R#R#m!R#T#m!R#X#m!R#Z#m!R#^#m!R#_#m!R#a#m!R#c#m!R#l#m!R#o#m!R#s#m!R#u#m!R#z#m!R#}#m!R$P#m!R%X#m!R%o#m!R%p#m!R%t#m!R%u#m!R&Z#m!R&[#m!R&]#m!R&^#m!R&_#m!R&`#m!R&a#m!R&b#m!R&c#m!R&d#m!R&e#m!R&f#m!R&g#m!R&h#m!R&i#m!R&j#m!R%Z#m!R%_#m!R~Oo0cOv0qO{&xy~P'vOV*SOa*TO%q*UO%uWOg&yi~O$S-lO%Z.VO%_.VO~OV.aOh._O!X.^O!].`O!h.YO!s.[O!t.[O%p.XO%uWO&Z]O&[]O&]]O&^]O&_]O&`]O&a]O&b]O~Oo0cOv0qOz$lq!W$lq~P'vO{.fOz$lq!W$lq~Oo0cOv0qO{*gO!W&Xy~P'vOz.gO!W&Xy~Oo0cOv.kO~P'vOs-sO!T%dO!U%cOg&Oy!W&Oy![&Oyz&Oy~P!/jO{(kO![.nO~O{(kO![.nO!m.oO~OV*SOa*TO%q*UO%uWO~Oh.tO!f.rOz$TX#[$TX%j$TXg$TX~Os$TX{$TX!W$TX![$TX~P$-bO%o.vO%p.vOs$UXz$UX{$UX#[$UX%j$UX!W$UXg$UX![$UX~O!h.xO~Oz.|O#[/OO%j.yOs&|X{&|X!W&|Xg&|X~Oa/RO~P$)zOh.tOs&}Xz&}X{&}X#[&}X%j&}X!W&}Xg&}X![&}X~Os/VO{$jO~Oo0cOv0qOz$ly!W$ly~P'vOo0cOv0qO{*gO!W&X!R~P'vOz/ZO!W&X!R~Og&RXs&RX!T&RX!U&RX!W&RX![&RXz&RX~P!/jOs-sO!T%dO!U%cOg&Qa!W&Qa![&Qaz&Qa~O{(kO![/^O~O!f.rOh$[as$[az$[a{$[a#[$[a%j$[a!W$[ag$[a![$[a~O!h/eO~O%o.vO%p.vOs$Uaz$Ua{$Ua#[$Ua%j$Ua!W$Uag$Ua![$Ua~O%j.yOs$Yaz$Ya{$Ya#[$Ya!W$Yag$Ya![$Ya~Os&|a{&|a!W&|ag&|a~P$)nOz/jOs&|a{&|a!W&|ag&|a~O!W/mO~Og/mO~O{/oO~O![/pO~Oo0cOv0qO{*gO!W&X!Z~P'vO{/sO~O%z/tO~P$-bOz/uO#[/OO%j.yOg'PX~Oz/uOg'PX~Og/wO~O!h/xO~O#[/OOs%Saz%Sa{%Sa%j%Sa!W%Sag%Sa![%Sa~O#[/OO%j.yOs%Waz%Wa{%Wa!W%Wag%Wa~Os&|i{&|i!W&|ig&|i~P$)nOz/zO#[/OO%j.yO!['Oa~Og'Pa~P$)nOz0SOg'Pa~Oa0UO!['Oi~P$)zOz0WO!['Oi~Oz0WO#[/OO%j.yO!['Oi~O#[/OO%j.yOg$biz$bi~O%z0ZO~P$-bO#[/OO%j.yOg%Vaz%Va~Og'Pi~P$)nO{0^O~Oa0UO!['Oq~P$)zOz0`O!['Oq~O#[/OO%j.yOz%Ui![%Ui~Oa0UO~P$)zOa0UO!['Oy~P$)zO#[/OO%j.yOg$ciz$ci~O#[/OO%j.yOz%Uq![%Uq~Oz+aO#g%ha%[%ha%_%ha%z%ha~P%SOV&OOo0cOv0qO~P'vOn0hO~Oo0hO~P'vO{0iO~Ot0jO~P!/jO&]&Z&j&h&i&g&f&d&e&c&b&`&a&_&^&[%u~",goto:"!=j'QPPPPPP'RP'Z*s+[+t,_,y-fP.SP'Z.r.r'ZPPP'Z2[PPPPPP2[5PPP5PP7b7k=sPP=v>h>kPP'Z'ZPP>zPP'Z'ZPP'Z'Z'Z'Z'Z?O?w'ZP?zP@QDXGuGyPG|HWH['ZPPPH_Hk'RP'R'RP'RP'RP'RP'RP'R'R'RP'RPP'RPP'RP'RPHqH}IVPI^IdPI^PI^I^PPPI^PKrPK{LVL]KrPI^LfPI^PLmLsPLwM]MzNeLwLwNkNxLwLwLwLw! ^! d! g! l! o! y!!P!!]!!o!!u!#P!#V!#s!#y!$P!$Z!$a!$g!$y!%T!%Z!%a!%k!%q!%w!%}!&T!&Z!&e!&k!&u!&{!'U!'[!'k!'s!'}!(UPPPPPPPPPPP!([!(_!(e!(n!(x!)TPPPPPPPPPPPP!-u!/Z!3^!6oPP!6w!7W!7a!8Y!8P!8c!8i!8l!8o!8r!8z!9jPPPPPPPPPPPPPPPPP!9m!9q!9wP!:]!:a!:m!:v!;S!;j!;m!;p!;v!;|!_![!]Do!]!^Es!^!_FZ!_!`Gk!`!aHX!a!b%T!b!cIf!c!dJU!d!eK^!e!hJU!h!i!#f!i!tJU!t!u!,|!u!wJU!w!x!.t!x!}JU!}#O!0S#O#P&o#P#Q!0j#Q#R!1Q#R#SJU#S#T%T#T#UJU#U#VK^#V#YJU#Y#Z!#f#Z#fJU#f#g!,|#g#iJU#i#j!.t#j#oJU#o#p!1n#p#q!1s#q#r!2a#r#s!2f#s$g%T$g;'SJU;'S;=`KW<%lOJU`%YT&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%T`%lP;=`<%l%To%v]&n`%c_OX%TXY%oY[%T[]%o]p%Tpq%oq#O%T#O#P&o#P#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%To&tX&n`OY%TYZ%oZ]%T]^%o^#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tc'f[&n`O!_%T!_!`([!`#T%T#T#U(r#U#f%T#f#g(r#g#h(r#h#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tc(cTmR&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tc(yT!mR&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk)aV&n`&[ZOr%Trs)vs#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk){V&n`Or%Trs*bs#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk*iT&n`&^ZO#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%To+PZS_&n`OY*xYZ%TZ]*x]^%T^#o*x#o#p+r#p#q*x#q#r+r#r;'S*x;'S;=`,^<%lO*x_+wTS_OY+rZ]+r^;'S+r;'S;=`,W<%lO+r_,ZP;=`<%l+ro,aP;=`<%l*xj,kV%rQ&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tj-XT!xY&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tj-oV%lQ&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk.]V&n`&ZZOw%Twx.rx#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk.wV&n`Ow%Twx/^x#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk/eT&n`&]ZO#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk/{ThZ&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tc0cTgR&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk0yXVZ&n`Oz%Tz{1f{!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk1mVaR&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk2ZV%oZ&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tc2wTzR&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%To3_W%pZ&n`O!_%T!_!`-Q!`!a3w!a#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Td4OT&{S&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk4fX!fQ&n`O!O%T!O!P5R!P!Q%T!Q![6T![#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk5WV&n`O!O%T!O!P5m!P#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk5tT!rZ&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti6[a!hX&n`O!Q%T!Q![6T![!g%T!g!h7a!h!l%T!l!m9s!m#R%T#R#S6T#S#X%T#X#Y7a#Y#^%T#^#_9s#_#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti7fZ&n`O{%T{|8X|}%T}!O8X!O!Q%T!Q![8s![#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti8^V&n`O!Q%T!Q![8s![#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti8z]!hX&n`O!Q%T!Q![8s![!l%T!l!m9s!m#R%T#R#S8s#S#^%T#^#_9s#_#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti9zT!hX&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk:bX%qR&n`O!P%T!P!Q:}!Q!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tj;UV%sQ&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti;ro!hX&n`O!O%T!O!P=s!P!Q%T!Q![>_![!d%T!d!e?q!e!g%T!g!h7a!h!l%T!l!m9s!m!q%T!q!rA]!r!z%T!z!{Bq!{#R%T#R#S>_#S#U%T#U#V?q#V#X%T#X#Y7a#Y#^%T#^#_9s#_#c%T#c#dA]#d#l%T#l#mBq#m#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti=xV&n`O!Q%T!Q![6T![#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti>fc!hX&n`O!O%T!O!P=s!P!Q%T!Q![>_![!g%T!g!h7a!h!l%T!l!m9s!m#R%T#R#S>_#S#X%T#X#Y7a#Y#^%T#^#_9s#_#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti?vY&n`O!Q%T!Q!R@f!R!S@f!S#R%T#R#S@f#S#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti@mY!hX&n`O!Q%T!Q!R@f!R!S@f!S#R%T#R#S@f#S#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TiAbX&n`O!Q%T!Q!YA}!Y#R%T#R#SA}#S#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TiBUX!hX&n`O!Q%T!Q!YA}!Y#R%T#R#SA}#S#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TiBv]&n`O!Q%T!Q![Co![!c%T!c!iCo!i#R%T#R#SCo#S#T%T#T#ZCo#Z#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TiCv]!hX&n`O!Q%T!Q![Co![!c%T!c!iCo!i#R%T#R#SCo#S#T%T#T#ZCo#Z#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%ToDvV{_&n`O!_%T!_!`E]!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TcEdT%{R&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TkEzT#gZ&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TkFbXmR&n`O!^%T!^!_F}!_!`([!`!a([!a#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TjGUV%mQ&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TkGrV%zZ&n`O!_%T!_!`([!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TkH`WmR&n`O!_%T!_!`([!`!aHx!a#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TjIPV%nQ&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TkIoV_Q#}P&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%ToJ_]&n`&YS%uZO!Q%T!Q![JU![!c%T!c!}JU!}#R%T#R#SJU#S#T%T#T#oJU#p#q%T#r$g%T$g;'SJU;'S;=`KW<%lOJUoKZP;=`<%lJUoKge&n`&YS%uZOr%Trs)Ysw%Twx.Ux!Q%T!Q![JU![!c%T!c!tJU!t!uLx!u!}JU!}#R%T#R#SJU#S#T%T#T#fJU#f#gLx#g#oJU#p#q%T#r$g%T$g;'SJU;'S;=`KW<%lOJUoMRa&n`&YS%uZOr%TrsNWsw%Twx! vx!Q%T!Q![JU![!c%T!c!}JU!}#R%T#R#SJU#S#T%T#T#oJU#p#q%T#r$g%T$g;'SJU;'S;=`KW<%lOJUkN_V&n`&`ZOr%TrsNts#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TkNyV&n`Or%Trs! `s#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk! gT&n`&bZO#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk! }V&n`&_ZOw%Twx!!dx#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!!iV&n`Ow%Twx!#Ox#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!#VT&n`&aZO#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%To!#oe&n`&YS%uZOr%Trs!%Qsw%Twx!&px!Q%T!Q![JU![!c%T!c!tJU!t!u!(`!u!}JU!}#R%T#R#SJU#S#T%T#T#fJU#f#g!(`#g#oJU#p#q%T#r$g%T$g;'SJU;'S;=`KW<%lOJUk!%XV&n`&dZOr%Trs!%ns#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!%sV&n`Or%Trs!&Ys#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!&aT&n`&fZO#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!&wV&n`&cZOw%Twx!'^x#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!'cV&n`Ow%Twx!'xx#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!(PT&n`&eZO#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%To!(ia&n`&YS%uZOr%Trs!)nsw%Twx!+^x!Q%T!Q![JU![!c%T!c!}JU!}#R%T#R#SJU#S#T%T#T#oJU#p#q%T#r$g%T$g;'SJU;'S;=`KW<%lOJUk!)uV&n`&hZOr%Trs!*[s#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!*aV&n`Or%Trs!*vs#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!*}T&n`&jZO#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!+eV&n`&gZOw%Twx!+zx#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!,PV&n`Ow%Twx!,fx#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!,mT&n`&iZO#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%To!-Vi&n`&YS%uZOr%TrsNWsw%Twx! vx!Q%T!Q![JU![!c%T!c!dJU!d!eLx!e!hJU!h!i!(`!i!}JU!}#R%T#R#SJU#S#T%T#T#UJU#U#VLx#V#YJU#Y#Z!(`#Z#oJU#p#q%T#r$g%T$g;'SJU;'S;=`KW<%lOJUo!.}a&n`&YS%uZOr%Trs)Ysw%Twx.Ux!Q%T!Q![JU![!c%T!c!}JU!}#R%T#R#SJU#S#T%T#T#oJU#p#q%T#r$g%T$g;'SJU;'S;=`KW<%lOJUk!0ZT!XZ&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tc!0qT!WR&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tj!1XV%kQ&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%T~!1sO!]~k!1zV%jR&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%T~!2fO![~i!2mT%tX&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%T",tokenizers:[K5,V5,H5,Z5,0,1,2,3,4],topRules:{Script:[0,5]},specialized:[{term:221,get:t=>e4[t]||-1}],tokenPrec:7668}),Iw=new CL,yE=new Set(["Script","Body","FunctionDefinition","ClassDefinition","LambdaExpression","ForStatement","MatchClause"]);function nh(t){return(e,n,r)=>{if(r)return!1;let i=e.node.getChild("VariableName");return i&&n(i,t),!0}}const n4={FunctionDefinition:nh("function"),ClassDefinition:nh("class"),ForStatement(t,e,n){if(n){for(let r=t.node.firstChild;r;r=r.nextSibling)if(r.name=="VariableName")e(r,"variable");else if(r.name=="in")break}},ImportStatement(t,e){var n,r;let{node:i}=t,s=((n=i.firstChild)===null||n===void 0?void 0:n.name)=="from";for(let o=i.getChild("import");o;o=o.nextSibling)o.name=="VariableName"&&((r=o.nextSibling)===null||r===void 0?void 0:r.name)!="as"&&e(o,s?"variable":"namespace")},AssignStatement(t,e){for(let n=t.node.firstChild;n;n=n.nextSibling)if(n.name=="VariableName")e(n,"variable");else if(n.name==":"||n.name=="AssignOp")break},ParamList(t,e){for(let n=null,r=t.node.firstChild;r;r=r.nextSibling)r.name=="VariableName"&&(!n||!/\*|AssignOp/.test(n.name))&&e(r,"variable"),n=r},CapturePattern:nh("variable"),AsPattern:nh("variable"),__proto__:null};function vE(t,e){let n=Iw.get(e);if(n)return n;let r=[],i=!0;function s(o,l){let a=t.sliceString(o.from,o.to);r.push({label:a,type:l})}return e.cursor(st.IncludeAnonymous).iterate(o=>{if(o.name){let l=n4[o.name];if(l&&l(o,s,i)||!i&&yE.has(o.name))return!1;i=!1}else if(o.to-o.from>8192){for(let l of vE(t,o.node))r.push(l);return!1}}),Iw.set(e,r),r}const zw=/^[\w\xa1-\uffff][\w\d\xa1-\uffff]*$/,wE=["String","FormatString","Comment","PropertyName"];function r4(t){let e=Qt(t.state).resolveInner(t.pos,-1);if(wE.indexOf(e.name)>-1)return null;let n=e.name=="VariableName"||e.to-e.from<20&&zw.test(t.state.sliceDoc(e.from,e.to));if(!n&&!t.explicit)return null;let r=[];for(let i=e;i;i=i.parent)yE.has(i.name)&&(r=r.concat(vE(t.state.doc,i)));return{options:r,from:n?e.from:t.pos,validFor:zw}}const i4=["__annotations__","__builtins__","__debug__","__doc__","__import__","__name__","__loader__","__package__","__spec__","False","None","True"].map(t=>({label:t,type:"constant"})).concat(["ArithmeticError","AssertionError","AttributeError","BaseException","BlockingIOError","BrokenPipeError","BufferError","BytesWarning","ChildProcessError","ConnectionAbortedError","ConnectionError","ConnectionRefusedError","ConnectionResetError","DeprecationWarning","EOFError","Ellipsis","EncodingWarning","EnvironmentError","Exception","FileExistsError","FileNotFoundError","FloatingPointError","FutureWarning","GeneratorExit","IOError","ImportError","ImportWarning","IndentationError","IndexError","InterruptedError","IsADirectoryError","KeyError","KeyboardInterrupt","LookupError","MemoryError","ModuleNotFoundError","NameError","NotADirectoryError","NotImplemented","NotImplementedError","OSError","OverflowError","PendingDeprecationWarning","PermissionError","ProcessLookupError","RecursionError","ReferenceError","ResourceWarning","RuntimeError","RuntimeWarning","StopAsyncIteration","StopIteration","SyntaxError","SyntaxWarning","SystemError","SystemExit","TabError","TimeoutError","TypeError","UnboundLocalError","UnicodeDecodeError","UnicodeEncodeError","UnicodeError","UnicodeTranslateError","UnicodeWarning","UserWarning","ValueError","Warning","ZeroDivisionError"].map(t=>({label:t,type:"type"}))).concat(["bool","bytearray","bytes","classmethod","complex","float","frozenset","int","list","map","memoryview","object","range","set","staticmethod","str","super","tuple","type"].map(t=>({label:t,type:"class"}))).concat(["abs","aiter","all","anext","any","ascii","bin","breakpoint","callable","chr","compile","delattr","dict","dir","divmod","enumerate","eval","exec","exit","filter","format","getattr","globals","hasattr","hash","help","hex","id","input","isinstance","issubclass","iter","len","license","locals","max","min","next","oct","open","ord","pow","print","property","quit","repr","reversed","round","setattr","slice","sorted","sum","vars","zip"].map(t=>({label:t,type:"function"}))),s4=[ri("def ${name}(${params}):\n ${}",{label:"def",detail:"function",type:"keyword"}),ri("for ${name} in ${collection}:\n ${}",{label:"for",detail:"loop",type:"keyword"}),ri("while ${}:\n ${}",{label:"while",detail:"loop",type:"keyword"}),ri("try:\n ${}\nexcept ${error}:\n ${}",{label:"try",detail:"/ except block",type:"keyword"}),ri(`if \${}: `,{label:"if",detail:"block",type:"keyword"}),ri("if ${}:\n ${}\nelse:\n ${}",{label:"if",detail:"/ else block",type:"keyword"}),ri("class ${name}:\n def __init__(self, ${params}):\n ${}",{label:"class",detail:"definition",type:"keyword"}),ri("import ${module}",{label:"import",detail:"statement",type:"keyword"}),ri("from ${module} import ${names}",{label:"from",detail:"import",type:"keyword"})],o4=PQ(wE,x_(i4.concat(s4)));function Gp(t){let{node:e,pos:n}=t,r=t.lineIndent(n,-1),i=null;for(;;){let s=e.childBefore(n);if(s)if(s.name=="Comment")n=s.from;else if(s.name=="Body"||s.name=="MatchBody")t.baseIndentFor(s)+t.unit<=r&&(i=s),e=s;else if(s.name=="MatchClause")e=s;else if(s.type.is("Statement"))e=s;else break;else break}return i}function Yp(t,e){let n=t.baseIndentFor(e),r=t.lineAt(t.pos,-1),i=r.from+r.text.length;return/^\s*($|#)/.test(r.text)&&t.node.ton?null:n+t.unit}const Kp=xf.define({name:"python",parser:t4.configure({props:[i_.add({Body:t=>{var e;let n=/^\s*(#|$)/.test(t.textAfter)&&Gp(t)||t.node;return(e=Yp(t,n))!==null&&e!==void 0?e:t.continue()},MatchBody:t=>{var e;let n=Gp(t);return(e=Yp(t,n||t.node))!==null&&e!==void 0?e:t.continue()},IfStatement:t=>/^\s*(else:|elif )/.test(t.textAfter)?t.baseIndent:t.continue(),"ForStatement WhileStatement":t=>/^\s*else:/.test(t.textAfter)?t.baseIndent:t.continue(),TryStatement:t=>/^\s*(except[ :]|finally:|else:)/.test(t.textAfter)?t.baseIndent:t.continue(),MatchStatement:t=>/^\s*case /.test(t.textAfter)?t.baseIndent+t.unit:t.continue(),"TupleExpression ComprehensionExpression ParamList ArgList ParenthesizedExpression":Ip({closing:")"}),"DictionaryExpression DictionaryComprehensionExpression SetExpression SetComprehensionExpression":Ip({closing:"}"}),"ArrayExpression ArrayComprehensionExpression":Ip({closing:"]"}),MemberExpression:t=>t.baseIndent+t.unit,"String FormatString":()=>null,Script:t=>{var e;let n=Gp(t);return(e=n&&Yp(t,n))!==null&&e!==void 0?e:t.continue()}}),l_.add({"ArrayExpression DictionaryExpression SetExpression TupleExpression":AL,Body:(t,e)=>({from:t.from+1,to:t.to-(t.to==e.doc.length?0:1)}),"String FormatString":(t,e)=>({from:e.doc.lineAt(t.from).to,to:t.to})})]}),languageData:{closeBrackets:{brackets:["(","[","{","'",'"',"'''",'"""'],stringPrefixes:["f","fr","rf","r","u","b","br","rb","F","FR","RF","R","U","B","BR","RB"]},commentTokens:{line:"#"},indentOnInput:/^\s*([\}\]\)]|else:|elif |except |finally:|case\s+[^:]*:?)$/}});function l4(){return new WL(Kp,[Kp.data.of({autocomplete:r4}),Kp.data.of({autocomplete:o4})])}const Fw=typeof String.prototype.normalize=="function"?t=>t.normalize("NFKD"):t=>t;class Tl{constructor(e,n,r=0,i=e.length,s,o){this.test=o,this.value={from:0,to:0,precise:!1},this.done=!1,this.matches=[],this.buffer="",this.bufferPos=0,this.iter=e.iterRange(r,i),this.bufferStart=r,this.normalize=s?l=>s(Fw(l)):Fw,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 yn(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=xO(e),r=this.bufferStart+this.bufferPos;this.bufferPos+=Ur(e);let i=this.normalize(n);if(i.length)for(let s=0,o=r,l=!0;;s++){let a=i.charCodeAt(s),u=this.match(a,o,l,this.bufferPos+this.bufferStart,s==i.length-1);if(u)return this.value=u,this;if(s==i.length-1)break;l&&sthis.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=Rf(this.text,i+(r==i?1:0)),r==this.curLineStart+this.curLine.length&&this.nextLine(),(rthis.value.to)&&(!this.test||this.test(r,i,n)))return this.value={from:r,to:i,precise:!0,match:n},this;e=this.matchPos-this.curLineStart}else if(this.curLineStart+this.curLine.length=r||i.to<=n){let l=new hl(n,e.sliceString(n,r));return Zp.set(e,l),l}if(i.from==n&&i.to==r)return i;let{text:s,from:o}=i;return o>n&&(s=e.sliceString(n,o)+s,o=n),i.to=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,precise:!0,match:n},this.matchPos=Rf(this.text,i+(r==i?1:0)),this}if(this.flat.to==this.to)return this.done=!0,this;this.flat=hl.get(this.text,this.flat.from,this.chunkEnd(this.flat.from+this.flat.text.length*2))}}}typeof Symbol<"u"&&(SE.prototype[Symbol.iterator]=kE.prototype[Symbol.iterator]=function(){return this});function a4(t){try{return new RegExp(t,i1),!0}catch{return!1}}function Rf(t,e){if(e>=t.length)return e;let n=t.lineAt(e),r;for(;e=56320&&r<57344;)e++;return e}const u4=t=>{let{state:e}=t,n=String(e.doc.lineAt(t.state.selection.main.head).number),{close:r,result:i}=oL(t,{label:e.phrase("Go to line"),input:{type:"text",name:"line",value:n},focus:!0,submitLabel:e.phrase("go")});return i.then(s=>{let o=s&&/^([+-])?(\d+)?(:\d+)?(%)?$/.exec(s.elements.line.value);if(!o){t.dispatch({effects:r});return}let l=e.doc.lineAt(e.selection.main.head),[,a,u,c,d]=o,p=c?+c.slice(1):0,g=u?+u:l.number;if(u&&d){let _=g/100;a&&(_=_*(a=="-"?-1:1)+l.number/e.doc.lines),g=Math.round(e.doc.lines*_)}else u&&a&&(g=g*(a=="-"?-1:1)+l.number);let y=e.doc.line(Math.max(1,Math.min(e.doc.lines,g))),w=U.cursor(y.from+Math.max(0,Math.min(p,y.length)));t.dispatch({effects:[r,ie.scrollIntoView(w.from,{y:"center"})],selection:w})}),!0},c4={highlightWordAroundCursor:!1,minSelectionLength:1,maxMatches:100,wholeWords:!1},h4=ne.define({combine(t){return ei(t,c4,{highlightWordAroundCursor:(e,n)=>e||n,minSelectionLength:Math.min,maxMatches:Math.min})}});function f4(t){return[O4,g4]}const d4=Oe.mark({class:"cm-selectionMatch"}),p4=Oe.mark({class:"cm-selectionMatch cm-selectionMatch-main"});function Nw(t,e,n,r){return(n==0||t(e.sliceDoc(n-1,n))!=rt.Word)&&(r==e.doc.length||t(e.sliceDoc(r,r+1))!=rt.Word)}function m4(t,e,n,r){return t(e.sliceDoc(n,n+1))==rt.Word&&t(e.sliceDoc(r-1,r))==rt.Word}const g4=Ot.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(h4),{state:n}=t,r=n.selection;if(r.ranges.length>1)return Oe.none;let i=r.main,s,o=null;if(i.empty){if(!e.highlightWordAroundCursor)return Oe.none;let a=n.wordAt(i.head);if(!a)return Oe.none;o=n.charCategorizer(i.head),s=n.sliceDoc(a.from,a.to)}else{let a=i.to-i.from;if(a200)return Oe.none;if(e.wholeWords){if(s=n.sliceDoc(i.from,i.to),o=n.charCategorizer(i.head),!(Nw(o,n,i.from,i.to)&&m4(o,n,i.from,i.to)))return Oe.none}else if(s=n.sliceDoc(i.from,i.to),!s)return Oe.none}let l=[];for(let a of t.visibleRanges){let u=new Tl(n.doc,s,a.from,a.to);for(;!u.next().done;){let{from:c,to:d}=u.value;if((!o||Nw(o,n,c,d))&&(i.empty&&c<=i.from&&d>=i.to?l.push(p4.range(c,d)):(c>=i.to||d<=i.from)&&l.push(d4.range(c,d)),l.length>e.maxMatches))return Oe.none}}return Oe.set(l)}},{decorations:t=>t.decorations}),O4=ie.baseTheme({".cm-selectionMatch":{backgroundColor:"#99ff7780"},".cm-searchMatch .cm-selectionMatch":{backgroundColor:"transparent"}}),y4=({state:t,dispatch:e})=>{let{selection:n}=t,r=U.create(n.ranges.map(i=>t.wordAt(i.head)||U.cursor(i.head)),n.mainIndex);return r.eq(n)?!1:(e(t.update({selection:r})),!0)};function v4(t,e){let{main:n,ranges:r}=t.selection,i=t.wordAt(n.head),s=i&&i.from==n.from&&i.to==n.to;for(let o=!1,l=new Tl(t.doc,e,r[r.length-1].to);;)if(l.next(),l.done){if(o)return null;l=new Tl(t.doc,e,0,Math.max(0,r[r.length-1].from-1)),o=!0}else{if(o&&r.some(a=>a.from==l.value.from))continue;if(s){let a=t.wordAt(l.value.from);if(!a||a.from!=l.value.from||a.to!=l.value.to)continue}return l.value}}const w4=({state:t,dispatch:e})=>{let{ranges:n}=t.selection;if(n.some(s=>s.from===s.to))return y4({state:t,dispatch:e});let r=t.sliceDoc(n[0].from,n[0].to);if(t.selection.ranges.some(s=>t.sliceDoc(s.from,s.to)!=r))return!1;let i=v4(t,r);return i?(e(t.update({selection:t.selection.addRange(U.range(i.from,i.to),!1),effects:ie.scrollIntoView(i.to)})),!0):!1},zl=ne.define({combine(t){return ei(t,{top:!1,caseSensitive:!1,literal:!1,regexp:!1,wholeWord:!1,createPanel:e=>new L4(e),scrollToMatch:e=>ie.scrollIntoView(e)})}});class bE{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||a4(this.search)),this.unquoted=this.unquote(this.search),this.wholeWord=!!e.wholeWord,this.test=e.test}unquote(e){return this.literal?e:e.replace(/\\([nrt\\])/g,(n,r)=>r=="n"?` `: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&&this.test==e.test}create(){return this.regexp?new E4(this):new k4(this)}getCursor(e,n=0,r){let i=e.doc?e:ze.create({doc:e});return r==null&&(r=i.doc.length),this.regexp?Lo(this,i,n,r):Bo(this,i,n,r)}}class _E{constructor(e){this.spec=e}}function x4(t,e,n){return(r,i,s,o)=>{if(n&&!n(r,i,s,o))return!1;let l=r>=o&&i<=o+s.length?s.slice(r-o,i-o):e.doc.sliceString(r,i);return t(l,e,r,i)}}function Bo(t,e,n,r){let i;return t.wholeWord&&(i=S4(e.doc,e.charCategorizer(e.selection.main.head))),t.test&&(i=x4(t.test,e,i)),new Tl(e.doc,t.unquoted,n,r,t.caseSensitive?void 0:s=>s.toLowerCase(),i)}function S4(t,e){return(n,r,i,s)=>((s>n||s+i.length=n)return null;i.push(r.value)}return i}highlight(e,n,r,i){let s=Bo(this.spec,e,Math.max(0,n-this.spec.unquoted.length),Math.min(r+this.spec.unquoted.length,e.doc.length));for(;!s.next().done;)i(s.value.from,s.value.to)}}function b4(t,e,n){return(r,i,s)=>(!n||n(r,i,s))&&t(s[0],e,r,i)}function Lo(t,e,n,r){let i;return t.wholeWord&&(i=_4(e.charCategorizer(e.selection.main.head))),t.test&&(i=b4(t.test,e,i)),new SE(e.doc,t.search,{ignoreCase:!t.caseSensitive,test:i},n,r)}function Bf(t,e){return t.slice(Bt(t,e,!1),e)}function Lf(t,e){return t.slice(e,Bt(t,e))}function _4(t){return(e,n,r)=>!r[0].length||(t(Bf(r.input,r.index))!=rt.Word||t(Lf(r.input,r.index))!=rt.Word)&&(t(Lf(r.input,r.index+r[0].length))!=rt.Word||t(Bf(r.input,r.index+r[0].length))!=rt.Word)}class E4 extends _E{nextMatch(e,n,r){let i=Lo(this.spec,e,r,e.doc.length).next();return i.done&&(i=Lo(this.spec,e,0,n).next()),i.done?null:i.value}prevMatchInRange(e,n,r){for(let i=1;;i++){let s=Math.max(n,r-i*1e4),o=Lo(this.spec,e,s,r),l=null;for(;!o.next().done;)l=o.value;if(l&&(s==n||l.from>s+10))return l;if(s==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)=>{if(r=="&")return e.match[0];if(r=="$")return"$";for(let i=r.length;i>0;i--){let s=+r.slice(0,i);if(s>0&&s=n)return null;i.push(r.value)}return i}highlight(e,n,r,i){let s=Lo(this.spec,e,Math.max(0,n-250),Math.min(r+250,e.doc.length));for(;!s.next().done;)i(s.value.from,s.value.to)}}const Pu=xe.define(),s1=xe.define(),ss=It.define({create(t){return new Ap(a0(t).create(),null)},update(t,e){for(let n of e.effects)n.is(Pu)?t=new Ap(n.value.create(),t.panel):n.is(s1)&&(t=new Ap(t.query,n.value?o1:null));return t},provide:t=>xu.from(t,e=>e.panel)});class Ap{constructor(e,n){this.query=e,this.panel=n}}const C4=Oe.mark({class:"cm-searchMatch"}),T4=Oe.mark({class:"cm-searchMatch cm-searchMatch-selected"}),P4=Ot.fromClass(class{constructor(t){this.view=t,this.decorations=this.highlight(t.state.field(ss))}update(t){let e=t.state.field(ss);(e!=t.startState.field(ss)||t.docChanged||t.selectionSet||t.viewportChanged)&&(this.decorations=this.highlight(e))}highlight({query:t,panel:e}){if(!e||!t.spec.valid)return Oe.none;let{view:n}=this,r=new Si;for(let i=0,s=n.visibleRanges,o=s.length;is[i+1].from-2*250;)a=s[++i].to;t.highlight(n.state,l,a,(u,c)=>{let d=n.state.selection.ranges.some(p=>p.from==u&&p.to==c);r.add(u,c,d?T4:C4)})}return r.finish()}},{decorations:t=>t.decorations});function Zu(t){return e=>{let n=e.state.field(ss,!1);return n&&n.query.spec.valid?t(e,n):TE(e)}}const Qf=Zu((t,{query:e})=>{let{to:n}=t.state.selection.main,r=e.nextMatch(t.state,n,n);if(!r)return!1;let i=U.single(r.from,r.to),s=t.state.facet(zl);return t.dispatch({selection:i,effects:[l1(t,r),s.scrollToMatch(i.main,t)],userEvent:"select.search"}),CE(t),!0}),If=Zu((t,{query:e})=>{let{state:n}=t,{from:r}=n.selection.main,i=e.prevMatch(n,r,r);if(!i)return!1;let s=U.single(i.from,i.to),o=t.state.facet(zl);return t.dispatch({selection:s,effects:[l1(t,i),o.scrollToMatch(s.main,t)],userEvent:"select.search"}),CE(t),!0}),M4=Zu((t,{query:e})=>{let n=e.matchAll(t.state,1e3);return!n||!n.length?!1:(t.dispatch({selection:U.create(n.map(r=>U.range(r.from,r.to))),userEvent:"select.search.matches"}),!0)}),D4=({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,s=[],o=0;for(let l=new Tl(t.doc,t.sliceDoc(r,i));!l.next().done;){if(s.length>1e3)return!1;l.value.from==r&&(o=s.length),s.push(U.range(l.value.from,l.value.to))}return e(t.update({selection:U.create(s,o),userEvent:"select.search.matches"})),!0},$w=Zu((t,{query:e})=>{let{state:n}=t,{from:r,to:i}=n.selection.main;if(n.readOnly)return!1;let s=e.nextMatch(n,r,r);if(!s)return!1;let o=s,l=[],a,u,c=[];o.precise?o.from==r&&o.to==i&&(u=n.toText(e.getReplacement(o)),l.push({from:o.from,to:o.to,insert:u}),o=e.nextMatch(n,o.from,o.to),c.push(ie.announce.of(n.phrase("replaced match on line $",n.doc.lineAt(r).number)+"."))):o=e.nextMatch(n,o.from,o.to);let d=t.state.changes(l);return o&&(a=U.single(o.from,o.to).map(d),c.push(l1(t,o)),c.push(n.facet(zl).scrollToMatch(a.main,t))),t.dispatch({changes:d,selection:a,effects:c,userEvent:"input.replace"}),!0}),R4=Zu((t,{query:e})=>{if(t.state.readOnly)return!1;let n=[];for(let i of e.matchAll(t.state,1e9)){let{from:s,to:o,precise:l}=i;l&&n.push({from:s,to:o,insert:e.getReplacement(i)})}if(!n.length)return!1;let r=t.state.phrase("replaced $ matches",n.length)+".";return t.dispatch({changes:n,effects:ie.announce.of(r),userEvent:"input.replace.all"}),!0});function o1(t){return t.state.facet(zl).createPanel(t)}function a0(t,e){var n,r,i,s,o;let l=t.selection.main,a=l.empty||l.to>l.from+100?"":t.sliceDoc(l.from,l.to);if(e&&!a)return e;let u=t.facet(zl);return new bE({search:((n=e==null?void 0:e.literal)!==null&&n!==void 0?n:u.literal)?a:a.replace(/\n/g,"\\n"),caseSensitive:(r=e==null?void 0:e.caseSensitive)!==null&&r!==void 0?r:u.caseSensitive,literal:(i=e==null?void 0:e.literal)!==null&&i!==void 0?i:u.literal,regexp:(s=e==null?void 0:e.regexp)!==null&&s!==void 0?s:u.regexp,wholeWord:(o=e==null?void 0:e.wholeWord)!==null&&o!==void 0?o:u.wholeWord})}function EE(t){let e=FO(t,o1);return e&&e.dom.querySelector("[main-field]")}function CE(t){let e=EE(t);e&&e==t.root.activeElement&&e.select()}const TE=t=>{let e=t.state.field(ss,!1);if(e&&e.panel){let n=EE(t);if(n&&n!=t.root.activeElement){let r=a0(t.state,e.query.spec);r.valid&&t.dispatch({effects:Pu.of(r)}),n.focus(),n.select()}}else t.dispatch({effects:[s1.of(!0),e?Pu.of(a0(t.state,e.query.spec)):xe.appendConfig.of(I4)]});return!0},PE=t=>{let e=t.state.field(ss,!1);if(!e||!e.panel)return!1;let n=FO(t,o1);return n&&n.dom.contains(t.root.activeElement)&&t.focus(),t.dispatch({effects:s1.of(!1)}),!0},B4=[{key:"Mod-f",run:TE,scope:"editor search-panel"},{key:"F3",run:Qf,shift:If,scope:"editor search-panel",preventDefault:!0},{key:"Mod-g",run:Qf,shift:If,scope:"editor search-panel",preventDefault:!0},{key:"Escape",run:PE,scope:"editor search-panel"},{key:"Mod-Shift-l",run:D4},{key:"Mod-Alt-g",run:u4},{key:"Mod-d",run:w4,preventDefault:!0}];class L4{constructor(e){this.view=e;let n=this.query=e.state.field(ss).query.spec;this.commit=this.commit.bind(this),this.searchField=je("input",{value:n.search,placeholder:Bn(e,"Find"),"aria-label":Bn(e,"Find"),class:"cm-textfield",name:"search",form:"","main-field":"true",onchange:this.commit,onkeyup:this.commit}),this.replaceField=je("input",{value:n.replace,placeholder:Bn(e,"Replace"),"aria-label":Bn(e,"Replace"),class:"cm-textfield",name:"replace",form:"",onchange:this.commit,onkeyup:this.commit}),this.caseField=je("input",{type:"checkbox",name:"case",form:"",checked:n.caseSensitive,onchange:this.commit}),this.reField=je("input",{type:"checkbox",name:"re",form:"",checked:n.regexp,onchange:this.commit}),this.wordField=je("input",{type:"checkbox",name:"word",form:"",checked:n.wholeWord,onchange:this.commit});function r(i,s,o){return je("button",{class:"cm-button",name:i,onclick:s,type:"button"},o)}this.dom=je("div",{onkeydown:i=>this.keydown(i),class:"cm-search"},[this.searchField,r("next",()=>Qf(e),[Bn(e,"next")]),r("prev",()=>If(e),[Bn(e,"previous")]),r("select",()=>M4(e),[Bn(e,"all")]),je("label",null,[this.caseField,Bn(e,"match case")]),je("label",null,[this.reField,Bn(e,"regexp")]),je("label",null,[this.wordField,Bn(e,"by word")]),...e.state.readOnly?[]:[je("br"),this.replaceField,r("replace",()=>$w(e),[Bn(e,"replace")]),r("replaceAll",()=>R4(e),[Bn(e,"replace all")])],je("button",{name:"close",onclick:()=>PE(e),"aria-label":Bn(e,"close"),type:"button"},["×"])])}commit(){let e=new bE({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:Pu.of(e)}))}keydown(e){gB(this.view,e,"search-panel")?e.preventDefault():e.keyCode==13&&e.target==this.searchField?(e.preventDefault(),(e.shiftKey?If:Qf)(this.view)):e.keyCode==13&&e.target==this.replaceField&&(e.preventDefault(),$w(this.view))}update(e){for(let n of e.transactions)for(let r of n.effects)r.is(Pu)&&!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(zl).top}}function Bn(t,e){return t.state.phrase(e)}const rh=30,ih=/[\s\.,:;?!]/;function l1(t,{from:e,to:n}){let r=t.state.doc.lineAt(e),i=t.state.doc.lineAt(n).to,s=Math.max(r.from,e-rh),o=Math.min(i,n+rh),l=t.state.sliceDoc(s,o);if(s!=r.from){for(let a=0;al.length-rh;a--)if(!ih.test(l[a-1])&&ih.test(l[a])){l=l.slice(0,a);break}}return ie.announce.of(`${t.state.phrase("current match")}. ${l} ${t.state.phrase("on line")} ${r.number}.`)}const Q4=ie.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"}}),I4=[ss,ws.low(P4),Q4];class Ww{constructor(e,n,r){this.from=e,this.to=n,this.diagnostic=r}}class Qs{constructor(e,n,r){this.diagnostics=e,this.panel=n,this.selected=r}static init(e,n,r){let i=r.facet(Mu).markerFilter;i&&(e=i(e,r));let s=e.slice().sort((g,y)=>g.from-y.from||g.to-y.to),o=new Si,l=[],a=0,u=r.doc.iter(),c=0,d=r.doc.length;for(let g=0;;){let y=g==s.length?null:s[g];if(!y&&!l.length)break;let w,_;if(l.length)w=a,_=l.reduce((b,T)=>Math.min(b,T.to),y&&y.from>w?y.from:1e8);else{if(w=y.from,w>d)break;_=y.to,l.push(y),g++}for(;gb.from||b.to==w))l.push(b),g++,_=Math.min(b.to,_);else{_=Math.min(b.from,_);break}}_=Math.min(_,d);let x=!1;if(l.some(b=>b.from==w&&(b.to==_||_==d))&&(x=w==_,!x&&_-w<10)){let b=w-(c+u.value.length);b>0&&(u.next(b),c=w);for(let T=w;;){if(T>=_){x=!0;break}if(!u.lineBreak&&c+u.value.length>T)break;T=c+u.value.length,c+=u.value.length,u.next()}}let S=Y4(l);if(x)o.add(w,w,Oe.widget({widget:new H4(S),diagnostics:l.slice()}));else{let b=l.reduce((T,P)=>P.markClass?T+" "+P.markClass:T,"");o.add(w,_,Oe.mark({class:"cm-lintRange cm-lintRange-"+S+b,diagnostics:l.slice(),inclusiveEnd:l.some(T=>T.to>_)}))}if(a=_,a==d)break;for(let b=0;b{if(!(e&&o.diagnostics.indexOf(e)<0))if(!r)r=new Ww(i,s,e||o.diagnostics[0]);else{if(o.diagnostics.indexOf(r.diagnostic)<0)return!1;r=new Ww(r.from,s,r.diagnostic)}}),r}function z4(t,e){let n=e.pos,r=e.end||n,i=t.state.facet(Mu).hideOn(t,n,r);if(i!=null)return i;let s=t.startState.doc.lineAt(e.pos);return!!(t.effects.some(o=>o.is(ME))||t.changes.touchesRange(s.from,Math.max(s.to,r)))}function F4(t,e){return t.field(Nn,!1)?e:e.concat(xe.appendConfig.of(K4))}const ME=xe.define(),a1=xe.define(),DE=xe.define(),Nn=It.define({create(){return new Qs(Oe.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 s=e.changes.mapPos(t.selected.from,1);r=gs(n,t.selected.diagnostic,s)||gs(n,null,s)}!n.size&&i&&e.state.facet(Mu).autoPanel&&(i=null),t=new Qs(n,i,r)}for(let n of e.effects)if(n.is(ME)){let r=e.state.facet(Mu).autoPanel?n.value.length?Du.open:null:t.panel;t=Qs.init(n.value,r,e.state)}else n.is(a1)?t=new Qs(t.diagnostics,n.value?Du.open:null,t.selected):n.is(DE)&&(t=new Qs(t.diagnostics,t.panel,n.value));return t},provide:t=>[xu.from(t,e=>e.panel),ie.decorations.from(t,e=>e.diagnostics)]}),N4=Oe.mark({class:"cm-lintRange cm-lintRange-active"});function $4(t,e,n){let{diagnostics:r}=t.state.field(Nn),i,s=-1,o=-1;r.between(e-(n<0?1:0),e+(n>0?1:0),(a,u,{spec:c})=>{if(e>=a&&e<=u&&(a==u||(e>a||n>0)&&(eBE(t,n,!1)))}const U4=t=>{let e=t.state.field(Nn,!1);(!e||!e.panel)&&t.dispatch({effects:F4(t.state,[a1.of(!0)])});let n=FO(t,Du.open);return n&&n.dom.querySelector(".cm-panel-lint ul").focus(),!0},Uw=t=>{let e=t.state.field(Nn,!1);return!e||!e.panel?!1:(t.dispatch({effects:a1.of(!1)}),!0)},q4=t=>{let e=t.state.field(Nn,!1);if(!e)return!1;let n=t.state.selection.main,r=gs(e.diagnostics,null,n.to+1);return!r&&(r=gs(e.diagnostics,null,0),!r||r.from==n.from&&r.to==n.to)?!1:(t.dispatch({selection:{anchor:r.from,head:r.to},scrollIntoView:!0}),iL(t,r.from,1,{tooltip:LE,until:i=>i.docChanged||i.newSelection.main.headr.to}),!0)},j4=[{key:"Mod-Shift-m",run:U4,preventDefault:!0},{key:"F8",run:q4}],Mu=ne.define({combine(t){return{sources:t.map(e=>e.source).filter(e=>e!=null),...ei(t.map(e=>e.config),{delay:750,markerFilter:null,tooltipFilter:null,needsRefresh:null,hideOn:()=>null},{delay:Math.max,markerFilter:qw,tooltipFilter:qw,needsRefresh:(e,n)=>e?n?r=>e(r)||n(r):e:n,hideOn:(e,n)=>e?n?(r,i,s)=>e(r,i,s)||n(r,i,s):e:n,autoPanel:(e,n)=>e||n})}}});function qw(t,e){return t?e?(n,r)=>e(t(n,r),r):t:e}function RE(t){let e=[];if(t)e:for(let{name:n}of t){for(let r=0;rs.toLowerCase()==i.toLowerCase())){e.push(i);continue e}}e.push("")}return e}function BE(t,e,n){var r;let i=n?RE(e.actions):[];return je("li",{class:"cm-diagnostic cm-diagnostic-"+e.severity},je("span",{class:"cm-diagnosticText"},e.renderMessage?e.renderMessage(t):e.message),(r=e.actions)===null||r===void 0?void 0:r.map((s,o)=>{let l=!1,a=g=>{if(g.preventDefault(),l)return;l=!0;let y=gs(t.state.field(Nn).diagnostics,e);y&&s.apply(t,y.from,y.to)},{name:u}=s,c=i[o]?u.indexOf(i[o]):-1,d=c<0?u:[u.slice(0,c),je("u",u.slice(c,c+1)),u.slice(c+1)],p=s.markClass?" "+s.markClass:"";return je("button",{type:"button",class:"cm-diagnosticAction"+p,onclick:a,onmousedown:a,"aria-label":` Action: ${u}${c<0?"":` (access key "${i[o]})"`}.`},d)}),e.source&&je("div",{class:"cm-diagnosticSource"},e.source))}class H4 extends ti{constructor(e){super(),this.sev=e}eq(e){return e.sev==this.sev}toDOM(){return je("span",{class:"cm-lintPoint cm-lintPoint-"+this.sev})}}class jw{constructor(e,n){this.diagnostic=n,this.id="item_"+Math.floor(Math.random()*4294967295).toString(16),this.dom=BE(e,n,!0),this.dom.id=this.id,this.dom.setAttribute("role","option")}}class Du{constructor(e){this.view=e,this.items=[];let n=i=>{if(!(i.ctrlKey||i.altKey||i.metaKey)){if(i.keyCode==27)Uw(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:s}=this.items[this.selectedIndex],o=RE(s.actions);for(let l=0;l{for(let s=0;sUw(this.view)},"×")),this.update()}get selectedIndex(){let e=this.view.state.field(Nn).selected;if(!e)return-1;for(let n=0;n{for(let c of u.diagnostics){if(o.has(c))continue;o.add(c);let d=-1,p;for(let g=r;gr&&(this.items.splice(r,d-r),i=!0)),n&&p.diagnostic==n.diagnostic?p.dom.hasAttribute("aria-selected")||(p.dom.setAttribute("aria-selected","true"),s=p):p.dom.hasAttribute("aria-selected")&&p.dom.removeAttribute("aria-selected"),r++}});r({sel:s.dom.getBoundingClientRect(),panel:this.list.getBoundingClientRect()}),write:({sel:l,panel:a})=>{let u=a.height/this.list.offsetHeight;l.topa.bottom&&(this.list.scrollTop+=(l.bottom-a.bottom)/u)}})):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(Nn),r=gs(n.diagnostics,this.items[e].diagnostic);r&&this.view.dispatch({selection:{anchor:r.from,head:r.to},scrollIntoView:!0,effects:DE.of(r)})}static open(e){return new Du(e)}}function V4(t,e='viewBox="0 0 40 40"'){return`url('data:image/svg+xml,${encodeURIComponent(t)}')`}function sh(t){return V4(``,'width="6" height="3"')}const X4=ie.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:sh("#f11")},".cm-lintRange-warning":{backgroundImage:sh("orange")},".cm-lintRange-info":{backgroundImage:sh("#999")},".cm-lintRange-hint":{backgroundImage:sh("#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}},"&dark .cm-lintRange-active":{backgroundColor:"#86714a80"},"&dark .cm-panel.cm-panel-lint ul":{"& [aria-selected]":{backgroundColor:"#2e343e"}}});function G4(t){return t=="error"?4:t=="warning"?3:t=="info"?2:1}function Y4(t){let e="hint",n=1;for(let r of t){let i=G4(r.severity);i>n&&(n=i,e=r.severity)}return e}const LE=rL($4,{hideOn:z4}),K4=[Nn,ie.decorations.compute([Nn],t=>{let{selected:e,panel:n}=t.field(Nn);return!e||!n||e.from==e.to?Oe.none:Oe.set([N4.range(e.from,e.to)])}),LE,X4],Z4=[OL(),wL(),LB(),RI(),cQ(),SB(),TB(),ze.allowMultipleSelections.of(!0),KL(),g_(pQ,{fallback:!0}),xQ(),hI(),M_(),VB(),YB(),$B(),f4(),_l.of([...mI,...Lz,...B4,...WI,...oQ,...D_,...j4])],A4=ie.theme({"&":{backgroundColor:"var(--cm-bg)",color:"var(--cm-fg)",height:"100%"},".cm-content":{caretColor:"var(--cm-caret)",fontFamily:"'IBM Plex Mono', ui-monospace, monospace",fontSize:"13px"},".cm-cursor, .cm-dropCursor":{borderLeftColor:"var(--cm-caret)",borderLeftWidth:"2px"},"&.cm-focused .cm-selectionBackground, .cm-selectionBackground, .cm-content ::selection":{backgroundColor:"var(--cm-selection) !important"},".cm-activeLine":{backgroundColor:"var(--cm-active-line)"},".cm-gutters":{backgroundColor:"var(--cm-gutter-bg)",color:"var(--cm-gutter-fg)",border:"none",borderRight:"1px solid var(--cm-gutter-border)"},".cm-activeLineGutter":{backgroundColor:"var(--cm-active-gutter-bg)",color:"var(--cm-active-gutter-fg)"},".cm-lineNumbers .cm-gutterElement":{fontFamily:"'IBM Plex Mono', ui-monospace, monospace"},".cm-selectionMatch":{backgroundColor:"var(--cm-selection-match)"},".cm-matchingBracket, .cm-nonmatchingBracket":{backgroundColor:"var(--cm-matching-bracket-bg)",outline:"1px solid var(--cm-matching-bracket-outline)"},".cm-tooltip":{backgroundColor:"var(--cm-tooltip-bg)",border:"1px solid var(--cm-tooltip-border)",color:"var(--cm-tooltip-fg)",fontFamily:"'IBM Plex Mono', ui-monospace, monospace"},".cm-tooltip-autocomplete ul li[aria-selected]":{backgroundColor:"var(--cm-autocomplete-selected-bg)",color:"var(--cm-autocomplete-selected-fg)"}},{dark:!0}),J4=Gu.define([{tag:F.keyword,color:"var(--syn-keyword)"},{tag:[F.string,F.special(F.string)],color:"var(--syn-string)"},{tag:[F.comment,F.lineComment,F.blockComment,F.docComment],color:"var(--syn-comment)",fontStyle:"italic"},{tag:[F.function(F.variableName),F.function(F.definition(F.variableName)),F.className,F.definition(F.className)],color:"var(--syn-function)"},{tag:[F.number,F.integer,F.float],color:"var(--syn-number)"},{tag:[F.operator,F.punctuation,F.bracket],color:"var(--syn-operator)"},{tag:F.variableName,color:"var(--syn-variable)"},{tag:F.propertyName,color:"var(--syn-property)"},{tag:[F.bool,F.null],color:"var(--syn-bool)"},{tag:F.definition(F.variableName),color:"var(--syn-variable)"},{tag:F.atom,color:"var(--syn-atom)"}]),eF=[A4,g_(J4)];function tF({initialCode:t,extensions:e=[],lineCount:n,onChange:r,onReplaceRef:i,onRunNow:s,onShare:o}){const l=ae.useRef(null),a=ae.useRef(r);a.current=r;const u=ae.useRef(s);u.current=s;const c=ae.useRef(o);return c.current=o,ae.useEffect(()=>{const d=new ie({doc:t,parent:l.current,extensions:[_l.of([{key:"Mod-Enter",preventDefault:!0,run:()=>{var p;return(p=u.current)==null||p.call(u),!0}},{key:"Mod-s",preventDefault:!0,run:()=>{var p;return(p=c.current)==null||p.call(c),!0}}]),Z4,_l.of([Qz]),l4(),eF,ie.updateListener.of(p=>{p.docChanged&&a.current(p.state.doc.toString())}),...e]});return i==null||i(p=>{d.dispatch({changes:{from:0,to:d.state.doc.length,insert:p}})}),()=>d.destroy()},[]),W.jsxs("div",{className:"editor-pane-wrap","data-testid":"editor",children:[W.jsxs("div",{className:"editor-topbar",children:[W.jsx("span",{className:"editor-filename",children:"main.py"}),W.jsxs("span",{className:"editor-linecount",children:[n," lines"]})]}),W.jsx("div",{ref:l,className:"editor-pane"})]})}function Hw({error:t,testId:e="error-panel"}){return t?W.jsx("pre",{className:"error-panel","data-testid":e,children:t}):null}const QE=`from diagrams import Diagram from diagrams.aws.compute import EC2 from diagrams.aws.database import RDS from diagrams.aws.network import ELB with Diagram("Web Service", show=False): ELB("lb") >> EC2("web") >> RDS("userdb") `,IE=[{title:"Web Service",code:QE},{title:"Grouped Workers",code:`from diagrams import Diagram from diagrams.aws.compute import EC2 from diagrams.aws.database import RDS from diagrams.aws.network import ELB with Diagram("Grouped Workers", show=False, direction="TB"): ELB("lb") >> [EC2("worker1"), EC2("worker2"), EC2("worker3"), EC2("worker4"), EC2("worker5")] >> RDS("events") `},{title:"Clustered Web Services",code:`from diagrams import Cluster, Diagram from diagrams.aws.compute import ECS from diagrams.aws.database import ElastiCache, RDS from diagrams.aws.network import ELB, Route53 with Diagram("Clustered Web Services", show=False): dns = Route53("dns") lb = ELB("lb") with Cluster("Services"): svc_group = [ECS("web1"), ECS("web2"), ECS("web3")] with Cluster("DB Cluster"): db_primary = RDS("userdb") db_primary - [RDS("userdb ro")] memcached = ElastiCache("memcached") dns >> lb >> svc_group svc_group >> db_primary svc_group >> memcached `},{title:"Event Processing (K8s + OnPrem)",code:`from diagrams import Cluster, Diagram from diagrams.aws.compute import ECS, EKS, Lambda from diagrams.aws.database import Redshift from diagrams.aws.integration import SQS from diagrams.aws.storage import S3 with Diagram("Event Processing", show=False): source = EKS("k8s source") with Cluster("Event Flows"): with Cluster("Event Workers"): workers = [ECS("worker1"), ECS("worker2"), ECS("worker3")] queue = SQS("event queue") with Cluster("Processing"): handlers = [Lambda("proc1"), Lambda("proc2"), Lambda("proc3")] store = S3("events store") dw = Redshift("analytics") source >> workers >> queue >> handlers handlers >> store handlers >> dw `}];function nF({activeExample:t,onSelect:e}){return W.jsxs("div",{className:"examples",children:[W.jsx("span",{className:"examples-label",children:"Examples"}),IE.map(n=>W.jsx("button",{className:`example-pill${n.title===t?" is-active":""}`,onClick:()=>e(n),children:n.title},n.title))]})}const Vw=/(xlink:href|href)="(icons\/[^"]+)"/g;async function rF(t,e){const n=await e(t);if(!n.ok)throw new Error(`Failed to fetch icon ${t}: HTTP ${n.status}`);const r=t.endsWith(".svg")?"image/svg+xml":"image/png",i=new Uint8Array(await n.arrayBuffer());let s="";for(const o of i)s+=String.fromCharCode(o);return`data:${r};base64,${btoa(s)}`}async function zE(t,e=fetch){const n=new Set;for(const i of t.matchAll(Vw))n.add(i[2]);if(!n.size)return t;const r=new Map;return await Promise.all([...n].map(async i=>r.set(i,await rF(i,e)))),t.replace(Vw,(i,s,o)=>`${s}="${r.get(o)}"`)}const iF=16,sF=8192;function Xw(t){return Math.min(sF,Math.max(iF,Math.round(t)))}function oF(t,e,n,r){const i=n!==void 0&&Number.isFinite(n)&&n>0,s=r!==void 0&&Number.isFinite(r)&&r>0,o=t>0&&e>0;let l,a;return o&&i&&s?(l=n,a=r):o&&i?(l=n,a=n*e/t):o&&s?(a=r,l=r*t/e):(l=t*2,a=e*2),{w:Xw(l),h:Xw(a)}}async function Gw(t,e){const{mime:n="image/png",width:r,height:i}=e??{},s=await zE(t),o=new Blob([s],{type:"image/svg+xml"}),l=URL.createObjectURL(o);try{const a=new Image;await new Promise((g,y)=>{a.onload=()=>g(),a.onerror=()=>y(new Error("Failed to load SVG for export")),a.src=l});const{w:u,h:c}=oF(a.naturalWidth,a.naturalHeight,r,i),d=document.createElement("canvas");d.width=u,d.height=c;const p=d.getContext("2d");return p.fillStyle="white",p.fillRect(0,0,d.width,d.height),p.scale(u/a.naturalWidth,c/a.naturalHeight),p.drawImage(a,0,0),await new Promise((g,y)=>d.toBlob(w=>w?g(w):y(new Error("toBlob failed")),n))}finally{URL.revokeObjectURL(l)}}function Yw(t,e){const n=URL.createObjectURL(e),r=document.createElement("a");r.href=n,r.download=t,r.click(),URL.revokeObjectURL(n)}const lF=16,aF=8192,uF=2e3;function cF(t){return t?t.toLowerCase().replace(/\W+/g,"_"):"diagram"}function Kw(t){if(t.trim()==="")return;const e=Number(t);return Number.isFinite(e)&&e>0?e:void 0}function hF(t){if(t.trim()==="")return"";const e=Math.round(Number(t));return Number.isFinite(e)?String(Math.min(aF,Math.max(lF,e))):""}function Jp(){return W.jsxs("svg",{width:"11",height:"11",viewBox:"0 0 14 14",fill:"none","aria-hidden":"true",children:[W.jsx("path",{d:"M7 1.6v7.1M7 8.7 3.9 5.6M7 8.7l3.1-3.1",stroke:"currentColor",strokeWidth:"1.4",strokeLinecap:"round",strokeLinejoin:"round"}),W.jsx("path",{d:"M2.6 11.4h8.8",stroke:"currentColor",strokeWidth:"1.4",strokeLinecap:"round"})]})}function fF(){return W.jsxs("svg",{width:"11",height:"11",viewBox:"0 0 14 14",fill:"none","aria-hidden":"true",children:[W.jsx("rect",{x:"4.6",y:"4.6",width:"7.2",height:"7.2",rx:"1.3",stroke:"currentColor",strokeWidth:"1.3"}),W.jsx("path",{d:"M2.6 9V2.9a1 1 0 0 1 1-1H9",stroke:"currentColor",strokeWidth:"1.3",strokeLinecap:"round"})]})}function dF({svgs:t}){const[e,n]=ae.useState(!0),[r,i]=ae.useState(""),[s,o]=ae.useState(""),[l,a]=ae.useState(0),[u,c]=ae.useState(null),[d,p]=ae.useState(!1);ae.useEffect(()=>{l>=t.length&&t.length>0&&a(0)},[t.length,l]);const g=t[l]??null,y=e?void 0:Kw(r),w=e?void 0:Kw(s);function _(P){return D=>P(hF(D.currentTarget.value))}function x(P){P.key==="Enter"&&P.currentTarget.blur()}async function S(P){if(g){c(null),p(!1);try{const D=cF(g.name);if(P==="svg"){const M=await zE(g.svg);Yw(`${D}.svg`,new Blob([M],{type:"image/svg+xml"}))}else{const M=P==="jpeg"?"image/jpeg":"image/png",L=await Gw(g.svg,{width:y,height:w,mime:M});Yw(`${D}.${P==="jpeg"?"jpg":"png"}`,L)}}catch(D){c(`Export failed: ${D instanceof Error?D.message:String(D)}`)}}}async function b(){if(g){c(null);try{const P=await Gw(g.svg,{width:y,height:w,mime:"image/png"});await navigator.clipboard.write([new ClipboardItem({"image/png":P})]),p(!0),setTimeout(()=>p(!1),uF)}catch(P){p(!1),c(`Copy failed: ${P instanceof Error?P.message:String(P)}`)}}}const T=u?{text:u,tone:"error"}:d?{text:"Copied!",tone:"success"}:null;return W.jsxs("div",{className:"export-bar",children:[W.jsx("div",{className:"export-bar-row export-bar-row-fields",children:W.jsxs("div",{className:"export-field",children:[W.jsx("span",{className:"export-field-label",children:"Size"}),W.jsx("input",{type:"text",inputMode:"numeric",className:"export-size-input","aria-label":"Export width in pixels",placeholder:"auto",disabled:e,value:r,onChange:P=>i(P.target.value.replace(/\D/g,"")),onBlur:_(i),onKeyDown:x}),W.jsx("span",{className:"export-size-x","aria-hidden":"true",children:"×"}),W.jsx("input",{type:"text",inputMode:"numeric",className:"export-size-input","aria-label":"Export height in pixels",placeholder:"auto",disabled:e,value:s,onChange:P=>o(P.target.value.replace(/\D/g,"")),onBlur:_(o),onKeyDown:x}),W.jsx("span",{className:"export-size-px","aria-hidden":"true",children:"px"}),W.jsxs("button",{type:"button",role:"switch","aria-checked":e,className:"export-auto-toggle",onClick:()=>n(P=>!P),children:[W.jsx("span",{className:"toggle-track","aria-hidden":"true",children:W.jsx("span",{className:"toggle-knob"})}),"Auto"]}),t.length>1&&W.jsx("select",{className:"export-bar-select","aria-label":"Diagram to export",value:l,onChange:P=>a(Number(P.target.value)),children:t.map((P,D)=>W.jsx("option",{value:D,children:P.name||"diagram"},`${P.name}-${D}`))})]})}),W.jsxs("div",{className:"export-bar-row export-bar-row-actions",children:[W.jsxs("button",{type:"button",className:"export-download-btn",disabled:!g,onClick:()=>void S("png"),children:["PNG",W.jsx(Jp,{})]}),W.jsxs("button",{type:"button",className:"export-download-btn",disabled:!g,onClick:()=>void S("svg"),children:["SVG",W.jsx(Jp,{})]}),W.jsxs("button",{type:"button",className:"export-download-btn",disabled:!g,onClick:()=>void S("jpeg"),children:["JPEG",W.jsx(Jp,{})]}),W.jsxs("button",{type:"button",className:"export-copy-btn",disabled:!g,onClick:()=>void b(),children:[W.jsx(fF,{}),"Copy Image"]}),T&&W.jsx("span",{className:`export-bar-message export-bar-message-${T.tone}`,children:T.text})]})]})}const pF={aws:"AWS",gcp:"GCP",k8s:"K8s",onprem:"OnPrem",alibabacloud:"AlibabaCloud",digitalocean:"DigitalOcean",ibm:"IBM",oci:"OCI",openstack:"OpenStack",saas:"SaaS",elastic:"Elastic",firebase:"Firebase",azure:"Azure",generic:"Generic",programming:"Programming",outscale:"Outscale",gis:"GIS",c4:"C4"};function mF(t){return t&&t.charAt(0).toUpperCase()+t.slice(1).toLowerCase()}function gF(t){return pF[t.toLowerCase()]??mF(t)}function OF(t,e){const n=t.toLowerCase();return n===e?0:n.startsWith(e)?1:n.includes(e)?2:-1}function yF(t,e,n=50){const r=e.trim().toLowerCase();if(!r)return[];const i=[];for(const[s,o]of Object.entries(t.modules))for(const l of o){const a=[l.name,...l.aliases.filter(u=>u.toLowerCase()!==l.name.toLowerCase())];for(const u of a){const c=OF(u,r);c>=0&&i.push({module:s,name:u,icon:l.icon,importStmt:`from ${s} import ${u}`,score:c})}}return i.sort((s,o)=>s.score-o.score||s.name.length-o.name.length||s.name.localeCompare(o.name)),i.slice(0,n).map(({score:s,...o})=>o)}function vF(t){const e=new Map;for(const[n,r]of Object.entries(t.modules)){const i=n.split("."),s=i[1]??n,o=i.slice(2).join("."),l=e.get(s),a={module:n,category:o,classes:r};l?l.push(a):e.set(s,[a])}return[...e.entries()].map(([n,r])=>({provider:n,count:r.reduce((i,s)=>i+s.classes.length,0),categories:[...r].sort((i,s)=>i.category.localeCompare(s.category))})).sort((n,r)=>n.provider.localeCompare(r.provider))}function Zw({icon:t,name:e,importStmt:n,module:r,onInsert:i,onContextMenu:s,inTree:o}){return W.jsxs("li",{className:o?"hit-row is-tree-class":"hit-row",tabIndex:0,role:"button",onClick:()=>i(n),onKeyDown:l=>{l.key==="Enter"&&(l.preventDefault(),i(n))},onContextMenu:l=>{l.preventDefault(),s(l.clientX,l.clientY,{name:e,importStmt:n})},children:[W.jsx("span",{className:"hit-icon",children:W.jsx("img",{src:`icons/${t}`,width:20,height:20,alt:"",loading:"lazy"})}),W.jsx("span",{className:"hit-name",title:n,children:e}),r!==void 0&&W.jsx("span",{className:"hit-module",children:r})]})}function wF({x:t,y:e,hit:n,onInsert:r,onClose:i}){const s=ae.useRef(null);return ae.useEffect(()=>{function o(u){s.current&&!s.current.contains(u.target)&&i()}function l(u){u.key==="Escape"&&i()}function a(){i()}return document.addEventListener("pointerdown",o),document.addEventListener("keydown",l),window.addEventListener("scroll",a,!0),()=>{document.removeEventListener("pointerdown",o),document.removeEventListener("keydown",l),window.removeEventListener("scroll",a,!0)}},[i]),kb.createPortal(W.jsxs("div",{className:"ctx-menu",style:{left:t,top:e},ref:s,role:"menu",children:[W.jsx("button",{type:"button",role:"menuitem",onClick:()=>{navigator.clipboard.writeText(n.importStmt).catch(()=>{}),i()},children:"Copy import"}),W.jsx("button",{type:"button",role:"menuitem",onClick:()=>{r(n.importStmt),i()},children:"Insert import"})]}),document.body)}const xF=160,SF=76;function Aw(){return W.jsx("span",{className:"tree-chevron","aria-hidden":"true",children:W.jsx("svg",{width:"11",height:"11",viewBox:"0 0 10 10",fill:"currentColor",children:W.jsx("path",{d:"M3 1.6 7.4 5 3 8.4Z"})})})}function kF({catalog:t,onInsert:e,width:n}){const[r,i]=ae.useState(""),[s,o]=ae.useState(new Set),[l,a]=ae.useState(null),u=ae.useMemo(()=>t?yF(t,r):[],[t,r]),c=ae.useMemo(()=>t?vF(t):[],[t]);function d(w){o(_=>{const x=new Set(_);return x.has(w)?x.delete(w):x.add(w),x})}function p(w,_,x){const S=Math.min(w,window.innerWidth-xF-8),b=Math.min(_,window.innerHeight-SF-8);a({x:Math.max(8,S),y:Math.max(8,b),hit:x})}function g(w){return W.jsx(Zw,{icon:w.icon,name:w.name,importStmt:w.importStmt,module:w.module.replace("diagrams.",""),onInsert:e,onContextMenu:p},`${w.module}.${w.name}`)}const y=!r.trim();return W.jsxs("div",{className:"node-search",style:n!==void 0?{width:n}:void 0,children:[W.jsxs("div",{className:"search-input-wrap",children:[W.jsx("span",{className:"search-icon","aria-hidden":"true",children:W.jsxs("svg",{width:"14",height:"14",viewBox:"0 0 14 14",fill:"none",children:[W.jsx("circle",{cx:"6",cy:"6",r:"4.5",stroke:"currentColor",strokeWidth:"1.4"}),W.jsx("line",{x1:"9.4",y1:"9.4",x2:"13",y2:"13",stroke:"currentColor",strokeWidth:"1.4",strokeLinecap:"round"})]})}),W.jsx("input",{type:"search",placeholder:"Search nodes — EC2, Kafka...","aria-label":"Search nodes",value:r,onChange:w=>i(w.target.value),"data-testid":"node-search-input"})]}),y?W.jsx("ul",{className:"node-search-results node-tree",children:c.map(w=>{const _=`provider:${w.provider}`,x=s.has(_);return W.jsxs("li",{className:"tree-node",children:[W.jsxs("button",{type:"button",className:"tree-row tree-provider-row","aria-expanded":x,onClick:()=>d(_),children:[W.jsx(Aw,{}),W.jsx("span",{className:"tree-provider-name",children:gF(w.provider)}),W.jsx("span",{className:"tree-badge",children:w.count})]}),x&&W.jsx("ul",{className:"tree-children",children:w.categories.map(S=>{const b=`category:${S.module}`,T=s.has(b),P=S.category||S.module.split(".").pop()||S.module;return W.jsxs("li",{className:"tree-node",children:[W.jsxs("button",{type:"button",className:"tree-row tree-category-row","aria-expanded":T,onClick:()=>d(b),children:[W.jsx(Aw,{}),W.jsx("span",{className:"tree-category-name",children:P}),W.jsx("span",{className:"tree-badge",children:S.classes.length})]}),T&&W.jsx("ul",{className:"tree-class-rows",children:S.classes.map(D=>W.jsx(Zw,{icon:D.icon,name:D.name,importStmt:`from ${S.module} import ${D.name}`,onInsert:e,onContextMenu:p,inTree:!0},`${S.module}.${D.name}`))})]},S.module)})})]},w.provider)})}):W.jsx("ul",{className:"node-search-results",children:u.map(w=>g(w))}),l&&W.jsx(wF,{x:l.x,y:l.y,hit:l.hit,onInsert:e,onClose:()=>a(null)})]})}function Jw(t,e){if(!t)return 0;let n=0,r=t.indexOf(e);for(;r!==-1;)n++,r=t.indexOf(e,r+e.length);return n}function bF(t){return{nodes:Jw(t,'class="node"'),edges:Jw(t,'class="edge"')}}const _F=.2,EF=4;function CF(t){return Math.min(EF,Math.max(_F,t))}function em(t,e,n,r){const i=CF(t.scale*r),s=i/t.scale;return{scale:i,tx:e-(e-t.tx)*s,ty:n-(n-t.ty)*s}}const TF=.2,PF=2,MF=48;function DF(t,e,n,r,i=MF){const s=t-2*i,o=e-2*i,l=Math.min(s/n,o/r),a=Math.min(PF,Math.max(TF,l));return{scale:a,tx:(t-n*a)/2,ty:(e-r*a)/2}}function RF({svgs:t,loading:e,renderMs:n,onRenameDiagram:r,children:i}){const[s,o]=ae.useState({tx:0,ty:0,scale:1}),l=ae.useRef(null),a=ae.useRef(null),u=ae.useRef(s);u.current=s;const[c,d]=ae.useState(!1),[p,g]=ae.useState(""),y=ae.useRef(null);ae.useEffect(()=>{if(!c)return;const L=y.current;L==null||L.focus(),L==null||L.select()},[c]);function w(){var L;r&&(g(((L=t[0])==null?void 0:L.name)??""),d(!0))}function _(){var I;d(!1);const L=p,B=((I=t[0])==null?void 0:I.name)??"";L!==B&&(r==null||r(0,L))}function x(L){L.key==="Enter"?(L.preventDefault(),_()):L.key==="Escape"&&(L.preventDefault(),d(!1))}const S=ae.useCallback(()=>{const L=l.current,B=a.current;if(!L||!B)return;const I=L.getBoundingClientRect();o(DF(I.width,I.height,B.offsetWidth,B.offsetHeight))},[]);ae.useLayoutEffect(()=>{S()},[t,S]),ae.useEffect(()=>{const L=l.current;if(!L)return;function B(I){I.preventDefault();const j=L.getBoundingClientRect();if(I.ctrlKey){const V=Math.exp(-I.deltaY*.01);o(q=>em(q,I.clientX-j.left,I.clientY-j.top,V))}else o(V=>({...V,tx:V.tx-I.deltaX,ty:V.ty-I.deltaY}))}return L.addEventListener("wheel",B,{passive:!1}),()=>L.removeEventListener("wheel",B)},[]),ae.useEffect(()=>{const L=l.current;if(!L)return;const B=new Map;let I=null;function j(){const[oe,ye]=[...B.values()];return Math.hypot(oe.x-ye.x,oe.y-ye.y)}function V(){const[oe,ye]=[...B.values()];return{x:(oe.x+ye.x)/2,y:(oe.y+ye.y)/2}}function q(oe){oe.pointerType==="touch"&&(B.set(oe.pointerId,{x:oe.clientX,y:oe.clientY}),I=B.size===2?j():null)}function G(oe){if(!B.has(oe.pointerId)||(B.set(oe.pointerId,{x:oe.clientX,y:oe.clientY}),B.size!==2))return;const ye=j();if(I===null||I===0){I=ye;return}const N=ye/I,{x:X,y:se}=V(),we=L.getBoundingClientRect();o(te=>em(te,X-we.left,se-we.top,N)),I=ye}function A(oe){B.delete(oe.pointerId),I=B.size===2?j():null}return L.addEventListener("pointerdown",q),L.addEventListener("pointermove",G),L.addEventListener("pointerup",A),L.addEventListener("pointercancel",A),L.addEventListener("pointerleave",A),()=>{L.removeEventListener("pointerdown",q),L.removeEventListener("pointermove",G),L.removeEventListener("pointerup",A),L.removeEventListener("pointercancel",A),L.removeEventListener("pointerleave",A)}},[]),ae.useEffect(()=>{const L=l.current;if(!L)return;let B=null,I=!1,j=0,V=0,q=0,G=0;function A(){B!==null&&L.hasPointerCapture(B)&&L.releasePointerCapture(B),L.classList.remove("is-panning"),B=null,I=!1}function oe(X){if(B!==null){A();return}X.button===0&&(X.target.closest("button, a, input, select, [role=menu]")||(B=X.pointerId,I=!1,j=X.clientX,V=X.clientY,q=u.current.tx,G=u.current.ty,L.setPointerCapture(B)))}function ye(X){if(B===null||X.pointerId!==B)return;const se=X.clientX-j,we=X.clientY-V;if(!I){if(Math.hypot(se,we)<3)return;I=!0,L.classList.add("is-panning")}o(te=>({...te,tx:q+se,ty:G+we}))}function N(X){B===X.pointerId&&A()}return L.addEventListener("pointerdown",oe),L.addEventListener("pointermove",ye),L.addEventListener("pointerup",N),L.addEventListener("pointercancel",N),()=>{L.removeEventListener("pointerdown",oe),L.removeEventListener("pointermove",ye),L.removeEventListener("pointerup",N),L.removeEventListener("pointercancel",N)}},[]);function b(L){const B=l.current;if(!B)return;const I=B.getBoundingClientRect();o(j=>em(j,I.width/2,I.height/2,L))}const T=Math.round(s.scale*100),P=t[0],D=P?bF(P.svg):null,M=t.length>1;return W.jsxs("div",{className:"preview-pane",children:[W.jsxs("div",{className:"preview-header",children:[W.jsxs("div",{className:"diagram-header-left",children:[c?W.jsx("input",{ref:y,className:"diagram-name-input","data-testid":"diagram-title",value:p,onChange:L=>g(L.target.value),onBlur:_,onKeyDown:x}):W.jsxs("span",{className:r?"diagram-name diagram-name--editable":"diagram-name","data-testid":"diagram-title",tabIndex:r?0:void 0,role:r?"button":void 0,"aria-label":r?"Rename diagram":void 0,onClick:r?w:void 0,onKeyDown:r?L=>{(L.key==="Enter"||L.key===" ")&&(L.preventDefault(),w())}:void 0,title:r?"Click to rename":void 0,children:[(P==null?void 0:P.name)||"diagram",r&&W.jsx("span",{className:"diagram-name-edit-icon","aria-hidden":"true",children:"✎"})]}),D&&W.jsxs("span",{className:"diagram-meta",children:["· ",D.nodes," nodes · ",D.edges," edges"]})]}),W.jsx("div",{className:"diagram-header-right",children:W.jsxs("div",{className:"zoom-segment",children:[W.jsx("button",{onClick:()=>b(1/1.2),"aria-label":"Zoom out",children:"−"}),W.jsxs("button",{className:"zoom-pct",onClick:S,"aria-label":"Fit",children:[T,"%"]}),W.jsx("button",{onClick:()=>b(1.2),"aria-label":"Zoom in",children:"+"})]})})]}),W.jsxs("div",{className:"preview-canvas","data-testid":"preview",ref:l,style:{backgroundPosition:`${s.tx}px ${s.ty}px`},children:[W.jsx("div",{className:"preview-content",ref:a,style:{transform:`translate(${s.tx}px, ${s.ty}px) scale(${s.scale})`},children:t.map(({name:L,svg:B},I)=>W.jsxs("section",{className:"diagram-block",children:[M&&W.jsx("div",{className:"sheet-label",children:L||"diagram"}),W.jsx("div",{className:"diagram-card",children:W.jsx("div",{className:"preview-svg",dangerouslySetInnerHTML:{__html:B}})})]},`${L}-${I}`))}),e&&W.jsx("span",{className:"preview-overlay-chip",children:"Rendering…"}),n!=null&&W.jsxs("span",{className:"render-ms-chip",children:["rendered in ",n,"ms"]})]}),i]})}function BF(t){if(t<1e3)return String(t);const n=Math.round(t/100)/10;return`${Number.isInteger(n)?String(n):n.toFixed(1)}k`}const FE="dgp-theme";function LF(t){return t==="light"||t==="dark"}function QF(){return window.matchMedia&&window.matchMedia("(prefers-color-scheme: light)").matches?"light":"dark"}function NE(t){document.documentElement.setAttribute("data-theme",t)}function IF(){const t=localStorage.getItem(FE);NE(LF(t)?t:QF())}function zF(){const e=document.documentElement.getAttribute("data-theme")==="dark"?"light":"dark";NE(e),localStorage.setItem(FE,e)}function FF(t){return t==="Ready"?"ready":t.startsWith("Failed")?"error":"busy"}const $E="dgp-gh-stars",NF=60*60*1e3,$F="https://api.github.com/repos/mingrammer/diagrams",WF=42500;function tm(t=!1){try{const e=localStorage.getItem($E);if(!e)return null;const n=JSON.parse(e);return typeof n.count!="number"||typeof n.ts!="number"||!t&&Date.now()-n.ts>NF?null:n.count}catch{return null}}function UF(){return W.jsx("svg",{width:"16",height:"16",viewBox:"0 0 16 16",fill:"currentColor","aria-hidden":"true",children:W.jsx("path",{d:"M8 0C3.58 0 0 3.58 0 8c0 3.54 2.29 6.53 5.47 7.59.4.07.55-.17.55-.38 0-.19-.01-.82-.01-1.49-2.01.37-2.53-.49-2.69-.94-.09-.23-.48-.94-.82-1.13-.28-.15-.68-.52-.01-.53.63-.01 1.08.58 1.23.82.72 1.21 1.87.87 2.33.66.07-.52.28-.87.51-1.07-1.78-.2-3.64-.89-3.64-3.95 0-.87.31-1.59.82-2.15-.08-.2-.36-1.02.08-2.12 0 0 .67-.21 2.2.82.64-.18 1.32-.27 2-.27.68 0 1.36.09 2 .27 1.53-1.04 2.2-.82 2.2-.82.44 1.1.16 1.92.08 2.12.51.56.82 1.27.82 2.15 0 3.07-1.87 3.75-3.65 3.95.29.25.54.73.54 1.48 0 1.07-.01 1.93-.01 2.2 0 .21.15.46.55.38A8.01 8.01 0 0 0 16 8c0-4.42-3.58-8-8-8Z"})})}function qF(){return W.jsx("svg",{width:"10",height:"10",viewBox:"0 0 16 16",fill:"currentColor","aria-hidden":"true",children:W.jsx("path",{d:"M8 .5l2.2 4.7 5.1.6-3.8 3.6.9 5.1L8 12l-4.4 2.5.9-5.1L.7 5.8l5.1-.6L8 .5Z"})})}function jF({status:t,onShare:e,shared:n}){const r=t==="Rendering…",i=FF(t),[s,o]=ae.useState(()=>tm()??tm(!0)??WF);return ae.useEffect(()=>{if(tm()!==null)return;let l=!1;return fetch($F).then(a=>{if(!a.ok)throw new Error(`HTTP ${a.status}`);return a.json()}).then(a=>{if(l)return;const u=a.stargazers_count;typeof u=="number"&&(o(u),localStorage.setItem($E,JSON.stringify({count:u,ts:Date.now()})))}).catch(()=>{}),()=>{l=!0}},[]),W.jsxs("header",{className:`toolbar${r?" is-loading":""}`,children:[W.jsx("span",{className:"app-mark","aria-hidden":"true",children:W.jsx("img",{src:"diagrams-logo.png",alt:"",width:22,height:22})}),W.jsx("h1",{className:"toolbar-title",children:"Diagrams Playground"}),W.jsxs("div",{className:`status-pill status-pill--${i}`,children:[W.jsx("span",{className:"status-dot","aria-hidden":"true"}),W.jsx("span",{"data-testid":"status",children:t})]}),W.jsx("span",{className:"toolbar-spacer"}),W.jsxs("div",{className:"toolbar-actions",children:[W.jsx("button",{onClick:zF,"aria-label":"Toggle theme",className:"btn-ghost","data-testid":"theme-toggle",children:"◐ Theme"}),W.jsxs("a",{href:"https://github.com/mingrammer/diagrams",target:"_blank",rel:"noreferrer",className:"btn-ghost","aria-label":`GitHub repository, ${s} stars`,children:[W.jsx(UF,{}),"GitHub",W.jsxs("span",{className:"gh-stars",children:[W.jsx(qF,{}),BF(s)]})]}),W.jsx("a",{href:"https://diagrams.mingrammer.com",target:"_blank",rel:"noreferrer",className:"btn-ghost","aria-label":"Documentation",children:"Docs ↗"}),W.jsx("button",{onClick:e,className:"btn-share","data-testid":"share-button",children:n?"Link copied!":"Share"})]})]})}const HF=/^from\s+(diagrams(?:\.\w+)*)\s+import\s+(.+)$/,VF=/from\s+(diagrams(?:\.\w+)*)\s+import\s*\(([^)]*)\)/g;function ex(t,e,n){for(const r of n.split(",")){const[i,s]=r.split(/\s+as\s+/).map(o=>o.trim());!i||!/^\w+$/.test(i)||s&&!/^\w+$/.test(s)||t.set(s??i,`${e}.${i}`)}}function XF(t){const e=new Map;let n=t;for(const r of t.matchAll(VF)){const[i,s,o]=r;ex(e,s,o),n=n.replace(i,"")}for(const r of n.split(` `)){const i=r.trim().match(HF);if(!i)continue;const[,s,o]=i;ex(e,s,o)}return e}function GF(t,e){const n=new Set;for(const r of Object.keys(t.modules))if((r+".").startsWith(e)){const s=r.slice(e.length);s&&n.add(s.split(".")[0])}return[...n].sort()}function tx(t){return()=>{const e=document.createElement("img");return e.src=`icons/${t}`,e.width=48,e.height=48,e}}function YF(t){return e=>{const n=e.matchBefore(/from\s+[\w.]*$/);if(n){const o=n.text.replace(/^from\s+/,""),l=n.text.length-o.length,a=o.lastIndexOf("."),u=a===-1?"":o.slice(0,a+1),c=GF(t,u).map(d=>({label:d,type:"namespace"}));return c.length?{from:n.from+l+u.length,options:c}:null}const r=e.matchBefore(/from\s+(diagrams[\w.]+)\s+import\s+(?:\w+(?:\s+as\s+\w+)?\s*,\s*)*\w*$/);if(r){const o=r.text.match(/from\s+([\w.]+)/)[1],l=t.modules[o];if(!l)return null;const a=e.matchBefore(/\w*$/),u=l.flatMap(c=>[{label:c.name,type:"class",info:tx(c.icon)},...c.aliases.map(d=>({label:d,type:"class",detail:c.name,info:tx(c.icon)}))]);return{from:a.from,options:u}}const i=e.matchBefore(/\w+$/);if(!i&&!e.explicit)return null;const s=XF(e.state.doc.toString());return s.size?{from:(i==null?void 0:i.from)??e.pos,options:[...s.entries()].map(([o,l])=>({label:o,type:"class",detail:l})),validFor:/^\w*$/}:null}}function KF(t){const e=[],n=/([A-Za-z_]\w*)?\s*(\(|\)|\[|\]|\{|\})/g;let r;for(;r=n.exec(t);){const[,i,s]=r;s==="("?e.push(i??""):s==="["||s==="{"?e.push(""):e.pop()}for(let i=e.length-1;i>=0;i--)if(e[i])return e[i];return null}function ZF(t,e){if(!e||!Object.hasOwn(t,e))return null;const n=t[e];return Array.isArray(n)?n:null}function nx(t,e){const{state:n}=e,r=n.selection.main.head,i=n.doc.lineAt(r),s=KF(i.text.slice(0,r-i.from)),o=ZF(t,s);return!s||!o?null:{pos:r,above:!0,create:()=>{const l=document.createElement("div");return l.className="cm-signature-hint",l.textContent=`${s}(${o.join(", ")})`,{dom:l}}}}function AF(t){return[It.define({create:n=>nx(t,{state:n}),update(n,r){return!r.docChanged&&!r.selection?n:nx(t,{state:r.state})},provide:n=>cd.from(n)})]}function Sd(t){return Object.freeze(Object.keys(t))}Sd({area:!0,class:!0,color:!0,colorscheme:!0,comment:!0,distortion:!0,fillcolor:!0,fixedsize:!0,fontcolor:!0,fontname:!0,fontsize:!0,gradientangle:!0,group:!0,height:!0,href:!0,id:!0,image:!0,imagepos:!0,imagescale:!0,label:!0,labelloc:!0,layer:!0,margin:!0,nojustify:!0,ordering:!0,orientation:!0,penwidth:!0,peripheries:!0,pin:!0,pos:!0,regular:!0,root:!0,samplepoints:!0,shape:!0,shapefile:!0,showboxes:!0,sides:!0,skew:!0,sortv:!0,style:!0,target:!0,tooltip:!0,URL:!0,width:!0,xlabel:!0,z:!0});Sd({arrowhead:!0,arrowsize:!0,arrowtail:!0,class:!0,color:!0,colorscheme:!0,comment:!0,constraint:!0,decorate:!0,dir:!0,edgehref:!0,edgetarget:!0,edgetooltip:!0,edgeURL:!0,fillcolor:!0,fontcolor:!0,fontname:!0,fontsize:!0,headclip:!0,headhref:!0,headlabel:!0,headport:!0,headtarget:!0,headtooltip:!0,headURL:!0,href:!0,id:!0,label:!0,labelangle:!0,labeldistance:!0,labelfloat:!0,labelfontcolor:!0,labelfontname:!0,labelfontsize:!0,labelhref:!0,labeltarget:!0,labeltooltip:!0,labelURL:!0,layer:!0,len:!0,lhead:!0,ltail:!0,minlen:!0,nojustify:!0,penwidth:!0,pos:!0,radius:!0,samehead:!0,sametail:!0,showboxes:!0,style:!0,tailclip:!0,tailhref:!0,taillabel:!0,tailport:!0,tailtarget:!0,tailtooltip:!0,tailURL:!0,target:!0,tooltip:!0,URL:!0,weight:!0,xlabel:!0});Sd({area:!0,bgcolor:!0,class:!0,cluster:!0,color:!0,colorscheme:!0,fillcolor:!0,fontcolor:!0,fontname:!0,fontsize:!0,gradientangle:!0,href:!0,id:!0,K:!0,label:!0,labeljust:!0,labelloc:!0,layer:!0,margin:!0,nojustify:!0,pencolor:!0,penwidth:!0,peripheries:!0,rank:!0,sortv:!0,style:!0,target:!0,tooltip:!0,URL:!0});Sd({_background:!0,beautify:!0,bgcolor:!0,center:!0,charset:!0,class:!0,clusterrank:!0,colorscheme:!0,comment:!0,compound:!0,concentrate:!0,Damping:!0,defaultdist:!0,dim:!0,dimen:!0,diredgeconstraints:!0,dpi:!0,epsilon:!0,esep:!0,fontcolor:!0,fontname:!0,fontnames:!0,fontpath:!0,fontsize:!0,forcelabels:!0,gradientangle:!0,href:!0,id:!0,imagepath:!0,inputscale:!0,K:!0,label:!0,label_scheme:!0,labeljust:!0,labelloc:!0,landscape:!0,layerlistsep:!0,layers:!0,layerselect:!0,layersep:!0,layout:!0,levels:!0,levelsgap:!0,linelength:!0,margin:!0,maxiter:!0,mclimit:!0,mindist:!0,mode:!0,model:!0,newrank:!0,nodesep:!0,nojustify:!0,normalize:!0,notranslate:!0,nslimit:!0,nslimit1:!0,oneblock:!0,ordering:!0,orientation:!0,outputorder:!0,overlap:!0,overlap_scaling:!0,overlap_shrink:!0,pack:!0,packmode:!0,pad:!0,page:!0,pagedir:!0,quantum:!0,rankdir:!0,ranksep:!0,ratio:!0,remincross:!0,repulsiveforce:!0,resolution:!0,root:!0,rotate:!0,rotation:!0,scale:!0,searchsize:!0,sep:!0,showboxes:!0,size:!0,smoothing:!0,sortv:!0,splines:!0,start:!0,style:!0,stylesheet:!0,target:!0,TBbalance:!0,tooltip:!0,truecolor:!0,URL:!0,viewport:!0,voro_margin:!0,xdotversion:!0});var JF=ArrayBuffer,gt=Uint8Array,zf=Uint16Array,eN=Int16Array,kd=Int32Array,nm=function(t,e,n){if(gt.prototype.slice)return gt.prototype.slice.call(t,e,n);(e==null||e<0)&&(e=0),(n==null||n>t.length)&&(n=t.length);var r=new gt(n-e);return r.set(t.subarray(e,n)),r},Ga=function(t,e,n,r){if(gt.prototype.fill)return gt.prototype.fill.call(t,e,n,r);for((n==null||n<0)&&(n=0),(r==null||r>t.length)&&(r=t.length);nt.length)&&(r=t.length);n2046MB)","invalid block type","FSE accuracy too high","match distance too far back","unexpected EOF"],vt=function(t,e,n){var r=new Error(e||nN[t]);if(r.code=t,Error.captureStackTrace&&Error.captureStackTrace(r,vt),!n)throw r;return r},rx=function(t,e,n){for(var r=0,i=0;r>>0},iN=function(t,e){var n=t[0]|t[1]<<8|t[2]<<16;if(n==3126568&&t[3]==253){var r=t[4],i=r>>5&1,s=r>>2&1,o=r&3,l=r>>6;r&8&&vt(0);var a=6-i,u=o==3?4:o,c=rx(t,a,u);a+=u;var d=l?1<>3);g=y+(y>>3)*(t[5]&7)}g>2145386496&&vt(1);var w=new gt((e==1?p||g:e?0:g)+12);return w[0]=1,w[4]=4,w[8]=8,{b:a+d,y:0,l:0,d:c,w:e&&e!=1?e:w.subarray(12),e:g,o:new kd(w.buffer,0,3),u:p,c:s,m:Math.min(131072,g)}}else if((n>>4|t[3]<<20)==25481893)return rN(t,4)+8;vt(0)},Ys=function(t){for(var e=0;1<n&&vt(3);for(var s=1<0;){var S=Ys(o+1),b=r>>3,T=(1<>(r&7)&T,D=(1<D&&(P-=M)),p[++l]=--P,P==-1?(o+=P,_[--c]=l):o-=P,!P)do{var B=r>>3;a=(t[B]|t[B+1]<<8)>>(r&7)&3,r+=2,l+=a}while(a==3)}(l>255||o)&&vt(0);for(var I=0,j=(s>>1)+(s>>3)+3,V=s-1,q=0;q<=l;++q){var G=p[q];if(G<1){g[q]=-G;continue}for(u=0;u=c)}}for(I&&vt(0),u=0;u>3,{b:i,s:_,n:x,t:y}]},sN=function(t,e){var n=0,r=-1,i=new gt(292),s=t[e],o=i.subarray(0,256),l=i.subarray(256,268),a=new zf(i.buffer,268);if(s<128){var u=Au(t,e+1,6),c=u[0],d=u[1];e+=s;var p=c<<3,g=t[e];g||vt(0);for(var y=0,w=0,_=d.b,x=_,S=(++e<<3)-8+Ys(g);S-=_,!(S>3;if(y+=(t[b]|t[b+1]<<8)>>(S&7)&(1<<_)-1,o[++r]=d.s[y],S-=x,S>3,w+=(t[b]|t[b+1]<<8)>>(S&7)&(1<255&&vt(0)}else{for(r=s-127;n>4,o[n+1]=T&15}++e}var P=0;for(n=0;n11&&vt(0),P+=D&&1<0;--n){var q=a[n];Ga(V,n,q,a[n-1]=q+l[n]*(1<l&&d>3,g=(t[p]|t[p+1]<<8|t[p+2]<<16)>>(c&7);a=(a<>2,o=s<<1,l=s+o;Ca(t.subarray(r,r+=t[0]|t[1]<<8),e.subarray(0,s),n),Ca(t.subarray(r,r+=t[2]|t[3]<<8),e.subarray(s,o),n),Ca(t.subarray(r,r+=t[4]|t[5]<<8),e.subarray(o,l),n),Ca(t.subarray(r),e.subarray(l),n)},fN=function(t,e,n){var r,i=e.b,s=t[i],o=s>>1&3;e.l=s&1;var l=s>>3|t[i+1]<<5|t[i+2]<<13,a=(i+=3)+l;if(o==1)return i>=t.length?void 0:(e.b=i+1,n?(Ga(n,t[i],e.y,e.y+=l),n):Ga(new gt(l),t[i]));if(!(a>t.length)){if(o==0)return e.b=a,n?(n.set(t.subarray(i,a),e.y),e.y+=l,n):nm(t,i,a);if(o==2){var u=t[i],c=u&3,d=u>>2&3,p=u>>4,g=0,y=0;c<2?d&1?p|=t[++i]<<4|(d&2&&t[++i]<<12):p=u>>3:(y=d,d<2?(p|=(t[++i]&63)<<4,g=t[i]>>6|t[++i]<<2):d==2?(p|=t[++i]<<4|(t[++i]&3)<<12,g=t[i]>>2|t[++i]<<6):(p|=t[++i]<<4|(t[++i]&63)<<12,g=t[i]>>6|t[++i]<<2|t[++i]<<10)),++i;var w=n?n.subarray(e.y,e.y+e.m):new gt(e.m),_=w.length-p;if(c==0)w.set(t.subarray(i,i+=p),_);else if(c==1)Ga(w,t[i++],_);else{var x=e.h;if(c==2){var S=sN(t,i);g+=i-(i=S[0]),e.h=x=S[1]}else x||vt(0);(y?hN:Ca)(t.subarray(i,i+=g),w.subarray(_),x)}var b=t[i++];if(b){b==255?b=(t[i++]|t[i++]<<8)+32512:b>127&&(b=b-128<<8|t[i++]);var T=t[i++];T&3&&vt(0);for(var P=[lN,aN,oN],D=2;D>-1;--D){var M=T>>(D<<1)+2&3;if(M==1){var L=new gt([0,0,t[i++]]);P[D]={s:L.subarray(2,3),n:L.subarray(0,1),t:new zf(L.buffer,0,1),b:0}}else M==2?(r=Au(t,i,9-(D&1)),i=r[0],P[D]=r[1]):M==3&&(e.t||vt(0),P[D]=e.t[D])}var B=e.t=P,I=B[0],j=B[1],V=B[2],q=t[a-1];q||vt(0);var G=(a<<3)-8+Ys(q)-V.b,A=G>>3,oe=0,ye=(t[A]|t[A+1]<<8)>>(G&7)&(1<>3;var N=(t[A]|t[A+1]<<8)>>(G&7)&(1<>3;var X=(t[A]|t[A+1]<<8)>>(G&7)&(1<>3;var pe=1<>>(G&7)&pe-1);A=(G-=c0[te])>>3;var St=cN[te]+((t[A]|t[A+1]<<8|t[A+2]<<16)>>(G&7)&(1<>3;var kt=uN[se]+((t[A]|t[A+1]<<8|t[A+2]<<16)>>(G&7)&(1<>3,ye=V.t[ye]+((t[A]|t[A+1]<<8)>>(G&7)&(1<>3,X=I.t[X]+((t[A]|t[A+1]<<8)>>(G&7)&(1<>3,N=j.t[N]+((t[A]|t[A+1]<<8)>>(G&7)&(1<3)e.o[2]=e.o[1],e.o[1]=e.o[0],e.o[0]=me-=3;else{var dn=me-(kt!=0);dn?(me=dn==3?e.o[0]-1:e.o[dn],dn>1&&(e.o[2]=e.o[1]),e.o[1]=e.o[0],e.o[0]=me):me=e.o[0]}for(var D=0;DSt&&(Me=St);for(var D=0;D{throw f},i,s,o=console.log.bind(console),l=console.error.bind(console),a,u=!1,c,d=h=>h.startsWith("file://"),p=!1;function g(){return Oc.buffer}function y(){var f;if(!((f=G==null?void 0:G.buffer)!=null&&f.resizable)){var h=g();G=new Int8Array(h),V=new Int16Array(h),e.HEAPU8=X=new Uint8Array(h),ye=new Uint16Array(h),q=new Int32Array(h),N=new Uint32Array(h),A=new Float32Array(h),oe=new Float64Array(h)}}function w(){p=!0,!e.noFSInit&&!v.initialized&&v.init(),ra.T(),v.ignorePermissions=!1}function _(h){h=`Aborted(${h})`,l(h),u=!0,h+=". Build with -sASSERTIONS for more info.",p&&T1();var f=new WebAssembly.RuntimeError(h);throw f}var x;let S=()=>"";function b(h){if(h==x&&a)return new Uint8Array(a);throw"both async and sync fetching of the wasm failed"}async function T(h){if(!a)try{var f=await i(h);return new Uint8Array(f)}catch{}return b(h)}async function P(h,f){try{var m=await T(h),O=await WebAssembly.instantiate(m,f);return O}catch(k){l(`failed to asynchronously prepare wasm: ${k}`),_(k)}}async function D(h,f,m){if(!h&&!d(f))try{var O=fetch(f,{credentials:"same-origin"}),k=await WebAssembly.instantiateStreaming(O,m);return k}catch(C){l(`wasm streaming compile failed: ${C}`),l("falling back to ArrayBuffer instantiation")}return P(f,m)}function M(){var h={a:BT};return h}async function L(){function h(C){return ra=C.exports,RT(ra),y(),ra}function f(C){return h(C.instance)}var m=M();x??(x=S());var O=await D(a,x,m),k=f(O);return k}var B,I;class j{constructor(f){et(this,"name","ExitStatus");this.message=`Program terminated with exit(${f})`,this.status=f}}var V,q,G,A,oe,ye,N,X,se=globalThis.TextDecoder&&new TextDecoder,we=(h,f,m,O)=>{var k=f+m;if(O)return k;for(;h[f]&&!(f>=k);)++f;return f},te=(h,f=0,m,O)=>{var k=we(h,f,m,O);if(k-f>16&&h.buffer&&se)return se.decode(h.subarray(f,k));for(var C="";f>10,56320|Y&1023)}}return C},Be=(h,f,m)=>h?te(X,h,f,m):"",Je=(h,f,m,O)=>_(`Assertion failed: ${Be(h)}, at: `+[f?Be(f):"unknown filename",m,O?Be(O):"unknown function"]),ve={isAbs:h=>h.charAt(0)==="/",splitPath:h=>{var f=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/;return f.exec(h).slice(1)},normalizeArray:(h,f)=>{for(var m=0,O=h.length-1;O>=0;O--){var k=h[O];k==="."?h.splice(O,1):k===".."?(h.splice(O,1),m++):m&&(h.splice(O,1),m--)}if(f)for(;m;m--)h.unshift("..");return h},normalize:h=>{var f=ve.isAbs(h),m=h.slice(-1)==="/";return h=ve.normalizeArray(h.split("/").filter(O=>!!O),!f).join("/"),!h&&!f&&(h="."),h&&m&&(h+="/"),(f?"/":"")+h},dirname:h=>{var f=ve.splitPath(h),m=f[0],O=f[1];return!m&&!O?".":(O&&(O=O.slice(0,-1)),m+O)},basename:h=>h&&h.match(/([^\/]+|\/)\/*$/)[1],join:(...h)=>ve.normalize(h.join("/")),join2:(h,f)=>ve.normalize(h+"/"+f)},pe=()=>h=>(crypto.getRandomValues(h),0),me=h=>(me=pe())(h),St={resolve:(...h)=>{for(var f="",m=!1,O=h.length-1;O>=-1&&!m;O--){var k=O>=0?h[O]:v.cwd();if(typeof k!="string")throw new TypeError("Arguments to path.resolve must be strings");if(!k)return"";f=k+"/"+f,m=ve.isAbs(k)}return f=ve.normalizeArray(f.split("/").filter(C=>!!C),!m).join("/"),(m?"/":"")+f||"."},relative:(h,f)=>{h=St.resolve(h).slice(1),f=St.resolve(f).slice(1);function m(Y){for(var ue=0;ue=0&&Y[fe]==="";fe--);return ue>fe?[]:Y.slice(ue,fe-ue+1)}for(var O=m(h.split("/")),k=m(f.split("/")),C=Math.min(O.length,k.length),R=C,Q=0;Q{for(var f=0,m=0;m=55296&&O<=57343?(f+=4,++m):f+=3}return f},pn=(h,f,m,O)=>{if(!(O>0))return 0;for(var k=m,C=m+O-1,R=0;R=C)break;f[m++]=Q}else if(Q<=2047){if(m+1>=C)break;f[m++]=192|Q>>6,f[m++]=128|Q&63}else if(Q<=65535){if(m+2>=C)break;f[m++]=224|Q>>12,f[m++]=128|Q>>6&63,f[m++]=128|Q&63}else{if(m+3>=C)break;f[m++]=240|Q>>18,f[m++]=128|Q>>12&63,f[m++]=128|Q>>6&63,f[m++]=128|Q&63,R++}}return f[m]=0,m-k},Me=(h,f,m)=>{var O=dn(h)+1,k=new Array(O),C=pn(h,k,0,k.length);return k.length=C,k},Ss=()=>{if(!kt.length){var h=null;if(!h)return null;kt=Me(h)}return kt.shift()},Ie={ttys:[],init(){},shutdown(){},register(h,f){Ie.ttys[h]={input:[],output:[],ops:f},v.registerDevice(h,Ie.stream_ops)},stream_ops:{open(h){var f=Ie.ttys[h.node.rdev];if(!f)throw new v.ErrnoError(43);h.tty=f,h.seekable=!1},close(h){h.tty.ops.fsync(h.tty)},fsync(h){h.tty.ops.fsync(h.tty)},read(h,f,m,O,k){if(!h.tty||!h.tty.ops.get_char)throw new v.ErrnoError(60);for(var C=0,R=0;R0&&(o(te(h.output)),h.output=[])},ioctl_tcgets(h){return{c_iflag:25856,c_oflag:5,c_cflag:191,c_lflag:35387,c_cc:[3,28,127,21,4,0,1,0,17,19,26,0,18,15,23,22,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]}},ioctl_tcsets(h,f,m){return 0},ioctl_tiocgwinsz(h){return[24,80]}},default_tty1_ops:{put_char(h,f){f===null||f===10?(l(te(h.output)),h.output=[]):f!=0&&h.output.push(f)},fsync(h){var f;((f=h.output)==null?void 0:f.length)>0&&(l(te(h.output)),h.output=[])}}},Wl=(h,f)=>X.fill(0,h,h+f),Ye=(h,f)=>Math.ceil(h/f)*f,Ci=h=>{h=Ye(h,65536);var f=E1(65536,h);return f&&Wl(f,h),f},ge={ops_table:null,mount(h){return ge.createNode(null,"/",16895,0)},createNode(h,f,m,O){if(v.isBlkdev(m)||v.isFIFO(m))throw new v.ErrnoError(63);ge.ops_table||(ge.ops_table={dir:{node:{getattr:ge.node_ops.getattr,setattr:ge.node_ops.setattr,lookup:ge.node_ops.lookup,mknod:ge.node_ops.mknod,rename:ge.node_ops.rename,unlink:ge.node_ops.unlink,rmdir:ge.node_ops.rmdir,readdir:ge.node_ops.readdir,symlink:ge.node_ops.symlink},stream:{llseek:ge.stream_ops.llseek}},file:{node:{getattr:ge.node_ops.getattr,setattr:ge.node_ops.setattr},stream:{llseek:ge.stream_ops.llseek,read:ge.stream_ops.read,write:ge.stream_ops.write,mmap:ge.stream_ops.mmap,msync:ge.stream_ops.msync}},link:{node:{getattr:ge.node_ops.getattr,setattr:ge.node_ops.setattr,readlink:ge.node_ops.readlink},stream:{}},chrdev:{node:{getattr:ge.node_ops.getattr,setattr:ge.node_ops.setattr},stream:v.chrdev_stream_ops}});var k=v.createNode(h,f,m,O);return v.isDir(k.mode)?(k.node_ops=ge.ops_table.dir.node,k.stream_ops=ge.ops_table.dir.stream,k.contents={}):v.isFile(k.mode)?(k.node_ops=ge.ops_table.file.node,k.stream_ops=ge.ops_table.file.stream,k.usedBytes=0,k.contents=ge.emptyFileContents??(ge.emptyFileContents=new Uint8Array(0))):v.isLink(k.mode)?(k.node_ops=ge.ops_table.link.node,k.stream_ops=ge.ops_table.link.stream):v.isChrdev(k.mode)&&(k.node_ops=ge.ops_table.chrdev.node,k.stream_ops=ge.ops_table.chrdev.stream),k.atime=k.mtime=k.ctime=Date.now(),h&&(h.contents[f]=k,h.atime=h.mtime=h.ctime=k.atime),k},getFileDataAsTypedArray(h){return h.contents.subarray(0,h.usedBytes)},expandFileStorage(h,f){var m=h.contents.length;if(!(m>=f)){var O=1048576;f=Math.max(f,m*(m>>0),m&&(f=Math.max(f,256));var k=ge.getFileDataAsTypedArray(h);h.contents=new Uint8Array(f),h.contents.set(k)}},resizeFileStorage(h,f){if(h.usedBytes!=f){var m=h.contents;h.contents=new Uint8Array(f),h.contents.set(m.subarray(0,Math.min(f,h.usedBytes))),h.usedBytes=f}},node_ops:{getattr(h){var f={};return f.dev=v.isChrdev(h.mode)?h.id:1,f.ino=h.id,f.mode=h.mode,f.nlink=1,f.uid=0,f.gid=0,f.rdev=h.rdev,v.isDir(h.mode)?f.size=4096:v.isFile(h.mode)?f.size=h.usedBytes:v.isLink(h.mode)?f.size=h.link.length:f.size=0,f.atime=new Date(h.atime),f.mtime=new Date(h.mtime),f.ctime=new Date(h.ctime),f.blksize=4096,f.blocks=Math.ceil(f.size/f.blksize),f},setattr(h,f){for(let m of["mode","atime","mtime","ctime"])f[m]!=null&&(h[m]=f[m]);f.size!==void 0&&ge.resizeFileStorage(h,f.size)},lookup(h,f){throw ge.doesNotExistError||(ge.doesNotExistError=new v.ErrnoError(44),ge.doesNotExistError.stack=""),ge.doesNotExistError},mknod(h,f,m,O){return ge.createNode(h,f,m,O)},rename(h,f,m){var O;try{O=v.lookupNode(f,m)}catch{}if(O){if(v.isDir(h.mode))for(var k in O.contents)throw new v.ErrnoError(55);v.hashRemoveNode(O)}delete h.parent.contents[h.name],f.contents[m]=h,h.name=m,f.ctime=f.mtime=h.parent.ctime=h.parent.mtime=Date.now()},unlink(h,f){delete h.contents[f],h.ctime=h.mtime=Date.now()},rmdir(h,f){var m=v.lookupNode(h,f);for(var O in m.contents)throw new v.ErrnoError(55);delete h.contents[f],h.ctime=h.mtime=Date.now()},readdir(h){return[".","..",...Object.keys(h.contents)]},symlink(h,f,m){var O=ge.createNode(h,f,41471,0);return O.link=m,O},readlink(h){if(!v.isLink(h.mode))throw new v.ErrnoError(28);return h.link}},stream_ops:{read(h,f,m,O,k){var C=h.node.contents;if(k>=h.node.usedBytes)return 0;var R=Math.min(h.node.usedBytes-k,O);return f.set(C.subarray(k,k+R),m),R},write(h,f,m,O,k,C){if(f.buffer===G.buffer&&(C=!1),!O)return 0;var R=h.node;return R.mtime=R.ctime=Date.now(),C?(R.contents=f.subarray(m,m+O),R.usedBytes=O):R.usedBytes===0&&k===0?(R.contents=f.slice(m,m+O),R.usedBytes=O):(ge.expandFileStorage(R,k+O),R.contents.set(f.subarray(m,m+O),k),R.usedBytes=Math.max(R.usedBytes,k+O)),O},llseek(h,f,m){var O=f;if(m===1?O+=h.position:m===2&&v.isFile(h.node.mode)&&(O+=h.node.usedBytes),O<0)throw new v.ErrnoError(28);return O},mmap(h,f,m,O,k){if(!v.isFile(h.node.mode))throw new v.ErrnoError(43);var C,R,Q=h.node.contents;if(!(k&2)&&Q.buffer===G.buffer)R=!1,C=Q.byteOffset;else{if(R=!0,C=Ci(f),!C)throw new v.ErrnoError(48);Q&&((m>0||m+f{if(typeof h!="string")return h;var f={r:0,"r+":2,w:577,"w+":578,a:1089,"a+":1090},m=f[h];if(typeof m>"u")throw new Error(`Unknown file open mode: ${h}`);return m},Ul=h=>(typeof h=="string"&&(h=Me(h)),h.subarray||(h=new Uint8Array(h)),h),ks=(h,f)=>{var m=0;return h&&(m|=365),f&&(m|=146),m},tc=async h=>{var f=await i(h);return new Uint8Array(f)},nc=(...h)=>v.createDataFile(...h),hr=null,Mr=async()=>hr,Mn=0,po=null,mo=h=>{Mn--,Mn||po()},go=h=>{Mn||(hr=new Promise(f=>po=f)),Mn++},ql=[],Ti=async(h,f)=>{typeof Browser<"u"&&Browser.init();for(var m of ql)if(m.canHandle(f))return m.handle(h,f);return h},bs=async(h,f,m,O,k,C,R,Q)=>{var $=f?St.resolve(ve.join2(h,f)):h;go();try{var Y=m;typeof m=="string"&&(Y=await tc(m)),Y=await Ti(Y,$),Q==null||Q(),C||nc(h,f,Y,O,k,R)}finally{mo()}},Oo=(h,f,m,O,k,C,R,Q,$,Y)=>{bs(h,f,m,O,k,Q,$,Y).then(C).catch(R)},v={root:null,mounts:[],devices:{},streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:!1,ignorePermissions:!0,filesystems:null,syncFSRequests:0,ErrnoError:class{constructor(h){et(this,"name","ErrnoError");this.errno=h}},FSStream:class{constructor(){et(this,"shared",{})}get object(){return this.node}set object(h){this.node=h}get isRead(){return(this.flags&2097155)!==1}get isWrite(){return(this.flags&2097155)!==0}get isAppend(){return this.flags&1024}get flags(){return this.shared.flags}set flags(h){this.shared.flags=h}get position(){return this.shared.position}set position(h){this.shared.position=h}},FSNode:class{constructor(h,f,m,O){et(this,"node_ops",{});et(this,"stream_ops",{});et(this,"readMode",365);et(this,"writeMode",146);et(this,"mounted",null);h||(h=this),this.parent=h,this.mount=h.mount,this.id=v.nextInode++,this.name=f,this.mode=m,this.rdev=O,this.atime=this.mtime=this.ctime=Date.now()}get read(){return(this.mode&this.readMode)===this.readMode}set read(h){h?this.mode|=this.readMode:this.mode&=~this.readMode}get write(){return(this.mode&this.writeMode)===this.writeMode}set write(h){h?this.mode|=this.writeMode:this.mode&=~this.writeMode}get isFolder(){return v.isDir(this.mode)}get isDevice(){return v.isChrdev(this.mode)}addListener(h,f=!1){var m={cb:h,exclusive:f},O=this.listeners??(this.listeners=new Set);return O.add(m),{listeners:O,entry:m}}notifyListeners(h){if(this.listeners){var f;for(var m of this.listeners)m.exclusive?(f||(f=[])).push(m):m.cb(h);if(f){var O=(this.exclTurn||0)%f.length;this.exclTurn=O+1,f[O].cb(h)}}}},lookupPath(h,f={}){if(!h)throw new v.ErrnoError(44);f.follow_mount??(f.follow_mount=!0),ve.isAbs(h)||(h=v.cwd()+"/"+h);e:for(var m=0;m<40;m++){for(var O=h.split("/").filter(Y=>!!Y),k=v.root,C="/",R=0;R>>0)%v.nameTable.length},hashAddNode(h){var f=v.hashName(h.parent.id,h.name);h.name_next=v.nameTable[f],v.nameTable[f]=h},hashRemoveNode(h){var f=v.hashName(h.parent.id,h.name);if(v.nameTable[f]===h)v.nameTable[f]=h.name_next;else for(var m=v.nameTable[f];m;){if(m.name_next===h){m.name_next=h.name_next;break}m=m.name_next}},lookupNode(h,f){var m=v.mayLookup(h);if(m)throw new v.ErrnoError(m);for(var O=v.hashName(h.id,f),k=v.nameTable[O];k;k=k.name_next){var C=k.name;if(k.parent.id===h.id&&C===f)return k}return v.lookup(h,f)},createNode(h,f,m,O){var k=new v.FSNode(h,f,m,O);return v.hashAddNode(k),k},destroyNode(h){v.hashRemoveNode(h)},isRoot(h){return h===h.parent},isMountpoint(h){return!!h.mounted},isFile(h){return(h&61440)===32768},isDir(h){return(h&61440)===16384},isLink(h){return(h&61440)===40960},isChrdev(h){return(h&61440)===8192},isBlkdev(h){return(h&61440)===24576},isFIFO(h){return(h&61440)===4096},isSocket(h){return(h&49152)===49152},flagsToPermissionString(h){var f=["r","w","rw"][h&3];return h&512&&(f+="w"),f},nodePermissions(h,f){return v.ignorePermissions?0:f.includes("r")&&!(h.mode&292)||f.includes("w")&&!(h.mode&146)||f.includes("x")&&!(h.mode&73)?2:0},mayLookup(h){if(!v.isDir(h.mode))return 54;var f=v.nodePermissions(h,"x");return f||(h.node_ops.lookup?0:2)},mayCreate(h,f){if(!v.isDir(h.mode))return 54;try{var m=v.lookupNode(h,f);return 20}catch{}return v.nodePermissions(h,"wx")},mayDelete(h,f,m){var O;try{O=v.lookupNode(h,f)}catch(C){return C.errno}var k=v.nodePermissions(h,"wx");if(k)return k;if(m){if(!v.isDir(O.mode))return 54;if(v.isRoot(O)||v.getPath(O)===v.cwd())return 10}else if(v.isDir(O.mode))return 31;return 0},mayOpen(h,f){if(!h)return 44;if(v.isLink(h.mode))return 32;var m=v.flagsToPermissionString(f);return v.isDir(h.mode)&&(m!=="r"||f&576)?31:v.nodePermissions(h,m)},checkOpExists(h,f){if(!h)throw new v.ErrnoError(f);return h},MAX_OPEN_FDS:4096,nextfd(){for(var h=0;h<=v.MAX_OPEN_FDS;h++)if(!v.streams[h])return h;throw new v.ErrnoError(33)},getStreamChecked(h){var f=v.getStream(h);if(!f)throw new v.ErrnoError(8);return f},getStream:h=>v.streams[h],createStream(h,f=-1){return h=Object.assign(new v.FSStream,h),f==-1&&(f=v.nextfd()),h.fd=f,v.streams[f]=h,h},closeStream(h){v.streams[h]=null},dupStream(h,f=-1){var O,k;var m=v.createStream(h,f);return(k=(O=m.stream_ops)==null?void 0:O.dup)==null||k.call(O,m),m},doSetAttr(h,f,m){var O=h==null?void 0:h.stream_ops.setattr,k=O?h:f;O??(O=f.node_ops.setattr),v.checkOpExists(O,63);try{O(k,m)}catch(C){throw C instanceof RangeError?new v.ErrnoError(22):C}},chrdev_stream_ops:{open(h){var m,O;var f=v.getDevice(h.node.rdev);h.stream_ops=f.stream_ops,(O=(m=h.stream_ops).open)==null||O.call(m,h)},llseek(){throw new v.ErrnoError(70)}},major:h=>h>>8,minor:h=>h&255,makedev:(h,f)=>h<<8|f,registerDevice(h,f){v.devices[h]={stream_ops:f}},getDevice:h=>v.devices[h],getMounts(h){for(var f=[],m=[h];m.length;){var O=m.pop();f.push(O),m.push(...O.mounts)}return f},syncfs(h,f){typeof h=="function"&&(f=h,h=!1),v.syncFSRequests++,v.syncFSRequests>1&&l(`warning: ${v.syncFSRequests} FS.syncfs operations in flight at once, probably just doing extra work`);var m=v.getMounts(v.root.mount),O=0;function k(Q){return v.syncFSRequests--,f(Q)}function C(Q){if(Q)return C.errored?void 0:(C.errored=!0,k(Q));++O>=m.length&&k(null)}for(var R of m)R.type.syncfs?R.type.syncfs(R,h,C):C(null)},mount(h,f,m){var O=m==="/",k=!m,C;if(O&&v.root)throw new v.ErrnoError(10);if(!O&&!k){var R=v.lookupPath(m,{follow_mount:!1});if(m=R.path,C=R.node,v.isMountpoint(C))throw new v.ErrnoError(10);if(!v.isDir(C.mode))throw new v.ErrnoError(54)}var Q={type:h,opts:f,mountpoint:m,mounts:[]},$=h.mount(Q);return $.mount=Q,Q.root=$,O?v.root=$:C&&(C.mounted=Q,C.mount&&C.mount.mounts.push(Q)),$},unmount(h){var f=v.lookupPath(h,{follow_mount:!1});if(!v.isMountpoint(f.node))throw new v.ErrnoError(28);var m=f.node,O=m.mounted,k=v.getMounts(O);for(var[C,R]of Object.entries(v.nameTable))for(;R;){var Q=R.name_next;k.includes(R.mount)&&v.destroyNode(R),R=Q}m.mounted=null;var $=m.mount.mounts.indexOf(O);m.mount.mounts.splice($,1)},lookup(h,f){return h.node_ops.lookup(h,f)},mknod(h,f,m){var O=v.lookupPath(h,{parent:!0}),k=O.node,C=ve.basename(h);if(!C)throw new v.ErrnoError(28);if(C==="."||C==="..")throw new v.ErrnoError(20);var R=v.mayCreate(k,C);if(R)throw new v.ErrnoError(R);if(!k.node_ops.mknod)throw new v.ErrnoError(63);return k.node_ops.mknod(k,C,f,m)},statfs(h){return v.statfsNode(v.lookupPath(h,{follow:!0}).node)},statfsStream(h){return v.statfsNode(h.node)},statfsNode(h){var f={bsize:4096,frsize:4096,blocks:1e6,bfree:5e5,bavail:5e5,files:v.nextInode,ffree:v.nextInode-1,fsid:42,flags:2,namelen:255};return h.node_ops.statfs&&Object.assign(f,h.node_ops.statfs(h.mount.opts.root)),f},create(h,f=438){return f&=4095,f|=32768,v.mknod(h,f,0)},mkdir(h,f=511){return f&=1023,f|=16384,v.mknod(h,f,0)},mkdirTree(h,f){var m=h.split("/"),O="";for(var k of m)if(k){(O||ve.isAbs(h))&&(O+="/"),O+=k;try{v.mkdir(O,f)}catch(C){if(C.errno!=20)throw C}}},mkdev(h,f,m){return typeof m>"u"&&(m=f,f=438),f|=8192,v.mknod(h,f,m)},symlink(h,f){if(!St.resolve(h))throw new v.ErrnoError(44);var m=v.lookupPath(f,{parent:!0}),O=m.node;if(!O)throw new v.ErrnoError(44);var k=ve.basename(f),C=v.mayCreate(O,k);if(C)throw new v.ErrnoError(C);if(!O.node_ops.symlink)throw new v.ErrnoError(63);return O.node_ops.symlink(O,k,h)},link(h,f,m){var O=v.lookupPath(f,{parent:!0}),k=O.node;if(!k)throw new v.ErrnoError(44);var C=ve.basename(f),R=v.mayCreate(k,C);if(R)throw new v.ErrnoError(R);if(!k.node_ops.link)throw new v.ErrnoError(34);return k.node_ops.link(k,C,h,m)},rename(h,f){var m=ve.dirname(h),O=ve.dirname(f),k=ve.basename(h),C=ve.basename(f),R,Q,$;if(R=v.lookupPath(h,{parent:!0}),Q=R.node,R=v.lookupPath(f,{parent:!0}),$=R.node,!Q||!$)throw new v.ErrnoError(44);if(Q.mount!==$.mount)throw new v.ErrnoError(75);var Y=v.lookupNode(Q,k),ue=St.relative(h,O);if(ue.charAt(0)!==".")throw new v.ErrnoError(28);if(ue=St.relative(f,m),ue.charAt(0)!==".")throw new v.ErrnoError(55);var fe;try{fe=v.lookupNode($,C)}catch{}if(Y!==fe){var he=v.isDir(Y.mode),re=v.mayDelete(Q,k,he);if(re)throw new v.ErrnoError(re);if(re=fe?v.mayDelete($,C,he):v.mayCreate($,C),re)throw new v.ErrnoError(re);if(!Q.node_ops.rename)throw new v.ErrnoError(63);if(v.isMountpoint(Y)||fe&&v.isMountpoint(fe))throw new v.ErrnoError(10);if($!==Q&&(re=v.nodePermissions(Q,"w"),re))throw new v.ErrnoError(re);v.hashRemoveNode(Y);try{Q.node_ops.rename(Y,$,C),Y.parent=$}catch(_e){throw _e}finally{v.hashAddNode(Y)}}},rmdir(h){var f=v.lookupPath(h,{parent:!0}),m=f.node,O=ve.basename(h),k=v.lookupNode(m,O),C=v.mayDelete(m,O,!0);if(C)throw new v.ErrnoError(C);if(!m.node_ops.rmdir)throw new v.ErrnoError(63);if(v.isMountpoint(k))throw new v.ErrnoError(10);m.node_ops.rmdir(m,O),v.destroyNode(k)},readdir(h){var f=v.lookupPath(h,{follow:!0}),m=f.node,O=v.checkOpExists(m.node_ops.readdir,54);return O(m)},unlink(h){var f=v.lookupPath(h,{parent:!0}),m=f.node;if(!m)throw new v.ErrnoError(44);var O=ve.basename(h),k=v.lookupNode(m,O),C=v.mayDelete(m,O,!1);if(C)throw new v.ErrnoError(C);if(!m.node_ops.unlink)throw new v.ErrnoError(63);if(v.isMountpoint(k))throw new v.ErrnoError(10);m.node_ops.unlink(m,O),v.destroyNode(k)},readlink(h){var f=v.lookupPath(h),m=f.node;if(!m)throw new v.ErrnoError(44);if(!m.node_ops.readlink)throw new v.ErrnoError(28);return m.node_ops.readlink(m)},stat(h,f){var m=v.lookupPath(h,{follow:!f}),O=m.node,k=v.checkOpExists(O.node_ops.getattr,63);return k(O)},fstat(h){var f=v.getStreamChecked(h),m=f.node,O=f.stream_ops.getattr,k=O?f:m;return O??(O=m.node_ops.getattr),v.checkOpExists(O,63),O(k)},lstat(h){return v.stat(h,!0)},doChmod(h,f,m,O){v.doSetAttr(h,f,{mode:m&4095|f.mode&-4096,ctime:Date.now(),dontFollow:O})},chmod(h,f,m){var O;if(typeof h=="string"){var k=v.lookupPath(h,{follow:!m});O=k.node}else O=h;v.doChmod(null,O,f,m)},lchmod(h,f){v.chmod(h,f,!0)},fchmod(h,f){var m=v.getStreamChecked(h);v.doChmod(m,m.node,f,!1)},doChown(h,f,m){v.doSetAttr(h,f,{timestamp:Date.now(),dontFollow:m})},chown(h,f,m,O){var k;if(typeof h=="string"){var C=v.lookupPath(h,{follow:!O});k=C.node}else k=h;v.doChown(null,k,O)},lchown(h,f,m){v.chown(h,f,m,!0)},fchown(h,f,m){var O=v.getStreamChecked(h);v.doChown(O,O.node,!1)},doTruncate(h,f,m){if(v.isDir(f.mode))throw new v.ErrnoError(31);if(!v.isFile(f.mode))throw new v.ErrnoError(28);var O=v.nodePermissions(f,"w");if(O)throw new v.ErrnoError(O);v.doSetAttr(h,f,{size:m,timestamp:Date.now()})},truncate(h,f){if(f<0)throw new v.ErrnoError(28);var m;if(typeof h=="string"){var O=v.lookupPath(h,{follow:!0});m=O.node}else m=h;v.doTruncate(null,m,f)},ftruncate(h,f){var m=v.getStreamChecked(h);if(f<0||!(m.flags&2097155))throw new v.ErrnoError(28);v.doTruncate(m,m.node,f)},utime(h,f,m,O){var k=v.lookupPath(h,{follow:!O});v.doSetAttr(null,k.node,{atime:f,mtime:m,dontFollow:O})},open(h,f,m=438){if(h==="")throw new v.ErrnoError(44);f=Pr(f),f&64?m=m&4095|32768:m=0;var O,k;if(typeof h=="object")O=h;else{k=h.endsWith("/");var C=v.lookupPath(h,{follow:!(f&131072),noent_okay:!0});O=C.node,h=C.path}var R=!1;if(f&64)if(O){if(f&128)throw new v.ErrnoError(20)}else{if(k)throw new v.ErrnoError(31);O=v.mknod(h,m|511,0),R=!0}if(!O)throw new v.ErrnoError(44);if(v.isChrdev(O.mode)&&(f&=-513),f&65536&&!v.isDir(O.mode))throw new v.ErrnoError(54);if(!R){var Q=v.mayOpen(O,f);if(Q)throw new v.ErrnoError(Q)}f&512&&!R&&v.truncate(O,0),f&=-131713;var $=v.createStream({node:O,path:v.getPath(O),flags:f,seekable:!0,position:0,stream_ops:O.stream_ops,ungotten:[],error:!1});return $.stream_ops.open&&$.stream_ops.open($),R&&v.chmod(O,m&511),$},close(h){var f;if(v.isClosed(h))throw new v.ErrnoError(8);h.getdents&&(h.getdents=null),(f=h.node)==null||f.notifyListeners(32);try{h.stream_ops.close&&h.stream_ops.close(h)}catch(m){throw m}finally{v.closeStream(h.fd)}h.fd=null},isClosed(h){return h.fd===null},llseek(h,f,m){if(v.isClosed(h))throw new v.ErrnoError(8);if(!h.seekable||!h.stream_ops.llseek)throw new v.ErrnoError(70);if(m!=0&&m!=1&&m!=2)throw new v.ErrnoError(28);return h.position=h.stream_ops.llseek(h,f,m),h.ungotten=[],h.position},read(h,f,m,O,k){if(O<0||k<0)throw new v.ErrnoError(28);if(v.isClosed(h))throw new v.ErrnoError(8);if((h.flags&2097155)===1)throw new v.ErrnoError(8);if(v.isDir(h.node.mode))throw new v.ErrnoError(31);if(!h.stream_ops.read)throw new v.ErrnoError(28);var C=typeof k<"u";if(!C)k=h.position;else if(!h.seekable)throw new v.ErrnoError(70);var R=h.stream_ops.read(h,f,m,O,k);return C||(h.position+=R),R},write(h,f,m,O,k,C){if(O<0||k<0)throw new v.ErrnoError(28);if(v.isClosed(h))throw new v.ErrnoError(8);if(!(h.flags&2097155))throw new v.ErrnoError(8);if(v.isDir(h.node.mode))throw new v.ErrnoError(31);if(!h.stream_ops.write)throw new v.ErrnoError(28);h.seekable&&h.flags&1024&&v.llseek(h,0,2);var R=typeof k<"u";if(!R)k=h.position;else if(!h.seekable)throw new v.ErrnoError(70);var Q=h.stream_ops.write(h,f,m,O,k,C);return R||(h.position+=Q),Q},mmap(h,f,m,O,k){if(O&2&&!(k&2)&&(h.flags&2097155)!==2)throw new v.ErrnoError(2);if((h.flags&2097155)===1)throw new v.ErrnoError(2);if(!h.stream_ops.mmap)throw new v.ErrnoError(43);if(!f)throw new v.ErrnoError(28);return h.stream_ops.mmap(h,f,m,O,k)},msync(h,f,m,O,k){return h.stream_ops.msync?h.stream_ops.msync(h,f,m,O,k):0},ioctl(h,f,m){if(!h.stream_ops.ioctl)throw new v.ErrnoError(59);return h.stream_ops.ioctl(h,f,m)},readFile(h,f={}){f.flags=f.flags??0,f.encoding=f.encoding??"binary",f.encoding!=="utf8"&&f.encoding!=="binary"&&_(`Invalid encoding type "${f.encoding}"`);var m=v.open(h,f.flags),O=v.stat(h),k=O.size,C=new Uint8Array(k);return v.read(m,C,0,k,0),f.encoding==="utf8"&&(C=te(C)),v.close(m),C},writeFile(h,f,m={}){m.flags=m.flags??577;var O=v.open(h,m.flags,m.mode);f=Ul(f),v.write(O,f,0,f.byteLength,void 0,m.canOwn),v.close(O)},cwd:()=>v.currentPath,chdir(h){var f=v.lookupPath(h,{follow:!0});if(f.node===null)throw new v.ErrnoError(44);if(!v.isDir(f.node.mode))throw new v.ErrnoError(54);var m=v.nodePermissions(f.node,"x");if(m)throw new v.ErrnoError(m);v.currentPath=f.path},createDefaultDirectories(){v.mkdir("/tmp"),v.mkdir("/home"),v.mkdir("/home/web_user")},createDefaultDevices(){v.mkdir("/dev"),v.registerDevice(v.makedev(1,3),{read:()=>0,write:(O,k,C,R,Q)=>R,llseek:()=>0}),v.mkdev("/dev/null",v.makedev(1,3)),Ie.register(v.makedev(5,0),Ie.default_tty_ops),Ie.register(v.makedev(6,0),Ie.default_tty1_ops),v.mkdev("/dev/tty",v.makedev(5,0)),v.mkdev("/dev/tty1",v.makedev(6,0));var h=new Uint8Array(1024),f=0,m=()=>(f===0&&(me(h),f=h.byteLength),h[--f]);v.createDevice("/dev","random",m),v.createDevice("/dev","urandom",m),v.mkdir("/dev/shm"),v.mkdir("/dev/shm/tmp")},createSpecialDirectories(){v.mkdir("/proc");var h=v.mkdir("/proc/self");v.mkdir("/proc/self/fd"),v.mount({mount(){var f=v.createNode(h,"fd",16895,73);return f.stream_ops={llseek:ge.stream_ops.llseek},f.node_ops={lookup(m,O){var k=+O,C=v.getStreamChecked(k),R={parent:null,mount:{mountpoint:"fake"},node_ops:{readlink:()=>C.path},id:k+1};return R.parent=R,R},readdir(){return Array.from(v.streams.entries()).filter(([m,O])=>O).map(([m,O])=>m.toString())}},f}},{},"/proc/self/fd")},createStandardStreams(h,f,m){h?v.createDevice("/dev","stdin",h):v.symlink("/dev/tty","/dev/stdin"),f?v.createDevice("/dev","stdout",null,f):v.symlink("/dev/tty","/dev/stdout"),m?v.createDevice("/dev","stderr",null,m):v.symlink("/dev/tty1","/dev/stderr"),v.open("/dev/stdin",0),v.open("/dev/stdout",1),v.open("/dev/stderr",1)},staticInit(){v.nameTable=new Array(4096),v.mount(ge,{},"/"),v.createDefaultDirectories(),v.createDefaultDevices(),v.createSpecialDirectories(),v.filesystems={MEMFS:ge}},init(h,f,m){v.initialized=!0,v.createStandardStreams(h,f,m)},quit(){v.initialized=!1;for(var h of v.streams)h&&v.close(h)},findObject(h,f){var m=v.analyzePath(h,f);return m.exists?m.object:null},analyzePath(h,f){try{var m=v.lookupPath(h,{follow:!f});h=m.path}catch{}var O={isRoot:!1,exists:!1,error:0,name:null,path:null,object:null,parentExists:!1,parentPath:null,parentObject:null};try{var m=v.lookupPath(h,{parent:!0});O.parentExists=!0,O.parentPath=m.path,O.parentObject=m.node,O.name=ve.basename(h),m=v.lookupPath(h,{follow:!f}),O.exists=!0,O.path=m.path,O.object=m.node,O.name=m.node.name,O.isRoot=m.path==="/"}catch(k){O.error=k.errno}return O},createPath(h,f,m,O){h=typeof h=="string"?h:v.getPath(h);for(var k=f.split("/").reverse();k.length;){var C=k.pop();if(C){var R=ve.join2(h,C);try{v.mkdir(R)}catch(Q){if(Q.errno!=20)throw Q}h=R}}return R},createFile(h,f,m,O,k){var C=ve.join2(typeof h=="string"?h:v.getPath(h),f),R=ks(O,k);return v.create(C,R)},createDataFile(h,f,m,O,k,C){var R=f;h&&(h=typeof h=="string"?h:v.getPath(h),R=f?ve.join2(h,f):h);var Q=ks(O,k),$=v.create(R,Q);if(m){m=Ul(m),v.chmod($,Q|146);var Y=v.open($,577);v.write(Y,m,0,m.length,0,C),v.close(Y),v.chmod($,Q)}},createDevice(h,f,m,O){var Q;var k=ve.join2(typeof h=="string"?h:v.getPath(h),f),C=ks(!!m,!!O);(Q=v.createDevice).major??(Q.major=64);var R=v.makedev(v.createDevice.major++,0);return v.registerDevice(R,{open($){$.seekable=!1},close($){var Y;(Y=O==null?void 0:O.buffer)!=null&&Y.length&&O(10)},read($,Y,ue,fe,he){for(var re=0,_e=0;_ethis.length-1||he<0)){var re=he%this.chunkSize,_e=he/this.chunkSize|0;return this.getter(_e)[re]}}setDataGetter(he){this.getter=he}cacheLength(){var he=new XMLHttpRequest;he.open("HEAD",m,!1),he.send(null),he.status>=200&&he.status<300||he.status===304||_("Couldn't load "+m+". Status: "+he.status);var re=Number(he.getResponseHeader("Content-length")),_e,Le=(_e=he.getResponseHeader("Accept-Ranges"))&&_e==="bytes",$e=(_e=he.getResponseHeader("Content-Encoding"))&&_e==="gzip",Pe=1024*1024;Le||(Pe=re);var bt=(gn,Yt)=>{gn>Yt&&_(`invalid range (${gn}, ${Yt}) or no bytes requested!`),Yt>re-1&&_(`only ${re} bytes available! programmer error!`);var at=new XMLHttpRequest;return at.open("GET",m,!1),re!==Pe&&at.setRequestHeader("Range","bytes="+gn+"-"+Yt),at.responseType="arraybuffer",at.overrideMimeType&&at.overrideMimeType("text/plain; charset=x-user-defined"),at.send(null),at.status>=200&&at.status<300||at.status===304||_("Couldn't load "+m+". Status: "+at.status),at.response!==void 0?new Uint8Array(at.response||[]):Me(at.responseText??"")},ft=this;ft.setDataGetter(gn=>{var Yt=gn*Pe,at=(gn+1)*Pe-1;return at=Math.min(at,re-1),typeof ft.chunks[gn]>"u"&&(ft.chunks[gn]=bt(Yt,at)),typeof ft.chunks[gn]>"u"&&_("doXHR failed!"),ft.chunks[gn]}),($e||!re)&&(Pe=re=1,re=this.getter(0).length,Pe=re,o("LazyFiles on gzip forces download of the whole file when length is accessed")),this._length=re,this._chunkSize=Pe,this.lengthKnown=!0}get length(){return this.lengthKnown||this.cacheLength(),this._length}get chunkSize(){return this.lengthKnown||this.cacheLength(),this._chunkSize}}if(globalThis.XMLHttpRequest){_("Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc");var R=new C,Q={isDevice:!1,contents:R}}else var Q={isDevice:!1,url:m};var $=v.createFile(h,f,Q,O,k);Q.contents?$.contents=Q.contents:Q.url&&($.contents=null,$.url=Q.url),Object.defineProperties($,{usedBytes:{get:function(){return this.contents.length}}});var Y={};for(let[fe,he]of Object.entries($.stream_ops))Y[fe]=(...re)=>(v.forceLoadFile($),he(...re));function ue(fe,he,re,_e,Le){var $e=fe.node.contents;if(Le>=$e.length)return 0;var Pe=Math.min($e.length-Le,_e);if($e.slice)for(var bt=0;bt(v.forceLoadFile($),ue(fe,he,re,_e,Le)),Y.mmap=(fe,he,re,_e,Le)=>{v.forceLoadFile($);var $e=Ci(he);if(!$e)throw new v.ErrnoError(48);return ue(fe,G,$e,he,re),{ptr:$e,allocated:!0}},$.stream_ops=Y,$}},We={currentUmask:18,calculateAt(h,f,m){if(ve.isAbs(f))return f;var O;if(h===-100)O=v.cwd();else{var k=We.getStreamFromFD(h);O=k.path}if(f.length==0){if(!m)throw new v.ErrnoError(44);return O}return O+"/"+f},writeStat(h,f){N[h>>2]=f.dev,N[h+4>>2]=f.mode,N[h+8>>2]=f.nlink,N[h+12>>2]=f.uid,N[h+16>>2]=f.gid,N[h+20>>2]=f.rdev,I=[f.size>>>0,(B=f.size,+Math.abs(B)>=1?B>0?+Math.floor(B/4294967296)>>>0:~~+Math.ceil((B-+(~~B>>>0))/4294967296)>>>0:0)],q[h+24>>2]=I[0],q[h+28>>2]=I[1],q[h+32>>2]=4096,q[h+36>>2]=f.blocks;var m=f.atime.getTime(),O=f.mtime.getTime(),k=f.ctime.getTime();return I=[Math.floor(m/1e3)>>>0,(B=Math.floor(m/1e3),+Math.abs(B)>=1?B>0?+Math.floor(B/4294967296)>>>0:~~+Math.ceil((B-+(~~B>>>0))/4294967296)>>>0:0)],q[h+40>>2]=I[0],q[h+44>>2]=I[1],N[h+48>>2]=m%1e3*1e3*1e3,I=[Math.floor(O/1e3)>>>0,(B=Math.floor(O/1e3),+Math.abs(B)>=1?B>0?+Math.floor(B/4294967296)>>>0:~~+Math.ceil((B-+(~~B>>>0))/4294967296)>>>0:0)],q[h+56>>2]=I[0],q[h+60>>2]=I[1],N[h+64>>2]=O%1e3*1e3*1e3,I=[Math.floor(k/1e3)>>>0,(B=Math.floor(k/1e3),+Math.abs(B)>=1?B>0?+Math.floor(B/4294967296)>>>0:~~+Math.ceil((B-+(~~B>>>0))/4294967296)>>>0:0)],q[h+72>>2]=I[0],q[h+76>>2]=I[1],N[h+80>>2]=k%1e3*1e3*1e3,I=[f.ino>>>0,(B=f.ino,+Math.abs(B)>=1?B>0?+Math.floor(B/4294967296)>>>0:~~+Math.ceil((B-+(~~B>>>0))/4294967296)>>>0:0)],q[h+88>>2]=I[0],q[h+92>>2]=I[1],0},writeStatFs(h,f){N[h+4>>2]=f.bsize,N[h+60>>2]=f.bsize,I=[f.blocks>>>0,(B=f.blocks,+Math.abs(B)>=1?B>0?+Math.floor(B/4294967296)>>>0:~~+Math.ceil((B-+(~~B>>>0))/4294967296)>>>0:0)],q[h+8>>2]=I[0],q[h+12>>2]=I[1],I=[f.bfree>>>0,(B=f.bfree,+Math.abs(B)>=1?B>0?+Math.floor(B/4294967296)>>>0:~~+Math.ceil((B-+(~~B>>>0))/4294967296)>>>0:0)],q[h+16>>2]=I[0],q[h+20>>2]=I[1],I=[f.bavail>>>0,(B=f.bavail,+Math.abs(B)>=1?B>0?+Math.floor(B/4294967296)>>>0:~~+Math.ceil((B-+(~~B>>>0))/4294967296)>>>0:0)],q[h+24>>2]=I[0],q[h+28>>2]=I[1],I=[f.files>>>0,(B=f.files,+Math.abs(B)>=1?B>0?+Math.floor(B/4294967296)>>>0:~~+Math.ceil((B-+(~~B>>>0))/4294967296)>>>0:0)],q[h+32>>2]=I[0],q[h+36>>2]=I[1],I=[f.ffree>>>0,(B=f.ffree,+Math.abs(B)>=1?B>0?+Math.floor(B/4294967296)>>>0:~~+Math.ceil((B-+(~~B>>>0))/4294967296)>>>0:0)],q[h+40>>2]=I[0],q[h+44>>2]=I[1],N[h+48>>2]=f.fsid,N[h+64>>2]=f.flags,N[h+56>>2]=f.namelen},doMsync(h,f,m,O,k){if(!v.isFile(f.node.mode))throw new v.ErrnoError(43);if(O&2)return 0;var C=X.subarray(h,h+m);v.msync(f,C,k,m,O)},getStreamFromFD(h){var f=v.getStreamChecked(h);return f},varargs:void 0,getStr(h){var f=Be(h);return f}};function rc(h,f,m,O){try{if(f=We.getStr(f),f=We.calculateAt(h,f),m&-8)return-28;var k=v.lookupPath(f,{follow:!0}),C=k.node;if(!C)return-44;var R="";return m&4&&(R+="r"),m&2&&(R+="w"),m&1&&(R+="x"),R&&v.nodePermissions(C,R)?-2:0}catch(Q){if(typeof v>"u"||Q.name!=="ErrnoError")throw Q;return-Q.errno}}var Pi=()=>{var h=q[+We.varargs>>2];return We.varargs+=4,h},fr=Pi;function Mi(h,f,m){We.varargs=m;try{var O=We.getStreamFromFD(h);switch(f){case 0:{var k=Pi();if(k<0)return-28;for(;v.streams[k];)k++;var C;return C=v.dupStream(O,k),C.fd}case 1:case 2:return 0;case 3:return O.flags;case 4:{var k=Pi(),R=289792;return O.flags=O.flags&~R|k&R,0}case 12:{var k=fr(),Q=0;return V[k+Q>>1]=2,0}case 13:case 14:return 0}return-28}catch($){if(typeof v>"u"||$.name!=="ErrnoError")throw $;return-$.errno}}function Hn(h,f){try{return We.writeStat(f,v.fstat(h))}catch(m){if(typeof v>"u"||m.name!=="ErrnoError")throw m;return-m.errno}}function jl(h,f,m){We.varargs=m;try{var O=We.getStreamFromFD(h);switch(f){case 21509:return O.tty?0:-59;case 21505:{if(!O.tty)return-59;if(O.tty.ops.ioctl_tcgets){var k=O.tty.ops.ioctl_tcgets(O),C=fr();q[C>>2]=k.c_iflag||0,q[C+4>>2]=k.c_oflag||0,q[C+8>>2]=k.c_cflag||0,q[C+12>>2]=k.c_lflag||0;for(var R=0;R<32;R++)G[C+R+17]=k.c_cc[R]||0;return 0}return 0}case 21510:case 21511:case 21512:return O.tty?0:-59;case 21506:case 21507:case 21508:{if(!O.tty)return-59;if(O.tty.ops.ioctl_tcsets){for(var C=fr(),Q=q[C>>2],$=q[C+4>>2],Y=q[C+8>>2],ue=q[C+12>>2],fe=[],R=0;R<32;R++)fe.push(G[C+R+17]);return O.tty.ops.ioctl_tcsets(O.tty,f,{c_iflag:Q,c_oflag:$,c_cflag:Y,c_lflag:ue,c_cc:fe})}return 0}case 21519:{if(!O.tty)return-59;var C=fr();return q[C>>2]=0,0}case 21520:return O.tty?-28:-59;case 21537:case 21531:{var C=fr();return v.ioctl(O,f,C)}case 21523:{if(!O.tty)return-59;if(O.tty.ops.ioctl_tiocgwinsz){var he=O.tty.ops.ioctl_tiocgwinsz(O.tty),C=fr();V[C>>1]=he[0],V[C+2>>1]=he[1]}return 0}case 21524:return O.tty?0:-59;case 21515:return O.tty?0:-59;default:return-28}}catch(re){if(typeof v>"u"||re.name!=="ErrnoError")throw re;return-re.errno}}function ic(h,f,m,O){We.varargs=O;try{f=We.getStr(f),f=We.calculateAt(h,f);var k=O?Pi():0;return m&64&&(k&=~We.currentUmask),v.open(f,m,k).fd}catch(C){if(typeof v>"u"||C.name!=="ErrnoError")throw C;return-C.errno}}var dr=(h,f,m)=>pn(h,X,f,m);function Hl(h,f,m,O){try{if(f=We.getStr(f),f=We.calculateAt(h,f),O<=0)return-28;var k=v.readlink(f),C=Math.min(O,dn(k)),R=G[m+C];return dr(k,m,O+1),G[m+C]=R,C}catch(Q){if(typeof v>"u"||Q.name!=="ErrnoError")throw Q;return-Q.errno}}function sc(h){try{return h=We.getStr(h),v.rmdir(h),0}catch(f){if(typeof v>"u"||f.name!=="ErrnoError")throw f;return-f.errno}}function yo(h,f,m){try{if(f=We.getStr(f),f=We.calculateAt(h,f),!m)v.unlink(f);else if(m===512)v.rmdir(f);else return-28;return 0}catch(O){if(typeof v>"u"||O.name!=="ErrnoError")throw O;return-O.errno}}var _s=()=>L1,Vn=h=>{var f=h.getArg(_s(),0);return R1(f)},Di=()=>D1(),Vl=h=>P1(h),vo=h=>M1(h),Md=h=>{var f=Di(),m=vo(4),O=vo(4);B1(h,m,O);var k=N[m>>2],C=N[O>>2],R=Be(k);Dr(k);var Q;return C&&(Q=Be(C),Dr(C)),Vl(f),[R,Q]},oc=h=>{var f=Vn(h);return Md(f)},Xl=h=>{var f=new WebAssembly.Exception(_s(),[h],{traceStack:!0});throw f.message=oc(f),f},lc=()=>_(""),Gl=(h,f,m,O,k)=>{},rn=h=>{for(var f="";;){var m=X[h++];if(!m)return f;f+=String.fromCharCode(m)}},Xn={},Ri={},wo={},Ue=class extends Error{constructor(h){super(h),this.name="BindingError"}},ke=h=>{throw new Ue(h)};function Dd(h,f,m={}){var O=f.name;if(h||ke(`type "${O}" must have a positive integer typeid pointer`),Ri.hasOwnProperty(h)){if(m.ignoreDuplicateRegistrations)return;ke(`Cannot register type '${O}' twice`)}if(Ri[h]=f,delete wo[h],Xn.hasOwnProperty(h)){var k=Xn[h];delete Xn[h],k.forEach(C=>C())}}function Gn(h,f,m={}){return Dd(h,f,m)}var Yl=(h,f,m,O)=>{f=rn(f),Gn(h,{name:f,fromWireType:function(k){return!!k},toWireType:function(k,C){return C?m:O},readValueFromPointer:function(k){return this.fromWireType(X[k])},destructorFunction:null})},ac=h=>({count:h.count,deleteScheduled:h.deleteScheduled,preservePointerOnDelete:h.preservePointerOnDelete,ptr:h.ptr,ptrType:h.ptrType,smartPtr:h.smartPtr,smartPtrType:h.smartPtrType}),xo=h=>{function f(m){return m.$$.ptrType.registeredClass.name}ke(f(h)+" instance already deleted")},Kl=!1,uc=h=>{},Rd=h=>{h.smartPtr?h.smartPtrType.rawDestructor(h.smartPtr):h.ptrType.registeredClass.rawDestructor(h.ptr)},cc=h=>{h.count.value-=1;var f=h.count.value===0;f&&Rd(h)},mn=h=>globalThis.FinalizationRegistry?(Kl=new FinalizationRegistry(f=>{cc(f.$$)}),mn=f=>{var m=f.$$,O=!!m.smartPtr;if(O){var k={$$:m};Kl.register(f,k,f)}return f},uc=f=>Kl.unregister(f),mn(h)):(mn=f=>f,h),So=()=>{let h=Yn.prototype;Object.assign(h,{isAliasOf(m){if(!(this instanceof Yn)||!(m instanceof Yn))return!1;var O=this.$$.ptrType.registeredClass,k=this.$$.ptr;m.$$=m.$$;for(var C=m.$$.ptrType.registeredClass,R=m.$$.ptr;O.baseClass;)k=O.upcast(k),O=O.baseClass;for(;C.baseClass;)R=C.upcast(R),C=C.baseClass;return O===C&&k===R},clone(){if(this.$$.ptr||xo(this),this.$$.preservePointerOnDelete)return this.$$.count.value+=1,this;var m=mn(Object.create(Object.getPrototypeOf(this),{$$:{value:ac(this.$$)}}));return m.$$.count.value+=1,m.$$.deleteScheduled=!1,m},delete(){this.$$.ptr||xo(this),this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete&&ke("Object already scheduled for deletion"),uc(this),cc(this.$$),this.$$.preservePointerOnDelete||(this.$$.smartPtr=void 0,this.$$.ptr=void 0)},isDeleted(){return!this.$$.ptr},deleteLater(){return this.$$.ptr||xo(this),this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete&&ke("Object already scheduled for deletion"),this.$$.deleteScheduled=!0,this}});let f=Symbol.dispose;f&&(h[f]=h.delete)};function Yn(){}var hc=(h,f)=>Object.defineProperty(f,"name",{value:h}),Bi={},Zl=(h,f,m)=>{if(h[f].overloadTable===void 0){var O=h[f];h[f]=function(...k){return h[f].overloadTable.hasOwnProperty(k.length)||ke(`Function '${m}' called with an invalid number of arguments (${k.length}) - expects one of (${h[f].overloadTable})!`),h[f].overloadTable[k.length].apply(this,k)},h[f].overloadTable=[],h[f].overloadTable[O.argCount]=O}},fc=(h,f,m)=>{e.hasOwnProperty(h)?(ke(`Cannot register public name '${h}' twice`),Zl(e,h,h),e[h].overloadTable.hasOwnProperty(m)&&ke(`Cannot register multiple overloads of a function with the same number of arguments (${m})!`),e[h].overloadTable[m]=f):(e[h]=f,e[h].argCount=m)},dc=48,ko=57,Al=h=>{h=h.replace(/[^a-zA-Z0-9_]/g,"$");var f=h.charCodeAt(0);return f>=dc&&f<=ko?`_${h}`:h};function bo(h,f,m,O,k,C,R,Q){this.name=h,this.constructor=f,this.instancePrototype=m,this.rawDestructor=O,this.baseClass=k,this.getActualType=C,this.upcast=R,this.downcast=Q,this.pureVirtualFunctions=[]}var pr=(h,f,m)=>{for(;f!==m;)f.upcast||ke(`Expected null or instance of ${m.name}, got an instance of ${f.name}`),h=f.upcast(h),f=f.baseClass;return h},ni=h=>{if(h===null)return"null";var f=typeof h;return f==="object"||f==="array"||f==="function"?h.toString():""+h};function Kn(h,f){if(f===null)return this.isReference&&ke(`null is not a valid ${this.name}`),0;f.$$||ke(`Cannot pass "${ni(f)}" as a ${this.name}`),f.$$.ptr||ke(`Cannot pass deleted object as a pointer of type ${this.name}`);var m=f.$$.ptrType.registeredClass,O=pr(f.$$.ptr,m,this.registeredClass);return O}function Bd(h,f){var m;if(f===null)return this.isReference&&ke(`null is not a valid ${this.name}`),this.isSmartPointer?(m=this.rawConstructor(),h!==null&&h.push(this.rawDestructor,m),m):0;(!f||!f.$$)&&ke(`Cannot pass "${ni(f)}" as a ${this.name}`),f.$$.ptr||ke(`Cannot pass deleted object as a pointer of type ${this.name}`),!this.isConst&&f.$$.ptrType.isConst&&ke(`Cannot convert argument of type ${f.$$.smartPtrType?f.$$.smartPtrType.name:f.$$.ptrType.name} to parameter type ${this.name}`);var O=f.$$.ptrType.registeredClass;if(m=pr(f.$$.ptr,O,this.registeredClass),this.isSmartPointer)switch(f.$$.smartPtr===void 0&&ke("Passing raw pointer to smart pointer is illegal"),this.sharingPolicy){case 0:f.$$.smartPtrType===this?m=f.$$.smartPtr:ke(`Cannot convert argument of type ${f.$$.smartPtrType?f.$$.smartPtrType.name:f.$$.ptrType.name} to parameter type ${this.name}`);break;case 1:m=f.$$.smartPtr;break;case 2:if(f.$$.smartPtrType===this)m=f.$$.smartPtr;else{var k=f.clone();m=this.rawShare(m,Nd.toHandle(()=>k.delete())),h!==null&&h.push(this.rawDestructor,m)}break;default:ke("Unsupported sharing policy")}return m}function Ld(h,f){if(f===null)return this.isReference&&ke(`null is not a valid ${this.name}`),0;f.$$||ke(`Cannot pass "${ni(f)}" as a ${this.name}`),f.$$.ptr||ke(`Cannot pass deleted object as a pointer of type ${this.name}`),f.$$.ptrType.isConst&&ke(`Cannot convert argument of type ${f.$$.ptrType.name} to parameter type ${this.name}`);var m=f.$$.ptrType.registeredClass,O=pr(f.$$.ptr,m,this.registeredClass);return O}function Es(h){return this.fromWireType(N[h>>2])}var Jl=(h,f,m)=>{if(f===m)return h;if(m.baseClass===void 0)return null;var O=Jl(h,f,m.baseClass);return O===null?null:m.downcast(O)},pc={},Qd=(h,f)=>{for(f===void 0&&ke("ptr should not be undefined");h.baseClass;)f=h.upcast(f),h=h.baseClass;return f},mc=(h,f)=>(f=Qd(h,f),pc[f]),Id=class extends Error{constructor(h){super(h),this.name="InternalError"}},_o=h=>{throw new Id(h)},Cs=(h,f)=>{(!f.ptrType||!f.ptr)&&_o("makeClassHandle requires ptr and ptrType");var m=!!f.smartPtrType,O=!!f.smartPtr;return m!==O&&_o("Both smartPtrType and smartPtr must be specified"),f.count={value:1},mn(Object.create(h,{$$:{value:f,writable:!0}}))};function Eo(h){var f=this.getPointee(h);if(!f)return this.destructor(h),null;var m=mc(this.registeredClass,f);if(m!==void 0){if(m.$$.count.value===0)return m.$$.ptr=f,m.$$.smartPtr=h,m.clone();var O=m.clone();return this.destructor(h),O}function k(){return this.isSmartPointer?Cs(this.registeredClass.instancePrototype,{ptrType:this.pointeeType,ptr:f,smartPtrType:this,smartPtr:h}):Cs(this.registeredClass.instancePrototype,{ptrType:this,ptr:h})}var C=this.registeredClass.getActualType(f),R=Bi[C];if(!R)return k.call(this);var Q;this.isConst?Q=R.constPointerType:Q=R.pointerType;var $=Jl(f,this.registeredClass,Q.registeredClass);return $===null?k.call(this):this.isSmartPointer?Cs(Q.registeredClass.instancePrototype,{ptrType:Q,ptr:$,smartPtrType:this,smartPtr:h}):Cs(Q.registeredClass.instancePrototype,{ptrType:Q,ptr:$})}var ea=()=>{Object.assign(Z.prototype,{getPointee(h){return this.rawGetPointee&&(h=this.rawGetPointee(h)),h},destructor(h){var f;(f=this.rawDestructor)==null||f.call(this,h)},readValueFromPointer:Es,fromWireType:Eo})};function Z(h,f,m,O,k,C,R,Q,$,Y,ue){this.name=h,this.registeredClass=f,this.isReference=m,this.isConst=O,this.isSmartPointer=k,this.pointeeType=C,this.sharingPolicy=R,this.rawGetPointee=Q,this.rawConstructor=$,this.rawShare=Y,this.rawDestructor=ue,!k&&f.baseClass===void 0?O?(this.toWireType=Kn,this.destructorFunction=null):(this.toWireType=Ld,this.destructorFunction=null):this.toWireType=Bd}var E=(h,f,m)=>{e.hasOwnProperty(h)||_o("Replacing nonexistent public symbol"),e[h].overloadTable!==void 0&&m!==void 0?e[h].overloadTable[m]=f:(e[h]=f,e[h].argCount=m)},z={},H=(h,f,m)=>{h=h.replace(/p/g,"i");var O=z[h];return O(f,...m)},ce=h=>Q1.get(h),de=(h,f,m=[],O=!1)=>{if(h.includes("j"))return H(h,f,m);var k=ce(f),C=k(...m);return C},Se=(h,f,m=!1)=>(...O)=>de(h,f,O,m),be=(h,f,m=!1)=>{h=rn(h);function O(){if(h.includes("j"))return Se(h,f);var C=ce(f);return C}var k=O();return typeof k!="function"&&ke(`unknown function pointer with signature ${h}: ${f}`),k};class Ke extends Error{}var Gt=h=>{var f=_1(h),m=rn(f);return Dr(f),m},ht=(h,f)=>{var m=[],O={};function k(C){if(!O[C]&&!Ri[C]){if(wo[C]){wo[C].forEach(k);return}m.push(C),O[C]=!0}}throw f.forEach(k),new Ke(`${h}: `+m.map(Gt).join([", "]))},Dn=(h,f,m)=>{h.forEach(Q=>wo[Q]=f);function O(Q){var $=m(Q);$.length!==h.length&&_o("Mismatched type converter count");for(var Y=0;Y{k[Q]=Ri[$],++R,R===C.length&&O(k)}));C.length===0&&O(k)},zt=(h,f,m,O,k,C,R,Q,$,Y,ue,fe,he)=>{ue=rn(ue),C=be(k,C),Q&&(Q=be(R,Q)),Y&&(Y=be($,Y)),he=be(fe,he);var re=Al(ue);fc(re,function(){ht(`Cannot construct ${ue} due to unbound types`,[O])}),Dn([h,f,m],O?[O]:[],_e=>{var I1;_e=_e[0];var Le,$e;O?(Le=_e.registeredClass,$e=Le.instancePrototype):$e=Yn.prototype;var Pe=hc(ue,function(...qd){if(Object.getPrototypeOf(this)!==bt)throw new Ue(`Use 'new' to construct ${ue}`);if(ft.constructor_body===void 0)throw new Ue(`${ue} has no accessible constructor`);var z1=ft.constructor_body[qd.length];if(z1===void 0)throw new Ue(`Tried to invoke ctor of ${ue} with invalid number of parameters (${qd.length}) - expected (${Object.keys(ft.constructor_body).toString()}) parameters instead!`);return z1.apply(this,qd)}),bt=Object.create($e,{constructor:{value:Pe}});Pe.prototype=bt;var ft=new bo(ue,Pe,bt,he,Le,C,Q,Y);ft.baseClass&&((I1=ft.baseClass).__derivedClasses??(I1.__derivedClasses=[]),ft.baseClass.__derivedClasses.push(ft));var gn=new Z(ue,ft,!0,!1,!1),Yt=new Z(ue+"*",ft,!1,!1,!1),at=new Z(ue+" const*",ft,!1,!0,!1);return Bi[h]={pointerType:Yt,constPointerType:at},E(re,Pe),[gn,Yt,at]})},g1=h=>{for(;h.length;){var f=h.pop(),m=h.pop();m(f)}};function DC(h){for(var f=1;f{for(var m=[],O=0;O>2]);return m},O1=h=>{h=h.trim();let f=h.indexOf("(");return f===-1?h:h.slice(0,f)},RC=(h,f,m,O,k,C,R,Q,$)=>{var Y=Fd(m,O);f=rn(f),f=O1(f),C=be(k,C,Q),Dn([],[h],ue=>{ue=ue[0];var fe=`${ue.name}.${f}`;function he(){ht(`Cannot call ${fe} due to unbound types`,Y)}f.startsWith("@@")&&(f=Symbol[f.substring(2)]);var re=ue.registeredClass.constructor;return re[f]===void 0?(he.argCount=m-1,re[f]=he):(Zl(re,f,fe),re[f].overloadTable[m-1]=he),Dn([],Y,_e=>{var Le=[_e[0],null].concat(_e.slice(1)),$e=zd(fe,Le,null,C,R);if(re[f].overloadTable===void 0?($e.argCount=m-1,re[f]=$e):re[f].overloadTable[m-1]=$e,ue.registeredClass.__derivedClasses)for(let Pe of ue.registeredClass.__derivedClasses)Pe.constructor.hasOwnProperty(f)||(Pe.constructor[f]=$e);return[]}),[]})},BC=(h,f,m,O,k,C)=>{var R=Fd(f,m);k=be(O,k),Dn([],[h],Q=>{Q=Q[0];var $=`constructor ${Q.name}`;if(Q.registeredClass.constructor_body===void 0&&(Q.registeredClass.constructor_body=[]),Q.registeredClass.constructor_body[f-1]!==void 0)throw new Ue(`Cannot register multiple constructors with identical number of parameters (${f-1}) for class '${Q.name}'! Overload resolution is currently only performed using the parameter count, not actual type info!`);return Q.registeredClass.constructor_body[f-1]=()=>{ht(`Cannot construct ${Q.name} due to unbound types`,R)},Dn([],R,Y=>(Y.splice(1,0,null),Q.registeredClass.constructor_body[f-1]=zd($,Y,null,k,C),[])),[]})},LC=(h,f,m,O,k,C,R,Q,$,Y)=>{var ue=Fd(m,O);f=rn(f),f=O1(f),C=be(k,C,$),Dn([],[h],fe=>{fe=fe[0];var he=`${fe.name}.${f}`;f.startsWith("@@")&&(f=Symbol[f.substring(2)]),Q&&fe.registeredClass.pureVirtualFunctions.push(f);function re(){ht(`Cannot call ${he} due to unbound types`,ue)}var _e=fe.registeredClass.instancePrototype,Le=_e[f];return Le===void 0||Le.overloadTable===void 0&&Le.className!==fe.name&&Le.argCount===m-2?(re.argCount=m-2,re.className=fe.name,_e[f]=re):(Zl(_e,f,he),_e[f].overloadTable[m-2]=re),Dn([],ue,$e=>{var Pe=zd(he,$e,fe,C,R);return _e[f].overloadTable===void 0?(Pe.argCount=m-2,_e[f]=Pe):_e[f].overloadTable[m-2]=Pe,[]}),[]})},y1=(h,f,m)=>(h instanceof Object||ke(`${m} with invalid "this": ${h}`),h instanceof f.registeredClass.constructor||ke(`${m} incompatible with "this" of type ${h.constructor.name}`),h.$$.ptr||ke(`cannot call emscripten binding method ${m} on deleted object`),pr(h.$$.ptr,h.$$.ptrType.registeredClass,f.registeredClass)),QC=(h,f,m,O,k,C,R,Q,$,Y)=>{f=rn(f),k=be(O,k),Dn([],[h],ue=>{ue=ue[0];var fe=`${ue.name}.${f}`,he={get(){ht(`Cannot access ${fe} due to unbound types`,[m,R])},enumerable:!0,configurable:!0};return $?he.set=()=>ht(`Cannot access ${fe} due to unbound types`,[m,R]):he.set=re=>ke(fe+" is a read-only property"),Object.defineProperty(ue.registeredClass.instancePrototype,f,he),Dn([],$?[m,R]:[m],re=>{var _e=re[0],Le={get(){var Pe=y1(this,ue,fe+" getter");return _e.fromWireType(k(C,Pe))},enumerable:!0};if($){$=be(Q,$);var $e=re[1];Le.set=function(Pe){var bt=y1(this,ue,fe+" setter"),ft=[];$(Y,bt,$e.toWireType(ft,Pe)),g1(ft)}}return Object.defineProperty(ue.registeredClass.instancePrototype,f,Le),[]}),[]})},v1=[],Ts=[0,1,,1,null,1,!0,1,!1,1],w1=[],IC=h=>{if(h>9&&--Ts[h+1]===0){var f=Ts[h];Ts[h]=void 0;var m=w1[h];m&&(w1[h]=void 0,m(f)),v1.push(h)}},Nd={toValue:h=>(h||ke(`Cannot use deleted val. handle = ${h}`),Ts[h]),toHandle:h=>{switch(h){case void 0:return 2;case null:return 4;case!0:return 6;case!1:return 8;default:{let f=v1.pop()||Ts.length;return Ts[f]=h,Ts[f+1]=1,f}}}},zC={name:"emscripten::val",fromWireType:h=>{var f=Nd.toValue(h);return IC(h),f},toWireType:(h,f)=>Nd.toHandle(f),readValueFromPointer:Es,destructorFunction:null},FC=h=>Gn(h,zC),NC=(h,f)=>{switch(f){case 4:return function(m){return this.fromWireType(A[m>>2])};case 8:return function(m){return this.fromWireType(oe[m>>3])};default:throw new TypeError(`invalid float width (${f}): ${h}`)}},$C=(h,f,m)=>{f=rn(f),Gn(h,{name:f,fromWireType:O=>O,toWireType:(O,k)=>k,readValueFromPointer:NC(f,m),destructorFunction:null})},WC=(h,f,m)=>{switch(f){case 1:return m?O=>G[O]:O=>X[O];case 2:return m?O=>V[O>>1]:O=>ye[O>>1];case 4:return m?O=>q[O>>2]:O=>N[O>>2];default:throw new TypeError(`invalid integer width (${f}): ${h}`)}},UC=(h,f,m,O,k)=>{f=rn(f);let C=O===0,R=$=>$;if(C){var Q=32-8*m;R=$=>$<>>Q,k=R(k)}Gn(h,{name:f,fromWireType:R,toWireType:($,Y)=>Y,readValueFromPointer:WC(f,m,O!==0),destructorFunction:null})},qC=(h,f,m)=>{var O=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array],k=O[f];function C(R){var Q=N[R>>2],$=N[R+4>>2];return new k(G.buffer,$,Q)}m=rn(m),Gn(h,{name:m,fromWireType:C,readValueFromPointer:C},{ignoreDuplicateRegistrations:!0})},jC=(h,f)=>{f=rn(f),Gn(h,{name:f,fromWireType(m){var O=N[m>>2],k=m+4,C;return C=Be(k,O,!0),Dr(m),C},toWireType(m,O){O instanceof ArrayBuffer&&(O=new Uint8Array(O));var k,C=typeof O=="string";C||ArrayBuffer.isView(O)&&O.BYTES_PER_ELEMENT==1||ke("Cannot pass non-string to std::string"),C?k=dn(O):k=O.length;var R=Ud(4+k+1),Q=R+4;return N[R>>2]=k,C?dr(O,Q,k+1):X.set(O,Q),m!==null&&m.push(Dr,R),R},readValueFromPointer:Es,destructorFunction(m){Dr(m)}})},x1=globalThis.TextDecoder?new TextDecoder("utf-16le"):void 0,HC=(h,f,m)=>{var O=h>>1,k=we(ye,O,f/2,m);if(k-O>16&&x1)return x1.decode(ye.subarray(O,k));for(var C="",R=O;R{if(m<2)return 0;m-=2;for(var O=f,k=m>1]=R,f+=2}return V[f>>1]=0,f-O},XC=h=>h.length*2,GC=(h,f,m)=>{for(var O="",k=h>>2,C=0;!(C>=f/4);C++){var R=N[k+C];if(!R&&!m)break;O+=String.fromCodePoint(R)}return O},YC=(h,f,m=2147483647)=>{if(m<4)return 0;for(var O=f,k=O+m-4,C=0;C65535&&C++,q[f>>2]=R,f+=4,f+4>k)break}return q[f>>2]=0,f-O},KC=h=>{for(var f=0,m=0;m65535&&m++,f+=4}return f},ZC=(h,f,m)=>{m=rn(m);var O,k,C;f===2?(O=HC,k=VC,C=XC):(O=GC,k=YC,C=KC),Gn(h,{name:m,fromWireType:R=>{var Q=N[R>>2],$=O(R+4,Q*f,!0);return Dr(R),$},toWireType:(R,Q)=>{typeof Q!="string"&&ke(`Cannot pass non-string to C++ string type ${m}`);var $=C(Q),Y=Ud(4+$+f);return N[Y>>2]=$/f,k(Q,Y+4,$+f),R!==null&&R.push(Dr,Y),Y},readValueFromPointer:Es,destructorFunction(R){Dr(R)}})},AC=(h,f)=>{f=rn(f),Gn(h,{isVoid:!0,name:f,fromWireType:()=>{},toWireType:(m,O)=>{}})},JC=()=>{},eT=h=>h%4===0&&(h%100!==0||h%400===0),tT=[0,31,60,91,121,152,182,213,244,274,305,335],nT=[0,31,59,90,120,151,181,212,243,273,304,334],rT=h=>{var f=eT(h.getFullYear()),m=f?tT:nT,O=m[h.getMonth()]+h.getDate()-1;return O},gc=(h,f)=>f+2097152>>>0<4194305-!!h?(h>>>0)+f*4294967296:NaN;function iT(h,f,m){var O=gc(h,f),k=new Date(O*1e3);if(isNaN(k.getTime()))return 1;q[m>>2]=k.getSeconds(),q[m+4>>2]=k.getMinutes(),q[m+8>>2]=k.getHours(),q[m+12>>2]=k.getDate(),q[m+16>>2]=k.getMonth(),q[m+20>>2]=k.getFullYear()-1900,q[m+24>>2]=k.getDay();var C=rT(k)|0;q[m+28>>2]=C,q[m+36>>2]=-(k.getTimezoneOffset()*60);var R=new Date(k.getFullYear(),0,1),Q=new Date(k.getFullYear(),6,1).getTimezoneOffset(),$=R.getTimezoneOffset(),Y=(Q!=$&&k.getTimezoneOffset()==Math.min($,Q))|0;return q[m+32>>2]=Y,0}function sT(h,f,m,O,k,C,R,Q){var $=gc(k,C);try{var Y=We.getStreamFromFD(O),ue=v.mmap(Y,h,$,f,m),fe=ue.ptr;return q[R>>2]=ue.allocated,N[Q>>2]=fe,0}catch(he){if(typeof v>"u"||he.name!=="ErrnoError")throw he;return-he.errno}}function oT(h,f,m,O,k,C,R){var Q=gc(C,R);try{var $=We.getStreamFromFD(k);m&2&&We.doMsync(h,$,f,O,Q)}catch(Y){if(typeof v>"u"||Y.name!=="ErrnoError")throw Y;return-Y.errno}}var ta={},lT=h=>{if(h instanceof j||h=="unwind")return c;r(1,h)},S1=h=>{c=h,r(h,new j(h))},aT=(h,f)=>{c=h,S1(h)},uT=aT,cT=h=>{if(!u)try{return h()}catch(f){lT(f)}finally{}},k1=()=>performance.now(),hT=(h,f)=>{if(ta[h]&&(clearTimeout(ta[h].id),delete ta[h]),!f)return 0;var m=setTimeout(()=>{delete ta[h],cT(()=>C1(h,k1()))},f);return ta[h]={id:m,timeout_ms:f},0},fT=(h,f,m,O)=>{var k=new Date().getFullYear(),C=new Date(k,0,1),R=new Date(k,6,1),Q=C.getTimezoneOffset(),$=R.getTimezoneOffset(),Y=Math.max(Q,$);N[h>>2]=Y*60,q[f>>2]=+(Q!=$);var ue=re=>{var _e=re>=0?"-":"+",Le=Math.abs(re),$e=String(Math.floor(Le/60)).padStart(2,"0"),Pe=String(Le%60).padStart(2,"0");return`UTC${_e}${$e}${Pe}`},fe=ue(Q),he=ue($);$Date.now(),dT=h=>h>=0&&h<=3;function pT(h,f,m,O){if(!dT(h))return 28;var k;h===0?k=b1():k=k1();var C=Math.round(k*1e3*1e3);return I=[C>>>0,(B=C,+Math.abs(B)>=1?B>0?+Math.floor(B/4294967296)>>>0:~~+Math.ceil((B-+(~~B>>>0))/4294967296)>>>0:0)],q[O>>2]=I[0],q[O+4>>2]=I[1],0}var $d=[],mT=(h,f)=>{$d.length=0;for(var m;m=X[h++];){var O=m!=105;O&=m!=112,f+=O&&f%8?4:0,$d.push(m==112?N[f>>2]:m==105?q[f>>2]:oe[f>>3]),f+=O?8:4}return $d},gT=(h,f,m)=>{var O=mT(f,m);return DT[h](...O)},OT=(h,f,m)=>gT(h,f,m),yT=()=>2147483648,vT=h=>{var f=Oc.buffer.byteLength,m=(h-f+65535)/65536|0;try{return Oc.grow(m),y(),1}catch{}},wT=h=>{var f=X.length;h>>>=0;var m=yT();if(h>m)return!1;for(var O=1;O<=4;O*=2){var k=f*(1+.2/O);k=Math.min(k,h+100663296);var C=Math.min(m,Ye(Math.max(h,k),65536)),R=vT(C);if(R)return!0}return!1},Wd={},xT=()=>n,na=()=>{var k;if(!na.strings){var h=(((k=globalThis.navigator)==null?void 0:k.language)??"C").replace("-","_")+".UTF-8",f={USER:"web_user",LOGNAME:"web_user",PATH:"/",PWD:"/",HOME:"/home/web_user",LANG:h,_:xT()};for(var m in Wd)Wd[m]===void 0?delete f[m]:f[m]=Wd[m];var O=[];for(var m in f)O.push(`${m}=${f[m]}`);na.strings=O}return na.strings},ST=(h,f)=>{var m=0,O=0;for(var k of na()){var C=f+m;N[h+O>>2]=C,m+=dr(k,C,1/0)+1,O+=4}return 0},kT=(h,f)=>{var m=na();N[h>>2]=m.length;var O=0;for(var k of m)O+=dn(k)+1;return N[f>>2]=O,0};function bT(h){try{var f=We.getStreamFromFD(h);return v.close(f),0}catch(m){if(typeof v>"u"||m.name!=="ErrnoError")throw m;return m.errno}}var _T=(h,f,m,O)=>{for(var k=0,C=0;C>2],Q=N[f+4>>2];f+=8;try{var $=v.read(h,G,R,Q,O)}catch(Y){if(k>0&&Y instanceof v.ErrnoError&&(Y.errno==6||Y.errno==6))break;throw Y}if($<0)return-1;if(k+=$,$>2]=C,0}catch(R){if(typeof v>"u"||R.name!=="ErrnoError")throw R;return R.errno}}function CT(h,f,m,O,k){var C=gc(f,m);try{if(isNaN(C))return 22;var R=We.getStreamFromFD(h);return v.llseek(R,C,O),I=[R.position>>>0,(B=R.position,+Math.abs(B)>=1?B>0?+Math.floor(B/4294967296)>>>0:~~+Math.ceil((B-+(~~B>>>0))/4294967296)>>>0:0)],q[k>>2]=I[0],q[k+4>>2]=I[1],R.getdents&&C===0&&O===0&&(R.getdents=null),0}catch(Q){if(typeof v>"u"||Q.name!=="ErrnoError")throw Q;return Q.errno}}var TT=(h,f,m,O)=>{if(m==1)return v.write(h,G,N[f>>2],N[f+4>>2],O);for(var k=0,C=0,R=f;C>2];for(var Q=new Uint8Array(k),$=0,C=0;C>2],ue=N[f+4>>2];Q.set(X.subarray(Y,Y+ue),$),$+=ue}return v.write(h,Q,0,k,O)};function PT(h,f,m,O){try{var k=We.getStreamFromFD(h),C=TT(k,f,m);return N[O>>2]=C,0}catch(R){if(typeof v>"u"||R.name!=="ErrnoError")throw R;return R.errno}}var MT=(h,f)=>me(X.subarray(h,h+f));v.createPreloadedFile=Oo,v.preloadFile=bs,v.staticInit(),So(),ea(),e.wasmBinary&&(a=e.wasmBinary),e.UTF8ToString=Be,e.stringToUTF8=dr,e.lengthBytesUTF8=dn;var DT={192792:(h,f)=>{var m=Be(h),O=Be(f);v.createPath("/",ve.dirname(m)),v.writeFile(ve.join("/",m),O)}},_1,Ud,Dr,E1,C1,T1,P1,M1,D1,R1,B1,L1,Oc,Q1;function RT(h){_1=h.U,Ud=e._malloc=h.V,Dr=e._free=h.W,E1=h.Y,C1=h.Z,T1=h._,P1=h.$,M1=h.aa,D1=h.ba,R1=h.da,B1=h.ea,z.jiji=h.fa,z.viijii=h.ga,z.iiiiij=h.ha,z.iiiiijj=h.ia,z.iiiiiijj=h.ja,z.viij=h.ka,z.iiij=h.la,Oc=h.S,Q1=h.X,L1=h.ca}var BT={t:Je,N:rc,o:Mi,M:Hn,Q:jl,k:ic,D:Hl,E:sc,F:yo,j:Xl,O:lc,A:Gl,r:Yl,i:zt,m:RC,e:BC,a:LC,d:QC,R:FC,p:$C,c:UC,b:qC,q:jC,h:ZC,s:AC,H:JC,w:iT,u:sT,v:oT,B:hT,I:fT,z:pT,y:OT,l:b1,C:wT,J:ST,K:kT,g:uT,f:bT,n:ET,x:CT,P:PT,G:S1,L:MT};async function LT(){Mn&&await Mr(),!u&&w()}var ra;return ra=await L(),await LT(),e}var gN=mN,ON=new Int8Array([-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,62,90,63,64,65,66,-1,67,68,69,70,71,-1,72,73,52,53,54,55,56,57,58,59,60,61,74,75,76,77,78,79,80,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,81,-1,82,83,84,85,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,86,87,88,89,-1]);function yN(t){let e=new Uint8Array(600222),n=0,r=0,i=0,s=-1;for(let o=0,l=t.length;o127)continue;let u=ON[a];if(!(u<0))if(s<0)s=u;else{s+=u*91,r|=s<88?13:14;do e[n++]=r,r>>>=8,i-=8;while(i>7);s=-1}}return s>=0&&(e[n++]=(r|s<""})}function xN(){h0=void 0}function er(t,e){if(t)for(let[n,r]of Object.entries(t))r!==void 0&&e(n,r)}function f0(t){return JSON.parse(t)}function Yi(t){let e=JSON.parse(t),n=[];for(let r=0;r+2 `}}function bN(t){return t.map(kN)}function UE(t,e){let n={images:[],files:[],...e};[...n.files,...bN(n.images)].forEach(r=>t.createFile(r.path,r.data))}var oh,ix=class qE{constructor(e){et(this,"_sg");this._sg=e}addNode(e,n,r){let i=typeof e=="string"?{id:e,attrs:n,htmlAttrs:r}:e,{id:s,attrs:o,htmlAttrs:l}=i;return this._sg.addNode(s),(o==null?void 0:o.id)===void 0&&this.setNodeAttr(s,"id",s),er(o,(a,u)=>this.setNodeAttr(s,a,u)),er(l,(a,u)=>this.setNodeHtmlAttr(s,a,u)),this}addVertex(e,n,r){return this.addNode(e,n,r)}addEdge(e,n,r="",i,s){let o=typeof e=="string"?typeof r=="string"?{tail:e,head:n,key:r,attrs:i,htmlAttrs:s}:{tail:e,head:n,attrs:r,htmlAttrs:i}:e,{tail:l,head:a,key:u="",attrs:c,htmlAttrs:d}=o;return this._sg.addEdge(l,a,u),er(c,(p,g)=>this.setEdgeAttr(l,a,u,p,g)),er(d,(p,g)=>this.setEdgeHtmlAttr(l,a,u,p,g)),this}addSubgraph(e,n,r){let i=typeof e=="string"?{id:e,attrs:n,htmlAttrs:r}:e;return new qE(this._sg.addSubgraph(Ta(i.id))).applyInit(i)}applyInit(e){return this.setAttr("id",e.id),er(e.attrs,(n,r)=>this.setAttr(n,r)),er(e.htmlAttrs,(n,r)=>this.setHtmlAttr(n,r)),this}removeNode(e){return this._sg.removeNode(e),this}removeVertex(e){return this.removeNode(e)}removeEdge(e,n,r=""){return this._sg.removeEdge(e,n,r),this}setAttr(e,n="",r){return r===void 0?this._sg.setAttr(e,String(n)):this._sg.setAttr(e,String(n),String(r)),this}setHtmlAttr(e,n,r){return r===void 0?this._sg.setHtmlAttr(e,String(n)):this._sg.setHtmlAttr(e,String(n),String(r)),this}setDefaultAttr(e,n){return this._sg.setDefaultAttr(e,String(n)),this}setDefaultHtmlAttr(e,n){return this._sg.setDefaultHtmlAttr(e,String(n)),this}removeAttr(e){return this.setAttr(e,"")}setNodeAttr(e,n,r="",i){return i===void 0?this._sg.setNodeAttr(e,n,String(r)):this._sg.setNodeAttr(e,n,String(r),String(i)),this}setVertexAttr(e,n,r="",i){return this.setNodeAttr(e,n,r,i)}setNodeHtmlAttr(e,n,r,i){return i===void 0?this._sg.setNodeHtmlAttr(e,n,String(r)):this._sg.setNodeHtmlAttr(e,n,String(r),String(i)),this}setVertexHtmlAttr(e,n,r,i){return this.setNodeHtmlAttr(e,n,r,i)}setDefaultNodeAttr(e,n){return this._sg.setDefaultNodeAttr(e,String(n)),this}setDefaultVertexAttr(e,n){return this.setDefaultNodeAttr(e,n)}setDefaultNodeHtmlAttr(e,n){return this._sg.setDefaultNodeHtmlAttr(e,String(n)),this}setDefaultVertexHtmlAttr(e,n){return this.setDefaultNodeHtmlAttr(e,n)}removeNodeAttr(e,n){return this.setNodeAttr(e,n,"")}removeVertexAttr(e,n){return this.removeNodeAttr(e,n)}setEdgeAttr(e,n,r,i,s="",o){return o===void 0?this._sg.setEdgeAttr(e,n,r,i,String(s)):this._sg.setEdgeAttr(e,n,r,i,String(s),String(o)),this}setEdgeHtmlAttr(e,n,r,i,s,o){return o===void 0?this._sg.setEdgeHtmlAttr(e,n,r,i,String(s)):this._sg.setEdgeHtmlAttr(e,n,r,i,String(s),String(o)),this}setDefaultEdgeAttr(e,n){return this._sg.setDefaultEdgeAttr(e,String(n)),this}setDefaultEdgeHtmlAttr(e,n){return this._sg.setDefaultEdgeHtmlAttr(e,String(n)),this}removeEdgeAttr(e,n,r,i){return this.setEdgeAttr(e,n,r,i,"")}hasNode(e){return this._sg.hasNode(e)}hasVertex(e){return this.hasNode(e)}hasEdge(e,n,r=""){return this._sg.hasEdge(e,n,r)}nodeCount(){return this._sg.nodeCount()}vertexCount(){return this.nodeCount()}edgeCount(){return this._sg.edgeCount()}nodeDegree(e,n=1,r=1){return this._sg.nodeDegree(e,n,r)}vertexDegree(e,n=1,r=1){return this.nodeDegree(e,n,r)}getAttr(e){return this._sg.getAttr(e)}getNodeAttr(e,n){return this._sg.getNodeAttr(e,n)}getVertexAttr(e,n){return this.getNodeAttr(e,n)}getEdgeAttr(e,n,r,i){return this._sg.getEdgeAttr(e,n,r,i)}nodeNames(){return f0(this._sg.nodeNames())}vertexNames(){return this.nodeNames()}edges(){return Yi(this._sg.edges())}outEdges(e){return Yi(this._sg.outEdges(e))}inEdges(e){return Yi(this._sg.inEdges(e))}nodeEdges(e){return Yi(this._sg.nodeEdges(e))}delete(){this._sg.delete()}[Symbol.dispose](){this.delete()}},_N=class{constructor(t,e){et(this,"_graph");et(this,"_module");this._graph=t,this._module=e}ensureDefaultFonts(t){this.getGraphAttr("fontname")===""&&this.setGraphAttr("fontname","Arial"),this.setDefaultGraphAttr("fontname","Arial"),t&&(this.setDefaultNodeAttr("fontname","Arial"),this.setDefaultEdgeAttr("fontname","Arial"))}addNode(t,e,n){let r=typeof t=="string"?{id:t,attrs:e,htmlAttrs:n}:t,{id:i,attrs:s,htmlAttrs:o}=r;return this._graph.addNode(i),(s==null?void 0:s.id)===void 0&&this.setNodeAttr(i,"id",i),er(s,(l,a)=>this.setNodeAttr(i,l,a)),er(o,(l,a)=>this.setNodeHtmlAttr(i,l,a)),this}addVertex(t,e,n){return this.addNode(t,e,n)}addEdge(t,e,n="",r,i){let s=typeof t=="string"?typeof n=="string"?{tail:t,head:e,key:n,attrs:r,htmlAttrs:i}:{tail:t,head:e,attrs:n,htmlAttrs:r}:t,{tail:o,head:l,key:a="",attrs:u,htmlAttrs:c}=s;return this._graph.addEdge(o,l,a),er(u,(d,p)=>this.setEdgeAttr(o,l,a,d,p)),er(c,(d,p)=>this.setEdgeHtmlAttr(o,l,a,d,p)),this}applyInit(t){return this.ensureDefaultFonts(!0),t.id!==void 0&&this.setGraphAttr("id",t.id),er(t.attrs,(e,n)=>this.setGraphAttr(e,n)),er(t.htmlAttrs,(e,n)=>this.setGraphHtmlAttr(e,n)),this}read(t){if(!this._graph.read(t))throw new Error("Invalid DOT source");return this.ensureDefaultFonts(!1),this}setGraphAttr(t,e="",n){return n===void 0?this._graph.setGraphAttr(t,String(e)):this._graph.setGraphAttr(t,String(e),String(n)),this}setGraphHtmlAttr(t,e,n){return n===void 0?this._graph.setGraphHtmlAttr(t,String(e)):this._graph.setGraphHtmlAttr(t,String(e),String(n)),this}setDefaultGraphAttr(t,e){return this._graph.setDefaultGraphAttr(t,String(e)),this}setDefaultGraphHtmlAttr(t,e){return this._graph.setDefaultGraphHtmlAttr(t,String(e)),this}setNodeAttr(t,e,n="",r){return r===void 0?this._graph.setNodeAttr(t,e,String(n)):this._graph.setNodeAttr(t,e,String(n),String(r)),this}setVertexAttr(t,e,n="",r){return this.setNodeAttr(t,e,n,r)}setNodeHtmlAttr(t,e,n,r){return r===void 0?this._graph.setNodeHtmlAttr(t,e,String(n)):this._graph.setNodeHtmlAttr(t,e,String(n),String(r)),this}setVertexHtmlAttr(t,e,n,r){return this.setNodeHtmlAttr(t,e,n,r)}setDefaultNodeAttr(t,e){return this._graph.setDefaultNodeAttr(t,String(e)),this}setDefaultVertexAttr(t,e){return this.setDefaultNodeAttr(t,e)}setDefaultNodeHtmlAttr(t,e){return this._graph.setDefaultNodeHtmlAttr(t,String(e)),this}setDefaultVertexHtmlAttr(t,e){return this.setDefaultNodeHtmlAttr(t,e)}setEdgeAttr(t,e,n,r,i="",s){return s===void 0?this._graph.setEdgeAttr(t,e,n,r,String(i)):this._graph.setEdgeAttr(t,e,n,r,String(i),String(s)),this}setEdgeHtmlAttr(t,e,n,r,i,s){return s===void 0?this._graph.setEdgeHtmlAttr(t,e,n,r,String(i)):this._graph.setEdgeHtmlAttr(t,e,n,r,String(i),String(s)),this}setDefaultEdgeAttr(t,e){return this._graph.setDefaultEdgeAttr(t,String(e)),this}setDefaultEdgeHtmlAttr(t,e){return this._graph.setDefaultEdgeHtmlAttr(t,String(e)),this}removeNode(t){return this._graph.removeNode(t),this}removeVertex(t){return this.removeNode(t)}removeEdge(t,e,n=""){return this._graph.removeEdge(t,e,n),this}removeSubgraph(t){return this._graph.removeSubgraph(Ta(t)),this}removeGraphAttr(t){return this.setGraphAttr(t,"")}removeNodeAttr(t,e){return this.setNodeAttr(t,e,"")}removeVertexAttr(t,e){return this.removeNodeAttr(t,e)}removeEdgeAttr(t,e,n,r){return this.setEdgeAttr(t,e,n,r,"")}hasNode(t){return this._graph.hasNode(t)}hasVertex(t){return this.hasNode(t)}hasEdge(t,e,n=""){return this._graph.hasEdge(t,e,n)}hasSubgraph(t){return this._graph.hasSubgraph(Ta(t))}nodeCount(){return this._graph.nodeCount()}vertexCount(){return this.nodeCount()}edgeCount(){return this._graph.edgeCount()}subgraphCount(){return this._graph.subgraphCount()}nodeDegree(t,e=1,n=1){return this._graph.nodeDegree(t,e,n)}vertexDegree(t,e=1,n=1){return this.nodeDegree(t,e,n)}getGraphAttr(t){return this._graph.getGraphAttr(t)}getNodeAttr(t,e){return this._graph.getNodeAttr(t,e)}getVertexAttr(t,e){return this.getNodeAttr(t,e)}getEdgeAttr(t,e,n,r){return this._graph.getEdgeAttr(t,e,n,r)}subgraphNames(){return f0(this._graph.subgraphNames()).map(SN)}nodeNames(){return f0(this._graph.nodeNames())}vertexNames(){return this.nodeNames()}edges(){return Yi(this._graph.edges())}outEdges(t){return Yi(this._graph.outEdges(t))}outEdgesFrom(t){return this.outEdges(t)}inEdges(t){return Yi(this._graph.inEdges(t))}inEdgesTo(t){return this.inEdges(t)}nodeEdges(t){return Yi(this._graph.nodeEdges(t))}vertexEdges(t){return this.nodeEdges(t)}addSubgraph(t,e,n){let r=typeof t=="string"?{id:t,attrs:e,htmlAttrs:n}:t;return new ix(this._graph.addSubgraph(Ta(r.id))).applyInit(r)}getSubgraph(t){let e=this._graph.getSubgraph(Ta(t));return e?new ix(e):null}layout(t="svg",e="dot",n){var s,o;if((s=n==null?void 0:n.images)!=null&&s.length||(o=n==null?void 0:n.files)!=null&&o.length){let l=new this._module.CGraphviz(0,0);try{UE(l,n)}finally{l.delete()}}let r="",i="";try{r=this._graph.layout(t,e)}catch(l){i=l.message}if(i=this._module.CGraphviz.lastError()||i,!r&&i)throw new Error(i);return r}write(){return this._graph.write()}toDot(){return this.write()}delete(){this._graph.delete()}[Symbol.dispose](){this.delete()}},EN=class Qo{constructor(e){et(this,"_module");this._module=e}static load(){return oh||(oh=wN().then(e=>new Qo(e))),oh}static unload(){xN(),oh=void 0}version(){return this._module.CGraphviz.version()}layout(e,n="svg",r="dot",i){if(!e)return"";let s=new this._module.CGraphviz(i!=null&&i.yInvert?1:0,i!=null&&i.nop?i==null?void 0:i.nop:0),o="",l="";try{UE(s,i);try{o=s.layout(e,n,r)}catch(a){l=a.message}l=this._module.CGraphviz.lastError()||l}finally{s.delete()}if(!o&&l)throw Qo.unload(),new Error(l);return o}acyclic(e,n=!1,r=!1){if(!e)return{acyclic:!1,num_rev:0,outFile:""};let i=new this._module.CGraphviz,s=!1,o=0,l="",a="";try{try{s=i.acyclic(e,n,r),o=i.acyclic_num_rev,l=i.acyclic_outFile}catch(u){a=u.message}a=this._module.CGraphviz.lastError()||a}finally{i.delete()}if(a)throw Qo.unload(),new Error(a);return{acyclic:s,num_rev:o,outFile:l}}tred(e,n=!1,r=!1){if(!e)return{out:"",err:""};let i=new this._module.CGraphviz,s="",o="",l="";try{try{i.tred(e,n,r),s=i.tred_out,o=i.tred_err}catch(a){l=a.message}l=this._module.CGraphviz.lastError()||l}finally{i.delete()}if(!s&&l)throw Qo.unload(),new Error(l);return{out:s,err:o}}unflatten(e,n=0,r=!1,i=0){if(!e)return"";let s=new this._module.CGraphviz,o="",l="";try{try{o=s.unflatten(e,n,r,i)}catch(a){l=a.message}l=this._module.CGraphviz.lastError()||l}finally{s.delete()}if(!o&&l)throw Qo.unload(),new Error(l);return o}circo(e,n="svg",r){return this.layout(e,n,"circo",r)}dot(e,n="svg",r){return this.layout(e,n,"dot",r)}fdp(e,n="svg",r){return this.layout(e,n,"fdp",r)}sfdp(e,n="svg",r){return this.layout(e,n,"sfdp",r)}neato(e,n="svg",r){return this.layout(e,n,"neato",r)}osage(e,n="svg",r){return this.layout(e,n,"osage",r)}patchwork(e,n="svg",r){return this.layout(e,n,"patchwork",r)}twopi(e,n="svg",r){return this.layout(e,n,"twopi",r)}nop(e){return this.layout(e,"dot","nop")}nop2(e){return this.layout(e,"dot","nop2")}createGraph(e="G",n="directed"){let r=typeof e=="string"?{id:e,type:n}:e,i=r.id??"G",s=r.type??"directed",o=s.includes("undirected")?0:1,l=s.startsWith("strict")?1:0;return new _N(new this._module.CGraph(i,o,l),this._module).applyInit(r)}read(e){let n=this.createGraph();try{return n.read(e),n}catch(r){throw n.delete(),r}}};/*! @license DOMPurify 3.4.13 | (c) Cure53 and other contributors | Released under the Apache license 2.0 and Mozilla Public License 2.0 | github.com/cure53/DOMPurify/blob/3.4.13/LICENSE */function sx(t,e){(e==null||e>t.length)&&(e=t.length);for(var n=0,r=Array(e);n2?r-2:0),s=2;s1?n-1:0),i=1;i"u"?null:xt(BigInt.prototype.toString),hx=typeof Symbol>"u"?null:xt(Symbol.prototype.toString),Pt=xt(Object.prototype.hasOwnProperty),ya=xt(Object.prototype.toString),Tt=xt(RegExp.prototype.test),Ms=$N(TypeError);function xt(t){return function(e){e instanceof RegExp&&(e.lastIndex=0);for(var n=arguments.length,r=new Array(n>1?n-1:0),i=1;i2&&arguments[2]!==void 0?arguments[2]:Pa;if(ox&&ox(t,null),!ji(e))return t;let r=e.length;for(;r--;){let i=e[r];if(typeof i=="string"){const s=n(i);s!==i&&(RN(e)||(e[r]=s),i=s)}t[i]=!0}return t}function WN(t){for(let e=0;e/g),GN=Xt(/\${[\w\W]*/g),YN=Xt(/^data-[\-\w.\u00B7-\uFFFF]+$/),KN=Xt(/^aria-[\-\w]+$/),gx=Xt(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|sms|cid|xmpp|matrix):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i),ZN=Xt(/^(?:\w+script|data):/i),AN=Xt(/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]/g),JN=Xt(/^html$/i),e3=Xt(/^[a-z][.\w]*(-[.\w]+)+$/i),Ox=Xt(/<[/\w!]/g),yx=Xt(/<[/\w]/g),t3=Xt(/<\/no(script|embed|frames)/i),n3=Xt(/\/>/i),Ln={element:1,attribute:2,text:3,cdataSection:4,entityReference:5,entityNode:6,processingInstruction:7,comment:8,document:9,documentType:10,documentFragment:11,notation:12},r3=function(){return typeof window>"u"?null:window},i3=function(e,n){if(typeof e!="object"||typeof e.createPolicy!="function")return null;let r=null;const i="data-tt-policy-suffix";n&&n.hasAttribute(i)&&(r=n.getAttribute(i));const s="dompurify"+(r?"#"+r:"");try{return e.createPolicy(s,{createHTML(o){return o},createScriptURL(o){return o}})}catch{return console.warn("TrustedTypes policy "+s+" could not be created."),null}},vx=function(){return{afterSanitizeAttributes:[],afterSanitizeElements:[],afterSanitizeShadowDOM:[],beforeSanitizeAttributes:[],beforeSanitizeElements:[],beforeSanitizeShadowDOM:[],uponSanitizeAttribute:[],uponSanitizeElement:[],uponSanitizeShadowNode:[]}},Qi=function(e,n,r,i){return Pt(e,n)&&ji(e[n])?De(i.base?At(i.base):{},e[n],i.transform):r};function VE(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:r3();const e=Z=>VE(Z);if(e.version="3.4.13",e.removed=[],!t||!t.document||t.document.nodeType!==Ln.document||!t.Element)return e.isSupported=!1,e;let n=t.document;const r=n,i=r.currentScript;t.DocumentFragment;const s=t.HTMLTemplateElement,o=t.Node,l=t.Element,a=t.NodeFilter,u=t.NamedNodeMap;u===void 0&&(t.NamedNodeMap||t.MozNamedAttrMap),t.HTMLFormElement;const c=t.DOMParser,d=t.trustedTypes,p=l.prototype,g=gr(p,"cloneNode"),y=gr(p,"remove"),w=gr(p,"nextSibling"),_=gr(p,"childNodes"),x=gr(p,"parentNode"),S=gr(p,"shadowRoot"),b=gr(p,"attributes"),T=o&&o.prototype?gr(o.prototype,"nodeType"):null,P=o&&o.prototype?gr(o.prototype,"nodeName"):null,D=o&&o.prototype?gr(o.prototype,"ownerDocument"):null;if(typeof s=="function"){const Z=n.createElement("template");Z.content&&Z.content.ownerDocument&&(n=Z.content.ownerDocument)}let M,L="",B,I=!1,j=0;const V=function(){if(j>0)throw Ms('A configured TRUSTED_TYPES_POLICY callback (createHTML or createScriptURL) must not call DOMPurify.sanitize, as that causes infinite recursion. Do not pass a policy whose callbacks wrap DOMPurify as TRUSTED_TYPES_POLICY; see the "DOMPurify and Trusted Types" section of the README.')},q=function(E){V(),j++;try{return M.createHTML(E)}finally{j--}},G=function(E){V(),j++;try{return M.createScriptURL(E)}finally{j--}},A=function(){return I||(B=i3(d,i),I=!0),B},oe=n,ye=oe.implementation,N=oe.createNodeIterator,X=oe.createDocumentFragment,se=oe.getElementsByTagName,we=r.importNode;let te=vx();e.isSupported=typeof jE=="function"&&typeof x=="function"&&ye&&ye.createHTMLDocument!==void 0;const Be=VN,Je=XN,ve=GN,pe=YN,me=KN,St=ZN,kt=AN,dn=e3;let pn=gx,Me=null;const Ss=De({},[...fx,...im,...sm,...om,...dx]);let Ie=null;const Wl=De({},[...px,...lm,...mx,...lh]);let Ye=Object.seal(Io(null,{tagNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},allowCustomizedBuiltInElements:{writable:!0,configurable:!1,enumerable:!0,value:!1}})),Ci=null,ge=null;const Pr=Object.seal(Io(null,{tagCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeCheck:{writable:!0,configurable:!1,enumerable:!0,value:null}}));let Ul=!0,ks=!0,tc=!1,nc=!0,hr=!1,Mr=!0,Mn=!1,po=!1,mo=null,go=null,ql=!1,Ti=!1,bs=!1,Oo=!1,v=!0,We=!1;const rc="user-content-";let Pi=!0,fr=!1,Mi={},Hn=null;const jl=De({},["annotation-xml","audio","colgroup","desc","foreignobject","head","iframe","math","mi","mn","mo","ms","mtext","noembed","noframes","noscript","plaintext","script","selectedcontent","style","svg","template","thead","title","video","xmp"]);let ic=null;const dr=De({},["audio","video","img","source","image","track"]);let Hl=null;const sc=De({},["alt","class","for","id","label","name","pattern","placeholder","role","summary","title","value","style","xmlns"]),yo="http://www.w3.org/1998/Math/MathML",_s="http://www.w3.org/2000/svg",Vn="http://www.w3.org/1999/xhtml";let Di=Vn,Vl=!1,vo=null;const Md=De({},[yo,_s,Vn],rm),oc=qt(["mi","mo","mn","ms","mtext"]);let Xl=De({},oc);const lc=qt(["annotation-xml"]);let Gl=De({},lc);const rn=De({},["title","style","font","a","script"]);let Xn=null;const Ri=["application/xhtml+xml","text/html"],wo="text/html";let Ue=null,ke=null;const Dd=n.createElement("form"),Gn=function(E){return E instanceof RegExp||E instanceof Function},Yl=function(){let E=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};if(ke&&ke===E)return;(!E||typeof E!="object")&&(E={}),E=At(E),Xn=Ri.indexOf(E.PARSER_MEDIA_TYPE)===-1?wo:E.PARSER_MEDIA_TYPE,Ue=Xn==="application/xhtml+xml"?rm:Pa,Me=Qi(E,"ALLOWED_TAGS",Ss,{transform:Ue}),Ie=Qi(E,"ALLOWED_ATTR",Wl,{transform:Ue}),vo=Qi(E,"ALLOWED_NAMESPACES",Md,{transform:rm}),Hl=Qi(E,"ADD_URI_SAFE_ATTR",sc,{transform:Ue,base:sc}),ic=Qi(E,"ADD_DATA_URI_TAGS",dr,{transform:Ue,base:dr}),Hn=Qi(E,"FORBID_CONTENTS",jl,{transform:Ue}),Ci=Qi(E,"FORBID_TAGS",At({}),{transform:Ue}),ge=Qi(E,"FORBID_ATTR",At({}),{transform:Ue}),Mi=Pt(E,"USE_PROFILES")?E.USE_PROFILES&&typeof E.USE_PROFILES=="object"?At(E.USE_PROFILES):E.USE_PROFILES:!1,Ul=E.ALLOW_ARIA_ATTR!==!1,ks=E.ALLOW_DATA_ATTR!==!1,tc=E.ALLOW_UNKNOWN_PROTOCOLS||!1,nc=E.ALLOW_SELF_CLOSE_IN_ATTR!==!1,hr=E.SAFE_FOR_TEMPLATES||!1,Mr=E.SAFE_FOR_XML!==!1,Mn=E.WHOLE_DOCUMENT||!1,Ti=E.RETURN_DOM||!1,bs=E.RETURN_DOM_FRAGMENT||!1,Oo=E.RETURN_TRUSTED_TYPE||!1,ql=E.FORCE_BODY||!1,v=E.SANITIZE_DOM!==!1,We=E.SANITIZE_NAMED_PROPS||!1,Pi=E.KEEP_CONTENT!==!1,fr=E.IN_PLACE||!1,pn=qN(E.ALLOWED_URI_REGEXP)?E.ALLOWED_URI_REGEXP:gx,Di=typeof E.NAMESPACE=="string"?E.NAMESPACE:Vn,Xl=Pt(E,"MATHML_TEXT_INTEGRATION_POINTS")&&E.MATHML_TEXT_INTEGRATION_POINTS&&typeof E.MATHML_TEXT_INTEGRATION_POINTS=="object"?At(E.MATHML_TEXT_INTEGRATION_POINTS):De({},oc),Gl=Pt(E,"HTML_INTEGRATION_POINTS")&&E.HTML_INTEGRATION_POINTS&&typeof E.HTML_INTEGRATION_POINTS=="object"?At(E.HTML_INTEGRATION_POINTS):De({},lc);const z=Pt(E,"CUSTOM_ELEMENT_HANDLING")&&E.CUSTOM_ELEMENT_HANDLING&&typeof E.CUSTOM_ELEMENT_HANDLING=="object"?At(E.CUSTOM_ELEMENT_HANDLING):Io(null);if(Ye=Io(null),Pt(z,"tagNameCheck")&&Gn(z.tagNameCheck)&&(Ye.tagNameCheck=z.tagNameCheck),Pt(z,"attributeNameCheck")&&Gn(z.attributeNameCheck)&&(Ye.attributeNameCheck=z.attributeNameCheck),Pt(z,"allowCustomizedBuiltInElements")&&typeof z.allowCustomizedBuiltInElements=="boolean"&&(Ye.allowCustomizedBuiltInElements=z.allowCustomizedBuiltInElements),Xt(Ye),hr&&(ks=!1),bs&&(Ti=!0),Mi&&(Me=De({},dx),Ie=Io(null),Mi.html===!0&&(De(Me,fx),De(Ie,px)),Mi.svg===!0&&(De(Me,im),De(Ie,lm),De(Ie,lh)),Mi.svgFilters===!0&&(De(Me,sm),De(Ie,lm),De(Ie,lh)),Mi.mathMl===!0&&(De(Me,om),De(Ie,mx),De(Ie,lh))),Pr.tagCheck=null,Pr.attributeCheck=null,Pt(E,"ADD_TAGS")&&(typeof E.ADD_TAGS=="function"?Pr.tagCheck=E.ADD_TAGS:ji(E.ADD_TAGS)&&(Me===Ss&&(Me=At(Me)),De(Me,E.ADD_TAGS,Ue))),Pt(E,"ADD_ATTR")&&(typeof E.ADD_ATTR=="function"?Pr.attributeCheck=E.ADD_ATTR:ji(E.ADD_ATTR)&&(Ie===Wl&&(Ie=At(Ie)),De(Ie,E.ADD_ATTR,Ue))),Pt(E,"ADD_URI_SAFE_ATTR")&&ji(E.ADD_URI_SAFE_ATTR)&&De(Hl,E.ADD_URI_SAFE_ATTR,Ue),Pt(E,"FORBID_CONTENTS")&&ji(E.FORBID_CONTENTS)&&(Hn===jl&&(Hn=At(Hn)),De(Hn,E.FORBID_CONTENTS,Ue)),Pt(E,"ADD_FORBID_CONTENTS")&&ji(E.ADD_FORBID_CONTENTS)&&(Hn===jl&&(Hn=At(Hn)),De(Hn,E.ADD_FORBID_CONTENTS,Ue)),Pi&&(Me["#text"]=!0),Mn&&De(Me,["html","head","body"]),Me.table&&(De(Me,["tbody"]),delete Ci.tbody),E.TRUSTED_TYPES_POLICY){if(typeof E.TRUSTED_TYPES_POLICY.createHTML!="function")throw Ms('TRUSTED_TYPES_POLICY configuration option must provide a "createHTML" hook.');if(typeof E.TRUSTED_TYPES_POLICY.createScriptURL!="function")throw Ms('TRUSTED_TYPES_POLICY configuration option must provide a "createScriptURL" hook.');const H=M;M=E.TRUSTED_TYPES_POLICY;try{L=q("")}catch(ce){throw M=H,ce}}else E.TRUSTED_TYPES_POLICY===null?(M=void 0,L=""):(M===void 0&&(M=A()),M&&typeof L=="string"&&(L=q("")));qt&&qt(E),ke=E},ac=De({},[...im,...sm,...jN]),xo=De({},[...om,...HN]),Kl=function(E,z,H){return z.namespaceURI===Vn?E==="svg":z.namespaceURI===yo?E==="svg"&&(H==="annotation-xml"||Xl[H]):!!ac[E]},uc=function(E,z,H){return z.namespaceURI===Vn?E==="math":z.namespaceURI===_s?E==="math"&&Gl[H]:!!xo[E]},Rd=function(E,z,H){return z.namespaceURI===_s&&!Gl[H]||z.namespaceURI===yo&&!Xl[H]?!1:!xo[E]&&(rn[E]||!ac[E])},cc=function(E){let z=x(E);(!z||!z.tagName)&&(z={namespaceURI:Di,tagName:"template"});const H=Pa(E.tagName),ce=Pa(z.tagName);return vo[E.namespaceURI]?E.namespaceURI===_s?Kl(H,z,ce):E.namespaceURI===yo?uc(H,z,ce):E.namespaceURI===Vn?Rd(H,z,ce):!!(Xn==="application/xhtml+xml"&&vo[E.namespaceURI]):!1},mn=function(E){Po(e.removed,{element:E});try{x(E).removeChild(E)}catch{if(y(E),!x(E))throw Ms("a node selected for removal could not be detached from its tree and cannot be safely returned; refusing to sanitize in place")}},So=function(E){Bi(E);const z=_(E);if(z){const ce=[];To(z,de=>{Po(ce,de)}),To(ce,de=>{try{y(de)}catch{}})}const H=b(E);if(H)for(let ce=H.length-1;ce>=0;--ce){const de=H[ce],Se=de&&de.name;if(typeof Se=="string")try{E.removeAttribute(Se)}catch{}}},Yn=function(E,z){try{Po(e.removed,{attribute:z.getAttributeNode(E),from:z})}catch{Po(e.removed,{attribute:null,from:z})}if(z.removeAttribute(E),E==="is")if(Ti||bs)try{mn(z)}catch{}else try{z.setAttribute(E,"")}catch{}},hc=function(E){const z=b(E);if(z)for(let H=z.length-1;H>=0;--H){const ce=z[H],de=ce&&ce.name;if(!(typeof de!="string"||Ie[Ue(de)]))try{E.removeAttribute(de)}catch{}}},Bi=function(E){const z=[E];for(;z.length>0;){const H=z.pop();(T?T(H):H.nodeType)===Ln.element&&hc(H);const de=_(H);if(de)for(let Se=de.length-1;Se>=0;--Se)z.push(de[Se])}},Zl=function(E){if(!Mr)return;const z=[E];for(;z.length>0;){const H=z.pop(),ce=T?T(H):H.nodeType;if(ce===Ln.processingInstruction||ce===Ln.comment&&Tt(yx,H.data)){try{y(H)}catch{}continue}if(ce===Ln.element){const Se=H,be=Ue(P?P(H):H.nodeName);try{Se.hasAttribute&&Se.hasAttribute("patchsrc")&&Se.removeAttribute("patchsrc"),Se.hasAttribute&&Se.hasAttribute("for")&&be!=="label"&&be!=="output"&&Se.removeAttribute("for")}catch{}}const de=_(H);if(de)for(let Se=de.length-1;Se>=0;--Se)z.push(de[Se])}},fc=function(E){let z=null,H=null;if(ql)E=""+E;else{const Se=ax(E,/^[\r\n\t ]+/);H=Se&&Se[0]}Xn==="application/xhtml+xml"&&Di===Vn&&(E=''+E+"");const ce=M?q(E):E;if(Di===Vn)try{z=new c().parseFromString(ce,Xn)}catch{}if(!z||!z.documentElement){z=ye.createDocument(Di,"template",null);try{z.documentElement.innerHTML=Vl?L:ce}catch{}}const de=z.body||z.documentElement;return E&&H&&de.insertBefore(n.createTextNode(H),de.childNodes[0]||null),Di===Vn?se.call(z,Mn?"html":"body")[0]:Mn?z.documentElement:de},dc=function(E){const z=D?D(E):E.ownerDocument;return N.call(z||E,E,a.SHOW_ELEMENT|a.SHOW_COMMENT|a.SHOW_TEXT|a.SHOW_PROCESSING_INSTRUCTION|a.SHOW_CDATA_SECTION,null)},ko=function(E){return E=Oa(E,Be," "),E=Oa(E,Je," "),E=Oa(E,ve," "),E},Al=function(E){var z;E.normalize();const H=D?D(E):E.ownerDocument,ce=N.call(H||E,E,a.SHOW_TEXT|a.SHOW_COMMENT|a.SHOW_CDATA_SECTION|a.SHOW_PROCESSING_INSTRUCTION,null);let de=ce.nextNode();for(;de;)de.data=ko(de.data),de=ce.nextNode();const Se=(z=E.querySelectorAll)===null||z===void 0?void 0:z.call(E,"template");Se&&To(Se,be=>{pr(be.content)&&Al(be.content)})},bo=function(E){const z=P?P(E):null;return typeof z!="string"||Ue(z)!=="form"?!1:typeof E.nodeName!="string"||typeof E.textContent!="string"||typeof E.removeChild!="function"||E.attributes!==b(E)||typeof E.removeAttribute!="function"||typeof E.setAttribute!="function"||typeof E.namespaceURI!="string"||typeof E.insertBefore!="function"||typeof E.hasChildNodes!="function"||E.nodeType!==T(E)||E.childNodes!==_(E)},pr=function(E){if(!T||typeof E!="object"||E===null)return!1;try{return T(E)===Ln.documentFragment}catch{return!1}},ni=function(E){if(!T||typeof E!="object"||E===null)return!1;try{return typeof T(E)=="number"}catch{return!1}};function Kn(Z,E,z){Z.length!==0&&To(Z,H=>{H.call(e,E,z,ke)})}const Bd=function(E,z){return!!(Mr&&E.hasChildNodes()&&!ni(E.firstElementChild)&&Tt(Ox,E.textContent)&&Tt(Ox,E.innerHTML)||Mr&&E.namespaceURI===Vn&&z==="style"&&ni(E.firstElementChild)||E.nodeType===Ln.processingInstruction||Mr&&E.nodeType===Ln.comment&&Tt(yx,E.data))},Ld=function(E,z,H){if(!Ci[z]&&mc(z)&&(Ye.tagNameCheck instanceof RegExp&&Tt(Ye.tagNameCheck,z)||Ye.tagNameCheck instanceof Function&&Ye.tagNameCheck(z)))return!1;if(Pi&&!Hn[z]){const ce=x(E),de=_(E);if(de&&ce){const Se=de.length;for(let be=Se-1;be>=0;--be){const Ke=E===H?g(de[be],!0):de[be];ce.insertBefore(Ke,w(E))}}}return mn(E),!0},Es=function(E,z,H,ce){return E.length===0?z:z===H||z===ce?At(z):z},Jl=function(E,z){if(Kn(te.beforeSanitizeElements,E,null),E!==z&&x(E)===null)return fr&&Bi(E),!0;if(bo(E))return mn(E),!0;const H=Ue(P?P(E):E.nodeName);if(Me=Es(te.uponSanitizeElement,Me,Ss,mo),Kn(te.uponSanitizeElement,E,{tagName:H,allowedTags:Me}),E!==z&&x(E)===null)return fr&&Bi(E),!0;if(Bd(E,H))return mn(E),!0;if(Ci[H]||!(Pr.tagCheck instanceof Function&&Pr.tagCheck(H))&&!Me[H]){const de=Ld(E,H,z);return de===!1&&Kn(te.afterSanitizeElements,E,null),de}if((T?T(E):E.nodeType)===Ln.element&&!cc(E)||(H==="noscript"||H==="noembed"||H==="noframes")&&Tt(t3,E.innerHTML))return mn(E),!0;if(hr&&E.nodeType===Ln.text){const de=ko(E.textContent);E.textContent!==de&&(Po(e.removed,{element:E.cloneNode()}),E.textContent=de)}return Kn(te.afterSanitizeElements,E,null),!1},pc=function(E,z,H){if(ge[z]||Mr&&z==="patchsrc"||Mr&&z==="for"&&E!=="label"&&E!=="output"||v&&(z==="id"||z==="name")&&(H in n||H in Dd))return!1;const ce=Ie[z]||Pr.attributeCheck instanceof Function&&Pr.attributeCheck(z,E);if(!(ks&&Tt(pe,z))){if(!(Ul&&Tt(me,z))){if(ce){if(!Hl[z]){if(!Tt(pn,Oa(H,kt,""))){if(!((z==="src"||z==="xlink:href"||z==="href")&&E!=="script"&&ux(H,"data:")===0&&ic[E])){if(!(tc&&!Tt(St,Oa(H,kt,"")))){if(H)return!1}}}}}else if(!(mc(E)&&(Ye.tagNameCheck instanceof RegExp&&Tt(Ye.tagNameCheck,E)||Ye.tagNameCheck instanceof Function&&Ye.tagNameCheck(E))&&(Ye.attributeNameCheck instanceof RegExp&&Tt(Ye.attributeNameCheck,z)||Ye.attributeNameCheck instanceof Function&&Ye.attributeNameCheck(z,E))||z==="is"&&Ye.allowCustomizedBuiltInElements&&(Ye.tagNameCheck instanceof RegExp&&Tt(Ye.tagNameCheck,H)||Ye.tagNameCheck instanceof Function&&Ye.tagNameCheck(H))))return!1}}return!0},Qd=De({},["annotation-xml","color-profile","font-face","font-face-format","font-face-name","font-face-src","font-face-uri","missing-glyph"]),mc=function(E){return!Qd[Pa(E)]&&Tt(dn,E)},Id=function(E,z,H,ce){if(M&&typeof d=="object"&&typeof d.getAttributeType=="function"&&!H)switch(d.getAttributeType(E,z)){case"TrustedHTML":return q(ce);case"TrustedScriptURL":return G(ce)}return ce},_o=function(E,z,H,ce){try{H?E.setAttributeNS(H,z,ce):E.setAttribute(z,ce),bo(E)?mn(E):lx(e.removed)}catch{Yn(z,E)}},Cs=function(E){Kn(te.beforeSanitizeAttributes,E,null);const z=E.attributes;if(!z||bo(E))return;Ie=Es(te.uponSanitizeAttribute,Ie,Wl,go);const H={attrName:"",attrValue:"",keepAttr:!0,allowedAttributes:Ie,forceKeepAttr:void 0};let ce=z.length;const de=Ue(E.nodeName);for(;ce--;){const Se=z[ce],be=Se.name,Ke=Se.namespaceURI,Gt=Se.value,ht=Ue(be),Dn=Gt;let zt=be==="value"?Dn:zN(Dn);if(H.attrName=ht,H.attrValue=zt,H.keepAttr=!0,H.forceKeepAttr=void 0,Kn(te.uponSanitizeAttribute,E,H),zt=H.attrValue,We&&(ht==="id"||ht==="name")&&ux(zt,rc)!==0&&(Yn(be,E),zt=rc+zt),Mr&&Tt(/((--!?|])>)|<\/(style|script|title|xmp|textarea|noscript|iframe|noembed|noframes)/i,zt)){Yn(be,E);continue}if(ht==="attributename"&&ax(zt,"href")){Yn(be,E);continue}if(!H.forceKeepAttr){if(!H.keepAttr){Yn(be,E);continue}if(!nc&&Tt(n3,zt)){Yn(be,E);continue}if(hr&&(zt=ko(zt)),!pc(de,ht,zt)){Yn(be,E);continue}zt=Id(de,ht,Ke,zt),zt!==Dn&&_o(E,be,Ke,zt)}}Kn(te.afterSanitizeAttributes,E,null)},Eo=function(E){let z=null;const H=dc(E);for(Kn(te.beforeSanitizeShadowDOM,E,null);z=H.nextNode();)if(Kn(te.uponSanitizeShadowNode,z,null),Jl(z,E),Cs(z),pr(z.content)&&Eo(z.content),(T?T(z):z.nodeType)===Ln.element){const de=S(z);pr(de)&&(ea(de),Eo(de))}Kn(te.afterSanitizeShadowDOM,E,null)},ea=function(E){const z=[{node:E,shadow:null}];for(;z.length>0;){const H=z.pop();if(H.shadow){Eo(H.shadow);continue}const ce=H.node,Se=(T?T(ce):ce.nodeType)===Ln.element,be=_(ce);if(be)for(let Ke=be.length-1;Ke>=0;--Ke)z.push({node:be[Ke],shadow:null});if(Se){const Ke=P?P(ce):null;if(typeof Ke=="string"&&Ue(Ke)==="template"){const Gt=ce.content;pr(Gt)&&z.push({node:Gt,shadow:null})}}if(Se){const Ke=S(ce);pr(Ke)&&z.push({node:null,shadow:Ke},{node:Ke,shadow:null})}}};return e.sanitize=function(Z){let E=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},z=null,H=null,ce=null,de=null;if(Vl=!Z,Vl&&(Z=""),typeof Z!="string"&&!ni(Z)&&(Z=UN(Z),typeof Z!="string"))throw Ms("dirty is not a string, aborting");if(!e.isSupported)return Z;po?(Me=mo,Ie=go):Yl(E),(te.uponSanitizeElement.length>0||te.uponSanitizeAttribute.length>0)&&(Me=At(Me)),te.uponSanitizeAttribute.length>0&&(Ie=At(Ie)),e.removed=[];const Se=fr&&typeof Z!="string"&&ni(Z);if(Se){Zl(Z);const Gt=P?P(Z):Z.nodeName;if(typeof Gt=="string"){const ht=Ue(Gt);if(!Me[ht]||Ci[ht])throw So(Z),Ms("root node is forbidden and cannot be sanitized in-place")}if(bo(Z))throw So(Z),Ms("root node is clobbered and cannot be sanitized in-place");try{ea(Z)}catch(ht){throw So(Z),ht}}else if(ni(Z))z=fc(""),H=z.ownerDocument.importNode(Z,!0),H.nodeType===Ln.element&&H.nodeName==="BODY"||H.nodeName==="HTML"?z=H:z.appendChild(H),ea(H);else{if(!Ti&&!hr&&!Mn&&Z.indexOf("<")===-1)return M&&Oo?q(Z):Z;if(z=fc(Z),!z)return Ti?null:Oo?L:""}z&&ql&&mn(z.firstChild);const be=Se?Z:z;try{const Gt=dc(be);for(;ce=Gt.nextNode();)Jl(ce,be),Cs(ce),pr(ce.content)&&Eo(ce.content)}catch(Gt){throw Se&&(So(Z),To(e.removed,ht=>{ht.element&&Bi(ht.element)})),Gt}if(Se)return To(e.removed,Gt=>{Gt.element&&Bi(Gt.element)}),hr&&Al(Z),Z;if(Ti){if(hr&&Al(z),bs)for(de=X.call(z.ownerDocument);z.firstChild;)de.appendChild(z.firstChild);else de=z;return(Ie.shadowroot||Ie.shadowrootmode)&&(de=we.call(r,de,!0)),de}let Ke=Mn?z.outerHTML:z.innerHTML;return Mn&&Me["!doctype"]&&z.ownerDocument&&z.ownerDocument.doctype&&z.ownerDocument.doctype.name&&Tt(JN,z.ownerDocument.doctype.name)&&(Ke=" `+Ke),hr&&(Ke=ko(Ke)),M&&Oo?q(Ke):Ke},e.setConfig=function(){let Z=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};Yl(Z),po=!0,mo=Me,go=Ie},e.clearConfig=function(){ke=null,po=!1,mo=null,go=null,M=B,L=""},e.isValidAttribute=function(Z,E,z){ke||Yl({});const H=Ue(Z),ce=Ue(E);return pc(H,ce,z)},e.addHook=function(Z,E){typeof E=="function"&&Pt(te,Z)&&Po(te[Z],E)},e.removeHook=function(Z,E){if(Pt(te,Z)){if(E!==void 0){const z=QN(te[Z],E);return z===-1?void 0:IN(te[Z],z,1)[0]}return lx(te[Z])}},e.removeHooks=function(Z){Pt(te,Z)&&(te[Z]=[])},e.removeAllHooks=function(){te=vx()},e}var s3=VE();const o3=/image="([^"]+)"/g,l3=/\/resources\/(.+)$/,a3=/]*>/g;function u3(t){const e=new Set;for(const n of t.matchAll(o3))e.add(n[1]);return[...e]}function c3(t){const e=t.match(l3);return e?`icons/${e[1]}`:null}function h3(t){return t.replace(a3,e=>e.replace(/(xlink:href|href)="([^"]*)"/g,(n,r,i)=>{const s=c3(i);return s?`${r}="${s}"`:i.startsWith("icons/")||i.startsWith("data:")?`${r}="${i}"`:`${r}=""`}))}let am=null;function f3(){return am??(am=EN.load().catch(t=>{throw am=null,t})),am}async function d3(t){const e=await f3(),n=u3(t).map(i=>({path:i,width:"256px",height:"256px"})),r=e.layout(t,"svg","dot",{images:n});if(!r)throw new Error("Graphviz returned empty output");return s3.sanitize(h3(r),{USE_PROFILES:{svg:!0,svgFilters:!0},ADD_TAGS:["image"],ADD_ATTR:["xlink:href"]})}/*! pako 2.2.0 https://github.com/nodeca/pako @license (MIT AND Zlib) */const p3=4,wx=0,xx=1,m3=2;function Fl(t){let e=t.length;for(;--e>=0;)t[e]=0}const g3=0,XE=1,O3=2,y3=3,v3=258,u1=29,Ju=256,Ru=Ju+1+u1,fl=30,c1=19,GE=2*Ru+1,Ws=15,um=16,w3=7,h1=256,YE=16,KE=17,ZE=18,m0=new Uint8Array([0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0]),Ih=new Uint8Array([0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13]),x3=new Uint8Array([0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7]),AE=new Uint8Array([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),S3=512,fi=new Array((Ru+2)*2);Fl(fi);const Ya=new Array(fl*2);Fl(Ya);const Bu=new Array(S3);Fl(Bu);const Lu=new Array(v3-y3+1);Fl(Lu);const f1=new Array(u1);Fl(f1);const Ff=new Array(fl);Fl(Ff);function cm(t,e,n,r,i){this.static_tree=t,this.extra_bits=e,this.extra_base=n,this.elems=r,this.max_length=i,this.has_stree=t&&t.length}let JE,eC,tC;function hm(t,e){this.dyn_tree=t,this.max_code=0,this.stat_desc=e}const nC=t=>t<256?Bu[t]:Bu[256+(t>>>7)],Qu=(t,e)=>{t.pending_buf[t.pending++]=e&255,t.pending_buf[t.pending++]=e>>>8&255},bn=(t,e,n)=>{t.bi_valid>um-n?(t.bi_buf|=e<>um-t.bi_valid,t.bi_valid+=n-um):(t.bi_buf|=e<{bn(t,n[e*2],n[e*2+1])},rC=(t,e)=>{let n=0;do n|=t&1,t>>>=1,n<<=1;while(--e>0);return n>>>1},k3=t=>{t.bi_valid===16?(Qu(t,t.bi_buf),t.bi_buf=0,t.bi_valid=0):t.bi_valid>=8&&(t.pending_buf[t.pending++]=t.bi_buf&255,t.bi_buf>>=8,t.bi_valid-=8)},b3=(t,e)=>{const n=e.dyn_tree,r=e.max_code,i=e.stat_desc.static_tree,s=e.stat_desc.has_stree,o=e.stat_desc.extra_bits,l=e.stat_desc.extra_base,a=e.stat_desc.max_length;let u,c,d,p,g,y,w=0;for(p=0;p<=Ws;p++)t.bl_count[p]=0;for(n[t.heap[t.heap_max]*2+1]=0,u=t.heap_max+1;ua&&(p=a,w++),n[c*2+1]=p,!(c>r)&&(t.bl_count[p]++,g=0,c>=l&&(g=o[c-l]),y=n[c*2],t.opt_len+=y*(p+g),s&&(t.static_len+=y*(i[c*2+1]+g)));if(w!==0){do{for(p=a-1;t.bl_count[p]===0;)p--;t.bl_count[p]--,t.bl_count[p+1]+=2,t.bl_count[a]--,w-=2}while(w>0);for(p=a;p!==0;p--)for(c=t.bl_count[p];c!==0;)d=t.heap[--u],!(d>r)&&(n[d*2+1]!==p&&(t.opt_len+=(p-n[d*2+1])*n[d*2],n[d*2+1]=p),c--)}},iC=(t,e,n)=>{const r=new Array(Ws+1);let i=0,s,o;for(s=1;s<=Ws;s++)i=i+n[s-1]<<1,r[s]=i;for(o=0;o<=e;o++){let l=t[o*2+1];l!==0&&(t[o*2]=rC(r[l]++,l))}},_3=()=>{let t,e,n,r,i;const s=new Array(Ws+1);for(n=0,r=0;r>=7;r{let e;for(e=0;e{t.bi_valid>8?Qu(t,t.bi_buf):t.bi_valid>0&&(t.pending_buf[t.pending++]=t.bi_buf),t.bi_buf=0,t.bi_valid=0},Sx=(t,e,n,r)=>{const i=e*2,s=n*2;return t[i]{const r=t.heap[n];let i=n<<1;for(;i<=t.heap_len&&(i{let r,i,s=0,o,l;if(t.sym_next!==0)do r=t.pending_buf[t.sym_buf+s++]&255,r+=(t.pending_buf[t.sym_buf+s++]&255)<<8,i=t.pending_buf[t.sym_buf+s++],r===0?jr(t,i,e):(o=Lu[i],jr(t,o+Ju+1,e),l=m0[o],l!==0&&(i-=f1[o],bn(t,i,l)),r--,o=nC(r),jr(t,o,n),l=Ih[o],l!==0&&(r-=Ff[o],bn(t,r,l)));while(s{const n=e.dyn_tree,r=e.stat_desc.static_tree,i=e.stat_desc.has_stree,s=e.stat_desc.elems;let o,l,a=-1,u;for(t.heap_len=0,t.heap_max=GE,o=0;o>1;o>=1;o--)fm(t,n,o);u=s;do o=t.heap[1],t.heap[1]=t.heap[t.heap_len--],fm(t,n,1),l=t.heap[1],t.heap[--t.heap_max]=o,t.heap[--t.heap_max]=l,n[u*2]=n[o*2]+n[l*2],t.depth[u]=(t.depth[o]>=t.depth[l]?t.depth[o]:t.depth[l])+1,n[o*2+1]=n[l*2+1]=u,t.heap[1]=u++,fm(t,n,1);while(t.heap_len>=2);t.heap[--t.heap_max]=t.heap[1],b3(t,e),iC(n,a,t.bl_count)},bx=(t,e,n)=>{let r,i=-1,s,o=e[0*2+1],l=0,a=7,u=4;for(o===0&&(a=138,u=3),e[(n+1)*2+1]=65535,r=0;r<=n;r++)s=o,o=e[(r+1)*2+1],!(++l{let r,i=-1,s,o=e[0*2+1],l=0,a=7,u=4;for(o===0&&(a=138,u=3),r=0;r<=n;r++)if(s=o,o=e[(r+1)*2+1],!(++l{let e;for(bx(t,t.dyn_ltree,t.l_desc.max_code),bx(t,t.dyn_dtree,t.d_desc.max_code),g0(t,t.bl_desc),e=c1-1;e>=3&&t.bl_tree[AE[e]*2+1]===0;e--);return t.opt_len+=3*(e+1)+5+5+4,e},C3=(t,e,n,r)=>{let i;for(bn(t,e-257,5),bn(t,n-1,5),bn(t,r-4,4),i=0;i{let e=4093624447,n;for(n=0;n<=31;n++,e>>>=1)if(e&1&&t.dyn_ltree[n*2]!==0)return wx;if(t.dyn_ltree[9*2]!==0||t.dyn_ltree[10*2]!==0||t.dyn_ltree[13*2]!==0)return xx;for(n=32;n{Ex||(_3(),Ex=!0),t.l_desc=new hm(t.dyn_ltree,JE),t.d_desc=new hm(t.dyn_dtree,eC),t.bl_desc=new hm(t.bl_tree,tC),t.bi_buf=0,t.bi_valid=0,sC(t)},lC=(t,e,n,r)=>{bn(t,(g3<<1)+(r?1:0),3),oC(t),Qu(t,n),Qu(t,~n),n&&t.pending_buf.set(t.window.subarray(e,e+n),t.pending),t.pending+=n},M3=t=>{bn(t,XE<<1,3),jr(t,h1,fi),k3(t)},D3=(t,e,n,r)=>{let i,s,o=0;t.level>0?(t.strm.data_type===m3&&(t.strm.data_type=T3(t)),g0(t,t.l_desc),g0(t,t.d_desc),o=E3(t),i=t.opt_len+3+7>>>3,s=t.static_len+3+7>>>3,s<=i&&(i=s)):i=s=n+5,n+4<=i&&e!==-1?lC(t,e,n,r):t.strategy===p3||s===i?(bn(t,(XE<<1)+(r?1:0),3),kx(t,fi,Ya)):(bn(t,(O3<<1)+(r?1:0),3),C3(t,t.l_desc.max_code+1,t.d_desc.max_code+1,o+1),kx(t,t.dyn_ltree,t.dyn_dtree)),sC(t),r&&oC(t)},R3=(t,e,n)=>(t.pending_buf[t.sym_buf+t.sym_next++]=e,t.pending_buf[t.sym_buf+t.sym_next++]=e>>8,t.pending_buf[t.sym_buf+t.sym_next++]=n,e===0?t.dyn_ltree[n*2]++:(t.matches++,e--,t.dyn_ltree[(Lu[n]+Ju+1)*2]++,t.dyn_dtree[nC(e)*2]++),t.sym_next===t.sym_end);var B3=P3,L3=lC,Q3=D3,I3=R3,z3=M3,F3={_tr_init:B3,_tr_stored_block:L3,_tr_flush_block:Q3,_tr_tally:I3,_tr_align:z3};const N3=(t,e,n,r)=>{let i=t&65535|0,s=t>>>16&65535|0,o=0;for(;n!==0;){o=n>2e3?2e3:n,n-=o;do i=i+e[r++]|0,s=s+i|0;while(--o);i%=65521,s%=65521}return i|s<<16|0};var Iu=N3;const $3=()=>{let t,e=[];for(var n=0;n<256;n++){t=n;for(var r=0;r<8;r++)t=t&1?3988292384^t>>>1:t>>>1;e[n]=t}return e},W3=new Uint32Array($3()),U3=(t,e,n,r)=>{const i=W3,s=r+n;t^=-1;for(let o=r;o>>8^i[(t^e[o])&255];return t^-1};var Mt=U3,oo={2:"need dictionary",1:"stream end",0:"","-1":"file error","-2":"stream error","-3":"data error","-4":"insufficient memory","-5":"buffer error","-6":"incompatible version"},bd={Z_NO_FLUSH:0,Z_PARTIAL_FLUSH:1,Z_SYNC_FLUSH:2,Z_FULL_FLUSH:3,Z_FINISH:4,Z_BLOCK:5,Z_TREES:6,Z_OK:0,Z_STREAM_END:1,Z_NEED_DICT:2,Z_STREAM_ERROR:-2,Z_DATA_ERROR:-3,Z_MEM_ERROR:-4,Z_BUF_ERROR:-5,Z_DEFAULT_COMPRESSION:-1,Z_FILTERED:1,Z_HUFFMAN_ONLY:2,Z_RLE:3,Z_FIXED:4,Z_DEFAULT_STRATEGY:0,Z_UNKNOWN:2,Z_DEFLATED:8};const{_tr_init:q3,_tr_stored_block:O0,_tr_flush_block:j3,_tr_tally:os,_tr_align:H3}=F3,{Z_NO_FLUSH:ls,Z_PARTIAL_FLUSH:V3,Z_FULL_FLUSH:X3,Z_FINISH:tr,Z_BLOCK:Cx,Z_OK:Nt,Z_STREAM_END:Tx,Z_STREAM_ERROR:Ar,Z_DATA_ERROR:G3,Z_BUF_ERROR:dm,Z_DEFAULT_COMPRESSION:Y3,Z_FILTERED:K3,Z_HUFFMAN_ONLY:ah,Z_RLE:Z3,Z_FIXED:A3,Z_DEFAULT_STRATEGY:J3,Z_UNKNOWN:e$,Z_DEFLATED:_d}=bd,t$=9,n$=15,r$=8,i$=29,s$=256,y0=s$+1+i$,o$=30,l$=19,a$=2*y0+1,u$=15,Fe=3,Ki=258,Jr=Ki+Fe+1,c$=32,Pl=42,d1=57,v0=69,w0=73,x0=91,S0=103,Us=113,Ma=666,ln=1,Nl=2,lo=3,$l=4,h$=3,qs=(t,e)=>(t.msg=oo[e],e),Px=t=>t*2-(t>4?9:0),Hi=t=>{let e=t.length;for(;--e>=0;)t[e]=0},f$=t=>{let e,n,r,i=t.w_size;e=t.hash_size,r=e;do n=t.head[--r],t.head[r]=n>=i?n-i:0;while(--e);e=i,r=e;do n=t.prev[--r],t.prev[r]=n>=i?n-i:0;while(--e)};let p1=(t,e,n)=>(e<{let n;if(t.legacy_hash)n=t.ins_h=p1(t,t.ins_h,t.window[e+Fe-1]);else{const i=t.window,s=i[e]|i[e+1]<<8|i[e+2]<<16|i[e+3]<<24;n=t.ins_h=Math.imul(s,66521)+66521>>>16&t.hash_mask}const r=t.prev[e&t.w_mask]=t.head[n];return t.head[n]=e,r},Qn=t=>{const e=t.state;let n=e.pending;n>t.avail_out&&(n=t.avail_out),n!==0&&(t.output.set(e.pending_buf.subarray(e.pending_out,e.pending_out+n),t.next_out),t.next_out+=n,e.pending_out+=n,t.total_out+=n,t.avail_out-=n,e.pending-=n,e.pending===0&&(e.pending_out=0))},$n=(t,e)=>{j3(t,t.block_start>=0?t.block_start:-1,t.strstart-t.block_start,e),t.block_start=t.strstart,Qn(t.strm)},Ne=(t,e)=>{t.pending_buf[t.pending++]=e},va=(t,e)=>{t.pending_buf[t.pending++]=e>>>8&255,t.pending_buf[t.pending++]=e&255},k0=(t,e,n,r)=>{let i=t.avail_in;return i>r&&(i=r),i===0?0:(t.avail_in-=i,e.set(t.input.subarray(t.next_in,t.next_in+i),n),t.state.wrap===1?t.adler=Iu(t.adler,e,i,n):t.state.wrap===2&&(t.adler=Mt(t.adler,e,i,n)),t.next_in+=i,t.total_in+=i,i)},aC=(t,e)=>{let n=t.max_chain_length,r=t.strstart,i,s,o=t.prev_length,l=t.nice_match;const a=t.strstart>t.w_size-Jr?t.strstart-(t.w_size-Jr):0,u=t.window,c=t.w_mask,d=t.prev,p=t.strstart+Ki;let g=u[r+o-1],y=u[r+o];t.prev_length>=t.good_match&&(n>>=2),l>t.lookahead&&(l=t.lookahead);do if(i=e,!(u[i+o]!==y||u[i+o-1]!==g||u[i]!==u[r]||u[++i]!==u[r+1])){r+=2,i++;do;while(u[++r]===u[++i]&&u[++r]===u[++i]&&u[++r]===u[++i]&&u[++r]===u[++i]&&u[++r]===u[++i]&&u[++r]===u[++i]&&u[++r]===u[++i]&&u[++r]===u[++i]&&ro){if(t.match_start=e,o=s,s>=l)break;g=u[r+o-1],y=u[r+o]}}while((e=d[e&c])>a&&--n!==0);return o<=t.lookahead?o:t.lookahead},Ml=t=>{const e=t.w_size;let n,r,i;do{if(r=t.window_size-t.lookahead-t.strstart,t.strstart>=e+(e-Jr)&&(t.window.set(t.window.subarray(e,e+e-r),0),t.match_start-=e,t.strstart-=e,t.block_start-=e,t.insert>t.strstart&&(t.insert=t.strstart),f$(t),r+=e),t.strm.avail_in===0)break;if(n=k0(t.strm,t.window,t.strstart+t.lookahead,r),t.lookahead+=n,t.legacy_hash){if(t.lookahead+t.insert>=Fe)for(i=t.strstart-t.insert,t.ins_h=t.window[i],t.ins_h=p1(t,t.ins_h,t.window[i+1]);t.insert&&(ao(t,i),i++,t.insert--,!(t.lookahead+t.insertFe)for(i=t.strstart-t.insert;t.insert&&(ao(t,i),i++,t.insert--,!(t.lookahead+t.insert<=Fe)););}while(t.lookahead{let n=t.pending_buf_size-5>t.w_size?t.w_size:t.pending_buf_size-5,r,i,s,o=0,l=t.strm.avail_in;do{if(r=65535,s=t.bi_valid+42>>3,t.strm.avail_outi+t.strm.avail_in&&(r=i+t.strm.avail_in),r>s&&(r=s),r>8,t.pending_buf[t.pending-2]=~r,t.pending_buf[t.pending-1]=~r>>8,Qn(t.strm),i&&(i>r&&(i=r),t.strm.output.set(t.window.subarray(t.block_start,t.block_start+i),t.strm.next_out),t.strm.next_out+=i,t.strm.avail_out-=i,t.strm.total_out+=i,t.block_start+=i,r-=i),r&&(k0(t.strm,t.strm.output,t.strm.next_out,r),t.strm.next_out+=r,t.strm.avail_out-=r,t.strm.total_out+=r)}while(o===0);return l-=t.strm.avail_in,l&&(l>=t.w_size?(t.matches=2,t.window.set(t.strm.input.subarray(t.strm.next_in-t.w_size,t.strm.next_in),0),t.strstart=t.w_size,t.insert=t.strstart):(t.window_size-t.strstart<=l&&(t.strstart-=t.w_size,t.window.set(t.window.subarray(t.w_size,t.w_size+t.strstart),0),t.matches<2&&t.matches++,t.insert>t.strstart&&(t.insert=t.strstart)),t.window.set(t.strm.input.subarray(t.strm.next_in-l,t.strm.next_in),t.strstart),t.strstart+=l,t.insert+=l>t.w_size-t.insert?t.w_size-t.insert:l),t.block_start=t.strstart),t.high_waters&&t.block_start>=t.w_size&&(t.block_start-=t.w_size,t.strstart-=t.w_size,t.window.set(t.window.subarray(t.w_size,t.w_size+t.strstart),0),t.matches<2&&t.matches++,s+=t.w_size,t.insert>t.strstart&&(t.insert=t.strstart)),s>t.strm.avail_in&&(s=t.strm.avail_in),s&&(k0(t.strm,t.window,t.strstart,s),t.strstart+=s,t.insert+=s>t.w_size-t.insert?t.w_size-t.insert:s),t.high_water>3,s=t.pending_buf_size-s>65535?65535:t.pending_buf_size-s,n=s>t.w_size?t.w_size:s,i=t.strstart-t.block_start,(i>=n||(i||e===tr)&&e!==ls&&t.strm.avail_in===0&&i<=s)&&(r=i>s?s:i,o=e===tr&&t.strm.avail_in===0&&r===i?1:0,O0(t,t.block_start,r,o),t.block_start+=r,Qn(t.strm)),o?lo:ln)},pm=(t,e)=>{let n,r;for(;;){if(t.lookahead=Fe&&(n=ao(t,t.strstart)),n!==0&&t.strstart-n<=t.w_size-Jr&&(t.match_length=aC(t,n)),t.match_length>=Fe)if(r=os(t,t.strstart-t.match_start,t.match_length-Fe),t.lookahead-=t.match_length,t.match_length<=t.max_lazy_match&&t.lookahead>=Fe){t.match_length--;do t.strstart++,n=ao(t,t.strstart);while(--t.match_length!==0);t.strstart++}else t.strstart+=t.match_length,t.match_length=0,t.legacy_hash&&(t.ins_h=t.window[t.strstart],t.ins_h=p1(t,t.ins_h,t.window[t.strstart+1]));else r=os(t,0,t.window[t.strstart]),t.lookahead--,t.strstart++;if(r&&($n(t,!1),t.strm.avail_out===0))return ln}return t.insert=t.strstart{let n,r,i;for(;;){if(t.lookahead=Fe&&(n=ao(t,t.strstart)),t.prev_length=t.match_length,t.prev_match=t.match_start,t.match_length=Fe-1,n!==0&&t.prev_length4096)&&(t.match_length=Fe-1)),t.prev_length>=Fe&&t.match_length<=t.prev_length){i=t.strstart+t.lookahead-Fe,r=os(t,t.strstart-1-t.prev_match,t.prev_length-Fe),t.lookahead-=t.prev_length-1,t.prev_length-=2;do++t.strstart<=i&&(n=ao(t,t.strstart));while(--t.prev_length!==0);if(t.match_available=0,t.match_length=Fe-1,t.strstart++,r&&($n(t,!1),t.strm.avail_out===0))return ln}else if(t.match_available){if(r=os(t,0,t.window[t.strstart-1]),r&&$n(t,!1),t.strstart++,t.lookahead--,t.strm.avail_out===0)return ln}else t.match_available=1,t.strstart++,t.lookahead--}return t.match_available&&(r=os(t,0,t.window[t.strstart-1]),t.match_available=0),t.insert=t.strstart{let n,r,i,s;const o=t.window;for(;;){if(t.lookahead<=Ki){if(Ml(t),t.lookahead<=Ki&&e===ls)return ln;if(t.lookahead===0)break}if(t.match_length=0,t.lookahead>=Fe&&t.strstart>0&&(i=t.strstart-1,r=o[i],r===o[++i]&&r===o[++i]&&r===o[++i])){s=t.strstart+Ki;do;while(r===o[++i]&&r===o[++i]&&r===o[++i]&&r===o[++i]&&r===o[++i]&&r===o[++i]&&r===o[++i]&&r===o[++i]&&it.lookahead&&(t.match_length=t.lookahead)}if(t.match_length>=Fe?(n=os(t,1,t.match_length-Fe),t.lookahead-=t.match_length,t.strstart+=t.match_length,t.match_length=0):(n=os(t,0,t.window[t.strstart]),t.lookahead--,t.strstart++),n&&($n(t,!1),t.strm.avail_out===0))return ln}return t.insert=0,e===tr?($n(t,!0),t.strm.avail_out===0?lo:$l):t.sym_next&&($n(t,!1),t.strm.avail_out===0)?ln:Nl},p$=(t,e)=>{let n;for(;;){if(t.lookahead===0&&(Ml(t),t.lookahead===0)){if(e===ls)return ln;break}if(t.match_length=0,n=os(t,0,t.window[t.strstart]),t.lookahead--,t.strstart++,n&&($n(t,!1),t.strm.avail_out===0))return ln}return t.insert=0,e===tr?($n(t,!0),t.strm.avail_out===0?lo:$l):t.sym_next&&($n(t,!1),t.strm.avail_out===0)?ln:Nl};function Ir(t,e,n,r,i){this.good_length=t,this.max_lazy=e,this.nice_length=n,this.max_chain=r,this.func=i}const Da=[new Ir(0,0,0,0,uC),new Ir(4,4,8,4,pm),new Ir(4,5,16,8,pm),new Ir(4,6,32,32,pm),new Ir(4,4,16,16,Mo),new Ir(8,16,32,32,Mo),new Ir(8,16,128,128,Mo),new Ir(8,32,128,256,Mo),new Ir(32,128,258,1024,Mo),new Ir(32,258,258,4096,Mo)],m$=t=>{t.window_size=2*t.w_size,Hi(t.head),t.max_lazy_match=Da[t.level].max_lazy,t.good_match=Da[t.level].good_length,t.nice_match=Da[t.level].nice_length,t.max_chain_length=Da[t.level].max_chain,t.strstart=0,t.block_start=0,t.lookahead=0,t.insert=0,t.match_length=t.prev_length=Fe-1,t.match_available=0,t.ins_h=0};function g$(){this.strm=null,this.status=0,this.pending_buf=null,this.pending_buf_size=0,this.pending_out=0,this.pending=0,this.wrap=0,this.gzhead=null,this.gzindex=0,this.method=_d,this.last_flush=-1,this.w_size=0,this.w_bits=0,this.w_mask=0,this.window=null,this.window_size=0,this.prev=null,this.head=null,this.ins_h=0,this.legacy_hash=0,this.hash_size=0,this.hash_bits=0,this.hash_mask=0,this.hash_shift=0,this.block_start=0,this.match_length=0,this.prev_match=0,this.match_available=0,this.strstart=0,this.match_start=0,this.lookahead=0,this.prev_length=0,this.max_chain_length=0,this.max_lazy_match=0,this.level=0,this.strategy=0,this.good_match=0,this.nice_match=0,this.dyn_ltree=new Uint16Array(a$*2),this.dyn_dtree=new Uint16Array((2*o$+1)*2),this.bl_tree=new Uint16Array((2*l$+1)*2),Hi(this.dyn_ltree),Hi(this.dyn_dtree),Hi(this.bl_tree),this.l_desc=null,this.d_desc=null,this.bl_desc=null,this.bl_count=new Uint16Array(u$+1),this.heap=new Uint16Array(2*y0+1),Hi(this.heap),this.heap_len=0,this.heap_max=0,this.depth=new Uint16Array(2*y0+1),Hi(this.depth),this.sym_buf=0,this.lit_bufsize=0,this.sym_next=0,this.sym_end=0,this.opt_len=0,this.static_len=0,this.matches=0,this.insert=0,this.bi_buf=0,this.bi_valid=0}const ec=t=>{if(!t)return 1;const e=t.state;return!e||e.strm!==t||e.status!==Pl&&e.status!==d1&&e.status!==v0&&e.status!==w0&&e.status!==x0&&e.status!==S0&&e.status!==Us&&e.status!==Ma?1:0},cC=t=>{if(ec(t))return qs(t,Ar);t.total_in=t.total_out=0,t.data_type=e$;const e=t.state;return e.pending=0,e.pending_out=0,e.wrap<0&&(e.wrap=-e.wrap),e.status=e.wrap===2?d1:e.wrap?Pl:Us,t.adler=e.wrap===2?0:1,e.last_flush=-2,q3(e),Nt},hC=t=>{const e=cC(t);return e===Nt&&m$(t.state),e},O$=(t,e)=>ec(t)||t.state.wrap!==2?Ar:(t.state.gzhead=e,Nt),fC=(t,e,n,r,i,s,o)=>{if(!t)return Ar;let l=1;if(e===Y3&&(e=6),r<0?(l=0,r=-r):r>15&&(l=2,r-=16),i<1||i>t$||n!==_d||r<8||r>15||e<0||e>9||s<0||s>A3||r===8&&l!==1)return qs(t,Ar);r===8&&(r=9);const a=new g$;return t.state=a,a.strm=t,a.status=Pl,a.wrap=l,a.gzhead=null,a.w_bits=r,a.w_size=1<fC(t,e,_d,n$,r$,J3),v$=(t,e)=>{if(ec(t)||e>Cx||e<0)return t?qs(t,Ar):Ar;const n=t.state;if(!t.output||t.avail_in!==0&&!t.input||n.status===Ma&&e!==tr)return qs(t,t.avail_out===0?dm:Ar);const r=n.last_flush;if(n.last_flush=e,n.pending!==0){if(Qn(t),t.avail_out===0)return n.last_flush=-1,Nt}else if(t.avail_in===0&&Px(e)<=Px(r)&&e!==tr)return qs(t,dm);if(n.status===Ma&&t.avail_in!==0)return qs(t,dm);if(n.status===Pl&&n.wrap===0&&(n.status=Us),n.status===Pl){let i=_d+(n.w_bits-8<<4)<<8,s=-1;if(n.strategy>=ah||n.level<2?s=0:n.level<6?s=1:n.level===6?s=2:s=3,i|=s<<6,n.strstart!==0&&(i|=c$),i+=31-i%31,va(n,i),n.strstart!==0&&(va(n,t.adler>>>16),va(n,t.adler&65535)),t.adler=1,n.status=Us,Qn(t),n.pending!==0)return n.last_flush=-1,Nt}if(n.status===d1){if(t.adler=0,Ne(n,31),Ne(n,139),Ne(n,8),n.gzhead)Ne(n,(n.gzhead.text?1:0)+(n.gzhead.hcrc?2:0)+(n.gzhead.extra?4:0)+(n.gzhead.name?8:0)+(n.gzhead.comment?16:0)),Ne(n,n.gzhead.time&255),Ne(n,n.gzhead.time>>8&255),Ne(n,n.gzhead.time>>16&255),Ne(n,n.gzhead.time>>24&255),Ne(n,n.level===9?2:n.strategy>=ah||n.level<2?4:0),Ne(n,n.gzhead.os&255),n.gzhead.extra&&n.gzhead.extra.length&&(Ne(n,n.gzhead.extra.length&255),Ne(n,n.gzhead.extra.length>>8&255)),n.gzhead.hcrc&&(t.adler=Mt(t.adler,n.pending_buf,n.pending,0)),n.gzindex=0,n.status=v0;else if(Ne(n,0),Ne(n,0),Ne(n,0),Ne(n,0),Ne(n,0),Ne(n,n.level===9?2:n.strategy>=ah||n.level<2?4:0),Ne(n,h$),n.status=Us,Qn(t),n.pending!==0)return n.last_flush=-1,Nt}if(n.status===v0){if(n.gzhead.extra){let i=n.pending,s=(n.gzhead.extra.length&65535)-n.gzindex;for(;n.pending+s>n.pending_buf_size;){let l=n.pending_buf_size-n.pending;if(n.pending_buf.set(n.gzhead.extra.subarray(n.gzindex,n.gzindex+l),n.pending),n.pending=n.pending_buf_size,n.gzhead.hcrc&&n.pending>i&&(t.adler=Mt(t.adler,n.pending_buf,n.pending-i,i)),n.gzindex+=l,Qn(t),n.pending!==0)return n.last_flush=-1,Nt;i=0,s-=l}let o=new Uint8Array(n.gzhead.extra);n.pending_buf.set(o.subarray(n.gzindex,n.gzindex+s),n.pending),n.pending+=s,n.gzhead.hcrc&&n.pending>i&&(t.adler=Mt(t.adler,n.pending_buf,n.pending-i,i)),n.gzindex=0}n.status=w0}if(n.status===w0){if(n.gzhead.name){let i=n.pending,s;do{if(n.pending===n.pending_buf_size){if(n.gzhead.hcrc&&n.pending>i&&(t.adler=Mt(t.adler,n.pending_buf,n.pending-i,i)),Qn(t),n.pending!==0)return n.last_flush=-1,Nt;i=0}n.gzindexi&&(t.adler=Mt(t.adler,n.pending_buf,n.pending-i,i)),n.gzindex=0}n.status=x0}if(n.status===x0){if(n.gzhead.comment){let i=n.pending,s;do{if(n.pending===n.pending_buf_size){if(n.gzhead.hcrc&&n.pending>i&&(t.adler=Mt(t.adler,n.pending_buf,n.pending-i,i)),Qn(t),n.pending!==0)return n.last_flush=-1,Nt;i=0}n.gzindexi&&(t.adler=Mt(t.adler,n.pending_buf,n.pending-i,i))}n.status=S0}if(n.status===S0){if(n.gzhead.hcrc){if(n.pending+2>n.pending_buf_size&&(Qn(t),n.pending!==0))return n.last_flush=-1,Nt;Ne(n,t.adler&255),Ne(n,t.adler>>8&255),t.adler=0}if(n.status=Us,Qn(t),n.pending!==0)return n.last_flush=-1,Nt}if(t.avail_in!==0||n.lookahead!==0||e!==ls&&n.status!==Ma){let i=n.level===0?uC(n,e):n.strategy===ah?p$(n,e):n.strategy===Z3?d$(n,e):Da[n.level].func(n,e);if((i===lo||i===$l)&&(n.status=Ma),i===ln||i===lo)return t.avail_out===0&&(n.last_flush=-1),Nt;if(i===Nl&&(e===V3?H3(n):e!==Cx&&(O0(n,0,0,!1),e===X3&&(Hi(n.head),n.lookahead===0&&(n.strstart=0,n.block_start=0,n.insert=0))),Qn(t),t.avail_out===0))return n.last_flush=-1,Nt}return e!==tr?Nt:n.wrap<=0?Tx:(n.wrap===2?(Ne(n,t.adler&255),Ne(n,t.adler>>8&255),Ne(n,t.adler>>16&255),Ne(n,t.adler>>24&255),Ne(n,t.total_in&255),Ne(n,t.total_in>>8&255),Ne(n,t.total_in>>16&255),Ne(n,t.total_in>>24&255)):(va(n,t.adler>>>16),va(n,t.adler&65535)),Qn(t),n.wrap>0&&(n.wrap=-n.wrap),n.pending!==0?Nt:Tx)},w$=t=>{if(ec(t))return Ar;const e=t.state.status;return t.state=null,e===Us?qs(t,G3):Nt},x$=(t,e)=>{let n=e.length;if(ec(t))return Ar;const r=t.state,i=r.wrap;if(i===2||i===1&&r.status!==Pl||r.lookahead)return Ar;if(i===1&&(t.adler=Iu(t.adler,e,n,0)),r.wrap=0,n>=r.w_size){i===0&&(Hi(r.head),r.strstart=0,r.block_start=0,r.insert=0);let a=new Uint8Array(r.w_size);a.set(e.subarray(n-r.w_size,n),0),e=a,n=r.w_size}const s=t.avail_in,o=t.next_in,l=t.input;for(t.avail_in=n,t.next_in=0,t.input=e,Ml(r);r.lookahead>=Fe;){let a=r.strstart,u=r.lookahead-(Fe-1);do ao(r,a),a++;while(--u);r.strstart=a,r.lookahead=Fe-1,Ml(r)}return r.strstart+=r.lookahead,r.block_start=r.strstart,r.insert=r.lookahead,r.lookahead=0,r.match_length=r.prev_length=Fe-1,r.match_available=0,t.next_in=o,t.input=l,t.avail_in=s,r.wrap=i,Nt};var S$=y$,k$=fC,b$=hC,_$=cC,E$=O$,C$=v$,T$=w$,P$=x$,M$="pako deflate (from Nodeca project)",Ka={deflateInit:S$,deflateInit2:k$,deflateReset:b$,deflateResetKeep:_$,deflateSetHeader:E$,deflate:C$,deflateEnd:T$,deflateSetDictionary:P$,deflateInfo:M$};const D$=(t,e)=>Object.prototype.hasOwnProperty.call(t,e);var R$=function(t){const e=Array.prototype.slice.call(arguments,1);for(;e.length;){const n=e.shift();if(n){if(typeof n!="object")throw new TypeError(n+"must be non-object");for(const r in n)D$(n,r)&&(t[r]=n[r])}}return t},B$=t=>{let e=0;for(let r=0,i=t.length;r=252?6:t>=248?5:t>=240?4:t>=224?3:t>=192?2:1;zu[254]=zu[255]=1;var L$=t=>{if(typeof TextEncoder=="function"&&TextEncoder.prototype.encode)return new TextEncoder().encode(t);let e,n,r,i,s,o=t.length,l=0;for(i=0;i>>6,e[s++]=128|n&63):n<65536?(e[s++]=224|n>>>12,e[s++]=128|n>>>6&63,e[s++]=128|n&63):(e[s++]=240|n>>>18,e[s++]=128|n>>>12&63,e[s++]=128|n>>>6&63,e[s++]=128|n&63);return e};const Q$=(t,e)=>{if(e<65534&&t.subarray&&dC)return String.fromCharCode.apply(null,t.length===e?t:t.subarray(0,e));let n="";for(let r=0;r{const n=e||t.length;if(typeof TextDecoder=="function"&&TextDecoder.prototype.decode)return new TextDecoder().decode(t.subarray(0,e));let r,i;const s=new Array(n*2);for(i=0,r=0;r4){s[i++]=65533,r+=l-1;continue}for(o&=l===2?31:l===3?15:7;l>1&&r1){s[i++]=65533;continue}o<65536?s[i++]=o:(o-=65536,s[i++]=55296|o>>10&1023,s[i++]=56320|o&1023)}return Q$(s,i)},z$=(t,e)=>{e=e||t.length,e>t.length&&(e=t.length);let n=e-1;for(;n>=0&&(t[n]&192)===128;)n--;return n<0||n===0?e:n+zu[t[n]]>e?n:e},Fu={string2buf:L$,buf2string:I$,utf8border:z$};function F$(){this.input=null,this.next_in=0,this.avail_in=0,this.total_in=0,this.output=null,this.next_out=0,this.avail_out=0,this.total_out=0,this.msg="",this.state=null,this.data_type=2,this.adler=0}var pC=F$;const mC=Object.prototype.toString,{Z_NO_FLUSH:N$,Z_SYNC_FLUSH:$$,Z_FULL_FLUSH:W$,Z_FINISH:U$,Z_OK:Nf,Z_STREAM_END:q$,Z_DEFAULT_COMPRESSION:j$,Z_DEFAULT_STRATEGY:H$,Z_DEFLATED:V$}=bd,X$={level:j$,method:V$,chunkSize:16384,windowBits:15,memLevel:8,strategy:H$,legacyHash:!0};function Cd(t){this.options=Ed.assign({},X$,t||{});let e=this.options;e.raw&&e.windowBits>0?e.windowBits=-e.windowBits:e.gzip&&e.windowBits>0&&e.windowBits<16&&(e.windowBits+=16),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new pC,this.strm.avail_out=0;let n=Ka.deflateInit2(this.strm,e.level,e.method,e.windowBits,e.memLevel,e.strategy,e.legacyHash);if(n!==Nf)throw new Error(oo[n]);if(e.header&&Ka.deflateSetHeader(this.strm,e.header),e.dictionary){let r;if(typeof e.dictionary=="string"?r=Fu.string2buf(e.dictionary):mC.call(e.dictionary)==="[object ArrayBuffer]"?r=new Uint8Array(e.dictionary):r=e.dictionary,n=Ka.deflateSetDictionary(this.strm,r),n!==Nf)throw new Error(oo[n]);this._dict_set=!0}}Cd.prototype.push=function(t,e){const n=this.strm,r=this.options.chunkSize;let i,s;if(this.ended)return!1;for(e===~~e?s=e:s=e===!0?U$:N$,typeof t=="string"?n.input=Fu.string2buf(t):mC.call(t)==="[object ArrayBuffer]"?n.input=new Uint8Array(t):n.input=t,n.next_in=0,n.avail_in=n.input.length;;){if(n.avail_out===0&&(n.output=new Uint8Array(r),n.next_out=0,n.avail_out=r),(s===$$||s===W$)&&n.avail_out<=6){this.onData(n.output.subarray(0,n.next_out)),n.avail_out=0;continue}if(i=Ka.deflate(n,s),i===q$)return n.next_out>0&&this.onData(n.output.subarray(0,n.next_out)),i=Ka.deflateEnd(this.strm),this.onEnd(i),this.ended=!0,i===Nf;if(n.avail_out===0){this.onData(n.output);continue}if(s>0&&n.next_out>0){this.onData(n.output.subarray(0,n.next_out)),n.avail_out=0;continue}if(n.avail_in===0)break}return!0};Cd.prototype.onData=function(t){this.chunks.push(t)};Cd.prototype.onEnd=function(t){t===Nf&&(this.result=Ed.flattenChunks(this.chunks)),this.chunks=[],this.err=t,this.msg=this.strm.msg};function G$(t,e){const n=new Cd(e);if(n.push(t,!0),n.err)throw n.msg||oo[n.err];return n.result}var Y$=G$,K$={deflate:Y$};const uh=16209,Z$=16191;var A$=function(e,n){let r,i,s,o,l,a,u,c,d,p,g,y,w,_,x,S,b,T,P,D,M,L,B,I;const j=e.state;r=e.next_in,B=e.input,i=r+(e.avail_in-5),s=e.next_out,I=e.output,o=s-(n-e.avail_out),l=s+(e.avail_out-257),a=j.dmax,u=j.wsize,c=j.whave,d=j.wnext,p=j.window,g=j.hold,y=j.bits,w=j.lencode,_=j.distcode,x=(1<>>24,g>>>=T,y-=T,T=b>>>16&255,T===0)I[s++]=b&65535;else if(T&16){P=b&65535,T&=15,T&&(y>>=T,y-=T),y<15&&(g+=B[r++]<>>24,g>>>=T,y-=T,T=b>>>16&255,T&16){if(D=b&65535,T&=15,ya){e.msg="invalid distance too far back",j.mode=uh;break e}if(g>>>=T,y-=T,T=s-o,D>T){if(T=D-T,T>c&&j.sane){e.msg="invalid distance too far back",j.mode=uh;break e}if(M=0,L=p,d===0){if(M+=u-T,T2;)I[s++]=L[M++],I[s++]=L[M++],I[s++]=L[M++],P-=3;P&&(I[s++]=L[M++],P>1&&(I[s++]=L[M++]))}else{M=s-D;do I[s++]=I[M++],I[s++]=I[M++],I[s++]=I[M++],P-=3;while(P>2);P&&(I[s++]=I[M++],P>1&&(I[s++]=I[M++]))}}else if(T&64){e.msg="invalid distance code",j.mode=uh;break e}else{b=_[(b&65535)+(g&(1<>3,r-=P,y-=P<<3,g&=(1<{const a=l.bits;let u=0,c=0,d=0,p=0,g=0,y=0,w=0,_=0,x=0,S=0,b,T,P,D,M,L=null,B;const I=new Uint16Array(Do+1),j=new Uint16Array(Do+1);let V=null,q,G,A;for(u=0;u<=Do;u++)I[u]=0;for(c=0;c=1&&I[p]===0;p--);if(g>p&&(g=p),p===0)return i[s++]=1<<24|64<<16|0,i[s++]=1<<24|64<<16|0,l.bits=1,0;for(d=1;d0&&(t===Rx||p!==1))return-1;for(j[1]=0,u=1;uMx||t===Bx&&x>Dx)return 1;for(;;){q=u-w,o[c]+1=B?(G=V[o[c]-B],A=L[o[c]-B]):(G=96,A=0),b=1<>w)+T]=q<<24|G<<16|A|0;while(T!==0);for(b=1<>=1;if(b!==0?(S&=b-1,S+=b):S=0,c++,--I[u]===0){if(u===p)break;u=e[n+o[c]]}if(u>g&&(S&D)!==P){for(w===0&&(w=g),M+=d,y=u-w,_=1<Mx||t===Bx&&x>Dx)return 1;P=S&D,i[P]=g<<24|y<<16|M-s|0}}return S!==0&&(i[M+S]=u-w<<24|64<<16|0),l.bits=g,0};var Za=rW;const iW=0,gC=1,OC=2,{Z_FINISH:Lx,Z_BLOCK:sW,Z_TREES:ch,Z_OK:uo,Z_STREAM_END:oW,Z_NEED_DICT:lW,Z_STREAM_ERROR:ur,Z_DATA_ERROR:yC,Z_MEM_ERROR:vC,Z_BUF_ERROR:aW,Z_DEFLATED:Qx}=bd,Td=16180,Ix=16181,zx=16182,Fx=16183,Nx=16184,$x=16185,Wx=16186,Ux=16187,qx=16188,jx=16189,$f=16190,ii=16191,gm=16192,Hx=16193,Om=16194,Vx=16195,Xx=16196,Gx=16197,Yx=16198,hh=16199,fh=16200,Kx=16201,Zx=16202,Ax=16203,Jx=16204,eS=16205,ym=16206,tS=16207,nS=16208,tt=16209,wC=16210,xC=16211,uW=852,cW=592,hW=15,fW=hW,rS=t=>(t>>>24&255)+(t>>>8&65280)+((t&65280)<<8)+((t&255)<<24);function dW(){this.strm=null,this.mode=0,this.last=!1,this.wrap=0,this.havedict=!1,this.flags=0,this.dmax=0,this.check=0,this.total=0,this.head=null,this.wbits=0,this.wsize=0,this.whave=0,this.wnext=0,this.window=null,this.hold=0,this.bits=0,this.length=0,this.offset=0,this.extra=0,this.lencode=null,this.distcode=null,this.lenbits=0,this.distbits=0,this.ncode=0,this.nlen=0,this.ndist=0,this.have=0,this.next=null,this.lens=new Uint16Array(320),this.work=new Uint16Array(288),this.lendyn=null,this.distdyn=null,this.sane=0,this.back=0,this.was=0}const fo=t=>{if(!t)return 1;const e=t.state;return!e||e.strm!==t||e.modexC?1:0},SC=t=>{if(fo(t))return ur;const e=t.state;return t.total_in=t.total_out=e.total=0,t.msg="",e.wrap&&(t.adler=e.wrap&1),e.mode=Td,e.last=0,e.havedict=0,e.flags=-1,e.dmax=32768,e.head=null,e.hold=0,e.bits=0,e.lencode=e.lendyn=new Int32Array(uW),e.distcode=e.distdyn=new Int32Array(cW),e.sane=1,e.back=-1,uo},kC=t=>{if(fo(t))return ur;const e=t.state;return e.wsize=0,e.whave=0,e.wnext=0,SC(t)},bC=(t,e)=>{let n;if(fo(t))return ur;const r=t.state;return e<0?(n=0,e=-e):(n=(e>>4)+5,e<48&&(e&=15)),e&&(e<8||e>15)?ur:(r.window!==null&&r.wbits!==e&&(r.window=null),r.wrap=n,r.wbits=e,kC(t))},_C=(t,e)=>{if(!t)return ur;const n=new dW;t.state=n,n.strm=t,n.window=null,n.mode=Td;const r=bC(t,e);return r!==uo&&(t.state=null),r},pW=t=>_C(t,fW);let iS=!0,vm,wm;const mW=t=>{if(iS){vm=new Int32Array(512),wm=new Int32Array(32);let e=0;for(;e<144;)t.lens[e++]=8;for(;e<256;)t.lens[e++]=9;for(;e<280;)t.lens[e++]=7;for(;e<288;)t.lens[e++]=8;for(Za(gC,t.lens,0,288,vm,0,t.work,{bits:9}),e=0;e<32;)t.lens[e++]=5;Za(OC,t.lens,0,32,wm,0,t.work,{bits:5}),iS=!1}t.lencode=vm,t.lenbits=9,t.distcode=wm,t.distbits=5},EC=(t,e,n,r)=>{let i;const s=t.state;return s.window===null&&(s.window=new Uint8Array(1<=s.wsize?(s.window.set(e.subarray(n-s.wsize,n),0),s.wnext=0,s.whave=s.wsize):(i=s.wsize-s.wnext,i>r&&(i=r),s.window.set(e.subarray(n-r,n-r+i),s.wnext),r-=i,r?(s.window.set(e.subarray(n-r,n),0),s.wnext=r,s.whave=s.wsize):(s.wnext+=i,s.wnext===s.wsize&&(s.wnext=0),s.whave{let n,r,i,s,o,l,a,u,c,d,p,g,y,w,_=0,x,S,b,T,P,D,M,L;const B=new Uint8Array(4);let I,j;const V=new Uint8Array([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]);if(fo(t)||!t.output||!t.input&&t.avail_in!==0)return ur;n=t.state,n.mode===ii&&(n.mode=gm),o=t.next_out,i=t.output,a=t.avail_out,s=t.next_in,r=t.input,l=t.avail_in,u=n.hold,c=n.bits,d=l,p=a,L=uo;e:for(;;)switch(n.mode){case Td:if(n.wrap===0){n.mode=gm;break}for(;c<16;){if(l===0)break e;l--,u+=r[s++]<>>8&255,n.check=Mt(n.check,B,2,0),u=0,c=0,n.mode=Ix;break}if(n.head&&(n.head.done=!1),!(n.wrap&1)||(((u&255)<<8)+(u>>8))%31){t.msg="incorrect header check",n.mode=tt;break}if((u&15)!==Qx){t.msg="unknown compression method",n.mode=tt;break}if(u>>>=4,c-=4,M=(u&15)+8,n.wbits===0&&(n.wbits=M),M>15||M>n.wbits){t.msg="invalid window size",n.mode=tt;break}n.dmax=1<>8&1),n.flags&512&&n.wrap&4&&(B[0]=u&255,B[1]=u>>>8&255,n.check=Mt(n.check,B,2,0)),u=0,c=0,n.mode=zx;case zx:for(;c<32;){if(l===0)break e;l--,u+=r[s++]<>>8&255,B[2]=u>>>16&255,B[3]=u>>>24&255,n.check=Mt(n.check,B,4,0)),u=0,c=0,n.mode=Fx;case Fx:for(;c<16;){if(l===0)break e;l--,u+=r[s++]<>8),n.flags&512&&n.wrap&4&&(B[0]=u&255,B[1]=u>>>8&255,n.check=Mt(n.check,B,2,0)),u=0,c=0,n.mode=Nx;case Nx:if(n.flags&1024){for(;c<16;){if(l===0)break e;l--,u+=r[s++]<>>8&255,n.check=Mt(n.check,B,2,0)),u=0,c=0}else n.head&&(n.head.extra=null);n.mode=$x;case $x:if(n.flags&1024&&(g=n.length,g>l&&(g=l),g&&(n.head&&(M=n.head.extra_len-n.length,n.head.extra||(n.head.extra=new Uint8Array(n.head.extra_len)),n.head.extra.set(r.subarray(s,s+g),M)),n.flags&512&&n.wrap&4&&(n.check=Mt(n.check,r,g,s)),l-=g,s+=g,n.length-=g),n.length))break e;n.length=0,n.mode=Wx;case Wx:if(n.flags&2048){if(l===0)break e;g=0;do M=r[s+g++],n.head&&M&&n.length<65536&&(n.head.name+=String.fromCharCode(M));while(M&&g>9&1,n.head.done=!0),t.adler=n.check=0,n.mode=ii;break;case jx:for(;c<32;){if(l===0)break e;l--,u+=r[s++]<>>=c&7,c-=c&7,n.mode=ym;break}for(;c<3;){if(l===0)break e;l--,u+=r[s++]<>>=1,c-=1,u&3){case 0:n.mode=Hx;break;case 1:if(mW(n),n.mode=hh,e===ch){u>>>=2,c-=2;break e}break;case 2:n.mode=Xx;break;case 3:t.msg="invalid block type",n.mode=tt}u>>>=2,c-=2;break;case Hx:for(u>>>=c&7,c-=c&7;c<32;){if(l===0)break e;l--,u+=r[s++]<>>16^65535)){t.msg="invalid stored block lengths",n.mode=tt;break}if(n.length=u&65535,u=0,c=0,n.mode=Om,e===ch)break e;case Om:n.mode=Vx;case Vx:if(g=n.length,g){if(g>l&&(g=l),g>a&&(g=a),g===0)break e;i.set(r.subarray(s,s+g),o),l-=g,s+=g,a-=g,o+=g,n.length-=g;break}n.mode=ii;break;case Xx:for(;c<14;){if(l===0)break e;l--,u+=r[s++]<>>=5,c-=5,n.ndist=(u&31)+1,u>>>=5,c-=5,n.ncode=(u&15)+4,u>>>=4,c-=4,n.nlen>286||n.ndist>30){t.msg="too many length or distance symbols",n.mode=tt;break}n.have=0,n.mode=Gx;case Gx:for(;n.have>>=3,c-=3}for(;n.have<19;)n.lens[V[n.have++]]=0;if(n.lencode=n.lendyn,n.lenbits=7,I={bits:n.lenbits},L=Za(iW,n.lens,0,19,n.lencode,0,n.work,I),n.lenbits=I.bits,L){t.msg="invalid code lengths set",n.mode=tt;break}n.have=0,n.mode=Yx;case Yx:for(;n.have>>24,S=_>>>16&255,b=_&65535,!(x<=c);){if(l===0)break e;l--,u+=r[s++]<>>=x,c-=x,n.lens[n.have++]=b;else{if(b===16){for(j=x+2;c>>=x,c-=x,n.have===0){t.msg="invalid bit length repeat",n.mode=tt;break}M=n.lens[n.have-1],g=3+(u&3),u>>>=2,c-=2}else if(b===17){for(j=x+3;c>>=x,c-=x,M=0,g=3+(u&7),u>>>=3,c-=3}else{for(j=x+7;c>>=x,c-=x,M=0,g=11+(u&127),u>>>=7,c-=7}if(n.have+g>n.nlen+n.ndist){t.msg="invalid bit length repeat",n.mode=tt;break}for(;g--;)n.lens[n.have++]=M}}if(n.mode===tt)break;if(n.lens[256]===0){t.msg="invalid code -- missing end-of-block",n.mode=tt;break}if(n.lenbits=9,I={bits:n.lenbits},L=Za(gC,n.lens,0,n.nlen,n.lencode,0,n.work,I),n.lenbits=I.bits,L){t.msg="invalid literal/lengths set",n.mode=tt;break}if(n.distbits=6,n.distcode=n.distdyn,I={bits:n.distbits},L=Za(OC,n.lens,n.nlen,n.ndist,n.distcode,0,n.work,I),n.distbits=I.bits,L){t.msg="invalid distances set",n.mode=tt;break}if(n.mode=hh,e===ch)break e;case hh:n.mode=fh;case fh:if(l>=6&&a>=258){t.next_out=o,t.avail_out=a,t.next_in=s,t.avail_in=l,n.hold=u,n.bits=c,A$(t,p),o=t.next_out,i=t.output,a=t.avail_out,s=t.next_in,r=t.input,l=t.avail_in,u=n.hold,c=n.bits,n.mode===ii&&(n.back=-1);break}for(n.back=0;_=n.lencode[u&(1<>>24,S=_>>>16&255,b=_&65535,!(x<=c);){if(l===0)break e;l--,u+=r[s++]<>T)],x=_>>>24,S=_>>>16&255,b=_&65535,!(T+x<=c);){if(l===0)break e;l--,u+=r[s++]<>>=T,c-=T,n.back+=T}if(u>>>=x,c-=x,n.back+=x,n.length=b,S===0){n.mode=eS;break}if(S&32){n.back=-1,n.mode=ii;break}if(S&64){t.msg="invalid literal/length code",n.mode=tt;break}n.extra=S&15,n.mode=Kx;case Kx:if(n.extra){for(j=n.extra;c>>=n.extra,c-=n.extra,n.back+=n.extra}n.was=n.length,n.mode=Zx;case Zx:for(;_=n.distcode[u&(1<>>24,S=_>>>16&255,b=_&65535,!(x<=c);){if(l===0)break e;l--,u+=r[s++]<>T)],x=_>>>24,S=_>>>16&255,b=_&65535,!(T+x<=c);){if(l===0)break e;l--,u+=r[s++]<>>=T,c-=T,n.back+=T}if(u>>>=x,c-=x,n.back+=x,S&64){t.msg="invalid distance code",n.mode=tt;break}n.offset=b,n.extra=S&15,n.mode=Ax;case Ax:if(n.extra){for(j=n.extra;c>>=n.extra,c-=n.extra,n.back+=n.extra}if(n.offset>n.dmax){t.msg="invalid distance too far back",n.mode=tt;break}n.mode=Jx;case Jx:if(a===0)break e;if(g=p-a,n.offset>g){if(g=n.offset-g,g>n.whave&&n.sane){t.msg="invalid distance too far back",n.mode=tt;break}g>n.wnext?(g-=n.wnext,y=n.wsize-g):y=n.wnext-g,g>n.length&&(g=n.length),w=n.window}else w=i,y=o-n.offset,g=n.length;g>a&&(g=a),a-=g,n.length-=g;do i[o++]=w[y++];while(--g);n.length===0&&(n.mode=fh);break;case eS:if(a===0)break e;i[o++]=n.length,a--,n.mode=fh;break;case ym:if(n.wrap){for(;c<32;){if(l===0)break e;l--,u|=r[s++]<{if(fo(t))return ur;let e=t.state;return e.window&&(e.window=null),t.state=null,uo},yW=(t,e)=>{if(fo(t))return ur;const n=t.state;return n.wrap&2?(n.head=e,e.done=!1,uo):ur},vW=(t,e)=>{const n=e.length;let r,i,s;return fo(t)||(r=t.state,r.wrap!==0&&r.mode!==$f)?ur:r.mode===$f&&(i=1,i=Iu(i,e,n,0),i!==r.check)?yC:(s=EC(t,e,n,n),s?(r.mode=wC,vC):(r.havedict=1,uo))};var wW=kC,xW=bC,SW=SC,kW=pW,bW=_C,_W=gW,EW=OW,CW=yW,TW=vW,PW="pako inflate (from Nodeca project)",Nr={inflateReset:wW,inflateReset2:xW,inflateResetKeep:SW,inflateInit:kW,inflateInit2:bW,inflate:_W,inflateEnd:EW,inflateGetHeader:CW,inflateSetDictionary:TW,inflateInfo:PW};function MW(){this.text=0,this.time=0,this.xflags=0,this.os=0,this.extra=null,this.extra_len=0,this.name="",this.comment="",this.hcrc=0,this.done=!1}var DW=MW;const CC=Object.prototype.toString,{Z_NO_FLUSH:RW,Z_FINISH:sS,Z_OK:dl,Z_STREAM_END:xm,Z_NEED_DICT:Sm,Z_STREAM_ERROR:BW,Z_DATA_ERROR:oS,Z_MEM_ERROR:LW,Z_BUF_ERROR:lS}=bd,QW={chunkSize:1024*64,windowBits:15,to:""};function Pd(t){this.options=Ed.assign({},QW,t||{});const e=this.options;e.raw&&e.windowBits>=0&&e.windowBits<16&&(e.windowBits=-e.windowBits,e.windowBits===0&&(e.windowBits=-15)),e.windowBits>=0&&e.windowBits<16&&!(t&&t.windowBits)&&(e.windowBits+=32),e.windowBits>15&&e.windowBits<48&&(e.windowBits&15||(e.windowBits|=15)),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new pC,this.strm.avail_out=0;let n=Nr.inflateInit2(this.strm,e.windowBits);if(n!==dl)throw new Error(oo[n]);if(this.header=new DW,Nr.inflateGetHeader(this.strm,this.header),e.dictionary&&(typeof e.dictionary=="string"?e.dictionary=Fu.string2buf(e.dictionary):CC.call(e.dictionary)==="[object ArrayBuffer]"&&(e.dictionary=new Uint8Array(e.dictionary)),e.raw&&(n=Nr.inflateSetDictionary(this.strm,e.dictionary),n!==dl)))throw new Error(oo[n])}Pd.prototype.push=function(t,e){const n=this.strm,r=this.options.chunkSize,i=this.options.dictionary;let s,o,l;if(this.ended)return!1;for(e===~~e?o=e:o=e===!0?sS:RW,CC.call(t)==="[object ArrayBuffer]"?n.input=new Uint8Array(t):n.input=t,n.next_in=0,n.avail_in=n.input.length;;){for(n.avail_out===0&&(n.output=new Uint8Array(r),n.next_out=0,n.avail_out=r),s=Nr.inflate(n,o),s===Sm&&i&&(s=Nr.inflateSetDictionary(n,i),s===dl?s=Nr.inflate(n,o):s===oS&&(s=Sm));n.avail_in>0&&s===xm&&n.state.wrap&2&&n.state.flags!==0&&n.input[n.next_in]!==0;)Nr.inflateReset(n),s=Nr.inflate(n,o);switch(s){case BW:case oS:case Sm:case LW:return this.onEnd(s),this.ended=!0,!1}if(l=n.avail_out,n.next_out&&(n.avail_out===0||s===xm||o>0))if(this.options.to==="string"){let a=Fu.utf8border(n.output,n.next_out),u=n.next_out-a,c=Fu.buf2string(n.output,a);n.next_out=u,n.avail_out=r-u,u&&n.output.set(n.output.subarray(a,a+u),0),this.onData(c)}else this.onData(n.output.length===n.next_out?n.output:n.output.subarray(0,n.next_out)),n.avail_out=0,n.next_out=0;if(!((s===dl||s===lS)&&l===0)){if(s===xm)return s=Nr.inflateEnd(this.strm),this.onEnd(s),this.ended=!0,!0;if(n.avail_in===0){if(o===sS)return s=Nr.inflateEnd(this.strm),this.onEnd(s===dl?lS:s),this.ended=!0,!1;break}}}return!0};Pd.prototype.onData=function(t){this.chunks.push(t)};Pd.prototype.onEnd=function(t){t===dl&&(this.options.to==="string"?this.result=this.chunks.join(""):this.result=Ed.flattenChunks(this.chunks)),this.chunks=[],this.err=t,this.msg=this.strm.msg};function IW(t,e){const n=new Pd(e);if(n.push(t,!0),n.err)throw n.msg||oo[n.err];return n.result}var zW=IW,FW={inflate:zW};const{deflate:NW}=K$,{inflate:$W}=FW;var WW=NW,UW=$W;const aS="#code=";function qW(t){const e=WW(new TextEncoder().encode(t),{level:9});let n="";for(const r of e)n+=String.fromCharCode(r);return btoa(n).replace(/\+/g,"-").replace(/\//g,"_").replace(/=+$/,"")}function uS(t){let e=t.startsWith(aS)?t.slice(aS.length):t;if(e=e.replace(/^#/,""),!e)return null;try{const n=e.replace(/-/g,"+").replace(/_/g,"/"),r=n+"=".repeat((4-n.length%4)%4),i=atob(r),s=Uint8Array.from(i,o=>o.charCodeAt(0));return new TextDecoder().decode(UW(s))}catch{return null}}function jW(t,e){let n;return(...r)=>{clearTimeout(n),n=setTimeout(()=>t(...r),e)}}const HW=25,VW=75,Wf=50;function b0(t){return Number.isNaN(t)?Wf:Math.min(VW,Math.max(HW,t))}const XW=180,GW=420,m1=260;function _0(t){return Number.isNaN(t)?m1:Math.min(GW,Math.max(XW,t))}const cS=/\bDiagram\(\s*/g;function YW(t,e){return t.replace(/\\/g,"\\\\").split(e).join(`\\${e}`)}function KW(t,e,n){cS.lastIndex=0;let r,i=-1;for(;(r=cS.exec(t))!==null;){if(i++,i!==e)continue;const s=r.index+r[0].length,o=t[s];if(o!=='"'&&o!=="'")return null;let l=s+1,a=!1;for(;lthis.handleMessage(r.data),await new Promise((r,i)=>{const s=setTimeout(()=>i(new E0),AW);this.resolveReady=()=>{clearTimeout(s),this.ready=!0,r()},this.rejectReady=o=>{clearTimeout(s),i(o)},this.worker.postMessage({type:"init",wheelUrl:n})})}handleMessage(e){var n,r,i,s;switch(e.type){case"progress":(n=this.onProgress)==null||n.call(this,e.stage);break;case"ready":(r=this.onProgress)==null||r.call(this,"ready"),(i=this.resolveReady)==null||i.call(this),this.dispatchQueued();break;case"init-error":(s=this.rejectReady)==null||s.call(this,new Error(e.error));break;case"result":case"run-error":{if(!this.inFlight||this.inFlight.id!==e.id)return;const{resolve:o,reject:l,timer:a}=this.inFlight;clearTimeout(a),this.inFlight=null,e.type==="result"?o(e.result):l(new Error(e.error)),this.dispatchQueued();break}}}run(e){return new Promise((n,r)=>{var s;if(this.dead){r(this.dead);return}const i={code:e,resolve:n,reject:r};this.inFlight||!this.ready?((s=this.queued)==null||s.reject(new TC),this.queued=i):this.dispatch(i)})}dispatchQueued(){if(this.queued&&!this.inFlight&&this.ready){const e=this.queued;this.queued=null,this.dispatch(e)}}dispatch(e){const n=this.nextId++,r=setTimeout(()=>this.handleTimeout(),ZW);this.inFlight={...e,id:n,timer:r},this.worker.postMessage({type:"run",id:n,code:e.code})}handleTimeout(){var n;const e=this.inFlight;this.inFlight=null,this.ready=!1,(n=this.worker)==null||n.terminate(),e==null||e.reject(new E0),this.spawn().catch(r=>{var i;this.dead=r instanceof Error?r:new Error(String(r)),(i=this.queued)==null||i.reject(this.dead),this.queued=null})}dispose(){var e,n,r;this.dead=new Error("PyClient disposed"),(e=this.rejectReady)==null||e.call(this,this.dead),(n=this.queued)==null||n.reject(this.dead),this.queued=null,this.inFlight&&(clearTimeout(this.inFlight.timer),this.inFlight.reject(this.dead),this.inFlight=null),(r=this.worker)==null||r.terminate(),this.ready=!1}}const PC="dgp-split",MC="dgp-sidebar";function n8(){const t=Number(localStorage.getItem(PC));return b0(Number.isFinite(t)&&t!==0?t:Wf)}function r8(){const t=Number(localStorage.getItem(MC));return _0(Number.isFinite(t)&&t!==0?t:m1)}const i8={pyodide:"Loading Python runtime… (first visit only)",packages:"Installing diagrams package…",ready:"Ready"};function s8(){const t=ae.useRef(),e=ae.useRef(),n=ae.useRef(uS(window.location.hash)??QE),[r,i]=ae.useState(null),[s,o]=ae.useState(null),[l,a]=ae.useState("Starting…"),[u,c]=ae.useState(!1),[d,p]=ae.useState([]),[g,y]=ae.useState(null),[w,_]=ae.useState(!1),[x,S]=ae.useState(!1),[b,T]=ae.useState(n8),[P,D]=ae.useState(r8),[M,L]=ae.useState(()=>n.current.split(` `).length),[B,I]=ae.useState(()=>uS(window.location.hash)!==null?null:IE[0].title),[j,V]=ae.useState(null),q=ae.useRef(null),G=ae.useRef(null);ae.useEffect(()=>{IF()},[]);const A=ae.useCallback(pe=>{const me=b0(pe);T(me),localStorage.setItem(PC,String(me))},[]),oe=ae.useCallback(pe=>{const me=_0(pe);D(me),localStorage.setItem(MC,String(me))},[]),ye=ae.useCallback(async pe=>{n.current=pe;const me=t.current;if(!me)return;_(!0);const St=performance.now();try{const kt=await me.run(pe);if(kt.error)y(kt.error);else{const dn=await Promise.all(kt.dots.map(async pn=>({name:pn.name,svg:await d3(pn.source)})));p(dn),y(null),V(Math.round(performance.now()-St))}}catch(kt){if(kt instanceof TC)return;kt instanceof E0?y("Execution timed out after 10s. The Python runtime was restarted (infinite loop?)."):y(String(kt))}finally{_(!1)}},[]),N=ae.useMemo(()=>jW(ye,500),[ye]),X=ae.useCallback(pe=>{n.current=pe,L(pe.split(` `).length),N(pe)},[N]);ae.useEffect(()=>{fetch("catalog.json").then(me=>{if(!me.ok)throw new Error(`HTTP ${me.status}`);return me.json()}).then(i).catch(me=>{i(null),o(`Node catalog failed to load (${me instanceof Error?me.message:String(me)}) — autocomplete and node search are disabled.`)});const pe=new t8;return t.current=pe,pe.init(me=>{t.current===pe&&a(i8[me]??me)}).then(()=>{t.current===pe&&(c(!0),ye(n.current))}).catch(me=>{String(me).includes("disposed")||t.current===pe&&a(`Failed to start: ${me}`)}),()=>pe.dispose()},[ye]);const se=ae.useMemo(()=>r?[M_({override:[YF(r)]}),AF(r.signatures)]:[],[r]);function we(){const pe=`#code=${qW(n.current)}`;window.history.replaceState(null,"",pe),navigator.clipboard.writeText(window.location.href).then(()=>{S(!0),setTimeout(()=>S(!1),2e3)}).catch(()=>S(!1))}function te(pe){var me;(me=e.current)==null||me.call(e,pe),ye(pe)}function Be(pe){te(`${pe} ${n.current}`)}function Je(pe){I(pe.title),te(pe.code)}function ve(pe,me){const St=KW(n.current,pe,me);St&&te(St)}return W.jsxs("div",{className:"app",children:[W.jsx(jF,{status:u?w?"Rendering…":"Ready":l,onShare:we,shared:x}),W.jsx(nF,{activeExample:B,onSelect:Je}),W.jsxs("main",{className:"main",ref:G,children:[W.jsx(kF,{catalog:r,onInsert:Be,width:P}),W.jsx(mw,{containerRef:G,onChange:oe,ariaLabel:"Resize node list sidebar",valueFromPointer:(pe,me)=>_0(pe-me.left),resetValue:m1}),W.jsxs("div",{className:"split-container",ref:q,children:[W.jsxs("div",{className:"editor-column",style:{flexBasis:`${b}%`},children:[W.jsx(tF,{initialCode:n.current,extensions:se,lineCount:M,onChange:X,onReplaceRef:pe=>e.current=pe,onRunNow:()=>void ye(n.current),onShare:we},r?"with-catalog":"bare"),W.jsx(Hw,{error:s,testId:"catalog-error-panel"}),W.jsx(Hw,{error:g})]}),W.jsx(mw,{containerRef:q,onChange:A,ariaLabel:"Resize editor and preview panes",valueFromPointer:(pe,me)=>me.width===0?Wf:b0((pe-me.left)/me.width*100),resetValue:Wf}),W.jsx(RF,{svgs:d,loading:w,renderMs:j,onRenameDiagram:ve,children:W.jsx(dF,{svgs:d})})]})]})]})}km.createRoot(document.getElementById("root")).render(W.jsx(JT.StrictMode,{children:W.jsx(s8,{})}));