mirror of
https://github.com/logos-storage/logos-storage-docs-obsidian.git
synced 2026-01-05 23:03:06 +00:00
92 lines
995 KiB
JavaScript
92 lines
995 KiB
JavaScript
/*
|
|
=======================================================
|
|
THIS IS A GENERATED/BUNDLED FILE BY ESBUILD
|
|
if you want to view the source, please visit the github repository of this plugin at https://github.com/Fevol/obsidian-translate
|
|
|
|
Commentator — 0.2.5 [PRODUCTION BUILD]
|
|
Author: kometenstaub and Fevol
|
|
Version: 0.2.5
|
|
Time: Sun, 27 Jul 2025 11:45:35 GMT
|
|
|
|
=======================================================
|
|
*/
|
|
|
|
"use strict";var am=Object.create;var Na=Object.defineProperty;var lm=Object.getOwnPropertyDescriptor;var um=Object.getOwnPropertyNames;var hm=Object.getPrototypeOf,cm=Object.prototype.hasOwnProperty;var La=(i,t)=>()=>(t||i((t={exports:{}}).exports,t),t.exports),fm=(i,t)=>{for(var e in t)Na(i,e,{get:t[e],enumerable:!0})},pf=(i,t,e,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let r of um(t))!cm.call(i,r)&&r!==e&&Na(i,r,{get:()=>t[r],enumerable:!(n=lm(t,r))||n.enumerable});return i};var Ba=(i,t,e)=>(e=i!=null?am(hm(i)):{},pf(t||!i||!i.__esModule?Na(e,"default",{value:i,enumerable:!0}):e,i)),dm=i=>pf(Na({},"__esModule",{value:!0}),i);var Od=La((Kk,Fs)=>{var X=function(){this.Diff_Timeout=1,this.Diff_EditCost=4,this.Match_Threshold=.5,this.Match_Distance=1e3,this.Patch_DeleteThreshold=.5,this.Patch_Margin=4,this.Match_MaxBits=32},re=-1,le=1,$t=0;X.Diff=function(i,t){return[i,t]};X.prototype.diff_main=function(i,t,e,n){typeof n>"u"&&(this.Diff_Timeout<=0?n=Number.MAX_VALUE:n=new Date().getTime()+this.Diff_Timeout*1e3);var r=n;if(i==null||t==null)throw new Error("Null input. (diff_main)");if(i==t)return i?[new X.Diff($t,i)]:[];typeof e>"u"&&(e=!0);var s=e,o=this.diff_commonPrefix(i,t),a=i.substring(0,o);i=i.substring(o),t=t.substring(o),o=this.diff_commonSuffix(i,t);var l=i.substring(i.length-o);i=i.substring(0,i.length-o),t=t.substring(0,t.length-o);var u=this.diff_compute_(i,t,s,r);return a&&u.unshift(new X.Diff($t,a)),l&&u.push(new X.Diff($t,l)),this.diff_cleanupMerge(u),u};X.prototype.diff_compute_=function(i,t,e,n){var r;if(!i)return[new X.Diff(le,t)];if(!t)return[new X.Diff(re,i)];var s=i.length>t.length?i:t,o=i.length>t.length?t:i,a=s.indexOf(o);if(a!=-1)return r=[new X.Diff(le,s.substring(0,a)),new X.Diff($t,o),new X.Diff(le,s.substring(a+o.length))],i.length>t.length&&(r[0][0]=r[2][0]=re),r;if(o.length==1)return[new X.Diff(re,i),new X.Diff(le,t)];var l=this.diff_halfMatch_(i,t);if(l){var u=l[0],f=l[1],h=l[2],c=l[3],p=l[4],g=this.diff_main(u,h,e,n),m=this.diff_main(f,c,e,n);return g.concat([new X.Diff($t,p)],m)}return e&&i.length>100&&t.length>100?this.diff_lineMode_(i,t,n):this.diff_bisect_(i,t,n)};X.prototype.diff_lineMode_=function(i,t,e){var n=this.diff_linesToChars_(i,t);i=n.chars1,t=n.chars2;var r=n.lineArray,s=this.diff_main(i,t,!1,e);this.diff_charsToLines_(s,r),this.diff_cleanupSemantic(s),s.push(new X.Diff($t,""));for(var o=0,a=0,l=0,u="",f="";o<s.length;){switch(s[o][0]){case le:l++,f+=s[o][1];break;case re:a++,u+=s[o][1];break;case $t:if(a>=1&&l>=1){s.splice(o-a-l,a+l),o=o-a-l;for(var h=this.diff_main(u,f,!1,e),c=h.length-1;c>=0;c--)s.splice(o,0,h[c]);o=o+h.length}l=0,a=0,u="",f="";break}o++}return s.pop(),s};X.prototype.diff_bisect_=function(i,t,e){for(var n=i.length,r=t.length,s=Math.ceil((n+r)/2),o=s,a=2*s,l=new Array(a),u=new Array(a),f=0;f<a;f++)l[f]=-1,u[f]=-1;l[o+1]=0,u[o+1]=0;for(var h=n-r,c=h%2!=0,p=0,g=0,m=0,v=0,_=0;_<s&&!(new Date().getTime()>e);_++){for(var S=-_+p;S<=_-g;S+=2){var k=o+S,E;S==-_||S!=_&&l[k-1]<l[k+1]?E=l[k+1]:E=l[k-1]+1;for(var M=E-S;E<n&&M<r&&i.charAt(E)==t.charAt(M);)E++,M++;if(l[k]=E,E>n)g+=2;else if(M>r)p+=2;else if(c){var w=o+h-S;if(w>=0&&w<a&&u[w]!=-1){var x=n-u[w];if(E>=x)return this.diff_bisectSplit_(i,t,E,M,e)}}}for(var A=-_+m;A<=_-v;A+=2){var w=o+A,x;A==-_||A!=_&&u[w-1]<u[w+1]?x=u[w+1]:x=u[w-1]+1;for(var D=x-A;x<n&&D<r&&i.charAt(n-x-1)==t.charAt(r-D-1);)x++,D++;if(u[w]=x,x>n)v+=2;else if(D>r)m+=2;else if(!c){var k=o+h-A;if(k>=0&&k<a&&l[k]!=-1){var E=l[k],M=o+E-k;if(x=n-x,E>=x)return this.diff_bisectSplit_(i,t,E,M,e)}}}}return[new X.Diff(re,i),new X.Diff(le,t)]};X.prototype.diff_bisectSplit_=function(i,t,e,n,r){var s=i.substring(0,e),o=t.substring(0,n),a=i.substring(e),l=t.substring(n),u=this.diff_main(s,o,!1,r),f=this.diff_main(a,l,!1,r);return u.concat(f)};X.prototype.diff_linesToChars_=function(i,t){var e=[],n={};e[0]="";function r(l){for(var u="",f=0,h=-1,c=e.length;h<l.length-1;){h=l.indexOf(`
|
|
`,f),h==-1&&(h=l.length-1);var p=l.substring(f,h+1);(n.hasOwnProperty?n.hasOwnProperty(p):n[p]!==void 0)?u+=String.fromCharCode(n[p]):(c==s&&(p=l.substring(f),h=l.length),u+=String.fromCharCode(c),n[p]=c,e[c++]=p),f=h+1}return u}var s=4e4,o=r(i);s=65535;var a=r(t);return{chars1:o,chars2:a,lineArray:e}};X.prototype.diff_charsToLines_=function(i,t){for(var e=0;e<i.length;e++){for(var n=i[e][1],r=[],s=0;s<n.length;s++)r[s]=t[n.charCodeAt(s)];i[e][1]=r.join("")}};X.prototype.diff_commonPrefix=function(i,t){if(!i||!t||i.charAt(0)!=t.charAt(0))return 0;for(var e=0,n=Math.min(i.length,t.length),r=n,s=0;e<r;)i.substring(s,r)==t.substring(s,r)?(e=r,s=e):n=r,r=Math.floor((n-e)/2+e);return r};X.prototype.diff_commonSuffix=function(i,t){if(!i||!t||i.charAt(i.length-1)!=t.charAt(t.length-1))return 0;for(var e=0,n=Math.min(i.length,t.length),r=n,s=0;e<r;)i.substring(i.length-r,i.length-s)==t.substring(t.length-r,t.length-s)?(e=r,s=e):n=r,r=Math.floor((n-e)/2+e);return r};X.prototype.diff_commonOverlap_=function(i,t){var e=i.length,n=t.length;if(e==0||n==0)return 0;e>n?i=i.substring(e-n):e<n&&(t=t.substring(0,e));var r=Math.min(e,n);if(i==t)return r;for(var s=0,o=1;;){var a=i.substring(r-o),l=t.indexOf(a);if(l==-1)return s;o+=l,(l==0||i.substring(r-o)==t.substring(0,o))&&(s=o,o++)}};X.prototype.diff_halfMatch_=function(i,t){if(this.Diff_Timeout<=0)return null;var e=i.length>t.length?i:t,n=i.length>t.length?t:i;if(e.length<4||n.length*2<e.length)return null;var r=this;function s(g,m,v){for(var _=g.substring(v,v+Math.floor(g.length/4)),S=-1,k="",E,M,w,x;(S=m.indexOf(_,S+1))!=-1;){var A=r.diff_commonPrefix(g.substring(v),m.substring(S)),D=r.diff_commonSuffix(g.substring(0,v),m.substring(0,S));k.length<D+A&&(k=m.substring(S-D,S)+m.substring(S,S+A),E=g.substring(0,v-D),M=g.substring(v+A),w=m.substring(0,S-D),x=m.substring(S+A))}return k.length*2>=g.length?[E,M,w,x,k]:null}var o=s(e,n,Math.ceil(e.length/4)),a=s(e,n,Math.ceil(e.length/2)),l;if(!o&&!a)return null;a?o?l=o[4].length>a[4].length?o:a:l=a:l=o;var u,f,h,c;i.length>t.length?(u=l[0],f=l[1],h=l[2],c=l[3]):(h=l[0],c=l[1],u=l[2],f=l[3]);var p=l[4];return[u,f,h,c,p]};X.prototype.diff_cleanupSemantic=function(i){for(var t=!1,e=[],n=0,r=null,s=0,o=0,a=0,l=0,u=0;s<i.length;)i[s][0]==$t?(e[n++]=s,o=l,a=u,l=0,u=0,r=i[s][1]):(i[s][0]==le?l+=i[s][1].length:u+=i[s][1].length,r&&r.length<=Math.max(o,a)&&r.length<=Math.max(l,u)&&(i.splice(e[n-1],0,new X.Diff(re,r)),i[e[n-1]+1][0]=le,n--,n--,s=n>0?e[n-1]:-1,o=0,a=0,l=0,u=0,r=null,t=!0)),s++;for(t&&this.diff_cleanupMerge(i),this.diff_cleanupSemanticLossless(i),s=1;s<i.length;){if(i[s-1][0]==re&&i[s][0]==le){var f=i[s-1][1],h=i[s][1],c=this.diff_commonOverlap_(f,h),p=this.diff_commonOverlap_(h,f);c>=p?(c>=f.length/2||c>=h.length/2)&&(i.splice(s,0,new X.Diff($t,h.substring(0,c))),i[s-1][1]=f.substring(0,f.length-c),i[s+1][1]=h.substring(c),s++):(p>=f.length/2||p>=h.length/2)&&(i.splice(s,0,new X.Diff($t,f.substring(0,p))),i[s-1][0]=le,i[s-1][1]=h.substring(0,h.length-p),i[s+1][0]=re,i[s+1][1]=f.substring(p),s++),s++}s++}};X.prototype.diff_cleanupSemanticLossless=function(i){function t(p,g){if(!p||!g)return 6;var m=p.charAt(p.length-1),v=g.charAt(0),_=m.match(X.nonAlphaNumericRegex_),S=v.match(X.nonAlphaNumericRegex_),k=_&&m.match(X.whitespaceRegex_),E=S&&v.match(X.whitespaceRegex_),M=k&&m.match(X.linebreakRegex_),w=E&&v.match(X.linebreakRegex_),x=M&&p.match(X.blanklineEndRegex_),A=w&&g.match(X.blanklineStartRegex_);return x||A?5:M||w?4:_&&!k&&E?3:k||E?2:_||S?1:0}for(var e=1;e<i.length-1;){if(i[e-1][0]==$t&&i[e+1][0]==$t){var n=i[e-1][1],r=i[e][1],s=i[e+1][1],o=this.diff_commonSuffix(n,r);if(o){var a=r.substring(r.length-o);n=n.substring(0,n.length-o),r=a+r.substring(0,r.length-o),s=a+s}for(var l=n,u=r,f=s,h=t(n,r)+t(r,s);r.charAt(0)===s.charAt(0);){n+=r.charAt(0),r=r.substring(1)+s.charAt(0),s=s.substring(1);var c=t(n,r)+t(r,s);c>=h&&(h=c,l=n,u=r,f=s)}i[e-1][1]!=l&&(l?i[e-1][1]=l:(i.splice(e-1,1),e--),i[e][1]=u,f?i[e+1][1]=f:(i.splice(e+1,1),e--))}e++}};X.nonAlphaNumericRegex_=/[^a-zA-Z0-9]/;X.whitespaceRegex_=/\s/;X.linebreakRegex_=/[\r\n]/;X.blanklineEndRegex_=/\n\r?\n$/;X.blanklineStartRegex_=/^\r?\n\r?\n/;X.prototype.diff_cleanupEfficiency=function(i){for(var t=!1,e=[],n=0,r=null,s=0,o=!1,a=!1,l=!1,u=!1;s<i.length;)i[s][0]==$t?(i[s][1].length<this.Diff_EditCost&&(l||u)?(e[n++]=s,o=l,a=u,r=i[s][1]):(n=0,r=null),l=u=!1):(i[s][0]==re?u=!0:l=!0,r&&(o&&a&&l&&u||r.length<this.Diff_EditCost/2&&o+a+l+u==3)&&(i.splice(e[n-1],0,new X.Diff(re,r)),i[e[n-1]+1][0]=le,n--,r=null,o&&a?(l=u=!0,n=0):(n--,s=n>0?e[n-1]:-1,l=u=!1),t=!0)),s++;t&&this.diff_cleanupMerge(i)};X.prototype.diff_cleanupMerge=function(i){i.push(new X.Diff($t,""));for(var t=0,e=0,n=0,r="",s="",o;t<i.length;)switch(i[t][0]){case le:n++,s+=i[t][1],t++;break;case re:e++,r+=i[t][1],t++;break;case $t:e+n>1?(e!==0&&n!==0&&(o=this.diff_commonPrefix(s,r),o!==0&&(t-e-n>0&&i[t-e-n-1][0]==$t?i[t-e-n-1][1]+=s.substring(0,o):(i.splice(0,0,new X.Diff($t,s.substring(0,o))),t++),s=s.substring(o),r=r.substring(o)),o=this.diff_commonSuffix(s,r),o!==0&&(i[t][1]=s.substring(s.length-o)+i[t][1],s=s.substring(0,s.length-o),r=r.substring(0,r.length-o))),t-=e+n,i.splice(t,e+n),r.length&&(i.splice(t,0,new X.Diff(re,r)),t++),s.length&&(i.splice(t,0,new X.Diff(le,s)),t++),t++):t!==0&&i[t-1][0]==$t?(i[t-1][1]+=i[t][1],i.splice(t,1)):t++,n=0,e=0,r="",s="";break}i[i.length-1][1]===""&&i.pop();var a=!1;for(t=1;t<i.length-1;)i[t-1][0]==$t&&i[t+1][0]==$t&&(i[t][1].substring(i[t][1].length-i[t-1][1].length)==i[t-1][1]?(i[t][1]=i[t-1][1]+i[t][1].substring(0,i[t][1].length-i[t-1][1].length),i[t+1][1]=i[t-1][1]+i[t+1][1],i.splice(t-1,1),a=!0):i[t][1].substring(0,i[t+1][1].length)==i[t+1][1]&&(i[t-1][1]+=i[t+1][1],i[t][1]=i[t][1].substring(i[t+1][1].length)+i[t+1][1],i.splice(t+1,1),a=!0)),t++;a&&this.diff_cleanupMerge(i)};X.prototype.diff_xIndex=function(i,t){var e=0,n=0,r=0,s=0,o;for(o=0;o<i.length&&(i[o][0]!==le&&(e+=i[o][1].length),i[o][0]!==re&&(n+=i[o][1].length),!(e>t));o++)r=e,s=n;return i.length!=o&&i[o][0]===re?s:s+(t-r)};X.prototype.diff_prettyHtml=function(i){for(var t=[],e=/&/g,n=/</g,r=/>/g,s=/\n/g,o=0;o<i.length;o++){var a=i[o][0],l=i[o][1],u=l.replace(e,"&").replace(n,"<").replace(r,">").replace(s,"¶<br>");switch(a){case le:t[o]='<ins style="background:#e6ffe6;">'+u+"</ins>";break;case re:t[o]='<del style="background:#ffe6e6;">'+u+"</del>";break;case $t:t[o]="<span>"+u+"</span>";break}}return t.join("")};X.prototype.diff_text1=function(i){for(var t=[],e=0;e<i.length;e++)i[e][0]!==le&&(t[e]=i[e][1]);return t.join("")};X.prototype.diff_text2=function(i){for(var t=[],e=0;e<i.length;e++)i[e][0]!==re&&(t[e]=i[e][1]);return t.join("")};X.prototype.diff_levenshtein=function(i){for(var t=0,e=0,n=0,r=0;r<i.length;r++){var s=i[r][0],o=i[r][1];switch(s){case le:e+=o.length;break;case re:n+=o.length;break;case $t:t+=Math.max(e,n),e=0,n=0;break}}return t+=Math.max(e,n),t};X.prototype.diff_toDelta=function(i){for(var t=[],e=0;e<i.length;e++)switch(i[e][0]){case le:t[e]="+"+encodeURI(i[e][1]);break;case re:t[e]="-"+i[e][1].length;break;case $t:t[e]="="+i[e][1].length;break}return t.join(" ").replace(/%20/g," ")};X.prototype.diff_fromDelta=function(i,t){for(var e=[],n=0,r=0,s=t.split(/\t/g),o=0;o<s.length;o++){var a=s[o].substring(1);switch(s[o].charAt(0)){case"+":try{e[n++]=new X.Diff(le,decodeURI(a))}catch{throw new Error("Illegal escape in diff_fromDelta: "+a)}break;case"-":case"=":var l=parseInt(a,10);if(isNaN(l)||l<0)throw new Error("Invalid number in diff_fromDelta: "+a);var u=i.substring(r,r+=l);s[o].charAt(0)=="="?e[n++]=new X.Diff($t,u):e[n++]=new X.Diff(re,u);break;default:if(s[o])throw new Error("Invalid diff operation in diff_fromDelta: "+s[o])}}if(r!=i.length)throw new Error("Delta length ("+r+") does not equal source text length ("+i.length+").");return e};X.prototype.match_main=function(i,t,e){if(i==null||t==null||e==null)throw new Error("Null input. (match_main)");return e=Math.max(0,Math.min(e,i.length)),i==t?0:i.length?i.substring(e,e+t.length)==t?e:this.match_bitap_(i,t,e):-1};X.prototype.match_bitap_=function(i,t,e){if(t.length>this.Match_MaxBits)throw new Error("Pattern too long for this browser.");var n=this.match_alphabet_(t),r=this;function s(E,M){var w=E/t.length,x=Math.abs(e-M);return r.Match_Distance?w+x/r.Match_Distance:x?1:w}var o=this.Match_Threshold,a=i.indexOf(t,e);a!=-1&&(o=Math.min(s(0,a),o),a=i.lastIndexOf(t,e+t.length),a!=-1&&(o=Math.min(s(0,a),o)));var l=1<<t.length-1;a=-1;for(var u,f,h=t.length+i.length,c,p=0;p<t.length;p++){for(u=0,f=h;u<f;)s(p,e+f)<=o?u=f:h=f,f=Math.floor((h-u)/2+u);h=f;var g=Math.max(1,e-f+1),m=Math.min(e+f,i.length)+t.length,v=Array(m+2);v[m+1]=(1<<p)-1;for(var _=m;_>=g;_--){var S=n[i.charAt(_-1)];if(p===0?v[_]=(v[_+1]<<1|1)&S:v[_]=(v[_+1]<<1|1)&S|((c[_+1]|c[_])<<1|1)|c[_+1],v[_]&l){var k=s(p,_-1);if(k<=o)if(o=k,a=_-1,a>e)g=Math.max(1,2*e-a);else break}}if(s(p+1,e)>o)break;c=v}return a};X.prototype.match_alphabet_=function(i){for(var t={},e=0;e<i.length;e++)t[i.charAt(e)]=0;for(var e=0;e<i.length;e++)t[i.charAt(e)]|=1<<i.length-e-1;return t};X.prototype.patch_addContext_=function(i,t){if(t.length!=0){if(i.start2===null)throw Error("patch not initialized");for(var e=t.substring(i.start2,i.start2+i.length1),n=0;t.indexOf(e)!=t.lastIndexOf(e)&&e.length<this.Match_MaxBits-this.Patch_Margin-this.Patch_Margin;)n+=this.Patch_Margin,e=t.substring(i.start2-n,i.start2+i.length1+n);n+=this.Patch_Margin;var r=t.substring(i.start2-n,i.start2);r&&i.diffs.unshift(new X.Diff($t,r));var s=t.substring(i.start2+i.length1,i.start2+i.length1+n);s&&i.diffs.push(new X.Diff($t,s)),i.start1-=r.length,i.start2-=r.length,i.length1+=r.length+s.length,i.length2+=r.length+s.length}};X.prototype.patch_make=function(i,t,e){var n,r;if(typeof i=="string"&&typeof t=="string"&&typeof e>"u")n=i,r=this.diff_main(n,t,!0),r.length>2&&(this.diff_cleanupSemantic(r),this.diff_cleanupEfficiency(r));else if(i&&typeof i=="object"&&typeof t>"u"&&typeof e>"u")r=i,n=this.diff_text1(r);else if(typeof i=="string"&&t&&typeof t=="object"&&typeof e>"u")n=i,r=t;else if(typeof i=="string"&&typeof t=="string"&&e&&typeof e=="object")n=i,r=e;else throw new Error("Unknown call format to patch_make.");if(r.length===0)return[];for(var s=[],o=new X.patch_obj,a=0,l=0,u=0,f=n,h=n,c=0;c<r.length;c++){var p=r[c][0],g=r[c][1];switch(!a&&p!==$t&&(o.start1=l,o.start2=u),p){case le:o.diffs[a++]=r[c],o.length2+=g.length,h=h.substring(0,u)+g+h.substring(u);break;case re:o.length1+=g.length,o.diffs[a++]=r[c],h=h.substring(0,u)+h.substring(u+g.length);break;case $t:g.length<=2*this.Patch_Margin&&a&&r.length!=c+1?(o.diffs[a++]=r[c],o.length1+=g.length,o.length2+=g.length):g.length>=2*this.Patch_Margin&&a&&(this.patch_addContext_(o,f),s.push(o),o=new X.patch_obj,a=0,f=h,l=u);break}p!==le&&(l+=g.length),p!==re&&(u+=g.length)}return a&&(this.patch_addContext_(o,f),s.push(o)),s};X.prototype.patch_deepCopy=function(i){for(var t=[],e=0;e<i.length;e++){var n=i[e],r=new X.patch_obj;r.diffs=[];for(var s=0;s<n.diffs.length;s++)r.diffs[s]=new X.Diff(n.diffs[s][0],n.diffs[s][1]);r.start1=n.start1,r.start2=n.start2,r.length1=n.length1,r.length2=n.length2,t[e]=r}return t};X.prototype.patch_apply=function(i,t){if(i.length==0)return[t,[]];i=this.patch_deepCopy(i);var e=this.patch_addPadding(i);t=e+t+e,this.patch_splitMax(i);for(var n=0,r=[],s=0;s<i.length;s++){var o=i[s].start2+n,a=this.diff_text1(i[s].diffs),l,u=-1;if(a.length>this.Match_MaxBits?(l=this.match_main(t,a.substring(0,this.Match_MaxBits),o),l!=-1&&(u=this.match_main(t,a.substring(a.length-this.Match_MaxBits),o+a.length-this.Match_MaxBits),(u==-1||l>=u)&&(l=-1))):l=this.match_main(t,a,o),l==-1)r[s]=!1,n-=i[s].length2-i[s].length1;else{r[s]=!0,n=l-o;var f;if(u==-1?f=t.substring(l,l+a.length):f=t.substring(l,u+this.Match_MaxBits),a==f)t=t.substring(0,l)+this.diff_text2(i[s].diffs)+t.substring(l+a.length);else{var h=this.diff_main(a,f,!1);if(a.length>this.Match_MaxBits&&this.diff_levenshtein(h)/a.length>this.Patch_DeleteThreshold)r[s]=!1;else{this.diff_cleanupSemanticLossless(h);for(var c=0,p,g=0;g<i[s].diffs.length;g++){var m=i[s].diffs[g];m[0]!==$t&&(p=this.diff_xIndex(h,c)),m[0]===le?t=t.substring(0,l+p)+m[1]+t.substring(l+p):m[0]===re&&(t=t.substring(0,l+p)+t.substring(l+this.diff_xIndex(h,c+m[1].length))),m[0]!==re&&(c+=m[1].length)}}}}}return t=t.substring(e.length,t.length-e.length),[t,r]};X.prototype.patch_addPadding=function(i){for(var t=this.Patch_Margin,e="",n=1;n<=t;n++)e+=String.fromCharCode(n);for(var n=0;n<i.length;n++)i[n].start1+=t,i[n].start2+=t;var r=i[0],s=r.diffs;if(s.length==0||s[0][0]!=$t)s.unshift(new X.Diff($t,e)),r.start1-=t,r.start2-=t,r.length1+=t,r.length2+=t;else if(t>s[0][1].length){var o=t-s[0][1].length;s[0][1]=e.substring(s[0][1].length)+s[0][1],r.start1-=o,r.start2-=o,r.length1+=o,r.length2+=o}if(r=i[i.length-1],s=r.diffs,s.length==0||s[s.length-1][0]!=$t)s.push(new X.Diff($t,e)),r.length1+=t,r.length2+=t;else if(t>s[s.length-1][1].length){var o=t-s[s.length-1][1].length;s[s.length-1][1]+=e.substring(0,o),r.length1+=o,r.length2+=o}return e};X.prototype.patch_splitMax=function(i){for(var t=this.Match_MaxBits,e=0;e<i.length;e++)if(!(i[e].length1<=t)){var n=i[e];i.splice(e--,1);for(var r=n.start1,s=n.start2,o="";n.diffs.length!==0;){var a=new X.patch_obj,l=!0;for(a.start1=r-o.length,a.start2=s-o.length,o!==""&&(a.length1=a.length2=o.length,a.diffs.push(new X.Diff($t,o)));n.diffs.length!==0&&a.length1<t-this.Patch_Margin;){var u=n.diffs[0][0],f=n.diffs[0][1];u===le?(a.length2+=f.length,s+=f.length,a.diffs.push(n.diffs.shift()),l=!1):u===re&&a.diffs.length==1&&a.diffs[0][0]==$t&&f.length>2*t?(a.length1+=f.length,r+=f.length,l=!1,a.diffs.push(new X.Diff(u,f)),n.diffs.shift()):(f=f.substring(0,t-a.length1-this.Patch_Margin),a.length1+=f.length,r+=f.length,u===$t?(a.length2+=f.length,s+=f.length):l=!1,a.diffs.push(new X.Diff(u,f)),f==n.diffs[0][1]?n.diffs.shift():n.diffs[0][1]=n.diffs[0][1].substring(f.length))}o=this.diff_text2(a.diffs),o=o.substring(o.length-this.Patch_Margin);var h=this.diff_text1(n.diffs).substring(0,this.Patch_Margin);h!==""&&(a.length1+=h.length,a.length2+=h.length,a.diffs.length!==0&&a.diffs[a.diffs.length-1][0]===$t?a.diffs[a.diffs.length-1][1]+=h:a.diffs.push(new X.Diff($t,h))),l||i.splice(++e,0,a)}}};X.prototype.patch_toText=function(i){for(var t=[],e=0;e<i.length;e++)t[e]=i[e];return t.join("")};X.prototype.patch_fromText=function(i){var t=[];if(!i)return t;for(var e=i.split(`
|
|
`),n=0,r=/^@@ -(\d+),?(\d*) \+(\d+),?(\d*) @@$/;n<e.length;){var s=e[n].match(r);if(!s)throw new Error("Invalid patch string: "+e[n]);var o=new X.patch_obj;for(t.push(o),o.start1=parseInt(s[1],10),s[2]===""?(o.start1--,o.length1=1):s[2]=="0"?o.length1=0:(o.start1--,o.length1=parseInt(s[2],10)),o.start2=parseInt(s[3],10),s[4]===""?(o.start2--,o.length2=1):s[4]=="0"?o.length2=0:(o.start2--,o.length2=parseInt(s[4],10)),n++;n<e.length;){var a=e[n].charAt(0);try{var l=decodeURI(e[n].substring(1))}catch{throw new Error("Illegal escape in patch_fromText: "+l)}if(a=="-")o.diffs.push(new X.Diff(re,l));else if(a=="+")o.diffs.push(new X.Diff(le,l));else if(a==" ")o.diffs.push(new X.Diff($t,l));else{if(a=="@")break;if(a!=="")throw new Error('Invalid patch mode "'+a+'" in: '+l)}n++}}return t};X.patch_obj=function(){this.diffs=[],this.start1=null,this.start2=null,this.length1=0,this.length2=0};X.patch_obj.prototype.toString=function(){var i,t;this.length1===0?i=this.start1+",0":this.length1==1?i=this.start1+1:i=this.start1+1+","+this.length1,this.length2===0?t=this.start2+",0":this.length2==1?t=this.start2+1:t=this.start2+1+","+this.length2;for(var e=["@@ -"+i+" +"+t+` @@
|
|
`],n,r=0;r<this.diffs.length;r++){switch(this.diffs[r][0]){case le:n="+";break;case re:n="-";break;case $t:n=" ";break}e[r+1]=n+encodeURI(this.diffs[r][1])+`
|
|
`}return e.join("").replace(/%20/g," ")};Fs.exports=X;Fs.exports.diff_match_patch=X;Fs.exports.DIFF_DELETE=re;Fs.exports.DIFF_INSERT=le;Fs.exports.DIFF_EQUAL=$t});var Il=La((Dd,Gh)=>{(function(i){if(typeof Dd=="object"&&typeof Gh<"u")Gh.exports=i();else if(typeof define=="function"&&define.amd)define([],i);else{var t;typeof window<"u"?t=window:typeof global<"u"?t=global:typeof self<"u"?t=self:t=this,t.localforage=i()}})(function(){var i,t,e;return function n(r,s,o){function a(f,h){if(!s[f]){if(!r[f]){var c=typeof require=="function"&&require;if(!h&&c)return c(f,!0);if(l)return l(f,!0);var p=new Error("Cannot find module '"+f+"'");throw p.code="MODULE_NOT_FOUND",p}var g=s[f]={exports:{}};r[f][0].call(g.exports,function(m){var v=r[f][1][m];return a(v||m)},g,g.exports,n,r,s,o)}return s[f].exports}for(var l=typeof require=="function"&&require,u=0;u<o.length;u++)a(o[u]);return a}({1:[function(n,r,s){(function(o){"use strict";var a=o.MutationObserver||o.WebKitMutationObserver,l;if(a){var u=0,f=new a(m),h=o.document.createTextNode("");f.observe(h,{characterData:!0}),l=function(){h.data=u=++u%2}}else if(!o.setImmediate&&typeof o.MessageChannel<"u"){var c=new o.MessageChannel;c.port1.onmessage=m,l=function(){c.port2.postMessage(0)}}else"document"in o&&"onreadystatechange"in o.document.createElement("script")?l=function(){var _=o.document.createElement("script");_.onreadystatechange=function(){m(),_.onreadystatechange=null,_.parentNode.removeChild(_),_=null},o.document.documentElement.appendChild(_)}:l=function(){setTimeout(m,0)};var p,g=[];function m(){p=!0;for(var _,S,k=g.length;k;){for(S=g,g=[],_=-1;++_<k;)S[_]();k=g.length}p=!1}r.exports=v;function v(_){g.push(_)===1&&!p&&l()}}).call(this,typeof global<"u"?global:typeof self<"u"?self:typeof window<"u"?window:{})},{}],2:[function(n,r,s){"use strict";var o=n(1);function a(){}var l={},u=["REJECTED"],f=["FULFILLED"],h=["PENDING"];r.exports=c;function c(w){if(typeof w!="function")throw new TypeError("resolver must be a function");this.state=h,this.queue=[],this.outcome=void 0,w!==a&&v(this,w)}c.prototype.catch=function(w){return this.then(null,w)},c.prototype.then=function(w,x){if(typeof w!="function"&&this.state===f||typeof x!="function"&&this.state===u)return this;var A=new this.constructor(a);if(this.state!==h){var D=this.state===f?w:x;g(A,D,this.outcome)}else this.queue.push(new p(A,w,x));return A};function p(w,x,A){this.promise=w,typeof x=="function"&&(this.onFulfilled=x,this.callFulfilled=this.otherCallFulfilled),typeof A=="function"&&(this.onRejected=A,this.callRejected=this.otherCallRejected)}p.prototype.callFulfilled=function(w){l.resolve(this.promise,w)},p.prototype.otherCallFulfilled=function(w){g(this.promise,this.onFulfilled,w)},p.prototype.callRejected=function(w){l.reject(this.promise,w)},p.prototype.otherCallRejected=function(w){g(this.promise,this.onRejected,w)};function g(w,x,A){o(function(){var D;try{D=x(A)}catch(N){return l.reject(w,N)}D===w?l.reject(w,new TypeError("Cannot resolve promise with itself")):l.resolve(w,D)})}l.resolve=function(w,x){var A=_(m,x);if(A.status==="error")return l.reject(w,A.value);var D=A.value;if(D)v(w,D);else{w.state=f,w.outcome=x;for(var N=-1,I=w.queue.length;++N<I;)w.queue[N].callFulfilled(x)}return w},l.reject=function(w,x){w.state=u,w.outcome=x;for(var A=-1,D=w.queue.length;++A<D;)w.queue[A].callRejected(x);return w};function m(w){var x=w&&w.then;if(w&&(typeof w=="object"||typeof w=="function")&&typeof x=="function")return function(){x.apply(w,arguments)}}function v(w,x){var A=!1;function D(z){A||(A=!0,l.reject(w,z))}function N(z){A||(A=!0,l.resolve(w,z))}function I(){x(N,D)}var R=_(I);R.status==="error"&&D(R.value)}function _(w,x){var A={};try{A.value=w(x),A.status="success"}catch(D){A.status="error",A.value=D}return A}c.resolve=S;function S(w){return w instanceof this?w:l.resolve(new this(a),w)}c.reject=k;function k(w){var x=new this(a);return l.reject(x,w)}c.all=E;function E(w){var x=this;if(Object.prototype.toString.call(w)!=="[object Array]")return this.reject(new TypeError("must be an array"));var A=w.length,D=!1;if(!A)return this.resolve([]);for(var N=new Array(A),I=0,R=-1,z=new this(a);++R<A;)U(w[R],R);return z;function U(tt,rt){x.resolve(tt).then(At,function(St){D||(D=!0,l.reject(z,St))});function At(St){N[rt]=St,++I===A&&!D&&(D=!0,l.resolve(z,N))}}}c.race=M;function M(w){var x=this;if(Object.prototype.toString.call(w)!=="[object Array]")return this.reject(new TypeError("must be an array"));var A=w.length,D=!1;if(!A)return this.resolve([]);for(var N=-1,I=new this(a);++N<A;)R(w[N]);return I;function R(z){x.resolve(z).then(function(U){D||(D=!0,l.resolve(I,U))},function(U){D||(D=!0,l.reject(I,U))})}}},{1:1}],3:[function(n,r,s){(function(o){"use strict";typeof o.Promise!="function"&&(o.Promise=n(2))}).call(this,typeof global<"u"?global:typeof self<"u"?self:typeof window<"u"?window:{})},{2:2}],4:[function(n,r,s){"use strict";var o=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(b){return typeof b}:function(b){return b&&typeof Symbol=="function"&&b.constructor===Symbol&&b!==Symbol.prototype?"symbol":typeof b};function a(b,T){if(!(b instanceof T))throw new TypeError("Cannot call a class as a function")}function l(){try{if(typeof indexedDB<"u")return indexedDB;if(typeof webkitIndexedDB<"u")return webkitIndexedDB;if(typeof mozIndexedDB<"u")return mozIndexedDB;if(typeof OIndexedDB<"u")return OIndexedDB;if(typeof msIndexedDB<"u")return msIndexedDB}catch{return}}var u=l();function f(){try{if(!u||!u.open)return!1;var b=typeof openDatabase<"u"&&/(Safari|iPhone|iPad|iPod)/.test(navigator.userAgent)&&!/Chrome/.test(navigator.userAgent)&&!/BlackBerry/.test(navigator.platform),T=typeof fetch=="function"&&fetch.toString().indexOf("[native code")!==-1;return(!b||T)&&typeof indexedDB<"u"&&typeof IDBKeyRange<"u"}catch{return!1}}function h(b,T){b=b||[],T=T||{};try{return new Blob(b,T)}catch(C){if(C.name!=="TypeError")throw C;for(var y=typeof BlobBuilder<"u"?BlobBuilder:typeof MSBlobBuilder<"u"?MSBlobBuilder:typeof MozBlobBuilder<"u"?MozBlobBuilder:WebKitBlobBuilder,O=new y,$=0;$<b.length;$+=1)O.append(b[$]);return O.getBlob(T.type)}}typeof Promise>"u"&&n(3);var c=Promise;function p(b,T){T&&b.then(function(y){T(null,y)},function(y){T(y)})}function g(b,T,y){typeof T=="function"&&b.then(T),typeof y=="function"&&b.catch(y)}function m(b){return typeof b!="string"&&(b=String(b)),b}function v(){if(arguments.length&&typeof arguments[arguments.length-1]=="function")return arguments[arguments.length-1]}var _="local-forage-detect-blob-support",S=void 0,k={},E=Object.prototype.toString,M="readonly",w="readwrite";function x(b){for(var T=b.length,y=new ArrayBuffer(T),O=new Uint8Array(y),$=0;$<T;$++)O[$]=b.charCodeAt($);return y}function A(b){return new c(function(T){var y=b.transaction(_,w),O=h([""]);y.objectStore(_).put(O,"key"),y.onabort=function($){$.preventDefault(),$.stopPropagation(),T(!1)},y.oncomplete=function(){var $=navigator.userAgent.match(/Chrome\/(\d+)/),C=navigator.userAgent.match(/Edge\//);T(C||!$||parseInt($[1],10)>=43)}}).catch(function(){return!1})}function D(b){return typeof S=="boolean"?c.resolve(S):A(b).then(function(T){return S=T,S})}function N(b){var T=k[b.name],y={};y.promise=new c(function(O,$){y.resolve=O,y.reject=$}),T.deferredOperations.push(y),T.dbReady?T.dbReady=T.dbReady.then(function(){return y.promise}):T.dbReady=y.promise}function I(b){var T=k[b.name],y=T.deferredOperations.pop();if(y)return y.resolve(),y.promise}function R(b,T){var y=k[b.name],O=y.deferredOperations.pop();if(O)return O.reject(T),O.promise}function z(b,T){return new c(function(y,O){if(k[b.name]=k[b.name]||qt(),b.db)if(T)N(b),b.db.close();else return y(b.db);var $=[b.name];T&&$.push(b.version);var C=u.open.apply(u,$);T&&(C.onupgradeneeded=function(H){var j=C.result;try{j.createObjectStore(b.storeName),H.oldVersion<=1&&j.createObjectStore(_)}catch(K){if(K.name!=="ConstraintError")throw K}}),C.onerror=function(H){H.preventDefault(),O(C.error)},C.onsuccess=function(){var H=C.result;H.onversionchange=function(j){j.target.close()},y(H),I(b)}})}function U(b){return z(b,!1)}function tt(b){return z(b,!0)}function rt(b,T){if(!b.db)return!0;var y=!b.db.objectStoreNames.contains(b.storeName),O=b.version<b.db.version,$=b.version>b.db.version;if(O&&(b.version,b.version=b.db.version),$||y){if(y){var C=b.db.version+1;C>b.version&&(b.version=C)}return!0}return!1}function At(b){return new c(function(T,y){var O=new FileReader;O.onerror=y,O.onloadend=function($){var C=btoa($.target.result||"");T({__local_forage_encoded_blob:!0,data:C,type:b.type})},O.readAsBinaryString(b)})}function St(b){var T=x(atob(b.data));return h([T],{type:b.type})}function mt(b){return b&&b.__local_forage_encoded_blob}function Dt(b){var T=this,y=T._initReady().then(function(){var O=k[T._dbInfo.name];if(O&&O.dbReady)return O.dbReady});return g(y,b,b),y}function Bt(b){N(b);for(var T=k[b.name],y=T.forages,O=0;O<y.length;O++){var $=y[O];$._dbInfo.db&&($._dbInfo.db.close(),$._dbInfo.db=null)}return b.db=null,U(b).then(function(C){return b.db=C,rt(b)?tt(b):C}).then(function(C){b.db=T.db=C;for(var H=0;H<y.length;H++)y[H]._dbInfo.db=C}).catch(function(C){throw R(b,C),C})}function wt(b,T,y,O){O===void 0&&(O=1);try{var $=b.db.transaction(b.storeName,T);y(null,$)}catch(C){if(O>0&&(!b.db||C.name==="InvalidStateError"||C.name==="NotFoundError"))return c.resolve().then(function(){if(!b.db||C.name==="NotFoundError"&&!b.db.objectStoreNames.contains(b.storeName)&&b.version<=b.db.version)return b.db&&(b.version=b.db.version+1),tt(b)}).then(function(){return Bt(b).then(function(){wt(b,T,y,O-1)})}).catch(y);y(C)}}function qt(){return{forages:[],db:null,dbReady:null,deferredOperations:[]}}function ee(b){var T=this,y={db:null};if(b)for(var O in b)y[O]=b[O];var $=k[y.name];$||($=qt(),k[y.name]=$),$.forages.push(T),T._initReady||(T._initReady=T.ready,T.ready=Dt);var C=[];function H(){return c.resolve()}for(var j=0;j<$.forages.length;j++){var K=$.forages[j];K!==T&&C.push(K._initReady().catch(H))}var Y=$.forages.slice(0);return c.all(C).then(function(){return y.db=$.db,U(y)}).then(function(Z){return y.db=Z,rt(y,T._defaultConfig.version)?tt(y):Z}).then(function(Z){y.db=$.db=Z,T._dbInfo=y;for(var ht=0;ht<Y.length;ht++){var Ht=Y[ht];Ht!==T&&(Ht._dbInfo.db=y.db,Ht._dbInfo.version=y.version)}})}function Vt(b,T){var y=this;b=m(b);var O=new c(function($,C){y.ready().then(function(){wt(y._dbInfo,M,function(H,j){if(H)return C(H);try{var K=j.objectStore(y._dbInfo.storeName),Y=K.get(b);Y.onsuccess=function(){var Z=Y.result;Z===void 0&&(Z=null),mt(Z)&&(Z=St(Z)),$(Z)},Y.onerror=function(){C(Y.error)}}catch(Z){C(Z)}})}).catch(C)});return p(O,T),O}function Tt(b,T){var y=this,O=new c(function($,C){y.ready().then(function(){wt(y._dbInfo,M,function(H,j){if(H)return C(H);try{var K=j.objectStore(y._dbInfo.storeName),Y=K.openCursor(),Z=1;Y.onsuccess=function(){var ht=Y.result;if(ht){var Ht=ht.value;mt(Ht)&&(Ht=St(Ht));var Xt=b(Ht,ht.key,Z++);Xt!==void 0?$(Xt):ht.continue()}else $()},Y.onerror=function(){C(Y.error)}}catch(ht){C(ht)}})}).catch(C)});return p(O,T),O}function Nt(b,T,y){var O=this;b=m(b);var $=new c(function(C,H){var j;O.ready().then(function(){return j=O._dbInfo,E.call(T)==="[object Blob]"?D(j.db).then(function(K){return K?T:At(T)}):T}).then(function(K){wt(O._dbInfo,w,function(Y,Z){if(Y)return H(Y);try{var ht=Z.objectStore(O._dbInfo.storeName);K===null&&(K=void 0);var Ht=ht.put(K,b);Z.oncomplete=function(){K===void 0&&(K=null),C(K)},Z.onabort=Z.onerror=function(){var Xt=Ht.error?Ht.error:Ht.transaction.error;H(Xt)}}catch(Xt){H(Xt)}})}).catch(H)});return p($,y),$}function Xe(b,T){var y=this;b=m(b);var O=new c(function($,C){y.ready().then(function(){wt(y._dbInfo,w,function(H,j){if(H)return C(H);try{var K=j.objectStore(y._dbInfo.storeName),Y=K.delete(b);j.oncomplete=function(){$()},j.onerror=function(){C(Y.error)},j.onabort=function(){var Z=Y.error?Y.error:Y.transaction.error;C(Z)}}catch(Z){C(Z)}})}).catch(C)});return p(O,T),O}function Jt(b){var T=this,y=new c(function(O,$){T.ready().then(function(){wt(T._dbInfo,w,function(C,H){if(C)return $(C);try{var j=H.objectStore(T._dbInfo.storeName),K=j.clear();H.oncomplete=function(){O()},H.onabort=H.onerror=function(){var Y=K.error?K.error:K.transaction.error;$(Y)}}catch(Y){$(Y)}})}).catch($)});return p(y,b),y}function L(b){var T=this,y=new c(function(O,$){T.ready().then(function(){wt(T._dbInfo,M,function(C,H){if(C)return $(C);try{var j=H.objectStore(T._dbInfo.storeName),K=j.count();K.onsuccess=function(){O(K.result)},K.onerror=function(){$(K.error)}}catch(Y){$(Y)}})}).catch($)});return p(y,b),y}function q(b,T){var y=this,O=new c(function($,C){if(b<0){$(null);return}y.ready().then(function(){wt(y._dbInfo,M,function(H,j){if(H)return C(H);try{var K=j.objectStore(y._dbInfo.storeName),Y=!1,Z=K.openKeyCursor();Z.onsuccess=function(){var ht=Z.result;if(!ht){$(null);return}b===0||Y?$(ht.key):(Y=!0,ht.advance(b))},Z.onerror=function(){C(Z.error)}}catch(ht){C(ht)}})}).catch(C)});return p(O,T),O}function lt(b){var T=this,y=new c(function(O,$){T.ready().then(function(){wt(T._dbInfo,M,function(C,H){if(C)return $(C);try{var j=H.objectStore(T._dbInfo.storeName),K=j.openKeyCursor(),Y=[];K.onsuccess=function(){var Z=K.result;if(!Z){O(Y);return}Y.push(Z.key),Z.continue()},K.onerror=function(){$(K.error)}}catch(Z){$(Z)}})}).catch($)});return p(y,b),y}function st(b,T){T=v.apply(this,arguments);var y=this.config();b=typeof b!="function"&&b||{},b.name||(b.name=b.name||y.name,b.storeName=b.storeName||y.storeName);var O=this,$;if(!b.name)$=c.reject("Invalid arguments");else{var C=b.name===y.name&&O._dbInfo.db,H=C?c.resolve(O._dbInfo.db):U(b).then(function(j){var K=k[b.name],Y=K.forages;K.db=j;for(var Z=0;Z<Y.length;Z++)Y[Z]._dbInfo.db=j;return j});b.storeName?$=H.then(function(j){if(j.objectStoreNames.contains(b.storeName)){var K=j.version+1;N(b);var Y=k[b.name],Z=Y.forages;j.close();for(var ht=0;ht<Z.length;ht++){var Ht=Z[ht];Ht._dbInfo.db=null,Ht._dbInfo.version=K}var Xt=new c(function(Zt,ke){var _e=u.open(b.name,K);_e.onerror=function(Ui){var vo=_e.result;vo.close(),ke(Ui)},_e.onupgradeneeded=function(){var Ui=_e.result;Ui.deleteObjectStore(b.storeName)},_e.onsuccess=function(){var Ui=_e.result;Ui.close(),Zt(Ui)}});return Xt.then(function(Zt){Y.db=Zt;for(var ke=0;ke<Z.length;ke++){var _e=Z[ke];_e._dbInfo.db=Zt,I(_e._dbInfo)}}).catch(function(Zt){throw(R(b,Zt)||c.resolve()).catch(function(){}),Zt})}}):$=H.then(function(j){N(b);var K=k[b.name],Y=K.forages;j.close();for(var Z=0;Z<Y.length;Z++){var ht=Y[Z];ht._dbInfo.db=null}var Ht=new c(function(Xt,Zt){var ke=u.deleteDatabase(b.name);ke.onerror=function(){var _e=ke.result;_e&&_e.close(),Zt(ke.error)},ke.onblocked=function(){},ke.onsuccess=function(){var _e=ke.result;_e&&_e.close(),Xt(_e)}});return Ht.then(function(Xt){K.db=Xt;for(var Zt=0;Zt<Y.length;Zt++){var ke=Y[Zt];I(ke._dbInfo)}}).catch(function(Xt){throw(R(b,Xt)||c.resolve()).catch(function(){}),Xt})})}return p($,T),$}var zt={_driver:"asyncStorage",_initStorage:ee,_support:f(),iterate:Tt,getItem:Vt,setItem:Nt,removeItem:Xe,clear:Jt,length:L,key:q,keys:lt,dropInstance:st};function Mt(){return typeof openDatabase=="function"}var vt="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",Ut="~~local_forage_type~",oe=/^~~local_forage_type~([^~]+)~/,Yt="__lfsc__:",Lt=Yt.length,pe="arbf",Q="blob",dt="si08",ot="ui08",Ft="uic8",ae="si16",gi="si32",mi="ur16",Ae="ui32",vi="fl32",bi="fl64",Be=Lt+pe.length,ye=Object.prototype.toString;function Fe(b){var T=b.length*.75,y=b.length,O,$=0,C,H,j,K;b[b.length-1]==="="&&(T--,b[b.length-2]==="="&&T--);var Y=new ArrayBuffer(T),Z=new Uint8Array(Y);for(O=0;O<y;O+=4)C=vt.indexOf(b[O]),H=vt.indexOf(b[O+1]),j=vt.indexOf(b[O+2]),K=vt.indexOf(b[O+3]),Z[$++]=C<<2|H>>4,Z[$++]=(H&15)<<4|j>>2,Z[$++]=(j&3)<<6|K&63;return Y}function He(b){var T=new Uint8Array(b),y="",O;for(O=0;O<T.length;O+=3)y+=vt[T[O]>>2],y+=vt[(T[O]&3)<<4|T[O+1]>>4],y+=vt[(T[O+1]&15)<<2|T[O+2]>>6],y+=vt[T[O+2]&63];return T.length%3===2?y=y.substring(0,y.length-1)+"=":T.length%3===1&&(y=y.substring(0,y.length-2)+"=="),y}function ve(b,T){var y="";if(b&&(y=ye.call(b)),b&&(y==="[object ArrayBuffer]"||b.buffer&&ye.call(b.buffer)==="[object ArrayBuffer]")){var O,$=Yt;b instanceof ArrayBuffer?(O=b,$+=pe):(O=b.buffer,y==="[object Int8Array]"?$+=dt:y==="[object Uint8Array]"?$+=ot:y==="[object Uint8ClampedArray]"?$+=Ft:y==="[object Int16Array]"?$+=ae:y==="[object Uint16Array]"?$+=mi:y==="[object Int32Array]"?$+=gi:y==="[object Uint32Array]"?$+=Ae:y==="[object Float32Array]"?$+=vi:y==="[object Float64Array]"?$+=bi:T(new Error("Failed to get type for BinaryArray"))),T($+He(O))}else if(y==="[object Blob]"){var C=new FileReader;C.onload=function(){var H=Ut+b.type+"~"+He(this.result);T(Yt+Q+H)},C.readAsArrayBuffer(b)}else try{T(JSON.stringify(b))}catch(H){T(null,H)}}function Qe(b){if(b.substring(0,Lt)!==Yt)return JSON.parse(b);var T=b.substring(Be),y=b.substring(Lt,Be),O;if(y===Q&&oe.test(T)){var $=T.match(oe);O=$[1],T=T.substring($[0].length)}var C=Fe(T);switch(y){case pe:return C;case Q:return h([C],{type:O});case dt:return new Int8Array(C);case ot:return new Uint8Array(C);case Ft:return new Uint8ClampedArray(C);case ae:return new Int16Array(C);case mi:return new Uint16Array(C);case gi:return new Int32Array(C);case Ae:return new Uint32Array(C);case vi:return new Float32Array(C);case bi:return new Float64Array(C);default:throw new Error("Unkown type: "+y)}}var _i={serialize:ve,deserialize:Qe,stringToBuffer:Fe,bufferToString:He};function kn(b,T,y,O){b.executeSql("CREATE TABLE IF NOT EXISTS "+T.storeName+" (id INTEGER PRIMARY KEY, key unique, value)",[],y,O)}function Oi(b){var T=this,y={db:null};if(b)for(var O in b)y[O]=typeof b[O]!="string"?b[O].toString():b[O];var $=new c(function(C,H){try{y.db=openDatabase(y.name,String(y.version),y.description,y.size)}catch(j){return H(j)}y.db.transaction(function(j){kn(j,y,function(){T._dbInfo=y,C()},function(K,Y){H(Y)})},H)});return y.serializer=_i,$}function xe(b,T,y,O,$,C){b.executeSql(y,O,$,function(H,j){j.code===j.SYNTAX_ERR?H.executeSql("SELECT name FROM sqlite_master WHERE type='table' AND name = ?",[T.storeName],function(K,Y){Y.rows.length?C(K,j):kn(K,T,function(){K.executeSql(y,O,$,C)},C)},C):C(H,j)},C)}function Pr(b,T){var y=this;b=m(b);var O=new c(function($,C){y.ready().then(function(){var H=y._dbInfo;H.db.transaction(function(j){xe(j,H,"SELECT * FROM "+H.storeName+" WHERE key = ? LIMIT 1",[b],function(K,Y){var Z=Y.rows.length?Y.rows.item(0).value:null;Z&&(Z=H.serializer.deserialize(Z)),$(Z)},function(K,Y){C(Y)})})}).catch(C)});return p(O,T),O}function on(b,T){var y=this,O=new c(function($,C){y.ready().then(function(){var H=y._dbInfo;H.db.transaction(function(j){xe(j,H,"SELECT * FROM "+H.storeName,[],function(K,Y){for(var Z=Y.rows,ht=Z.length,Ht=0;Ht<ht;Ht++){var Xt=Z.item(Ht),Zt=Xt.value;if(Zt&&(Zt=H.serializer.deserialize(Zt)),Zt=b(Zt,Xt.key,Ht+1),Zt!==void 0){$(Zt);return}}$()},function(K,Y){C(Y)})})}).catch(C)});return p(O,T),O}function Nr(b,T,y,O){var $=this;b=m(b);var C=new c(function(H,j){$.ready().then(function(){T===void 0&&(T=null);var K=T,Y=$._dbInfo;Y.serializer.serialize(T,function(Z,ht){ht?j(ht):Y.db.transaction(function(Ht){xe(Ht,Y,"INSERT OR REPLACE INTO "+Y.storeName+" (key, value) VALUES (?, ?)",[b,Z],function(){H(K)},function(Xt,Zt){j(Zt)})},function(Ht){if(Ht.code===Ht.QUOTA_ERR){if(O>0){H(Nr.apply($,[b,K,y,O-1]));return}j(Ht)}})})}).catch(j)});return p(C,y),C}function ps(b,T,y){return Nr.apply(this,[b,T,y,1])}function fo(b,T){var y=this;b=m(b);var O=new c(function($,C){y.ready().then(function(){var H=y._dbInfo;H.db.transaction(function(j){xe(j,H,"DELETE FROM "+H.storeName+" WHERE key = ?",[b],function(){$()},function(K,Y){C(Y)})})}).catch(C)});return p(O,T),O}function Oa(b){var T=this,y=new c(function(O,$){T.ready().then(function(){var C=T._dbInfo;C.db.transaction(function(H){xe(H,C,"DELETE FROM "+C.storeName,[],function(){O()},function(j,K){$(K)})})}).catch($)});return p(y,b),y}function po(b){var T=this,y=new c(function(O,$){T.ready().then(function(){var C=T._dbInfo;C.db.transaction(function(H){xe(H,C,"SELECT COUNT(key) as c FROM "+C.storeName,[],function(j,K){var Y=K.rows.item(0).c;O(Y)},function(j,K){$(K)})})}).catch($)});return p(y,b),y}function Da(b,T){var y=this,O=new c(function($,C){y.ready().then(function(){var H=y._dbInfo;H.db.transaction(function(j){xe(j,H,"SELECT key FROM "+H.storeName+" WHERE id = ? LIMIT 1",[b+1],function(K,Y){var Z=Y.rows.length?Y.rows.item(0).key:null;$(Z)},function(K,Y){C(Y)})})}).catch(C)});return p(O,T),O}function gs(b){var T=this,y=new c(function(O,$){T.ready().then(function(){var C=T._dbInfo;C.db.transaction(function(H){xe(H,C,"SELECT key FROM "+C.storeName,[],function(j,K){for(var Y=[],Z=0;Z<K.rows.length;Z++)Y.push(K.rows.item(Z).key);O(Y)},function(j,K){$(K)})})}).catch($)});return p(y,b),y}function $a(b){return new c(function(T,y){b.transaction(function(O){O.executeSql("SELECT name FROM sqlite_master WHERE type='table' AND name <> '__WebKitDatabaseInfoTable__'",[],function($,C){for(var H=[],j=0;j<C.rows.length;j++)H.push(C.rows.item(j).name);T({db:b,storeNames:H})},function($,C){y(C)})},function(O){y(O)})})}function $u(b,T){T=v.apply(this,arguments);var y=this.config();b=typeof b!="function"&&b||{},b.name||(b.name=b.name||y.name,b.storeName=b.storeName||y.storeName);var O=this,$;return b.name?$=new c(function(C){var H;b.name===y.name?H=O._dbInfo.db:H=openDatabase(b.name,"","",0),b.storeName?C({db:H,storeNames:[b.storeName]}):C($a(H))}).then(function(C){return new c(function(H,j){C.db.transaction(function(K){function Y(Xt){return new c(function(Zt,ke){K.executeSql("DROP TABLE IF EXISTS "+Xt,[],function(){Zt()},function(_e,Ui){ke(Ui)})})}for(var Z=[],ht=0,Ht=C.storeNames.length;ht<Ht;ht++)Z.push(Y(C.storeNames[ht]));c.all(Z).then(function(){H()}).catch(function(Xt){j(Xt)})},function(K){j(K)})})}):$=c.reject("Invalid arguments"),p($,T),$}var Ru={_driver:"webSQLStorage",_initStorage:Oi,_support:Mt(),iterate:on,getItem:Pr,setItem:ps,removeItem:fo,clear:Oa,length:po,key:Da,keys:gs,dropInstance:$u};function Iu(){try{return typeof localStorage<"u"&&"setItem"in localStorage&&!!localStorage.setItem}catch{return!1}}function Ra(b,T){var y=b.name+"/";return b.storeName!==T.storeName&&(y+=b.storeName+"/"),y}function ms(){var b="_localforage_support_test";try{return localStorage.setItem(b,!0),localStorage.removeItem(b),!1}catch{return!0}}function Ia(){return!ms()||localStorage.length>0}function vs(b){var T=this,y={};if(b)for(var O in b)y[O]=b[O];return y.keyPrefix=Ra(b,T._defaultConfig),Ia()?(T._dbInfo=y,y.serializer=_i,c.resolve()):c.reject()}function Pa(b){var T=this,y=T.ready().then(function(){for(var O=T._dbInfo.keyPrefix,$=localStorage.length-1;$>=0;$--){var C=localStorage.key($);C.indexOf(O)===0&&localStorage.removeItem(C)}});return p(y,b),y}function Pu(b,T){var y=this;b=m(b);var O=y.ready().then(function(){var $=y._dbInfo,C=localStorage.getItem($.keyPrefix+b);return C&&(C=$.serializer.deserialize(C)),C});return p(O,T),O}function Nu(b,T){var y=this,O=y.ready().then(function(){for(var $=y._dbInfo,C=$.keyPrefix,H=C.length,j=localStorage.length,K=1,Y=0;Y<j;Y++){var Z=localStorage.key(Y);if(Z.indexOf(C)===0){var ht=localStorage.getItem(Z);if(ht&&(ht=$.serializer.deserialize(ht)),ht=b(ht,Z.substring(H),K++),ht!==void 0)return ht}}});return p(O,T),O}function Lu(b,T){var y=this,O=y.ready().then(function(){var $=y._dbInfo,C;try{C=localStorage.key(b)}catch{C=null}return C&&(C=C.substring($.keyPrefix.length)),C});return p(O,T),O}function Bu(b){var T=this,y=T.ready().then(function(){for(var O=T._dbInfo,$=localStorage.length,C=[],H=0;H<$;H++){var j=localStorage.key(H);j.indexOf(O.keyPrefix)===0&&C.push(j.substring(O.keyPrefix.length))}return C});return p(y,b),y}function et(b){var T=this,y=T.keys().then(function(O){return O.length});return p(y,b),y}function gt(b,T){var y=this;b=m(b);var O=y.ready().then(function(){var $=y._dbInfo;localStorage.removeItem($.keyPrefix+b)});return p(O,T),O}function be(b,T,y){var O=this;b=m(b);var $=O.ready().then(function(){T===void 0&&(T=null);var C=T;return new c(function(H,j){var K=O._dbInfo;K.serializer.serialize(T,function(Y,Z){if(Z)j(Z);else try{localStorage.setItem(K.keyPrefix+b,Y),H(C)}catch(ht){(ht.name==="QuotaExceededError"||ht.name==="NS_ERROR_DOM_QUOTA_REACHED")&&j(ht),j(ht)}})})});return p($,y),$}function Ve(b,T){if(T=v.apply(this,arguments),b=typeof b!="function"&&b||{},!b.name){var y=this.config();b.name=b.name||y.name,b.storeName=b.storeName||y.storeName}var O=this,$;return b.name?$=new c(function(C){b.storeName?C(Ra(b,O._defaultConfig)):C(b.name+"/")}).then(function(C){for(var H=localStorage.length-1;H>=0;H--){var j=localStorage.key(H);j.indexOf(C)===0&&localStorage.removeItem(j)}}):$=c.reject("Invalid arguments"),p($,T),$}var wi={_driver:"localStorageWrapper",_initStorage:vs,_support:Iu(),iterate:Nu,getItem:Pu,setItem:be,removeItem:gt,clear:Pa,length:et,key:Lu,keys:Bu,dropInstance:Ve},Di=function(T,y){return T===y||typeof T=="number"&&typeof y=="number"&&isNaN(T)&&isNaN(y)},ge=function(T,y){for(var O=T.length,$=0;$<O;){if(Di(T[$],y))return!0;$++}return!1},Wi=Array.isArray||function(b){return Object.prototype.toString.call(b)==="[object Array]"},ze={},lr={},$i={INDEXEDDB:zt,WEBSQL:Ru,LOCALSTORAGE:wi},go=[$i.INDEXEDDB._driver,$i.WEBSQL._driver,$i.LOCALSTORAGE._driver],yi=["dropInstance"],Nn=["clear","getItem","iterate","key","keys","length","removeItem","setItem"].concat(yi),Lr={description:"",driver:go.slice(),name:"localforage",size:4980736,storeName:"keyvaluepairs",version:1};function Ln(b,T){b[T]=function(){var y=arguments;return b.ready().then(function(){return b[T].apply(b,y)})}}function Bn(){for(var b=1;b<arguments.length;b++){var T=arguments[b];if(T)for(var y in T)T.hasOwnProperty(y)&&(Wi(T[y])?arguments[0][y]=T[y].slice():arguments[0][y]=T[y])}return arguments[0]}var ur=function(){function b(T){a(this,b);for(var y in $i)if($i.hasOwnProperty(y)){var O=$i[y],$=O._driver;this[y]=$,ze[$]||this.defineDriver(O)}this._defaultConfig=Bn({},Lr),this._config=Bn({},this._defaultConfig,T),this._driverSet=null,this._initDriver=null,this._ready=!1,this._dbInfo=null,this._wrapLibraryMethodsWithReady(),this.setDriver(this._config.driver).catch(function(){})}return b.prototype.config=function(y){if((typeof y>"u"?"undefined":o(y))==="object"){if(this._ready)return new Error("Can't call config() after localforage has been used.");for(var O in y){if(O==="storeName"&&(y[O]=y[O].replace(/\W/g,"_")),O==="version"&&typeof y[O]!="number")return new Error("Database version must be a number.");this._config[O]=y[O]}return"driver"in y&&y.driver?this.setDriver(this._config.driver):!0}else return typeof y=="string"?this._config[y]:this._config},b.prototype.defineDriver=function(y,O,$){var C=new c(function(H,j){try{var K=y._driver,Y=new Error("Custom driver not compliant; see https://mozilla.github.io/localForage/#definedriver");if(!y._driver){j(Y);return}for(var Z=Nn.concat("_initStorage"),ht=0,Ht=Z.length;ht<Ht;ht++){var Xt=Z[ht],Zt=!ge(yi,Xt);if((Zt||y[Xt])&&typeof y[Xt]!="function"){j(Y);return}}var ke=function(){for(var vo=function(sm){return function(){var om=new Error("Method "+sm+" is not implemented by the current driver"),df=c.reject(om);return p(df,arguments[arguments.length-1]),df}},Fu=0,rm=yi.length;Fu<rm;Fu++){var Hu=yi[Fu];y[Hu]||(y[Hu]=vo(Hu))}};ke();var _e=function(vo){ze[K],ze[K]=y,lr[K]=vo,H()};"_support"in y?y._support&&typeof y._support=="function"?y._support().then(_e,j):_e(!!y._support):_e(!0)}catch(Ui){j(Ui)}});return g(C,O,$),C},b.prototype.driver=function(){return this._driver||null},b.prototype.getDriver=function(y,O,$){var C=ze[y]?c.resolve(ze[y]):c.reject(new Error("Driver not found."));return g(C,O,$),C},b.prototype.getSerializer=function(y){var O=c.resolve(_i);return g(O,y),O},b.prototype.ready=function(y){var O=this,$=O._driverSet.then(function(){return O._ready===null&&(O._ready=O._initDriver()),O._ready});return g($,y,y),$},b.prototype.setDriver=function(y,O,$){var C=this;Wi(y)||(y=[y]);var H=this._getSupportedDrivers(y);function j(){C._config.driver=C.driver()}function K(ht){return C._extend(ht),j(),C._ready=C._initStorage(C._config),C._ready}function Y(ht){return function(){var Ht=0;function Xt(){for(;Ht<ht.length;){var Zt=ht[Ht];return Ht++,C._dbInfo=null,C._ready=null,C.getDriver(Zt).then(K).catch(Xt)}j();var ke=new Error("No available storage method found.");return C._driverSet=c.reject(ke),C._driverSet}return Xt()}}var Z=this._driverSet!==null?this._driverSet.catch(function(){return c.resolve()}):c.resolve();return this._driverSet=Z.then(function(){var ht=H[0];return C._dbInfo=null,C._ready=null,C.getDriver(ht).then(function(Ht){C._driver=Ht._driver,j(),C._wrapLibraryMethodsWithReady(),C._initDriver=Y(H)})}).catch(function(){j();var ht=new Error("No available storage method found.");return C._driverSet=c.reject(ht),C._driverSet}),g(this._driverSet,O,$),this._driverSet},b.prototype.supports=function(y){return!!lr[y]},b.prototype._extend=function(y){Bn(this,y)},b.prototype._getSupportedDrivers=function(y){for(var O=[],$=0,C=y.length;$<C;$++){var H=y[$];this.supports(H)&&O.push(H)}return O},b.prototype._wrapLibraryMethodsWithReady=function(){for(var y=0,O=Nn.length;y<O;y++)Ln(this,Nn[y])},b.prototype.createInstance=function(y){return new b(y)},b}(),mo=new ur;r.exports=mo},{3:3}]},{},[4])(4)})});var Rd=La((Pl,$d)=>{(function(i,t){typeof Pl=="object"&&typeof $d<"u"?t(Pl,Il()):typeof define=="function"&&define.amd?define(["exports","localforage"],t):t(i.localforageSetItems=i.localforageSetItems||{},i.localforage)})(Pl,function(i,t){"use strict";t="default"in t?t.default:t;function e(h){return e.result?e.result:!h||typeof h.getSerializer!="function"?Promise.reject(new Error("localforage.getSerializer() was not available! localforage v1.4+ is required!")):(e.result=h.getSerializer(),e.result)}function n(h,c){c&&h.then(function(p){c(null,p)},function(p){c(p)})}function r(h,c,p,g){function m(M,w){var x=M||w;return(!M||typeof M!="function")&&typeof x=="string"&&(M=function(D){return D[x]}),M}var v=[];if(Object.prototype.toString.call(h)==="[object Array]"){c=m(c,"key"),p=m(p,"value");for(var _=0,S=h.length;_<S;_++){var k=h[_];v.push(g(c(k),p(k)))}}else for(var E in h)h.hasOwnProperty(E)&&v.push(g(E,h[E]));return v}function s(h,c,p,g){var m=this,v=m.ready().then(function(){return new Promise(function(_,S){var k=m._dbInfo,E=k.db.transaction(k.storeName,"readwrite"),M=E.objectStore(k.storeName),w;E.oncomplete=function(){_(h)},E.onabort=E.onerror=function(A){S(w||A.target)};function x(A){var D=A.target||this;w=D.error||D.transaction.error,S(w)}r(h,c,p,function(A,D){D===null&&(D=void 0);var N=M.put(D,A);N.onerror=x})})});return n(v,g),v}function o(h,c,p,g){var m=this,v=new Promise(function(_,S){m.ready().then(function(){return e(m)}).then(function(k){var E=m._dbInfo;E.db.transaction(function(M){var w="INSERT OR REPLACE INTO "+E.storeName+" (key, value) VALUES (?, ?)",x=r(h,c,p,function(A,D){return new Promise(function(N,I){k.serialize(D,function(R,z){z?I(z):M.executeSql(w,[A,R],function(){N()},function(U,tt){I(tt)})})})});Promise.all(x).then(function(){_(h)},S)},function(M){S(M)})}).catch(S)});return n(v,g),v}function a(h,c,p,g){var m=this,v=r(h,c,p,function(S,k){return m.setItem(S,k)}),_=Promise.all(v);return n(_,g),_}function l(h,c,p,g){var m=this,v=m.driver();return v===m.INDEXEDDB?s.call(m,h,c,p,g):v===m.WEBSQL?o.call(m,h,c,p,g):a.call(m,h,c,p,g)}function u(h){var c=Object.getPrototypeOf(h);c&&(c.setItems=l,c.setItems.indexedDB=function(){return s.apply(this,arguments)},c.setItems.websql=function(){return o.apply(this,arguments)},c.setItems.generic=function(){return a.apply(this,arguments)})}var f=u(t);i.setItemsGeneric=a,i.localforageSetItems=l,i.extendPrototype=u,i.extendPrototypeResult=f,Object.defineProperty(i,"__esModule",{value:!0})})});var Pd=La((Nl,Id)=>{(function(i,t){typeof Nl=="object"&&typeof Id<"u"?t(Nl,Il()):typeof define=="function"&&define.amd?define(["exports","localforage"],t):t(i.localforageGetItems=i.localforageGetItems||{},i.localforage)})(Nl,function(i,t){"use strict";t="default"in t?t.default:t;function e(g){return e.result?e.result:!g||typeof g.getSerializer!="function"?Promise.reject(new Error("localforage.getSerializer() was not available! localforage v1.4+ is required!")):(e.result=g.getSerializer(),e.result)}function n(g,m){return m&&g.then(function(v){m(null,v)},function(v){m(v)}),g}function r(g,m){var v=this,_=v.getItem(g).then(function(S){return{key:g,value:S}});return n(_,m),_}function s(g){var m=this,v=new Promise(function(_,S){for(var k=[],E=0,M=g.length;E<M;E++)k.push(r.call(m,g[E]));Promise.all(k).then(function(w){for(var x={},A=0,D=w.length;A<D;A++){var N=w[A];x[N.key]=N.value}_(x)}).catch(S)});return v}function o(){var g=this,m={};return g.iterate(function(v,_){m[_]=v}).then(function(){return m})}function a(){if(typeof IDBKeyRange<"u")return IDBKeyRange;if(typeof webkitIDBKeyRange<"u")return webkitIDBKeyRange;if(typeof mozIDBKeyRange<"u")return mozIDBKeyRange}var l=a();function u(g){g=g.slice();var m=this;function v(S,k){return S<k?-1:S>k?1:0}var _=new Promise(function(S,k){m.ready().then(function(){var E=m._dbInfo,M=E.db.transaction(E.storeName,"readonly").objectStore(E.storeName),w=g.sort(v),x=l.bound(g[0],g[g.length-1],!1,!1),A;if("getAll"in M)A=M.getAll(x),A.onsuccess=function(){var I=A.result;I===void 0&&(I=null),S(I)};else{A=M.openCursor(x);var D={},N=0;A.onsuccess=function(){var I=A.result;if(!I){S(D);return}for(var R=I.key;R>w[N];)if(N++,N===w.length){S(D);return}if(R===w[N]){var z=I.value;z===void 0&&(z=null),D[R]=z,I.continue()}else I.continue(w[N])}}A.onerror=function(){k(A.error)}}).catch(k)});return _}function f(g){var m=this,v=new Promise(function(_,S){m.ready().then(function(){return e(m)}).then(function(k){var E=m._dbInfo;E.db.transaction(function(M){for(var w=new Array(g.length),x=0,A=g.length;x<A;x++)w[x]="?";M.executeSql("SELECT * FROM "+E.storeName+" WHERE (key IN ("+w.join(",")+"))",g,function(D,N){for(var I={},R=N.rows,z=0,U=R.length;z<U;z++){var tt=R.item(z),rt=tt.value;rt&&(rt=k.deserialize(rt)),I[tt.key]=rt}_(I)},function(D,N){S(N)})})}).catch(S)});return v}function h(g,m){var v=this,_;if(!arguments.length||g===null)_=o.apply(v);else{var S=v.driver();S===v.INDEXEDDB?_=u.apply(v,arguments):S===v.WEBSQL?_=f.apply(v,arguments):_=s.apply(v,arguments)}return n(_,m),_}function c(g){var m=Object.getPrototypeOf(g);m&&(m.getItems=h,m.getItems.indexedDB=function(){return u.apply(this,arguments)},m.getItems.websql=function(){return f.apply(this,arguments)},m.getItems.generic=function(){return s.apply(this,arguments)})}var p=c(t);i.localforageGetItems=h,i.extendPrototype=c,i.extendPrototypeResult=p,i.getItemsGeneric=s,Object.defineProperty(i,"__esModule",{value:!0})})});var Kb={};fm(Kb,{default:()=>Du});module.exports=dm(Kb);var xn=require("obsidian"),co=require("@codemirror/state"),nm=require("@codemirror/view");var he=(s=>(s.ADDITION="addition",s.DELETION="deletion",s.SUBSTITUTION="substitution",s.HIGHLIGHT="highlight",s.COMMENT="comment",s))(he||{}),gf={Addition:"addition",Deletion:"deletion",Substitution:"substitution",Highlight:"highlight",Comment:"comment"};var me={addition:["{++","++}"],deletion:["{--","--}"],substitution:["{~~","~>","~~}"],highlight:["{==","==}"],comment:["{>>","<<}"]},mf={"{++":["++}"],"{--":["--}"],"{~~":["~>","~~}"],"{==":["==}"],"{>>":["<<}"]},vf={addition:"plus-circle",deletion:"minus-square",substitution:"replace",highlight:"highlighter",comment:"message-square"};var Fa={a:"author",t:"time",d:"done",s:"style",c:"color"},ji=class{constructor(t,e,n,r,s,o){this.from=t;this.to=e;this.type=n;this.repr=r;this.text=s;this.metadata=o;if(o!==void 0){let a=o-t,l=s.slice(3,a);this.text=s.slice(0,3)+s.slice(a+2);try{this.fields=JSON.parse(l);for(let u in this.fields)u in Fa&&(this.fields[Fa[u]]=this.fields[u],delete this.fields[u])}catch{this.fields={}}}}fields={};replies=[];get base_range(){return this}get full_thread(){return[this,...this.replies]}get thread(){return[...this.replies]}get length(){return this.to-this.from-6}get full_text(){return this.text+this.replies.map(t=>t.text).join("")}get range_start(){return this.metadata?this.metadata+2:this.from+3}get range_front(){return this.metadata?this.metadata-1:this.from}get full_range_front(){return this.base_range.from}get full_range_back(){return this.base_range.replies.length?this.base_range.replies[this.base_range.replies.length-1].to:this.to}range_type(t,e){return this.type}remove_metadata(){return this.metadata?[{from:this.from+3,to:this.metadata+2,insert:""}]:[]}delete_metadata(t){return t in Fa&&(t=Fa[t]),t in this.fields&&(delete this.fields[t],Object.keys(this.fields).length===0?this.remove_metadata():this.set_metadata(this.fields)),[]}add_metadata(t,e){return this.fields[t]=e,this.set_metadata(this.fields)}set_metadata(t){return this.fields=t,this.metadata!==void 0?[{from:this.from+3,to:this.metadata,insert:JSON.stringify(t)}]:[{from:this.from+3,to:this.from+3,insert:JSON.stringify(t)+"@@"}]}has_comment(t){return this.thread.includes(t)}copy(){return Object.assign(Object.create(Object.getPrototypeOf(this)),this)}equals(t){return this.type===t.type&&this.from===t.from&&this.to===t.to&&this.replies.length===t.replies.length&&this.full_text===t.full_text}left_adjacent(t){return this.from===t.to}right_adjacent(t){return this.to===t.from}part_is_empty(t){return!1}empty(){return this.to-this.from===6}unwrap(){return this.text.slice(3,-3)}unwrap_bracket(t=!1){return t?this.text.slice(3):this.text.slice(0,-3)}unwrap_parts(){return[this.unwrap()]}unwrap_slice(t,e){return t-=this.range_front,e-=this.range_front,e<=0||t===e?"":this.text.slice(Math.max(3,t),Math.min(this.text.length-3,e))}partially_in_range(t,e){return!(t>this.to||e<this.from)}partially_in_full_range(t,e){return!(t>this.full_range_back||e<this.full_range_front)}encloses_range(t,e,n=!1){return n?this.from<t&&this.to>e:this.from<=t&&this.to>=e}part_encloses_range(t,e,n){return this.encloses_range(t,e)}accept(t=!0){return this.text}reject(t=!0){return this.text}touches(t){return this.from===t||this.to===t}cursor_inside(t){return this.from<=t&&t<=this.to}cursor_before_range(t){return t<this.from}cursor_after_range(t){return t>this.to}cursor_move_inside(t,e=!1){return Math.min(Math.max(e&&this.metadata?this.metadata+2:this.from+3,t),this.to-3)}cursor_pass_syntax(t,e,n=!1){return e?(this.touches_left_bracket(t,!0,!1,n)&&(t=n&&this.metadata?this.metadata+2:this.from+3),this.touches_right_bracket(t,!1,!0)&&(t=this.to)):(this.touches_right_bracket(t,!0,!1)&&(t=this.to-3),this.touches_left_bracket(t,!1,!0,n)&&(t=this.from)),t}cursor_move_through(t,e,n){return n=="unchanged"||!this.cursor_inside(t)||(n=="ignore_completely"?t=e?this.to:this.from:t=this.cursor_pass_syntax(t,e,n=="ignore_metadata")),t}touches_left_bracket(t,e=!1,n=!1,r=!1){return t+(e?0:1)>=this.from&&t+(n?0:1)<=(r&&this.metadata?this.metadata+2:this.from+3)}touches_separator(t,e=!1,n=!1){return!1}touches_right_bracket(t,e=!1,n=!1){return t-(n?0:1)>=this.to-3&&t-(e?0:1)<=this.to}touches_bracket(t,e,n=!1,r=!1){return e?this.touches_left_bracket(t,n,r):this.touches_right_bracket(t,n,r)}postprocess(t=!0,e=0,n="div",r=null,s){let o=s??this.text;return!s&&t&&(this.to>=o.length&&!o.endsWith(me[this.type].at(-1))?o=this.unwrap_bracket(!0):o=this.unwrap()),`<${n} class='cmtr-${this.repr.toLowerCase()}'>${o}</${n}>`}apply_offset(t){this.from+=t,this.to+=t,this.metadata!==void 0&&(this.metadata+=t)}split_range(t){return[this.text.slice(-3),this.text.slice(0,3)+(this.metadata?JSON.stringify(this.fields)+"@@":"")]}};var Fr=class extends ji{constructor(t,e,n,r){super(t,e,"addition","Addition",n,r)}accept(){return this.unwrap()}reject(){return""}postprocess(t=!0,e=0,n="div",r=null,s){let o=s??this.text;!s&&t&&(this.to>=o.length&&!o.endsWith(me[this.type].at(-1))?o=this.unwrap_bracket(!0):o=this.unwrap());let a="cmtr-preview";return e===0?a+=" cmtr-addition":e===2&&(o=""),`<${n} class='${a}'>${o}</${n}>`}};var bs=class extends ji{reply_depth=0;attached_comment=null;get base_range(){return this.attached_comment||this}get thread(){return this.attached_comment?[...this.attached_comment.thread]:[this,...this.replies]}accept(t=!0){return t?"":this.unwrap()}reject(t=!0){return t?"":this.unwrap()}clear_references(){this.attached_comment=null,this.reply_depth=0}add_reply(t){this.attach_to_range(t.type==="comment"?t.base_range:t)}attach_to_range(t){t.replies.push(this),this.reply_depth=t.replies.length-(t.type==="comment"?0:1),this.attached_comment=t}constructor(t,e,n,r){super(t,e,"comment","Comment",n,r)}};var _s=class extends ji{constructor(t,e,n,r){super(t,e,"deletion","Deletion",n,r)}accept(){return""}reject(){return this.unwrap()}postprocess(t=!0,e=0,n="div",r=null,s){let o=s??this.text;!s&&t&&(this.to>=o.length&&!o.endsWith(me[this.type].at(-1))?o=this.unwrap_bracket(!0):o=this.unwrap());let a="cmtr-preview";return e===0?a+=" cmtr-deletion":e===1&&(o=""),`<${n} class='${a}'>${o}</${n}>`}};var ws=class extends ji{constructor(t,e,n,r){super(t,e,"highlight","Highlight",n,r)}};var Sn=class extends ji{constructor(e,n,r,s,o){super(e,r,"substitution","Substitution",s,o);this.middle=n}get length(){return this.to-this.from-8}get char_middle(){return this.middle-this.range_front}range_type(e,n){return n<=this.middle+2?"deletion":e>=this.middle?"addition":"substitution"}unwrap(){return this.text.slice(3,this.char_middle)+this.text.slice(this.char_middle+2,-3)}unwrap_parts(){return[this.text.slice(3,this.char_middle),this.text.slice(this.char_middle+2,-3)]}unwrap_slice_parts_inverted(e,n){return e-=this.range_front,n-=this.range_front,e=Math.max(0,e),n<=0?this.unwrap_parts():n<=this.char_middle?[this.text.slice(3,e)+this.text.slice(n,this.char_middle),this.text.slice(this.char_middle+2,-3)]:e>=this.char_middle+2?[this.text.slice(3,this.char_middle),this.text.slice(this.char_middle+2,e)+this.text.slice(n,-3)]:[this.text.slice(3,e),this.text.slice(n,-3)]}unwrap_parts_bracket(e,n=0){return e?[this.text.slice(3,this.char_middle),this.text.slice(this.char_middle+2)]:[this.text.slice(0,this.char_middle),this.text.slice(this.char_middle+2,-3)]}unwrap_slice(e,n){return e-=this.range_front,n-=this.range_front,n<=0||e===n?"":e>=this.char_middle?this.text.slice(Math.max(this.char_middle+2,e),Math.min(this.text.length-3,n)):n<=this.char_middle?this.text.slice(Math.max(3,e),Math.min(this.char_middle,n)):this.text.slice(Math.max(3,e),this.char_middle)+this.text.slice(this.char_middle+2,Math.min(this.text.length-3,n))}accept(){return this.unwrap_parts()[1]}reject(){return this.unwrap_parts()[0]}touches_separator(e,n=!1,r=!1){return e+(n?1:0)>=this.middle&&e-(r?0:1)<=this.middle+2}contains_separator(e,n){return e<=this.middle+2&&n>=this.middle}contains_part(e,n,r=!0){return r?n<this.middle?!0:e>this.middle+2?!1:void 0:n<=this.middle?!0:e>=this.middle+2?!1:void 0}cursor_pass_syntax(e,n,r=!1){return n?(this.touches_left_bracket(e,!0,!1,r)&&(e=r&&this.metadata?this.metadata+2:this.from+3),this.touches_separator(e,!1,!0)&&(e=this.middle+2),this.touches_right_bracket(e,!1,!0)&&(e=this.to)):(this.touches_right_bracket(e,!0,!1)&&(e=this.to-3),this.touches_separator(e,!1,!0)&&(e=this.middle),this.touches_left_bracket(e,!1,!0,r)&&(e=this.from)),e}part_encloses_range(e,n,r){return r?this.from<=e&&n<=this.middle+2:this.middle<=e&&n<=this.to}empty(){return this.from+3===this.middle&&this.middle+2===this.to-3}part_is_empty(e){return e?this.from+3===this.middle:this.middle+2===this.to-3}postprocess(e=!0,n=0,r="div",s=null,o){let a=o??this.text,l=[a];!o&&e&&(this.to>=a.length&&!a.endsWith(me.substitution[2])?l=this.unwrap_parts_bracket(!0):this.from<=0&&!a.startsWith(me.substitution[0])?l=this.unwrap_parts_bracket(!1):l=this.unwrap_parts());let u="cmtr-preview";return l.length===1&&(l[+s]=l[0],l[+!s]=""),a="",n===0?(l[0].length&&(a+=`<${r} class='${u} cmtr-deletion'>${l[0]}</${r}>`),l[1].length&&(a+=`<${r} class='${u} cmtr-addition'>${l[1]}</${r}>`)):n===1?l[1].length&&(a+=`<${r} class='${u}'>${l[1]}</${r}>`):l[0].length&&(a+=`<${r} class='${u}'>${l[0]}</${r}>`),a}apply_offset(e){this.from+=e,this.middle+=e,this.to+=e,this.metadata!==void 0&&(this.metadata+=e)}split_range(e){let n=super.split_range(e);return e<=this.middle?n[0]=me.substitution[1]+n[0]:n[1]=n[1]+me.substitution[1],n}cursor_move_inside(e,n=!1){return e=super.cursor_move_inside(e,n),e==this.middle+1&&(e=this.middle+2),e}};var A_=require("@codemirror/state");var pm=class Vu{constructor(t,e){this.low=t,this.high=e}clone(){return new Vu(this.low,this.high)}get max(){return this.clone()}less_than(t){return this.low<t.low||this.low===t.low&&this.high<t.high}equal_to(t){return this.low===t.low&&this.high===t.high}intersect(t){return!this.not_intersect(t)}not_intersect(t){return this.high<t.low||t.high<this.low}merge(t){return new Vu(this.low===void 0?t.low:this.low<t.low?this.low:t.low,this.high===void 0?t.high:this.high>t.high?this.high:t.high)}output(){return[this.low,this.high]}static comparable_max(t,e){return t.merge(e)}static comparable_less_than(t,e){return t<e}},Ge=0,te=1,Fn=class{constructor(t=void 0,e=void 0,n=null,r=null,s=null,o=te){if(this.left=n,this.right=r,this.parent=s,this.color=o,this.item={key:t,value:e},t&&t instanceof Array&&t.length===2&&!Number.isNaN(t[0])&&!Number.isNaN(t[1])){let[a,l]=t;a>l&&([a,l]=[l,a]),this.item.key=new pm(a,l)}this.max=this.item.key?this.item.key.max:void 0}isNil(){return this.item.key===void 0&&this.item.value===void 0&&this.left===null&&this.right===null&&this.color===te}_value_less_than(t){return this.item.value&&t.item.value&&this.item.value.less_than?this.item.value.less_than(t.item.value):this.item.value<t.item.value}less_than(t){return this.item.value===this.item.key&&t.item.value===t.item.key?this.item.key.less_than(t.item.key):this.item.key.less_than(t.item.key)||this.item.key.equal_to(t.item.key)&&this._value_less_than(t)}_value_equal(t){return this.item.value&&t.item.value&&this.item.value.equal_to?this.item.value.equal_to(t.item.value):this.item.value===t.item.value}equal_to(t){return this.item.value===this.item.key&&t.item.value===t.item.key?this.item.key.equal_to(t.item.key):this.item.key.equal_to(t.item.key)&&this._value_equal(t)}intersect(t){return this.item.key.intersect(t.item.key)}copy_data(t){this.item.key=t.item.key,this.item.value=t.item.value}update_max(){if(this.max=this.item.key?this.item.key.max:void 0,this.right&&this.right.max){let t=this.item.key.constructor.comparable_max;this.max=t(this.max,this.right.max)}if(this.left&&this.left.max){let t=this.item.key.constructor.comparable_max;this.max=t(this.max,this.left.max)}}not_intersect_left_subtree(t){let e=this.item.key.constructor.comparable_less_than,n=this.left.max.high!==void 0?this.left.max.high:this.left.max;return e(n,t.item.key.low)}not_intersect_right_subtree(t){let e=this.item.key.constructor.comparable_less_than,n=this.right.max.low!==void 0?this.right.max.low:this.right.item.key.low;return e(t.item.key.high,n)}},Ha=class i{constructor(){this.root=null,this.nil_node=new Fn}get size(){let t=0;return this.tree_walk(this.root,()=>t++),t}get keys(){let t=[];return this.tree_walk(this.root,e=>t.push(e.item.key.output?e.item.key.output():e.item.key)),t}get values(){let t=[];return this.tree_walk(this.root,e=>t.push(e.item.value)),t}get items(){let t=[];return this.tree_walk(this.root,e=>t.push({key:e.item.key.output?e.item.key.output():e.item.key,value:e.item.value})),t}isEmpty(){return this.root==null||this.root===this.nil_node}clear(){this.root=null}insert(t,e=t){if(t===void 0)return;let n=new Fn(t,e,this.nil_node,this.nil_node,null,Ge);return this.tree_insert(n),this.recalc_max(n),n}exist(t,e=t){let n=new Fn(t,e);return!!this.tree_search(this.root,n)}remove(t,e=t){let n=new Fn(t,e),r=this.tree_search(this.root,n);return r&&this.tree_delete(r),r}search(t,e=(n,r)=>n===r?r.output():n){let n=new Fn(t),r=[];return this.tree_search_interval(this.root,n,r),r.map(s=>e(s.item.value,s.item.key))}intersect_any(t){let e=new Fn(t);return this.tree_find_any_interval(this.root,e)}forEach(t){this.tree_walk(this.root,e=>t(e.item.key,e.item.value))}map(t){let e=new i;return this.tree_walk(this.root,n=>e.insert(n.item.key,t(n.item.value,n.item.key))),e}*iterate(t,e=(n,r)=>n===r?r.output():n){let n;for(t?n=this.tree_search_nearest_forward(this.root,new Fn(t)):this.root&&(n=this.local_minimum(this.root));n;)yield e(n.item.value,n.item.key),n=this.tree_successor(n)}recalc_max(t){let e=t;for(;e.parent!=null;)e.parent.update_max(),e=e.parent}tree_insert(t){let e=this.root,n=null;if(this.root==null||this.root===this.nil_node)this.root=t;else{for(;e!==this.nil_node;)n=e,t.less_than(e)?e=e.left:e=e.right;t.parent=n,t.less_than(n)?n.left=t:n.right=t}this.insert_fixup(t)}insert_fixup(t){let e,n;for(e=t;e!==this.root&&e.parent.color===Ge;)e.parent===e.parent.parent.left?(n=e.parent.parent.right,n.color===Ge?(e.parent.color=te,n.color=te,e.parent.parent.color=Ge,e=e.parent.parent):(e===e.parent.right&&(e=e.parent,this.rotate_left(e)),e.parent.color=te,e.parent.parent.color=Ge,this.rotate_right(e.parent.parent))):(n=e.parent.parent.left,n.color===Ge?(e.parent.color=te,n.color=te,e.parent.parent.color=Ge,e=e.parent.parent):(e===e.parent.left&&(e=e.parent,this.rotate_right(e)),e.parent.color=te,e.parent.parent.color=Ge,this.rotate_left(e.parent.parent)));this.root.color=te}tree_delete(t){let e,n;t.left===this.nil_node||t.right===this.nil_node?e=t:e=this.tree_successor(t),e.left!==this.nil_node?n=e.left:n=e.right,n.parent=e.parent,e===this.root?this.root=n:(e===e.parent.left?e.parent.left=n:e.parent.right=n,e.parent.update_max()),this.recalc_max(n),e!==t&&(t.copy_data(e),t.update_max(),this.recalc_max(t)),e.color===te&&this.delete_fixup(n)}delete_fixup(t){let e=t,n;for(;e!==this.root&&e.parent!=null&&e.color===te;)e===e.parent.left?(n=e.parent.right,n.color===Ge&&(n.color=te,e.parent.color=Ge,this.rotate_left(e.parent),n=e.parent.right),n.left.color===te&&n.right.color===te?(n.color=Ge,e=e.parent):(n.right.color===te&&(n.color=Ge,n.left.color=te,this.rotate_right(n),n=e.parent.right),n.color=e.parent.color,e.parent.color=te,n.right.color=te,this.rotate_left(e.parent),e=this.root)):(n=e.parent.left,n.color===Ge&&(n.color=te,e.parent.color=Ge,this.rotate_right(e.parent),n=e.parent.left),n.left.color===te&&n.right.color===te?(n.color=Ge,e=e.parent):(n.left.color===te&&(n.color=Ge,n.right.color=te,this.rotate_left(n),n=e.parent.left),n.color=e.parent.color,e.parent.color=te,n.left.color=te,this.rotate_right(e.parent),e=this.root));e.color=te}tree_search(t,e){if(!(t==null||t===this.nil_node))return e.equal_to(t)?t:e.less_than(t)?this.tree_search(t.left,e):this.tree_search(t.right,e)}tree_search_nearest_forward(t,e){let n,r=t;for(;r&&r!==this.nil_node;)r.less_than(e)?r.intersect(e)?(n=r,r=r.left):r=r.right:((!n||r.less_than(n))&&(n=r),r=r.left);return n||null}tree_search_interval(t,e,n){t!=null&&t!==this.nil_node&&(t.left!==this.nil_node&&!t.not_intersect_left_subtree(e)&&this.tree_search_interval(t.left,e,n),t.intersect(e)&&n.push(t),t.right!==this.nil_node&&!t.not_intersect_right_subtree(e)&&this.tree_search_interval(t.right,e,n))}tree_find_any_interval(t,e){let n=!1;return t!=null&&t!==this.nil_node&&(t.left!==this.nil_node&&!t.not_intersect_left_subtree(e)&&(n=this.tree_find_any_interval(t.left,e)),n||(n=t.intersect(e)),!n&&t.right!==this.nil_node&&!t.not_intersect_right_subtree(e)&&(n=this.tree_find_any_interval(t.right,e))),n}local_minimum(t){let e=t;for(;e.left!=null&&e.left!==this.nil_node;)e=e.left;return e}local_maximum(t){let e=t;for(;e.right!=null&&e.right!==this.nil_node;)e=e.right;return e}tree_successor(t){let e,n,r;if(t.right!==this.nil_node)e=this.local_minimum(t.right);else{for(n=t,r=t.parent;r!=null&&r.right===n;)n=r,r=r.parent;e=r}return e}rotate_left(t){let e=t.right;t.right=e.left,e.left!==this.nil_node&&(e.left.parent=t),e.parent=t.parent,t===this.root?this.root=e:t===t.parent.left?t.parent.left=e:t.parent.right=e,e.left=t,t.parent=e,t!=null&&t!==this.nil_node&&t.update_max(),e=t.parent,e!=null&&e!==this.nil_node&&e.update_max()}rotate_right(t){let e=t.left;t.left=e.right,e.right!==this.nil_node&&(e.right.parent=t),e.parent=t.parent,t===this.root?this.root=e:t===t.parent.left?t.parent.left=e:t.parent.right=e,e.right=t,t.parent=e,t!==null&&t!==this.nil_node&&t.update_max(),e=t.parent,e!=null&&e!==this.nil_node&&e.update_max()}tree_walk(t,e){t!=null&&t!==this.nil_node&&(this.tree_walk(t.left,e),e(t),this.tree_walk(t.right,e))}testRedBlackProperty(){let t=!0;return this.tree_walk(this.root,function(e){e.color===Ge&&(e.left.color===te&&e.right.color===te||(t=!1))}),t}testBlackHeightProperty(t){let e=0,n=0,r=0;if(t.color===te&&e++,t.left!==this.nil_node?n=this.testBlackHeightProperty(t.left):n=1,t.right!==this.nil_node?r=this.testBlackHeightProperty(t.right):r=1,n!==r)throw new Error("Red-black height property violated");return e+=n,e}};var Va=class{ranges;tree;constructor(t){this.ranges=t,this.tree=new Ha;for(let e of t)this.tree.insert([e.from,e.to],e)}empty(){return this.ranges.length===0}get(t){return t<0?this.ranges[this.ranges.length+t]:this.ranges[t]}at_cursor(t,e=!1){let n=this.tree.search([t,t]);return n.length?e&&n.length>1?n[1]:n[0]:void 0}contains_range(t,e){return this.tree.intersect_any([t,e])}range_adjacent_to_cursor(t,e,n=!1,r=!1){let s=e?this.ranges.slice().reverse():this.ranges;return r?s.find(o=>e?(n?o.from:o.to)<t:t<(n?o.to:o.from)):s.find(o=>e?(n?o.from:o.to)<=t:t<=(n?o.to:o.from))}adjacent_range(t,e,n=!1){let r=this.ranges.findIndex(o=>o===t);if(r===-1)return;let s=e?this.ranges[r-1]:this.ranges[r+1];if(s)if(n){if(e?s.to===t.from:t.to===s.from)return s}else return s}ranges_in_interval(t,e){return this.tree.search([t,e])}ranges_in_intervals(t){let e=new Set;for(let n of t)for(let r of this.tree.search([n.from,n.to]))if(e.add(r),r.base_range){e.add(r.base_range);for(let s of r.base_range.replies)e.add(s)}return Array.from(e).sort((n,r)=>n.from-r.from)}unwrap_in_range(t,e=0,n=t.length,r=null){let s,o;if(r||(r=this.ranges_in_interval(e,n)),r.length===0)return{output:t.sliceString(e,n),from:e,to:n};let a="";e<r[0].from?a+=t.sliceString(e,r[0].from):s=r[0];let l=-1;for(let h of r)l!==-1&&(a+=t.sliceString(l,h.from)),a+=h.unwrap_slice(Math.max(0,e),n),l=h.to;n>=r.at(-1).to?a+=t.sliceString(r.at(-1).to,n):o=r.at(-1);let u=s?s.cursor_pass_syntax(e,!1):e,f=o?o.cursor_pass_syntax(n,!0):n;return(u!==e||e===s?.from)&&(s=void 0),(f!==n||n===o?.to)&&(o=void 0),{output:a,from:u,to:f,front_range:s,back_range:o}}};var nk=require("@codemirror/view");var U_=require("@codemirror/state");var B_=require("@codemirror/state");function _f(i){return i.ranges.length===1&&i.ranges[0].anchor===i.ranges[0].head}function ys(i){return i.startState.selection.ranges[0].from!==i.selection.ranges[0].from||i.startState.selection.ranges[0].to!==i.selection.ranges[0].to}function bo(i,t,e){let n=[],r=0;return t.iterChanges((s,o,a,l,u)=>{n.push({from:s,to:o,anchor:i.ranges[r].anchor,offset:{removed:o-s,added:l-a},inserted:u.toString(),deleted:o-s?e.sliceString(s,o):"",selection:i.ranges[r].anchor!==i.ranges[r].head}),r<i.ranges.length-1&&r++}),n}function za(i,t,e){let n="",r=0;for(let s of e)n+=i.slice(r,s.from)+t(s,i),r=s.to;return n+i.slice(r)}function wf(i,t){return i.main.head<t.main.head}var yd=require("@codemirror/state"),xd=require("@codemirror/language");var gm=0;var de=class{constructor(t={}){this.id=gm++,this.perNode=!!t.perNode,this.deserialize=t.deserialize||(()=>{throw new Error("This node type doesn't define a deserialize function")})}add(t){if(this.perNode)throw new RangeError("Can't add per-node props to node types");return typeof t!="function"&&(t=Vn.match(t)),e=>{let n=t(e);return n===void 0?null:[this,n]}}};de.closedBy=new de({deserialize:i=>i.split(" ")});de.openedBy=new de({deserialize:i=>i.split(" ")});de.group=new de({deserialize:i=>i.split(" ")});de.isolate=new de({deserialize:i=>{if(i&&i!="rtl"&&i!="ltr"&&i!="auto")throw new RangeError("Invalid value for isolate: "+i);return i||"auto"}});de.contextHash=new de({perNode:!0});de.lookAhead=new de({perNode:!0});de.mounted=new de({perNode:!0});var xs=class{constructor(t,e,n){this.tree=t,this.overlay=e,this.parser=n}static get(t){return t&&t.props&&t.props[de.mounted.id]}},mm=Object.create(null),Vn=class i{constructor(t,e,n,r=0){this.name=t,this.props=e,this.id=n,this.flags=r}static define(t){let e=t.props&&t.props.length?Object.create(null):mm,n=(t.top?1:0)|(t.skipped?2:0)|(t.error?4:0)|(t.name==null?8:0),r=new i(t.name||"",e,t.id,n);if(t.props){for(let s of t.props)if(Array.isArray(s)||(s=s(r)),s){if(s[0].perNode)throw new RangeError("Can't store a per-node prop on a node type");e[s[0].id]=s[1]}}return r}prop(t){return this.props[t.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(t){if(typeof t=="string"){if(this.name==t)return!0;let e=this.prop(de.group);return e?e.indexOf(t)>-1:!1}return this.id==t}static match(t){let e=Object.create(null);for(let n in t)for(let r of n.split(" "))e[r]=t[n];return n=>{for(let r=n.prop(de.group),s=-1;s<(r?r.length:0);s++){let o=e[s<0?n.name:r[s]];if(o)return o}}}};Vn.none=new Vn("",Object.create(null),0,8);var Ga=new WeakMap,yf=new WeakMap,Ze;(function(i){i[i.ExcludeBuffers=1]="ExcludeBuffers",i[i.IncludeAnonymous=2]="IncludeAnonymous",i[i.IgnoreMounts=4]="IgnoreMounts",i[i.IgnoreOverlays=8]="IgnoreOverlays"})(Ze||(Ze={}));var Hn=class i{constructor(t,e,n,r,s){if(this.type=t,this.children=e,this.positions=n,this.length=r,this.props=null,s&&s.length){this.props=Object.create(null);for(let[o,a]of s)this.props[typeof o=="number"?o:o.id]=a}}toString(){let t=xs.get(this);if(t&&!t.overlay)return t.tree.toString();let e="";for(let n of this.children){let r=n.toString();r&&(e&&(e+=","),e+=r)}return this.type.name?(/\W/.test(this.type.name)&&!this.type.isError?JSON.stringify(this.type.name):this.type.name)+(e.length?"("+e+")":""):e}cursor(t=0){return new yo(this.topNode,t)}cursorAt(t,e=0,n=0){let r=Ga.get(this)||this.topNode,s=new yo(r);return s.moveTo(t,e),Ga.set(this,s._tree),s}get topNode(){return new Mn(this,0,0,null)}resolve(t,e=0){let n=_o(Ga.get(this)||this.topNode,t,e,!1);return Ga.set(this,n),n}resolveInner(t,e=0){let n=_o(yf.get(this)||this.topNode,t,e,!0);return yf.set(this,n),n}resolveStack(t,e=0){return vm(this,t,e)}iterate(t){let{enter:e,leave:n,from:r=0,to:s=this.length}=t,o=t.mode||0,a=(o&Ze.IncludeAnonymous)>0;for(let l=this.cursor(o|Ze.IncludeAnonymous);;){let u=!1;if(l.from<=s&&l.to>=r&&(!a&&l.type.isAnonymous||e(l)!==!1)){if(l.firstChild())continue;u=!0}for(;u&&n&&(a||!l.type.isAnonymous)&&n(l),!l.nextSibling();){if(!l.parent())return;u=!0}}}prop(t){return t.perNode?this.props?this.props[t.id]:void 0:this.type.prop(t)}get propValues(){let t=[];if(this.props)for(let e in this.props)t.push([+e,this.props[e]]);return t}balance(t={}){return this.children.length<=8?this:ju(Vn.none,this.children,this.positions,0,this.children.length,0,this.length,(e,n,r)=>new i(this.type,e,n,r,this.propValues),t.makeTree||((e,n,r)=>new i(Vn.none,e,n,r)))}static build(t){return bm(t)}};Hn.empty=new Hn(Vn.none,[],[],0);var zu=class i{constructor(t,e){this.buffer=t,this.index=e}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 i(this.buffer,this.index)}},hr=class i{constructor(t,e,n){this.buffer=t,this.length=e,this.set=n}get type(){return Vn.none}toString(){let t=[];for(let e=0;e<this.buffer.length;)t.push(this.childString(e)),e=this.buffer[e+3];return t.join(",")}childString(t){let e=this.buffer[t],n=this.buffer[t+3],r=this.set.types[e],s=r.name;if(/\W/.test(s)&&!r.isError&&(s=JSON.stringify(s)),t+=4,n==t)return s;let o=[];for(;t<n;)o.push(this.childString(t)),t=this.buffer[t+3];return s+"("+o.join(",")+")"}findChild(t,e,n,r,s){let{buffer:o}=this,a=-1;for(let l=t;l!=e&&!(Sf(s,r,o[l+1],o[l+2])&&(a=l,n>0));l=o[l+3]);return a}slice(t,e,n){let r=this.buffer,s=new Uint16Array(e-t),o=0;for(let a=t,l=0;a<e;){s[l++]=r[a++],s[l++]=r[a++]-n;let u=s[l++]=r[a++]-n;s[l++]=r[a++]-t,o=Math.max(o,u)}return new i(s,o,this.set)}};function Sf(i,t,e,n){switch(i){case-2:return e<t;case-1:return n>=t&&e<t;case 0:return e<t&&n>t;case 1:return e<=t&&n>t;case 2:return n>t;case 4:return!0}}function _o(i,t,e,n){for(var r;i.from==i.to||(e<1?i.from>=t:i.from>t)||(e>-1?i.to<=t:i.to<t);){let o=!n&&i instanceof Mn&&i.index<0?null:i.parent;if(!o)return i;i=o}let s=n?0:Ze.IgnoreOverlays;if(n)for(let o=i,a=o.parent;a;o=a,a=o.parent)o instanceof Mn&&o.index<0&&((r=a.enter(t,e,s))===null||r===void 0?void 0:r.from)!=o.from&&(i=a);for(;;){let o=i.enter(t,e,s);if(!o)return i;i=o}}var Wa=class{cursor(t=0){return new yo(this,t)}getChild(t,e=null,n=null){let r=xf(this,t,e,n);return r.length?r[0]:null}getChildren(t,e=null,n=null){return xf(this,t,e,n)}resolve(t,e=0){return _o(this,t,e,!1)}resolveInner(t,e=0){return _o(this,t,e,!0)}matchContext(t){return Gu(this.parent,t)}enterUnfinishedNodesBefore(t){let e=this.childBefore(t),n=this;for(;e;){let r=e.lastChild;if(!r||r.to!=e.to)break;r.type.isError&&r.from==r.to?(n=e,e=r.prevSibling):e=r}return n}get node(){return this}get next(){return this.parent}},Mn=class i extends Wa{constructor(t,e,n,r){super(),this._tree=t,this.from=e,this.index=n,this._parent=r}get type(){return this._tree.type}get name(){return this._tree.type.name}get to(){return this.from+this._tree.length}nextChild(t,e,n,r,s=0){for(let o=this;;){for(let{children:a,positions:l}=o._tree,u=e>0?a.length:-1;t!=u;t+=e){let f=a[t],h=l[t]+o.from;if(Sf(r,n,h,h+f.length)){if(f instanceof hr){if(s&Ze.ExcludeBuffers)continue;let c=f.findChild(0,f.buffer.length,e,n-h,r);if(c>-1)return new wo(new qu(o,f,t,h),null,c)}else if(s&Ze.IncludeAnonymous||!f.type.isAnonymous||Uu(f)){let c;if(!(s&Ze.IgnoreMounts)&&(c=xs.get(f))&&!c.overlay)return new i(c.tree,h,t,o);let p=new i(f,h,t,o);return s&Ze.IncludeAnonymous||!p.type.isAnonymous?p:p.nextChild(e<0?f.children.length-1:0,e,n,r)}}}if(s&Ze.IncludeAnonymous||!o.type.isAnonymous||(o.index>=0?t=o.index+e:t=e<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(t){return this.nextChild(0,1,t,2)}childBefore(t){return this.nextChild(this._tree.children.length-1,-1,t,-2)}enter(t,e,n=0){let r;if(!(n&Ze.IgnoreOverlays)&&(r=xs.get(this._tree))&&r.overlay){let s=t-this.from;for(let{from:o,to:a}of r.overlay)if((e>0?o<=s:o<s)&&(e<0?a>=s:a>s))return new i(r.tree,r.overlay[0].from+this.from,-1,this)}return this.nextChild(0,1,t,e,n)}nextSignificantParent(){let t=this;for(;t.type.isAnonymous&&t._parent;)t=t._parent;return t}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 xf(i,t,e,n){let r=i.cursor(),s=[];if(!r.firstChild())return s;if(e!=null){for(let o=!1;!o;)if(o=r.type.is(e),!r.nextSibling())return s}for(;;){if(n!=null&&r.type.is(n))return s;if(r.type.is(t)&&s.push(r.node),!r.nextSibling())return n==null?s:[]}}function Gu(i,t,e=t.length-1){for(let n=i;e>=0;n=n.parent){if(!n)return!1;if(!n.type.isAnonymous){if(t[e]&&t[e]!=n.name)return!1;e--}}return!0}var qu=class{constructor(t,e,n,r){this.parent=t,this.buffer=e,this.index=n,this.start=r}},wo=class i extends Wa{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(t,e,n){super(),this.context=t,this._parent=e,this.index=n,this.type=t.buffer.set.types[t.buffer.buffer[n]]}child(t,e,n){let{buffer:r}=this.context,s=r.findChild(this.index+4,r.buffer[this.index+3],t,e-this.context.start,n);return s<0?null:new i(this.context,this,s)}get firstChild(){return this.child(1,0,4)}get lastChild(){return this.child(-1,0,4)}childAfter(t){return this.child(1,t,2)}childBefore(t){return this.child(-1,t,-2)}enter(t,e,n=0){if(n&Ze.ExcludeBuffers)return null;let{buffer:r}=this.context,s=r.findChild(this.index+4,r.buffer[this.index+3],e>0?1:-1,t-this.context.start,e);return s<0?null:new i(this.context,this,s)}get parent(){return this._parent||this.context.parent.nextSignificantParent()}externalSibling(t){return this._parent?null:this.context.parent.nextChild(this.context.index+t,t,0,4)}get nextSibling(){let{buffer:t}=this.context,e=t.buffer[this.index+3];return e<(this._parent?t.buffer[this._parent.index+3]:t.buffer.length)?new i(this.context,this._parent,e):this.externalSibling(1)}get prevSibling(){let{buffer:t}=this.context,e=this._parent?this._parent.index+4:0;return this.index==e?this.externalSibling(-1):new i(this.context,this._parent,t.findChild(e,this.index,-1,0,4))}get tree(){return null}toTree(){let t=[],e=[],{buffer:n}=this.context,r=this.index+4,s=n.buffer[this.index+3];if(s>r){let o=n.buffer[this.index+1];t.push(n.slice(r,s,o)),e.push(0)}return new Hn(this.type,t,e,this.to-this.from)}toString(){return this.context.buffer.childString(this.index)}};function Mf(i){if(!i.length)return null;let t=0,e=i[0];for(let s=1;s<i.length;s++){let o=i[s];(o.from>e.from||o.to<e.to)&&(e=o,t=s)}let n=e instanceof Mn&&e.index<0?null:e.parent,r=i.slice();return n?r[t]=n:r.splice(t,1),new Wu(r,e)}var Wu=class{constructor(t,e){this.heads=t,this.node=e}get next(){return Mf(this.heads)}};function vm(i,t,e){let n=i.resolveInner(t,e),r=null;for(let s=n instanceof Mn?n:n.context.parent;s;s=s.parent)if(s.index<0){let o=s.parent;(r||(r=[n])).push(o.resolve(t,e)),s=o}else{let o=xs.get(s.tree);if(o&&o.overlay&&o.overlay[0].from<=t&&o.overlay[o.overlay.length-1].to>=t){let a=new Mn(o.tree,o.overlay[0].from+s.from,-1,s);(r||(r=[n])).push(_o(a,t,e,!1))}}return r?Mf(r):n}var yo=class{get name(){return this.type.name}constructor(t,e=0){if(this.mode=e,this.buffer=null,this.stack=[],this.index=0,this.bufferNode=null,t instanceof Mn)this.yieldNode(t);else{this._tree=t.context.parent,this.buffer=t.context;for(let n=t._parent;n;n=n._parent)this.stack.unshift(n.index);this.bufferNode=t,this.yieldBuf(t.index)}}yieldNode(t){return t?(this._tree=t,this.type=t.type,this.from=t.from,this.to=t.to,!0):!1}yieldBuf(t,e){this.index=t;let{start:n,buffer:r}=this.buffer;return this.type=e||r.set.types[r.buffer[t]],this.from=n+r.buffer[t+1],this.to=n+r.buffer[t+2],!0}yield(t){return t?t instanceof Mn?(this.buffer=null,this.yieldNode(t)):(this.buffer=t.context,this.yieldBuf(t.index,t.type)):!1}toString(){return this.buffer?this.buffer.buffer.childString(this.index):this._tree.toString()}enterChild(t,e,n){if(!this.buffer)return this.yield(this._tree.nextChild(t<0?this._tree._tree.children.length-1:0,t,e,n,this.mode));let{buffer:r}=this.buffer,s=r.findChild(this.index+4,r.buffer[this.index+3],t,e-this.buffer.start,n);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(t){return this.enterChild(1,t,2)}childBefore(t){return this.enterChild(-1,t,-2)}enter(t,e,n=this.mode){return this.buffer?n&Ze.ExcludeBuffers?!1:this.enterChild(1,t,e):this.yield(this._tree.enter(t,e,n))}parent(){if(!this.buffer)return this.yieldNode(this.mode&Ze.IncludeAnonymous?this._tree._parent:this._tree.parent);if(this.stack.length)return this.yieldBuf(this.stack.pop());let t=this.mode&Ze.IncludeAnonymous?this.buffer.parent:this.buffer.parent.nextSignificantParent();return this.buffer=null,this.yieldNode(t)}sibling(t){if(!this.buffer)return this._tree._parent?this.yield(this._tree.index<0?null:this._tree._parent.nextChild(this._tree.index+t,t,0,4,this.mode)):!1;let{buffer:e}=this.buffer,n=this.stack.length-1;if(t<0){let r=n<0?0:this.stack[n]+4;if(this.index!=r)return this.yieldBuf(e.findChild(r,this.index,-1,0,4))}else{let r=e.buffer[this.index+3];if(r<(n<0?e.buffer.length:e.buffer[this.stack[n]+3]))return this.yieldBuf(r)}return n<0?this.yield(this.buffer.parent.nextChild(this.buffer.index+t,t,0,4,this.mode)):!1}nextSibling(){return this.sibling(1)}prevSibling(){return this.sibling(-1)}atLastNode(t){let e,n,{buffer:r}=this;if(r){if(t>0){if(this.index<r.buffer.buffer.length)return!1}else for(let s=0;s<this.index;s++)if(r.buffer.buffer[s+3]<this.index)return!1;({index:e,parent:n}=r)}else({index:e,_parent:n}=this._tree);for(;n;{index:e,_parent:n}=n)if(e>-1)for(let s=e+t,o=t<0?-1:n._tree.children.length;s!=o;s+=t){let a=n._tree.children[s];if(this.mode&Ze.IncludeAnonymous||a instanceof hr||!a.type.isAnonymous||Uu(a))return!1}return!0}move(t,e){if(e&&this.enterChild(t,0,4))return!0;for(;;){if(this.sibling(t))return!0;if(this.atLastNode(t)||!this.parent())return!1}}next(t=!0){return this.move(1,t)}prev(t=!0){return this.move(-1,t)}moveTo(t,e=0){for(;(this.from==this.to||(e<1?this.from>=t:this.from>t)||(e>-1?this.to<=t:this.to<t))&&this.parent(););for(;this.enterChild(1,t,e););return this}get node(){if(!this.buffer)return this._tree;let t=this.bufferNode,e=null,n=0;if(t&&t.context==this.buffer)t:for(let r=this.index,s=this.stack.length;s>=0;){for(let o=t;o;o=o._parent)if(o.index==r){if(r==this.index)return o;e=o,n=s+1;break t}r=this.stack[--s]}for(let r=n;r<this.stack.length;r++)e=new wo(this.buffer,e,this.stack[r]);return this.bufferNode=new wo(this.buffer,e,this.index)}get tree(){return this.buffer?null:this._tree._tree}iterate(t,e){for(let n=0;;){let r=!1;if(this.type.isAnonymous||t(this)!==!1){if(this.firstChild()){n++;continue}this.type.isAnonymous||(r=!0)}for(;;){if(r&&e&&e(this),r=this.type.isAnonymous,!n)return;if(this.nextSibling())break;this.parent(),n--,r=!0}}}matchContext(t){if(!this.buffer)return Gu(this.node.parent,t);let{buffer:e}=this.buffer,{types:n}=e.set;for(let r=t.length-1,s=this.stack.length-1;r>=0;s--){if(s<0)return Gu(this._tree,t,r);let o=n[e.buffer[this.stack[s]]];if(!o.isAnonymous){if(t[r]&&t[r]!=o.name)return!1;r--}}return!0}};function Uu(i){return i.children.some(t=>t instanceof hr||!t.type.isAnonymous||Uu(t))}function bm(i){var t;let{buffer:e,nodeSet:n,maxBufferLength:r=1024,reused:s=[],minRepeatType:o=n.types.length}=i,a=Array.isArray(e)?new zu(e,e.length):e,l=n.types,u=0,f=0;function h(M,w,x,A,D,N){let{id:I,start:R,end:z,size:U}=a,tt=f,rt=u;for(;U<0;)if(a.next(),U==-1){let Bt=s[I];x.push(Bt),A.push(R-M);return}else if(U==-3){u=I;return}else if(U==-4){f=I;return}else throw new RangeError(`Unrecognized record size: ${U}`);let At=l[I],St,mt,Dt=R-M;if(z-R<=r&&(mt=v(a.pos-w,D))){let Bt=new Uint16Array(mt.size-mt.skip),wt=a.pos-mt.size,qt=Bt.length;for(;a.pos>wt;)qt=_(mt.start,Bt,qt);St=new hr(Bt,z-mt.start,n),Dt=mt.start-M}else{let Bt=a.pos-U;a.next();let wt=[],qt=[],ee=I>=o?I:-1,Vt=0,Tt=z;for(;a.pos>Bt;)ee>=0&&a.id==ee&&a.size>=0?(a.end<=Tt-r&&(g(wt,qt,R,Vt,a.end,Tt,ee,tt,rt),Vt=wt.length,Tt=a.end),a.next()):N>2500?c(R,Bt,wt,qt):h(R,Bt,wt,qt,ee,N+1);if(ee>=0&&Vt>0&&Vt<wt.length&&g(wt,qt,R,Vt,R,Tt,ee,tt,rt),wt.reverse(),qt.reverse(),ee>-1&&Vt>0){let Nt=p(At,rt);St=ju(At,wt,qt,0,wt.length,0,z-R,Nt,Nt)}else St=m(At,wt,qt,z-R,tt-z,rt)}x.push(St),A.push(Dt)}function c(M,w,x,A){let D=[],N=0,I=-1;for(;a.pos>w;){let{id:R,start:z,end:U,size:tt}=a;if(tt>4)a.next();else{if(I>-1&&z<I)break;I<0&&(I=U-r),D.push(R,z,U),N++,a.next()}}if(N){let R=new Uint16Array(N*4),z=D[D.length-2];for(let U=D.length-3,tt=0;U>=0;U-=3)R[tt++]=D[U],R[tt++]=D[U+1]-z,R[tt++]=D[U+2]-z,R[tt++]=tt;x.push(new hr(R,D[2]-z,n)),A.push(z-M)}}function p(M,w){return(x,A,D)=>{let N=0,I=x.length-1,R,z;if(I>=0&&(R=x[I])instanceof Hn){if(!I&&R.type==M&&R.length==D)return R;(z=R.prop(de.lookAhead))&&(N=A[I]+R.length+z)}return m(M,x,A,D,N,w)}}function g(M,w,x,A,D,N,I,R,z){let U=[],tt=[];for(;M.length>A;)U.push(M.pop()),tt.push(w.pop()+x-D);M.push(m(n.types[I],U,tt,N-D,R-N,z)),w.push(D-x)}function m(M,w,x,A,D,N,I){if(N){let R=[de.contextHash,N];I=I?[R].concat(I):[R]}if(D>25){let R=[de.lookAhead,D];I=I?[R].concat(I):[R]}return new Hn(M,w,x,A,I)}function v(M,w){let x=a.fork(),A=0,D=0,N=0,I=x.end-r,R={size:0,start:0,skip:0};t:for(let z=x.pos-M;x.pos>z;){let U=x.size;if(x.id==w&&U>=0){R.size=A,R.start=D,R.skip=N,N+=4,A+=4,x.next();continue}let tt=x.pos-U;if(U<0||tt<z||x.start<I)break;let rt=x.id>=o?4:0,At=x.start;for(x.next();x.pos>tt;){if(x.size<0)if(x.size==-3)rt+=4;else break t;else x.id>=o&&(rt+=4);x.next()}D=At,A+=U,N+=rt}return(w<0||A==M)&&(R.size=A,R.start=D,R.skip=N),R.size>4?R:void 0}function _(M,w,x){let{id:A,start:D,end:N,size:I}=a;if(a.next(),I>=0&&A<o){let R=x;if(I>4){let z=a.pos-(I-4);for(;a.pos>z;)x=_(M,w,x)}w[--x]=R,w[--x]=N-M,w[--x]=D-M,w[--x]=A}else I==-3?u=A:I==-4&&(f=A);return x}let S=[],k=[];for(;a.pos>0;)h(i.start||0,i.bufferStart||0,S,k,-1,0);let E=(t=i.length)!==null&&t!==void 0?t:S.length?k[0]+S[0].length:0;return new Hn(l[i.topID],S.reverse(),k.reverse(),E)}var kf=new WeakMap;function qa(i,t){if(!i.isAnonymous||t instanceof hr||t.type!=i)return 1;let e=kf.get(t);if(e==null){e=1;for(let n of t.children){if(n.type!=i||!(n instanceof Hn)){e=1;break}e+=qa(i,n)}kf.set(t,e)}return e}function ju(i,t,e,n,r,s,o,a,l){let u=0;for(let g=n;g<r;g++)u+=qa(i,t[g]);let f=Math.ceil(u*1.5/8),h=[],c=[];function p(g,m,v,_,S){for(let k=v;k<_;){let E=k,M=m[k],w=qa(i,g[k]);for(k++;k<_;k++){let x=qa(i,g[k]);if(w+x>=f)break;w+=x}if(k==E+1){if(w>f){let x=g[E];p(x.children,x.positions,0,x.children.length,m[E]+S);continue}h.push(g[E])}else{let x=m[k-1]+g[k-1].length-M;h.push(ju(i,g,m,E,k,M,x,null,l))}c.push(M+S-s)}}return p(t,e,n,r,0),(a||l)(h,c,o)}var ks=class i{constructor(t,e,n,r,s=!1,o=!1){this.from=t,this.to=e,this.tree=n,this.offset=r,this.open=(s?1:0)|(o?2:0)}get openStart(){return(this.open&1)>0}get openEnd(){return(this.open&2)>0}static addTree(t,e=[],n=!1){let r=[new i(0,t.length,t,0,!1,n)];for(let s of e)s.to>t.length&&r.push(s);return r}static applyChanges(t,e,n=128){if(!e.length)return t;let r=[],s=1,o=t.length?t[0]:null;for(let a=0,l=0,u=0;;a++){let f=a<e.length?e[a]:null,h=f?f.fromA:1e9;if(h-l>=n)for(;o&&o.from<h;){let c=o;if(l>=c.from||h<=c.to||u){let p=Math.max(c.from,l)-u,g=Math.min(c.to,h)-u;c=p>=g?null:new i(p,g,c.tree,c.offset+u,a>0,!!f)}if(c&&r.push(c),o.to>h)break;o=s<t.length?t[s++]:null}if(!f)break;l=f.toA,u=f.toA-f.toB}return r}};var Z_=new de({perNode:!0});var Yi=require("@codemirror/state");var an=Yi.Facet.define({combine:i=>i[0]}),Ss=new Yi.Compartment,qe=Yi.Facet.define({combine:i=>i[0]}),Ms=new Yi.Compartment,xi=Yi.Facet.define({combine:i=>i[0]}),Es=new Yi.Compartment,Ts=new Yi.Compartment,As=Yi.StateEffect.define();var hh=require("@codemirror/language");var _m=0,xo=class{constructor(t,e){this.from=t,this.to=e}},ne=class{constructor(t={}){this.id=_m++,this.perNode=!!t.perNode,this.deserialize=t.deserialize||(()=>{throw new Error("This node type doesn't define a deserialize function")})}add(t){if(this.perNode)throw new RangeError("Can't add per-node props to node types");return typeof t!="function"&&(t=Ki.match(t)),e=>{let n=t(e);return n===void 0?null:[this,n]}}};ne.closedBy=new ne({deserialize:i=>i.split(" ")});ne.openedBy=new ne({deserialize:i=>i.split(" ")});ne.group=new ne({deserialize:i=>i.split(" ")});ne.isolate=new ne({deserialize:i=>{if(i&&i!="rtl"&&i!="ltr"&&i!="auto")throw new RangeError("Invalid value for isolate: "+i);return i||"auto"}});ne.contextHash=new ne({perNode:!0});ne.lookAhead=new ne({perNode:!0});ne.mounted=new ne({perNode:!0});var Cs=class{constructor(t,e,n){this.tree=t,this.overlay=e,this.parser=n}static get(t){return t&&t.props&&t.props[ne.mounted.id]}},wm=Object.create(null),Ki=class i{constructor(t,e,n,r=0){this.name=t,this.props=e,this.id=n,this.flags=r}static define(t){let e=t.props&&t.props.length?Object.create(null):wm,n=(t.top?1:0)|(t.skipped?2:0)|(t.error?4:0)|(t.name==null?8:0),r=new i(t.name||"",e,t.id,n);if(t.props){for(let s of t.props)if(Array.isArray(s)||(s=s(r)),s){if(s[0].perNode)throw new RangeError("Can't store a per-node prop on a node type");e[s[0].id]=s[1]}}return r}prop(t){return this.props[t.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(t){if(typeof t=="string"){if(this.name==t)return!0;let e=this.prop(ne.group);return e?e.indexOf(t)>-1:!1}return this.id==t}static match(t){let e=Object.create(null);for(let n in t)for(let r of n.split(" "))e[r]=t[n];return n=>{for(let r=n.prop(ne.group),s=-1;s<(r?r.length:0);s++){let o=e[s<0?n.name:r[s]];if(o)return o}}}};Ki.none=new Ki("",Object.create(null),0,8);var Ya=class i{constructor(t){this.types=t;for(let e=0;e<t.length;e++)if(t[e].id!=e)throw new RangeError("Node type ids should correspond to array positions when creating a node set")}extend(...t){let e=[];for(let n of this.types){let r=null;for(let s of t){let o=s(n);o&&(r||(r=Object.assign({},n.props)),r[o[0].id]=o[1])}e.push(r?new Ki(n.name,r,n.id,n.flags):n)}return new i(e)}},Ua=new WeakMap,Ef=new WeakMap,Re;(function(i){i[i.ExcludeBuffers=1]="ExcludeBuffers",i[i.IncludeAnonymous=2]="IncludeAnonymous",i[i.IgnoreMounts=4]="IgnoreMounts",i[i.IgnoreOverlays=8]="IgnoreOverlays"})(Re||(Re={}));var ki=class i{constructor(t,e,n,r,s){if(this.type=t,this.children=e,this.positions=n,this.length=r,this.props=null,s&&s.length){this.props=Object.create(null);for(let[o,a]of s)this.props[typeof o=="number"?o:o.id]=a}}toString(){let t=Cs.get(this);if(t&&!t.overlay)return t.tree.toString();let e="";for(let n of this.children){let r=n.toString();r&&(e&&(e+=","),e+=r)}return this.type.name?(/\W/.test(this.type.name)&&!this.type.isError?JSON.stringify(this.type.name):this.type.name)+(e.length?"("+e+")":""):e}cursor(t=0){return new Mo(this.topNode,t)}cursorAt(t,e=0,n=0){let r=Ua.get(this)||this.topNode,s=new Mo(r);return s.moveTo(t,e),Ua.set(this,s._tree),s}get topNode(){return new En(this,0,0,null)}resolve(t,e=0){let n=ko(Ua.get(this)||this.topNode,t,e,!1);return Ua.set(this,n),n}resolveInner(t,e=0){let n=ko(Ef.get(this)||this.topNode,t,e,!0);return Ef.set(this,n),n}resolveStack(t,e=0){return ym(this,t,e)}iterate(t){let{enter:e,leave:n,from:r=0,to:s=this.length}=t,o=t.mode||0,a=(o&Re.IncludeAnonymous)>0;for(let l=this.cursor(o|Re.IncludeAnonymous);;){let u=!1;if(l.from<=s&&l.to>=r&&(!a&&l.type.isAnonymous||e(l)!==!1)){if(l.firstChild())continue;u=!0}for(;u&&n&&(a||!l.type.isAnonymous)&&n(l),!l.nextSibling();){if(!l.parent())return;u=!0}}}prop(t){return t.perNode?this.props?this.props[t.id]:void 0:this.type.prop(t)}get propValues(){let t=[];if(this.props)for(let e in this.props)t.push([+e,this.props[e]]);return t}balance(t={}){return this.children.length<=8?this:th(Ki.none,this.children,this.positions,0,this.children.length,0,this.length,(e,n,r)=>new i(this.type,e,n,r,this.propValues),t.makeTree||((e,n,r)=>new i(Ki.none,e,n,r)))}static build(t){return xm(t)}};ki.empty=new ki(Ki.none,[],[],0);var Yu=class i{constructor(t,e){this.buffer=t,this.index=e}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 i(this.buffer,this.index)}},cr=class i{constructor(t,e,n){this.buffer=t,this.length=e,this.set=n}get type(){return Ki.none}toString(){let t=[];for(let e=0;e<this.buffer.length;)t.push(this.childString(e)),e=this.buffer[e+3];return t.join(",")}childString(t){let e=this.buffer[t],n=this.buffer[t+3],r=this.set.types[e],s=r.name;if(/\W/.test(s)&&!r.isError&&(s=JSON.stringify(s)),t+=4,n==t)return s;let o=[];for(;t<n;)o.push(this.childString(t)),t=this.buffer[t+3];return s+"("+o.join(",")+")"}findChild(t,e,n,r,s){let{buffer:o}=this,a=-1;for(let l=t;l!=e&&!(Cf(s,r,o[l+1],o[l+2])&&(a=l,n>0));l=o[l+3]);return a}slice(t,e,n){let r=this.buffer,s=new Uint16Array(e-t),o=0;for(let a=t,l=0;a<e;){s[l++]=r[a++],s[l++]=r[a++]-n;let u=s[l++]=r[a++]-n;s[l++]=r[a++]-t,o=Math.max(o,u)}return new i(s,o,this.set)}};function Cf(i,t,e,n){switch(i){case-2:return e<t;case-1:return n>=t&&e<t;case 0:return e<t&&n>t;case 1:return e<=t&&n>t;case 2:return n>t;case 4:return!0}}function ko(i,t,e,n){for(var r;i.from==i.to||(e<1?i.from>=t:i.from>t)||(e>-1?i.to<=t:i.to<t);){let o=!n&&i instanceof En&&i.index<0?null:i.parent;if(!o)return i;i=o}let s=n?0:Re.IgnoreOverlays;if(n)for(let o=i,a=o.parent;a;o=a,a=o.parent)o instanceof En&&o.index<0&&((r=a.enter(t,e,s))===null||r===void 0?void 0:r.from)!=o.from&&(i=a);for(;;){let o=i.enter(t,e,s);if(!o)return i;i=o}}var Ka=class{cursor(t=0){return new Mo(this,t)}getChild(t,e=null,n=null){let r=Tf(this,t,e,n);return r.length?r[0]:null}getChildren(t,e=null,n=null){return Tf(this,t,e,n)}resolve(t,e=0){return ko(this,t,e,!1)}resolveInner(t,e=0){return ko(this,t,e,!0)}matchContext(t){return Ku(this.parent,t)}enterUnfinishedNodesBefore(t){let e=this.childBefore(t),n=this;for(;e;){let r=e.lastChild;if(!r||r.to!=e.to)break;r.type.isError&&r.from==r.to?(n=e,e=r.prevSibling):e=r}return n}get node(){return this}get next(){return this.parent}},En=class i extends Ka{constructor(t,e,n,r){super(),this._tree=t,this.from=e,this.index=n,this._parent=r}get type(){return this._tree.type}get name(){return this._tree.type.name}get to(){return this.from+this._tree.length}nextChild(t,e,n,r,s=0){for(let o=this;;){for(let{children:a,positions:l}=o._tree,u=e>0?a.length:-1;t!=u;t+=e){let f=a[t],h=l[t]+o.from;if(Cf(r,n,h,h+f.length)){if(f instanceof cr){if(s&Re.ExcludeBuffers)continue;let c=f.findChild(0,f.buffer.length,e,n-h,r);if(c>-1)return new So(new Ju(o,f,t,h),null,c)}else if(s&Re.IncludeAnonymous||!f.type.isAnonymous||Zu(f)){let c;if(!(s&Re.IgnoreMounts)&&(c=Cs.get(f))&&!c.overlay)return new i(c.tree,h,t,o);let p=new i(f,h,t,o);return s&Re.IncludeAnonymous||!p.type.isAnonymous?p:p.nextChild(e<0?f.children.length-1:0,e,n,r)}}}if(s&Re.IncludeAnonymous||!o.type.isAnonymous||(o.index>=0?t=o.index+e:t=e<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(t){return this.nextChild(0,1,t,2)}childBefore(t){return this.nextChild(this._tree.children.length-1,-1,t,-2)}enter(t,e,n=0){let r;if(!(n&Re.IgnoreOverlays)&&(r=Cs.get(this._tree))&&r.overlay){let s=t-this.from;for(let{from:o,to:a}of r.overlay)if((e>0?o<=s:o<s)&&(e<0?a>=s:a>s))return new i(r.tree,r.overlay[0].from+this.from,-1,this)}return this.nextChild(0,1,t,e,n)}nextSignificantParent(){let t=this;for(;t.type.isAnonymous&&t._parent;)t=t._parent;return t}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 Tf(i,t,e,n){let r=i.cursor(),s=[];if(!r.firstChild())return s;if(e!=null){for(let o=!1;!o;)if(o=r.type.is(e),!r.nextSibling())return s}for(;;){if(n!=null&&r.type.is(n))return s;if(r.type.is(t)&&s.push(r.node),!r.nextSibling())return n==null?s:[]}}function Ku(i,t,e=t.length-1){for(let n=i;e>=0;n=n.parent){if(!n)return!1;if(!n.type.isAnonymous){if(t[e]&&t[e]!=n.name)return!1;e--}}return!0}var Ju=class{constructor(t,e,n,r){this.parent=t,this.buffer=e,this.index=n,this.start=r}},So=class i extends Ka{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(t,e,n){super(),this.context=t,this._parent=e,this.index=n,this.type=t.buffer.set.types[t.buffer.buffer[n]]}child(t,e,n){let{buffer:r}=this.context,s=r.findChild(this.index+4,r.buffer[this.index+3],t,e-this.context.start,n);return s<0?null:new i(this.context,this,s)}get firstChild(){return this.child(1,0,4)}get lastChild(){return this.child(-1,0,4)}childAfter(t){return this.child(1,t,2)}childBefore(t){return this.child(-1,t,-2)}enter(t,e,n=0){if(n&Re.ExcludeBuffers)return null;let{buffer:r}=this.context,s=r.findChild(this.index+4,r.buffer[this.index+3],e>0?1:-1,t-this.context.start,e);return s<0?null:new i(this.context,this,s)}get parent(){return this._parent||this.context.parent.nextSignificantParent()}externalSibling(t){return this._parent?null:this.context.parent.nextChild(this.context.index+t,t,0,4)}get nextSibling(){let{buffer:t}=this.context,e=t.buffer[this.index+3];return e<(this._parent?t.buffer[this._parent.index+3]:t.buffer.length)?new i(this.context,this._parent,e):this.externalSibling(1)}get prevSibling(){let{buffer:t}=this.context,e=this._parent?this._parent.index+4:0;return this.index==e?this.externalSibling(-1):new i(this.context,this._parent,t.findChild(e,this.index,-1,0,4))}get tree(){return null}toTree(){let t=[],e=[],{buffer:n}=this.context,r=this.index+4,s=n.buffer[this.index+3];if(s>r){let o=n.buffer[this.index+1];t.push(n.slice(r,s,o)),e.push(0)}return new ki(this.type,t,e,this.to-this.from)}toString(){return this.context.buffer.childString(this.index)}};function Of(i){if(!i.length)return null;let t=0,e=i[0];for(let s=1;s<i.length;s++){let o=i[s];(o.from>e.from||o.to<e.to)&&(e=o,t=s)}let n=e instanceof En&&e.index<0?null:e.parent,r=i.slice();return n?r[t]=n:r.splice(t,1),new Xu(r,e)}var Xu=class{constructor(t,e){this.heads=t,this.node=e}get next(){return Of(this.heads)}};function ym(i,t,e){let n=i.resolveInner(t,e),r=null;for(let s=n instanceof En?n:n.context.parent;s;s=s.parent)if(s.index<0){let o=s.parent;(r||(r=[n])).push(o.resolve(t,e)),s=o}else{let o=Cs.get(s.tree);if(o&&o.overlay&&o.overlay[0].from<=t&&o.overlay[o.overlay.length-1].to>=t){let a=new En(o.tree,o.overlay[0].from+s.from,-1,s);(r||(r=[n])).push(ko(a,t,e,!1))}}return r?Of(r):n}var Mo=class{get name(){return this.type.name}constructor(t,e=0){if(this.mode=e,this.buffer=null,this.stack=[],this.index=0,this.bufferNode=null,t instanceof En)this.yieldNode(t);else{this._tree=t.context.parent,this.buffer=t.context;for(let n=t._parent;n;n=n._parent)this.stack.unshift(n.index);this.bufferNode=t,this.yieldBuf(t.index)}}yieldNode(t){return t?(this._tree=t,this.type=t.type,this.from=t.from,this.to=t.to,!0):!1}yieldBuf(t,e){this.index=t;let{start:n,buffer:r}=this.buffer;return this.type=e||r.set.types[r.buffer[t]],this.from=n+r.buffer[t+1],this.to=n+r.buffer[t+2],!0}yield(t){return t?t instanceof En?(this.buffer=null,this.yieldNode(t)):(this.buffer=t.context,this.yieldBuf(t.index,t.type)):!1}toString(){return this.buffer?this.buffer.buffer.childString(this.index):this._tree.toString()}enterChild(t,e,n){if(!this.buffer)return this.yield(this._tree.nextChild(t<0?this._tree._tree.children.length-1:0,t,e,n,this.mode));let{buffer:r}=this.buffer,s=r.findChild(this.index+4,r.buffer[this.index+3],t,e-this.buffer.start,n);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(t){return this.enterChild(1,t,2)}childBefore(t){return this.enterChild(-1,t,-2)}enter(t,e,n=this.mode){return this.buffer?n&Re.ExcludeBuffers?!1:this.enterChild(1,t,e):this.yield(this._tree.enter(t,e,n))}parent(){if(!this.buffer)return this.yieldNode(this.mode&Re.IncludeAnonymous?this._tree._parent:this._tree.parent);if(this.stack.length)return this.yieldBuf(this.stack.pop());let t=this.mode&Re.IncludeAnonymous?this.buffer.parent:this.buffer.parent.nextSignificantParent();return this.buffer=null,this.yieldNode(t)}sibling(t){if(!this.buffer)return this._tree._parent?this.yield(this._tree.index<0?null:this._tree._parent.nextChild(this._tree.index+t,t,0,4,this.mode)):!1;let{buffer:e}=this.buffer,n=this.stack.length-1;if(t<0){let r=n<0?0:this.stack[n]+4;if(this.index!=r)return this.yieldBuf(e.findChild(r,this.index,-1,0,4))}else{let r=e.buffer[this.index+3];if(r<(n<0?e.buffer.length:e.buffer[this.stack[n]+3]))return this.yieldBuf(r)}return n<0?this.yield(this.buffer.parent.nextChild(this.buffer.index+t,t,0,4,this.mode)):!1}nextSibling(){return this.sibling(1)}prevSibling(){return this.sibling(-1)}atLastNode(t){let e,n,{buffer:r}=this;if(r){if(t>0){if(this.index<r.buffer.buffer.length)return!1}else for(let s=0;s<this.index;s++)if(r.buffer.buffer[s+3]<this.index)return!1;({index:e,parent:n}=r)}else({index:e,_parent:n}=this._tree);for(;n;{index:e,_parent:n}=n)if(e>-1)for(let s=e+t,o=t<0?-1:n._tree.children.length;s!=o;s+=t){let a=n._tree.children[s];if(this.mode&Re.IncludeAnonymous||a instanceof cr||!a.type.isAnonymous||Zu(a))return!1}return!0}move(t,e){if(e&&this.enterChild(t,0,4))return!0;for(;;){if(this.sibling(t))return!0;if(this.atLastNode(t)||!this.parent())return!1}}next(t=!0){return this.move(1,t)}prev(t=!0){return this.move(-1,t)}moveTo(t,e=0){for(;(this.from==this.to||(e<1?this.from>=t:this.from>t)||(e>-1?this.to<=t:this.to<t))&&this.parent(););for(;this.enterChild(1,t,e););return this}get node(){if(!this.buffer)return this._tree;let t=this.bufferNode,e=null,n=0;if(t&&t.context==this.buffer)t:for(let r=this.index,s=this.stack.length;s>=0;){for(let o=t;o;o=o._parent)if(o.index==r){if(r==this.index)return o;e=o,n=s+1;break t}r=this.stack[--s]}for(let r=n;r<this.stack.length;r++)e=new So(this.buffer,e,this.stack[r]);return this.bufferNode=new So(this.buffer,e,this.index)}get tree(){return this.buffer?null:this._tree._tree}iterate(t,e){for(let n=0;;){let r=!1;if(this.type.isAnonymous||t(this)!==!1){if(this.firstChild()){n++;continue}this.type.isAnonymous||(r=!0)}for(;;){if(r&&e&&e(this),r=this.type.isAnonymous,!n)return;if(this.nextSibling())break;this.parent(),n--,r=!0}}}matchContext(t){if(!this.buffer)return Ku(this.node.parent,t);let{buffer:e}=this.buffer,{types:n}=e.set;for(let r=t.length-1,s=this.stack.length-1;r>=0;s--){if(s<0)return Ku(this._tree,t,r);let o=n[e.buffer[this.stack[s]]];if(!o.isAnonymous){if(t[r]&&t[r]!=o.name)return!1;r--}}return!0}};function Zu(i){return i.children.some(t=>t instanceof cr||!t.type.isAnonymous||Zu(t))}function xm(i){var t;let{buffer:e,nodeSet:n,maxBufferLength:r=1024,reused:s=[],minRepeatType:o=n.types.length}=i,a=Array.isArray(e)?new Yu(e,e.length):e,l=n.types,u=0,f=0;function h(M,w,x,A,D,N){let{id:I,start:R,end:z,size:U}=a,tt=f,rt=u;for(;U<0;)if(a.next(),U==-1){let Bt=s[I];x.push(Bt),A.push(R-M);return}else if(U==-3){u=I;return}else if(U==-4){f=I;return}else throw new RangeError(`Unrecognized record size: ${U}`);let At=l[I],St,mt,Dt=R-M;if(z-R<=r&&(mt=v(a.pos-w,D))){let Bt=new Uint16Array(mt.size-mt.skip),wt=a.pos-mt.size,qt=Bt.length;for(;a.pos>wt;)qt=_(mt.start,Bt,qt);St=new cr(Bt,z-mt.start,n),Dt=mt.start-M}else{let Bt=a.pos-U;a.next();let wt=[],qt=[],ee=I>=o?I:-1,Vt=0,Tt=z;for(;a.pos>Bt;)ee>=0&&a.id==ee&&a.size>=0?(a.end<=Tt-r&&(g(wt,qt,R,Vt,a.end,Tt,ee,tt,rt),Vt=wt.length,Tt=a.end),a.next()):N>2500?c(R,Bt,wt,qt):h(R,Bt,wt,qt,ee,N+1);if(ee>=0&&Vt>0&&Vt<wt.length&&g(wt,qt,R,Vt,R,Tt,ee,tt,rt),wt.reverse(),qt.reverse(),ee>-1&&Vt>0){let Nt=p(At,rt);St=th(At,wt,qt,0,wt.length,0,z-R,Nt,Nt)}else St=m(At,wt,qt,z-R,tt-z,rt)}x.push(St),A.push(Dt)}function c(M,w,x,A){let D=[],N=0,I=-1;for(;a.pos>w;){let{id:R,start:z,end:U,size:tt}=a;if(tt>4)a.next();else{if(I>-1&&z<I)break;I<0&&(I=U-r),D.push(R,z,U),N++,a.next()}}if(N){let R=new Uint16Array(N*4),z=D[D.length-2];for(let U=D.length-3,tt=0;U>=0;U-=3)R[tt++]=D[U],R[tt++]=D[U+1]-z,R[tt++]=D[U+2]-z,R[tt++]=tt;x.push(new cr(R,D[2]-z,n)),A.push(z-M)}}function p(M,w){return(x,A,D)=>{let N=0,I=x.length-1,R,z;if(I>=0&&(R=x[I])instanceof ki){if(!I&&R.type==M&&R.length==D)return R;(z=R.prop(ne.lookAhead))&&(N=A[I]+R.length+z)}return m(M,x,A,D,N,w)}}function g(M,w,x,A,D,N,I,R,z){let U=[],tt=[];for(;M.length>A;)U.push(M.pop()),tt.push(w.pop()+x-D);M.push(m(n.types[I],U,tt,N-D,R-N,z)),w.push(D-x)}function m(M,w,x,A,D,N,I){if(N){let R=[ne.contextHash,N];I=I?[R].concat(I):[R]}if(D>25){let R=[ne.lookAhead,D];I=I?[R].concat(I):[R]}return new ki(M,w,x,A,I)}function v(M,w){let x=a.fork(),A=0,D=0,N=0,I=x.end-r,R={size:0,start:0,skip:0};t:for(let z=x.pos-M;x.pos>z;){let U=x.size;if(x.id==w&&U>=0){R.size=A,R.start=D,R.skip=N,N+=4,A+=4,x.next();continue}let tt=x.pos-U;if(U<0||tt<z||x.start<I)break;let rt=x.id>=o?4:0,At=x.start;for(x.next();x.pos>tt;){if(x.size<0)if(x.size==-3)rt+=4;else break t;else x.id>=o&&(rt+=4);x.next()}D=At,A+=U,N+=rt}return(w<0||A==M)&&(R.size=A,R.start=D,R.skip=N),R.size>4?R:void 0}function _(M,w,x){let{id:A,start:D,end:N,size:I}=a;if(a.next(),I>=0&&A<o){let R=x;if(I>4){let z=a.pos-(I-4);for(;a.pos>z;)x=_(M,w,x)}w[--x]=R,w[--x]=N-M,w[--x]=D-M,w[--x]=A}else I==-3?u=A:I==-4&&(f=A);return x}let S=[],k=[];for(;a.pos>0;)h(i.start||0,i.bufferStart||0,S,k,-1,0);let E=(t=i.length)!==null&&t!==void 0?t:S.length?k[0]+S[0].length:0;return new ki(l[i.topID],S.reverse(),k.reverse(),E)}var Af=new WeakMap;function ja(i,t){if(!i.isAnonymous||t instanceof cr||t.type!=i)return 1;let e=Af.get(t);if(e==null){e=1;for(let n of t.children){if(n.type!=i||!(n instanceof ki)){e=1;break}e+=ja(i,n)}Af.set(t,e)}return e}function th(i,t,e,n,r,s,o,a,l){let u=0;for(let g=n;g<r;g++)u+=ja(i,t[g]);let f=Math.ceil(u*1.5/8),h=[],c=[];function p(g,m,v,_,S){for(let k=v;k<_;){let E=k,M=m[k],w=ja(i,g[k]);for(k++;k<_;k++){let x=ja(i,g[k]);if(w+x>=f)break;w+=x}if(k==E+1){if(w>f){let x=g[E];p(x.children,x.positions,0,x.children.length,m[E]+S);continue}h.push(g[E])}else{let x=m[k-1]+g[k-1].length-M;h.push(th(i,g,m,E,k,M,x,null,l))}c.push(M+S-s)}}return p(t,e,n,r,0),(a||l)(h,c,o)}var Ja=class{startParse(t,e,n){return typeof t=="string"&&(t=new Qu(t)),n=n?n.length?n.map(r=>new xo(r.from,r.to)):[new xo(0,0)]:[new xo(0,t.length)],this.createParse(t,e||[],n)}parse(t,e,n){let r=this.startParse(t,e,n);for(;;){let s=r.advance();if(s)return s}}},Qu=class{constructor(t){this.string=t}get length(){return this.string.length}chunk(t){return this.string.slice(t)}get lineChunks(){return!1}read(t,e){return this.string.slice(t,e)}};var ow=new ne({perNode:!0});var ih=class i{constructor(t,e,n,r,s,o,a,l,u,f=0,h){this.p=t,this.stack=e,this.state=n,this.reducePos=r,this.pos=s,this.score=o,this.buffer=a,this.bufferBase=l,this.curContext=u,this.lookAhead=f,this.parent=h}toString(){return`[${this.stack.filter((t,e)=>e%3==0).concat(this.state)}]@${this.pos}${this.score?"!"+this.score:""}`}static start(t,e,n=0){let r=t.parser.context;return new i(t,[],e,n,n,0,[],0,r?new Xa(r,r.start):null,0,null)}get context(){return this.curContext?this.curContext.context:null}pushState(t,e){this.stack.push(this.state,e,this.bufferBase+this.buffer.length),this.state=t}reduce(t){var e;let n=t>>19,r=t&65535,{parser:s}=this.p,o=s.dynamicPrecedence(r);if(o&&(this.score+=o),n==0){this.pushState(s.getGoto(this.state,r,!0),this.reducePos),r<s.minRepeatTerm&&this.storeNode(r,this.reducePos,this.reducePos,4,!0),this.reduceContext(r,this.reducePos);return}let a=this.stack.length-(n-1)*3-(t&262144?6:0),l=a?this.stack[a-2]:this.p.ranges[0].from,u=this.reducePos-l;u>=2e3&&!(!((e=this.p.parser.nodeSet.types[r])===null||e===void 0)&&e.isAnonymous)&&(l==this.p.lastBigReductionStart?(this.p.bigReductionCount++,this.p.lastBigReductionSize=u):this.p.lastBigReductionSize<u&&(this.p.bigReductionCount=1,this.p.lastBigReductionStart=l,this.p.lastBigReductionSize=u));let f=a?this.stack[a-1]:0,h=this.bufferBase+this.buffer.length-f;if(r<s.minRepeatTerm||t&131072){let c=s.stateFlag(this.state,1)?this.pos:this.reducePos;this.storeNode(r,l,c,h+4,!0)}if(t&262144)this.state=this.stack[a];else{let c=this.stack[a-3];this.state=s.getGoto(c,r,!0)}for(;this.stack.length>a;)this.stack.pop();this.reduceContext(r,l)}storeNode(t,e,n,r=4,s=!1){if(t==0&&(!this.stack.length||this.stack[this.stack.length-1]<this.buffer.length+this.bufferBase)){let o=this,a=this.buffer.length;if(a==0&&o.parent&&(a=o.bufferBase-o.parent.bufferBase,o=o.parent),a>0&&o.buffer[a-4]==0&&o.buffer[a-1]>-1){if(e==n)return;if(o.buffer[a-2]>=e){o.buffer[a-2]=n;return}}}if(!s||this.pos==n)this.buffer.push(t,e,n,r);else{let o=this.buffer.length;if(o>0&&this.buffer[o-4]!=0)for(;o>0&&this.buffer[o-2]>n;)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,r>4&&(r-=4);this.buffer[o]=t,this.buffer[o+1]=e,this.buffer[o+2]=n,this.buffer[o+3]=r}}shift(t,e,n,r){if(t&131072)this.pushState(t&65535,this.pos);else if((t&262144)==0){let s=t,{parser:o}=this.p;(r>this.pos||e<=o.maxNode)&&(this.pos=r,o.stateFlag(s,1)||(this.reducePos=r)),this.pushState(s,n),this.shiftContext(e,n),e<=o.maxNode&&this.buffer.push(e,n,r,4)}else this.pos=r,this.shiftContext(e,n),e<=this.p.parser.maxNode&&this.buffer.push(e,n,r,4)}apply(t,e,n,r){t&65536?this.reduce(t):this.shift(t,e,n,r)}useNode(t,e){let n=this.p.reused.length-1;(n<0||this.p.reused[n]!=t)&&(this.p.reused.push(t),n++);let r=this.pos;this.reducePos=this.pos=r+t.length,this.pushState(e,r),this.buffer.push(n,r,this.reducePos,-1),this.curContext&&this.updateContext(this.curContext.tracker.reuse(this.curContext.context,t,this,this.p.stream.reset(this.pos-t.length)))}split(){let t=this,e=t.buffer.length;for(;e>0&&t.buffer[e-2]>t.reducePos;)e-=4;let n=t.buffer.slice(e),r=t.bufferBase+e;for(;t&&r==t.bufferBase;)t=t.parent;return new i(this.p,this.stack.slice(),this.state,this.reducePos,this.pos,this.score,n,r,this.curContext,this.lookAhead,t)}recoverByDelete(t,e){let n=t<=this.p.parser.maxNode;n&&this.storeNode(t,this.pos,e,4),this.storeNode(0,this.pos,e,n?8:4),this.pos=this.reducePos=e,this.score-=190}canShift(t){for(let e=new nh(this);;){let n=this.p.parser.stateSlot(e.state,4)||this.p.parser.hasAction(e.state,t);if(n==0)return!1;if((n&65536)==0)return!0;e.reduce(n)}}recoverByInsert(t){if(this.stack.length>=300)return[];let e=this.p.parser.nextStates(this.state);if(e.length>8||this.stack.length>=120){let r=[];for(let s=0,o;s<e.length;s+=2)(o=e[s+1])!=this.state&&this.p.parser.hasAction(o,t)&&r.push(e[s],o);if(this.stack.length<120)for(let s=0;r.length<8&&s<e.length;s+=2){let o=e[s+1];r.some((a,l)=>l&1&&a==o)||r.push(e[s],o)}e=r}let n=[];for(let r=0;r<e.length&&n.length<4;r+=2){let s=e[r+1];if(s==this.state)continue;let o=this.split();o.pushState(s,this.pos),o.storeNode(0,o.pos,o.pos,4,!0),o.shiftContext(e[r],this.pos),o.reducePos=this.pos,o.score-=200,n.push(o)}return n}forceReduce(){let{parser:t}=this.p,e=t.stateSlot(this.state,5);if((e&65536)==0)return!1;if(!t.validAction(this.state,e)){let n=e>>19,r=e&65535,s=this.stack.length-n*3;if(s<0||t.getGoto(this.stack[s],r,!1)<0){let o=this.findForcedReduction();if(o==null)return!1;e=o}this.storeNode(0,this.pos,this.pos,4,!0),this.score-=100}return this.reducePos=this.pos,this.reduce(e),!0}findForcedReduction(){let{parser:t}=this.p,e=[],n=(r,s)=>{if(!e.includes(r))return e.push(r),t.allActions(r,o=>{if(!(o&393216))if(o&65536){let a=(o>>19)-s;if(a>1){let l=o&65535,u=this.stack.length-a*3;if(u>=0&&t.getGoto(this.stack[u],l,!1)>=0)return a<<19|65536|l}}else{let a=n(o,s+1);if(a!=null)return a}})};return n(this.state,0)}forceAll(){for(;!this.p.parser.stateFlag(this.state,2);)if(!this.forceReduce()){this.storeNode(0,this.pos,this.pos,4,!0);break}return this}get deadEnd(){if(this.stack.length!=3)return!1;let{parser:t}=this.p;return t.data[t.stateSlot(this.state,1)]==65535&&!t.stateSlot(this.state,4)}restart(){this.storeNode(0,this.pos,this.pos,4,!0),this.state=this.stack[0],this.stack.length=0}sameState(t){if(this.state!=t.state||this.stack.length!=t.stack.length)return!1;for(let e=0;e<this.stack.length;e+=3)if(this.stack[e]!=t.stack[e])return!1;return!0}get parser(){return this.p.parser}dialectEnabled(t){return this.p.parser.dialect.flags[t]}shiftContext(t,e){this.curContext&&this.updateContext(this.curContext.tracker.shift(this.curContext.context,t,this,this.p.stream.reset(e)))}reduceContext(t,e){this.curContext&&this.updateContext(this.curContext.tracker.reduce(this.curContext.context,t,this,this.p.stream.reset(e)))}emitContext(){let t=this.buffer.length-1;(t<0||this.buffer[t]!=-3)&&this.buffer.push(this.curContext.hash,this.pos,this.pos,-3)}emitLookAhead(){let t=this.buffer.length-1;(t<0||this.buffer[t]!=-4)&&this.buffer.push(this.lookAhead,this.pos,this.pos,-4)}updateContext(t){if(t!=this.curContext.context){let e=new Xa(this.curContext.tracker,t);e.hash!=this.curContext.hash&&this.emitContext(),this.curContext=e}}setLookAhead(t){t>this.lookAhead&&(this.emitLookAhead(),this.lookAhead=t)}close(){this.curContext&&this.curContext.tracker.strict&&this.emitContext(),this.lookAhead>0&&this.emitLookAhead()}},Xa=class{constructor(t,e){this.tracker=t,this.context=e,this.hash=t.strict?t.hash(e):0}},nh=class{constructor(t){this.start=t,this.state=t.state,this.stack=t.stack,this.base=this.stack.length}reduce(t){let e=t&65535,n=t>>19;n==0?(this.stack==this.start.stack&&(this.stack=this.stack.slice()),this.stack.push(this.state,0,0),this.base+=3):this.base-=(n-1)*3;let r=this.start.p.parser.getGoto(this.stack[this.base-3],e,!0);this.state=r}},rh=class i{constructor(t,e,n){this.stack=t,this.pos=e,this.index=n,this.buffer=t.buffer,this.index==0&&this.maybeNext()}static create(t,e=t.bufferBase+t.buffer.length){return new i(t,e,e-t.bufferBase)}maybeNext(){let t=this.stack.parent;t!=null&&(this.index=this.stack.bufferBase-t.bufferBase,this.stack=t,this.buffer=t.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 i(this.stack,this.pos,this.index)}};function Eo(i,t=Uint16Array){if(typeof i!="string")return i;let e=null;for(let n=0,r=0;n<i.length;){let s=0;for(;;){let o=i.charCodeAt(n++),a=!1;if(o==126){s=65535;break}o>=92&&o--,o>=34&&o--;let l=o-32;if(l>=46&&(l-=46,a=!0),s+=l,a)break;s*=46}e?e[r++]=s:e=new t(s)}return e}var Os=class{constructor(){this.start=-1,this.value=-1,this.end=-1,this.extended=-1,this.lookAhead=0,this.mask=0,this.context=0}},Df=new Os,sh=class{constructor(t,e){this.input=t,this.ranges=e,this.chunk="",this.chunkOff=0,this.chunk2="",this.chunk2Pos=0,this.next=-1,this.token=Df,this.rangeIndex=0,this.pos=this.chunkPos=e[0].from,this.range=e[0],this.end=e[e.length-1].to,this.readNext()}resolveOffset(t,e){let n=this.range,r=this.rangeIndex,s=this.pos+t;for(;s<n.from;){if(!r)return null;let o=this.ranges[--r];s-=n.from-o.to,n=o}for(;e<0?s>n.to:s>=n.to;){if(r==this.ranges.length-1)return null;let o=this.ranges[++r];s+=o.from-n.to,n=o}return s}clipPos(t){if(t>=this.range.from&&t<this.range.to)return t;for(let e of this.ranges)if(e.to>t)return Math.max(t,e.from);return this.end}peek(t){let e=this.chunkOff+t,n,r;if(e>=0&&e<this.chunk.length)n=this.pos+t,r=this.chunk.charCodeAt(e);else{let s=this.resolveOffset(t,1);if(s==null)return-1;if(n=s,n>=this.chunk2Pos&&n<this.chunk2Pos+this.chunk2.length)r=this.chunk2.charCodeAt(n-this.chunk2Pos);else{let o=this.rangeIndex,a=this.range;for(;a.to<=n;)a=this.ranges[++o];this.chunk2=this.input.chunk(this.chunk2Pos=n),n+this.chunk2.length>a.to&&(this.chunk2=this.chunk2.slice(0,a.to-n)),r=this.chunk2.charCodeAt(0)}}return n>=this.token.lookAhead&&(this.token.lookAhead=n+1),r}acceptToken(t,e=0){let n=e?this.resolveOffset(e,-1):this.pos;if(n==null||n<this.token.start)throw new RangeError("Token end out of bounds");this.token.value=t,this.token.end=n}getChunk(){if(this.pos>=this.chunk2Pos&&this.pos<this.chunk2Pos+this.chunk2.length){let{chunk:t,chunkPos:e}=this;this.chunk=this.chunk2,this.chunkPos=this.chunk2Pos,this.chunk2=t,this.chunk2Pos=e,this.chunkOff=this.pos-this.chunkPos}else{this.chunk2=this.chunk,this.chunk2Pos=this.chunkPos;let t=this.input.chunk(this.pos),e=this.pos+t.length;this.chunk=e>this.range.to?t.slice(0,this.range.to-this.pos):t,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(t=1){for(this.chunkOff+=t;this.pos+t>=this.range.to;){if(this.rangeIndex==this.ranges.length-1)return this.setDone();t-=this.range.to-this.pos,this.range=this.ranges[++this.rangeIndex],this.pos=this.range.from}return this.pos+=t,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(t,e){if(e?(this.token=e,e.start=t,e.lookAhead=t+1,e.value=e.extended=-1):this.token=Df,this.pos!=t){if(this.pos=t,t==this.end)return this.setDone(),this;for(;t<this.range.from;)this.range=this.ranges[--this.rangeIndex];for(;t>=this.range.to;)this.range=this.ranges[++this.rangeIndex];t>=this.chunkPos&&t<this.chunkPos+this.chunk.length?this.chunkOff=t-this.chunkPos:(this.chunk="",this.chunkOff=0),this.readNext()}return this}read(t,e){if(t>=this.chunkPos&&e<=this.chunkPos+this.chunk.length)return this.chunk.slice(t-this.chunkPos,e-this.chunkPos);if(t>=this.chunk2Pos&&e<=this.chunk2Pos+this.chunk2.length)return this.chunk2.slice(t-this.chunk2Pos,e-this.chunk2Pos);if(t>=this.range.from&&e<=this.range.to)return this.input.read(t,e);let n="";for(let r of this.ranges){if(r.from>=e)break;r.to>t&&(n+=this.input.read(Math.max(r.from,t),Math.min(r.to,e)))}return n}},fr=class{constructor(t,e){this.data=t,this.id=e}token(t,e){let{parser:n}=e.p;Nf(this.data,t,e,this.id,n.data,n.tokenPrecTable)}};fr.prototype.contextual=fr.prototype.fallback=fr.prototype.extend=!1;var Gn=class{constructor(t,e,n){this.precTable=e,this.elseToken=n,this.data=typeof t=="string"?Eo(t):t}token(t,e){let n=t.pos,r=0;for(;;){let s=t.next<0,o=t.resolveOffset(1,1);if(Nf(this.data,t,e,0,this.data,this.precTable),t.token.value>-1)break;if(this.elseToken==null)return;if(s||r++,o==null)break;t.reset(o,t.token)}r&&(t.reset(n,t.token),t.acceptToken(this.elseToken,r))}};Gn.prototype.contextual=fr.prototype.fallback=fr.prototype.extend=!1;function Nf(i,t,e,n,r,s){let o=0,a=1<<n,{dialect:l}=e.p.parser;t:for(;(a&i[o])!=0;){let u=i[o+1];for(let p=o+3;p<u;p+=2)if((i[p+1]&a)>0){let g=i[p];if(l.allows(g)&&(t.token.value==-1||t.token.value==g||Sm(g,t.token.value,r,s))){t.acceptToken(g);break}}let f=t.next,h=0,c=i[o+2];if(t.next<0&&c>h&&i[u+c*3-3]==65535){o=i[u+c*3-1];continue t}for(;h<c;){let p=h+c>>1,g=u+p+(p<<1),m=i[g],v=i[g+1]||65536;if(f<m)c=p;else if(f>=v)h=p+1;else{o=i[g+2],t.advance();continue t}}break}}function $f(i,t,e){for(let n=t,r;(r=i[n])!=65535;n++)if(r==e)return n-t;return-1}function Sm(i,t,e,n){let r=$f(e,n,t);return r<0||$f(e,n,i)<r}var Ri=typeof process<"u"&&process.env&&/\bparse\b/.test(process.env.LOG),eh=null;function Rf(i,t,e){let n=i.cursor(Re.IncludeAnonymous);for(n.moveTo(t);;)if(!(e<0?n.childBefore(t):n.childAfter(t)))for(;;){if((e<0?n.to<t:n.from>t)&&!n.type.isError)return e<0?Math.max(0,Math.min(n.to-1,t-25)):Math.min(i.length,Math.max(n.from+1,t+25));if(e<0?n.prevSibling():n.nextSibling())break;if(!n.parent())return e<0?0:i.length}}var oh=class{constructor(t,e){this.fragments=t,this.nodeSet=e,this.i=0,this.fragment=null,this.safeFrom=-1,this.safeTo=-1,this.trees=[],this.start=[],this.index=[],this.nextFragment()}nextFragment(){let t=this.fragment=this.i==this.fragments.length?null:this.fragments[this.i++];if(t){for(this.safeFrom=t.openStart?Rf(t.tree,t.from+t.offset,1)-t.offset:t.from,this.safeTo=t.openEnd?Rf(t.tree,t.to+t.offset,-1)-t.offset:t.to;this.trees.length;)this.trees.pop(),this.start.pop(),this.index.pop();this.trees.push(t.tree),this.start.push(-t.offset),this.index.push(0),this.nextStart=this.safeFrom}else this.nextStart=1e9}nodeAt(t){if(t<this.nextStart)return null;for(;this.fragment&&this.safeTo<=t;)this.nextFragment();if(!this.fragment)return null;for(;;){let e=this.trees.length-1;if(e<0)return this.nextFragment(),null;let n=this.trees[e],r=this.index[e];if(r==n.children.length){this.trees.pop(),this.start.pop(),this.index.pop();continue}let s=n.children[r],o=this.start[e]+n.positions[r];if(o>t)return this.nextStart=o,null;if(s instanceof ki){if(o==t){if(o<this.safeFrom)return null;let a=o+s.length;if(a<=this.safeTo){let l=s.prop(ne.lookAhead);if(!l||a+l<this.fragment.to)return s}}this.index[e]++,o+s.length>=Math.max(this.safeFrom,t)&&(this.trees.push(s),this.start.push(o),this.index.push(0))}else this.index[e]++,this.nextStart=o+s.length}}},ah=class{constructor(t,e){this.stream=e,this.tokens=[],this.mainToken=null,this.actions=[],this.tokens=t.tokenizers.map(n=>new Os)}getActions(t){let e=0,n=null,{parser:r}=t.p,{tokenizers:s}=r,o=r.stateSlot(t.state,3),a=t.curContext?t.curContext.hash:0,l=0;for(let u=0;u<s.length;u++){if((1<<u&o)==0)continue;let f=s[u],h=this.tokens[u];if(!(n&&!f.fallback)&&((f.contextual||h.start!=t.pos||h.mask!=o||h.context!=a)&&(this.updateCachedToken(h,f,t),h.mask=o,h.context=a),h.lookAhead>h.end+25&&(l=Math.max(h.lookAhead,l)),h.value!=0)){let c=e;if(h.extended>-1&&(e=this.addActions(t,h.extended,h.end,e)),e=this.addActions(t,h.value,h.end,e),!f.extend&&(n=h,e>c))break}}for(;this.actions.length>e;)this.actions.pop();return l&&t.setLookAhead(l),!n&&t.pos==this.stream.end&&(n=new Os,n.value=t.p.parser.eofTerm,n.start=n.end=t.pos,e=this.addActions(t,n.value,n.end,e)),this.mainToken=n,this.actions}getMainToken(t){if(this.mainToken)return this.mainToken;let e=new Os,{pos:n,p:r}=t;return e.start=n,e.end=Math.min(n+1,r.stream.end),e.value=n==r.stream.end?r.parser.eofTerm:0,e}updateCachedToken(t,e,n){let r=this.stream.clipPos(n.pos);if(e.token(this.stream.reset(r,t),n),t.value>-1){let{parser:s}=n.p;for(let o=0;o<s.specialized.length;o++)if(s.specialized[o]==t.value){let a=s.specializers[o](this.stream.read(t.start,t.end),n);if(a>=0&&n.p.parser.dialect.allows(a>>1)){(a&1)==0?t.value=a>>1:t.extended=a>>1;break}}}else t.value=0,t.end=this.stream.clipPos(r+1)}putAction(t,e,n,r){for(let s=0;s<r;s+=3)if(this.actions[s]==t)return r;return this.actions[r++]=t,this.actions[r++]=e,this.actions[r++]=n,r}addActions(t,e,n,r){let{state:s}=t,{parser:o}=t.p,{data:a}=o;for(let l=0;l<2;l++)for(let u=o.stateSlot(s,l?2:1);;u+=3){if(a[u]==65535)if(a[u+1]==1)u=zn(a,u+2);else{r==0&&a[u+1]==2&&(r=this.putAction(zn(a,u+2),e,n,r));break}a[u]==e&&(r=this.putAction(zn(a,u+1),e,n,r))}return r}},lh=class{constructor(t,e,n,r){this.parser=t,this.input=e,this.ranges=r,this.recovering=0,this.nextStackID=9812,this.minStackPos=0,this.reused=[],this.stoppedAt=null,this.lastBigReductionStart=-1,this.lastBigReductionSize=0,this.bigReductionCount=0,this.stream=new sh(e,r),this.tokens=new ah(t,this.stream),this.topTerm=t.top[1];let{from:s}=r[0];this.stacks=[ih.start(this,t.top[0],s)],this.fragments=n.length&&this.stream.end-s>t.bufferLength*4?new oh(n,t.nodeSet):null}get parsedPos(){return this.minStackPos}advance(){let t=this.stacks,e=this.minStackPos,n=this.stacks=[],r,s;if(this.bigReductionCount>300&&t.length==1){let[o]=t;for(;o.forceReduce()&&o.stack.length&&o.stack[o.stack.length-2]>=this.lastBigReductionStart;);this.bigReductionCount=this.lastBigReductionSize=0}for(let o=0;o<t.length;o++){let a=t[o];for(;;){if(this.tokens.mainToken=null,a.pos>e)n.push(a);else{if(this.advanceStack(a,n,t))continue;{r||(r=[],s=[]),r.push(a);let l=this.tokens.getMainToken(a);s.push(l.value,l.end)}}break}}if(!n.length){let o=r&&Mm(r);if(o)return this.stackToTree(o);if(this.parser.strict)throw new SyntaxError("No parse at "+e);this.recovering||(this.recovering=5)}if(this.recovering&&r){let o=this.stoppedAt!=null&&r[0].pos>this.stoppedAt?r[0]:this.runRecovery(r,s,n);if(o)return this.stackToTree(o.forceAll())}if(this.recovering){let o=this.recovering==1?1:this.recovering*3;if(n.length>o)for(n.sort((a,l)=>l.score-a.score);n.length>o;)n.pop();n.some(a=>a.reducePos>e)&&this.recovering--}else if(n.length>1){t:for(let o=0;o<n.length-1;o++){let a=n[o];for(let l=o+1;l<n.length;l++){let u=n[l];if(a.sameState(u)||a.buffer.length>500&&u.buffer.length>500)if((a.score-u.score||a.buffer.length-u.buffer.length)>0)n.splice(l--,1);else{n.splice(o--,1);continue t}}}n.length>12&&n.splice(12,n.length-12)}this.minStackPos=n[0].pos;for(let o=1;o<n.length;o++)n[o].pos<this.minStackPos&&(this.minStackPos=n[o].pos);return null}stopAt(t){if(this.stoppedAt!=null&&this.stoppedAt<t)throw new RangeError("Can't move stoppedAt forward");this.stoppedAt=t}advanceStack(t,e,n){let r=t.pos,{parser:s}=this,o=Ri?this.stackID(t)+" -> ":"";if(this.stoppedAt!=null&&r>this.stoppedAt)return t.forceReduce()?t:null;if(this.fragments){let u=t.curContext&&t.curContext.tracker.strict,f=u?t.curContext.hash:0;for(let h=this.fragments.nodeAt(r);h;){let c=this.parser.nodeSet.types[h.type.id]==h.type?s.getGoto(t.state,h.type.id):-1;if(c>-1&&h.length&&(!u||(h.prop(ne.contextHash)||0)==f))return t.useNode(h,c),!0;if(!(h instanceof ki)||h.children.length==0||h.positions[0]>0)break;let p=h.children[0];if(p instanceof ki&&h.positions[0]==0)h=p;else break}}let a=s.stateSlot(t.state,4);if(a>0)return t.reduce(a),!0;if(t.stack.length>=8400)for(;t.stack.length>6e3&&t.forceReduce(););let l=this.tokens.getActions(t);for(let u=0;u<l.length;){let f=l[u++],h=l[u++],c=l[u++],p=u==l.length||!n,g=p?t:t.split(),m=this.tokens.mainToken;if(g.apply(f,h,m?m.start:g.pos,c),p)return!0;g.pos>r?e.push(g):n.push(g)}return!1}advanceFully(t,e){let n=t.pos;for(;;){if(!this.advanceStack(t,null,null))return!1;if(t.pos>n)return If(t,e),!0}}runRecovery(t,e,n){let r=null,s=!1;for(let o=0;o<t.length;o++){let a=t[o],l=e[o<<1],u=e[(o<<1)+1],f=Ri?this.stackID(a)+" -> ":"";if(a.deadEnd&&(s||(s=!0,a.restart(),this.advanceFully(a,n))))continue;let h=a.split(),c=f;for(let p=0;h.forceReduce()&&p<10&&!this.advanceFully(h,n);p++)Ri&&(c=this.stackID(h)+" -> ");for(let p of a.recoverByInsert(l))this.advanceFully(p,n);this.stream.end>a.pos?(u==a.pos&&(u++,l=0),a.recoverByDelete(l,u),If(a,n)):(!r||r.score<a.score)&&(r=a)}return r}stackToTree(t){return t.close(),ki.build({buffer:rh.create(t),nodeSet:this.parser.nodeSet,topID:this.topTerm,maxBufferLength:this.parser.bufferLength,reused:this.reused,start:this.ranges[0].from,length:t.pos-this.ranges[0].from,minRepeatType:this.parser.minRepeatTerm})}stackID(t){let e=(eh||(eh=new WeakMap)).get(t);return e||eh.set(t,e=String.fromCodePoint(this.nextStackID++)),e+t}};function If(i,t){for(let e=0;e<t.length;e++){let n=t[e];if(n.pos==i.pos&&n.sameState(i)){t[e].score<i.score&&(t[e]=i);return}}t.push(i)}var uh=class{constructor(t,e,n){this.source=t,this.flags=e,this.disabled=n}allows(t){return!this.disabled||this.disabled[t]==0}};var Qa=class i extends Ja{constructor(t){if(super(),this.wrappers=[],t.version!=14)throw new RangeError(`Parser version (${t.version}) doesn't match runtime version (14)`);let e=t.nodeNames.split(" ");this.minRepeatTerm=e.length;for(let a=0;a<t.repeatNodeCount;a++)e.push("");let n=Object.keys(t.topRules).map(a=>t.topRules[a][1]),r=[];for(let a=0;a<e.length;a++)r.push([]);function s(a,l,u){r[a].push([l,l.deserialize(String(u))])}if(t.nodeProps)for(let a of t.nodeProps){let l=a[0];typeof l=="string"&&(l=ne[l]);for(let u=1;u<a.length;){let f=a[u++];if(f>=0)s(f,l,a[u++]);else{let h=a[u+-f];for(let c=-f;c>0;c--)s(a[u++],l,h);u++}}}this.nodeSet=new Ya(e.map((a,l)=>Ki.define({name:l>=this.minRepeatTerm?void 0:a,id:l,props:r[l],top:n.indexOf(l)>-1,error:l==0,skipped:t.skippedNodes&&t.skippedNodes.indexOf(l)>-1}))),t.propSources&&(this.nodeSet=this.nodeSet.extend(...t.propSources)),this.strict=!1,this.bufferLength=1024;let o=Eo(t.tokenData);this.context=t.context,this.specializerSpecs=t.specialized||[],this.specialized=new Uint16Array(this.specializerSpecs.length);for(let a=0;a<this.specializerSpecs.length;a++)this.specialized[a]=this.specializerSpecs[a].term;this.specializers=this.specializerSpecs.map(Pf),this.states=Eo(t.states,Uint32Array),this.data=Eo(t.stateData),this.goto=Eo(t.goto),this.maxTerm=t.maxTerm,this.tokenizers=t.tokenizers.map(a=>typeof a=="number"?new fr(o,a):a),this.topRules=t.topRules,this.dialects=t.dialects||{},this.dynamicPrecedences=t.dynamicPrecedences||null,this.tokenPrecTable=t.tokenPrec,this.termNames=t.termNames||null,this.maxNode=this.nodeSet.types.length-1,this.dialect=this.parseDialect(),this.top=this.topRules[Object.keys(this.topRules)[0]]}createParse(t,e,n){let r=new lh(this,t,e,n);for(let s of this.wrappers)r=s(r,t,e,n);return r}getGoto(t,e,n=!1){let r=this.goto;if(e>=r[0])return-1;for(let s=r[e+1];;){let o=r[s++],a=o&1,l=r[s++];if(a&&n)return l;for(let u=s+(o>>1);s<u;s++)if(r[s]==t)return l;if(a)return-1}}hasAction(t,e){let n=this.data;for(let r=0;r<2;r++)for(let s=this.stateSlot(t,r?2:1),o;;s+=3){if((o=n[s])==65535)if(n[s+1]==1)o=n[s=zn(n,s+2)];else{if(n[s+1]==2)return zn(n,s+2);break}if(o==e||o==0)return zn(n,s+1)}return 0}stateSlot(t,e){return this.states[t*6+e]}stateFlag(t,e){return(this.stateSlot(t,0)&e)>0}validAction(t,e){return!!this.allActions(t,n=>n==e?!0:null)}allActions(t,e){let n=this.stateSlot(t,4),r=n?e(n):void 0;for(let s=this.stateSlot(t,1);r==null;s+=3){if(this.data[s]==65535)if(this.data[s+1]==1)s=zn(this.data,s+2);else break;r=e(zn(this.data,s+1))}return r}nextStates(t){let e=[];for(let n=this.stateSlot(t,1);;n+=3){if(this.data[n]==65535)if(this.data[n+1]==1)n=zn(this.data,n+2);else break;if((this.data[n+2]&1)==0){let r=this.data[n+1];e.some((s,o)=>o&1&&s==r)||e.push(this.data[n],r)}}return e}configure(t){let e=Object.assign(Object.create(i.prototype),this);if(t.props&&(e.nodeSet=this.nodeSet.extend(...t.props)),t.top){let n=this.topRules[t.top];if(!n)throw new RangeError(`Invalid top rule name ${t.top}`);e.top=n}return t.tokenizers&&(e.tokenizers=this.tokenizers.map(n=>{let r=t.tokenizers.find(s=>s.from==n);return r?r.to:n})),t.specializers&&(e.specializers=this.specializers.slice(),e.specializerSpecs=this.specializerSpecs.map((n,r)=>{let s=t.specializers.find(a=>a.from==n.external);if(!s)return n;let o=Object.assign(Object.assign({},n),{external:s.to});return e.specializers[r]=Pf(o),o})),t.contextTracker&&(e.context=t.contextTracker),t.dialect&&(e.dialect=this.parseDialect(t.dialect)),t.strict!=null&&(e.strict=t.strict),t.wrap&&(e.wrappers=e.wrappers.concat(t.wrap)),t.bufferLength!=null&&(e.bufferLength=t.bufferLength),e}hasWrappers(){return this.wrappers.length>0}getName(t){return this.termNames?this.termNames[t]:String(t<=this.maxNode&&this.nodeSet.types[t].name||t)}get eofTerm(){return this.maxNode+1}get topNode(){return this.nodeSet.types[this.top[1]]}dynamicPrecedence(t){let e=this.dynamicPrecedences;return e==null?0:e[t]||0}parseDialect(t){let e=Object.keys(this.dialects),n=e.map(()=>!1);if(t)for(let s of t.split(" ")){let o=e.indexOf(s);o>=0&&(n[o]=!0)}let r=null;for(let s=0;s<e.length;s++)if(!n[s])for(let o=this.dialects[e[s]],a;(a=this.data[o++])!=65535;)(r||(r=new Uint8Array(this.maxTerm+1)))[a]=1;return new uh(t,n,r)}static deserialize(t){return new i(t)}};function zn(i,t){return i[t]|i[t+1]<<16}function Mm(i){let t=null;for(let e of i){let n=e.p.stoppedAt;(e.pos==e.p.stream.end||n!=null&&e.pos>n)&&e.p.parser.stateFlag(e.state,2)&&(!t||t.score<e.score)&&(t=e)}return t}function Pf(i){if(i.external){let t=i.extend?1:0;return(e,n)=>i.external(e,n)<<1|t}return i.get}var Em=Qa.deserialize({version:14,states:")`QQOPOOOfOQO'#C^OqOSO'#C`O|OWO'#CbO!XO`O'#CeO!dOpO'#CgOOOO'#Ck'#CkOOOO'#Ci'#CiQQOPOOOOOO,58x,58xO!oOQO,58xO!wOQO,58xOOOO,58z,58zO#POSO,58zO#XOSO,58zO#aOWO,58|O#iOWO,58|O#qOWO,58|OOOO,59P,59PO#yO`O,59PO$RO`O,59POOOO,59R,59RO$ZOpO,59RO$cOpO,59ROOOO-E6g-E6gOOOO1G.d1G.dO$kOQO1G.dO$nOQO1G.dOOOO1G.f1G.fO$sOSO1G.fO$vOSO1G.fOOOO1G.h1G.hO${OWO1G.hO%QOWO1G.hO%YOWO1G.hO%bOWO1G.hOOOO1G.k1G.kO%gO`O1G.kO%jO`O1G.kOOOO1G.m1G.mO%oOpO1G.mO%rOpO1G.mOOOO7+$O7+$OO%wOQO7+$OOOOO7+$Q7+$QO%|OSO7+$QOOOO7+$S7+$SO&ROWO7+$SO&WOWO7+$SO&`OWO7+$SOOOO7+$V7+$VO&eO`O7+$VOOOO7+$X7+$XO&jOpO7+$XOOOO<<Gj<<GjOOOO<<Gl<<GlOOOO<<Gn<<GnO&oOWO<<GnO&tOWO<<GnOOOO<<Gq<<GqOOOO<<Gs<<GsOOOOAN=YAN=YO&|OWOAN=YOOOOG22tG22t",stateData:"'R~O`POcQOfROiSOlTOoVO~ORZOaYObXO~OT^Od]Oe[O~OVaOW_Og`O~OYdOjcOkbO~O[gOmfOneO~ORjObiO~OakObiO~OTmOelO~OdnOelO~OgpOhoO~OVrOWqO~OWqOgsO~OYuOktO~OjvOktO~O[xOnwO~OmyOnwO~Oa{ObzO~Od}Oe|O~Oh!OO~Og!POh!OO~OW!QOg!RO~OW!QO~Oj!TOk!SO~Om!VOn!UO~Ob!WO~Oe!XO~Oh!YO~Og!ZOh!YO~OW![O~Ok!]O~On!^O~Oh!_O~Og!`Oh!_O~Oh!aO~O",goto:"o`PPaPaPaPPaPaPePkTUOWQWORhWTVOW",nodeNames:"\u26A0 CriticMarkup Addition MDSepAdd Deletion MDSepDel Substitution MDSepSub MSub Comment MDSepCom Highlight MDSepHig",maxTerm:31,skippedNodes:[0],repeatNodeCount:1,tokenData:"'o~R]XYzYZz]^zpqzqrzrszs#Oz#O#P!P#P#oz#o#p#s#p;'Sz;'S;=`'i<%lOz~!POo~~!UXo~rsz!P!Qz#O#Pz#U#Vz#Y#Zz#b#cz#f#gz#h#iz#i#j!q~!tR!Q![!}!c!i!}#T#Z!}~#QR!Q![#Z!c!i#Z#T#Z#Z~#^R!Q![#g!c!i#g#T#Z#g~#jR!Q![z!c!iz#T#Zz~#xVo~vw$_{|%`}!O%k!^!_%v!_!`'V!`!a']#r#s'c~$bP#Z#[$e~$hP#h#i$k~$nP!]!^$q~$tPvw$w~$zP#Z#[$}~%QP#h#i%T~%WP!]!^%Z~%`Oi~~%cP{|%f~%kO`~~%nP}!O%q~%vOc~~%yQ#W#X&P#a#b&h~&SP#X#Y&V~&YP#`#a&]~&`P!`!a&c~&hOf~~&kP#T#U&n~&qP#f#g&t~&wP#_#`&z~&}P!`!a'Q~'VOl~~'YP!_!`'Q~'`P!`!a%Z~'fP#r#s&c~'lP;=`<%lz",tokenizers:[5,new Gn("v~RQ{|X!b!cj~[P{|_~bP#q#re~jOb~~mP!b!cp~uOR~~",37,17),new Gn("v~RQ}!OX!b!cj~[P}!O_~bP#q#re~jOe~~mP!b!cp~uOT~~",37,20),new Gn("#W~RR!^!_[!b!c!V#r#s!b~_P!P!Qb~eP#W#Xh~kP#X#Yn~qP#`#at~wP!`!az~}P#q#r!Q~!VOh~~!YP!b!c!]~!bOV~~!eRvw!n!`!a#Q#r#sz~!qP#Z#[!t~!wP#h#i!z~!}P!]!^#Q~#VOW~~",99,23),new Gn("!u~RRvw[!^!_!c!b!c!i~_P#`#ab~eP#h#ih~kP!]!^n~qPvwt~wP#`#az~}P#h#i!Q~!TP!]!^!W~!ZP#q#r!^~!cOk~~!fP!^!_!W~!lP!b!c!o~!tOY~~",82,26),new Gn("!o~RR!^!_[!_!`!]!b!c!c~_P!P!Qb~eP#a#bh~kP#T#Un~qP#f#gt~wP#_#`z~}P!`!a!Q~!TP#q#r!W~!]On~~!`P!_!`!Q~!fP!b!c!i~!nO[~~",76,29)],topRules:{CriticMarkup:[0,1]},tokenPrec:0}),Za=hh.LRLanguage.define({name:"criticmarkup",parser:Em.configure({})});var Rh=require("obsidian");var Bx=require("@codemirror/state");var Hf=require("obsidian"),Hr=require("@codemirror/state");var Lf=require("@codemirror/view"),ti=null,ch=Lf.EditorView.domEventHandlers({keydown:(i,t)=>{ti=i},contextmenu:(i,t)=>{ti=i}});var Bf=require("@codemirror/state");function tl(i,t,e,n,r){if(t.includes("select.pointer")||ti&&r.key==="a"&&(ti.ctrlKey||ti.metaKey))return;let s=t.includes("select.backward"),o=t.includes("select.group"),a=t.includes("select.extend");!e&&r&&(s=r.key==="ArrowLeft",r.key==="ArrowLeft"?s=!0:r.key==="ArrowRight"?s=!1:s=!wf(i.startState.selection,i.selection),a=r.shiftKey,o=r.ctrlKey||r.metaKey);let l=i.startState.field(Pt).ranges,u=i.selection.ranges.map((f,h)=>Ff(i.startState.selection.ranges[h],f,l,!s,o,a,e,i.startState,n.suggestion_mode_operations.cursor_movement,n.suggestion_mode_operations.bracket_movement).selection);return{selection:Bf.EditorSelection.create(u),filter:!1}}function Tm(i,t){return t.some(e=>e.startsWith(i))}var fh=i=>Hr.EditorState.transactionFilter.of(t=>Am(t,i));function Am(i,t){let e=el(i),{app:n}=i.startState.field(Hf.editorInfoField),r=n.workspace.activeEditor?.editor?.cm.cm!==void 0;if(!i.docChanged&&r&&ys(i)&&e.push(i.startState.selection.ranges[0].from<i.newSelection.ranges[0].from?"select.forward":"select.backward"),i.docChanged){let s=bo(i.startState.selection,i.changes,i.startState.doc);if(!(i.isUserEvent("input")||i.isUserEvent("paste")||i.isUserEvent("delete")))return i;let o=i.startState.field(Pt).ranges,a=[],l=[],u=ti?.key==="Backspace",f=ti?.ctrlKey,h=0;for(let c of s){i.isUserEvent("delete")&&(c=il(c,o,u,f,i.startState));let p=o.ranges_in_interval(c.from,c.to);if(!p.length){a.push({from:c.from,to:c.to,insert:c.inserted}),l.push(i.newSelection.ranges[0]),h+=c.inserted.length;continue}if(c.from===c.to){let v=p[0];if(v){let _=v.touches_left_bracket(c.from,!1,!0,!0)?!0:v.touches_right_bracket(c.from,!1,!0)?!1:void 0;if(_!==void 0){let S=c.from;S!==v.to-3&&(S=_?v.from:v.to),a.push({from:S,to:S,insert:c.inserted}),h+=c.inserted.length,l.push(Hr.EditorSelection.cursor(S+h));continue}}}else if(!c.inserted.length){let v=c.from<p[0].from?c.from:p[0].touches_left_bracket(c.from,!1,!0,!0)?p[0].from:void 0,_=c.to>p[0].to?c.to:p[0].touches_right_bracket(c.to,!1,!0)?p[0].to:void 0;if(v!==void 0&&_!==void 0){a.push({from:v,to:_,insert:""}),l.push(Hr.EditorSelection.cursor(v+h)),h-=_-v;continue}}let g=To(o,i.startState.doc,c.from,c.to,c.inserted,"regular"),m=g.slice(0,-1).reduce((v,_)=>v-(_.to-_.from)+_.insert.length,0);g&&(a.push(g),l.push(Hr.EditorSelection.cursor((u?g[0].start:g[g.length-1].end+m)+h)),h+=m-(g[g.length-1].to-g[g.length-1].from)+g[g.length-1].insert.length)}return i.startState.update(a.length?{changes:a,selection:Hr.EditorSelection.create(l)}:{})}else if(Tm("select",e)&&ys(i)&&t.alternative_cursor_movement&&ti instanceof KeyboardEvent){let s=tl(i,e,r,t,ti);if(s)return i.startState.update(s)}return i}var Vf=require("obsidian"),Ao=require("@codemirror/state"),Aw=require("@codemirror/view");var Om={moveByCharacters:{group:!1}};function Dm(i,t){return t.some(e=>e.startsWith(i))}var dh=i=>Ao.EditorState.transactionFilter.of(t=>$m(t,i));function $m(i,t){let e=i.startState.field(Vf.editorEditorField),n=el(i),r=e.cm!==void 0;if(r&&!i.docChanged&&i.selection&&(ys(i)&&n.push(i.startState.selection.ranges[0].from<i.selection.ranges[0].from?"select.forward":"select.backward"),Om[e.cm.state.vim.lastMotion?.name]?.group&&n.push("select.group")),i.docChanged){let s=bo(i.startState.selection,i.changes,i.startState.doc);if(!(i.isUserEvent("input")||i.isUserEvent("paste")||i.isUserEvent("delete")))return i;let a=i.startState.field(Pt).ranges,l=[],u=[],f=Vr(t),h=ti?.key==="Backspace",c=ti?.ctrlKey,p=0;for(let g of s){let m=g.deleted?g.inserted?"substitution":"deletion":"addition";if(m==="deletion"){g=il(g,a,h,c,i.startState,t.suggestion_mode_operations.cursor_movement,t.suggestion_mode_operations.bracket_movement);let S=a.ranges_in_interval(g.from,g.to);if(S.length===1){let k=S[0];k.encloses_range(g.from,g.to)&&nl(k,f)&&(k.type==="addition"||(k.type==="substitution"&&k.contains_part(g.from,g.to,!1))===!1)&&(m="regular")}}let v=To(a,i.startState.doc,g.from,g.to,g.inserted,m,f),_=v.slice(0,-1).reduce((S,k)=>S-(k.to-k.from)+k.insert.length,0);v&&(l.push(v),u.push(Ao.EditorSelection.cursor((h?v[0].start:v[v.length-1].end+_)+p)),p+=_-(v[v.length-1].to-v[v.length-1].from)+v[v.length-1].insert.length)}return i.startState.update(l.length?{changes:l,selection:Ao.EditorSelection.create(u)}:{})}else if(Dm("select",n)&&ys(i)&&t.alternative_cursor_movement&&ti instanceof KeyboardEvent){let s=tl(i,n,r,t,ti);if(s)return i.startState.update(s)}return i}var Bw=require("@codemirror/state");function dr(i,t){return i===0?[]:i===1?[fh(t)]:i===2?[dh(t)]:[]}var ln=require("obsidian");async function Rm(i){let t,e;if(ln.Platform.isMobileApp){let r=await window.Capacitor.nativePromise("App","getInfo");r&&(t=r.version+" ("+r.build+")");let s=await window.Capacitor.nativePromise("Device","getInfo");s?e=`${s.platform} ${s.osVersion} (${s.manufacturer} ${s.model})`:e=navigator.userAgent.match(/(Android|iOS) ([\d.]+)/)?.[0]||"unknown"}else if(ln.Platform.isDesktopApp){let r=require("os");e=r.version()+" "+r.release(),t=navigator.userAgent.match(/obsidian\/([\d.]+\d+)/)?.[1]||"unknown"}else e=navigator.userAgent.match(/(Windows|Mac OS X|Linux) ([\d.]+)/)?.[0]||"unknown",t=navigator.userAgent.match(/obsidian\/([\d.]+\d+)/)?.[1]||"unknown";let n=Object.values(i.plugins.plugins).filter(r=>r.manifest.id!=="commentator").map(r=>r.manifest.id+(r.manifest.version?` (v${r.manifest.version})`:""));return{plugin_version:i.plugins.plugins.commentator.manifest.version,other_plugins:n,operating_system:e,platform:ln.Platform.isMobileApp?ln.Platform.isAndroidApp?"Android":ln.Platform.isIosApp?"iOS":"mobile":ln.Platform.isMacOS?"macOS":"Desktop",framework_version:t,obsidian_version:ln.apiVersion}}async function Im(i,t,e={}){let r={...await Rm(i),...e};return"https://github.com/Fevol/obsidian-criticmarkup/issues/new?"+new URLSearchParams({title:t,template:"bug-report.yml","installer-version":r.framework_version,"app-version":r.obsidian_version,"commentator-version":r.plugin_version,"operating-systems":r.operating_system,"installed-plugins":r.other_plugins.join(", ")})}async function zf(i,t="",e={}){window.open(await Im(i,t,e),"_blank")}function rl(i,t,e=100,n=3e3,r){let s=new ln.Notice("",0);s.messageEl.appendChild(createEl("span",{text:i})),r&&(s.messageEl.appendChild(createEl("br")),s.messageEl.appendChild(createEl("span",{cls:"u-small",text:r})));let o=createEl("progress");return o.value=0,o.max=e,s.messageEl.appendChild(o),a=>{a>=e?(s.setMessage(t),s.noticeEl.addClass("mod-success"),window.setTimeout(()=>{s.hide()},n)):o.value=Math.round(a)}}function sl(i,t,e,n){for(let{icon:r,tooltip:s,value:o}of e)i.addItem(a=>{a.setTitle(s).setIcon(r).setChecked(t===o).onClick(()=>{n(o);for(let l of i.items){let u=l===a;l.dom.classList.toggle("mod-checked",u),l.setChecked(u)}})})}var nd=require("@codemirror/state");var hn=require("@codemirror/state"),nx=require("@codemirror/view"),un=require("obsidian");var Ds=require("@codemirror/state"),Ii=require("@codemirror/view");function ol(i,t){if(i.length!=t.length)return!1;for(let e=0;e<i.length;e++)if(!i[e].compare(t[e]))return!1;return!0}var Pm={class:"",renderEmptyElements:!1,markers:()=>Ds.RangeSet.empty,lineMarker:()=>null,widgetMarker:()=>null,lineMarkerChange:null,initialSpacer:null,updateSpacer:null,domEventHandlers:{}};function gh(i,t,e){for(;i.value&&i.from<=e;)i.from<=e&&t.push(i.value),i.next()}function Gf(i){return Array.isArray(i)?i:[i]}var $s=class{dom;height=-1;above=0;markers=[];constructor(t,e,n,r){this.dom=document.createElement("div"),this.dom.className="cm-gutterElement",this.update(t,e,n,r)}update(t,e,n,r){this.height!=e&&(this.height=e,this.dom.style.height=e+"px"),this.above!=n&&(this.dom.style.marginTop=(this.above=n)?n+"px":""),ol(this.markers,r)||this.setMarkers(t,r)}setMarkers(t,e){let n="cm-gutterElement",r=this.dom.firstChild;for(let s=0,o=0;;){let a=o,l=s<e.length?e[s++]:null,u=!1;if(l){let f=l.elementClass;f&&(n+=" "+f);for(let h=o;h<this.markers.length;h++)if(this.markers[h].compare(l)){a=h,u=!0;break}}else a=this.markers.length;for(;o<a;){let f=this.markers[o++];if(f.toDOM&&r){f.preventUnload||f.destroy(r),f.preventUnload=!1;let h=r.nextSibling;r.remove(),r=h}}if(!l)break;l.toDOM&&t&&(u?r=r.nextSibling:this.dom.insertBefore(l.toDOM(t),r)),u&&o++}this.dom.className=n,this.markers=e}destroy(){this.setMarkers(null,[])}},Co=class{constructor(t,e,n){this.gutter=t;this.height=n;this.cursor=Ds.RangeSet.iter(t.markers,e.from)}cursor;i=0;addElement(t,e,n){let{gutter:r}=this,s=e.top-this.height,o=e.height;if(this.i==r.elements.length){let a=new $s(t,o,s,n);r.elements.push(a),r.dom.appendChild(a.dom)}else r.elements[this.i].update(t,o,s,n);this.height=e.bottom,this.i++}line(t,e,n){let r=[];gh(this.cursor,r,e.to);let s=this.gutter.config.lineMarker(t,e,r);s&&r.unshift(s);let o=this.gutter;r.length==0&&!o.config.renderEmptyElements||this.addElement(t,e,r)}widget(t,e){let n=this.gutter.config.widgetMarker(t,e.widget,e);n&&this.addElement(t,e,[n])}finish(){let t=this.gutter;for(;t.elements.length>this.i;){let e=t.elements.pop();t.dom.removeChild(e.dom),e.destroy()}}},pr=class{constructor(t,e){this.view=t;this.config=e;this.dom=document.createElement("div"),this.dom.className="cm-gutter"+(this.config.class?" "+this.config.class:"");for(let n in e.domEventHandlers)this.dom.addEventListener(n,r=>{let s=r.target,o;if(s!=this.dom&&this.dom.contains(s)){for(;s.parentNode!=this.dom;)s=s.parentNode;let l=s.getBoundingClientRect();o=(l.top+l.bottom)/2}else o=r.clientY;let a=t.lineBlockAtHeight(o-t.documentTop);e.domEventHandlers[n](t,a,r)&&r.preventDefault()});this.markers=Gf(e.markers(t)),e.initialSpacer&&(this.spacer=new $s(t,0,0,[e.initialSpacer(t)]),this.dom.appendChild(this.spacer.dom),this.spacer.dom.style.cssText+="visibility: hidden; pointer-events: none")}dom;elements=[];markers;spacer=null;update(t){let e=this.markers;if(this.markers=Gf(this.config.markers(t.view)),this.spacer&&this.config.updateSpacer){let r=this.config.updateSpacer(this.spacer.markers[0],t);r!=this.spacer.markers[0]&&this.spacer.update(t.view,0,0,[r])}let n=t.view.viewport;return!Ds.RangeSet.eq(this.markers,e,n.from,n.to)||(this.config.lineMarkerChange?this.config.lineMarkerChange(t):!1)}destroy(){for(let t of this.elements)t.destroy()}},Rs=class{constructor(t,e,n){this.view=t;this.unfixGutters=e;this.activeGutters=n;this.prevViewport=t.viewport,this.dom=document.createElement("div"),this.dom.className="cm-gutters",this.dom.style.minHeight=this.view.contentHeight+"px",this.gutters=this.createGutters(t);for(let r of this.gutters)this.dom.appendChild(r.dom);this.fixed=!t.state.facet(this.unfixGutters),this.fixed&&(this.dom.style.position="sticky"),this.syncGutters(!1),this.insertGutters(t)}gutters;dom;fixed;prevViewport;createGutters(t){return t.state.facet(this.activeGutters).map(e=>new pr(t,e))}insertGutters(t){t.contentDOM.parentNode.insertBefore(this.dom,t.contentDOM)}insertDetachedGutters(t){t.parentNode.insertBefore(this.dom,t)}getUpdateContexts(){return this.gutters.map(t=>new Co(t,this.view.viewport,-this.view.documentPadding.top))}update(t){if(this.updateGutters(t)){let e=this.prevViewport,n=t.view.viewport,r=Math.min(e.to,n.to)-Math.max(e.from,n.from);this.syncGutters(r<(n.to-n.from)*.8)}t.geometryChanged&&(this.dom.style.minHeight=this.view.contentHeight+"px"),this.view.state.facet(this.unfixGutters)!=!this.fixed&&(this.fixed=!this.fixed,this.dom.style.position=this.fixed?"sticky":""),this.prevViewport=t.view.viewport}syncGutters(t){let e=this.dom.nextSibling;t&&this.dom.remove();let n=Ds.RangeSet.iter(this.view.state.facet(Ii.gutterLineClass),this.view.viewport.from),r=[],s=this.getUpdateContexts();for(let o of this.view.viewportLineBlocks)if(r.length&&(r=[]),Array.isArray(o.type)){let a=!0;for(let l of o.type)if(l.type==Ii.BlockType.Text&&a){gh(n,r,l.from);for(let u of s)u.line(this.view,l,r);a=!1}else if(l.widget)for(let u of s)u.widget(this.view,l)}else if(o.type==Ii.BlockType.Text){gh(n,r,o.from);for(let a of s)a.line(this.view,o,r)}for(let o of s)o.finish();t&&this.insertDetachedGutters(e)}updateGutters(t){let e=t.startState.facet(this.activeGutters),n=t.state.facet(this.activeGutters),r=t.docChanged||t.heightChanged||t.viewportChanged||!Ds.RangeSet.eq(t.startState.facet(Ii.gutterLineClass),t.state.facet(Ii.gutterLineClass),t.view.viewport.from,t.view.viewport.to);if(e==n)for(let s of this.gutters)s.update(t)&&(r=!0);else{r=!0;let s=[];for(let o of n){let a=e.indexOf(o);a<0?s.push(new pr(this.view,o)):(this.gutters[a].update(t),s.push(this.gutters[a]))}for(let o of this.gutters)o.dom.remove(),s.indexOf(o)<0&&o.destroy();for(let o of s)this.dom.appendChild(o.dom);this.gutters=s}return r}destroy(){for(let t of this.gutters)t.destroy();this.dom.remove()}};function al(i){return Ii.ViewPlugin.fromClass(i,{provide:t=>Ii.EditorView.scrollMargins.of(e=>{let n=e.plugin(t);return!n||n.gutters.length==0||!n.fixed?null:e.textDirection==Ii.Direction.LTR?{left:n.dom.offsetWidth}:{right:n.dom.offsetWidth}})})}function Nm(i,t,e){let n=[i];return t&&t.fixed===!1&&n.push(e.of(!0)),n}function ll(i,t,e,n){return[Nm(i,{},n),e.of({...Pm,...t})]}var fl=require("@codemirror/state"),Qf=require("@codemirror/view"),We=require("obsidian");var qf=require("obsidian"),hl=require("@codemirror/state"),Is=require("@codemirror/view");function zr(i,t){let e=Object.keys(t).map(n=>Lm(i,n,t[n]));return e.length===1?e[0]:function(){e.forEach(n=>n())}}function Lm(i,t,e){let n=i[t],r=i.hasOwnProperty(t),s=r?n:function(){return Object.getPrototypeOf(i)[t].apply(this,arguments)},o=e(s);return n&&Object.setPrototypeOf(o,n),Object.setPrototypeOf(a,o),i[t]=a,l;function a(...u){return o===s&&i[t]===a&&l(),o.apply(this,u)}function l(){i[t]===a&&(r?i[t]=s:delete i[t]),o!==s&&(o=s,Object.setPrototypeOf(a,n||Function))}}function Bm(i){let t=i.embedRegistry.embedByExtension.md({app:i,containerEl:createDiv()},null,"");t.editable=!0,t.showEditor();let e=Object.getPrototypeOf(Object.getPrototypeOf(t.editMode));return t.unload(),e.constructor}var ul={cursorLocation:{anchor:0,head:0},value:"",cls:"",placeholder:"",focus:!0,filteredExtensions:[],onEnter:(i,t,e)=>(t&&i.options.onSubmit(i),t),onEscape:i=>{i.options.onBlur(i)},onSubmit:()=>{},onBlur:()=>{},onPaste:()=>{},onChange:()=>{}},gr=class extends Bm(app){options;initial_value;scope;constructor(t,e,n){super(t,e,{app:t,onMarkdownScroll:()=>{},getMode:()=>"source"}),this.options={...ul,...n},this.initial_value=this.options.value,this.scope=new qf.Scope(this.app.scope),this.scope.register(["Mod"],"Enter",(r,s)=>!0),this.owner.editMode=this,this.owner.editor=this.editor,this.set(n.value||"",!0),this.register(zr(this.app.workspace,{setActiveLeaf:r=>(s,o)=>{this.activeCM.hasFocus||r.call(this.app.workspace,s,o)}})),this.options.onBlur!==ul.onBlur&&this.editor?.cm.contentDOM.addEventListener("blur",()=>{this._loaded&&this.options.onBlur(this)}),this.editor?.cm.contentDOM.addEventListener("focusin",()=>{this.app.keymap.pushScope(this.scope),this.app.workspace.activeEditor=this.owner}),this.editorEl.classList.remove("markdown-source-view"),n.cls&&this.editorEl.classList.add(...[].concat(n.cls)),n.cursorLocation&&this.editor?.cm.dispatch({selection:hl.EditorSelection.range(n.cursorLocation.anchor,n.cursorLocation.head)})}onUpdate(t,e){super.onUpdate(t,e),e&&this.options.onChange(t)}buildLocalExtensions(){let t=super.buildLocalExtensions();return this.options.placeholder&&t.push((0,Is.placeholder)(this.options.placeholder)),t.push(Is.EditorView.domEventHandlers({paste:e=>{this.options.onPaste(e,this)}})),t.push(hl.Prec.highest(Is.keymap.of([{key:"Enter",run:e=>this.options.onEnter(this,!1,!1),shift:e=>this.options.onEnter(this,!1,!0)},{key:"Mod-Enter",run:e=>this.options.onEnter(this,!0,!1),shift:e=>this.options.onEnter(this,!0,!0)},{key:"Escape",run:e=>(this.options.onEscape(this),!0),preventDefault:!0}]))),t}getDynamicExtensions(){return super.getDynamicExtensions().filter(t=>!this.options.filteredExtensions.includes(t))}updateBottomPadding(t){return 0}destroy(){this._loaded&&this.unload(),this.app.keymap.popScope(this.scope),this.app.workspace.activeEditor===this.owner&&(this.app.workspace.activeEditor=null),this.containerEl.empty(),super.destroy()}onunload(){super.onunload(),this.destroy()}onload(){super.onload(),this.options.focus&&this.editor?.focus()}};var Fm="0.2.3",Wf=4,Ps={version:Fm,default_edit_mode:1,default_preview_mode:0,comment_style:"icon",editor_styling:!1,markup_focus:{0:{show_styling:!0,show_syntax:!0,show_metadata:!0,focus_annotation:!0,show_comment:!0},1:{show_styling:!0,show_syntax:!1,show_metadata:!1,focus_annotation:!0,show_comment:!1},2:{show_styling:!0,show_syntax:!1,show_metadata:!1,focus_annotation:!0,show_comment:!1}},diff_gutter:!0,diff_gutter_hide_empty:!0,annotation_gutter:!0,annotation_gutter_included_types:31,annotation_gutter_hide_empty:!0,annotation_gutter_default_fold_state:!1,annotation_gutter_fold_button:!0,annotation_gutter_resize_handle:!0,annotation_gutter_focus_on_click:!0,annotation_gutter_width:300,tag_completion:!0,tag_correcter:!0,clipboard_remove_syntax:!0,edit_info:!0,toolbar_preview_button:!0,toolbar_edit_button:!0,toolbar_show_buttons_labels:!0,status_bar_preview_button:!0,status_bar_edit_button:!0,status_bar_metadata_button:!0,database_workers:2,post_processor:!0,live_preview:!0,alternative_cursor_movement:!0,enable_metadata:!1,enable_author_metadata:!1,enable_timestamp_metadata:!1,enable_completed_metadata:!1,enable_style_metadata:!1,enable_color_metadata:!1,add_metadata:!1,add_author_metadata:!1,add_timestamp_metadata:!1,add_completed_metadata:!1,add_style_metadata:!1,add_color_metadata:!1,author:"",suggestion_mode_operations:{cursor_movement:{addition:"ignore_metadata",deletion:"ignore_metadata",substitution:"ignore_metadata",highlight:"ignore_metadata",comment:"ignore_completely"},bracket_movement:{addition:"stay_inside",deletion:"stay_inside",substitution:"stay_inside",highlight:"stay_inside",comment:"stay_inside"}}},Uf=new Set(["live_preview","diff_gutter","annotation_gutter","annotation_gutter_focus_on_click","comment_style","tag_completion","tag_correcter"]),jf=new Set(["enable_metadata"]),Yf=new Set(["enable_metadata"]),Gr=(s=>(s[s.ADDITION=1]="ADDITION",s[s.DELETION=2]="DELETION",s[s.SUBSTITUTION=4]="SUBSTITUTION",s[s.HIGHLIGHT=8]="HIGHLIGHT",s[s.COMMENT=16]="COMMENT",s))(Gr||{});var qr=require("obsidian");var mr=(i=!1)=>{let t=zr(qr.Menu.prototype,{onEnter:r=>function(s){let o=this.items[this.selected];return o&&o instanceof qr.MenuItem&&o.handleEvent(s)||!0},onMenuClick:r=>function(s){if(!i||this.currentSubmenu&&this.currentSubmenu.dom.contains(s.target))s.stopImmediatePropagation();else return r&&r.apply(this,[s])},hide:r=>function(){return this.parentMenu||n(),r&&r.apply(this)}}),e=zr(qr.MenuItem.prototype,{setChecked:r=>function(...s){return this.checkIconEl&&(this.checkIconEl.remove(),this.checkIconEl=void 0),r&&r.apply(this,s)}}),n=()=>{t(),e()};return n},Kf=(i,t,e,n=()=>{})=>zr(qr.MarkdownView.prototype,{setState:r=>async function(...s){return s[0]&&await i(this,s[0]),r&&r.apply(this,s)},getState:r=>function(){let s=r&&r.apply(this);return s&&t(this,s),s},setData:r=>async function(...s){s[1]&&e(this);let o=r&&r.apply(this,s);return s[1]&&n(this),o}}),Jf=(i,t,e)=>zr(i.app.plugins,{uninstallPlugin:n=>async(...r)=>{try{r[0]===t&&await e()}catch{}n&&await n.apply(i.app.plugins,r)}});var mh=require("obsidian");function Vm(i){if(i.children.length>0){let t=createSpan({cls:"cmtr-metadata-info-separator",text:" \u2022 "});i.appendChild(t)}}function vr(i,t,e="icon"){let n=createDiv({cls:["cmtr-metadata-info"].concat(t??[])});if(i.fields.author){let r=createSpan({cls:"cmtr-metadata-info-field"});if(e==="label"){let o=createSpan({cls:"cmtr-metadata-info-label",text:"Author: "});r.appendChild(o)}else if(e==="icon"){let o=createSpan({cls:"cmtr-metadata-info-icon"});(0,mh.setIcon)(o,"user"),r.appendChild(o)}let s=createSpan({cls:"cmtr-metadata-info-author-data",text:i.fields.author});r.appendChild(s),n.appendChild(r)}if(i.fields.time){e!=="icon"&&Vm(n);let r=createSpan({cls:"cmtr-metadata-info-field"});if(e==="label"){let o=createSpan({cls:"cmtr-metadata-info-label",text:"Updated at: "});r.appendChild(o)}else if(e==="icon"){let o=createSpan({cls:"cmtr-metadata-info-icon"});(0,mh.setIcon)(o,"clock"),r.appendChild(o)}let s=createSpan({cls:"cmtr-metadata-info-time-data",text:window.moment.unix(i.fields.time).format("MMM DD YYYY, HH:mm")});r.appendChild(s),n.appendChild(r)}return n}var vh=class extends We.Component{constructor(e,n){super();this.range=e;this.marker=n;this.text=e.unwrap(),this.annotation_container=this.marker.annotation_thread.createDiv({cls:"cmtr-anno-gutter-annotation"}),this.annotation_container.addEventListener("blur",this.renderPreview.bind(this)),this.annotation_container.addEventListener("dblclick",this.renderSource.bind(this)),this.annotation_container.addEventListener("contextmenu",this.onCommentContextmenu.bind(this)),this.range.metadata&&(this.metadata_view=vr(this.range),this.annotation_container.appendChild(this.metadata_view)),this.annotation_view=this.annotation_container.createDiv({cls:"cmtr-anno-gutter-annotation-view"}),this.renderPreview()}text;new_text=null;annotation_container;metadata_view=null;annotation_view;currentMode=null;editMode=null;onload(){super.onload()}onunload(){super.onunload(),this.annotation_container.remove(),this.editMode=null}renderSource(e){if(this.range.type!=="comment")new We.Notice("[Commentator] You can only edit comments.");else{if(e?.stopPropagation(),this.currentMode==="source")return;let{app:n}=this.marker.view.state.field(We.editorInfoField);if(this.annotation_container.toggleClass("cmtr-anno-gutter-annotation-editing",!0),this.range.fields.author&&this.range.fields.author!==n.plugins.plugins.commentator.settings.author){new We.Notice("[Commentator] You cannot edit comments from other authors.");return}this.annotation_view.empty(),this.editMode=this.addChild(new gr(n,this.annotation_view,{value:this.text,cls:"cmtr-anno-gutter-annotation-editor",onSubmit:r=>{this.new_text=r.get(),this.renderPreview()},filteredExtensions:[n.plugins.plugins.commentator.editorExtensions],onBlur:this.renderPreview.bind(this)})),this.currentMode="source"}}renderPreview(){if(this.currentMode!=="preview")if(this.annotation_container.toggleClass("cmtr-anno-gutter-annotation-editing",!1),this.text===this.new_text||this.new_text===null){let{app:e}=this.marker.view.state.field(We.editorInfoField);if(this.new_text=null,this.editMode&&(this.removeChild(this.editMode),this.editMode=null),this.annotation_view.empty(),this.range.type!=="substitution"){let n="";switch(this.range.type){case"addition":n="Added: ";break;case"deletion":n="Deleted: ";break;case"highlight":break;case"comment":break}let r=createDiv({cls:"cmtr-anno-gutter-annotation-content"});We.MarkdownRenderer.render(e,this.text||" ",r,"",this).then(()=>{(r.children[0]??r).prepend(createSpan({cls:"cmtr-anno-gutter-annotation-desc",text:n})),this.annotation_view.append(...r.childNodes),r.remove()})}else{let n=this.range.unwrap_parts(),r=createDiv(),s=createDiv();We.MarkdownRenderer.render(e,n[0]||" ",r,"",this).then(()=>{(r.children[0]??r).prepend(createSpan({cls:"cmtr-anno-gutter-annotation-desc",text:"Changed: "})),this.annotation_view.append(...r.childNodes),We.MarkdownRenderer.render(e,n[1]||" ",s,"",this).then(()=>{(s.children[0]??s).prepend(createSpan({cls:"cmtr-anno-gutter-annotation-desc",text:"To: "})),this.annotation_view.append(...s.childNodes),r.remove(),s.remove()})})}this.annotation_view.addClass("cmtr-anno-gutter-annotation-"+this.range.type),this.currentMode="preview"}else{let e=this.marker.view.state.field(Pi);this.text=this.new_text,window.setTimeout(()=>{this.marker.view.dispatch({changes:{from:this.range.from,to:this.range.to,insert:Wr(e,"comment",this.new_text)}})})}}onCommentContextmenu(e){e.preventDefault(),e.stopPropagation(),mr(!0);let n=new We.Menu;this.range.type!=="comment"&&this.range.type!=="highlight"&&(n.addItem(r=>{r.setTitle("Accept changes").setIcon("check").setSection("close-annotation").onClick(()=>{this.marker.view.dispatch({changes:Wn(this.marker.view.state,this.range.from,this.range.to)})})}),n.addItem(r=>{r.setTitle("Reject changes").setIcon("cross").setSection("close-annotation").onClick(()=>{this.marker.view.dispatch({changes:Un(this.marker.view.state,this.range.from,this.range.to)})})})),this.range.type==="comment"?(this.range.replies.length>0&&n.addItem(r=>{r.setTitle("Close comment thread").setIcon("message-square-off").setSection("close-annotation").onClick(()=>{this.marker.view.dispatch({changes:{from:this.range.full_range_front,to:this.range.full_range_back,insert:""}})})}),n.addItem(r=>{r.setTitle("Add reply").setSection("comment-handling").setIcon("reply").onClick(()=>{Ji(this.marker.view,this.range)})}),n.addItem(r=>{r.setTitle("Edit comment").setIcon("pencil").setSection("comment-handling").onClick(()=>{this.renderSource()})}),n.addItem(r=>{r.setTitle("Remove comment").setIcon("cross").setSection("comment-handling").onClick(()=>{this.marker.view.dispatch({changes:{from:this.range.from,to:this.range.to,insert:""}})})})):this.range.type!=="highlight"?(n.addItem(r=>{r.setTitle("Add reply").setSection("comment-handling").setIcon("reply").onClick(()=>{Ji(this.marker.view,this.range)})}),this.range.replies.length>0&&n.addItem(r=>{r.setTitle("Remove all comments").setIcon("message-square-x").setSection("comment-handling").onClick(()=>{this.marker.view.dispatch({changes:{from:this.range.replies[0].from,to:this.range.replies[this.range.replies.length-1].to,insert:""}})})})):n.addItem(r=>{r.setTitle("Add reply").setSection("comment-handling").setIcon("reply").onClick(()=>{Ji(this.marker.view,this.range)})}),n.addItem(r=>{r.setTitle("Fold gutter").setSection("gutter-controls").setIcon("arrow-right-from-line").onClick(()=>{this.marker.view.dispatch({annotations:[br.of(null)]})})}),n.addItem(r=>{let s=r.setTitle("Included annotations").setIcon("eye").setSection("gutter-controls").setSubmenu(),o=this.marker.view.state.facet(an);for(let{title:a,icon:l,value:u}of[{title:"Additions",icon:"plus-circle",value:1},{title:"Deletions",icon:"minus-square",value:2},{title:"Substitutions",icon:"replace",value:4},{title:"Highlights",icon:"highlighter",value:8},{title:"Comments",icon:"message-square",value:16}])s.addItem(f=>{f.setTitle(a).setIcon(l).setChecked((o&u)!==0).onClick(()=>{o^=u,f.setChecked((o&u)!==0),this.marker.view.dispatch(this.marker.view.state.update({effects:[Ss.reconfigure(an.of(o))]}))})})}),n.showAtPosition(e)}},cl=class extends Qf.GutterMarker{constructor(e,n,r,s=0){super();this.annotation=e;this.annotations=n;this.view=r;this.itr=s}annotation_thread;component=new We.Component;preventUnload=!1;eq(e){return this.itr===e.itr&&this.annotations===e.annotations&&this.annotations[0].equals(e.annotations[0])}onCommentThreadClick(){this.view.dispatch({annotations:[dl.of({marker:this,index:-1,scroll:!0,focus_markup:!0})]}),this.annotation_thread.classList.toggle("cmtr-anno-gutter-thread-highlight",!0)}toDOM(){this.annotation_thread=createDiv({cls:"cmtr-anno-gutter-thread"}),this.annotation_thread.addEventListener("click",this.onCommentThreadClick.bind(this));for(let e of this.annotations)this.component.addChild(new vh(e,this));return this.component.load(),this.annotation_thread}focus(){this.annotation_thread.focus()}focus_annotation(e=-1,n=!1){e===-1?this.annotation_thread.classList.toggle("cmtr-anno-gutter-thread-highlight",!0):e>=0&&e<this.annotation_thread.children.length&&this.annotation_thread.children.item(e).dispatchEvent(new MouseEvent("dblclick")),n&&window.setTimeout(()=>{let r=this.view.lineBlockAt(this.annotations[0].from).top-100;this.view.scrollDOM.scrollTo({top:r,behavior:"smooth"})},200)}unfocus_annotation(e=-1){e===-1?this.annotation_thread.classList.toggle("cmtr-anno-gutter-thread-highlight",!1):this.annotation_thread.children.item(e).classList.toggle("cmtr-anno-gutter-thread-highlight",!1)}destroy(e){this.component.unload(),this.annotation_thread.remove(),super.destroy(e)}};function Xf(i,t,e){let n=i.field(We.editorEditorField),r=(e&1)!==0,s=(e&2)!==0,o=(e&4)!==0,a=(e&8)!==0,l=(e&16)!==0,u=[];for(let f of t){let h=f.full_thread;switch(l||(h=h.slice(0,1)),f.type){case"addition":r||h.shift();break;case"deletion":s||h.shift();break;case"substitution":o||h.shift();break;case"highlight":a||h.shift();break;case"comment":l||h.shift();break}if(h.length){let c=new cl(f,h,n,Zf);c.preventUnload=!0,u.push(c.range(f.from,f.to))}}return u}var Zf=0,qn=fl.StateField.define({create(i){let t=i.field(Pt).ranges.ranges.reduce((e,n)=>{let r=n.base_range;return e.includes(r)||e.push(r),e},[]);return fl.RangeSet.of(Xf(i,t,i.facet(an)))},update(i,t){let e=t.state.facet(an);if(t.startState.facet(an)!==e)return this.create(t.state);if(!t.docChanged)return i;Zf+=1;let n=[];for(let s of t.state.field(Pt).inserted_ranges)n.includes(s.base_range)||n.push(s.base_range);let r=t.state.field(Pt).deleted_ranges.map(s=>s.base_range);return i.map(t.changes).update({filter:(s,o,a)=>{let l=!r.includes(a.annotation);return a.preventUnload=l,l},add:Xf(t.state,n.map(s=>s.full_thread[0]),e)})}});var td=require("@codemirror/view"),li=require("obsidian");var gl=require("obsidian");var zm={mode:"preview",focus_mode:"click",onViewSwitch:()=>{},isEditable:()=>!0},pl=class extends gl.Component{constructor(e,n,r={}){super();this.app=e;this.container=n;this.options={...ul,...zm,...r},this.clickContainer=this.options.click_container??this.container,this.options.mode==="edit"?this.renderEdit():this.renderPreview()}options;currentMode;clickContainer;cleanup(){if(this.container.children.length!==0){this.container.className="";for(let e of this._children)e.unload();this._children=[],this.container.empty()}}unload(){this.container.remove(),super.unload()}getMode(){return this.currentMode}switchMode(){this.currentMode==="edit"?this.renderPreview():this.renderEdit(),this.options.onViewSwitch(this)}setMode(e){e==="edit"?this.renderEdit():this.renderPreview(),this.options.onViewSwitch(this)}renderEdit(){this.currentMode==="edit"||!this.options.isEditable(this)||(this.currentMode="edit",this.cleanup(),this.options.editor_cls&&this.container.addClass(...[].concat(this.options.editor_cls)),this.addChild(new gr(this.app,this.container,{...this.options,onSubmit:e=>{this.options.onSubmit(e),this.switchMode()},onBlur:e=>{this.options.onBlur(e),this.switchMode()},onEscape:e=>{this.options.onEscape(e),this.switchMode()}})))}renderPreview(){if(this.currentMode==="preview")return;this.currentMode="preview",this.cleanup(),this.options.preview_cls&&this.container.addClass(...[].concat(this.options.preview_cls)),gl.MarkdownRenderer.render(this.app,this.options.value,this.container,"",this);let e=()=>{this.clickContainer.removeEventListener(this.options.focus_mode,e),setImmediate(()=>{this.switchMode()})};this.clickContainer.addEventListener(this.options.focus_mode,e)}};function bh(i,t,e,n=!1){let r=e??t.text;!e&&n&&(t.to>=r.length&&!r.endsWith(me[t.type].at(-1))?r=t.unwrap_bracket(!0):r=t.unwrap());let s=createSpan({cls:"cmtr-comment-icon"});(0,li.setIcon)(s,"message-square");let o=null,a=new li.Component;return s.onmouseenter=()=>{if(o)return;o=createDiv({cls:"cmtr-comment-tooltip"}),li.MarkdownRenderer.render(i,r,o,"",a),a.load(),s.appendChild(o);let l=s.getBoundingClientRect(),u=o.getBoundingClientRect();o.style.left=l.x-u.x+12+"px"},s.onmouseleave=()=>{o&&(a.unload(),s.removeChild(o),o=null)},s}var Oo=class extends td.WidgetType{constructor(e,n,r=!1){super();this.view=e;this.range=n;this.annotation_gutter=r;this.component=new li.Component}tooltip=null;icon=null;component;focused=!1;context_menu=null;setFocused(e){this.icon.classList.toggle("cmtr-comment-icon-focused",e),this.focused=e}renderRange(e,n,r=[]){let s=createDiv({cls:r});n.metadata&&s.appendChild(vr(n,"cmtr-comment-tooltip-metadata"));let o=s.appendChild(createDiv()),a=this.component.addChild(new pl(e,o,{value:n.unwrap(),editor_cls:["markdown-source-view","mod-cm6","cmtr-comment-tooltip-editor"],preview_cls:["cmtr-comment-tooltip-preview"],click_container:s,filteredExtensions:[e.plugins.plugins.commentator.editorExtensions],onSubmit:l=>{this.view.dispatch(this.view.state.update({changes:{from:n.from,to:n.to,insert:Wr(this.view.state.field(Pi),n.type,l.get())}}))},isEditable:l=>n.fields.author&&n.fields.author!==e.plugins.plugins.commentator.settings.author?(new li.Notice("[Commentator] You cannot edit comments from other authors."),!1):!0}));return s.addEventListener("contextmenu",l=>{l.preventDefault(),l.stopPropagation();let u=new li.Menu;this.context_menu=u,u.dom.addEventListener("click",()=>{this.setFocused(!0)}),u.onHide(()=>{this.context_menu=null}),n.replies.length>0&&u.addItem(f=>{f.setTitle("Close comment thread").setIcon("message-square-off").setSection("close-annotation").onClick(()=>{this.view.dispatch({changes:{from:n.full_range_front,to:n.full_range_back,insert:""}}),this.unrenderTooltip()})}),u.addItem(f=>{f.setTitle("Add reply").setSection("comment-handling").setIcon("reply").onClick(()=>{let h=this.tooltip.appendChild(createDiv({cls:"cmtr-comment-tooltip-range cmtr-comment-tooltip-reply"})),c=this.component.addChild(new gr(e,h,{value:"",cls:["markdown-source-view","mod-cm6","cmtr-comment-tooltip-editor"],filteredExtensions:[e.plugins.plugins.commentator.editorExtensions],onSubmit:p=>{this.view.dispatch(this.view.state.update({changes:{from:n.full_range_back,to:n.full_range_back,insert:Wr(this.view.state.field(Pi),n.type,p.get())}})),this.unrenderTooltip()},onEscape:()=>{c.unload(),h.remove()},onBlur:()=>{c.unload(),h.remove()}}))})}),u.addItem(f=>{f.setTitle("Edit comment").setIcon("pencil").setSection("comment-handling").onClick(()=>{a.setMode("edit")})}),u.addItem(f=>{f.setTitle("Remove comment").setIcon("cross").setSection("comment-handling").onClick(h=>{this.tooltip.removeChild(s),this.view.dispatch({changes:{from:n.from,to:n.to,insert:""}}),a.unload()})}),u.showAtMouseEvent(l)}),s}renderTooltip(){if(!this.tooltip){let{app:e}=this.view.state.field(li.editorInfoField);this.tooltip=createDiv({cls:"cmtr-comment-tooltip popover hover-popover"}),this.component.registerDomEvent(document,"click",l=>{this.tooltip&&!(this.context_menu&&this.context_menu.dom.contains(l.target))&&(this.tooltip.contains(l.target)?(this.setFocused(!0),l.stopPropagation()):(this.unrenderTooltip(),this.setFocused(!1)))}),this.tooltip.addEventListener("mouseleave",l=>{!this.focused&&!this.context_menu&&!this.tooltip.contains(l.relatedTarget)&&this.unrenderTooltip()}),this.tooltip.appendChild(this.renderRange(e,this.range,["cmtr-comment-tooltip-range cmtr-comment-tooltip-base"]));for(let l of this.range.replies)this.tooltip.appendChild(this.renderRange(e,l,["cmtr-comment-tooltip-range","cmtr-comment-tooltip-reply"]));this.component.load(),document.body.appendChild(this.tooltip);let n=this.icon.getBoundingClientRect(),r=this.tooltip.getBoundingClientRect(),s=this.view.contentDOM.getBoundingClientRect(),o=Math.clamp(n.x-r.x-r.width/2+12,e.vault.getConfig("readableLineLength")?0:s.x,s.x+s.width-r.width-12),a=n.y+(n.height+r.height>this.view.scrollDOM.clientHeight?-r.height:n.height)+4;this.tooltip.style.left=o+"px",this.tooltip.style.top=a+"px"}}focusAnnotation(e){this.view.dispatch({annotations:[Tn.of({from:this.range.from,to:this.range.to})]})}unrenderTooltip(){this.component.unload(),this.tooltip&&(this.tooltip.remove(),this.tooltip=null),this.setFocused(!1)}toDOM(e){return this.icon=createSpan({cls:"cmtr-comment-icon"}),(0,li.setIcon)(this.icon,"message-square"),this.annotation_gutter&&(this.icon.onclick=n=>this.focusAnnotation(n),this.icon.oncontextmenu=n=>{n.preventDefault();let r=new li.Menu;r.addItem(s=>{s.setTitle("Close comment thread").setIcon("message-square-off").setSection("close-annotation").onClick(()=>{this.view.dispatch({changes:{from:this.range.full_range_front,to:this.range.full_range_back,insert:""}})})}),r.addItem(s=>{s.setTitle("Focus annotation").setSection("comment-handling").setIcon("eye").onClick(o=>this.focusAnnotation(o))}),r.addItem(s=>{s.setTitle("Add comment").setSection("comment-handling").setIcon("message-square").onClick(o=>{o.preventDefault(),Ji(e,this.range)})}),r.showAtMouseEvent(n)}),this.range.length&&(this.icon.onmouseenter=()=>{this.renderTooltip()},this.icon.onclick=n=>{this.renderTooltip(),this.setFocused(!0),this.focusAnnotation(n),n.stopPropagation()},this.icon.onmouseleave=n=>{!this.focused&&!this.context_menu&&this.tooltip&&!(this.tooltip.contains(n.relatedTarget)||this.icon.getBoundingClientRect().bottom-n.clientY<6)&&(this.unrenderTooltip(),this.focused=!1)}),this.icon}destroy(e){this.unrenderTooltip(),super.destroy(e)}};var Ur=require("@codemirror/state"),Ns=require("@codemirror/view");var Ls=Ur.StateEffect.define(),Do=Ur.StateField.define({create(i){return{from:i.selection.main.from,to:i.selection.main.to}},update(i,t){for(let e of t.effects)if(e.is(Ls))return e.value;return i}}),_h=Ur.StateField.define({create(i){return Ns.Decoration.none},update(i,t){let e=t.startState.field(Do,!1),n=t.state.field(Do);if(e!==n){let r=t.state.field(Pt).ranges.ranges_in_interval(n.from,n.to);return r.length&&r[0].base_range===r.at(-1)?.base_range&&n.from>=r[0].from&&n.to<=r.at(-1).to?Ur.RangeSet.of([Ns.Decoration.mark({attributes:{class:"cmtr-focused"}}).range(r[0].full_range_front,r[0].full_range_back)]):Ns.Decoration.none}else return i},provide(i){return Ns.EditorView.decorations.from(i)}});var Io=require("@codemirror/state"),jn=require("@codemirror/view"),Yr=require("obsidian");var Ro=jn.Decoration.replace({}),wh=(i,t="",e=!1)=>jn.Decoration.mark({attributes:{"data-contents":"string","data-type":"cmtr-"+i.repr.toLowerCase(),class:t,style:e&&i.fields.color?`background-color: #${i.fields.color};`:""}});function Ni(i,t,e,n=!1){n||(e===-1?i.push(Ro.range(t.from,t.from+3)):e===1?i.push(Ro.range(t.to-3,t.to)):i.push(Ro.range(t.middle,t.middle+2)))}function $o(i,t,e=!1){!t.metadata||e||i.push(Ro.range(t.from+3,t.metadata+2))}function ml(i,t){i.push(Ro.range(t.from,t.to))}function jr(i,t,e,n=0,r=!1,s=!0){let o=r?0:3;n===0?t.empty()||i.push(wh(t,e,s).range(t.from+o,t.to-o)):n<0?t.part_is_empty(!0)||i.push(wh(t,e,s).range(t.from+o,t.middle)):n>0&&(t.part_is_empty(!1)||i.push(wh(t,e,s).range(t.middle+2,t.to-o)))}function yh(i,t,e=""){Ni(i,t,-1),$o(i,t),jr(i,t,e),Ni(i,t,1)}function vl(i,t,e,n,r,s){let o=[],{show_styling:a,show_syntax:l,show_metadata:u,show_comment:f}=s.markup_focus[r];for(let h of t)if(n===0){let c=e?e.ranges.some(_=>h.partially_in_full_range(_.from,_.to)):void 0,p=`cmtr-inline cmtr-${h.repr.toLowerCase()} `+(h.fields.style||"");h.replies.length&&(p+=" cmtr-has-reply");let g=c?l:void 0,m=c?u:void 0,v=c?a:void 0;!(f&&c)&&h.type==="comment"&&s.comment_style!=="inline"?s.comment_style==="icon"&&h.base_range===h?o.push(jn.Decoration.replace({widget:new Oo(i,h,s.annotation_gutter)}).range(h.from,h.to)):o.push(jn.Decoration.replace({}).range(h.from,h.to)):(Ni(o,h,-1,g),$o(o,h,m),h.type==="substitution"?(jr(o,h,p+" cmtr-deletion",-1,!1,v),Ni(o,h,0,g),jr(o,h,p+" cmtr-addition",1,!1,v)):jr(o,h,p,0,!1,v),Ni(o,h,1,g))}else n===1?h.type==="addition"?yh(o,h,"cmtr-accepted"):h.type==="deletion"?ml(o,h):h.type==="substitution"?(Ni(o,h,-1),$o(o,h),Ni(o,h,0),jr(o,h,"cmtr-accepted",1),Ni(o,h,1)):h.type==="comment"?ml(o,h):yh(o,h,""):n===2&&(h.type==="addition"?ml(o,h):h.type==="deletion"?(Ni(o,h,-1),$o(o,h),jr(o,h,"cmtr-accepted"),Ni(o,h,1)):h.type==="substitution"?(Ni(o,h,-1),$o(o,h),jr(o,h,"cmtr-accepted",-1),Ni(o,h,0),Ni(o,h,1)):h.type==="comment"?ml(o,h):yh(o,h,""));return o}var xh=i=>Io.StateField.define({create(t){if(!t.field(Yr.editorLivePreviewField))return jn.Decoration.none;let n=t.facet(qe),r=t.facet(xi),s=t.field(Pt),o=t.field(Yr.editorEditorField);return Io.RangeSet.of(vl(o,s.ranges.ranges,null,n,r,i))},update(t,e){let n=e.state.field(Yr.editorLivePreviewField);if(!n)return jn.Decoration.none;let r=e.state.facet(qe),s=e.state.facet(xi),o=e.state.field(Pt),a=e.state.field(Yr.editorEditorField);if(n!==e.startState.field(Yr.editorLivePreviewField)||r!==e.startState.facet(qe)||e.effects.some(l=>l.is(As)))return Io.RangeSet.of(vl(a,o.ranges.ranges,e.state.selection,r,s,i));if(e.docChanged||!e.docChanged&&o.inserted_ranges.length){let l=0;return t.update({filter:(u,f,h)=>{for(;l<o.deleted_ranges.length&&o.deleted_ranges[l].to<=u;)l++;let c=o.deleted_ranges[l];return!(c&&u<c.to&&c.from<f)}}).map(e.changes).update({add:vl(a,o.inserted_ranges,e.state.selection,r,s,i)})}if(e.newSelection!==e.startState.selection){let l=e.newSelection;for(let h of e.startState.selection.ranges)l=l.addRange(h);let u=o.ranges.ranges_in_intervals(l.ranges),f=0;return t.map(e.changes).update({filter:(h,c,p)=>{for(;f<u.length&&u[f].to<=h;)f++;let g=u[f];return!(g&&h<g.to&&g.from<c)},add:vl(a,u,e.newSelection,r,s,i)})}return t},provide(t){return jn.EditorView.decorations.from(t)}});var Po=24,ed=hn.Facet.define({combine:i=>i.some(t=>t)}),kh=hn.Facet.define(),Tn=hn.Annotation.define(),br=hn.Annotation.define(),dl=hn.Annotation.define(),_l=hn.Annotation.define(),wl=hn.Annotation.define(),yl=hn.Annotation.define(),xl=hn.Annotation.define(),bl=class extends Rs{previously_focused=void 0;constructor(t){super(t,ed,kh),t.dom.parentElement.classList.contains("markdown-source-view")||(this.dom.style.display="none",setImmediate(()=>{t.dispatch(t.state.update({effects:[Sl.reconfigure([])]}))}))}debouncedMoveGutter=(0,un.debounce)(this.moveGutter.bind(this),200);createGutters(t){return t.state.facet(kh).map(e=>new Mh(t,e,this.dom))}insertGutters(t){t.contentDOM.parentNode.insertBefore(this.dom,t.contentDOM.nextSibling)}insertDetachedGutters(t){this.view.contentDOM.parentNode.insertBefore(this.dom,this.view.contentDOM.nextSibling)}getUpdateContexts(){return this.gutters.map(t=>new Sh(t,this.view.viewport,-this.view.documentPadding.top))}update(t){for(let e of t.transactions){let n=e.annotation(dl);if(n){let{marker:r,index:s,scroll:o=!1,focus_markup:a=!1}=n;this.unfocusAnnotation(),this.focusAnnotation(r,s,o,a)}}super.update(t)}unfocusAnnotation(){this.previously_focused?.unfocus_annotation(),this.previously_focused=void 0}focusAnnotation(t,e,n=!1,r=!1){this.previously_focused=t,this.debouncedMoveGutter(t),t.focus_annotation(e,n),r&&window.setTimeout(()=>{this.view.dispatch(this.view.state.update({effects:[Ls.of({from:t.annotation.from,to:t.annotation.full_range_back})]}))})}updateGutters(t){let e=t.transactions.flatMap(n=>n.annotation(Tn)).find(n=>n);if((e||t.startState.selection!==t.state.selection)&&this.unfocusAnnotation(),e){let{from:n,to:r,index:s=-1,scroll:o=!1}=e;t:for(let a of this.gutters[0].elements)if(n>=a.block.from){for(let l of a.markers)if(n>=l.annotation.from&&r<=l.annotation.full_range_back){this.focusAnnotation(l,s,o);break t}}else if(n<a.block.from)break}return super.updateGutters(t)}moveGutter(t){let e=this.gutters[0],n=e.elements.find(l=>l.markers.includes(t));if(!n)return;let r=n.markers.indexOf(t),s=n.block.top,o=n.dom.children[r].offsetTop,a=s-o;if(Math.abs(a)>=10&&a){let l=e.elements[0];l.dom.style.marginTop=parseInt(l.dom.style.marginTop||"0")+a+"px"}}foldGutter(){this.gutters[0].foldGutter()}},kl=al(bl);function id(i){return ll(kl,i,kh,ed)}var Sh=class extends Co{constructor(e,n,r){super(e,n,r);this.gutter=e;this.height=r;this.previous_element_end=r}previous_element_end=0;new_gutter_elements=[];added_elements=[];async addElement(e,n,r){let s=Math.max(n.top-this.previous_element_end,0),o=s<=0?this.previous_element_end:n.top;r.sort((f,h)=>f.annotation.from-h.annotation.from);let l=this.gutter.elements[this.i]?.dom.clientHeight||36,u=this.gutter.elements.findIndex(f=>ol(f.markers,r));if(u!==-1){let f=this.gutter.elements[u];for(let h=this.i;h<u;h++)this.gutter.dom.removeChild(this.gutter.elements[h].dom),this.gutter.elements[h].destroy();for(let h of this.added_elements)this.gutter.dom.insertBefore(h.dom,f.dom);this.new_gutter_elements.push(...this.added_elements),this.added_elements=[],this.i=u+1,this.new_gutter_elements.push(f),f.update(e,l,s,r,n)}else this.added_elements.push(new Eh(e,l,s,r,n));this.previous_element_end=o+l}finish(){for(let e=this.i;e<this.gutter.elements.length;e++)this.gutter.dom.removeChild(this.gutter.elements[e].dom),this.gutter.elements[e].destroy();for(let e of this.added_elements)this.gutter.dom.appendChild(e.dom);this.gutter.elements=[...this.new_gutter_elements,...this.added_elements],this.new_gutter_elements=[],this.added_elements=[]}},Mh=class extends pr{constructor(e,n,r){super(e,n);this.view=e;this.config=n;this.gutterDom=r;this.folded=n.foldState,this.width=n.width,this.view.dom.parentElement?.parentElement?.parentElement?.classList.contains("markdown-embed")&&(this.folded=!0),this.hide_on_empty=n.hideOnEmpty,this.add_fold_button=n.includeFoldButton,this.add_resize_handle=n.includeResizeHandle,this.hide_on_empty&&e.state.field(qn).size===0||this.folded?this.dom.style.width="0":this.dom.style.width=this.width+"px",this.view.dom.style.setProperty("--cmtr-anno-gutter-width",this.folded?"0px":this.width+"px"),this.gutterDom.style.marginInlineStart=this.folded?"0":Po+"px",this.gutter_position=this.view.scrollDOM.getBoundingClientRect().right-this.view.contentDOM.getBoundingClientRect().right+Po,this.add_fold_button&&this.createFoldButton(),this.add_resize_handle&&this.createResizeHandle()}folded=!1;hide_on_empty=!1;width=0;add_fold_button=!1;add_resize_handle=!1;gutter_position=0;fold_button_el=void 0;resize_handle_el=void 0;createFoldButton(){let e=createEl("a",{cls:["view-action"]});(0,un.setIcon)(e,"arrow-right-from-line"),e.setAttribute("data-tooltip-position","left"),e.style.display=this.view.state.field(qn).size?"":"none",e.onclick=()=>{this.folded=!this.folded,this.view.state.field(un.editorInfoField).app.workspace.requestSaveLayout(),this.foldGutter()},this.setFoldButtonState(),this.fold_button_el=createDiv({cls:["cmtr-anno-gutter-button"]}),this.fold_button_el.appendChild(e),this.gutterDom.appendChild(this.fold_button_el)}createResizeHandle(){this.resize_handle_el=createEl("hr",{cls:["cmtr-anno-gutter-resize-handle"]}),this.resize_handle_el.style.display=this.view.state.field(qn).size&&!this.folded?"":"none",this.resize_handle_el.addEventListener("mousedown",e=>{let n=e.clientX,r=this.view.state.field(un.editorInfoField).app.vault.getConfig("readableLineLength"),s=document.styleSheets[0],o=(0,un.debounce)(f=>{this.width=Math.round(Math.max(0,f)),this.view.state.field(un.editorInfoField).app.workspace.requestSaveLayout(),this.dom.style.width=this.width+"px",this.view.dom.style.setProperty("--cmtr-anno-gutter-width",this.width+"px"),r&&(s.deleteRule(s.cssRules.length-1),s.insertRule(`.cmtr-anno-gutter-resizing .cm-line { width: ${this.view.contentDOM.clientWidth}px !important; }`,s.cssRules.length),this.gutter_position=this.view.scrollDOM.getBoundingClientRect().right-this.view.contentDOM.getBoundingClientRect().right+Po)},25);this.resize_handle_el.classList.toggle("cmtr-anno-gutter-resize-handle-hover",!0),this.view.scrollDOM.classList.toggle("cmtr-anno-gutter-resizing",!0);let a=parseInt(this.dom.style.width.slice(0,-2)),l=f=>{let h=f.clientX-n;return n=f.clientX,a-=h,o(a),!0},u=()=>{document.removeEventListener("mousemove",l),document.removeEventListener("mouseup",u),this.resize_handle_el.classList.toggle("cmtr-anno-gutter-resize-handle-hover",!1),this.view.scrollDOM.classList.toggle("cmtr-anno-gutter-resizing",!1),r&&s.deleteRule(s.cssRules.length-1)};return document.addEventListener("mousemove",l),document.addEventListener("mouseup",u),!0}),this.gutterDom.appendChild(this.resize_handle_el)}setFoldButtonState(){this.fold_button_el&&(this.folded?(this.fold_button_el.children[0].setAttribute("style","rotate: -180deg;"),this.fold_button_el.children[0].ariaLabel="Unfold gutter",this.resize_handle_el&&(this.resize_handle_el.style.display="none")):(this.fold_button_el.children[0].setAttribute("style","rotate: 0deg;"),this.fold_button_el.children[0].ariaLabel="Fold gutter",this.resize_handle_el&&(this.resize_handle_el.style.display="")))}foldGutter(){if(this.setFoldButtonState(),this.folded?this.elements.forEach(e=>{Array.from(e.dom.getElementsByClassName("cmtr-anno-gutter-annotation")).forEach(n=>{n.setAttribute("style",`max-height: ${n.clientHeight}px; overflow: hidden;`)})}):this.dom.addEventListener("transitionend",()=>{this.elements.forEach(e=>{Array.from(e.dom.getElementsByClassName("cmtr-anno-gutter-annotation")).forEach(n=>{n.removeAttribute("style")})})},{once:!0}),this.dom.style.width=this.folded?"0":this.width+"px",this.gutterDom.style.marginInlineStart=this.folded?"0":Po+"px",this.view.state.field(un.editorInfoField).app.vault.getConfig("readableLineLength")){let e=parseInt(getComputedStyle(this.view.scrollDOM).getPropertyValue("--file-line-width").trim()),n=Math.max(0,this.view.scrollDOM.innerWidth-e),r=Math.max(0,n-this.width),s=(this.folded?n:r)/2,o=(this.folded?r:n)/2;this.view.contentDOM.style.width=this.view.contentDOM.clientWidth+(this.folded?Po:0)+"px !important",this.view.scrollDOM.children[0].setAttribute("style",`margin: 0 ${o}px; transition: margin 0.4s ease-in-out, max-width 0.4s ease-in-out;`),this.folded||this.view.dom.style.setProperty("--cmtr-anno-gutter-width",this.width+"px"),setTimeout(()=>{this.view.scrollDOM.children[0].setAttribute("style",`margin: 0 ${s}px; transition: margin 0.4s ease-in-out, max-width 0.4s ease-in-out;`),this.dom.addEventListener("transitionend",()=>{this.view.contentDOM.removeAttribute("style"),this.view.scrollDOM.children[0].removeAttribute("style"),this.folded&&this.view.dom.style.setProperty("--cmtr-anno-gutter-width","0px")},{once:!0})})}}update(e){let n=super.update(e),r=e.state.field(qn);for(let s of e.transactions){let o=s.annotation(br),a=s.annotation(_l),l=s.annotation(wl),u=s.annotation(yl),f=s.annotation(xl);a!==void 0&&(this.width=a,!this.hide_on_empty&&!this.folded&&(this.dom.style.width=a+"px",this.setFoldButtonState()),this.view.dom.style.setProperty("--cmtr-anno-gutter-width",this.width+"px")),o!==void 0&&(o===null?(this.folded=!this.folded,this.view.state.field(un.editorInfoField).app.workspace.requestSaveLayout()):this.folded=o,this.foldGutter()),l!==void 0&&(this.hide_on_empty=l,this.hide_on_empty&&r.size===0?this.dom.style.width="0":this.dom.style.width=this.width+"px",this.view.dom.style.setProperty("--cmtr-anno-gutter-width",this.width+"px")),u!==void 0&&(this.add_fold_button=u,this.add_fold_button&&!this.fold_button_el?this.createFoldButton():!this.add_fold_button&&this.fold_button_el&&(this.fold_button_el.remove(),this.fold_button_el=void 0),this.setFoldButtonState()),f!==void 0&&(this.add_resize_handle=f,this.add_resize_handle&&!this.resize_handle_el?this.createResizeHandle():!this.add_resize_handle&&this.resize_handle_el&&(this.resize_handle_el.remove(),this.resize_handle_el=void 0))}return r.size!==e.startState.field(qn).size&&(r.size===0?(this.fold_button_el&&(this.fold_button_el.style.display="none"),this.resize_handle_el&&(this.resize_handle_el.style.display="none"),this.hide_on_empty&&(this.dom.style.width="0")):(this.fold_button_el&&(this.fold_button_el.style.display=""),this.resize_handle_el&&(this.resize_handle_el.style.display=""),this.folded||(this.dom.style.width=this.width+"px"))),n}destroy(){this.fold_button_el?.remove(),this.resize_handle_el?.remove(),super.destroy()}},Eh=class extends $s{constructor(e,n,r,s,o=null){super(e,n,r,s);this.block=o}update(e,n,r,s,o=null){this.block=o,this.above!=r&&(this.dom.style.marginTop=(this.above=r)?r+"px":""),ol(this.markers,s)||this.setMarkers(e,s)}};var rd=i=>[qn,id({class:"cmtr-anno-gutter "+(i.app.vault.getConfig("cssTheme")==="Minimal"?" is-minimal":""),markers:t=>t.state.field(qn),foldState:i.settings.annotation_gutter_default_fold_state,width:i.settings.annotation_gutter_width,hideOnEmpty:i.settings.annotation_gutter_hide_empty,includeFoldButton:i.settings.annotation_gutter_fold_button,includeResizeHandle:i.settings.annotation_gutter_resize_handle})],Sl=new nd.Compartment;var ad=require("obsidian"),ld=require("@codemirror/state");var No=require("@codemirror/state"),vx=require("@codemirror/view");var sd=No.Facet.define({combine:i=>i.some(t=>t)}),Th=No.Facet.define(),Ml=No.Annotation.define(),Ah=class extends Rs{constructor(t){super(t,sd,Th),t.dom.parentElement.classList.contains("markdown-source-view")||(this.dom.style.display="none",setImmediate(()=>{t.dispatch(t.state.update({effects:[El.reconfigure([])]}))}))}createGutters(t){return t.state.facet(Th).map(e=>new Ch(t,e))}},Ch=class extends pr{constructor(e,n){super(e,n);this.view=e;this.config=n;this.hide_on_empty=n.hideOnEmpty}hide_on_empty=!1;showing=!0;update(e){let n=super.update(e);for(let r of e.transactions){let s=r.annotation(Ml);s!==void 0&&(this.hide_on_empty=s)}return this.showing&&this.hide_on_empty&&e.state.field(Pt).ranges.empty()?(this.dom.parentElement.classList.add("gutter-hidden"),this.showing=!1):!this.showing&&(!this.hide_on_empty||!e.state.field(Pt).ranges.empty())&&(this.dom.parentElement.classList.remove("gutter-hidden"),this.showing=!0),n}},Gm=al(Ah);function od(i){return ll(Gm,i,Th,sd)}var Tl=require("@codemirror/state"),Al=require("@codemirror/view");var Oh=class extends Al.GutterMarker{constructor(e,n,r){super();this.type=e;this.top=n;this.bottom=r}toDOM(){let e="";return this.type.has("addition")&&(e+="cmtr-diff-gutter-addition "),this.type.has("deletion")&&(e+="cmtr-diff-gutter-deletion "),this.type.has("substitution")&&(e+="cmtr-diff-gutter-substitution "),this.top&&(e+="cmtr-diff-gutter-top "),this.bottom&&(e+="cmtr-diff-gutter-bottom "),createDiv({cls:e})}},Dh=Al.ViewPlugin.fromClass(class{markers=Tl.RangeSet.empty;constructMarkers(t){let e=t.state.field(Pt).ranges,n=new Tl.RangeSetBuilder,r={};for(let s of e.ranges_in_interval(t.viewport.from,t.viewport.to)){let o=t.state.doc.lineAt(s.from).number,a=t.state.doc.lineAt(s.to).number,l=Array.from({length:a-o+1},(u,f)=>o+f);r[o]?r[o].isStart=!0:r[o]={isStart:!0,isEnd:!1,types:new Set};for(let u of l)r[u]?(r[u].isEnd=!1,r[u].types.add(s.type)):r[u]={isStart:!1,isEnd:!1,types:new Set([s.type])};r[a]&&(r[a].isEnd=!0)}for(let[s,o]of Object.entries(r)){let a=t.state.doc.line(Number(s));n.add(a.from,a.to,new Oh(o.types,o.isStart,o.isEnd))}this.markers=n.finish()}constructor(t){this.constructMarkers(t)}update(t){(t.docChanged||t.viewportChanged||t.heightChanged)&&this.constructMarkers(t.view)}});var ud=[Dh,od({class:"cmtr-diff-gutter",markers:i=>i.plugin(Dh).markers,domEventHandlers:{click:(i,t,e)=>{let n=new ad.Menu;return n.addItem(r=>{r.setTitle("Accept changes").setIcon("check").onClick(()=>{i.dispatch({changes:Wn(i.state,t.from,t.to)})})}),n.addItem(r=>{r.setTitle("Reject changes").setIcon("cross").onClick(()=>{i.dispatch({changes:Un(i.state,t.from,t.to)})})}),n.showAtMouseEvent(e),!1}}})],El=new ld.Compartment;function hd(i,t){let e={};for(let n in i)i[n]!==t[n]&&(e[n]=i[n]);return e}function cd(i){let t=i.lastIndexOf(".");return t===-1||t===i.length-1||t===0?i:i.slice(0,t)}var qm=i=>Object.entries(gf).map(([t,e])=>({id:`toggle-${t.toLowerCase()}`,name:`Mark as ${t}`,icon:t.toLowerCase(),editor_context:!0,regular_callback:(n,r)=>{dd(n,e,i.settings)}})),Wm=i=>[{id:"accept-all-suggestions",name:"Accept all suggestions",icon:"check-check",editor_context:!0,regular_callback:(t,e)=>{t.cm.dispatch(t.cm.state.update({changes:Wn(t.cm.state)}))}},{id:"reject-all-suggestions",name:"Reject all suggestions",icon:"cross",editor_context:!0,regular_callback:(t,e)=>{t.cm.dispatch(t.cm.state.update({changes:Un(t.cm.state)}))}},{id:"accept-selected-suggestions",name:"Accept suggestions in selection",icon:"check",editor_context:!0,check_callback:(t,e,n)=>{let r=$h(e.cm.state);if(t||!r)return r;let o=e.cm.state.selection.ranges.map(a=>Wn(e.cm.state,a.from,a.to));e.cm.dispatch(e.cm.state.update({changes:o}))}},{id:"reject-selected-suggestions",name:"Reject suggestions in selection",icon:"cross",editor_context:!0,check_callback:(t,e,n)=>{let r=$h(e.cm.state);if(t||!r)return r;let o=e.cm.state.selection.ranges.map(a=>Un(e.cm.state,a.from,a.to));e.cm.dispatch(e.cm.state.update({changes:o}))}},{id:"comment",name:"Add comment",icon:"message-square",editor_context:!0,regular_callback:(t,e)=>{Ji(t.cm,t.cm.state.field(Pt).ranges.at_cursor(t.cm.state.selection.main.head))}},{id:"fold-gutter",name:"Fold annotation gutter",icon:"arrow-right-from-line",editor_context:!0,regular_callback:(t,e)=>{t.cm.dispatch({annotations:[br.of(null)]})}},{id:"toggle-preview-mode",name:"Cycle preview mode",icon:"comment",editor_context:!0,regular_callback:(t,e)=>{let n=(t.cm.state.facet(qe)+1)%3;t.cm.dispatch(t.cm.state.update({effects:Ms.reconfigure(qe.of(n))})),i.setPreviewMode(e,n)}},{id:"suggest-mode",name:"Toggle suggestion mode",icon:"file-edit",editor_context:!0,regular_callback:(t,e)=>{let r=t.cm.state.facet(xi)===2?1:2;t.cm.dispatch(t.cm.state.update({effects:[Es.reconfigure(xi.of(r)),Ts.reconfigure(dr(r,i.settings))]})),i.setEditMode(e,r)}},{id:"generate-text-diff",name:"Generate text diff from clipboard",icon:"diff",editor_context:!0,regular_callback:async(t,e)=>{let n=await navigator.clipboard.readText(),r=t.cm.state.field(Pt).ranges,s=t.cm.state.selection.main,o=r.unwrap_in_range(t.cm.state.doc,s.from,s.to).output,a=pd(i.settings,o,n);t.cm.dispatch(t.cm.state.update({changes:[{from:s.from,to:s.to,insert:a}]}))}},{id:"save-clean-copy",name:Rh.Platform.isMacOS?"Duplicate current file without markup":"Make a copy of the current file without markup",icon:"copy",editor_context:!0,regular_callback:async(t,e)=>{if(e.file){let n=i.app.vault.getAvailablePath(cd(e.file.path),e.file.extension),r=await i.app.vault.read(e.file),s=await i.app.vault.copy(e.file,n),o=za(r,(a,l)=>a.unwrap(),t.cm.state.field(Pt).ranges.ranges);await i.app.vault.modify(s,o),await i.app.workspace.getLeaf("tab").openFile(s,{active:!0,eState:{rename:"all"}})}}}],Um=i=>[{id:"view",name:"Open global annotation view",icon:"comment",regular_callback:async()=>{await i.activateView()}}],fd=i=>jm([...qm(i),...Wm(i),...Um(i)]);function jm(i){for(let t of i)Rh.Platform.isMobile||t.editor_context?t.regular_callback?(t.editorCallback=t.regular_callback,delete t.regular_callback):(t.editorCheckCallback=t.check_callback,delete t.check_callback):t.regular_callback?(t.callback=t.regular_callback,delete t.regular_callback):(t.checkCallback=t.check_callback,delete t.check_callback);return i}var gd=i=>i.app.workspace.on("editor-menu",(t,e)=>{let n=e.cm.state.field(Pt).ranges;if(t.addItem(r=>{r.setTitle("Add comment").setIcon("message-square").setSection("commentator").onClick(()=>{Ji(e.cm,n.at_cursor(e.cm.state.selection.main.head))})}),n.contains_range(e.cm.state.selection.main.from,e.cm.state.selection.main.to)&&(t.addItem(r=>{r.setTitle("Accept changes").setIcon("check").setSection("commentator").onClick(()=>{let o=e.cm.state.selection.ranges.map(a=>Wn(e.cm.state,a.from,a.to));e.cm.dispatch(e.cm.state.update({changes:o}))})}),t.addItem(r=>{r.setTitle("Reject changes").setIcon("cross").setSection("commentator").onClick(()=>{let o=e.cm.state.selection.ranges.map(a=>Un(e.cm.state,a.from,a.to));e.cm.dispatch(e.cm.state.update({changes:o}))})}),_f(e.cm.state.selection))){let r=e.cm.state.field(Pt).ranges.at_cursor(e.cm.state.selection.ranges[0].head);t.addItem(s=>{let o=s.setTitle("Set metadata").setIcon("tags").setSection("commentator").setSubmenu();o.addItem(a=>{a.setTitle("Set author").setIcon("lucide-user").onClick(()=>{e.cm.dispatch(e.cm.state.update({changes:r.add_metadata("author",i.settings.author)}))})}),o.addItem(a=>{a.setTitle("Set time").setIcon("lucide-calendar").onClick(()=>{e.cm.dispatch(e.cm.state.update({changes:r.add_metadata("time",Math.round(Date.now()/1e3))}))})}),o.addItem(a=>{a.setTitle("Set completed").setIcon("lucide-check").onClick(()=>{e.cm.dispatch(e.cm.state.update({changes:r.add_metadata("done",!0)}))})})})}}),md=i=>i.app.workspace.on("markdown-viewport-menu",(t,e,n,r)=>{if(i.settings.annotation_gutter){let s=e.editor.cm,o=s.state.field(an);mr(!0),t.addItem(a=>{a.setTitle("Fold gutter").setIcon("arrow-right-from-line").setSection("commentator").onClick(()=>{s.dispatch(s.state.update({annotations:[br.of(null)]}))})}),t.addItem(a=>{let l=a.setTitle("Included annotations").setIcon("eye").setSection("commentator").setSubmenu();for(let{title:u,icon:f,value:h}of[{title:"Additions",icon:"plus-circle",value:1},{title:"Deletions",icon:"minus-square",value:2},{title:"Substitutions",icon:"replace",value:4},{title:"Highlights",icon:"highlighter",value:8},{title:"Comments",icon:"message-square",value:16}])l.addItem(c=>{c.setTitle(u).setIcon(f).setChecked((o&h)!==0).onClick(()=>{o^=h,c.setChecked((o&h)!==0),s.dispatch(s.state.update({effects:[Ss.reconfigure(an.of(o))]}))})})})}});function Bs(i,t){i.scrollIntoView({from:i.offsetToPos(t.from),to:i.offsetToPos(t.to)},!0)}var Cl=require("@codemirror/state"),vd=require("@codemirror/view");var Ih=Cl.Prec.high(vd.EditorView.inputHandler.of((i,t,e,n)=>{let r=i.state.doc.sliceString(t-2,t)+n,s;if((s=mf[r])!==void 0){let o=[{from:t,to:e+1,insert:n+s.join("")}];return i.dispatch({changes:o,selection:Cl.EditorSelection.cursor(e+1)}),!0}return!1}));var Ol=require("@codemirror/state");var Ph=Ol.EditorState.transactionFilter.of(i=>{if(i.isUserEvent("select")){let t=i.startState.selection.main,e=i.selection.main;if(e.anchor===e.head){let n=i.startState.field(Pt).ranges,r=n.at_cursor(t.head),s=n.at_cursor(e.head);if(r&&r!==s&&(r.type==="substitution"||r.type==="highlight")){let o=r.unwrap(),a=!1,l=0,u=o.search(/\S/);u>=1&&(a=!0,o=o.slice(u),l+=u);let f=o.match(/\n\s*\n/g);if(f&&(a=!0,o=o.replace(/\n\s*\n/g,`
|
|
`),l+=f.reduce((h,c)=>h+c.length,0)),a)return{changes:[{from:r.from+3,to:r.to-3,insert:o}],selection:Ol.EditorSelection.cursor(e.head-l)}}}}return i});var bd=require("@codemirror/state");var Nh=i=>bd.EditorState.transactionExtender.of(t=>{if(t.selection&&t.newSelection.main!==t.startState.selection.main){let e=[],n=[];return i.annotation_gutter_focus_on_click&&n.push(Tn.of({from:t.selection.main.from,to:t.selection.main.to})),e.push(Ls.of({from:t.selection.main.from,to:t.selection.main.to})),{effects:e,annotations:n}}return{}});var _d=require("@codemirror/state"),Pi;function Lh(i){return Pi=wd(i),Pi}var wd=i=>_d.StateField.define({create(){return i.settings},update(){return i.settings}});var Kr=require("obsidian");async function cn(i,t,e,n=!0){let r=$l(t),s={},o=()=>{};Object.keys(r).length>=100&&(o=rl("Applying operations...","Operations applied.",Object.keys(r).length,3e3,"Please do not apply other operations until this progress bar has completed."));let a=0;for(let[l,u]of Object.entries(r)){let f=i.app.vault.getAbstractFileByPath(l);!f||!(f instanceof Kr.TFile)||(s[l]=await i.app.vault.cachedRead(f),n&&(u=u.flatMap(h=>[h,...h.replies])),u.sort((h,c)=>h.from-c.from),await e(i.app,f,u),o(++a))}i.file_history.push({changes:s,mtime:Date.now()})}async function Bh(i){if(i.file_history.length===0){new Kr.Notice("No changes to undo.",3e3);return}let t=i.file_history.pop();if(!t)return;let{changes:e,mtime:n}=t,r=()=>{};Object.keys(e).length>=100&&(r=rl("Undoing changes...","Changes undone.",Object.keys(e).length,3e3,"Please do not apply other operations until this progress bar has completed."));let s=0;for(let[o,a]of Object.entries(e)){let l=i.app.vault.getAbstractFileByPath(o);if(!(!l||!(l instanceof Kr.TFile))){if(l.stat.mtime>n){new Kr.Notice("File has been modified since the changes were made, skipping: "+o,3e3);continue}await i.app.vault.modify(l,a),r(++s)}}}async function Dl(i,t){let e=i.app.workspace.getLeavesOfType("markdown");if(!e.length)return;let n=e.reduce((o,a)=>(o.activeTime??0)>(a.activeTime??0)?o:a),r=i.app.vault.getAbstractFileByPath(t.path);if(!r||!(r instanceof Kr.TFile))return;await i.app.workspace.revealLeaf(n);let s=n.view;r!==s.file&&await n.openFile(r),Bs(s.editor,t.range)}var Pt=yd.StateField.define({create(i){let t=i.doc.toString(),e=Za.parser.parse(t),n=i.field(Pi),r=new Va(Fh(e,t,n));return{tree:e,fragments:ks.addTree(e),ranges:r,inserted_ranges:r.ranges,deleted_ranges:[]}},update(i,t){let e=t.state.field(Pi);if(t.effects.some(m=>m.is(As)))return this.create(t.state);if(!t.docChanged)return i.inserted_ranges=[],i.deleted_ranges=[],i;let n=[];t.changes.iterChangedRanges((m,v,_,S)=>n.push({fromA:m,toA:v,fromB:_,toB:S}));let r=ks.applyChanges(i.fragments,n),s=t.state.doc.toString(),o=Za.parser.parse(new xd.DocInput(t.state.doc),r);r=ks.addTree(o,r);let a=new Map,l=[],u=new Map,f=new Set;for(let m of n){i.ranges.tree.search([m.fromA,m.toA],(v,_)=>{i.ranges.tree.remove(_,v),f.add(v);for(let S of v.base_range.thread)u.set(S.from,S);return!0});for(let v of Fh(o,s,e,m.fromB,m.toB))a.set(v.from,v);l.push([m.toA,m.toB-m.fromB-(m.toA-m.fromA)])}for(let m of f)m.type==="comment"&&u.delete(m.from);let h=0,c=i.ranges.tree.nil_node;function p(m){if(m!=null&&m!=c){for(p(m.left);l.length&&m.item.key.low>=l[0][0];)h+=l.shift()[1];m.item.value.apply_offset(h),m.item.key.low=m.item.value.from,m.item.key.high=m.item.value.to,p(m.right),m.left!=c&&(m.max.low=m.left.max.low),m.right!=c&&(m.max.high=m.right.max.high)}}p(i.ranges.tree.root);let g=Array.from(a.values());for(let m of g)i.ranges.tree.insert([m.from,m.to],m);for(let m of g)m.type==="comment"&&u.set(m.from,m);if(u.size){let m=[],v,_=[];for(let S of Array.from(u.values()).sort((k,E)=>k.from-E.from))S.clear_references(),S.replies.length=0,!v||v?.right_adjacent(S)?_.push(S):(m.push(_),_=[S]),v=S;m.push(_);for(let S of m){let k=S[0],E=i.ranges.tree.search([k.from,k.from])[0];E.replies.length=0;for(let M of S.slice(E===k?1:0))M.add_reply(E)}}return i.ranges.ranges=i.ranges.tree.values,{tree:o,ranges:i.ranges,fragments:r,inserted_ranges:g,deleted_ranges:[...f]}}});function Ym(i,t,e){let n=i.enable_metadata&&t.firstChild?.type.name.startsWith("MDSep")?t.firstChild.from:void 0,r;if(t.type.name==="Substitution"){let s=n?t.firstChild?.nextSibling:t.firstChild;if(!s||s.type.name!=="MSub")return;r=s.from}return Km(t.from,t.to,t.type.name,e.slice(t.from,t.to),r,n)}function Fh(i,t,e,n=0,r=t.length){let s=[],o,a=i.cursor();if(a.childAfter(n-1),a.node.type.name==="CriticMarkup"||a.node.from>r)return s;if(a)do{let l=a.node;if(l.type.name==="\u26A0")continue;let u=Ym(e,l,t);u&&(u.type==="comment"&&o&&o.right_adjacent(u)&&u.add_reply(o),s.push(u),o=u)}while(a.nextSibling()&&a.node.from<=r);return s}function $h(i){let t=i.field(Pt).ranges;return t.ranges.length?i.selection.ranges.some(e=>t.contains_range(e.from,e.to)):!1}function Lo(i,t){let e=Za.parser.parse(i);return Fh(e,i,t)}function Km(i,t,e,n,r,s){switch(e){case"Addition":return new Fr(i,t,n,s);case"Deletion":return new _s(i,t,n,s);case"Substitution":return new Sn(i,r,t,n,s);case"Highlight":return new ws(i,t,n,s);case"Comment":return new bs(i,t,n,s);default:return new Fr(i,t,n,s)}}var Bo={addition:Fr,deletion:_s,highlight:ws,substitution:Sn,comment:bs};function $l(i){let t={};for(let{path:e,range:n}of i)t[e]||(t[e]=[]),t[e].push(n);return t}function Vr(i){let t;return i.add_metadata&&(t={},i.add_author_metadata&&(t.author=i.author||void 0),i.add_timestamp_metadata&&(t.time=Math.floor(Date.now()/1e3)),Object.keys(t).length===0&&(t=void 0)),t}var Jm={author:"split"};function nl(i,t,e=Jm){if(!t)return{compatible:!0,merged_metadata:i.fields};if(!i.fields)return{compatible:!1,merged_metadata:void 0};let n=Object.assign({},i.fields,t);for(let r of[...new Set(Object.keys(t).concat(Object.keys(i.fields)))])if(t[r]!==i.fields[r]){let s=e[r];if(s==="split"||s==="move_outside")return{compatible:!1,merged_metadata:void 0};s==="old"&&(n[r]=i.fields[r])}return{compatible:!0,merged_metadata:n}}function Fo(i,t,e,n=0,r=0){return Yn(i,t,i&&t?"substitution":i?"addition":"deletion",e,n,r)}function Yn(i,t,e,n,r=0,s=0){if(!e)return{insert:t+i,start_offset:r,end_offset:s};let o=me[e],a=n&&Object.keys(n).length?JSON.stringify(n)+"@@":"",l=o[0]+a+(e==="substitution"?t+o[1]+i+o[2]:t+i+o[1]),u=o[0].length+a.length;return r+=u,s+=e==="substitution"?o[1].length:0,{insert:l,start_offset:r,end_offset:s}}function kd(i,t,e=""){return Fo(t,e,Vr(i)).insert}function Wr(i,t,e,n=""){return Yn(e,n,t,Vr(i)).insert}var Rl=require("@codemirror/state");function Sd(i,t,e,n=!1,r=null){let s=i,o=e.doc.lineAt(s),a=e.charCategorizer(s);r===Rl.CharCategory.Space&&(r=null);let l=null;for(r;;){if(s==(t?o.to:o.from)){s==i&&o.number!=(t?e.doc.lines:1)&&(s+=t?1:-1);break}let u=(0,Rl.findClusterBreak)(o.text,s-o.from,t)+o.from,f=o.text.slice(Math.min(s,u)-o.from,Math.max(s,u)-o.from);if(l=a(f),r!=null&&l!=r)if(r==1&&n)n=!1;else break;(f!=" "||s!=i)&&(r=l),s=u}return[s,r]}function Hh(i,t,e=!1){let n=t.doc.lineAt(i),r=t.charCategorizer(i);return e&&(i-=1),r(n.text.slice(i-n.from,i-n.from+1))}var W2=require("@codemirror/state");function el(i){return i.annotations.map(t=>t.value).filter(t=>typeof t=="string")}function Md(i,t,e){if(t.clipboardData&&i.clipboard_remove_syntax){let n=e.state.selection.main,s=e.state.field(Pt).ranges.unwrap_in_range(e.state.doc,n.from,n.to).output;t.clipboardData.setData("text/plain",s),t.preventDefault()}}var Vo=require("@codemirror/state");function Xm(i){return i===Vo.CharCategory.Space||i===null}function Qm(i,t){return i!==null&&i!==Vo.CharCategory.Space&&i!==t}function Zm(i,t,e){if(e.cursor_inside(i))return e;{let n=e.cursor_before_range(i),r=t.ranges.indexOf(e)+(n?-1:1);for(;r>=0&&r<t.ranges.length;)if(e=t.ranges[r],n?e.cursor_before_range(i):e.cursor_after_range(i))r+=n?-1:1;else return e.cursor_inside(i)?e:void 0}}function Ho(i,t,e,n,r,s){n?n=Zm(i,e,n):n=e.range_adjacent_to_cursor(i,!t,!0,!0);let o=!0;for(;o&&n;){let a=i;if(i=n.cursor_move_through(i,t,r[n.type]),o=i!==a,o&&i===(t?n.to:n.from)&&(n=e.adjacent_range(n,!t,!0),n&&s&&s[n.type]==="stay_outside"))break}return[i,n]}function Ed(i,t,e,n,r,s=!1,o,a,l){let u=e.range_adjacent_to_cursor(i,!n,!0,!r);if(!u||(n?u.cursor_before_range(t):u.cursor_after_range(t))||a[u.type]==="unchanged")return t;if(!r&&Math.abs(i-t)===1)[t,u]=Ho(i,n,e,u,a,l),t=t+(n?1:-1);else if(!r)[t,u]=Ho(t,n,e,u,a,l);else{let f=Ho(t,!n,e,u,a,null)[0],h=null,c=f===i?null:Hh(f,o,n),p=t;for(;!Qm(h,c)&&(t=p,h=c,[t,u]=Ho(t,n,e,u,a,l),p=Sd(t,n,o,Xm(h),h)[0],p!==t);)f=Ho(p,!n,e,u,a,null)[0],c=Hh(f,o,n)}if(u&&!(t===0||t===o.doc.length)){let f=n?u.to:u.from,h=n?1:-1;t===f?l[u.type]==="stay_inside"&&(t=f-3*h):u.touches_bracket(t,n,!1,!0)&&(t=n?u.from:u.to)}return Math.clamp(t,0,o.doc.length)}function Ff(i,t,e,n,r,s,o=!1,a,l,u){let f=Ed(i.head,t.head,e,n,r,o,a,l,u),h=i.anchor;return s||(h=f),{selection:Vo.EditorSelection.range(h,f)}}var t0={addition:"ignore_metadata",deletion:"ignore_metadata",substitution:"ignore_metadata",comment:"ignore_metadata",highlight:"ignore_metadata"},e0={addition:"stay_inside",deletion:"stay_inside",substitution:"stay_inside",comment:"stay_inside",highlight:"stay_inside"};function il(i,t,e,n,r,s=t0,o=e0){if(!i.selection){let a=i.anchor,l=e?i.from:i.to;l=Ed(a,l,t,!e,n,!1,r,s,o),e?i.from=l:i.to=l}return i}var dk=require("@codemirror/state");var yk=require("@codemirror/view"),Td=require("@codemirror/state");function Ji(i,t,e=!1){let n=i.state.field(Pi),r=t?t.full_range_back:i.state.selection.main.head,s=t?t.full_thread.length:-1;i.dispatch(i.state.update({changes:{from:r,to:r,insert:Wr(n,"comment","")},selection:Td.EditorSelection.cursor(r),scrollIntoView:e})),window.setTimeout(()=>{i.dispatch(i.state.update({annotations:[Tn.of({from:r,to:r,index:s})]}))})}var Ck=require("@codemirror/state");function Wn(i,t,e,n=!0){let r=i.field(Pt).ranges;return(t||e?r.ranges_in_interval(t??0,e??1/0):r.ranges).filter(s=>s.type==="addition"||s.type==="deletion"||s.type==="substitution").map(s=>({from:s.from,to:n?s.full_range_back:s.to,insert:s.accept()}))}function Un(i,t,e,n=!0){let r=i.field(Pt).ranges;return(t||e?r.ranges_in_interval(t??0,e??1/0):r.ranges).filter(s=>s.type==="addition"||s.type==="deletion"||s.type==="substitution").map(s=>({from:s.from,to:n?s.full_range_back:s.to,insert:s.reject()}))}async function fn(i,t,e,n){n.sort((o,a)=>o.from-a.from);let r=await t.vault.read(e),s=za(r,i,n);await t.vault.modify(e,s)}var zh=require("@codemirror/state");function Cd(i,t){return t==="regular"||t==="clear"?!0:!((i.type==="comment"||i.type==="highlight")&&i.type!==t)}function i0(i,t,e,n={}){return Cd(i,t)?!e||!i.fields?!1:[...new Set(Object.keys(e).concat(Object.keys(i.fields)))].some(r=>e[r]!==i.fields[r]&&(n[r]==="move_outside"||r==="author"&&i.type==="comment")):!0}function n0(i,t){if(i!=="substitution"&&i===t)return i;if(i==="deletion"&&t==="addition")return"substitution";if(i==="substitution"&&t==="addition")return"substitution";if(i==="deletion"&&t==="substitution")return"substitution"}function Vh(i,t,e,n,r=!1,s=!1){if(!t||!e||!Cd(t,e))return{};if(!s&&(r&&t.touches_left_bracket(i,!1,!0,!0)||!r&&t.touches_right_bracket(i,!1,!0)))return{};let{compatible:o,merged_metadata:a}=nl(t,n);if(!o)return{};let l,u;return r?(l=t.range_type(-1/0,i),u=e):(l=e,u=t.range_type(i,1/0)),e=n0(l,u),{type:e,merged_metadata:e?a:void 0}}function Ad(i,t,e,n,r,s,o){let a=i.ranges_in_interval(e,n),l=i.at_cursor(e,!1),u=i.at_cursor(n,!0),f=["",""],h=!1,c=r,p=0,g=0;function m(_=!1){l?.type&&(l.touches_left_bracket(e,!1,!0,!0)?e=l.from:l.touches_right_bracket(e,!1,!0)?e=l.to:l.type==="substitution"&&(_||l.contains_separator(e,n))?(f[0]=Yn("",l.unwrap_slice(0,e),"deletion",l.fields).insert,e=l.from):f[0]=l.split_range(e)[0])}function v(_=!1){if(u?.type)if(u.touches_right_bracket(n,!1,!0))n=u.to;else if(u.touches_left_bracket(n,!1,!0,!0))n=u.from;else if(u.type==="substitution"&&(_||u.contains_separator(e,n))){let S=u.unwrap_slice(n,1/0);f[1]=Yn(S,"","addition",u.fields).insert,n=u.to,h=!0}else f[1]=u.split_range(n)[1]}if(s==="none")n=e,c="";else if(s==="regular")if(l!==void 0&&l===u){let _=e===n?"":l.unwrap_slice(e,n);if(_){if(e=l.cursor_move_inside(e,!0),n=l.cursor_move_inside(n,!1),l.type==="substitution"){let S=l.contains_part(e,n),k=l.unwrap_parts();if(S){let E=l.unwrap_slice(0,e);p+=E.length,g+=r.length-2;let M=l.unwrap_slice(n,l.middle);_=E+r+M,c=k[1]}else if(S===!1){_=k[0];let E=l.unwrap_slice(l.middle+2,e);p=_.length+E.length;let M=l.unwrap_slice(n,1/0);c=E+r+M}else{let[E,M]=l.unwrap_slice_parts_inverted(e,n);p=E.length,_=E,c=r+M}e=l.from,n=l.to,{insert:c,start_offset:p,end_offset:g}=Fo(c,_,l.fields,p,g)}}else{let S=l.cursor_move_inside(e,!0);e=S,n=S,c=r}}else if(e===n?"":i.unwrap_in_range(t,e,n,a).output)m(),v(),p+=f[0].length,h?c=f[0]+r+f[1]:(g=f[1].length,c=f[0]+f[1]+r);else{let S=l||u,k=S?S.cursor_move_inside(e,!0):e;e=k,n=k,c=r}else if(s==="clear"){m(),v();let _=e===n?"":i.unwrap_in_range(t,e,n,a).output;p+=f[0].length,g+=_.length,c=f[0]+_+f[1]}else if(l!==void 0&&l===u&&l.type==="substitution"){let _=l.contains_part(e,n),S=_?e:n,k=Vh(S,l,s,o,_,!0);if(k.type){let E="",M=l.unwrap_parts();if(k.type==="addition"){E=M[0];let w=Math.clamp(S-l.middle-2,0,M[1].length);p=M[0].length+w,c=M[1].slice(0,w)+r+M[1].slice(w),{insert:c,start_offset:p,end_offset:g}=Fo(c,E,k.merged_metadata,p,g),e=l.from,n=l.to}else if(k.type==="deletion")g=n-e,n=e,c="";else if(_){let w=l.unwrap_slice(0,e),x=l.unwrap_slice(e,n);v(),p=w.length,g=x.length,{insert:c,start_offset:p,end_offset:g}=Yn(r,w+x,k.type,k.merged_metadata,p,g),e=l.from}else if(_===!1)E=l.unwrap_slice(e,n),g=E.length,c=r+l.unwrap_slice(n,1/0),r.length||(g-=2),m(),{insert:c,start_offset:p,end_offset:g}=Yn(c,E,k.type,k.merged_metadata,p,g),n=l.to;else{let w=Math.clamp(n-l.middle-2,0,M[1].length);E=M[0]+M[1].slice(0,w),p=e-l.range_start,g=w+(M[0].length-e+l.range_start),c=r+M[1].slice(w),c.length&&!r.length&&(g-=2),{insert:c,start_offset:p,end_offset:g}=Fo(c,E,k.merged_metadata,p,g),e=l.from,n=l.to}}else{let E=l.unwrap_slice(e,n);m(n<l.middle),v(e>l.middle+2),{insert:c,start_offset:p,end_offset:g}=Yn(r,E,s,o,p,g+r.length+E.length)}}else{let _=e===n?"":i.unwrap_in_range(t,e,n,a).output;if(!_){if(s==="substitution")s="addition";else if(s==="deletion")return{from:e,to:e,insert:"",start:e,end:e}}g=_.length;let S=Vh(e,l,s,o,!0),k=S.merged_metadata;if(c=r,S.type){if(l.type==="substitution"){let M=l.unwrap_parts();p=M[0].length,g+=M[1].length,_=M[0]+_,c=M[1]+r}else{let M=l.unwrap_slice(0,e);p=M.length,_=M+_}e=l.from,o=k}else m();let E=Vh(n,u,s,o,!1);if(k=E.merged_metadata,E.type){if(u.type==="substitution"){let M=u.unwrap_slice_parts_inverted(e,n);c=r+M[1],_+=M[0]}else c+=u.unwrap_slice(n,1/0);n=u.to,o=k}else v();(S.type==="substitution"||E.type==="substitution")&&(s="substitution"),{insert:c,start_offset:p,end_offset:g}=Yn(c,_,s,o,p,g)}return p+=f[0].length,c=f[0]+c+f[1],{from:e,to:n,insert:c,start:e+p,end:e+p+g+r.length}}function To(i,t,e,n,r,s,o,a=!1){let l=i.ranges_in_interval(e,n),u=l.at(0),f=l.at(-1);u?.touches_left_bracket(e,!0,!0,!0)&&(e=u.from),f?.touches_right_bracket(n,!0,!0)&&(n=f.to);let h=e,c=[];if(!a){for(let g of l)if(i0(g,s,o)){if(h<g.from){let m=s==="substitution"?"deletion":s,v=Ad(i,t,h,g.from,"",m,o);v&&c.push(v)}h=g.to}}h>n&&(n=h);let p=Ad(i,t,h,n,r,s,o);return p&&c.push(p),c}function dd(i,t,e){let n=i.cm.state.field(Pt).ranges,r=i.cm.state.selection.ranges,s=[],o=[];for(let a of r){let l=To(n,i.cm.state.doc,a.from,a.to,"",t,Vr(e));o.push(...l),s.push(zh.EditorSelection.range(l[0].start,l[l.length-1].end))}i.cm.dispatch(i.cm.state.update({changes:o,selection:zh.EditorSelection.create(s)}))}var _r=Ba(Od(),1);_r.default.DIFF_DELETE=-1;_r.default.DIFF_INSERT=1;_r.default.DIFF_EQUAL=0;function r0(i,t){let e=new _r.default,n=e.diff_main(i,t);e.diff_cleanupSemantic(n);let r=0,s=[],o=null;for(let[a,l]of n)a===_r.default.DIFF_EQUAL?(o&&(s.push(o),o=null),r+=l.length):a===_r.default.DIFF_INSERT?o?o.insert?(s.push(o),o={from:r,to:r,insert:l}):o.insert+=l:o={from:r,to:r,insert:l}:a===_r.default.DIFF_DELETE&&(o?(s.push(o),o={from:r,to:r+l.length,insert:""}):o={from:r,to:r+l.length,insert:""},r+=l.length);return o&&s.push(o),s}function pd(i,t,e){let n=r0(t,e),r="",s=0;for(let o of n)o.from>s&&(r+=t.slice(s,o.from)),o.insert&&(r+=kd(i,o.insert,t.slice(o.from,o.to))),s=o.to;return s<t.length&&(r+=t.slice(s)),r}var wr=Ba(Il(),1),Nd=Ba(Rd(),1),Ld=Ba(Pd(),1),pS=require("@codemirror/state"),An=require("obsidian");function qh(i){let t=new Blob([i],{type:"text/javascript"}),e=URL.createObjectURL(t),n=new Worker(e,{});return URL.revokeObjectURL(e),n}function Wh(){return qh('"use strict";var _g=Object.create;var ol=Object.defineProperty;var Eg=Object.getOwnPropertyDescriptor;var Dg=Object.getOwnPropertyNames,Df=Object.getOwnPropertySymbols,Pg=Object.getPrototypeOf,Pf=Object.prototype.hasOwnProperty,Rg=Object.prototype.propertyIsEnumerable;var rl=(s,t,e)=>t in s?ol(s,t,{enumerable:!0,configurable:!0,writable:!0,value:e}):s[t]=e,ai=(s,t)=>{for(var e in t||(t={}))Pf.call(t,e)&&rl(s,e,t[e]);if(Df)for(var e of Df(t))Rg.call(t,e)&&rl(s,e,t[e]);return s};var Ig=(s,t)=>()=>(t||s((t={exports:{}}).exports,t),t.exports);var Bg=(s,t,e,i)=>{if(t&&typeof t=="object"||typeof t=="function")for(let n of Dg(t))!Pf.call(s,n)&&n!==e&&ol(s,n,{get:()=>t[n],enumerable:!(i=Eg(t,n))||i.enumerable});return s};var Ng=(s,t,e)=>(e=s!=null?_g(Pg(s)):{},Bg(t||!s||!s.__esModule?ol(e,"default",{value:s,enumerable:!0}):e,s));var I=(s,t,e)=>rl(s,typeof t!="symbol"?t+"":t,e);var Ag=Ig((WM,qn)=>{var C=function(){this.Diff_Timeout=1,this.Diff_EditCost=4,this.Match_Threshold=.5,this.Match_Distance=1e3,this.Patch_DeleteThreshold=.5,this.Patch_Margin=4,this.Match_MaxBits=32},it=-1,st=1,G=0;C.Diff=function(s,t){return[s,t]};C.prototype.diff_main=function(s,t,e,i){typeof i=="undefined"&&(this.Diff_Timeout<=0?i=Number.MAX_VALUE:i=new Date().getTime()+this.Diff_Timeout*1e3);var n=i;if(s==null||t==null)throw new Error("Null input. (diff_main)");if(s==t)return s?[new C.Diff(G,s)]:[];typeof e=="undefined"&&(e=!0);var r=e,o=this.diff_commonPrefix(s,t),l=s.substring(0,o);s=s.substring(o),t=t.substring(o),o=this.diff_commonSuffix(s,t);var a=s.substring(s.length-o);s=s.substring(0,s.length-o),t=t.substring(0,t.length-o);var h=this.diff_compute_(s,t,r,n);return l&&h.unshift(new C.Diff(G,l)),a&&h.push(new C.Diff(G,a)),this.diff_cleanupMerge(h),h};C.prototype.diff_compute_=function(s,t,e,i){var n;if(!s)return[new C.Diff(st,t)];if(!t)return[new C.Diff(it,s)];var r=s.length>t.length?s:t,o=s.length>t.length?t:s,l=r.indexOf(o);if(l!=-1)return n=[new C.Diff(st,r.substring(0,l)),new C.Diff(G,o),new C.Diff(st,r.substring(l+o.length))],s.length>t.length&&(n[0][0]=n[2][0]=it),n;if(o.length==1)return[new C.Diff(it,s),new C.Diff(st,t)];var a=this.diff_halfMatch_(s,t);if(a){var h=a[0],f=a[1],c=a[2],u=a[3],d=a[4],p=this.diff_main(h,c,e,i),g=this.diff_main(f,u,e,i);return p.concat([new C.Diff(G,d)],g)}return e&&s.length>100&&t.length>100?this.diff_lineMode_(s,t,i):this.diff_bisect_(s,t,i)};C.prototype.diff_lineMode_=function(s,t,e){var i=this.diff_linesToChars_(s,t);s=i.chars1,t=i.chars2;var n=i.lineArray,r=this.diff_main(s,t,!1,e);this.diff_charsToLines_(r,n),this.diff_cleanupSemantic(r),r.push(new C.Diff(G,""));for(var o=0,l=0,a=0,h="",f="";o<r.length;){switch(r[o][0]){case st:a++,f+=r[o][1];break;case it:l++,h+=r[o][1];break;case G:if(l>=1&&a>=1){r.splice(o-l-a,l+a),o=o-l-a;for(var c=this.diff_main(h,f,!1,e),u=c.length-1;u>=0;u--)r.splice(o,0,c[u]);o=o+c.length}a=0,l=0,h="",f="";break}o++}return r.pop(),r};C.prototype.diff_bisect_=function(s,t,e){for(var i=s.length,n=t.length,r=Math.ceil((i+n)/2),o=r,l=2*r,a=new Array(l),h=new Array(l),f=0;f<l;f++)a[f]=-1,h[f]=-1;a[o+1]=0,h[o+1]=0;for(var c=i-n,u=c%2!=0,d=0,p=0,g=0,m=0,b=0;b<r&&!(new Date().getTime()>e);b++){for(var w=-b+d;w<=b-p;w+=2){var y=o+w,v;w==-b||w!=b&&a[y-1]<a[y+1]?v=a[y+1]:v=a[y-1]+1;for(var x=v-w;v<i&&x<n&&s.charAt(v)==t.charAt(x);)v++,x++;if(a[y]=v,v>i)p+=2;else if(x>n)d+=2;else if(u){var S=o+c-w;if(S>=0&&S<l&&h[S]!=-1){var k=i-h[S];if(v>=k)return this.diff_bisectSplit_(s,t,v,x,e)}}}for(var R=-b+g;R<=b-m;R+=2){var S=o+R,k;R==-b||R!=b&&h[S-1]<h[S+1]?k=h[S+1]:k=h[S-1]+1;for(var P=k-R;k<i&&P<n&&s.charAt(i-k-1)==t.charAt(n-P-1);)k++,P++;if(h[S]=k,k>i)m+=2;else if(P>n)g+=2;else if(!u){var y=o+c-R;if(y>=0&&y<l&&a[y]!=-1){var v=a[y],x=o+v-y;if(k=i-k,v>=k)return this.diff_bisectSplit_(s,t,v,x,e)}}}}return[new C.Diff(it,s),new C.Diff(st,t)]};C.prototype.diff_bisectSplit_=function(s,t,e,i,n){var r=s.substring(0,e),o=t.substring(0,i),l=s.substring(e),a=t.substring(i),h=this.diff_main(r,o,!1,n),f=this.diff_main(l,a,!1,n);return h.concat(f)};C.prototype.diff_linesToChars_=function(s,t){var e=[],i={};e[0]="";function n(a){for(var h="",f=0,c=-1,u=e.length;c<a.length-1;){c=a.indexOf(`\n`,f),c==-1&&(c=a.length-1);var d=a.substring(f,c+1);(i.hasOwnProperty?i.hasOwnProperty(d):i[d]!==void 0)?h+=String.fromCharCode(i[d]):(u==r&&(d=a.substring(f),c=a.length),h+=String.fromCharCode(u),i[d]=u,e[u++]=d),f=c+1}return h}var r=4e4,o=n(s);r=65535;var l=n(t);return{chars1:o,chars2:l,lineArray:e}};C.prototype.diff_charsToLines_=function(s,t){for(var e=0;e<s.length;e++){for(var i=s[e][1],n=[],r=0;r<i.length;r++)n[r]=t[i.charCodeAt(r)];s[e][1]=n.join("")}};C.prototype.diff_commonPrefix=function(s,t){if(!s||!t||s.charAt(0)!=t.charAt(0))return 0;for(var e=0,i=Math.min(s.length,t.length),n=i,r=0;e<n;)s.substring(r,n)==t.substring(r,n)?(e=n,r=e):i=n,n=Math.floor((i-e)/2+e);return n};C.prototype.diff_commonSuffix=function(s,t){if(!s||!t||s.charAt(s.length-1)!=t.charAt(t.length-1))return 0;for(var e=0,i=Math.min(s.length,t.length),n=i,r=0;e<n;)s.substring(s.length-n,s.length-r)==t.substring(t.length-n,t.length-r)?(e=n,r=e):i=n,n=Math.floor((i-e)/2+e);return n};C.prototype.diff_commonOverlap_=function(s,t){var e=s.length,i=t.length;if(e==0||i==0)return 0;e>i?s=s.substring(e-i):e<i&&(t=t.substring(0,e));var n=Math.min(e,i);if(s==t)return n;for(var r=0,o=1;;){var l=s.substring(n-o),a=t.indexOf(l);if(a==-1)return r;o+=a,(a==0||s.substring(n-o)==t.substring(0,o))&&(r=o,o++)}};C.prototype.diff_halfMatch_=function(s,t){if(this.Diff_Timeout<=0)return null;var e=s.length>t.length?s:t,i=s.length>t.length?t:s;if(e.length<4||i.length*2<e.length)return null;var n=this;function r(p,g,m){for(var b=p.substring(m,m+Math.floor(p.length/4)),w=-1,y="",v,x,S,k;(w=g.indexOf(b,w+1))!=-1;){var R=n.diff_commonPrefix(p.substring(m),g.substring(w)),P=n.diff_commonSuffix(p.substring(0,m),g.substring(0,w));y.length<P+R&&(y=g.substring(w-P,w)+g.substring(w,w+R),v=p.substring(0,m-P),x=p.substring(m+R),S=g.substring(0,w-P),k=g.substring(w+R))}return y.length*2>=p.length?[v,x,S,k,y]:null}var o=r(e,i,Math.ceil(e.length/4)),l=r(e,i,Math.ceil(e.length/2)),a;if(!o&&!l)return null;l?o?a=o[4].length>l[4].length?o:l:a=l:a=o;var h,f,c,u;s.length>t.length?(h=a[0],f=a[1],c=a[2],u=a[3]):(c=a[0],u=a[1],h=a[2],f=a[3]);var d=a[4];return[h,f,c,u,d]};C.prototype.diff_cleanupSemantic=function(s){for(var t=!1,e=[],i=0,n=null,r=0,o=0,l=0,a=0,h=0;r<s.length;)s[r][0]==G?(e[i++]=r,o=a,l=h,a=0,h=0,n=s[r][1]):(s[r][0]==st?a+=s[r][1].length:h+=s[r][1].length,n&&n.length<=Math.max(o,l)&&n.length<=Math.max(a,h)&&(s.splice(e[i-1],0,new C.Diff(it,n)),s[e[i-1]+1][0]=st,i--,i--,r=i>0?e[i-1]:-1,o=0,l=0,a=0,h=0,n=null,t=!0)),r++;for(t&&this.diff_cleanupMerge(s),this.diff_cleanupSemanticLossless(s),r=1;r<s.length;){if(s[r-1][0]==it&&s[r][0]==st){var f=s[r-1][1],c=s[r][1],u=this.diff_commonOverlap_(f,c),d=this.diff_commonOverlap_(c,f);u>=d?(u>=f.length/2||u>=c.length/2)&&(s.splice(r,0,new C.Diff(G,c.substring(0,u))),s[r-1][1]=f.substring(0,f.length-u),s[r+1][1]=c.substring(u),r++):(d>=f.length/2||d>=c.length/2)&&(s.splice(r,0,new C.Diff(G,f.substring(0,d))),s[r-1][0]=st,s[r-1][1]=c.substring(0,c.length-d),s[r+1][0]=it,s[r+1][1]=f.substring(d),r++),r++}r++}};C.prototype.diff_cleanupSemanticLossless=function(s){function t(d,p){if(!d||!p)return 6;var g=d.charAt(d.length-1),m=p.charAt(0),b=g.match(C.nonAlphaNumericRegex_),w=m.match(C.nonAlphaNumericRegex_),y=b&&g.match(C.whitespaceRegex_),v=w&&m.match(C.whitespaceRegex_),x=y&&g.match(C.linebreakRegex_),S=v&&m.match(C.linebreakRegex_),k=x&&d.match(C.blanklineEndRegex_),R=S&&p.match(C.blanklineStartRegex_);return k||R?5:x||S?4:b&&!y&&v?3:y||v?2:b||w?1:0}for(var e=1;e<s.length-1;){if(s[e-1][0]==G&&s[e+1][0]==G){var i=s[e-1][1],n=s[e][1],r=s[e+1][1],o=this.diff_commonSuffix(i,n);if(o){var l=n.substring(n.length-o);i=i.substring(0,i.length-o),n=l+n.substring(0,n.length-o),r=l+r}for(var a=i,h=n,f=r,c=t(i,n)+t(n,r);n.charAt(0)===r.charAt(0);){i+=n.charAt(0),n=n.substring(1)+r.charAt(0),r=r.substring(1);var u=t(i,n)+t(n,r);u>=c&&(c=u,a=i,h=n,f=r)}s[e-1][1]!=a&&(a?s[e-1][1]=a:(s.splice(e-1,1),e--),s[e][1]=h,f?s[e+1][1]=f:(s.splice(e+1,1),e--))}e++}};C.nonAlphaNumericRegex_=/[^a-zA-Z0-9]/;C.whitespaceRegex_=/\\s/;C.linebreakRegex_=/[\\r\\n]/;C.blanklineEndRegex_=/\\n\\r?\\n$/;C.blanklineStartRegex_=/^\\r?\\n\\r?\\n/;C.prototype.diff_cleanupEfficiency=function(s){for(var t=!1,e=[],i=0,n=null,r=0,o=!1,l=!1,a=!1,h=!1;r<s.length;)s[r][0]==G?(s[r][1].length<this.Diff_EditCost&&(a||h)?(e[i++]=r,o=a,l=h,n=s[r][1]):(i=0,n=null),a=h=!1):(s[r][0]==it?h=!0:a=!0,n&&(o&&l&&a&&h||n.length<this.Diff_EditCost/2&&o+l+a+h==3)&&(s.splice(e[i-1],0,new C.Diff(it,n)),s[e[i-1]+1][0]=st,i--,n=null,o&&l?(a=h=!0,i=0):(i--,r=i>0?e[i-1]:-1,a=h=!1),t=!0)),r++;t&&this.diff_cleanupMerge(s)};C.prototype.diff_cleanupMerge=function(s){s.push(new C.Diff(G,""));for(var t=0,e=0,i=0,n="",r="",o;t<s.length;)switch(s[t][0]){case st:i++,r+=s[t][1],t++;break;case it:e++,n+=s[t][1],t++;break;case G:e+i>1?(e!==0&&i!==0&&(o=this.diff_commonPrefix(r,n),o!==0&&(t-e-i>0&&s[t-e-i-1][0]==G?s[t-e-i-1][1]+=r.substring(0,o):(s.splice(0,0,new C.Diff(G,r.substring(0,o))),t++),r=r.substring(o),n=n.substring(o)),o=this.diff_commonSuffix(r,n),o!==0&&(s[t][1]=r.substring(r.length-o)+s[t][1],r=r.substring(0,r.length-o),n=n.substring(0,n.length-o))),t-=e+i,s.splice(t,e+i),n.length&&(s.splice(t,0,new C.Diff(it,n)),t++),r.length&&(s.splice(t,0,new C.Diff(st,r)),t++),t++):t!==0&&s[t-1][0]==G?(s[t-1][1]+=s[t][1],s.splice(t,1)):t++,i=0,e=0,n="",r="";break}s[s.length-1][1]===""&&s.pop();var l=!1;for(t=1;t<s.length-1;)s[t-1][0]==G&&s[t+1][0]==G&&(s[t][1].substring(s[t][1].length-s[t-1][1].length)==s[t-1][1]?(s[t][1]=s[t-1][1]+s[t][1].substring(0,s[t][1].length-s[t-1][1].length),s[t+1][1]=s[t-1][1]+s[t+1][1],s.splice(t-1,1),l=!0):s[t][1].substring(0,s[t+1][1].length)==s[t+1][1]&&(s[t-1][1]+=s[t+1][1],s[t][1]=s[t][1].substring(s[t+1][1].length)+s[t+1][1],s.splice(t+1,1),l=!0)),t++;l&&this.diff_cleanupMerge(s)};C.prototype.diff_xIndex=function(s,t){var e=0,i=0,n=0,r=0,o;for(o=0;o<s.length&&(s[o][0]!==st&&(e+=s[o][1].length),s[o][0]!==it&&(i+=s[o][1].length),!(e>t));o++)n=e,r=i;return s.length!=o&&s[o][0]===it?r:r+(t-n)};C.prototype.diff_prettyHtml=function(s){for(var t=[],e=/&/g,i=/</g,n=/>/g,r=/\\n/g,o=0;o<s.length;o++){var l=s[o][0],a=s[o][1],h=a.replace(e,"&").replace(i,"<").replace(n,">").replace(r,"¶<br>");switch(l){case st:t[o]=\'<ins style="background:#e6ffe6;">\'+h+"</ins>";break;case it:t[o]=\'<del style="background:#ffe6e6;">\'+h+"</del>";break;case G:t[o]="<span>"+h+"</span>";break}}return t.join("")};C.prototype.diff_text1=function(s){for(var t=[],e=0;e<s.length;e++)s[e][0]!==st&&(t[e]=s[e][1]);return t.join("")};C.prototype.diff_text2=function(s){for(var t=[],e=0;e<s.length;e++)s[e][0]!==it&&(t[e]=s[e][1]);return t.join("")};C.prototype.diff_levenshtein=function(s){for(var t=0,e=0,i=0,n=0;n<s.length;n++){var r=s[n][0],o=s[n][1];switch(r){case st:e+=o.length;break;case it:i+=o.length;break;case G:t+=Math.max(e,i),e=0,i=0;break}}return t+=Math.max(e,i),t};C.prototype.diff_toDelta=function(s){for(var t=[],e=0;e<s.length;e++)switch(s[e][0]){case st:t[e]="+"+encodeURI(s[e][1]);break;case it:t[e]="-"+s[e][1].length;break;case G:t[e]="="+s[e][1].length;break}return t.join(" ").replace(/%20/g," ")};C.prototype.diff_fromDelta=function(s,t){for(var e=[],i=0,n=0,r=t.split(/\\t/g),o=0;o<r.length;o++){var l=r[o].substring(1);switch(r[o].charAt(0)){case"+":try{e[i++]=new C.Diff(st,decodeURI(l))}catch(f){throw new Error("Illegal escape in diff_fromDelta: "+l)}break;case"-":case"=":var a=parseInt(l,10);if(isNaN(a)||a<0)throw new Error("Invalid number in diff_fromDelta: "+l);var h=s.substring(n,n+=a);r[o].charAt(0)=="="?e[i++]=new C.Diff(G,h):e[i++]=new C.Diff(it,h);break;default:if(r[o])throw new Error("Invalid diff operation in diff_fromDelta: "+r[o])}}if(n!=s.length)throw new Error("Delta length ("+n+") does not equal source text length ("+s.length+").");return e};C.prototype.match_main=function(s,t,e){if(s==null||t==null||e==null)throw new Error("Null input. (match_main)");return e=Math.max(0,Math.min(e,s.length)),s==t?0:s.length?s.substring(e,e+t.length)==t?e:this.match_bitap_(s,t,e):-1};C.prototype.match_bitap_=function(s,t,e){if(t.length>this.Match_MaxBits)throw new Error("Pattern too long for this browser.");var i=this.match_alphabet_(t),n=this;function r(v,x){var S=v/t.length,k=Math.abs(e-x);return n.Match_Distance?S+k/n.Match_Distance:k?1:S}var o=this.Match_Threshold,l=s.indexOf(t,e);l!=-1&&(o=Math.min(r(0,l),o),l=s.lastIndexOf(t,e+t.length),l!=-1&&(o=Math.min(r(0,l),o)));var a=1<<t.length-1;l=-1;for(var h,f,c=t.length+s.length,u,d=0;d<t.length;d++){for(h=0,f=c;h<f;)r(d,e+f)<=o?h=f:c=f,f=Math.floor((c-h)/2+h);c=f;var p=Math.max(1,e-f+1),g=Math.min(e+f,s.length)+t.length,m=Array(g+2);m[g+1]=(1<<d)-1;for(var b=g;b>=p;b--){var w=i[s.charAt(b-1)];if(d===0?m[b]=(m[b+1]<<1|1)&w:m[b]=(m[b+1]<<1|1)&w|((u[b+1]|u[b])<<1|1)|u[b+1],m[b]&a){var y=r(d,b-1);if(y<=o)if(o=y,l=b-1,l>e)p=Math.max(1,2*e-l);else break}}if(r(d+1,e)>o)break;u=m}return l};C.prototype.match_alphabet_=function(s){for(var t={},e=0;e<s.length;e++)t[s.charAt(e)]=0;for(var e=0;e<s.length;e++)t[s.charAt(e)]|=1<<s.length-e-1;return t};C.prototype.patch_addContext_=function(s,t){if(t.length!=0){if(s.start2===null)throw Error("patch not initialized");for(var e=t.substring(s.start2,s.start2+s.length1),i=0;t.indexOf(e)!=t.lastIndexOf(e)&&e.length<this.Match_MaxBits-this.Patch_Margin-this.Patch_Margin;)i+=this.Patch_Margin,e=t.substring(s.start2-i,s.start2+s.length1+i);i+=this.Patch_Margin;var n=t.substring(s.start2-i,s.start2);n&&s.diffs.unshift(new C.Diff(G,n));var r=t.substring(s.start2+s.length1,s.start2+s.length1+i);r&&s.diffs.push(new C.Diff(G,r)),s.start1-=n.length,s.start2-=n.length,s.length1+=n.length+r.length,s.length2+=n.length+r.length}};C.prototype.patch_make=function(s,t,e){var i,n;if(typeof s=="string"&&typeof t=="string"&&typeof e=="undefined")i=s,n=this.diff_main(i,t,!0),n.length>2&&(this.diff_cleanupSemantic(n),this.diff_cleanupEfficiency(n));else if(s&&typeof s=="object"&&typeof t=="undefined"&&typeof e=="undefined")n=s,i=this.diff_text1(n);else if(typeof s=="string"&&t&&typeof t=="object"&&typeof e=="undefined")i=s,n=t;else if(typeof s=="string"&&typeof t=="string"&&e&&typeof e=="object")i=s,n=e;else throw new Error("Unknown call format to patch_make.");if(n.length===0)return[];for(var r=[],o=new C.patch_obj,l=0,a=0,h=0,f=i,c=i,u=0;u<n.length;u++){var d=n[u][0],p=n[u][1];switch(!l&&d!==G&&(o.start1=a,o.start2=h),d){case st:o.diffs[l++]=n[u],o.length2+=p.length,c=c.substring(0,h)+p+c.substring(h);break;case it:o.length1+=p.length,o.diffs[l++]=n[u],c=c.substring(0,h)+c.substring(h+p.length);break;case G:p.length<=2*this.Patch_Margin&&l&&n.length!=u+1?(o.diffs[l++]=n[u],o.length1+=p.length,o.length2+=p.length):p.length>=2*this.Patch_Margin&&l&&(this.patch_addContext_(o,f),r.push(o),o=new C.patch_obj,l=0,f=c,a=h);break}d!==st&&(a+=p.length),d!==it&&(h+=p.length)}return l&&(this.patch_addContext_(o,f),r.push(o)),r};C.prototype.patch_deepCopy=function(s){for(var t=[],e=0;e<s.length;e++){var i=s[e],n=new C.patch_obj;n.diffs=[];for(var r=0;r<i.diffs.length;r++)n.diffs[r]=new C.Diff(i.diffs[r][0],i.diffs[r][1]);n.start1=i.start1,n.start2=i.start2,n.length1=i.length1,n.length2=i.length2,t[e]=n}return t};C.prototype.patch_apply=function(s,t){if(s.length==0)return[t,[]];s=this.patch_deepCopy(s);var e=this.patch_addPadding(s);t=e+t+e,this.patch_splitMax(s);for(var i=0,n=[],r=0;r<s.length;r++){var o=s[r].start2+i,l=this.diff_text1(s[r].diffs),a,h=-1;if(l.length>this.Match_MaxBits?(a=this.match_main(t,l.substring(0,this.Match_MaxBits),o),a!=-1&&(h=this.match_main(t,l.substring(l.length-this.Match_MaxBits),o+l.length-this.Match_MaxBits),(h==-1||a>=h)&&(a=-1))):a=this.match_main(t,l,o),a==-1)n[r]=!1,i-=s[r].length2-s[r].length1;else{n[r]=!0,i=a-o;var f;if(h==-1?f=t.substring(a,a+l.length):f=t.substring(a,h+this.Match_MaxBits),l==f)t=t.substring(0,a)+this.diff_text2(s[r].diffs)+t.substring(a+l.length);else{var c=this.diff_main(l,f,!1);if(l.length>this.Match_MaxBits&&this.diff_levenshtein(c)/l.length>this.Patch_DeleteThreshold)n[r]=!1;else{this.diff_cleanupSemanticLossless(c);for(var u=0,d,p=0;p<s[r].diffs.length;p++){var g=s[r].diffs[p];g[0]!==G&&(d=this.diff_xIndex(c,u)),g[0]===st?t=t.substring(0,a+d)+g[1]+t.substring(a+d):g[0]===it&&(t=t.substring(0,a+d)+t.substring(a+this.diff_xIndex(c,u+g[1].length))),g[0]!==it&&(u+=g[1].length)}}}}}return t=t.substring(e.length,t.length-e.length),[t,n]};C.prototype.patch_addPadding=function(s){for(var t=this.Patch_Margin,e="",i=1;i<=t;i++)e+=String.fromCharCode(i);for(var i=0;i<s.length;i++)s[i].start1+=t,s[i].start2+=t;var n=s[0],r=n.diffs;if(r.length==0||r[0][0]!=G)r.unshift(new C.Diff(G,e)),n.start1-=t,n.start2-=t,n.length1+=t,n.length2+=t;else if(t>r[0][1].length){var o=t-r[0][1].length;r[0][1]=e.substring(r[0][1].length)+r[0][1],n.start1-=o,n.start2-=o,n.length1+=o,n.length2+=o}if(n=s[s.length-1],r=n.diffs,r.length==0||r[r.length-1][0]!=G)r.push(new C.Diff(G,e)),n.length1+=t,n.length2+=t;else if(t>r[r.length-1][1].length){var o=t-r[r.length-1][1].length;r[r.length-1][1]+=e.substring(0,o),n.length1+=o,n.length2+=o}return e};C.prototype.patch_splitMax=function(s){for(var t=this.Match_MaxBits,e=0;e<s.length;e++)if(!(s[e].length1<=t)){var i=s[e];s.splice(e--,1);for(var n=i.start1,r=i.start2,o="";i.diffs.length!==0;){var l=new C.patch_obj,a=!0;for(l.start1=n-o.length,l.start2=r-o.length,o!==""&&(l.length1=l.length2=o.length,l.diffs.push(new C.Diff(G,o)));i.diffs.length!==0&&l.length1<t-this.Patch_Margin;){var h=i.diffs[0][0],f=i.diffs[0][1];h===st?(l.length2+=f.length,r+=f.length,l.diffs.push(i.diffs.shift()),a=!1):h===it&&l.diffs.length==1&&l.diffs[0][0]==G&&f.length>2*t?(l.length1+=f.length,n+=f.length,a=!1,l.diffs.push(new C.Diff(h,f)),i.diffs.shift()):(f=f.substring(0,t-l.length1-this.Patch_Margin),l.length1+=f.length,n+=f.length,h===G?(l.length2+=f.length,r+=f.length):a=!1,l.diffs.push(new C.Diff(h,f)),f==i.diffs[0][1]?i.diffs.shift():i.diffs[0][1]=i.diffs[0][1].substring(f.length))}o=this.diff_text2(l.diffs),o=o.substring(o.length-this.Patch_Margin);var c=this.diff_text1(i.diffs).substring(0,this.Patch_Margin);c!==""&&(l.length1+=c.length,l.length2+=c.length,l.diffs.length!==0&&l.diffs[l.diffs.length-1][0]===G?l.diffs[l.diffs.length-1][1]+=c:l.diffs.push(new C.Diff(G,c))),a||s.splice(++e,0,l)}}};C.prototype.patch_toText=function(s){for(var t=[],e=0;e<s.length;e++)t[e]=s[e];return t.join("")};C.prototype.patch_fromText=function(s){var t=[];if(!s)return t;for(var e=s.split(`\n`),i=0,n=/^@@ -(\\d+),?(\\d*) \\+(\\d+),?(\\d*) @@$/;i<e.length;){var r=e[i].match(n);if(!r)throw new Error("Invalid patch string: "+e[i]);var o=new C.patch_obj;for(t.push(o),o.start1=parseInt(r[1],10),r[2]===""?(o.start1--,o.length1=1):r[2]=="0"?o.length1=0:(o.start1--,o.length1=parseInt(r[2],10)),o.start2=parseInt(r[3],10),r[4]===""?(o.start2--,o.length2=1):r[4]=="0"?o.length2=0:(o.start2--,o.length2=parseInt(r[4],10)),i++;i<e.length;){var l=e[i].charAt(0);try{var a=decodeURI(e[i].substring(1))}catch(h){throw new Error("Illegal escape in patch_fromText: "+a)}if(l=="-")o.diffs.push(new C.Diff(it,a));else if(l=="+")o.diffs.push(new C.Diff(st,a));else if(l==" ")o.diffs.push(new C.Diff(G,a));else{if(l=="@")break;if(l!=="")throw new Error(\'Invalid patch mode "\'+l+\'" in: \'+a)}i++}}return t};C.patch_obj=function(){this.diffs=[],this.start1=null,this.start2=null,this.length1=0,this.length2=0};C.patch_obj.prototype.toString=function(){var s,t;this.length1===0?s=this.start1+",0":this.length1==1?s=this.start1+1:s=this.start1+1+","+this.length1,this.length2===0?t=this.start2+",0":this.length2==1?t=this.start2+1:t=this.start2+1+","+this.length2;for(var e=["@@ -"+s+" +"+t+` @@\n`],i,n=0;n<this.diffs.length;n++){switch(this.diffs[n][0]){case st:i="+";break;case it:i="-";break;case G:i=" ";break}e[n+1]=i+encodeURI(this.diffs[n][1])+`\n`}return e.join("").replace(/%20/g," ")};qn.exports=C;qn.exports.diff_match_patch=C;qn.exports.DIFF_DELETE=it;qn.exports.DIFF_INSERT=st;qn.exports.DIFF_EQUAL=G});var zt={addition:["{++","++}"],deletion:["{--","--}"],substitution:["{~~","~>","~~}"],highlight:["{==","==}"],comment:["{>>","<<}"]},Rf={"{++":["++}"],"{--":["--}"],"{~~":["~>","~~}"],"{==":["==}"],"{>>":["<<}"]};var ar={a:"author",t:"time",d:"done",s:"style",c:"color"},oe=class{constructor(t,e,i,n,r,o){this.from=t;this.to=e;this.type=i;this.repr=n;this.text=r;this.metadata=o;I(this,"fields",{});I(this,"replies",[]);if(o!==void 0){let l=o-t,a=r.slice(3,l);this.text=r.slice(0,3)+r.slice(l+2);try{this.fields=JSON.parse(a);for(let h in this.fields)h in ar&&(this.fields[ar[h]]=this.fields[h],delete this.fields[h])}catch(h){this.fields={}}}}get base_range(){return this}get full_thread(){return[this,...this.replies]}get thread(){return[...this.replies]}get length(){return this.to-this.from-6}get full_text(){return this.text+this.replies.map(t=>t.text).join("")}get range_start(){return this.metadata?this.metadata+2:this.from+3}get range_front(){return this.metadata?this.metadata-1:this.from}get full_range_front(){return this.base_range.from}get full_range_back(){return this.base_range.replies.length?this.base_range.replies[this.base_range.replies.length-1].to:this.to}range_type(t,e){return this.type}remove_metadata(){return this.metadata?[{from:this.from+3,to:this.metadata+2,insert:""}]:[]}delete_metadata(t){return t in ar&&(t=ar[t]),t in this.fields&&(delete this.fields[t],Object.keys(this.fields).length===0?this.remove_metadata():this.set_metadata(this.fields)),[]}add_metadata(t,e){return this.fields[t]=e,this.set_metadata(this.fields)}set_metadata(t){return this.fields=t,this.metadata!==void 0?[{from:this.from+3,to:this.metadata,insert:JSON.stringify(t)}]:[{from:this.from+3,to:this.from+3,insert:JSON.stringify(t)+"@@"}]}has_comment(t){return this.thread.includes(t)}copy(){return Object.assign(Object.create(Object.getPrototypeOf(this)),this)}equals(t){return this.type===t.type&&this.from===t.from&&this.to===t.to&&this.replies.length===t.replies.length&&this.full_text===t.full_text}left_adjacent(t){return this.from===t.to}right_adjacent(t){return this.to===t.from}part_is_empty(t){return!1}empty(){return this.to-this.from===6}unwrap(){return this.text.slice(3,-3)}unwrap_bracket(t=!1){return t?this.text.slice(3):this.text.slice(0,-3)}unwrap_parts(){return[this.unwrap()]}unwrap_slice(t,e){return t-=this.range_front,e-=this.range_front,e<=0||t===e?"":this.text.slice(Math.max(3,t),Math.min(this.text.length-3,e))}partially_in_range(t,e){return!(t>this.to||e<this.from)}partially_in_full_range(t,e){return!(t>this.full_range_back||e<this.full_range_front)}encloses_range(t,e,i=!1){return i?this.from<t&&this.to>e:this.from<=t&&this.to>=e}part_encloses_range(t,e,i){return this.encloses_range(t,e)}accept(t=!0){return this.text}reject(t=!0){return this.text}touches(t){return this.from===t||this.to===t}cursor_inside(t){return this.from<=t&&t<=this.to}cursor_before_range(t){return t<this.from}cursor_after_range(t){return t>this.to}cursor_move_inside(t,e=!1){return Math.min(Math.max(e&&this.metadata?this.metadata+2:this.from+3,t),this.to-3)}cursor_pass_syntax(t,e,i=!1){return e?(this.touches_left_bracket(t,!0,!1,i)&&(t=i&&this.metadata?this.metadata+2:this.from+3),this.touches_right_bracket(t,!1,!0)&&(t=this.to)):(this.touches_right_bracket(t,!0,!1)&&(t=this.to-3),this.touches_left_bracket(t,!1,!0,i)&&(t=this.from)),t}cursor_move_through(t,e,i){return i=="unchanged"||!this.cursor_inside(t)||(i=="ignore_completely"?t=e?this.to:this.from:t=this.cursor_pass_syntax(t,e,i=="ignore_metadata")),t}touches_left_bracket(t,e=!1,i=!1,n=!1){return t+(e?0:1)>=this.from&&t+(i?0:1)<=(n&&this.metadata?this.metadata+2:this.from+3)}touches_separator(t,e=!1,i=!1){return!1}touches_right_bracket(t,e=!1,i=!1){return t-(i?0:1)>=this.to-3&&t-(e?0:1)<=this.to}touches_bracket(t,e,i=!1,n=!1){return e?this.touches_left_bracket(t,i,n):this.touches_right_bracket(t,i,n)}postprocess(t=!0,e=0,i="div",n=null,r){let o=r!=null?r:this.text;return!r&&t&&(this.to>=o.length&&!o.endsWith(zt[this.type].at(-1))?o=this.unwrap_bracket(!0):o=this.unwrap()),`<${i} class=\'cmtr-${this.repr.toLowerCase()}\'>${o}</${i}>`}apply_offset(t){this.from+=t,this.to+=t,this.metadata!==void 0&&(this.metadata+=t)}split_range(t){return[this.text.slice(-3),this.text.slice(0,3)+(this.metadata?JSON.stringify(this.fields)+"@@":"")]}};var Ei=class extends oe{constructor(t,e,i,n){super(t,e,"addition","Addition",i,n)}accept(){return this.unwrap()}reject(){return""}postprocess(t=!0,e=0,i="div",n=null,r){let o=r!=null?r:this.text;!r&&t&&(this.to>=o.length&&!o.endsWith(zt[this.type].at(-1))?o=this.unwrap_bracket(!0):o=this.unwrap());let l="cmtr-preview";return e===0?l+=" cmtr-addition":e===2&&(o=""),`<${i} class=\'${l}\'>${o}</${i}>`}};var en=class extends oe{constructor(e,i,n,r){super(e,i,"comment","Comment",n,r);I(this,"reply_depth",0);I(this,"attached_comment",null)}get base_range(){return this.attached_comment||this}get thread(){return this.attached_comment?[...this.attached_comment.thread]:[this,...this.replies]}accept(e=!0){return e?"":this.unwrap()}reject(e=!0){return e?"":this.unwrap()}clear_references(){this.attached_comment=null,this.reply_depth=0}add_reply(e){this.attach_to_range(e.type==="comment"?e.base_range:e)}attach_to_range(e){e.replies.push(this),this.reply_depth=e.replies.length-(e.type==="comment"?0:1),this.attached_comment=e}};var nn=class extends oe{constructor(t,e,i,n){super(t,e,"deletion","Deletion",i,n)}accept(){return""}reject(){return this.unwrap()}postprocess(t=!0,e=0,i="div",n=null,r){let o=r!=null?r:this.text;!r&&t&&(this.to>=o.length&&!o.endsWith(zt[this.type].at(-1))?o=this.unwrap_bracket(!0):o=this.unwrap());let l="cmtr-preview";return e===0?l+=" cmtr-deletion":e===1&&(o=""),`<${i} class=\'${l}\'>${o}</${i}>`}};var sn=class extends oe{constructor(t,e,i,n){super(t,e,"highlight","Highlight",i,n)}};var rn=class extends oe{constructor(e,i,n,r,o){super(e,n,"substitution","Substitution",r,o);this.middle=i}get length(){return this.to-this.from-8}get char_middle(){return this.middle-this.range_front}range_type(e,i){return i<=this.middle+2?"deletion":e>=this.middle?"addition":"substitution"}unwrap(){return this.text.slice(3,this.char_middle)+this.text.slice(this.char_middle+2,-3)}unwrap_parts(){return[this.text.slice(3,this.char_middle),this.text.slice(this.char_middle+2,-3)]}unwrap_slice_parts_inverted(e,i){return e-=this.range_front,i-=this.range_front,e=Math.max(0,e),i<=0?this.unwrap_parts():i<=this.char_middle?[this.text.slice(3,e)+this.text.slice(i,this.char_middle),this.text.slice(this.char_middle+2,-3)]:e>=this.char_middle+2?[this.text.slice(3,this.char_middle),this.text.slice(this.char_middle+2,e)+this.text.slice(i,-3)]:[this.text.slice(3,e),this.text.slice(i,-3)]}unwrap_parts_bracket(e,i=0){return e?[this.text.slice(3,this.char_middle),this.text.slice(this.char_middle+2)]:[this.text.slice(0,this.char_middle),this.text.slice(this.char_middle+2,-3)]}unwrap_slice(e,i){return e-=this.range_front,i-=this.range_front,i<=0||e===i?"":e>=this.char_middle?this.text.slice(Math.max(this.char_middle+2,e),Math.min(this.text.length-3,i)):i<=this.char_middle?this.text.slice(Math.max(3,e),Math.min(this.char_middle,i)):this.text.slice(Math.max(3,e),this.char_middle)+this.text.slice(this.char_middle+2,Math.min(this.text.length-3,i))}accept(){return this.unwrap_parts()[1]}reject(){return this.unwrap_parts()[0]}touches_separator(e,i=!1,n=!1){return e+(i?1:0)>=this.middle&&e-(n?0:1)<=this.middle+2}contains_separator(e,i){return e<=this.middle+2&&i>=this.middle}contains_part(e,i,n=!0){return n?i<this.middle?!0:e>this.middle+2?!1:void 0:i<=this.middle?!0:e>=this.middle+2?!1:void 0}cursor_pass_syntax(e,i,n=!1){return i?(this.touches_left_bracket(e,!0,!1,n)&&(e=n&&this.metadata?this.metadata+2:this.from+3),this.touches_separator(e,!1,!0)&&(e=this.middle+2),this.touches_right_bracket(e,!1,!0)&&(e=this.to)):(this.touches_right_bracket(e,!0,!1)&&(e=this.to-3),this.touches_separator(e,!1,!0)&&(e=this.middle),this.touches_left_bracket(e,!1,!0,n)&&(e=this.from)),e}part_encloses_range(e,i,n){return n?this.from<=e&&i<=this.middle+2:this.middle<=e&&i<=this.to}empty(){return this.from+3===this.middle&&this.middle+2===this.to-3}part_is_empty(e){return e?this.from+3===this.middle:this.middle+2===this.to-3}postprocess(e=!0,i=0,n="div",r=null,o){let l=o!=null?o:this.text,a=[l];!o&&e&&(this.to>=l.length&&!l.endsWith(zt.substitution[2])?a=this.unwrap_parts_bracket(!0):this.from<=0&&!l.startsWith(zt.substitution[0])?a=this.unwrap_parts_bracket(!1):a=this.unwrap_parts());let h="cmtr-preview";return a.length===1&&(a[+r]=a[0],a[+!r]=""),l="",i===0?(a[0].length&&(l+=`<${n} class=\'${h} cmtr-deletion\'>${a[0]}</${n}>`),a[1].length&&(l+=`<${n} class=\'${h} cmtr-addition\'>${a[1]}</${n}>`)):i===1?a[1].length&&(l+=`<${n} class=\'${h}\'>${a[1]}</${n}>`):a[0].length&&(l+=`<${n} class=\'${h}\'>${a[0]}</${n}>`),l}apply_offset(e){this.from+=e,this.middle+=e,this.to+=e,this.metadata!==void 0&&(this.metadata+=e)}split_range(e){let i=super.split_range(e);return e<=this.middle?i[0]=zt.substitution[1]+i[0]:i[1]=i[1]+zt.substitution[1],i}cursor_move_inside(e,i=!1){return e=super.cursor_move_inside(e,i),e==this.middle+1&&(e=this.middle+2),e}};var al=[],Hf=[];(()=>{let s="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(t=>t?parseInt(t,36):1);for(let t=0,e=0;t<s.length;t++)(t%2?Hf:al).push(e=e+s[t])})();function Lg(s){if(s<768)return!1;for(let t=0,e=al.length;;){let i=t+e>>1;if(s<al[i])e=i;else if(s>=Hf[i])t=i+1;else return!0;if(t==e)return!1}}function Bf(s){return s>=127462&&s<=127487}var Nf=8205;function Ff(s,t,e=!0,i=!0){return(e?Vf:Hg)(s,t,i)}function Vf(s,t,e){if(t==s.length)return t;t&&zf(s.charCodeAt(t))&&Wf(s.charCodeAt(t-1))&&t--;let i=ll(s,t);for(t+=Lf(i);t<s.length;){let n=ll(s,t);if(i==Nf||n==Nf||e&&Lg(n))t+=Lf(n),i=n;else if(Bf(n)){let r=0,o=t-2;for(;o>=0&&Bf(ll(s,o));)r++,o-=2;if(r%2==0)break;t+=2}else break}return t}function Hg(s,t,e){for(;t>0;){let i=Vf(s,t-2,e);if(i<t)return i;t--}return 0}function ll(s,t){let e=s.charCodeAt(t);if(!Wf(e)||t+1==s.length)return e;let i=s.charCodeAt(t+1);return zf(i)?(e-55296<<10)+(i-56320)+65536:e}function zf(s){return s>=56320&&s<57344}function Wf(s){return s>=55296&&s<56320}function Lf(s){return s<65536?1:2}var $=class s{lineAt(t){if(t<0||t>this.length)throw new RangeError(`Invalid position ${t} in document of length ${this.length}`);return this.lineInner(t,!1,1,0)}line(t){if(t<1||t>this.lines)throw new RangeError(`Invalid line number ${t} in ${this.lines}-line document`);return this.lineInner(t,!0,1,0)}replace(t,e,i){[t,e]=fn(this,t,e);let n=[];return this.decompose(0,t,n,2),i.length&&i.decompose(0,i.length,n,3),this.decompose(e,this.length,n,1),ln.from(n,this.length-(e-t)+i.length)}append(t){return this.replace(this.length,this.length,t)}slice(t,e=this.length){[t,e]=fn(this,t,e);let i=[];return this.decompose(t,e,i,0),ln.from(i,e-t)}eq(t){if(t==this)return!0;if(t.length!=this.length||t.lines!=this.lines)return!1;let e=this.scanIdentical(t,1),i=this.length-this.scanIdentical(t,-1),n=new Ri(this),r=new Ri(t);for(let o=e,l=e;;){if(n.next(o),r.next(o),o=0,n.lineBreak!=r.lineBreak||n.done!=r.done||n.value!=r.value)return!1;if(l+=n.value.length,n.done||l>=i)return!0}}iter(t=1){return new Ri(this,t)}iterRange(t,e=this.length){return new dr(this,t,e)}iterLines(t,e){let i;if(t==null)i=this.iter();else{e==null&&(e=this.lines+1);let n=this.line(t).from;i=this.iterRange(n,Math.max(n,e==this.lines+1?this.length:e<=1?0:this.line(e-1).to))}return new pr(i)}toString(){return this.sliceString(0)}toJSON(){let t=[];return this.flatten(t),t}constructor(){}static of(t){if(t.length==0)throw new RangeError("A document must have at least one line");return t.length==1&&!t[0]?s.empty:t.length<=32?new Kt(t):ln.from(Kt.split(t,[]))}},Kt=class s extends ${constructor(t,e=Fg(t)){super(),this.text=t,this.length=e}get lines(){return this.text.length}get children(){return null}lineInner(t,e,i,n){for(let r=0;;r++){let o=this.text[r],l=n+o.length;if((e?i:l)>=t)return new fl(n,l,i,o);n=l+1,i++}}decompose(t,e,i,n){let r=t<=0&&e>=this.length?this:new s(Gf(this.text,t,e),Math.min(e,this.length)-Math.max(0,t));if(n&1){let o=i.pop(),l=ur(r.text,o.text.slice(),0,r.length);if(l.length<=32)i.push(new s(l,o.length+r.length));else{let a=l.length>>1;i.push(new s(l.slice(0,a)),new s(l.slice(a)))}}else i.push(r)}replace(t,e,i){if(!(i instanceof s))return super.replace(t,e,i);[t,e]=fn(this,t,e);let n=ur(this.text,ur(i.text,Gf(this.text,0,t)),e),r=this.length+i.length-(e-t);return n.length<=32?new s(n,r):ln.from(s.split(n,[]),r)}sliceString(t,e=this.length,i=`\n`){[t,e]=fn(this,t,e);let n="";for(let r=0,o=0;r<=e&&o<this.text.length;o++){let l=this.text[o],a=r+l.length;r>t&&o&&(n+=i),t<a&&e>r&&(n+=l.slice(Math.max(0,t-r),e-r)),r=a+1}return n}flatten(t){for(let e of this.text)t.push(e)}scanIdentical(){return 0}static split(t,e){let i=[],n=-1;for(let r of t)i.push(r),n+=r.length+1,i.length==32&&(e.push(new s(i,n)),i=[],n=-1);return n>-1&&e.push(new s(i,n)),e}},ln=class s extends ${constructor(t,e){super(),this.children=t,this.length=e,this.lines=0;for(let i of t)this.lines+=i.lines}lineInner(t,e,i,n){for(let r=0;;r++){let o=this.children[r],l=n+o.length,a=i+o.lines-1;if((e?a:l)>=t)return o.lineInner(t,e,i,n);n=l+1,i=a+1}}decompose(t,e,i,n){for(let r=0,o=0;o<=e&&r<this.children.length;r++){let l=this.children[r],a=o+l.length;if(t<=a&&e>=o){let h=n&((o<=t?1:0)|(a>=e?2:0));o>=t&&a<=e&&!h?i.push(l):l.decompose(t-o,e-o,i,h)}o=a+1}}replace(t,e,i){if([t,e]=fn(this,t,e),i.lines<this.lines)for(let n=0,r=0;n<this.children.length;n++){let o=this.children[n],l=r+o.length;if(t>=r&&e<=l){let a=o.replace(t-r,e-r,i),h=this.lines-o.lines+a.lines;if(a.lines<h>>4&&a.lines>h>>6){let f=this.children.slice();return f[n]=a,new s(f,this.length-(e-t)+i.length)}return super.replace(r,l,a)}r=l+1}return super.replace(t,e,i)}sliceString(t,e=this.length,i=`\n`){[t,e]=fn(this,t,e);let n="";for(let r=0,o=0;r<this.children.length&&o<=e;r++){let l=this.children[r],a=o+l.length;o>t&&r&&(n+=i),t<a&&e>o&&(n+=l.sliceString(t-o,e-o,i)),o=a+1}return n}flatten(t){for(let e of this.children)e.flatten(t)}scanIdentical(t,e){if(!(t instanceof s))return 0;let i=0,[n,r,o,l]=e>0?[0,0,this.children.length,t.children.length]:[this.children.length-1,t.children.length-1,-1,-1];for(;;n+=e,r+=e){if(n==o||r==l)return i;let a=this.children[n],h=t.children[r];if(a!=h)return i+a.scanIdentical(h,e);i+=a.length+1}}static from(t,e=t.reduce((i,n)=>i+n.length+1,-1)){let i=0;for(let d of t)i+=d.lines;if(i<32){let d=[];for(let p of t)p.flatten(d);return new Kt(d,e)}let n=Math.max(32,i>>5),r=n<<1,o=n>>1,l=[],a=0,h=-1,f=[];function c(d){let p;if(d.lines>r&&d instanceof s)for(let g of d.children)c(g);else d.lines>o&&(a>o||!a)?(u(),l.push(d)):d instanceof Kt&&a&&(p=f[f.length-1])instanceof Kt&&d.lines+p.lines<=32?(a+=d.lines,h+=d.length+1,f[f.length-1]=new Kt(p.text.concat(d.text),p.length+1+d.length)):(a+d.lines>n&&u(),a+=d.lines,h+=d.length+1,f.push(d))}function u(){a!=0&&(l.push(f.length==1?f[0]:s.from(f,h)),h=-1,a=f.length=0)}for(let d of t)c(d);return u(),l.length==1?l[0]:new s(l,e)}};$.empty=new Kt([""],0);function Fg(s){let t=-1;for(let e of s)t+=e.length+1;return t}function ur(s,t,e=0,i=1e9){for(let n=0,r=0,o=!0;r<s.length&&n<=i;r++){let l=s[r],a=n+l.length;a>=e&&(a>i&&(l=l.slice(0,i-n)),n<e&&(l=l.slice(e-n)),o?(t[t.length-1]+=l,o=!1):t.push(l)),n=a+1}return t}function Gf(s,t,e){return ur(s,[""],t,e)}var Ri=class{constructor(t,e=1){this.dir=e,this.done=!1,this.lineBreak=!1,this.value="",this.nodes=[t],this.offsets=[e>0?1:(t instanceof Kt?t.text.length:t.children.length)<<1]}nextInner(t,e){for(this.done=this.lineBreak=!1;;){let i=this.nodes.length-1,n=this.nodes[i],r=this.offsets[i],o=r>>1,l=n instanceof Kt?n.text.length:n.children.length;if(o==(e>0?l:0)){if(i==0)return this.done=!0,this.value="",this;e>0&&this.offsets[i-1]++,this.nodes.pop(),this.offsets.pop()}else if((r&1)==(e>0?0:1)){if(this.offsets[i]+=e,t==0)return this.lineBreak=!0,this.value=`\n`,this;t--}else if(n instanceof Kt){let a=n.text[o+(e<0?-1:0)];if(this.offsets[i]+=e,a.length>Math.max(0,t))return this.value=t==0?a:e>0?a.slice(t):a.slice(0,a.length-t),this;t-=a.length}else{let a=n.children[o+(e<0?-1:0)];t>a.length?(t-=a.length,this.offsets[i]+=e):(e<0&&this.offsets[i]--,this.nodes.push(a),this.offsets.push(e>0?1:(a instanceof Kt?a.text.length:a.children.length)<<1))}}}next(t=0){return t<0&&(this.nextInner(-t,-this.dir),t=this.value.length),this.nextInner(t,this.dir)}},dr=class{constructor(t,e,i){this.value="",this.done=!1,this.cursor=new Ri(t,e>i?-1:1),this.pos=e>i?t.length:0,this.from=Math.min(e,i),this.to=Math.max(e,i)}nextInner(t,e){if(e<0?this.pos<=this.from:this.pos>=this.to)return this.value="",this.done=!0,this;t+=Math.max(0,e<0?this.pos-this.to:this.from-this.pos);let i=e<0?this.pos-this.from:this.to-this.pos;t>i&&(t=i),i-=t;let{value:n}=this.cursor.next(t);return this.pos+=(n.length+t)*e,this.value=n.length<=i?n:e<0?n.slice(n.length-i):n.slice(0,i),this.done=!this.value,this}next(t=0){return t<0?t=Math.max(t,this.from-this.pos):t>0&&(t=Math.min(t,this.to-this.pos)),this.nextInner(t,this.cursor.dir)}get lineBreak(){return this.cursor.lineBreak&&this.value!=""}},pr=class{constructor(t){this.inner=t,this.afterBreak=!0,this.value="",this.done=!1}next(t=0){let{done:e,lineBreak:i,value:n}=this.inner.next(t);return e&&this.afterBreak?(this.value="",this.afterBreak=!1):e?(this.done=!0,this.value=""):i?this.afterBreak?this.value="":(this.afterBreak=!0,this.next()):(this.value=n,this.afterBreak=!1),this}get lineBreak(){return!1}};typeof Symbol!="undefined"&&($.prototype[Symbol.iterator]=function(){return this.iter()},Ri.prototype[Symbol.iterator]=dr.prototype[Symbol.iterator]=pr.prototype[Symbol.iterator]=function(){return this});var fl=class{constructor(t,e,i,n){this.from=t,this.to=e,this.number=i,this.text=n}get length(){return this.to-this.from}};function fn(s,t,e){return t=Math.max(0,Math.min(s.length,t)),[t,Math.max(t,Math.min(s.length,e))]}function Ce(s,t,e=!0,i=!0){return Ff(s,t,e,i)}function Vg(s){return s>=56320&&s<57344}function zg(s){return s>=55296&&s<56320}function Kf(s,t){let e=s.charCodeAt(t);if(!zg(e)||t+1==s.length)return e;let i=s.charCodeAt(t+1);return Vg(i)?(e-55296<<10)+(i-56320)+65536:e}function Yf(s){return s<65536?1:2}var cl=/\\r\\n?|\\n/,Wt=function(s){return s[s.Simple=0]="Simple",s[s.TrackDel=1]="TrackDel",s[s.TrackBefore=2]="TrackBefore",s[s.TrackAfter=3]="TrackAfter",s}(Wt||(Wt={})),Ii=class s{constructor(t){this.sections=t}get length(){let t=0;for(let e=0;e<this.sections.length;e+=2)t+=this.sections[e];return t}get newLength(){let t=0;for(let e=0;e<this.sections.length;e+=2){let i=this.sections[e+1];t+=i<0?this.sections[e]:i}return t}get empty(){return this.sections.length==0||this.sections.length==2&&this.sections[1]<0}iterGaps(t){for(let e=0,i=0,n=0;e<this.sections.length;){let r=this.sections[e++],o=this.sections[e++];o<0?(t(i,n,r),n+=r):n+=o,i+=r}}iterChangedRanges(t,e=!1){ul(this,t,e)}get invertedDesc(){let t=[];for(let e=0;e<this.sections.length;){let i=this.sections[e++],n=this.sections[e++];n<0?t.push(i,n):t.push(n,i)}return new s(t)}composeDesc(t){return this.empty?t:t.empty?this:Xf(this,t)}mapDesc(t,e=!1){return t.empty?this:dl(this,t,e)}mapPos(t,e=-1,i=Wt.Simple){let n=0,r=0;for(let o=0;o<this.sections.length;){let l=this.sections[o++],a=this.sections[o++],h=n+l;if(a<0){if(h>t)return r+(t-n);r+=l}else{if(i!=Wt.Simple&&h>=t&&(i==Wt.TrackDel&&n<t&&h>t||i==Wt.TrackBefore&&n<t||i==Wt.TrackAfter&&h>t))return null;if(h>t||h==t&&e<0&&!l)return t==n||e<0?r:r+a;r+=a}n=h}if(t>n)throw new RangeError(`Position ${t} is out of range for changeset of length ${n}`);return r}touchesRange(t,e=t){for(let i=0,n=0;i<this.sections.length&&n<=e;){let r=this.sections[i++],o=this.sections[i++],l=n+r;if(o>=0&&n<=e&&l>=t)return n<t&&l>e?"cover":!0;n=l}return!1}toString(){let t="";for(let e=0;e<this.sections.length;){let i=this.sections[e++],n=this.sections[e++];t+=(t?" ":"")+i+(n>=0?":"+n:"")}return t}toJSON(){return this.sections}static fromJSON(t){if(!Array.isArray(t)||t.length%2||t.some(e=>typeof e!="number"))throw new RangeError("Invalid JSON representation of ChangeDesc");return new s(t)}static create(t){return new s(t)}},Yt=class s extends Ii{constructor(t,e){super(t),this.inserted=e}apply(t){if(this.length!=t.length)throw new RangeError("Applying change set to a document with the wrong length");return ul(this,(e,i,n,r,o)=>t=t.replace(n,n+(i-e),o),!1),t}mapDesc(t,e=!1){return dl(this,t,e,!0)}invert(t){let e=this.sections.slice(),i=[];for(let n=0,r=0;n<e.length;n+=2){let o=e[n],l=e[n+1];if(l>=0){e[n]=l,e[n+1]=o;let a=n>>1;for(;i.length<a;)i.push($.empty);i.push(o?t.slice(r,r+o):$.empty)}r+=o}return new s(e,i)}compose(t){return this.empty?t:t.empty?this:Xf(this,t,!0)}map(t,e=!1){return t.empty?this:dl(this,t,e,!0)}iterChanges(t,e=!1){ul(this,t,e)}get desc(){return Ii.create(this.sections)}filter(t){let e=[],i=[],n=[],r=new Bi(this);t:for(let o=0,l=0;;){let a=o==t.length?1e9:t[o++];for(;l<a||l==a&&r.len==0;){if(r.done)break t;let f=Math.min(r.len,a-l);Pt(n,f,-1);let c=r.ins==-1?-1:r.off==0?r.ins:0;Pt(e,f,c),c>0&&hi(i,e,r.text),r.forward(f),l+=f}let h=t[o++];for(;l<h;){if(r.done)break t;let f=Math.min(r.len,h-l);Pt(e,f,-1),Pt(n,f,r.ins==-1?-1:r.off==0?r.ins:0),r.forward(f),l+=f}}return{changes:new s(e,i),filtered:Ii.create(n)}}toJSON(){let t=[];for(let e=0;e<this.sections.length;e+=2){let i=this.sections[e],n=this.sections[e+1];n<0?t.push(i):n==0?t.push([i]):t.push([i].concat(this.inserted[e>>1].toJSON()))}return t}static of(t,e,i){let n=[],r=[],o=0,l=null;function a(f=!1){if(!f&&!n.length)return;o<e&&Pt(n,e-o,-1);let c=new s(n,r);l=l?l.compose(c.map(l)):c,n=[],r=[],o=0}function h(f){if(Array.isArray(f))for(let c of f)h(c);else if(f instanceof s){if(f.length!=e)throw new RangeError(`Mismatched change set length (got ${f.length}, expected ${e})`);a(),l=l?l.compose(f.map(l)):f}else{let{from:c,to:u=c,insert:d}=f;if(c>u||c<0||u>e)throw new RangeError(`Invalid change range ${c} to ${u} (in doc of length ${e})`);let p=d?typeof d=="string"?$.of(d.split(i||cl)):d:$.empty,g=p.length;if(c==u&&g==0)return;c<o&&a(),c>o&&Pt(n,c-o,-1),Pt(n,u-c,g),hi(r,n,p),o=u}}return h(t),a(!l),l}static empty(t){return new s(t?[t,-1]:[],[])}static fromJSON(t){if(!Array.isArray(t))throw new RangeError("Invalid JSON representation of ChangeSet");let e=[],i=[];for(let n=0;n<t.length;n++){let r=t[n];if(typeof r=="number")e.push(r,-1);else{if(!Array.isArray(r)||typeof r[0]!="number"||r.some((o,l)=>l&&typeof o!="string"))throw new RangeError("Invalid JSON representation of ChangeSet");if(r.length==1)e.push(r[0],0);else{for(;i.length<n;)i.push($.empty);i[n]=$.of(r.slice(1)),e.push(r[0],i[n].length)}}}return new s(e,i)}static createSet(t,e){return new s(t,e)}};function Pt(s,t,e,i=!1){if(t==0&&e<=0)return;let n=s.length-2;n>=0&&e<=0&&e==s[n+1]?s[n]+=t:n>=0&&t==0&&s[n]==0?s[n+1]+=e:i?(s[n]+=t,s[n+1]+=e):s.push(t,e)}function hi(s,t,e){if(e.length==0)return;let i=t.length-2>>1;if(i<s.length)s[s.length-1]=s[s.length-1].append(e);else{for(;s.length<i;)s.push($.empty);s.push(e)}}function ul(s,t,e){let i=s.inserted;for(let n=0,r=0,o=0;o<s.sections.length;){let l=s.sections[o++],a=s.sections[o++];if(a<0)n+=l,r+=l;else{let h=n,f=r,c=$.empty;for(;h+=l,f+=a,a&&i&&(c=c.append(i[o-2>>1])),!(e||o==s.sections.length||s.sections[o+1]<0);)l=s.sections[o++],a=s.sections[o++];t(n,h,r,f,c),n=h,r=f}}}function dl(s,t,e,i=!1){let n=[],r=i?[]:null,o=new Bi(s),l=new Bi(t);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 h=Math.min(o.len,l.len);Pt(n,h,-1),o.forward(h),l.forward(h)}else if(l.ins>=0&&(o.ins<0||a==o.i||o.off==0&&(l.len<o.len||l.len==o.len&&!e))){let h=l.len;for(Pt(n,l.ins,-1);h;){let f=Math.min(o.len,h);o.ins>=0&&a<o.i&&o.len<=f&&(Pt(n,0,o.ins),r&&hi(r,n,o.text),a=o.i),o.forward(f),h-=f}l.next()}else if(o.ins>=0){let h=0,f=o.len;for(;f;)if(l.ins==-1){let c=Math.min(f,l.len);h+=c,f-=c,l.forward(c)}else if(l.ins==0&&l.len<f)f-=l.len,l.next();else break;Pt(n,h,a<o.i?o.ins:0),r&&a<o.i&&hi(r,n,o.text),a=o.i,o.forward(o.len-f)}else{if(o.done&&l.done)return r?Yt.createSet(n,r):Ii.create(n);throw new Error("Mismatched change set lengths")}}}function Xf(s,t,e=!1){let i=[],n=e?[]:null,r=new Bi(s),o=new Bi(t);for(let l=!1;;){if(r.done&&o.done)return n?Yt.createSet(i,n):Ii.create(i);if(r.ins==0)Pt(i,r.len,0,l),r.next();else if(o.len==0&&!o.done)Pt(i,0,o.ins,l),n&&hi(n,i,o.text),o.next();else{if(r.done||o.done)throw new Error("Mismatched change set lengths");{let a=Math.min(r.len2,o.len),h=i.length;if(r.ins==-1){let f=o.ins==-1?-1:o.off?0:o.ins;Pt(i,a,f,l),n&&f&&hi(n,i,o.text)}else o.ins==-1?(Pt(i,r.off?0:r.len,a,l),n&&hi(n,i,r.textBit(a))):(Pt(i,r.off?0:r.len,o.off?0:o.ins,l),n&&!o.off&&hi(n,i,o.text));l=(r.ins>a||o.ins>=0&&o.len>a)&&(l||i.length>h),r.forward2(a),o.forward(a)}}}}var Bi=class{constructor(t){this.set=t,this.i=0,this.next()}next(){let{sections:t}=this.set;this.i<t.length?(this.len=t[this.i++],this.ins=t[this.i++]):(this.len=0,this.ins=-2),this.off=0}get done(){return this.ins==-2}get len2(){return this.ins<0?this.len:this.ins}get text(){let{inserted:t}=this.set,e=this.i-2>>1;return e>=t.length?$.empty:t[e]}textBit(t){let{inserted:e}=this.set,i=this.i-2>>1;return i>=e.length&&!t?$.empty:e[i].slice(this.off,t==null?void 0:this.off+t)}forward(t){t==this.len?this.next():(this.len-=t,this.off+=t)}forward2(t){this.ins==-1?this.forward(t):t==this.ins?this.next():(this.ins-=t,this.off+=t)}},on=class s{constructor(t,e,i){this.from=t,this.to=e,this.flags=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 bidiLevel(){let t=this.flags&7;return t==7?null:t}get goalColumn(){let t=this.flags>>6;return t==16777215?void 0:t}map(t,e=-1){let i,n;return this.empty?i=n=t.mapPos(this.from,e):(i=t.mapPos(this.from,1),n=t.mapPos(this.to,-1)),i==this.from&&n==this.to?this:new s(i,n,this.flags)}extend(t,e=t){if(t<=this.anchor&&e>=this.anchor)return N.range(t,e);let i=Math.abs(t-this.anchor)>Math.abs(e-this.anchor)?t:e;return N.range(this.anchor,i)}eq(t,e=!1){return this.anchor==t.anchor&&this.head==t.head&&(!e||!this.empty||this.assoc==t.assoc)}toJSON(){return{anchor:this.anchor,head:this.head}}static fromJSON(t){if(!t||typeof t.anchor!="number"||typeof t.head!="number")throw new RangeError("Invalid JSON representation for SelectionRange");return N.range(t.anchor,t.head)}static create(t,e,i){return new s(t,e,i)}},N=class s{constructor(t,e){this.ranges=t,this.mainIndex=e}map(t,e=-1){return t.empty?this:s.create(this.ranges.map(i=>i.map(t,e)),this.mainIndex)}eq(t,e=!1){if(this.ranges.length!=t.ranges.length||this.mainIndex!=t.mainIndex)return!1;for(let i=0;i<this.ranges.length;i++)if(!this.ranges[i].eq(t.ranges[i],e))return!1;return!0}get main(){return this.ranges[this.mainIndex]}asSingle(){return this.ranges.length==1?this:new s([this.main],0)}addRange(t,e=!0){return s.create([t].concat(this.ranges),e?0:this.mainIndex+1)}replaceRange(t,e=this.mainIndex){let i=this.ranges.slice();return i[e]=t,s.create(i,this.mainIndex)}toJSON(){return{ranges:this.ranges.map(t=>t.toJSON()),main:this.mainIndex}}static fromJSON(t){if(!t||!Array.isArray(t.ranges)||typeof t.main!="number"||t.main>=t.ranges.length)throw new RangeError("Invalid JSON representation for EditorSelection");return new s(t.ranges.map(e=>on.fromJSON(e)),t.main)}static single(t,e=t){return new s([s.range(t,e)],0)}static create(t,e=0){if(t.length==0)throw new RangeError("A selection needs at least one range");for(let i=0,n=0;n<t.length;n++){let r=t[n];if(r.empty?r.from<=i:r.from<i)return s.normalized(t.slice(),e);i=r.to}return new s(t,e)}static cursor(t,e=0,i,n){return on.create(t,t,(e==0?0:e<0?8:16)|(i==null?7:Math.min(6,i))|(n!=null?n:16777215)<<6)}static range(t,e,i,n){let r=(i!=null?i:16777215)<<6|(n==null?7:Math.min(6,n));return e<t?on.create(e,t,48|r):on.create(t,e,(e>t?8:0)|r)}static normalized(t,e=0){let i=t[e];t.sort((n,r)=>n.from-r.from),e=t.indexOf(i);for(let n=1;n<t.length;n++){let r=t[n],o=t[n-1];if(r.empty?r.from<=o.to:r.from<o.to){let l=o.from,a=Math.max(r.to,o.to);n<=e&&e--,t.splice(--n,2,r.anchor>r.head?s.range(a,l):s.range(l,a))}}return new s(t,e)}};function Jf(s,t){for(let e of s.ranges)if(e.to>t)throw new RangeError("Selection points outside of document")}var Sl=0,L=class s{constructor(t,e,i,n,r){this.combine=t,this.compareInput=e,this.compare=i,this.isStatic=n,this.id=Sl++,this.default=t([]),this.extensions=typeof r=="function"?r(this):r}get reader(){return this}static define(t={}){return new s(t.combine||(e=>e),t.compareInput||((e,i)=>e===i),t.compare||(t.combine?(e,i)=>e===i:Cl),!!t.static,t.enables)}of(t){return new an([],this,0,t)}compute(t,e){if(this.isStatic)throw new Error("Can\'t compute a static facet");return new an(t,this,1,e)}computeN(t,e){if(this.isStatic)throw new Error("Can\'t compute a static facet");return new an(t,this,2,e)}from(t,e){return e||(e=i=>i),this.compute([t],i=>e(i.field(t)))}};function Cl(s,t){return s==t||s.length==t.length&&s.every((e,i)=>e===t[i])}var an=class{constructor(t,e,i,n){this.dependencies=t,this.facet=e,this.type=i,this.value=n,this.id=Sl++}dynamicSlot(t){var e;let i=this.value,n=this.facet.compareInput,r=this.id,o=t[r]>>1,l=this.type==2,a=!1,h=!1,f=[];for(let c of this.dependencies)c=="doc"?a=!0:c=="selection"?h=!0:(((e=t[c.id])!==null&&e!==void 0?e:1)&1)==0&&f.push(t[c.id]);return{create(c){return c.values[o]=i(c),1},update(c,u){if(a&&u.docChanged||h&&(u.docChanged||u.selection)||pl(c,f)){let d=i(c);if(l?!Uf(d,c.values[o],n):!n(d,c.values[o]))return c.values[o]=d,1}return 0},reconfigure:(c,u)=>{let d,p=u.config.address[r];if(p!=null){let g=br(u,p);if(this.dependencies.every(m=>m instanceof L?u.facet(m)===c.facet(m):m instanceof Tt?u.field(m,!1)==c.field(m,!1):!0)||(l?Uf(d=i(c),g,n):n(d=i(c),g)))return c.values[o]=g,0}else d=i(c);return c.values[o]=d,1}}}};function Uf(s,t,e){if(s.length!=t.length)return!1;for(let i=0;i<s.length;i++)if(!e(s[i],t[i]))return!1;return!0}function pl(s,t){let e=!1;for(let i of t)Jn(s,i)&1&&(e=!0);return e}function Wg(s,t,e){let i=e.map(a=>s[a.id]),n=e.map(a=>a.type),r=i.filter(a=>!(a&1)),o=s[t.id]>>1;function l(a){let h=[];for(let f=0;f<i.length;f++){let c=br(a,i[f]);if(n[f]==2)for(let u of c)h.push(u);else h.push(c)}return t.combine(h)}return{create(a){for(let h of i)Jn(a,h);return a.values[o]=l(a),1},update(a,h){if(!pl(a,r))return 0;let f=l(a);return t.compare(f,a.values[o])?0:(a.values[o]=f,1)},reconfigure(a,h){let f=pl(a,i),c=h.config.facets[t.id],u=h.facet(t);if(c&&!f&&Cl(e,c))return a.values[o]=u,0;let d=l(a);return t.compare(d,u)?(a.values[o]=u,0):(a.values[o]=d,1)}}}var hr=L.define({static:!0}),Tt=class s{constructor(t,e,i,n,r){this.id=t,this.createF=e,this.updateF=i,this.compareF=n,this.spec=r,this.provides=void 0}static define(t){let e=new s(Sl++,t.create,t.update,t.compare||((i,n)=>i===n),t);return t.provide&&(e.provides=t.provide(e)),e}create(t){let e=t.facet(hr).find(i=>i.field==this);return((e==null?void 0:e.create)||this.createF)(t)}slot(t){let e=t[this.id]>>1;return{create:i=>(i.values[e]=this.create(i),1),update:(i,n)=>{let r=i.values[e],o=this.updateF(r,n);return this.compareF(r,o)?0:(i.values[e]=o,1)},reconfigure:(i,n)=>{let r=i.facet(hr),o=n.facet(hr),l;return(l=r.find(a=>a.field==this))&&l!=o.find(a=>a.field==this)?(i.values[e]=l.create(i),1):n.config.address[this.id]!=null?(i.values[e]=n.field(this),0):(i.values[e]=this.create(i),1)}}}init(t){return[this,hr.of({field:this,create:t})]}get extension(){return this}},Di={lowest:4,low:3,default:2,high:1,highest:0};function Xn(s){return t=>new gr(t,s)}var ci={highest:Xn(Di.highest),high:Xn(Di.high),default:Xn(Di.default),low:Xn(Di.low),lowest:Xn(Di.lowest)},gr=class{constructor(t,e){this.inner=t,this.prec=e}},Xt=class s{of(t){return new Qn(this,t)}reconfigure(t){return s.reconfigure.of({compartment:this,extension:t})}get(t){return t.config.compartments.get(this)}},Qn=class{constructor(t,e){this.compartment=t,this.inner=e}},mr=class s{constructor(t,e,i,n,r,o){for(this.base=t,this.compartments=e,this.dynamicSlots=i,this.address=n,this.staticValues=r,this.facets=o,this.statusTemplate=[];this.statusTemplate.length<i.length;)this.statusTemplate.push(0)}staticFacet(t){let e=this.address[t.id];return e==null?t.default:this.staticValues[e>>1]}static resolve(t,e,i){let n=[],r=Object.create(null),o=new Map;for(let u of Gg(t,e,o))u instanceof Tt?n.push(u):(r[u.facet.id]||(r[u.facet.id]=[])).push(u);let l=Object.create(null),a=[],h=[];for(let u of n)l[u.id]=h.length<<1,h.push(d=>u.slot(d));let f=i==null?void 0:i.config.facets;for(let u in r){let d=r[u],p=d[0].facet,g=f&&f[u]||[];if(d.every(m=>m.type==0))if(l[p.id]=a.length<<1|1,Cl(g,d))a.push(i.facet(p));else{let m=p.combine(d.map(b=>b.value));a.push(i&&p.compare(m,i.facet(p))?i.facet(p):m)}else{for(let m of d)m.type==0?(l[m.id]=a.length<<1|1,a.push(m.value)):(l[m.id]=h.length<<1,h.push(b=>m.dynamicSlot(b)));l[p.id]=h.length<<1,h.push(m=>Wg(m,p,d))}}let c=h.map(u=>u(l));return new s(t,o,c,l,a,r)}};function Gg(s,t,e){let i=[[],[],[],[],[]],n=new Map;function r(o,l){let a=n.get(o);if(a!=null){if(a<=l)return;let h=i[a].indexOf(o);h>-1&&i[a].splice(h,1),o instanceof Qn&&e.delete(o.compartment)}if(n.set(o,l),Array.isArray(o))for(let h of o)r(h,l);else if(o instanceof Qn){if(e.has(o.compartment))throw new RangeError("Duplicate use of compartment in extensions");let h=t.get(o.compartment)||o.inner;e.set(o.compartment,h),r(h,l)}else if(o instanceof gr)r(o.inner,o.prec);else if(o instanceof Tt)i[l].push(o),o.provides&&r(o.provides,l);else if(o instanceof an)i[l].push(o),o.facet.extensions&&r(o.facet.extensions,Di.default);else{let h=o.extension;if(!h)throw new Error(`Unrecognized extension value in extension set (${o}). This sometimes happens because multiple instances of @codemirror/state are loaded, breaking instanceof checks.`);r(h,l)}}return r(s,Di.default),i.reduce((o,l)=>o.concat(l))}function Jn(s,t){if(t&1)return 2;let e=t>>1,i=s.status[e];if(i==4)throw new Error("Cyclic dependency between fields and/or facets");if(i&2)return i;s.status[e]=4;let n=s.computeSlot(s,s.config.dynamicSlots[e]);return s.status[e]=2|n}function br(s,t){return t&1?s.config.staticValues[t>>1]:s.values[t>>1]}var Qf=L.define(),gl=L.define({combine:s=>s.some(t=>t),static:!0}),Zf=L.define({combine:s=>s.length?s[0]:void 0,static:!0}),tc=L.define(),ec=L.define(),ic=L.define(),nc=L.define({combine:s=>s.length?s[0]:!1}),xt=class{constructor(t,e){this.type=t,this.value=e}static define(){return new ml}},ml=class{of(t){return new xt(this,t)}},bl=class{constructor(t){this.map=t}of(t){return new ot(this,t)}},ot=class s{constructor(t,e){this.type=t,this.value=e}map(t){let e=this.type.map(this.value,t);return e===void 0?void 0:e==this.value?this:new s(this.type,e)}is(t){return this.type==t}static define(t={}){return new bl(t.map||(e=>e))}static mapEffects(t,e){if(!t.length)return t;let i=[];for(let n of t){let r=n.map(e);r&&i.push(r)}return i}};ot.reconfigure=ot.define();ot.appendConfig=ot.define();var Gt=class s{constructor(t,e,i,n,r,o){this.startState=t,this.changes=e,this.selection=i,this.effects=n,this.annotations=r,this.scrollIntoView=o,this._doc=null,this._state=null,i&&Jf(i,e.newLength),r.some(l=>l.type==s.time)||(this.annotations=r.concat(s.time.of(Date.now())))}static create(t,e,i,n,r,o){return new s(t,e,i,n,r,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(t){for(let e of this.annotations)if(e.type==t)return e.value}get docChanged(){return!this.changes.empty}get reconfigured(){return this.startState.config!=this.state.config}isUserEvent(t){let e=this.annotation(s.userEvent);return!!(e&&(e==t||e.length>t.length&&e.slice(0,t.length)==t&&e[t.length]=="."))}};Gt.time=xt.define();Gt.userEvent=xt.define();Gt.addToHistory=xt.define();Gt.remote=xt.define();function Ug(s,t){let e=[];for(let i=0,n=0;;){let r,o;if(i<s.length&&(n==t.length||t[n]>=s[i]))r=s[i++],o=s[i++];else if(n<t.length)r=t[n++],o=t[n++];else return e;!e.length||e[e.length-1]<r?e.push(r,o):e[e.length-1]<o&&(e[e.length-1]=o)}}function sc(s,t,e){var i;let n,r,o;return e?(n=t.changes,r=Yt.empty(t.changes.length),o=s.changes.compose(t.changes)):(n=t.changes.map(s.changes),r=s.changes.mapDesc(t.changes,!0),o=s.changes.compose(n)),{changes:o,selection:t.selection?t.selection.map(r):(i=s.selection)===null||i===void 0?void 0:i.map(n),effects:ot.mapEffects(s.effects,n).concat(ot.mapEffects(t.effects,r)),annotations:s.annotations.length?s.annotations.concat(t.annotations):t.annotations,scrollIntoView:s.scrollIntoView||t.scrollIntoView}}function wl(s,t,e){let i=t.selection,n=hn(t.annotations);return t.userEvent&&(n=n.concat(Gt.userEvent.of(t.userEvent))),{changes:t.changes instanceof Yt?t.changes:Yt.of(t.changes||[],e,s.facet(Zf)),selection:i&&(i instanceof N?i:N.single(i.anchor,i.head)),effects:hn(t.effects),annotations:n,scrollIntoView:!!t.scrollIntoView}}function rc(s,t,e){let i=wl(s,t.length?t[0]:{},s.doc.length);t.length&&t[0].filter===!1&&(e=!1);for(let r=1;r<t.length;r++){t[r].filter===!1&&(e=!1);let o=!!t[r].sequential;i=sc(i,wl(s,t[r],o?i.changes.newLength:s.doc.length),o)}let n=Gt.create(s,i.changes,i.selection,i.effects,i.annotations,i.scrollIntoView);return qg(e?jg(n):n)}function jg(s){let t=s.startState,e=!0;for(let n of t.facet(tc)){let r=n(s);if(r===!1){e=!1;break}Array.isArray(r)&&(e=e===!0?r:Ug(e,r))}if(e!==!0){let n,r;if(e===!1)r=s.changes.invertedDesc,n=Yt.empty(t.doc.length);else{let o=s.changes.filter(e);n=o.changes,r=o.filtered.mapDesc(o.changes).invertedDesc}s=Gt.create(t,n,s.selection&&s.selection.map(r),ot.mapEffects(s.effects,r),s.annotations,s.scrollIntoView)}let i=t.facet(ec);for(let n=i.length-1;n>=0;n--){let r=i[n](s);r instanceof Gt?s=r:Array.isArray(r)&&r.length==1&&r[0]instanceof Gt?s=r[0]:s=rc(t,hn(r),!1)}return s}function qg(s){let t=s.startState,e=t.facet(ic),i=s;for(let n=e.length-1;n>=0;n--){let r=e[n](s);r&&Object.keys(r).length&&(i=sc(i,wl(t,r,s.changes.newLength),!0))}return i==s?s:Gt.create(t,s.changes,s.selection,i.effects,i.annotations,i.scrollIntoView)}var $g=[];function hn(s){return s==null?$g:Array.isArray(s)?s:[s]}var Se=function(s){return s[s.Word=0]="Word",s[s.Space=1]="Space",s[s.Other=2]="Other",s}(Se||(Se={})),Kg=/[\\u00df\\u0587\\u0590-\\u05f4\\u0600-\\u06ff\\u3040-\\u309f\\u30a0-\\u30ff\\u3400-\\u4db5\\u4e00-\\u9fcc\\uac00-\\ud7af]/,yl;try{yl=new RegExp("[\\\\p{Alphabetic}\\\\p{Number}_]","u")}catch(s){}function Yg(s){if(yl)return yl.test(s);for(let t=0;t<s.length;t++){let e=s[t];if(/\\w/.test(e)||e>"\\x80"&&(e.toUpperCase()!=e.toLowerCase()||Kg.test(e)))return!0}return!1}function Xg(s){return t=>{if(!/\\S/.test(t))return Se.Space;if(Yg(t))return Se.Word;for(let e=0;e<s.length;e++)if(t.indexOf(s[e])>-1)return Se.Word;return Se.Other}}var ct=class s{constructor(t,e,i,n,r,o){this.config=t,this.doc=e,this.selection=i,this.values=n,this.status=t.statusTemplate.slice(),this.computeSlot=r,o&&(o._state=this);for(let l=0;l<this.config.dynamicSlots.length;l++)Jn(this,l<<1);this.computeSlot=null}field(t,e=!0){let i=this.config.address[t.id];if(i==null){if(e)throw new RangeError("Field is not present in this state");return}return Jn(this,i),br(this,i)}update(...t){return rc(this,t,!0)}applyTransaction(t){let e=this.config,{base:i,compartments:n}=e;for(let l of t.effects)l.is(Xt.reconfigure)?(e&&(n=new Map,e.compartments.forEach((a,h)=>n.set(h,a)),e=null),n.set(l.value.compartment,l.value.extension)):l.is(ot.reconfigure)?(e=null,i=l.value):l.is(ot.appendConfig)&&(e=null,i=hn(i).concat(l.value));let r;e?r=t.startState.values.slice():(e=mr.resolve(i,n,this),r=new s(e,this.doc,this.selection,e.dynamicSlots.map(()=>null),(a,h)=>h.reconfigure(a,this),null).values);let o=t.startState.facet(gl)?t.newSelection:t.newSelection.asSingle();new s(e,t.newDoc,o,r,(l,a)=>a.update(l,t),t)}replaceSelection(t){return typeof t=="string"&&(t=this.toText(t)),this.changeByRange(e=>({changes:{from:e.from,to:e.to,insert:t},range:N.cursor(e.from+t.length)}))}changeByRange(t){let e=this.selection,i=t(e.ranges[0]),n=this.changes(i.changes),r=[i.range],o=hn(i.effects);for(let l=1;l<e.ranges.length;l++){let a=t(e.ranges[l]),h=this.changes(a.changes),f=h.map(n);for(let u=0;u<l;u++)r[u]=r[u].map(f);let c=n.mapDesc(h,!0);r.push(a.range.map(c)),n=n.compose(f),o=ot.mapEffects(o,f).concat(ot.mapEffects(hn(a.effects),c))}return{changes:n,selection:N.create(r,e.mainIndex),effects:o}}changes(t=[]){return t instanceof Yt?t:Yt.of(t,this.doc.length,this.facet(s.lineSeparator))}toText(t){return $.of(t.split(this.facet(s.lineSeparator)||cl))}sliceDoc(t=0,e=this.doc.length){return this.doc.sliceString(t,e,this.lineBreak)}facet(t){let e=this.config.address[t.id];return e==null?t.default:(Jn(this,e),br(this,e))}toJSON(t){let e={doc:this.sliceDoc(),selection:this.selection.toJSON()};if(t)for(let i in t){let n=t[i];n instanceof Tt&&this.config.address[n.id]!=null&&(e[i]=n.spec.toJSON(this.field(t[i]),this))}return e}static fromJSON(t,e={},i){if(!t||typeof t.doc!="string")throw new RangeError("Invalid JSON representation for EditorState");let n=[];if(i){for(let r in i)if(Object.prototype.hasOwnProperty.call(t,r)){let o=i[r],l=t[r];n.push(o.init(a=>o.spec.fromJSON(l,a)))}}return s.create({doc:t.doc,selection:N.fromJSON(t.selection),extensions:e.extensions?n.concat([e.extensions]):n})}static create(t={}){let e=mr.resolve(t.extensions||[],new Map),i=t.doc instanceof $?t.doc:$.of((t.doc||"").split(e.staticFacet(s.lineSeparator)||cl)),n=t.selection?t.selection instanceof N?t.selection:N.single(t.selection.anchor,t.selection.head):N.single(0);return Jf(n,i.length),e.staticFacet(gl)||(n=n.asSingle()),new s(e,i,n,e.dynamicSlots.map(()=>null),(r,o)=>o.create(r),null)}get tabSize(){return this.facet(s.tabSize)}get lineBreak(){return this.facet(s.lineSeparator)||`\n`}get readOnly(){return this.facet(nc)}phrase(t,...e){for(let i of this.facet(s.phrases))if(Object.prototype.hasOwnProperty.call(i,t)){t=i[t];break}return e.length&&(t=t.replace(/\\$(\\$|\\d*)/g,(i,n)=>{if(n=="$")return"$";let r=+(n||1);return!r||r>e.length?i:e[r-1]})),t}languageDataAt(t,e,i=-1){let n=[];for(let r of this.facet(Qf))for(let o of r(this,e,i))Object.prototype.hasOwnProperty.call(o,t)&&n.push(o[t]);return n}charCategorizer(t){return Xg(this.languageDataAt("wordChars",t).join(""))}wordAt(t){let{text:e,from:i,length:n}=this.doc.lineAt(t),r=this.charCategorizer(t),o=t-i,l=t-i;for(;o>0;){let a=Ce(e,o,!1);if(r(e.slice(a,o))!=Se.Word)break;o=a}for(;l<n;){let a=Ce(e,l);if(r(e.slice(l,a))!=Se.Word)break;l=a}return o==l?null:N.range(o+i,l+i)}};ct.allowMultipleSelections=gl;ct.tabSize=L.define({combine:s=>s.length?s[0]:4});ct.lineSeparator=Zf;ct.readOnly=nc;ct.phrases=L.define({compare(s,t){let e=Object.keys(s),i=Object.keys(t);return e.length==i.length&&e.every(n=>s[n]==t[n])}});ct.languageData=Qf;ct.changeFilter=tc;ct.transactionFilter=ec;ct.transactionExtender=ic;Xt.reconfigure=ot.define();var Ke=class{eq(t){return this==t}range(t,e=t){return Zn.create(t,e,this)}};Ke.prototype.startSide=Ke.prototype.endSide=0;Ke.prototype.point=!1;Ke.prototype.mapMode=Wt.TrackDel;var Zn=class s{constructor(t,e,i){this.from=t,this.to=e,this.value=i}static create(t,e,i){return new s(t,e,i)}};function vl(s,t){return s.from-t.from||s.value.startSide-t.value.startSide}var kl=class s{constructor(t,e,i,n){this.from=t,this.to=e,this.value=i,this.maxPoint=n}get length(){return this.to[this.to.length-1]}findIndex(t,e,i,n=0){let r=i?this.to:this.from;for(let o=n,l=r.length;;){if(o==l)return o;let a=o+l>>1,h=r[a]-t||(i?this.value[a].endSide:this.value[a].startSide)-e;if(a==o)return h>=0?o:l;h>=0?l=a:o=a+1}}between(t,e,i,n){for(let r=this.findIndex(e,-1e9,!0),o=this.findIndex(i,1e9,!1,r);r<o;r++)if(n(this.from[r]+t,this.to[r]+t,this.value[r])===!1)return!1}map(t,e){let i=[],n=[],r=[],o=-1,l=-1;for(let a=0;a<this.value.length;a++){let h=this.value[a],f=this.from[a]+t,c=this.to[a]+t,u,d;if(f==c){let p=e.mapPos(f,h.startSide,h.mapMode);if(p==null||(u=d=p,h.startSide!=h.endSide&&(d=e.mapPos(f,h.endSide),d<u)))continue}else if(u=e.mapPos(f,h.startSide),d=e.mapPos(c,h.endSide),u>d||u==d&&h.startSide>0&&h.endSide<=0)continue;(d-u||h.endSide-h.startSide)<0||(o<0&&(o=u),h.point&&(l=Math.max(l,d-u)),i.push(h),n.push(u-o),r.push(d-o))}return{mapped:i.length?new s(n,r,i,l):null,pos:o}}},K=class s{constructor(t,e,i,n){this.chunkPos=t,this.chunk=e,this.nextLayer=i,this.maxPoint=n}static create(t,e,i,n){return new s(t,e,i,n)}get length(){let t=this.chunk.length-1;return t<0?0:Math.max(this.chunkEnd(t),this.nextLayer.length)}get size(){if(this.isEmpty)return 0;let t=this.nextLayer.size;for(let e of this.chunk)t+=e.value.length;return t}chunkEnd(t){return this.chunkPos[t]+this.chunk[t].length}update(t){let{add:e=[],sort:i=!1,filterFrom:n=0,filterTo:r=this.length}=t,o=t.filter;if(e.length==0&&!o)return this;if(i&&(e=e.slice().sort(vl)),this.isEmpty)return e.length?s.of(e):this;let l=new wr(this,null,-1).goto(0),a=0,h=[],f=new fi;for(;l.value||a<e.length;)if(a<e.length&&(l.from-e[a].from||l.startSide-e[a].value.startSide)>=0){let c=e[a++];f.addInner(c.from,c.to,c.value)||h.push(c)}else l.rangeIndex==1&&l.chunkIndex<this.chunk.length&&(a==e.length||this.chunkEnd(l.chunkIndex)<e[a].from)&&(!o||n>this.chunkEnd(l.chunkIndex)||r<this.chunkPos[l.chunkIndex])&&f.addChunk(this.chunkPos[l.chunkIndex],this.chunk[l.chunkIndex])?l.nextChunk():((!o||n>l.to||r<l.from||o(l.from,l.to,l.value))&&(f.addInner(l.from,l.to,l.value)||h.push(Zn.create(l.from,l.to,l.value))),l.next());return f.finishInner(this.nextLayer.isEmpty&&!h.length?s.empty:this.nextLayer.update({add:h,filter:o,filterFrom:n,filterTo:r}))}map(t){if(t.empty||this.isEmpty)return this;let e=[],i=[],n=-1;for(let o=0;o<this.chunk.length;o++){let l=this.chunkPos[o],a=this.chunk[o],h=t.touchesRange(l,l+a.length);if(h===!1)n=Math.max(n,a.maxPoint),e.push(a),i.push(t.mapPos(l));else if(h===!0){let{mapped:f,pos:c}=a.map(l,t);f&&(n=Math.max(n,f.maxPoint),e.push(f),i.push(c))}}let r=this.nextLayer.map(t);return e.length==0?r:new s(i,e,r||s.empty,n)}between(t,e,i){if(!this.isEmpty){for(let n=0;n<this.chunk.length;n++){let r=this.chunkPos[n],o=this.chunk[n];if(e>=r&&t<=r+o.length&&o.between(r,t-r,e-r,i)===!1)return}this.nextLayer.between(t,e,i)}}iter(t=0){return ts.from([this]).goto(t)}get isEmpty(){return this.nextLayer==this}static iter(t,e=0){return ts.from(t).goto(e)}static compare(t,e,i,n,r=-1){let o=t.filter(c=>c.maxPoint>0||!c.isEmpty&&c.maxPoint>=r),l=e.filter(c=>c.maxPoint>0||!c.isEmpty&&c.maxPoint>=r),a=jf(o,l,i),h=new Pi(o,a,r),f=new Pi(l,a,r);i.iterGaps((c,u,d)=>qf(h,c,f,u,d,n)),i.empty&&i.length==0&&qf(h,0,f,0,0,n)}static eq(t,e,i=0,n){n==null&&(n=999999999);let r=t.filter(f=>!f.isEmpty&&e.indexOf(f)<0),o=e.filter(f=>!f.isEmpty&&t.indexOf(f)<0);if(r.length!=o.length)return!1;if(!r.length)return!0;let l=jf(r,o),a=new Pi(r,l,0).goto(i),h=new Pi(o,l,0).goto(i);for(;;){if(a.to!=h.to||!xl(a.active,h.active)||a.point&&(!h.point||!a.point.eq(h.point)))return!1;if(a.to>n)return!0;a.next(),h.next()}}static spans(t,e,i,n,r=-1){let o=new Pi(t,null,r).goto(e),l=e,a=o.openStart;for(;;){let h=Math.min(o.to,i);if(o.point){let f=o.activeForPoint(o.to),c=o.pointFrom<e?f.length+1:o.point.startSide<0?f.length:Math.min(f.length,a);n.point(l,h,o.point,f,c,o.pointRank),a=Math.min(o.openEnd(h),f.length)}else h>l&&(n.span(l,h,o.active,a),a=o.openEnd(h));if(o.to>i)return a+(o.point&&o.to>i?1:0);l=o.to,o.next()}}static of(t,e=!1){let i=new fi;for(let n of t instanceof Zn?[t]:e?Jg(t):t)i.add(n.from,n.to,n.value);return i.finish()}static join(t){if(!t.length)return s.empty;let e=t[t.length-1];for(let i=t.length-2;i>=0;i--)for(let n=t[i];n!=s.empty;n=n.nextLayer)e=new s(n.chunkPos,n.chunk,e,Math.max(n.maxPoint,e.maxPoint));return e}};K.empty=new K([],[],null,-1);function Jg(s){if(s.length>1)for(let t=s[0],e=1;e<s.length;e++){let i=s[e];if(vl(t,i)>0)return s.slice().sort(vl);t=i}return s}K.empty.nextLayer=K.empty;var fi=class s{finishChunk(t){this.chunks.push(new kl(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,t&&(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(t,e,i){this.addInner(t,e,i)||(this.nextLayer||(this.nextLayer=new s)).add(t,e,i)}addInner(t,e,i){let n=t-this.lastTo||i.startSide-this.last.endSide;if(n<=0&&(t-this.lastFrom||i.startSide-this.last.startSide)<0)throw new Error("Ranges must be added sorted by `from` position and `startSide`");return n<0?!1:(this.from.length==250&&this.finishChunk(!0),this.chunkStart<0&&(this.chunkStart=t),this.from.push(t-this.chunkStart),this.to.push(e-this.chunkStart),this.last=i,this.lastFrom=t,this.lastTo=e,this.value.push(i),i.point&&(this.maxPoint=Math.max(this.maxPoint,e-t)),!0)}addChunk(t,e){if((t-this.lastTo||e.value[0].startSide-this.last.endSide)<0)return!1;this.from.length&&this.finishChunk(!0),this.setMaxPoint=Math.max(this.setMaxPoint,e.maxPoint),this.chunks.push(e),this.chunkPos.push(t);let i=e.value.length-1;return this.last=e.value[i],this.lastFrom=e.from[i]+t,this.lastTo=e.to[i]+t,!0}finish(){return this.finishInner(K.empty)}finishInner(t){if(this.from.length&&this.finishChunk(!1),this.chunks.length==0)return t;let e=K.create(this.chunkPos,this.chunks,this.nextLayer?this.nextLayer.finishInner(t):t,this.setMaxPoint);return this.from=null,e}};function jf(s,t,e){let i=new Map;for(let r of s)for(let o=0;o<r.chunk.length;o++)r.chunk[o].maxPoint<=0&&i.set(r.chunk[o],r.chunkPos[o]);let n=new Set;for(let r of t)for(let o=0;o<r.chunk.length;o++){let l=i.get(r.chunk[o]);l!=null&&(e?e.mapPos(l):l)==r.chunkPos[o]&&!(e!=null&&e.touchesRange(l,l+r.chunk[o].length))&&n.add(r.chunk[o])}return n}var wr=class{constructor(t,e,i,n=0){this.layer=t,this.skip=e,this.minPoint=i,this.rank=n}get startSide(){return this.value?this.value.startSide:0}get endSide(){return this.value?this.value.endSide:0}goto(t,e=-1e9){return this.chunkIndex=this.rangeIndex=0,this.gotoInner(t,e,!1),this}gotoInner(t,e,i){for(;this.chunkIndex<this.layer.chunk.length;){let n=this.layer.chunk[this.chunkIndex];if(!(this.skip&&this.skip.has(n)||this.layer.chunkEnd(this.chunkIndex)<t||n.maxPoint<this.minPoint))break;this.chunkIndex++,i=!1}if(this.chunkIndex<this.layer.chunk.length){let n=this.layer.chunk[this.chunkIndex].findIndex(t-this.layer.chunkPos[this.chunkIndex],e,!0);(!i||this.rangeIndex<n)&&this.setRangeIndex(n)}this.next()}forward(t,e){(this.to-t||this.endSide-e)<0&&this.gotoInner(t,e,!0)}next(){for(;;)if(this.chunkIndex==this.layer.chunk.length){this.from=this.to=1e9,this.value=null;break}else{let t=this.layer.chunkPos[this.chunkIndex],e=this.layer.chunk[this.chunkIndex],i=t+e.from[this.rangeIndex];if(this.from=i,this.to=t+e.to[this.rangeIndex],this.value=e.value[this.rangeIndex],this.setRangeIndex(this.rangeIndex+1),this.minPoint<0||this.value.point&&this.to-this.from>=this.minPoint)break}}setRangeIndex(t){if(t==this.layer.chunk[this.chunkIndex].value.length){if(this.chunkIndex++,this.skip)for(;this.chunkIndex<this.layer.chunk.length&&this.skip.has(this.layer.chunk[this.chunkIndex]);)this.chunkIndex++;this.rangeIndex=0}else this.rangeIndex=t}nextChunk(){this.chunkIndex++,this.rangeIndex=0,this.next()}compare(t){return this.from-t.from||this.startSide-t.startSide||this.rank-t.rank||this.to-t.to||this.endSide-t.endSide}},ts=class s{constructor(t){this.heap=t}static from(t,e=null,i=-1){let n=[];for(let r=0;r<t.length;r++)for(let o=t[r];!o.isEmpty;o=o.nextLayer)o.maxPoint>=i&&n.push(new wr(o,e,i,r));return n.length==1?n[0]:new s(n)}get startSide(){return this.value?this.value.startSide:0}goto(t,e=-1e9){for(let i of this.heap)i.goto(t,e);for(let i=this.heap.length>>1;i>=0;i--)hl(this.heap,i);return this.next(),this}forward(t,e){for(let i of this.heap)i.forward(t,e);for(let i=this.heap.length>>1;i>=0;i--)hl(this.heap,i);(this.to-t||this.value.endSide-e)<0&&this.next()}next(){if(this.heap.length==0)this.from=this.to=1e9,this.value=null,this.rank=-1;else{let t=this.heap[0];this.from=t.from,this.to=t.to,this.value=t.value,this.rank=t.rank,t.value&&t.next(),hl(this.heap,0)}}};function hl(s,t){for(let e=s[t];;){let i=(t<<1)+1;if(i>=s.length)break;let n=s[i];if(i+1<s.length&&n.compare(s[i+1])>=0&&(n=s[i+1],i++),e.compare(n)<0)break;s[i]=e,s[t]=n,t=i}}var Pi=class{constructor(t,e,i){this.minPoint=i,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=ts.from(t,e,i)}goto(t,e=-1e9){return this.cursor.goto(t,e),this.active.length=this.activeTo.length=this.activeRank.length=0,this.minActive=-1,this.to=t,this.endSide=e,this.openStart=-1,this.next(),this}forward(t,e){for(;this.minActive>-1&&(this.activeTo[this.minActive]-t||this.active[this.minActive].endSide-e)<0;)this.removeActive(this.minActive);this.cursor.forward(t,e)}removeActive(t){fr(this.active,t),fr(this.activeTo,t),fr(this.activeRank,t),this.minActive=$f(this.active,this.activeTo)}addActive(t){let e=0,{value:i,to:n,rank:r}=this.cursor;for(;e<this.activeRank.length&&(r-this.activeRank[e]||n-this.activeTo[e])>0;)e++;cr(this.active,e,i),cr(this.activeTo,e,n),cr(this.activeRank,e,r),t&&cr(t,e,this.cursor.from),this.minActive=$f(this.active,this.activeTo)}next(){let t=this.to,e=this.point;this.point=null;let i=this.openStart<0?[]:null;for(;;){let n=this.minActive;if(n>-1&&(this.activeTo[n]-this.cursor.from||this.active[n].endSide-this.cursor.startSide)<0){if(this.activeTo[n]>t){this.to=this.activeTo[n],this.endSide=this.active[n].endSide;break}this.removeActive(n),i&&fr(i,n)}else if(this.cursor.value)if(this.cursor.from>t){this.to=this.cursor.from,this.endSide=this.cursor.startSide;break}else{let r=this.cursor.value;if(!r.point)this.addActive(i),this.cursor.next();else if(e&&this.cursor.to==this.to&&this.cursor.from<this.cursor.to)this.cursor.next();else{this.point=r,this.pointFrom=this.cursor.from,this.pointRank=this.cursor.rank,this.to=this.cursor.to,this.endSide=r.endSide,this.cursor.next(),this.forward(this.to,this.endSide);break}}else{this.to=this.endSide=1e9;break}}if(i){this.openStart=0;for(let n=i.length-1;n>=0&&i[n]<t;n--)this.openStart++}}activeForPoint(t){if(!this.active.length)return this.active;let e=[];for(let i=this.active.length-1;i>=0&&!(this.activeRank[i]<this.pointRank);i--)(this.activeTo[i]>t||this.activeTo[i]==t&&this.active[i].endSide>=this.point.endSide)&&e.push(this.active[i]);return e.reverse()}openEnd(t){let e=0;for(let i=this.activeTo.length-1;i>=0&&this.activeTo[i]>t;i--)e++;return e}};function qf(s,t,e,i,n,r){s.goto(t),e.goto(i);let o=i+n,l=i,a=i-t;for(;;){let h=s.to+a-e.to,f=h||s.endSide-e.endSide,c=f<0?s.to+a:e.to,u=Math.min(c,o);if(s.point||e.point?s.point&&e.point&&(s.point==e.point||s.point.eq(e.point))&&xl(s.activeForPoint(s.to),e.activeForPoint(e.to))||r.comparePoint(l,u,s.point,e.point):u>l&&!xl(s.active,e.active)&&r.compareRange(l,u,s.active,e.active),c>o)break;(h||s.openEnd!=e.openEnd)&&r.boundChange&&r.boundChange(c),l=c,f<=0&&s.next(),f>=0&&e.next()}}function xl(s,t){if(s.length!=t.length)return!1;for(let e=0;e<s.length;e++)if(s[e]!=t[e]&&!s[e].eq(t[e]))return!1;return!0}function fr(s,t){for(let e=t,i=s.length-1;e<i;e++)s[e]=s[e+1];s.pop()}function cr(s,t,e){for(let i=s.length-1;i>=t;i--)s[i+1]=s[i];s[t]=e}function $f(s,t){let e=-1,i=1e9;for(let n=0;n<t.length;n++)(t[n]-i||s[n].endSide-s[e].endSide)<0&&(e=n,i=t[n]);return e}function oc(s,t,e,i){for(let n=0,r=0;;){if(r>=t)return n;if(n==s.length)break;r+=s.charCodeAt(n)==9?e-r%e:1,n=Ce(s,n)}return i===!0?-1:s.length}var Qg=class Ml{constructor(t,e){this.low=t,this.high=e}clone(){return new Ml(this.low,this.high)}get max(){return this.clone()}less_than(t){return this.low<t.low||this.low===t.low&&this.high<t.high}equal_to(t){return this.low===t.low&&this.high===t.high}intersect(t){return!this.not_intersect(t)}not_intersect(t){return this.high<t.low||t.high<this.low}merge(t){return new Ml(this.low===void 0?t.low:this.low<t.low?this.low:t.low,this.high===void 0?t.high:this.high>t.high?this.high:t.high)}output(){return[this.low,this.high]}static comparable_max(t,e){return t.merge(e)}static comparable_less_than(t,e){return t<e}},At=0,X=1,Ye=class{constructor(t=void 0,e=void 0,i=null,n=null,r=null,o=X){if(this.left=i,this.right=n,this.parent=r,this.color=o,this.item={key:t,value:e},t&&t instanceof Array&&t.length===2&&!Number.isNaN(t[0])&&!Number.isNaN(t[1])){let[l,a]=t;l>a&&([l,a]=[a,l]),this.item.key=new Qg(l,a)}this.max=this.item.key?this.item.key.max:void 0}isNil(){return this.item.key===void 0&&this.item.value===void 0&&this.left===null&&this.right===null&&this.color===X}_value_less_than(t){return this.item.value&&t.item.value&&this.item.value.less_than?this.item.value.less_than(t.item.value):this.item.value<t.item.value}less_than(t){return this.item.value===this.item.key&&t.item.value===t.item.key?this.item.key.less_than(t.item.key):this.item.key.less_than(t.item.key)||this.item.key.equal_to(t.item.key)&&this._value_less_than(t)}_value_equal(t){return this.item.value&&t.item.value&&this.item.value.equal_to?this.item.value.equal_to(t.item.value):this.item.value===t.item.value}equal_to(t){return this.item.value===this.item.key&&t.item.value===t.item.key?this.item.key.equal_to(t.item.key):this.item.key.equal_to(t.item.key)&&this._value_equal(t)}intersect(t){return this.item.key.intersect(t.item.key)}copy_data(t){this.item.key=t.item.key,this.item.value=t.item.value}update_max(){if(this.max=this.item.key?this.item.key.max:void 0,this.right&&this.right.max){let t=this.item.key.constructor.comparable_max;this.max=t(this.max,this.right.max)}if(this.left&&this.left.max){let t=this.item.key.constructor.comparable_max;this.max=t(this.max,this.left.max)}}not_intersect_left_subtree(t){let e=this.item.key.constructor.comparable_less_than,i=this.left.max.high!==void 0?this.left.max.high:this.left.max;return e(i,t.item.key.low)}not_intersect_right_subtree(t){let e=this.item.key.constructor.comparable_less_than,i=this.right.max.low!==void 0?this.right.max.low:this.right.item.key.low;return e(t.item.key.high,i)}},yr=class s{constructor(){this.root=null,this.nil_node=new Ye}get size(){let t=0;return this.tree_walk(this.root,()=>t++),t}get keys(){let t=[];return this.tree_walk(this.root,e=>t.push(e.item.key.output?e.item.key.output():e.item.key)),t}get values(){let t=[];return this.tree_walk(this.root,e=>t.push(e.item.value)),t}get items(){let t=[];return this.tree_walk(this.root,e=>t.push({key:e.item.key.output?e.item.key.output():e.item.key,value:e.item.value})),t}isEmpty(){return this.root==null||this.root===this.nil_node}clear(){this.root=null}insert(t,e=t){if(t===void 0)return;let i=new Ye(t,e,this.nil_node,this.nil_node,null,At);return this.tree_insert(i),this.recalc_max(i),i}exist(t,e=t){let i=new Ye(t,e);return!!this.tree_search(this.root,i)}remove(t,e=t){let i=new Ye(t,e),n=this.tree_search(this.root,i);return n&&this.tree_delete(n),n}search(t,e=(i,n)=>i===n?n.output():i){let i=new Ye(t),n=[];return this.tree_search_interval(this.root,i,n),n.map(r=>e(r.item.value,r.item.key))}intersect_any(t){let e=new Ye(t);return this.tree_find_any_interval(this.root,e)}forEach(t){this.tree_walk(this.root,e=>t(e.item.key,e.item.value))}map(t){let e=new s;return this.tree_walk(this.root,i=>e.insert(i.item.key,t(i.item.value,i.item.key))),e}*iterate(t,e=(i,n)=>i===n?n.output():i){let i;for(t?i=this.tree_search_nearest_forward(this.root,new Ye(t)):this.root&&(i=this.local_minimum(this.root));i;)yield e(i.item.value,i.item.key),i=this.tree_successor(i)}recalc_max(t){let e=t;for(;e.parent!=null;)e.parent.update_max(),e=e.parent}tree_insert(t){let e=this.root,i=null;if(this.root==null||this.root===this.nil_node)this.root=t;else{for(;e!==this.nil_node;)i=e,t.less_than(e)?e=e.left:e=e.right;t.parent=i,t.less_than(i)?i.left=t:i.right=t}this.insert_fixup(t)}insert_fixup(t){let e,i;for(e=t;e!==this.root&&e.parent.color===At;)e.parent===e.parent.parent.left?(i=e.parent.parent.right,i.color===At?(e.parent.color=X,i.color=X,e.parent.parent.color=At,e=e.parent.parent):(e===e.parent.right&&(e=e.parent,this.rotate_left(e)),e.parent.color=X,e.parent.parent.color=At,this.rotate_right(e.parent.parent))):(i=e.parent.parent.left,i.color===At?(e.parent.color=X,i.color=X,e.parent.parent.color=At,e=e.parent.parent):(e===e.parent.left&&(e=e.parent,this.rotate_right(e)),e.parent.color=X,e.parent.parent.color=At,this.rotate_left(e.parent.parent)));this.root.color=X}tree_delete(t){let e,i;t.left===this.nil_node||t.right===this.nil_node?e=t:e=this.tree_successor(t),e.left!==this.nil_node?i=e.left:i=e.right,i.parent=e.parent,e===this.root?this.root=i:(e===e.parent.left?e.parent.left=i:e.parent.right=i,e.parent.update_max()),this.recalc_max(i),e!==t&&(t.copy_data(e),t.update_max(),this.recalc_max(t)),e.color===X&&this.delete_fixup(i)}delete_fixup(t){let e=t,i;for(;e!==this.root&&e.parent!=null&&e.color===X;)e===e.parent.left?(i=e.parent.right,i.color===At&&(i.color=X,e.parent.color=At,this.rotate_left(e.parent),i=e.parent.right),i.left.color===X&&i.right.color===X?(i.color=At,e=e.parent):(i.right.color===X&&(i.color=At,i.left.color=X,this.rotate_right(i),i=e.parent.right),i.color=e.parent.color,e.parent.color=X,i.right.color=X,this.rotate_left(e.parent),e=this.root)):(i=e.parent.left,i.color===At&&(i.color=X,e.parent.color=At,this.rotate_right(e.parent),i=e.parent.left),i.left.color===X&&i.right.color===X?(i.color=At,e=e.parent):(i.left.color===X&&(i.color=At,i.right.color=X,this.rotate_left(i),i=e.parent.left),i.color=e.parent.color,e.parent.color=X,i.left.color=X,this.rotate_right(e.parent),e=this.root));e.color=X}tree_search(t,e){if(!(t==null||t===this.nil_node))return e.equal_to(t)?t:e.less_than(t)?this.tree_search(t.left,e):this.tree_search(t.right,e)}tree_search_nearest_forward(t,e){let i,n=t;for(;n&&n!==this.nil_node;)n.less_than(e)?n.intersect(e)?(i=n,n=n.left):n=n.right:((!i||n.less_than(i))&&(i=n),n=n.left);return i||null}tree_search_interval(t,e,i){t!=null&&t!==this.nil_node&&(t.left!==this.nil_node&&!t.not_intersect_left_subtree(e)&&this.tree_search_interval(t.left,e,i),t.intersect(e)&&i.push(t),t.right!==this.nil_node&&!t.not_intersect_right_subtree(e)&&this.tree_search_interval(t.right,e,i))}tree_find_any_interval(t,e){let i=!1;return t!=null&&t!==this.nil_node&&(t.left!==this.nil_node&&!t.not_intersect_left_subtree(e)&&(i=this.tree_find_any_interval(t.left,e)),i||(i=t.intersect(e)),!i&&t.right!==this.nil_node&&!t.not_intersect_right_subtree(e)&&(i=this.tree_find_any_interval(t.right,e))),i}local_minimum(t){let e=t;for(;e.left!=null&&e.left!==this.nil_node;)e=e.left;return e}local_maximum(t){let e=t;for(;e.right!=null&&e.right!==this.nil_node;)e=e.right;return e}tree_successor(t){let e,i,n;if(t.right!==this.nil_node)e=this.local_minimum(t.right);else{for(i=t,n=t.parent;n!=null&&n.right===i;)i=n,n=n.parent;e=n}return e}rotate_left(t){let e=t.right;t.right=e.left,e.left!==this.nil_node&&(e.left.parent=t),e.parent=t.parent,t===this.root?this.root=e:t===t.parent.left?t.parent.left=e:t.parent.right=e,e.left=t,t.parent=e,t!=null&&t!==this.nil_node&&t.update_max(),e=t.parent,e!=null&&e!==this.nil_node&&e.update_max()}rotate_right(t){let e=t.left;t.left=e.right,e.right!==this.nil_node&&(e.right.parent=t),e.parent=t.parent,t===this.root?this.root=e:t===t.parent.left?t.parent.left=e:t.parent.right=e,e.right=t,t.parent=e,t!==null&&t!==this.nil_node&&t.update_max(),e=t.parent,e!=null&&e!==this.nil_node&&e.update_max()}tree_walk(t,e){t!=null&&t!==this.nil_node&&(this.tree_walk(t.left,e),e(t),this.tree_walk(t.right,e))}testRedBlackProperty(){let t=!0;return this.tree_walk(this.root,function(e){e.color===At&&(e.left.color===X&&e.right.color===X||(t=!1))}),t}testBlackHeightProperty(t){let e=0,i=0,n=0;if(t.color===X&&e++,t.left!==this.nil_node?i=this.testBlackHeightProperty(t.left):i=1,t.right!==this.nil_node?n=this.testBlackHeightProperty(t.right):n=1,i!==n)throw new Error("Red-black height property violated");return e+=i,e}};var vr=class{constructor(t){I(this,"ranges");I(this,"tree");this.ranges=t,this.tree=new yr;for(let e of t)this.tree.insert([e.from,e.to],e)}empty(){return this.ranges.length===0}get(t){return t<0?this.ranges[this.ranges.length+t]:this.ranges[t]}at_cursor(t,e=!1){let i=this.tree.search([t,t]);return i.length?e&&i.length>1?i[1]:i[0]:void 0}contains_range(t,e){return this.tree.intersect_any([t,e])}range_adjacent_to_cursor(t,e,i=!1,n=!1){let r=e?this.ranges.slice().reverse():this.ranges;return n?r.find(o=>e?(i?o.from:o.to)<t:t<(i?o.to:o.from)):r.find(o=>e?(i?o.from:o.to)<=t:t<=(i?o.to:o.from))}adjacent_range(t,e,i=!1){let n=this.ranges.findIndex(o=>o===t);if(n===-1)return;let r=e?this.ranges[n-1]:this.ranges[n+1];if(r)if(i){if(e?r.to===t.from:t.to===r.from)return r}else return r}ranges_in_interval(t,e){return this.tree.search([t,e])}ranges_in_intervals(t){let e=new Set;for(let i of t)for(let n of this.tree.search([i.from,i.to]))if(e.add(n),n.base_range){e.add(n.base_range);for(let r of n.base_range.replies)e.add(r)}return Array.from(e).sort((i,n)=>i.from-n.from)}unwrap_in_range(t,e=0,i=t.length,n=null){let r,o;if(n||(n=this.ranges_in_interval(e,i)),n.length===0)return{output:t.sliceString(e,i),from:e,to:i};let l="";e<n[0].from?l+=t.sliceString(e,n[0].from):r=n[0];let a=-1;for(let c of n)a!==-1&&(l+=t.sliceString(a,c.from)),l+=c.unwrap_slice(Math.max(0,e),i),a=c.to;i>=n.at(-1).to?l+=t.sliceString(n.at(-1).to,i):o=n.at(-1);let h=r?r.cursor_pass_syntax(e,!1):e,f=o?o.cursor_pass_syntax(i,!0):i;return(h!==e||e===(r==null?void 0:r.from))&&(r=void 0),(f!==i||i===(o==null?void 0:o.to))&&(o=void 0),{output:l,from:h,to:f,front_range:r,back_range:o}}};var Tl="\\u037C",lc=typeof Symbol=="undefined"?"__"+Tl:Symbol.for(Tl),Al=typeof Symbol=="undefined"?"__styleSet"+Math.floor(Math.random()*1e8):Symbol("styleSet"),ac=typeof globalThis!="undefined"?globalThis:typeof window!="undefined"?window:{},le=class{constructor(t,e){this.rules=[];let{finish:i}=e||{};function n(o){return/^@/.test(o)?[o]:o.split(/,\\s*/)}function r(o,l,a,h){let f=[],c=/^@(\\w+)\\b/.exec(o[0]),u=c&&c[1]=="keyframes";if(c&&l==null)return a.push(o[0]+";");for(let d in l){let p=l[d];if(/&/.test(d))r(d.split(/,\\s*/).map(g=>o.map(m=>g.replace(/&/,m))).reduce((g,m)=>g.concat(m)),p,a);else if(p&&typeof p=="object"){if(!c)throw new RangeError("The value of a property ("+d+") should be a primitive value.");r(n(d),p,f,u)}else p!=null&&f.push(d.replace(/_.*/,"").replace(/[A-Z]/g,g=>"-"+g.toLowerCase())+": "+p+";")}(f.length||u)&&a.push((i&&!c&&!h?o.map(i):o).join(", ")+" {"+f.join(" ")+"}")}for(let o in t)r(n(o),t[o],this.rules)}getRules(){return this.rules.join(`\n`)}static newName(){let t=ac[lc]||1;return ac[lc]=t+1,Tl+t.toString(36)}static mount(t,e,i){let n=t[Al],r=i&&i.nonce;n?r&&n.setNonce(r):n=new Ol(t,r),n.mount(Array.isArray(e)?e:[e],t)}},hc=new Map,Ol=class{constructor(t,e){let i=t.ownerDocument||t,n=i.defaultView;if(!t.head&&t.adoptedStyleSheets&&n.CSSStyleSheet){let r=hc.get(i);if(r)return t[Al]=r;this.sheet=new n.CSSStyleSheet,hc.set(i,this)}else this.styleTag=i.createElement("style"),e&&this.styleTag.setAttribute("nonce",e);this.modules=[],t[Al]=this}mount(t,e){let i=this.sheet,n=0,r=0;for(let o=0;o<t.length;o++){let l=t[o],a=this.modules.indexOf(l);if(a<r&&a>-1&&(this.modules.splice(a,1),r--,a=-1),a==-1){if(this.modules.splice(r++,0,l),i)for(let h=0;h<l.rules.length;h++)i.insertRule(l.rules[h],n++)}else{for(;r<a;)n+=this.modules[r++].rules.length;n+=l.rules.length,r++}}if(i)e.adoptedStyleSheets.indexOf(this.sheet)<0&&(e.adoptedStyleSheets=[this.sheet,...e.adoptedStyleSheets]);else{let o="";for(let a=0;a<this.modules.length;a++)o+=this.modules[a].getRules()+`\n`;this.styleTag.textContent=o;let l=e.head||e;this.styleTag.parentNode!=l&&l.insertBefore(this.styleTag,l.firstChild)}}setNonce(t){this.styleTag&&this.styleTag.getAttribute("nonce")!=t&&this.styleTag.setAttribute("nonce",t)}};var Xe={8:"Backspace",9:"Tab",10:"Enter",12:"NumLock",13:"Enter",16:"Shift",17:"Control",18:"Alt",20:"CapsLock",27:"Escape",32:" ",33:"PageUp",34:"PageDown",35:"End",36:"Home",37:"ArrowLeft",38:"ArrowUp",39:"ArrowRight",40:"ArrowDown",44:"PrintScreen",45:"Insert",46:"Delete",59:";",61:"=",91:"Meta",92:"Meta",106:"*",107:"+",108:",",109:"-",110:".",111:"/",144:"NumLock",145:"ScrollLock",160:"Shift",161:"Shift",162:"Control",163:"Control",164:"Alt",165:"Alt",173:"-",186:";",187:"=",188:",",189:"-",190:".",191:"/",192:"`",219:"[",220:"\\\\",221:"]",222:"\'"},cn={48:")",49:"!",50:"@",51:"#",52:"$",53:"%",54:"^",55:"&",56:"*",57:"(",59:":",61:"+",173:"_",186:":",187:"+",188:"<",189:"_",190:">",191:"?",192:"~",219:"{",220:"|",221:"}",222:\'"\'},Zg=typeof navigator!="undefined"&&/Mac/.test(navigator.platform),tm=typeof navigator!="undefined"&&/MSIE \\d|Trident\\/(?:[7-9]|\\d{2,})\\..*rv:(\\d+)/.exec(navigator.userAgent);for(gt=0;gt<10;gt++)Xe[48+gt]=Xe[96+gt]=String(gt);var gt;for(gt=1;gt<=24;gt++)Xe[gt+111]="F"+gt;var gt;for(gt=65;gt<=90;gt++)Xe[gt]=String.fromCharCode(gt+32),cn[gt]=String.fromCharCode(gt);var gt;for(kr in Xe)cn.hasOwnProperty(kr)||(cn[kr]=Xe[kr]);var kr;function fc(s){var t=Zg&&s.metaKey&&s.shiftKey&&!s.ctrlKey&&!s.altKey||tm&&s.shiftKey&&s.key&&s.key.length==1||s.key=="Unidentified",e=!t&&s.key||(s.shiftKey?cn:Xe)[s.keyCode]||s.key||"Unidentified";return e=="Esc"&&(e="Escape"),e=="Del"&&(e="Delete"),e=="Left"&&(e="ArrowLeft"),e=="Up"&&(e="ArrowUp"),e=="Right"&&(e="ArrowRight"),e=="Down"&&(e="ArrowDown"),e}function fs(s){let t;return s.nodeType==11?t=s.getSelection?s:s.ownerDocument:t=s,t.getSelection()}function Rl(s,t){return t?s==t||s.contains(t.nodeType!=1?t.parentNode:t):!1}function Er(s,t){if(!t.anchorNode)return!1;try{return Rl(s,t.anchorNode)}catch(e){return!1}}function gn(s){return s.nodeType==3?Hi(s,0,s.nodeValue.length).getClientRects():s.nodeType==1?s.getClientRects():[]}function rs(s,t,e,i){return e?cc(s,t,e,i,-1)||cc(s,t,e,i,1):!1}function Li(s){for(var t=0;;t++)if(s=s.previousSibling,!s)return t}function Ir(s){return s.nodeType==1&&/^(DIV|P|LI|UL|OL|BLOCKQUOTE|DD|DT|H\\d|SECTION|PRE)$/.test(s.nodeName)}function cc(s,t,e,i,n){for(;;){if(s==e&&t==i)return!0;if(t==(n<0?0:_e(s))){if(s.nodeName=="DIV")return!1;let r=s.parentNode;if(!r||r.nodeType!=1)return!1;t=Li(s)+(n<0?0:1),s=r}else if(s.nodeType==1){if(s=s.childNodes[t+(n<0?-1:0)],s.nodeType==1&&s.contentEditable=="false")return!1;t=n<0?_e(s):0}else return!1}}function _e(s){return s.nodeType==3?s.nodeValue.length:s.childNodes.length}function ms(s,t){let e=t?s.left:s.right;return{left:e,right:e,top:s.top,bottom:s.bottom}}function nm(s){let t=s.visualViewport;return t?{left:0,right:t.width,top:0,bottom:t.height}:{left:0,right:s.innerWidth,top:0,bottom:s.innerHeight}}function Wc(s,t){let e=t.width/s.offsetWidth,i=t.height/s.offsetHeight;return(e>.995&&e<1.005||!isFinite(e)||Math.abs(t.width-s.offsetWidth)<1)&&(e=1),(i>.995&&i<1.005||!isFinite(i)||Math.abs(t.height-s.offsetHeight)<1)&&(i=1),{scaleX:e,scaleY:i}}function sm(s,t,e,i,n,r,o,l){let a=s.ownerDocument,h=a.defaultView||window;for(let f=s,c=!1;f&&!c;)if(f.nodeType==1){let u,d=f==a.body,p=1,g=1;if(d)u=nm(h);else{if(/^(fixed|sticky)$/.test(getComputedStyle(f).position)&&(c=!0),f.scrollHeight<=f.clientHeight&&f.scrollWidth<=f.clientWidth){f=f.assignedSlot||f.parentNode;continue}let w=f.getBoundingClientRect();({scaleX:p,scaleY:g}=Wc(f,w)),u={left:w.left,right:w.left+f.clientWidth*p,top:w.top,bottom:w.top+f.clientHeight*g}}let m=0,b=0;if(n=="nearest")t.top<u.top?(b=t.top-(u.top+o),e>0&&t.bottom>u.bottom+b&&(b=t.bottom-u.bottom+o)):t.bottom>u.bottom&&(b=t.bottom-u.bottom+o,e<0&&t.top-b<u.top&&(b=t.top-(u.top+o)));else{let w=t.bottom-t.top,y=u.bottom-u.top;b=(n=="center"&&w<=y?t.top+w/2-y/2:n=="start"||n=="center"&&e<0?t.top-o:t.bottom-y+o)-u.top}if(i=="nearest"?t.left<u.left?(m=t.left-(u.left+r),e>0&&t.right>u.right+m&&(m=t.right-u.right+r)):t.right>u.right&&(m=t.right-u.right+r,e<0&&t.left<u.left+m&&(m=t.left-(u.left+r))):m=(i=="center"?t.left+(t.right-t.left)/2-(u.right-u.left)/2:i=="start"==l?t.left-r:t.right-(u.right-u.left)+r)-u.left,m||b)if(d)h.scrollBy(m,b);else{let w=0,y=0;if(b){let v=f.scrollTop;f.scrollTop+=b/g,y=(f.scrollTop-v)*g}if(m){let v=f.scrollLeft;f.scrollLeft+=m/p,w=(f.scrollLeft-v)*p}t={left:t.left-w,top:t.top-y,right:t.right-w,bottom:t.bottom-y},w&&Math.abs(w-m)<1&&(i="nearest"),y&&Math.abs(y-b)<1&&(n="nearest")}if(d)break;(t.top<u.top||t.bottom>u.bottom||t.left<u.left||t.right>u.right)&&(t={left:Math.max(t.left,u.left),right:Math.min(t.right,u.right),top:Math.max(t.top,u.top),bottom:Math.min(t.bottom,u.bottom)}),f=f.assignedSlot||f.parentNode}else if(f.nodeType==11)f=f.host;else break}function rm(s){let t=s.ownerDocument,e,i;for(let n=s.parentNode;n&&!(n==t.body||e&&i);)if(n.nodeType==1)!i&&n.scrollHeight>n.clientHeight&&(i=n),!e&&n.scrollWidth>n.clientWidth&&(e=n),n=n.assignedSlot||n.parentNode;else if(n.nodeType==11)n=n.host;else break;return{x:e,y:i}}var Il=class{constructor(){this.anchorNode=null,this.anchorOffset=0,this.focusNode=null,this.focusOffset=0}eq(t){return this.anchorNode==t.anchorNode&&this.anchorOffset==t.anchorOffset&&this.focusNode==t.focusNode&&this.focusOffset==t.focusOffset}setRange(t){let{anchorNode:e,focusNode:i}=t;this.set(e,Math.min(t.anchorOffset,e?_e(e):0),i,Math.min(t.focusOffset,i?_e(i):0))}set(t,e,i,n){this.anchorNode=t,this.anchorOffset=e,this.focusNode=i,this.focusOffset=n}},un=null;function Gc(s){if(s.setActive)return s.setActive();if(un)return s.focus(un);let t=[];for(let e=s;e&&(t.push(e,e.scrollTop,e.scrollLeft),e!=e.ownerDocument);e=e.parentNode);if(s.focus(un==null?{get preventScroll(){return un={preventScroll:!0},!0}}:void 0),!un){un=!1;for(let e=0;e<t.length;){let i=t[e++],n=t[e++],r=t[e++];i.scrollTop!=n&&(i.scrollTop=n),i.scrollLeft!=r&&(i.scrollLeft=r)}}}var uc;function Hi(s,t,e=t){let i=uc||(uc=document.createRange());return i.setEnd(s,e),i.setStart(s,t),i}function pn(s,t,e,i){let n={key:t,code:t,keyCode:e,which:e,cancelable:!0};i&&({altKey:n.altKey,ctrlKey:n.ctrlKey,shiftKey:n.shiftKey,metaKey:n.metaKey}=i);let r=new KeyboardEvent("keydown",n);r.synthetic=!0,s.dispatchEvent(r);let o=new KeyboardEvent("keyup",n);return o.synthetic=!0,s.dispatchEvent(o),r.defaultPrevented||o.defaultPrevented}function om(s){for(;s;){if(s&&(s.nodeType==9||s.nodeType==11&&s.host))return s;s=s.assignedSlot||s.parentNode}return null}function Uc(s){for(;s.attributes.length;)s.removeAttributeNode(s.attributes[0])}function lm(s,t){let e=t.focusNode,i=t.focusOffset;if(!e||t.anchorNode!=e||t.anchorOffset!=i)return!1;for(i=Math.min(i,_e(e));;)if(i){if(e.nodeType!=1)return!1;let n=e.childNodes[i-1];n.contentEditable=="false"?i--:(e=n,i=_e(e))}else{if(e==s)return!0;i=Li(e),e=e.parentNode}}function jc(s){return s.scrollTop>Math.max(1,s.scrollHeight-s.clientHeight-4)}function qc(s,t){for(let e=s,i=t;;){if(e.nodeType==3&&i>0)return{node:e,offset:i};if(e.nodeType==1&&i>0){if(e.contentEditable=="false")return null;e=e.childNodes[i-1],i=_e(e)}else if(e.parentNode&&!Ir(e))i=Li(e),e=e.parentNode;else return null}}function $c(s,t){for(let e=s,i=t;;){if(e.nodeType==3&&i<e.nodeValue.length)return{node:e,offset:i};if(e.nodeType==1&&i<e.childNodes.length){if(e.contentEditable=="false")return null;e=e.childNodes[i],i=0}else if(e.parentNode&&!Ir(e))i=Li(e)+1,e=e.parentNode;else return null}}var Ft=class s{constructor(t,e,i=!0){this.node=t,this.offset=e,this.precise=i}static before(t,e){return new s(t.parentNode,Li(t),e)}static after(t,e){return new s(t.parentNode,Li(t)+1,e)}},fa=[],nt=class s{constructor(){this.parent=null,this.dom=null,this.flags=2}get overrideDOMText(){return null}get posAtStart(){return this.parent?this.parent.posBefore(this):0}get posAtEnd(){return this.posAtStart+this.length}posBefore(t){let e=this.posAtStart;for(let i of this.children){if(i==t)return e;e+=i.length+i.breakAfter}throw new RangeError("Invalid child in posBefore")}posAfter(t){return this.posBefore(t)+t.length}sync(t,e){if(this.flags&2){let i=this.dom,n=null,r;for(let o of this.children){if(o.flags&7){if(!o.dom&&(r=n?n.nextSibling:i.firstChild)){let l=s.get(r);(!l||!l.parent&&l.canReuseDOM(o))&&o.reuseDOM(r)}o.sync(t,e),o.flags&=-8}if(r=n?n.nextSibling:i.firstChild,e&&!e.written&&e.node==i&&r!=o.dom&&(e.written=!0),o.dom.parentNode==i)for(;r&&r!=o.dom;)r=dc(r);else i.insertBefore(o.dom,r);n=o.dom}for(r=n?n.nextSibling:i.firstChild,r&&e&&e.node==i&&(e.written=!0);r;)r=dc(r)}else if(this.flags&1)for(let i of this.children)i.flags&7&&(i.sync(t,e),i.flags&=-8)}reuseDOM(t){}localPosFromDOM(t,e){let i;if(t==this.dom)i=this.dom.childNodes[e];else{let n=_e(t)==0?0:e==0?-1:1;for(;;){let r=t.parentNode;if(r==this.dom)break;n==0&&r.firstChild!=r.lastChild&&(t==r.firstChild?n=-1:n=1),t=r}n<0?i=t:i=t.nextSibling}if(i==this.dom.firstChild)return 0;for(;i&&!s.get(i);)i=i.nextSibling;if(!i)return this.length;for(let n=0,r=0;;n++){let o=this.children[n];if(o.dom==i)return r;r+=o.length+o.breakAfter}}domBoundsAround(t,e,i=0){let n=-1,r=-1,o=-1,l=-1;for(let a=0,h=i,f=i;a<this.children.length;a++){let c=this.children[a],u=h+c.length;if(h<t&&u>e)return c.domBoundsAround(t,e,h);if(u>=t&&n==-1&&(n=a,r=h),h>e&&c.dom.parentNode==this.dom){o=a,l=f;break}f=u,h=u+c.breakAfter}return{from:r,to:l<0?i+this.length:l,startDOM:(n?this.children[n-1].dom.nextSibling:null)||this.dom.firstChild,endDOM:o<this.children.length&&o>=0?this.children[o].dom:null}}markDirty(t=!1){this.flags|=2,this.markParentsDirty(t)}markParentsDirty(t){for(let e=this.parent;e;e=e.parent){if(t&&(e.flags|=2),e.flags&1)return;e.flags|=1,t=!1}}setParent(t){this.parent!=t&&(this.parent=t,this.flags&7&&this.markParentsDirty(!0))}setDOM(t){this.dom!=t&&(this.dom&&(this.dom.cmView=null),this.dom=t,t.cmView=this)}get rootView(){for(let t=this;;){let e=t.parent;if(!e)return t;t=e}}replaceChildren(t,e,i=fa){this.markDirty();for(let n=t;n<e;n++){let r=this.children[n];r.parent==this&&i.indexOf(r)<0&&r.destroy()}i.length<250?this.children.splice(t,e-t,...i):this.children=[].concat(this.children.slice(0,t),i,this.children.slice(e));for(let n=0;n<i.length;n++)i[n].setParent(this)}ignoreMutation(t){return!1}ignoreEvent(t){return!1}childCursor(t=this.length){return new Br(this.children,t,this.children.length)}childPos(t,e=1){return this.childCursor().findPos(t,e)}toString(){let t=this.constructor.name.replace("View","");return t+(this.children.length?"("+this.children.join()+")":this.length?"["+(t=="Text"?this.text:this.length)+"]":"")+(this.breakAfter?"#":"")}static get(t){return t.cmView}get isEditable(){return!0}get isWidget(){return!1}get isHidden(){return!1}merge(t,e,i,n,r,o){return!1}become(t){return!1}canReuseDOM(t){return t.constructor==this.constructor&&!((this.flags|t.flags)&8)}getSide(){return 0}destroy(){for(let t of this.children)t.parent==this&&t.destroy();this.parent=null}};nt.prototype.breakAfter=0;function dc(s){let t=s.nextSibling;return s.parentNode.removeChild(s),t}var Br=class{constructor(t,e,i){this.children=t,this.pos=e,this.i=i,this.off=0}findPos(t,e=1){for(;;){if(t>this.pos||t==this.pos&&(e>0||this.i==0||this.children[this.i-1].breakAfter))return this.off=t-this.pos,this;let i=this.children[--this.i];this.pos-=i.length+i.breakAfter}}};function Kc(s,t,e,i,n,r,o,l,a){let{children:h}=s,f=h.length?h[t]:null,c=r.length?r[r.length-1]:null,u=c?c.breakAfter:o;if(!(t==i&&f&&!o&&!u&&r.length<2&&f.merge(e,n,r.length?c:null,e==0,l,a))){if(i<h.length){let d=h[i];d&&(n<d.length||d.breakAfter&&(c!=null&&c.breakAfter))?(t==i&&(d=d.split(n),n=0),!u&&c&&d.merge(0,n,c,!0,0,a)?r[r.length-1]=d:((n||d.children.length&&!d.children[0].length)&&d.merge(0,n,null,!1,0,a),r.push(d))):d!=null&&d.breakAfter&&(c?c.breakAfter=1:o=1),i++}for(f&&(f.breakAfter=o,e>0&&(!o&&r.length&&f.merge(e,f.length,r[0],!1,l,0)?f.breakAfter=r.shift().breakAfter:(e<f.length||f.children.length&&f.children[f.children.length-1].length==0)&&f.merge(e,f.length,null,!1,l,0),t++));t<i&&r.length;)if(h[i-1].become(r[r.length-1]))i--,r.pop(),a=r.length?0:l;else if(h[t].become(r[0]))t++,r.shift(),l=r.length?0:a;else break;!r.length&&t&&i<h.length&&!h[t-1].breakAfter&&h[i].merge(0,0,h[t-1],!1,l,a)&&t--,(t<i||r.length)&&s.replaceChildren(t,i,r)}}function Yc(s,t,e,i,n,r){let o=s.childCursor(),{i:l,off:a}=o.findPos(e,1),{i:h,off:f}=o.findPos(t,-1),c=t-e;for(let u of i)c+=u.length;s.length+=c,Kc(s,h,f,l,a,i,0,n,r)}var Ut=typeof navigator!="undefined"?navigator:{userAgent:"",vendor:"",platform:""},Bl=typeof document!="undefined"?document:{documentElement:{style:{}}},Nl=/Edge\\/(\\d+)/.exec(Ut.userAgent),Xc=/MSIE \\d/.test(Ut.userAgent),Ll=/Trident\\/(?:[7-9]|\\d{2,})\\..*rv:(\\d+)/.exec(Ut.userAgent),jr=!!(Xc||Ll||Nl),pc=!jr&&/gecko\\/(\\d+)/i.test(Ut.userAgent),_l=!jr&&/Chrome\\/(\\d+)/.exec(Ut.userAgent),gc="webkitFontSmoothing"in Bl.documentElement.style,Jc=!jr&&/Apple Computer/.test(Ut.vendor),mc=Jc&&(/Mobile\\/\\w+/.test(Ut.userAgent)||Ut.maxTouchPoints>2),D={mac:mc||/Mac/.test(Ut.platform),windows:/Win/.test(Ut.platform),linux:/Linux|X11/.test(Ut.platform),ie:jr,ie_version:Xc?Bl.documentMode||6:Ll?+Ll[1]:Nl?+Nl[1]:0,gecko:pc,gecko_version:pc?+(/Firefox\\/(\\d+)/.exec(Ut.userAgent)||[0,0])[1]:0,chrome:!!_l,chrome_version:_l?+_l[1]:0,ios:mc,android:/Android\\b/.test(Ut.userAgent),webkit:gc,safari:Jc,webkit_version:gc?+(/\\bAppleWebKit\\/(\\d+)/.exec(Ut.userAgent)||[0,0])[1]:0,tabSize:Bl.documentElement.style.tabSize!=null?"tab-size":"-moz-tab-size"},am=256,Ee=class s extends nt{constructor(t){super(),this.text=t}get length(){return this.text.length}createDOM(t){this.setDOM(t||document.createTextNode(this.text))}sync(t,e){this.dom||this.createDOM(),this.dom.nodeValue!=this.text&&(e&&e.node==this.dom&&(e.written=!0),this.dom.nodeValue=this.text)}reuseDOM(t){t.nodeType==3&&this.createDOM(t)}merge(t,e,i){return this.flags&8||i&&(!(i instanceof s)||this.length-(e-t)+i.length>am||i.flags&8)?!1:(this.text=this.text.slice(0,t)+(i?i.text:"")+this.text.slice(e),this.markDirty(),!0)}split(t){let e=new s(this.text.slice(t));return this.text=this.text.slice(0,t),this.markDirty(),e.flags|=this.flags&8,e}localPosFromDOM(t,e){return t==this.dom?e:e?this.text.length:0}domAtPos(t){return new Ft(this.dom,t)}domBoundsAround(t,e,i){return{from:i,to:i+this.length,startDOM:this.dom,endDOM:this.dom.nextSibling}}coordsAt(t,e){return hm(this.dom,t,e)}},pi=class s extends nt{constructor(t,e=[],i=0){super(),this.mark=t,this.children=e,this.length=i;for(let n of e)n.setParent(this)}setAttrs(t){if(Uc(t),this.mark.class&&(t.className=this.mark.class),this.mark.attrs)for(let e in this.mark.attrs)t.setAttribute(e,this.mark.attrs[e]);return t}canReuseDOM(t){return super.canReuseDOM(t)&&!((this.flags|t.flags)&8)}reuseDOM(t){t.nodeName==this.mark.tagName.toUpperCase()&&(this.setDOM(t),this.flags|=6)}sync(t,e){this.dom?this.flags&4&&this.setAttrs(this.dom):this.setDOM(this.setAttrs(document.createElement(this.mark.tagName))),super.sync(t,e)}merge(t,e,i,n,r,o){return i&&(!(i instanceof s&&i.mark.eq(this.mark))||t&&r<=0||e<this.length&&o<=0)?!1:(Yc(this,t,e,i?i.children.slice():[],r-1,o-1),this.markDirty(),!0)}split(t){let e=[],i=0,n=-1,r=0;for(let l of this.children){let a=i+l.length;a>t&&e.push(i<t?l.split(t-i):l),n<0&&i>=t&&(n=r),i=a,r++}let o=this.length-t;return this.length=t,n>-1&&(this.children.length=n,this.markDirty()),new s(this.mark,e,o)}domAtPos(t){return Qc(this,t)}coordsAt(t,e){return tu(this,t,e)}};function hm(s,t,e){let i=s.nodeValue.length;t>i&&(t=i);let n=t,r=t,o=0;t==0&&e<0||t==i&&e>=0?D.chrome||D.gecko||(t?(n--,o=1):r<i&&(r++,o=-1)):e<0?n--:r<i&&r++;let l=Hi(s,n,r).getClientRects();if(!l.length)return null;let a=l[(o?o<0:e>=0)?0:l.length-1];return D.safari&&!o&&a.width==0&&(a=Array.prototype.find.call(l,h=>h.width)||a),o?ms(a,o<0):a||null}var Nr=class s extends nt{static create(t,e,i){return new s(t,e,i)}constructor(t,e,i){super(),this.widget=t,this.length=e,this.side=i,this.prevWidget=null}split(t){let e=s.create(this.widget,this.length-t,this.side);return this.length-=t,e}sync(t){(!this.dom||!this.widget.updateDOM(this.dom,t))&&(this.dom&&this.prevWidget&&this.prevWidget.destroy(this.dom),this.prevWidget=null,this.setDOM(this.widget.toDOM(t)),this.widget.editable||(this.dom.contentEditable="false"))}getSide(){return this.side}merge(t,e,i,n,r,o){return i&&(!(i instanceof s)||!this.widget.compare(i.widget)||t>0&&r<=0||e<this.length&&o<=0)?!1:(this.length=t+(i?i.length:0)+(this.length-e),!0)}become(t){return t instanceof s&&t.side==this.side&&this.widget.constructor==t.widget.constructor?(this.widget.compare(t.widget)||this.markDirty(!0),this.dom&&!this.prevWidget&&(this.prevWidget=this.widget),this.widget=t.widget,this.length=t.length,!0):!1}ignoreMutation(){return!0}ignoreEvent(t){return this.widget.ignoreEvent(t)}get overrideDOMText(){if(this.length==0)return $.empty;let t=this;for(;t.parent;)t=t.parent;let{view:e}=t,i=e&&e.state.doc,n=this.posAtStart;return i?i.slice(n,n+this.length):$.empty}domAtPos(t){return(this.length?t==0:this.side>0)?Ft.before(this.dom):Ft.after(this.dom,t==this.length)}domBoundsAround(){return null}coordsAt(t,e){let i=this.widget.coordsAt(this.dom,t,e);if(i)return i;let n=this.dom.getClientRects(),r=null;if(!n.length)return null;let o=this.side?this.side<0:t>0;for(let l=o?n.length-1:0;r=n[l],!(t>0?l==0:l==n.length-1||r.top<r.bottom);l+=o?-1:1);return ms(r,!o)}get isEditable(){return!1}get isWidget(){return!0}get isHidden(){return this.widget.isHidden}destroy(){super.destroy(),this.dom&&this.widget.destroy(this.dom)}},cs=class s extends nt{constructor(t){super(),this.side=t}get length(){return 0}merge(){return!1}become(t){return t instanceof s&&t.side==this.side}split(){return new s(this.side)}sync(){if(!this.dom){let t=document.createElement("img");t.className="cm-widgetBuffer",t.setAttribute("aria-hidden","true"),this.setDOM(t)}}getSide(){return this.side}domAtPos(t){return this.side>0?Ft.before(this.dom):Ft.after(this.dom)}localPosFromDOM(){return 0}domBoundsAround(){return null}coordsAt(t){return this.dom.getBoundingClientRect()}get overrideDOMText(){return $.empty}get isHidden(){return!0}};Ee.prototype.children=Nr.prototype.children=cs.prototype.children=fa;function Qc(s,t){let e=s.dom,{children:i}=s,n=0;for(let r=0;n<i.length;n++){let o=i[n],l=r+o.length;if(!(l==r&&o.getSide()<=0)){if(t>r&&t<l&&o.dom.parentNode==e)return o.domAtPos(t-r);if(t<=r)break;r=l}}for(let r=n;r>0;r--){let o=i[r-1];if(o.dom.parentNode==e)return o.domAtPos(o.length)}for(let r=n;r<i.length;r++){let o=i[r];if(o.dom.parentNode==e)return o.domAtPos(0)}return new Ft(e,0)}function Zc(s,t,e){let i,{children:n}=s;e>0&&t instanceof pi&&n.length&&(i=n[n.length-1])instanceof pi&&i.mark.eq(t.mark)?Zc(i,t.children[0],e-1):(n.push(t),t.setParent(s)),s.length+=t.length}function tu(s,t,e){let i=null,n=-1,r=null,o=-1;function l(h,f){for(let c=0,u=0;c<h.children.length&&u<=f;c++){let d=h.children[c],p=u+d.length;p>=f&&(d.children.length?l(d,f-u):(!r||r.isHidden&&(e>0||cm(r,d)))&&(p>f||u==p&&d.getSide()>0)?(r=d,o=f-u):(u<f||u==p&&d.getSide()<0&&!d.isHidden)&&(i=d,n=f-u)),u=p}}l(s,t);let a=(e<0?i:r)||i||r;return a?a.coordsAt(Math.max(0,a==i?n:o),e):fm(s)}function fm(s){let t=s.dom.lastChild;if(!t)return s.dom.getBoundingClientRect();let e=gn(t);return e[e.length-1]||null}function cm(s,t){let e=s.coordsAt(0,1),i=t.coordsAt(0,1);return e&&i&&i.top<e.bottom}function Hl(s,t){for(let e in s)e=="class"&&t.class?t.class+=" "+s.class:e=="style"&&t.style?t.style+=";"+s.style:t[e]=s[e];return t}var bc=Object.create(null);function Lr(s,t,e){if(s==t)return!0;s||(s=bc),t||(t=bc);let i=Object.keys(s),n=Object.keys(t);if(i.length-(e&&i.indexOf(e)>-1?1:0)!=n.length-(e&&n.indexOf(e)>-1?1:0))return!1;for(let r of i)if(r!=e&&(n.indexOf(r)==-1||s[r]!==t[r]))return!1;return!0}function Fl(s,t,e){let i=!1;if(t)for(let n in t)e&&n in e||(i=!0,n=="style"?s.style.cssText="":s.removeAttribute(n));if(e)for(let n in e)t&&t[n]==e[n]||(i=!0,n=="style"?s.style.cssText=e[n]:s.setAttribute(n,e[n]));return i}function um(s){let t=Object.create(null);for(let e=0;e<s.attributes.length;e++){let i=s.attributes[e];t[i.name]=i.value}return t}var Fi=class{eq(t){return!1}updateDOM(t,e){return!1}compare(t){return this==t||this.constructor==t.constructor&&this.eq(t)}get estimatedHeight(){return-1}get lineBreaks(){return 0}ignoreEvent(t){return!0}coordsAt(t,e,i){return null}get isHidden(){return!1}get editable(){return!1}destroy(t){}},Jt=function(s){return s[s.Text=0]="Text",s[s.WidgetBefore=1]="WidgetBefore",s[s.WidgetAfter=2]="WidgetAfter",s[s.WidgetRange=3]="WidgetRange",s}(Jt||(Jt={})),J=class extends Ke{constructor(t,e,i,n){super(),this.startSide=t,this.endSide=e,this.widget=i,this.spec=n}get heightRelevant(){return!1}static mark(t){return new us(t)}static widget(t){let e=Math.max(-1e4,Math.min(1e4,t.side||0)),i=!!t.block;return e+=i&&!t.inlineOrder?e>0?3e8:-4e8:e>0?1e8:-1e8,new gi(t,e,e,i,t.widget||null,!1)}static replace(t){let e=!!t.block,i,n;if(t.isBlockGap)i=-5e8,n=4e8;else{let{start:r,end:o}=eu(t,e);i=(r?e?-3e8:-1:5e8)-1,n=(o?e?2e8:1:-6e8)+1}return new gi(t,i,n,e,t.widget||null,!0)}static line(t){return new ds(t)}static set(t,e=!1){return K.of(t,e)}hasHeight(){return this.widget?this.widget.estimatedHeight>-1:!1}};J.none=K.empty;var us=class s extends J{constructor(t){let{start:e,end:i}=eu(t);super(e?-1:5e8,i?1:-6e8,null,t),this.tagName=t.tagName||"span",this.class=t.class||"",this.attrs=t.attributes||null}eq(t){var e,i;return this==t||t instanceof s&&this.tagName==t.tagName&&(this.class||((e=this.attrs)===null||e===void 0?void 0:e.class))==(t.class||((i=t.attrs)===null||i===void 0?void 0:i.class))&&Lr(this.attrs,t.attrs,"class")}range(t,e=t){if(t>=e)throw new RangeError("Mark decorations may not be empty");return super.range(t,e)}};us.prototype.point=!1;var ds=class s extends J{constructor(t){super(-2e8,-2e8,null,t)}eq(t){return t instanceof s&&this.spec.class==t.spec.class&&Lr(this.spec.attributes,t.spec.attributes)}range(t,e=t){if(e!=t)throw new RangeError("Line decoration ranges must be zero-length");return super.range(t,e)}};ds.prototype.mapMode=Wt.TrackBefore;ds.prototype.point=!0;var gi=class s extends J{constructor(t,e,i,n,r,o){super(e,i,r,t),this.block=n,this.isReplace=o,this.mapMode=n?e<=0?Wt.TrackBefore:Wt.TrackAfter:Wt.TrackDel}get type(){return this.startSide!=this.endSide?Jt.WidgetRange:this.startSide<=0?Jt.WidgetBefore:Jt.WidgetAfter}get heightRelevant(){return this.block||!!this.widget&&(this.widget.estimatedHeight>=5||this.widget.lineBreaks>0)}eq(t){return t instanceof s&&dm(this.widget,t.widget)&&this.block==t.block&&this.startSide==t.startSide&&this.endSide==t.endSide}range(t,e=t){if(this.isReplace&&(t>e||t==e&&this.startSide>0&&this.endSide<=0))throw new RangeError("Invalid range for replacement decoration");if(!this.isReplace&&e!=t)throw new RangeError("Widget decorations can only have zero-length ranges");return super.range(t,e)}};gi.prototype.point=!0;function eu(s,t=!1){let{inclusiveStart:e,inclusiveEnd:i}=s;return e==null&&(e=s.inclusive),i==null&&(i=s.inclusive),{start:e!=null?e:t,end:i!=null?i:t}}function dm(s,t){return s==t||!!(s&&t&&s.compare(t))}function Dr(s,t,e,i=0){let n=e.length-1;n>=0&&e[n]+i>=s?e[n]=Math.max(e[n],t):e.push(s,t)}var Ot=class s extends nt{constructor(){super(...arguments),this.children=[],this.length=0,this.prevAttrs=void 0,this.attrs=null,this.breakAfter=0}merge(t,e,i,n,r,o){if(i){if(!(i instanceof s))return!1;this.dom||i.transferDOM(this)}return n&&this.setDeco(i?i.attrs:null),Yc(this,t,e,i?i.children.slice():[],r,o),!0}split(t){let e=new s;if(e.breakAfter=this.breakAfter,this.length==0)return e;let{i,off:n}=this.childPos(t);n&&(e.append(this.children[i].split(n),0),this.children[i].merge(n,this.children[i].length,null,!1,0,0),i++);for(let r=i;r<this.children.length;r++)e.append(this.children[r],0);for(;i>0&&this.children[i-1].length==0;)this.children[--i].destroy();return this.children.length=i,this.markDirty(),this.length=t,e}transferDOM(t){this.dom&&(this.markDirty(),t.setDOM(this.dom),t.prevAttrs=this.prevAttrs===void 0?this.attrs:this.prevAttrs,this.prevAttrs=void 0,this.dom=null)}setDeco(t){Lr(this.attrs,t)||(this.dom&&(this.prevAttrs=this.attrs,this.markDirty()),this.attrs=t)}append(t,e){Zc(this,t,e)}addLineDeco(t){let e=t.spec.attributes,i=t.spec.class;e&&(this.attrs=Hl(e,this.attrs||{})),i&&(this.attrs=Hl({class:i},this.attrs||{}))}domAtPos(t){return Qc(this,t)}reuseDOM(t){t.nodeName=="DIV"&&(this.setDOM(t),this.flags|=6)}sync(t,e){var i;this.dom?this.flags&4&&(Uc(this.dom),this.dom.className="cm-line",this.prevAttrs=this.attrs?null:void 0):(this.setDOM(document.createElement("div")),this.dom.className="cm-line",this.prevAttrs=this.attrs?null:void 0),this.prevAttrs!==void 0&&(Fl(this.dom,this.prevAttrs,this.attrs),this.dom.classList.add("cm-line"),this.prevAttrs=void 0),super.sync(t,e);let n=this.dom.lastChild;for(;n&&nt.get(n)instanceof pi;)n=n.lastChild;if(!n||!this.length||n.nodeName!="BR"&&((i=nt.get(n))===null||i===void 0?void 0:i.isEditable)==!1&&(!D.ios||!this.children.some(r=>r instanceof Ee))){let r=document.createElement("BR");r.cmIgnore=!0,this.dom.appendChild(r)}}measureTextSize(){if(this.children.length==0||this.length>20)return null;let t=0,e;for(let i of this.children){if(!(i instanceof Ee)||/[^ -~]/.test(i.text))return null;let n=gn(i.dom);if(n.length!=1)return null;t+=n[0].width,e=n[0].height}return t?{lineHeight:this.dom.getBoundingClientRect().height,charWidth:t/this.length,textHeight:e}:null}coordsAt(t,e){let i=tu(this,t,e);if(!this.children.length&&i&&this.parent){let{heightOracle:n}=this.parent.view.viewState,r=i.bottom-i.top;if(Math.abs(r-n.lineHeight)<2&&n.textHeight<r){let o=(r-n.textHeight)/2;return{top:i.top+o,bottom:i.bottom-o,left:i.left,right:i.left}}}return i}become(t){return t instanceof s&&this.children.length==0&&t.children.length==0&&Lr(this.attrs,t.attrs)&&this.breakAfter==t.breakAfter}covers(){return!0}static find(t,e){for(let i=0,n=0;i<t.children.length;i++){let r=t.children[i],o=n+r.length;if(o>=e){if(r instanceof s)return r;if(o>e)break}n=o+r.breakAfter}return null}},Ni=class s extends nt{constructor(t,e,i){super(),this.widget=t,this.length=e,this.deco=i,this.breakAfter=0,this.prevWidget=null}merge(t,e,i,n,r,o){return i&&(!(i instanceof s)||!this.widget.compare(i.widget)||t>0&&r<=0||e<this.length&&o<=0)?!1:(this.length=t+(i?i.length:0)+(this.length-e),!0)}domAtPos(t){return t==0?Ft.before(this.dom):Ft.after(this.dom,t==this.length)}split(t){let e=this.length-t;this.length=t;let i=new s(this.widget,e,this.deco);return i.breakAfter=this.breakAfter,i}get children(){return fa}sync(t){(!this.dom||!this.widget.updateDOM(this.dom,t))&&(this.dom&&this.prevWidget&&this.prevWidget.destroy(this.dom),this.prevWidget=null,this.setDOM(this.widget.toDOM(t)),this.widget.editable||(this.dom.contentEditable="false"))}get overrideDOMText(){return this.parent?this.parent.view.state.doc.slice(this.posAtStart,this.posAtEnd):$.empty}domBoundsAround(){return null}become(t){return t instanceof s&&t.widget.constructor==this.widget.constructor?(t.widget.compare(this.widget)||this.markDirty(!0),this.dom&&!this.prevWidget&&(this.prevWidget=this.widget),this.widget=t.widget,this.length=t.length,this.deco=t.deco,this.breakAfter=t.breakAfter,!0):!1}ignoreMutation(){return!0}ignoreEvent(t){return this.widget.ignoreEvent(t)}get isEditable(){return!1}get isWidget(){return!0}coordsAt(t,e){let i=this.widget.coordsAt(this.dom,t,e);return i||(this.widget instanceof ps?null:ms(this.dom.getBoundingClientRect(),this.length?t==0:e<=0))}destroy(){super.destroy(),this.dom&&this.widget.destroy(this.dom)}covers(t){let{startSide:e,endSide:i}=this.deco;return e==i?!1:t<0?e<0:i>0}},ps=class extends Fi{constructor(t){super(),this.height=t}toDOM(){let t=document.createElement("div");return t.className="cm-gap",this.updateDOM(t),t}eq(t){return t.height==this.height}updateDOM(t){return t.style.height=this.height+"px",!0}get editable(){return!0}get estimatedHeight(){return this.height}ignoreEvent(){return!1}},os=class s{constructor(t,e,i,n){this.doc=t,this.pos=e,this.end=i,this.disallowBlockEffectsFor=n,this.content=[],this.curLine=null,this.breakAtStart=0,this.pendingBuffer=0,this.bufferMarks=[],this.atCursorPos=!0,this.openStart=-1,this.openEnd=-1,this.text="",this.textOff=0,this.cursor=t.iter(),this.skip=e}posCovered(){if(this.content.length==0)return!this.breakAtStart&&this.doc.lineAt(this.pos).from!=this.pos;let t=this.content[this.content.length-1];return!(t.breakAfter||t instanceof Ni&&t.deco.endSide<0)}getLine(){return this.curLine||(this.content.push(this.curLine=new Ot),this.atCursorPos=!0),this.curLine}flushBuffer(t=this.bufferMarks){this.pendingBuffer&&(this.curLine.append(xr(new cs(-1),t),t.length),this.pendingBuffer=0)}addBlockWidget(t){this.flushBuffer(),this.curLine=null,this.content.push(t)}finish(t){this.pendingBuffer&&t<=this.bufferMarks.length?this.flushBuffer():this.pendingBuffer=0,!this.posCovered()&&!(t&&this.content.length&&this.content[this.content.length-1]instanceof Ni)&&this.getLine()}buildText(t,e,i){for(;t>0;){if(this.textOff==this.text.length){let{value:r,lineBreak:o,done:l}=this.cursor.next(this.skip);if(this.skip=0,l)throw new Error("Ran out of text content when drawing inline views");if(o){this.posCovered()||this.getLine(),this.content.length?this.content[this.content.length-1].breakAfter=1:this.breakAtStart=1,this.flushBuffer(),this.curLine=null,this.atCursorPos=!0,t--;continue}else this.text=r,this.textOff=0}let n=Math.min(this.text.length-this.textOff,t,512);this.flushBuffer(e.slice(e.length-i)),this.getLine().append(xr(new Ee(this.text.slice(this.textOff,this.textOff+n)),e),i),this.atCursorPos=!0,this.textOff+=n,t-=n,i=0}}span(t,e,i,n){this.buildText(e-t,i,n),this.pos=e,this.openStart<0&&(this.openStart=n)}point(t,e,i,n,r,o){if(this.disallowBlockEffectsFor[o]&&i instanceof gi){if(i.block)throw new RangeError("Block decorations may not be specified via plugins");if(e>this.doc.lineAt(this.pos).to)throw new RangeError("Decorations that replace line breaks may not be specified via plugins")}let l=e-t;if(i instanceof gi)if(i.block)i.startSide>0&&!this.posCovered()&&this.getLine(),this.addBlockWidget(new Ni(i.widget||mi.block,l,i));else{let a=Nr.create(i.widget||mi.inline,l,l?0:i.startSide),h=this.atCursorPos&&!a.isEditable&&r<=n.length&&(t<e||i.startSide>0),f=!a.isEditable&&(t<e||r>n.length||i.startSide<=0),c=this.getLine();this.pendingBuffer==2&&!h&&!a.isEditable&&(this.pendingBuffer=0),this.flushBuffer(n),h&&(c.append(xr(new cs(1),n),r),r=n.length+Math.max(0,r-n.length)),c.append(xr(a,n),r),this.atCursorPos=f,this.pendingBuffer=f?t<e||r>n.length?1:2:0,this.pendingBuffer&&(this.bufferMarks=n.slice())}else this.doc.lineAt(this.pos).from==this.pos&&this.getLine().addLineDeco(i);l&&(this.textOff+l<=this.text.length?this.textOff+=l:(this.skip+=l-(this.text.length-this.textOff),this.text="",this.textOff=0),this.pos=e),this.openStart<0&&(this.openStart=r)}static build(t,e,i,n,r){let o=new s(t,e,i,r);return o.openEnd=K.spans(n,e,i,o),o.openStart<0&&(o.openStart=o.openEnd),o.finish(o.openEnd),o}};function xr(s,t){for(let e of t)s=new pi(e,[s],s.length);return s}var mi=class extends Fi{constructor(t){super(),this.tag=t}eq(t){return t.tag==this.tag}toDOM(){return document.createElement(this.tag)}updateDOM(t){return t.nodeName.toLowerCase()==this.tag}get isHidden(){return!0}};mi.inline=new mi("span");mi.block=new mi("div");var mt=function(s){return s[s.LTR=0]="LTR",s[s.RTL=1]="RTL",s}(mt||(mt={})),Vi=mt.LTR,ca=mt.RTL;function iu(s){let t=[];for(let e=0;e<s.length;e++)t.push(1<<+s[e]);return t}var pm=iu("88888888888888888888888888888888888666888888787833333333337888888000000000000000000000000008888880000000000000000000000000088888888888888888888888888888888888887866668888088888663380888308888800000000000000000000000800000000000000000000000000000008"),gm=iu("4444448826627288999999999992222222222222222222222222222222222222222222222229999999999999999999994444444444644222822222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222999999949999999229989999223333333333"),Vl=Object.create(null),Me=[];for(let s of["()","[]","{}"]){let t=s.charCodeAt(0),e=s.charCodeAt(1);Vl[t]=e,Vl[e]=-t}function nu(s){return s<=247?pm[s]:1424<=s&&s<=1524?2:1536<=s&&s<=1785?gm[s-1536]:1774<=s&&s<=2220?4:8192<=s&&s<=8204?256:64336<=s&&s<=65023?4:1}var mm=/[\\u0590-\\u05f4\\u0600-\\u06ff\\u0700-\\u08ac\\ufb50-\\ufdff]/,Ae=class{get dir(){return this.level%2?ca:Vi}constructor(t,e,i){this.from=t,this.to=e,this.level=i}side(t,e){return this.dir==e==t?this.to:this.from}forward(t,e){return t==(this.dir==e)}static find(t,e,i,n){let r=-1;for(let o=0;o<t.length;o++){let l=t[o];if(l.from<=e&&l.to>=e){if(l.level==i)return o;(r<0||(n!=0?n<0?l.from<e:l.to>e:t[r].level>l.level))&&(r=o)}}if(r<0)throw new RangeError("Index out of range");return r}};function su(s,t){if(s.length!=t.length)return!1;for(let e=0;e<s.length;e++){let i=s[e],n=t[e];if(i.from!=n.from||i.to!=n.to||i.direction!=n.direction||!su(i.inner,n.inner))return!1}return!0}var Z=[];function bm(s,t,e,i,n){for(let r=0;r<=i.length;r++){let o=r?i[r-1].to:t,l=r<i.length?i[r].from:e,a=r?256:n;for(let h=o,f=a,c=a;h<l;h++){let u=nu(s.charCodeAt(h));u==512?u=f:u==8&&c==4&&(u=16),Z[h]=u==4?2:u,u&7&&(c=u),f=u}for(let h=o,f=a,c=a;h<l;h++){let u=Z[h];if(u==128)h<l-1&&f==Z[h+1]&&f&24?u=Z[h]=f:Z[h]=256;else if(u==64){let d=h+1;for(;d<l&&Z[d]==64;)d++;let p=h&&f==8||d<e&&Z[d]==8?c==1?1:8:256;for(let g=h;g<d;g++)Z[g]=p;h=d-1}else u==8&&c==1&&(Z[h]=1);f=u,u&7&&(c=u)}}}function wm(s,t,e,i,n){let r=n==1?2:1;for(let o=0,l=0,a=0;o<=i.length;o++){let h=o?i[o-1].to:t,f=o<i.length?i[o].from:e;for(let c=h,u,d,p;c<f;c++)if(d=Vl[u=s.charCodeAt(c)])if(d<0){for(let g=l-3;g>=0;g-=3)if(Me[g+1]==-d){let m=Me[g+2],b=m&2?n:m&4?m&1?r:n:0;b&&(Z[c]=Z[Me[g]]=b),l=g;break}}else{if(Me.length==189)break;Me[l++]=c,Me[l++]=u,Me[l++]=a}else if((p=Z[c])==2||p==1){let g=p==n;a=g?0:1;for(let m=l-3;m>=0;m-=3){let b=Me[m+2];if(b&2)break;if(g)Me[m+2]|=2;else{if(b&4)break;Me[m+2]|=4}}}}}function ym(s,t,e,i){for(let n=0,r=i;n<=e.length;n++){let o=n?e[n-1].to:s,l=n<e.length?e[n].from:t;for(let a=o;a<l;){let h=Z[a];if(h==256){let f=a+1;for(;;)if(f==l){if(n==e.length)break;f=e[n++].to,l=n<e.length?e[n].from:t}else if(Z[f]==256)f++;else break;let c=r==1,u=(f<t?Z[f]:i)==1,d=c==u?c?1:2:i;for(let p=f,g=n,m=g?e[g-1].to:s;p>a;)p==m&&(p=e[--g].from,m=g?e[g-1].to:s),Z[--p]=d;a=f}else r=h,a++}}}function zl(s,t,e,i,n,r,o){let l=i%2?2:1;if(i%2==n%2)for(let a=t,h=0;a<e;){let f=!0,c=!1;if(h==r.length||a<r[h].from){let g=Z[a];g!=l&&(f=!1,c=g==16)}let u=!f&&l==1?[]:null,d=f?i:i+1,p=a;t:for(;;)if(h<r.length&&p==r[h].from){if(c)break t;let g=r[h];if(!f)for(let m=g.to,b=h+1;;){if(m==e)break t;if(b<r.length&&r[b].from==m)m=r[b++].to;else{if(Z[m]==l)break t;break}}if(h++,u)u.push(g);else{g.from>a&&o.push(new Ae(a,g.from,d));let m=g.direction==Vi!=!(d%2);Wl(s,m?i+1:i,n,g.inner,g.from,g.to,o),a=g.to}p=g.to}else{if(p==e||(f?Z[p]!=l:Z[p]==l))break;p++}u?zl(s,a,p,i+1,n,u,o):a<p&&o.push(new Ae(a,p,d)),a=p}else for(let a=e,h=r.length;a>t;){let f=!0,c=!1;if(!h||a>r[h-1].to){let g=Z[a-1];g!=l&&(f=!1,c=g==16)}let u=!f&&l==1?[]:null,d=f?i:i+1,p=a;t:for(;;)if(h&&p==r[h-1].to){if(c)break t;let g=r[--h];if(!f)for(let m=g.from,b=h;;){if(m==t)break t;if(b&&r[b-1].to==m)m=r[--b].from;else{if(Z[m-1]==l)break t;break}}if(u)u.push(g);else{g.to<a&&o.push(new Ae(g.to,a,d));let m=g.direction==Vi!=!(d%2);Wl(s,m?i+1:i,n,g.inner,g.from,g.to,o),a=g.from}p=g.from}else{if(p==t||(f?Z[p-1]!=l:Z[p-1]==l))break;p--}u?zl(s,p,a,i+1,n,u,o):p<a&&o.push(new Ae(p,a,d)),a=p}}function Wl(s,t,e,i,n,r,o){let l=t%2?2:1;bm(s,n,r,i,l),wm(s,n,r,i,l),ym(n,r,i,l),zl(s,n,r,t,e,i,o)}function vm(s,t,e){if(!s)return[new Ae(0,0,t==ca?1:0)];if(t==Vi&&!e.length&&!mm.test(s))return ru(s.length);if(e.length)for(;s.length>Z.length;)Z[Z.length]=256;let i=[],n=t==Vi?0:1;return Wl(s,n,n,e,0,s.length,i),i}function ru(s){return[new Ae(0,s,0)]}var ou="";function km(s,t,e,i,n){var r;let o=i.head-s.from,l=Ae.find(t,o,(r=i.bidiLevel)!==null&&r!==void 0?r:-1,i.assoc),a=t[l],h=a.side(n,e);if(o==h){let u=l+=n?1:-1;if(u<0||u>=t.length)return null;a=t[l=u],o=a.side(!n,e),h=a.side(n,e)}let f=Ce(s.text,o,a.forward(n,e));(f<a.from||f>a.to)&&(f=h),ou=s.text.slice(Math.min(o,f),Math.max(o,f));let c=l==(n?t.length-1:0)?null:t[l+(n?1:-1)];return c&&f==h&&c.level+(n?0:1)<a.level?N.cursor(c.side(!n,e)+s.from,c.forward(n,e)?1:-1,c.level):N.cursor(f+s.from,a.forward(n,e)?-1:1,a.level)}function xm(s,t,e){for(let i=t;i<e;i++){let n=nu(s.charCodeAt(i));if(n==1)return Vi;if(n==2||n==4)return ca}return Vi}var lu=L.define(),au=L.define(),hu=L.define(),fu=L.define(),Gl=L.define(),cu=L.define(),uu=L.define(),ua=L.define(),da=L.define(),du=L.define({combine:s=>s.some(t=>t)}),Sm=L.define({combine:s=>s.some(t=>t)}),pu=L.define(),ls=class s{constructor(t,e="nearest",i="nearest",n=5,r=5,o=!1){this.range=t,this.y=e,this.x=i,this.yMargin=n,this.xMargin=r,this.isSnapshot=o}map(t){return t.empty?this:new s(this.range.map(t),this.y,this.x,this.yMargin,this.xMargin,this.isSnapshot)}clip(t){return this.range.to<=t.doc.length?this:new s(N.cursor(t.doc.length),this.y,this.x,this.yMargin,this.xMargin,this.isSnapshot)}},Sr=ot.define({map:(s,t)=>s.map(t)}),gu=ot.define();function ge(s,t,e){let i=s.facet(fu);i.length?i[0](t):window.onerror?window.onerror(String(t),e,void 0,void 0,t):e?console.error(e+":",t):console.error(t)}var Je=L.define({combine:s=>s.length?s[0]:!0}),Cm=0,es=L.define(),me=class s{constructor(t,e,i,n,r){this.id=t,this.create=e,this.domEventHandlers=i,this.domEventObservers=n,this.extension=r(this)}static define(t,e){let{eventHandlers:i,eventObservers:n,provide:r,decorations:o}=e||{};return new s(Cm++,t,i,n,l=>{let a=[es.of(l)];return o&&a.push(gs.of(h=>{let f=h.plugin(l);return f?o(f):J.none})),r&&a.push(r(l)),a})}static fromClass(t,e){return s.define(i=>new t(i),e)}},as=class{constructor(t){this.spec=t,this.mustUpdate=null,this.value=null}update(t){if(this.value){if(this.mustUpdate){let e=this.mustUpdate;if(this.mustUpdate=null,this.value.update)try{this.value.update(e)}catch(i){if(ge(e.state,i,"CodeMirror plugin crashed"),this.value.destroy)try{this.value.destroy()}catch(n){}this.deactivate()}}}else if(this.spec)try{this.value=this.spec.create(t)}catch(e){ge(t.state,e,"CodeMirror plugin crashed"),this.deactivate()}return this}destroy(t){var e;if(!((e=this.value)===null||e===void 0)&&e.destroy)try{this.value.destroy()}catch(i){ge(t.state,i,"CodeMirror plugin crashed")}}deactivate(){this.spec=this.value=null}},mu=L.define(),pa=L.define(),gs=L.define(),bu=L.define(),ga=L.define(),wu=L.define();function wc(s,t){let e=s.state.facet(wu);if(!e.length)return e;let i=e.map(r=>r instanceof Function?r(s):r),n=[];return K.spans(i,t.from,t.to,{point(){},span(r,o,l,a){let h=r-t.from,f=o-t.from,c=n;for(let u=l.length-1;u>=0;u--,a--){let d=l[u].spec.bidiIsolate,p;if(d==null&&(d=xm(t.text,h,f)),a>0&&c.length&&(p=c[c.length-1]).to==h&&p.direction==d)p.to=f,c=p.inner;else{let g={from:h,to:f,direction:d,inner:[]};c.push(g),c=g.inner}}}}),n}var yu=L.define();function vu(s){let t=0,e=0,i=0,n=0;for(let r of s.state.facet(yu)){let o=r(s);o&&(o.left!=null&&(t=Math.max(t,o.left)),o.right!=null&&(e=Math.max(e,o.right)),o.top!=null&&(i=Math.max(i,o.top)),o.bottom!=null&&(n=Math.max(n,o.bottom)))}return{left:t,right:e,top:i,bottom:n}}var is=L.define(),Oe=class s{constructor(t,e,i,n){this.fromA=t,this.toA=e,this.fromB=i,this.toB=n}join(t){return new s(Math.min(this.fromA,t.fromA),Math.max(this.toA,t.toA),Math.min(this.fromB,t.fromB),Math.max(this.toB,t.toB))}addToSet(t){let e=t.length,i=this;for(;e>0;e--){let n=t[e-1];if(!(n.fromA>i.toA)){if(n.toA<i.fromA)break;i=i.join(n),t.splice(e-1,1)}}return t.splice(e,0,i),t}static extendWithRanges(t,e){if(e.length==0)return t;let i=[];for(let n=0,r=0,o=0,l=0;;n++){let a=n==t.length?null:t[n],h=o-l,f=a?a.fromB:1e9;for(;r<e.length&&e[r]<f;){let c=e[r],u=e[r+1],d=Math.max(l,c),p=Math.min(f,u);if(d<=p&&new s(d+h,p+h,d,p).addToSet(i),u>f)break;r+=2}if(!a)return i;new s(a.fromA,a.toA,a.fromB,a.toB).addToSet(i),o=a.toA,l=a.toB}}},Hr=class s{constructor(t,e,i){this.view=t,this.state=e,this.transactions=i,this.flags=0,this.startState=t.state,this.changes=Yt.empty(this.startState.doc.length);for(let r of i)this.changes=this.changes.compose(r.changes);let n=[];this.changes.iterChangedRanges((r,o,l,a)=>n.push(new Oe(r,o,l,a))),this.changedRanges=n}static create(t,e,i){return new s(t,e,i)}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(t=>t.selection)}get empty(){return this.flags==0&&this.transactions.length==0}},Fr=class extends nt{get length(){return this.view.state.doc.length}constructor(t){super(),this.view=t,this.decorations=[],this.dynamicDecorationMap=[!1],this.domChanged=null,this.hasComposition=null,this.markedForComposition=new Set,this.editContextFormatting=J.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.setDOM(t.contentDOM),this.children=[new Ot],this.children[0].setParent(this),this.updateDeco(),this.updateInner([new Oe(0,0,0,t.state.doc.length)],0,null)}update(t){var e;let i=t.changedRanges;this.minWidth>0&&i.length&&(i.every(({fromA:h,toA:f})=>f<this.minWidthFrom||h>this.minWidthTo)?(this.minWidthFrom=t.changes.mapPos(this.minWidthFrom,1),this.minWidthTo=t.changes.mapPos(this.minWidthTo,1)):this.minWidth=this.minWidthFrom=this.minWidthTo=0),this.updateEditContextFormatting(t);let n=-1;this.view.inputState.composing>=0&&!this.view.observer.editContext&&(!((e=this.domChanged)===null||e===void 0)&&e.newSel?n=this.domChanged.newSel.head:!Dm(t.changes,this.hasComposition)&&!t.selectionSet&&(n=t.state.selection.main.head));let r=n>-1?Tm(this.view,t.changes,n):null;if(this.domChanged=null,this.hasComposition){this.markedForComposition.clear();let{from:h,to:f}=this.hasComposition;i=new Oe(h,f,t.changes.mapPos(h,-1),t.changes.mapPos(f,1)).addToSet(i.slice())}this.hasComposition=r?{from:r.range.fromB,to:r.range.toB}:null,(D.ie||D.chrome)&&!r&&t&&t.state.doc.lines!=t.startState.doc.lines&&(this.forceSelection=!0);let o=this.decorations,l=this.updateDeco(),a=_m(o,l,t.changes);return i=Oe.extendWithRanges(i,a),!(this.flags&7)&&i.length==0?!1:(this.updateInner(i,t.startState.doc.length,r),t.transactions.length&&(this.lastUpdate=Date.now()),!0)}updateInner(t,e,i){this.view.viewState.mustMeasureContent=!0,this.updateChildren(t,e,i);let{observer:n}=this.view;n.ignore(()=>{this.dom.style.height=this.view.viewState.contentHeight/this.view.scaleY+"px",this.dom.style.flexBasis=this.minWidth?this.minWidth+"px":"";let o=D.chrome||D.ios?{node:n.selectionRange.focusNode,written:!1}:void 0;this.sync(this.view,o),this.flags&=-8,o&&(o.written||n.selectionRange.focusNode!=o.node)&&(this.forceSelection=!0),this.dom.style.height=""}),this.markedForComposition.forEach(o=>o.flags&=-9);let r=[];if(this.view.viewport.from||this.view.viewport.to<this.view.state.doc.length)for(let o of this.children)o instanceof Ni&&o.widget instanceof ps&&r.push(o.dom);n.updateGaps(r)}updateChildren(t,e,i){let n=i?i.range.addToSet(t.slice()):t,r=this.childCursor(e);for(let o=n.length-1;;o--){let l=o>=0?n[o]:null;if(!l)break;let{fromA:a,toA:h,fromB:f,toB:c}=l,u,d,p,g;if(i&&i.range.fromB<c&&i.range.toB>f){let v=os.build(this.view.state.doc,f,i.range.fromB,this.decorations,this.dynamicDecorationMap),x=os.build(this.view.state.doc,i.range.toB,c,this.decorations,this.dynamicDecorationMap);d=v.breakAtStart,p=v.openStart,g=x.openEnd;let S=this.compositionView(i);x.breakAtStart?S.breakAfter=1:x.content.length&&S.merge(S.length,S.length,x.content[0],!1,x.openStart,0)&&(S.breakAfter=x.content[0].breakAfter,x.content.shift()),v.content.length&&S.merge(0,0,v.content[v.content.length-1],!0,0,v.openEnd)&&v.content.pop(),u=v.content.concat(S).concat(x.content)}else({content:u,breakAtStart:d,openStart:p,openEnd:g}=os.build(this.view.state.doc,f,c,this.decorations,this.dynamicDecorationMap));let{i:m,off:b}=r.findPos(h,1),{i:w,off:y}=r.findPos(a,-1);Kc(this,w,y,m,b,u,d,p,g)}i&&this.fixCompositionDOM(i)}updateEditContextFormatting(t){this.editContextFormatting=this.editContextFormatting.map(t.changes);for(let e of t.transactions)for(let i of e.effects)i.is(gu)&&(this.editContextFormatting=i.value)}compositionView(t){let e=new Ee(t.text.nodeValue);e.flags|=8;for(let{deco:n}of t.marks)e=new pi(n,[e],e.length);let i=new Ot;return i.append(e,0),i}fixCompositionDOM(t){let e=(r,o)=>{o.flags|=8|(o.children.some(a=>a.flags&7)?1:0),this.markedForComposition.add(o);let l=nt.get(r);l&&l!=o&&(l.dom=null),o.setDOM(r)},i=this.childPos(t.range.fromB,1),n=this.children[i.i];e(t.line,n);for(let r=t.marks.length-1;r>=-1;r--)i=n.childPos(i.off,1),n=n.children[i.i],e(r>=0?t.marks[r].node:t.text,n)}updateSelection(t=!1,e=!1){(t||!this.view.observer.selectionRange.focusNode)&&this.view.observer.readSelectionRange();let i=this.view.root.activeElement,n=i==this.dom,r=!n&&!(this.view.state.facet(Je)||this.dom.tabIndex>-1)&&Er(this.dom,this.view.observer.selectionRange)&&!(i&&this.dom.contains(i));if(!(n||e||r))return;let o=this.forceSelection;this.forceSelection=!1;let l=this.view.state.selection.main,a=this.moveToLine(this.domAtPos(l.anchor)),h=l.empty?a:this.moveToLine(this.domAtPos(l.head));if(D.gecko&&l.empty&&!this.hasComposition&&Mm(a)){let c=document.createTextNode("");this.view.observer.ignore(()=>a.node.insertBefore(c,a.node.childNodes[a.offset]||null)),a=h=new Ft(c,0),o=!0}let f=this.view.observer.selectionRange;(o||!f.focusNode||(!rs(a.node,a.offset,f.anchorNode,f.anchorOffset)||!rs(h.node,h.offset,f.focusNode,f.focusOffset))&&!this.suppressWidgetCursorChange(f,l))&&(this.view.observer.ignore(()=>{D.android&&D.chrome&&this.dom.contains(f.focusNode)&&Em(f.focusNode,this.dom)&&(this.dom.blur(),this.dom.focus({preventScroll:!0}));let c=fs(this.view.root);if(c)if(l.empty){if(D.gecko){let u=Am(a.node,a.offset);if(u&&u!=3){let d=(u==1?qc:$c)(a.node,a.offset);d&&(a=new Ft(d.node,d.offset))}}c.collapse(a.node,a.offset),l.bidiLevel!=null&&c.caretBidiLevel!==void 0&&(c.caretBidiLevel=l.bidiLevel)}else if(c.extend){c.collapse(a.node,a.offset);try{c.extend(h.node,h.offset)}catch(u){}}else{let u=document.createRange();l.anchor>l.head&&([a,h]=[h,a]),u.setEnd(h.node,h.offset),u.setStart(a.node,a.offset),c.removeAllRanges(),c.addRange(u)}r&&this.view.root.activeElement==this.dom&&(this.dom.blur(),i&&i.focus())}),this.view.observer.setSelectionRange(a,h)),this.impreciseAnchor=a.precise?null:new Ft(f.anchorNode,f.anchorOffset),this.impreciseHead=h.precise?null:new Ft(f.focusNode,f.focusOffset)}suppressWidgetCursorChange(t,e){return this.hasComposition&&e.empty&&rs(t.focusNode,t.focusOffset,t.anchorNode,t.anchorOffset)&&this.posFromDOM(t.focusNode,t.focusOffset)==e.head}enforceCursorAssoc(){if(this.hasComposition)return;let{view:t}=this,e=t.state.selection.main,i=fs(t.root),{anchorNode:n,anchorOffset:r}=t.observer.selectionRange;if(!i||!e.empty||!e.assoc||!i.modify)return;let o=Ot.find(this,e.head);if(!o)return;let l=o.posAtStart;if(e.head==l||e.head==l+o.length)return;let a=this.coordsAt(e.head,-1),h=this.coordsAt(e.head,1);if(!a||!h||a.bottom>h.top)return;let f=this.domAtPos(e.head+e.assoc);i.collapse(f.node,f.offset),i.modify("move",e.assoc<0?"forward":"backward","lineboundary"),t.observer.readSelectionRange();let c=t.observer.selectionRange;t.docView.posFromDOM(c.anchorNode,c.anchorOffset)!=e.from&&i.collapse(n,r)}moveToLine(t){let e=this.dom,i;if(t.node!=e)return t;for(let n=t.offset;!i&&n<e.childNodes.length;n++){let r=nt.get(e.childNodes[n]);r instanceof Ot&&(i=r.domAtPos(0))}for(let n=t.offset-1;!i&&n>=0;n--){let r=nt.get(e.childNodes[n]);r instanceof Ot&&(i=r.domAtPos(r.length))}return i?new Ft(i.node,i.offset,!0):t}nearest(t){for(let e=t;e;){let i=nt.get(e);if(i&&i.rootView==this)return i;e=e.parentNode}return null}posFromDOM(t,e){let i=this.nearest(t);if(!i)throw new RangeError("Trying to find position for a DOM position outside of the document");return i.localPosFromDOM(t,e)+i.posAtStart}domAtPos(t){let{i:e,off:i}=this.childCursor().findPos(t,-1);for(;e<this.children.length-1;){let n=this.children[e];if(i<n.length||n instanceof Ot)break;e++,i=0}return this.children[e].domAtPos(i)}coordsAt(t,e){let i=null,n=0;for(let r=this.length,o=this.children.length-1;o>=0;o--){let l=this.children[o],a=r-l.breakAfter,h=a-l.length;if(a<t)break;if(h<=t&&(h<t||l.covers(-1))&&(a>t||l.covers(1))&&(!i||l instanceof Ot&&!(i instanceof Ot&&e>=0)))i=l,n=h;else if(i&&h==t&&a==t&&l instanceof Ni&&Math.abs(e)<2){if(l.deco.startSide<0)break;o&&(i=null)}r=h}return i?i.coordsAt(t-n,e):null}coordsForChar(t){let{i:e,off:i}=this.childPos(t,1),n=this.children[e];if(!(n instanceof Ot))return null;for(;n.children.length;){let{i:l,off:a}=n.childPos(i,1);for(;;l++){if(l==n.children.length)return null;if((n=n.children[l]).length)break}i=a}if(!(n instanceof Ee))return null;let r=Ce(n.text,i);if(r==i)return null;let o=Hi(n.dom,i,r).getClientRects();for(let l=0;l<o.length;l++){let a=o[l];if(l==o.length-1||a.top<a.bottom&&a.left<a.right)return a}return null}measureVisibleLineHeights(t){let e=[],{from:i,to:n}=t,r=this.view.contentDOM.clientWidth,o=r>Math.max(this.view.scrollDOM.clientWidth,this.minWidth)+1,l=-1,a=this.view.textDirection==mt.LTR;for(let h=0,f=0;f<this.children.length;f++){let c=this.children[f],u=h+c.length;if(u>n)break;if(h>=i){let d=c.dom.getBoundingClientRect();if(e.push(d.height),o){let p=c.dom.lastChild,g=p?gn(p):[];if(g.length){let m=g[g.length-1],b=a?m.right-d.left:d.right-m.left;b>l&&(l=b,this.minWidth=r,this.minWidthFrom=h,this.minWidthTo=u)}}}h=u+c.breakAfter}return e}textDirectionAt(t){let{i:e}=this.childPos(t,1);return getComputedStyle(this.children[e].dom).direction=="rtl"?mt.RTL:mt.LTR}measureTextSize(){for(let r of this.children)if(r instanceof Ot){let o=r.measureTextSize();if(o)return o}let t=document.createElement("div"),e,i,n;return t.className="cm-line",t.style.width="99999px",t.style.position="absolute",t.textContent="abc def ghi jkl mno pqr stu",this.view.observer.ignore(()=>{this.dom.appendChild(t);let r=gn(t.firstChild)[0];e=t.getBoundingClientRect().height,i=r?r.width/27:7,n=r?r.height:e,t.remove()}),{lineHeight:e,charWidth:i,textHeight:n}}childCursor(t=this.length){let e=this.children.length;return e&&(t-=this.children[--e].length),new Br(this.children,t,e)}computeBlockGapDeco(){let t=[],e=this.view.viewState;for(let i=0,n=0;;n++){let r=n==e.viewports.length?null:e.viewports[n],o=r?r.from-1:this.length;if(o>i){let l=(e.lineBlockAt(o).bottom-e.lineBlockAt(i).top)/this.view.scaleY;t.push(J.replace({widget:new ps(l),block:!0,inclusive:!0,isBlockGap:!0}).range(i,o))}if(!r)break;i=r.to+1}return J.set(t)}updateDeco(){let t=1,e=this.view.state.facet(gs).map(r=>(this.dynamicDecorationMap[t++]=typeof r=="function")?r(this.view):r),i=!1,n=this.view.state.facet(bu).map((r,o)=>{let l=typeof r=="function";return l&&(i=!0),l?r(this.view):r});for(n.length&&(this.dynamicDecorationMap[t++]=i,e.push(K.join(n))),this.decorations=[this.editContextFormatting,...e,this.computeBlockGapDeco(),this.view.viewState.lineGapDeco];t<this.decorations.length;)this.dynamicDecorationMap[t++]=!1;return this.decorations}scrollIntoView(t){if(t.isSnapshot){let h=this.view.viewState.lineBlockAt(t.range.head);this.view.scrollDOM.scrollTop=h.top-t.yMargin,this.view.scrollDOM.scrollLeft=t.xMargin;return}for(let h of this.view.state.facet(pu))try{if(h(this.view,t.range,t))return!0}catch(f){ge(this.view.state,f,"scroll handler")}let{range:e}=t,i=this.coordsAt(e.head,e.empty?e.assoc:e.head>e.anchor?-1:1),n;if(!i)return;!e.empty&&(n=this.coordsAt(e.anchor,e.anchor>e.head?-1:1))&&(i={left:Math.min(i.left,n.left),top:Math.min(i.top,n.top),right:Math.max(i.right,n.right),bottom:Math.max(i.bottom,n.bottom)});let r=vu(this.view),o={left:i.left-r.left,top:i.top-r.top,right:i.right+r.right,bottom:i.bottom+r.bottom},{offsetWidth:l,offsetHeight:a}=this.view.scrollDOM;sm(this.view.scrollDOM,o,e.head<e.anchor?-1:1,t.x,t.y,Math.max(Math.min(t.xMargin,l),-l),Math.max(Math.min(t.yMargin,a),-a),this.view.textDirection==mt.LTR)}};function Mm(s){return s.node.nodeType==1&&s.node.firstChild&&(s.offset==0||s.node.childNodes[s.offset-1].contentEditable=="false")&&(s.offset==s.node.childNodes.length||s.node.childNodes[s.offset].contentEditable=="false")}function ku(s,t){let e=s.observer.selectionRange;if(!e.focusNode)return null;let i=qc(e.focusNode,e.focusOffset),n=$c(e.focusNode,e.focusOffset),r=i||n;if(n&&i&&n.node!=i.node){let l=nt.get(n.node);if(!l||l instanceof Ee&&l.text!=n.node.nodeValue)r=n;else if(s.docView.lastCompositionAfterCursor){let a=nt.get(i.node);!a||a instanceof Ee&&a.text!=i.node.nodeValue||(r=n)}}if(s.docView.lastCompositionAfterCursor=r!=i,!r)return null;let o=t-r.offset;return{from:o,to:o+r.node.nodeValue.length,node:r.node}}function Tm(s,t,e){let i=ku(s,e);if(!i)return null;let{node:n,from:r,to:o}=i,l=n.nodeValue;if(/[\\n\\r]/.test(l)||s.state.doc.sliceString(i.from,i.to)!=l)return null;let a=t.invertedDesc,h=new Oe(a.mapPos(r),a.mapPos(o),r,o),f=[];for(let c=n.parentNode;;c=c.parentNode){let u=nt.get(c);if(u instanceof pi)f.push({node:c,deco:u.mark});else{if(u instanceof Ot||c.nodeName=="DIV"&&c.parentNode==s.contentDOM)return{range:h,text:n,marks:f,line:c};if(c!=s.contentDOM)f.push({node:c,deco:new us({inclusive:!0,attributes:um(c),tagName:c.tagName.toLowerCase()})});else return null}}}function Am(s,t){return s.nodeType!=1?0:(t&&s.childNodes[t-1].contentEditable=="false"?1:0)|(t<s.childNodes.length&&s.childNodes[t].contentEditable=="false"?2:0)}var Om=class{constructor(){this.changes=[]}compareRange(t,e){Dr(t,e,this.changes)}comparePoint(t,e){Dr(t,e,this.changes)}boundChange(t){Dr(t,t,this.changes)}};function _m(s,t,e){let i=new Om;return K.compare(s,t,e,i),i.changes}function Em(s,t){for(let e=s;e&&e!=t;e=e.assignedSlot||e.parentNode)if(e.nodeType==1&&e.contentEditable=="false")return!0;return!1}function Dm(s,t){let e=!1;return t&&s.iterChangedRanges((i,n)=>{i<t.to&&n>t.from&&(e=!0)}),e}function Pm(s,t,e=1){let i=s.charCategorizer(t),n=s.doc.lineAt(t),r=t-n.from;if(n.length==0)return N.cursor(t);r==0?e=1:r==n.length&&(e=-1);let o=r,l=r;e<0?o=Ce(n.text,r,!1):l=Ce(n.text,r);let a=i(n.text.slice(o,l));for(;o>0;){let h=Ce(n.text,o,!1);if(i(n.text.slice(h,o))!=a)break;o=h}for(;l<n.length;){let h=Ce(n.text,l);if(i(n.text.slice(l,h))!=a)break;l=h}return N.range(o+n.from,l+n.from)}function Rm(s,t){return t.left>s?t.left-s:Math.max(0,s-t.right)}function Im(s,t){return t.top>s?t.top-s:Math.max(0,s-t.bottom)}function El(s,t){return s.top<t.bottom-1&&s.bottom>t.top+1}function yc(s,t){return t<s.top?{top:t,left:s.left,right:s.right,bottom:s.bottom}:s}function vc(s,t){return t>s.bottom?{top:s.top,left:s.left,right:s.right,bottom:t}:s}function Ul(s,t,e){let i,n,r,o,l=!1,a,h,f,c;for(let p=s.firstChild;p;p=p.nextSibling){let g=gn(p);for(let m=0;m<g.length;m++){let b=g[m];n&&El(n,b)&&(b=yc(vc(b,n.bottom),n.top));let w=Rm(t,b),y=Im(e,b);if(w==0&&y==0)return p.nodeType==3?kc(p,t,e):Ul(p,t,e);if(!i||o>y||o==y&&r>w){i=p,n=b,r=w,o=y;let v=y?e<b.top?-1:1:w?t<b.left?-1:1:0;l=!v||(v>0?m<g.length-1:m>0)}w==0?e>b.bottom&&(!f||f.bottom<b.bottom)?(a=p,f=b):e<b.top&&(!c||c.top>b.top)&&(h=p,c=b):f&&El(f,b)?f=vc(f,b.bottom):c&&El(c,b)&&(c=yc(c,b.top))}}if(f&&f.bottom>=e?(i=a,n=f):c&&c.top<=e&&(i=h,n=c),!i)return{node:s,offset:0};let u=Math.max(n.left,Math.min(n.right,t));if(i.nodeType==3)return kc(i,u,e);if(l&&i.contentEditable!="false")return Ul(i,u,e);let d=Array.prototype.indexOf.call(s.childNodes,i)+(t>=(n.left+n.right)/2?1:0);return{node:s,offset:d}}function kc(s,t,e){let i=s.nodeValue.length,n=-1,r=1e9,o=0;for(let l=0;l<i;l++){let a=Hi(s,l,l+1).getClientRects();for(let h=0;h<a.length;h++){let f=a[h];if(f.top==f.bottom)continue;o||(o=t-f.left);let c=(f.top>e?f.top-e:e-f.bottom)-1;if(f.left-1<=t&&f.right+1>=t&&c<r){let u=t>=(f.left+f.right)/2,d=u;if((D.chrome||D.gecko)&&Hi(s,l).getBoundingClientRect().left==f.right&&(d=!u),c<=0)return{node:s,offset:l+(d?1:0)};n=l+(d?1:0),r=c}}}return{node:s,offset:n>-1?n:o>0?s.nodeValue.length:0}}function xu(s,t,e,i=-1){var n,r;let o=s.contentDOM.getBoundingClientRect(),l=o.top+s.viewState.paddingTop,a,{docHeight:h}=s.viewState,{x:f,y:c}=t,u=c-l;if(u<0)return 0;if(u>h)return s.state.doc.length;for(let v=s.viewState.heightOracle.textHeight/2,x=!1;a=s.elementAtHeight(u),a.type!=Jt.Text;)for(;u=i>0?a.bottom+v:a.top-v,!(u>=0&&u<=h);){if(x)return e?null:0;x=!0,i=-i}c=l+u;let d=a.from;if(d<s.viewport.from)return s.viewport.from==0?0:e?null:xc(s,o,a,f,c);if(d>s.viewport.to)return s.viewport.to==s.state.doc.length?s.state.doc.length:e?null:xc(s,o,a,f,c);let p=s.dom.ownerDocument,g=s.root.elementFromPoint?s.root:p,m=g.elementFromPoint(f,c);m&&!s.contentDOM.contains(m)&&(m=null),m||(f=Math.max(o.left+1,Math.min(o.right-1,f)),m=g.elementFromPoint(f,c),m&&!s.contentDOM.contains(m)&&(m=null));let b,w=-1;if(m&&((n=s.docView.nearest(m))===null||n===void 0?void 0:n.isEditable)!=!1){if(p.caretPositionFromPoint){let v=p.caretPositionFromPoint(f,c);v&&({offsetNode:b,offset:w}=v)}else if(p.caretRangeFromPoint){let v=p.caretRangeFromPoint(f,c);v&&({startContainer:b,startOffset:w}=v,(!s.contentDOM.contains(b)||D.safari&&Bm(b,w,f)||D.chrome&&Nm(b,w,f))&&(b=void 0))}b&&(w=Math.min(_e(b),w))}if(!b||!s.docView.dom.contains(b)){let v=Ot.find(s.docView,d);if(!v)return u>a.top+a.height/2?a.to:a.from;({node:b,offset:w}=Ul(v.dom,f,c))}let y=s.docView.nearest(b);if(!y)return null;if(y.isWidget&&((r=y.dom)===null||r===void 0?void 0:r.nodeType)==1){let v=y.dom.getBoundingClientRect();return t.y<v.top||t.y<=v.bottom&&t.x<=(v.left+v.right)/2?y.posAtStart:y.posAtEnd}else return y.localPosFromDOM(b,w)+y.posAtStart}function xc(s,t,e,i,n){let r=Math.round((i-t.left)*s.defaultCharacterWidth);if(s.lineWrapping&&e.height>s.defaultLineHeight*1.5){let l=s.viewState.heightOracle.textHeight,a=Math.floor((n-e.top-(s.defaultLineHeight-l)*.5)/l);r+=a*s.viewState.heightOracle.lineLength}let o=s.state.sliceDoc(e.from,e.to);return e.from+oc(o,r,s.state.tabSize)}function Bm(s,t,e){let i;if(s.nodeType!=3||t!=(i=s.nodeValue.length))return!1;for(let n=s.nextSibling;n;n=n.nextSibling)if(n.nodeType!=1||n.nodeName!="BR")return!1;return Hi(s,i-1,i).getBoundingClientRect().left>e}function Nm(s,t,e){if(t!=0)return!1;for(let n=s;;){let r=n.parentNode;if(!r||r.nodeType!=1||r.firstChild!=n)return!1;if(r.classList.contains("cm-line"))break;n=r}let i=s.nodeType==1?s.getBoundingClientRect():Hi(s,0,Math.max(s.nodeValue.length,1)).getBoundingClientRect();return e-i.left>5}function Lm(s,t,e){let i=s.lineBlockAt(t);if(Array.isArray(i.type)){let n;for(let r of i.type){if(r.from>t)break;if(!(r.to<t)){if(r.from<t&&r.to>t)return r;(!n||r.type==Jt.Text&&(n.type!=r.type||(e<0?r.from<t:r.to>t)))&&(n=r)}}return n||i}return i}function Hm(s,t,e,i){let n=Lm(s,t.head,t.assoc||-1),r=!i||n.type!=Jt.Text||!(s.lineWrapping||n.widgetLineBreaks)?null:s.coordsAtPos(t.assoc<0&&t.head>n.from?t.head-1:t.head);if(r){let o=s.dom.getBoundingClientRect(),l=s.textDirectionAt(n.from),a=s.posAtCoords({x:e==(l==mt.LTR)?o.right-1:o.left+1,y:(r.top+r.bottom)/2});if(a!=null)return N.cursor(a,e?-1:1)}return N.cursor(e?n.to:n.from,e?-1:1)}function Sc(s,t,e,i){let n=s.state.doc.lineAt(t.head),r=s.bidiSpans(n),o=s.textDirectionAt(n.from);for(let l=t,a=null;;){let h=km(n,r,o,l,e),f=ou;if(!h){if(n.number==(e?s.state.doc.lines:1))return l;f=`\n`,n=s.state.doc.line(n.number+(e?1:-1)),r=s.bidiSpans(n),h=s.visualLineSide(n,!e)}if(a){if(!a(f))return l}else{if(!i)return h;a=i(f)}l=h}}function Fm(s,t,e){let i=s.state.charCategorizer(t),n=i(e);return r=>{let o=i(r);return n==Se.Space&&(n=o),n==o}}function Vm(s,t,e,i){let n=t.head,r=e?1:-1;if(n==(e?s.state.doc.length:0))return N.cursor(n,t.assoc);let o=t.goalColumn,l,a=s.contentDOM.getBoundingClientRect(),h=s.coordsAtPos(n,t.assoc||-1),f=s.documentTop;if(h)o==null&&(o=h.left-a.left),l=r<0?h.top:h.bottom;else{let d=s.viewState.lineBlockAt(n);o==null&&(o=Math.min(a.right-a.left,s.defaultCharacterWidth*(n-d.from))),l=(r<0?d.top:d.bottom)+f}let c=a.left+o,u=i!=null?i:s.viewState.heightOracle.textHeight>>1;for(let d=0;;d+=10){let p=l+(u+d)*r,g=xu(s,{x:c,y:p},!1,r);if(p<a.top||p>a.bottom||(r<0?g<n:g>n)){let m=s.docView.coordsForChar(g),b=!m||p<m.top?-1:1;return N.cursor(g,b,void 0,o)}}}function Pr(s,t,e){for(;;){let i=0;for(let n of s)n.between(t-1,t+1,(r,o,l)=>{if(t>r&&t<o){let a=i||e||(t-r<o-t?-1:1);t=a<0?r:o,i=a}});if(!i)return t}}function Dl(s,t,e){let i=Pr(s.state.facet(ga).map(n=>n(s)),e.from,t.head>e.from?-1:1);return i==e.from?e:N.cursor(i,i<e.from?1:-1)}var ns="\\uFFFF",jl=class{constructor(t,e){this.points=t,this.text="",this.lineSeparator=e.facet(ct.lineSeparator)}append(t){this.text+=t}lineBreak(){this.text+=ns}readRange(t,e){if(!t)return this;let i=t.parentNode;for(let n=t;;){this.findPointBefore(i,n);let r=this.text.length;this.readNode(n);let o=n.nextSibling;if(o==e)break;let l=nt.get(n),a=nt.get(o);(l&&a?l.breakAfter:(l?l.breakAfter:Ir(n))||Ir(o)&&(n.nodeName!="BR"||n.cmIgnore)&&this.text.length>r)&&this.lineBreak(),n=o}return this.findPointBefore(i,e),this}readTextNode(t){let e=t.nodeValue;for(let i of this.points)i.node==t&&(i.pos=this.text.length+Math.min(i.offset,e.length));for(let i=0,n=this.lineSeparator?null:/\\r\\n?|\\n/g;;){let r=-1,o=1,l;if(this.lineSeparator?(r=e.indexOf(this.lineSeparator,i),o=this.lineSeparator.length):(l=n.exec(e))&&(r=l.index,o=l[0].length),this.append(e.slice(i,r<0?e.length:r)),r<0)break;if(this.lineBreak(),o>1)for(let a of this.points)a.node==t&&a.pos>this.text.length&&(a.pos-=o-1);i=r+o}}readNode(t){if(t.cmIgnore)return;let e=nt.get(t),i=e&&e.overrideDOMText;if(i!=null){this.findPointInside(t,i.length);for(let n=i.iter();!n.next().done;)n.lineBreak?this.lineBreak():this.append(n.value)}else t.nodeType==3?this.readTextNode(t):t.nodeName=="BR"?t.nextSibling&&this.lineBreak():t.nodeType==1&&this.readRange(t.firstChild,null)}findPointBefore(t,e){for(let i of this.points)i.node==t&&t.childNodes[i.offset]==e&&(i.pos=this.text.length)}findPointInside(t,e){for(let i of this.points)(t.nodeType==3?i.node==t:t.contains(i.node))&&(i.pos=this.text.length+(zm(t,i.node,i.offset)?e:0))}};function zm(s,t,e){for(;;){if(!t||e<_e(t))return!1;if(t==s)return!0;e=Li(t)+1,t=t.parentNode}}var Vr=class{constructor(t,e){this.node=t,this.offset=e,this.pos=-1}},ql=class{constructor(t,e,i,n){this.typeOver=n,this.bounds=null,this.text="",this.domChanged=e>-1;let{impreciseHead:r,impreciseAnchor:o}=t.docView;if(t.state.readOnly&&e>-1)this.newSel=null;else if(e>-1&&(this.bounds=t.docView.domBoundsAround(e,i,0))){let l=r||o?[]:Um(t),a=new jl(l,t.state);a.readRange(this.bounds.startDOM,this.bounds.endDOM),this.text=a.text,this.newSel=jm(l,this.bounds.from)}else{let l=t.observer.selectionRange,a=r&&r.node==l.focusNode&&r.offset==l.focusOffset||!Rl(t.contentDOM,l.focusNode)?t.state.selection.main.head:t.docView.posFromDOM(l.focusNode,l.focusOffset),h=o&&o.node==l.anchorNode&&o.offset==l.anchorOffset||!Rl(t.contentDOM,l.anchorNode)?t.state.selection.main.anchor:t.docView.posFromDOM(l.anchorNode,l.anchorOffset),f=t.viewport;if((D.ios||D.chrome)&&t.state.selection.main.empty&&a!=h&&(f.from>0||f.to<t.state.doc.length)){let c=Math.min(a,h),u=Math.max(a,h),d=f.from-c,p=f.to-u;(d==0||d==1||c==0)&&(p==0||p==-1||u==t.state.doc.length)&&(a=0,h=t.state.doc.length)}this.newSel=N.single(h,a)}}};function Su(s,t){let e,{newSel:i}=t,n=s.state.selection.main,r=s.inputState.lastKeyTime>Date.now()-100?s.inputState.lastKeyCode:-1;if(t.bounds){let{from:o,to:l}=t.bounds,a=n.from,h=null;(r===8||D.android&&t.text.length<l-o)&&(a=n.to,h="end");let f=Gm(s.state.doc.sliceString(o,l,ns),t.text,a-o,h);f&&(D.chrome&&r==13&&f.toB==f.from+2&&t.text.slice(f.from,f.toB)==ns+ns&&f.toB--,e={from:o+f.from,to:o+f.toA,insert:$.of(t.text.slice(f.from,f.toB).split(ns))})}else i&&(!s.hasFocus&&s.state.facet(Je)||i.main.eq(n))&&(i=null);if(!e&&!i)return!1;if(!e&&t.typeOver&&!n.empty&&i&&i.main.empty?e={from:n.from,to:n.to,insert:s.state.doc.slice(n.from,n.to)}:(D.mac||D.android)&&e&&e.from==e.to&&e.from==n.head-1&&/^\\. ?$/.test(e.insert.toString())&&s.contentDOM.getAttribute("autocorrect")=="off"?(i&&e.insert.length==2&&(i=N.single(i.main.anchor-1,i.main.head-1)),e={from:e.from,to:e.to,insert:$.of([e.insert.toString().replace("."," ")])}):e&&e.from>=n.from&&e.to<=n.to&&(e.from!=n.from||e.to!=n.to)&&n.to-n.from-(e.to-e.from)<=4?e={from:n.from,to:n.to,insert:s.state.doc.slice(n.from,e.from).append(e.insert).append(s.state.doc.slice(e.to,n.to))}:D.chrome&&e&&e.from==e.to&&e.from==n.head&&e.insert.toString()==`\n `&&s.lineWrapping&&(i&&(i=N.single(i.main.anchor-1,i.main.head-1)),e={from:n.from,to:n.to,insert:$.of([" "])}),e)return ma(s,e,i,r);if(i&&!i.main.eq(n)){let o=!1,l="select";return s.inputState.lastSelectionTime>Date.now()-50&&(s.inputState.lastSelectionOrigin=="select"&&(o=!0),l=s.inputState.lastSelectionOrigin),s.dispatch({selection:i,scrollIntoView:o,userEvent:l}),!0}else return!1}function ma(s,t,e,i=-1){if(D.ios&&s.inputState.flushIOSKey(t))return!0;let n=s.state.selection.main;if(D.android&&(t.to==n.to&&(t.from==n.from||t.from==n.from-1&&s.state.sliceDoc(t.from,n.from)==" ")&&t.insert.length==1&&t.insert.lines==2&&pn(s.contentDOM,"Enter",13)||(t.from==n.from-1&&t.to==n.to&&t.insert.length==0||i==8&&t.insert.length<t.to-t.from&&t.to>n.head)&&pn(s.contentDOM,"Backspace",8)||t.from==n.from&&t.to==n.to+1&&t.insert.length==0&&pn(s.contentDOM,"Delete",46)))return!0;let r=t.insert.toString();s.inputState.composing>=0&&s.inputState.composing++;let o,l=()=>o||(o=Wm(s,t,e));return s.state.facet(cu).some(a=>a(s,t.from,t.to,r,l))||s.dispatch(l()),!0}function Wm(s,t,e){let i,n=s.state,r=n.selection.main;if(t.from>=r.from&&t.to<=r.to&&t.to-t.from>=(r.to-r.from)/3&&(!e||e.main.empty&&e.main.from==t.from+t.insert.length)&&s.inputState.composing<0){let l=r.from<t.from?n.sliceDoc(r.from,t.from):"",a=r.to>t.to?n.sliceDoc(t.to,r.to):"";i=n.replaceSelection(s.state.toText(l+t.insert.sliceString(0,void 0,s.state.lineBreak)+a))}else{let l=n.changes(t),a=e&&e.main.to<=l.newLength?e.main:void 0;if(n.selection.ranges.length>1&&s.inputState.composing>=0&&t.to<=r.to&&t.to>=r.to-10){let h=s.state.sliceDoc(t.from,t.to),f,c=e&&ku(s,e.main.head);if(c){let p=t.insert.length-(t.to-t.from);f={from:c.from,to:c.to-p}}else f=s.state.doc.lineAt(r.head);let u=r.to-t.to,d=r.to-r.from;i=n.changeByRange(p=>{if(p.from==r.from&&p.to==r.to)return{changes:l,range:a||p.map(l)};let g=p.to-u,m=g-h.length;if(p.to-p.from!=d||s.state.sliceDoc(m,g)!=h||p.to>=f.from&&p.from<=f.to)return{range:p};let b=n.changes({from:m,to:g,insert:t.insert}),w=p.to-r.to;return{changes:b,range:a?N.range(Math.max(0,a.anchor+w),Math.max(0,a.head+w)):p.map(b)}})}else i={changes:l,selection:a&&n.selection.replaceRange(a)}}let o="input.type";return(s.composing||s.inputState.compositionPendingChange&&s.inputState.compositionEndedAt>Date.now()-50)&&(s.inputState.compositionPendingChange=!1,o+=".compose",s.inputState.compositionFirstChange&&(o+=".start",s.inputState.compositionFirstChange=!1)),n.update(i,{userEvent:o,scrollIntoView:!0})}function Gm(s,t,e,i){let n=Math.min(s.length,t.length),r=0;for(;r<n&&s.charCodeAt(r)==t.charCodeAt(r);)r++;if(r==n&&s.length==t.length)return null;let o=s.length,l=t.length;for(;o>0&&l>0&&s.charCodeAt(o-1)==t.charCodeAt(l-1);)o--,l--;if(i=="end"){let a=Math.max(0,r-Math.min(o,l));e-=o+a-r}if(o<r&&s.length<t.length){let a=e<=r&&e>=o?r-e:0;r-=a,l=r+(l-o),o=r}else if(l<r){let a=e<=r&&e>=l?r-e:0;r-=a,o=r+(o-l),l=r}return{from:r,toA:o,toB:l}}function Um(s){let t=[];if(s.root.activeElement!=s.contentDOM)return t;let{anchorNode:e,anchorOffset:i,focusNode:n,focusOffset:r}=s.observer.selectionRange;return e&&(t.push(new Vr(e,i)),(n!=e||r!=i)&&t.push(new Vr(n,r))),t}function jm(s,t){if(s.length==0)return null;let e=s[0].pos,i=s.length==2?s[1].pos:e;return e>-1&&i>-1?N.single(e+t,i+t):null}var $l=class{setSelectionOrigin(t){this.lastSelectionOrigin=t,this.lastSelectionTime=Date.now()}constructor(t){this.view=t,this.lastKeyCode=0,this.lastKeyTime=0,this.lastTouchTime=0,this.lastFocusTime=0,this.lastScrollTop=0,this.lastScrollLeft=0,this.pendingIOSKey=void 0,this.tabFocusMode=-1,this.lastSelectionOrigin=null,this.lastSelectionTime=0,this.lastContextMenu=0,this.scrollHandlers=[],this.handlers=Object.create(null),this.composing=-1,this.compositionFirstChange=null,this.compositionEndedAt=0,this.compositionPendingKey=!1,this.compositionPendingChange=!1,this.mouseSelection=null,this.draggedContent=null,this.handleEvent=this.handleEvent.bind(this),this.notifiedFocused=t.hasFocus,D.safari&&t.contentDOM.addEventListener("input",()=>null),D.gecko&&o0(t.contentDOM.ownerDocument)}handleEvent(t){!Qm(this.view,t)||this.ignoreDuringComposition(t)||t.type=="keydown"&&this.keydown(t)||(this.view.updateState!=0?Promise.resolve().then(()=>this.runHandlers(t.type,t)):this.runHandlers(t.type,t))}runHandlers(t,e){let i=this.handlers[t];if(i){for(let n of i.observers)n(this.view,e);for(let n of i.handlers){if(e.defaultPrevented)break;if(n(this.view,e)){e.preventDefault();break}}}}ensureHandlers(t){let e=qm(t),i=this.handlers,n=this.view.contentDOM;for(let r in e)if(r!="scroll"){let o=!e[r].handlers.length,l=i[r];l&&o!=!l.handlers.length&&(n.removeEventListener(r,this.handleEvent),l=null),l||n.addEventListener(r,this.handleEvent,{passive:o})}for(let r in i)r!="scroll"&&!e[r]&&n.removeEventListener(r,this.handleEvent);this.handlers=e}keydown(t){if(this.lastKeyCode=t.keyCode,this.lastKeyTime=Date.now(),t.keyCode==9&&this.tabFocusMode>-1&&(!this.tabFocusMode||Date.now()<=this.tabFocusMode))return!0;if(this.tabFocusMode>0&&t.keyCode!=27&&Mu.indexOf(t.keyCode)<0&&(this.tabFocusMode=-1),D.android&&D.chrome&&!t.synthetic&&(t.keyCode==13||t.keyCode==8))return this.view.observer.delayAndroidKey(t.key,t.keyCode),!0;let e;return D.ios&&!t.synthetic&&!t.altKey&&!t.metaKey&&((e=Cu.find(i=>i.keyCode==t.keyCode))&&!t.ctrlKey||$m.indexOf(t.key)>-1&&t.ctrlKey&&!t.shiftKey)?(this.pendingIOSKey=e||t,setTimeout(()=>this.flushIOSKey(),250),!0):(t.keyCode!=229&&this.view.observer.forceFlush(),!1)}flushIOSKey(t){let e=this.pendingIOSKey;return!e||e.key=="Enter"&&t&&t.from<t.to&&/^\\S+$/.test(t.insert.toString())?!1:(this.pendingIOSKey=void 0,pn(this.view.contentDOM,e.key,e.keyCode,e instanceof KeyboardEvent?e:void 0))}ignoreDuringComposition(t){return/^key/.test(t.type)?this.composing>0?!0:D.safari&&!D.ios&&this.compositionPendingKey&&Date.now()-this.compositionEndedAt<100?(this.compositionPendingKey=!1,!0):!1:!1}startMouseSelection(t){this.mouseSelection&&this.mouseSelection.destroy(),this.mouseSelection=t}update(t){this.view.observer.update(t),this.mouseSelection&&this.mouseSelection.update(t),this.draggedContent&&t.docChanged&&(this.draggedContent=this.draggedContent.map(t.changes)),t.transactions.length&&(this.lastKeyCode=this.lastSelectionTime=0)}destroy(){this.mouseSelection&&this.mouseSelection.destroy()}};function Cc(s,t){return(e,i)=>{try{return t.call(s,i,e)}catch(n){ge(e.state,n)}}}function qm(s){let t=Object.create(null);function e(i){return t[i]||(t[i]={observers:[],handlers:[]})}for(let i of s){let n=i.spec;if(n&&n.domEventHandlers)for(let r in n.domEventHandlers){let o=n.domEventHandlers[r];o&&e(r).handlers.push(Cc(i.value,o))}if(n&&n.domEventObservers)for(let r in n.domEventObservers){let o=n.domEventObservers[r];o&&e(r).observers.push(Cc(i.value,o))}}for(let i in be)e(i).handlers.push(be[i]);for(let i in he)e(i).observers.push(he[i]);return t}var Cu=[{key:"Backspace",keyCode:8,inputType:"deleteContentBackward"},{key:"Enter",keyCode:13,inputType:"insertParagraph"},{key:"Enter",keyCode:13,inputType:"insertLineBreak"},{key:"Delete",keyCode:46,inputType:"deleteContentForward"}],$m="dthko",Mu=[16,17,18,20,91,92,224,225],Cr=6;function Mr(s){return Math.max(0,s)*.7+8}function Km(s,t){return Math.max(Math.abs(s.clientX-t.clientX),Math.abs(s.clientY-t.clientY))}var Kl=class{constructor(t,e,i,n){this.view=t,this.startEvent=e,this.style=i,this.mustSelect=n,this.scrollSpeed={x:0,y:0},this.scrolling=-1,this.lastEvent=e,this.scrollParents=rm(t.contentDOM),this.atoms=t.state.facet(ga).map(o=>o(t));let r=t.contentDOM.ownerDocument;r.addEventListener("mousemove",this.move=this.move.bind(this)),r.addEventListener("mouseup",this.up=this.up.bind(this)),this.extend=e.shiftKey,this.multiple=t.state.facet(ct.allowMultipleSelections)&&Ym(t,e),this.dragging=Jm(t,e)&&Ou(e)==1?null:!1}start(t){this.dragging===!1&&this.select(t)}move(t){if(t.buttons==0)return this.destroy();if(this.dragging||this.dragging==null&&Km(this.startEvent,t)<10)return;this.select(this.lastEvent=t);let e=0,i=0,n=0,r=0,o=this.view.win.innerWidth,l=this.view.win.innerHeight;this.scrollParents.x&&({left:n,right:o}=this.scrollParents.x.getBoundingClientRect()),this.scrollParents.y&&({top:r,bottom:l}=this.scrollParents.y.getBoundingClientRect());let a=vu(this.view);t.clientX-a.left<=n+Cr?e=-Mr(n-t.clientX):t.clientX+a.right>=o-Cr&&(e=Mr(t.clientX-o)),t.clientY-a.top<=r+Cr?i=-Mr(r-t.clientY):t.clientY+a.bottom>=l-Cr&&(i=Mr(t.clientY-l)),this.setScrollSpeed(e,i)}up(t){this.dragging==null&&this.select(this.lastEvent),this.dragging||t.preventDefault(),this.destroy()}destroy(){this.setScrollSpeed(0,0);let t=this.view.contentDOM.ownerDocument;t.removeEventListener("mousemove",this.move),t.removeEventListener("mouseup",this.up),this.view.inputState.mouseSelection=this.view.inputState.draggedContent=null}setScrollSpeed(t,e){this.scrollSpeed={x:t,y:e},t||e?this.scrolling<0&&(this.scrolling=setInterval(()=>this.scroll(),50)):this.scrolling>-1&&(clearInterval(this.scrolling),this.scrolling=-1)}scroll(){let{x:t,y:e}=this.scrollSpeed;t&&this.scrollParents.x&&(this.scrollParents.x.scrollLeft+=t,t=0),e&&this.scrollParents.y&&(this.scrollParents.y.scrollTop+=e,e=0),(t||e)&&this.view.win.scrollBy(t,e),this.dragging===!1&&this.select(this.lastEvent)}skipAtoms(t){let e=null;for(let i=0;i<t.ranges.length;i++){let n=t.ranges[i],r=null;if(n.empty){let o=Pr(this.atoms,n.from,0);o!=n.from&&(r=N.cursor(o,-1))}else{let o=Pr(this.atoms,n.from,-1),l=Pr(this.atoms,n.to,1);(o!=n.from||l!=n.to)&&(r=N.range(n.from==n.anchor?o:l,n.from==n.head?o:l))}r&&(e||(e=t.ranges.slice()),e[i]=r)}return e?N.create(e,t.mainIndex):t}select(t){let{view:e}=this,i=this.skipAtoms(this.style.get(t,this.extend,this.multiple));(this.mustSelect||!i.eq(e.state.selection,this.dragging===!1))&&this.view.dispatch({selection:i,userEvent:"select.pointer"}),this.mustSelect=!1}update(t){t.transactions.some(e=>e.isUserEvent("input.type"))?this.destroy():this.style.update(t)&&setTimeout(()=>this.select(this.lastEvent),20)}};function Ym(s,t){let e=s.state.facet(lu);return e.length?e[0](t):D.mac?t.metaKey:t.ctrlKey}function Xm(s,t){let e=s.state.facet(au);return e.length?e[0](t):D.mac?!t.altKey:!t.ctrlKey}function Jm(s,t){let{main:e}=s.state.selection;if(e.empty)return!1;let i=fs(s.root);if(!i||i.rangeCount==0)return!0;let n=i.getRangeAt(0).getClientRects();for(let r=0;r<n.length;r++){let o=n[r];if(o.left<=t.clientX&&o.right>=t.clientX&&o.top<=t.clientY&&o.bottom>=t.clientY)return!0}return!1}function Qm(s,t){if(!t.bubbles)return!0;if(t.defaultPrevented)return!1;for(let e=t.target,i;e!=s.contentDOM;e=e.parentNode)if(!e||e.nodeType==11||(i=nt.get(e))&&i.ignoreEvent(t))return!1;return!0}var be=Object.create(null),he=Object.create(null),Tu=D.ie&&D.ie_version<15||D.ios&&D.webkit_version<604;function Zm(s){let t=s.dom.parentNode;if(!t)return;let e=t.appendChild(document.createElement("textarea"));e.style.cssText="position: fixed; left: -10000px; top: 10px",e.focus(),setTimeout(()=>{s.focus(),e.remove(),Au(s,e.value)},50)}function qr(s,t,e){for(let i of s.facet(t))e=i(e,s);return e}function Au(s,t){t=qr(s.state,ua,t);let{state:e}=s,i,n=1,r=e.toText(t),o=r.lines==e.selection.ranges.length;if(Yl!=null&&e.selection.ranges.every(a=>a.empty)&&Yl==r.toString()){let a=-1;i=e.changeByRange(h=>{let f=e.doc.lineAt(h.from);if(f.from==a)return{range:h};a=f.from;let c=e.toText((o?r.line(n++).text:t)+e.lineBreak);return{changes:{from:f.from,insert:c},range:N.cursor(h.from+c.length)}})}else o?i=e.changeByRange(a=>{let h=r.line(n++);return{changes:{from:a.from,to:a.to,insert:h.text},range:N.cursor(a.from+h.length)}}):i=e.replaceSelection(r);s.dispatch(i,{userEvent:"input.paste",scrollIntoView:!0})}he.scroll=s=>{s.inputState.lastScrollTop=s.scrollDOM.scrollTop,s.inputState.lastScrollLeft=s.scrollDOM.scrollLeft};be.keydown=(s,t)=>(s.inputState.setSelectionOrigin("select"),t.keyCode==27&&s.inputState.tabFocusMode!=0&&(s.inputState.tabFocusMode=Date.now()+2e3),!1);he.touchstart=(s,t)=>{s.inputState.lastTouchTime=Date.now(),s.inputState.setSelectionOrigin("select.pointer")};he.touchmove=s=>{s.inputState.setSelectionOrigin("select.pointer")};be.mousedown=(s,t)=>{if(s.observer.flush(),s.inputState.lastTouchTime>Date.now()-2e3)return!1;let e=null;for(let i of s.state.facet(hu))if(e=i(s,t),e)break;if(!e&&t.button==0&&(e=i0(s,t)),e){let i=!s.hasFocus;s.inputState.startMouseSelection(new Kl(s,t,e,i)),i&&s.observer.ignore(()=>{Gc(s.contentDOM);let r=s.root.activeElement;r&&!r.contains(s.contentDOM)&&r.blur()});let n=s.inputState.mouseSelection;if(n)return n.start(t),n.dragging===!1}return!1};function Mc(s,t,e,i){if(i==1)return N.cursor(t,e);if(i==2)return Pm(s.state,t,e);{let n=Ot.find(s.docView,t),r=s.state.doc.lineAt(n?n.posAtEnd:t),o=n?n.posAtStart:r.from,l=n?n.posAtEnd:r.to;return l<s.state.doc.length&&l==r.to&&l++,N.range(o,l)}}var Tc=(s,t,e)=>t>=e.top&&t<=e.bottom&&s>=e.left&&s<=e.right;function t0(s,t,e,i){let n=Ot.find(s.docView,t);if(!n)return 1;let r=t-n.posAtStart;if(r==0)return 1;if(r==n.length)return-1;let o=n.coordsAt(r,-1);if(o&&Tc(e,i,o))return-1;let l=n.coordsAt(r,1);return l&&Tc(e,i,l)?1:o&&o.bottom>=i?-1:1}function Ac(s,t){let e=s.posAtCoords({x:t.clientX,y:t.clientY},!1);return{pos:e,bias:t0(s,e,t.clientX,t.clientY)}}var e0=D.ie&&D.ie_version<=11,Oc=null,_c=0,Ec=0;function Ou(s){if(!e0)return s.detail;let t=Oc,e=Ec;return Oc=s,Ec=Date.now(),_c=!t||e>Date.now()-400&&Math.abs(t.clientX-s.clientX)<2&&Math.abs(t.clientY-s.clientY)<2?(_c+1)%3:1}function i0(s,t){let e=Ac(s,t),i=Ou(t),n=s.state.selection;return{update(r){r.docChanged&&(e.pos=r.changes.mapPos(e.pos),n=n.map(r.changes))},get(r,o,l){let a=Ac(s,r),h,f=Mc(s,a.pos,a.bias,i);if(e.pos!=a.pos&&!o){let c=Mc(s,e.pos,e.bias,i),u=Math.min(c.from,f.from),d=Math.max(c.to,f.to);f=u<f.from?N.range(u,d):N.range(d,u)}return o?n.replaceRange(n.main.extend(f.from,f.to)):l&&i==1&&n.ranges.length>1&&(h=n0(n,a.pos))?h:l?n.addRange(f):N.create([f])}}}function n0(s,t){for(let e=0;e<s.ranges.length;e++){let{from:i,to:n}=s.ranges[e];if(i<=t&&n>=t)return N.create(s.ranges.slice(0,e).concat(s.ranges.slice(e+1)),s.mainIndex==e?0:s.mainIndex-(s.mainIndex>e?1:0))}return null}be.dragstart=(s,t)=>{let{selection:{main:e}}=s.state;if(t.target.draggable){let n=s.docView.nearest(t.target);if(n&&n.isWidget){let r=n.posAtStart,o=r+n.length;(r>=e.to||o<=e.from)&&(e=N.range(r,o))}}let{inputState:i}=s;return i.mouseSelection&&(i.mouseSelection.dragging=!0),i.draggedContent=e,t.dataTransfer&&(t.dataTransfer.setData("Text",qr(s.state,da,s.state.sliceDoc(e.from,e.to))),t.dataTransfer.effectAllowed="copyMove"),!1};be.dragend=s=>(s.inputState.draggedContent=null,!1);function Dc(s,t,e,i){if(e=qr(s.state,ua,e),!e)return;let n=s.posAtCoords({x:t.clientX,y:t.clientY},!1),{draggedContent:r}=s.inputState,o=i&&r&&Xm(s,t)?{from:r.from,to:r.to}:null,l={from:n,insert:e},a=s.state.changes(o?[o,l]:l);s.focus(),s.dispatch({changes:a,selection:{anchor:a.mapPos(n,-1),head:a.mapPos(n,1)},userEvent:o?"move.drop":"input.drop"}),s.inputState.draggedContent=null}be.drop=(s,t)=>{if(!t.dataTransfer)return!1;if(s.state.readOnly)return!0;let e=t.dataTransfer.files;if(e&&e.length){let i=Array(e.length),n=0,r=()=>{++n==e.length&&Dc(s,t,i.filter(o=>o!=null).join(s.state.lineBreak),!1)};for(let o=0;o<e.length;o++){let l=new FileReader;l.onerror=r,l.onload=()=>{/[\\x00-\\x08\\x0e-\\x1f]{2}/.test(l.result)||(i[o]=l.result),r()},l.readAsText(e[o])}return!0}else{let i=t.dataTransfer.getData("Text");if(i)return Dc(s,t,i,!0),!0}return!1};be.paste=(s,t)=>{if(s.state.readOnly)return!0;s.observer.flush();let e=Tu?null:t.clipboardData;return e?(Au(s,e.getData("text/plain")||e.getData("text/uri-list")),!0):(Zm(s),!1)};function s0(s,t){let e=s.dom.parentNode;if(!e)return;let i=e.appendChild(document.createElement("textarea"));i.style.cssText="position: fixed; left: -10000px; top: 10px",i.value=t,i.focus(),i.selectionEnd=t.length,i.selectionStart=0,setTimeout(()=>{i.remove(),s.focus()},50)}function r0(s){let t=[],e=[],i=!1;for(let n of s.selection.ranges)n.empty||(t.push(s.sliceDoc(n.from,n.to)),e.push(n));if(!t.length){let n=-1;for(let{from:r}of s.selection.ranges){let o=s.doc.lineAt(r);o.number>n&&(t.push(o.text),e.push({from:o.from,to:Math.min(s.doc.length,o.to+1)})),n=o.number}i=!0}return{text:qr(s,da,t.join(s.lineBreak)),ranges:e,linewise:i}}var Yl=null;be.copy=be.cut=(s,t)=>{let{text:e,ranges:i,linewise:n}=r0(s.state);if(!e&&!n)return!1;Yl=n?e:null,t.type=="cut"&&!s.state.readOnly&&s.dispatch({changes:i,scrollIntoView:!0,userEvent:"delete.cut"});let r=Tu?null:t.clipboardData;return r?(r.clearData(),r.setData("text/plain",e),!0):(s0(s,e),!1)};var _u=xt.define();function Eu(s,t){let e=[];for(let i of s.facet(uu)){let n=i(s,t);n&&e.push(n)}return e.length?s.update({effects:e,annotations:_u.of(!0)}):null}function Du(s){setTimeout(()=>{let t=s.hasFocus;if(t!=s.inputState.notifiedFocused){let e=Eu(s.state,t);e?s.dispatch(e):s.update([])}},10)}he.focus=s=>{s.inputState.lastFocusTime=Date.now(),!s.scrollDOM.scrollTop&&(s.inputState.lastScrollTop||s.inputState.lastScrollLeft)&&(s.scrollDOM.scrollTop=s.inputState.lastScrollTop,s.scrollDOM.scrollLeft=s.inputState.lastScrollLeft),Du(s)};he.blur=s=>{s.observer.clearSelectionRange(),Du(s)};he.compositionstart=he.compositionupdate=s=>{s.observer.editContext||(s.inputState.compositionFirstChange==null&&(s.inputState.compositionFirstChange=!0),s.inputState.composing<0&&(s.inputState.composing=0))};he.compositionend=s=>{s.observer.editContext||(s.inputState.composing=-1,s.inputState.compositionEndedAt=Date.now(),s.inputState.compositionPendingKey=!0,s.inputState.compositionPendingChange=s.observer.pendingRecords().length>0,s.inputState.compositionFirstChange=null,D.chrome&&D.android?s.observer.flushSoon():s.inputState.compositionPendingChange?Promise.resolve().then(()=>s.observer.flush()):setTimeout(()=>{s.inputState.composing<0&&s.docView.hasComposition&&s.update([])},50))};he.contextmenu=s=>{s.inputState.lastContextMenu=Date.now()};be.beforeinput=(s,t)=>{var e,i;if(t.inputType=="insertReplacementText"&&s.observer.editContext){let r=(e=t.dataTransfer)===null||e===void 0?void 0:e.getData("text/plain"),o=t.getTargetRanges();if(r&&o.length){let l=o[0],a=s.posAtDOM(l.startContainer,l.startOffset),h=s.posAtDOM(l.endContainer,l.endOffset);return ma(s,{from:a,to:h,insert:s.state.toText(r)},null),!0}}let n;if(D.chrome&&D.android&&(n=Cu.find(r=>r.inputType==t.inputType))&&(s.observer.delayAndroidKey(n.key,n.keyCode),n.key=="Backspace"||n.key=="Delete")){let r=((i=window.visualViewport)===null||i===void 0?void 0:i.height)||0;setTimeout(()=>{var o;(((o=window.visualViewport)===null||o===void 0?void 0:o.height)||0)>r+10&&s.hasFocus&&(s.contentDOM.blur(),s.focus())},100)}return D.ios&&t.inputType=="deleteContentForward"&&s.observer.flushSoon(),D.safari&&t.inputType=="insertText"&&s.inputState.composing>=0&&setTimeout(()=>he.compositionend(s,t),20),!1};var Pc=new Set;function o0(s){Pc.has(s)||(Pc.add(s),s.addEventListener("copy",()=>{}),s.addEventListener("cut",()=>{}))}var Rc=["pre-wrap","normal","pre-line","break-spaces"],mn=!1;function Ic(){mn=!1}var Xl=class{constructor(t){this.lineWrapping=t,this.doc=$.empty,this.heightSamples={},this.lineHeight=14,this.charWidth=7,this.textHeight=14,this.lineLength=30}heightForGap(t,e){let i=this.doc.lineAt(e).number-this.doc.lineAt(t).number+1;return this.lineWrapping&&(i+=Math.max(0,Math.ceil((e-t-i*this.lineLength*.5)/this.lineLength))),this.lineHeight*i}heightForLine(t){return this.lineWrapping?(1+Math.max(0,Math.ceil((t-this.lineLength)/(this.lineLength-5))))*this.lineHeight:this.lineHeight}setDoc(t){return this.doc=t,this}mustRefreshForWrapping(t){return Rc.indexOf(t)>-1!=this.lineWrapping}mustRefreshForHeights(t){let e=!1;for(let i=0;i<t.length;i++){let n=t[i];n<0?i++:this.heightSamples[Math.floor(n*10)]||(e=!0,this.heightSamples[Math.floor(n*10)]=!0)}return e}refresh(t,e,i,n,r,o){let l=Rc.indexOf(t)>-1,a=Math.round(e)!=Math.round(this.lineHeight)||this.lineWrapping!=l;if(this.lineWrapping=l,this.lineHeight=e,this.charWidth=i,this.textHeight=n,this.lineLength=r,a){this.heightSamples={};for(let h=0;h<o.length;h++){let f=o[h];f<0?h++:this.heightSamples[Math.floor(f*10)]=!0}}return a}},Jl=class{constructor(t,e){this.from=t,this.heights=e,this.index=0}get more(){return this.index<this.heights.length}},Te=class s{constructor(t,e,i,n,r){this.from=t,this.length=e,this.top=i,this.height=n,this._content=r}get type(){return typeof this._content=="number"?Jt.Text:Array.isArray(this._content)?this._content:this._content.type}get to(){return this.from+this.length}get bottom(){return this.top+this.height}get widget(){return this._content instanceof gi?this._content.widget:null}get widgetLineBreaks(){return typeof this._content=="number"?this._content:0}join(t){let e=(Array.isArray(this._content)?this._content:[this]).concat(Array.isArray(t._content)?t._content:[t]);return new s(this.from,this.length+t.length,this.top,this.height+t.height,e)}},lt=function(s){return s[s.ByPos=0]="ByPos",s[s.ByHeight=1]="ByHeight",s[s.ByPosNoHeight=2]="ByPosNoHeight",s}(lt||(lt={})),Rr=.001,Qt=class s{constructor(t,e,i=2){this.length=t,this.height=e,this.flags=i}get outdated(){return(this.flags&2)>0}set outdated(t){this.flags=(t?2:0)|this.flags&-3}setHeight(t){this.height!=t&&(Math.abs(this.height-t)>Rr&&(mn=!0),this.height=t)}replace(t,e,i){return s.of(i)}decomposeLeft(t,e){e.push(this)}decomposeRight(t,e){e.push(this)}applyChanges(t,e,i,n){let r=this,o=i.doc;for(let l=n.length-1;l>=0;l--){let{fromA:a,toA:h,fromB:f,toB:c}=n[l],u=r.lineAt(a,lt.ByPosNoHeight,i.setDoc(e),0,0),d=u.to>=h?u:r.lineAt(h,lt.ByPosNoHeight,i,0,0);for(c+=d.to-h,h=d.to;l>0&&u.from<=n[l-1].toA;)a=n[l-1].fromA,f=n[l-1].fromB,l--,a<u.from&&(u=r.lineAt(a,lt.ByPosNoHeight,i,0,0));f+=u.from-a,a=u.from;let p=Zl.build(i.setDoc(o),t,f,c);r=zr(r,r.replace(a,h,p))}return r.updateHeight(i,0)}static empty(){return new ae(0,0)}static of(t){if(t.length==1)return t[0];let e=0,i=t.length,n=0,r=0;for(;;)if(e==i)if(n>r*2){let l=t[e-1];l.break?t.splice(--e,1,l.left,null,l.right):t.splice(--e,1,l.left,l.right),i+=1+l.break,n-=l.size}else if(r>n*2){let l=t[i];l.break?t.splice(i,1,l.left,null,l.right):t.splice(i,1,l.left,l.right),i+=2+l.break,r-=l.size}else break;else if(n<r){let l=t[e++];l&&(n+=l.size)}else{let l=t[--i];l&&(r+=l.size)}let o=0;return t[e-1]==null?(o=1,e--):t[e]==null&&(o=1,i++),new Ql(s.of(t.slice(0,e)),o,s.of(t.slice(i)))}};function zr(s,t){return s==t?s:(s.constructor!=t.constructor&&(mn=!0),t)}Qt.prototype.size=1;var Wr=class extends Qt{constructor(t,e,i){super(t,e),this.deco=i}blockAt(t,e,i,n){return new Te(n,this.length,i,this.height,this.deco||0)}lineAt(t,e,i,n,r){return this.blockAt(0,i,n,r)}forEachLine(t,e,i,n,r,o){t<=r+this.length&&e>=r&&o(this.blockAt(0,i,n,r))}updateHeight(t,e=0,i=!1,n){return n&&n.from<=e&&n.more&&this.setHeight(n.heights[n.index++]),this.outdated=!1,this}toString(){return`block(${this.length})`}},ae=class s extends Wr{constructor(t,e){super(t,e,null),this.collapsed=0,this.widgetHeight=0,this.breaks=0}blockAt(t,e,i,n){return new Te(n,this.length,i,this.height,this.breaks)}replace(t,e,i){let n=i[0];return i.length==1&&(n instanceof s||n instanceof di&&n.flags&4)&&Math.abs(this.length-n.length)<10?(n instanceof di?n=new s(n.length,this.height):n.height=this.height,this.outdated||(n.outdated=!1),n):Qt.of(i)}updateHeight(t,e=0,i=!1,n){return n&&n.from<=e&&n.more?this.setHeight(n.heights[n.index++]):(i||this.outdated)&&this.setHeight(Math.max(this.widgetHeight,t.heightForLine(this.length-this.collapsed))+this.breaks*t.lineHeight),this.outdated=!1,this}toString(){return`line(${this.length}${this.collapsed?-this.collapsed:""}${this.widgetHeight?":"+this.widgetHeight:""})`}},di=class s extends Qt{constructor(t){super(t,0)}heightMetrics(t,e){let i=t.doc.lineAt(e).number,n=t.doc.lineAt(e+this.length).number,r=n-i+1,o,l=0;if(t.lineWrapping){let a=Math.min(this.height,t.lineHeight*r);o=a/r,this.length>r+1&&(l=(this.height-a)/(this.length-r-1))}else o=this.height/r;return{firstLine:i,lastLine:n,perLine:o,perChar:l}}blockAt(t,e,i,n){let{firstLine:r,lastLine:o,perLine:l,perChar:a}=this.heightMetrics(e,n);if(e.lineWrapping){let h=n+(t<e.lineHeight?0:Math.round(Math.max(0,Math.min(1,(t-i)/this.height))*this.length)),f=e.doc.lineAt(h),c=l+f.length*a,u=Math.max(i,t-c/2);return new Te(f.from,f.length,u,c,0)}else{let h=Math.max(0,Math.min(o-r,Math.floor((t-i)/l))),{from:f,length:c}=e.doc.line(r+h);return new Te(f,c,i+l*h,l,0)}}lineAt(t,e,i,n,r){if(e==lt.ByHeight)return this.blockAt(t,i,n,r);if(e==lt.ByPosNoHeight){let{from:d,to:p}=i.doc.lineAt(t);return new Te(d,p-d,0,0,0)}let{firstLine:o,perLine:l,perChar:a}=this.heightMetrics(i,r),h=i.doc.lineAt(t),f=l+h.length*a,c=h.number-o,u=n+l*c+a*(h.from-r-c);return new Te(h.from,h.length,Math.max(n,Math.min(u,n+this.height-f)),f,0)}forEachLine(t,e,i,n,r,o){t=Math.max(t,r),e=Math.min(e,r+this.length);let{firstLine:l,perLine:a,perChar:h}=this.heightMetrics(i,r);for(let f=t,c=n;f<=e;){let u=i.doc.lineAt(f);if(f==t){let p=u.number-l;c+=a*p+h*(t-r-p)}let d=a+h*u.length;o(new Te(u.from,u.length,c,d,0)),c+=d,f=u.to+1}}replace(t,e,i){let n=this.length-e;if(n>0){let r=i[i.length-1];r instanceof s?i[i.length-1]=new s(r.length+n):i.push(null,new s(n-1))}if(t>0){let r=i[0];r instanceof s?i[0]=new s(t+r.length):i.unshift(new s(t-1),null)}return Qt.of(i)}decomposeLeft(t,e){e.push(new s(t-1),null)}decomposeRight(t,e){e.push(null,new s(this.length-t-1))}updateHeight(t,e=0,i=!1,n){let r=e+this.length;if(n&&n.from<=e+this.length&&n.more){let o=[],l=Math.max(e,n.from),a=-1;for(n.from>e&&o.push(new s(n.from-e-1).updateHeight(t,e));l<=r&&n.more;){let f=t.doc.lineAt(l).length;o.length&&o.push(null);let c=n.heights[n.index++];a==-1?a=c:Math.abs(c-a)>=Rr&&(a=-2);let u=new ae(f,c);u.outdated=!1,o.push(u),l+=f+1}l<=r&&o.push(null,new s(r-l).updateHeight(t,l));let h=Qt.of(o);return(a<0||Math.abs(h.height-this.height)>=Rr||Math.abs(a-this.heightMetrics(t,e).perLine)>=Rr)&&(mn=!0),zr(this,h)}else(i||this.outdated)&&(this.setHeight(t.heightForGap(e,e+this.length)),this.outdated=!1);return this}toString(){return`gap(${this.length})`}},Ql=class extends Qt{constructor(t,e,i){super(t.length+e+i.length,t.height+i.height,e|(t.outdated||i.outdated?2:0)),this.left=t,this.right=i,this.size=t.size+i.size}get break(){return this.flags&1}blockAt(t,e,i,n){let r=i+this.left.height;return t<r?this.left.blockAt(t,e,i,n):this.right.blockAt(t,e,r,n+this.left.length+this.break)}lineAt(t,e,i,n,r){let o=n+this.left.height,l=r+this.left.length+this.break,a=e==lt.ByHeight?t<o:t<l,h=a?this.left.lineAt(t,e,i,n,r):this.right.lineAt(t,e,i,o,l);if(this.break||(a?h.to<l:h.from>l))return h;let f=e==lt.ByPosNoHeight?lt.ByPosNoHeight:lt.ByPos;return a?h.join(this.right.lineAt(l,f,i,o,l)):this.left.lineAt(l,f,i,n,r).join(h)}forEachLine(t,e,i,n,r,o){let l=n+this.left.height,a=r+this.left.length+this.break;if(this.break)t<a&&this.left.forEachLine(t,e,i,n,r,o),e>=a&&this.right.forEachLine(t,e,i,l,a,o);else{let h=this.lineAt(a,lt.ByPos,i,n,r);t<h.from&&this.left.forEachLine(t,h.from-1,i,n,r,o),h.to>=t&&h.from<=e&&o(h),e>h.to&&this.right.forEachLine(h.to+1,e,i,l,a,o)}}replace(t,e,i){let n=this.left.length+this.break;if(e<n)return this.balanced(this.left.replace(t,e,i),this.right);if(t>this.left.length)return this.balanced(this.left,this.right.replace(t-n,e-n,i));let r=[];t>0&&this.decomposeLeft(t,r);let o=r.length;for(let l of i)r.push(l);if(t>0&&Bc(r,o-1),e<this.length){let l=r.length;this.decomposeRight(e,r),Bc(r,l)}return Qt.of(r)}decomposeLeft(t,e){let i=this.left.length;if(t<=i)return this.left.decomposeLeft(t,e);e.push(this.left),this.break&&(i++,t>=i&&e.push(null)),t>i&&this.right.decomposeLeft(t-i,e)}decomposeRight(t,e){let i=this.left.length,n=i+this.break;if(t>=n)return this.right.decomposeRight(t-n,e);t<i&&this.left.decomposeRight(t,e),this.break&&t<n&&e.push(null),e.push(this.right)}balanced(t,e){return t.size>2*e.size||e.size>2*t.size?Qt.of(this.break?[t,null,e]:[t,e]):(this.left=zr(this.left,t),this.right=zr(this.right,e),this.setHeight(t.height+e.height),this.outdated=t.outdated||e.outdated,this.size=t.size+e.size,this.length=t.length+this.break+e.length,this)}updateHeight(t,e=0,i=!1,n){let{left:r,right:o}=this,l=e+r.length+this.break,a=null;return n&&n.from<=e+r.length&&n.more?a=r=r.updateHeight(t,e,i,n):r.updateHeight(t,e,i),n&&n.from<=l+o.length&&n.more?a=o=o.updateHeight(t,l,i,n):o.updateHeight(t,l,i),a?this.balanced(r,o):(this.height=this.left.height+this.right.height,this.outdated=!1,this)}toString(){return this.left+(this.break?" ":"-")+this.right}};function Bc(s,t){let e,i;s[t]==null&&(e=s[t-1])instanceof di&&(i=s[t+1])instanceof di&&s.splice(t-1,3,new di(e.length+1+i.length))}var l0=5,Zl=class s{constructor(t,e){this.pos=t,this.oracle=e,this.nodes=[],this.lineStart=-1,this.lineEnd=-1,this.covering=null,this.writtenTo=t}get isCovered(){return this.covering&&this.nodes[this.nodes.length-1]==this.covering}span(t,e){if(this.lineStart>-1){let i=Math.min(e,this.lineEnd),n=this.nodes[this.nodes.length-1];n instanceof ae?n.length+=i-this.pos:(i>this.pos||!this.isCovered)&&this.nodes.push(new ae(i-this.pos,-1)),this.writtenTo=i,e>i&&(this.nodes.push(null),this.writtenTo++,this.lineStart=-1)}this.pos=e}point(t,e,i){if(t<e||i.heightRelevant){let n=i.widget?i.widget.estimatedHeight:0,r=i.widget?i.widget.lineBreaks:0;n<0&&(n=this.oracle.lineHeight);let o=e-t;i.block?this.addBlock(new Wr(o,n,i)):(o||r||n>=l0)&&this.addLineDeco(n,r,o)}else e>t&&this.span(t,e);this.lineEnd>-1&&this.lineEnd<this.pos&&(this.lineEnd=this.oracle.doc.lineAt(this.pos).to)}enterLine(){if(this.lineStart>-1)return;let{from:t,to:e}=this.oracle.doc.lineAt(this.pos);this.lineStart=t,this.lineEnd=e,this.writtenTo<t&&((this.writtenTo<t-1||this.nodes[this.nodes.length-1]==null)&&this.nodes.push(this.blankContent(this.writtenTo,t-1)),this.nodes.push(null)),this.pos>t&&this.nodes.push(new ae(this.pos-t,-1)),this.writtenTo=this.pos}blankContent(t,e){let i=new di(e-t);return this.oracle.doc.lineAt(t).to==e&&(i.flags|=4),i}ensureLine(){this.enterLine();let t=this.nodes.length?this.nodes[this.nodes.length-1]:null;if(t instanceof ae)return t;let e=new ae(0,-1);return this.nodes.push(e),e}addBlock(t){this.enterLine();let e=t.deco;e&&e.startSide>0&&!this.isCovered&&this.ensureLine(),this.nodes.push(t),this.writtenTo=this.pos=this.pos+t.length,e&&e.endSide>0&&(this.covering=t)}addLineDeco(t,e,i){let n=this.ensureLine();n.length+=i,n.collapsed+=i,n.widgetHeight=Math.max(n.widgetHeight,t),n.breaks+=e,this.writtenTo=this.pos=this.pos+i}finish(t){let e=this.nodes.length==0?null:this.nodes[this.nodes.length-1];this.lineStart>-1&&!(e instanceof ae)&&!this.isCovered?this.nodes.push(new ae(0,-1)):(this.writtenTo<this.pos||e==null)&&this.nodes.push(this.blankContent(this.writtenTo,this.pos));let i=t;for(let n of this.nodes)n instanceof ae&&n.updateHeight(this.oracle,i),i+=n?n.length:1;return this.nodes}static build(t,e,i,n){let r=new s(i,t);return K.spans(e,i,n,r,0),r.finish(i)}};function a0(s,t,e){let i=new ta;return K.compare(s,t,e,i,0),i.changes}var ta=class{constructor(){this.changes=[]}compareRange(){}comparePoint(t,e,i,n){(t<e||i&&i.heightRelevant||n&&n.heightRelevant)&&Dr(t,e,this.changes,5)}};function h0(s,t){let e=s.getBoundingClientRect(),i=s.ownerDocument,n=i.defaultView||window,r=Math.max(0,e.left),o=Math.min(n.innerWidth,e.right),l=Math.max(0,e.top),a=Math.min(n.innerHeight,e.bottom);for(let h=s.parentNode;h&&h!=i.body;)if(h.nodeType==1){let f=h,c=window.getComputedStyle(f);if((f.scrollHeight>f.clientHeight||f.scrollWidth>f.clientWidth)&&c.overflow!="visible"){let u=f.getBoundingClientRect();r=Math.max(r,u.left),o=Math.min(o,u.right),l=Math.max(l,u.top),a=Math.min(h==s.parentNode?n.innerHeight:a,u.bottom)}h=c.position=="absolute"||c.position=="fixed"?f.offsetParent:f.parentNode}else if(h.nodeType==11)h=h.host;else break;return{left:r-e.left,right:Math.max(r,o)-e.left,top:l-(e.top+t),bottom:Math.max(l,a)-(e.top+t)}}function f0(s){let t=s.getBoundingClientRect(),e=s.ownerDocument.defaultView||window;return t.left<e.innerWidth&&t.right>0&&t.top<e.innerHeight&&t.bottom>0}function c0(s,t){let e=s.getBoundingClientRect();return{left:0,right:e.right-e.left,top:t,bottom:e.bottom-(e.top+t)}}var hs=class{constructor(t,e,i,n){this.from=t,this.to=e,this.size=i,this.displaySize=n}static same(t,e){if(t.length!=e.length)return!1;for(let i=0;i<t.length;i++){let n=t[i],r=e[i];if(n.from!=r.from||n.to!=r.to||n.size!=r.size)return!1}return!0}draw(t,e){return J.replace({widget:new ea(this.displaySize*(e?t.scaleY:t.scaleX),e)}).range(this.from,this.to)}},ea=class extends Fi{constructor(t,e){super(),this.size=t,this.vertical=e}eq(t){return t.size==this.size&&t.vertical==this.vertical}toDOM(){let t=document.createElement("div");return this.vertical?t.style.height=this.size+"px":(t.style.width=this.size+"px",t.style.height="2px",t.style.display="inline-block"),t}get estimatedHeight(){return this.vertical?this.size:-1}},Gr=class{constructor(t){this.state=t,this.pixelViewport={left:0,right:window.innerWidth,top:0,bottom:0},this.inView=!0,this.paddingTop=0,this.paddingBottom=0,this.contentDOMWidth=0,this.contentDOMHeight=0,this.editorHeight=0,this.editorWidth=0,this.scrollTop=0,this.scrolledToBottom=!1,this.scaleX=1,this.scaleY=1,this.scrollAnchorPos=0,this.scrollAnchorHeight=-1,this.scaler=Nc,this.scrollTarget=null,this.printing=!1,this.mustMeasureContent=!0,this.defaultTextDirection=mt.LTR,this.visibleRanges=[],this.mustEnforceCursorAssoc=!1;let e=t.facet(pa).some(i=>typeof i!="function"&&i.class=="cm-lineWrapping");this.heightOracle=new Xl(e),this.stateDeco=t.facet(gs).filter(i=>typeof i!="function"),this.heightMap=Qt.empty().applyChanges(this.stateDeco,$.empty,this.heightOracle.setDoc(t.doc),[new Oe(0,0,0,t.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=J.set(this.lineGaps.map(i=>i.draw(this,!1))),this.computeVisibleRanges()}updateForViewport(){let t=[this.viewport],{main:e}=this.state.selection;for(let i=0;i<=1;i++){let n=i?e.head:e.anchor;if(!t.some(({from:r,to:o})=>n>=r&&n<=o)){let{from:r,to:o}=this.lineBlockAt(n);t.push(new dn(r,o))}}return this.viewports=t.sort((i,n)=>i.from-n.from),this.updateScaler()}updateScaler(){let t=this.scaler;return this.scaler=this.heightMap.height<=7e6?Nc:new ia(this.heightOracle,this.heightMap,this.viewports),t.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,t=>{this.viewportLines.push(ss(t,this.scaler))})}update(t,e=null){this.state=t.state;let i=this.stateDeco;this.stateDeco=this.state.facet(gs).filter(f=>typeof f!="function");let n=t.changedRanges,r=Oe.extendWithRanges(n,a0(i,this.stateDeco,t?t.changes:Yt.empty(this.state.doc.length))),o=this.heightMap.height,l=this.scrolledToBottom?null:this.scrollAnchorAt(this.scrollTop);Ic(),this.heightMap=this.heightMap.applyChanges(this.stateDeco,t.startState.doc,this.heightOracle.setDoc(this.state.doc),r),(this.heightMap.height!=o||mn)&&(t.flags|=2),l?(this.scrollAnchorPos=t.changes.mapPos(l.from,-1),this.scrollAnchorHeight=l.top):(this.scrollAnchorPos=-1,this.scrollAnchorHeight=o);let a=r.length?this.mapViewport(this.viewport,t.changes):this.viewport;(e&&(e.range.head<a.from||e.range.head>a.to)||!this.viewportIsAppropriate(a))&&(a=this.getViewport(0,e));let h=a.from!=this.viewport.from||a.to!=this.viewport.to;this.viewport=a,t.flags|=this.updateForViewport(),(h||!t.changes.empty||t.flags&2)&&this.updateViewportLines(),(this.lineGaps.length||this.viewport.to-this.viewport.from>4e3)&&this.updateLineGaps(this.ensureLineGaps(this.mapLineGaps(this.lineGaps,t.changes))),t.flags|=this.computeVisibleRanges(t.changes),e&&(this.scrollTarget=e),!this.mustEnforceCursorAssoc&&t.selectionSet&&t.view.lineWrapping&&t.state.selection.main.empty&&t.state.selection.main.assoc&&!t.state.facet(Sm)&&(this.mustEnforceCursorAssoc=!0)}measure(t){let e=t.contentDOM,i=window.getComputedStyle(e),n=this.heightOracle,r=i.whiteSpace;this.defaultTextDirection=i.direction=="rtl"?mt.RTL:mt.LTR;let o=this.heightOracle.mustRefreshForWrapping(r),l=e.getBoundingClientRect(),a=o||this.mustMeasureContent||this.contentDOMHeight!=l.height;this.contentDOMHeight=l.height,this.mustMeasureContent=!1;let h=0,f=0;if(l.width&&l.height){let{scaleX:v,scaleY:x}=Wc(e,l);(v>.005&&Math.abs(this.scaleX-v)>.005||x>.005&&Math.abs(this.scaleY-x)>.005)&&(this.scaleX=v,this.scaleY=x,h|=16,o=a=!0)}let c=(parseInt(i.paddingTop)||0)*this.scaleY,u=(parseInt(i.paddingBottom)||0)*this.scaleY;(this.paddingTop!=c||this.paddingBottom!=u)&&(this.paddingTop=c,this.paddingBottom=u,h|=18),this.editorWidth!=t.scrollDOM.clientWidth&&(n.lineWrapping&&(a=!0),this.editorWidth=t.scrollDOM.clientWidth,h|=16);let d=t.scrollDOM.scrollTop*this.scaleY;this.scrollTop!=d&&(this.scrollAnchorHeight=-1,this.scrollTop=d),this.scrolledToBottom=jc(t.scrollDOM);let p=(this.printing?c0:h0)(e,this.paddingTop),g=p.top-this.pixelViewport.top,m=p.bottom-this.pixelViewport.bottom;this.pixelViewport=p;let b=this.pixelViewport.bottom>this.pixelViewport.top&&this.pixelViewport.right>this.pixelViewport.left;if(b!=this.inView&&(this.inView=b,b&&(a=!0)),!this.inView&&!this.scrollTarget&&!f0(t.dom))return 0;let w=l.width;if((this.contentDOMWidth!=w||this.editorHeight!=t.scrollDOM.clientHeight)&&(this.contentDOMWidth=l.width,this.editorHeight=t.scrollDOM.clientHeight,h|=16),a){let v=t.docView.measureVisibleLineHeights(this.viewport);if(n.mustRefreshForHeights(v)&&(o=!0),o||n.lineWrapping&&Math.abs(w-this.contentDOMWidth)>n.charWidth){let{lineHeight:x,charWidth:S,textHeight:k}=t.docView.measureTextSize();o=x>0&&n.refresh(r,x,S,k,w/S,v),o&&(t.docView.minWidth=0,h|=16)}g>0&&m>0?f=Math.max(g,m):g<0&&m<0&&(f=Math.min(g,m)),Ic();for(let x of this.viewports){let S=x.from==this.viewport.from?v:t.docView.measureVisibleLineHeights(x);this.heightMap=(o?Qt.empty().applyChanges(this.stateDeco,$.empty,this.heightOracle,[new Oe(0,0,0,t.state.doc.length)]):this.heightMap).updateHeight(n,0,o,new Jl(x.from,S))}mn&&(h|=2)}let y=!this.viewportIsAppropriate(this.viewport,f)||this.scrollTarget&&(this.scrollTarget.range.head<this.viewport.from||this.scrollTarget.range.head>this.viewport.to);return y&&(h&2&&(h|=this.updateScaler()),this.viewport=this.getViewport(f,this.scrollTarget),h|=this.updateForViewport()),(h&2||y)&&this.updateViewportLines(),(this.lineGaps.length||this.viewport.to-this.viewport.from>4e3)&&this.updateLineGaps(this.ensureLineGaps(o?[]:this.lineGaps,t)),h|=this.computeVisibleRanges(),this.mustEnforceCursorAssoc&&(this.mustEnforceCursorAssoc=!1,t.docView.enforceCursorAssoc()),h}get visibleTop(){return this.scaler.fromDOM(this.pixelViewport.top)}get visibleBottom(){return this.scaler.fromDOM(this.pixelViewport.bottom)}getViewport(t,e){let i=.5-Math.max(-.5,Math.min(.5,t/1e3/2)),n=this.heightMap,r=this.heightOracle,{visibleTop:o,visibleBottom:l}=this,a=new dn(n.lineAt(o-i*1e3,lt.ByHeight,r,0,0).from,n.lineAt(l+(1-i)*1e3,lt.ByHeight,r,0,0).to);if(e){let{head:h}=e.range;if(h<a.from||h>a.to){let f=Math.min(this.editorHeight,this.pixelViewport.bottom-this.pixelViewport.top),c=n.lineAt(h,lt.ByPos,r,0,0),u;e.y=="center"?u=(c.top+c.bottom)/2-f/2:e.y=="start"||e.y=="nearest"&&h<a.from?u=c.top:u=c.bottom-f,a=new dn(n.lineAt(u-1e3/2,lt.ByHeight,r,0,0).from,n.lineAt(u+f+1e3/2,lt.ByHeight,r,0,0).to)}}return a}mapViewport(t,e){let i=e.mapPos(t.from,-1),n=e.mapPos(t.to,1);return new dn(this.heightMap.lineAt(i,lt.ByPos,this.heightOracle,0,0).from,this.heightMap.lineAt(n,lt.ByPos,this.heightOracle,0,0).to)}viewportIsAppropriate({from:t,to:e},i=0){if(!this.inView)return!0;let{top:n}=this.heightMap.lineAt(t,lt.ByPos,this.heightOracle,0,0),{bottom:r}=this.heightMap.lineAt(e,lt.ByPos,this.heightOracle,0,0),{visibleTop:o,visibleBottom:l}=this;return(t==0||n<=o-Math.max(10,Math.min(-i,250)))&&(e==this.state.doc.length||r>=l+Math.max(10,Math.min(i,250)))&&n>o-2*1e3&&r<l+2*1e3}mapLineGaps(t,e){if(!t.length||e.empty)return t;let i=[];for(let n of t)e.touchesRange(n.from,n.to)||i.push(new hs(e.mapPos(n.from),e.mapPos(n.to),n.size,n.displaySize));return i}ensureLineGaps(t,e){let i=this.heightOracle.lineWrapping,n=i?1e4:2e3,r=n>>1,o=n<<1;if(this.defaultTextDirection!=mt.LTR&&!i)return[];let l=[],a=(f,c,u,d)=>{if(c-f<r)return;let p=this.state.selection.main,g=[p.from];p.empty||g.push(p.to);for(let b of g)if(b>f&&b<c){a(f,b-10,u,d),a(b+10,c,u,d);return}let m=d0(t,b=>b.from>=u.from&&b.to<=u.to&&Math.abs(b.from-f)<r&&Math.abs(b.to-c)<r&&!g.some(w=>b.from<w&&b.to>w));if(!m){if(c<u.to&&e&&i&&e.visibleRanges.some(y=>y.from<=c&&y.to>=c)){let y=e.moveToLineBoundary(N.cursor(c),!1,!0).head;y>f&&(c=y)}let b=this.gapSize(u,f,c,d),w=i||b<2e6?b:2e6;m=new hs(f,c,b,w)}l.push(m)},h=f=>{if(f.length<o||f.type!=Jt.Text)return;let c=u0(f.from,f.to,this.stateDeco);if(c.total<o)return;let u=this.scrollTarget?this.scrollTarget.range.head:null,d,p;if(i){let g=n/this.heightOracle.lineLength*this.heightOracle.lineHeight,m,b;if(u!=null){let w=Ar(c,u),y=((this.visibleBottom-this.visibleTop)/2+g)/f.height;m=w-y,b=w+y}else m=(this.visibleTop-f.top-g)/f.height,b=(this.visibleBottom-f.top+g)/f.height;d=Tr(c,m),p=Tr(c,b)}else{let g=c.total*this.heightOracle.charWidth,m=n*this.heightOracle.charWidth,b=0;if(g>2e6)for(let S of t)S.from>=f.from&&S.from<f.to&&S.size!=S.displaySize&&S.from*this.heightOracle.charWidth+b<this.pixelViewport.left&&(b=S.size-S.displaySize);let w=this.pixelViewport.left+b,y=this.pixelViewport.right+b,v,x;if(u!=null){let S=Ar(c,u),k=((y-w)/2+m)/g;v=S-k,x=S+k}else v=(w-m)/g,x=(y+m)/g;d=Tr(c,v),p=Tr(c,x)}d>f.from&&a(f.from,d,f,c),p<f.to&&a(p,f.to,f,c)};for(let f of this.viewportLines)Array.isArray(f.type)?f.type.forEach(h):h(f);return l}gapSize(t,e,i,n){let r=Ar(n,i)-Ar(n,e);return this.heightOracle.lineWrapping?t.height*r:n.total*this.heightOracle.charWidth*r}updateLineGaps(t){hs.same(t,this.lineGaps)||(this.lineGaps=t,this.lineGapDeco=J.set(t.map(e=>e.draw(this,this.heightOracle.lineWrapping))))}computeVisibleRanges(t){let e=this.stateDeco;this.lineGaps.length&&(e=e.concat(this.lineGapDeco));let i=[];K.spans(e,this.viewport.from,this.viewport.to,{span(r,o){i.push({from:r,to:o})},point(){}},20);let n=0;if(i.length!=this.visibleRanges.length)n=12;else for(let r=0;r<i.length&&!(n&8);r++){let o=this.visibleRanges[r],l=i[r];(o.from!=l.from||o.to!=l.to)&&(n|=4,t&&t.mapPos(o.from,-1)==l.from&&t.mapPos(o.to,1)==l.to||(n|=8))}return this.visibleRanges=i,n}lineBlockAt(t){return t>=this.viewport.from&&t<=this.viewport.to&&this.viewportLines.find(e=>e.from<=t&&e.to>=t)||ss(this.heightMap.lineAt(t,lt.ByPos,this.heightOracle,0,0),this.scaler)}lineBlockAtHeight(t){return t>=this.viewportLines[0].top&&t<=this.viewportLines[this.viewportLines.length-1].bottom&&this.viewportLines.find(e=>e.top<=t&&e.bottom>=t)||ss(this.heightMap.lineAt(this.scaler.fromDOM(t),lt.ByHeight,this.heightOracle,0,0),this.scaler)}scrollAnchorAt(t){let e=this.lineBlockAtHeight(t+8);return e.from>=this.viewport.from||this.viewportLines[0].top-t>200?e:this.viewportLines[0]}elementAtHeight(t){return ss(this.heightMap.blockAt(this.scaler.fromDOM(t),this.heightOracle,0,0),this.scaler)}get docHeight(){return this.scaler.toDOM(this.heightMap.height)}get contentHeight(){return this.docHeight+this.paddingTop+this.paddingBottom}},dn=class{constructor(t,e){this.from=t,this.to=e}};function u0(s,t,e){let i=[],n=s,r=0;return K.spans(e,s,t,{span(){},point(o,l){o>n&&(i.push({from:n,to:o}),r+=o-n),n=l}},20),n<t&&(i.push({from:n,to:t}),r+=t-n),{total:r,ranges:i}}function Tr({total:s,ranges:t},e){if(e<=0)return t[0].from;if(e>=1)return t[t.length-1].to;let i=Math.floor(s*e);for(let n=0;;n++){let{from:r,to:o}=t[n],l=o-r;if(i<=l)return r+i;i-=l}}function Ar(s,t){let e=0;for(let{from:i,to:n}of s.ranges){if(t<=n){e+=t-i;break}e+=n-i}return e/s.total}function d0(s,t){for(let e of s)if(t(e))return e}var Nc={toDOM(s){return s},fromDOM(s){return s},scale:1,eq(s){return s==this}},ia=class s{constructor(t,e,i){let n=0,r=0,o=0;this.viewports=i.map(({from:l,to:a})=>{let h=e.lineAt(l,lt.ByPos,t,0,0).top,f=e.lineAt(a,lt.ByPos,t,0,0).bottom;return n+=f-h,{from:l,to:a,top:h,bottom:f,domTop:0,domBottom:0}}),this.scale=(7e6-n)/(e.height-n);for(let l of this.viewports)l.domTop=o+(l.top-r)*this.scale,o=l.domBottom=l.domTop+(l.bottom-l.top),r=l.bottom}toDOM(t){for(let e=0,i=0,n=0;;e++){let r=e<this.viewports.length?this.viewports[e]:null;if(!r||t<r.top)return n+(t-i)*this.scale;if(t<=r.bottom)return r.domTop+(t-r.top);i=r.bottom,n=r.domBottom}}fromDOM(t){for(let e=0,i=0,n=0;;e++){let r=e<this.viewports.length?this.viewports[e]:null;if(!r||t<r.domTop)return i+(t-n)/this.scale;if(t<=r.domBottom)return r.top+(t-r.domTop);i=r.bottom,n=r.domBottom}}eq(t){return t instanceof s?this.scale==t.scale&&this.viewports.length==t.viewports.length&&this.viewports.every((e,i)=>e.from==t.viewports[i].from&&e.to==t.viewports[i].to):!1}};function ss(s,t){if(t.scale==1)return s;let e=t.toDOM(s.top),i=t.toDOM(s.bottom);return new Te(s.from,s.length,e,i-e,Array.isArray(s._content)?s._content.map(n=>ss(n,t)):s._content)}var Or=L.define({combine:s=>s.join(" ")}),na=L.define({combine:s=>s.indexOf(!0)>-1}),sa=le.newName(),Pu=le.newName(),Ru=le.newName(),Iu={"&light":"."+Pu,"&dark":"."+Ru};function ra(s,t,e){return new le(t,{finish(i){return/&/.test(i)?i.replace(/&\\w*/,n=>{if(n=="&")return s;if(!e||!e[n])throw new RangeError(`Unsupported selector: ${n}`);return e[n]}):s+" "+i}})}var p0=ra("."+sa,{"&":{position:"relative !important",boxSizing:"border-box","&.cm-focused":{outline:"1px dotted #212121"},display:"flex !important",flexDirection:"column"},".cm-scroller":{display:"flex !important",alignItems:"flex-start !important",fontFamily:"monospace",lineHeight:1.4,height:"100%",overflowX:"auto",position:"relative",zIndex:0,overflowAnchor:"none"},".cm-content":{margin:0,flexGrow:2,flexShrink:0,display:"block",whiteSpace:"pre",wordWrap:"normal",boxSizing:"border-box",minHeight:"100%",padding:"4px 0",outline:"none","&[contenteditable=true]":{WebkitUserModify:"read-write-plaintext-only"}},".cm-lineWrapping":{whiteSpace_fallback:"pre-wrap",whiteSpace:"break-spaces",wordBreak:"break-word",overflowWrap:"anywhere",flexShrink:1},"&light .cm-content":{caretColor:"black"},"&dark .cm-content":{caretColor:"white"},".cm-line":{display:"block",padding:"0 2px 0 6px"},".cm-layer":{position:"absolute",left:0,top:0,contain:"size style","& > *":{position:"absolute"}},"&light .cm-selectionBackground":{background:"#d9d9d9"},"&dark .cm-selectionBackground":{background:"#222"},"&light.cm-focused > .cm-scroller > .cm-selectionLayer .cm-selectionBackground":{background:"#d7d4f0"},"&dark.cm-focused > .cm-scroller > .cm-selectionLayer .cm-selectionBackground":{background:"#233"},".cm-cursorLayer":{pointerEvents:"none"},"&.cm-focused > .cm-scroller > .cm-cursorLayer":{animation:"steps(1) cm-blink 1.2s infinite"},"@keyframes cm-blink":{"0%":{},"50%":{opacity:0},"100%":{}},"@keyframes cm-blink2":{"0%":{},"50%":{opacity:0},"100%":{}},".cm-cursor, .cm-dropCursor":{borderLeft:"1.2px solid black",marginLeft:"-0.6px",pointerEvents:"none"},".cm-cursor":{display:"none"},"&dark .cm-cursor":{borderLeftColor:"#ddd"},".cm-dropCursor":{position:"absolute"},"&.cm-focused > .cm-scroller > .cm-cursorLayer .cm-cursor":{display:"block"},".cm-iso":{unicodeBidi:"isolate"},".cm-announced":{position:"fixed",top:"-10000px"},"@media print":{".cm-announced":{display:"none"}},"&light .cm-activeLine":{backgroundColor:"#cceeff44"},"&dark .cm-activeLine":{backgroundColor:"#99eeff33"},"&light .cm-specialChar":{color:"red"},"&dark .cm-specialChar":{color:"#f78"},".cm-gutters":{flexShrink:0,display:"flex",height:"100%",boxSizing:"border-box",insetInlineStart:0,zIndex:200},"&light .cm-gutters":{backgroundColor:"#f5f5f5",color:"#6c6c6c",borderRight:"1px solid #ddd"},"&dark .cm-gutters":{backgroundColor:"#333338",color:"#ccc"},".cm-gutter":{display:"flex !important",flexDirection:"column",flexShrink:0,boxSizing:"border-box",minHeight:"100%",overflow:"hidden"},".cm-gutterElement":{boxSizing:"border-box"},".cm-lineNumbers .cm-gutterElement":{padding:"0 3px 0 5px",minWidth:"20px",textAlign:"right",whiteSpace:"nowrap"},"&light .cm-activeLineGutter":{backgroundColor:"#e2f2ff"},"&dark .cm-activeLineGutter":{backgroundColor:"#222227"},".cm-panels":{boxSizing:"border-box",position:"sticky",left:0,right:0,zIndex:300},"&light .cm-panels":{backgroundColor:"#f5f5f5",color:"black"},"&light .cm-panels-top":{borderBottom:"1px solid #ddd"},"&light .cm-panels-bottom":{borderTop:"1px solid #ddd"},"&dark .cm-panels":{backgroundColor:"#333338",color:"white"},".cm-tab":{display:"inline-block",overflow:"hidden",verticalAlign:"bottom"},".cm-widgetBuffer":{verticalAlign:"text-top",height:"1em",width:0,display:"inline"},".cm-placeholder":{color:"#888",display:"inline-block",verticalAlign:"top",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,<svg xmlns="http://www.w3.org/2000/svg" width="200" height="20"><path stroke="%23888" stroke-width="1" fill="none" d="M1 10H196L190 5M190 15L196 10M197 4L197 16"/></svg>\')`,backgroundSize:"auto 100%",backgroundPosition:"right 90%",backgroundRepeat:"no-repeat"},".cm-trailingSpace":{backgroundColor:"#ff332255"},".cm-button":{verticalAlign:"middle",color:"inherit",fontSize:"70%",padding:".2em 1em",borderRadius:"1px"},"&light .cm-button":{backgroundImage:"linear-gradient(#eff1f5, #d9d9df)",border:"1px solid #888","&:active":{backgroundImage:"linear-gradient(#b4b4b4, #d0d3d6)"}},"&dark .cm-button":{backgroundImage:"linear-gradient(#393939, #111)",border:"1px solid #888","&:active":{backgroundImage:"linear-gradient(#111, #333)"}},".cm-textfield":{verticalAlign:"middle",color:"inherit",fontSize:"70%",border:"1px solid silver",padding:".2em .5em"},"&light .cm-textfield":{backgroundColor:"white"},"&dark .cm-textfield":{border:"1px solid #555",backgroundColor:"inherit"}},Iu),g0={childList:!0,characterData:!0,subtree:!0,attributes:!0,characterDataOldValue:!0},Pl=D.ie&&D.ie_version<=11,oa=class{constructor(t){this.view=t,this.active=!1,this.editContext=null,this.selectionRange=new Il,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=t.contentDOM,this.observer=new MutationObserver(e=>{for(let i of e)this.queue.push(i);(D.ie&&D.ie_version<=11||D.ios&&t.composing)&&e.some(i=>i.type=="childList"&&i.removedNodes.length||i.type=="characterData"&&i.oldValue.length>i.target.nodeValue.length)?this.flushSoon():this.flush()}),window.EditContext&&t.constructor.EDIT_CONTEXT!==!1&&!(D.chrome&&D.chrome_version<126)&&(this.editContext=new la(t),t.state.facet(Je)&&(t.contentDOM.editContext=this.editContext.editContext)),Pl&&(this.onCharData=e=>{this.queue.push({target:e.target,type:"characterData",oldValue:e.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 e;((e=this.view.docView)===null||e===void 0?void 0:e.lastUpdate)<Date.now()-75&&this.onResize()}),this.resizeScroll.observe(t.scrollDOM)),this.addWindowListeners(this.win=t.win),this.start(),typeof IntersectionObserver=="function"&&(this.intersection=new IntersectionObserver(e=>{this.parentCheck<0&&(this.parentCheck=setTimeout(this.listenForScroll.bind(this),1e3)),e.length>0&&e[e.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(e=>{e.length>0&&e[e.length-1].intersectionRatio>0&&this.onScrollChanged(document.createEvent("Event"))},{})),this.listenForScroll(),this.readSelectionRange()}onScrollChanged(t){this.view.inputState.runHandlers("scroll",t),this.intersecting&&this.view.measure()}onScroll(t){this.intersecting&&this.flush(!1),this.editContext&&this.view.requestMeasure(this.editContext.measureReq),this.onScrollChanged(t)}onResize(){this.resizeTimeout<0&&(this.resizeTimeout=setTimeout(()=>{this.resizeTimeout=-1,this.view.requestMeasure()},50))}onPrint(t){(t.type=="change"||!t.type)&&!t.matches||(this.view.viewState.printing=!0,this.view.measure(),setTimeout(()=>{this.view.viewState.printing=!1,this.view.requestMeasure()},500))}updateGaps(t){if(this.gapIntersection&&(t.length!=this.gaps.length||this.gaps.some((e,i)=>e!=t[i]))){this.gapIntersection.disconnect();for(let e of t)this.gapIntersection.observe(e);this.gaps=t}}onSelectionChange(t){let e=this.selectionChanged;if(!this.readSelectionRange()||this.delayedAndroidKey)return;let{view:i}=this,n=this.selectionRange;if(i.state.facet(Je)?i.root.activeElement!=this.dom:!Er(this.dom,n))return;let r=n.anchorNode&&i.docView.nearest(n.anchorNode);if(r&&r.ignoreEvent(t)){e||(this.selectionChanged=!1);return}(D.ie&&D.ie_version<=11||D.android&&D.chrome)&&!i.state.selection.main.empty&&n.focusNode&&rs(n.focusNode,n.focusOffset,n.anchorNode,n.anchorOffset)?this.flushSoon():this.flush(!1)}readSelectionRange(){let{view:t}=this,e=fs(t.root);if(!e)return!1;let i=D.safari&&t.root.nodeType==11&&t.root.activeElement==this.dom&&m0(this.view,e)||e;if(!i||this.selectionRange.eq(i))return!1;let n=Er(this.dom,i);return n&&!this.selectionChanged&&t.inputState.lastFocusTime>Date.now()-200&&t.inputState.lastTouchTime<Date.now()-300&&lm(this.dom,i)?(this.view.inputState.lastFocusTime=0,t.docView.updateSelection(),!1):(this.selectionRange.setRange(i),n&&(this.selectionChanged=!0),!0)}setSelectionRange(t,e){this.selectionRange.set(t.node,t.offset,e.node,e.offset),this.selectionChanged=!1}clearSelectionRange(){this.selectionRange.set(null,0,null,0)}listenForScroll(){this.parentCheck=-1;let t=0,e=null;for(let i=this.dom;i;)if(i.nodeType==1)!e&&t<this.scrollTargets.length&&this.scrollTargets[t]==i?t++:e||(e=this.scrollTargets.slice(0,t)),e&&e.push(i),i=i.assignedSlot||i.parentNode;else if(i.nodeType==11)i=i.host;else break;if(t<this.scrollTargets.length&&!e&&(e=this.scrollTargets.slice(0,t)),e){for(let i of this.scrollTargets)i.removeEventListener("scroll",this.onScroll);for(let i of this.scrollTargets=e)i.addEventListener("scroll",this.onScroll)}}ignore(t){if(!this.active)return t();try{return this.stop(),t()}finally{this.start(),this.clear()}}start(){this.active||(this.observer.observe(this.dom,g0),Pl&&this.dom.addEventListener("DOMCharacterDataModified",this.onCharData),this.active=!0)}stop(){this.active&&(this.active=!1,this.observer.disconnect(),Pl&&this.dom.removeEventListener("DOMCharacterDataModified",this.onCharData))}clear(){this.processRecords(),this.queue.length=0,this.selectionChanged=!1}delayAndroidKey(t,e){var i;if(!this.delayedAndroidKey){let n=()=>{let r=this.delayedAndroidKey;r&&(this.clearDelayedAndroidKey(),this.view.inputState.lastKeyCode=r.keyCode,this.view.inputState.lastKeyTime=Date.now(),!this.flush()&&r.force&&pn(this.dom,r.key,r.keyCode))};this.flushingAndroidKey=this.view.win.requestAnimationFrame(n)}(!this.delayedAndroidKey||t=="Enter")&&(this.delayedAndroidKey={key:t,keyCode:e,force:this.lastChange<Date.now()-50||!!(!((i=this.delayedAndroidKey)===null||i===void 0)&&i.force)})}clearDelayedAndroidKey(){this.win.cancelAnimationFrame(this.flushingAndroidKey),this.delayedAndroidKey=null,this.flushingAndroidKey=-1}flushSoon(){this.delayedFlush<0&&(this.delayedFlush=this.view.win.requestAnimationFrame(()=>{this.delayedFlush=-1,this.flush()}))}forceFlush(){this.delayedFlush>=0&&(this.view.win.cancelAnimationFrame(this.delayedFlush),this.delayedFlush=-1),this.flush()}pendingRecords(){for(let t of this.observer.takeRecords())this.queue.push(t);return this.queue}processRecords(){let t=this.pendingRecords();t.length&&(this.queue=[]);let e=-1,i=-1,n=!1;for(let r of t){let o=this.readMutation(r);o&&(o.typeOver&&(n=!0),e==-1?{from:e,to:i}=o:(e=Math.min(o.from,e),i=Math.max(o.to,i)))}return{from:e,to:i,typeOver:n}}readChange(){let{from:t,to:e,typeOver:i}=this.processRecords(),n=this.selectionChanged&&Er(this.dom,this.selectionRange);if(t<0&&!n)return null;t>-1&&(this.lastChange=Date.now()),this.view.inputState.lastFocusTime=0,this.selectionChanged=!1;let r=new ql(this.view,t,e,i);return this.view.docView.domChanged={newSel:r.newSel?r.newSel.main:null},r}flush(t=!0){if(this.delayedFlush>=0||this.delayedAndroidKey)return!1;t&&this.readSelectionRange();let e=this.readChange();if(!e)return this.view.requestMeasure(),!1;let i=this.view.state,n=Su(this.view,e);return this.view.state==i&&(e.domChanged||e.newSel&&!e.newSel.main.eq(this.view.state.selection.main))&&this.view.update([]),n}readMutation(t){let e=this.view.docView.nearest(t.target);if(!e||e.ignoreMutation(t))return null;if(e.markDirty(t.type=="attributes"),t.type=="attributes"&&(e.flags|=4),t.type=="childList"){let i=Lc(e,t.previousSibling||t.target.previousSibling,-1),n=Lc(e,t.nextSibling||t.target.nextSibling,1);return{from:i?e.posAfter(i):e.posAtStart,to:n?e.posBefore(n):e.posAtEnd,typeOver:!1}}else return t.type=="characterData"?{from:e.posAtStart,to:e.posAtEnd,typeOver:t.target.nodeValue==t.oldValue}:null}setWindow(t){t!=this.win&&(this.removeWindowListeners(this.win),this.win=t,this.addWindowListeners(this.win))}addWindowListeners(t){t.addEventListener("resize",this.onResize),this.printQuery?this.printQuery.addEventListener?this.printQuery.addEventListener("change",this.onPrint):this.printQuery.addListener(this.onPrint):t.addEventListener("beforeprint",this.onPrint),t.addEventListener("scroll",this.onScroll),t.document.addEventListener("selectionchange",this.onSelectionChange)}removeWindowListeners(t){t.removeEventListener("scroll",this.onScroll),t.removeEventListener("resize",this.onResize),this.printQuery?this.printQuery.removeEventListener?this.printQuery.removeEventListener("change",this.onPrint):this.printQuery.removeListener(this.onPrint):t.removeEventListener("beforeprint",this.onPrint),t.document.removeEventListener("selectionchange",this.onSelectionChange)}update(t){this.editContext&&(this.editContext.update(t),t.startState.facet(Je)!=t.state.facet(Je)&&(t.view.contentDOM.editContext=t.state.facet(Je)?this.editContext.editContext:null))}destroy(){var t,e,i;this.stop(),(t=this.intersection)===null||t===void 0||t.disconnect(),(e=this.gapIntersection)===null||e===void 0||e.disconnect(),(i=this.resizeScroll)===null||i===void 0||i.disconnect();for(let n of this.scrollTargets)n.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 Lc(s,t,e){for(;t;){let i=nt.get(t);if(i&&i.parent==s)return i;let n=t.parentNode;t=n!=s.dom?n:e>0?t.nextSibling:t.previousSibling}return null}function Hc(s,t){let e=t.startContainer,i=t.startOffset,n=t.endContainer,r=t.endOffset,o=s.docView.domAtPos(s.state.selection.main.anchor);return rs(o.node,o.offset,n,r)&&([e,i,n,r]=[n,r,e,i]),{anchorNode:e,anchorOffset:i,focusNode:n,focusOffset:r}}function m0(s,t){if(t.getComposedRanges){let n=t.getComposedRanges(s.root)[0];if(n)return Hc(s,n)}let e=null;function i(n){n.preventDefault(),n.stopImmediatePropagation(),e=n.getTargetRanges()[0]}return s.contentDOM.addEventListener("beforeinput",i,!0),s.dom.ownerDocument.execCommand("indent"),s.contentDOM.removeEventListener("beforeinput",i,!0),e?Hc(s,e):null}var la=class{constructor(t){this.from=0,this.to=0,this.pendingContextChange=null,this.handlers=Object.create(null),this.composing=null,this.resetRange(t.state);let e=this.editContext=new window.EditContext({text:t.state.doc.sliceString(this.from,this.to),selectionStart:this.toContextPos(Math.max(this.from,Math.min(this.to,t.state.selection.main.anchor))),selectionEnd:this.toContextPos(t.state.selection.main.head)});this.handlers.textupdate=i=>{let n=t.state.selection.main,{anchor:r,head:o}=n,l=this.toEditorPos(i.updateRangeStart),a=this.toEditorPos(i.updateRangeEnd);t.inputState.composing>=0&&!this.composing&&(this.composing={contextBase:i.updateRangeStart,editorBase:l,drifted:!1});let h={from:l,to:a,insert:$.of(i.text.split(`\n`))};if(h.from==this.from&&r<this.from?h.from=r:h.to==this.to&&r>this.to&&(h.to=r),h.from==h.to&&!h.insert.length){let f=N.single(this.toEditorPos(i.selectionStart),this.toEditorPos(i.selectionEnd));f.main.eq(n)||t.dispatch({selection:f,userEvent:"select"});return}if((D.mac||D.android)&&h.from==o-1&&/^\\. ?$/.test(i.text)&&t.contentDOM.getAttribute("autocorrect")=="off"&&(h={from:l,to:a,insert:$.of([i.text.replace("."," ")])}),this.pendingContextChange=h,!t.state.readOnly){let f=this.to-this.from+(h.to-h.from+h.insert.length);ma(t,h,N.single(this.toEditorPos(i.selectionStart,f),this.toEditorPos(i.selectionEnd,f)))}this.pendingContextChange&&(this.revertPending(t.state),this.setSelection(t.state))},this.handlers.characterboundsupdate=i=>{let n=[],r=null;for(let o=this.toEditorPos(i.rangeStart),l=this.toEditorPos(i.rangeEnd);o<l;o++){let a=t.coordsForChar(o);r=a&&new DOMRect(a.left,a.top,a.right-a.left,a.bottom-a.top)||r||new DOMRect,n.push(r)}e.updateCharacterBounds(i.rangeStart,n)},this.handlers.textformatupdate=i=>{let n=[];for(let r of i.getTextFormats()){let o=r.underlineStyle,l=r.underlineThickness;if(o!="None"&&l!="None"){let a=this.toEditorPos(r.rangeStart),h=this.toEditorPos(r.rangeEnd);if(a<h){let f=`text-decoration: underline ${o=="Dashed"?"dashed ":o=="Squiggle"?"wavy ":""}${l=="Thin"?1:2}px`;n.push(J.mark({attributes:{style:f}}).range(a,h))}}}t.dispatch({effects:gu.of(J.set(n))})},this.handlers.compositionstart=()=>{t.inputState.composing<0&&(t.inputState.composing=0,t.inputState.compositionFirstChange=!0)},this.handlers.compositionend=()=>{if(t.inputState.composing=-1,t.inputState.compositionFirstChange=null,this.composing){let{drifted:i}=this.composing;this.composing=null,i&&this.reset(t.state)}};for(let i in this.handlers)e.addEventListener(i,this.handlers[i]);this.measureReq={read:i=>{this.editContext.updateControlBounds(i.contentDOM.getBoundingClientRect());let n=fs(i.root);n&&n.rangeCount&&this.editContext.updateSelectionBounds(n.getRangeAt(0).getBoundingClientRect())}}}applyEdits(t){let e=0,i=!1,n=this.pendingContextChange;return t.changes.iterChanges((r,o,l,a,h)=>{if(i)return;let f=h.length-(o-r);if(n&&o>=n.to)if(n.from==r&&n.to==o&&n.insert.eq(h)){n=this.pendingContextChange=null,e+=f,this.to+=f;return}else n=null,this.revertPending(t.state);if(r+=e,o+=e,o<=this.from)this.from+=f,this.to+=f;else if(r<this.to){if(r<this.from||o>this.to||this.to-this.from+h.length>3e4){i=!0;return}this.editContext.updateText(this.toContextPos(r),this.toContextPos(o),h.toString()),this.to+=f}e+=f}),n&&!i&&this.revertPending(t.state),!i}update(t){let e=this.pendingContextChange,i=t.startState.selection.main;this.composing&&(this.composing.drifted||!t.changes.touchesRange(i.from,i.to)&&t.transactions.some(n=>!n.isUserEvent("input.type")&&n.changes.touchesRange(this.from,this.to)))?(this.composing.drifted=!0,this.composing.editorBase=t.changes.mapPos(this.composing.editorBase)):!this.applyEdits(t)||!this.rangeIsValid(t.state)?(this.pendingContextChange=null,this.reset(t.state)):(t.docChanged||t.selectionSet||e)&&this.setSelection(t.state),(t.geometryChanged||t.docChanged||t.selectionSet)&&t.view.requestMeasure(this.measureReq)}resetRange(t){let{head:e}=t.selection.main;this.from=Math.max(0,e-1e4),this.to=Math.min(t.doc.length,e+1e4)}reset(t){this.resetRange(t),this.editContext.updateText(0,this.editContext.text.length,t.doc.sliceString(this.from,this.to)),this.setSelection(t)}revertPending(t){let e=this.pendingContextChange;this.pendingContextChange=null,this.editContext.updateText(this.toContextPos(e.from),this.toContextPos(e.from+e.insert.length),t.doc.sliceString(e.from,e.to))}setSelection(t){let{main:e}=t.selection,i=this.toContextPos(Math.max(this.from,Math.min(this.to,e.anchor))),n=this.toContextPos(e.head);(this.editContext.selectionStart!=i||this.editContext.selectionEnd!=n)&&this.editContext.updateSelection(i,n)}rangeIsValid(t){let{head:e}=t.selection.main;return!(this.from>0&&e-this.from<500||this.to<t.doc.length&&this.to-e<500||this.to-this.from>1e4*3)}toEditorPos(t,e=this.to-this.from){t=Math.min(t,e);let i=this.composing;return i&&i.drifted?i.editorBase+(t-i.contextBase):t+this.from}toContextPos(t){let e=this.composing;return e&&e.drifted?e.contextBase+(t-e.editorBase):t-this.from}destroy(){for(let t in this.handlers)this.editContext.removeEventListener(t,this.handlers[t])}},W=class s{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(t={}){var e;this.plugins=[],this.pluginMap=new Map,this.editorAttrs={},this.contentAttrs={},this.bidiCache=[],this.destroyed=!1,this.updateState=2,this.measureScheduled=-1,this.measureRequests=[],this.contentDOM=document.createElement("div"),this.scrollDOM=document.createElement("div"),this.scrollDOM.tabIndex=-1,this.scrollDOM.className="cm-scroller",this.scrollDOM.appendChild(this.contentDOM),this.announceDOM=document.createElement("div"),this.announceDOM.className="cm-announced",this.announceDOM.setAttribute("aria-live","polite"),this.dom=document.createElement("div"),this.dom.appendChild(this.announceDOM),this.dom.appendChild(this.scrollDOM),t.parent&&t.parent.appendChild(this.dom);let{dispatch:i}=t;this.dispatchTransactions=t.dispatchTransactions||i&&(n=>n.forEach(r=>i(r,this)))||(n=>this.update(n)),this.dispatch=this.dispatch.bind(this),this._root=t.root||om(t.parent)||document,this.viewState=new Gr(t.state||ct.create(t)),t.scrollTo&&t.scrollTo.is(Sr)&&(this.viewState.scrollTarget=t.scrollTo.value.clip(this.viewState.state)),this.plugins=this.state.facet(es).map(n=>new as(n));for(let n of this.plugins)n.update(this);this.observer=new oa(this),this.inputState=new $l(this),this.inputState.ensureHandlers(this.plugins),this.docView=new Fr(this),this.mountStyles(),this.updateAttrs(),this.updateState=0,this.requestMeasure(),!((e=document.fonts)===null||e===void 0)&&e.ready&&document.fonts.ready.then(()=>this.requestMeasure())}dispatch(...t){let e=t.length==1&&t[0]instanceof Gt?t:t.length==1&&Array.isArray(t[0])?t[0]:[this.state.update(...t)];this.dispatchTransactions(e,this)}update(t){if(this.updateState!=0)throw new Error("Calls to EditorView.update are not allowed while an update is in progress");let e=!1,i=!1,n,r=this.state;for(let u of t){if(u.startState!=r)throw new RangeError("Trying to update state with a transaction that doesn\'t start from the previous state.");r=u.state}if(this.destroyed){this.viewState.state=r;return}let o=this.hasFocus,l=0,a=null;t.some(u=>u.annotation(_u))?(this.inputState.notifiedFocused=o,l=1):o!=this.inputState.notifiedFocused&&(this.inputState.notifiedFocused=o,a=Eu(r,o),a||(l=1));let h=this.observer.delayedAndroidKey,f=null;if(h?(this.observer.clearDelayedAndroidKey(),f=this.observer.readChange(),(f&&!this.state.doc.eq(r.doc)||!this.state.selection.eq(r.selection))&&(f=null)):this.observer.clear(),r.facet(ct.phrases)!=this.state.facet(ct.phrases))return this.setState(r);n=Hr.create(this,r,t),n.flags|=l;let c=this.viewState.scrollTarget;try{this.updateState=2;for(let u of t){if(c&&(c=c.map(u.changes)),u.scrollIntoView){let{main:d}=u.state.selection;c=new ls(d.empty?d:N.cursor(d.head,d.head>d.anchor?-1:1))}for(let d of u.effects)d.is(Sr)&&(c=d.value.clip(this.state))}this.viewState.update(n,c),this.bidiCache=Ur.update(this.bidiCache,n.changes),n.empty||(this.updatePlugins(n),this.inputState.update(n)),e=this.docView.update(n),this.state.facet(is)!=this.styleModules&&this.mountStyles(),i=this.updateAttrs(),this.showAnnouncements(t),this.docView.updateSelection(e,t.some(u=>u.isUserEvent("select.pointer")))}finally{this.updateState=0}if(n.startState.facet(Or)!=n.state.facet(Or)&&(this.viewState.mustMeasureContent=!0),(e||i||c||this.viewState.mustEnforceCursorAssoc||this.viewState.mustMeasureContent)&&this.requestMeasure(),e&&this.docViewUpdate(),!n.empty)for(let u of this.state.facet(Gl))try{u(n)}catch(d){ge(this.state,d,"update listener")}(a||f)&&Promise.resolve().then(()=>{a&&this.state==a.startState&&this.dispatch(a),f&&!Su(this,f)&&h.force&&pn(this.contentDOM,h.key,h.keyCode)})}setState(t){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=t;return}this.updateState=2;let e=this.hasFocus;try{for(let i of this.plugins)i.destroy(this);this.viewState=new Gr(t),this.plugins=t.facet(es).map(i=>new as(i)),this.pluginMap.clear();for(let i of this.plugins)i.update(this);this.docView.destroy(),this.docView=new Fr(this),this.inputState.ensureHandlers(this.plugins),this.mountStyles(),this.updateAttrs(),this.bidiCache=[]}finally{this.updateState=0}e&&this.focus(),this.requestMeasure()}updatePlugins(t){let e=t.startState.facet(es),i=t.state.facet(es);if(e!=i){let n=[];for(let r of i){let o=e.indexOf(r);if(o<0)n.push(new as(r));else{let l=this.plugins[o];l.mustUpdate=t,n.push(l)}}for(let r of this.plugins)r.mustUpdate!=t&&r.destroy(this);this.plugins=n,this.pluginMap.clear()}else for(let n of this.plugins)n.mustUpdate=t;for(let n=0;n<this.plugins.length;n++)this.plugins[n].update(this);e!=i&&this.inputState.ensureHandlers(this.plugins)}docViewUpdate(){for(let t of this.plugins){let e=t.value;if(e&&e.docViewUpdate)try{e.docViewUpdate(this)}catch(i){ge(this.state,i,"doc view update listener")}}}measure(t=!0){if(this.destroyed)return;if(this.measureScheduled>-1&&this.win.cancelAnimationFrame(this.measureScheduled),this.observer.delayedAndroidKey){this.measureScheduled=-1,this.requestMeasure();return}this.measureScheduled=0,t&&this.observer.forceFlush();let e=null,i=this.scrollDOM,n=i.scrollTop*this.scaleY,{scrollAnchorPos:r,scrollAnchorHeight:o}=this.viewState;Math.abs(n-this.viewState.scrollTop)>1&&(o=-1),this.viewState.scrollAnchorHeight=-1;try{for(let l=0;;l++){if(o<0)if(jc(i))r=-1,o=this.viewState.heightMap.height;else{let d=this.viewState.scrollAnchorAt(n);r=d.from,o=d.top}this.updateState=1;let a=this.viewState.measure(this);if(!a&&!this.measureRequests.length&&this.viewState.scrollTarget==null)break;if(l>5){console.warn(this.measureRequests.length?"Measure loop restarted more than 5 times":"Viewport failed to stabilize");break}let h=[];a&4||([this.measureRequests,h]=[h,this.measureRequests]);let f=h.map(d=>{try{return d.read(this)}catch(p){return ge(this.state,p),Fc}}),c=Hr.create(this,this.state,[]),u=!1;c.flags|=a,e?e.flags|=a:e=c,this.updateState=2,c.empty||(this.updatePlugins(c),this.inputState.update(c),this.updateAttrs(),u=this.docView.update(c),u&&this.docViewUpdate());for(let d=0;d<h.length;d++)if(f[d]!=Fc)try{let p=h[d];p.write&&p.write(f[d],this)}catch(p){ge(this.state,p)}if(u&&this.docView.updateSelection(!0),!c.viewportChanged&&this.measureRequests.length==0){if(this.viewState.editorHeight)if(this.viewState.scrollTarget){this.docView.scrollIntoView(this.viewState.scrollTarget),this.viewState.scrollTarget=null,o=-1;continue}else{let p=(r<0?this.viewState.heightMap.height:this.viewState.lineBlockAt(r).top)-o;if(p>1||p<-1){n=n+p,i.scrollTop=n/this.scaleY,o=-1;continue}}break}}}finally{this.updateState=0,this.measureScheduled=-1}if(e&&!e.empty)for(let l of this.state.facet(Gl))l(e)}get themeClasses(){return sa+" "+(this.state.facet(na)?Ru:Pu)+" "+this.state.facet(Or)}updateAttrs(){let t=Vc(this,mu,{class:"cm-editor"+(this.hasFocus?" cm-focused ":" ")+this.themeClasses}),e={spellcheck:"false",autocorrect:"off",autocapitalize:"off",writingsuggestions:"false",translate:"no",contenteditable:this.state.facet(Je)?"true":"false",class:"cm-content",style:`${D.tabSize}: ${this.state.tabSize}`,role:"textbox","aria-multiline":"true"};this.state.readOnly&&(e["aria-readonly"]="true"),Vc(this,pa,e);let i=this.observer.ignore(()=>{let n=Fl(this.contentDOM,this.contentAttrs,e),r=Fl(this.dom,this.editorAttrs,t);return n||r});return this.editorAttrs=t,this.contentAttrs=e,i}showAnnouncements(t){let e=!0;for(let i of t)for(let n of i.effects)if(n.is(s.announce)){e&&(this.announceDOM.textContent=""),e=!1;let r=this.announceDOM.appendChild(document.createElement("div"));r.textContent=n.value}}mountStyles(){this.styleModules=this.state.facet(is);let t=this.state.facet(s.cspNonce);le.mount(this.root,this.styleModules.concat(p0).reverse(),t?{nonce:t}: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(t){if(this.measureScheduled<0&&(this.measureScheduled=this.win.requestAnimationFrame(()=>this.measure())),t){if(this.measureRequests.indexOf(t)>-1)return;if(t.key!=null){for(let e=0;e<this.measureRequests.length;e++)if(this.measureRequests[e].key===t.key){this.measureRequests[e]=t;return}}this.measureRequests.push(t)}}plugin(t){let e=this.pluginMap.get(t);return(e===void 0||e&&e.spec!=t)&&this.pluginMap.set(t,e=this.plugins.find(i=>i.spec==t)||null),e&&e.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(t){return this.readMeasured(),this.viewState.elementAtHeight(t)}lineBlockAtHeight(t){return this.readMeasured(),this.viewState.lineBlockAtHeight(t)}get viewportLineBlocks(){return this.viewState.viewportLines}lineBlockAt(t){return this.viewState.lineBlockAt(t)}get contentHeight(){return this.viewState.contentHeight}moveByChar(t,e,i){return Dl(this,t,Sc(this,t,e,i))}moveByGroup(t,e){return Dl(this,t,Sc(this,t,e,i=>Fm(this,t.head,i)))}visualLineSide(t,e){let i=this.bidiSpans(t),n=this.textDirectionAt(t.from),r=i[e?i.length-1:0];return N.cursor(r.side(e,n)+t.from,r.forward(!e,n)?1:-1)}moveToLineBoundary(t,e,i=!0){return Hm(this,t,e,i)}moveVertically(t,e,i){return Dl(this,t,Vm(this,t,e,i))}domAtPos(t){return this.docView.domAtPos(t)}posAtDOM(t,e=0){return this.docView.posFromDOM(t,e)}posAtCoords(t,e=!0){return this.readMeasured(),xu(this,t,e)}coordsAtPos(t,e=1){this.readMeasured();let i=this.docView.coordsAt(t,e);if(!i||i.left==i.right)return i;let n=this.state.doc.lineAt(t),r=this.bidiSpans(n),o=r[Ae.find(r,t-n.from,-1,e)];return ms(i,o.dir==mt.LTR==e>0)}coordsForChar(t){return this.readMeasured(),this.docView.coordsForChar(t)}get defaultCharacterWidth(){return this.viewState.heightOracle.charWidth}get defaultLineHeight(){return this.viewState.heightOracle.lineHeight}get textDirection(){return this.viewState.defaultTextDirection}textDirectionAt(t){return!this.state.facet(du)||t<this.viewport.from||t>this.viewport.to?this.textDirection:(this.readMeasured(),this.docView.textDirectionAt(t))}get lineWrapping(){return this.viewState.heightOracle.lineWrapping}bidiSpans(t){if(t.length>b0)return ru(t.length);let e=this.textDirectionAt(t.from),i;for(let r of this.bidiCache)if(r.from==t.from&&r.dir==e&&(r.fresh||su(r.isolates,i=wc(this,t))))return r.order;i||(i=wc(this,t));let n=vm(t.text,e,i);return this.bidiCache.push(new Ur(t.from,t.to,e,i,!0,n)),n}get hasFocus(){var t;return(this.dom.ownerDocument.hasFocus()||D.safari&&((t=this.inputState)===null||t===void 0?void 0:t.lastContextMenu)>Date.now()-3e4)&&this.root.activeElement==this.contentDOM}focus(){this.observer.ignore(()=>{Gc(this.contentDOM),this.docView.updateSelection()})}setRoot(t){this._root!=t&&(this._root=t,this.observer.setWindow((t.nodeType==9?t:t.ownerDocument).defaultView||window),this.mountStyles())}destroy(){this.root.activeElement==this.contentDOM&&this.contentDOM.blur();for(let t of this.plugins)t.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(t,e={}){return Sr.of(new ls(typeof t=="number"?N.cursor(t):t,e.y,e.x,e.yMargin,e.xMargin))}scrollSnapshot(){let{scrollTop:t,scrollLeft:e}=this.scrollDOM,i=this.viewState.scrollAnchorAt(t);return Sr.of(new ls(N.cursor(i.from),"start","start",i.top-t,e,!0))}setTabFocusMode(t){t==null?this.inputState.tabFocusMode=this.inputState.tabFocusMode<0?0:-1:typeof t=="boolean"?this.inputState.tabFocusMode=t?0:-1:this.inputState.tabFocusMode!=0&&(this.inputState.tabFocusMode=Date.now()+t)}static domEventHandlers(t){return me.define(()=>({}),{eventHandlers:t})}static domEventObservers(t){return me.define(()=>({}),{eventObservers:t})}static theme(t,e){let i=le.newName(),n=[Or.of(i),is.of(ra(`.${i}`,t))];return e&&e.dark&&n.push(na.of(!0)),n}static baseTheme(t){return ci.lowest(is.of(ra("."+sa,t,Iu)))}static findFromDOM(t){var e;let i=t.querySelector(".cm-content"),n=i&&nt.get(i)||nt.get(t);return((e=n==null?void 0:n.rootView)===null||e===void 0?void 0:e.view)||null}};W.styleModule=is;W.inputHandler=cu;W.clipboardInputFilter=ua;W.clipboardOutputFilter=da;W.scrollHandler=pu;W.focusChangeEffect=uu;W.perLineTextDirection=du;W.exceptionSink=fu;W.updateListener=Gl;W.editable=Je;W.mouseSelectionStyle=hu;W.dragMovesSelection=au;W.clickAddsSelectionRange=lu;W.decorations=gs;W.outerDecorations=bu;W.atomicRanges=ga;W.bidiIsolatedRanges=wu;W.scrollMargins=yu;W.darkTheme=na;W.cspNonce=L.define({combine:s=>s.length?s[0]:""});W.contentAttributes=pa;W.editorAttributes=mu;W.lineWrapping=W.contentAttributes.of({class:"cm-lineWrapping"});W.announce=ot.define();var b0=4096,Fc={},Ur=class s{constructor(t,e,i,n,r,o){this.from=t,this.to=e,this.dir=i,this.isolates=n,this.fresh=r,this.order=o}static update(t,e){if(e.empty&&!t.some(r=>r.fresh))return t;let i=[],n=t.length?t[t.length-1].dir:mt.LTR;for(let r=Math.max(0,t.length-10);r<t.length;r++){let o=t[r];o.dir==n&&!e.touchesRange(o.from,o.to)&&i.push(new s(e.mapPos(o.from,1),e.mapPos(o.to,-1),o.dir,o.isolates,!1,o.order))}return i}};function Vc(s,t,e){for(let i=s.state.facet(t),n=i.length-1;n>=0;n--){let r=i[n],o=typeof r=="function"?r(s):r;o&&Hl(o,e)}return e}var w0=D.mac?"mac":D.windows?"win":D.linux?"linux":"key";function y0(s,t){let e=s.split(/-(?!$)/),i=e[e.length-1];i=="Space"&&(i=" ");let n,r,o,l;for(let a=0;a<e.length-1;++a){let h=e[a];if(/^(cmd|meta|m)$/i.test(h))l=!0;else if(/^a(lt)?$/i.test(h))n=!0;else if(/^(c|ctrl|control)$/i.test(h))r=!0;else if(/^s(hift)?$/i.test(h))o=!0;else if(/^mod$/i.test(h))t=="mac"?l=!0:r=!0;else throw new Error("Unrecognized modifier name: "+h)}return n&&(i="Alt-"+i),r&&(i="Ctrl-"+i),l&&(i="Meta-"+i),o&&(i="Shift-"+i),i}function _r(s,t,e){return t.altKey&&(s="Alt-"+s),t.ctrlKey&&(s="Ctrl-"+s),t.metaKey&&(s="Meta-"+s),e!==!1&&t.shiftKey&&(s="Shift-"+s),s}var v0=ci.default(W.domEventHandlers({keydown(s,t){return C0(k0(t.state),s,t,"editor")}})),ba=L.define({enables:v0}),zc=new WeakMap;function k0(s){let t=s.facet(ba),e=zc.get(t);return e||zc.set(t,e=S0(t.reduce((i,n)=>i.concat(n),[]))),e}var ui=null,x0=4e3;function S0(s,t=w0){let e=Object.create(null),i=Object.create(null),n=(o,l)=>{let a=i[o];if(a==null)i[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")},r=(o,l,a,h,f)=>{var c,u;let d=e[o]||(e[o]=Object.create(null)),p=l.split(/ (?!$)/).map(b=>y0(b,t));for(let b=1;b<p.length;b++){let w=p.slice(0,b).join(" ");n(w,!0),d[w]||(d[w]={preventDefault:!0,stopPropagation:!1,run:[y=>{let v=ui={view:y,prefix:w,scope:o};return setTimeout(()=>{ui==v&&(ui=null)},x0),!0}]})}let g=p.join(" ");n(g,!1);let m=d[g]||(d[g]={preventDefault:!1,stopPropagation:!1,run:((u=(c=d._any)===null||c===void 0?void 0:c.run)===null||u===void 0?void 0:u.slice())||[]});a&&m.run.push(a),h&&(m.preventDefault=!0),f&&(m.stopPropagation=!0)};for(let o of s){let l=o.scope?o.scope.split(" "):["editor"];if(o.any)for(let h of l){let f=e[h]||(e[h]=Object.create(null));f._any||(f._any={preventDefault:!1,stopPropagation:!1,run:[]});let{any:c}=o;for(let u in f)f[u].run.push(d=>c(d,aa))}let a=o[t]||o.key;if(a)for(let h of l)r(h,a,o.run,o.preventDefault,o.stopPropagation),o.shift&&r(h,"Shift-"+a,o.shift,o.preventDefault,o.stopPropagation)}return e}var aa=null;function C0(s,t,e,i){aa=t;let n=fc(t),r=Kf(n,0),o=Yf(r)==n.length&&n!=" ",l="",a=!1,h=!1,f=!1;ui&&ui.view==e&&ui.scope==i&&(l=ui.prefix+" ",Mu.indexOf(t.keyCode)<0&&(h=!0,ui=null));let c=new Set,u=m=>{if(m){for(let b of m.run)if(!c.has(b)&&(c.add(b),b(e)))return m.stopPropagation&&(f=!0),!0;m.preventDefault&&(m.stopPropagation&&(f=!0),h=!0)}return!1},d=s[i],p,g;return d&&(u(d[l+_r(n,t,!o)])?a=!0:o&&(t.altKey||t.metaKey||t.ctrlKey)&&!(D.windows&&t.ctrlKey&&t.altKey)&&(p=Xe[t.keyCode])&&p!=n?(u(d[l+_r(p,t,!0)])||t.shiftKey&&(g=cn[t.keyCode])!=n&&g!=p&&u(d[l+_r(g,t,!1)]))&&(a=!0):o&&t.shiftKey&&u(d[l+_r(n,t,!0)])&&(a=!0),!a&&u(d._any)&&(a=!0)),h&&(a=!0),a&&f&&t.stopPropagation(),aa=null,a}var dv=/x/.unicode!=null?"gu":"g";var ha=class extends Fi{constructor(t){super(),this.content=t}toDOM(t){let e=document.createElement("span");return e.className="cm-placeholder",e.style.pointerEvents="none",e.appendChild(typeof this.content=="string"?document.createTextNode(this.content):typeof this.content=="function"?this.content(t):this.content.cloneNode(!0)),e.setAttribute("aria-hidden","true"),e}coordsAt(t){let e=t.firstChild?gn(t.firstChild):[];if(!e.length)return null;let i=window.getComputedStyle(t.parentNode),n=ms(e[0],i.direction!="rtl"),r=parseInt(i.lineHeight);return n.bottom-n.top>r*1.5?{left:n.left,right:n.right,top:n.top,bottom:n.top+r}:n}ignoreEvent(){return!1}};function Bu(s){let t=me.fromClass(class{constructor(e){this.view=e,this.placeholder=s?J.set([J.widget({widget:new ha(s),side:1}).range(0)]):J.none}get decorations(){return this.view.state.doc.length?J.none:this.placeholder}},{decorations:e=>e.decorations});return typeof s=="string"?[t,W.contentAttributes.of({"aria-placeholder":s})]:t}var pv=W.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"}}});var Zt=class extends Ke{compare(t){return this==t||this.constructor==t.constructor&&this.eq(t)}eq(t){return!1}destroy(t){}};Zt.prototype.elementClass="";Zt.prototype.toDOM=void 0;Zt.prototype.mapMode=Wt.TrackBefore;Zt.prototype.startSide=Zt.prototype.endSide=-1;Zt.prototype.point=!0;var $r=L.define();var M0=0,bs=class{constructor(t,e){this.from=t,this.to=e}},Q=class{constructor(t={}){this.id=M0++,this.perNode=!!t.perNode,this.deserialize=t.deserialize||(()=>{throw new Error("This node type doesn\'t define a deserialize function")})}add(t){if(this.perNode)throw new RangeError("Can\'t add per-node props to node types");return typeof t!="function"&&(t=fe.match(t)),e=>{let i=t(e);return i===void 0?null:[this,i]}}};Q.closedBy=new Q({deserialize:s=>s.split(" ")});Q.openedBy=new Q({deserialize:s=>s.split(" ")});Q.group=new Q({deserialize:s=>s.split(" ")});Q.isolate=new Q({deserialize:s=>{if(s&&s!="rtl"&&s!="ltr"&&s!="auto")throw new RangeError("Invalid value for isolate: "+s);return s||"auto"}});Q.contextHash=new Q({perNode:!0});Q.lookAhead=new Q({perNode:!0});Q.mounted=new Q({perNode:!0});var bn=class{constructor(t,e,i){this.tree=t,this.overlay=e,this.parser=i}static get(t){return t&&t.props&&t.props[Q.mounted.id]}},T0=Object.create(null),fe=class s{constructor(t,e,i,n=0){this.name=t,this.props=e,this.id=i,this.flags=n}static define(t){let e=t.props&&t.props.length?Object.create(null):T0,i=(t.top?1:0)|(t.skipped?2:0)|(t.error?4:0)|(t.name==null?8:0),n=new s(t.name||"",e,t.id,i);if(t.props){for(let r of t.props)if(Array.isArray(r)||(r=r(n)),r){if(r[0].perNode)throw new RangeError("Can\'t store a per-node prop on a node type");e[r[0].id]=r[1]}}return n}prop(t){return this.props[t.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(t){if(typeof t=="string"){if(this.name==t)return!0;let e=this.prop(Q.group);return e?e.indexOf(t)>-1:!1}return this.id==t}static match(t){let e=Object.create(null);for(let i in t)for(let n of i.split(" "))e[n]=t[i];return i=>{for(let n=i.prop(Q.group),r=-1;r<(n?n.length:0);r++){let o=e[r<0?i.name:n[r]];if(o)return o}}}};fe.none=new fe("",Object.create(null),0,8);var Kr=new WeakMap,Lu=new WeakMap,St;(function(s){s[s.ExcludeBuffers=1]="ExcludeBuffers",s[s.IncludeAnonymous=2]="IncludeAnonymous",s[s.IgnoreMounts=4]="IgnoreMounts",s[s.IgnoreOverlays=8]="IgnoreOverlays"})(St||(St={}));var Rt=class s{constructor(t,e,i,n,r){if(this.type=t,this.children=e,this.positions=i,this.length=n,this.props=null,r&&r.length){this.props=Object.create(null);for(let[o,l]of r)this.props[typeof o=="number"?o:o.id]=l}}toString(){let t=bn.get(this);if(t&&!t.overlay)return t.tree.toString();let e="";for(let i of this.children){let n=i.toString();n&&(e&&(e+=","),e+=n)}return this.type.name?(/\\W/.test(this.type.name)&&!this.type.isError?JSON.stringify(this.type.name):this.type.name)+(e.length?"("+e+")":""):e}cursor(t=0){return new vs(this.topNode,t)}cursorAt(t,e=0,i=0){let n=Kr.get(this)||this.topNode,r=new vs(n);return r.moveTo(t,e),Kr.set(this,r._tree),r}get topNode(){return new De(this,0,0,null)}resolve(t,e=0){let i=ws(Kr.get(this)||this.topNode,t,e,!1);return Kr.set(this,i),i}resolveInner(t,e=0){let i=ws(Lu.get(this)||this.topNode,t,e,!0);return Lu.set(this,i),i}resolveStack(t,e=0){return A0(this,t,e)}iterate(t){let{enter:e,leave:i,from:n=0,to:r=this.length}=t,o=t.mode||0,l=(o&St.IncludeAnonymous)>0;for(let a=this.cursor(o|St.IncludeAnonymous);;){let h=!1;if(a.from<=r&&a.to>=n&&(!l&&a.type.isAnonymous||e(a)!==!1)){if(a.firstChild())continue;h=!0}for(;h&&i&&(l||!a.type.isAnonymous)&&i(a),!a.nextSibling();){if(!a.parent())return;h=!0}}}prop(t){return t.perNode?this.props?this.props[t.id]:void 0:this.type.prop(t)}get propValues(){let t=[];if(this.props)for(let e in this.props)t.push([+e,this.props[e]]);return t}balance(t={}){return this.children.length<=8?this:Ca(fe.none,this.children,this.positions,0,this.children.length,0,this.length,(e,i,n)=>new s(this.type,e,i,n,this.propValues),t.makeTree||((e,i,n)=>new s(fe.none,e,i,n)))}static build(t){return O0(t)}};Rt.empty=new Rt(fe.none,[],[],0);var wa=class s{constructor(t,e){this.buffer=t,this.index=e}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 s(this.buffer,this.index)}},bi=class s{constructor(t,e,i){this.buffer=t,this.length=e,this.set=i}get type(){return fe.none}toString(){let t=[];for(let e=0;e<this.buffer.length;)t.push(this.childString(e)),e=this.buffer[e+3];return t.join(",")}childString(t){let e=this.buffer[t],i=this.buffer[t+3],n=this.set.types[e],r=n.name;if(/\\W/.test(r)&&!n.isError&&(r=JSON.stringify(r)),t+=4,i==t)return r;let o=[];for(;t<i;)o.push(this.childString(t)),t=this.buffer[t+3];return r+"("+o.join(",")+")"}findChild(t,e,i,n,r){let{buffer:o}=this,l=-1;for(let a=t;a!=e&&!(Vu(r,n,o[a+1],o[a+2])&&(l=a,i>0));a=o[a+3]);return l}slice(t,e,i){let n=this.buffer,r=new Uint16Array(e-t),o=0;for(let l=t,a=0;l<e;){r[a++]=n[l++],r[a++]=n[l++]-i;let h=r[a++]=n[l++]-i;r[a++]=n[l++]-t,o=Math.max(o,h)}return new s(r,o,this.set)}};function Vu(s,t,e,i){switch(s){case-2:return e<t;case-1:return i>=t&&e<t;case 0:return e<t&&i>t;case 1:return e<=t&&i>t;case 2:return i>t;case 4:return!0}}function ws(s,t,e,i){for(var n;s.from==s.to||(e<1?s.from>=t:s.from>t)||(e>-1?s.to<=t:s.to<t);){let o=!i&&s instanceof De&&s.index<0?null:s.parent;if(!o)return s;s=o}let r=i?0:St.IgnoreOverlays;if(i)for(let o=s,l=o.parent;l;o=l,l=o.parent)o instanceof De&&o.index<0&&((n=l.enter(t,e,r))===null||n===void 0?void 0:n.from)!=o.from&&(s=l);for(;;){let o=s.enter(t,e,r);if(!o)return s;s=o}}var Xr=class{cursor(t=0){return new vs(this,t)}getChild(t,e=null,i=null){let n=Hu(this,t,e,i);return n.length?n[0]:null}getChildren(t,e=null,i=null){return Hu(this,t,e,i)}resolve(t,e=0){return ws(this,t,e,!1)}resolveInner(t,e=0){return ws(this,t,e,!0)}matchContext(t){return ya(this.parent,t)}enterUnfinishedNodesBefore(t){let e=this.childBefore(t),i=this;for(;e;){let n=e.lastChild;if(!n||n.to!=e.to)break;n.type.isError&&n.from==n.to?(i=e,e=n.prevSibling):e=n}return i}get node(){return this}get next(){return this.parent}},De=class s extends Xr{constructor(t,e,i,n){super(),this._tree=t,this.from=e,this.index=i,this._parent=n}get type(){return this._tree.type}get name(){return this._tree.type.name}get to(){return this.from+this._tree.length}nextChild(t,e,i,n,r=0){for(let o=this;;){for(let{children:l,positions:a}=o._tree,h=e>0?l.length:-1;t!=h;t+=e){let f=l[t],c=a[t]+o.from;if(Vu(n,i,c,c+f.length)){if(f instanceof bi){if(r&St.ExcludeBuffers)continue;let u=f.findChild(0,f.buffer.length,e,i-c,n);if(u>-1)return new ys(new va(o,f,t,c),null,u)}else if(r&St.IncludeAnonymous||!f.type.isAnonymous||Sa(f)){let u;if(!(r&St.IgnoreMounts)&&(u=bn.get(f))&&!u.overlay)return new s(u.tree,c,t,o);let d=new s(f,c,t,o);return r&St.IncludeAnonymous||!d.type.isAnonymous?d:d.nextChild(e<0?f.children.length-1:0,e,i,n)}}}if(r&St.IncludeAnonymous||!o.type.isAnonymous||(o.index>=0?t=o.index+e:t=e<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(t){return this.nextChild(0,1,t,2)}childBefore(t){return this.nextChild(this._tree.children.length-1,-1,t,-2)}enter(t,e,i=0){let n;if(!(i&St.IgnoreOverlays)&&(n=bn.get(this._tree))&&n.overlay){let r=t-this.from;for(let{from:o,to:l}of n.overlay)if((e>0?o<=r:o<r)&&(e<0?l>=r:l>r))return new s(n.tree,n.overlay[0].from+this.from,-1,this)}return this.nextChild(0,1,t,e,i)}nextSignificantParent(){let t=this;for(;t.type.isAnonymous&&t._parent;)t=t._parent;return t}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 Hu(s,t,e,i){let n=s.cursor(),r=[];if(!n.firstChild())return r;if(e!=null){for(let o=!1;!o;)if(o=n.type.is(e),!n.nextSibling())return r}for(;;){if(i!=null&&n.type.is(i))return r;if(n.type.is(t)&&r.push(n.node),!n.nextSibling())return i==null?r:[]}}function ya(s,t,e=t.length-1){for(let i=s;e>=0;i=i.parent){if(!i)return!1;if(!i.type.isAnonymous){if(t[e]&&t[e]!=i.name)return!1;e--}}return!0}var va=class{constructor(t,e,i,n){this.parent=t,this.buffer=e,this.index=i,this.start=n}},ys=class s extends Xr{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(t,e,i){super(),this.context=t,this._parent=e,this.index=i,this.type=t.buffer.set.types[t.buffer.buffer[i]]}child(t,e,i){let{buffer:n}=this.context,r=n.findChild(this.index+4,n.buffer[this.index+3],t,e-this.context.start,i);return r<0?null:new s(this.context,this,r)}get firstChild(){return this.child(1,0,4)}get lastChild(){return this.child(-1,0,4)}childAfter(t){return this.child(1,t,2)}childBefore(t){return this.child(-1,t,-2)}enter(t,e,i=0){if(i&St.ExcludeBuffers)return null;let{buffer:n}=this.context,r=n.findChild(this.index+4,n.buffer[this.index+3],e>0?1:-1,t-this.context.start,e);return r<0?null:new s(this.context,this,r)}get parent(){return this._parent||this.context.parent.nextSignificantParent()}externalSibling(t){return this._parent?null:this.context.parent.nextChild(this.context.index+t,t,0,4)}get nextSibling(){let{buffer:t}=this.context,e=t.buffer[this.index+3];return e<(this._parent?t.buffer[this._parent.index+3]:t.buffer.length)?new s(this.context,this._parent,e):this.externalSibling(1)}get prevSibling(){let{buffer:t}=this.context,e=this._parent?this._parent.index+4:0;return this.index==e?this.externalSibling(-1):new s(this.context,this._parent,t.findChild(e,this.index,-1,0,4))}get tree(){return null}toTree(){let t=[],e=[],{buffer:i}=this.context,n=this.index+4,r=i.buffer[this.index+3];if(r>n){let o=i.buffer[this.index+1];t.push(i.slice(n,r,o)),e.push(0)}return new Rt(this.type,t,e,this.to-this.from)}toString(){return this.context.buffer.childString(this.index)}};function zu(s){if(!s.length)return null;let t=0,e=s[0];for(let r=1;r<s.length;r++){let o=s[r];(o.from>e.from||o.to<e.to)&&(e=o,t=r)}let i=e instanceof De&&e.index<0?null:e.parent,n=s.slice();return i?n[t]=i:n.splice(t,1),new ka(n,e)}var ka=class{constructor(t,e){this.heads=t,this.node=e}get next(){return zu(this.heads)}};function A0(s,t,e){let i=s.resolveInner(t,e),n=null;for(let r=i instanceof De?i:i.context.parent;r;r=r.parent)if(r.index<0){let o=r.parent;(n||(n=[i])).push(o.resolve(t,e)),r=o}else{let o=bn.get(r.tree);if(o&&o.overlay&&o.overlay[0].from<=t&&o.overlay[o.overlay.length-1].to>=t){let l=new De(o.tree,o.overlay[0].from+r.from,-1,r);(n||(n=[i])).push(ws(l,t,e,!1))}}return n?zu(n):i}var vs=class{get name(){return this.type.name}constructor(t,e=0){if(this.mode=e,this.buffer=null,this.stack=[],this.index=0,this.bufferNode=null,t instanceof De)this.yieldNode(t);else{this._tree=t.context.parent,this.buffer=t.context;for(let i=t._parent;i;i=i._parent)this.stack.unshift(i.index);this.bufferNode=t,this.yieldBuf(t.index)}}yieldNode(t){return t?(this._tree=t,this.type=t.type,this.from=t.from,this.to=t.to,!0):!1}yieldBuf(t,e){this.index=t;let{start:i,buffer:n}=this.buffer;return this.type=e||n.set.types[n.buffer[t]],this.from=i+n.buffer[t+1],this.to=i+n.buffer[t+2],!0}yield(t){return t?t instanceof De?(this.buffer=null,this.yieldNode(t)):(this.buffer=t.context,this.yieldBuf(t.index,t.type)):!1}toString(){return this.buffer?this.buffer.buffer.childString(this.index):this._tree.toString()}enterChild(t,e,i){if(!this.buffer)return this.yield(this._tree.nextChild(t<0?this._tree._tree.children.length-1:0,t,e,i,this.mode));let{buffer:n}=this.buffer,r=n.findChild(this.index+4,n.buffer[this.index+3],t,e-this.buffer.start,i);return r<0?!1:(this.stack.push(this.index),this.yieldBuf(r))}firstChild(){return this.enterChild(1,0,4)}lastChild(){return this.enterChild(-1,0,4)}childAfter(t){return this.enterChild(1,t,2)}childBefore(t){return this.enterChild(-1,t,-2)}enter(t,e,i=this.mode){return this.buffer?i&St.ExcludeBuffers?!1:this.enterChild(1,t,e):this.yield(this._tree.enter(t,e,i))}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 t=this.mode&St.IncludeAnonymous?this.buffer.parent:this.buffer.parent.nextSignificantParent();return this.buffer=null,this.yieldNode(t)}sibling(t){if(!this.buffer)return this._tree._parent?this.yield(this._tree.index<0?null:this._tree._parent.nextChild(this._tree.index+t,t,0,4,this.mode)):!1;let{buffer:e}=this.buffer,i=this.stack.length-1;if(t<0){let n=i<0?0:this.stack[i]+4;if(this.index!=n)return this.yieldBuf(e.findChild(n,this.index,-1,0,4))}else{let n=e.buffer[this.index+3];if(n<(i<0?e.buffer.length:e.buffer[this.stack[i]+3]))return this.yieldBuf(n)}return i<0?this.yield(this.buffer.parent.nextChild(this.buffer.index+t,t,0,4,this.mode)):!1}nextSibling(){return this.sibling(1)}prevSibling(){return this.sibling(-1)}atLastNode(t){let e,i,{buffer:n}=this;if(n){if(t>0){if(this.index<n.buffer.buffer.length)return!1}else for(let r=0;r<this.index;r++)if(n.buffer.buffer[r+3]<this.index)return!1;({index:e,parent:i}=n)}else({index:e,_parent:i}=this._tree);for(;i;{index:e,_parent:i}=i)if(e>-1)for(let r=e+t,o=t<0?-1:i._tree.children.length;r!=o;r+=t){let l=i._tree.children[r];if(this.mode&St.IncludeAnonymous||l instanceof bi||!l.type.isAnonymous||Sa(l))return!1}return!0}move(t,e){if(e&&this.enterChild(t,0,4))return!0;for(;;){if(this.sibling(t))return!0;if(this.atLastNode(t)||!this.parent())return!1}}next(t=!0){return this.move(1,t)}prev(t=!0){return this.move(-1,t)}moveTo(t,e=0){for(;(this.from==this.to||(e<1?this.from>=t:this.from>t)||(e>-1?this.to<=t:this.to<t))&&this.parent(););for(;this.enterChild(1,t,e););return this}get node(){if(!this.buffer)return this._tree;let t=this.bufferNode,e=null,i=0;if(t&&t.context==this.buffer)t:for(let n=this.index,r=this.stack.length;r>=0;){for(let o=t;o;o=o._parent)if(o.index==n){if(n==this.index)return o;e=o,i=r+1;break t}n=this.stack[--r]}for(let n=i;n<this.stack.length;n++)e=new ys(this.buffer,e,this.stack[n]);return this.bufferNode=new ys(this.buffer,e,this.index)}get tree(){return this.buffer?null:this._tree._tree}iterate(t,e){for(let i=0;;){let n=!1;if(this.type.isAnonymous||t(this)!==!1){if(this.firstChild()){i++;continue}this.type.isAnonymous||(n=!0)}for(;;){if(n&&e&&e(this),n=this.type.isAnonymous,!i)return;if(this.nextSibling())break;this.parent(),i--,n=!0}}}matchContext(t){if(!this.buffer)return ya(this.node.parent,t);let{buffer:e}=this.buffer,{types:i}=e.set;for(let n=t.length-1,r=this.stack.length-1;n>=0;r--){if(r<0)return ya(this._tree,t,n);let o=i[e.buffer[this.stack[r]]];if(!o.isAnonymous){if(t[n]&&t[n]!=o.name)return!1;n--}}return!0}};function Sa(s){return s.children.some(t=>t instanceof bi||!t.type.isAnonymous||Sa(t))}function O0(s){var t;let{buffer:e,nodeSet:i,maxBufferLength:n=1024,reused:r=[],minRepeatType:o=i.types.length}=s,l=Array.isArray(e)?new wa(e,e.length):e,a=i.types,h=0,f=0;function c(x,S,k,R,P,z){let{id:E,start:M,end:H,size:F}=l,j=f,Mt=h;for(;F<0;)if(l.next(),F==-1){let kt=r[E];k.push(kt),R.push(M-x);return}else if(F==-3){h=E;return}else if(F==-4){f=E;return}else throw new RangeError(`Unrecognized record size: ${F}`);let pe=a[E],qe,Lt,$n=M-x;if(H-M<=n&&(Lt=m(l.pos-S,P))){let kt=new Uint16Array(Lt.size-Lt.skip),rt=l.pos-Lt.size,ut=kt.length;for(;l.pos>rt;)ut=b(Lt.start,kt,ut);qe=new bi(kt,H-Lt.start,i),$n=Lt.start-x}else{let kt=l.pos-F;l.next();let rt=[],ut=[],Ht=E>=o?E:-1,$t=0,$e=H;for(;l.pos>kt;)Ht>=0&&l.id==Ht&&l.size>=0?(l.end<=$e-n&&(p(rt,ut,M,$t,l.end,$e,Ht,j,Mt),$t=rt.length,$e=l.end),l.next()):z>2500?u(M,kt,rt,ut):c(M,kt,rt,ut,Ht,z+1);if(Ht>=0&&$t>0&&$t<rt.length&&p(rt,ut,M,$t,M,$e,Ht,j,Mt),rt.reverse(),ut.reverse(),Ht>-1&&$t>0){let Kn=d(pe,Mt);qe=Ca(pe,rt,ut,0,rt.length,0,H-M,Kn,Kn)}else qe=g(pe,rt,ut,H-M,j-H,Mt)}k.push(qe),R.push($n)}function u(x,S,k,R){let P=[],z=0,E=-1;for(;l.pos>S;){let{id:M,start:H,end:F,size:j}=l;if(j>4)l.next();else{if(E>-1&&H<E)break;E<0&&(E=F-n),P.push(M,H,F),z++,l.next()}}if(z){let M=new Uint16Array(z*4),H=P[P.length-2];for(let F=P.length-3,j=0;F>=0;F-=3)M[j++]=P[F],M[j++]=P[F+1]-H,M[j++]=P[F+2]-H,M[j++]=j;k.push(new bi(M,P[2]-H,i)),R.push(H-x)}}function d(x,S){return(k,R,P)=>{let z=0,E=k.length-1,M,H;if(E>=0&&(M=k[E])instanceof Rt){if(!E&&M.type==x&&M.length==P)return M;(H=M.prop(Q.lookAhead))&&(z=R[E]+M.length+H)}return g(x,k,R,P,z,S)}}function p(x,S,k,R,P,z,E,M,H){let F=[],j=[];for(;x.length>R;)F.push(x.pop()),j.push(S.pop()+k-P);x.push(g(i.types[E],F,j,z-P,M-z,H)),S.push(P-k)}function g(x,S,k,R,P,z,E){if(z){let M=[Q.contextHash,z];E=E?[M].concat(E):[M]}if(P>25){let M=[Q.lookAhead,P];E=E?[M].concat(E):[M]}return new Rt(x,S,k,R,E)}function m(x,S){let k=l.fork(),R=0,P=0,z=0,E=k.end-n,M={size:0,start:0,skip:0};t:for(let H=k.pos-x;k.pos>H;){let F=k.size;if(k.id==S&&F>=0){M.size=R,M.start=P,M.skip=z,z+=4,R+=4,k.next();continue}let j=k.pos-F;if(F<0||j<H||k.start<E)break;let Mt=k.id>=o?4:0,pe=k.start;for(k.next();k.pos>j;){if(k.size<0)if(k.size==-3)Mt+=4;else break t;else k.id>=o&&(Mt+=4);k.next()}P=pe,R+=F,z+=Mt}return(S<0||R==x)&&(M.size=R,M.start=P,M.skip=z),M.size>4?M:void 0}function b(x,S,k){let{id:R,start:P,end:z,size:E}=l;if(l.next(),E>=0&&R<o){let M=k;if(E>4){let H=l.pos-(E-4);for(;l.pos>H;)k=b(x,S,k)}S[--k]=M,S[--k]=z-x,S[--k]=P-x,S[--k]=R}else E==-3?h=R:E==-4&&(f=R);return k}let w=[],y=[];for(;l.pos>0;)c(s.start||0,s.bufferStart||0,w,y,-1,0);let v=(t=s.length)!==null&&t!==void 0?t:w.length?y[0]+w[0].length:0;return new Rt(a[s.topID],w.reverse(),y.reverse(),v)}var Fu=new WeakMap;function Yr(s,t){if(!s.isAnonymous||t instanceof bi||t.type!=s)return 1;let e=Fu.get(t);if(e==null){e=1;for(let i of t.children){if(i.type!=s||!(i instanceof Rt)){e=1;break}e+=Yr(s,i)}Fu.set(t,e)}return e}function Ca(s,t,e,i,n,r,o,l,a){let h=0;for(let p=i;p<n;p++)h+=Yr(s,t[p]);let f=Math.ceil(h*1.5/8),c=[],u=[];function d(p,g,m,b,w){for(let y=m;y<b;){let v=y,x=g[y],S=Yr(s,p[y]);for(y++;y<b;y++){let k=Yr(s,p[y]);if(S+k>=f)break;S+=k}if(y==v+1){if(S>f){let k=p[v];d(k.children,k.positions,0,k.children.length,g[v]+w);continue}c.push(p[v])}else{let k=g[y-1]+p[y-1].length-x;c.push(Ca(s,p,g,v,y,x,k,null,a))}u.push(x+w-r)}}return d(t,e,i,n,0),(l||a)(c,u,o)}var we=class s{constructor(t,e,i,n,r=!1,o=!1){this.from=t,this.to=e,this.tree=i,this.offset=n,this.open=(r?1:0)|(o?2:0)}get openStart(){return(this.open&1)>0}get openEnd(){return(this.open&2)>0}static addTree(t,e=[],i=!1){let n=[new s(0,t.length,t,0,!1,i)];for(let r of e)r.to>t.length&&n.push(r);return n}static applyChanges(t,e,i=128){if(!e.length)return t;let n=[],r=1,o=t.length?t[0]:null;for(let l=0,a=0,h=0;;l++){let f=l<e.length?e[l]:null,c=f?f.fromA:1e9;if(c-a>=i)for(;o&&o.from<c;){let u=o;if(a>=u.from||c<=u.to||h){let d=Math.max(u.from,a)-h,p=Math.min(u.to,c)-h;u=d>=p?null:new s(d,p,u.tree,u.offset+h,l>0,!!f)}if(u&&n.push(u),o.to>c)break;o=r<t.length?t[r++]:null}if(!f)break;a=f.toA,h=f.toA-f.toB}return n}},Jr=class{startParse(t,e,i){return typeof t=="string"&&(t=new xa(t)),i=i?i.length?i.map(n=>new bs(n.from,n.to)):[new bs(0,0)]:[new bs(0,t.length)],this.createParse(t,e||[],i)}parse(t,e,i){let n=this.startParse(t,e,i);for(;;){let r=n.advance();if(r)return r}}},xa=class{constructor(t){this.string=t}get length(){return this.string.length}chunk(t){return this.string.slice(t)}get lineChunks(){return!1}read(t,e){return this.string.slice(t,e)}};var Cv=new Q({perNode:!0});var _0=0,ye=class s{constructor(t,e,i,n){this.name=t,this.set=e,this.base=i,this.modified=n,this.id=_0++}toString(){let{name:t}=this;for(let e of this.modified)e.name&&(t=`${e.name}(${t})`);return t}static define(t,e){let i=typeof t=="string"?t:"?";if(t instanceof s&&(e=t),e!=null&&e.base)throw new Error("Can not derive from a modified tag");let n=new s(i,[],null,[]);if(n.set.push(n),e)for(let r of e.set)n.set.push(r);return n}static defineModifier(t){let e=new eo(t);return i=>i.modified.indexOf(e)>-1?i:eo.get(i.base||i,i.modified.concat(e).sort((n,r)=>n.id-r.id))}},E0=0,eo=class s{constructor(t){this.name=t,this.instances=[],this.id=E0++}static get(t,e){if(!e.length)return t;let i=e[0].instances.find(l=>l.base==t&&D0(e,l.modified));if(i)return i;let n=[],r=new ye(t.name,n,t,e);for(let l of e)l.instances.push(r);let o=P0(e);for(let l of t.set)if(!l.modified.length)for(let a of o)n.push(s.get(l,a));return r}};function D0(s,t){return s.length==t.length&&s.every((e,i)=>e==t[i])}function P0(s){let t=[[]];for(let e=0;e<s.length;e++)for(let i=0,n=t.length;i<n;i++)t.push(t[i].concat(s[e]));return t.sort((e,i)=>i.length-e.length)}var Av=new Q,io=class{constructor(t,e,i,n){this.tags=t,this.mode=e,this.context=i,this.next=n}get opaque(){return this.mode==0}get inherit(){return this.mode==1}sort(t){return!t||t.depth<this.depth?(this.next=t,this):(t.next=this.sort(t.next),t)}get depth(){return this.context?this.context.length:0}};io.empty=new io([],2,null);function Aa(s,t){let e=Object.create(null);for(let r of s)if(!Array.isArray(r.tag))e[r.tag.id]=r.class;else for(let o of r.tag)e[o.id]=r.class;let{scope:i,all:n=null}=t||{};return{style:r=>{let o=n;for(let l of r)for(let a of l.set){let h=e[a.id];if(h){o=o?o+" "+h:h;break}}return o},scope:i}}var T=ye.define,Qr=T(),wi=T(),Wu=T(wi),Gu=T(wi),yi=T(),Zr=T(yi),Ma=T(yi),Ie=T(),zi=T(Ie),Pe=T(),Re=T(),Ta=T(),ks=T(Ta),to=T(),O={comment:Qr,lineComment:T(Qr),blockComment:T(Qr),docComment:T(Qr),name:wi,variableName:T(wi),typeName:Wu,tagName:T(Wu),propertyName:Gu,attributeName:T(Gu),className:T(wi),labelName:T(wi),namespace:T(wi),macroName:T(wi),literal:yi,string:Zr,docString:T(Zr),character:T(Zr),attributeValue:T(Zr),number:Ma,integer:T(Ma),float:T(Ma),bool:T(yi),regexp:T(yi),escape:T(yi),color:T(yi),url:T(yi),keyword:Pe,self:T(Pe),null:T(Pe),atom:T(Pe),unit:T(Pe),modifier:T(Pe),operatorKeyword:T(Pe),controlKeyword:T(Pe),definitionKeyword:T(Pe),moduleKeyword:T(Pe),operator:Re,derefOperator:T(Re),arithmeticOperator:T(Re),logicOperator:T(Re),bitwiseOperator:T(Re),compareOperator:T(Re),updateOperator:T(Re),definitionOperator:T(Re),typeOperator:T(Re),controlOperator:T(Re),punctuation:Ta,separator:T(Ta),bracket:ks,angleBracket:T(ks),squareBracket:T(ks),paren:T(ks),brace:T(ks),content:Ie,heading:zi,heading1:T(zi),heading2:T(zi),heading3:T(zi),heading4:T(zi),heading5:T(zi),heading6:T(zi),contentSeparator:T(Ie),list:T(Ie),quote:T(Ie),emphasis:T(Ie),strong:T(Ie),link:T(Ie),monospace:T(Ie),strikethrough:T(Ie),inserted:T(),deleted:T(),changed:T(),invalid:T(),meta:to,documentMeta:T(to),annotation:T(to),processingInstruction:T(to),definition:ye.defineModifier("definition"),constant:ye.defineModifier("constant"),function:ye.defineModifier("function"),standard:ye.defineModifier("standard"),local:ye.defineModifier("local"),special:ye.defineModifier("special")};for(let s in O){let t=O[s];t instanceof ye&&(t.name=s)}var Ov=Aa([{tag:O.link,class:"tok-link"},{tag:O.heading,class:"tok-heading"},{tag:O.emphasis,class:"tok-emphasis"},{tag:O.strong,class:"tok-strong"},{tag:O.keyword,class:"tok-keyword"},{tag:O.atom,class:"tok-atom"},{tag:O.bool,class:"tok-bool"},{tag:O.url,class:"tok-url"},{tag:O.labelName,class:"tok-labelName"},{tag:O.inserted,class:"tok-inserted"},{tag:O.deleted,class:"tok-deleted"},{tag:O.literal,class:"tok-literal"},{tag:O.string,class:"tok-string"},{tag:O.number,class:"tok-number"},{tag:[O.regexp,O.escape,O.special(O.string)],class:"tok-string2"},{tag:O.variableName,class:"tok-variableName"},{tag:O.local(O.variableName),class:"tok-variableName tok-local"},{tag:O.definition(O.variableName),class:"tok-variableName tok-definition"},{tag:O.special(O.variableName),class:"tok-variableName2"},{tag:O.definition(O.propertyName),class:"tok-propertyName tok-definition"},{tag:O.typeName,class:"tok-typeName"},{tag:O.namespace,class:"tok-namespace"},{tag:O.className,class:"tok-className"},{tag:O.macroName,class:"tok-macroName"},{tag:O.propertyName,class:"tok-propertyName"},{tag:O.operator,class:"tok-operator"},{tag:O.comment,class:"tok-comment"},{tag:O.meta,class:"tok-meta"},{tag:O.invalid,class:"tok-invalid"},{tag:O.punctuation,class:"tok-punctuation"}]);var Oa,Ss=new Q;var R0=new Q,ce=class{constructor(t,e,i=[],n=""){this.data=t,this.name=n,ct.prototype.hasOwnProperty("tree")||Object.defineProperty(ct.prototype,"tree",{get(){return Ea(this)}}),this.parser=e,this.extension=[wn.of(this),ct.languageData.of((r,o,l)=>{let a=Uu(r,o,l),h=a.type.prop(Ss);if(!h)return[];let f=r.facet(h),c=a.type.prop(R0);if(c){let u=a.resolve(o-a.from,l);for(let d of c)if(d.test(u,r)){let p=r.facet(d.facet);return d.type=="replace"?p:p.concat(f)}}return f})].concat(i)}isActiveAt(t,e,i=-1){return Uu(t,e,i).type.prop(Ss)==this.data}findRegions(t){let e=t.facet(wn);if((e==null?void 0:e.data)==this.data)return[{from:0,to:t.doc.length}];if(!e||!e.allowsNesting)return[];let i=[],n=(r,o)=>{if(r.prop(Ss)==this.data){i.push({from:o,to:o+r.length});return}let l=r.prop(Q.mounted);if(l){if(l.tree.prop(Ss)==this.data){if(l.overlay)for(let a of l.overlay)i.push({from:a.from+o,to:a.to+o});else i.push({from:o,to:o+r.length});return}else if(l.overlay){let a=i.length;if(n(l.tree,l.overlay[0].from+o),i.length>a)return}}for(let a=0;a<r.children.length;a++){let h=r.children[a];h instanceof Rt&&n(h,r.positions[a]+o)}};return n(Ea(t),0),i}get allowsNesting(){return!0}};ce.setState=ot.define();function Uu(s,t,e){let i=s.facet(wn),n=Ea(s).topNode;if(!i||i.allowsNesting)for(let r=n;r;r=r.enter(t,e,St.ExcludeBuffers))r.type.isTop&&(n=r);return n}function Ea(s){let t=s.field(ce.state,!1);return t?t.tree:Rt.empty}var Cs=class{constructor(t){this.doc=t,this.cursorPos=0,this.string="",this.cursor=t.iter()}get length(){return this.doc.length}syncTo(t){return this.string=this.cursor.next(t-this.cursorPos).value,this.cursorPos=t+this.string.length,this.cursorPos-this.string.length}chunk(t){return this.syncTo(t),this.string}get lineChunks(){return!0}read(t,e){let i=this.cursorPos-this.string.length;return t<i||e>=this.cursorPos?this.doc.sliceString(t,e):this.string.slice(t-i,e-i)}},xs=null,Da=class s{constructor(t,e,i=[],n,r,o,l,a){this.parser=t,this.state=e,this.fragments=i,this.tree=n,this.treeLen=r,this.viewport=o,this.skipped=l,this.scheduleOn=a,this.parse=null,this.tempSkipped=[]}static create(t,e,i){return new s(t,e,[],Rt.empty,0,i,[],null)}startParse(){return this.parser.startParse(new Cs(this.state.doc),this.fragments)}work(t,e){return e!=null&&e>=this.state.doc.length&&(e=void 0),this.tree!=Rt.empty&&this.isDone(e!=null?e:this.state.doc.length)?(this.takeTree(),!0):this.withContext(()=>{var i;if(typeof t=="number"){let n=Date.now()+t;t=()=>Date.now()>n}for(this.parse||(this.parse=this.startParse()),e!=null&&(this.parse.stoppedAt==null||this.parse.stoppedAt>e)&&e<this.state.doc.length&&this.parse.stopAt(e);;){let n=this.parse.advance();if(n)if(this.fragments=this.withoutTempSkipped(we.addTree(n,this.fragments,this.parse.stoppedAt!=null)),this.treeLen=(i=this.parse.stoppedAt)!==null&&i!==void 0?i:this.state.doc.length,this.tree=n,this.parse=null,this.treeLen<(e!=null?e:this.state.doc.length))this.parse=this.startParse();else return!0;if(t())return!1}})}takeTree(){let t,e;this.parse&&(t=this.parse.parsedPos)>=this.treeLen&&((this.parse.stoppedAt==null||this.parse.stoppedAt>t)&&this.parse.stopAt(t),this.withContext(()=>{for(;!(e=this.parse.advance()););}),this.treeLen=t,this.tree=e,this.fragments=this.withoutTempSkipped(we.addTree(this.tree,this.fragments,!0)),this.parse=null)}withContext(t){let e=xs;xs=this;try{return t()}finally{xs=e}}withoutTempSkipped(t){for(let e;e=this.tempSkipped.pop();)t=ju(t,e.from,e.to);return t}changes(t,e){let{fragments:i,tree:n,treeLen:r,viewport:o,skipped:l}=this;if(this.takeTree(),!t.empty){let a=[];if(t.iterChangedRanges((h,f,c,u)=>a.push({fromA:h,toA:f,fromB:c,toB:u})),i=we.applyChanges(i,a),n=Rt.empty,r=0,o={from:t.mapPos(o.from,-1),to:t.mapPos(o.to,1)},this.skipped.length){l=[];for(let h of this.skipped){let f=t.mapPos(h.from,1),c=t.mapPos(h.to,-1);f<c&&l.push({from:f,to:c})}}}return new s(this.parser,e,i,n,r,o,l,this.scheduleOn)}updateViewport(t){if(this.viewport.from==t.from&&this.viewport.to==t.to)return!1;this.viewport=t;let e=this.skipped.length;for(let i=0;i<this.skipped.length;i++){let{from:n,to:r}=this.skipped[i];n<t.to&&r>t.from&&(this.fragments=ju(this.fragments,n,r),this.skipped.splice(i--,1))}return this.skipped.length>=e?!1:(this.reset(),!0)}reset(){this.parse&&(this.takeTree(),this.parse=null)}skipUntilInView(t,e){this.skipped.push({from:t,to:e})}static getSkippingParser(t){return new class extends Jr{createParse(e,i,n){let r=n[0].from,o=n[n.length-1].to;return{parsedPos:r,advance(){let a=xs;if(a){for(let h of n)a.tempSkipped.push(h);t&&(a.scheduleOn=a.scheduleOn?Promise.all([a.scheduleOn,t]):t)}return this.parsedPos=o,new Rt(fe.none,[],[],o-r)},stoppedAt:null,stopAt(){}}}}}isDone(t){t=Math.min(t,this.state.doc.length);let e=this.fragments;return this.treeLen>=t&&e.length&&e[0].from==0&&e[0].to>=t}static get(){return xs}};function ju(s,t,e){return we.applyChanges(s,[{fromA:t,toA:e,fromB:t,toB:e}])}var Ms=class s{constructor(t){this.context=t,this.tree=t.tree}apply(t){if(!t.docChanged&&this.tree==this.context.tree)return this;let e=this.context.changes(t.changes,t.state),i=this.context.treeLen==t.startState.doc.length?void 0:Math.max(t.changes.mapPos(this.context.treeLen),e.viewport.to);return e.work(20,i)||e.takeTree(),new s(e)}static init(t){let e=Math.min(3e3,t.doc.length),i=Da.create(t.facet(wn).parser,t,{from:0,to:e});return i.work(20,e)||i.takeTree(),new s(i)}};ce.state=Tt.define({create:Ms.init,update(s,t){for(let e of t.effects)if(e.is(ce.setState))return e.value;return t.startState.facet(wn)!=t.state.facet(wn)?Ms.init(t.state):s.apply(t)}});var qu=s=>{let t=setTimeout(()=>s(),500);return()=>clearTimeout(t)};typeof requestIdleCallback!="undefined"&&(qu=s=>{let t=-1,e=setTimeout(()=>{t=requestIdleCallback(s,{timeout:400})},100);return()=>t<0?clearTimeout(e):cancelIdleCallback(t)});var _a=typeof navigator!="undefined"&&(!((Oa=navigator.scheduling)===null||Oa===void 0)&&Oa.isInputPending)?()=>navigator.scheduling.isInputPending():null,I0=me.fromClass(class{constructor(t){this.view=t,this.working=null,this.workScheduled=0,this.chunkEnd=-1,this.chunkBudget=-1,this.work=this.work.bind(this),this.scheduleWork()}update(t){let e=this.view.state.field(ce.state).context;(e.updateViewport(t.view.viewport)||this.view.viewport.to>e.treeLen)&&this.scheduleWork(),(t.docChanged||t.selectionSet)&&(this.view.hasFocus&&(this.chunkBudget+=50),this.scheduleWork()),this.checkAsyncSchedule(e)}scheduleWork(){if(this.working)return;let{state:t}=this.view,e=t.field(ce.state);(e.tree!=e.context.tree||!e.context.isDone(t.doc.length))&&(this.working=qu(this.work))}work(t){this.working=null;let e=Date.now();if(this.chunkEnd<e&&(this.chunkEnd<0||this.view.hasFocus)&&(this.chunkEnd=e+3e4,this.chunkBudget=3e3),this.chunkBudget<=0)return;let{state:i,viewport:{to:n}}=this.view,r=i.field(ce.state);if(r.tree==r.context.tree&&r.context.isDone(n+1e5))return;let o=Date.now()+Math.min(this.chunkBudget,100,t&&!_a?Math.max(25,t.timeRemaining()-5):1e9),l=r.context.treeLen<n&&i.doc.length>n+1e3,a=r.context.work(()=>_a&&_a()||Date.now()>o,n+(l?0:1e5));this.chunkBudget-=Date.now()-e,(a||this.chunkBudget<=0)&&(r.context.takeTree(),this.view.dispatch({effects:ce.setState.of(new Ms(r.context))})),this.chunkBudget>0&&!(a&&!l)&&this.scheduleWork(),this.checkAsyncSchedule(r.context)}checkAsyncSchedule(t){t.scheduleOn&&(this.workScheduled++,t.scheduleOn.then(()=>this.scheduleWork()).catch(e=>ge(this.view.state,e)).then(()=>this.workScheduled--),t.scheduleOn=null)}destroy(){this.working&&this.working()}isWorking(){return!!(this.working||this.workScheduled>0)}},{eventHandlers:{focus(){this.scheduleWork()}}}),wn=L.define({combine(s){return s.length?s[0]:null},enables:s=>[ce.state,I0,W.contentAttributes.compute([s],t=>{let e=t.facet(s);return e&&e.name?{"data-language":e.name}:{}})]});var Pa=class s{constructor(t,e){this.specs=t;let i;function n(l){let a=le.newName();return(i||(i=Object.create(null)))["."+a]=l,a}let r=typeof e.all=="string"?e.all:e.all?n(e.all):void 0,o=e.scope;this.scope=o instanceof ce?l=>l.prop(Ss)==o.data:o?l=>l==o:void 0,this.style=Aa(t.map(l=>({tag:l.tag,class:l.class||n(Object.assign({},l,{tag:null}))})),{all:r}).style,this.module=i?new le(i):null,this.themeType=e.themeType}static define(t,e){return new s(t,e||{})}};var Fv=Pa.define([{tag:O.meta,color:"#404740"},{tag:O.link,textDecoration:"underline"},{tag:O.heading,textDecoration:"underline",fontWeight:"bold"},{tag:O.emphasis,fontStyle:"italic"},{tag:O.strong,fontWeight:"bold"},{tag:O.strikethrough,textDecoration:"line-through"},{tag:O.keyword,color:"#708"},{tag:[O.atom,O.bool,O.url,O.contentSeparator,O.labelName],color:"#219"},{tag:[O.literal,O.inserted],color:"#164"},{tag:[O.string,O.deleted],color:"#a11"},{tag:[O.regexp,O.escape,O.special(O.string)],color:"#e40"},{tag:O.definition(O.variableName),color:"#00f"},{tag:O.local(O.variableName),color:"#30a"},{tag:[O.typeName,O.namespace],color:"#085"},{tag:O.className,color:"#167"},{tag:[O.special(O.variableName),O.macroName],color:"#256"},{tag:O.definition(O.propertyName),color:"#00c"},{tag:O.comment,color:"#940"},{tag:O.invalid,color:"#f00"}]);var Vv=[fe.none];var zv={rtl:J.mark({class:"cm-iso",inclusive:!0,attributes:{dir:"rtl"},bidiIsolate:mt.RTL}),ltr:J.mark({class:"cm-iso",inclusive:!0,attributes:{dir:"ltr"},bidiIsolate:mt.LTR}),auto:J.mark({class:"cm-iso",inclusive:!0,attributes:{dir:"auto"},bidiIsolate:null})};var Wi=L.define({combine:s=>s[0]}),Ra=new Xt,$u=L.define({combine:s=>s[0]}),B0=new Xt,Ku=L.define({combine:s=>s[0]}),N0=new Xt,L0=new Xt,Ia=ot.define();var H0=0,Ts=class{constructor(t,e){this.from=t,this.to=e}},q=class{constructor(t={}){this.id=H0++,this.perNode=!!t.perNode,this.deserialize=t.deserialize||(()=>{throw new Error("This node type doesn\'t define a deserialize function")})}add(t){if(this.perNode)throw new RangeError("Can\'t add per-node props to node types");return typeof t!="function"&&(t=It.match(t)),e=>{let i=t(e);return i===void 0?null:[this,i]}}};q.closedBy=new q({deserialize:s=>s.split(" ")});q.openedBy=new q({deserialize:s=>s.split(" ")});q.group=new q({deserialize:s=>s.split(" ")});q.isolate=new q({deserialize:s=>{if(s&&s!="rtl"&&s!="ltr"&&s!="auto")throw new RangeError("Invalid value for isolate: "+s);return s||"auto"}});q.contextHash=new q({perNode:!0});q.lookAhead=new q({perNode:!0});q.mounted=new q({perNode:!0});var yn=class{constructor(t,e,i){this.tree=t,this.overlay=e,this.parser=i}static get(t){return t&&t.props&&t.props[q.mounted.id]}},F0=Object.create(null),It=class s{constructor(t,e,i,n=0){this.name=t,this.props=e,this.id=i,this.flags=n}static define(t){let e=t.props&&t.props.length?Object.create(null):F0,i=(t.top?1:0)|(t.skipped?2:0)|(t.error?4:0)|(t.name==null?8:0),n=new s(t.name||"",e,t.id,i);if(t.props){for(let r of t.props)if(Array.isArray(r)||(r=r(n)),r){if(r[0].perNode)throw new RangeError("Can\'t store a per-node prop on a node type");e[r[0].id]=r[1]}}return n}prop(t){return this.props[t.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(t){if(typeof t=="string"){if(this.name==t)return!0;let e=this.prop(q.group);return e?e.indexOf(t)>-1:!1}return this.id==t}static match(t){let e=Object.create(null);for(let i in t)for(let n of i.split(" "))e[n]=t[i];return i=>{for(let n=i.prop(q.group),r=-1;r<(n?n.length:0);r++){let o=e[r<0?i.name:n[r]];if(o)return o}}}};It.none=new It("",Object.create(null),0,8);var As=class s{constructor(t){this.types=t;for(let e=0;e<t.length;e++)if(t[e].id!=e)throw new RangeError("Node type ids should correspond to array positions when creating a node set")}extend(...t){let e=[];for(let i of this.types){let n=null;for(let r of t){let o=r(i);o&&(n||(n=Object.assign({},i.props)),n[o[0].id]=o[1])}e.push(n?new It(i.name,n,i.id,i.flags):i)}return new s(e)}},no=new WeakMap,Yu=new WeakMap,bt;(function(s){s[s.ExcludeBuffers=1]="ExcludeBuffers",s[s.IncludeAnonymous=2]="IncludeAnonymous",s[s.IgnoreMounts=4]="IgnoreMounts",s[s.IgnoreOverlays=8]="IgnoreOverlays"})(bt||(bt={}));var dt=class s{constructor(t,e,i,n,r){if(this.type=t,this.children=e,this.positions=i,this.length=n,this.props=null,r&&r.length){this.props=Object.create(null);for(let[o,l]of r)this.props[typeof o=="number"?o:o.id]=l}}toString(){let t=yn.get(this);if(t&&!t.overlay)return t.tree.toString();let e="";for(let i of this.children){let n=i.toString();n&&(e&&(e+=","),e+=n)}return this.type.name?(/\\W/.test(this.type.name)&&!this.type.isError?JSON.stringify(this.type.name):this.type.name)+(e.length?"("+e+")":""):e}cursor(t=0){return new Es(this.topNode,t)}cursorAt(t,e=0,i=0){let n=no.get(this)||this.topNode,r=new Es(n);return r.moveTo(t,e),no.set(this,r._tree),r}get topNode(){return new Be(this,0,0,null)}resolve(t,e=0){let i=Os(no.get(this)||this.topNode,t,e,!1);return no.set(this,i),i}resolveInner(t,e=0){let i=Os(Yu.get(this)||this.topNode,t,e,!0);return Yu.set(this,i),i}resolveStack(t,e=0){return V0(this,t,e)}iterate(t){let{enter:e,leave:i,from:n=0,to:r=this.length}=t,o=t.mode||0,l=(o&bt.IncludeAnonymous)>0;for(let a=this.cursor(o|bt.IncludeAnonymous);;){let h=!1;if(a.from<=r&&a.to>=n&&(!l&&a.type.isAnonymous||e(a)!==!1)){if(a.firstChild())continue;h=!0}for(;h&&i&&(l||!a.type.isAnonymous)&&i(a),!a.nextSibling();){if(!a.parent())return;h=!0}}}prop(t){return t.perNode?this.props?this.props[t.id]:void 0:this.type.prop(t)}get propValues(){let t=[];if(this.props)for(let e in this.props)t.push([+e,this.props[e]]);return t}balance(t={}){return this.children.length<=8?this:za(It.none,this.children,this.positions,0,this.children.length,0,this.length,(e,i,n)=>new s(this.type,e,i,n,this.propValues),t.makeTree||((e,i,n)=>new s(It.none,e,i,n)))}static build(t){return z0(t)}};dt.empty=new dt(It.none,[],[],0);var Ba=class s{constructor(t,e){this.buffer=t,this.index=e}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 s(this.buffer,this.index)}},vi=class s{constructor(t,e,i){this.buffer=t,this.length=e,this.set=i}get type(){return It.none}toString(){let t=[];for(let e=0;e<this.buffer.length;)t.push(this.childString(e)),e=this.buffer[e+3];return t.join(",")}childString(t){let e=this.buffer[t],i=this.buffer[t+3],n=this.set.types[e],r=n.name;if(/\\W/.test(r)&&!n.isError&&(r=JSON.stringify(r)),t+=4,i==t)return r;let o=[];for(;t<i;)o.push(this.childString(t)),t=this.buffer[t+3];return r+"("+o.join(",")+")"}findChild(t,e,i,n,r){let{buffer:o}=this,l=-1;for(let a=t;a!=e&&!(Qu(r,n,o[a+1],o[a+2])&&(l=a,i>0));a=o[a+3]);return l}slice(t,e,i){let n=this.buffer,r=new Uint16Array(e-t),o=0;for(let l=t,a=0;l<e;){r[a++]=n[l++],r[a++]=n[l++]-i;let h=r[a++]=n[l++]-i;r[a++]=n[l++]-t,o=Math.max(o,h)}return new s(r,o,this.set)}};function Qu(s,t,e,i){switch(s){case-2:return e<t;case-1:return i>=t&&e<t;case 0:return e<t&&i>t;case 1:return e<=t&&i>t;case 2:return i>t;case 4:return!0}}function Os(s,t,e,i){for(var n;s.from==s.to||(e<1?s.from>=t:s.from>t)||(e>-1?s.to<=t:s.to<t);){let o=!i&&s instanceof Be&&s.index<0?null:s.parent;if(!o)return s;s=o}let r=i?0:bt.IgnoreOverlays;if(i)for(let o=s,l=o.parent;l;o=l,l=o.parent)o instanceof Be&&o.index<0&&((n=l.enter(t,e,r))===null||n===void 0?void 0:n.from)!=o.from&&(s=l);for(;;){let o=s.enter(t,e,r);if(!o)return s;s=o}}var ro=class{cursor(t=0){return new Es(this,t)}getChild(t,e=null,i=null){let n=Xu(this,t,e,i);return n.length?n[0]:null}getChildren(t,e=null,i=null){return Xu(this,t,e,i)}resolve(t,e=0){return Os(this,t,e,!1)}resolveInner(t,e=0){return Os(this,t,e,!0)}matchContext(t){return Na(this.parent,t)}enterUnfinishedNodesBefore(t){let e=this.childBefore(t),i=this;for(;e;){let n=e.lastChild;if(!n||n.to!=e.to)break;n.type.isError&&n.from==n.to?(i=e,e=n.prevSibling):e=n}return i}get node(){return this}get next(){return this.parent}},Be=class s extends ro{constructor(t,e,i,n){super(),this._tree=t,this.from=e,this.index=i,this._parent=n}get type(){return this._tree.type}get name(){return this._tree.type.name}get to(){return this.from+this._tree.length}nextChild(t,e,i,n,r=0){for(let o=this;;){for(let{children:l,positions:a}=o._tree,h=e>0?l.length:-1;t!=h;t+=e){let f=l[t],c=a[t]+o.from;if(Qu(n,i,c,c+f.length)){if(f instanceof vi){if(r&bt.ExcludeBuffers)continue;let u=f.findChild(0,f.buffer.length,e,i-c,n);if(u>-1)return new _s(new La(o,f,t,c),null,u)}else if(r&bt.IncludeAnonymous||!f.type.isAnonymous||Va(f)){let u;if(!(r&bt.IgnoreMounts)&&(u=yn.get(f))&&!u.overlay)return new s(u.tree,c,t,o);let d=new s(f,c,t,o);return r&bt.IncludeAnonymous||!d.type.isAnonymous?d:d.nextChild(e<0?f.children.length-1:0,e,i,n)}}}if(r&bt.IncludeAnonymous||!o.type.isAnonymous||(o.index>=0?t=o.index+e:t=e<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(t){return this.nextChild(0,1,t,2)}childBefore(t){return this.nextChild(this._tree.children.length-1,-1,t,-2)}enter(t,e,i=0){let n;if(!(i&bt.IgnoreOverlays)&&(n=yn.get(this._tree))&&n.overlay){let r=t-this.from;for(let{from:o,to:l}of n.overlay)if((e>0?o<=r:o<r)&&(e<0?l>=r:l>r))return new s(n.tree,n.overlay[0].from+this.from,-1,this)}return this.nextChild(0,1,t,e,i)}nextSignificantParent(){let t=this;for(;t.type.isAnonymous&&t._parent;)t=t._parent;return t}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 Xu(s,t,e,i){let n=s.cursor(),r=[];if(!n.firstChild())return r;if(e!=null){for(let o=!1;!o;)if(o=n.type.is(e),!n.nextSibling())return r}for(;;){if(i!=null&&n.type.is(i))return r;if(n.type.is(t)&&r.push(n.node),!n.nextSibling())return i==null?r:[]}}function Na(s,t,e=t.length-1){for(let i=s;e>=0;i=i.parent){if(!i)return!1;if(!i.type.isAnonymous){if(t[e]&&t[e]!=i.name)return!1;e--}}return!0}var La=class{constructor(t,e,i,n){this.parent=t,this.buffer=e,this.index=i,this.start=n}},_s=class s extends ro{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(t,e,i){super(),this.context=t,this._parent=e,this.index=i,this.type=t.buffer.set.types[t.buffer.buffer[i]]}child(t,e,i){let{buffer:n}=this.context,r=n.findChild(this.index+4,n.buffer[this.index+3],t,e-this.context.start,i);return r<0?null:new s(this.context,this,r)}get firstChild(){return this.child(1,0,4)}get lastChild(){return this.child(-1,0,4)}childAfter(t){return this.child(1,t,2)}childBefore(t){return this.child(-1,t,-2)}enter(t,e,i=0){if(i&bt.ExcludeBuffers)return null;let{buffer:n}=this.context,r=n.findChild(this.index+4,n.buffer[this.index+3],e>0?1:-1,t-this.context.start,e);return r<0?null:new s(this.context,this,r)}get parent(){return this._parent||this.context.parent.nextSignificantParent()}externalSibling(t){return this._parent?null:this.context.parent.nextChild(this.context.index+t,t,0,4)}get nextSibling(){let{buffer:t}=this.context,e=t.buffer[this.index+3];return e<(this._parent?t.buffer[this._parent.index+3]:t.buffer.length)?new s(this.context,this._parent,e):this.externalSibling(1)}get prevSibling(){let{buffer:t}=this.context,e=this._parent?this._parent.index+4:0;return this.index==e?this.externalSibling(-1):new s(this.context,this._parent,t.findChild(e,this.index,-1,0,4))}get tree(){return null}toTree(){let t=[],e=[],{buffer:i}=this.context,n=this.index+4,r=i.buffer[this.index+3];if(r>n){let o=i.buffer[this.index+1];t.push(i.slice(n,r,o)),e.push(0)}return new dt(this.type,t,e,this.to-this.from)}toString(){return this.context.buffer.childString(this.index)}};function Zu(s){if(!s.length)return null;let t=0,e=s[0];for(let r=1;r<s.length;r++){let o=s[r];(o.from>e.from||o.to<e.to)&&(e=o,t=r)}let i=e instanceof Be&&e.index<0?null:e.parent,n=s.slice();return i?n[t]=i:n.splice(t,1),new Ha(n,e)}var Ha=class{constructor(t,e){this.heads=t,this.node=e}get next(){return Zu(this.heads)}};function V0(s,t,e){let i=s.resolveInner(t,e),n=null;for(let r=i instanceof Be?i:i.context.parent;r;r=r.parent)if(r.index<0){let o=r.parent;(n||(n=[i])).push(o.resolve(t,e)),r=o}else{let o=yn.get(r.tree);if(o&&o.overlay&&o.overlay[0].from<=t&&o.overlay[o.overlay.length-1].to>=t){let l=new Be(o.tree,o.overlay[0].from+r.from,-1,r);(n||(n=[i])).push(Os(l,t,e,!1))}}return n?Zu(n):i}var Es=class{get name(){return this.type.name}constructor(t,e=0){if(this.mode=e,this.buffer=null,this.stack=[],this.index=0,this.bufferNode=null,t instanceof Be)this.yieldNode(t);else{this._tree=t.context.parent,this.buffer=t.context;for(let i=t._parent;i;i=i._parent)this.stack.unshift(i.index);this.bufferNode=t,this.yieldBuf(t.index)}}yieldNode(t){return t?(this._tree=t,this.type=t.type,this.from=t.from,this.to=t.to,!0):!1}yieldBuf(t,e){this.index=t;let{start:i,buffer:n}=this.buffer;return this.type=e||n.set.types[n.buffer[t]],this.from=i+n.buffer[t+1],this.to=i+n.buffer[t+2],!0}yield(t){return t?t instanceof Be?(this.buffer=null,this.yieldNode(t)):(this.buffer=t.context,this.yieldBuf(t.index,t.type)):!1}toString(){return this.buffer?this.buffer.buffer.childString(this.index):this._tree.toString()}enterChild(t,e,i){if(!this.buffer)return this.yield(this._tree.nextChild(t<0?this._tree._tree.children.length-1:0,t,e,i,this.mode));let{buffer:n}=this.buffer,r=n.findChild(this.index+4,n.buffer[this.index+3],t,e-this.buffer.start,i);return r<0?!1:(this.stack.push(this.index),this.yieldBuf(r))}firstChild(){return this.enterChild(1,0,4)}lastChild(){return this.enterChild(-1,0,4)}childAfter(t){return this.enterChild(1,t,2)}childBefore(t){return this.enterChild(-1,t,-2)}enter(t,e,i=this.mode){return this.buffer?i&bt.ExcludeBuffers?!1:this.enterChild(1,t,e):this.yield(this._tree.enter(t,e,i))}parent(){if(!this.buffer)return this.yieldNode(this.mode&bt.IncludeAnonymous?this._tree._parent:this._tree.parent);if(this.stack.length)return this.yieldBuf(this.stack.pop());let t=this.mode&bt.IncludeAnonymous?this.buffer.parent:this.buffer.parent.nextSignificantParent();return this.buffer=null,this.yieldNode(t)}sibling(t){if(!this.buffer)return this._tree._parent?this.yield(this._tree.index<0?null:this._tree._parent.nextChild(this._tree.index+t,t,0,4,this.mode)):!1;let{buffer:e}=this.buffer,i=this.stack.length-1;if(t<0){let n=i<0?0:this.stack[i]+4;if(this.index!=n)return this.yieldBuf(e.findChild(n,this.index,-1,0,4))}else{let n=e.buffer[this.index+3];if(n<(i<0?e.buffer.length:e.buffer[this.stack[i]+3]))return this.yieldBuf(n)}return i<0?this.yield(this.buffer.parent.nextChild(this.buffer.index+t,t,0,4,this.mode)):!1}nextSibling(){return this.sibling(1)}prevSibling(){return this.sibling(-1)}atLastNode(t){let e,i,{buffer:n}=this;if(n){if(t>0){if(this.index<n.buffer.buffer.length)return!1}else for(let r=0;r<this.index;r++)if(n.buffer.buffer[r+3]<this.index)return!1;({index:e,parent:i}=n)}else({index:e,_parent:i}=this._tree);for(;i;{index:e,_parent:i}=i)if(e>-1)for(let r=e+t,o=t<0?-1:i._tree.children.length;r!=o;r+=t){let l=i._tree.children[r];if(this.mode&bt.IncludeAnonymous||l instanceof vi||!l.type.isAnonymous||Va(l))return!1}return!0}move(t,e){if(e&&this.enterChild(t,0,4))return!0;for(;;){if(this.sibling(t))return!0;if(this.atLastNode(t)||!this.parent())return!1}}next(t=!0){return this.move(1,t)}prev(t=!0){return this.move(-1,t)}moveTo(t,e=0){for(;(this.from==this.to||(e<1?this.from>=t:this.from>t)||(e>-1?this.to<=t:this.to<t))&&this.parent(););for(;this.enterChild(1,t,e););return this}get node(){if(!this.buffer)return this._tree;let t=this.bufferNode,e=null,i=0;if(t&&t.context==this.buffer)t:for(let n=this.index,r=this.stack.length;r>=0;){for(let o=t;o;o=o._parent)if(o.index==n){if(n==this.index)return o;e=o,i=r+1;break t}n=this.stack[--r]}for(let n=i;n<this.stack.length;n++)e=new _s(this.buffer,e,this.stack[n]);return this.bufferNode=new _s(this.buffer,e,this.index)}get tree(){return this.buffer?null:this._tree._tree}iterate(t,e){for(let i=0;;){let n=!1;if(this.type.isAnonymous||t(this)!==!1){if(this.firstChild()){i++;continue}this.type.isAnonymous||(n=!0)}for(;;){if(n&&e&&e(this),n=this.type.isAnonymous,!i)return;if(this.nextSibling())break;this.parent(),i--,n=!0}}}matchContext(t){if(!this.buffer)return Na(this.node.parent,t);let{buffer:e}=this.buffer,{types:i}=e.set;for(let n=t.length-1,r=this.stack.length-1;n>=0;r--){if(r<0)return Na(this._tree,t,n);let o=i[e.buffer[this.stack[r]]];if(!o.isAnonymous){if(t[n]&&t[n]!=o.name)return!1;n--}}return!0}};function Va(s){return s.children.some(t=>t instanceof vi||!t.type.isAnonymous||Va(t))}function z0(s){var t;let{buffer:e,nodeSet:i,maxBufferLength:n=1024,reused:r=[],minRepeatType:o=i.types.length}=s,l=Array.isArray(e)?new Ba(e,e.length):e,a=i.types,h=0,f=0;function c(x,S,k,R,P,z){let{id:E,start:M,end:H,size:F}=l,j=f,Mt=h;for(;F<0;)if(l.next(),F==-1){let kt=r[E];k.push(kt),R.push(M-x);return}else if(F==-3){h=E;return}else if(F==-4){f=E;return}else throw new RangeError(`Unrecognized record size: ${F}`);let pe=a[E],qe,Lt,$n=M-x;if(H-M<=n&&(Lt=m(l.pos-S,P))){let kt=new Uint16Array(Lt.size-Lt.skip),rt=l.pos-Lt.size,ut=kt.length;for(;l.pos>rt;)ut=b(Lt.start,kt,ut);qe=new vi(kt,H-Lt.start,i),$n=Lt.start-x}else{let kt=l.pos-F;l.next();let rt=[],ut=[],Ht=E>=o?E:-1,$t=0,$e=H;for(;l.pos>kt;)Ht>=0&&l.id==Ht&&l.size>=0?(l.end<=$e-n&&(p(rt,ut,M,$t,l.end,$e,Ht,j,Mt),$t=rt.length,$e=l.end),l.next()):z>2500?u(M,kt,rt,ut):c(M,kt,rt,ut,Ht,z+1);if(Ht>=0&&$t>0&&$t<rt.length&&p(rt,ut,M,$t,M,$e,Ht,j,Mt),rt.reverse(),ut.reverse(),Ht>-1&&$t>0){let Kn=d(pe,Mt);qe=za(pe,rt,ut,0,rt.length,0,H-M,Kn,Kn)}else qe=g(pe,rt,ut,H-M,j-H,Mt)}k.push(qe),R.push($n)}function u(x,S,k,R){let P=[],z=0,E=-1;for(;l.pos>S;){let{id:M,start:H,end:F,size:j}=l;if(j>4)l.next();else{if(E>-1&&H<E)break;E<0&&(E=F-n),P.push(M,H,F),z++,l.next()}}if(z){let M=new Uint16Array(z*4),H=P[P.length-2];for(let F=P.length-3,j=0;F>=0;F-=3)M[j++]=P[F],M[j++]=P[F+1]-H,M[j++]=P[F+2]-H,M[j++]=j;k.push(new vi(M,P[2]-H,i)),R.push(H-x)}}function d(x,S){return(k,R,P)=>{let z=0,E=k.length-1,M,H;if(E>=0&&(M=k[E])instanceof dt){if(!E&&M.type==x&&M.length==P)return M;(H=M.prop(q.lookAhead))&&(z=R[E]+M.length+H)}return g(x,k,R,P,z,S)}}function p(x,S,k,R,P,z,E,M,H){let F=[],j=[];for(;x.length>R;)F.push(x.pop()),j.push(S.pop()+k-P);x.push(g(i.types[E],F,j,z-P,M-z,H)),S.push(P-k)}function g(x,S,k,R,P,z,E){if(z){let M=[q.contextHash,z];E=E?[M].concat(E):[M]}if(P>25){let M=[q.lookAhead,P];E=E?[M].concat(E):[M]}return new dt(x,S,k,R,E)}function m(x,S){let k=l.fork(),R=0,P=0,z=0,E=k.end-n,M={size:0,start:0,skip:0};t:for(let H=k.pos-x;k.pos>H;){let F=k.size;if(k.id==S&&F>=0){M.size=R,M.start=P,M.skip=z,z+=4,R+=4,k.next();continue}let j=k.pos-F;if(F<0||j<H||k.start<E)break;let Mt=k.id>=o?4:0,pe=k.start;for(k.next();k.pos>j;){if(k.size<0)if(k.size==-3)Mt+=4;else break t;else k.id>=o&&(Mt+=4);k.next()}P=pe,R+=F,z+=Mt}return(S<0||R==x)&&(M.size=R,M.start=P,M.skip=z),M.size>4?M:void 0}function b(x,S,k){let{id:R,start:P,end:z,size:E}=l;if(l.next(),E>=0&&R<o){let M=k;if(E>4){let H=l.pos-(E-4);for(;l.pos>H;)k=b(x,S,k)}S[--k]=M,S[--k]=z-x,S[--k]=P-x,S[--k]=R}else E==-3?h=R:E==-4&&(f=R);return k}let w=[],y=[];for(;l.pos>0;)c(s.start||0,s.bufferStart||0,w,y,-1,0);let v=(t=s.length)!==null&&t!==void 0?t:w.length?y[0]+w[0].length:0;return new dt(a[s.topID],w.reverse(),y.reverse(),v)}var Ju=new WeakMap;function so(s,t){if(!s.isAnonymous||t instanceof vi||t.type!=s)return 1;let e=Ju.get(t);if(e==null){e=1;for(let i of t.children){if(i.type!=s||!(i instanceof dt)){e=1;break}e+=so(s,i)}Ju.set(t,e)}return e}function za(s,t,e,i,n,r,o,l,a){let h=0;for(let p=i;p<n;p++)h+=so(s,t[p]);let f=Math.ceil(h*1.5/8),c=[],u=[];function d(p,g,m,b,w){for(let y=m;y<b;){let v=y,x=g[y],S=so(s,p[y]);for(y++;y<b;y++){let k=so(s,p[y]);if(S+k>=f)break;S+=k}if(y==v+1){if(S>f){let k=p[v];d(k.children,k.positions,0,k.children.length,g[v]+w);continue}c.push(p[v])}else{let k=g[y-1]+p[y-1].length-x;c.push(za(s,p,g,v,y,x,k,null,a))}u.push(x+w-r)}}return d(t,e,i,n,0),(l||a)(c,u,o)}var Gi=class s{constructor(t,e,i,n,r=!1,o=!1){this.from=t,this.to=e,this.tree=i,this.offset=n,this.open=(r?1:0)|(o?2:0)}get openStart(){return(this.open&1)>0}get openEnd(){return(this.open&2)>0}static addTree(t,e=[],i=!1){let n=[new s(0,t.length,t,0,!1,i)];for(let r of e)r.to>t.length&&n.push(r);return n}static applyChanges(t,e,i=128){if(!e.length)return t;let n=[],r=1,o=t.length?t[0]:null;for(let l=0,a=0,h=0;;l++){let f=l<e.length?e[l]:null,c=f?f.fromA:1e9;if(c-a>=i)for(;o&&o.from<c;){let u=o;if(a>=u.from||c<=u.to||h){let d=Math.max(u.from,a)-h,p=Math.min(u.to,c)-h;u=d>=p?null:new s(d,p,u.tree,u.offset+h,l>0,!!f)}if(u&&n.push(u),o.to>c)break;o=r<t.length?t[r++]:null}if(!f)break;a=f.toA,h=f.toA-f.toB}return n}},vn=class{startParse(t,e,i){return typeof t=="string"&&(t=new Fa(t)),i=i?i.length?i.map(n=>new Ts(n.from,n.to)):[new Ts(0,0)]:[new Ts(0,t.length)],this.createParse(t,e||[],i)}parse(t,e,i){let n=this.startParse(t,e,i);for(;;){let r=n.advance();if(r)return r}}},Fa=class{constructor(t){this.string=t}get length(){return this.string.length}chunk(t){return this.string.slice(t)}get lineChunks(){return!1}read(t,e){return this.string.slice(t,e)}};var Xv=new q({perNode:!0});var Y=class s{lineAt(t){if(t<0||t>this.length)throw new RangeError(`Invalid position ${t} in document of length ${this.length}`);return this.lineInner(t,!1,1,0)}line(t){if(t<1||t>this.lines)throw new RangeError(`Invalid line number ${t} in ${this.lines}-line document`);return this.lineInner(t,!0,1,0)}replace(t,e,i){[t,e]=Tn(this,t,e);let n=[];return this.decompose(0,t,n,2),i.length&&i.decompose(0,i.length,n,3),this.decompose(e,this.length,n,1),xn.from(n,this.length-(e-t)+i.length)}append(t){return this.replace(this.length,this.length,t)}slice(t,e=this.length){[t,e]=Tn(this,t,e);let i=[];return this.decompose(t,e,i,0),xn.from(i,e-t)}eq(t){if(t==this)return!0;if(t.length!=this.length||t.lines!=this.lines)return!1;let e=this.scanIdentical(t,1),i=this.length-this.scanIdentical(t,-1),n=new qi(this),r=new qi(t);for(let o=e,l=e;;){if(n.next(o),r.next(o),o=0,n.lineBreak!=r.lineBreak||n.done!=r.done||n.value!=r.value)return!1;if(l+=n.value.length,n.done||l>=i)return!0}}iter(t=1){return new qi(this,t)}iterRange(t,e=this.length){return new fo(this,t,e)}iterLines(t,e){let i;if(t==null)i=this.iter();else{e==null&&(e=this.lines+1);let n=this.line(t).from;i=this.iterRange(n,Math.max(n,e==this.lines+1?this.length:e<=1?0:this.line(e-1).to))}return new co(i)}toString(){return this.sliceString(0)}toJSON(){let t=[];return this.flatten(t),t}constructor(){}static of(t){if(t.length==0)throw new RangeError("A document must have at least one line");return t.length==1&&!t[0]?s.empty:t.length<=32?new te(t):xn.from(te.split(t,[]))}},te=class s extends Y{constructor(t,e=W0(t)){super(),this.text=t,this.length=e}get lines(){return this.text.length}get children(){return null}lineInner(t,e,i,n){for(let r=0;;r++){let o=this.text[r],l=n+o.length;if((e?i:l)>=t)return new Ga(n,l,i,o);n=l+1,i++}}decompose(t,e,i,n){let r=t<=0&&e>=this.length?this:new s(td(this.text,t,e),Math.min(e,this.length)-Math.max(0,t));if(n&1){let o=i.pop(),l=ao(r.text,o.text.slice(),0,r.length);if(l.length<=32)i.push(new s(l,o.length+r.length));else{let a=l.length>>1;i.push(new s(l.slice(0,a)),new s(l.slice(a)))}}else i.push(r)}replace(t,e,i){if(!(i instanceof s))return super.replace(t,e,i);[t,e]=Tn(this,t,e);let n=ao(this.text,ao(i.text,td(this.text,0,t)),e),r=this.length+i.length-(e-t);return n.length<=32?new s(n,r):xn.from(s.split(n,[]),r)}sliceString(t,e=this.length,i=`\n`){[t,e]=Tn(this,t,e);let n="";for(let r=0,o=0;r<=e&&o<this.text.length;o++){let l=this.text[o],a=r+l.length;r>t&&o&&(n+=i),t<a&&e>r&&(n+=l.slice(Math.max(0,t-r),e-r)),r=a+1}return n}flatten(t){for(let e of this.text)t.push(e)}scanIdentical(){return 0}static split(t,e){let i=[],n=-1;for(let r of t)i.push(r),n+=r.length+1,i.length==32&&(e.push(new s(i,n)),i=[],n=-1);return n>-1&&e.push(new s(i,n)),e}},xn=class s extends Y{constructor(t,e){super(),this.children=t,this.length=e,this.lines=0;for(let i of t)this.lines+=i.lines}lineInner(t,e,i,n){for(let r=0;;r++){let o=this.children[r],l=n+o.length,a=i+o.lines-1;if((e?a:l)>=t)return o.lineInner(t,e,i,n);n=l+1,i=a+1}}decompose(t,e,i,n){for(let r=0,o=0;o<=e&&r<this.children.length;r++){let l=this.children[r],a=o+l.length;if(t<=a&&e>=o){let h=n&((o<=t?1:0)|(a>=e?2:0));o>=t&&a<=e&&!h?i.push(l):l.decompose(t-o,e-o,i,h)}o=a+1}}replace(t,e,i){if([t,e]=Tn(this,t,e),i.lines<this.lines)for(let n=0,r=0;n<this.children.length;n++){let o=this.children[n],l=r+o.length;if(t>=r&&e<=l){let a=o.replace(t-r,e-r,i),h=this.lines-o.lines+a.lines;if(a.lines<h>>4&&a.lines>h>>6){let f=this.children.slice();return f[n]=a,new s(f,this.length-(e-t)+i.length)}return super.replace(r,l,a)}r=l+1}return super.replace(t,e,i)}sliceString(t,e=this.length,i=`\n`){[t,e]=Tn(this,t,e);let n="";for(let r=0,o=0;r<this.children.length&&o<=e;r++){let l=this.children[r],a=o+l.length;o>t&&r&&(n+=i),t<a&&e>o&&(n+=l.sliceString(t-o,e-o,i)),o=a+1}return n}flatten(t){for(let e of this.children)e.flatten(t)}scanIdentical(t,e){if(!(t instanceof s))return 0;let i=0,[n,r,o,l]=e>0?[0,0,this.children.length,t.children.length]:[this.children.length-1,t.children.length-1,-1,-1];for(;;n+=e,r+=e){if(n==o||r==l)return i;let a=this.children[n],h=t.children[r];if(a!=h)return i+a.scanIdentical(h,e);i+=a.length+1}}static from(t,e=t.reduce((i,n)=>i+n.length+1,-1)){let i=0;for(let d of t)i+=d.lines;if(i<32){let d=[];for(let p of t)p.flatten(d);return new te(d,e)}let n=Math.max(32,i>>5),r=n<<1,o=n>>1,l=[],a=0,h=-1,f=[];function c(d){let p;if(d.lines>r&&d instanceof s)for(let g of d.children)c(g);else d.lines>o&&(a>o||!a)?(u(),l.push(d)):d instanceof te&&a&&(p=f[f.length-1])instanceof te&&d.lines+p.lines<=32?(a+=d.lines,h+=d.length+1,f[f.length-1]=new te(p.text.concat(d.text),p.length+1+d.length)):(a+d.lines>n&&u(),a+=d.lines,h+=d.length+1,f.push(d))}function u(){a!=0&&(l.push(f.length==1?f[0]:s.from(f,h)),h=-1,a=f.length=0)}for(let d of t)c(d);return u(),l.length==1?l[0]:new s(l,e)}};Y.empty=new te([""],0);function W0(s){let t=-1;for(let e of s)t+=e.length+1;return t}function ao(s,t,e=0,i=1e9){for(let n=0,r=0,o=!0;r<s.length&&n<=i;r++){let l=s[r],a=n+l.length;a>=e&&(a>i&&(l=l.slice(0,i-n)),n<e&&(l=l.slice(e-n)),o?(t[t.length-1]+=l,o=!1):t.push(l)),n=a+1}return t}function td(s,t,e){return ao(s,[""],t,e)}var qi=class{constructor(t,e=1){this.dir=e,this.done=!1,this.lineBreak=!1,this.value="",this.nodes=[t],this.offsets=[e>0?1:(t instanceof te?t.text.length:t.children.length)<<1]}nextInner(t,e){for(this.done=this.lineBreak=!1;;){let i=this.nodes.length-1,n=this.nodes[i],r=this.offsets[i],o=r>>1,l=n instanceof te?n.text.length:n.children.length;if(o==(e>0?l:0)){if(i==0)return this.done=!0,this.value="",this;e>0&&this.offsets[i-1]++,this.nodes.pop(),this.offsets.pop()}else if((r&1)==(e>0?0:1)){if(this.offsets[i]+=e,t==0)return this.lineBreak=!0,this.value=`\n`,this;t--}else if(n instanceof te){let a=n.text[o+(e<0?-1:0)];if(this.offsets[i]+=e,a.length>Math.max(0,t))return this.value=t==0?a:e>0?a.slice(t):a.slice(0,a.length-t),this;t-=a.length}else{let a=n.children[o+(e<0?-1:0)];t>a.length?(t-=a.length,this.offsets[i]+=e):(e<0&&this.offsets[i]--,this.nodes.push(a),this.offsets.push(e>0?1:(a instanceof te?a.text.length:a.children.length)<<1))}}}next(t=0){return t<0&&(this.nextInner(-t,-this.dir),t=this.value.length),this.nextInner(t,this.dir)}},fo=class{constructor(t,e,i){this.value="",this.done=!1,this.cursor=new qi(t,e>i?-1:1),this.pos=e>i?t.length:0,this.from=Math.min(e,i),this.to=Math.max(e,i)}nextInner(t,e){if(e<0?this.pos<=this.from:this.pos>=this.to)return this.value="",this.done=!0,this;t+=Math.max(0,e<0?this.pos-this.to:this.from-this.pos);let i=e<0?this.pos-this.from:this.to-this.pos;t>i&&(t=i),i-=t;let{value:n}=this.cursor.next(t);return this.pos+=(n.length+t)*e,this.value=n.length<=i?n:e<0?n.slice(n.length-i):n.slice(0,i),this.done=!this.value,this}next(t=0){return t<0?t=Math.max(t,this.from-this.pos):t>0&&(t=Math.min(t,this.to-this.pos)),this.nextInner(t,this.cursor.dir)}get lineBreak(){return this.cursor.lineBreak&&this.value!=""}},co=class{constructor(t){this.inner=t,this.afterBreak=!0,this.value="",this.done=!1}next(t=0){let{done:e,lineBreak:i,value:n}=this.inner.next(t);return e&&this.afterBreak?(this.value="",this.afterBreak=!1):e?(this.done=!0,this.value=""):i?this.afterBreak?this.value="":(this.afterBreak=!0,this.next()):(this.value=n,this.afterBreak=!1),this}get lineBreak(){return!1}};typeof Symbol!="undefined"&&(Y.prototype[Symbol.iterator]=function(){return this.iter()},qi.prototype[Symbol.iterator]=fo.prototype[Symbol.iterator]=co.prototype[Symbol.iterator]=function(){return this});var Ga=class{constructor(t,e,i,n){this.from=t,this.to=e,this.number=i,this.text=n}get length(){return this.to-this.from}};function Tn(s,t,e){return t=Math.max(0,Math.min(s.length,t)),[t,Math.max(t,Math.min(s.length,e))]}var Sn="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(s=>s?parseInt(s,36):1);for(let s=1;s<Sn.length;s++)Sn[s]+=Sn[s-1];function G0(s){for(let t=1;t<Sn.length;t+=2)if(Sn[t]>s)return Sn[t-1]<=s;return!1}function ed(s){return s>=127462&&s<=127487}var id=8205;function Le(s,t,e=!0,i=!0){return(e?ad:U0)(s,t,i)}function ad(s,t,e){if(t==s.length)return t;t&&hd(s.charCodeAt(t))&&fd(s.charCodeAt(t-1))&&t--;let i=ho(s,t);for(t+=Ua(i);t<s.length;){let n=ho(s,t);if(i==id||n==id||e&&G0(n))t+=Ua(n),i=n;else if(ed(n)){let r=0,o=t-2;for(;o>=0&&ed(ho(s,o));)r++,o-=2;if(r%2==0)break;t+=2}else break}return t}function U0(s,t,e){for(;t>0;){let i=ad(s,t-2,e);if(i<t)return i;t--}return 0}function hd(s){return s>=56320&&s<57344}function fd(s){return s>=55296&&s<56320}function ho(s,t){let e=s.charCodeAt(t);if(!fd(e)||t+1==s.length)return e;let i=s.charCodeAt(t+1);return hd(i)?(e-55296<<10)+(i-56320)+65536:e}function Ua(s){return s<65536?1:2}var ja=/\\r\\n?|\\n/,jt=function(s){return s[s.Simple=0]="Simple",s[s.TrackDel=1]="TrackDel",s[s.TrackBefore=2]="TrackBefore",s[s.TrackAfter=3]="TrackAfter",s}(jt||(jt={})),$i=class s{constructor(t){this.sections=t}get length(){let t=0;for(let e=0;e<this.sections.length;e+=2)t+=this.sections[e];return t}get newLength(){let t=0;for(let e=0;e<this.sections.length;e+=2){let i=this.sections[e+1];t+=i<0?this.sections[e]:i}return t}get empty(){return this.sections.length==0||this.sections.length==2&&this.sections[1]<0}iterGaps(t){for(let e=0,i=0,n=0;e<this.sections.length;){let r=this.sections[e++],o=this.sections[e++];o<0?(t(i,n,r),n+=r):n+=o,i+=r}}iterChangedRanges(t,e=!1){qa(this,t,e)}get invertedDesc(){let t=[];for(let e=0;e<this.sections.length;){let i=this.sections[e++],n=this.sections[e++];n<0?t.push(i,n):t.push(n,i)}return new s(t)}composeDesc(t){return this.empty?t:t.empty?this:cd(this,t)}mapDesc(t,e=!1){return t.empty?this:$a(this,t,e)}mapPos(t,e=-1,i=jt.Simple){let n=0,r=0;for(let o=0;o<this.sections.length;){let l=this.sections[o++],a=this.sections[o++],h=n+l;if(a<0){if(h>t)return r+(t-n);r+=l}else{if(i!=jt.Simple&&h>=t&&(i==jt.TrackDel&&n<t&&h>t||i==jt.TrackBefore&&n<t||i==jt.TrackAfter&&h>t))return null;if(h>t||h==t&&e<0&&!l)return t==n||e<0?r:r+a;r+=a}n=h}if(t>n)throw new RangeError(`Position ${t} is out of range for changeset of length ${n}`);return r}touchesRange(t,e=t){for(let i=0,n=0;i<this.sections.length&&n<=e;){let r=this.sections[i++],o=this.sections[i++],l=n+r;if(o>=0&&n<=e&&l>=t)return n<t&&l>e?"cover":!0;n=l}return!1}toString(){let t="";for(let e=0;e<this.sections.length;){let i=this.sections[e++],n=this.sections[e++];t+=(t?" ":"")+i+(n>=0?":"+n:"")}return t}toJSON(){return this.sections}static fromJSON(t){if(!Array.isArray(t)||t.length%2||t.some(e=>typeof e!="number"))throw new RangeError("Invalid JSON representation of ChangeDesc");return new s(t)}static create(t){return new s(t)}},ee=class s extends $i{constructor(t,e){super(t),this.inserted=e}apply(t){if(this.length!=t.length)throw new RangeError("Applying change set to a document with the wrong length");return qa(this,(e,i,n,r,o)=>t=t.replace(n,n+(i-e),o),!1),t}mapDesc(t,e=!1){return $a(this,t,e,!0)}invert(t){let e=this.sections.slice(),i=[];for(let n=0,r=0;n<e.length;n+=2){let o=e[n],l=e[n+1];if(l>=0){e[n]=l,e[n+1]=o;let a=n>>1;for(;i.length<a;)i.push(Y.empty);i.push(o?t.slice(r,r+o):Y.empty)}r+=o}return new s(e,i)}compose(t){return this.empty?t:t.empty?this:cd(this,t,!0)}map(t,e=!1){return t.empty?this:$a(this,t,e,!0)}iterChanges(t,e=!1){qa(this,t,e)}get desc(){return $i.create(this.sections)}filter(t){let e=[],i=[],n=[],r=new Ki(this);t:for(let o=0,l=0;;){let a=o==t.length?1e9:t[o++];for(;l<a||l==a&&r.len==0;){if(r.done)break t;let f=Math.min(r.len,a-l);Bt(n,f,-1);let c=r.ins==-1?-1:r.off==0?r.ins:0;Bt(e,f,c),c>0&&ki(i,e,r.text),r.forward(f),l+=f}let h=t[o++];for(;l<h;){if(r.done)break t;let f=Math.min(r.len,h-l);Bt(e,f,-1),Bt(n,f,r.ins==-1?-1:r.off==0?r.ins:0),r.forward(f),l+=f}}return{changes:new s(e,i),filtered:$i.create(n)}}toJSON(){let t=[];for(let e=0;e<this.sections.length;e+=2){let i=this.sections[e],n=this.sections[e+1];n<0?t.push(i):n==0?t.push([i]):t.push([i].concat(this.inserted[e>>1].toJSON()))}return t}static of(t,e,i){let n=[],r=[],o=0,l=null;function a(f=!1){if(!f&&!n.length)return;o<e&&Bt(n,e-o,-1);let c=new s(n,r);l=l?l.compose(c.map(l)):c,n=[],r=[],o=0}function h(f){if(Array.isArray(f))for(let c of f)h(c);else if(f instanceof s){if(f.length!=e)throw new RangeError(`Mismatched change set length (got ${f.length}, expected ${e})`);a(),l=l?l.compose(f.map(l)):f}else{let{from:c,to:u=c,insert:d}=f;if(c>u||c<0||u>e)throw new RangeError(`Invalid change range ${c} to ${u} (in doc of length ${e})`);let p=d?typeof d=="string"?Y.of(d.split(i||ja)):d:Y.empty,g=p.length;if(c==u&&g==0)return;c<o&&a(),c>o&&Bt(n,c-o,-1),Bt(n,u-c,g),ki(r,n,p),o=u}}return h(t),a(!l),l}static empty(t){return new s(t?[t,-1]:[],[])}static fromJSON(t){if(!Array.isArray(t))throw new RangeError("Invalid JSON representation of ChangeSet");let e=[],i=[];for(let n=0;n<t.length;n++){let r=t[n];if(typeof r=="number")e.push(r,-1);else{if(!Array.isArray(r)||typeof r[0]!="number"||r.some((o,l)=>l&&typeof o!="string"))throw new RangeError("Invalid JSON representation of ChangeSet");if(r.length==1)e.push(r[0],0);else{for(;i.length<n;)i.push(Y.empty);i[n]=Y.of(r.slice(1)),e.push(r[0],i[n].length)}}}return new s(e,i)}static createSet(t,e){return new s(t,e)}};function Bt(s,t,e,i=!1){if(t==0&&e<=0)return;let n=s.length-2;n>=0&&e<=0&&e==s[n+1]?s[n]+=t:t==0&&s[n]==0?s[n+1]+=e:i?(s[n]+=t,s[n+1]+=e):s.push(t,e)}function ki(s,t,e){if(e.length==0)return;let i=t.length-2>>1;if(i<s.length)s[s.length-1]=s[s.length-1].append(e);else{for(;s.length<i;)s.push(Y.empty);s.push(e)}}function qa(s,t,e){let i=s.inserted;for(let n=0,r=0,o=0;o<s.sections.length;){let l=s.sections[o++],a=s.sections[o++];if(a<0)n+=l,r+=l;else{let h=n,f=r,c=Y.empty;for(;h+=l,f+=a,a&&i&&(c=c.append(i[o-2>>1])),!(e||o==s.sections.length||s.sections[o+1]<0);)l=s.sections[o++],a=s.sections[o++];t(n,h,r,f,c),n=h,r=f}}}function $a(s,t,e,i=!1){let n=[],r=i?[]:null,o=new Ki(s),l=new Ki(t);for(let a=-1;;)if(o.ins==-1&&l.ins==-1){let h=Math.min(o.len,l.len);Bt(n,h,-1),o.forward(h),l.forward(h)}else if(l.ins>=0&&(o.ins<0||a==o.i||o.off==0&&(l.len<o.len||l.len==o.len&&!e))){let h=l.len;for(Bt(n,l.ins,-1);h;){let f=Math.min(o.len,h);o.ins>=0&&a<o.i&&o.len<=f&&(Bt(n,0,o.ins),r&&ki(r,n,o.text),a=o.i),o.forward(f),h-=f}l.next()}else if(o.ins>=0){let h=0,f=o.len;for(;f;)if(l.ins==-1){let c=Math.min(f,l.len);h+=c,f-=c,l.forward(c)}else if(l.ins==0&&l.len<f)f-=l.len,l.next();else break;Bt(n,h,a<o.i?o.ins:0),r&&a<o.i&&ki(r,n,o.text),a=o.i,o.forward(o.len-f)}else{if(o.done&&l.done)return r?ee.createSet(n,r):$i.create(n);throw new Error("Mismatched change set lengths")}}function cd(s,t,e=!1){let i=[],n=e?[]:null,r=new Ki(s),o=new Ki(t);for(let l=!1;;){if(r.done&&o.done)return n?ee.createSet(i,n):$i.create(i);if(r.ins==0)Bt(i,r.len,0,l),r.next();else if(o.len==0&&!o.done)Bt(i,0,o.ins,l),n&&ki(n,i,o.text),o.next();else{if(r.done||o.done)throw new Error("Mismatched change set lengths");{let a=Math.min(r.len2,o.len),h=i.length;if(r.ins==-1){let f=o.ins==-1?-1:o.off?0:o.ins;Bt(i,a,f,l),n&&f&&ki(n,i,o.text)}else o.ins==-1?(Bt(i,r.off?0:r.len,a,l),n&&ki(n,i,r.textBit(a))):(Bt(i,r.off?0:r.len,o.off?0:o.ins,l),n&&!o.off&&ki(n,i,o.text));l=(r.ins>a||o.ins>=0&&o.len>a)&&(l||i.length>h),r.forward2(a),o.forward(a)}}}}var Ki=class{constructor(t){this.set=t,this.i=0,this.next()}next(){let{sections:t}=this.set;this.i<t.length?(this.len=t[this.i++],this.ins=t[this.i++]):(this.len=0,this.ins=-2),this.off=0}get done(){return this.ins==-2}get len2(){return this.ins<0?this.len:this.ins}get text(){let{inserted:t}=this.set,e=this.i-2>>1;return e>=t.length?Y.empty:t[e]}textBit(t){let{inserted:e}=this.set,i=this.i-2>>1;return i>=e.length&&!t?Y.empty:e[i].slice(this.off,t==null?void 0:this.off+t)}forward(t){t==this.len?this.next():(this.len-=t,this.off+=t)}forward2(t){this.ins==-1?this.forward(t):t==this.ins?this.next():(this.ins-=t,this.off+=t)}},kn=class s{constructor(t,e,i){this.from=t,this.to=e,this.flags=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 bidiLevel(){let t=this.flags&7;return t==7?null:t}get goalColumn(){let t=this.flags>>6;return t==16777215?void 0:t}map(t,e=-1){let i,n;return this.empty?i=n=t.mapPos(this.from,e):(i=t.mapPos(this.from,1),n=t.mapPos(this.to,-1)),i==this.from&&n==this.to?this:new s(i,n,this.flags)}extend(t,e=t){if(t<=this.anchor&&e>=this.anchor)return V.range(t,e);let i=Math.abs(t-this.anchor)>Math.abs(e-this.anchor)?t:e;return V.range(this.anchor,i)}eq(t,e=!1){return this.anchor==t.anchor&&this.head==t.head&&(!e||!this.empty||this.assoc==t.assoc)}toJSON(){return{anchor:this.anchor,head:this.head}}static fromJSON(t){if(!t||typeof t.anchor!="number"||typeof t.head!="number")throw new RangeError("Invalid JSON representation for SelectionRange");return V.range(t.anchor,t.head)}static create(t,e,i){return new s(t,e,i)}},V=class s{constructor(t,e){this.ranges=t,this.mainIndex=e}map(t,e=-1){return t.empty?this:s.create(this.ranges.map(i=>i.map(t,e)),this.mainIndex)}eq(t,e=!1){if(this.ranges.length!=t.ranges.length||this.mainIndex!=t.mainIndex)return!1;for(let i=0;i<this.ranges.length;i++)if(!this.ranges[i].eq(t.ranges[i],e))return!1;return!0}get main(){return this.ranges[this.mainIndex]}asSingle(){return this.ranges.length==1?this:new s([this.main],0)}addRange(t,e=!0){return s.create([t].concat(this.ranges),e?0:this.mainIndex+1)}replaceRange(t,e=this.mainIndex){let i=this.ranges.slice();return i[e]=t,s.create(i,this.mainIndex)}toJSON(){return{ranges:this.ranges.map(t=>t.toJSON()),main:this.mainIndex}}static fromJSON(t){if(!t||!Array.isArray(t.ranges)||typeof t.main!="number"||t.main>=t.ranges.length)throw new RangeError("Invalid JSON representation for EditorSelection");return new s(t.ranges.map(e=>kn.fromJSON(e)),t.main)}static single(t,e=t){return new s([s.range(t,e)],0)}static create(t,e=0){if(t.length==0)throw new RangeError("A selection needs at least one range");for(let i=0,n=0;n<t.length;n++){let r=t[n];if(r.empty?r.from<=i:r.from<i)return s.normalized(t.slice(),e);i=r.to}return new s(t,e)}static cursor(t,e=0,i,n){return kn.create(t,t,(e==0?0:e<0?8:16)|(i==null?7:Math.min(6,i))|(n!=null?n:16777215)<<6)}static range(t,e,i,n){let r=(i!=null?i:16777215)<<6|(n==null?7:Math.min(6,n));return e<t?kn.create(e,t,48|r):kn.create(t,e,(e>t?8:0)|r)}static normalized(t,e=0){let i=t[e];t.sort((n,r)=>n.from-r.from),e=t.indexOf(i);for(let n=1;n<t.length;n++){let r=t[n],o=t[n-1];if(r.empty?r.from<=o.to:r.from<o.to){let l=o.from,a=Math.max(r.to,o.to);n<=e&&e--,t.splice(--n,2,r.anchor>r.head?s.range(a,l):s.range(l,a))}}return new s(t,e)}};function ud(s,t){for(let e of s.ranges)if(e.to>t)throw new RangeError("Selection points outside of document")}var nh=0,U=class s{constructor(t,e,i,n,r){this.combine=t,this.compareInput=e,this.compare=i,this.isStatic=n,this.id=nh++,this.default=t([]),this.extensions=typeof r=="function"?r(this):r}get reader(){return this}static define(t={}){return new s(t.combine||(e=>e),t.compareInput||((e,i)=>e===i),t.compare||(t.combine?(e,i)=>e===i:sh),!!t.static,t.enables)}of(t){return new Cn([],this,0,t)}compute(t,e){if(this.isStatic)throw new Error("Can\'t compute a static facet");return new Cn(t,this,1,e)}computeN(t,e){if(this.isStatic)throw new Error("Can\'t compute a static facet");return new Cn(t,this,2,e)}from(t,e){return e||(e=i=>i),this.compute([t],i=>e(i.field(t)))}};function sh(s,t){return s==t||s.length==t.length&&s.every((e,i)=>e===t[i])}var Cn=class{constructor(t,e,i,n){this.dependencies=t,this.facet=e,this.type=i,this.value=n,this.id=nh++}dynamicSlot(t){var e;let i=this.value,n=this.facet.compareInput,r=this.id,o=t[r]>>1,l=this.type==2,a=!1,h=!1,f=[];for(let c of this.dependencies)c=="doc"?a=!0:c=="selection"?h=!0:(((e=t[c.id])!==null&&e!==void 0?e:1)&1)==0&&f.push(t[c.id]);return{create(c){return c.values[o]=i(c),1},update(c,u){if(a&&u.docChanged||h&&(u.docChanged||u.selection)||Ka(c,f)){let d=i(c);if(l?!nd(d,c.values[o],n):!n(d,c.values[o]))return c.values[o]=d,1}return 0},reconfigure:(c,u)=>{let d,p=u.config.address[r];if(p!=null){let g=mo(u,p);if(this.dependencies.every(m=>m instanceof U?u.facet(m)===c.facet(m):m instanceof Qe?u.field(m,!1)==c.field(m,!1):!0)||(l?nd(d=i(c),g,n):n(d=i(c),g)))return c.values[o]=g,0}else d=i(c);return c.values[o]=d,1}}}};function nd(s,t,e){if(s.length!=t.length)return!1;for(let i=0;i<s.length;i++)if(!e(s[i],t[i]))return!1;return!0}function Ka(s,t){let e=!1;for(let i of t)Ps(s,i)&1&&(e=!0);return e}function j0(s,t,e){let i=e.map(a=>s[a.id]),n=e.map(a=>a.type),r=i.filter(a=>!(a&1)),o=s[t.id]>>1;function l(a){let h=[];for(let f=0;f<i.length;f++){let c=mo(a,i[f]);if(n[f]==2)for(let u of c)h.push(u);else h.push(c)}return t.combine(h)}return{create(a){for(let h of i)Ps(a,h);return a.values[o]=l(a),1},update(a,h){if(!Ka(a,r))return 0;let f=l(a);return t.compare(f,a.values[o])?0:(a.values[o]=f,1)},reconfigure(a,h){let f=Ka(a,i),c=h.config.facets[t.id],u=h.facet(t);if(c&&!f&&sh(e,c))return a.values[o]=u,0;let d=l(a);return t.compare(d,u)?(a.values[o]=u,0):(a.values[o]=d,1)}}}var sd=U.define({static:!0}),Qe=class s{constructor(t,e,i,n,r){this.id=t,this.createF=e,this.updateF=i,this.compareF=n,this.spec=r,this.provides=void 0}static define(t){let e=new s(nh++,t.create,t.update,t.compare||((i,n)=>i===n),t);return t.provide&&(e.provides=t.provide(e)),e}create(t){let e=t.facet(sd).find(i=>i.field==this);return((e==null?void 0:e.create)||this.createF)(t)}slot(t){let e=t[this.id]>>1;return{create:i=>(i.values[e]=this.create(i),1),update:(i,n)=>{let r=i.values[e],o=this.updateF(r,n);return this.compareF(r,o)?0:(i.values[e]=o,1)},reconfigure:(i,n)=>n.config.address[this.id]!=null?(i.values[e]=n.field(this),0):(i.values[e]=this.create(i),1)}}init(t){return[this,sd.of({field:this,create:t})]}get extension(){return this}},Ui={lowest:4,low:3,default:2,high:1,highest:0};function Ds(s){return t=>new uo(t,s)}var rh={highest:Ds(Ui.highest),high:Ds(Ui.high),default:Ds(Ui.default),low:Ds(Ui.low),lowest:Ds(Ui.lowest)},uo=class{constructor(t,e){this.inner=t,this.prec=e}},po=class s{of(t){return new Rs(this,t)}reconfigure(t){return s.reconfigure.of({compartment:this,extension:t})}get(t){return t.config.compartments.get(this)}},Rs=class{constructor(t,e){this.compartment=t,this.inner=e}},go=class s{constructor(t,e,i,n,r,o){for(this.base=t,this.compartments=e,this.dynamicSlots=i,this.address=n,this.staticValues=r,this.facets=o,this.statusTemplate=[];this.statusTemplate.length<i.length;)this.statusTemplate.push(0)}staticFacet(t){let e=this.address[t.id];return e==null?t.default:this.staticValues[e>>1]}static resolve(t,e,i){let n=[],r=Object.create(null),o=new Map;for(let u of q0(t,e,o))u instanceof Qe?n.push(u):(r[u.facet.id]||(r[u.facet.id]=[])).push(u);let l=Object.create(null),a=[],h=[];for(let u of n)l[u.id]=h.length<<1,h.push(d=>u.slot(d));let f=i==null?void 0:i.config.facets;for(let u in r){let d=r[u],p=d[0].facet,g=f&&f[u]||[];if(d.every(m=>m.type==0))if(l[p.id]=a.length<<1|1,sh(g,d))a.push(i.facet(p));else{let m=p.combine(d.map(b=>b.value));a.push(i&&p.compare(m,i.facet(p))?i.facet(p):m)}else{for(let m of d)m.type==0?(l[m.id]=a.length<<1|1,a.push(m.value)):(l[m.id]=h.length<<1,h.push(b=>m.dynamicSlot(b)));l[p.id]=h.length<<1,h.push(m=>j0(m,p,d))}}let c=h.map(u=>u(l));return new s(t,o,c,l,a,r)}};function q0(s,t,e){let i=[[],[],[],[],[]],n=new Map;function r(o,l){let a=n.get(o);if(a!=null){if(a<=l)return;let h=i[a].indexOf(o);h>-1&&i[a].splice(h,1),o instanceof Rs&&e.delete(o.compartment)}if(n.set(o,l),Array.isArray(o))for(let h of o)r(h,l);else if(o instanceof Rs){if(e.has(o.compartment))throw new RangeError("Duplicate use of compartment in extensions");let h=t.get(o.compartment)||o.inner;e.set(o.compartment,h),r(h,l)}else if(o instanceof uo)r(o.inner,o.prec);else if(o instanceof Qe)i[l].push(o),o.provides&&r(o.provides,l);else if(o instanceof Cn)i[l].push(o),o.facet.extensions&&r(o.facet.extensions,Ui.default);else{let h=o.extension;if(!h)throw new Error(`Unrecognized extension value in extension set (${o}). This sometimes happens because multiple instances of @codemirror/state are loaded, breaking instanceof checks.`);r(h,l)}}return r(s,Ui.default),i.reduce((o,l)=>o.concat(l))}function Ps(s,t){if(t&1)return 2;let e=t>>1,i=s.status[e];if(i==4)throw new Error("Cyclic dependency between fields and/or facets");if(i&2)return i;s.status[e]=4;let n=s.computeSlot(s,s.config.dynamicSlots[e]);return s.status[e]=2|n}function mo(s,t){return t&1?s.config.staticValues[t>>1]:s.values[t>>1]}var dd=U.define(),Ya=U.define({combine:s=>s.some(t=>t),static:!0}),pd=U.define({combine:s=>s.length?s[0]:void 0,static:!0}),gd=U.define(),md=U.define(),bd=U.define(),wd=U.define({combine:s=>s.length?s[0]:!1}),Ze=class{constructor(t,e){this.type=t,this.value=e}static define(){return new Xa}},Xa=class{of(t){return new Ze(this,t)}},Ja=class{constructor(t){this.map=t}of(t){return new wt(this,t)}},wt=class s{constructor(t,e){this.type=t,this.value=e}map(t){let e=this.type.map(this.value,t);return e===void 0?void 0:e==this.value?this:new s(this.type,e)}is(t){return this.type==t}static define(t={}){return new Ja(t.map||(e=>e))}static mapEffects(t,e){if(!t.length)return t;let i=[];for(let n of t){let r=n.map(e);r&&i.push(r)}return i}};wt.reconfigure=wt.define();wt.appendConfig=wt.define();var qt=class s{constructor(t,e,i,n,r,o){this.startState=t,this.changes=e,this.selection=i,this.effects=n,this.annotations=r,this.scrollIntoView=o,this._doc=null,this._state=null,i&&ud(i,e.newLength),r.some(l=>l.type==s.time)||(this.annotations=r.concat(s.time.of(Date.now())))}static create(t,e,i,n,r,o){return new s(t,e,i,n,r,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(t){for(let e of this.annotations)if(e.type==t)return e.value}get docChanged(){return!this.changes.empty}get reconfigured(){return this.startState.config!=this.state.config}isUserEvent(t){let e=this.annotation(s.userEvent);return!!(e&&(e==t||e.length>t.length&&e.slice(0,t.length)==t&&e[t.length]=="."))}};qt.time=Ze.define();qt.userEvent=Ze.define();qt.addToHistory=Ze.define();qt.remote=Ze.define();function $0(s,t){let e=[];for(let i=0,n=0;;){let r,o;if(i<s.length&&(n==t.length||t[n]>=s[i]))r=s[i++],o=s[i++];else if(n<t.length)r=t[n++],o=t[n++];else return e;!e.length||e[e.length-1]<r?e.push(r,o):e[e.length-1]<o&&(e[e.length-1]=o)}}function yd(s,t,e){var i;let n,r,o;return e?(n=t.changes,r=ee.empty(t.changes.length),o=s.changes.compose(t.changes)):(n=t.changes.map(s.changes),r=s.changes.mapDesc(t.changes,!0),o=s.changes.compose(n)),{changes:o,selection:t.selection?t.selection.map(r):(i=s.selection)===null||i===void 0?void 0:i.map(n),effects:wt.mapEffects(s.effects,n).concat(wt.mapEffects(t.effects,r)),annotations:s.annotations.length?s.annotations.concat(t.annotations):t.annotations,scrollIntoView:s.scrollIntoView||t.scrollIntoView}}function Qa(s,t,e){let i=t.selection,n=Mn(t.annotations);return t.userEvent&&(n=n.concat(qt.userEvent.of(t.userEvent))),{changes:t.changes instanceof ee?t.changes:ee.of(t.changes||[],e,s.facet(pd)),selection:i&&(i instanceof V?i:V.single(i.anchor,i.head)),effects:Mn(t.effects),annotations:n,scrollIntoView:!!t.scrollIntoView}}function vd(s,t,e){let i=Qa(s,t.length?t[0]:{},s.doc.length);t.length&&t[0].filter===!1&&(e=!1);for(let r=1;r<t.length;r++){t[r].filter===!1&&(e=!1);let o=!!t[r].sequential;i=yd(i,Qa(s,t[r],o?i.changes.newLength:s.doc.length),o)}let n=qt.create(s,i.changes,i.selection,i.effects,i.annotations,i.scrollIntoView);return Y0(e?K0(n):n)}function K0(s){let t=s.startState,e=!0;for(let n of t.facet(gd)){let r=n(s);if(r===!1){e=!1;break}Array.isArray(r)&&(e=e===!0?r:$0(e,r))}if(e!==!0){let n,r;if(e===!1)r=s.changes.invertedDesc,n=ee.empty(t.doc.length);else{let o=s.changes.filter(e);n=o.changes,r=o.filtered.mapDesc(o.changes).invertedDesc}s=qt.create(t,n,s.selection&&s.selection.map(r),wt.mapEffects(s.effects,r),s.annotations,s.scrollIntoView)}let i=t.facet(md);for(let n=i.length-1;n>=0;n--){let r=i[n](s);r instanceof qt?s=r:Array.isArray(r)&&r.length==1&&r[0]instanceof qt?s=r[0]:s=vd(t,Mn(r),!1)}return s}function Y0(s){let t=s.startState,e=t.facet(bd),i=s;for(let n=e.length-1;n>=0;n--){let r=e[n](s);r&&Object.keys(r).length&&(i=yd(i,Qa(t,r,s.changes.newLength),!0))}return i==s?s:qt.create(t,s.changes,s.selection,i.effects,i.annotations,i.scrollIntoView)}var X0=[];function Mn(s){return s==null?X0:Array.isArray(s)?s:[s]}var Ne=function(s){return s[s.Word=0]="Word",s[s.Space=1]="Space",s[s.Other=2]="Other",s}(Ne||(Ne={})),J0=/[\\u00df\\u0587\\u0590-\\u05f4\\u0600-\\u06ff\\u3040-\\u309f\\u30a0-\\u30ff\\u3400-\\u4db5\\u4e00-\\u9fcc\\uac00-\\ud7af]/,Za;try{Za=new RegExp("[\\\\p{Alphabetic}\\\\p{Number}_]","u")}catch(s){}function Q0(s){if(Za)return Za.test(s);for(let t=0;t<s.length;t++){let e=s[t];if(/\\w/.test(e)||e>"\\x80"&&(e.toUpperCase()!=e.toLowerCase()||J0.test(e)))return!0}return!1}function Z0(s){return t=>{if(!/\\S/.test(t))return Ne.Space;if(Q0(t))return Ne.Word;for(let e=0;e<s.length;e++)if(t.indexOf(s[e])>-1)return Ne.Word;return Ne.Other}}var pt=class s{constructor(t,e,i,n,r,o){this.config=t,this.doc=e,this.selection=i,this.values=n,this.status=t.statusTemplate.slice(),this.computeSlot=r,o&&(o._state=this);for(let l=0;l<this.config.dynamicSlots.length;l++)Ps(this,l<<1);this.computeSlot=null}field(t,e=!0){let i=this.config.address[t.id];if(i==null){if(e)throw new RangeError("Field is not present in this state");return}return Ps(this,i),mo(this,i)}update(...t){return vd(this,t,!0)}applyTransaction(t){let e=this.config,{base:i,compartments:n}=e;for(let l of t.effects)l.is(po.reconfigure)?(e&&(n=new Map,e.compartments.forEach((a,h)=>n.set(h,a)),e=null),n.set(l.value.compartment,l.value.extension)):l.is(wt.reconfigure)?(e=null,i=l.value):l.is(wt.appendConfig)&&(e=null,i=Mn(i).concat(l.value));let r;e?r=t.startState.values.slice():(e=go.resolve(i,n,this),r=new s(e,this.doc,this.selection,e.dynamicSlots.map(()=>null),(a,h)=>h.reconfigure(a,this),null).values);let o=t.startState.facet(Ya)?t.newSelection:t.newSelection.asSingle();new s(e,t.newDoc,o,r,(l,a)=>a.update(l,t),t)}replaceSelection(t){return typeof t=="string"&&(t=this.toText(t)),this.changeByRange(e=>({changes:{from:e.from,to:e.to,insert:t},range:V.cursor(e.from+t.length)}))}changeByRange(t){let e=this.selection,i=t(e.ranges[0]),n=this.changes(i.changes),r=[i.range],o=Mn(i.effects);for(let l=1;l<e.ranges.length;l++){let a=t(e.ranges[l]),h=this.changes(a.changes),f=h.map(n);for(let u=0;u<l;u++)r[u]=r[u].map(f);let c=n.mapDesc(h,!0);r.push(a.range.map(c)),n=n.compose(f),o=wt.mapEffects(o,f).concat(wt.mapEffects(Mn(a.effects),c))}return{changes:n,selection:V.create(r,e.mainIndex),effects:o}}changes(t=[]){return t instanceof ee?t:ee.of(t,this.doc.length,this.facet(s.lineSeparator))}toText(t){return Y.of(t.split(this.facet(s.lineSeparator)||ja))}sliceDoc(t=0,e=this.doc.length){return this.doc.sliceString(t,e,this.lineBreak)}facet(t){let e=this.config.address[t.id];return e==null?t.default:(Ps(this,e),mo(this,e))}toJSON(t){let e={doc:this.sliceDoc(),selection:this.selection.toJSON()};if(t)for(let i in t){let n=t[i];n instanceof Qe&&this.config.address[n.id]!=null&&(e[i]=n.spec.toJSON(this.field(t[i]),this))}return e}static fromJSON(t,e={},i){if(!t||typeof t.doc!="string")throw new RangeError("Invalid JSON representation for EditorState");let n=[];if(i){for(let r in i)if(Object.prototype.hasOwnProperty.call(t,r)){let o=i[r],l=t[r];n.push(o.init(a=>o.spec.fromJSON(l,a)))}}return s.create({doc:t.doc,selection:V.fromJSON(t.selection),extensions:e.extensions?n.concat([e.extensions]):n})}static create(t={}){let e=go.resolve(t.extensions||[],new Map),i=t.doc instanceof Y?t.doc:Y.of((t.doc||"").split(e.staticFacet(s.lineSeparator)||ja)),n=t.selection?t.selection instanceof V?t.selection:V.single(t.selection.anchor,t.selection.head):V.single(0);return ud(n,i.length),e.staticFacet(Ya)||(n=n.asSingle()),new s(e,i,n,e.dynamicSlots.map(()=>null),(r,o)=>o.create(r),null)}get tabSize(){return this.facet(s.tabSize)}get lineBreak(){return this.facet(s.lineSeparator)||`\n`}get readOnly(){return this.facet(wd)}phrase(t,...e){for(let i of this.facet(s.phrases))if(Object.prototype.hasOwnProperty.call(i,t)){t=i[t];break}return e.length&&(t=t.replace(/\\$(\\$|\\d*)/g,(i,n)=>{if(n=="$")return"$";let r=+(n||1);return!r||r>e.length?i:e[r-1]})),t}languageDataAt(t,e,i=-1){let n=[];for(let r of this.facet(dd))for(let o of r(this,e,i))Object.prototype.hasOwnProperty.call(o,t)&&n.push(o[t]);return n}charCategorizer(t){return Z0(this.languageDataAt("wordChars",t).join(""))}wordAt(t){let{text:e,from:i,length:n}=this.doc.lineAt(t),r=this.charCategorizer(t),o=t-i,l=t-i;for(;o>0;){let a=Le(e,o,!1);if(r(e.slice(a,o))!=Ne.Word)break;o=a}for(;l<n;){let a=Le(e,l);if(r(e.slice(l,a))!=Ne.Word)break;l=a}return o==l?null:V.range(o+i,l+i)}};pt.allowMultipleSelections=Ya;pt.tabSize=U.define({combine:s=>s.length?s[0]:4});pt.lineSeparator=pd;pt.readOnly=wd;pt.phrases=U.define({compare(s,t){let e=Object.keys(s),i=Object.keys(t);return e.length==i.length&&e.every(n=>s[n]==t[n])}});pt.languageData=dd;pt.changeFilter=gd;pt.transactionFilter=md;pt.transactionExtender=bd;po.reconfigure=wt.define();var ti=class{eq(t){return this==t}range(t,e=t){return Is.create(t,e,this)}};ti.prototype.startSide=ti.prototype.endSide=0;ti.prototype.point=!1;ti.prototype.mapMode=jt.TrackDel;var Is=class s{constructor(t,e,i){this.from=t,this.to=e,this.value=i}static create(t,e,i){return new s(t,e,i)}};function th(s,t){return s.from-t.from||s.value.startSide-t.value.startSide}var eh=class s{constructor(t,e,i,n){this.from=t,this.to=e,this.value=i,this.maxPoint=n}get length(){return this.to[this.to.length-1]}findIndex(t,e,i,n=0){let r=i?this.to:this.from;for(let o=n,l=r.length;;){if(o==l)return o;let a=o+l>>1,h=r[a]-t||(i?this.value[a].endSide:this.value[a].startSide)-e;if(a==o)return h>=0?o:l;h>=0?l=a:o=a+1}}between(t,e,i,n){for(let r=this.findIndex(e,-1e9,!0),o=this.findIndex(i,1e9,!1,r);r<o;r++)if(n(this.from[r]+t,this.to[r]+t,this.value[r])===!1)return!1}map(t,e){let i=[],n=[],r=[],o=-1,l=-1;for(let a=0;a<this.value.length;a++){let h=this.value[a],f=this.from[a]+t,c=this.to[a]+t,u,d;if(f==c){let p=e.mapPos(f,h.startSide,h.mapMode);if(p==null||(u=d=p,h.startSide!=h.endSide&&(d=e.mapPos(f,h.endSide),d<u)))continue}else if(u=e.mapPos(f,h.startSide),d=e.mapPos(c,h.endSide),u>d||u==d&&h.startSide>0&&h.endSide<=0)continue;(d-u||h.endSide-h.startSide)<0||(o<0&&(o=u),h.point&&(l=Math.max(l,d-u)),i.push(h),n.push(u-o),r.push(d-o))}return{mapped:i.length?new s(n,r,i,l):null,pos:o}}},yt=class s{constructor(t,e,i,n){this.chunkPos=t,this.chunk=e,this.nextLayer=i,this.maxPoint=n}static create(t,e,i,n){return new s(t,e,i,n)}get length(){let t=this.chunk.length-1;return t<0?0:Math.max(this.chunkEnd(t),this.nextLayer.length)}get size(){if(this.isEmpty)return 0;let t=this.nextLayer.size;for(let e of this.chunk)t+=e.value.length;return t}chunkEnd(t){return this.chunkPos[t]+this.chunk[t].length}update(t){let{add:e=[],sort:i=!1,filterFrom:n=0,filterTo:r=this.length}=t,o=t.filter;if(e.length==0&&!o)return this;if(i&&(e=e.slice().sort(th)),this.isEmpty)return e.length?s.of(e):this;let l=new bo(this,null,-1).goto(0),a=0,h=[],f=new An;for(;l.value||a<e.length;)if(a<e.length&&(l.from-e[a].from||l.startSide-e[a].value.startSide)>=0){let c=e[a++];f.addInner(c.from,c.to,c.value)||h.push(c)}else l.rangeIndex==1&&l.chunkIndex<this.chunk.length&&(a==e.length||this.chunkEnd(l.chunkIndex)<e[a].from)&&(!o||n>this.chunkEnd(l.chunkIndex)||r<this.chunkPos[l.chunkIndex])&&f.addChunk(this.chunkPos[l.chunkIndex],this.chunk[l.chunkIndex])?l.nextChunk():((!o||n>l.to||r<l.from||o(l.from,l.to,l.value))&&(f.addInner(l.from,l.to,l.value)||h.push(Is.create(l.from,l.to,l.value))),l.next());return f.finishInner(this.nextLayer.isEmpty&&!h.length?s.empty:this.nextLayer.update({add:h,filter:o,filterFrom:n,filterTo:r}))}map(t){if(t.empty||this.isEmpty)return this;let e=[],i=[],n=-1;for(let o=0;o<this.chunk.length;o++){let l=this.chunkPos[o],a=this.chunk[o],h=t.touchesRange(l,l+a.length);if(h===!1)n=Math.max(n,a.maxPoint),e.push(a),i.push(t.mapPos(l));else if(h===!0){let{mapped:f,pos:c}=a.map(l,t);f&&(n=Math.max(n,f.maxPoint),e.push(f),i.push(c))}}let r=this.nextLayer.map(t);return e.length==0?r:new s(i,e,r||s.empty,n)}between(t,e,i){if(!this.isEmpty){for(let n=0;n<this.chunk.length;n++){let r=this.chunkPos[n],o=this.chunk[n];if(e>=r&&t<=r+o.length&&o.between(r,t-r,e-r,i)===!1)return}this.nextLayer.between(t,e,i)}}iter(t=0){return Bs.from([this]).goto(t)}get isEmpty(){return this.nextLayer==this}static iter(t,e=0){return Bs.from(t).goto(e)}static compare(t,e,i,n,r=-1){let o=t.filter(c=>c.maxPoint>0||!c.isEmpty&&c.maxPoint>=r),l=e.filter(c=>c.maxPoint>0||!c.isEmpty&&c.maxPoint>=r),a=rd(o,l,i),h=new ji(o,a,r),f=new ji(l,a,r);i.iterGaps((c,u,d)=>od(h,c,f,u,d,n)),i.empty&&i.length==0&&od(h,0,f,0,0,n)}static eq(t,e,i=0,n){n==null&&(n=999999999);let r=t.filter(f=>!f.isEmpty&&e.indexOf(f)<0),o=e.filter(f=>!f.isEmpty&&t.indexOf(f)<0);if(r.length!=o.length)return!1;if(!r.length)return!0;let l=rd(r,o),a=new ji(r,l,0).goto(i),h=new ji(o,l,0).goto(i);for(;;){if(a.to!=h.to||!ih(a.active,h.active)||a.point&&(!h.point||!a.point.eq(h.point)))return!1;if(a.to>n)return!0;a.next(),h.next()}}static spans(t,e,i,n,r=-1){let o=new ji(t,null,r).goto(e),l=e,a=o.openStart;for(;;){let h=Math.min(o.to,i);if(o.point){let f=o.activeForPoint(o.to),c=o.pointFrom<e?f.length+1:Math.min(f.length,a);n.point(l,h,o.point,f,c,o.pointRank),a=Math.min(o.openEnd(h),f.length)}else h>l&&(n.span(l,h,o.active,a),a=o.openEnd(h));if(o.to>i)return a+(o.point&&o.to>i?1:0);l=o.to,o.next()}}static of(t,e=!1){let i=new An;for(let n of t instanceof Is?[t]:e?tb(t):t)i.add(n.from,n.to,n.value);return i.finish()}static join(t){if(!t.length)return s.empty;let e=t[t.length-1];for(let i=t.length-2;i>=0;i--)for(let n=t[i];n!=s.empty;n=n.nextLayer)e=new s(n.chunkPos,n.chunk,e,Math.max(n.maxPoint,e.maxPoint));return e}};yt.empty=new yt([],[],null,-1);function tb(s){if(s.length>1)for(let t=s[0],e=1;e<s.length;e++){let i=s[e];if(th(t,i)>0)return s.slice().sort(th);t=i}return s}yt.empty.nextLayer=yt.empty;var An=class s{finishChunk(t){this.chunks.push(new eh(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,t&&(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(t,e,i){this.addInner(t,e,i)||(this.nextLayer||(this.nextLayer=new s)).add(t,e,i)}addInner(t,e,i){let n=t-this.lastTo||i.startSide-this.last.endSide;if(n<=0&&(t-this.lastFrom||i.startSide-this.last.startSide)<0)throw new Error("Ranges must be added sorted by `from` position and `startSide`");return n<0?!1:(this.from.length==250&&this.finishChunk(!0),this.chunkStart<0&&(this.chunkStart=t),this.from.push(t-this.chunkStart),this.to.push(e-this.chunkStart),this.last=i,this.lastFrom=t,this.lastTo=e,this.value.push(i),i.point&&(this.maxPoint=Math.max(this.maxPoint,e-t)),!0)}addChunk(t,e){if((t-this.lastTo||e.value[0].startSide-this.last.endSide)<0)return!1;this.from.length&&this.finishChunk(!0),this.setMaxPoint=Math.max(this.setMaxPoint,e.maxPoint),this.chunks.push(e),this.chunkPos.push(t);let i=e.value.length-1;return this.last=e.value[i],this.lastFrom=e.from[i]+t,this.lastTo=e.to[i]+t,!0}finish(){return this.finishInner(yt.empty)}finishInner(t){if(this.from.length&&this.finishChunk(!1),this.chunks.length==0)return t;let e=yt.create(this.chunkPos,this.chunks,this.nextLayer?this.nextLayer.finishInner(t):t,this.setMaxPoint);return this.from=null,e}};function rd(s,t,e){let i=new Map;for(let r of s)for(let o=0;o<r.chunk.length;o++)r.chunk[o].maxPoint<=0&&i.set(r.chunk[o],r.chunkPos[o]);let n=new Set;for(let r of t)for(let o=0;o<r.chunk.length;o++){let l=i.get(r.chunk[o]);l!=null&&(e?e.mapPos(l):l)==r.chunkPos[o]&&!(e!=null&&e.touchesRange(l,l+r.chunk[o].length))&&n.add(r.chunk[o])}return n}var bo=class{constructor(t,e,i,n=0){this.layer=t,this.skip=e,this.minPoint=i,this.rank=n}get startSide(){return this.value?this.value.startSide:0}get endSide(){return this.value?this.value.endSide:0}goto(t,e=-1e9){return this.chunkIndex=this.rangeIndex=0,this.gotoInner(t,e,!1),this}gotoInner(t,e,i){for(;this.chunkIndex<this.layer.chunk.length;){let n=this.layer.chunk[this.chunkIndex];if(!(this.skip&&this.skip.has(n)||this.layer.chunkEnd(this.chunkIndex)<t||n.maxPoint<this.minPoint))break;this.chunkIndex++,i=!1}if(this.chunkIndex<this.layer.chunk.length){let n=this.layer.chunk[this.chunkIndex].findIndex(t-this.layer.chunkPos[this.chunkIndex],e,!0);(!i||this.rangeIndex<n)&&this.setRangeIndex(n)}this.next()}forward(t,e){(this.to-t||this.endSide-e)<0&&this.gotoInner(t,e,!0)}next(){for(;;)if(this.chunkIndex==this.layer.chunk.length){this.from=this.to=1e9,this.value=null;break}else{let t=this.layer.chunkPos[this.chunkIndex],e=this.layer.chunk[this.chunkIndex],i=t+e.from[this.rangeIndex];if(this.from=i,this.to=t+e.to[this.rangeIndex],this.value=e.value[this.rangeIndex],this.setRangeIndex(this.rangeIndex+1),this.minPoint<0||this.value.point&&this.to-this.from>=this.minPoint)break}}setRangeIndex(t){if(t==this.layer.chunk[this.chunkIndex].value.length){if(this.chunkIndex++,this.skip)for(;this.chunkIndex<this.layer.chunk.length&&this.skip.has(this.layer.chunk[this.chunkIndex]);)this.chunkIndex++;this.rangeIndex=0}else this.rangeIndex=t}nextChunk(){this.chunkIndex++,this.rangeIndex=0,this.next()}compare(t){return this.from-t.from||this.startSide-t.startSide||this.rank-t.rank||this.to-t.to||this.endSide-t.endSide}},Bs=class s{constructor(t){this.heap=t}static from(t,e=null,i=-1){let n=[];for(let r=0;r<t.length;r++)for(let o=t[r];!o.isEmpty;o=o.nextLayer)o.maxPoint>=i&&n.push(new bo(o,e,i,r));return n.length==1?n[0]:new s(n)}get startSide(){return this.value?this.value.startSide:0}goto(t,e=-1e9){for(let i of this.heap)i.goto(t,e);for(let i=this.heap.length>>1;i>=0;i--)Wa(this.heap,i);return this.next(),this}forward(t,e){for(let i of this.heap)i.forward(t,e);for(let i=this.heap.length>>1;i>=0;i--)Wa(this.heap,i);(this.to-t||this.value.endSide-e)<0&&this.next()}next(){if(this.heap.length==0)this.from=this.to=1e9,this.value=null,this.rank=-1;else{let t=this.heap[0];this.from=t.from,this.to=t.to,this.value=t.value,this.rank=t.rank,t.value&&t.next(),Wa(this.heap,0)}}};function Wa(s,t){for(let e=s[t];;){let i=(t<<1)+1;if(i>=s.length)break;let n=s[i];if(i+1<s.length&&n.compare(s[i+1])>=0&&(n=s[i+1],i++),e.compare(n)<0)break;s[i]=e,s[t]=n,t=i}}var ji=class{constructor(t,e,i){this.minPoint=i,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=Bs.from(t,e,i)}goto(t,e=-1e9){return this.cursor.goto(t,e),this.active.length=this.activeTo.length=this.activeRank.length=0,this.minActive=-1,this.to=t,this.endSide=e,this.openStart=-1,this.next(),this}forward(t,e){for(;this.minActive>-1&&(this.activeTo[this.minActive]-t||this.active[this.minActive].endSide-e)<0;)this.removeActive(this.minActive);this.cursor.forward(t,e)}removeActive(t){oo(this.active,t),oo(this.activeTo,t),oo(this.activeRank,t),this.minActive=ld(this.active,this.activeTo)}addActive(t){let e=0,{value:i,to:n,rank:r}=this.cursor;for(;e<this.activeRank.length&&(r-this.activeRank[e]||n-this.activeTo[e])>0;)e++;lo(this.active,e,i),lo(this.activeTo,e,n),lo(this.activeRank,e,r),t&&lo(t,e,this.cursor.from),this.minActive=ld(this.active,this.activeTo)}next(){let t=this.to,e=this.point;this.point=null;let i=this.openStart<0?[]:null;for(;;){let n=this.minActive;if(n>-1&&(this.activeTo[n]-this.cursor.from||this.active[n].endSide-this.cursor.startSide)<0){if(this.activeTo[n]>t){this.to=this.activeTo[n],this.endSide=this.active[n].endSide;break}this.removeActive(n),i&&oo(i,n)}else if(this.cursor.value)if(this.cursor.from>t){this.to=this.cursor.from,this.endSide=this.cursor.startSide;break}else{let r=this.cursor.value;if(!r.point)this.addActive(i),this.cursor.next();else if(e&&this.cursor.to==this.to&&this.cursor.from<this.cursor.to)this.cursor.next();else{this.point=r,this.pointFrom=this.cursor.from,this.pointRank=this.cursor.rank,this.to=this.cursor.to,this.endSide=r.endSide,this.cursor.next(),this.forward(this.to,this.endSide);break}}else{this.to=this.endSide=1e9;break}}if(i){this.openStart=0;for(let n=i.length-1;n>=0&&i[n]<t;n--)this.openStart++}}activeForPoint(t){if(!this.active.length)return this.active;let e=[];for(let i=this.active.length-1;i>=0&&!(this.activeRank[i]<this.pointRank);i--)(this.activeTo[i]>t||this.activeTo[i]==t&&this.active[i].endSide>=this.point.endSide)&&e.push(this.active[i]);return e.reverse()}openEnd(t){let e=0;for(let i=this.activeTo.length-1;i>=0&&this.activeTo[i]>t;i--)e++;return e}};function od(s,t,e,i,n,r){s.goto(t),e.goto(i);let o=i+n,l=i,a=i-t;for(;;){let h=s.to+a-e.to||s.endSide-e.endSide,f=h<0?s.to+a:e.to,c=Math.min(f,o);if(s.point||e.point?s.point&&e.point&&(s.point==e.point||s.point.eq(e.point))&&ih(s.activeForPoint(s.to),e.activeForPoint(e.to))||r.comparePoint(l,c,s.point,e.point):c>l&&!ih(s.active,e.active)&&r.compareRange(l,c,s.active,e.active),f>o)break;l=f,h<=0&&s.next(),h>=0&&e.next()}}function ih(s,t){if(s.length!=t.length)return!1;for(let e=0;e<s.length;e++)if(s[e]!=t[e]&&!s[e].eq(t[e]))return!1;return!0}function oo(s,t){for(let e=t,i=s.length-1;e<i;e++)s[e]=s[e+1];s.pop()}function lo(s,t,e){for(let i=s.length-1;i>=t;i--)s[i+1]=s[i];s[t]=e}function ld(s,t){let e=-1,i=1e9;for(let n=0;n<t.length;n++)(t[n]-i||s[n].endSide-s[e].endSide)<0&&(e=n,i=t[n]);return e}function kd(s,t,e,i){for(let n=0,r=0;;){if(r>=t)return n;if(n==s.length)break;r+=s.charCodeAt(n)==9?e-r%e:1,n=Le(s,n)}return i===!0?-1:s.length}var oh="\\u037C",xd=typeof Symbol=="undefined"?"__"+oh:Symbol.for(oh),lh=typeof Symbol=="undefined"?"__styleSet"+Math.floor(Math.random()*1e8):Symbol("styleSet"),Sd=typeof globalThis!="undefined"?globalThis:typeof window!="undefined"?window:{},ue=class{constructor(t,e){this.rules=[];let{finish:i}=e||{};function n(o){return/^@/.test(o)?[o]:o.split(/,\\s*/)}function r(o,l,a,h){let f=[],c=/^@(\\w+)\\b/.exec(o[0]),u=c&&c[1]=="keyframes";if(c&&l==null)return a.push(o[0]+";");for(let d in l){let p=l[d];if(/&/.test(d))r(d.split(/,\\s*/).map(g=>o.map(m=>g.replace(/&/,m))).reduce((g,m)=>g.concat(m)),p,a);else if(p&&typeof p=="object"){if(!c)throw new RangeError("The value of a property ("+d+") should be a primitive value.");r(n(d),p,f,u)}else p!=null&&f.push(d.replace(/_.*/,"").replace(/[A-Z]/g,g=>"-"+g.toLowerCase())+": "+p+";")}(f.length||u)&&a.push((i&&!c&&!h?o.map(i):o).join(", ")+" {"+f.join(" ")+"}")}for(let o in t)r(n(o),t[o],this.rules)}getRules(){return this.rules.join(`\n`)}static newName(){let t=Sd[xd]||1;return Sd[xd]=t+1,oh+t.toString(36)}static mount(t,e,i){let n=t[lh],r=i&&i.nonce;n?r&&n.setNonce(r):n=new ah(t,r),n.mount(Array.isArray(e)?e:[e])}},Cd=new Map,ah=class{constructor(t,e){let i=t.ownerDocument||t,n=i.defaultView;if(!t.head&&t.adoptedStyleSheets&&n.CSSStyleSheet){let r=Cd.get(i);if(r)return t.adoptedStyleSheets=[r.sheet,...t.adoptedStyleSheets],t[lh]=r;this.sheet=new n.CSSStyleSheet,t.adoptedStyleSheets=[this.sheet,...t.adoptedStyleSheets],Cd.set(i,this)}else{this.styleTag=i.createElement("style"),e&&this.styleTag.setAttribute("nonce",e);let r=t.head||t;r.insertBefore(this.styleTag,r.firstChild)}this.modules=[],t[lh]=this}mount(t){let e=this.sheet,i=0,n=0;for(let r=0;r<t.length;r++){let o=t[r],l=this.modules.indexOf(o);if(l<n&&l>-1&&(this.modules.splice(l,1),n--,l=-1),l==-1){if(this.modules.splice(n++,0,o),e)for(let a=0;a<o.rules.length;a++)e.insertRule(o.rules[a],i++)}else{for(;n<l;)i+=this.modules[n++].rules.length;i+=o.rules.length,n++}}if(!e){let r="";for(let o=0;o<this.modules.length;o++)r+=this.modules[o].getRules()+`\n`;this.styleTag.textContent=r}}setNonce(t){this.styleTag&&this.styleTag.getAttribute("nonce")!=t&&this.styleTag.setAttribute("nonce",t)}};var Yi={8:"Backspace",9:"Tab",10:"Enter",12:"NumLock",13:"Enter",16:"Shift",17:"Control",18:"Alt",20:"CapsLock",27:"Escape",32:" ",33:"PageUp",34:"PageDown",35:"End",36:"Home",37:"ArrowLeft",38:"ArrowUp",39:"ArrowRight",40:"ArrowDown",44:"PrintScreen",45:"Insert",46:"Delete",59:";",61:"=",91:"Meta",92:"Meta",106:"*",107:"+",108:",",109:"-",110:".",111:"/",144:"NumLock",145:"ScrollLock",160:"Shift",161:"Shift",162:"Control",163:"Control",164:"Alt",165:"Alt",173:"-",186:";",187:"=",188:",",189:"-",190:".",191:"/",192:"`",219:"[",220:"\\\\",221:"]",222:"\'"},yo={48:")",49:"!",50:"@",51:"#",52:"$",53:"%",54:"^",55:"&",56:"*",57:"(",59:":",61:"+",173:"_",186:":",187:"+",188:"<",189:"_",190:">",191:"?",192:"~",219:"{",220:"|",221:"}",222:\'"\'},t1=typeof navigator!="undefined"&&/Mac/.test(navigator.platform),e1=typeof navigator!="undefined"&&/MSIE \\d|Trident\\/(?:[7-9]|\\d{2,})\\..*rv:(\\d+)/.exec(navigator.userAgent);for(vt=0;vt<10;vt++)Yi[48+vt]=Yi[96+vt]=String(vt);var vt;for(vt=1;vt<=24;vt++)Yi[vt+111]="F"+vt;var vt;for(vt=65;vt<=90;vt++)Yi[vt]=String.fromCharCode(vt+32),yo[vt]=String.fromCharCode(vt);var vt;for(wo in Yi)yo.hasOwnProperty(wo)||(yo[wo]=Yi[wo]);var wo;function Eo(s){let t;return s.nodeType==11?t=s.getSelection?s:s.ownerDocument:t=s,t.getSelection()}function dh(s,t){return t?s==t||s.contains(t.nodeType!=1?t.parentNode:t):!1}function nb(s){let t=s.activeElement;for(;t&&t.shadowRoot;)t=t.shadowRoot.activeElement;return t}function Ao(s,t){if(!t.anchorNode)return!1;try{return dh(s,t.anchorNode)}catch(e){return!1}}function js(s){return s.nodeType==3?Xi(s,0,s.nodeValue.length).getClientRects():s.nodeType==1?s.getClientRects():[]}function Vs(s,t,e,i){return e?Md(s,t,e,i,-1)||Md(s,t,e,i,1):!1}function qs(s){for(var t=0;;t++)if(s=s.previousSibling,!s)return t}function Md(s,t,e,i,n){for(;;){if(s==e&&t==i)return!0;if(t==(n<0?0:ni(s))){if(s.nodeName=="DIV")return!1;let r=s.parentNode;if(!r||r.nodeType!=1)return!1;t=qs(s)+(n<0?0:1),s=r}else if(s.nodeType==1){if(s=s.childNodes[t+(n<0?-1:0)],s.nodeType==1&&s.contentEditable=="false")return!1;t=n<0?ni(s):0}else return!1}}function ni(s){return s.nodeType==3?s.nodeValue.length:s.childNodes.length}function Wh(s,t){let e=t?s.left:s.right;return{left:e,right:e,top:s.top,bottom:s.bottom}}function sb(s){return{left:0,right:s.innerWidth,top:0,bottom:s.innerHeight}}function ep(s,t){let e=t.width/s.offsetWidth,i=t.height/s.offsetHeight;return(e>.995&&e<1.005||!isFinite(e)||Math.abs(t.width-s.offsetWidth)<1)&&(e=1),(i>.995&&i<1.005||!isFinite(i)||Math.abs(t.height-s.offsetHeight)<1)&&(i=1),{scaleX:e,scaleY:i}}function rb(s,t,e,i,n,r,o,l){let a=s.ownerDocument,h=a.defaultView||window;for(let f=s,c=!1;f&&!c;)if(f.nodeType==1){let u,d=f==a.body,p=1,g=1;if(d)u=sb(h);else{if(/^(fixed|sticky)$/.test(getComputedStyle(f).position)&&(c=!0),f.scrollHeight<=f.clientHeight&&f.scrollWidth<=f.clientWidth){f=f.assignedSlot||f.parentNode;continue}let w=f.getBoundingClientRect();({scaleX:p,scaleY:g}=ep(f,w)),u={left:w.left,right:w.left+f.clientWidth*p,top:w.top,bottom:w.top+f.clientHeight*g}}let m=0,b=0;if(n=="nearest")t.top<u.top?(b=-(u.top-t.top+o),e>0&&t.bottom>u.bottom+b&&(b=t.bottom-u.bottom+b+o)):t.bottom>u.bottom&&(b=t.bottom-u.bottom+o,e<0&&t.top-b<u.top&&(b=-(u.top+b-t.top+o)));else{let w=t.bottom-t.top,y=u.bottom-u.top;b=(n=="center"&&w<=y?t.top+w/2-y/2:n=="start"||n=="center"&&e<0?t.top-o:t.bottom-y+o)-u.top}if(i=="nearest"?t.left<u.left?(m=-(u.left-t.left+r),e>0&&t.right>u.right+m&&(m=t.right-u.right+m+r)):t.right>u.right&&(m=t.right-u.right+r,e<0&&t.left<u.left+m&&(m=-(u.left+m-t.left+r))):m=(i=="center"?t.left+(t.right-t.left)/2-(u.right-u.left)/2:i=="start"==l?t.left-r:t.right-(u.right-u.left)+r)-u.left,m||b)if(d)h.scrollBy(m,b);else{let w=0,y=0;if(b){let v=f.scrollTop;f.scrollTop+=b/g,y=(f.scrollTop-v)*g}if(m){let v=f.scrollLeft;f.scrollLeft+=m/p,w=(f.scrollLeft-v)*p}t={left:t.left-w,top:t.top-y,right:t.right-w,bottom:t.bottom-y},w&&Math.abs(w-m)<1&&(i="nearest"),y&&Math.abs(y-b)<1&&(n="nearest")}if(d)break;f=f.assignedSlot||f.parentNode}else if(f.nodeType==11)f=f.host;else break}function ob(s){let t=s.ownerDocument;for(let e=s.parentNode;e&&e!=t.body;)if(e.nodeType==1){if(e.scrollHeight>e.clientHeight||e.scrollWidth>e.clientWidth)return e;e=e.assignedSlot||e.parentNode}else if(e.nodeType==11)e=e.host;else break;return null}var ph=class{constructor(){this.anchorNode=null,this.anchorOffset=0,this.focusNode=null,this.focusOffset=0}eq(t){return this.anchorNode==t.anchorNode&&this.anchorOffset==t.anchorOffset&&this.focusNode==t.focusNode&&this.focusOffset==t.focusOffset}setRange(t){let{anchorNode:e,focusNode:i}=t;this.set(e,Math.min(t.anchorOffset,e?ni(e):0),i,Math.min(t.focusOffset,i?ni(i):0))}set(t,e,i,n){this.anchorNode=t,this.anchorOffset=e,this.focusNode=i,this.focusOffset=n}},On=null;function ip(s){if(s.setActive)return s.setActive();if(On)return s.focus(On);let t=[];for(let e=s;e&&(t.push(e,e.scrollTop,e.scrollLeft),e!=e.ownerDocument);e=e.parentNode);if(s.focus(On==null?{get preventScroll(){return On={preventScroll:!0},!0}}:void 0),!On){On=!1;for(let e=0;e<t.length;){let i=t[e++],n=t[e++],r=t[e++];i.scrollTop!=n&&(i.scrollTop=n),i.scrollLeft!=r&&(i.scrollLeft=r)}}}var Td;function Xi(s,t,e=t){let i=Td||(Td=document.createRange());return i.setEnd(s,e),i.setStart(s,t),i}function En(s,t,e){let i={key:t,code:t,keyCode:e,which:e,cancelable:!0},n=new KeyboardEvent("keydown",i);n.synthetic=!0,s.dispatchEvent(n);let r=new KeyboardEvent("keyup",i);return r.synthetic=!0,s.dispatchEvent(r),n.defaultPrevented||r.defaultPrevented}function lb(s){for(;s;){if(s&&(s.nodeType==9||s.nodeType==11&&s.host))return s;s=s.assignedSlot||s.parentNode}return null}function np(s){for(;s.attributes.length;)s.removeAttributeNode(s.attributes[0])}function ab(s,t){let e=t.focusNode,i=t.focusOffset;if(!e||t.anchorNode!=e||t.anchorOffset!=i)return!1;for(i=Math.min(i,ni(e));;)if(i){if(e.nodeType!=1)return!1;let n=e.childNodes[i-1];n.contentEditable=="false"?i--:(e=n,i=ni(e))}else{if(e==s)return!0;i=qs(e),e=e.parentNode}}function sp(s){return s.scrollTop>Math.max(1,s.scrollHeight-s.clientHeight-4)}var Vt=class s{constructor(t,e,i=!0){this.node=t,this.offset=e,this.precise=i}static before(t,e){return new s(t.parentNode,qs(t),e)}static after(t,e){return new s(t.parentNode,qs(t)+1,e)}},Gh=[],ht=class s{constructor(){this.parent=null,this.dom=null,this.flags=2}get overrideDOMText(){return null}get posAtStart(){return this.parent?this.parent.posBefore(this):0}get posAtEnd(){return this.posAtStart+this.length}posBefore(t){let e=this.posAtStart;for(let i of this.children){if(i==t)return e;e+=i.length+i.breakAfter}throw new RangeError("Invalid child in posBefore")}posAfter(t){return this.posBefore(t)+t.length}sync(t,e){if(this.flags&2){let i=this.dom,n=null,r;for(let o of this.children){if(o.flags&7){if(!o.dom&&(r=n?n.nextSibling:i.firstChild)){let l=s.get(r);(!l||!l.parent&&l.canReuseDOM(o))&&o.reuseDOM(r)}o.sync(t,e),o.flags&=-8}if(r=n?n.nextSibling:i.firstChild,e&&!e.written&&e.node==i&&r!=o.dom&&(e.written=!0),o.dom.parentNode==i)for(;r&&r!=o.dom;)r=Ad(r);else i.insertBefore(o.dom,r);n=o.dom}for(r=n?n.nextSibling:i.firstChild,r&&e&&e.node==i&&(e.written=!0);r;)r=Ad(r)}else if(this.flags&1)for(let i of this.children)i.flags&7&&(i.sync(t,e),i.flags&=-8)}reuseDOM(t){}localPosFromDOM(t,e){let i;if(t==this.dom)i=this.dom.childNodes[e];else{let n=ni(t)==0?0:e==0?-1:1;for(;;){let r=t.parentNode;if(r==this.dom)break;n==0&&r.firstChild!=r.lastChild&&(t==r.firstChild?n=-1:n=1),t=r}n<0?i=t:i=t.nextSibling}if(i==this.dom.firstChild)return 0;for(;i&&!s.get(i);)i=i.nextSibling;if(!i)return this.length;for(let n=0,r=0;;n++){let o=this.children[n];if(o.dom==i)return r;r+=o.length+o.breakAfter}}domBoundsAround(t,e,i=0){let n=-1,r=-1,o=-1,l=-1;for(let a=0,h=i,f=i;a<this.children.length;a++){let c=this.children[a],u=h+c.length;if(h<t&&u>e)return c.domBoundsAround(t,e,h);if(u>=t&&n==-1&&(n=a,r=h),h>e&&c.dom.parentNode==this.dom){o=a,l=f;break}f=u,h=u+c.breakAfter}return{from:r,to:l<0?i+this.length:l,startDOM:(n?this.children[n-1].dom.nextSibling:null)||this.dom.firstChild,endDOM:o<this.children.length&&o>=0?this.children[o].dom:null}}markDirty(t=!1){this.flags|=2,this.markParentsDirty(t)}markParentsDirty(t){for(let e=this.parent;e;e=e.parent){if(t&&(e.flags|=2),e.flags&1)return;e.flags|=1,t=!1}}setParent(t){this.parent!=t&&(this.parent=t,this.flags&7&&this.markParentsDirty(!0))}setDOM(t){this.dom!=t&&(this.dom&&(this.dom.cmView=null),this.dom=t,t.cmView=this)}get rootView(){for(let t=this;;){let e=t.parent;if(!e)return t;t=e}}replaceChildren(t,e,i=Gh){this.markDirty();for(let n=t;n<e;n++){let r=this.children[n];r.parent==this&&i.indexOf(r)<0&&r.destroy()}this.children.splice(t,e-t,...i);for(let n=0;n<i.length;n++)i[n].setParent(this)}ignoreMutation(t){return!1}ignoreEvent(t){return!1}childCursor(t=this.length){return new Do(this.children,t,this.children.length)}childPos(t,e=1){return this.childCursor().findPos(t,e)}toString(){let t=this.constructor.name.replace("View","");return t+(this.children.length?"("+this.children.join()+")":this.length?"["+(t=="Text"?this.text:this.length)+"]":"")+(this.breakAfter?"#":"")}static get(t){return t.cmView}get isEditable(){return!0}get isWidget(){return!1}get isHidden(){return!1}merge(t,e,i,n,r,o){return!1}become(t){return!1}canReuseDOM(t){return t.constructor==this.constructor&&!((this.flags|t.flags)&8)}getSide(){return 0}destroy(){for(let t of this.children)t.parent==this&&t.destroy();this.parent=null}};ht.prototype.breakAfter=0;function Ad(s){let t=s.nextSibling;return s.parentNode.removeChild(s),t}var Do=class{constructor(t,e,i){this.children=t,this.pos=e,this.i=i,this.off=0}findPos(t,e=1){for(;;){if(t>this.pos||t==this.pos&&(e>0||this.i==0||this.children[this.i-1].breakAfter))return this.off=t-this.pos,this;let i=this.children[--this.i];this.pos-=i.length+i.breakAfter}}};function rp(s,t,e,i,n,r,o,l,a){let{children:h}=s,f=h.length?h[t]:null,c=r.length?r[r.length-1]:null,u=c?c.breakAfter:o;if(!(t==i&&f&&!o&&!u&&r.length<2&&f.merge(e,n,r.length?c:null,e==0,l,a))){if(i<h.length){let d=h[i];d&&(n<d.length||d.breakAfter&&(c!=null&&c.breakAfter))?(t==i&&(d=d.split(n),n=0),!u&&c&&d.merge(0,n,c,!0,0,a)?r[r.length-1]=d:((n||d.children.length&&!d.children[0].length)&&d.merge(0,n,null,!1,0,a),r.push(d))):d!=null&&d.breakAfter&&(c?c.breakAfter=1:o=1),i++}for(f&&(f.breakAfter=o,e>0&&(!o&&r.length&&f.merge(e,f.length,r[0],!1,l,0)?f.breakAfter=r.shift().breakAfter:(e<f.length||f.children.length&&f.children[f.children.length-1].length==0)&&f.merge(e,f.length,null,!1,l,0),t++));t<i&&r.length;)if(h[i-1].become(r[r.length-1]))i--,r.pop(),a=r.length?0:l;else if(h[t].become(r[0]))t++,r.shift(),l=r.length?0:a;else break;!r.length&&t&&i<h.length&&!h[t-1].breakAfter&&h[i].merge(0,0,h[t-1],!1,l,a)&&t--,(t<i||r.length)&&s.replaceChildren(t,i,r)}}function op(s,t,e,i,n,r){let o=s.childCursor(),{i:l,off:a}=o.findPos(e,1),{i:h,off:f}=o.findPos(t,-1),c=t-e;for(let u of i)c+=u.length;s.length+=c,rp(s,h,f,l,a,i,0,n,r)}var ie=typeof navigator!="undefined"?navigator:{userAgent:"",vendor:"",platform:""},gh=typeof document!="undefined"?document:{documentElement:{style:{}}},mh=/Edge\\/(\\d+)/.exec(ie.userAgent),lp=/MSIE \\d/.test(ie.userAgent),bh=/Trident\\/(?:[7-9]|\\d{2,})\\..*rv:(\\d+)/.exec(ie.userAgent),zo=!!(lp||bh||mh),Od=!zo&&/gecko\\/(\\d+)/i.test(ie.userAgent),hh=!zo&&/Chrome\\/(\\d+)/.exec(ie.userAgent),_d="webkitFontSmoothing"in gh.documentElement.style,ap=!zo&&/Apple Computer/.test(ie.vendor),Ed=ap&&(/Mobile\\/\\w+/.test(ie.userAgent)||ie.maxTouchPoints>2),B={mac:Ed||/Mac/.test(ie.platform),windows:/Win/.test(ie.platform),linux:/Linux|X11/.test(ie.platform),ie:zo,ie_version:lp?gh.documentMode||6:bh?+bh[1]:mh?+mh[1]:0,gecko:Od,gecko_version:Od?+(/Firefox\\/(\\d+)/.exec(ie.userAgent)||[0,0])[1]:0,chrome:!!hh,chrome_version:hh?+hh[1]:0,ios:Ed,android:/Android\\b/.test(ie.userAgent),webkit:_d,safari:ap,webkit_version:_d?+(/\\bAppleWebKit\\/(\\d+)/.exec(navigator.userAgent)||[0,0])[1]:0,tabSize:gh.documentElement.style.tabSize!=null?"tab-size":"-moz-tab-size"},hb=256,Si=class s extends ht{constructor(t){super(),this.text=t}get length(){return this.text.length}createDOM(t){this.setDOM(t||document.createTextNode(this.text))}sync(t,e){this.dom||this.createDOM(),this.dom.nodeValue!=this.text&&(e&&e.node==this.dom&&(e.written=!0),this.dom.nodeValue=this.text)}reuseDOM(t){t.nodeType==3&&this.createDOM(t)}merge(t,e,i){return this.flags&8||i&&(!(i instanceof s)||this.length-(e-t)+i.length>hb||i.flags&8)?!1:(this.text=this.text.slice(0,t)+(i?i.text:"")+this.text.slice(e),this.markDirty(),!0)}split(t){let e=new s(this.text.slice(t));return this.text=this.text.slice(0,t),this.markDirty(),e.flags|=this.flags&8,e}localPosFromDOM(t,e){return t==this.dom?e:e?this.text.length:0}domAtPos(t){return new Vt(this.dom,t)}domBoundsAround(t,e,i){return{from:i,to:i+this.length,startDOM:this.dom,endDOM:this.dom.nextSibling}}coordsAt(t,e){return fb(this.dom,t,e)}},Ci=class s extends ht{constructor(t,e=[],i=0){super(),this.mark=t,this.children=e,this.length=i;for(let n of e)n.setParent(this)}setAttrs(t){if(np(t),this.mark.class&&(t.className=this.mark.class),this.mark.attrs)for(let e in this.mark.attrs)t.setAttribute(e,this.mark.attrs[e]);return t}canReuseDOM(t){return super.canReuseDOM(t)&&!((this.flags|t.flags)&8)}reuseDOM(t){t.nodeName==this.mark.tagName.toUpperCase()&&(this.setDOM(t),this.flags|=6)}sync(t,e){this.dom?this.flags&4&&this.setAttrs(this.dom):this.setDOM(this.setAttrs(document.createElement(this.mark.tagName))),super.sync(t,e)}merge(t,e,i,n,r,o){return i&&(!(i instanceof s&&i.mark.eq(this.mark))||t&&r<=0||e<this.length&&o<=0)?!1:(op(this,t,e,i?i.children.slice():[],r-1,o-1),this.markDirty(),!0)}split(t){let e=[],i=0,n=-1,r=0;for(let l of this.children){let a=i+l.length;a>t&&e.push(i<t?l.split(t-i):l),n<0&&i>=t&&(n=r),i=a,r++}let o=this.length-t;return this.length=t,n>-1&&(this.children.length=n,this.markDirty()),new s(this.mark,e,o)}domAtPos(t){return hp(this,t)}coordsAt(t,e){return cp(this,t,e)}};function fb(s,t,e){let i=s.nodeValue.length;t>i&&(t=i);let n=t,r=t,o=0;t==0&&e<0||t==i&&e>=0?B.chrome||B.gecko||(t?(n--,o=1):r<i&&(r++,o=-1)):e<0?n--:r<i&&r++;let l=Xi(s,n,r).getClientRects();if(!l.length)return null;let a=l[(o?o<0:e>=0)?0:l.length-1];return B.safari&&!o&&a.width==0&&(a=Array.prototype.find.call(l,h=>h.width)||a),o?Wh(a,o<0):a||null}var Po=class s extends ht{static create(t,e,i){return new s(t,e,i)}constructor(t,e,i){super(),this.widget=t,this.length=e,this.side=i,this.prevWidget=null}split(t){let e=s.create(this.widget,this.length-t,this.side);return this.length-=t,e}sync(t){(!this.dom||!this.widget.updateDOM(this.dom,t))&&(this.dom&&this.prevWidget&&this.prevWidget.destroy(this.dom),this.prevWidget=null,this.setDOM(this.widget.toDOM(t)),this.widget.editable||(this.dom.contentEditable="false"))}getSide(){return this.side}merge(t,e,i,n,r,o){return i&&(!(i instanceof s)||!this.widget.compare(i.widget)||t>0&&r<=0||e<this.length&&o<=0)?!1:(this.length=t+(i?i.length:0)+(this.length-e),!0)}become(t){return t instanceof s&&t.side==this.side&&this.widget.constructor==t.widget.constructor?(this.widget.compare(t.widget)||this.markDirty(!0),this.dom&&!this.prevWidget&&(this.prevWidget=this.widget),this.widget=t.widget,this.length=t.length,!0):!1}ignoreMutation(){return!0}ignoreEvent(t){return this.widget.ignoreEvent(t)}get overrideDOMText(){if(this.length==0)return Y.empty;let t=this;for(;t.parent;)t=t.parent;let{view:e}=t,i=e&&e.state.doc,n=this.posAtStart;return i?i.slice(n,n+this.length):Y.empty}domAtPos(t){return(this.length?t==0:this.side>0)?Vt.before(this.dom):Vt.after(this.dom,t==this.length)}domBoundsAround(){return null}coordsAt(t,e){let i=this.widget.coordsAt(this.dom,t,e);if(i)return i;let n=this.dom.getClientRects(),r=null;if(!n.length)return null;let o=this.side?this.side<0:t>0;for(let l=o?n.length-1:0;r=n[l],!(t>0?l==0:l==n.length-1||r.top<r.bottom);l+=o?-1:1);return Wh(r,!o)}get isEditable(){return!1}get isWidget(){return!0}get isHidden(){return this.widget.isHidden}destroy(){super.destroy(),this.dom&&this.widget.destroy(this.dom)}},$s=class s extends ht{constructor(t){super(),this.side=t}get length(){return 0}merge(){return!1}become(t){return t instanceof s&&t.side==this.side}split(){return new s(this.side)}sync(){if(!this.dom){let t=document.createElement("img");t.className="cm-widgetBuffer",t.setAttribute("aria-hidden","true"),this.setDOM(t)}}getSide(){return this.side}domAtPos(t){return this.side>0?Vt.before(this.dom):Vt.after(this.dom)}localPosFromDOM(){return 0}domBoundsAround(){return null}coordsAt(t){return this.dom.getBoundingClientRect()}get overrideDOMText(){return Y.empty}get isHidden(){return!0}};Si.prototype.children=Po.prototype.children=$s.prototype.children=Gh;function hp(s,t){let e=s.dom,{children:i}=s,n=0;for(let r=0;n<i.length;n++){let o=i[n],l=r+o.length;if(!(l==r&&o.getSide()<=0)){if(t>r&&t<l&&o.dom.parentNode==e)return o.domAtPos(t-r);if(t<=r)break;r=l}}for(let r=n;r>0;r--){let o=i[r-1];if(o.dom.parentNode==e)return o.domAtPos(o.length)}for(let r=n;r<i.length;r++){let o=i[r];if(o.dom.parentNode==e)return o.domAtPos(0)}return new Vt(e,0)}function fp(s,t,e){let i,{children:n}=s;e>0&&t instanceof Ci&&n.length&&(i=n[n.length-1])instanceof Ci&&i.mark.eq(t.mark)?fp(i,t.children[0],e-1):(n.push(t),t.setParent(s)),s.length+=t.length}function cp(s,t,e){let i=null,n=-1,r=null,o=-1;function l(h,f){for(let c=0,u=0;c<h.children.length&&u<=f;c++){let d=h.children[c],p=u+d.length;p>=f&&(d.children.length?l(d,f-u):(!r||r.isHidden&&e>0)&&(p>f||u==p&&d.getSide()>0)?(r=d,o=f-u):(u<f||u==p&&d.getSide()<0&&!d.isHidden)&&(i=d,n=f-u)),u=p}}l(s,t);let a=(e<0?i:r)||i||r;return a?a.coordsAt(Math.max(0,a==i?n:o),e):cb(s)}function cb(s){let t=s.dom.lastChild;if(!t)return s.dom.getBoundingClientRect();let e=js(t);return e[e.length-1]||null}function wh(s,t){for(let e in s)e=="class"&&t.class?t.class+=" "+s.class:e=="style"&&t.style?t.style+=";"+s.style:t[e]=s[e];return t}var Dd=Object.create(null);function Uh(s,t,e){if(s==t)return!0;s||(s=Dd),t||(t=Dd);let i=Object.keys(s),n=Object.keys(t);if(i.length-(e&&i.indexOf(e)>-1?1:0)!=n.length-(e&&n.indexOf(e)>-1?1:0))return!1;for(let r of i)if(r!=e&&(n.indexOf(r)==-1||s[r]!==t[r]))return!1;return!0}function yh(s,t,e){let i=!1;if(t)for(let n in t)e&&n in e||(i=!0,n=="style"?s.style.cssText="":s.removeAttribute(n));if(e)for(let n in e)t&&t[n]==e[n]||(i=!0,n=="style"?s.style.cssText=e[n]:s.setAttribute(n,e[n]));return i}function ub(s){let t=Object.create(null);for(let e=0;e<s.attributes.length;e++){let i=s.attributes[e];t[i.name]=i.value}return t}var _t=class s extends ht{constructor(){super(...arguments),this.children=[],this.length=0,this.prevAttrs=void 0,this.attrs=null,this.breakAfter=0}merge(t,e,i,n,r,o){if(i){if(!(i instanceof s))return!1;this.dom||i.transferDOM(this)}return n&&this.setDeco(i?i.attrs:null),op(this,t,e,i?i.children.slice():[],r,o),!0}split(t){let e=new s;if(e.breakAfter=this.breakAfter,this.length==0)return e;let{i,off:n}=this.childPos(t);n&&(e.append(this.children[i].split(n),0),this.children[i].merge(n,this.children[i].length,null,!1,0,0),i++);for(let r=i;r<this.children.length;r++)e.append(this.children[r],0);for(;i>0&&this.children[i-1].length==0;)this.children[--i].destroy();return this.children.length=i,this.markDirty(),this.length=t,e}transferDOM(t){this.dom&&(this.markDirty(),t.setDOM(this.dom),t.prevAttrs=this.prevAttrs===void 0?this.attrs:this.prevAttrs,this.prevAttrs=void 0,this.dom=null)}setDeco(t){Uh(this.attrs,t)||(this.dom&&(this.prevAttrs=this.attrs,this.markDirty()),this.attrs=t)}append(t,e){fp(this,t,e)}addLineDeco(t){let e=t.spec.attributes,i=t.spec.class;e&&(this.attrs=wh(e,this.attrs||{})),i&&(this.attrs=wh({class:i},this.attrs||{}))}domAtPos(t){return hp(this,t)}reuseDOM(t){t.nodeName=="DIV"&&(this.setDOM(t),this.flags|=6)}sync(t,e){var i;this.dom?this.flags&4&&(np(this.dom),this.dom.className="cm-line",this.prevAttrs=this.attrs?null:void 0):(this.setDOM(document.createElement("div")),this.dom.className="cm-line",this.prevAttrs=this.attrs?null:void 0),this.prevAttrs!==void 0&&(yh(this.dom,this.prevAttrs,this.attrs),this.dom.classList.add("cm-line"),this.prevAttrs=void 0),super.sync(t,e);let n=this.dom.lastChild;for(;n&&ht.get(n)instanceof Ci;)n=n.lastChild;if(!n||!this.length||n.nodeName!="BR"&&((i=ht.get(n))===null||i===void 0?void 0:i.isEditable)==!1&&(!B.ios||!this.children.some(r=>r instanceof Si))){let r=document.createElement("BR");r.cmIgnore=!0,this.dom.appendChild(r)}}measureTextSize(){if(this.children.length==0||this.length>20)return null;let t=0,e;for(let i of this.children){if(!(i instanceof Si)||/[^ -~]/.test(i.text))return null;let n=js(i.dom);if(n.length!=1)return null;t+=n[0].width,e=n[0].height}return t?{lineHeight:this.dom.getBoundingClientRect().height,charWidth:t/this.length,textHeight:e}:null}coordsAt(t,e){let i=cp(this,t,e);if(!this.children.length&&i&&this.parent){let{heightOracle:n}=this.parent.view.viewState,r=i.bottom-i.top;if(Math.abs(r-n.lineHeight)<2&&n.textHeight<r){let o=(r-n.textHeight)/2;return{top:i.top+o,bottom:i.bottom-o,left:i.left,right:i.left}}}return i}become(t){return!1}covers(){return!0}static find(t,e){for(let i=0,n=0;i<t.children.length;i++){let r=t.children[i],o=n+r.length;if(o>=e){if(r instanceof s)return r;if(o>e)break}n=o+r.breakAfter}return null}},Dn=class s extends ht{constructor(t,e,i){super(),this.widget=t,this.length=e,this.deco=i,this.breakAfter=0,this.prevWidget=null}merge(t,e,i,n,r,o){return i&&(!(i instanceof s)||!this.widget.compare(i.widget)||t>0&&r<=0||e<this.length&&o<=0)?!1:(this.length=t+(i?i.length:0)+(this.length-e),!0)}domAtPos(t){return t==0?Vt.before(this.dom):Vt.after(this.dom,t==this.length)}split(t){let e=this.length-t;this.length=t;let i=new s(this.widget,e,this.deco);return i.breakAfter=this.breakAfter,i}get children(){return Gh}sync(t){(!this.dom||!this.widget.updateDOM(this.dom,t))&&(this.dom&&this.prevWidget&&this.prevWidget.destroy(this.dom),this.prevWidget=null,this.setDOM(this.widget.toDOM(t)),this.widget.editable||(this.dom.contentEditable="false"))}get overrideDOMText(){return this.parent?this.parent.view.state.doc.slice(this.posAtStart,this.posAtEnd):Y.empty}domBoundsAround(){return null}become(t){return t instanceof s&&t.widget.constructor==this.widget.constructor?(t.widget.compare(this.widget)||this.markDirty(!0),this.dom&&!this.prevWidget&&(this.prevWidget=this.widget),this.widget=t.widget,this.length=t.length,this.deco=t.deco,this.breakAfter=t.breakAfter,!0):!1}ignoreMutation(){return!0}ignoreEvent(t){return this.widget.ignoreEvent(t)}get isEditable(){return!1}get isWidget(){return!0}coordsAt(t,e){return this.widget.coordsAt(this.dom,t,e)}destroy(){super.destroy(),this.dom&&this.widget.destroy(this.dom)}covers(t){let{startSide:e,endSide:i}=this.deco;return e==i?!1:t<0?e<0:i>0}},Pn=class{eq(t){return!1}updateDOM(t,e){return!1}compare(t){return this==t||this.constructor==t.constructor&&this.eq(t)}get estimatedHeight(){return-1}get lineBreaks(){return 0}ignoreEvent(t){return!0}coordsAt(t,e,i){return null}get isHidden(){return!1}get editable(){return!1}destroy(t){}},ei=function(s){return s[s.Text=0]="Text",s[s.WidgetBefore=1]="WidgetBefore",s[s.WidgetAfter=2]="WidgetAfter",s[s.WidgetRange=3]="WidgetRange",s}(ei||(ei={})),Nt=class extends ti{constructor(t,e,i,n){super(),this.startSide=t,this.endSide=e,this.widget=i,this.spec=n}get heightRelevant(){return!1}static mark(t){return new Ks(t)}static widget(t){let e=Math.max(-1e4,Math.min(1e4,t.side||0)),i=!!t.block;return e+=i&&!t.inlineOrder?e>0?3e8:-4e8:e>0?1e8:-1e8,new Mi(t,e,e,i,t.widget||null,!1)}static replace(t){let e=!!t.block,i,n;if(t.isBlockGap)i=-5e8,n=4e8;else{let{start:r,end:o}=up(t,e);i=(r?e?-3e8:-1:5e8)-1,n=(o?e?2e8:1:-6e8)+1}return new Mi(t,i,n,e,t.widget||null,!0)}static line(t){return new Ys(t)}static set(t,e=!1){return yt.of(t,e)}hasHeight(){return this.widget?this.widget.estimatedHeight>-1:!1}};Nt.none=yt.empty;var Ks=class s extends Nt{constructor(t){let{start:e,end:i}=up(t);super(e?-1:5e8,i?1:-6e8,null,t),this.tagName=t.tagName||"span",this.class=t.class||"",this.attrs=t.attributes||null}eq(t){var e,i;return this==t||t instanceof s&&this.tagName==t.tagName&&(this.class||((e=this.attrs)===null||e===void 0?void 0:e.class))==(t.class||((i=t.attrs)===null||i===void 0?void 0:i.class))&&Uh(this.attrs,t.attrs,"class")}range(t,e=t){if(t>=e)throw new RangeError("Mark decorations may not be empty");return super.range(t,e)}};Ks.prototype.point=!1;var Ys=class s extends Nt{constructor(t){super(-2e8,-2e8,null,t)}eq(t){return t instanceof s&&this.spec.class==t.spec.class&&Uh(this.spec.attributes,t.spec.attributes)}range(t,e=t){if(e!=t)throw new RangeError("Line decoration ranges must be zero-length");return super.range(t,e)}};Ys.prototype.mapMode=jt.TrackBefore;Ys.prototype.point=!0;var Mi=class s extends Nt{constructor(t,e,i,n,r,o){super(e,i,r,t),this.block=n,this.isReplace=o,this.mapMode=n?e<=0?jt.TrackBefore:jt.TrackAfter:jt.TrackDel}get type(){return this.startSide!=this.endSide?ei.WidgetRange:this.startSide<=0?ei.WidgetBefore:ei.WidgetAfter}get heightRelevant(){return this.block||!!this.widget&&(this.widget.estimatedHeight>=5||this.widget.lineBreaks>0)}eq(t){return t instanceof s&&db(this.widget,t.widget)&&this.block==t.block&&this.startSide==t.startSide&&this.endSide==t.endSide}range(t,e=t){if(this.isReplace&&(t>e||t==e&&this.startSide>0&&this.endSide<=0))throw new RangeError("Invalid range for replacement decoration");if(!this.isReplace&&e!=t)throw new RangeError("Widget decorations can only have zero-length ranges");return super.range(t,e)}};Mi.prototype.point=!0;function up(s,t=!1){let{inclusiveStart:e,inclusiveEnd:i}=s;return e==null&&(e=s.inclusive),i==null&&(i=s.inclusive),{start:e!=null?e:t,end:i!=null?i:t}}function db(s,t){return s==t||!!(s&&t&&s.compare(t))}function vh(s,t,e,i=0){let n=e.length-1;n>=0&&e[n]+i>=s?e[n]=Math.max(e[n],t):e.push(s,t)}var zs=class s{constructor(t,e,i,n){this.doc=t,this.pos=e,this.end=i,this.disallowBlockEffectsFor=n,this.content=[],this.curLine=null,this.breakAtStart=0,this.pendingBuffer=0,this.bufferMarks=[],this.atCursorPos=!0,this.openStart=-1,this.openEnd=-1,this.text="",this.textOff=0,this.cursor=t.iter(),this.skip=e}posCovered(){if(this.content.length==0)return!this.breakAtStart&&this.doc.lineAt(this.pos).from!=this.pos;let t=this.content[this.content.length-1];return!(t.breakAfter||t instanceof Dn&&t.deco.endSide<0)}getLine(){return this.curLine||(this.content.push(this.curLine=new _t),this.atCursorPos=!0),this.curLine}flushBuffer(t=this.bufferMarks){this.pendingBuffer&&(this.curLine.append(vo(new $s(-1),t),t.length),this.pendingBuffer=0)}addBlockWidget(t){this.flushBuffer(),this.curLine=null,this.content.push(t)}finish(t){this.pendingBuffer&&t<=this.bufferMarks.length?this.flushBuffer():this.pendingBuffer=0,!this.posCovered()&&!(t&&this.content.length&&this.content[this.content.length-1]instanceof Dn)&&this.getLine()}buildText(t,e,i){for(;t>0;){if(this.textOff==this.text.length){let{value:r,lineBreak:o,done:l}=this.cursor.next(this.skip);if(this.skip=0,l)throw new Error("Ran out of text content when drawing inline views");if(o){this.posCovered()||this.getLine(),this.content.length?this.content[this.content.length-1].breakAfter=1:this.breakAtStart=1,this.flushBuffer(),this.curLine=null,this.atCursorPos=!0,t--;continue}else this.text=r,this.textOff=0}let n=Math.min(this.text.length-this.textOff,t,512);this.flushBuffer(e.slice(e.length-i)),this.getLine().append(vo(new Si(this.text.slice(this.textOff,this.textOff+n)),e),i),this.atCursorPos=!0,this.textOff+=n,t-=n,i=0}}span(t,e,i,n){this.buildText(e-t,i,n),this.pos=e,this.openStart<0&&(this.openStart=n)}point(t,e,i,n,r,o){if(this.disallowBlockEffectsFor[o]&&i instanceof Mi){if(i.block)throw new RangeError("Block decorations may not be specified via plugins");if(e>this.doc.lineAt(this.pos).to)throw new RangeError("Decorations that replace line breaks may not be specified via plugins")}let l=e-t;if(i instanceof Mi)if(i.block)i.startSide>0&&!this.posCovered()&&this.getLine(),this.addBlockWidget(new Dn(i.widget||new Ro("div"),l,i));else{let a=Po.create(i.widget||new Ro("span"),l,l?0:i.startSide),h=this.atCursorPos&&!a.isEditable&&r<=n.length&&(t<e||i.startSide>0),f=!a.isEditable&&(t<e||r>n.length||i.startSide<=0),c=this.getLine();this.pendingBuffer==2&&!h&&!a.isEditable&&(this.pendingBuffer=0),this.flushBuffer(n),h&&(c.append(vo(new $s(1),n),r),r=n.length+Math.max(0,r-n.length)),c.append(vo(a,n),r),this.atCursorPos=f,this.pendingBuffer=f?t<e||r>n.length?1:2:0,this.pendingBuffer&&(this.bufferMarks=n.slice())}else this.doc.lineAt(this.pos).from==this.pos&&this.getLine().addLineDeco(i);l&&(this.textOff+l<=this.text.length?this.textOff+=l:(this.skip+=l-(this.text.length-this.textOff),this.text="",this.textOff=0),this.pos=e),this.openStart<0&&(this.openStart=r)}static build(t,e,i,n,r){let o=new s(t,e,i,r);return o.openEnd=yt.spans(n,e,i,o),o.openStart<0&&(o.openStart=o.openEnd),o.finish(o.openEnd),o}};function vo(s,t){for(let e of t)s=new Ci(e,[s],s.length);return s}var Ro=class extends Pn{constructor(t){super(),this.tag=t}eq(t){return t.tag==this.tag}toDOM(){return document.createElement(this.tag)}updateDOM(t){return t.nodeName.toLowerCase()==this.tag}get isHidden(){return!0}},Ct=function(s){return s[s.LTR=0]="LTR",s[s.RTL=1]="RTL",s}(Ct||(Ct={})),Ji=Ct.LTR,jh=Ct.RTL;function dp(s){let t=[];for(let e=0;e<s.length;e++)t.push(1<<+s[e]);return t}var pb=dp("88888888888888888888888888888888888666888888787833333333337888888000000000000000000000000008888880000000000000000000000000088888888888888888888888888888888888887866668888088888663380888308888800000000000000000000000800000000000000000000000000000008"),gb=dp("4444448826627288999999999992222222222222222222222222222222222222222222222229999999999999999999994444444444644222822222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222999999949999999229989999223333333333"),kh=Object.create(null),He=[];for(let s of["()","[]","{}"]){let t=s.charCodeAt(0),e=s.charCodeAt(1);kh[t]=e,kh[e]=-t}function pp(s){return s<=247?pb[s]:1424<=s&&s<=1524?2:1536<=s&&s<=1785?gb[s-1536]:1774<=s&&s<=2220?4:8192<=s&&s<=8204?256:64336<=s&&s<=65023?4:1}var mb=/[\\u0590-\\u05f4\\u0600-\\u06ff\\u0700-\\u08ac\\ufb50-\\ufdff]/,Ve=class{get dir(){return this.level%2?jh:Ji}constructor(t,e,i){this.from=t,this.to=e,this.level=i}side(t,e){return this.dir==e==t?this.to:this.from}forward(t,e){return t==(this.dir==e)}static find(t,e,i,n){let r=-1;for(let o=0;o<t.length;o++){let l=t[o];if(l.from<=e&&l.to>=e){if(l.level==i)return o;(r<0||(n!=0?n<0?l.from<e:l.to>e:t[r].level>l.level))&&(r=o)}}if(r<0)throw new RangeError("Index out of range");return r}};function gp(s,t){if(s.length!=t.length)return!1;for(let e=0;e<s.length;e++){let i=s[e],n=t[e];if(i.from!=n.from||i.to!=n.to||i.direction!=n.direction||!gp(i.inner,n.inner))return!1}return!0}var tt=[];function bb(s,t,e,i,n){for(let r=0;r<=i.length;r++){let o=r?i[r-1].to:t,l=r<i.length?i[r].from:e,a=r?256:n;for(let h=o,f=a,c=a;h<l;h++){let u=pp(s.charCodeAt(h));u==512?u=f:u==8&&c==4&&(u=16),tt[h]=u==4?2:u,u&7&&(c=u),f=u}for(let h=o,f=a,c=a;h<l;h++){let u=tt[h];if(u==128)h<l-1&&f==tt[h+1]&&f&24?u=tt[h]=f:tt[h]=256;else if(u==64){let d=h+1;for(;d<l&&tt[d]==64;)d++;let p=h&&f==8||d<e&&tt[d]==8?c==1?1:8:256;for(let g=h;g<d;g++)tt[g]=p;h=d-1}else u==8&&c==1&&(tt[h]=1);f=u,u&7&&(c=u)}}}function wb(s,t,e,i,n){let r=n==1?2:1;for(let o=0,l=0,a=0;o<=i.length;o++){let h=o?i[o-1].to:t,f=o<i.length?i[o].from:e;for(let c=h,u,d,p;c<f;c++)if(d=kh[u=s.charCodeAt(c)])if(d<0){for(let g=l-3;g>=0;g-=3)if(He[g+1]==-d){let m=He[g+2],b=m&2?n:m&4?m&1?r:n:0;b&&(tt[c]=tt[He[g]]=b),l=g;break}}else{if(He.length==189)break;He[l++]=c,He[l++]=u,He[l++]=a}else if((p=tt[c])==2||p==1){let g=p==n;a=g?0:1;for(let m=l-3;m>=0;m-=3){let b=He[m+2];if(b&2)break;if(g)He[m+2]|=2;else{if(b&4)break;He[m+2]|=4}}}}}function yb(s,t,e,i){for(let n=0,r=i;n<=e.length;n++){let o=n?e[n-1].to:s,l=n<e.length?e[n].from:t;for(let a=o;a<l;){let h=tt[a];if(h==256){let f=a+1;for(;;)if(f==l){if(n==e.length)break;f=e[n++].to,l=n<e.length?e[n].from:t}else if(tt[f]==256)f++;else break;let c=r==1,u=(f<t?tt[f]:i)==1,d=c==u?c?1:2:i;for(let p=f,g=n,m=g?e[g-1].to:s;p>a;)p==m&&(p=e[--g].from,m=g?e[g-1].to:s),tt[--p]=d;a=f}else r=h,a++}}}function xh(s,t,e,i,n,r,o){let l=i%2?2:1;if(i%2==n%2)for(let a=t,h=0;a<e;){let f=!0,c=!1;if(h==r.length||a<r[h].from){let g=tt[a];g!=l&&(f=!1,c=g==16)}let u=!f&&l==1?[]:null,d=f?i:i+1,p=a;t:for(;;)if(h<r.length&&p==r[h].from){if(c)break t;let g=r[h];if(!f)for(let m=g.to,b=h+1;;){if(m==e)break t;if(b<r.length&&r[b].from==m)m=r[b++].to;else{if(tt[m]==l)break t;break}}if(h++,u)u.push(g);else{g.from>a&&o.push(new Ve(a,g.from,d));let m=g.direction==Ji!=!(d%2);Sh(s,m?i+1:i,n,g.inner,g.from,g.to,o),a=g.to}p=g.to}else{if(p==e||(f?tt[p]!=l:tt[p]==l))break;p++}u?xh(s,a,p,i+1,n,u,o):a<p&&o.push(new Ve(a,p,d)),a=p}else for(let a=e,h=r.length;a>t;){let f=!0,c=!1;if(!h||a>r[h-1].to){let g=tt[a-1];g!=l&&(f=!1,c=g==16)}let u=!f&&l==1?[]:null,d=f?i:i+1,p=a;t:for(;;)if(h&&p==r[h-1].to){if(c)break t;let g=r[--h];if(!f)for(let m=g.from,b=h;;){if(m==t)break t;if(b&&r[b-1].to==m)m=r[--b].from;else{if(tt[m-1]==l)break t;break}}if(u)u.push(g);else{g.to<a&&o.push(new Ve(g.to,a,d));let m=g.direction==Ji!=!(d%2);Sh(s,m?i+1:i,n,g.inner,g.from,g.to,o),a=g.from}p=g.from}else{if(p==t||(f?tt[p-1]!=l:tt[p-1]==l))break;p--}u?xh(s,p,a,i+1,n,u,o):p<a&&o.push(new Ve(p,a,d)),a=p}}function Sh(s,t,e,i,n,r,o){let l=t%2?2:1;bb(s,n,r,i,l),wb(s,n,r,i,l),yb(n,r,i,l),xh(s,n,r,t,e,i,o)}function vb(s,t,e){if(!s)return[new Ve(0,0,t==jh?1:0)];if(t==Ji&&!e.length&&!mb.test(s))return mp(s.length);if(e.length)for(;s.length>tt.length;)tt[tt.length]=256;let i=[],n=t==Ji?0:1;return Sh(s,n,n,e,0,s.length,i),i}function mp(s){return[new Ve(0,s,0)]}var bp="";function kb(s,t,e,i,n){var r;let o=i.head-s.from,l=Ve.find(t,o,(r=i.bidiLevel)!==null&&r!==void 0?r:-1,i.assoc),a=t[l],h=a.side(n,e);if(o==h){let u=l+=n?1:-1;if(u<0||u>=t.length)return null;a=t[l=u],o=a.side(!n,e),h=a.side(n,e)}let f=Le(s.text,o,a.forward(n,e));(f<a.from||f>a.to)&&(f=h),bp=s.text.slice(Math.min(o,f),Math.max(o,f));let c=l==(n?t.length-1:0)?null:t[l+(n?1:-1)];return c&&f==h&&c.level+(n?0:1)<a.level?V.cursor(c.side(!n,e)+s.from,c.forward(n,e)?1:-1,c.level):V.cursor(f+s.from,a.forward(n,e)?-1:1,a.level)}function xb(s,t,e){for(let i=t;i<e;i++){let n=pp(s.charCodeAt(i));if(n==1)return Ji;if(n==2||n==4)return jh}return Ji}var wp=U.define(),yp=U.define(),vp=U.define(),kp=U.define(),Ch=U.define(),xp=U.define(),Sp=U.define(),Cp=U.define({combine:s=>s.some(t=>t)}),Sb=U.define({combine:s=>s.some(t=>t)}),Ws=class s{constructor(t,e="nearest",i="nearest",n=5,r=5,o=!1){this.range=t,this.y=e,this.x=i,this.yMargin=n,this.xMargin=r,this.isSnapshot=o}map(t){return t.empty?this:new s(this.range.map(t),this.y,this.x,this.yMargin,this.xMargin,this.isSnapshot)}clip(t){return this.range.to<=t.doc.length?this:new s(V.cursor(t.doc.length),this.y,this.x,this.yMargin,this.xMargin,this.isSnapshot)}},ko=wt.define({map:(s,t)=>s.map(t)});function ii(s,t,e){let i=s.facet(kp);i.length?i[0](t):window.onerror?window.onerror(String(t),e,void 0,void 0,t):e?console.error(e+":",t):console.error(t)}var Wo=U.define({combine:s=>s.length?s[0]:!0}),Cb=0,Ns=U.define(),Rn=class s{constructor(t,e,i,n,r){this.id=t,this.create=e,this.domEventHandlers=i,this.domEventObservers=n,this.extension=r(this)}static define(t,e){let{eventHandlers:i,eventObservers:n,provide:r,decorations:o}=e||{};return new s(Cb++,t,i,n,l=>{let a=[Ns.of(l)];return o&&a.push(Xs.of(h=>{let f=h.plugin(l);return f?o(f):Nt.none})),r&&a.push(r(l)),a})}static fromClass(t,e){return s.define(i=>new t(i),e)}},Gs=class{constructor(t){this.spec=t,this.mustUpdate=null,this.value=null}update(t){if(this.value){if(this.mustUpdate){let e=this.mustUpdate;if(this.mustUpdate=null,this.value.update)try{this.value.update(e)}catch(i){if(ii(e.state,i,"CodeMirror plugin crashed"),this.value.destroy)try{this.value.destroy()}catch(n){}this.deactivate()}}}else if(this.spec)try{this.value=this.spec.create(t)}catch(e){ii(t.state,e,"CodeMirror plugin crashed"),this.deactivate()}return this}destroy(t){var e;if(!((e=this.value)===null||e===void 0)&&e.destroy)try{this.value.destroy()}catch(i){ii(t.state,i,"CodeMirror plugin crashed")}}deactivate(){this.spec=this.value=null}},Mp=U.define(),qh=U.define(),Xs=U.define(),Tp=U.define(),$h=U.define(),Ap=U.define();function Pd(s,t){let e=s.state.facet(Ap);if(!e.length)return e;let i=e.map(r=>r instanceof Function?r(s):r),n=[];return yt.spans(i,t.from,t.to,{point(){},span(r,o,l,a){let h=r-t.from,f=o-t.from,c=n;for(let u=l.length-1;u>=0;u--,a--){let d=l[u].spec.bidiIsolate,p;if(d==null&&(d=xb(t.text,h,f)),a>0&&c.length&&(p=c[c.length-1]).to==h&&p.direction==d)p.to=f,c=p.inner;else{let g={from:h,to:f,direction:d,inner:[]};c.push(g),c=g.inner}}}}),n}var Op=U.define();function _p(s){let t=0,e=0,i=0,n=0;for(let r of s.state.facet(Op)){let o=r(s);o&&(o.left!=null&&(t=Math.max(t,o.left)),o.right!=null&&(e=Math.max(e,o.right)),o.top!=null&&(i=Math.max(i,o.top)),o.bottom!=null&&(n=Math.max(n,o.bottom)))}return{left:t,right:e,top:i,bottom:n}}var Ls=U.define(),ze=class s{constructor(t,e,i,n){this.fromA=t,this.toA=e,this.fromB=i,this.toB=n}join(t){return new s(Math.min(this.fromA,t.fromA),Math.max(this.toA,t.toA),Math.min(this.fromB,t.fromB),Math.max(this.toB,t.toB))}addToSet(t){let e=t.length,i=this;for(;e>0;e--){let n=t[e-1];if(!(n.fromA>i.toA)){if(n.toA<i.fromA)break;i=i.join(n),t.splice(e-1,1)}}return t.splice(e,0,i),t}static extendWithRanges(t,e){if(e.length==0)return t;let i=[];for(let n=0,r=0,o=0,l=0;;n++){let a=n==t.length?null:t[n],h=o-l,f=a?a.fromB:1e9;for(;r<e.length&&e[r]<f;){let c=e[r],u=e[r+1],d=Math.max(l,c),p=Math.min(f,u);if(d<=p&&new s(d+h,p+h,d,p).addToSet(i),u>f)break;r+=2}if(!a)return i;new s(a.fromA,a.toA,a.fromB,a.toB).addToSet(i),o=a.toA,l=a.toB}}},Io=class s{constructor(t,e,i){this.view=t,this.state=e,this.transactions=i,this.flags=0,this.startState=t.state,this.changes=ee.empty(this.startState.doc.length);for(let r of i)this.changes=this.changes.compose(r.changes);let n=[];this.changes.iterChangedRanges((r,o,l,a)=>n.push(new ze(r,o,l,a))),this.changedRanges=n}static create(t,e,i){return new s(t,e,i)}get viewportChanged(){return(this.flags&4)>0}get heightChanged(){return(this.flags&2)>0}get geometryChanged(){return this.docChanged||(this.flags&10)>0}get focusChanged(){return(this.flags&1)>0}get docChanged(){return!this.changes.empty}get selectionSet(){return this.transactions.some(t=>t.selection)}get empty(){return this.flags==0&&this.transactions.length==0}},Bo=class extends ht{get length(){return this.view.state.doc.length}constructor(t){super(),this.view=t,this.decorations=[],this.dynamicDecorationMap=[],this.domChanged=null,this.hasComposition=null,this.markedForComposition=new Set,this.minWidth=0,this.minWidthFrom=0,this.minWidthTo=0,this.impreciseAnchor=null,this.impreciseHead=null,this.forceSelection=!1,this.lastUpdate=Date.now(),this.setDOM(t.contentDOM),this.children=[new _t],this.children[0].setParent(this),this.updateDeco(),this.updateInner([new ze(0,0,0,t.state.doc.length)],0,null)}update(t){var e;let i=t.changedRanges;this.minWidth>0&&i.length&&(i.every(({fromA:h,toA:f})=>f<this.minWidthFrom||h>this.minWidthTo)?(this.minWidthFrom=t.changes.mapPos(this.minWidthFrom,1),this.minWidthTo=t.changes.mapPos(this.minWidthTo,1)):this.minWidth=this.minWidthFrom=this.minWidthTo=0);let n=-1;this.view.inputState.composing>=0&&(!((e=this.domChanged)===null||e===void 0)&&e.newSel?n=this.domChanged.newSel.head:!Db(t.changes,this.hasComposition)&&!t.selectionSet&&(n=t.state.selection.main.head));let r=n>-1?Tb(this.view,t.changes,n):null;if(this.domChanged=null,this.hasComposition){this.markedForComposition.clear();let{from:h,to:f}=this.hasComposition;i=new ze(h,f,t.changes.mapPos(h,-1),t.changes.mapPos(f,1)).addToSet(i.slice())}this.hasComposition=r?{from:r.range.fromB,to:r.range.toB}:null,(B.ie||B.chrome)&&!r&&t&&t.state.doc.lines!=t.startState.doc.lines&&(this.forceSelection=!0);let o=this.decorations,l=this.updateDeco(),a=_b(o,l,t.changes);return i=ze.extendWithRanges(i,a),!(this.flags&7)&&i.length==0?!1:(this.updateInner(i,t.startState.doc.length,r),t.transactions.length&&(this.lastUpdate=Date.now()),!0)}updateInner(t,e,i){this.view.viewState.mustMeasureContent=!0,this.updateChildren(t,e,i);let{observer:n}=this.view;n.ignore(()=>{this.dom.style.height=this.view.viewState.contentHeight/this.view.scaleY+"px",this.dom.style.flexBasis=this.minWidth?this.minWidth+"px":"";let o=B.chrome||B.ios?{node:n.selectionRange.focusNode,written:!1}:void 0;this.sync(this.view,o),this.flags&=-8,o&&(o.written||n.selectionRange.focusNode!=o.node)&&(this.forceSelection=!0),this.dom.style.height=""}),this.markedForComposition.forEach(o=>o.flags&=-9);let r=[];if(this.view.viewport.from||this.view.viewport.to<this.view.state.doc.length)for(let o of this.children)o instanceof Dn&&o.widget instanceof No&&r.push(o.dom);n.updateGaps(r)}updateChildren(t,e,i){let n=i?i.range.addToSet(t.slice()):t,r=this.childCursor(e);for(let o=n.length-1;;o--){let l=o>=0?n[o]:null;if(!l)break;let{fromA:a,toA:h,fromB:f,toB:c}=l,u,d,p,g;if(i&&i.range.fromB<c&&i.range.toB>f){let v=zs.build(this.view.state.doc,f,i.range.fromB,this.decorations,this.dynamicDecorationMap),x=zs.build(this.view.state.doc,i.range.toB,c,this.decorations,this.dynamicDecorationMap);d=v.breakAtStart,p=v.openStart,g=x.openEnd;let S=this.compositionView(i);x.breakAtStart?S.breakAfter=1:x.content.length&&S.merge(S.length,S.length,x.content[0],!1,x.openStart,0)&&(S.breakAfter=x.content[0].breakAfter,x.content.shift()),v.content.length&&S.merge(0,0,v.content[v.content.length-1],!0,0,v.openEnd)&&v.content.pop(),u=v.content.concat(S).concat(x.content)}else({content:u,breakAtStart:d,openStart:p,openEnd:g}=zs.build(this.view.state.doc,f,c,this.decorations,this.dynamicDecorationMap));let{i:m,off:b}=r.findPos(h,1),{i:w,off:y}=r.findPos(a,-1);rp(this,w,y,m,b,u,d,p,g)}i&&this.fixCompositionDOM(i)}compositionView(t){let e=new Si(t.text.nodeValue);e.flags|=8;for(let{deco:n}of t.marks)e=new Ci(n,[e],e.length);let i=new _t;return i.append(e,0),i}fixCompositionDOM(t){let e=(r,o)=>{o.flags|=8|(o.children.some(a=>a.flags&7)?1:0),this.markedForComposition.add(o);let l=ht.get(r);l&&l!=o&&(l.dom=null),o.setDOM(r)},i=this.childPos(t.range.fromB,1),n=this.children[i.i];e(t.line,n);for(let r=t.marks.length-1;r>=-1;r--)i=n.childPos(i.off,1),n=n.children[i.i],e(r>=0?t.marks[r].node:t.text,n)}updateSelection(t=!1,e=!1){(t||!this.view.observer.selectionRange.focusNode)&&this.view.observer.readSelectionRange();let i=this.view.root.activeElement,n=i==this.dom,r=!n&&Ao(this.dom,this.view.observer.selectionRange)&&!(i&&this.dom.contains(i));if(!(n||e||r))return;let o=this.forceSelection;this.forceSelection=!1;let l=this.view.state.selection.main,a=this.moveToLine(this.domAtPos(l.anchor)),h=l.empty?a:this.moveToLine(this.domAtPos(l.head));if(B.gecko&&l.empty&&!this.hasComposition&&Mb(a)){let c=document.createTextNode("");this.view.observer.ignore(()=>a.node.insertBefore(c,a.node.childNodes[a.offset]||null)),a=h=new Vt(c,0),o=!0}let f=this.view.observer.selectionRange;(o||!f.focusNode||(!Vs(a.node,a.offset,f.anchorNode,f.anchorOffset)||!Vs(h.node,h.offset,f.focusNode,f.focusOffset))&&!this.suppressWidgetCursorChange(f,l))&&(this.view.observer.ignore(()=>{B.android&&B.chrome&&this.dom.contains(f.focusNode)&&Eb(f.focusNode,this.dom)&&(this.dom.blur(),this.dom.focus({preventScroll:!0}));let c=Eo(this.view.root);if(c)if(l.empty){if(B.gecko){let u=Ab(a.node,a.offset);if(u&&u!=3){let d=Dp(a.node,a.offset,u==1?1:-1);d&&(a=new Vt(d.node,d.offset))}}c.collapse(a.node,a.offset),l.bidiLevel!=null&&c.caretBidiLevel!==void 0&&(c.caretBidiLevel=l.bidiLevel)}else if(c.extend){c.collapse(a.node,a.offset);try{c.extend(h.node,h.offset)}catch(u){}}else{let u=document.createRange();l.anchor>l.head&&([a,h]=[h,a]),u.setEnd(h.node,h.offset),u.setStart(a.node,a.offset),c.removeAllRanges(),c.addRange(u)}r&&this.view.root.activeElement==this.dom&&(this.dom.blur(),i&&i.focus())}),this.view.observer.setSelectionRange(a,h)),this.impreciseAnchor=a.precise?null:new Vt(f.anchorNode,f.anchorOffset),this.impreciseHead=h.precise?null:new Vt(f.focusNode,f.focusOffset)}suppressWidgetCursorChange(t,e){return this.hasComposition&&e.empty&&Vs(t.focusNode,t.focusOffset,t.anchorNode,t.anchorOffset)&&this.posFromDOM(t.focusNode,t.focusOffset)==e.head}enforceCursorAssoc(){if(this.hasComposition)return;let{view:t}=this,e=t.state.selection.main,i=Eo(t.root),{anchorNode:n,anchorOffset:r}=t.observer.selectionRange;if(!i||!e.empty||!e.assoc||!i.modify)return;let o=_t.find(this,e.head);if(!o)return;let l=o.posAtStart;if(e.head==l||e.head==l+o.length)return;let a=this.coordsAt(e.head,-1),h=this.coordsAt(e.head,1);if(!a||!h||a.bottom>h.top)return;let f=this.domAtPos(e.head+e.assoc);i.collapse(f.node,f.offset),i.modify("move",e.assoc<0?"forward":"backward","lineboundary"),t.observer.readSelectionRange();let c=t.observer.selectionRange;t.docView.posFromDOM(c.anchorNode,c.anchorOffset)!=e.from&&i.collapse(n,r)}moveToLine(t){let e=this.dom,i;if(t.node!=e)return t;for(let n=t.offset;!i&&n<e.childNodes.length;n++){let r=ht.get(e.childNodes[n]);r instanceof _t&&(i=r.domAtPos(0))}for(let n=t.offset-1;!i&&n>=0;n--){let r=ht.get(e.childNodes[n]);r instanceof _t&&(i=r.domAtPos(r.length))}return i?new Vt(i.node,i.offset,!0):t}nearest(t){for(let e=t;e;){let i=ht.get(e);if(i&&i.rootView==this)return i;e=e.parentNode}return null}posFromDOM(t,e){let i=this.nearest(t);if(!i)throw new RangeError("Trying to find position for a DOM position outside of the document");return i.localPosFromDOM(t,e)+i.posAtStart}domAtPos(t){let{i:e,off:i}=this.childCursor().findPos(t,-1);for(;e<this.children.length-1;){let n=this.children[e];if(i<n.length||n instanceof _t)break;e++,i=0}return this.children[e].domAtPos(i)}coordsAt(t,e){let i=null,n=0;for(let r=this.length,o=this.children.length-1;o>=0;o--){let l=this.children[o],a=r-l.breakAfter,h=a-l.length;if(a<t)break;h<=t&&(h<t||l.covers(-1))&&(a>t||l.covers(1))&&(!i||l instanceof _t&&!(i instanceof _t&&e>=0))&&(i=l,n=h),r=h}return i?i.coordsAt(t-n,e):null}coordsForChar(t){let{i:e,off:i}=this.childPos(t,1),n=this.children[e];if(!(n instanceof _t))return null;for(;n.children.length;){let{i:l,off:a}=n.childPos(i,1);for(;;l++){if(l==n.children.length)return null;if((n=n.children[l]).length)break}i=a}if(!(n instanceof Si))return null;let r=Le(n.text,i);if(r==i)return null;let o=Xi(n.dom,i,r).getClientRects();for(let l=0;l<o.length;l++){let a=o[l];if(l==o.length-1||a.top<a.bottom&&a.left<a.right)return a}return null}measureVisibleLineHeights(t){let e=[],{from:i,to:n}=t,r=this.view.contentDOM.clientWidth,o=r>Math.max(this.view.scrollDOM.clientWidth,this.minWidth)+1,l=-1,a=this.view.textDirection==Ct.LTR;for(let h=0,f=0;f<this.children.length;f++){let c=this.children[f],u=h+c.length;if(u>n)break;if(h>=i){let d=c.dom.getBoundingClientRect();if(e.push(d.height),o){let p=c.dom.lastChild,g=p?js(p):[];if(g.length){let m=g[g.length-1],b=a?m.right-d.left:d.right-m.left;b>l&&(l=b,this.minWidth=r,this.minWidthFrom=h,this.minWidthTo=u)}}}h=u+c.breakAfter}return e}textDirectionAt(t){let{i:e}=this.childPos(t,1);return getComputedStyle(this.children[e].dom).direction=="rtl"?Ct.RTL:Ct.LTR}measureTextSize(){for(let r of this.children)if(r instanceof _t){let o=r.measureTextSize();if(o)return o}let t=document.createElement("div"),e,i,n;return t.className="cm-line",t.style.width="99999px",t.style.position="absolute",t.textContent="abc def ghi jkl mno pqr stu",this.view.observer.ignore(()=>{this.dom.appendChild(t);let r=js(t.firstChild)[0];e=t.getBoundingClientRect().height,i=r?r.width/27:7,n=r?r.height:e,t.remove()}),{lineHeight:e,charWidth:i,textHeight:n}}childCursor(t=this.length){let e=this.children.length;return e&&(t-=this.children[--e].length),new Do(this.children,t,e)}computeBlockGapDeco(){let t=[],e=this.view.viewState;for(let i=0,n=0;;n++){let r=n==e.viewports.length?null:e.viewports[n],o=r?r.from-1:this.length;if(o>i){let l=(e.lineBlockAt(o).bottom-e.lineBlockAt(i).top)/this.view.scaleY;t.push(Nt.replace({widget:new No(l),block:!0,inclusive:!0,isBlockGap:!0}).range(i,o))}if(!r)break;i=r.to+1}return Nt.set(t)}updateDeco(){let t=this.view.state.facet(Xs).map((n,r)=>(this.dynamicDecorationMap[r]=typeof n=="function")?n(this.view):n),e=!1,i=this.view.state.facet(Tp).map((n,r)=>{let o=typeof n=="function";return o&&(e=!0),o?n(this.view):n});i.length&&(this.dynamicDecorationMap[t.length]=e,t.push(yt.join(i)));for(let n=t.length;n<t.length+3;n++)this.dynamicDecorationMap[n]=!1;return this.decorations=[...t,this.computeBlockGapDeco(),this.view.viewState.lineGapDeco]}scrollIntoView(t){if(t.isSnapshot){let h=this.view.viewState.lineBlockAt(t.range.head);this.view.scrollDOM.scrollTop=h.top-t.yMargin,this.view.scrollDOM.scrollLeft=t.xMargin;return}let{range:e}=t,i=this.coordsAt(e.head,e.empty?e.assoc:e.head>e.anchor?-1:1),n;if(!i)return;!e.empty&&(n=this.coordsAt(e.anchor,e.anchor>e.head?-1:1))&&(i={left:Math.min(i.left,n.left),top:Math.min(i.top,n.top),right:Math.max(i.right,n.right),bottom:Math.max(i.bottom,n.bottom)});let r=_p(this.view),o={left:i.left-r.left,top:i.top-r.top,right:i.right+r.right,bottom:i.bottom+r.bottom},{offsetWidth:l,offsetHeight:a}=this.view.scrollDOM;rb(this.view.scrollDOM,o,e.head<e.anchor?-1:1,t.x,t.y,Math.max(Math.min(t.xMargin,l),-l),Math.max(Math.min(t.yMargin,a),-a),this.view.textDirection==Ct.LTR)}};function Mb(s){return s.node.nodeType==1&&s.node.firstChild&&(s.offset==0||s.node.childNodes[s.offset-1].contentEditable=="false")&&(s.offset==s.node.childNodes.length||s.node.childNodes[s.offset].contentEditable=="false")}var No=class extends Pn{constructor(t){super(),this.height=t}toDOM(){let t=document.createElement("div");return t.className="cm-gap",this.updateDOM(t),t}eq(t){return t.height==this.height}updateDOM(t){return t.style.height=this.height+"px",!0}get editable(){return!0}get estimatedHeight(){return this.height}};function Ep(s,t){let e=s.observer.selectionRange,i=e.focusNode&&Dp(e.focusNode,e.focusOffset,0);if(!i)return null;let n=t-i.offset;return{from:n,to:n+i.node.nodeValue.length,node:i.node}}function Tb(s,t,e){let i=Ep(s,e);if(!i)return null;let{node:n,from:r,to:o}=i,l=n.nodeValue;if(/[\\n\\r]/.test(l)||s.state.doc.sliceString(i.from,i.to)!=l)return null;let a=t.invertedDesc,h=new ze(a.mapPos(r),a.mapPos(o),r,o),f=[];for(let c=n.parentNode;;c=c.parentNode){let u=ht.get(c);if(u instanceof Ci)f.push({node:c,deco:u.mark});else{if(u instanceof _t||c.nodeName=="DIV"&&c.parentNode==s.contentDOM)return{range:h,text:n,marks:f,line:c};if(c!=s.contentDOM)f.push({node:c,deco:new Ks({inclusive:!0,attributes:ub(c),tagName:c.tagName.toLowerCase()})});else return null}}}function Dp(s,t,e){if(e<=0)for(let i=s,n=t;;){if(i.nodeType==3)return{node:i,offset:n};if(i.nodeType==1&&n>0)i=i.childNodes[n-1],n=ni(i);else break}if(e>=0)for(let i=s,n=t;;){if(i.nodeType==3)return{node:i,offset:n};if(i.nodeType==1&&n<i.childNodes.length&&e>=0)i=i.childNodes[n],n=0;else break}return null}function Ab(s,t){return s.nodeType!=1?0:(t&&s.childNodes[t-1].contentEditable=="false"?1:0)|(t<s.childNodes.length&&s.childNodes[t].contentEditable=="false"?2:0)}var Ob=class{constructor(){this.changes=[]}compareRange(t,e){vh(t,e,this.changes)}comparePoint(t,e){vh(t,e,this.changes)}};function _b(s,t,e){let i=new Ob;return yt.compare(s,t,e,i),i.changes}function Eb(s,t){for(let e=s;e&&e!=t;e=e.assignedSlot||e.parentNode)if(e.nodeType==1&&e.contentEditable=="false")return!0;return!1}function Db(s,t){let e=!1;return t&&s.iterChangedRanges((i,n)=>{i<t.to&&n>t.from&&(e=!0)}),e}function Pb(s,t,e=1){let i=s.charCategorizer(t),n=s.doc.lineAt(t),r=t-n.from;if(n.length==0)return V.cursor(t);r==0?e=1:r==n.length&&(e=-1);let o=r,l=r;e<0?o=Le(n.text,r,!1):l=Le(n.text,r);let a=i(n.text.slice(o,l));for(;o>0;){let h=Le(n.text,o,!1);if(i(n.text.slice(h,o))!=a)break;o=h}for(;l<n.length;){let h=Le(n.text,l);if(i(n.text.slice(l,h))!=a)break;l=h}return V.range(o+n.from,l+n.from)}function Rb(s,t){return t.left>s?t.left-s:Math.max(0,s-t.right)}function Ib(s,t){return t.top>s?t.top-s:Math.max(0,s-t.bottom)}function fh(s,t){return s.top<t.bottom-1&&s.bottom>t.top+1}function Rd(s,t){return t<s.top?{top:t,left:s.left,right:s.right,bottom:s.bottom}:s}function Id(s,t){return t>s.bottom?{top:s.top,left:s.left,right:s.right,bottom:t}:s}function Mh(s,t,e){let i,n,r,o,l=!1,a,h,f,c;for(let p=s.firstChild;p;p=p.nextSibling){let g=js(p);for(let m=0;m<g.length;m++){let b=g[m];n&&fh(n,b)&&(b=Rd(Id(b,n.bottom),n.top));let w=Rb(t,b),y=Ib(e,b);if(w==0&&y==0)return p.nodeType==3?Bd(p,t,e):Mh(p,t,e);if(!i||o>y||o==y&&r>w){i=p,n=b,r=w,o=y;let v=y?e<b.top?-1:1:w?t<b.left?-1:1:0;l=!v||(v>0?m<g.length-1:m>0)}w==0?e>b.bottom&&(!f||f.bottom<b.bottom)?(a=p,f=b):e<b.top&&(!c||c.top>b.top)&&(h=p,c=b):f&&fh(f,b)?f=Id(f,b.bottom):c&&fh(c,b)&&(c=Rd(c,b.top))}}if(f&&f.bottom>=e?(i=a,n=f):c&&c.top<=e&&(i=h,n=c),!i)return{node:s,offset:0};let u=Math.max(n.left,Math.min(n.right,t));if(i.nodeType==3)return Bd(i,u,e);if(l&&i.contentEditable!="false")return Mh(i,u,e);let d=Array.prototype.indexOf.call(s.childNodes,i)+(t>=(n.left+n.right)/2?1:0);return{node:s,offset:d}}function Bd(s,t,e){let i=s.nodeValue.length,n=-1,r=1e9,o=0;for(let l=0;l<i;l++){let a=Xi(s,l,l+1).getClientRects();for(let h=0;h<a.length;h++){let f=a[h];if(f.top==f.bottom)continue;o||(o=t-f.left);let c=(f.top>e?f.top-e:e-f.bottom)-1;if(f.left-1<=t&&f.right+1>=t&&c<r){let u=t>=(f.left+f.right)/2,d=u;if((B.chrome||B.gecko)&&Xi(s,l).getBoundingClientRect().left==f.right&&(d=!u),c<=0)return{node:s,offset:l+(d?1:0)};n=l+(d?1:0),r=c}}}return{node:s,offset:n>-1?n:o>0?s.nodeValue.length:0}}function Pp(s,t,e,i=-1){var n,r;let o=s.contentDOM.getBoundingClientRect(),l=o.top+s.viewState.paddingTop,a,{docHeight:h}=s.viewState,{x:f,y:c}=t,u=c-l;if(u<0)return 0;if(u>h)return s.state.doc.length;for(let v=s.viewState.heightOracle.textHeight/2,x=!1;a=s.elementAtHeight(u),a.type!=ei.Text;)for(;u=i>0?a.bottom+v:a.top-v,!(u>=0&&u<=h);){if(x)return e?null:0;x=!0,i=-i}c=l+u;let d=a.from;if(d<s.viewport.from)return s.viewport.from==0?0:e?null:Nd(s,o,a,f,c);if(d>s.viewport.to)return s.viewport.to==s.state.doc.length?s.state.doc.length:e?null:Nd(s,o,a,f,c);let p=s.dom.ownerDocument,g=s.root.elementFromPoint?s.root:p,m=g.elementFromPoint(f,c);m&&!s.contentDOM.contains(m)&&(m=null),m||(f=Math.max(o.left+1,Math.min(o.right-1,f)),m=g.elementFromPoint(f,c),m&&!s.contentDOM.contains(m)&&(m=null));let b,w=-1;if(m&&((n=s.docView.nearest(m))===null||n===void 0?void 0:n.isEditable)!=!1){if(p.caretPositionFromPoint){let v=p.caretPositionFromPoint(f,c);v&&({offsetNode:b,offset:w}=v)}else if(p.caretRangeFromPoint){let v=p.caretRangeFromPoint(f,c);v&&({startContainer:b,startOffset:w}=v,(!s.contentDOM.contains(b)||B.safari&&Bb(b,w,f)||B.chrome&&Nb(b,w,f))&&(b=void 0))}}if(!b||!s.docView.dom.contains(b)){let v=_t.find(s.docView,d);if(!v)return u>a.top+a.height/2?a.to:a.from;({node:b,offset:w}=Mh(v.dom,f,c))}let y=s.docView.nearest(b);if(!y)return null;if(y.isWidget&&((r=y.dom)===null||r===void 0?void 0:r.nodeType)==1){let v=y.dom.getBoundingClientRect();return t.y<v.top||t.y<=v.bottom&&t.x<=(v.left+v.right)/2?y.posAtStart:y.posAtEnd}else return y.localPosFromDOM(b,w)+y.posAtStart}function Nd(s,t,e,i,n){let r=Math.round((i-t.left)*s.defaultCharacterWidth);if(s.lineWrapping&&e.height>s.defaultLineHeight*1.5){let l=s.viewState.heightOracle.textHeight,a=Math.floor((n-e.top-(s.defaultLineHeight-l)*.5)/l);r+=a*s.viewState.heightOracle.lineLength}let o=s.state.sliceDoc(e.from,e.to);return e.from+kd(o,r,s.state.tabSize)}function Bb(s,t,e){let i;if(s.nodeType!=3||t!=(i=s.nodeValue.length))return!1;for(let n=s.nextSibling;n;n=n.nextSibling)if(n.nodeType!=1||n.nodeName!="BR")return!1;return Xi(s,i-1,i).getBoundingClientRect().left>e}function Nb(s,t,e){if(t!=0)return!1;for(let n=s;;){let r=n.parentNode;if(!r||r.nodeType!=1||r.firstChild!=n)return!1;if(r.classList.contains("cm-line"))break;n=r}let i=s.nodeType==1?s.getBoundingClientRect():Xi(s,0,Math.max(s.nodeValue.length,1)).getBoundingClientRect();return e-i.left>5}function Lb(s,t){let e=s.lineBlockAt(t);if(Array.isArray(e.type)){for(let i of e.type)if(i.to>t||i.to==t&&(i.to==e.to||i.type==ei.Text))return i}return e}function Hb(s,t,e,i){let n=Lb(s,t.head),r=!i||n.type!=ei.Text||!(s.lineWrapping||n.widgetLineBreaks)?null:s.coordsAtPos(t.assoc<0&&t.head>n.from?t.head-1:t.head);if(r){let o=s.dom.getBoundingClientRect(),l=s.textDirectionAt(n.from),a=s.posAtCoords({x:e==(l==Ct.LTR)?o.right-1:o.left+1,y:(r.top+r.bottom)/2});if(a!=null)return V.cursor(a,e?-1:1)}return V.cursor(e?n.to:n.from,e?-1:1)}function Ld(s,t,e,i){let n=s.state.doc.lineAt(t.head),r=s.bidiSpans(n),o=s.textDirectionAt(n.from);for(let l=t,a=null;;){let h=kb(n,r,o,l,e),f=bp;if(!h){if(n.number==(e?s.state.doc.lines:1))return l;f=`\n`,n=s.state.doc.line(n.number+(e?1:-1)),r=s.bidiSpans(n),h=s.visualLineSide(n,!e)}if(a){if(!a(f))return l}else{if(!i)return h;a=i(f)}l=h}}function Fb(s,t,e){let i=s.state.charCategorizer(t),n=i(e);return r=>{let o=i(r);return n==Ne.Space&&(n=o),n==o}}function Vb(s,t,e,i){let n=t.head,r=e?1:-1;if(n==(e?s.state.doc.length:0))return V.cursor(n,t.assoc);let o=t.goalColumn,l,a=s.contentDOM.getBoundingClientRect(),h=s.coordsAtPos(n,t.assoc||-1),f=s.documentTop;if(h)o==null&&(o=h.left-a.left),l=r<0?h.top:h.bottom;else{let d=s.viewState.lineBlockAt(n);o==null&&(o=Math.min(a.right-a.left,s.defaultCharacterWidth*(n-d.from))),l=(r<0?d.top:d.bottom)+f}let c=a.left+o,u=i!=null?i:s.viewState.heightOracle.textHeight>>1;for(let d=0;;d+=10){let p=l+(u+d)*r,g=Pp(s,{x:c,y:p},!1,r);if(p<a.top||p>a.bottom||(r<0?g<n:g>n)){let m=s.docView.coordsForChar(g),b=!m||p<m.top?-1:1;return V.cursor(g,b,void 0,o)}}}function Oo(s,t,e){for(;;){let i=0;for(let n of s)n.between(t-1,t+1,(r,o,l)=>{if(t>r&&t<o){let a=i||e||(t-r<o-t?-1:1);t=a<0?r:o,i=a}});if(!i)return t}}function ch(s,t,e){let i=Oo(s.state.facet($h).map(n=>n(s)),e.from,t.head>e.from?-1:1);return i==e.from?e:V.cursor(i,i<e.from?1:-1)}var Th=class{setSelectionOrigin(t){this.lastSelectionOrigin=t,this.lastSelectionTime=Date.now()}constructor(t){this.view=t,this.lastKeyCode=0,this.lastKeyTime=0,this.lastTouchTime=0,this.lastFocusTime=0,this.lastScrollTop=0,this.lastScrollLeft=0,this.pendingIOSKey=void 0,this.lastSelectionOrigin=null,this.lastSelectionTime=0,this.lastEscPress=0,this.lastContextMenu=0,this.scrollHandlers=[],this.handlers=Object.create(null),this.composing=-1,this.compositionFirstChange=null,this.compositionEndedAt=0,this.compositionPendingKey=!1,this.compositionPendingChange=!1,this.mouseSelection=null,this.draggedContent=null,this.handleEvent=this.handleEvent.bind(this),this.notifiedFocused=t.hasFocus,B.safari&&t.contentDOM.addEventListener("input",()=>null),B.gecko&&iw(t.contentDOM.ownerDocument)}handleEvent(t){!Kb(this.view,t)||this.ignoreDuringComposition(t)||t.type=="keydown"&&this.keydown(t)||this.runHandlers(t.type,t)}runHandlers(t,e){let i=this.handlers[t];if(i){for(let n of i.observers)n(this.view,e);for(let n of i.handlers){if(e.defaultPrevented)break;if(n(this.view,e)){e.preventDefault();break}}}}ensureHandlers(t){let e=zb(t),i=this.handlers,n=this.view.contentDOM;for(let r in e)if(r!="scroll"){let o=!e[r].handlers.length,l=i[r];l&&o!=!l.handlers.length&&(n.removeEventListener(r,this.handleEvent),l=null),l||n.addEventListener(r,this.handleEvent,{passive:o})}for(let r in i)r!="scroll"&&!e[r]&&n.removeEventListener(r,this.handleEvent);this.handlers=e}keydown(t){if(this.lastKeyCode=t.keyCode,this.lastKeyTime=Date.now(),t.keyCode==9&&Date.now()<this.lastEscPress+2e3)return!0;if(t.keyCode!=27&&Gb.indexOf(t.keyCode)<0&&(this.view.inputState.lastEscPress=0),B.android&&B.chrome&&!t.synthetic&&(t.keyCode==13||t.keyCode==8))return this.view.observer.delayAndroidKey(t.key,t.keyCode),!0;let e;return B.ios&&!t.synthetic&&!t.altKey&&!t.metaKey&&((e=Rp.find(i=>i.keyCode==t.keyCode))&&!t.ctrlKey||Wb.indexOf(t.key)>-1&&t.ctrlKey&&!t.shiftKey)?(this.pendingIOSKey=e||t,setTimeout(()=>this.flushIOSKey(),250),!0):(t.keyCode!=229&&this.view.observer.forceFlush(),!1)}flushIOSKey(){let t=this.pendingIOSKey;return t?(this.pendingIOSKey=void 0,En(this.view.contentDOM,t.key,t.keyCode)):!1}ignoreDuringComposition(t){return/^key/.test(t.type)?this.composing>0?!0:B.safari&&!B.ios&&this.compositionPendingKey&&Date.now()-this.compositionEndedAt<100?(this.compositionPendingKey=!1,!0):!1:!1}startMouseSelection(t){this.mouseSelection&&this.mouseSelection.destroy(),this.mouseSelection=t}update(t){this.mouseSelection&&this.mouseSelection.update(t),this.draggedContent&&t.docChanged&&(this.draggedContent=this.draggedContent.map(t.changes)),t.transactions.length&&(this.lastKeyCode=this.lastSelectionTime=0)}destroy(){this.mouseSelection&&this.mouseSelection.destroy()}};function Hd(s,t){return(e,i)=>{try{return t.call(s,i,e)}catch(n){ii(e.state,n)}}}function zb(s){let t=Object.create(null);function e(i){return t[i]||(t[i]={observers:[],handlers:[]})}for(let i of s){let n=i.spec;if(n&&n.domEventHandlers)for(let r in n.domEventHandlers){let o=n.domEventHandlers[r];o&&e(r).handlers.push(Hd(i.value,o))}if(n&&n.domEventObservers)for(let r in n.domEventObservers){let o=n.domEventObservers[r];o&&e(r).observers.push(Hd(i.value,o))}}for(let i in ve)e(i).handlers.push(ve[i]);for(let i in ke)e(i).observers.push(ke[i]);return t}var Rp=[{key:"Backspace",keyCode:8,inputType:"deleteContentBackward"},{key:"Enter",keyCode:13,inputType:"insertParagraph"},{key:"Enter",keyCode:13,inputType:"insertLineBreak"},{key:"Delete",keyCode:46,inputType:"deleteContentForward"}],Wb="dthko",Gb=[16,17,18,20,91,92,224,225],xo=6;function So(s){return Math.max(0,s)*.7+8}function Ub(s,t){return Math.max(Math.abs(s.clientX-t.clientX),Math.abs(s.clientY-t.clientY))}var Ah=class{constructor(t,e,i,n){this.view=t,this.startEvent=e,this.style=i,this.mustSelect=n,this.scrollSpeed={x:0,y:0},this.scrolling=-1,this.lastEvent=e,this.scrollParent=ob(t.contentDOM),this.atoms=t.state.facet($h).map(o=>o(t));let r=t.contentDOM.ownerDocument;r.addEventListener("mousemove",this.move=this.move.bind(this)),r.addEventListener("mouseup",this.up=this.up.bind(this)),this.extend=e.shiftKey,this.multiple=t.state.facet(pt.allowMultipleSelections)&&jb(t,e),this.dragging=$b(t,e)&&Lp(e)==1?null:!1}start(t){this.dragging===!1&&this.select(t)}move(t){var e;if(t.buttons==0)return this.destroy();if(this.dragging||this.dragging==null&&Ub(this.startEvent,t)<10)return;this.select(this.lastEvent=t);let i=0,n=0,r=((e=this.scrollParent)===null||e===void 0?void 0:e.getBoundingClientRect())||{left:0,top:0,right:this.view.win.innerWidth,bottom:this.view.win.innerHeight},o=_p(this.view);t.clientX-o.left<=r.left+xo?i=-So(r.left-t.clientX):t.clientX+o.right>=r.right-xo&&(i=So(t.clientX-r.right)),t.clientY-o.top<=r.top+xo?n=-So(r.top-t.clientY):t.clientY+o.bottom>=r.bottom-xo&&(n=So(t.clientY-r.bottom)),this.setScrollSpeed(i,n)}up(t){this.dragging==null&&this.select(this.lastEvent),this.dragging||t.preventDefault(),this.destroy()}destroy(){this.setScrollSpeed(0,0);let t=this.view.contentDOM.ownerDocument;t.removeEventListener("mousemove",this.move),t.removeEventListener("mouseup",this.up),this.view.inputState.mouseSelection=this.view.inputState.draggedContent=null}setScrollSpeed(t,e){this.scrollSpeed={x:t,y:e},t||e?this.scrolling<0&&(this.scrolling=setInterval(()=>this.scroll(),50)):this.scrolling>-1&&(clearInterval(this.scrolling),this.scrolling=-1)}scroll(){this.scrollParent?(this.scrollParent.scrollLeft+=this.scrollSpeed.x,this.scrollParent.scrollTop+=this.scrollSpeed.y):this.view.win.scrollBy(this.scrollSpeed.x,this.scrollSpeed.y),this.dragging===!1&&this.select(this.lastEvent)}skipAtoms(t){let e=null;for(let i=0;i<t.ranges.length;i++){let n=t.ranges[i],r=null;if(n.empty){let o=Oo(this.atoms,n.from,0);o!=n.from&&(r=V.cursor(o,-1))}else{let o=Oo(this.atoms,n.from,-1),l=Oo(this.atoms,n.to,1);(o!=n.from||l!=n.to)&&(r=V.range(n.from==n.anchor?o:l,n.from==n.head?o:l))}r&&(e||(e=t.ranges.slice()),e[i]=r)}return e?V.create(e,t.mainIndex):t}select(t){let{view:e}=this,i=this.skipAtoms(this.style.get(t,this.extend,this.multiple));(this.mustSelect||!i.eq(e.state.selection,this.dragging===!1))&&this.view.dispatch({selection:i,userEvent:"select.pointer"}),this.mustSelect=!1}update(t){this.style.update(t)&&setTimeout(()=>this.select(this.lastEvent),20)}};function jb(s,t){let e=s.state.facet(wp);return e.length?e[0](t):B.mac?t.metaKey:t.ctrlKey}function qb(s,t){let e=s.state.facet(yp);return e.length?e[0](t):B.mac?!t.altKey:!t.ctrlKey}function $b(s,t){let{main:e}=s.state.selection;if(e.empty)return!1;let i=Eo(s.root);if(!i||i.rangeCount==0)return!0;let n=i.getRangeAt(0).getClientRects();for(let r=0;r<n.length;r++){let o=n[r];if(o.left<=t.clientX&&o.right>=t.clientX&&o.top<=t.clientY&&o.bottom>=t.clientY)return!0}return!1}function Kb(s,t){if(!t.bubbles)return!0;if(t.defaultPrevented)return!1;for(let e=t.target,i;e!=s.contentDOM;e=e.parentNode)if(!e||e.nodeType==11||(i=ht.get(e))&&i.ignoreEvent(t))return!1;return!0}var ve=Object.create(null),ke=Object.create(null),Ip=B.ie&&B.ie_version<15||B.ios&&B.webkit_version<604;function Yb(s){let t=s.dom.parentNode;if(!t)return;let e=t.appendChild(document.createElement("textarea"));e.style.cssText="position: fixed; left: -10000px; top: 10px",e.focus(),setTimeout(()=>{s.focus(),e.remove(),Bp(s,e.value)},50)}function Bp(s,t){let{state:e}=s,i,n=1,r=e.toText(t),o=r.lines==e.selection.ranges.length;if(Oh!=null&&e.selection.ranges.every(a=>a.empty)&&Oh==r.toString()){let a=-1;i=e.changeByRange(h=>{let f=e.doc.lineAt(h.from);if(f.from==a)return{range:h};a=f.from;let c=e.toText((o?r.line(n++).text:t)+e.lineBreak);return{changes:{from:f.from,insert:c},range:V.cursor(h.from+c.length)}})}else o?i=e.changeByRange(a=>{let h=r.line(n++);return{changes:{from:a.from,to:a.to,insert:h.text},range:V.cursor(a.from+h.length)}}):i=e.replaceSelection(r);s.dispatch(i,{userEvent:"input.paste",scrollIntoView:!0})}ke.scroll=s=>{s.inputState.lastScrollTop=s.scrollDOM.scrollTop,s.inputState.lastScrollLeft=s.scrollDOM.scrollLeft};ve.keydown=(s,t)=>(s.inputState.setSelectionOrigin("select"),t.keyCode==27&&(s.inputState.lastEscPress=Date.now()),!1);ke.touchstart=(s,t)=>{s.inputState.lastTouchTime=Date.now(),s.inputState.setSelectionOrigin("select.pointer")};ke.touchmove=s=>{s.inputState.setSelectionOrigin("select.pointer")};ve.mousedown=(s,t)=>{if(s.observer.flush(),s.inputState.lastTouchTime>Date.now()-2e3)return!1;let e=null;for(let i of s.state.facet(vp))if(e=i(s,t),e)break;if(!e&&t.button==0&&(e=Qb(s,t)),e){let i=!s.hasFocus;s.inputState.startMouseSelection(new Ah(s,t,e,i)),i&&s.observer.ignore(()=>ip(s.contentDOM));let n=s.inputState.mouseSelection;if(n)return n.start(t),n.dragging===!1}return!1};function Fd(s,t,e,i){if(i==1)return V.cursor(t,e);if(i==2)return Pb(s.state,t,e);{let n=_t.find(s.docView,t),r=s.state.doc.lineAt(n?n.posAtEnd:t),o=n?n.posAtStart:r.from,l=n?n.posAtEnd:r.to;return l<s.state.doc.length&&l==r.to&&l++,V.range(o,l)}}var Np=(s,t)=>s>=t.top&&s<=t.bottom,Vd=(s,t,e)=>Np(t,e)&&s>=e.left&&s<=e.right;function Xb(s,t,e,i){let n=_t.find(s.docView,t);if(!n)return 1;let r=t-n.posAtStart;if(r==0)return 1;if(r==n.length)return-1;let o=n.coordsAt(r,-1);if(o&&Vd(e,i,o))return-1;let l=n.coordsAt(r,1);return l&&Vd(e,i,l)?1:o&&Np(i,o)?-1:1}function zd(s,t){let e=s.posAtCoords({x:t.clientX,y:t.clientY},!1);return{pos:e,bias:Xb(s,e,t.clientX,t.clientY)}}var Jb=B.ie&&B.ie_version<=11,Wd=null,Gd=0,Ud=0;function Lp(s){if(!Jb)return s.detail;let t=Wd,e=Ud;return Wd=s,Ud=Date.now(),Gd=!t||e>Date.now()-400&&Math.abs(t.clientX-s.clientX)<2&&Math.abs(t.clientY-s.clientY)<2?(Gd+1)%3:1}function Qb(s,t){let e=zd(s,t),i=Lp(t),n=s.state.selection;return{update(r){r.docChanged&&(e.pos=r.changes.mapPos(e.pos),n=n.map(r.changes))},get(r,o,l){let a=zd(s,r),h,f=Fd(s,a.pos,a.bias,i);if(e.pos!=a.pos&&!o){let c=Fd(s,e.pos,e.bias,i),u=Math.min(c.from,f.from),d=Math.max(c.to,f.to);f=u<f.from?V.range(u,d):V.range(d,u)}return o?n.replaceRange(n.main.extend(f.from,f.to)):l&&i==1&&n.ranges.length>1&&(h=Zb(n,a.pos))?h:l?n.addRange(f):V.create([f])}}}function Zb(s,t){for(let e=0;e<s.ranges.length;e++){let{from:i,to:n}=s.ranges[e];if(i<=t&&n>=t)return V.create(s.ranges.slice(0,e).concat(s.ranges.slice(e+1)),s.mainIndex==e?0:s.mainIndex-(s.mainIndex>e?1:0))}return null}ve.dragstart=(s,t)=>{let{selection:{main:e}}=s.state;if(t.target.draggable){let n=s.docView.nearest(t.target);if(n&&n.isWidget){let r=n.posAtStart,o=r+n.length;(r>=e.to||o<=e.from)&&(e=V.range(r,o))}}let{inputState:i}=s;return i.mouseSelection&&(i.mouseSelection.dragging=!0),i.draggedContent=e,t.dataTransfer&&(t.dataTransfer.setData("Text",s.state.sliceDoc(e.from,e.to)),t.dataTransfer.effectAllowed="copyMove"),!1};ve.dragend=s=>(s.inputState.draggedContent=null,!1);function jd(s,t,e,i){if(!e)return;let n=s.posAtCoords({x:t.clientX,y:t.clientY},!1),{draggedContent:r}=s.inputState,o=i&&r&&qb(s,t)?{from:r.from,to:r.to}:null,l={from:n,insert:e},a=s.state.changes(o?[o,l]:l);s.focus(),s.dispatch({changes:a,selection:{anchor:a.mapPos(n,-1),head:a.mapPos(n,1)},userEvent:o?"move.drop":"input.drop"}),s.inputState.draggedContent=null}ve.drop=(s,t)=>{if(!t.dataTransfer)return!1;if(s.state.readOnly)return!0;let e=t.dataTransfer.files;if(e&&e.length){let i=Array(e.length),n=0,r=()=>{++n==e.length&&jd(s,t,i.filter(o=>o!=null).join(s.state.lineBreak),!1)};for(let o=0;o<e.length;o++){let l=new FileReader;l.onerror=r,l.onload=()=>{/[\\x00-\\x08\\x0e-\\x1f]{2}/.test(l.result)||(i[o]=l.result),r()},l.readAsText(e[o])}return!0}else{let i=t.dataTransfer.getData("Text");if(i)return jd(s,t,i,!0),!0}return!1};ve.paste=(s,t)=>{if(s.state.readOnly)return!0;s.observer.flush();let e=Ip?null:t.clipboardData;return e?(Bp(s,e.getData("text/plain")||e.getData("text/uri-text")),!0):(Yb(s),!1)};function tw(s,t){let e=s.dom.parentNode;if(!e)return;let i=e.appendChild(document.createElement("textarea"));i.style.cssText="position: fixed; left: -10000px; top: 10px",i.value=t,i.focus(),i.selectionEnd=t.length,i.selectionStart=0,setTimeout(()=>{i.remove(),s.focus()},50)}function ew(s){let t=[],e=[],i=!1;for(let n of s.selection.ranges)n.empty||(t.push(s.sliceDoc(n.from,n.to)),e.push(n));if(!t.length){let n=-1;for(let{from:r}of s.selection.ranges){let o=s.doc.lineAt(r);o.number>n&&(t.push(o.text),e.push({from:o.from,to:Math.min(s.doc.length,o.to+1)})),n=o.number}i=!0}return{text:t.join(s.lineBreak),ranges:e,linewise:i}}var Oh=null;ve.copy=ve.cut=(s,t)=>{let{text:e,ranges:i,linewise:n}=ew(s.state);if(!e&&!n)return!1;Oh=n?e:null,t.type=="cut"&&!s.state.readOnly&&s.dispatch({changes:i,scrollIntoView:!0,userEvent:"delete.cut"});let r=Ip?null:t.clipboardData;return r?(r.clearData(),r.setData("text/plain",e),!0):(tw(s,e),!1)};var Hp=Ze.define();function Fp(s,t){let e=[];for(let i of s.facet(Sp)){let n=i(s,t);n&&e.push(n)}return e?s.update({effects:e,annotations:Hp.of(!0)}):null}function Vp(s){setTimeout(()=>{let t=s.hasFocus;if(t!=s.inputState.notifiedFocused){let e=Fp(s.state,t);e?s.dispatch(e):s.update([])}},10)}ke.focus=s=>{s.inputState.lastFocusTime=Date.now(),!s.scrollDOM.scrollTop&&(s.inputState.lastScrollTop||s.inputState.lastScrollLeft)&&(s.scrollDOM.scrollTop=s.inputState.lastScrollTop,s.scrollDOM.scrollLeft=s.inputState.lastScrollLeft),Vp(s)};ke.blur=s=>{s.observer.clearSelectionRange(),Vp(s)};ke.compositionstart=ke.compositionupdate=s=>{s.inputState.compositionFirstChange==null&&(s.inputState.compositionFirstChange=!0),s.inputState.composing<0&&(s.inputState.composing=0)};ke.compositionend=s=>{s.inputState.composing=-1,s.inputState.compositionEndedAt=Date.now(),s.inputState.compositionPendingKey=!0,s.inputState.compositionPendingChange=s.observer.pendingRecords().length>0,s.inputState.compositionFirstChange=null,B.chrome&&B.android?s.observer.flushSoon():s.inputState.compositionPendingChange?Promise.resolve().then(()=>s.observer.flush()):setTimeout(()=>{s.inputState.composing<0&&s.docView.hasComposition&&s.update([])},50)};ke.contextmenu=s=>{s.inputState.lastContextMenu=Date.now()};ve.beforeinput=(s,t)=>{var e;let i;if(B.chrome&&B.android&&(i=Rp.find(n=>n.inputType==t.inputType))&&(s.observer.delayAndroidKey(i.key,i.keyCode),i.key=="Backspace"||i.key=="Delete")){let n=((e=window.visualViewport)===null||e===void 0?void 0:e.height)||0;setTimeout(()=>{var r;(((r=window.visualViewport)===null||r===void 0?void 0:r.height)||0)>n+10&&s.hasFocus&&(s.contentDOM.blur(),s.focus())},100)}return!1};var qd=new Set;function iw(s){qd.has(s)||(qd.add(s),s.addEventListener("copy",()=>{}),s.addEventListener("cut",()=>{}))}var $d=["pre-wrap","normal","pre-line","break-spaces"],_h=class{constructor(t){this.lineWrapping=t,this.doc=Y.empty,this.heightSamples={},this.lineHeight=14,this.charWidth=7,this.textHeight=14,this.lineLength=30,this.heightChanged=!1}heightForGap(t,e){let i=this.doc.lineAt(e).number-this.doc.lineAt(t).number+1;return this.lineWrapping&&(i+=Math.max(0,Math.ceil((e-t-i*this.lineLength*.5)/this.lineLength))),this.lineHeight*i}heightForLine(t){return this.lineWrapping?(1+Math.max(0,Math.ceil((t-this.lineLength)/(this.lineLength-5))))*this.lineHeight:this.lineHeight}setDoc(t){return this.doc=t,this}mustRefreshForWrapping(t){return $d.indexOf(t)>-1!=this.lineWrapping}mustRefreshForHeights(t){let e=!1;for(let i=0;i<t.length;i++){let n=t[i];n<0?i++:this.heightSamples[Math.floor(n*10)]||(e=!0,this.heightSamples[Math.floor(n*10)]=!0)}return e}refresh(t,e,i,n,r,o){let l=$d.indexOf(t)>-1,a=Math.round(e)!=Math.round(this.lineHeight)||this.lineWrapping!=l;if(this.lineWrapping=l,this.lineHeight=e,this.charWidth=i,this.textHeight=n,this.lineLength=r,a){this.heightSamples={};for(let h=0;h<o.length;h++){let f=o[h];f<0?h++:this.heightSamples[Math.floor(f*10)]=!0}}return a}},Eh=class{constructor(t,e){this.from=t,this.heights=e,this.index=0}get more(){return this.index<this.heights.length}},Fe=class s{constructor(t,e,i,n,r){this.from=t,this.length=e,this.top=i,this.height=n,this._content=r}get type(){return typeof this._content=="number"?ei.Text:Array.isArray(this._content)?this._content:this._content.type}get to(){return this.from+this.length}get bottom(){return this.top+this.height}get widget(){return this._content instanceof Mi?this._content.widget:null}get widgetLineBreaks(){return typeof this._content=="number"?this._content:0}join(t){let e=(Array.isArray(this._content)?this._content:[this]).concat(Array.isArray(t._content)?t._content:[t]);return new s(this.from,this.length+t.length,this.top,this.height+t.height,e)}},at=function(s){return s[s.ByPos=0]="ByPos",s[s.ByHeight=1]="ByHeight",s[s.ByPosNoHeight=2]="ByPosNoHeight",s}(at||(at={})),_o=.001,ne=class s{constructor(t,e,i=2){this.length=t,this.height=e,this.flags=i}get outdated(){return(this.flags&2)>0}set outdated(t){this.flags=(t?2:0)|this.flags&-3}setHeight(t,e){this.height!=e&&(Math.abs(this.height-e)>_o&&(t.heightChanged=!0),this.height=e)}replace(t,e,i){return s.of(i)}decomposeLeft(t,e){e.push(this)}decomposeRight(t,e){e.push(this)}applyChanges(t,e,i,n){let r=this,o=i.doc;for(let l=n.length-1;l>=0;l--){let{fromA:a,toA:h,fromB:f,toB:c}=n[l],u=r.lineAt(a,at.ByPosNoHeight,i.setDoc(e),0,0),d=u.to>=h?u:r.lineAt(h,at.ByPosNoHeight,i,0,0);for(c+=d.to-h,h=d.to;l>0&&u.from<=n[l-1].toA;)a=n[l-1].fromA,f=n[l-1].fromB,l--,a<u.from&&(u=r.lineAt(a,at.ByPosNoHeight,i,0,0));f+=u.from-a,a=u.from;let p=Ph.build(i.setDoc(o),t,f,c);r=r.replace(a,h,p)}return r.updateHeight(i,0)}static empty(){return new de(0,0)}static of(t){if(t.length==1)return t[0];let e=0,i=t.length,n=0,r=0;for(;;)if(e==i)if(n>r*2){let l=t[e-1];l.break?t.splice(--e,1,l.left,null,l.right):t.splice(--e,1,l.left,l.right),i+=1+l.break,n-=l.size}else if(r>n*2){let l=t[i];l.break?t.splice(i,1,l.left,null,l.right):t.splice(i,1,l.left,l.right),i+=2+l.break,r-=l.size}else break;else if(n<r){let l=t[e++];l&&(n+=l.size)}else{let l=t[--i];l&&(r+=l.size)}let o=0;return t[e-1]==null?(o=1,e--):t[e]==null&&(o=1,i++),new Dh(s.of(t.slice(0,e)),o,s.of(t.slice(i)))}};ne.prototype.size=1;var Lo=class extends ne{constructor(t,e,i){super(t,e),this.deco=i}blockAt(t,e,i,n){return new Fe(n,this.length,i,this.height,this.deco||0)}lineAt(t,e,i,n,r){return this.blockAt(0,i,n,r)}forEachLine(t,e,i,n,r,o){t<=r+this.length&&e>=r&&o(this.blockAt(0,i,n,r))}updateHeight(t,e=0,i=!1,n){return n&&n.from<=e&&n.more&&this.setHeight(t,n.heights[n.index++]),this.outdated=!1,this}toString(){return`block(${this.length})`}},de=class s extends Lo{constructor(t,e){super(t,e,null),this.collapsed=0,this.widgetHeight=0,this.breaks=0}blockAt(t,e,i,n){return new Fe(n,this.length,i,this.height,this.breaks)}replace(t,e,i){let n=i[0];return i.length==1&&(n instanceof s||n instanceof xi&&n.flags&4)&&Math.abs(this.length-n.length)<10?(n instanceof xi?n=new s(n.length,this.height):n.height=this.height,this.outdated||(n.outdated=!1),n):ne.of(i)}updateHeight(t,e=0,i=!1,n){return n&&n.from<=e&&n.more?this.setHeight(t,n.heights[n.index++]):(i||this.outdated)&&this.setHeight(t,Math.max(this.widgetHeight,t.heightForLine(this.length-this.collapsed))+this.breaks*t.lineHeight),this.outdated=!1,this}toString(){return`line(${this.length}${this.collapsed?-this.collapsed:""}${this.widgetHeight?":"+this.widgetHeight:""})`}},xi=class s extends ne{constructor(t){super(t,0)}heightMetrics(t,e){let i=t.doc.lineAt(e).number,n=t.doc.lineAt(e+this.length).number,r=n-i+1,o,l=0;if(t.lineWrapping){let a=Math.min(this.height,t.lineHeight*r);o=a/r,this.length>r+1&&(l=(this.height-a)/(this.length-r-1))}else o=this.height/r;return{firstLine:i,lastLine:n,perLine:o,perChar:l}}blockAt(t,e,i,n){let{firstLine:r,lastLine:o,perLine:l,perChar:a}=this.heightMetrics(e,n);if(e.lineWrapping){let h=n+Math.round(Math.max(0,Math.min(1,(t-i)/this.height))*this.length),f=e.doc.lineAt(h),c=l+f.length*a,u=Math.max(i,t-c/2);return new Fe(f.from,f.length,u,c,0)}else{let h=Math.max(0,Math.min(o-r,Math.floor((t-i)/l))),{from:f,length:c}=e.doc.line(r+h);return new Fe(f,c,i+l*h,l,0)}}lineAt(t,e,i,n,r){if(e==at.ByHeight)return this.blockAt(t,i,n,r);if(e==at.ByPosNoHeight){let{from:d,to:p}=i.doc.lineAt(t);return new Fe(d,p-d,0,0,0)}let{firstLine:o,perLine:l,perChar:a}=this.heightMetrics(i,r),h=i.doc.lineAt(t),f=l+h.length*a,c=h.number-o,u=n+l*c+a*(h.from-r-c);return new Fe(h.from,h.length,Math.max(n,Math.min(u,n+this.height-f)),f,0)}forEachLine(t,e,i,n,r,o){t=Math.max(t,r),e=Math.min(e,r+this.length);let{firstLine:l,perLine:a,perChar:h}=this.heightMetrics(i,r);for(let f=t,c=n;f<=e;){let u=i.doc.lineAt(f);if(f==t){let p=u.number-l;c+=a*p+h*(t-r-p)}let d=a+h*u.length;o(new Fe(u.from,u.length,c,d,0)),c+=d,f=u.to+1}}replace(t,e,i){let n=this.length-e;if(n>0){let r=i[i.length-1];r instanceof s?i[i.length-1]=new s(r.length+n):i.push(null,new s(n-1))}if(t>0){let r=i[0];r instanceof s?i[0]=new s(t+r.length):i.unshift(new s(t-1),null)}return ne.of(i)}decomposeLeft(t,e){e.push(new s(t-1),null)}decomposeRight(t,e){e.push(null,new s(this.length-t-1))}updateHeight(t,e=0,i=!1,n){let r=e+this.length;if(n&&n.from<=e+this.length&&n.more){let o=[],l=Math.max(e,n.from),a=-1;for(n.from>e&&o.push(new s(n.from-e-1).updateHeight(t,e));l<=r&&n.more;){let f=t.doc.lineAt(l).length;o.length&&o.push(null);let c=n.heights[n.index++];a==-1?a=c:Math.abs(c-a)>=_o&&(a=-2);let u=new de(f,c);u.outdated=!1,o.push(u),l+=f+1}l<=r&&o.push(null,new s(r-l).updateHeight(t,l));let h=ne.of(o);return(a<0||Math.abs(h.height-this.height)>=_o||Math.abs(a-this.heightMetrics(t,e).perLine)>=_o)&&(t.heightChanged=!0),h}else(i||this.outdated)&&(this.setHeight(t,t.heightForGap(e,e+this.length)),this.outdated=!1);return this}toString(){return`gap(${this.length})`}},Dh=class extends ne{constructor(t,e,i){super(t.length+e+i.length,t.height+i.height,e|(t.outdated||i.outdated?2:0)),this.left=t,this.right=i,this.size=t.size+i.size}get break(){return this.flags&1}blockAt(t,e,i,n){let r=i+this.left.height;return t<r?this.left.blockAt(t,e,i,n):this.right.blockAt(t,e,r,n+this.left.length+this.break)}lineAt(t,e,i,n,r){let o=n+this.left.height,l=r+this.left.length+this.break,a=e==at.ByHeight?t<o:t<l,h=a?this.left.lineAt(t,e,i,n,r):this.right.lineAt(t,e,i,o,l);if(this.break||(a?h.to<l:h.from>l))return h;let f=e==at.ByPosNoHeight?at.ByPosNoHeight:at.ByPos;return a?h.join(this.right.lineAt(l,f,i,o,l)):this.left.lineAt(l,f,i,n,r).join(h)}forEachLine(t,e,i,n,r,o){let l=n+this.left.height,a=r+this.left.length+this.break;if(this.break)t<a&&this.left.forEachLine(t,e,i,n,r,o),e>=a&&this.right.forEachLine(t,e,i,l,a,o);else{let h=this.lineAt(a,at.ByPos,i,n,r);t<h.from&&this.left.forEachLine(t,h.from-1,i,n,r,o),h.to>=t&&h.from<=e&&o(h),e>h.to&&this.right.forEachLine(h.to+1,e,i,l,a,o)}}replace(t,e,i){let n=this.left.length+this.break;if(e<n)return this.balanced(this.left.replace(t,e,i),this.right);if(t>this.left.length)return this.balanced(this.left,this.right.replace(t-n,e-n,i));let r=[];t>0&&this.decomposeLeft(t,r);let o=r.length;for(let l of i)r.push(l);if(t>0&&Kd(r,o-1),e<this.length){let l=r.length;this.decomposeRight(e,r),Kd(r,l)}return ne.of(r)}decomposeLeft(t,e){let i=this.left.length;if(t<=i)return this.left.decomposeLeft(t,e);e.push(this.left),this.break&&(i++,t>=i&&e.push(null)),t>i&&this.right.decomposeLeft(t-i,e)}decomposeRight(t,e){let i=this.left.length,n=i+this.break;if(t>=n)return this.right.decomposeRight(t-n,e);t<i&&this.left.decomposeRight(t,e),this.break&&t<n&&e.push(null),e.push(this.right)}balanced(t,e){return t.size>2*e.size||e.size>2*t.size?ne.of(this.break?[t,null,e]:[t,e]):(this.left=t,this.right=e,this.height=t.height+e.height,this.outdated=t.outdated||e.outdated,this.size=t.size+e.size,this.length=t.length+this.break+e.length,this)}updateHeight(t,e=0,i=!1,n){let{left:r,right:o}=this,l=e+r.length+this.break,a=null;return n&&n.from<=e+r.length&&n.more?a=r=r.updateHeight(t,e,i,n):r.updateHeight(t,e,i),n&&n.from<=l+o.length&&n.more?a=o=o.updateHeight(t,l,i,n):o.updateHeight(t,l,i),a?this.balanced(r,o):(this.height=this.left.height+this.right.height,this.outdated=!1,this)}toString(){return this.left+(this.break?" ":"-")+this.right}};function Kd(s,t){let e,i;s[t]==null&&(e=s[t-1])instanceof xi&&(i=s[t+1])instanceof xi&&s.splice(t-1,3,new xi(e.length+1+i.length))}var nw=5,Ph=class s{constructor(t,e){this.pos=t,this.oracle=e,this.nodes=[],this.lineStart=-1,this.lineEnd=-1,this.covering=null,this.writtenTo=t}get isCovered(){return this.covering&&this.nodes[this.nodes.length-1]==this.covering}span(t,e){if(this.lineStart>-1){let i=Math.min(e,this.lineEnd),n=this.nodes[this.nodes.length-1];n instanceof de?n.length+=i-this.pos:(i>this.pos||!this.isCovered)&&this.nodes.push(new de(i-this.pos,-1)),this.writtenTo=i,e>i&&(this.nodes.push(null),this.writtenTo++,this.lineStart=-1)}this.pos=e}point(t,e,i){if(t<e||i.heightRelevant){let n=i.widget?i.widget.estimatedHeight:0,r=i.widget?i.widget.lineBreaks:0;n<0&&(n=this.oracle.lineHeight);let o=e-t;i.block?this.addBlock(new Lo(o,n,i)):(o||r||n>=nw)&&this.addLineDeco(n,r,o)}else e>t&&this.span(t,e);this.lineEnd>-1&&this.lineEnd<this.pos&&(this.lineEnd=this.oracle.doc.lineAt(this.pos).to)}enterLine(){if(this.lineStart>-1)return;let{from:t,to:e}=this.oracle.doc.lineAt(this.pos);this.lineStart=t,this.lineEnd=e,this.writtenTo<t&&((this.writtenTo<t-1||this.nodes[this.nodes.length-1]==null)&&this.nodes.push(this.blankContent(this.writtenTo,t-1)),this.nodes.push(null)),this.pos>t&&this.nodes.push(new de(this.pos-t,-1)),this.writtenTo=this.pos}blankContent(t,e){let i=new xi(e-t);return this.oracle.doc.lineAt(t).to==e&&(i.flags|=4),i}ensureLine(){this.enterLine();let t=this.nodes.length?this.nodes[this.nodes.length-1]:null;if(t instanceof de)return t;let e=new de(0,-1);return this.nodes.push(e),e}addBlock(t){this.enterLine();let e=t.deco;e&&e.startSide>0&&!this.isCovered&&this.ensureLine(),this.nodes.push(t),this.writtenTo=this.pos=this.pos+t.length,e&&e.endSide>0&&(this.covering=t)}addLineDeco(t,e,i){let n=this.ensureLine();n.length+=i,n.collapsed+=i,n.widgetHeight=Math.max(n.widgetHeight,t),n.breaks+=e,this.writtenTo=this.pos=this.pos+i}finish(t){let e=this.nodes.length==0?null:this.nodes[this.nodes.length-1];this.lineStart>-1&&!(e instanceof de)&&!this.isCovered?this.nodes.push(new de(0,-1)):(this.writtenTo<this.pos||e==null)&&this.nodes.push(this.blankContent(this.writtenTo,this.pos));let i=t;for(let n of this.nodes)n instanceof de&&n.updateHeight(this.oracle,i),i+=n?n.length:1;return this.nodes}static build(t,e,i,n){let r=new s(i,t);return yt.spans(e,i,n,r,0),r.finish(i)}};function sw(s,t,e){let i=new Rh;return yt.compare(s,t,e,i,0),i.changes}var Rh=class{constructor(){this.changes=[]}compareRange(){}comparePoint(t,e,i,n){(t<e||i&&i.heightRelevant||n&&n.heightRelevant)&&vh(t,e,this.changes,5)}};function rw(s,t){let e=s.getBoundingClientRect(),i=s.ownerDocument,n=i.defaultView||window,r=Math.max(0,e.left),o=Math.min(n.innerWidth,e.right),l=Math.max(0,e.top),a=Math.min(n.innerHeight,e.bottom);for(let h=s.parentNode;h&&h!=i.body;)if(h.nodeType==1){let f=h,c=window.getComputedStyle(f);if((f.scrollHeight>f.clientHeight||f.scrollWidth>f.clientWidth)&&c.overflow!="visible"){let u=f.getBoundingClientRect();r=Math.max(r,u.left),o=Math.min(o,u.right),l=Math.max(l,u.top),a=h==s.parentNode?u.bottom:Math.min(a,u.bottom)}h=c.position=="absolute"||c.position=="fixed"?f.offsetParent:f.parentNode}else if(h.nodeType==11)h=h.host;else break;return{left:r-e.left,right:Math.max(r,o)-e.left,top:l-(e.top+t),bottom:Math.max(l,a)-(e.top+t)}}function ow(s,t){let e=s.getBoundingClientRect();return{left:0,right:e.right-e.left,top:t,bottom:e.bottom-(e.top+t)}}var Us=class{constructor(t,e,i){this.from=t,this.to=e,this.size=i}static same(t,e){if(t.length!=e.length)return!1;for(let i=0;i<t.length;i++){let n=t[i],r=e[i];if(n.from!=r.from||n.to!=r.to||n.size!=r.size)return!1}return!0}draw(t,e){return Nt.replace({widget:new Ih(this.size*(e?t.scaleY:t.scaleX),e)}).range(this.from,this.to)}},Ih=class extends Pn{constructor(t,e){super(),this.size=t,this.vertical=e}eq(t){return t.size==this.size&&t.vertical==this.vertical}toDOM(){let t=document.createElement("div");return this.vertical?t.style.height=this.size+"px":(t.style.width=this.size+"px",t.style.height="2px",t.style.display="inline-block"),t}get estimatedHeight(){return this.vertical?this.size:-1}},Ho=class{constructor(t){this.state=t,this.pixelViewport={left:0,right:window.innerWidth,top:0,bottom:0},this.inView=!0,this.paddingTop=0,this.paddingBottom=0,this.contentDOMWidth=0,this.contentDOMHeight=0,this.editorHeight=0,this.editorWidth=0,this.scrollTop=0,this.scrolledToBottom=!0,this.scaleX=1,this.scaleY=1,this.scrollAnchorPos=0,this.scrollAnchorHeight=-1,this.scaler=Yd,this.scrollTarget=null,this.printing=!1,this.mustMeasureContent=!0,this.defaultTextDirection=Ct.LTR,this.visibleRanges=[],this.mustEnforceCursorAssoc=!1;let e=t.facet(qh).some(i=>typeof i!="function"&&i.class=="cm-lineWrapping");this.heightOracle=new _h(e),this.stateDeco=t.facet(Xs).filter(i=>typeof i!="function"),this.heightMap=ne.empty().applyChanges(this.stateDeco,Y.empty,this.heightOracle.setDoc(t.doc),[new ze(0,0,0,t.doc.length)]),this.viewport=this.getViewport(0,null),this.updateViewportLines(),this.updateForViewport(),this.lineGaps=this.ensureLineGaps([]),this.lineGapDeco=Nt.set(this.lineGaps.map(i=>i.draw(this,!1))),this.computeVisibleRanges()}updateForViewport(){let t=[this.viewport],{main:e}=this.state.selection;for(let i=0;i<=1;i++){let n=i?e.head:e.anchor;if(!t.some(({from:r,to:o})=>n>=r&&n<=o)){let{from:r,to:o}=this.lineBlockAt(n);t.push(new _n(r,o))}}this.viewports=t.sort((i,n)=>i.from-n.from),this.scaler=this.heightMap.height<=7e6?Yd:new Bh(this.heightOracle,this.heightMap,this.viewports)}updateViewportLines(){this.viewportLines=[],this.heightMap.forEachLine(this.viewport.from,this.viewport.to,this.heightOracle.setDoc(this.state.doc),0,0,t=>{this.viewportLines.push(this.scaler.scale==1?t:Hs(t,this.scaler))})}update(t,e=null){this.state=t.state;let i=this.stateDeco;this.stateDeco=this.state.facet(Xs).filter(f=>typeof f!="function");let n=t.changedRanges,r=ze.extendWithRanges(n,sw(i,this.stateDeco,t?t.changes:ee.empty(this.state.doc.length))),o=this.heightMap.height,l=this.scrolledToBottom?null:this.scrollAnchorAt(this.scrollTop);this.heightMap=this.heightMap.applyChanges(this.stateDeco,t.startState.doc,this.heightOracle.setDoc(this.state.doc),r),this.heightMap.height!=o&&(t.flags|=2),l?(this.scrollAnchorPos=t.changes.mapPos(l.from,-1),this.scrollAnchorHeight=l.top):(this.scrollAnchorPos=-1,this.scrollAnchorHeight=this.heightMap.height);let a=r.length?this.mapViewport(this.viewport,t.changes):this.viewport;(e&&(e.range.head<a.from||e.range.head>a.to)||!this.viewportIsAppropriate(a))&&(a=this.getViewport(0,e));let h=!t.changes.empty||t.flags&2||a.from!=this.viewport.from||a.to!=this.viewport.to;this.viewport=a,this.updateForViewport(),h&&this.updateViewportLines(),(this.lineGaps.length||this.viewport.to-this.viewport.from>4e3)&&this.updateLineGaps(this.ensureLineGaps(this.mapLineGaps(this.lineGaps,t.changes))),t.flags|=this.computeVisibleRanges(),e&&(this.scrollTarget=e),!this.mustEnforceCursorAssoc&&t.selectionSet&&t.view.lineWrapping&&t.state.selection.main.empty&&t.state.selection.main.assoc&&!t.state.facet(Sb)&&(this.mustEnforceCursorAssoc=!0)}measure(t){let e=t.contentDOM,i=window.getComputedStyle(e),n=this.heightOracle,r=i.whiteSpace;this.defaultTextDirection=i.direction=="rtl"?Ct.RTL:Ct.LTR;let o=this.heightOracle.mustRefreshForWrapping(r),l=e.getBoundingClientRect(),a=o||this.mustMeasureContent||this.contentDOMHeight!=l.height;this.contentDOMHeight=l.height,this.mustMeasureContent=!1;let h=0,f=0;if(l.width&&l.height){let{scaleX:v,scaleY:x}=ep(e,l);(this.scaleX!=v||this.scaleY!=x)&&(this.scaleX=v,this.scaleY=x,h|=8,o=a=!0)}let c=(parseInt(i.paddingTop)||0)*this.scaleY,u=(parseInt(i.paddingBottom)||0)*this.scaleY;(this.paddingTop!=c||this.paddingBottom!=u)&&(this.paddingTop=c,this.paddingBottom=u,h|=10),this.editorWidth!=t.scrollDOM.clientWidth&&(n.lineWrapping&&(a=!0),this.editorWidth=t.scrollDOM.clientWidth,h|=8);let d=t.scrollDOM.scrollTop*this.scaleY;this.scrollTop!=d&&(this.scrollAnchorHeight=-1,this.scrollTop=d),this.scrolledToBottom=sp(t.scrollDOM);let p=(this.printing?ow:rw)(e,this.paddingTop),g=p.top-this.pixelViewport.top,m=p.bottom-this.pixelViewport.bottom;this.pixelViewport=p;let b=this.pixelViewport.bottom>this.pixelViewport.top&&this.pixelViewport.right>this.pixelViewport.left;if(b!=this.inView&&(this.inView=b,b&&(a=!0)),!this.inView&&!this.scrollTarget)return 0;let w=l.width;if((this.contentDOMWidth!=w||this.editorHeight!=t.scrollDOM.clientHeight)&&(this.contentDOMWidth=l.width,this.editorHeight=t.scrollDOM.clientHeight,h|=8),a){let v=t.docView.measureVisibleLineHeights(this.viewport);if(n.mustRefreshForHeights(v)&&(o=!0),o||n.lineWrapping&&Math.abs(w-this.contentDOMWidth)>n.charWidth){let{lineHeight:x,charWidth:S,textHeight:k}=t.docView.measureTextSize();o=x>0&&n.refresh(r,x,S,k,w/S,v),o&&(t.docView.minWidth=0,h|=8)}g>0&&m>0?f=Math.max(g,m):g<0&&m<0&&(f=Math.min(g,m)),n.heightChanged=!1;for(let x of this.viewports){let S=x.from==this.viewport.from?v:t.docView.measureVisibleLineHeights(x);this.heightMap=(o?ne.empty().applyChanges(this.stateDeco,Y.empty,this.heightOracle,[new ze(0,0,0,t.state.doc.length)]):this.heightMap).updateHeight(n,0,o,new Eh(x.from,S))}n.heightChanged&&(h|=2)}let y=!this.viewportIsAppropriate(this.viewport,f)||this.scrollTarget&&(this.scrollTarget.range.head<this.viewport.from||this.scrollTarget.range.head>this.viewport.to);return y&&(this.viewport=this.getViewport(f,this.scrollTarget)),this.updateForViewport(),(h&2||y)&&this.updateViewportLines(),(this.lineGaps.length||this.viewport.to-this.viewport.from>4e3)&&this.updateLineGaps(this.ensureLineGaps(o?[]:this.lineGaps,t)),h|=this.computeVisibleRanges(),this.mustEnforceCursorAssoc&&(this.mustEnforceCursorAssoc=!1,t.docView.enforceCursorAssoc()),h}get visibleTop(){return this.scaler.fromDOM(this.pixelViewport.top)}get visibleBottom(){return this.scaler.fromDOM(this.pixelViewport.bottom)}getViewport(t,e){let i=.5-Math.max(-.5,Math.min(.5,t/1e3/2)),n=this.heightMap,r=this.heightOracle,{visibleTop:o,visibleBottom:l}=this,a=new _n(n.lineAt(o-i*1e3,at.ByHeight,r,0,0).from,n.lineAt(l+(1-i)*1e3,at.ByHeight,r,0,0).to);if(e){let{head:h}=e.range;if(h<a.from||h>a.to){let f=Math.min(this.editorHeight,this.pixelViewport.bottom-this.pixelViewport.top),c=n.lineAt(h,at.ByPos,r,0,0),u;e.y=="center"?u=(c.top+c.bottom)/2-f/2:e.y=="start"||e.y=="nearest"&&h<a.from?u=c.top:u=c.bottom-f,a=new _n(n.lineAt(u-1e3/2,at.ByHeight,r,0,0).from,n.lineAt(u+f+1e3/2,at.ByHeight,r,0,0).to)}}return a}mapViewport(t,e){let i=e.mapPos(t.from,-1),n=e.mapPos(t.to,1);return new _n(this.heightMap.lineAt(i,at.ByPos,this.heightOracle,0,0).from,this.heightMap.lineAt(n,at.ByPos,this.heightOracle,0,0).to)}viewportIsAppropriate({from:t,to:e},i=0){if(!this.inView)return!0;let{top:n}=this.heightMap.lineAt(t,at.ByPos,this.heightOracle,0,0),{bottom:r}=this.heightMap.lineAt(e,at.ByPos,this.heightOracle,0,0),{visibleTop:o,visibleBottom:l}=this;return(t==0||n<=o-Math.max(10,Math.min(-i,250)))&&(e==this.state.doc.length||r>=l+Math.max(10,Math.min(i,250)))&&n>o-2*1e3&&r<l+2*1e3}mapLineGaps(t,e){if(!t.length||e.empty)return t;let i=[];for(let n of t)e.touchesRange(n.from,n.to)||i.push(new Us(e.mapPos(n.from),e.mapPos(n.to),n.size));return i}ensureLineGaps(t,e){let i=this.heightOracle.lineWrapping,n=i?1e4:2e3,r=n>>1,o=n<<1;if(this.defaultTextDirection!=Ct.LTR&&!i)return[];let l=[],a=(h,f,c,u)=>{if(f-h<r)return;let d=this.state.selection.main,p=[d.from];d.empty||p.push(d.to);for(let m of p)if(m>h&&m<f){a(h,m-10,c,u),a(m+10,f,c,u);return}let g=aw(t,m=>m.from>=c.from&&m.to<=c.to&&Math.abs(m.from-h)<r&&Math.abs(m.to-f)<r&&!p.some(b=>m.from<b&&m.to>b));if(!g){if(f<c.to&&e&&i&&e.visibleRanges.some(m=>m.from<=f&&m.to>=f)){let m=e.moveToLineBoundary(V.cursor(f),!1,!0).head;m>h&&(f=m)}g=new Us(h,f,this.gapSize(c,h,f,u))}l.push(g)};for(let h of this.viewportLines){if(h.length<o)continue;let f=lw(h.from,h.to,this.stateDeco);if(f.total<o)continue;let c=this.scrollTarget?this.scrollTarget.range.head:null,u,d;if(i){let p=n/this.heightOracle.lineLength*this.heightOracle.lineHeight,g,m;if(c!=null){let b=Mo(f,c),w=((this.visibleBottom-this.visibleTop)/2+p)/h.height;g=b-w,m=b+w}else g=(this.visibleTop-h.top-p)/h.height,m=(this.visibleBottom-h.top+p)/h.height;u=Co(f,g),d=Co(f,m)}else{let p=f.total*this.heightOracle.charWidth,g=n*this.heightOracle.charWidth,m,b;if(c!=null){let w=Mo(f,c),y=((this.pixelViewport.right-this.pixelViewport.left)/2+g)/p;m=w-y,b=w+y}else m=(this.pixelViewport.left-g)/p,b=(this.pixelViewport.right+g)/p;u=Co(f,m),d=Co(f,b)}u>h.from&&a(h.from,u,h,f),d<h.to&&a(d,h.to,h,f)}return l}gapSize(t,e,i,n){let r=Mo(n,i)-Mo(n,e);return this.heightOracle.lineWrapping?t.height*r:n.total*this.heightOracle.charWidth*r}updateLineGaps(t){Us.same(t,this.lineGaps)||(this.lineGaps=t,this.lineGapDeco=Nt.set(t.map(e=>e.draw(this,this.heightOracle.lineWrapping))))}computeVisibleRanges(){let t=this.stateDeco;this.lineGaps.length&&(t=t.concat(this.lineGapDeco));let e=[];yt.spans(t,this.viewport.from,this.viewport.to,{span(n,r){e.push({from:n,to:r})},point(){}},20);let i=e.length!=this.visibleRanges.length||this.visibleRanges.some((n,r)=>n.from!=e[r].from||n.to!=e[r].to);return this.visibleRanges=e,i?4:0}lineBlockAt(t){return t>=this.viewport.from&&t<=this.viewport.to&&this.viewportLines.find(e=>e.from<=t&&e.to>=t)||Hs(this.heightMap.lineAt(t,at.ByPos,this.heightOracle,0,0),this.scaler)}lineBlockAtHeight(t){return Hs(this.heightMap.lineAt(this.scaler.fromDOM(t),at.ByHeight,this.heightOracle,0,0),this.scaler)}scrollAnchorAt(t){let e=this.lineBlockAtHeight(t+8);return e.from>=this.viewport.from||this.viewportLines[0].top-t>200?e:this.viewportLines[0]}elementAtHeight(t){return Hs(this.heightMap.blockAt(this.scaler.fromDOM(t),this.heightOracle,0,0),this.scaler)}get docHeight(){return this.scaler.toDOM(this.heightMap.height)}get contentHeight(){return this.docHeight+this.paddingTop+this.paddingBottom}},_n=class{constructor(t,e){this.from=t,this.to=e}};function lw(s,t,e){let i=[],n=s,r=0;return yt.spans(e,s,t,{span(){},point(o,l){o>n&&(i.push({from:n,to:o}),r+=o-n),n=l}},20),n<t&&(i.push({from:n,to:t}),r+=t-n),{total:r,ranges:i}}function Co({total:s,ranges:t},e){if(e<=0)return t[0].from;if(e>=1)return t[t.length-1].to;let i=Math.floor(s*e);for(let n=0;;n++){let{from:r,to:o}=t[n],l=o-r;if(i<=l)return r+i;i-=l}}function Mo(s,t){let e=0;for(let{from:i,to:n}of s.ranges){if(t<=n){e+=t-i;break}e+=n-i}return e/s.total}function aw(s,t){for(let e of s)if(t(e))return e}var Yd={toDOM(s){return s},fromDOM(s){return s},scale:1},Bh=class{constructor(t,e,i){let n=0,r=0,o=0;this.viewports=i.map(({from:l,to:a})=>{let h=e.lineAt(l,at.ByPos,t,0,0).top,f=e.lineAt(a,at.ByPos,t,0,0).bottom;return n+=f-h,{from:l,to:a,top:h,bottom:f,domTop:0,domBottom:0}}),this.scale=(7e6-n)/(e.height-n);for(let l of this.viewports)l.domTop=o+(l.top-r)*this.scale,o=l.domBottom=l.domTop+(l.bottom-l.top),r=l.bottom}toDOM(t){for(let e=0,i=0,n=0;;e++){let r=e<this.viewports.length?this.viewports[e]:null;if(!r||t<r.top)return n+(t-i)*this.scale;if(t<=r.bottom)return r.domTop+(t-r.top);i=r.bottom,n=r.domBottom}}fromDOM(t){for(let e=0,i=0,n=0;;e++){let r=e<this.viewports.length?this.viewports[e]:null;if(!r||t<r.domTop)return i+(t-n)/this.scale;if(t<=r.domBottom)return r.top+(t-r.domTop);i=r.bottom,n=r.domBottom}}};function Hs(s,t){if(t.scale==1)return s;let e=t.toDOM(s.top),i=t.toDOM(s.bottom);return new Fe(s.from,s.length,e,i-e,Array.isArray(s._content)?s._content.map(n=>Hs(n,t)):s._content)}var To=U.define({combine:s=>s.join(" ")}),Nh=U.define({combine:s=>s.indexOf(!0)>-1}),Lh=ue.newName(),zp=ue.newName(),Wp=ue.newName(),Gp={"&light":"."+zp,"&dark":"."+Wp};function Hh(s,t,e){return new ue(t,{finish(i){return/&/.test(i)?i.replace(/&\\w*/,n=>{if(n=="&")return s;if(!e||!e[n])throw new RangeError(`Unsupported selector: ${n}`);return e[n]}):s+" "+i}})}var hw=Hh("."+Lh,{"&":{position:"relative !important",boxSizing:"border-box","&.cm-focused":{outline:"1px dotted #212121"},display:"flex !important",flexDirection:"column"},".cm-scroller":{display:"flex !important",alignItems:"flex-start !important",fontFamily:"monospace",lineHeight:1.4,height:"100%",overflowX:"auto",position:"relative",zIndex:0},".cm-content":{margin:0,flexGrow:2,flexShrink:0,display:"block",whiteSpace:"pre",wordWrap:"normal",boxSizing:"border-box",minHeight:"100%",padding:"4px 0",outline:"none","&[contenteditable=true]":{WebkitUserModify:"read-write-plaintext-only"}},".cm-lineWrapping":{whiteSpace_fallback:"pre-wrap",whiteSpace:"break-spaces",wordBreak:"break-word",overflowWrap:"anywhere",flexShrink:1},"&light .cm-content":{caretColor:"black"},"&dark .cm-content":{caretColor:"white"},".cm-line":{display:"block",padding:"0 2px 0 6px"},".cm-layer":{position:"absolute",left:0,top:0,contain:"size style","& > *":{position:"absolute"}},"&light .cm-selectionBackground":{background:"#d9d9d9"},"&dark .cm-selectionBackground":{background:"#222"},"&light.cm-focused > .cm-scroller > .cm-selectionLayer .cm-selectionBackground":{background:"#d7d4f0"},"&dark.cm-focused > .cm-scroller > .cm-selectionLayer .cm-selectionBackground":{background:"#233"},".cm-cursorLayer":{pointerEvents:"none"},"&.cm-focused > .cm-scroller > .cm-cursorLayer":{animation:"steps(1) cm-blink 1.2s infinite"},"@keyframes cm-blink":{"0%":{},"50%":{opacity:0},"100%":{}},"@keyframes cm-blink2":{"0%":{},"50%":{opacity:0},"100%":{}},".cm-cursor, .cm-dropCursor":{borderLeft:"1.2px solid black",marginLeft:"-0.6px",pointerEvents:"none"},".cm-cursor":{display:"none"},"&dark .cm-cursor":{borderLeftColor:"#444"},".cm-dropCursor":{position:"absolute"},"&.cm-focused > .cm-scroller > .cm-cursorLayer .cm-cursor":{display:"block"},".cm-iso":{unicodeBidi:"isolate"},".cm-announced":{position:"fixed",top:"-10000px"},"@media print":{".cm-announced":{display:"none"}},"&light .cm-activeLine":{backgroundColor:"#cceeff44"},"&dark .cm-activeLine":{backgroundColor:"#99eeff33"},"&light .cm-specialChar":{color:"red"},"&dark .cm-specialChar":{color:"#f78"},".cm-gutters":{flexShrink:0,display:"flex",height:"100%",boxSizing:"border-box",insetInlineStart:0,zIndex:200},"&light .cm-gutters":{backgroundColor:"#f5f5f5",color:"#6c6c6c",borderRight:"1px solid #ddd"},"&dark .cm-gutters":{backgroundColor:"#333338",color:"#ccc"},".cm-gutter":{display:"flex !important",flexDirection:"column",flexShrink:0,boxSizing:"border-box",minHeight:"100%",overflow:"hidden"},".cm-gutterElement":{boxSizing:"border-box"},".cm-lineNumbers .cm-gutterElement":{padding:"0 3px 0 5px",minWidth:"20px",textAlign:"right",whiteSpace:"nowrap"},"&light .cm-activeLineGutter":{backgroundColor:"#e2f2ff"},"&dark .cm-activeLineGutter":{backgroundColor:"#222227"},".cm-panels":{boxSizing:"border-box",position:"sticky",left:0,right:0},"&light .cm-panels":{backgroundColor:"#f5f5f5",color:"black"},"&light .cm-panels-top":{borderBottom:"1px solid #ddd"},"&light .cm-panels-bottom":{borderTop:"1px solid #ddd"},"&dark .cm-panels":{backgroundColor:"#333338",color:"white"},".cm-tab":{display:"inline-block",overflow:"hidden",verticalAlign:"bottom"},".cm-widgetBuffer":{verticalAlign:"text-top",height:"1em",width:0,display:"inline"},".cm-placeholder":{color:"#888",display:"inline-block",verticalAlign:"top"},".cm-highlightSpace:before":{content:"attr(data-display)",position:"absolute",pointerEvents:"none",color:"#888"},".cm-highlightTab":{backgroundImage:`url(\'data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="200" height="20"><path stroke="%23888" stroke-width="1" fill="none" d="M1 10H196L190 5M190 15L196 10M197 4L197 16"/></svg>\')`,backgroundSize:"auto 100%",backgroundPosition:"right 90%",backgroundRepeat:"no-repeat"},".cm-trailingSpace":{backgroundColor:"#ff332255"},".cm-button":{verticalAlign:"middle",color:"inherit",fontSize:"70%",padding:".2em 1em",borderRadius:"1px"},"&light .cm-button":{backgroundImage:"linear-gradient(#eff1f5, #d9d9df)",border:"1px solid #888","&:active":{backgroundImage:"linear-gradient(#b4b4b4, #d0d3d6)"}},"&dark .cm-button":{backgroundImage:"linear-gradient(#393939, #111)",border:"1px solid #888","&:active":{backgroundImage:"linear-gradient(#111, #333)"}},".cm-textfield":{verticalAlign:"middle",color:"inherit",fontSize:"70%",border:"1px solid silver",padding:".2em .5em"},"&light .cm-textfield":{backgroundColor:"white"},"&dark .cm-textfield":{border:"1px solid #555",backgroundColor:"inherit"}},Gp),Fs="\\uFFFF",Fh=class{constructor(t,e){this.points=t,this.text="",this.lineSeparator=e.facet(pt.lineSeparator)}append(t){this.text+=t}lineBreak(){this.text+=Fs}readRange(t,e){if(!t)return this;let i=t.parentNode;for(let n=t;;){this.findPointBefore(i,n);let r=this.text.length;this.readNode(n);let o=n.nextSibling;if(o==e)break;let l=ht.get(n),a=ht.get(o);(l&&a?l.breakAfter:(l?l.breakAfter:Xd(n))||Xd(o)&&(n.nodeName!="BR"||n.cmIgnore)&&this.text.length>r)&&this.lineBreak(),n=o}return this.findPointBefore(i,e),this}readTextNode(t){let e=t.nodeValue;for(let i of this.points)i.node==t&&(i.pos=this.text.length+Math.min(i.offset,e.length));for(let i=0,n=this.lineSeparator?null:/\\r\\n?|\\n/g;;){let r=-1,o=1,l;if(this.lineSeparator?(r=e.indexOf(this.lineSeparator,i),o=this.lineSeparator.length):(l=n.exec(e))&&(r=l.index,o=l[0].length),this.append(e.slice(i,r<0?e.length:r)),r<0)break;if(this.lineBreak(),o>1)for(let a of this.points)a.node==t&&a.pos>this.text.length&&(a.pos-=o-1);i=r+o}}readNode(t){if(t.cmIgnore)return;let e=ht.get(t),i=e&&e.overrideDOMText;if(i!=null){this.findPointInside(t,i.length);for(let n=i.iter();!n.next().done;)n.lineBreak?this.lineBreak():this.append(n.value)}else t.nodeType==3?this.readTextNode(t):t.nodeName=="BR"?t.nextSibling&&this.lineBreak():t.nodeType==1&&this.readRange(t.firstChild,null)}findPointBefore(t,e){for(let i of this.points)i.node==t&&t.childNodes[i.offset]==e&&(i.pos=this.text.length)}findPointInside(t,e){for(let i of this.points)(t.nodeType==3?i.node==t:t.contains(i.node))&&(i.pos=this.text.length+(fw(t,i.node,i.offset)?e:0))}};function fw(s,t,e){for(;;){if(!t||e<ni(t))return!1;if(t==s)return!0;e=qs(t)+1,t=t.parentNode}}function Xd(s){return s.nodeType==1&&/^(DIV|P|LI|UL|OL|BLOCKQUOTE|DD|DT|H\\d|SECTION|PRE)$/.test(s.nodeName)}var Fo=class{constructor(t,e){this.node=t,this.offset=e,this.pos=-1}},Vh=class{constructor(t,e,i,n){this.typeOver=n,this.bounds=null,this.text="";let{impreciseHead:r,impreciseAnchor:o}=t.docView;if(t.state.readOnly&&e>-1)this.newSel=null;else if(e>-1&&(this.bounds=t.docView.domBoundsAround(e,i,0))){let l=r||o?[]:dw(t),a=new Fh(l,t.state);a.readRange(this.bounds.startDOM,this.bounds.endDOM),this.text=a.text,this.newSel=pw(l,this.bounds.from)}else{let l=t.observer.selectionRange,a=r&&r.node==l.focusNode&&r.offset==l.focusOffset||!dh(t.contentDOM,l.focusNode)?t.state.selection.main.head:t.docView.posFromDOM(l.focusNode,l.focusOffset),h=o&&o.node==l.anchorNode&&o.offset==l.anchorOffset||!dh(t.contentDOM,l.anchorNode)?t.state.selection.main.anchor:t.docView.posFromDOM(l.anchorNode,l.anchorOffset),f=t.viewport;if(B.ios&&t.state.selection.main.empty&&a!=h&&(f.from>0||f.to<t.state.doc.length)){let c=f.from-Math.min(a,h),u=f.to-Math.max(a,h);(c==0||c==1)&&(u==0||u==-1)&&(a=0,h=t.state.doc.length)}this.newSel=V.single(h,a)}}};function Up(s,t){let e,{newSel:i}=t,n=s.state.selection.main,r=s.inputState.lastKeyTime>Date.now()-100?s.inputState.lastKeyCode:-1;if(t.bounds){let{from:o,to:l}=t.bounds,a=n.from,h=null;(r===8||B.android&&t.text.length<l-o)&&(a=n.to,h="end");let f=uw(s.state.doc.sliceString(o,l,Fs),t.text,a-o,h);f&&(B.chrome&&r==13&&f.toB==f.from+2&&t.text.slice(f.from,f.toB)==Fs+Fs&&f.toB--,e={from:o+f.from,to:o+f.toA,insert:Y.of(t.text.slice(f.from,f.toB).split(Fs))})}else i&&(!s.hasFocus&&s.state.facet(Wo)||i.main.eq(n))&&(i=null);if(!e&&!i)return!1;if(!e&&t.typeOver&&!n.empty&&i&&i.main.empty?e={from:n.from,to:n.to,insert:s.state.doc.slice(n.from,n.to)}:e&&e.from>=n.from&&e.to<=n.to&&(e.from!=n.from||e.to!=n.to)&&n.to-n.from-(e.to-e.from)<=4?e={from:n.from,to:n.to,insert:s.state.doc.slice(n.from,e.from).append(e.insert).append(s.state.doc.slice(e.to,n.to))}:(B.mac||B.android)&&e&&e.from==e.to&&e.from==n.head-1&&/^\\. ?$/.test(e.insert.toString())&&s.contentDOM.getAttribute("autocorrect")=="off"?(i&&e.insert.length==2&&(i=V.single(i.main.anchor-1,i.main.head-1)),e={from:n.from,to:n.to,insert:Y.of([" "])}):B.chrome&&e&&e.from==e.to&&e.from==n.head&&e.insert.toString()==`\n `&&s.lineWrapping&&(i&&(i=V.single(i.main.anchor-1,i.main.head-1)),e={from:n.from,to:n.to,insert:Y.of([" "])}),e){if(B.ios&&s.inputState.flushIOSKey()||B.android&&(e.from==n.from&&e.to==n.to&&e.insert.length==1&&e.insert.lines==2&&En(s.contentDOM,"Enter",13)||(e.from==n.from-1&&e.to==n.to&&e.insert.length==0||r==8&&e.insert.length<e.to-e.from&&e.to>n.head)&&En(s.contentDOM,"Backspace",8)||e.from==n.from&&e.to==n.to+1&&e.insert.length==0&&En(s.contentDOM,"Delete",46)))return!0;let o=e.insert.toString();s.inputState.composing>=0&&s.inputState.composing++;let l,a=()=>l||(l=cw(s,e,i));return s.state.facet(xp).some(h=>h(s,e.from,e.to,o,a))||s.dispatch(a()),!0}else if(i&&!i.main.eq(n)){let o=!1,l="select";return s.inputState.lastSelectionTime>Date.now()-50&&(s.inputState.lastSelectionOrigin=="select"&&(o=!0),l=s.inputState.lastSelectionOrigin),s.dispatch({selection:i,scrollIntoView:o,userEvent:l}),!0}else return!1}function cw(s,t,e){let i,n=s.state,r=n.selection.main;if(t.from>=r.from&&t.to<=r.to&&t.to-t.from>=(r.to-r.from)/3&&(!e||e.main.empty&&e.main.from==t.from+t.insert.length)&&s.inputState.composing<0){let l=r.from<t.from?n.sliceDoc(r.from,t.from):"",a=r.to>t.to?n.sliceDoc(t.to,r.to):"";i=n.replaceSelection(s.state.toText(l+t.insert.sliceString(0,void 0,s.state.lineBreak)+a))}else{let l=n.changes(t),a=e&&e.main.to<=l.newLength?e.main:void 0;if(n.selection.ranges.length>1&&s.inputState.composing>=0&&t.to<=r.to&&t.to>=r.to-10){let h=s.state.sliceDoc(t.from,t.to),f,c=e&&Ep(s,e.main.head);if(c){let p=t.insert.length-(t.to-t.from);f={from:c.from,to:c.to-p}}else f=s.state.doc.lineAt(r.head);let u=r.to-t.to,d=r.to-r.from;i=n.changeByRange(p=>{if(p.from==r.from&&p.to==r.to)return{changes:l,range:a||p.map(l)};let g=p.to-u,m=g-h.length;if(p.to-p.from!=d||s.state.sliceDoc(m,g)!=h||p.to>=f.from&&p.from<=f.to)return{range:p};let b=n.changes({from:m,to:g,insert:t.insert}),w=p.to-r.to;return{changes:b,range:a?V.range(Math.max(0,a.anchor+w),Math.max(0,a.head+w)):p.map(b)}})}else i={changes:l,selection:a&&n.selection.replaceRange(a)}}let o="input.type";return(s.composing||s.inputState.compositionPendingChange&&s.inputState.compositionEndedAt>Date.now()-50)&&(s.inputState.compositionPendingChange=!1,o+=".compose",s.inputState.compositionFirstChange&&(o+=".start",s.inputState.compositionFirstChange=!1)),n.update(i,{userEvent:o,scrollIntoView:!0})}function uw(s,t,e,i){let n=Math.min(s.length,t.length),r=0;for(;r<n&&s.charCodeAt(r)==t.charCodeAt(r);)r++;if(r==n&&s.length==t.length)return null;let o=s.length,l=t.length;for(;o>0&&l>0&&s.charCodeAt(o-1)==t.charCodeAt(l-1);)o--,l--;if(i=="end"){let a=Math.max(0,r-Math.min(o,l));e-=o+a-r}if(o<r&&s.length<t.length){let a=e<=r&&e>=o?r-e:0;r-=a,l=r+(l-o),o=r}else if(l<r){let a=e<=r&&e>=l?r-e:0;r-=a,o=r+(o-l),l=r}return{from:r,toA:o,toB:l}}function dw(s){let t=[];if(s.root.activeElement!=s.contentDOM)return t;let{anchorNode:e,anchorOffset:i,focusNode:n,focusOffset:r}=s.observer.selectionRange;return e&&(t.push(new Fo(e,i)),(n!=e||r!=i)&&t.push(new Fo(n,r))),t}function pw(s,t){if(s.length==0)return null;let e=s[0].pos,i=s.length==2?s[1].pos:e;return e>-1&&i>-1?V.single(e+t,i+t):null}var gw={childList:!0,characterData:!0,subtree:!0,attributes:!0,characterDataOldValue:!0},uh=B.ie&&B.ie_version<=11,zh=class{constructor(t){this.view=t,this.active=!1,this.selectionRange=new ph,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.parentCheck=-1,this.dom=t.contentDOM,this.observer=new MutationObserver(e=>{for(let i of e)this.queue.push(i);(B.ie&&B.ie_version<=11||B.ios&&t.composing)&&e.some(i=>i.type=="childList"&&i.removedNodes.length||i.type=="characterData"&&i.oldValue.length>i.target.nodeValue.length)?this.flushSoon():this.flush()}),uh&&(this.onCharData=e=>{this.queue.push({target:e.target,type:"characterData",oldValue:e.prevValue}),this.flushSoon()}),this.onSelectionChange=this.onSelectionChange.bind(this),this.onResize=this.onResize.bind(this),this.onPrint=this.onPrint.bind(this),this.onScroll=this.onScroll.bind(this),typeof ResizeObserver=="function"&&(this.resizeScroll=new ResizeObserver(()=>{var e;((e=this.view.docView)===null||e===void 0?void 0:e.lastUpdate)<Date.now()-75&&this.onResize()}),this.resizeScroll.observe(t.scrollDOM)),this.addWindowListeners(this.win=t.win),this.start(),typeof IntersectionObserver=="function"&&(this.intersection=new IntersectionObserver(e=>{this.parentCheck<0&&(this.parentCheck=setTimeout(this.listenForScroll.bind(this),1e3)),e.length>0&&e[e.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(e=>{e.length>0&&e[e.length-1].intersectionRatio>0&&this.onScrollChanged(document.createEvent("Event"))},{})),this.listenForScroll(),this.readSelectionRange()}onScrollChanged(t){this.view.inputState.runHandlers("scroll",t),this.intersecting&&this.view.measure()}onScroll(t){this.intersecting&&this.flush(!1),this.onScrollChanged(t)}onResize(){this.resizeTimeout<0&&(this.resizeTimeout=setTimeout(()=>{this.resizeTimeout=-1,this.view.requestMeasure()},50))}onPrint(){this.view.viewState.printing=!0,this.view.measure(),setTimeout(()=>{this.view.viewState.printing=!1,this.view.requestMeasure()},500)}updateGaps(t){if(this.gapIntersection&&(t.length!=this.gaps.length||this.gaps.some((e,i)=>e!=t[i]))){this.gapIntersection.disconnect();for(let e of t)this.gapIntersection.observe(e);this.gaps=t}}onSelectionChange(t){let e=this.selectionChanged;if(!this.readSelectionRange()||this.delayedAndroidKey)return;let{view:i}=this,n=this.selectionRange;if(i.state.facet(Wo)?i.root.activeElement!=this.dom:!Ao(i.dom,n))return;let r=n.anchorNode&&i.docView.nearest(n.anchorNode);if(r&&r.ignoreEvent(t)){e||(this.selectionChanged=!1);return}(B.ie&&B.ie_version<=11||B.android&&B.chrome)&&!i.state.selection.main.empty&&n.focusNode&&Vs(n.focusNode,n.focusOffset,n.anchorNode,n.anchorOffset)?this.flushSoon():this.flush(!1)}readSelectionRange(){let{view:t}=this,e=B.safari&&t.root.nodeType==11&&nb(this.dom.ownerDocument)==this.dom&&mw(this.view)||Eo(t.root);if(!e||this.selectionRange.eq(e))return!1;let i=Ao(this.dom,e);return i&&!this.selectionChanged&&t.inputState.lastFocusTime>Date.now()-200&&t.inputState.lastTouchTime<Date.now()-300&&ab(this.dom,e)?(this.view.inputState.lastFocusTime=0,t.docView.updateSelection(),!1):(this.selectionRange.setRange(e),i&&(this.selectionChanged=!0),!0)}setSelectionRange(t,e){this.selectionRange.set(t.node,t.offset,e.node,e.offset),this.selectionChanged=!1}clearSelectionRange(){this.selectionRange.set(null,0,null,0)}listenForScroll(){this.parentCheck=-1;let t=0,e=null;for(let i=this.dom;i;)if(i.nodeType==1)!e&&t<this.scrollTargets.length&&this.scrollTargets[t]==i?t++:e||(e=this.scrollTargets.slice(0,t)),e&&e.push(i),i=i.assignedSlot||i.parentNode;else if(i.nodeType==11)i=i.host;else break;if(t<this.scrollTargets.length&&!e&&(e=this.scrollTargets.slice(0,t)),e){for(let i of this.scrollTargets)i.removeEventListener("scroll",this.onScroll);for(let i of this.scrollTargets=e)i.addEventListener("scroll",this.onScroll)}}ignore(t){if(!this.active)return t();try{return this.stop(),t()}finally{this.start(),this.clear()}}start(){this.active||(this.observer.observe(this.dom,gw),uh&&this.dom.addEventListener("DOMCharacterDataModified",this.onCharData),this.active=!0)}stop(){this.active&&(this.active=!1,this.observer.disconnect(),uh&&this.dom.removeEventListener("DOMCharacterDataModified",this.onCharData))}clear(){this.processRecords(),this.queue.length=0,this.selectionChanged=!1}delayAndroidKey(t,e){var i;if(!this.delayedAndroidKey){let n=()=>{let r=this.delayedAndroidKey;r&&(this.clearDelayedAndroidKey(),this.view.inputState.lastKeyCode=r.keyCode,this.view.inputState.lastKeyTime=Date.now(),!this.flush()&&r.force&&En(this.dom,r.key,r.keyCode))};this.flushingAndroidKey=this.view.win.requestAnimationFrame(n)}(!this.delayedAndroidKey||t=="Enter")&&(this.delayedAndroidKey={key:t,keyCode:e,force:this.lastChange<Date.now()-50||!!(!((i=this.delayedAndroidKey)===null||i===void 0)&&i.force)})}clearDelayedAndroidKey(){this.win.cancelAnimationFrame(this.flushingAndroidKey),this.delayedAndroidKey=null,this.flushingAndroidKey=-1}flushSoon(){this.delayedFlush<0&&(this.delayedFlush=this.view.win.requestAnimationFrame(()=>{this.delayedFlush=-1,this.flush()}))}forceFlush(){this.delayedFlush>=0&&(this.view.win.cancelAnimationFrame(this.delayedFlush),this.delayedFlush=-1),this.flush()}pendingRecords(){for(let t of this.observer.takeRecords())this.queue.push(t);return this.queue}processRecords(){let t=this.pendingRecords();t.length&&(this.queue=[]);let e=-1,i=-1,n=!1;for(let r of t){let o=this.readMutation(r);o&&(o.typeOver&&(n=!0),e==-1?{from:e,to:i}=o:(e=Math.min(o.from,e),i=Math.max(o.to,i)))}return{from:e,to:i,typeOver:n}}readChange(){let{from:t,to:e,typeOver:i}=this.processRecords(),n=this.selectionChanged&&Ao(this.dom,this.selectionRange);if(t<0&&!n)return null;t>-1&&(this.lastChange=Date.now()),this.view.inputState.lastFocusTime=0,this.selectionChanged=!1;let r=new Vh(this.view,t,e,i);return this.view.docView.domChanged={newSel:r.newSel?r.newSel.main:null},r}flush(t=!0){if(this.delayedFlush>=0||this.delayedAndroidKey)return!1;t&&this.readSelectionRange();let e=this.readChange();if(!e)return this.view.requestMeasure(),!1;let i=this.view.state,n=Up(this.view,e);return this.view.state==i&&this.view.update([]),n}readMutation(t){let e=this.view.docView.nearest(t.target);if(!e||e.ignoreMutation(t))return null;if(e.markDirty(t.type=="attributes"),t.type=="attributes"&&(e.flags|=4),t.type=="childList"){let i=Jd(e,t.previousSibling||t.target.previousSibling,-1),n=Jd(e,t.nextSibling||t.target.nextSibling,1);return{from:i?e.posAfter(i):e.posAtStart,to:n?e.posBefore(n):e.posAtEnd,typeOver:!1}}else return t.type=="characterData"?{from:e.posAtStart,to:e.posAtEnd,typeOver:t.target.nodeValue==t.oldValue}:null}setWindow(t){t!=this.win&&(this.removeWindowListeners(this.win),this.win=t,this.addWindowListeners(this.win))}addWindowListeners(t){t.addEventListener("resize",this.onResize),t.addEventListener("beforeprint",this.onPrint),t.addEventListener("scroll",this.onScroll),t.document.addEventListener("selectionchange",this.onSelectionChange)}removeWindowListeners(t){t.removeEventListener("scroll",this.onScroll),t.removeEventListener("resize",this.onResize),t.removeEventListener("beforeprint",this.onPrint),t.document.removeEventListener("selectionchange",this.onSelectionChange)}destroy(){var t,e,i;this.stop(),(t=this.intersection)===null||t===void 0||t.disconnect(),(e=this.gapIntersection)===null||e===void 0||e.disconnect(),(i=this.resizeScroll)===null||i===void 0||i.disconnect();for(let n of this.scrollTargets)n.removeEventListener("scroll",this.onScroll);this.removeWindowListeners(this.win),clearTimeout(this.parentCheck),clearTimeout(this.resizeTimeout),this.win.cancelAnimationFrame(this.delayedFlush),this.win.cancelAnimationFrame(this.flushingAndroidKey)}};function Jd(s,t,e){for(;t;){let i=ht.get(t);if(i&&i.parent==s)return i;let n=t.parentNode;t=n!=s.dom?n:e>0?t.nextSibling:t.previousSibling}return null}function mw(s){let t=null;function e(a){a.preventDefault(),a.stopImmediatePropagation(),t=a.getTargetRanges()[0]}if(s.contentDOM.addEventListener("beforeinput",e,!0),s.dom.ownerDocument.execCommand("indent"),s.contentDOM.removeEventListener("beforeinput",e,!0),!t)return null;let i=t.startContainer,n=t.startOffset,r=t.endContainer,o=t.endOffset,l=s.docView.domAtPos(s.state.selection.main.anchor);return Vs(l.node,l.offset,r,o)&&([i,n,r,o]=[r,o,i,n]),{anchorNode:i,anchorOffset:n,focusNode:r,focusOffset:o}}var et=class s{get state(){return this.viewState.state}get viewport(){return this.viewState.viewport}get visibleRanges(){return this.viewState.visibleRanges}get inView(){return this.viewState.inView}get composing(){return this.inputState.composing>0}get compositionStarted(){return this.inputState.composing>=0}get root(){return this._root}get win(){return this.dom.ownerDocument.defaultView||window}constructor(t={}){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),t.parent&&t.parent.appendChild(this.dom);let{dispatch:e}=t;this.dispatchTransactions=t.dispatchTransactions||e&&(i=>i.forEach(n=>e(n,this)))||(i=>this.update(i)),this.dispatch=this.dispatch.bind(this),this._root=t.root||lb(t.parent)||document,this.viewState=new Ho(t.state||pt.create(t)),t.scrollTo&&t.scrollTo.is(ko)&&(this.viewState.scrollTarget=t.scrollTo.value.clip(this.viewState.state)),this.plugins=this.state.facet(Ns).map(i=>new Gs(i));for(let i of this.plugins)i.update(this);this.observer=new zh(this),this.inputState=new Th(this),this.inputState.ensureHandlers(this.plugins),this.docView=new Bo(this),this.mountStyles(),this.updateAttrs(),this.updateState=0,this.requestMeasure()}dispatch(...t){let e=t.length==1&&t[0]instanceof qt?t:t.length==1&&Array.isArray(t[0])?t[0]:[this.state.update(...t)];this.dispatchTransactions(e,this)}update(t){if(this.updateState!=0)throw new Error("Calls to EditorView.update are not allowed while an update is in progress");let e=!1,i=!1,n,r=this.state;for(let u of t){if(u.startState!=r)throw new RangeError("Trying to update state with a transaction that doesn\'t start from the previous state.");r=u.state}if(this.destroyed){this.viewState.state=r;return}let o=this.hasFocus,l=0,a=null;t.some(u=>u.annotation(Hp))?(this.inputState.notifiedFocused=o,l=1):o!=this.inputState.notifiedFocused&&(this.inputState.notifiedFocused=o,a=Fp(r,o),a||(l=1));let h=this.observer.delayedAndroidKey,f=null;if(h?(this.observer.clearDelayedAndroidKey(),f=this.observer.readChange(),(f&&!this.state.doc.eq(r.doc)||!this.state.selection.eq(r.selection))&&(f=null)):this.observer.clear(),r.facet(pt.phrases)!=this.state.facet(pt.phrases))return this.setState(r);n=Io.create(this,r,t),n.flags|=l;let c=this.viewState.scrollTarget;try{this.updateState=2;for(let u of t){if(c&&(c=c.map(u.changes)),u.scrollIntoView){let{main:d}=u.state.selection;c=new Ws(d.empty?d:V.cursor(d.head,d.head>d.anchor?-1:1))}for(let d of u.effects)d.is(ko)&&(c=d.value.clip(this.state))}this.viewState.update(n,c),this.bidiCache=Vo.update(this.bidiCache,n.changes),n.empty||(this.updatePlugins(n),this.inputState.update(n)),e=this.docView.update(n),this.state.facet(Ls)!=this.styleModules&&this.mountStyles(),i=this.updateAttrs(),this.showAnnouncements(t),this.docView.updateSelection(e,t.some(u=>u.isUserEvent("select.pointer")))}finally{this.updateState=0}if(n.startState.facet(To)!=n.state.facet(To)&&(this.viewState.mustMeasureContent=!0),(e||i||c||this.viewState.mustEnforceCursorAssoc||this.viewState.mustMeasureContent)&&this.requestMeasure(),!n.empty)for(let u of this.state.facet(Ch))try{u(n)}catch(d){ii(this.state,d,"update listener")}(a||f)&&Promise.resolve().then(()=>{a&&this.state==a.startState&&this.dispatch(a),f&&!Up(this,f)&&h.force&&En(this.contentDOM,h.key,h.keyCode)})}setState(t){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=t;return}this.updateState=2;let e=this.hasFocus;try{for(let i of this.plugins)i.destroy(this);this.viewState=new Ho(t),this.plugins=t.facet(Ns).map(i=>new Gs(i)),this.pluginMap.clear();for(let i of this.plugins)i.update(this);this.docView.destroy(),this.docView=new Bo(this),this.inputState.ensureHandlers(this.plugins),this.mountStyles(),this.updateAttrs(),this.bidiCache=[]}finally{this.updateState=0}e&&this.focus(),this.requestMeasure()}updatePlugins(t){let e=t.startState.facet(Ns),i=t.state.facet(Ns);if(e!=i){let n=[];for(let r of i){let o=e.indexOf(r);if(o<0)n.push(new Gs(r));else{let l=this.plugins[o];l.mustUpdate=t,n.push(l)}}for(let r of this.plugins)r.mustUpdate!=t&&r.destroy(this);this.plugins=n,this.pluginMap.clear()}else for(let n of this.plugins)n.mustUpdate=t;for(let n=0;n<this.plugins.length;n++)this.plugins[n].update(this);e!=i&&this.inputState.ensureHandlers(this.plugins)}measure(t=!0){if(this.destroyed)return;if(this.measureScheduled>-1&&this.win.cancelAnimationFrame(this.measureScheduled),this.observer.delayedAndroidKey){this.measureScheduled=-1,this.requestMeasure();return}this.measureScheduled=0,t&&this.observer.forceFlush();let e=null,i=this.scrollDOM,n=i.scrollTop*this.scaleY,{scrollAnchorPos:r,scrollAnchorHeight:o}=this.viewState;Math.abs(n-this.viewState.scrollTop)>1&&(o=-1),this.viewState.scrollAnchorHeight=-1;try{for(let l=0;;l++){if(o<0)if(sp(i))r=-1,o=this.viewState.heightMap.height;else{let d=this.viewState.scrollAnchorAt(n);r=d.from,o=d.top}this.updateState=1;let a=this.viewState.measure(this);if(!a&&!this.measureRequests.length&&this.viewState.scrollTarget==null)break;if(l>5){console.warn(this.measureRequests.length?"Measure loop restarted more than 5 times":"Viewport failed to stabilize");break}let h=[];a&4||([this.measureRequests,h]=[h,this.measureRequests]);let f=h.map(d=>{try{return d.read(this)}catch(p){return ii(this.state,p),Qd}}),c=Io.create(this,this.state,[]),u=!1;c.flags|=a,e?e.flags|=a:e=c,this.updateState=2,c.empty||(this.updatePlugins(c),this.inputState.update(c),this.updateAttrs(),u=this.docView.update(c));for(let d=0;d<h.length;d++)if(f[d]!=Qd)try{let p=h[d];p.write&&p.write(f[d],this)}catch(p){ii(this.state,p)}if(u&&this.docView.updateSelection(!0),!c.viewportChanged&&this.measureRequests.length==0){if(this.viewState.editorHeight)if(this.viewState.scrollTarget){this.docView.scrollIntoView(this.viewState.scrollTarget),this.viewState.scrollTarget=null,o=-1;continue}else{let p=(r<0?this.viewState.heightMap.height:this.viewState.lineBlockAt(r).top)-o;if(p>1||p<-1){n=n+p,i.scrollTop=n/this.scaleY,o=-1;continue}}break}}}finally{this.updateState=0,this.measureScheduled=-1}if(e&&!e.empty)for(let l of this.state.facet(Ch))l(e)}get themeClasses(){return Lh+" "+(this.state.facet(Nh)?Wp:zp)+" "+this.state.facet(To)}updateAttrs(){let t=Zd(this,Mp,{class:"cm-editor"+(this.hasFocus?" cm-focused ":" ")+this.themeClasses}),e={spellcheck:"false",autocorrect:"off",autocapitalize:"off",translate:"no",contenteditable:this.state.facet(Wo)?"true":"false",class:"cm-content",style:`${B.tabSize}: ${this.state.tabSize}`,role:"textbox","aria-multiline":"true"};this.state.readOnly&&(e["aria-readonly"]="true"),Zd(this,qh,e);let i=this.observer.ignore(()=>{let n=yh(this.contentDOM,this.contentAttrs,e),r=yh(this.dom,this.editorAttrs,t);return n||r});return this.editorAttrs=t,this.contentAttrs=e,i}showAnnouncements(t){let e=!0;for(let i of t)for(let n of i.effects)if(n.is(s.announce)){e&&(this.announceDOM.textContent=""),e=!1;let r=this.announceDOM.appendChild(document.createElement("div"));r.textContent=n.value}}mountStyles(){this.styleModules=this.state.facet(Ls);let t=this.state.facet(s.cspNonce);ue.mount(this.root,this.styleModules.concat(hw).reverse(),t?{nonce:t}: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(t){if(this.measureScheduled<0&&(this.measureScheduled=this.win.requestAnimationFrame(()=>this.measure())),t){if(this.measureRequests.indexOf(t)>-1)return;if(t.key!=null){for(let e=0;e<this.measureRequests.length;e++)if(this.measureRequests[e].key===t.key){this.measureRequests[e]=t;return}}this.measureRequests.push(t)}}plugin(t){let e=this.pluginMap.get(t);return(e===void 0||e&&e.spec!=t)&&this.pluginMap.set(t,e=this.plugins.find(i=>i.spec==t)||null),e&&e.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(t){return this.readMeasured(),this.viewState.elementAtHeight(t)}lineBlockAtHeight(t){return this.readMeasured(),this.viewState.lineBlockAtHeight(t)}get viewportLineBlocks(){return this.viewState.viewportLines}lineBlockAt(t){return this.viewState.lineBlockAt(t)}get contentHeight(){return this.viewState.contentHeight}moveByChar(t,e,i){return ch(this,t,Ld(this,t,e,i))}moveByGroup(t,e){return ch(this,t,Ld(this,t,e,i=>Fb(this,t.head,i)))}visualLineSide(t,e){let i=this.bidiSpans(t),n=this.textDirectionAt(t.from),r=i[e?i.length-1:0];return V.cursor(r.side(e,n)+t.from,r.forward(!e,n)?1:-1)}moveToLineBoundary(t,e,i=!0){return Hb(this,t,e,i)}moveVertically(t,e,i){return ch(this,t,Vb(this,t,e,i))}domAtPos(t){return this.docView.domAtPos(t)}posAtDOM(t,e=0){return this.docView.posFromDOM(t,e)}posAtCoords(t,e=!0){return this.readMeasured(),Pp(this,t,e)}coordsAtPos(t,e=1){this.readMeasured();let i=this.docView.coordsAt(t,e);if(!i||i.left==i.right)return i;let n=this.state.doc.lineAt(t),r=this.bidiSpans(n),o=r[Ve.find(r,t-n.from,-1,e)];return Wh(i,o.dir==Ct.LTR==e>0)}coordsForChar(t){return this.readMeasured(),this.docView.coordsForChar(t)}get defaultCharacterWidth(){return this.viewState.heightOracle.charWidth}get defaultLineHeight(){return this.viewState.heightOracle.lineHeight}get textDirection(){return this.viewState.defaultTextDirection}textDirectionAt(t){return!this.state.facet(Cp)||t<this.viewport.from||t>this.viewport.to?this.textDirection:(this.readMeasured(),this.docView.textDirectionAt(t))}get lineWrapping(){return this.viewState.heightOracle.lineWrapping}bidiSpans(t){if(t.length>bw)return mp(t.length);let e=this.textDirectionAt(t.from),i;for(let r of this.bidiCache)if(r.from==t.from&&r.dir==e&&(r.fresh||gp(r.isolates,i=Pd(this,t))))return r.order;i||(i=Pd(this,t));let n=vb(t.text,e,i);return this.bidiCache.push(new Vo(t.from,t.to,e,i,!0,n)),n}get hasFocus(){var t;return(this.dom.ownerDocument.hasFocus()||B.safari&&((t=this.inputState)===null||t===void 0?void 0:t.lastContextMenu)>Date.now()-3e4)&&this.root.activeElement==this.contentDOM}focus(){this.observer.ignore(()=>{ip(this.contentDOM),this.docView.updateSelection()})}setRoot(t){this._root!=t&&(this._root=t,this.observer.setWindow((t.nodeType==9?t:t.ownerDocument).defaultView||window),this.mountStyles())}destroy(){for(let t of this.plugins)t.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(t,e={}){return ko.of(new Ws(typeof t=="number"?V.cursor(t):t,e.y,e.x,e.yMargin,e.xMargin))}scrollSnapshot(){let{scrollTop:t,scrollLeft:e}=this.scrollDOM,i=this.viewState.scrollAnchorAt(t);return ko.of(new Ws(V.cursor(i.from),"start","start",i.top-t,e,!0))}static domEventHandlers(t){return Rn.define(()=>({}),{eventHandlers:t})}static domEventObservers(t){return Rn.define(()=>({}),{eventObservers:t})}static theme(t,e){let i=ue.newName(),n=[To.of(i),Ls.of(Hh(`.${i}`,t))];return e&&e.dark&&n.push(Nh.of(!0)),n}static baseTheme(t){return rh.lowest(Ls.of(Hh("."+Lh,t,Gp)))}static findFromDOM(t){var e;let i=t.querySelector(".cm-content"),n=i&&ht.get(i)||ht.get(t);return((e=n==null?void 0:n.rootView)===null||e===void 0?void 0:e.view)||null}};et.styleModule=Ls;et.inputHandler=xp;et.focusChangeEffect=Sp;et.perLineTextDirection=Cp;et.exceptionSink=kp;et.updateListener=Ch;et.editable=Wo;et.mouseSelectionStyle=vp;et.dragMovesSelection=yp;et.clickAddsSelectionRange=wp;et.decorations=Xs;et.outerDecorations=Tp;et.atomicRanges=$h;et.bidiIsolatedRanges=Ap;et.scrollMargins=Op;et.darkTheme=Nh;et.cspNonce=U.define({combine:s=>s.length?s[0]:""});et.contentAttributes=qh;et.editorAttributes=Mp;et.lineWrapping=et.contentAttributes.of({class:"cm-lineWrapping"});et.announce=wt.define();var bw=4096,Qd={},Vo=class s{constructor(t,e,i,n,r,o){this.from=t,this.to=e,this.dir=i,this.isolates=n,this.fresh=r,this.order=o}static update(t,e){if(e.empty&&!t.some(r=>r.fresh))return t;let i=[],n=t.length?t[t.length-1].dir:Ct.LTR;for(let r=Math.max(0,t.length-10);r<t.length;r++){let o=t[r];o.dir==n&&!e.touchesRange(o.from,o.to)&&i.push(new s(e.mapPos(o.from,1),e.mapPos(o.to,-1),o.dir,o.isolates,!1,o.order))}return i}};function Zd(s,t,e){for(let i=s.state.facet(t),n=i.length-1;n>=0;n--){let r=i[n],o=typeof r=="function"?r(s):r;o&&wh(o,e)}return e}var a1=B.mac?"mac":B.windows?"win":B.linux?"linux":"key";var ww=!B.ios;var tp={".cm-line":{"& ::selection":{backgroundColor:"transparent !important"},"&::selection":{backgroundColor:"transparent !important"}}};ww&&(tp[".cm-line"].caretColor="transparent !important",tp[".cm-content"]={caretColor:"transparent !important"});var h1=/x/.unicode!=null?"gu":"g";var f1=et.baseTheme({".cm-tooltip":{zIndex:100,boxSizing:"border-box"},"&light .cm-tooltip":{border:"1px solid #bbb",backgroundColor:"#f5f5f5"},"&light .cm-tooltip-section:not(:first-child)":{borderTop:"1px solid #bbb"},"&dark .cm-tooltip":{backgroundColor:"#333338",color:"white"},".cm-tooltip-arrow":{height:"7px",width:`${7*2}px`,position:"absolute",zIndex:-1,overflow:"hidden","&:before, &:after":{content:"\'\'",position:"absolute",width:0,height:0,borderLeft:"7px solid transparent",borderRight:"7px solid transparent"},".cm-tooltip-above &":{bottom:"-7px","&:before":{borderTop:"7px solid #bbb"},"&:after":{borderTop:"7px solid #f5f5f5",bottom:"1px"}},".cm-tooltip-below &":{top:"-7px","&:before":{borderBottom:"7px solid #bbb"},"&:after":{borderBottom:"7px solid #f5f5f5",top:"1px"}}},"&dark .cm-tooltip .cm-tooltip-arrow":{"&:before":{borderTopColor:"#333338",borderBottomColor:"#333338"},"&:after":{borderTopColor:"transparent",borderBottomColor:"transparent"}}});var si=class extends ti{compare(t){return this==t||this.constructor==t.constructor&&this.eq(t)}eq(t){return!1}destroy(t){}};si.prototype.elementClass="";si.prototype.toDOM=void 0;si.prototype.mapMode=jt.TrackBefore;si.prototype.startSide=si.prototype.endSide=-1;si.prototype.point=!0;var yw=0,je=class s{constructor(t,e,i){this.set=t,this.base=e,this.modified=i,this.id=yw++}static define(t){if(t!=null&&t.base)throw new Error("Can not derive from a modified tag");let e=new s([],null,[]);if(e.set.push(e),t)for(let i of t.set)e.set.push(i);return e}static defineModifier(){let t=new qo;return e=>e.modified.indexOf(t)>-1?e:qo.get(e.base||e,e.modified.concat(t).sort((i,n)=>i.id-n.id))}},vw=0,qo=class s{constructor(){this.instances=[],this.id=vw++}static get(t,e){if(!e.length)return t;let i=e[0].instances.find(l=>l.base==t&&kw(e,l.modified));if(i)return i;let n=[],r=new je(n,t,e);for(let l of e)l.instances.push(r);let o=xw(e);for(let l of t.set)if(!l.modified.length)for(let a of o)n.push(s.get(l,a));return r}};function kw(s,t){return s.length==t.length&&s.every((e,i)=>e==t[i])}function xw(s){let t=[[]];for(let e=0;e<s.length;e++)for(let i=0,n=t.length;i<n;i++)t.push(t[i].concat(s[e]));return t.sort((e,i)=>i.length-e.length)}function $p(s){let t=Object.create(null);for(let e in s){let i=s[e];Array.isArray(i)||(i=[i]);for(let n of e.split(" "))if(n){let r=[],o=2,l=n;for(let c=0;;){if(l=="..."&&c>0&&c+3==n.length){o=1;break}let u=/^"(?:[^"\\\\]|\\\\.)*?"|[^\\/!]+/.exec(l);if(!u)throw new RangeError("Invalid path: "+n);if(r.push(u[0]=="*"?"":u[0][0]==\'"\'?JSON.parse(u[0]):u[0]),c+=u[0].length,c==n.length)break;let d=n[c++];if(c==n.length&&d=="!"){o=0;break}if(d!="/")throw new RangeError("Invalid path: "+n);l=n.slice(c)}let a=r.length-1,h=r[a];if(!h)throw new RangeError("Invalid path: "+n);let f=new Qs(i,o,a>0?r.slice(0,a):null);t[h]=f.sort(t[h])}}return Sw.add(t)}var Sw=new q,Qs=class{constructor(t,e,i,n){this.tags=t,this.mode=e,this.context=i,this.next=n}get opaque(){return this.mode==0}get inherit(){return this.mode==1}sort(t){return!t||t.depth<this.depth?(this.next=t,this):(t.next=this.sort(t.next),t)}get depth(){return this.context?this.context.length:0}};Qs.empty=new Qs([],2,null);function Xh(s,t){let e=Object.create(null);for(let r of s)if(!Array.isArray(r.tag))e[r.tag.id]=r.class;else for(let o of r.tag)e[o.id]=r.class;let{scope:i,all:n=null}=t||{};return{style:r=>{let o=n;for(let l of r)for(let a of l.set){let h=e[a.id];if(h){o=o?o+" "+h:h;break}}return o},scope:i}}var A=je.define,Go=A(),Ti=A(),jp=A(Ti),qp=A(Ti),Ai=A(),Uo=A(Ai),Kh=A(Ai),Ue=A(),Qi=A(Ue),We=A(),Ge=A(),Yh=A(),Js=A(Yh),jo=A(),_={comment:Go,lineComment:A(Go),blockComment:A(Go),docComment:A(Go),name:Ti,variableName:A(Ti),typeName:jp,tagName:A(jp),propertyName:qp,attributeName:A(qp),className:A(Ti),labelName:A(Ti),namespace:A(Ti),macroName:A(Ti),literal:Ai,string:Uo,docString:A(Uo),character:A(Uo),attributeValue:A(Uo),number:Kh,integer:A(Kh),float:A(Kh),bool:A(Ai),regexp:A(Ai),escape:A(Ai),color:A(Ai),url:A(Ai),keyword:We,self:A(We),null:A(We),atom:A(We),unit:A(We),modifier:A(We),operatorKeyword:A(We),controlKeyword:A(We),definitionKeyword:A(We),moduleKeyword:A(We),operator:Ge,derefOperator:A(Ge),arithmeticOperator:A(Ge),logicOperator:A(Ge),bitwiseOperator:A(Ge),compareOperator:A(Ge),updateOperator:A(Ge),definitionOperator:A(Ge),typeOperator:A(Ge),controlOperator:A(Ge),punctuation:Yh,separator:A(Yh),bracket:Js,angleBracket:A(Js),squareBracket:A(Js),paren:A(Js),brace:A(Js),content:Ue,heading:Qi,heading1:A(Qi),heading2:A(Qi),heading3:A(Qi),heading4:A(Qi),heading5:A(Qi),heading6:A(Qi),contentSeparator:A(Ue),list:A(Ue),quote:A(Ue),emphasis:A(Ue),strong:A(Ue),link:A(Ue),monospace:A(Ue),strikethrough:A(Ue),inserted:A(),deleted:A(),changed:A(),invalid:A(),meta:jo,documentMeta:A(jo),annotation:A(jo),processingInstruction:A(jo),definition:je.defineModifier(),constant:je.defineModifier(),function:je.defineModifier(),standard:je.defineModifier(),local:je.defineModifier(),special:je.defineModifier()},d1=Xh([{tag:_.link,class:"tok-link"},{tag:_.heading,class:"tok-heading"},{tag:_.emphasis,class:"tok-emphasis"},{tag:_.strong,class:"tok-strong"},{tag:_.keyword,class:"tok-keyword"},{tag:_.atom,class:"tok-atom"},{tag:_.bool,class:"tok-bool"},{tag:_.url,class:"tok-url"},{tag:_.labelName,class:"tok-labelName"},{tag:_.inserted,class:"tok-inserted"},{tag:_.deleted,class:"tok-deleted"},{tag:_.literal,class:"tok-literal"},{tag:_.string,class:"tok-string"},{tag:_.number,class:"tok-number"},{tag:[_.regexp,_.escape,_.special(_.string)],class:"tok-string2"},{tag:_.variableName,class:"tok-variableName"},{tag:_.local(_.variableName),class:"tok-variableName tok-local"},{tag:_.definition(_.variableName),class:"tok-variableName tok-definition"},{tag:_.special(_.variableName),class:"tok-variableName2"},{tag:_.definition(_.propertyName),class:"tok-propertyName tok-definition"},{tag:_.typeName,class:"tok-typeName"},{tag:_.namespace,class:"tok-namespace"},{tag:_.className,class:"tok-className"},{tag:_.macroName,class:"tok-macroName"},{tag:_.propertyName,class:"tok-propertyName"},{tag:_.operator,class:"tok-operator"},{tag:_.comment,class:"tok-comment"},{tag:_.meta,class:"tok-meta"},{tag:_.invalid,class:"tok-invalid"},{tag:_.punctuation,class:"tok-punctuation"}]);var Jh,In=new q;function Cw(s){return U.define({combine:s?t=>t.concat(s):void 0})}var Mw=new q,se=class{constructor(t,e,i=[],n=""){this.data=t,this.name=n,pt.prototype.hasOwnProperty("tree")||Object.defineProperty(pt.prototype,"tree",{get(){return tf(this)}}),this.parser=e,this.extension=[Bn.of(this),pt.languageData.of((r,o,l)=>{let a=Kp(r,o,l),h=a.type.prop(In);if(!h)return[];let f=r.facet(h),c=a.type.prop(Mw);if(c){let u=a.resolve(o-a.from,l);for(let d of c)if(d.test(u,r)){let p=r.facet(d.facet);return d.type=="replace"?p:p.concat(f)}}return f})].concat(i)}isActiveAt(t,e,i=-1){return Kp(t,e,i).type.prop(In)==this.data}findRegions(t){let e=t.facet(Bn);if((e==null?void 0:e.data)==this.data)return[{from:0,to:t.doc.length}];if(!e||!e.allowsNesting)return[];let i=[],n=(r,o)=>{if(r.prop(In)==this.data){i.push({from:o,to:o+r.length});return}let l=r.prop(q.mounted);if(l){if(l.tree.prop(In)==this.data){if(l.overlay)for(let a of l.overlay)i.push({from:a.from+o,to:a.to+o});else i.push({from:o,to:o+r.length});return}else if(l.overlay){let a=i.length;if(n(l.tree,l.overlay[0].from+o),i.length>a)return}}for(let a=0;a<r.children.length;a++){let h=r.children[a];h instanceof dt&&n(h,r.positions[a]+o)}};return n(tf(t),0),i}get allowsNesting(){return!0}};se.setState=wt.define();function Kp(s,t,e){let i=s.facet(Bn),n=tf(s).topNode;if(!i||i.allowsNesting)for(let r=n;r;r=r.enter(t,e,bt.ExcludeBuffers))r.type.isTop&&(n=r);return n}var $o=class s extends se{constructor(t,e,i){super(t,e,[],i),this.parser=e}static define(t){let e=Cw(t.languageData);return new s(e,t.parser.configure({props:[In.add(i=>i.isTop?e:void 0)]}),t.name)}configure(t,e){return new s(this.data,this.parser.configure(t),e||this.name)}get allowsNesting(){return this.parser.hasWrappers()}};function tf(s){let t=s.field(se.state,!1);return t?t.tree:dt.empty}var ef=class{constructor(t){this.doc=t,this.cursorPos=0,this.string="",this.cursor=t.iter()}get length(){return this.doc.length}syncTo(t){return this.string=this.cursor.next(t-this.cursorPos).value,this.cursorPos=t+this.string.length,this.cursorPos-this.string.length}chunk(t){return this.syncTo(t),this.string}get lineChunks(){return!0}read(t,e){let i=this.cursorPos-this.string.length;return t<i||e>=this.cursorPos?this.doc.sliceString(t,e):this.string.slice(t-i,e-i)}},Zs=null,nf=class s{constructor(t,e,i=[],n,r,o,l,a){this.parser=t,this.state=e,this.fragments=i,this.tree=n,this.treeLen=r,this.viewport=o,this.skipped=l,this.scheduleOn=a,this.parse=null,this.tempSkipped=[]}static create(t,e,i){return new s(t,e,[],dt.empty,0,i,[],null)}startParse(){return this.parser.startParse(new ef(this.state.doc),this.fragments)}work(t,e){return e!=null&&e>=this.state.doc.length&&(e=void 0),this.tree!=dt.empty&&this.isDone(e!=null?e:this.state.doc.length)?(this.takeTree(),!0):this.withContext(()=>{var i;if(typeof t=="number"){let n=Date.now()+t;t=()=>Date.now()>n}for(this.parse||(this.parse=this.startParse()),e!=null&&(this.parse.stoppedAt==null||this.parse.stoppedAt>e)&&e<this.state.doc.length&&this.parse.stopAt(e);;){let n=this.parse.advance();if(n)if(this.fragments=this.withoutTempSkipped(Gi.addTree(n,this.fragments,this.parse.stoppedAt!=null)),this.treeLen=(i=this.parse.stoppedAt)!==null&&i!==void 0?i:this.state.doc.length,this.tree=n,this.parse=null,this.treeLen<(e!=null?e:this.state.doc.length))this.parse=this.startParse();else return!0;if(t())return!1}})}takeTree(){let t,e;this.parse&&(t=this.parse.parsedPos)>=this.treeLen&&((this.parse.stoppedAt==null||this.parse.stoppedAt>t)&&this.parse.stopAt(t),this.withContext(()=>{for(;!(e=this.parse.advance()););}),this.treeLen=t,this.tree=e,this.fragments=this.withoutTempSkipped(Gi.addTree(this.tree,this.fragments,!0)),this.parse=null)}withContext(t){let e=Zs;Zs=this;try{return t()}finally{Zs=e}}withoutTempSkipped(t){for(let e;e=this.tempSkipped.pop();)t=Yp(t,e.from,e.to);return t}changes(t,e){let{fragments:i,tree:n,treeLen:r,viewport:o,skipped:l}=this;if(this.takeTree(),!t.empty){let a=[];if(t.iterChangedRanges((h,f,c,u)=>a.push({fromA:h,toA:f,fromB:c,toB:u})),i=Gi.applyChanges(i,a),n=dt.empty,r=0,o={from:t.mapPos(o.from,-1),to:t.mapPos(o.to,1)},this.skipped.length){l=[];for(let h of this.skipped){let f=t.mapPos(h.from,1),c=t.mapPos(h.to,-1);f<c&&l.push({from:f,to:c})}}}return new s(this.parser,e,i,n,r,o,l,this.scheduleOn)}updateViewport(t){if(this.viewport.from==t.from&&this.viewport.to==t.to)return!1;this.viewport=t;let e=this.skipped.length;for(let i=0;i<this.skipped.length;i++){let{from:n,to:r}=this.skipped[i];n<t.to&&r>t.from&&(this.fragments=Yp(this.fragments,n,r),this.skipped.splice(i--,1))}return this.skipped.length>=e?!1:(this.reset(),!0)}reset(){this.parse&&(this.takeTree(),this.parse=null)}skipUntilInView(t,e){this.skipped.push({from:t,to:e})}static getSkippingParser(t){return new class extends vn{createParse(e,i,n){let r=n[0].from,o=n[n.length-1].to;return{parsedPos:r,advance(){let a=Zs;if(a){for(let h of n)a.tempSkipped.push(h);t&&(a.scheduleOn=a.scheduleOn?Promise.all([a.scheduleOn,t]):t)}return this.parsedPos=o,new dt(It.none,[],[],o-r)},stoppedAt:null,stopAt(){}}}}}isDone(t){t=Math.min(t,this.state.doc.length);let e=this.fragments;return this.treeLen>=t&&e.length&&e[0].from==0&&e[0].to>=t}static get(){return Zs}};function Yp(s,t,e){return Gi.applyChanges(s,[{fromA:t,toA:e,fromB:t,toB:e}])}var tr=class s{constructor(t){this.context=t,this.tree=t.tree}apply(t){if(!t.docChanged&&this.tree==this.context.tree)return this;let e=this.context.changes(t.changes,t.state),i=this.context.treeLen==t.startState.doc.length?void 0:Math.max(t.changes.mapPos(this.context.treeLen),e.viewport.to);return e.work(20,i)||e.takeTree(),new s(e)}static init(t){let e=Math.min(3e3,t.doc.length),i=nf.create(t.facet(Bn).parser,t,{from:0,to:e});return i.work(20,e)||i.takeTree(),new s(i)}};se.state=Qe.define({create:tr.init,update(s,t){for(let e of t.effects)if(e.is(se.setState))return e.value;return t.startState.facet(Bn)!=t.state.facet(Bn)?tr.init(t.state):s.apply(t)}});var Zp=s=>{let t=setTimeout(()=>s(),500);return()=>clearTimeout(t)};typeof requestIdleCallback!="undefined"&&(Zp=s=>{let t=-1,e=setTimeout(()=>{t=requestIdleCallback(s,{timeout:400})},100);return()=>t<0?clearTimeout(e):cancelIdleCallback(t)});var Qh=typeof navigator!="undefined"&&(!((Jh=navigator.scheduling)===null||Jh===void 0)&&Jh.isInputPending)?()=>navigator.scheduling.isInputPending():null,Tw=Rn.fromClass(class{constructor(t){this.view=t,this.working=null,this.workScheduled=0,this.chunkEnd=-1,this.chunkBudget=-1,this.work=this.work.bind(this),this.scheduleWork()}update(t){let e=this.view.state.field(se.state).context;(e.updateViewport(t.view.viewport)||this.view.viewport.to>e.treeLen)&&this.scheduleWork(),(t.docChanged||t.selectionSet)&&(this.view.hasFocus&&(this.chunkBudget+=50),this.scheduleWork()),this.checkAsyncSchedule(e)}scheduleWork(){if(this.working)return;let{state:t}=this.view,e=t.field(se.state);(e.tree!=e.context.tree||!e.context.isDone(t.doc.length))&&(this.working=Zp(this.work))}work(t){this.working=null;let e=Date.now();if(this.chunkEnd<e&&(this.chunkEnd<0||this.view.hasFocus)&&(this.chunkEnd=e+3e4,this.chunkBudget=3e3),this.chunkBudget<=0)return;let{state:i,viewport:{to:n}}=this.view,r=i.field(se.state);if(r.tree==r.context.tree&&r.context.isDone(n+1e5))return;let o=Date.now()+Math.min(this.chunkBudget,100,t&&!Qh?Math.max(25,t.timeRemaining()-5):1e9),l=r.context.treeLen<n&&i.doc.length>n+1e3,a=r.context.work(()=>Qh&&Qh()||Date.now()>o,n+(l?0:1e5));this.chunkBudget-=Date.now()-e,(a||this.chunkBudget<=0)&&(r.context.takeTree(),this.view.dispatch({effects:se.setState.of(new tr(r.context))})),this.chunkBudget>0&&!(a&&!l)&&this.scheduleWork(),this.checkAsyncSchedule(r.context)}checkAsyncSchedule(t){t.scheduleOn&&(this.workScheduled++,t.scheduleOn.then(()=>this.scheduleWork()).catch(e=>ii(this.view.state,e)).then(()=>this.workScheduled--),t.scheduleOn=null)}destroy(){this.working&&this.working()}isWorking(){return!!(this.working||this.workScheduled>0)}},{eventHandlers:{focus(){this.scheduleWork()}}}),Bn=U.define({combine(s){return s.length?s[0]:null},enables:s=>[se.state,Tw,et.contentAttributes.compute([s],t=>{let e=t.facet(s);return e&&e.name?{"data-language":e.name}:{}})]});var sf=class s{constructor(t,e){this.specs=t;let i;function n(l){let a=ue.newName();return(i||(i=Object.create(null)))["."+a]=l,a}let r=typeof e.all=="string"?e.all:e.all?n(e.all):void 0,o=e.scope;this.scope=o instanceof se?l=>l.prop(In)==o.data:o?l=>l==o:void 0,this.style=Xh(t.map(l=>({tag:l.tag,class:l.class||n(Object.assign({},l,{tag:null}))})),{all:r}).style,this.module=i?new ue(i):null,this.themeType=e.themeType}static define(t,e){return new s(t,e||{})}};var S1=sf.define([{tag:_.meta,color:"#404740"},{tag:_.link,textDecoration:"underline"},{tag:_.heading,textDecoration:"underline",fontWeight:"bold"},{tag:_.emphasis,fontStyle:"italic"},{tag:_.strong,fontWeight:"bold"},{tag:_.strikethrough,textDecoration:"line-through"},{tag:_.keyword,color:"#708"},{tag:[_.atom,_.bool,_.url,_.contentSeparator,_.labelName],color:"#219"},{tag:[_.literal,_.inserted],color:"#164"},{tag:[_.string,_.deleted],color:"#a11"},{tag:[_.regexp,_.escape,_.special(_.string)],color:"#e40"},{tag:_.definition(_.variableName),color:"#00f"},{tag:_.local(_.variableName),color:"#30a"},{tag:[_.typeName,_.namespace],color:"#085"},{tag:_.className,color:"#167"},{tag:[_.special(_.variableName),_.macroName],color:"#256"},{tag:_.definition(_.propertyName),color:"#00c"},{tag:_.comment,color:"#940"},{tag:_.invalid,color:"#f00"}]);var Aw=Object.create(null),Xp=[It.none];var Jp=[],Qp=Object.create(null),Ow=Object.create(null);for(let[s,t]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"]])Ow[s]=_w(Aw,t);function Zh(s,t){Jp.indexOf(s)>-1||(Jp.push(s),console.warn(t))}function _w(s,t){let e=[];for(let l of t.split(" ")){let a=[];for(let h of l.split(".")){let f=s[h]||_[h];f?typeof f=="function"?a.length?a=a.map(f):Zh(h,`Modifier ${h} used at start of tag`):a.length?Zh(h,`Tag ${h} used as modifier`):a=Array.isArray(f)?f:[f]:Zh(h,`Unknown highlighting tag ${h}`)}for(let h of a)e.push(h)}if(!e.length)return 0;let i=t.replace(/ /g,"_"),n=i+" "+e.map(l=>l.id),r=Qp[n];if(r)return r.id;let o=Qp[n]=It.define({id:Xp.length,name:i,props:[$p({[i]:e})]});return Xp.push(o),o.id}var C1={rtl:Nt.mark({class:"cm-iso",inclusive:!0,attributes:{dir:"rtl"},bidiIsolate:Ct.RTL}),ltr:Nt.mark({class:"cm-iso",inclusive:!0,attributes:{dir:"ltr"},bidiIsolate:Ct.LTR}),auto:Nt.mark({class:"cm-iso",inclusive:!0,attributes:{dir:"auto"},bidiIsolate:null})};var of=class s{constructor(t,e,i,n,r,o,l,a,h,f=0,c){this.p=t,this.stack=e,this.state=i,this.reducePos=n,this.pos=r,this.score=o,this.buffer=l,this.bufferBase=a,this.curContext=h,this.lookAhead=f,this.parent=c}toString(){return`[${this.stack.filter((t,e)=>e%3==0).concat(this.state)}]@${this.pos}${this.score?"!"+this.score:""}`}static start(t,e,i=0){let n=t.parser.context;return new s(t,[],e,i,i,0,[],0,n?new Ko(n,n.start):null,0,null)}get context(){return this.curContext?this.curContext.context:null}pushState(t,e){this.stack.push(this.state,e,this.bufferBase+this.buffer.length),this.state=t}reduce(t){var e;let i=t>>19,n=t&65535,{parser:r}=this.p,o=r.dynamicPrecedence(n);if(o&&(this.score+=o),i==0){this.pushState(r.getGoto(this.state,n,!0),this.reducePos),n<r.minRepeatTerm&&this.storeNode(n,this.reducePos,this.reducePos,4,!0),this.reduceContext(n,this.reducePos);return}let l=this.stack.length-(i-1)*3-(t&262144?6:0),a=l?this.stack[l-2]:this.p.ranges[0].from,h=this.reducePos-a;h>=2e3&&!(!((e=this.p.parser.nodeSet.types[n])===null||e===void 0)&&e.isAnonymous)&&(a==this.p.lastBigReductionStart?(this.p.bigReductionCount++,this.p.lastBigReductionSize=h):this.p.lastBigReductionSize<h&&(this.p.bigReductionCount=1,this.p.lastBigReductionStart=a,this.p.lastBigReductionSize=h));let f=l?this.stack[l-1]:0,c=this.bufferBase+this.buffer.length-f;if(n<r.minRepeatTerm||t&131072){let u=r.stateFlag(this.state,1)?this.pos:this.reducePos;this.storeNode(n,a,u,c+4,!0)}if(t&262144)this.state=this.stack[l];else{let u=this.stack[l-3];this.state=r.getGoto(u,n,!0)}for(;this.stack.length>l;)this.stack.pop();this.reduceContext(n,a)}storeNode(t,e,i,n=4,r=!1){if(t==0&&(!this.stack.length||this.stack[this.stack.length-1]<this.buffer.length+this.bufferBase)){let o=this,l=this.buffer.length;if(l==0&&o.parent&&(l=o.bufferBase-o.parent.bufferBase,o=o.parent),l>0&&o.buffer[l-4]==0&&o.buffer[l-1]>-1){if(e==i)return;if(o.buffer[l-2]>=e){o.buffer[l-2]=i;return}}}if(!r||this.pos==i)this.buffer.push(t,e,i,n);else{let o=this.buffer.length;if(o>0&&this.buffer[o-4]!=0)for(;o>0&&this.buffer[o-2]>i;)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,n>4&&(n-=4);this.buffer[o]=t,this.buffer[o+1]=e,this.buffer[o+2]=i,this.buffer[o+3]=n}}shift(t,e,i,n){if(t&131072)this.pushState(t&65535,this.pos);else if((t&262144)==0){let r=t,{parser:o}=this.p;(n>this.pos||e<=o.maxNode)&&(this.pos=n,o.stateFlag(r,1)||(this.reducePos=n)),this.pushState(r,i),this.shiftContext(e,i),e<=o.maxNode&&this.buffer.push(e,i,n,4)}else this.pos=n,this.shiftContext(e,i),e<=this.p.parser.maxNode&&this.buffer.push(e,i,n,4)}apply(t,e,i,n){t&65536?this.reduce(t):this.shift(t,e,i,n)}useNode(t,e){let i=this.p.reused.length-1;(i<0||this.p.reused[i]!=t)&&(this.p.reused.push(t),i++);let n=this.pos;this.reducePos=this.pos=n+t.length,this.pushState(e,n),this.buffer.push(i,n,this.reducePos,-1),this.curContext&&this.updateContext(this.curContext.tracker.reuse(this.curContext.context,t,this,this.p.stream.reset(this.pos-t.length)))}split(){let t=this,e=t.buffer.length;for(;e>0&&t.buffer[e-2]>t.reducePos;)e-=4;let i=t.buffer.slice(e),n=t.bufferBase+e;for(;t&&n==t.bufferBase;)t=t.parent;return new s(this.p,this.stack.slice(),this.state,this.reducePos,this.pos,this.score,i,n,this.curContext,this.lookAhead,t)}recoverByDelete(t,e){let i=t<=this.p.parser.maxNode;i&&this.storeNode(t,this.pos,e,4),this.storeNode(0,this.pos,e,i?8:4),this.pos=this.reducePos=e,this.score-=190}canShift(t){for(let e=new lf(this);;){let i=this.p.parser.stateSlot(e.state,4)||this.p.parser.hasAction(e.state,t);if(i==0)return!1;if((i&65536)==0)return!0;e.reduce(i)}}recoverByInsert(t){if(this.stack.length>=300)return[];let e=this.p.parser.nextStates(this.state);if(e.length>8||this.stack.length>=120){let n=[];for(let r=0,o;r<e.length;r+=2)(o=e[r+1])!=this.state&&this.p.parser.hasAction(o,t)&&n.push(e[r],o);if(this.stack.length<120)for(let r=0;n.length<8&&r<e.length;r+=2){let o=e[r+1];n.some((l,a)=>a&1&&l==o)||n.push(e[r],o)}e=n}let i=[];for(let n=0;n<e.length&&i.length<4;n+=2){let r=e[n+1];if(r==this.state)continue;let o=this.split();o.pushState(r,this.pos),o.storeNode(0,o.pos,o.pos,4,!0),o.shiftContext(e[n],this.pos),o.reducePos=this.pos,o.score-=200,i.push(o)}return i}forceReduce(){let{parser:t}=this.p,e=t.stateSlot(this.state,5);if((e&65536)==0)return!1;if(!t.validAction(this.state,e)){let i=e>>19,n=e&65535,r=this.stack.length-i*3;if(r<0||t.getGoto(this.stack[r],n,!1)<0){let o=this.findForcedReduction();if(o==null)return!1;e=o}this.storeNode(0,this.pos,this.pos,4,!0),this.score-=100}return this.reducePos=this.pos,this.reduce(e),!0}findForcedReduction(){let{parser:t}=this.p,e=[],i=(n,r)=>{if(!e.includes(n))return e.push(n),t.allActions(n,o=>{if(!(o&393216))if(o&65536){let l=(o>>19)-r;if(l>1){let a=o&65535,h=this.stack.length-l*3;if(h>=0&&t.getGoto(this.stack[h],a,!1)>=0)return l<<19|65536|a}}else{let l=i(o,r+1);if(l!=null)return l}})};return i(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:t}=this.p;return t.data[t.stateSlot(this.state,1)]==65535&&!t.stateSlot(this.state,4)}restart(){this.storeNode(0,this.pos,this.pos,4,!0),this.state=this.stack[0],this.stack.length=0}sameState(t){if(this.state!=t.state||this.stack.length!=t.stack.length)return!1;for(let e=0;e<this.stack.length;e+=3)if(this.stack[e]!=t.stack[e])return!1;return!0}get parser(){return this.p.parser}dialectEnabled(t){return this.p.parser.dialect.flags[t]}shiftContext(t,e){this.curContext&&this.updateContext(this.curContext.tracker.shift(this.curContext.context,t,this,this.p.stream.reset(e)))}reduceContext(t,e){this.curContext&&this.updateContext(this.curContext.tracker.reduce(this.curContext.context,t,this,this.p.stream.reset(e)))}emitContext(){let t=this.buffer.length-1;(t<0||this.buffer[t]!=-3)&&this.buffer.push(this.curContext.hash,this.pos,this.pos,-3)}emitLookAhead(){let t=this.buffer.length-1;(t<0||this.buffer[t]!=-4)&&this.buffer.push(this.lookAhead,this.pos,this.pos,-4)}updateContext(t){if(t!=this.curContext.context){let e=new Ko(this.curContext.tracker,t);e.hash!=this.curContext.hash&&this.emitContext(),this.curContext=e}}setLookAhead(t){t>this.lookAhead&&(this.emitLookAhead(),this.lookAhead=t)}close(){this.curContext&&this.curContext.tracker.strict&&this.emitContext(),this.lookAhead>0&&this.emitLookAhead()}},Ko=class{constructor(t,e){this.tracker=t,this.context=e,this.hash=t.strict?t.hash(e):0}},lf=class{constructor(t){this.start=t,this.state=t.state,this.stack=t.stack,this.base=this.stack.length}reduce(t){let e=t&65535,i=t>>19;i==0?(this.stack==this.start.stack&&(this.stack=this.stack.slice()),this.stack.push(this.state,0,0),this.base+=3):this.base-=(i-1)*3;let n=this.start.p.parser.getGoto(this.stack[this.base-3],e,!0);this.state=n}},af=class s{constructor(t,e,i){this.stack=t,this.pos=e,this.index=i,this.buffer=t.buffer,this.index==0&&this.maybeNext()}static create(t,e=t.bufferBase+t.buffer.length){return new s(t,e,e-t.bufferBase)}maybeNext(){let t=this.stack.parent;t!=null&&(this.index=this.stack.bufferBase-t.bufferBase,this.stack=t,this.buffer=t.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 s(this.stack,this.pos,this.index)}};function er(s,t=Uint16Array){if(typeof s!="string")return s;let e=null;for(let i=0,n=0;i<s.length;){let r=0;for(;;){let o=s.charCodeAt(i++),l=!1;if(o==126){r=65535;break}o>=92&&o--,o>=34&&o--;let a=o-32;if(a>=46&&(a-=46,l=!0),r+=a,l)break;r*=46}e?e[n++]=r:e=new t(r)}return e}var Nn=class{constructor(){this.start=-1,this.value=-1,this.end=-1,this.extended=-1,this.lookAhead=0,this.mask=0,this.context=0}},tg=new Nn,hf=class{constructor(t,e){this.input=t,this.ranges=e,this.chunk="",this.chunkOff=0,this.chunk2="",this.chunk2Pos=0,this.next=-1,this.token=tg,this.rangeIndex=0,this.pos=this.chunkPos=e[0].from,this.range=e[0],this.end=e[e.length-1].to,this.readNext()}resolveOffset(t,e){let i=this.range,n=this.rangeIndex,r=this.pos+t;for(;r<i.from;){if(!n)return null;let o=this.ranges[--n];r-=i.from-o.to,i=o}for(;e<0?r>i.to:r>=i.to;){if(n==this.ranges.length-1)return null;let o=this.ranges[++n];r+=o.from-i.to,i=o}return r}clipPos(t){if(t>=this.range.from&&t<this.range.to)return t;for(let e of this.ranges)if(e.to>t)return Math.max(t,e.from);return this.end}peek(t){let e=this.chunkOff+t,i,n;if(e>=0&&e<this.chunk.length)i=this.pos+t,n=this.chunk.charCodeAt(e);else{let r=this.resolveOffset(t,1);if(r==null)return-1;if(i=r,i>=this.chunk2Pos&&i<this.chunk2Pos+this.chunk2.length)n=this.chunk2.charCodeAt(i-this.chunk2Pos);else{let o=this.rangeIndex,l=this.range;for(;l.to<=i;)l=this.ranges[++o];this.chunk2=this.input.chunk(this.chunk2Pos=i),i+this.chunk2.length>l.to&&(this.chunk2=this.chunk2.slice(0,l.to-i)),n=this.chunk2.charCodeAt(0)}}return i>=this.token.lookAhead&&(this.token.lookAhead=i+1),n}acceptToken(t,e=0){let i=e?this.resolveOffset(e,-1):this.pos;if(i==null||i<this.token.start)throw new RangeError("Token end out of bounds");this.token.value=t,this.token.end=i}getChunk(){if(this.pos>=this.chunk2Pos&&this.pos<this.chunk2Pos+this.chunk2.length){let{chunk:t,chunkPos:e}=this;this.chunk=this.chunk2,this.chunkPos=this.chunk2Pos,this.chunk2=t,this.chunk2Pos=e,this.chunkOff=this.pos-this.chunkPos}else{this.chunk2=this.chunk,this.chunk2Pos=this.chunkPos;let t=this.input.chunk(this.pos),e=this.pos+t.length;this.chunk=e>this.range.to?t.slice(0,this.range.to-this.pos):t,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(t=1){for(this.chunkOff+=t;this.pos+t>=this.range.to;){if(this.rangeIndex==this.ranges.length-1)return this.setDone();t-=this.range.to-this.pos,this.range=this.ranges[++this.rangeIndex],this.pos=this.range.from}return this.pos+=t,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(t,e){if(e?(this.token=e,e.start=t,e.lookAhead=t+1,e.value=e.extended=-1):this.token=tg,this.pos!=t){if(this.pos=t,t==this.end)return this.setDone(),this;for(;t<this.range.from;)this.range=this.ranges[--this.rangeIndex];for(;t>=this.range.to;)this.range=this.ranges[++this.rangeIndex];t>=this.chunkPos&&t<this.chunkPos+this.chunk.length?this.chunkOff=t-this.chunkPos:(this.chunk="",this.chunkOff=0),this.readNext()}return this}read(t,e){if(t>=this.chunkPos&&e<=this.chunkPos+this.chunk.length)return this.chunk.slice(t-this.chunkPos,e-this.chunkPos);if(t>=this.chunk2Pos&&e<=this.chunk2Pos+this.chunk2.length)return this.chunk2.slice(t-this.chunk2Pos,e-this.chunk2Pos);if(t>=this.range.from&&e<=this.range.to)return this.input.read(t,e);let i="";for(let n of this.ranges){if(n.from>=e)break;n.to>t&&(i+=this.input.read(Math.max(n.from,t),Math.min(n.to,e)))}return i}},Oi=class{constructor(t,e){this.data=t,this.id=e}token(t,e){let{parser:i}=e.p;rg(this.data,t,e,this.id,i.data,i.tokenPrecTable)}};Oi.prototype.contextual=Oi.prototype.fallback=Oi.prototype.extend=!1;var oi=class{constructor(t,e,i){this.precTable=e,this.elseToken=i,this.data=typeof t=="string"?er(t):t}token(t,e){let i=t.pos,n=0;for(;;){let r=t.next<0,o=t.resolveOffset(1,1);if(rg(this.data,t,e,0,this.data,this.precTable),t.token.value>-1)break;if(this.elseToken==null)return;if(r||n++,o==null)break;t.reset(o,t.token)}n&&(t.reset(i,t.token),t.acceptToken(this.elseToken,n))}};oi.prototype.contextual=Oi.prototype.fallback=Oi.prototype.extend=!1;function rg(s,t,e,i,n,r){let o=0,l=1<<i,{dialect:a}=e.p.parser;t:for(;(l&s[o])!=0;){let h=s[o+1];for(let d=o+3;d<h;d+=2)if((s[d+1]&l)>0){let p=s[d];if(a.allows(p)&&(t.token.value==-1||t.token.value==p||Dw(p,t.token.value,n,r))){t.acceptToken(p);break}}let f=t.next,c=0,u=s[o+2];if(t.next<0&&u>c&&s[h+u*3-3]==65535){o=s[h+u*3-1];continue t}for(;c<u;){let d=c+u>>1,p=h+d+(d<<1),g=s[p],m=s[p+1]||65536;if(f<g)u=d;else if(f>=m)c=d+1;else{o=s[p+2],t.advance();continue t}}break}}function eg(s,t,e){for(let i=t,n;(n=s[i])!=65535;i++)if(n==e)return i-t;return-1}function Dw(s,t,e,i){let n=eg(e,i,t);return n<0||eg(e,i,s)<n}var re=typeof process!="undefined"&&process.env&&/\\bparse\\b/.test(process.env.LOG),rf=null;function ig(s,t,e){let i=s.cursor(bt.IncludeAnonymous);for(i.moveTo(t);;)if(!(e<0?i.childBefore(t):i.childAfter(t)))for(;;){if((e<0?i.to<t:i.from>t)&&!i.type.isError)return e<0?Math.max(0,Math.min(i.to-1,t-25)):Math.min(s.length,Math.max(i.from+1,t+25));if(e<0?i.prevSibling():i.nextSibling())break;if(!i.parent())return e<0?0:s.length}}var ff=class{constructor(t,e){this.fragments=t,this.nodeSet=e,this.i=0,this.fragment=null,this.safeFrom=-1,this.safeTo=-1,this.trees=[],this.start=[],this.index=[],this.nextFragment()}nextFragment(){let t=this.fragment=this.i==this.fragments.length?null:this.fragments[this.i++];if(t){for(this.safeFrom=t.openStart?ig(t.tree,t.from+t.offset,1)-t.offset:t.from,this.safeTo=t.openEnd?ig(t.tree,t.to+t.offset,-1)-t.offset:t.to;this.trees.length;)this.trees.pop(),this.start.pop(),this.index.pop();this.trees.push(t.tree),this.start.push(-t.offset),this.index.push(0),this.nextStart=this.safeFrom}else this.nextStart=1e9}nodeAt(t){if(t<this.nextStart)return null;for(;this.fragment&&this.safeTo<=t;)this.nextFragment();if(!this.fragment)return null;for(;;){let e=this.trees.length-1;if(e<0)return this.nextFragment(),null;let i=this.trees[e],n=this.index[e];if(n==i.children.length){this.trees.pop(),this.start.pop(),this.index.pop();continue}let r=i.children[n],o=this.start[e]+i.positions[n];if(o>t)return this.nextStart=o,null;if(r instanceof dt){if(o==t){if(o<this.safeFrom)return null;let l=o+r.length;if(l<=this.safeTo){let a=r.prop(q.lookAhead);if(!a||l+a<this.fragment.to)return r}}this.index[e]++,o+r.length>=Math.max(this.safeFrom,t)&&(this.trees.push(r),this.start.push(o),this.index.push(0))}else this.index[e]++,this.nextStart=o+r.length}}},cf=class{constructor(t,e){this.stream=e,this.tokens=[],this.mainToken=null,this.actions=[],this.tokens=t.tokenizers.map(i=>new Nn)}getActions(t){let e=0,i=null,{parser:n}=t.p,{tokenizers:r}=n,o=n.stateSlot(t.state,3),l=t.curContext?t.curContext.hash:0,a=0;for(let h=0;h<r.length;h++){if((1<<h&o)==0)continue;let f=r[h],c=this.tokens[h];if(!(i&&!f.fallback)&&((f.contextual||c.start!=t.pos||c.mask!=o||c.context!=l)&&(this.updateCachedToken(c,f,t),c.mask=o,c.context=l),c.lookAhead>c.end+25&&(a=Math.max(c.lookAhead,a)),c.value!=0)){let u=e;if(c.extended>-1&&(e=this.addActions(t,c.extended,c.end,e)),e=this.addActions(t,c.value,c.end,e),!f.extend&&(i=c,e>u))break}}for(;this.actions.length>e;)this.actions.pop();return a&&t.setLookAhead(a),!i&&t.pos==this.stream.end&&(i=new Nn,i.value=t.p.parser.eofTerm,i.start=i.end=t.pos,e=this.addActions(t,i.value,i.end,e)),this.mainToken=i,this.actions}getMainToken(t){if(this.mainToken)return this.mainToken;let e=new Nn,{pos:i,p:n}=t;return e.start=i,e.end=Math.min(i+1,n.stream.end),e.value=i==n.stream.end?n.parser.eofTerm:0,e}updateCachedToken(t,e,i){let n=this.stream.clipPos(i.pos);if(e.token(this.stream.reset(n,t),i),t.value>-1){let{parser:r}=i.p;for(let o=0;o<r.specialized.length;o++)if(r.specialized[o]==t.value){let l=r.specializers[o](this.stream.read(t.start,t.end),i);if(l>=0&&i.p.parser.dialect.allows(l>>1)){(l&1)==0?t.value=l>>1:t.extended=l>>1;break}}}else t.value=0,t.end=this.stream.clipPos(n+1)}putAction(t,e,i,n){for(let r=0;r<n;r+=3)if(this.actions[r]==t)return n;return this.actions[n++]=t,this.actions[n++]=e,this.actions[n++]=i,n}addActions(t,e,i,n){let{state:r}=t,{parser:o}=t.p,{data:l}=o;for(let a=0;a<2;a++)for(let h=o.stateSlot(r,a?2:1);;h+=3){if(l[h]==65535)if(l[h+1]==1)h=ri(l,h+2);else{n==0&&l[h+1]==2&&(n=this.putAction(ri(l,h+2),e,i,n));break}l[h]==e&&(n=this.putAction(ri(l,h+1),e,i,n))}return n}},uf=class{constructor(t,e,i,n){this.parser=t,this.input=e,this.ranges=n,this.recovering=0,this.nextStackID=9812,this.minStackPos=0,this.reused=[],this.stoppedAt=null,this.lastBigReductionStart=-1,this.lastBigReductionSize=0,this.bigReductionCount=0,this.stream=new hf(e,n),this.tokens=new cf(t,this.stream),this.topTerm=t.top[1];let{from:r}=n[0];this.stacks=[of.start(this,t.top[0],r)],this.fragments=i.length&&this.stream.end-r>t.bufferLength*4?new ff(i,t.nodeSet):null}get parsedPos(){return this.minStackPos}advance(){let t=this.stacks,e=this.minStackPos,i=this.stacks=[],n,r;if(this.bigReductionCount>300&&t.length==1){let[o]=t;for(;o.forceReduce()&&o.stack.length&&o.stack[o.stack.length-2]>=this.lastBigReductionStart;);this.bigReductionCount=this.lastBigReductionSize=0}for(let o=0;o<t.length;o++){let l=t[o];for(;;){if(this.tokens.mainToken=null,l.pos>e)i.push(l);else{if(this.advanceStack(l,i,t))continue;{n||(n=[],r=[]),n.push(l);let a=this.tokens.getMainToken(l);r.push(a.value,a.end)}}break}}if(!i.length){let o=n&&Pw(n);if(o)return re&&console.log("Finish with "+this.stackID(o)),this.stackToTree(o);if(this.parser.strict)throw re&&n&&console.log("Stuck with token "+(this.tokens.mainToken?this.parser.getName(this.tokens.mainToken.value):"none")),new SyntaxError("No parse at "+e);this.recovering||(this.recovering=5)}if(this.recovering&&n){let o=this.stoppedAt!=null&&n[0].pos>this.stoppedAt?n[0]:this.runRecovery(n,r,i);if(o)return re&&console.log("Force-finish "+this.stackID(o)),this.stackToTree(o.forceAll())}if(this.recovering){let o=this.recovering==1?1:this.recovering*3;if(i.length>o)for(i.sort((l,a)=>a.score-l.score);i.length>o;)i.pop();i.some(l=>l.reducePos>e)&&this.recovering--}else if(i.length>1){t:for(let o=0;o<i.length-1;o++){let l=i[o];for(let a=o+1;a<i.length;a++){let h=i[a];if(l.sameState(h)||l.buffer.length>500&&h.buffer.length>500)if((l.score-h.score||l.buffer.length-h.buffer.length)>0)i.splice(a--,1);else{i.splice(o--,1);continue t}}}i.length>12&&i.splice(12,i.length-12)}this.minStackPos=i[0].pos;for(let o=1;o<i.length;o++)i[o].pos<this.minStackPos&&(this.minStackPos=i[o].pos);return null}stopAt(t){if(this.stoppedAt!=null&&this.stoppedAt<t)throw new RangeError("Can\'t move stoppedAt forward");this.stoppedAt=t}advanceStack(t,e,i){let n=t.pos,{parser:r}=this,o=re?this.stackID(t)+" -> ":"";if(this.stoppedAt!=null&&n>this.stoppedAt)return t.forceReduce()?t:null;if(this.fragments){let h=t.curContext&&t.curContext.tracker.strict,f=h?t.curContext.hash:0;for(let c=this.fragments.nodeAt(n);c;){let u=this.parser.nodeSet.types[c.type.id]==c.type?r.getGoto(t.state,c.type.id):-1;if(u>-1&&c.length&&(!h||(c.prop(q.contextHash)||0)==f))return t.useNode(c,u),re&&console.log(o+this.stackID(t)+` (via reuse of ${r.getName(c.type.id)})`),!0;if(!(c instanceof dt)||c.children.length==0||c.positions[0]>0)break;let d=c.children[0];if(d instanceof dt&&c.positions[0]==0)c=d;else break}}let l=r.stateSlot(t.state,4);if(l>0)return t.reduce(l),re&&console.log(o+this.stackID(t)+` (via always-reduce ${r.getName(l&65535)})`),!0;if(t.stack.length>=8400)for(;t.stack.length>6e3&&t.forceReduce(););let a=this.tokens.getActions(t);for(let h=0;h<a.length;){let f=a[h++],c=a[h++],u=a[h++],d=h==a.length||!i,p=d?t:t.split(),g=this.tokens.mainToken;if(p.apply(f,c,g?g.start:p.pos,u),re&&console.log(o+this.stackID(p)+` (via ${(f&65536)==0?"shift":`reduce of ${r.getName(f&65535)}`} for ${r.getName(c)} @ ${n}${p==t?"":", split"})`),d)return!0;p.pos>n?e.push(p):i.push(p)}return!1}advanceFully(t,e){let i=t.pos;for(;;){if(!this.advanceStack(t,null,null))return!1;if(t.pos>i)return ng(t,e),!0}}runRecovery(t,e,i){let n=null,r=!1;for(let o=0;o<t.length;o++){let l=t[o],a=e[o<<1],h=e[(o<<1)+1],f=re?this.stackID(l)+" -> ":"";if(l.deadEnd&&(r||(r=!0,l.restart(),re&&console.log(f+this.stackID(l)+" (restarted)"),this.advanceFully(l,i))))continue;let c=l.split(),u=f;for(let d=0;c.forceReduce()&&d<10&&(re&&console.log(u+this.stackID(c)+" (via force-reduce)"),!this.advanceFully(c,i));d++)re&&(u=this.stackID(c)+" -> ");for(let d of l.recoverByInsert(a))re&&console.log(f+this.stackID(d)+" (via recover-insert)"),this.advanceFully(d,i);this.stream.end>l.pos?(h==l.pos&&(h++,a=0),l.recoverByDelete(a,h),re&&console.log(f+this.stackID(l)+` (via recover-delete ${this.parser.getName(a)})`),ng(l,i)):(!n||n.score<l.score)&&(n=l)}return n}stackToTree(t){return t.close(),dt.build({buffer:af.create(t),nodeSet:this.parser.nodeSet,topID:this.topTerm,maxBufferLength:this.parser.bufferLength,reused:this.reused,start:this.ranges[0].from,length:t.pos-this.ranges[0].from,minRepeatType:this.parser.minRepeatTerm})}stackID(t){let e=(rf||(rf=new WeakMap)).get(t);return e||rf.set(t,e=String.fromCodePoint(this.nextStackID++)),e+t}};function ng(s,t){for(let e=0;e<t.length;e++){let i=t[e];if(i.pos==s.pos&&i.sameState(s)){t[e].score<s.score&&(t[e]=s);return}}t.push(s)}var df=class{constructor(t,e,i){this.source=t,this.flags=e,this.disabled=i}allows(t){return!this.disabled||this.disabled[t]==0}};var Yo=class s extends vn{constructor(t){if(super(),this.wrappers=[],t.version!=14)throw new RangeError(`Parser version (${t.version}) doesn\'t match runtime version (14)`);let e=t.nodeNames.split(" ");this.minRepeatTerm=e.length;for(let l=0;l<t.repeatNodeCount;l++)e.push("");let i=Object.keys(t.topRules).map(l=>t.topRules[l][1]),n=[];for(let l=0;l<e.length;l++)n.push([]);function r(l,a,h){n[l].push([a,a.deserialize(String(h))])}if(t.nodeProps)for(let l of t.nodeProps){let a=l[0];typeof a=="string"&&(a=q[a]);for(let h=1;h<l.length;){let f=l[h++];if(f>=0)r(f,a,l[h++]);else{let c=l[h+-f];for(let u=-f;u>0;u--)r(l[h++],a,c);h++}}}this.nodeSet=new As(e.map((l,a)=>It.define({name:a>=this.minRepeatTerm?void 0:l,id:a,props:n[a],top:i.indexOf(a)>-1,error:a==0,skipped:t.skippedNodes&&t.skippedNodes.indexOf(a)>-1}))),t.propSources&&(this.nodeSet=this.nodeSet.extend(...t.propSources)),this.strict=!1,this.bufferLength=1024;let o=er(t.tokenData);this.context=t.context,this.specializerSpecs=t.specialized||[],this.specialized=new Uint16Array(this.specializerSpecs.length);for(let l=0;l<this.specializerSpecs.length;l++)this.specialized[l]=this.specializerSpecs[l].term;this.specializers=this.specializerSpecs.map(sg),this.states=er(t.states,Uint32Array),this.data=er(t.stateData),this.goto=er(t.goto),this.maxTerm=t.maxTerm,this.tokenizers=t.tokenizers.map(l=>typeof l=="number"?new Oi(o,l):l),this.topRules=t.topRules,this.dialects=t.dialects||{},this.dynamicPrecedences=t.dynamicPrecedences||null,this.tokenPrecTable=t.tokenPrec,this.termNames=t.termNames||null,this.maxNode=this.nodeSet.types.length-1,this.dialect=this.parseDialect(),this.top=this.topRules[Object.keys(this.topRules)[0]]}createParse(t,e,i){let n=new uf(this,t,e,i);for(let r of this.wrappers)n=r(n,t,e,i);return n}getGoto(t,e,i=!1){let n=this.goto;if(e>=n[0])return-1;for(let r=n[e+1];;){let o=n[r++],l=o&1,a=n[r++];if(l&&i)return a;for(let h=r+(o>>1);r<h;r++)if(n[r]==t)return a;if(l)return-1}}hasAction(t,e){let i=this.data;for(let n=0;n<2;n++)for(let r=this.stateSlot(t,n?2:1),o;;r+=3){if((o=i[r])==65535)if(i[r+1]==1)o=i[r=ri(i,r+2)];else{if(i[r+1]==2)return ri(i,r+2);break}if(o==e||o==0)return ri(i,r+1)}return 0}stateSlot(t,e){return this.states[t*6+e]}stateFlag(t,e){return(this.stateSlot(t,0)&e)>0}validAction(t,e){return!!this.allActions(t,i=>i==e?!0:null)}allActions(t,e){let i=this.stateSlot(t,4),n=i?e(i):void 0;for(let r=this.stateSlot(t,1);n==null;r+=3){if(this.data[r]==65535)if(this.data[r+1]==1)r=ri(this.data,r+2);else break;n=e(ri(this.data,r+1))}return n}nextStates(t){let e=[];for(let i=this.stateSlot(t,1);;i+=3){if(this.data[i]==65535)if(this.data[i+1]==1)i=ri(this.data,i+2);else break;if((this.data[i+2]&1)==0){let n=this.data[i+1];e.some((r,o)=>o&1&&r==n)||e.push(this.data[i],n)}}return e}configure(t){let e=Object.assign(Object.create(s.prototype),this);if(t.props&&(e.nodeSet=this.nodeSet.extend(...t.props)),t.top){let i=this.topRules[t.top];if(!i)throw new RangeError(`Invalid top rule name ${t.top}`);e.top=i}return t.tokenizers&&(e.tokenizers=this.tokenizers.map(i=>{let n=t.tokenizers.find(r=>r.from==i);return n?n.to:i})),t.specializers&&(e.specializers=this.specializers.slice(),e.specializerSpecs=this.specializerSpecs.map((i,n)=>{let r=t.specializers.find(l=>l.from==i.external);if(!r)return i;let o=Object.assign(Object.assign({},i),{external:r.to});return e.specializers[n]=sg(o),o})),t.contextTracker&&(e.context=t.contextTracker),t.dialect&&(e.dialect=this.parseDialect(t.dialect)),t.strict!=null&&(e.strict=t.strict),t.wrap&&(e.wrappers=e.wrappers.concat(t.wrap)),t.bufferLength!=null&&(e.bufferLength=t.bufferLength),e}hasWrappers(){return this.wrappers.length>0}getName(t){return this.termNames?this.termNames[t]:String(t<=this.maxNode&&this.nodeSet.types[t].name||t)}get eofTerm(){return this.maxNode+1}get topNode(){return this.nodeSet.types[this.top[1]]}dynamicPrecedence(t){let e=this.dynamicPrecedences;return e==null?0:e[t]||0}parseDialect(t){let e=Object.keys(this.dialects),i=e.map(()=>!1);if(t)for(let r of t.split(" ")){let o=e.indexOf(r);o>=0&&(i[o]=!0)}let n=null;for(let r=0;r<e.length;r++)if(!i[r])for(let o=this.dialects[e[r]],l;(l=this.data[o++])!=65535;)(n||(n=new Uint8Array(this.maxTerm+1)))[l]=1;return new df(t,i,n)}static deserialize(t){return new s(t)}};function ri(s,t){return s[t]|s[t+1]<<16}function Pw(s){let t=null;for(let e of s){let i=e.p.stoppedAt;(e.pos==e.p.stream.end||i!=null&&e.pos>i)&&e.p.parser.stateFlag(e.state,2)&&(!t||t.score<e.score)&&(t=e)}return t}function sg(s){if(s.external){let t=s.extend?1:0;return(e,i)=>s.external(e,i)<<1|t}return s.get}var Rw=Yo.deserialize({version:14,states:")`QQOPOOOfOQO\'#C^OqOSO\'#C`O|OWO\'#CbO!XO`O\'#CeO!dOpO\'#CgOOOO\'#Ck\'#CkOOOO\'#Ci\'#CiQQOPOOOOOO,58x,58xO!oOQO,58xO!wOQO,58xOOOO,58z,58zO#POSO,58zO#XOSO,58zO#aOWO,58|O#iOWO,58|O#qOWO,58|OOOO,59P,59PO#yO`O,59PO$RO`O,59POOOO,59R,59RO$ZOpO,59RO$cOpO,59ROOOO-E6g-E6gOOOO1G.d1G.dO$kOQO1G.dO$nOQO1G.dOOOO1G.f1G.fO$sOSO1G.fO$vOSO1G.fOOOO1G.h1G.hO${OWO1G.hO%QOWO1G.hO%YOWO1G.hO%bOWO1G.hOOOO1G.k1G.kO%gO`O1G.kO%jO`O1G.kOOOO1G.m1G.mO%oOpO1G.mO%rOpO1G.mOOOO7+$O7+$OO%wOQO7+$OOOOO7+$Q7+$QO%|OSO7+$QOOOO7+$S7+$SO&ROWO7+$SO&WOWO7+$SO&`OWO7+$SOOOO7+$V7+$VO&eO`O7+$VOOOO7+$X7+$XO&jOpO7+$XOOOO<<Gj<<GjOOOO<<Gl<<GlOOOO<<Gn<<GnO&oOWO<<GnO&tOWO<<GnOOOO<<Gq<<GqOOOO<<Gs<<GsOOOOAN=YAN=YO&|OWOAN=YOOOOG22tG22t",stateData:"\'R~O`POcQOfROiSOlTOoVO~ORZOaYObXO~OT^Od]Oe[O~OVaOW_Og`O~OYdOjcOkbO~O[gOmfOneO~ORjObiO~OakObiO~OTmOelO~OdnOelO~OgpOhoO~OVrOWqO~OWqOgsO~OYuOktO~OjvOktO~O[xOnwO~OmyOnwO~Oa{ObzO~Od}Oe|O~Oh!OO~Og!POh!OO~OW!QOg!RO~OW!QO~Oj!TOk!SO~Om!VOn!UO~Ob!WO~Oe!XO~Oh!YO~Og!ZOh!YO~OW![O~Ok!]O~On!^O~Oh!_O~Og!`Oh!_O~Oh!aO~O",goto:"o`PPaPaPaPPaPaPePkTUOWQWORhWTVOW",nodeNames:"\\u26A0 CriticMarkup Addition MDSepAdd Deletion MDSepDel Substitution MDSepSub MSub Comment MDSepCom Highlight MDSepHig",maxTerm:31,skippedNodes:[0],repeatNodeCount:1,tokenData:"\'o~R]XYzYZz]^zpqzqrzrszs#Oz#O#P!P#P#oz#o#p#s#p;\'Sz;\'S;=`\'i<%lOz~!POo~~!UXo~rsz!P!Qz#O#Pz#U#Vz#Y#Zz#b#cz#f#gz#h#iz#i#j!q~!tR!Q![!}!c!i!}#T#Z!}~#QR!Q![#Z!c!i#Z#T#Z#Z~#^R!Q![#g!c!i#g#T#Z#g~#jR!Q![z!c!iz#T#Zz~#xVo~vw$_{|%`}!O%k!^!_%v!_!`\'V!`!a\']#r#s\'c~$bP#Z#[$e~$hP#h#i$k~$nP!]!^$q~$tPvw$w~$zP#Z#[$}~%QP#h#i%T~%WP!]!^%Z~%`Oi~~%cP{|%f~%kO`~~%nP}!O%q~%vOc~~%yQ#W#X&P#a#b&h~&SP#X#Y&V~&YP#`#a&]~&`P!`!a&c~&hOf~~&kP#T#U&n~&qP#f#g&t~&wP#_#`&z~&}P!`!a\'Q~\'VOl~~\'YP!_!`\'Q~\'`P!`!a%Z~\'fP#r#s&c~\'lP;=`<%lz",tokenizers:[5,new oi("v~RQ{|X!b!cj~[P{|_~bP#q#re~jOb~~mP!b!cp~uOR~~",37,17),new oi("v~RQ}!OX!b!cj~[P}!O_~bP#q#re~jOe~~mP!b!cp~uOT~~",37,20),new oi("#W~RR!^!_[!b!c!V#r#s!b~_P!P!Qb~eP#W#Xh~kP#X#Yn~qP#`#at~wP!`!az~}P#q#r!Q~!VOh~~!YP!b!c!]~!bOV~~!eRvw!n!`!a#Q#r#sz~!qP#Z#[!t~!wP#h#i!z~!}P!]!^#Q~#VOW~~",99,23),new oi("!u~RRvw[!^!_!c!b!c!i~_P#`#ab~eP#h#ih~kP!]!^n~qPvwt~wP#`#az~}P#h#i!Q~!TP!]!^!W~!ZP#q#r!^~!cOk~~!fP!^!_!W~!lP!b!c!o~!tOY~~",82,26),new oi("!o~RR!^!_[!_!`!]!b!c!c~_P!P!Qb~eP#a#bh~kP#T#Un~qP#f#gt~wP#_#`z~}P!`!a!Q~!TP#q#r!W~!]On~~!`P!_!`!Q~!fP!b!c!i~!nO[~~",76,29)],topRules:{CriticMarkup:[0,1]},tokenPrec:0}),Xo=$o.define({name:"criticmarkup",parser:Rw.configure({})});var ay=require("obsidian");var Lw=require("obsidian");var ir=null,Iw=W.domEventHandlers({keydown:(s,t)=>{ir=s},contextmenu:(s,t)=>{ir=s}});var Ww=require("obsidian");var pf=require("obsidian");var xe=require("obsidian");function Qo(s,t){if(s.length!=t.length)return!1;for(let e=0;e<s.length;e++)if(!s[e].compare(t[e]))return!1;return!0}var qw={class:"",renderEmptyElements:!1,markers:()=>K.empty,lineMarker:()=>null,widgetMarker:()=>null,lineMarkerChange:null,initialSpacer:null,updateSpacer:null,domEventHandlers:{}};function gf(s,t,e){for(;s.value&&s.from<=e;)s.from<=e&&t.push(s.value),s.next()}function lg(s){return Array.isArray(s)?s:[s]}var Ln=class{constructor(t,e,i,n){I(this,"dom");I(this,"height",-1);I(this,"above",0);I(this,"markers",[]);this.dom=document.createElement("div"),this.dom.className="cm-gutterElement",this.update(t,e,i,n)}update(t,e,i,n){this.height!=e&&(this.height=e,this.dom.style.height=e+"px"),this.above!=i&&(this.dom.style.marginTop=(this.above=i)?i+"px":""),Qo(this.markers,n)||this.setMarkers(t,n)}setMarkers(t,e){let i="cm-gutterElement",n=this.dom.firstChild;for(let r=0,o=0;;){let l=o,a=r<e.length?e[r++]:null,h=!1;if(a){let f=a.elementClass;f&&(i+=" "+f);for(let c=o;c<this.markers.length;c++)if(this.markers[c].compare(a)){l=c,h=!0;break}}else l=this.markers.length;for(;o<l;){let f=this.markers[o++];if(f.toDOM&&n){f.preventUnload||f.destroy(n),f.preventUnload=!1;let c=n.nextSibling;n.remove(),n=c}}if(!a)break;a.toDOM&&t&&(h?n=n.nextSibling:this.dom.insertBefore(a.toDOM(t),n)),h&&o++}this.dom.className=i,this.markers=e}destroy(){this.setMarkers(null,[])}},nr=class{constructor(t,e,i){this.gutter=t;this.height=i;I(this,"cursor");I(this,"i",0);this.cursor=K.iter(t.markers,e.from)}addElement(t,e,i){let{gutter:n}=this,r=e.top-this.height,o=e.height;if(this.i==n.elements.length){let l=new Ln(t,o,r,i);n.elements.push(l),n.dom.appendChild(l.dom)}else n.elements[this.i].update(t,o,r,i);this.height=e.bottom,this.i++}line(t,e,i){let n=[];gf(this.cursor,n,e.to);let r=this.gutter.config.lineMarker(t,e,n);r&&n.unshift(r);let o=this.gutter;n.length==0&&!o.config.renderEmptyElements||this.addElement(t,e,n)}widget(t,e){let i=this.gutter.config.widgetMarker(t,e.widget,e);i&&this.addElement(t,e,[i])}finish(){let t=this.gutter;for(;t.elements.length>this.i;){let e=t.elements.pop();t.dom.removeChild(e.dom),e.destroy()}}},_i=class{constructor(t,e){this.view=t;this.config=e;I(this,"dom");I(this,"elements",[]);I(this,"markers");I(this,"spacer",null);this.dom=document.createElement("div"),this.dom.className="cm-gutter"+(this.config.class?" "+this.config.class:"");for(let i in e.domEventHandlers)this.dom.addEventListener(i,n=>{let r=n.target,o;if(r!=this.dom&&this.dom.contains(r)){for(;r.parentNode!=this.dom;)r=r.parentNode;let a=r.getBoundingClientRect();o=(a.top+a.bottom)/2}else o=n.clientY;let l=t.lineBlockAtHeight(o-t.documentTop);e.domEventHandlers[i](t,l,n)&&n.preventDefault()});this.markers=lg(e.markers(t)),e.initialSpacer&&(this.spacer=new Ln(t,0,0,[e.initialSpacer(t)]),this.dom.appendChild(this.spacer.dom),this.spacer.dom.style.cssText+="visibility: hidden; pointer-events: none")}update(t){let e=this.markers;if(this.markers=lg(this.config.markers(t.view)),this.spacer&&this.config.updateSpacer){let n=this.config.updateSpacer(this.spacer.markers[0],t);n!=this.spacer.markers[0]&&this.spacer.update(t.view,0,0,[n])}let i=t.view.viewport;return!K.eq(this.markers,e,i.from,i.to)||(this.config.lineMarkerChange?this.config.lineMarkerChange(t):!1)}destroy(){for(let t of this.elements)t.destroy()}},Hn=class{constructor(t,e,i){this.view=t;this.unfixGutters=e;this.activeGutters=i;I(this,"gutters");I(this,"dom");I(this,"fixed");I(this,"prevViewport");this.prevViewport=t.viewport,this.dom=document.createElement("div"),this.dom.className="cm-gutters",this.dom.style.minHeight=this.view.contentHeight+"px",this.gutters=this.createGutters(t);for(let n of this.gutters)this.dom.appendChild(n.dom);this.fixed=!t.state.facet(this.unfixGutters),this.fixed&&(this.dom.style.position="sticky"),this.syncGutters(!1),this.insertGutters(t)}createGutters(t){return t.state.facet(this.activeGutters).map(e=>new _i(t,e))}insertGutters(t){t.contentDOM.parentNode.insertBefore(this.dom,t.contentDOM)}insertDetachedGutters(t){t.parentNode.insertBefore(this.dom,t)}getUpdateContexts(){return this.gutters.map(t=>new nr(t,this.view.viewport,-this.view.documentPadding.top))}update(t){if(this.updateGutters(t)){let e=this.prevViewport,i=t.view.viewport,n=Math.min(e.to,i.to)-Math.max(e.from,i.from);this.syncGutters(n<(i.to-i.from)*.8)}t.geometryChanged&&(this.dom.style.minHeight=this.view.contentHeight+"px"),this.view.state.facet(this.unfixGutters)!=!this.fixed&&(this.fixed=!this.fixed,this.dom.style.position=this.fixed?"sticky":""),this.prevViewport=t.view.viewport}syncGutters(t){let e=this.dom.nextSibling;t&&this.dom.remove();let i=K.iter(this.view.state.facet($r),this.view.viewport.from),n=[],r=this.getUpdateContexts();for(let o of this.view.viewportLineBlocks)if(n.length&&(n=[]),Array.isArray(o.type)){let l=!0;for(let a of o.type)if(a.type==Jt.Text&&l){gf(i,n,a.from);for(let h of r)h.line(this.view,a,n);l=!1}else if(a.widget)for(let h of r)h.widget(this.view,a)}else if(o.type==Jt.Text){gf(i,n,o.from);for(let l of r)l.line(this.view,o,n)}for(let o of r)o.finish();t&&this.insertDetachedGutters(e)}updateGutters(t){let e=t.startState.facet(this.activeGutters),i=t.state.facet(this.activeGutters),n=t.docChanged||t.heightChanged||t.viewportChanged||!K.eq(t.startState.facet($r),t.state.facet($r),t.view.viewport.from,t.view.viewport.to);if(e==i)for(let r of this.gutters)r.update(t)&&(n=!0);else{n=!0;let r=[];for(let o of i){let l=e.indexOf(o);l<0?r.push(new _i(this.view,o)):(this.gutters[l].update(t),r.push(this.gutters[l]))}for(let o of this.gutters)o.dom.remove(),r.indexOf(o)<0&&o.destroy();for(let o of r)this.dom.appendChild(o.dom);this.gutters=r}return n}destroy(){for(let t of this.gutters)t.destroy();this.dom.remove()}};function Zo(s){return me.fromClass(s,{provide:t=>W.scrollMargins.of(e=>{let i=e.plugin(t);return!i||i.gutters.length==0||!i.fixed?null:e.textDirection==mt.LTR?{left:i.dom.offsetWidth}:{right:i.dom.offsetWidth}})})}function $w(s,t,e){let i=[s];return t&&t.fixed===!1&&i.push(e.of(!0)),i}function mf(s,t,e,i){return[$w(s,{},i),e.of(ai(ai({},qw),t))]}var Et=require("obsidian");var ag=require("obsidian");function sr(s,t){let e=Object.keys(t).map(i=>Kw(s,i,t[i]));return e.length===1?e[0]:function(){e.forEach(i=>i())}}function Kw(s,t,e){let i=s[t],n=s.hasOwnProperty(t),r=n?i:function(){return Object.getPrototypeOf(s)[t].apply(this,arguments)},o=e(r);return i&&Object.setPrototypeOf(o,i),Object.setPrototypeOf(l,o),s[t]=l,a;function l(...h){return o===r&&s[t]===l&&a(),o.apply(this,h)}function a(){s[t]===l&&(n?s[t]=r:delete s[t]),o!==r&&(o=r,Object.setPrototypeOf(l,i||Function))}}function Yw(s){let t=s.embedRegistry.embedByExtension.md({app:s,containerEl:createDiv()},null,"");t.editable=!0,t.showEditor();let e=Object.getPrototypeOf(Object.getPrototypeOf(t.editMode));return t.unload(),e.constructor}var bf={cursorLocation:{anchor:0,head:0},value:"",cls:"",placeholder:"",focus:!0,filteredExtensions:[],onEnter:(s,t,e)=>(t&&s.options.onSubmit(s),t),onEscape:s=>{s.options.onBlur(s)},onSubmit:()=>{},onBlur:()=>{},onPaste:()=>{},onChange:()=>{}},Fn=class extends Yw(app){constructor(e,i,n){var r,o,l;super(e,i,{app:e,onMarkdownScroll:()=>{},getMode:()=>"source"});I(this,"options");I(this,"initial_value");I(this,"scope");this.options=ai(ai({},bf),n),this.initial_value=this.options.value,this.scope=new ag.Scope(this.app.scope),this.scope.register(["Mod"],"Enter",(a,h)=>!0),this.owner.editMode=this,this.owner.editor=this.editor,this.set(n.value||"",!0),this.register(sr(this.app.workspace,{setActiveLeaf:a=>(h,f)=>{this.activeCM.hasFocus||a.call(this.app.workspace,h,f)}})),this.options.onBlur!==bf.onBlur&&((r=this.editor)==null||r.cm.contentDOM.addEventListener("blur",()=>{this._loaded&&this.options.onBlur(this)})),(o=this.editor)==null||o.cm.contentDOM.addEventListener("focusin",()=>{this.app.keymap.pushScope(this.scope),this.app.workspace.activeEditor=this.owner}),this.editorEl.classList.remove("markdown-source-view"),n.cls&&this.editorEl.classList.add(...[].concat(n.cls)),n.cursorLocation&&((l=this.editor)==null||l.cm.dispatch({selection:N.range(n.cursorLocation.anchor,n.cursorLocation.head)}))}onUpdate(e,i){super.onUpdate(e,i),i&&this.options.onChange(e)}buildLocalExtensions(){let e=super.buildLocalExtensions();return this.options.placeholder&&e.push(Bu(this.options.placeholder)),e.push(W.domEventHandlers({paste:i=>{this.options.onPaste(i,this)}})),e.push(ci.highest(ba.of([{key:"Enter",run:i=>this.options.onEnter(this,!1,!1),shift:i=>this.options.onEnter(this,!1,!0)},{key:"Mod-Enter",run:i=>this.options.onEnter(this,!0,!1),shift:i=>this.options.onEnter(this,!0,!0)},{key:"Escape",run:i=>(this.options.onEscape(this),!0),preventDefault:!0}]))),e}getDynamicExtensions(){return super.getDynamicExtensions().filter(e=>!this.options.filteredExtensions.includes(e))}updateBottomPadding(e){return 0}destroy(){this._loaded&&this.unload(),this.app.keymap.popScope(this.scope),this.app.workspace.activeEditor===this.owner&&(this.app.workspace.activeEditor=null),this.containerEl.empty(),super.destroy()}onunload(){super.onunload(),this.destroy()}onload(){var e;super.onload(),this.options.focus&&((e=this.editor)==null||e.focus())}};var Jw="0.2.3";var _k={version:Jw,default_edit_mode:1,default_preview_mode:0,comment_style:"icon",editor_styling:!1,markup_focus:{0:{show_styling:!0,show_syntax:!0,show_metadata:!0,focus_annotation:!0,show_comment:!0},1:{show_styling:!0,show_syntax:!1,show_metadata:!1,focus_annotation:!0,show_comment:!1},2:{show_styling:!0,show_syntax:!1,show_metadata:!1,focus_annotation:!0,show_comment:!1}},diff_gutter:!0,diff_gutter_hide_empty:!0,annotation_gutter:!0,annotation_gutter_included_types:31,annotation_gutter_hide_empty:!0,annotation_gutter_default_fold_state:!1,annotation_gutter_fold_button:!0,annotation_gutter_resize_handle:!0,annotation_gutter_focus_on_click:!0,annotation_gutter_width:300,tag_completion:!0,tag_correcter:!0,clipboard_remove_syntax:!0,edit_info:!0,toolbar_preview_button:!0,toolbar_edit_button:!0,toolbar_show_buttons_labels:!0,status_bar_preview_button:!0,status_bar_edit_button:!0,status_bar_metadata_button:!0,database_workers:2,post_processor:!0,live_preview:!0,alternative_cursor_movement:!0,enable_metadata:!1,enable_author_metadata:!1,enable_timestamp_metadata:!1,enable_completed_metadata:!1,enable_style_metadata:!1,enable_color_metadata:!1,add_metadata:!1,add_author_metadata:!1,add_timestamp_metadata:!1,add_completed_metadata:!1,add_style_metadata:!1,add_color_metadata:!1,author:"",suggestion_mode_operations:{cursor_movement:{addition:"ignore_metadata",deletion:"ignore_metadata",substitution:"ignore_metadata",highlight:"ignore_metadata",comment:"ignore_completely"},bracket_movement:{addition:"stay_inside",deletion:"stay_inside",substitution:"stay_inside",highlight:"stay_inside",comment:"stay_inside"}}};var Vn=require("obsidian");var wf=(s=!1)=>{let t=sr(Vn.Menu.prototype,{onEnter:n=>function(r){let o=this.items[this.selected];return o&&o instanceof Vn.MenuItem&&o.handleEvent(r)||!0},onMenuClick:n=>function(r){if(!s||this.currentSubmenu&&this.currentSubmenu.dom.contains(r.target))r.stopImmediatePropagation();else return n&&n.apply(this,[r])},hide:n=>function(){return this.parentMenu||i(),n&&n.apply(this)}}),e=sr(Vn.MenuItem.prototype,{setChecked:n=>function(...r){return this.checkIconEl&&(this.checkIconEl.remove(),this.checkIconEl=void 0),n&&n.apply(this,r)}}),i=()=>{t(),e()};return i};var yf=require("obsidian");function Qw(s){if(s.children.length>0){let t=createSpan({cls:"cmtr-metadata-info-separator",text:" \\u2022 "});s.appendChild(t)}}function tl(s,t,e="icon"){let i=createDiv({cls:["cmtr-metadata-info"].concat(t!=null?t:[])});if(s.fields.author){let n=createSpan({cls:"cmtr-metadata-info-field"});if(e==="label"){let o=createSpan({cls:"cmtr-metadata-info-label",text:"Author: "});n.appendChild(o)}else if(e==="icon"){let o=createSpan({cls:"cmtr-metadata-info-icon"});(0,yf.setIcon)(o,"user"),n.appendChild(o)}let r=createSpan({cls:"cmtr-metadata-info-author-data",text:s.fields.author});n.appendChild(r),i.appendChild(n)}if(s.fields.time){e!=="icon"&&Qw(i);let n=createSpan({cls:"cmtr-metadata-info-field"});if(e==="label"){let o=createSpan({cls:"cmtr-metadata-info-label",text:"Updated at: "});n.appendChild(o)}else if(e==="icon"){let o=createSpan({cls:"cmtr-metadata-info-icon"});(0,yf.setIcon)(o,"clock"),n.appendChild(o)}let r=createSpan({cls:"cmtr-metadata-info-time-data",text:window.moment.unix(s.fields.time).format("MMM DD YYYY, HH:mm")});n.appendChild(r),i.appendChild(n)}return i}var vf=class extends Et.Component{constructor(e,i){super();this.range=e;this.marker=i;I(this,"text");I(this,"new_text",null);I(this,"annotation_container");I(this,"metadata_view",null);I(this,"annotation_view");I(this,"currentMode",null);I(this,"editMode",null);this.text=e.unwrap(),this.annotation_container=this.marker.annotation_thread.createDiv({cls:"cmtr-anno-gutter-annotation"}),this.annotation_container.addEventListener("blur",this.renderPreview.bind(this)),this.annotation_container.addEventListener("dblclick",this.renderSource.bind(this)),this.annotation_container.addEventListener("contextmenu",this.onCommentContextmenu.bind(this)),this.range.metadata&&(this.metadata_view=tl(this.range),this.annotation_container.appendChild(this.metadata_view)),this.annotation_view=this.annotation_container.createDiv({cls:"cmtr-anno-gutter-annotation-view"}),this.renderPreview()}onload(){super.onload()}onunload(){super.onunload(),this.annotation_container.remove(),this.editMode=null}renderSource(e){if(this.range.type!=="comment")new Et.Notice("[Commentator] You can only edit comments.");else{if(e==null||e.stopPropagation(),this.currentMode==="source")return;let{app:i}=this.marker.view.state.field(Et.editorInfoField);if(this.annotation_container.toggleClass("cmtr-anno-gutter-annotation-editing",!0),this.range.fields.author&&this.range.fields.author!==i.plugins.plugins.commentator.settings.author){new Et.Notice("[Commentator] You cannot edit comments from other authors.");return}this.annotation_view.empty(),this.editMode=this.addChild(new Fn(i,this.annotation_view,{value:this.text,cls:"cmtr-anno-gutter-annotation-editor",onSubmit:n=>{this.new_text=n.get(),this.renderPreview()},filteredExtensions:[i.plugins.plugins.commentator.editorExtensions],onBlur:this.renderPreview.bind(this)})),this.currentMode="source"}}renderPreview(){if(this.currentMode!=="preview")if(this.annotation_container.toggleClass("cmtr-anno-gutter-annotation-editing",!1),this.text===this.new_text||this.new_text===null){let{app:e}=this.marker.view.state.field(Et.editorInfoField);if(this.new_text=null,this.editMode&&(this.removeChild(this.editMode),this.editMode=null),this.annotation_view.empty(),this.range.type!=="substitution"){let i="";switch(this.range.type){case"addition":i="Added: ";break;case"deletion":i="Deleted: ";break;case"highlight":break;case"comment":break}let n=createDiv({cls:"cmtr-anno-gutter-annotation-content"});Et.MarkdownRenderer.render(e,this.text||" ",n,"",this).then(()=>{var r;((r=n.children[0])!=null?r:n).prepend(createSpan({cls:"cmtr-anno-gutter-annotation-desc",text:i})),this.annotation_view.append(...n.childNodes),n.remove()})}else{let i=this.range.unwrap_parts(),n=createDiv(),r=createDiv();Et.MarkdownRenderer.render(e,i[0]||" ",n,"",this).then(()=>{var o;((o=n.children[0])!=null?o:n).prepend(createSpan({cls:"cmtr-anno-gutter-annotation-desc",text:"Changed: "})),this.annotation_view.append(...n.childNodes),Et.MarkdownRenderer.render(e,i[1]||" ",r,"",this).then(()=>{var l;((l=r.children[0])!=null?l:r).prepend(createSpan({cls:"cmtr-anno-gutter-annotation-desc",text:"To: "})),this.annotation_view.append(...r.childNodes),n.remove(),r.remove()})})}this.annotation_view.addClass("cmtr-anno-gutter-annotation-"+this.range.type),this.currentMode="preview"}else{let e=this.marker.view.state.field(li);this.text=this.new_text,window.setTimeout(()=>{this.marker.view.dispatch({changes:{from:this.range.from,to:this.range.to,insert:rr(e,"comment",this.new_text)}})})}}onCommentContextmenu(e){e.preventDefault(),e.stopPropagation(),wf(!0);let i=new Et.Menu;this.range.type!=="comment"&&this.range.type!=="highlight"&&(i.addItem(n=>{n.setTitle("Accept changes").setIcon("check").setSection("close-annotation").onClick(()=>{this.marker.view.dispatch({changes:Wn(this.marker.view.state,this.range.from,this.range.to)})})}),i.addItem(n=>{n.setTitle("Reject changes").setIcon("cross").setSection("close-annotation").onClick(()=>{this.marker.view.dispatch({changes:Gn(this.marker.view.state,this.range.from,this.range.to)})})})),this.range.type==="comment"?(this.range.replies.length>0&&i.addItem(n=>{n.setTitle("Close comment thread").setIcon("message-square-off").setSection("close-annotation").onClick(()=>{this.marker.view.dispatch({changes:{from:this.range.full_range_front,to:this.range.full_range_back,insert:""}})})}),i.addItem(n=>{n.setTitle("Add reply").setSection("comment-handling").setIcon("reply").onClick(()=>{Zi(this.marker.view,this.range)})}),i.addItem(n=>{n.setTitle("Edit comment").setIcon("pencil").setSection("comment-handling").onClick(()=>{this.renderSource()})}),i.addItem(n=>{n.setTitle("Remove comment").setIcon("cross").setSection("comment-handling").onClick(()=>{this.marker.view.dispatch({changes:{from:this.range.from,to:this.range.to,insert:""}})})})):this.range.type!=="highlight"?(i.addItem(n=>{n.setTitle("Add reply").setSection("comment-handling").setIcon("reply").onClick(()=>{Zi(this.marker.view,this.range)})}),this.range.replies.length>0&&i.addItem(n=>{n.setTitle("Remove all comments").setIcon("message-square-x").setSection("comment-handling").onClick(()=>{this.marker.view.dispatch({changes:{from:this.range.replies[0].from,to:this.range.replies[this.range.replies.length-1].to,insert:""}})})})):i.addItem(n=>{n.setTitle("Add reply").setSection("comment-handling").setIcon("reply").onClick(()=>{Zi(this.marker.view,this.range)})}),i.addItem(n=>{n.setTitle("Fold gutter").setSection("gutter-controls").setIcon("arrow-right-from-line").onClick(()=>{this.marker.view.dispatch({annotations:[zn.of(null)]})})}),i.addItem(n=>{let r=n.setTitle("Included annotations").setIcon("eye").setSection("gutter-controls").setSubmenu(),o=this.marker.view.state.facet(Wi);for(let{title:l,icon:a,value:h}of[{title:"Additions",icon:"plus-circle",value:1},{title:"Deletions",icon:"minus-square",value:2},{title:"Substitutions",icon:"replace",value:4},{title:"Highlights",icon:"highlighter",value:8},{title:"Comments",icon:"message-square",value:16}])r.addItem(f=>{f.setTitle(l).setIcon(a).setChecked((o&h)!==0).onClick(()=>{o^=h,f.setChecked((o&h)!==0),this.marker.view.dispatch(this.marker.view.state.update({effects:[Ra.reconfigure(Wi.of(o))]}))})})}),i.showAtPosition(e)}},el=class extends Zt{constructor(e,i,n,r=0){super();this.annotation=e;this.annotations=i;this.view=n;this.itr=r;I(this,"annotation_thread");I(this,"component",new Et.Component);I(this,"preventUnload",!1)}eq(e){return this.itr===e.itr&&this.annotations===e.annotations&&this.annotations[0].equals(e.annotations[0])}onCommentThreadClick(){this.view.dispatch({annotations:[il.of({marker:this,index:-1,scroll:!0,focus_markup:!0})]}),this.annotation_thread.classList.toggle("cmtr-anno-gutter-thread-highlight",!0)}toDOM(){this.annotation_thread=createDiv({cls:"cmtr-anno-gutter-thread"}),this.annotation_thread.addEventListener("click",this.onCommentThreadClick.bind(this));for(let e of this.annotations)this.component.addChild(new vf(e,this));return this.component.load(),this.annotation_thread}focus(){this.annotation_thread.focus()}focus_annotation(e=-1,i=!1){e===-1?this.annotation_thread.classList.toggle("cmtr-anno-gutter-thread-highlight",!0):e>=0&&e<this.annotation_thread.children.length?this.annotation_thread.children.item(e).dispatchEvent(new MouseEvent("dblclick")):console.error("[Commentator] Invalid index for focusing annotation:",e),i&&window.setTimeout(()=>{let n=this.view.lineBlockAt(this.annotations[0].from).top-100;this.view.scrollDOM.scrollTo({top:n,behavior:"smooth"})},200)}unfocus_annotation(e=-1){e===-1?this.annotation_thread.classList.toggle("cmtr-anno-gutter-thread-highlight",!1):this.annotation_thread.children.item(e).classList.toggle("cmtr-anno-gutter-thread-highlight",!1)}destroy(e){this.component.unload(),this.annotation_thread.remove(),super.destroy(e)}};function hg(s,t,e){let i=s.field(Et.editorEditorField),n=(e&1)!==0,r=(e&2)!==0,o=(e&4)!==0,l=(e&8)!==0,a=(e&16)!==0,h=[];for(let f of t){let c=f.full_thread;switch(a||(c=c.slice(0,1)),f.type){case"addition":n||c.shift();break;case"deletion":r||c.shift();break;case"substitution":o||c.shift();break;case"highlight":l||c.shift();break;case"comment":a||c.shift();break}if(c.length){let u=new el(f,c,i,fg);u.preventUnload=!0,h.push(u.range(f.from,f.to))}}return h}var fg=0,tn=Tt.define({create(s){let t=s.field(ft).ranges.ranges.reduce((e,i)=>{let n=i.base_range;return e.includes(n)||e.push(n),e},[]);return K.of(hg(s,t,s.facet(Wi)))},update(s,t){let e=t.state.facet(Wi);if(t.startState.facet(Wi)!==e)return this.create(t.state);if(!t.docChanged)return s;fg+=1;let i=[];for(let r of t.state.field(ft).inserted_ranges)i.includes(r.base_range)||i.push(r.base_range);let n=t.state.field(ft).deleted_ranges.map(r=>r.base_range);return s.map(t.changes).update({filter:(r,o,l)=>{let a=!n.includes(l.annotation);return l.preventUnload=a,a},add:hg(t.state,i.map(r=>r.full_thread[0]),e)})}});var Un=require("obsidian");var cg=require("obsidian");var or=ot.define(),kf=Tt.define({create(s){return{from:s.selection.main.from,to:s.selection.main.to}},update(s,t){for(let e of t.effects)if(e.is(or))return e.value;return s}}),ty=Tt.define({create(s){return J.none},update(s,t){var n;let e=t.startState.field(kf,!1),i=t.state.field(kf);if(e!==i){let r=t.state.field(ft).ranges.ranges_in_interval(i.from,i.to);return r.length&&r[0].base_range===((n=r.at(-1))==null?void 0:n.base_range)&&i.from>=r[0].from&&i.to<=r.at(-1).to?K.of([J.mark({attributes:{class:"cmtr-focused"}}).range(r[0].full_range_front,r[0].full_range_back)]):J.none}else return s},provide(s){return W.decorations.from(s)}});var ug=require("obsidian");var Ox=J.replace({});var lr=24,iy=L.define({combine:s=>s.some(t=>t)}),dg=L.define(),jn=xt.define(),zn=xt.define(),il=xt.define(),pg=xt.define(),gg=xt.define(),mg=xt.define(),bg=xt.define(),nl=class extends Hn{constructor(e){super(e,iy,dg);I(this,"previously_focused");I(this,"debouncedMoveGutter",(0,xe.debounce)(this.moveGutter.bind(this),200));e.dom.parentElement.classList.contains("markdown-source-view")||(this.dom.style.display="none",setImmediate(()=>{e.dispatch(e.state.update({effects:[wg.reconfigure([])]}))}))}createGutters(e){return e.state.facet(dg).map(i=>new Sf(e,i,this.dom))}insertGutters(e){e.contentDOM.parentNode.insertBefore(this.dom,e.contentDOM.nextSibling)}insertDetachedGutters(e){this.view.contentDOM.parentNode.insertBefore(this.dom,this.view.contentDOM.nextSibling)}getUpdateContexts(){return this.gutters.map(e=>new xf(e,this.view.viewport,-this.view.documentPadding.top))}update(e){for(let i of e.transactions){let n=i.annotation(il);if(n){let{marker:r,index:o,scroll:l=!1,focus_markup:a=!1}=n;this.unfocusAnnotation(),this.focusAnnotation(r,o,l,a)}}super.update(e)}unfocusAnnotation(){var e;(e=this.previously_focused)==null||e.unfocus_annotation(),this.previously_focused=void 0}focusAnnotation(e,i,n=!1,r=!1){this.previously_focused=e,this.debouncedMoveGutter(e),e.focus_annotation(i,n),r&&window.setTimeout(()=>{this.view.dispatch(this.view.state.update({effects:[or.of({from:e.annotation.from,to:e.annotation.full_range_back})]}))})}updateGutters(e){let i=e.transactions.flatMap(n=>n.annotation(jn)).find(n=>n);if((i||e.startState.selection!==e.state.selection)&&this.unfocusAnnotation(),i){let{from:n,to:r,index:o=-1,scroll:l=!1}=i;t:for(let a of this.gutters[0].elements)if(n>=a.block.from){for(let h of a.markers)if(n>=h.annotation.from&&r<=h.annotation.full_range_back){this.focusAnnotation(h,o,l);break t}}else if(n<a.block.from)break}return super.updateGutters(e)}moveGutter(e){let i=this.gutters[0],n=i.elements.find(h=>h.markers.includes(e));if(!n)return;let r=n.markers.indexOf(e),o=n.block.top,l=n.dom.children[r].offsetTop,a=o-l;if(Math.abs(a)>=10&&a){let h=i.elements[0];h.dom.style.marginTop=parseInt(h.dom.style.marginTop||"0")+a+"px"}}foldGutter(){this.gutters[0].foldGutter()}},ny=Zo(nl);var xf=class extends nr{constructor(e,i,n){super(e,i,n);this.gutter=e;this.height=n;I(this,"previous_element_end",0);I(this,"new_gutter_elements",[]);I(this,"added_elements",[]);this.previous_element_end=n}async addElement(e,i,n){var f;let r=Math.max(i.top-this.previous_element_end,0),o=r<=0?this.previous_element_end:i.top;n.sort((c,u)=>c.annotation.from-u.annotation.from);let a=((f=this.gutter.elements[this.i])==null?void 0:f.dom.clientHeight)||36,h=this.gutter.elements.findIndex(c=>Qo(c.markers,n));if(h!==-1){let c=this.gutter.elements[h];for(let u=this.i;u<h;u++)this.gutter.dom.removeChild(this.gutter.elements[u].dom),this.gutter.elements[u].destroy();for(let u of this.added_elements)this.gutter.dom.insertBefore(u.dom,c.dom);this.new_gutter_elements.push(...this.added_elements),this.added_elements=[],this.i=h+1,this.new_gutter_elements.push(c),c.update(e,a,r,n,i)}else this.added_elements.push(new Cf(e,a,r,n,i));this.previous_element_end=o+a}finish(){for(let e=this.i;e<this.gutter.elements.length;e++)this.gutter.dom.removeChild(this.gutter.elements[e].dom),this.gutter.elements[e].destroy();for(let e of this.added_elements)this.gutter.dom.appendChild(e.dom);this.gutter.elements=[...this.new_gutter_elements,...this.added_elements],this.new_gutter_elements=[],this.added_elements=[]}},Sf=class extends _i{constructor(e,i,n){var r,o,l;super(e,i);this.view=e;this.config=i;this.gutterDom=n;I(this,"folded",!1);I(this,"hide_on_empty",!1);I(this,"width",0);I(this,"add_fold_button",!1);I(this,"add_resize_handle",!1);I(this,"gutter_position",0);I(this,"fold_button_el");I(this,"resize_handle_el");this.folded=i.foldState,this.width=i.width,(l=(o=(r=this.view.dom.parentElement)==null?void 0:r.parentElement)==null?void 0:o.parentElement)!=null&&l.classList.contains("markdown-embed")&&(this.folded=!0),this.hide_on_empty=i.hideOnEmpty,this.add_fold_button=i.includeFoldButton,this.add_resize_handle=i.includeResizeHandle,this.hide_on_empty&&e.state.field(tn).size===0||this.folded?this.dom.style.width="0":this.dom.style.width=this.width+"px",this.view.dom.style.setProperty("--cmtr-anno-gutter-width",this.folded?"0px":this.width+"px"),this.gutterDom.style.marginInlineStart=this.folded?"0":lr+"px",this.gutter_position=this.view.scrollDOM.getBoundingClientRect().right-this.view.contentDOM.getBoundingClientRect().right+lr,this.add_fold_button&&this.createFoldButton(),this.add_resize_handle&&this.createResizeHandle()}createFoldButton(){let e=createEl("a",{cls:["view-action"]});(0,xe.setIcon)(e,"arrow-right-from-line"),e.setAttribute("data-tooltip-position","left"),e.style.display=this.view.state.field(tn).size?"":"none",e.onclick=()=>{this.folded=!this.folded,this.view.state.field(xe.editorInfoField).app.workspace.requestSaveLayout(),this.foldGutter()},this.setFoldButtonState(),this.fold_button_el=createDiv({cls:["cmtr-anno-gutter-button"]}),this.fold_button_el.appendChild(e),this.gutterDom.appendChild(this.fold_button_el)}createResizeHandle(){this.resize_handle_el=createEl("hr",{cls:["cmtr-anno-gutter-resize-handle"]}),this.resize_handle_el.style.display=this.view.state.field(tn).size&&!this.folded?"":"none",this.resize_handle_el.addEventListener("mousedown",e=>{let i=e.clientX,n=this.view.state.field(xe.editorInfoField).app.vault.getConfig("readableLineLength"),r=document.styleSheets[0],o=(0,xe.debounce)(f=>{this.width=Math.round(Math.max(0,f)),this.view.state.field(xe.editorInfoField).app.workspace.requestSaveLayout(),this.dom.style.width=this.width+"px",this.view.dom.style.setProperty("--cmtr-anno-gutter-width",this.width+"px"),n&&(r.deleteRule(r.cssRules.length-1),r.insertRule(`.cmtr-anno-gutter-resizing .cm-line { width: ${this.view.contentDOM.clientWidth}px !important; }`,r.cssRules.length),this.gutter_position=this.view.scrollDOM.getBoundingClientRect().right-this.view.contentDOM.getBoundingClientRect().right+lr)},25);this.resize_handle_el.classList.toggle("cmtr-anno-gutter-resize-handle-hover",!0),this.view.scrollDOM.classList.toggle("cmtr-anno-gutter-resizing",!0);let l=parseInt(this.dom.style.width.slice(0,-2)),a=f=>{let c=f.clientX-i;return i=f.clientX,l-=c,o(l),!0},h=()=>{document.removeEventListener("mousemove",a),document.removeEventListener("mouseup",h),this.resize_handle_el.classList.toggle("cmtr-anno-gutter-resize-handle-hover",!1),this.view.scrollDOM.classList.toggle("cmtr-anno-gutter-resizing",!1),n&&r.deleteRule(r.cssRules.length-1)};return document.addEventListener("mousemove",a),document.addEventListener("mouseup",h),!0}),this.gutterDom.appendChild(this.resize_handle_el)}setFoldButtonState(){this.fold_button_el&&(this.folded?(this.fold_button_el.children[0].setAttribute("style","rotate: -180deg;"),this.fold_button_el.children[0].ariaLabel="Unfold gutter",this.resize_handle_el&&(this.resize_handle_el.style.display="none")):(this.fold_button_el.children[0].setAttribute("style","rotate: 0deg;"),this.fold_button_el.children[0].ariaLabel="Fold gutter",this.resize_handle_el&&(this.resize_handle_el.style.display="")))}foldGutter(){if(this.setFoldButtonState(),this.folded?this.elements.forEach(e=>{Array.from(e.dom.getElementsByClassName("cmtr-anno-gutter-annotation")).forEach(i=>{i.setAttribute("style",`max-height: ${i.clientHeight}px; overflow: hidden;`)})}):this.dom.addEventListener("transitionend",()=>{this.elements.forEach(e=>{Array.from(e.dom.getElementsByClassName("cmtr-anno-gutter-annotation")).forEach(i=>{i.removeAttribute("style")})})},{once:!0}),this.dom.style.width=this.folded?"0":this.width+"px",this.gutterDom.style.marginInlineStart=this.folded?"0":lr+"px",this.view.state.field(xe.editorInfoField).app.vault.getConfig("readableLineLength")){let e=parseInt(getComputedStyle(this.view.scrollDOM).getPropertyValue("--file-line-width").trim()),i=Math.max(0,this.view.scrollDOM.innerWidth-e),n=Math.max(0,i-this.width),r=(this.folded?i:n)/2,o=(this.folded?n:i)/2;this.view.contentDOM.style.width=this.view.contentDOM.clientWidth+(this.folded?lr:0)+"px !important",this.view.scrollDOM.children[0].setAttribute("style",`margin: 0 ${o}px; transition: margin 0.4s ease-in-out, max-width 0.4s ease-in-out;`),this.folded||this.view.dom.style.setProperty("--cmtr-anno-gutter-width",this.width+"px"),setTimeout(()=>{this.view.scrollDOM.children[0].setAttribute("style",`margin: 0 ${r}px; transition: margin 0.4s ease-in-out, max-width 0.4s ease-in-out;`),this.dom.addEventListener("transitionend",()=>{this.view.contentDOM.removeAttribute("style"),this.view.scrollDOM.children[0].removeAttribute("style"),this.folded&&this.view.dom.style.setProperty("--cmtr-anno-gutter-width","0px")},{once:!0})})}}update(e){let i=super.update(e),n=e.state.field(tn);for(let r of e.transactions){let o=r.annotation(zn),l=r.annotation(pg),a=r.annotation(gg),h=r.annotation(mg),f=r.annotation(bg);l!==void 0&&(this.width=l,!this.hide_on_empty&&!this.folded&&(this.dom.style.width=l+"px",this.setFoldButtonState()),this.view.dom.style.setProperty("--cmtr-anno-gutter-width",this.width+"px")),o!==void 0&&(o===null?(this.folded=!this.folded,this.view.state.field(xe.editorInfoField).app.workspace.requestSaveLayout()):this.folded=o,this.foldGutter()),a!==void 0&&(this.hide_on_empty=a,this.hide_on_empty&&n.size===0?this.dom.style.width="0":this.dom.style.width=this.width+"px",this.view.dom.style.setProperty("--cmtr-anno-gutter-width",this.width+"px")),h!==void 0&&(this.add_fold_button=h,this.add_fold_button&&!this.fold_button_el?this.createFoldButton():!this.add_fold_button&&this.fold_button_el&&(this.fold_button_el.remove(),this.fold_button_el=void 0),this.setFoldButtonState()),f!==void 0&&(this.add_resize_handle=f,this.add_resize_handle&&!this.resize_handle_el?this.createResizeHandle():!this.add_resize_handle&&this.resize_handle_el&&(this.resize_handle_el.remove(),this.resize_handle_el=void 0))}return n.size!==e.startState.field(tn).size&&(n.size===0?(this.fold_button_el&&(this.fold_button_el.style.display="none"),this.resize_handle_el&&(this.resize_handle_el.style.display="none"),this.hide_on_empty&&(this.dom.style.width="0")):(this.fold_button_el&&(this.fold_button_el.style.display=""),this.resize_handle_el&&(this.resize_handle_el.style.display=""),this.folded||(this.dom.style.width=this.width+"px"))),i}destroy(){var e,i;(e=this.fold_button_el)==null||e.remove(),(i=this.resize_handle_el)==null||i.remove(),super.destroy()}},Cf=class extends Ln{constructor(e,i,n,r,o=null){super(e,i,n,r);this.block=o}update(e,i,n,r,o=null){this.block=o,this.above!=n&&(this.dom.style.marginTop=(this.above=n)?n+"px":""),Qo(this.markers,r)||this.setMarkers(e,r)}};var wg=new Xt;var Sg=require("obsidian");var yg=L.define({combine:s=>s.some(t=>t)}),Mf=L.define(),vg=xt.define(),Tf=class extends Hn{constructor(t){super(t,yg,Mf),t.dom.parentElement.classList.contains("markdown-source-view")||(this.dom.style.display="none",setImmediate(()=>{t.dispatch(t.state.update({effects:[xg.reconfigure([])]}))}))}createGutters(t){return t.state.facet(Mf).map(e=>new Af(t,e))}},Af=class extends _i{constructor(e,i){super(e,i);this.view=e;this.config=i;I(this,"hide_on_empty",!1);I(this,"showing",!0);this.hide_on_empty=i.hideOnEmpty}update(e){let i=super.update(e);for(let n of e.transactions){let r=n.annotation(vg);r!==void 0&&(this.hide_on_empty=r)}return this.showing&&this.hide_on_empty&&e.state.field(ft).ranges.empty()?(this.dom.parentElement.classList.add("gutter-hidden"),this.showing=!1):!this.showing&&(!this.hide_on_empty||!e.state.field(ft).ranges.empty())&&(this.dom.parentElement.classList.remove("gutter-hidden"),this.showing=!0),i}},sy=Zo(Tf);function kg(s){return mf(sy,s,Mf,yg)}var Of=class extends Zt{constructor(e,i,n){super();this.type=e;this.top=i;this.bottom=n}toDOM(){let e="";return this.type.has("addition")&&(e+="cmtr-diff-gutter-addition "),this.type.has("deletion")&&(e+="cmtr-diff-gutter-deletion "),this.type.has("substitution")&&(e+="cmtr-diff-gutter-substitution "),this.top&&(e+="cmtr-diff-gutter-top "),this.bottom&&(e+="cmtr-diff-gutter-bottom "),createDiv({cls:e})}},_f=me.fromClass(class{constructor(t){I(this,"markers",K.empty);this.constructMarkers(t)}constructMarkers(t){let e=t.state.field(ft).ranges,i=new fi,n={};for(let r of e.ranges_in_interval(t.viewport.from,t.viewport.to)){let o=t.state.doc.lineAt(r.from).number,l=t.state.doc.lineAt(r.to).number,a=Array.from({length:l-o+1},(h,f)=>o+f);n[o]?n[o].isStart=!0:n[o]={isStart:!0,isEnd:!1,types:new Set};for(let h of a)n[h]?(n[h].isEnd=!1,n[h].types.add(r.type)):n[h]={isStart:!1,isEnd:!1,types:new Set([r.type])};n[l]&&(n[l].isEnd=!0)}for(let[r,o]of Object.entries(n)){let l=t.state.doc.line(Number(r));i.add(l.from,l.to,new Of(o.types,o.isStart,o.isEnd))}this.markers=i.finish()}update(t){(t.docChanged||t.viewportChanged||t.heightChanged)&&this.constructMarkers(t.view)}});var dS=[_f,kg({class:"cmtr-diff-gutter",markers:s=>s.plugin(_f).markers,domEventHandlers:{click:(s,t,e)=>{let i=new Sg.Menu;return i.addItem(n=>{n.setTitle("Accept changes").setIcon("check").onClick(()=>{s.dispatch({changes:Wn(s.state,t.from,t.to)})})}),i.addItem(n=>{n.setTitle("Reject changes").setIcon("cross").onClick(()=>{s.dispatch({changes:Gn(s.state,t.from,t.to)})})}),i.showAtMouseEvent(e),!1}}})],xg=new Xt;var hy=ci.high(W.inputHandler.of((s,t,e,i)=>{let n=s.state.doc.sliceString(t-2,t)+i,r;if((r=Rf[n])!==void 0){let o=[{from:t,to:e+1,insert:i+r.join("")}];return s.dispatch({changes:o,selection:N.cursor(e+1)}),!0}return!1}));var fy=ct.transactionFilter.of(s=>{if(s.isUserEvent("select")){let t=s.startState.selection.main,e=s.selection.main;if(e.anchor===e.head){let i=s.startState.field(ft).ranges,n=i.at_cursor(t.head),r=i.at_cursor(e.head);if(n&&n!==r&&(n.type==="substitution"||n.type==="highlight")){let o=n.unwrap(),l=!1,a=0,h=o.search(/\\S/);h>=1&&(l=!0,o=o.slice(h),a+=h);let f=o.match(/\\n\\s*\\n/g);if(f&&(l=!0,o=o.replace(/\\n\\s*\\n/g,`\n`),a+=f.reduce((c,u)=>c+u.length,0)),l)return{changes:[{from:n.from+3,to:n.to-3,insert:o}],selection:N.cursor(e.head-a)}}}}return s});var li;var Cg=require("obsidian");var ft=Tt.define({create(s){let t=s.doc.toString(),e=Xo.parser.parse(t),i=s.field(li),n=new vr(Ef(e,t,i));return{tree:e,fragments:we.addTree(e),ranges:n,inserted_ranges:n.ranges,deleted_ranges:[]}},update(s,t){let e=t.state.field(li);if(t.effects.some(g=>g.is(Ia)))return this.create(t.state);if(!t.docChanged)return s.inserted_ranges=[],s.deleted_ranges=[],s;let i=[];t.changes.iterChangedRanges((g,m,b,w)=>i.push({fromA:g,toA:m,fromB:b,toB:w}));let n=we.applyChanges(s.fragments,i),r=t.state.doc.toString(),o=Xo.parser.parse(new Cs(t.state.doc),n);n=we.addTree(o,n);let l=new Map,a=[],h=new Map,f=new Set;for(let g of i){s.ranges.tree.search([g.fromA,g.toA],(m,b)=>{s.ranges.tree.remove(b,m),f.add(m);for(let w of m.base_range.thread)h.set(w.from,w);return!0});for(let m of Ef(o,r,e,g.fromB,g.toB))l.set(m.from,m);a.push([g.toA,g.toB-g.fromB-(g.toA-g.fromA)])}for(let g of f)g.type==="comment"&&h.delete(g.from);let c=0,u=s.ranges.tree.nil_node;function d(g){if(g!=null&&g!=u){for(d(g.left);a.length&&g.item.key.low>=a[0][0];)c+=a.shift()[1];g.item.value.apply_offset(c),g.item.key.low=g.item.value.from,g.item.key.high=g.item.value.to,d(g.right),g.left!=u&&(g.max.low=g.left.max.low),g.right!=u&&(g.max.high=g.right.max.high)}}d(s.ranges.tree.root);let p=Array.from(l.values());for(let g of p)s.ranges.tree.insert([g.from,g.to],g);for(let g of p)g.type==="comment"&&h.set(g.from,g);if(h.size){let g=[],m,b=[];for(let w of Array.from(h.values()).sort((y,v)=>y.from-v.from))w.clear_references(),w.replies.length=0,!m||m!=null&&m.right_adjacent(w)?b.push(w):(g.push(b),b=[w]),m=w;g.push(b);for(let w of g){let y=w[0],v=s.ranges.tree.search([y.from,y.from])[0];v.replies.length=0;for(let x of w.slice(v===y?1:0))x.add_reply(v)}}return s.ranges.ranges=s.ranges.tree.values,{tree:o,ranges:s.ranges,fragments:n,inserted_ranges:p,deleted_ranges:[...f]}}});function cy(s,t,e){var r,o;let i=s.enable_metadata&&((r=t.firstChild)!=null&&r.type.name.startsWith("MDSep"))?t.firstChild.from:void 0,n;if(t.type.name==="Substitution"){let l=i?(o=t.firstChild)==null?void 0:o.nextSibling:t.firstChild;if(!l||l.type.name!=="MSub")return;n=l.from}return uy(t.from,t.to,t.type.name,e.slice(t.from,t.to),n,i)}function Ef(s,t,e,i=0,n=t.length){let r=[],o,l=s.cursor();if(l.childAfter(i-1),l.node.type.name==="CriticMarkup"||l.node.from>n)return r;if(l)do{let a=l.node;if(a.type.name==="\\u26A0")continue;let h=cy(e,a,t);h&&(h.type==="comment"&&o&&o.right_adjacent(h)&&h.add_reply(o),r.push(h),o=h)}while(l.nextSibling()&&l.node.from<=n);return r}function Mg(s,t){let e=Xo.parser.parse(s);return Ef(e,s,t)}function uy(s,t,e,i,n,r){switch(e){case"Addition":return new Ei(s,t,i,r);case"Deletion":return new nn(s,t,i,r);case"Substitution":return new rn(s,n,t,i,r);case"Highlight":return new sn(s,t,i,r);case"Comment":return new en(s,t,i,r);default:return new Ei(s,t,i,r)}}var PC={addition:Ei,deletion:nn,highlight:sn,substitution:rn,comment:en};function Jo(s){let t;return s.add_metadata&&(t={},s.add_author_metadata&&(t.author=s.author||void 0),s.add_timestamp_metadata&&(t.time=Math.floor(Date.now()/1e3)),Object.keys(t).length===0&&(t=void 0)),t}function Tg(s,t,e,i,n=0,r=0){if(!e)return{insert:t+s,start_offset:n,end_offset:r};let o=zt[e],l=i&&Object.keys(i).length?JSON.stringify(i)+"@@":"",a=o[0]+l+(e==="substitution"?t+o[1]+s+o[2]:t+s+o[1]),h=o[0].length+l.length;return n+=h,r+=e==="substitution"?o[1].length:0,{insert:a,start_offset:n,end_offset:r}}function rr(s,t,e,i=""){return Tg(e,i,t,Jo(s)).insert}var aM={addition:"ignore_metadata",deletion:"ignore_metadata",substitution:"ignore_metadata",comment:"ignore_metadata",highlight:"ignore_metadata"},hM={addition:"stay_inside",deletion:"stay_inside",substitution:"stay_inside",comment:"stay_inside",highlight:"stay_inside"};function Zi(s,t,e=!1){let i=s.state.field(li),n=t?t.full_range_back:s.state.selection.main.head,r=t?t.full_thread.length:-1;s.dispatch(s.state.update({changes:{from:n,to:n,insert:rr(i,"comment","")},selection:N.cursor(n),scrollIntoView:e})),window.setTimeout(()=>{s.dispatch(s.state.update({annotations:[jn.of({from:n,to:n,index:r})]}))})}function Wn(s,t,e,i=!0){let n=s.field(ft).ranges;return(t||e?n.ranges_in_interval(t!=null?t:0,e!=null?e:1/0):n.ranges).filter(r=>r.type==="addition"||r.type==="deletion"||r.type==="substitution").map(r=>({from:r.from,to:i?r.full_range_back:r.to,insert:r.accept()}))}function Gn(s,t,e,i=!0){let n=s.field(ft).ranges;return(t||e?n.ranges_in_interval(t!=null?t:0,e!=null?e:1/0):n.ranges).filter(r=>r.type==="addition"||r.type==="deletion"||r.type==="substitution").map(r=>({from:r.from,to:i?r.full_range_back:r.to,insert:r.reject()}))}var sl=Ng(Ag(),1);sl.default.DIFF_DELETE=-1;sl.default.DIFF_INSERT=1;sl.default.DIFF_EQUAL=0;async function Og(s,t){return await Promise.all(s.map(async e=>Mg(e,t)))}self.onmessage=async s=>{self.postMessage(await Og(s.data.files,s.data.settings))};\n')}(0,Nd.extendPrototype)(wr.default);(0,Ld.extendPrototype)(wr.default);var Uh=class extends An.Events{_events=[];onunload(){}unload(){for(;this._events.length>0;)this._events.pop()()}register(t){this._events.push(t)}registerEvent(t){this.register(()=>t.e.offref(t))}},zo=class extends Uh{constructor(e,n,r,s,o,a,l,u=2,f=p=>p,h=()=>this.plugin.settings,c=!0){super();this.plugin=e;this.name=n;this.title=r;this.version=s;this.description=o;this.defaultValue=a;this.extractValue=l;this.workers=u;this.loadValue=f;this.getSettings=h;this.old_version=parseInt(this.plugin.app.loadLocalStorage(n+"-version"))||null,this.persist=wr.default.createInstance({name:this.name+`/${this.plugin.app.appId}`,driver:wr.default.INDEXEDDB,description:o,version:s}),c&&this.startDatabase()}memory=new Map;persist;old_version=null;deleted_keys=new Set;databaseUpdate=(0,An.debounce)(()=>{this.trigger("database-update",this.allEntries()),this.flushChanges()},100,!0);flushChanges=(0,An.debounce)(async()=>{await this.persistMemory(),this.trigger("database-update",this.allEntries())},1e3,!0);on(e,n,r){return super.on(e,n,r)}async startDatabase(){this.plugin.app.workspace.onLayoutReady(async()=>{await this.persist.ready(async()=>{this.old_version===null?(await this.rebuildDatabase(),this.trigger("database-create")):this.old_version<this.version?(await this.clearDatabase(),await this.rebuildDatabase(),this.trigger("database-migrate")):(await this.loadDatabase(),await this.syncDatabase()),this.trigger("database-update",this.allEntries()),this.registerEvent(this.plugin.app.vault.on("modify",async e=>{if(e instanceof An.TFile&&e.extension==="md"){let n=this.plugin.app.workspace.activeEditor,r=n&&n.file?.path===e.path&&n.editor?n.editor.cm.state:void 0;this.storeKey(e.path,await this.extractValue(e,r),e.stat.mtime)}})),this.registerEvent(this.plugin.app.vault.on("delete",async e=>{e instanceof An.TFile&&e.extension==="md"&&this.deleteKey(e.path)})),this.registerEvent(this.plugin.app.vault.on("rename",async(e,n)=>{e instanceof An.TFile&&e.extension==="md"&&this.renameKey(n,e.path,e.stat.mtime)})),this.registerEvent(this.plugin.app.vault.on("create",async e=>{e instanceof An.TFile&&e.extension==="md"&&this.storeKey(e.path,this.defaultValue(),e.stat.mtime)}))})})}async loadDatabase(){this.memory=new Map(Object.entries(await this.persist.getItems()).map(([e,n])=>(n.data=this.loadValue(n.data),[e,n])))}async regularParseFiles(e){for(let n=0;n<e.length;n++){let r=e[n],s=this.getItem(r.path);(s===null||s.mtime<r.stat.mtime)&&this.storeKey(r.path,await this.extractValue(r),r.stat.mtime,!0)}}async workerParseFiles(e){let n=await Promise.all(e.map(async s=>await this.plugin.app.vault.cachedRead(s))),r=Math.ceil(e.length/this.workers);for(let s=0;s<this.workers;s++){let o=new Wh(null,{name:this.title+" indexer "+(s+1)}),a=e.slice(s*r,(s+1)*r),l=n.slice(s*r,(s+1)*r);o.onmessage=u=>{for(let f=0;f<a.length;f++){let h=a[f],c=this.loadValue(u.data[f]);this.storeKey(h.path,c,h.stat.mtime,!0)}o.terminate()},o.postMessage({files:l,settings:this.getSettings()})}this.plugin.app.saveLocalStorage(this.name+"-version",this.version.toString())}async syncDatabase(){let e=this.plugin.app.vault.getMarkdownFiles();this.allKeys().forEach(r=>{e.some(s=>s.path===r)||this.deleteKey(r)});let n=e.filter(r=>!this.memory.has(r.path)||this.memory.get(r.path).mtime<r.stat.mtime);n.length<=100?await this.regularParseFiles(n):await this.workerParseFiles(n),this.plugin.app.saveLocalStorage(this.name+"-version",this.version.toString())}async rebuildDatabase(){await this.workerParseFiles(this.plugin.app.vault.getMarkdownFiles()),this.plugin.app.saveLocalStorage(this.name+"-version",this.version.toString())}async persistMemory(){let e={};for(let[n,r]of this.memory.entries())r.dirty&&(e[n]={data:r.data,mtime:r.mtime},this.memory.set(n,{data:r.data,mtime:r.mtime,dirty:!1}));await this.persist.setItems(e),await Promise.all(Array.from(this.deleted_keys.values()).map(async n=>await this.persist.removeItem(n))),this.deleted_keys.clear()}storeKey(e,n,r,s=!0){this.memory.set(e,{data:n,mtime:r??Date.now(),dirty:s}),this.databaseUpdate()}deleteKey(e){if(this.getItem(e)==null)throw new Error("Key does not exist");this.memory.delete(e),this.deleted_keys.add(e),this.databaseUpdate()}renameKey(e,n,r){let s=this.getItem(e);if(s==null)throw new Error("Key does not exist");this.storeKey(n,s.data,r),this.deleteKey(e),this.databaseUpdate()}allKeys(){return Array.from(this.memory.keys())}getValue(e){return this.memory.get(e)?.data??null}allValues(){return Array.from(this.memory.values()).map(e=>e.data)}getItem(e){return this.memory.get(e)??null}allItems(){return Array.from(this.memory.values())}allEntries(){return Array.from(this.memory.entries())}async dropDatabase(){this.memory.clear(),await wr.default.dropInstance({name:this.name+`/${this.plugin.app.appId}`}),localStorage.removeItem(this.plugin.app.appId+"-"+this.name+"-version")}async reinitializeDatabase(){await this.dropDatabase(),this.persist=wr.default.createInstance({name:this.name+`/${this.plugin.app.appId}`,driver:wr.default.INDEXEDDB,version:this.version,description:this.description}),await this.rebuildDatabase(),this.trigger("database-update",this.allEntries())}async clearDatabase(){this.memory.clear(),await this.persist.clear()}isEmpty(){return this.memory.size===0}};var jh=new Uint16Array('\u1D41<\xD5\u0131\u028A\u049D\u057B\u05D0\u0675\u06DE\u07A2\u07D6\u080F\u0A4A\u0A91\u0DA1\u0E6D\u0F09\u0F26\u10CA\u1228\u12E1\u1415\u149D\u14C3\u14DF\u1525\0\0\0\0\0\0\u156B\u16CD\u198D\u1C12\u1DDD\u1F7E\u2060\u21B0\u228D\u23C0\u23FB\u2442\u2824\u2912\u2D08\u2E48\u2FCE\u3016\u32BA\u3639\u37AC\u38FE\u3A28\u3A71\u3AE0\u3B2E\u0800EMabcfglmnoprstu\\bfms\x7F\x84\x8B\x90\x95\x98\xA6\xB3\xB9\xC8\xCFlig\u803B\xC6\u40C6P\u803B&\u4026cute\u803B\xC1\u40C1reve;\u4102\u0100iyx}rc\u803B\xC2\u40C2;\u4410r;\uC000\u{1D504}rave\u803B\xC0\u40C0pha;\u4391acr;\u4100d;\u6A53\u0100gp\x9D\xA1on;\u4104f;\uC000\u{1D538}plyFunction;\u6061ing\u803B\xC5\u40C5\u0100cs\xBE\xC3r;\uC000\u{1D49C}ign;\u6254ilde\u803B\xC3\u40C3ml\u803B\xC4\u40C4\u0400aceforsu\xE5\xFB\xFE\u0117\u011C\u0122\u0127\u012A\u0100cr\xEA\xF2kslash;\u6216\u0176\xF6\xF8;\u6AE7ed;\u6306y;\u4411\u0180crt\u0105\u010B\u0114ause;\u6235noullis;\u612Ca;\u4392r;\uC000\u{1D505}pf;\uC000\u{1D539}eve;\u42D8c\xF2\u0113mpeq;\u624E\u0700HOacdefhilorsu\u014D\u0151\u0156\u0180\u019E\u01A2\u01B5\u01B7\u01BA\u01DC\u0215\u0273\u0278\u027Ecy;\u4427PY\u803B\xA9\u40A9\u0180cpy\u015D\u0162\u017Aute;\u4106\u0100;i\u0167\u0168\u62D2talDifferentialD;\u6145leys;\u612D\u0200aeio\u0189\u018E\u0194\u0198ron;\u410Cdil\u803B\xC7\u40C7rc;\u4108nint;\u6230ot;\u410A\u0100dn\u01A7\u01ADilla;\u40B8terDot;\u40B7\xF2\u017Fi;\u43A7rcle\u0200DMPT\u01C7\u01CB\u01D1\u01D6ot;\u6299inus;\u6296lus;\u6295imes;\u6297o\u0100cs\u01E2\u01F8kwiseContourIntegral;\u6232eCurly\u0100DQ\u0203\u020FoubleQuote;\u601Duote;\u6019\u0200lnpu\u021E\u0228\u0247\u0255on\u0100;e\u0225\u0226\u6237;\u6A74\u0180git\u022F\u0236\u023Aruent;\u6261nt;\u622FourIntegral;\u622E\u0100fr\u024C\u024E;\u6102oduct;\u6210nterClockwiseContourIntegral;\u6233oss;\u6A2Fcr;\uC000\u{1D49E}p\u0100;C\u0284\u0285\u62D3ap;\u624D\u0580DJSZacefios\u02A0\u02AC\u02B0\u02B4\u02B8\u02CB\u02D7\u02E1\u02E6\u0333\u048D\u0100;o\u0179\u02A5trahd;\u6911cy;\u4402cy;\u4405cy;\u440F\u0180grs\u02BF\u02C4\u02C7ger;\u6021r;\u61A1hv;\u6AE4\u0100ay\u02D0\u02D5ron;\u410E;\u4414l\u0100;t\u02DD\u02DE\u6207a;\u4394r;\uC000\u{1D507}\u0100af\u02EB\u0327\u0100cm\u02F0\u0322ritical\u0200ADGT\u0300\u0306\u0316\u031Ccute;\u40B4o\u0174\u030B\u030D;\u42D9bleAcute;\u42DDrave;\u4060ilde;\u42DCond;\u62C4ferentialD;\u6146\u0470\u033D\0\0\0\u0342\u0354\0\u0405f;\uC000\u{1D53B}\u0180;DE\u0348\u0349\u034D\u40A8ot;\u60DCqual;\u6250ble\u0300CDLRUV\u0363\u0372\u0382\u03CF\u03E2\u03F8ontourIntegra\xEC\u0239o\u0274\u0379\0\0\u037B\xBB\u0349nArrow;\u61D3\u0100eo\u0387\u03A4ft\u0180ART\u0390\u0396\u03A1rrow;\u61D0ightArrow;\u61D4e\xE5\u02CAng\u0100LR\u03AB\u03C4eft\u0100AR\u03B3\u03B9rrow;\u67F8ightArrow;\u67FAightArrow;\u67F9ight\u0100AT\u03D8\u03DErrow;\u61D2ee;\u62A8p\u0241\u03E9\0\0\u03EFrrow;\u61D1ownArrow;\u61D5erticalBar;\u6225n\u0300ABLRTa\u0412\u042A\u0430\u045E\u047F\u037Crrow\u0180;BU\u041D\u041E\u0422\u6193ar;\u6913pArrow;\u61F5reve;\u4311eft\u02D2\u043A\0\u0446\0\u0450ightVector;\u6950eeVector;\u695Eector\u0100;B\u0459\u045A\u61BDar;\u6956ight\u01D4\u0467\0\u0471eeVector;\u695Fector\u0100;B\u047A\u047B\u61C1ar;\u6957ee\u0100;A\u0486\u0487\u62A4rrow;\u61A7\u0100ct\u0492\u0497r;\uC000\u{1D49F}rok;\u4110\u0800NTacdfglmopqstux\u04BD\u04C0\u04C4\u04CB\u04DE\u04E2\u04E7\u04EE\u04F5\u0521\u052F\u0536\u0552\u055D\u0560\u0565G;\u414AH\u803B\xD0\u40D0cute\u803B\xC9\u40C9\u0180aiy\u04D2\u04D7\u04DCron;\u411Arc\u803B\xCA\u40CA;\u442Dot;\u4116r;\uC000\u{1D508}rave\u803B\xC8\u40C8ement;\u6208\u0100ap\u04FA\u04FEcr;\u4112ty\u0253\u0506\0\0\u0512mallSquare;\u65FBerySmallSquare;\u65AB\u0100gp\u0526\u052Aon;\u4118f;\uC000\u{1D53C}silon;\u4395u\u0100ai\u053C\u0549l\u0100;T\u0542\u0543\u6A75ilde;\u6242librium;\u61CC\u0100ci\u0557\u055Ar;\u6130m;\u6A73a;\u4397ml\u803B\xCB\u40CB\u0100ip\u056A\u056Fsts;\u6203onentialE;\u6147\u0280cfios\u0585\u0588\u058D\u05B2\u05CCy;\u4424r;\uC000\u{1D509}lled\u0253\u0597\0\0\u05A3mallSquare;\u65FCerySmallSquare;\u65AA\u0370\u05BA\0\u05BF\0\0\u05C4f;\uC000\u{1D53D}All;\u6200riertrf;\u6131c\xF2\u05CB\u0600JTabcdfgorst\u05E8\u05EC\u05EF\u05FA\u0600\u0612\u0616\u061B\u061D\u0623\u066C\u0672cy;\u4403\u803B>\u403Emma\u0100;d\u05F7\u05F8\u4393;\u43DCreve;\u411E\u0180eiy\u0607\u060C\u0610dil;\u4122rc;\u411C;\u4413ot;\u4120r;\uC000\u{1D50A};\u62D9pf;\uC000\u{1D53E}eater\u0300EFGLST\u0635\u0644\u064E\u0656\u065B\u0666qual\u0100;L\u063E\u063F\u6265ess;\u62DBullEqual;\u6267reater;\u6AA2ess;\u6277lantEqual;\u6A7Eilde;\u6273cr;\uC000\u{1D4A2};\u626B\u0400Aacfiosu\u0685\u068B\u0696\u069B\u069E\u06AA\u06BE\u06CARDcy;\u442A\u0100ct\u0690\u0694ek;\u42C7;\u405Eirc;\u4124r;\u610ClbertSpace;\u610B\u01F0\u06AF\0\u06B2f;\u610DizontalLine;\u6500\u0100ct\u06C3\u06C5\xF2\u06A9rok;\u4126mp\u0144\u06D0\u06D8ownHum\xF0\u012Fqual;\u624F\u0700EJOacdfgmnostu\u06FA\u06FE\u0703\u0707\u070E\u071A\u071E\u0721\u0728\u0744\u0778\u078B\u078F\u0795cy;\u4415lig;\u4132cy;\u4401cute\u803B\xCD\u40CD\u0100iy\u0713\u0718rc\u803B\xCE\u40CE;\u4418ot;\u4130r;\u6111rave\u803B\xCC\u40CC\u0180;ap\u0720\u072F\u073F\u0100cg\u0734\u0737r;\u412AinaryI;\u6148lie\xF3\u03DD\u01F4\u0749\0\u0762\u0100;e\u074D\u074E\u622C\u0100gr\u0753\u0758ral;\u622Bsection;\u62C2isible\u0100CT\u076C\u0772omma;\u6063imes;\u6062\u0180gpt\u077F\u0783\u0788on;\u412Ef;\uC000\u{1D540}a;\u4399cr;\u6110ilde;\u4128\u01EB\u079A\0\u079Ecy;\u4406l\u803B\xCF\u40CF\u0280cfosu\u07AC\u07B7\u07BC\u07C2\u07D0\u0100iy\u07B1\u07B5rc;\u4134;\u4419r;\uC000\u{1D50D}pf;\uC000\u{1D541}\u01E3\u07C7\0\u07CCr;\uC000\u{1D4A5}rcy;\u4408kcy;\u4404\u0380HJacfos\u07E4\u07E8\u07EC\u07F1\u07FD\u0802\u0808cy;\u4425cy;\u440Cppa;\u439A\u0100ey\u07F6\u07FBdil;\u4136;\u441Ar;\uC000\u{1D50E}pf;\uC000\u{1D542}cr;\uC000\u{1D4A6}\u0580JTaceflmost\u0825\u0829\u082C\u0850\u0863\u09B3\u09B8\u09C7\u09CD\u0A37\u0A47cy;\u4409\u803B<\u403C\u0280cmnpr\u0837\u083C\u0841\u0844\u084Dute;\u4139bda;\u439Bg;\u67EAlacetrf;\u6112r;\u619E\u0180aey\u0857\u085C\u0861ron;\u413Ddil;\u413B;\u441B\u0100fs\u0868\u0970t\u0500ACDFRTUVar\u087E\u08A9\u08B1\u08E0\u08E6\u08FC\u092F\u095B\u0390\u096A\u0100nr\u0883\u088FgleBracket;\u67E8row\u0180;BR\u0899\u089A\u089E\u6190ar;\u61E4ightArrow;\u61C6eiling;\u6308o\u01F5\u08B7\0\u08C3bleBracket;\u67E6n\u01D4\u08C8\0\u08D2eeVector;\u6961ector\u0100;B\u08DB\u08DC\u61C3ar;\u6959loor;\u630Aight\u0100AV\u08EF\u08F5rrow;\u6194ector;\u694E\u0100er\u0901\u0917e\u0180;AV\u0909\u090A\u0910\u62A3rrow;\u61A4ector;\u695Aiangle\u0180;BE\u0924\u0925\u0929\u62B2ar;\u69CFqual;\u62B4p\u0180DTV\u0937\u0942\u094CownVector;\u6951eeVector;\u6960ector\u0100;B\u0956\u0957\u61BFar;\u6958ector\u0100;B\u0965\u0966\u61BCar;\u6952ight\xE1\u039Cs\u0300EFGLST\u097E\u098B\u0995\u099D\u09A2\u09ADqualGreater;\u62DAullEqual;\u6266reater;\u6276ess;\u6AA1lantEqual;\u6A7Dilde;\u6272r;\uC000\u{1D50F}\u0100;e\u09BD\u09BE\u62D8ftarrow;\u61DAidot;\u413F\u0180npw\u09D4\u0A16\u0A1Bg\u0200LRlr\u09DE\u09F7\u0A02\u0A10eft\u0100AR\u09E6\u09ECrrow;\u67F5ightArrow;\u67F7ightArrow;\u67F6eft\u0100ar\u03B3\u0A0Aight\xE1\u03BFight\xE1\u03CAf;\uC000\u{1D543}er\u0100LR\u0A22\u0A2CeftArrow;\u6199ightArrow;\u6198\u0180cht\u0A3E\u0A40\u0A42\xF2\u084C;\u61B0rok;\u4141;\u626A\u0400acefiosu\u0A5A\u0A5D\u0A60\u0A77\u0A7C\u0A85\u0A8B\u0A8Ep;\u6905y;\u441C\u0100dl\u0A65\u0A6FiumSpace;\u605Flintrf;\u6133r;\uC000\u{1D510}nusPlus;\u6213pf;\uC000\u{1D544}c\xF2\u0A76;\u439C\u0480Jacefostu\u0AA3\u0AA7\u0AAD\u0AC0\u0B14\u0B19\u0D91\u0D97\u0D9Ecy;\u440Acute;\u4143\u0180aey\u0AB4\u0AB9\u0ABEron;\u4147dil;\u4145;\u441D\u0180gsw\u0AC7\u0AF0\u0B0Eative\u0180MTV\u0AD3\u0ADF\u0AE8ediumSpace;\u600Bhi\u0100cn\u0AE6\u0AD8\xEB\u0AD9eryThi\xEE\u0AD9ted\u0100GL\u0AF8\u0B06reaterGreate\xF2\u0673essLes\xF3\u0A48Line;\u400Ar;\uC000\u{1D511}\u0200Bnpt\u0B22\u0B28\u0B37\u0B3Areak;\u6060BreakingSpace;\u40A0f;\u6115\u0680;CDEGHLNPRSTV\u0B55\u0B56\u0B6A\u0B7C\u0BA1\u0BEB\u0C04\u0C5E\u0C84\u0CA6\u0CD8\u0D61\u0D85\u6AEC\u0100ou\u0B5B\u0B64ngruent;\u6262pCap;\u626DoubleVerticalBar;\u6226\u0180lqx\u0B83\u0B8A\u0B9Bement;\u6209ual\u0100;T\u0B92\u0B93\u6260ilde;\uC000\u2242\u0338ists;\u6204reater\u0380;EFGLST\u0BB6\u0BB7\u0BBD\u0BC9\u0BD3\u0BD8\u0BE5\u626Fqual;\u6271ullEqual;\uC000\u2267\u0338reater;\uC000\u226B\u0338ess;\u6279lantEqual;\uC000\u2A7E\u0338ilde;\u6275ump\u0144\u0BF2\u0BFDownHump;\uC000\u224E\u0338qual;\uC000\u224F\u0338e\u0100fs\u0C0A\u0C27tTriangle\u0180;BE\u0C1A\u0C1B\u0C21\u62EAar;\uC000\u29CF\u0338qual;\u62ECs\u0300;EGLST\u0C35\u0C36\u0C3C\u0C44\u0C4B\u0C58\u626Equal;\u6270reater;\u6278ess;\uC000\u226A\u0338lantEqual;\uC000\u2A7D\u0338ilde;\u6274ested\u0100GL\u0C68\u0C79reaterGreater;\uC000\u2AA2\u0338essLess;\uC000\u2AA1\u0338recedes\u0180;ES\u0C92\u0C93\u0C9B\u6280qual;\uC000\u2AAF\u0338lantEqual;\u62E0\u0100ei\u0CAB\u0CB9verseElement;\u620CghtTriangle\u0180;BE\u0CCB\u0CCC\u0CD2\u62EBar;\uC000\u29D0\u0338qual;\u62ED\u0100qu\u0CDD\u0D0CuareSu\u0100bp\u0CE8\u0CF9set\u0100;E\u0CF0\u0CF3\uC000\u228F\u0338qual;\u62E2erset\u0100;E\u0D03\u0D06\uC000\u2290\u0338qual;\u62E3\u0180bcp\u0D13\u0D24\u0D4Eset\u0100;E\u0D1B\u0D1E\uC000\u2282\u20D2qual;\u6288ceeds\u0200;EST\u0D32\u0D33\u0D3B\u0D46\u6281qual;\uC000\u2AB0\u0338lantEqual;\u62E1ilde;\uC000\u227F\u0338erset\u0100;E\u0D58\u0D5B\uC000\u2283\u20D2qual;\u6289ilde\u0200;EFT\u0D6E\u0D6F\u0D75\u0D7F\u6241qual;\u6244ullEqual;\u6247ilde;\u6249erticalBar;\u6224cr;\uC000\u{1D4A9}ilde\u803B\xD1\u40D1;\u439D\u0700Eacdfgmoprstuv\u0DBD\u0DC2\u0DC9\u0DD5\u0DDB\u0DE0\u0DE7\u0DFC\u0E02\u0E20\u0E22\u0E32\u0E3F\u0E44lig;\u4152cute\u803B\xD3\u40D3\u0100iy\u0DCE\u0DD3rc\u803B\xD4\u40D4;\u441Eblac;\u4150r;\uC000\u{1D512}rave\u803B\xD2\u40D2\u0180aei\u0DEE\u0DF2\u0DF6cr;\u414Cga;\u43A9cron;\u439Fpf;\uC000\u{1D546}enCurly\u0100DQ\u0E0E\u0E1AoubleQuote;\u601Cuote;\u6018;\u6A54\u0100cl\u0E27\u0E2Cr;\uC000\u{1D4AA}ash\u803B\xD8\u40D8i\u016C\u0E37\u0E3Cde\u803B\xD5\u40D5es;\u6A37ml\u803B\xD6\u40D6er\u0100BP\u0E4B\u0E60\u0100ar\u0E50\u0E53r;\u603Eac\u0100ek\u0E5A\u0E5C;\u63DEet;\u63B4arenthesis;\u63DC\u0480acfhilors\u0E7F\u0E87\u0E8A\u0E8F\u0E92\u0E94\u0E9D\u0EB0\u0EFCrtialD;\u6202y;\u441Fr;\uC000\u{1D513}i;\u43A6;\u43A0usMinus;\u40B1\u0100ip\u0EA2\u0EADncareplan\xE5\u069Df;\u6119\u0200;eio\u0EB9\u0EBA\u0EE0\u0EE4\u6ABBcedes\u0200;EST\u0EC8\u0EC9\u0ECF\u0EDA\u627Aqual;\u6AAFlantEqual;\u627Cilde;\u627Eme;\u6033\u0100dp\u0EE9\u0EEEuct;\u620Fortion\u0100;a\u0225\u0EF9l;\u621D\u0100ci\u0F01\u0F06r;\uC000\u{1D4AB};\u43A8\u0200Ufos\u0F11\u0F16\u0F1B\u0F1FOT\u803B"\u4022r;\uC000\u{1D514}pf;\u611Acr;\uC000\u{1D4AC}\u0600BEacefhiorsu\u0F3E\u0F43\u0F47\u0F60\u0F73\u0FA7\u0FAA\u0FAD\u1096\u10A9\u10B4\u10BEarr;\u6910G\u803B\xAE\u40AE\u0180cnr\u0F4E\u0F53\u0F56ute;\u4154g;\u67EBr\u0100;t\u0F5C\u0F5D\u61A0l;\u6916\u0180aey\u0F67\u0F6C\u0F71ron;\u4158dil;\u4156;\u4420\u0100;v\u0F78\u0F79\u611Cerse\u0100EU\u0F82\u0F99\u0100lq\u0F87\u0F8Eement;\u620Builibrium;\u61CBpEquilibrium;\u696Fr\xBB\u0F79o;\u43A1ght\u0400ACDFTUVa\u0FC1\u0FEB\u0FF3\u1022\u1028\u105B\u1087\u03D8\u0100nr\u0FC6\u0FD2gleBracket;\u67E9row\u0180;BL\u0FDC\u0FDD\u0FE1\u6192ar;\u61E5eftArrow;\u61C4eiling;\u6309o\u01F5\u0FF9\0\u1005bleBracket;\u67E7n\u01D4\u100A\0\u1014eeVector;\u695Dector\u0100;B\u101D\u101E\u61C2ar;\u6955loor;\u630B\u0100er\u102D\u1043e\u0180;AV\u1035\u1036\u103C\u62A2rrow;\u61A6ector;\u695Biangle\u0180;BE\u1050\u1051\u1055\u62B3ar;\u69D0qual;\u62B5p\u0180DTV\u1063\u106E\u1078ownVector;\u694FeeVector;\u695Cector\u0100;B\u1082\u1083\u61BEar;\u6954ector\u0100;B\u1091\u1092\u61C0ar;\u6953\u0100pu\u109B\u109Ef;\u611DndImplies;\u6970ightarrow;\u61DB\u0100ch\u10B9\u10BCr;\u611B;\u61B1leDelayed;\u69F4\u0680HOacfhimoqstu\u10E4\u10F1\u10F7\u10FD\u1119\u111E\u1151\u1156\u1161\u1167\u11B5\u11BB\u11BF\u0100Cc\u10E9\u10EEHcy;\u4429y;\u4428FTcy;\u442Ccute;\u415A\u0280;aeiy\u1108\u1109\u110E\u1113\u1117\u6ABCron;\u4160dil;\u415Erc;\u415C;\u4421r;\uC000\u{1D516}ort\u0200DLRU\u112A\u1134\u113E\u1149ownArrow\xBB\u041EeftArrow\xBB\u089AightArrow\xBB\u0FDDpArrow;\u6191gma;\u43A3allCircle;\u6218pf;\uC000\u{1D54A}\u0272\u116D\0\0\u1170t;\u621Aare\u0200;ISU\u117B\u117C\u1189\u11AF\u65A1ntersection;\u6293u\u0100bp\u118F\u119Eset\u0100;E\u1197\u1198\u628Fqual;\u6291erset\u0100;E\u11A8\u11A9\u6290qual;\u6292nion;\u6294cr;\uC000\u{1D4AE}ar;\u62C6\u0200bcmp\u11C8\u11DB\u1209\u120B\u0100;s\u11CD\u11CE\u62D0et\u0100;E\u11CD\u11D5qual;\u6286\u0100ch\u11E0\u1205eeds\u0200;EST\u11ED\u11EE\u11F4\u11FF\u627Bqual;\u6AB0lantEqual;\u627Dilde;\u627FTh\xE1\u0F8C;\u6211\u0180;es\u1212\u1213\u1223\u62D1rset\u0100;E\u121C\u121D\u6283qual;\u6287et\xBB\u1213\u0580HRSacfhiors\u123E\u1244\u1249\u1255\u125E\u1271\u1276\u129F\u12C2\u12C8\u12D1ORN\u803B\xDE\u40DEADE;\u6122\u0100Hc\u124E\u1252cy;\u440By;\u4426\u0100bu\u125A\u125C;\u4009;\u43A4\u0180aey\u1265\u126A\u126Fron;\u4164dil;\u4162;\u4422r;\uC000\u{1D517}\u0100ei\u127B\u1289\u01F2\u1280\0\u1287efore;\u6234a;\u4398\u0100cn\u128E\u1298kSpace;\uC000\u205F\u200ASpace;\u6009lde\u0200;EFT\u12AB\u12AC\u12B2\u12BC\u623Cqual;\u6243ullEqual;\u6245ilde;\u6248pf;\uC000\u{1D54B}ipleDot;\u60DB\u0100ct\u12D6\u12DBr;\uC000\u{1D4AF}rok;\u4166\u0AE1\u12F7\u130E\u131A\u1326\0\u132C\u1331\0\0\0\0\0\u1338\u133D\u1377\u1385\0\u13FF\u1404\u140A\u1410\u0100cr\u12FB\u1301ute\u803B\xDA\u40DAr\u0100;o\u1307\u1308\u619Fcir;\u6949r\u01E3\u1313\0\u1316y;\u440Eve;\u416C\u0100iy\u131E\u1323rc\u803B\xDB\u40DB;\u4423blac;\u4170r;\uC000\u{1D518}rave\u803B\xD9\u40D9acr;\u416A\u0100di\u1341\u1369er\u0100BP\u1348\u135D\u0100ar\u134D\u1350r;\u405Fac\u0100ek\u1357\u1359;\u63DFet;\u63B5arenthesis;\u63DDon\u0100;P\u1370\u1371\u62C3lus;\u628E\u0100gp\u137B\u137Fon;\u4172f;\uC000\u{1D54C}\u0400ADETadps\u1395\u13AE\u13B8\u13C4\u03E8\u13D2\u13D7\u13F3rrow\u0180;BD\u1150\u13A0\u13A4ar;\u6912ownArrow;\u61C5ownArrow;\u6195quilibrium;\u696Eee\u0100;A\u13CB\u13CC\u62A5rrow;\u61A5own\xE1\u03F3er\u0100LR\u13DE\u13E8eftArrow;\u6196ightArrow;\u6197i\u0100;l\u13F9\u13FA\u43D2on;\u43A5ing;\u416Ecr;\uC000\u{1D4B0}ilde;\u4168ml\u803B\xDC\u40DC\u0480Dbcdefosv\u1427\u142C\u1430\u1433\u143E\u1485\u148A\u1490\u1496ash;\u62ABar;\u6AEBy;\u4412ash\u0100;l\u143B\u143C\u62A9;\u6AE6\u0100er\u1443\u1445;\u62C1\u0180bty\u144C\u1450\u147Aar;\u6016\u0100;i\u144F\u1455cal\u0200BLST\u1461\u1465\u146A\u1474ar;\u6223ine;\u407Ceparator;\u6758ilde;\u6240ThinSpace;\u600Ar;\uC000\u{1D519}pf;\uC000\u{1D54D}cr;\uC000\u{1D4B1}dash;\u62AA\u0280cefos\u14A7\u14AC\u14B1\u14B6\u14BCirc;\u4174dge;\u62C0r;\uC000\u{1D51A}pf;\uC000\u{1D54E}cr;\uC000\u{1D4B2}\u0200fios\u14CB\u14D0\u14D2\u14D8r;\uC000\u{1D51B};\u439Epf;\uC000\u{1D54F}cr;\uC000\u{1D4B3}\u0480AIUacfosu\u14F1\u14F5\u14F9\u14FD\u1504\u150F\u1514\u151A\u1520cy;\u442Fcy;\u4407cy;\u442Ecute\u803B\xDD\u40DD\u0100iy\u1509\u150Drc;\u4176;\u442Br;\uC000\u{1D51C}pf;\uC000\u{1D550}cr;\uC000\u{1D4B4}ml;\u4178\u0400Hacdefos\u1535\u1539\u153F\u154B\u154F\u155D\u1560\u1564cy;\u4416cute;\u4179\u0100ay\u1544\u1549ron;\u417D;\u4417ot;\u417B\u01F2\u1554\0\u155BoWidt\xE8\u0AD9a;\u4396r;\u6128pf;\u6124cr;\uC000\u{1D4B5}\u0BE1\u1583\u158A\u1590\0\u15B0\u15B6\u15BF\0\0\0\0\u15C6\u15DB\u15EB\u165F\u166D\0\u1695\u169B\u16B2\u16B9\0\u16BEcute\u803B\xE1\u40E1reve;\u4103\u0300;Ediuy\u159C\u159D\u15A1\u15A3\u15A8\u15AD\u623E;\uC000\u223E\u0333;\u623Frc\u803B\xE2\u40E2te\u80BB\xB4\u0306;\u4430lig\u803B\xE6\u40E6\u0100;r\xB2\u15BA;\uC000\u{1D51E}rave\u803B\xE0\u40E0\u0100ep\u15CA\u15D6\u0100fp\u15CF\u15D4sym;\u6135\xE8\u15D3ha;\u43B1\u0100ap\u15DFc\u0100cl\u15E4\u15E7r;\u4101g;\u6A3F\u0264\u15F0\0\0\u160A\u0280;adsv\u15FA\u15FB\u15FF\u1601\u1607\u6227nd;\u6A55;\u6A5Clope;\u6A58;\u6A5A\u0380;elmrsz\u1618\u1619\u161B\u161E\u163F\u164F\u1659\u6220;\u69A4e\xBB\u1619sd\u0100;a\u1625\u1626\u6221\u0461\u1630\u1632\u1634\u1636\u1638\u163A\u163C\u163E;\u69A8;\u69A9;\u69AA;\u69AB;\u69AC;\u69AD;\u69AE;\u69AFt\u0100;v\u1645\u1646\u621Fb\u0100;d\u164C\u164D\u62BE;\u699D\u0100pt\u1654\u1657h;\u6222\xBB\xB9arr;\u637C\u0100gp\u1663\u1667on;\u4105f;\uC000\u{1D552}\u0380;Eaeiop\u12C1\u167B\u167D\u1682\u1684\u1687\u168A;\u6A70cir;\u6A6F;\u624Ad;\u624Bs;\u4027rox\u0100;e\u12C1\u1692\xF1\u1683ing\u803B\xE5\u40E5\u0180cty\u16A1\u16A6\u16A8r;\uC000\u{1D4B6};\u402Amp\u0100;e\u12C1\u16AF\xF1\u0288ilde\u803B\xE3\u40E3ml\u803B\xE4\u40E4\u0100ci\u16C2\u16C8onin\xF4\u0272nt;\u6A11\u0800Nabcdefiklnoprsu\u16ED\u16F1\u1730\u173C\u1743\u1748\u1778\u177D\u17E0\u17E6\u1839\u1850\u170D\u193D\u1948\u1970ot;\u6AED\u0100cr\u16F6\u171Ek\u0200ceps\u1700\u1705\u170D\u1713ong;\u624Cpsilon;\u43F6rime;\u6035im\u0100;e\u171A\u171B\u623Dq;\u62CD\u0176\u1722\u1726ee;\u62BDed\u0100;g\u172C\u172D\u6305e\xBB\u172Drk\u0100;t\u135C\u1737brk;\u63B6\u0100oy\u1701\u1741;\u4431quo;\u601E\u0280cmprt\u1753\u175B\u1761\u1764\u1768aus\u0100;e\u010A\u0109ptyv;\u69B0s\xE9\u170Cno\xF5\u0113\u0180ahw\u176F\u1771\u1773;\u43B2;\u6136een;\u626Cr;\uC000\u{1D51F}g\u0380costuvw\u178D\u179D\u17B3\u17C1\u17D5\u17DB\u17DE\u0180aiu\u1794\u1796\u179A\xF0\u0760rc;\u65EFp\xBB\u1371\u0180dpt\u17A4\u17A8\u17ADot;\u6A00lus;\u6A01imes;\u6A02\u0271\u17B9\0\0\u17BEcup;\u6A06ar;\u6605riangle\u0100du\u17CD\u17D2own;\u65BDp;\u65B3plus;\u6A04e\xE5\u1444\xE5\u14ADarow;\u690D\u0180ako\u17ED\u1826\u1835\u0100cn\u17F2\u1823k\u0180lst\u17FA\u05AB\u1802ozenge;\u69EBriangle\u0200;dlr\u1812\u1813\u1818\u181D\u65B4own;\u65BEeft;\u65C2ight;\u65B8k;\u6423\u01B1\u182B\0\u1833\u01B2\u182F\0\u1831;\u6592;\u65914;\u6593ck;\u6588\u0100eo\u183E\u184D\u0100;q\u1843\u1846\uC000=\u20E5uiv;\uC000\u2261\u20E5t;\u6310\u0200ptwx\u1859\u185E\u1867\u186Cf;\uC000\u{1D553}\u0100;t\u13CB\u1863om\xBB\u13CCtie;\u62C8\u0600DHUVbdhmptuv\u1885\u1896\u18AA\u18BB\u18D7\u18DB\u18EC\u18FF\u1905\u190A\u1910\u1921\u0200LRlr\u188E\u1890\u1892\u1894;\u6557;\u6554;\u6556;\u6553\u0280;DUdu\u18A1\u18A2\u18A4\u18A6\u18A8\u6550;\u6566;\u6569;\u6564;\u6567\u0200LRlr\u18B3\u18B5\u18B7\u18B9;\u655D;\u655A;\u655C;\u6559\u0380;HLRhlr\u18CA\u18CB\u18CD\u18CF\u18D1\u18D3\u18D5\u6551;\u656C;\u6563;\u6560;\u656B;\u6562;\u655Fox;\u69C9\u0200LRlr\u18E4\u18E6\u18E8\u18EA;\u6555;\u6552;\u6510;\u650C\u0280;DUdu\u06BD\u18F7\u18F9\u18FB\u18FD;\u6565;\u6568;\u652C;\u6534inus;\u629Flus;\u629Eimes;\u62A0\u0200LRlr\u1919\u191B\u191D\u191F;\u655B;\u6558;\u6518;\u6514\u0380;HLRhlr\u1930\u1931\u1933\u1935\u1937\u1939\u193B\u6502;\u656A;\u6561;\u655E;\u653C;\u6524;\u651C\u0100ev\u0123\u1942bar\u803B\xA6\u40A6\u0200ceio\u1951\u1956\u195A\u1960r;\uC000\u{1D4B7}mi;\u604Fm\u0100;e\u171A\u171Cl\u0180;bh\u1968\u1969\u196B\u405C;\u69C5sub;\u67C8\u016C\u1974\u197El\u0100;e\u1979\u197A\u6022t\xBB\u197Ap\u0180;Ee\u012F\u1985\u1987;\u6AAE\u0100;q\u06DC\u06DB\u0CE1\u19A7\0\u19E8\u1A11\u1A15\u1A32\0\u1A37\u1A50\0\0\u1AB4\0\0\u1AC1\0\0\u1B21\u1B2E\u1B4D\u1B52\0\u1BFD\0\u1C0C\u0180cpr\u19AD\u19B2\u19DDute;\u4107\u0300;abcds\u19BF\u19C0\u19C4\u19CA\u19D5\u19D9\u6229nd;\u6A44rcup;\u6A49\u0100au\u19CF\u19D2p;\u6A4Bp;\u6A47ot;\u6A40;\uC000\u2229\uFE00\u0100eo\u19E2\u19E5t;\u6041\xEE\u0693\u0200aeiu\u19F0\u19FB\u1A01\u1A05\u01F0\u19F5\0\u19F8s;\u6A4Don;\u410Ddil\u803B\xE7\u40E7rc;\u4109ps\u0100;s\u1A0C\u1A0D\u6A4Cm;\u6A50ot;\u410B\u0180dmn\u1A1B\u1A20\u1A26il\u80BB\xB8\u01ADptyv;\u69B2t\u8100\xA2;e\u1A2D\u1A2E\u40A2r\xE4\u01B2r;\uC000\u{1D520}\u0180cei\u1A3D\u1A40\u1A4Dy;\u4447ck\u0100;m\u1A47\u1A48\u6713ark\xBB\u1A48;\u43C7r\u0380;Ecefms\u1A5F\u1A60\u1A62\u1A6B\u1AA4\u1AAA\u1AAE\u65CB;\u69C3\u0180;el\u1A69\u1A6A\u1A6D\u42C6q;\u6257e\u0261\u1A74\0\0\u1A88rrow\u0100lr\u1A7C\u1A81eft;\u61BAight;\u61BB\u0280RSacd\u1A92\u1A94\u1A96\u1A9A\u1A9F\xBB\u0F47;\u64C8st;\u629Birc;\u629Aash;\u629Dnint;\u6A10id;\u6AEFcir;\u69C2ubs\u0100;u\u1ABB\u1ABC\u6663it\xBB\u1ABC\u02EC\u1AC7\u1AD4\u1AFA\0\u1B0Aon\u0100;e\u1ACD\u1ACE\u403A\u0100;q\xC7\xC6\u026D\u1AD9\0\0\u1AE2a\u0100;t\u1ADE\u1ADF\u402C;\u4040\u0180;fl\u1AE8\u1AE9\u1AEB\u6201\xEE\u1160e\u0100mx\u1AF1\u1AF6ent\xBB\u1AE9e\xF3\u024D\u01E7\u1AFE\0\u1B07\u0100;d\u12BB\u1B02ot;\u6A6Dn\xF4\u0246\u0180fry\u1B10\u1B14\u1B17;\uC000\u{1D554}o\xE4\u0254\u8100\xA9;s\u0155\u1B1Dr;\u6117\u0100ao\u1B25\u1B29rr;\u61B5ss;\u6717\u0100cu\u1B32\u1B37r;\uC000\u{1D4B8}\u0100bp\u1B3C\u1B44\u0100;e\u1B41\u1B42\u6ACF;\u6AD1\u0100;e\u1B49\u1B4A\u6AD0;\u6AD2dot;\u62EF\u0380delprvw\u1B60\u1B6C\u1B77\u1B82\u1BAC\u1BD4\u1BF9arr\u0100lr\u1B68\u1B6A;\u6938;\u6935\u0270\u1B72\0\0\u1B75r;\u62DEc;\u62DFarr\u0100;p\u1B7F\u1B80\u61B6;\u693D\u0300;bcdos\u1B8F\u1B90\u1B96\u1BA1\u1BA5\u1BA8\u622Arcap;\u6A48\u0100au\u1B9B\u1B9Ep;\u6A46p;\u6A4Aot;\u628Dr;\u6A45;\uC000\u222A\uFE00\u0200alrv\u1BB5\u1BBF\u1BDE\u1BE3rr\u0100;m\u1BBC\u1BBD\u61B7;\u693Cy\u0180evw\u1BC7\u1BD4\u1BD8q\u0270\u1BCE\0\0\u1BD2re\xE3\u1B73u\xE3\u1B75ee;\u62CEedge;\u62CFen\u803B\xA4\u40A4earrow\u0100lr\u1BEE\u1BF3eft\xBB\u1B80ight\xBB\u1BBDe\xE4\u1BDD\u0100ci\u1C01\u1C07onin\xF4\u01F7nt;\u6231lcty;\u632D\u0980AHabcdefhijlorstuwz\u1C38\u1C3B\u1C3F\u1C5D\u1C69\u1C75\u1C8A\u1C9E\u1CAC\u1CB7\u1CFB\u1CFF\u1D0D\u1D7B\u1D91\u1DAB\u1DBB\u1DC6\u1DCDr\xF2\u0381ar;\u6965\u0200glrs\u1C48\u1C4D\u1C52\u1C54ger;\u6020eth;\u6138\xF2\u1133h\u0100;v\u1C5A\u1C5B\u6010\xBB\u090A\u016B\u1C61\u1C67arow;\u690Fa\xE3\u0315\u0100ay\u1C6E\u1C73ron;\u410F;\u4434\u0180;ao\u0332\u1C7C\u1C84\u0100gr\u02BF\u1C81r;\u61CAtseq;\u6A77\u0180glm\u1C91\u1C94\u1C98\u803B\xB0\u40B0ta;\u43B4ptyv;\u69B1\u0100ir\u1CA3\u1CA8sht;\u697F;\uC000\u{1D521}ar\u0100lr\u1CB3\u1CB5\xBB\u08DC\xBB\u101E\u0280aegsv\u1CC2\u0378\u1CD6\u1CDC\u1CE0m\u0180;os\u0326\u1CCA\u1CD4nd\u0100;s\u0326\u1CD1uit;\u6666amma;\u43DDin;\u62F2\u0180;io\u1CE7\u1CE8\u1CF8\u40F7de\u8100\xF7;o\u1CE7\u1CF0ntimes;\u62C7n\xF8\u1CF7cy;\u4452c\u026F\u1D06\0\0\u1D0Arn;\u631Eop;\u630D\u0280lptuw\u1D18\u1D1D\u1D22\u1D49\u1D55lar;\u4024f;\uC000\u{1D555}\u0280;emps\u030B\u1D2D\u1D37\u1D3D\u1D42q\u0100;d\u0352\u1D33ot;\u6251inus;\u6238lus;\u6214quare;\u62A1blebarwedg\xE5\xFAn\u0180adh\u112E\u1D5D\u1D67ownarrow\xF3\u1C83arpoon\u0100lr\u1D72\u1D76ef\xF4\u1CB4igh\xF4\u1CB6\u0162\u1D7F\u1D85karo\xF7\u0F42\u026F\u1D8A\0\0\u1D8Ern;\u631Fop;\u630C\u0180cot\u1D98\u1DA3\u1DA6\u0100ry\u1D9D\u1DA1;\uC000\u{1D4B9};\u4455l;\u69F6rok;\u4111\u0100dr\u1DB0\u1DB4ot;\u62F1i\u0100;f\u1DBA\u1816\u65BF\u0100ah\u1DC0\u1DC3r\xF2\u0429a\xF2\u0FA6angle;\u69A6\u0100ci\u1DD2\u1DD5y;\u445Fgrarr;\u67FF\u0900Dacdefglmnopqrstux\u1E01\u1E09\u1E19\u1E38\u0578\u1E3C\u1E49\u1E61\u1E7E\u1EA5\u1EAF\u1EBD\u1EE1\u1F2A\u1F37\u1F44\u1F4E\u1F5A\u0100Do\u1E06\u1D34o\xF4\u1C89\u0100cs\u1E0E\u1E14ute\u803B\xE9\u40E9ter;\u6A6E\u0200aioy\u1E22\u1E27\u1E31\u1E36ron;\u411Br\u0100;c\u1E2D\u1E2E\u6256\u803B\xEA\u40EAlon;\u6255;\u444Dot;\u4117\u0100Dr\u1E41\u1E45ot;\u6252;\uC000\u{1D522}\u0180;rs\u1E50\u1E51\u1E57\u6A9Aave\u803B\xE8\u40E8\u0100;d\u1E5C\u1E5D\u6A96ot;\u6A98\u0200;ils\u1E6A\u1E6B\u1E72\u1E74\u6A99nters;\u63E7;\u6113\u0100;d\u1E79\u1E7A\u6A95ot;\u6A97\u0180aps\u1E85\u1E89\u1E97cr;\u4113ty\u0180;sv\u1E92\u1E93\u1E95\u6205et\xBB\u1E93p\u01001;\u1E9D\u1EA4\u0133\u1EA1\u1EA3;\u6004;\u6005\u6003\u0100gs\u1EAA\u1EAC;\u414Bp;\u6002\u0100gp\u1EB4\u1EB8on;\u4119f;\uC000\u{1D556}\u0180als\u1EC4\u1ECE\u1ED2r\u0100;s\u1ECA\u1ECB\u62D5l;\u69E3us;\u6A71i\u0180;lv\u1EDA\u1EDB\u1EDF\u43B5on\xBB\u1EDB;\u43F5\u0200csuv\u1EEA\u1EF3\u1F0B\u1F23\u0100io\u1EEF\u1E31rc\xBB\u1E2E\u0269\u1EF9\0\0\u1EFB\xED\u0548ant\u0100gl\u1F02\u1F06tr\xBB\u1E5Dess\xBB\u1E7A\u0180aei\u1F12\u1F16\u1F1Als;\u403Dst;\u625Fv\u0100;D\u0235\u1F20D;\u6A78parsl;\u69E5\u0100Da\u1F2F\u1F33ot;\u6253rr;\u6971\u0180cdi\u1F3E\u1F41\u1EF8r;\u612Fo\xF4\u0352\u0100ah\u1F49\u1F4B;\u43B7\u803B\xF0\u40F0\u0100mr\u1F53\u1F57l\u803B\xEB\u40EBo;\u60AC\u0180cip\u1F61\u1F64\u1F67l;\u4021s\xF4\u056E\u0100eo\u1F6C\u1F74ctatio\xEE\u0559nential\xE5\u0579\u09E1\u1F92\0\u1F9E\0\u1FA1\u1FA7\0\0\u1FC6\u1FCC\0\u1FD3\0\u1FE6\u1FEA\u2000\0\u2008\u205Allingdotse\xF1\u1E44y;\u4444male;\u6640\u0180ilr\u1FAD\u1FB3\u1FC1lig;\u8000\uFB03\u0269\u1FB9\0\0\u1FBDg;\u8000\uFB00ig;\u8000\uFB04;\uC000\u{1D523}lig;\u8000\uFB01lig;\uC000fj\u0180alt\u1FD9\u1FDC\u1FE1t;\u666Dig;\u8000\uFB02ns;\u65B1of;\u4192\u01F0\u1FEE\0\u1FF3f;\uC000\u{1D557}\u0100ak\u05BF\u1FF7\u0100;v\u1FFC\u1FFD\u62D4;\u6AD9artint;\u6A0D\u0100ao\u200C\u2055\u0100cs\u2011\u2052\u03B1\u201A\u2030\u2038\u2045\u2048\0\u2050\u03B2\u2022\u2025\u2027\u202A\u202C\0\u202E\u803B\xBD\u40BD;\u6153\u803B\xBC\u40BC;\u6155;\u6159;\u615B\u01B3\u2034\0\u2036;\u6154;\u6156\u02B4\u203E\u2041\0\0\u2043\u803B\xBE\u40BE;\u6157;\u615C5;\u6158\u01B6\u204C\0\u204E;\u615A;\u615D8;\u615El;\u6044wn;\u6322cr;\uC000\u{1D4BB}\u0880Eabcdefgijlnorstv\u2082\u2089\u209F\u20A5\u20B0\u20B4\u20F0\u20F5\u20FA\u20FF\u2103\u2112\u2138\u0317\u213E\u2152\u219E\u0100;l\u064D\u2087;\u6A8C\u0180cmp\u2090\u2095\u209Dute;\u41F5ma\u0100;d\u209C\u1CDA\u43B3;\u6A86reve;\u411F\u0100iy\u20AA\u20AErc;\u411D;\u4433ot;\u4121\u0200;lqs\u063E\u0642\u20BD\u20C9\u0180;qs\u063E\u064C\u20C4lan\xF4\u0665\u0200;cdl\u0665\u20D2\u20D5\u20E5c;\u6AA9ot\u0100;o\u20DC\u20DD\u6A80\u0100;l\u20E2\u20E3\u6A82;\u6A84\u0100;e\u20EA\u20ED\uC000\u22DB\uFE00s;\u6A94r;\uC000\u{1D524}\u0100;g\u0673\u061Bmel;\u6137cy;\u4453\u0200;Eaj\u065A\u210C\u210E\u2110;\u6A92;\u6AA5;\u6AA4\u0200Eaes\u211B\u211D\u2129\u2134;\u6269p\u0100;p\u2123\u2124\u6A8Arox\xBB\u2124\u0100;q\u212E\u212F\u6A88\u0100;q\u212E\u211Bim;\u62E7pf;\uC000\u{1D558}\u0100ci\u2143\u2146r;\u610Am\u0180;el\u066B\u214E\u2150;\u6A8E;\u6A90\u8300>;cdlqr\u05EE\u2160\u216A\u216E\u2173\u2179\u0100ci\u2165\u2167;\u6AA7r;\u6A7Aot;\u62D7Par;\u6995uest;\u6A7C\u0280adels\u2184\u216A\u2190\u0656\u219B\u01F0\u2189\0\u218Epro\xF8\u209Er;\u6978q\u0100lq\u063F\u2196les\xF3\u2088i\xED\u066B\u0100en\u21A3\u21ADrtneqq;\uC000\u2269\uFE00\xC5\u21AA\u0500Aabcefkosy\u21C4\u21C7\u21F1\u21F5\u21FA\u2218\u221D\u222F\u2268\u227Dr\xF2\u03A0\u0200ilmr\u21D0\u21D4\u21D7\u21DBrs\xF0\u1484f\xBB\u2024il\xF4\u06A9\u0100dr\u21E0\u21E4cy;\u444A\u0180;cw\u08F4\u21EB\u21EFir;\u6948;\u61ADar;\u610Firc;\u4125\u0180alr\u2201\u220E\u2213rts\u0100;u\u2209\u220A\u6665it\xBB\u220Alip;\u6026con;\u62B9r;\uC000\u{1D525}s\u0100ew\u2223\u2229arow;\u6925arow;\u6926\u0280amopr\u223A\u223E\u2243\u225E\u2263rr;\u61FFtht;\u623Bk\u0100lr\u2249\u2253eftarrow;\u61A9ightarrow;\u61AAf;\uC000\u{1D559}bar;\u6015\u0180clt\u226F\u2274\u2278r;\uC000\u{1D4BD}as\xE8\u21F4rok;\u4127\u0100bp\u2282\u2287ull;\u6043hen\xBB\u1C5B\u0AE1\u22A3\0\u22AA\0\u22B8\u22C5\u22CE\0\u22D5\u22F3\0\0\u22F8\u2322\u2367\u2362\u237F\0\u2386\u23AA\u23B4cute\u803B\xED\u40ED\u0180;iy\u0771\u22B0\u22B5rc\u803B\xEE\u40EE;\u4438\u0100cx\u22BC\u22BFy;\u4435cl\u803B\xA1\u40A1\u0100fr\u039F\u22C9;\uC000\u{1D526}rave\u803B\xEC\u40EC\u0200;ino\u073E\u22DD\u22E9\u22EE\u0100in\u22E2\u22E6nt;\u6A0Ct;\u622Dfin;\u69DCta;\u6129lig;\u4133\u0180aop\u22FE\u231A\u231D\u0180cgt\u2305\u2308\u2317r;\u412B\u0180elp\u071F\u230F\u2313in\xE5\u078Ear\xF4\u0720h;\u4131f;\u62B7ed;\u41B5\u0280;cfot\u04F4\u232C\u2331\u233D\u2341are;\u6105in\u0100;t\u2338\u2339\u621Eie;\u69DDdo\xF4\u2319\u0280;celp\u0757\u234C\u2350\u235B\u2361al;\u62BA\u0100gr\u2355\u2359er\xF3\u1563\xE3\u234Darhk;\u6A17rod;\u6A3C\u0200cgpt\u236F\u2372\u2376\u237By;\u4451on;\u412Ff;\uC000\u{1D55A}a;\u43B9uest\u803B\xBF\u40BF\u0100ci\u238A\u238Fr;\uC000\u{1D4BE}n\u0280;Edsv\u04F4\u239B\u239D\u23A1\u04F3;\u62F9ot;\u62F5\u0100;v\u23A6\u23A7\u62F4;\u62F3\u0100;i\u0777\u23AElde;\u4129\u01EB\u23B8\0\u23BCcy;\u4456l\u803B\xEF\u40EF\u0300cfmosu\u23CC\u23D7\u23DC\u23E1\u23E7\u23F5\u0100iy\u23D1\u23D5rc;\u4135;\u4439r;\uC000\u{1D527}ath;\u4237pf;\uC000\u{1D55B}\u01E3\u23EC\0\u23F1r;\uC000\u{1D4BF}rcy;\u4458kcy;\u4454\u0400acfghjos\u240B\u2416\u2422\u2427\u242D\u2431\u2435\u243Bppa\u0100;v\u2413\u2414\u43BA;\u43F0\u0100ey\u241B\u2420dil;\u4137;\u443Ar;\uC000\u{1D528}reen;\u4138cy;\u4445cy;\u445Cpf;\uC000\u{1D55C}cr;\uC000\u{1D4C0}\u0B80ABEHabcdefghjlmnoprstuv\u2470\u2481\u2486\u248D\u2491\u250E\u253D\u255A\u2580\u264E\u265E\u2665\u2679\u267D\u269A\u26B2\u26D8\u275D\u2768\u278B\u27C0\u2801\u2812\u0180art\u2477\u247A\u247Cr\xF2\u09C6\xF2\u0395ail;\u691Barr;\u690E\u0100;g\u0994\u248B;\u6A8Bar;\u6962\u0963\u24A5\0\u24AA\0\u24B1\0\0\0\0\0\u24B5\u24BA\0\u24C6\u24C8\u24CD\0\u24F9ute;\u413Amptyv;\u69B4ra\xEE\u084Cbda;\u43BBg\u0180;dl\u088E\u24C1\u24C3;\u6991\xE5\u088E;\u6A85uo\u803B\xAB\u40ABr\u0400;bfhlpst\u0899\u24DE\u24E6\u24E9\u24EB\u24EE\u24F1\u24F5\u0100;f\u089D\u24E3s;\u691Fs;\u691D\xEB\u2252p;\u61ABl;\u6939im;\u6973l;\u61A2\u0180;ae\u24FF\u2500\u2504\u6AABil;\u6919\u0100;s\u2509\u250A\u6AAD;\uC000\u2AAD\uFE00\u0180abr\u2515\u2519\u251Drr;\u690Crk;\u6772\u0100ak\u2522\u252Cc\u0100ek\u2528\u252A;\u407B;\u405B\u0100es\u2531\u2533;\u698Bl\u0100du\u2539\u253B;\u698F;\u698D\u0200aeuy\u2546\u254B\u2556\u2558ron;\u413E\u0100di\u2550\u2554il;\u413C\xEC\u08B0\xE2\u2529;\u443B\u0200cqrs\u2563\u2566\u256D\u257Da;\u6936uo\u0100;r\u0E19\u1746\u0100du\u2572\u2577har;\u6967shar;\u694Bh;\u61B2\u0280;fgqs\u258B\u258C\u0989\u25F3\u25FF\u6264t\u0280ahlrt\u2598\u25A4\u25B7\u25C2\u25E8rrow\u0100;t\u0899\u25A1a\xE9\u24F6arpoon\u0100du\u25AF\u25B4own\xBB\u045Ap\xBB\u0966eftarrows;\u61C7ight\u0180ahs\u25CD\u25D6\u25DErrow\u0100;s\u08F4\u08A7arpoon\xF3\u0F98quigarro\xF7\u21F0hreetimes;\u62CB\u0180;qs\u258B\u0993\u25FAlan\xF4\u09AC\u0280;cdgs\u09AC\u260A\u260D\u261D\u2628c;\u6AA8ot\u0100;o\u2614\u2615\u6A7F\u0100;r\u261A\u261B\u6A81;\u6A83\u0100;e\u2622\u2625\uC000\u22DA\uFE00s;\u6A93\u0280adegs\u2633\u2639\u263D\u2649\u264Bppro\xF8\u24C6ot;\u62D6q\u0100gq\u2643\u2645\xF4\u0989gt\xF2\u248C\xF4\u099Bi\xED\u09B2\u0180ilr\u2655\u08E1\u265Asht;\u697C;\uC000\u{1D529}\u0100;E\u099C\u2663;\u6A91\u0161\u2669\u2676r\u0100du\u25B2\u266E\u0100;l\u0965\u2673;\u696Alk;\u6584cy;\u4459\u0280;acht\u0A48\u2688\u268B\u2691\u2696r\xF2\u25C1orne\xF2\u1D08ard;\u696Bri;\u65FA\u0100io\u269F\u26A4dot;\u4140ust\u0100;a\u26AC\u26AD\u63B0che\xBB\u26AD\u0200Eaes\u26BB\u26BD\u26C9\u26D4;\u6268p\u0100;p\u26C3\u26C4\u6A89rox\xBB\u26C4\u0100;q\u26CE\u26CF\u6A87\u0100;q\u26CE\u26BBim;\u62E6\u0400abnoptwz\u26E9\u26F4\u26F7\u271A\u272F\u2741\u2747\u2750\u0100nr\u26EE\u26F1g;\u67ECr;\u61FDr\xEB\u08C1g\u0180lmr\u26FF\u270D\u2714eft\u0100ar\u09E6\u2707ight\xE1\u09F2apsto;\u67FCight\xE1\u09FDparrow\u0100lr\u2725\u2729ef\xF4\u24EDight;\u61AC\u0180afl\u2736\u2739\u273Dr;\u6985;\uC000\u{1D55D}us;\u6A2Dimes;\u6A34\u0161\u274B\u274Fst;\u6217\xE1\u134E\u0180;ef\u2757\u2758\u1800\u65CAnge\xBB\u2758ar\u0100;l\u2764\u2765\u4028t;\u6993\u0280achmt\u2773\u2776\u277C\u2785\u2787r\xF2\u08A8orne\xF2\u1D8Car\u0100;d\u0F98\u2783;\u696D;\u600Eri;\u62BF\u0300achiqt\u2798\u279D\u0A40\u27A2\u27AE\u27BBquo;\u6039r;\uC000\u{1D4C1}m\u0180;eg\u09B2\u27AA\u27AC;\u6A8D;\u6A8F\u0100bu\u252A\u27B3o\u0100;r\u0E1F\u27B9;\u601Arok;\u4142\u8400<;cdhilqr\u082B\u27D2\u2639\u27DC\u27E0\u27E5\u27EA\u27F0\u0100ci\u27D7\u27D9;\u6AA6r;\u6A79re\xE5\u25F2mes;\u62C9arr;\u6976uest;\u6A7B\u0100Pi\u27F5\u27F9ar;\u6996\u0180;ef\u2800\u092D\u181B\u65C3r\u0100du\u2807\u280Dshar;\u694Ahar;\u6966\u0100en\u2817\u2821rtneqq;\uC000\u2268\uFE00\xC5\u281E\u0700Dacdefhilnopsu\u2840\u2845\u2882\u288E\u2893\u28A0\u28A5\u28A8\u28DA\u28E2\u28E4\u0A83\u28F3\u2902Dot;\u623A\u0200clpr\u284E\u2852\u2863\u287Dr\u803B\xAF\u40AF\u0100et\u2857\u2859;\u6642\u0100;e\u285E\u285F\u6720se\xBB\u285F\u0100;s\u103B\u2868to\u0200;dlu\u103B\u2873\u2877\u287Bow\xEE\u048Cef\xF4\u090F\xF0\u13D1ker;\u65AE\u0100oy\u2887\u288Cmma;\u6A29;\u443Cash;\u6014asuredangle\xBB\u1626r;\uC000\u{1D52A}o;\u6127\u0180cdn\u28AF\u28B4\u28C9ro\u803B\xB5\u40B5\u0200;acd\u1464\u28BD\u28C0\u28C4s\xF4\u16A7ir;\u6AF0ot\u80BB\xB7\u01B5us\u0180;bd\u28D2\u1903\u28D3\u6212\u0100;u\u1D3C\u28D8;\u6A2A\u0163\u28DE\u28E1p;\u6ADB\xF2\u2212\xF0\u0A81\u0100dp\u28E9\u28EEels;\u62A7f;\uC000\u{1D55E}\u0100ct\u28F8\u28FDr;\uC000\u{1D4C2}pos\xBB\u159D\u0180;lm\u2909\u290A\u290D\u43BCtimap;\u62B8\u0C00GLRVabcdefghijlmoprstuvw\u2942\u2953\u297E\u2989\u2998\u29DA\u29E9\u2A15\u2A1A\u2A58\u2A5D\u2A83\u2A95\u2AA4\u2AA8\u2B04\u2B07\u2B44\u2B7F\u2BAE\u2C34\u2C67\u2C7C\u2CE9\u0100gt\u2947\u294B;\uC000\u22D9\u0338\u0100;v\u2950\u0BCF\uC000\u226B\u20D2\u0180elt\u295A\u2972\u2976ft\u0100ar\u2961\u2967rrow;\u61CDightarrow;\u61CE;\uC000\u22D8\u0338\u0100;v\u297B\u0C47\uC000\u226A\u20D2ightarrow;\u61CF\u0100Dd\u298E\u2993ash;\u62AFash;\u62AE\u0280bcnpt\u29A3\u29A7\u29AC\u29B1\u29CCla\xBB\u02DEute;\u4144g;\uC000\u2220\u20D2\u0280;Eiop\u0D84\u29BC\u29C0\u29C5\u29C8;\uC000\u2A70\u0338d;\uC000\u224B\u0338s;\u4149ro\xF8\u0D84ur\u0100;a\u29D3\u29D4\u666El\u0100;s\u29D3\u0B38\u01F3\u29DF\0\u29E3p\u80BB\xA0\u0B37mp\u0100;e\u0BF9\u0C00\u0280aeouy\u29F4\u29FE\u2A03\u2A10\u2A13\u01F0\u29F9\0\u29FB;\u6A43on;\u4148dil;\u4146ng\u0100;d\u0D7E\u2A0Aot;\uC000\u2A6D\u0338p;\u6A42;\u443Dash;\u6013\u0380;Aadqsx\u0B92\u2A29\u2A2D\u2A3B\u2A41\u2A45\u2A50rr;\u61D7r\u0100hr\u2A33\u2A36k;\u6924\u0100;o\u13F2\u13F0ot;\uC000\u2250\u0338ui\xF6\u0B63\u0100ei\u2A4A\u2A4Ear;\u6928\xED\u0B98ist\u0100;s\u0BA0\u0B9Fr;\uC000\u{1D52B}\u0200Eest\u0BC5\u2A66\u2A79\u2A7C\u0180;qs\u0BBC\u2A6D\u0BE1\u0180;qs\u0BBC\u0BC5\u2A74lan\xF4\u0BE2i\xED\u0BEA\u0100;r\u0BB6\u2A81\xBB\u0BB7\u0180Aap\u2A8A\u2A8D\u2A91r\xF2\u2971rr;\u61AEar;\u6AF2\u0180;sv\u0F8D\u2A9C\u0F8C\u0100;d\u2AA1\u2AA2\u62FC;\u62FAcy;\u445A\u0380AEadest\u2AB7\u2ABA\u2ABE\u2AC2\u2AC5\u2AF6\u2AF9r\xF2\u2966;\uC000\u2266\u0338rr;\u619Ar;\u6025\u0200;fqs\u0C3B\u2ACE\u2AE3\u2AEFt\u0100ar\u2AD4\u2AD9rro\xF7\u2AC1ightarro\xF7\u2A90\u0180;qs\u0C3B\u2ABA\u2AEAlan\xF4\u0C55\u0100;s\u0C55\u2AF4\xBB\u0C36i\xED\u0C5D\u0100;r\u0C35\u2AFEi\u0100;e\u0C1A\u0C25i\xE4\u0D90\u0100pt\u2B0C\u2B11f;\uC000\u{1D55F}\u8180\xAC;in\u2B19\u2B1A\u2B36\u40ACn\u0200;Edv\u0B89\u2B24\u2B28\u2B2E;\uC000\u22F9\u0338ot;\uC000\u22F5\u0338\u01E1\u0B89\u2B33\u2B35;\u62F7;\u62F6i\u0100;v\u0CB8\u2B3C\u01E1\u0CB8\u2B41\u2B43;\u62FE;\u62FD\u0180aor\u2B4B\u2B63\u2B69r\u0200;ast\u0B7B\u2B55\u2B5A\u2B5Flle\xEC\u0B7Bl;\uC000\u2AFD\u20E5;\uC000\u2202\u0338lint;\u6A14\u0180;ce\u0C92\u2B70\u2B73u\xE5\u0CA5\u0100;c\u0C98\u2B78\u0100;e\u0C92\u2B7D\xF1\u0C98\u0200Aait\u2B88\u2B8B\u2B9D\u2BA7r\xF2\u2988rr\u0180;cw\u2B94\u2B95\u2B99\u619B;\uC000\u2933\u0338;\uC000\u219D\u0338ghtarrow\xBB\u2B95ri\u0100;e\u0CCB\u0CD6\u0380chimpqu\u2BBD\u2BCD\u2BD9\u2B04\u0B78\u2BE4\u2BEF\u0200;cer\u0D32\u2BC6\u0D37\u2BC9u\xE5\u0D45;\uC000\u{1D4C3}ort\u026D\u2B05\0\0\u2BD6ar\xE1\u2B56m\u0100;e\u0D6E\u2BDF\u0100;q\u0D74\u0D73su\u0100bp\u2BEB\u2BED\xE5\u0CF8\xE5\u0D0B\u0180bcp\u2BF6\u2C11\u2C19\u0200;Ees\u2BFF\u2C00\u0D22\u2C04\u6284;\uC000\u2AC5\u0338et\u0100;e\u0D1B\u2C0Bq\u0100;q\u0D23\u2C00c\u0100;e\u0D32\u2C17\xF1\u0D38\u0200;Ees\u2C22\u2C23\u0D5F\u2C27\u6285;\uC000\u2AC6\u0338et\u0100;e\u0D58\u2C2Eq\u0100;q\u0D60\u2C23\u0200gilr\u2C3D\u2C3F\u2C45\u2C47\xEC\u0BD7lde\u803B\xF1\u40F1\xE7\u0C43iangle\u0100lr\u2C52\u2C5Ceft\u0100;e\u0C1A\u2C5A\xF1\u0C26ight\u0100;e\u0CCB\u2C65\xF1\u0CD7\u0100;m\u2C6C\u2C6D\u43BD\u0180;es\u2C74\u2C75\u2C79\u4023ro;\u6116p;\u6007\u0480DHadgilrs\u2C8F\u2C94\u2C99\u2C9E\u2CA3\u2CB0\u2CB6\u2CD3\u2CE3ash;\u62ADarr;\u6904p;\uC000\u224D\u20D2ash;\u62AC\u0100et\u2CA8\u2CAC;\uC000\u2265\u20D2;\uC000>\u20D2nfin;\u69DE\u0180Aet\u2CBD\u2CC1\u2CC5rr;\u6902;\uC000\u2264\u20D2\u0100;r\u2CCA\u2CCD\uC000<\u20D2ie;\uC000\u22B4\u20D2\u0100At\u2CD8\u2CDCrr;\u6903rie;\uC000\u22B5\u20D2im;\uC000\u223C\u20D2\u0180Aan\u2CF0\u2CF4\u2D02rr;\u61D6r\u0100hr\u2CFA\u2CFDk;\u6923\u0100;o\u13E7\u13E5ear;\u6927\u1253\u1A95\0\0\0\0\0\0\0\0\0\0\0\0\0\u2D2D\0\u2D38\u2D48\u2D60\u2D65\u2D72\u2D84\u1B07\0\0\u2D8D\u2DAB\0\u2DC8\u2DCE\0\u2DDC\u2E19\u2E2B\u2E3E\u2E43\u0100cs\u2D31\u1A97ute\u803B\xF3\u40F3\u0100iy\u2D3C\u2D45r\u0100;c\u1A9E\u2D42\u803B\xF4\u40F4;\u443E\u0280abios\u1AA0\u2D52\u2D57\u01C8\u2D5Alac;\u4151v;\u6A38old;\u69BClig;\u4153\u0100cr\u2D69\u2D6Dir;\u69BF;\uC000\u{1D52C}\u036F\u2D79\0\0\u2D7C\0\u2D82n;\u42DBave\u803B\xF2\u40F2;\u69C1\u0100bm\u2D88\u0DF4ar;\u69B5\u0200acit\u2D95\u2D98\u2DA5\u2DA8r\xF2\u1A80\u0100ir\u2D9D\u2DA0r;\u69BEoss;\u69BBn\xE5\u0E52;\u69C0\u0180aei\u2DB1\u2DB5\u2DB9cr;\u414Dga;\u43C9\u0180cdn\u2DC0\u2DC5\u01CDron;\u43BF;\u69B6pf;\uC000\u{1D560}\u0180ael\u2DD4\u2DD7\u01D2r;\u69B7rp;\u69B9\u0380;adiosv\u2DEA\u2DEB\u2DEE\u2E08\u2E0D\u2E10\u2E16\u6228r\xF2\u1A86\u0200;efm\u2DF7\u2DF8\u2E02\u2E05\u6A5Dr\u0100;o\u2DFE\u2DFF\u6134f\xBB\u2DFF\u803B\xAA\u40AA\u803B\xBA\u40BAgof;\u62B6r;\u6A56lope;\u6A57;\u6A5B\u0180clo\u2E1F\u2E21\u2E27\xF2\u2E01ash\u803B\xF8\u40F8l;\u6298i\u016C\u2E2F\u2E34de\u803B\xF5\u40F5es\u0100;a\u01DB\u2E3As;\u6A36ml\u803B\xF6\u40F6bar;\u633D\u0AE1\u2E5E\0\u2E7D\0\u2E80\u2E9D\0\u2EA2\u2EB9\0\0\u2ECB\u0E9C\0\u2F13\0\0\u2F2B\u2FBC\0\u2FC8r\u0200;ast\u0403\u2E67\u2E72\u0E85\u8100\xB6;l\u2E6D\u2E6E\u40B6le\xEC\u0403\u0269\u2E78\0\0\u2E7Bm;\u6AF3;\u6AFDy;\u443Fr\u0280cimpt\u2E8B\u2E8F\u2E93\u1865\u2E97nt;\u4025od;\u402Eil;\u6030enk;\u6031r;\uC000\u{1D52D}\u0180imo\u2EA8\u2EB0\u2EB4\u0100;v\u2EAD\u2EAE\u43C6;\u43D5ma\xF4\u0A76ne;\u660E\u0180;tv\u2EBF\u2EC0\u2EC8\u43C0chfork\xBB\u1FFD;\u43D6\u0100au\u2ECF\u2EDFn\u0100ck\u2ED5\u2EDDk\u0100;h\u21F4\u2EDB;\u610E\xF6\u21F4s\u0480;abcdemst\u2EF3\u2EF4\u1908\u2EF9\u2EFD\u2F04\u2F06\u2F0A\u2F0E\u402Bcir;\u6A23ir;\u6A22\u0100ou\u1D40\u2F02;\u6A25;\u6A72n\u80BB\xB1\u0E9Dim;\u6A26wo;\u6A27\u0180ipu\u2F19\u2F20\u2F25ntint;\u6A15f;\uC000\u{1D561}nd\u803B\xA3\u40A3\u0500;Eaceinosu\u0EC8\u2F3F\u2F41\u2F44\u2F47\u2F81\u2F89\u2F92\u2F7E\u2FB6;\u6AB3p;\u6AB7u\xE5\u0ED9\u0100;c\u0ECE\u2F4C\u0300;acens\u0EC8\u2F59\u2F5F\u2F66\u2F68\u2F7Eppro\xF8\u2F43urlye\xF1\u0ED9\xF1\u0ECE\u0180aes\u2F6F\u2F76\u2F7Approx;\u6AB9qq;\u6AB5im;\u62E8i\xED\u0EDFme\u0100;s\u2F88\u0EAE\u6032\u0180Eas\u2F78\u2F90\u2F7A\xF0\u2F75\u0180dfp\u0EEC\u2F99\u2FAF\u0180als\u2FA0\u2FA5\u2FAAlar;\u632Eine;\u6312urf;\u6313\u0100;t\u0EFB\u2FB4\xEF\u0EFBrel;\u62B0\u0100ci\u2FC0\u2FC5r;\uC000\u{1D4C5};\u43C8ncsp;\u6008\u0300fiopsu\u2FDA\u22E2\u2FDF\u2FE5\u2FEB\u2FF1r;\uC000\u{1D52E}pf;\uC000\u{1D562}rime;\u6057cr;\uC000\u{1D4C6}\u0180aeo\u2FF8\u3009\u3013t\u0100ei\u2FFE\u3005rnion\xF3\u06B0nt;\u6A16st\u0100;e\u3010\u3011\u403F\xF1\u1F19\xF4\u0F14\u0A80ABHabcdefhilmnoprstux\u3040\u3051\u3055\u3059\u30E0\u310E\u312B\u3147\u3162\u3172\u318E\u3206\u3215\u3224\u3229\u3258\u326E\u3272\u3290\u32B0\u32B7\u0180art\u3047\u304A\u304Cr\xF2\u10B3\xF2\u03DDail;\u691Car\xF2\u1C65ar;\u6964\u0380cdenqrt\u3068\u3075\u3078\u307F\u308F\u3094\u30CC\u0100eu\u306D\u3071;\uC000\u223D\u0331te;\u4155i\xE3\u116Emptyv;\u69B3g\u0200;del\u0FD1\u3089\u308B\u308D;\u6992;\u69A5\xE5\u0FD1uo\u803B\xBB\u40BBr\u0580;abcfhlpstw\u0FDC\u30AC\u30AF\u30B7\u30B9\u30BC\u30BE\u30C0\u30C3\u30C7\u30CAp;\u6975\u0100;f\u0FE0\u30B4s;\u6920;\u6933s;\u691E\xEB\u225D\xF0\u272El;\u6945im;\u6974l;\u61A3;\u619D\u0100ai\u30D1\u30D5il;\u691Ao\u0100;n\u30DB\u30DC\u6236al\xF3\u0F1E\u0180abr\u30E7\u30EA\u30EEr\xF2\u17E5rk;\u6773\u0100ak\u30F3\u30FDc\u0100ek\u30F9\u30FB;\u407D;\u405D\u0100es\u3102\u3104;\u698Cl\u0100du\u310A\u310C;\u698E;\u6990\u0200aeuy\u3117\u311C\u3127\u3129ron;\u4159\u0100di\u3121\u3125il;\u4157\xEC\u0FF2\xE2\u30FA;\u4440\u0200clqs\u3134\u3137\u313D\u3144a;\u6937dhar;\u6969uo\u0100;r\u020E\u020Dh;\u61B3\u0180acg\u314E\u315F\u0F44l\u0200;ips\u0F78\u3158\u315B\u109Cn\xE5\u10BBar\xF4\u0FA9t;\u65AD\u0180ilr\u3169\u1023\u316Esht;\u697D;\uC000\u{1D52F}\u0100ao\u3177\u3186r\u0100du\u317D\u317F\xBB\u047B\u0100;l\u1091\u3184;\u696C\u0100;v\u318B\u318C\u43C1;\u43F1\u0180gns\u3195\u31F9\u31FCht\u0300ahlrst\u31A4\u31B0\u31C2\u31D8\u31E4\u31EErrow\u0100;t\u0FDC\u31ADa\xE9\u30C8arpoon\u0100du\u31BB\u31BFow\xEE\u317Ep\xBB\u1092eft\u0100ah\u31CA\u31D0rrow\xF3\u0FEAarpoon\xF3\u0551ightarrows;\u61C9quigarro\xF7\u30CBhreetimes;\u62CCg;\u42DAingdotse\xF1\u1F32\u0180ahm\u320D\u3210\u3213r\xF2\u0FEAa\xF2\u0551;\u600Foust\u0100;a\u321E\u321F\u63B1che\xBB\u321Fmid;\u6AEE\u0200abpt\u3232\u323D\u3240\u3252\u0100nr\u3237\u323Ag;\u67EDr;\u61FEr\xEB\u1003\u0180afl\u3247\u324A\u324Er;\u6986;\uC000\u{1D563}us;\u6A2Eimes;\u6A35\u0100ap\u325D\u3267r\u0100;g\u3263\u3264\u4029t;\u6994olint;\u6A12ar\xF2\u31E3\u0200achq\u327B\u3280\u10BC\u3285quo;\u603Ar;\uC000\u{1D4C7}\u0100bu\u30FB\u328Ao\u0100;r\u0214\u0213\u0180hir\u3297\u329B\u32A0re\xE5\u31F8mes;\u62CAi\u0200;efl\u32AA\u1059\u1821\u32AB\u65B9tri;\u69CEluhar;\u6968;\u611E\u0D61\u32D5\u32DB\u32DF\u332C\u3338\u3371\0\u337A\u33A4\0\0\u33EC\u33F0\0\u3428\u3448\u345A\u34AD\u34B1\u34CA\u34F1\0\u3616\0\0\u3633cute;\u415Bqu\xEF\u27BA\u0500;Eaceinpsy\u11ED\u32F3\u32F5\u32FF\u3302\u330B\u330F\u331F\u3326\u3329;\u6AB4\u01F0\u32FA\0\u32FC;\u6AB8on;\u4161u\xE5\u11FE\u0100;d\u11F3\u3307il;\u415Frc;\u415D\u0180Eas\u3316\u3318\u331B;\u6AB6p;\u6ABAim;\u62E9olint;\u6A13i\xED\u1204;\u4441ot\u0180;be\u3334\u1D47\u3335\u62C5;\u6A66\u0380Aacmstx\u3346\u334A\u3357\u335B\u335E\u3363\u336Drr;\u61D8r\u0100hr\u3350\u3352\xEB\u2228\u0100;o\u0A36\u0A34t\u803B\xA7\u40A7i;\u403Bwar;\u6929m\u0100in\u3369\xF0nu\xF3\xF1t;\u6736r\u0100;o\u3376\u2055\uC000\u{1D530}\u0200acoy\u3382\u3386\u3391\u33A0rp;\u666F\u0100hy\u338B\u338Fcy;\u4449;\u4448rt\u026D\u3399\0\0\u339Ci\xE4\u1464ara\xEC\u2E6F\u803B\xAD\u40AD\u0100gm\u33A8\u33B4ma\u0180;fv\u33B1\u33B2\u33B2\u43C3;\u43C2\u0400;deglnpr\u12AB\u33C5\u33C9\u33CE\u33D6\u33DE\u33E1\u33E6ot;\u6A6A\u0100;q\u12B1\u12B0\u0100;E\u33D3\u33D4\u6A9E;\u6AA0\u0100;E\u33DB\u33DC\u6A9D;\u6A9Fe;\u6246lus;\u6A24arr;\u6972ar\xF2\u113D\u0200aeit\u33F8\u3408\u340F\u3417\u0100ls\u33FD\u3404lsetm\xE9\u336Ahp;\u6A33parsl;\u69E4\u0100dl\u1463\u3414e;\u6323\u0100;e\u341C\u341D\u6AAA\u0100;s\u3422\u3423\u6AAC;\uC000\u2AAC\uFE00\u0180flp\u342E\u3433\u3442tcy;\u444C\u0100;b\u3438\u3439\u402F\u0100;a\u343E\u343F\u69C4r;\u633Ff;\uC000\u{1D564}a\u0100dr\u344D\u0402es\u0100;u\u3454\u3455\u6660it\xBB\u3455\u0180csu\u3460\u3479\u349F\u0100au\u3465\u346Fp\u0100;s\u1188\u346B;\uC000\u2293\uFE00p\u0100;s\u11B4\u3475;\uC000\u2294\uFE00u\u0100bp\u347F\u348F\u0180;es\u1197\u119C\u3486et\u0100;e\u1197\u348D\xF1\u119D\u0180;es\u11A8\u11AD\u3496et\u0100;e\u11A8\u349D\xF1\u11AE\u0180;af\u117B\u34A6\u05B0r\u0165\u34AB\u05B1\xBB\u117Car\xF2\u1148\u0200cemt\u34B9\u34BE\u34C2\u34C5r;\uC000\u{1D4C8}tm\xEE\xF1i\xEC\u3415ar\xE6\u11BE\u0100ar\u34CE\u34D5r\u0100;f\u34D4\u17BF\u6606\u0100an\u34DA\u34EDight\u0100ep\u34E3\u34EApsilo\xEE\u1EE0h\xE9\u2EAFs\xBB\u2852\u0280bcmnp\u34FB\u355E\u1209\u358B\u358E\u0480;Edemnprs\u350E\u350F\u3511\u3515\u351E\u3523\u352C\u3531\u3536\u6282;\u6AC5ot;\u6ABD\u0100;d\u11DA\u351Aot;\u6AC3ult;\u6AC1\u0100Ee\u3528\u352A;\u6ACB;\u628Alus;\u6ABFarr;\u6979\u0180eiu\u353D\u3552\u3555t\u0180;en\u350E\u3545\u354Bq\u0100;q\u11DA\u350Feq\u0100;q\u352B\u3528m;\u6AC7\u0100bp\u355A\u355C;\u6AD5;\u6AD3c\u0300;acens\u11ED\u356C\u3572\u3579\u357B\u3326ppro\xF8\u32FAurlye\xF1\u11FE\xF1\u11F3\u0180aes\u3582\u3588\u331Bppro\xF8\u331Aq\xF1\u3317g;\u666A\u0680123;Edehlmnps\u35A9\u35AC\u35AF\u121C\u35B2\u35B4\u35C0\u35C9\u35D5\u35DA\u35DF\u35E8\u35ED\u803B\xB9\u40B9\u803B\xB2\u40B2\u803B\xB3\u40B3;\u6AC6\u0100os\u35B9\u35BCt;\u6ABEub;\u6AD8\u0100;d\u1222\u35C5ot;\u6AC4s\u0100ou\u35CF\u35D2l;\u67C9b;\u6AD7arr;\u697Bult;\u6AC2\u0100Ee\u35E4\u35E6;\u6ACC;\u628Blus;\u6AC0\u0180eiu\u35F4\u3609\u360Ct\u0180;en\u121C\u35FC\u3602q\u0100;q\u1222\u35B2eq\u0100;q\u35E7\u35E4m;\u6AC8\u0100bp\u3611\u3613;\u6AD4;\u6AD6\u0180Aan\u361C\u3620\u362Drr;\u61D9r\u0100hr\u3626\u3628\xEB\u222E\u0100;o\u0A2B\u0A29war;\u692Alig\u803B\xDF\u40DF\u0BE1\u3651\u365D\u3660\u12CE\u3673\u3679\0\u367E\u36C2\0\0\0\0\0\u36DB\u3703\0\u3709\u376C\0\0\0\u3787\u0272\u3656\0\0\u365Bget;\u6316;\u43C4r\xEB\u0E5F\u0180aey\u3666\u366B\u3670ron;\u4165dil;\u4163;\u4442lrec;\u6315r;\uC000\u{1D531}\u0200eiko\u3686\u369D\u36B5\u36BC\u01F2\u368B\0\u3691e\u01004f\u1284\u1281a\u0180;sv\u3698\u3699\u369B\u43B8ym;\u43D1\u0100cn\u36A2\u36B2k\u0100as\u36A8\u36AEppro\xF8\u12C1im\xBB\u12ACs\xF0\u129E\u0100as\u36BA\u36AE\xF0\u12C1rn\u803B\xFE\u40FE\u01EC\u031F\u36C6\u22E7es\u8180\xD7;bd\u36CF\u36D0\u36D8\u40D7\u0100;a\u190F\u36D5r;\u6A31;\u6A30\u0180eps\u36E1\u36E3\u3700\xE1\u2A4D\u0200;bcf\u0486\u36EC\u36F0\u36F4ot;\u6336ir;\u6AF1\u0100;o\u36F9\u36FC\uC000\u{1D565}rk;\u6ADA\xE1\u3362rime;\u6034\u0180aip\u370F\u3712\u3764d\xE5\u1248\u0380adempst\u3721\u374D\u3740\u3751\u3757\u375C\u375Fngle\u0280;dlqr\u3730\u3731\u3736\u3740\u3742\u65B5own\xBB\u1DBBeft\u0100;e\u2800\u373E\xF1\u092E;\u625Cight\u0100;e\u32AA\u374B\xF1\u105Aot;\u65ECinus;\u6A3Alus;\u6A39b;\u69CDime;\u6A3Bezium;\u63E2\u0180cht\u3772\u377D\u3781\u0100ry\u3777\u377B;\uC000\u{1D4C9};\u4446cy;\u445Brok;\u4167\u0100io\u378B\u378Ex\xF4\u1777head\u0100lr\u3797\u37A0eftarro\xF7\u084Fightarrow\xBB\u0F5D\u0900AHabcdfghlmoprstuw\u37D0\u37D3\u37D7\u37E4\u37F0\u37FC\u380E\u381C\u3823\u3834\u3851\u385D\u386B\u38A9\u38CC\u38D2\u38EA\u38F6r\xF2\u03EDar;\u6963\u0100cr\u37DC\u37E2ute\u803B\xFA\u40FA\xF2\u1150r\u01E3\u37EA\0\u37EDy;\u445Eve;\u416D\u0100iy\u37F5\u37FArc\u803B\xFB\u40FB;\u4443\u0180abh\u3803\u3806\u380Br\xF2\u13ADlac;\u4171a\xF2\u13C3\u0100ir\u3813\u3818sht;\u697E;\uC000\u{1D532}rave\u803B\xF9\u40F9\u0161\u3827\u3831r\u0100lr\u382C\u382E\xBB\u0957\xBB\u1083lk;\u6580\u0100ct\u3839\u384D\u026F\u383F\0\0\u384Arn\u0100;e\u3845\u3846\u631Cr\xBB\u3846op;\u630Fri;\u65F8\u0100al\u3856\u385Acr;\u416B\u80BB\xA8\u0349\u0100gp\u3862\u3866on;\u4173f;\uC000\u{1D566}\u0300adhlsu\u114B\u3878\u387D\u1372\u3891\u38A0own\xE1\u13B3arpoon\u0100lr\u3888\u388Cef\xF4\u382Digh\xF4\u382Fi\u0180;hl\u3899\u389A\u389C\u43C5\xBB\u13FAon\xBB\u389Aparrows;\u61C8\u0180cit\u38B0\u38C4\u38C8\u026F\u38B6\0\0\u38C1rn\u0100;e\u38BC\u38BD\u631Dr\xBB\u38BDop;\u630Eng;\u416Fri;\u65F9cr;\uC000\u{1D4CA}\u0180dir\u38D9\u38DD\u38E2ot;\u62F0lde;\u4169i\u0100;f\u3730\u38E8\xBB\u1813\u0100am\u38EF\u38F2r\xF2\u38A8l\u803B\xFC\u40FCangle;\u69A7\u0780ABDacdeflnoprsz\u391C\u391F\u3929\u392D\u39B5\u39B8\u39BD\u39DF\u39E4\u39E8\u39F3\u39F9\u39FD\u3A01\u3A20r\xF2\u03F7ar\u0100;v\u3926\u3927\u6AE8;\u6AE9as\xE8\u03E1\u0100nr\u3932\u3937grt;\u699C\u0380eknprst\u34E3\u3946\u394B\u3952\u395D\u3964\u3996app\xE1\u2415othin\xE7\u1E96\u0180hir\u34EB\u2EC8\u3959op\xF4\u2FB5\u0100;h\u13B7\u3962\xEF\u318D\u0100iu\u3969\u396Dgm\xE1\u33B3\u0100bp\u3972\u3984setneq\u0100;q\u397D\u3980\uC000\u228A\uFE00;\uC000\u2ACB\uFE00setneq\u0100;q\u398F\u3992\uC000\u228B\uFE00;\uC000\u2ACC\uFE00\u0100hr\u399B\u399Fet\xE1\u369Ciangle\u0100lr\u39AA\u39AFeft\xBB\u0925ight\xBB\u1051y;\u4432ash\xBB\u1036\u0180elr\u39C4\u39D2\u39D7\u0180;be\u2DEA\u39CB\u39CFar;\u62BBq;\u625Alip;\u62EE\u0100bt\u39DC\u1468a\xF2\u1469r;\uC000\u{1D533}tr\xE9\u39AEsu\u0100bp\u39EF\u39F1\xBB\u0D1C\xBB\u0D59pf;\uC000\u{1D567}ro\xF0\u0EFBtr\xE9\u39B4\u0100cu\u3A06\u3A0Br;\uC000\u{1D4CB}\u0100bp\u3A10\u3A18n\u0100Ee\u3980\u3A16\xBB\u397En\u0100Ee\u3992\u3A1E\xBB\u3990igzag;\u699A\u0380cefoprs\u3A36\u3A3B\u3A56\u3A5B\u3A54\u3A61\u3A6Airc;\u4175\u0100di\u3A40\u3A51\u0100bg\u3A45\u3A49ar;\u6A5Fe\u0100;q\u15FA\u3A4F;\u6259erp;\u6118r;\uC000\u{1D534}pf;\uC000\u{1D568}\u0100;e\u1479\u3A66at\xE8\u1479cr;\uC000\u{1D4CC}\u0AE3\u178E\u3A87\0\u3A8B\0\u3A90\u3A9B\0\0\u3A9D\u3AA8\u3AAB\u3AAF\0\0\u3AC3\u3ACE\0\u3AD8\u17DC\u17DFtr\xE9\u17D1r;\uC000\u{1D535}\u0100Aa\u3A94\u3A97r\xF2\u03C3r\xF2\u09F6;\u43BE\u0100Aa\u3AA1\u3AA4r\xF2\u03B8r\xF2\u09EBa\xF0\u2713is;\u62FB\u0180dpt\u17A4\u3AB5\u3ABE\u0100fl\u3ABA\u17A9;\uC000\u{1D569}im\xE5\u17B2\u0100Aa\u3AC7\u3ACAr\xF2\u03CEr\xF2\u0A01\u0100cq\u3AD2\u17B8r;\uC000\u{1D4CD}\u0100pt\u17D6\u3ADCr\xE9\u17D4\u0400acefiosu\u3AF0\u3AFD\u3B08\u3B0C\u3B11\u3B15\u3B1B\u3B21c\u0100uy\u3AF6\u3AFBte\u803B\xFD\u40FD;\u444F\u0100iy\u3B02\u3B06rc;\u4177;\u444Bn\u803B\xA5\u40A5r;\uC000\u{1D536}cy;\u4457pf;\uC000\u{1D56A}cr;\uC000\u{1D4CE}\u0100cm\u3B26\u3B29y;\u444El\u803B\xFF\u40FF\u0500acdefhiosw\u3B42\u3B48\u3B54\u3B58\u3B64\u3B69\u3B6D\u3B74\u3B7A\u3B80cute;\u417A\u0100ay\u3B4D\u3B52ron;\u417E;\u4437ot;\u417C\u0100et\u3B5D\u3B61tr\xE6\u155Fa;\u43B6r;\uC000\u{1D537}cy;\u4436grarr;\u61DDpf;\uC000\u{1D56B}cr;\uC000\u{1D4CF}\u0100jn\u3B85\u3B87;\u600Dj;\u600C'.split("").map(i=>i.charCodeAt(0)));var Yh,s0=new Map([[0,65533],[128,8364],[130,8218],[131,402],[132,8222],[133,8230],[134,8224],[135,8225],[136,710],[137,8240],[138,352],[139,8249],[140,338],[142,381],[145,8216],[146,8217],[147,8220],[148,8221],[149,8226],[150,8211],[151,8212],[152,732],[153,8482],[154,353],[155,8250],[156,339],[158,382],[159,376]]),Kh=(Yh=String.fromCodePoint)!==null&&Yh!==void 0?Yh:function(i){let t="";return i>65535&&(i-=65536,t+=String.fromCharCode(i>>>10&1023|55296),i=56320|i&1023),t+=String.fromCharCode(i),t};function Jh(i){var t;return i>=55296&&i<=57343||i>1114111?65533:(t=s0.get(i))!==null&&t!==void 0?t:i}var Pe;(function(i){i[i.NUM=35]="NUM",i[i.SEMI=59]="SEMI",i[i.EQUALS=61]="EQUALS",i[i.ZERO=48]="ZERO",i[i.NINE=57]="NINE",i[i.LOWER_A=97]="LOWER_A",i[i.LOWER_F=102]="LOWER_F",i[i.LOWER_X=120]="LOWER_X",i[i.LOWER_Z=122]="LOWER_Z",i[i.UPPER_A=65]="UPPER_A",i[i.UPPER_F=70]="UPPER_F",i[i.UPPER_Z=90]="UPPER_Z"})(Pe||(Pe={}));var a0=32,yr;(function(i){i[i.VALUE_LENGTH=49152]="VALUE_LENGTH",i[i.BRANCH_LENGTH=16256]="BRANCH_LENGTH",i[i.JUMP_TABLE=127]="JUMP_TABLE"})(yr||(yr={}));function Xh(i){return i>=Pe.ZERO&&i<=Pe.NINE}function l0(i){return i>=Pe.UPPER_A&&i<=Pe.UPPER_F||i>=Pe.LOWER_A&&i<=Pe.LOWER_F}function u0(i){return i>=Pe.UPPER_A&&i<=Pe.UPPER_Z||i>=Pe.LOWER_A&&i<=Pe.LOWER_Z||Xh(i)}function h0(i){return i===Pe.EQUALS||u0(i)}var Ie;(function(i){i[i.EntityStart=0]="EntityStart",i[i.NumericStart=1]="NumericStart",i[i.NumericDecimal=2]="NumericDecimal",i[i.NumericHex=3]="NumericHex",i[i.NamedEntity=4]="NamedEntity"})(Ie||(Ie={}));var Xi;(function(i){i[i.Legacy=0]="Legacy",i[i.Strict=1]="Strict",i[i.Attribute=2]="Attribute"})(Xi||(Xi={}));var Ll=class{constructor(t,e,n){this.decodeTree=t,this.emitCodePoint=e,this.errors=n,this.state=Ie.EntityStart,this.consumed=1,this.result=0,this.treeIndex=0,this.excess=1,this.decodeMode=Xi.Strict}startEntity(t){this.decodeMode=t,this.state=Ie.EntityStart,this.result=0,this.treeIndex=0,this.excess=1,this.consumed=1}write(t,e){switch(this.state){case Ie.EntityStart:return t.charCodeAt(e)===Pe.NUM?(this.state=Ie.NumericStart,this.consumed+=1,this.stateNumericStart(t,e+1)):(this.state=Ie.NamedEntity,this.stateNamedEntity(t,e));case Ie.NumericStart:return this.stateNumericStart(t,e);case Ie.NumericDecimal:return this.stateNumericDecimal(t,e);case Ie.NumericHex:return this.stateNumericHex(t,e);case Ie.NamedEntity:return this.stateNamedEntity(t,e)}}stateNumericStart(t,e){return e>=t.length?-1:(t.charCodeAt(e)|a0)===Pe.LOWER_X?(this.state=Ie.NumericHex,this.consumed+=1,this.stateNumericHex(t,e+1)):(this.state=Ie.NumericDecimal,this.stateNumericDecimal(t,e))}addToNumericResult(t,e,n,r){if(e!==n){let s=n-e;this.result=this.result*Math.pow(r,s)+Number.parseInt(t.substr(e,s),r),this.consumed+=s}}stateNumericHex(t,e){let n=e;for(;e<t.length;){let r=t.charCodeAt(e);if(Xh(r)||l0(r))e+=1;else return this.addToNumericResult(t,n,e,16),this.emitNumericEntity(r,3)}return this.addToNumericResult(t,n,e,16),-1}stateNumericDecimal(t,e){let n=e;for(;e<t.length;){let r=t.charCodeAt(e);if(Xh(r))e+=1;else return this.addToNumericResult(t,n,e,10),this.emitNumericEntity(r,2)}return this.addToNumericResult(t,n,e,10),-1}emitNumericEntity(t,e){var n;if(this.consumed<=e)return(n=this.errors)===null||n===void 0||n.absenceOfDigitsInNumericCharacterReference(this.consumed),0;if(t===Pe.SEMI)this.consumed+=1;else if(this.decodeMode===Xi.Strict)return 0;return this.emitCodePoint(Jh(this.result),this.consumed),this.errors&&(t!==Pe.SEMI&&this.errors.missingSemicolonAfterCharacterReference(),this.errors.validateNumericCharacterReference(this.result)),this.consumed}stateNamedEntity(t,e){let{decodeTree:n}=this,r=n[this.treeIndex],s=(r&yr.VALUE_LENGTH)>>14;for(;e<t.length;e++,this.excess++){let o=t.charCodeAt(e);if(this.treeIndex=f0(n,r,this.treeIndex+Math.max(1,s),o),this.treeIndex<0)return this.result===0||this.decodeMode===Xi.Attribute&&(s===0||h0(o))?0:this.emitNotTerminatedNamedEntity();if(r=n[this.treeIndex],s=(r&yr.VALUE_LENGTH)>>14,s!==0){if(o===Pe.SEMI)return this.emitNamedEntityData(this.treeIndex,s,this.consumed+this.excess);this.decodeMode!==Xi.Strict&&(this.result=this.treeIndex,this.consumed+=this.excess,this.excess=0)}}return-1}emitNotTerminatedNamedEntity(){var t;let{result:e,decodeTree:n}=this,r=(n[e]&yr.VALUE_LENGTH)>>14;return this.emitNamedEntityData(e,r,this.consumed),(t=this.errors)===null||t===void 0||t.missingSemicolonAfterCharacterReference(),this.consumed}emitNamedEntityData(t,e,n){let{decodeTree:r}=this;return this.emitCodePoint(e===1?r[t]&~yr.VALUE_LENGTH:r[t+1],n),e===3&&this.emitCodePoint(r[t+2],n),n}end(){var t;switch(this.state){case Ie.NamedEntity:return this.result!==0&&(this.decodeMode!==Xi.Attribute||this.result===this.treeIndex)?this.emitNotTerminatedNamedEntity():0;case Ie.NumericDecimal:return this.emitNumericEntity(0,2);case Ie.NumericHex:return this.emitNumericEntity(0,3);case Ie.NumericStart:return(t=this.errors)===null||t===void 0||t.absenceOfDigitsInNumericCharacterReference(this.consumed),0;case Ie.EntityStart:return 0}}};function c0(i){let t="",e=new Ll(i,n=>t+=Kh(n));return function(r,s){let o=0,a=0;for(;(a=r.indexOf("&",a))>=0;){t+=r.slice(o,a),e.startEntity(s);let u=e.write(r,a+1);if(u<0){o=a+e.end();break}o=a+u,a=u===0?o+1:o}let l=t+r.slice(o);return t="",l}}function f0(i,t,e,n){let r=(t&yr.BRANCH_LENGTH)>>7,s=t&yr.JUMP_TABLE;if(r===0)return s!==0&&n===s?e:-1;if(s){let l=n-s;return l<0||l>=r?-1:i[e+l]-1}let o=e,a=o+r-1;for(;o<=a;){let l=o+a>>>1,u=i[l];if(u<n)o=l+1;else if(u>n)a=l-1;else return i[l+r]}return-1}var d0=c0(jh);function Hs(i,t=Xi.Legacy){return d0(i,t)}var p0=String.prototype.codePointAt==null?(i,t)=>(i.charCodeAt(t)&64512)===55296?(i.charCodeAt(t)-55296)*1024+i.charCodeAt(t+1)-56320+65536:i.charCodeAt(t):(i,t)=>i.codePointAt(t);var Bd;(function(i){i[i.XML=0]="XML",i[i.HTML=1]="HTML"})(Bd||(Bd={}));var Fd;(function(i){i[i.UTF8=0]="UTF8",i[i.ASCII=1]="ASCII",i[i.Extensive=2]="Extensive",i[i.Attribute=3]="Attribute",i[i.Text=4]="Text"})(Fd||(Fd={}));var Vs=require("obsidian");function Go(i,t,e=!0,n=0,r="div",s=null,o){return t.type==="comment"?bh(i,t,o,e):t.postprocess(e,n,r,s,o)}async function Bl(i,t,e){let n=null,r=null,s=null,o=Hs(i.getHTML(),Xi.Strict),a=e.settings.default_preview_mode;if(t){if(e.app.workspace.activeLeaf?.view instanceof Vs.MarkdownView){let _=e.app.workspace.activeLeaf.view;_.previewMode.docId===t.docId&&(a=_.editor.cm.state.field(qe))}let v=t.getSectionInfo(i);if(v){let _=Lo(v.text,e.settings),S=[...v.text.matchAll(/\n/g)].map(k=>k.index);if(r=v.lineStart?S[v.lineStart-1]+1:0,s=S[v.lineEnd]??v.text.length,n=_.filter(k=>k.partially_in_range(r,s)),!n.length)return;if(n.length===1){let k=n[0],E=!1,M=null;if(k.type==="substitution"?k.part_encloses_range(r,s,!0)&&(E=!0,M=!0)||k.part_encloses_range(r,s,!1)&&(E=!0,M=!1):E=k.encloses_range(r,s),E){k.type==="substitution"&&(o=o.replace(/~>/g,""));let w=r===k.from;if(s===k.to){let D=o.lastIndexOf(me[k.type].at(-1));o=o.substring(0,D)+o.substring(D+3)}if(w){let D=o.indexOf(me[k.type][0]);o=o.substring(0,D)+o.substring(D+3)}let A=Go(e.app,k,!1,a,"div",M,o);i.empty(),A instanceof HTMLElement?i.appendChild(A):i.append((0,Vs.sanitizeHTMLToDom)(A));return}}}}o=o.replaceAll(/{<del>|{<\/del>/g,"{~~").replaceAll(/<del>}|<\/del>}/g,"~~}").replaceAll(/{<mark>|{<\/mark>/g,"{==").replaceAll(/<mark>}|<\/mark>}/g,"==}").replaceAll(/{=<mark>=}|{=<\/mark>=}/g,"{====}");let l=Lo(o,e.settings);for(let v=0;v<l.length-1;v++){let _=l[v],S=l[v+1];_.equals(S)&&(l.splice(v,1),v--)}if(!l.length&&!n?.length)return;let u=0,f=[],h=null,c=null,p=null;if(n!==null&&l.length!==n.length&&(c=r>n[0].from,p=s<n.at(-1).to,h=p?n.at(-1):n[0]),h&&c&&p&&h.type==="substitution"){let v=o.indexOf(me.substitution[1]),_=new Sn(-1/0,v,1/0,o);i.append((0,Vs.sanitizeHTMLToDom)(Go(e.app,_,!0,a,"span")));return}if(h&&!p){let v=o.indexOf(me[h.type].at(-1))+3,_;if(h.type==="substitution"){let S=o.indexOf(me.substitution[1]);_=new Sn(-1/0,S===-1?-1/0:S,v,o)}else _=new Bo[h.type](-1/0,v,o);f.push(Go(e.app,_,!0,a,"span")),u=_.to}for(let v of l)f.push(o.slice(u,v.from)),f.push(Go(e.app,v,!0,a,"span")),u=v.to;if(h&&p){let v=o.lastIndexOf(me[h.type][0]),_;h.type==="substitution"?_=new Sn(0,1/0,1/0,o.slice(v,-4)):_=new Bo[h.type](0,1/0,o.slice(v,-4)),f.push(o.slice(u,v)),f.push(Go(e.app,_,!0,e.settings.default_preview_mode,"span")),u=1/0}f.push(o.slice(u)),i.empty();let g=[],m="";for(let v of f)typeof v=="string"?m+=v:(m+="<placeholder></placeholder>",g.push(v));i.append((0,Vs.sanitizeHTMLToDom)(m)),i.querySelectorAll("placeholder").forEach((v,_)=>{v.replaceWith(g[_])})}var w0=require("@codemirror/state"),Zh=require("obsidian");function tc(i){for(let t of i.workspace.getLeavesOfType("markdown"))if(t.view instanceof Zh.MarkdownView){for(let e of t.view.previewMode.renderer.sections.filter(n=>n.el.querySelector(".cmtr-preview")))e.rendered=!1,e.html="";t.view.previewMode.renderer.queueRender()}}function Fl(i){for(let t of i.workspace.getLeavesOfType("markdown"))t.view instanceof Zh.MarkdownView&&t.view.previewMode.rerender(!0)}var Vl=require("obsidian");var Hl=class{constructor(t,e=!1){this.plugin=t;this.setRendering(e)}button=null;index=0;metadata_settings_toggles=[{icon:"lucide-user",text:"Author",attribute:"author"},{icon:"lucide-calendar",text:"Time",attribute:"timestamp"},{icon:"lucide-check",text:"Completed",attribute:"completed"},{icon:"brush",text:"Style",attribute:"style"},{icon:"paintbrush",text:"Color",attribute:"color"}];showMenu(t){mr();let e=new Vl.Menu;e.addItem(n=>{n.setTitle("Add metadata"),n.setIcon("tags"),n.setChecked(this.plugin.settings.add_metadata),n.onClick(async()=>{await this.plugin.setSetting("add_metadata",!this.plugin.settings.add_metadata),n.setChecked(this.plugin.settings.add_metadata),e.items.slice(1).forEach(r=>{r.setDisabled(!this.plugin.settings.add_metadata)})})});for(let{icon:n,text:r,attribute:s}of this.metadata_settings_toggles){let o=`add_${s}_metadata`;e.addItem(a=>{a.setTitle(r),a.setIcon(n),a.setChecked(this.plugin.settings[o]),a.setDisabled(!this.plugin.settings.add_metadata),a.onClick(async()=>{await this.plugin.setSetting(o,!this.plugin.settings[o]),a.setChecked(this.plugin.settings[o])}),a.dom.addClass("cmtr-submenu-nested")})}e.showAtMouseEvent(t)}setRendering(t){t===void 0||t===!!this.button||(t?this.renderButton():this.detachButton())}renderButton(){this.button=this.plugin.addStatusBarItem();let t=this.button.createSpan({cls:"status-bar-item-icon"});(0,Vl.setIcon)(t,"tags"),this.button.classList.add("mod-clickable"),this.button.setAttribute("aria-label","Metadata"),this.button.setAttribute("data-tooltip-position","top"),this.button.addEventListener("click",e=>this.showMenu(e)),this.button.addEventListener("contextmenu",e=>this.showMenu(e))}detachButton(){this.button&&(this.button.detach(),this.button=null)}};var Jr=require("obsidian"),qo=class{constructor(t,e,n,r,s=!1){this.states=t;this.onchange=e;this.getvalue=n;this.plugin=r;this.setRendering(s),this.plugin.app.workspace.onLayoutReady(()=>this.currentView=this.plugin.app.workspace.activeEditor)}button=null;value=0;changeEvent=null;currentView=null;showMenu(t){let e=new Jr.Menu;for(let[n,r]of this.states.entries())e.addItem(s=>{s.setTitle(r.text),s.setIcon(r.icon),s.setChecked(n===this.value),s.onClick(()=>this.onchange(this.currentView,n))});e.showAtMouseEvent(t),t.preventDefault()}setRendering(t){t===void 0||t===!!this.button||(t?this.renderButton():this.detachButton())}updateButton(t){if(!this.button||t===void 0)return;this.value=t;let{icon:e,text:n}=this.states[t];(0,Jr.setIcon)(this.button,e),this.button.setAttribute("aria-label",n)}renderButton(){let{icon:t,text:e}=this.states[this.value];this.changeEvent=this.plugin.app.workspace.on("active-leaf-change",r=>{r&&r.view instanceof Jr.MarkdownView?(this.currentView=r.view,this.updateButton(this.getvalue(r.view.editor)),this.button.style.display=""):(this.currentView=null,this.button.style.display="none")}),this.button=this.plugin.addStatusBarItem();let n=this.button.createSpan({cls:"status-bar-item-icon"});(0,Jr.setIcon)(n,t),this.button.classList.add("mod-clickable"),this.button.setAttribute("aria-label",e),this.button.setAttribute("data-tooltip-position","top"),this.button.addEventListener("click",r=>this.showMenu(r)),this.button.addEventListener("contextmenu",r=>this.showMenu(r))}detachButton(){this.button&&(this.button.detach(),this.button=null,this.plugin.app.workspace.offref(this.changeEvent))}};var zd=(i,t)=>new qo([{icon:"message-square",text:"Showing all suggestions"},{icon:"check",text:'Previewing "accept all"'},{icon:"cross",text:'Previewing "reject all"'}],i.setPreviewMode.bind(i),e=>e.cm.state.facet(qe),i,t),Gd=(i,t)=>new qo([{icon:"pencil",text:"Editing (Regular)"},{icon:"edit",text:"Editing (Corrected)"},{icon:"file-edit",text:"Suggesting"}],i.setEditMode.bind(i),e=>e.cm.state.facet(xi),i,t),qd=(i,t)=>new Hl(i,t);var xr=require("obsidian"),Wo=class{constructor(t,e,n,r,s,o,a=!1){this.states=t;this.has_label=e;this.cls=n;this.onchange=r;this.getvalue=s;this.plugin=o;this.setRendering(a)}active_mapping=new WeakMap;changeEvent=null;setRendering(t){t===void 0||t===!!this.changeEvent||(t?this.attachButtons():this.detachButtons())}setLabelRendering(t){if(!(t===void 0||!this.changeEvent||t===this.has_label)){this.has_label=t;for(let e of this.plugin.app.workspace.getLeavesOfType("markdown")){if(!(e.view instanceof xr.MarkdownView))continue;let{view:n}=e,{text:r}=this.states[this.getvalue(n)],s=this.active_mapping.get(n);if(s)if(s.status)s.status.detach(),s.status=null;else{let o=s.button.createSpan({text:r,cls:this.cls});s.button.parentElement.insertBefore(o,s.button),s.status=o}}}}updateButton(t,e){let n=this.active_mapping.get(t);if(n)if(this.states[e]){let{tooltip:r,text:s}=this.states[e];(0,xr.setIcon)(n.button,this.states[(e+1)%this.states.length].icon),n.button.setAttribute("aria-label",r),n.button.style.display="",this.has_label&&(n.status.innerText=s)}else n.button.style.display="none"}attachButtons(){this.changeEvent||(this.changeEvent=this.plugin.app.workspace.on("layout-change",this.attachButtons.bind(this)));for(let t of this.plugin.app.workspace.getLeavesOfType("markdown")){if(!(t.view instanceof xr.MarkdownView))continue;let{view:e}=t;if(this.active_mapping.has(e))continue;let n=t.on("history-change",()=>{this.updateButton(e,this.getvalue(e))}),r=this.getvalue(e);if(r===void 0)return;let{tooltip:s,text:o}=this.states[r],a=e.addAction(this.states[(r+1)%this.states.length].icon,s,async()=>{let u=(this.getvalue(e)+1)%this.states.length;this.onchange(e,u)}),l=this.has_label?a.createSpan({text:o,cls:this.cls}):null;this.has_label&&a.parentElement.insertBefore(l,a),a.oncontextmenu=u=>{let f=new xr.Menu,h=this.getvalue(e);for(let[c,{icon:p,text:g}]of this.states.entries())f.addItem(m=>{m.setIcon(p).setTitle(g).setChecked(c===h).onClick(()=>{this.onchange(e,c)})});f.showAtMouseEvent(u)},this.active_mapping.set(e,{button:a,status:l,event:n})}}detachButton(t){let e=t.view,n=this.active_mapping.get(e);n&&(t.offref(n.event),n.button.detach(),n.status?.detach(),this.active_mapping.delete(e))}detachButtons(){if(this.changeEvent){for(let t of this.plugin.app.workspace.getLeavesOfType("markdown"))t.view instanceof xr.MarkdownView&&this.detachButton(t);this.plugin.app.workspace.offref(this.changeEvent),this.changeEvent=null}}};var Wd=(i,t)=>new Wo([{icon:"message-square",tooltip:`Current mode: show all suggestions
|
|
Click to preview 'accept all'`,text:"Showing all suggestions"},{icon:"check",tooltip:`Current mode: preview 'accept all'
|
|
Click to preview 'reject all'`,text:'Previewing "accept all"'},{icon:"cross",tooltip:`Current mode: preview 'reject all'
|
|
Click to preview 'show all'`,text:'Previewing "reject all"'}],i.settings.toolbar_show_buttons_labels,"cmtr-suggestion-status",i.setPreviewMode.bind(i),e=>e.editor.cm.state.facet(qe),i,t),Ud=(i,t)=>new Wo([{icon:"pencil",tooltip:`Current mode: editing (regular)
|
|
Click to edit (corrected)`,text:"Editing (REG)"},{icon:"edit",tooltip:`Current mode: editing (corrected)
|
|
Click to suggest`,text:"Editing (ALT)"},{icon:"file-edit",tooltip:`Current mode: suggesting
|
|
Click to edit (regular)`,text:"Suggesting"}],i.settings.toolbar_show_buttons_labels,"cmtr-suggestion-status",i.setEditMode.bind(i),e=>e.editor.cm.state.facet(xi),i,t);var tm=require("obsidian");var zl=!0;var jd=globalThis.process?.env?.NODE_ENV,it=jd&&!jd.toLowerCase().startsWith("prod");var Qi=Array.isArray,Yd=Array.prototype.indexOf,Uo=Array.from,ec=Object.keys,Ue=Object.defineProperty,Zi=Object.getOwnPropertyDescriptor,Gl=Object.getOwnPropertyDescriptors,ql=Object.prototype,Kd=Array.prototype,kr=Object.getPrototypeOf,ic=Object.isExtensible;function nc(i){return typeof i=="function"}var Se=()=>{};function jo(i){for(var t=0;t<i.length;t++)i[t]()}var ui=Symbol("$state"),Yo=Symbol("legacy props"),Jd=Symbol("");function Wl(i){return i===this.v}function zs(i,t){return i!=i?t==t:i!==t||i!==null&&typeof i=="object"||typeof i=="function"}function Xd(i,t){return i!==t}function Gs(i){return!zs(i,this.v)}function rc(){if(it){let i=new Error("bind_invalid_checkbox_value\nUsing `bind:value` together with a checkbox input is not allowed. Use `bind:checked` instead\nhttps://svelte.dev/e/bind_invalid_checkbox_value");throw i.name="Svelte error",i}else throw new Error("https://svelte.dev/e/bind_invalid_checkbox_value")}function Qd(){if(it){let i=new Error(`derived_references_self
|
|
A derived value cannot reference itself recursively
|
|
https://svelte.dev/e/derived_references_self`);throw i.name="Svelte error",i}else throw new Error("https://svelte.dev/e/derived_references_self")}function Zd(i){if(it){let t=new Error(`effect_in_teardown
|
|
\`${i}\` cannot be used inside an effect cleanup function
|
|
https://svelte.dev/e/effect_in_teardown`);throw t.name="Svelte error",t}else throw new Error("https://svelte.dev/e/effect_in_teardown")}function tp(){if(it){let i=new Error("effect_in_unowned_derived\nEffect cannot be created inside a `$derived` value that was not itself created inside an effect\nhttps://svelte.dev/e/effect_in_unowned_derived");throw i.name="Svelte error",i}else throw new Error("https://svelte.dev/e/effect_in_unowned_derived")}function ep(i){if(it){let t=new Error(`effect_orphan
|
|
\`${i}\` can only be used inside an effect (e.g. during component initialisation)
|
|
https://svelte.dev/e/effect_orphan`);throw t.name="Svelte error",t}else throw new Error("https://svelte.dev/e/effect_orphan")}function ip(){if(it){let i=new Error(`effect_update_depth_exceeded
|
|
Maximum update depth exceeded. This can happen when a reactive block or effect repeatedly sets a new value. Svelte limits the number of nested updates to prevent infinite loops
|
|
https://svelte.dev/e/effect_update_depth_exceeded`);throw i.name="Svelte error",i}else throw new Error("https://svelte.dev/e/effect_update_depth_exceeded")}function np(){if(it){let i=new Error(`hydration_failed
|
|
Failed to hydrate the application
|
|
https://svelte.dev/e/hydration_failed`);throw i.name="Svelte error",i}else throw new Error("https://svelte.dev/e/hydration_failed")}function rp(){if(it){let i=new Error("invalid_snippet\nCould not `{@render}` snippet due to the expression being `null` or `undefined`. Consider using optional chaining `{@render snippet?.()}`\nhttps://svelte.dev/e/invalid_snippet");throw i.name="Svelte error",i}else throw new Error("https://svelte.dev/e/invalid_snippet")}function sp(i){if(it){let t=new Error(`props_invalid_value
|
|
Cannot do \`bind:${i}={undefined}\` when \`${i}\` has a fallback value
|
|
https://svelte.dev/e/props_invalid_value`);throw t.name="Svelte error",t}else throw new Error("https://svelte.dev/e/props_invalid_value")}function op(i){if(it){let t=new Error(`rune_outside_svelte
|
|
The \`${i}\` rune is only available inside \`.svelte\` and \`.svelte.js/ts\` files
|
|
https://svelte.dev/e/rune_outside_svelte`);throw t.name="Svelte error",t}else throw new Error("https://svelte.dev/e/rune_outside_svelte")}function ap(){if(it){let i=new Error("state_descriptors_fixed\nProperty descriptors defined on `$state` objects must contain `value` and always be `enumerable`, `configurable` and `writable`.\nhttps://svelte.dev/e/state_descriptors_fixed");throw i.name="Svelte error",i}else throw new Error("https://svelte.dev/e/state_descriptors_fixed")}function lp(){if(it){let i=new Error("state_prototype_fixed\nCannot set prototype of `$state` object\nhttps://svelte.dev/e/state_prototype_fixed");throw i.name="Svelte error",i}else throw new Error("https://svelte.dev/e/state_prototype_fixed")}function up(){if(it){let i=new Error("state_unsafe_mutation\nUpdating state inside a derived or a template expression is forbidden. If the value should not be reactive, declare it without `$state`\nhttps://svelte.dev/e/state_unsafe_mutation");throw i.name="Svelte error",i}else throw new Error("https://svelte.dev/e/state_unsafe_mutation")}var Kn=!1,Cn=!1;var Sr="[",Mr="[!",Xr="]",Jn={};var we=Symbol(),Li=Symbol("filename"),hp=Symbol("hmr"),cp="http://www.w3.org/1999/xhtml";var y0=[];function Jo(i,t=!1){if(it&&!t){let e=[],n=Ko(i,new Map,"",e);if(e.length===1&&e[0]==="");else if(e.length>0){let r=e.length>10?e.slice(0,7):e.slice(0,10),s=e.length-r.length,o=r.map(a=>`- <value>${a}`).join(`
|
|
`);s>0&&(o+=`
|
|
- ...and ${s} more`)}return n}return Ko(i,new Map,"",y0)}function Ko(i,t,e,n,r=null){if(typeof i=="object"&&i!==null){var s=t.get(i);if(s!==void 0)return s;if(i instanceof Map)return new Map(i);if(i instanceof Set)return new Set(i);if(Qi(i)){var o=Array(i.length);t.set(i,o),r!==null&&t.set(r,o);for(var a=0;a<i.length;a+=1){var l=i[a];a in i&&(o[a]=Ko(l,t,it?`${e}[${a}]`:e,n))}return o}if(kr(i)===ql){o={},t.set(i,o),r!==null&&t.set(r,o);for(var u in i)o[u]=Ko(i[u],t,it?`${e}.${u}`:e,n);return o}if(i instanceof Date)return structuredClone(i);if(typeof i.toJSON=="function")return Ko(i.toJSON(),t,it?`${e}.toJSON()`:e,n,i)}if(i instanceof EventTarget)return i;try{return structuredClone(i)}catch{return it&&n.push(e),i}}var Xo=null;function Xn(i){let t=Error(),e=t.stack;if(e){let n=e.split(`
|
|
`),r=[`
|
|
`];for(let s=0;s<n.length;s++){let o=n[s];if(o!=="Error"){if(o.includes("validate_each_keys"))return null;o.includes("svelte/src/internal")||r.push(o)}}if(r.length===1)return null;Ue(t,"stack",{value:r.join(`
|
|
`)}),Ue(t,"name",{value:`${i}Error`})}return t}function Zo(i){if(it){let t=new Error(`lifecycle_outside_component
|
|
\`${i}(...)\` can only be used during component initialisation
|
|
https://svelte.dev/e/lifecycle_outside_component`);throw t.name="Svelte error",t}else throw new Error("https://svelte.dev/e/lifecycle_outside_component")}var Gt=null;function ta(i){Gt=i}var Bi=null;function ea(i){Bi=i}function bt(i,t=!1,e){var n=Gt={p:Gt,c:null,d:!1,e:null,m:!1,s:i,x:null,l:null};Kn&&!t&&(Gt.l={s:null,u:null,r1:[],r2:Oe(!1)}),Si(()=>{n.d=!0}),it&&(Gt.function=e,Bi=e)}function _t(i){let t=Gt;if(t!==null){i!==void 0&&(t.x=i);let o=t.e;if(o!==null){var e=yt,n=Ct;t.e=null;try{for(var r=0;r<o.length;r++){var s=o[r];Ce(s.effect),ce(s.reaction),ei(s.fn)}}finally{Ce(e),ce(n)}}Gt=t.p,it&&(Bi=t.p?.function??null),t.m=!0}return i||{}}function dn(){return!Kn||Gt!==null&&Gt.l===null}function Rt(i){if(typeof i!="object"||i===null||ui in i)return i;let t=kr(i);if(t!==ql&&t!==Kd)return i;var e=new Map,n=Qi(i),r=at(0),s=it&&Cn?Xn("CreatedAt"):null,o=Ct,a=l=>{var u=Ct;ce(o);var f=l();return ce(u),f};return n&&e.set("length",at(i.length,s)),new Proxy(i,{defineProperty(l,u,f){(!("value"in f)||f.configurable===!1||f.enumerable===!1||f.writable===!1)&&ap();var h=e.get(u);return h===void 0?(h=a(()=>at(f.value,s)),e.set(u,h)):P(h,a(()=>Rt(f.value))),!0},deleteProperty(l,u){var f=e.get(u);if(f===void 0)u in l&&(e.set(u,a(()=>at(we,s))),sc(r));else{if(n&&typeof u=="string"){var h=e.get("length"),c=Number(u);Number.isInteger(c)&&c<h.v&&P(h,c)}P(f,we),sc(r)}return!0},get(l,u,f){if(u===ui)return i;var h=e.get(u),c=u in l;if(h===void 0&&(!c||Zi(l,u)?.writable)&&(h=a(()=>at(Rt(c?l[u]:we),s)),e.set(u,h)),h!==void 0){var p=d(h);return p===we?void 0:p}return Reflect.get(l,u,f)},getOwnPropertyDescriptor(l,u){var f=Reflect.getOwnPropertyDescriptor(l,u);if(f&&"value"in f){var h=e.get(u);h&&(f.value=d(h))}else if(f===void 0){var c=e.get(u),p=c?.v;if(c!==void 0&&p!==we)return{enumerable:!0,configurable:!0,value:p,writable:!0}}return f},has(l,u){if(u===ui)return!0;var f=e.get(u),h=f!==void 0&&f.v!==we||Reflect.has(l,u);if(f!==void 0||yt!==null&&(!h||Zi(l,u)?.writable)){f===void 0&&(f=a(()=>at(h?Rt(l[u]):we,s)),e.set(u,f));var c=d(f);if(c===we)return!1}return h},set(l,u,f,h){var c=e.get(u),p=u in l;if(n&&u==="length")for(var g=f;g<c.v;g+=1){var m=e.get(g+"");m!==void 0?P(m,we):g in l&&(m=a(()=>at(we,s)),e.set(g+"",m))}c===void 0?(!p||Zi(l,u)?.writable)&&(c=a(()=>at(void 0,s)),P(c,a(()=>Rt(f))),e.set(u,c)):(p=c.v!==we,P(c,a(()=>Rt(f))));var v=Reflect.getOwnPropertyDescriptor(l,u);if(v?.set&&v.set.call(h,f),!p){if(n&&typeof u=="string"){var _=e.get("length"),S=Number(u);Number.isInteger(S)&&S>=_.v&&P(_,S+1)}sc(r)}return!0},ownKeys(l){d(r);var u=Reflect.ownKeys(l).filter(c=>{var p=e.get(c);return p===void 0||p.v!==we});for(var[f,h]of e)h.v!==we&&!(f in l)&&u.push(f);return u},setPrototypeOf(){lp()}})}function sc(i,t=1){P(i,i.v+t)}function qs(i){try{if(i!==null&&typeof i=="object"&&ui in i)return i[ui]}catch{}return i}function oc(i,t){return Object.is(qs(i),qs(t))}function Er(i){var t=2050,e=Ct!==null&&(Ct.f&2)!==0?Ct:null;yt===null||e!==null&&(e.f&256)!==0?t|=256:yt.f|=1048576;let n={ctx:Gt,deps:null,effects:null,equals:Wl,f:t,fn:i,reactions:null,rv:0,v:null,wv:0,parent:e??yt};return it&&Cn&&(n.created=Xn("CreatedAt")),n}function nt(i){let t=Er(i);return Yl(t),t}function ia(i){let t=Er(i);return t.equals=Gs,t}function Ul(i){var t=i.effects;if(t!==null){i.effects=null;for(var e=0;e<t.length;e+=1)ni(t[e])}}var ac=[];function k0(i){for(var t=i.parent;t!==null;){if((t.f&2)===0)return t;t=t.parent}return null}function hc(i){var t,e=yt;if(Ce(k0(i)),it){let n=Qr;lc(new Set);try{ac.includes(i)&&Qd(),ac.push(i),Ul(i),t=jl(i)}finally{Ce(e),lc(n),ac.pop()}}else try{Ul(i),t=jl(i)}finally{Ce(e)}return t}function cc(i){var t=hc(i),e=(Qn||(i.f&256)!==0)&&i.deps!==null?4096:1024;ri(i,e),i.equals(t)||(i.v=t,i.wv=na())}var Qr=new Set,Ws=new Map;function lc(i){Qr=i}function Oe(i,t){var e={f:0,v:i,reactions:null,equals:Wl,rv:0,wv:0};return it&&Cn&&(e.created=t??Xn("CreatedAt"),e.debug=null),e}function at(i,t){let e=Oe(i,t);return Yl(e),e}function tr(i,t=!1){let e=Oe(i);return t||(e.equals=Gs),Kn&&Gt!==null&&Gt.l!==null&&(Gt.l.s??=[]).push(e),e}function P(i,t,e=!1){Ct!==null&&!en&&dn()&&(Ct.f&18)!==0&&!On?.includes(i)&&up();let n=e?Rt(t):t;return Us(i,n)}function Us(i,t){if(!i.equals(t)){var e=i.v;if(ts?Ws.set(i,t):Ws.set(i,e),i.v=t,it&&Cn&&(i.updated=Xn("UpdatedAt"),yt!=null&&(i.trace_need_increase=!0,i.trace_v??=e)),(i.f&2)!==0&&((i.f&2048)!==0&&hc(i),ri(i,(i.f&256)===0?1024:4096)),i.wv=na(),pp(i,2048),dn()&&yt!==null&&(yt.f&1024)!==0&&(yt.f&96)===0&&(Hi===null?gp([i]):Hi.push(i)),it&&Qr.size>0){let n=Array.from(Qr);for(let r of n)(r.f&1024)!==0&&ri(r,4096),Tr(r)&&js(r);Qr.clear()}}return t}function ra(i,t=1){var e=d(i),n=t===1?e++:e--;return P(i,e),n}function pp(i,t){var e=i.reactions;if(e!==null)for(var n=dn(),r=e.length,s=0;s<r;s++){var o=e[s],a=o.f;if((a&2048)===0&&!(!n&&o===yt)){if(it&&(a&262144)!==0){Qr.add(o);continue}ri(o,t),(a&1280)!==0&&((a&2)!==0?pp(o,4096):Ys(o))}}}var ft=!1;function si(i){ft=i}var xt;function ue(i){if(i===null)throw Jn;return xt=i}function Me(){return ue(je(xt))}function W(i){if(ft){if(je(xt)!==null)throw Jn;xt=i}}function Ks(i=1){if(ft){for(var t=i,e=xt;t--;)e=je(e);xt=e}}function es(){for(var i=0,t=xt;;){if(t.nodeType===8){var e=t.data;if(e===Xr){if(i===0)return t;i-=1}else(e===Sr||e===Mr)&&(i+=1)}var n=je(t);t.remove(),t=n}}function vp(){let i=Array.prototype,t=Array.__svelte_cleanup;t&&t();let{indexOf:e,lastIndexOf:n,includes:r}=i;i.indexOf=function(s,o){let a=e.call(this,s,o);if(a===-1){for(let l=o??0;l<this.length;l+=1)if(qs(this[l])===s){break}}return a},i.lastIndexOf=function(s,o){let a=n.call(this,s,o??this.length-1);if(a===-1){for(let l=0;l<=(o??this.length-1);l+=1)if(qs(this[l])===s){break}}return a},i.includes=function(s,o){let a=r.call(this,s,o);if(!a){for(let l=0;l<this.length;l+=1)if(qs(this[l])===s){break}}return a},Array.__svelte_cleanup=()=>{i.indexOf=e,i.lastIndexOf=n,i.includes=r}}var dc,bp,sa,_p,wp;function Kl(){if(dc===void 0){dc=window,bp=document,sa=/Firefox/.test(navigator.userAgent);var i=Element.prototype,t=Node.prototype,e=Text.prototype;_p=Zi(t,"firstChild").get,wp=Zi(t,"nextSibling").get,ic(i)&&(i.__click=void 0,i.__className=void 0,i.__attributes=null,i.__style=void 0,i.__e=void 0),ic(e)&&(e.__t=void 0),it&&(i.__svelte_meta=null,vp())}}function Mi(i=""){return document.createTextNode(i)}function Ee(i){return _p.call(i)}function je(i){return wp.call(i)}function J(i,t){if(!ft)return Ee(i);var e=Ee(xt);if(e===null)e=xt.appendChild(Mi());else if(t&&e.nodeType!==3){var n=Mi();return e?.before(n),ue(n),n}return ue(e),e}function Et(i,t){if(!ft){var e=Ee(i);return e instanceof Comment&&e.data===""?je(e):e}if(t&&xt?.nodeType!==3){var n=Mi();return xt?.before(n),ue(n),n}return xt}function F(i,t=1,e=!1){let n=ft?xt:i;for(var r;t--;)r=n,n=je(n);if(!ft)return n;var s=n?.nodeType;if(e&&s!==3){var o=Mi();return n===null?r?.after(o):n.before(o),ue(o),o}return ue(n),n}function oa(i){i.textContent=""}function xp(i){yt===null&&Ct===null&&ep(i),Ct!==null&&(Ct.f&256)!==0&&yt===null&&tp(),ts&&Zd(i)}function S0(i,t){var e=t.last;e===null?t.last=t.first=i:(e.next=i,i.prev=e,t.last=i)}function is(i,t,e,n=!0){var r=yt;if(it)for(;r!==null&&(r.f&262144)!==0;)r=r.parent;var s={ctx:Gt,deps:null,nodes_start:null,nodes_end:null,f:i|2048,first:null,fn:t,last:null,next:null,parent:r,prev:null,teardown:null,transitions:null,wv:0};if(it&&(s.component_function=Bi),e)try{js(s),s.f|=32768}catch(l){throw ni(s),l}else t!==null&&Ys(s);var o=e&&s.deps===null&&s.first===null&&s.nodes_start===null&&s.teardown===null&&(s.f&1048704)===0;if(!o&&n&&(r!==null&&S0(s,r),Ct!==null&&(Ct.f&2)!==0)){var a=Ct;(a.effects??=[]).push(s)}return s}function Si(i){let t=is(8,null,!1);return ri(t,1024),t.teardown=i,t}function Te(i){xp("$effect");var t=yt!==null&&(yt.f&32)!==0&&Gt!==null&&!Gt.m;if(it&&Ue(i,"name",{value:"$effect"}),t){var e=Gt;(e.e??=[]).push({fn:i,effect:yt,reaction:Ct})}else{var n=ei(i);return n}}function vc(i){let t=is(64,i,!0);return()=>{ni(t)}}function kp(i){let t=is(64,i,!0);return(e={})=>new Promise(n=>{e.outro?Gi(t,()=>{ni(t),n(void 0)}):(ni(t),n(void 0))})}function ei(i){return is(4,i,!1)}function fi(i){return is(8,i,!0)}function ct(i,t=[],e=Er){let n=t.map(e),r=()=>i(...n.map(d));return it&&Ue(r,"name",{value:"{expression}"}),oi(r)}function oi(i,t=0){return is(24|t,i,!0)}function Ne(i,t=!0){return is(40,i,!0,t)}function bc(i){var t=i.teardown;if(t!==null){let e=ts,n=Ct;pc(!0),ce(null);try{t.call(null)}finally{pc(e),ce(n)}}}function _c(i,t=!1){var e=i.first;for(i.first=i.last=null;e!==null;){var n=e.next;(e.f&64)!==0?e.parent=null:ni(e,t),e=n}}function Sp(i){for(var t=i.first;t!==null;){var e=t.next;(t.f&32)===0&&ni(t),t=e}}function ni(i,t=!0){var e=!1;(t||(i.f&524288)!==0)&&i.nodes_start!==null&&(wc(i.nodes_start,i.nodes_end),e=!0),_c(i,t&&!e),la(i,0),ri(i,16384);var n=i.transitions;if(n!==null)for(let s of n)s.stop();bc(i);var r=i.parent;r!==null&&r.first!==null&&yc(i),it&&(i.component_function=null),i.next=i.prev=i.teardown=i.ctx=i.deps=i.fn=i.nodes_start=i.nodes_end=null}function wc(i,t){for(;i!==null;){var e=i===t?null:je(i);i.remove(),i=e}}function yc(i){var t=i.parent,e=i.prev,n=i.next;e!==null&&(e.next=n),n!==null&&(n.prev=e),t!==null&&(t.first===i&&(t.first=n),t.last===i&&(t.last=e))}function Gi(i,t){var e=[];Xl(i,e,!0),xc(e,()=>{ni(i),t&&t()})}function xc(i,t){var e=i.length;if(e>0){var n=()=>--e||t();for(var r of i)r.out(n)}else t()}function Xl(i,t,e){if((i.f&8192)===0){if(i.f^=8192,i.transitions!==null)for(let o of i.transitions)(o.is_global||e)&&t.push(o);for(var n=i.first;n!==null;){var r=n.next,s=(n.f&65536)!==0||(n.f&32)!==0;Xl(n,t,s?e:!1),n=r}}}function Ar(i){Mp(i,!0)}function Mp(i,t){if((i.f&8192)!==0){i.f^=8192,(i.f&1024)===0&&(i.f^=1024),Tr(i)&&(ri(i,2048),Ys(i));for(var e=i.first;e!==null;){var n=e.next,r=(e.f&65536)!==0||(e.f&32)!==0;Mp(e,r?t:!1),e=n}if(i.transitions!==null)for(let s of i.transitions)(s.is_global||t)&&s.in()}}var M0=typeof requestIdleCallback>"u"?i=>setTimeout(i,1):requestIdleCallback,ua=[],ha=[];function Ep(){var i=ua;ua=[],jo(i)}function Tp(){var i=ha;ha=[],jo(i)}function Ei(i){ua.length===0&&queueMicrotask(Ep),ua.push(i)}function Ap(i){ha.length===0&&M0(Tp),ha.push(i)}function kc(){ua.length>0&&Ep(),ha.length>0&&Tp()}var Cp=new WeakSet,Ql=!1,da=!1,ca=null,ns=!1,ts=!1;function pc(i){ts=i}var fa=[],Ec=[],Ct=null,en=!1;function ce(i){Ct=i}var yt=null;function Ce(i){yt=i}var On=null;function Yl(i){Ct!==null&&Ct.f&2097152&&(On===null?On=[i]:On.push(i))}var di=null,qi=0,Hi=null;function gp(i){Hi=i}var Rp=1,tu=0,Qn=!1,Qo=null;function na(){return++Rp}function Tr(i){var t=i.f;if((t&2048)!==0)return!0;if((t&4096)!==0){var e=i.deps,n=(t&256)!==0;if(e!==null){var r,s,o=(t&512)!==0,a=n&&yt!==null&&!Qn,l=e.length;if(o||a){var u=i,f=u.parent;for(r=0;r<l;r++)s=e[r],(o||!s?.reactions?.includes(u))&&(s.reactions??=[]).push(u);o&&(u.f^=512),a&&f!==null&&(f.f&256)===0&&(u.f^=256)}for(r=0;r<l;r++)if(s=e[r],Tr(s)&&cc(s),s.wv>i.wv)return!0}(!n||yt!==null&&!Qn)&&ri(i,1024)}return!1}function E0(i,t){for(var e=t;e!==null;){if((e.f&128)!==0)try{e.fn(i);return}catch{e.f^=128}e=e.parent}throw Ql=!1,i}function Op(i){return(i.f&16384)===0&&(i.parent===null||(i.parent.f&128)===0)}function Xs(i,t,e,n){if(Ql){if(e===null&&(Ql=!1),Op(t))throw i;return}if(e!==null&&(Ql=!0),it&&n!==null&&i instanceof Error&&!Cp.has(i)){Cp.add(i);let s=[],o=t.fn?.name;o&&s.push(o);let a=n;for(;a!==null;){var r=a.function?.[Li];if(r){let f=r.split("/").pop();s.push(f)}a=a.p}let l=sa?" ":" ";Ue(i,"message",{value:i.message+`
|
|
${s.map(f=>`
|
|
${l}in ${f}`).join("")}
|
|
`}),Ue(i,"component_stack",{value:s});let u=i.stack;if(u){let f=u.split(`
|
|
`),h=[];for(let c=0;c<f.length;c++){let p=f[c];p.includes("svelte/src/internal")||h.push(p)}Ue(i,"stack",{value:h.join(`
|
|
`)})}}if(E0(i,t),Op(t))throw i}function Ip(i,t,e=!0){var n=i.reactions;if(n!==null)for(var r=0;r<n.length;r++){var s=n[r];On?.includes(i)||((s.f&2)!==0?Ip(s,t,!1):t===s&&(e?ri(s,2048):(s.f&1024)!==0&&ri(s,4096),Ys(s)))}}function jl(i){var t=di,e=qi,n=Hi,r=Ct,s=Qn,o=On,a=Gt,l=en,u=i.f;di=null,qi=0,Hi=null,Qn=(u&256)!==0&&(en||!ns||Ct===null),Ct=(u&96)===0?i:null,On=null,ta(i.ctx),en=!1,tu++,i.f|=2097152;try{var f=(0,i.fn)(),h=i.deps;if(di!==null){var c;if(la(i,qi),h!==null&&qi>0)for(h.length=qi+di.length,c=0;c<di.length;c++)h[qi+c]=di[c];else i.deps=h=di;if(!Qn)for(c=qi;c<h.length;c++)(h[c].reactions??=[]).push(i)}else h!==null&&qi<h.length&&(la(i,qi),h.length=qi);if(dn()&&Hi!==null&&!en&&h!==null&&(i.f&6146)===0)for(c=0;c<Hi.length;c++)Ip(Hi[c],i);return r!==null&&r!==i&&(tu++,Hi!==null&&(n===null?n=Hi:n.push(...Hi))),f}finally{di=t,qi=e,Hi=n,Ct=r,Qn=s,On=o,ta(a),en=l,i.f^=2097152}}function T0(i,t){let e=t.reactions;if(e!==null){var n=Yd.call(e,i);if(n!==-1){var r=e.length-1;r===0?e=t.reactions=null:(e[n]=e[r],e.pop())}}e===null&&(t.f&2)!==0&&(di===null||!di.includes(t))&&(ri(t,4096),(t.f&768)===0&&(t.f^=512),Ul(t),la(t,0))}function la(i,t){var e=i.deps;if(e!==null)for(var n=t;n<e.length;n++)T0(i,e[n])}function js(i){var t=i.f;if((t&16384)===0){ri(i,1024);var e=yt,n=Gt,r=ns;if(yt=i,ns=!0,it){var s=Bi;ea(i.component_function)}try{(t&16)!==0?Sp(i):_c(i),bc(i);var o=jl(i);i.teardown=typeof o=="function"?o:null,i.wv=Rp;var a=i.deps;if(it&&Cn&&(i.f&2048)!==0&&a!==null)for(let u=0;u<a.length;u++){var l=a[u];l.trace_need_increase&&(l.wv=na(),l.trace_need_increase=void 0,l.trace_v=void 0)}it&&Ec.push(i)}catch(u){Xs(u,i,e,n||i.ctx)}finally{ns=r,yt=e,it&&ea(s)}}}function Dp(){Ec=[]}function A0(){try{ip()}catch(i){if(it&&Ue(i,"stack",{value:""}),ca!==null)if(it)try{Xs(i,ca,null,null)}catch(t){throw Dp(),t}else Xs(i,ca,null,null);else throw it&&Dp(),i}}function Mc(){var i=ns;try{var t=0;for(ns=!0;fa.length>0;){t++>1e3&&A0();var e=fa,n=e.length;fa=[];for(var r=0;r<n;r++){var s=O0(e[r]);C0(s)}Ws.clear()}}finally{da=!1,ns=i,ca=null,it&&(Ec=[])}}function C0(i){var t=i.length;if(t!==0)for(var e=0;e<t;e++){var n=i[e];if((n.f&24576)===0)try{Tr(n)&&(js(n),n.deps===null&&n.first===null&&n.nodes_start===null&&(n.teardown===null?yc(n):n.fn=null))}catch(r){Xs(r,n,null,n.ctx)}}}function Ys(i){da||(da=!0,queueMicrotask(Mc));for(var t=ca=i;t.parent!==null;){t=t.parent;var e=t.f;if((e&96)!==0){if((e&1024)===0)return;t.f^=1024}}fa.push(t)}function O0(i){for(var t=[],e=i;e!==null;){var n=e.f,r=(n&96)!==0,s=r&&(n&1024)!==0;if(!s&&(n&8192)===0){if((n&4)!==0)t.push(e);else if(r)e.f^=1024;else try{Tr(e)&&js(e)}catch(l){Xs(l,e,null,e.ctx)}var o=e.first;if(o!==null){e=o;continue}}var a=e.parent;for(e=e.next;e===null&&a!==null;)e=a.next,a=a.parent}return t}function Qs(i){var t;for(i&&(da=!0,Mc(),t=i()),kc();fa.length>0;)da=!0,Mc(),kc();return t}async function Zs(){await Promise.resolve(),Qs()}function d(i){var t=i.f,e=(t&2)!==0;if(Qo!==null&&Qo.add(i),Ct!==null&&!en){if(!On?.includes(i)){var n=Ct.deps;i.rv<tu&&(i.rv=tu,di===null&&n!==null&&n[qi]===i?qi++:di===null?di=[i]:(!Qn||!di.includes(i))&&di.push(i))}}else if(e&&i.deps===null&&i.effects===null){var r=i,s=r.parent;s!==null&&(s.f&256)===0&&(r.f^=256)}if(e&&(r=i,Tr(r)&&cc(r)),it&&Cn&&Xo!==null&&Ct!==null&&Xo.reaction===Ct){if(i.debug)i.debug();else if(i.created){var o=Xo.entries.get(i);o===void 0&&(o={read:[]},Xo.entries.set(i,o)),o.read.push(Xn("TracedAt"))}}return ts&&Ws.has(i)?Ws.get(i):i.v}function ie(i){var t=en;try{return en=!0,i()}finally{en=t}}var D0=-7169;function ri(i,t){i.f=i.f&D0|t}function iu(i){if(!(typeof i!="object"||!i||i instanceof EventTarget)){if(ui in i)eu(i);else if(!Array.isArray(i))for(let t in i){let e=i[t];typeof e=="object"&&e&&ui in e&&eu(e)}}}function eu(i,t=new Set){if(typeof i=="object"&&i!==null&&!(i instanceof EventTarget)&&!t.has(i)){t.add(i),i instanceof Date&&i.getTime();for(let n in i)try{eu(i[n],t)}catch{}let e=kr(i);if(e!==Object.prototype&&e!==Array.prototype&&e!==Map.prototype&&e!==Set.prototype&&e!==Date.prototype){let n=Gl(e);for(let r in n){let s=n[r].get;if(s)try{s.call(i)}catch{}}}}}var $0=/\r/g;function Pp(i){i=i.replace($0,"");let t=5381,e=i.length;for(;e--;)t=(t<<5)-t^i.charCodeAt(e);return(t>>>0).toString(36)}var R0=["allowfullscreen","async","autofocus","autoplay","checked","controls","default","disabled","formnovalidate","hidden","indeterminate","inert","ismap","loop","multiple","muted","nomodule","novalidate","open","playsinline","readonly","required","reversed","seamless","selected","webkitdirectory","defer","disablepictureinpicture","disableremoteplayback"];var fE=[...R0,"formNoValidate","isMap","noModule","playsInline","readOnly","value","volume","defaultValue","defaultChecked","srcObject","noValidate","allowFullscreen","disablePictureInPicture","disableRemotePlayback"];var I0=["touchstart","touchmove"];function Np(i){return I0.includes(i)}function nu(i){return i?.replace(/\//g,"/\u200B")}var Lp=new Map;function Bp(i,t){var e=Lp.get(i);e||(e=new Set,Lp.set(i,e)),e.add(t)}var Fp=!1;function ru(){Fp||(Fp=!0,document.addEventListener("reset",i=>{Promise.resolve().then(()=>{if(!i.defaultPrevented)for(let t of i.target.elements)t.__on_r?.()})},{capture:!0}))}function to(i){var t=Ct,e=yt;ce(null),Ce(null);try{return i()}finally{ce(t),Ce(e)}}function Tc(i,t,e,n=e){i.addEventListener(t,()=>to(e));let r=i.__on_r;r?i.__on_r=()=>{r(),n(!0)}:i.__on_r=()=>n(!0),ru()}var Ac=new Set,su=new Set;function Hp(i,t,e,n={}){function r(s){if(n.capture||eo.call(t,s),!s.cancelBubble)return to(()=>e?.call(this,s))}return i.startsWith("pointer")||i.startsWith("touch")||i==="wheel"?Ei(()=>{t.addEventListener(i,r,n)}):t.addEventListener(i,r,n),r}function Le(i,t,e,n,r){var s={capture:n,passive:r},o=Hp(i,t,e,s);(t===document.body||t===window||t===document)&&Si(()=>{t.removeEventListener(i,o,s)})}function jt(i){for(var t=0;t<i.length;t++)Ac.add(i[t]);for(var e of su)e(i)}function eo(i){var t=this,e=t.ownerDocument,n=i.type,r=i.composedPath?.()||[],s=r[0]||i.target,o=0,a=i.__root;if(a){var l=r.indexOf(a);if(l!==-1&&(t===document||t===window)){i.__root=t;return}var u=r.indexOf(t);if(u===-1)return;l<=u&&(o=l)}if(s=r[o]||i.target,s!==t){Ue(i,"currentTarget",{configurable:!0,get(){return s||e}});var f=Ct,h=yt;ce(null),Ce(null);try{for(var c,p=[];s!==null;){var g=s.assignedSlot||s.parentNode||s.host||null;try{var m=s["__"+n];if(m!=null&&(!s.disabled||i.target===s))if(Qi(m)){var[v,..._]=m;v.apply(s,[i,..._])}else m.call(s,i)}catch(S){c?p.push(S):c=S}if(i.cancelBubble||g===t||g===null)break;s=g}if(c){for(let S of p)queueMicrotask(()=>{throw S});throw c}}finally{i.__root=t,delete i.currentTarget,ce(f),Ce(h)}}}var P0;function Vp(){P0=void 0}function pa(i){var t=document.createElement("template");return t.innerHTML=i,t.content}function Ti(i,t){var e=yt;e.nodes_start===null&&(e.nodes_start=i,e.nodes_end=t)}function G(i,t){var e=(t&1)!==0,n=(t&2)!==0,r,s=!i.startsWith("<!>");return()=>{if(ft)return Ti(xt,null),xt;r===void 0&&(r=pa(s?i:"<!>"+i),e||(r=Ee(r)));var o=n||sa?document.importNode(r,!0):r.cloneNode(!0);if(e){var a=Ee(o),l=o.lastChild;Ti(a,l)}else Ti(o,o);return o}}function Cc(i=""){if(!ft){var t=Mi(i+"");return Ti(t,t),t}var e=xt;return e.nodeType!==3&&(e.before(e=Mi()),ue(e)),Ti(e,e),e}function $e(){if(ft)return Ti(xt,null),xt;var i=document.createDocumentFragment(),t=document.createComment(""),e=Mi();return i.append(t,e),Ti(t,e),i}function V(i,t){if(ft){yt.nodes_end=xt,Me();return}i!==null&&i.before(t)}var ou=!0;function Wt(i,t){var e=t==null?"":typeof t=="object"?t+"":t;e!==(i.__t??=i.nodeValue)&&(i.__t=e,i.nodeValue=e+"")}function Dn(i,t){return zp(i,t)}function Dc(i,t){Kl(),t.intro=t.intro??!1;let e=t.target,n=ft,r=xt;try{for(var s=Ee(e);s&&(s.nodeType!==8||s.data!==Sr);)s=je(s);if(!s)throw Jn;si(!0),ue(s),Me();let o=zp(i,{...t,anchor:s});if(xt===null||xt.nodeType!==8||xt.data!==Xr)throw Jn;return si(!1),o}catch(o){if(o===Jn)return t.recover===!1&&np(),Kl(),oa(e),si(!1),Dn(i,t);throw o}finally{si(n),ue(r),Vp()}}var io=new Map;function zp(i,{target:t,anchor:e,props:n={},events:r,context:s,intro:o=!0}){Kl();var a=new Set,l=h=>{for(var c=0;c<h.length;c++){var p=h[c];if(!a.has(p)){a.add(p);var g=Np(p);t.addEventListener(p,eo,{passive:g});var m=io.get(p);m===void 0?(document.addEventListener(p,eo,{passive:g}),io.set(p,1)):io.set(p,m+1)}}};l(Uo(Ac)),su.add(l);var u=void 0,f=kp(()=>{var h=e??t.appendChild(Mi());return Ne(()=>{if(s){bt({});var c=Gt;c.c=s}r&&(n.$$events=r),ft&&Ti(h,null),ou=o,u=i(h,n)||{},ou=!0,ft&&(yt.nodes_end=xt),s&&_t()}),()=>{for(var c of a){t.removeEventListener(c,eo);var p=io.get(c);--p===0?(document.removeEventListener(c,eo),io.delete(c)):io.set(c,p)}su.delete(l),h!==e&&h.parentNode?.removeChild(h)}});return Oc.set(u,f),u}var Oc=new WeakMap;function er(i,t){let e=Oc.get(i);return e?(Oc.delete(i),e(t)):(it&&void 0,Promise.resolve())}function pt(i,t,[e,n]=[0,0]){ft&&e===0&&Me();var r=i,s=null,o=null,a=we,l=e>0?65536:0,u=!1;let f=(c,p=!0)=>{u=!0,h(p,c)},h=(c,p)=>{if(a===(a=c))return;let g=!1;if(ft&&n!==-1){if(e===0){let v=r.data;v===Sr?n=0:v===Mr?n=1/0:(n=parseInt(v.substring(1)),n!==n&&(n=a?1/0:-1))}let m=n>e;!!a===m&&(r=es(),ue(r),si(!1),g=!0,n=-1)}a?(s?Ar(s):p&&(s=Ne(()=>p(r))),o&&Gi(o,()=>{o=null})):(o?Ar(o):p&&(o=Ne(()=>p(r,[e+1,n]))),s&&Gi(s,()=>{s=null})),g&&si(!0)};oi(()=>{u=!1,t(f),u||h(null,null)},l),ft&&(r=xt)}function no(i,t,e){ft&&Me();var n=i,r=we,s,o=dn()?Xd:zs;oi(()=>{o(r,r=t())&&(s&&Gi(s),s=Ne(()=>e(n)))}),ft&&(n=xt)}var ga=null;function se(i,t){return t}function V0(i,t,e,n){for(var r=[],s=t.length,o=0;o<s;o++)Xl(t[o].e,r,!0);var a=s>0&&r.length===0&&e!==null;if(a){var l=e.parentNode;oa(l),l.append(e),n.clear(),Cr(i,t[0].prev,t[s-1].next)}xc(r,()=>{for(var u=0;u<s;u++){var f=t[u];a||(n.delete(f.k),Cr(i,f.prev,f.next)),ni(f.e,!a)}})}function Qt(i,t,e,n,r,s=null){var o=i,a={flags:t,items:new Map,first:null},l=(t&4)!==0;if(l){var u=i;o=ft?ue(Ee(u)):u.appendChild(Mi())}ft&&Me();var f=null,h=!1,c=ia(()=>{var p=e();return Qi(p)?p:p==null?[]:Uo(p)});oi(()=>{var p=d(c),g=p.length;if(h&&g===0)return;h=g===0;let m=!1;if(ft){var v=o.data===Mr;v!==(g===0)&&(o=es(),ue(o),si(!1),m=!0)}if(ft){for(var _=null,S,k=0;k<g;k++){if(xt.nodeType===8&&xt.data===Xr){o=xt,m=!0,si(!1);break}var E=p[k],M=n(E,k);S=Wp(xt,a,_,null,E,M,k,r,t,e),a.items.set(M,S),_=S}g>0&&ue(es())}ft||z0(p,a,o,r,t,n,e),s!==null&&(g===0?f?Ar(f):f=Ne(()=>s(o)):f!==null&&Gi(f,()=>{f=null})),m&&si(!0),d(c)}),ft&&(o=xt)}function z0(i,t,e,n,r,s,o){var a=(r&8)!==0,l=(r&3)!==0,u=i.length,f=t.items,h=t.first,c=h,p,g=null,m,v=[],_=[],S,k,E,M;if(a)for(M=0;M<u;M+=1)S=i[M],k=s(S,M),E=f.get(k),E!==void 0&&(E.a?.measure(),(m??=new Set).add(E));for(M=0;M<u;M+=1){if(S=i[M],k=s(S,M),E=f.get(k),E===void 0){var w=c?c.e.nodes_start:e;g=Wp(w,t,g,g===null?t.first:g.next,S,k,M,n,r,o),f.set(k,g),v=[],_=[],c=g.next;continue}if(l&&G0(E,S,M,r),(E.e.f&8192)!==0&&(Ar(E.e),a&&(E.a?.unfix(),(m??=new Set).delete(E))),E!==c){if(p!==void 0&&p.has(E)){if(v.length<_.length){var x=_[0],A;g=x.prev;var D=v[0],N=v[v.length-1];for(A=0;A<v.length;A+=1)Gp(v[A],x,e);for(A=0;A<_.length;A+=1)p.delete(_[A]);Cr(t,D.prev,N.next),Cr(t,g,D),Cr(t,N,x),c=x,g=N,M-=1,v=[],_=[]}else p.delete(E),Gp(E,c,e),Cr(t,E.prev,E.next),Cr(t,E,g===null?t.first:g.next),Cr(t,g,E),g=E;continue}for(v=[],_=[];c!==null&&c.k!==k;)(c.e.f&8192)===0&&(p??=new Set).add(c),_.push(c),c=c.next;if(c===null)continue;E=c}v.push(E),g=E,c=E.next}if(c!==null||p!==void 0){for(var I=p===void 0?[]:Uo(p);c!==null;)(c.e.f&8192)===0&&I.push(c),c=c.next;var R=I.length;if(R>0){var z=(r&4)!==0&&u===0?e:null;if(a){for(M=0;M<R;M+=1)I[M].a?.measure();for(M=0;M<R;M+=1)I[M].a?.fix()}V0(t,I,z,f)}}a&&Ei(()=>{if(m!==void 0)for(E of m)E.a?.apply()}),yt.first=t.first&&t.first.e,yt.last=g&&g.e}function G0(i,t,e,n){(n&1)!==0&&Us(i.v,t),(n&2)!==0?Us(i.i,e):i.i=e}function Wp(i,t,e,n,r,s,o,a,l,u){var f=ga,h=(l&1)!==0,c=(l&16)===0,p=h?c?tr(r):Oe(r):r,g=(l&2)===0?o:Oe(o);it&&h&&(p.debug=()=>{var v=typeof g=="number"?o:g.v;u()[v]});var m={i:g,v:p,k:s,a:null,e:null,prev:e,next:n};ga=m;try{return m.e=Ne(()=>a(i,p,g,u),ft),m.e.prev=e&&e.e,m.e.next=n&&n.e,e===null?t.first=m:(e.next=m,e.e.next=m.e),n!==null&&(n.prev=m,n.e.prev=m.e),m}finally{ga=f}}function Gp(i,t,e){for(var n=i.next?i.next.e.nodes_start:e,r=t?t.e.nodes_start:e,s=i.e.nodes_start;s!==n;){var o=je(s);r.before(s),s=o}}function Cr(i,t,e){t===null?i.first=e:(t.next=e,t.e.next=e&&e.e),e!==null&&(e.prev=t,e.e.prev=t&&t.e)}function q0(i,t,e){if(!t||t===Pp(String(e??"")))return;let n,r=i.__svelte_meta?.loc;r?n=`near ${r.file}:${r.line}:${r.column}`:Bi?.[Li]&&(n=`in ${Bi[Li]}`),nu(n)}function $n(i,t,e=!1,n=!1,r=!1){var s=i,o="";ct(()=>{var a=yt;if(o===(o=t()??"")){ft&&Me();return}if(a.nodes_start!==null&&(wc(a.nodes_start,a.nodes_end),a.nodes_start=a.nodes_end=null),o!==""){if(ft){for(var l=xt.data,u=Me(),f=u;u!==null&&(u.nodeType!==8||u.data!=="");)f=u,u=je(u);if(u===null)throw Jn;it&&!r&&q0(u.parentNode,l,o),Ti(xt,f),s=ue(u);return}var h=o+"";e?h=`<svg>${h}</svg>`:n&&(h=`<math>${h}</math>`);var c=pa(h);if((e||n)&&(c=Ee(c)),Ti(Ee(c),c.lastChild),e||n)for(;Ee(c);)s.before(Ee(c));else s.before(c)}})}function Ai(i,t,...e){var n=i,r=Se,s;oi(()=>{r!==(r=t())&&(s&&(ni(s),s=null),it&&r==null&&rp(),s=Ne(()=>r(n,...e)))},65536),ft&&(n=xt)}function Ic(i,t,e){ft&&Me();var n=i,r,s;oi(()=>{r!==(r=t())&&(s&&(Gi(s),s=null),r&&(s=Ne(()=>e(n,r))))},65536),ft&&(n=xt)}function ir(i,t){Ei(()=>{var e=i.getRootNode(),n=e.host?e:e.head??e.ownerDocument.head;if(!n.querySelector("#"+t.hash)){let r=document.createElement("style");r.id=t.hash,r.textContent=t.code,n.appendChild(r),it&&Bp(t.hash,r)}})}function au(i,t,e){ei(()=>{var n=ie(()=>t(i,e?.())||{});if(e&&n?.update){var r=!1,s={};fi(()=>{var o=e();iu(o),r&&zs(s,o)&&(s=o,n.update(o))}),r=!0}if(n?.destroy)return()=>n.destroy()})}function Up(i){var t,e,n="";if(typeof i=="string"||typeof i=="number")n+=i;else if(typeof i=="object")if(Array.isArray(i)){var r=i.length;for(t=0;t<r;t++)i[t]&&(e=Up(i[t]))&&(n&&(n+=" "),n+=e)}else for(e in i)i[e]&&(n&&(n+=" "),n+=e);return n}function jp(){for(var i,t,e=0,n="",r=arguments.length;e<r;e++)(i=arguments[e])&&(t=Up(i))&&(n&&(n+=" "),n+=t);return n}function Ye(i){return typeof i=="object"?jp(i):i??""}var Yp=[...`
|
|
\r\f\xA0\v\uFEFF`];function Jp(i,t,e){var n=i==null?"":""+i;if(t&&(n=n?n+" "+t:t),e){for(var r in e)if(e[r])n=n?n+" "+r:r;else if(n.length)for(var s=r.length,o=0;(o=n.indexOf(r,o))>=0;){var a=o+s;(o===0||Yp.includes(n[o-1]))&&(a===n.length||Yp.includes(n[a]))?n=(o===0?"":n.substring(0,o))+n.substring(a+1):o=a}}return n===""?null:n}function Kp(i,t=!1){var e=t?" !important;":";",n="";for(var r in i){var s=i[r];s!=null&&s!==""&&(n+=" "+r+": "+s+e)}return n}function Pc(i){return i[0]!=="-"||i[1]!=="-"?i.toLowerCase():i}function Xp(i,t){if(t){var e="",n,r;if(Array.isArray(t)?(n=t[0],r=t[1]):n=t,i){i=String(i).replaceAll(/\s*\/\*.*?\*\/\s*/g,"").trim();var s=!1,o=0,a=!1,l=[];n&&l.push(...Object.keys(n).map(Pc)),r&&l.push(...Object.keys(r).map(Pc));var u=0,f=-1;let m=i.length;for(var h=0;h<m;h++){var c=i[h];if(a?c==="/"&&i[h-1]==="*"&&(a=!1):s?s===c&&(s=!1):c==="/"&&i[h+1]==="*"?a=!0:c==='"'||c==="'"?s=c:c==="("?o++:c===")"&&o--,!a&&s===!1&&o===0){if(c===":"&&f===-1)f=h;else if(c===";"||h===m-1){if(f!==-1){var p=Pc(i.substring(u,f).trim());if(!l.includes(p)){c!==";"&&h++;var g=i.substring(u,h).trim();e+=" "+g+";"}}u=h+1,f=-1}}}}return n&&(e+=Kp(n)),r&&(e+=Kp(r,!0)),e=e.trim(),e===""?null:e}return i==null?null:String(i)}function kt(i,t,e,n,r,s){var o=i.__className;if(ft||o!==e||o===void 0){var a=Jp(e,n,s);(!ft||a!==i.getAttribute("class"))&&(a==null?i.removeAttribute("class"):t?i.className=a:i.setAttribute("class",a)),i.__className=e}else if(s&&r!==s)for(var l in s){var u=!!s[l];(r==null||u!==!!r[l])&&i.classList.toggle(l,u)}return s}function Nc(i,t={},e,n){for(var r in e){var s=e[r];t[r]!==s&&(e[r]==null?i.style.removeProperty(r):i.style.setProperty(r,s,n))}}function nn(i,t,e,n){var r=i.__style;if(ft||r!==t){var s=Xp(t,n);(!ft||s!==i.getAttribute("style"))&&(s==null?i.removeAttribute("style"):i.style.cssText=s),i.__style=t}else n&&(Array.isArray(n)?(Nc(i,e?.[0],n[0]),Nc(i,e?.[1],n[1],"important")):Nc(i,e,n));return n}var K0=Symbol("class"),J0=Symbol("style"),X0=Symbol("is custom element"),Q0=Symbol("is html");function nr(i){if(ft){var t=!1,e=()=>{if(!t){if(t=!0,i.hasAttribute("value")){var n=i.value;It(i,"value",null),i.value=n}if(i.hasAttribute("checked")){var r=i.checked;It(i,"checked",null),i.checked=r}}};i.__on_r=e,Ap(e),ru()}}function Or(i,t){var e=tg(i);e.value===(e.value=t??void 0)||i.value===t&&(t!==0||i.nodeName!=="PROGRESS")||(i.value=t??"")}function It(i,t,e,n){var r=tg(i);if(ft&&(r[t]=i.getAttribute(t),t==="src"||t==="srcset"||t==="href"&&i.nodeName==="LINK")){n||tv(i,t,e??"");return}r[t]!==(r[t]=e)&&(t==="loading"&&(i[Jd]=e),e==null?i.removeAttribute(t):typeof e!="string"&&Z0(i).includes(t)?i[t]=e:i.setAttribute(t,e))}function tg(i){return i.__attributes??={[X0]:i.nodeName.includes("-"),[Q0]:i.namespaceURI===cp}}var Qp=new Map;function Z0(i){var t=Qp.get(i.nodeName);if(t)return t;Qp.set(i.nodeName,t=[]);for(var e,n=i,r=Element.prototype;r!==n;){e=Gl(n);for(var s in e)e[s].set&&t.push(s);n=kr(n)}return t}function tv(i,t,e){it&&(t==="srcset"&&ev(i,e)||Lc(i.getAttribute(t)??"",e)||(i.outerHTML.replace(i.innerHTML,i.innerHTML&&"..."),String(e),void 0))}function Lc(i,t){return i===t?!0:new URL(i,document.baseURI).href===new URL(t,document.baseURI).href}function Zp(i){return i.split(",").map(t=>t.trim().split(" ").filter(Boolean))}function ev(i,t){var e=Zp(i.srcset),n=Zp(t);return n.length===e.length&&n.every(([r,s],o)=>s===e[o][1]&&(Lc(e[o][0],r)||Lc(r,e[o][0])))}var iv=zl?()=>performance.now():()=>Date.now(),mn={tick:i=>(zl?requestAnimationFrame:Se)(i),now:()=>iv(),tasks:new Set};function eg(){let i=mn.now();mn.tasks.forEach(t=>{t.c(i)||(mn.tasks.delete(t),t.f())}),mn.tasks.size!==0&&mn.tick(eg)}function ig(i){let t;return mn.tasks.size===0&&mn.tick(eg),{promise:new Promise(e=>{mn.tasks.add(t={c:i,f:e})}),abort(){mn.tasks.delete(t)}}}function lu(i,t){to(()=>{i.dispatchEvent(new CustomEvent(t))})}function ov(i){if(i==="float")return"cssFloat";if(i==="offset")return"cssOffset";if(i.startsWith("--"))return i;let t=i.split("-");return t.length===1?t[0]:t[0]+t.slice(1).map(e=>e[0].toUpperCase()+e.slice(1)).join("")}function ng(i){let t={},e=i.split(";");for(let n of e){let[r,s]=n.split(":");if(!r||s===void 0)break;let o=ov(r.trim());t[o]=s.trim()}return t}var av=i=>i;function Ke(i,t,e,n){var r=(i&1)!==0,s=(i&2)!==0,o=r&&s,a=(i&4)!==0,l=o?"both":r?"in":"out",u,f=t.inert,h=t.style.overflow,c,p;function g(){var k=Ct,E=yt;ce(null),Ce(null);try{return u??=e()(t,n?.()??{},{direction:l})}finally{ce(k),Ce(E)}}var m={is_global:a,in(){if(t.inert=f,!r){p?.abort(),p?.reset?.();return}s||c?.abort(),lu(t,"introstart"),c=Bc(t,g(),p,1,()=>{lu(t,"introend"),c?.abort(),c=u=void 0,t.style.overflow=h})},out(k){if(!s){k?.(),u=void 0;return}t.inert=!0,lu(t,"outrostart"),p=Bc(t,g(),c,0,()=>{lu(t,"outroend"),k?.()})},stop:()=>{c?.abort(),p?.abort()}},v=yt;if((v.transitions??=[]).push(m),r&&ou){var _=a;if(!_){for(var S=v.parent;S&&(S.f&65536)!==0;)for(;(S=S.parent)&&(S.f&16)===0;);_=!S||(S.f&32768)!==0}_&&ei(()=>{ie(()=>m.in())})}}function Bc(i,t,e,n,r){var s=n===1;if(nc(t)){var o,a=!1;return Ei(()=>{if(!a){var v=t({direction:s?"in":"out"});o=Bc(i,v,e,n,r)}}),{abort:()=>{a=!0,o?.abort()},deactivate:()=>o.deactivate(),reset:()=>o.reset(),t:()=>o.t()}}if(e?.deactivate(),!t?.duration)return r(),{abort:Se,deactivate:Se,reset:Se,t:()=>n};let{delay:l=0,css:u,tick:f,easing:h=av}=t;var c=[];if(s&&e===void 0&&(f&&f(0,1),u)){var p=ng(u(0,1));c.push(p,p)}var g=()=>1-n,m=i.animate(c,{duration:l});return m.onfinish=()=>{var v=e?.t()??1-n;e?.abort();var _=n-v,S=t.duration*Math.abs(_),k=[];if(S>0){var E=!1;if(u)for(var M=Math.ceil(S/16.666666666666668),w=0;w<=M;w+=1){var x=v+_*h(w/M),A=ng(u(x,1-x));k.push(A),E||=A.overflow==="hidden"}E&&(i.style.overflow="hidden"),g=()=>{var D=m.currentTime;return v+_*h(D/S)},f&&ig(()=>{if(m.playState!=="running")return!1;var D=g();return f(D,1-D),!0})}m=i.animate(k,{duration:S,fill:"forwards"}),m.onfinish=()=>{g=()=>n,f?.(n,1-n),r()}},{abort:()=>{m&&(m.cancel(),m.effect=null,m.onfinish=Se)},deactivate:()=>{r=Se},reset:()=>{n===0&&f?.(1,0)},t:()=>g()}}function Vc(i,t,e=t){var n=dn();Tc(i,"input",r=>{it&&i.type==="checkbox"&&rc();var s=r?i.defaultValue:i.value;if(s=Fc(i)?Hc(s):s,e(s),n&&s!==(s=t())){var o=i.selectionStart,a=i.selectionEnd;i.value=s??"",a!==null&&(i.selectionStart=o,i.selectionEnd=Math.min(a,i.value.length))}}),(ft&&i.defaultValue!==i.value||ie(t)==null&&i.value)&&e(Fc(i)?Hc(i.value):i.value),fi(()=>{it&&i.type==="checkbox"&&rc();var r=t();Fc(i)&&r===Hc(i.value)||i.type==="date"&&!r&&!i.value||r!==i.value&&(i.value=r??"")})}function Fc(i){var t=i.type;return t==="number"||t==="range"}function Hc(i){return i===""?null:+i}function ma(i,t,e){if(i.multiple)return lv(i,t);for(var n of i.options){var r=rg(n);if(oc(r,t)){n.selected=!0;return}}(!e||t!==void 0)&&(i.selectedIndex=-1)}function zc(i,t){let e=!0;ei(()=>{t&&ma(i,ie(t),e),e=!1;var n=new MutationObserver(()=>{var r=i.__value;ma(i,r)});return n.observe(i,{childList:!0,subtree:!0,attributes:!0,attributeFilter:["value"]}),()=>{n.disconnect()}})}function lv(i,t){for(var e of i.options)e.selected=~t.indexOf(rg(e))}function rg(i){return"__value"in i?i.__value:i.value}var Gc=class i{#t=new WeakMap;#e;#i;static entries=new WeakMap;constructor(t){this.#i=t}observe(t,e){var n=this.#t.get(t)||new Set;return n.add(e),this.#t.set(t,n),this.#n().observe(t,this.#i),()=>{var r=this.#t.get(t);r.delete(e),r.size===0&&(this.#t.delete(t),this.#e.unobserve(t))}}#n(){return this.#e??(this.#e=new ResizeObserver(t=>{for(var e of t){i.entries.set(e.target,e);for(var n of this.#t.get(e.target)||[])n(e)}}))}};var uv=new Gc({box:"border-box"});function hu(i,t,e){var n=uv.observe(i,()=>e(i[t]));ei(()=>(ie(()=>e(i[t])),n))}function sg(i,t){return i===t||i?.[ui]===t}function vn(i={},t,e,n){return ei(()=>{var r,s;return fi(()=>{r=s,s=n?.()||[],ie(()=>{i!==e(...s)&&(t(i,...s),r&&sg(e(...r),i)&&t(null,...r))})}),()=>{Ei(()=>{s&&sg(e(...s),i)&&t(null,...s)})}}),i}var cu=!1,L6=Symbol();function Wc(i){var t=cu;try{return cu=!1,[i(),cu]}finally{cu=t}}function ag(i){return i.ctx?.d??!1}function B(i,t,e,n){var r=(e&1)!==0,s=!Kn||(e&2)!==0,o=(e&8)!==0,a=(e&16)!==0,l=!1,u;o?[u,l]=Wc(()=>i[t]):u=i[t];var f=ui in i||Yo in i,h=o&&(Zi(i,t)?.set??(f&&t in i&&(x=>i[t]=x)))||void 0,c=n,p=!0,g=!1,m=()=>(g=!0,p&&(p=!1,a?c=ie(n):c=n),c);u===void 0&&n!==void 0&&(h&&s&&sp(t),u=m(),h&&h(u));var v;if(s)v=()=>{var x=i[t];return x===void 0?m():(p=!0,g=!1,x)};else{var _=(r?Er:ia)(()=>i[t]);_.f|=131072,v=()=>{var x=d(_);return x!==void 0&&(c=void 0),x===void 0?c:x}}if((e&4)===0)return v;if(h){var S=i.$$legacy;return function(x,A){return arguments.length>0?((!s||!A||S||l)&&h(A?v():x),x):v()}}var k=!1,E=!1,M=tr(u),w=Er(()=>{var x=v(),A=d(M);return k?(k=!1,E=!0,A):(E=!1,M.v=x)});return o&&d(w),r||(w.equals=Gs),function(x,A){if(Qo!==null&&(k=E,v(),d(M)),arguments.length>0){let D=A?d(w):s&&o?Rt(x):x;if(!w.equals(D)){if(k=!0,P(M,D),g&&c!==void 0&&(c=D),ag(w))return x;ie(()=>d(w))}return x}return ag(w)?w.v:d(w)}}function lg(i){return new Uc(i)}var Uc=class{#t;#e;constructor(t){var e=new Map,n=(s,o)=>{var a=tr(o);return e.set(s,a),a};let r=new Proxy({...t.props||{},$$events:{}},{get(s,o){return d(e.get(o)??n(o,Reflect.get(s,o)))},has(s,o){return o===Yo?!0:(d(e.get(o)??n(o,Reflect.get(s,o))),Reflect.has(s,o))},set(s,o,a){return P(e.get(o)??n(o,a),a),Reflect.set(s,o,a)}});this.#e=(t.hydrate?Dc:Dn)(t.component,{target:t.target,anchor:t.anchor,props:r,context:t.context,intro:t.intro??!1,recover:t.recover}),(!t?.props?.$$host||t.sync===!1)&&Qs(),this.#t=r.$$events;for(let s of Object.keys(this.#e))s==="$set"||s==="$destroy"||s==="$on"||Ue(this,s,{get(){return this.#e[s]},set(o){this.#e[s]=o},enumerable:!0});this.#e.$set=s=>{Object.assign(r,s)},this.#e.$destroy=()=>{er(this.#e)}}$set(t){this.#e.$set(t)}$on(t,e){this.#t[t]=this.#t[t]||[];let n=(...r)=>e.call(this,...r);return this.#t[t].push(n),()=>{this.#t[t]=this.#t[t].filter(r=>r!==n)}}$destroy(){this.#e.$destroy()}};var xv;typeof HTMLElement=="function"&&(xv=class extends HTMLElement{$$ctor;$$s;$$c;$$cn=!1;$$d={};$$r=!1;$$p_d={};$$l={};$$l_u=new Map;$$me;constructor(i,t,e){super(),this.$$ctor=i,this.$$s=t,e&&this.attachShadow({mode:"open"})}addEventListener(i,t,e){if(this.$$l[i]=this.$$l[i]||[],this.$$l[i].push(t),this.$$c){let n=this.$$c.$on(i,t);this.$$l_u.set(t,n)}super.addEventListener(i,t,e)}removeEventListener(i,t,e){if(super.removeEventListener(i,t,e),this.$$c){let n=this.$$l_u.get(t);n&&(n(),this.$$l_u.delete(t))}}async connectedCallback(){if(this.$$cn=!0,!this.$$c){let i=function(n){return r=>{let s=document.createElement("slot");n!=="default"&&(s.name=n),V(r,s)}};if(await Promise.resolve(),!this.$$cn||this.$$c)return;let t={},e=kv(this);for(let n of this.$$s)n in e&&(n==="default"&&!this.$$d.children?(this.$$d.children=i(n),t.default=!0):t[n]=i(n));for(let n of this.attributes){let r=this.$$g_p(n.name);r in this.$$d||(this.$$d[r]=jc(r,n.value,this.$$p_d,"toProp"))}for(let n in this.$$p_d)!(n in this.$$d)&&this[n]!==void 0&&(this.$$d[n]=this[n],delete this[n]);this.$$c=lg({component:this.$$ctor,target:this.shadowRoot||this,props:{...this.$$d,$$slots:t,$$host:this}}),this.$$me=vc(()=>{fi(()=>{this.$$r=!0;for(let n of ec(this.$$c)){if(!this.$$p_d[n]?.reflect)continue;this.$$d[n]=this.$$c[n];let r=jc(n,this.$$d[n],this.$$p_d,"toAttribute");r==null?this.removeAttribute(this.$$p_d[n].attribute||n):this.setAttribute(this.$$p_d[n].attribute||n,r)}this.$$r=!1})});for(let n in this.$$l)for(let r of this.$$l[n]){let s=this.$$c.$on(n,r);this.$$l_u.set(r,s)}this.$$l={}}}attributeChangedCallback(i,t,e){this.$$r||(i=this.$$g_p(i),this.$$d[i]=jc(i,e,this.$$p_d,"toProp"),this.$$c?.$set({[i]:this.$$d[i]}))}disconnectedCallback(){this.$$cn=!1,Promise.resolve().then(()=>{!this.$$cn&&this.$$c&&(this.$$c.$destroy(),this.$$me(),this.$$c=void 0)})}$$g_p(i){return ec(this.$$p_d).find(t=>this.$$p_d[t].attribute===i||!this.$$p_d[t].attribute&&t.toLowerCase()===i)||i}});function jc(i,t,e,n){let r=e[i]?.type;if(t=r==="Boolean"&&typeof t!="boolean"?t!=null:t,!n||!e[i])return t;if(n==="toAttribute")switch(r){case"Object":case"Array":return t==null?null:JSON.stringify(t);case"Boolean":return t?"":null;case"Number":return t??null;default:return t}else switch(r){case"Object":case"Array":return t&&JSON.parse(t);case"Boolean":return t;case"Number":return t!=null?+t:t;default:return t}}function kv(i){let t={};return i.childNodes.forEach(e=>{t[e.slot||"default"]=!0}),t}if(it){let i=function(t){if(!(t in globalThis)){let e;Object.defineProperty(globalThis,t,{configurable:!0,get:()=>{if(e!==void 0)return e;op(t)},set:n=>{e=n}})}};i("$state"),i("$effect"),i("$derived"),i("$inspect"),i("$props"),i("$bindable")}function rr(i){Gt===null&&Zo("onMount"),Kn&&Gt.l!==null?Mv(Gt).m.push(i):Te(()=>{let t=ie(i);if(typeof t=="function")return t})}function ug(i){Gt===null&&Zo("onDestroy"),rr(()=>()=>ie(i))}function Mv(i){var t=i.l;return t.u??={a:[],b:[],m:[]}}var hg="5";typeof window<"u"&&((window.__svelte??={}).v??=new Set).add(hg);var Ev=G("<div> </div>"),Tv=G("<button><!> <!></button>");function pi(i,t){let e=B(t,"text",3,""),n=B(t,"icon",3,""),r=B(t,"tooltip",3,""),s=B(t,"size",3,null),o=B(t,"onClick",3,()=>{}),a=B(t,"class",3,"");var l=Tv();let u;l.__click=function(...g){o()?.apply(this,g)};var f=J(l);{var h=g=>{var m=Ev(),v=J(m,!0);W(m),ct(()=>Wt(v,e())),V(g,m)};pt(f,g=>{e()&&g(h)})}var c=F(f,2);{var p=g=>{ai(g,{get icon(){return n()},get size(){return s()}})};pt(c,g=>{n()&&g(p)})}W(l),ct(g=>{u=kt(l,1,Ye(a()),null,u,g),It(l,"aria-label",r())},[()=>({"svelcomlib-icon-text":n()})]),V(i,l)}jt(["click"]);var Av=(i,t)=>t()(i.target.value,i.target),Cv=G("<option> </option>"),Ov=G("<select></select>");function bn(i,t){bt(t,!0);let e=B(t,"onChange",3,()=>{}),n=B(t,"options",19,()=>[]),r=B(t,"value",3,""),s=B(t,"disabled",3,!1),o=B(t,"class",3,"");var a=Ov();a.__change=[Av,e],zc(a,r);var l;Qt(a,21,n,se,(u,f,h,c)=>{let p=()=>d(f).value,g=()=>d(f).text;var m=Cv(),v={},_=J(m,!0);W(m),ct(()=>{v!==(v=p())&&(m.value=(m.__value=p())??""),Wt(_,g())}),V(u,m)}),W(a),ct(()=>{kt(a,1,Ye(o()?o()+" dropdown":"dropdown")),a.disabled=s(),l!==(l=r())&&(a.value=(a.__value=r())??"",ma(a,r()))}),V(i,a),_t()}jt(["change"]);var cg=require("obsidian");function ai(i,t){bt(t,!0);let e=B(t,"icon",3,""),n=B(t,"size",3,null),r=B(t,"stroke_width",3,null),s=B(t,"class",3,""),o=at(null);Te(()=>{e().startsWith("<svg")?P(o,new DOMParser().parseFromString(e(),"text/html").body.childNodes[0],!0):P(o,(0,cg.getIcon)(e()),!0),s()&&d(o).classList.add(...s().split(" "))}),Te(()=>{d(o)&&n()&&(typeof n()=="number"?(d(o).style.width=n()+"px",d(o).style.height=n()+"px"):Array.isArray(n())?(d(o).style.width=n()[0]+"px",d(o).style.height=n()[1]+"px"):(d(o).style.width=`var(--${n()})`,d(o).style.height=`var(--${n()})`))}),Te(()=>{d(o)&&r()&&(d(o).style.strokeWidth=r()+"px")});var a=$e(),l=Et(a);$n(l,()=>d(o)?.outerHTML??""),V(i,a),_t()}var Dv=(i,t)=>t()(i.target.value),$v=G("<input>");function rs(i,t){bt(t,!0);let e=B(t,"type",3,"text"),n=B(t,"value",3,""),r=B(t,"placeholder",3,""),s=B(t,"onChange",3,()=>{}),o=B(t,"valid",3,!1),a=B(t,"readonly",3,!1),l=B(t,"class",3,"");var u=$v();nr(u),u.__input=[Dv,s];let f;ct(h=>{It(u,"type",e()),Or(u,n()),It(u,"placeholder",r()),u.readOnly=a(),f=kt(u,1,Ye(l()),null,f,h)},[()=>({"svelcomlib-input-success":o(),"svelcomlib-input-fail":o()===!1})]),V(i,u),_t()}jt(["input"]);var Rv=(i,t,e)=>{t()(e())},Iv=G('<input type="range" class="slider" data-tooltip-position="top">');function ss(i,t){bt(t,!0);let e=B(t,"min",3,0),n=B(t,"max",3,100),r=B(t,"step",3,1),s=B(t,"value",7,0),o=B(t,"onChange",3,()=>{}),a=B(t,"getTooltip",3,u=>u.toString());var l=Iv();nr(l),l.__input=()=>{let u=document.body.lastChild;u.classList.contains("tooltip")&&(u.firstChild.textContent=a()(s()),u.style.width="auto")},l.__change=[Rv,o,s],ct(u=>{It(l,"min",e()),It(l,"max",n()),It(l,"step",r()),It(l,"aria-label",u)},[()=>a()(s())]),Vc(l,s),V(i,l),_t()}jt(["input","change"]);var _R=G("<textarea></textarea>");jt(["change","contextmenu"]);var Pv=(i,t,e,n)=>{t()||e()(!n()),n(!n())},Nv=G('<div><input type="checkbox" tabindex="0"></div>');function Ot(i,t){bt(t,!0);let e=B(t,"value",7,!1),n=B(t,"onChange",3,()=>{}),r=B(t,"disabled",3,!1);var s=Nv();let o;s.__click=[Pv,r,n,e];var a=J(s);W(s),ct(l=>{o=kt(s,1,"checkbox-container",null,o,l),a.disabled=r()},[()=>({"is-enabled":e()})]),V(i,s),_t()}jt(["click"]);var MR=G('<span class="setting-hotkey-icon" style="display: flex"><!></span>'),ER=G('<span class="setting-hotkey svelcomlib-icon-text"> <!></span>'),TR=G('<div class="setting-command-hotkeys"></div>');jt(["click"]);var OR=G('<div class="svelcomlib-spinner"></div>');var Lv=(i,t,e,n)=>{t((t()+1)%e().length),n()()},Bv=G("<div><!> <!></div>");function Dr(i,t){bt(t,!0);let e=B(t,"states",19,()=>[]),n=B(t,"value",15,0),r=B(t,"size",3,null),s=B(t,"onClick",3,()=>{}),o=B(t,"onContextMenu",3,()=>{}),a=B(t,"class",3,"");var l=Bv();l.__click=[Lv,n,e,s],l.__contextmenu=function(...p){o()?.apply(this,p)};var u=J(l);{var f=p=>{ai(p,{get icon(){return e()[n()].icon},get size(){return r()}})};pt(u,p=>{e()[n()].icon&&p(f)})}var h=F(u,2);{var c=p=>{var g=Cc();ct(()=>Wt(g,e()[n()].text)),V(p,g)};pt(h,p=>{e()[n()].text&&p(c)})}W(l),ct(()=>{kt(l,1,a()+" svelcomlib-icon-text"),It(l,"aria-label",e()[n()].tooltip)}),V(i,l),_t()}jt(["click","contextmenu"]);var LR=G("<button><div> </div> <!></button>");jt(["click"]);var VR=G("<div><!> <input></div>");jt(["input"]);var Fv=G('<div class="svelcomlib-virtual-list-row"><!></div>'),Hv=G('<div class="svelcomlib-virtual-list-viewport"><div class="svelcomlib-virtual-list-contents"></div></div>'),Vv={hash:"svelte-3kpd",code:""};function va(i,t){bt(t,!0),ir(i,Vv);let e=B(t,"height",3,"100%"),n=B(t,"itemHeight",3,void 0),r=B(t,"start",7,0),s=B(t,"end",7,0),o=Rt([]),a=at(Rt([])),l=at(void 0),u=at(void 0),f=at(0),h=at(void 0),c=at(0),p=at(0),g=at(0),m=at(0),v=nt(()=>t.items.slice(r(),s()).map((w,x)=>({index:x+r(),data:w})));Te(()=>{d(h)&&_(t.items,d(f),n())});async function _(w,x,A){w.length<r()&&await k(w.length-1,{behavior:"auto"});let{scrollTop:N}=d(l);await Zs();let I=d(c)-N,R=r();for(;I<x&&R<w.length;){let U=d(a)[R-r()];U||(s(R+1),await Zs(),U=d(a)[R-r()]);let tt=o[R]=A||U.offsetHeight;I+=tt,R+=1}s(R);let z=w.length-s();P(g,(d(c)+I)/s()),P(p,z*d(g)),o.length=w.length}async function S(){let{scrollTop:w}=d(l);P(m,w,!0);for(let N=0;N<d(a).length;N+=1)o[r()+N]=n()||d(a)[N].offsetHeight;let x=0,A=0;for(;x<t.items.length;){let N=o[x]||d(g);if(A+N>w){r(x),P(c,A,!0);break}A+=N,x+=1}for(;x<t.items.length&&(A+=o[x]||d(g),x+=1,!(A>w+d(f))););s(x);let D=t.items.length-s();for(P(g,A/s());x<t.items.length;)o[x++]=d(g);P(p,D*d(g))}async function k(w,x){let{scrollTop:A}=d(l),D=w-r(),N=n()||d(g),I=D*N;x={left:0,top:A+I,behavior:"smooth",...x},d(l).scrollTo(x)}rr(()=>{P(a,d(u).getElementsByClassName("svelcomlib-virtual-list-row"),!0),P(h,!0)});var E=Hv(),M=J(E);return Qt(M,21,()=>d(v),w=>w.index,(w,x)=>{var A=Fv(),D=J(A);Ai(D,()=>t.item,()=>d(x).data,()=>d(x).index),W(A),V(w,A)}),W(M),vn(M,w=>P(u,w),()=>d(u)),W(E),vn(E,w=>P(l,w),()=>d(l)),ct(()=>{nn(E,`height: ${e()??""};`),nn(M,`padding-top: ${d(c)??""}px; padding-bottom: ${d(p)??""}px; --scroll-offset: ${d(m)??""}px`)}),Le("scroll",E,S),hu(E,"offsetHeight",w=>P(f,w)),V(i,E),_t({scrollToIndex:k})}var fu=require("obsidian"),Uv=G("<div></div>");function os(i,t){bt(t,!0);let e=B(t,"source",3,""),n=B(t,"class",3,""),r=at(void 0);rr(async()=>{let o=new fu.Component;await fu.MarkdownRenderer.render(t.plugin.app,t.text,d(r),e(),o),o.load()});var s=Uv();vn(s,o=>P(r,o),()=>d(r)),ct(()=>kt(s,1,Ye(n()))),V(i,s),_t()}var jv=G("<span>Empty navheader</span>"),Yv=G('<div class="nav-header"><div class="nav-buttons-container"><!></div></div>');function ba(i,t){"use strict";var e=Yv(),n=J(e),r=J(n);{var s=a=>{var l=$e(),u=Et(l);Ai(u,()=>t.container),V(a,l)},o=a=>{var l=jv();V(a,l)};pt(r,a=>{t.container?a(s):a(o,!1)})}W(n),W(e),V(i,e)}var Kv=G("<br>"),Jv=G("<!> <span><!></span>",1),Xv=G('<div><div class="setting-item-info"><div class="setting-item-name"><div><!></div></div> <div class="setting-item-description"><!> <!></div></div> <div class="setting-item-control"><!></div></div> <!>',1);function ut(i,t){bt(t,!0);let e=B(t,"description",3,null),n=B(t,"type",3,null),r=B(t,"depth",3,0),s=B(t,"notices",19,()=>[]),o=B(t,"class",3,""),a=nt(()=>{let x="";return r()&&(x+=" svelcomlib-"+"sub".repeat(r())+"setting"),n()==="heading"&&(x+=" svelcomlib-setting-"+"sub".repeat(r())+"heading"),x});var l=Xv(),u=Et(l);let f;var h=J(u),c=J(h),p=J(c),g=J(p);$n(g,()=>t.name),W(p),W(c);var m=F(c,2),v=J(m);$n(v,e);var _=F(v,2);Qt(_,17,s,se,(x,A,D)=>{var N=$e(),I=Et(N);{var R=z=>{var U=Jv(),tt=Et(U);{var rt=Dt=>{var Bt=Kv();V(Dt,Bt)};pt(tt,Dt=>{(e()||D!==0)&&Dt(rt)})}var At=F(tt,2);let St;var mt=J(At);$n(mt,()=>d(A).text),W(At),ct(Dt=>St=kt(At,1,"svelcomlib-notice "+(d(A).style??""),null,St,Dt),[()=>({"svelcomlib-notice-info":d(A).type==="info","svelcomlib-notice-warning":d(A).type==="warning","svelcomlib-notice-error":d(A).type==="error"})]),V(z,U)};pt(I,z=>{d(A)&&z(R)})}V(x,N)}),W(m),W(h);var S=F(h,2),k=J(S);{var E=x=>{var A=$e(),D=Et(A);Ai(D,()=>t.control),V(x,A)};pt(k,x=>{t.control&&x(E)})}W(S),W(u);var M=F(u,2);{var w=x=>{var A=$e(),D=Et(A);Ai(D,()=>t.subcontrol),V(x,A)};pt(M,x=>{t.subcontrol&&x(w)})}ct(x=>f=kt(u,1,(o()??"")+" setting-item"+d(a),null,f,x),[()=>({"mod-dropdown":n()==="dropdown","mod-toggle":n()==="toggle","mod-slider":n()==="slider","setting-item-heading":n()==="heading"})]),V(i,l),_t()}var Qv=G("<!> <!>",1);function _a(i,t){"use strict";let e=B(t,"class",3,"");var n=Qv(),r=Et(n);{var s=l=>{var u=$e(),f=Et(u);Ai(f,()=>t.header,e),V(l,u)};pt(r,l=>{t.header&&l(s)})}var o=F(r,2);{var a=l=>{var u=$e(),f=Et(u);Ai(f,()=>t.view,e),V(l,u)};pt(o,l=>{t.view&&l(a)})}V(i,n)}var t1=G("<!> <!> <!> <!> <!> <!> <!> <!> <!> <!>",1);function du(i,t){bt(t,!0);let e=B(t,"plugin",7),n={addition:{icon:"plus-circle",tooltip:"Additions"},deletion:{icon:"minus-square",tooltip:"Deletions"},substitution:{icon:"replace",tooltip:"Substitutions"},highlight:{icon:"highlighter",tooltip:"Highlights"},comment:{icon:"message-square",tooltip:"Comments"}},r={"":{icon:"star",tooltip:"Regular"},...n},s=[{value:"unchanged",text:"Regular movement"},{value:"ignore_bracket",text:"Skip brackets"},{value:"ignore_metadata",text:"Skip brackets and metadata"},{value:"ignore_completely",text:"Skip completely"}],o=[{value:"unchanged",text:"Regular movement"},{value:"stay_inside",text:"Keep cursor within range"},{value:"stay_outside",text:"Treat range as word group"}];var a=t1(),l=Et(a);ut(l,{name:"Functionality",type:"heading"});var u=F(l,2);ut(u,{name:"Suggestion mode",type:"heading",depth:1});var f=F(u,2);ut(f,{name:"Cursor movement",type:"heading",depth:2});var h=F(f,2);Qt(h,17,()=>Object.keys(n),se,(S,k)=>{ut(S,{get name(){return n[d(k)].tooltip},type:"dropdown",depth:2,control:M=>{bn(M,{get value(){return e().settings.suggestion_mode_operations.cursor_movement[d(k)]},options:s,onChange:w=>{e().settings.suggestion_mode_operations.cursor_movement[d(k)]=w,e().saveSettings()}})},$$slots:{control:!0}})});var c=F(h,2);ut(c,{name:"Bracket movement",type:"heading",depth:2});var p=F(c,2);Qt(p,17,()=>Object.keys(n),se,(S,k)=>{ut(S,{get name(){return n[d(k)].tooltip},type:"dropdown",depth:2,control:M=>{bn(M,{get value(){return e().settings.suggestion_mode_operations.bracket_movement[d(k)]},options:o,onChange:w=>{e().settings.suggestion_mode_operations.bracket_movement[d(k)]=w,e().saveSettings()}})},$$slots:{control:!0}})});var g=F(p,2);ut(g,{name:"Suggestion mode cursor movement",description:"Determine how the cursor should move through suggestions in suggestion mode",type:"dropdown"});var m=F(g,2);ut(m,{name:"Rendering",type:"heading"});var v=F(m,2);ut(v,{name:"Live Preview renderer",description:"Enable custom rendering of CriticMarkup syntax in Live Preview",type:"toggle",control:k=>{Ot(k,{get value(){return e().settings.live_preview},onChange:()=>{e().settings.live_preview=!e().settings.live_preview,e().saveSettings()}})},$$slots:{control:!0}});var _=F(v,2);ut(_,{name:"Reading View renderer",description:"Enable custom rendering of CriticMarkup syntax in Reading View",type:"toggle",control:k=>{Ot(k,{get value(){return e().settings.post_processor},onChange:()=>{e().settings.post_processor=!e().settings.post_processor,e().saveSettings()}})},$$slots:{control:!0}}),V(i,a),_t()}var e1=G("<!> <!> <!> <!> <!> <!> <!>",1);function pu(i,t){bt(t,!0);let e=B(t,"plugin",7),n=at(Rt(e().settings.comment_style)),r={inline:"Comments receive a background color and are fully visible (similar to suggestions)",icon:"Comments are displayed as icons and can be hovered over to reveal the comment",none:"Comments are not rendered in the editor, use this with the annotation gutter"};var s=e1(),o=Et(s);ut(o,{name:"Editing features",type:"heading"});var a=F(o,2);ut(a,{name:"Automatic tag completion",notices:[{type:"info",text:"When typing <code>{++</code>, the tag automatically gets completed with <code>++}</code>"}],type:"toggle",control:m=>{Ot(m,{get value(){return e().settings.tag_completion},onChange:()=>{e().settings.tag_completion=!e().settings.tag_completion,e().saveSettings()}})},$$slots:{control:!0}});var l=F(a,2);ut(l,{name:"Remove syntax on copy",description:"When copying in the editor to the clipboard, any CriticMarkup syntax is removed",notices:[{type:"info",text:"Copying <code>my {++text++}</code> will result in <code>my text</code>"}],type:"toggle",control:m=>{Ot(m,{slot:"control",get value(){return e().settings.clipboard_remove_syntax},onChange:()=>{e().settings.clipboard_remove_syntax=!e().settings.clipboard_remove_syntax,e().saveSettings()}})},$$slots:{control:!0}});var u=F(l,2);ut(u,{name:"Automatic tag correction",description:"Dangling tags and redundant whitespaces automatically get removed to prevent invalid CriticMarkup syntax",type:"toggle",control:m=>{Ot(m,{get value(){return e().settings.tag_correcter},onChange:()=>{e().settings.tag_correcter=!e().settings.tag_correcter,e().saveSettings()}})},$$slots:{control:!0}});var f=F(u,2);ut(f,{name:"Show style while editing",description:"Keep the style of suggestions visible while editing",type:"toggle",control:m=>{Ot(m,{get value(){return e().settings.editor_styling},onChange:()=>{e().settings.editor_styling=!e().settings.editor_styling,e().saveSettings()}})},$$slots:{control:!0}});var h=F(f,2);ut(h,{name:"Comments Rendering",type:"heading"});var c=F(h,2);let p=nt(()=>[{type:"info",text:r[d(n)]}]);ut(c,{name:"Comment rendering mode",description:"Determine how comments are rendered inside the editor",get notices(){return d(p)},type:"dropdown",control:m=>{bn(m,{options:[{value:"inline",text:"Inline"},{value:"icon",text:"Icon"},{value:"none",text:"Hidden"}],get value(){return d(n)},onChange:v=>{e().settings.comment_style=v,P(n,v,!0),e().saveSettings()}})},$$slots:{control:!0}}),V(i,s),_t()}var i1=G('<!> <!> <!> <!> <!> <!> <div class="cmtr-important-buttons cmtr-fail"><!></div>',1);function wa(i,t){bt(t,!0);let e=B(t,"plugin",7),n=at(Rt(e().settings.default_preview_mode)),r={0:"All suggestions will be visible",1:"Preview document as if all suggestions were accepted",2:"Preview document as if all suggestions were rejected"};var s=i1(),o=Et(s);ut(o,{name:"Default <i>Edit</i> Mode",type:"dropdown",notices:[{type:"info",text:"When opening a new note, this will be the default editing mode"}],control:v=>{let _=nt(()=>[{value:0 .toString(),text:"Regular Edit Mode"},{value:1 .toString(),text:"Corrected Edit Mode"},{value:2 .toString(),text:"Suggestion Mode"}]),S=nt(()=>e().settings.default_edit_mode.toString());bn(v,{get options(){return d(_)},get value(){return d(S)},onChange:k=>{let E=parseInt(k);e().settings.default_edit_mode=E,e().saveSettings()}})},$$slots:{control:!0}});var a=F(o,2);let l=nt(()=>[{type:"info",text:"When opening a new note, this will be the default editing mode"},{type:"info",text:r[d(n)]}]);ut(a,{name:"Default <i>Preview</i> Mode",type:"dropdown",get notices(){return d(l)},control:v=>{let _=nt(()=>[{value:0 .toString(),text:"View all suggestions"},{value:1 .toString(),text:"Preview 'accept all'"},{value:2 .toString(),text:"Preview 'reject all'"}]),S=nt(()=>e().settings.default_preview_mode.toString());bn(v,{get options(){return d(_)},get value(){return d(S)},onChange:k=>{P(n,parseInt(k),!0),e().settings.default_preview_mode=d(n),e().saveSettings()}})},$$slots:{control:!0}});var u=F(a,2);ut(u,{name:"Include Metadata Extension",type:"dropdown",notices:[{type:"info",text:"Allow inclusion of metadata for suggestions, such as authorship, time, etc."},{type:"warning",text:"Suggestion metadata is <b>not</b> part of the official CriticMarkup standard, this metadata will not get processed/rendered correctly in other editors"},{type:"error",text:"Toggling this setting results in a re-indexation of the entire vault"}],control:v=>{Ot(v,{get value(){return e().settings.enable_metadata},onChange:_=>{e().settings.enable_metadata=_,e().saveSettings()}})},$$slots:{control:!0}});var f=F(u,2);ut(f,{name:"Database",type:"heading"});var h=F(f,2);ut(h,{name:"Database Workers",description:"Number of workers to use for database indexing",notices:[{type:"info",text:"A higher amount of workers will increase indexing speed"}],type:"slider",control:v=>{ss(v,{min:1,max:navigator.hardwareConcurrency/2,step:1,get value(){return e().settings.database_workers},onChange:_=>{e().settings.database_workers=_,e().saveSettings()}})},$$slots:{control:!0}});var c=F(h,2);ut(c,{name:"Rebuild Database",notices:[{type:"info",text:"Recommended if you're encountering issues with the view after updating"},{type:"warning",text:"In large vaults, reindexing the database may take a while"}],control:v=>{pi(v,{text:"Rebuild",onClick:async()=>{await e().database.reinitializeDatabase()}})},$$slots:{control:!0}});var p=F(c,2),g=J(p);pi(g,{class:"translator-fail",text:"REPORT BUG",icon:"bug",onClick:()=>zf(e().app,void 0,{})}),W(p),V(i,s),_t()}var n1=G("<!> <!> <!> <!> <!> <!> <!> <!>",1);function gu(i,t){bt(t,!0);let e=B(t,"plugin",7);var n=n1(),r=Et(n);ut(r,{name:"Editor header",type:"heading"});var s=F(r,2);ut(s,{name:"Full button labels",description:"Adds labels to the buttons in the editor header",type:"toggle",control:p=>{Ot(p,{get value(){return e().settings.toolbar_show_buttons_labels},onChange:()=>{e().settings.toolbar_show_buttons_labels=!e().settings.toolbar_show_buttons_labels,e().saveSettings()}})},$$slots:{control:!0}});var o=F(s,2);ut(o,{name:"Preview mode header button",description:"Adds a button to the editor's header for quickly changing preview mode",type:"toggle",control:p=>{Ot(p,{get value(){return e().settings.toolbar_preview_button},onChange:()=>{e().settings.toolbar_preview_button=!e().settings.toolbar_preview_button,e().saveSettings()}})},$$slots:{control:!0}});var a=F(o,2);ut(a,{name:"Suggestion mode header button",description:"Adds a button to the editor's header for quickly toggling suggestion mode",type:"toggle",control:p=>{Ot(p,{get value(){return e().settings.toolbar_edit_button},onChange:()=>{e().settings.toolbar_edit_button=!e().settings.toolbar_edit_button,e().saveSettings()}})},$$slots:{control:!0}});var l=F(a,2);ut(l,{name:"Editor status bar",type:"heading"});var u=F(l,2);ut(u,{name:"Preview mode status bar toggle",description:"Adds a status bar item for quickly selecting suggestion mode",type:"toggle",control:p=>{Ot(p,{get value(){return e().settings.status_bar_preview_button},onChange:()=>{e().settings.status_bar_preview_button=!e().settings.status_bar_preview_button,e().saveSettings()}})},$$slots:{control:!0}});var f=F(u,2);ut(f,{name:"Suggestion mode status bar toggle",description:"Adds a status bar item for quickly selecting suggestion mode",type:"toggle",control:p=>{Ot(p,{get value(){return e().settings.status_bar_edit_button},onChange:()=>{e().settings.status_bar_edit_button=!e().settings.status_bar_edit_button,e().saveSettings()}})},$$slots:{control:!0}});var h=F(f,2);ut(h,{name:"Metadata status bar toggle",description:"Adds a status bar item for quickly toggling the inclusion of (particular) metadata",type:"toggle",control:p=>{Ot(p,{get value(){return e().settings.status_bar_metadata_button},onChange:()=>{e().settings.status_bar_metadata_button=!e().settings.status_bar_metadata_button,e().saveSettings()}})},$$slots:{control:!0}}),V(i,n),_t()}var r1=G("<!> <!>",1),s1=G("<!> <!> <!> <!> <!> <!> <!> <!> <!> <!> <!>",1);function mu(i,t){bt(t,!0);let e=B(t,"plugin",7);var n=s1(),r=Et(n);ut(r,{name:"Add Metadata",type:"toggle",control:M=>{Ot(M,{get value(){return e().settings.enable_metadata},onChange:w=>{e().settings.enable_metadata=w,e().saveSettings()}})},$$slots:{control:!0}});var s=F(r,2);ut(s,{name:"Enable Authorship",description:"Enable rendering and processing of author metadata",type:"toggle",control:M=>{Ot(M,{get value(){return e().settings.enable_author_metadata},onChange:w=>{e().settings.enable_author_metadata=w,e().saveSettings()}})},$$slots:{control:!0}});var o=F(s,2);{var a=E=>{var M=r1(),w=Et(M);ut(w,{name:"Add Author Metadata",description:"Author metadata will be added into new suggestions and comments",type:"toggle",depth:1,control:D=>{Ot(D,{get value(){return e().settings.add_author_metadata},onChange:N=>{e().settings.add_author_metadata=N,e().saveSettings()}})},$$slots:{control:!0}});var x=F(w,2);ut(x,{name:"Name",depth:1,control:D=>{rs(D,{type:"text",onChange:N=>{e().settings.author=N,e().saveSettings()},get value(){return e().settings.author},set value(N){e().settings.author=N}})},$$slots:{control:!0}}),V(E,M)};pt(o,E=>{e().settings.enable_author_metadata&&E(a)})}var l=F(o,2);ut(l,{name:"Enable Timestamp",description:"Enable rendering and processing of timestamp metadata",type:"toggle",control:M=>{Ot(M,{get value(){return e().settings.enable_timestamp_metadata},onChange:w=>{e().settings.enable_timestamp_metadata=w,e().saveSettings()}})},$$slots:{control:!0}});var u=F(l,2);{var f=E=>{ut(E,{name:"Add Timestamp Metadata",description:"Timestamp metadata will be added into new suggestions and comments",depth:1,control:w=>{Ot(w,{get value(){return e().settings.add_timestamp_metadata},onChange:x=>{e().settings.add_timestamp_metadata=x,e().saveSettings()}})},$$slots:{control:!0}})};pt(u,E=>{e().settings.enable_timestamp_metadata&&E(f)})}var h=F(u,2);ut(h,{name:"Enable Completed",description:"Enable rendering and processing of completed metadata",type:"toggle",control:M=>{Ot(M,{get value(){return e().settings.enable_completed_metadata},onChange:w=>{e().settings.enable_completed_metadata=w,e().saveSettings()}})},$$slots:{control:!0}});var c=F(h,2);{var p=E=>{ut(E,{name:"Add Completed Metadata",description:"Completed metadata will be added into new suggestions and comments",depth:1,control:w=>{Ot(w,{get value(){return e().settings.add_completed_metadata},onChange:x=>{e().settings.add_completed_metadata=x,e().saveSettings()}})},$$slots:{control:!0}})};pt(c,E=>{e().settings.enable_completed_metadata&&E(p)})}var g=F(c,2);ut(g,{name:"Enable Style",description:"Enable rendering and processing of style metadata",type:"toggle",control:M=>{Ot(M,{get value(){return e().settings.enable_style_metadata},onChange:w=>{e().settings.enable_style_metadata=w,e().saveSettings()}})},$$slots:{control:!0}});var m=F(g,2);{var v=E=>{ut(E,{name:"Add Style Metadata",description:"Style metadata will be added into new suggestions and comments",depth:1,control:w=>{Ot(w,{get value(){return e().settings.add_style_metadata},onChange:x=>{e().settings.add_style_metadata=x,e().saveSettings()}})},$$slots:{control:!0}})};pt(m,E=>{e().settings.enable_style_metadata&&E(v)})}var _=F(m,2);ut(_,{name:"Enable Color",description:"Enable rendering and processing of color metadata",type:"toggle",control:M=>{Ot(M,{get value(){return e().settings.enable_color_metadata},onChange:w=>{e().settings.enable_color_metadata=w,e().saveSettings()}})},$$slots:{control:!0}});var S=F(_,2);{var k=E=>{ut(E,{name:"Add Color Metadata",description:"Color metadata will be added into new suggestions and comments",depth:1,control:w=>{Ot(w,{get value(){return e().settings.add_color_metadata},onChange:x=>{e().settings.add_color_metadata=x,e().saveSettings()}})},$$slots:{control:!0}})};pt(S,E=>{e().settings.enable_color_metadata&&E(k)})}V(i,n),_t()}var o1=G("<!> <!> <!> <!> <!> <!> <!> <!> <!> <!> <!> <!> <!>",1);function vu(i,t){bt(t,!0);let e=B(t,"plugin",7);var n=o1(),r=Et(n);ut(r,{name:"Diff gutter",type:"heading"});var s=F(r,2);ut(s,{name:"Enable diff gutter",description:"Display a gutter in the editor for showing changes from suggestions",notices:[{type:"info",text:"Clicking on the gutter reveals a menu for accepting/rejecting all changes within the block"}],type:"toggle",control:S=>{Ot(S,{slot:"control",get value(){return e().settings.diff_gutter},onChange:()=>{e().settings.diff_gutter=!e().settings.diff_gutter,e().saveSettings()}})},$$slots:{control:!0}});var o=F(s,2);ut(o,{name:"Hide when empty",description:"When enabled, the gutter will not take up any space when there are no changes in the current note",notices:[{type:"info",text:"When enabled, switching between different notes may cause content to shift"}],type:"toggle",depth:1,control:S=>{Ot(S,{slot:"control",get value(){return e().settings.diff_gutter_hide_empty},onChange:()=>{e().settings.diff_gutter_hide_empty=!e().settings.diff_gutter_hide_empty,e().saveSettings()}})},$$slots:{control:!0}});var a=F(o,2);ut(a,{name:"Annotation gutter",type:"heading"});var l=F(a,2);ut(l,{name:"Enable annotation gutter",description:"Display a gutter in the editor for annotations",type:"toggle",control:S=>{Ot(S,{get value(){return e().settings.annotation_gutter},onChange:()=>{e().settings.annotation_gutter=!e().settings.annotation_gutter,e().saveSettings()}})},$$slots:{control:!0}});var u=F(l,2);ut(u,{name:"Included annotations",description:"Determine which annotations should be shown by default",notices:[{type:"info",text:"This setting only applies after reloading the app"}],type:"subheading",depth:1});var f=F(u,2);Qt(f,17,()=>Object.keys(Gr).filter(_=>isNaN(Number(_))),se,(_,S)=>{let k=nt(()=>d(S).toLowerCase().replace(/\b\w/g,E=>E.toUpperCase()));ut(_,{get name(){return d(k)},type:"toggle",depth:2,control:M=>{let w=nt(()=>(e().settings.annotation_gutter_included_types&Gr[d(S)])!==0);Ot(M,{get value(){return d(w)},onChange:()=>{e().settings.annotation_gutter_included_types^=Gr[d(S)],e().saveSettings()}})},$$slots:{control:!0}})});var h=F(f,2);ut(h,{name:"Focus annotation on selection",description:"When selecting an annotation in the editor, the corresponding annotation in the gutter will be focused",type:"toggle",depth:1,control:S=>{Ot(S,{get value(){return e().settings.annotation_gutter_focus_on_click},onChange:()=>{e().settings.annotation_gutter_focus_on_click=!e().settings.annotation_gutter_focus_on_click,e().saveSettings()}})},$$slots:{control:!0}});var c=F(h,2);ut(c,{name:"Width",description:"The width of the gutter in pixels",type:"slider",depth:1,control:S=>{ss(S,{min:100,max:500,step:50,get value(){return e().settings.annotation_gutter_width},onChange:k=>{e().settings.annotation_gutter_width=k,e().saveSettings()}})},$$slots:{control:!0}});var p=F(c,2);ut(p,{name:"Show resize handle",description:"Display a handle bar within the editor for quickly resizing the gutter",type:"toggle",depth:1,control:S=>{Ot(S,{get value(){return e().settings.annotation_gutter_resize_handle},onChange:()=>{e().settings.annotation_gutter_resize_handle=!e().settings.annotation_gutter_resize_handle,e().saveSettings()}})},$$slots:{control:!0}});var g=F(p,2);ut(g,{name:"Default fold state",description:"Determine whether the gutter is shown by default",notices:[{type:"info",text:"This setting only applies after reloading the app"}],type:"toggle",depth:1,control:S=>{Ot(S,{get value(){return e().settings.annotation_gutter_default_fold_state},onChange:()=>{e().settings.annotation_gutter_default_fold_state=!e().settings.annotation_gutter_default_fold_state,e().saveSettings()}})},$$slots:{control:!0}});var m=F(g,2);ut(m,{name:"Show fold button",description:"Display a button within the editor for (un)folding the gutter",type:"toggle",depth:1,control:S=>{Ot(S,{get value(){return e().settings.annotation_gutter_fold_button},onChange:()=>{e().settings.annotation_gutter_fold_button=!e().settings.annotation_gutter_fold_button,e().saveSettings()}})},$$slots:{control:!0}});var v=F(m,2);ut(v,{name:"Hide when empty",description:"When enabled, the gutter will not take up any space when there are no annotations in the current note",notices:[{type:"info",text:"When enabled, switching between different notes may cause content to shift"}],type:"toggle",depth:1,control:S=>{Ot(S,{get value(){return e().settings.annotation_gutter_hide_empty},onChange:()=>{e().settings.annotation_gutter_hide_empty=!e().settings.annotation_gutter_hide_empty,e().saveSettings()}})},$$slots:{control:!0}}),V(i,n),_t()}var a1=i=>i;function l1(i){let t=i-1;return t*t*t+1}function $r(i,{delay:t=0,duration:e=400,easing:n=a1}={}){let r=+getComputedStyle(i).opacity;return{delay:t,duration:e,easing:n,css:s=>`opacity: ${s*r}`}}var Yc=!1;function Kc(i,{delay:t=0,duration:e=400,easing:n=l1,axis:r="y"}={}){let s=getComputedStyle(i);it&&!Yc&&/(contents|inline|table)/.test(s.display)&&(Yc=!0,Promise.resolve().then(()=>Yc=!1),s.display,void 0);let o=+s.opacity,a=r==="y"?"height":"width",l=parseFloat(s[a]),u=r==="y"?["top","bottom"]:["left","right"],f=u.map(_=>`${_[0].toUpperCase()}${_.slice(1)}`),h=parseFloat(s[`padding${f[0]}`]),c=parseFloat(s[`padding${f[1]}`]),p=parseFloat(s[`margin${f[0]}`]),g=parseFloat(s[`margin${f[1]}`]),m=parseFloat(s[`border${f[0]}Width`]),v=parseFloat(s[`border${f[1]}Width`]);return{delay:t,duration:e,easing:n,css:_=>`overflow: hidden;opacity: ${Math.min(_*20,1)*o};${a}: ${_*l}px;padding-${u[0]}: ${_*h}px;padding-${u[1]}: ${_*c}px;margin-${u[0]}: ${_*p}px;margin-${u[1]}: ${_*g}px;border-${u[0]}-width: ${_*m}px;border-${u[1]}-width: ${_*v}px;min-${a}: 0`}}var u1=(i,t,e,n)=>{if(i.key==="Tab"){if(i.metaKey||i.ctrlKey)return!0;i.shiftKey?t(((d(e)-1)%n.length+n.length)%n.length):t((d(e)+1)%n.length),i.preventDefault()}},h1=G('<div><div style="display: flex"><!></div> <div> </div></div>'),c1=G("<div><!></div>"),f1=G('<div><nav class="cmtr-settings-navigation-bar" tabindex="0"></nav> <!></div>');function ya(i,t){bt(t,!0);let e=B(t,"plugin",7),n=[{id:"general",name:"General",icon:"settings"},{id:"editor",name:"Editor",icon:"pencil"},{id:"interface",name:"Interface",icon:"layout-panel-top"},{id:"gutter",name:"Gutters",icon:"sidebar-open"},{id:"metadata",name:"Metadata",icon:"tags"},{id:"advanced",name:"Advanced",icon:"shield-alert"}],r=at(Rt(n.findIndex(h=>h.id===e().settings_tab))),s=nt(()=>n[d(r)].id),o=nt(()=>{switch(d(s)){case"general":return wa;case"editor":return pu;case"gutter":return vu;case"advanced":return du;case"interface":return gu;case"metadata":return mu;default:return wa}});async function a(h){P(r,h,!0),P(s,n[h].id,!0),e().settings_tab=d(s)}var l=f1(),u=J(l);u.__keydown=[u1,a,r,n],Qt(u,21,()=>n,se,(h,c,p)=>{let g=()=>d(c).id,m=()=>d(c).name,v=()=>d(c).icon;var _=h1();let S;_.__click=()=>{a(p)};var k=J(_),E=J(k);ai(E,{get icon(){return v()}}),W(k);var M=F(k,2);let w;var x=J(M,!0);W(M),W(_),ct((A,D)=>{S=kt(_,1,"cmtr-settings-navigation-item",null,S,A),It(_,"aria-label",`${m()} settings`),w=kt(M,1,"cmtr-settings-navigation-item-text",null,w,D),Wt(x,m())},[()=>({"cmtr-settings-navigation-selected-item":d(r)===p}),()=>({"cmtr-settings-navigation-selected-item-text":d(r)!==p})]),V(h,_)}),W(u);var f=F(u,2);no(f,()=>d(s),h=>{var c=c1(),p=J(c);Ic(p,()=>d(o),(g,m)=>{m(g,{get plugin(){return e()}})}),W(c),Ke(1,c,()=>Kc,()=>({duration:400,delay:400})),Ke(2,c,()=>Kc,()=>({duration:400})),V(h,c)}),W(l),V(i,l),_t()}jt(["keydown","click"]);var Rn=require("obsidian"),dg=require("@codemirror/state");function bu(i,t,e){let n=new Rn.Menu,r=new Set(e.map(a=>a.range.type)),s=e.length>20,o=e.length>1;if(r.has("comment")||r.has("highlight")?r.size===1&&r.has("comment")?n.addItem(a=>{a.setTitle(o?"Remove selected comment threads":"Remove comment thread").setIcon("message-square-off").setSection("close-annotation").setWarning(s).onClick(async()=>cn(i,e,fn.bind(null,(l,u)=>"")))}):n.addItem(a=>{a.setTitle(o?"Remove selected threads":"Remove thread").setIcon("trash").setSection("close-annotation").setWarning(s).onClick(async()=>cn(i,e,fn.bind(null,(l,u)=>"")))}):(n.addItem(a=>{a.setTitle(o?"Apply selected changes":"Apply change").setIcon("check").setSection("close-annotation").setWarning(s).onClick(async()=>cn(i,e,fn.bind(null,(l,u)=>l.accept())))}),n.addItem(a=>{a.setTitle(o?"Reject selected changes":"Reject change").setIcon("cross").setSection("close-annotation").setWarning(s).onClick(async()=>cn(i,e,fn.bind(null,(l,u)=>l.reject())))})),!o){let{range:a,path:l}=e[0];n.addItem(u=>{u.setTitle("Add reply").setIcon("reply").setSection("comment-handling").onClick(async f=>{let h=i.app.vault.getAbstractFileByPath(l);if(h&&h instanceof Rn.TFile){let c=i.app.workspace.getLeaf(!1);await c.openLinkText(l,""),c.view instanceof Rn.MarkdownView&&(Bs(c.view.editor,a),Ji(c.view.editor.cm,a,!1))}})}),a.type==="comment"&&(n.addItem(u=>{u.setTitle("Edit comment").setIcon("pencil").setSection("comment-handling").onClick(async()=>{let f=i.app.vault.getAbstractFileByPath(l);if(f&&f instanceof Rn.TFile){let h=i.app.workspace.getLeaf(!1);if(await h.openLinkText(l,""),h.view instanceof Rn.MarkdownView){let{editor:c}=h.view;Bs(c,a),c.cm.dispatch(c.cm.state.update({selection:dg.EditorSelection.cursor(a.full_range_back),annotations:[Tn.of({from:a.full_range_back,to:a.full_range_back,index:a.reply_depth})]}))}}})}),n.addItem(u=>{u.setTitle("Remove comment").setIcon("cross").setSection("comment-handling").onClick(async()=>cn(i,e,fn.bind(null,(f,h)=>""),!1))}))}return n.addItem(a=>{a.setTitle(o?"Open in new tabs":"Open in new tab").setIcon("file-plus").setSection("open-annotation").onClick(async l=>{let u=$l(e);for(let[f,h]of Object.entries(u).slice(0,10)){let c=i.app.vault.getAbstractFileByPath(f);if(c&&c instanceof Rn.TFile){let p=i.app.workspace.getLeaf(l.metaKey||l.ctrlKey||!0);await p.openLinkText(f,""),p.view instanceof Rn.MarkdownView&&Bs(p.view.editor,h[0])}}})}),n.showAtMouseEvent(t),n}var N5=require("obsidian");var d1=G("<!> <!>",1),p1=G('<div style="position: relative"><div class="cmtr-view-suggestion-buttons"><!> <div class="cmtr-view-suggestion-button-sep"></div> <!> <!></div></div>');function _u(i,t){bt(t,!0);let e=B(t,"menu_open",15,!1);var n=p1(),r=J(n),s=J(r);{var o=f=>{var h=$e(),c=Et(h);{var p=m=>{pi(m,{icon:"message-square-off",tooltip:"Delete comment thread",onClick:()=>cn(t.plugin,[t.entry],fn.bind(null,(v,_)=>v.accept()))})},g=m=>{pi(m,{icon:"cross",tooltip:"Delete comment",onClick:()=>cn(t.plugin,[t.entry],fn.bind(null,(v,_)=>v.accept()))})};pt(c,m=>{t.entry.range.replies.length?m(p):m(g,!1)})}V(f,h)},a=(f,h)=>{{var c=p=>{var g=d1(),m=Et(g);let v=nt(()=>"Accept change"+(t.entry.range.replies.length?" (and delete thread)":""));pi(m,{icon:"check",get tooltip(){return d(v)},onClick:()=>cn(t.plugin,[t.entry],fn.bind(null,(k,E)=>k.accept()))});var _=F(m,2);let S=nt(()=>"Reject change"+(t.entry.range.replies.length?" (and delete thread)":""));pi(_,{icon:"cross",get tooltip(){return d(S)},onClick:()=>cn(t.plugin,[t.entry],fn.bind(null,(k,E)=>k.reject()))}),V(p,g)};pt(f,p=>{t.entry.range.type!=="highlight"&&p(c)},h)}};pt(s,f=>{t.entry.range.type==="comment"?f(o):f(a,!1)})}var l=F(s,4);pi(l,{icon:"eye",tooltip:"View in note",onClick:async()=>{await Dl(t.plugin,t.entry)}});var u=F(l,2);pi(u,{icon:"more-vertical",tooltip:"More options",onClick:f=>{e(!0),t.moreOptionsMenu(t.plugin,f,[t.entry]).onHide(()=>{e(!1)})}}),W(r),W(n),V(i,n),_t()}var g1=(i,t,e)=>{t.onClick(i,t.row,t.index),P(e,!0)},m1=(i,t)=>{t.onDblClick(i,t.row,t.index)},v1=(i,t,e)=>{bu(t.plugin,i,t.selected_ranges.length?t.selected_ranges:[{path:t.row.path,range:t.row.range.thread[d(e)]??t.row.range}])},b1=G('<p class="cmtr-view-range-empty">This range is empty</p>'),_1=G("<!> <!>",1),w1=G('<div class="cmtr-view-range-text"><!></div>'),y1=G('<div><!> <!> <div class="cmtr-view-range-reply-text"><!></div></div>'),x1=G('<div><!> <div class="cmtr-view-range-top"><!> <div><span class="cmtr-view-range-title"> </span> <!></div></div> <!> <!></div>');function Jc(i,t){bt(t,!0);let e=B(t,"menu_open",15,!1),n=at(!1),r=at(null),s=at(null);function o(M){e()||(P(r,M,!0),P(s,d(r),!0))}let a=nt(()=>t.selected_ranges.some(M=>M.path===t.row.path&&M.range.from===t.row.range.from));var l=x1();let u;l.__click=[g1,t,n],l.__dblclick=[m1,t],l.__contextmenu=[v1,t,r];var f=J(l);{var h=M=>{_u(M,{get plugin(){return t.plugin},get entry(){return t.row},moreOptionsMenu:bu,get menu_open(){return e()},set menu_open(w){e(w)}})};pt(f,M=>{(!e()&&d(r)===0||e()&&d(s)===0)&&M(h)})}var c=F(f,2),p=J(c);ai(p,{size:24,get icon(){return vf[t.row.range.type]}});var g=F(p,2),m=J(g),v=J(m,!0);W(m);var _=F(m,2);$n(_,()=>vr(t.row.range,"","icon").outerHTML),W(g),W(c);var S=F(c,2);no(S,()=>t.row.range.text,M=>{var w=w1(),x=J(w);{var A=N=>{var I=b1();V(N,I)},D=N=>{var I=_1();let R=nt(()=>t.row.range.unwrap_parts());var z=Et(I);os(z,{get plugin(){return t.plugin},get text(){return d(R)[0]},get source(){return t.row.path},get class(){return t.row.range.fields.style}});var U=F(z,2);{var tt=rt=>{os(rt,{get plugin(){return t.plugin},get text(){return d(R)[1]},get source(){return t.row.path}})};pt(U,rt=>{t.row.range.type==="substitution"&&rt(tt)})}V(N,I)};pt(x,N=>{t.row.range.empty()?N(A):N(D,!1)})}W(w),Le("mouseenter",w,()=>{o(0)}),V(M,w)});var k=F(S,2);{var E=M=>{var w=$e(),x=Et(w);Qt(x,17,()=>t.row.range.replies,se,(A,D,N)=>{var I=$e(),R=Et(I);no(R,()=>d(D).text,z=>{var U=y1();let tt;var rt=J(U);{var At=wt=>{let qt=nt(()=>({path:t.row.path,range:d(D)}));_u(wt,{get plugin(){return t.plugin},get entry(){return d(qt)},moreOptionsMenu:bu,get menu_open(){return e()},set menu_open(ee){e(ee)}})};pt(rt,wt=>{(!e()&&d(r)===N+1||e()&&d(s)===N+1)&&wt(At)})}var St=F(rt,2);$n(St,()=>vr(d(D),"cmtr-view-range-reply-top").outerHTML);var mt=F(St,2),Dt=J(mt);let Bt=nt(()=>d(D).unwrap());os(Dt,{get plugin(){return t.plugin},get text(){return d(Bt)},get source(){return t.row.path},get class(){return d(D).fields.style}}),W(mt),W(U),ct(wt=>tt=kt(U,1,"cmtr-view-range-reply",null,tt,wt),[()=>({"cmtr-view-range-reply-hovered":d(r)===N+1})]),Le("mouseenter",U,()=>{o(N+1)}),V(z,U)}),V(A,I)}),V(M,w)};pt(k,M=>{t.row.range.replies.length&&M(E)})}W(l),ct(M=>{It(l,"tabindex",t.index),u=kt(l,1,"cmtr-view-range",null,u,M),Wt(v,t.row.path)},[()=>({"cmtr-view-range-completed":t.row.range.fields.done,"cmtr-view-range-selected":d(a)})]),Le("mouseenter",l,()=>{o(0)}),Le("mouseleave",l,()=>{o(null)}),Le("blur",l,()=>{P(n,!1)}),V(i,l),_t()}jt(["click","dblclick","contextmenu"]);var Pn=require("obsidian");var Qg=require("obsidian");var pg={days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday"],daysShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat","Sun"],daysMin:["Su","Mo","Tu","We","Th","Fr","Sa","Su"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],monthsShort:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],meridiem:["am","pm"],suffix:["st","nd","rd","th"],todayBtn:"Today",clearBtn:"Clear",okBtn:"Ok",cancelBtn:"Cancel",timeView:"Show time view",backToDate:"Back to calendar view"};var gg={theme:"sdt-calendar-colors",format:"yyyy-mm-dd",formatType:"standard",displayFormat:null,displayFormatType:null,minuteIncrement:1,weekStart:1,inputClasses:"",todayBtnClasses:"sdt-action-btn sdt-today-btn",clearBtnClasses:"sdt-action-btn sdt-clear-btn",hourOnly:!1,todayBtn:!0,clearBtn:!0,clearToggle:!0,autocommit:!0,i18n:pg};var mg=!1,fe=class i extends Date{#t=Oe(super.getTime());#e=new Map;#i=Ct;constructor(...t){super(...t),mg||this.#n()}#n(){mg=!0;var t=i.prototype,e=Date.prototype,n=Object.getOwnPropertyNames(e);for(let r of n)(r.startsWith("get")||r.startsWith("to")||r==="valueOf")&&(t[r]=function(...s){if(s.length>0)return d(this.#t),e[r].apply(this,s);var o=this.#e.get(r);if(o===void 0){let a=Ct;ce(this.#i),o=nt(()=>(d(this.#t),e[r].apply(this,s))),this.#e.set(r,o),ce(a)}return d(o)}),r.startsWith("set")&&(t[r]=function(...s){var o=e[r].apply(this,s);return P(this.#t,e.getTime.call(this)),o})}};function sr(i){P(i,i.v+1)}var vg=Symbol(),wu=class extends URLSearchParams{#t=Oe(0);#e=bg();#i=!1;#n(){if(!this.#e||this.#i)return;this.#i=!0;let t=this.toString();this.#e.search=t&&`?${t}`,this.#i=!1}[vg](t){if(!this.#i){this.#i=!0;for(let e of[...super.keys()])super.delete(e);for(let[e,n]of t)super.append(e,n);sr(this.#t),this.#i=!1}}append(t,e){super.append(t,e),this.#n(),sr(this.#t)}delete(t,e){var n=super.has(t,e);super.delete(t,e),n&&(this.#n(),sr(this.#t))}get(t){return d(this.#t),super.get(t)}getAll(t){return d(this.#t),super.getAll(t)}has(t,e){return d(this.#t),super.has(t,e)}keys(){return d(this.#t),super.keys()}set(t,e){var n=super.getAll(t).join("");super.set(t,e),n!==super.getAll(t).join("")&&(this.#n(),sr(this.#t))}sort(){super.sort(),this.#n(),sr(this.#t)}toString(){return d(this.#t),super.toString()}values(){return d(this.#t),super.values()}entries(){return d(this.#t),super.entries()}[Symbol.iterator](){return this.entries()}get size(){return d(this.#t),super.size}};var k1=null;function bg(){return k1}function as(i,t,e,n){if(i instanceof Date)return i;let r=n==="php"?{date:"Y-m-d",datetime:"Y-m-d H:i",datetime_s:"Y-m-d H:i:s"}:{date:"yyyy-mm-dd",datetime:"yyyy-mm-dd hh:ii",datetime_s:"yyyy-mm-dd hh:ii:ss"},s,o;/^\d{4}\-\d{1,2}\-\d{1,2}$/.test(i)?s=Rr.parseFormat(r.date,n):/^\d{4}\-\d{1,2}\-\d{1,2}[T ]\d{1,2}\:\d{1,2}$/.test(i)?s=Rr.parseFormat(r.datetime,n):/^\d{4}\-\d{1,2}\-\d{1,2}[T ]\d{1,2}\:\d{1,2}\:\d{1,2}[Z]{0,1}$/.test(i)?s=Rr.parseFormat(r.datetime_s,n):(/^([01]*\d|2[0-3])([0-5]\d)(?:[ ]([ap][m]|[AP][M]))?$/.test(i)&&(o=i.match(/^([01]*\d|2[0-3])([0-5]\d)(?:[ ]([ap][m]|[AP][M]))?$/)?.slice(1).filter(v=>v)),s=Rr.parseFormat(t,n));let a=o||i&&i.toString().match(Rr.nonpunctuation)||[];i=new Date,i.setHours(0,0,0,0);let l={},{setters_order:u,setters_map:f}=Rr.setters(n),h,c;if(a.length!==s.parts.length&&s.parts.includes("S")){let v=a[s.parts.indexOf("S")-1].match(/(\d+)([a-zA-Z]+)/)?.slice(1,3);a.splice(s.parts.indexOf("S")-1,1,...v)}if(a.length===s.parts.length){for(var p=0,g=s.parts.length;p<g;p++){if(h=parseInt(a[p],10),c=s.parts[p],isNaN(h))if(n==="standard")switch(c){case"MM":h=e.months.indexOf(a[p])+1;break;case"M":h=e.monthsShort.indexOf(a[p])+1;break;case"p":case"P":h=e.meridiem.indexOf(a[p].toLowerCase());break}else switch(c){case"D":h=e.daysShort.indexOf(a[p])+1;break;case"l":h=e.days.indexOf(a[p])+1;break;case"F":h=e.months.indexOf(a[p])+1;break;case"M":h=e.monthsShort.indexOf(a[p])+1;break;case"a":case"A":h=e.meridiem.indexOf(a[p].toLowerCase());break}l[c]=h}for(var p=0,m;p<u.length;p++)m=u[p],m in l&&!isNaN(l[m])&&f[`${m}`]&&f[`${m}`](i,l[m])}return i}function ro(i,t,e,n){if(i===null)return"";let r=i.getDate(),s;if(n==="standard")s={t:i.getTime(),yy:i.getFullYear().toString().substring(2),yyyy:i.getFullYear(),m:i.getMonth()+1,M:e.monthsShort[i.getMonth()],MM:e.months[i.getMonth()],d:r,D:e.daysShort[i.getDay()],DD:e.days[i.getDay()],S:r%10&&r%10<4&&(r<10||r>14)?e.suffix[r%10-1]:e.suffix[e.suffix.length-1],p:e.meridiem.length===2?e.meridiem[i.getHours()<12?0:1]:"",h:i.getHours(),ii:(i.getMinutes()<10?"0":"")+i.getMinutes(),ss:(i.getUTCSeconds()<10?"0":"")+i.getUTCSeconds()},e.meridiem.length===2?s.H=s.h%12===0?12:s.h%12:s.H=s.h,s.HH=(s.H<10?"0":"")+s.H,s.P=s.p.toUpperCase(),s.hh=(s.h<10?"0":"")+s.h,s.i=s.ii,s.s=s.ss,s.dd=(s.d<10?"0":"")+s.d,s.mm=(s.m<10?"0":"")+s.m;else if(n==="php")s={y:i.getFullYear().toString().substring(2),Y:i.getFullYear(),F:e.months[i.getMonth()],M:e.monthsShort[i.getMonth()],n:i.getMonth()+1,t:Xc(i.getFullYear(),i.getMonth()),j:i.getDate(),l:e.days[i.getDay()],D:e.daysShort[i.getDay()],w:i.getDay(),N:i.getDay()===0?7:i.getDay(),S:r%10&&r%10<4&&(r<10||r>14)?e.suffix[r%10-1]:e.suffix[e.suffix.length-1],a:e.meridiem.length===2?e.meridiem[i.getHours()<12?0:1]:"",g:i.getHours()%12===0?12:i.getHours()%12,G:i.getHours(),i:i.getMinutes(),s:i.getSeconds(),U:Math.floor(i.getTime()/1e3)},s.m=(s.n<10?"0":"")+s.n,s.d=(s.j<10?"0":"")+s.j,s.A=s.a.toString().toUpperCase(),s.h=(s.g<10?"0":"")+s.g,s.H=(s.G<10?"0":"")+s.G,s.i=(s.i<10?"0":"")+s.i,s.s=(s.s<10?"0":"")+s.s;else throw new Error("Invalid format type.");let o=[],a=Rr.parseFormat(t,n);for(var l=0,u=a.parts?.length||0;l<u;l++)a.separators.length&&o.push(a.separators.shift()),o.push(s[a.parts[l]]);return a.separators.length&&o.push(a.separators.shift()),o.join("")}function Xc(i,t){return[31,i%4===0&&i%100!==0||i%400===0?29:28,31,30,31,30,31,31,30,31,30,31][t]}var Rr={validParts:function(i){if(i==="standard")return/t|hh?|HH?|p|P|z|ii?|ss?|dd?|DD?|S|mm?|MM?|yy(?:yy)?/g;if(i==="php")return/[dDjlNwzFmMnStyYaABgGhHisU]/g;throw new Error("Invalid format type.")},nonpunctuation:/[^ -\/:-@\[-`{-~\t\n\rTZ]+/g,parseFormat:function(i,t){var e=i.replace(this.validParts(t),"\0").split("\0"),n=i.match(this.validParts(t))||[];return!e||!e.length||!n||n.length,{separators:e,parts:n}},setters:function(i){let t,e={};return i==="standard"?(t=["yyyy","yy","m","mm","M","MM","d","dd","D","DD","hh","h","HH","H","ii","i","ss","s","S","p","P","t"],e={hh:(n,r)=>n.setHours(r),h:(n,r)=>n.setHours(r),HH:(n,r)=>n.setHours(r===12?0:r),H:(n,r)=>n.setHours(r===12?0:r),i:(n,r)=>n.setMinutes(r),s:(n,r)=>n.setSeconds(r),yyyy:(n,r)=>n.setFullYear(r),yy:(n,r)=>n.setFullYear((r<50?2e3:1900)+r),m:(n,r)=>{for(r-=1;r<0;)r+=12;for(r%=12,n.setMonth(r);n.getMonth()!==r;){if(isNaN(n.getMonth()))return n;n.setDate(n.getDate()-1)}return n},d:(n,r)=>n.setDate(r),p:(n,r)=>n.setHours(r===1&&n.getHours()<12?n.getHours()+12:n.getHours()),t:(n,r)=>n.setTime(r),mm:()=>{},M:()=>{},MM:()=>{},ii:()=>{},ss:()=>{},dd:()=>{},D:()=>{},DD:()=>{},P:()=>{}},e.mm=e.M=e.MM=e.m,e.ii=e.i,e.ss=e.s,e.dd=e.D=e.DD=e.d,e.P=e.p):(t=["Y","yy","m","M","F","n","d","D","j","l","N","S","H","G","h","g","i","s","p","P","U"],e={H:(n,r)=>n.setHours(r),G:(n,r)=>n.setHours(r),h:(n,r)=>n.setHours(r===12?0:r),g:(n,r)=>n.setHours(r===12?0:r),i:(n,r)=>n.setMinutes(r),s:(n,r)=>n.setSeconds(r),Y:(n,r)=>n.setFullYear(r),yy:(n,r)=>n.setFullYear((r<50?2e3:1900)+r),m:(n,r)=>{for(r-=1;r<0;)r+=12;for(r%=12,n.setMonth(r);n.getMonth()!==r;){if(isNaN(n.getMonth()))return n;n.setDate(n.getDate()-1)}return n},n:(n,r)=>n.setMonth(r-1),d:(n,r)=>n.setDate(r),a:(n,r)=>n.setHours(r===1?n.getHours()+12:n.getHours()),U:(n,r)=>n.setTime(r*1e3)},e.F=e.M=e.m,e.D=e.j=e.l=e.N=e.d,e.A=e.a),{setters_order:t,setters_map:e}}};function _g(i,t,e,n,r){if(e===0){let w=10,x=20,A=-1,D=[],N=[],I=i.getFullYear()-i.getFullYear()%10;I-=I%20?12:10,I%10&&(w=12,x=22);for(let z=0;z<32;z++)N.push(I+z),N.length===4&&(D.push(N),N=[]);let R=[];return t[0]||(t[0]=new Date),t[0].getFullYear()>=I&&R.push(t[0].getFullYear()%I),{years:D,todayMark:A,nextFrom:x,prevTo:w,selectionMark:R}}if(e===1){let w=[],x=[],A=12,D=24,N=i.toISOString().split("T")[0].substring(0,8),I=new Date(N+"01 00:00:00"),R=I.getFullYear()-1;I.setFullYear(R);let z=0;for(let tt=0;tt<3;tt++){for(let rt=0;rt<12;rt++)I.setMonth(rt),x.push(n.monthsShort[rt%12]),x.length===4&&(w.push(x),x=[]);I.setFullYear(I.getFullYear()+1)}let U=[];return t[0]||(t[0]=new Date),t[0].getFullYear()-R>=0&&t[0].getFullYear()-R<=2&&U.push(t[0].getMonth()+(t[0].getFullYear()-R||0)*12),{months:w,todayMark:z,nextFrom:D,prevTo:A,selectionMark:U}}let s=i||new Date,o=s.getFullYear(),a=s.getMonth(),l=s.getDate(),u=s.getHours(),f=new Date,h=new Date(o,a-1,28,0,0,0,0),c=Xc(h.getFullYear(),h.getMonth());h.setDate(c),h.setDate(c-(h.getDay()-r+7)%7);let p=new Date(h);p.setDate(p.getDate()+42);let g=p.valueOf(),m=[],v=[],_=-1,S=[],k=0,E=42,M=0;for(;h.valueOf()<g;)M++,v.push(new Date(h)),h.getFullYear()<o||h.getFullYear()===o&&h.getMonth()<a?k=M:E===42&&(h.getFullYear()>o||h.getFullYear()===o&&h.getMonth()>a)&&(E=M-1),h.setDate(h.getDate()+1),h.getFullYear()===f.getFullYear()&&h.getMonth()===f.getMonth()&&h.getDate()===f.getDate()&&(_=M),S.length!==t.length&&t.map(w=>{h.getFullYear()===w.getFullYear()&&h.getMonth()===w.getMonth()&&h.getDate()===w.getDate()&&S.push(M)}),v.length===7&&(m.push(v),v=[]);return{grid:m,days:m,todayMark:_,prevTo:k,nextFrom:E,selectionMark:S}}function wg(i){let t=i-1;return t*t*t+1}function yg(i,{duration:t=400,start:e=0,end:n=1,opacity:r=0}){let s=getComputedStyle(i),o=+s.opacity,a=s.transform==="none"?"":s.transform,l=1-e,u=o*(1-r);return n=n||1,{delay:0,duration:t,easing:wg,css:(f,h)=>`
|
|
transform: ${a} scale(${n!==1?e+n*h:1-l*h});
|
|
opacity: ${o-u*h};
|
|
`}}function M1(i,t,e,n,r,s,o,a){if(P(t,-1),P(e,!0),d(n)&&ra(n,-1),d(n)===0){let l=Math.floor(d(r).getFullYear()/10)*10%20===0;P(s,l?o:a,!0)}}function E1(i,t){t.onswitch?.("time")}var T1=G('<button type="button" class="std-btn std-btn-header icon-btn sdt-time-icon svelte-s6uyff"><svg class="sdt-svg svelte-s6uyff" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M1.5 8a6.5 6.5 0 1113 0 6.5 6.5 0 01-13 0zM8 0a8 8 0 100 16A8 8 0 008 0zm.5 4.75a.75.75 0 00-1.5 0v3.5a.75.75 0 00.471.696l2.5 1a.75.75 0 00.557-1.392L8.5 7.742V4.75z"></path></svg></button>'),A1=(i,t)=>t(-1),C1=(i,t)=>t(1),O1=(i,t,e)=>{t(d(e))},D1=G('<td><button type="button"> </button></td>'),$1=G('<tr class="sdt-cal-td svelte-s6uyff"></tr>'),R1=G('<table class="sdt-table svelte-s6uyff" style="max-height: 221px; height: 221px"><tbody></tbody></table>'),I1=(i,t,e)=>{t(d(e))},P1=G('<td><button type="button"> </button></td>'),N1=G('<tr class="sdt-cal-td svelte-s6uyff"></tr>'),L1=G('<table class="sdt-table svelte-s6uyff"><tbody></tbody></table>'),B1=G('<th class="sdt-cal-th svelte-s6uyff"> </th>'),F1=(i,t,e)=>{t(d(e))},H1=G('<td><button type="button"> </button></td>'),V1=G("<tr></tr>"),z1=G('<table class="sdt-table sdt-table-height svelte-s6uyff"><tbody><tr class="sdt-cal-td svelte-s6uyff"></tr><!></tbody></table>'),G1=G('<div class="sdt-thead-nav svelte-s6uyff"><button type="button" class="std-btn std-btn-header sdt-toggle-btn svelte-s6uyff"> </button> <!> <button type="button" class="std-btn std-btn-header icon-btn svelte-s6uyff"><svg class="sdt-svg svelte-s6uyff" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" width="24" height="24"><path d="M4.427 9.573l3.396-3.396a.25.25 0 01.354 0l3.396 3.396a.25.25 0 01-.177.427H4.604a.25.25 0 01-.177-.427z"></path></svg></button> <button type="button" class="std-btn std-btn-header icon-btn svelte-s6uyff"><svg class="sdt-svg svelte-s6uyff" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" width="24" height="24"><path d="M4.427 7.427l3.396 3.396a.25.25 0 00.354 0l3.396-3.396A.25.25 0 0011.396 7H4.604a.25.25 0 00-.177.427z"></path></svg></button> <div class="sdt-nav-btns svelte-s6uyff"></div></div> <div><!> <!> <!></div>',1),q1={hash:"svelte-s6uyff",code:`td.svelte-s6uyff,th.svelte-s6uyff {padding:0;border-width:0;}.sdt-cal-td.svelte-s6uyff {padding:0;font-size:90%;text-align:center;
|
|
/* background-color: var(--sdt-bg-main, #fff); */}.sdt-cal-th.svelte-s6uyff {text-align:center;height:24px;}.sdt-calendar.svelte-s6uyff {height:221px;overflow:hidden;}.sdt-calendar.is-grid.svelte-s6uyff {display:grid;}.sdt-calendar.is-grid.svelte-s6uyff .sdt-table:where(.svelte-s6uyff) {grid-column:1/2;grid-row:1/2;}.sdt-table.svelte-s6uyff {width:100%;border-collapse:collapse;margin:0;background-color:var(--sdt-table-bg, transparent);}.sdt-table-height.svelte-s6uyff {height:222px;}.animate-transition.svelte-s6uyff {will-change:transform;transition:transform .3s ease;}.not-current.svelte-s6uyff {opacity:0.3;}.not-current.svelte-s6uyff:hover {opacity:0.55;}.std-btn.svelte-s6uyff {margin:0;border:0;background:transparent;text-align:center;width:100%;border-radius:4px;cursor:pointer;padding:0.3rem;box-sizing:border-box;color:var(--sdt-color, initial);}.sdt-btn-day.svelte-s6uyff {max-height:32px;height:32px;}.std-btn[disabled].svelte-s6uyff {cursor:not-allowed;opacity:0.5;color:var(--sdt-table-disabled-date, #b22222);background-color:var(--sdt-table-disabled-date-bg, var(--sdt-bg-main, #fff));}.std-btn-header.svelte-s6uyff {width:auto;font-weight:bold;padding:0.375em 0.5em;color:var(--sdt-header-color, var(--sdt-color, initial));}.std-btn-header.icon-btn.svelte-s6uyff:first-of-type {padding-left:0.375em;padding-right:0.375em;}.std-btn-header.icon-btn.svelte-s6uyff {padding-left:0.25em;padding-right:0.25em;}.std-btn.svelte-s6uyff:hover {background-color:var(--sdt-table-data-bg-hover, #eee);}.is-selected.in-range.svelte-s6uyff .std-btn:where(.svelte-s6uyff) {border-radius:4px 0 0 4px}.in-range.svelte-s6uyff .std-btn:where(.svelte-s6uyff),
|
|
.in-range-hover.svelte-s6uyff:not(.is-selected) .std-btn:where(.svelte-s6uyff) {background-color:color-mix(in srgb, transparent 75%, var(--sdt-bg-selected, #286090));border-radius:0;}
|
|
/* range selection: start */.in-range-hover.is-selected:has(+ .in-range-hover) .std-btn {border-top-right-radius:0;border-bottom-right-radius:0;}.in-range-hover.svelte-s6uyff + .in-range-hover.is-selected:where(.svelte-s6uyff) .std-btn:where(.svelte-s6uyff) {border-top-left-radius:0;border-bottom-left-radius:0;}.in-range.svelte-s6uyff:not(.is-selected) .std-btn:where(.svelte-s6uyff):hover {background-color:color-mix(in srgb, var(--sdt-table-data-bg-hover, #eee) 75%, var(--sdt-bg-selected, #286090));}
|
|
/* range selection: end */.in-range.svelte-s6uyff + .is-selected:where(.svelte-s6uyff) .std-btn:where(.svelte-s6uyff),
|
|
.is-selected.svelte-s6uyff + .is-selected:where(.svelte-s6uyff) .std-btn:where(.svelte-s6uyff) {border-top-left-radius:0;border-bottom-left-radius:0;}.is-selected.svelte-s6uyff + .is-selected:where(.svelte-s6uyff) .std-btn:where(.svelte-s6uyff) {border-left:1px solid color-mix(in srgb, white 75%, var(--sdt-table-selected-bg, var(--sdt-bg-selected, #286090)));margin-left:-1px;}.is-selected.svelte-s6uyff .std-btn:where(.svelte-s6uyff),
|
|
.is-selected.in-range.svelte-s6uyff .std-btn:where(.svelte-s6uyff) {background-color:var(--sdt-table-selected-bg, var(--sdt-bg-selected, #286090));color:var(--sdt-color-selected, var(--sdt-bg-main, #fff));opacity:0.9;}.std-btn-header.svelte-s6uyff:hover {background-color:var(--sdt-header-btn-bg-hover, #dfdfdf);}.sdt-time-icon.svelte-s6uyff {display:inline-flex;align-items:center;padding:0.375em !important;}.sdt-time-icon.svelte-s6uyff svg:where(.svelte-s6uyff) {height:1em !important;stroke:initial !important;}.sdt-tbody-lg.svelte-s6uyff {background-color:var(--sdt-bg-main, #fff);}.sdt-tbody-lg.svelte-s6uyff .std-btn:where(.svelte-s6uyff) {height:74px;}.sdt-thead-nav.svelte-s6uyff {display:flex;margin-bottom:0.25em;align-items:stretch;}.sdt-nav-btns.svelte-s6uyff {white-space:nowrap;}.sdt-toggle-btn.svelte-s6uyff {width:100%;text-align:left;}.sdt-today.svelte-s6uyff {position:relative;}.sdt-today.svelte-s6uyff:before {box-sizing:border-box;position:absolute;content:'';margin-left:4px;margin-top:4px;border-left:4px solid var(--sdt-table-today-indicator, #ccc);border-top:4px solid var(--sdt-table-today-indicator, #ccc);border-bottom:4px solid transparent;border-right:4px solid transparent;border-radius:2px;height:4px;z-index:2;}.sdt-svg.svelte-s6uyff {fill:var(--sdt-header-color, initial);}.sdt-today.svelte-s6uyff:hover:before,
|
|
.in-range.sdt-today.svelte-s6uyff:before {border-left-color:var(--sdt-bg-selected, #286090);border-top-color:var(--sdt-bg-selected, #286090);}.is-selected.sdt-today.svelte-s6uyff:before
|
|
{border-left-color:#eee;border-top-color:#eee;}`};function Qc(i,t){bt(t,!0),ir(i,q1);let e=B(t,"wid",3,0),n=B(t,"dates",19,()=>[]),r=B(t,"startDate",3,null),s=B(t,"endDate",3,null),o=B(t,"weekStart",3,1),a=B(t,"initialView",3,2),l=B(t,"enableTimeToggle",3,!1),u=B(t,"isRange",3,!1),f=B(t,"hoverDate",15,null);function h(Q,dt){if(d(v)!==2){P(v,2,!0),P(_,1),P(g,new fe(p||new Date),!0);return}if(!p){Dt(new Date,{keyboard:!0});return}let ot=new Date(p);switch(Q){case"PageDown":dt=!0;case"ArrowDown":dt?ot.setMonth(p.getMonth()+1):ot.setDate(p.getDate()+7),dt&&ot.getMonth()===p.getMonth()&&ot.setDate(0),Dt(ot,{keyboard:!0});break;case"PageUp":dt=!0;case"ArrowUp":dt?ot.setMonth(p.getMonth()-1):ot.setDate(p.getDate()-7),dt&&ot.getMonth()===p.getMonth()&&ot.setDate(0),Dt(ot,{keyboard:!0});break;case"ArrowLeft":dt?ot.setFullYear(p.getFullYear()-1):ot.setDate(p.getDate()-1),Dt(ot,{keyboard:!0});break;case"ArrowRight":dt?ot.setFullYear(p.getFullYear()+1):ot.setDate(p.getDate()+1),Dt(ot,{keyboard:!0});break}}function c(Q){d(g).setTime(Q.getTime()),p=new Date(Q.getTime())}let p=n()[e()]||null,g=at(Rt(e()===1?(()=>{if(n().length===2&&n()[1]&&(n()[0].getMonth()!=n()[1].getMonth()||n()[0].getFullYear()!=n()[1].getFullYear()))return new fe(n()[1]);let Q=new Date(n()[0]||new Date);return Q.setMonth(Q.getMonth()+1),new fe(Q)})():new fe(n()[0]?.valueOf()||new Date))),m=nt(()=>r()?new fe(r().getFullYear(),r().getMonth(),r().getDate(),0,0,0,0):null),v=at(Rt(a())),_=at(-2),S=at(!1),k=400,E=nt(()=>d(_)<1?1.5:.5),M=nt(()=>d(_)<1?1:1.5),w=222,x=148,A=at(w),D=at(null),N=nt(()=>d(_)===-2?$r:d(_)!==null?yg:()=>({})),I=nt(()=>n().map(Q=>(Q=new Date(Q),Q.setHours(0,0,0,0),Q.getTime()))),R=nt(()=>_g(d(g),Jo(n()),d(v),t.i18n,o())),z=nt(()=>t.i18n.daysMin.concat(...t.i18n.daysMin.slice(1)).slice(o(),7+o())),U=nt(()=>t.i18n&&wt(d(v),d(g)));function tt(Q){return d(R).prevTo<=Q&&Q<d(R).nextFrom}function rt(Q){switch(d(v)){case 2:if(d(m)&&d(m)>Q||s()&&s()<=Q||t.additionalDisableFn&&t.additionalDisableFn(Q))return!0;break;case 1:let dt=Q.getFullYear(),ot=d(m)?.getFullYear(),Ft=s()?.getFullYear();if(ot&&d(m)&&(ot===dt&&d(m).getMonth()>Q.getMonth()||ot>dt)||Ft&&s()&&(Ft===dt&&s().getMonth()<Q.getMonth()||Ft<dt))return!0;break;case 0:if(d(m)&&d(m).getFullYear()>Q.getFullYear()||s()&&s().getFullYear()<Q.getFullYear())return!0;break}return!1}function At(Q,dt,ot){let Ft=dt===1,ae=Ft?s():d(m);return ae?ot===0?Ft?Q.getFullYear()+dt*10>ae.getFullYear():Q.getFullYear()+dt*10<ae.getFullYear():ot===1?Ft?Q.getFullYear()+dt>ae.getFullYear():Q.getFullYear()+dt<ae.getFullYear():Ft?Q.getFullYear()*100+Q.getMonth()+dt>ae.getFullYear()*100+ae.getMonth():Q.getFullYear()*100+Q.getMonth()+dt<ae.getFullYear()*100+ae.getMonth():!1}function St(Q){let dt=d(v)===0?120:d(v)===1?12:1;d(g).getDate()>28&&d(g).setDate(d(g).getDate()-3),d(g).setMonth(d(g).getMonth()+Q*dt),P(D,null),P(A,d(v)===0?d(g).getFullYear()%20>=10?w:x:w,!0)}function mt(Q){if(d(v)===2)return St(Q);if(P(D,()=>{St(Q)}),d(v)===0){P(A,d(A)===x?Q===-1?d(A)-w:w+x:Q===-1?d(A)-w:d(A)+x,!0);return}P(A,Q===-1?d(A)-w:d(A)+w,!0)}function Dt(Q,{keyboard:dt}={}){switch(P(_,1),P(S,!0),d(v)){case 0:d(g).setFullYear(Q),P(g,d(g),!0);break;case 1:d(g).setMonth(t.i18n.monthsShort.indexOf(Q)),P(g,d(g),!0);break;case 2:if(rt(Q)||t.additionalDisableFn&&t.additionalDisableFn(Q))return;let ot=new Date(Q.getFullYear(),Q.getMonth(),Q.getDate());p&&(ot.setMinutes(p.getMinutes()),ot.setHours(p.getHours())),p=ot,dt&&(d(g).getFullYear()!==ot.getFullYear()||d(g).getFullYear()===ot.getFullYear()&&d(g).getMonth()!==ot.getMonth())&&(d(g).setFullYear(ot.getFullYear()),d(g).getDate()>28&&d(g).setDate(28),d(g).setMonth(ot.getMonth()),P(g,d(g),!0)),t.onupdate?.({type:"date",date:p,isKeyboard:dt});break}d(v)<2&&ra(v),P(A,w)}Te(()=>{n().length===0&&(p=null)});function Bt(){P(S,!1)}function wt(Q,dt){switch(Q){case 0:let ot=d(R).years[Math.floor(d(R).prevTo/4)][d(R).prevTo%4],Ft=d(R).years[Math.floor(d(R).nextFrom/4)][d(R).nextFrom%4];return`${ot} - ${Ft}`;case 1:return dt.getFullYear();case 2:return t.i18n.months[dt.getMonth()]+" "+dt.getFullYear()}}function qt(Q=null){return function(dt){f(Q?.getTime()||null),t.onhoverupdate?.(f())}}function ee(Q){return d(I).length===2?Q>=d(I)[0]&&Q<d(I)[1]:!1}function Vt(Q,dt){return dt&&d(I).length===1&&(Q<=dt&&d(I)[0]<=Q||Q>=dt&&d(I)[0]>=Q)}var Tt=G1(),Nt=Et(Tt),Xe=J(Nt);Xe.__click=[M1,_,S,v,g,A,x,w];var Jt=J(Xe,!0);W(Xe);var L=F(Xe,2);{var q=Q=>{var dt=T1();dt.__click=[E1,t],ct(()=>{It(dt,"title",t.i18n.timeView),It(dt,"aria-label",t.i18n.timeView)}),V(Q,dt)};pt(L,Q=>{l()&&n().length&&Q(q)})}var lt=F(L,2);lt.__click=[A1,mt];var st=F(lt,2);st.__click=[C1,mt],Ks(2),W(Nt);var zt=F(Nt,2);let Mt;var vt=J(zt);{var Ut=Q=>{var dt=R1(),ot=J(dt);let Ft;Qt(ot,21,()=>d(R).years,se,(ae,gi,mi)=>{var Ae=$1();Qt(Ae,21,()=>d(gi),se,(vi,bi,Be)=>{var ye=D1();let Fe=nt(()=>mi*4+Be),He;var ve=J(ye);let Qe;ve.__click=[O1,Dt,bi];var _i=J(ve,!0);W(ve),W(ye),ct((kn,Oi,xe)=>{He=kt(ye,1,"sdt-cal-td svelte-s6uyff",null,He,kn),Qe=kt(ve,1,"std-btn svelte-s6uyff",null,Qe,Oi),ve.disabled=xe,Wt(_i,d(bi))},[()=>({"is-selected":d(R).selectionMark.includes(d(Fe))}),()=>({"not-current":!tt(d(Fe))}),()=>rt(new Date(d(bi),d(g).getMonth(),d(g).getDate()))]),V(vi,ye)}),W(Ae),V(ae,Ae)}),W(ot),W(dt),ct(ae=>{Ft=kt(ot,1,"sdt-tbody-lg svelte-s6uyff",null,Ft,ae),nn(ot,`transform: translateY(-${d(A)}px); color: red`)},[()=>({"animate-transition":!!d(D)})]),Le("outroend",ot,Bt),Le("transitionend",ot,()=>d(D)&&d(D)()),Ke(1,ot,()=>d(N),()=>({duration:k,start:d(E),opacity:1})),Ke(2,ot,()=>d(N),()=>({duration:k,end:d(M),start:1})),V(Q,dt)};pt(vt,Q=>{d(v)===0&&Q(Ut)})}var oe=F(vt,2);{var Yt=Q=>{var dt=L1(),ot=J(dt);let Ft;Qt(ot,21,()=>d(R).months,se,(ae,gi,mi)=>{var Ae=N1();Qt(Ae,21,()=>d(gi),se,(vi,bi,Be)=>{var ye=P1();let Fe=nt(()=>mi*4+Be),He;var ve=J(ye);let Qe;ve.__click=[I1,Dt,bi];var _i=J(ve,!0);W(ve),W(ye),ct((kn,Oi,xe)=>{He=kt(ye,1,"sdt-cal-td svelte-s6uyff",null,He,kn),Qe=kt(ve,1,"std-btn svelte-s6uyff",null,Qe,Oi),ve.disabled=xe,Wt(_i,d(bi))},[()=>({"is-selected":d(Fe)===d(R).selectionMark[0]}),()=>({"not-current":!tt(d(Fe))}),()=>rt(new Date(d(g).getFullYear(),t.i18n.monthsShort.indexOf(d(bi)),d(g).getDate()))]),V(vi,ye)}),W(Ae),V(ae,Ae)}),W(ot),W(dt),ct(ae=>{Ft=kt(ot,1,"sdt-tbody-lg svelte-s6uyff",null,Ft,ae),nn(ot,`transform: translateY(-${d(A)}px)`)},[()=>({"animate-transition":!!d(D)})]),Le("outroend",ot,Bt),Le("transitionend",ot,()=>d(D)&&d(D)()),Ke(1,ot,()=>d(N),()=>({duration:k,start:d(E),opacity:1})),Ke(2,ot,()=>d(N),()=>({duration:k,end:d(M),start:1})),V(Q,dt)};pt(oe,Q=>{d(v)===1&&Q(Yt)})}var Lt=F(oe,2);{var pe=Q=>{var dt=z1(),ot=J(dt),Ft=J(ot);Qt(Ft,21,()=>d(z),se,(gi,mi)=>{var Ae=B1(),vi=J(Ae,!0);W(Ae),ct(()=>Wt(vi,d(mi))),V(gi,Ae)}),W(Ft);var ae=F(Ft);Qt(ae,17,()=>d(R).days,se,(gi,mi,Ae)=>{var vi=V1();Qt(vi,21,()=>d(mi),se,(bi,Be,ye)=>{var Fe=H1();let He=nt(()=>Ae*7+ye),ve=nt(()=>d(Be).getTime()),Qe;var _i=nt(()=>qt(d(Be)));Fe.__mouseover=function(...on){d(_i)?.apply(this,on)};var kn=nt(qt);Fe.__mouseout=function(...on){d(kn)?.apply(this,on)};var Oi=J(Fe);Oi.__click=[F1,Dt,Be];let xe;var Pr=J(Oi,!0);W(Oi),W(Fe),ct((on,Nr,ps,fo)=>{Qe=kt(Fe,1,"sdt-cal-td svelte-s6uyff",null,Qe,on),xe=kt(Oi,1,"std-btn sdt-btn-day svelte-s6uyff",null,xe,Nr),Oi.disabled=ps,Wt(Pr,fo)},[()=>({"sdt-today":d(He)===d(R).todayMark,"in-range":ee(d(ve)),"is-selected":d(I).includes(d(ve)),"in-range-hover":u()&&Vt(d(ve),f())}),()=>({"not-current":!tt(Ae*7+ye)}),()=>(d(m)||s()||t.additionalDisableFn)&&rt(d(Be)),()=>d(Be).getDate()]),V(bi,Fe)}),W(vi),V(gi,vi)}),W(ot),W(dt),Le("outroend",ot,Bt),Ke(1,ot,()=>d(N),()=>({duration:k,start:.5,opacity:1})),Ke(2,ot,()=>d(N),()=>({duration:k,start:Math.abs(d(_))})),V(Q,dt)};pt(Lt,Q=>{d(v)===2&&Q(pe)})}return W(zt),ct((Q,dt,ot,Ft,ae,gi,mi)=>{Wt(Jt,d(U)),It(lt,"title",Q),It(lt,"aria-label",dt),lt.disabled=ot,It(st,"title",Ft),It(st,"aria-label",ae),st.disabled=gi,Mt=kt(zt,1,"sdt-calendar svelte-s6uyff",null,Mt,mi)},[()=>t.i18n.months[(d(g).getMonth()-1)%12],()=>t.i18n.months[(d(g).getMonth()-1)%12],()=>At(d(g),-1,d(v)),()=>t.i18n.months[(d(g).getMonth()+1)%12],()=>t.i18n.months[(d(g).getMonth()+1)%12],()=>At(d(g),1,d(v)),()=>({"is-grid":d(S)})]),V(i,Tt),_t({handleGridNav:h,focusDate:c})}jt(["click","mouseover","mouseout"]);function W1(i,t,e,n,r,s){let o=parseInt(i.target.dataset.value);d(t).setHours(o),P(t,d(t),!0),e.onupdate?.({type:d(n)?"minute":"hour",date:r(d(t)),isKeyboard:i.type==="keyboard",dateIndex:s()})}function xg(i,t){P(t,i.type==="mousedown")}function U1(i,t){t.onswitch("date")}var j1=G('<button type="button" class="sdt-time-btn sdt-back-btn svelte-1piwi8e"><svg class="sdt-svg svelte-1piwi8e" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="20" height="20"><path fill-rule="evenodd" d="M6.75 0a.75.75 0 01.75.75V3h9V.75a.75.75 0 011.5 0V3h2.75c.966 0 1.75.784 1.75 1.75v16a1.75 1.75 0 01-1.75 1.75H3.25a1.75 1.75 0 01-1.75-1.75v-16C1.5 3.784 2.284 3 3.25 3H6V.75A.75.75 0 016.75 0zm-3.5 4.5a.25.25 0 00-.25.25V8h18V4.75a.25.25 0 00-.25-.25H3.25zM21 9.5H3v11.25c0 .138.112.25.25.25h17.5a.25.25 0 00.25-.25V9.5z" class="svelte-1piwi8e"></path></svg></button>'),Y1=(i,t)=>P(t,!1),K1=(i,t)=>P(t,!0),J1=G('<button type="button"> </button> <span class="svelte-1piwi8e">:</span> <button type="button"> </button>',1),X1=G('<span class="sdt-time-figure svelte-1piwi8e"> </span>'),Q1=G('<span class="svelte-1piwi8e">:</span> <span class="sdt-time-figure svelte-1piwi8e">00</span>',1),Z1=G('<span class="sdt-time-figure svelte-1piwi8e"> </span> <!>',1),tb=G('<div class="sdt-meridian svelte-1piwi8e"><button type="button" class="sdt-time-btn sdt-time-figure is-active svelte-1piwi8e"> </button></div>'),eb=(i,t)=>{i.preventDefault(),t(i)},ib=(i,t,e)=>{d(t)&&e(i)},nb=G('<button type="button"> </button>'),rb=G('<button type="button"> </button>'),sb=G('<div class="sdt-timer svelte-1piwi8e"><div class="sdt-time-head svelte-1piwi8e"><!> <!> <!></div> <div><div class="sdt-middle-dot svelte-1piwi8e"></div> <div class="sdt-hand-pointer svelte-1piwi8e"><div class="sdt-hand-circle svelte-1piwi8e"></div></div> <!> <!></div></div>'),ob={hash:"svelte-1piwi8e",code:`.sdt-timer.svelte-1piwi8e {position:relative;
|
|
/* width: 272px; */--sdt-clock-size: 220px;}.sdt-time-head.svelte-1piwi8e {position:relative;display:flex;justify-content:center;align-items:center;margin-bottom:4px;color:var(--sdt-header-color, initial);}.sdt-time-figure.svelte-1piwi8e {font-size:1.5em;font-weight:bold;padding:0 0.375em;}.sdt-time-figure.svelte-1piwi8e + .sdt-time-figure:where(.svelte-1piwi8e) {margin-left:-12px;}.sdt-clock.svelte-1piwi8e {margin:auto;position:relative;width:var(--sdt-clock-size);height:var(--sdt-clock-size);background-color:var(--sdt-clock-bg, #eeeded);border-radius:50%;transition:background-color 0.3s;overflow:hidden;}.sdt-time-btn.svelte-1piwi8e {border:0;background:transparent;text-align:center;border-radius:4px;cursor:pointer;height:38px;padding:0 0.375em;color:var(--sdt-header-color, initial);}.sdt-time-btn.svelte-1piwi8e > svg:where(.svelte-1piwi8e) {stroke:initial !important;}.sdt-svg.svelte-1piwi8e {fill:var(--sdt-header-color, initial);}.sdt-time-btn.svelte-1piwi8e:not(.is-active) {opacity:0.5;}.sdt-time-btn.svelte-1piwi8e:hover {background-color:var(--sdt-header-btn-bg-hover, #dfdfdf);}.sdt-back-btn.svelte-1piwi8e {position:absolute;top:0;left:0;padding:0.3em;opacity:1 !important;}.sdt-meridian.svelte-1piwi8e {position:absolute;top:0;right:0;display:flex;}.sdt-meridian.svelte-1piwi8e .sdt-time-btn:where(.svelte-1piwi8e) {width:56px;font-weight:bold;}.sdt-middle-dot.svelte-1piwi8e {left:50%;top:50%;width:6px;height:6px;position:absolute;transform:translate(-50%, -50%);background-color:var(--sdt-clock-selected-bg, var(--sdt-bg-selected, #286090));border-radius:50%;}.sdt-hand-pointer.svelte-1piwi8e {width:2px;height:calc(40% - 3px);bottom:50%;left:calc(50% - 1px);position:absolute;background-color:var(--sdt-clock-selected-bg, var(--sdt-bg-selected, #286090));transform-origin:center bottom 0;transition:transform 0.3s ease, height 0.15s ease;}.sdt-hand-circle.svelte-1piwi8e {left:-15px;top:-21px;position:relative;width:4px;height:4px;background-color:transparent;border:14px solid var(--sdt-clock-selected-bg, var(--sdt-bg-selected, #286090));border-radius:50%;box-sizing:content-box;}.sdt-tick.svelte-1piwi8e {position:absolute;width:30px;height:30px;border-width:0;transform:translate(-50%, -50%);text-align:center;border-radius:50%;line-height:20px;cursor:pointer;background-color:var(--sdt-clock-time-bg);transition:all 0.3s;color:var(--sdt-clock-color, inherit);}.sdt-tick.svelte-1piwi8e:hover {color:var(--sdt-clock-color-hover);background-color:var(--sdt-clock-time-bg-hover);}.sdt-tick[disabled].svelte-1piwi8e {cursor:not-allowed;color:var(--sdt-clock-disabled, #b22222);background-color:var(--sdt-clock-disabled-bg, var(--sdt-clock-bg, transparent));}.sdt-tick.outer-tick.svelte-1piwi8e {opacity:0;}.sdt-tick.is-selected.svelte-1piwi8e {
|
|
animation: svelte-1piwi8e-tick-selection 0s 0.175s ease-out forwards;}
|
|
@keyframes svelte-1piwi8e-tick-selection {
|
|
0% {
|
|
color: initial;
|
|
background-color: transparent;
|
|
}
|
|
100% {
|
|
background-color: var(--sdt-clock-selected-bg, var(--sdt-bg-selected, #286090));
|
|
color: var(--sdt-color-selected, var(--sdt-bg-main, #fff));
|
|
}
|
|
}`};function Zc(i,t){bt(t,!0),ir(i,ob);let e=B(t,"wid",3,0),n=B(t,"date",27,()=>Rt(new fe)),r=B(t,"startDate",3,void 0),s=B(t,"endDate",3,void 0),o=B(t,"hourOnly",3,!1),a=B(t,"minuteIncrement",3,1),l=B(t,"showMeridian",3,!1),u=B(t,"hasDateComponent",3,!1);function f(){P(p,!0)}function h(L){d(p)?(L=L*5+d(k),L%5!==0&&(L=L<d(k)?L+(5-L%5):L-L%5)):L=d(_)+L,P(m,!1),tt({type:"keyboard",target:{tagName:"BUTTON",dataset:{value:L}}}),P(m,!0)}let c,p=at(!1),g=at(!1),m=at(!0),v=at(Rt(function(){let L=new fe;return L.setHours(0,0),L}()));x(n());let _=nt(()=>d(v)?.getHours()||0),S=nt(()=>l()?d(_)>=12:!1),k=nt(()=>d(v)?.getMinutes()||0),E=nt(()=>{let L=d(p)?d(k)*6:d(_)%12*30;return d(p)||l()||d(_)<12?`transform: rotateZ(${L}deg);`:`transform: rotateZ(${L}deg); height: calc(25% + 1px)`}),M=nt(()=>d(p)?5:1),w=nt(()=>r()&&s()&&["getFullYear","getMonth","getDate"].every(L=>s()[L]()===r()[L]()));function x(L){if(d(v)?.valueOf()!==L?.valueOf()&&L)P(v,new fe(L),!0);else if(!L)if(P(p,!1),d(v))d(v).setHours(0,0);else{let q=new fe;q.setHours(0,0),P(v,q,!0)}}function A(L){let q=!1;return r()&&r().toDateString()===L.toDateString()&&(U(L.getHours())&&(L.setHours(r().getHours()),q=!0),U(L.getMinutes(),!0)&&(L.setMinutes(r().getMinutes()),q=!0)),s()&&s().toDateString()===L.toDateString()&&(U(L.getHours())&&(L.setHours(s().getHours()),q=!0),U(L.getMinutes(),!0)&&(L.setMinutes(s().getMinutes()),q=!0)),L}function D(L,q,lt,st,zt){let Mt=L/2;q=q||Mt;let vt=[0,1-.5,1-.134,1,1-.134,1-.5],Ut=vt.concat(vt),oe=vt.slice(3).concat(vt).concat(vt.slice(0,3)),Yt=[];for(let Lt=0;Lt<12;Lt++)Yt.push({x:Math.abs(Ut[Lt]*Mt+(Lt<=6?1:-1)*q),y:Math.abs(oe[Lt]*Mt+(Lt>=9||Lt<3?-1:1)*q),val:st?Lt*5||lt:Lt?Lt+zt:lt});return Yt}let N=nt(()=>D(d(p)?220:180,110,"00",!1,0)),I=nt(()=>D(d(p)?180:120,110,d(p)?"00":"12",d(p),12));function R(L,q){return q?d(S)&&L===12?12:L<10||L%12<10?`0${L%12}`:L%12:L<10?`0${L}`:L}function z(L,q,lt){return d(p)?q===L||lt===0&<===L:l()?d(S)&&q==12&&L===12||!d(S)&&q==12&&L===0?!0:q===(L?L%12:12):+q>12?(lt?d(M)*lt+12:0)===L:q==="00"||q==="12"?L===12&&parseInt(q)==12||q==="00"&&L===0:q===L}function U(L,q=!1){return typeof L=="string"&&(L=parseInt(L)),r()&&s()&&d(w)?d(p)||q?r().getHours()===d(v).getHours()&&r().getMinutes()>L||s().getHours()===d(v).getHours()&&s().getMinutes()<L:r().getHours()>L||s().getHours()<L:r()&&r().getDate()===d(v).getDate()&&r().getMonth()===d(v).getMonth()&&r().getFullYear()===d(v).getFullYear()?d(p)||q?r().getHours()===d(v).getHours()&&r().getMinutes()>L:r().getHours()>L:s()&&s().getDate()===d(v).getDate()&&s().getMonth()===d(v).getMonth()&&s().getFullYear()===d(v).getFullYear()?d(p)||q?s().getHours()===d(v).getHours()&&s().getMinutes()<L:s().getHours()<L:!1}function tt(L){if(!L.target)return;let q=0,lt=0;if(L.target.tagName==="BUTTON"){let st=parseInt(L.target.dataset.value);if(!d(p)&&d(S)&&(st+=12),d(p)&&a()!==1){if(L.isKeyboard)st=st>d(k)?d(k)+a():d(k)-a();else if(st%a()!==0){let zt=st%a(),Mt=st-zt,vt=Mt+a();st=vt-st<st-Mt?vt:Mt}}d(p)?d(v).setMinutes(st):d(v).setHours(st)}else if(d(p)){let st=c.getBoundingClientRect(),zt=L.clientX-st.left,Mt=L.clientY-st.top,vt=110,Ut=110,oe=null;switch(zt>vt?oe=Mt>Ut?2:1:oe=Mt>Ut?3:4,oe){case 1:q=zt-vt,lt=Ut-Mt;break;case 2:q=zt-vt,lt=Mt-Ut;break;case 3:q=vt-zt,lt=Mt-Ut;break;case 4:q=vt-zt,lt=Ut-Mt;break}let Yt=Math.sqrt(q*q+lt*lt),Lt=90-Math.asin(q/Yt)*(180/Math.PI),pe=0;switch(oe){case 1:pe=90-Lt;break;case 2:pe=Lt+90;break;case 3:pe=270-Lt;break;case 4:pe=Lt+270;break}pe=Math.round(pe/6/a())*a(),pe>=60&&(pe=0),d(v).setMinutes(pe)}else return;d(g)||(t.onupdate?.({type:d(p)?"minute":"hour",date:A(d(v)),isKeyboard:L.type==="keyboard",dateIndex:e()}),L.type!=="keyboard"&&!d(p)&&!o()&&P(p,!0))}Te(()=>{x(n())});var rt=sb(),At=J(rt),St=J(At);{var mt=L=>{var q=j1();q.__click=[U1,t],ct(()=>{It(q,"title",t.i18n.backToDate),It(q,"aria-label",t.i18n.backToDate)}),V(L,q)};pt(St,L=>{u()&&L(mt)})}var Dt=F(St,2);{var Bt=L=>{var q=J1(),lt=Et(q);let st;lt.__click=[Y1,p];var zt=J(lt,!0);W(lt);var Mt=F(lt,4);let vt;Mt.__click=[K1,p];var Ut=J(Mt,!0);W(Mt),ct((oe,Yt,Lt,pe)=>{st=kt(lt,1,"sdt-time-btn sdt-time-figure svelte-1piwi8e",null,st,oe),Wt(zt,Yt),vt=kt(Mt,1,"sdt-time-btn sdt-time-figure svelte-1piwi8e",null,vt,Lt),Wt(Ut,pe)},[()=>({"is-active":!d(p)}),()=>R(d(_),l()),()=>({"is-active":d(p)}),()=>R(d(k),!1)]),V(L,q)},wt=L=>{var q=Z1(),lt=Et(q),st=J(lt,!0);W(lt);var zt=F(lt,2);{var Mt=Ut=>{var oe=X1(),Yt=J(oe,!0);W(oe),ct(Lt=>Wt(Yt,Lt),[()=>(d(S)?t.i18n.meridiem[1]:t.i18n.meridiem[0]).toUpperCase()]),V(Ut,oe)},vt=Ut=>{var oe=Q1();Ks(2),V(Ut,oe)};pt(zt,Ut=>{l()?Ut(Mt):Ut(vt,!1)})}ct(Ut=>Wt(st,Ut),[()=>R(d(_),l())]),V(L,q)};pt(Dt,L=>{o()?L(wt,!1):L(Bt)})}var qt=F(Dt,2);{var ee=L=>{var q=tb(),lt=J(q);lt.__click=[W1,v,t,p,A,e];var st=J(lt,!0);W(lt),W(q),ct(()=>{It(lt,"data-value",d(S)?d(_)%12:d(_)+12),Wt(st,d(S)?t.i18n.meridiem[1]:t.i18n.meridiem[0])}),V(L,q)};pt(qt,L=>{l()&&L(ee)})}W(At);var Vt=F(At,2);let Tt;Vt.__click=[eb,tt],Vt.__mousedown=[xg,g],Vt.__mousemove=[ib,g,tt],Vt.__mouseup=[xg,g];var Nt=F(J(Vt),2),Xe=F(Nt,2);Qt(Xe,19,()=>d(N),L=>L.val,(L,q,lt)=>{var st=nb();let zt;var Mt=J(st,!0);W(st),ct((vt,Ut)=>{nn(st,`left:${d(q).x}px; top:${d(q).y}px;`),zt=kt(st,1,"sdt-tick svelte-1piwi8e",null,zt,vt),It(st,"data-value",d(q).val),st.disabled=Ut,Wt(Mt,d(q).val)},[()=>({"outer-tick":d(p),"is-selected":z(d(_),d(q).val,d(lt))}),()=>(r()||s())&&d(v)&&U(d(q).val,!1)]),Ke(3,st,()=>$r,()=>({duration:200})),V(L,st)});var Jt=F(Xe,2);return Qt(Jt,17,()=>d(I),se,(L,q,lt)=>{var st=rb();let zt;var Mt=J(st,!0);W(st),ct((vt,Ut)=>{nn(st,`left:${d(q).x}px; top:${d(q).y}px;`),zt=kt(st,1,"sdt-tick svelte-1piwi8e",null,zt,vt),It(st,"data-value",d(q).val),st.disabled=Ut,Wt(Mt,d(q).val)},[()=>({"outer-tick":l()&&!d(p),"is-selected":z(d(p)?d(k):d(_),d(q).val,lt)}),()=>(r()||s())&&d(v)&&U(d(q).val,!1)]),Ke(3,st,()=>$r,()=>({duration:200})),V(L,st)}),W(Vt),vn(Vt,L=>c=L,()=>c),W(rt),ct(L=>{Tt=kt(Vt,1,"sdt-clock svelte-1piwi8e",null,Tt,L),nn(Nt,d(E))},[()=>({"is-minute-view":d(p)})]),Ke(1,rt,()=>$r,()=>({duration:200})),V(i,rt),_t({showMinuteView:f,makeTick:h})}jt(["click","mousedown","mousemove","mouseup"]);var so=Math.min,or=Math.max,Sa=Math.round,Ma=Math.floor,_n=i=>({x:i,y:i}),ab={left:"right",right:"left",bottom:"top",top:"bottom"},lb={start:"end",end:"start"};function tf(i,t,e){return or(i,so(t,e))}function xu(i,t){return typeof i=="function"?i(t):i}function ls(i){return i.split("-")[0]}function ku(i){return i.split("-")[1]}function ef(i){return i==="x"?"y":"x"}function nf(i){return i==="y"?"height":"width"}function us(i){return["top","bottom"].includes(ls(i))?"y":"x"}function rf(i){return ef(us(i))}function kg(i,t,e){e===void 0&&(e=!1);let n=ku(i),r=rf(i),s=nf(r),o=r==="x"?n===(e?"end":"start")?"right":"left":n==="start"?"bottom":"top";return t.reference[s]>t.floating[s]&&(o=ka(o)),[o,ka(o)]}function Sg(i){let t=ka(i);return[yu(i),t,yu(t)]}function yu(i){return i.replace(/start|end/g,t=>lb[t])}function ub(i,t,e){let n=["left","right"],r=["right","left"],s=["top","bottom"],o=["bottom","top"];switch(i){case"top":case"bottom":return e?t?r:n:t?n:r;case"left":case"right":return t?s:o;default:return[]}}function Mg(i,t,e,n){let r=ku(i),s=ub(ls(i),e==="start",n);return r&&(s=s.map(o=>o+"-"+r),t&&(s=s.concat(s.map(yu)))),s}function ka(i){return i.replace(/left|right|bottom|top/g,t=>ab[t])}function hb(i){return{top:0,right:0,bottom:0,left:0,...i}}function Eg(i){return typeof i!="number"?hb(i):{top:i,right:i,bottom:i,left:i}}function hs(i){let{x:t,y:e,width:n,height:r}=i;return{width:n,height:r,top:e,left:t,right:t+n,bottom:e+r,x:t,y:e}}function Tg(i,t,e){let{reference:n,floating:r}=i,s=us(t),o=rf(t),a=nf(o),l=ls(t),u=s==="y",f=n.x+n.width/2-r.width/2,h=n.y+n.height/2-r.height/2,c=n[a]/2-r[a]/2,p;switch(l){case"top":p={x:f,y:n.y-r.height};break;case"bottom":p={x:f,y:n.y+n.height};break;case"right":p={x:n.x+n.width,y:h};break;case"left":p={x:n.x-r.width,y:h};break;default:p={x:n.x,y:n.y}}switch(ku(t)){case"start":p[o]-=c*(e&&u?-1:1);break;case"end":p[o]+=c*(e&&u?-1:1);break}return p}var Ag=async(i,t,e)=>{let{placement:n="bottom",strategy:r="absolute",middleware:s=[],platform:o}=e,a=s.filter(Boolean),l=await(o.isRTL==null?void 0:o.isRTL(t)),u=await o.getElementRects({reference:i,floating:t,strategy:r}),{x:f,y:h}=Tg(u,n,l),c=n,p={},g=0;for(let m=0;m<a.length;m++){let{name:v,fn:_}=a[m],{x:S,y:k,data:E,reset:M}=await _({x:f,y:h,initialPlacement:n,placement:c,strategy:r,middlewareData:p,rects:u,platform:o,elements:{reference:i,floating:t}});f=S??f,h=k??h,p={...p,[v]:{...p[v],...E}},M&&g<=50&&(g++,typeof M=="object"&&(M.placement&&(c=M.placement),M.rects&&(u=M.rects===!0?await o.getElementRects({reference:i,floating:t,strategy:r}):M.rects),{x:f,y:h}=Tg(u,c,l)),m=-1)}return{x:f,y:h,placement:c,strategy:r,middlewareData:p}};async function sf(i,t){var e;t===void 0&&(t={});let{x:n,y:r,platform:s,rects:o,elements:a,strategy:l}=i,{boundary:u="clippingAncestors",rootBoundary:f="viewport",elementContext:h="floating",altBoundary:c=!1,padding:p=0}=xu(t,i),g=Eg(p),v=a[c?h==="floating"?"reference":"floating":h],_=hs(await s.getClippingRect({element:(e=await(s.isElement==null?void 0:s.isElement(v)))==null||e?v:v.contextElement||await(s.getDocumentElement==null?void 0:s.getDocumentElement(a.floating)),boundary:u,rootBoundary:f,strategy:l})),S=h==="floating"?{x:n,y:r,width:o.floating.width,height:o.floating.height}:o.reference,k=await(s.getOffsetParent==null?void 0:s.getOffsetParent(a.floating)),E=await(s.isElement==null?void 0:s.isElement(k))?await(s.getScale==null?void 0:s.getScale(k))||{x:1,y:1}:{x:1,y:1},M=hs(s.convertOffsetParentRelativeRectToViewportRelativeRect?await s.convertOffsetParentRelativeRectToViewportRelativeRect({elements:a,rect:S,offsetParent:k,strategy:l}):S);return{top:(_.top-M.top+g.top)/E.y,bottom:(M.bottom-_.bottom+g.bottom)/E.y,left:(_.left-M.left+g.left)/E.x,right:(M.right-_.right+g.right)/E.x}}var Cg=function(i){return i===void 0&&(i={}),{name:"flip",options:i,async fn(t){var e,n;let{placement:r,middlewareData:s,rects:o,initialPlacement:a,platform:l,elements:u}=t,{mainAxis:f=!0,crossAxis:h=!0,fallbackPlacements:c,fallbackStrategy:p="bestFit",fallbackAxisSideDirection:g="none",flipAlignment:m=!0,...v}=xu(i,t);if((e=s.arrow)!=null&&e.alignmentOffset)return{};let _=ls(r),S=us(a),k=ls(a)===a,E=await(l.isRTL==null?void 0:l.isRTL(u.floating)),M=c||(k||!m?[ka(a)]:Sg(a)),w=g!=="none";!c&&w&&M.push(...Mg(a,m,g,E));let x=[a,...M],A=await sf(t,v),D=[],N=((n=s.flip)==null?void 0:n.overflows)||[];if(f&&D.push(A[_]),h){let tt=kg(r,o,E);D.push(A[tt[0]],A[tt[1]])}if(N=[...N,{placement:r,overflows:D}],!D.every(tt=>tt<=0)){var I,R;let tt=(((I=s.flip)==null?void 0:I.index)||0)+1,rt=x[tt];if(rt){var z;let St=h==="alignment"?S!==us(rt):!1,mt=((z=N[0])==null?void 0:z.overflows[0])>0;if(!St||mt)return{data:{index:tt,overflows:N},reset:{placement:rt}}}let At=(R=N.filter(St=>St.overflows[0]<=0).sort((St,mt)=>St.overflows[1]-mt.overflows[1])[0])==null?void 0:R.placement;if(!At)switch(p){case"bestFit":{var U;let St=(U=N.filter(mt=>{if(w){let Dt=us(mt.placement);return Dt===S||Dt==="y"}return!0}).map(mt=>[mt.placement,mt.overflows.filter(Dt=>Dt>0).reduce((Dt,Bt)=>Dt+Bt,0)]).sort((mt,Dt)=>mt[1]-Dt[1])[0])==null?void 0:U[0];St&&(At=St);break}case"initialPlacement":At=a;break}if(r!==At)return{reset:{placement:At}}}return{}}}};var Og=function(i){return i===void 0&&(i={}),{name:"shift",options:i,async fn(t){let{x:e,y:n,placement:r}=t,{mainAxis:s=!0,crossAxis:o=!1,limiter:a={fn:v=>{let{x:_,y:S}=v;return{x:_,y:S}}},...l}=xu(i,t),u={x:e,y:n},f=await sf(t,l),h=us(ls(r)),c=ef(h),p=u[c],g=u[h];if(s){let v=c==="y"?"top":"left",_=c==="y"?"bottom":"right",S=p+f[v],k=p-f[_];p=tf(S,p,k)}if(o){let v=h==="y"?"top":"left",_=h==="y"?"bottom":"right",S=g+f[v],k=g-f[_];g=tf(S,g,k)}let m=a.fn({...t,[c]:p,[h]:g});return{...m,data:{x:m.x-e,y:m.y-n,enabled:{[c]:s,[h]:o}}}}}};function Su(){return typeof window<"u"}function cs(i){return $g(i)?(i.nodeName||"").toLowerCase():"#document"}function Ci(i){var t;return(i==null||(t=i.ownerDocument)==null?void 0:t.defaultView)||window}function wn(i){var t;return(t=($g(i)?i.ownerDocument:i.document)||window.document)==null?void 0:t.documentElement}function $g(i){return Su()?i instanceof Node||i instanceof Ci(i).Node:!1}function rn(i){return Su()?i instanceof Element||i instanceof Ci(i).Element:!1}function yn(i){return Su()?i instanceof HTMLElement||i instanceof Ci(i).HTMLElement:!1}function Dg(i){return!Su()||typeof ShadowRoot>"u"?!1:i instanceof ShadowRoot||i instanceof Ci(i).ShadowRoot}function ao(i){let{overflow:t,overflowX:e,overflowY:n,display:r}=sn(i);return/auto|scroll|overlay|hidden|clip/.test(t+n+e)&&!["inline","contents"].includes(r)}function Rg(i){return["table","td","th"].includes(cs(i))}function Ea(i){return[":popover-open",":modal"].some(t=>{try{return i.matches(t)}catch{return!1}})}function Mu(i){let t=Eu(),e=rn(i)?sn(i):i;return["transform","translate","scale","rotate","perspective"].some(n=>e[n]?e[n]!=="none":!1)||(e.containerType?e.containerType!=="normal":!1)||!t&&(e.backdropFilter?e.backdropFilter!=="none":!1)||!t&&(e.filter?e.filter!=="none":!1)||["transform","translate","scale","rotate","perspective","filter"].some(n=>(e.willChange||"").includes(n))||["paint","layout","strict","content"].some(n=>(e.contain||"").includes(n))}function Ig(i){let t=ar(i);for(;yn(t)&&!fs(t);){if(Mu(t))return t;if(Ea(t))return null;t=ar(t)}return null}function Eu(){return typeof CSS>"u"||!CSS.supports?!1:CSS.supports("-webkit-backdrop-filter","none")}function fs(i){return["html","body","#document"].includes(cs(i))}function sn(i){return Ci(i).getComputedStyle(i)}function Ta(i){return rn(i)?{scrollLeft:i.scrollLeft,scrollTop:i.scrollTop}:{scrollLeft:i.scrollX,scrollTop:i.scrollY}}function ar(i){if(cs(i)==="html")return i;let t=i.assignedSlot||i.parentNode||Dg(i)&&i.host||wn(i);return Dg(t)?t.host:t}function Pg(i){let t=ar(i);return fs(t)?i.ownerDocument?i.ownerDocument.body:i.body:yn(t)&&ao(t)?t:Pg(t)}function oo(i,t,e){var n;t===void 0&&(t=[]),e===void 0&&(e=!0);let r=Pg(i),s=r===((n=i.ownerDocument)==null?void 0:n.body),o=Ci(r);if(s){let a=Tu(o);return t.concat(o,o.visualViewport||[],ao(r)?r:[],a&&e?oo(a):[])}return t.concat(r,oo(r,[],e))}function Tu(i){return i.parent&&Object.getPrototypeOf(i.parent)?i.frameElement:null}function Bg(i){let t=sn(i),e=parseFloat(t.width)||0,n=parseFloat(t.height)||0,r=yn(i),s=r?i.offsetWidth:e,o=r?i.offsetHeight:n,a=Sa(e)!==s||Sa(n)!==o;return a&&(e=s,n=o),{width:e,height:n,$:a}}function af(i){return rn(i)?i:i.contextElement}function lo(i){let t=af(i);if(!yn(t))return _n(1);let e=t.getBoundingClientRect(),{width:n,height:r,$:s}=Bg(t),o=(s?Sa(e.width):e.width)/n,a=(s?Sa(e.height):e.height)/r;return(!o||!Number.isFinite(o))&&(o=1),(!a||!Number.isFinite(a))&&(a=1),{x:o,y:a}}var cb=_n(0);function Fg(i){let t=Ci(i);return!Eu()||!t.visualViewport?cb:{x:t.visualViewport.offsetLeft,y:t.visualViewport.offsetTop}}function fb(i,t,e){return t===void 0&&(t=!1),!e||t&&e!==Ci(i)?!1:t}function ds(i,t,e,n){t===void 0&&(t=!1),e===void 0&&(e=!1);let r=i.getBoundingClientRect(),s=af(i),o=_n(1);t&&(n?rn(n)&&(o=lo(n)):o=lo(i));let a=fb(s,e,n)?Fg(s):_n(0),l=(r.left+a.x)/o.x,u=(r.top+a.y)/o.y,f=r.width/o.x,h=r.height/o.y;if(s){let c=Ci(s),p=n&&rn(n)?Ci(n):n,g=c,m=Tu(g);for(;m&&n&&p!==g;){let v=lo(m),_=m.getBoundingClientRect(),S=sn(m),k=_.left+(m.clientLeft+parseFloat(S.paddingLeft))*v.x,E=_.top+(m.clientTop+parseFloat(S.paddingTop))*v.y;l*=v.x,u*=v.y,f*=v.x,h*=v.y,l+=k,u+=E,g=Ci(m),m=Tu(g)}}return hs({width:f,height:h,x:l,y:u})}function lf(i,t){let e=Ta(i).scrollLeft;return t?t.left+e:ds(wn(i)).left+e}function Hg(i,t,e){e===void 0&&(e=!1);let n=i.getBoundingClientRect(),r=n.left+t.scrollLeft-(e?0:lf(i,n)),s=n.top+t.scrollTop;return{x:r,y:s}}function db(i){let{elements:t,rect:e,offsetParent:n,strategy:r}=i,s=r==="fixed",o=wn(n),a=t?Ea(t.floating):!1;if(n===o||a&&s)return e;let l={scrollLeft:0,scrollTop:0},u=_n(1),f=_n(0),h=yn(n);if((h||!h&&!s)&&((cs(n)!=="body"||ao(o))&&(l=Ta(n)),yn(n))){let p=ds(n);u=lo(n),f.x=p.x+n.clientLeft,f.y=p.y+n.clientTop}let c=o&&!h&&!s?Hg(o,l,!0):_n(0);return{width:e.width*u.x,height:e.height*u.y,x:e.x*u.x-l.scrollLeft*u.x+f.x+c.x,y:e.y*u.y-l.scrollTop*u.y+f.y+c.y}}function pb(i){return Array.from(i.getClientRects())}function gb(i){let t=wn(i),e=Ta(i),n=i.ownerDocument.body,r=or(t.scrollWidth,t.clientWidth,n.scrollWidth,n.clientWidth),s=or(t.scrollHeight,t.clientHeight,n.scrollHeight,n.clientHeight),o=-e.scrollLeft+lf(i),a=-e.scrollTop;return sn(n).direction==="rtl"&&(o+=or(t.clientWidth,n.clientWidth)-r),{width:r,height:s,x:o,y:a}}function mb(i,t){let e=Ci(i),n=wn(i),r=e.visualViewport,s=n.clientWidth,o=n.clientHeight,a=0,l=0;if(r){s=r.width,o=r.height;let u=Eu();(!u||u&&t==="fixed")&&(a=r.offsetLeft,l=r.offsetTop)}return{width:s,height:o,x:a,y:l}}function vb(i,t){let e=ds(i,!0,t==="fixed"),n=e.top+i.clientTop,r=e.left+i.clientLeft,s=yn(i)?lo(i):_n(1),o=i.clientWidth*s.x,a=i.clientHeight*s.y,l=r*s.x,u=n*s.y;return{width:o,height:a,x:l,y:u}}function Ng(i,t,e){let n;if(t==="viewport")n=mb(i,e);else if(t==="document")n=gb(wn(i));else if(rn(t))n=vb(t,e);else{let r=Fg(i);n={x:t.x-r.x,y:t.y-r.y,width:t.width,height:t.height}}return hs(n)}function Vg(i,t){let e=ar(i);return e===t||!rn(e)||fs(e)?!1:sn(e).position==="fixed"||Vg(e,t)}function bb(i,t){let e=t.get(i);if(e)return e;let n=oo(i,[],!1).filter(a=>rn(a)&&cs(a)!=="body"),r=null,s=sn(i).position==="fixed",o=s?ar(i):i;for(;rn(o)&&!fs(o);){let a=sn(o),l=Mu(o);!l&&a.position==="fixed"&&(r=null),(s?!l&&!r:!l&&a.position==="static"&&!!r&&["absolute","fixed"].includes(r.position)||ao(o)&&!l&&Vg(i,o))?n=n.filter(f=>f!==o):r=a,o=ar(o)}return t.set(i,n),n}function _b(i){let{element:t,boundary:e,rootBoundary:n,strategy:r}=i,o=[...e==="clippingAncestors"?Ea(t)?[]:bb(t,this._c):[].concat(e),n],a=o[0],l=o.reduce((u,f)=>{let h=Ng(t,f,r);return u.top=or(h.top,u.top),u.right=so(h.right,u.right),u.bottom=so(h.bottom,u.bottom),u.left=or(h.left,u.left),u},Ng(t,a,r));return{width:l.right-l.left,height:l.bottom-l.top,x:l.left,y:l.top}}function wb(i){let{width:t,height:e}=Bg(i);return{width:t,height:e}}function yb(i,t,e){let n=yn(t),r=wn(t),s=e==="fixed",o=ds(i,!0,s,t),a={scrollLeft:0,scrollTop:0},l=_n(0);function u(){l.x=lf(r)}if(n||!n&&!s)if((cs(t)!=="body"||ao(r))&&(a=Ta(t)),n){let p=ds(t,!0,s,t);l.x=p.x+t.clientLeft,l.y=p.y+t.clientTop}else r&&u();s&&!n&&r&&u();let f=r&&!n&&!s?Hg(r,a):_n(0),h=o.left+a.scrollLeft-l.x-f.x,c=o.top+a.scrollTop-l.y-f.y;return{x:h,y:c,width:o.width,height:o.height}}function of(i){return sn(i).position==="static"}function Lg(i,t){if(!yn(i)||sn(i).position==="fixed")return null;if(t)return t(i);let e=i.offsetParent;return wn(i)===e&&(e=e.ownerDocument.body),e}function zg(i,t){let e=Ci(i);if(Ea(i))return e;if(!yn(i)){let r=ar(i);for(;r&&!fs(r);){if(rn(r)&&!of(r))return r;r=ar(r)}return e}let n=Lg(i,t);for(;n&&Rg(n)&&of(n);)n=Lg(n,t);return n&&fs(n)&&of(n)&&!Mu(n)?e:n||Ig(i)||e}var xb=async function(i){let t=this.getOffsetParent||zg,e=this.getDimensions,n=await e(i.floating);return{reference:yb(i.reference,await t(i.floating),i.strategy),floating:{x:0,y:0,width:n.width,height:n.height}}};function kb(i){return sn(i).direction==="rtl"}var Sb={convertOffsetParentRelativeRectToViewportRelativeRect:db,getDocumentElement:wn,getClippingRect:_b,getOffsetParent:zg,getElementRects:xb,getClientRects:pb,getDimensions:wb,getScale:lo,isElement:rn,isRTL:kb};function Gg(i,t){return i.x===t.x&&i.y===t.y&&i.width===t.width&&i.height===t.height}function Mb(i,t){let e=null,n,r=wn(i);function s(){var a;clearTimeout(n),(a=e)==null||a.disconnect(),e=null}function o(a,l){a===void 0&&(a=!1),l===void 0&&(l=1),s();let u=i.getBoundingClientRect(),{left:f,top:h,width:c,height:p}=u;if(a||t(),!c||!p)return;let g=Ma(h),m=Ma(r.clientWidth-(f+c)),v=Ma(r.clientHeight-(h+p)),_=Ma(f),k={rootMargin:-g+"px "+-m+"px "+-v+"px "+-_+"px",threshold:or(0,so(1,l))||1},E=!0;function M(w){let x=w[0].intersectionRatio;if(x!==l){if(!E)return o();x?o(!1,x):n=setTimeout(()=>{o(!1,1e-7)},1e3)}x===1&&!Gg(u,i.getBoundingClientRect())&&o(),E=!1}try{e=new IntersectionObserver(M,{...k,root:r.ownerDocument})}catch{e=new IntersectionObserver(M,k)}e.observe(i)}return o(!0),s}function qg(i,t,e,n){n===void 0&&(n={});let{ancestorScroll:r=!0,ancestorResize:s=!0,elementResize:o=typeof ResizeObserver=="function",layoutShift:a=typeof IntersectionObserver=="function",animationFrame:l=!1}=n,u=af(i),f=r||s?[...u?oo(u):[],...oo(t)]:[];f.forEach(_=>{r&&_.addEventListener("scroll",e,{passive:!0}),s&&_.addEventListener("resize",e)});let h=u&&a?Mb(u,e):null,c=-1,p=null;o&&(p=new ResizeObserver(_=>{let[S]=_;S&&S.target===u&&p&&(p.unobserve(t),cancelAnimationFrame(c),c=requestAnimationFrame(()=>{var k;(k=p)==null||k.observe(t)})),e()}),u&&!l&&p.observe(u),p.observe(t));let g,m=l?ds(i):null;l&&v();function v(){let _=ds(i);m&&!Gg(m,_)&&e(),m=_,g=requestAnimationFrame(v)}return e(),()=>{var _;f.forEach(S=>{r&&S.removeEventListener("scroll",e),s&&S.removeEventListener("resize",e)}),h?.(),(_=p)==null||_.disconnect(),p=null,l&&cancelAnimationFrame(g)}}var Wg=Og,Ug=Cg;var jg=(i,t,e)=>{let n=new Map,r={platform:Sb,...e},s={...r.platform,_c:n};return Ag(i,t,{...r,platform:s})};function Yg(i){let t=i.parentElement?.querySelector("input[type=text]");if(!t)return;let e=qg(t,i,()=>jg(t,i,{placement:"bottom-start",middleware:[Wg({padding:5}),Ug()]}).then(({x:n,y:r})=>{Object.assign(i.style,{left:`${n}px`,top:`${r}px`})}));return{destroy(){e()}}}function Kg(i,t,e,n){let r=i?Array.isArray(i)?i:i.split(","):[];return r=r.map(s=>s.replace(/(:\d+):\d+(.*)/,"$1$2")),{iValues:r,iValueCombined:r.length?r.join():null,iDates:r.map(s=>as(s,t,e,n))}}function Jg(i,t){return i==="auto"?t.match(/g|hh?|ii?/i)&&t.match(/y|m|d/i)?"datetime":t.match(/g|hh?|ii?/i)?"time":"date":i}var Je=gg,Eb=G('<span><button type="button"> </button> <button type="button"> </button></span>'),Tb=G('<button type="button"> </button>'),Ab=G('<button type="button"> </button>'),Cb=G("<span><!> <!></span>"),Ob=G('<div class="sdt-btn-row svelte-yheoi9"><!> <!></div>'),Db=G('<input type="text" tabindex="0" autocomplete="off">'),$b=G('<input type="hidden"> <!>',1),Rb=i=>i.preventDefault(),Ib=G('<div class="sdt-widget svelte-yheoi9"><!></div>'),Pb=G('<div><div class="sdt-widget-wrap svelte-yheoi9"></div> <!></div>'),Nb=G('<div><div class="sdt-input-wrap svelte-yheoi9" style="border: 3px dashed orange; position: relative"><!> <!></div> <!></div>'),Lb={hash:"svelte-yheoi9",code:`.sdt-component-wrap.svelte-yheoi9 {position:relative;display:inline-block;}.sdt-input-wrap.svelte-yheoi9 {position:relative;display:contents;}.sdt-calendar-wrap.svelte-yheoi9 {width:280px;background-color:var(--sdt-bg-main, #fff);box-shadow:var(--sdt-wrap-shadow, 0 1px 6px var(--sdt-shadow-color, #ccc));border-radius:var(--sdt-radius, 4px);padding:0.5em;color:var(--sdt-color, initial);}.sdt-calendar-wrap.is-range-wrap.svelte-yheoi9 {width:560px;}.sdt-widget-wrap.svelte-yheoi9 {display:flex;gap:0.5rem;justify-content:stretch;position:relative;}.sdt-widget.svelte-yheoi9 {flex:1;min-width:264px;}.value-dirty.svelte-yheoi9 {color:color-mix(in srgb, black 20%, white);}.sdt-calendar-wrap.is-popup.svelte-yheoi9 {position:absolute;box-shadow:0 1px 6px var(--sdt-shadow-color, #ccc);z-index:100;}.sdt-btn-row.svelte-yheoi9 {margin-top:0.5rem;display:flex;gap:0.5rem;justify-content:space-between;flex-flow:row-reverse;}.sdt-action-btn.svelte-yheoi9 {padding:0.25em 0.5em;font-size:0.875em;border-radius:0.2em;}.sdt-today-btn.svelte-yheoi9 {background-color:var(--sdt-bg-selected, #286090);color:var(--sdt-today-color, var(--sdt-bg-main, #fff));padding:0.25em 0.5em;font-size:0.875em;border-radius:0.2em;border:1px solid var(--sdt-today-bg, #286090);}.sdt-today-btn[disabled].svelte-yheoi9 {opacity:0.5;cursor:not-allowed;}.sdt-today-btn.svelte-yheoi9:focus,
|
|
.sdt-today-btn.svelte-yheoi9:active,
|
|
.sdt-today-btn.svelte-yheoi9:hover:not([disabled]) {background-color:var(--sdt-today-bg, #286090);}.sdt-clear-btn.svelte-yheoi9 {border:1px solid var(--sdt-clear-color, #dc3545);background-color:var(--sdt-clear-bg, transparent);color:var(--sdt-clear-color, #dc3545);}.sdt-clear-btn.svelte-yheoi9:focus,
|
|
.sdt-clear-btn.svelte-yheoi9:active:not([disabled]),
|
|
.sdt-clear-btn.svelte-yheoi9:hover:not([disabled]) {background-color:var(--sdt-clear-hover-bg, #dc3545);color:var(--sdt-clear-hover-color, var(--sdt-bg-main, #fff));}.sdt-widget.svelte-yheoi9 + .sdt-widget:where(.svelte-yheoi9):before {content:'';position:absolute;top:0;bottom:0;left:50%;width:1px;background-color:#eee;}
|
|
@media screen and (max-width: 560px) {.sdt-calendar-wrap.is-range-wrap.svelte-yheoi9 {width:280px;}.sdt-widget-wrap.svelte-yheoi9 {flex-wrap:wrap;}.sdt-widget.svelte-yheoi9 + .sdt-widget:where(.svelte-yheoi9):before {content:none;}
|
|
}`};function uf(i,t){bt(t,!0),ir(i,Lb);let e=(et,gt)=>{let be=()=>gt?.().autocloseSupported,Ve=()=>gt?.().todayBtnClasses,wi=()=>gt?.().clearBtnClasses,Di=()=>gt?.().onCancel,ge=()=>gt?.().onConfirm,Wi=()=>gt?.().onClear,ze=()=>gt?.().onToday,lr=()=>gt?.().isTodayDisabled,$i=()=>gt?.().i18n,go=()=>gt?.().currentMode;var yi=$e(),Nn=Et(yi);{var Lr=Ln=>{var Bn=Ob(),ur=J(Bn);{var mo=y=>{var O=Eb(),$=J(O);$.__click=function(...K){Di()?.apply(this,K)};var C=J($,!0);W($);var H=F($,2);H.__click=function(...K){ge()?.apply(this,K)};var j=J(H,!0);W(H),W(O),ct(()=>{kt($,1,Ye(wi()),"svelte-yheoi9"),Wt(C,$i().cancelBtn),kt(H,1,Ye(Ve()),"svelte-yheoi9"),Wt(j,$i().okBtn)}),V(y,O)};pt(ur,y=>{be()||y(mo)})}var b=F(ur,2);{var T=y=>{var O=Cb(),$=J(O);{var C=K=>{var Y=Tb();Y.__click=function(...ht){ze()?.apply(this,ht)};var Z=J(Y,!0);W(Y),ct(()=>{kt(Y,1,Ye(Ve()),"svelte-yheoi9"),Y.disabled=lr(),Wt(Z,$i().todayBtn)}),V(K,Y)};pt($,K=>{I()&&go()==="date"&&K(C)})}var H=F($,2);{var j=K=>{var Y=Ab();Y.__click=function(...ht){Wi()?.apply(this,ht)};var Z=J(Y,!0);W(Y),ct(()=>{kt(Y,1,Ye(wi()),"svelte-yheoi9"),Wt(Z,$i().clearBtn)}),V(K,Y)};pt(H,K=>{R()&&K(j)})}W(O),V(y,O)};pt(b,y=>{(I()||R())&&y(T)})}W(Bn),V(Ln,Bn)};pt(Nn,Ln=>{be(),Ln(Lr)})}V(et,yi)},n=B(t,"inputId",3,""),r=B(t,"name",3,"date"),s=B(t,"disabled",3,!1),o=B(t,"placeholder",3,null),a=B(t,"required",3,!1),l=B(t,"value",15,null),u=B(t,"isRange",3,!1),f=B(t,"startDate",3,null),h=B(t,"endDate",3,null),c=B(t,"pickerOnly",3,!1),p=B(t,"startView",7,2),g=B(t,"mode",3,"auto"),m=B(t,"disableDatesFn",3,null),v=B(t,"manualInput",3,!1),_=B(t,"theme",19,()=>Je.theme),S=B(t,"format",19,()=>Je.format),k=B(t,"formatType",19,()=>Je.formatType),E=B(t,"displayFormat",19,()=>Je.displayFormat),M=B(t,"displayFormatType",19,()=>Je.displayFormatType),w=B(t,"minuteIncrement",19,()=>Je.minuteIncrement),x=B(t,"weekStart",19,()=>Je.weekStart),A=B(t,"inputClasses",19,()=>Je.inputClasses),D=B(t,"todayBtnClasses",19,()=>Je.todayBtnClasses),N=B(t,"clearBtnClasses",19,()=>Je.clearBtnClasses),I=B(t,"todayBtn",19,()=>Je.todayBtn),R=B(t,"clearBtn",19,()=>Je.clearBtn),z=B(t,"clearToggle",19,()=>Je.clearToggle),U=B(t,"autocommit",19,()=>Je.autocommit),tt=B(t,"hourOnly",19,()=>Je.hourOnly),rt=B(t,"i18n",19,()=>Je.i18n),At=B(t,"validatorAction",3,null),St=B(t,"ce_valueElement",7,null),mt=B(t,"ce_displayElement",7,null),Dt=B(t,"positionResolver",3,Yg),Bt=B(t,"actionRow",3,e);u()&&Array.isArray(l());let{iDates:wt,iValues:qt,iValueCombined:ee}=Kg(l(),S(),rt(),k()),Vt=ee,Tt=at(Rt(qt)),Nt=at(Rt(wt.map(et=>new fe(et)))),Xe=at(Rt(qt)),Jt=nt(()=>d(Tt).length?d(Tt).join(","):null),L=at(Rt(ye())),q=S(),lt=E(),st=at(null),zt=nt(()=>f()?as(f(),S(),rt(),k()):null),Mt=nt(()=>h()?new Date(as(h(),S(),rt(),k()).setSeconds(1)):null),vt=nt(()=>d(zt)&&d(zt)>new Date||d(Mt)&&d(Mt)<new Date),Ut=nt(()=>r().endsWith("]")?r().substring(0,r().length-1)+"_input]":r()+"_input"),oe=Jg(g(),S()),Yt=at(Rt(oe)),Lt=at(Rt(oe==="time"?"time":"date")),pe=Rt(u()?[{ref:null},{ref:null}]:[{ref:null}]),Q=at("date"),dt=nt(()=>U()&&(u()&&d(Yt)==="date"||!u())),ot=at(Rt(c())),Ft=at(Rt(c())),ae=c()?()=>({}):$r,gi=nt(()=>!!c()),mi=At()?At().shift():()=>{},Ae=At()||[],vi=nt(()=>c()?()=>{}:Dt()),bi=nt(()=>U()?!1:d(Tt).join()!==d(Xe).join()),Be;function ye(){return d(Nt).sort((et,gt)=>et.getTime()-gt.getTime()).map(et=>ro(et,E()||S(),rt(),M()||k())).join(" - ")}function Fe(){return u()?d(Tt).length===2?d(Tt):null:d(Tt)[0]||null}function He({type:et,date:gt,isKeyboard:be,dateIndex:Ve=0}){if(gt&&!u()&&d(Nt).length&&d(Nt)[0].getFullYear()===gt.getFullYear()&&d(Nt)[0].getMonth()===gt.getMonth()&&d(Nt)[0].getDate()===gt.getDate()&&d(Yt)==="date"&&!a()&&z()&&(gt=null),u()){if(et==="date")P(Nt,gt?(d(Nt).length===2?[new fe(gt)]:d(Nt).concat(new fe(gt))).map(wi=>wi.getTime()).sort().map(wi=>new fe(wi)):[],!0);else if(gt&&Ve!==void 0)d(Nt)[Ve]=new fe(gt);else if(et==="datetime")d(Nt)[0]=new fe(gt),d(Nt)[1]=new fe(gt);else throw new Error(`Unhandled event type: '${et}'`);P(Tt,d(Nt).map(wi=>ro(wi,S(),rt(),k())),!0)}else P(Nt,gt?[new fe(gt)]:[],!0),P(Tt,gt?[ro(gt,S(),rt(),k())]:[],!0);P(Q,et,!0),ve(et)&&Qe(),kn(et,be,Ve)}function ve(et){return!U()||u()&&d(Yt).includes("time")||u()&&(d(Yt)==="datetime"||d(Tt).length!==2)?!1:et==="minute"||et===d(Yt)||et==="hour"&&tt()||c()}function Qe(){Vt=d(Tt).join(),P(Xe,[...d(Tt)],!0),P(L,ye(),!0),l(Fe()),$u(!0),t.onChange?.(u()?d(Tt):d(Tt)[0]||null),t.onDateChange?.({value:u()?d(Tt):d(Tt)[0]||null,dateValue:u()?d(Nt):d(Nt)[0]||null,displayValue:d(L),valueFormat:S(),displayFormat:E(),event:d(Q)})}function _i(){p(2),d(Yt)==="datetime"?setTimeout(()=>{c()||P(Ft,!1),P(Lt,"date")},U()?300:0):c()||P(Ft,!1)}function kn(et,gt,be){if(gt&&Nr!=="Enter")return;if(et==="hour"&&!tt()){pe[be].ref.showMinuteView();return}let Ve=ve(et);if(d(Yt)==="datetime"&&!(et==="minute"&&!u()&&d(Yt)==="datetime"&&Ve)){et==="date"&&(u()&&d(Tt).length===2||!u())&&P(Lt,"time");return}Ve&&!gt&&_i()}function Oi(){let et=new Date;He({type:u()?"datetime":"date",dateIndex:0,date:new Date(et.getFullYear(),et.getMonth(),et.getDate(),0,0,0),isKeyboard:!1}),u()&&He({type:u()?"datetime":"date",dateIndex:1,date:new Date(et.getFullYear(),et.getMonth(),et.getDate(),23,59,59,999),isKeyboard:!1}),ve("date")===!1&&Qe(),d(Yt)==="date"&&_i()}function xe(){P(Nt,[],!0),P(Tt,[],!0),Vt=null,Qe()}function Pr(){let et=Array.isArray(l())?l().join():l()||null;(Vt!==et||U()===!1||u())&&Qe(),_i()}function on(){P(Tt,[...d(Xe)],!0),_i(),t.onCancel?.()}let Nr=null;function ps(et){if(d(Ft)||(["Backspace","Delete"].includes(et.key)&&!a()&&xe(),et.key==="Enter"&&gs()),!d(Ft)&&et.key!=="Tab"){P(Ft,et.key!=="Shift"),et.preventDefault();return}switch(Nr=et.key,et.key){case"PageDown":case"PageUp":case"ArrowDown":case"ArrowUp":case"ArrowLeft":case"ArrowRight":if(et.preventDefault(),u())return;d(Lt)==="date"?Be.handleGridNav(et.key,et.shiftKey):pe[0].ref.makeTick(["ArrowDown","ArrowLeft","PageDown"].includes(et.key)?-1:1);break;case"Escape":U()?xe():on();break;case"Backspace":if(v()&&!u())return;case"Delete":!a()&&xe();break;case"Enter":if(d(ot)&&et.preventDefault(),d(Tt).length===0){P(Ft,!1);return}if(d(Lt)==="time"&&d(Q)==="hour")return pe[0].ref.showMinuteView();if(d(Yt)==="datetime"&&d(Lt)!=="time"){P(Lt,"time");return}Pr();break;case"Tab":d(Ft)&&(P(Ft,!1),et.preventDefault());case"F5":break;default:!v()&&et.preventDefault()}}function fo(et){et.preventDefault(),et.stopPropagation();let gt=as(et.target.value,E()||S(),rt(),M()||k());ro(gt,E()||S(),rt(),M()||k())===et.target.value&&(He({type:"date",date:gt,isKeyboard:!0}),Be.focusDate(gt))}function Oa(et){p(2),P(Lt,et,!0)}let po=at(Rt(v()?"text":"none"));function Da(){v()&&d(ot)&&P(po,d(po)==="text"?"none":"text",!0),!d(Ft)&&gs()}function gs(){P(ot,!0),P(Ft,!0)}function $a(){P(ot,!1),d(dt)?Pr():on(),!mt()&&t.onBlur?.()}function $u(et){St()&&mt()&&(St().value=d(Tt).join(",")||"",mt().value=d(L),St().dispatchEvent(new Event("input")),mt().dispatchEvent(new Event("input"))),et&&t.onInput?.(d(Jt))}function Ru(et){P(st,et,!0)}rr(()=>{mt()&&(mt().onfocus=gs,mt().onblur=$a,mt().onclick=Da,mt().onkeydown=ps)});function Iu(et){let gt=Array.isArray(et)?et.join():et||null;Vt!==gt&&(P(Tt,et?Array.isArray(et)?et:[et]:[],!0),P(Nt,d(Tt).map(be=>new fe(as(be,S(),rt(),k()))),!0),P(Xe,d(Tt),!0),Vt=gt)}function Ra(et,gt){lt!==gt&&(lt=gt,P(L,ye(),!0)),q!==et&&d(Nt).length&&(q=et,P(Tt,d(Nt).map(be=>ro(be,et,rt(),k())),!0),Vt=d(Tt).join(),lt===null&<===gt&&P(L,ye(),!0),g()==="auto"&&(P(Yt,et.match(/g|hh?|ii?/i)&&et.match(/y|m|d/i)?"datetime":et.match(/g|hh?|ii?/i)?"time":"date",!0),d(Yt)==="time"&&d(Lt)!=="time"&&P(Lt,"time")),Qe())}Te(()=>Iu(l())),Te(()=>Ra(S(),E()));var ms=Nb();let Ia;var vs=J(ms);vs.__click=Da;var Pa=J(vs);{var Pu=et=>{var gt=$b(),be=Et(gt);nr(be);var Ve=F(be,2);{var wi=Di=>{var ge=Db();nr(ge);let Wi;ge.__input=function(...ze){(v()?fo:()=>{})?.apply(this,ze)},ge.__keydown=ps,au(ge,(ze,lr)=>mi?.(ze,lr),()=>Ae),ct(ze=>{It(ge,"id",n()),It(ge,"name",d(Ut)),Wi=kt(ge,1,Ye(A()),"svelte-yheoi9",Wi,ze),Or(ge,d(L)),It(ge,"placeholder",o()),ge.disabled=s(),ge.required=a(),It(ge,"inputmode",d(po)),ge.readOnly=d(ot)&&!v()&&!u()},[()=>({"value-dirty":d(bi)})]),Le("focus",ge,gs),Le("blur",ge,$a),V(Di,ge)};pt(Ve,Di=>{c()||Di(wi)})}ct(()=>{It(be,"name",r()),Or(be,l())}),V(et,gt)};pt(Pa,et=>{mt()||et(Pu)})}var Nu=F(Pa,2);Ai(Nu,()=>t.children??Se),W(vs);var Lu=F(vs,2);{var Bu=et=>{var gt=Pb();let be;gt.__mousedown=[Rb];var Ve=J(gt);Qt(Ve,21,()=>pe,se,(Di,ge,Wi)=>{var ze=Ib(),lr=J(ze);{var $i=yi=>{let Nn=nt(()=>d(Yt)?.includes("time")),Lr=nt(()=>p()>2?2:p());vn(Qc(yi,{wid:Wi,get dates(){return d(Nt)},get isRange(){return u()},get startDate(){return d(zt)},get endDate(){return d(Mt)},get enableTimeToggle(){return d(Nn)},get initialView(){return d(Lr)},get hoverDate(){return d(st)},get additionalDisableFn(){return m()},get i18n(){return rt()},get weekStart(){return x()},onupdate:He,onswitch:Oa,onhoverupdate:Ru}),Ln=>Be=Ln,()=>Be)},go=yi=>{let Nn=nt(()=>d(Nt)[Wi]||null),Lr=nt(()=>u()&&Wi===1?d(Nt)[0]:d(zt)),Ln=nt(()=>d(Yt)!=="time"),Bn=nt(()=>S().match(k()==="php"?"a|A":"p|P")!==null);vn(Zc(yi,{wid:Wi,get date(){return d(Nn)},get startDate(){return d(Lr)},get endDate(){return d(Mt)},get hasDateComponent(){return d(Ln)},get showMeridian(){return d(Bn)},get i18n(){return rt()},get minuteIncrement(){return w()},get hourOnly(){return tt()},onupdate:He,onswitch:Oa}),(ur,mo)=>mo.ref=ur,ur=>ur?.ref,()=>[d(ge)])};pt(lr,yi=>{d(Lt)==="date"?yi($i):yi(go,!1)})}W(ze),V(Di,ze)}),W(Ve);var wi=F(Ve,2);Ai(wi,Bt,()=>({autocloseSupported:d(dt),todayBtnClasses:D(),clearBtnClasses:N(),onCancel:on,onConfirm:Pr,onClear:xe,onToday:Oi,isTodayDisabled:d(vt),i18n:rt(),currentMode:d(Lt)})),W(gt),au(gt,Di=>d(vi)?.(Di)),ct(Di=>be=kt(gt,1,`sdt-calendar-wrap ${_()??""}`,"svelte-yheoi9",be,Di),[()=>({"is-popup":!d(gi),"is-range-wrap":u()})]),Ke(3,gt,()=>ae,()=>({duration:200})),V(et,gt)};pt(Lu,et=>{d(Ft)&&d(ot)&&et(Bu)})}W(ms),ct(et=>Ia=kt(ms,1,"sdt-component-wrap svelte-yheoi9",null,Ia,et),[()=>({"picker-active":d(Ft)})]),V(i,ms),_t()}jt(["click","input","keydown","mousedown"]);var Xg=uf;var Bb=G('<div class="cmtr-daterange-picker"><!></div>');function hf(i,t){bt(t,!0);var e=Bb(),n=J(e);Xg(n,{pickerOnly:!0,isRange:!0,autocommit:!1,mode:"datetime",get value(){return t.value},format:"yyyy-mm-dd hh:ii:00",onBlur:()=>t.onClose(null),onChange:r=>t.onClose(r)}),W(e),V(i,e),_t()}var Aa=class extends Qg.Modal{constructor(e,n,r){super(e.app);this.plugin=e;this.value=n;this.callback=r;this.contentEl.parentElement.addClass("cmtr-daterange-picker-modal")}view;async onOpen(){this.view=Dn(hf,{target:this.contentEl,props:{value:this.value?.map(e=>new Date(e*1e3).toISOString().split("T")[0]),onClose:async e=>{this.callback(e),super.close()}}})}onClose(){this.view&&er(this.view)}};var Zg=require("obsidian"),eL=require("@codemirror/search");var Fb=Object.values(he);function cf(i,t,e,n,r,s,o,a,l){if(!t)return[];let u=t;n!==0&&l&&(n===1?u=t.filter(([h,c])=>h.startsWith(l.parent?.path??"")):n===2&&(u=t.filter(([h,c])=>h===l.path)));let f=u.flatMap(([h,c])=>c.data.map(p=>({path:h,range:p})));return f=f.filter(h=>h.range.type!=="comment"||!h.range.attached_comment),r!==void 0&&r!==0&&(f=f.filter(h=>h.range.full_thread.some(c=>c.type===Fb[r-1]))),s!==0&&(f=f.filter(h=>h.range.full_thread.some(c=>s===1!==c.empty()))),i.settings.enable_metadata&&(i.settings.enable_author_metadata&&o!==0&&i.settings.author&&(o===1?f=f.filter(h=>h.range.full_thread.some(c=>c.fields.author===i.settings.author)):o===2&&(f=f.filter(h=>h.range.full_thread.some(c=>c.fields.author&&c.fields.author!==i.settings.author)))),i.settings.enable_timestamp_metadata&&a&&(a[0]&&a[1]?f=f.filter(h=>h.range.full_thread.some(c=>c.fields.time&&c.fields.time>=a[0]&&c.fields.time<=a[1])):a[0]?f=f.filter(h=>h.range.full_thread.some(c=>c.fields.time&&c.fields.time>=a[0])):a[1]&&(f=f.filter(h=>h.range.full_thread.some(c=>c.fields.time&&c.fields.time<=a[1]))))),e?.length&&(f=f.filter(h=>(0,Zg.prepareSimpleSearch)(e)(h.range.full_text)?.score)),f}async function Hb(i,t,e,n,r){i.key==="z"&&i.ctrlKey&&!i.shiftKey&&!i.altKey&&!i.metaKey?(i.preventDefault(),await Bh(t.plugin)):i.key==="a"&&i.ctrlKey&&!i.shiftKey&&!i.altKey&&!i.metaKey?(i.preventDefault(),P(e,[...d(n)],!0),P(r,0)):i.key==="Escape"&&(i.preventDefault(),P(e,[],!0),P(r,null))}async function Vb(i,t,e){P(t,[],!0),P(e,null)}var zb=(i,t,e)=>new Aa(t.plugin,e(),n=>{e(n?.map(r=>r?window.moment(r,"YYYY-MM-DD HH:mm:ss").unix():0))}).open(),Gb=(i,t)=>{i.preventDefault();let e=new Pn.Menu;e.addItem(n=>{n.setTitle("Clear date filter").setIcon("calendar-x").onClick(()=>{t(void 0)})}),e.addItem(n=>{n.setTitle("Filter to today").setIcon("calendar-days").onClick(()=>{let r=window.moment().startOf("day").unix();t([r,r+86400])})}),e.addItem(n=>{n.setTitle("Filter to this week").setIcon("calendar-range").onClick(()=>{let r=window.moment().startOf("day").unix();t([r-window.moment().day()*86400,r+(7-window.moment().day())*86400])})}),e.addItem(n=>{n.setTitle("Filter to this month").setIcon("calendar-clock").onClick(()=>{let r=window.moment().startOf("day").unix();t([r-window.moment().date()*86400,r+(window.moment().daysInMonth()-window.moment().date())*86400])})}),e.showAtMouseEvent(i)},qb=G('<button class="cmtr-view-action clickable-icon nav-action-button svelcomlib-icon-text" aria-label="Filter by date"><!></button>'),Wb=G("<!> <!>",1),Ub=G("<span> </span>"),jb=G('<div class="cmtr-view-search search-input-container"><!></div> <div class="cmtr-view-action-container"><!> <!> <!> <!> <!></div> <div class="cmtr-view-info"><span> </span> <!></div>',1),Yb=G('<div class="cmtr-view-container" tabindex="-1"><!></div>');function Ca(i,t){bt(t,!0);let e=B(t,"range_type_filter",23,()=>0),n=B(t,"location_filter",23,()=>0),r=B(t,"content_filter",23,()=>0),s=B(t,"author_filter",23,()=>0),o=B(t,"date_filter",7,void 0),a=at(""),l=at(null),u=t.plugin.app.workspace.on("layout-change",()=>{P(l,t.plugin.app.workspace.getActiveFile(),!0)}),f=at(!1),h=at(Rt([])),c=at(Rt([])),p=at(null),g=[{icon:"asterisk",tooltip:"All markup",value:0},{icon:"plus-circle",tooltip:"Addition markup",value:1},{icon:"minus-square",tooltip:"Deletion markup",value:2},{icon:"replace",tooltip:"Substitution markup",value:3},{icon:"highlighter",tooltip:"Highlight markup",value:4},{icon:"message-square",tooltip:"Comment markup",value:5}],m=["suggestions","insertions","deletions","replacements","highlights","comments"],v=[{icon:"vault",tooltip:"Entire vault",value:0},{icon:"folder-closed",tooltip:"Current folder",value:1},{icon:"file",tooltip:"Current file",value:2}],_=[{icon:"maximize",tooltip:"All suggestions",value:0},{icon:"square",tooltip:"Suggestions with content",value:1},{icon:"box-select",tooltip:"Empty suggestions",value:2}],S=[{icon:"users",tooltip:"All suggestions",value:0},{icon:"user",tooltip:"Own suggestions",value:1},{icon:"user-x",tooltip:"Others' suggestions",value:2}];rr(()=>{t.plugin.database.on("database-update",D=>{P(h,D,!0)}),P(h,t.plugin.database.allEntries(),!0)}),ug(()=>{t.plugin.app.workspace.offref(u)});let k=nt(()=>cf(t.plugin,d(h),d(a),n(),e(),r(),s(),o(),d(l))),E=nt(()=>`${d(k).length} ${m[e()]} in the ${v[d(l)?n():0].tooltip.toLowerCase()}`),M=(0,Pn.debounce)(cf,500),w=(0,Pn.debounce)(()=>{t.sync_props({range_type_filter:e(),location_filter:n(),content_filter:r(),author_filter:s(),date_filter:o(),search_filter:d(a)}),t.plugin.app.workspace.requestSaveLayout()},2500);Te(()=>{e(),n(),r(),s(),o(),w()}),Te(()=>{d(k),P(c,[],!0),P(p,null)});async function x(D,N,I){if(D.stopPropagation(),D.shiftKey)d(p)?P(c,[...d(k)].slice(Math.min(d(p),I),Math.max(d(p),I)+1),!0):(P(c,[d(k)[I]],!0),P(p,I,!0));else if(D.ctrlKey||D.metaKey){P(p,I,!0);let R=d(c).length,z=d(k)[I];P(c,d(c).filter(U=>!(U.path===z.path&&U.range===z.range)),!0),d(c).length===R&&P(c,[...d(c),z],!0)}}async function A(D,N,I){D.stopPropagation(),P(c,[],!0),await Dl(t.plugin,N)}_a(i,{header:I=>{ba(I,{container:z=>{var U=jb(),tt=Et(U),rt=J(tt);rs(rt,{get value(){return d(a)},type:"text",enterkeyhint:"search",placeholder:"Search...",spellcheck:!1,onChange:Jt=>{P(a,Jt,!0),M()}}),W(tt);var At=F(tt,2),St=J(At);Dr(St,{onContextMenu:Jt=>{let L=new Pn.Menu;g.map((q,lt)=>{L.addItem(st=>{st.setTitle(q.tooltip).setIcon(q.icon).onClick(()=>{e(lt)})})}),L.showAtMouseEvent(Jt)},class:"cmtr-view-action clickable-icon nav-action-button",states:g,get value(){return e()},set value(Jt){e(Jt)}});var mt=F(St,2);Dr(mt,{onContextMenu:Jt=>{let L=new Pn.Menu;v.map((q,lt)=>{L.addItem(st=>{st.setTitle(q.tooltip).setIcon(q.icon).onClick(()=>{n(lt)})})}),L.showAtMouseEvent(Jt)},class:"cmtr-view-action clickable-icon nav-action-button",states:v,get value(){return n()},set value(Jt){n(Jt)}});var Dt=F(mt,2);Dr(Dt,{onContextMenu:Jt=>{let L=new Pn.Menu;_.map((q,lt)=>{L.addItem(st=>{st.setTitle(q.tooltip).setIcon(q.icon).onClick(()=>{r(lt)})})}),L.showAtMouseEvent(Jt)},class:"cmtr-view-action clickable-icon nav-action-button",states:_,get value(){return r()},set value(Jt){r(Jt)}});var Bt=F(Dt,2);{var wt=Jt=>{var L=Wb(),q=Et(L);{var lt=Mt=>{Dr(Mt,{onContextMenu:vt=>{let Ut=new Pn.Menu;S.map((oe,Yt)=>{Ut.addItem(Lt=>{Lt.setTitle(oe.tooltip).setIcon(oe.icon).onClick(()=>{s(Yt)})})}),Ut.showAtMouseEvent(vt)},class:"cmtr-view-action clickable-icon nav-action-button",states:S,get value(){return s()},set value(vt){s(vt)}})};pt(q,Mt=>{t.plugin.settings.enable_author_metadata&&Mt(lt)})}var st=F(q,2);{var zt=Mt=>{var vt=qb();vt.__click=[zb,t,o],vt.__contextmenu=[Gb,o];var Ut=J(vt);ai(Ut,{icon:"calendar"}),W(vt),V(Mt,vt)};pt(st,Mt=>{t.plugin.settings.enable_timestamp_metadata&&Mt(zt)})}V(Jt,L)};pt(Bt,Jt=>{t.plugin.settings.enable_metadata&&Jt(wt)})}var qt=F(Bt,2);pi(qt,{class:"clickable-icon nav-action-button cmtr-view-action",icon:"more-vertical",tooltip:"More options",onClick:Jt=>{mr(!0);let L=new Pn.Menu;L.addItem(q=>{q.setTitle("Clear filters").setIcon("filter-x").setSection("filter-actions").onClick(()=>{e(0),n(0),r(0),s(0),o(void 0),P(a,"")})}),L.addItem(q=>{let lt=q.setTitle("Filter by author").setIcon("user-search").setSection("filter-actions").setSubmenu();sl(lt,s(),S,st=>{s(st)})}),L.addItem(q=>{let lt=q.setTitle("Filter by type").setIcon("space").setSection("filter-actions").setSubmenu();sl(lt,e(),g,st=>{e(st)})}),L.addItem(q=>{let lt=q.setTitle("Filter by location").setIcon("locate").setSection("filter-actions").setSubmenu();sl(lt,n(),v,st=>{n(st)})}),L.addItem(q=>{q.setTitle("Filter by date").setIcon("calendar").setSection("filter-actions").onClick(()=>{new Aa(t.plugin,o(),lt=>{o(lt?.map(st=>st?window.moment(st,"YYYY-MM-DD HH:mm:ss").unix():0))}).open()})}),L.addItem(q=>{q.setTitle("Select all").setIcon("circle").setSection("selection-actions").onClick(async()=>{P(c,[...d(k)],!0),P(p,0)})}),L.addItem(q=>{q.setTitle("Clear selection").setIcon("circle-dashed").setSection("selection-actions").onClick(()=>{P(c,[],!0),P(p,null)})}),L.addItem(q=>{q.setTitle("Invert selection").setIcon("circle-alert").setSection("selection-actions").onClick(()=>{let lt=[...d(c)].sort((Mt,vt)=>{Mt.range.from-vt.range.from}),st=[],zt=0;for(let[Mt,vt]of d(k).entries())zt<lt.length&&vt.path===lt[zt].path&&vt.range.from===lt[zt].range.from?zt++:st.push(vt);P(c,st,!0),P(p,null)})}),L.addItem(q=>{q.setTitle("Undo change").setIcon("undo").setSection("history-actions").setDisabled(!t.plugin.file_history.length).onClick(()=>{Bh(t.plugin)})}),L.showAtMouseEvent(Jt)}}),W(At);var ee=F(At,2),Vt=J(ee),Tt=J(Vt,!0);W(Vt);var Nt=F(Vt,2);{var Xe=Jt=>{var L=Ub(),q=J(L);W(L),ct(()=>Wt(q,`\xB7 ${d(c).length??""} selected`)),V(Jt,L)};pt(Nt,Jt=>{d(c).length&&Jt(Xe)})}W(ee),ct(()=>Wt(Tt,d(E))),V(z,U)},$$slots:{container:!0}})},view:I=>{var R=Yb();R.__click=[Vb,c,p],R.__keydown=[Hb,t,c,k,p];var z=J(R);va(z,{get items(){return d(k)},item:(tt,rt=Se,At=Se)=>{Jc(tt,{get plugin(){return t.plugin},get selected_ranges(){return d(c)},get row(){return rt()},get index(){return At()},onClick:x,onDblClick:A,get menu_open(){return d(f)},set menu_open(St){P(f,St,!0)}})},$$slots:{item:!0}}),W(R),V(I,R)},$$slots:{header:!0,view:!0}}),_t()}jt(["click","contextmenu","keydown"]);var Au=class extends tm.PluginSettingTab{plugin;view=null;constructor(t,e){super(t,e),this.plugin=e}display(){let{containerEl:t}=this;t.empty(),this.view=Dn(ya,{target:this.containerEl,props:{plugin:this.plugin}})}hide(){super.hide(),this.view&&er(this.view)}};var em=require("obsidian");var uo="commentator-annotations-view",Cu=class extends em.ItemView{constructor(t,e){super(t),this.plugin=e,this.props.plugin=e}view=null;#t=at(Rt({plugin:void 0,range_type_filter:void 0,location_filter:void 0,content_filter:void 0,author_filter:void 0,date_filter:void 0}));get props(){return d(this.#t)}set props(t){P(this.#t,t,!0)}async onOpen(){this.containerEl.empty(),this.containerEl.classList.add("cmtr-view")}async onClose(){this.view&&await er(this.view),this.containerEl.detach()}getViewType(){return uo}getDisplayText(){return"Vault suggestions and comments"}getIcon(){return"message-square"}getState(){let{plugin:t,...e}=this.props;return{...super.getState(),...e}}async setState(t,e){this.props.range_type_filter=t.range_type_filter||0,this.props.location_filter=t.location_filter||0,this.props.content_filter=t.content_filter||0,this.props.author_filter=t.author_filter||0,this.props.date_filter=t.date_filter||void 0,this.view||(this.props.plugin=this.plugin,this.view=Dn(Ca,{target:this.containerEl,props:{...this.props,sync_props:n=>{for(let[r,s]of Object.entries(n))this.props[r]=s}}})),await super.setState(t,e)}};var RL=require("@codemirror/state"),ff=require("obsidian");function Ou(i,t,e){let n=i.findIndex(r=>r?.compartment===t);i[n]=i[n].compartment.of(e)}function im(i,t){i.workspace.iterateAllLeaves(e=>{e.view instanceof ff.MarkdownView&&e.view.currentMode.type==="source"&&t(e.view.editor.cm)})}function ho(i,t){for(let e of i.workspace.getLeavesOfType("markdown"))e.view instanceof ff.MarkdownView&&e.view.currentMode.type==="source"&&e.view.editor.cm.dispatch({annotations:[t]})}var Du=class extends xn.Plugin{editorExtensions=[];settings=Ps;previous_settings={};changed_settings={};previewModeHeaderButton;editModeHeaderModeButton;previewModeStatusBarButton;editModeStatusBarButton;metadataStatusBarButton;defaultEditModeExtension=[];settings_tab="general";database=new zo(this,"commentator/cache","Commentator cache",Wf,"Vault-wide cache for Commentator plugin",()=>[],async(t,e)=>e?e.field(Pt).ranges.ranges:Lo(await this.app.vault.cachedRead(t),this.settings),this.settings.database_workers,t=>t.map(e=>Object.setPrototypeOf(e,Bo[e.type].prototype)),()=>this.settings);file_history=[];postProcessor;annotation_gutter_config=void 0;loadEditorExtensions(){if(this.editorExtensions.length=0,this.editorExtensions.push(Do),this.editorExtensions.push(co.Prec.highest(_h)),this.editorExtensions.push(Nh(this.settings)),this.editorExtensions.push(co.Prec.highest(ch)),this.editorExtensions.push(Ts.of(dr(this.settings.default_edit_mode,this.settings))),this.editorExtensions.push(Pt),this.settings.annotation_gutter){let t=rd(this);this.annotation_gutter_config=t[1][1].value,this.editorExtensions.push(Sl.of(co.Prec.low(t)))}this.settings.live_preview&&this.editorExtensions.push(co.Prec.low(xh(this.settings))),this.settings.diff_gutter&&this.editorExtensions.push(co.Prec.low(El.of(ud))),this.settings.tag_completion&&this.editorExtensions.push(Ih),this.settings.tag_correcter&&this.editorExtensions.push(Ph),this.editorExtensions.push(Lh(this)),this.editorExtensions.push(nm.EditorView.domEventHandlers({copy:Md.bind(null,this.settings)})),this.editorExtensions.push(Ms.of(qe.of(this.settings.default_preview_mode))),this.editorExtensions.push(Es.of(xi.of(this.settings.default_edit_mode))),this.editorExtensions.push(Ss.of(an.of(this.settings.annotation_gutter_included_types))),this.register(Kf((t,e)=>{this.settings.annotation_gutter&&t.editMode.annotationGutterWidth===void 0&&(t.editMode.annotationGutterWidth=e.annotationGutterWidth??this.settings.annotation_gutter_width,t.editMode.annotationGutterFolded=e.annotationGutterFolded??this.settings.annotation_gutter_default_fold_state)},(t,e)=>{if(this.settings.annotation_gutter){let n=t.editMode.cm.plugin(kl)?.gutters[0];n&&(t.editMode.annotationGutterWidth=n.width,t.editMode.annotationGutterFolded=n.folded),e.annotationGutterFolded=t.editMode.annotationGutterFolded,e.annotationGutterWidth=t.editMode.annotationGutterWidth}},t=>{this.annotation_gutter_config!==void 0&&(this.annotation_gutter_config.width=t.editMode.annotationGutterWidth,this.annotation_gutter_config.foldState=t.editMode.annotationGutterFolded)}))}async updateEditorExtension(){Object.keys(this.changed_settings).some(t=>Uf.has(t))?(this.loadEditorExtensions(),this.app.workspace.updateOptions(),this.settings.post_processor&&tc(this.app)):Object.keys(this.changed_settings).some(t=>jf.has(t))&&im(this.app,t=>{t.dispatch(t.state.update({effects:As.of(!0)}))})}async onload(){this.registerView(uo,t=>new Cu(t,this)),await this.migrateSettings(await this.loadData()),this.defaultEditModeExtension=dr(this.settings.default_edit_mode,this.settings),this.addSettingTab(new Au(this.app,this)),this.loadEditorExtensions(),this.registerEditorExtension(this.editorExtensions),this.app.workspace.onLayoutReady(()=>{this.previewModeHeaderButton=Wd(this,this.settings.toolbar_preview_button),this.editModeHeaderModeButton=Ud(this,this.settings.toolbar_edit_button)}),this.previewModeStatusBarButton=zd(this,this.settings.status_bar_preview_button),this.editModeStatusBarButton=Gd(this,this.settings.status_bar_edit_button),this.metadataStatusBarButton=qd(this,this.settings.status_bar_metadata_button),this.settings.post_processor&&(this.postProcessor=this.registerMarkdownPostProcessor(async(t,e)=>Bl(t,e,this),-99999),Fl(this.app)),this.registerEvent(gd(this)),this.registerEvent(md(this));for(let t of fd(this))this.addCommand(t);this.register(Jf(this,"commentator",()=>this.database.dropDatabase()))}async migrateSettings(t){let e=this.settings;if(this.settings=Object.assign({},Ps,t),this.previous_settings=Object.assign({},e,this.settings),t===null)await this.setSettings();else{let n=t?.version;try{if(n!==Ps.version){if(n||this.app.workspace.onLayoutReady(async()=>{new xn.Notice("Commentator: rebuilding database for new version",5e3),new xn.Notice("Commentator: metadata and replies features are now available, you can opt-in to these features in the settings",0)}),n.localeCompare("0.2.3",void 0,{numeric:!0})<0&&t.suggestion_gutter_hide_empty){let r=[["suggestion_gutter","diff_gutter"],["suggestion_gutter_hide_empty","diff_gutter_hide_empty"],["comment_gutter_default_fold_state","annotation_gutter_default_fold_state"],["comment_gutter_fold_button","annotation_gutter_fold_button"],["comment_gutter_resize_handle","annotation_gutter_resize_handle"],["comment_gutter_width","annotation_gutter_width"],["comment_gutter_hide_empty","annotation_gutter_hide_empty"]];for(let[s,o]of r)s in this.settings&&(this.settings[o]=this.settings[s],delete this.settings[s]);this.settings.comment_style==="block"&&(this.settings.comment_style="icon",this.settings.annotation_gutter=!0)}this.settings.version=Ps.version,await this.setSettings()}}catch{new xn.Notice("Commentator: Migration to new settings failed, using the default settings provided by the plugin",0)}}}async onExternalSettingsChange(){await this.migrateSettings(await this.loadData())}async onunload(){this.previewModeHeaderButton.detachButtons(),this.editModeHeaderModeButton.detachButtons(),xn.MarkdownPreviewRenderer.unregisterPostProcessor(this.postProcessor),this.database.unload()}async loadSettings(){this.settings=Object.assign({},Ps,await this.loadData())}async setSettings(){await this.saveData(this.settings),this.changed_settings=hd(this.settings,this.previous_settings),this.previous_settings=Object.assign({},this.settings)}async saveSettings(){await this.setSettings(),this.previewModeHeaderButton.setLabelRendering(this.changed_settings.toolbar_show_buttons_labels),this.editModeHeaderModeButton.setLabelRendering(this.changed_settings.toolbar_show_buttons_labels),this.previewModeHeaderButton.setRendering(this.changed_settings.toolbar_preview_button),this.editModeHeaderModeButton.setRendering(this.changed_settings.toolbar_edit_button),this.previewModeStatusBarButton.setRendering(this.changed_settings.status_bar_preview_button),this.editModeStatusBarButton.setRendering(this.changed_settings.status_bar_edit_button),this.metadataStatusBarButton.setRendering(this.changed_settings.status_bar_metadata_button),this.changed_settings.post_processor!==void 0&&(this.changed_settings.post_processor?this.postProcessor=this.registerMarkdownPostProcessor((t,e)=>Bl(t,e,this),-99999):xn.MarkdownPreviewRenderer.unregisterPostProcessor(this.postProcessor),Fl(this.app)),this.changed_settings.annotation_gutter_width!==void 0&&ho(this.app,_l.of(this.settings.annotation_gutter_width)),this.changed_settings.annotation_gutter_hide_empty!==void 0&&ho(this.app,wl.of(this.settings.annotation_gutter_hide_empty)),this.changed_settings.diff_gutter_hide_empty!==void 0&&ho(this.app,Ml.of(this.settings.diff_gutter_hide_empty)),this.changed_settings.annotation_gutter_fold_button!==void 0&&ho(this.app,yl.of(this.settings.annotation_gutter_fold_button)),this.changed_settings.annotation_gutter_resize_handle!==void 0&&ho(this.app,xl.of(this.settings.annotation_gutter_resize_handle)),this.changed_settings.default_preview_mode!==void 0&&Ou(this.editorExtensions,Ms,qe.of(this.settings.default_preview_mode)),this.changed_settings.default_edit_mode!==void 0&&(Ou(this.editorExtensions,Ts,dr(this.settings.default_edit_mode,this.settings)),Ou(this.editorExtensions,Es,xi.of(this.settings.default_edit_mode))),await this.updateEditorExtension(),Object.keys(this.changed_settings).some(t=>Yf.has(t))&&await this.database.reinitializeDatabase()}async setSetting(t,e){this.settings[t]=e,await this.saveSettings()}async activateView(){this.app.workspace.detachLeavesOfType(uo),await this.app.workspace.getRightLeaf(!1).setViewState({type:uo,active:!0}),await this.app.workspace.revealLeaf(this.app.workspace.getLeavesOfType(uo)[0])}setEditMode(t,e){t&&t.editor&&(t.editor.cm.dispatch(t.editor.cm.state.update({effects:[Ts.reconfigure(dr(e,this.settings)),Es.reconfigure(xi.of(e))]})),this.editModeStatusBarButton.updateButton(e),this.editModeHeaderModeButton.updateButton(t,e))}setPreviewMode(t,e){t&&t instanceof xn.MarkdownView&&(t.editor&&t.editor.cm.dispatch(t.editor.cm.state.update({effects:[Ms.reconfigure(qe.of(e))]})),t.previewMode&&t.previewMode.rerender(!0),this.previewModeStatusBarButton.updateButton(e),this.previewModeHeaderButton.updateButton(t,e))}};
|
|
/*! Bundled license information:
|
|
|
|
localforage/dist/localforage.js:
|
|
(*!
|
|
localForage -- Offline Storage, Improved
|
|
Version 1.10.0
|
|
https://localforage.github.io/localForage
|
|
(c) 2013-2017 Mozilla, Apache License 2.0
|
|
*)
|
|
*/
|