From 196c80410e40a82dfe00e105eb279e53da520460 Mon Sep 17 00:00:00 2001 From: junkfix <165699921+junkfix@users.noreply.github.com> Date: Thu, 9 Jul 2026 03:12:40 +0100 Subject: [PATCH 1/3] Add files via upload --- custom_components/file_shell/www/codemirror.min.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/custom_components/file_shell/www/codemirror.min.js b/custom_components/file_shell/www/codemirror.min.js index de23b95..e485f89 100644 --- a/custom_components/file_shell/www/codemirror.min.js +++ b/custom_components/file_shell/www/codemirror.min.js @@ -1 +1 @@ -!function(){"use strict";let e=[],t=[];function i(i){if(i<768)return!1;for(let O=0,n=e.length;;){let r=O+n>>1;if(i=t[r]))return!0;O=r+1}if(O==n)return!1}}function O(e){return e>=127462&&e<=127487}function n(e,t,i=!0,O=!0){return(i?r:s)(e,t,O)}function r(e,t,n){if(t==e.length)return t;t&&a(e.charCodeAt(t))&&l(e.charCodeAt(t-1))&&t--;let r=o(e,t);for(t+=h(r);t=0&&O(o(e,n));)i++,n-=2;if(i%2==0)break;t+=2}}}return t}function s(e,t,i){for(;t>0;){let O=r(e,t-2,i);if(O=56320&&e<57344}function l(e){return e>=55296&&e<56320}function h(e){return e<65536?1:2}(()=>{let i="lc,34,7n,7,7b,19,,,,2,,2,,,20,b,1c,l,g,,2t,7,2,6,2,2,,4,z,,u,r,2j,b,1m,9,9,,o,4,,9,,3,,5,17,3,3b,f,,w,1j,,,,4,8,4,,3,7,a,2,t,,1m,,,,2,4,8,,9,,a,2,q,,2,2,1l,,4,2,4,2,2,3,3,,u,2,3,,b,2,1l,,4,5,,2,4,,k,2,m,6,,,1m,,,2,,4,8,,7,3,a,2,u,,1n,,,,c,,9,,14,,3,,1l,3,5,3,,4,7,2,b,2,t,,1m,,2,,2,,3,,5,2,7,2,b,2,s,2,1l,2,,,2,4,8,,9,,a,2,t,,20,,4,,2,3,,,8,,29,,2,7,c,8,2q,,2,9,b,6,22,2,r,,,,,,1j,e,,5,,2,5,b,,10,9,,2u,4,,6,,2,2,2,p,2,4,3,g,4,d,,2,2,6,,f,,jj,3,qa,3,t,3,t,2,u,2,1s,2,,7,8,,2,b,9,,19,3,3b,2,y,,3a,3,4,2,9,,6,3,63,2,2,,1m,,,7,,,,,2,8,6,a,2,,1c,h,1r,4,1c,7,,,5,,14,9,c,2,w,4,2,2,,3,1k,,,2,3,,,3,1m,8,2,2,48,3,,d,,7,4,,6,,3,2,5i,1m,,5,ek,,5f,x,2da,3,3x,,2o,w,fe,6,2x,2,n9w,4,,a,w,2,28,2,7k,,3,,4,,p,2,5,,47,2,q,i,d,,12,8,p,b,1a,3,1c,,2,4,2,2,13,,1v,6,2,2,2,2,c,,8,,1b,,1f,,,3,2,2,5,2,,,16,2,8,,6m,,2,,4,,fn4,,kh,g,g,g,a6,2,gt,,6a,,45,5,1ae,3,,2,5,4,14,3,4,,4l,2,fx,4,ar,2,49,b,4w,,1i,f,1k,3,1d,4,2,2,1x,3,10,5,,8,1q,,c,2,1g,9,a,4,2,,2n,3,2,,,2,6,,4g,,3,8,l,2,1l,2,,,,,m,,e,7,3,5,5f,8,2,3,,,n,,29,,2,6,,,2,,,2,,2,6j,,2,4,6,2,,2,r,2,2d,8,2,,,2,2y,,,,2,6,,,2t,3,2,4,,5,77,9,,2,6t,,a,2,,,4,,40,4,2,2,4,,w,a,14,6,2,4,8,,9,6,2,3,1a,d,,2,ba,7,,6,,,2a,m,2,7,,2,,2,3e,6,3,,,2,,7,,,20,2,3,,,,9n,2,f0b,5,1n,7,t4,,1r,4,29,,f5k,2,43q,,,3,4,5,8,8,2,7,u,4,44,3,1iz,1j,4,1e,8,,e,,m,5,,f,11s,7,,h,2,7,,2,,5,79,7,c5,4,15s,7,31,7,240,5,gx7k,2o,3k,6o".split(",").map(e=>e?parseInt(e,36):1);for(let O=0,n=0;Othis.length)throw new RangeError(`Invalid position ${e} in document of length ${this.length}`);return this.lineInner(e,!1,1,0)}line(e){if(e<1||e>this.lines)throw new RangeError(`Invalid line number ${e} in ${this.lines}-line document`);return this.lineInner(e,!0,1,0)}replace(e,t,i){[e,t]=S(this,e,t);let O=[];return this.decompose(0,e,O,2),i.length&&i.decompose(0,i.length,O,3),this.decompose(t,this.length,O,1),u.from(O,this.length-(t-e)+i.length)}append(e){return this.replace(this.length,this.length,e)}slice(e,t=this.length){[e,t]=S(this,e,t);let i=[];return this.decompose(e,t,i,0),u.from(i,t-e)}eq(e){if(e==this)return!0;if(e.length!=this.length||e.lines!=this.lines)return!1;let t=this.scanIdentical(e,1),i=this.length-this.scanIdentical(e,-1),O=new p(this),n=new p(e);for(let e=t,r=t;;){if(O.next(e),n.next(e),e=0,O.lineBreak!=n.lineBreak||O.done!=n.done||O.value!=n.value)return!1;if(r+=O.value.length,O.done||r>=i)return!0}}iter(e=1){return new p(this,e)}iterRange(e,t=this.length){return new Q(this,e,t)}iterLines(e,t){let i;if(null==e)i=this.iter();else{null==t&&(t=this.lines+1);let O=this.line(e).from;i=this.iterRange(O,Math.max(O,t==this.lines+1?this.length:t<=1?0:this.line(t-1).to))}return new m(i)}toString(){return this.sliceString(0)}toJSON(){let e=[];return this.flatten(e),e}constructor(){}static of(e){if(0==e.length)throw new RangeError("A document must have at least one line");return 1!=e.length||e[0]?e.length<=32?new d(e):u.from(d.split(e,[])):c.empty}}class d extends c{constructor(e,t=function(e){let t=-1;for(let i of e)t+=i.length+1;return t}(e)){super(),this.text=e,this.length=t}get lines(){return this.text.length}get children(){return null}lineInner(e,t,i,O){for(let n=0;;n++){let r=this.text[n],s=O+r.length;if((t?i:s)>=e)return new g(O,s,i,r);O=s+1,i++}}decompose(e,t,i,O){let n=e<=0&&t>=this.length?this:new d(f(this.text,e,t),Math.min(t,this.length)-Math.max(0,e));if(1&O){let e=i.pop(),t=$(n.text,e.text.slice(),0,n.length);if(t.length<=32)i.push(new d(t,e.length+n.length));else{let e=t.length>>1;i.push(new d(t.slice(0,e)),new d(t.slice(e)))}}else i.push(n)}replace(e,t,i){if(!(i instanceof d))return super.replace(e,t,i);[e,t]=S(this,e,t);let O=$(this.text,$(i.text,f(this.text,0,e)),t),n=this.length+i.length-(t-e);return O.length<=32?new d(O,n):u.from(d.split(O,[]),n)}sliceString(e,t=this.length,i="\n"){[e,t]=S(this,e,t);let O="";for(let n=0,r=0;n<=t&&re&&r&&(O+=i),en&&(O+=s.slice(Math.max(0,e-n),t-n)),n=o+1}return O}flatten(e){for(let t of this.text)e.push(t)}scanIdentical(){return 0}static split(e,t){let i=[],O=-1;for(let n of e)i.push(n),O+=n.length+1,32==i.length&&(t.push(new d(i,O)),i=[],O=-1);return O>-1&&t.push(new d(i,O)),t}}class u extends c{constructor(e,t){super(),this.children=e,this.length=t,this.lines=0;for(let t of e)this.lines+=t.lines}lineInner(e,t,i,O){for(let n=0;;n++){let r=this.children[n],s=O+r.length,o=i+r.lines-1;if((t?o:s)>=e)return r.lineInner(e,t,i,O);O=s+1,i=o+1}}decompose(e,t,i,O){for(let n=0,r=0;r<=t&&n=r){let n=O&((r<=e?1:0)|(o>=t?2:0));r>=e&&o<=t&&!n?i.push(s):s.decompose(e-r,t-r,i,n)}r=o+1}}replace(e,t,i){if([e,t]=S(this,e,t),i.lines=n&&t<=s){let o=r.replace(e-n,t-n,i),a=this.lines-r.lines+o.lines;if(o.lines>4&&o.lines>a>>6){let n=this.children.slice();return n[O]=o,new u(n,this.length-(t-e)+i.length)}return super.replace(n,s,o)}n=s+1}return super.replace(e,t,i)}sliceString(e,t=this.length,i="\n"){[e,t]=S(this,e,t);let O="";for(let n=0,r=0;ne&&n&&(O+=i),er&&(O+=s.sliceString(e-r,t-r,i)),r=o+1}return O}flatten(e){for(let t of this.children)t.flatten(e)}scanIdentical(e,t){if(!(e instanceof u))return 0;let i=0,[O,n,r,s]=t>0?[0,0,this.children.length,e.children.length]:[this.children.length-1,e.children.length-1,-1,-1];for(;;O+=t,n+=t){if(O==r||n==s)return i;let o=this.children[O],a=e.children[n];if(o!=a)return i+o.scanIdentical(a,t);i+=o.length+1}}static from(e,t=e.reduce((e,t)=>e+t.length+1,-1)){let i=0;for(let t of e)i+=t.lines;if(i<32){let i=[];for(let t of e)t.flatten(i);return new d(i,t)}let O=Math.max(32,i>>5),n=O<<1,r=O>>1,s=[],o=0,a=-1,l=[];function h(e){let t;if(e.lines>n&&e instanceof u)for(let t of e.children)h(t);else e.lines>r&&(o>r||!o)?(c(),s.push(e)):e instanceof d&&o&&(t=l[l.length-1])instanceof d&&e.lines+t.lines<=32?(o+=e.lines,a+=e.length+1,l[l.length-1]=new d(t.text.concat(e.text),t.length+1+e.length)):(o+e.lines>O&&c(),o+=e.lines,a+=e.length+1,l.push(e))}function c(){0!=o&&(s.push(1==l.length?l[0]:u.from(l,a)),a=-1,o=l.length=0)}for(let t of e)h(t);return c(),1==s.length?s[0]:new u(s,t)}}function $(e,t,i=0,O=1e9){for(let n=0,r=0,s=!0;r=i&&(a>O&&(o=o.slice(0,O-n)),n0?1:(e instanceof d?e.text.length:e.children.length)<<1]}nextInner(e,t){for(this.done=this.lineBreak=!1;;){let i=this.nodes.length-1,O=this.nodes[i],n=this.offsets[i],r=n>>1,s=O instanceof d?O.text.length:O.children.length;if(r==(t>0?s:0)){if(0==i)return this.done=!0,this.value="",this;t>0&&this.offsets[i-1]++,this.nodes.pop(),this.offsets.pop()}else if((1&n)==(t>0?0:1)){if(this.offsets[i]+=t,0==e)return this.lineBreak=!0,this.value="\n",this;e--}else if(O instanceof d){let n=O.text[r+(t<0?-1:0)];if(this.offsets[i]+=t,n.length>Math.max(0,e))return this.value=0==e?n:t>0?n.slice(e):n.slice(0,n.length-e),this;e-=n.length}else{let n=O.children[r+(t<0?-1:0)];e>n.length?(e-=n.length,this.offsets[i]+=t):(t<0&&this.offsets[i]--,this.nodes.push(n),this.offsets.push(t>0?1:(n instanceof d?n.text.length:n.children.length)<<1))}}}next(e=0){return e<0&&(this.nextInner(-e,-this.dir),e=this.value.length),this.nextInner(e,this.dir)}}class Q{constructor(e,t,i){this.value="",this.done=!1,this.cursor=new p(e,t>i?-1:1),this.pos=t>i?e.length:0,this.from=Math.min(t,i),this.to=Math.max(t,i)}nextInner(e,t){if(t<0?this.pos<=this.from:this.pos>=this.to)return this.value="",this.done=!0,this;e+=Math.max(0,t<0?this.pos-this.to:this.from-this.pos);let i=t<0?this.pos-this.from:this.to-this.pos;e>i&&(e=i),i-=e;let{value:O}=this.cursor.next(e);return this.pos+=(O.length+e)*t,this.value=O.length<=i?O:t<0?O.slice(O.length-i):O.slice(0,i),this.done=!this.value,this}next(e=0){return e<0?e=Math.max(e,this.from-this.pos):e>0&&(e=Math.min(e,this.to-this.pos)),this.nextInner(e,this.cursor.dir)}get lineBreak(){return this.cursor.lineBreak&&""!=this.value}}class m{constructor(e){this.inner=e,this.afterBreak=!0,this.value="",this.done=!1}next(e=0){let{done:t,lineBreak:i,value:O}=this.inner.next(e);return t&&this.afterBreak?(this.value="",this.afterBreak=!1):t?(this.done=!0,this.value=""):i?this.afterBreak?this.value="":(this.afterBreak=!0,this.next()):(this.value=O,this.afterBreak=!1),this}get lineBreak(){return!1}}"undefined"!=typeof Symbol&&(c.prototype[Symbol.iterator]=function(){return this.iter()},p.prototype[Symbol.iterator]=Q.prototype[Symbol.iterator]=m.prototype[Symbol.iterator]=function(){return this});class g{constructor(e,t,i,O){this.from=e,this.to=t,this.number=i,this.text=O}get length(){return this.to-this.from}}function S(e,t,i){return[t=Math.max(0,Math.min(e.length,t)),Math.max(t,Math.min(e.length,i))]}function P(e,t,i=!0,O=!0){return n(e,t,i,O)}function T(e,t){let i=e.charCodeAt(t);if(!((O=i)>=55296&&O<56320&&t+1!=e.length))return i;var O;let n=e.charCodeAt(t+1);return function(e){return e>=56320&&e<57344}(n)?n-56320+(i-55296<<10)+65536:i}function y(e){return e<=65535?String.fromCharCode(e):(e-=65536,String.fromCharCode(55296+(e>>10),56320+(1023&e)))}function v(e){return e<65536?1:2}const w=/\r\n?|\n/;var b=function(e){return e[e.Simple=0]="Simple",e[e.TrackDel=1]="TrackDel",e[e.TrackBefore=2]="TrackBefore",e[e.TrackAfter=3]="TrackAfter",e}(b||(b={}));class x{constructor(e){this.sections=e}get length(){let e=0;for(let t=0;te)return n+(e-O);n+=s}else{if(i!=b.Simple&&a>=e&&(i==b.TrackDel&&Oe||i==b.TrackBefore&&Oe))return null;if(a>e||a==e&&t<0&&!s)return e==O||t<0?n:n+o;n+=o}O=a}if(e>O)throw new RangeError(`Position ${e} is out of range for changeset of length ${O}`);return n}touchesRange(e,t=e){for(let i=0,O=0;i=0&&O<=t&&n>=e)return!(Ot)||"cover";O=n}return!1}toString(){let e="";for(let t=0;t=0?":"+O:"")}return e}toJSON(){return this.sections}static fromJSON(e){if(!Array.isArray(e)||e.length%2||e.some(e=>"number"!=typeof e))throw new RangeError("Invalid JSON representation of ChangeDesc");return new x(e)}static create(e){return new x(e)}}class X extends x{constructor(e,t){super(e),this.inserted=t}apply(e){if(this.length!=e.length)throw new RangeError("Applying change set to a document with the wrong length");return R(this,(t,i,O,n,r)=>e=e.replace(O,O+(i-t),r),!1),e}mapDesc(e,t=!1){return z(this,e,t,!0)}invert(e){let t=this.sections.slice(),i=[];for(let O=0,n=0;O=0){t[O]=s,t[O+1]=r;let o=O>>1;for(;i.length0&&Z(i,t,n.text),n.forward(e),s+=e}let a=e[r++];for(;s>1].toJSON()))}return e}static of(e,t,i){let O=[],n=[],r=0,s=null;function o(e=!1){if(!e&&!O.length)return;rs||e<0||s>t)throw new RangeError(`Invalid change range ${e} to ${s} (in doc of length ${t})`);let h=l?"string"==typeof l?c.of(l.split(i||w)):l:c.empty,d=h.length;if(e==s&&0==d)return;er&&k(O,e-r,-1),k(O,s-e,d),Z(n,O,h),r=s}}(e),o(!s),s}static empty(e){return new X(e?[e,-1]:[],[])}static fromJSON(e){if(!Array.isArray(e))throw new RangeError("Invalid JSON representation of ChangeSet");let t=[],i=[];for(let O=0;Ot&&"string"!=typeof e))throw new RangeError("Invalid JSON representation of ChangeSet");if(1==n.length)t.push(n[0],0);else{for(;i.length=0&&i<=0&&i==e[n+1]?e[n]+=t:n>=0&&0==t&&0==e[n]?e[n+1]+=i:O?(e[n]+=t,e[n+1]+=i):e.push(t,i)}function Z(e,t,i){if(0==i.length)return;let O=t.length-2>>1;if(O>1])),!(i||s==e.sections.length||e.sections[s+1]<0);)o=e.sections[s++],a=e.sections[s++];t(n,l,r,h,d),n=l,r=h}}}function z(e,t,i,O=!1){let n=[],r=O?[]:null,s=new V(e),o=new V(t);for(let e=-1;;){if(s.done&&o.len||o.done&&s.len)throw new Error("Mismatched change set lengths");if(-1==s.ins&&-1==o.ins){let e=Math.min(s.len,o.len);k(n,e,-1),s.forward(e),o.forward(e)}else if(o.ins>=0&&(s.ins<0||e==s.i||0==s.off&&(o.len=0&&e=0)){if(s.done&&o.done)return r?X.createSet(n,r):x.create(n);throw new Error("Mismatched change set lengths")}{let t=0,i=s.len;for(;i;)if(-1==o.ins){let e=Math.min(i,o.len);t+=e,i-=e,o.forward(e)}else{if(!(0==o.ins&&o.lent||s.ins>=0&&s.len>t)&&(e||O.length>i),r.forward2(t),s.forward(t)}}else k(O,0,s.ins,e),n&&Z(n,O,s.text),s.next()}}class V{constructor(e){this.set=e,this.i=0,this.next()}next(){let{sections:e}=this.set;this.i>1;return t>=e.length?c.empty:e[t]}textBit(e){let{inserted:t}=this.set,i=this.i-2>>1;return i>=t.length&&!e?c.empty:t[i].slice(this.off,null==e?void 0:this.off+e)}forward(e){e==this.len?this.next():(this.len-=e,this.off+=e)}forward2(e){-1==this.ins?this.forward(e):e==this.ins?this.next():(this.ins-=e,this.off+=e)}}class Y{constructor(e,t,i){this.from=e,this.to=t,this.flags=i}get anchor(){return 32&this.flags?this.to:this.from}get head(){return 32&this.flags?this.from:this.to}get empty(){return this.from==this.to}get assoc(){return 8&this.flags?-1:16&this.flags?1:0}get bidiLevel(){let e=7&this.flags;return 7==e?null:e}get goalColumn(){let e=this.flags>>6;return 16777215==e?void 0:e}map(e,t=-1){let i,O;return this.empty?i=O=e.mapPos(this.from,t):(i=e.mapPos(this.from,1),O=e.mapPos(this.to,-1)),i==this.from&&O==this.to?this:new Y(i,O,this.flags)}extend(e,t=e,i=0){if(e<=this.anchor&&t>=this.anchor)return q.range(e,t,void 0,void 0,i);let O=Math.abs(e-this.anchor)>Math.abs(t-this.anchor)?e:t;return q.range(this.anchor,O,void 0,void 0,i)}eq(e,t=!1){return!(this.anchor!=e.anchor||this.head!=e.head||this.goalColumn!=e.goalColumn||t&&this.empty&&this.assoc!=e.assoc)}toJSON(){return{anchor:this.anchor,head:this.head}}static fromJSON(e){if(!e||"number"!=typeof e.anchor||"number"!=typeof e.head)throw new RangeError("Invalid JSON representation for SelectionRange");return q.range(e.anchor,e.head)}static create(e,t,i){return new Y(e,t,i)}}class q{constructor(e,t){this.ranges=e,this.mainIndex=t}map(e,t=-1){return e.empty?this:q.create(this.ranges.map(i=>i.map(e,t)),this.mainIndex)}eq(e,t=!1){if(this.ranges.length!=e.ranges.length||this.mainIndex!=e.mainIndex)return!1;for(let i=0;ie.toJSON()),main:this.mainIndex}}static fromJSON(e){if(!e||!Array.isArray(e.ranges)||"number"!=typeof e.main||e.main>=e.ranges.length)throw new RangeError("Invalid JSON representation for EditorSelection");return new q(e.ranges.map(e=>Y.fromJSON(e)),e.main)}static single(e,t=e){return new q([q.range(e,t)],0)}static create(e,t=0){if(0==e.length)throw new RangeError("A selection needs at least one range");for(let i=0,O=0;Oe.from-t.from),t=e.indexOf(i);for(let i=1;iO.head?q.range(s,r):q.range(r,s))}}return new q(e,t)}}function W(e,t){for(let i of e.ranges)if(i.to>t)throw new RangeError("Selection points outside of document")}let U=0;class j{constructor(e,t,i,O,n){this.combine=e,this.compareInput=t,this.compare=i,this.isStatic=O,this.id=U++,this.default=e([]),this.extensions="function"==typeof n?n(this):n}get reader(){return this}static define(e={}){return new j(e.combine||(e=>e),e.compareInput||((e,t)=>e===t),e.compare||(e.combine?(e,t)=>e===t:G),!!e.static,e.enables)}of(e){return new C([],this,0,e)}compute(e,t){if(this.isStatic)throw new Error("Can't compute a static facet");return new C(e,this,1,t)}computeN(e,t){if(this.isStatic)throw new Error("Can't compute a static facet");return new C(e,this,2,t)}from(e,t){return t||(t=e=>e),this.compute([e],i=>t(i.field(e)))}}function G(e,t){return e==t||e.length==t.length&&e.every((e,i)=>e===t[i])}class C{constructor(e,t,i,O){this.dependencies=e,this.facet=t,this.type=i,this.value=O,this.id=U++}dynamicSlot(e){var t;let i=this.value,O=this.facet.compareInput,n=this.id,r=e[n]>>1,s=2==this.type,o=!1,a=!1,l=[];for(let i of this.dependencies)"doc"==i?o=!0:"selection"==i?a=!0:1&(null!==(t=e[i.id])&&void 0!==t?t:1)||l.push(e[i.id]);return{create:e=>(e.values[r]=i(e),1),update(e,t){if(o&&t.docChanged||a&&(t.docChanged||t.selection)||E(e,l)){let t=i(e);if(s?!A(t,e.values[r],O):!O(t,e.values[r]))return e.values[r]=t,1}return 0},reconfigure:(e,t)=>{let o,a=t.config.address[n];if(null!=a){let n=ee(t,a);if(this.dependencies.every(i=>i instanceof j?t.facet(i)===e.facet(i):!(i instanceof L)||t.field(i,!1)==e.field(i,!1))||(s?A(o=i(e),n,O):O(o=i(e),n)))return e.values[r]=n,0}else o=i(e);return e.values[r]=o,1}}}}function A(e,t,i){if(e.length!=t.length)return!1;for(let O=0;Oe[t.id]),n=i.map(e=>e.type),r=O.filter(e=>!(1&e)),s=e[t.id]>>1;function o(e){let i=[];for(let t=0;te===t),e);return e.provide&&(t.provides=e.provide(t)),t}create(e){let t=e.facet(D).find(e=>e.field==this);return((null==t?void 0:t.create)||this.createF)(e)}slot(e){let t=e[this.id]>>1;return{create:e=>(e.values[t]=this.create(e),1),update:(e,i)=>{let O=e.values[t],n=this.updateF(O,i);return this.compareF(O,n)?0:(e.values[t]=n,1)},reconfigure:(e,i)=>{let O,n=e.facet(D),r=i.facet(D);return(O=n.find(e=>e.field==this))&&O!=r.find(e=>e.field==this)?(e.values[t]=O.create(e),1):null!=i.config.address[this.id]?(e.values[t]=i.field(this),0):(e.values[t]=this.create(e),1)}}}init(e){return[this,D.of({field:this,create:e})]}get extension(){return this}}function I(e){return t=>new B(t,e)}const N={highest:I(0),high:I(1),default:I(2),low:I(3),lowest:I(4)};class B{constructor(e,t){this.inner=e,this.prec=t}}class F{of(e){return new H(this,e)}reconfigure(e){return F.reconfigure.of({compartment:this,extension:e})}get(e){return e.config.compartments.get(this)}}class H{constructor(e,t){this.compartment=e,this.inner=t}}class K{constructor(e,t,i,O,n,r){for(this.base=e,this.compartments=t,this.dynamicSlots=i,this.address=O,this.staticValues=n,this.facets=r,this.statusTemplate=[];this.statusTemplate.length>1]}static resolve(e,t,i){let O=[],n=Object.create(null),r=new Map;for(let i of function(e,t,i){let O=[[],[],[],[],[]],n=new Map;return function e(r,s){let o=n.get(r);if(null!=o){if(o<=s)return;let e=O[o].indexOf(r);e>-1&&O[o].splice(e,1),r instanceof H&&i.delete(r.compartment)}if(n.set(r,s),Array.isArray(r))for(let t of r)e(t,s);else if(r instanceof H){if(i.has(r.compartment))throw new RangeError("Duplicate use of compartment in extensions");let O=t.get(r.compartment)||r.inner;i.set(r.compartment,O),e(O,s)}else if(r instanceof B)e(r.inner,r.prec);else if(r instanceof L)O[s].push(r),r.provides&&e(r.provides,s);else if(r instanceof C)O[s].push(r),r.facet.extensions&&e(r.facet.extensions,2);else{let t=r.extension;if(!t)throw new Error(`Unrecognized extension value in extension set (${r}). This sometimes happens because multiple instances of @codemirror/state are loaded, breaking instanceof checks.`);e(t,s)}}(e,2),O.reduce((e,t)=>e.concat(t))}(e,t,r))i instanceof L?O.push(i):(n[i.facet.id]||(n[i.facet.id]=[])).push(i);let s=Object.create(null),o=[],a=[];for(let e of O)s[e.id]=a.length<<1,a.push(t=>e.slot(t));let l=null==i?void 0:i.config.facets;for(let e in n){let t=n[e],O=t[0].facet,r=l&&l[e]||[];if(t.every(e=>0==e.type))if(s[O.id]=o.length<<1|1,G(r,t))o.push(i.facet(O));else{let e=O.combine(t.map(e=>e.value));o.push(i&&O.compare(e,i.facet(O))?i.facet(O):e)}else{for(let e of t)0==e.type?(s[e.id]=o.length<<1|1,o.push(e.value)):(s[e.id]=a.length<<1,a.push(t=>e.dynamicSlot(t)));s[O.id]=a.length<<1,a.push(e=>M(e,O,t))}}let h=a.map(e=>e(s));return new K(e,r,h,s,o,n)}}function J(e,t){if(1&t)return 2;let i=t>>1,O=e.status[i];if(4==O)throw new Error("Cyclic dependency between fields and/or facets");if(2&O)return O;e.status[i]=4;let n=e.computeSlot(e,e.config.dynamicSlots[i]);return e.status[i]=2|n}function ee(e,t){return 1&t?e.config.staticValues[t>>1]:e.values[t>>1]}const te=j.define(),ie=j.define({combine:e=>e.some(e=>e),static:!0}),Oe=j.define({combine:e=>e.length?e[0]:void 0,static:!0}),ne=j.define(),re=j.define(),se=j.define(),oe=j.define({combine:e=>!!e.length&&e[0]});class ae{constructor(e,t){this.type=e,this.value=t}static define(){return new le}}class le{of(e){return new ae(this,e)}}class he{constructor(e){this.map=e}of(e){return new ce(this,e)}}class ce{constructor(e,t){this.type=e,this.value=t}map(e){let t=this.type.map(this.value,e);return void 0===t?void 0:t==this.value?this:new ce(this.type,t)}is(e){return this.type==e}static define(e={}){return new he(e.map||(e=>e))}static mapEffects(e,t){if(!e.length)return e;let i=[];for(let O of e){let e=O.map(t);e&&i.push(e)}return i}}ce.reconfigure=ce.define(),ce.appendConfig=ce.define();class de{constructor(e,t,i,O,n,r){this.startState=e,this.changes=t,this.selection=i,this.effects=O,this.annotations=n,this.scrollIntoView=r,this._doc=null,this._state=null,i&&W(i,t.newLength),n.some(e=>e.type==de.time)||(this.annotations=n.concat(de.time.of(Date.now())))}static create(e,t,i,O,n,r){return new de(e,t,i,O,n,r)}get newDoc(){return this._doc||(this._doc=this.changes.apply(this.startState.doc))}get newSelection(){return this.selection||this.startState.selection.map(this.changes)}get state(){return this._state||this.startState.applyTransaction(this),this._state}annotation(e){for(let t of this.annotations)if(t.type==e)return t.value}get docChanged(){return!this.changes.empty}get reconfigured(){return this.startState.config!=this.state.config}isUserEvent(e){let t=this.annotation(de.userEvent);return!(!t||!(t==e||t.length>e.length&&t.slice(0,e.length)==e&&"."==t[e.length]))}}function ue(e,t){let i=[];for(let O=0,n=0;;){let r,s;if(O=e[O]))r=e[O++],s=e[O++];else{if(!(n=0;n--){let r=i[n](e);r&&Object.keys(r).length&&(O=$e(O,fe(t,r,e.changes.newLength),!0))}return O==e?e:de.create(t,e.changes,e.selection,O.effects,O.annotations,O.scrollIntoView)}(i?function(e){let t=e.startState,i=!0;for(let O of t.facet(ne)){let t=O(e);if(!1===t){i=!1;break}Array.isArray(t)&&(i=!0===i?t:ue(i,t))}if(!0!==i){let O,n;if(!1===i)n=e.changes.invertedDesc,O=X.empty(t.doc.length);else{let t=e.changes.filter(i);O=t.changes,n=t.filtered.mapDesc(t.changes).invertedDesc}e=de.create(t,O,e.selection&&e.selection.map(n),ce.mapEffects(e.effects,n),e.annotations,e.scrollIntoView)}let O=t.facet(re);for(let i=O.length-1;i>=0;i--){let n=O[i](e);e=n instanceof de?n:Array.isArray(n)&&1==n.length&&n[0]instanceof de?n[0]:pe(t,me(n),!1)}return e}(n):n)}de.time=ae.define(),de.userEvent=ae.define(),de.addToHistory=ae.define(),de.remote=ae.define();const Qe=[];function me(e){return null==e?Qe:Array.isArray(e)?e:[e]}var ge=function(e){return e[e.Word=0]="Word",e[e.Space=1]="Space",e[e.Other=2]="Other",e}(ge||(ge={}));const Se=/[\u00df\u0587\u0590-\u05f4\u0600-\u06ff\u3040-\u309f\u30a0-\u30ff\u3400-\u4db5\u4e00-\u9fcc\uac00-\ud7af]/;let Pe;try{Pe=new RegExp("[\\p{Alphabetic}\\p{Number}_]","u")}catch(e){}class Te{constructor(e,t,i,O,n,r){this.config=e,this.doc=t,this.selection=i,this.values=O,this.status=e.statusTemplate.slice(),this.computeSlot=n,r&&(r._state=this);for(let e=0;en.set(t,e)),i=null),n.set(t.value.compartment,t.value.extension)):t.is(ce.reconfigure)?(i=null,O=t.value):t.is(ce.appendConfig)&&(i=null,O=me(O).concat(t.value));i?t=e.startState.values.slice():(i=K.resolve(O,n,this),t=new Te(i,this.doc,this.selection,i.dynamicSlots.map(()=>null),(e,t)=>t.reconfigure(e,this),null).values);let r=e.startState.facet(ie)?e.newSelection:e.newSelection.asSingle();new Te(i,e.newDoc,r,t,(t,i)=>i.update(t,e),e)}replaceSelection(e){return"string"==typeof e&&(e=this.toText(e)),this.changeByRange(t=>({changes:{from:t.from,to:t.to,insert:e},range:q.cursor(t.from+e.length)}))}changeByRange(e){let t=this.selection,i=e(t.ranges[0]),O=this.changes(i.changes),n=[i.range],r=me(i.effects);for(let i=1;in.spec.fromJSON(r,e)))}return Te.create({doc:e.doc,selection:q.fromJSON(e.selection),extensions:t.extensions?O.concat([t.extensions]):O})}static create(e={}){let t=K.resolve(e.extensions||[],new Map),i=e.doc instanceof c?e.doc:c.of((e.doc||"").split(t.staticFacet(Te.lineSeparator)||w)),O=e.selection?e.selection instanceof q?e.selection:q.single(e.selection.anchor,e.selection.head):q.single(0);return W(O,i.length),t.staticFacet(ie)||(O=O.asSingle()),new Te(t,i,O,t.dynamicSlots.map(()=>null),(e,t)=>t.create(e),null)}get tabSize(){return this.facet(Te.tabSize)}get lineBreak(){return this.facet(Te.lineSeparator)||"\n"}get readOnly(){return this.facet(oe)}phrase(e,...t){for(let t of this.facet(Te.phrases))if(Object.prototype.hasOwnProperty.call(t,e)){e=t[e];break}return t.length&&(e=e.replace(/\$(\$|\d*)/g,(e,i)=>{if("$"==i)return"$";let O=+(i||1);return!O||O>t.length?e:t[O-1]})),e}languageDataAt(e,t,i=-1){let O=[];for(let n of this.facet(te))for(let r of n(this,t,i))Object.prototype.hasOwnProperty.call(r,e)&&O.push(r[e]);return O}charCategorizer(e){let t=this.languageDataAt("wordChars",e);return i=t.length?t[0]:"",e=>{if(!/\S/.test(e))return ge.Space;if(function(e){if(Pe)return Pe.test(e);for(let t=0;t"€"&&(i.toUpperCase()!=i.toLowerCase()||Se.test(i)))return!0}return!1}(e))return ge.Word;for(let t=0;t-1)return ge.Word;return ge.Other};var i}wordAt(e){let{text:t,from:i,length:O}=this.doc.lineAt(e),n=this.charCategorizer(e),r=e-i,s=e-i;for(;r>0;){let e=P(t,r,!1);if(n(t.slice(e,r))!=ge.Word)break;r=e}for(;se.length?e[0]:4}),Te.lineSeparator=Oe,Te.readOnly=oe,Te.phrases=j.define({compare(e,t){let i=Object.keys(e),O=Object.keys(t);return i.length==O.length&&i.every(i=>e[i]==t[i])}}),Te.languageData=te,Te.changeFilter=ne,Te.transactionFilter=re,Te.transactionExtender=se,F.reconfigure=ce.define();class ve{eq(e){return this==e}range(e,t=e){return be.create(e,t,this)}}function we(e,t){return e==t||e.constructor==t.constructor&&e.eq(t)}ve.prototype.startSide=ve.prototype.endSide=0,ve.prototype.point=!1,ve.prototype.mapMode=b.TrackDel;let be=class e{constructor(e,t,i){this.from=e,this.to=t,this.value=i}static create(t,i,O){return new e(t,i,O)}};function xe(e,t){return e.from-t.from||e.value.startSide-t.value.startSide}class Xe{constructor(e,t,i,O){this.from=e,this.to=t,this.value=i,this.maxPoint=O}get length(){return this.to[this.to.length-1]}findIndex(e,t,i,O=0){let n=i?this.to:this.from;for(let r=O,s=n.length;;){if(r==s)return r;let O=r+s>>1,o=n[O]-e||(i?this.value[O].endSide:this.value[O].startSide)-t;if(O==r)return o>=0?r:s;o>=0?s=O:r=O+1}}between(e,t,i,O){for(let n=this.findIndex(t,-1e9,!0),r=this.findIndex(i,1e9,!1,n);nl||a==l&&h.startSide>0&&h.endSide<=0)continue;(l-a||h.endSide-h.startSide)<0||(r<0&&(r=a),h.point&&(s=Math.max(s,l-a)),i.push(h),O.push(a-r),n.push(l-r))}return{mapped:i.length?new Xe(O,n,i,s):null,pos:r}}}class ke{constructor(e,t,i,O){this.chunkPos=e,this.chunk=t,this.nextLayer=i,this.maxPoint=O}static create(e,t,i,O){return new ke(e,t,i,O)}get length(){let e=this.chunk.length-1;return e<0?0:Math.max(this.chunkEnd(e),this.nextLayer.length)}get size(){if(this.isEmpty)return 0;let e=this.nextLayer.size;for(let t of this.chunk)e+=t.value.length;return e}chunkEnd(e){return this.chunkPos[e]+this.chunk[e].length}update(e){let{add:t=[],sort:i=!1,filterFrom:O=0,filterTo:n=this.length}=e,r=e.filter;if(0==t.length&&!r)return this;if(i&&(t=t.slice().sort(xe)),this.isEmpty)return t.length?ke.of(t):this;let s=new ze(this,null,-1).goto(0),o=0,a=[],l=new Ze;for(;s.value||o=0){let e=t[o++];l.addInner(e.from,e.to,e.value)||a.push(e)}else 1==s.rangeIndex&&s.chunkIndexthis.chunkEnd(s.chunkIndex)||ns.to||n=n&&e<=n+r.length&&!1===r.between(n,e-n,t-n,i))return}this.nextLayer.between(e,t,i)}}iter(e=0){return _e.from([this]).goto(e)}get isEmpty(){return this.nextLayer==this}static iter(e,t=0){return _e.from(e).goto(t)}static compare(e,t,i,O,n=-1){let r=e.filter(e=>e.maxPoint>0||!e.isEmpty&&e.maxPoint>=n),s=t.filter(e=>e.maxPoint>0||!e.isEmpty&&e.maxPoint>=n),o=Re(r,s,i),a=new Ye(r,o,n),l=new Ye(s,o,n);i.iterGaps((e,t,i)=>qe(a,e,l,t,i,O)),i.empty&&0==i.length&&qe(a,0,l,0,0,O)}static eq(e,t,i=0,O){null==O&&(O=999999999);let n=e.filter(e=>!e.isEmpty&&t.indexOf(e)<0),r=t.filter(t=>!t.isEmpty&&e.indexOf(t)<0);if(n.length!=r.length)return!1;if(!n.length)return!0;let s=Re(n,r),o=new Ye(n,s,0).goto(i),a=new Ye(r,s,0).goto(i);for(;;){if(o.to!=a.to||!We(o.active,a.active)||o.point&&(!a.point||!we(o.point,a.point)))return!1;if(o.to>O)return!0;o.next(),a.next()}}static spans(e,t,i,O,n=-1){let r=new Ye(e,null,n).goto(t),s=t,o=r.openStart;for(;;){let e=Math.min(r.to,i);if(r.point){let i=r.activeForPoint(r.to),n=r.pointFroms&&(O.span(s,e,r.active,o),o=r.openEnd(e));if(r.to>i)return o+(r.point&&r.to>i?1:0);s=r.to,r.next()}}static of(e,t=!1){let i=new Ze;for(let O of e instanceof be?[e]:t?function(e){if(e.length>1)for(let t=e[0],i=1;i0)return e.slice().sort(xe);t=O}return e}(e):e)i.add(O.from,O.to,O.value);return i.finish()}static join(e){if(!e.length)return ke.empty;let t=e[e.length-1];for(let i=e.length-2;i>=0;i--)for(let O=e[i];O!=ke.empty;O=O.nextLayer)t=new ke(O.chunkPos,O.chunk,t,Math.max(O.maxPoint,t.maxPoint));return t}}ke.empty=new ke([],[],null,-1),ke.empty.nextLayer=ke.empty;class Ze{finishChunk(e){this.chunks.push(new Xe(this.from,this.to,this.value,this.maxPoint)),this.chunkPos.push(this.chunkStart),this.chunkStart=-1,this.setMaxPoint=Math.max(this.setMaxPoint,this.maxPoint),this.maxPoint=-1,e&&(this.from=[],this.to=[],this.value=[])}constructor(){this.chunks=[],this.chunkPos=[],this.chunkStart=-1,this.last=null,this.lastFrom=-1e9,this.lastTo=-1e9,this.from=[],this.to=[],this.value=[],this.maxPoint=-1,this.setMaxPoint=-1,this.nextLayer=null}add(e,t,i){this.addInner(e,t,i)||(this.nextLayer||(this.nextLayer=new Ze)).add(e,t,i)}addInner(e,t,i){let O=e-this.lastTo||i.startSide-this.last.endSide;if(O<=0&&(e-this.lastFrom||i.startSide-this.last.startSide)<0)throw new Error("Ranges must be added sorted by `from` position and `startSide`");return!(O<0||(250==this.from.length&&this.finishChunk(!0),this.chunkStart<0&&(this.chunkStart=e),this.from.push(e-this.chunkStart),this.to.push(t-this.chunkStart),this.last=i,this.lastFrom=e,this.lastTo=t,this.value.push(i),i.point&&(this.maxPoint=Math.max(this.maxPoint,t-e)),0))}addChunk(e,t){if((e-this.lastTo||t.value[0].startSide-this.last.endSide)<0)return!1;this.from.length&&this.finishChunk(!0),this.setMaxPoint=Math.max(this.setMaxPoint,t.maxPoint),this.chunks.push(t),this.chunkPos.push(e);let i=t.value.length-1;return this.last=t.value[i],this.lastFrom=t.from[i]+e,this.lastTo=t.to[i]+e,!0}finish(){return this.finishInner(ke.empty)}finishInner(e){if(this.from.length&&this.finishChunk(!1),0==this.chunks.length)return e;let t=ke.create(this.chunkPos,this.chunks,this.nextLayer?this.nextLayer.finishInner(e):e,this.setMaxPoint);return this.from=null,t}}function Re(e,t,i){let O=new Map;for(let t of e)for(let e=0;e=this.minPoint)break}}}setRangeIndex(e){if(e==this.layer.chunk[this.chunkIndex].value.length){if(this.chunkIndex++,this.skip)for(;this.chunkIndex=i&&O.push(new ze(r,t,i,n));return 1==O.length?O[0]:new _e(O)}get startSide(){return this.value?this.value.startSide:0}goto(e,t=-1e9){for(let i of this.heap)i.goto(e,t);for(let e=this.heap.length>>1;e>=0;e--)Ve(this.heap,e);return this.next(),this}forward(e,t){for(let i of this.heap)i.forward(e,t);for(let e=this.heap.length>>1;e>=0;e--)Ve(this.heap,e);(this.to-e||this.value.endSide-t)<0&&this.next()}next(){if(0==this.heap.length)this.from=this.to=1e9,this.value=null,this.rank=-1;else{let e=this.heap[0];this.from=e.from,this.to=e.to,this.value=e.value,this.rank=e.rank,e.value&&e.next(),Ve(this.heap,0)}}}function Ve(e,t){for(let i=e[t];;){let O=1+(t<<1);if(O>=e.length)break;let n=e[O];if(O+1=0&&(n=e[O+1],O++),i.compare(n)<0)break;e[O]=i,e[t]=n,t=O}}class Ye{constructor(e,t,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=_e.from(e,t,i)}goto(e,t=-1e9){return this.cursor.goto(e,t),this.active.length=this.activeTo.length=this.activeRank.length=0,this.minActive=-1,this.to=e,this.endSide=t,this.openStart=-1,this.next(),this}forward(e,t){for(;this.minActive>-1&&(this.activeTo[this.minActive]-e||this.active[this.minActive].endSide-t)<0;)this.removeActive(this.minActive);this.cursor.forward(e,t)}removeActive(e){Ue(this.active,e),Ue(this.activeTo,e),Ue(this.activeRank,e),this.minActive=Ge(this.active,this.activeTo)}addActive(e){let t=0,{value:i,to:O,rank:n}=this.cursor;for(;t0;)t++;je(this.active,t,i),je(this.activeTo,t,O),je(this.activeRank,t,n),e&&je(e,t,this.cursor.from),this.minActive=Ge(this.active,this.activeTo)}next(){let e=this.to,t=this.point;this.point=null;let i=this.openStart<0?[]:null;for(;;){let O=this.minActive;if(O>-1&&(this.activeTo[O]-this.cursor.from||this.active[O].endSide-this.cursor.startSide)<0){if(this.activeTo[O]>e){this.to=this.activeTo[O],this.endSide=this.active[O].endSide;break}this.removeActive(O),i&&Ue(i,O)}else{if(!this.cursor.value){this.to=this.endSide=1e9;break}if(this.cursor.from>e){this.to=this.cursor.from,this.endSide=this.cursor.startSide;break}{let e=this.cursor.value;if(e.point){if(!(t&&this.cursor.to==this.to&&this.cursor.from=0&&i[t]=0&&!(this.activeRank[i]e||this.activeTo[i]==e&&this.active[i].endSide>=this.point.endSide)&&t.push(this.active[i]);return t.reverse()}openEnd(e){let t=0;for(let i=this.activeTo.length-1;i>=0&&this.activeTo[i]>e;i--)t++;return t}}function qe(e,t,i,O,n,r){e.goto(t),i.goto(O);let s=O+n,o=O,a=O-t,l=!!r.boundChange;for(let t=!1;;){let O=e.to+a-i.to,n=O||e.endSide-i.endSide,h=n<0?e.to+a:i.to,c=Math.min(h,s);if(e.point||i.point?(e.point&&i.point&&we(e.point,i.point)&&We(e.activeForPoint(e.to),i.activeForPoint(i.to))||r.comparePoint(o,c,e.point,i.point),t=!1):(t&&r.boundChange(o),c>o&&!We(e.active,i.active)&&r.compareRange(o,c,e.active,i.active),l&&cs)break;o=h,n<=0&&e.next(),n>=0&&i.next()}}function We(e,t){if(e.length!=t.length)return!1;for(let i=0;i=t;i--)e[i+1]=e[i];e[t]=i}function Ge(e,t){let i=-1,O=1e9;for(let n=0;n=t)return O;if(O==e.length)break;n+=9==e.charCodeAt(O)?i-n%i:1,O=P(e,O)}return!0===O?-1:e.length}const Ee="undefined"==typeof Symbol?"__ͼ":Symbol.for("ͼ"),Me="undefined"==typeof Symbol?"__styleSet"+Math.floor(1e8*Math.random()):Symbol("styleSet"),De="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:{};class Le{constructor(e,t){this.rules=[];let{finish:i}=t||{};function O(e){return/^@/.test(e)?[e]:e.split(/,\s*/)}function n(e,t,r,s){let o=[],a=/^@(\w+)\b/.exec(e[0]),l=a&&"keyframes"==a[1];if(a&&null==t)return r.push(e[0]+";");for(let i in t){let s=t[i];if(/&/.test(i))n(i.split(/,\s*/).map(t=>e.map(e=>t.replace(/&/,e))).reduce((e,t)=>e.concat(t)),s,r);else if(s&&"object"==typeof s){if(!a)throw new RangeError("The value of a property ("+i+") should be a primitive value.");n(O(i),s,o,l)}else null!=s&&o.push(i.replace(/_.*/,"").replace(/[A-Z]/g,e=>"-"+e.toLowerCase())+": "+s+";")}(o.length||l)&&r.push((!i||a||s?e:e.map(i)).join(", ")+" {"+o.join(" ")+"}")}for(let t in e)n(O(t),e[t],this.rules)}getRules(){return this.rules.join("\n")}static newName(){let e=De[Ee]||1;return De[Ee]=e+1,"ͼ"+e.toString(36)}static mount(e,t,i){let O=e[Me],n=i&&i.nonce;O?n&&O.setNonce(n):O=new Ne(e,n),O.mount(Array.isArray(t)?t:[t],e)}}let Ie=new Map;class Ne{constructor(e,t){let i=e.ownerDocument||e,O=i.defaultView;if(!e.head&&e.adoptedStyleSheets&&O.CSSStyleSheet){let t=Ie.get(i);if(t)return e[Me]=t;this.sheet=new O.CSSStyleSheet,Ie.set(i,this)}else this.styleTag=i.createElement("style"),t&&this.styleTag.setAttribute("nonce",t);this.modules=[],e[Me]=this}mount(e,t){let i=this.sheet,O=0,n=0;for(let t=0;t-1&&(this.modules.splice(s,1),n--,s=-1),-1==s){if(this.modules.splice(n++,0,r),i)for(let e=0;e",191:"?",192:"~",219:"{",220:"|",221:"}",222:'"'},He="undefined"!=typeof navigator&&/Mac/.test(navigator.platform),Ke="undefined"!=typeof navigator&&/MSIE \d|Trident\/(?:[7-9]|\d{2,})\..*rv:(\d+)/.exec(navigator.userAgent),Je=0;Je<10;Je++)Be[48+Je]=Be[96+Je]=String(Je);for(Je=1;Je<=24;Je++)Be[Je+111]="F"+Je;for(Je=65;Je<=90;Je++)Be[Je]=String.fromCharCode(Je+32),Fe[Je]=String.fromCharCode(Je);for(var et in Be)Fe.hasOwnProperty(et)||(Fe[et]=Be[et]);function tt(){var e=arguments[0];"string"==typeof e&&(e=document.createElement(e));var t=1,i=arguments[1];if(i&&"object"==typeof i&&null==i.nodeType&&!Array.isArray(i)){for(var O in i)if(Object.prototype.hasOwnProperty.call(i,O)){var n=i[O];"string"==typeof n?e.setAttribute(O,n):null!=n&&(e[O]=n)}t++}for(;t2);var $t={mac:ut||/Mac/.test(Ot.platform),windows:/Win/.test(Ot.platform),linux:/Linux|X11/.test(Ot.platform),ie:at,ie_version:st?nt.documentMode||6:ot?+ot[1]:rt?+rt[1]:0,gecko:lt,gecko_version:lt?+(/Firefox\/(\d+)/.exec(Ot.userAgent)||[0,0])[1]:0,chrome:!!ht,chrome_version:ht?+ht[1]:0,ios:ut,android:/Android\b/.test(Ot.userAgent),webkit:ct,webkit_version:ct?+(/\bAppleWebKit\/(\d+)/.exec(Ot.userAgent)||[0,0])[1]:0,safari:dt,safari_version:dt?+(/\bVersion\/(\d+(\.\d+)?)/.exec(Ot.userAgent)||[0,0])[1]:0,tabSize:null!=nt.documentElement.style.tabSize?"tab-size":"-moz-tab-size"};function ft(e,t){for(let i in e)"class"==i&&t.class?t.class+=" "+e.class:"style"==i&&t.style?t.style+=";"+e.style:t[i]=e[i];return t}const pt=Object.create(null);function Qt(e,t,i){if(e==t)return!0;e||(e=pt),t||(t=pt);let O=Object.keys(e),n=Object.keys(t);if(O.length-0!=n.length-0)return!1;for(let r of O)if(r!=i&&(-1==n.indexOf(r)||e[r]!==t[r]))return!1;return!0}function mt(e,t,i){let O=!1;if(t)for(let n in t)i&&n in i||(O=!0,"style"==n?e.style.cssText="":e.removeAttribute(n));if(i)for(let n in i)t&&t[n]==i[n]||(O=!0,"style"==n?e.style.cssText=i[n]:e.setAttribute(n,i[n]));return O}function gt(e){let t=Object.create(null);for(let i=0;i0?3e8:-4e8:t>0?1e8:-1e8,new wt(e,t,t,i,e.widget||null,!1)}static replace(e){let t,i,O=!!e.block;if(e.isBlockGap)t=-5e8,i=4e8;else{let{start:n,end:r}=bt(e,O);t=(n?O?-3e8:-1:5e8)-1,i=1+(r?O?2e8:1:-6e8)}return new wt(e,t,i,O,e.widget||null,!0)}static line(e){return new vt(e)}static set(e,t=!1){return ke.of(e,t)}hasHeight(){return!!this.widget&&this.widget.estimatedHeight>-1}}Tt.none=ke.empty;class yt extends Tt{constructor(e){let{start:t,end:i}=bt(e);super(t?-1:5e8,i?1:-6e8,null,e),this.tagName=e.tagName||"span",this.attrs=e.class&&e.attributes?ft(e.attributes,{class:e.class}):e.class?{class:e.class}:e.attributes||pt}eq(e){return this==e||e instanceof yt&&this.tagName==e.tagName&&Qt(this.attrs,e.attrs)}range(e,t=e){if(e>=t)throw new RangeError("Mark decorations may not be empty");return super.range(e,t)}}yt.prototype.point=!1;class vt extends Tt{constructor(e){super(-2e8,-2e8,null,e)}eq(e){return e instanceof vt&&this.spec.class==e.spec.class&&Qt(this.spec.attributes,e.spec.attributes)}range(e,t=e){if(t!=e)throw new RangeError("Line decoration ranges must be zero-length");return super.range(e,t)}}vt.prototype.mapMode=b.TrackBefore,vt.prototype.point=!0;class wt extends Tt{constructor(e,t,i,O,n,r){super(t,i,n,e),this.block=O,this.isReplace=r,this.mapMode=O?t<=0?b.TrackBefore:b.TrackAfter:b.TrackDel}get type(){return this.startSide!=this.endSide?Pt.WidgetRange:this.startSide<=0?Pt.WidgetBefore:Pt.WidgetAfter}get heightRelevant(){return this.block||!!this.widget&&(this.widget.estimatedHeight>=5||this.widget.lineBreaks>0)}eq(e){return e instanceof wt&&((t=this.widget)==(i=e.widget)||!!(t&&i&&t.compare(i)))&&this.block==e.block&&this.startSide==e.startSide&&this.endSide==e.endSide;var t,i}range(e,t=e){if(this.isReplace&&(e>t||e==t&&this.startSide>0&&this.endSide<=0))throw new RangeError("Invalid range for replacement decoration");if(!this.isReplace&&t!=e)throw new RangeError("Widget decorations can only have zero-length ranges");return super.range(e,t)}}function bt(e,t=!1){let{inclusiveStart:i,inclusiveEnd:O}=e;return null==i&&(i=e.inclusive),null==O&&(O=e.inclusive),{start:null!=i?i:t,end:null!=O?O:t}}function xt(e,t,i,O=0){let n=i.length-1;n>=0&&i[n]+O>=e?i[n]=Math.max(i[n],t):i.push(e,t)}wt.prototype.point=!0;class Xt extends ve{constructor(e,t,i){super(),this.tagName=e,this.attributes=t,this.rank=i}eq(e){return e==this||e instanceof Xt&&this.tagName==e.tagName&&Qt(this.attributes,e.attributes)}static create(e){return new Xt(e.tagName,e.attributes||pt,null==e.rank?50:Math.max(0,Math.min(e.rank,100)))}static set(e,t=!1){return ke.of(e,t)}}function kt(e){let t;return t=11==e.nodeType?e.getSelection?e:e.ownerDocument:e,t.getSelection()}function Zt(e,t){return!!t&&(e==t||e.contains(1!=t.nodeType?t.parentNode:t))}function Rt(e,t){if(!t.anchorNode)return!1;try{return Zt(e,t.anchorNode)}catch(e){return!1}}function zt(e){return 3==e.nodeType?Lt(e,0,e.nodeValue.length).getClientRects():1==e.nodeType?e.getClientRects():[]}function _t(e,t,i,O){return!!i&&(qt(e,t,i,O,-1)||qt(e,t,i,O,1))}function Vt(e){for(var t=0;;t++)if(!(e=e.previousSibling))return t}function Yt(e){return 1==e.nodeType&&/^(DIV|P|LI|UL|OL|BLOCKQUOTE|DD|DT|H\d|SECTION|PRE)$/.test(e.nodeName)}function qt(e,t,i,O,n){for(;;){if(e==i&&t==O)return!0;if(t==(n<0?0:Wt(e))){if("DIV"==e.nodeName)return!1;let i=e.parentNode;if(!i||1!=i.nodeType)return!1;t=Vt(e)+(n<0?0:1),e=i}else{if(1!=e.nodeType)return!1;if(1==(e=e.childNodes[t+(n<0?-1:0)]).nodeType&&"false"==e.contentEditable)return!1;t=n<0?Wt(e):0}}}function Wt(e){return 3==e.nodeType?e.nodeValue.length:e.childNodes.length}function Ut(e,t){let i=t?e.left:e.right;return{left:i,right:i,top:e.top,bottom:e.bottom}}function jt(e){let t=e.visualViewport;return t?{left:0,right:t.width,top:0,bottom:t.height}:{left:0,right:e.innerWidth,top:0,bottom:e.innerHeight}}function Gt(e,t){let i=t.width/e.offsetWidth,O=t.height/e.offsetHeight;return(i>.995&&i<1.005||!isFinite(i)||Math.abs(t.width-e.offsetWidth)<1)&&(i=1),(O>.995&&O<1.005||!isFinite(O)||Math.abs(t.height-e.offsetHeight)<1)&&(O=1),{scaleX:i,scaleY:O}}function Ct(e,t=!0){let i=e.ownerDocument,O=null,n=null;for(let r=e.parentNode;r&&r!=i.body&&(t&&!O||!n);)if(1==r.nodeType)!n&&r.scrollHeight>r.clientHeight&&(n=r),t&&!O&&r.scrollWidth>r.clientWidth&&(O=r),r=r.assignedSlot||r.parentNode;else{if(11!=r.nodeType)break;r=r.host}return{x:O,y:n}}Xt.prototype.startSide=Xt.prototype.endSide=-1;class At{constructor(){this.anchorNode=null,this.anchorOffset=0,this.focusNode=null,this.focusOffset=0}eq(e){return this.anchorNode==e.anchorNode&&this.anchorOffset==e.anchorOffset&&this.focusNode==e.focusNode&&this.focusOffset==e.focusOffset}setRange(e){let{anchorNode:t,focusNode:i}=e;this.set(t,Math.min(e.anchorOffset,t?Wt(t):0),i,Math.min(e.focusOffset,i?Wt(i):0))}set(e,t,i,O){this.anchorNode=e,this.anchorOffset=t,this.focusNode=i,this.focusOffset=O}}let Et,Mt=null;function Dt(e){if(e.setActive)return e.setActive();if(Mt)return e.focus(Mt);let t=[];for(let i=e;i&&(t.push(i,i.scrollTop,i.scrollLeft),i!=i.ownerDocument);i=i.parentNode);if(e.focus(null==Mt?{get preventScroll(){return Mt={preventScroll:!0},!0}}:void 0),!Mt){Mt=!1;for(let e=0;eMath.max(0,e.document.documentElement.scrollHeight-e.innerHeight-4):e.scrollTop>Math.max(1,e.scrollHeight-e.clientHeight-4)}function Bt(e,t){for(let i=e,O=t;;){if(3==i.nodeType&&O>0)return{node:i,offset:O};if(1==i.nodeType&&O>0){if("false"==i.contentEditable)return null;i=i.childNodes[O-1],O=Wt(i)}else{if(!i.parentNode||Yt(i))return null;O=Vt(i),i=i.parentNode}}}function Ft(e,t){for(let i=e,O=t;;){if(3==i.nodeType&&O=26&&(Mt=!1);class Ht{constructor(e,t,i=!0){this.node=e,this.offset=t,this.precise=i}static before(e,t){return new Ht(e.parentNode,Vt(e),t)}static after(e,t){return new Ht(e.parentNode,Vt(e)+1,t)}}var Kt=function(e){return e[e.LTR=0]="LTR",e[e.RTL=1]="RTL",e}(Kt||(Kt={}));const Jt=Kt.LTR,ei=Kt.RTL;function ti(e){let t=[];for(let i=0;i=t){if(s.level==i)return r;(n<0||(0!=O?O<0?s.fromt:e[n].level>s.level))&&(n=r)}}if(n<0)throw new RangeError("Index out of range");return n}}function li(e,t){if(e.length!=t.length)return!1;for(let i=0;ia&&s.push(new ai(a,$.from,d)),di(e,$.direction==Jt!=!(d%2)?O+1:O,n,$.inner,$.from,$.to,s),a=$.to),u=$.to}else{if(u==i||(t?hi[u]!=o:hi[u]==o))break;u++}c?ci(e,a,u,O+1,n,c,s):at;){let i=!0,h=!1;if(!l||a>r[l-1].to){let e=hi[a-1];e!=o&&(i=!1,h=16==e)}let c=i||1!=o?null:[],d=i?O:O+1,u=a;e:for(;;)if(l&&u==r[l-1].to){if(h)break e;let $=r[--l];if(!i)for(let e=$.from,i=l;;){if(e==t)break e;if(!i||r[i-1].to!=e){if(hi[e-1]==o)break e;break}e=r[--i].from}c?c.push($):($.to=0;e-=3)if(ri[e+1]==-i){let t=ri[e+2],i=2&t?n:4&t?1&t?r:n:0;i&&(hi[s]=hi[ri[e]]=i),o=e;break}}else{if(189==ri.length)break;ri[o++]=s,ri[o++]=t,ri[o++]=a}else if(2==(O=hi[s])||1==O){let e=O==n;a=e?0:1;for(let t=o-3;t>=0;t-=3){let i=ri[t+2];if(2&i)break;if(e)ri[t+2]|=2;else{if(4&i)break;ri[t+2]|=4}}}}}(e,n,r,O,o),function(e,t,i,O){for(let n=0,r=O;n<=i.length;n++){let s=n?i[n-1].to:e,o=na;)t==r&&(t=i[--O].from,r=O?i[O-1].to:e),hi[--t]=h;a=s}else r=s,a++}}}(n,r,O,o),ci(e,n,r,t,i,O,s)}function ui(e){return[new ai(0,e,0)]}let $i="";function fi(e,t,i,O,n){var r;let s=O.head-e.from,o=ai.find(t,s,null!==(r=O.bidiLevel)&&void 0!==r?r:-1,O.assoc),a=t[o],l=a.side(n,i);if(s==l){let e=o+=n?1:-1;if(e<0||e>=t.length)return null;a=t[o=e],s=a.side(!n,i),l=a.side(n,i)}let h=P(e.text,s,a.forward(n,i));(ha.to)&&(h=l),$i=e.text.slice(Math.min(s,h),Math.max(s,h));let c=o==(n?t.length-1:0)?null:t[o+(n?1:-1)];return c&&h==l&&c.level+(n?0:1)e.some(e=>e)}),xi=j.define({combine:e=>e.some(e=>e)}),Xi=j.define();class ki{constructor(e,t,i,O,n,r=!1){this.range=e,this.y=t,this.x=i,this.yMargin=O,this.xMargin=n,this.isSnapshot=r}map(e){return e.empty?this:new ki(this.range.map(e),this.y,this.x,this.yMargin,this.xMargin,this.isSnapshot)}clip(e){return this.range.to<=e.doc.length?this:new ki(q.cursor(e.doc.length),this.y,this.x,this.yMargin,this.xMargin,this.isSnapshot)}}const Zi=ce.define({map:(e,t)=>e.map(t)}),Ri=ce.define();function zi(e,t,i){let O=e.facet(Si);O.length?O[0](t):window.onerror&&window.onerror(String(t),i,void 0,void 0,t)}const _i=j.define({combine:e=>!e.length||e[0]});let Vi=0;const Yi=j.define({combine:e=>e.filter((t,i)=>{for(let O=0;O{let t=[];return r&&t.push(Gi.of(t=>{let i=t.plugin(e);return i?r(i):Tt.none})),n&&t.push(n(e)),t})}static fromClass(e,t){return qi.define((t,i)=>new e(t,i),t)}}class Wi{constructor(e){this.spec=e,this.mustUpdate=null,this.value=null}get plugin(){return this.spec&&this.spec.plugin}update(e){if(this.value){if(this.mustUpdate){let e=this.mustUpdate;if(this.mustUpdate=null,this.value.update)try{this.value.update(e)}catch(t){if(zi(e.state,t,"CodeMirror plugin crashed"),this.value.destroy)try{this.value.destroy()}catch(e){}this.deactivate()}}}else if(this.spec)try{this.value=this.spec.plugin.create(e,this.spec.arg)}catch(t){zi(e.state,t,"CodeMirror plugin crashed"),this.deactivate()}return this}destroy(e){var t;if(null===(t=this.value)||void 0===t?void 0:t.destroy)try{this.value.destroy()}catch(t){zi(e.state,t,"CodeMirror plugin crashed")}}deactivate(){this.spec=this.value=null}}const Ui=j.define(),ji=j.define(),Gi=j.define(),Ci=j.define(),Ai=j.define(),Ei=j.define(),Mi=j.define();function Di(e,t){let i=e.state.facet(Mi);if(!i.length)return i;let O=i.map(t=>t instanceof Function?t(e):t),n=[];return ke.spans(O,t.from,t.to,{point(){},span(e,i,O,r){let s=e-t.from,o=i-t.from,a=n;for(let e=O.length-1;e>=0;e--,r--){let i,n=O[e].spec.bidiIsolate;if(null==n&&(n=pi(t.text,s,o)),r>0&&a.length&&(i=a[a.length-1]).to==s&&i.direction==n)i.to=o,a=i.inner;else{let e={from:s,to:o,direction:n,inner:[]};a.push(e),a=e.inner}}}}),n}const Li=j.define();function Ii(e){let t=0,i=0,O=0,n=0;for(let r of e.state.facet(Li)){let s=r(e);s&&(null!=s.left&&(t=Math.max(t,s.left)),null!=s.right&&(i=Math.max(i,s.right)),null!=s.top&&(O=Math.max(O,s.top)),null!=s.bottom&&(n=Math.max(n,s.bottom)))}return{left:t,right:i,top:O,bottom:n}}const Ni=j.define();class Bi{constructor(e,t,i,O){this.fromA=e,this.toA=t,this.fromB=i,this.toB=O}join(e){return new Bi(Math.min(this.fromA,e.fromA),Math.max(this.toA,e.toA),Math.min(this.fromB,e.fromB),Math.max(this.toB,e.toB))}addToSet(e){let t=e.length,i=this;for(;t>0;t--){let O=e[t-1];if(!(O.fromA>i.toA)){if(O.toAO.push(new Bi(e,t,i,n))),this.changedRanges=O}static create(e,t,i){return new Fi(e,t,i)}get viewportChanged(){return(4&this.flags)>0}get viewportMoved(){return(8&this.flags)>0}get heightChanged(){return(2&this.flags)>0}get geometryChanged(){return this.docChanged||(18&this.flags)>0}get focusChanged(){return(1&this.flags)>0}get docChanged(){return!this.changes.empty}get selectionSet(){return this.transactions.some(e=>e.selection)}get empty(){return 0==this.flags&&0==this.transactions.length}}const Hi=[];class Ki{constructor(e,t,i=0){this.dom=e,this.length=t,this.flags=i,this.parent=null,e.cmTile=this}get breakAfter(){return 1&this.flags}get children(){return Hi}isWidget(){return!1}get isHidden(){return!1}isComposite(){return!1}isLine(){return!1}isText(){return!1}isBlock(){return!1}get domAttrs(){return null}sync(e){if(this.flags|=2,4&this.flags){this.flags&=-5;let e=this.domAttrs;e&&function(e,t){for(let i=e.attributes.length-1;i>=0;i--){let O=e.attributes[i].name;null==t[O]&&e.removeAttribute(O)}for(let i in t){let O=t[i];"style"==i?e.style.cssText=O:e.getAttribute(i)!=O&&e.setAttribute(i,O)}}(this.dom,e)}}toString(){return this.constructor.name+(this.children.length?`(${this.children})`:"")+(this.breakAfter?"#":"")}destroy(){this.parent=null}setDOM(e){this.dom=e,e.cmTile=this}get posAtStart(){return this.parent?this.parent.posBefore(this):0}get posAtEnd(){return this.posAtStart+this.length}posBefore(e,t=this.posAtStart){let i=t;for(let t of this.children){if(t==e)return i;i+=t.length+t.breakAfter}throw new RangeError("Invalid child in posBefore")}posAfter(e){return this.posBefore(e)+e.length}covers(e){return!0}coordsIn(e,t){return null}domPosFor(e,t){let i=Vt(this.dom),O=this.length?e>0:t>0;return new Ht(this.parent.dom,i+(O?1:0),0==e||e==this.length)}markDirty(e){this.flags&=-3,e&&(this.flags|=4),this.parent&&2&this.parent.flags&&this.parent.markDirty(!1)}get overrideDOMText(){return null}get root(){for(let e=this;e;e=e.parent)if(e instanceof tO)return e;return null}static get(e){return e.cmTile}}class Ji extends Ki{constructor(e){super(e,0),this._children=[]}isComposite(){return!0}get children(){return this._children}get lastChild(){return this.children.length?this.children[this.children.length-1]:null}append(e){this.children.push(e),e.parent=this}sync(e){if(2&this.flags)return;super.sync(e);let t,i=this.dom,O=null,n=(null==e?void 0:e.node)==i?e:null,r=0;for(let s of this.children){if(s.sync(e),r+=s.length+s.breakAfter,t=O?O.nextSibling:i.firstChild,n&&t!=s.dom&&(n.written=!0),s.dom.parentNode==i)for(;t&&t!=s.dom;)t=eO(t);else i.insertBefore(s.dom,t);O=s.dom}for(t=O?O.nextSibling:i.firstChild,n&&t&&(n.written=!0);t;)t=eO(t);this.length=r}}function eO(e){let t=e.nextSibling;return e.parentNode.removeChild(e),t}class tO extends Ji{constructor(e,t){super(t),this.view=e}owns(e){for(;e;e=e.parent)if(e==this)return!0;return!1}isBlock(){return!0}nearest(e){for(;;){if(!e)return null;let t=Ki.get(e);if(t&&this.owns(t))return t;e=e.parentNode}}blockTiles(e){for(let t=[],i=this,O=0,n=0;;)if(O==i.children.length){if(!t.length)return;i=i.parent,i.breakAfter&&n++,O=t.pop()}else{let r=i.children[O++];if(r instanceof iO)t.push(O),i=r,O=0;else{let t=n+r.length,i=e(r,n);if(void 0!==i)return i;n=t+r.breakAfter}}}resolveBlock(e,t){let i,O,n=-1,r=-1;if(this.blockTiles((s,o)=>{let a=o+s.length;if(e>=o&&e<=a){if(s.isWidget()&&t>=-1&&t<=1){if(32&s.flags)return!0;16&s.flags&&(i=void 0)}(oe||e==o&&(t>1?s.length:s.covers(-1)))&&(!O||!s.isWidget()&&O.isWidget())&&(O=s,r=e-o)}}),!i&&!O)throw new Error("No tile at position "+e);return i&&t<0||!O?{tile:i,offset:n}:{tile:O,offset:r}}}class iO extends Ji{constructor(e,t){super(e),this.wrapper=t}isBlock(){return!0}covers(e){return!!this.children.length&&(e<0?this.children[0].covers(-1):this.lastChild.covers(1))}get domAttrs(){return this.wrapper.attributes}static of(e,t){let i=new iO(t||document.createElement(e.tagName),e);return t||(i.flags|=4),i}}class OO extends Ji{constructor(e,t){super(e),this.attrs=t}isLine(){return!0}static start(e,t,i){let O=new OO(t||document.createElement("div"),e);return t&&i||(O.flags|=4),O}get domAttrs(){return this.attrs}resolveInline(e,t,i){let O=null,n=-1,r=null,s=-1;!function e(o,a){for(let l=0,h=0;l=a&&(c.isComposite()?e(c,a-h):(!r||r.isHidden&&(t>0||i&&nO(r,c)))&&(d>a||32&c.flags)?(r=c,s=a-h):(hi&&(e=i);let O=e,n=e,r=0;0==e&&t<0||e==i&&t>=0?$t.chrome||$t.gecko||(e?(O--,r=1):n=0)?0:s.length-1];return $t.safari&&!r&&0==o.width&&(o=Array.prototype.find.call(s,e=>e.width)||o),r?Ut(o,r<0):o||null}static of(e,t){let i=new sO(t||document.createTextNode(e),e);return t||(i.flags|=2),i}}class oO extends Ki{constructor(e,t,i,O){super(e,t,O),this.widget=i}isWidget(){return!0}get isHidden(){return this.widget.isHidden}covers(e){return!(48&this.flags)&&(this.flags&(e<0?64:128))>0}coordsIn(e,t){return this.coordsInWidget(e,t,!1)}coordsInWidget(e,t,i){let O=this.widget.coordsAt(this.dom,e,t);if(O)return O;if(i)return Ut(this.dom.getBoundingClientRect(),this.length?0==e:t<=0);{let t=this.dom.getClientRects(),i=null;if(!t.length)return null;let O=!!(16&this.flags)||!(32&this.flags)&&e>0;for(let n=O?t.length-1:0;i=t[n],!(e>0?0==n:n==t.length-1||i.top0;)if(O.isComposite())if(r){if(!e)break;i&&i.break(),e--,r=!1}else if(n==O.children.length){if(!e&&!s.length)break;i&&i.leave(O),r=!!O.breakAfter,({tile:O,index:n}=s.pop()),n++}else{let o=O.children[n],a=o.breakAfter;!(t>0?o.length<=e:o.length=0;e--){let i=t.marks[e],n=O.lastChild;if(n instanceof rO&&n.mark.eq(i.mark))n.dom!=i.dom&&n.setDOM(mO(i.dom)),O=n;else{if(this.cache.reused.get(i)){let e=Ki.get(i.dom);e&&e.setDOM(mO(i.dom))}let e=rO.of(i.mark,i.dom);O.append(e),O=e}this.cache.reused.set(i,2)}let n=Ki.get(e.text);n&&this.cache.reused.set(n,2);let r=new sO(e.text,e.text.nodeValue);r.flags|=8,this.pos=e.range.toB,O.append(r)}addInlineWidget(e,t,i){let O=this.afterWidget&&48&e.flags&&(48&this.afterWidget.flags)==(48&e.flags);O||this.flushBuffer();let n=this.ensureMarks(t,i);O||16&e.flags||n.append(this.getBuffer(1)),n.append(e),this.pos+=e.length,this.afterWidget=e}addMark(e,t,i){this.flushBuffer(),this.ensureMarks(t,i).append(e),this.pos+=e.length,this.afterWidget=null}addBlockWidget(e){this.getBlockPos().append(e),this.pos+=e.length,this.lastBlock=e,this.endLine()}continueWidget(e){(this.afterWidget||this.lastBlock).length+=e,this.pos+=e}addLineStart(e,t){var i;e||(e=QO);let O=OO.start(e,t||(null===(i=this.cache.find(OO))||void 0===i?void 0:i.dom),!!t);this.getBlockPos().append(this.lastBlock=this.curLine=O)}addLine(e){this.getBlockPos().append(e),this.pos+=e.length,this.lastBlock=e,this.endLine()}addBreak(){this.lastBlock.flags|=1,this.endLine(),this.pos++}addLineStartIfNotCovered(e){this.blockPosCovered()||this.addLineStart(e)}ensureLine(e){this.curLine||this.addLineStart(e)}ensureMarks(e,t){var i;let O=this.curLine;for(let n=e.length-1;n>=0;n--){let r,s=e[n];if(t>0&&(r=O.lastChild)&&r instanceof rO&&r.mark.eq(s))O=r,t--;else{let e=rO.of(s,null===(i=this.cache.find(rO,e=>e.mark.eq(s)))||void 0===i?void 0:i.dom);O.append(e),O=e,t=0}}return O}endLine(){if(this.curLine){this.flushBuffer();let e=this.curLine.lastChild;e&&pO(this.curLine,!1)&&("BR"==e.dom.nodeName||!e.isWidget()||$t.ios&&pO(this.curLine,!0))||this.curLine.append(this.cache.findWidget(SO,0,32)||new oO(SO.toDOM(),0,SO,32)),this.curLine=this.afterWidget=null}}updateBlockWrappers(){this.wrapperPos>this.pos+1e4&&(this.blockWrappers.goto(this.pos),this.wrappers.length=0);for(let e=this.wrappers.length-1;e>=0;e--)this.wrappers[e].to=this.pos){let t=102*e.rank+e.value.rank,i=new hO(e.from,e.to,e.value,t),O=this.wrappers.length;for(;O>0&&(this.wrappers[O-1].rank-i.rank||this.wrappers[O-1].to-i.to)<0;)O--;this.wrappers.splice(O,0,i)}this.wrapperPos=this.pos}getBlockPos(){var e;this.updateBlockWrappers();let t=this.root;for(let i of this.wrappers){let O=t.lastChild;if(i.frome.wrapper.eq(i.wrapper)))||void 0===e?void 0:e.dom);t.append(O),t=O}}return t}blockPosCovered(){let e=this.lastBlock;return null!=e&&!e.breakAfter&&(!e.isWidget()||(160&e.flags)>0)}getBuffer(e){let t=2|(e<0?16:32),i=this.cache.find(aO,void 0,1);return i&&(i.flags=t),i||new aO(t)}flushBuffer(){!this.afterWidget||32&this.afterWidget.flags||(this.afterWidget.parent.append(this.getBuffer(-1)),this.afterWidget=null)}}class dO{constructor(e){this.skipCount=0,this.text="",this.textOff=0,this.cursor=e.iter()}skip(e){this.textOff+e<=this.text.length?this.textOff+=e:(this.skipCount+=e-(this.text.length-this.textOff),this.text="",this.textOff=0)}next(e){if(this.textOff==this.text.length){let{value:t,lineBreak:i,done:O}=this.cursor.next(this.skipCount);if(this.skipCount=0,O)throw new Error("Ran out of text content when drawing inline views");this.text=t;let n=this.textOff=Math.min(e,t.length);return i?null:t.slice(0,n)}let t=Math.min(this.text.length,this.textOff+e),i=this.text.slice(this.textOff,t);return this.textOff=t,i}}const uO=[oO,OO,sO,rO,aO,iO,tO];for(let e=0;e[]),this.index=uO.map(()=>0),this.reused=new Map}add(e){let t=e.constructor.bucket,i=this.buckets[t];i.length<6?i.push(e):i[this.index[t]=(this.index[t]+1)%6]=e}find(e,t,i=2){let O=e.bucket,n=this.buckets[O],r=this.index[O];for(let e=n.length-1;e>=0;e--){let s=(e+r)%n.length,o=n[s];if((!t||t(o))&&!this.reused.has(o))return n.splice(s,1),s{if(this.cache.add(e),e.isComposite())return!1},enter:e=>this.cache.add(e),leave:()=>{},break:()=>{}}}run(e,t){let i=t&&this.getCompositionContext(t.text);for(let O=0,n=0,r=0;;){let s=rO){let e=o-O;this.preserve(e,!r,!s),O=o,n+=e}if(!s)break;t&&s.fromA<=t.range.fromA&&s.toA>=t.range.toA?(this.forward(s.fromA,t.range.fromA,t.range.fromA1;i--){let O=i==e.parents.length?e.tile:e.parents[i].tile;O instanceof rO&&t.push(O.mark)}return t}(this.old),n=this.openMarks;this.old.advance(e,i?1:-1,{skip:(e,t,i)=>{if(e.isWidget())if(this.openWidget)this.builder.continueWidget(i-t);else{let r=i>0||t{e.isLine()?this.builder.addLineStart(e.attrs,this.cache.maybeReuse(e)):(this.cache.add(e),e instanceof rO&&O.unshift(e.mark)),this.openWidget=!1},leave:e=>{e.isLine()?O.length&&(O.length=n=0):e instanceof rO&&(O.shift(),n=Math.min(n,O.length))},break:()=>{this.builder.addBreak(),this.openWidget=!1}}),this.text.skip(e)}emit(e,t){let i=null,O=this.builder,n=0,r=ke.spans(this.decorations,e,t,{point:(e,t,r,s,o,a)=>{if(r instanceof wt){if(this.disallowBlockEffectsFor[a]){if(r.block)throw new RangeError("Block decorations may not be specified via plugins");if(t>this.view.state.doc.lineAt(e).to)throw new RangeError("Decorations that replace line breaks may not be specified via plugins")}if(n=s.length,o>s.length)O.continueWidget(t-e);else{let n=r.widget||(r.block?gO.block:gO.inline),a=function(e){let t=e.isReplace?(e.startSide<0?64:0)|(e.endSide>0?128:0):e.startSide>0?32:16;return e.block&&(t|=256),t}(r),l=this.cache.findWidget(n,t-e,a)||oO.of(n,this.view,t-e,a);r.block?(r.startSide>0&&O.addLineStartIfNotCovered(i),O.addBlockWidget(l)):(O.ensureLine(i),O.addInlineWidget(l,s,o))}i=null}else i=function(e,t){let i=t.spec.attributes,O=t.spec.class;return i||O?(e||(e={class:"cm-line"}),i&&ft(i,e),O&&(e.class+=" "+O),e):e}(i,r);t>e&&this.text.skip(t-e)},span:(e,t,n,r)=>{for(let s=e;sn,this.openMarks=r}forward(e,t,i=1){t-e<=10?this.old.advance(t-e,i,this.reuseWalker):(this.old.advance(5,-1,this.reuseWalker),this.old.advance(t-e-10,-1),this.old.advance(5,i,this.reuseWalker))}getCompositionContext(e){let t=[],i=null;for(let O=e.parentNode;;O=O.parentNode){let e=Ki.get(O);if(O==this.view.contentDOM)break;e instanceof rO?t.push(e):(null==e?void 0:e.isLine())?i=e:e instanceof iO||("DIV"!=O.nodeName||i||O==this.view.contentDOM?i||t.push(rO.of(new yt({tagName:O.nodeName.toLowerCase(),attributes:gt(O)}),O)):i=new OO(O,QO))}return{line:i,marks:t}}}function pO(e,t){let i=e=>{for(let O of e.children)if((t?O.isText():O.length)||i(O))return!0;return!1};return i(e)}const QO={class:"cm-line"};function mO(e){let t=Ki.get(e);return t&&t.setDOM(e.cloneNode()),e}class gO extends St{constructor(e){super(),this.tag=e}eq(e){return e.tag==this.tag}toDOM(){return document.createElement(this.tag)}updateDOM(e){return e.nodeName.toLowerCase()==this.tag}get isHidden(){return!0}}gO.inline=new gO("span"),gO.block=new gO("div");const SO=new class extends St{toDOM(){return document.createElement("br")}get isHidden(){return!0}get editable(){return!0}};class PO{constructor(e){this.view=e,this.decorations=[],this.blockWrappers=[],this.dynamicDecorationMap=[!1],this.domChanged=null,this.hasComposition=null,this.editContextFormatting=Tt.none,this.lastCompositionAfterCursor=!1,this.minWidth=0,this.minWidthFrom=0,this.minWidthTo=0,this.impreciseAnchor=null,this.impreciseHead=null,this.forceSelection=!1,this.lastUpdate=Date.now(),this.updateDeco(),this.tile=new tO(e,e.contentDOM),this.updateInner([new Bi(0,0,0,e.state.doc.length)],null)}update(e){var t;let i=e.changedRanges;this.minWidth>0&&i.length&&(i.every(({fromA:e,toA:t})=>tthis.minWidthTo)?(this.minWidthFrom=e.changes.mapPos(this.minWidthFrom,1),this.minWidthTo=e.changes.mapPos(this.minWidthTo,1)):this.minWidth=this.minWidthFrom=this.minWidthTo=0),this.updateEditContextFormatting(e);let O=-1;this.view.inputState.composing>=0&&!this.view.observer.editContext&&((null===(t=this.domChanged)||void 0===t?void 0:t.newSel)?O=this.domChanged.newSel.head:function(e,t){let i=!1;return t&&e.iterChangedRanges((e,O)=>{et.from&&(i=!0)}),i}(e.changes,this.hasComposition)||e.selectionSet||(O=e.state.selection.main.head));let n=O>-1?function(e,t,i){let O=yO(e,i);if(!O)return null;let{node:n,from:r,to:s}=O,o=n.nodeValue;if(/[\n\r]/.test(o))return null;if(e.state.doc.sliceString(O.from,O.to)!=o)return null;let a=t.invertedDesc;return{range:new Bi(a.mapPos(r),a.mapPos(s),r,s),text:n}}(this.view,e.changes,O):null;if(this.domChanged=null,this.hasComposition){let{from:t,to:O}=this.hasComposition;i=new Bi(t,O,e.changes.mapPos(t,-1),e.changes.mapPos(O,1)).addToSet(i.slice())}this.hasComposition=n?{from:n.range.fromB,to:n.range.toB}:null,($t.ie||$t.chrome)&&!n&&e&&e.state.doc.lines!=e.startState.doc.lines&&(this.forceSelection=!0);let r=this.decorations,s=this.blockWrappers;this.updateDeco();let o=function(e,t,i){let O=new vO;return ke.compare(e,t,i,O),O.changes}(r,this.decorations,e.changes);o.length&&(i=Bi.extendWithRanges(i,o));let a=function(e,t,i){let O=new wO;return ke.compare(e,t,i,O),O.changes}(s,this.blockWrappers,e.changes);return a.length&&(i=Bi.extendWithRanges(i,a)),n&&!i.some(e=>e.fromA<=n.range.fromA&&e.toA>=n.range.toA)&&(i=n.range.addToSet(i.slice())),!(2&this.tile.flags&&0==i.length||(this.updateInner(i,n),e.transactions.length&&(this.lastUpdate=Date.now()),0))}updateInner(e,t){this.view.viewState.mustMeasureContent=!0;let{observer:i}=this.view;i.ignore(()=>{if(t||e.length){let i=this.tile,O=new fO(this.view,i,this.blockWrappers,this.decorations,this.dynamicDecorationMap);t&&Ki.get(t.text)&&O.cache.reused.set(Ki.get(t.text),2),this.tile=O.run(e,t),TO(i,O.cache.reused)}this.tile.dom.style.height=this.view.viewState.contentHeight/this.view.scaleY+"px",this.tile.dom.style.flexBasis=this.minWidth?this.minWidth+"px":"";let O=$t.chrome||$t.ios?{node:i.selectionRange.focusNode,written:!1}:void 0;this.tile.sync(O),!O||!O.written&&i.selectionRange.focusNode==O.node&&this.tile.dom.contains(O.node)||(this.forceSelection=!0),this.tile.dom.style.height=""});let O=[];if(this.view.viewport.from||this.view.viewport.to-1)&&Rt(i,this.view.observer.selectionRange)&&!(O&&i.contains(O));if(!(n||t||r))return;let s=this.forceSelection;this.forceSelection=!1;let o,a,l=this.view.state.selection.main;if(l.empty?a=o=this.inlineDOMNearPos(l.anchor,l.assoc||1):(a=this.inlineDOMNearPos(l.head,l.head==l.from?1:-1),o=this.inlineDOMNearPos(l.anchor,l.anchor==l.from?1:-1)),$t.gecko&&l.empty&&!this.hasComposition&&1==(h=o).node.nodeType&&h.node.firstChild&&(0==h.offset||"false"==h.node.childNodes[h.offset-1].contentEditable)&&(h.offset==h.node.childNodes.length||"false"==h.node.childNodes[h.offset].contentEditable)){let e=document.createTextNode("");this.view.observer.ignore(()=>o.node.insertBefore(e,o.node.childNodes[o.offset]||null)),o=a=new Ht(e,0),s=!0}var h;let c=this.view.observer.selectionRange;!s&&c.focusNode&&(_t(o.node,o.offset,c.anchorNode,c.anchorOffset)&&_t(a.node,a.offset,c.focusNode,c.focusOffset)||this.suppressWidgetCursorChange(c,l))||(this.view.observer.ignore(()=>{$t.android&&$t.chrome&&i.contains(c.focusNode)&&function(e,t){for(let i=e;i&&i!=t;i=i.assignedSlot||i.parentNode)if(1==i.nodeType&&"false"==i.contentEditable)return!0;return!1}(c.focusNode,i)&&(i.blur(),i.focus({preventScroll:!0}));let e=kt(this.view.root);if(e)if(l.empty){if($t.gecko){let e=(t=o.node,n=o.offset,1!=t.nodeType?0:(n&&"false"==t.childNodes[n-1].contentEditable?1:0)|(nl.head&&([o,a]=[a,o]),t.setEnd(a.node,a.offset),t.setStart(o.node,o.offset),e.removeAllRanges(),e.addRange(t)}var t,n;r&&this.view.root.activeElement==i&&(i.blur(),O&&O.focus())}),this.view.observer.setSelectionRange(o,a)),this.impreciseAnchor=o.precise?null:new Ht(c.anchorNode,c.anchorOffset),this.impreciseHead=a.precise?null:new Ht(c.focusNode,c.focusOffset)}suppressWidgetCursorChange(e,t){return this.hasComposition&&t.empty&&_t(e.focusNode,e.focusOffset,e.anchorNode,e.anchorOffset)&&this.posFromDOM(e.focusNode,e.focusOffset)==t.head}enforceCursorAssoc(){if(this.hasComposition)return;let{view:e}=this,t=e.state.selection.main,i=kt(e.root),{anchorNode:O,anchorOffset:n}=e.observer.selectionRange;if(!(i&&t.empty&&t.assoc&&i.modify))return;let r=this.lineAt(t.head,t.assoc);if(!r)return;let s=r.posAtStart;if(t.head==s||t.head==s+r.length)return;let o=this.coordsAt(t.head,-1),a=this.coordsAt(t.head,1);if(!o||!a||o.bottom>a.top)return;let l=this.domAtPos(t.head+t.assoc,t.assoc);i.collapse(l.node,l.offset),i.modify("move",t.assoc<0?"forward":"backward","lineboundary"),e.observer.readSelectionRange();let h=e.observer.selectionRange;e.docView.posFromDOM(h.anchorNode,h.anchorOffset)!=t.from&&i.collapse(O,n)}posFromDOM(e,t){let i=this.tile.nearest(e);if(!i)return 2&this.tile.dom.compareDocumentPosition(e)?0:this.view.state.doc.length;let O=i.posAtStart;if(!i.isComposite())return i.isText()?e==i.dom?O+t:O+(t?i.length:0):O;{let n;if(e==i.dom)n=i.dom.childNodes[t];else{let O=0==Wt(e)?0:0==t?-1:1;for(;;){let t=e.parentNode;if(t==i.dom)break;0==O&&t.firstChild!=t.lastChild&&(O=e==t.firstChild?-1:1),e=t}n=O<0?e:e.nextSibling}if(n==i.dom.firstChild)return O;for(;n&&!Ki.get(n);)n=n.nextSibling;if(!n)return O+i.length;for(let e=0,t=O;;e++){let O=i.children[e];if(O.dom==n)return t;t+=O.length+O.breakAfter}}}domAtPos(e,t){let{tile:i,offset:O}=this.tile.resolveBlock(e,t);return i.isWidget()?i.domPosFor(e,t):i.domIn(O,t)}inlineDOMNearPos(e,t){let i,O,n=-1,r=!1,s=-1,o=!1;return this.tile.blockTiles((t,a)=>{if(t.isWidget()){if(32&t.flags&&a>=e)return!0;16&t.flags&&(r=!0)}else{let l=a+t.length;if(a<=e&&(i=t,n=e-a,r=l=e&&!O&&(O=t,s=e-a,o=a>e),a>e&&O)return!0}}),i||O?(r&&O?i=null:o&&i&&(O=null),i&&t<0||!O?i.domIn(n,t):O.domIn(s,t)):this.domAtPos(e,t)}coordsAt(e,t){let{tile:i,offset:O}=this.tile.resolveBlock(e,t);return i.isWidget()?i.widget instanceof bO?null:i.coordsInWidget(O,t,!0):i.coordsIn(O,t)}lineAt(e,t){let{tile:i}=this.tile.resolveBlock(e,t);return i.isLine()?i:null}coordsForChar(e){let{tile:t,offset:i}=this.tile.resolveBlock(e,1);return t.isLine()?function e(t,i){if(t.isComposite())for(let O of t.children){if(O.length>=i){let t=e(O,i);if(t)return t}if((i-=O.length)<0)break}else if(t.isText()&&iMath.max(this.view.scrollDOM.clientWidth,this.minWidth)+1,s=-1,o=this.view.textDirection==Kt.LTR,a=0,l=(e,h,c)=>{for(let d=0;dO);d++){let O=e.children[d],u=h+O.length,$=O.dom.getBoundingClientRect(),{height:f}=$;if(c&&!d&&(a+=$.top-c.top),O instanceof iO)u>i&&l(O,h,$);else if(h>=i&&(a>0&&t.push(-a),t.push(f+a),a=0,r)){let e=O.dom.lastChild,t=e?zt(e):[];if(t.length){let e=t[t.length-1],i=o?e.right-$.left:$.right-e.left;i>s&&(s=i,this.minWidth=n,this.minWidthFrom=h,this.minWidthTo=u)}}c&&d==e.children.length-1&&(a+=c.bottom-$.bottom),h=u+O.breakAfter}};return l(this.tile,0,null),t}textDirectionAt(e){let{tile:t}=this.tile.resolveBlock(e,1);return"rtl"==getComputedStyle(t.dom).direction?Kt.RTL:Kt.LTR}measureTextSize(){let e=this.tile.blockTiles(e=>{if(e.isLine()&&e.children.length&&e.length<=20){let t,i=0;for(let O of e.children){if(!O.isText()||/[^ -~]/.test(O.text))return;let e=zt(O.dom);if(1!=e.length)return;i+=e[0].width,t=e[0].height}if(i)return{lineHeight:e.dom.getBoundingClientRect().height,charWidth:i/e.length,textHeight:t}}});if(e)return e;let t,i,O,n=document.createElement("div");return n.className="cm-line",n.style.width="99999px",n.style.position="absolute",n.textContent="abc def ghi jkl mno pqr stu",this.view.observer.ignore(()=>{this.tile.dom.appendChild(n);let e=zt(n.firstChild)[0];t=n.getBoundingClientRect().height,i=e&&e.width?e.width/27:7,O=e&&e.height?e.height:t,n.remove()}),{lineHeight:t,charWidth:i,textHeight:O}}computeBlockGapDeco(){let e=[],t=this.view.viewState;for(let i=0,O=0;;O++){let n=O==t.viewports.length?null:t.viewports[O],r=n?n.from-1:this.view.state.doc.length;if(r>i){let O=(t.lineBlockAt(r).bottom-t.lineBlockAt(i).top)/this.view.scaleY;e.push(Tt.replace({widget:new bO(O),block:!0,inclusive:!0,isBlockGap:!0}).range(i,r))}if(!n)break;i=n.to+1}return Tt.set(e)}updateDeco(){let e=1,t=this.view.state.facet(Gi).map(t=>(this.dynamicDecorationMap[e++]="function"==typeof t)?t(this.view):t),i=!1,O=this.view.state.facet(Ai).map((e,t)=>{let O="function"==typeof e;return O&&(i=!0),O?e(this.view):e});for(O.length&&(this.dynamicDecorationMap[e++]=i,t.push(ke.join(O))),this.decorations=[this.editContextFormatting,...t,this.computeBlockGapDeco(),this.view.viewState.lineGapDeco];e"function"==typeof e?e(this.view):e)}scrollIntoView(e){var t;if(e.isSnapshot){let t=this.view.viewState.lineBlockAt(e.range.head);return this.view.scrollDOM.scrollTop=t.top-e.yMargin,void(this.view.scrollDOM.scrollLeft=e.xMargin)}for(let t of this.view.state.facet(Xi))try{if(t(this.view,e.range,e))return!0}catch(e){zi(this.view.state,e,"scroll handler")}let i,{range:O}=e,n=this.coordsAt(O.head,null!==(t=O.assoc)&&void 0!==t?t:O.empty?0:O.head>O.anchor?-1:1);if(!n)return;!O.empty&&(i=this.coordsAt(O.anchor,O.anchor>O.head?-1:1))&&(n={left:Math.min(n.left,i.left),top:Math.min(n.top,i.top),right:Math.max(n.right,i.right),bottom:Math.max(n.bottom,i.bottom)});let r=Ii(this.view),s={left:n.left-r.left,top:n.top-r.top,right:n.right+r.right,bottom:n.bottom+r.bottom},{offsetWidth:o,offsetHeight:a}=this.view.scrollDOM;if(function(e,t,i,O,n,r,s,o){let a=e.ownerDocument,l=a.defaultView||window;for(let h=e,c=!1;h&&!c;)if(1==h.nodeType){let e,d=h==a.body,u=1,$=1;if(d)e=jt(l);else{if(/^(fixed|sticky)$/.test(getComputedStyle(h).position)&&(c=!0),h.scrollHeight<=h.clientHeight&&h.scrollWidth<=h.clientWidth){h=h.assignedSlot||h.parentNode;continue}let t=h.getBoundingClientRect();({scaleX:u,scaleY:$}=Gt(h,t)),e={left:t.left,right:t.left+h.clientWidth*u,top:t.top,bottom:t.top+h.clientHeight*$}}let f=0,p=0;if("nearest"==n)t.top0&&t.bottom>e.bottom+p&&(p=t.bottom-e.bottom+s)):t.bottom>e.bottom-s&&(p=t.bottom-e.bottom+s,i<0&&t.top-p0&&t.right>e.right+f&&(f=t.right-e.right+r)):t.right>e.right-r&&(f=t.right-e.right+r,i<0&&t.lefte.bottom||t.lefte.right)&&(t={left:Math.max(t.left,e.left),right:Math.min(t.right,e.right),top:Math.max(t.top,e.top),bottom:Math.min(t.bottom,e.bottom)}),h=h.assignedSlot||h.parentNode}else{if(11!=h.nodeType)break;h=h.host}}(this.view.scrollDOM,s,O.head1&&(n.top>window.pageYOffset+window.visualViewport.offsetTop+window.visualViewport.height||n.bottome.isWidget()||e.children.some(t);return t(this.tile.resolveBlock(e,1).tile)}destroy(){TO(this.tile)}}function TO(e,t){let i=null==t?void 0:t.get(e);if(1!=i){null==i&&e.destroy();for(let i of e.children)TO(i,t)}}function yO(e,t){let i=e.observer.selectionRange;if(!i.focusNode)return null;let O=Bt(i.focusNode,i.focusOffset),n=Ft(i.focusNode,i.focusOffset),r=O||n;if(n&&O&&n.node!=O.node){let t=Ki.get(n.node);if(!t||t.isText()&&t.text!=n.node.nodeValue)r=n;else if(e.docView.lastCompositionAfterCursor){let e=Ki.get(O.node);!e||e.isText()&&e.text!=O.node.nodeValue||(r=n)}}if(e.docView.lastCompositionAfterCursor=r!=O,!r)return null;let s=t-r.offset;return{from:s,to:s+r.node.nodeValue.length,node:r.node}}let vO=class{constructor(){this.changes=[]}compareRange(e,t){xt(e,t,this.changes)}comparePoint(e,t){xt(e,t,this.changes)}boundChange(e){xt(e,e,this.changes)}};class wO{constructor(){this.changes=[]}compareRange(e,t){xt(e,t,this.changes)}comparePoint(){}boundChange(e){xt(e,e,this.changes)}}class bO extends St{constructor(e){super(),this.height=e}toDOM(){let e=document.createElement("div");return e.className="cm-gap",this.updateDOM(e),e}eq(e){return e.height==this.height}updateDOM(e){return e.style.height=this.height+"px",!0}get editable(){return!0}get estimatedHeight(){return this.height}ignoreEvent(){return!1}}function xO(e,t,i){let O=e.lineBlockAt(t);if(Array.isArray(O.type)){let e;for(let n of O.type){if(n.from>t)break;if(!(n.tot)return n;e&&(n.type!=Pt.Text||e.type==n.type&&!(i<0?n.fromt))||(e=n)}}return e||O}return O}function XO(e,t,i,O){let n=e.state.doc.lineAt(t.head),r=e.bidiSpans(n),s=e.textDirectionAt(n.from);for(let o=t,a=null;;){let t=fi(n,r,s,o,i),l=$i;if(!t){if(n.number==(i?e.state.doc.lines:1))return o;l="\n",n=e.state.doc.line(n.number+(i?1:-1)),r=e.bidiSpans(n),t=e.visualLineSide(n,!i)}if(a){if(!a(l))return o}else{if(!O)return t;a=O(l)}o=t}}function kO(e,t,i){for(;;){let O=0;for(let n of e)n.between(t-1,t+1,(e,n,r)=>{if(t>e&&tt(e)),i.from,t.head>i.from?-1:1);return O==i.from?i:q.cursor(O,Oe.viewState.docHeight)return new zO(e.state.doc.length,-1);if(n=e.elementAtHeight(l),null==O)break;if(n.type==Pt.Text){if(O<0?n.toe.viewport.to)break;let t=e.docView.coordsAt(O<0?n.from:n.to,O>0?-1:1);if(t&&(O<0?t.top<=l+s:t.bottom>=l+s))break}let t=e.viewState.heightOracle.textHeight/2;l=O>0?n.bottom+t:n.top-t}if(e.viewport.from>=n.to||e.viewport.to<=n.from){if(i)return null;if(n.type==Pt.Text){let t=function(e,t,i,O,n){let r=Math.round((O-t.left)*e.defaultCharacterWidth);if(e.lineWrapping&&i.height>1.5*e.defaultLineHeight){let t=e.viewState.heightOracle.textHeight;r+=Math.floor((n-i.top-.5*(e.defaultLineHeight-t))/t)*e.viewState.heightOracle.lineLength}let s=e.state.sliceDoc(i.from,i.to);return i.from+Ae(s,r,e.state.tabSize)}(e,r,n,o,a);return new zO(t,t==n.from?1:-1)}}if(n.type!=Pt.Text)return l<(n.top+n.bottom)/2?new zO(n.from,1):new zO(n.to,-1);let h=e.docView.lineAt(n.from,2);return h&&h.length==n.length||(h=e.docView.lineAt(n.from,-2)),new VO(e,o,a,e.textDirectionAt(n.from)).scanTile(h,n.from)}class VO{constructor(e,t,i,O){this.view=e,this.x=t,this.y=i,this.baseDir=O,this.line=null,this.spans=null}bidiSpansAt(e){return(!this.line||this.line.from>e||this.line.to1||i.length&&(i[0].level!=this.baseDir||i[0].to+O.from>1;t:if(a.has(d)){let e=s+Math.floor(Math.random()*i);for(let t=0;t1)){if(i.bottomthis.y)(!n||n.top>i.top)&&(n=i),a=-1;else{let e=i.left>this.x?this.x-i.left:i.right(i+i+s)/3)return this.y=O.bottom-1,this.scan(e,t,!0);if(n&&n.top<(i+s+s)/3)return this.y=n.top+1,this.scan(e,t,!0)}let d=(l?this.dirAt(e[h],1):this.baseDir)==Kt.LTR;return{i:h,after:this.x>(r.left+r.right)/2==d}}scanText(e,t){let i=[];for(let O=0;O{let n=i[O]-t,r=i[O+1]-t;return Lt(e.dom,n,r).getClientRects()});return O.after?new zO(i[O.i+1],-1):new zO(i[O.i],1)}scanTile(e,t){if(!e.length)return new zO(t,1);if(1==e.children.length){let i=e.children[0];if(i.isText())return this.scanText(i,t);if(i.isComposite())return this.scanTile(i,t)}let i=[t];for(let O=0,n=t;O{let i=e.children[t];return 48&i.flags?null:(1==i.dom.nodeType?i.dom:Lt(i.dom,0,i.length)).getClientRects()}),n=e.children[O.i],r=i[O.i];return n.isText()?this.scanText(n,r):n.isComposite()?this.scanTile(n,r):O.after?new zO(i[O.i+1],-1):new zO(r,1)}}const YO="￿";class qO{constructor(e,t){this.points=e,this.view=t,this.text="",this.lineSeparator=t.state.facet(Te.lineSeparator)}append(e){this.text+=e}lineBreak(){this.text+=YO}readRange(e,t){if(!e)return this;let i=e.parentNode;for(let O=e;;){this.findPointBefore(i,O);let e=this.text.length;this.readNode(O);let n=Ki.get(O),r=O.nextSibling;if(r==t){(null==n?void 0:n.breakAfter)&&!r&&i!=this.view.contentDOM&&this.lineBreak();break}let s=Ki.get(r);(n&&s?n.breakAfter:(n?n.breakAfter:Yt(O))||Yt(r)&&("BR"!=O.nodeName||(null==n?void 0:n.isWidget()))&&this.text.length>e)&&!UO(r,t)&&this.lineBreak(),O=r}return this.findPointBefore(i,t),this}readTextNode(e){let t=e.nodeValue;for(let i of this.points)i.node==e&&(i.pos=this.text.length+Math.min(i.offset,t.length));for(let i=0,O=this.lineSeparator?null:/\r\n?|\n/g;;){let n,r=-1,s=1;if(this.lineSeparator?(r=t.indexOf(this.lineSeparator,i),s=this.lineSeparator.length):(n=O.exec(t))&&(r=n.index,s=n[0].length),this.append(t.slice(i,r<0?t.length:r)),r<0)break;if(this.lineBreak(),s>1)for(let t of this.points)t.node==e&&t.pos>this.text.length&&(t.pos-=s-1);i=r+s}}readNode(e){let t=Ki.get(e),i=t&&t.overrideDOMText;if(null!=i){this.findPointInside(e,i.length);for(let e=i.iter();!e.next().done;)e.lineBreak?this.lineBreak():this.append(e.value)}else 3==e.nodeType?this.readTextNode(e):"BR"==e.nodeName?e.nextSibling&&this.lineBreak():1==e.nodeType&&this.readRange(e.firstChild,null)}findPointBefore(e,t){for(let i of this.points)i.node==e&&e.childNodes[i.offset]==t&&(i.pos=this.text.length)}findPointInside(e,t){for(let i of this.points)(3==e.nodeType?i.node==e:e.contains(i.node))&&(i.pos=this.text.length+(WO(e,i.node,i.offset)?t:0))}}function WO(e,t,i){for(;;){if(!t||i-1;let{impreciseHead:n,impreciseAnchor:r}=e.docView,s=e.state.selection;if(e.state.readOnly&&t>-1)this.newSel=null;else if(t>-1&&(this.bounds=CO(e.docView.tile,t,i,0))){let t=n||r?[]:function(e){let t=[];if(e.root.activeElement!=e.contentDOM)return t;let{anchorNode:i,anchorOffset:O,focusNode:n,focusOffset:r}=e.observer.selectionRange;return i&&(t.push(new jO(i,O)),n==i&&r==O||t.push(new jO(n,r))),t}(e),i=new qO(t,e);i.readRange(this.bounds.startDOM,this.bounds.endDOM),this.text=i.text,this.newSel=function(e,t){if(0==e.length)return null;let i=e[0].pos,O=2==e.length?e[1].pos:i;return i>-1&&O>-1?q.single(i+t,O+t):null}(t,this.bounds.from)}else{let t=e.observer.selectionRange,i=n&&n.node==t.focusNode&&n.offset==t.focusOffset||!Zt(e.contentDOM,t.focusNode)?s.main.head:e.docView.posFromDOM(t.focusNode,t.focusOffset),O=r&&r.node==t.anchorNode&&r.offset==t.anchorOffset||!Zt(e.contentDOM,t.anchorNode)?s.main.anchor:e.docView.posFromDOM(t.anchorNode,t.anchorOffset),o=e.viewport;if(($t.ios||$t.chrome)&&s.main.empty&&i!=O&&(o.from>0||o.to-1&&s.ranges.length>1)this.newSel=s.replaceRange(q.range(O,i));else if(e.lineWrapping&&O==i&&(!s.main.empty||s.main.head!=i)&&e.inputState.lastTouchTime>Date.now()-100){let t=e.coordsAtPos(i,-1),O=0;t&&(O=e.inputState.lastTouchY<=t.bottom?-1:1),this.newSel=q.create([q.cursor(i,O)])}else this.newSel=q.single(O,i)}}}function CO(e,t,i,O){if(e.isComposite()){let n=-1,r=-1,s=-1,o=-1;for(let a=0,l=O,h=O;ai)return CO(O,t,i,l);if(c>=t&&-1==n&&(n=a,r=l),l>i&&O.dom.parentNode==e.dom){s=a,o=h;break}h=c,l=c+O.breakAfter}return{from:r,to:o<0?O+e.length:o,startDOM:(n?e.children[n-1].dom.nextSibling:null)||e.dom.firstChild,endDOM:s=0?e.children[s].dom:null}}return e.isText()?{from:O,to:O+e.length,startDOM:e.dom,endDOM:e.dom.nextSibling}:null}function AO(e,t){let i,{newSel:O}=t,{state:n}=e,r=n.selection.main,s=e.inputState.lastKeyTime>Date.now()-100?e.inputState.lastKeyCode:-1;if(t.bounds){let{from:e,to:O}=t.bounds,o=r.from,a=null;(8===s||$t.android&&t.text.length=e&&r.to<=O&&(t.typeOver||d!=t.text)&&d.slice(0,r.from-e)==t.text.slice(0,r.from-e)&&d.slice(r.to-e)==t.text.slice(l=t.text.length-(d.length-(r.to-e)))?i={from:r.from,to:r.to,insert:c.of(t.text.slice(r.from-e,l).split(YO))}:(h=MO(d,t.text,o-e,a))&&($t.chrome&&13==s&&h.toB==h.from+2&&t.text.slice(h.from,h.toB)==YO+YO&&h.toB--,i={from:e+h.from,to:e+h.toA,insert:c.of(t.text.slice(h.from,h.toB).split(YO))})}else O&&(!e.hasFocus&&n.facet(_i)||DO(O,r))&&(O=null);if(!i&&!O)return!1;if(($t.mac||$t.android)&&i&&i.from==i.to&&i.from==r.head-1&&/^\. ?$/.test(i.insert.toString())&&"off"==e.contentDOM.getAttribute("autocorrect")?(O&&2==i.insert.length&&(O=q.single(O.main.anchor-1,O.main.head-1)),i={from:i.from,to:i.to,insert:c.of([i.insert.toString().replace("."," ")])}):n.doc.lineAt(r.from).toDate.now()-50?i={from:r.from,to:r.to,insert:n.toText(e.inputState.insertingText)}:$t.chrome&&i&&i.from==i.to&&i.from==r.head&&"\n "==i.insert.toString()&&e.lineWrapping&&(O&&(O=q.single(O.main.anchor-1,O.main.head-1)),i={from:r.from,to:r.to,insert:c.of([" "])}),i)return EO(e,i,O,s);if(O&&!DO(O,r)){let t=!1,i="select";return e.inputState.lastSelectionTime>Date.now()-50&&("select"==e.inputState.lastSelectionOrigin&&(t=!0),i=e.inputState.lastSelectionOrigin,"select.pointer"==i&&(O=ZO(n.facet(Ei).map(t=>t(e)),O))),e.dispatch({selection:O,scrollIntoView:t,userEvent:i}),!0}return!1}function EO(e,t,i,O=-1){if($t.ios&&e.inputState.flushIOSKey(t))return!0;let n=e.state.selection.main;if($t.android&&(t.to==n.to&&(t.from==n.from||t.from==n.from-1&&" "==e.state.sliceDoc(t.from,n.from))&&1==t.insert.length&&2==t.insert.lines&&It(e.contentDOM,"Enter",13)||(t.from==n.from-1&&t.to==n.to&&0==t.insert.length||8==O&&t.insert.lengthn.head)&&It(e.contentDOM,"Backspace",8)||t.from==n.from&&t.to==n.to+1&&0==t.insert.length&&It(e.contentDOM,"Delete",46)))return!0;let r,s=t.insert.toString();e.inputState.composing>=0&&e.inputState.composing++;let o=()=>r||(r=function(e,t,i){let O,n=e.state,r=n.selection.main,s=-1;if(t.from==t.to&&t.fromr.to){let i=t.fromt(e)),O,i);t.from==o&&(s=o)}if(s>-1)O={changes:t,selection:q.cursor(t.from+t.insert.length,-1)};else if(t.from>=r.from&&t.to<=r.to&&t.to-t.from>=(r.to-r.from)/3&&(!i||i.main.empty&&i.main.from==t.from+t.insert.length)&&e.inputState.composing<0){let i=r.fromt.to?n.sliceDoc(t.to,r.to):"";O=n.replaceSelection(e.state.toText(i+t.insert.sliceString(0,void 0,e.state.lineBreak)+s))}else{let s=n.changes(t),o=i&&i.main.to<=s.newLength?i.main:void 0;if(n.selection.ranges.length>1&&(e.inputState.composing>=0||e.inputState.compositionPendingChange)&&t.to<=r.to+10&&t.to>=r.to-10){let a,l=e.state.sliceDoc(t.from,t.to),h=i&&yO(e,i.main.head);if(h){let e=t.insert.length-(t.to-t.from);a={from:h.from,to:h.to-e}}else a=e.state.doc.lineAt(r.head);let c=r.to-t.to;O=n.changeByRange(i=>{if(i.from==r.from&&i.to==r.to)return{changes:s,range:o||i.map(s)};let O=i.to-c,h=O-l.length;if(e.state.sliceDoc(h,O)!=l||O>=a.from&&h<=a.to)return{range:i};let d=n.changes({from:h,to:O,insert:t.insert}),u=i.to-r.to;return{changes:d,range:o?q.range(Math.max(0,o.anchor+u),Math.max(0,o.head+u)):i.map(d)}})}else O={changes:s,selection:o&&n.selection.replaceRange(o)}}let o="input.type";return(e.composing||e.inputState.compositionPendingChange&&e.inputState.compositionEndedAt>Date.now()-50)&&(e.inputState.compositionPendingChange=!1,o+=".compose",e.inputState.compositionFirstChange&&(o+=".start",e.inputState.compositionFirstChange=!1)),n.update(O,{userEvent:o,scrollIntoView:!0})}(e,t,i));return e.state.facet(Ti).some(i=>i(e,t.from,t.to,s,o))||e.dispatch(o()),!0}function MO(e,t,i,O){let n=Math.min(e.length,t.length),r=0;for(;r0&&o>0&&e.charCodeAt(s-1)==t.charCodeAt(o-1);)s--,o--;return"end"==O&&(i-=s+Math.max(0,r-Math.min(s,o))-r),s=s?r-i:0,o=r+(o-s),s=r):o=o?r-i:0,s=r+(s-o),o=r),{from:r,toA:s,toB:o}}function DO(e,t){return t.head==e.main.head&&t.anchor==e.main.anchor}class LO{setSelectionOrigin(e){this.lastSelectionOrigin=e,this.lastSelectionTime=Date.now()}constructor(e){this.view=e,this.lastKeyCode=0,this.lastKeyTime=0,this.lastTouchTime=0,this.lastTouchX=0,this.lastTouchY=0,this.lastFocusTime=0,this.lastScrollTop=0,this.lastScrollLeft=0,this.lastWheelEvent=0,this.pendingIOSKey=void 0,this.tabFocusMode=-1,this.lastSelectionOrigin=null,this.lastSelectionTime=0,this.lastContextMenu=0,this.scrollHandlers=[],this.handlers=Object.create(null),this.composing=-1,this.compositionFirstChange=null,this.compositionEndedAt=0,this.compositionPendingKey=!1,this.compositionPendingChange=!1,this.insertingText="",this.insertingTextAt=0,this.mouseSelection=null,this.draggedContent=null,this.handleEvent=this.handleEvent.bind(this),this.notifiedFocused=e.hasFocus,$t.safari&&e.contentDOM.addEventListener("input",()=>null),$t.gecko&&function(e){Qn.has(e)||(Qn.add(e),e.addEventListener("copy",()=>{}),e.addEventListener("cut",()=>{}))}(e.contentDOM.ownerDocument)}handleEvent(e){(function(e,t){if(!t.bubbles)return!0;if(t.defaultPrevented)return!1;for(let i,O=t.target;O!=e.contentDOM;O=O.parentNode)if(!O||11==O.nodeType||(i=Ki.get(O))&&i.isWidget()&&!i.isHidden&&i.widget.ignoreEvent(t))return!1;return!0})(this.view,e)&&!this.ignoreDuringComposition(e)&&("keydown"==e.type&&this.keydown(e)||(0!=this.view.updateState?Promise.resolve().then(()=>this.runHandlers(e.type,e)):this.runHandlers(e.type,e)))}runHandlers(e,t){let i=this.handlers[e];if(i){for(let e of i.observers)e(this.view,t);for(let e of i.handlers){if(t.defaultPrevented)break;if(e(this.view,t)){t.preventDefault();break}}}}ensureHandlers(e){let t=NO(e),i=this.handlers,O=this.view.contentDOM;for(let e in t)if("scroll"!=e){let n=!t[e].handlers.length,r=i[e];r&&n!=!r.handlers.length&&(O.removeEventListener(e,this.handleEvent),r=null),r||O.addEventListener(e,this.handleEvent,{passive:n})}for(let e in i)"scroll"==e||t[e]||O.removeEventListener(e,this.handleEvent);this.handlers=t}keydown(e){if(this.lastKeyCode=e.keyCode,this.lastKeyTime=Date.now(),9==e.keyCode&&this.tabFocusMode>-1&&(!this.tabFocusMode||Date.now()<=this.tabFocusMode))return!0;if(this.tabFocusMode>0&&27!=e.keyCode&&HO.indexOf(e.keyCode)<0&&(this.tabFocusMode=-1),$t.android&&$t.chrome&&!e.synthetic&&(13==e.keyCode||8==e.keyCode))return this.view.observer.delayAndroidKey(e.key,e.keyCode),!0;let t;return!$t.ios||e.synthetic||e.altKey||e.metaKey||e.shiftKey||!((t=BO.find(t=>t.keyCode==e.keyCode))&&!e.ctrlKey||FO.indexOf(e.key)>-1&&e.ctrlKey)?(229!=e.keyCode&&this.view.observer.forceFlush(),!1):(this.pendingIOSKey=t||e,setTimeout(()=>this.flushIOSKey(),250),!0)}flushIOSKey(e){let t=this.pendingIOSKey;return!!t&&!("Enter"==t.key&&e&&e.from0||!!($t.safari&&!$t.ios&&this.compositionPendingKey&&Date.now()-this.compositionEndedAt<100)&&(this.compositionPendingKey=!1,!0))}startMouseSelection(e){this.mouseSelection&&this.mouseSelection.destroy(),this.mouseSelection=e}update(e){this.view.observer.update(e),this.mouseSelection&&this.mouseSelection.update(e),this.draggedContent&&e.docChanged&&(this.draggedContent=this.draggedContent.map(e.changes)),e.transactions.length&&(this.lastKeyCode=this.lastSelectionTime=0)}destroy(){this.mouseSelection&&this.mouseSelection.destroy()}}function IO(e,t){return(i,O)=>{try{return t.call(e,O,i)}catch(e){zi(i.state,e)}}}function NO(e){let t=Object.create(null);function i(e){return t[e]||(t[e]={observers:[],handlers:[]})}for(let t of e){let e=t.spec,O=e&&e.plugin.domEventHandlers,n=e&&e.plugin.domEventObservers;if(O)for(let e in O){let n=O[e];n&&i(e).handlers.push(IO(t.value,n))}if(n)for(let e in n){let O=n[e];O&&i(e).observers.push(IO(t.value,O))}}for(let e in en)i(e).handlers.push(en[e]);for(let e in tn)i(e).observers.push(tn[e]);return t}const BO=[{key:"Backspace",keyCode:8,inputType:"deleteContentBackward"},{key:"Enter",keyCode:13,inputType:"insertParagraph"},{key:"Enter",keyCode:13,inputType:"insertLineBreak"},{key:"Delete",keyCode:46,inputType:"deleteContentForward"}],FO="dthko",HO=[16,17,18,20,91,92,224,225];function KO(e){return.7*Math.max(0,e)+8}class JO{constructor(e,t,i,O){this.view=e,this.startEvent=t,this.style=i,this.mustSelect=O,this.scrollSpeed={x:0,y:0},this.scrolling=-1,this.lastEvent=t,this.scrollParents=Ct(e.contentDOM),this.atoms=e.state.facet(Ei).map(t=>t(e));let n=e.contentDOM.ownerDocument;n.addEventListener("mousemove",this.move=this.move.bind(this)),n.addEventListener("mouseup",this.up=this.up.bind(this)),this.extend=t.shiftKey,this.multiple=e.state.facet(Te.allowMultipleSelections)&&function(e,t){let i=e.state.facet(Qi);return i.length?i[0](t):$t.mac?t.metaKey:t.ctrlKey}(e,t),this.dragging=!(!function(e,t){let{main:i}=e.state.selection;if(i.empty)return!1;let O=kt(e.root);if(!O||0==O.rangeCount)return!0;let n=O.getRangeAt(0).getClientRects();for(let e=0;e=t.clientX&&i.top<=t.clientY&&i.bottom>=t.clientY)return!0}return!1}(e,t)||1!=cn(t))&&null}start(e){!1===this.dragging&&this.select(e)}move(e){if(0==e.buttons)return this.destroy();if(this.dragging||null==this.dragging&&(t=this.startEvent,i=e,Math.max(Math.abs(t.clientX-i.clientX),Math.abs(t.clientY-i.clientY))<10))return;var t,i;this.select(this.lastEvent=e);let O=0,n=0,r=0,s=0,o=this.view.win.innerWidth,a=this.view.win.innerHeight;this.scrollParents.x&&({left:r,right:o}=this.scrollParents.x.getBoundingClientRect()),this.scrollParents.y&&({top:s,bottom:a}=this.scrollParents.y.getBoundingClientRect());let l=Ii(this.view);e.clientX-l.left<=r+6?O=-KO(r-e.clientX):e.clientX+l.right>=o-6&&(O=KO(e.clientX-o)),e.clientY-l.top<=s+6?n=-KO(s-e.clientY):e.clientY+l.bottom>=a-6&&(n=KO(e.clientY-a)),this.setScrollSpeed(O,n)}up(e){null==this.dragging&&this.select(this.lastEvent),this.dragging||e.preventDefault(),this.destroy()}destroy(){this.setScrollSpeed(0,0);let e=this.view.contentDOM.ownerDocument;e.removeEventListener("mousemove",this.move),e.removeEventListener("mouseup",this.up),this.view.inputState.mouseSelection=this.view.inputState.draggedContent=null}setScrollSpeed(e,t){this.scrollSpeed={x:e,y:t},e||t?this.scrolling<0&&(this.scrolling=setInterval(()=>this.scroll(),50)):this.scrolling>-1&&(clearInterval(this.scrolling),this.scrolling=-1)}scroll(){let{x:e,y:t}=this.scrollSpeed;e&&this.scrollParents.x&&(this.scrollParents.x.scrollLeft+=e,e=0),t&&this.scrollParents.y&&(this.scrollParents.y.scrollTop+=t,t=0),(e||t)&&this.view.win.scrollBy(e,t),!1===this.dragging&&this.select(this.lastEvent)}select(e){let{view:t}=this,i=ZO(this.atoms,this.style.get(e,this.extend,this.multiple));!this.mustSelect&&i.eq(t.state.selection,!1===this.dragging)||this.view.dispatch({selection:i,userEvent:"select.pointer"}),this.mustSelect=!1}update(e){e.transactions.some(e=>e.isUserEvent("input.type"))?this.destroy():this.style.update(e)&&setTimeout(()=>this.select(this.lastEvent),20)}}const en=Object.create(null),tn=Object.create(null),On=$t.ie&&$t.ie_version<15||$t.ios&&$t.webkit_version<604;function nn(e,t,i){for(let O of e.facet(t))i=O(i,e);return i}function rn(e,t){t=nn(e.state,vi,t);let i,{state:O}=e,n=1,r=O.toText(t),s=r.lines==O.selection.ranges.length;if(null!=un&&O.selection.ranges.every(e=>e.empty)&&un==r.toString()){let e=-1;i=O.changeByRange(i=>{let o=O.doc.lineAt(i.from);if(o.from==e)return{range:i};e=o.from;let a=O.toText((s?r.line(n++).text:t)+O.lineBreak);return{changes:{from:o.from,insert:a},range:q.cursor(i.from+a.length)}})}else i=s?O.changeByRange(e=>{let t=r.line(n++);return{changes:{from:e.from,to:e.to,insert:t.text},range:q.cursor(e.from+t.length)}}):O.replaceSelection(r);e.dispatch(i,{userEvent:"input.paste",scrollIntoView:!0})}function sn(e,t,i,O){if(1==O)return q.cursor(t,i);if(2==O)return function(e,t,i=1){let O=e.charCategorizer(t),n=e.doc.lineAt(t),r=t-n.from;if(0==n.length)return q.cursor(t);0==r?i=1:r==n.length&&(i=-1);let s=r,o=r;i<0?s=P(n.text,r,!1):o=P(n.text,r);let a=O(n.text.slice(s,o));for(;s>0;){let e=P(n.text,s,!1);if(O(n.text.slice(e,s))!=a)break;s=e}for(;o{e.inputState.lastScrollTop=e.scrollDOM.scrollTop,e.inputState.lastScrollLeft=e.scrollDOM.scrollLeft},tn.wheel=tn.mousewheel=e=>{e.inputState.lastWheelEvent=Date.now()},en.keydown=(e,t)=>(e.inputState.setSelectionOrigin("select"),27==t.keyCode&&0!=e.inputState.tabFocusMode&&(e.inputState.tabFocusMode=Date.now()+2e3),!1),tn.touchstart=(e,t)=>{let i=e.inputState,O=t.targetTouches[0];i.lastTouchTime=Date.now(),O&&(i.lastTouchX=O.clientX,i.lastTouchY=O.clientY),i.setSelectionOrigin("select.pointer")},tn.touchmove=e=>{e.inputState.setSelectionOrigin("select.pointer")},en.mousedown=(e,t)=>{if(e.observer.flush(),e.inputState.lastTouchTime>Date.now()-2e3)return!1;let i=null;for(let O of e.state.facet(gi))if(i=O(e,t),i)break;if(i||0!=t.button||(i=function(e,t){let i=e.posAndSideAtCoords({x:t.clientX,y:t.clientY},!1),O=cn(t),n=e.state.selection;return{update(e){e.docChanged&&(i.pos=e.changes.mapPos(i.pos),n=n.map(e.changes))},get(t,r,s){let o,a=e.posAndSideAtCoords({x:t.clientX,y:t.clientY},!1),l=sn(e,a.pos,a.assoc,O);if(i.pos!=a.pos&&!r){let t=sn(e,i.pos,i.assoc,O),n=Math.min(t.from,l.from),r=Math.max(t.to,l.to);l=n1&&(o=function(e,t){for(let i=0;i=t)return q.create(e.ranges.slice(0,i).concat(e.ranges.slice(i+1)),e.mainIndex==i?0:e.mainIndex-(e.mainIndex>i?1:0))}return null}(n,a.pos))?o:s?n.addRange(l):q.create([l])}}}(e,t)),i){let O=!e.hasFocus;e.inputState.startMouseSelection(new JO(e,t,i,O)),O&&e.observer.ignore(()=>{Dt(e.contentDOM);let t=e.root.activeElement;t&&!t.contains(e.contentDOM)&&t.blur()});let n=e.inputState.mouseSelection;if(n)return n.start(t),!1===n.dragging}else e.inputState.setSelectionOrigin("select.pointer");return!1};const on=$t.ie&&$t.ie_version<=11;let an=null,ln=0,hn=0;function cn(e){if(!on)return e.detail;let t=an,i=hn;return an=e,hn=Date.now(),ln=!t||i>Date.now()-400&&Math.abs(t.clientX-e.clientX)<2&&Math.abs(t.clientY-e.clientY)<2?(ln+1)%3:1}function dn(e,t,i,O){if(!(i=nn(e.state,vi,i)))return;let n=e.posAtCoords({x:t.clientX,y:t.clientY},!1),{draggedContent:r}=e.inputState,s=O&&r&&function(e,t){let i=e.state.facet(mi);return i.length?i[0](t):$t.mac?!t.altKey:!t.ctrlKey}(e,t)?{from:r.from,to:r.to}:null,o={from:n,insert:i},a=e.state.changes(s?[s,o]:o);e.focus(),e.dispatch({changes:a,selection:{anchor:a.mapPos(n,-1),head:a.mapPos(n,1)},userEvent:s?"move.drop":"input.drop"}),e.inputState.draggedContent=null}en.dragstart=(e,t)=>{let{selection:{main:i}}=e.state;if(t.target.draggable){let O=e.docView.tile.nearest(t.target);if(O&&O.isWidget()){let e=O.posAtStart,t=e+O.length;(e>=i.to||t<=i.from)&&(i=q.range(e,t))}}let{inputState:O}=e;return O.mouseSelection&&(O.mouseSelection.dragging=!0),O.draggedContent=i,t.dataTransfer&&(t.dataTransfer.setData("Text",nn(e.state,wi,e.state.sliceDoc(i.from,i.to))),t.dataTransfer.effectAllowed="copyMove"),!1},en.dragend=e=>(e.inputState.draggedContent=null,!1),en.drop=(e,t)=>{if(!t.dataTransfer)return!1;if(e.state.readOnly)return!0;let i=t.dataTransfer.files;if(i&&i.length){let O=Array(i.length),n=0,r=()=>{++n==i.length&&dn(e,t,O.filter(e=>null!=e).join(e.state.lineBreak),!1)};for(let e=0;e{/[\x00-\x08\x0e-\x1f]{2}/.test(t.result)||(O[e]=t.result),r()},t.readAsText(i[e])}return!0}{let i=t.dataTransfer.getData("Text");if(i)return dn(e,t,i,!0),!0}return!1},en.paste=(e,t)=>{if(e.state.readOnly)return!0;e.observer.flush();let i=On?null:t.clipboardData;return i?(rn(e,i.getData("text/plain")||i.getData("text/uri-list")),!0):(function(e){let t=e.dom.parentNode;if(!t)return;let i=t.appendChild(document.createElement("textarea"));i.style.cssText="position: fixed; left: -10000px; top: 10px",i.focus(),setTimeout(()=>{e.focus(),i.remove(),rn(e,i.value)},50)}(e),!1)};let un=null;en.copy=en.cut=(e,t)=>{if(!Rt(e.contentDOM,e.observer.selectionRange))return!1;let{text:i,ranges:O,linewise:n}=function(e){let t=[],i=[],O=!1;for(let O of e.selection.ranges)O.empty||(t.push(e.sliceDoc(O.from,O.to)),i.push(O));if(!t.length){let n=-1;for(let{from:O}of e.selection.ranges){let r=e.doc.lineAt(O);r.number>n&&(t.push(r.text),i.push({from:r.from,to:Math.min(e.doc.length,r.to+1)})),n=r.number}O=!0}return{text:nn(e,wi,t.join(e.lineBreak)),ranges:i,linewise:O}}(e.state);if(!i&&!n)return!1;un=n?i:null,"cut"!=t.type||e.state.readOnly||e.dispatch({changes:O,scrollIntoView:!0,userEvent:"delete.cut"});let r=On?null:t.clipboardData;return r?(r.clearData(),r.setData("text/plain",i),!0):(function(e,t){let i=e.dom.parentNode;if(!i)return;let O=i.appendChild(document.createElement("textarea"));O.style.cssText="position: fixed; left: -10000px; top: 10px",O.value=t,O.focus(),O.selectionEnd=t.length,O.selectionStart=0,setTimeout(()=>{O.remove(),e.focus()},50)}(e,i),!1)};const $n=ae.define();function fn(e,t){let i=[];for(let O of e.facet(yi)){let n=O(e,t);n&&i.push(n)}return i.length?e.update({effects:i,annotations:$n.of(!0)}):null}function pn(e){setTimeout(()=>{let t=e.hasFocus;if(t!=e.inputState.notifiedFocused){let i=fn(e.state,t);i?e.dispatch(i):e.update([])}},10)}tn.focus=e=>{e.inputState.lastFocusTime=Date.now(),e.scrollDOM.scrollTop||!e.inputState.lastScrollTop&&!e.inputState.lastScrollLeft||(e.scrollDOM.scrollTop=e.inputState.lastScrollTop,e.scrollDOM.scrollLeft=e.inputState.lastScrollLeft),pn(e)},tn.blur=e=>{e.observer.clearSelectionRange(),pn(e)},tn.compositionstart=tn.compositionupdate=e=>{e.observer.editContext||(null==e.inputState.compositionFirstChange&&(e.inputState.compositionFirstChange=!0),e.inputState.composing<0&&(e.inputState.composing=0))},tn.compositionend=e=>{e.observer.editContext||(e.inputState.composing=-1,e.inputState.compositionEndedAt=Date.now(),e.inputState.compositionPendingKey=!0,e.inputState.compositionPendingChange=e.observer.pendingRecords().length>0,e.inputState.compositionFirstChange=null,$t.chrome&&$t.android?e.observer.flushSoon():e.inputState.compositionPendingChange?Promise.resolve().then(()=>e.observer.flush()):setTimeout(()=>{e.inputState.composing<0&&e.docView.hasComposition&&e.update([])},50))},tn.contextmenu=e=>{e.inputState.lastContextMenu=Date.now()},en.beforeinput=(e,t)=>{var i,O;if("insertText"!=t.inputType&&"insertCompositionText"!=t.inputType||(e.inputState.insertingText=t.data,e.inputState.insertingTextAt=Date.now()),"insertReplacementText"==t.inputType&&e.observer.editContext){let O=null===(i=t.dataTransfer)||void 0===i?void 0:i.getData("text/plain"),n=t.getTargetRanges();if(O&&n.length){let t=n[0],i=e.posAtDOM(t.startContainer,t.startOffset),r=e.posAtDOM(t.endContainer,t.endOffset);return EO(e,{from:i,to:r,insert:e.state.toText(O)},null),!0}}let n;if($t.chrome&&$t.android&&(n=BO.find(e=>e.inputType==t.inputType))&&(e.observer.delayAndroidKey(n.key,n.keyCode),"Backspace"==n.key||"Delete"==n.key)){let t=(null===(O=window.visualViewport)||void 0===O?void 0:O.height)||0;setTimeout(()=>{var i;((null===(i=window.visualViewport)||void 0===i?void 0:i.height)||0)>t+10&&e.hasFocus&&(e.contentDOM.blur(),e.focus())},100)}return $t.ios&&"deleteContentForward"==t.inputType&&e.observer.flushSoon(),$t.safari&&"insertText"==t.inputType&&e.inputState.composing>=0&&setTimeout(()=>tn.compositionend(e,t),20),!1};const Qn=new Set,mn=["pre-wrap","normal","pre-line","break-spaces"];let gn=!1;function Sn(){gn=!1}class Pn{constructor(e){this.lineWrapping=e,this.doc=c.empty,this.heightSamples={},this.lineHeight=14,this.charWidth=7,this.textHeight=14,this.lineLength=30}heightForGap(e,t){let i=this.doc.lineAt(t).number-this.doc.lineAt(e).number+1;return this.lineWrapping&&(i+=Math.max(0,Math.ceil((t-e-i*this.lineLength*.5)/this.lineLength))),this.lineHeight*i}heightForLine(e){return this.lineWrapping?(1+Math.max(0,Math.ceil((e-this.lineLength)/Math.max(1,this.lineLength-5))))*this.lineHeight:this.lineHeight}setDoc(e){return this.doc=e,this}mustRefreshForWrapping(e){return mn.indexOf(e)>-1!=this.lineWrapping}mustRefreshForHeights(e){let t=!1;for(let i=0;i-1,o=Math.abs(t-this.lineHeight)>.3||this.lineWrapping!=s;if(this.lineWrapping=s,this.lineHeight=t,this.charWidth=i,this.textHeight=O,this.lineLength=n,o){this.heightSamples={};for(let e=0;e0}set outdated(e){this.flags=(e?2:0)|-3&this.flags}setHeight(e){this.height!=e&&(Math.abs(this.height-e)>wn&&(gn=!0),this.height=e)}replace(e,t,i){return bn.of(i)}decomposeLeft(e,t){t.push(this)}decomposeRight(e,t){t.push(this)}applyChanges(e,t,i,O){let n=this,r=i.doc;for(let s=O.length-1;s>=0;s--){let{fromA:o,toA:a,fromB:l,toB:h}=O[s],c=n.lineAt(o,vn.ByPosNoHeight,i.setDoc(t),0,0),d=c.to>=a?c:n.lineAt(a,vn.ByPosNoHeight,i,0,0);for(h+=d.to-a,a=d.to;s>0&&c.from<=O[s-1].toA;)o=O[s-1].fromA,l=O[s-1].fromB,s--,o2*n){let n=e[t-1];n.break?e.splice(--t,1,n.left,null,n.right):e.splice(--t,1,n.left,n.right),i+=1+n.break,O-=n.size}else{if(!(n>2*O))break;{let t=e[i];t.break?e.splice(i,1,t.left,null,t.right):e.splice(i,1,t.left,t.right),i+=2+t.break,n-=t.size}}else if(O=n&&r(this.lineAt(0,vn.ByPos,i,O,n))}setMeasuredHeight(e){let t=e.heights[e.index++];t<0?(this.spaceAbove=-t,t=e.heights[e.index++]):this.spaceAbove=0,this.setHeight(t)}updateHeight(e,t=0,i=!1,O){return O&&O.from<=t&&O.more&&this.setMeasuredHeight(O),this.outdated=!1,this}toString(){return`block(${this.length})`}}class Zn extends kn{constructor(e,t,i){super(e,t,null),this.collapsed=0,this.widgetHeight=0,this.breaks=0,this.spaceAbove=i}mainBlock(e,t){return new yn(t,this.length,e+this.spaceAbove,this.height-this.spaceAbove,this.breaks)}replace(e,t,i){let O=i[0];return 1==i.length&&(O instanceof Zn||O instanceof Rn&&4&O.flags)&&Math.abs(this.length-O.length)<10?(O instanceof Rn?O=new Zn(O.length,this.height,this.spaceAbove):O.height=this.height,this.outdated||(O.outdated=!1),O):bn.of(i)}updateHeight(e,t=0,i=!1,O){return O&&O.from<=t&&O.more?this.setMeasuredHeight(O):(i||this.outdated)&&(this.spaceAbove=0,this.setHeight(Math.max(this.widgetHeight,e.heightForLine(this.length-this.collapsed))+this.breaks*e.lineHeight)),this.outdated=!1,this}toString(){return`line(${this.length}${this.collapsed?-this.collapsed:""}${this.widgetHeight?":"+this.widgetHeight:""})`}}class Rn extends bn{constructor(e){super(e,0)}heightMetrics(e,t){let i,O=e.doc.lineAt(t).number,n=e.doc.lineAt(t+this.length).number,r=n-O+1,s=0;if(e.lineWrapping){let t=Math.min(this.height,e.lineHeight*r);i=t/r,this.length>r+1&&(s=(this.height-t)/(this.length-r-1))}else i=this.height/r;return{firstLine:O,lastLine:n,perLine:i,perChar:s}}blockAt(e,t,i,O){let{firstLine:n,lastLine:r,perLine:s,perChar:o}=this.heightMetrics(t,O);if(t.lineWrapping){let n=O+(e0){let e=i[i.length-1];e instanceof Rn?i[i.length-1]=new Rn(e.length+O):i.push(null,new Rn(O-1))}if(e>0){let t=i[0];t instanceof Rn?i[0]=new Rn(e+t.length):i.unshift(new Rn(e-1),null)}return bn.of(i)}decomposeLeft(e,t){t.push(new Rn(e-1),null)}decomposeRight(e,t){t.push(null,new Rn(this.length-e-1))}updateHeight(e,t=0,i=!1,O){let n=t+this.length;if(O&&O.from<=t+this.length&&O.more){let i=[],r=Math.max(t,O.from),s=-1;for(O.from>t&&i.push(new Rn(O.from-t-1).updateHeight(e,t));r<=n&&O.more;){let t=e.doc.lineAt(r).length;i.length&&i.push(null);let n=O.heights[O.index++],o=0;n<0&&(o=-n,n=O.heights[O.index++]),-1==s?s=n:Math.abs(n-s)>=wn&&(s=-2);let a=new Zn(t,n,o);a.outdated=!1,i.push(a),r+=t+1}r<=n&&i.push(null,new Rn(n-r).updateHeight(e,r));let o=bn.of(i);return(s<0||Math.abs(o.height-this.height)>=wn||Math.abs(s-this.heightMetrics(e,t).perLine)>=wn)&&(gn=!0),xn(this,o)}return(i||this.outdated)&&(this.setHeight(e.heightForGap(t,t+this.length)),this.outdated=!1),this}toString(){return`gap(${this.length})`}}class zn extends bn{constructor(e,t,i){super(e.length+t+i.length,e.height+i.height,t|(e.outdated||i.outdated?2:0)),this.left=e,this.right=i,this.size=e.size+i.size}get break(){return 1&this.flags}blockAt(e,t,i,O){let n=i+this.left.height;return es))return a;let l=t==vn.ByPosNoHeight?vn.ByPosNoHeight:vn.ByPos;return o?a.join(this.right.lineAt(s,l,i,r,s)):this.left.lineAt(s,l,i,O,n).join(a)}forEachLine(e,t,i,O,n,r){let s=O+this.left.height,o=n+this.left.length+this.break;if(this.break)e=o&&this.right.forEachLine(e,t,i,s,o,r);else{let a=this.lineAt(o,vn.ByPos,i,O,n);e=e&&a.from<=t&&r(a),t>a.to&&this.right.forEachLine(a.to+1,t,i,s,o,r)}}replace(e,t,i){let O=this.left.length+this.break;if(tthis.left.length)return this.balanced(this.left,this.right.replace(e-O,t-O,i));let n=[];e>0&&this.decomposeLeft(e,n);let r=n.length;for(let e of i)n.push(e);if(e>0&&_n(n,r-1),t=i&&t.push(null)),e>i&&this.right.decomposeLeft(e-i,t)}decomposeRight(e,t){let i=this.left.length,O=i+this.break;if(e>=O)return this.right.decomposeRight(e-O,t);e2*t.size||t.size>2*e.size?bn.of(this.break?[e,null,t]:[e,t]):(this.left=xn(this.left,e),this.right=xn(this.right,t),this.setHeight(e.height+t.height),this.outdated=e.outdated||t.outdated,this.size=e.size+t.size,this.length=e.length+this.break+t.length,this)}updateHeight(e,t=0,i=!1,O){let{left:n,right:r}=this,s=t+n.length+this.break,o=null;return O&&O.from<=t+n.length&&O.more?o=n=n.updateHeight(e,t,i,O):n.updateHeight(e,t,i),O&&O.from<=s+r.length&&O.more?o=r=r.updateHeight(e,s,i,O):r.updateHeight(e,s,i),o?this.balanced(n,r):(this.height=this.left.height+this.right.height,this.outdated=!1,this)}toString(){return this.left+(this.break?" ":"-")+this.right}}function _n(e,t){let i,O;null==e[t]&&(i=e[t-1])instanceof Rn&&(O=e[t+1])instanceof Rn&&e.splice(t-1,3,new Rn(i.length+1+O.length))}class Vn{constructor(e,t){this.pos=e,this.oracle=t,this.nodes=[],this.lineStart=-1,this.lineEnd=-1,this.covering=null,this.writtenTo=e}get isCovered(){return this.covering&&this.nodes[this.nodes.length-1]==this.covering}span(e,t){if(this.lineStart>-1){let e=Math.min(t,this.lineEnd),i=this.nodes[this.nodes.length-1];i instanceof Zn?i.length+=e-this.pos:(e>this.pos||!this.isCovered)&&this.nodes.push(new Zn(e-this.pos,-1,0)),this.writtenTo=e,t>e&&(this.nodes.push(null),this.writtenTo++,this.lineStart=-1)}this.pos=t}point(e,t,i){if(e=5)&&this.addLineDeco(O,n,r)}else t>e&&this.span(e,t);this.lineEnd>-1&&this.lineEnd-1)return;let{from:e,to:t}=this.oracle.doc.lineAt(this.pos);this.lineStart=e,this.lineEnd=t,this.writtenToe&&this.nodes.push(new Zn(this.pos-e,-1,0)),this.writtenTo=this.pos}blankContent(e,t){let i=new Rn(t-e);return this.oracle.doc.lineAt(e).to==t&&(i.flags|=4),i}ensureLine(){this.enterLine();let e=this.nodes.length?this.nodes[this.nodes.length-1]:null;if(e instanceof Zn)return e;let t=new Zn(0,-1,0);return this.nodes.push(t),t}addBlock(e){this.enterLine();let t=e.deco;t&&t.startSide>0&&!this.isCovered&&this.ensureLine(),this.nodes.push(e),this.writtenTo=this.pos=this.pos+e.length,t&&t.endSide>0&&(this.covering=e)}addLineDeco(e,t,i){let O=this.ensureLine();O.length+=i,O.collapsed+=i,O.widgetHeight=Math.max(O.widgetHeight,e),O.breaks+=t,this.writtenTo=this.pos=this.pos+i}finish(e){let t=0==this.nodes.length?null:this.nodes[this.nodes.length-1];!(this.lineStart>-1)||t instanceof Zn||this.isCovered?(this.writtenToi.clientHeight||i.scrollWidth>i.clientWidth)&&"visible"!=O.overflow){let O=i.getBoundingClientRect();r=Math.max(r,O.left),s=Math.min(s,O.right),o=Math.max(o,O.top),a=Math.min(t==e.parentNode?n.innerHeight:a,O.bottom)}t="absolute"==O.position||"fixed"==O.position?i.offsetParent:i.parentNode}else{if(11!=t.nodeType)break;t=t.host}return{left:r-i.left,right:Math.max(r,s)-i.left,top:o-(i.top+t),bottom:Math.max(o,a)-(i.top+t)}}function Wn(e,t){let i=e.getBoundingClientRect();return{left:0,right:i.right-i.left,top:t,bottom:i.bottom-(i.top+t)}}class Un{constructor(e,t,i,O){this.from=e,this.to=t,this.size=i,this.displaySize=O}static same(e,t){if(e.length!=t.length)return!1;for(let i=0;i"function"!=typeof e&&"cm-lineWrapping"==e.class);this.heightOracle=new Pn(i),this.stateDeco=Dn(t),this.heightMap=bn.empty().applyChanges(this.stateDeco,c.empty,this.heightOracle.setDoc(t.doc),[new Bi(0,0,0,t.doc.length)]);for(let e=0;e<2&&(this.viewport=this.getViewport(0,null),this.updateForViewport());e++);this.updateViewportLines(),this.lineGaps=this.ensureLineGaps([]),this.lineGapDeco=Tt.set(this.lineGaps.map(e=>e.draw(this,!1))),this.scrollParent=e.scrollDOM,this.computeVisibleRanges()}updateForViewport(){let e=[this.viewport],{main:t}=this.state.selection;for(let i=0;i<=1;i++){let O=i?t.head:t.anchor;if(!e.some(({from:e,to:t})=>O>=e&&O<=t)){let{from:t,to:i}=this.lineBlockAt(O);e.push(new Cn(t,i))}}return this.viewports=e.sort((e,t)=>e.from-t.from),this.updateScaler()}updateScaler(){let e=this.scaler;return this.scaler=this.heightMap.height<=7e6?Mn:new Ln(this.heightOracle,this.heightMap,this.viewports),e.eq(this.scaler)?0:2}updateViewportLines(){this.viewportLines=[],this.heightMap.forEachLine(this.viewport.from,this.viewport.to,this.heightOracle.setDoc(this.state.doc),0,0,e=>{this.viewportLines.push(In(e,this.scaler))})}update(e,t=null){this.state=e.state;let i=this.stateDeco;this.stateDeco=Dn(this.state);let O=e.changedRanges,n=Bi.extendWithRanges(O,function(e,t,i){let O=new Yn;return ke.compare(e,t,i,O,0),O.changes}(i,this.stateDeco,e?e.changes:X.empty(this.state.doc.length))),r=this.heightMap.height,s=this.scrolledToBottom?null:this.scrollAnchorAt(this.scrollOffset);Sn(),this.heightMap=this.heightMap.applyChanges(this.stateDeco,e.startState.doc,this.heightOracle.setDoc(this.state.doc),n),(this.heightMap.height!=r||gn)&&(e.flags|=2),s?(this.scrollAnchorPos=e.changes.mapPos(s.from,-1),this.scrollAnchorHeight=s.top):(this.scrollAnchorPos=-1,this.scrollAnchorHeight=r);let o=n.length?this.mapViewport(this.viewport,e.changes):this.viewport;(t&&(t.range.heado.to)||!this.viewportIsAppropriate(o))&&(o=this.getViewport(0,t));let a=o.from!=this.viewport.from||o.to!=this.viewport.to;this.viewport=o,e.flags|=this.updateForViewport(),(a||!e.changes.empty||2&e.flags)&&this.updateViewportLines(),(this.lineGaps.length||this.viewport.to-this.viewport.from>4e3)&&this.updateLineGaps(this.ensureLineGaps(this.mapLineGaps(this.lineGaps,e.changes))),e.flags|=this.computeVisibleRanges(e.changes),t&&(this.scrollTarget=t),!this.mustEnforceCursorAssoc&&(e.selectionSet||e.focusChanged)&&e.view.lineWrapping&&e.state.selection.main.empty&&e.state.selection.main.assoc&&!e.state.facet(xi)&&(this.mustEnforceCursorAssoc=!0)}measure(){let{view:e}=this,t=e.contentDOM,i=window.getComputedStyle(t),O=this.heightOracle,n=i.whiteSpace;this.defaultTextDirection="rtl"==i.direction?Kt.RTL:Kt.LTR;let r=this.heightOracle.mustRefreshForWrapping(n)||"refresh"===this.mustMeasureContent,s=t.getBoundingClientRect(),o=r||this.mustMeasureContent||this.contentDOMHeight!=s.height;this.contentDOMHeight=s.height,this.mustMeasureContent=!1;let a=0,l=0;if(s.width&&s.height){let{scaleX:e,scaleY:i}=Gt(t,s);(e>.005&&Math.abs(this.scaleX-e)>.005||i>.005&&Math.abs(this.scaleY-i)>.005)&&(this.scaleX=e,this.scaleY=i,a|=16,r=o=!0)}let h=(parseInt(i.paddingTop)||0)*this.scaleY,d=(parseInt(i.paddingBottom)||0)*this.scaleY;this.paddingTop==h&&this.paddingBottom==d||(this.paddingTop=h,this.paddingBottom=d,a|=18),this.editorWidth!=e.scrollDOM.clientWidth&&(O.lineWrapping&&(o=!0),this.editorWidth=e.scrollDOM.clientWidth,a|=16);let u=Ct(this.view.contentDOM,!1).y;u!=this.scrollParent&&(this.scrollParent=u,this.scrollAnchorHeight=-1,this.scrollOffset=0);let $=this.getScrollOffset();this.scrollOffset!=$&&(this.scrollAnchorHeight=-1,this.scrollOffset=$),this.scrolledToBottom=Nt(this.scrollParent||e.win);let f=(this.printing?Wn:qn)(t,this.paddingTop),p=f.top-this.pixelViewport.top,Q=f.bottom-this.pixelViewport.bottom;this.pixelViewport=f;let m=this.pixelViewport.bottom>this.pixelViewport.top&&this.pixelViewport.right>this.pixelViewport.left;if(m!=this.inView&&(this.inView=m,m&&(o=!0)),!this.inView&&!this.scrollTarget&&!function(e){let t=e.getBoundingClientRect(),i=e.ownerDocument.defaultView||window;return t.left0&&t.top0}(e.dom))return 0;let g=s.width;if(this.contentDOMWidth==g&&this.editorHeight==e.scrollDOM.clientHeight||(this.contentDOMWidth=s.width,this.editorHeight=e.scrollDOM.clientHeight,a|=16),o){let t=e.docView.measureVisibleLineHeights(this.viewport);if(O.mustRefreshForHeights(t)&&(r=!0),r||O.lineWrapping&&Math.abs(g-this.contentDOMWidth)>O.charWidth){let{lineHeight:i,charWidth:s,textHeight:o}=e.docView.measureTextSize();r=i>0&&O.refresh(n,i,s,o,Math.max(5,g/s),t),r&&(e.docView.minWidth=0,a|=16)}p>0&&Q>0?l=Math.max(p,Q):p<0&&Q<0&&(l=Math.min(p,Q)),Sn();for(let i of this.viewports){let n=i.from==this.viewport.from?t:e.docView.measureVisibleLineHeights(i);this.heightMap=(r?bn.empty().applyChanges(this.stateDeco,c.empty,this.heightOracle,[new Bi(0,0,0,e.state.doc.length)]):this.heightMap).updateHeight(O,0,r,new Tn(i.from,n))}gn&&(a|=2)}let S=!this.viewportIsAppropriate(this.viewport,l)||this.scrollTarget&&(this.scrollTarget.range.headthis.viewport.to);return S&&(2&a&&(a|=this.updateScaler()),this.viewport=this.getViewport(l,this.scrollTarget),a|=this.updateForViewport()),(2&a||S)&&this.updateViewportLines(),(this.lineGaps.length||this.viewport.to-this.viewport.from>4e3)&&this.updateLineGaps(this.ensureLineGaps(r?[]:this.lineGaps,e)),a|=this.computeVisibleRanges(),this.mustEnforceCursorAssoc&&(this.mustEnforceCursorAssoc=!1,e.docView.enforceCursorAssoc()),a}get visibleTop(){return this.scaler.fromDOM(this.pixelViewport.top)}get visibleBottom(){return this.scaler.fromDOM(this.pixelViewport.bottom)}getViewport(e,t){let i=.5-Math.max(-.5,Math.min(.5,e/1e3/2)),O=this.heightMap,n=this.heightOracle,{visibleTop:r,visibleBottom:s}=this,o=new Cn(O.lineAt(r-1e3*i,vn.ByHeight,n,0,0).from,O.lineAt(s+1e3*(1-i),vn.ByHeight,n,0,0).to);if(t){let{head:e}=t.range;if(eo.to){let i,r=Math.min(this.editorHeight,this.pixelViewport.bottom-this.pixelViewport.top),s=O.lineAt(e,vn.ByPos,n,0,0);i="center"==t.y?(s.top+s.bottom)/2-r/2:"start"==t.y||"nearest"==t.y&&e=s+Math.max(10,Math.min(i,250)))&&O>r-2e3&&n>1,r=O<<1;if(this.defaultTextDirection!=Kt.LTR&&!i)return[];let s=[],o=(O,r,a,l)=>{if(r-OO&&ee.from>=a.from&&e.to<=a.to&&Math.abs(e.from-O)e.fromt));if(!d){if(re.from<=r&&e.to>=r)){let e=t.moveToLineBoundary(q.cursor(r),!1,!0).head;e>O&&(r=e)}let e=this.gapSize(a,O,r,l);d=new Un(O,r,e,i||e<2e6?e:2e6)}s.push(d)},a=t=>{if(t.lengthn&&(O.push({from:n,to:e}),r+=e-n),n=t}},20),n2e6)for(let i of e)i.from>=t.from&&i.fromt.from&&o(t.from,s,t,n),ae.draw(this,this.heightOracle.lineWrapping))))}computeVisibleRanges(e){let t=this.stateDeco;this.lineGaps.length&&(t=t.concat(this.lineGapDeco));let i=[];ke.spans(t,this.viewport.from,this.viewport.to,{span(e,t){i.push({from:e,to:t})},point(){}},20);let O=0;if(i.length!=this.visibleRanges.length)O=12;else for(let t=0;t=this.viewport.from&&e<=this.viewport.to&&this.viewportLines.find(t=>t.from<=e&&t.to>=e)||In(this.heightMap.lineAt(e,vn.ByPos,this.heightOracle,0,0),this.scaler)}lineBlockAtHeight(e){return e>=this.viewportLines[0].top&&e<=this.viewportLines[this.viewportLines.length-1].bottom&&this.viewportLines.find(t=>t.top<=e&&t.bottom>=e)||In(this.heightMap.lineAt(this.scaler.fromDOM(e),vn.ByHeight,this.heightOracle,0,0),this.scaler)}getScrollOffset(){return(this.scrollParent==this.view.scrollDOM?this.scrollParent.scrollTop:(this.scrollParent?this.scrollParent.getBoundingClientRect().top:0)-this.view.contentDOM.getBoundingClientRect().top)*this.scaleY}scrollAnchorAt(e){let t=this.lineBlockAtHeight(e+8);return t.from>=this.viewport.from||this.viewportLines[0].top-e>200?t:this.viewportLines[0]}elementAtHeight(e){return In(this.heightMap.blockAt(this.scaler.fromDOM(e),this.heightOracle,0,0),this.scaler)}get docHeight(){return this.scaler.toDOM(this.heightMap.height)}get contentHeight(){return this.docHeight+this.paddingTop+this.paddingBottom}}class Cn{constructor(e,t){this.from=e,this.to=t}}function An({total:e,ranges:t},i){if(i<=0)return t[0].from;if(i>=1)return t[t.length-1].to;let O=Math.floor(e*i);for(let e=0;;e++){let{from:i,to:n}=t[e],r=n-i;if(O<=r)return i+O;O-=r}}function En(e,t){let i=0;for(let{from:O,to:n}of e.ranges){if(t<=n){i+=t-O;break}i+=n-O}return i/e.total}const Mn={toDOM:e=>e,fromDOM:e=>e,scale:1,eq(e){return e==this}};function Dn(e){let t=e.facet(Gi).filter(e=>"function"!=typeof e),i=e.facet(Ai).filter(e=>"function"!=typeof e);return i.length&&t.push(ke.join(i)),t}class Ln{constructor(e,t,i){let O=0,n=0,r=0;this.viewports=i.map(({from:i,to:n})=>{let r=t.lineAt(i,vn.ByPos,e,0,0).top,s=t.lineAt(n,vn.ByPos,e,0,0).bottom;return O+=s-r,{from:i,to:n,top:r,bottom:s,domTop:0,domBottom:0}}),this.scale=(7e6-O)/(t.height-O);for(let e of this.viewports)e.domTop=r+(e.top-n)*this.scale,r=e.domBottom=e.domTop+(e.bottom-e.top),n=e.bottom}toDOM(e){for(let t=0,i=0,O=0;;t++){let n=tt.from==e.viewports[i].from&&t.to==e.viewports[i].to)}}function In(e,t){if(1==t.scale)return e;let i=t.toDOM(e.top),O=t.toDOM(e.bottom);return new yn(e.from,e.length,i,O-i,Array.isArray(e._content)?e._content.map(e=>In(e,t)):e._content)}const Nn=j.define({combine:e=>e.join(" ")}),Bn=j.define({combine:e=>e.indexOf(!0)>-1}),Fn=Le.newName(),Hn=Le.newName(),Kn=Le.newName(),Jn={"&light":"."+Hn,"&dark":"."+Kn};function er(e,t,i){return new Le(t,{finish:t=>/&/.test(t)?t.replace(/&\w*/,t=>{if("&"==t)return e;if(!i||!i[t])throw new RangeError(`Unsupported selector: ${t}`);return i[t]}):e+" "+t})}const tr=er("."+Fn,{"&":{position:"relative !important",boxSizing:"border-box","&.cm-focused":{outline:"1px dotted #212121"},display:"flex !important",flexDirection:"column"},".cm-scroller":{display:"flex !important",alignItems:"flex-start !important",fontFamily:"monospace",lineHeight:1.4,height:"100%",overflowX:"auto",position:"relative",zIndex:0,overflowAnchor:"none"},".cm-content":{margin:0,flexGrow:2,flexShrink:0,display:"block",whiteSpace:"pre",wordWrap:"normal",boxSizing:"border-box",minHeight:"100%",padding:"4px 0",outline:"none","&[contenteditable=true]":{WebkitUserModify:"read-write-plaintext-only"}},".cm-lineWrapping":{whiteSpace_fallback:"pre-wrap",whiteSpace:"break-spaces",wordBreak:"break-word",overflowWrap:"anywhere",flexShrink:1},"&light .cm-content":{caretColor:"black"},"&dark .cm-content":{caretColor:"white"},".cm-line":{display:"block",padding:"0 2px 0 6px"},".cm-layer":{userSelect:"none",position:"absolute",left:0,top:0,contain:"size style","& > *":{position:"absolute"}},"&light .cm-selectionBackground":{background:"#d9d9d9"},"&dark .cm-selectionBackground":{background:"#222"},"&light.cm-focused > .cm-scroller > .cm-selectionLayer .cm-selectionBackground":{background:"#d7d4f0"},"&dark.cm-focused > .cm-scroller > .cm-selectionLayer .cm-selectionBackground":{background:"#233"},".cm-cursorLayer":{pointerEvents:"none"},"&.cm-focused > .cm-scroller > .cm-cursorLayer":{animation:"steps(1) cm-blink 1.2s infinite"},"@keyframes cm-blink":{"0%":{},"50%":{opacity:0},"100%":{}},"@keyframes cm-blink2":{"0%":{},"50%":{opacity:0},"100%":{}},".cm-cursor, .cm-dropCursor":{borderLeft:"1.2px solid black",marginLeft:"-0.6px",pointerEvents:"none"},".cm-cursor":{display:"none"},"&dark .cm-cursor":{borderLeftColor:"#ddd"},".cm-selectionHandle":{backgroundColor:"currentColor",width:"1.5px"},".cm-selectionHandle-start::before, .cm-selectionHandle-end::before":{content:'""',backgroundColor:"inherit",borderRadius:"50%",width:"8px",height:"8px",position:"absolute",left:"-3.25px"},".cm-selectionHandle-start::before":{top:"-8px"},".cm-selectionHandle-end::before":{bottom:"-8px"},".cm-dropCursor":{position:"absolute"},"&.cm-focused > .cm-scroller > .cm-cursorLayer .cm-cursor":{display:"block"},".cm-iso":{unicodeBidi:"isolate"},".cm-announced":{position:"fixed",top:"-10000px"},"@media print":{".cm-announced":{display:"none"}},"&light .cm-activeLine":{backgroundColor:"#cceeff44"},"&dark .cm-activeLine":{backgroundColor:"#99eeff33"},"&light .cm-specialChar":{color:"red"},"&dark .cm-specialChar":{color:"#f78"},".cm-gutters":{flexShrink:0,display:"flex",height:"100%",boxSizing:"border-box",zIndex:200},".cm-gutters-before":{insetInlineStart:0},".cm-gutters-after":{insetInlineEnd:0},"&light .cm-gutters":{backgroundColor:"#f5f5f5",color:"#6c6c6c",border:"0px solid #ddd","&.cm-gutters-before":{borderRightWidth:"1px"},"&.cm-gutters-after":{borderLeftWidth:"1px"}},"&dark .cm-gutters":{backgroundColor:"#333338",color:"#ccc"},".cm-gutter":{display:"flex !important",flexDirection:"column",flexShrink:0,boxSizing:"border-box",minHeight:"100%",overflow:"hidden"},".cm-gutterElement":{boxSizing:"border-box"},".cm-lineNumbers .cm-gutterElement":{padding:"0 3px 0 5px",minWidth:"20px",textAlign:"right",whiteSpace:"nowrap"},"&light .cm-activeLineGutter":{backgroundColor:"#e2f2ff"},"&dark .cm-activeLineGutter":{backgroundColor:"#222227"},".cm-panels":{boxSizing:"border-box",position:"sticky",left:0,right:0,zIndex:300},"&light .cm-panels":{backgroundColor:"#f5f5f5",color:"black"},"&light .cm-panels-top":{borderBottom:"1px solid #ddd"},"&light .cm-panels-bottom":{borderTop:"1px solid #ddd"},"&dark .cm-panels":{backgroundColor:"#333338",color:"white"},".cm-dialog":{padding:"2px 19px 4px 6px",position:"relative","& label":{fontSize:"80%"}},".cm-dialog-close":{position:"absolute",top:"3px",right:"4px",backgroundColor:"inherit",border:"none",font:"inherit",fontSize:"14px",padding:"0"},".cm-tab":{display:"inline-block",overflow:"hidden",verticalAlign:"bottom"},".cm-widgetBuffer":{verticalAlign:"text-top",height:"1em",width:0,display:"inline"},".cm-placeholder":{color:"#888",display:"inline-block",verticalAlign:"top",userSelect:"none"},".cm-highlightSpace":{backgroundImage:"radial-gradient(circle at 50% 55%, #aaa 20%, transparent 5%)",backgroundPosition:"center"},".cm-highlightTab":{backgroundImage:'url(\'data:image/svg+xml,\')',backgroundSize:"auto 100%",backgroundPosition:"right 90%",backgroundRepeat:"no-repeat"},".cm-trailingSpace":{backgroundColor:"#ff332255"},".cm-button":{verticalAlign:"middle",color:"inherit",fontSize:"70%",padding:".2em 1em",borderRadius:"1px"},"&light .cm-button":{backgroundImage:"linear-gradient(#eff1f5, #d9d9df)",border:"1px solid #888","&:active":{backgroundImage:"linear-gradient(#b4b4b4, #d0d3d6)"}},"&dark .cm-button":{backgroundImage:"linear-gradient(#393939, #111)",border:"1px solid #888","&:active":{backgroundImage:"linear-gradient(#111, #333)"}},".cm-textfield":{verticalAlign:"middle",color:"inherit",fontSize:"70%",border:"1px solid silver",padding:".2em .5em"},"&light .cm-textfield":{backgroundColor:"white"},"&dark .cm-textfield":{border:"1px solid #555",backgroundColor:"inherit"}},Jn),ir={childList:!0,characterData:!0,subtree:!0,attributes:!0,characterDataOldValue:!0},Or=$t.ie&&$t.ie_version<=11;class nr{constructor(e){this.view=e,this.active=!1,this.editContext=null,this.selectionRange=new At,this.selectionChanged=!1,this.delayedFlush=-1,this.resizeTimeout=-1,this.queue=[],this.delayedAndroidKey=null,this.flushingAndroidKey=-1,this.lastChange=0,this.scrollTargets=[],this.intersection=null,this.resizeScroll=null,this.intersecting=!1,this.gapIntersection=null,this.gaps=[],this.printQuery=null,this.parentCheck=-1,this.dom=e.contentDOM,this.observer=new MutationObserver(t=>{for(let e of t)this.queue.push(e);($t.ie&&$t.ie_version<=11||$t.ios&&e.composing)&&t.some(e=>"childList"==e.type&&e.removedNodes.length||"characterData"==e.type&&e.oldValue.length>e.target.nodeValue.length)?this.flushSoon():this.flush()}),!window.EditContext||!$t.android||!1===e.constructor.EDIT_CONTEXT||$t.chrome&&$t.chrome_version<126||(this.editContext=new or(e),e.state.facet(_i)&&(e.contentDOM.editContext=this.editContext.editContext)),Or&&(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")),"function"==typeof ResizeObserver&&(this.resizeScroll=new ResizeObserver(()=>{var e;(null===(e=this.view.docView)||void 0===e?void 0:e.lastUpdate){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(e){this.view.inputState.runHandlers("scroll",e),this.intersecting&&this.view.measure()}onScroll(e){this.intersecting&&this.flush(!1),this.editContext&&this.view.requestMeasure(this.editContext.measureReq),this.onScrollChanged(e)}onResize(){this.resizeTimeout<0&&(this.resizeTimeout=setTimeout(()=>{this.resizeTimeout=-1,this.view.requestMeasure()},50))}onPrint(e){("change"!=e.type&&e.type||e.matches)&&(this.view.viewState.printing=!0,this.view.measure(),setTimeout(()=>{this.view.viewState.printing=!1,this.view.requestMeasure()},500))}updateGaps(e){if(this.gapIntersection&&(e.length!=this.gaps.length||this.gaps.some((t,i)=>t!=e[i]))){this.gapIntersection.disconnect();for(let t of e)this.gapIntersection.observe(t);this.gaps=e}}onSelectionChange(e){let t=this.selectionChanged;if(!this.readSelectionRange()||this.delayedAndroidKey)return;let{view:i}=this,O=this.selectionRange;if(i.state.facet(_i)?i.root.activeElement!=this.dom:!Rt(this.dom,O))return;let n=O.anchorNode&&i.docView.tile.nearest(O.anchorNode);n&&n.isWidget()&&n.widget.ignoreEvent(e)?t||(this.selectionChanged=!1):($t.ie&&$t.ie_version<=11||$t.android&&$t.chrome)&&!i.state.selection.main.empty&&O.focusNode&&_t(O.focusNode,O.focusOffset,O.anchorNode,O.anchorOffset)?this.flushSoon():this.flush(!1)}readSelectionRange(){let{view:e}=this,t=kt(e.root);if(!t)return!1;let i=$t.safari&&11==e.root.nodeType&&e.root.activeElement==this.dom&&function(e,t){if(t.getComposedRanges){let i=t.getComposedRanges(e.root)[0];if(i)return sr(e,i)}let i=null;function O(e){e.preventDefault(),e.stopImmediatePropagation(),i=e.getTargetRanges()[0]}return e.contentDOM.addEventListener("beforeinput",O,!0),e.dom.ownerDocument.execCommand("indent"),e.contentDOM.removeEventListener("beforeinput",O,!0),i?sr(e,i):null}(this.view,t)||t;if(!i||this.selectionRange.eq(i))return!1;let O=Rt(this.dom,i);return O&&!this.selectionChanged&&e.inputState.lastFocusTime>Date.now()-200&&e.inputState.lastTouchTime{let e=this.delayedAndroidKey;e&&(this.clearDelayedAndroidKey(),this.view.inputState.lastKeyCode=e.keyCode,this.view.inputState.lastKeyTime=Date.now(),!this.flush()&&e.force&&It(this.dom,e.key,e.keyCode))};this.flushingAndroidKey=this.view.win.requestAnimationFrame(e)}this.delayedAndroidKey&&"Enter"!=e||(this.delayedAndroidKey={key:e,keyCode:t,force:this.lastChange{this.delayedFlush=-1,this.flush()}))}forceFlush(){this.delayedFlush>=0&&(this.view.win.cancelAnimationFrame(this.delayedFlush),this.delayedFlush=-1),this.flush()}pendingRecords(){for(let e of this.observer.takeRecords())this.queue.push(e);return this.queue}processRecords(){let e=this.pendingRecords();e.length&&(this.queue=[]);let t=-1,i=-1,O=!1;for(let n of e){let e=this.readMutation(n);e&&(e.typeOver&&(O=!0),-1==t?({from:t,to:i}=e):(t=Math.min(e.from,t),i=Math.max(e.to,i)))}return{from:t,to:i,typeOver:O}}readChange(){let{from:e,to:t,typeOver:i}=this.processRecords(),O=this.selectionChanged&&Rt(this.dom,this.selectionRange);if(e<0&&!O)return null;e>-1&&(this.lastChange=Date.now()),this.view.inputState.lastFocusTime=0,this.selectionChanged=!1;let n=new GO(this.view,e,t,i);return this.view.docView.domChanged={newSel:n.newSel?n.newSel.main:null},n}flush(e=!0){if(this.delayedFlush>=0||this.delayedAndroidKey)return!1;e&&this.readSelectionRange();let t=this.readChange();if(!t)return this.view.requestMeasure(),!1;let i=this.view.state,O=AO(this.view,t);return this.view.state==i&&(t.domChanged||t.newSel&&!DO(this.view.state.selection,t.newSel.main))&&this.view.update([]),O}readMutation(e){let t=this.view.docView.tile.nearest(e.target);if(!t||t.isWidget())return null;if(t.markDirty("attributes"==e.type),"childList"==e.type){let i=rr(t,e.previousSibling||e.target.previousSibling,-1),O=rr(t,e.nextSibling||e.target.nextSibling,1);return{from:i?t.posAfter(i):t.posAtStart,to:O?t.posBefore(O):t.posAtEnd,typeOver:!1}}return"characterData"==e.type?{from:t.posAtStart,to:t.posAtEnd,typeOver:e.target.nodeValue==e.oldValue}:null}setWindow(e){e!=this.win&&(this.removeWindowListeners(this.win),this.win=e,this.addWindowListeners(this.win))}addWindowListeners(e){e.addEventListener("resize",this.onResize),this.printQuery?this.printQuery.addEventListener?this.printQuery.addEventListener("change",this.onPrint):this.printQuery.addListener(this.onPrint):e.addEventListener("beforeprint",this.onPrint),e.addEventListener("scroll",this.onScroll),e.document.addEventListener("selectionchange",this.onSelectionChange)}removeWindowListeners(e){e.removeEventListener("scroll",this.onScroll),e.removeEventListener("resize",this.onResize),this.printQuery?this.printQuery.removeEventListener?this.printQuery.removeEventListener("change",this.onPrint):this.printQuery.removeListener(this.onPrint):e.removeEventListener("beforeprint",this.onPrint),e.document.removeEventListener("selectionchange",this.onSelectionChange)}update(e){this.editContext&&(this.editContext.update(e),e.startState.facet(_i)!=e.state.facet(_i)&&(e.view.contentDOM.editContext=e.state.facet(_i)?this.editContext.editContext:null))}destroy(){var e,t,i;this.stop(),null===(e=this.intersection)||void 0===e||e.disconnect(),null===(t=this.gapIntersection)||void 0===t||t.disconnect(),null===(i=this.resizeScroll)||void 0===i||i.disconnect();for(let e of this.scrollTargets)e.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 rr(e,t,i){for(;t;){let O=Ki.get(t);if(O&&O.parent==e)return O;let n=t.parentNode;t=n!=e.dom?n:i>0?t.nextSibling:t.previousSibling}return null}function sr(e,t){let i=t.startContainer,O=t.startOffset,n=t.endContainer,r=t.endOffset,s=e.docView.domAtPos(e.state.selection.main.anchor,1);return _t(s.node,s.offset,n,r)&&([i,O,n,r]=[n,r,i,O]),{anchorNode:i,anchorOffset:O,focusNode:n,focusOffset:r}}class or{constructor(e){this.from=0,this.to=0,this.pendingContextChange=null,this.handlers=Object.create(null),this.composing=null,this.resetRange(e.state);let t=this.editContext=new window.EditContext({text:e.state.doc.sliceString(this.from,this.to),selectionStart:this.toContextPos(Math.max(this.from,Math.min(this.to,e.state.selection.main.anchor))),selectionEnd:this.toContextPos(e.state.selection.main.head)});this.handlers.textupdate=i=>{let O=e.state.selection.main,{anchor:n,head:r}=O,s=this.toEditorPos(i.updateRangeStart),o=this.toEditorPos(i.updateRangeEnd);e.inputState.composing>=0&&!this.composing&&(this.composing={contextBase:i.updateRangeStart,editorBase:s,drifted:!1});let a=o-s>i.text.length;s==this.from&&nthis.to&&(o=n);let l=MO(e.state.sliceDoc(s,o),i.text,(a?O.from:O.to)-s,a?"end":null);if(!l){let t=q.single(this.toEditorPos(i.selectionStart),this.toEditorPos(i.selectionEnd));return void(DO(t,O)||e.dispatch({selection:t,userEvent:"select"}))}let h={from:l.from+s,to:l.toA+s,insert:c.of(i.text.slice(l.from,l.toB).split("\n"))};if(($t.mac||$t.android)&&h.from==r-1&&/^\. ?$/.test(i.text)&&"off"==e.contentDOM.getAttribute("autocorrect")&&(h={from:s,to:o,insert:c.of([i.text.replace("."," ")])}),this.pendingContextChange=h,!e.state.readOnly){let t=this.to-this.from+(h.to-h.from+h.insert.length);EO(e,h,q.single(this.toEditorPos(i.selectionStart,t),this.toEditorPos(i.selectionEnd,t)))}this.pendingContextChange&&(this.revertPending(e.state),this.setSelection(e.state)),h.from=0&&!/[\\p{Alphabetic}\\p{Number}_]/.test(t.text.slice(Math.max(0,i.updateRangeStart-1),Math.min(t.text.length,i.updateRangeStart+1)))&&this.handlers.compositionend(i)},this.handlers.characterboundsupdate=i=>{let O=[],n=null;for(let t=this.toEditorPos(i.rangeStart),r=this.toEditorPos(i.rangeEnd);t{let i=[];for(let e of t.getTextFormats()){let t=e.underlineStyle,O=e.underlineThickness;if(!/none/i.test(t)&&!/none/i.test(O)){let n=this.toEditorPos(e.rangeStart),r=this.toEditorPos(e.rangeEnd);if(n{e.inputState.composing<0&&(e.inputState.composing=0,e.inputState.compositionFirstChange=!0)},this.handlers.compositionend=()=>{if(e.inputState.composing=-1,e.inputState.compositionFirstChange=null,this.composing){let{drifted:t}=this.composing;this.composing=null,t&&this.reset(e.state)}};for(let e in this.handlers)t.addEventListener(e,this.handlers[e]);this.measureReq={read:e=>{this.editContext.updateControlBounds(e.contentDOM.getBoundingClientRect());let t=kt(e.root);t&&t.rangeCount&&this.editContext.updateSelectionBounds(t.getRangeAt(0).getBoundingClientRect())}}}applyEdits(e){let t=0,i=!1,O=this.pendingContextChange;return e.changes.iterChanges((n,r,s,o,a)=>{if(i)return;let l=a.length-(r-n);if(O&&r>=O.to){if(O.from==n&&O.to==r&&O.insert.eq(a))return O=this.pendingContextChange=null,t+=l,void(this.to+=l);O=null,this.revertPending(e.state)}if(n+=t,(r+=t)<=this.from)this.from+=l,this.to+=l;else if(nthis.to||this.to-this.from+a.length>3e4)return void(i=!0);this.editContext.updateText(this.toContextPos(n),this.toContextPos(r),a.toString()),this.to+=l}t+=l}),O&&!i&&this.revertPending(e.state),!i}update(e){let t=this.pendingContextChange,i=e.startState.selection.main;this.composing&&(this.composing.drifted||!e.changes.touchesRange(i.from,i.to)&&e.transactions.some(e=>!e.isUserEvent("input.type")&&e.changes.touchesRange(this.from,this.to)))?(this.composing.drifted=!0,this.composing.editorBase=e.changes.mapPos(this.composing.editorBase)):this.applyEdits(e)&&this.rangeIsValid(e.state)?(e.docChanged||e.selectionSet||t)&&this.setSelection(e.state):(this.pendingContextChange=null,this.reset(e.state)),(e.geometryChanged||e.docChanged||e.selectionSet)&&e.view.requestMeasure(this.measureReq)}resetRange(e){let{head:t}=e.selection.main;this.from=Math.max(0,t-1e4),this.to=Math.min(e.doc.length,t+1e4)}reset(e){this.resetRange(e),this.editContext.updateText(0,this.editContext.text.length,e.doc.sliceString(this.from,this.to)),this.setSelection(e)}revertPending(e){let t=this.pendingContextChange;this.pendingContextChange=null,this.editContext.updateText(this.toContextPos(t.from),this.toContextPos(t.from+t.insert.length),e.doc.sliceString(t.from,t.to))}setSelection(e){let{main:t}=e.selection,i=this.toContextPos(Math.max(this.from,Math.min(this.to,t.anchor))),O=this.toContextPos(t.head);this.editContext.selectionStart==i&&this.editContext.selectionEnd==O||this.editContext.updateSelection(i,O)}rangeIsValid(e){let{head:t}=e.selection.main;return!(this.from>0&&t-this.from<500||this.to3e4)}toEditorPos(e,t=this.to-this.from){e=Math.min(e,t);let i=this.composing;return i&&i.drifted?i.editorBase+(e-i.contextBase):e+this.from}toContextPos(e){let t=this.composing;return t&&t.drifted?t.contextBase+(e-t.editorBase):e-this.from}destroy(){for(let e in this.handlers)this.editContext.removeEventListener(e,this.handlers[e])}}class ar{get state(){return this.viewState.state}get viewport(){return this.viewState.viewport}get visibleRanges(){return this.viewState.visibleRanges}get inView(){return this.viewState.inView}get composing(){return!!this.inputState&&this.inputState.composing>0}get compositionStarted(){return!!this.inputState&&this.inputState.composing>=0}get root(){return this._root}get win(){return this.dom.ownerDocument.defaultView||window}constructor(e={}){var 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),e.parent&&e.parent.appendChild(this.dom);let{dispatch:i}=e;this.dispatchTransactions=e.dispatchTransactions||i&&(e=>e.forEach(e=>i(e,this)))||(e=>this.update(e)),this.dispatch=this.dispatch.bind(this),this._root=e.root||function(e){for(;e;){if(e&&(9==e.nodeType||11==e.nodeType&&e.host))return e;e=e.assignedSlot||e.parentNode}return null}(e.parent)||document,this.viewState=new Gn(this,e.state||Te.create(e)),e.scrollTo&&e.scrollTo.is(Zi)&&(this.viewState.scrollTarget=e.scrollTo.value.clip(this.viewState.state)),this.plugins=this.state.facet(Yi).map(e=>new Wi(e));for(let e of this.plugins)e.update(this);this.observer=new nr(this),this.inputState=new LO(this),this.inputState.ensureHandlers(this.plugins),this.docView=new PO(this),this.mountStyles(),this.updateAttrs(),this.updateState=0,this.requestMeasure(),(null===(t=document.fonts)||void 0===t?void 0:t.ready)&&document.fonts.ready.then(()=>{this.viewState.mustMeasureContent="refresh",this.requestMeasure()})}dispatch(...e){let t=1==e.length&&e[0]instanceof de?e:1==e.length&&Array.isArray(e[0])?e[0]:[this.state.update(...e)];this.dispatchTransactions(t,this)}update(e){if(0!=this.updateState)throw new Error("Calls to EditorView.update are not allowed while an update is in progress");let t,i=!1,O=!1,n=this.state;for(let t of e){if(t.startState!=n)throw new RangeError("Trying to update state with a transaction that doesn't start from the previous state.");n=t.state}if(this.destroyed)return void(this.viewState.state=n);let r=this.hasFocus,s=0,o=null;e.some(e=>e.annotation($n))?(this.inputState.notifiedFocused=r,s=1):r!=this.inputState.notifiedFocused&&(this.inputState.notifiedFocused=r,o=fn(n,r),o||(s=1));let a=this.observer.delayedAndroidKey,l=null;if(a?(this.observer.clearDelayedAndroidKey(),l=this.observer.readChange(),(l&&!this.state.doc.eq(n.doc)||!this.state.selection.eq(n.selection))&&(l=null)):this.observer.clear(),n.facet(Te.phrases)!=this.state.facet(Te.phrases))return this.setState(n);t=Fi.create(this,n,e),t.flags|=s;let h=this.viewState.scrollTarget;try{this.updateState=2;for(let t of e){if(h&&(h=h.map(t.changes)),t.scrollIntoView){let{main:e}=t.state.selection,{x:i,y:O}=this.state.facet(ar.cursorScrollMargin);h=new ki(e.empty?e:q.cursor(e.head,e.head>e.anchor?-1:1),"nearest","nearest",O,i)}for(let e of t.effects)e.is(Zi)&&(h=e.value.clip(this.state))}this.viewState.update(t,h),this.bidiCache=cr.update(this.bidiCache,t.changes),t.empty||(this.updatePlugins(t),this.inputState.update(t)),i=this.docView.update(t),this.state.facet(Ni)!=this.styleModules&&this.mountStyles(),O=this.updateAttrs(),this.showAnnouncements(e),this.docView.updateSelection(i,e.some(e=>e.isUserEvent("select.pointer")))}finally{this.updateState=0}if(t.startState.facet(Nn)!=t.state.facet(Nn)&&(this.viewState.mustMeasureContent=!0),(i||O||h||this.viewState.mustEnforceCursorAssoc||this.viewState.mustMeasureContent)&&this.requestMeasure(),i&&this.docViewUpdate(),!t.empty)for(let e of this.state.facet(Pi))try{e(t)}catch(e){zi(this.state,e,"update listener")}(o||l)&&Promise.resolve().then(()=>{o&&this.state==o.startState&&this.dispatch(o),l&&!AO(this,l)&&a.force&&It(this.contentDOM,a.key,a.keyCode)})}setState(e){if(0!=this.updateState)throw new Error("Calls to EditorView.setState are not allowed while an update is in progress");if(this.destroyed)return void(this.viewState.state=e);this.updateState=2;let t=this.hasFocus;try{for(let e of this.plugins)e.destroy(this);this.viewState=new Gn(this,e),this.plugins=e.facet(Yi).map(e=>new Wi(e)),this.pluginMap.clear();for(let e of this.plugins)e.update(this);this.docView.destroy(),this.docView=new PO(this),this.inputState.ensureHandlers(this.plugins),this.mountStyles(),this.updateAttrs(),this.bidiCache=[]}finally{this.updateState=0}t&&this.focus(),this.requestMeasure()}updatePlugins(e){let t=e.startState.facet(Yi),i=e.state.facet(Yi);if(t!=i){let O=[];for(let n of i){let i=t.indexOf(n);if(i<0)O.push(new Wi(n));else{let t=this.plugins[i];t.mustUpdate=e,O.push(t)}}for(let t of this.plugins)t.mustUpdate!=e&&t.destroy(this);this.plugins=O,this.pluginMap.clear()}else for(let t of this.plugins)t.mustUpdate=e;for(let e=0;e-1&&this.win.cancelAnimationFrame(this.measureScheduled),this.observer.delayedAndroidKey)return this.measureScheduled=-1,void this.requestMeasure();this.measureScheduled=0,e&&this.observer.forceFlush();let t=null,i=this.viewState.scrollParent,O=this.viewState.getScrollOffset(),{scrollAnchorPos:n,scrollAnchorHeight:r}=this.viewState;Math.abs(O-this.viewState.scrollOffset)>1&&(r=-1),this.viewState.scrollAnchorHeight=-1;try{for(let e=0;;e++){if(r<0)if(Nt(i||this.win))n=-1,r=this.viewState.heightMap.height;else{let e=this.viewState.scrollAnchorAt(O);n=e.from,r=e.top}this.updateState=1;let s=this.viewState.measure();if(!s&&!this.measureRequests.length&&null==this.viewState.scrollTarget)break;if(e>5)break;let o=[];4&s||([this.measureRequests,o]=[o,this.measureRequests]);let a=o.map(e=>{try{return e.read(this)}catch(e){return zi(this.state,e),hr}}),l=Fi.create(this,this.state,[]),h=!1;l.flags|=s,t?t.flags|=s:t=l,this.updateState=2,l.empty||(this.updatePlugins(l),this.inputState.update(l),this.updateAttrs(),h=this.docView.update(l),h&&this.docViewUpdate());for(let e=0;e1||e<-1)&&(i==this.scrollDOM||this.hasFocus||Math.max(this.inputState.lastWheelEvent,this.inputState.lastTouchTime)>Date.now()-100)){O+=e,i?i.scrollTop+=e:this.win.scrollBy(0,e),r=-1;continue}}}break}}}finally{this.updateState=0,this.measureScheduled=-1}if(t&&!t.empty)for(let e of this.state.facet(Pi))e(t)}get themeClasses(){return Fn+" "+(this.state.facet(Bn)?Kn:Hn)+" "+this.state.facet(Nn)}updateAttrs(){let e=dr(this,Ui,{class:"cm-editor"+(this.hasFocus?" cm-focused ":" ")+this.themeClasses}),t={spellcheck:"false",autocorrect:"off",autocapitalize:"off",writingsuggestions:"false",translate:"no",contenteditable:this.state.facet(_i)?"true":"false",class:"cm-content",style:`${$t.tabSize}: ${this.state.tabSize}`,role:"textbox","aria-multiline":"true"};this.state.readOnly&&(t["aria-readonly"]="true"),dr(this,ji,t);let i=this.observer.ignore(()=>{let i=mt(this.contentDOM,this.contentAttrs,t),O=mt(this.dom,this.editorAttrs,e);return i||O});return this.editorAttrs=e,this.contentAttrs=t,i}showAnnouncements(e){let t=!0;for(let i of e)for(let e of i.effects)e.is(ar.announce)&&(t&&(this.announceDOM.textContent=""),t=!1,this.announceDOM.appendChild(document.createElement("div")).textContent=e.value)}mountStyles(){this.styleModules=this.state.facet(Ni);let e=this.state.facet(ar.cspNonce);Le.mount(this.root,this.styleModules.concat(tr).reverse(),e?{nonce:e}:void 0)}readMeasured(){if(2==this.updateState)throw new Error("Reading the editor layout isn't allowed during an update");0==this.updateState&&this.measureScheduled>-1&&this.measure(!1)}requestMeasure(e){if(this.measureScheduled<0&&(this.measureScheduled=this.win.requestAnimationFrame(()=>this.measure())),e){if(this.measureRequests.indexOf(e)>-1)return;if(null!=e.key)for(let t=0;tt.plugin==e)||null),t&&t.update(this).value}get documentTop(){return this.contentDOM.getBoundingClientRect().top+this.viewState.paddingTop}get documentPadding(){return{top:this.viewState.paddingTop,bottom:this.viewState.paddingBottom}}get scaleX(){return this.viewState.scaleX}get scaleY(){return this.viewState.scaleY}elementAtHeight(e){return this.readMeasured(),this.viewState.elementAtHeight(e)}lineBlockAtHeight(e){return this.readMeasured(),this.viewState.lineBlockAtHeight(e)}get viewportLineBlocks(){return this.viewState.viewportLines}lineBlockAt(e){return this.viewState.lineBlockAt(e)}get contentHeight(){return this.viewState.contentHeight}moveByChar(e,t,i){return RO(this,e,XO(this,e,t,i))}moveByGroup(e,t){return RO(this,e,XO(this,e,t,t=>function(e,t,i){let O=e.state.charCategorizer(t),n=O(i);return e=>{let t=O(e);return n==ge.Space&&(n=t),n==t}}(this,e.head,t)))}visualLineSide(e,t){let i=this.bidiSpans(e),O=this.textDirectionAt(e.from),n=i[t?i.length-1:0];return q.cursor(n.side(t,O)+e.from,n.forward(!t,O)?1:-1)}moveToLineBoundary(e,t,i=!0){return function(e,t,i,O){let n=xO(e,t.head,t.assoc||-1),r=O&&n.type==Pt.Text&&(e.lineWrapping||n.widgetLineBreaks)?e.coordsAtPos(t.assoc<0&&t.head>n.from?t.head-1:t.head):null;if(r){let t=e.dom.getBoundingClientRect(),O=e.textDirectionAt(n.from),s=e.posAtCoords({x:i==(O==Kt.LTR)?t.right-1:t.left+1,y:(r.top+r.bottom)/2});if(null!=s)return q.cursor(s,i?-1:1)}return q.cursor(i?n.to:n.from,i?-1:1)}(this,e,t,i)}moveVertically(e,t,i){return RO(this,e,function(e,t,i,O){let n=t.head,r=i?1:-1;if(n==(i?e.state.doc.length:0))return q.cursor(n,t.assoc);let s,o=t.goalColumn,a=e.contentDOM.getBoundingClientRect(),l=e.coordsAtPos(n,t.assoc||((t.empty?i:t.head==t.from)?1:-1)),h=e.documentTop;if(l)null==o&&(o=l.left-a.left),s=r<0?l.top:l.bottom;else{let t=e.viewState.lineBlockAt(n);null==o&&(o=Math.min(a.right-a.left,e.defaultCharacterWidth*(n-t.from))),s=(r<0?t.top:t.bottom)+h}let c=a.left+o,d=e.viewState.heightOracle.textHeight>>1,u=null!=O?O:d;for(let t=0;;t+=d){let O=s+(u+t)*r,n=_O(e,{x:c,y:O},!1,r);if(i?O>a.bottom:Os:h0)}coordsForChar(e){return this.readMeasured(),this.docView.coordsForChar(e)}get defaultCharacterWidth(){return this.viewState.heightOracle.charWidth}get defaultLineHeight(){return this.viewState.heightOracle.lineHeight}get textDirection(){return this.viewState.defaultTextDirection}textDirectionAt(e){return!this.state.facet(bi)||ethis.viewport.to?this.textDirection:(this.readMeasured(),this.docView.textDirectionAt(e))}get lineWrapping(){return this.viewState.heightOracle.lineWrapping}bidiSpans(e){if(e.length>lr)return ui(e.length);let t,i=this.textDirectionAt(e.from);for(let O of this.bidiCache)if(O.from==e.from&&O.dir==i&&(O.fresh||li(O.isolates,t=Di(this,e))))return O.order;t||(t=Di(this,e));let O=function(e,t,i){if(!e)return[new ai(0,0,t==ei?1:0)];if(t==Jt&&!i.length&&!oi.test(e))return ui(e.length);if(i.length)for(;e.length>hi.length;)hi[hi.length]=256;let O=[],n=t==Jt?0:1;return di(e,n,n,i,0,e.length,O),O}(e.text,i,t);return this.bidiCache.push(new cr(e.from,e.to,i,t,!0,O)),O}get hasFocus(){var e;return(this.dom.ownerDocument.hasFocus()||$t.safari&&(null===(e=this.inputState)||void 0===e?void 0:e.lastContextMenu)>Date.now()-3e4)&&this.root.activeElement==this.contentDOM}focus(){this.observer.ignore(()=>{Dt(this.contentDOM),this.docView.updateSelection()})}setRoot(e){this._root!=e&&(this._root=e,this.observer.setWindow((9==e.nodeType?e:e.ownerDocument).defaultView||window),this.mountStyles())}destroy(){this.root.activeElement==this.contentDOM&&this.contentDOM.blur();for(let e of this.plugins)e.destroy(this);this.plugins=[],this.inputState.destroy(),this.docView.destroy(),this.dom.remove(),this.observer.destroy(),this.measureScheduled>-1&&this.win.cancelAnimationFrame(this.measureScheduled),this.destroyed=!0}static scrollIntoView(e,t={}){var i,O,n,r;return Zi.of(new ki("number"==typeof e?q.cursor(e):e,null!==(i=t.y)&&void 0!==i?i:"nearest",null!==(O=t.x)&&void 0!==O?O:"nearest",null!==(n=t.yMargin)&&void 0!==n?n:5,null!==(r=t.xMargin)&&void 0!==r?r:5))}scrollSnapshot(){let{scrollTop:e,scrollLeft:t}=this.scrollDOM,i=this.viewState.scrollAnchorAt(e);return Zi.of(new ki(q.cursor(i.from),"start","start",i.top-e,t,!0))}setTabFocusMode(e){null==e?this.inputState.tabFocusMode=this.inputState.tabFocusMode<0?0:-1:"boolean"==typeof e?this.inputState.tabFocusMode=e?0:-1:0!=this.inputState.tabFocusMode&&(this.inputState.tabFocusMode=Date.now()+e)}static domEventHandlers(e){return qi.define(()=>({}),{eventHandlers:e})}static domEventObservers(e){return qi.define(()=>({}),{eventObservers:e})}static theme(e,t){let i=Le.newName(),O=[Nn.of(i),Ni.of(er(`.${i}`,e))];return t&&t.dark&&O.push(Bn.of(!0)),O}static baseTheme(e){return N.lowest(Ni.of(er("."+Fn,e,Jn)))}static findFromDOM(e){var t;let i=e.querySelector(".cm-content"),O=i&&Ki.get(i)||Ki.get(e);return(null===(t=null==O?void 0:O.root)||void 0===t?void 0:t.view)||null}}ar.styleModule=Ni,ar.inputHandler=Ti,ar.clipboardInputFilter=vi,ar.clipboardOutputFilter=wi,ar.scrollHandler=Xi,ar.focusChangeEffect=yi,ar.perLineTextDirection=bi,ar.exceptionSink=Si,ar.updateListener=Pi,ar.editable=_i,ar.mouseSelectionStyle=gi,ar.dragMovesSelection=mi,ar.clickAddsSelectionRange=Qi,ar.decorations=Gi,ar.blockWrappers=Ci,ar.outerDecorations=Ai,ar.atomicRanges=Ei,ar.bidiIsolatedRanges=Mi,ar.cursorScrollMargin=j.define({combine:e=>{let t=5,i=5;for(let O of e)"number"==typeof O?t=i=O:({x:t,y:i}=O);return{x:t,y:i}}}),ar.scrollMargins=Li,ar.darkTheme=Bn,ar.cspNonce=j.define({combine:e=>e.length?e[0]:""}),ar.contentAttributes=ji,ar.editorAttributes=Ui,ar.lineWrapping=ar.contentAttributes.of({class:"cm-lineWrapping"}),ar.announce=ce.define();const lr=4096,hr={};class cr{constructor(e,t,i,O,n,r){this.from=e,this.to=t,this.dir=i,this.isolates=O,this.fresh=n,this.order=r}static update(e,t){if(t.empty&&!e.some(e=>e.fresh))return e;let i=[],O=e.length?e[e.length-1].dir:Kt.LTR;for(let n=Math.max(0,e.length-10);n=0;n--){let t=O[n],r="function"==typeof t?t(e):t;r&&ft(r,i)}return i}const ur=$t.mac?"mac":$t.windows?"win":$t.linux?"linux":"key";function $r(e,t,i){return t.altKey&&(e="Alt-"+e),t.ctrlKey&&(e="Ctrl-"+e),t.metaKey&&(e="Meta-"+e),!1!==i&&t.shiftKey&&(e="Shift-"+e),e}const fr=N.default(ar.domEventHandlers({keydown:(e,t)=>Tr(mr(t.state),e,t,"editor")})),pr=j.define({enables:fr}),Qr=new WeakMap;function mr(e){let t=e.facet(pr),i=Qr.get(t);return i||Qr.set(t,i=function(e,t=ur){let i=Object.create(null),O=Object.create(null),n=(e,t)=>{let i=O[e];if(null==i)O[e]=t;else if(i!=t)throw new Error("Key binding "+e+" is used both as a regular binding and as a multi-stroke prefix")},r=(e,O,r,s,o)=>{var a,l;let h=i[e]||(i[e]=Object.create(null)),c=O.split(/ (?!$)/).map(e=>function(e,t){const i=e.split(/-(?!$)/);let O,n,r,s,o=i[i.length-1];"Space"==o&&(o=" ");for(let e=0;e{let O=gr={view:t,prefix:i,scope:e};return setTimeout(()=>{gr==O&&(gr=null)},Sr),!0}]})}let d=c.join(" ");n(d,!1);let u=h[d]||(h[d]={preventDefault:!1,stopPropagation:!1,run:(null===(l=null===(a=h._any)||void 0===a?void 0:a.run)||void 0===l?void 0:l.slice())||[]});r&&u.run.push(r),s&&(u.preventDefault=!0),o&&(u.stopPropagation=!0)};for(let O of e){let e=O.scope?O.scope.split(" "):["editor"];if(O.any)for(let t of e){let e=i[t]||(i[t]=Object.create(null));e._any||(e._any={preventDefault:!1,stopPropagation:!1,run:[]});let{any:n}=O;for(let t in e)e[t].run.push(e=>n(e,Pr))}let n=O[t]||O.key;if(n)for(let t of e)r(t,n,O.run,O.preventDefault,O.stopPropagation),O.shift&&r(t,"Shift-"+n,O.shift,O.preventDefault,O.stopPropagation)}return i}(t.reduce((e,t)=>e.concat(t),[]))),i}let gr=null;const Sr=4e3;let Pr=null;function Tr(e,t,i,O){Pr=t;let n=function(e){var t=!(He&&e.metaKey&&e.shiftKey&&!e.ctrlKey&&!e.altKey||Ke&&e.shiftKey&&e.key&&1==e.key.length||"Unidentified"==e.key)&&e.key||(e.shiftKey?Fe:Be)[e.keyCode]||e.key||"Unidentified";return"Esc"==t&&(t="Escape"),"Del"==t&&(t="Delete"),"Left"==t&&(t="ArrowLeft"),"Up"==t&&(t="ArrowUp"),"Right"==t&&(t="ArrowRight"),"Down"==t&&(t="ArrowDown"),t}(t),r=v(T(n,0))==n.length&&" "!=n,s="",o=!1,a=!1,l=!1;gr&&gr.view==i&&gr.scope==O&&(s=gr.prefix+" ",HO.indexOf(t.keyCode)<0&&(a=!0,gr=null));let h,c,d=new Set,u=e=>{if(e){for(let t of e.run)if(!d.has(t)&&(d.add(t),t(i)))return e.stopPropagation&&(l=!0),!0;e.preventDefault&&(e.stopPropagation&&(l=!0),a=!0)}return!1},$=e[O];return $&&(u($[s+$r(n,t,!r)])?o=!0:!r||!(t.altKey||t.metaKey||t.ctrlKey)||$t.windows&&t.ctrlKey&&t.altKey||$t.mac&&t.altKey&&!t.ctrlKey&&!t.metaKey||!(h=Be[t.keyCode])||h==n?r&&t.shiftKey&&u($[s+$r(n,t,!0)])&&(o=!0):(u($[s+$r(h,t,!0)])||t.shiftKey&&(c=Fe[t.keyCode])!=n&&c!=h&&u($[s+$r(c,t,!1)]))&&(o=!0),!o&&u($._any)&&(o=!0)),a&&(o=!0),o&&l&&t.stopPropagation(),Pr=null,o}class yr{constructor(e,t,i,O,n){this.className=e,this.left=t,this.top=i,this.width=O,this.height=n}draw(){let e=document.createElement("div");return e.className=this.className,this.adjust(e),e}update(e,t){return t.className==this.className&&(this.adjust(e),!0)}adjust(e){e.style.left=this.left+"px",e.style.top=this.top+"px",null!=this.width&&(e.style.width=this.width+"px"),e.style.height=this.height+"px"}eq(e){return this.left==e.left&&this.top==e.top&&this.width==e.width&&this.height==e.height&&this.className==e.className}static forRange(e,t,i){if(i.empty){let O=e.coordsAtPos(i.head,i.assoc||1);if(!O)return[];let n=vr(e);return[new yr(t,O.left-n.left,O.top-n.top,null,O.bottom-O.top)]}return function(e,t,i){if(i.to<=e.viewport.from||i.from>=e.viewport.to)return[];let O=Math.max(i.from,e.viewport.from),n=Math.min(i.to,e.viewport.to),r=e.textDirection==Kt.LTR,s=e.contentDOM,o=s.getBoundingClientRect(),a=vr(e),l=s.querySelector(".cm-line"),h=l&&window.getComputedStyle(l),c=o.left+(h?parseInt(h.paddingLeft)+Math.min(0,parseInt(h.textIndent)):0),d=o.right-(h?parseInt(h.paddingRight):0),u=xO(e,O,1),$=xO(e,n,-1),f=u.type==Pt.Text?u:null,p=$.type==Pt.Text?$:null;if(f&&(e.lineWrapping||u.widgetLineBreaks)&&(f=wr(e,O,1,f)),p&&(e.lineWrapping||$.widgetLineBreaks)&&(p=wr(e,n,-1,p)),f&&p&&f.from==p.from&&f.to==p.to)return m(g(i.from,i.to,f));{let t=f?g(i.from,null,f):S(u,!1),O=p?g(null,i.to,p):S($,!0),n=[];return(f||u).to<(p||$).from-(f&&p?1:0)||u.widgetLineBreaks>1&&t.bottom+e.defaultLineHeight/2l&&O.from=r)break;o>n&&a(Math.max(e,n),null==t&&e<=l,Math.min(o,r),null==i&&o>=h,s.dir)}if(n=O.to+1,n>=r)break}return 0==o.length&&a(l,null==t,h,null==i,e.textDirection),{top:n,bottom:s,horizontal:o}}function S(e,t){let i=o.top+(t?e.top:e.bottom);return{top:i,bottom:i,horizontal:[]}}}(e,t,i)}}function vr(e){let t=e.scrollDOM.getBoundingClientRect();return{left:(e.textDirection==Kt.LTR?t.left:t.right-e.scrollDOM.clientWidth*e.scaleX)-e.scrollDOM.scrollLeft*e.scaleX,top:t.top-e.scrollDOM.scrollTop*e.scaleY}}function wr(e,t,i,O){let n=e.coordsAtPos(t,2*i);if(!n)return O;let r=e.dom.getBoundingClientRect(),s=(n.top+n.bottom)/2,o=e.posAtCoords({x:r.left+1,y:s}),a=e.posAtCoords({x:r.right-1,y:s});return null==o||null==a?O:{from:Math.max(O.from,Math.min(o,a)),to:Math.min(O.to,Math.max(o,a))}}class br{constructor(e,t){this.view=e,this.layer=t,this.drawn=[],this.scaleX=1,this.scaleY=1,this.measureReq={read:this.measure.bind(this),write:this.draw.bind(this)},this.dom=e.scrollDOM.appendChild(document.createElement("div")),this.dom.classList.add("cm-layer"),t.above&&this.dom.classList.add("cm-layer-above"),t.class&&this.dom.classList.add(t.class),this.scale(),this.dom.setAttribute("aria-hidden","true"),this.setOrder(e.state),e.requestMeasure(this.measureReq),t.mount&&t.mount(this.dom,e)}update(e){e.startState.facet(xr)!=e.state.facet(xr)&&this.setOrder(e.state),(this.layer.update(e,this.dom)||e.geometryChanged)&&(this.scale(),e.view.requestMeasure(this.measureReq))}docViewUpdate(e){!1!==this.layer.updateOnDocViewUpdate&&e.requestMeasure(this.measureReq)}setOrder(e){let t=0,i=e.facet(xr);for(;t{return i=e,O=this.drawn[t],!(i.constructor==O.constructor&&i.eq(O));var i,O})){let t=this.dom.firstChild,i=0;for(let O of e)O.update&&t&&O.constructor&&this.drawn[i].constructor&&O.update(t,this.drawn[i])?(t=t.nextSibling,i++):this.dom.insertBefore(O.draw(),t);for(;t;){let e=t.nextSibling;t.remove(),t=e}this.drawn=e,$t.webkit&&(this.dom.style.display=this.dom.firstChild?"":"none")}}destroy(){this.layer.destroy&&this.layer.destroy(this.dom,this.view),this.dom.remove()}}const xr=j.define();function Xr(e){return[qi.define(t=>new br(t,e)),xr.of(e)]}const kr=j.define({combine:e=>ye(e,{cursorBlinkRate:1200,drawRangeCursor:!0,iosSelectionHandles:!0},{cursorBlinkRate:(e,t)=>Math.min(e,t),drawRangeCursor:(e,t)=>e||t})});function Zr(e={}){return[kr.of(e),zr,Vr,Yr,xi.of(!0)]}function Rr(e){return e.startState.facet(kr)!=e.state.facet(kr)}const zr=Xr({above:!0,markers(e){let{state:t}=e,i=t.facet(kr),O=[];for(let n of t.selection.ranges){let r=n==t.selection.main;if(n.empty||i.drawRangeCursor&&!(r&&$t.ios&&i.iosSelectionHandles)){let t=r?"cm-cursor cm-cursor-primary":"cm-cursor cm-cursor-secondary",i=n.empty?n:q.cursor(n.head,n.assoc);for(let n of yr.forRange(e,t,i))O.push(n)}}return O},update(e,t){e.transactions.some(e=>e.selection)&&(t.style.animationName="cm-blink"==t.style.animationName?"cm-blink2":"cm-blink");let i=Rr(e);return i&&_r(e.state,t),e.docChanged||e.selectionSet||i},mount(e,t){_r(t.state,e)},class:"cm-cursorLayer"});function _r(e,t){t.style.animationDuration=e.facet(kr).cursorBlinkRate+"ms"}const Vr=Xr({above:!1,markers(e){let t=[],{main:i,ranges:O}=e.state.selection;for(let i of O)if(!i.empty)for(let O of yr.forRange(e,"cm-selectionBackground",i))t.push(O);if($t.ios&&!i.empty&&e.state.facet(kr).iosSelectionHandles){for(let O of yr.forRange(e,"cm-selectionHandle cm-selectionHandle-start",q.cursor(i.from,1)))t.push(O);for(let O of yr.forRange(e,"cm-selectionHandle cm-selectionHandle-end",q.cursor(i.to,1)))t.push(O)}return t},update:(e,t)=>e.docChanged||e.selectionSet||e.viewportChanged||Rr(e),class:"cm-selectionLayer"}),Yr=N.highest(ar.theme({".cm-line":{"& ::selection, &::selection":{backgroundColor:"transparent !important"},caretColor:"transparent !important"},".cm-content":{caretColor:"transparent !important","& :focus":{caretColor:"initial !important","&::selection, & ::selection":{backgroundColor:"Highlight !important"}}}})),qr=ce.define({map:(e,t)=>null==e?null:t.mapPos(e)}),Wr=L.define({create:()=>null,update:(e,t)=>(null!=e&&(e=t.changes.mapPos(e)),t.effects.reduce((e,t)=>t.is(qr)?t.value:e,e))}),Ur=qi.fromClass(class{constructor(e){this.view=e,this.cursor=null,this.measureReq={read:this.readPos.bind(this),write:this.drawCursor.bind(this)}}update(e){var t;let i=e.state.field(Wr);null==i?null!=this.cursor&&(null===(t=this.cursor)||void 0===t||t.remove(),this.cursor=null):(this.cursor||(this.cursor=this.view.scrollDOM.appendChild(document.createElement("div")),this.cursor.className="cm-dropCursor"),(e.startState.field(Wr)!=i||e.docChanged||e.geometryChanged)&&this.view.requestMeasure(this.measureReq))}readPos(){let{view:e}=this,t=e.state.field(Wr),i=null!=t&&e.coordsAtPos(t);if(!i)return null;let O=e.scrollDOM.getBoundingClientRect();return{left:i.left-O.left+e.scrollDOM.scrollLeft*e.scaleX,top:i.top-O.top+e.scrollDOM.scrollTop*e.scaleY,height:i.bottom-i.top}}drawCursor(e){if(this.cursor){let{scaleX:t,scaleY:i}=this.view;e?(this.cursor.style.left=e.left/t+"px",this.cursor.style.top=e.top/i+"px",this.cursor.style.height=e.height/i+"px"):this.cursor.style.left="-100000px"}}destroy(){this.cursor&&this.cursor.remove()}setDropPos(e){this.view.state.field(Wr)!=e&&this.view.dispatch({effects:qr.of(e)})}},{eventObservers:{dragover(e){this.setDropPos(this.view.posAtCoords({x:e.clientX,y:e.clientY}))},dragleave(e){e.target!=this.view.contentDOM&&this.view.contentDOM.contains(e.relatedTarget)||this.setDropPos(null)},dragend(){this.setDropPos(null)},drop(){this.setDropPos(null)}}});function jr(e,t,i,O,n){t.lastIndex=0;for(let r,s=e.iterRange(i,O),o=i;!s.next().done;o+=s.value.length)if(!s.lineBreak)for(;r=t.exec(s.value);)n(o+r.index,r)}class Gr{constructor(e){const{regexp:t,decoration:i,decorate:O,boundary:n,maxLength:r=1e3}=e;if(!t.global)throw new RangeError("The regular expression given to MatchDecorator should have its 'g' flag set");if(this.regexp=t,O)this.addMatch=(e,t,i,n)=>O(n,i,i+e[0].length,e,t);else if("function"==typeof i)this.addMatch=(e,t,O,n)=>{let r=i(e,t,O);r&&n(O,O+e[0].length,r)};else{if(!i)throw new RangeError("Either 'decorate' or 'decoration' should be provided to MatchDecorator");this.addMatch=(e,t,O,n)=>n(O,O+e[0].length,i)}this.boundary=n,this.maxLength=r}createDeco(e){let t=new Ze,i=t.add.bind(t);for(let{from:t,to:O}of function(e,t){let i=e.visibleRanges;if(1==i.length&&i[0].from==e.viewport.from&&i[0].to==e.viewport.to)return i;let O=[];for(let{from:n,to:r}of i)n=Math.max(e.state.doc.lineAt(n).from,n-t),r=Math.min(e.state.doc.lineAt(r).to,r+t),O.length&&O[O.length-1].to>=n?O[O.length-1].to=r:O.push({from:n,to:r});return O}(e,this.maxLength))jr(e.state.doc,this.regexp,t,O,(t,O)=>this.addMatch(O,e,t,i));return t.finish()}updateDeco(e,t){let i=1e9,O=-1;return e.docChanged&&e.changes.iterChanges((t,n,r,s)=>{s>=e.view.viewport.from&&r<=e.view.viewport.to&&(i=Math.min(r,i),O=Math.max(s,O))}),e.viewportMoved||O-i>1e3?this.createDeco(e.view):O>-1?this.updateRange(e.view,t.map(e.changes),i,O):t}updateRange(e,t,i,O){for(let n of e.visibleRanges){let r=Math.max(n.from,i),s=Math.min(n.to,O);if(s>=r){let i=e.state.doc.lineAt(r),O=i.toi.from;r--)if(this.boundary.test(i.text[r-1-i.from])){o=r;break}for(;sh.push(i.range(e,t));if(i==O)for(this.regexp.lastIndex=o-i.from;(l=this.regexp.exec(i.text))&&l.indexthis.addMatch(i,e,t,c));t=t.update({filterFrom:o,filterTo:a,filter:(e,t)=>ea,add:h})}}return t}}const Cr=null!=/x/.unicode?"gu":"g",Ar=new RegExp("[\0-\b\n--Ÿ­؜​‎‏\u2028\u2029‭‮⁦⁧⁩\ufeff-]",Cr),Er={0:"null",7:"bell",8:"backspace",10:"newline",11:"vertical tab",13:"carriage return",27:"escape",8203:"zero width space",8204:"zero width non-joiner",8205:"zero width joiner",8206:"left-to-right mark",8207:"right-to-left mark",8232:"line separator",8237:"left-to-right override",8238:"right-to-left override",8294:"left-to-right isolate",8295:"right-to-left isolate",8297:"pop directional isolate",8233:"paragraph separator",65279:"zero width no-break space",65532:"object replacement"};let Mr=null;const Dr=j.define({combine(e){let t=ye(e,{render:null,specialChars:Ar,addSpecialChars:null});return(t.replaceTabs=!function(){var e;if(null==Mr&&"undefined"!=typeof document&&document.body){let t=document.body.style;Mr=null!=(null!==(e=t.tabSize)&&void 0!==e?e:t.MozTabSize)}return Mr||!1}())&&(t.specialChars=new RegExp("\t|"+t.specialChars.source,Cr)),t.addSpecialChars&&(t.specialChars=new RegExp(t.specialChars.source+"|"+t.addSpecialChars.source,Cr)),t}});function Lr(e={}){return[Dr.of(e),Ir||(Ir=qi.fromClass(class{constructor(e){this.view=e,this.decorations=Tt.none,this.decorationCache=Object.create(null),this.decorator=this.makeDecorator(e.state.facet(Dr)),this.decorations=this.decorator.createDeco(e)}makeDecorator(e){return new Gr({regexp:e.specialChars,decoration:(t,i,O)=>{let{doc:n}=i.state,r=T(t[0],0);if(9==r){let e=n.lineAt(O),t=i.state.tabSize,r=Ce(e.text,t,O-e.from);return Tt.replace({widget:new Br((t-r%t)*this.view.defaultCharacterWidth/this.view.scaleX)})}return this.decorationCache[r]||(this.decorationCache[r]=Tt.replace({widget:new Nr(e,r)}))},boundary:e.replaceTabs?void 0:/[^]/})}update(e){let t=e.state.facet(Dr);e.startState.facet(Dr)!=t?(this.decorator=this.makeDecorator(t),this.decorations=this.decorator.createDeco(e.view)):this.decorations=this.decorator.updateDeco(e,this.decorations)}},{decorations:e=>e.decorations}))]}let Ir=null;class Nr extends St{constructor(e,t){super(),this.options=e,this.code=t}eq(e){return e.code==this.code}toDOM(e){let t=function(e){return e>=32?"•":10==e?"␤":String.fromCharCode(9216+e)}(this.code),i=e.state.phrase("Control character")+" "+(Er[this.code]||"0x"+this.code.toString(16)),O=this.options.render&&this.options.render(this.code,i,t);if(O)return O;let n=document.createElement("span");return n.textContent=t,n.title=i,n.setAttribute("aria-label",i),n.className="cm-specialChar",n}ignoreEvent(){return!1}}class Br extends St{constructor(e){super(),this.width=e}eq(e){return e.width==this.width}toDOM(){let e=document.createElement("span");return e.textContent="\t",e.className="cm-tab",e.style.width=this.width+"px",e}ignoreEvent(){return!1}}const Fr=Tt.line({class:"cm-activeLine"}),Hr=qi.fromClass(class{constructor(e){this.decorations=this.getDeco(e)}update(e){(e.docChanged||e.selectionSet)&&(this.decorations=this.getDeco(e.view))}getDeco(e){let t=-1,i=[];for(let O of e.state.selection.ranges){let n=e.lineBlockAt(O.head);n.from>t&&(i.push(Fr.range(n.from)),t=n.from)}return Tt.set(i)}},{decorations:e=>e.decorations}),Kr=2e3;function Jr(e,t){let i=e.posAtCoords({x:t.clientX,y:t.clientY},!1),O=e.state.doc.lineAt(i),n=i-O.from,r=n>Kr?-1:n==O.length?function(e,t){let i=e.coordsAtPos(e.viewport.from);return i?Math.round(Math.abs((i.left-t)/e.defaultCharacterWidth)):-1}(e,t.clientX):Ce(O.text,e.state.tabSize,i-O.from);return{line:O.number,col:r,off:n}}const es={Alt:[18,e=>!!e.altKey],Control:[17,e=>!!e.ctrlKey],Shift:[16,e=>!!e.shiftKey],Meta:[91,e=>!!e.metaKey]},ts={style:"cursor: crosshair"};function is(e={}){let[t,i]=es[e.key||"Alt"],O=qi.fromClass(class{constructor(e){this.view=e,this.isDown=!1}set(e){this.isDown!=e&&(this.isDown=e,this.view.update([]))}},{eventObservers:{keydown(e){this.set(e.keyCode==t||i(e))},keyup(e){e.keyCode!=t&&i(e)||this.set(!1)},mousemove(e){this.set(i(e))}}});return[O,ar.contentAttributes.of(e=>{var t;return(null===(t=e.plugin(O))||void 0===t?void 0:t.isDown)?ts:null})]}const Os="-10000px";class ns{constructor(e,t,i,O){this.facet=t,this.createTooltipView=i,this.removeTooltipView=O,this.input=e.state.facet(t),this.tooltips=this.input.filter(e=>e);let n=null;this.tooltipViews=this.tooltips.map(e=>n=i(e,n))}update(e,t){var i;let O=e.state.facet(this.facet),n=O.filter(e=>e);if(O===this.input){for(let t of this.tooltipViews)t.update&&t.update(e);return!1}let r=[],s=t?[]:null;for(let i=0;it[i]=e),t.length=s.length),this.input=O,this.tooltips=n,this.tooltipViews=r,!0}}function rs(e){let t=e.dom.ownerDocument.documentElement;return{top:0,left:0,bottom:t.clientHeight,right:t.clientWidth}}const ss=j.define({combine:e=>{var t,i,O;return{position:$t.ios?"absolute":(null===(t=e.find(e=>e.position))||void 0===t?void 0:t.position)||"fixed",parent:(null===(i=e.find(e=>e.parent))||void 0===i?void 0:i.parent)||null,tooltipSpace:(null===(O=e.find(e=>e.tooltipSpace))||void 0===O?void 0:O.tooltipSpace)||rs}}}),os=new WeakMap,as=qi.fromClass(class{constructor(e){this.view=e,this.above=[],this.inView=!0,this.madeAbsolute=!1,this.lastTransaction=0,this.measureTimeout=-1;let t=e.state.facet(ss);this.position=t.position,this.parent=t.parent,this.classes=e.themeClasses,this.createContainer(),this.measureReq={read:this.readMeasure.bind(this),write:this.writeMeasure.bind(this),key:this},this.resizeObserver="function"==typeof ResizeObserver?new ResizeObserver(()=>this.measureSoon()):null,this.manager=new ns(e,ds,(e,t)=>this.createTooltip(e,t),e=>{this.resizeObserver&&this.resizeObserver.unobserve(e.dom),e.dom.remove()}),this.above=this.manager.tooltips.map(e=>!!e.above),this.intersectionObserver="function"==typeof IntersectionObserver?new IntersectionObserver(e=>{Date.now()>this.lastTransaction-50&&e.length>0&&e[e.length-1].intersectionRatio<1&&this.measureSoon()},{threshold:[1]}):null,this.observeIntersection(),e.win.addEventListener("resize",this.measureSoon=this.measureSoon.bind(this)),this.maybeMeasure()}createContainer(){this.parent?(this.container=document.createElement("div"),this.container.style.position="relative",this.container.className=this.view.themeClasses,this.parent.appendChild(this.container)):this.container=this.view.dom}observeIntersection(){if(this.intersectionObserver){this.intersectionObserver.disconnect();for(let e of this.manager.tooltipViews)this.intersectionObserver.observe(e.dom)}}measureSoon(){this.measureTimeout<0&&(this.measureTimeout=setTimeout(()=>{this.measureTimeout=-1,this.maybeMeasure()},50))}update(e){e.transactions.length&&(this.lastTransaction=Date.now());let t=this.manager.update(e,this.above);t&&this.observeIntersection();let i=t||e.geometryChanged,O=e.state.facet(ss);if(O.position!=this.position&&!this.madeAbsolute){this.position=O.position;for(let e of this.manager.tooltipViews)e.dom.style.position=this.position;i=!0}if(O.parent!=this.parent){this.parent&&this.container.remove(),this.parent=O.parent,this.createContainer();for(let e of this.manager.tooltipViews)this.container.appendChild(e.dom);i=!0}else this.parent&&this.view.themeClasses!=this.classes&&(this.classes=this.container.className=this.view.themeClasses);i&&this.maybeMeasure()}createTooltip(e,t){let i=e.create(this.view),O=t?t.dom:null;if(i.dom.classList.add("cm-tooltip"),e.arrow&&!i.dom.querySelector(".cm-tooltip > .cm-tooltip-arrow")){let e=document.createElement("div");e.className="cm-tooltip-arrow",i.dom.appendChild(e)}return i.dom.style.position=this.position,i.dom.style.top=Os,i.dom.style.left="0px",this.container.insertBefore(i.dom,O),i.mount&&i.mount(this.view),this.resizeObserver&&this.resizeObserver.observe(i.dom),i}destroy(){var e,t,i;this.view.win.removeEventListener("resize",this.measureSoon);for(let t of this.manager.tooltipViews)t.dom.remove(),null===(e=t.destroy)||void 0===e||e.call(t);this.parent&&this.container.remove(),null===(t=this.resizeObserver)||void 0===t||t.disconnect(),null===(i=this.intersectionObserver)||void 0===i||i.disconnect(),clearTimeout(this.measureTimeout)}readMeasure(){let e=1,t=1,i=!1;if("fixed"==this.position&&this.manager.tooltipViews.length){let{dom:e}=this.manager.tooltipViews[0];if($t.safari){let t=e.getBoundingClientRect();i=Math.abs(t.top+1e4)>1||Math.abs(t.left)>1}else i=!!e.offsetParent&&e.offsetParent!=this.container.ownerDocument.body}if(i||"absolute"==this.position)if(this.parent){let i=this.parent.getBoundingClientRect();i.width&&i.height&&(e=i.width/this.parent.offsetWidth,t=i.height/this.parent.offsetHeight)}else({scaleX:e,scaleY:t}=this.view.viewState);let O=this.view.scrollDOM.getBoundingClientRect(),n=Ii(this.view);return{visible:{left:O.left+n.left,top:O.top+n.top,right:O.right-n.right,bottom:O.bottom-n.bottom},parent:this.parent?this.container.getBoundingClientRect():this.view.dom.getBoundingClientRect(),pos:this.manager.tooltips.map((e,t)=>{let i=this.manager.tooltipViews[t];return i.getCoords?i.getCoords(e.pos):this.view.coordsAtPos(e.pos)}),size:this.manager.tooltipViews.map(({dom:e})=>e.getBoundingClientRect()),space:this.view.state.facet(ss).tooltipSpace(this.view),scaleX:e,scaleY:t,makeAbsolute:i}}writeMeasure(e){var t;if(e.makeAbsolute){this.madeAbsolute=!0,this.position="absolute";for(let e of this.manager.tooltipViews)e.dom.style.position="absolute"}let{visible:i,space:O,scaleX:n,scaleY:r}=e,s=[];for(let o=0;o=Math.min(i.bottom,O.bottom)||c.rightMath.min(i.right,O.right)+.1)){h.style.top=Os;continue}let u=a.arrow?l.dom.querySelector(".cm-tooltip-arrow"):null,$=u?7:0,f=d.right-d.left,p=null!==(t=os.get(l))&&void 0!==t?t:d.bottom-d.top,Q=l.offset||cs,m=this.view.textDirection==Kt.LTR,g=d.width>O.right-O.left?m?O.left:O.right-d.width:m?Math.max(O.left,Math.min(c.left-(u?14:0)+Q.x,O.right-f)):Math.min(Math.max(O.left,c.left-f+(u?14:0)-Q.x),O.right-f),S=this.above[o];!a.strictSide&&(S?c.top-p-$-Q.yO.bottom)&&S==O.bottom-c.bottom>c.top-O.top&&(S=this.above[o]=!S);let P=(S?c.top-O.top:O.bottom-c.bottom)-$;if(Pg&&e.topT&&(T=S?e.top-p-2-$:e.bottom+$+2);if("absolute"==this.position?(h.style.top=(T-e.parent.top)/r+"px",ls(h,(g-e.parent.left)/n)):(h.style.top=T/r+"px",ls(h,g/n)),u){let e=c.left+(m?Q.x:-Q.x)-(g+14-7);u.style.left=e/n+"px"}!0!==l.overlap&&s.push({left:g,top:T,right:y,bottom:T+p}),h.classList.toggle("cm-tooltip-above",S),h.classList.toggle("cm-tooltip-below",!S),l.positioned&&l.positioned(e.space)}}maybeMeasure(){if(this.manager.tooltips.length&&(this.view.inView&&this.view.requestMeasure(this.measureReq),this.inView!=this.view.inView&&(this.inView=this.view.inView,!this.inView)))for(let e of this.manager.tooltipViews)e.dom.style.top=Os}},{eventObservers:{scroll(){this.maybeMeasure()}}});function ls(e,t){let i=parseInt(e.style.left,10);(isNaN(i)||Math.abs(t-i)>1)&&(e.style.left=t+"px")}const hs=ar.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:"14px",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"}}}),cs={x:0,y:0},ds=j.define({enables:[as,hs]}),us=j.define({combine:e=>e.reduce((e,t)=>e.concat(t),[])});class $s{static create(e){return new $s(e)}constructor(e){this.view=e,this.mounted=!1,this.dom=document.createElement("div"),this.dom.classList.add("cm-tooltip-hover"),this.manager=new ns(e,us,(e,t)=>this.createHostedView(e,t),e=>e.dom.remove())}createHostedView(e,t){let i=e.create(this.view);return i.dom.classList.add("cm-tooltip-section"),this.dom.insertBefore(i.dom,t?t.dom.nextSibling:this.dom.firstChild),this.mounted&&i.mount&&i.mount(this.view),i}mount(e){for(let t of this.manager.tooltipViews)t.mount&&t.mount(e);this.mounted=!0}positioned(e){for(let t of this.manager.tooltipViews)t.positioned&&t.positioned(e)}update(e){this.manager.update(e)}destroy(){var e;for(let t of this.manager.tooltipViews)null===(e=t.destroy)||void 0===e||e.call(t)}passProp(e){let t;for(let i of this.manager.tooltipViews){let O=i[e];if(void 0!==O)if(void 0===t)t=O;else if(t!==O)return}return t}get offset(){return this.passProp("offset")}get getCoords(){return this.passProp("getCoords")}get overlap(){return this.passProp("overlap")}get resize(){return this.passProp("resize")}}const fs=ds.compute([us],e=>{let t=e.facet(us);return 0===t.length?null:{pos:Math.min(...t.map(e=>e.pos)),end:Math.max(...t.map(e=>{var t;return null!==(t=e.end)&&void 0!==t?t:e.pos})),create:$s.create,above:t[0].above,arrow:t.some(e=>e.arrow)}}),ps=j.define();class Qs{constructor(e,t,i,O,n,r){this.view=e,this.source=t,this.field=i,this.locked=O,this.setHover=n,this.hoverTime=r,this.hoverTimeout=-1,this.restartTimeout=-1,this.pending=null,this.lastMove={x:0,y:0,target:e.dom,time:0},this.checkHover=this.checkHover.bind(this),e.dom.addEventListener("mouseleave",this.mouseleave=this.mouseleave.bind(this)),e.dom.addEventListener("mousemove",this.mousemove=this.mousemove.bind(this))}update(e){this.pending&&(this.pending=null,clearTimeout(this.restartTimeout),this.restartTimeout=setTimeout(()=>this.startHover(),20))}get active(){return this.view.state.field(this.field)}checkHover(){if(this.hoverTimeout=-1,this.active.length)return;let e=Date.now()-this.lastMove.time;ei.bottom||t.xi.right+e.defaultCharacterWidth)return;let r=e.bidiSpans(e.state.doc.lineAt(O)).find(e=>e.from<=O&&e.to>=O),s=r&&r.dir==Kt.RTL?-1:1;n=t.x{if(t&&(!Array.isArray(t)||t.length)){let i=Array.isArray(t)?t:[t];O&&this.locked.set(i,O),e.dispatch({effects:this.setHover.of(i)})}};if(n&&"then"in n){let i=this.pending={pos:t};n.then(e=>{this.pending==i&&(this.pending=null,r(e))},t=>zi(e.state,t,"hover tooltip"))}else r(n)}get tooltip(){let e=this.view.plugin(as),t=e?e.manager.tooltips.findIndex(e=>e.create==$s.create):-1;return t>-1?e.manager.tooltipViews[t]:null}mousemove(e){var t,i;this.lastMove={x:e.clientX,y:e.clientY,target:e.target,time:Date.now()},this.hoverTimeout<0&&(this.hoverTimeout=setTimeout(this.checkHover,this.hoverTime));let{active:O,tooltip:n}=this;if(O.length&&!this.locked.has(O)&&n&&!function(e,t){let i,{left:O,right:n,top:r,bottom:s}=e.getBoundingClientRect();if(i=e.querySelector(".cm-tooltip-arrow")){let e=i.getBoundingClientRect();r=Math.min(e.top,r),s=Math.max(e.bottom,s)}return t.clientX>=O-ms&&t.clientX<=n+ms&&t.clientY>=r-ms&&t.clientY<=s+ms}(n.dom,e)||this.pending){let{pos:n}=O[0]||this.pending,r=null!==(i=null===(t=O[0])||void 0===t?void 0:t.end)&&void 0!==i?i:n;(n==r?this.view.posAtCoords(this.lastMove)==n:function(e,t,i,O,n){let r=e.scrollDOM.getBoundingClientRect(),s=e.documentTop+e.documentPadding.top+e.contentHeight;if(r.left>O||r.rightn||Math.min(r.bottom,s)=t&&o<=i}(this.view,n,r,e.clientX,e.clientY))||(this.view.dispatch({effects:this.setHover.of([])}),this.pending=null)}}mouseleave(e){clearTimeout(this.hoverTimeout),this.hoverTimeout=-1;let{active:t}=this;if(t.length&&!this.locked.has(t)){let{tooltip:t}=this;t&&t.dom.contains(e.relatedTarget)?this.watchTooltipLeave(t.dom):this.view.dispatch({effects:this.setHover.of([])})}}watchTooltipLeave(e){let t=i=>{e.removeEventListener("mouseleave",t);let{active:O}=this;!O.length||this.locked.has(O)||this.view.dom.contains(i.relatedTarget)||this.view.dispatch({effects:this.setHover.of([])})};e.addEventListener("mouseleave",t)}destroy(){clearTimeout(this.hoverTimeout),clearTimeout(this.restartTimeout),this.view.dom.removeEventListener("mouseleave",this.mouseleave),this.view.dom.removeEventListener("mousemove",this.mousemove)}}const ms=4;function gs(e,t={}){let i=ce.define(),O=new WeakMap,n=L.define({create:()=>[],update(e,r){let s=O.get(e);if(e.length&&(t.hideOnChange&&(r.docChanged||r.selection)||s&&s(r)?e=[]:t.hideOn&&(e=e.filter(e=>!t.hideOn(r,e)))),r.docChanged&&e.length){let t=[];for(let i of e){let e=r.changes.mapPos(i.pos,-1,b.TrackDel);if(null!=e){let O=Object.assign(Object.create(null),i);O.pos=e,null!=O.end&&(O.end=r.changes.mapPos(O.end)),t.push(O)}}e=t}for(let t of r.effects)t.is(i)&&(e=t.value,s=void 0),(t.is(Ps)&&!t.value||t.value==n)&&(e=[]);return e.length&&s&&O.set(e,s),e},provide:e=>us.from(e)});const r=qi.define(r=>new Qs(r,e,n,O,i,t.hoverTime||300));return{active:n,extension:[n,r,ps.of(r),fs]}}function Ss(e,t){let i=e.plugin(as);if(!i)return null;let O=i.manager.tooltips.indexOf(t);return O<0?null:i.manager.tooltipViews[O]}const Ps=ce.define(),Ts=j.define({combine(e){let t,i;for(let O of e)t=t||O.topContainer,i=i||O.bottomContainer;return{topContainer:t,bottomContainer:i}}});function ys(e,t){let i=e.plugin(vs),O=i?i.specs.indexOf(t):-1;return O>-1?i.panels[O]:null}const vs=qi.fromClass(class{constructor(e){this.input=e.state.facet(xs),this.specs=this.input.filter(e=>e),this.panels=this.specs.map(t=>t(e));let t=e.state.facet(Ts);this.top=new ws(e,!0,t.topContainer),this.bottom=new ws(e,!1,t.bottomContainer),this.top.sync(this.panels.filter(e=>e.top)),this.bottom.sync(this.panels.filter(e=>!e.top));for(let e of this.panels)e.dom.classList.add("cm-panel"),e.mount&&e.mount()}update(e){let t=e.state.facet(Ts);this.top.container!=t.topContainer&&(this.top.sync([]),this.top=new ws(e.view,!0,t.topContainer)),this.bottom.container!=t.bottomContainer&&(this.bottom.sync([]),this.bottom=new ws(e.view,!1,t.bottomContainer)),this.top.syncClasses(),this.bottom.syncClasses();let i=e.state.facet(xs);if(i!=this.input){let t=i.filter(e=>e),O=[],n=[],r=[],s=[];for(let i of t){let t,o=this.specs.indexOf(i);o<0?(t=i(e.view),s.push(t)):(t=this.panels[o],t.update&&t.update(e)),O.push(t),(t.top?n:r).push(t)}this.specs=t,this.panels=O,this.top.sync(n),this.bottom.sync(r);for(let e of s)e.dom.classList.add("cm-panel"),e.mount&&e.mount()}else for(let t of this.panels)t.update&&t.update(e)}destroy(){this.top.sync([]),this.bottom.sync([])}},{provide:e=>ar.scrollMargins.of(t=>{let i=t.plugin(e);return i&&{top:i.top.scrollMargin(),bottom:i.bottom.scrollMargin()}})});class ws{constructor(e,t,i){this.view=e,this.top=t,this.container=i,this.dom=void 0,this.classes="",this.panels=[],this.syncClasses()}sync(e){for(let t of this.panels)t.destroy&&e.indexOf(t)<0&&t.destroy();this.panels=e,this.syncDOM()}syncDOM(){if(0==this.panels.length)return void(this.dom&&(this.dom.remove(),this.dom=void 0));if(!this.dom){this.dom=document.createElement("div"),this.dom.className=this.top?"cm-panels cm-panels-top":"cm-panels cm-panels-bottom",this.dom.style[this.top?"top":"bottom"]="0";let e=this.container||this.view.dom;e.insertBefore(this.dom,this.top?e.firstChild:null)}let e=this.dom.firstChild;for(let t of this.panels)if(t.dom.parentNode==this.dom){for(;e!=t.dom;)e=bs(e);e=e.nextSibling}else this.dom.insertBefore(t.dom,e);for(;e;)e=bs(e)}scrollMargin(){return!this.dom||this.container?0:Math.max(0,this.top?this.dom.getBoundingClientRect().bottom-Math.max(0,this.view.scrollDOM.getBoundingClientRect().top):Math.min(innerHeight,this.view.scrollDOM.getBoundingClientRect().bottom)-this.dom.getBoundingClientRect().top)}syncClasses(){if(this.container&&this.classes!=this.view.themeClasses){for(let e of this.classes.split(" "))e&&this.container.classList.remove(e);for(let e of(this.classes=this.view.themeClasses).split(" "))e&&this.container.classList.add(e)}}}function bs(e){let t=e.nextSibling;return e.remove(),t}const xs=j.define({enables:vs}),Xs=L.define({create:()=>[],update(e,t){for(let i of t.effects)i.is(ks)?e=[i.value].concat(e):i.is(Zs)&&(e=e.filter(e=>e!=i.value));return e},provide:e=>xs.computeN([e],t=>t.field(e))}),ks=ce.define(),Zs=ce.define();class Rs extends ve{compare(e){return this==e||this.constructor==e.constructor&&this.eq(e)}eq(e){return!1}destroy(e){}}Rs.prototype.elementClass="",Rs.prototype.toDOM=void 0,Rs.prototype.mapMode=b.TrackBefore,Rs.prototype.startSide=Rs.prototype.endSide=-1,Rs.prototype.point=!0;const zs=j.define(),_s=j.define(),Vs={class:"",renderEmptyElements:!1,elementStyle:"",markers:()=>ke.empty,lineMarker:()=>null,widgetMarker:()=>null,lineMarkerChange:null,initialSpacer:null,updateSpacer:null,domEventHandlers:{},side:"before"},Ys=j.define();function qs(e){return[Us(),Ys.of({...Vs,...e})]}const Ws=j.define({combine:e=>e.some(e=>e)});function Us(e){return[js]}const js=qi.fromClass(class{constructor(e){this.view=e,this.domAfter=null,this.prevViewport=e.viewport,this.dom=document.createElement("div"),this.dom.className="cm-gutters cm-gutters-before",this.dom.setAttribute("aria-hidden","true"),this.dom.style.minHeight=this.view.contentHeight/this.view.scaleY+"px",this.gutters=e.state.facet(Ys).map(t=>new Es(e,t)),this.fixed=!e.state.facet(Ws);for(let e of this.gutters)"after"==e.config.side?this.getDOMAfter().appendChild(e.dom):this.dom.appendChild(e.dom);this.fixed&&(this.dom.style.position="sticky"),this.syncGutters(!1),e.scrollDOM.insertBefore(this.dom,e.contentDOM)}getDOMAfter(){return this.domAfter||(this.domAfter=document.createElement("div"),this.domAfter.className="cm-gutters cm-gutters-after",this.domAfter.setAttribute("aria-hidden","true"),this.domAfter.style.minHeight=this.view.contentHeight/this.view.scaleY+"px",this.domAfter.style.position=this.fixed?"sticky":"",this.view.scrollDOM.appendChild(this.domAfter)),this.domAfter}update(e){if(this.updateGutters(e)){let t=this.prevViewport,i=e.view.viewport,O=Math.min(t.to,i.to)-Math.max(t.from,i.from);this.syncGutters(O<.8*(i.to-i.from))}if(e.geometryChanged){let e=this.view.contentHeight/this.view.scaleY+"px";this.dom.style.minHeight=e,this.domAfter&&(this.domAfter.style.minHeight=e)}this.view.state.facet(Ws)!=!this.fixed&&(this.fixed=!this.fixed,this.dom.style.position=this.fixed?"sticky":"",this.domAfter&&(this.domAfter.style.position=this.fixed?"sticky":"")),this.prevViewport=e.view.viewport}syncGutters(e){let t=this.dom.nextSibling;e&&(this.dom.remove(),this.domAfter&&this.domAfter.remove());let i=ke.iter(this.view.state.facet(zs),this.view.viewport.from),O=[],n=this.gutters.map(e=>new As(e,this.view.viewport,-this.view.documentPadding.top));for(let e of this.view.viewportLineBlocks)if(O.length&&(O=[]),Array.isArray(e.type)){let t=!0;for(let r of e.type)if(r.type==Pt.Text&&t){Cs(i,O,r.from);for(let e of n)e.line(this.view,r,O);t=!1}else if(r.widget)for(let e of n)e.widget(this.view,r)}else if(e.type==Pt.Text){Cs(i,O,e.from);for(let t of n)t.line(this.view,e,O)}else if(e.widget)for(let t of n)t.widget(this.view,e);for(let e of n)e.finish();e&&(this.view.scrollDOM.insertBefore(this.dom,t),this.domAfter&&this.view.scrollDOM.appendChild(this.domAfter))}updateGutters(e){let t=e.startState.facet(Ys),i=e.state.facet(Ys),O=e.docChanged||e.heightChanged||e.viewportChanged||!ke.eq(e.startState.facet(zs),e.state.facet(zs),e.view.viewport.from,e.view.viewport.to);if(t==i)for(let t of this.gutters)t.update(e)&&(O=!0);else{O=!0;let n=[];for(let O of i){let i=t.indexOf(O);i<0?n.push(new Es(this.view,O)):(this.gutters[i].update(e),n.push(this.gutters[i]))}for(let e of this.gutters)e.dom.remove(),n.indexOf(e)<0&&e.destroy();for(let e of n)"after"==e.config.side?this.getDOMAfter().appendChild(e.dom):this.dom.appendChild(e.dom);this.gutters=n}return O}destroy(){for(let e of this.gutters)e.destroy();this.dom.remove(),this.domAfter&&this.domAfter.remove()}},{provide:e=>ar.scrollMargins.of(t=>{let i=t.plugin(e);if(!i||0==i.gutters.length||!i.fixed)return null;let O=i.dom.offsetWidth*t.scaleX,n=i.domAfter?i.domAfter.offsetWidth*t.scaleX:0;return t.textDirection==Kt.LTR?{left:O,right:n}:{right:O,left:n}})});function Gs(e){return Array.isArray(e)?e:[e]}function Cs(e,t,i){for(;e.value&&e.from<=i;)e.from==i&&t.push(e.value),e.next()}class As{constructor(e,t,i){this.gutter=e,this.height=i,this.i=0,this.cursor=ke.iter(e.markers,t.from)}addElement(e,t,i){let{gutter:O}=this,n=(t.top-this.height)/e.scaleY,r=t.height/e.scaleY;if(this.i==O.elements.length){let t=new Ms(e,r,n,i);O.elements.push(t),O.dom.appendChild(t.dom)}else O.elements[this.i].update(e,r,n,i);this.height=t.bottom,this.i++}line(e,t,i){let O=[];Cs(this.cursor,O,t.from),i.length&&(O=O.concat(i));let n=this.gutter.config.lineMarker(e,t,O);n&&O.unshift(n);let r=this.gutter;(0!=O.length||r.config.renderEmptyElements)&&this.addElement(e,t,O)}widget(e,t){let i=this.gutter.config.widgetMarker(e,t.widget,t),O=i?[i]:null;for(let i of e.state.facet(_s)){let n=i(e,t.widget,t);n&&(O||(O=[])).push(n)}O&&this.addElement(e,t,O)}finish(){let e=this.gutter;for(;e.elements.length>this.i;){let t=e.elements.pop();e.dom.removeChild(t.dom),t.destroy()}}}class Es{constructor(e,t){this.view=e,this.config=t,this.elements=[],this.spacer=null,this.dom=document.createElement("div"),this.dom.className="cm-gutter"+(this.config.class?" "+this.config.class:"");for(let i in t.domEventHandlers)this.dom.addEventListener(i,O=>{let n,r=O.target;if(r!=this.dom&&this.dom.contains(r)){for(;r.parentNode!=this.dom;)r=r.parentNode;let e=r.getBoundingClientRect();n=(e.top+e.bottom)/2}else n=O.clientY;let s=e.lineBlockAtHeight(n-e.documentTop);t.domEventHandlers[i](e,s,O)&&O.preventDefault()});this.markers=Gs(t.markers(e)),t.initialSpacer&&(this.spacer=new Ms(e,0,0,[t.initialSpacer(e)]),this.dom.appendChild(this.spacer.dom),this.spacer.dom.style.cssText+="visibility: hidden; pointer-events: none")}update(e){let t=this.markers;if(this.markers=Gs(this.config.markers(e.view)),this.spacer&&this.config.updateSpacer){let t=this.config.updateSpacer(this.spacer.markers[0],e);t!=this.spacer.markers[0]&&this.spacer.update(e.view,0,0,[t])}let i=e.view.viewport;return!ke.eq(this.markers,t,i.from,i.to)||!!this.config.lineMarkerChange&&this.config.lineMarkerChange(e)}destroy(){for(let e of this.elements)e.destroy()}}class Ms{constructor(e,t,i,O){this.height=-1,this.above=0,this.markers=[],this.dom=document.createElement("div"),this.dom.className="cm-gutterElement",this.update(e,t,i,O)}update(e,t,i,O){this.height!=t&&(this.height=t,this.dom.style.height=t+"px"),this.above!=i&&(this.dom.style.marginTop=(this.above=i)?i+"px":""),function(e,t){if(e.length!=t.length)return!1;for(let i=0;iye(e,{formatNumber:String,domEventHandlers:{}},{domEventHandlers(e,t){let i=Object.assign({},e);for(let e in t){let O=i[e],n=t[e];i[e]=O?(e,t,i)=>O(e,t,i)||n(e,t,i):n}return i}})});class Ns extends Rs{constructor(e){super(),this.number=e}eq(e){return this.number==e.number}toDOM(){return document.createTextNode(this.number)}}function Bs(e,t){return e.state.facet(Is).formatNumber(t,e.state)}const Fs=Ys.compute([Is],e=>({class:"cm-lineNumbers",renderEmptyElements:!1,markers:e=>e.state.facet(Ds),lineMarker:(e,t,i)=>i.some(e=>e.toDOM)?null:new Ns(Bs(e,e.state.doc.lineAt(t.from).number)),widgetMarker:(e,t,i)=>{for(let O of e.state.facet(Ls)){let n=O(e,t,i);if(n)return n}return null},lineMarkerChange:e=>e.startState.facet(Is)!=e.state.facet(Is),initialSpacer:e=>new Ns(Bs(e,Ks(e.state.doc.lines))),updateSpacer(e,t){let i=Bs(t.view,Ks(t.view.state.doc.lines));return i==e.number?e:new Ns(i)},domEventHandlers:e.facet(Is).domEventHandlers,side:"before"}));function Hs(e={}){return[Is.of(e),Us(),Fs]}function Ks(e){let t=9;for(;t{let t=[],i=-1;for(let O of e.selection.ranges){let n=e.doc.lineAt(O.head).from;n>i&&(i=n,t.push(Js.range(n)))}return ke.of(t)});function to(e){return qi.define(t=>({decorations:e.createDeco(t),update(t){this.decorations=e.updateDeco(t,this.decorations)}}),{decorations:e=>e.decorations})}const io=Tt.mark({class:"cm-highlightTab"}),Oo=Tt.mark({class:"cm-highlightSpace"}),no=to(new Gr({regexp:/\t| /g,decoration:e=>"\t"==e[0]?io:Oo,boundary:/\S/})),ro=1024;let so=0;class oo{constructor(e,t){this.from=e,this.to=t}}class ao{constructor(e={}){this.id=so++,this.perNode=!!e.perNode,this.deserialize=e.deserialize||(()=>{throw new Error("This node type doesn't define a deserialize function")}),this.combine=e.combine||null}add(e){if(this.perNode)throw new RangeError("Can't add per-node props to node types");return"function"!=typeof e&&(e=co.match(e)),t=>{let i=e(t);return void 0===i?null:[this,i]}}}ao.closedBy=new ao({deserialize:e=>e.split(" ")}),ao.openedBy=new ao({deserialize:e=>e.split(" ")}),ao.group=new ao({deserialize:e=>e.split(" ")}),ao.isolate=new ao({deserialize:e=>{if(e&&"rtl"!=e&&"ltr"!=e&&"auto"!=e)throw new RangeError("Invalid value for isolate: "+e);return e||"auto"}}),ao.contextHash=new ao({perNode:!0}),ao.lookAhead=new ao({perNode:!0}),ao.mounted=new ao({perNode:!0});class lo{constructor(e,t,i,O=!1){this.tree=e,this.overlay=t,this.parser=i,this.bracketed=O}static get(e){return e&&e.props&&e.props[ao.mounted.id]}}const ho=Object.create(null);class co{constructor(e,t,i,O=0){this.name=e,this.props=t,this.id=i,this.flags=O}static define(e){let t=e.props&&e.props.length?Object.create(null):ho,i=(e.top?1:0)|(e.skipped?2:0)|(e.error?4:0)|(null==e.name?8:0),O=new co(e.name||"",t,e.id,i);if(e.props)for(let i of e.props)if(Array.isArray(i)||(i=i(O)),i){if(i[0].perNode)throw new RangeError("Can't store a per-node prop on a node type");t[i[0].id]=i[1]}return O}prop(e){return this.props[e.id]}get isTop(){return(1&this.flags)>0}get isSkipped(){return(2&this.flags)>0}get isError(){return(4&this.flags)>0}get isAnonymous(){return(8&this.flags)>0}is(e){if("string"==typeof e){if(this.name==e)return!0;let t=this.prop(ao.group);return!!t&&t.indexOf(e)>-1}return this.id==e}static match(e){let t=Object.create(null);for(let i in e)for(let O of i.split(" "))t[O]=e[i];return e=>{for(let i=e.prop(ao.group),O=-1;O<(i?i.length:0);O++){let n=t[O<0?e.name:i[O]];if(n)return n}}}}co.none=new co("",Object.create(null),0,8);class uo{constructor(e){this.types=e;for(let t=0;t=t){let s=new yo(r.tree,r.overlay[0].from+e.from,-1,e);(n||(n=[O])).push(Po(s,t,i,!1))}}return n?Xo(n):O}(this,e,t)}iterate(e){let{enter:t,leave:i,from:O=0,to:n=this.length}=e,r=e.mode||0,s=(r&po.IncludeAnonymous)>0;for(let e=this.cursor(r|po.IncludeAnonymous);;){let r=!1;if(e.from<=n&&e.to>=O&&(!s&&e.type.isAnonymous||!1!==t(e))){if(e.firstChild())continue;r=!0}for(;r&&i&&(s||!e.type.isAnonymous)&&i(e),!e.nextSibling();){if(!e.parent())return;r=!0}}}prop(e){return e.perNode?this.props?this.props[e.id]:void 0:this.type.prop(e)}get propValues(){let e=[];if(this.props)for(let t in this.props)e.push([+t,this.props[t]]);return e}balance(e={}){return this.children.length<=8?this:Vo(co.none,this.children,this.positions,0,this.children.length,0,this.length,(e,t,i)=>new Qo(this.type,e,t,i,this.propValues),e.makeTree||((e,t,i)=>new Qo(co.none,e,t,i)))}static build(e){return function(e){var t;let{buffer:i,nodeSet:O,maxBufferLength:n=ro,reused:r=[],minRepeatType:s=O.types.length}=e,o=Array.isArray(i)?new mo(i,i.length):i,a=O.types,l=0,h=0;function c(e,t,i,p,Q,m){let{id:g,start:S,end:P,size:T}=o,y=h,v=l;if(T<0){if(o.next(),-1==T){let t=r[g];return i.push(t),void p.push(S-e)}if(-3==T)return void(l=g);if(-4==T)return void(h=g);throw new RangeError(`Unrecognized record size: ${T}`)}let w,b,x=a[g],X=S-e;if(P-S<=n&&(b=function(e,t){let i=o.fork(),O=0,r=0,a=0,l=i.end-n,h={size:0,start:0,skip:0};e:for(let n=i.pos-e;i.pos>n;){let e=i.size;if(i.id==t&&e>=0){h.size=O,h.start=r,h.skip=a,a+=4,O+=4,i.next();continue}let o=i.pos-e;if(e<0||o=s?4:0,d=i.start;for(i.next();i.pos>o;){if(i.size<0){if(-3!=i.size&&-4!=i.size)break e;c+=4}else i.id>=s&&(c+=4);i.next()}r=d,O+=e,a+=c}return(t<0||O==e)&&(h.size=O,h.start=r,h.skip=a),h.size>4?h:void 0}(o.pos-t,Q))){let t=new Uint16Array(b.size-b.skip),i=o.pos-b.size,n=t.length;for(;o.pos>i;)n=f(b.start,t,n);w=new go(t,P-b.start,O),X=b.start-e}else{let e=o.pos-T;o.next();let t=[],i=[],O=g>=s?g:-1,r=0,a=P;for(;o.pos>e;)O>=0&&o.id==O&&o.size>=0?(o.end<=a-n&&(u(t,i,S,r,o.end,a,O,y,v),r=t.length,a=o.end),o.next()):m>2500?d(S,e,t,i):c(S,e,t,i,O,m+1);if(O>=0&&r>0&&r-1&&r>0){let e=function(e,t){return(i,O,n)=>{let r,s,o=0,a=i.length-1;if(a>=0&&(r=i[a])instanceof Qo){if(!a&&r.type==e&&r.length==n)return r;(s=r.prop(ao.lookAhead))&&(o=O[a]+r.length+s)}return $(e,i,O,n,o,t)}}(x,v);w=Vo(x,t,i,0,t.length,0,P-S,e,e)}else w=$(x,t,i,P-S,y-P,v)}i.push(w),p.push(X)}function d(e,t,i,r){let s=[],a=0,l=-1;for(;o.pos>t;){let{id:e,start:t,end:i,size:O}=o;if(O>4)o.next();else{if(l>-1&&t=0;e-=3)t[i++]=s[e],t[i++]=s[e+1]-n,t[i++]=s[e+2]-n,t[i++]=i;i.push(new go(t,s[2]-n,O)),r.push(n-e)}}function u(e,t,i,n,r,s,o,a,l){let h=[],c=[];for(;e.length>n;)h.push(e.pop()),c.push(t.pop()+i-r);e.push($(O.types[o],h,c,s-r,a-s,l)),t.push(r-i)}function $(e,t,i,O,n,r,s){if(r){let e=[ao.contextHash,r];s=s?[e].concat(s):[e]}if(n>25){let e=[ao.lookAhead,n];s=s?[e].concat(s):[e]}return new Qo(e,t,i,O,s)}function f(e,t,i){let{id:O,start:n,end:r,size:a}=o;if(o.next(),a>=0&&O4){let O=o.pos-(a-4);for(;o.pos>O;)i=f(e,t,i)}t[--i]=s,t[--i]=r-e,t[--i]=n-e,t[--i]=O}else-3==a?l=O:-4==a&&(h=O);return i}let p=[],Q=[];for(;o.pos>0;)c(e.start||0,e.bufferStart||0,p,Q,-1,0);let m=null!==(t=e.length)&&void 0!==t?t:p.length?Q[0]+p[0].length:0;return new Qo(a[e.topID],p.reverse(),Q.reverse(),m)}(e)}}Qo.empty=new Qo(co.none,[],[],0);class mo{constructor(e,t){this.buffer=e,this.index=t}get id(){return this.buffer[this.index-4]}get start(){return this.buffer[this.index-3]}get end(){return this.buffer[this.index-2]}get size(){return this.buffer[this.index-1]}get pos(){return this.index}next(){this.index-=4}fork(){return new mo(this.buffer,this.index)}}class go{constructor(e,t,i){this.buffer=e,this.length=t,this.set=i}get type(){return co.none}toString(){let e=[];for(let t=0;t0));o=r[o+3]);return s}slice(e,t,i){let O=this.buffer,n=new Uint16Array(t-e),r=0;for(let s=e,o=0;s=t&&it;case 1:return i<=t&&O>t;case 2:return O>t;case 4:return!0}}function Po(e,t,i,O){for(var n;e.from==e.to||(i<1?e.from>=t:e.from>t)||(i>-1?e.to<=t:e.to0?s.length:-1;e!=a;e+=t){let a,l=s[e],h=o[e]+r.from;if(n&po.EnterBracketed&&l instanceof Qo&&(a=lo.get(l))&&!a.overlay&&a.bracketed&&i>=h&&i<=h+l.length||So(O,i,h,h+l.length))if(l instanceof go){if(n&po.ExcludeBuffers)continue;let s=l.findChild(0,l.buffer.length,t,i-h,O);if(s>-1)return new xo(new bo(r,l,e,h),null,s)}else if(n&po.IncludeAnonymous||!l.type.isAnonymous||Ro(l)){let s;if(!(n&po.IgnoreMounts)&&(s=lo.get(l))&&!s.overlay)return new yo(s.tree,h,e,r);let o=new yo(l,h,e,r);return n&po.IncludeAnonymous||!o.type.isAnonymous?o:o.nextChild(t<0?l.children.length-1:0,t,i,O,n)}}if(n&po.IncludeAnonymous||!r.type.isAnonymous)return null;if(e=r.index>=0?r.index+t:t<0?-1:r._parent._tree.children.length,r=r._parent,!r)return null}}get firstChild(){return this.nextChild(0,1,0,4)}get lastChild(){return this.nextChild(this._tree.children.length-1,-1,0,4)}childAfter(e){return this.nextChild(0,1,e,2)}childBefore(e){return this.nextChild(this._tree.children.length-1,-1,e,-2)}prop(e){return this._tree.prop(e)}enter(e,t,i=0){let O;if(!(i&po.IgnoreOverlays)&&(O=lo.get(this._tree))&&O.overlay){let n=e-this.from,r=i&po.EnterBracketed&&O.bracketed;for(let{from:e,to:i}of O.overlay)if((t>0||r?e<=n:e=n:i>n))return new yo(O.tree,O.overlay[0].from+this.from,-1,this)}return this.nextChild(0,1,e,t,i)}nextSignificantParent(){let e=this;for(;e.type.isAnonymous&&e._parent;)e=e._parent;return e}get parent(){return this._parent?this._parent.nextSignificantParent():null}get nextSibling(){return this._parent&&this.index>=0?this._parent.nextChild(this.index+1,1,0,4):null}get prevSibling(){return this._parent&&this.index>=0?this._parent.nextChild(this.index-1,-1,0,4):null}get tree(){return this._tree}toTree(){return this._tree}toString(){return this._tree.toString()}}function vo(e,t,i,O){let n=e.cursor(),r=[];if(!n.firstChild())return r;if(null!=i)for(let e=!1;!e;)if(e=n.type.is(i),!n.nextSibling())return r;for(;;){if(null!=O&&n.type.is(O))return r;if(n.type.is(t)&&r.push(n.node),!n.nextSibling())return null==O?r:[]}}function wo(e,t,i=t.length-1){for(let O=e;i>=0;O=O.parent){if(!O)return!1;if(!O.type.isAnonymous){if(t[i]&&t[i]!=O.name)return!1;i--}}return!0}class bo{constructor(e,t,i,O){this.parent=e,this.buffer=t,this.index=i,this.start=O}}class xo extends To{get name(){return this.type.name}get from(){return this.context.start+this.context.buffer.buffer[this.index+1]}get to(){return this.context.start+this.context.buffer.buffer[this.index+2]}constructor(e,t,i){super(),this.context=e,this._parent=t,this.index=i,this.type=e.buffer.set.types[e.buffer.buffer[i]]}child(e,t,i){let{buffer:O}=this.context,n=O.findChild(this.index+4,O.buffer[this.index+3],e,t-this.context.start,i);return n<0?null:new xo(this.context,this,n)}get firstChild(){return this.child(1,0,4)}get lastChild(){return this.child(-1,0,4)}childAfter(e){return this.child(1,e,2)}childBefore(e){return this.child(-1,e,-2)}prop(e){return this.type.prop(e)}enter(e,t,i=0){if(i&po.ExcludeBuffers)return null;let{buffer:O}=this.context,n=O.findChild(this.index+4,O.buffer[this.index+3],t>0?1:-1,e-this.context.start,t);return n<0?null:new xo(this.context,this,n)}get parent(){return this._parent||this.context.parent.nextSignificantParent()}externalSibling(e){return this._parent?null:this.context.parent.nextChild(this.context.index+e,e,0,4)}get nextSibling(){let{buffer:e}=this.context,t=e.buffer[this.index+3];return t<(this._parent?e.buffer[this._parent.index+3]:e.buffer.length)?new xo(this.context,this._parent,t):this.externalSibling(1)}get prevSibling(){let{buffer:e}=this.context,t=this._parent?this._parent.index+4:0;return this.index==t?this.externalSibling(-1):new xo(this.context,this._parent,e.findChild(t,this.index,-1,0,4))}get tree(){return null}toTree(){let e=[],t=[],{buffer:i}=this.context,O=this.index+4,n=i.buffer[this.index+3];if(n>O){let r=i.buffer[this.index+1];e.push(i.slice(O,n,r)),t.push(0)}return new Qo(this.type,e,t,this.to-this.from)}toString(){return this.context.buffer.childString(this.index)}}function Xo(e){if(!e.length)return null;let t=0,i=e[0];for(let O=1;Oi.from||n.to0){if(this.index-1)for(let O=t+e,n=e<0?-1:i._tree.children.length;O!=n;O+=e){let e=i._tree.children[O];if(this.mode&po.IncludeAnonymous||e instanceof go||!e.type.isAnonymous||Ro(e))return!1}return!0}move(e,t){if(t&&this.enterChild(e,0,4))return!0;for(;;){if(this.sibling(e))return!0;if(this.atLastNode(e)||!this.parent())return!1}}next(e=!0){return this.move(1,e)}prev(e=!0){return this.move(-1,e)}moveTo(e,t=0){for(;(this.from==this.to||(t<1?this.from>=e:this.from>e)||(t>-1?this.to<=e:this.to=0;){for(let r=e;r;r=r._parent)if(r.index==O){if(O==this.index)return r;t=r,i=n+1;break e}O=this.stack[--n]}for(let e=i;e=0;n--){if(n<0)return wo(this._tree,e,O);let r=i[t.buffer[this.stack[n]]];if(!r.isAnonymous){if(e[O]&&e[O]!=r.name)return!1;O--}}return!0}}function Ro(e){return e.children.some(e=>e instanceof go||!e.type.isAnonymous||Ro(e))}const zo=new WeakMap;function _o(e,t){if(!e.isAnonymous||t instanceof go||t.type!=e)return 1;let i=zo.get(t);if(null==i){i=1;for(let O of t.children){if(O.type!=e||!(O instanceof Qo)){i=1;break}i+=_o(e,O)}zo.set(t,i)}return i}function Vo(e,t,i,O,n,r,s,o,a){let l=0;for(let i=O;i=h)break;$+=t}if(l==n+1){if($>h){let e=i[n];t(e.children,e.positions,0,e.children.length,O[n]+o);continue}c.push(i[n])}else{let t=O[l-1]+i[l-1].length-u;c.push(Vo(e,i,O,n,l,u,t,null,a))}d.push(u+o-r)}}(t,i,O,n,0),(o||a)(c,d,s)}class Yo{constructor(){this.map=new WeakMap}setBuffer(e,t,i){let O=this.map.get(e);O||this.map.set(e,O=new Map),O.set(t,i)}getBuffer(e,t){let i=this.map.get(e);return i&&i.get(t)}set(e,t){e instanceof xo?this.setBuffer(e.context.buffer,e.index,t):e instanceof yo&&this.map.set(e.tree,t)}get(e){return e instanceof xo?this.getBuffer(e.context.buffer,e.index):e instanceof yo?this.map.get(e.tree):void 0}cursorSet(e,t){e.buffer?this.setBuffer(e.buffer.buffer,e.index,t):this.map.set(e.tree,t)}cursorGet(e){return e.buffer?this.getBuffer(e.buffer.buffer,e.index):this.map.get(e.tree)}}class qo{constructor(e,t,i,O,n=!1,r=!1){this.from=e,this.to=t,this.tree=i,this.offset=O,this.open=(n?1:0)|(r?2:0)}get openStart(){return(1&this.open)>0}get openEnd(){return(2&this.open)>0}static addTree(e,t=[],i=!1){let O=[new qo(0,e.length,e,0,!1,i)];for(let i of t)i.to>e.length&&O.push(i);return O}static applyChanges(e,t,i=128){if(!t.length)return e;let O=[],n=1,r=e.length?e[0]:null;for(let s=0,o=0,a=0;;s++){let l=s=i)for(;r&&r.from=t.from||h<=t.to||a){let e=Math.max(t.from,o)-a,i=Math.min(t.to,h)-a;t=e>=i?null:new qo(e,i,t.tree,t.offset+a,s>0,!!l)}if(t&&O.push(t),r.to>h)break;r=nnew oo(e.from,e.to)):[new oo(0,0)]:[new oo(0,e.length)],this.createParse(e,t||[],i)}parse(e,t,i){let O=this.startParse(e,t,i);for(;;){let e=O.advance();if(e)return e}}}class Uo{constructor(e){this.string=e}get length(){return this.string.length}chunk(e){return this.string.slice(e)}get lineChunks(){return!1}read(e,t){return this.string.slice(e,t)}}function jo(e){return(t,i,O,n)=>new Mo(t,e,i,O,n)}class Go{constructor(e,t,i,O,n,r){this.parser=e,this.parse=t,this.overlay=i,this.bracketed=O,this.target=n,this.from=r}}function Co(e){if(!e.length||e.some(e=>e.from>=e.to))throw new RangeError("Invalid inner parse ranges given: "+JSON.stringify(e))}class Ao{constructor(e,t,i,O,n,r,s,o){this.parser=e,this.predicate=t,this.mounts=i,this.index=O,this.start=n,this.bracketed=r,this.target=s,this.prev=o,this.depth=0,this.ranges=[]}}const Eo=new ao({perNode:!0});class Mo{constructor(e,t,i,O,n){this.nest=t,this.input=i,this.fragments=O,this.ranges=n,this.inner=[],this.innerDone=0,this.baseTree=null,this.stoppedAt=null,this.baseParse=e}advance(){if(this.baseParse){let e=this.baseParse.advance();if(!e)return null;if(this.baseParse=null,this.baseTree=e,this.startInner(),null!=this.stoppedAt)for(let e of this.inner)e.parse.stopAt(this.stoppedAt)}if(this.innerDone==this.inner.length){let e=this.baseTree;return null!=this.stoppedAt&&(e=new Qo(e.type,e.children,e.positions,e.length,e.propValues.concat([[Eo,this.stoppedAt]]))),e}let e=this.inner[this.innerDone],t=e.parse.advance();if(t){this.innerDone++;let i=Object.assign(Object.create(null),e.target.props);i[ao.mounted.id]=new lo(t,e.overlay,e.parser,e.bracketed),e.target.props=i}return null}get parsedPos(){if(this.baseParse)return 0;let e=this.input.length;for(let t=this.innerDone;t=this.stoppedAt)o=!1;else if(e.hasNode(O)){if(t){let e=t.mounts.find(e=>e.frag.from<=O.from&&e.frag.to>=O.to&&e.mount.overlay);if(e)for(let i of e.mount.overlay){let n=i.from+e.pos,r=i.to+e.pos;n>=O.from&&r<=O.to&&!t.ranges.some(e=>e.fromn)&&t.ranges.push({from:n,to:r})}}o=!1}else if(i&&(r=Do(i.ranges,O.from,O.to)))o=2!=r;else if(!O.type.isAnonymous&&(n=this.nest(O,this.input))&&(O.fromnew oo(e.from-O.from,e.to-O.from)):null,!!n.bracketed,O.tree,e.length?e[0].from:O.from)),n.overlay?e.length&&(i={ranges:e,depth:0,prev:i}):o=!1}}else if(t&&(s=t.predicate(O))&&(!0===s&&(s=new oo(O.from,O.to)),s.from=0&&t.ranges[e].to==s.from?t.ranges[e]={from:t.ranges[e].from,to:s.to}:t.ranges.push(s)}if(o&&O.firstChild())t&&t.depth++,i&&i.depth++;else for(;!O.nextSibling();){if(!O.parent())break e;if(t&&! --t.depth){let e=Fo(this.ranges,t.ranges);e.length&&(Co(e),this.inner.splice(t.index,0,new Go(t.parser,t.parser.startParse(this.input,Ko(t.mounts,e),e),t.ranges.map(e=>new oo(e.from-t.start,e.to-t.start)),t.bracketed,t.target,e[0].from))),t=t.prev}i&&! --i.depth&&(i=i.prev)}}}}function Do(e,t,i){for(let O of e){if(O.from>=i)break;if(O.to>t)return O.from<=t&&O.to>=i?2:1}return 0}function Lo(e,t,i,O,n,r){if(t=e&&t.enter(i,1,po.IgnoreOverlays|po.ExcludeBuffers));else{if(!(t.to<=e))break;t.next(!1)||(this.done=!0)}}hasNode(e){if(this.moveTo(e.from),!this.done&&this.cursor.from+this.offset==e.from&&this.cursor.tree)for(let t=this.cursor.tree;;){if(t==e.tree)return!0;if(!(t.children.length&&0==t.positions[0]&&t.children[0]instanceof Qo))break;t=t.children[0]}return!1}}let Bo=class{constructor(e){var t;if(this.fragments=e,this.curTo=0,this.fragI=0,e.length){let i=this.curFrag=e[0];this.curTo=null!==(t=i.tree.prop(Eo))&&void 0!==t?t:i.to,this.inner=new No(i.tree,-i.offset)}else this.curFrag=this.inner=null}hasNode(e){for(;this.curFrag&&e.from>=this.curTo;)this.nextFrag();return this.curFrag&&this.curFrag.from<=e.from&&this.curTo>=e.to&&this.inner.hasNode(e)}nextFrag(){var e;if(this.fragI++,this.fragI==this.fragments.length)this.curFrag=this.inner=null;else{let t=this.curFrag=this.fragments[this.fragI];this.curTo=null!==(e=t.tree.prop(Eo))&&void 0!==e?e:t.to,this.inner=new No(t.tree,-t.offset)}}findMounts(e,t){var i;let O=[];if(this.inner){this.inner.cursor.moveTo(e,1);for(let e=this.inner.cursor.node;e;e=e.parent){let n=null===(i=e.tree)||void 0===i?void 0:i.prop(ao.mounted);if(n&&n.parser==t)for(let t=this.fragI;t=e.to)break;i.tree==this.curFrag.tree&&O.push({frag:i,pos:e.from-i.offset,mount:n})}}}return O}};function Fo(e,t){let i=null,O=t;for(let n=1,r=0;n=o)break;e.to<=s||(i||(O=i=t.slice()),e.fromo&&i.splice(r+1,0,new oo(o,e.to))):e.to>o?i[r--]=new oo(o,e.to):i.splice(r--,1))}}return O}function Ho(e,t,i,O){let n=0,r=0,s=!1,o=!1,a=-1e9,l=[];for(;;){let h=n==e.length?1e9:s?e[n].to:e[n].from,c=r==t.length?1e9:o?t[r].to:t[r].from;if(s!=o){let e=Math.max(a,i),t=Math.min(h,c,O);enew oo(e.from+O,e.to+O)),o,a);for(let t=0,O=o;;t++){let o=t==s.length,l=o?a:s[t].from;if(l>O&&i.push(new qo(O,l,n.tree,-e,r.from>=O||r.openStart,r.to<=l||r.openEnd)),o)break;O=s[t].to}}else i.push(new qo(o,a,n.tree,-e,r.from>=e||r.openStart,r.to<=s||r.openEnd))}return i}let Jo=0,ea=class e{constructor(e,t,i,O){this.name=e,this.set=t,this.base=i,this.modified=O,this.id=Jo++}toString(){let{name:e}=this;for(let t of this.modified)t.name&&(e=`${t.name}(${e})`);return e}static define(t,i){let O="string"==typeof t?t:"?";if(t instanceof e&&(i=t),null==i?void 0:i.base)throw new Error("Can not derive from a modified tag");let n=new e(O,[],null,[]);if(n.set.push(n),i)for(let e of i.set)n.set.push(e);return n}static defineModifier(e){let t=new ia(e);return e=>e.modified.indexOf(t)>-1?e:ia.get(e.base||e,e.modified.concat(t).sort((e,t)=>e.id-t.id))}},ta=0;class ia{constructor(e){this.name=e,this.instances=[],this.id=ta++}static get(e,t){if(!t.length)return e;let i=t[0].instances.find(i=>{return i.base==e&&(O=t,n=i.modified,O.length==n.length&&O.every((e,t)=>e==n[t]));var O,n});if(i)return i;let O=[],n=new ea(e.name,O,e,t);for(let e of t)e.instances.push(n);let r=function(e){let t=[[]];for(let i=0;it.length-e.length)}(t);for(let t of e.set)if(!t.modified.length)for(let e of r)O.push(ia.get(t,e));return n}}function Oa(e){let t=Object.create(null);for(let i in e){let O=e[i];Array.isArray(O)||(O=[O]);for(let e of i.split(" "))if(e){let i=[],n=2,r=e;for(let t=0;;){if("..."==r&&t>0&&t+3==e.length){n=1;break}let O=/^"(?:[^"\\]|\\.)*?"|[^\/!]+/.exec(r);if(!O)throw new RangeError("Invalid path: "+e);if(i.push("*"==O[0]?"":'"'==O[0][0]?JSON.parse(O[0]):O[0]),t+=O[0].length,t==e.length)break;let s=e[t++];if(t==e.length&&"!"==s){n=0;break}if("/"!=s)throw new RangeError("Invalid path: "+e);r=e.slice(t)}let s=i.length-1,o=i[s];if(!o)throw new RangeError("Invalid path: "+e);let a=new ra(O,n,s>0?i.slice(0,s):null);t[o]=a.sort(t[o])}}return na.add(t)}const na=new ao({combine(e,t){let i,O,n;for(;e||t;){if(!e||t&&e.depth>=t.depth?(n=t,t=t.next):(n=e,e=e.next),i&&i.mode==n.mode&&!n.context&&!i.context)continue;let r=new ra(n.tags,n.mode,n.context);i?i.next=r:O=r,i=r}return O}});class ra{constructor(e,t,i,O){this.tags=e,this.mode=t,this.context=i,this.next=O}get opaque(){return 0==this.mode}get inherit(){return 1==this.mode}sort(e){return!e||e.depth{let t=n;for(let O of e)for(let e of O.set){let O=i[e.id];if(O){t=t?t+" "+O:O;break}}return t},scope:O}}function oa(e,t,i,O=0,n=e.length){let r=new aa(O,Array.isArray(t)?t:[t],i);r.highlightRange(e.cursor(),O,n,"",r.highlighters),r.flush(n)}ra.empty=new ra([],2,null);class aa{constructor(e,t,i){this.at=e,this.highlighters=t,this.span=i,this.class=""}startSpan(e,t){t!=this.class&&(this.flush(e),e>this.at&&(this.at=e),this.class=t)}flush(e){e>this.at&&this.class&&this.span(this.at,e,this.class)}highlightRange(e,t,i,O,n){let{type:r,from:s,to:o}=e;if(s>=i||o<=t)return;r.isTop&&(n=this.highlighters.filter(e=>!e.scope||e.scope(r)));let a=O,l=function(e){let t=e.type.prop(na);for(;t&&t.context&&!e.matchContext(t.context);)t=t.next;return t||null}(e)||ra.empty,h=function(e,t){let i=null;for(let O of e){let e=O.style(t);e&&(i=i?i+" "+e:e)}return i}(n,l.tags);if(h&&(a&&(a+=" "),a+=h,1==l.mode&&(O+=(O?" ":"")+h)),this.startSpan(Math.max(t,s),a),l.opaque)return;let c=e.tree&&e.tree.prop(ao.mounted);if(c&&c.overlay){let r=e.node.enter(c.overlay[0].from+s,1),l=this.highlighters.filter(e=>!e.scope||e.scope(c.tree.type)),h=e.firstChild();for(let d=0,u=s;;d++){let $=d=f)&&e.nextSibling()););if(!$||f>i)break;u=$.to+s,u>t&&(this.highlightRange(r.cursor(),Math.max(t,$.from+s),Math.min(i,u),"",l),this.startSpan(Math.min(i,u),a))}h&&e.parent()}else if(e.firstChild()){c&&(O="");do{if(!(e.to<=t)){if(e.from>=i)break;this.highlightRange(e,t,i,O,n),this.startSpan(Math.min(i,e.to),a)}}while(e.nextSibling());e.parent()}}}const la=ea.define,ha=la(),ca=la(),da=la(ca),ua=la(ca),$a=la(),fa=la($a),pa=la($a),Qa=la(),ma=la(Qa),ga=la(),Sa=la(),Pa=la(),Ta=la(Pa),ya=la(),va={comment:ha,lineComment:la(ha),blockComment:la(ha),docComment:la(ha),name:ca,variableName:la(ca),typeName:da,tagName:la(da),propertyName:ua,attributeName:la(ua),className:la(ca),labelName:la(ca),namespace:la(ca),macroName:la(ca),literal:$a,string:fa,docString:la(fa),character:la(fa),attributeValue:la(fa),number:pa,integer:la(pa),float:la(pa),bool:la($a),regexp:la($a),escape:la($a),color:la($a),url:la($a),keyword:ga,self:la(ga),null:la(ga),atom:la(ga),unit:la(ga),modifier:la(ga),operatorKeyword:la(ga),controlKeyword:la(ga),definitionKeyword:la(ga),moduleKeyword:la(ga),operator:Sa,derefOperator:la(Sa),arithmeticOperator:la(Sa),logicOperator:la(Sa),bitwiseOperator:la(Sa),compareOperator:la(Sa),updateOperator:la(Sa),definitionOperator:la(Sa),typeOperator:la(Sa),controlOperator:la(Sa),punctuation:Pa,separator:la(Pa),bracket:Ta,angleBracket:la(Ta),squareBracket:la(Ta),paren:la(Ta),brace:la(Ta),content:Qa,heading:ma,heading1:la(ma),heading2:la(ma),heading3:la(ma),heading4:la(ma),heading5:la(ma),heading6:la(ma),contentSeparator:la(Qa),list:la(Qa),quote:la(Qa),emphasis:la(Qa),strong:la(Qa),link:la(Qa),monospace:la(Qa),strikethrough:la(Qa),inserted:la(),deleted:la(),changed:la(),invalid:la(),meta:ya,documentMeta:la(ya),annotation:la(ya),processingInstruction:la(ya),definition:ea.defineModifier("definition"),constant:ea.defineModifier("constant"),function:ea.defineModifier("function"),standard:ea.defineModifier("standard"),local:ea.defineModifier("local"),special:ea.defineModifier("special")};for(let e in va){let t=va[e];t instanceof ea&&(t.name=e)}var wa;sa([{tag:va.link,class:"tok-link"},{tag:va.heading,class:"tok-heading"},{tag:va.emphasis,class:"tok-emphasis"},{tag:va.strong,class:"tok-strong"},{tag:va.keyword,class:"tok-keyword"},{tag:va.atom,class:"tok-atom"},{tag:va.bool,class:"tok-bool"},{tag:va.url,class:"tok-url"},{tag:va.labelName,class:"tok-labelName"},{tag:va.inserted,class:"tok-inserted"},{tag:va.deleted,class:"tok-deleted"},{tag:va.literal,class:"tok-literal"},{tag:va.string,class:"tok-string"},{tag:va.number,class:"tok-number"},{tag:[va.regexp,va.escape,va.special(va.string)],class:"tok-string2"},{tag:va.variableName,class:"tok-variableName"},{tag:va.local(va.variableName),class:"tok-variableName tok-local"},{tag:va.definition(va.variableName),class:"tok-variableName tok-definition"},{tag:va.special(va.variableName),class:"tok-variableName2"},{tag:va.definition(va.propertyName),class:"tok-propertyName tok-definition"},{tag:va.typeName,class:"tok-typeName"},{tag:va.namespace,class:"tok-namespace"},{tag:va.className,class:"tok-className"},{tag:va.macroName,class:"tok-macroName"},{tag:va.propertyName,class:"tok-propertyName"},{tag:va.operator,class:"tok-operator"},{tag:va.comment,class:"tok-comment"},{tag:va.meta,class:"tok-meta"},{tag:va.invalid,class:"tok-invalid"},{tag:va.punctuation,class:"tok-punctuation"}]);const ba=new ao;function xa(e){return j.define({combine:e?t=>t.concat(e):void 0})}const Xa=new ao;class ka{constructor(e,t,i=[],O=""){this.data=e,this.name=O,Te.prototype.hasOwnProperty("tree")||Object.defineProperty(Te.prototype,"tree",{get(){return za(this)}}),this.parser=t,this.extension=[Ca.of(this),Te.languageData.of((e,t,i)=>{let O=Za(e,t,i),n=O.type.prop(ba);if(!n)return[];let r=e.facet(n),s=O.type.prop(Xa);if(s){let n=O.resolve(t-O.from,i);for(let t of s)if(t.test(n,e)){let i=e.facet(t.facet);return"replace"==t.type?i:i.concat(r)}}return r})].concat(i)}isActiveAt(e,t,i=-1){return Za(e,t,i).type.prop(ba)==this.data}findRegions(e){let t=e.facet(Ca);if((null==t?void 0:t.data)==this.data)return[{from:0,to:e.doc.length}];if(!t||!t.allowsNesting)return[];let i=[],O=(e,t)=>{if(e.prop(ba)==this.data)return void i.push({from:t,to:t+e.length});let n=e.prop(ao.mounted);if(n){if(n.tree.prop(ba)==this.data){if(n.overlay)for(let e of n.overlay)i.push({from:e.from+t,to:e.to+t});else i.push({from:t,to:t+e.length});return}if(n.overlay){let e=i.length;if(O(n.tree,n.overlay[0].from+t),i.length>e)return}}for(let i=0;ie.isTop?t:void 0)]}),e.name)}configure(e,t){return new Ra(this.data,this.parser.configure(e),t||this.name)}get allowsNesting(){return this.parser.hasWrappers()}}function za(e){let t=e.field(ka.state,!1);return t?t.tree:Qo.empty}class _a{constructor(e){this.doc=e,this.cursorPos=0,this.string="",this.cursor=e.iter()}get length(){return this.doc.length}syncTo(e){return this.string=this.cursor.next(e-this.cursorPos).value,this.cursorPos=e+this.string.length,this.cursorPos-this.string.length}chunk(e){return this.syncTo(e),this.string}get lineChunks(){return!0}read(e,t){let i=this.cursorPos-this.string.length;return e=this.cursorPos?this.doc.sliceString(e,t):this.string.slice(e-i,t-i)}}let Va=null;class Ya{constructor(e,t,i=[],O,n,r,s,o){this.parser=e,this.state=t,this.fragments=i,this.tree=O,this.treeLen=n,this.viewport=r,this.skipped=s,this.scheduleOn=o,this.parse=null,this.tempSkipped=[]}static create(e,t,i){return new Ya(e,t,[],Qo.empty,0,i,[],null)}startParse(){return this.parser.startParse(new _a(this.state.doc),this.fragments)}work(e,t){return null!=t&&t>=this.state.doc.length&&(t=void 0),this.tree!=Qo.empty&&this.isDone(null!=t?t:this.state.doc.length)?(this.takeTree(),!0):this.withContext(()=>{var i;if("number"==typeof e){let t=Date.now()+e;e=()=>Date.now()>t}for(this.parse||(this.parse=this.startParse()),null!=t&&(null==this.parse.stoppedAt||this.parse.stoppedAt>t)&&t=this.treeLen&&((null==this.parse.stoppedAt||this.parse.stoppedAt>e)&&this.parse.stopAt(e),this.withContext(()=>{for(;!(t=this.parse.advance()););}),this.treeLen=e,this.tree=t,this.fragments=this.withoutTempSkipped(qo.addTree(this.tree,this.fragments,!0)),this.parse=null)}withContext(e){let t=Va;Va=this;try{return e()}finally{Va=t}}withoutTempSkipped(e){for(let t;t=this.tempSkipped.pop();)e=qa(e,t.from,t.to);return e}changes(e,t){let{fragments:i,tree:O,treeLen:n,viewport:r,skipped:s}=this;if(this.takeTree(),!e.empty){let t=[];if(e.iterChangedRanges((e,i,O,n)=>t.push({fromA:e,toA:i,fromB:O,toB:n})),i=qo.applyChanges(i,t),O=Qo.empty,n=0,r={from:e.mapPos(r.from,-1),to:e.mapPos(r.to,1)},this.skipped.length){s=[];for(let t of this.skipped){let i=e.mapPos(t.from,1),O=e.mapPos(t.to,-1);ie.from&&(this.fragments=qa(this.fragments,i,O),this.skipped.splice(t--,1))}return!(this.skipped.length>=t||(this.reset(),0))}reset(){this.parse&&(this.takeTree(),this.parse=null)}skipUntilInView(e,t){this.skipped.push({from:e,to:t})}static getSkippingParser(e){return new class extends Wo{createParse(t,i,O){let n=O[0].from,r=O[O.length-1].to;return{parsedPos:n,advance(){let t=Va;if(t){for(let e of O)t.tempSkipped.push(e);e&&(t.scheduleOn=t.scheduleOn?Promise.all([t.scheduleOn,e]):e)}return this.parsedPos=r,new Qo(co.none,[],[],r-n)},stoppedAt:null,stopAt(){}}}}}isDone(e){e=Math.min(e,this.state.doc.length);let t=this.fragments;return this.treeLen>=e&&t.length&&0==t[0].from&&t[0].to>=e}static get(){return Va}}function qa(e,t,i){return qo.applyChanges(e,[{fromA:t,toA:i,fromB:t,toB:i}])}class Wa{constructor(e){this.context=e,this.tree=e.tree}apply(e){if(!e.docChanged&&this.tree==this.context.tree)return this;let t=this.context.changes(e.changes,e.state),i=this.context.treeLen==e.startState.doc.length?void 0:Math.max(e.changes.mapPos(this.context.treeLen),t.viewport.to);return t.work(20,i)||t.takeTree(),new Wa(t)}static init(e){let t=Math.min(3e3,e.doc.length),i=Ya.create(e.facet(Ca).parser,e,{from:0,to:t});return i.work(20,t)||i.takeTree(),new Wa(i)}}ka.state=L.define({create:Wa.init,update(e,t){for(let e of t.effects)if(e.is(ka.setState))return e.value;return t.startState.facet(Ca)!=t.state.facet(Ca)?Wa.init(t.state):e.apply(t)}});let Ua=e=>{let t=setTimeout(()=>e(),500);return()=>clearTimeout(t)};"undefined"!=typeof requestIdleCallback&&(Ua=e=>{let t=-1,i=setTimeout(()=>{t=requestIdleCallback(e,{timeout:400})},100);return()=>t<0?clearTimeout(i):cancelIdleCallback(t)});const ja="undefined"!=typeof navigator&&(null===(wa=navigator.scheduling)||void 0===wa?void 0:wa.isInputPending)?()=>navigator.scheduling.isInputPending():null,Ga=qi.fromClass(class{constructor(e){this.view=e,this.working=null,this.workScheduled=0,this.chunkEnd=-1,this.chunkBudget=-1,this.work=this.work.bind(this),this.scheduleWork()}update(e){let t=this.view.state.field(ka.state).context;(t.updateViewport(e.view.viewport)||this.view.viewport.to>t.treeLen)&&this.scheduleWork(),(e.docChanged||e.selectionSet)&&(this.view.hasFocus&&(this.chunkBudget+=50),this.scheduleWork()),this.checkAsyncSchedule(t)}scheduleWork(){if(this.working)return;let{state:e}=this.view,t=e.field(ka.state);t.tree==t.context.tree&&t.context.isDone(e.doc.length)||(this.working=Ua(this.work))}work(e){this.working=null;let t=Date.now();if(this.chunkEndO+1e3,o=n.context.work(()=>ja&&ja()||Date.now()>r,O+(s?0:1e5));this.chunkBudget-=Date.now()-t,(o||this.chunkBudget<=0)&&(n.context.takeTree(),this.view.dispatch({effects:ka.setState.of(new Wa(n.context))})),this.chunkBudget>0&&(!o||s)&&this.scheduleWork(),this.checkAsyncSchedule(n.context)}checkAsyncSchedule(e){e.scheduleOn&&(this.workScheduled++,e.scheduleOn.then(()=>this.scheduleWork()).catch(e=>zi(this.view.state,e)).then(()=>this.workScheduled--),e.scheduleOn=null)}destroy(){this.working&&this.working()}isWorking(){return!!(this.working||this.workScheduled>0)}},{eventHandlers:{focus(){this.scheduleWork()}}}),Ca=j.define({combine:e=>e.length?e[0]:null,enables:e=>[ka.state,Ga,ar.contentAttributes.compute([e],t=>{let i=t.facet(e);return i&&i.name?{"data-language":i.name}:{}})]});class Aa{constructor(e,t=[]){this.language=e,this.support=t,this.extension=[e,t]}}const Ea=j.define(),Ma=j.define({combine:e=>{if(!e.length)return" ";let t=e[0];if(!t||/\S/.test(t)||Array.from(t).some(e=>e!=t[0]))throw new Error("Invalid indent unit: "+JSON.stringify(e[0]));return t}});function Da(e){let t=e.facet(Ma);return 9==t.charCodeAt(0)?e.tabSize*t.length:t.length}function La(e,t){let i="",O=e.tabSize,n=e.facet(Ma)[0];if("\t"==n){for(;t>=O;)i+="\t",t-=O;n=" "}for(let e=0;e=t?function(e,t,i){let O=t.resolveStack(i),n=t.resolveInner(i,-1).resolve(i,0).enterUnfinishedNodesBefore(i);if(n!=O.node){let e=[];for(let t=n;t&&!(t.fromO.node.to||t.from==O.node.from&&t.type==O.node.type);t=t.parent)e.push(t);for(let t=e.length-1;t>=0;t--)O={node:e[t],next:O}}return Fa(O,e,i)}(e,i,t):null}class Na{constructor(e,t={}){this.state=e,this.options=t,this.unit=Da(e)}lineAt(e,t=1){let i=this.state.doc.lineAt(e),{simulateBreak:O,simulateDoubleBreak:n}=this.options;return null!=O&&O>=i.from&&O<=i.to?n&&O==e?{text:"",from:e}:(t<0?O-1&&(n+=r-this.countColumn(i,i.search(/\S|$/))),n}countColumn(e,t=e.length){return Ce(e,this.state.tabSize,t)}lineIndent(e,t=1){let{text:i,from:O}=this.lineAt(e,t),n=this.options.overrideIndentation;if(n){let e=n(O);if(e>-1)return e}return this.countColumn(i,i.search(/\S|$/))}get simulatedBreak(){return this.options.simulateBreak||null}}const Ba=new ao;function Fa(e,t,i){for(let O=e;O;O=O.next){let e=Ha(O.node);if(e)return e(Ja.create(t,i,O))}return 0}function Ha(e){let t=e.type.prop(Ba);if(t)return t;let i,O=e.firstChild;if(O&&(i=O.type.prop(ao.closedBy))){let t=e.lastChild,O=t&&i.indexOf(t.name)>-1;return e=>il(e,!0,1,void 0,O&&!function(e){return e.pos==e.options.simulateBreak&&e.options.simulateDoubleBreak}(e)?t.from:void 0)}return null==e.parent?Ka:null}function Ka(){return 0}class Ja extends Na{constructor(e,t,i){super(e.state,e.options),this.base=e,this.pos=t,this.context=i}get node(){return this.context.node}static create(e,t,i){return new Ja(e,t,i)}get textAfter(){return this.textAfterPos(this.pos)}get baseIndent(){return this.baseIndentFor(this.node)}baseIndentFor(e){let t=this.state.doc.lineAt(e.from);for(;;){let i=e.resolve(t.from);for(;i.parent&&i.parent.from==i.from;)i=i.parent;if(el(i,e))break;t=this.state.doc.lineAt(i.from)}return this.lineIndent(t.from)}continue(){return Fa(this.context.next,this.base,this.pos)}}function el(e,t){for(let i=t;i;i=i.parent)if(e==i)return!0;return!1}function tl({closing:e,align:t=!0,units:i=1}){return O=>il(O,t,i,e)}function il(e,t,i,O,n){let r=e.textAfter,s=r.match(/^\s*/)[0].length,o=O&&r.slice(s,s+O.length)==O||n==e.pos+s,a=t?function(e){let t=e.node,i=t.childAfter(t.from),O=t.lastChild;if(!i)return null;let n=e.options.simulateBreak,r=e.state.doc.lineAt(i.from),s=null==n||n<=r.from?r.to:Math.min(r.to,n);for(let e=i.to;;){let n=t.childAfter(e);if(!n||n==O)return null;if(!n.type.isSkipped){if(n.from>=s)return null;let e=/^ */.exec(r.text.slice(i.to-r.from))[0].length;return{from:i.from,to:i.to+e}}e=n.to}}(e):null;return a?o?e.column(a.from):e.column(a.to):e.baseIndent+(o?0:e.unit*i)}function Ol({except:e,units:t=1}={}){return i=>{let O=e&&e.test(i.textAfter);return i.baseIndent+(O?0:t*i.unit)}}const nl=j.define(),rl=new ao;function sl(e){let t=e.firstChild,i=e.lastChild;return t&&t.toi)continue;if(n&&s.from=t&&O.to>i&&(n=O)}}return n}(e,t,i)}function ll(e,t){let i=t.mapPos(e.from,1),O=t.mapPos(e.to,-1);return i>=O?void 0:{from:i,to:O}}const hl=ce.define({map:ll}),cl=ce.define({map:ll});function dl(e){let t=[];for(let{head:i}of e.state.selection.ranges)t.some(e=>e.from<=i&&e.to>=i)||t.push(e.lineBlockAt(i));return t}const ul=L.define({create:()=>Tt.none,update(e,t){t.isUserEvent("delete")&&t.changes.iterChangedRanges((t,i)=>e=$l(e,t,i)),e=e.map(t.changes);for(let i of t.effects)if(i.is(hl)&&!pl(e,i.value.from,i.value.to)){let{preparePlaceholder:O}=t.state.facet(Pl),n=O?Tt.replace({widget:new wl(O(t.state,i.value))}):vl;e=e.update({add:[n.range(i.value.from,i.value.to)]})}else i.is(cl)&&(e=e.update({filter:(e,t)=>i.value.from!=e||i.value.to!=t,filterFrom:i.value.from,filterTo:i.value.to}));return t.selection&&(e=$l(e,t.selection.main.head)),e},provide:e=>ar.decorations.from(e),toJSON(e,t){let i=[];return e.between(0,t.doc.length,(e,t)=>{i.push(e,t)}),i},fromJSON(e){if(!Array.isArray(e)||e.length%2)throw new RangeError("Invalid JSON for fold state");let t=[];for(let i=0;i{et&&(O=!0)}),O?e.update({filterFrom:t,filterTo:i,filter:(e,O)=>e>=i||O<=t}):e}function fl(e,t,i){var O;let n=null;return null===(O=e.field(ul,!1))||void 0===O||O.between(t,i,(e,t)=>{(!n||n.from>e)&&(n={from:e,to:t})}),n}function pl(e,t,i){let O=!1;return e.between(t,t,(e,n)=>{e==t&&n==i&&(O=!0)}),O}function Ql(e,t){return e.field(ul,!1)?t:t.concat(ce.appendConfig.of(Tl()))}function ml(e,t,i=!0){let O=e.state.doc.lineAt(t.from).number,n=e.state.doc.lineAt(t.to).number;return ar.announce.of(`${e.state.phrase(i?"Folded lines":"Unfolded lines")} ${O} ${e.state.phrase("to")} ${n}.`)}const gl=[{key:"Ctrl-Shift-[",mac:"Cmd-Alt-[",run:e=>{for(let t of dl(e)){let i=al(e.state,t.from,t.to);if(i)return e.dispatch({effects:Ql(e.state,[hl.of(i),ml(e,i)])}),!0}return!1}},{key:"Ctrl-Shift-]",mac:"Cmd-Alt-]",run:e=>{if(!e.state.field(ul,!1))return!1;let t=[];for(let i of dl(e)){let O=fl(e.state,i.from,i.to);O&&t.push(cl.of(O),ml(e,O,!1))}return t.length&&e.dispatch({effects:t}),t.length>0}},{key:"Ctrl-Alt-[",run:e=>{let{state:t}=e,i=[];for(let O=0;O{let t=e.state.field(ul,!1);if(!t||!t.size)return!1;let i=[];return t.between(0,e.state.doc.length,(e,t)=>{i.push(cl.of({from:e,to:t}))}),e.dispatch({effects:i}),!0}}],Sl={placeholderDOM:null,preparePlaceholder:null,placeholderText:"…"},Pl=j.define({combine:e=>ye(e,Sl)});function Tl(e){return[ul,kl]}function yl(e,t){let{state:i}=e,O=i.facet(Pl),n=t=>{let i=e.lineBlockAt(e.posAtDOM(t.target)),O=fl(e.state,i.from,i.to);O&&e.dispatch({effects:cl.of(O)}),t.preventDefault()};if(O.placeholderDOM)return O.placeholderDOM(e,n,t);let r=document.createElement("span");return r.textContent=O.placeholderText,r.setAttribute("aria-label",i.phrase("folded code")),r.title=i.phrase("unfold"),r.className="cm-foldPlaceholder",r.onclick=n,r}const vl=Tt.replace({widget:new class extends St{toDOM(e){return yl(e,null)}}});class wl extends St{constructor(e){super(),this.value=e}eq(e){return this.value==e.value}toDOM(e){return yl(e,this.value)}}const bl={openText:"⌄",closedText:"›",markerDOM:null,domEventHandlers:{},foldingChanged:()=>!1};class xl extends Rs{constructor(e,t){super(),this.config=e,this.open=t}eq(e){return this.config==e.config&&this.open==e.open}toDOM(e){if(this.config.markerDOM)return this.config.markerDOM(this.open);let t=document.createElement("span");return t.textContent=this.open?this.config.openText:this.config.closedText,t.title=e.state.phrase(this.open?"Fold line":"Unfold line"),t}}function Xl(e={}){let t={...bl,...e},i=new xl(t,!0),O=new xl(t,!1),n=qi.fromClass(class{constructor(e){this.from=e.viewport.from,this.markers=this.buildMarkers(e)}update(e){(e.docChanged||e.viewportChanged||e.startState.facet(Ca)!=e.state.facet(Ca)||e.startState.field(ul,!1)!=e.state.field(ul,!1)||za(e.startState)!=za(e.state)||t.foldingChanged(e))&&(this.markers=this.buildMarkers(e.view))}buildMarkers(e){let t=new Ze;for(let n of e.viewportLineBlocks){let r=fl(e.state,n.from,n.to)?O:al(e.state,n.from,n.to)?i:null;r&&t.add(n.from,n.from,r)}return t.finish()}}),{domEventHandlers:r}=t;return[n,qs({class:"cm-foldGutter",markers(e){var t;return(null===(t=e.plugin(n))||void 0===t?void 0:t.markers)||ke.empty},initialSpacer:()=>new xl(t,!1),domEventHandlers:{...r,click:(e,t,i)=>{if(r.click&&r.click(e,t,i))return!0;let O=fl(e.state,t.from,t.to);if(O)return e.dispatch({effects:cl.of(O)}),!0;let n=al(e.state,t.from,t.to);return!!n&&(e.dispatch({effects:hl.of(n)}),!0)}}}),Tl()]}const kl=ar.baseTheme({".cm-foldPlaceholder":{backgroundColor:"#eee",border:"1px solid #ddd",color:"#888",borderRadius:".2em",margin:"0 1px",padding:"0 1px",cursor:"pointer"},".cm-foldGutter span":{padding:"0 1px",cursor:"pointer"}});class Zl{constructor(e,t){let i;function O(e){let t=Le.newName();return(i||(i=Object.create(null)))["."+t]=e,t}this.specs=e;const n="string"==typeof t.all?t.all:t.all?O(t.all):void 0,r=t.scope;this.scope=r instanceof ka?e=>e.prop(ba)==r.data:r?e=>e==r:void 0,this.style=sa(e.map(e=>({tag:e.tag,class:e.class||O(Object.assign({},e,{tag:null}))})),{all:n}).style,this.module=i?new Le(i):null,this.themeType=t.themeType}static define(e,t){return new Zl(e,t||{})}}const Rl=j.define(),zl=j.define({combine:e=>e.length?[e[0]]:null});function _l(e){let t=e.facet(Rl);return t.length?t:e.facet(zl)}function Vl(e,t){let i,O=[ql];return e instanceof Zl&&(e.module&&O.push(ar.styleModule.of(e.module)),i=e.themeType),(null==t?void 0:t.fallback)?O.push(zl.of(e)):i?O.push(Rl.computeN([ar.darkTheme],t=>t.facet(ar.darkTheme)==("dark"==i)?[e]:[])):O.push(Rl.of(e)),O}class Yl{constructor(e){this.markCache=Object.create(null),this.tree=za(e.state),this.decorations=this.buildDeco(e,_l(e.state)),this.decoratedTo=e.viewport.to}update(e){let t=za(e.state),i=_l(e.state),O=i!=_l(e.startState),{viewport:n}=e.view,r=e.changes.mapPos(this.decoratedTo,1);t.length=n.to?(this.decorations=this.decorations.map(e.changes),this.decoratedTo=r):(t!=this.tree||e.viewportChanged||O)&&(this.tree=t,this.decorations=this.buildDeco(e.view,i),this.decoratedTo=n.to)}buildDeco(e,t){if(!t||!this.tree.length)return Tt.none;let i=new Ze;for(let{from:O,to:n}of e.visibleRanges)oa(this.tree,t,(e,t,O)=>{i.add(e,t,this.markCache[O]||(this.markCache[O]=Tt.mark({class:O})))},O,n);return i.finish()}}const ql=N.high(qi.fromClass(Yl,{decorations:e=>e.decorations})),Wl=Zl.define([{tag:va.meta,color:"#404740"},{tag:va.link,textDecoration:"underline"},{tag:va.heading,textDecoration:"underline",fontWeight:"bold"},{tag:va.emphasis,fontStyle:"italic"},{tag:va.strong,fontWeight:"bold"},{tag:va.strikethrough,textDecoration:"line-through"},{tag:va.keyword,color:"#708"},{tag:[va.atom,va.bool,va.url,va.contentSeparator,va.labelName],color:"#219"},{tag:[va.literal,va.inserted],color:"#164"},{tag:[va.string,va.deleted],color:"#a11"},{tag:[va.regexp,va.escape,va.special(va.string)],color:"#e40"},{tag:va.definition(va.variableName),color:"#00f"},{tag:va.local(va.variableName),color:"#30a"},{tag:[va.typeName,va.namespace],color:"#085"},{tag:va.className,color:"#167"},{tag:[va.special(va.variableName),va.macroName],color:"#256"},{tag:va.definition(va.propertyName),color:"#00c"},{tag:va.comment,color:"#940"},{tag:va.invalid,color:"#f00"}]),Ul=ar.baseTheme({"&.cm-focused .cm-matchingBracket":{backgroundColor:"#328c8252"},"&.cm-focused .cm-nonmatchingBracket":{backgroundColor:"#bb555544"}}),jl="()[]{}",Gl=j.define({combine:e=>ye(e,{afterCursor:!0,brackets:jl,maxScanDistance:1e4,renderMatch:El})}),Cl=Tt.mark({class:"cm-matchingBracket"}),Al=Tt.mark({class:"cm-nonmatchingBracket"});function El(e){let t=[],i=e.matched?Cl:Al;return t.push(i.range(e.start.from,e.start.to)),e.end&&t.push(i.range(e.end.from,e.end.to)),t}function Ml(e){let t=[],i=e.facet(Gl);for(let O of e.selection.ranges){if(!O.empty)continue;let n=Fl(e,O.head,-1,i)||O.head>0&&Fl(e,O.head-1,1,i)||i.afterCursor&&(Fl(e,O.head,1,i)||O.heade.decorations}),Ul];function Ll(e={}){return[Gl.of(e),Dl]}const Il=new ao;function Nl(e,t,i){let O=e.prop(t<0?ao.openedBy:ao.closedBy);if(O)return O;if(1==e.name.length){let O=i.indexOf(e.name);if(O>-1&&O%2==(t<0?1:0))return[i[O+t]]}return null}function Bl(e){let t=e.type.prop(Il);return t?t(e.node):e}function Fl(e,t,i,O={}){let n=O.maxScanDistance||1e4,r=O.brackets||jl,s=za(e),o=s.resolveInner(t,i);for(let e=o;e;e=e.parent){let O=Nl(e.type,i,r);if(O&&e.from0?t>=n.from&&tn.from&&t<=n.to))return Hl(0,0,i,e,n,O,r)}}return function(e,t,i,O,n,r,s){if(i<0?!t:t==e.doc.length)return null;let o=i<0?e.sliceDoc(t-1,t):e.sliceDoc(t,t+1),a=s.indexOf(o);if(a<0||a%2==0!=i>0)return null;let l={from:i<0?t-1:t,to:i>0?t+1:t},h=e.doc.iterRange(t,i>0?e.doc.length:0),c=0;for(let e=0;!h.next().done&&e<=r;){let r=h.value;i<0&&(e+=r.length);let o=t+e*i;for(let e=i>0?0:r.length-1,t=i>0?r.length:-1;e!=t;e+=i){let t=s.indexOf(r[e]);if(!(t<0||O.resolveInner(o+e,1).type!=n))if(t%2==0==i>0)c++;else{if(1==c)return{start:l,end:{from:o+e,to:o+e+1},matched:t>>1==a>>1};c--}}i>0&&(e+=r.length)}return h.done?{start:l,matched:!1}:null}(e,t,i,s,o.type,n,r)}function Hl(e,t,i,O,n,r,s){let o=O.parent,a={from:n.from,to:n.to},l=0,h=null==o?void 0:o.cursor();if(h&&(i<0?h.childBefore(O.from):h.childAfter(O.to)))do{if(i<0?h.to<=O.from:h.from>=O.to){if(0==l&&r.indexOf(h.type.name)>-1&&h.from=this.string.length}sol(){return 0==this.pos}peek(){return this.string.charAt(this.pos)||void 0}next(){if(this.post}eatSpace(){let e=this.pos;for(;/[\s\u00a0]/.test(this.string.charAt(this.pos));)++this.pos;return this.pos>e}skipToEnd(){this.pos=this.string.length}skipTo(e){let t=this.string.indexOf(e,this.pos);if(t>-1)return this.pos=t,!0}backUp(e){this.pos-=e}column(){return this.lastColumnPosi?e.toLowerCase():e;return O(this.string.substr(this.pos,e.length))==O(e)?(!1!==t&&(this.pos+=e.length),!0):null}{let i=this.string.slice(this.pos).match(e);return i&&i.index>0?null:(i&&!1!==t&&(this.pos+=i[0].length),i)}}current(){return this.string.slice(this.start,this.pos)}}function eh(e){if("object"!=typeof e)return e;let t={};for(let i in e){let O=e[i];t[i]=O instanceof Array?O.slice():O}return t}const th=new WeakMap;class ih extends ka{constructor(e){let t,i=xa(e.languageData),O={name:(n=e).name||"",token:n.token,blankLine:n.blankLine||(()=>{}),startState:n.startState||(()=>!0),copyState:n.copyState||eh,indent:n.indent||(()=>null),languageData:n.languageData||{},tokenTable:n.tokenTable||oh,mergeTokens:!1!==n.mergeTokens};var n;super(i,new class extends Wo{createParse(e,i,O){return new rh(t,e,i,O)}},[],e.name),this.topNode=function(e,t){let i=co.define({id:ah.length,name:"Document",props:[ba.add(()=>e),Ba.add(()=>e=>t.getIndent(e))],top:!0});return ah.push(i),i}(i,this),t=this,this.streamParser=O,this.stateAfter=new ao({perNode:!0}),this.tokenTable=e.tokenTable?new uh(O.tokenTable):$h}static define(e){return new ih(e)}getIndent(e){let t,{overrideIndentation:i}=e.options;i&&(t=th.get(e.state),null!=t&&t1e4)return null;for(;O=O&&i+t.length<=n&&t.prop(e.stateAfter);if(r)return{state:e.streamParser.copyState(r),pos:i+t.length};for(let r=t.children.length-1;r>=0;r--){let s=t.children[r],o=i+t.positions[r],a=s instanceof Qo&&o=t.length)return t;n||0!=i||t.type!=e.topNode||(n=!0);for(let r=t.children.length-1;r>=0;r--){let s,o=t.positions[r],a=t.children[r];if(oi&&Oh(e,n.tree,0-n.offset,i,s);if(o&&o.pos<=O&&(t=nh(e,n.tree,i+n.offset,o.pos+n.offset,!1)))return{state:o.state,tree:t}}return{state:e.streamParser.startState(n?Da(n):4),tree:Qo.empty}}(e,i,r,this.to,null==n?void 0:n.state);this.state=s,this.parsedPos=this.chunkStart=r+o.length;for(let e=0;ee.from<=n.viewport.from&&e.to>=n.viewport.from)&&(this.state=this.lang.streamParser.startState(Da(n.state)),n.skipUntilInView(this.parsedPos,n.viewport.from),this.parsedPos=n.viewport.from),this.moveRangeIndex()}advance(){let e=Ya.get(),t=null==this.stoppedAt?this.to:Math.min(this.to,this.stoppedAt),i=Math.min(t,this.chunkStart+512);for(e&&(i=Math.min(i,e.viewport.to));this.parsedPos=t?this.finish():e&&this.parsedPos>=e.viewport.to?(e.skipUntilInView(this.parsedPos,t),this.finish()):null}stopAt(e){this.stoppedAt=e}lineAfter(e){let t=this.input.chunk(e);if(this.input.lineChunks)"\n"==t&&(t="");else{let e=t.indexOf("\n");e>-1&&(t=t.slice(0,e))}return e+t.length<=this.to?t:t.slice(0,this.to-e)}nextLine(){let e=this.parsedPos,t=this.lineAfter(e),i=e+t.length;for(let e=this.rangeIndex;;){let O=this.ranges[e].to;if(O>=i)break;if(t=t.slice(0,O-(i-t.length)),e++,e==this.ranges.length)break;let n=this.ranges[e].from,r=this.lineAfter(n);t+=r,i=n+r.length}return{line:t,end:i}}skipGapsTo(e,t,i){for(;;){let O=this.ranges[this.rangeIndex].to,n=e+t;if(i>0?O>n:O>=n)break;t+=this.ranges[++this.rangeIndex].from-O}return t}moveRangeIndex(){for(;this.ranges[this.rangeIndex].to1){t+=O=this.skipGapsTo(t,O,1);let e=this.chunk.length;i+=O=this.skipGapsTo(i,O,-1),n+=this.chunk.length-e}let r=this.chunk.length-4;return this.lang.streamParser.mergeTokens&&4==n&&r>=0&&this.chunk[r]==e&&this.chunk[r+2]==t?this.chunk[r+2]=i:this.chunk.push(e,t,i,n),O}parseLine(e){let{line:t,end:i}=this.nextLine(),O=0,{streamParser:n}=this.lang,r=new Jl(t,e?e.state.tabSize:4,e?Da(e.state):2);if(r.eol())n.blankLine(this.state,r.indentUnit);else for(;!r.eol();){let e=sh(n.token,r,this.state);if(e&&(O=this.emitToken(this.lang.tokenTable.resolve(e),this.parsedPos+r.start,this.parsedPos+r.pos,O)),r.start>1e4)break}this.parsedPos=i,this.moveRangeIndex(),this.parsedPost.start)return O}throw new Error("Stream parser failed to advance stream.")}const oh=Object.create(null),ah=[co.none],lh=new uo(ah),hh=[],ch=Object.create(null),dh=Object.create(null);for(let[e,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"]])dh[e]=ph(oh,t);class uh{constructor(e){this.extra=e,this.table=Object.assign(Object.create(null),dh)}resolve(e){return e?this.table[e]||(this.table[e]=ph(this.extra,e)):0}}const $h=new uh(oh);function fh(e,t){hh.indexOf(e)>-1||hh.push(e)}function ph(e,t){let i=[];for(let O of t.split(" ")){let t=[];for(let i of O.split(".")){let O=e[i]||va[i];O?"function"==typeof O?t.length?t=t.map(O):fh(i):t.length?fh(i):t=Array.isArray(O)?O:[O]:fh(i)}for(let e of t)i.push(e)}if(!i.length)return 0;let O=t.replace(/ /g,"_"),n=O+" "+i.map(e=>e.id),r=ch[n];if(r)return r.id;let s=ch[n]=co.define({id:ah.length,name:O,props:[Oa({[O]:i})]});return ah.push(s),s.id}function Qh(e,t){return({state:i,dispatch:O})=>{if(i.readOnly)return!1;let n=e(t,i);return!!n&&(O(i.update(n)),!0)}}Kt.RTL,Kt.LTR;const mh=Qh(vh,0),gh=Qh(yh,0),Sh=Qh((e,t)=>yh(e,t,function(e){let t=[];for(let i of e.selection.ranges){let O=e.doc.lineAt(i.from),n=i.to<=O.to?O:e.doc.lineAt(i.to);n.from>O.from&&n.from==i.to&&(n=i.to==O.to+1?O:e.doc.lineAt(i.to-1));let r=t.length-1;r>=0&&t[r].to>O.from?t[r].to=n.to:t.push({from:O.from+/^\s*/.exec(O.text)[0].length,to:n.to})}return t}(t)),0);function Ph(e,t){let i=e.languageDataAt("commentTokens",t,1);return i.length?i[0]:{}}const Th=50;function yh(e,t,i=t.selection.ranges){let O=i.map(e=>Ph(t,e.from).block);if(!O.every(e=>e))return null;let n=i.map((e,i)=>function(e,{open:t,close:i},O,n){let r,s,o=e.sliceDoc(O-Th,O),a=e.sliceDoc(n,n+Th),l=/\s*$/.exec(o)[0].length,h=/^\s*/.exec(a)[0].length,c=o.length-l;if(o.slice(c-t.length,c)==t&&a.slice(h,h+i.length)==i)return{open:{pos:O-l,margin:l&&1},close:{pos:n+h,margin:h&&1}};n-O<=2*Th?r=s=e.sliceDoc(O,n):(r=e.sliceDoc(O,O+Th),s=e.sliceDoc(n-Th,n));let d=/^\s*/.exec(r)[0].length,u=/\s*$/.exec(s)[0].length,$=s.length-u-i.length;return r.slice(d,d+t.length)==t&&s.slice($,$+i.length)==i?{open:{pos:O+d+t.length,margin:/\s/.test(r.charAt(d+t.length))?1:0},close:{pos:n-u-i.length,margin:/\s/.test(s.charAt($-1))?1:0}}:null}(t,O[i],e.from,e.to));if(2!=e&&!n.every(e=>e))return{changes:t.changes(i.map((e,t)=>n[t]?[]:[{from:e.from,insert:O[t].open+" "},{from:e.to,insert:" "+O[t].close}]))};if(1!=e&&n.some(e=>e)){let e=[];for(let t,i=0;in&&(e==r||r>a.from)){n=a.from;let e=/^\s*/.exec(a.text)[0].length,t=e==a.length,r=a.text.slice(e,e+i.length)==i?e:-1;ee.comment<0&&(!e.empty||e.single))){let e=[];for(let{line:t,token:i,indent:n,empty:r,single:s}of O)!s&&r||e.push({from:t.from+n,insert:i+" "});let i=t.changes(e);return{changes:i,selection:t.selection.map(i,1)}}if(1!=e&&O.some(e=>e.comment>=0)){let e=[];for(let{line:t,comment:i,token:n}of O)if(i>=0){let O=t.from+i,r=O+n.length;" "==t.text[r-t.from]&&r++,e.push({from:O,to:r})}return{changes:e}}return null}const wh=ae.define(),bh=ae.define(),xh=j.define(),Xh=j.define({combine:e=>ye(e,{minDepth:100,newGroupDelay:500,joinToEvent:(e,t)=>t},{minDepth:Math.max,newGroupDelay:Math.min,joinToEvent:(e,t)=>(i,O)=>e(i,O)||t(i,O)})}),kh=L.define({create:()=>Lh.empty,update(e,t){let i=t.state.facet(Xh),O=t.annotation(wh);if(O){let n=qh.fromTransaction(t,O.selection),r=O.side,s=0==r?e.undone:e.done;return s=n?Wh(s,s.length,i.minDepth,n):Ch(s,t.startState.selection),new Lh(0==r?O.rest:s,0==r?s:O.rest)}let n=t.annotation(bh);if("full"!=n&&"before"!=n||(e=e.isolate()),!1===t.annotation(de.addToHistory))return t.changes.empty?e:e.addMapping(t.changes.desc);let r=qh.fromTransaction(t),s=t.annotation(de.time),o=t.annotation(de.userEvent);return r?e=e.addChanges(r,s,o,i,t):t.selection&&(e=e.addSelection(t.startState.selection,s,o,i.newGroupDelay)),"full"!=n&&"after"!=n||(e=e.isolate()),e},toJSON:e=>({done:e.done.map(e=>e.toJSON()),undone:e.undone.map(e=>e.toJSON())}),fromJSON:e=>new Lh(e.done.map(qh.fromJSON),e.undone.map(qh.fromJSON))});function Zh(e={}){return[kh,Xh.of(e),ar.domEventHandlers({beforeinput(e,t){let i="historyUndo"==e.inputType?zh:"historyRedo"==e.inputType?_h:null;return!!i&&(e.preventDefault(),i(t))}})]}function Rh(e,t){return function({state:i,dispatch:O}){if(!t&&i.readOnly)return!1;let n=i.field(kh,!1);if(!n)return!1;let r=n.pop(e,i,t);return!!r&&(O(r),!0)}}const zh=Rh(0,!1),_h=Rh(1,!1),Vh=Rh(0,!0),Yh=Rh(1,!0);class qh{constructor(e,t,i,O,n){this.changes=e,this.effects=t,this.mapped=i,this.startSelection=O,this.selectionsAfter=n}setSelAfter(e){return new qh(this.changes,this.effects,this.mapped,this.startSelection,e)}toJSON(){var e,t,i;return{changes:null===(e=this.changes)||void 0===e?void 0:e.toJSON(),mapped:null===(t=this.mapped)||void 0===t?void 0:t.toJSON(),startSelection:null===(i=this.startSelection)||void 0===i?void 0:i.toJSON(),selectionsAfter:this.selectionsAfter.map(e=>e.toJSON())}}static fromJSON(e){return new qh(e.changes&&X.fromJSON(e.changes),[],e.mapped&&x.fromJSON(e.mapped),e.startSelection&&q.fromJSON(e.startSelection),e.selectionsAfter.map(q.fromJSON))}static fromTransaction(e,t){let i=jh;for(let t of e.startState.facet(xh)){let O=t(e);O.length&&(i=i.concat(O))}return!i.length&&e.changes.empty?null:new qh(e.changes.invert(e.startState.doc),i,void 0,t||e.startState.selection,jh)}static selection(e){return new qh(void 0,jh,void 0,void 0,e)}}function Wh(e,t,i,O){let n=t+1>i+20?t-i-1:0,r=e.slice(n,t);return r.push(O),r}function Uh(e,t){return e.length?t.length?e.concat(t):e:t}const jh=[],Gh=200;function Ch(e,t){if(e.length){let i=e[e.length-1],O=i.selectionsAfter.slice(Math.max(0,i.selectionsAfter.length-Gh));return O.length&&O[O.length-1].eq(t)?e:(O.push(t),Wh(e,e.length-1,1e9,i.setSelAfter(O)))}return[qh.selection([t])]}function Ah(e){let t=e[e.length-1],i=e.slice();return i[e.length-1]=t.setSelAfter(t.selectionsAfter.slice(0,t.selectionsAfter.length-1)),i}function Eh(e,t){if(!e.length)return e;let i=e.length,O=jh;for(;i;){let n=Mh(e[i-1],t,O);if(n.changes&&!n.changes.empty||n.effects.length){let t=e.slice(0,i);return t[i-1]=n,t}t=n.mapped,i--,O=n.selectionsAfter}return O.length?[qh.selection(O)]:jh}function Mh(e,t,i){let O=Uh(e.selectionsAfter.length?e.selectionsAfter.map(e=>e.map(t)):jh,i);if(!e.changes)return qh.selection(O);let n=e.changes.map(t),r=t.mapDesc(e.changes,!0),s=e.mapped?e.mapped.composeDesc(r):r;return new qh(n,ce.mapEffects(e.effects,t),s,e.startSelection.map(r),O)}const Dh=/^(input\.type|delete)($|\.)/;class Lh{constructor(e,t,i=0,O=void 0){this.done=e,this.undone=t,this.prevTime=i,this.prevUserEvent=O}isolate(){return this.prevTime?new Lh(this.done,this.undone):this}addChanges(e,t,i,O,n){let r=this.done,s=r[r.length-1];return r=s&&s.changes&&!s.changes.empty&&e.changes&&(!i||Dh.test(i))&&(!s.selectionsAfter.length&&t-this.prevTimei.push(e,t)),t.iterChangedRanges((e,t,n,r)=>{for(let e=0;e=t&&n<=s&&(O=!0)}}),O}(s.changes,e.changes))||"input.type.compose"==i)?Wh(r,r.length-1,O.minDepth,new qh(e.changes.compose(s.changes),Uh(ce.mapEffects(e.effects,s.changes),s.effects),s.mapped,s.startSelection,jh)):Wh(r,r.length,O.minDepth,e),new Lh(r,jh,t,i)}addSelection(e,t,i,O){let n=this.done.length?this.done[this.done.length-1].selectionsAfter:jh;return n.length>0&&t-this.prevTimee.empty!=s.ranges[t].empty).length)?this:new Lh(Ch(this.done,e),this.undone,t,i);var r,s}addMapping(e){return new Lh(Eh(this.done,e),Eh(this.undone,e),this.prevTime,this.prevUserEvent)}pop(e,t,i){let O=0==e?this.done:this.undone;if(0==O.length)return null;let n=O[O.length-1],r=n.selectionsAfter[0]||(n.startSelection?n.startSelection.map(n.changes.invertedDesc,1):t.selection);if(i&&n.selectionsAfter.length)return t.update({selection:n.selectionsAfter[n.selectionsAfter.length-1],annotations:wh.of({side:e,rest:Ah(O),selection:r}),userEvent:0==e?"select.undo":"select.redo",scrollIntoView:!0});if(n.changes){let i=1==O.length?jh:O.slice(0,O.length-1);return n.mapped&&(i=Eh(i,n.mapped)),t.update({changes:n.changes,selection:n.startSelection,effects:n.effects,annotations:wh.of({side:e,rest:i,selection:r}),filter:!1,userEvent:0==e?"undo":"redo",scrollIntoView:!0})}return null}}Lh.empty=new Lh(jh,jh);const Ih=[{key:"Mod-z",run:zh,preventDefault:!0},{key:"Mod-y",mac:"Mod-Shift-z",run:_h,preventDefault:!0},{linux:"Ctrl-Shift-z",run:_h,preventDefault:!0},{key:"Mod-u",run:Vh,preventDefault:!0},{key:"Alt-u",mac:"Mod-Shift-u",run:Yh,preventDefault:!0}];function Nh(e,t){return q.create(e.ranges.map(t),e.mainIndex)}function Bh(e,t){return e.update({selection:t,scrollIntoView:!0,userEvent:"select"})}function Fh({state:e,dispatch:t},i){let O=Nh(e.selection,i);return!O.eq(e.selection,!0)&&(t(Bh(e,O)),!0)}function Hh(e,t){return q.cursor(t?e.to:e.from)}function Kh(e,t){return Fh(e,i=>i.empty?e.moveByChar(i,t):Hh(i,t))}function Jh(e){return e.textDirectionAt(e.state.selection.main.head)==Kt.LTR}const ec=e=>Kh(e,!Jh(e)),tc=e=>Kh(e,Jh(e));function ic(e,t){return Fh(e,i=>i.empty?e.moveByGroup(i,t):Hh(i,t))}function Oc(e,t,i){if(t.type.prop(i))return!0;let O=t.to-t.from;return O&&(O>2||/[^\s,.;:]/.test(e.sliceDoc(t.from,t.to)))||t.firstChild}function nc(e,t,i){let O,n,r=za(e).resolveInner(t.head),s=i?ao.closedBy:ao.openedBy;for(let O=t.head;;){let t=i?r.childAfter(O):r.childBefore(O);if(!t)break;Oc(e,t,s)?r=t:O=i?t.to:t.from}return n=r.type.prop(s)&&(O=i?Fl(e,r.from,1):Fl(e,r.to,-1))&&O.matched?i?O.end.to:O.end.from:i?r.to:r.from,q.cursor(n,i?-1:1)}function rc(e,t){return Fh(e,i=>{if(!i.empty)return Hh(i,t);let O=e.moveVertically(i,t);return O.head!=i.head?O:e.moveToLineBoundary(i,t)})}const sc=e=>rc(e,!1),oc=e=>rc(e,!0);function ac(e){let t,i=e.scrollDOM.clientHeighti.empty?e.moveVertically(i,t,O.height):Hh(i,t));if(r.eq(n.selection))return!1;if(O.selfScroll){let t=e.coordsAtPos(n.selection.main.head),s=e.scrollDOM.getBoundingClientRect(),o=s.top+O.marginTop,a=s.bottom-O.marginBottom;t&&t.top>o&&t.bottomlc(e,!1),cc=e=>lc(e,!0);function dc(e,t,i){let O=e.lineBlockAt(t.head),n=e.moveToLineBoundary(t,i);if(n.head==t.head&&n.head!=(i?O.to:O.from)&&(n=e.moveToLineBoundary(t,i,!1)),!i&&n.head==O.from&&O.length){let i=/^\s*/.exec(e.state.sliceDoc(O.from,Math.min(O.from+100,O.to)))[0].length;i&&t.head!=O.from+i&&(n=q.cursor(O.from+i))}return n}function uc(e,t){let i=Nh(e.state.selection,e=>{let i=t(e);return q.range(e.anchor,i.head,i.goalColumn,i.bidiLevel||void 0,i.assoc)});return!i.eq(e.state.selection)&&(e.dispatch(Bh(e.state,i)),!0)}function $c(e,t){return uc(e,i=>e.moveByChar(i,t))}const fc=e=>$c(e,!Jh(e)),pc=e=>$c(e,Jh(e));function Qc(e,t){return uc(e,i=>e.moveByGroup(i,t))}function mc(e,t){return uc(e,i=>e.moveVertically(i,t))}const gc=e=>mc(e,!1),Sc=e=>mc(e,!0);function Pc(e,t){return uc(e,i=>e.moveVertically(i,t,ac(e).height))}const Tc=e=>Pc(e,!1),yc=e=>Pc(e,!0),vc=({state:e,dispatch:t})=>(t(Bh(e,{anchor:0})),!0),wc=({state:e,dispatch:t})=>(t(Bh(e,{anchor:e.doc.length})),!0),bc=({state:e,dispatch:t})=>(t(Bh(e,{anchor:e.selection.main.anchor,head:0})),!0),xc=({state:e,dispatch:t})=>(t(Bh(e,{anchor:e.selection.main.anchor,head:e.doc.length})),!0);function Xc(e,t){let{state:i}=e,O=i.selection,n=i.selection.ranges.slice();for(let O of i.selection.ranges){let r=i.doc.lineAt(O.head);if(t?r.to0)for(let i=O;;){let O=e.moveVertically(i,t);if(O.headr.to){n.some(e=>e.head==O.head)||n.push(O);break}if(O.head==i.head)break;i=O}}return n.length!=O.ranges.length&&(e.dispatch(Bh(i,q.create(n,n.length-1))),!0)}function kc(e,t){if(e.state.readOnly)return!1;let i="delete.selection",{state:O}=e,n=O.changeByRange(O=>{let{from:n,to:r}=O;if(n==r){let s=t(O);sn&&(i="delete.forward",s=Zc(e,s,!0)),n=Math.min(n,s),r=Math.max(r,s)}else n=Zc(e,n,!1),r=Zc(e,r,!0);return n==r?{range:O}:{changes:{from:n,to:r},range:q.cursor(n,nt(e)))O.between(t,t,(e,O)=>{et&&(t=i?O:e)});return t}const Rc=(e,t,i)=>kc(e,O=>{let n,r,s=O.from,{state:o}=e,a=o.doc.lineAt(s);if(i&&!t&&s>a.from&&sRc(e,!1,!0),_c=e=>Rc(e,!0,!1),Vc=(e,t)=>kc(e,i=>{let O=i.head,{state:n}=e,r=n.doc.lineAt(O),s=n.charCategorizer(O);for(let e=null;;){if(O==(t?r.to:r.from)){O==i.head&&r.number!=(t?n.doc.lines:1)&&(O+=t?1:-1);break}let o=P(r.text,O-r.from,t)+r.from,a=r.text.slice(Math.min(O,o)-r.from,Math.max(O,o)-r.from),l=s(a);if(null!=e&&l!=e)break;" "==a&&O==i.head||(e=l),O=o}return O}),Yc=e=>Vc(e,!1);function qc(e){let t=[],i=-1;for(let O of e.selection.ranges){let n=e.doc.lineAt(O.from),r=e.doc.lineAt(O.to);if(O.empty||O.to!=r.from||(r=e.doc.lineAt(O.to-1)),i>=n.number){let e=t[t.length-1];e.to=r.to,e.ranges.push(O)}else t.push({from:n.from,to:r.to,ranges:[O]});i=r.number+1}return t}function Wc(e,t,i){if(e.readOnly)return!1;let O=[],n=[];for(let t of qc(e)){if(i?t.to==e.doc.length:0==t.from)continue;let r=e.doc.lineAt(i?t.to+1:t.from-1),s=r.length+1;if(i){O.push({from:t.to,to:r.to},{from:t.from,insert:r.text+e.lineBreak});for(let i of t.ranges)n.push(q.range(Math.min(e.doc.length,i.anchor+s),Math.min(e.doc.length,i.head+s)))}else{O.push({from:r.from,to:t.from},{from:t.to,insert:e.lineBreak+r.text});for(let e of t.ranges)n.push(q.range(e.anchor-s,e.head-s))}}return!!O.length&&(t(e.update({changes:O,scrollIntoView:!0,selection:q.create(n,e.selection.mainIndex),userEvent:"move.line"})),!0)}function Uc(e,t,i){if(e.readOnly)return!1;let O=[];for(let t of qc(e))i?O.push({from:t.from,insert:e.doc.slice(t.from,t.to)+e.lineBreak}):O.push({from:t.to,insert:e.lineBreak+e.doc.slice(t.from,t.to)});let n=e.changes(O);return t(e.update({changes:n,selection:e.selection.map(n,i?1:-1),scrollIntoView:!0,userEvent:"input.copyline"})),!0}const jc=Gc(!1);function Gc(e){return({state:t,dispatch:i})=>{if(t.readOnly)return!1;let O=t.changeByRange(i=>{let{from:O,to:n}=i,r=t.doc.lineAt(O),s=!e&&O==n&&function(e,t){if(/\(\)|\[\]|\{\}/.test(e.sliceDoc(t-1,t+1)))return{from:t,to:t};let i,O=za(e).resolveInner(t),n=O.childBefore(t),r=O.childAfter(t);return n&&r&&n.to<=t&&r.from>=t&&(i=n.type.prop(ao.closedBy))&&i.indexOf(r.name)>-1&&e.doc.lineAt(n.to).from==e.doc.lineAt(r.from).from&&!/\S/.test(e.sliceDoc(n.to,r.from))?{from:n.to,to:r.from}:null}(t,O);e&&(O=n=(n<=r.to?r:t.doc.lineAt(n)).to);let o=new Na(t,{simulateBreak:O,simulateDoubleBreak:!!s}),a=Ia(o,O);for(null==a&&(a=Ce(/^\s*/.exec(t.doc.lineAt(O).text)[0],t.tabSize));nr.from&&O{let n=[];for(let r=O.from;r<=O.to;){let s=e.doc.lineAt(r);s.number>i&&(O.empty||O.to>s.from)&&(t(s,n,O),i=s.number),r=s.to+1}let r=e.changes(n);return{changes:n,range:q.range(r.mapPos(O.anchor,1),r.mapPos(O.head,1))}})}const Ac=({state:e,dispatch:t})=>!e.readOnly&&(t(e.update(Cc(e,(t,i)=>{i.push({from:t.from,insert:e.facet(Ma)})}),{userEvent:"input.indent"})),!0),Ec=({state:e,dispatch:t})=>!e.readOnly&&(t(e.update(Cc(e,(t,i)=>{let O=/^\s*/.exec(t.text)[0];if(!O)return;let n=Ce(O,e.tabSize),r=0,s=La(e,Math.max(0,n-Da(e)));for(;rFh(e,t=>q.cursor(e.lineBlockAt(t.head).from,1)),shift:e=>uc(e,t=>q.cursor(e.lineBlockAt(t.head).from))},{key:"Ctrl-e",run:e=>Fh(e,t=>q.cursor(e.lineBlockAt(t.head).to,-1)),shift:e=>uc(e,t=>q.cursor(e.lineBlockAt(t.head).to))},{key:"Ctrl-d",run:_c},{key:"Ctrl-h",run:zc},{key:"Ctrl-k",run:e=>kc(e,t=>{let i=e.lineBlockAt(t.head).to;return t.head{if(e.readOnly)return!1;let i=e.changeByRange(e=>({changes:{from:e.from,to:e.to,insert:c.of(["",""])},range:q.cursor(e.from)}));return t(e.update(i,{scrollIntoView:!0,userEvent:"input"})),!0}},{key:"Ctrl-t",run:({state:e,dispatch:t})=>{if(e.readOnly)return!1;let i=e.changeByRange(t=>{if(!t.empty||0==t.from||t.from==e.doc.length)return{range:t};let i=t.from,O=e.doc.lineAt(i),n=i==O.from?i-1:P(O.text,i-O.from,!1)+O.from,r=i==O.to?i+1:P(O.text,i-O.from,!0)+O.from;return{changes:{from:n,to:r,insert:e.doc.slice(i,r).append(e.doc.slice(n,i))},range:q.cursor(r)}});return!i.changes.empty&&(t(e.update(i,{scrollIntoView:!0,userEvent:"move.character"})),!0)}},{key:"Ctrl-v",run:cc}],Dc=[{key:"Alt-ArrowLeft",mac:"Ctrl-ArrowLeft",run:e=>Fh(e,t=>nc(e.state,t,!Jh(e))),shift:e=>uc(e,t=>nc(e.state,t,!Jh(e)))},{key:"Alt-ArrowRight",mac:"Ctrl-ArrowRight",run:e=>Fh(e,t=>nc(e.state,t,Jh(e))),shift:e=>uc(e,t=>nc(e.state,t,Jh(e)))},{key:"Alt-ArrowUp",run:({state:e,dispatch:t})=>Wc(e,t,!1)},{key:"Shift-Alt-ArrowUp",run:({state:e,dispatch:t})=>Uc(e,t,!1)},{key:"Alt-ArrowDown",run:({state:e,dispatch:t})=>Wc(e,t,!0)},{key:"Shift-Alt-ArrowDown",run:({state:e,dispatch:t})=>Uc(e,t,!0)},{key:"Mod-Alt-ArrowUp",run:e=>Xc(e,!1)},{key:"Mod-Alt-ArrowDown",run:e=>Xc(e,!0)},{key:"Escape",run:({state:e,dispatch:t})=>{let i=e.selection,O=null;return i.ranges.length>1?O=q.create([i.main]):i.main.empty||(O=q.create([q.cursor(i.main.head)])),!!O&&(t(Bh(e,O)),!0)}},{key:"Mod-Enter",run:Gc(!0)},{key:"Alt-l",mac:"Ctrl-l",run:({state:e,dispatch:t})=>{let i=qc(e).map(({from:t,to:i})=>q.range(t,Math.min(i+1,e.doc.length)));return t(e.update({selection:q.create(i),userEvent:"select"})),!0}},{key:"Mod-i",run:({state:e,dispatch:t})=>{let i=Nh(e.selection,t=>{let i=za(e),O=i.resolveStack(t.from,1);if(t.empty){let e=i.resolveStack(t.from,-1);e.node.from>=O.node.from&&e.node.to<=O.node.to&&(O=e)}for(let e=O;e;e=e.next){let{node:i}=e;if((i.from=t.to||i.to>t.to&&i.from<=t.from)&&e.next)return q.range(i.to,i.from)}return t});return!i.eq(e.selection)&&(t(Bh(e,i)),!0)},preventDefault:!0},{key:"Mod-[",run:Ec},{key:"Mod-]",run:Ac},{key:"Mod-Alt-\\",run:({state:e,dispatch:t})=>{if(e.readOnly)return!1;let i=Object.create(null),O=new Na(e,{overrideIndentation:e=>{let t=i[e];return null==t?-1:t}}),n=Cc(e,(t,n,r)=>{let s=Ia(O,t.from);if(null==s)return;/\S/.test(t.text)||(s=0);let o=/^\s*/.exec(t.text)[0],a=La(e,s);(o!=a||r.from{if(e.state.readOnly)return!1;let{state:t}=e,i=t.changes(qc(t).map(({from:e,to:i})=>(e>0?e--:i{let i;if(e.lineWrapping){let O=e.lineBlockAt(t.head),n=e.coordsAtPos(t.head,t.assoc||1);n&&(i=O.bottom+e.documentTop-n.bottom+e.defaultLineHeight/2)}return e.moveVertically(t,!0,i)}).map(i);return e.dispatch({changes:i,selection:O,scrollIntoView:!0,userEvent:"delete.line"}),!0}},{key:"Shift-Mod-\\",run:({state:e,dispatch:t})=>function(e,t){let i=!1,O=Nh(e.selection,t=>{let O=Fl(e,t.head,-1)||Fl(e,t.head,1)||t.head>0&&Fl(e,t.head-1,1)||t.head{let{state:t}=e,i=t.doc.lineAt(t.selection.main.from),O=Ph(e.state,i.from);return O.line?mh(e):!!O.block&&Sh(e)}},{key:"Alt-A",run:gh},{key:"Ctrl-m",mac:"Shift-Alt-m",run:e=>(e.setTabFocusMode(),!0)}].concat([{key:"ArrowLeft",run:ec,shift:fc,preventDefault:!0},{key:"Mod-ArrowLeft",mac:"Alt-ArrowLeft",run:e=>ic(e,!Jh(e)),shift:e=>Qc(e,!Jh(e)),preventDefault:!0},{mac:"Cmd-ArrowLeft",run:e=>Fh(e,t=>dc(e,t,!Jh(e))),shift:e=>uc(e,t=>dc(e,t,!Jh(e))),preventDefault:!0},{key:"ArrowRight",run:tc,shift:pc,preventDefault:!0},{key:"Mod-ArrowRight",mac:"Alt-ArrowRight",run:e=>ic(e,Jh(e)),shift:e=>Qc(e,Jh(e)),preventDefault:!0},{mac:"Cmd-ArrowRight",run:e=>Fh(e,t=>dc(e,t,Jh(e))),shift:e=>uc(e,t=>dc(e,t,Jh(e))),preventDefault:!0},{key:"ArrowUp",run:sc,shift:gc,preventDefault:!0},{mac:"Cmd-ArrowUp",run:vc,shift:bc},{mac:"Ctrl-ArrowUp",run:hc,shift:Tc},{key:"ArrowDown",run:oc,shift:Sc,preventDefault:!0},{mac:"Cmd-ArrowDown",run:wc,shift:xc},{mac:"Ctrl-ArrowDown",run:cc,shift:yc},{key:"PageUp",run:hc,shift:Tc},{key:"PageDown",run:cc,shift:yc},{key:"Home",run:e=>Fh(e,t=>dc(e,t,!1)),shift:e=>uc(e,t=>dc(e,t,!1)),preventDefault:!0},{key:"Mod-Home",run:vc,shift:bc},{key:"End",run:e=>Fh(e,t=>dc(e,t,!0)),shift:e=>uc(e,t=>dc(e,t,!0)),preventDefault:!0},{key:"Mod-End",run:wc,shift:xc},{key:"Enter",run:jc,shift:jc},{key:"Mod-a",run:({state:e,dispatch:t})=>(t(e.update({selection:{anchor:0,head:e.doc.length},userEvent:"select"})),!0)},{key:"Backspace",run:zc,shift:zc,preventDefault:!0},{key:"Delete",run:_c,preventDefault:!0},{key:"Mod-Backspace",mac:"Alt-Backspace",run:Yc,preventDefault:!0},{key:"Mod-Delete",mac:"Alt-Delete",run:e=>Vc(e,!0),preventDefault:!0},{mac:"Mod-Backspace",run:e=>kc(e,t=>{let i=e.moveToLineBoundary(t,!1).head;return t.head>i?i:Math.max(0,t.head-1)}),preventDefault:!0},{mac:"Mod-Delete",run:e=>kc(e,t=>{let i=e.moveToLineBoundary(t,!0).head;return t.head({mac:e.key,run:e.run,shift:e.shift})))),Lc={key:"Tab",run:Ac,shift:Ec},Ic="function"==typeof String.prototype.normalize?e=>e.normalize("NFKD"):e=>e;class Nc{constructor(e,t,i=0,O=e.length,n,r){this.test=r,this.value={from:0,to:0,precise:!1},this.done=!1,this.matches=[],this.buffer="",this.bufferPos=0,this.iter=e.iterRange(i,O),this.bufferStart=i,this.normalize=n?e=>n(Ic(e)):Ic,this.query=this.normalize(t)}peek(){if(this.bufferPos==this.buffer.length){if(this.bufferStart+=this.buffer.length,this.iter.next(),this.iter.done)return-1;this.bufferPos=0,this.buffer=this.iter.value}return T(this.buffer,this.bufferPos)}next(){for(;this.matches.length;)this.matches.pop();return this.nextOverlapping()}nextOverlapping(){for(;;){let e=this.peek();if(e<0)return this.done=!0,this;let t=y(e),i=this.bufferStart+this.bufferPos;this.bufferPos+=v(e);let O=this.normalize(t);if(O.length)for(let e=0,n=i,r=!0;;e++){let i=O.charCodeAt(e),s=this.match(i,n,r,this.bufferPos+this.bufferStart,e==O.length-1);if(s)return this.value=s,this;if(e==O.length-1)break;r&&ethis.to&&(this.curLine=this.curLine.slice(0,this.to-this.curLineStart)),this.iter.next())}nextLine(){this.curLineStart=this.curLineStart+this.curLine.length+1,this.curLineStart>this.to?this.curLine="":this.getLine(0)}next(){for(let e=this.matchPos-this.curLineStart;;){this.re.lastIndex=e;let t=this.matchPos<=this.to&&this.re.exec(this.curLine);if(t){let i=this.curLineStart+t.index,O=i+t[0].length;if(this.matchPos=td(this.text,O+(i==O?1:0)),i==this.curLineStart+this.curLine.length&&this.nextLine(),(ithis.value.to)&&(!this.test||this.test(i,O,t)))return this.value={from:i,to:O,precise:!0,match:t},this;e=this.matchPos-this.curLineStart}else{if(!(this.curLineStart+this.curLine.length=i||O.to<=t){let O=new Jc(t,e.sliceString(t,i));return Kc.set(e,O),O}if(O.from==t&&O.to==i)return O;let{text:n,from:r}=O;return r>t&&(n=e.sliceString(t,r)+n,r=t),O.to=this.to?this.to:this.text.lineAt(e).to}next(){for(;;){let e=this.re.lastIndex=this.matchPos-this.flat.from,t=this.re.exec(this.flat.text);if(t&&!t[0]&&t.index==e&&(this.re.lastIndex=e+1,t=this.re.exec(this.flat.text)),t){let e=this.flat.from+t.index,i=e+t[0].length;if((this.flat.to>=this.to||t.index+t[0].length<=this.flat.text.length-10)&&(!this.test||this.test(e,i,t)))return this.value={from:e,to:i,precise:!0,match:t},this.matchPos=td(this.text,i+(e==i?1:0)),this}if(this.flat.to==this.to)return this.done=!0,this;this.flat=Jc.get(this.text,this.flat.from,this.chunkEnd(this.flat.from+2*this.flat.text.length))}}}function td(e,t){if(t>=e.length)return t;let i,O=e.lineAt(t);for(;t=56320&&i<57344;)t++;return t}"undefined"!=typeof Symbol&&(Hc.prototype[Symbol.iterator]=ed.prototype[Symbol.iterator]=function(){return this});const id={highlightWordAroundCursor:!1,minSelectionLength:1,maxMatches:100,wholeWords:!1},Od=j.define({combine:e=>ye(e,id,{highlightWordAroundCursor:(e,t)=>e||t,minSelectionLength:Math.min,maxMatches:Math.min})}),nd=Tt.mark({class:"cm-selectionMatch"}),rd=Tt.mark({class:"cm-selectionMatch cm-selectionMatch-main"});function sd(e,t,i,O){return!(0!=i&&e(t.sliceDoc(i-1,i))==ge.Word||O!=t.doc.length&&e(t.sliceDoc(O,O+1))==ge.Word)}const od=qi.fromClass(class{constructor(e){this.decorations=this.getDeco(e)}update(e){(e.selectionSet||e.docChanged||e.viewportChanged)&&(this.decorations=this.getDeco(e.view))}getDeco(e){let t=e.state.facet(Od),{state:i}=e,O=i.selection;if(O.ranges.length>1)return Tt.none;let n,r=O.main,s=null;if(r.empty){if(!t.highlightWordAroundCursor)return Tt.none;let e=i.wordAt(r.head);if(!e)return Tt.none;s=i.charCategorizer(r.head),n=i.sliceDoc(e.from,e.to)}else{let e=r.to-r.from;if(e200)return Tt.none;if(t.wholeWords){if(n=i.sliceDoc(r.from,r.to),s=i.charCategorizer(r.head),!sd(s,i,r.from,r.to)||!function(e,t,i,O){return e(t.sliceDoc(i,i+1))==ge.Word&&e(t.sliceDoc(O-1,O))==ge.Word}(s,i,r.from,r.to))return Tt.none}else if(n=i.sliceDoc(r.from,r.to),!n)return Tt.none}let o=[];for(let O of e.visibleRanges){let e=new Nc(i.doc,n,O.from,O.to);for(;!e.next().done;){let{from:O,to:n}=e.value;if((!s||sd(s,i,O,n))&&(r.empty&&O<=r.from&&n>=r.to?o.push(rd.range(O,n)):(O>=r.to||n<=r.from)&&o.push(nd.range(O,n)),o.length>t.maxMatches))return Tt.none}}return Tt.set(o)}},{decorations:e=>e.decorations}),ad=ar.baseTheme({".cm-selectionMatch":{backgroundColor:"#99ff7780"},".cm-searchMatch .cm-selectionMatch":{backgroundColor:"transparent"}}),ld=j.define({combine:e=>ye(e,{top:!1,caseSensitive:!1,literal:!1,regexp:!1,wholeWord:!1,createPanel:e=>new Ud(e),scrollToMatch:e=>ar.scrollIntoView(e)})});class hd{constructor(e){this.search=e.search,this.caseSensitive=!!e.caseSensitive,this.literal=!!e.literal,this.regexp=!!e.regexp,this.replace=e.replace||"",this.valid=!!this.search&&(!this.regexp||function(e){try{return new RegExp(e,Fc),!0}catch(e){return!1}}(this.search)),this.unquoted=this.unquote(this.search),this.wholeWord=!!e.wholeWord,this.test=e.test}unquote(e){return this.literal?e:e.replace(/\\([nrt\\])/g,(e,t)=>"n"==t?"\n":"r"==t?"\r":"t"==t?"\t":"\\")}eq(e){return this.search==e.search&&this.replace==e.replace&&this.caseSensitive==e.caseSensitive&&this.regexp==e.regexp&&this.wholeWord==e.wholeWord&&this.test==e.test}create(){return this.regexp?new Qd(this):new ud(this)}getCursor(e,t=0,i){let O=e.doc?e:Te.create({doc:e});return null==i&&(i=O.doc.length),this.regexp?$d(this,O,t,i):dd(this,O,t,i)}}class cd{constructor(e){this.spec=e}}function dd(e,t,i,O){let n;return e.wholeWord&&(n=function(e,t){return(i,O,n,r)=>((r>i||r+n.length{if(i&&!i(O,n,r,s))return!1;let o=O>=s&&n<=s+r.length?r.slice(O-s,n-s):t.doc.sliceString(O,n);return e(o,t,O,n)}}(e.test,t,n)),new Nc(t.doc,e.unquoted,i,O,e.caseSensitive?void 0:e=>e.toLowerCase(),n)}class ud extends cd{constructor(e){super(e)}nextMatch(e,t,i){let O=dd(this.spec,e,i,e.doc.length).nextOverlapping();if(O.done){let i=Math.min(e.doc.length,t+this.spec.unquoted.length);O=dd(this.spec,e,0,i).nextOverlapping()}return O.done||O.value.from==t&&O.value.to==i?null:O.value}prevMatchInRange(e,t,i){for(let O=i;;){let i=Math.max(t,O-1e4-this.spec.unquoted.length),n=dd(this.spec,e,i,O),r=null;for(;!n.nextOverlapping().done;)r=n.value;if(r)return r;if(i==t)return null;O-=1e4}}prevMatch(e,t,i){let O=this.prevMatchInRange(e,0,t);return O||(O=this.prevMatchInRange(e,Math.max(0,i-this.spec.unquoted.length),e.doc.length)),!O||O.from==t&&O.to==i?null:O}getReplacement(e){return this.spec.unquote(this.spec.replace)}matchAll(e,t){let i=dd(this.spec,e,0,e.doc.length),O=[];for(;!i.next().done;){if(O.length>=t)return null;O.push(i.value)}return O}highlight(e,t,i,O){let n=dd(this.spec,e,Math.max(0,t-this.spec.unquoted.length),Math.min(i+this.spec.unquoted.length,e.doc.length));for(;!n.next().done;)O(n.value.from,n.value.to)}}function $d(e,t,i,O){let n;var r;return e.wholeWord&&(r=t.charCategorizer(t.selection.main.head),n=(e,t,i)=>!i[0].length||(r(fd(i.input,i.index))!=ge.Word||r(pd(i.input,i.index))!=ge.Word)&&(r(pd(i.input,i.index+i[0].length))!=ge.Word||r(fd(i.input,i.index+i[0].length))!=ge.Word)),e.test&&(n=function(e,t,i){return(O,n,r)=>(!i||i(O,n,r))&&e(r[0],t,O,n)}(e.test,t,n)),new Hc(t.doc,e.search,{ignoreCase:!e.caseSensitive,test:n},i,O)}function fd(e,t){return e.slice(P(e,t,!1),t)}function pd(e,t){return e.slice(t,P(e,t))}class Qd extends cd{nextMatch(e,t,i){let O=$d(this.spec,e,i,e.doc.length).next();return O.done&&(O=$d(this.spec,e,0,t).next()),O.done?null:O.value}prevMatchInRange(e,t,i){for(let O=1;;O++){let n=Math.max(t,i-1e4*O),r=$d(this.spec,e,n,i),s=null;for(;!r.next().done;)s=r.value;if(s&&(n==t||s.from>n+10))return s;if(n==t)return null}}prevMatch(e,t,i){return this.prevMatchInRange(e,0,t)||this.prevMatchInRange(e,i,e.doc.length)}getReplacement(e){return this.spec.unquote(this.spec.replace).replace(/\$([$&]|\d+)/g,(t,i)=>{if("&"==i)return e.match[0];if("$"==i)return"$";for(let t=i.length;t>0;t--){let O=+i.slice(0,t);if(O>0&&O=t)return null;O.push(i.value)}return O}highlight(e,t,i,O){let n=$d(this.spec,e,Math.max(0,t-250),Math.min(i+250,e.doc.length));for(;!n.next().done;)O(n.value.from,n.value.to)}}const md=ce.define(),gd=ce.define(),Sd=L.define({create:e=>new Pd(zd(e).create(),null),update(e,t){for(let i of t.effects)i.is(md)?e=new Pd(i.value.create(),e.panel):i.is(gd)&&(e=new Pd(e.query,i.value?Rd:null));return e},provide:e=>xs.from(e,e=>e.panel)});class Pd{constructor(e,t){this.query=e,this.panel=t}}const Td=Tt.mark({class:"cm-searchMatch"}),yd=Tt.mark({class:"cm-searchMatch cm-searchMatch-selected"}),vd=qi.fromClass(class{constructor(e){this.view=e,this.decorations=this.highlight(e.state.field(Sd))}update(e){let t=e.state.field(Sd);(t!=e.startState.field(Sd)||e.docChanged||e.selectionSet||e.viewportChanged)&&(this.decorations=this.highlight(t))}highlight({query:e,panel:t}){if(!t||!e.spec.valid)return Tt.none;let{view:i}=this,O=new Ze;for(let t=0,n=i.visibleRanges,r=n.length;tn[t+1].from-500;)o=n[++t].to;e.highlight(i.state,s,o,(e,t)=>{let n=i.state.selection.ranges.some(i=>i.from==e&&i.to==t);O.add(e,t,n?yd:Td)})}return O.finish()}},{decorations:e=>e.decorations});function wd(e){return t=>{let i=t.state.field(Sd,!1);return i&&i.query.spec.valid?e(t,i):Yd(t)}}const bd=wd((e,{query:t})=>{let{to:i}=e.state.selection.main,O=t.nextMatch(e.state,i,i);if(!O)return!1;let n=q.single(O.from,O.to),r=e.state.facet(ld);return e.dispatch({selection:n,effects:[Ad(e,O),r.scrollToMatch(n.main,e)],userEvent:"select.search"}),Vd(e),!0}),xd=wd((e,{query:t})=>{let{state:i}=e,{from:O}=i.selection.main,n=t.prevMatch(i,O,O);if(!n)return!1;let r=q.single(n.from,n.to),s=e.state.facet(ld);return e.dispatch({selection:r,effects:[Ad(e,n),s.scrollToMatch(r.main,e)],userEvent:"select.search"}),Vd(e),!0}),Xd=wd((e,{query:t})=>{let i=t.matchAll(e.state,1e3);return!(!i||!i.length||(e.dispatch({selection:q.create(i.map(e=>q.range(e.from,e.to))),userEvent:"select.search.matches"}),0))}),kd=wd((e,{query:t})=>{let{state:i}=e,{from:O,to:n}=i.selection.main;if(i.readOnly)return!1;let r=t.nextMatch(i,O,O);if(!r)return!1;let s,o,a=r,l=[],h=[];a.precise?a.from==O&&a.to==n&&(o=i.toText(t.getReplacement(a)),l.push({from:a.from,to:a.to,insert:o}),h.push(ar.announce.of(i.phrase("replaced match on line $",i.doc.lineAt(O).number)+"."))):a=t.nextMatch(i,a.from,a.to);let c=e.state.changes(l);return a&&(s=q.single(a.from,a.to).map(c),h.push(Ad(e,a)),h.push(i.facet(ld).scrollToMatch(s.main,e))),e.dispatch({changes:c,selection:s,effects:h,userEvent:"input.replace"}),!0}),Zd=wd((e,{query:t})=>{if(e.state.readOnly)return!1;let i=[];for(let O of t.matchAll(e.state,1e9)){let{from:e,to:n,precise:r}=O;r&&i.push({from:e,to:n,insert:t.getReplacement(O)})}if(!i.length)return!1;let O=e.state.phrase("replaced $ matches",i.length)+".";return e.dispatch({changes:i,effects:ar.announce.of(O),userEvent:"input.replace.all"}),!0});function Rd(e){return e.state.facet(ld).createPanel(e)}function zd(e,t){var i,O,n,r,s;let o=e.selection.main,a=o.empty||o.to>o.from+100?"":e.sliceDoc(o.from,o.to);if(t&&!a)return t;let l=e.facet(ld);return new hd({search:(null!==(i=null==t?void 0:t.literal)&&void 0!==i?i:l.literal)?a:a.replace(/\n/g,"\\n"),caseSensitive:null!==(O=null==t?void 0:t.caseSensitive)&&void 0!==O?O:l.caseSensitive,literal:null!==(n=null==t?void 0:t.literal)&&void 0!==n?n:l.literal,regexp:null!==(r=null==t?void 0:t.regexp)&&void 0!==r?r:l.regexp,wholeWord:null!==(s=null==t?void 0:t.wholeWord)&&void 0!==s?s:l.wholeWord})}function _d(e){let t=ys(e,Rd);return t&&t.dom.querySelector("[main-field]")}function Vd(e){let t=_d(e);t&&t==e.root.activeElement&&t.select()}const Yd=e=>{let t=e.state.field(Sd,!1);if(t&&t.panel){let i=_d(e);if(i&&i!=e.root.activeElement){let O=zd(e.state,t.query.spec);O.valid&&e.dispatch({effects:md.of(O)}),i.focus(),i.select()}}else e.dispatch({effects:[gd.of(!0),t?md.of(zd(e.state,t.query.spec)):ce.appendConfig.of(Md)]});return!0},qd=e=>{let t=e.state.field(Sd,!1);if(!t||!t.panel)return!1;let i=ys(e,Rd);return i&&i.dom.contains(e.root.activeElement)&&e.focus(),e.dispatch({effects:gd.of(!1)}),!0},Wd=[{key:"Mod-f",run:Yd,scope:"editor search-panel"},{key:"F3",run:bd,shift:xd,scope:"editor search-panel",preventDefault:!0},{key:"Mod-g",run:bd,shift:xd,scope:"editor search-panel",preventDefault:!0},{key:"Escape",run:qd,scope:"editor search-panel"},{key:"Mod-Shift-l",run:({state:e,dispatch:t})=>{let i=e.selection;if(i.ranges.length>1||i.main.empty)return!1;let{from:O,to:n}=i.main,r=[],s=0;for(let t=new Nc(e.doc,e.sliceDoc(O,n));!t.next().done;){if(r.length>1e3)return!1;t.value.from==O&&(s=r.length),r.push(q.range(t.value.from,t.value.to))}return t(e.update({selection:q.create(r,s),userEvent:"select.search.matches"})),!0}},{key:"Mod-Alt-g",run:e=>{let{state:t}=e,i=String(t.doc.lineAt(e.state.selection.main.head).number),{close:O,result:n}=function(e,t){let i,O=new Promise(e=>i=e),n=e=>function(e,t,i){let O=t.content?t.content(e,()=>s(null)):null;if(!O){if(O=tt("form"),t.input){let e=tt("input",t.input);/^(text|password|number|email|tel|url)$/.test(e.type)&&e.classList.add("cm-textfield"),e.name||(e.name="input"),O.appendChild(tt("label",(t.label||"")+": ",e))}else O.appendChild(document.createTextNode(t.label||""));O.appendChild(document.createTextNode(" ")),O.appendChild(tt("button",{class:"cm-button",type:"submit"},t.submitLabel||"OK"))}let n="FORM"==O.nodeName?[O]:O.querySelectorAll("form");for(let e=0;e{27==e.keyCode?(e.preventDefault(),s(null)):13==e.keyCode&&(e.preventDefault(),s(t))}),t.addEventListener("submit",e=>{e.preventDefault(),s(t)})}let r=tt("div",O,tt("button",{onclick:()=>s(null),"aria-label":e.state.phrase("close"),class:"cm-dialog-close",type:"button"},["×"]));function s(t){r.contains(r.ownerDocument.activeElement)&&e.focus(),i(t)}return t.class&&(r.className=t.class),r.classList.add("cm-dialog"),{dom:r,top:t.top,mount:()=>{if(t.focus){let e;e="string"==typeof t.focus?O.querySelector(t.focus):O.querySelector("input")||O.querySelector("button"),e&&"select"in e?e.select():e&&"focus"in e&&e.focus()}}}}(e,t,i);e.state.field(Xs,!1)?e.dispatch({effects:ks.of(n)}):e.dispatch({effects:ce.appendConfig.of(Xs.init(()=>[n]))});let r=Zs.of(n);return{close:r,result:O.then(t=>((e.win.queueMicrotask||(t=>e.win.setTimeout(t,10)))(()=>{e.state.field(Xs).indexOf(n)>-1&&e.dispatch({effects:r})}),t))}}(e,{label:t.phrase("Go to line"),input:{type:"text",name:"line",value:i},focus:!0,submitLabel:t.phrase("go")});return n.then(i=>{let n=i&&/^([+-])?(\d+)?(:\d+)?(%)?$/.exec(i.elements.line.value);if(!n)return void e.dispatch({effects:O});let r=t.doc.lineAt(t.selection.main.head),[,s,o,a,l]=n,h=a?+a.slice(1):0,c=o?+o:r.number;if(o&&l){let e=c/100;s&&(e=e*("-"==s?-1:1)+r.number/t.doc.lines),c=Math.round(t.doc.lines*e)}else o&&s&&(c=c*("-"==s?-1:1)+r.number);let d=t.doc.line(Math.max(1,Math.min(t.doc.lines,c))),u=q.cursor(d.from+Math.max(0,Math.min(h,d.length)));e.dispatch({effects:[O,ar.scrollIntoView(u.from,{y:"center"})],selection:u})}),!0}},{key:"Mod-d",run:({state:e,dispatch:t})=>{let{ranges:i}=e.selection;if(i.some(e=>e.from===e.to))return(({state:e,dispatch:t})=>{let{selection:i}=e,O=q.create(i.ranges.map(t=>e.wordAt(t.head)||q.cursor(t.head)),i.mainIndex);return!O.eq(i)&&(t(e.update({selection:O})),!0)})({state:e,dispatch:t});let O=e.sliceDoc(i[0].from,i[0].to);if(e.selection.ranges.some(t=>e.sliceDoc(t.from,t.to)!=O))return!1;let n=function(e,t){let{main:i,ranges:O}=e.selection,n=e.wordAt(i.head),r=n&&n.from==i.from&&n.to==i.to;for(let i=!1,n=new Nc(e.doc,t,O[O.length-1].to);;){if(n.next(),!n.done){if(i&&O.some(e=>e.from==n.value.from))continue;if(r){let t=e.wordAt(n.value.from);if(!t||t.from!=n.value.from||t.to!=n.value.to)continue}return n.value}if(i)return null;n=new Nc(e.doc,t,0,Math.max(0,O[O.length-1].from-1)),i=!0}}(e,O);return!!n&&(t(e.update({selection:e.selection.addRange(q.range(n.from,n.to),!1),effects:ar.scrollIntoView(n.to)})),!0)},preventDefault:!0}];class Ud{constructor(e){this.view=e;let t=this.query=e.state.field(Sd).query.spec;function i(e,t,i){return tt("button",{class:"cm-button",name:e,onclick:t,type:"button"},i)}this.commit=this.commit.bind(this),this.searchField=tt("input",{value:t.search,placeholder:jd(e,"Find"),"aria-label":jd(e,"Find"),class:"cm-textfield",name:"search",form:"","main-field":"true",onchange:this.commit,onkeyup:this.commit}),this.replaceField=tt("input",{value:t.replace,placeholder:jd(e,"Replace"),"aria-label":jd(e,"Replace"),class:"cm-textfield",name:"replace",form:"",onchange:this.commit,onkeyup:this.commit}),this.caseField=tt("input",{type:"checkbox",name:"case",form:"",checked:t.caseSensitive,onchange:this.commit}),this.reField=tt("input",{type:"checkbox",name:"re",form:"",checked:t.regexp,onchange:this.commit}),this.wordField=tt("input",{type:"checkbox",name:"word",form:"",checked:t.wholeWord,onchange:this.commit}),this.dom=tt("div",{onkeydown:e=>this.keydown(e),class:"cm-search"},[this.searchField,i("next",()=>bd(e),[jd(e,"next")]),i("prev",()=>xd(e),[jd(e,"previous")]),i("select",()=>Xd(e),[jd(e,"all")]),tt("label",null,[this.caseField,jd(e,"match case")]),tt("label",null,[this.reField,jd(e,"regexp")]),tt("label",null,[this.wordField,jd(e,"by word")]),...e.state.readOnly?[]:[tt("br"),this.replaceField,i("replace",()=>kd(e),[jd(e,"replace")]),i("replaceAll",()=>Zd(e),[jd(e,"replace all")])],tt("button",{name:"close",onclick:()=>qd(e),"aria-label":jd(e,"close"),type:"button"},["×"])])}commit(){let e=new hd({search:this.searchField.value,caseSensitive:this.caseField.checked,regexp:this.reField.checked,wholeWord:this.wordField.checked,replace:this.replaceField.value});e.eq(this.query)||(this.query=e,this.view.dispatch({effects:md.of(e)}))}keydown(e){var t,i;i=e,Tr(mr((t=this.view).state),i,t,"search-panel")?e.preventDefault():13==e.keyCode&&e.target==this.searchField?(e.preventDefault(),(e.shiftKey?xd:bd)(this.view)):13==e.keyCode&&e.target==this.replaceField&&(e.preventDefault(),kd(this.view))}update(e){for(let t of e.transactions)for(let e of t.effects)e.is(md)&&!e.value.eq(this.query)&&this.setQuery(e.value)}setQuery(e){this.query=e,this.searchField.value=e.search,this.replaceField.value=e.replace,this.caseField.checked=e.caseSensitive,this.reField.checked=e.regexp,this.wordField.checked=e.wholeWord}mount(){this.searchField.select()}get pos(){return 80}get top(){return this.view.state.facet(ld).top}}function jd(e,t){return e.state.phrase(t)}const Gd=30,Cd=/[\s\.,:;?!]/;function Ad(e,{from:t,to:i}){let O=e.state.doc.lineAt(t),n=e.state.doc.lineAt(i).to,r=Math.max(O.from,t-Gd),s=Math.min(n,i+Gd),o=e.state.sliceDoc(r,s);if(r!=O.from)for(let e=0;eo.length-Gd;e--)if(!Cd.test(o[e-1])&&Cd.test(o[e])){o=o.slice(0,e);break}return ar.announce.of(`${e.state.phrase("current match")}. ${o} ${e.state.phrase("on line")} ${O.number}.`)}const Ed=ar.baseTheme({".cm-panel.cm-search":{padding:"2px 6px 4px",position:"relative","& [name=close]":{position:"absolute",top:"0",right:"4px",backgroundColor:"inherit",border:"none",font:"inherit",padding:0,margin:0},"& input, & button, & label":{margin:".2em .6em .2em 0"},"& input[type=checkbox]":{marginRight:".2em"},"& label":{fontSize:"80%",whiteSpace:"pre"}},"&light .cm-searchMatch":{backgroundColor:"#ffff0054"},"&dark .cm-searchMatch":{backgroundColor:"#00ffff8a"},"&light .cm-searchMatch-selected":{backgroundColor:"#ff6a0054"},"&dark .cm-searchMatch-selected":{backgroundColor:"#ff00ff8a"}}),Md=[Sd,N.low(vd),Ed];class Dd{constructor(e,t,i,O){this.state=e,this.pos=t,this.explicit=i,this.view=O,this.abortListeners=[],this.abortOnDocChange=!1}tokenBefore(e){let t=za(this.state).resolveInner(this.pos,-1);for(;t&&e.indexOf(t.name)<0;)t=t.parent;return t?{from:t.from,to:this.pos,text:this.state.sliceDoc(t.from,this.pos),type:t.type}:null}matchBefore(e){let t=this.state.doc.lineAt(this.pos),i=Math.max(t.from,this.pos-250),O=t.text.slice(i-t.from,this.pos-t.from),n=O.search(Hd(e,!1));return n<0?null:{from:i+n,to:this.pos,text:O.slice(n)}}get aborted(){return null==this.abortListeners}addEventListener(e,t,i){"abort"==e&&this.abortListeners&&(this.abortListeners.push(t),i&&i.onDocChange&&(this.abortOnDocChange=!0))}}function Ld(e){let t=Object.keys(e).join(""),i=/\w/.test(t);return i&&(t=t.replace(/\w/g,"")),`[${i?"\\w":""}${t.replace(/[^\w\s]/g,"\\$&")}]`}function Id(e){let t=e.map(e=>"string"==typeof e?{label:e}:e),[i,O]=t.every(e=>/^\w+$/.test(e.label))?[/\w*$/,/\w+$/]:function(e){let t=Object.create(null),i=Object.create(null);for(let{label:O}of e){t[O[0]]=!0;for(let e=1;e{let n=e.matchBefore(O);return n||e.explicit?{from:n?n.from:e.pos,options:t,validFor:i}:null}}function Nd(e,t){return i=>{for(let t=za(i.state).resolveInner(i.pos,-1);t;t=t.parent){if(e.indexOf(t.name)>-1)return null;if(t.type.isTop)break}return t(i)}}class Bd{constructor(e,t,i,O){this.completion=e,this.source=t,this.match=i,this.score=O}}function Fd(e){return e.selection.main.from}function Hd(e,t){var i;let{source:O}=e,n=t&&"^"!=O[0],r="$"!=O[O.length-1];return n||r?new RegExp(`${n?"^":""}(?:${O})${r?"$":""}`,null!==(i=e.flags)&&void 0!==i?i:e.ignoreCase?"i":""):e}const Kd=ae.define();function Jd(e,t,i,O){let{main:n}=e.selection,r=i-n.from,s=O-n.from;return{...e.changeByRange(o=>{if(o!=n&&i!=O&&e.sliceDoc(o.from+r,o.from+s)!=e.sliceDoc(i,O))return{range:o};let a=e.toText(t);return{changes:{from:o.from+r,to:O==n.from?o.to:o.from+s,insert:a},range:q.cursor(o.from+r+a.length)}}),scrollIntoView:!0,userEvent:"input.complete"}}const eu=new WeakMap;function tu(e){if(!Array.isArray(e))return e;let t=eu.get(e);return t||eu.set(e,t=Id(e)),t}const iu=ce.define(),Ou=ce.define();class nu{constructor(e){this.pattern=e,this.chars=[],this.folded=[],this.any=[],this.precise=[],this.byWord=[],this.score=0,this.matched=[];for(let t=0;t=48&&a<=57||a>=97&&a<=122?2:a>=65&&a<=90?1:0:(m=y(a))!=m.toLowerCase()?1:m!=m.toUpperCase()?2:0;(!O||1==g&&f||0==Q&&0!=g)&&(t[h]==a||i[h]==a&&(c=!0)?r[h++]=O:r.length&&(p=!1)),Q=g,O+=v(a)}return h==o&&0==r[0]&&p?this.result((c?-200:0)-100,r,e):d==o&&0==u?this.ret(-200-e.length+($==e.length?0:-100),[0,$]):s>-1?this.ret(-700-e.length,[s,s+this.pattern.length]):d==o?this.ret(-900-e.length,[u,$]):h==o?this.result((c?-200:0)-100-700+(p?0:-1100),r,e):2==t.length?null:this.result((O[0]?-700:0)-200-1100,O,e)}result(e,t,i){let O=[],n=0;for(let e of t){let t=e+(this.astral?v(T(i,e)):1);n&&O[n-1]==e?O[n-1]=t:(O[n++]=e,O[n++]=t)}return this.ret(e-i.length,O)}}class ru{constructor(e){this.pattern=e,this.matched=[],this.score=0,this.folded=e.toLowerCase()}match(e){if(e.lengthye(e,{activateOnTyping:!0,activateOnCompletion:()=>!1,activateOnTypingDelay:100,selectOnOpen:!0,override:null,closeOnBlur:!0,maxRenderedOptions:100,defaultKeymap:!0,tooltipClass:()=>"",optionClass:()=>"",aboveCursor:!1,icons:!0,addToOptions:[],positionInfo:au,filterStrict:!1,compareCompletions:(e,t)=>(e.sortText||e.label).localeCompare(t.sortText||t.label),interactionDelay:75,updateSyncTime:100},{defaultKeymap:(e,t)=>e&&t,closeOnBlur:(e,t)=>e&&t,icons:(e,t)=>e&&t,tooltipClass:(e,t)=>i=>ou(e(i),t(i)),optionClass:(e,t)=>i=>ou(e(i),t(i)),addToOptions:(e,t)=>e.concat(t),filterStrict:(e,t)=>e||t})});function ou(e,t){return e?t?e+" "+t:e:t}function au(e,t,i,O,n,r){let s,o,a=e.textDirection==Kt.RTL,l=a,h=!1,c="top",d=t.left-n.left,u=n.right-t.right,$=O.right-O.left,f=O.bottom-O.top;if(l&&d=f||e>t.top?s=i.bottom-t.top:(c="bottom",s=t.bottom-i.top)}return{style:`${c}: ${s/((t.bottom-t.top)/r.offsetHeight)}px; max-width: ${o/((t.right-t.left)/r.offsetWidth)}px`,class:"cm-completionInfo-"+(h?a?"left-narrow":"right-narrow":l?"left":"right")}}const lu=ce.define();function hu(e,t,i){if(e<=i)return{from:0,to:e};if(t<0&&(t=0),t<=e>>1){let e=Math.floor(t/i);return{from:e*i,to:(e+1)*i}}let O=Math.ceil((e-t)/i);return{from:e-O*i,to:e-(O-1)*i}}class cu{constructor(e,t,i){this.view=e,this.stateField=t,this.applyCompletion=i,this.info=null,this.infoDestroy=null,this.placeInfoReq={read:()=>this.measureInfo(),write:e=>this.placeInfo(e),key:this},this.space=null,this.currentClass="";let O=e.state.field(t),{options:n,selected:r}=O.open,s=e.state.facet(su);this.optionContent=function(e){let t=e.addToOptions.slice();return e.icons&&t.push({render(e){let t=document.createElement("div");return t.classList.add("cm-completionIcon"),e.type&&t.classList.add(...e.type.split(/\s+/g).map(e=>"cm-completionIcon-"+e)),t.setAttribute("aria-hidden","true"),t},position:20}),t.push({render(e,t,i,O){let n=document.createElement("span");n.className="cm-completionLabel";let r=e.displayLabel||e.label,s=0;for(let e=0;es&&n.appendChild(document.createTextNode(r.slice(s,t)));let o=n.appendChild(document.createElement("span"));o.appendChild(document.createTextNode(r.slice(t,i))),o.className="cm-completionMatchedText",s=i}return se.position-t.position).map(e=>e.render)}(s),this.optionClass=s.optionClass,this.tooltipClass=s.tooltipClass,this.range=hu(n.length,r,s.maxRenderedOptions),this.dom=document.createElement("div"),this.dom.className="cm-tooltip-autocomplete",this.updateTooltipClass(e.state),this.dom.addEventListener("mousedown",i=>{let{options:O}=e.state.field(t).open;for(let t,n=i.target;n&&n!=this.dom;n=n.parentNode)if("LI"==n.nodeName&&(t=/-(\d+)$/.exec(n.id))&&+t[1]this.list.lastChild.getBoundingClientRect().bottom?this.range.to:null;null!=t&&(e.dispatch({effects:lu.of(t)}),i.preventDefault())}}),this.dom.addEventListener("focusout",t=>{let i=e.state.field(this.stateField,!1);i&&i.tooltip&&e.state.facet(su).closeOnBlur&&t.relatedTarget!=e.contentDOM&&e.dispatch({effects:Ou.of(null)})}),this.showOptions(n,O.id)}mount(){this.updateSel()}showOptions(e,t){this.list&&this.list.remove(),this.list=this.dom.appendChild(this.createListBox(e,t,this.range)),this.list.addEventListener("scroll",()=>{this.info&&this.view.requestMeasure(this.placeInfoReq)})}update(e){var t;let i=e.state.field(this.stateField),O=e.startState.field(this.stateField);if(this.updateTooltipClass(e.state),i!=O){let{options:n,selected:r,disabled:s}=i.open;O.open&&O.open.options==n||(this.range=hu(n.length,r,e.state.facet(su).maxRenderedOptions),this.showOptions(n,i.id)),this.updateSel(),s!=(null===(t=O.open)||void 0===t?void 0:t.disabled)&&this.dom.classList.toggle("cm-tooltip-autocomplete-disabled",!!s)}}updateTooltipClass(e){let t=this.tooltipClass(e);if(t!=this.currentClass){for(let e of this.currentClass.split(" "))e&&this.dom.classList.remove(e);for(let e of t.split(" "))e&&this.dom.classList.add(e);this.currentClass=t}}positioned(e){this.space=e,this.info&&this.view.requestMeasure(this.placeInfoReq)}updateSel(){let e=this.view.state.field(this.stateField),t=e.open;(t.selected>-1&&t.selected=this.range.to)&&(this.range=hu(t.options.length,t.selected,this.view.state.facet(su).maxRenderedOptions),this.showOptions(t.options,e.id));let i=this.updateSelectedOption(t.selected);if(i){this.destroyInfo();let{completion:O}=t.options[t.selected],{info:n}=O;if(!n)return;let r="string"==typeof n?document.createTextNode(n):n(O);if(!r)return;"then"in r?r.then(t=>{t&&this.view.state.field(this.stateField,!1)==e&&this.addInfoPane(t,O)}).catch(e=>zi(this.view.state,e,"completion info")):(this.addInfoPane(r,O),i.setAttribute("aria-describedby",this.info.id))}}addInfoPane(e,t){this.destroyInfo();let i=this.info=document.createElement("div");if(i.className="cm-tooltip cm-completionInfo",i.id="cm-completionInfo-"+Math.floor(65535*Math.random()).toString(16),null!=e.nodeType)i.appendChild(e),this.infoDestroy=null;else{let{dom:t,destroy:O}=e;i.appendChild(t),this.infoDestroy=O||null}this.dom.appendChild(i),this.view.requestMeasure(this.placeInfoReq)}updateSelectedOption(e){let t=null;for(let i=this.list.firstChild,O=this.range.from;i;i=i.nextSibling,O++)"LI"==i.nodeName&&i.id?O==e?i.hasAttribute("aria-selected")||(i.setAttribute("aria-selected","true"),t=i):i.hasAttribute("aria-selected")&&(i.removeAttribute("aria-selected"),i.removeAttribute("aria-describedby")):O--;return t&&function(e,t){let i=e.getBoundingClientRect(),O=t.getBoundingClientRect(),n=i.height/e.offsetHeight;O.topi.bottom&&(e.scrollTop+=(O.bottom-i.bottom)/n)}(this.list,t),t}measureInfo(){let e=this.dom.querySelector("[aria-selected]");if(!e||!this.info)return null;let t=this.dom.getBoundingClientRect(),i=this.info.getBoundingClientRect(),O=e.getBoundingClientRect(),n=this.space;if(!n){let e=this.dom.ownerDocument.documentElement;n={left:0,top:0,right:e.clientWidth,bottom:e.clientHeight}}return O.top>Math.min(n.bottom,t.bottom)-10||O.bottom{e.target==O&&e.preventDefault()});let n=null;for(let r=i.from;ri.from||0==i.from)&&(n=e,"string"!=typeof a&&a.header?O.appendChild(a.header(a)):O.appendChild(document.createElement("completion-section")).textContent=e)}const l=O.appendChild(document.createElement("li"));l.id=t+"-"+r,l.setAttribute("role","option");let h=this.optionClass(s);h&&(l.className=h);for(let e of this.optionContent){let t=e(s,this.view.state,this.view,o);t&&l.appendChild(t)}}return i.from&&O.classList.add("cm-completionListIncompleteTop"),i.tonew cu(i,e,t)}function uu(e){return 100*(e.boost||0)+(e.apply?10:0)+(e.info?5:0)+(e.type?1:0)}class $u{constructor(e,t,i,O,n,r){this.options=e,this.attrs=t,this.tooltip=i,this.timestamp=O,this.selected=n,this.disabled=r}setSelected(e,t){return e==this.selected||e>=this.options.length?this:new $u(this.options,mu(t,e),this.tooltip,this.timestamp,e,this.disabled)}static build(e,t,i,O,n,r){if(O&&!r&&e.some(e=>e.isPending))return O.setDisabled();let s=function(e,t){let i=[],O=null,n=null,r=e=>{i.push(e);let{section:t}=e.completion;if(t){O||(O=[]);let e="string"==typeof t?t:t.name;O.some(t=>t.name==e)||O.push("string"==typeof t?{name:e}:t)}},s=t.facet(su);for(let O of e)if(O.hasResult()){let e=O.result.getMatch;if(!1===O.result.filter)for(let t of O.result.options)r(new Bd(t,O.source,e?e(t):[],1e9-i.length));else{let i,o=t.sliceDoc(O.from,O.to),a=s.filterStrict?new ru(o):new nu(o);for(let t of O.result.options)if(i=a.match(t.label)){let s=t.displayLabel?e?e(t,i.matched):[]:i.matched,o=i.score+(t.boost||0);if(r(new Bd(t,O.source,s,o)),"object"==typeof t.section&&"dynamic"===t.section.rank){let{name:e}=t.section;n||(n=Object.create(null)),n[e]=Math.max(o,n[e]||-1e9)}}}}if(O){let e=Object.create(null),t=0,r=(e,t)=>("dynamic"===e.rank&&"dynamic"===t.rank?n[t.name]-n[e.name]:0)||("number"==typeof e.rank?e.rank:1e9)-("number"==typeof t.rank?t.rank:1e9)||(e.namet.score-e.score||l(e.completion,t.completion))){let t=e.completion;!a||a.label!=t.label||a.detail!=t.detail||null!=a.type&&null!=t.type&&a.type!=t.type||a.apply!=t.apply||a.boost!=t.boost?o.push(e):uu(e.completion)>uu(a)&&(o[o.length-1]=e),a=e.completion}return o}(e,t);if(!s.length)return O&&e.some(e=>e.isPending)?O.setDisabled():null;let o=t.facet(su).selectOnOpen?0:-1;if(O&&O.selected!=o&&-1!=O.selected){let e=O.options[O.selected].completion;for(let t=0;tt.hasResult()?Math.min(e,t.from):e,1e8),create:bu,above:n.aboveCursor},O?O.timestamp:Date.now(),o,!1)}map(e){return new $u(this.options,this.attrs,{...this.tooltip,pos:e.mapPos(this.tooltip.pos)},this.timestamp,this.selected,this.disabled)}setDisabled(){return new $u(this.options,this.attrs,this.tooltip,this.timestamp,this.selected,!0)}}class fu{constructor(e,t,i){this.active=e,this.id=t,this.open=i}static start(){return new fu(gu,"cm-ac-"+Math.floor(2e6*Math.random()).toString(36),null)}update(e){let{state:t}=e,i=t.facet(su),O=(i.override||t.languageDataAt("autocomplete",Fd(t)).map(tu)).map(t=>(this.active.find(e=>e.source==t)||new Pu(t,this.active.some(e=>0!=e.state)?1:0)).update(e,i));O.length==this.active.length&&O.every((e,t)=>e==this.active[t])&&(O=this.active);let n=this.open,r=e.effects.some(e=>e.is(yu));n&&e.docChanged&&(n=n.map(e.changes)),e.selection||O.some(t=>t.hasResult()&&e.changes.touchesRange(t.from,t.to))||!function(e,t){if(e==t)return!0;for(let i=0,O=0;;){for(;ie.isPending)&&(n=null),!n&&O.every(e=>!e.isPending)&&O.some(e=>e.hasResult())&&(O=O.map(e=>e.hasResult()?new Pu(e.source,0):e));for(let t of e.effects)t.is(lu)&&(n=n&&n.setSelected(t.value,this.id));return O==this.active&&n==this.open?this:new fu(O,this.id,n)}get tooltip(){return this.open?this.open.tooltip:null}get attrs(){return this.open?this.open.attrs:this.active.length?pu:Qu}}const pu={"aria-autocomplete":"list"},Qu={};function mu(e,t){let i={"aria-autocomplete":"list","aria-haspopup":"listbox","aria-controls":e};return t>-1&&(i["aria-activedescendant"]=e+"-"+t),i}const gu=[];function Su(e,t){if(e.isUserEvent("input.complete")){let i=e.annotation(Kd);if(i&&t.activateOnCompletion(i))return 12}let i=e.isUserEvent("input.type");return i&&t.activateOnTyping?5:i?1:e.isUserEvent("delete.backward")?2:e.selection?8:e.docChanged?16:0}class Pu{constructor(e,t,i=!1){this.source=e,this.state=t,this.explicit=i}hasResult(){return!1}get isPending(){return 1==this.state}update(e,t){let i=Su(e,t),O=this;(8&i||16&i&&this.touches(e))&&(O=new Pu(O.source,0)),4&i&&0==O.state&&(O=new Pu(this.source,1)),O=O.updateFor(e,i);for(let t of e.effects)if(t.is(iu))O=new Pu(O.source,1,t.value);else if(t.is(Ou))O=new Pu(O.source,0);else if(t.is(yu))for(let e of t.value)e.source==O.source&&(O=e);return O}updateFor(e,t){return this.map(e.changes)}map(e){return this}touches(e){return e.changes.touchesRange(Fd(e.state))}}class Tu extends Pu{constructor(e,t,i,O,n,r){super(e,3,t),this.limit=i,this.result=O,this.from=n,this.to=r}hasResult(){return!0}updateFor(e,t){var i;if(!(3&t))return this.map(e.changes);let O=this.result;O.map&&!e.changes.empty&&(O=O.map(O,e.changes));let n=e.changes.mapPos(this.from),r=e.changes.mapPos(this.to,1),s=Fd(e.state);if(s>r||!O||2&t&&(Fd(e.startState)==this.from||se.map(e=>e.map(t))}),vu=L.define({create:()=>fu.start(),update:(e,t)=>e.update(t),provide:e=>[ds.from(e,e=>e.tooltip),ar.contentAttributes.from(e,e=>e.attrs)]});function wu(e,t){const i=t.completion.apply||t.completion.label;let O=e.state.field(vu).active.find(e=>e.source==t.source);return O instanceof Tu&&("string"==typeof i?e.dispatch({...Jd(e.state,i,O.from,O.to),annotations:Kd.of(t.completion)}):i(e,t.completion,O.from,O.to),!0)}const bu=du(vu,wu);function xu(e,t="option"){return i=>{let O=i.state.field(vu,!1);if(!O||!O.open||O.open.disabled||Date.now()-O.open.timestamp-1?O.open.selected+r*(e?1:-1):e?0:s-1;return o<0?o="page"==t?0:s-1:o>=s&&(o="page"==t?s-1:0),i.dispatch({effects:lu.of(o)}),!0}}const Xu=e=>!!e.state.field(vu,!1)&&(e.dispatch({effects:iu.of(!0)}),!0);class ku{constructor(e,t){this.active=e,this.context=t,this.time=Date.now(),this.updates=[],this.done=void 0}}const Zu=qi.fromClass(class{constructor(e){this.view=e,this.debounceUpdate=-1,this.running=[],this.debounceAccept=-1,this.pendingStart=!1,this.composing=0;for(let t of e.state.field(vu).active)t.isPending&&this.startQuery(t)}update(e){let t=e.state.field(vu),i=e.state.facet(su);if(!e.selectionSet&&!e.docChanged&&e.startState.field(vu)==t)return;let O=e.transactions.some(e=>{let t=Su(e,i);return 8&t||(e.selection||e.docChanged)&&!(3&t)});for(let t=0;t50&&Date.now()-i.time>1e3){for(let e of i.context.abortListeners)try{e()}catch(e){zi(this.view.state,e)}i.context.abortListeners=null,this.running.splice(t--,1)}else i.updates.push(...e.transactions)}this.debounceUpdate>-1&&clearTimeout(this.debounceUpdate),e.transactions.some(e=>e.effects.some(e=>e.is(iu)))&&(this.pendingStart=!0);let n=this.pendingStart?50:i.activateOnTypingDelay;if(this.debounceUpdate=t.active.some(e=>e.isPending&&!this.running.some(t=>t.active.source==e.source))?setTimeout(()=>this.startUpdate(),n):-1,0!=this.composing)for(let t of e.transactions)t.isUserEvent("input.type")?this.composing=2:2==this.composing&&t.selection&&(this.composing=3)}startUpdate(){this.debounceUpdate=-1,this.pendingStart=!1;let{state:e}=this.view,t=e.field(vu);for(let e of t.active)e.isPending&&!this.running.some(t=>t.active.source==e.source)&&this.startQuery(e);this.running.length&&t.open&&t.open.disabled&&(this.debounceAccept=setTimeout(()=>this.accept(),this.view.state.facet(su).updateSyncTime))}startQuery(e){let{state:t}=this.view,i=Fd(t),O=new Dd(t,i,e.explicit,this.view),n=new ku(e,O);this.running.push(n),Promise.resolve(e.source(O)).then(e=>{n.context.aborted||(n.done=e||null,this.scheduleAccept())},e=>{this.view.dispatch({effects:Ou.of(null)}),zi(this.view.state,e)})}scheduleAccept(){this.running.every(e=>void 0!==e.done)?this.accept():this.debounceAccept<0&&(this.debounceAccept=setTimeout(()=>this.accept(),this.view.state.facet(su).updateSyncTime))}accept(){var e;this.debounceAccept>-1&&clearTimeout(this.debounceAccept),this.debounceAccept=-1;let t=[],i=this.view.state.facet(su),O=this.view.state.field(vu);for(let n=0;ne.source==r.active.source);if(s&&s.isPending)if(null==r.done){let e=new Pu(r.active.source,0);for(let t of r.updates)e=e.update(t,i);e.isPending||t.push(e)}else this.startQuery(s)}(t.length||O.open&&O.open.disabled)&&this.view.dispatch({effects:yu.of(t)})}},{eventHandlers:{blur(e){let t=this.view.state.field(vu,!1);if(t&&t.tooltip&&this.view.state.facet(su).closeOnBlur){let i=t.open&&Ss(this.view,t.open.tooltip);i&&i.dom.contains(e.relatedTarget)||setTimeout(()=>this.view.dispatch({effects:Ou.of(null)}),10)}},compositionstart(){this.composing=1},compositionend(){3==this.composing&&setTimeout(()=>this.view.dispatch({effects:iu.of(!1)}),20),this.composing=0}}}),Ru="object"==typeof navigator&&/Win/.test(navigator.platform),zu=N.highest(ar.domEventHandlers({keydown(e,t){let i=t.state.field(vu,!1);if(!i||!i.open||i.open.disabled||i.open.selected<0||e.key.length>1||e.ctrlKey&&(!Ru||!e.altKey)||e.metaKey)return!1;let O=i.open.options[i.open.selected],n=i.active.find(e=>e.source==O.source),r=O.completion.commitCharacters||n.result.commitCharacters;return r&&r.indexOf(e.key)>-1&&wu(t,O),!1}})),_u=ar.baseTheme({".cm-tooltip.cm-tooltip-autocomplete":{"& > ul":{fontFamily:"monospace",whiteSpace:"nowrap",overflow:"hidden auto",maxWidth_fallback:"700px",maxWidth:"min(700px, 95vw)",minWidth:"250px",maxHeight:"10em",height:"100%",listStyle:"none",margin:0,padding:0,"& > li, & > completion-section":{padding:"1px 3px",lineHeight:1.2},"& > li":{overflowX:"hidden",textOverflow:"ellipsis",cursor:"pointer"},"& > completion-section":{display:"list-item",borderBottom:"1px solid silver",paddingLeft:"0.5em",opacity:.7}}},"&light .cm-tooltip-autocomplete ul li[aria-selected]":{background:"#17c",color:"white"},"&light .cm-tooltip-autocomplete-disabled ul li[aria-selected]":{background:"#777"},"&dark .cm-tooltip-autocomplete ul li[aria-selected]":{background:"#347",color:"white"},"&dark .cm-tooltip-autocomplete-disabled ul li[aria-selected]":{background:"#444"},".cm-completionListIncompleteTop:before, .cm-completionListIncompleteBottom:after":{content:'"···"',opacity:.5,display:"block",textAlign:"center",cursor:"pointer"},".cm-tooltip.cm-completionInfo":{position:"absolute",padding:"3px 9px",width:"max-content",maxWidth:"400px",boxSizing:"border-box",whiteSpace:"pre-line"},".cm-completionInfo.cm-completionInfo-left":{right:"100%"},".cm-completionInfo.cm-completionInfo-right":{left:"100%"},".cm-completionInfo.cm-completionInfo-left-narrow":{right:"30px"},".cm-completionInfo.cm-completionInfo-right-narrow":{left:"30px"},"&light .cm-snippetField":{backgroundColor:"#00000022"},"&dark .cm-snippetField":{backgroundColor:"#ffffff22"},".cm-snippetFieldPosition":{verticalAlign:"text-top",width:0,height:"1.15em",display:"inline-block",margin:"0 -0.7px -.7em",borderLeft:"1.4px dotted #888"},".cm-completionMatchedText":{textDecoration:"underline"},".cm-completionDetail":{marginLeft:"0.5em",fontStyle:"italic"},".cm-completionIcon":{fontSize:"90%",width:".8em",display:"inline-block",textAlign:"center",paddingRight:".6em",opacity:"0.6",boxSizing:"content-box"},".cm-completionIcon-function, .cm-completionIcon-method":{"&:after":{content:"'ƒ'"}},".cm-completionIcon-class":{"&:after":{content:"'○'"}},".cm-completionIcon-interface":{"&:after":{content:"'◌'"}},".cm-completionIcon-variable":{"&:after":{content:"'𝑥'"}},".cm-completionIcon-constant":{"&:after":{content:"'𝐶'"}},".cm-completionIcon-type":{"&:after":{content:"'𝑡'"}},".cm-completionIcon-enum":{"&:after":{content:"'∪'"}},".cm-completionIcon-property":{"&:after":{content:"'□'"}},".cm-completionIcon-keyword":{"&:after":{content:"'🔑︎'"}},".cm-completionIcon-namespace":{"&:after":{content:"'▢'"}},".cm-completionIcon-text":{"&:after":{content:"'abc'",fontSize:"50%",verticalAlign:"middle"}}});class Vu{constructor(e,t,i,O){this.field=e,this.line=t,this.from=i,this.to=O}}class Yu{constructor(e,t,i){this.field=e,this.from=t,this.to=i}map(e){let t=e.mapPos(this.from,-1,b.TrackDel),i=e.mapPos(this.to,1,b.TrackDel);return null==t||null==i?null:new Yu(this.field,t,i)}}class qu{constructor(e,t){this.lines=e,this.fieldPositions=t}instantiate(e,t){let i=[],O=[t],n=e.doc.lineAt(t),r=/^\s*/.exec(n.text)[0];for(let n of this.lines){if(i.length){let i=r,s=/^\t*/.exec(n)[0].length;for(let t=0;tnew Yu(e.field,O[e.line]+e.from,O[e.line]+e.to));return{text:i,ranges:s}}static parse(e){let t,i=[],O=[],n=[];for(let r of e.split(/\r\n?|\n/)){for(;t=/[#$]\{(?:(\d+)(?::([^{}]*))?|((?:\\[{}]|[^{}])*))\}/.exec(r);){let e=t[1]?+t[1]:null,s=t[2]||t[3]||"",o=-1;0===e&&(e=1e9);let a=s.replace(/\\[{}]/g,e=>e[1]);for(let t=0;t=o&&e.field++}for(let e of n)if(e.line==O.length&&e.from>t.index){let i=t[2]?3+(t[1]||"").length:2;e.from-=i,e.to-=i}n.push(new Vu(o,O.length,t.index,t.index+a.length)),r=r.slice(0,t.index)+s+r.slice(t.index+t[0].length)}r=r.replace(/\\([{}])/g,(e,t,i)=>{for(let e of n)e.line==O.length&&e.from>i&&(e.from--,e.to--);return t}),O.push(r)}return new qu(O,n)}}let Wu=Tt.widget({widget:new class extends St{toDOM(){let e=document.createElement("span");return e.className="cm-snippetFieldPosition",e}ignoreEvent(){return!1}}}),Uu=Tt.mark({class:"cm-snippetField"});class ju{constructor(e,t){this.ranges=e,this.active=t,this.deco=Tt.set(e.map(e=>(e.from==e.to?Wu:Uu).range(e.from,e.to)),!0)}map(e){let t=[];for(let i of this.ranges){let O=i.map(e);if(!O)return null;t.push(O)}return new ju(t,this.active)}selectionInsideField(e){return e.ranges.every(e=>this.ranges.some(t=>t.field==this.active&&t.from<=e.from&&t.to>=e.to))}}const Gu=ce.define({map:(e,t)=>e&&e.map(t)}),Cu=ce.define(),Au=L.define({create:()=>null,update(e,t){for(let i of t.effects){if(i.is(Gu))return i.value;if(i.is(Cu)&&e)return new ju(e.ranges,i.value)}return e&&t.docChanged&&(e=e.map(t.changes)),e&&t.selection&&!e.selectionInsideField(t.selection)&&(e=null),e},provide:e=>ar.decorations.from(e,e=>e?e.deco:Tt.none)});function Eu(e,t){return q.create(e.filter(e=>e.field==t).map(e=>q.range(e.from,e.to)))}function Mu(e){let t=qu.parse(e);return(e,i,O,n)=>{let{text:r,ranges:s}=t.instantiate(e.state,O),{main:o}=e.state.selection,a={changes:{from:O,to:n==o.from?o.to:n,insert:c.of(r)},scrollIntoView:!0,annotations:i?[Kd.of(i),de.userEvent.of("input.complete")]:void 0};if(s.length&&(a.selection=Eu(s,0)),s.some(e=>e.field>0)){let t=new ju(s,0),i=a.effects=[Gu.of(t)];void 0===e.state.field(Au,!1)&&i.push(ce.appendConfig.of([Au,Nu,Fu,_u]))}e.dispatch(e.state.update(a))}}function Du(e){return({state:t,dispatch:i})=>{let O=t.field(Au,!1);if(!O||e<0&&0==O.active)return!1;let n=O.active+e,r=e>0&&!O.ranges.some(t=>t.field==n+e);return i(t.update({selection:Eu(O.ranges,n),effects:Gu.of(r?null:new ju(O.ranges,n)),scrollIntoView:!0})),!0}}const Lu=[{key:"Tab",run:Du(1),shift:Du(-1)},{key:"Escape",run:({state:e,dispatch:t})=>!!e.field(Au,!1)&&(t(e.update({effects:Gu.of(null)})),!0)}],Iu=j.define({combine:e=>e.length?e[0]:Lu}),Nu=N.highest(pr.compute([Iu],e=>e.facet(Iu)));function Bu(e,t){return{...t,apply:Mu(e)}}const Fu=ar.domEventHandlers({mousedown(e,t){let i,O=t.state.field(Au,!1);if(!O||null==(i=t.posAtCoords({x:e.clientX,y:e.clientY})))return!1;let n=O.ranges.find(e=>e.from<=i&&e.to>=i);return!(!n||n.field==O.active||(t.dispatch({selection:Eu(O.ranges,n.field),effects:Gu.of(O.ranges.some(e=>e.field>n.field)?new ju(O.ranges,n.field):null),scrollIntoView:!0}),0))}}),Hu={brackets:["(","[","{","'",'"'],before:")]}:;>",stringPrefixes:[]},Ku=ce.define({map(e,t){let i=t.mapPos(e,-1,b.TrackAfter);return null==i?void 0:i}}),Ju=new class extends ve{};Ju.startSide=1,Ju.endSide=-1;const e$=L.define({create:()=>ke.empty,update(e,t){if(e=e.map(t.changes),t.selection){let i=t.state.doc.lineAt(t.selection.main.head);e=e.update({filter:e=>e>=i.from&&e<=i.to})}for(let i of t.effects)i.is(Ku)&&(e=e.update({add:[Ju.range(i.value,i.value+1)]}));return e}}),t$="()[]{}<>«»»«[]{}";function i$(e){for(let t=0;t<16;t+=2)if(t$.charCodeAt(t)==e)return t$.charAt(t+1);return y(e<128?e:e+1)}function O$(e,t){return e.languageDataAt("closeBrackets",t)[0]||Hu}const n$="object"==typeof navigator&&/Android\b/.test(navigator.userAgent),r$=ar.inputHandler.of((e,t,i,O)=>{if((n$?e.composing:e.compositionStarted)||e.state.readOnly)return!1;let n=e.state.selection.main;if(O.length>2||2==O.length&&1==v(T(O,0))||t!=n.from||i!=n.to)return!1;let r=function(e,t){let i=O$(e,e.selection.main.head),O=i.brackets||Hu.brackets;for(let n of O){let r=i$(T(n,0));if(t==n)return r==n?c$(e,n,O.indexOf(n+n+n)>-1,i):l$(e,n,r,i.before||Hu.before);if(t==r&&o$(e,e.selection.main.from))return h$(e,0,r)}return null}(e.state,O);return!!r&&(e.dispatch(r),!0)}),s$=[{key:"Backspace",run:({state:e,dispatch:t})=>{if(e.readOnly)return!1;let i=O$(e,e.selection.main.head).brackets||Hu.brackets,O=null,n=e.changeByRange(t=>{if(t.empty){let O=function(e,t){let i=e.sliceString(t-2,t);return v(T(i,0))==i.length?i:i.slice(1)}(e.doc,t.head);for(let n of i)if(n==O&&a$(e.doc,t.head)==i$(T(n,0)))return{changes:{from:t.head-n.length,to:t.head+n.length},range:q.cursor(t.head-n.length)}}return{range:O=t}});return O||t(e.update(n,{scrollIntoView:!0,userEvent:"delete.backward"})),!O}}];function o$(e,t){let i=!1;return e.field(e$).between(0,e.doc.length,e=>{e==t&&(i=!0)}),i}function a$(e,t){let i=e.sliceString(t,t+2);return i.slice(0,v(T(i,0)))}function l$(e,t,i,O){let n=null,r=e.changeByRange(r=>{if(!r.empty)return{changes:[{insert:t,from:r.from},{insert:i,from:r.to}],effects:Ku.of(r.to+t.length),range:q.range(r.anchor+t.length,r.head+t.length)};let s=a$(e.doc,r.head);return!s||/\s/.test(s)||O.indexOf(s)>-1?{changes:{insert:t+i,from:r.head},effects:Ku.of(r.head+t.length),range:q.cursor(r.head+t.length)}:{range:n=r}});return n?null:e.update(r,{scrollIntoView:!0,userEvent:"input.type"})}function h$(e,t,i){let O=null,n=e.changeByRange(t=>t.empty&&a$(e.doc,t.head)==i?{changes:{from:t.head,to:t.head+i.length,insert:i},range:q.cursor(t.head+i.length)}:O={range:t});return O?null:e.update(n,{scrollIntoView:!0,userEvent:"input.type"})}function c$(e,t,i,O){let n=O.stringPrefixes||Hu.stringPrefixes,r=null,s=e.changeByRange(O=>{if(!O.empty)return{changes:[{insert:t,from:O.from},{insert:t,from:O.to}],effects:Ku.of(O.to+t.length),range:q.range(O.anchor+t.length,O.head+t.length)};let s,o=O.head,a=a$(e.doc,o);if(a==t){if(d$(e,o))return{changes:{insert:t+t,from:o},effects:Ku.of(o+t.length),range:q.cursor(o+t.length)};if(o$(e,o)){let O=i&&e.sliceDoc(o,o+3*t.length)==t+t+t?t+t+t:t;return{changes:{from:o,to:o+O.length,insert:O},range:q.cursor(o+O.length)}}}else{if(i&&e.sliceDoc(o-2*t.length,o)==t+t&&(s=u$(e,o-2*t.length,n))>-1&&d$(e,s))return{changes:{insert:t+t+t+t,from:o},effects:Ku.of(o+t.length),range:q.cursor(o+t.length)};if(e.charCategorizer(o)(a)!=ge.Word&&u$(e,o,n)>-1&&!function(e,t,i,O){let n=za(e).resolveInner(t,-1),r=O.reduce((e,t)=>Math.max(e,t.length),0);for(let s=0;s<5;s++){let s=e.sliceDoc(n.from,Math.min(n.to,n.from+i.length+r)),o=s.indexOf(i);if(!o||o>-1&&O.indexOf(s.slice(0,o))>-1){let t=n.firstChild;for(;t&&t.from==n.from&&t.to-t.from>i.length+o;){if(e.sliceDoc(t.to-i.length,t.to)==i)return!1;t=t.firstChild}return!0}let a=n.to==t&&n.parent;if(!a)break;n=a}return!1}(e,o,t,n))return{changes:{insert:t+t,from:o},effects:Ku.of(o+t.length),range:q.cursor(o+t.length)}}return{range:r=O}});return r?null:e.update(s,{scrollIntoView:!0,userEvent:"input.type"})}function d$(e,t){let i=za(e).resolveInner(t+1);return i.parent&&i.from==t}function u$(e,t,i){let O=e.charCategorizer(t);if(O(e.sliceDoc(t-1,t))!=ge.Word)return t;for(let n of i){let i=t-n.length;if(e.sliceDoc(i,t)==n&&O(e.sliceDoc(i-1,i))!=ge.Word)return i}return-1}function $$(e={}){return[zu,vu,su.of(e),Zu,p$,_u]}const f$=[{key:"Ctrl-Space",run:Xu},{mac:"Alt-`",run:Xu},{mac:"Alt-i",run:Xu},{key:"Escape",run:e=>{let t=e.state.field(vu,!1);return!(!t||!t.active.some(e=>0!=e.state)||(e.dispatch({effects:Ou.of(null)}),0))}},{key:"ArrowDown",run:xu(!0)},{key:"ArrowUp",run:xu(!1)},{key:"PageDown",run:xu(!0,"page")},{key:"PageUp",run:xu(!1,"page")},{key:"Enter",run:e=>{let t=e.state.field(vu,!1);return!(e.state.readOnly||!t||!t.open||t.open.selected<0||t.open.disabled||Date.now()-t.open.timestampe.facet(su).defaultKeymap?[f$]:[]));class Q${constructor(e,t,i){this.from=e,this.to=t,this.diagnostic=i}}class m${constructor(e,t,i){this.diagnostics=e,this.panel=t,this.selected=i}static init(e,t,i){let O=i.facet(k$).markerFilter;O&&(e=O(e,i));let n=e.slice().sort((e,t)=>e.from-t.from||e.to-t.to),r=new Ze,s=[],o=0,a=i.doc.iter(),l=0,h=i.doc.length;for(let e=0;;){let t,i,O=e==n.length?null:n[e];if(!O&&!s.length)break;if(s.length)t=o,i=s.reduce((e,t)=>Math.min(e,t.to),O&&O.from>t?O.from:1e8);else{if(t=O.from,t>h)break;i=O.to,s.push(O),e++}for(;eO.from||O.to==t)){i=Math.min(O.from,i);break}s.push(O),e++,i=Math.min(O.to,i)}i=Math.min(i,h);let c=!1;if(s.some(e=>e.from==t&&(e.to==i||i==h))&&(c=t==i,!c&&i-t<10)){let e=t-(l+a.value.length);e>0&&(a.next(e),l=t);for(let e=t;;){if(e>=i){c=!0;break}if(!a.lineBreak&&l+a.value.length>e)break;e=l+a.value.length,l+=a.value.length,a.next()}}let d=j$(s);if(c)r.add(t,t,Tt.widget({widget:new _$(d),diagnostics:s.slice()}));else{let e=s.reduce((e,t)=>t.markClass?e+" "+t.markClass:e,"");r.add(t,i,Tt.mark({class:"cm-lintRange cm-lintRange-"+d+e,diagnostics:s.slice(),inclusiveEnd:s.some(e=>e.to>i)}))}if(o=i,o==h)break;for(let e=0;e{if(!(t&&n.diagnostics.indexOf(t)<0))if(O){if(n.diagnostics.indexOf(O.diagnostic)<0)return!1;O=new Q$(O.from,i,O.diagnostic)}else O=new Q$(e,i,t||n.diagnostics[0])}),O}const S$=ce.define(),P$=ce.define(),T$=ce.define(),y$=L.define({create:()=>new m$(Tt.none,null,null),update(e,t){if(t.docChanged&&e.diagnostics.size){let i=e.diagnostics.map(t.changes),O=null,n=e.panel;if(e.selected){let n=t.changes.mapPos(e.selected.from,1);O=g$(i,e.selected.diagnostic,n)||g$(i,null,n)}!i.size&&n&&t.state.facet(k$).autoPanel&&(n=null),e=new m$(i,n,O)}for(let i of t.effects)if(i.is(S$)){let O=t.state.facet(k$).autoPanel?i.value.length?Y$.open:null:e.panel;e=m$.init(i.value,O,t.state)}else i.is(P$)?e=new m$(e.diagnostics,i.value?Y$.open:null,e.selected):i.is(T$)&&(e=new m$(e.diagnostics,e.panel,i.value));return e},provide:e=>[xs.from(e,e=>e.panel),ar.decorations.from(e,e=>e.diagnostics)]}),v$=Tt.mark({class:"cm-lintRange cm-lintRange-active"});function w$(e,t,i){let O,{diagnostics:n}=e.state.field(y$),r=-1,s=-1;n.between(t-(i<0?1:0),t+(i>0?1:0),(e,n,{spec:o})=>{if(t>=e&&t<=n&&(e==n||(t>e||i>0)&&(t({dom:b$(e,O)})}:null}function b$(e,t){return tt("ul",{class:"cm-tooltip-lint"},t.map(t=>z$(e,t,!1)))}const x$=e=>{let t=e.state.field(y$,!1);return!(!t||!t.panel||(e.dispatch({effects:P$.of(!1)}),0))},X$=[{key:"Mod-Shift-m",run:e=>{let t=e.state.field(y$,!1);var i,O;t&&t.panel||e.dispatch({effects:(i=e.state,O=[P$.of(!0)],i.field(y$,!1)?O:O.concat(ce.appendConfig.of(C$)))});let n=ys(e,Y$.open);return n&&n.dom.querySelector(".cm-panel-lint ul").focus(),!0},preventDefault:!0},{key:"F8",run:e=>{let t=e.state.field(y$,!1);if(!t)return!1;let i=e.state.selection.main,O=g$(t.diagnostics,null,i.to+1);return!(!O&&(O=g$(t.diagnostics,null,0),!O||O.from==i.from&&O.to==i.to)||(e.dispatch({selection:{anchor:O.from,head:O.to},scrollIntoView:!0}),function(e,t,i,O={}){var n;let r=e.state.facet(ps).map(t=>e.plugin(t)).filter(e=>!!e);if(O.tooltip&&O.tooltip.active){let e=r.find(e=>e.field==O.tooltip.active);e&&(r=[e])}for(let s of r)s.activateHover(e,t,i,null!==(n=O.until)&&void 0!==n?n:()=>!1)}(e,O.from,1,{tooltip:G$,until:e=>e.docChanged||e.newSelection.main.headO.to}),0))}}],k$=j.define({combine:e=>({sources:e.map(e=>e.source).filter(e=>null!=e),...ye(e.map(e=>e.config),{delay:750,markerFilter:null,tooltipFilter:null,needsRefresh:null,hideOn:()=>null},{delay:Math.max,markerFilter:Z$,tooltipFilter:Z$,needsRefresh:(e,t)=>e?t?i=>e(i)||t(i):e:t,hideOn:(e,t)=>e?t?(i,O,n)=>e(i,O,n)||t(i,O,n):e:t,autoPanel:(e,t)=>e||t})})});function Z$(e,t){return e?t?(i,O)=>t(e(i,O),O):e:t}function R$(e){let t=[];if(e)e:for(let{name:i}of e){for(let e=0;ee.toLowerCase()==O.toLowerCase())){t.push(O);continue e}}t.push("")}return t}function z$(e,t,i){var O;let n=i?R$(t.actions):[];return tt("li",{class:"cm-diagnostic cm-diagnostic-"+t.severity},tt("span",{class:"cm-diagnosticText"},t.renderMessage?t.renderMessage(e):t.message),null===(O=t.actions)||void 0===O?void 0:O.map((i,O)=>{let r=!1,s=O=>{if(O.preventDefault(),r)return;r=!0;let n=g$(e.state.field(y$).diagnostics,t);n&&i.apply(e,n.from,n.to)},{name:o}=i,a=n[O]?o.indexOf(n[O]):-1,l=a<0?o:[o.slice(0,a),tt("u",o.slice(a,a+1)),o.slice(a+1)];return tt("button",{type:"button",class:"cm-diagnosticAction"+(i.markClass?" "+i.markClass:""),onclick:s,onmousedown:s,"aria-label":` Action: ${o}${a<0?"":` (access key "${n[O]})"`}.`},l)}),t.source&&tt("div",{class:"cm-diagnosticSource"},t.source))}class _$ extends St{constructor(e){super(),this.sev=e}eq(e){return e.sev==this.sev}toDOM(){return tt("span",{class:"cm-lintPoint cm-lintPoint-"+this.sev})}}class V${constructor(e,t){this.diagnostic=t,this.id="item_"+Math.floor(4294967295*Math.random()).toString(16),this.dom=z$(e,t,!0),this.dom.id=this.id,this.dom.setAttribute("role","option")}}class Y${constructor(e){this.view=e,this.items=[],this.list=tt("ul",{tabIndex:0,role:"listbox","aria-label":this.view.state.phrase("Diagnostics"),onkeydown:t=>{if(!(t.ctrlKey||t.altKey||t.metaKey)){if(27==t.keyCode)x$(this.view),this.view.focus();else if(38==t.keyCode||33==t.keyCode)this.moveSelection((this.selectedIndex-1+this.items.length)%this.items.length);else if(40==t.keyCode||34==t.keyCode)this.moveSelection((this.selectedIndex+1)%this.items.length);else if(36==t.keyCode)this.moveSelection(0);else if(35==t.keyCode)this.moveSelection(this.items.length-1);else if(13==t.keyCode)this.view.focus();else{if(!(t.keyCode>=65&&t.keyCode<=90&&this.selectedIndex>=0))return;{let{diagnostic:i}=this.items[this.selectedIndex],O=R$(i.actions);for(let n=0;n{for(let t=0;tx$(this.view)},"×")),this.update()}get selectedIndex(){let e=this.view.state.field(y$).selected;if(!e)return-1;for(let t=0;t{for(let e of o.diagnostics){if(r.has(e))continue;r.add(e);let s,o=-1;for(let t=i;ti&&(this.items.splice(i,o-i),O=!0)),t&&s.diagnostic==t.diagnostic?s.dom.hasAttribute("aria-selected")||(s.dom.setAttribute("aria-selected","true"),n=s):s.dom.hasAttribute("aria-selected")&&s.dom.removeAttribute("aria-selected"),i++}});i({sel:n.dom.getBoundingClientRect(),panel:this.list.getBoundingClientRect()}),write:({sel:e,panel:t})=>{let i=t.height/this.list.offsetHeight;e.topt.bottom&&(this.list.scrollTop+=(e.bottom-t.bottom)/i)}})):this.selectedIndex<0&&this.list.removeAttribute("aria-activedescendant"),O&&this.sync()}sync(){let e=this.list.firstChild;function t(){let t=e;e=t.nextSibling,t.remove()}for(let i of this.items)if(i.dom.parentNode==this.list){for(;e!=i.dom;)t();e=i.dom.nextSibling}else this.list.insertBefore(i.dom,e);for(;e;)t()}moveSelection(e){if(this.selectedIndex<0)return;let t=g$(this.view.state.field(y$).diagnostics,this.items[e].diagnostic);t&&this.view.dispatch({selection:{anchor:t.from,head:t.to},scrollIntoView:!0,effects:T$.of(t)})}static open(e){return new Y$(e)}}function q$(e){return function(e,t='viewBox="0 0 40 40"'){return`url('data:image/svg+xml,${encodeURIComponent(e)}')`}(``,'width="6" height="3"')}const W$=ar.baseTheme({".cm-diagnostic":{padding:"3px 6px 3px 8px",marginLeft:"-1px",display:"block",whiteSpace:"pre-wrap"},".cm-diagnostic-error":{borderLeft:"5px solid #d11"},".cm-diagnostic-warning":{borderLeft:"5px solid orange"},".cm-diagnostic-info":{borderLeft:"5px solid #999"},".cm-diagnostic-hint":{borderLeft:"5px solid #66d"},".cm-diagnosticAction":{font:"inherit",border:"none",padding:"2px 4px",backgroundColor:"#444",color:"white",borderRadius:"3px",marginLeft:"8px",cursor:"pointer"},".cm-diagnosticSource":{fontSize:"70%",opacity:.7},".cm-lintRange":{backgroundPosition:"left bottom",backgroundRepeat:"repeat-x",paddingBottom:"0.7px"},".cm-lintRange-error":{backgroundImage:q$("#f11")},".cm-lintRange-warning":{backgroundImage:q$("orange")},".cm-lintRange-info":{backgroundImage:q$("#999")},".cm-lintRange-hint":{backgroundImage:q$("#66d")},".cm-lintRange-active":{backgroundColor:"#ffdd9980"},".cm-tooltip-lint":{padding:0,margin:0},".cm-lintPoint":{position:"relative","&:after":{content:'""',position:"absolute",bottom:0,left:"-2px",borderLeft:"3px solid transparent",borderRight:"3px solid transparent",borderBottom:"4px solid #d11"}},".cm-lintPoint-warning":{"&:after":{borderBottomColor:"orange"}},".cm-lintPoint-info":{"&:after":{borderBottomColor:"#999"}},".cm-lintPoint-hint":{"&:after":{borderBottomColor:"#66d"}},".cm-panel.cm-panel-lint":{position:"relative","& ul":{maxHeight:"100px",overflowY:"auto","& [aria-selected]":{backgroundColor:"#ddd","& u":{textDecoration:"underline"}},"&:focus [aria-selected]":{background_fallback:"#bdf",backgroundColor:"Highlight",color_fallback:"white",color:"HighlightText"},"& u":{textDecoration:"none"},padding:0,margin:0},"& [name=close]":{position:"absolute",top:"0",right:"2px",background:"inherit",border:"none",font:"inherit",padding:0,margin:0}},"&dark .cm-lintRange-active":{backgroundColor:"#86714a80"},"&dark .cm-panel.cm-panel-lint ul":{"& [aria-selected]":{backgroundColor:"#2e343e"}}});function U$(e){return"error"==e?4:"warning"==e?3:"info"==e?2:1}function j$(e){let t="hint",i=1;for(let O of e){let e=U$(O.severity);e>i&&(i=e,t=O.severity)}return t}const G$=gs(w$,{hideOn:function(e,t){let i=t.pos,O=t.end||i,n=e.state.facet(k$).hideOn(e,i,O);if(null!=n)return n;let r=e.startState.doc.lineAt(t.pos);return!(!e.effects.some(e=>e.is(S$))&&!e.changes.touchesRange(r.from,Math.max(r.to,O)))}}),C$=[y$,ar.decorations.compute([y$],e=>{let{selected:t,panel:i}=e.field(y$);return t&&i&&t.from!=t.to?Tt.set([v$.range(t.from,t.to)]):Tt.none}),G$,W$],A$=(()=>[Hs(),eo,Lr(),Zh(),Xl(),Zr(),[Wr,Ur],Te.allowMultipleSelections.of(!0),Te.transactionFilter.of(e=>{if(!e.docChanged||!e.isUserEvent("input.type")&&!e.isUserEvent("input.complete"))return e;let t=e.startState.languageDataAt("indentOnInput",e.startState.selection.main.head);if(!t.length)return e;let i=e.newDoc,{head:O}=e.newSelection.main,n=i.lineAt(O);if(O>n.from+200)return e;let r=i.sliceString(n.from,O);if(!t.some(e=>e.test(r)))return e;let{state:s}=e,o=-1,a=[];for(let{head:e}of s.selection.ranges){let t=s.doc.lineAt(e);if(t.from==o)continue;o=t.from;let i=Ia(s,t.from);if(null==i)continue;let O=/^\s*/.exec(t.text)[0],n=La(s,i);O!=n&&a.push({from:t.from,to:t.from+O.length,insert:n})}return a.length?[e,{changes:a,sequential:!0}]:e}),Vl(Wl,{fallback:!0}),Ll(),[r$,e$],$$(),ar.mouseSelectionStyle.of((e,t)=>{return(i=t).altKey&&0==i.button?function(e,t){let i=Jr(e,t),O=e.state.selection;return i?{update(e){if(e.docChanged){let t=e.changes.mapPos(e.startState.doc.line(i.line).from),n=e.state.doc.lineAt(t);i={line:n.number,col:i.col,off:Math.min(i.off,n.length)},O=O.map(e.changes)}},get(t,n,r){let s=Jr(e,t);if(!s)return O;let o=function(e,t,i){let O=Math.min(t.line,i.line),n=Math.max(t.line,i.line),r=[];if(t.off>Kr||i.off>Kr||t.col<0||i.col<0){let s=Math.min(t.off,i.off),o=Math.max(t.off,i.off);for(let t=O;t<=n;t++){let i=e.doc.line(t);i.length<=o&&r.push(q.range(i.from+s,i.to+o))}}else{let s=Math.min(t.col,i.col),o=Math.max(t.col,i.col);for(let t=O;t<=n;t++){let i=e.doc.line(t),O=Ae(i.text,s,e.tabSize,!0);if(O<0)r.push(q.cursor(i.to));else{let t=Ae(i.text,o,e.tabSize);r.push(q.range(i.from+O,i.from+t))}}}return r}(e.state,i,s);return o.length?r?q.create(o.concat(O.ranges)):q.create(o):O}}:null}(e,t):null;var i}),is(),Hr,[ad,od],pr.of([...s$,...Dc,...Wd,...Ih,...gl,...f$,...X$])])(),E$="#e06c75",M$="#abb2bf",D$="#7d8799",L$="#d19a66",I$="#2c313a",N$="#282c34",B$="#353a42",F$="#528bff",H$=[ar.theme({"&":{color:M$,backgroundColor:N$},".cm-content":{caretColor:F$},".cm-cursor, .cm-dropCursor":{borderLeftColor:F$},"&.cm-focused > .cm-scroller > .cm-selectionLayer .cm-selectionBackground, .cm-selectionBackground, .cm-content ::selection":{backgroundColor:"#3E4451"},".cm-panels":{backgroundColor:"#21252b",color:M$},".cm-panels.cm-panels-top":{borderBottom:"2px solid black"},".cm-panels.cm-panels-bottom":{borderTop:"2px solid black"},".cm-searchMatch":{backgroundColor:"#72a1ff59",outline:"1px solid #457dff"},".cm-searchMatch.cm-searchMatch-selected":{backgroundColor:"#6199ff2f"},".cm-activeLine":{backgroundColor:"#6699ff0b"},".cm-selectionMatch":{backgroundColor:"#aafe661a"},"&.cm-focused .cm-matchingBracket, &.cm-focused .cm-nonmatchingBracket":{backgroundColor:"#bad0f847"},".cm-gutters":{backgroundColor:N$,color:D$,border:"none"},".cm-activeLineGutter":{backgroundColor:I$},".cm-foldPlaceholder":{backgroundColor:"transparent",border:"none",color:"#ddd"},".cm-tooltip":{border:"none",backgroundColor:B$},".cm-tooltip .cm-tooltip-arrow:before":{borderTopColor:"transparent",borderBottomColor:"transparent"},".cm-tooltip .cm-tooltip-arrow:after":{borderTopColor:B$,borderBottomColor:B$},".cm-tooltip-autocomplete":{"& > ul > li[aria-selected]":{backgroundColor:I$,color:M$}}},{dark:!0}),Vl(Zl.define([{tag:va.keyword,color:"#c678dd"},{tag:[va.name,va.deleted,va.character,va.propertyName,va.macroName],color:E$},{tag:[va.function(va.variableName),va.labelName],color:"#61afef"},{tag:[va.color,va.constant(va.name),va.standard(va.name)],color:L$},{tag:[va.definition(va.name),va.separator],color:M$},{tag:[va.typeName,va.className,va.number,va.changed,va.annotation,va.modifier,va.self,va.namespace],color:"#e5c07b"},{tag:[va.operator,va.operatorKeyword,va.url,va.escape,va.regexp,va.link,va.special(va.string)],color:"#56b6c2"},{tag:[va.meta,va.comment],color:D$},{tag:va.strong,fontWeight:"bold"},{tag:va.emphasis,fontStyle:"italic"},{tag:va.strikethrough,textDecoration:"line-through"},{tag:va.link,color:D$,textDecoration:"underline"},{tag:va.heading,fontWeight:"bold",color:E$},{tag:[va.atom,va.bool,va.special(va.variableName)],color:L$},{tag:[va.processingInstruction,va.string,va.inserted],color:"#98c379"},{tag:va.invalid,color:"#ffffff"}]))];class K${constructor(e,t,i,O,n,r,s,o,a,l=0,h){this.p=e,this.stack=t,this.state=i,this.reducePos=O,this.pos=n,this.score=r,this.buffer=s,this.bufferBase=o,this.curContext=a,this.lookAhead=l,this.parent=h}toString(){return`[${this.stack.filter((e,t)=>t%3==0).concat(this.state)}]@${this.pos}${this.score?"!"+this.score:""}`}static start(e,t,i=0){let O=e.parser.context;return new K$(e,[],t,i,i,0,[],0,O?new J$(O,O.start):null,0,null)}get context(){return this.curContext?this.curContext.context:null}pushState(e,t){this.stack.push(this.state,t,this.bufferBase+this.buffer.length),this.state=e}reduce(e){var t;let i=e>>19,O=65535&e,{parser:n}=this.p,r=this.reducePos=2e3&&!(null===(t=this.p.parser.nodeSet.types[O])||void 0===t?void 0:t.isAnonymous)&&(a==this.p.lastBigReductionStart?(this.p.bigReductionCount++,this.p.lastBigReductionSize=l):this.p.lastBigReductionSizeo;)this.stack.pop();this.reduceContext(O,a)}storeNode(e,t,i,O=4,n=!1){if(0==e&&(!this.stack.length||this.stack[this.stack.length-1]0&&0==this.buffer[e-4]&&this.buffer[e-1]>-1){if(t==i)return;if(this.buffer[e-2]>=t)return void(this.buffer[e-2]=i)}}if(n&&this.pos!=i){let n=this.buffer.length;if(n>0&&(0!=this.buffer[n-4]||this.buffer[n-1]<0)){let e=!1;for(let t=n;t>0&&this.buffer[t-2]>i;t-=4)if(this.buffer[t-1]>=0){e=!0;break}if(e)for(;n>0&&this.buffer[n-2]>i;)this.buffer[n]=this.buffer[n-4],this.buffer[n+1]=this.buffer[n-3],this.buffer[n+2]=this.buffer[n-2],this.buffer[n+3]=this.buffer[n-1],n-=4,O>4&&(O-=4)}this.buffer[n]=e,this.buffer[n+1]=t,this.buffer[n+2]=i,this.buffer[n+3]=O}else this.buffer.push(e,t,i,O)}shift(e,t,i,O){if(131072&e)this.pushState(65535&e,this.pos);else if(262144&e)this.pos=O,this.shiftContext(t,i),t<=this.p.parser.maxNode&&this.buffer.push(t,i,O,4);else{let n=e,{parser:r}=this.p;this.pos=O;let s=r.stateFlag(n,1);!s&&(O>i||t<=r.maxNode)&&(this.reducePos=O),this.pushState(n,s?i:Math.min(i,this.reducePos)),this.shiftContext(t,i),t<=r.maxNode&&this.buffer.push(t,i,O,4)}}apply(e,t,i,O){65536&e?this.reduce(e):this.shift(e,t,i,O)}useNode(e,t){let i=this.p.reused.length-1;(i<0||this.p.reused[i]!=e)&&(this.p.reused.push(e),i++);let O=this.pos;this.reducePos=this.pos=O+e.length,this.pushState(t,O),this.buffer.push(i,O,this.reducePos,-1),this.curContext&&this.updateContext(this.curContext.tracker.reuse(this.curContext.context,e,this,this.p.stream.reset(this.pos-e.length)))}split(){let e=this,t=e.buffer.length;for(t&&0==e.buffer[t-4]&&(t-=4);t>0&&e.buffer[t-2]>e.reducePos;)t-=4;let i=e.buffer.slice(t),O=e.bufferBase+t;for(;e&&O==e.bufferBase;)e=e.parent;return new K$(this.p,this.stack.slice(),this.state,this.reducePos,this.pos,this.score,i,O,this.curContext,this.lookAhead,e)}recoverByDelete(e,t){let i=e<=this.p.parser.maxNode;i&&this.storeNode(e,this.pos,t,4),this.storeNode(0,this.pos,t,i?8:4),this.pos=this.reducePos=t,this.score-=190}canShift(e){for(let t=new ef(this);;){let i=this.p.parser.stateSlot(t.state,4)||this.p.parser.hasAction(t.state,e);if(0==i)return!1;if(!(65536&i))return!0;t.reduce(i)}}recoverByInsert(e){if(this.stack.length>=300)return[];let t=this.p.parser.nextStates(this.state);if(t.length>8||this.stack.length>=120){let i=[];for(let O,n=0;n1&t&&e==O)||i.push(t[e],O)}t=i}let i=[];for(let e=0;e>19,O=65535&t,n=this.stack.length-3*i;if(n<0||e.getGoto(this.stack[n],O,!1)<0){let e=this.findForcedReduction();if(null==e)return!1;t=e}this.storeNode(0,this.pos,this.pos,4,!0),this.score-=100}return this.reducePos=this.pos,this.reduce(t),!0}findForcedReduction(){let{parser:e}=this.p,t=[],i=(O,n)=>{if(!t.includes(O))return t.push(O),e.allActions(O,t=>{if(393216&t);else if(65536&t){let i=(t>>19)-n;if(i>1){let O=65535&t,n=this.stack.length-3*i;if(n>=0&&e.getGoto(this.stack[n],O,!1)>=0)return i<<19|65536|O}}else{let e=i(t,n+1);if(null!=e)return e}})};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(3!=this.stack.length)return!1;let{parser:e}=this.p;return 65535==e.data[e.stateSlot(this.state,1)]&&!e.stateSlot(this.state,4)}restart(){this.storeNode(0,this.pos,this.pos,4,!0),this.state=this.stack[0],this.stack.length=0}sameState(e){if(this.state!=e.state||this.stack.length!=e.stack.length)return!1;for(let t=0;t0&&this.emitLookAhead()}}class J${constructor(e,t){this.tracker=e,this.context=t,this.hash=e.strict?e.hash(t):0}}class ef{constructor(e){this.start=e,this.state=e.state,this.stack=e.stack,this.base=this.stack.length}reduce(e){let t=65535&e,i=e>>19;0==i?(this.stack==this.start.stack&&(this.stack=this.stack.slice()),this.stack.push(this.state,0,0),this.base+=3):this.base-=3*(i-1);let O=this.start.p.parser.getGoto(this.stack[this.base-3],t,!0);this.state=O}}class tf{constructor(e,t,i){this.stack=e,this.pos=t,this.index=i,this.buffer=e.buffer,0==this.index&&this.maybeNext()}static create(e,t=e.bufferBase+e.buffer.length){return new tf(e,t,t-e.bufferBase)}maybeNext(){let e=this.stack.parent;null!=e&&(this.index=this.stack.bufferBase-e.bufferBase,this.stack=e,this.buffer=e.buffer)}get id(){return this.buffer[this.index-4]}get start(){return this.buffer[this.index-3]}get end(){return this.buffer[this.index-2]}get size(){return this.buffer[this.index-1]}next(){this.index-=4,this.pos-=4,0==this.index&&this.maybeNext()}fork(){return new tf(this.stack,this.pos,this.index)}}function Of(e,t=Uint16Array){if("string"!=typeof e)return e;let i=null;for(let O=0,n=0;O=92&&t--,t>=34&&t--;let n=t-32;if(n>=46&&(n-=46,i=!0),r+=n,i)break;r*=46}i?i[n++]=r:i=new t(r)}return i}class nf{constructor(){this.start=-1,this.value=-1,this.end=-1,this.extended=-1,this.lookAhead=0,this.mask=0,this.context=0}}const rf=new nf;class sf{constructor(e,t){this.input=e,this.ranges=t,this.chunk="",this.chunkOff=0,this.chunk2="",this.chunk2Pos=0,this.next=-1,this.token=rf,this.rangeIndex=0,this.pos=this.chunkPos=t[0].from,this.range=t[0],this.end=t[t.length-1].to,this.readNext()}resolveOffset(e,t){let i=this.range,O=this.rangeIndex,n=this.pos+e;for(;ni.to:n>=i.to;){if(O==this.ranges.length-1)return null;let e=this.ranges[++O];n+=e.from-i.to,i=e}return n}clipPos(e){if(e>=this.range.from&&ee)return Math.max(e,t.from);return this.end}peek(e){let t,i,O=this.chunkOff+e;if(O>=0&&O=this.chunk2Pos&&tO.to&&(this.chunk2=this.chunk2.slice(0,O.to-t)),i=this.chunk2.charCodeAt(0)}}return t>=this.token.lookAhead&&(this.token.lookAhead=t+1),i}acceptToken(e,t=0){let i=t?this.resolveOffset(t,-1):this.pos;if(null==i||i=this.chunk2Pos&&this.posthis.range.to?e.slice(0,this.range.to-this.pos):e,this.chunkPos=this.pos,this.chunkOff=0}}readNext(){return this.chunkOff>=this.chunk.length&&(this.getChunk(),this.chunkOff==this.chunk.length)?this.next=-1:this.next=this.chunk.charCodeAt(this.chunkOff)}advance(e=1){for(this.chunkOff+=e;this.pos+e>=this.range.to;){if(this.rangeIndex==this.ranges.length-1)return this.setDone();e-=this.range.to-this.pos,this.range=this.ranges[++this.rangeIndex],this.pos=this.range.from}return this.pos+=e,this.pos>=this.token.lookAhead&&(this.token.lookAhead=this.pos+1),this.readNext()}setDone(){return this.pos=this.chunkPos=this.end,this.range=this.ranges[this.rangeIndex=this.ranges.length-1],this.chunk="",this.next=-1}reset(e,t){if(t?(this.token=t,t.start=e,t.lookAhead=e+1,t.value=t.extended=-1):this.token=rf,this.pos!=e){if(this.pos=e,e==this.end)return this.setDone(),this;for(;e=this.range.to;)this.range=this.ranges[++this.rangeIndex];e>=this.chunkPos&&e=this.chunkPos&&t<=this.chunkPos+this.chunk.length)return this.chunk.slice(e-this.chunkPos,t-this.chunkPos);if(e>=this.chunk2Pos&&t<=this.chunk2Pos+this.chunk2.length)return this.chunk2.slice(e-this.chunk2Pos,t-this.chunk2Pos);if(e>=this.range.from&&t<=this.range.to)return this.input.read(e,t);let i="";for(let O of this.ranges){if(O.from>=t)break;O.to>e&&(i+=this.input.read(Math.max(O.from,e),Math.min(O.to,t)))}return i}}class of{constructor(e,t){this.data=e,this.id=t}token(e,t){let{parser:i}=t.p;hf(this.data,e,t,this.id,i.data,i.tokenPrecTable)}}of.prototype.contextual=of.prototype.fallback=of.prototype.extend=!1;class af{constructor(e,t,i){this.precTable=t,this.elseToken=i,this.data="string"==typeof e?Of(e):e}token(e,t){let i=e.pos,O=0;for(;;){let i=e.next<0,n=e.resolveOffset(1,1);if(hf(this.data,e,t,0,this.data,this.precTable),e.token.value>-1)break;if(null==this.elseToken)return;if(i||O++,null==n)break;e.reset(n,e.token)}O&&(e.reset(i,e.token),e.acceptToken(this.elseToken,O))}}af.prototype.contextual=of.prototype.fallback=of.prototype.extend=!1;class lf{constructor(e,t={}){this.token=e,this.contextual=!!t.contextual,this.fallback=!!t.fallback,this.extend=!!t.extend}}function hf(e,t,i,O,n,r){let s=0,o=1<0){let i=e[O];if(a.allows(i)&&(-1==t.token.value||t.token.value==i||df(i,t.token.value,n,r))){t.acceptToken(i);break}}let O=t.next,l=0,h=e[s+2];if(!(t.next<0&&h>l&&65535==e[i+3*h-3])){for(;l>1,r=i+n+(n<<1),o=e[r],a=e[r+1]||65536;if(O=a)){s=e[r+2],t.advance();continue e}l=n+1}}break}s=e[i+3*h-1]}}function cf(e,t,i){for(let O,n=t;65535!=(O=e[n]);n++)if(O==i)return n-t;return-1}function df(e,t,i,O){let n=cf(i,O,t);return n<0||cf(i,O,e)t)&&!O.type.isError)return i<0?Math.max(0,Math.min(O.to-1,t-25)):Math.min(e.length,Math.max(O.from+1,t+25));if(i<0?O.prevSibling():O.nextSibling())break;if(!O.parent())return i<0?0:e.length}}class pf{constructor(e,t){this.fragments=e,this.nodeSet=t,this.i=0,this.fragment=null,this.safeFrom=-1,this.safeTo=-1,this.trees=[],this.start=[],this.index=[],this.nextFragment()}nextFragment(){let e=this.fragment=this.i==this.fragments.length?null:this.fragments[this.i++];if(e){for(this.safeFrom=e.openStart?ff(e.tree,e.from+e.offset,1)-e.offset:e.from,this.safeTo=e.openEnd?ff(e.tree,e.to+e.offset,-1)-e.offset:e.to;this.trees.length;)this.trees.pop(),this.start.pop(),this.index.pop();this.trees.push(e.tree),this.start.push(-e.offset),this.index.push(0),this.nextStart=this.safeFrom}else this.nextStart=1e9}nodeAt(e){if(ee)return this.nextStart=r,null;if(n instanceof Qo){if(r==e){if(r=Math.max(this.safeFrom,e)&&(this.trees.push(n),this.start.push(r),this.index.push(0))}else this.index[t]++,this.nextStart=r+n.length}}}class Qf{constructor(e,t){this.stream=t,this.tokens=[],this.mainToken=null,this.actions=[],this.tokens=e.tokenizers.map(e=>new nf)}getActions(e){let t=0,i=null,{parser:O}=e.p,{tokenizers:n}=O,r=O.stateSlot(e.state,3),s=e.curContext?e.curContext.hash:0,o=0;for(let O=0;Ol.end+25&&(o=Math.max(l.lookAhead,o)),0!=l.value)){let O=t;if(l.extended>-1&&(t=this.addActions(e,l.extended,l.end,t)),t=this.addActions(e,l.value,l.end,t),!a.extend&&(i=l,t>O))break}}for(;this.actions.length>t;)this.actions.pop();return o&&e.setLookAhead(o),i||e.pos!=this.stream.end||(i=new nf,i.value=e.p.parser.eofTerm,i.start=i.end=e.pos,t=this.addActions(e,i.value,i.end,t)),this.mainToken=i,this.actions}getMainToken(e){if(this.mainToken)return this.mainToken;let t=new nf,{pos:i,p:O}=e;return t.start=i,t.end=Math.min(i+1,O.stream.end),t.value=i==O.stream.end?O.parser.eofTerm:0,t}updateCachedToken(e,t,i){let O=this.stream.clipPos(i.pos);if(t.token(this.stream.reset(O,e),i),e.value>-1){let{parser:t}=i.p;for(let O=0;O=0&&i.p.parser.dialect.allows(n>>1)){1&n?e.extended=n>>1:e.value=n>>1;break}}}else e.value=0,e.end=this.stream.clipPos(O+1)}putAction(e,t,i,O){for(let t=0;t4*e.bufferLength?new pf(i,e.nodeSet):null}get parsedPos(){return this.minStackPos}advance(){let e,t,i=this.stacks,O=this.minStackPos,n=this.stacks=[];if(this.bigReductionCount>300&&1==i.length){let[e]=i;for(;e.forceReduce()&&e.stack.length&&e.stack[e.stack.length-2]>=this.lastBigReductionStart;);this.bigReductionCount=this.lastBigReductionSize=0}for(let r=0;rO)n.push(s);else{if(this.advanceStack(s,n,i))continue;{e||(e=[],t=[]),e.push(s);let i=this.tokens.getMainToken(s);t.push(i.value,i.end)}}break}}if(!n.length){let t=e&&function(e){let t=null;for(let i of e){let e=i.p.stoppedAt;(i.pos==i.p.stream.end||null!=e&&i.pos>e)&&i.p.parser.stateFlag(i.state,2)&&(!t||t.scorethis.stoppedAt?e[0]:this.runRecovery(e,t,n);if(i)return this.stackToTree(i.forceAll())}if(this.recovering){let e=1==this.recovering?1:3*this.recovering;if(n.length>e)for(n.sort((e,t)=>t.score-e.score);n.length>e;)n.pop();n.some(e=>e.reducePos>O)&&this.recovering--}else if(n.length>1){e:for(let e=0;e500&&O.buffer.length>500){if(!((t.score-O.score||t.buffer.length-O.buffer.length)>0)){n.splice(e--,1);continue e}n.splice(i--,1)}}}n.length>12&&(n.sort((e,t)=>t.score-e.score),n.splice(12,n.length-12))}this.minStackPos=n[0].pos;for(let e=1;ethis.stoppedAt)return e.forceReduce()?e:null;if(this.fragments){let t=e.curContext&&e.curContext.tracker.strict,i=t?e.curContext.hash:0;for(let r=this.fragments.nodeAt(O);r;){let O=this.parser.nodeSet.types[r.type.id]==r.type?n.getGoto(e.state,r.type.id):-1;if(O>-1&&r.length&&(!t||(r.prop(ao.contextHash)||0)==i))return e.useNode(r,O),!0;if(!(r instanceof Qo)||0==r.children.length||r.positions[0]>0)break;let s=r.children[0];if(!(s instanceof Qo&&0==r.positions[0]))break;r=s}}let r=n.stateSlot(e.state,4);if(r>0)return e.reduce(r),!0;if(e.stack.length>=8400)for(;e.stack.length>6e3&&e.forceReduce(););let s=this.tokens.getActions(e);for(let n=0;nO?t.push(h):i.push(h)}return!1}advanceFully(e,t){let i=e.pos;for(;;){if(!this.advanceStack(e,null,null))return!1;if(e.pos>i)return gf(e,t),!0}}runRecovery(e,t,i){let O=null,n=!1;for(let r=0;r ":"";if(s.deadEnd){if(n)continue;if(n=!0,s.restart(),this.advanceFully(s,i))continue}let h=s.split(),c=l;for(let e=0;e<10&&h.forceReduce()&&!this.advanceFully(h,i);e++)uf&&(c=this.stackID(h)+" -> ");for(let e of s.recoverByInsert(o))this.advanceFully(e,i);this.stream.end>s.pos?(a==s.pos&&(a++,o=0),s.recoverByDelete(o,a),gf(s,i)):(!O||O.scoree;class Tf{constructor(e){this.start=e.start,this.shift=e.shift||Pf,this.reduce=e.reduce||Pf,this.reuse=e.reuse||Pf,this.hash=e.hash||(()=>0),this.strict=!1!==e.strict}}class yf extends Wo{constructor(e){if(super(),this.wrappers=[],14!=e.version)throw new RangeError(`Parser version (${e.version}) doesn't match runtime version (14)`);let t=e.nodeNames.split(" ");this.minRepeatTerm=t.length;for(let i=0;ie.topRules[t][1]),O=[];for(let e=0;e=0)n(O,e,t[i++]);else{let r=t[i+-O];for(let s=-O;s>0;s--)n(t[i++],e,r);i++}}}this.nodeSet=new uo(t.map((t,n)=>co.define({name:n>=this.minRepeatTerm?void 0:t,id:n,props:O[n],top:i.indexOf(n)>-1,error:0==n,skipped:e.skippedNodes&&e.skippedNodes.indexOf(n)>-1}))),e.propSources&&(this.nodeSet=this.nodeSet.extend(...e.propSources)),this.strict=!1,this.bufferLength=ro;let r=Of(e.tokenData);this.context=e.context,this.specializerSpecs=e.specialized||[],this.specialized=new Uint16Array(this.specializerSpecs.length);for(let e=0;e"number"==typeof e?new of(r,e):e),this.topRules=e.topRules,this.dialects=e.dialects||{},this.dynamicPrecedences=e.dynamicPrecedences||null,this.tokenPrecTable=e.tokenPrec,this.termNames=e.termNames||null,this.maxNode=this.nodeSet.types.length-1,this.dialect=this.parseDialect(),this.top=this.topRules[Object.keys(this.topRules)[0]]}createParse(e,t,i){let O=new mf(this,e,t,i);for(let n of this.wrappers)O=n(O,e,t,i);return O}getGoto(e,t,i=!1){let O=this.goto;if(t>=O[0])return-1;for(let n=O[t+1];;){let t=O[n++],r=1&t,s=O[n++];if(r&&i)return s;for(let i=n+(t>>1);n0}validAction(e,t){return!!this.allActions(e,e=>e==t||null)}allActions(e,t){let i=this.stateSlot(e,4),O=i?t(i):void 0;for(let i=this.stateSlot(e,1);null==O;i+=3){if(65535==this.data[i]){if(1!=this.data[i+1])break;i=vf(this.data,i+2)}O=t(vf(this.data,i+1))}return O}nextStates(e){let t=[];for(let i=this.stateSlot(e,1);;i+=3){if(65535==this.data[i]){if(1!=this.data[i+1])break;i=vf(this.data,i+2)}if(!(1&this.data[i+2])){let e=this.data[i+1];t.some((t,i)=>1&i&&t==e)||t.push(this.data[i],e)}}return t}configure(e){let t=Object.assign(Object.create(yf.prototype),this);if(e.props&&(t.nodeSet=this.nodeSet.extend(...e.props)),e.top){let i=this.topRules[e.top];if(!i)throw new RangeError(`Invalid top rule name ${e.top}`);t.top=i}return e.tokenizers&&(t.tokenizers=this.tokenizers.map(t=>{let i=e.tokenizers.find(e=>e.from==t);return i?i.to:t})),e.specializers&&(t.specializers=this.specializers.slice(),t.specializerSpecs=this.specializerSpecs.map((i,O)=>{let n=e.specializers.find(e=>e.from==i.external);if(!n)return i;let r=Object.assign(Object.assign({},i),{external:n.to});return t.specializers[O]=wf(r),r})),e.contextTracker&&(t.context=e.contextTracker),e.dialect&&(t.dialect=this.parseDialect(e.dialect)),null!=e.strict&&(t.strict=e.strict),e.wrap&&(t.wrappers=t.wrappers.concat(e.wrap)),null!=e.bufferLength&&(t.bufferLength=e.bufferLength),t}hasWrappers(){return this.wrappers.length>0}getName(e){return this.termNames?this.termNames[e]:String(e<=this.maxNode&&this.nodeSet.types[e].name||e)}get eofTerm(){return this.maxNode+1}get topNode(){return this.nodeSet.types[this.top[1]]}dynamicPrecedence(e){let t=this.dynamicPrecedences;return null==t?0:t[e]||0}parseDialect(e){let t=Object.keys(this.dialects),i=t.map(()=>!1);if(e)for(let O of e.split(" ")){let e=t.indexOf(O);e>=0&&(i[e]=!0)}let O=null;for(let e=0;ee.external(i,O)<<1|t}return e.get}const bf=[9,10,11,12,13,32,133,160,5760,8192,8193,8194,8195,8196,8197,8198,8199,8200,8201,8202,8232,8233,8239,8287,12288],xf=new Tf({start:!1,shift:(e,t)=>5==t||6==t||320==t?e:321==t,strict:!1}),Xf=new lf((e,t)=>{let{next:i}=e;(125==i||-1==i||t.context)&&e.acceptToken(318)},{contextual:!0,fallback:!0}),kf=new lf((e,t)=>{let i,{next:O}=e;bf.indexOf(O)>-1||(47!=O||47!=(i=e.peek(1))&&42!=i)&&(125==O||59==O||-1==O||t.context||e.acceptToken(316))},{contextual:!0}),Zf=new lf((e,t)=>{91!=e.next||t.context||e.acceptToken(317)},{contextual:!0}),Rf=new lf((e,t)=>{let{next:i}=e;if(43==i||45==i){if(e.advance(),i==e.next){e.advance();let i=!t.context&&t.canShift(1);e.acceptToken(i?1:2)}}else 63==i&&46==e.peek(1)&&(e.advance(),e.advance(),(e.next<48||e.next>57)&&e.acceptToken(3))},{contextual:!0});function zf(e,t){return e>=65&&e<=90||e>=97&&e<=122||95==e||e>=192||!t&&e>=48&&e<=57}const _f=new lf((e,t)=>{if(60!=e.next||!t.dialectEnabled(0))return;if(e.advance(),47==e.next)return;let i=0;for(;bf.indexOf(e.next)>-1;)e.advance(),i++;if(zf(e.next,!0)){for(e.advance(),i++;zf(e.next,!1);)e.advance(),i++;for(;bf.indexOf(e.next)>-1;)e.advance(),i++;if(44==e.next)return;for(let t=0;;t++){if(7==t){if(!zf(e.next,!0))return;break}if(e.next!="extends".charCodeAt(t))break;e.advance(),i++}}e.acceptToken(4,-i)}),Vf=Oa({"get set async static":va.modifier,"for while do if else switch try catch finally return throw break continue default case defer":va.controlKeyword,"in of await yield void typeof delete instanceof as satisfies":va.operatorKeyword,"let var const using function class extends":va.definitionKeyword,"import export from":va.moduleKeyword,"with debugger new":va.keyword,TemplateString:va.special(va.string),super:va.atom,BooleanLiteral:va.bool,this:va.self,null:va.null,Star:va.modifier,VariableName:va.variableName,"CallExpression/VariableName TaggedTemplateExpression/VariableName":va.function(va.variableName),VariableDefinition:va.definition(va.variableName),Label:va.labelName,PropertyName:va.propertyName,PrivatePropertyName:va.special(va.propertyName),"CallExpression/MemberExpression/PropertyName":va.function(va.propertyName),"FunctionDeclaration/VariableDefinition":va.function(va.definition(va.variableName)),"ClassDeclaration/VariableDefinition":va.definition(va.className),"NewExpression/VariableName":va.className,PropertyDefinition:va.definition(va.propertyName),PrivatePropertyDefinition:va.definition(va.special(va.propertyName)),UpdateOp:va.updateOperator,"LineComment Hashbang":va.lineComment,BlockComment:va.blockComment,Number:va.number,String:va.string,Escape:va.escape,ArithOp:va.arithmeticOperator,LogicOp:va.logicOperator,BitOp:va.bitwiseOperator,CompareOp:va.compareOperator,RegExp:va.regexp,Equals:va.definitionOperator,Arrow:va.function(va.punctuation),": Spread":va.punctuation,"( )":va.paren,"[ ]":va.squareBracket,"{ }":va.brace,"InterpolationStart InterpolationEnd":va.special(va.brace),".":va.derefOperator,", ;":va.separator,"@":va.meta,TypeName:va.typeName,TypeDefinition:va.definition(va.typeName),"type enum interface implements namespace module declare":va.definitionKeyword,"abstract global Privacy readonly override":va.modifier,"is keyof unique infer asserts":va.operatorKeyword,JSXAttributeValue:va.attributeValue,JSXText:va.content,"JSXStartTag JSXStartCloseTag JSXSelfCloseEndTag JSXEndTag":va.angleBracket,"JSXIdentifier JSXNameSpacedName":va.tagName,"JSXAttribute/JSXIdentifier JSXAttribute/JSXNameSpacedName":va.attributeName,"JSXBuiltin/JSXIdentifier":va.standard(va.tagName)}),Yf={__proto__:null,export:20,as:25,from:33,default:36,async:41,function:42,in:52,out:55,const:56,extends:60,this:64,true:72,false:72,null:84,void:88,typeof:92,super:108,new:142,delete:154,yield:163,await:167,class:172,public:235,private:235,protected:235,readonly:237,instanceof:256,satisfies:259,import:292,keyof:349,unique:353,infer:359,asserts:395,is:397,abstract:417,implements:419,type:421,let:424,var:426,using:429,interface:435,enum:439,namespace:445,module:447,declare:451,global:455,defer:471,for:476,of:485,while:488,with:492,do:496,if:500,else:502,switch:506,case:512,try:518,catch:522,finally:526,return:530,throw:534,break:538,continue:542,debugger:546},qf={__proto__:null,async:129,get:131,set:133,declare:195,public:197,private:197,protected:197,static:199,abstract:201,override:203,readonly:209,accessor:211,new:401},Wf={__proto__:null,"<":193},Uf=yf.deserialize({version:14,states:"$F|Q%TQlOOO%[QlOOO'_QpOOP(lO`OOO*zQ!0MxO'#CiO+RO#tO'#CjO+aO&jO'#CjO+oO#@ItO'#DaO.QQlO'#DgO.bQlO'#DrO%[QlO'#DzO0fQlO'#ESOOQ!0Lf'#E['#E[O1PQ`O'#EXOOQO'#Ep'#EpOOQO'#Il'#IlO1XQ`O'#GsO1dQ`O'#EoO1iQ`O'#EoO3hQ!0MxO'#JrO6[Q!0MxO'#JsO6uQ`O'#F]O6zQ,UO'#FtOOQ!0Lf'#Ff'#FfO7VO7dO'#FfO9XQMhO'#F|O9`Q`O'#F{OOQ!0Lf'#Js'#JsOOQ!0Lb'#Jr'#JrO9eQ`O'#GwOOQ['#K_'#K_O9pQ`O'#IYO9uQ!0LrO'#IZOOQ['#J`'#J`OOQ['#I_'#I_Q`QlOOQ`QlOOO9}Q!L^O'#DvO:UQlO'#EOO:]QlO'#EQO9kQ`O'#GsO:dQMhO'#CoO:rQ`O'#EnO:}Q`O'#EyO;hQMhO'#FeO;xQ`O'#GsOOQO'#K`'#K`O;}Q`O'#K`O<]Q`O'#G{O<]Q`O'#G|O<]Q`O'#HOO9kQ`O'#HRO=SQ`O'#HUO>kQ`O'#CeO>{Q`O'#HcO?TQ`O'#HiO?TQ`O'#HkO`QlO'#HmO?TQ`O'#HoO?TQ`O'#HrO?YQ`O'#HxO?_Q!0LsO'#IOO%[QlO'#IQO?jQ!0LsO'#ISO?uQ!0LsO'#IUO9uQ!0LrO'#IWO@QQ!0MxO'#CiOASQpO'#DlQOQ`OOO%[QlO'#EQOAjQ`O'#ETO:dQMhO'#EnOAuQ`O'#EnOBQQ!bO'#FeOOQ['#Cg'#CgOOQ!0Lb'#Dq'#DqOOQ!0Lb'#Jv'#JvO%[QlO'#JvOOQO'#Jy'#JyOOQO'#Ih'#IhOCQQpO'#EgOOQ!0Lb'#Ef'#EfOOQ!0Lb'#J}'#J}OC|Q!0MSO'#EgODWQpO'#EWOOQO'#Jx'#JxODlQpO'#JyOEyQpO'#EWODWQpO'#EgPFWO&2DjO'#CbPOOO)CD})CD}OOOO'#I`'#I`OFcO#tO,59UOOQ!0Lh,59U,59UOOOO'#Ia'#IaOFqO&jO,59UOGPQ!L^O'#DcOOOO'#Ic'#IcOGWO#@ItO,59{OOQ!0Lf,59{,59{OGfQlO'#IdOGyQ`O'#JtOIxQ!fO'#JtO+}QlO'#JtOJPQ`O,5:ROJgQ`O'#EpOJtQ`O'#KTOKPQ`O'#KSOKPQ`O'#KSOKXQ`O,5;^OK^Q`O'#KROOQ!0Ln,5:^,5:^OKeQlO,5:^OMcQ!0MxO,5:fONSQ`O,5:nONmQ!0LrO'#KQONtQ`O'#KPO9eQ`O'#KPO! YQ`O'#KPO! bQ`O,5;]O! gQ`O'#KPO!#lQ!fO'#JsOOQ!0Lh'#Ci'#CiO%[QlO'#ESO!$[Q!fO,5:sOOQS'#Jz'#JzOOQO-EtOOQ['#Jh'#JhOOQ[,5>u,5>uOOQ[-E<]-E<]O!TO`QlO,5>VO!LOQ`O,5>XO`QlO,5>ZO!LTQ`O,5>^O!LYQlO,5>dOOQ[,5>j,5>jO%[QlO,5>jO9uQ!0LrO,5>lOOQ[,5>n,5>nO#!dQ`O,5>nOOQ[,5>p,5>pO#!dQ`O,5>pOOQ[,5>r,5>rO##QQpO'#D_O%[QlO'#JvO##sQpO'#JvO##}QpO'#DmO#$`QpO'#DmO#&qQlO'#DmO#&xQ`O'#JuO#'QQ`O,5:WO#'VQ`O'#EtO#'eQ`O'#KUO#'mQ`O,5;_O#'rQpO'#DmO#(PQpO'#EVOOQ!0Lf,5:o,5:oO%[QlO,5:oO#(WQ`O,5:oO?YQ`O,5;YO!CUQpO,5;YO!C^QMhO,5;YO:dQMhO,5;YO#(`Q`O,5@bO#(eQ07dO,5:sOOQO-EPO$6^Q`O,5>POOQ[1G3i1G3iO`QlO1G3iOOQ[1G3o1G3oOOQ[1G3q1G3qO?TQ`O1G3sO$6cQlO1G3uO$:gQlO'#HtOOQ[1G3x1G3xO$:tQ`O'#HzO?YQ`O'#H|OOQ[1G4O1G4OO$:|QlO1G4OO9uQ!0LrO1G4UOOQ[1G4W1G4WOOQ!0Lb'#G_'#G_O9uQ!0LrO1G4YO9uQ!0LrO1G4[O$?TQ`O,5@bO!)[QlO,5;`O9eQ`O,5;`O?YQ`O,5:XO!)[QlO,5:XO!CUQpO,5:XO$?YQ?MtO,5:XOOQO,5;`,5;`O$?dQpO'#IeO$?zQ`O,5@aOOQ!0Lf1G/r1G/rO$@SQpO'#IkO$@^Q`O,5@pOOQ!0Lb1G0y1G0yO#$`QpO,5:XOOQO'#Ig'#IgO$@fQpO,5:qOOQ!0Ln,5:q,5:qO#(ZQ`O1G0ZOOQ!0Lf1G0Z1G0ZO%[QlO1G0ZOOQ!0Lf1G0t1G0tO?YQ`O1G0tO!CUQpO1G0tO!C^QMhO1G0tOOQ!0Lb1G5|1G5|O!ByQ!0LrO1G0^OOQO1G0m1G0mO%[QlO1G0mO$@mQ!0LrO1G0mO$@xQ!0LrO1G0mO!CUQpO1G0^ODWQpO1G0^O$AWQ!0LrO1G0mOOQO1G0^1G0^O$AlQ!0MxO1G0mPOOO-E<[-E<[POOO1G.h1G.hOOOO1G/i1G/iO$AvQ!bO,5QQpO,5@}OOQ!0Lb1G3c1G3cOOQ[7+$V7+$VO@zQ`O7+$VO9uQ!0LrO7+$VO%>]Q`O7+$VO%[QlO1G6lO%[QlO1G6mO%>bQ!0LrO1G6lO%>lQlO1G3kO%>sQ`O1G3kO%>xQlO1G3kOOQ[7+)T7+)TO9uQ!0LrO7+)_O`QlO7+)aOOQ['#Kh'#KhOOQ['#JS'#JSO%?PQlO,5>`OOQ[,5>`,5>`O%[QlO'#HuO%?^Q`O'#HwOOQ[,5>f,5>fO9eQ`O,5>fOOQ[,5>h,5>hOOQ[7+)j7+)jOOQ[7+)p7+)pOOQ[7+)t7+)tOOQ[7+)v7+)vO%?cQpO1G5|O%?}Q?MtO1G0zO%@XQ`O1G0zOOQO1G/s1G/sO%@dQ?MtO1G/sO?YQ`O1G/sO!)[QlO'#DmOOQO,5?P,5?POOQO-ERQ`O7+,WO&>WQ`O7+,XO%[QlO7+,WO%[QlO7+,XOOQ[7+)V7+)VO&>]Q`O7+)VO&>bQlO7+)VO&>iQ`O7+)VOOQ[<nQ`O,5>aOOQ[,5>c,5>cO&>sQ`O1G4QO9eQ`O7+&fO!)[QlO7+&fOOQO7+%_7+%_O&>xQ?MtO1G6ZO?YQ`O7+%_OOQ!0Lf<yQ?MvO,5?aO'@|Q?MvO,5?cO'CPQ?MvO7+'|O'DuQMjOG27TOOQO<VO!l$xO#jROe!iOpkOrPO(T)]O(VTO(YUO(aVO(o[O~O!]$_Oa$qa'z$qa'w$qa!k$qa!Y$qa!_$qa%i$qa!g$qa~Ol)dO~P!&zOh%VOp%WOr%XOs$tOt$tOz%YO|%ZO!O%]O!S${O!_$|O!i%bO!l$xO#j%cO$W%`O$t%^O$v%_O$y%aO(T(vO(VTO(YUO(a$uO(y$}O(z%PO~Og(pP~P!,TO!Q)iO!g)hO!_$^X$Z$^X$]$^X$_$^X$f$^X~O!g)hO!_({X$Z({X$]({X$_({X$f({X~O!Q)iO~P!.^O!Q)iO!_({X$Z({X$]({X$_({X$f({X~O!_)kO$Z)oO$])jO$_)jO$f)pO~O![)sO~P!)[O$]$hO$_$gO$f)wO~On$zX!Q$zX#S$zX'y$zX(y$zX(z$zX~OgmXg$zXnmX!]mX#`mX~P!0SOx)yO(b)zO(c)|O~On*VO!Q*OO'y*PO(y$}O(z%PO~Og)}O~P!1WOg*WO~Oh%VOr%XOs$tOt$tOz%YO|%ZO!OVO!l$xO#jVO!l$xO#jROe!iOpkOrPO(VTO(YUO(aVO(o[O~O(T=QO~P#$qO!]-]O!^(iX~O!^-_O~O!g-VO#`-UO!]#hX!^#hX~O!]-`O!^(xX~O!^-bO~O!c-cO!d-cO(U!lO~P#$`O!^-fO~P'_On-iO!_'`O~O!Y-nO~Os!{a!b!{a!c!{a!d!{a#T!{a#U!{a#V!{a#W!{a#X!{a#[!{a#]!{a(U!{a(V!{a(Y!{a(e!{a(o!{a~P!#vO!p-sO#`-qO~PChO!c-uO!d-uO(U!lO~PDWOa%nO#`-qO'z%nO~Oa%nO!g#vO#`-qO'z%nO~Oa%nO!g#vO!p-sO#`-qO'z%nO(r'pO~O(P'xO(Q'xO(R-zO~Ov-{O~O!Y'Wa!]'Wa~P!:tO![.PO!Y'WX!]'WX~P%[O!](VO!Y(ha~O!Y(ha~PHRO!](^O!Y(va~O!S%hO![.TO!_%iO(T%gO!Y'^X!]'^X~O#`.VO!](ta!k(taa(ta'z(ta~O!g#vO~P#,wO!](jO!k(sa~O!S%hO!_%iO#j.ZO(T%gO~Op.`O!S%hO![.]O!_%iO!|]O#i._O#j.]O(T%gO!]'aX!k'aX~OR.dO!l#xO~Oh%VOn.gO!_'`O%i.fO~Oa#ci!]#ci'z#ci'w#ci!Y#ci!k#civ#ci!_#ci%i#ci!g#ci~P!:tOn>]O!Q*OO'y*PO(y$}O(z%PO~O#k#_aa#_a#`#_a'z#_a!]#_a!k#_a!_#_a!Y#_a~P#/sO#k(`XP(`XR(`X[(`Xa(`Xj(`Xr(`X!S(`X!l(`X!p(`X#R(`X#n(`X#o(`X#p(`X#q(`X#r(`X#s(`X#t(`X#u(`X#v(`X#x(`X#z(`X#{(`X'z(`X(a(`X(r(`X!k(`X!Y(`X'w(`Xv(`X!_(`X%i(`X!g(`X~P!6kO!].tO!k(kX~P!:tO!k.wO~O!Y.yO~OP$[OR#zO!Q#yO!S#{O!l#xO!p$[O(aVO[#mia#mij#mir#mi!]#mi#R#mi#o#mi#p#mi#q#mi#r#mi#s#mi#t#mi#u#mi#v#mi#x#mi#z#mi#{#mi'z#mi(r#mi(y#mi(z#mi'w#mi!Y#mi!k#miv#mi!_#mi%i#mi!g#mi~O#n#mi~P#3cO#n$OO~P#3cOP$[OR#zOr$aO!Q#yO!S#{O!l#xO!p$[O#n$OO#o$PO#p$PO#q$PO(aVO[#mia#mij#mi!]#mi#R#mi#s#mi#t#mi#u#mi#v#mi#x#mi#z#mi#{#mi'z#mi(r#mi(y#mi(z#mi'w#mi!Y#mi!k#miv#mi!_#mi%i#mi!g#mi~O#r#mi~P#6QO#r$QO~P#6QOP$[OR#zO[$cOj$ROr$aO!Q#yO!S#{O!l#xO!p$[O#R$RO#n$OO#o$PO#p$PO#q$PO#r$QO#s$RO#t$RO#u$bO(aVOa#mi!]#mi#x#mi#z#mi#{#mi'z#mi(r#mi(y#mi(z#mi'w#mi!Y#mi!k#miv#mi!_#mi%i#mi!g#mi~O#v#mi~P#8oOP$[OR#zO[$cOj$ROr$aO!Q#yO!S#{O!l#xO!p$[O#R$RO#n$OO#o$PO#p$PO#q$PO#r$QO#s$RO#t$RO#u$bO#v$SO(aVO(z#}Oa#mi!]#mi#z#mi#{#mi'z#mi(r#mi(y#mi'w#mi!Y#mi!k#miv#mi!_#mi%i#mi!g#mi~O#x$UO~P#;VO#x#mi~P#;VO#v$SO~P#8oOP$[OR#zO[$cOj$ROr$aO!Q#yO!S#{O!l#xO!p$[O#R$RO#n$OO#o$PO#p$PO#q$PO#r$QO#s$RO#t$RO#u$bO#v$SO#x$UO(aVO(y#|O(z#}Oa#mi!]#mi#{#mi'z#mi(r#mi'w#mi!Y#mi!k#miv#mi!_#mi%i#mi!g#mi~O#z#mi~P#={O#z$WO~P#={OP]XR]X[]Xj]Xr]X!Q]X!S]X!l]X!p]X#R]X#S]X#`]X#kfX#n]X#o]X#p]X#q]X#r]X#s]X#t]X#u]X#v]X#x]X#z]X#{]X$Q]X(a]X(r]X(y]X(z]X!]]X!^]X~O$O]X~P#@jOP$[OR#zO[]O!Q*OO'y*PO(y$}O(z%POP#miR#mi!S#mi!l#mi!p#mi#n#mi#o#mi#p#mi#q#mi(a#mi~P#EyO!]/POg(pX~P!1WOg/RO~Oa$Pi!]$Pi'z$Pi'w$Pi!Y$Pi!k$Piv$Pi!_$Pi%i$Pi!g$Pi~P!:tO$]/SO$_/SO~O$]/TO$_/TO~O!g)hO#`/UO!_$cX$Z$cX$]$cX$_$cX$f$cX~O![/VO~O!_)kO$Z/XO$])jO$_)jO$f/YO~O!]VO!l$xO#j^O!Q*OO'y*PO(y$}O(z%POP#miR#mi!S#mi!l#mi!p#mi#n#mi#o#mi#p#mi#q#mi(a#mi~P&,QO#S$dOP(`XR(`X[(`Xj(`Xn(`Xr(`X!Q(`X!S(`X!l(`X!p(`X#R(`X#n(`X#o(`X#p(`X#q(`X#r(`X#s(`X#t(`X#u(`X#v(`X#x(`X#z(`X#{(`X$O(`X'y(`X(a(`X(r(`X(y(`X(z(`X!](`X!^(`X~O$O$Pi!]$Pi!^$Pi~P#BwO$O!ri!^!ri~P$+oOg']a!]']a~P!1WO!^7nO~O!]'da!^'da~P#BwO!Y7oO~P#/sO!g#vO(r'pO!]'ea!k'ea~O!]/pO!k)Oi~O!]/pO!g#vO!k)Oi~Og$|q!]$|q#`$|q$O$|q~P!1WO!Y'ga!]'ga~P#/sO!g7vO~O!]/yO!Y)Pi~P#/sO!]/yO!Y)Pi~O!Y7yO~Oh%VOr8OO!l%eO(r'pO~Oj8QO!g#vO~Or8TO!g#vO(r'pO~O!Q*OO'y*PO(z%POn'ja(y'ja!]'ja#`'ja~Og'ja$O'ja~P&5RO!Q*OO'y*POn'la(y'la(z'la!]'la#`'la~Og'la$O'la~P&5tOg(_q!](_q~P!1WO#`8VOg(_q!](_q~P!1WO!Y8WO~Og%Oq!]%Oq#`%Oq$O%Oq~P!1WOa$oy!]$oy'z$oy'w$oy!Y$oy!k$oyv$oy!_$oy%i$oy!g$oy~P!:tO!g6rO~O!]5[O!_)Qa~O!_'`OP$TaR$Ta[$Taj$Tar$Ta!Q$Ta!S$Ta!]$Ta!l$Ta!p$Ta#R$Ta#n$Ta#o$Ta#p$Ta#q$Ta#r$Ta#s$Ta#t$Ta#u$Ta#v$Ta#x$Ta#z$Ta#{$Ta(a$Ta(r$Ta(y$Ta(z$Ta~O%i7WO~P&8fO%^8[Oa%[i!_%[i'z%[i!]%[i~Oa#cy!]#cy'z#cy'w#cy!Y#cy!k#cyv#cy!_#cy%i#cy!g#cy~P!:tO[8^O~Ob8`O(T+qO(VTO(YUO~O!]1TO!^)Xi~O`8dO~O(e(|O!]'pX!^'pX~O!]5uO!^)Ua~O!^8nO~P%;eO(o!sO~P$&YO#[8oO~O!_1oO~O!_1oO%i8qO~On8tO!_1oO%i8qO~O[8yO!]'sa!^'sa~O!]1zO!^)Vi~O!k8}O~O!k9OO~O!k9RO~O!k9RO~P%[Oa9TO~O!g9UO~O!k9VO~O!](wi!^(wi~P#BwOa%nO#`9_O'z%nO~O!](ty!k(tya(ty'z(ty~P!:tO!](jO!k(sy~O%i9bO~P&8fO!_'`O%i9bO~O#k$|qP$|qR$|q[$|qa$|qj$|qr$|q!S$|q!]$|q!l$|q!p$|q#R$|q#n$|q#o$|q#p$|q#q$|q#r$|q#s$|q#t$|q#u$|q#v$|q#x$|q#z$|q#{$|q'z$|q(a$|q(r$|q!k$|q!Y$|q'w$|q#`$|qv$|q!_$|q%i$|q!g$|q~P#/sO#k'jaP'jaR'ja['jaa'jaj'jar'ja!S'ja!l'ja!p'ja#R'ja#n'ja#o'ja#p'ja#q'ja#r'ja#s'ja#t'ja#u'ja#v'ja#x'ja#z'ja#{'ja'z'ja(a'ja(r'ja!k'ja!Y'ja'w'jav'ja!_'ja%i'ja!g'ja~P&5RO#k'laP'laR'la['laa'laj'lar'la!S'la!l'la!p'la#R'la#n'la#o'la#p'la#q'la#r'la#s'la#t'la#u'la#v'la#x'la#z'la#{'la'z'la(a'la(r'la!k'la!Y'la'w'lav'la!_'la%i'la!g'la~P&5tO#k%OqP%OqR%Oq[%Oqa%Oqj%Oqr%Oq!S%Oq!]%Oq!l%Oq!p%Oq#R%Oq#n%Oq#o%Oq#p%Oq#q%Oq#r%Oq#s%Oq#t%Oq#u%Oq#v%Oq#x%Oq#z%Oq#{%Oq'z%Oq(a%Oq(r%Oq!k%Oq!Y%Oq'w%Oq#`%Oqv%Oq!_%Oq%i%Oq!g%Oq~P#/sO!]'Yi!k'Yi~P!:tO$O#cq!]#cq!^#cq~P#BwO(y$}OP%aaR%aa[%aaj%aar%aa!S%aa!l%aa!p%aa#R%aa#n%aa#o%aa#p%aa#q%aa#r%aa#s%aa#t%aa#u%aa#v%aa#x%aa#z%aa#{%aa$O%aa(a%aa(r%aa!]%aa!^%aa~On%aa!Q%aa'y%aa(z%aa~P&IyO(z%POP%caR%ca[%caj%car%ca!S%ca!l%ca!p%ca#R%ca#n%ca#o%ca#p%ca#q%ca#r%ca#s%ca#t%ca#u%ca#v%ca#x%ca#z%ca#{%ca$O%ca(a%ca(r%ca!]%ca!^%ca~On%ca!Q%ca'y%ca(y%ca~P&LQOn>^O!Q*OO'y*PO(z%PO~P&IyOn>^O!Q*OO'y*PO(y$}O~P&LQOR0kO!Q0kO!S0lO#S$dOP}a[}aj}an}ar}a!l}a!p}a#R}a#n}a#o}a#p}a#q}a#r}a#s}a#t}a#u}a#v}a#x}a#z}a#{}a$O}a'y}a(a}a(r}a(y}a(z}a!]}a!^}a~O!Q*OO'y*POP$saR$sa[$saj$san$sar$sa!S$sa!l$sa!p$sa#R$sa#n$sa#o$sa#p$sa#q$sa#r$sa#s$sa#t$sa#u$sa#v$sa#x$sa#z$sa#{$sa$O$sa(a$sa(r$sa(y$sa(z$sa!]$sa!^$sa~O!Q*OO'y*POP$uaR$ua[$uaj$uan$uar$ua!S$ua!l$ua!p$ua#R$ua#n$ua#o$ua#p$ua#q$ua#r$ua#s$ua#t$ua#u$ua#v$ua#x$ua#z$ua#{$ua$O$ua(a$ua(r$ua(y$ua(z$ua!]$ua!^$ua~On>^O!Q*OO'y*PO(y$}O(z%PO~OP%TaR%Ta[%Taj%Tar%Ta!S%Ta!l%Ta!p%Ta#R%Ta#n%Ta#o%Ta#p%Ta#q%Ta#r%Ta#s%Ta#t%Ta#u%Ta#v%Ta#x%Ta#z%Ta#{%Ta$O%Ta(a%Ta(r%Ta!]%Ta!^%Ta~P''VO$O$mq!]$mq!^$mq~P#BwO$O$oq!]$oq!^$oq~P#BwO!^9oO~O$O9pO~P!1WO!g#vO!]'ei!k'ei~O!g#vO(r'pO!]'ei!k'ei~O!]/pO!k)Oq~O!Y'gi!]'gi~P#/sO!]/yO!Y)Pq~Or9wO!g#vO(r'pO~O[9yO!Y9xO~P#/sO!Y9xO~Oj:PO!g#vO~Og(_y!](_y~P!1WO!]'na!_'na~P#/sOa%[q!_%[q'z%[q!]%[q~P#/sO[:UO~O!]1TO!^)Xq~O`:YO~O#`:ZO!]'pa!^'pa~O!]5uO!^)Ui~P#BwO!S:]O~O!_1oO%i:`O~O(VTO(YUO(e:eO~O!]1zO!^)Vq~O!k:hO~O!k:iO~O!k:jO~O!k:jO~P%[O#`:mO!]#hy!^#hy~O!]#hy!^#hy~P#BwO%i:rO~P&8fO!_'`O%i:rO~O$O#|y!]#|y!^#|y~P#BwOP$|iR$|i[$|ij$|ir$|i!S$|i!l$|i!p$|i#R$|i#n$|i#o$|i#p$|i#q$|i#r$|i#s$|i#t$|i#u$|i#v$|i#x$|i#z$|i#{$|i$O$|i(a$|i(r$|i!]$|i!^$|i~P''VO!Q*OO'y*PO(z%POP'iaR'ia['iaj'ian'iar'ia!S'ia!l'ia!p'ia#R'ia#n'ia#o'ia#p'ia#q'ia#r'ia#s'ia#t'ia#u'ia#v'ia#x'ia#z'ia#{'ia$O'ia(a'ia(r'ia(y'ia!]'ia!^'ia~O!Q*OO'y*POP'kaR'ka['kaj'kan'kar'ka!S'ka!l'ka!p'ka#R'ka#n'ka#o'ka#p'ka#q'ka#r'ka#s'ka#t'ka#u'ka#v'ka#x'ka#z'ka#{'ka$O'ka(a'ka(r'ka(y'ka(z'ka!]'ka!^'ka~O(y$}OP%aiR%ai[%aij%ain%air%ai!Q%ai!S%ai!l%ai!p%ai#R%ai#n%ai#o%ai#p%ai#q%ai#r%ai#s%ai#t%ai#u%ai#v%ai#x%ai#z%ai#{%ai$O%ai'y%ai(a%ai(r%ai(z%ai!]%ai!^%ai~O(z%POP%ciR%ci[%cij%cin%cir%ci!Q%ci!S%ci!l%ci!p%ci#R%ci#n%ci#o%ci#p%ci#q%ci#r%ci#s%ci#t%ci#u%ci#v%ci#x%ci#z%ci#{%ci$O%ci'y%ci(a%ci(r%ci(y%ci!]%ci!^%ci~O$O$oy!]$oy!^$oy~P#BwO$O#cy!]#cy!^#cy~P#BwO!g#vO!]'eq!k'eq~O!]/pO!k)Oy~O!Y'gq!]'gq~P#/sOr:|O!g#vO(r'pO~O[;QO!Y;PO~P#/sO!Y;PO~Og(_!R!](_!R~P!1WOa%[y!_%[y'z%[y!]%[y~P#/sO!]1TO!^)Xy~O!]5uO!^)Uq~O(T;XO~O!_1oO%i;[O~O!k;_O~O%i;dO~P&8fOP$|qR$|q[$|qj$|qr$|q!S$|q!l$|q!p$|q#R$|q#n$|q#o$|q#p$|q#q$|q#r$|q#s$|q#t$|q#u$|q#v$|q#x$|q#z$|q#{$|q$O$|q(a$|q(r$|q!]$|q!^$|q~P''VO!Q*OO'y*PO(z%POP'jaR'ja['jaj'jan'jar'ja!S'ja!l'ja!p'ja#R'ja#n'ja#o'ja#p'ja#q'ja#r'ja#s'ja#t'ja#u'ja#v'ja#x'ja#z'ja#{'ja$O'ja(a'ja(r'ja(y'ja!]'ja!^'ja~O!Q*OO'y*POP'laR'la['laj'lan'lar'la!S'la!l'la!p'la#R'la#n'la#o'la#p'la#q'la#r'la#s'la#t'la#u'la#v'la#x'la#z'la#{'la$O'la(a'la(r'la(y'la(z'la!]'la!^'la~OP%OqR%Oq[%Oqj%Oqr%Oq!S%Oq!l%Oq!p%Oq#R%Oq#n%Oq#o%Oq#p%Oq#q%Oq#r%Oq#s%Oq#t%Oq#u%Oq#v%Oq#x%Oq#z%Oq#{%Oq$O%Oq(a%Oq(r%Oq!]%Oq!^%Oq~P''VOg%e!Z!]%e!Z#`%e!Z$O%e!Z~P!1WO!Y;hO~P#/sOr;iO!g#vO(r'pO~O[;kO!Y;hO~P#/sO!]'pq!^'pq~P#BwO!]#h!Z!^#h!Z~P#BwO#k%e!ZP%e!ZR%e!Z[%e!Za%e!Zj%e!Zr%e!Z!S%e!Z!]%e!Z!l%e!Z!p%e!Z#R%e!Z#n%e!Z#o%e!Z#p%e!Z#q%e!Z#r%e!Z#s%e!Z#t%e!Z#u%e!Z#v%e!Z#x%e!Z#z%e!Z#{%e!Z'z%e!Z(a%e!Z(r%e!Z!k%e!Z!Y%e!Z'w%e!Z#`%e!Zv%e!Z!_%e!Z%i%e!Z!g%e!Z~P#/sOr;tO!g#vO(r'pO~O!Y;uO~P#/sOr;|O!g#vO(r'pO~O!Y;}O~P#/sOP%e!ZR%e!Z[%e!Zj%e!Zr%e!Z!S%e!Z!l%e!Z!p%e!Z#R%e!Z#n%e!Z#o%e!Z#p%e!Z#q%e!Z#r%e!Z#s%e!Z#t%e!Z#u%e!Z#v%e!Z#x%e!Z#z%e!Z#{%e!Z$O%e!Z(a%e!Z(r%e!Z!]%e!Z!^%e!Z~P''VOrROe!iOpkOrPO(T)]O(VTO(YUO(aVO(o[O~O!]WO!l$xO#jgPPP!>oI[PPPPPPPPP!BOP!C]PPI[!DnPI[PI[I[I[I[I[PI[!FQP!I[P!LbP!Lf!Lp!Lt!LtP!IXP!Lx!LxP#!OP#!SI[PI[#!Y#%_CjA^PA^PA^A^P#&lA^A^#)OA^#+vA^#.SA^A^#.r#1W#1W#1]#1f#1W#1qPP#1WPA^#2ZA^#6YA^A^6mPPP#:_PPP#:x#:xP#:xP#;`#:xPP#;fP#;]P#;]#;y#;]#P#>V#>]#>k#>q#>{#?R#?]#?c#?s#?y#@k#@}#AT#AZ#Ai#BO#Cs#DR#DY#Et#FS#Gt#HS#HY#H`#Hf#Hp#Hv#H|#IW#Ij#IpPPPPPPPPPPP#IvPPPPPPP#Jk#Mx$ b$ i$ qPPP$']P$'f$*_$0x$0{$1O$1}$2Q$2X$2aP$2g$2jP$3W$3[$4S$5b$5g$5}PP$6S$6Y$6^$6a$6e$6i$7e$7|$8e$8i$8l$8o$8y$8|$9Q$9UR!|RoqOXst!Z#d%m&r&t&u&w,s,x2[2_Y!vQ'`-e1o5{Q%tvQ%|yQ&T|Q&j!VS'W!e-]Q'f!iS'l!r!yU*k$|*Z*oQ+o%}S+|&V&WQ,d&dQ-c'_Q-m'gQ-u'mQ0[*qQ1b,OQ1y,eR<{SU+P%]S!S!nQ!r!v!y!z$|'W'_'`'l'm'n*k*o*q*r-]-c-e-u0[0_1o5{5}%[$ti#v$b$c$d$x${%O%Q%^%_%c)y*R*T*V*Y*a*g*w*x+f+i,S,V.f/P/d/m/x/y/{0`0b0i0j0o1f1i1q3c4^4_4j4o5Q5[5_6S7W7v8Q8V8[8q9b9p9y:P:`:r;Q;[;d;kP>X>Y>]>^Q&X|Q'U!eS'[%i-`Q+t&PQ,P&WQ,f&gQ0n+SQ1Y+uQ1_+{Q2Q,jQ2R,kQ5f1TQ5o1aQ6[1zQ6_1|Q6`2PQ8`5gQ8c5lQ8|6bQ:X8dQ:f8yQ;V:YR<}*ZrnOXst!V!Z#d%m&i&r&t&u&w,s,x2[2_R,h&k&z^OPXYstuvwz!Z!`!g!j!o#S#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$Z$_$a$e$n%m%t&R&k&n&o&r&t&u&w&{'T'b'r(V(](d(x(z)O)s)}*i+X+]+g,p,s,x-U-X-i-q.P.V.g.t.{/V/n0]0l0r1S1r2S2T2V2X2[2_2a2p3Q3W3d3l4T4z5w6T6e6f6i6s6|7[8t9T9_:Z:mR>S[#]WZ#W#Z'X(T!b%jm#h#i#l$x%e%h(^(h(i(j*Y*^*b+Z+[+^,o-V.T.Z.[.]._/m/p2d3[3]4a6r7TQ%wxQ%{yW&Q|&V&W,OQ&_!TQ'c!hQ'e!iQ(q#sS+n%|%}Q+r&PQ,_&bQ,c&dS-l'f'gQ.i(rQ1R+oQ1X+uQ1Z+vQ1^+zQ1t,`S1x,d,eQ2|-mQ5e1TQ5i1WQ5n1`Q6Z1yQ8_5gQ8b5kQ8f5pQ:T8^R;T:U!U$zi$d%O%Q%^%_%c*R*T*a*w*x/P/x0`0b0i0j0o4_5Q8V9p>P>X>Y!^%yy!i!u%{%|%}'V'e'f'g'k'u*j+n+o-Y-l-m-t0R0U1R2u2|3T4r4s4v7}9{Q+h%wQ,T&[Q,W&]Q,b&dQ.h(qQ1s,_U1w,c,d,eQ3e.iQ6U1tS6Y1x1yQ8x6Z#f>T#v$b$c$x${)y*V*Y*g+f+i,S,V.f/d/m/y/{1f1i1q3c4^4j4o5[5_6S7W7v8Q8[8q9b9y:P:`:r;Q;[;d;k]>^o>UPS&[!Q&iQ&]!RQ&^!SU*}%[%d=sR,R&Y%]%Si#v$b$c$d$x${%O%Q%^%_%c)y*R*T*V*Y*a*g*w*x+f+i,S,V.f/P/d/m/x/y/{0`0b0i0j0o1f1i1q3c4^4_4j4o5Q5[5_6S7W7v8Q8V8[8q9b9p9y:P:`:r;Q;[;d;kP>X>Y>]>^T)z$u){V+P%]S$i$^c#Y#e%q%s%u(S(Y(t(y)R)S)T)U)V)W)X)Y)Z)[)^)`)b)g)q+d+x-Z-x-}.S.U.s.v.z.|.}/O/b0p2k2n3O3V3k3p3q3r3s3t3u3v3w3x3y3z3{3|4P4Q4X5X5c6u6{7Q7a7b7k7l8k9X9]9g9m9n:o;W;`SQ'Y!eR2q-]!W!nQ!e!r!v!y!z$|'W'_'`'l'm'n*Z*k*o*q*r-]-c-e-u0[0_1o5{5}R1l,ZnqOXst!Z#d%m&r&t&u&w,s,x2[2_Q&y!^Q'v!xS(s#u<^Q+l%zQ,]&_Q,^&aQ-j'dQ-w'oS.r(x=PS0q+X=ZQ1P+mQ1n,[Q2c,zQ2e,{Q2m-WQ2z-kQ2}-oS5Y0r=eQ5a1QS5d1S=fQ6t2oQ6x2{Q6}3SQ8]5bQ9Y6vQ9Z6yQ9^7OR:l9V$d$]c#Y#e%s%u(S(Y(t(y)R)S)T)U)V)W)X)Y)Z)[)^)`)b)g)q+d+x-Z-x-}.S.U.s.v.z.}/O/b0p2k2n3O3V3k3p3q3r3s3t3u3v3w3x3y3z3{3|4P4Q4X5X5c6u6{7Q7a7b7k7l8k9X9]9g9m9n:o;W;`SS#q]SU$fd)_,mS(p#p'iU*v%R(w4OU0m+O.n7gQ5^0xQ7V3`Q9d7YR:s9em!tQ!r!v!y!z'`'l'm'n-e-u1o5{5}Q't!uS(f#g2US-s'k'wQ/s*]Q0R*jQ3U-vQ4f/tQ4r0TQ4s0UQ4x0^Q7r4`S7}4t4vS8R4y4{Q9r7sQ9v7yQ9{8OQ:Q8TS:{9w9xS;g:|;PS;s;h;iS;{;t;uSSR=o>R%^bOPWXYZstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$_$a$e%m%t&R&k&n&o&r&t&u&w&{'T'b'r(T(V(](d(x(z)O)}*i+X+]+g,p,s,x-i-q.P.V.g.t.{/n0]0l0r1S1r2S2T2V2X2[2_2a3Q3W3d3l4z6T6e6f6i6|7[8t9T9_Q%fj!^%xy!i!u%{%|%}'V'e'f'g'k'u*j+n+o-Y-l-m-t0R0U1R2u2|3T4r4s4v7}9{S&Oz!jQ+k%yQ,a&dW1v,b,c,d,eU6X1w1x1yS8w6Y6ZQ:d8x!r=j$Z$n'X)s-U-X/V2p4T5w6s:Z:mSQ=t>QR=u>R%QeOPXYstuvw!Z!`!g!o#S#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$_$a$e%m%t&R&k&n&r&t&u&w&{'T'b'r(V(](d(x(z)O)}*i+X+]+g,p,s,x-i-q.P.V.g.t.{/n0]0l0r1S1r2S2T2V2X2[2_2a3Q3W3d3l4z6T6e6f6i6|7[8t9T9_Y#bWZ#W#Z(T!b%jm#h#i#l$x%e%h(^(h(i(j*Y*^*b+Z+[+^,o-V.T.Z.[.]._/m/p2d3[3]4a6r7TQ,n&o!p=k$Z$n)s-U-X/V2p4T5w6s:Z:mSR=n'XU']!e%i*ZR2s-`%SdOPWXYZstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$_$a$e%m%t&R&k&n&r&t&u&w&{'T'b'r(T(V(](d(x(z)O)}*i+X+],p,s,x-i-q.P.V.t.{/n0]0l0r1S1r2S2T2V2X2[2_2a3Q3W3l4z6T6e6f6i6|8t9T9_!r)_$Z$n'X)s-U-X/V2p4T5w6s:Z:mSQ,m&oQ0x+gQ3`.gQ7Y3dR9e7[!b$Tc#Y%q(S(Y(t(y)Z)[)`)g+x-x-}.S.U.s.v/b0p3O3V3k3{5X5c6{7Q7a9]:oS)^)q-Z.|2k2n3p4P4X6u7b7k7l8k9X9g9m9n;W;`=vQ>X>ZR>Y>['QkOPWXYZstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$Z$_$a$e$n%m%t&R&k&n&o&r&t&u&w&{'T'X'b'r(T(V(](d(x(z)O)s)}*i+X+]+g,p,s,x-U-X-i-q.P.V.g.t.{/V/n0]0l0r1S1r2S2T2V2X2[2_2a2p3Q3W3d3l4T4z5w6T6e6f6i6s6|7[8t9T9_:Z:mSS$oh$pR4U/U'XgOPWXYZhstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$Z$_$a$e$n$p%m%t&R&k&n&o&r&t&u&w&{'T'X'b'r(T(V(](d(x(z)O)s)}*i+X+]+g,p,s,x-U-X-i-q.P.V.g.t.{/U/V/n0]0l0r1S1r2S2T2V2X2[2_2a2p3Q3W3d3l4T4z5w6T6e6f6i6s6|7[8t9T9_:Z:mST$kf$qQ$ifS)j$l)nR)v$qT$jf$qT)l$l)n'XhOPWXYZhstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$Z$_$a$e$n$p%m%t&R&k&n&o&r&t&u&w&{'T'X'b'r(T(V(](d(x(z)O)s)}*i+X+]+g,p,s,x-U-X-i-q.P.V.g.t.{/U/V/n0]0l0r1S1r2S2T2V2X2[2_2a2p3Q3W3d3l4T4z5w6T6e6f6i6s6|7[8t9T9_:Z:mST$oh$pQ$rhR)u$p%^jOPWXYZstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$_$a$e%m%t&R&k&n&o&r&t&u&w&{'T'b'r(T(V(](d(x(z)O)}*i+X+]+g,p,s,x-i-q.P.V.g.t.{/n0]0l0r1S1r2S2T2V2X2[2_2a3Q3W3d3l4z6T6e6f6i6|7[8t9T9_!s>Q$Z$n'X)s-U-X/V2p4T5w6s:Z:mS#glOPXZst!Z!`!o#S#d#o#{$n%m&k&n&o&r&t&u&w&{'T'b)O)s*i+]+g,p,s,x-i.g/V/n0]0l1r2S2T2V2X2[2_2a3d4T4z6T6e6f6i7[8t9T!U%Ri$d%O%Q%^%_%c*R*T*a*w*x/P/x0`0b0i0j0o4_5Q8V9p>P>X>Y#f(w#v$b$c$x${)y*V*Y*g+f+i,S,V.f/d/m/y/{1f1i1q3c4^4j4o5[5_6S7W7v8Q8[8q9b9y:P:`:r;Q;[;d;k]>^Q+T%aQ/c*Oo4OP>X>YQ*c$zU*l$|*Z*oQ+U%bQ0W*m#f=q#v$b$c$x${)y*V*Y*g+f+i,S,V.f/d/m/y/{1f1i1q3c4^4j4o5[5_6S7W7v8Q8[8q9b9y:P:`:r;Q;[;d;k]>^n=rTQ=x>UQ=y>VR=z>W!U%Ri$d%O%Q%^%_%c*R*T*a*w*x/P/x0`0b0i0j0o4_5Q8V9p>P>X>Y#f(w#v$b$c$x${)y*V*Y*g+f+i,S,V.f/d/m/y/{1f1i1q3c4^4j4o5[5_6S7W7v8Q8[8q9b9y:P:`:r;Q;[;d;k]>^o4OP>X>Y>]>^Q,U&]Q1h,WQ5s1gR8h5tV*n$|*Z*oU*n$|*Z*oT5z1o5{S0P*i/nQ4w0]T8S4z:]Q+j%xQ0V*lQ1O+kQ1u,aQ6W1vQ8v6XQ:c8wR;^:d!U%Oi$d%O%Q%^%_%c*R*T*a*w*x/P/x0`0b0i0j0o4_5Q8V9p>P>X>Yx*R$v)e*S*u+V/v0d0e4R4g5R5S5W7p8U:R:x=p=}>OS0`*t0a#f]>^nZ>[`=T3}7c7f7j9h:t:w;yS=_.l3iT=`7e9k!U%Qi$d%O%Q%^%_%c*R*T*a*w*x/P/x0`0b0i0j0o4_5Q8V9p>P>X>Y|*T$v)e*U*t+V/g/v0d0e4R4g4|5R5S5W7p8U:R:x=p=}>OS0b*u0c#f]>^nZ>[d=V3}7d7e7j9h9i:t:u:w;yS=a.m3jT=b7f9lrnOXst!V!Z#d%m&i&r&t&u&w,s,x2[2_Q&f!UR,p&ornOXst!V!Z#d%m&i&r&t&u&w,s,x2[2_R&f!UQ,Y&^R1d,RsnOXst!V!Z#d%m&i&r&t&u&w,s,x2[2_Q1p,_S6R1s1tU8p6P6Q6US:_8r8sS;Y:^:aQ;m;ZR;w;nQ&m!VR,i&iR6_1|R:f8yW&Q|&V&W,OR1Z+vQ&r!WR,s&sR,y&xT2],x2_R,}&yQ,|&yR2f,}Q'y!{R-y'ySsOtQ#dXT%ps#dQ#OTR'{#OQ#RUR'}#RQ){$uR/`){Q#UVR(Q#UQ#XWU(W#X(X.QQ(X#YR.Q(YQ-^'YR2r-^Q.u(yS3m.u3nR3n.vQ-e'`R2v-eY!rQ'`-e1o5{R'j!rQ/Q)eR4S/QU#_W%h*YU(_#_(`.RQ(`#`R.R(ZQ-a']R2t-at`OXst!V!Z#d%m&i&k&r&t&u&w,s,x2[2_S#hZ%eU#r`#h.[R.[(jQ(k#jQ.X(gW.a(k.X3X7RQ3X.YR7R3YQ)n$lR/W)nQ$phR)t$pQ$`cU)a$`-|O>Z>[Q/z*eU4k/z4m7xQ4m/|R7x4lS*o$|*ZR0Y*ox*S$v)e*t*u+V/v0d0e4R4g5R5S5W7p8U:R:x=p=}>O!d.j(u)c*[*e.l.m.q/_/k/|0v1e3h4[4h4l5r7]7`7w7z8X8Z9t9|:S:};R;e;j;v>Z>[U/h*S.j7ca7c3}7e7f7j9h:t:w;yQ0a*tQ3i.lU4}0a3i9kR9k7e|*U$v)e*t*u+V/g/v0d0e4R4g4|5R5S5W7p8U:R:x=p=}>O!h.k(u)c*[*e.l.m.q/_/k/|0v1e3f3h4[4h4l5r7]7^7`7w7z8X8Z9t9|:S:};R;e;j;v>Z>[U/j*U.k7de7d3}7e7f7j9h9i:t:u:w;yQ0c*uQ3j.mU5P0c3j9lR9l7fQ*z%UR0g*zQ5]0vR8Y5]Q+_%kR0u+_Q5v1jS8j5v:[R:[8kQ,[&_R1m,[Q5{1oR8m5{Q1{,fS6]1{8zR8z6_Q1U+rW5h1U5j8a:VQ5j1XQ8a5iR:V8bQ+w&QR1[+wQ2_,xR6m2_YrOXst#dQ&v!ZQ+a%mQ,r&rQ,t&tQ,u&uQ,w&wQ2Y,sS2],x2_R6l2[Q%opQ&z!_Q&}!aQ'P!bQ'R!cQ'q!uQ+`%lQ+l%zQ,Q&XQ,h&mQ-P&|W-p'k's't'wQ-w'oQ0X*nQ1P+mQ1c,PS2O,i,lQ2g-OQ2h-RQ2i-SQ2}-oW3P-r-s-v-xQ5a1QQ5m1_Q5q1eQ6V1uQ6a2QQ6k2ZU6z3O3R3UQ6}3SQ8]5bQ8e5oQ8g5rQ8l5zQ8u6WQ8{6`S9[6{7PQ9^7OQ:W8cQ:b8vQ:g8|Q:n9]Q;U:XQ;]:cQ;a:oQ;l;VR;o;^Q%zyQ'd!iQ'o!uU+m%{%|%}Q-W'VU-k'e'f'gS-o'k'uQ0Q*jS1Q+n+oQ2o-YS2{-l-mQ3S-tS4p0R0UQ5b1RQ6v2uQ6y2|Q7O3TU7{4r4s4vQ9z7}R;O9{S$wi>PR*{%VU%Ui%V>PR0f*yQ$viS(u#v+iS)c$b$cQ)e$dQ*[$xS*e${*YQ*t%OQ*u%QQ+Q%^Q+R%_Q+V%cQ.lPQ=}>XQ>O>YQ>Z>]R>[>^Q+O%]Q.nSR#[WR'Z!el!tQ!r!v!y!z'`'l'm'n-e-u1o5{5}S'V!e-]U*j$|*Z*oS-Y'W'_S0U*k*qQ0^*rQ2u-cQ4v0[R4{0_R({#xQ!fQT-d'`-e]!qQ!r'`-e1o5{Q#p]R'i < TypeParamList in out const TypeDefinition extends ThisType this LiteralType ArithOp Number BooleanLiteral TemplateType InterpolationEnd Interpolation InterpolationStart NullType null VoidType void TypeofType typeof MemberExpression . PropertyName [ TemplateString Escape Interpolation super RegExp ] ArrayExpression Spread , } { ObjectExpression Property async get set PropertyDefinition Block : NewTarget new NewExpression ) ( ArgList UnaryExpression delete LogicOp BitOp YieldExpression yield AwaitExpression await ParenthesizedExpression ClassExpression class ClassBody MethodDeclaration Decorator @ MemberExpression PrivatePropertyName CallExpression TypeArgList CompareOp < declare Privacy static abstract override PrivatePropertyDefinition PropertyDeclaration readonly accessor Optional TypeAnnotation Equals StaticBlock FunctionExpression ArrowFunction ParamList ParamList ArrayPattern ObjectPattern PatternProperty Privacy readonly Arrow MemberExpression BinaryExpression ArithOp ArithOp ArithOp ArithOp BitOp CompareOp instanceof satisfies CompareOp BitOp BitOp BitOp LogicOp LogicOp ConditionalExpression LogicOp LogicOp AssignmentExpression UpdateOp PostfixExpression CallExpression InstantiationExpression TaggedTemplateExpression DynamicImport import ImportMeta JSXElement JSXSelfCloseEndTag JSXSelfClosingTag JSXIdentifier JSXBuiltin JSXIdentifier JSXNamespacedName JSXMemberExpression JSXSpreadAttribute JSXAttribute JSXAttributeValue JSXEscape JSXEndTag JSXOpenTag JSXFragmentTag JSXText JSXEscape JSXStartCloseTag JSXCloseTag PrefixCast < ArrowFunction TypeParamList SequenceExpression InstantiationExpression KeyofType keyof UniqueType unique ImportType InferredType infer TypeName ParenthesizedType FunctionSignature ParamList NewSignature IndexedType TupleType Label ArrayType ReadonlyType ObjectType MethodType PropertyType IndexSignature PropertyDefinition CallSignature TypePredicate asserts is NewSignature new UnionType LogicOp IntersectionType LogicOp ConditionalType ParameterizedType ClassDeclaration abstract implements type VariableDeclaration let var using TypeAliasDeclaration InterfaceDeclaration interface EnumDeclaration enum EnumBody NamespaceDeclaration namespace module AmbientDeclaration declare GlobalDeclaration global ClassDeclaration ClassBody AmbientFunctionDeclaration ExportGroup VariableName VariableName ImportDeclaration defer ImportGroup ForStatement for ForSpec ForInSpec ForOfSpec of WhileStatement while WithStatement with DoStatement do IfStatement if else SwitchStatement switch SwitchBody CaseLabel case DefaultLabel TryStatement try CatchClause catch FinallyClause finally ReturnStatement return ThrowStatement throw BreakStatement break ContinueStatement continue DebuggerStatement debugger LabeledStatement ExpressionStatement SingleExpression SingleClassItem",maxTerm:380,context:xf,nodeProps:[["isolate",-8,5,6,14,37,39,51,53,55,""],["group",-26,9,17,19,68,207,211,215,216,218,221,224,234,237,243,245,247,249,252,258,264,266,268,270,272,274,275,"Statement",-34,13,14,32,35,36,42,51,54,55,57,62,70,72,76,80,82,84,85,110,111,120,121,136,139,141,142,143,144,145,147,148,167,169,171,"Expression",-23,31,33,37,41,43,45,173,175,177,178,180,181,182,184,185,186,188,189,190,201,203,205,206,"Type",-3,88,103,109,"ClassItem"],["openedBy",23,"<",38,"InterpolationStart",56,"[",60,"{",73,"(",160,"JSXStartCloseTag"],["closedBy",-2,24,168,">",40,"InterpolationEnd",50,"]",61,"}",74,")",165,"JSXEndTag"]],propSources:[Vf],skippedNodes:[0,5,6,278],repeatNodeCount:37,tokenData:"$Fq07[R!bOX%ZXY+gYZ-yZ[+g[]%Z]^.c^p%Zpq+gqr/mrs3cst:_tuEruvJSvwLkwx! Yxy!'iyz!(sz{!)}{|!,q|}!.O}!O!,q!O!P!/Y!P!Q!9j!Q!R#:O!R![#<_![!]#I_!]!^#Jk!^!_#Ku!_!`$![!`!a$$v!a!b$*T!b!c$,r!c!}Er!}#O$-|#O#P$/W#P#Q$4o#Q#R$5y#R#SEr#S#T$7W#T#o$8b#o#p$x#r#s$@U#s$f%Z$f$g+g$g#BYEr#BY#BZ$A`#BZ$ISEr$IS$I_$A`$I_$I|Er$I|$I}$Dk$I}$JO$Dk$JO$JTEr$JT$JU$A`$JU$KVEr$KV$KW$A`$KW&FUEr&FU&FV$A`&FV;'SEr;'S;=`I|<%l?HTEr?HT?HU$A`?HUOEr(n%d_$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z&j&hT$i&jO!^&c!_#o&c#p;'S&c;'S;=`&w<%lO&c&j&zP;=`<%l&c'|'U]$i&j(Z!bOY&}YZ&cZw&}wx&cx!^&}!^!_'}!_#O&}#O#P&c#P#o&}#o#p'}#p;'S&};'S;=`(l<%lO&}!b(SU(Z!bOY'}Zw'}x#O'}#P;'S'};'S;=`(f<%lO'}!b(iP;=`<%l'}'|(oP;=`<%l&}'[(y]$i&j(WpOY(rYZ&cZr(rrs&cs!^(r!^!_)r!_#O(r#O#P&c#P#o(r#o#p)r#p;'S(r;'S;=`*a<%lO(rp)wU(WpOY)rZr)rs#O)r#P;'S)r;'S;=`*Z<%lO)rp*^P;=`<%l)r'[*dP;=`<%l(r#S*nX(Wp(Z!bOY*gZr*grs'}sw*gwx)rx#O*g#P;'S*g;'S;=`+Z<%lO*g#S+^P;=`<%l*g(n+dP;=`<%l%Z07[+rq$i&j(Wp(Z!b'|0/lOX%ZXY+gYZ&cZ[+g[p%Zpq+gqr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p$f%Z$f$g+g$g#BY%Z#BY#BZ+g#BZ$IS%Z$IS$I_+g$I_$JT%Z$JT$JU+g$JU$KV%Z$KV$KW+g$KW&FU%Z&FU&FV+g&FV;'S%Z;'S;=`+a<%l?HT%Z?HT?HU+g?HUO%Z07[.ST(X#S$i&j'}0/lO!^&c!_#o&c#p;'S&c;'S;=`&w<%lO&c07[.n_$i&j(Wp(Z!b'}0/lOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z)3p/x`$i&j!p),Q(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`0z!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z(KW1V`#v(Ch$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`2X!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z(KW2d_#v(Ch$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'At3l_(V':f$i&j(Z!bOY4kYZ5qZr4krs7nsw4kwx5qx!^4k!^!_8p!_#O4k#O#P5q#P#o4k#o#p8p#p;'S4k;'S;=`:X<%lO4k(^4r_$i&j(Z!bOY4kYZ5qZr4krs7nsw4kwx5qx!^4k!^!_8p!_#O4k#O#P5q#P#o4k#o#p8p#p;'S4k;'S;=`:X<%lO4k&z5vX$i&jOr5qrs6cs!^5q!^!_6y!_#o5q#o#p6y#p;'S5q;'S;=`7h<%lO5q&z6jT$d`$i&jO!^&c!_#o&c#p;'S&c;'S;=`&w<%lO&c`6|TOr6yrs7]s;'S6y;'S;=`7b<%lO6y`7bO$d``7eP;=`<%l6y&z7kP;=`<%l5q(^7w]$d`$i&j(Z!bOY&}YZ&cZw&}wx&cx!^&}!^!_'}!_#O&}#O#P&c#P#o&}#o#p'}#p;'S&};'S;=`(l<%lO&}!r8uZ(Z!bOY8pYZ6yZr8prs9hsw8pwx6yx#O8p#O#P6y#P;'S8p;'S;=`:R<%lO8p!r9oU$d`(Z!bOY'}Zw'}x#O'}#P;'S'};'S;=`(f<%lO'}!r:UP;=`<%l8p(^:[P;=`<%l4k%9[:hh$i&j(Wp(Z!bOY%ZYZ&cZq%Zqr`#P#o`x!^=^!^!_?q!_#O=^#O#P>`#P#o=^#o#p?q#p;'S=^;'S;=`@h<%lO=^&n>gXWS$i&jOY>`YZ&cZ!^>`!^!_?S!_#o>`#o#p?S#p;'S>`;'S;=`?k<%lO>`S?XSWSOY?SZ;'S?S;'S;=`?e<%lO?SS?hP;=`<%l?S&n?nP;=`<%l>`!f?xWWS(Z!bOY?qZw?qwx?Sx#O?q#O#P?S#P;'S?q;'S;=`@b<%lO?q!f@eP;=`<%l?q(Q@kP;=`<%l=^'`@w]WS$i&j(WpOY@nYZ&cZr@nrs>`s!^@n!^!_Ap!_#O@n#O#P>`#P#o@n#o#pAp#p;'S@n;'S;=`Bg<%lO@ntAwWWS(WpOYApZrAprs?Ss#OAp#O#P?S#P;'SAp;'S;=`Ba<%lOAptBdP;=`<%lAp'`BjP;=`<%l@n#WBvYWS(Wp(Z!bOYBmZrBmrs?qswBmwxApx#OBm#O#P?S#P;'SBm;'S;=`Cf<%lOBm#WCiP;=`<%lBm(rCoP;=`<%l^!Q^$i&j!X7`OY!=yYZ&cZ!P!=y!P!Q!>|!Q!^!=y!^!_!@c!_!}!=y!}#O!CW#O#P!Dy#P#o!=y#o#p!@c#p;'S!=y;'S;=`!Ek<%lO!=y|#X#Z&c#Z#[!>|#[#]&c#]#^!>|#^#a&c#a#b!>|#b#g&c#g#h!>|#h#i&c#i#j!>|#j#k!>|#k#m&c#m#n!>|#n#o&c#p;'S&c;'S;=`&w<%lO&c7`!@hX!X7`OY!@cZ!P!@c!P!Q!AT!Q!}!@c!}#O!Ar#O#P!Bq#P;'S!@c;'S;=`!CQ<%lO!@c7`!AYW!X7`#W#X!AT#Z#[!AT#]#^!AT#a#b!AT#g#h!AT#i#j!AT#j#k!AT#m#n!AT7`!AuVOY!ArZ#O!Ar#O#P!B[#P#Q!@c#Q;'S!Ar;'S;=`!Bk<%lO!Ar7`!B_SOY!ArZ;'S!Ar;'S;=`!Bk<%lO!Ar7`!BnP;=`<%l!Ar7`!BtSOY!@cZ;'S!@c;'S;=`!CQ<%lO!@c7`!CTP;=`<%l!@c^!Ezl$i&j(Z!b!X7`OY&}YZ&cZw&}wx&cx!^&}!^!_'}!_#O&}#O#P&c#P#W&}#W#X!Eq#X#Z&}#Z#[!Eq#[#]&}#]#^!Eq#^#a&}#a#b!Eq#b#g&}#g#h!Eq#h#i&}#i#j!Eq#j#k!Eq#k#m&}#m#n!Eq#n#o&}#o#p'}#p;'S&};'S;=`(l<%lO&}8r!GyZ(Z!b!X7`OY!GrZw!Grwx!@cx!P!Gr!P!Q!Hl!Q!}!Gr!}#O!JU#O#P!Bq#P;'S!Gr;'S;=`!J|<%lO!Gr8r!Hse(Z!b!X7`OY'}Zw'}x#O'}#P#W'}#W#X!Hl#X#Z'}#Z#[!Hl#[#]'}#]#^!Hl#^#a'}#a#b!Hl#b#g'}#g#h!Hl#h#i'}#i#j!Hl#j#k!Hl#k#m'}#m#n!Hl#n;'S'};'S;=`(f<%lO'}8r!JZX(Z!bOY!JUZw!JUwx!Arx#O!JU#O#P!B[#P#Q!Gr#Q;'S!JU;'S;=`!Jv<%lO!JU8r!JyP;=`<%l!JU8r!KPP;=`<%l!Gr>^!KZ^$i&j(Z!bOY!KSYZ&cZw!KSwx!CWx!^!KS!^!_!JU!_#O!KS#O#P!DR#P#Q!^!LYP;=`<%l!KS>^!L`P;=`<%l!_#c#d#Bq#d#l%Z#l#m#Es#m#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad#_#c#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad#>j_$i&j(Wp(Z!bs'9tOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad#?rd$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q!R#AQ!R!S#AQ!S!^%Z!^!_*g!_#O%Z#O#P&c#P#R%Z#R#S#AQ#S#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad#A]f$i&j(Wp(Z!bs'9tOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q!R#AQ!R!S#AQ!S!^%Z!^!_*g!_#O%Z#O#P&c#P#R%Z#R#S#AQ#S#b%Z#b#c#>_#c#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad#Bzc$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q!Y#DV!Y!^%Z!^!_*g!_#O%Z#O#P&c#P#R%Z#R#S#DV#S#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad#Dbe$i&j(Wp(Z!bs'9tOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q!Y#DV!Y!^%Z!^!_*g!_#O%Z#O#P&c#P#R%Z#R#S#DV#S#b%Z#b#c#>_#c#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad#E|g$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q![#Ge![!^%Z!^!_*g!_!c%Z!c!i#Ge!i#O%Z#O#P&c#P#R%Z#R#S#Ge#S#T%Z#T#Z#Ge#Z#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad#Gpi$i&j(Wp(Z!bs'9tOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q![#Ge![!^%Z!^!_*g!_!c%Z!c!i#Ge!i#O%Z#O#P&c#P#R%Z#R#S#Ge#S#T%Z#T#Z#Ge#Z#b%Z#b#c#>_#c#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z*)x#Il_!g$b$i&j$O)Lv(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z)[#Jv_al$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z04f#LS^h#)`#R-v$?V_!^(CdvBr$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z?O$@a_!q7`$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z07[$Aq|$i&j(Wp(Z!b'|0/l$]#t(T,2j(e$I[OX%ZXY+gYZ&cZ[+g[p%Zpq+gqr%Zrs&}st%ZtuEruw%Zwx(rx}%Z}!OGv!O!Q%Z!Q![Er![!^%Z!^!_*g!_!c%Z!c!}Er!}#O%Z#O#P&c#P#R%Z#R#SEr#S#T%Z#T#oEr#o#p*g#p$f%Z$f$g+g$g#BYEr#BY#BZ$A`#BZ$ISEr$IS$I_$A`$I_$JTEr$JT$JU$A`$JU$KVEr$KV$KW$A`$KW&FUEr&FU&FV$A`&FV;'SEr;'S;=`I|<%l?HTEr?HT?HU$A`?HUOEr07[$D|k$i&j(Wp(Z!b'}0/l$]#t(T,2j(e$I[OY%ZYZ&cZr%Zrs&}st%ZtuEruw%Zwx(rx}%Z}!OGv!O!Q%Z!Q![Er![!^%Z!^!_*g!_!c%Z!c!}Er!}#O%Z#O#P&c#P#R%Z#R#SEr#S#T%Z#T#oEr#o#p*g#p$g%Z$g;'SEr;'S;=`I|<%lOEr",tokenizers:[kf,Zf,Rf,_f,2,3,4,5,6,7,8,9,10,11,12,13,14,Xf,new af("$S~RRtu[#O#Pg#S#T#|~_P#o#pb~gOx~~jVO#i!P#i#j!U#j#l!P#l#m!q#m;'S!P;'S;=`#v<%lO!P~!UO!U~~!XS!Q![!e!c!i!e#T#Z!e#o#p#Z~!hR!Q![!q!c!i!q#T#Z!q~!tR!Q![!}!c!i!}#T#Z!}~#QR!Q![!P!c!i!P#T#Z!P~#^R!Q![#g!c!i#g#T#Z#g~#jS!Q![#g!c!i#g#T#Z#g#q#r!P~#yP;=`<%l!P~$RO(c~~",141,340),new af("j~RQYZXz{^~^O(Q~~aP!P!Qd~iO(R~~",25,323)],topRules:{Script:[0,7],SingleExpression:[1,276],SingleClassItem:[2,277]},dialects:{jsx:0,ts:15175},dynamicPrecedences:{80:1,82:1,94:1,169:1,199:1},specialized:[{term:327,get:e=>Yf[e]||-1},{term:343,get:e=>qf[e]||-1},{term:95,get:e=>Wf[e]||-1}],tokenPrec:15201}),jf=[Bu("function ${name}(${params}) {\n\t${}\n}",{label:"function",detail:"definition",type:"keyword"}),Bu("for (let ${index} = 0; ${index} < ${bound}; ${index}++) {\n\t${}\n}",{label:"for",detail:"loop",type:"keyword"}),Bu("for (let ${name} of ${collection}) {\n\t${}\n}",{label:"for",detail:"of loop",type:"keyword"}),Bu("do {\n\t${}\n} while (${})",{label:"do",detail:"loop",type:"keyword"}),Bu("while (${}) {\n\t${}\n}",{label:"while",detail:"loop",type:"keyword"}),Bu("try {\n\t${}\n} catch (${error}) {\n\t${}\n}",{label:"try",detail:"/ catch block",type:"keyword"}),Bu("if (${}) {\n\t${}\n}",{label:"if",detail:"block",type:"keyword"}),Bu("if (${}) {\n\t${}\n} else {\n\t${}\n}",{label:"if",detail:"/ else block",type:"keyword"}),Bu("class ${name} {\n\tconstructor(${params}) {\n\t\t${}\n\t}\n}",{label:"class",detail:"definition",type:"keyword"}),Bu('import {${names}} from "${module}"\n${}',{label:"import",detail:"named",type:"keyword"}),Bu('import ${name} from "${module}"\n${}',{label:"import",detail:"default",type:"keyword"})],Gf=jf.concat([Bu("interface ${name} {\n\t${}\n}",{label:"interface",detail:"definition",type:"keyword"}),Bu("type ${name} = ${type}",{label:"type",detail:"definition",type:"keyword"}),Bu("enum ${name} {\n\t${}\n}",{label:"enum",detail:"definition",type:"keyword"})]),Cf=new Yo,Af=new Set(["Script","Block","FunctionExpression","FunctionDeclaration","ArrowFunction","MethodDeclaration","ForStatement"]);function Ef(e){return(t,i)=>{let O=t.node.getChild("VariableDefinition");return O&&i(O,e),!0}}const Mf=["FunctionDeclaration"],Df={FunctionDeclaration:Ef("function"),ClassDeclaration:Ef("class"),ClassExpression:()=>!0,EnumDeclaration:Ef("constant"),TypeAliasDeclaration:Ef("type"),NamespaceDeclaration:Ef("namespace"),VariableDefinition(e,t){e.matchContext(Mf)||t(e,"variable")},TypeDefinition(e,t){t(e,"type")},__proto__:null};function Lf(e,t){let i=Cf.get(t);if(i)return i;let O=[],n=!0;function r(t,i){let n=e.sliceString(t.from,t.to);O.push({label:n,type:i})}return t.cursor(po.IncludeAnonymous).iterate(t=>{if(n)n=!1;else if(t.name){let e=Df[t.name];if(e&&e(t,r)||Af.has(t.name))return!1}else if(t.to-t.from>8192){for(let i of Lf(e,t.node))O.push(i);return!1}}),Cf.set(t,O),O}const If=/^[\w$\xa1-\uffff][\w$\d\xa1-\uffff]*$/,Nf=["TemplateString","String","RegExp","LineComment","BlockComment","VariableDefinition","TypeDefinition","Label","PropertyDefinition","PropertyName","PrivatePropertyDefinition","PrivatePropertyName","JSXText","JSXAttributeValue","JSXOpenTag","JSXCloseTag","JSXSelfClosingTag",".","?."];function Bf(e){let t=za(e.state).resolveInner(e.pos,-1);if(Nf.indexOf(t.name)>-1)return null;let i="VariableName"==t.name||t.to-t.from<20&&If.test(e.state.sliceDoc(t.from,t.to));if(!i&&!e.explicit)return null;let O=[];for(let i=t;i;i=i.parent)Af.has(i.name)&&(O=O.concat(Lf(e.state.doc,i)));return{options:O,from:i?t.from:e.pos,validFor:If}}const Ff=Ra.define({name:"javascript",parser:Uf.configure({props:[Ba.add({IfStatement:Ol({except:/^\s*({|else\b)/}),TryStatement:Ol({except:/^\s*({|catch\b|finally\b)/}),LabeledStatement:e=>e.baseIndent,SwitchBody:e=>{let t=e.textAfter,i=/^\s*\}/.test(t),O=/^\s*(case|default)\b/.test(t);return e.baseIndent+(i?0:O?1:2)*e.unit},Block:tl({closing:"}"}),ArrowFunction:e=>e.baseIndent+e.unit,"TemplateString BlockComment":()=>null,"Statement Property":Ol({except:/^\s*{/}),JSXElement(e){let t=/^\s*<\//.test(e.textAfter);return e.lineIndent(e.node.from)+(t?0:e.unit)},JSXEscape(e){let t=/\s*\}/.test(e.textAfter);return e.lineIndent(e.node.from)+(t?0:e.unit)},"JSXOpenTag JSXSelfClosingTag":e=>e.column(e.node.from)+e.unit}),rl.add({"Block ClassBody SwitchBody EnumBody ObjectExpression ArrayExpression ObjectType":sl,BlockComment:e=>({from:e.from+2,to:e.to-2}),JSXElement(e){let t=e.firstChild;if(!t||"JSXSelfClosingTag"==t.name)return null;let i=e.lastChild;return{from:t.to,to:i.type.isError?e.to:i.from}},"JSXSelfClosingTag JSXOpenTag"(e){var t;let i=null===(t=e.firstChild)||void 0===t?void 0:t.nextSibling,O=e.lastChild;return!i||i.type.isError?null:{from:i.to,to:O.type.isError?e.to:O.from}}})]}),languageData:{closeBrackets:{brackets:["(","[","{","'",'"',"`"]},commentTokens:{line:"//",block:{open:"/*",close:"*/"}},indentOnInput:/^\s*(?:case |default:|\{|\}|<\/)$/,wordChars:"$"}}),Hf={test:e=>/^JSX/.test(e.name),facet:xa({commentTokens:{block:{open:"{/*",close:"*/}"}}})},Kf=Ff.configure({dialect:"ts"},"typescript"),Jf=Ff.configure({dialect:"jsx",props:[Xa.add(e=>e.isTop?[Hf]:void 0)]}),ep=Ff.configure({dialect:"jsx ts",props:[Xa.add(e=>e.isTop?[Hf]:void 0)]},"typescript");let tp=e=>({label:e,type:"keyword"});const ip="break case const continue default delete export extends false finally in instanceof let new return static super switch this throw true typeof var yield".split(" ").map(tp),Op=ip.concat(["declare","implements","private","protected","public"].map(tp));function np(e={}){let t=e.jsx?e.typescript?ep:Jf:e.typescript?Kf:Ff,i=e.typescript?Gf.concat(Op):jf.concat(ip);return new Aa(t,[Ff.data.of({autocomplete:Nd(Nf,Id(i))}),Ff.data.of({autocomplete:Bf}),e.jsx?op:[]])}function rp(e,t,i=e.length){for(let O=null==t?void 0:t.firstChild;O;O=O.nextSibling)if("JSXIdentifier"==O.name||"JSXBuiltin"==O.name||"JSXNamespacedName"==O.name||"JSXMemberExpression"==O.name)return e.sliceString(O.from,Math.min(O.to,i));return""}const sp="object"==typeof navigator&&/Android\b/.test(navigator.userAgent),op=ar.inputHandler.of((e,t,i,O,n)=>{if((sp?e.composing:e.compositionStarted)||e.state.readOnly||t!=i||">"!=O&&"/"!=O||!Ff.isActiveAt(e.state,t,-1))return!1;let r=n(),{state:s}=r,o=s.changeByRange(e=>{var t;let i,{head:n}=e,r=za(s).resolveInner(n-1,-1);if("JSXStartTag"==r.name&&(r=r.parent),s.doc.sliceString(n-1,n)!=O||"JSXAttributeValue"==r.name&&r.to>n);else{if(">"==O&&"JSXFragmentTag"==r.name)return{range:e,changes:{from:n,insert:""}};if("/"==O&&"JSXStartCloseTag"==r.name){let e=r.parent,O=e.parent;if(O&&e.from==n-2&&((i=rp(s.doc,O.firstChild,n))||"JSXFragmentTag"==(null===(t=O.firstChild)||void 0===t?void 0:t.name))){let e=`${i}>`;return{range:q.cursor(n+e.length,-1),changes:{from:n,insert:e}}}}else if(">"==O){let t=function(e){for(;;){if("JSXOpenTag"==e.name||"JSXSelfClosingTag"==e.name||"JSXFragmentTag"==e.name)return e;if("JSXEscape"==e.name||!e.parent)return null;e=e.parent}}(r);if(t&&"JSXOpenTag"==t.name&&!/^\/?>|^<\//.test(s.doc.sliceString(n,n+2))&&(i=rp(s.doc,t,n)))return{range:e,changes:{from:n,insert:``}}}}return{range:e}});return!o.changes.empty&&(e.dispatch([r,s.update(o,{userEvent:"input.complete",scrollIntoView:!0})]),!0)}),ap=10,lp=new Set([25,49,50,263,65,130,56,57,238,62,63,72,73,77,60,61,151,152,155,112]);function hp(e){return e==ap||13==e}function cp(e){return e>=48&&e<=57||e>=65&&e<=70||e>=97&&e<=102}const dp=new lf((e,t)=>{let i;if(e.next<0)e.acceptToken(199);else if(t.context.flags&$p)hp(e.next)&&e.acceptToken(198,1);else if(((i=e.peek(-1))<0||hp(i))&&t.canShift(197)){let t=0;for(;32==e.next||9==e.next;)e.advance(),t++;e.next!=ap&&13!=e.next&&35!=e.next||e.acceptToken(197,-t)}else hp(e.next)&&e.acceptToken(196,1)},{contextual:!0}),up=new lf((e,t)=>{let i=t.context;if(i.flags)return;let O=e.peek(-1);if(O==ap||13==O){let t=0,O=0;for(;;){if(32==e.next)t++;else{if(9!=e.next)break;t+=8-t%8}e.advance(),O++}t!=i.indent&&e.next!=ap&&13!=e.next&&35!=e.next&&(t[e,2|t])),Tp=new Tf({start:Sp,reduce:(e,t,i,O)=>e.flags&$p&&lp.has(t)||(71==t||72==t)&&2&e.flags?e.parent:e,shift:(e,t,i,O)=>194==t?new gp(e,function(e){let t=0;for(let i=0;ie.hash}),yp=new lf(e=>{for(let t=0;t<5;t++){if(e.next!="print".charCodeAt(t))return;e.advance()}if(!/\w/.test(String.fromCharCode(e.next)))for(let t=0;;t++){let i=e.peek(t);if(32!=i&&9!=i)return void(40!=i&&46!=i&&i!=ap&&13!=i&&35!=i&&e.acceptToken(1))}}),vp=new lf((e,t)=>{let{flags:i}=t.context,O=i&fp?34:39,n=(i&pp)>0,r=!(i&Qp),s=(i&mp)>0,o=e.pos;for(;!(e.next<0);)if(s&&123==e.next){if(123!=e.peek(1)){if(e.pos==o)return void e.acceptToken(3,1);break}e.advance(2)}else{if(r&&92==e.next){if(e.pos==o){e.advance();let t=e.next;return t>=0&&(e.advance(),wp(e,t)),void e.acceptToken(2)}break}if(92==e.next&&!r&&e.peek(1)>-1)e.advance(2);else{if(e.next==O&&(!n||e.peek(1)==O&&e.peek(2)==O)){if(e.pos==o)return void e.acceptToken(201,n?3:1);break}if(e.next==ap){if(n)e.advance();else if(e.pos==o)return void e.acceptToken(201);break}e.advance()}}e.pos>o&&e.acceptToken(200)});function wp(e,t){if(111==t)for(let t=0;t<2&&e.next>=48&&e.next<=55;t++)e.advance();else if(120==t)for(let t=0;t<2&&cp(e.next);t++)e.advance();else if(117==t)for(let t=0;t<4&&cp(e.next);t++)e.advance();else if(85==t)for(let t=0;t<8&&cp(e.next);t++)e.advance();else if(78==t&&123==e.next){for(e.advance();e.next>=0&&125!=e.next&&39!=e.next&&34!=e.next&&e.next!=ap;)e.advance();125==e.next&&e.advance()}}const bp=Oa({'async "*" "**" FormatConversion FormatSpec':va.modifier,"for while if elif else try except finally return raise break continue with pass assert await yield match case":va.controlKeyword,"in not and or is del":va.operatorKeyword,"from def class global nonlocal lambda":va.definitionKeyword,import:va.moduleKeyword,"with as print":va.keyword,Boolean:va.bool,None:va.null,VariableName:va.variableName,"CallExpression/VariableName":va.function(va.variableName),"FunctionDefinition/VariableName":va.function(va.definition(va.variableName)),"ClassDefinition/VariableName":va.definition(va.className),PropertyName:va.propertyName,"CallExpression/MemberExpression/PropertyName":va.function(va.propertyName),Comment:va.lineComment,Number:va.number,String:va.string,FormatString:va.special(va.string),Escape:va.escape,UpdateOp:va.updateOperator,"ArithOp!":va.arithmeticOperator,BitOp:va.bitwiseOperator,CompareOp:va.compareOperator,AssignOp:va.definitionOperator,Ellipsis:va.punctuation,At:va.meta,"( )":va.paren,"[ ]":va.squareBracket,"{ }":va.brace,".":va.derefOperator,", ;":va.separator}),xp={__proto__:null,await:44,or:54,and:56,in:60,not:62,is:64,if:70,else:72,lambda:76,yield:94,from:96,async:102,for:104,None:162,True:164,False:164,del:178,pass:182,break:186,continue:190,return:194,raise:202,import:206,as:208,global:212,nonlocal:214,assert:218,type:223,elif:236,while:240,try:246,except:248,finally:250,with:254,def:258,class:268,match:279,case:285},Xp=yf.deserialize({version:14,states:"##jQ`QeOOP$}OSOOO&WQtO'#HUOOQS'#Co'#CoOOQS'#Cp'#CpO'vQdO'#CnO*UQtO'#HTOOQS'#HU'#HUOOQS'#DU'#DUOOQS'#HT'#HTO*rQdO'#D_O+VQdO'#DfO+gQdO'#DjO+zOWO'#DuO,VOWO'#DvO.[QtO'#GuOOQS'#Gu'#GuO'vQdO'#GtO0ZQtO'#GtOOQS'#Eb'#EbO0rQdO'#EcOOQS'#Gs'#GsO0|QdO'#GrOOQV'#Gr'#GrO1XQdO'#FYOOQS'#G^'#G^O1^QdO'#FXOOQV'#IS'#ISOOQV'#Gq'#GqOOQV'#Fq'#FqQ`QeOOO'vQdO'#CqO1lQdO'#C}O1sQdO'#DRO2RQdO'#HYO2cQtO'#EVO'vQdO'#EWOOQS'#EY'#EYOOQS'#E['#E[OOQS'#E^'#E^O2wQdO'#E`O3_QdO'#EdO3rQdO'#EfO3zQtO'#EfO1XQdO'#EiO0rQdO'#ElO1XQdO'#EnO0rQdO'#EtO0rQdO'#EwO4VQdO'#EyO4^QdO'#FOO4iQdO'#EzO0rQdO'#FOO1XQdO'#FQO1XQdO'#FVO4nQdO'#F[P4uOdO'#GpPOOO)CBd)CBdOOQS'#Ce'#CeOOQS'#Cf'#CfOOQS'#Cg'#CgOOQS'#Ch'#ChOOQS'#Ci'#CiOOQS'#Cj'#CjOOQS'#Cl'#ClO'vQdO,59OO'vQdO,59OO'vQdO,59OO'vQdO,59OO'vQdO,59OO'vQdO,59OO5TQdO'#DoOOQS,5:Y,5:YO5hQdO'#HdOOQS,5:],5:]O5uQ!fO,5:]O5zQtO,59YO1lQdO,59bO1lQdO,59bO1lQdO,59bO8jQdO,59bO8oQdO,59bO8vQdO,59jO8}QdO'#HTO:TQdO'#HSOOQS'#HS'#HSOOQS'#D['#D[O:lQdO,59aO'vQdO,59aO:zQdO,59aOOQS,59y,59yO;PQdO,5:RO'vQdO,5:ROOQS,5:Q,5:QO;_QdO,5:QO;dQdO,5:XO'vQdO,5:XO'vQdO,5:VOOQS,5:U,5:UO;uQdO,5:UO;zQdO,5:WOOOW'#Fy'#FyOOOOQS'#Ds'#DsOOQS1G/w1G/wOOQS1G.|1G.|O!/[QtO1G.|O!/cQtO1G.|O1lQdO1G.|O!0OQdO1G/UOOQS'#DZ'#DZO0rQdO,59tOOQS1G.{1G.{O!0VQdO1G/eO!0gQdO1G/eO!0oQdO1G/fO'vQdO'#H[O!0tQdO'#H[O!0yQtO1G.{O!1ZQdO,59iO!2aQdO,5=zO!2qQdO,5=zO!2yQdO1G/mO!3OQtO1G/mOOQS1G/l1G/lO!3`QdO,5=uO!4VQdO,5=uO0rQdO1G/qO!4tQdO1G/sO!4yQtO1G/sO!5ZQtO1G/qOOQS1G/p1G/pOOQS1G/r1G/rOOOW-E9w-E9wOOQS1G/{1G/{O!5kQdO'#HxO0rQdO'#HxO!5|QdO,5>cOOOW-E9x-E9xOOQS1G/|1G/|OOQS-E9{-E9{O!6[Q#xO1G2zO!6{QtO1G2zO'vQdO,5kOOQS1G1`1G1`O!8RQdO1G1`OOQS'#DV'#DVO0rQdO,5=qOOQS,5=q,5=qO!8WQdO'#FrO!8cQdO,59oO!8kQdO1G/XO!8uQtO,5=uOOQS1G3`1G3`OOQS,5:m,5:mO!9fQdO'#GtOOQS,5jO!;ZQdO,5>jO1XQdO,5>jO!;lQdO,5>iOOQS-E:R-E:RO!;qQdO1G0lO!;|QdO1G0lO!lO!lO!hO!=VQdO,5>hO!=hQdO'#EpO0rQdO1G0tO!=sQdO1G0tO!=xQgO1G0zO!AvQgO1G0}O!EqQdO,5>oO!E{QdO,5>oO!FTQtO,5>oO0rQdO1G1PO!F_QdO1G1PO4iQdO1G1UO!!vQdO1G1WOOQV,5;a,5;aO!FdQfO,5;aO!FiQgO1G1QO!JjQdO'#GZO4iQdO1G1QO4iQdO1G1QO!JzQdO,5>pO!KXQdO,5>pO1XQdO,5>pOOQV1G1U1G1UO!KaQdO'#FSO!KrQ!fO1G1WO!KzQdO1G1WOOQV1G1]1G1]O4iQdO1G1]O!LPQdO1G1]O!LXQdO'#F^OOQV1G1b1G1bO!#ZQtO1G1bPOOO1G2v1G2vP!L^OSO1G2vOOQS,5=},5=}OOQS'#Dp'#DpO0rQdO,5=}O!LfQdO,5=|O!LyQdO,5=|OOQS1G/u1G/uO!MRQdO,5>PO!McQdO,5>PO!MkQdO,5>PO!NOQdO,5>PO!N`QdO,5>POOQS1G3j1G3jOOQS7+$h7+$hO!8kQdO7+$pO#!RQdO1G.|O#!YQdO1G.|OOQS1G/`1G/`OOQS,5<`,5<`O'vQdO,5<`OOQS7+%P7+%PO#!aQdO7+%POOQS-E9r-E9rOOQS7+%Q7+%QO#!qQdO,5=vO'vQdO,5=vOOQS7+$g7+$gO#!vQdO7+%PO##OQdO7+%QO##TQdO1G3fOOQS7+%X7+%XO##eQdO1G3fO##mQdO7+%XOOQS,5<_,5<_O'vQdO,5<_O##rQdO1G3aOOQS-E9q-E9qO#$iQdO7+%]OOQS7+%_7+%_O#$wQdO1G3aO#%fQdO7+%_O#%kQdO1G3gO#%{QdO1G3gO#&TQdO7+%]O#&YQdO,5>dO#&sQdO,5>dO#&sQdO,5>dOOQS'#Dx'#DxO#'UO&jO'#DzO#'aO`O'#HyOOOW1G3}1G3}O#'fQdO1G3}O#'nQdO1G3}O#'yQ#xO7+(fO#(jQtO1G2UP#)TQdO'#GOOOQS,5nQdO,5sQdO1G4OOOQS-E9y-E9yO#?^QdO1G4OO<[QdO'#H{OOOO'#D{'#D{OOOO'#F|'#F|O#?oO&jO,5:fOOOW,5>e,5>eOOOW7+)i7+)iO#?zQdO7+)iO#@SQdO1G2zO#@mQdO1G2zP'vQdO'#FuO0rQdO<mO#BQQdO,5>mOOQS1G0v1G0vOOQS<rO#KgQdO,5>rO#KrQdO,5>rO#K}QdO,5>qO#L`QdO,5>qOOQS1G1Y1G1YOOQS,5;p,5;pOOQV<VAN>VO$ oQdO<cAN>cO0rQdO1G1|O$!PQtO1G1|P$!ZQdO'#FvOOQS1G2R1G2RP$!hQdO'#F{O$!uQdO7+)jO$#`QdO,5>gOOOO-E9z-E9zOOOW<tO$4{QdO,5>tO1XQdO,5vO$)nQdO,5>vOOQS1G1p1G1pOOQS,5<[,5<[OOQU7+'P7+'PO$+zQdO1G/iO$)nQdO,5wO$8zQdO,5>wOOQS1G1s1G1sOOQS7+'S7+'SP$)nQdO'#GdO$9SQdO1G4bO$9^QdO1G4bO$9fQdO1G4bOOQS7+%T7+%TO$9tQdO1G1tO$:SQtO'#FaO$:ZQdO,5<}OOQS,5<},5<}O$:iQdO1G4cOOQS-E:a-E:aO$)nQdO,5<|O$:pQdO,5<|O$:uQdO7+)|OOQS-E:`-E:`O$;PQdO7+)|O$)nQdO,5S~O%cOS%^OSSOS%]PQ~OPdOVaOfoOhYOopOs!POvqO!PrO!Q{O!T!SO!U!RO!XZO!][O!h`O!r`O!s`O!t`O!{tO!}uO#PvO#RwO#TxO#XyO#ZzO#^|O#_|O#a}O#c!OO#l!QO#o!TO#s!UO#u!VO#z!WO#}hO$P!XO%oRO%pRO%tSO%uWO&Z]O&[]O&]]O&^]O&_]O&`]O&a]O&b]O&c^O&d^O&e^O&f^O&g^O&h^O&i^O&j^O~O%]!YO~OV!aO_!aOa!bOh!iO!X!kO!f!mO%j![O%k!]O%l!^O%m!_O%n!_O%o!`O%p!`O%q!aO%r!aO%s!aO~Ok%xXl%xXm%xXn%xXo%xXp%xXs%xXz%xX{%xX!x%xX#g%xX%[%xX%_%xX%z%xXg%xX!T%xX!U%xX%{%xX!W%xX![%xX!Q%xX#[%xXt%xX!m%xX~P%SOfoOhYO!XZO!][O!h`O!r`O!s`O!t`O%oRO%pRO%tSO%uWO&Z]O&[]O&]]O&^]O&_]O&`]O&a]O&b]O&c^O&d^O&e^O&f^O&g^O&h^O&i^O&j^O~Oz%wX{%wX#g%wX%[%wX%_%wX%z%wX~Ok!pOl!qOm!oOn!oOo!rOp!sOs!tO!x%wX~P)pOV!zOg!|Oo0cOv0qO!PrO~P'vOV#OOo0cOv0qO!W#PO~P'vOV#SOa#TOo0cOv0qO![#UO~P'vOQ#XO%`#XO%a#ZO~OQ#^OR#[O%`#^O%a#`O~OV%iX_%iXa%iXh%iXk%iXl%iXm%iXn%iXo%iXp%iXs%iXz%iX!X%iX!f%iX%j%iX%k%iX%l%iX%m%iX%n%iX%o%iX%p%iX%q%iX%r%iX%s%iXg%iX!T%iX!U%iX~O&Z]O&[]O&]]O&^]O&_]O&`]O&a]O&b]O&c^O&d^O&e^O&f^O&g^O&h^O&i^O&j^O{%iX!x%iX#g%iX%[%iX%_%iX%z%iX%{%iX!W%iX![%iX!Q%iX#[%iXt%iX!m%iX~P,eOz#dO{%hX!x%hX#g%hX%[%hX%_%hX%z%hX~Oo0cOv0qO~P'vO#g#gO%[#iO%_#iO~O%uWO~O!T#nO#u!VO#z!WO#}hO~OopO~P'vOV#sOa#tO%uWO{wP~OV#xOo0cOv0qO!Q#yO~P'vO{#{O!x$QO%z#|O#g!yX%[!yX%_!yX~OV#xOo0cOv0qO#g#SX%[#SX%_#SX~P'vOo0cOv0qO#g#WX%[#WX%_#WX~P'vOh$WO%uWO~O!f$YO!r$YO%uWO~OV$eO~P'vO!U$gO#s$hO#u$iO~O{$jO~OV$qO~P'vOS$sO%[$rO%_$rO%c$tO~OV$}Oa$}Og%POo0cOv0qO~P'vOo0cOv0qO{%SO~P'vO&Y%UO~Oa!bOh!iO!X!kO!f!mOVba_bakbalbambanbaobapbasbazba{ba!xba#gba%[ba%_ba%jba%kba%lba%mba%nba%oba%pba%qba%rba%sba%zbagba!Tba!Uba%{ba!Wba![ba!Qba#[batba!mba~On%ZO~Oo%ZO~P'vOo0cO~P'vOk0eOl0fOm0dOn0dOo0mOp0nOs0rOg%wX!T%wX!U%wX%{%wX!W%wX![%wX!Q%wX#[%wX!m%wX~P)pO%{%]Og%vXz%vX!T%vX!U%vX!W%vX{%vX~Og%_Oz%`O!T%dO!U%cO~Og%_O~Oz%gO!T%dO!U%cO!W&SX~O!W%kO~Oz%lO{%nO!T%dO!U%cO![%}X~O![%rO~O![%sO~OQ#XO%`#XO%a%uO~OV%wOo0cOv0qO!PrO~P'vOQ#^OR#[O%`#^O%a%zO~OV!qa_!qaa!qah!qak!qal!qam!qan!qao!qap!qas!qaz!qa{!qa!X!qa!f!qa!x!qa#g!qa%[!qa%_!qa%j!qa%k!qa%l!qa%m!qa%n!qa%o!qa%p!qa%q!qa%r!qa%s!qa%z!qag!qa!T!qa!U!qa%{!qa!W!qa![!qa!Q!qa#[!qat!qa!m!qa~P#yOz%|O{%ha!x%ha#g%ha%[%ha%_%ha%z%ha~P%SOV&OOopOvqO{%ha!x%ha#g%ha%[%ha%_%ha%z%ha~P'vOz%|O{%ha!x%ha#g%ha%[%ha%_%ha%z%ha~OPdOVaOopOvqO!PrO!Q{O!{tO!}uO#PvO#RwO#TxO#XyO#ZzO#^|O#_|O#a}O#c!OO#g$zX%[$zX%_$zX~P'vO#g#gO%[&TO%_&TO~O!f&UOh&sX%[&sXz&sX#[&sX#g&sX%_&sX#Z&sXg&sX~Oh!iO%[&WO~Okealeameaneaoeapeaseazea{ea!xea#gea%[ea%_ea%zeagea!Tea!Uea%{ea!Wea![ea!Qea#[eatea!mea~P%SOsqazqa{qa#gqa%[qa%_qa%zqa~Ok!pOl!qOm!oOn!oOo!rOp!sO!xqa~PEcO%z&YOz%yX{%yX~O%uWOz%yX{%yX~Oz&]O{wX~O{&_O~Oz%lO#g%}X%[%}X%_%}Xg%}X{%}X![%}X!m%}X%z%}X~OV0lOo0cOv0qO!PrO~P'vO%z#|O#gUa%[Ua%_Ua~Oz&hO#g&PX%[&PX%_&PXn&PX~P%SOz&kO!Q&jO#g#Wa%[#Wa%_#Wa~Oz&lO#[&nO#g&rX%[&rX%_&rXg&rX~O!f$YO!r$YO#Z&qO%uWO~O#Z&qO~Oz&sO#g&tX%[&tX%_&tX~Oz&uO#g&pX%[&pX%_&pX{&pX~O!X&wO%z&xO~Oz&|On&wX~P%SOn'PO~OPdOVaOopOvqO!PrO!Q{O!{tO!}uO#PvO#RwO#TxO#XyO#ZzO#^|O#_|O#a}O#c!OO%['UO~P'vOt'YO#p'WO#q'XOP#naV#naf#nah#nao#nas#nav#na!P#na!Q#na!T#na!U#na!X#na!]#na!h#na!r#na!s#na!t#na!{#na!}#na#P#na#R#na#T#na#X#na#Z#na#^#na#_#na#a#na#c#na#l#na#o#na#s#na#u#na#z#na#}#na$P#na%X#na%o#na%p#na%t#na%u#na&Z#na&[#na&]#na&^#na&_#na&`#na&a#na&b#na&c#na&d#na&e#na&f#na&g#na&h#na&i#na&j#na%Z#na%_#na~Oz'ZO#[']O{&xX~Oh'_O!X&wO~Oh!iO{$jO!X&wO~O{'eO~P%SO%['hO%_'hO~OS'iO%['hO%_'hO~OV!aO_!aOa!bOh!iO!X!kO!f!mO%l!^O%m!_O%n!_O%o!`O%p!`O%q!aO%r!aO%s!aOkWilWimWinWioWipWisWizWi{Wi!xWi#gWi%[Wi%_Wi%jWi%zWigWi!TWi!UWi%{Wi!WWi![Wi!QWi#[WitWi!mWi~O%k!]O~P!#uO%kWi~P!#uOV!aO_!aOa!bOh!iO!X!kO!f!mO%o!`O%p!`O%q!aO%r!aO%s!aOkWilWimWinWioWipWisWizWi{Wi!xWi#gWi%[Wi%_Wi%jWi%kWi%lWi%zWigWi!TWi!UWi%{Wi!WWi![Wi!QWi#[WitWi!mWi~O%m!_O%n!_O~P!&pO%mWi%nWi~P!&pOa!bOh!iO!X!kO!f!mOkWilWimWinWioWipWisWizWi{Wi!xWi#gWi%[Wi%_Wi%jWi%kWi%lWi%mWi%nWi%oWi%pWi%zWigWi!TWi!UWi%{Wi!WWi![Wi!QWi#[WitWi!mWi~OV!aO_!aO%q!aO%r!aO%s!aO~P!)nOVWi_Wi%qWi%rWi%sWi~P!)nO!T%dO!U%cOg&VXz&VX~O%z'kO%{'kO~P,eOz'mOg&UX~Og'oO~Oz'pO{'rO!W&XX~Oo0cOv0qOz'pO{'sO!W&XX~P'vO!W'uO~Om!oOn!oOo!rOp!sOkjisjizji{ji!xji#gji%[ji%_ji%zji~Ol!qO~P!.aOlji~P!.aOk0eOl0fOm0dOn0dOo0mOp0nO~Ot'wO~P!/jOV'|Og'}Oo0cOv0qO~P'vOg'}Oz(OO~Og(QO~O!U(SO~Og(TOz(OO!T%dO!U%cO~P%SOk0eOl0fOm0dOn0dOo0mOp0nOgqa!Tqa!Uqa%{qa!Wqa![qa!Qqa#[qatqa!mqa~PEcOV'|Oo0cOv0qO!W&Sa~P'vOz(WO!W&Sa~O!W(XO~Oz(WO!T%dO!U%cO!W&Sa~P%SOV(]Oo0cOv0qO![%}a#g%}a%[%}a%_%}ag%}a{%}a!m%}a%z%}a~P'vOz(^O![%}a#g%}a%[%}a%_%}ag%}a{%}a!m%}a%z%}a~O![(aO~Oz(^O!T%dO!U%cO![%}a~P%SOz(dO!T%dO!U%cO![&Ta~P%SOz(gO{&lX![&lX!m&lX%z&lX~O{(kO![(mO!m(nO%z(jO~OV&OOopOvqO{%hi!x%hi#g%hi%[%hi%_%hi%z%hi~P'vOz(pO{%hi!x%hi#g%hi%[%hi%_%hi%z%hi~O!f&UOh&sa%[&saz&sa#[&sa#g&sa%_&sa#Z&sag&sa~O%[(uO~OV#sOa#tO%uWO~Oz&]O{wa~OopOvqO~P'vOz(^O#g%}a%[%}a%_%}ag%}a{%}a![%}a!m%}a%z%}a~P%SOz(zO#g%hX%[%hX%_%hX%z%hX~O%z#|O#gUi%[Ui%_Ui~O#g&Pa%[&Pa%_&Pan&Pa~P'vOz(}O#g&Pa%[&Pa%_&Pan&Pa~O%uWO#g&ra%[&ra%_&rag&ra~Oz)SO#g&ra%[&ra%_&rag&ra~Og)VO~OV)WOh$WO%uWO~O#Z)XO~O%uWO#g&ta%[&ta%_&ta~Oz)ZO#g&ta%[&ta%_&ta~Oo0cOv0qO#g&pa%[&pa%_&pa{&pa~P'vOz)^O#g&pa%[&pa%_&pa{&pa~OV)`Oa)`O%uWO~O%z)eO~Ot)hO#j)gOP#hiV#hif#hih#hio#his#hiv#hi!P#hi!Q#hi!T#hi!U#hi!X#hi!]#hi!h#hi!r#hi!s#hi!t#hi!{#hi!}#hi#P#hi#R#hi#T#hi#X#hi#Z#hi#^#hi#_#hi#a#hi#c#hi#l#hi#o#hi#s#hi#u#hi#z#hi#}#hi$P#hi%X#hi%o#hi%p#hi%t#hi%u#hi&Z#hi&[#hi&]#hi&^#hi&_#hi&`#hi&a#hi&b#hi&c#hi&d#hi&e#hi&f#hi&g#hi&h#hi&i#hi&j#hi%Z#hi%_#hi~Ot)iOP#kiV#kif#kih#kio#kis#kiv#ki!P#ki!Q#ki!T#ki!U#ki!X#ki!]#ki!h#ki!r#ki!s#ki!t#ki!{#ki!}#ki#P#ki#R#ki#T#ki#X#ki#Z#ki#^#ki#_#ki#a#ki#c#ki#l#ki#o#ki#s#ki#u#ki#z#ki#}#ki$P#ki%X#ki%o#ki%p#ki%t#ki%u#ki&Z#ki&[#ki&]#ki&^#ki&_#ki&`#ki&a#ki&b#ki&c#ki&d#ki&e#ki&f#ki&g#ki&h#ki&i#ki&j#ki%Z#ki%_#ki~OV)kOn&wa~P'vOz)lOn&wa~Oz)lOn&wa~P%SOn)pO~O%Y)tO~Ot)wO#p'WO#q)vOP#niV#nif#nih#nio#nis#niv#ni!P#ni!Q#ni!T#ni!U#ni!X#ni!]#ni!h#ni!r#ni!s#ni!t#ni!{#ni!}#ni#P#ni#R#ni#T#ni#X#ni#Z#ni#^#ni#_#ni#a#ni#c#ni#l#ni#o#ni#s#ni#u#ni#z#ni#}#ni$P#ni%X#ni%o#ni%p#ni%t#ni%u#ni&Z#ni&[#ni&]#ni&^#ni&_#ni&`#ni&a#ni&b#ni&c#ni&d#ni&e#ni&f#ni&g#ni&h#ni&i#ni&j#ni%Z#ni%_#ni~OV)zOo0cOv0qO{$jO~P'vOo0cOv0qO{&xa~P'vOz*OO{&xa~OV*SOa*TOg*WO%q*UO%uWO~O{$jO&{*YO~Oh'_O~Oh!iO{$jO~O%[*_O~O%[*aO%_*aO~OV$}Oa$}Oo0cOv0qOg&Ua~P'vOz*dOg&Ua~Oo0cOv0qO{*gO!W&Xa~P'vOz*hO!W&Xa~Oo0cOv0qOz*hO{*kO!W&Xa~P'vOo0cOv0qOz*hO!W&Xa~P'vOz*hO{*kO!W&Xa~Om0dOn0dOo0mOp0nOgjikjisjizji!Tji!Uji%{ji!Wji{ji![ji#gji%[ji%_ji!Qji#[jitji!mji%zji~Ol0fO~P!NkOlji~P!NkOV'|Og*pOo0cOv0qO~P'vOn*rO~Og*pOz*tO~Og*uO~OV'|Oo0cOv0qO!W&Si~P'vOz*vO!W&Si~O!W*wO~OV(]Oo0cOv0qO![%}i#g%}i%[%}i%_%}ig%}i{%}i!m%}i%z%}i~P'vOz*zO!T%dO!U%cO![&Ti~Oz*}O![%}i#g%}i%[%}i%_%}ig%}i{%}i!m%}i%z%}i~O![+OO~Oa+QOo0cOv0qO![&Ti~P'vOz*zO![&Ti~O![+SO~OV+UOo0cOv0qO{&la![&la!m&la%z&la~P'vOz+VO{&la![&la!m&la%z&la~O!]+YO&n+[O![!nX~O![+^O~O{(kO![+_O~O{(kO![+_O!m+`O~OV&OOopOvqO{%hq!x%hq#g%hq%[%hq%_%hq%z%hq~P'vOz$ri{$ri!x$ri#g$ri%[$ri%_$ri%z$ri~P%SOV&OOopOvqO~P'vOV&OOo0cOv0qO#g%ha%[%ha%_%ha%z%ha~P'vOz+aO#g%ha%[%ha%_%ha%z%ha~Oz$ia#g$ia%[$ia%_$ian$ia~P%SO#g&Pi%[&Pi%_&Pin&Pi~P'vOz+dO#g#Wq%[#Wq%_#Wq~O#[+eOz$va#g$va%[$va%_$vag$va~O%uWO#g&ri%[&ri%_&rig&ri~Oz+gO#g&ri%[&ri%_&rig&ri~OV+iOh$WO%uWO~O%uWO#g&ti%[&ti%_&ti~Oo0cOv0qO#g&pi%[&pi%_&pi{&pi~P'vO{#{Oz#eX!W#eX~Oz+mO!W&uX~O!W+oO~Ot+rO#j)gOP#hqV#hqf#hqh#hqo#hqs#hqv#hq!P#hq!Q#hq!T#hq!U#hq!X#hq!]#hq!h#hq!r#hq!s#hq!t#hq!{#hq!}#hq#P#hq#R#hq#T#hq#X#hq#Z#hq#^#hq#_#hq#a#hq#c#hq#l#hq#o#hq#s#hq#u#hq#z#hq#}#hq$P#hq%X#hq%o#hq%p#hq%t#hq%u#hq&Z#hq&[#hq&]#hq&^#hq&_#hq&`#hq&a#hq&b#hq&c#hq&d#hq&e#hq&f#hq&g#hq&h#hq&i#hq&j#hq%Z#hq%_#hq~On$|az$|a~P%SOV)kOn&wi~P'vOz+yOn&wi~Oz,TO{$jO#[,TO~O#q,VOP#nqV#nqf#nqh#nqo#nqs#nqv#nq!P#nq!Q#nq!T#nq!U#nq!X#nq!]#nq!h#nq!r#nq!s#nq!t#nq!{#nq!}#nq#P#nq#R#nq#T#nq#X#nq#Z#nq#^#nq#_#nq#a#nq#c#nq#l#nq#o#nq#s#nq#u#nq#z#nq#}#nq$P#nq%X#nq%o#nq%p#nq%t#nq%u#nq&Z#nq&[#nq&]#nq&^#nq&_#nq&`#nq&a#nq&b#nq&c#nq&d#nq&e#nq&f#nq&g#nq&h#nq&i#nq&j#nq%Z#nq%_#nq~O#[,WOz%Oa{%Oa~Oo0cOv0qO{&xi~P'vOz,YO{&xi~O{#{O%z,[Og&zXz&zX~O%uWOg&zXz&zX~Oz,`Og&yX~Og,bO~O%Y,eO~O!T%dO!U%cOg&Viz&Vi~OV$}Oa$}Oo0cOv0qOg&Ui~P'vO{,hOz$la!W$la~Oo0cOv0qO{,iOz$la!W$la~P'vOo0cOv0qO{*gO!W&Xi~P'vOz,lO!W&Xi~Oo0cOv0qOz,lO!W&Xi~P'vOz,lO{,oO!W&Xi~Og$hiz$hi!W$hi~P%SOV'|Oo0cOv0qO~P'vOn,qO~OV'|Og,rOo0cOv0qO~P'vOV'|Oo0cOv0qO!W&Sq~P'vOz$gi![$gi#g$gi%[$gi%_$gig$gi{$gi!m$gi%z$gi~P%SOV(]Oo0cOv0qO~P'vOa+QOo0cOv0qO![&Tq~P'vOz,sO![&Tq~O![,tO~OV(]Oo0cOv0qO![%}q#g%}q%[%}q%_%}qg%}q{%}q!m%}q%z%}q~P'vO{,uO~OV+UOo0cOv0qO{&li![&li!m&li%z&li~P'vOz,zO{&li![&li!m&li%z&li~O!]+YO&n+[O![!na~O{(kO![,}O~OV&OOo0cOv0qO#g%hi%[%hi%_%hi%z%hi~P'vOz-OO#g%hi%[%hi%_%hi%z%hi~O%uWO#g&rq%[&rq%_&rqg&rq~Oz-RO#g&rq%[&rq%_&rqg&rq~OV)`Oa)`O%uWO!W&ua~Oz-TO!W&ua~On$|iz$|i~P%SOV)kO~P'vOV)kOn&wq~P'vOt-XOP#myV#myf#myh#myo#mys#myv#my!P#my!Q#my!T#my!U#my!X#my!]#my!h#my!r#my!s#my!t#my!{#my!}#my#P#my#R#my#T#my#X#my#Z#my#^#my#_#my#a#my#c#my#l#my#o#my#s#my#u#my#z#my#}#my$P#my%X#my%o#my%p#my%t#my%u#my&Z#my&[#my&]#my&^#my&_#my&`#my&a#my&b#my&c#my&d#my&e#my&f#my&g#my&h#my&i#my&j#my%Z#my%_#my~O%Z-]O%_-]O~P`O#q-^OP#nyV#nyf#nyh#nyo#nys#nyv#ny!P#ny!Q#ny!T#ny!U#ny!X#ny!]#ny!h#ny!r#ny!s#ny!t#ny!{#ny!}#ny#P#ny#R#ny#T#ny#X#ny#Z#ny#^#ny#_#ny#a#ny#c#ny#l#ny#o#ny#s#ny#u#ny#z#ny#}#ny$P#ny%X#ny%o#ny%p#ny%t#ny%u#ny&Z#ny&[#ny&]#ny&^#ny&_#ny&`#ny&a#ny&b#ny&c#ny&d#ny&e#ny&f#ny&g#ny&h#ny&i#ny&j#ny%Z#ny%_#ny~Oz-aO{$jO#[-aO~Oo0cOv0qO{&xq~P'vOz-dO{&xq~O%z,[Og&zaz&za~O{#{Og&zaz&za~OV*SOa*TO%q*UO%uWOg&ya~Oz-hOg&ya~O$S-lO~OV$}Oa$}Oo0cOv0qO~P'vOo0cOv0qO{-mOz$li!W$li~P'vOo0cOv0qOz$li!W$li~P'vO{-mOz$li!W$li~Oo0cOv0qO{*gO~P'vOo0cOv0qO{*gO!W&Xq~P'vOz-pO!W&Xq~Oo0cOv0qOz-pO!W&Xq~P'vOs-sO!T%dO!U%cOg&Oq!W&Oq![&Oqz&Oq~P!/jOa+QOo0cOv0qO![&Ty~P'vOz$ji![$ji~P%SOa+QOo0cOv0qO~P'vOV+UOo0cOv0qO~P'vOV+UOo0cOv0qO{&lq![&lq!m&lq%z&lq~P'vO{(kO![-xO!m-yO%z-wO~OV&OOo0cOv0qO#g%hq%[%hq%_%hq%z%hq~P'vO%uWO#g&ry%[&ry%_&ryg&ry~OV)`Oa)`O%uWO!W&ui~Ot-}OP#m!RV#m!Rf#m!Rh#m!Ro#m!Rs#m!Rv#m!R!P#m!R!Q#m!R!T#m!R!U#m!R!X#m!R!]#m!R!h#m!R!r#m!R!s#m!R!t#m!R!{#m!R!}#m!R#P#m!R#R#m!R#T#m!R#X#m!R#Z#m!R#^#m!R#_#m!R#a#m!R#c#m!R#l#m!R#o#m!R#s#m!R#u#m!R#z#m!R#}#m!R$P#m!R%X#m!R%o#m!R%p#m!R%t#m!R%u#m!R&Z#m!R&[#m!R&]#m!R&^#m!R&_#m!R&`#m!R&a#m!R&b#m!R&c#m!R&d#m!R&e#m!R&f#m!R&g#m!R&h#m!R&i#m!R&j#m!R%Z#m!R%_#m!R~Oo0cOv0qO{&xy~P'vOV*SOa*TO%q*UO%uWOg&yi~O$S-lO%Z.VO%_.VO~OV.aOh._O!X.^O!].`O!h.YO!s.[O!t.[O%p.XO%uWO&Z]O&[]O&]]O&^]O&_]O&`]O&a]O&b]O~Oo0cOv0qOz$lq!W$lq~P'vO{.fOz$lq!W$lq~Oo0cOv0qO{*gO!W&Xy~P'vOz.gO!W&Xy~Oo0cOv.kO~P'vOs-sO!T%dO!U%cOg&Oy!W&Oy![&Oyz&Oy~P!/jO{(kO![.nO~O{(kO![.nO!m.oO~OV*SOa*TO%q*UO%uWO~Oh.tO!f.rOz$TX#[$TX%j$TXg$TX~Os$TX{$TX!W$TX![$TX~P$-bO%o.vO%p.vOs$UXz$UX{$UX#[$UX%j$UX!W$UXg$UX![$UX~O!h.xO~Oz.|O#[/OO%j.yOs&|X{&|X!W&|Xg&|X~Oa/RO~P$)zOh.tOs&}Xz&}X{&}X#[&}X%j&}X!W&}Xg&}X![&}X~Os/VO{$jO~Oo0cOv0qOz$ly!W$ly~P'vOo0cOv0qO{*gO!W&X!R~P'vOz/ZO!W&X!R~Og&RXs&RX!T&RX!U&RX!W&RX![&RXz&RX~P!/jOs-sO!T%dO!U%cOg&Qa!W&Qa![&Qaz&Qa~O{(kO![/^O~O!f.rOh$[as$[az$[a{$[a#[$[a%j$[a!W$[ag$[a![$[a~O!h/eO~O%o.vO%p.vOs$Uaz$Ua{$Ua#[$Ua%j$Ua!W$Uag$Ua![$Ua~O%j.yOs$Yaz$Ya{$Ya#[$Ya!W$Yag$Ya![$Ya~Os&|a{&|a!W&|ag&|a~P$)nOz/jOs&|a{&|a!W&|ag&|a~O!W/mO~Og/mO~O{/oO~O![/pO~Oo0cOv0qO{*gO!W&X!Z~P'vO{/sO~O%z/tO~P$-bOz/uO#[/OO%j.yOg'PX~Oz/uOg'PX~Og/wO~O!h/xO~O#[/OOs%Saz%Sa{%Sa%j%Sa!W%Sag%Sa![%Sa~O#[/OO%j.yOs%Waz%Wa{%Wa!W%Wag%Wa~Os&|i{&|i!W&|ig&|i~P$)nOz/zO#[/OO%j.yO!['Oa~Og'Pa~P$)nOz0SOg'Pa~Oa0UO!['Oi~P$)zOz0WO!['Oi~Oz0WO#[/OO%j.yO!['Oi~O#[/OO%j.yOg$biz$bi~O%z0ZO~P$-bO#[/OO%j.yOg%Vaz%Va~Og'Pi~P$)nO{0^O~Oa0UO!['Oq~P$)zOz0`O!['Oq~O#[/OO%j.yOz%Ui![%Ui~Oa0UO~P$)zOa0UO!['Oy~P$)zO#[/OO%j.yOg$ciz$ci~O#[/OO%j.yOz%Uq![%Uq~Oz+aO#g%ha%[%ha%_%ha%z%ha~P%SOV&OOo0cOv0qO~P'vOn0hO~Oo0hO~P'vO{0iO~Ot0jO~P!/jO&]&Z&j&h&i&g&f&d&e&c&b&`&a&_&^&[%u~",goto:"!=j'QPPPPPP'RP'Z*s+[+t,_,y-fP.SP'Z.r.r'ZPPP'Z2[PPPPPP2[5PPP5PP7b7k=sPP=v>h>kPP'Z'ZPP>zPP'Z'ZPP'Z'Z'Z'Z'Z?O?w'ZP?zP@QDXGuGyPG|HWH['ZPPPH_Hk'RP'R'RP'RP'RP'RP'RP'R'R'RP'RPP'RPP'RP'RPHqH}IVPI^IdPI^PI^I^PPPI^PKrPK{LVL]KrPI^LfPI^PLmLsPLwM]MzNeLwLwNkNxLwLwLwLw! ^! d! g! l! o! y!!P!!]!!o!!u!#P!#V!#s!#y!$P!$Z!$a!$g!$y!%T!%Z!%a!%k!%q!%w!%}!&T!&Z!&e!&k!&u!&{!'U!'[!'k!'s!'}!(UPPPPPPPPPPP!([!(_!(e!(n!(x!)TPPPPPPPPPPPP!-u!/Z!3^!6oPP!6w!7W!7a!8Y!8P!8c!8i!8l!8o!8r!8z!9jPPPPPPPPPPPPPPPPP!9m!9q!9wP!:]!:a!:m!:v!;S!;j!;m!;p!;v!;|!_![!]Do!]!^Es!^!_FZ!_!`Gk!`!aHX!a!b%T!b!cIf!c!dJU!d!eK^!e!hJU!h!i!#f!i!tJU!t!u!,|!u!wJU!w!x!.t!x!}JU!}#O!0S#O#P&o#P#Q!0j#Q#R!1Q#R#SJU#S#T%T#T#UJU#U#VK^#V#YJU#Y#Z!#f#Z#fJU#f#g!,|#g#iJU#i#j!.t#j#oJU#o#p!1n#p#q!1s#q#r!2a#r#s!2f#s$g%T$g;'SJU;'S;=`KW<%lOJU`%YT&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%T`%lP;=`<%l%To%v]&n`%c_OX%TXY%oY[%T[]%o]p%Tpq%oq#O%T#O#P&o#P#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%To&tX&n`OY%TYZ%oZ]%T]^%o^#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tc'f[&n`O!_%T!_!`([!`#T%T#T#U(r#U#f%T#f#g(r#g#h(r#h#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tc(cTmR&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tc(yT!mR&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk)aV&n`&[ZOr%Trs)vs#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk){V&n`Or%Trs*bs#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk*iT&n`&^ZO#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%To+PZS_&n`OY*xYZ%TZ]*x]^%T^#o*x#o#p+r#p#q*x#q#r+r#r;'S*x;'S;=`,^<%lO*x_+wTS_OY+rZ]+r^;'S+r;'S;=`,W<%lO+r_,ZP;=`<%l+ro,aP;=`<%l*xj,kV%rQ&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tj-XT!xY&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tj-oV%lQ&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk.]V&n`&ZZOw%Twx.rx#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk.wV&n`Ow%Twx/^x#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk/eT&n`&]ZO#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk/{ThZ&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tc0cTgR&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk0yXVZ&n`Oz%Tz{1f{!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk1mVaR&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk2ZV%oZ&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tc2wTzR&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%To3_W%pZ&n`O!_%T!_!`-Q!`!a3w!a#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Td4OT&{S&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk4fX!fQ&n`O!O%T!O!P5R!P!Q%T!Q![6T![#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk5WV&n`O!O%T!O!P5m!P#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk5tT!rZ&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti6[a!hX&n`O!Q%T!Q![6T![!g%T!g!h7a!h!l%T!l!m9s!m#R%T#R#S6T#S#X%T#X#Y7a#Y#^%T#^#_9s#_#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti7fZ&n`O{%T{|8X|}%T}!O8X!O!Q%T!Q![8s![#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti8^V&n`O!Q%T!Q![8s![#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti8z]!hX&n`O!Q%T!Q![8s![!l%T!l!m9s!m#R%T#R#S8s#S#^%T#^#_9s#_#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti9zT!hX&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk:bX%qR&n`O!P%T!P!Q:}!Q!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tj;UV%sQ&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti;ro!hX&n`O!O%T!O!P=s!P!Q%T!Q![>_![!d%T!d!e?q!e!g%T!g!h7a!h!l%T!l!m9s!m!q%T!q!rA]!r!z%T!z!{Bq!{#R%T#R#S>_#S#U%T#U#V?q#V#X%T#X#Y7a#Y#^%T#^#_9s#_#c%T#c#dA]#d#l%T#l#mBq#m#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti=xV&n`O!Q%T!Q![6T![#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti>fc!hX&n`O!O%T!O!P=s!P!Q%T!Q![>_![!g%T!g!h7a!h!l%T!l!m9s!m#R%T#R#S>_#S#X%T#X#Y7a#Y#^%T#^#_9s#_#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti?vY&n`O!Q%T!Q!R@f!R!S@f!S#R%T#R#S@f#S#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti@mY!hX&n`O!Q%T!Q!R@f!R!S@f!S#R%T#R#S@f#S#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TiAbX&n`O!Q%T!Q!YA}!Y#R%T#R#SA}#S#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TiBUX!hX&n`O!Q%T!Q!YA}!Y#R%T#R#SA}#S#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TiBv]&n`O!Q%T!Q![Co![!c%T!c!iCo!i#R%T#R#SCo#S#T%T#T#ZCo#Z#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TiCv]!hX&n`O!Q%T!Q![Co![!c%T!c!iCo!i#R%T#R#SCo#S#T%T#T#ZCo#Z#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%ToDvV{_&n`O!_%T!_!`E]!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TcEdT%{R&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TkEzT#gZ&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TkFbXmR&n`O!^%T!^!_F}!_!`([!`!a([!a#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TjGUV%mQ&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TkGrV%zZ&n`O!_%T!_!`([!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TkH`WmR&n`O!_%T!_!`([!`!aHx!a#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TjIPV%nQ&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TkIoV_Q#}P&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%ToJ_]&n`&YS%uZO!Q%T!Q![JU![!c%T!c!}JU!}#R%T#R#SJU#S#T%T#T#oJU#p#q%T#r$g%T$g;'SJU;'S;=`KW<%lOJUoKZP;=`<%lJUoKge&n`&YS%uZOr%Trs)Ysw%Twx.Ux!Q%T!Q![JU![!c%T!c!tJU!t!uLx!u!}JU!}#R%T#R#SJU#S#T%T#T#fJU#f#gLx#g#oJU#p#q%T#r$g%T$g;'SJU;'S;=`KW<%lOJUoMRa&n`&YS%uZOr%TrsNWsw%Twx! vx!Q%T!Q![JU![!c%T!c!}JU!}#R%T#R#SJU#S#T%T#T#oJU#p#q%T#r$g%T$g;'SJU;'S;=`KW<%lOJUkN_V&n`&`ZOr%TrsNts#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TkNyV&n`Or%Trs! `s#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk! gT&n`&bZO#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk! }V&n`&_ZOw%Twx!!dx#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!!iV&n`Ow%Twx!#Ox#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!#VT&n`&aZO#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%To!#oe&n`&YS%uZOr%Trs!%Qsw%Twx!&px!Q%T!Q![JU![!c%T!c!tJU!t!u!(`!u!}JU!}#R%T#R#SJU#S#T%T#T#fJU#f#g!(`#g#oJU#p#q%T#r$g%T$g;'SJU;'S;=`KW<%lOJUk!%XV&n`&dZOr%Trs!%ns#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!%sV&n`Or%Trs!&Ys#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!&aT&n`&fZO#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!&wV&n`&cZOw%Twx!'^x#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!'cV&n`Ow%Twx!'xx#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!(PT&n`&eZO#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%To!(ia&n`&YS%uZOr%Trs!)nsw%Twx!+^x!Q%T!Q![JU![!c%T!c!}JU!}#R%T#R#SJU#S#T%T#T#oJU#p#q%T#r$g%T$g;'SJU;'S;=`KW<%lOJUk!)uV&n`&hZOr%Trs!*[s#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!*aV&n`Or%Trs!*vs#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!*}T&n`&jZO#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!+eV&n`&gZOw%Twx!+zx#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!,PV&n`Ow%Twx!,fx#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!,mT&n`&iZO#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%To!-Vi&n`&YS%uZOr%TrsNWsw%Twx! vx!Q%T!Q![JU![!c%T!c!dJU!d!eLx!e!hJU!h!i!(`!i!}JU!}#R%T#R#SJU#S#T%T#T#UJU#U#VLx#V#YJU#Y#Z!(`#Z#oJU#p#q%T#r$g%T$g;'SJU;'S;=`KW<%lOJUo!.}a&n`&YS%uZOr%Trs)Ysw%Twx.Ux!Q%T!Q![JU![!c%T!c!}JU!}#R%T#R#SJU#S#T%T#T#oJU#p#q%T#r$g%T$g;'SJU;'S;=`KW<%lOJUk!0ZT!XZ&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tc!0qT!WR&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tj!1XV%kQ&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%T~!1sO!]~k!1zV%jR&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%T~!2fO![~i!2mT%tX&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%T",tokenizers:[yp,up,dp,vp,0,1,2,3,4],topRules:{Script:[0,5]},specialized:[{term:221,get:e=>xp[e]||-1}],tokenPrec:7668}),kp=new Yo,Zp=new Set(["Script","Body","FunctionDefinition","ClassDefinition","LambdaExpression","ForStatement","MatchClause"]);function Rp(e){return(t,i,O)=>{if(O)return!1;let n=t.node.getChild("VariableName");return n&&i(n,e),!0}}const zp={FunctionDefinition:Rp("function"),ClassDefinition:Rp("class"),ForStatement(e,t,i){if(i)for(let i=e.node.firstChild;i;i=i.nextSibling)if("VariableName"==i.name)t(i,"variable");else if("in"==i.name)break},ImportStatement(e,t){var i,O;let{node:n}=e,r="from"==(null===(i=n.firstChild)||void 0===i?void 0:i.name);for(let e=n.getChild("import");e;e=e.nextSibling)"VariableName"==e.name&&"as"!=(null===(O=e.nextSibling)||void 0===O?void 0:O.name)&&t(e,r?"variable":"namespace")},AssignStatement(e,t){for(let i=e.node.firstChild;i;i=i.nextSibling)if("VariableName"==i.name)t(i,"variable");else if(":"==i.name||"AssignOp"==i.name)break},ParamList(e,t){for(let i=null,O=e.node.firstChild;O;O=O.nextSibling)"VariableName"!=O.name||i&&/\*|AssignOp/.test(i.name)||t(O,"variable"),i=O},CapturePattern:Rp("variable"),AsPattern:Rp("variable"),__proto__:null};function _p(e,t){let i=kp.get(t);if(i)return i;let O=[],n=!0;function r(t,i){let n=e.sliceString(t.from,t.to);O.push({label:n,type:i})}return t.cursor(po.IncludeAnonymous).iterate(t=>{if(t.name){let e=zp[t.name];if(e&&e(t,r,n)||!n&&Zp.has(t.name))return!1;n=!1}else if(t.to-t.from>8192){for(let i of _p(e,t.node))O.push(i);return!1}}),kp.set(t,O),O}const Vp=/^[\w\xa1-\uffff][\w\d\xa1-\uffff]*$/,Yp=["String","FormatString","Comment","PropertyName"];function qp(e){let t=za(e.state).resolveInner(e.pos,-1);if(Yp.indexOf(t.name)>-1)return null;let i="VariableName"==t.name||t.to-t.from<20&&Vp.test(e.state.sliceDoc(t.from,t.to));if(!i&&!e.explicit)return null;let O=[];for(let i=t;i;i=i.parent)Zp.has(i.name)&&(O=O.concat(_p(e.state.doc,i)));return{options:O,from:i?t.from:e.pos,validFor:Vp}}const Wp=["__annotations__","__builtins__","__debug__","__doc__","__import__","__name__","__loader__","__package__","__spec__","False","None","True"].map(e=>({label:e,type:"constant"})).concat(["ArithmeticError","AssertionError","AttributeError","BaseException","BlockingIOError","BrokenPipeError","BufferError","BytesWarning","ChildProcessError","ConnectionAbortedError","ConnectionError","ConnectionRefusedError","ConnectionResetError","DeprecationWarning","EOFError","Ellipsis","EncodingWarning","EnvironmentError","Exception","FileExistsError","FileNotFoundError","FloatingPointError","FutureWarning","GeneratorExit","IOError","ImportError","ImportWarning","IndentationError","IndexError","InterruptedError","IsADirectoryError","KeyError","KeyboardInterrupt","LookupError","MemoryError","ModuleNotFoundError","NameError","NotADirectoryError","NotImplemented","NotImplementedError","OSError","OverflowError","PendingDeprecationWarning","PermissionError","ProcessLookupError","RecursionError","ReferenceError","ResourceWarning","RuntimeError","RuntimeWarning","StopAsyncIteration","StopIteration","SyntaxError","SyntaxWarning","SystemError","SystemExit","TabError","TimeoutError","TypeError","UnboundLocalError","UnicodeDecodeError","UnicodeEncodeError","UnicodeError","UnicodeTranslateError","UnicodeWarning","UserWarning","ValueError","Warning","ZeroDivisionError"].map(e=>({label:e,type:"type"}))).concat(["bool","bytearray","bytes","classmethod","complex","float","frozenset","int","list","map","memoryview","object","range","set","staticmethod","str","super","tuple","type"].map(e=>({label:e,type:"class"}))).concat(["abs","aiter","all","anext","any","ascii","bin","breakpoint","callable","chr","compile","delattr","dict","dir","divmod","enumerate","eval","exec","exit","filter","format","getattr","globals","hasattr","hash","help","hex","id","input","isinstance","issubclass","iter","len","license","locals","max","min","next","oct","open","ord","pow","print","property","quit","repr","reversed","round","setattr","slice","sorted","sum","vars","zip"].map(e=>({label:e,type:"function"}))),Up=[Bu("def ${name}(${params}):\n\t${}",{label:"def",detail:"function",type:"keyword"}),Bu("for ${name} in ${collection}:\n\t${}",{label:"for",detail:"loop",type:"keyword"}),Bu("while ${}:\n\t${}",{label:"while",detail:"loop",type:"keyword"}),Bu("try:\n\t${}\nexcept ${error}:\n\t${}",{label:"try",detail:"/ except block",type:"keyword"}),Bu("if ${}:\n\t\n",{label:"if",detail:"block",type:"keyword"}),Bu("if ${}:\n\t${}\nelse:\n\t${}",{label:"if",detail:"/ else block",type:"keyword"}),Bu("class ${name}:\n\tdef __init__(self, ${params}):\n\t\t\t${}",{label:"class",detail:"definition",type:"keyword"}),Bu("import ${module}",{label:"import",detail:"statement",type:"keyword"}),Bu("from ${module} import ${names}",{label:"from",detail:"import",type:"keyword"})],jp=Nd(Yp,Id(Wp.concat(Up)));function Gp(e){let{node:t,pos:i}=e,O=e.lineIndent(i,-1),n=null;for(;;){let r=t.childBefore(i);if(!r)break;if("Comment"==r.name)i=r.from;else if("Body"==r.name||"MatchBody"==r.name)e.baseIndentFor(r)+e.unit<=O&&(n=r),t=r;else if("MatchClause"==r.name)t=r;else{if(!r.type.is("Statement"))break;t=r}}return n}function Cp(e,t){let i=e.baseIndentFor(t),O=e.lineAt(e.pos,-1),n=O.from+O.text.length;return/^\s*($|#)/.test(O.text)&&e.node.toi?null:i+e.unit}const Ap=Ra.define({name:"python",parser:Xp.configure({props:[Ba.add({Body:e=>{var t;return null!==(t=Cp(e,/^\s*(#|$)/.test(e.textAfter)&&Gp(e)||e.node))&&void 0!==t?t:e.continue()},MatchBody:e=>{var t;return null!==(t=Cp(e,Gp(e)||e.node))&&void 0!==t?t:e.continue()},IfStatement:e=>/^\s*(else:|elif )/.test(e.textAfter)?e.baseIndent:e.continue(),"ForStatement WhileStatement":e=>/^\s*else:/.test(e.textAfter)?e.baseIndent:e.continue(),TryStatement:e=>/^\s*(except[ :]|finally:|else:)/.test(e.textAfter)?e.baseIndent:e.continue(),MatchStatement:e=>/^\s*case /.test(e.textAfter)?e.baseIndent+e.unit:e.continue(),"TupleExpression ComprehensionExpression ParamList ArgList ParenthesizedExpression":tl({closing:")"}),"DictionaryExpression DictionaryComprehensionExpression SetExpression SetComprehensionExpression":tl({closing:"}"}),"ArrayExpression ArrayComprehensionExpression":tl({closing:"]"}),MemberExpression:e=>e.baseIndent+e.unit,"String FormatString":()=>null,Script:e=>{var t;let i=Gp(e);return null!==(t=i&&Cp(e,i))&&void 0!==t?t:e.continue()}}),rl.add({"ArrayExpression DictionaryExpression SetExpression TupleExpression":sl,Body:(e,t)=>({from:e.from+1,to:e.to-(e.to==t.doc.length?0:1)}),"String FormatString":(e,t)=>({from:t.doc.lineAt(e.from).to,to:e.to})})]}),languageData:{closeBrackets:{brackets:["(","[","{","'",'"',"'''",'"""'],stringPrefixes:["f","fr","rf","r","u","b","br","rb","F","FR","RF","R","U","B","BR","RB"]},commentTokens:{line:"#"},indentOnInput:/^\s*([\}\]\)]|else:|elif |except |finally:|case\s+[^:]*:?)$/}}),Ep=63;class Mp{constructor(e,t,i){this.parent=e,this.depth=t,this.type=i,this.hash=(e?e.hash+e.hash<<8:0)+t+(t<<4)+i}}function Dp(e,t){for(let i=0,O=t-e.pos-1;;O--,i++){let t=e.peek(O);if(Ip(t)||-1==t)return i}}function Lp(e){return 32==e||9==e}function Ip(e){return 10==e||13==e}function Np(e){return Lp(e)||Ip(e)}function Bp(e){return e<0||Np(e)}Mp.top=new Mp(null,-1,0);const Fp=new Tf({start:Mp.top,reduce:(e,t)=>3!=e.type||20!=t&&34!=t?e:e.parent,shift(e,t,i,O){if(3==t)return new Mp(e,Dp(O,O.pos),1);if(65==t||5==t)return new Mp(e,Dp(O,O.pos),2);if(t==Ep)return e.parent;if(19==t||33==t)return new Mp(e,0,3);if(13==t&&4==e.type)return e.parent;if(47==t){let t=/[1-9]/.exec(O.read(O.pos,i.pos));if(t)return new Mp(e,e.depth+ +t[0],4)}return e},hash:e=>e.hash});function Hp(e,t,i=0){return e.peek(i)==t&&e.peek(i+1)==t&&e.peek(i+2)==t&&Bp(e.peek(i+3))}const Kp=new lf((e,t)=>{if(-1==e.next&&t.canShift(64))return e.acceptToken(64);let i=e.peek(-1);if((Ip(i)||i<0)&&3!=t.context.type){if(Hp(e,45)){if(!t.canShift(Ep))return e.acceptToken(1,3);e.acceptToken(Ep)}if(Hp(e,46)){if(!t.canShift(Ep))return e.acceptToken(2,3);e.acceptToken(Ep)}let i=0;for(;32==e.next;)i++,e.advance();!(i{if(3!=t.context.type)if(45==e.next)e.advance(),Bp(e.next)&&e.acceptToken(1==t.context.type&&t.context.depth==Dp(e,e.pos-1)?4:3);else if(63==e.next)e.advance(),Bp(e.next)&&e.acceptToken(2==t.context.type&&t.context.depth==Dp(e,e.pos-1)?6:5);else{let i=e.pos;for(;;)if(Lp(e.next)){if(e.pos==i)return;e.advance()}else if(33==e.next)iQ(e);else{if(38!=e.next){if(42==e.next){OQ(e);break}if(39==e.next||34==e.next){if(nQ(e,!0))break;return}if(91==e.next||123==e.next){if(!rQ(e))return;break}lQ(e,!0,!1,0);break}OQ(e)}for(;Lp(e.next);)e.advance();if(58==e.next){if(e.pos==i&&t.canShift(29))return;Bp(e.peek(1))&&e.acceptTokenTo(2==t.context.type&&t.context.depth==Dp(e,i)?66:65,i)}}else 63==e.next&&(e.advance(),Bp(e.next)&&e.acceptToken(7))},{contextual:!0});function eQ(e){return e>=48&&e<=57||e>=97&&e<=102||e>=65&&e<=70}function tQ(e,t){return 37==e.next?(e.advance(),eQ(e.next)&&e.advance(),eQ(e.next)&&e.advance(),!0):!!((i=e.next)>32&&i<127&&34!=i&&37!=i&&44!=i&&60!=i&&62!=i&&92!=i&&94!=i&&96!=i&&123!=i&&124!=i&&125!=i||t&&44==e.next)&&(e.advance(),!0);var i}function iQ(e){if(e.advance(),60==e.next){for(e.advance();;)if(!tQ(e,!0)){62==e.next&&e.advance();break}}else for(;tQ(e,!1););}function OQ(e){for(e.advance();!Bp(e.next)&&"f"!=oQ(e.next);)e.advance()}function nQ(e,t){let i=e.next,O=!1,n=e.pos;for(e.advance();;){let r=e.next;if(r<0)break;if(e.advance(),r==i){if(39!=r)break;if(39!=e.next)break;e.advance()}else if(92==r&&34==i)e.next>=0&&e.advance();else if(Ip(r)){if(t)return!1;O=!0}else if(t&&e.pos>=n+1024)return!1}return!O}function rQ(e){for(let t=[],i=e.pos+1024;;)if(91==e.next||123==e.next)t.push(e.next),e.advance();else if(39==e.next||34==e.next){if(!nQ(e,!0))return!1}else if(93==e.next||125==e.next){if(t[t.length-1]!=e.next-2)return!1;if(t.pop(),e.advance(),!t.length)return!0}else{if(e.next<0||e.pos>i||Ip(e.next))return!1;e.advance()}}const sQ="iiisiiissisfissssssssssssisssiiissssssssssssssssssssssssssfsfssissssssssssssssssssssssssssfif";function oQ(e){return e<33?"u":e>125?"s":sQ[e-33]}function aQ(e,t){let i=oQ(e);return"u"!=i&&!(t&&"f"==i)}function lQ(e,t,i,O){if("s"!=oQ(e.next)&&(63!=e.next&&58!=e.next&&45!=e.next||!aQ(e.peek(1),i)))return!1;e.advance();let n=e.pos;for(;;){let r=e.next,s=0,o=O+1;for(;Np(r);){if(Ip(r)){if(t)return!1;o=0}else o++;r=e.peek(++s)}if(!(r>=0&&(58==r?aQ(e.peek(s+1),i):35==r?32!=e.peek(s-1):aQ(r,i)))||!i&&o<=O||0==o&&!i&&(Hp(e,45,s)||Hp(e,46,s)))break;if(t&&"f"==oQ(r))return!1;for(let t=s;t>=0;t--)e.advance();if(t&&e.pos>n+1024)return!1}return!0}const hQ=new lf((e,t)=>{if(33==e.next)iQ(e),e.acceptToken(12);else if(38==e.next||42==e.next){let t=38==e.next?10:11;OQ(e),e.acceptToken(t)}else 39==e.next||34==e.next?(nQ(e,!1),e.acceptToken(9)):lQ(e,!1,3==t.context.type,t.context.depth)&&e.acceptToken(8)}),cQ=new lf((e,t)=>{let i=4==t.context.type?t.context.depth:-1,O=e.pos;e:for(;;){let n=0,r=e.next;for(;32==r;)r=e.peek(++n);if(!n&&(Hp(e,45,n)||Hp(e,46,n)))break;if(!Ip(r)&&(i<0&&(i=Math.max(t.context.depth+1,n)),nYAN>Y",stateData:";S~O!fOS!gOS^OS~OP_OQbORSOTUOWROXROYYOZZO[XOcPOqQO!PVO!V[O!cTO~O`cO~P]OVkOWROXROYeOZfO[dOcPOmhOqQO~OboO~P!bOVtOWROXROYeOZfO[dOcPOmrOqQO~OpwO~P#WORSOTUOWROXROYYOZZO[XOcPOqQO!PVO!cTO~OSvP!avP!bvP~P#|OWROXROYeOZfO[dOcPOqQO~OmzO~P%OOm!OOUzP!azP!bzP!dzP~P#|O^!SO!b!QO!f!TO!g!RO~ORSOTUOWROXROcPOqQO!PVO!cTO~OY!UOP!QXQ!QX!V!QX!`!QXS!QX!a!QX!b!QXU!QXm!QX!d!QX~P&aO[!WOP!SXQ!SX!V!SX!`!SXS!SX!a!SX!b!SXU!SXm!SX!d!SX~P&aO^!ZO!W![O!b!YO!f!]O!g!YO~OP!_O!V[OQaX!`aX~OPaXQaX!VaX!`aX~P#|OP!bOQ!cO!V[O~OP_O!V[O~P#|OWROXROY!fOcPOqQObfXmfXofXpfX~OWROXRO[!hOcPOqQObhXmhXohXphX~ObeXmlXoeX~ObkXokX~P%OOm!kO~Om!lObnPonP~P%OOb!pOo!oO~Ob!pO~P!bOm!sOosXpsX~OosXpsX~P%OOm!uOotPptP~P%OOo!xOp!yO~Op!yO~P#WOS!|O!a#OO!b#OO~OUyX!ayX!byX!dyX~P#|Om#QO~OU#SO!a#UO!b#UO!d#RO~Om#WOUzX!azX!bzX!dzX~O]#XO~O!b#XO!g#YO~O^#ZO!b#XO!g#YO~OP!RXQ!RX!V!RX!`!RXS!RX!a!RX!b!RXU!RXm!RX!d!RX~P&aOP!TXQ!TX!V!TX!`!TXS!TX!a!TX!b!TXU!TXm!TX!d!TX~P&aO!b#^O!g#^O~O^#_O!b#^O!f#`O!g#^O~O^#_O!W#aO!b#^O!g#^O~OPaaQaa!Vaa!`aa~P#|OP#cO!V[OQ!XX!`!XX~OP!XXQ!XX!V!XX!`!XX~P#|OP_O!V[OQ!_X!`!_X~P#|OWROXROcPOqQObgXmgXogXpgX~OWROXROcPOqQObiXmiXoiXpiX~Obkaoka~P%OObnXonX~P%OOm#kO~Ob#lOo!oO~Oosapsa~P%OOotXptX~P%OOm#pO~Oo!xOp#qO~OSwP!awP!bwP~P#|OS!|O!a#vO!b#vO~OUya!aya!bya!dya~P#|Om#xO~P%OOm#{OU}P!a}P!b}P!d}P~P#|OU#SO!a$OO!b$OO!d#RO~O]$QO~O!b$QO!g$RO~O!b$SO!g$SO~O^$TO!b$SO!g$SO~O^$TO!b$SO!f$UO!g$SO~OP!XaQ!Xa!V!Xa!`!Xa~P#|Obnaona~P%OOotapta~P%OOo!xO~OU|X!a|X!b|X!d|X~P#|Om$ZO~Om$]OU}X!a}X!b}X!d}X~O]$^O~O!b$_O!g$_O~O^$`O!b$_O!g$_O~OU|a!a|a!b|a!d|a~P#|O!b$cO!g$cO~O",goto:",]!mPPPPPPPPPPPPPPPPP!nPP!v#v#|$`#|$c$f$j$nP%VPPP!v%Y%^%a%{&O%a&R&U&X&_&b%aP&e&{&e'O'RPP']'a'g'm's'y(XPPPPPPPP(_)e*X+c,VUaObcR#e!c!{ROPQSTUXY_bcdehknrtvz!O!U!W!_!b!c!f!h!k!l!s!u!|#Q#R#S#W#c#k#p#x#{$Z$]QmPR!qnqfPQThknrtv!k!l!s!u#R#k#pR!gdR!ieTlPnTjPnSiPnSqQvQ{TQ!mkQ!trQ!vtR#y#RR!nkTsQvR!wt!RWOSUXY_bcz!O!U!W!_!b!c!|#Q#S#W#c#x#{$Z$]RySR#t!|R|TR|UQ!PUR#|#SR#z#RR#z#SyZOSU_bcz!O!_!b!c!|#Q#S#W#c#x#{$Z$]R!VXR!XYa]O^abc!a!c!eT!da!eQnPR!rnQvQR!{vQ!}yR#u!}Q#T|R#}#TW^Obc!cS!^^!aT!aa!eQ!eaR#f!eW`Obc!cQxSS}U#SQ!`_Q#PzQ#V!OQ#b!_Q#d!bQ#s!|Q#w#QQ$P#WQ$V#cQ$Y#xQ$[#{Q$a$ZR$b$]xZOSU_bcz!O!_!b!c!|#Q#S#W#c#x#{$Z$]Q!VXQ!XYQ#[!UR#]!W!QWOSUXY_bcz!O!U!W!_!b!c!|#Q#S#W#c#x#{$Z$]pfPQThknrtv!k!l!s!u#R#k#pQ!gdQ!ieQ#g!fR#h!hSgPn^pQTkrtv#RQ!jhQ#i!kQ#j!lQ#n!sQ#o!uQ$W#kR$X#pQuQR!zv",nodeNames:"⚠ DirectiveEnd DocEnd - - ? ? ? Literal QuotedLiteral Anchor Alias Tag BlockLiteralContent Comment Stream BOM Document ] [ FlowSequence Item Tagged Anchored Anchored Tagged FlowMapping Pair Key : Pair , } { FlowMapping Pair Pair BlockSequence Item Item BlockMapping Pair Pair Key Pair Pair BlockLiteral BlockLiteralHeader Tagged Anchored Anchored Tagged Directive DirectiveName DirectiveContent Document",maxTerm:74,context:Fp,nodeProps:[["isolate",-3,8,9,14,""],["openedBy",18,"[",32,"{"],["closedBy",19,"]",33,"}"]],propSources:[dQ],skippedNodes:[0],repeatNodeCount:6,tokenData:"-Y~RnOX#PXY$QYZ$]Z]#P]^$]^p#Ppq$Qqs#Pst$btu#Puv$yv|#P|}&e}![#P![!]'O!]!`#P!`!a'i!a!}#P!}#O*g#O#P#P#P#Q+Q#Q#o#P#o#p+k#p#q'i#q#r,U#r;'S#P;'S;=`#z<%l?HT#P?HT?HU,o?HUO#PQ#UU!WQOY#PZp#Ppq#hq;'S#P;'S;=`#z<%lO#PQ#kTOY#PZs#Pt;'S#P;'S;=`#z<%lO#PQ#}P;=`<%l#P~$VQ!f~XY$Qpq$Q~$bO!g~~$gS^~OY$bZ;'S$b;'S;=`$s<%lO$b~$vP;=`<%l$bR%OX!WQOX%kXY#PZ]%k]^#P^p%kpq#hq;'S%k;'S;=`&_<%lO%kR%rX!WQ!VPOX%kXY#PZ]%k]^#P^p%kpq#hq;'S%k;'S;=`&_<%lO%kR&bP;=`<%l%kR&lUoP!WQOY#PZp#Ppq#hq;'S#P;'S;=`#z<%lO#PR'VUmP!WQOY#PZp#Ppq#hq;'S#P;'S;=`#z<%lO#PR'p[!PP!WQOY#PZp#Ppq#hq{#P{|(f|}#P}!O(f!O!R#P!R![)p![;'S#P;'S;=`#z<%lO#PR(mW!PP!WQOY#PZp#Ppq#hq!R#P!R![)V![;'S#P;'S;=`#z<%lO#PR)^U!PP!WQOY#PZp#Ppq#hq;'S#P;'S;=`#z<%lO#PR)wY!PP!WQOY#PZp#Ppq#hq{#P{|)V|}#P}!O)V!O;'S#P;'S;=`#z<%lO#PR*nUcP!WQOY#PZp#Ppq#hq;'S#P;'S;=`#z<%lO#PR+XUbP!WQOY#PZp#Ppq#hq;'S#P;'S;=`#z<%lO#PR+rUqP!WQOY#PZp#Ppq#hq;'S#P;'S;=`#z<%lO#PR,]UpP!WQOY#PZp#Ppq#hq;'S#P;'S;=`#z<%lO#PR,vU`P!WQOY#PZp#Ppq#hq;'S#P;'S;=`#z<%lO#P",tokenizers:[Kp,Jp,hQ,cQ,0,1],topRules:{Stream:[0,15]},tokenPrec:0}),$Q=Ra.define({name:"yaml",parser:uQ.configure({props:[Ba.add({Stream:e=>{for(let t=e.node.resolve(e.pos,-1);t&&t.to>=e.pos;t=t.parent){if("BlockLiteralContent"==t.name&&t.frome.pos)return null}}return null},FlowMapping:tl({closing:"}"}),FlowSequence:tl({closing:"]"})}),rl.add({"FlowMapping FlowSequence":sl,"Item Pair BlockLiteral":(e,t)=>({from:t.doc.lineAt(e.from).to,to:e.to})})]}),languageData:{commentTokens:{line:"#"},indentOnInput:/^\s*[\]\}]$/}}),fQ={abstract:4,and:5,array:6,as:7,true:8,false:8,break:9,case:10,catch:11,clone:12,const:13,continue:14,declare:16,default:15,do:17,echo:18,else:19,elseif:20,enddeclare:21,endfor:22,endforeach:23,endif:24,endswitch:25,endwhile:26,enum:27,extends:28,final:29,finally:30,fn:31,for:32,foreach:33,from:34,function:35,global:36,goto:37,if:38,implements:39,include:40,include_once:41,instanceof:42,insteadof:43,interface:44,list:45,match:46,namespace:47,new:48,null:49,or:50,print:51,readonly:52,require:53,require_once:54,return:55,switch:56,throw:57,trait:58,try:59,unset:60,use:61,var:62,public:63,private:63,protected:63,while:64,xor:65,yield:66,__proto__:null};function pQ(e){let t=fQ[e.toLowerCase()];return null==t?-1:t}function QQ(e){return 9==e||10==e||13==e||32==e}function mQ(e){return e>=97&&e<=122||e>=65&&e<=90}function gQ(e){return 95==e||e>=128||mQ(e)}function SQ(e){return e>=48&&e<=55||e>=97&&e<=102||e>=65&&e<=70}const PQ={int:!0,integer:!0,bool:!0,boolean:!0,float:!0,double:!0,real:!0,string:!0,array:!0,object:!0,unset:!0,__proto__:null},TQ=new lf(e=>{if(40==e.next){e.advance();let t=0;for(;QQ(e.peek(t));)t++;let i,O="";for(;mQ(i=e.peek(t));)O+=String.fromCharCode(i),t++;for(;QQ(e.peek(t));)t++;41==e.peek(t)&&PQ[O.toLowerCase()]&&e.acceptToken(1)}else if(60==e.next&&60==e.peek(1)&&60==e.peek(2)){for(let t=0;t<3;t++)e.advance();for(;32==e.next||9==e.next;)e.advance();let t=39==e.next;if(t&&e.advance(),!gQ(e.next))return;let i=String.fromCharCode(e.next);for(;e.advance(),gQ(e.next)||e.next>=48&&e.next<=55;)i+=String.fromCharCode(e.next);if(t){if(39!=e.next)return;e.advance()}if(10!=e.next&&13!=e.next)return;for(;;){let t=10==e.next||13==e.next;if(e.advance(),e.next<0)return;if(t){for(;32==e.next||9==e.next;)e.advance();let t=!0;for(let O=0;O{e.next<0&&e.acceptToken(278)}),vQ=new lf((e,t)=>{63==e.next&&t.canShift(277)&&62==e.peek(1)&&e.acceptToken(277)});function wQ(e){let t=e.peek(1);if(110==t||114==t||116==t||118==t||101==t||102==t||92==t||36==t||34==t||123==t)return 2;if(t>=48&&t<=55){let t,i=2;for(;i<5&&(t=e.peek(i))>=48&&t<=55;)i++;return i}if(120==t&&SQ(e.peek(2)))return SQ(e.peek(3))?4:3;if(117==t&&123==e.peek(2))for(let t=3;;t++){let i=e.peek(t);if(125==i)return 2==t?0:t+1;if(!SQ(i))break}return 0}const bQ=new lf((e,t)=>{let i=!1;for(;!(34==e.next||e.next<0||36==e.next&&(gQ(e.peek(1))||123==e.peek(1))||123==e.next&&36==e.peek(1));i=!0){if(92==e.next){let t=wQ(e);if(t){if(i)break;return e.acceptToken(3,t)}}else if(!i&&(91==e.next||45==e.next&&62==e.peek(1)&&gQ(e.peek(2))||63==e.next&&45==e.peek(1)&&62==e.peek(2)&&gQ(e.peek(3)))&&t.canShift(276))break;e.advance()}i&&e.acceptToken(275)}),xQ=Oa({"Visibility abstract final static":va.modifier,"for foreach while do if else elseif switch try catch finally return throw break continue default case":va.controlKeyword,"endif endfor endforeach endswitch endwhile declare enddeclare goto match":va.controlKeyword,"and or xor yield unset clone instanceof insteadof":va.operatorKeyword,"function fn class trait implements extends const enum global interface use var":va.definitionKeyword,"include include_once require require_once namespace":va.moduleKeyword,"new from echo print array list as":va.keyword,null:va.null,Boolean:va.bool,VariableName:va.variableName,"NamespaceName/...":va.namespace,"NamedType/...":va.typeName,Name:va.name,"CallExpression/Name":va.function(va.variableName),"LabelStatement/Name":va.labelName,"MemberExpression/Name":va.propertyName,"MemberExpression/VariableName":va.special(va.propertyName),"ScopedExpression/ClassMemberName/Name":va.propertyName,"ScopedExpression/ClassMemberName/VariableName":va.special(va.propertyName),"CallExpression/MemberExpression/Name":va.function(va.propertyName),"CallExpression/ScopedExpression/ClassMemberName/Name":va.function(va.propertyName),"MethodDeclaration/Name":va.function(va.definition(va.variableName)),"FunctionDefinition/Name":va.function(va.definition(va.variableName)),"ClassDeclaration/Name":va.definition(va.className),UpdateOp:va.updateOperator,ArithOp:va.arithmeticOperator,"LogicOp IntersectionType/&":va.logicOperator,BitOp:va.bitwiseOperator,CompareOp:va.compareOperator,ControlOp:va.controlOperator,AssignOp:va.definitionOperator,"$ ConcatOp":va.operator,LineComment:va.lineComment,BlockComment:va.blockComment,Integer:va.integer,Float:va.float,String:va.string,ShellExpression:va.special(va.string),"=> ->":va.punctuation,"( )":va.paren,"#[ [ ]":va.squareBracket,"${ { }":va.brace,"-> ?->":va.derefOperator,", ; :: : \\":va.separator,"PhpOpen PhpClose":va.processingInstruction}),XQ={__proto__:null,static:325,STATIC:325,class:351,CLASS:351},kQ=yf.deserialize({version:14,states:"%#[Q`OWOOQhQaOOP%oO`OOOOO#t'#Hh'#HhO%tO#|O'#DuOOO#u'#Dx'#DxQ&SOWO'#DxO&XO$VOOOOQ#u'#Dy'#DyO&lQaO'#D}O'[QdO'#EQO+QQdO'#IqO+_QdO'#ERO-RQaO'#EXO/bQ`O'#EUO/gQ`O'#E_O2UQaO'#E_O2]Q`O'#EgO2bQ`O'#EqO-RQaO'#EqO2mQpO'#FOO2rQ`O'#FOOOQS'#Iq'#IqO2wQ`O'#ExOOQS'#Ih'#IhO5SQdO'#IeO9UQeO'#F]O-RQaO'#FlO-RQaO'#FmO-RQaO'#FnO-RQaO'#FoO-RQaO'#FoO-RQaO'#FrOOQO'#Ir'#IrO9cQ`O'#FxOOQO'#Ht'#HtO9kQ`O'#HXO:VQ`O'#FsO:bQ`O'#HfO:mQ`O'#GPO:uQaO'#GQO-RQaO'#G`O-RQaO'#GcO;bOrO'#GfOOQS'#JP'#JPOOQS'#JO'#JOOOQS'#Ie'#IeO/bQ`O'#GmO/bQ`O'#GoO/bQ`O'#GtOhQaO'#GvO;iQ`O'#GwO;nQ`O'#GzO:]Q`O'#G}O;sQeO'#HOO;sQeO'#HPO;sQeO'#HQO;}Q`O'#HROhQ`O'#HVO:]Q`O'#HWO>mQ`O'#HWO;}Q`O'#HXO:]Q`O'#HZO:]Q`O'#H[O:]Q`O'#H]O>rQ`O'#H`O>}Q`O'#HaOQO!$dQ`O,5POOQ#u-E;h-E;hO!1QQ`O,5=tOOO#u,5:_,5:_O!1]O#|O,5:_OOO#u-E;g-E;gOOOO,5>|,5>|OOQ#y1G0T1G0TO!1eQ`O1G0YO-RQaO1G0YO!2wQ`O1G0qOOQS1G0q1G0qOOQS'#Eo'#EoOOQS'#Il'#IlO-RQaO'#IlOOQS1G0r1G0rO!4ZQ`O'#IoO!5pQ`O'#IqO!5}QaO'#EwOOQO'#Io'#IoO!6XQ`O'#InO!6aQ`O,5;aO-RQaO'#FXOOQS'#FW'#FWOOQS1G1[1G1[O!6fQdO1G1dO!8kQdO1G1dO!:WQdO1G1dO!;sQdO1G1dO!=`QdO1G1dO!>{QdO1G1dO!@hQdO1G1dO!BTQdO1G1dO!CpQdO1G1dO!E]QdO1G1dO!FxQdO1G1dO!HeQdO1G1dO!JQQdO1G1dO!KmQdO1G1dO!MYQdO1G1dO!NuQdO1G1dOOQT1G0_1G0_O!#[Q`O,5<_O#!bQaO'#EYOOQS1G0[1G0[O#!iQ`O,5:zOEdQaO,5:zO#!nQaO,5;OO#!uQdO,5:|O#$tQdO,5?UO#&sQaO'#HmO#'TQ`O,5?TOOQS1G0e1G0eO#']Q`O1G0eO#'bQ`O'#IkO#(zQ`O'#IkO#)SQ`O,5;SOG|QaO,5;SOOQS1G0w1G0wOOQO,5>^,5>^OOQO-E;p-E;pOOQS1G1U1G1UO#)pQdO'#FQO#+uQ`O'#HsOJ}QpO1G1UO2wQ`O'#HpO#+zQtO,5;eO2wQ`O'#HqO#,iQtO,5;gO#-WQaO1G1OOOQS,5;h,5;hO#/gQtO'#FQO#/tQdO1G0dO-RQaO1G0dO#1aQdO1G1aO#2|QdO1G1cOOQO,5X,5>XOOQO-E;k-E;kOOQS7+&P7+&PO!+iQaO,5;TO$$^QaO'#HnO$$hQ`O,5?VOOQS1G0n1G0nO$$pQ`O1G0nPOQO'#FQ'#FQOOQO,5>_,5>_OOQO-E;q-E;qOOQS7+&p7+&pOOQS,5>[,5>[OOQS-E;n-E;nO$$uQtO,5>]OOQS-E;o-E;oO$%dQdO7+&jO$'iQtO'#FQO$'vQdO7+&OOOQS1G0j1G0jOOQO,5>a,5>aOOQO-E;s-E;sOOQ#u7+(x7+(xO!$[QdO7+(xOOQ#u7+(}7+(}O#JfQ`O7+(}O#JkQ`O7+(}OOQ#u7+(z7+(zO!.]Q`O7+(zO!1TQ`O7+(zO!1QQ`O7+(zO$)cQ`O,5i,5>iOOQS-E;{-E;{O$.lQdO7+'qO$.|QpO7+'qO$/XQdO'#IxOOQO,5pOOQ#u,5>p,5>pOOQ#u-EoOOQS-EVQdO1G2^OOQS,5>h,5>hOOQS-E;z-E;zOOQ#u7+({7+({O$?oQ`O'#GXO:]Q`O'#H_OOQO'#IV'#IVO$@fQ`O,5=xOOQ#u,5=x,5=xO$AcQ!bO'#EQO$AzQ!bO7+(}O$BYQpO7+)RO#KRQpO7+)RO$BbQ`O'#HbO!$[QdO7+)RO$BpQdO,5>rOOQS-EVOOQS-E;i-E;iO$D{QdO<Z,5>ZOOQO-E;m-E;mOOQS1G1_1G1_O$8rQaO,5:uO$G}QaO'#HlO$H[Q`O,5?QOOQS1G0`1G0`OOQS7+&Q7+&QO$HdQ`O7+&UO$IyQ`O1G0oO$K`Q`O,5>YOOQO,5>Y,5>YOOQO-E;l-E;lOOQS7+&Y7+&YOOQS7+&U7+&UOOQ#u<c,5>cOOQO-E;u-E;uOOQS<lOOQ#u-EmOOQO-EW,5>WOOQO-E;j-E;jO!+iQaO,5;UOOQ#uANBTANBTO#JfQ`OANBTOOQ#uANBQANBQO!.]Q`OANBQO!+iQaO7+'hOOQO7+'l7+'lO%-bQ`O7+'hO%.wQ`O7+'hO%/SQ`O7+'lO!+iQaO7+'mOOQO7+'m7+'mO%/XQdO'#F}OOQO'#Hv'#HvO%/jQ`O,5e,5>eOOQS-E;w-E;wOOQO1G2_1G2_O$1YQdO1G2_O$/jQpO1G2_O#JkQ`O1G2]O!.mQdO1G2aO%$dQ!bO1G2]O!$[QdO1G2]OOQO1G2a1G2aOOQO1G2]1G2]O%2uQaO'#G]OOQO1G2b1G2bOOQSAN@xAN@xO!.]Q`OAN@xOOOQ<]O%6rQ!bO'#FQO!$[QdOANBXOOQ#uANBXANBXO:]Q`O,5=}O%7WQ`O,5=}O%7cQ`O'#IXO%7wQ`O,5?rOOQS1G3h1G3hOOQS7+)x7+)xP%+OQpOANBXO%8PQ`O1G0pOOQ#uG27oG27oOOQ#uG27lG27lO%9fQ`O<d,5>dO%dOOQO-E;v-E;vO%hQ`O'#IqO%>rQ`O'#IhO!$[QdO'#IOO%@lQaO,5s,5>sOOQO-Ej,5>jOOQP-E;|-E;|OOQO1G2c1G2cOOQ#uLD,kLD,kOOQTG27[G27[O!$[QdOLD-RO!$[QdO<OO%EpQ`O,5>OPOQ#uLD-_LD-_OOQO7+'o7+'oO+_QdO7+'oOOQS!$( ]!$( ]OOQOAN@}AN@}OOQS1G2d1G2dOOQS1G2e1G2eO%E{QdO1G2eOOQ#u!$(!m!$(!mOOQOANBVANBVOOQO1G3j1G3jO:]Q`O1G3jOOQO<tQaO,5:xO'/vQaO,5;uO'/vQaO,5;wO'@sQdO,5YQdO,5<^O)@XQdO,5QQ`O,5=eO*>YQaO'#HkO*>dQ`O,5?ROlQdO7+%tO*@kQ`O1G0jO!+iQaO1G0jO*BQQdO7+&OOoO*GeQ`O,5>VO*HzQdO<[QdO,5{QdO'#IjO.BbQ`O'#IeO.BoQ`O'#GPO.BwQaO,5:nO.COQ`O,5uOs#fOx7xOy7xO}aO!O^O!Q8OO!R}O!T7}O!V7yO!W7yO!Z8QO!d:QO!z]O#T#mO#V#lO#X`O#dhO#fbO#gcO#sdO$[7|O$d7{O$e7|O$hqO%T8PO%U!OO%W}O%X}O%`|O'WYO'u{O#Y']P~O#O#qO~P/lO!z#rO~O#d#tO#fbO#gcO~O'a#vO~O#s#zO~OU$OO!R$OO!w#}O#s3hO'W#{O~OT'XXz'XX!S'XX!c'XX!n'XX!w'XX!z'XX#T'XX#X'XX#a'XX#b'XX#y'XX$R'XX$S'XX$T'XX$U'XX$V'XX$X'XX$Y'XX$Z'XX$['XX$]'XX$^'XX$_'XX%T'XX'P'XX!y'XX!o'XX~O#|$QO$O$RO~P3YOP7wOQ|OU_OW}O[7zOo>uOs#fOx7xOy7xO}aO!O^O!Q8OO!R}O!T7}O!V7yO!W7yO!Z8QO!d:QO!z]O#X`O#dhO#fbO#gcO#sdO$[7|O$d7{O$e7|O$hqO%T8PO%U!OO%W}O%X}O%`|O'WYO'u{OT$PXz$PX!S$PX!c$PX!n$PX!w$PX#a$PX#b$PX#y$PX$R$PX$S$PX$T$PX$U$PX$V$PX$X$PX$Y$PX$Z$PX$]$PX$^$PX$_$PX'P$PX!y$PX!o$PX~Or$TO#T8eO#V8dO~P5^O#sdO'WYO~OS$fO]$aOk$dOm$fOs$`O!a$bO$krO$u$eO~O!z$hO#T$jO'W$gO~Oo$mOs$lO#d$nO~O!z$hO#T$rO~O!U$uO$u$tO~P-ROR${O!p$zO#d$yO#g$zO&}${O~O't$}O~P;PO!z%SO~O!z%UO~O!n#bO'P#bO~P-RO!pXO~O!z%`O~OP7wOQ|OU_OW}O[7zOo>uOs#fOx7xOy7xO}aO!O^O!Q8OO!R}O!T7}O!V7yO!W7yO!Z8QO!d:QO!z]O#X`O#dhO#fbO#gcO#sdO$[7|O$d7{O$e7|O$hqO%T8PO%U!OO%W}O%X}O%`|O'WYO'u{O~O!z%dO~O]$aO~O!pXO#sdO'WYO~O]%rOs%rO#s%nO'WYO~O!j%wO'Q%wO'TRO~O'Q%zO~PhO!o%{O~PhO!r%}O~PvO#T#PO$R:aO$S:eO$T:fO$U:gO$V:hO$X:jO$Y:kO$Z:lO$[:mO$]:nO$^:oO$_:oO%T#cO!y'cX#O'cX~P!%aO!r)yO!y'eX#O'eX~P)dO!y#kX#O#kX~P!+iO#O){O!y'bX~O!y)}O~O%T#cOT$Qiz$Qi!S$Qi!c$Qi!n$Qi!w$Qi#T$Qi$R$Qi$S$Qi$T$Qi$U$Qi$V$Qi$X$Qi$Y$Qi$Z$Qi$[$Qi$]$Qi$^$Qi$_$Qi'P$Qi!y$Qi#O$Qi#P$Qi#Y$Qi!o$Qi!r$QiV$Qi#|$Qi$O$Qi!p$Qi~P!%aOz#QO#T#PO$R#RO$S#VO$T#WO$U#XO$V#YO$X#[O$Y#]O$Z#^O$[#_O$]#`O$^#aO$_#aO%T#cOT$Qi!S$Qi!c$Qi!n$Qi!w$Qi'P$Qi!y$Qi!o$Qi~P!%aOz#QO!w!yO#T#PO$R#RO$S#VO$T#WO$U#XO$V#YO$X#[O$Y#]O$Z#^O$[#_O$]#`O$^#aO$_#aO%T#cOT$Qi!S$Qi!c$Qi!n$Qi'P$Qi!y$Qi!o$Qi~P!%aOT#SOz#QO!c#UO!w!yO#T#PO$R#RO$S#VO$T#WO$U#XO$V#YO$X#[O$Y#]O$Z#^O$[#_O$]#`O$^#aO$_#aO%T#cO!S$Qi!n$Qi'P$Qi!y$Qi!o$Qi~P!%aOT#SOz#QO!w!yO#T#PO$R#RO$S#VO$T#WO$U#XO$V#YO$X#[O$Y#]O$Z#^O$[#_O$]#`O$^#aO$_#aO%T#cO!S$Qi!c$Qi!n$Qi'P$Qi!y$Qi!o$Qi~P!%aOz#QO#T#PO$T#WO$U#XO$V#YO$X#[O$Y#]O$Z#^O$[#_O$]#`O$^#aO$_#aO%T#cOT$Qi!S$Qi!c$Qi!n$Qi!w$Qi$R$Qi$S$Qi'P$Qi!y$Qi!o$Qi~P!%aOz#QO#T#PO$U#XO$V#YO$X#[O$Y#]O$Z#^O$[#_O$]#`O$^#aO$_#aO%T#cOT$Qi!S$Qi!c$Qi!n$Qi!w$Qi$R$Qi$S$Qi$T$Qi'P$Qi!y$Qi!o$Qi~P!%aOz#QO#T#PO$V#YO$X#[O$Y#]O$Z#^O$[#_O$]#`O$^#aO$_#aO%T#cOT$Qi!S$Qi!c$Qi!n$Qi!w$Qi$R$Qi$S$Qi$T$Qi$U$Qi'P$Qi!y$Qi!o$Qi~P!%aOz#QO#T#PO$X#[O$Y#]O$Z#^O$[#_O$]#`O$^#aO$_#aO%T#cOT$Qi!S$Qi!c$Qi!n$Qi!w$Qi$R$Qi$S$Qi$T$Qi$U$Qi$V$Qi'P$Qi!y$Qi!o$Qi~P!%aOz#QO$X#[O$Y#]O$Z#^O$[#_O$]#`O$^#aO$_#aO%T#cOT$Qi!S$Qi!c$Qi!n$Qi!w$Qi#T$Qi$R$Qi$S$Qi$T$Qi$U$Qi$V$Qi'P$Qi!y$Qi!o$Qi~P!%aOz#QO$Y#]O$Z#^O$[#_O$]#`O$^#aO$_#aO%T#cOT$Qi!S$Qi!c$Qi!n$Qi!w$Qi#T$Qi$R$Qi$S$Qi$T$Qi$U$Qi$V$Qi$X$Qi'P$Qi!y$Qi!o$Qi~P!%aOz#QO$Z#^O$[#_O$]#`O$^#aO$_#aO%T#cOT$Qi!S$Qi!c$Qi!n$Qi!w$Qi#T$Qi$R$Qi$S$Qi$T$Qi$U$Qi$V$Qi$X$Qi$Y$Qi'P$Qi!y$Qi!o$Qi~P!%aOz#QO$[#_O$^#aO$_#aO%T#cOT$Qi!S$Qi!c$Qi!n$Qi!w$Qi#T$Qi$R$Qi$S$Qi$T$Qi$U$Qi$V$Qi$X$Qi$Y$Qi$Z$Qi$]$Qi'P$Qi!y$Qi!o$Qi~P!%aOz#QO$^#aO$_#aO%T#cOT$Qi!S$Qi!c$Qi!n$Qi!w$Qi#T$Qi$R$Qi$S$Qi$T$Qi$U$Qi$V$Qi$X$Qi$Y$Qi$Z$Qi$[$Qi$]$Qi'P$Qi!y$Qi!o$Qi~P!%aOz#QO$Z#^O$[#_O$^#aO$_#aO%T#cOT$Qi!S$Qi!c$Qi!n$Qi!w$Qi#T$Qi$R$Qi$S$Qi$T$Qi$U$Qi$V$Qi$X$Qi$Y$Qi$]$Qi'P$Qi!y$Qi!o$Qi~P!%aOz#QO$_#aO%T#cOT$Qi!S$Qi!c$Qi!n$Qi!w$Qi#T$Qi$R$Qi$S$Qi$T$Qi$U$Qi$V$Qi$X$Qi$Y$Qi$Z$Qi$[$Qi$]$Qi$^$Qi'P$Qi!y$Qi!o$Qi~P!%aO_*PO~PxO$hqO$krO~P2wO#X+|O#a+{O#b+{O~O#d,OO%W,OO%^+}O'W$gO~O!o,PO~PCVOc%bXd%bXh%bXj%bXf%bXg%bXe%bX~PhOc,TOd,ROP%aiQ%aiS%aiU%aiW%aiX%ai[%ai]%ai^%ai`%aia%aib%aik%aim%aio%aip%aiq%ais%ait%aiu%aiv%aix%aiy%ai|%ai}%ai!O%ai!P%ai!Q%ai!R%ai!T%ai!V%ai!W%ai!X%ai!Y%ai!Z%ai![%ai!]%ai!^%ai!_%ai!a%ai!b%ai!d%ai!n%ai!p%ai!z%ai#X%ai#d%ai#f%ai#g%ai#s%ai$[%ai$d%ai$e%ai$h%ai$k%ai$u%ai%T%ai%U%ai%W%ai%X%ai%`%ai&|%ai'W%ai'u%ai'Q%ai!o%aih%aij%aif%aig%aiY%ai_%aii%aie%ai~Oc,XOd,UOh,WO~OY,YO_,ZO!o,^O~OY,YO_,ZOi%gX~Oi,`O~Oj,aO~O!n,cO~PxO$hqO$krO~P2wO!p)`O~OU$OO!R$OO!w3nO#s3iO'W,zO~O#s,|O~O!p-OO'a'UO~O#sdO'WYO!n&zX#O&zX'P&zX~O#O)gO!n'ya'P'ya~O#s-UO~O!n&_X#O&_X'P&_X#P&_X~PvO#T#PO$R:aO$S:eO$T:fO$U:gO$V:hO$X:jO$Y:kO$Z:lO$[:mO$]:nO$^:oO$_:oO%T#cO!y#ka#O#ka~P!%aO!y&cX#O&cX~P@aO#O){O!y'ba~O!o-_O~PCVO#P-`O~O#O-aO!o'YX~O!o-cO~O!y-dO~OT8TOz8RO!S8UO!c8VO!w:_O#T#PO$R8SO$S8WO$T8XO$U8YO$V8ZO$X8]O$Y8^O$Z8_O$[8`O$]8aO$^8bO$_8bO%T#cO#O#Wi#Y#Wi~P!%aO!y&bX#O&bX~PxO#n'XO~OS+kO].cOm+kOs$`O!U+kO!`+kO!a+kO#d>xO$hqO$krO~P2wOS+kO].cOm+kOs$`O!U+kO!`+kO!a+kO#d>xO$hqO~P2wO!n#bO!p-yO'P#bO~OS+kO]+nOm+kOs$`O!U+kO!_+qO!`+kO!a+kO!o.mO#d>xO$hqO$krO~P2wO#d.rO%W.rO%^+}O'W$gO~O%W.sO~O#Y.tO~Oc%bad%bah%baj%baf%bag%bae%ba~PhOc.wOd,ROP%aqQ%aqS%aqU%aqW%aqX%aq[%aq]%aq^%aq`%aqa%aqb%aqk%aqm%aqo%aqp%aqq%aqs%aqt%aqu%aqv%aqx%aqy%aq|%aq}%aq!O%aq!P%aq!Q%aq!R%aq!T%aq!V%aq!W%aq!X%aq!Y%aq!Z%aq![%aq!]%aq!^%aq!_%aq!a%aq!b%aq!d%aq!n%aq!p%aq!z%aq#X%aq#d%aq#f%aq#g%aq#s%aq$[%aq$d%aq$e%aq$h%aq$k%aq$u%aq%T%aq%U%aq%W%aq%X%aq%`%aq&|%aq'W%aq'u%aq'Q%aq!o%aqh%aqj%aqf%aqg%aqY%aq_%aqi%aqe%aq~Oc.|Od,UOh.{O~O!r(hO~OP7wOQ|OU_OW}O[xO$hqO$krO~P2wOS+kOY,vO]+nOm+kOs$`O!U+kO!_+qO!`+kO!a+kO!o/fO#d>xO$hqO$krO~P2wOw!tX!p!tX#T!tX#n!tX#s#vX#|!tX'W!tX~Ow(ZO!p)`O#T3tO#n3sO~O!p-OO'a&fa~O]/nOs/nO#sdO'WYO~OV/rO!n&za#O&za'P&za~O#O)gO!n'yi'P'yi~O#s/tO~OT8TOz8RO!S8UO!c8VO!w:_O#T#PO$R8SO$S8WO$T8XO$U8YO$V8ZO$X8]O$Y8^O$Z8_O$[8`O$]8aO$^8bO$_8bO%T#cO!n&_a#O&_a'P&_a#P&_a~P!%aOz#QO#T#PO$R#RO$S#VO$T#WO$U#XO$V#YO$X#[O$Y#]O$Z#^O$[#_O$]#`O$^#aO$_#aO%T#cOT!vy!S!vy!c!vy!n!vy!w!vy'P!vy!y!vy!o!vy~P!%aOT:bOz:`O!S:cO!c:dO!w>vO#T#PO$R:aO$S:eO$T:fO$U:gO$V:hO$X:jO$Y:kO$Z:lO$[:mO$]:nO$^:oO$_:oO%T#cO!y#ji#O#ji~P!%aO_*PO!o&`X#O&`X~PvO#T#PO$R:aO$S:eO$T:fO$U:gO$V:hO$X:jO$Y:kO$Z:lO$[:mO$]:nO$^:oO$_:oO%T#cO!y#]i#O#]i~P!%aOT8TOz8RO!S8UO!c8VO!w:_O#P/yO#T#PO$R8SO$S8WO$T8XO$U8YO$V8ZO$X8]O$Y8^O$Z8_O$[8`O$]8aO$^8bO$_8bO%T#cO!y&ba#O&ba~P!%aO#|0OO!y$ji#O$ji~O#d0PO~O#V0SO#d0RO~P2wOT:bOz:`O!S:cO!c:dO!w>vO#T#PO$R:aO$S:eO$T:fO$U:gO$V:hO$X:jO$Y:kO$Z:lO$[:mO$]:nO$^:oO$_:oO%T#cO!y$ji#O$ji~P!%aO!p-yO#|0TO!y$oi#O$oi~O!o0YO'W$gO~O#O0[O!y'kX~O#d0^O~O!y0_O~O!pXO!r0bO~O#T'ZO#n'XO!p'qy!n'qy'P'qy~O!n$sy'P$sy!y$sy!o$sy~PCVO#P0eO#T'ZO#n'XO~O#sdO'WYOw&mX!p&mX#O&mX!n&mX'P&mX~O#O.^Ow'la!p'la!n'la'P'la~OS+kO]0mOm+kOs$`O!U+kO!`+kO!a+kO#d>xO$hqO~P2wO#T3tO#n3sO'W$gO~O#|)XO#T'eX#n'eX'W'eX~O!n#bO!p0sO'P#bO~O#Y0wO~Oh0|O~OTvO#T#PO$R:aO$S:eO$T:fO$U:gO$V:hO$X:jO$Y:kO$Z:lO$[:mO$]:nO$^:oO$_:oO%T#cO!y$jq#O$jq~P!%aO#|1kO!y$jq#O$jq~O#d1lO~O!n#bO!pXO!z$hO#P1oO'P#bO~O!o1rO'W$gO~OT:bOz:`O!S:cO!c:dO!w>vO#T#PO$R:aO$S:eO$T:fO$U:gO$V:hO$X:jO$Y:kO$Z:lO$[:mO$]:nO$^:oO$_:oO%T#cO!y$oq#O$oq~P!%aO#T1tO#d1sO!y&lX#O&lX~O#O0[O!y'ka~O#T'ZO#n'XO!p'q!R!n'q!R'P'q!R~O!pXO!r1yO~O!n$s!R'P$s!R!y$s!R!o$s!R~PCVO#P1{O#T'ZO#n'XO~OP7wOU_O[:rOo?tOs#fOx:rOy:rO}aO!O^O!QvO#T#PO$R:aO$S:eO$T:fO$U:gO$V:hO$X:jO$Y:kO$Z:lO$[:mO$]:nO$^:oO$_:oO%T#cO!y#^i#O#^i~P!%aOT:bOz:`O!S:cO!c:dO!w>vO#T#PO$R:aO$S:eO$T:fO$U:gO$V:hO$X:jO$Y:kO$Z:lO$[:mO$]:nO$^:oO$_:oO%T#cO!y$jy#O$jy~P!%aOT:bOz:`O!S:cO!c:dO!w>vO#T#PO$R:aO$S:eO$T:fO$U:gO$V:hO$X:jO$Y:kO$Z:lO$[:mO$]:nO$^:oO$_:oO%T#cO!y$oy#O$oy~P!%aO!pXO#P2rO~O#d2sO~O#O0[O!y'ki~O!n$s!Z'P$s!Z!y$s!Z!o$s!Z~PCVOTvO#T#PO$R:aO$S:eO$T:fO$U:gO$V:hO$X:jO$Y:kO$Z:lO$[:mO$]:nO$^:oO$_:oO%T#cO!y$j!R#O$j!R~P!%aO!n$s!c'P$s!c!y$s!c!o$s!c~PCVO!a3`O'W$gO~OV3dO!o&Wa#O&Wa~O'W$gO!n%Ri'P%Ri~O'a'_O~O'a/jO~O'a*iO~O'a1]O~OT3}Oz3{O!S4OO!c4PO!w5rO#T#PO$R3|O$S4QO$T4RO$U4SO$V4TO$X4VO$Y4WO$Z4XO$[4YO$]4ZO$^4[O$_4[O%T#cO!n$ta#|$ta$O$ta'P$ta!y$ta!o$ta#O$ta~P!%aO#T3uO~P-RO#s3lO~O#s3mO~O!U$uO$u$tO~P#-WOT8TOz8RO!S8UO!c8VO!w:_O#P3pO#T#PO$R8SO$S8WO$T8XO$U8YO$V8ZO$X8]O$Y8^O$Z8_O$[8`O$]8aO$^8bO$_8bO%T#cO!n'^X'P'^X!y'^X!o'^X~P!%aOT6QOz6OO!S6RO!c6SO!w7oO#P5aO#T#PO$R6PO$S6TO$T6UO$U6VO$V6WO$X6YO$Y6ZO$Z6[O$[6]O$]6^O$^6_O$_6_O%T#cO#O'^X#Y'^X#|'^X$O'^X!n'^X'P'^X!r'^X!y'^X!o'^XV'^X!p'^X~P!%aO#T5OO~P#-WOT3}Oz3{O!S4OO!c4PO!w5rO#T#PO$R3|O$S4QO$T4RO$U4SO$V4TO$X4VO$Y4WO$Z4XO$[4YO$]4ZO$^4[O$_4[O%T#cO!n$`a#|$`a$O$`a'P$`a!y$`a!o$`a#O$`a~P!%aOT3}Oz3{O!S4OO!c4PO!w5rO#T#PO$R3|O$S4QO$T4RO$U4SO$V4TO$X4VO$Y4WO$Z4XO$[4YO$]4ZO$^4[O$_4[O%T#cO!n$aa#|$aa$O$aa'P$aa!y$aa!o$aa#O$aa~P!%aOT3}Oz3{O!S4OO!c4PO!w5rO#T#PO$R3|O$S4QO$T4RO$U4SO$V4TO$X4VO$Y4WO$Z4XO$[4YO$]4ZO$^4[O$_4[O%T#cO!n$ba#|$ba$O$ba'P$ba!y$ba!o$ba#O$ba~P!%aOT3}Oz3{O!S4OO!c4PO!w5rO#T#PO$R3|O$S4QO$T4RO$U4SO$V4TO$X4VO$Y4WO$Z4XO$[4YO$]4ZO$^4[O$_4[O%T#cO!n$ca#|$ca$O$ca'P$ca!y$ca!o$ca#O$ca~P!%aOz3{O#|$ca$O$ca#O$ca~PMVOT3}Oz3{O!S4OO!c4PO!w5rO#T#PO$R3|O$S4QO$T4RO$U4SO$V4TO$X4VO$Y4WO$Z4XO$[4YO$]4ZO$^4[O$_4[O%T#cO!n$fa#|$fa$O$fa'P$fa!y$fa!o$fa#O$fa~P!%aOT3}Oz3{O!S4OO!c4PO!w5rO#T#PO$R3|O$S4QO$T4RO$U4SO$V4TO$X4VO$Y4WO$Z4XO$[4YO$]4ZO$^4[O$_4[O%T#cO!n%Va#|%Va$O%Va'P%Va!y%Va!o%Va#O%Va~P!%aOz3{O#T#PO$R3|O$S4QO$T4RO$U4SO$V4TO$X4VO$Y4WO$Z4XO$[4YO$]4ZO$^4[O$_4[O%T#cOT$Qi!S$Qi!c$Qi!n$Qi!w$Qi#|$Qi$O$Qi'P$Qi!y$Qi!o$Qi#O$Qi~P!%aOz3{O!w5rO#T#PO$R3|O$S4QO$T4RO$U4SO$V4TO$X4VO$Y4WO$Z4XO$[4YO$]4ZO$^4[O$_4[O%T#cOT$Qi!S$Qi!c$Qi!n$Qi#|$Qi$O$Qi'P$Qi!y$Qi!o$Qi#O$Qi~P!%aOT3}Oz3{O!c4PO!w5rO#T#PO$R3|O$S4QO$T4RO$U4SO$V4TO$X4VO$Y4WO$Z4XO$[4YO$]4ZO$^4[O$_4[O%T#cO!S$Qi!n$Qi#|$Qi$O$Qi'P$Qi!y$Qi!o$Qi#O$Qi~P!%aOT3}Oz3{O!w5rO#T#PO$R3|O$S4QO$T4RO$U4SO$V4TO$X4VO$Y4WO$Z4XO$[4YO$]4ZO$^4[O$_4[O%T#cO!S$Qi!c$Qi!n$Qi#|$Qi$O$Qi'P$Qi!y$Qi!o$Qi#O$Qi~P!%aOz3{O#T#PO$T4RO$U4SO$V4TO$X4VO$Y4WO$Z4XO$[4YO$]4ZO$^4[O$_4[O%T#cOT$Qi!S$Qi!c$Qi!n$Qi!w$Qi#|$Qi$O$Qi$R$Qi$S$Qi'P$Qi!y$Qi!o$Qi#O$Qi~P!%aOz3{O#T#PO$U4SO$V4TO$X4VO$Y4WO$Z4XO$[4YO$]4ZO$^4[O$_4[O%T#cOT$Qi!S$Qi!c$Qi!n$Qi!w$Qi#|$Qi$O$Qi$R$Qi$S$Qi$T$Qi'P$Qi!y$Qi!o$Qi#O$Qi~P!%aOz3{O#T#PO$V4TO$X4VO$Y4WO$Z4XO$[4YO$]4ZO$^4[O$_4[O%T#cOT$Qi!S$Qi!c$Qi!n$Qi!w$Qi#|$Qi$O$Qi$R$Qi$S$Qi$T$Qi$U$Qi'P$Qi!y$Qi!o$Qi#O$Qi~P!%aOz3{O#T#PO$X4VO$Y4WO$Z4XO$[4YO$]4ZO$^4[O$_4[O%T#cOT$Qi!S$Qi!c$Qi!n$Qi!w$Qi#|$Qi$O$Qi$R$Qi$S$Qi$T$Qi$U$Qi$V$Qi'P$Qi!y$Qi!o$Qi#O$Qi~P!%aOz3{O$X4VO$Y4WO$Z4XO$[4YO$]4ZO$^4[O$_4[O%T#cOT$Qi!S$Qi!c$Qi!n$Qi!w$Qi#T$Qi#|$Qi$O$Qi$R$Qi$S$Qi$T$Qi$U$Qi$V$Qi'P$Qi!y$Qi!o$Qi#O$Qi~P!%aOz3{O$Y4WO$Z4XO$[4YO$]4ZO$^4[O$_4[O%T#cOT$Qi!S$Qi!c$Qi!n$Qi!w$Qi#T$Qi#|$Qi$O$Qi$R$Qi$S$Qi$T$Qi$U$Qi$V$Qi$X$Qi'P$Qi!y$Qi!o$Qi#O$Qi~P!%aOz3{O$Z4XO$[4YO$]4ZO$^4[O$_4[O%T#cOT$Qi!S$Qi!c$Qi!n$Qi!w$Qi#T$Qi#|$Qi$O$Qi$R$Qi$S$Qi$T$Qi$U$Qi$V$Qi$X$Qi$Y$Qi'P$Qi!y$Qi!o$Qi#O$Qi~P!%aOz3{O$[4YO$^4[O$_4[O%T#cOT$Qi!S$Qi!c$Qi!n$Qi!w$Qi#T$Qi#|$Qi$O$Qi$R$Qi$S$Qi$T$Qi$U$Qi$V$Qi$X$Qi$Y$Qi$Z$Qi$]$Qi'P$Qi!y$Qi!o$Qi#O$Qi~P!%aOz3{O$^4[O$_4[O%T#cOT$Qi!S$Qi!c$Qi!n$Qi!w$Qi#T$Qi#|$Qi$O$Qi$R$Qi$S$Qi$T$Qi$U$Qi$V$Qi$X$Qi$Y$Qi$Z$Qi$[$Qi$]$Qi'P$Qi!y$Qi!o$Qi#O$Qi~P!%aOz3{O$Z4XO$[4YO$^4[O$_4[O%T#cOT$Qi!S$Qi!c$Qi!n$Qi!w$Qi#T$Qi#|$Qi$O$Qi$R$Qi$S$Qi$T$Qi$U$Qi$V$Qi$X$Qi$Y$Qi$]$Qi'P$Qi!y$Qi!o$Qi#O$Qi~P!%aOz3{O$_4[O%T#cOT$Qi!S$Qi!c$Qi!n$Qi!w$Qi#T$Qi#|$Qi$O$Qi$R$Qi$S$Qi$T$Qi$U$Qi$V$Qi$X$Qi$Y$Qi$Z$Qi$[$Qi$]$Qi$^$Qi'P$Qi!y$Qi!o$Qi#O$Qi~P!%aOT3}Oz3{O!S4OO!c4PO!w5rO#T#PO$R3|O$S4QO$T4RO$U4SO$V4TO$X4VO$Y4WO$Z4XO$[4YO$]4ZO$^4[O$_4[O%T#cO!n#Ua#|#Ua$O#Ua'P#Ua!y#Ua!o#Ua#O#Ua~P!%aOT3}Oz3{O!S4OO!c4PO!w5rO#T#PO$R3|O$S4QO$T4RO$U4SO$V4TO$X4VO$Y4WO$Z4XO$[4YO$]4ZO$^4[O$_4[O%T#cO!n'^a#|'^a$O'^a'P'^a!y'^a!o'^a#O'^a~P!%aOz3{O!w5rO#T#PO$R3|O$S4QO$T4RO$U4SO$V4TO$X4VO$Y4WO$Z4XO$[4YO$]4ZO$^4[O$_4[O%T#cOT#Qi!S#Qi!c#Qi!n#Qi#|#Qi$O#Qi'P#Qi!y#Qi!o#Qi#O#Qi~P!%aOz3{O!w5rO#T#PO$R3|O$S4QO$T4RO$U4SO$V4TO$X4VO$Y4WO$Z4XO$[4YO$]4ZO$^4[O$_4[O%T#cOT#}i!S#}i!c#}i!n#}i#|#}i$O#}i'P#}i!y#}i!o#}i#O#}i~P!%aOT3}Oz3{O!S4OO!c4PO!w5rO#T#PO$R3|O$S4QO$T4RO$U4SO$V4TO$X4VO$Y4WO$Z4XO$[4YO$]4ZO$^4[O$_4[O%T#cO!n$Pi#|$Pi$O$Pi'P$Pi!y$Pi!o$Pi#O$Pi~P!%aOz3{O#T#PO$R3|O$S4QO$T4RO$U4SO$V4TO$X4VO$Y4WO$Z4XO$[4YO$]4ZO$^4[O$_4[O%T#cOT!vq!S!vq!c!vq!n!vq!w!vq#|!vq$O!vq'P!vq!y!vq!o!vq#O!vq~P!%aOz3{O!w5rO#T#PO$R3|O$S4QO$T4RO$U4SO$V4TO$X4VO$Y4WO$Z4XO$[4YO$]4ZO$^4[O$_4[O%T#cOT#Qq!S#Qq!c#Qq!n#Qq#|#Qq$O#Qq'P#Qq!y#Qq!o#Qq#O#Qq~P!%aOT3}Oz3{O!S4OO!c4PO!w5rO#T#PO$R3|O$S4QO$T4RO$U4SO$V4TO$X4VO$Y4WO$Z4XO$[4YO$]4ZO$^4[O$_4[O%T#cO!n$sq#|$sq$O$sq'P$sq!y$sq!o$sq#O$sq~P!%aOz3{O#T#PO$R3|O$S4QO$T4RO$U4SO$V4TO$X4VO$Y4WO$Z4XO$[4YO$]4ZO$^4[O$_4[O%T#cOT!vy!S!vy!c!vy!n!vy!w!vy#|!vy$O!vy'P!vy!y!vy!o!vy#O!vy~P!%aOT3}Oz3{O!S4OO!c4PO!w5rO#T#PO$R3|O$S4QO$T4RO$U4SO$V4TO$X4VO$Y4WO$Z4XO$[4YO$]4ZO$^4[O$_4[O%T#cO!n$sy#|$sy$O$sy'P$sy!y$sy!o$sy#O$sy~P!%aOT3}Oz3{O!S4OO!c4PO!w5rO#T#PO$R3|O$S4QO$T4RO$U4SO$V4TO$X4VO$Y4WO$Z4XO$[4YO$]4ZO$^4[O$_4[O%T#cO!n$s!R#|$s!R$O$s!R'P$s!R!y$s!R!o$s!R#O$s!R~P!%aOT3}Oz3{O!S4OO!c4PO!w5rO#T#PO$R3|O$S4QO$T4RO$U4SO$V4TO$X4VO$Y4WO$Z4XO$[4YO$]4ZO$^4[O$_4[O%T#cO!n$s!Z#|$s!Z$O$s!Z'P$s!Z!y$s!Z!o$s!Z#O$s!Z~P!%aOT3}Oz3{O!S4OO!c4PO!w5rO#T#PO$R3|O$S4QO$T4RO$U4SO$V4TO$X4VO$Y4WO$Z4XO$[4YO$]4ZO$^4[O$_4[O%T#cO!n$s!c#|$s!c$O$s!c'P$s!c!y$s!c!o$s!c#O$s!c~P!%aOP7wOU_O[5kOo9xOs#fOx5gOy5gO}aO!O^O!Q5{O!T5qO!V5iO!W5iO!Z5}O!d5eO!z]O#T5bO#X`O#dhO#fbO#gcO#sdO$[5oO$d5mO$e5oO$hqO%T5|O%U!OO'WYO~P$vO#O9_O#T#PO$R:aO$S:eO$T:fO$U:gO$V:hO$X:jO$Y:kO$Z:lO$[:mO$]:nO$^:oO$_:oO%T#cO!y'xX~P!%aOT:bOz:`O!S:cO!c:dO!w>vO#O9aO#T#PO$R:aO$S:eO$T:fO$U:gO$V:hO$X:jO$Y:kO$Z:lO$[:mO$]:nO$^:oO$_:oO%T#cO!y'ZX~P!%aOz8RO#T#PO$R8SO$S8WO$T8XO$U8YO$V8ZO$X8]O$Y8^O$Z8_O$[8`O$]8aO$^8bO$_8bO%T#cOT$Qi!S$Qi!c$Qi!w$Qi#O$Qi#P$Qi#Y$Qi!n$Qi'P$Qi!r$Qi!y$Qi!o$QiV$Qi!p$Qi~P!%aOz8RO!w:_O#T#PO$R8SO$S8WO$T8XO$U8YO$V8ZO$X8]O$Y8^O$Z8_O$[8`O$]8aO$^8bO$_8bO%T#cOT$Qi!S$Qi!c$Qi#O$Qi#P$Qi#Y$Qi!n$Qi'P$Qi!r$Qi!y$Qi!o$QiV$Qi!p$Qi~P!%aOT8TOz8RO!c8VO!w:_O#T#PO$R8SO$S8WO$T8XO$U8YO$V8ZO$X8]O$Y8^O$Z8_O$[8`O$]8aO$^8bO$_8bO%T#cO!S$Qi#O$Qi#P$Qi#Y$Qi!n$Qi'P$Qi!r$Qi!y$Qi!o$QiV$Qi!p$Qi~P!%aOT8TOz8RO!w:_O#T#PO$R8SO$S8WO$T8XO$U8YO$V8ZO$X8]O$Y8^O$Z8_O$[8`O$]8aO$^8bO$_8bO%T#cO!S$Qi!c$Qi#O$Qi#P$Qi#Y$Qi!n$Qi'P$Qi!r$Qi!y$Qi!o$QiV$Qi!p$Qi~P!%aOz8RO#T#PO$T8XO$U8YO$V8ZO$X8]O$Y8^O$Z8_O$[8`O$]8aO$^8bO$_8bO%T#cOT$Qi!S$Qi!c$Qi!w$Qi#O$Qi#P$Qi#Y$Qi$R$Qi$S$Qi!n$Qi'P$Qi!r$Qi!y$Qi!o$QiV$Qi!p$Qi~P!%aOz8RO#T#PO$U8YO$V8ZO$X8]O$Y8^O$Z8_O$[8`O$]8aO$^8bO$_8bO%T#cOT$Qi!S$Qi!c$Qi!w$Qi#O$Qi#P$Qi#Y$Qi$R$Qi$S$Qi$T$Qi!n$Qi'P$Qi!r$Qi!y$Qi!o$QiV$Qi!p$Qi~P!%aOz8RO#T#PO$V8ZO$X8]O$Y8^O$Z8_O$[8`O$]8aO$^8bO$_8bO%T#cOT$Qi!S$Qi!c$Qi!w$Qi#O$Qi#P$Qi#Y$Qi$R$Qi$S$Qi$T$Qi$U$Qi!n$Qi'P$Qi!r$Qi!y$Qi!o$QiV$Qi!p$Qi~P!%aOz8RO#T#PO$X8]O$Y8^O$Z8_O$[8`O$]8aO$^8bO$_8bO%T#cOT$Qi!S$Qi!c$Qi!w$Qi#O$Qi#P$Qi#Y$Qi$R$Qi$S$Qi$T$Qi$U$Qi$V$Qi!n$Qi'P$Qi!r$Qi!y$Qi!o$QiV$Qi!p$Qi~P!%aOz8RO$X8]O$Y8^O$Z8_O$[8`O$]8aO$^8bO$_8bO%T#cOT$Qi!S$Qi!c$Qi!w$Qi#O$Qi#P$Qi#T$Qi#Y$Qi$R$Qi$S$Qi$T$Qi$U$Qi$V$Qi!n$Qi'P$Qi!r$Qi!y$Qi!o$QiV$Qi!p$Qi~P!%aOz8RO$Y8^O$Z8_O$[8`O$]8aO$^8bO$_8bO%T#cOT$Qi!S$Qi!c$Qi!w$Qi#O$Qi#P$Qi#T$Qi#Y$Qi$R$Qi$S$Qi$T$Qi$U$Qi$V$Qi$X$Qi!n$Qi'P$Qi!r$Qi!y$Qi!o$QiV$Qi!p$Qi~P!%aOz8RO$Z8_O$[8`O$]8aO$^8bO$_8bO%T#cOT$Qi!S$Qi!c$Qi!w$Qi#O$Qi#P$Qi#T$Qi#Y$Qi$R$Qi$S$Qi$T$Qi$U$Qi$V$Qi$X$Qi$Y$Qi!n$Qi'P$Qi!r$Qi!y$Qi!o$QiV$Qi!p$Qi~P!%aOz8RO$[8`O$^8bO$_8bO%T#cOT$Qi!S$Qi!c$Qi!w$Qi#O$Qi#P$Qi#T$Qi#Y$Qi$R$Qi$S$Qi$T$Qi$U$Qi$V$Qi$X$Qi$Y$Qi$Z$Qi$]$Qi!n$Qi'P$Qi!r$Qi!y$Qi!o$QiV$Qi!p$Qi~P!%aOz8RO$^8bO$_8bO%T#cOT$Qi!S$Qi!c$Qi!w$Qi#O$Qi#P$Qi#T$Qi#Y$Qi$R$Qi$S$Qi$T$Qi$U$Qi$V$Qi$X$Qi$Y$Qi$Z$Qi$[$Qi$]$Qi!n$Qi'P$Qi!r$Qi!y$Qi!o$QiV$Qi!p$Qi~P!%aOz8RO$Z8_O$[8`O$^8bO$_8bO%T#cOT$Qi!S$Qi!c$Qi!w$Qi#O$Qi#P$Qi#T$Qi#Y$Qi$R$Qi$S$Qi$T$Qi$U$Qi$V$Qi$X$Qi$Y$Qi$]$Qi!n$Qi'P$Qi!r$Qi!y$Qi!o$QiV$Qi!p$Qi~P!%aOz8RO$_8bO%T#cOT$Qi!S$Qi!c$Qi!w$Qi#O$Qi#P$Qi#T$Qi#Y$Qi$R$Qi$S$Qi$T$Qi$U$Qi$V$Qi$X$Qi$Y$Qi$Z$Qi$[$Qi$]$Qi$^$Qi!n$Qi'P$Qi!r$Qi!y$Qi!o$QiV$Qi!p$Qi~P!%aO#T9fO~P!+iO!n#Ua'P#Ua!y#Ua!o#Ua~PCVO!n'^a'P'^a!y'^a!o'^a~PCVO#T=PO#V=OO!y&aX#O&aX~PvO#T#PO$R:aO$S:eO$T:fO$U:gO$V:hO$X:jO$Y:kO$Z:lO$[:mO$]:nO$^:oO$_:oO%T#cO!y#Wi#O#Wi~P!%aOz8RO!w:_O#T#PO$R8SO$S8WO$T8XO$U8YO$V8ZO$X8]O$Y8^O$Z8_O$[8`O$]8aO$^8bO$_8bO%T#cOT#Qq!S#Qq!c#Qq#O#Qq#P#Qq#Y#Qq!n#Qq'P#Qq!r#Qq!y#Qq!o#QqV#Qq!p#Qq~P!%aOT8TOz8RO!S8UO!c8VO!w:_O#T#PO$R8SO$S8WO$T8XO$U8YO$V8ZO$X8]O$Y8^O$Z8_O$[8`O$]8aO$^8bO$_8bO%T#cO#O$sq#P$sq#Y$sq!n$sq'P$sq!r$sq!y$sq!o$sqV$sq!p$sq~P!%aOT:bOz:`O!S:cO!c:dO!w>vO#T#PO$R:aO$S:eO$T:fO$U:gO$V:hO$X:jO$Y:kO$Z:lO$[:mO$]:nO$^:oO$_:oO%T#cO!y&wa#O&wa~P!%aOT:bOz:`O!S:cO!c:dO!w>vO#T#PO$R:aO$S:eO$T:fO$U:gO$V:hO$X:jO$Y:kO$Z:lO$[:mO$]:nO$^:oO$_:oO%T#cO!y&_a#O&_a~P!%aOz8RO#T#PO$R8SO$S8WO$T8XO$U8YO$V8ZO$X8]O$Y8^O$Z8_O$[8`O$]8aO$^8bO$_8bO%T#cOT!vy!S!vy!c!vy!w!vy#O!vy#P!vy#Y!vy!n!vy'P!vy!r!vy!y!vy!o!vyV!vy!p!vy~P!%aOT:bOz:`O!S:cO!c:dO!w>vO#T#PO$R:aO$S:eO$T:fO$U:gO$V:hO$X:jO$Y:kO$Z:lO$[:mO$]:nO$^:oO$_:oO%T#cO!y#Wq#O#Wq~P!%aOT8TOz8RO!S8UO!c8VO!w:_O#T#PO$R8SO$S8WO$T8XO$U8YO$V8ZO$X8]O$Y8^O$Z8_O$[8`O$]8aO$^8bO$_8bO%T#cO#O$sy#P$sy#Y$sy!n$sy'P$sy!r$sy!y$sy!o$syV$sy!p$sy~P!%aOT8TOz8RO!S8UO!c8VO!w:_O#T#PO$R8SO$S8WO$T8XO$U8YO$V8ZO$X8]O$Y8^O$Z8_O$[8`O$]8aO$^8bO$_8bO%T#cO#O$s!R#P$s!R#Y$s!R!n$s!R'P$s!R!r$s!R!y$s!R!o$s!RV$s!R!p$s!R~P!%aOT8TOz8RO!S8UO!c8VO!w:_O#T#PO$R8SO$S8WO$T8XO$U8YO$V8ZO$X8]O$Y8^O$Z8_O$[8`O$]8aO$^8bO$_8bO%T#cO#O$s!Z#P$s!Z#Y$s!Z!n$s!Z'P$s!Z!r$s!Z!y$s!Z!o$s!ZV$s!Z!p$s!Z~P!%aOT8TOz8RO!S8UO!c8VO!w:_O#T#PO$R8SO$S8WO$T8XO$U8YO$V8ZO$X8]O$Y8^O$Z8_O$[8`O$]8aO$^8bO$_8bO%T#cO#O$s!c#P$s!c#Y$s!c!n$s!c'P$s!c!r$s!c!y$s!c!o$s!cV$s!c!p$s!c~P!%aO#T9vO~PvO#T#PO$R:aO$S:eO$T:fO$U:gO$V:hO$X:jO$Y:kO$Z:lO$[:mO$]:nO$^:oO$_:oO%T#cO!y$`a#O$`a~P!%aOT:bOz:`O!S:cO!c:dO!w>vO#T#PO$R:aO$S:eO$T:fO$U:gO$V:hO$X:jO$Y:kO$Z:lO$[:mO$]:nO$^:oO$_:oO%T#cO!y$aa#O$aa~P!%aOT:bOz:`O!S:cO!c:dO!w>vO#T#PO$R:aO$S:eO$T:fO$U:gO$V:hO$X:jO$Y:kO$Z:lO$[:mO$]:nO$^:oO$_:oO%T#cO!y$ba#O$ba~P!%aOT:bOz:`O!S:cO!c:dO!w>vO#T#PO$R:aO$S:eO$T:fO$U:gO$V:hO$X:jO$Y:kO$Z:lO$[:mO$]:nO$^:oO$_:oO%T#cO!y$ca#O$ca~P!%aOz:`O%T#cOT$ca!S$ca!c$ca!w$ca!y$ca#O$ca#T$ca$R$ca$S$ca$T$ca$U$ca$V$ca$X$ca$Y$ca$Z$ca$[$ca$]$ca$^$ca$_$ca~P!%aOT:bOz:`O!S:cO!c:dO!w>vO#T#PO$R:aO$S:eO$T:fO$U:gO$V:hO$X:jO$Y:kO$Z:lO$[:mO$]:nO$^:oO$_:oO%T#cO!y$fa#O$fa~P!%aO!r?SO#P9^O~OT:bOz:`O!S:cO!c:dO!w>vO#T#PO$R:aO$S:eO$T:fO$U:gO$V:hO$X:jO$Y:kO$Z:lO$[:mO$]:nO$^:oO$_:oO%T#cO!y$ta#O$ta~P!%aOT:bOz:`O!S:cO!c:dO!w>vO#T#PO$R:aO$S:eO$T:fO$U:gO$V:hO$X:jO$Y:kO$Z:lO$[:mO$]:nO$^:oO$_:oO%T#cO!y%Va#O%Va~P!%aOT8TOz8RO!S8UO!c8VO!r9cO!w:_O#T#PO$R8SO$S8WO$T8XO$U8YO$V8ZO$X8]O$Y8^O$Z8_O$[8`O$]8aO$^8bO$_8bO%T#cO~P!%aOz:`O#T#PO$R:aO$S:eO$T:fO$U:gO$V:hO$X:jO$Y:kO$Z:lO$[:mO$]:nO$^:oO$_:oO%T#cOT$Qi!S$Qi!c$Qi!w$Qi!y$Qi#O$Qi~P!%aOz:`O!w>vO#T#PO$R:aO$S:eO$T:fO$U:gO$V:hO$X:jO$Y:kO$Z:lO$[:mO$]:nO$^:oO$_:oO%T#cOT$Qi!S$Qi!c$Qi!y$Qi#O$Qi~P!%aOT:bOz:`O!c:dO!w>vO#T#PO$R:aO$S:eO$T:fO$U:gO$V:hO$X:jO$Y:kO$Z:lO$[:mO$]:nO$^:oO$_:oO%T#cO!S$Qi!y$Qi#O$Qi~P!%aOT:bOz:`O!w>vO#T#PO$R:aO$S:eO$T:fO$U:gO$V:hO$X:jO$Y:kO$Z:lO$[:mO$]:nO$^:oO$_:oO%T#cO!S$Qi!c$Qi!y$Qi#O$Qi~P!%aOz:`O#T#PO$T:fO$U:gO$V:hO$X:jO$Y:kO$Z:lO$[:mO$]:nO$^:oO$_:oO%T#cOT$Qi!S$Qi!c$Qi!w$Qi!y$Qi#O$Qi$R$Qi$S$Qi~P!%aOz:`O#T#PO$U:gO$V:hO$X:jO$Y:kO$Z:lO$[:mO$]:nO$^:oO$_:oO%T#cOT$Qi!S$Qi!c$Qi!w$Qi!y$Qi#O$Qi$R$Qi$S$Qi$T$Qi~P!%aOz:`O#T#PO$V:hO$X:jO$Y:kO$Z:lO$[:mO$]:nO$^:oO$_:oO%T#cOT$Qi!S$Qi!c$Qi!w$Qi!y$Qi#O$Qi$R$Qi$S$Qi$T$Qi$U$Qi~P!%aOz:`O#T#PO$X:jO$Y:kO$Z:lO$[:mO$]:nO$^:oO$_:oO%T#cOT$Qi!S$Qi!c$Qi!w$Qi!y$Qi#O$Qi$R$Qi$S$Qi$T$Qi$U$Qi$V$Qi~P!%aOz:`O$X:jO$Y:kO$Z:lO$[:mO$]:nO$^:oO$_:oO%T#cOT$Qi!S$Qi!c$Qi!w$Qi!y$Qi#O$Qi#T$Qi$R$Qi$S$Qi$T$Qi$U$Qi$V$Qi~P!%aOz:`O$Y:kO$Z:lO$[:mO$]:nO$^:oO$_:oO%T#cOT$Qi!S$Qi!c$Qi!w$Qi!y$Qi#O$Qi#T$Qi$R$Qi$S$Qi$T$Qi$U$Qi$V$Qi$X$Qi~P!%aOz:`O$Z:lO$[:mO$]:nO$^:oO$_:oO%T#cOT$Qi!S$Qi!c$Qi!w$Qi!y$Qi#O$Qi#T$Qi$R$Qi$S$Qi$T$Qi$U$Qi$V$Qi$X$Qi$Y$Qi~P!%aOz:`O$[:mO$^:oO$_:oO%T#cOT$Qi!S$Qi!c$Qi!w$Qi!y$Qi#O$Qi#T$Qi$R$Qi$S$Qi$T$Qi$U$Qi$V$Qi$X$Qi$Y$Qi$Z$Qi$]$Qi~P!%aOz:`O$^:oO$_:oO%T#cOT$Qi!S$Qi!c$Qi!w$Qi!y$Qi#O$Qi#T$Qi$R$Qi$S$Qi$T$Qi$U$Qi$V$Qi$X$Qi$Y$Qi$Z$Qi$[$Qi$]$Qi~P!%aOz:`O$Z:lO$[:mO$^:oO$_:oO%T#cOT$Qi!S$Qi!c$Qi!w$Qi!y$Qi#O$Qi#T$Qi$R$Qi$S$Qi$T$Qi$U$Qi$V$Qi$X$Qi$Y$Qi$]$Qi~P!%aOz:`O$_:oO%T#cOT$Qi!S$Qi!c$Qi!w$Qi!y$Qi#O$Qi#T$Qi$R$Qi$S$Qi$T$Qi$U$Qi$V$Qi$X$Qi$Y$Qi$Z$Qi$[$Qi$]$Qi$^$Qi~P!%aOz:`O!w>vO#T#PO$R:aO$S:eO$T:fO$U:gO$V:hO$X:jO$Y:kO$Z:lO$[:mO$]:nO$^:oO$_:oO%T#cOT#Qi!S#Qi!c#Qi!y#Qi#O#Qi~P!%aOz:`O!w>vO#T#PO$R:aO$S:eO$T:fO$U:gO$V:hO$X:jO$Y:kO$Z:lO$[:mO$]:nO$^:oO$_:oO%T#cOT#}i!S#}i!c#}i!y#}i#O#}i~P!%aOT:bOz:`O!S:cO!c:dO!w>vO#T#PO$R:aO$S:eO$T:fO$U:gO$V:hO$X:jO$Y:kO$Z:lO$[:mO$]:nO$^:oO$_:oO%T#cO!y$Pi#O$Pi~P!%aO!r?TO#P9hO~Oz:`O#T#PO$R:aO$S:eO$T:fO$U:gO$V:hO$X:jO$Y:kO$Z:lO$[:mO$]:nO$^:oO$_:oO%T#cOT!vq!S!vq!c!vq!w!vq!y!vq#O!vq~P!%aOz:`O!w>vO#T#PO$R:aO$S:eO$T:fO$U:gO$V:hO$X:jO$Y:kO$Z:lO$[:mO$]:nO$^:oO$_:oO%T#cOT#Qq!S#Qq!c#Qq!y#Qq#O#Qq~P!%aO!r?YO#P9oO~OT:bOz:`O!S:cO!c:dO!w>vO#T#PO$R:aO$S:eO$T:fO$U:gO$V:hO$X:jO$Y:kO$Z:lO$[:mO$]:nO$^:oO$_:oO%T#cO!y$sq#O$sq~P!%aO#P9oO#T'ZO#n'XO~Oz:`O#T#PO$R:aO$S:eO$T:fO$U:gO$V:hO$X:jO$Y:kO$Z:lO$[:mO$]:nO$^:oO$_:oO%T#cOT!vy!S!vy!c!vy!w!vy!y!vy#O!vy~P!%aOT:bOz:`O!S:cO!c:dO!w>vO#T#PO$R:aO$S:eO$T:fO$U:gO$V:hO$X:jO$Y:kO$Z:lO$[:mO$]:nO$^:oO$_:oO%T#cO!y$sy#O$sy~P!%aO#P9pO#T'ZO#n'XO~OT:bOz:`O!S:cO!c:dO!w>vO#T#PO$R:aO$S:eO$T:fO$U:gO$V:hO$X:jO$Y:kO$Z:lO$[:mO$]:nO$^:oO$_:oO%T#cO!y$s!R#O$s!R~P!%aO#P9sO#T'ZO#n'XO~OT:bOz:`O!S:cO!c:dO!w>vO#T#PO$R:aO$S:eO$T:fO$U:gO$V:hO$X:jO$Y:kO$Z:lO$[:mO$]:nO$^:oO$_:oO%T#cO!y$s!Z#O$s!Z~P!%aOT:bOz:`O!S:cO!c:dO!w>vO#T#PO$R:aO$S:eO$T:fO$U:gO$V:hO$X:jO$Y:kO$Z:lO$[:mO$]:nO$^:oO$_:oO%T#cO!y$s!c#O$s!c~P!%aO#T;}O~P!+iOT8TOz8RO!S8UO!c8VO!w:_O#P;|O#T#PO$R8SO$S8WO$T8XO$U8YO$V8ZO$X8]O$Y8^O$Z8_O$[8`O$]8aO$^8bO$_8bO%T#cO!y'^X#O'^X~P!%aO!U$uO$u$tO~P$8rOP7wOU_O[:rOo?tOs#fOx:rOy:rO}aO!O^O!QVO~P$8rOP7wOU_O[:rOo?tOs#fOx:rOy:rO}aO!O^O!QWO#X`O#dhO#fbO#gcO#sdO$[vO#T#PO$R:aO$S:eO$T:fO$U:gO$V:hO$X:jO$Y:kO$Z:lO$[:mO$]:nO$^:oO$_:oO%T#cO!y#Ua#O#Ua~P!%aOT:bOz:`O!S:cO!c:dO!w>vO#T#PO$R:aO$S:eO$T:fO$U:gO$V:hO$X:jO$Y:kO$Z:lO$[:mO$]:nO$^:oO$_:oO%T#cO!y'^a#O'^a~P!%aOz<]O!w?^O#T#PO$R<_O$SpO~P$8rOP7wOU_O[:rOo?tOs#fOx:rOy:rO}aO!O^O!QqO#X`O#dhO#fbO#gcO#sdO$[oO#T#PO$R8SO$S8WO$T8XO$U8YO$V8ZO$X8]O$Y8^O$Z8_O$[8`O$]8aO$^8bO$_8bO%T#cO~P!%aOT8TOz8RO!S8UO!c8VO!w:_O#P>nO#T#PO$R8SO$S8WO$T8XO$U8YO$V8ZO$X8]O$Y8^O$Z8_O$[8`O$]8aO$^8bO$_8bO%T#cO!n'^X!r'^X!o'^X#O'^X!p'^X'P'^X~P!%aOT'XXz'XX!S'XX!c'XX!w'XX!z'XX#O'XX#T'XX#X'XX#a'XX#b'XX#y'XX$R'XX$S'XX$T'XX$U'XX$V'XX$X'XX$Y'XX$Z'XX$['XX$]'XX$^'XX$_'XX%T'XX~O#|:uO$O:vO!y'XX~P.@qO!z$hO#T>zO~O!r;SO~PxO!n&qX!p&qX#O&qX'P&qX~O#O?QO!n'pa!p'pa'P'pa~O!r?rO#P;uO~OT[O~O!r?zO#P:rO~OT8TOz8RO!S8UO!c8VO!r>]O!w:_O#T#PO$R8SO$S8WO$T8XO$U8YO$V8ZO$X8]O$Y8^O$Z8_O$[8`O$]8aO$^8bO$_8bO%T#cO~P!%aOT8TOz8RO!S8UO!c8VO!r>^O!w:_O#T#PO$R8SO$S8WO$T8XO$U8YO$V8ZO$X8]O$Y8^O$Z8_O$[8`O$]8aO$^8bO$_8bO%T#cO~P!%aO!r?{O#P>cO~O!r?|O#P>hO~O#P>hO#T'ZO#n'XO~O#P:rO#T'ZO#n'XO~O#P>iO#T'ZO#n'XO~O#P>lO#T'ZO#n'XO~O!z$hO#T?nO~Oo>wOs$lO~O!z$hO#T?oO~O#O?QO!n'pX!p'pX'P'pX~O!z$hO#T?vO~O!z$hO#T?wO~O!z$hO#T?xO~Oo?lOs$lO~Oo?uOs$lO~Oo?tOs$lO~O%X$]%W$k!e$^#d%`#g'u'W#f~",goto:"%1O'{PPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPP'|P(TPP(Z(^PPP(vP(^*o(^6cP6cPP>cFxF{PP6cGR! RP! UP! UPPGR! e! h! lGRGRPP! oP! rPPGR!)u!0q!0qGR!0uP!0u!0u!0u!2PP!;g!S#>Y#>h#>n#>x#?O#?U#?[#?b#?l#?v#?|#@S#@^PPPPPPPP#@d#@hP#A^$(h$(k$(u$1R$1_$1t$1zP$1}$2Q$2W$5[$?Y$Gr$Gu$G{$HO$Kb$Ke$Kn$Kv$LQ$Li$MP$Mz%'}PP%0O%0S%0`%0u%0{Q!nQT!qV!rQUOR%x!mRVO}!hPVX!S!j!r!s!w%O%Q%T%V(h,Q,T.u.w/P0}1O1W2]|!hPVX!S!j!r!s!w%O%Q%T%V(h,Q,T.u.w/P0}1O1W2]Q%_!ZQ%h!aQ%m!eQ'k$cQ'x$iQ)d%lQ+W'{Q,k)QU.O+T+V+]Q.j+pQ/`,jS0a.T.UQ0q.dQ1n0VS1w0`0dQ2Q0nQ2q1pQ2t1xR3[2u|ZPVX!S!j!r!s!w%O%Q%T%V(h,Q,T.u.w/P0}1O1W2]2lf]`cgjklmnoprxyz!W!X!Y!]!e!f!g!y!z#Q#R#S#T#U#V#W#X#Y#Z#[#]#^#_#`#a#i#l#m#q#r#}$Q$R$T$h$z%S%U%d%r%}&S&W&[&q&t&u&x'P'X'Z']'a'e'p't'y(R(V(W(Y(Z([(t)T)X)`)c)g)n)u)y*V*Z*[*r*w*|+Q+X+[+^+_+j+m+q+t,Y,c,e,g,i,u,x-O-`-a-t-v-z.S.V.[.].^.b/X/n/y0O0T0b0e1R1S1b1k1o1y1{2k2r3n3p3s3t3u3x3y3z3{3|3}4O4P4Q4R4S4T4U4V4W4X4Y4Z4[4_4`4a4b4c4k5O5R5S5V5Z5[5_5a5b5d5e5f5g5h5i5j5k5l5m5n5o5p5q5r5u5{5|5}6O6P6Q6R6S6T6U6V6W6X6Y6Z6[6]6^6_6`6a6b6c6d6l7P7S7T7W7[7]7`7b7c7i7j7k7o7w7x7y7z7{7|7}8O8P8Q8R8S8T8U8V8W8X8Y8Z8[8]8^8_8`8a8b8d8e8f8g8h8s9T9W9Z9^9_9a9c9f9h9o9p9s9u9v9|9}:O:Q:R:S:T:U:V:W:X:Y:Z:[:]:^:_:`:a:b:c:d:e:f:g:h:i:j:k:l:m:n:o:q:r:s:u:v:w;S;e;i;j;k;n;u;v;z;|;}V>W>[>]>^>c>h>i>l>n>o>p>q>v?S?T?Y?^?_?p?q?r?y?z?{?|S$ku$`Q%W!V^%e!_$a'j)Y.f0o2OQ%i!bQ%j!cQ%k!dQ%v!kS&V!|){Q&]#OQ'l$dQ'm$eS'|$j'hQ)S%`Q*v'nQ+z(bQ,O(dQ-S)iU.g+n.c0mQ.q+{Q.r+|Q/d,vS0V-y0XQ1X/cQ1e/rS2T0s2WQ2h1`Q3U2iQ3^2zQ3_2{Q3c3VQ3f3`R3g3d0{!OPVX]`cjklmnopxyz!S!W!X!Y!]!g!j!r!s!w!y!z!|#Q#R#S#T#U#V#W#X#Y#Z#[#]#^#_#`#a#i#l#m#q#r$Q$R$T$z%O%Q%S%T%U%V%d%}&S&W&[&q&t&u&x'P']'a(R(V(h(t)T)X)n)u)y){*V*Z*[*|+^,Q,T,Y,c,e,g-`-a-t-z.[.u.w/P/X/y0O0T0e0s0}1O1R1S1W1k1o1{2W2]2r3p3u3x3y3z3{3|3}4O4P4Q4R4S4T4U4V4W4X4Y4Z4[4_4`4a4b4c4k5O5R5S5V5Z5[5_5a5b5d5e5f5g5h5i5j5k5l5m5n5o5p5q5r5u5{5|5}6O6P6Q6R6S6T6U6V6W6X6Y6Z6[6]6^6_6`6a6b6c6d6l7P7S7T7W7[7]7`7b7c7o7x7y7z7{7|7}8O8P8Q8R8S8T8U8V8W8X8Y8Z8[8]8^8_8`8a8b8d8e8f8g8h8s9T9W9Z9^9_9a9c9f9h9o9p9s9u9v:Q:R:S:T:U:V:W:X:Y:Z:[:]:^:_:`:a:b:c:d:e:f:g:h:i:j:k:l:m:n:o:q:r:s:u:v:w;S;e;i;j;k;n;u;v;z;|;}V>W>[>]>^>c>h>i>l>n>o>p>q>v?^?_0z!OPVX]`cjklmnopxyz!S!W!X!Y!]!g!j!r!s!w!y!z!|#Q#R#S#T#U#V#W#X#Y#Z#[#]#^#_#`#a#i#l#m#q#r$Q$R$T$z%O%Q%S%T%U%V%d%}&S&W&[&q&t&u&x'P']'a(R(V(h(t)T)X)n)u)y){*V*Z*[*|+^,Q,T,Y,c,e,g-`-a-t-z.[.u.w/P/X/y0O0T0e0s0}1O1R1S1W1k1o1{2W2]2r3p3u3x3y3z3{3|3}4O4P4Q4R4S4T4U4V4W4X4Y4Z4[4_4`4a4b4c4k5O5R5S5V5Z5[5_5a5b5d5e5f5g5h5i5j5k5l5m5n5o5p5q5r5u5{5|5}6O6P6Q6R6S6T6U6V6W6X6Y6Z6[6]6^6_6`6a6b6c6d6l7P7S7T7W7[7]7`7b7c7o7x7y7z7{7|7}8O8P8Q8R8S8T8U8V8W8X8Y8Z8[8]8^8_8`8a8b8d8e8f8g8h8s9T9W9Z9^9_9a9c9f9h9o9p9s9u9v:Q:R:S:T:U:V:W:X:Y:Z:[:]:^:_:`:a:b:c:d:e:f:g:h:i:j:k:l:m:n:o:q:r:s:u:v:w;S;e;i;j;k;n;u;v;z;|;}V>W>[>]>^>c>h>i>l>n>o>p>q>v?^?_Q#h^Q%O!PQ%P!QQ%Q!RQ,b(sQ.u,RR.y,UR&r#hQ*Q&qR/w-a0{hPVX]`cjklmnopxyz!S!W!X!Y!]!g!j!r!s!w!y!z!|#Q#R#S#T#U#V#W#X#Y#Z#[#]#^#_#`#a#i#l#m#q#r$Q$R$T$z%O%Q%S%T%U%V%d%}&S&W&[&q&t&u&x'P']'a(R(V(h(t)T)X)n)u)y){*V*Z*[*|+^,Q,T,Y,c,e,g-`-a-t-z.[.u.w/P/X/y0O0T0e0s0}1O1R1S1W1k1o1{2W2]2r3p3u3x3y3z3{3|3}4O4P4Q4R4S4T4U4V4W4X4Y4Z4[4_4`4a4b4c4k5O5R5S5V5Z5[5_5a5b5d5e5f5g5h5i5j5k5l5m5n5o5p5q5r5u5{5|5}6O6P6Q6R6S6T6U6V6W6X6Y6Z6[6]6^6_6`6a6b6c6d6l7P7S7T7W7[7]7`7b7c7o7x7y7z7{7|7}8O8P8Q8R8S8T8U8V8W8X8Y8Z8[8]8^8_8`8a8b8d8e8f8g8h8s9T9W9Z9^9_9a9c9f9h9o9p9s9u9v:Q:R:S:T:U:V:W:X:Y:Z:[:]:^:_:`:a:b:c:d:e:f:g:h:i:j:k:l:m:n:o:q:r:s:u:v:w;S;e;i;j;k;n;u;v;z;|;}V>W>[>]>^>c>h>i>l>n>o>p>q>v?^?_R#j_k#n`j#i#q&t&x5d5e9W:Q:R:S:TR#saT&}#r'PR-h*[R&R!{0zhPVX]`cjklmnopxyz!S!W!X!Y!]!g!j!r!s!w!y!z!|#Q#R#S#T#U#V#W#X#Y#Z#[#]#^#_#`#a#i#l#m#q#r$Q$R$T$z%O%Q%S%T%U%V%d%}&S&W&[&q&t&u&x'P']'a(R(V(h(t)T)X)n)u)y){*V*Z*[*|+^,Q,T,Y,c,e,g-`-a-t-z.[.u.w/P/X/y0O0T0e0s0}1O1R1S1W1k1o1{2W2]2r3p3u3x3y3z3{3|3}4O4P4Q4R4S4T4U4V4W4X4Y4Z4[4_4`4a4b4c4k5O5R5S5V5Z5[5_5a5b5d5e5f5g5h5i5j5k5l5m5n5o5p5q5r5u5{5|5}6O6P6Q6R6S6T6U6V6W6X6Y6Z6[6]6^6_6`6a6b6c6d6l7P7S7T7W7[7]7`7b7c7o7x7y7z7{7|7}8O8P8Q8R8S8T8U8V8W8X8Y8Z8[8]8^8_8`8a8b8d8e8f8g8h8s9T9W9Z9^9_9a9c9f9h9o9p9s9u9v:Q:R:S:T:U:V:W:X:Y:Z:[:]:^:_:`:a:b:c:d:e:f:g:h:i:j:k:l:m:n:o:q:r:s:u:v:w;S;e;i;j;k;n;u;v;z;|;}V>W>[>]>^>c>h>i>l>n>o>p>q>v?^?_R#tb-x!}[#e#k#u$U$V$W$X$Y$Z$v$w%X%Z%]%a%s%|&O&U&_&`&a&b&c&d&e&f&g&h&i&j&k&l&m&n&v&w&|'`'b'c(e(x)v)x)z*O*U*h*j+a+d,n,q-W-Y-[-e-f-g-w.Y/O/[/v0Q0Z0f1g1j1m1z2S2`2o2p2v3Z4]4^4d4e4f4g4h4i4j4l4m4n4o4p4q4r4s4t4u4v4w4x4y4z4{4|4}5P5Q5T5U5W5X5Y5]5^5`5t6e6f6g6h6i6j6k6m6n6o6p6q6r6s6t6u6v6w6x6y6z6{6|6}7O7Q7R7U7V7X7Y7Z7^7_7a7m7q8i8j8k8l8m8n8p8q8r8t8u8v8w8x8y8z8{8|8}9O9P9Q9R9S9U9V9Y9[9]9d9e9g9i9j9k9l9m9n9q9r9t9w:p:x:y:z:{:|:};Q;R;T;U;V;W;X;Y;Z;[;];^;_;`;a;b;c;d;f;g;l;m;p;r;s;w;y;{O>P>Q>R>S>T>U>X>Y>Z>_>`>a>b>d>e>f>g>j>k>m>r>s>{>|>}?V?b?cQ'd$[Y(X$s8o;P=^=_S(]3o7lQ(`$tR+y(aT&X!|){#a$Pg#}$h'X'Z'p't'y(W([)`)c*r*w+Q+X+[+_+j+m+n+t,i,u,x-v.S.V.].b.c0b0m1y3n3s3t7i7j7k7w9|9}:O?S?T?Y?p?q?r?y?z?{?|3yfPVX]`cgjklmnoprxyz!S!W!X!Y!]!e!f!g!j!r!s!w!y!z!|#Q#R#S#T#U#V#W#X#Y#Z#[#]#^#_#`#a#i#l#m#q#r#}$Q$R$T$h$z%O%Q%S%T%U%V%d%r%}&S&W&[&q&t&u&x'P'X'Z']'a'e'p't'y(R(V(W(Y(Z([(h(t)T)X)`)c)g)n)u)y){*V*Z*[*r*w*|+Q+X+[+^+_+j+m+n+q+t,Q,T,Y,c,e,g,i,u,x-O-`-a-t-v-z.S.V.[.].^.b.c.u.w/P/X/n/y0O0T0b0e0m0s0}1O1R1S1W1b1k1o1y1{2W2]2k2r3n3p3s3t3u3x3y3z3{3|3}4O4P4Q4R4S4T4U4V4W4X4Y4Z4[4_4`4a4b4c4k5O5R5S5V5Z5[5_5a5b5d5e5f5g5h5i5j5k5l5m5n5o5p5q5r5u5{5|5}6O6P6Q6R6S6T6U6V6W6X6Y6Z6[6]6^6_6`6a6b6c6d6l7P7S7T7W7[7]7`7b7c7i7j7k7o7w7x7y7z7{7|7}8O8P8Q8R8S8T8U8V8W8X8Y8Z8[8]8^8_8`8a8b8d8e8f8g8h8s9T9W9Z9^9_9a9c9f9h9o9p9s9u9v9|9}:O:Q:R:S:T:U:V:W:X:Y:Z:[:]:^:_:`:a:b:c:d:e:f:g:h:i:j:k:l:m:n:o:q:r:s:u:v:w;S;e;i;j;k;n;u;v;z;|;}V>W>[>]>^>c>h>i>l>n>o>p>q>v?S?T?Y?^?_?p?q?r?y?z?{?|[#wd#x3h3i3j3kh'V#z'W)f,}-U/k/u1f3l3m3q3rQ)e%nR-T)kY#yd%n)k3h3iV'T#x3j3k1dePVX]`cjklmnoprxyz!S!W!X!Y!]!e!g!j!r!s!w!y!z!|#Q#R#S#T#U#V#W#X#Y#Z#[#]#^#_#`#a#i#l#m#q#r$Q$R$T$z%O%Q%S%T%U%V%d%}&S&W&[&q&t&u&x'P']'a'e(R(V(Y(Z(h(t)T)X)g)n)u)y){*V*Z*[*|+^+q,Q,T,Y,c,e,g-O-`-a-t-z.[.^.u.w/P/X/n/y0O0T0e0s0}1O1R1S1W1b1k1o1{2W2]2k2r3p3u3x3y3z3{3|3}4O4P4Q4R4S4T4U4V4W4X4Y4Z4[4_4`4a4b4c4k5O5R5S5V5Z5[5_5a5b5d5e5f5g5h5i5j5k5l5m5n5o5p5q5r5u5{5|5}6O6P6Q6R6S6T6U6V6W6X6Y6Z6[6]6^6_6`6a6b6c6d6l7P7S7T7W7[7]7`7b7c7o7x7y7z7{7|7}8O8P8Q8R8S8T8U8V8W8X8Y8Z8[8]8^8_8`8a8b8d8e8f8g8h8s9T9W9Z9^9_9a9c9f9h9o9p9s9u9v:Q:R:S:T:U:V:W:X:Y:Z:[:]:^:_:`:a:b:c:d:e:f:g:h:i:j:k:l:m:n:o:q:r:s:u:v:w;S;e;i;j;k;n;u;v;z;|;}V>W>[>]>^>c>h>i>l>n>o>p>q>v?^?_Q%o!fQ)l%r#O3vg#}$h'X'Z'p't'y(W([)`*w+Q+X+[+_+j+m+t,i,u,x-v.S.V.].b0b1y7i7j7k7w9|9}:O?S?T?Y?p?q?r?y?z?{?|a3w)c*r+n.c0m3n3s3tY'T#z)f-U3l3mZ*c'W,}/u3q3r0vhPVX]`cjklmnopxyz!S!W!X!Y!]!g!j!r!s!w!y!z!|#Q#R#S#T#U#V#W#X#Y#Z#[#]#^#_#`#a#i#l#m#q#r$Q$R$T$z%O%Q%S%T%U%V%d%}&S&W&[&q&t&u&x'P']'a(R(V(h(t)T)X)n)u)y){*V*Z*[*|+^,Q,T,Y,c,e,g-`-a-t-z.[.u.w/P/X/y0O0T0e0}1O1R1S1W1k1o1{2]2r3p3u3x3y3z3{3|3}4O4P4Q4R4S4T4U4V4W4X4Y4Z4[4_4`4a4b4c4k5O5R5S5V5Z5[5_5a5b5d5e5f5g5h5i5j5k5l5m5n5o5p5q5r5u5{5|5}6O6P6Q6R6S6T6U6V6W6X6Y6Z6[6]6^6_6`6a6b6c6d6l7P7S7T7W7[7]7`7b7c7o7x7y7z7{7|7}8O8P8Q8R8S8T8U8V8W8X8Y8Z8[8]8^8_8`8a8b8d8e8f8g8h8s9T9W9Z9^9_9a9c9f9h9o9p9s9u9v:Q:R:S:T:U:V:W:X:Y:Z:[:]:^:_:`:a:b:c:d:e:f:g:h:i:j:k:l:m:n:o:q:r:s:u:v:w;S;e;i;j;k;n;u;v;z;|;}V>W>[>]>^>c>h>i>l>n>o>p>q>v?^?_T2U0s2WR&^#OR&]#O!r#Z[#e#u$U$V$W$X$Z$s$w%X%Z%]&`&a&b&c&d&e&f&g'`'b'c(e)v)x*O*j+d-Y.Y0f1z2`2p2v3Z9U9V!Y4U3o4d4e4f4g4i4j4l4m4n4o4p4q4r4s4{4|4}5P5Q5T5U5W5X5Y5]5^5`!^6X4^6e6f6g6h6j6k6m6n6o6p6q6r6s6t6|6}7O7Q7R7U7V7X7Y7Z7^7_7a7l7m#b8[#k%a%s%|&O&v&w&|(x*U+a,n,q-W-e-g/[4]5t7q8i8j8k8l8n8o8p8t8u8v8w8x8y8z8{9Y9[9]9d9g9i9l9n9q9r9t9w:p;Rr>s>{?b?c!|:i&U)z-[-f-w0Q0Z1g1j1m2o8q8r9e9j9k9m:x:y:z:{:};P;Q;T;U;V;W;X;Y;Z;[;d;f;g;l;m;p;r;s;w;y;{>R>S!`T>X>Z>_>a>d>e>g>j>k>m>|>}?VoU>Y>`>b>fS$iu#fQ$qwU'{$j$l&pQ'}$kS(P$m$rQ+Z'|Q+](OQ+`(QQ1p0VQ5s7dS5v7f7gQ5w7hQ7p9xS7r9y9zQ7s9{Q;O>uS;h>w>zQ;o?PQ>y?jS?O?l?nQ?U?oQ?`?sS?a?t?wS?d?u?vR?e?xT'u$h+Q!csPVXt!S!j!r!s!w$h%O%Q%T%V'p([(h)`+Q+j+t,Q,T,u,x.u.w/P0}1O1W2]Q$]rR*l'eQ-{+PQ.i+oQ0U-xQ0j.`Q1|0kR2w1}T0W-y0XQ+V'zQ.U+YR0d.XQ(_$tQ)^%iQ)s%vQ*u'mS+x(`(aQ-q*vR.p+yQ(^$tQ)b%kQ)r%vQ*q'lS*t'm)sU+w(_(`(aS-p*u*vS.o+x+yQ/i,{Q/{-nQ/}-qR0v.pQ(]$tQ)]%iQ)_%jQ)q%vU*s'm)r)sW+v(^(_(`(aQ,t)^U-o*t*u*vU.n+w+x+yS/|-p-qS0u.o.pQ1i/}R2Y0vX+r([)`+t,xb%f!_$a'j+n.c.f0m0o2OR,r)YQ$ovS+b(S?Qg?m([)`+i+j+m+t,u,x.a.b0lR0t.kT2V0s2W0}|PVX]`cjklmnopxyz!S!W!X!Y!]!g!j!r!s!w!y!z!|#Q#R#S#T#U#V#W#X#Y#Z#[#]#^#_#`#a#i#l#m#q#r$Q$R$T$z%O%Q%S%T%U%V%d%}&S&W&[&q&t&u&x'P']'a(R(V(h(t)T)X)n)u)y){*V*Z*[*|+^,Q,T,Y,c,e,g,m-`-a-t-z.[.u.w/P/X/y0O0T0e0s0}1O1R1S1W1k1o1{2W2]2r3p3u3x3y3z3{3|3}4O4P4Q4R4S4T4U4V4W4X4Y4Z4[4_4`4a4b4c4k5O5R5S5V5Z5[5_5a5b5d5e5f5g5h5i5j5k5l5m5n5o5p5q5r5u5{5|5}6O6P6Q6R6S6T6U6V6W6X6Y6Z6[6]6^6_6`6a6b6c6d6l7P7S7T7W7[7]7`7b7c7o7x7y7z7{7|7}8O8P8Q8R8S8T8U8V8W8X8Y8Z8[8]8^8_8`8a8b8d8e8f8g8h8s9T9W9Z9^9_9a9c9f9h9o9p9s9u9v:Q:R:S:T:U:V:W:X:Y:Z:[:]:^:_:`:a:b:c:d:e:f:g:h:i:j:k:l:m:n:o:q:r:s:u:v:w;S;e;i;j;k;n;u;v;z;|;}V>W>[>]>^>c>h>i>l>n>o>p>q>v?^?_T$y{$|Q,O(dR.r+|T${{$|Q(j%OQ(r%QQ(w%TQ(z%VQ.},XQ0z.yQ0{.|R2c1WR(m%PX,[(k(l,],_R(n%PX(p%Q%T%V1WR%T!T_%b!]%S(t,c,e/X1RR%V!UR/],gR,j)PQ)a%kS*p'l)bS-m*q,{S/z-n/iR1h/{T,w)`,xQ-P)fU/l,|,}-UU1^/k/t/uR2n1fR/o-OR2l1bSSO!mR!oSQ!rVR%y!rQ!jPS!sV!rQ!wX[%u!j!s!w,Q1O2]Q,Q(hQ1O/PR2]0}Q)o%sS-X)o9bR9b8rQ-b*QR/x-bQ&y#oS*X&y9XR9X:tS*]&|&}R-i*]Q)|&YR-^)|!j'Y#|'o*f*z+O+T+e+i.T.W.Z.a/_0`0c0g0l1x2u5x5y5z7e7t7u7v;q;t;x?W?X?Z?f?g?h?iS*e'Y/g]/g,{-n.f0o1[2O!h'[#|'o*z+O+T+e+i.T.W.Z.a/_0`0c0g0l1x2u5x5y5z7e7t7u7v;q;t;x?W?X?Z?f?g?h?iS*g'[/hZ/h,{-n.f0o2OU#xd%n)kU'S#x3j3kQ3j3hR3k3iQ'W#z^*b'W,}/k/u1f3q3rQ,})fQ/u-UQ3q3lR3r3m|tPVX!S!j!r!s!w%O%Q%T%V(h,Q,T.u.w/P0}1O1W2]W$_t'p+j,uS'p$h+QS+j([+tT,u)`,xQ'f$]R*m'fQ0X-yR1q0XQ+R'vR-}+RQ0].PS1u0]1vR1v0^Q._+fR0i._Q+t([R.l+tW+m([)`+t,xS.b+j,uT.e+m.bQ)Z%fR,s)ZQ(T$oS+c(T?RR?R?mQ2W0sR2}2WQ$|{R(f$|Q,S(iR.v,SQ,V(jR.z,VQ,](kQ,_(lT/Q,],_Q)U%aS,o)U9`R9`8qQ)R%_R,l)RQ,x)`R/e,xQ)h%pS-R)h/sR/s-SQ1c/oR2m1cT!uV!rj!iPVX!j!r!s!w(h,Q/P0}1O2]Q%R!SQ(i%OW(p%Q%T%V1WQ.x,TQ0x.uR0y.w|[PVX!S!j!r!s!w%O%Q%T%V(h,Q,T.u.w/P0}1O1W2]Q#e]U#k`#q&xQ#ucQ$UkQ$VlQ$WmQ$XnQ$YoQ$ZpQ$sx^$vy3y5|8P:]n>oQ+a(RQ+d(VQ,n)TQ,q)XQ-W)nQ-Y)uQ-[)yQ-e*VQ-f*ZQ-g*[^-k3u5b7c9v;}>p>qQ-w*|Q.Y+^Q/O,YQ/[,gQ/v-`Q0Q-tQ0Z-zQ0f.[Q1g/yQ1j0OQ1m0TQ1z0eU2S0s2W:rQ2`1SQ2o1kQ2p1oQ2v1{Q3Z2rQ3o3xQ4]jQ4^5eQ4d5fQ4e5hQ4f5jQ4g5lQ4h5nQ4i5pQ4j3zQ4l3|Q4m3}Q4n4OQ4o4PQ4p4QQ4q4RQ4r4SQ4s4TQ4t4UQ4u4VQ4v4WQ4w4XQ4x4YQ4y4ZQ4z4[Q4{4_Q4|4`Q4}4aQ5P4bQ5Q4cQ5T4kQ5U5OQ5W5RQ5X5SQ5Y5VQ5]5ZQ5^5[Q5`5_Q5t5rQ6e5gQ6f5iQ6g5kQ6h5mQ6i5oQ6j5qQ6k5}Q6m6PQ6n6QQ6o6RQ6p6SQ6q6TQ6r6UQ6s6VQ6t6WQ6u6XQ6v6YQ6w6ZQ6x6[Q6y6]Q6z6^Q6{6_Q6|6`Q6}6aQ7O6bQ7Q6cQ7R6dQ7U6lQ7V7PQ7X7SQ7Y7TQ7Z7WQ7^7[Q7_7]Q7a7`Q7l5{Q7m5dQ7q7oQ8i7xQ8j7yQ8k7zQ8l7{Q8m7|Q8n7}Q8o8OQ8p8QU8q,c/X1RQ8r%dQ8t8SQ8u8TQ8v8UQ8w8VQ8x8WQ8y8XQ8z8YQ8{8ZQ8|8[Q8}8]Q9O8^Q9P8_Q9Q8`Q9R8aQ9S8bQ9U8dQ9V8eQ9Y8fQ9[8gQ9]8hQ9d8sQ9e9TQ9g9ZQ9i9^Q9j9_Q9k9aQ9l9cQ9m9fQ9n9hQ9q9oQ9r9pQ9t9sQ9w:QU:p#i&t9WQ:x:UQ:y:VQ:z:WQ:{:XQ:|:YQ:}:ZQ;P:[Q;Q:^Q;R:_Q;T:aQ;U:bQ;V:cQ;W:dQ;X:eQ;Y:fQ;Z:gQ;[:hQ;]:iQ;^:jQ;_:kQ;`:lQ;a:mQ;b:nQ;c:oQ;d:uQ;f:vQ;g:wQ;l;SQ;m;eQ;p;jQ;r;kQ;s;nQ;w;uQ;y;vQ;{;zQOP<{Q>Q<|Q>R=OQ>S=PQ>T=QQ>U=RQ>X=SQ>Y=TQ>Z=UQ>_=aQ>`=bQ>a>VQ>b>WQ>d>[Q>e>]Q>f>^Q>g>cQ>j>hQ>k>iQ>m>lQ>r:SQ>s:RQ>{>vQ>|:qQ>}:sQ?V;iQ?b?^R?c?_R*R&qQ%t!gQ)W%dT*P&q-a$WiPVX]cklmnopxyz!S!W!X!Y!j!r!s!w#Q#R#S#T#U#V#W#X#Y#Z#[#]#^#_#`#a$Q$R$T$z%O%Q%T%V%}&S&['a(V(h)u+^,Q,T.[.u.w/P0e0}1O1S1W1o1{2]2r3p3u8d8e!t5c']3x3y3z3{3|3}4O4P4Q4R4S4T4U4V4W4X4Y4Z4[4_4`4a4b4c4k5O5R5S5V5Z5[5_5f5h5j5l5n5p7b7c!x7n5a5b5d5e5g5i5k5m5o5q5u5{5|5}6O6P6Q6R6S6T6U6V6W6X6Y6Z6[6]6^6_6`6a6b6c6d6l7P7S7T7W7[7]7`$`:P`j!]!g!y!z#i#l#m#q#r%S%U&q&t&u&x'P(R(t)T)X)n*V*[,e,g-a5r7o7x7y7z7{7|7}8O8P8Q8R8S8T8U8V8W8X8Y8Z8[8]8^8_8`8a8b8f8g8h8s9W9Z9^9c9h9o9p9s9u9v:Q:R:S:T:_>v?^?_#l>t!|%d&W)y){*Z*|,c-t-z/X/y0O0T1R1k9T9_9a9f:U:V:W:X:Y:Z:[:]:^:`:a:b:c:d:e:f:g:h:i:j:k:l:m:n:o:u:v:w;S;e;j;k;n;u;v;z;|;}=O=P!x?[,Y-`:q:s;iV>[>]>c>h>i>l>n>p!]?]0s2W:rW>^>o>qQ#p`Q&s#iQ&{#qR*T&tS#o`#q^$Sj5d5e:Q:R:S:TS*W&x9WT:t#i&tQ'O#rR*_'PR&T!{R&Z!|Q&Y!|R-]){Q#|gS'^#}3nS'o$h+QS*d'X3sU*f'Z*w-vQ*z'pQ+O'tQ+T'yQ+e(WW+i([)`+t,xQ,{)cQ-n*rQ.T+XQ.W+[Q.Z+_U.a+j+m,uQ.f+nQ/_,iQ0`.SQ0c.VQ0g.]Q0l.bQ0o.cQ1[3tQ1x0bQ2O0mQ2u1yQ5x7iQ5y7jQ5z7kQ7e7wQ7t9|Q7u9}Q7v:OQ;q?SQ;t?TQ;x?YQ?W?pQ?X?qQ?Z?rQ?f?yQ?g?zQ?h?{R?i?|0z!OPVX]`cjklmnopxyz!S!W!X!Y!]!g!j!r!s!w!y!z!|#Q#R#S#T#U#V#W#X#Y#Z#[#]#^#_#`#a#i#l#m#q#r$Q$R$T$z%O%Q%S%T%U%V%d%}&S&W&[&q&t&u&x'P']'a(R(V(h(t)T)X)n)u)y){*V*Z*[*|+^,Q,T,Y,c,e,g-`-a-t-z.[.u.w/P/X/y0O0T0e0s0}1O1R1S1W1k1o1{2W2]2r3p3u3x3y3z3{3|3}4O4P4Q4R4S4T4U4V4W4X4Y4Z4[4_4`4a4b4c4k5O5R5S5V5Z5[5_5a5b5d5e5f5g5h5i5j5k5l5m5n5o5p5q5r5u5{5|5}6O6P6Q6R6S6T6U6V6W6X6Y6Z6[6]6^6_6`6a6b6c6d6l7P7S7T7W7[7]7`7b7c7o7x7y7z7{7|7}8O8P8Q8R8S8T8U8V8W8X8Y8Z8[8]8^8_8`8a8b8d8e8f8g8h8s9T9W9Z9^9_9a9c9f9h9o9p9s9u9v:Q:R:S:T:U:V:W:X:Y:Z:[:]:^:_:`:a:b:c:d:e:f:g:h:i:j:k:l:m:n:o:q:r:s:u:v:w;S;e;i;j;k;n;u;v;z;|;}V>W>[>]>^>c>h>i>l>n>o>p>q>v?^?_#`$Og#}$h'X'Z'p't'y(W([)`)c*r*w+Q+X+[+_+j+m+n+t,i,u,x-v.S.V.].b.c0b0m1y3n3s3t7i7j7k7w9|9}:O?S?T?Y?p?q?r?y?z?{?|S$[r'eQ%l!eS%p!f%rU+f(Y(Z+qQ-Q)gQ/m-OQ0h.^Q1a/nQ2j1bR3W2k|vPVX!S!j!r!s!w%O%Q%T%V(h,Q,T.u.w/P0}1O1W2]#Y#g]cklmnopxyz!W!X!Y#Q#R#S#T#U#V#W#X#Y#Z#[#]#^#_#`#a$Q$R$T$z%}&S&['a(V)u+^.[0e1S1o1{2r3p3u8d8e`+k([)`+j+m+t,u,x.b!t8c']3x3y3z3{3|3}4O4P4Q4R4S4T4U4V4W4X4Y4Z4[4_4`4a4b4c4k5O5R5S5V5Z5[5_5f5h5j5l5n5p7b7c!x<}5a5b5d5e5g5i5k5m5o5q5u5{5|5}6O6P6Q6R6S6T6U6V6W6X6Y6Z6[6]6^6_6`6a6b6c6d6l7P7S7T7W7[7]7`$`?k`j!]!g!y!z#i#l#m#q#r%S%U&q&t&u&x'P(R(t)T)X)n*V*[,e,g-a5r7o7x7y7z7{7|7}8O8P8Q8R8S8T8U8V8W8X8Y8Z8[8]8^8_8`8a8b8f8g8h8s9W9Z9^9c9h9o9p9s9u9v:Q:R:S:T:_>v?^?_#l?}!|%d&W)y){*Z*|,c-t-z/X/y0O0T1R1k9T9_9a9f:U:V:W:X:Y:Z:[:]:^:`:a:b:c:d:e:f:g:h:i:j:k:l:m:n:o:u:v:w;S;e;j;k;n;u;v;z;|;}=O=P!x@O,Y-`:q:s;iV>[>]>c>h>i>l>n>p!]@P0s2W:rW>^>o>qR'w$hQ'v$hR-|+QR$^rQ#d[Q%Y!WQ%[!XQ%^!YQ(U$pQ({%WQ(|%XQ(}%ZQ)O%]Q)V%cQ)[%gQ)d%lQ)j%qQ)p%tQ*n'iQ-V)mQ-l*oQ.i+oQ.j+pQ.x,WQ/S,`Q/T,aQ/U,bQ/Z,fQ/^,hQ/b,pQ/q-PQ0j.`Q0q.dQ0r.hQ0t.kQ0y.{Q1Y/dQ1_/lQ1n0VQ1|0kQ2Q0nQ2R0pQ2[0|Q2d1XQ2g1^Q2w1}Q2y2PQ2|2VQ3P2ZQ3T2fQ3X2nQ3Y2pQ3]2xQ3a3RQ3b3SR3e3ZR.R+UQ+g(YQ+h(ZR.k+qS+s([+tT,w)`,xa+l([)`+j+m+t,u,x.bQ%g!_Q'i$aQ*o'jQ.h+nS0p.c.fS2P0m0oR2x2OQ$pvW+o([)`+t,xW.`+i+j+m,uS0k.a.bR1}0l|!aPVX!S!j!r!s!w%O%Q%T%V(h,Q,T.u.w/P0}1O1W2]Q$ctW+p([)`+t,xU.d+j+m,uR0n.b0z!OPVX]`cjklmnopxyz!S!W!X!Y!]!g!j!r!s!w!y!z!|#Q#R#S#T#U#V#W#X#Y#Z#[#]#^#_#`#a#i#l#m#q#r$Q$R$T$z%O%Q%S%T%U%V%d%}&S&W&[&q&t&u&x'P']'a(R(V(h(t)T)X)n)u)y){*V*Z*[*|+^,Q,T,Y,c,e,g-`-a-t-z.[.u.w/P/X/y0O0T0e0s0}1O1R1S1W1k1o1{2W2]2r3p3u3x3y3z3{3|3}4O4P4Q4R4S4T4U4V4W4X4Y4Z4[4_4`4a4b4c4k5O5R5S5V5Z5[5_5a5b5d5e5f5g5h5i5j5k5l5m5n5o5p5q5r5u5{5|5}6O6P6Q6R6S6T6U6V6W6X6Y6Z6[6]6^6_6`6a6b6c6d6l7P7S7T7W7[7]7`7b7c7o7x7y7z7{7|7}8O8P8Q8R8S8T8U8V8W8X8Y8Z8[8]8^8_8`8a8b8d8e8f8g8h8s9T9W9Z9^9_9a9c9f9h9o9p9s9u9v:Q:R:S:T:U:V:W:X:Y:Z:[:]:^:_:`:a:b:c:d:e:f:g:h:i:j:k:l:m:n:o:q:r:s:u:v:w;S;e;i;j;k;n;u;v;z;|;}V>W>[>]>^>c>h>i>l>n>o>p>q>v?^?_R/a,m0}}PVX]`cjklmnopxyz!S!W!X!Y!]!g!j!r!s!w!y!z!|#Q#R#S#T#U#V#W#X#Y#Z#[#]#^#_#`#a#i#l#m#q#r$Q$R$T$z%O%Q%S%T%U%V%d%}&S&W&[&q&t&u&x'P']'a(R(V(h(t)T)X)n)u)y){*V*Z*[*|+^,Q,T,Y,c,e,g,m-`-a-t-z.[.u.w/P/X/y0O0T0e0s0}1O1R1S1W1k1o1{2W2]2r3p3u3x3y3z3{3|3}4O4P4Q4R4S4T4U4V4W4X4Y4Z4[4_4`4a4b4c4k5O5R5S5V5Z5[5_5a5b5d5e5f5g5h5i5j5k5l5m5n5o5p5q5r5u5{5|5}6O6P6Q6R6S6T6U6V6W6X6Y6Z6[6]6^6_6`6a6b6c6d6l7P7S7T7W7[7]7`7b7c7o7x7y7z7{7|7}8O8P8Q8R8S8T8U8V8W8X8Y8Z8[8]8^8_8`8a8b8d8e8f8g8h8s9T9W9Z9^9_9a9c9f9h9o9p9s9u9v:Q:R:S:T:U:V:W:X:Y:Z:[:]:^:_:`:a:b:c:d:e:f:g:h:i:j:k:l:m:n:o:q:r:s:u:v:w;S;e;i;j;k;n;u;v;z;|;}V>W>[>]>^>c>h>i>l>n>o>p>q>v?^?_T$x{$|Q(q%QQ(v%TQ(y%VR2b1WQ%c!]Q(u%SQ,d(tQ/W,cQ/Y,eQ1Q/XR2_1RQ%q!fR)m%rR/p-O",nodeNames:"⚠ ( HeredocString EscapeSequence abstract LogicOp array as Boolean break case catch clone const continue default declare do echo else elseif enddeclare endfor endforeach endif endswitch endwhile enum extends final finally fn for foreach from function global goto if implements include include_once LogicOp insteadof interface list match namespace new null LogicOp print readonly require require_once return switch throw trait try unset use var Visibility while LogicOp yield LineComment BlockComment TextInterpolation PhpClose Text PhpOpen Template TextInterpolation EmptyStatement ; } { Block : LabelStatement Name ExpressionStatement ConditionalExpression LogicOp MatchExpression ) ( ParenthesizedExpression MatchBlock MatchArm , => AssignmentExpression ArrayExpression ValueList & VariadicUnpacking ... Pair [ ] ListExpression ValueList Pair Pair SubscriptExpression MemberExpression -> ?-> Name VariableName DynamicVariable $ ${ CallExpression ArgList NamedArgument SpreadArgument CastExpression UnionType LogicOp IntersectionType OptionalType NamedType QualifiedName \\ NamespaceName Name NamespaceName Name ScopedExpression :: ClassMemberName DynamicMemberName AssignOp UpdateExpression UpdateOp YieldExpression BinaryExpression LogicOp LogicOp LogicOp BitOp BitOp BitOp CompareOp CompareOp BitOp ArithOp ConcatOp ArithOp ArithOp IncludeExpression RequireExpression CloneExpression UnaryExpression ControlOp LogicOp PrintIntrinsic FunctionExpression static ParamList Parameter #[ Attributes Attribute VariadicParameter PropertyParameter PropertyHooks PropertyHook UseList ArrowFunction NewExpression class BaseClause ClassInterfaceClause DeclarationList ConstDeclaration VariableDeclarator PropertyDeclaration VariableDeclarator MethodDeclaration UseDeclaration UseList UseInsteadOfClause UseAsClause UpdateExpression ArithOp ShellExpression ThrowExpression Integer Float String MemberExpression SubscriptExpression UnaryExpression ArithOp Interpolation String IfStatement ColonBlock SwitchStatement Block CaseStatement DefaultStatement ColonBlock WhileStatement EmptyStatement DoStatement ForStatement ForSpec SequenceExpression ForeachStatement ForSpec Pair GotoStatement ContinueStatement BreakStatement ReturnStatement TryStatement CatchDeclarator DeclareStatement EchoStatement UnsetStatement ConstDeclaration FunctionDefinition ClassDeclaration InterfaceDeclaration TraitDeclaration EnumDeclaration EnumBody EnumCase NamespaceDefinition NamespaceUseDeclaration UseGroup UseClause UseClause GlobalDeclaration FunctionStaticDeclaration Program",maxTerm:318,nodeProps:[["group",-36,2,8,49,82,84,86,89,94,95,103,107,108,112,113,116,120,126,132,137,139,140,154,155,156,157,160,161,173,174,188,190,191,192,193,194,200,"Expression",-28,75,79,81,83,201,203,208,210,211,214,217,218,219,220,221,223,224,225,226,227,228,229,230,231,234,235,239,240,"Statement",-4,121,123,124,125,"Type"],["isolate",-4,67,68,71,200,""],["openedBy",70,"phpOpen",77,"{",87,"(",102,"#["],["closedBy",72,"phpClose",78,"}",88,")",165,"]"]],propSources:[xQ],skippedNodes:[0],repeatNodeCount:32,tokenData:"!GQ_R!]OX$zXY&^YZ'sZ]$z]^&^^p$zpq&^qr)Rrs+Pst+otu2buv5evw6rwx8Vxy>]yz>yz{?g{|@}|}Bb}!OCO!O!PDh!P!QKT!Q!R!!o!R![!$q![!]!,P!]!^!-a!^!_!-}!_!`!1S!`!a!2d!a!b!3t!b!c!7^!c!d!7z!d!e!9Y!e!}!7z!}#O!;b#O#P!V<%lO8VR9WV'TP%`QOw9mwx:Xx#O9m#O#P:^#P;'S9m;'S;=`;X<%lO9mQ9rV%`QOw9mwx:Xx#O9m#O#P:^#P;'S9m;'S;=`;X<%lO9mQ:^O%`QQ:aRO;'S9m;'S;=`:j;=`O9mQ:oW%`QOw9mwx:Xx#O9m#O#P:^#P;'S9m;'S;=`;X;=`<%l9m<%lO9mQ;[P;=`<%l9mR;fV'TP%`QOY$zYZ%fZ!^$z!^!_%k!_;'S$z;'S;=`&W<%lO$zRV<%l~8V~O8V~~%fR=OW'TPOY8VYZ9PZ!^8V!^!_;{!_;'S8V;'S;=`=h;=`<%l9m<%lO8VR=mW%`QOw9mwx:Xx#O9m#O#P:^#P;'S9m;'S;=`;X;=`<%l8V<%lO9mR>YP;=`<%l8VR>dV!zQ'TPOY$zYZ%fZ!^$z!^!_%k!_;'S$z;'S;=`&W<%lO$zV?QV!yU'TPOY$zYZ%fZ!^$z!^!_%k!_;'S$z;'S;=`&W<%lO$zR?nY'TP$^QOY$zYZ%fZz$zz{@^{!^$z!^!_%k!_!`6U!`;'S$z;'S;=`&W<%lO$zR@eW$_Q'TPOY$zYZ%fZ!^$z!^!_%k!_!`6U!`;'S$z;'S;=`&W<%lO$zRAUY$[Q'TPOY$zYZ%fZ{$z{|At|!^$z!^!_%k!_!`6U!`;'S$z;'S;=`&W<%lO$zRA{V%TQ'TPOY$zYZ%fZ!^$z!^!_%k!_;'S$z;'S;=`&W<%lO$zRBiV#OQ'TPOY$zYZ%fZ!^$z!^!_%k!_;'S$z;'S;=`&W<%lO$z_CXZ$[Q%^W'TPOY$zYZ%fZ}$z}!OAt!O!^$z!^!_%k!_!`6U!`!aCz!a;'S$z;'S;=`&W<%lO$zVDRV#aU'TPOY$zYZ%fZ!^$z!^!_%k!_;'S$z;'S;=`&W<%lO$zVDo['TP$]QOY$zYZ%fZ!O$z!O!PEe!P!Q$z!Q![Fs![!^$z!^!_%k!_!`6U!`;'S$z;'S;=`&W<%lO$zVEjX'TPOY$zYZ%fZ!O$z!O!PFV!P!^$z!^!_%k!_;'S$z;'S;=`&W<%lO$zVF^V#VU'TPOY$zYZ%fZ!^$z!^!_%k!_;'S$z;'S;=`&W<%lO$zRFz_'TP%XQOY$zYZ%fZ!Q$z!Q![Fs![!^$z!^!_%k!_!g$z!g!hGy!h#R$z#R#SJc#S#X$z#X#YGy#Y;'S$z;'S;=`&W<%lO$zRHO]'TPOY$zYZ%fZ{$z{|Hw|}$z}!OHw!O!Q$z!Q![Ii![!^$z!^!_%k!_;'S$z;'S;=`&W<%lO$zRH|X'TPOY$zYZ%fZ!Q$z!Q![Ii![!^$z!^!_%k!_;'S$z;'S;=`&W<%lO$zRIpZ'TP%XQOY$zYZ%fZ!Q$z!Q![Ii![!^$z!^!_%k!_#R$z#R#SHw#S;'S$z;'S;=`&W<%lO$zRJhX'TPOY$zYZ%fZ!Q$z!Q![Fs![!^$z!^!_%k!_;'S$z;'S;=`&W<%lO$z_K[['TP$^QOY$zYZ%fZz$zz{LQ{!P$z!P!Q,o!Q!^$z!^!_%k!_!`6U!`;'S$z;'S;=`&W<%lO$z_LVX'TPOYLQYZLrZzLQz{N_{!^LQ!^!_! s!_;'SLQ;'S;=`!!i<%lOLQ_LwT'TPOzMWz{Mj{;'SMW;'S;=`NX<%lOMW^MZTOzMWz{Mj{;'SMW;'S;=`NX<%lOMW^MmVOzMWz{Mj{!PMW!P!QNS!Q;'SMW;'S;=`NX<%lOMW^NXO!f^^N[P;=`<%lMW_NdZ'TPOYLQYZLrZzLQz{N_{!PLQ!P!Q! V!Q!^LQ!^!_! s!_;'SLQ;'S;=`!!i<%lOLQ_! ^V!f^'TPOY$zYZ%fZ!^$z!^!_%k!_;'S$z;'S;=`&W<%lO$z_! vZOYLQYZLrZzLQz{N_{!aLQ!a!bMW!b;'SLQ;'S;=`!!i<%l~LQ~OLQ~~%f_!!lP;=`<%lLQZ!!vm'TP%WYOY$zYZ%fZ!O$z!O!PFs!P!Q$z!Q![!$q![!^$z!^!_%k!_!d$z!d!e!&o!e!g$z!g!hGy!h!q$z!q!r!(a!r!z$z!z!{!){!{#R$z#R#S!%}#S#U$z#U#V!&o#V#X$z#X#YGy#Y#c$z#c#d!(a#d#l$z#l#m!){#m;'S$z;'S;=`&W<%lO$zZ!$xa'TP%WYOY$zYZ%fZ!O$z!O!PFs!P!Q$z!Q![!$q![!^$z!^!_%k!_!g$z!g!hGy!h#R$z#R#S!%}#S#X$z#X#YGy#Y;'S$z;'S;=`&W<%lO$zZ!&SX'TPOY$zYZ%fZ!Q$z!Q![!$q![!^$z!^!_%k!_;'S$z;'S;=`&W<%lO$zZ!&tY'TPOY$zYZ%fZ!Q$z!Q!R!'d!R!S!'d!S!^$z!^!_%k!_;'S$z;'S;=`&W<%lO$zZ!'k['TP%WYOY$zYZ%fZ!Q$z!Q!R!'d!R!S!'d!S!^$z!^!_%k!_#R$z#R#S!&o#S;'S$z;'S;=`&W<%lO$zZ!(fX'TPOY$zYZ%fZ!Q$z!Q!Y!)R!Y!^$z!^!_%k!_;'S$z;'S;=`&W<%lO$zZ!)YZ'TP%WYOY$zYZ%fZ!Q$z!Q!Y!)R!Y!^$z!^!_%k!_#R$z#R#S!(a#S;'S$z;'S;=`&W<%lO$zZ!*Q]'TPOY$zYZ%fZ!Q$z!Q![!*y![!^$z!^!_%k!_!c$z!c!i!*y!i#T$z#T#Z!*y#Z;'S$z;'S;=`&W<%lO$zZ!+Q_'TP%WYOY$zYZ%fZ!Q$z!Q![!*y![!^$z!^!_%k!_!c$z!c!i!*y!i#R$z#R#S!){#S#T$z#T#Z!*y#Z;'S$z;'S;=`&W<%lO$zR!,WX!rQ'TPOY$zYZ%fZ![$z![!]!,s!]!^$z!^!_%k!_;'S$z;'S;=`&W<%lO$zR!,zV#yQ'TPOY$zYZ%fZ!^$z!^!_%k!_;'S$z;'S;=`&W<%lO$zV!-hV!nU'TPOY$zYZ%fZ!^$z!^!_%k!_;'S$z;'S;=`&W<%lO$zR!.S[$YQOY$zYZ%fZ!^$z!^!_!.x!_!`!/i!`!a*c!a!b!0]!b;'S$z;'S;=`&W<%l~$z~O$z~~%fR!/PW$ZQ'TPOY$zYZ%fZ!^$z!^!_%k!_!`6U!`;'S$z;'S;=`&W<%lO$zR!/pX$YQ'TPOY$zYZ%fZ!^$z!^!_%k!_!`$z!`!a*c!a;'S$z;'S;=`&W<%lO$zP!0bR!jP!_!`!0k!r!s!0p#d#e!0pP!0pO!jPP!0sQ!j!k!0y#[#]!0yP!0|Q!r!s!0k#d#e!0k_!1ZX#|Y'TPOY$zYZ%fZ!^$z!^!_%k!_!`)r!`!a!1v!a;'S$z;'S;=`&W<%lO$zV!1}V#PU'TPOY$zYZ%fZ!^$z!^!_%k!_;'S$z;'S;=`&W<%lO$zR!2kX$YQ'TPOY$zYZ%fZ!^$z!^!_%k!_!`!3W!`!a!.x!a;'S$z;'S;=`&W<%lO$zR!3_V$YQ'TPOY$zYZ%fZ!^$z!^!_%k!_;'S$z;'S;=`&W<%lO$z_!3{[!wQ'TPOY$zYZ%fZ}$z}!O!4q!O!^$z!^!_%k!_!`$z!`!a!6P!a!b!6m!b;'S$z;'S;=`&W<%lO$zV!4vX'TPOY$zYZ%fZ!^$z!^!_%k!_!`$z!`!a!5c!a;'S$z;'S;=`&W<%lO$zV!5jV#bU'TPOY$zYZ%fZ!^$z!^!_%k!_;'S$z;'S;=`&W<%lO$z_!6WV!h^'TPOY$zYZ%fZ!^$z!^!_%k!_;'S$z;'S;=`&W<%lO$zR!6tW$RQ'TPOY$zYZ%fZ!^$z!^!_%k!_!`6U!`;'S$z;'S;=`&W<%lO$zR!7eV$dQ'TPOY$zYZ%fZ!^$z!^!_%k!_;'S$z;'S;=`&W<%lO$z_!8Ta'aS'TP'WYOY$zYZ%fZ!Q$z!Q![!7z![!^$z!^!_%k!_!c$z!c!}!7z!}#R$z#R#S!7z#S#T$z#T#o!7z#o$g$z$g&j!7z&j;'S$z;'S;=`&W<%lO$z_!9ce'aS'TP'WYOY$zYZ%fZr$zrs!:tsw$zwx8Vx!Q$z!Q![!7z![!^$z!^!_%k!_!c$z!c!}!7z!}#R$z#R#S!7z#S#T$z#T#o!7z#o$g$z$g&j!7z&j;'S$z;'S;=`&W<%lO$zR!:{V'TP'uQOY$zYZ%fZ!^$z!^!_%k!_;'S$z;'S;=`&W<%lO$zV!;iV#XU'TPOY$zYZ%fZ!^$z!^!_%k!_;'S$z;'S;=`&W<%lO$z_!OZ'TPOY!=yYZ!>qZ!^!=y!^!_!@y!_#O!=y#O#P!Au#P#S!=y#S#T!CP#T;'S!=y;'S;=`!Cm<%lO!=yR!>vV'TPO#O!?]#O#P!?u#P#S!?]#S#T!@n#T;'S!?];'S;=`!@s<%lO!?]Q!?`VO#O!?]#O#P!?u#P#S!?]#S#T!@n#T;'S!?];'S;=`!@s<%lO!?]Q!?xRO;'S!?];'S;=`!@R;=`O!?]Q!@UWO#O!?]#O#P!?u#P#S!?]#S#T!@n#T;'S!?];'S;=`!@s;=`<%l!?]<%lO!?]Q!@sO%UQQ!@vP;=`<%l!?]R!@|]OY!=yYZ!>qZ!a!=y!a!b!?]!b#O!=y#O#P!Au#P#S!=y#S#T!CP#T;'S!=y;'S;=`!Cm<%l~!=y~O!=y~~%fR!AzW'TPOY!=yYZ!>qZ!^!=y!^!_!@y!_;'S!=y;'S;=`!Bd;=`<%l!?]<%lO!=yR!BgWO#O!?]#O#P!?u#P#S!?]#S#T!@n#T;'S!?];'S;=`!@s;=`<%l!=y<%lO!?]R!CWV%UQ'TPOY$zYZ%fZ!^$z!^!_%k!_;'S$z;'S;=`&W<%lO$zR!CpP;=`<%l!=y_!CzV!p^'TPOY$zYZ%fZ!^$z!^!_%k!_;'S$z;'S;=`&W<%lO$z_!DjY$UQ#n['TPOY$zYZ%fZ!^$z!^!_%k!_!`6U!`#p$z#p#q!EY#q;'S$z;'S;=`&W<%lO$zR!EaV$SQ'TPOY$zYZ%fZ!^$z!^!_%k!_;'S$z;'S;=`&W<%lO$zR!E}V!oQ'TPOY$zYZ%fZ!^$z!^!_%k!_;'S$z;'S;=`&W<%lO$zR!FkV$eQ'TPOY$zYZ%fZ!^$z!^!_%k!_;'S$z;'S;=`&W<%lO$z",tokenizers:[TQ,bQ,vQ,0,1,2,3,yQ],topRules:{Template:[0,73],Program:[1,241]},dynamicPrecedences:{298:1},specialized:[{term:284,get:(e,t)=>pQ(e)<<1,external:pQ},{term:284,get:e=>XQ[e]||-1}],tokenPrec:29889}),ZQ={area:!0,base:!0,br:!0,col:!0,command:!0,embed:!0,frame:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0,menuitem:!0},RQ={dd:!0,li:!0,optgroup:!0,option:!0,p:!0,rp:!0,rt:!0,tbody:!0,td:!0,tfoot:!0,th:!0,tr:!0},zQ={dd:{dd:!0,dt:!0},dt:{dd:!0,dt:!0},li:{li:!0},option:{option:!0,optgroup:!0},optgroup:{optgroup:!0},p:{address:!0,article:!0,aside:!0,blockquote:!0,dir:!0,div:!0,dl:!0,fieldset:!0,footer:!0,form:!0,h1:!0,h2:!0,h3:!0,h4:!0,h5:!0,h6:!0,header:!0,hgroup:!0,hr:!0,menu:!0,nav:!0,ol:!0,p:!0,pre:!0,section:!0,table:!0,ul:!0},rp:{rp:!0,rt:!0},rt:{rp:!0,rt:!0},tbody:{tbody:!0,tfoot:!0},td:{td:!0,th:!0},tfoot:{tbody:!0},th:{td:!0,th:!0},thead:{tbody:!0,tfoot:!0},tr:{tr:!0}};function _Q(e){return 45==e||46==e||58==e||e>=65&&e<=90||95==e||e>=97&&e<=122||e>=161}let VQ=null,YQ=null,qQ=0;function WQ(e,t){let i=e.pos+t;if(qQ==i&&YQ==e)return VQ;let O=e.peek(t),n="";for(;_Q(O);)n+=String.fromCharCode(O),O=e.peek(++t);return YQ=e,qQ=i,VQ=n?n.toLowerCase():O==UQ||O==jQ?void 0:null}const UQ=63,jQ=33;function GQ(e,t){this.name=e,this.parent=t}const CQ=[6,10,7,8,9],AQ=new Tf({start:null,shift:(e,t,i,O)=>CQ.indexOf(t)>-1?new GQ(WQ(O,1)||"",e):e,reduce:(e,t)=>21==t&&e?e.parent:e,reuse(e,t,i,O){let n=t.type.id;return 6==n||37==n?new GQ(WQ(O,1)||"",e):e},strict:!1}),EQ=new lf((e,t)=>{if(60!=e.next)return void(e.next<0&&t.context&&e.acceptToken(58));e.advance();let i=47==e.next;i&&e.advance();let O=WQ(e,0);if(void 0===O)return;if(!O)return e.acceptToken(i?15:14);let n=t.context?t.context.name:null;if(i){if(O==n)return e.acceptToken(11);if(n&&RQ[n])return e.acceptToken(58,-2);if(t.dialectEnabled(0))return e.acceptToken(12);for(let e=t.context;e;e=e.parent)if(e.name==O)return;e.acceptToken(13)}else{if("script"==O)return e.acceptToken(7);if("style"==O)return e.acceptToken(8);if("textarea"==O)return e.acceptToken(9);if(ZQ.hasOwnProperty(O))return e.acceptToken(10);n&&zQ[n]&&zQ[n][O]?e.acceptToken(58,-1):e.acceptToken(6)}},{contextual:!0}),MQ=new lf(e=>{for(let t=0,i=0;;i++){if(e.next<0){i&&e.acceptToken(59);break}if(45==e.next)t++;else{if(62==e.next&&t>=2){i>=3&&e.acceptToken(59,-2);break}t=0}e.advance()}}),DQ=new lf((e,t)=>{if(47==e.next&&62==e.peek(1)){let i=t.dialectEnabled(1)||function(e){for(;e;e=e.parent)if("svg"==e.name||"math"==e.name)return!0;return!1}(t.context);e.acceptToken(i?5:4,2)}else 62==e.next&&e.acceptToken(4,1)});function LQ(e,t,i){let O=2+e.length;return new lf(n=>{for(let r=0,s=0,o=0;;o++){if(n.next<0){o&&n.acceptToken(t);break}if(0==r&&60==n.next||1==r&&47==n.next||r>=2&&rs?n.acceptToken(t,-s):n.acceptToken(i,-(s-2));break}if((10==n.next||13==n.next)&&o){n.acceptToken(t,1);break}r=s=0}n.advance()}})}const IQ=LQ("script",55,1),NQ=LQ("style",56,2),BQ=LQ("textarea",57,3),FQ=Oa({"Text RawText IncompleteTag IncompleteCloseTag":va.content,"StartTag StartCloseTag SelfClosingEndTag EndTag":va.angleBracket,TagName:va.tagName,"MismatchedCloseTag/TagName":[va.tagName,va.invalid],AttributeName:va.attributeName,"AttributeValue UnquotedAttributeValue":va.attributeValue,Is:va.definitionOperator,"EntityReference CharacterReference":va.character,Comment:va.blockComment,ProcessingInst:va.processingInstruction,DoctypeDecl:va.documentMeta}),HQ=yf.deserialize({version:14,states:",xOVO!rOOO!ZQ#tO'#CrO!`Q#tO'#C{O!eQ#tO'#DOO!jQ#tO'#DRO!oQ#tO'#DTO!tOaO'#CqO#PObO'#CqO#[OdO'#CqO$kO!rO'#CqOOO`'#Cq'#CqO$rO$fO'#DUO$zQ#tO'#DWO%PQ#tO'#DXOOO`'#Dl'#DlOOO`'#DZ'#DZQVO!rOOO%UQ&rO,59^O%aQ&rO,59gO%lQ&rO,59jO%wQ&rO,59mO&SQ&rO,59oOOOa'#D_'#D_O&_OaO'#CyO&jOaO,59]OOOb'#D`'#D`O&rObO'#C|O&}ObO,59]OOOd'#Da'#DaO'VOdO'#DPO'bOdO,59]OOO`'#Db'#DbO'jO!rO,59]O'qQ#tO'#DSOOO`,59],59]OOOp'#Dc'#DcO'vO$fO,59pOOO`,59p,59pO(OQ#|O,59rO(TQ#|O,59sOOO`-E7X-E7XO(YQ&rO'#CtOOQW'#D['#D[O(hQ&rO1G.xOOOa1G.x1G.xOOO`1G/Z1G/ZO(sQ&rO1G/ROOOb1G/R1G/RO)OQ&rO1G/UOOOd1G/U1G/UO)ZQ&rO1G/XOOO`1G/X1G/XO)fQ&rO1G/ZOOOa-E7]-E7]O)qQ#tO'#CzOOO`1G.w1G.wOOOb-E7^-E7^O)vQ#tO'#C}OOOd-E7_-E7_O){Q#tO'#DQOOO`-E7`-E7`O*QQ#|O,59nOOOp-E7a-E7aOOO`1G/[1G/[OOO`1G/^1G/^OOO`1G/_1G/_O*VQ,UO,59`OOQW-E7Y-E7YOOOa7+$d7+$dOOO`7+$u7+$uOOOb7+$m7+$mOOOd7+$p7+$pOOO`7+$s7+$sO*bQ#|O,59fO*gQ#|O,59iO*lQ#|O,59lOOO`1G/Y1G/YO*qO7[O'#CwO+SOMhO'#CwOOQW1G.z1G.zOOO`1G/Q1G/QOOO`1G/T1G/TOOO`1G/W1G/WOOOO'#D]'#D]O+eO7[O,59cOOQW,59c,59cOOOO'#D^'#D^O+vOMhO,59cOOOO-E7Z-E7ZOOQW1G.}1G.}OOOO-E7[-E7[",stateData:",c~O!_OS~OUSOVPOWQOXROYTO[]O][O^^O_^Oa^Ob^Oc^Od^Oy^O|_O!eZO~OgaO~OgbO~OgcO~OgdO~OgeO~O!XfOPmP![mP~O!YiOQpP![pP~O!ZlORsP![sP~OUSOVPOWQOXROYTOZqO[]O][O^^O_^Oa^Ob^Oc^Od^Oy^O!eZO~O![rO~P#gO!]sO!fuO~OgvO~OgwO~OS|OT}OiyO~OS!POT}OiyO~OS!ROT}OiyO~OS!TOT}OiyO~OS}OT}OiyO~O!XfOPmX![mX~OP!WO![!XO~O!YiOQpX![pX~OQ!ZO![!XO~O!ZlORsX![sX~OR!]O![!XO~O![!XO~P#gOg!_O~O!]sO!f!aO~OS!bO~OS!cO~Oj!dOShXThXihX~OS!fOT!gOiyO~OS!hOT!gOiyO~OS!iOT!gOiyO~OS!jOT!gOiyO~OS!gOT!gOiyO~Og!kO~Og!lO~Og!mO~OS!nO~Ol!qO!a!oO!c!pO~OS!rO~OS!sO~OS!tO~Ob!uOc!uOd!uO!a!wO!b!uO~Ob!xOc!xOd!xO!c!wO!d!xO~Ob!uOc!uOd!uO!a!{O!b!uO~Ob!xOc!xOd!xO!c!{O!d!xO~OT~cbd!ey|!e~",goto:"%q!aPPPPPPPPPPPPPPPPPPPPP!b!hP!nPP!zP!}#Q#T#Z#^#a#g#j#m#s#y!bP!b!bP$P$V$m$s$y%P%V%]%cPPPPPPPP%iX^OX`pXUOX`pezabcde{!O!Q!S!UR!q!dRhUR!XhXVOX`pRkVR!XkXWOX`pRnWR!XnXXOX`pQrXR!XpXYOX`pQ`ORx`Q{aQ!ObQ!QcQ!SdQ!UeZ!e{!O!Q!S!UQ!v!oR!z!vQ!y!pR!|!yQgUR!VgQjVR!YjQmWR![mQpXR!^pQtZR!`tS_O`ToXp",nodeNames:"⚠ StartCloseTag StartCloseTag StartCloseTag EndTag SelfClosingEndTag StartTag StartTag StartTag StartTag StartTag StartCloseTag StartCloseTag StartCloseTag IncompleteTag IncompleteCloseTag Document Text EntityReference CharacterReference InvalidEntity Element OpenTag TagName Attribute AttributeName Is AttributeValue UnquotedAttributeValue ScriptText CloseTag OpenTag StyleText CloseTag OpenTag TextareaText CloseTag OpenTag CloseTag SelfClosingTag Comment ProcessingInst MismatchedCloseTag CloseTag DoctypeDecl",maxTerm:68,context:AQ,nodeProps:[["closedBy",-10,1,2,3,7,8,9,10,11,12,13,"EndTag",6,"EndTag SelfClosingEndTag",-4,22,31,34,37,"CloseTag"],["openedBy",4,"StartTag StartCloseTag",5,"StartTag",-4,30,33,36,38,"OpenTag"],["group",-10,14,15,18,19,20,21,40,41,42,43,"Entity",17,"Entity TextContent",-3,29,32,35,"TextContent Entity"],["isolate",-11,22,30,31,33,34,36,37,38,39,42,43,"ltr",-3,27,28,40,""]],propSources:[FQ],skippedNodes:[0],repeatNodeCount:9,tokenData:"!]tw8twx7Sx!P8t!P!Q5u!Q!]8t!]!^/^!^!a7S!a#S8t#S#T;{#T#s8t#s$f5u$f;'S8t;'S;=`>V<%l?Ah8t?Ah?BY5u?BY?Mn8t?MnO5u!Z5zblWOX5uXZ7SZ[5u[^7S^p5uqr5urs7Sst+Ptw5uwx7Sx!]5u!]!^7w!^!a7S!a#S5u#S#T7S#T;'S5u;'S;=`8n<%lO5u!R7VVOp7Sqs7St!]7S!]!^7l!^;'S7S;'S;=`7q<%lO7S!R7qOb!R!R7tP;=`<%l7S!Z8OYlWb!ROX+PZ[+P^p+Pqr+Psw+Px!^+P!a#S+P#T;'S+P;'S;=`+t<%lO+P!Z8qP;=`<%l5u!_8{iiSlWOX5uXZ7SZ[5u[^7S^p5uqr8trs7Sst/^tw8twx7Sx!P8t!P!Q5u!Q!]8t!]!^:j!^!a7S!a#S8t#S#T;{#T#s8t#s$f5u$f;'S8t;'S;=`>V<%l?Ah8t?Ah?BY5u?BY?Mn8t?MnO5u!_:sbiSlWb!ROX+PZ[+P^p+Pqr/^sw/^x!P/^!P!Q+P!Q!^/^!a#S/^#S#T0m#T#s/^#s$f+P$f;'S/^;'S;=`1e<%l?Ah/^?Ah?BY+P?BY?Mn/^?MnO+P!VP<%l?Ah;{?Ah?BY7S?BY?Mn;{?MnO7S!V=dXiSb!Rqr0msw0mx!P0m!Q!^0m!a#s0m$f;'S0m;'S;=`1_<%l?Ah0m?BY?Mn0m!V>SP;=`<%l;{!_>YP;=`<%l8t!_>dhiSlWOX@OXZAYZ[@O[^AY^p@OqrBwrsAYswBwwxAYx!PBw!P!Q@O!Q!]Bw!]!^/^!^!aAY!a#SBw#S#TE{#T#sBw#s$f@O$f;'SBw;'S;=`HS<%l?AhBw?Ah?BY@O?BY?MnBw?MnO@O!Z@TalWOX@OXZAYZ[@O[^AY^p@Oqr@OrsAYsw@OwxAYx!]@O!]!^Az!^!aAY!a#S@O#S#TAY#T;'S@O;'S;=`Bq<%lO@O!RA]UOpAYq!]AY!]!^Ao!^;'SAY;'S;=`At<%lOAY!RAtOc!R!RAwP;=`<%lAY!ZBRYlWc!ROX+PZ[+P^p+Pqr+Psw+Px!^+P!a#S+P#T;'S+P;'S;=`+t<%lO+P!ZBtP;=`<%l@O!_COhiSlWOX@OXZAYZ[@O[^AY^p@OqrBwrsAYswBwwxAYx!PBw!P!Q@O!Q!]Bw!]!^Dj!^!aAY!a#SBw#S#TE{#T#sBw#s$f@O$f;'SBw;'S;=`HS<%l?AhBw?Ah?BY@O?BY?MnBw?MnO@O!_DsbiSlWc!ROX+PZ[+P^p+Pqr/^sw/^x!P/^!P!Q+P!Q!^/^!a#S/^#S#T0m#T#s/^#s$f+P$f;'S/^;'S;=`1e<%l?Ah/^?Ah?BY+P?BY?Mn/^?MnO+P!VFQbiSOpAYqrE{rsAYswE{wxAYx!PE{!P!QAY!Q!]E{!]!^GY!^!aAY!a#sE{#s$fAY$f;'SE{;'S;=`G|<%l?AhE{?Ah?BYAY?BY?MnE{?MnOAY!VGaXiSc!Rqr0msw0mx!P0m!Q!^0m!a#s0m$f;'S0m;'S;=`1_<%l?Ah0m?BY?Mn0m!VHPP;=`<%lE{!_HVP;=`<%lBw!ZHcW!cxaP!b`Or(trs'ksv(tw!^(t!^!_)e!_;'S(t;'S;=`*P<%lO(t!aIYliSaPlW!b`!dpOX$qXZ&XZ[$q[^&X^p$qpq&Xqr-_rs&}sv-_vw/^wx(tx}-_}!OKQ!O!P-_!P!Q$q!Q!^-_!^!_*V!_!a&X!a#S-_#S#T1k#T#s-_#s$f$q$f;'S-_;'S;=`3X<%l?Ah-_?Ah?BY$q?BY?Mn-_?MnO$q!aK_kiSaPlW!b`!dpOX$qXZ&XZ[$q[^&X^p$qpq&Xqr-_rs&}sv-_vw/^wx(tx!P-_!P!Q$q!Q!^-_!^!_*V!_!`&X!`!aMS!a#S-_#S#T1k#T#s-_#s$f$q$f;'S-_;'S;=`3X<%l?Ah-_?Ah?BY$q?BY?Mn-_?MnO$q!TM_XaP!b`!dp!fQOr&Xrs&}sv&Xwx(tx!^&X!^!_*V!_;'S&X;'S;=`*y<%lO&X!aNZ!ZiSgQaPlW!b`!dpOX$qXZ&XZ[$q[^&X^p$qpq&Xqr-_rs&}sv-_vw/^wx(tx}-_}!OMz!O!PMz!P!Q$q!Q![Mz![!]Mz!]!^-_!^!_*V!_!a&X!a!c-_!c!}Mz!}#R-_#R#SMz#S#T1k#T#oMz#o#s-_#s$f$q$f$}-_$}%OMz%O%W-_%W%oMz%o%p-_%p&aMz&a&b-_&b1pMz1p4UMz4U4dMz4d4e-_4e$ISMz$IS$I`-_$I`$IbMz$Ib$Je-_$Je$JgMz$Jg$Kh-_$Kh%#tMz%#t&/x-_&/x&EtMz&Et&FV-_&FV;'SMz;'S;:j!#|;:j;=`3X<%l?&r-_?&r?AhMz?Ah?BY$q?BY?MnMz?MnO$q!a!$PP;=`<%lMz!R!$ZY!b`!dpOq*Vqr!$yrs(Vsv*Vwx)ex!a*V!a!b!4t!b;'S*V;'S;=`*s<%lO*V!R!%Q]!b`!dpOr*Vrs(Vsv*Vwx)ex}*V}!O!%y!O!f*V!f!g!']!g#W*V#W#X!0`#X;'S*V;'S;=`*s<%lO*V!R!&QX!b`!dpOr*Vrs(Vsv*Vwx)ex}*V}!O!&m!O;'S*V;'S;=`*s<%lO*V!R!&vV!b`!dp!ePOr*Vrs(Vsv*Vwx)ex;'S*V;'S;=`*s<%lO*V!R!'dX!b`!dpOr*Vrs(Vsv*Vwx)ex!q*V!q!r!(P!r;'S*V;'S;=`*s<%lO*V!R!(WX!b`!dpOr*Vrs(Vsv*Vwx)ex!e*V!e!f!(s!f;'S*V;'S;=`*s<%lO*V!R!(zX!b`!dpOr*Vrs(Vsv*Vwx)ex!v*V!v!w!)g!w;'S*V;'S;=`*s<%lO*V!R!)nX!b`!dpOr*Vrs(Vsv*Vwx)ex!{*V!{!|!*Z!|;'S*V;'S;=`*s<%lO*V!R!*bX!b`!dpOr*Vrs(Vsv*Vwx)ex!r*V!r!s!*}!s;'S*V;'S;=`*s<%lO*V!R!+UX!b`!dpOr*Vrs(Vsv*Vwx)ex!g*V!g!h!+q!h;'S*V;'S;=`*s<%lO*V!R!+xY!b`!dpOr!+qrs!,hsv!+qvw!-Swx!.[x!`!+q!`!a!/j!a;'S!+q;'S;=`!0Y<%lO!+qq!,mV!dpOv!,hvx!-Sx!`!,h!`!a!-q!a;'S!,h;'S;=`!.U<%lO!,hP!-VTO!`!-S!`!a!-f!a;'S!-S;'S;=`!-k<%lO!-SP!-kO|PP!-nP;=`<%l!-Sq!-xS!dp|POv(Vx;'S(V;'S;=`(h<%lO(Vq!.XP;=`<%l!,ha!.aX!b`Or!.[rs!-Ssv!.[vw!-Sw!`!.[!`!a!.|!a;'S!.[;'S;=`!/d<%lO!.[a!/TT!b`|POr)esv)ew;'S)e;'S;=`)y<%lO)ea!/gP;=`<%l!.[!R!/sV!b`!dp|POr*Vrs(Vsv*Vwx)ex;'S*V;'S;=`*s<%lO*V!R!0]P;=`<%l!+q!R!0gX!b`!dpOr*Vrs(Vsv*Vwx)ex#c*V#c#d!1S#d;'S*V;'S;=`*s<%lO*V!R!1ZX!b`!dpOr*Vrs(Vsv*Vwx)ex#V*V#V#W!1v#W;'S*V;'S;=`*s<%lO*V!R!1}X!b`!dpOr*Vrs(Vsv*Vwx)ex#h*V#h#i!2j#i;'S*V;'S;=`*s<%lO*V!R!2qX!b`!dpOr*Vrs(Vsv*Vwx)ex#m*V#m#n!3^#n;'S*V;'S;=`*s<%lO*V!R!3eX!b`!dpOr*Vrs(Vsv*Vwx)ex#d*V#d#e!4Q#e;'S*V;'S;=`*s<%lO*V!R!4XX!b`!dpOr*Vrs(Vsv*Vwx)ex#X*V#X#Y!+q#Y;'S*V;'S;=`*s<%lO*V!R!4{Y!b`!dpOr!4trs!5ksv!4tvw!6Vwx!8]x!a!4t!a!b!:]!b;'S!4t;'S;=`!;r<%lO!4tq!5pV!dpOv!5kvx!6Vx!a!5k!a!b!7W!b;'S!5k;'S;=`!8V<%lO!5kP!6YTO!a!6V!a!b!6i!b;'S!6V;'S;=`!7Q<%lO!6VP!6lTO!`!6V!`!a!6{!a;'S!6V;'S;=`!7Q<%lO!6VP!7QOyPP!7TP;=`<%l!6Vq!7]V!dpOv!5kvx!6Vx!`!5k!`!a!7r!a;'S!5k;'S;=`!8V<%lO!5kq!7yS!dpyPOv(Vx;'S(V;'S;=`(h<%lO(Vq!8YP;=`<%l!5ka!8bX!b`Or!8]rs!6Vsv!8]vw!6Vw!a!8]!a!b!8}!b;'S!8];'S;=`!:V<%lO!8]a!9SX!b`Or!8]rs!6Vsv!8]vw!6Vw!`!8]!`!a!9o!a;'S!8];'S;=`!:V<%lO!8]a!9vT!b`yPOr)esv)ew;'S)e;'S;=`)y<%lO)ea!:YP;=`<%l!8]!R!:dY!b`!dpOr!4trs!5ksv!4tvw!6Vwx!8]x!`!4t!`!a!;S!a;'S!4t;'S;=`!;r<%lO!4t!R!;]V!b`!dpyPOr*Vrs(Vsv*Vwx)ex;'S*V;'S;=`*s<%lO*V!R!;uP;=`<%l!4t!V!{let o=e.type.id;if(29==o)return em(e,t,i);if(32==o)return em(e,t,O);if(35==o)return em(e,t,n);if(21==o&&r.length){let i,O=e.node,n=O.firstChild,s=n&&JQ(n,t);if(s)for(let e of r)if(e.tag==s&&(!e.attrs||e.attrs(i||(i=KQ(n,t))))){let t=O.lastChild,i=38==t.type.id?t.from:O.to;if(i>n.to)return{parser:e.parser,overlay:[{from:n.to,to:i}]}}}if(s&&24==o){let i,O=e.node;if(i=O.firstChild){let e=s[t.read(i.from,i.to)];if(e)for(let i of e){if(i.tagName&&i.tagName!=JQ(O.parent,t))continue;let e=O.lastChild;if(27==e.type.id){let t=e.from+1,O=e.lastChild,n=e.to-(O&&O.isError?0:1);if(n>t)return{parser:i.parser,overlay:[{from:t,to:n}],bracketed:!0}}else if(28==e.type.id)return{parser:i.parser,overlay:[{from:e.from,to:e.to}]}}}}return null})}const im=[9,10,11,12,13,32,133,160,5760,8192,8193,8194,8195,8196,8197,8198,8199,8200,8201,8202,8232,8233,8239,8287,12288];function Om(e){return e>=65&&e<=90||e>=97&&e<=122||e>=161}function nm(e){return e>=48&&e<=57}function rm(e){return nm(e)||e>=97&&e<=102||e>=65&&e<=70}const sm=(e,t,i)=>(O,n)=>{for(let r=!1,s=0,o=0;;o++){let{next:a}=O;if(Om(a)||45==a||95==a||r&&nm(a))!r&&(45!=a||o>0)&&(r=!0),s===o&&45==a&&s++,O.advance();else{if(92!=a||10==O.peek(1)){r&&O.acceptToken(2==s&&n.canShift(2)?t:40==a?i:e);break}if(O.advance(),rm(O.next)){do{O.advance()}while(rm(O.next));32==O.next&&O.advance()}else O.next>-1&&O.advance();r=!0}}},om=new lf(sm(136,2,137),{contextual:!0}),am=new lf(sm(138,3,4),{contextual:!0}),lm=new lf(e=>{if(im.includes(e.peek(-1))){let{next:t}=e;(Om(t)||95==t||35==t||46==t||42==t||91==t||58==t&&Om(e.peek(1))||45==t||38==t)&&e.acceptToken(135)}}),hm=new lf(e=>{if(!im.includes(e.peek(-1))){let{next:t}=e;if(37==t&&(e.advance(),e.acceptToken(1)),Om(t)){do{e.advance()}while(Om(e.next)||nm(e.next));e.acceptToken(1)}}}),cm=Oa({"AtKeyword import charset namespace keyframes media supports font-feature-values":va.definitionKeyword,"from to selector scope MatchFlag":va.keyword,NamespaceName:va.namespace,KeyframeName:va.labelName,KeyframeRangeName:va.operatorKeyword,TagName:va.tagName,ClassName:va.className,PseudoClassName:va.constant(va.className),IdName:va.labelName,"FeatureName PropertyName":va.propertyName,AttributeName:va.attributeName,NumberLiteral:va.number,KeywordQuery:va.keyword,UnaryQueryOp:va.operatorKeyword,"CallTag ValueName FontName":va.atom,VariableName:va.variableName,Callee:va.operatorKeyword,Unit:va.unit,"UniversalSelector NestingSelector":va.definitionOperator,"MatchOp CompareOp":va.compareOperator,"ChildOp SiblingOp, LogicOp":va.logicOperator,BinOp:va.arithmeticOperator,Important:va.modifier,Comment:va.blockComment,ColorLiteral:va.color,"ParenthesizedContent StringLiteral":va.string,":":va.punctuation,"PseudoOp #":va.derefOperator,"; , |":va.separator,"( )":va.paren,"[ ]":va.squareBracket,"{ }":va.brace}),dm={__proto__:null,lang:44,"nth-child":44,"nth-last-child":44,"nth-of-type":44,"nth-last-of-type":44,dir:44,"host-context":44,if:90,url:132,"url-prefix":132,domain:132,regexp:132},um={__proto__:null,or:104,and:104,not:112,only:112,layer:186},$m={__proto__:null,selector:118,layer:182},fm={__proto__:null,"@import":178,"@media":190,"@charset":194,"@namespace":198,"@keyframes":204,"@supports":216,"@scope":220,"@font-feature-values":226},pm={__proto__:null,to:223},Qm=yf.deserialize({version:14,states:"IpQYQdOOO#}QdOOP$UO`OOO%OQaO'#CfOOQP'#Ce'#CeO%VQdO'#CgO%[Q`O'#CgO%aQaO'#FdO&XQdO'#CkO&xQaO'#CcO'SQdO'#CnO'_QdO'#DtO'dQdO'#DvO'oQdO'#D}O'oQdO'#EQOOQP'#Fd'#FdO)OQhO'#EsOOQS'#Fc'#FcOOQS'#Ev'#EvQYQdOOO)VQdO'#EWO*cQhO'#E^O)VQdO'#E`O*jQdO'#EbO*uQdO'#EeO)zQhO'#EkO*}QdO'#EmO+YQdO'#EpO+_QaO'#CfO+fQ`O'#ETO+kQ`O'#FnO+vQdO'#FnQOQ`OOP,QO&jO'#CaPOOO)CAR)CAROOQP'#Ci'#CiOOQP,59R,59RO%VQdO,59ROOQP'#Cm'#CmOOQP,59V,59VO&XQdO,59VO,]QdO,59YO'_QdO,5:`O'dQdO,5:bO'oQdO,5:iO'oQdO,5:kO'oQdO,5:lO'oQdO'#E}O,hQ`O,58}O,pQdO'#ESOOQS,58},58}OOQP'#Cq'#CqOOQO'#Dr'#DrOOQP,59Y,59YO,wQ`O,59YO,|Q`O,59YOOQP'#Du'#DuOOQP,5:`,5:`O-RQpO'#DwO-^QdO'#DxO-cQ`O'#DxO-hQpO,5:bO.RQaO,5:iO.iQaO,5:lOOQW'#D^'#D^O/eQhO'#DgO/xQhO,5;_O)zQhO'#DeO0VQ`O'#DkO0[QhO'#DnOOQW'#Fj'#FjOOQS,5;_,5;_O0aQ`O'#DhOOQS-E8t-E8tOOQ['#Cv'#CvO0fQdO'#CwO0|QdO'#C}O1dQdO'#DQO1zQ!pO'#DSO4TQ!jO,5:rOOQO'#DX'#DXO,|Q`O'#DWO4eQ!nO'#FgO6hQ`O'#DYO6mQ`O'#DoOOQ['#Fg'#FgO6rQhO'#FqO7QQ`O,5:xO7VQ!bO,5:zOOQS'#Ed'#EdO7_Q`O,5:|O7dQdO,5:|OOQO'#Eg'#EgO7lQ`O,5;PO7qQhO,5;VO'oQdO'#DjOOQS,5;X,5;XO0aQ`O,5;XO7yQdO,5;XOOQS'#FU'#FUO8RQdO'#ErO7QQ`O,5;[O8ZQdO,5:oO8kQdO'#FPO8xQ`O,5QQhO'#DlOOQW,5:V,5:VOOQW,5:Y,5:YOOQW,5:S,5:SO>[Q!fO'#FhOOQS'#Fh'#FhOOQS'#Ex'#ExO?lQdO,59cOOQ[,59c,59cO@SQdO,59iOOQ[,59i,59iO@jQdO,59lOOQ[,59l,59lOOQ[,59n,59nO)VQdO,59pOAQQhO'#EYOOQW'#EY'#EYOAlQ`O1G0^O4^QhO1G0^OOQ[,59r,59rO)zQhO'#D[OOQ[,59t,59tOAqQ#tO,5:ZOA|QhO'#FROBZQ`O,5<]OOQS1G0d1G0dOOQS1G0f1G0fOOQS1G0h1G0hOBfQ`O1G0hOBkQdO'#EhOOQS1G0k1G0kOOQS1G0q1G0qOBvQaO,5:UO7QQ`O1G0sOOQS1G0s1G0sO0aQ`O1G0sOOQS-E9S-E9SOOQS1G0v1G0vOB}Q!fO1G0ZOCeQ`O'#EVOOQO1G0Z1G0ZOOQO,5;k,5;kOCjQdO,5;kOOQO-E8}-E8}OCwQ`O1G1tPOOO-E8s-E8sPOOO1G.g1G.gOOQP7+$`7+$`OOQP7+%h7+%hO)VQdO7+%hOOQS1G0Y1G0YODSQaO'#FmOD^Q`O,5:_ODcQ!fO'#EwOEaQdO'#FfOEkQ`O,59aOOQO1G0O1G0OOEpQ!bO7+%hO)VQdO1G/eOE{QhO1G/iOOQW1G/m1G/mOOQW1G/g1G/gOF^QhO,5;qOOQW-E9T-E9TOOQS7+&e7+&eOGRQhO'#D^OGaQhO'#FlOGlQ`O'#FlOGqQ`O,5:WOOQS-E8v-E8vOOQ[1G.}1G.}OOQ[1G/T1G/TOOQ[1G/W1G/WOOQ[1G/[1G/[OGvQdO,5:tOOQS7+%x7+%xOG{Q`O7+%xOHQQhO'#D]OHYQ`O,59vO)zQhO,59vOOQ[1G/u1G/uOHbQ`O1G/uOHgQhO,5;mOOQO-E9P-E9POOQS7+&S7+&SOHuQbO'#DSOOQO'#Ej'#EjOITQ`O'#EiOOQO'#Ei'#EiOI`Q`O'#FSOIhQdO,5;SOOQS,5;S,5;SOOQ[1G/p1G/pOOQS7+&_7+&_O7QQ`O7+&_OIsQ!fO'#FOO)VQdO'#FOOJzQdO7+%uOOQO7+%u7+%uOOQO,5:q,5:qOOQO1G1V1G1VOK_Q!bO<nAN>nO! bQ`OAN>nO! gQaO,5;hOOQO-E8z-E8zO! qQdO,5;gOOQO-E8y-E8yOOQW<ZO)VQdO1G1QO!#nQ`O7+'^OOQO,5;l,5;lOOQO-E9O-E9OOOQW<Q!]!^>|!^!_?_!_!`@Z!`!a@n!a!b%Z!b!cAo!c!k%Z!k!lC|!l!u%Z!u!vC|!v!}%Z!}#OD_#O#P%Z#P#QDp#Q#R2X#R#]%Z#]#^ER#^#g%Z#g#hC|#h#o%Z#o#pIf#p#qIw#q#rJ`#r#sJq#s#y%Z#y#z&R#z$f%Z$f$g&R$g#BY%Z#BY#BZ&R#BZ$IS%Z$IS$I_&R$I_$I|%Z$I|$JO&R$JO$JT%Z$JT$JU&R$JU$KV%Z$KV$KW&R$KW&FU%Z&FU&FV&R&FV;'S%Z;'S;=`KY<%lO%Z`%^SOy%jz;'S%j;'S;=`%{<%lO%j`%oS!e`Oy%jz;'S%j;'S;=`%{<%lO%j`&OP;=`<%l%j~&Wh$Q~OX%jX^'r^p%jpq'rqy%jz#y%j#y#z'r#z$f%j$f$g'r$g#BY%j#BY#BZ'r#BZ$IS%j$IS$I_'r$I_$I|%j$I|$JO'r$JO$JT%j$JT$JU'r$JU$KV%j$KV$KW'r$KW&FU%j&FU&FV'r&FV;'S%j;'S;=`%{<%lO%j~'yh$Q~!e`OX%jX^'r^p%jpq'rqy%jz#y%j#y#z'r#z$f%j$f$g'r$g#BY%j#BY#BZ'r#BZ$IS%j$IS$I_'r$I_$I|%j$I|$JO'r$JO$JT%j$JT$JU'r$JU$KV%j$KV$KW'r$KW&FU%j&FU&FV'r&FV;'S%j;'S;=`%{<%lO%jj)jS$dYOy%jz;'S%j;'S;=`%{<%lO%j~)yWOY)vZr)vrs*cs#O)v#O#P*h#P;'S)v;'S;=`+d<%lO)v~*hOw~~*kRO;'S)v;'S;=`*t;=`O)v~*wXOY)vZr)vrs*cs#O)v#O#P*h#P;'S)v;'S;=`+d;=`<%l)v<%lO)v~+gP;=`<%l)vj+oYmYOy%jz!Q%j!Q![,_![!c%j!c!i,_!i#T%j#T#Z,_#Z;'S%j;'S;=`%{<%lO%jj,dY!e`Oy%jz!Q%j!Q![-S![!c%j!c!i-S!i#T%j#T#Z-S#Z;'S%j;'S;=`%{<%lO%jj-XY!e`Oy%jz!Q%j!Q![-w![!c%j!c!i-w!i#T%j#T#Z-w#Z;'S%j;'S;=`%{<%lO%jj.OYuY!e`Oy%jz!Q%j!Q![.n![!c%j!c!i.n!i#T%j#T#Z.n#Z;'S%j;'S;=`%{<%lO%jj.uYuY!e`Oy%jz!Q%j!Q![/e![!c%j!c!i/e!i#T%j#T#Z/e#Z;'S%j;'S;=`%{<%lO%jj/jY!e`Oy%jz!Q%j!Q![0Y![!c%j!c!i0Y!i#T%j#T#Z0Y#Z;'S%j;'S;=`%{<%lO%jj0aYuY!e`Oy%jz!Q%j!Q![1P![!c%j!c!i1P!i#T%j#T#Z1P#Z;'S%j;'S;=`%{<%lO%jj1UY!e`Oy%jz!Q%j!Q![1t![!c%j!c!i1t!i#T%j#T#Z1t#Z;'S%j;'S;=`%{<%lO%jj1{SuY!e`Oy%jz;'S%j;'S;=`%{<%lO%jd2[UOy%jz!_%j!_!`2n!`;'S%j;'S;=`%{<%lO%jd2uS!oS!e`Oy%jz;'S%j;'S;=`%{<%lO%jb3WS^QOy%jz;'S%j;'S;=`%{<%lO%j~3gWOY3dZw3dwx*cx#O3d#O#P4P#P;'S3d;'S;=`4{<%lO3d~4SRO;'S3d;'S;=`4];=`O3d~4`XOY3dZw3dwx*cx#O3d#O#P4P#P;'S3d;'S;=`4{;=`<%l3d<%lO3d~5OP;=`<%l3dj5WShYOy%jz;'S%j;'S;=`%{<%lO%j~5iOg~n5pUWQyWOy%jz!_%j!_!`2n!`;'S%j;'S;=`%{<%lO%jj6ZWyW!uQOy%jz!O%j!O!P6s!P!Q%j!Q![9x![;'S%j;'S;=`%{<%lO%jj6xU!e`Oy%jz!Q%j!Q![7[![;'S%j;'S;=`%{<%lO%jj7cY!e`$]YOy%jz!Q%j!Q![7[![!g%j!g!h8R!h#X%j#X#Y8R#Y;'S%j;'S;=`%{<%lO%jj8WY!e`Oy%jz{%j{|8v|}%j}!O8v!O!Q%j!Q![9_![;'S%j;'S;=`%{<%lO%jj8{U!e`Oy%jz!Q%j!Q![9_![;'S%j;'S;=`%{<%lO%jj9fU!e`$]YOy%jz!Q%j!Q![9_![;'S%j;'S;=`%{<%lO%jj:P[!e`$]YOy%jz!O%j!O!P7[!P!Q%j!Q![9x![!g%j!g!h8R!h#X%j#X#Y8R#Y;'S%j;'S;=`%{<%lO%jj:zS!aYOy%jz;'S%j;'S;=`%{<%lO%jj;]WyWOy%jz!O%j!O!P6s!P!Q%j!Q![9x![;'S%j;'S;=`%{<%lO%jj;zU`YOy%jz!Q%j!Q![7[![;'S%j;'S;=`%{<%lO%j~VUcYOy%jz![%j![!]>i!];'S%j;'S;=`%{<%lO%jj>pSdY!e`Oy%jz;'S%j;'S;=`%{<%lO%jj?RSnYOy%jz;'S%j;'S;=`%{<%lO%jh?dU!WWOy%jz!_%j!_!`?v!`;'S%j;'S;=`%{<%lO%jh?}S!WW!e`Oy%jz;'S%j;'S;=`%{<%lO%jl@bS!WW!oSOy%jz;'S%j;'S;=`%{<%lO%jj@uV!rQ!WWOy%jz!_%j!_!`?v!`!aA[!a;'S%j;'S;=`%{<%lO%jbAcS!rQ!e`Oy%jz;'S%j;'S;=`%{<%lO%jjArYOy%jz}%j}!OBb!O!c%j!c!}CP!}#T%j#T#oCP#o;'S%j;'S;=`%{<%lO%jjBgW!e`Oy%jz!c%j!c!}CP!}#T%j#T#oCP#o;'S%j;'S;=`%{<%lO%jjCW[lY!e`Oy%jz}%j}!OCP!O!Q%j!Q![CP![!c%j!c!}CP!}#T%j#T#oCP#o;'S%j;'S;=`%{<%lO%jhDRS!pWOy%jz;'S%j;'S;=`%{<%lO%jjDdSpYOy%jz;'S%j;'S;=`%{<%lO%jnDuSo^Oy%jz;'S%j;'S;=`%{<%lO%jjEWU!pWOy%jz#a%j#a#bEj#b;'S%j;'S;=`%{<%lO%jbEoU!e`Oy%jz#d%j#d#eFR#e;'S%j;'S;=`%{<%lO%jbFWU!e`Oy%jz#c%j#c#dFj#d;'S%j;'S;=`%{<%lO%jbFoU!e`Oy%jz#f%j#f#gGR#g;'S%j;'S;=`%{<%lO%jbGWU!e`Oy%jz#h%j#h#iGj#i;'S%j;'S;=`%{<%lO%jbGoU!e`Oy%jz#T%j#T#UHR#U;'S%j;'S;=`%{<%lO%jbHWU!e`Oy%jz#b%j#b#cHj#c;'S%j;'S;=`%{<%lO%jbHoU!e`Oy%jz#h%j#h#iIR#i;'S%j;'S;=`%{<%lO%jbIYS$cQ!e`Oy%jz;'S%j;'S;=`%{<%lO%jjIkSsYOy%jz;'S%j;'S;=`%{<%lO%jfI|U$XUOy%jz!_%j!_!`2n!`;'S%j;'S;=`%{<%lO%jjJeSrYOy%jz;'S%j;'S;=`%{<%lO%jfJvU!uQOy%jz!_%j!_!`2n!`;'S%j;'S;=`%{<%lO%j`K]P;=`<%l%Z",tokenizers:[lm,hm,om,am,1,2,3,4,new af("m~RRYZ[z{a~~g~aO$T~~dP!P!Qg~lO$U~~",28,142)],topRules:{StyleSheet:[0,6],Styles:[1,116]},dynamicPrecedences:{84:1},specialized:[{term:137,get:e=>dm[e]||-1},{term:138,get:e=>um[e]||-1},{term:4,get:e=>$m[e]||-1},{term:28,get:e=>fm[e]||-1},{term:136,get:e=>pm[e]||-1}],tokenPrec:2256});let mm=null;function gm(){if(!mm&&"object"==typeof document&&document.body){let{style:e}=document.body,t=[],i=new Set;for(let O in e)"cssText"!=O&&"cssFloat"!=O&&"string"==typeof e[O]&&(/[A-Z]/.test(O)&&(O=O.replace(/[A-Z]/g,e=>"-"+e.toLowerCase())),i.has(O)||(t.push(O),i.add(O)));mm=t.sort().map(e=>({type:"property",label:e,apply:e+": "}))}return mm||[]}const Sm=["active","after","any-link","autofill","backdrop","before","checked","cue","default","defined","disabled","empty","enabled","file-selector-button","first","first-child","first-letter","first-line","first-of-type","focus","focus-visible","focus-within","fullscreen","has","host","host-context","hover","in-range","indeterminate","invalid","is","lang","last-child","last-of-type","left","link","marker","modal","not","nth-child","nth-last-child","nth-last-of-type","nth-of-type","only-child","only-of-type","optional","out-of-range","part","placeholder","placeholder-shown","read-only","read-write","required","right","root","scope","selection","slotted","target","target-text","valid","visited","where"].map(e=>({type:"class",label:e})),Pm=["above","absolute","activeborder","additive","activecaption","after-white-space","ahead","alias","all","all-scroll","alphabetic","alternate","always","antialiased","appworkspace","asterisks","attr","auto","auto-flow","avoid","avoid-column","avoid-page","avoid-region","axis-pan","background","backwards","baseline","below","bidi-override","blink","block","block-axis","bold","bolder","border","border-box","both","bottom","break","break-all","break-word","bullets","button","button-bevel","buttonface","buttonhighlight","buttonshadow","buttontext","calc","capitalize","caps-lock-indicator","caption","captiontext","caret","cell","center","checkbox","circle","cjk-decimal","clear","clip","close-quote","col-resize","collapse","color","color-burn","color-dodge","column","column-reverse","compact","condensed","contain","content","contents","content-box","context-menu","continuous","copy","counter","counters","cover","crop","cross","crosshair","currentcolor","cursive","cyclic","darken","dashed","decimal","decimal-leading-zero","default","default-button","dense","destination-atop","destination-in","destination-out","destination-over","difference","disc","discard","disclosure-closed","disclosure-open","document","dot-dash","dot-dot-dash","dotted","double","down","e-resize","ease","ease-in","ease-in-out","ease-out","element","ellipse","ellipsis","embed","end","ethiopic-abegede-gez","ethiopic-halehame-aa-er","ethiopic-halehame-gez","ew-resize","exclusion","expanded","extends","extra-condensed","extra-expanded","fantasy","fast","fill","fill-box","fixed","flat","flex","flex-end","flex-start","footnotes","forwards","from","geometricPrecision","graytext","grid","groove","hand","hard-light","help","hidden","hide","higher","highlight","highlighttext","horizontal","hsl","hsla","hue","icon","ignore","inactiveborder","inactivecaption","inactivecaptiontext","infinite","infobackground","infotext","inherit","initial","inline","inline-axis","inline-block","inline-flex","inline-grid","inline-table","inset","inside","intrinsic","invert","italic","justify","keep-all","landscape","large","larger","left","level","lighter","lighten","line-through","linear","linear-gradient","lines","list-item","listbox","listitem","local","logical","loud","lower","lower-hexadecimal","lower-latin","lower-norwegian","lowercase","ltr","luminosity","manipulation","match","matrix","matrix3d","medium","menu","menutext","message-box","middle","min-intrinsic","mix","monospace","move","multiple","multiple_mask_images","multiply","n-resize","narrower","ne-resize","nesw-resize","no-close-quote","no-drop","no-open-quote","no-repeat","none","normal","not-allowed","nowrap","ns-resize","numbers","numeric","nw-resize","nwse-resize","oblique","opacity","open-quote","optimizeLegibility","optimizeSpeed","outset","outside","outside-shape","overlay","overline","padding","padding-box","painted","page","paused","perspective","pinch-zoom","plus-darker","plus-lighter","pointer","polygon","portrait","pre","pre-line","pre-wrap","preserve-3d","progress","push-button","radial-gradient","radio","read-only","read-write","read-write-plaintext-only","rectangle","region","relative","repeat","repeating-linear-gradient","repeating-radial-gradient","repeat-x","repeat-y","reset","reverse","rgb","rgba","ridge","right","rotate","rotate3d","rotateX","rotateY","rotateZ","round","row","row-resize","row-reverse","rtl","run-in","running","s-resize","sans-serif","saturation","scale","scale3d","scaleX","scaleY","scaleZ","screen","scroll","scrollbar","scroll-position","se-resize","self-start","self-end","semi-condensed","semi-expanded","separate","serif","show","single","skew","skewX","skewY","skip-white-space","slide","slider-horizontal","slider-vertical","sliderthumb-horizontal","sliderthumb-vertical","slow","small","small-caps","small-caption","smaller","soft-light","solid","source-atop","source-in","source-out","source-over","space","space-around","space-between","space-evenly","spell-out","square","start","static","status-bar","stretch","stroke","stroke-box","sub","subpixel-antialiased","svg_masks","super","sw-resize","symbolic","symbols","system-ui","table","table-caption","table-cell","table-column","table-column-group","table-footer-group","table-header-group","table-row","table-row-group","text","text-bottom","text-top","textarea","textfield","thick","thin","threeddarkshadow","threedface","threedhighlight","threedlightshadow","threedshadow","to","top","transform","translate","translate3d","translateX","translateY","translateZ","transparent","ultra-condensed","ultra-expanded","underline","unidirectional-pan","unset","up","upper-latin","uppercase","url","var","vertical","vertical-text","view-box","visible","visibleFill","visiblePainted","visibleStroke","visual","w-resize","wait","wave","wider","window","windowframe","windowtext","words","wrap","wrap-reverse","x-large","x-small","xor","xx-large","xx-small"].map(e=>({type:"keyword",label:e})).concat(["aliceblue","antiquewhite","aqua","aquamarine","azure","beige","bisque","black","blanchedalmond","blue","blueviolet","brown","burlywood","cadetblue","chartreuse","chocolate","coral","cornflowerblue","cornsilk","crimson","cyan","darkblue","darkcyan","darkgoldenrod","darkgray","darkgreen","darkkhaki","darkmagenta","darkolivegreen","darkorange","darkorchid","darkred","darksalmon","darkseagreen","darkslateblue","darkslategray","darkturquoise","darkviolet","deeppink","deepskyblue","dimgray","dodgerblue","firebrick","floralwhite","forestgreen","fuchsia","gainsboro","ghostwhite","gold","goldenrod","gray","grey","green","greenyellow","honeydew","hotpink","indianred","indigo","ivory","khaki","lavender","lavenderblush","lawngreen","lemonchiffon","lightblue","lightcoral","lightcyan","lightgoldenrodyellow","lightgray","lightgreen","lightpink","lightsalmon","lightseagreen","lightskyblue","lightslategray","lightsteelblue","lightyellow","lime","limegreen","linen","magenta","maroon","mediumaquamarine","mediumblue","mediumorchid","mediumpurple","mediumseagreen","mediumslateblue","mediumspringgreen","mediumturquoise","mediumvioletred","midnightblue","mintcream","mistyrose","moccasin","navajowhite","navy","oldlace","olive","olivedrab","orange","orangered","orchid","palegoldenrod","palegreen","paleturquoise","palevioletred","papayawhip","peachpuff","peru","pink","plum","powderblue","purple","rebeccapurple","red","rosybrown","royalblue","saddlebrown","salmon","sandybrown","seagreen","seashell","sienna","silver","skyblue","slateblue","slategray","snow","springgreen","steelblue","tan","teal","thistle","tomato","turquoise","violet","wheat","white","whitesmoke","yellow","yellowgreen"].map(e=>({type:"constant",label:e}))),Tm=["a","abbr","address","article","aside","b","bdi","bdo","blockquote","body","br","button","canvas","caption","cite","code","col","colgroup","dd","del","details","dfn","dialog","div","dl","dt","em","figcaption","figure","footer","form","header","hgroup","h1","h2","h3","h4","h5","h6","hr","html","i","iframe","img","input","ins","kbd","label","legend","li","main","meter","nav","ol","output","p","pre","ruby","section","select","small","source","span","strong","sub","summary","sup","table","tbody","td","template","textarea","tfoot","th","thead","tr","u","ul"].map(e=>({type:"type",label:e})),ym=["@charset","@color-profile","@container","@counter-style","@font-face","@font-feature-values","@font-palette-values","@import","@keyframes","@layer","@media","@namespace","@page","@position-try","@property","@scope","@starting-style","@supports","@view-transition"].map(e=>({type:"keyword",label:e})),vm=/^(\w[\w-]*|-\w[\w-]*|)$/,wm=/^-(-[\w-]*)?$/,bm=new Yo,xm=["Declaration"];function Xm(e){for(let t=e;;){if(t.type.isTop)return t;if(!(t=t.parent))return e}}function km(e,t,i){if(t.to-t.from>4096){let O=bm.get(t);if(O)return O;let n=[],r=new Set,s=t.cursor(po.IncludeAnonymous);if(s.firstChild())do{for(let t of km(e,s.node,i))r.has(t.label)||(r.add(t.label),n.push(t))}while(s.nextSibling());return bm.set(t,n),n}{let O=[],n=new Set;return t.cursor().iterate(t=>{var r;if(i(t)&&t.matchContext(xm)&&":"==(null===(r=t.node.nextSibling)||void 0===r?void 0:r.name)){let i=e.sliceString(t.from,t.to);n.has(i)||(n.add(i),O.push({label:i,type:"variable"}))}}),O}}const Zm=e=>t=>{let{state:i,pos:O}=t,n=za(i).resolveInner(O,-1),r=n.type.isError&&n.from==n.to-1&&"-"==i.doc.sliceString(n.from,n.to);if("PropertyName"==n.name||(r||"TagName"==n.name)&&/^(Block|Styles)$/.test(n.resolve(n.to).name))return{from:n.from,options:gm(),validFor:vm};if("ValueName"==n.name)return{from:n.from,options:Pm,validFor:vm};if("PseudoClassName"==n.name)return{from:n.from,options:Sm,validFor:vm};if(e(n)||(t.explicit||r)&&function(e,t){var i;if(("("==e.name||e.type.isError)&&(e=e.parent||e),"ArgList"!=e.name)return!1;let O=null===(i=e.parent)||void 0===i?void 0:i.firstChild;return"Callee"==(null==O?void 0:O.name)&&"var"==t.sliceString(O.from,O.to)}(n,i.doc))return{from:e(n)||r?n.from:O,options:km(i.doc,Xm(n),e),validFor:wm};if("TagName"==n.name){for(let{parent:e}=n;e;e=e.parent)if("Block"==e.name)return{from:n.from,options:gm(),validFor:vm};return{from:n.from,options:Tm,validFor:vm}}if("AtKeyword"==n.name)return{from:n.from,options:ym,validFor:vm};if(!t.explicit)return null;let s=n.resolve(O),o=s.childBefore(O);return o&&":"==o.name&&"PseudoClassSelector"==s.name?{from:O,options:Sm,validFor:vm}:o&&":"==o.name&&"Declaration"==s.name||"ArgList"==s.name?{from:O,options:Pm,validFor:vm}:"Block"==s.name||"Styles"==s.name?{from:O,options:gm(),validFor:vm}:null},Rm=Zm(e=>"VariableName"==e.name),zm=Ra.define({name:"css",parser:Qm.configure({props:[Ba.add({Declaration:Ol()}),rl.add({"Block KeyframeList":sl})]}),languageData:{commentTokens:{block:{open:"/*",close:"*/"}},indentOnInput:/^\s*\}$/,wordChars:"-"}});function _m(){return new Aa(zm,zm.data.of({autocomplete:Rm}))}const Vm=["_blank","_self","_top","_parent"],Ym=["ascii","utf-8","utf-16","latin1","latin1"],qm=["get","post","put","delete"],Wm=["application/x-www-form-urlencoded","multipart/form-data","text/plain"],Um=["true","false"],jm={},Gm={a:{attrs:{href:null,ping:null,type:null,media:null,target:Vm,hreflang:null}},abbr:jm,address:jm,area:{attrs:{alt:null,coords:null,href:null,target:null,ping:null,media:null,hreflang:null,type:null,shape:["default","rect","circle","poly"]}},article:jm,aside:jm,audio:{attrs:{src:null,mediagroup:null,crossorigin:["anonymous","use-credentials"],preload:["none","metadata","auto"],autoplay:["autoplay"],loop:["loop"],controls:["controls"]}},b:jm,base:{attrs:{href:null,target:Vm}},bdi:jm,bdo:jm,blockquote:{attrs:{cite:null}},body:jm,br:jm,button:{attrs:{form:null,formaction:null,name:null,value:null,autofocus:["autofocus"],disabled:["autofocus"],formenctype:Wm,formmethod:qm,formnovalidate:["novalidate"],formtarget:Vm,type:["submit","reset","button"]}},canvas:{attrs:{width:null,height:null}},caption:jm,center:jm,cite:jm,code:jm,col:{attrs:{span:null}},colgroup:{attrs:{span:null}},command:{attrs:{type:["command","checkbox","radio"],label:null,icon:null,radiogroup:null,command:null,title:null,disabled:["disabled"],checked:["checked"]}},data:{attrs:{value:null}},datagrid:{attrs:{disabled:["disabled"],multiple:["multiple"]}},datalist:{attrs:{data:null}},dd:jm,del:{attrs:{cite:null,datetime:null}},details:{attrs:{open:["open"]}},dfn:jm,div:jm,dl:jm,dt:jm,em:jm,embed:{attrs:{src:null,type:null,width:null,height:null}},eventsource:{attrs:{src:null}},fieldset:{attrs:{disabled:["disabled"],form:null,name:null}},figcaption:jm,figure:jm,footer:jm,form:{attrs:{action:null,name:null,"accept-charset":Ym,autocomplete:["on","off"],enctype:Wm,method:qm,novalidate:["novalidate"],target:Vm}},h1:jm,h2:jm,h3:jm,h4:jm,h5:jm,h6:jm,head:{children:["title","base","link","style","meta","script","noscript","command"]},header:jm,hgroup:jm,hr:jm,html:{attrs:{manifest:null}},i:jm,iframe:{attrs:{src:null,srcdoc:null,name:null,width:null,height:null,sandbox:["allow-top-navigation","allow-same-origin","allow-forms","allow-scripts"],seamless:["seamless"]}},img:{attrs:{alt:null,src:null,ismap:null,usemap:null,width:null,height:null,crossorigin:["anonymous","use-credentials"]}},input:{attrs:{alt:null,dirname:null,form:null,formaction:null,height:null,list:null,max:null,maxlength:null,min:null,name:null,pattern:null,placeholder:null,size:null,src:null,step:null,value:null,width:null,accept:["audio/*","video/*","image/*"],autocomplete:["on","off"],autofocus:["autofocus"],checked:["checked"],disabled:["disabled"],formenctype:Wm,formmethod:qm,formnovalidate:["novalidate"],formtarget:Vm,multiple:["multiple"],readonly:["readonly"],required:["required"],type:["hidden","text","search","tel","url","email","password","datetime","date","month","week","time","datetime-local","number","range","color","checkbox","radio","file","submit","image","reset","button"]}},ins:{attrs:{cite:null,datetime:null}},kbd:jm,keygen:{attrs:{challenge:null,form:null,name:null,autofocus:["autofocus"],disabled:["disabled"],keytype:["RSA"]}},label:{attrs:{for:null,form:null}},legend:jm,li:{attrs:{value:null}},link:{attrs:{href:null,type:null,hreflang:null,media:null,sizes:["all","16x16","16x16 32x32","16x16 32x32 64x64"]}},map:{attrs:{name:null}},mark:jm,menu:{attrs:{label:null,type:["list","context","toolbar"]}},meta:{attrs:{content:null,charset:Ym,name:["viewport","application-name","author","description","generator","keywords"],"http-equiv":["content-language","content-type","default-style","refresh"]}},meter:{attrs:{value:null,min:null,low:null,high:null,max:null,optimum:null}},nav:jm,noscript:jm,object:{attrs:{data:null,type:null,name:null,usemap:null,form:null,width:null,height:null,typemustmatch:["typemustmatch"]}},ol:{attrs:{reversed:["reversed"],start:null,type:["1","a","A","i","I"]},children:["li","script","template","ul","ol"]},optgroup:{attrs:{disabled:["disabled"],label:null}},option:{attrs:{disabled:["disabled"],label:null,selected:["selected"],value:null}},output:{attrs:{for:null,form:null,name:null}},p:jm,param:{attrs:{name:null,value:null}},pre:jm,progress:{attrs:{value:null,max:null}},q:{attrs:{cite:null}},rp:jm,rt:jm,ruby:jm,samp:jm,script:{attrs:{type:["text/javascript"],src:null,async:["async"],defer:["defer"],charset:Ym}},section:jm,select:{attrs:{form:null,name:null,size:null,autofocus:["autofocus"],disabled:["disabled"],multiple:["multiple"]}},slot:{attrs:{name:null}},small:jm,source:{attrs:{src:null,type:null,media:null}},span:jm,strong:jm,style:{attrs:{type:["text/css"],media:null,scoped:null}},sub:jm,summary:jm,sup:jm,table:jm,tbody:jm,td:{attrs:{colspan:null,rowspan:null,headers:null}},template:jm,textarea:{attrs:{dirname:null,form:null,maxlength:null,name:null,placeholder:null,rows:null,cols:null,autofocus:["autofocus"],disabled:["disabled"],readonly:["readonly"],required:["required"],wrap:["soft","hard"]}},tfoot:jm,th:{attrs:{colspan:null,rowspan:null,headers:null,scope:["row","col","rowgroup","colgroup"]}},thead:jm,time:{attrs:{datetime:null}},title:jm,tr:jm,track:{attrs:{src:null,label:null,default:null,kind:["subtitles","captions","descriptions","chapters","metadata"],srclang:null}},ul:{children:["li","script","template","ul","ol"]},var:jm,video:{attrs:{src:null,poster:null,width:null,height:null,crossorigin:["anonymous","use-credentials"],preload:["auto","metadata","none"],autoplay:["autoplay"],mediagroup:["movie"],muted:["muted"],controls:["controls"]}},wbr:jm},Cm={accesskey:null,class:null,contenteditable:Um,contextmenu:null,dir:["ltr","rtl","auto"],draggable:["true","false","auto"],dropzone:["copy","move","link","string:","file:"],hidden:["hidden"],id:null,inert:["inert"],itemid:null,itemprop:null,itemref:null,itemscope:["itemscope"],itemtype:null,lang:["ar","bn","de","en-GB","en-US","es","fr","hi","id","ja","pa","pt","ru","tr","zh"],spellcheck:Um,autocorrect:Um,autocapitalize:Um,style:null,tabindex:null,title:null,translate:["yes","no"],rel:["stylesheet","alternate","author","bookmark","help","license","next","nofollow","noreferrer","prefetch","prev","search","tag"],role:"alert application article banner button cell checkbox complementary contentinfo dialog document feed figure form grid gridcell heading img list listbox listitem main navigation region row rowgroup search switch tab table tabpanel textbox timer".split(" "),"aria-activedescendant":null,"aria-atomic":Um,"aria-autocomplete":["inline","list","both","none"],"aria-busy":Um,"aria-checked":["true","false","mixed","undefined"],"aria-controls":null,"aria-describedby":null,"aria-disabled":Um,"aria-dropeffect":null,"aria-expanded":["true","false","undefined"],"aria-flowto":null,"aria-grabbed":["true","false","undefined"],"aria-haspopup":Um,"aria-hidden":Um,"aria-invalid":["true","false","grammar","spelling"],"aria-label":null,"aria-labelledby":null,"aria-level":null,"aria-live":["off","polite","assertive"],"aria-multiline":Um,"aria-multiselectable":Um,"aria-owns":null,"aria-posinset":null,"aria-pressed":["true","false","mixed","undefined"],"aria-readonly":Um,"aria-relevant":null,"aria-required":Um,"aria-selected":["true","false","undefined"],"aria-setsize":null,"aria-sort":["ascending","descending","none","other"],"aria-valuemax":null,"aria-valuemin":null,"aria-valuenow":null,"aria-valuetext":null},Am="beforeunload copy cut dragstart dragover dragleave dragenter dragend drag paste focus blur change click load mousedown mouseenter mouseleave mouseup keydown keyup resize scroll unload".split(" ").map(e=>"on"+e);for(let e of Am)Cm[e]=null;class Em{constructor(e,t){this.tags={...Gm,...e},this.globalAttrs={...Cm,...t},this.allTags=Object.keys(this.tags),this.globalAttrNames=Object.keys(this.globalAttrs)}}function Mm(e,t,i=e.length){if(!t)return"";let O=t.firstChild,n=O&&O.getChild("TagName");return n?e.sliceString(n.from,Math.min(n.to,i)):""}function Dm(e,t=!1){for(;e;e=e.parent)if("Element"==e.name){if(!t)return e;t=!1}return null}function Lm(e,t,i){let O=i.tags[Mm(e,Dm(t))];return(null==O?void 0:O.children)||i.allTags}function Im(e,t){let i=[];for(let O=Dm(t);O&&!O.type.isTop;O=Dm(O.parent)){let n=Mm(e,O);if(n&&"CloseTag"==O.lastChild.name)break;n&&i.indexOf(n)<0&&("EndTag"==t.name||t.from>=O.firstChild.to)&&i.push(n)}return i}Em.default=new Em;const Nm=/^[:\-\.\w\u00b7-\uffff]*$/;function Bm(e,t,i,O,n){let r=/\s*>/.test(e.sliceDoc(n,n+5))?"":">",s=Dm(i,"StartTag"==i.name||"TagName"==i.name);return{from:O,to:n,options:Lm(e.doc,s,t).map(e=>({label:e,type:"type"})).concat(Im(e.doc,i).map((e,t)=>({label:"/"+e,apply:"/"+e+r,type:"type",boost:99-t}))),validFor:/^\/?[:\-\.\w\u00b7-\uffff]*$/}}function Fm(e,t,i,O){let n=/\s*>/.test(e.sliceDoc(O,O+5))?"":">";return{from:i,to:O,options:Im(e.doc,t).map((e,t)=>({label:e,apply:e+n,type:"type",boost:99-t})),validFor:Nm}}function Hm(e){let{extraTags:t,extraGlobalAttributes:i}=e,O=i||t?new Em(t,i):Em.default;return e=>function(e,t){let{state:i,pos:O}=t,n=za(i).resolveInner(O,-1),r=n.resolve(O);for(let e,t=O;r==n&&(e=n.childBefore(t));){let i=e.lastChild;if(!i||!i.type.isError||i.from({label:e,type:"property"})),validFor:Nm}}(i,e,n,"AttributeName"==n.name?n.from:O,O):"Is"==n.name||"AttributeValue"==n.name||"UnquotedAttributeValue"==n.name?function(e,t,i,O,n){var r;let s,o=null===(r=i.parent)||void 0===r?void 0:r.getChild("AttributeName"),a=[];if(o){let r=e.sliceDoc(o.from,o.to),l=t.globalAttrs[r];if(!l){let O=Dm(i),n=O?t.tags[Mm(e.doc,O)]:null;l=(null==n?void 0:n.attrs)&&n.attrs[r]}if(l){let t=e.sliceDoc(O,n).toLowerCase(),i='"',r='"';/^['"]/.test(t)?(s='"'==t[0]?/^[^"]*$/:/^[^']*$/,i="",r=e.sliceDoc(n,n+1)==t[0]?"":t[0],t=t.slice(1),O++):s=/^[^\s<>='"]*$/;for(let e of l)a.push({label:e,apply:i+e+r,type:"constant"})}}return{from:O,to:n,options:a,validFor:s}}(i,e,n,"Is"==n.name?O:n.from,O):!t.explicit||"Element"!=r.name&&"Text"!=r.name&&"Document"!=r.name?null:function(e,t,i,O){let n=[],r=0;for(let O of Lm(e.doc,i,t))n.push({label:"<"+O,type:"type"});for(let t of Im(e.doc,i))n.push({label:"",type:"type",boost:99-r++});return{from:O,to:O,options:n,validFor:/^<\/?[:\-\.\w\u00b7-\uffff]*$/}}(i,e,n,O)}(O,e)}const Km=Ff.parser.configure({top:"SingleExpression"}),Jm=[{tag:"script",attrs:e=>"text/typescript"==e.type||"ts"==e.lang,parser:Kf.parser},{tag:"script",attrs:e=>"text/babel"==e.type||"text/jsx"==e.type,parser:Jf.parser},{tag:"script",attrs:e=>"text/typescript-jsx"==e.type,parser:ep.parser},{tag:"script",attrs:e=>/^(importmap|speculationrules|application\/(.+\+)?json)$/i.test(e.type),parser:Km},{tag:"script",attrs:e=>!e.type||/^(?:text|application)\/(?:x-)?(?:java|ecma)script$|^module$|^$/i.test(e.type),parser:Ff.parser},{tag:"style",attrs:e=>(!e.lang||"css"==e.lang)&&(!e.type||/^(text\/)?(x-)?(stylesheet|css)$/i.test(e.type)),parser:zm.parser}],eg=[{name:"style",parser:zm.parser.configure({top:"Styles"})}].concat(Am.map(e=>({name:e,parser:Ff.parser}))),tg=Ra.define({name:"html",parser:HQ.configure({props:[Ba.add({Element(e){let t=/^(\s*)(<\/)?/.exec(e.textAfter);return e.node.to<=e.pos+t[0].length?e.continue():e.lineIndent(e.node.from)+(t[2]?0:e.unit)},"OpenTag CloseTag SelfClosingTag":e=>e.column(e.node.from)+e.unit,Document(e){if(e.pos+/\s*/.exec(e.textAfter)[0].lengthe.getChild("TagName")})]}),languageData:{commentTokens:{block:{open:"\x3c!--",close:"--\x3e"}},indentOnInput:/^\s*<\/\w+\W$/,wordChars:"-_"}}),ig=tg.configure({wrap:tm(Jm,eg)});function Og(e={}){let t,i="";!1===e.matchClosingTags&&(i="noMatch"),!0===e.selfClosingTags&&(i=(i?i+" ":"")+"selfClosing"),(e.nestedLanguages&&e.nestedLanguages.length||e.nestedAttributes&&e.nestedAttributes.length)&&(t=tm((e.nestedLanguages||[]).concat(Jm),(e.nestedAttributes||[]).concat(eg)));let O=t?tg.configure({wrap:t,dialect:i}):i?ig.configure({dialect:i}):ig;return new Aa(O,[ig.data.of({autocomplete:Hm(e)}),!1!==e.autoCloseTags?rg:[],np().support,_m().support])}const ng=new Set("area base br col command embed frame hr img input keygen link meta param source track wbr menuitem".split(" ")),rg=ar.inputHandler.of((e,t,i,O,n)=>{if(e.composing||e.state.readOnly||t!=i||">"!=O&&"/"!=O||!ig.isActiveAt(e.state,t,-1))return!1;let r=n(),{state:s}=r,o=s.changeByRange(e=>{var t,i,n;let r,o=s.doc.sliceString(e.from-1,e.to)==O,{head:a}=e,l=za(s).resolveInner(a,-1);if(o&&">"==O&&"EndTag"==l.name){let O=l.parent;if("CloseTag"!=(null===(i=null===(t=O.parent)||void 0===t?void 0:t.lastChild)||void 0===i?void 0:i.name)&&(r=Mm(s.doc,O.parent,a))&&!ng.has(r))return{range:e,changes:{from:a,to:a+(">"===s.doc.sliceString(a,a+1)?1:0),insert:``}}}else if(o&&"/"==O&&"IncompleteCloseTag"==l.name){let e=l.parent;if(l.from==a-2&&"CloseTag"!=(null===(n=e.lastChild)||void 0===n?void 0:n.name)&&(r=Mm(s.doc,e,a))&&!ng.has(r)){let e=a+(">"===s.doc.sliceString(a,a+1)?1:0),t=`${r}>`;return{range:q.cursor(a+t.length,-1),changes:{from:a,to:e,insert:t}}}}return{range:e}});return!o.changes.empty&&(e.dispatch([r,s.update(o,{userEvent:"input.complete",scrollIntoView:!0})]),!0)}),sg=Ra.define({name:"php",parser:kQ.configure({props:[Ba.add({IfStatement:Ol({except:/^\s*({|else\b|elseif\b|endif\b)/}),TryStatement:Ol({except:/^\s*({|catch\b|finally\b)/}),SwitchBody:e=>{let t=e.textAfter,i=/^\s*\}/.test(t),O=/^\s*(case|default)\b/.test(t);return e.baseIndent+(i?0:O?1:2)*e.unit},ColonBlock:e=>e.baseIndent+e.unit,"Block EnumBody DeclarationList":tl({closing:"}"}),ArrowFunction:e=>e.baseIndent+e.unit,"String BlockComment":()=>null,Statement:Ol({except:/^({|end(for|foreach|switch|while)\b)/})}),rl.add({"Block EnumBody DeclarationList SwitchBody ArrayExpression ValueList":sl,ColonBlock:e=>({from:e.from+1,to:e.to}),BlockComment:e=>({from:e.from+2,to:e.to-2})})]}),languageData:{commentTokens:{block:{open:"/*",close:"*/"},line:"//"},indentOnInput:/^\s*(?:case |default:|end(?:if|for(?:each)?|switch|while)|else(?:if)?|\{|\})$/,wordChars:"$",closeBrackets:{stringPrefixes:["b","B"]}}});function og(e){return e>=65&&e<=90||e>=97&&e<=122}const ag=new lf(e=>{let t=e.pos;for(;;){let{next:i}=e;if(i<0)break;if(123==i){let i=e.peek(1);if(123==i){if(e.pos>t)break;return void e.acceptToken(1,2)}if(35==i){if(e.pos>t)break;return void e.acceptToken(2,2)}if(37==i){if(e.pos>t)break;let i=2,O=2;for(;;){let t=e.peek(i);if(32==t||10==t)++i;else if(35==t)for(++i;;){let t=e.peek(i);if(t<0||10==t)break;i++}else{if(45!=t||2!=O)return void e.acceptToken(3,O);O=++i}}}}if(e.advance(),10==i)break}e.pos>t&&e.acceptToken(155)});function lg(e,t,i){return new lf(O=>{let n=O.pos;for(;;){let{next:t}=O;if(123==t&&37==O.peek(1)){let t=2;for(;;t++){let e=O.peek(t);if(32!=e&&10!=e)break}let r="";for(;;t++){let e=O.peek(t);if(!og(e))break;r+=String.fromCharCode(e)}if(r==e){if(O.pos>n)break;O.acceptToken(i,2);break}}else if(t<0)break;if(O.advance(),10==t)break}O.pos>n&&O.acceptToken(t)})}const hg=lg("endraw",156,4),cg={__proto__:null,in:38,is:40,and:46,or:48,not:52,if:78,else:80,true:98,false:98,self:100,super:102,loop:104,recursive:136,scoped:160,required:162,as:256,import:260,ignore:268,missing:270,with:272,without:274,context:276},dg={__proto__:null,if:112,elif:118,else:122,endif:126,for:132,endfor:140,raw:146,endraw:152,block:158,endblock:166,macro:172,endmacro:182,call:188,endcall:192,filter:198,endfilter:202,set:208,endset:212,trans:218,pluralize:222,endtrans:226,with:232,endwith:236,autoescape:242,endautoescape:246,import:254,from:258,include:266},ug=yf.deserialize({version:14,states:"!*dQVOPOOOOOP'#F`'#F`OeOTO'#CbOvQSO'#CdO!kOPO'#DcO!yOPO'#DnO#XOQO'#DuO#^OPO'#D{O#lOPO'#ESO#zOPO'#E[O$YOPO'#EaO$hOPO'#EfO$vOPO'#EkO%UOPO'#ErO%dOPO'#EwOOOP'#F|'#F|O%rQWO'#E|O&sO#tO'#F]OOOP'#Fq'#FqOOOP'#F_'#F_QVOPOOOOOP-E9^-E9^OOQO'#Ce'#CeO'sQSO,59OO'zQSO'#DWO(RQSO'#DXO(YQ`O'#DZOOQO'#Fr'#FrOvQSO'#CuO(aOPO'#CbOOOP'#Fd'#FdO!kOPO,59}OOOP,59},59}O(oOPO,59}O(}QWO'#E|OOOP,5:Y,5:YO)[OPO,5:YO!yOPO,5:YO)jQWO'#E|OOOQ'#Ff'#FfO)tOQO'#DxO)|OQO,5:aOOOP,5:g,5:gO#^OPO,5:gO*RQWO'#E|OOOP,5:n,5:nO#lOPO,5:nO*YQWO'#E|OOOP,5:v,5:vO#zOPO,5:vO*aQWO'#E|OOOP,5:{,5:{O$YOPO,5:{O*hQWO'#E|OOOP,5;Q,5;QO$hOPO,5;QO*oQWO'#E|OOOP,5;V,5;VO*vOPO,5;VO$vOPO,5;VO+UQWO'#E|OOOP,5;^,5;^O%UOPO,5;^O+`QWO'#E|OOOP,5;c,5;cO%dOPO,5;cO+gQWO'#E|O+nQSO,5;hOvQSO,5:OO+uQSO,5:ZO+zQSO,5:bO+uQSO,5:hO+uQSO,5:oO,PQSO,5:wO,XQpO,5:|O+uQSO,5;RO,^QSO,5;WO,fQSO,5;_OvQSO,5;dOvQSO,5;jOvQSO,5;jOvQSO,5;pOOOO'#Fk'#FkO,nO#tO,5;wOOOP-E9]-E9]O,vQ!bO,59QOvQSO,59TOvQSO,59UOvQSO,59UOvQSO,59UOvQSO,59UO,{QSO'#C}O,XQpO,59cOOQO,59q,59qOOOP1G.j1G.jOvQSO,59UO-SQSO,59UOvQSO,59UOvQSO,59UOvQSO,59nO-wQSO'#FxO.RQSO,59rO.WQSO,59tOOQO,59s,59sO.bQSO'#D[O.iQWO'#F{O.qQWO,59uO0WQSO,59aOOOP-E9b-E9bOOOP1G/i1G/iO(oOPO1G/iO(oOPO1G/iO)TQWO'#E|OvQSO,5:SO0nQSO,5:UO0sQSO,5:WOOOP1G/t1G/tO)[OPO1G/tO)mQWO'#E|O)[OPO1G/tO0xQSO,5:_OOOQ-E9d-E9dOOOP1G/{1G/{O0}QWO'#DyOOOP1G0R1G0RO1SQSO,5:lOOOP1G0Y1G0YO1[QSO,5:tOOOP1G0b1G0bO1aQSO,5:yOOOP1G0g1G0gO1fQSO,5;OOOOP1G0l1G0lO1kQSO,5;TOOOP1G0q1G0qO*vOPO1G0qO+XQWO'#E|O*vOPO1G0qOvQSO,5;YO1pQSO,5;[OOOP1G0x1G0xO1uQSO,5;aOOOP1G0}1G0}O1zQSO,5;fO2PQSO1G1SOOOP1G1S1G1SO2WQSO1G/jOOQO'#Dq'#DqO2_QSO1G/uOOOQ1G/|1G/|O2gQSO1G0SO2rQSO1G0ZO2zQSO'#EVO3SQSO1G0cO,SQSO1G0cO4fQSO'#FvOOQO'#Fv'#FvO5]QSO1G0hO5bQSO1G0mOOOP1G0r1G0rO5mQSO1G0rO5rQSO'#GOO5zQSO1G0yO6PQSO1G1OO6WQSO1G1UO6_QSO1G1UO6fQSO1G1[OOOO-E9i-E9iOOOP1G1c1G1cOOQO1G.l1G.lO6vQSO1G.oO8wQSO1G.pO:oQSO1G.pO:vQSO1G.pOQQSO'#FrO>XQSO'#FwO>aQSO,59iOOQO1G.}1G.}O>fQSO1G.pO@aQSO1G.pOB_QSO1G.pOBfQSO1G.pOD^QSO1G/YOvQSO'#FbODeQSO,5gOOOPAN>gAN>gO! }QSOAN>gOOOPAN>tAN>tO!!SQSO1G0^O!!^QSO,5SQ`O1G.pP!>ZQ`O1G.pP!>bQ`O1G/YP!?QQ`O<mOZ!wO_!yO`!zOa!{Ob!|Oc#ROd#SOp!}O$i!xOV^ih^il^iw^it^i$h^io^i!P^i!Z^i#t^i#v^i#z^i#|^i#}^ix^i!f^i~Og^i~P@nOg#TO~P@nOZ!wO_!yO`!zOa!{Ob!|Oc#ROd#SOg#TOh#UOp!}O$i!xOVvilviwvitvi$hviovi!Pvi!Zvi#tvi#vvi#zvi#|vi#}vi!fvi~Ox&gO~PBmOt%PO$h$la~Oo&jOt%PO~OekOfkOj(yOpiO!RkO!SkO!TkO!UkO$gfO$ihO$njO~Ot%VO$m$oa~O!]#eO~P%rO!Z&pO~P&xO!Z&rO~O!Z&sO~O!Z&uO~P&xOc&xOt%rO~O!Z&zO~O!Z&zO!s&{O~O!Z&|O~Os&}Ot'OOo$qX~Oo'QO~O!Z'RO~Op!}O!Z'RO~Os'TOt%rO~Os'WOt%rO~O$g'ZO~O$O'_O~O#{'`O~Ot&bOo$ka~Ot$Ua$h$Uao$Ua~P&xOZ!wO_(zO`({Oa(|Ob(}Oc)POd)QOg)ROh)SOl)OOp!}Ow)TO$i!xO~Ot!Oi$m!Oi~PHrO!P'hO~P&xO!Z'jO!f'kO~P&xO!Z'lO~Ot'OOo$qa~O!Z'qO~O!Z'sO~P&xOt'tO!Z'vO~P&xOt'xO!Z$ri~P&xO!Z'zO~Ot!eX!Z!eX#tXX~O#t'{O~Ot'|O!Z'zO~O!Z(OO~O!Z(OO#|(PO#}(PO~Oo$Tat$Ta~P&xOs(QO~P=POoritri~P&xOZ!wOp!}O$i!xOVvylvywvytvy$hvyovy!Pvy!Zvy#tvy#vvy#zvy#|vy#}vyxvy!fvy~O_!yO`!zOa!{Ob!|Oc#ROd#SOg#TOh#UO~PLsOZ!wOp!}O$i!xOgiahialiatiawia$miaxia~O_(zO`({Oa(|Ob(}Oc)POd)QO~PNkO!Z(^O!f(_O~P&xO!Z(^O~Oo!zit!zi~P&xOs(`Oo$Zat$Za~O!Z(aO~P&xOt'tO!Z(dO~Ot'xO!Z$rq~P&xOt'xO!Z$rq~Ot'|O!Z(kO~O$O(lO~OZ!wOp!}O$i!xO`^ia^ib^ic^id^ig^ih^il^it^iw^i$m^ie^if^i$g^ix^i~O_^i~P!#iOZ!wO_(zOp!}O$i!xOa^ib^ic^id^ig^ih^il^it^iw^i$m^ix^i~O`^i~P!$zO`({O~P!$zOZ!wO_(zO`({Oa(|Op!}O$i!xOc^id^ig^ih^il^it^iw^i$m^ix^i~Ob^i~P!&ZO$m$jX~P3[Ob(}O~P!&ZOZ!wO_)zO`){Oa)|Ob)}Oc*OOp!}O$i!xOd^ig^ih^il^it^iw^i$m^ix^i~Oe&fOf&fO$gfO~P!'qOZ!wO_(zO`({Oa(|Ob(}Oc)POd)QOp!}O$i!xOh^il^it^iw^i$m^ix^i~Og^i~P!)SOg)RO~P!)SOZ!wO_(zO`({Oa(|Ob(}Oc)POd)QOg)ROh)SOp!}O$i!xOlvitviwvi$mvi~Ox)WO~P!*cOt!Qi$m!Qi~PHrO!Z(nO~Os(pO~Ot'xO!Z$ry~Os(rOt%rO~O!Z(sO~Oouitui~P&xOo!{it!{i~P&xOs(vOt%rO~OZ!wO_(zO`({Oa(|Ob(}Oc)POd)QOg)ROh)SOp!}O$i!xO~Olvytvywvy$mvyxvy~P!-SOt$[q!Z$[q~P&xOt$]q!Z$]q~P&xOt$]y!Z$]y~P&xOm(VO~OekOfkOj)yOpiO!RkO!SkO!TkO!UkO$gfO$ihO$njO~Oe^if^i$g^i~P>mOxvi~PBmOe^if^i$g^i~P!'qOxvi~P!*cO_)gO`)hOa)iOb)jOc)kOd)ZOeiafia$gia~P.vOZ!wO_)gO`)hOa)iOb)jOc)kOd)ZOp!}O$i!xOV^ie^if^ih^il^iw^i$g^it^i$h^io^i!P^i!Z^i#t^i#v^i#z^i#|^i#}^ix^i!f^i~Og^i~P!1_Og)lO~P!1_OZ!wO_)gO`)hOa)iOb)jOc)kOd)ZOg)lOh)mOp!}O$i!xOVvievifvilviwvi$gvitvi$hviovi!Pvi!Zvi#tvi#vvi#zvi#|vi#}vi!fvi~Ox)sO~P!3gO_)gO`)hOa)iOb)jOc)kOd)ZOg)lOh)mOevyfvy$gvy~PLsOxvi~P!3gOZ!wO_)zO`){Oa)|Ob)}Oc*OOd)bOg*POh*QOp!}O$i!xOevifvilvitviwvi$gvi$mvi~Oxvi~P!6fO_)gO~P6}OZ!wO_)gO`)hOp!}O$i!xOV^ib^ic^id^ie^if^ig^ih^il^iw^i$g^it^i$h^io^i!P^i!Z^i#t^i#v^i#z^i#|^i#}^ix^i!f^i~Oa^i~P!8OOa)iO~P!8OOZ!wOp!}O$i!xOc^id^ie^if^ig^ih^il^iw^i$g^it^ix^i~O_)gO`)hOa)iOb)jOV^i$h^io^i!P^i!Z^i#t^i#v^i#z^i#|^i#}^i!f^i~P!:WO_)zO`){Oa)|Ob)}Oc*OOd)bOeiafia$gia~PNkOZ!wO_)zO`){Oa)|Ob)}Oc*OOd)bOp!}O$i!xOe^if^ih^il^it^iw^i$g^i$m^ix^i~Og^i~P!iO_)zO~P!#iO_)zO`){Oa^ib^i$m^i~P!:WO_)zO`){Oa)|Ob^i$m^i~P!:WO_)zO`){Oa)|Ob)}O$m^i~P!:WOfaZa~",goto:"Cy$sPPPPPP$tP$t%j'sPP's'sPPPPPPPPPP'sP'sPP)jPP)o+nPP+q'sPP's's's's's+tP+wPPPP+z,pPPP-fP-jP-vP+z.UP.zP/zP+z0YP1O1RP+z1UPPP1zP+z2QP2v2|3P3SP+z3YP4OP+z4UP4zP+z5QP5vP+z5|P6rP6xP+z7WP7|P+z8SP8xP$t$t$tPPPP9O$tPPPPPP$tP9U:j;f;m;w;}YPPPCcCjCmPPCp$tCsCv!gbOSTVWXYZ[]^doqtu{!O!R!U!X![!]!`!c#b#c#i#k#{#}%[%a%k$dkRhijl!e!f!p!q!r!s!x!y!z!{!|#R#S#T#U#V#e$O%P%U%V%t&U&V&X&d&g&x&}'T'W'h(Q(`(p(r(v(y(z({(|(})P)Q)R)S)T)W)Z)[)b)c)f)g)h)i)j)k)l)m)n)s)y)z){)|)}*O*P*Q*R*S*T*UQ$_!kQ$v!}Q&P$`S&f${(XS']&]'|R'b&b$ikRhijl!e!f!p!q!r!s!x!y!z!{!|!}#R#S#T#U#V#e$O%P%U%V%t&U&V&X&b&d&g&x&}'T'W'h(Q(`(p(r(v(y(z({(|(})P)Q)R)S)T)W)Z)[)b)c)f)g)h)i)j)k)l)m)n)s)y)z){)|)}*O*P*Q*R*S*T*UV$b!l#O)O$d#Pg#W#Y#[#_$U$W$i$j$k$l$p$q$r$s$t$u$z${$|$}%O%]%l&h&k&l&y'U'V'X'a'e'f'g'i'm'r'w(R(S(T(U(W(X(Y(Z([(](m(o(t(u(w(x)U)V)X)Y)])^)_)`)a)d)e)o)p)q)r)t)u)v)w)x*V*W*X*YQ&O$_S&Q$a(VR'S&PR$w!}R'c&bR#]jR&m%V!g_OSTVWXYZ[]^doqtu{!O!R!U!X![!]!`!c#b#c#i#k#{#}%[%a%k!gSOSTVWXYZ[]^doqtu{!O!R!U!X![!]!`!c#b#c#i#k#{#}%[%a%kTnSoQqSQtTQ#boR#kuQpSS#aoqS%Z#b#cR&o%[!gTOSTVWXYZ[]^doqtu{!O!R!U!X![!]!`!c#b#c#i#k#{#}%[%a%kQ$Y!gQ$[!iQ$]!jQ$d!mQ$f!nQ$g!oQ%e#qQ%z$^Q&v%rQ'Y&[S'[&]'|Q'n'OQ(b'tQ(f'xR(h'{QsTS#htuS%`#i#kR&q%a!gUOSTVWXYZ[]^doqtu{!O!R!U!X![!]!`!c#b#c#i#k#{#}%[%a%kRyUR#ny!gVOSTVWXYZ[]^doqtu{!O!R!U!X![!]!`!c#b#c#i#k#{#}%[%a%kQzVR#p{!gWOSTVWXYZ[]^doqtu{!O!R!U!X![!]!`!c#b#c#i#k#{#}%[%a%kQ$`!kR%y$]R%{$^R'o'OQ}WR#r!O!gXOSTVWXYZ[]^doqtu{!O!R!U!X![!]!`!c#b#c#i#k#{#}%[%a%kQ!QXR#t!R!gYOSTVWXYZ[]^doqtu{!O!R!U!X![!]!`!c#b#c#i#k#{#}%[%a%kQ!TYR#v!U!gZOSTVWXYZ[]^doqtu{!O!R!U!X![!]!`!c#b#c#i#k#{#}%[%a%kQ!WZR#x!X!g[OSTVWXYZ[]^doqtu{!O!R!U!X![!]!`!c#b#c#i#k#{#}%[%a%kQ![[R#}!]Q!Z[S#z![!]S%j#{#}R&t%k!g]OSTVWXYZ[]^doqtu{!O!R!U!X![!]!`!c#b#c#i#k#{#}%[%a%kQ!_]R$Q!`!g^OSTVWXYZ[]^doqtu{!O!R!U!X![!]!`!c#b#c#i#k#{#}%[%a%kQ!b^R$S!cQ'^&]R(i'|QdOQuTQ{VQ!OWQ!RXQ!UYQ!XZQ!][Q!`]Q!c^p!vdu{!O!R!U!X!]!`!c#c#i#{%[%a%kQ#cqQ#itQ#{![Q%[#bQ%a#kR%k#}SQOdSeQm!cmSTVWXYZ[]^oqtu{!O!R!U!X![!]!`!c#b#c#i#k#{#}%[%a%kS&c$u$wR'd&cQ%Q#WQ%S#YT&i%Q%SQ%W#]R&n%WQoSR#`oQ%s$YQ&S$dQ&W$gW&w%s&S&W(qR(q(fQxUR#mxS'P%z%{R'p'PQ'u'VR(c'uQ'y'XQ(e'wT(g'y(eQ'}'^R(j'}Q!uaR$m!u!bcOTVWXYZ[]^dqtu{!O!R!U!X![!]!`!c#b#c#i#k#{#}%[%a%kTnSoQgRQ#WhQ#YiQ#[jQ#_lQ$U!eQ$W!fQ$i!pQ$j!qQ$k!rQ$l!sQ$p!xS$q!y)gQ$r!zQ$s!{Q$t!|Q$u!}Q$z#RQ${#SQ$|#TQ$}#UQ%O#VQ%]#eQ%l$OQ&h%PQ&k%UQ&l%VQ&y%tQ'U&UQ'V&VQ'X&XQ'a&bQ'e&dQ'f&gQ'g(yQ'i&xQ'm&}Q'r'TQ'w'WS(R(z)zQ(S({Q(T(|Q(U(}Q(W)PQ(X)QQ(Y)RQ(Z)SQ([)TQ(]'hQ(m(QQ(o(`Q(t)WQ(u(pQ(w(rQ(x(vQ)U)ZQ)V)[Q)X)bQ)Y)cQ)])fQ)^)lQ)_)mQ)`)nQ)a)sQ)d*TQ)e*UQ)o)hQ)p)iQ)q)jQ)r)kQ)t)yQ)u*PQ)v*QQ)w*RQ)x*SQ*V){Q*W)|Q*X)}R*Y*OQ$c!lT$y#O)OR$x!}R#XhR#^jR%|$^R$h!o",nodeNames:"⚠ {{ {# {% {% Template Text }} Interpolation VariableName MemberExpression . PropertyName SubscriptExpression BinaryExpression ConcatOp ArithOp ArithOp CompareOp in is StringLiteral NumberLiteral and or NotExpression not FilterExpression FilterOp FilterName FilterCall ) ( ArgumentList NamedArgument AssignOp , NamedArgument ConditionalExpression if else CallExpression ArrayExpression TupleExpression ParenthesizedExpression DictExpression Entry : Entry BooleanLiteral self super loop IfStatement Tag TagName if %} Tag elif Tag else EndTag endif ForStatement Tag for Definition recursive EndTag endfor RawStatement Tag raw RawText EndTag endraw BlockStatement Tag block scoped required EndTag endblock MacroStatement Tag macro ParamList OptionalParameter OptionalParameter EndTag endmacro CallStatement Tag call EndTag endcall FilterStatement Tag filter EndTag endfilter SetStatement Tag set EndTag endset TransStatement Tag trans Tag pluralize EndTag endtrans WithStatement Tag with EndTag endwith AutoescapeStatement Tag autoescape EndTag endautoescape Tag Tag Tag import as from import ImportItem Tag include ignore missing with without context Comment #}",maxTerm:173,nodeProps:[["closedBy",1,"}}",2,"#}",-2,3,4,"%}",32,")"],["openedBy",7,"{{",31,"(",57,"{%",140,"{#"],["group",-18,9,10,13,14,21,22,25,27,38,41,42,43,44,45,49,50,51,52,"Expression",-11,53,64,71,77,84,92,97,102,107,114,119,"Statement"]],skippedNodes:[0],repeatNodeCount:13,tokenData:".|~RqXY#YYZ#Y]^#Ypq#Yqr#krs#vuv&nwx&{xy)nyz)sz{)x{|*V|}+|}!O,R!O!P,g!P!Q,o!Q![+h![!],w!^!_,|!_!`-U!`!a,|!c!}-^!}#O.U#P#Q.Z#R#S-^#T#o-^#o#p.`#p#q.e#q#r.j#r#s.w%W;'S-^;'S;:j.O<%lO-^~#_S$d~XY#YYZ#Y]^#Ypq#Y~#nP!_!`#q~#vOb~~#yWOY#vZr#vrs$cs#O#v#O#P$h#P;'S#v;'S;=`%x<%lO#v~$hOe~~$kYOY#vYZ#vZr#vrs%Zs#O#v#O#P$h#P;'S#v;'S;=`&O;=`<%l#v<%lO#v~%`We~OY#vZr#vrs$cs#O#v#O#P$h#P;'S#v;'S;=`%x<%lO#v~%{P;=`<%l#v~&RXOY#vZr#vrs$cs#O#v#O#P$h#P;'S#v;'S;=`%x;=`<%l#v<%lO#v~&sP`~#q#r&v~&{O!Z~~'OWOY&{Zw&{wx$cx#O&{#O#P'h#P;'S&{;'S;=`(x<%lO&{~'kYOY&{YZ&{Zw&{wx(Zx#O&{#O#P'h#P;'S&{;'S;=`)O;=`<%l&{<%lO&{~(`We~OY&{Zw&{wx$cx#O&{#O#P'h#P;'S&{;'S;=`(x<%lO&{~({P;=`<%l&{~)RXOY&{Zw&{wx$cx#O&{#O#P'h#P;'S&{;'S;=`(x;=`<%l&{<%lO&{~)sOp~~)xOo~~)}P`~z{*Q~*VO`~~*[Qa~!O!P*b!Q![+h~*eP!Q![*h~*mSf~!Q![*h!g!h*y#R#S*h#X#Y*y~*|R{|+V}!O+V!Q![+]~+YP!Q![+]~+bQf~!Q![+]#R#S+]~+mTf~!O!P*b!Q![+h!g!h*y#R#S+h#X#Y*y~,ROt~~,WRa~uv,a!O!P*b!Q![+h~,dP#q#r&v~,lPZ~!Q![*h~,tP`~!P!Q*Q~,|O!P~~-RPb~!_!`#q~-ZPs~!_!`#q!`-iVm`[p!XS$gY!Q![-^!c!}-^#R#S-^#T#o-^%W;'S-^;'S;:j.O<%lO-^!`.RP;=`<%l-^~.ZO$i~~.`O$h~~.eO$n~~.jOl~^.oP$m[#q#r.rQ.wOVQ~.|O_~",tokenizers:[ag,hg,1,2,3,4,5,new af("b~RPstU~XP#q#r[~aO$Q~~",17,173)],topRules:{Template:[0,5]},specialized:[{term:161,get:e=>cg[e]||-1},{term:55,get:e=>dg[e]||-1}],tokenPrec:3602});function $g(e,t){return e.split(" ").map(e=>({label:e,type:t}))}const fg=$g("abs attr batch capitalize center default dictsort escape filesizeformat first float forceescape format groupby indent int items join last length list lower map max min pprint random reject rejectattr replace reverse round safe select selectattr slice sort string striptags sum title tojson trim truncate unique upper urlencode urlize wordcount wordwrap xmlattr","function"),pg=$g("boolean callable defined divisibleby eq escaped even filter float ge gt in integer iterable le lower lt mapping ne none number odd sameas sequence string test undefined upper range lipsum dict joiner namespace","function"),Qg=$g("loop super self true false varargs kwargs caller name arguments catch_kwargs catch_varargs caller","keyword"),mg=pg.concat(Qg),gg=$g("raw endraw filter endfilter trans pluralize endtrans with endwith autoescape endautoescape if elif else endif for endfor call endcall block endblock set endset macro endmacro import include break continue debug do extends","keyword");function Sg(e={}){let t=e.tags?e.tags.concat(gg):gg,i=e.variables?e.variables.concat(mg):mg,{properties:O}=e;return e=>{var n;let r=function(e){var t;let{state:i,pos:O}=e,n=za(i).resolveInner(O,-1).enterUnfinishedNodesBefore(O),r=(null===(t=n.childBefore(O))||void 0===t?void 0:t.name)||n.name;if("FilterName"==n.name)return{type:"filter",node:n};if(e.explicit&&("FilterOp"==r||"filter"==r))return{type:"filter"};if("TagName"==n.name)return{type:"tag",node:n};if(e.explicit&&"{%"==r)return{type:"tag"};if("PropertyName"==n.name&&"MemberExpression"==n.parent.name)return{type:"prop",node:n,target:n.parent};if("."==n.name&&"MemberExpression"==n.parent.name)return{type:"prop",target:n.parent};if("MemberExpression"==n.name&&"."==r)return{type:"prop",target:n};if("VariableName"==n.name)return{type:"expr",from:n.from};if("Comment"==n.name||"StringLiteral"==n.name||"NumberLiteral"==n.name)return null;let s=e.matchBefore(/[\w\u00c0-\uffff]+$/);return s?{type:"expr",from:s.from}:e.explicit?{type:"expr"}:null}(e);if(!r)return null;let s,o=null!==(n=r.from)&&void 0!==n?n:r.node?r.node.from:e.pos;return s="filter"==r.type?fg:"tag"==r.type?t:"expr"==r.type?i:O?function(e,t,i,O){let n=[];for(;;){let i=t.getChild("Expression");if(!i)return[];if("VariableName"==i.name){n.unshift(e.sliceDoc(i.from,i.to));break}if("MemberExpression"!=i.name)return[];{let O=i.getChild("PropertyName");O&&n.unshift(e.sliceDoc(O.from,O.to)),t=i}}return O(n,e,i)}(e.state,r.target,e,O):[],s.length?{options:s,from:o,validFor:/^[\w\u00c0-\uffff]*$/}:null}}const Pg=ar.inputHandler.of((e,t,i,O)=>"%"==O&&t==i&&"{}"==e.state.doc.sliceString(t-1,i+1)&&(e.dispatch(e.state.changeByRange(e=>({changes:{from:e.from,to:e.to,insert:"%%"},range:q.cursor(e.from+1)})),{scrollIntoView:!0,userEvent:"input.type"}),!0));function Tg(e){return t=>{let i=e.test(t.textAfter);return t.lineIndent(t.node.from)+(i?0:t.unit)}}const yg=Ra.define({name:"jinja",parser:ug.configure({props:[Oa({"TagName raw endraw filter endfilter as trans pluralize endtrans with endwith autoescape endautoescape":va.keyword,"required scoped recursive with without context ignore missing":va.modifier,self:va.self,"loop super":va.standard(va.variableName),"if elif else endif for endfor call endcall":va.controlKeyword,"block endblock set endset macro endmacro import from include":va.definitionKeyword,"Comment/...":va.blockComment,VariableName:va.variableName,Definition:va.definition(va.variableName),PropertyName:va.propertyName,FilterName:va.special(va.variableName),ArithOp:va.arithmeticOperator,AssignOp:va.definitionOperator,"not and or":va.logicOperator,CompareOp:va.compareOperator,"in is":va.operatorKeyword,"FilterOp ConcatOp":va.operator,StringLiteral:va.string,NumberLiteral:va.number,BooleanLiteral:va.bool,"{% %} {# #} {{ }} { }":va.brace,"( )":va.paren,".":va.derefOperator,": , .":va.punctuation}),Ba.add({Tag:tl({closing:"%}"}),"IfStatement ForStatement":Tg(/^\s*(\{%-?\s*)?(endif|endfor|else|elif)\b/),Statement:Tg(/^\s*(\{%-?\s*)?end\w/)}),rl.add({"Statement Comment"(e){let t=e.firstChild,i=e.lastChild;return!t||"Tag"!=t.name&&"{#"!=t.name?null:{from:t.to,to:"EndTag"==i.name||"#}"==i.name?i.from:e.to}}})]}),languageData:{indentOnInput:/^\s*{%-?\s*(?:end|elif|else)$/}}),vg=Og();function wg(e){return yg.configure({wrap:jo(t=>t.type.isTop?{parser:e.parser,overlay:e=>"Text"==e.name||"RawText"==e.name}:null)},"jinja")}const bg=wg(vg.language);var xg={};function Xg(e,t){for(var i=0;i1&&e.eat("$");var i=e.next();return/['"({]/.test(i)?(t.tokens[0]=_g(i,"("==i?"quote":"{"==i?"def":"string"),qg(e,t)):(/\d/.test(i)||e.eatWhile(/\w/),t.tokens.shift(),"def")};function qg(e,t){return(t.tokens[0]||zg)(e,t)}const Wg={name:"shell",startState:function(){return{tokens:[]}},token:function(e,t){return qg(e,t)},languageData:{autocomplete:kg.concat(Zg,Rg),closeBrackets:{brackets:["(","[","{","'",'"',"`"]},commentTokens:{line:"#"}}},Ug={name:"properties",token:function(e,t){var i=e.sol()||t.afterSection,O=e.eol();if(t.afterSection=!1,i&&(t.nextMultiline?(t.inMultiline=!0,t.nextMultiline=!1):t.position="def"),O&&!t.nextMultiline&&(t.inMultiline=!1,t.position="def"),i)for(;e.eatSpace(););var n=e.next();return!i||"#"!==n&&"!"!==n&&";"!==n?i&&"["===n?(t.afterSection=!0,e.skipTo("]"),e.eat("]"),"header"):"="===n||":"===n?(t.position="quote",null):("\\"===n&&"quote"===t.position&&e.eol()&&(t.nextMultiline=!0),t.position):(t.position="comment",e.skipToEnd(),"comment")},startState:function(){return{position:"def",nextMultiline:!1,inMultiline:!1,afterSection:!1}}};window.CM={EditorView:ar,EditorState:Te,basicSetup:A$,Compartment:F,keymap:pr,undo:zh,redo:_h,history:Zh,highlightWhitespace:function(){return no},indentWithTab:Lc,lightTheme:[],darkTheme:H$,search:function(e){return e?[ld.of(e),Md]:Md},openSearchPanel:Yd,closeSearchPanel:qd,autocompletion:$$,startCompletion:Xu,javascript:np,python:function(){return new Aa(Ap,[Ap.data.of({autocomplete:qp}),Ap.data.of({autocomplete:jp})])},yaml:function(){return new Aa($Q)},php:function(e={}){let t,i=[];if(null===e.baseLanguage);else if(e.baseLanguage)t=e.baseLanguage;else{let e=Og({matchClosingTags:!1});i.push(e.support),t=e.language}return new Aa(sg.configure({wrap:t&&jo(e=>e.type.isTop?{parser:t.parser,overlay:e=>"Text"==e.name}:null),top:e.plain?"Program":"Template"}),i)},html:Og,css:_m,jinja:function(e={}){let t=e.base||vg,i=t.language==vg.language?bg:wg(t.language);return new Aa(i,[t.support,i.data.of({autocomplete:Sg(e)}),t.language.data.of({closeBrackets:{brackets:["{"]}}),Pg])},shell:()=>ih.define(Wg),properties:()=>ih.define(Ug)}}(); \ No newline at end of file +!function(){"use strict";let e=[],t=[];function i(i){if(i<768)return!1;for(let O=0,n=e.length;;){let r=O+n>>1;if(i=t[r]))return!0;O=r+1}if(O==n)return!1}}function O(e){return e>=127462&&e<=127487}function n(e,t,i=!0,O=!0){return(i?r:s)(e,t,O)}function r(e,t,n){if(t==e.length)return t;t&&a(e.charCodeAt(t))&&l(e.charCodeAt(t-1))&&t--;let r=o(e,t);for(t+=h(r);t=0&&O(o(e,n));)i++,n-=2;if(i%2==0)break;t+=2}}}return t}function s(e,t,i){for(;t>1;){let O=r(e,t-2,i);if(O=56320&&e<57344}function l(e){return e>=55296&&e<56320}function h(e){return e<65536?1:2}(()=>{let i="lc,34,7n,7,7b,19,,,,2,,2,,,20,b,1c,l,g,,2t,7,2,6,2,2,,4,z,,u,r,2j,b,1m,9,9,,o,4,,9,,3,,5,17,3,3b,f,,w,1j,,,,4,8,4,,3,7,a,2,t,,1m,,,,2,4,8,,9,,a,2,q,,2,2,1l,,4,2,4,2,2,3,3,,u,2,3,,b,2,1l,,4,5,,2,4,,k,2,m,6,,,1m,,,2,,4,8,,7,3,a,2,u,,1n,,,,c,,9,,14,,3,,1l,3,5,3,,4,7,2,b,2,t,,1m,,2,,2,,3,,5,2,7,2,b,2,s,2,1l,2,,,2,4,8,,9,,a,2,t,,20,,4,,2,3,,,8,,29,,2,7,c,8,2q,,2,9,b,6,22,2,r,,,,,,1j,e,,5,,2,5,b,,10,9,,2u,4,,6,,2,2,2,p,2,4,3,g,4,d,,2,2,6,,f,,jj,3,qa,3,t,3,t,2,u,2,1s,2,,7,8,,2,b,9,,19,3,3b,2,y,,3a,3,4,2,9,,6,3,63,2,2,,1m,,,7,,,,,2,8,6,a,2,,1c,h,1r,4,1c,7,,,5,,14,9,c,2,w,4,2,2,,3,1k,,,2,3,,,3,1m,8,2,2,48,3,,d,,7,4,,6,,3,2,5i,1m,,5,ek,,5f,x,2da,3,3x,,2o,w,fe,6,2x,2,n9w,4,,a,w,2,28,2,7k,,3,,4,,p,2,5,,47,2,q,i,d,,12,8,p,b,1a,3,1c,,2,4,2,2,13,,1v,6,2,2,2,2,c,,8,,1b,,1f,,,3,2,2,5,2,,,16,2,8,,6m,,2,,4,,fn4,,kh,g,g,g,a6,2,gt,,6a,,45,5,1ae,3,,2,5,4,14,3,4,,4l,2,fx,4,ar,2,49,b,4w,,1i,f,1k,3,1d,4,2,2,1x,3,10,5,,8,1q,,c,2,1g,9,a,4,2,,2n,3,2,,,2,6,,4g,,3,8,l,2,1l,2,,,,,m,,e,7,3,5,5f,8,2,3,,,n,,29,,2,6,,,2,,,2,,2,6j,,2,4,6,2,,2,r,2,2d,8,2,,,2,2y,,,,2,6,,,2t,3,2,4,,5,77,9,,2,6t,,a,2,,,4,,40,4,2,2,4,,w,a,14,6,2,4,8,,9,6,2,3,1a,d,,2,ba,7,,6,,,2a,m,2,7,,2,,2,3e,6,3,,,2,,7,,,20,2,3,,,,9n,2,f0b,5,1n,7,t4,,1r,4,29,,f5k,2,43q,,,3,4,5,8,8,2,7,u,4,44,3,1iz,1j,4,1e,8,,e,,m,5,,f,11s,7,,h,2,7,,2,,5,79,7,c5,4,15s,7,31,7,240,5,gx7k,2o,3k,6o".split(",").map(e=>e?parseInt(e,36):1);for(let O=0,n=0;Othis.length)throw new RangeError(`Invalid position ${e} in document of length ${this.length}`);return this.lineInner(e,!1,1,0)}line(e){if(e<1||e>this.lines)throw new RangeError(`Invalid line number ${e} in ${this.lines}-line document`);return this.lineInner(e,!0,1,0)}replace(e,t,i){[e,t]=S(this,e,t);let O=[];return this.decompose(0,e,O,2),i.length&&i.decompose(0,i.length,O,3),this.decompose(t,this.length,O,1),u.from(O,this.length-(t-e)+i.length)}append(e){return this.replace(this.length,this.length,e)}slice(e,t=this.length){[e,t]=S(this,e,t);let i=[];return this.decompose(e,t,i,0),u.from(i,t-e)}eq(e){if(e==this)return!0;if(e.length!=this.length||e.lines!=this.lines)return!1;let t=this.scanIdentical(e,1),i=this.length-this.scanIdentical(e,-1),O=new p(this),n=new p(e);for(let e=t,r=t;;){if(O.next(e),n.next(e),e=0,O.lineBreak!=n.lineBreak||O.done!=n.done||O.value!=n.value)return!1;if(r+=O.value.length,O.done||r>=i)return!0}}iter(e=1){return new p(this,e)}iterRange(e,t=this.length){return new Q(this,e,t)}iterLines(e,t){let i;if(null==e)i=this.iter();else{null==t&&(t=this.lines+1);let O=this.line(e).from;i=this.iterRange(O,Math.max(O,t==this.lines+1?this.length:t<=1?0:this.line(t-1).to))}return new m(i)}toString(){return this.sliceString(0)}toJSON(){let e=[];return this.flatten(e),e}constructor(){}static of(e){if(0==e.length)throw new RangeError("A document must have at least one line");return 1!=e.length||e[0]?e.length<=32?new d(e):u.from(d.split(e,[])):c.empty}}class d extends c{constructor(e,t=function(e){let t=-1;for(let i of e)t+=i.length+1;return t}(e)){super(),this.text=e,this.length=t}get lines(){return this.text.length}get children(){return null}lineInner(e,t,i,O){for(let n=0;;n++){let r=this.text[n],s=O+r.length;if((t?i:s)>=e)return new g(O,s,i,r);O=s+1,i++}}decompose(e,t,i,O){let n=e<=0&&t>=this.length?this:new d(f(this.text,e,t),Math.min(t,this.length)-Math.max(0,e));if(1&O){let e=i.pop(),t=$(n.text,e.text.slice(),0,n.length);if(t.length<=32)i.push(new d(t,e.length+n.length));else{let e=t.length>>1;i.push(new d(t.slice(0,e)),new d(t.slice(e)))}}else i.push(n)}replace(e,t,i){if(!(i instanceof d))return super.replace(e,t,i);[e,t]=S(this,e,t);let O=$(this.text,$(i.text,f(this.text,0,e)),t),n=this.length+i.length-(t-e);return O.length<=32?new d(O,n):u.from(d.split(O,[]),n)}sliceString(e,t=this.length,i="\n"){[e,t]=S(this,e,t);let O="";for(let n=0,r=0;n<=t&&re&&r&&(O+=i),en&&(O+=s.slice(Math.max(0,e-n),t-n)),n=o+1}return O}flatten(e){for(let t of this.text)e.push(t)}scanIdentical(){return 0}static split(e,t){let i=[],O=-1;for(let n of e)i.push(n),O+=n.length+1,32==i.length&&(t.push(new d(i,O)),i=[],O=-1);return O>-1&&t.push(new d(i,O)),t}}class u extends c{constructor(e,t){super(),this.children=e,this.length=t,this.lines=0;for(let t of e)this.lines+=t.lines}lineInner(e,t,i,O){for(let n=0;;n++){let r=this.children[n],s=O+r.length,o=i+r.lines-1;if((t?o:s)>=e)return r.lineInner(e,t,i,O);O=s+1,i=o+1}}decompose(e,t,i,O){for(let n=0,r=0;r<=t&&n=r){let n=O&((r<=e?1:0)|(o>=t?2:0));r>=e&&o<=t&&!n?i.push(s):s.decompose(e-r,t-r,i,n)}r=o+1}}replace(e,t,i){if([e,t]=S(this,e,t),i.lines=n&&t<=s){let o=r.replace(e-n,t-n,i),a=this.lines-r.lines+o.lines;if(o.lines>4&&o.lines>a>>6){let n=this.children.slice();return n[O]=o,new u(n,this.length-(t-e)+i.length)}return super.replace(n,s,o)}n=s+1}return super.replace(e,t,i)}sliceString(e,t=this.length,i="\n"){[e,t]=S(this,e,t);let O="";for(let n=0,r=0;ne&&n&&(O+=i),er&&(O+=s.sliceString(e-r,t-r,i)),r=o+1}return O}flatten(e){for(let t of this.children)t.flatten(e)}scanIdentical(e,t){if(!(e instanceof u))return 0;let i=0,[O,n,r,s]=t>0?[0,0,this.children.length,e.children.length]:[this.children.length-1,e.children.length-1,-1,-1];for(;;O+=t,n+=t){if(O==r||n==s)return i;let o=this.children[O],a=e.children[n];if(o!=a)return i+o.scanIdentical(a,t);i+=o.length+1}}static from(e,t=e.reduce((e,t)=>e+t.length+1,-1)){let i=0;for(let t of e)i+=t.lines;if(i<32){let i=[];for(let t of e)t.flatten(i);return new d(i,t)}let O=Math.max(32,i>>5),n=O<<1,r=O>>1,s=[],o=0,a=-1,l=[];function h(e){let t;if(e.lines>n&&e instanceof u)for(let t of e.children)h(t);else e.lines>r&&(o>r||!o)?(c(),s.push(e)):e instanceof d&&o&&(t=l[l.length-1])instanceof d&&e.lines+t.lines<=32?(o+=e.lines,a+=e.length+1,l[l.length-1]=new d(t.text.concat(e.text),t.length+1+e.length)):(o+e.lines>O&&c(),o+=e.lines,a+=e.length+1,l.push(e))}function c(){0!=o&&(s.push(1==l.length?l[0]:u.from(l,a)),a=-1,o=l.length=0)}for(let t of e)h(t);return c(),1==s.length?s[0]:new u(s,t)}}function $(e,t,i=0,O=1e9){for(let n=0,r=0,s=!0;r=i&&(a>O&&(o=o.slice(0,O-n)),n0?1:(e instanceof d?e.text.length:e.children.length)<<1]}nextInner(e,t){for(this.done=this.lineBreak=!1;;){let i=this.nodes.length-1,O=this.nodes[i],n=this.offsets[i],r=n>>1,s=O instanceof d?O.text.length:O.children.length;if(r==(t>0?s:0)){if(0==i)return this.done=!0,this.value="",this;t>0&&this.offsets[i-1]++,this.nodes.pop(),this.offsets.pop()}else if((1&n)==(t>0?0:1)){if(this.offsets[i]+=t,0==e)return this.lineBreak=!0,this.value="\n",this;e--}else if(O instanceof d){let n=O.text[r+(t<0?-1:0)];if(this.offsets[i]+=t,n.length>Math.max(0,e))return this.value=0==e?n:t>0?n.slice(e):n.slice(0,n.length-e),this;e-=n.length}else{let n=O.children[r+(t<0?-1:0)];e>n.length?(e-=n.length,this.offsets[i]+=t):(t<0&&this.offsets[i]--,this.nodes.push(n),this.offsets.push(t>0?1:(n instanceof d?n.text.length:n.children.length)<<1))}}}next(e=0){return e<0&&(this.nextInner(-e,-this.dir),e=this.value.length),this.nextInner(e,this.dir)}}class Q{constructor(e,t,i){this.value="",this.done=!1,this.cursor=new p(e,t>i?-1:1),this.pos=t>i?e.length:0,this.from=Math.min(t,i),this.to=Math.max(t,i)}nextInner(e,t){if(t<0?this.pos<=this.from:this.pos>=this.to)return this.value="",this.done=!0,this;e+=Math.max(0,t<0?this.pos-this.to:this.from-this.pos);let i=t<0?this.pos-this.from:this.to-this.pos;e>i&&(e=i),i-=e;let{value:O}=this.cursor.next(e);return this.pos+=(O.length+e)*t,this.value=O.length<=i?O:t<0?O.slice(O.length-i):O.slice(0,i),this.done=!this.value,this}next(e=0){return e<0?e=Math.max(e,this.from-this.pos):e>0&&(e=Math.min(e,this.to-this.pos)),this.nextInner(e,this.cursor.dir)}get lineBreak(){return this.cursor.lineBreak&&""!=this.value}}class m{constructor(e){this.inner=e,this.afterBreak=!0,this.value="",this.done=!1}next(e=0){let{done:t,lineBreak:i,value:O}=this.inner.next(e);return t&&this.afterBreak?(this.value="",this.afterBreak=!1):t?(this.done=!0,this.value=""):i?this.afterBreak?this.value="":(this.afterBreak=!0,this.next()):(this.value=O,this.afterBreak=!1),this}get lineBreak(){return!1}}"undefined"!=typeof Symbol&&(c.prototype[Symbol.iterator]=function(){return this.iter()},p.prototype[Symbol.iterator]=Q.prototype[Symbol.iterator]=m.prototype[Symbol.iterator]=function(){return this});class g{constructor(e,t,i,O){this.from=e,this.to=t,this.number=i,this.text=O}get length(){return this.to-this.from}}function S(e,t,i){return[t=Math.max(0,Math.min(e.length,t)),Math.max(t,Math.min(e.length,i))]}function P(e,t,i=!0,O=!0){return n(e,t,i,O)}function T(e,t){let i=e.charCodeAt(t);if(!((O=i)>=55296&&O<56320&&t+1!=e.length))return i;var O;let n=e.charCodeAt(t+1);return function(e){return e>=56320&&e<57344}(n)?n-56320+(i-55296<<10)+65536:i}function y(e){return e<=65535?String.fromCharCode(e):(e-=65536,String.fromCharCode(55296+(e>>10),56320+(1023&e)))}function v(e){return e<65536?1:2}const w=/\r\n?|\n/;var b=function(e){return e[e.Simple=0]="Simple",e[e.TrackDel=1]="TrackDel",e[e.TrackBefore=2]="TrackBefore",e[e.TrackAfter=3]="TrackAfter",e}(b||(b={}));class x{constructor(e){this.sections=e}get length(){let e=0;for(let t=0;te)return n+(e-O);n+=s}else{if(i!=b.Simple&&a>=e&&(i==b.TrackDel&&Oe||i==b.TrackBefore&&Oe))return null;if(a>e||a==e&&t<0&&!s)return e==O||t<0?n:n+o;n+=o}O=a}if(e>O)throw new RangeError(`Position ${e} is out of range for changeset of length ${O}`);return n}touchesRange(e,t=e){for(let i=0,O=0;i=0&&O<=t&&n>=e)return!(Ot)||"cover";O=n}return!1}toString(){let e="";for(let t=0;t=0?":"+O:"")}return e}toJSON(){return this.sections}static fromJSON(e){if(!Array.isArray(e)||e.length%2||e.some(e=>"number"!=typeof e))throw new RangeError("Invalid JSON representation of ChangeDesc");return new x(e)}static create(e){return new x(e)}}class X extends x{constructor(e,t){super(e),this.inserted=t}apply(e){if(this.length!=e.length)throw new RangeError("Applying change set to a document with the wrong length");return R(this,(t,i,O,n,r)=>e=e.replace(O,O+(i-t),r),!1),e}mapDesc(e,t=!1){return z(this,e,t,!0)}invert(e){let t=this.sections.slice(),i=[];for(let O=0,n=0;O=0){t[O]=s,t[O+1]=r;let o=O>>1;for(;i.length0&&Z(i,t,n.text),n.forward(e),s+=e}let a=e[r++];for(;s>1].toJSON()))}return e}static of(e,t,i){let O=[],n=[],r=0,s=null;function o(e=!1){if(!e&&!O.length)return;rs||e<0||s>t)throw new RangeError(`Invalid change range ${e} to ${s} (in doc of length ${t})`);let h=l?"string"==typeof l?c.of(l.split(i||w)):l:c.empty,d=h.length;if(e==s&&0==d)return;er&&k(O,e-r,-1),k(O,s-e,d),Z(n,O,h),r=s}}(e),o(!s),s}static empty(e){return new X(e?[e,-1]:[],[])}static fromJSON(e){if(!Array.isArray(e))throw new RangeError("Invalid JSON representation of ChangeSet");let t=[],i=[];for(let O=0;Ot&&"string"!=typeof e))throw new RangeError("Invalid JSON representation of ChangeSet");if(1==n.length)t.push(n[0],0);else{for(;i.length=0&&i<=0&&i==e[n+1]?e[n]+=t:n>=0&&0==t&&0==e[n]?e[n+1]+=i:O?(e[n]+=t,e[n+1]+=i):e.push(t,i)}function Z(e,t,i){if(0==i.length)return;let O=t.length-2>>1;if(O>1])),!(i||s==e.sections.length||e.sections[s+1]<0);)o=e.sections[s++],a=e.sections[s++];t(n,l,r,h,d),n=l,r=h}}}function z(e,t,i,O=!1){let n=[],r=O?[]:null,s=new Y(e),o=new Y(t);for(let e=-1;;){if(s.done&&o.len||o.done&&s.len)throw new Error("Mismatched change set lengths");if(-1==s.ins&&-1==o.ins){let e=Math.min(s.len,o.len);k(n,e,-1),s.forward(e),o.forward(e)}else if(o.ins>=0&&(s.ins<0||e==s.i||0==s.off&&(o.len=0&&e=0)){if(s.done&&o.done)return r?X.createSet(n,r):x.create(n);throw new Error("Mismatched change set lengths")}{let t=0,i=s.len;for(;i;)if(-1==o.ins){let e=Math.min(i,o.len);t+=e,i-=e,o.forward(e)}else{if(!(0==o.ins&&o.lent||s.ins>=0&&s.len>t)&&(e||O.length>i),r.forward2(t),s.forward(t)}}else k(O,0,s.ins,e),n&&Z(n,O,s.text),s.next()}}class Y{constructor(e){this.set=e,this.i=0,this.next()}next(){let{sections:e}=this.set;this.i>1;return t>=e.length?c.empty:e[t]}textBit(e){let{inserted:t}=this.set,i=this.i-2>>1;return i>=t.length&&!e?c.empty:t[i].slice(this.off,null==e?void 0:this.off+e)}forward(e){e==this.len?this.next():(this.len-=e,this.off+=e)}forward2(e){-1==this.ins?this.forward(e):e==this.ins?this.next():(this.ins-=e,this.off+=e)}}class V{constructor(e,t,i,O){this.from=e,this.to=t,this.flags=i,this.goalColumn=O}get anchor(){return 32&this.flags?this.to:this.from}get head(){return 32&this.flags?this.from:this.to}get empty(){return this.from==this.to}get assoc(){return 8&this.flags?-1:16&this.flags?1:0}get undirectional(){return(64&this.flags)>0}get bidiLevel(){let e=7&this.flags;return 7==e?null:e}map(e,t=-1){let i,O;return this.empty?i=O=e.mapPos(this.from,t):(i=e.mapPos(this.from,1),O=e.mapPos(this.to,-1)),i==this.from&&O==this.to?this:new V(i,O,this.flags,this.goalColumn)}extend(e,t=e,i=0){if(e<=this.anchor&&t>=this.anchor)return q.range(e,t,void 0,void 0,i);let O=Math.abs(e-this.anchor)>Math.abs(t-this.anchor)?e:t;return q.range(this.anchor,O,void 0,void 0,i)}eq(e,t=!1){return!(this.anchor!=e.anchor||this.head!=e.head||this.goalColumn!=e.goalColumn||t&&this.empty&&this.assoc!=e.assoc)}toJSON(){return{anchor:this.anchor,head:this.head}}static fromJSON(e){if(!e||"number"!=typeof e.anchor||"number"!=typeof e.head)throw new RangeError("Invalid JSON representation for SelectionRange");return q.range(e.anchor,e.head)}static create(e,t,i,O){return new V(e,t,i,O)}}class q{constructor(e,t){this.ranges=e,this.mainIndex=t}map(e,t=-1){return e.empty?this:q.create(this.ranges.map(i=>i.map(e,t)),this.mainIndex)}eq(e,t=!1){if(this.ranges.length!=e.ranges.length||this.mainIndex!=e.mainIndex)return!1;for(let i=0;ie.toJSON()),main:this.mainIndex}}static fromJSON(e){if(!e||!Array.isArray(e.ranges)||"number"!=typeof e.main||e.main>=e.ranges.length)throw new RangeError("Invalid JSON representation for EditorSelection");return new q(e.ranges.map(e=>V.fromJSON(e)),e.main)}static single(e,t=e){return new q([q.range(e,t)],0)}static create(e,t=0){if(0==e.length)throw new RangeError("A selection needs at least one range");for(let i=0,O=0;Oe.from-t.from),t=e.indexOf(i);for(let i=1;iO.head?q.range(s,r):q.range(r,s))}}return new q(e,t)}}function W(e,t){for(let i of e.ranges)if(i.to>t)throw new RangeError("Selection points outside of document")}let U=0;class j{constructor(e,t,i,O,n){this.combine=e,this.compareInput=t,this.compare=i,this.isStatic=O,this.id=U++,this.default=e([]),this.extensions="function"==typeof n?n(this):n}get reader(){return this}static define(e={}){return new j(e.combine||(e=>e),e.compareInput||((e,t)=>e===t),e.compare||(e.combine?(e,t)=>e===t:G),!!e.static,e.enables)}of(e){return new C([],this,0,e)}compute(e,t){if(this.isStatic)throw new Error("Can't compute a static facet");return new C(e,this,1,t)}computeN(e,t){if(this.isStatic)throw new Error("Can't compute a static facet");return new C(e,this,2,t)}from(e,t){return t||(t=e=>e),this.compute([e],i=>t(i.field(e)))}}function G(e,t){return e==t||e.length==t.length&&e.every((e,i)=>e===t[i])}class C{constructor(e,t,i,O){this.dependencies=e,this.facet=t,this.type=i,this.value=O,this.id=U++}dynamicSlot(e){var t;let i=this.value,O=this.facet.compareInput,n=this.id,r=e[n]>>1,s=2==this.type,o=!1,a=!1,l=[];for(let i of this.dependencies)"doc"==i?o=!0:"selection"==i?a=!0:1&(null!==(t=e[i.id])&&void 0!==t?t:1)||l.push(e[i.id]);return{create:e=>(e.values[r]=i(e),1),update(e,t){if(o&&t.docChanged||a&&(t.docChanged||t.selection)||E(e,l)){let t=i(e);if(s?!A(t,e.values[r],O):!O(t,e.values[r]))return e.values[r]=t,1}return 0},reconfigure:(e,t)=>{let o,a=t.config.address[n];if(null!=a){let n=ee(t,a);if(this.dependencies.every(i=>i instanceof j?t.facet(i)===e.facet(i):!(i instanceof L)||t.field(i,!1)==e.field(i,!1))||(s?A(o=i(e),n,O):O(o=i(e),n)))return e.values[r]=n,0}else o=i(e);return e.values[r]=o,1}}}get extension(){return this}}function A(e,t,i){if(e.length!=t.length)return!1;for(let O=0;Oe[t.id]),n=i.map(e=>e.type),r=O.filter(e=>!(1&e)),s=e[t.id]>>1;function o(e){let i=[];for(let t=0;te===t),e);return e.provide&&(t.provides=e.provide(t)),t}create(e){let t=e.facet(D).find(e=>e.field==this);return((null==t?void 0:t.create)||this.createF)(e)}slot(e){let t=e[this.id]>>1;return{create:e=>(e.values[t]=this.create(e),1),update:(e,i)=>{let O=e.values[t],n=this.updateF(O,i);return this.compareF(O,n)?0:(e.values[t]=n,1)},reconfigure:(e,i)=>{let O,n=e.facet(D),r=i.facet(D);return(O=n.find(e=>e.field==this))&&O!=r.find(e=>e.field==this)?(e.values[t]=O.create(e),1):null!=i.config.address[this.id]?(e.values[t]=i.field(this),0):(e.values[t]=this.create(e),1)}}}init(e){return[this,D.of({field:this,create:e})]}get extension(){return this}}function I(e){return t=>new B(t,e)}const N={highest:I(0),high:I(1),default:I(2),low:I(3),lowest:I(4)};class B{constructor(e,t){this.inner=e,this.prec=t}get extension(){return this}}class F{of(e){return new H(this,e)}reconfigure(e){return F.reconfigure.of({compartment:this,extension:e})}get(e){return e.config.compartments.get(this)}}class H{constructor(e,t){this.compartment=e,this.inner=t}get extension(){return this}}class K{constructor(e,t,i,O,n,r){for(this.base=e,this.compartments=t,this.dynamicSlots=i,this.address=O,this.staticValues=n,this.facets=r,this.statusTemplate=[];this.statusTemplate.length>1]}static resolve(e,t,i){let O=[],n=Object.create(null),r=new Map;for(let i of function(e,t,i){let O=[[],[],[],[],[]],n=new Map;return function e(r,s){let o=n.get(r);if(null!=o){if(o<=s)return;let e=O[o].indexOf(r);e>-1&&O[o].splice(e,1),r instanceof H&&i.delete(r.compartment)}if(n.set(r,s),Array.isArray(r))for(let t of r)e(t,s);else if(r instanceof H){if(i.has(r.compartment))throw new RangeError("Duplicate use of compartment in extensions");let O=t.get(r.compartment)||r.inner;i.set(r.compartment,O),e(O,s)}else if(r instanceof B)e(r.inner,r.prec);else if(r instanceof L)O[s].push(r),r.provides&&e(r.provides,s);else if(r instanceof C)O[s].push(r),r.facet.extensions&&e(r.facet.extensions,2);else{let t=r.extension;if(!t)throw new Error(`Unrecognized extension value in extension set (${r}).`);if(t==r)throw new Error(`Unrecognized extension value in extension set (${r}). This sometimes happens because multiple instances of @codemirror/state are loaded, breaking instanceof checks.`);e(t,s)}}(e,2),O.reduce((e,t)=>e.concat(t))}(e,t,r))i instanceof L?O.push(i):(n[i.facet.id]||(n[i.facet.id]=[])).push(i);let s=Object.create(null),o=[],a=[];for(let e of O)s[e.id]=a.length<<1,a.push(t=>e.slot(t));let l=null==i?void 0:i.config.facets;for(let e in n){let t=n[e],O=t[0].facet,r=l&&l[e]||[];if(t.every(e=>0==e.type))if(s[O.id]=o.length<<1|1,G(r,t))o.push(i.facet(O));else{let e=O.combine(t.map(e=>e.value));o.push(i&&O.compare(e,i.facet(O))?i.facet(O):e)}else{for(let e of t)0==e.type?(s[e.id]=o.length<<1|1,o.push(e.value)):(s[e.id]=a.length<<1,a.push(t=>e.dynamicSlot(t)));s[O.id]=a.length<<1,a.push(e=>M(e,O,t))}}let h=a.map(e=>e(s));return new K(e,r,h,s,o,n)}}function J(e,t){if(1&t)return 2;let i=t>>1,O=e.status[i];if(4==O)throw new Error("Cyclic dependency between fields and/or facets");if(2&O)return O;e.status[i]=4;let n=e.computeSlot(e,e.config.dynamicSlots[i]);return e.status[i]=2|n}function ee(e,t){return 1&t?e.config.staticValues[t>>1]:e.values[t>>1]}const te=j.define(),ie=j.define({combine:e=>e.some(e=>e),static:!0}),Oe=j.define({combine:e=>e.length?e[0]:void 0,static:!0}),ne=j.define(),re=j.define(),se=j.define(),oe=j.define({combine:e=>!!e.length&&e[0]});class ae{constructor(e,t){this.type=e,this.value=t}static define(){return new le}}class le{of(e){return new ae(this,e)}}class he{constructor(e){this.map=e}of(e){return new ce(this,e)}}class ce{constructor(e,t){this.type=e,this.value=t}map(e){let t=this.type.map(this.value,e);return void 0===t?void 0:t==this.value?this:new ce(this.type,t)}is(e){return this.type==e}static define(e={}){return new he(e.map||(e=>e))}static mapEffects(e,t){if(!e.length)return e;let i=[];for(let O of e){let e=O.map(t);e&&i.push(e)}return i}}ce.reconfigure=ce.define(),ce.appendConfig=ce.define();class de{constructor(e,t,i,O,n,r){this.startState=e,this.changes=t,this.selection=i,this.effects=O,this.annotations=n,this.scrollIntoView=r,this._doc=null,this._state=null,i&&W(i,t.newLength),n.some(e=>e.type==de.time)||(this.annotations=n.concat(de.time.of(Date.now())))}static create(e,t,i,O,n,r){return new de(e,t,i,O,n,r)}get newDoc(){return this._doc||(this._doc=this.changes.apply(this.startState.doc))}get newSelection(){return this.selection||this.startState.selection.map(this.changes)}get state(){return this._state||this.startState.applyTransaction(this),this._state}annotation(e){for(let t of this.annotations)if(t.type==e)return t.value}get docChanged(){return!this.changes.empty}get reconfigured(){return this.startState.config!=this.state.config}isUserEvent(e){let t=this.annotation(de.userEvent);return!(!t||!(t==e||t.length>e.length&&t.slice(0,e.length)==e&&"."==t[e.length]))}}function ue(e,t){let i=[];for(let O=0,n=0;;){let r,s;if(O=e[O]))r=e[O++],s=e[O++];else{if(!(n=0;n--){let r=i[n](e);r&&Object.keys(r).length&&(O=$e(O,fe(t,r,e.changes.newLength),!0))}return O==e?e:de.create(t,e.changes,e.selection,O.effects,O.annotations,O.scrollIntoView)}(i?function(e){let t=e.startState,i=!0;for(let O of t.facet(ne)){let t=O(e);if(!1===t){i=!1;break}Array.isArray(t)&&(i=!0===i?t:ue(i,t))}if(!0!==i){let O,n;if(!1===i)n=e.changes.invertedDesc,O=X.empty(t.doc.length);else{let t=e.changes.filter(i);O=t.changes,n=t.filtered.mapDesc(t.changes).invertedDesc}e=de.create(t,O,e.selection&&e.selection.map(n),ce.mapEffects(e.effects,n),e.annotations,e.scrollIntoView)}let O=t.facet(re);for(let i=O.length-1;i>=0;i--){let n=O[i](e);e=n instanceof de?n:Array.isArray(n)&&1==n.length&&n[0]instanceof de?n[0]:pe(t,me(n),!1)}return e}(n):n)}de.time=ae.define(),de.userEvent=ae.define(),de.addToHistory=ae.define(),de.remote=ae.define();const Qe=[];function me(e){return null==e?Qe:Array.isArray(e)?e:[e]}var ge=function(e){return e[e.Word=0]="Word",e[e.Space=1]="Space",e[e.Other=2]="Other",e}(ge||(ge={}));const Se=/[\u00df\u0587\u0590-\u05f4\u0600-\u06ff\u3040-\u309f\u30a0-\u30ff\u3400-\u4db5\u4e00-\u9fcc\uac00-\ud7af]/;let Pe;try{Pe=new RegExp("[\\p{Alphabetic}\\p{Number}_]","u")}catch(e){}class Te{constructor(e,t,i,O,n,r){this.config=e,this.doc=t,this.selection=i,this.values=O,this.status=e.statusTemplate.slice(),this.computeSlot=n,r&&(r._state=this);for(let e=0;en.set(t,e)),i=null),n.set(t.value.compartment,t.value.extension)):t.is(ce.reconfigure)?(i=null,O=t.value):t.is(ce.appendConfig)&&(i=null,O=me(O).concat(t.value));i?t=e.startState.values.slice():(i=K.resolve(O,n,this),t=new Te(i,this.doc,this.selection,i.dynamicSlots.map(()=>null),(e,t)=>t.reconfigure(e,this),null).values);let r=e.startState.facet(ie)?e.newSelection:e.newSelection.asSingle();new Te(i,e.newDoc,r,t,(t,i)=>i.update(t,e),e)}replaceSelection(e){return"string"==typeof e&&(e=this.toText(e)),this.changeByRange(t=>({changes:{from:t.from,to:t.to,insert:e},range:q.cursor(t.from+e.length)}))}changeByRange(e){let t=this.selection,i=e(t.ranges[0]),O=this.changes(i.changes),n=[i.range],r=me(i.effects);for(let i=1;in.spec.fromJSON(r,e)))}return Te.create({doc:e.doc,selection:q.fromJSON(e.selection),extensions:t.extensions?O.concat([t.extensions]):O})}static create(e={}){let t=K.resolve(e.extensions||[],new Map),i=e.doc instanceof c?e.doc:c.of((e.doc||"").split(t.staticFacet(Te.lineSeparator)||w)),O=e.selection?e.selection instanceof q?e.selection:q.single(e.selection.anchor,e.selection.head):q.single(0);return W(O,i.length),t.staticFacet(ie)||(O=O.asSingle()),new Te(t,i,O,t.dynamicSlots.map(()=>null),(e,t)=>t.create(e),null)}get tabSize(){return this.facet(Te.tabSize)}get lineBreak(){return this.facet(Te.lineSeparator)||"\n"}get readOnly(){return this.facet(oe)}phrase(e,...t){for(let t of this.facet(Te.phrases))if(Object.prototype.hasOwnProperty.call(t,e)){e=t[e];break}return t.length&&(e=e.replace(/\$(\$|\d*)/g,(e,i)=>{if("$"==i)return"$";let O=+(i||1);return!O||O>t.length?e:t[O-1]})),e}languageDataAt(e,t,i=-1){let O=[];for(let n of this.facet(te))for(let r of n(this,t,i))Object.prototype.hasOwnProperty.call(r,e)&&O.push(r[e]);return O}charCategorizer(e){let t=this.languageDataAt("wordChars",e);return i=t.length?t[0]:"",e=>{if(!/\S/.test(e))return ge.Space;if(function(e){if(Pe)return Pe.test(e);for(let t=0;t"€"&&(i.toUpperCase()!=i.toLowerCase()||Se.test(i)))return!0}return!1}(e))return ge.Word;for(let t=0;t-1)return ge.Word;return ge.Other};var i}wordAt(e){let{text:t,from:i,length:O}=this.doc.lineAt(e),n=this.charCategorizer(e),r=e-i,s=e-i;for(;r>0;){let e=P(t,r,!1);if(n(t.slice(e,r))!=ge.Word)break;r=e}for(;se.length?e[0]:4}),Te.lineSeparator=Oe,Te.readOnly=oe,Te.phrases=j.define({compare(e,t){let i=Object.keys(e),O=Object.keys(t);return i.length==O.length&&i.every(i=>e[i]==t[i])}}),Te.languageData=te,Te.changeFilter=ne,Te.transactionFilter=re,Te.transactionExtender=se,F.reconfigure=ce.define();class ve{eq(e){return this==e}range(e,t=e){return be.create(e,t,this)}}function we(e,t){return e==t||e.constructor==t.constructor&&e.eq(t)}ve.prototype.startSide=ve.prototype.endSide=0,ve.prototype.point=!1,ve.prototype.mapMode=b.TrackDel;let be=class e{constructor(e,t,i){this.from=e,this.to=t,this.value=i}static create(t,i,O){return new e(t,i,O)}};function xe(e,t){return e.from-t.from||e.value.startSide-t.value.startSide}class Xe{constructor(e,t,i,O){this.from=e,this.to=t,this.value=i,this.maxPoint=O}get length(){return this.to[this.to.length-1]}findIndex(e,t,i,O=0){let n=i?this.to:this.from;for(let r=O,s=n.length;;){if(r==s)return r;let O=r+s>>1,o=n[O]-e||(i?this.value[O].endSide:this.value[O].startSide)-t;if(O==r)return o>=0?r:s;o>=0?s=O:r=O+1}}between(e,t,i,O){for(let n=this.findIndex(t,-1e9,!0),r=this.findIndex(i,1e9,!1,n);nl||a==l&&h.startSide>0&&h.endSide<=0)continue;(l-a||h.endSide-h.startSide)<0||(r<0&&(r=a),h.point&&(s=Math.max(s,l-a)),i.push(h),O.push(a-r),n.push(l-r))}return{mapped:i.length?new Xe(O,n,i,s):null,pos:r}}}class ke{constructor(e,t,i,O){this.chunkPos=e,this.chunk=t,this.nextLayer=i,this.maxPoint=O}static create(e,t,i,O){return new ke(e,t,i,O)}get length(){let e=this.chunk.length-1;return e<0?0:Math.max(this.chunkEnd(e),this.nextLayer.length)}get size(){if(this.isEmpty)return 0;let e=this.nextLayer.size;for(let t of this.chunk)e+=t.value.length;return e}chunkEnd(e){return this.chunkPos[e]+this.chunk[e].length}update(e){let{add:t=[],sort:i=!1,filterFrom:O=0,filterTo:n=this.length}=e,r=e.filter;if(0==t.length&&!r)return this;if(i&&(t=t.slice().sort(xe)),this.isEmpty)return t.length?ke.of(t):this;let s=new ze(this,null,-1).goto(0),o=0,a=[],l=new Ze;for(;s.value||o=0){let e=t[o++];l.addInner(e.from,e.to,e.value)||a.push(e)}else 1==s.rangeIndex&&s.chunkIndexthis.chunkEnd(s.chunkIndex)||ns.to||n=n&&e<=n+r.length&&!1===r.between(n,e-n,t-n,i))return}this.nextLayer.between(e,t,i)}}iter(e=0){return _e.from([this]).goto(e)}get isEmpty(){return this.nextLayer==this}static iter(e,t=0){return _e.from(e).goto(t)}static compare(e,t,i,O,n=-1){let r=e.filter(e=>e.maxPoint>0||!e.isEmpty&&e.maxPoint>=n),s=t.filter(e=>e.maxPoint>0||!e.isEmpty&&e.maxPoint>=n),o=Re(r,s,i),a=new Ve(r,o,n),l=new Ve(s,o,n);i.iterGaps((e,t,i)=>qe(a,e,l,t,i,O)),i.empty&&0==i.length&&qe(a,0,l,0,0,O)}static eq(e,t,i=0,O){null==O&&(O=999999999);let n=e.filter(e=>!e.isEmpty&&t.indexOf(e)<0),r=t.filter(t=>!t.isEmpty&&e.indexOf(t)<0);if(n.length!=r.length)return!1;if(!n.length)return!0;let s=Re(n,r),o=new Ve(n,s,0).goto(i),a=new Ve(r,s,0).goto(i);for(;;){if(o.to!=a.to||!We(o.active,a.active)||o.point&&(!a.point||!we(o.point,a.point)))return!1;if(o.to>O)return!0;o.next(),a.next()}}static spans(e,t,i,O,n=-1){let r=new Ve(e,null,n).goto(t),s=t,o=r.openStart;for(;;){let e=Math.min(r.to,i);if(r.point){let i=r.activeForPoint(r.to),n=r.pointFroms&&(O.span(s,e,r.active,o),o=r.openEnd(e));if(r.to>i)return o+(r.point&&r.to>i?1:0);s=r.to,r.next()}}static of(e,t=!1){let i=new Ze;for(let O of e instanceof be?[e]:t?function(e){if(e.length>1)for(let t=e[0],i=1;i0)return e.slice().sort(xe);t=O}return e}(e):e)i.add(O.from,O.to,O.value);return i.finish()}static join(e){if(!e.length)return ke.empty;let t=e[e.length-1];for(let i=e.length-2;i>=0;i--)for(let O=e[i];O!=ke.empty;O=O.nextLayer)t=new ke(O.chunkPos,O.chunk,t,Math.max(O.maxPoint,t.maxPoint));return t}}ke.empty=new ke([],[],null,-1),ke.empty.nextLayer=ke.empty;class Ze{finishChunk(e){this.chunks.push(new Xe(this.from,this.to,this.value,this.maxPoint)),this.chunkPos.push(this.chunkStart),this.chunkStart=-1,this.setMaxPoint=Math.max(this.setMaxPoint,this.maxPoint),this.maxPoint=-1,e&&(this.from=[],this.to=[],this.value=[])}constructor(){this.chunks=[],this.chunkPos=[],this.chunkStart=-1,this.last=null,this.lastFrom=-1e9,this.lastTo=-1e9,this.from=[],this.to=[],this.value=[],this.maxPoint=-1,this.setMaxPoint=-1,this.nextLayer=null}add(e,t,i){this.addInner(e,t,i)||(this.nextLayer||(this.nextLayer=new Ze)).add(e,t,i)}addInner(e,t,i){let O=e-this.lastTo||i.startSide-this.last.endSide;if(O<=0&&(e-this.lastFrom||i.startSide-this.last.startSide)<0)throw new Error("Ranges must be added sorted by `from` position and `startSide`");return!(O<0||(250==this.from.length&&this.finishChunk(!0),this.chunkStart<0&&(this.chunkStart=e),this.from.push(e-this.chunkStart),this.to.push(t-this.chunkStart),this.last=i,this.lastFrom=e,this.lastTo=t,this.value.push(i),i.point&&(this.maxPoint=Math.max(this.maxPoint,t-e)),0))}addChunk(e,t){if((e-this.lastTo||t.value[0].startSide-this.last.endSide)<0)return!1;this.from.length&&this.finishChunk(!0),this.setMaxPoint=Math.max(this.setMaxPoint,t.maxPoint),this.chunks.push(t),this.chunkPos.push(e);let i=t.value.length-1;return this.last=t.value[i],this.lastFrom=t.from[i]+e,this.lastTo=t.to[i]+e,!0}finish(){return this.finishInner(ke.empty)}finishInner(e){if(this.from.length&&this.finishChunk(!1),0==this.chunks.length)return e;let t=ke.create(this.chunkPos,this.chunks,this.nextLayer?this.nextLayer.finishInner(e):e,this.setMaxPoint);return this.from=null,t}}function Re(e,t,i){let O=new Map;for(let t of e)for(let e=0;e=this.minPoint)break}}}setRangeIndex(e){if(e==this.layer.chunk[this.chunkIndex].value.length){if(this.chunkIndex++,this.skip)for(;this.chunkIndex=i&&O.push(new ze(r,t,i,n));return 1==O.length?O[0]:new _e(O)}get startSide(){return this.value?this.value.startSide:0}goto(e,t=-1e9){for(let i of this.heap)i.goto(e,t);for(let e=this.heap.length>>1;e>=0;e--)Ye(this.heap,e);return this.next(),this}forward(e,t){for(let i of this.heap)i.forward(e,t);for(let e=this.heap.length>>1;e>=0;e--)Ye(this.heap,e);(this.to-e||this.value.endSide-t)<0&&this.next()}next(){if(0==this.heap.length)this.from=this.to=1e9,this.value=null,this.rank=-1;else{let e=this.heap[0];this.from=e.from,this.to=e.to,this.value=e.value,this.rank=e.rank,e.value&&e.next(),Ye(this.heap,0)}}}function Ye(e,t){for(let i=e[t];;){let O=1+(t<<1);if(O>=e.length)break;let n=e[O];if(O+1=0&&(n=e[O+1],O++),i.compare(n)<0)break;e[O]=i,e[t]=n,t=O}}class Ve{constructor(e,t,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=_e.from(e,t,i)}goto(e,t=-1e9){return this.cursor.goto(e,t),this.active.length=this.activeTo.length=this.activeRank.length=0,this.minActive=-1,this.to=e,this.endSide=t,this.openStart=-1,this.next(),this}forward(e,t){for(;this.minActive>-1&&(this.activeTo[this.minActive]-e||this.active[this.minActive].endSide-t)<0;)this.removeActive(this.minActive);this.cursor.forward(e,t)}removeActive(e){Ue(this.active,e),Ue(this.activeTo,e),Ue(this.activeRank,e),this.minActive=Ge(this.active,this.activeTo)}addActive(e){let t=0,{value:i,to:O,rank:n}=this.cursor;for(;t0;)t++;je(this.active,t,i),je(this.activeTo,t,O),je(this.activeRank,t,n),e&&je(e,t,this.cursor.from),this.minActive=Ge(this.active,this.activeTo)}next(){let e=this.to,t=this.point;this.point=null;let i=this.openStart<0?[]:null;for(;;){let O=this.minActive;if(O>-1&&(this.activeTo[O]-this.cursor.from||this.active[O].endSide-this.cursor.startSide)<0){if(this.activeTo[O]>e){this.to=this.activeTo[O],this.endSide=this.active[O].endSide;break}this.removeActive(O),i&&Ue(i,O)}else{if(!this.cursor.value){this.to=this.endSide=1e9;break}if(this.cursor.from>e){this.to=this.cursor.from,this.endSide=this.cursor.startSide;break}{let e=this.cursor.value;if(e.point){if(!(t&&this.cursor.to==this.to&&this.cursor.from=0&&i[t]=0&&!(this.activeRank[i]e||this.activeTo[i]==e&&this.active[i].endSide>=this.point.endSide)&&t.push(this.active[i]);return t.reverse()}openEnd(e){let t=0;for(let i=this.activeTo.length-1;i>=0&&this.activeTo[i]>e;i--)t++;return t}}function qe(e,t,i,O,n,r){e.goto(t),i.goto(O);let s=O+n,o=O,a=O-t,l=!!r.boundChange;for(let t=!1;;){let O=e.to+a-i.to,n=O||e.endSide-i.endSide,h=n<0?e.to+a:i.to,c=Math.min(h,s);if(e.point||i.point?(e.point&&i.point&&we(e.point,i.point)&&We(e.activeForPoint(e.to),i.activeForPoint(i.to))||r.comparePoint(o,c,e.point,i.point),t=!1):(t&&r.boundChange(o),c>o&&!We(e.active,i.active)&&r.compareRange(o,c,e.active,i.active),l&&cs)break;o=h,n<=0&&e.next(),n>=0&&i.next()}}function We(e,t){if(e.length!=t.length)return!1;for(let i=0;i=t;i--)e[i+1]=e[i];e[t]=i}function Ge(e,t){let i=-1,O=1e9;for(let n=0;n=t)return O;if(O==e.length)break;n+=9==e.charCodeAt(O)?i-n%i:1,O=P(e,O)}return!0===O?-1:e.length}const Ee="undefined"==typeof Symbol?"__ͼ":Symbol.for("ͼ"),Me="undefined"==typeof Symbol?"__styleSet"+Math.floor(1e8*Math.random()):Symbol("styleSet"),De="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:{};class Le{constructor(e,t){this.rules=[];let{finish:i}=t||{};function O(e){return/^@/.test(e)?[e]:e.split(/,\s*/)}function n(e,t,r,s){let o=[],a=/^@(\w+)\b/.exec(e[0]),l=a&&"keyframes"==a[1];if(a&&null==t)return r.push(e[0]+";");for(let i in t){let s=t[i];if(/&/.test(i))n(i.split(/,\s*/).map(t=>e.map(e=>t.replace(/&/,e))).reduce((e,t)=>e.concat(t)),s,r);else if(s&&"object"==typeof s){if(!a)throw new RangeError("The value of a property ("+i+") should be a primitive value.");n(O(i),s,o,l)}else null!=s&&o.push(i.replace(/_.*/,"").replace(/[A-Z]/g,e=>"-"+e.toLowerCase())+": "+s+";")}(o.length||l)&&r.push((!i||a||s?e:e.map(i)).join(", ")+" {"+o.join(" ")+"}")}for(let t in e)n(O(t),e[t],this.rules)}getRules(){return this.rules.join("\n")}static newName(){let e=De[Ee]||1;return De[Ee]=e+1,"ͼ"+e.toString(36)}static mount(e,t,i){let O=e[Me],n=i&&i.nonce;O?n&&O.setNonce(n):O=new Ne(e,n),O.mount(Array.isArray(t)?t:[t],e)}}let Ie=new Map;class Ne{constructor(e,t){let i=e.ownerDocument||e,O=i.defaultView;if(!e.head&&e.adoptedStyleSheets&&O.CSSStyleSheet){let t=Ie.get(i);if(t)return e[Me]=t;this.sheet=new O.CSSStyleSheet,Ie.set(i,this)}else this.styleTag=i.createElement("style"),t&&this.styleTag.setAttribute("nonce",t);this.modules=[],e[Me]=this}mount(e,t){let i=this.sheet,O=0,n=0;for(let t=0;t-1&&(this.modules.splice(s,1),n--,s=-1),-1==s){if(this.modules.splice(n++,0,r),i)for(let e=0;e",191:"?",192:"~",219:"{",220:"|",221:"}",222:'"'},He="undefined"!=typeof navigator&&/Mac/.test(navigator.platform),Ke="undefined"!=typeof navigator&&/MSIE \d|Trident\/(?:[7-9]|\d{2,})\..*rv:(\d+)/.exec(navigator.userAgent),Je=0;Je<10;Je++)Be[48+Je]=Be[96+Je]=String(Je);for(Je=1;Je<=24;Je++)Be[Je+111]="F"+Je;for(Je=65;Je<=90;Je++)Be[Je]=String.fromCharCode(Je+32),Fe[Je]=String.fromCharCode(Je);for(var et in Be)Fe.hasOwnProperty(et)||(Fe[et]=Be[et]);function tt(){var e=arguments[0];"string"==typeof e&&(e=document.createElement(e));var t=1,i=arguments[1];if(i&&"object"==typeof i&&null==i.nodeType&&!Array.isArray(i)){for(var O in i)if(Object.prototype.hasOwnProperty.call(i,O)){var n=i[O];"string"==typeof n?e.setAttribute(O,n):null!=n&&(e[O]=n)}t++}for(;t2);var $t={mac:ut||/Mac/.test(Ot.platform),windows:/Win/.test(Ot.platform),linux:/Linux|X11/.test(Ot.platform),ie:at,ie_version:st?nt.documentMode||6:ot?+ot[1]:rt?+rt[1]:0,gecko:lt,gecko_version:lt?+(/Firefox\/(\d+)/.exec(Ot.userAgent)||[0,0])[1]:0,chrome:!!ht,chrome_version:ht?+ht[1]:0,ios:ut,android:/Android\b/.test(Ot.userAgent),webkit:ct,webkit_version:ct?+(/\bAppleWebKit\/(\d+)/.exec(Ot.userAgent)||[0,0])[1]:0,safari:dt,safari_version:dt?+(/\bVersion\/(\d+(\.\d+)?)/.exec(Ot.userAgent)||[0,0])[1]:0,tabSize:null!=nt.documentElement.style.tabSize?"tab-size":"-moz-tab-size"};function ft(e,t){for(let i in e)"class"==i&&t.class?t.class+=" "+e.class:"style"==i&&t.style?t.style+=";"+e.style:t[i]=e[i];return t}const pt=Object.create(null);function Qt(e,t,i){if(e==t)return!0;e||(e=pt),t||(t=pt);let O=Object.keys(e),n=Object.keys(t);if(O.length-0!=n.length-0)return!1;for(let r of O)if(r!=i&&(-1==n.indexOf(r)||e[r]!==t[r]))return!1;return!0}function mt(e,t,i){let O=!1;if(t)for(let n in t)i&&n in i||(O=!0,"style"==n?e.style.cssText="":e.removeAttribute(n));if(i)for(let n in i)t&&t[n]==i[n]||(O=!0,"style"==n?e.style.cssText=i[n]:e.setAttribute(n,i[n]));return O}function gt(e){let t=Object.create(null);for(let i=0;i0?3e8:-4e8:t>0?1e8:-1e8,new wt(e,t,t,i,e.widget||null,!1)}static replace(e){let t,i,O=!!e.block;if(e.isBlockGap)t=-5e8,i=4e8;else{let{start:n,end:r}=bt(e,O);t=(n?O?-3e8:-1:5e8)-1,i=1+(r?O?2e8:1:-6e8)}return new wt(e,t,i,O,e.widget||null,!0)}static line(e){return new vt(e)}static set(e,t=!1){return ke.of(e,t)}hasHeight(){return!!this.widget&&this.widget.estimatedHeight>-1}}Tt.none=ke.empty;class yt extends Tt{constructor(e){let{start:t,end:i}=bt(e);super(t?-1:5e8,i?1:-6e8,null,e),this.tagName=e.tagName||"span",this.attrs=e.class&&e.attributes?ft(e.attributes,{class:e.class}):e.class?{class:e.class}:e.attributes||pt}eq(e){return this==e||e instanceof yt&&this.tagName==e.tagName&&Qt(this.attrs,e.attrs)}range(e,t=e){if(e>=t)throw new RangeError("Mark decorations may not be empty");return super.range(e,t)}}yt.prototype.point=!1;class vt extends Tt{constructor(e){super(-2e8,-2e8,null,e)}eq(e){return e instanceof vt&&this.spec.class==e.spec.class&&Qt(this.spec.attributes,e.spec.attributes)}range(e,t=e){if(t!=e)throw new RangeError("Line decoration ranges must be zero-length");return super.range(e,t)}}vt.prototype.mapMode=b.TrackBefore,vt.prototype.point=!0;class wt extends Tt{constructor(e,t,i,O,n,r){super(t,i,n,e),this.block=O,this.isReplace=r,this.mapMode=O?t<=0?b.TrackBefore:b.TrackAfter:b.TrackDel}get type(){return this.startSide!=this.endSide?Pt.WidgetRange:this.startSide<=0?Pt.WidgetBefore:Pt.WidgetAfter}get heightRelevant(){return this.block||!!this.widget&&(this.widget.estimatedHeight>=5||this.widget.lineBreaks>0)}eq(e){return e instanceof wt&&((t=this.widget)==(i=e.widget)||!!(t&&i&&t.compare(i)))&&this.block==e.block&&this.startSide==e.startSide&&this.endSide==e.endSide;var t,i}range(e,t=e){if(this.isReplace&&(e>t||e==t&&this.startSide>0&&this.endSide<=0))throw new RangeError("Invalid range for replacement decoration");if(!this.isReplace&&t!=e)throw new RangeError("Widget decorations can only have zero-length ranges");return super.range(e,t)}}function bt(e,t=!1){let{inclusiveStart:i,inclusiveEnd:O}=e;return null==i&&(i=e.inclusive),null==O&&(O=e.inclusive),{start:null!=i?i:t,end:null!=O?O:t}}function xt(e,t,i,O=0){let n=i.length-1;n>=0&&i[n]+O>=e?i[n]=Math.max(i[n],t):i.push(e,t)}wt.prototype.point=!0;class Xt extends ve{constructor(e,t,i){super(),this.tagName=e,this.attributes=t,this.rank=i}eq(e){return e==this||e instanceof Xt&&this.tagName==e.tagName&&Qt(this.attributes,e.attributes)}static create(e){return new Xt(e.tagName,e.attributes||pt,null==e.rank?50:Math.max(0,Math.min(e.rank,100)))}static set(e,t=!1){return ke.of(e,t)}}function kt(e){let t;return t=11==e.nodeType?e.getSelection?e:e.ownerDocument:e,t.getSelection()}function Zt(e,t){return!!t&&(e==t||e.contains(1!=t.nodeType?t.parentNode:t))}function Rt(e,t){if(!t.anchorNode)return!1;try{return Zt(e,t.anchorNode)}catch(e){return!1}}function zt(e){return 3==e.nodeType?Lt(e,0,e.nodeValue.length).getClientRects():1==e.nodeType?e.getClientRects():[]}function _t(e,t,i,O){return!!i&&(qt(e,t,i,O,-1)||qt(e,t,i,O,1))}function Yt(e){for(var t=0;;t++)if(!(e=e.previousSibling))return t}function Vt(e){return 1==e.nodeType&&/^(DIV|P|LI|UL|OL|BLOCKQUOTE|DD|DT|H\d|SECTION|PRE)$/.test(e.nodeName)}function qt(e,t,i,O,n){for(;;){if(e==i&&t==O)return!0;if(t==(n<0?0:Wt(e))){if("DIV"==e.nodeName)return!1;let i=e.parentNode;if(!i||1!=i.nodeType)return!1;t=Yt(e)+(n<0?0:1),e=i}else{if(1!=e.nodeType)return!1;if(1==(e=e.childNodes[t+(n<0?-1:0)]).nodeType&&"false"==e.contentEditable)return!1;t=n<0?Wt(e):0}}}function Wt(e){return 3==e.nodeType?e.nodeValue.length:e.childNodes.length}function Ut(e,t){let{left:i,right:O}=e;if(i==O)return e;let n=t?i:O;return{left:n,right:n,top:e.top,bottom:e.bottom}}function jt(e){let t=e.visualViewport;return t?{left:0,right:t.width,top:0,bottom:t.height}:{left:0,right:e.innerWidth,top:0,bottom:e.innerHeight}}function Gt(e,t){let i=t.width/e.offsetWidth,O=t.height/e.offsetHeight;return(i>.995&&i<1.005||!isFinite(i)||Math.abs(t.width-e.offsetWidth)<1)&&(i=1),(O>.995&&O<1.005||!isFinite(O)||Math.abs(t.height-e.offsetHeight)<1)&&(O=1),{scaleX:i,scaleY:O}}function Ct(e,t=!0){let i=e.ownerDocument,O=null,n=null;for(let r=e.parentNode;r&&r!=i.body&&(t&&!O||!n);)if(1==r.nodeType)!n&&r.scrollHeight>r.clientHeight&&(n=r),t&&!O&&r.scrollWidth>r.clientWidth&&(O=r),r=r.assignedSlot||r.parentNode;else{if(11!=r.nodeType)break;r=r.host}return{x:O,y:n}}Xt.prototype.startSide=Xt.prototype.endSide=-1;class At{constructor(){this.anchorNode=null,this.anchorOffset=0,this.focusNode=null,this.focusOffset=0}eq(e){return this.anchorNode==e.anchorNode&&this.anchorOffset==e.anchorOffset&&this.focusNode==e.focusNode&&this.focusOffset==e.focusOffset}setRange(e){let{anchorNode:t,focusNode:i}=e;this.set(t,Math.min(e.anchorOffset,t?Wt(t):0),i,Math.min(e.focusOffset,i?Wt(i):0))}set(e,t,i,O){this.anchorNode=e,this.anchorOffset=t,this.focusNode=i,this.focusOffset=O}}let Et,Mt=null;function Dt(e){if(e.setActive)return e.setActive();if(Mt)return e.focus(Mt);let t=[];for(let i=e;i&&(t.push(i,i.scrollTop,i.scrollLeft),i!=i.ownerDocument);i=i.parentNode);if(e.focus(null==Mt?{get preventScroll(){return Mt={preventScroll:!0},!0}}:void 0),!Mt){Mt=!1;for(let e=0;eMath.max(0,e.document.documentElement.scrollHeight-e.innerHeight-4):e.scrollTop>Math.max(1,e.scrollHeight-e.clientHeight-4)}function Bt(e,t){for(let i=e,O=t;;){if(3==i.nodeType&&O>0)return{node:i,offset:O};if(1==i.nodeType&&O>0){if("false"==i.contentEditable)return null;i=i.childNodes[O-1],O=Wt(i)}else{if(!i.parentNode||Vt(i))return null;O=Yt(i),i=i.parentNode}}}function Ft(e,t){for(let i=e,O=t;;){if(3==i.nodeType&&O=26&&(Mt=!1);class Ht{constructor(e,t,i=!0){this.node=e,this.offset=t,this.precise=i}static before(e,t){return new Ht(e.parentNode,Yt(e),t)}static after(e,t){return new Ht(e.parentNode,Yt(e)+1,t)}}var Kt=function(e){return e[e.LTR=0]="LTR",e[e.RTL=1]="RTL",e}(Kt||(Kt={}));const Jt=Kt.LTR,ei=Kt.RTL;function ti(e){let t=[];for(let i=0;i=t){if(s.level==i)return r;(n<0||(0!=O?O<0?s.fromt:e[n].level>s.level))&&(n=r)}}if(n<0)throw new RangeError("Index out of range");return n}}function li(e,t){if(e.length!=t.length)return!1;for(let i=0;ia&&s.push(new ai(a,$.from,d)),di(e,$.direction==Jt!=!(d%2)?O+1:O,n,$.inner,$.from,$.to,s),a=$.to),u=$.to}else{if(u==i||(t?hi[u]!=o:hi[u]==o))break;u++}c?ci(e,a,u,O+1,n,c,s):at;){let i=!0,h=!1;if(!l||a>r[l-1].to){let e=hi[a-1];e!=o&&(i=!1,h=16==e)}let c=i||1!=o?null:[],d=i?O:O+1,u=a;e:for(;;)if(l&&u==r[l-1].to){if(h)break e;let $=r[--l];if(!i)for(let e=$.from,i=l;;){if(e==t)break e;if(!i||r[i-1].to!=e){if(hi[e-1]==o)break e;break}e=r[--i].from}c?c.push($):($.to=0;e-=3)if(ri[e+1]==-i){let t=ri[e+2],i=2&t?n:4&t?1&t?r:n:0;i&&(hi[s]=hi[ri[e]]=i),o=e;break}}else{if(189==ri.length)break;ri[o++]=s,ri[o++]=t,ri[o++]=a}else if(2==(O=hi[s])||1==O){let e=O==n;a=e?0:1;for(let t=o-3;t>=0;t-=3){let i=ri[t+2];if(2&i)break;if(e)ri[t+2]|=2;else{if(4&i)break;ri[t+2]|=4}}}}}(e,n,r,O,o),function(e,t,i,O){for(let n=0,r=O;n<=i.length;n++){let s=n?i[n-1].to:e,o=na;)t==r&&(t=i[--O].from,r=O?i[O-1].to:e),hi[--t]=h;a=s}else r=s,a++}}}(n,r,O,o),ci(e,n,r,t,i,O,s)}function ui(e){return[new ai(0,e,0)]}let $i="";function fi(e,t,i,O,n){var r;let s=O.head-e.from,o=ai.find(t,s,null!==(r=O.bidiLevel)&&void 0!==r?r:-1,O.assoc),a=t[o],l=a.side(n,i);if(s==l){let e=o+=n?1:-1;if(e<0||e>=t.length)return null;a=t[o=e],s=a.side(!n,i),l=a.side(n,i)}let h=P(e.text,s,a.forward(n,i));(ha.to)&&(h=l),$i=e.text.slice(Math.min(s,h),Math.max(s,h));let c=o==(n?t.length-1:0)?null:t[o+(n?1:-1)];return c&&h==l&&c.level+(n?0:1)e.some(e=>e)}),xi=j.define({combine:e=>e.some(e=>e)}),Xi=j.define();class ki{constructor(e,t,i,O,n,r=!1){this.range=e,this.y=t,this.x=i,this.yMargin=O,this.xMargin=n,this.isSnapshot=r}map(e){return e.empty?this:new ki(this.range.map(e),this.y,this.x,this.yMargin,this.xMargin,this.isSnapshot)}clip(e){return this.range.to<=e.doc.length?this:new ki(q.cursor(e.doc.length),this.y,this.x,this.yMargin,this.xMargin,this.isSnapshot)}}const Zi=ce.define({map:(e,t)=>e.map(t)}),Ri=ce.define();function zi(e,t,i){let O=e.facet(Si);O.length?O[0](t):window.onerror&&window.onerror(String(t),i,void 0,void 0,t)}const _i=j.define({combine:e=>!e.length||e[0]});let Yi=0;const Vi=j.define({combine:e=>e.filter((t,i)=>{for(let O=0;O{let t=[];return r&&t.push(Gi.of(t=>{let i=t.plugin(e);return i?r(i):Tt.none})),n&&t.push(n(e)),t})}static fromClass(e,t){return qi.define((t,i)=>new e(t,i),t)}}class Wi{constructor(e){this.spec=e,this.mustUpdate=null,this.value=null}get plugin(){return this.spec&&this.spec.plugin}update(e){if(this.value){if(this.mustUpdate){let e=this.mustUpdate;if(this.mustUpdate=null,this.value.update)try{this.value.update(e)}catch(t){if(zi(e.state,t,"CodeMirror plugin crashed"),this.value.destroy)try{this.value.destroy()}catch(e){}this.deactivate()}}}else if(this.spec)try{this.value=this.spec.plugin.create(e,this.spec.arg)}catch(t){zi(e.state,t,"CodeMirror plugin crashed"),this.deactivate()}return this}destroy(e){var t;if(null===(t=this.value)||void 0===t?void 0:t.destroy)try{this.value.destroy()}catch(t){zi(e.state,t,"CodeMirror plugin crashed")}}deactivate(){this.spec=this.value=null}}const Ui=j.define(),ji=j.define(),Gi=j.define(),Ci=j.define(),Ai=j.define(),Ei=j.define(),Mi=j.define();function Di(e,t){let i=e.state.facet(Mi);if(!i.length)return i;let O=i.map(t=>t instanceof Function?t(e):t),n=[];return ke.spans(O,t.from,t.to,{point(){},span(e,i,O,r){let s=e-t.from,o=i-t.from,a=n;for(let e=O.length-1;e>=0;e--,r--){let i,n=O[e].spec.bidiIsolate;if(null==n&&(n=pi(t.text,s,o)),r>0&&a.length&&(i=a[a.length-1]).to==s&&i.direction==n)i.to=o,a=i.inner;else{let e={from:s,to:o,direction:n,inner:[]};a.push(e),a=e.inner}}}}),n}const Li=j.define();function Ii(e){let t=0,i=0,O=0,n=0;for(let r of e.state.facet(Li)){let s=r(e);s&&(null!=s.left&&(t=Math.max(t,s.left)),null!=s.right&&(i=Math.max(i,s.right)),null!=s.top&&(O=Math.max(O,s.top)),null!=s.bottom&&(n=Math.max(n,s.bottom)))}return{left:t,right:i,top:O,bottom:n}}const Ni=j.define();class Bi{constructor(e,t,i,O){this.fromA=e,this.toA=t,this.fromB=i,this.toB=O}join(e){return new Bi(Math.min(this.fromA,e.fromA),Math.max(this.toA,e.toA),Math.min(this.fromB,e.fromB),Math.max(this.toB,e.toB))}addToSet(e){let t=e.length,i=this;for(;t>0;t--){let O=e[t-1];if(!(O.fromA>i.toA)){if(O.toAO.push(new Bi(e,t,i,n))),this.changedRanges=O}static create(e,t,i){return new Fi(e,t,i)}get viewportChanged(){return(4&this.flags)>0}get viewportMoved(){return(8&this.flags)>0}get heightChanged(){return(2&this.flags)>0}get geometryChanged(){return this.docChanged||(18&this.flags)>0}get focusChanged(){return(1&this.flags)>0}get docChanged(){return!this.changes.empty}get selectionSet(){return this.transactions.some(e=>e.selection)}get empty(){return 0==this.flags&&0==this.transactions.length}}const Hi=[];class Ki{constructor(e,t,i=0){this.dom=e,this.length=t,this.flags=i,this.parent=null,e.cmTile=this}get breakAfter(){return 1&this.flags}get children(){return Hi}isWidget(){return!1}get isHidden(){return!1}isComposite(){return!1}isLine(){return!1}isText(){return!1}isBlock(){return!1}get domAttrs(){return null}sync(e){if(this.flags|=2,4&this.flags){this.flags&=-5;let e=this.domAttrs;e&&function(e,t){for(let i=e.attributes.length-1;i>=0;i--){let O=e.attributes[i].name;null==t[O]&&e.removeAttribute(O)}for(let i in t){let O=t[i];"style"==i?e.style.cssText=O:e.getAttribute(i)!=O&&e.setAttribute(i,O)}}(this.dom,e)}}toString(){return this.constructor.name+(this.children.length?`(${this.children})`:"")+(this.breakAfter?"#":"")}destroy(){this.parent=null}setDOM(e){this.dom=e,e.cmTile=this}get posAtStart(){return this.parent?this.parent.posBefore(this):0}get posAtEnd(){return this.posAtStart+this.length}posBefore(e,t=this.posAtStart){let i=t;for(let t of this.children){if(t==e)return i;i+=t.length+t.breakAfter}throw new RangeError("Invalid child in posBefore")}posAfter(e){return this.posBefore(e)+e.length}covers(e){return!0}coordsIn(e,t,i){return null}domPosFor(e,t){let i=Yt(this.dom),O=this.length?e>0:t>0;return new Ht(this.parent.dom,i+(O?1:0),0==e||e==this.length)}markDirty(e){this.flags&=-3,e&&(this.flags|=4),this.parent&&2&this.parent.flags&&this.parent.markDirty(!1)}get overrideDOMText(){return null}get root(){for(let e=this;e;e=e.parent)if(e instanceof tO)return e;return null}static get(e){return e.cmTile}}class Ji extends Ki{constructor(e){super(e,0),this._children=[]}isComposite(){return!0}get children(){return this._children}get lastChild(){return this.children.length?this.children[this.children.length-1]:null}append(e){this.children.push(e),e.parent=this}sync(e){if(2&this.flags)return;super.sync(e);let t,i=this.dom,O=null,n=(null==e?void 0:e.node)==i?e:null,r=0;for(let s of this.children){if(s.sync(e),r+=s.length+s.breakAfter,t=O?O.nextSibling:i.firstChild,n&&t!=s.dom&&(n.written=!0),s.dom.parentNode==i)for(;t&&t!=s.dom;)t=eO(t);else i.insertBefore(s.dom,t);O=s.dom}for(t=O?O.nextSibling:i.firstChild,n&&t&&(n.written=!0);t;)t=eO(t);this.length=r}}function eO(e){let t=e.nextSibling;return e.parentNode.removeChild(e),t}class tO extends Ji{constructor(e,t){super(t),this.view=e}owns(e){for(;e;e=e.parent)if(e==this)return!0;return!1}isBlock(){return!0}nearest(e){for(;;){if(!e)return null;let t=Ki.get(e);if(t&&this.owns(t))return t;e=e.parentNode}}blockTiles(e){for(let t=[],i=this,O=0,n=0;;)if(O==i.children.length){if(!t.length)return;i=i.parent,i.breakAfter&&n++,O=t.pop()}else{let r=i.children[O++];if(r instanceof iO)t.push(O),i=r,O=0;else{let t=n+r.length,i=e(r,n);if(void 0!==i)return i;n=t+r.breakAfter}}}resolveBlock(e,t){let i,O,n=-1,r=-1;if(this.blockTiles((s,o)=>{let a=o+s.length;if(e>=o&&e<=a){if(s.isWidget()&&t>=-1&&t<=1){if(32&s.flags)return!0;16&s.flags&&(i=void 0)}(oe||e==o&&(t>1?s.length:s.covers(-1)))&&(!O||!s.isWidget()&&O.isWidget())&&(O=s,r=e-o)}}),!i&&!O)throw new Error("No tile at position "+e);return i&&t<0||!O?{tile:i,offset:n}:{tile:O,offset:r}}}class iO extends Ji{constructor(e,t){super(e),this.wrapper=t}isBlock(){return!0}covers(e){return!!this.children.length&&(e<0?this.children[0].covers(-1):this.lastChild.covers(1))}get domAttrs(){return this.wrapper.attributes}static of(e,t){let i=new iO(t||document.createElement(e.tagName),e);return t||(i.flags|=4),i}}class OO extends Ji{constructor(e,t){super(e),this.attrs=t}isLine(){return!0}static start(e,t,i){let O=new OO(t||document.createElement("div"),e);return t&&i||(O.flags|=4),O}get domAttrs(){return this.attrs}resolveInline(e,t,i){let O=null,n=-1,r=null,s=-1;!function e(o,a){for(let l=0,h=0;l=a&&(c.isComposite()?e(c,a-h):(!r||r.isHidden&&(t>0&&!(32&r.flags)||i&&nO(r,c)))&&(d>a||32&c.flags)?(r=c,s=a-h):(hO&&(e=O);let n=e,r=e,s=0;0==e&&t<0||e==O&&t>=0?$t.chrome||$t.gecko||(e?(n--,s=1):r=0)?0:o.length-1];return $t.safari&&!s&&0==a.width&&(a=Array.prototype.find.call(o,e=>e.width)||a),null==i?a:Ut(a,(s?s>0:t<0)==i)}static of(e,t){let i=new sO(t||document.createTextNode(e),e);return t||(i.flags|=2),i}}class oO extends Ki{constructor(e,t,i,O){super(e,t,O),this.widget=i}isWidget(){return!0}get isHidden(){return this.widget.isHidden}covers(e){return!(48&this.flags)&&(this.flags&(e<0?64:128))>0}coordsIn(e,t){return this.coordsInWidget(e,t,!1)}coordsInWidget(e,t,i){let O=this.widget.coordsAt(this.dom,e,t);if(O)return O;if(i)return Ut(this.dom.getBoundingClientRect(),this.length?0==e:t<=0);{let t=this.dom.getClientRects(),i=null;if(!t.length)return null;let O=!!(16&this.flags)||!(32&this.flags)&&e>0;for(let n=O?t.length-1:0;i=t[n],!(e>0?0==n:n==t.length-1||i.top0==i)}}class lO{constructor(e){this.index=0,this.beforeBreak=!1,this.parents=[],this.tile=e}advance(e,t,i){let{tile:O,index:n,beforeBreak:r,parents:s}=this;for(;e||t>0;)if(O.isComposite())if(r){if(!e)break;i&&i.break(),e--,r=!1}else if(n==O.children.length){if(!e&&!s.length)break;i&&i.leave(O),r=!!O.breakAfter,({tile:O,index:n}=s.pop()),n++}else{let o=O.children[n],a=o.breakAfter;!(t>0?o.length<=e:o.length=0;e--){let i=t.marks[e],n=O.lastChild;if(n instanceof rO&&n.mark.eq(i.mark))n.dom!=i.dom&&n.setDOM(mO(i.dom)),O=n;else{if(this.cache.reused.get(i)){let e=Ki.get(i.dom);e&&e.setDOM(mO(i.dom))}let e=rO.of(i.mark,i.dom);O.append(e),O=e}this.cache.reused.set(i,2)}let n=Ki.get(e.text);n&&this.cache.reused.set(n,2);let r=new sO(e.text,e.text.nodeValue);r.flags|=8,this.pos=e.range.toB,O.append(r)}addInlineWidget(e,t,i){let O=this.afterWidget&&48&e.flags&&(48&this.afterWidget.flags)==(48&e.flags);O||this.flushBuffer();let n=this.ensureMarks(t,i);O||16&e.flags||n.append(this.getBuffer(1)),n.append(e),this.pos+=e.length,this.afterWidget=e}addMark(e,t,i){this.flushBuffer(),this.ensureMarks(t,i).append(e),this.pos+=e.length,this.afterWidget=null}addBlockWidget(e){this.getBlockPos().append(e),this.pos+=e.length,this.lastBlock=e,this.endLine()}continueWidget(e){(this.afterWidget||this.lastBlock).length+=e,this.pos+=e}addLineStart(e,t){var i;e||(e=QO);let O=OO.start(e,t||(null===(i=this.cache.find(OO))||void 0===i?void 0:i.dom),!!t);this.getBlockPos().append(this.lastBlock=this.curLine=O)}addLine(e){this.getBlockPos().append(e),this.pos+=e.length,this.lastBlock=e,this.endLine()}addBreak(){this.lastBlock.flags|=1,this.endLine(),this.pos++}addLineStartIfNotCovered(e){this.blockPosCovered()||this.addLineStart(e)}ensureLine(e){this.curLine||this.addLineStart(e)}ensureMarks(e,t){var i;let O=this.curLine;for(let n=e.length-1;n>=0;n--){let r,s=e[n];if(t>0&&(r=O.lastChild)&&r instanceof rO&&r.mark.eq(s))O=r,t--;else{let e=rO.of(s,null===(i=this.cache.find(rO,e=>e.mark.eq(s)))||void 0===i?void 0:i.dom);O.append(e),O=e,t=0}}return O}endLine(){if(this.curLine){this.flushBuffer();let e=this.curLine.lastChild;e&&pO(this.curLine,!1)&&("BR"==e.dom.nodeName||!e.isWidget()||$t.ios&&pO(this.curLine,!0))||this.curLine.append(this.cache.findWidget(SO,0,32)||new oO(SO.toDOM(),0,SO,32)),this.curLine=this.afterWidget=null}}updateBlockWrappers(){this.wrapperPos>this.pos+1e4&&(this.blockWrappers.goto(this.pos),this.wrappers.length=0);for(let e=this.wrappers.length-1;e>=0;e--)this.wrappers[e].to=this.pos){let t=102*e.rank+e.value.rank,i=new hO(e.from,e.to,e.value,t),O=this.wrappers.length;for(;O>0&&(this.wrappers[O-1].rank-i.rank||this.wrappers[O-1].to-i.to)<0;)O--;this.wrappers.splice(O,0,i)}this.wrapperPos=this.pos}getBlockPos(){var e;this.updateBlockWrappers();let t=this.root;for(let i of this.wrappers){let O=t.lastChild;if(i.frome.wrapper.eq(i.wrapper)))||void 0===e?void 0:e.dom);t.append(O),t=O}}return t}blockPosCovered(){let e=this.lastBlock;return null!=e&&!e.breakAfter&&(!e.isWidget()||(160&e.flags)>0)}getBuffer(e){let t=2|(e<0?16:32),i=this.cache.find(aO,void 0,1);return i&&(i.flags=t),i||new aO(t)}flushBuffer(){!this.afterWidget||32&this.afterWidget.flags||(this.afterWidget.parent.append(this.getBuffer(-1)),this.afterWidget=null)}}class dO{constructor(e){this.skipCount=0,this.text="",this.textOff=0,this.cursor=e.iter()}skip(e){this.textOff+e<=this.text.length?this.textOff+=e:(this.skipCount+=e-(this.text.length-this.textOff),this.text="",this.textOff=0)}next(e){if(this.textOff==this.text.length){let{value:t,lineBreak:i,done:O}=this.cursor.next(this.skipCount);if(this.skipCount=0,O)throw new Error("Ran out of text content when drawing inline views");this.text=t;let n=this.textOff=Math.min(e,t.length);return i?null:t.slice(0,n)}let t=Math.min(this.text.length,this.textOff+e),i=this.text.slice(this.textOff,t);return this.textOff=t,i}}const uO=[oO,OO,sO,rO,aO,iO,tO];for(let e=0;e[]),this.index=uO.map(()=>0),this.reused=new Map}add(e){let t=e.constructor.bucket,i=this.buckets[t];i.length<6?i.push(e):i[this.index[t]=(this.index[t]+1)%6]=e}find(e,t,i=2){let O=e.bucket,n=this.buckets[O],r=this.index[O];for(let e=0;e{if(this.cache.add(e),e.isComposite())return!1},enter:e=>this.cache.add(e),leave:()=>{},break:()=>{}}}run(e,t){let i=t&&this.getCompositionContext(t.text);for(let O=0,n=0,r=0;;){let s=rO){let e=o-O;this.preserve(e,!r,!s),O=o,n+=e}if(!s)break;t&&s.fromA<=t.range.fromA&&s.toA>=t.range.toA?(this.forward(s.fromA,t.range.fromA,t.range.fromA1;i--){let O=i==e.parents.length?e.tile:e.parents[i].tile;O instanceof rO&&t.push(O.mark)}return t}(this.old),n=this.openMarks;this.old.advance(e,i?1:-1,{skip:(e,t,i)=>{if(e.isWidget())if(this.openWidget)this.builder.continueWidget(i-t);else{let r=i>0||t{e.isLine()?this.builder.addLineStart(e.attrs,this.cache.maybeReuse(e)):(this.cache.add(e),e instanceof rO&&O.unshift(e.mark)),this.openWidget=!1},leave:e=>{e.isLine()?O.length&&(O.length=n=0):e instanceof rO&&(O.shift(),n=Math.min(n,O.length))},break:()=>{this.builder.addBreak(),this.openWidget=!1}}),this.text.skip(e)}emit(e,t){let i=null,O=this.builder,n=-1,r=ke.spans(this.decorations,e,t,{point:(e,t,r,s,o,a)=>{if(r instanceof wt){if(this.disallowBlockEffectsFor[a]){if(r.block)throw new RangeError("Block decorations may not be specified via plugins");if(t>this.view.state.doc.lineAt(e).to)throw new RangeError("Decorations that replace line breaks may not be specified via plugins")}if(n=s.length,o>s.length)O.continueWidget(t-e);else{let n=r.widget||(r.block?gO.block:gO.inline),a=function(e){let t=e.isReplace?(e.startSide<0?64:0)|(e.endSide>0?128:0):e.startSide>0?32:16;return e.block&&(t|=256),t}(r),l=this.cache.findWidget(n,t-e,a)||oO.of(n,this.view,t-e,a);r.block?(r.startSide>0&&O.addLineStartIfNotCovered(i),O.addBlockWidget(l)):(O.ensureLine(i),O.addInlineWidget(l,s,o))}i=null}else i=function(e,t){let i=t.spec.attributes,O=t.spec.class;return i||O?(e||(e={class:"cm-line"}),i&&ft(i,e),O&&(e.class+=" "+O),e):e}(i,r);t>e&&this.text.skip(t-e)},span:(e,t,r,s)=>{for(let n=e;n-1&&(this.openWidget=r>n),this.openWidget||O.addLineStartIfNotCovered(i),this.openMarks=r}forward(e,t,i=1){t-e<=10?this.old.advance(t-e,i,this.reuseWalker):(this.old.advance(5,-1,this.reuseWalker),this.old.advance(t-e-10,-1),this.old.advance(5,i,this.reuseWalker))}getCompositionContext(e){let t=[],i=null;for(let O=e.parentNode;;O=O.parentNode){let e=Ki.get(O);if(O==this.view.contentDOM)break;e instanceof rO?t.push(e):(null==e?void 0:e.isLine())?i=e:e instanceof iO||("DIV"!=O.nodeName||i||O==this.view.contentDOM?i||t.push(rO.of(new yt({tagName:O.nodeName.toLowerCase(),attributes:gt(O)}),O)):i=new OO(O,QO))}return{line:i,marks:t}}}function pO(e,t){let i=e=>{for(let O of e.children)if((t?O.isText():O.length)||i(O))return!0;return!1};return i(e)}const QO={class:"cm-line"};function mO(e){let t=Ki.get(e);return t&&t.setDOM(e.cloneNode()),e}class gO extends St{constructor(e){super(),this.tag=e}eq(e){return e.tag==this.tag}toDOM(){return document.createElement(this.tag)}updateDOM(e){return e.nodeName.toLowerCase()==this.tag}get isHidden(){return!0}}gO.inline=new gO("span"),gO.block=new gO("div");const SO=new class extends St{toDOM(){return document.createElement("br")}get isHidden(){return!0}get editable(){return!0}};class PO{constructor(e){this.view=e,this.decorations=[],this.blockWrappers=[],this.dynamicDecorationMap=[!1],this.domChanged=null,this.hasComposition=null,this.editContextFormatting=Tt.none,this.lastCompositionAfterCursor=!1,this.minWidth=0,this.minWidthFrom=0,this.minWidthTo=0,this.impreciseAnchor=null,this.impreciseHead=null,this.forceSelection=!1,this.lastUpdate=Date.now(),this.updateDeco(),this.tile=new tO(e,e.contentDOM),this.updateInner([new Bi(0,0,0,e.state.doc.length)],null)}update(e){var t;let i=e.changedRanges;this.minWidth>0&&i.length&&(i.every(({fromA:e,toA:t})=>tthis.minWidthTo)?(this.minWidthFrom=e.changes.mapPos(this.minWidthFrom,1),this.minWidthTo=e.changes.mapPos(this.minWidthTo,1)):this.minWidth=this.minWidthFrom=this.minWidthTo=0),this.updateEditContextFormatting(e);let O=-1;this.view.inputState.composing>=0&&!this.view.observer.editContext&&((null===(t=this.domChanged)||void 0===t?void 0:t.newSel)?O=this.domChanged.newSel.head:function(e,t){let i=!1;return t&&e.iterChangedRanges((e,O)=>{et.from&&(i=!0)}),i}(e.changes,this.hasComposition)||e.selectionSet||(O=e.state.selection.main.head));let n=O>-1?function(e,t,i){let O=yO(e,i);if(!O)return null;let{node:n,from:r,to:s}=O,o=n.nodeValue;if(/[\n\r]/.test(o))return null;if(e.state.doc.sliceString(O.from,O.to)!=o)return null;let a=t.invertedDesc;return{range:new Bi(a.mapPos(r),a.mapPos(s),r,s),text:n}}(this.view,e.changes,O):null;if(this.domChanged=null,this.hasComposition){let{from:t,to:O}=this.hasComposition;i=new Bi(t,O,e.changes.mapPos(t,-1),e.changes.mapPos(O,1)).addToSet(i.slice())}this.hasComposition=n?{from:n.range.fromB,to:n.range.toB}:null,($t.ie||$t.chrome)&&!n&&e&&e.state.doc.lines!=e.startState.doc.lines&&(this.forceSelection=!0);let r=this.decorations,s=this.blockWrappers;this.updateDeco();let o=function(e,t,i){let O=new vO;return ke.compare(e,t,i,O),O.changes}(r,this.decorations,e.changes);o.length&&(i=Bi.extendWithRanges(i,o));let a=function(e,t,i){let O=new wO;return ke.compare(e,t,i,O),O.changes}(s,this.blockWrappers,e.changes);return a.length&&(i=Bi.extendWithRanges(i,a)),n&&!i.some(e=>e.fromA<=n.range.fromA&&e.toA>=n.range.toA)&&(i=n.range.addToSet(i.slice())),!(2&this.tile.flags&&0==i.length||(this.updateInner(i,n),e.transactions.length&&(this.lastUpdate=Date.now()),0))}updateInner(e,t){this.view.viewState.mustMeasureContent=!0;let{observer:i}=this.view;i.ignore(()=>{if(t||e.length){let i=this.tile,O=new fO(this.view,i,this.blockWrappers,this.decorations,this.dynamicDecorationMap);t&&Ki.get(t.text)&&O.cache.reused.set(Ki.get(t.text),2),this.tile=O.run(e,t),TO(i,O.cache.reused)}this.tile.dom.style.height=this.view.viewState.contentHeight/this.view.scaleY+"px",this.tile.dom.style.flexBasis=this.minWidth?this.minWidth+"px":"";let O=$t.chrome||$t.ios?{node:i.selectionRange.focusNode,written:!1}:void 0;this.tile.sync(O),!O||!O.written&&i.selectionRange.focusNode==O.node&&this.tile.dom.contains(O.node)||(this.forceSelection=!0),this.tile.dom.style.height=""});let O=[];if(this.view.viewport.from||this.view.viewport.to-1)&&Rt(i,this.view.observer.selectionRange)&&!(O&&i.contains(O));if(!(n||t||r))return;let s=this.forceSelection;this.forceSelection=!1;let o,a,l=this.view.state.selection.main;if(l.empty?a=o=this.inlineDOMNearPos(l.anchor,l.assoc||1):(a=this.inlineDOMNearPos(l.head,l.head==l.from?1:-1),o=this.inlineDOMNearPos(l.anchor,l.anchor==l.from?1:-1)),$t.gecko&&l.empty&&!this.hasComposition&&1==(h=o).node.nodeType&&h.node.firstChild&&(0==h.offset||"false"==h.node.childNodes[h.offset-1].contentEditable)&&(h.offset==h.node.childNodes.length||"false"==h.node.childNodes[h.offset].contentEditable)){let e=document.createTextNode("");this.view.observer.ignore(()=>o.node.insertBefore(e,o.node.childNodes[o.offset]||null)),o=a=new Ht(e,0),s=!0}var h;let c=this.view.observer.selectionRange;!s&&c.focusNode&&(_t(o.node,o.offset,c.anchorNode,c.anchorOffset)&&_t(a.node,a.offset,c.focusNode,c.focusOffset)||this.suppressWidgetCursorChange(c,l))||(this.view.observer.ignore(()=>{$t.android&&$t.chrome&&i.contains(c.focusNode)&&function(e,t){for(let i=e;i&&i!=t;i=i.assignedSlot||i.parentNode)if(1==i.nodeType&&"false"==i.contentEditable)return!0;return!1}(c.focusNode,i)&&(i.blur(),i.focus({preventScroll:!0}));let e=kt(this.view.root);if(e)if(l.empty){if($t.gecko){let e=(t=o.node,n=o.offset,1!=t.nodeType?0:(n&&"false"==t.childNodes[n-1].contentEditable?1:0)|(nl.head&&([o,a]=[a,o]),t.setEnd(a.node,a.offset),t.setStart(o.node,o.offset),e.removeAllRanges(),e.addRange(t)}var t,n;r&&this.view.root.activeElement==i&&(i.blur(),O&&O.focus())}),this.view.observer.setSelectionRange(o,a)),this.impreciseAnchor=o.precise?null:new Ht(c.anchorNode,c.anchorOffset),this.impreciseHead=a.precise?null:new Ht(c.focusNode,c.focusOffset)}suppressWidgetCursorChange(e,t){return this.hasComposition&&t.empty&&_t(e.focusNode,e.focusOffset,e.anchorNode,e.anchorOffset)&&this.posFromDOM(e.focusNode,e.focusOffset)==t.head}enforceCursorAssoc(){if(this.hasComposition)return;let{view:e}=this,t=e.state.selection.main,i=kt(e.root),{anchorNode:O,anchorOffset:n}=e.observer.selectionRange;if(!(i&&t.empty&&t.assoc&&i.modify))return;let r=this.lineAt(t.head,t.assoc);if(!r)return;let s=r.posAtStart;if(t.head==s||t.head==s+r.length)return;let o=this.coordsAt(t.head,-1),a=this.coordsAt(t.head,1);if(!o||!a||o.bottom>a.top)return;let l=this.domAtPos(t.head+t.assoc,t.assoc);i.collapse(l.node,l.offset),i.modify("move",t.assoc<0?"forward":"backward","lineboundary"),e.observer.readSelectionRange();let h=e.observer.selectionRange;e.docView.posFromDOM(h.anchorNode,h.anchorOffset)!=t.from&&i.collapse(O,n)}posFromDOM(e,t){let i=this.tile.nearest(e);if(!i)return 2&this.tile.dom.compareDocumentPosition(e)?0:this.view.state.doc.length;let O=i.posAtStart;if(!i.isComposite())return i.isText()?e==i.dom?O+t:O+(t?i.length:0):O;{let n;if(e==i.dom)n=i.dom.childNodes[t];else{let O=0==Wt(e)?0:0==t?-1:1;for(;;){let t=e.parentNode;if(t==i.dom)break;0==O&&t.firstChild!=t.lastChild&&(O=e==t.firstChild?-1:1),e=t}n=O<0?e:e.nextSibling}if(n==i.dom.firstChild)return O;for(;n&&!Ki.get(n);)n=n.nextSibling;if(!n)return O+i.length;for(let e=0,t=O;;e++){let O=i.children[e];if(O.dom==n)return t;t+=O.length+O.breakAfter}}}domAtPos(e,t){let{tile:i,offset:O}=this.tile.resolveBlock(e,t);return i.isWidget()?i.domPosFor(O,t):i.domIn(O,t)}inlineDOMNearPos(e,t){let i,O,n=-1,r=!1,s=-1,o=!1;return this.tile.blockTiles((t,a)=>{if(t.isWidget()){if(32&t.flags&&a>=e)return!0;16&t.flags&&(r=!0)}else{let l=a+t.length;if(a<=e&&(i=t,n=e-a,r=l=e&&!O&&(O=t,s=e-a,o=a>e),a>e&&O)return!0}}),i||O?(r&&O?i=null:o&&i&&(O=null),i&&t<0||!O?i.domIn(n,t):O.domIn(s,t)):this.domAtPos(e,t)}coordsAt(e,t,i){let{tile:O,offset:n}=this.tile.resolveBlock(e,t);return O.isWidget()?O.widget instanceof bO?null:O.coordsInWidget(n,t,!0):O.coordsIn(n,t,i)}lineAt(e,t){let{tile:i}=this.tile.resolveBlock(e,t);return i.isLine()?i:null}coordsForChar(e){let{tile:t,offset:i}=this.tile.resolveBlock(e,1);return t.isLine()?function e(t,i){if(t.isComposite())for(let O of t.children){if(O.length>=i){let t=e(O,i);if(t)return t}if((i-=O.length)<0)break}else if(t.isText()&&iMath.max(this.view.scrollDOM.clientWidth,this.minWidth)+1,s=-1,o=this.view.textDirection==Kt.LTR,a=0,l=(e,h,c)=>{for(let d=0;dO);d++){let O=e.children[d],u=h+O.length,$=O.dom.getBoundingClientRect(),{height:f}=$;if(c&&!d&&(a+=$.top-c.top),O instanceof iO)u>i&&l(O,h,$);else if(h>=i&&(a>0&&t.push(-a),t.push(f+a),a=0,r)){let e=O.dom.lastChild,t=e?zt(e):[];if(t.length){let e=t[t.length-1],i=o?e.right-$.left:$.right-e.left;i>s&&(s=i,this.minWidth=n,this.minWidthFrom=h,this.minWidthTo=u)}}c&&d==e.children.length-1&&(a+=c.bottom-$.bottom),h=u+O.breakAfter}};return l(this.tile,0,null),t}textDirectionAt(e){let{tile:t}=this.tile.resolveBlock(e,1);return"rtl"==getComputedStyle(t.dom).direction?Kt.RTL:Kt.LTR}measureTextSize(){let e=this.tile.blockTiles(e=>{if(e.isLine()&&e.children.length&&e.length<=20){let t,i=0;for(let O of e.children){if(!O.isText()||/[^ -~]/.test(O.text))return;let e=zt(O.dom);if(1!=e.length)return;i+=e[0].width,t=e[0].height}if(i)return{lineHeight:e.dom.getBoundingClientRect().height,charWidth:i/e.length,textHeight:t}}});if(e)return e;let t,i,O,n=document.createElement("div");return n.className="cm-line",n.style.width="99999px",n.style.position="absolute",n.textContent="abc def ghi jkl mno pqr stu",this.view.observer.ignore(()=>{this.tile.dom.appendChild(n);let e=zt(n.firstChild)[0];t=n.getBoundingClientRect().height,i=e&&e.width?e.width/27:7,O=e&&e.height?e.height:t,n.remove()}),{lineHeight:t,charWidth:i,textHeight:O}}computeBlockGapDeco(){let e=[],t=this.view.viewState;for(let i=0,O=0;;O++){let n=O==t.viewports.length?null:t.viewports[O],r=n?n.from-1:this.view.state.doc.length;if(r>i){let O=(t.lineBlockAt(r).bottom-t.lineBlockAt(i).top)/this.view.scaleY;e.push(Tt.replace({widget:new bO(O),block:!0,inclusive:!0,isBlockGap:!0}).range(i,r))}if(!n)break;i=n.to+1}return Tt.set(e)}updateDeco(){let e=1,t=this.view.state.facet(Gi).map(t=>(this.dynamicDecorationMap[e++]="function"==typeof t)?t(this.view):t),i=!1,O=this.view.state.facet(Ai).map((e,t)=>{let O="function"==typeof e;return O&&(i=!0),O?e(this.view):e});for(O.length&&(this.dynamicDecorationMap[e++]=i,t.push(ke.join(O))),this.decorations=[this.editContextFormatting,...t,this.computeBlockGapDeco(),this.view.viewState.lineGapDeco];e"function"==typeof e?e(this.view):e)}scrollIntoView(e){if(e.isSnapshot){let t=this.view.viewState.lineBlockAt(e.range.head);return this.view.scrollDOM.scrollTop=t.top-e.yMargin,void(this.view.scrollDOM.scrollLeft=e.xMargin)}for(let t of this.view.state.facet(Xi))try{if(t(this.view,e.range,e))return!0}catch(e){zi(this.view.state,e,"scroll handler")}let t,{range:i}=e,O=this.coordsAt(i.head,i.assoc||(i.head>i.anchor?-1:1));if(!O)return;!i.empty&&(t=this.coordsAt(i.anchor,i.anchor>i.head?-1:1))&&(O={left:Math.min(O.left,t.left),top:Math.min(O.top,t.top),right:Math.max(O.right,t.right),bottom:Math.max(O.bottom,t.bottom)});let n=Ii(this.view),r={left:O.left-n.left,top:O.top-n.top,right:O.right+n.right,bottom:O.bottom+n.bottom},{offsetWidth:s,offsetHeight:o}=this.view.scrollDOM;if(function(e,t,i,O,n,r,s,o){let a=e.ownerDocument,l=a.defaultView||window;for(let h=e,c=!1;h&&!c;)if(1==h.nodeType){let e,d=h==a.body,u=1,$=1;if(d)e=jt(l);else{if(/^(fixed|sticky)$/.test(getComputedStyle(h).position)&&(c=!0),h.scrollHeight<=h.clientHeight&&h.scrollWidth<=h.clientWidth){h=h.assignedSlot||h.parentNode;continue}let t=h.getBoundingClientRect();({scaleX:u,scaleY:$}=Gt(h,t)),e={left:t.left,right:t.left+h.clientWidth*u,top:t.top,bottom:t.top+h.clientHeight*$}}let f=0,p=0;if("nearest"==n)t.top0&&t.bottom>e.bottom+p&&(p=t.bottom-e.bottom+s)):t.bottom>e.bottom-s&&(p=t.bottom-e.bottom+s,i<0&&t.top-p0&&t.right>e.right+f&&(f=t.right-e.right+r)):t.right>e.right-r&&(f=t.right-e.right+r,i<0&&t.lefte.bottom||t.lefte.right)&&(t={left:Math.max(t.left,e.left),right:Math.min(t.right,e.right),top:Math.max(t.top,e.top),bottom:Math.min(t.bottom,e.bottom)}),h=h.assignedSlot||h.parentNode}else{if(11!=h.nodeType)break;h=h.host}}(this.view.scrollDOM,r,i.head1&&(O.top>window.pageYOffset+window.visualViewport.offsetTop+window.visualViewport.height||O.bottome.isWidget()||e.children.some(t);return t(this.tile.resolveBlock(e,1).tile)}destroy(){TO(this.tile)}}function TO(e,t){let i=null==t?void 0:t.get(e);if(1!=i){null==i&&e.destroy();for(let i of e.children)TO(i,t)}}function yO(e,t){let i=e.observer.selectionRange;if(!i.focusNode)return null;let O=Bt(i.focusNode,i.focusOffset),n=Ft(i.focusNode,i.focusOffset),r=O||n;if(n&&O&&n.node!=O.node){let t=Ki.get(n.node);if(!t||t.isText()&&t.text!=n.node.nodeValue)r=n;else if(e.docView.lastCompositionAfterCursor){let e=Ki.get(O.node);!e||e.isText()&&e.text!=O.node.nodeValue||(r=n)}}if(e.docView.lastCompositionAfterCursor=r!=O,!r)return null;let s=t-r.offset;return{from:s,to:s+r.node.nodeValue.length,node:r.node}}let vO=class{constructor(){this.changes=[]}compareRange(e,t){xt(e,t,this.changes)}comparePoint(e,t){xt(e,t,this.changes)}boundChange(e){xt(e,e,this.changes)}};class wO{constructor(){this.changes=[]}compareRange(e,t){xt(e,t,this.changes)}comparePoint(){}boundChange(e){xt(e,e,this.changes)}}class bO extends St{constructor(e){super(),this.height=e}toDOM(){let e=document.createElement("div");return e.className="cm-gap",this.updateDOM(e),e}eq(e){return e.height==this.height}updateDOM(e){return e.style.height=this.height+"px",!0}get editable(){return!0}get estimatedHeight(){return this.height}ignoreEvent(){return!1}}function xO(e,t,i){let O=e.lineBlockAt(t);if(Array.isArray(O.type)){let e;for(let n of O.type){if(n.from>t)break;if(!(n.tot)return n;e&&(n.type!=Pt.Text||e.type==n.type&&!(i<0?n.fromt))||(e=n)}}return e||O}return O}function XO(e,t,i,O){let n=e.state.doc.lineAt(t.head),r=e.bidiSpans(n),s=e.textDirectionAt(n.from);for(let o=t,a=null;;){let t=fi(n,r,s,o,i),l=$i;if(!t){if(n.number==(i?e.state.doc.lines:1))return o;l="\n",n=e.state.doc.line(n.number+(i?1:-1)),r=e.bidiSpans(n),t=e.visualLineSide(n,!i)}if(a){if(!a(l))return o}else{if(!O)return t;a=O(l)}o=t}}function kO(e,t,i){for(;;){let O=0;for(let n of e)n.between(t-1,t+1,(e,n,r)=>{if(t>e&&tt(e)),i.from,t.head>i.from?-1:1);return O==i.from?i:q.cursor(O,Oe.viewState.docHeight)return new zO(e.state.doc.length,-1);if(n=e.elementAtHeight(l),null==O)break;if(n.type==Pt.Text){if(O<0?n.toe.viewport.to)break;let t=e.docView.coordsAt(O<0?n.from:n.to,O>0?-1:1);if(t&&(O<0?t.top<=l+s:t.bottom>=l+s))break}let t=e.viewState.heightOracle.textHeight/2;l=O>0?n.bottom+t:n.top-t}if(e.viewport.from>=n.to||e.viewport.to<=n.from){if(i)return null;if(n.type==Pt.Text){let t=function(e,t,i,O,n){let r=Math.round((O-t.left)*e.defaultCharacterWidth);if(e.lineWrapping&&i.height>1.5*e.defaultLineHeight){let t=e.viewState.heightOracle.textHeight;r+=Math.floor((n-i.top-.5*(e.defaultLineHeight-t))/t)*e.viewState.heightOracle.lineLength}let s=e.state.sliceDoc(i.from,i.to);return i.from+Ae(s,r,e.state.tabSize)}(e,r,n,o,a);return new zO(t,t==n.from?1:-1)}}if(n.type!=Pt.Text)return l<(n.top+n.bottom)/2?new zO(n.from,1):new zO(n.to,-1);let h=e.docView.lineAt(n.from,2);return h&&h.length==n.length||(h=e.docView.lineAt(n.from,-2)),new YO(e,o,a,e.textDirectionAt(n.from)).scanTile(h,n.from)}class YO{constructor(e,t,i,O){this.view=e,this.x=t,this.y=i,this.baseDir=O,this.line=null,this.spans=null}bidiSpansAt(e){return(!this.line||this.line.from>e||this.line.to1||i.length&&(i[0].level!=this.baseDir||i[0].to+O.from>1;t:if(a.has(d)){let e=s+Math.floor(Math.random()*i);for(let t=0;t1)){if(i.bottomthis.y)(!n||n.top>i.top)&&(n=i),a=-1;else{let e=i.left>this.x?this.x-i.left:i.right(i+i+s)/3)return this.y=O.bottom-1,this.scan(e,t,!0);if(n&&n.top<(i+s+s)/3)return this.y=n.top+1,this.scan(e,t,!0)}let d=(l?this.dirAt(e[h],1):this.baseDir)==Kt.LTR;return{i:h,after:this.x>(r.left+r.right)/2==d}}scanText(e,t){let i=[];for(let O=0;O{let n=i[O]-t,r=i[O+1]-t;return Lt(e.dom,n,r).getClientRects()});return O.after?new zO(i[O.i+1],-1):new zO(i[O.i],1)}scanTile(e,t){if(!e.length)return new zO(t,1);if(1==e.children.length){let i=e.children[0];if(i.isText())return this.scanText(i,t);if(i.isComposite())return this.scanTile(i,t)}let i=[t];for(let O=0,n=t;O{let i=e.children[t];return 48&i.flags?null:(1==i.dom.nodeType?i.dom:Lt(i.dom,0,i.length)).getClientRects()}),n=e.children[O.i],r=i[O.i];return n.isText()?this.scanText(n,r):n.isComposite()?this.scanTile(n,r):O.after?new zO(i[O.i+1],-1):new zO(r,1)}}const VO="￿";class qO{constructor(e,t){this.points=e,this.view=t,this.text="",this.lineSeparator=t.state.facet(Te.lineSeparator)}append(e){this.text+=e}lineBreak(){this.text+=VO}readRange(e,t){if(!e)return this;let i=e.parentNode;for(let O=e;;){this.findPointBefore(i,O);let e=this.text.length;this.readNode(O);let n=Ki.get(O),r=O.nextSibling;if(r==t){(null==n?void 0:n.breakAfter)&&!r&&i!=this.view.contentDOM&&this.lineBreak();break}let s=Ki.get(r);(n&&s?n.breakAfter:(n?n.breakAfter:Vt(O))||Vt(r)&&("BR"!=O.nodeName||(null==n?void 0:n.isWidget()))&&this.text.length>e)&&!UO(r,t)&&this.lineBreak(),O=r}return this.findPointBefore(i,t),this}readTextNode(e){let t=e.nodeValue;for(let i of this.points)i.node==e&&(i.pos=this.text.length+Math.min(i.offset,t.length));for(let i=0,O=this.lineSeparator?null:/\r\n?|\n/g;;){let n,r=-1,s=1;if(this.lineSeparator?(r=t.indexOf(this.lineSeparator,i),s=this.lineSeparator.length):(n=O.exec(t))&&(r=n.index,s=n[0].length),this.append(t.slice(i,r<0?t.length:r)),r<0)break;if(this.lineBreak(),s>1)for(let t of this.points)t.node==e&&t.pos>this.text.length&&(t.pos-=s-1);i=r+s}}readNode(e){let t=Ki.get(e),i=t&&t.overrideDOMText;if(null!=i){this.findPointInside(e,i.length);for(let e=i.iter();!e.next().done;)e.lineBreak?this.lineBreak():this.append(e.value)}else 3==e.nodeType?this.readTextNode(e):"BR"==e.nodeName?e.nextSibling&&this.lineBreak():1==e.nodeType&&this.readRange(e.firstChild,null)}findPointBefore(e,t){for(let i of this.points)i.node==e&&e.childNodes[i.offset]==t&&(i.pos=this.text.length)}findPointInside(e,t){for(let i of this.points)(3==e.nodeType?i.node==e:e.contains(i.node))&&(i.pos=this.text.length+(WO(e,i.node,i.offset)?t:0))}}function WO(e,t,i){for(;;){if(!t||i-1;let{impreciseHead:n,impreciseAnchor:r}=e.docView,s=e.state.selection;if(e.state.readOnly&&t>-1)this.newSel=null;else if(t>-1&&(this.bounds=CO(e.docView.tile,t,i,0))){let t=n||r?[]:function(e){let t=[];if(e.root.activeElement!=e.contentDOM)return t;let{anchorNode:i,anchorOffset:O,focusNode:n,focusOffset:r}=e.observer.selectionRange;return i&&(t.push(new jO(i,O)),n==i&&r==O||t.push(new jO(n,r))),t}(e),i=new qO(t,e);i.readRange(this.bounds.startDOM,this.bounds.endDOM),this.text=i.text,this.newSel=function(e,t){if(0==e.length)return null;let i=e[0].pos,O=2==e.length?e[1].pos:i;return i>-1&&O>-1?q.single(i+t,O+t):null}(t,this.bounds.from)}else{let t=e.observer.selectionRange,i=n&&n.node==t.focusNode&&n.offset==t.focusOffset||!Zt(e.contentDOM,t.focusNode)?s.main.head:e.docView.posFromDOM(t.focusNode,t.focusOffset),O=r&&r.node==t.anchorNode&&r.offset==t.anchorOffset||!Zt(e.contentDOM,t.anchorNode)?s.main.anchor:e.docView.posFromDOM(t.anchorNode,t.anchorOffset),o=e.viewport;if(($t.ios||$t.chrome)&&i!=O&&Math.min(i,O)<=s.main.from&&Math.max(i,O)>=s.main.to&&(o.from>0||o.to-1&&s.ranges.length>1)this.newSel=s.replaceRange(q.range(O,i));else if(e.lineWrapping&&O==i&&(!s.main.empty||s.main.head!=i)&&e.inputState.lastTouchTime>Date.now()-100){let t=e.coordsAtPos(i,-1),O=0;t&&(O=e.inputState.lastTouchY<=t.bottom?-1:1),this.newSel=q.create([q.cursor(i,O)])}else this.newSel=q.single(O,i)}}}function CO(e,t,i,O){if(e.isComposite()){let n=-1,r=-1,s=-1,o=-1;for(let a=0,l=O,h=O;ai)return CO(O,t,i,l);if(c>=t&&-1==n&&(n=a,r=l),l>i&&O.dom.parentNode==e.dom){s=a,o=h;break}h=c,l=c+O.breakAfter}return{from:r,to:o<0?O+e.length:o,startDOM:(n?e.children[n-1].dom.nextSibling:null)||e.dom.firstChild,endDOM:s=0?e.children[s].dom:null}}return e.isText()?{from:O,to:O+e.length,startDOM:e.dom,endDOM:e.dom.nextSibling}:null}function AO(e,t){let i,{newSel:O}=t,{state:n}=e,r=n.selection.main,s=e.inputState.lastKeyTime>Date.now()-100?e.inputState.lastKeyCode:-1;if(t.bounds){let{from:e,to:O}=t.bounds,o=r.from,a=null;(8===s||$t.android&&t.text.length=e&&r.to<=O&&(t.typeOver||d!=t.text)&&d.slice(0,r.from-e)==t.text.slice(0,r.from-e)&&d.slice(r.to-e)==t.text.slice(l=t.text.length-(d.length-(r.to-e)))?i={from:r.from,to:r.to,insert:c.of(t.text.slice(r.from-e,l).split(VO))}:(h=MO(d,t.text,o-e,a))&&($t.chrome&&13==s&&h.toB==h.from+2&&t.text.slice(h.from,h.toB)==VO+VO&&h.toB--,i={from:e+h.from,to:e+h.toA,insert:c.of(t.text.slice(h.from,h.toB).split(VO))})}else O&&(!e.hasFocus&&n.facet(_i)||DO(O,r))&&(O=null);if(!i&&!O)return!1;if(($t.mac||$t.android)&&i&&i.from==i.to&&i.from==r.head-1&&/^\. ?$/.test(i.insert.toString())&&"off"==e.contentDOM.getAttribute("autocorrect")?(O&&2==i.insert.length&&(O=q.single(O.main.anchor-1,O.main.head-1)),i={from:i.from,to:i.to,insert:c.of([i.insert.toString().replace("."," ")])}):n.doc.lineAt(r.from).toDate.now()-50?i={from:r.from,to:r.to,insert:n.toText(e.inputState.insertingText)}:$t.chrome&&i&&i.from==i.to&&i.from==r.head&&"\n "==i.insert.toString()&&e.lineWrapping&&(O&&(O=q.single(O.main.anchor-1,O.main.head-1)),i={from:r.from,to:r.to,insert:c.of([" "])}),i)return EO(e,i,O,s);if(O&&!DO(O,r)){let t=!1,i="select";return e.inputState.lastSelectionTime>Date.now()-50&&("select"==e.inputState.lastSelectionOrigin&&(t=!0),i=e.inputState.lastSelectionOrigin,"select.pointer"==i&&(O=ZO(n.facet(Ei).map(t=>t(e)),O))),e.dispatch({selection:O,scrollIntoView:t,userEvent:i}),!0}return!1}function EO(e,t,i,O=-1){if($t.ios&&e.inputState.flushIOSKey(t))return!0;let n=e.state.selection.main;if($t.android&&(t.to==n.to&&(t.from==n.from||t.from==n.from-1&&" "==e.state.sliceDoc(t.from,n.from))&&1==t.insert.length&&2==t.insert.lines&&It(e.contentDOM,"Enter",13)||(t.from==n.from-1&&t.to==n.to&&0==t.insert.length||8==O&&t.insert.lengthn.head)&&It(e.contentDOM,"Backspace",8)||t.from==n.from&&t.to==n.to+1&&0==t.insert.length&&It(e.contentDOM,"Delete",46)))return!0;let r,s=t.insert.toString();e.inputState.composing>=0&&e.inputState.composing++;let o=()=>r||(r=function(e,t,i){let O,n=e.state,r=n.selection.main,s=-1;if(t.from==t.to&&t.fromr.to){let i=t.fromt(e)),O,i);t.from==o&&(s=o)}if(s>-1)O={changes:t,selection:q.cursor(t.from+t.insert.length,-1)};else if(t.from>=r.from&&t.to<=r.to&&t.to-t.from>=(r.to-r.from)/3&&(!i||i.main.empty&&i.main.from==t.from+t.insert.length)&&e.inputState.composing<0){let i=r.fromt.to?n.sliceDoc(t.to,r.to):"";O=n.replaceSelection(e.state.toText(i+t.insert.sliceString(0,void 0,e.state.lineBreak)+s))}else{let s=n.changes(t),o=i&&i.main.to<=s.newLength?i.main:void 0;if(n.selection.ranges.length>1&&(e.inputState.composing>=0||e.inputState.compositionPendingChange)&&t.to<=r.to+10&&t.to>=r.to-10){let a,l=e.state.sliceDoc(t.from,t.to),h=i&&yO(e,i.main.head);if(h){let e=t.insert.length-(t.to-t.from);a={from:h.from,to:h.to-e}}else a=e.state.doc.lineAt(r.head);let c=r.to-t.to;O=n.changeByRange(i=>{if(i.from==r.from&&i.to==r.to)return{changes:s,range:o||i.map(s)};let O=i.to-c,h=O-l.length;if(e.state.sliceDoc(h,O)!=l||O>=a.from&&h<=a.to)return{range:i};let d=n.changes({from:h,to:O,insert:t.insert}),u=i.to-r.to;return{changes:d,range:o?q.range(Math.max(0,o.anchor+u),Math.max(0,o.head+u)):i.map(d)}})}else O={changes:s,selection:o&&n.selection.replaceRange(o)}}let o="input.type";return(e.composing||e.inputState.compositionPendingChange&&e.inputState.compositionEndedAt>Date.now()-50)&&(e.inputState.compositionPendingChange=!1,o+=".compose",e.inputState.compositionFirstChange&&(o+=".start",e.inputState.compositionFirstChange=!1)),n.update(O,{userEvent:o,scrollIntoView:!0})}(e,t,i));return e.state.facet(Ti).some(i=>i(e,t.from,t.to,s,o))||e.dispatch(o()),!0}function MO(e,t,i,O){let n=Math.min(e.length,t.length),r=0;for(;r0&&o>0&&e.charCodeAt(s-1)==t.charCodeAt(o-1);)s--,o--;return"end"==O&&(i-=s+Math.max(0,r-Math.min(s,o))-r),s=s?r-i:0,o=r+(o-s),s=r):o=o?r-i:0,s=r+(s-o),o=r),{from:r,toA:s,toB:o}}function DO(e,t){return t.head==e.main.head&&t.anchor==e.main.anchor}class LO{setSelectionOrigin(e){this.lastSelectionOrigin=e,this.lastSelectionTime=Date.now()}constructor(e){this.view=e,this.lastKeyCode=0,this.lastKeyTime=0,this.touchActive=!1,this.lastTouchTime=0,this.lastTouchX=0,this.lastTouchY=0,this.lastFocusTime=0,this.lastScrollTop=0,this.lastScrollLeft=0,this.lastWheelEvent=0,this.pendingIOSKey=void 0,this.lastIOSMomentumScroll=0,this.tabFocusMode=-1,this.lastSelectionOrigin=null,this.lastSelectionTime=0,this.lastContextMenu=0,this.scrollHandlers=[],this.handlers=Object.create(null),this.composing=-1,this.compositionFirstChange=null,this.compositionEndedAt=0,this.compositionPendingKey=!1,this.compositionPendingChange=!1,this.insertingText="",this.insertingTextAt=0,this.mouseSelection=null,this.draggedContent=null,this.handleEvent=this.handleEvent.bind(this),this.notifiedFocused=e.hasFocus,$t.safari&&e.contentDOM.addEventListener("input",()=>null),$t.gecko&&function(e){Qn.has(e)||(Qn.add(e),e.addEventListener("copy",()=>{}),e.addEventListener("cut",()=>{}))}(e.contentDOM.ownerDocument)}handleEvent(e){(function(e,t){if(!t.bubbles)return!0;if(t.defaultPrevented)return!1;for(let i,O=t.target;O!=e.contentDOM;O=O.parentNode)if(!O||11==O.nodeType||(i=Ki.get(O))&&i.isWidget()&&!i.isHidden&&i.widget.ignoreEvent(t))return!1;return!0})(this.view,e)&&!this.ignoreDuringComposition(e)&&("keydown"==e.type&&this.keydown(e)||(0!=this.view.updateState?Promise.resolve().then(()=>this.runHandlers(e.type,e)):this.runHandlers(e.type,e)))}runHandlers(e,t){let i=this.handlers[e];if(i){for(let e of i.observers)e(this.view,t);for(let e of i.handlers){if(t.defaultPrevented)break;if(e(this.view,t)){t.preventDefault();break}}}}ensureHandlers(e){let t=NO(e),i=this.handlers,O=this.view.contentDOM;for(let e in t)if("scroll"!=e){let n=!t[e].handlers.length,r=i[e];r&&n!=!r.handlers.length&&(O.removeEventListener(e,this.handleEvent),r=null),r||O.addEventListener(e,this.handleEvent,{passive:n})}for(let e in i)"scroll"==e||t[e]||O.removeEventListener(e,this.handleEvent);this.handlers=t}keydown(e){if(this.lastKeyCode=e.keyCode,this.lastKeyTime=Date.now(),9==e.keyCode&&this.tabFocusMode>-1&&(!this.tabFocusMode||Date.now()<=this.tabFocusMode))return!0;if(this.tabFocusMode>0&&27!=e.keyCode&&HO.indexOf(e.keyCode)<0&&(this.tabFocusMode=-1),$t.android&&$t.chrome&&!e.synthetic&&(13==e.keyCode||8==e.keyCode))return this.view.observer.delayAndroidKey(e.key,e.keyCode),!0;if($t.ios&&!e.synthetic&&!e.altKey&&!e.metaKey&&(BO.some(t=>t.keyCode==e.keyCode)&&!e.ctrlKey||FO.indexOf(e.key)>-1&&e.ctrlKey)){let i={ctrlKey:e.ctrlKey,altKey:e.altKey,metaKey:e.metaKey,shiftKey:e.shiftKey};return i.shiftKey&&$t.ios&&!/^(off|none)$/.test(this.view.contentDOM.autocapitalize)&&(t=this.view.win).visualViewport&&t.visualViewport.height*t.visualViewport.scale/t.document.documentElement.clientHeight<.85&&(i.shiftKey=!1),this.pendingIOSKey={key:e.key,keyCode:e.keyCode,mods:i},setTimeout(()=>this.flushIOSKey(),250),!0}var t;return 229!=e.keyCode&&this.view.observer.forceFlush(),!1}flushIOSKey(e){let t=this.pendingIOSKey;return!!t&&!("Enter"==t.key&&e&&e.from0||!!($t.safari&&!$t.ios&&this.compositionPendingKey&&Date.now()-this.compositionEndedAt<100)&&(this.compositionPendingKey=!1,!0))}startMouseSelection(e){this.mouseSelection&&this.mouseSelection.destroy(),this.mouseSelection=e}update(e){this.view.observer.update(e),this.mouseSelection&&this.mouseSelection.update(e),this.draggedContent&&e.docChanged&&(this.draggedContent=this.draggedContent.map(e.changes)),e.transactions.length&&(this.lastKeyCode=this.lastSelectionTime=0)}destroy(){this.mouseSelection&&this.mouseSelection.destroy()}}function IO(e,t){return(i,O)=>{try{return t.call(e,O,i)}catch(e){zi(i.state,e)}}}function NO(e){let t=Object.create(null);function i(e){return t[e]||(t[e]={observers:[],handlers:[]})}for(let t of e){let e=t.spec,O=e&&e.plugin.domEventHandlers,n=e&&e.plugin.domEventObservers;if(O)for(let e in O){let n=O[e];n&&i(e).handlers.push(IO(t.value,n))}if(n)for(let e in n){let O=n[e];O&&i(e).observers.push(IO(t.value,O))}}for(let e in en)i(e).handlers.push(en[e]);for(let e in tn)i(e).observers.push(tn[e]);return t}const BO=[{key:"Backspace",keyCode:8,inputType:"deleteContentBackward"},{key:"Enter",keyCode:13,inputType:"insertParagraph"},{key:"Enter",keyCode:13,inputType:"insertLineBreak"},{key:"Delete",keyCode:46,inputType:"deleteContentForward"}],FO="dthko",HO=[16,17,18,20,91,92,224,225];function KO(e){return.7*Math.max(0,e)+8}class JO{constructor(e,t,i,O){this.view=e,this.startEvent=t,this.style=i,this.mustSelect=O,this.scrollSpeed={x:0,y:0},this.scrolling=-1,this.lastEvent=t,this.scrollParents=Ct(e.contentDOM),this.atoms=e.state.facet(Ei).map(t=>t(e));let n=e.contentDOM.ownerDocument;n.addEventListener("mousemove",this.move=this.move.bind(this)),n.addEventListener("mouseup",this.up=this.up.bind(this)),this.extend=t.shiftKey,this.multiple=e.state.facet(Te.allowMultipleSelections)&&function(e,t){let i=e.state.facet(Qi);return i.length?i[0](t):$t.mac?t.metaKey:t.ctrlKey}(e,t),this.dragging=!(!function(e,t){let{main:i}=e.state.selection;if(i.empty)return!1;let O=kt(e.root);if(!O||0==O.rangeCount)return!0;let n=O.getRangeAt(0).getClientRects();for(let e=0;e=t.clientX&&i.top<=t.clientY&&i.bottom>=t.clientY)return!0}return!1}(e,t)||1!=cn(t))&&null}start(e){!1===this.dragging&&this.select(e)}move(e){if(0==e.buttons)return this.destroy();if(this.dragging||null==this.dragging&&(t=this.startEvent,i=e,Math.max(Math.abs(t.clientX-i.clientX),Math.abs(t.clientY-i.clientY))<10))return;var t,i;this.select(this.lastEvent=e);let O=0,n=0,r=0,s=0,o=this.view.win.innerWidth,a=this.view.win.innerHeight;this.scrollParents.x&&({left:r,right:o}=this.scrollParents.x.getBoundingClientRect()),this.scrollParents.y&&({top:s,bottom:a}=this.scrollParents.y.getBoundingClientRect());let l=Ii(this.view);e.clientX-l.left<=r+6?O=-KO(r-e.clientX):e.clientX+l.right>=o-6&&(O=KO(e.clientX-o)),e.clientY-l.top<=s+6?n=-KO(s-e.clientY):e.clientY+l.bottom>=a-6&&(n=KO(e.clientY-a)),this.setScrollSpeed(O,n)}up(e){null==this.dragging&&this.select(this.lastEvent),this.dragging||e.preventDefault(),this.destroy()}destroy(){this.setScrollSpeed(0,0);let e=this.view.contentDOM.ownerDocument;e.removeEventListener("mousemove",this.move),e.removeEventListener("mouseup",this.up),this.view.inputState.mouseSelection=this.view.inputState.draggedContent=null}setScrollSpeed(e,t){this.scrollSpeed={x:e,y:t},e||t?this.scrolling<0&&(this.scrolling=setInterval(()=>this.scroll(),50)):this.scrolling>-1&&(clearInterval(this.scrolling),this.scrolling=-1)}scroll(){let{x:e,y:t}=this.scrollSpeed;e&&this.scrollParents.x&&(this.scrollParents.x.scrollLeft+=e,e=0),t&&this.scrollParents.y&&(this.scrollParents.y.scrollTop+=t,t=0),(e||t)&&this.view.win.scrollBy(e,t),!1===this.dragging&&this.select(this.lastEvent)}select(e){let{view:t}=this,i=ZO(this.atoms,this.style.get(e,this.extend,this.multiple));!this.mustSelect&&i.eq(t.state.selection,!1===this.dragging)||this.view.dispatch({selection:i,userEvent:"select.pointer"}),this.mustSelect=!1}update(e){e.transactions.some(e=>e.isUserEvent("input.type"))?this.destroy():this.style.update(e)&&setTimeout(()=>this.select(this.lastEvent),20)}}const en=Object.create(null),tn=Object.create(null),On=$t.ie&&$t.ie_version<15||$t.ios&&$t.webkit_version<604;function nn(e,t,i){for(let O of e.facet(t))i=O(i,e);return i}function rn(e,t){t=nn(e.state,vi,t);let i,{state:O}=e,n=1,r=O.toText(t),s=r.lines==O.selection.ranges.length;if(null!=un&&O.selection.ranges.every(e=>e.empty)&&un==r.toString()){let e=-1;i=O.changeByRange(i=>{let o=O.doc.lineAt(i.from);if(o.from==e)return{range:i};e=o.from;let a=O.toText((s?r.line(n++).text:t)+O.lineBreak);return{changes:{from:o.from,insert:a},range:q.cursor(i.from+a.length)}})}else i=s?O.changeByRange(e=>{let t=r.line(n++);return{changes:{from:e.from,to:e.to,insert:t.text},range:q.cursor(e.from+t.length)}}):O.replaceSelection(r);e.dispatch(i,{userEvent:"input.paste",scrollIntoView:!0})}function sn(e,t,i,O){if(1==O)return q.cursor(t,i);if(2==O)return function(e,t,i=1){let O=e.charCategorizer(t),n=e.doc.lineAt(t),r=t-n.from;if(0==n.length)return q.cursor(t);0==r?i=1:r==n.length&&(i=-1);let s=r,o=r;i<0?s=P(n.text,r,!1):o=P(n.text,r);let a=O(n.text.slice(s,o));for(;s>0;){let e=P(n.text,s,!1);if(O(n.text.slice(e,s))!=a)break;s=e}for(;o{let t=e.inputState;t.lastScrollTop=e.scrollDOM.scrollTop,t.lastScrollLeft=e.scrollDOM.scrollLeft,$t.ios&&!t.touchActive&&(t.lastIOSMomentumScroll=Date.now())},tn.wheel=tn.mousewheel=e=>{e.inputState.lastWheelEvent=Date.now()},en.keydown=(e,t)=>(e.inputState.setSelectionOrigin("select"),27==t.keyCode&&0!=e.inputState.tabFocusMode&&(e.inputState.tabFocusMode=Date.now()+2e3),!1),tn.touchstart=(e,t)=>{let i=e.inputState,O=t.targetTouches[0];i.touchActive=!0,i.lastTouchTime=Date.now(),O&&(i.lastTouchX=O.clientX,i.lastTouchY=O.clientY),i.setSelectionOrigin("select.pointer")},tn.touchmove=e=>{e.inputState.setSelectionOrigin("select.pointer")},tn.touchend=(e,t)=>{e.inputState.touchActive=!1},en.mousedown=(e,t)=>{if(e.observer.flush(),e.inputState.lastTouchTime>Date.now()-2e3)return!1;let i=null;for(let O of e.state.facet(gi))if(i=O(e,t),i)break;if(i||0!=t.button||(i=function(e,t){let i=e.posAndSideAtCoords({x:t.clientX,y:t.clientY},!1),O=cn(t),n=e.state.selection;return{update(e){e.docChanged&&(i.pos=e.changes.mapPos(i.pos),n=n.map(e.changes))},get(t,r,s){let o,a=e.posAndSideAtCoords({x:t.clientX,y:t.clientY},!1),l=sn(e,a.pos,a.assoc,O);if(i.pos!=a.pos&&!r){let t=sn(e,i.pos,i.assoc,O),n=Math.min(t.from,l.from),r=Math.max(t.to,l.to);l=n1&&(o=function(e,t){for(let i=0;i=t)return q.create(e.ranges.slice(0,i).concat(e.ranges.slice(i+1)),e.mainIndex==i?0:e.mainIndex-(e.mainIndex>i?1:0))}return null}(n,a.pos))?o:s?n.addRange(l):q.create([l])}}}(e,t)),i){let O=!e.hasFocus;e.inputState.startMouseSelection(new JO(e,t,i,O)),O&&e.observer.ignore(()=>{Dt(e.contentDOM);let t=e.root.activeElement;t&&!t.contains(e.contentDOM)&&t.blur()});let n=e.inputState.mouseSelection;if(n)return n.start(t),!1===n.dragging}else e.inputState.setSelectionOrigin("select.pointer");return!1};const on=$t.ie&&$t.ie_version<=11;let an=null,ln=0,hn=0;function cn(e){if(!on)return e.detail;let t=an,i=hn;return an=e,hn=Date.now(),ln=!t||i>Date.now()-400&&Math.abs(t.clientX-e.clientX)<2&&Math.abs(t.clientY-e.clientY)<2?(ln+1)%3:1}function dn(e,t,i,O){if(!(i=nn(e.state,vi,i)))return;let n=e.posAtCoords({x:t.clientX,y:t.clientY},!1),{draggedContent:r}=e.inputState,s=O&&r&&function(e,t){let i=e.state.facet(mi);return i.length?i[0](t):$t.mac?!t.altKey:!t.ctrlKey}(e,t)?{from:r.from,to:r.to}:null,o={from:n,insert:i},a=e.state.changes(s?[s,o]:o);e.focus(),e.dispatch({changes:a,selection:{anchor:a.mapPos(n,-1),head:a.mapPos(n,1)},userEvent:s?"move.drop":"input.drop"}),e.inputState.draggedContent=null}en.dragstart=(e,t)=>{let{selection:{main:i}}=e.state;if(t.target.draggable){let O=e.docView.tile.nearest(t.target);if(O&&O.isWidget()){let e=O.posAtStart,t=e+O.length;(e>=i.to||t<=i.from)&&(i=q.undirectionalRange(e,t))}}let{inputState:O}=e;return O.mouseSelection&&(O.mouseSelection.dragging=!0),O.draggedContent=i,t.dataTransfer&&(t.dataTransfer.setData("Text",nn(e.state,wi,e.state.sliceDoc(i.from,i.to))),t.dataTransfer.effectAllowed="copyMove"),!1},en.dragend=e=>(e.inputState.draggedContent=null,!1),en.drop=(e,t)=>{if(!t.dataTransfer)return!1;if(e.state.readOnly)return!0;let i=t.dataTransfer.files;if(i&&i.length){let O=Array(i.length),n=0,r=()=>{++n==i.length&&dn(e,t,O.filter(e=>null!=e).join(e.state.lineBreak),!1)};for(let e=0;e{/[\x00-\x08\x0e-\x1f]{2}/.test(t.result)||(O[e]=t.result),r()},t.readAsText(i[e])}return!0}{let i=t.dataTransfer.getData("Text");if(i)return dn(e,t,i,!0),!0}return!1},en.paste=(e,t)=>{if(e.state.readOnly)return!0;e.observer.flush();let i=On?null:t.clipboardData;return i?(rn(e,i.getData("text/plain")||i.getData("text/uri-list")),!0):(function(e){let t=e.dom.parentNode;if(!t)return;let i=t.appendChild(document.createElement("textarea"));i.style.cssText="position: fixed; left: -10000px; top: 10px",i.focus(),setTimeout(()=>{e.focus(),i.remove(),rn(e,i.value)},50)}(e),!1)};let un=null;en.copy=en.cut=(e,t)=>{if(!Rt(e.contentDOM,e.observer.selectionRange))return!1;let{text:i,ranges:O,linewise:n}=function(e){let t=[],i=[],O=!1;for(let O of e.selection.ranges)O.empty||(t.push(e.sliceDoc(O.from,O.to)),i.push(O));if(!t.length){let n=-1;for(let{from:O}of e.selection.ranges){let r=e.doc.lineAt(O);r.number>n&&(t.push(r.text),i.push({from:r.from,to:Math.min(e.doc.length,r.to+1)})),n=r.number}O=!0}return{text:nn(e,wi,t.join(e.lineBreak)),ranges:i,linewise:O}}(e.state);if(!i&&!n)return!1;un=n?i:null,"cut"!=t.type||e.state.readOnly||e.dispatch({changes:O,scrollIntoView:!0,userEvent:"delete.cut"});let r=On?null:t.clipboardData;return r?(r.clearData(),r.setData("text/plain",i),!0):(function(e,t){let i=e.dom.parentNode;if(!i)return;let O=i.appendChild(document.createElement("textarea"));O.style.cssText="position: fixed; left: -10000px; top: 10px",O.value=t,O.focus(),O.selectionEnd=t.length,O.selectionStart=0,setTimeout(()=>{O.remove(),e.focus()},50)}(e,i),!1)};const $n=ae.define();function fn(e,t){let i=[];for(let O of e.facet(yi)){let n=O(e,t);n&&i.push(n)}return i.length?e.update({effects:i,annotations:$n.of(!0)}):null}function pn(e){setTimeout(()=>{let t=e.hasFocus;if(t!=e.inputState.notifiedFocused){let i=fn(e.state,t);i?e.dispatch(i):e.update([])}},10)}tn.focus=e=>{e.inputState.lastFocusTime=Date.now(),e.scrollDOM.scrollTop||!e.inputState.lastScrollTop&&!e.inputState.lastScrollLeft||(e.scrollDOM.scrollTop=e.inputState.lastScrollTop,e.scrollDOM.scrollLeft=e.inputState.lastScrollLeft),pn(e)},tn.blur=e=>{e.observer.clearSelectionRange(),pn(e)},tn.compositionstart=tn.compositionupdate=e=>{e.observer.editContext||(null==e.inputState.compositionFirstChange&&(e.inputState.compositionFirstChange=!0),e.inputState.composing<0&&(e.inputState.composing=0))},tn.compositionend=e=>{e.observer.editContext||(e.inputState.composing=-1,e.inputState.compositionEndedAt=Date.now(),e.inputState.compositionPendingKey=!0,e.inputState.compositionPendingChange=e.observer.pendingRecords().length>0,e.inputState.compositionFirstChange=null,$t.chrome&&$t.android?e.observer.flushSoon():e.inputState.compositionPendingChange?Promise.resolve().then(()=>e.observer.flush()):setTimeout(()=>{e.inputState.composing<0&&e.docView.hasComposition&&e.update([])},50))},tn.contextmenu=e=>{e.inputState.lastContextMenu=Date.now()},en.beforeinput=(e,t)=>{var i,O;if("insertText"!=t.inputType&&"insertCompositionText"!=t.inputType||(e.inputState.insertingText=t.data,e.inputState.insertingTextAt=Date.now()),"insertReplacementText"==t.inputType&&e.observer.editContext){let O=null===(i=t.dataTransfer)||void 0===i?void 0:i.getData("text/plain"),n=t.getTargetRanges();if(O&&n.length){let t=n[0],i=e.posAtDOM(t.startContainer,t.startOffset),r=e.posAtDOM(t.endContainer,t.endOffset);return EO(e,{from:i,to:r,insert:e.state.toText(O)},null),!0}}let n;if($t.chrome&&$t.android&&(n=BO.find(e=>e.inputType==t.inputType))&&(e.observer.delayAndroidKey(n.key,n.keyCode),"Backspace"==n.key||"Delete"==n.key)){let t=(null===(O=window.visualViewport)||void 0===O?void 0:O.height)||0;setTimeout(()=>{var i;((null===(i=window.visualViewport)||void 0===i?void 0:i.height)||0)>t+10&&e.hasFocus&&(e.contentDOM.blur(),e.focus())},100)}return $t.ios&&"deleteContentForward"==t.inputType&&e.observer.flushSoon(),$t.safari&&"insertText"==t.inputType&&e.inputState.composing>=0&&setTimeout(()=>tn.compositionend(e,t),20),!1};const Qn=new Set,mn=["pre-wrap","normal","pre-line","break-spaces"];let gn=!1;function Sn(){gn=!1}class Pn{constructor(e){this.lineWrapping=e,this.doc=c.empty,this.heightSamples={},this.lineHeight=14,this.charWidth=7,this.textHeight=14,this.lineLength=30}heightForGap(e,t){let i=this.doc.lineAt(t).number-this.doc.lineAt(e).number+1;return this.lineWrapping&&(i+=Math.max(0,Math.ceil((t-e-i*this.lineLength*.5)/this.lineLength))),this.lineHeight*i}heightForLine(e){return this.lineWrapping?(1+Math.max(0,Math.ceil((e-this.lineLength)/Math.max(1,this.lineLength-5))))*this.lineHeight:this.lineHeight}setDoc(e){return this.doc=e,this}mustRefreshForWrapping(e){return mn.indexOf(e)>-1!=this.lineWrapping}mustRefreshForHeights(e){let t=!1;for(let i=0;i-1,o=Math.abs(t-this.lineHeight)>.3||this.lineWrapping!=s;if(this.lineWrapping=s,this.lineHeight=t,this.charWidth=i,this.textHeight=O,this.lineLength=n,o){this.heightSamples={};for(let e=0;e0}set outdated(e){this.flags=(e?2:0)|-3&this.flags}setHeight(e){this.height!=e&&(Math.abs(this.height-e)>wn&&(gn=!0),this.height=e)}replace(e,t,i){return bn.of(i)}decomposeLeft(e,t){t.push(this)}decomposeRight(e,t){t.push(this)}applyChanges(e,t,i,O){let n=this,r=i.doc;for(let s=O.length-1;s>=0;s--){let{fromA:o,toA:a,fromB:l,toB:h}=O[s],c=n.lineAt(o,vn.ByPosNoHeight,i.setDoc(t),0,0),d=c.to>=a?c:n.lineAt(a,vn.ByPosNoHeight,i,0,0);for(h+=d.to-a,a=d.to;s>0&&c.from<=O[s-1].toA;)o=O[s-1].fromA,l=O[s-1].fromB,s--,o2*n){let n=e[t-1];n.break?e.splice(--t,1,n.left,null,n.right):e.splice(--t,1,n.left,n.right),i+=1+n.break,O-=n.size}else{if(!(n>2*O))break;{let t=e[i];t.break?e.splice(i,1,t.left,null,t.right):e.splice(i,1,t.left,t.right),i+=2+t.break,n-=t.size}}else if(O=n&&r(this.lineAt(0,vn.ByPos,i,O,n))}setMeasuredHeight(e){let t=e.heights[e.index++];t<0?(this.spaceAbove=-t,t=e.heights[e.index++]):this.spaceAbove=0,this.setHeight(t)}updateHeight(e,t=0,i=!1,O){return O&&O.from<=t&&O.more&&this.setMeasuredHeight(O),this.outdated=!1,this}toString(){return`block(${this.length})`}}class Zn extends kn{constructor(e,t,i){super(e,t,null),this.collapsed=0,this.widgetHeight=0,this.breaks=0,this.spaceAbove=i}mainBlock(e,t){return new yn(t,this.length,e+this.spaceAbove,this.height-this.spaceAbove,this.breaks)}replace(e,t,i){let O=i[0];return 1==i.length&&(O instanceof Zn||O instanceof Rn&&4&O.flags)&&Math.abs(this.length-O.length)<10?(O instanceof Rn?O=new Zn(O.length,this.height,this.spaceAbove):O.height=this.height,this.outdated||(O.outdated=!1),O):bn.of(i)}updateHeight(e,t=0,i=!1,O){return O&&O.from<=t&&O.more?this.setMeasuredHeight(O):(i||this.outdated)&&(this.spaceAbove=0,this.setHeight(Math.max(this.widgetHeight,e.heightForLine(this.length-this.collapsed))+this.breaks*e.lineHeight)),this.outdated=!1,this}toString(){return`line(${this.length}${this.collapsed?-this.collapsed:""}${this.widgetHeight?":"+this.widgetHeight:""})`}}class Rn extends bn{constructor(e){super(e,0)}heightMetrics(e,t){let i,O=e.doc.lineAt(t).number,n=e.doc.lineAt(t+this.length).number,r=n-O+1,s=0;if(e.lineWrapping){let t=Math.min(this.height,e.lineHeight*r);i=t/r,this.length>r+1&&(s=(this.height-t)/(this.length-r-1))}else i=this.height/r;return{firstLine:O,lastLine:n,perLine:i,perChar:s}}blockAt(e,t,i,O){let{firstLine:n,lastLine:r,perLine:s,perChar:o}=this.heightMetrics(t,O);if(t.lineWrapping){let n=O+(e0){let e=i[i.length-1];e instanceof Rn?i[i.length-1]=new Rn(e.length+O):i.push(null,new Rn(O-1))}if(e>0){let t=i[0];t instanceof Rn?i[0]=new Rn(e+t.length):i.unshift(new Rn(e-1),null)}return bn.of(i)}decomposeLeft(e,t){t.push(new Rn(e-1),null)}decomposeRight(e,t){t.push(null,new Rn(this.length-e-1))}updateHeight(e,t=0,i=!1,O){let n=t+this.length;if(O&&O.from<=t+this.length&&O.more){let i=[],r=Math.max(t,O.from),s=-1;for(O.from>t&&i.push(new Rn(O.from-t-1).updateHeight(e,t));r<=n&&O.more;){let t=e.doc.lineAt(r).length;i.length&&i.push(null);let n=O.heights[O.index++],o=0;n<0&&(o=-n,n=O.heights[O.index++]),-1==s?s=n:Math.abs(n-s)>=wn&&(s=-2);let a=new Zn(t,n,o);a.outdated=!1,i.push(a),r+=t+1}r<=n&&i.push(null,new Rn(n-r).updateHeight(e,r));let o=bn.of(i);return(s<0||Math.abs(o.height-this.height)>=wn||Math.abs(s-this.heightMetrics(e,t).perLine)>=wn)&&(gn=!0),xn(this,o)}return(i||this.outdated)&&(this.setHeight(e.heightForGap(t,t+this.length)),this.outdated=!1),this}toString(){return`gap(${this.length})`}}class zn extends bn{constructor(e,t,i){super(e.length+t+i.length,e.height+i.height,t|(e.outdated||i.outdated?2:0)),this.left=e,this.right=i,this.size=e.size+i.size}get break(){return 1&this.flags}blockAt(e,t,i,O){let n=i+this.left.height;return es))return a;let l=t==vn.ByPosNoHeight?vn.ByPosNoHeight:vn.ByPos;return o?a.join(this.right.lineAt(s,l,i,r,s)):this.left.lineAt(s,l,i,O,n).join(a)}forEachLine(e,t,i,O,n,r){let s=O+this.left.height,o=n+this.left.length+this.break;if(this.break)e=o&&this.right.forEachLine(e,t,i,s,o,r);else{let a=this.lineAt(o,vn.ByPos,i,O,n);e=e&&a.from<=t&&r(a),t>a.to&&this.right.forEachLine(a.to+1,t,i,s,o,r)}}replace(e,t,i){let O=this.left.length+this.break;if(tthis.left.length)return this.balanced(this.left,this.right.replace(e-O,t-O,i));let n=[];e>0&&this.decomposeLeft(e,n);let r=n.length;for(let e of i)n.push(e);if(e>0&&_n(n,r-1),t=i&&t.push(null)),e>i&&this.right.decomposeLeft(e-i,t)}decomposeRight(e,t){let i=this.left.length,O=i+this.break;if(e>=O)return this.right.decomposeRight(e-O,t);e2*t.size||t.size>2*e.size?bn.of(this.break?[e,null,t]:[e,t]):(this.left=xn(this.left,e),this.right=xn(this.right,t),this.setHeight(e.height+t.height),this.outdated=e.outdated||t.outdated,this.size=e.size+t.size,this.length=e.length+this.break+t.length,this)}updateHeight(e,t=0,i=!1,O){let{left:n,right:r}=this,s=t+n.length+this.break,o=null;return O&&O.from<=t+n.length&&O.more?o=n=n.updateHeight(e,t,i,O):n.updateHeight(e,t,i),O&&O.from<=s+r.length&&O.more?o=r=r.updateHeight(e,s,i,O):r.updateHeight(e,s,i),o?this.balanced(n,r):(this.height=this.left.height+this.right.height,this.outdated=!1,this)}toString(){return this.left+(this.break?" ":"-")+this.right}}function _n(e,t){let i,O;null==e[t]&&(i=e[t-1])instanceof Rn&&(O=e[t+1])instanceof Rn&&e.splice(t-1,3,new Rn(i.length+1+O.length))}class Yn{constructor(e,t){this.pos=e,this.oracle=t,this.nodes=[],this.lineStart=-1,this.lineEnd=-1,this.covering=null,this.writtenTo=e}get isCovered(){return this.covering&&this.nodes[this.nodes.length-1]==this.covering}span(e,t){if(this.lineStart>-1){let e=Math.min(t,this.lineEnd),i=this.nodes[this.nodes.length-1];i instanceof Zn?i.length+=e-this.pos:(e>this.pos||!this.isCovered)&&this.nodes.push(new Zn(e-this.pos,-1,0)),this.writtenTo=e,t>e&&(this.nodes.push(null),this.writtenTo++,this.lineStart=-1)}this.pos=t}point(e,t,i){if(e=5)&&this.addLineDeco(O,n,r)}else t>e&&this.span(e,t);this.lineEnd>-1&&this.lineEnd-1)return;let{from:e,to:t}=this.oracle.doc.lineAt(this.pos);this.lineStart=e,this.lineEnd=t,this.writtenToe&&this.nodes.push(new Zn(this.pos-e,-1,0)),this.writtenTo=this.pos}blankContent(e,t){let i=new Rn(t-e);return this.oracle.doc.lineAt(e).to==t&&(i.flags|=4),i}ensureLine(){this.enterLine();let e=this.nodes.length?this.nodes[this.nodes.length-1]:null;if(e instanceof Zn)return e;let t=new Zn(0,-1,0);return this.nodes.push(t),t}addBlock(e){this.enterLine();let t=e.deco;t&&t.startSide>0&&!this.isCovered&&this.ensureLine(),this.nodes.push(e),this.writtenTo=this.pos=this.pos+e.length,t&&t.endSide>0&&(this.covering=e)}addLineDeco(e,t,i){let O=this.ensureLine();O.length+=i,O.collapsed+=i,O.widgetHeight=Math.max(O.widgetHeight,e),O.breaks+=t,this.writtenTo=this.pos=this.pos+i}finish(e){let t=0==this.nodes.length?null:this.nodes[this.nodes.length-1];!(this.lineStart>-1)||t instanceof Zn||this.isCovered?(this.writtenToi.clientHeight||i.scrollWidth>i.clientWidth)&&"visible"!=O.overflow){let O=i.getBoundingClientRect();r=Math.max(r,O.left),s=Math.min(s,O.right),o=Math.max(o,O.top),a=Math.min(t==e.parentNode?n.innerHeight:a,O.bottom)}t="absolute"==O.position||"fixed"==O.position?i.offsetParent:i.parentNode}else{if(11!=t.nodeType)break;t=t.host}return{left:r-i.left,right:Math.max(r,s)-i.left,top:o-(i.top+t),bottom:Math.max(o,a)-(i.top+t)}}function Wn(e,t){let i=e.getBoundingClientRect();return{left:0,right:i.right-i.left,top:t,bottom:i.bottom-(i.top+t)}}class Un{constructor(e,t,i,O){this.from=e,this.to=t,this.size=i,this.displaySize=O}static same(e,t){if(e.length!=t.length)return!1;for(let i=0;i"function"!=typeof e&&"cm-lineWrapping"==e.class);this.heightOracle=new Pn(i),this.stateDeco=Dn(t),this.heightMap=bn.empty().applyChanges(this.stateDeco,c.empty,this.heightOracle.setDoc(t.doc),[new Bi(0,0,0,t.doc.length)]);for(let e=0;e<2&&(this.viewport=this.getViewport(0,null),this.updateForViewport());e++);this.updateViewportLines(),this.lineGaps=this.ensureLineGaps([]),this.lineGapDeco=Tt.set(this.lineGaps.map(e=>e.draw(this,!1))),this.scrollParent=e.scrollDOM,this.computeVisibleRanges()}updateForViewport(){let e=[this.viewport],{main:t}=this.state.selection;for(let i=0;i<=1;i++){let O=i?t.head:t.anchor;if(!e.some(({from:e,to:t})=>O>=e&&O<=t)){let{from:t,to:i}=this.lineBlockAt(O);e.push(new Cn(t,i))}}return this.viewports=e.sort((e,t)=>e.from-t.from),this.updateScaler()}updateScaler(){let e=this.scaler;return this.scaler=this.heightMap.height<=7e6?Mn:new Ln(this.heightOracle,this.heightMap,this.viewports),e.eq(this.scaler)?0:2}updateViewportLines(){this.viewportLines=[],this.heightMap.forEachLine(this.viewport.from,this.viewport.to,this.heightOracle.setDoc(this.state.doc),0,0,e=>{this.viewportLines.push(In(e,this.scaler))})}update(e,t=null){this.state=e.state;let i=this.stateDeco;this.stateDeco=Dn(this.state);let O=e.changedRanges,n=Bi.extendWithRanges(O,function(e,t,i){let O=new Vn;return ke.compare(e,t,i,O,0),O.changes}(i,this.stateDeco,e?e.changes:X.empty(this.state.doc.length))),r=this.heightMap.height,s=this.scrolledToBottom?null:this.scrollAnchorAt(this.scrollOffset);Sn(),this.heightMap=this.heightMap.applyChanges(this.stateDeco,e.startState.doc,this.heightOracle.setDoc(this.state.doc),n),(this.heightMap.height!=r||gn)&&(e.flags|=2),s?(this.scrollAnchorPos=e.changes.mapPos(s.from,-1),this.scrollAnchorHeight=s.top):(this.scrollAnchorPos=-1,this.scrollAnchorHeight=r);let o=n.length?this.mapViewport(this.viewport,e.changes):this.viewport;(t&&(t.range.heado.to)||!this.viewportIsAppropriate(o))&&(o=this.getViewport(0,t));let a=o.from!=this.viewport.from||o.to!=this.viewport.to;this.viewport=o,e.flags|=this.updateForViewport(),(a||!e.changes.empty||2&e.flags)&&this.updateViewportLines(),(this.lineGaps.length||this.viewport.to-this.viewport.from>4e3)&&this.updateLineGaps(this.ensureLineGaps(this.mapLineGaps(this.lineGaps,e.changes))),e.flags|=this.computeVisibleRanges(e.changes),t&&(this.scrollTarget=t),!this.mustEnforceCursorAssoc&&(e.selectionSet||e.focusChanged)&&e.view.lineWrapping&&e.state.selection.main.empty&&e.state.selection.main.assoc&&!e.state.facet(xi)&&(this.mustEnforceCursorAssoc=!0)}measure(){let{view:e}=this,t=e.contentDOM,i=window.getComputedStyle(t),O=this.heightOracle,n=i.whiteSpace;this.defaultTextDirection="rtl"==i.direction?Kt.RTL:Kt.LTR;let r=this.heightOracle.mustRefreshForWrapping(n)||"refresh"===this.mustMeasureContent,s=t.getBoundingClientRect(),o=r||this.mustMeasureContent||this.contentDOMHeight!=s.height;this.contentDOMHeight=s.height,this.mustMeasureContent=!1;let a=0,l=0;if(s.width&&s.height){let{scaleX:e,scaleY:i}=Gt(t,s);(e>.005&&Math.abs(this.scaleX-e)>.005||i>.005&&Math.abs(this.scaleY-i)>.005)&&(this.scaleX=e,this.scaleY=i,a|=16,r=o=!0)}let h=(parseInt(i.paddingTop)||0)*this.scaleY,d=(parseInt(i.paddingBottom)||0)*this.scaleY;this.paddingTop==h&&this.paddingBottom==d||(this.paddingTop=h,this.paddingBottom=d,a|=18),this.editorWidth!=e.scrollDOM.clientWidth&&(O.lineWrapping&&(o=!0),this.editorWidth=e.scrollDOM.clientWidth,a|=16);let u=Ct(this.view.contentDOM,!1).y;u!=this.scrollParent&&(this.scrollParent=u,this.scrollAnchorHeight=-1,this.scrollOffset=0);let $=this.getScrollOffset();this.scrollOffset!=$&&(this.scrollAnchorHeight=-1,this.scrollOffset=$),this.scrolledToBottom=Nt(this.scrollParent||e.win);let f=(this.printing?Wn:qn)(t,this.paddingTop),p=f.top-this.pixelViewport.top,Q=f.bottom-this.pixelViewport.bottom;this.pixelViewport=f;let m=this.pixelViewport.bottom>this.pixelViewport.top&&this.pixelViewport.right>this.pixelViewport.left;if(m!=this.inView&&(this.inView=m,m&&(o=!0)),!this.inView&&!this.scrollTarget&&!function(e){let t=e.getBoundingClientRect(),i=e.ownerDocument.defaultView||window;return t.left0&&t.top0}(e.dom))return 0;let g=s.width;if(this.contentDOMWidth==g&&this.editorHeight==e.scrollDOM.clientHeight||(this.contentDOMWidth=s.width,this.editorHeight=e.scrollDOM.clientHeight,a|=16),o){let t=e.docView.measureVisibleLineHeights(this.viewport);if(O.mustRefreshForHeights(t)&&(r=!0),r||O.lineWrapping&&Math.abs(g-this.contentDOMWidth)>O.charWidth){let{lineHeight:i,charWidth:s,textHeight:o}=e.docView.measureTextSize();r=i>0&&O.refresh(n,i,s,o,Math.max(5,g/s),t),r&&(e.docView.minWidth=0,a|=16)}p>0&&Q>0?l=Math.max(p,Q):p<0&&Q<0&&(l=Math.min(p,Q)),Sn();for(let i of this.viewports){let n=i.from==this.viewport.from?t:e.docView.measureVisibleLineHeights(i);this.heightMap=(r?bn.empty().applyChanges(this.stateDeco,c.empty,this.heightOracle,[new Bi(0,0,0,e.state.doc.length)]):this.heightMap).updateHeight(O,0,r,new Tn(i.from,n))}gn&&(a|=2)}let S=!this.viewportIsAppropriate(this.viewport,l)||this.scrollTarget&&(this.scrollTarget.range.headthis.viewport.to);return S&&(2&a&&(a|=this.updateScaler()),this.viewport=this.getViewport(l,this.scrollTarget),a|=this.updateForViewport()),(2&a||S)&&this.updateViewportLines(),(this.lineGaps.length||this.viewport.to-this.viewport.from>4e3)&&this.updateLineGaps(this.ensureLineGaps(r?[]:this.lineGaps,e)),a|=this.computeVisibleRanges(),this.mustEnforceCursorAssoc&&(this.mustEnforceCursorAssoc=!1,e.docView.enforceCursorAssoc()),a}get visibleTop(){return this.scaler.fromDOM(this.pixelViewport.top)}get visibleBottom(){return this.scaler.fromDOM(this.pixelViewport.bottom)}getViewport(e,t){let i=.5-Math.max(-.5,Math.min(.5,e/1e3/2)),O=this.heightMap,n=this.heightOracle,{visibleTop:r,visibleBottom:s}=this,o=new Cn(O.lineAt(r-1e3*i,vn.ByHeight,n,0,0).from,O.lineAt(s+1e3*(1-i),vn.ByHeight,n,0,0).to);if(t){let{head:e}=t.range;if(eo.to){let i,r=Math.min(this.editorHeight,this.pixelViewport.bottom-this.pixelViewport.top),s=O.lineAt(e,vn.ByPos,n,0,0);i="center"==t.y?(s.top+s.bottom)/2-r/2:"start"==t.y||"nearest"==t.y&&e=s+Math.max(10,Math.min(i,250)))&&O>r-2e3&&n>1,r=O<<1;if(this.defaultTextDirection!=Kt.LTR&&!i)return[];let s=[],o=(O,r,a,l)=>{if(r-OO&&ee.from>=a.from&&e.to<=a.to&&Math.abs(e.from-O)e.fromt));if(!d){if(re.from<=r&&e.to>=r)){let e=t.moveToLineBoundary(q.cursor(r),!1,!0).head;e>O&&(r=e)}let e=this.gapSize(a,O,r,l);d=new Un(O,r,e,i||e<2e6?e:2e6)}s.push(d)},a=t=>{if(t.lengthn&&(O.push({from:n,to:e}),r+=e-n),n=t}},20),n2e6)for(let i of e)i.from>=t.from&&i.fromt.from&&o(t.from,s,t,n),ae.draw(this,this.heightOracle.lineWrapping))))}computeVisibleRanges(e){let t=this.stateDeco;this.lineGaps.length&&(t=t.concat(this.lineGapDeco));let i=[];ke.spans(t,this.viewport.from,this.viewport.to,{span(e,t){i.push({from:e,to:t})},point(){}},20);let O=0;if(i.length!=this.visibleRanges.length)O=12;else for(let t=0;t=this.viewport.from&&e<=this.viewport.to&&this.viewportLines.find(t=>t.from<=e&&t.to>=e)||In(this.heightMap.lineAt(e,vn.ByPos,this.heightOracle,0,0),this.scaler)}lineBlockAtHeight(e){return e>=this.viewportLines[0].top&&e<=this.viewportLines[this.viewportLines.length-1].bottom&&this.viewportLines.find(t=>t.top<=e&&t.bottom>=e)||In(this.heightMap.lineAt(this.scaler.fromDOM(e),vn.ByHeight,this.heightOracle,0,0),this.scaler)}getScrollOffset(){return(this.scrollParent==this.view.scrollDOM?this.scrollParent.scrollTop:(this.scrollParent?this.scrollParent.getBoundingClientRect().top:0)-this.view.contentDOM.getBoundingClientRect().top)*this.scaleY}scrollAnchorAt(e){let t=this.lineBlockAtHeight(e+8);return t.from>=this.viewport.from||this.viewportLines[0].top-e>200?t:this.viewportLines[0]}elementAtHeight(e){return In(this.heightMap.blockAt(this.scaler.fromDOM(e),this.heightOracle,0,0),this.scaler)}get docHeight(){return this.scaler.toDOM(this.heightMap.height)}get contentHeight(){return this.docHeight+this.paddingTop+this.paddingBottom}}class Cn{constructor(e,t){this.from=e,this.to=t}}function An({total:e,ranges:t},i){if(i<=0)return t[0].from;if(i>=1)return t[t.length-1].to;let O=Math.floor(e*i);for(let e=0;;e++){let{from:i,to:n}=t[e],r=n-i;if(O<=r)return i+O;O-=r}}function En(e,t){let i=0;for(let{from:O,to:n}of e.ranges){if(t<=n){i+=t-O;break}i+=n-O}return i/e.total}const Mn={toDOM:e=>e,fromDOM:e=>e,scale:1,eq(e){return e==this}};function Dn(e){let t=e.facet(Gi).filter(e=>"function"!=typeof e),i=e.facet(Ai).filter(e=>"function"!=typeof e);return i.length&&t.push(ke.join(i)),t}class Ln{constructor(e,t,i){let O=0,n=0,r=0;this.viewports=i.map(({from:i,to:n})=>{let r=t.lineAt(i,vn.ByPos,e,0,0).top,s=t.lineAt(n,vn.ByPos,e,0,0).bottom;return O+=s-r,{from:i,to:n,top:r,bottom:s,domTop:0,domBottom:0}}),this.scale=(7e6-O)/(t.height-O);for(let e of this.viewports)e.domTop=r+(e.top-n)*this.scale,r=e.domBottom=e.domTop+(e.bottom-e.top),n=e.bottom}toDOM(e){for(let t=0,i=0,O=0;;t++){let n=tt.from==e.viewports[i].from&&t.to==e.viewports[i].to)}}function In(e,t){if(1==t.scale)return e;let i=t.toDOM(e.top),O=t.toDOM(e.bottom);return new yn(e.from,e.length,i,O-i,Array.isArray(e._content)?e._content.map(e=>In(e,t)):e._content)}const Nn=j.define({combine:e=>e.join(" ")}),Bn=j.define({combine:e=>e.indexOf(!0)>-1}),Fn=Le.newName(),Hn=Le.newName(),Kn=Le.newName(),Jn={"&light":"."+Hn,"&dark":"."+Kn};function er(e,t,i){return new Le(t,{finish:t=>/&/.test(t)?t.replace(/&\w*/,t=>{if("&"==t)return e;if(!i||!i[t])throw new RangeError(`Unsupported selector: ${t}`);return i[t]}):e+" "+t})}const tr=er("."+Fn,{"&":{position:"relative !important",boxSizing:"border-box","&.cm-focused":{outline:"1px dotted #212121"},display:"flex !important",flexDirection:"column"},".cm-scroller":{display:"flex !important",alignItems:"flex-start !important",fontFamily:"monospace",lineHeight:1.4,height:"100%",overflowX:"auto",position:"relative",zIndex:0,overflowAnchor:"none"},".cm-content":{margin:0,flexGrow:2,flexShrink:0,display:"block",whiteSpace:"pre",wordWrap:"normal",boxSizing:"border-box",minHeight:"100%",padding:"4px 0",outline:"none","&[contenteditable=true]":{WebkitUserModify:"read-write-plaintext-only"}},".cm-lineWrapping":{whiteSpace_fallback:"pre-wrap",whiteSpace:"break-spaces",wordBreak:"break-word",overflowWrap:"anywhere",flexShrink:1},"&light .cm-content":{caretColor:"black"},"&dark .cm-content":{caretColor:"white"},".cm-line":{display:"block",padding:"0 2px 0 6px"},".cm-layer":{userSelect:"none",position:"absolute",left:0,top:0,contain:"size style","& > *":{position:"absolute"}},"&light .cm-selectionBackground":{background:"#d9d9d9"},"&dark .cm-selectionBackground":{background:"#222"},"&light.cm-focused > .cm-scroller > .cm-selectionLayer .cm-selectionBackground":{background:"#d7d4f0"},"&dark.cm-focused > .cm-scroller > .cm-selectionLayer .cm-selectionBackground":{background:"#233"},".cm-cursorLayer":{pointerEvents:"none"},"&.cm-focused > .cm-scroller > .cm-cursorLayer":{animation:"steps(1) cm-blink 1.2s infinite"},"@keyframes cm-blink":{"0%":{},"50%":{opacity:0},"100%":{}},"@keyframes cm-blink2":{"0%":{},"50%":{opacity:0},"100%":{}},".cm-cursor, .cm-dropCursor":{borderLeft:"1.2px solid black",marginLeft:"-0.6px",pointerEvents:"none"},".cm-cursor":{display:"none"},"&dark .cm-cursor":{borderLeftColor:"#ddd"},".cm-selectionHandle":{backgroundColor:"currentColor",width:"1.5px"},".cm-selectionHandle-start::before, .cm-selectionHandle-end::before":{content:'""',backgroundColor:"inherit",borderRadius:"50%",width:"8px",height:"8px",position:"absolute",left:"-3.25px"},".cm-selectionHandle-start::before":{top:"-8px"},".cm-selectionHandle-end::before":{bottom:"-8px"},".cm-dropCursor":{position:"absolute"},"&.cm-focused > .cm-scroller > .cm-cursorLayer .cm-cursor":{display:"block"},".cm-iso":{unicodeBidi:"isolate"},".cm-announced":{position:"fixed",top:"-10000px"},"@media print":{".cm-announced":{display:"none"}},"&light .cm-activeLine":{backgroundColor:"#cceeff44"},"&dark .cm-activeLine":{backgroundColor:"#99eeff33"},"&light .cm-specialChar":{color:"red"},"&dark .cm-specialChar":{color:"#f78"},".cm-gutters":{flexShrink:0,display:"flex",height:"100%",boxSizing:"border-box",zIndex:200},".cm-gutters-before":{insetInlineStart:0},".cm-gutters-after":{insetInlineEnd:0},"&light .cm-gutters":{backgroundColor:"#f5f5f5",color:"#6c6c6c",border:"0px solid #ddd","&.cm-gutters-before":{borderRightWidth:"1px"},"&.cm-gutters-after":{borderLeftWidth:"1px"}},"&dark .cm-gutters":{backgroundColor:"#333338",color:"#ccc"},".cm-gutter":{display:"flex !important",flexDirection:"column",flexShrink:0,boxSizing:"border-box",minHeight:"100%",overflow:"hidden"},".cm-gutterElement":{boxSizing:"border-box"},".cm-lineNumbers .cm-gutterElement":{padding:"0 3px 0 5px",minWidth:"20px",textAlign:"right",whiteSpace:"nowrap"},"&light .cm-activeLineGutter":{backgroundColor:"#e2f2ff"},"&dark .cm-activeLineGutter":{backgroundColor:"#222227"},".cm-panels":{boxSizing:"border-box",position:"sticky",left:0,right:0,zIndex:300},"&light .cm-panels":{backgroundColor:"#f5f5f5",color:"black"},"&light .cm-panels-top":{borderBottom:"1px solid #ddd"},"&light .cm-panels-bottom":{borderTop:"1px solid #ddd"},"&dark .cm-panels":{backgroundColor:"#333338",color:"white"},".cm-dialog":{padding:"2px 19px 4px 6px",position:"relative","& label":{fontSize:"80%"}},".cm-dialog-close":{position:"absolute",top:"3px",right:"4px",backgroundColor:"inherit",border:"none",font:"inherit",fontSize:"14px",padding:"0"},".cm-tab":{display:"inline-block",overflow:"hidden",verticalAlign:"bottom"},".cm-widgetBuffer":{verticalAlign:"text-top",height:"1em",width:0,display:"inline"},".cm-placeholder":{color:"#888",display:"inline-block",verticalAlign:"top",userSelect:"none"},".cm-highlightSpace":{backgroundImage:"radial-gradient(circle at 50% 55%, #aaa 20%, transparent 5%)",backgroundPosition:"center"},".cm-highlightTab":{backgroundImage:'url(\'data:image/svg+xml,\')',backgroundSize:"auto 100%",backgroundPosition:"right 90%",backgroundRepeat:"no-repeat"},".cm-trailingSpace":{backgroundColor:"#ff332255"},".cm-button":{verticalAlign:"middle",color:"inherit",fontSize:"70%",padding:".2em 1em",borderRadius:"1px"},"&light .cm-button":{backgroundImage:"linear-gradient(#eff1f5, #d9d9df)",border:"1px solid #888","&:active":{backgroundImage:"linear-gradient(#b4b4b4, #d0d3d6)"}},"&dark .cm-button":{backgroundImage:"linear-gradient(#393939, #111)",border:"1px solid #888","&:active":{backgroundImage:"linear-gradient(#111, #333)"}},".cm-textfield":{verticalAlign:"middle",color:"inherit",fontSize:"70%",border:"1px solid silver",padding:".2em .5em"},"&light .cm-textfield":{backgroundColor:"white"},"&dark .cm-textfield":{border:"1px solid #555",backgroundColor:"inherit"}},Jn),ir={childList:!0,characterData:!0,subtree:!0,attributes:!0,characterDataOldValue:!0},Or=$t.ie&&$t.ie_version<=11;class nr{constructor(e){this.view=e,this.active=!1,this.editContext=null,this.selectionRange=new At,this.selectionChanged=!1,this.delayedFlush=-1,this.resizeTimeout=-1,this.queue=[],this.delayedAndroidKey=null,this.flushingAndroidKey=-1,this.lastChange=0,this.scrollTargets=[],this.intersection=null,this.resizeScroll=null,this.intersecting=!1,this.gapIntersection=null,this.gaps=[],this.printQuery=null,this.parentCheck=-1,this.dom=e.contentDOM,this.observer=new MutationObserver(t=>{for(let e of t)this.queue.push(e);($t.ie&&$t.ie_version<=11||$t.ios&&e.composing)&&t.some(e=>"childList"==e.type&&e.removedNodes.length||"characterData"==e.type&&e.oldValue.length>e.target.nodeValue.length)?this.flushSoon():this.flush()}),!window.EditContext||!$t.android||!1===e.constructor.EDIT_CONTEXT||$t.chrome&&$t.chrome_version<126||(this.editContext=new or(e),e.state.facet(_i)&&(e.contentDOM.editContext=this.editContext.editContext)),Or&&(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")),"function"==typeof ResizeObserver&&(this.resizeScroll=new ResizeObserver(()=>{var e;(null===(e=this.view.docView)||void 0===e?void 0:e.lastUpdate){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(e){this.view.inputState.runHandlers("scroll",e),this.intersecting&&this.view.measure()}onScroll(e){this.intersecting&&this.flush(!1),this.editContext&&this.view.requestMeasure(this.editContext.measureReq),this.onScrollChanged(e)}onResize(){this.resizeTimeout<0&&(this.resizeTimeout=setTimeout(()=>{this.resizeTimeout=-1,this.view.requestMeasure()},50))}onPrint(e){("change"!=e.type&&e.type||e.matches)&&(this.view.viewState.printing=!0,this.view.measure(),setTimeout(()=>{this.view.viewState.printing=!1,this.view.requestMeasure()},500))}updateGaps(e){if(this.gapIntersection&&(e.length!=this.gaps.length||this.gaps.some((t,i)=>t!=e[i]))){this.gapIntersection.disconnect();for(let t of e)this.gapIntersection.observe(t);this.gaps=e}}onSelectionChange(e){let t=this.selectionChanged;if(!this.readSelectionRange()||this.delayedAndroidKey)return;let{view:i}=this,O=this.selectionRange;if(i.state.facet(_i)?i.root.activeElement!=this.dom:!Rt(this.dom,O))return;let n=O.anchorNode&&i.docView.tile.nearest(O.anchorNode);n&&n.isWidget()&&n.widget.ignoreEvent(e)?t||(this.selectionChanged=!1):($t.ie&&$t.ie_version<=11||$t.android&&$t.chrome)&&!i.state.selection.main.empty&&O.focusNode&&_t(O.focusNode,O.focusOffset,O.anchorNode,O.anchorOffset)?this.flushSoon():this.flush(!1)}readSelectionRange(){let{view:e}=this,t=kt(e.root);if(!t)return!1;let i=$t.safari&&11==e.root.nodeType&&e.root.activeElement==this.dom&&function(e,t){if(t.getComposedRanges){let i=t.getComposedRanges(e.root)[0];if(i)return sr(e,i)}let i=null;function O(e){e.preventDefault(),e.stopImmediatePropagation(),i=e.getTargetRanges()[0]}return e.contentDOM.addEventListener("beforeinput",O,!0),e.dom.ownerDocument.execCommand("indent"),e.contentDOM.removeEventListener("beforeinput",O,!0),i?sr(e,i):null}(this.view,t)||t;if(!i||this.selectionRange.eq(i))return!1;let O=Rt(this.dom,i);return O&&!this.selectionChanged&&e.inputState.lastFocusTime>Date.now()-200&&e.inputState.lastTouchTime{let e=this.delayedAndroidKey;e&&(this.clearDelayedAndroidKey(),this.view.inputState.lastKeyCode=e.keyCode,this.view.inputState.lastKeyTime=Date.now(),!this.flush()&&e.force&&It(this.dom,e.key,e.keyCode))};this.flushingAndroidKey=this.view.win.requestAnimationFrame(e)}this.delayedAndroidKey&&"Enter"!=e||(this.delayedAndroidKey={key:e,keyCode:t,force:this.lastChange{this.delayedFlush=-1,this.flush()}))}forceFlush(){this.delayedFlush>=0&&(this.view.win.cancelAnimationFrame(this.delayedFlush),this.delayedFlush=-1),this.flush()}pendingRecords(){for(let e of this.observer.takeRecords())this.queue.push(e);return this.queue}processRecords(){let e=this.pendingRecords();e.length&&(this.queue=[]);let t=-1,i=-1,O=!1;for(let n of e){let e=this.readMutation(n);e&&(e.typeOver&&(O=!0),-1==t?({from:t,to:i}=e):(t=Math.min(e.from,t),i=Math.max(e.to,i)))}return{from:t,to:i,typeOver:O}}readChange(){let{from:e,to:t,typeOver:i}=this.processRecords(),O=this.selectionChanged&&Rt(this.dom,this.selectionRange);if(e<0&&!O)return null;e>-1&&(this.lastChange=Date.now()),this.view.inputState.lastFocusTime=0,this.selectionChanged=!1;let n=new GO(this.view,e,t,i);return this.view.docView.domChanged={newSel:n.newSel?n.newSel.main:null},n}flush(e=!0){if(this.delayedFlush>=0||this.delayedAndroidKey)return!1;e&&this.readSelectionRange();let t=this.readChange();if(!t)return this.view.requestMeasure(),!1;let i=this.view.state,O=AO(this.view,t);return this.view.state==i&&(t.domChanged||t.newSel&&!DO(this.view.state.selection,t.newSel.main))&&this.view.update([]),O}readMutation(e){let t=this.view.docView.tile.nearest(e.target);if(!t||t.isWidget())return null;if(t.markDirty("attributes"==e.type),"childList"==e.type){let i=rr(t,e.previousSibling||e.target.previousSibling,-1),O=rr(t,e.nextSibling||e.target.nextSibling,1);return{from:i?t.posAfter(i):t.posAtStart,to:O?t.posBefore(O):t.posAtEnd,typeOver:!1}}return"characterData"==e.type?{from:t.posAtStart,to:t.posAtEnd,typeOver:e.target.nodeValue==e.oldValue}:null}setWindow(e){e!=this.win&&(this.removeWindowListeners(this.win),this.win=e,this.addWindowListeners(this.win))}addWindowListeners(e){e.addEventListener("resize",this.onResize),this.printQuery?this.printQuery.addEventListener?this.printQuery.addEventListener("change",this.onPrint):this.printQuery.addListener(this.onPrint):e.addEventListener("beforeprint",this.onPrint),e.addEventListener("scroll",this.onScroll),e.document.addEventListener("selectionchange",this.onSelectionChange)}removeWindowListeners(e){e.removeEventListener("scroll",this.onScroll),e.removeEventListener("resize",this.onResize),this.printQuery?this.printQuery.removeEventListener?this.printQuery.removeEventListener("change",this.onPrint):this.printQuery.removeListener(this.onPrint):e.removeEventListener("beforeprint",this.onPrint),e.document.removeEventListener("selectionchange",this.onSelectionChange)}update(e){this.editContext&&(this.editContext.update(e),e.startState.facet(_i)!=e.state.facet(_i)&&(e.view.contentDOM.editContext=e.state.facet(_i)?this.editContext.editContext:null))}destroy(){var e,t,i;this.stop(),null===(e=this.intersection)||void 0===e||e.disconnect(),null===(t=this.gapIntersection)||void 0===t||t.disconnect(),null===(i=this.resizeScroll)||void 0===i||i.disconnect();for(let e of this.scrollTargets)e.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 rr(e,t,i){for(;t;){let O=Ki.get(t);if(O&&O.parent==e)return O;let n=t.parentNode;t=n!=e.dom?n:i>0?t.nextSibling:t.previousSibling}return null}function sr(e,t){let i=t.startContainer,O=t.startOffset,n=t.endContainer,r=t.endOffset,s=e.docView.domAtPos(e.state.selection.main.anchor,1);return _t(s.node,s.offset,n,r)&&([i,O,n,r]=[n,r,i,O]),{anchorNode:i,anchorOffset:O,focusNode:n,focusOffset:r}}class or{constructor(e){this.from=0,this.to=0,this.pendingContextChange=null,this.handlers=Object.create(null),this.composing=null,this.resetRange(e.state);let t=this.editContext=new window.EditContext({text:e.state.doc.sliceString(this.from,this.to),selectionStart:this.toContextPos(Math.max(this.from,Math.min(this.to,e.state.selection.main.anchor))),selectionEnd:this.toContextPos(e.state.selection.main.head)});this.handlers.textupdate=i=>{let O=e.state.selection.main,{anchor:n,head:r}=O,s=this.toEditorPos(i.updateRangeStart),o=this.toEditorPos(i.updateRangeEnd);e.inputState.composing>=0&&!this.composing&&(this.composing={contextBase:i.updateRangeStart,editorBase:s,drifted:!1});let a=o-s>i.text.length;s==this.from&&nthis.to&&(o=n);let l=MO(e.state.sliceDoc(s,o),i.text,(a?O.from:O.to)-s,a?"end":null);if(!l){let t=q.single(this.toEditorPos(i.selectionStart),this.toEditorPos(i.selectionEnd));return void(DO(t,O)||e.dispatch({selection:t,userEvent:"select"}))}let h={from:l.from+s,to:l.toA+s,insert:c.of(i.text.slice(l.from,l.toB).split("\n"))};if(($t.mac||$t.android)&&h.from==r-1&&/^\. ?$/.test(i.text)&&"off"==e.contentDOM.getAttribute("autocorrect")&&(h={from:s,to:o,insert:c.of([i.text.replace("."," ")])}),this.pendingContextChange=h,!e.state.readOnly){let t=this.to-this.from+(h.to-h.from+h.insert.length);EO(e,h,q.single(this.toEditorPos(i.selectionStart,t),this.toEditorPos(i.selectionEnd,t)))}this.pendingContextChange&&(this.revertPending(e.state),this.setSelection(e.state)),h.from=0&&!/[\\p{Alphabetic}\\p{Number}_]/.test(t.text.slice(Math.max(0,i.updateRangeStart-1),Math.min(t.text.length,i.updateRangeStart+1)))&&this.handlers.compositionend(i)},this.handlers.characterboundsupdate=i=>{let O=[],n=null;for(let t=this.toEditorPos(i.rangeStart),r=this.toEditorPos(i.rangeEnd);t{let i=[];for(let e of t.getTextFormats()){let t=e.underlineStyle,O=e.underlineThickness;if(!/none/i.test(t)&&!/none/i.test(O)){let n=this.toEditorPos(e.rangeStart),r=this.toEditorPos(e.rangeEnd);if(n{e.inputState.composing<0&&(e.inputState.composing=0,e.inputState.compositionFirstChange=!0)},this.handlers.compositionend=()=>{if(e.inputState.composing=-1,e.inputState.compositionFirstChange=null,this.composing){let{drifted:t}=this.composing;this.composing=null,t&&this.reset(e.state)}};for(let e in this.handlers)t.addEventListener(e,this.handlers[e]);this.measureReq={read:e=>{let t=kt(e.root);t&&t.rangeCount&&this.editContext.updateSelectionBounds(t.getRangeAt(0).getBoundingClientRect())}}}applyEdits(e){let t=0,i=!1,O=this.pendingContextChange;return e.changes.iterChanges((n,r,s,o,a)=>{if(i)return;let l=a.length-(r-n);if(O&&r>=O.to){if(O.from==n&&O.to==r&&O.insert.eq(a))return O=this.pendingContextChange=null,t+=l,void(this.to+=l);O=null,this.revertPending(e.state)}if(n+=t,(r+=t)<=this.from)this.from+=l,this.to+=l;else if(nthis.to||this.to-this.from+a.length>3e4)return void(i=!0);this.editContext.updateText(this.toContextPos(n),this.toContextPos(r),a.toString()),this.to+=l}t+=l}),O&&!i&&this.revertPending(e.state),!i}update(e){let t=this.pendingContextChange,i=e.startState.selection.main;this.composing&&(this.composing.drifted||!e.changes.touchesRange(i.from,i.to)&&e.transactions.some(e=>!e.isUserEvent("input.type")&&e.changes.touchesRange(this.from,this.to)))?(this.composing.drifted=!0,this.composing.editorBase=e.changes.mapPos(this.composing.editorBase)):this.applyEdits(e)&&this.rangeIsValid(e.state)?(e.docChanged||e.selectionSet||t)&&this.setSelection(e.state):(this.pendingContextChange=null,this.reset(e.state)),(e.geometryChanged||e.docChanged||e.selectionSet)&&e.view.requestMeasure(this.measureReq)}resetRange(e){let{head:t}=e.selection.main;this.from=Math.max(0,t-1e4),this.to=Math.min(e.doc.length,t+1e4)}reset(e){this.resetRange(e),this.editContext.updateText(0,this.editContext.text.length,e.doc.sliceString(this.from,this.to)),this.setSelection(e)}revertPending(e){let t=this.pendingContextChange;this.pendingContextChange=null,this.editContext.updateText(this.toContextPos(t.from),this.toContextPos(t.from+t.insert.length),e.doc.sliceString(t.from,t.to))}setSelection(e){let{main:t}=e.selection,i=this.toContextPos(Math.max(this.from,Math.min(this.to,t.anchor))),O=this.toContextPos(t.head);this.editContext.selectionStart==i&&this.editContext.selectionEnd==O||this.editContext.updateSelection(i,O)}rangeIsValid(e){let{head:t}=e.selection.main;return!(this.from>0&&t-this.from<500||this.to3e4)}toEditorPos(e,t=this.to-this.from){e=Math.min(e,t);let i=this.composing;return i&&i.drifted?i.editorBase+(e-i.contextBase):e+this.from}toContextPos(e){let t=this.composing;return t&&t.drifted?t.contextBase+(e-t.editorBase):e-this.from}destroy(){for(let e in this.handlers)this.editContext.removeEventListener(e,this.handlers[e])}}class ar{get state(){return this.viewState.state}get viewport(){return this.viewState.viewport}get visibleRanges(){return this.viewState.visibleRanges}get inView(){return this.viewState.inView}get composing(){return!!this.inputState&&this.inputState.composing>0}get compositionStarted(){return!!this.inputState&&this.inputState.composing>=0}get root(){return this._root}get win(){return this.dom.ownerDocument.defaultView||window}constructor(e={}){var 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),e.parent&&e.parent.appendChild(this.dom);let{dispatch:i}=e;this.dispatchTransactions=e.dispatchTransactions||i&&(e=>e.forEach(e=>i(e,this)))||(e=>this.update(e)),this.dispatch=this.dispatch.bind(this),this._root=e.root||function(e){for(;e;){if(e&&(9==e.nodeType||11==e.nodeType&&e.host))return e;e=e.assignedSlot||e.parentNode}return null}(e.parent)||document,this.viewState=new Gn(this,e.state||Te.create(e)),e.scrollTo&&e.scrollTo.is(Zi)&&(this.viewState.scrollTarget=e.scrollTo.value.clip(this.viewState.state)),this.plugins=this.state.facet(Vi).map(e=>new Wi(e));for(let e of this.plugins)e.update(this);this.observer=new nr(this),this.inputState=new LO(this),this.inputState.ensureHandlers(this.plugins),this.docView=new PO(this),this.mountStyles(),this.updateAttrs(),this.updateState=0,this.requestMeasure(),(null===(t=document.fonts)||void 0===t?void 0:t.ready)&&document.fonts.ready.then(()=>{this.viewState.mustMeasureContent="refresh",this.requestMeasure()})}dispatch(...e){let t=1==e.length&&e[0]instanceof de?e:1==e.length&&Array.isArray(e[0])?e[0]:[this.state.update(...e)];this.dispatchTransactions(t,this)}update(e){if(0!=this.updateState)throw new Error("Calls to EditorView.update are not allowed while an update is in progress");let t,i=!1,O=!1,n=this.state;for(let t of e){if(t.startState!=n)throw new RangeError("Trying to update state with a transaction that doesn't start from the previous state.");n=t.state}if(this.destroyed)return void(this.viewState.state=n);let r=this.hasFocus,s=0,o=null;e.some(e=>e.annotation($n))?(this.inputState.notifiedFocused=r,s=1):r!=this.inputState.notifiedFocused&&(this.inputState.notifiedFocused=r,o=fn(n,r),o||(s=1));let a=this.observer.delayedAndroidKey,l=null;if(a?(this.observer.clearDelayedAndroidKey(),l=this.observer.readChange(),(l&&!this.state.doc.eq(n.doc)||!this.state.selection.eq(n.selection))&&(l=null)):this.observer.clear(),n.facet(Te.phrases)!=this.state.facet(Te.phrases))return this.setState(n);t=Fi.create(this,n,e),t.flags|=s;let h=this.viewState.scrollTarget;try{this.updateState=2;for(let t of e){if(h&&(h=h.map(t.changes)),t.scrollIntoView){let{main:e}=t.state.selection,{x:i,y:O}=this.state.facet(ar.cursorScrollMargin);h=new ki(e.empty?e:q.cursor(e.head,e.head>e.anchor?-1:1),"nearest","nearest",O,i)}for(let e of t.effects)e.is(Zi)&&(h=e.value.clip(this.state))}this.viewState.update(t,h),this.bidiCache=cr.update(this.bidiCache,t.changes),t.empty||(this.updatePlugins(t),this.inputState.update(t)),i=this.docView.update(t),this.state.facet(Ni)!=this.styleModules&&this.mountStyles(),O=this.updateAttrs(),this.showAnnouncements(e),this.docView.updateSelection(i,e.some(e=>e.isUserEvent("select.pointer")))}finally{this.updateState=0}if(t.startState.facet(Nn)!=t.state.facet(Nn)&&(this.viewState.mustMeasureContent=!0),(i||O||h||this.viewState.mustEnforceCursorAssoc||this.viewState.mustMeasureContent)&&this.requestMeasure(),i&&this.docViewUpdate(),!t.empty)for(let e of this.state.facet(Pi))try{e(t)}catch(e){zi(this.state,e,"update listener")}(o||l)&&Promise.resolve().then(()=>{o&&this.state==o.startState&&this.dispatch(o),l&&!AO(this,l)&&a.force&&It(this.contentDOM,a.key,a.keyCode)})}setState(e){if(0!=this.updateState)throw new Error("Calls to EditorView.setState are not allowed while an update is in progress");if(this.destroyed)return void(this.viewState.state=e);this.updateState=2;let t=this.hasFocus;try{for(let e of this.plugins)e.destroy(this);this.viewState=new Gn(this,e),this.plugins=e.facet(Vi).map(e=>new Wi(e)),this.pluginMap.clear();for(let e of this.plugins)e.update(this);this.docView.destroy(),this.docView=new PO(this),this.inputState.ensureHandlers(this.plugins),this.mountStyles(),this.updateAttrs(),this.bidiCache=[]}finally{this.updateState=0}t&&this.focus(),this.requestMeasure()}updatePlugins(e){let t=e.startState.facet(Vi),i=e.state.facet(Vi);if(t!=i){let O=[];for(let n of i){let i=t.indexOf(n);if(i<0)O.push(new Wi(n));else{let t=this.plugins[i];t.mustUpdate=e,O.push(t)}}for(let t of this.plugins)t.mustUpdate!=e&&t.destroy(this);this.plugins=O,this.pluginMap.clear()}else for(let t of this.plugins)t.mustUpdate=e;for(let e=0;e-1&&this.win.cancelAnimationFrame(this.measureScheduled),this.observer.delayedAndroidKey)return this.measureScheduled=-1,void this.requestMeasure();this.measureScheduled=0,e&&this.observer.forceFlush();let t=null,i=this.viewState.scrollParent,O=this.viewState.getScrollOffset(),{scrollAnchorPos:n,scrollAnchorHeight:r}=this.viewState;Math.abs(O-this.viewState.scrollOffset)>1&&(r=-1),this.viewState.scrollAnchorHeight=-1;try{for(let e=0;;e++){if(r<0)if(Nt(i||this.win))n=-1,r=this.viewState.heightMap.height;else{let e=this.viewState.scrollAnchorAt(O);n=e.from,r=e.top}this.updateState=1;let s=this.viewState.measure();if(!s&&!this.measureRequests.length&&null==this.viewState.scrollTarget)break;if(e>5)break;let o=[];4&s||([this.measureRequests,o]=[o,this.measureRequests]);let a=o.map(e=>{try{return e.read(this)}catch(e){return zi(this.state,e),hr}}),l=Fi.create(this,this.state,[]),h=!1;l.flags|=s,t?t.flags|=s:t=l,this.updateState=2,l.empty||(this.updatePlugins(l),this.inputState.update(l),this.updateAttrs(),h=this.docView.update(l),h&&this.docViewUpdate());for(let e=0;e1||e<-1)&&!($t.ios&&this.inputState.lastIOSMomentumScroll>Date.now()-100)&&(i==this.scrollDOM||this.hasFocus||Math.max(this.inputState.lastWheelEvent,this.inputState.lastTouchTime)>Date.now()-100)){O+=e,i?i.scrollTop+=e:this.win.scrollBy(0,e),r=-1;continue}}}break}}}finally{this.updateState=0,this.measureScheduled=-1}if(t&&!t.empty)for(let e of this.state.facet(Pi))e(t)}get themeClasses(){return Fn+" "+(this.state.facet(Bn)?Kn:Hn)+" "+this.state.facet(Nn)}updateAttrs(){let e=dr(this,Ui,{class:"cm-editor"+(this.hasFocus?" cm-focused ":" ")+this.themeClasses}),t={spellcheck:"false",autocorrect:"off",autocapitalize:"off",writingsuggestions:"false",translate:"no",contenteditable:this.state.facet(_i)?"true":"false",class:"cm-content",style:`${$t.tabSize}: ${this.state.tabSize}`,role:"textbox","aria-multiline":"true"};this.state.readOnly&&(t["aria-readonly"]="true"),dr(this,ji,t);let i=this.observer.ignore(()=>{let i=mt(this.contentDOM,this.contentAttrs,t),O=mt(this.dom,this.editorAttrs,e);return i||O});return this.editorAttrs=e,this.contentAttrs=t,i}showAnnouncements(e){let t=!0;for(let i of e)for(let e of i.effects)e.is(ar.announce)&&(t&&(this.announceDOM.textContent=""),t=!1,this.announceDOM.appendChild(document.createElement("div")).textContent=e.value)}mountStyles(){this.styleModules=this.state.facet(Ni);let e=this.state.facet(ar.cspNonce);Le.mount(this.root,this.styleModules.concat(tr).reverse(),e?{nonce:e}:void 0)}readMeasured(){if(2==this.updateState)throw new Error("Reading the editor layout isn't allowed during an update");0==this.updateState&&this.measureScheduled>-1&&this.measure(!1)}requestMeasure(e){if(this.measureScheduled<0&&(this.measureScheduled=this.win.requestAnimationFrame(()=>this.measure())),e){if(this.measureRequests.indexOf(e)>-1)return;if(null!=e.key)for(let t=0;tt.plugin==e)||null),t&&t.update(this).value}get documentTop(){return this.contentDOM.getBoundingClientRect().top+this.viewState.paddingTop}get documentPadding(){return{top:this.viewState.paddingTop,bottom:this.viewState.paddingBottom}}get scaleX(){return this.viewState.scaleX}get scaleY(){return this.viewState.scaleY}elementAtHeight(e){return this.readMeasured(),this.viewState.elementAtHeight(e)}lineBlockAtHeight(e){return this.readMeasured(),this.viewState.lineBlockAtHeight(e)}get viewportLineBlocks(){return this.viewState.viewportLines}lineBlockAt(e){return this.viewState.lineBlockAt(e)}get contentHeight(){return this.viewState.contentHeight}moveByChar(e,t,i){return RO(this,e,XO(this,e,t,i))}moveByGroup(e,t){return RO(this,e,XO(this,e,t,t=>function(e,t,i){let O=e.state.charCategorizer(t),n=O(i);return e=>{let t=O(e);return n==ge.Space&&(n=t),n==t}}(this,e.head,t)))}visualLineSide(e,t){let i=this.bidiSpans(e),O=this.textDirectionAt(e.from),n=i[t?i.length-1:0];return q.cursor(n.side(t,O)+e.from,n.forward(!t,O)?1:-1)}moveToLineBoundary(e,t,i=!0){return function(e,t,i,O){let n=xO(e,t.head,t.assoc||-1),r=O&&n.type==Pt.Text&&(e.lineWrapping||n.widgetLineBreaks)?e.coordsAtPos(t.assoc<0&&t.head>n.from?t.head-1:t.head):null;if(r){let t=e.dom.getBoundingClientRect(),O=e.textDirectionAt(n.from),s=e.posAtCoords({x:i==(O==Kt.LTR)?t.right-1:t.left+1,y:(r.top+r.bottom)/2});if(null!=s)return q.cursor(s,i?-1:1)}return q.cursor(i?n.to:n.from,i?-1:1)}(this,e,t,i)}moveVertically(e,t,i){return RO(this,e,function(e,t,i,O){let n=t.head,r=i?1:-1;if(n==(i?e.state.doc.length:0))return q.cursor(n,t.assoc);let s,o=t.goalColumn,a=e.contentDOM.getBoundingClientRect(),l=e.coordsAtPos(n,t.assoc||((t.empty?i:t.head==t.from)?1:-1)),h=e.documentTop;if(l)null==o&&(o=l.left-a.left),s=r<0?l.top:l.bottom;else{let t=e.viewState.lineBlockAt(n);null==o&&(o=Math.min(a.right-a.left,e.defaultCharacterWidth*(n-t.from))),s=(r<0?t.top:t.bottom)+h}let c=a.left+o,d=e.viewState.heightOracle.textHeight>>1,u=null!=O?O:d;for(let t=0;;t+=d){let O=s+(u+t)*r,n=_O(e,{x:c,y:O},!1,r);if(i?O>a.bottom:Os:hthis.viewport.to?this.textDirection:(this.readMeasured(),this.docView.textDirectionAt(e))}get lineWrapping(){return this.viewState.heightOracle.lineWrapping}bidiSpans(e){if(e.length>lr)return ui(e.length);let t,i=this.textDirectionAt(e.from);for(let O of this.bidiCache)if(O.from==e.from&&O.dir==i&&(O.fresh||li(O.isolates,t=Di(this,e))))return O.order;t||(t=Di(this,e));let O=function(e,t,i){if(!e)return[new ai(0,0,t==ei?1:0)];if(t==Jt&&!i.length&&!oi.test(e))return ui(e.length);if(i.length)for(;e.length>hi.length;)hi[hi.length]=256;let O=[],n=t==Jt?0:1;return di(e,n,n,i,0,e.length,O),O}(e.text,i,t);return this.bidiCache.push(new cr(e.from,e.to,i,t,!0,O)),O}get hasFocus(){var e;return(this.dom.ownerDocument.hasFocus()||$t.safari&&(null===(e=this.inputState)||void 0===e?void 0:e.lastContextMenu)>Date.now()-3e4)&&this.root.activeElement==this.contentDOM}focus(){this.observer.ignore(()=>{Dt(this.contentDOM),this.docView.updateSelection()})}setRoot(e){this._root!=e&&(this._root=e,this.observer.setWindow((9==e.nodeType?e:e.ownerDocument).defaultView||window),this.mountStyles())}destroy(){this.root.activeElement==this.contentDOM&&this.contentDOM.blur();for(let e of this.plugins)e.destroy(this);this.plugins=[],this.inputState.destroy(),this.docView.destroy(),this.dom.remove(),this.observer.destroy(),this.measureScheduled>-1&&this.win.cancelAnimationFrame(this.measureScheduled),this.destroyed=!0}static scrollIntoView(e,t={}){var i,O,n,r;return Zi.of(new ki("number"==typeof e?q.cursor(e):e,null!==(i=t.y)&&void 0!==i?i:"nearest",null!==(O=t.x)&&void 0!==O?O:"nearest",null!==(n=t.yMargin)&&void 0!==n?n:5,null!==(r=t.xMargin)&&void 0!==r?r:5))}scrollSnapshot(){let{scrollTop:e,scrollLeft:t}=this.scrollDOM,i=this.viewState.scrollAnchorAt(e);return Zi.of(new ki(q.cursor(i.from),"start","start",i.top-e,t,!0))}setTabFocusMode(e){null==e?this.inputState.tabFocusMode=this.inputState.tabFocusMode<0?0:-1:"boolean"==typeof e?this.inputState.tabFocusMode=e?0:-1:0!=this.inputState.tabFocusMode&&(this.inputState.tabFocusMode=Date.now()+e)}static domEventHandlers(e){return qi.define(()=>({}),{eventHandlers:e})}static domEventObservers(e){return qi.define(()=>({}),{eventObservers:e})}static theme(e,t){let i=Le.newName(),O=[Nn.of(i),Ni.of(er(`.${i}`,e))];return t&&t.dark&&O.push(Bn.of(!0)),O}static baseTheme(e){return N.lowest(Ni.of(er("."+Fn,e,Jn)))}static findFromDOM(e){var t;let i=e.querySelector(".cm-content"),O=i&&Ki.get(i)||Ki.get(e);return(null===(t=null==O?void 0:O.root)||void 0===t?void 0:t.view)||null}}ar.styleModule=Ni,ar.inputHandler=Ti,ar.clipboardInputFilter=vi,ar.clipboardOutputFilter=wi,ar.scrollHandler=Xi,ar.focusChangeEffect=yi,ar.perLineTextDirection=bi,ar.exceptionSink=Si,ar.updateListener=Pi,ar.editable=_i,ar.mouseSelectionStyle=gi,ar.dragMovesSelection=mi,ar.clickAddsSelectionRange=Qi,ar.decorations=Gi,ar.blockWrappers=Ci,ar.outerDecorations=Ai,ar.atomicRanges=Ei,ar.bidiIsolatedRanges=Mi,ar.cursorScrollMargin=j.define({combine:e=>{let t=5,i=5;for(let O of e)"number"==typeof O?t=i=O:({x:t,y:i}=O);return{x:t,y:i}}}),ar.scrollMargins=Li,ar.darkTheme=Bn,ar.cspNonce=j.define({combine:e=>e.length?e[0]:""}),ar.contentAttributes=ji,ar.editorAttributes=Ui,ar.lineWrapping=ar.contentAttributes.of({class:"cm-lineWrapping"}),ar.announce=ce.define();const lr=4096,hr={};class cr{constructor(e,t,i,O,n,r){this.from=e,this.to=t,this.dir=i,this.isolates=O,this.fresh=n,this.order=r}static update(e,t){if(t.empty&&!e.some(e=>e.fresh))return e;let i=[],O=e.length?e[e.length-1].dir:Kt.LTR;for(let n=Math.max(0,e.length-10);n=0;n--){let t=O[n],r="function"==typeof t?t(e):t;r&&ft(r,i)}return i}const ur=$t.mac?"mac":$t.windows?"win":$t.linux?"linux":"key";function $r(e,t,i){return t.altKey&&(e="Alt-"+e),t.ctrlKey&&(e="Ctrl-"+e),t.metaKey&&(e="Meta-"+e),!1!==i&&t.shiftKey&&(e="Shift-"+e),e}const fr=N.default(ar.domEventHandlers({keydown:(e,t)=>Tr(mr(t.state),e,t,"editor")})),pr=j.define({enables:fr}),Qr=new WeakMap;function mr(e){let t=e.facet(pr),i=Qr.get(t);return i||Qr.set(t,i=function(e,t=ur){let i=Object.create(null),O=Object.create(null),n=(e,t)=>{let i=O[e];if(null==i)O[e]=t;else if(i!=t)throw new Error("Key binding "+e+" is used both as a regular binding and as a multi-stroke prefix")},r=(e,O,r,s,o)=>{var a,l;let h=i[e]||(i[e]=Object.create(null)),c=O.split(/ (?!$)/).map(e=>function(e,t){const i=e.split(/-(?!$)/);let O,n,r,s,o=i[i.length-1];"Space"==o&&(o=" ");for(let e=0;e{let O=gr={view:t,prefix:i,scope:e};return setTimeout(()=>{gr==O&&(gr=null)},Sr),!0}]})}let d=c.join(" ");n(d,!1);let u=h[d]||(h[d]={preventDefault:!1,stopPropagation:!1,run:(null===(l=null===(a=h._any)||void 0===a?void 0:a.run)||void 0===l?void 0:l.slice())||[]});r&&u.run.push(r),s&&(u.preventDefault=!0),o&&(u.stopPropagation=!0)};for(let O of e){let e=O.scope?O.scope.split(" "):["editor"];if(O.any)for(let t of e){let e=i[t]||(i[t]=Object.create(null));e._any||(e._any={preventDefault:!1,stopPropagation:!1,run:[]});let{any:n}=O;for(let t in e)e[t].run.push(e=>n(e,Pr))}let n=O[t]||O.key;if(n)for(let t of e)r(t,n,O.run,O.preventDefault,O.stopPropagation),O.shift&&r(t,"Shift-"+n,O.shift,O.preventDefault,O.stopPropagation)}return i}(t.reduce((e,t)=>e.concat(t),[]))),i}let gr=null;const Sr=4e3;let Pr=null;function Tr(e,t,i,O){Pr=t;let n=function(e){var t=!(He&&e.metaKey&&e.shiftKey&&!e.ctrlKey&&!e.altKey||Ke&&e.shiftKey&&e.key&&1==e.key.length||"Unidentified"==e.key)&&e.key||(e.shiftKey?Fe:Be)[e.keyCode]||e.key||"Unidentified";return"Esc"==t&&(t="Escape"),"Del"==t&&(t="Delete"),"Left"==t&&(t="ArrowLeft"),"Up"==t&&(t="ArrowUp"),"Right"==t&&(t="ArrowRight"),"Down"==t&&(t="ArrowDown"),t}(t),r=v(T(n,0))==n.length&&" "!=n,s="",o=!1,a=!1,l=!1;gr&&gr.view==i&&gr.scope==O&&(s=gr.prefix+" ",HO.indexOf(t.keyCode)<0&&(a=!0,gr=null));let h,c,d=new Set,u=e=>{if(e){for(let t of e.run)if(!d.has(t)&&(d.add(t),t(i)))return e.stopPropagation&&(l=!0),!0;e.preventDefault&&(e.stopPropagation&&(l=!0),a=!0)}return!1},$=e[O];return $&&(u($[s+$r(n,t,!r)])?o=!0:!r||!(t.altKey||t.metaKey||t.ctrlKey)||$t.windows&&t.ctrlKey&&t.altKey||$t.mac&&t.altKey&&!t.ctrlKey&&!t.metaKey||!(h=Be[t.keyCode])||h==n?r&&t.shiftKey&&u($[s+$r(n,t,!0)])&&(o=!0):(u($[s+$r(h,t,!0)])||t.shiftKey&&(c=Fe[t.keyCode])!=n&&c!=h&&u($[s+$r(c,t,!1)]))&&(o=!0),!o&&u($._any)&&(o=!0)),a&&(o=!0),o&&l&&t.stopPropagation(),Pr=null,o}class yr{constructor(e,t,i,O,n){this.className=e,this.left=t,this.top=i,this.width=O,this.height=n}draw(){let e=document.createElement("div");return e.className=this.className,this.adjust(e),e}update(e,t){return t.className==this.className&&(this.adjust(e),!0)}adjust(e){e.style.left=this.left+"px",e.style.top=this.top+"px",null!=this.width&&(e.style.width=this.width+"px"),e.style.height=this.height+"px"}eq(e){return this.left==e.left&&this.top==e.top&&this.width==e.width&&this.height==e.height&&this.className==e.className}static forRange(e,t,i){if(i.empty){let O=e.coordsAtPos(i.head,i.assoc||1);if(!O)return[];let n=vr(e);return[new yr(t,O.left-n.left,O.top-n.top,null,O.bottom-O.top)]}return function(e,t,i){if(i.to<=e.viewport.from||i.from>=e.viewport.to)return[];let O=Math.max(i.from,e.viewport.from),n=Math.min(i.to,e.viewport.to),r=e.textDirection==Kt.LTR,s=e.contentDOM,o=s.getBoundingClientRect(),a=vr(e),l=s.querySelector(".cm-line"),h=l&&window.getComputedStyle(l),c=o.left+(h?parseInt(h.paddingLeft)+Math.min(0,parseInt(h.textIndent)):0),d=o.right-(h?parseInt(h.paddingRight):0),u=xO(e,O,1),$=xO(e,n,-1),f=u.type==Pt.Text?u:null,p=$.type==Pt.Text?$:null;if(f&&(e.lineWrapping||u.widgetLineBreaks)&&(f=wr(e,O,1,f)),p&&(e.lineWrapping||$.widgetLineBreaks)&&(p=wr(e,n,-1,p)),f&&p&&f.from==p.from&&f.to==p.to)return m(g(i.from,i.to,f));{let t=f?g(i.from,null,f):S(u,!1),O=p?g(null,i.to,p):S($,!0),n=[];return(f||u).to<(p||$).from-(f&&p?1:0)||u.widgetLineBreaks>1&&t.bottom+e.defaultLineHeight/2l&&O.from=r)break;o>n&&a(Math.max(e,n),null==t&&e<=l,Math.min(o,r),null==i&&o>=h,s.dir)}if(n=O.to+1,n>=r)break}return 0==o.length&&a(l,null==t,h,null==i,e.textDirection),{top:n,bottom:s,horizontal:o}}function S(e,t){let i=o.top+(t?e.top:e.bottom);return{top:i,bottom:i,horizontal:[]}}}(e,t,i)}}function vr(e){let t=e.scrollDOM.getBoundingClientRect();return{left:(e.textDirection==Kt.LTR?t.left:t.right-e.scrollDOM.clientWidth*e.scaleX)-e.scrollDOM.scrollLeft*e.scaleX,top:t.top-e.scrollDOM.scrollTop*e.scaleY}}function wr(e,t,i,O){let n=e.coordsAtPos(t,2*i);if(!n)return O;let r=e.dom.getBoundingClientRect(),s=(n.top+n.bottom)/2,o=e.posAtCoords({x:r.left+1,y:s}),a=e.posAtCoords({x:r.right-1,y:s});return null==o||null==a?O:{from:Math.max(O.from,Math.min(o,a)),to:Math.min(O.to,Math.max(o,a))}}class br{constructor(e,t){this.view=e,this.layer=t,this.drawn=[],this.scaleX=1,this.scaleY=1,this.measureReq={read:this.measure.bind(this),write:this.draw.bind(this)},this.dom=e.scrollDOM.appendChild(document.createElement("div")),this.dom.classList.add("cm-layer"),t.above&&this.dom.classList.add("cm-layer-above"),t.class&&this.dom.classList.add(t.class),this.scale(),this.dom.setAttribute("aria-hidden","true"),this.setOrder(e.state),e.requestMeasure(this.measureReq),t.mount&&t.mount(this.dom,e)}update(e){e.startState.facet(xr)!=e.state.facet(xr)&&this.setOrder(e.state),(this.layer.update(e,this.dom)||e.geometryChanged)&&(this.scale(),e.view.requestMeasure(this.measureReq))}docViewUpdate(e){!1!==this.layer.updateOnDocViewUpdate&&e.requestMeasure(this.measureReq)}setOrder(e){let t=0,i=e.facet(xr);for(;t{return i=e,O=this.drawn[t],!(i.constructor==O.constructor&&i.eq(O));var i,O})){let t=this.dom.firstChild,i=0;for(let O of e)O.update&&t&&O.constructor&&this.drawn[i].constructor&&O.update(t,this.drawn[i])?(t=t.nextSibling,i++):this.dom.insertBefore(O.draw(),t);for(;t;){let e=t.nextSibling;t.remove(),t=e}this.drawn=e,$t.webkit&&(this.dom.style.display=this.dom.firstChild?"":"none")}}destroy(){this.layer.destroy&&this.layer.destroy(this.dom,this.view),this.dom.remove()}}const xr=j.define();function Xr(e){return[qi.define(t=>new br(t,e)),xr.of(e)]}const kr=j.define({combine:e=>ye(e,{cursorBlinkRate:1200,drawRangeCursor:!0,iosSelectionHandles:!0},{cursorBlinkRate:(e,t)=>Math.min(e,t),drawRangeCursor:(e,t)=>e||t})});function Zr(e={}){return[kr.of(e),zr,Yr,Vr,xi.of(!0)]}function Rr(e){return e.startState.facet(kr)!=e.state.facet(kr)}const zr=Xr({above:!0,markers(e){let{state:t}=e,i=t.facet(kr),O=[];for(let n of t.selection.ranges){let r=n==t.selection.main;if(n.empty||i.drawRangeCursor&&!(r&&$t.ios&&i.iosSelectionHandles)){let t=r?"cm-cursor cm-cursor-primary":"cm-cursor cm-cursor-secondary",i=n.empty?n:q.cursor(n.head,n.assoc);for(let n of yr.forRange(e,t,i))O.push(n)}}return O},update(e,t){e.transactions.some(e=>e.selection)&&(t.style.animationName="cm-blink"==t.style.animationName?"cm-blink2":"cm-blink");let i=Rr(e);return i&&_r(e.state,t),e.docChanged||e.selectionSet||i},mount(e,t){_r(t.state,e)},class:"cm-cursorLayer"});function _r(e,t){t.style.animationDuration=e.facet(kr).cursorBlinkRate+"ms"}const Yr=Xr({above:!1,markers(e){let t=[],{main:i,ranges:O}=e.state.selection;for(let i of O)if(!i.empty)for(let O of yr.forRange(e,"cm-selectionBackground",i))t.push(O);if($t.ios&&!i.empty&&e.state.facet(kr).iosSelectionHandles){for(let O of yr.forRange(e,"cm-selectionHandle cm-selectionHandle-start",q.cursor(i.from,1)))t.push(O);for(let O of yr.forRange(e,"cm-selectionHandle cm-selectionHandle-end",q.cursor(i.to,1)))t.push(O)}return t},update:(e,t)=>e.docChanged||e.selectionSet||e.viewportChanged||Rr(e),class:"cm-selectionLayer"}),Vr=N.highest(ar.theme({".cm-line":{"& ::selection, &::selection":{backgroundColor:"transparent !important"},caretColor:"transparent !important"},".cm-content":{caretColor:"transparent !important","& :focus":{caretColor:"initial !important","&::selection, & ::selection":{backgroundColor:"Highlight !important"}}}})),qr=ce.define({map:(e,t)=>null==e?null:t.mapPos(e)}),Wr=L.define({create:()=>null,update:(e,t)=>(null!=e&&(e=t.changes.mapPos(e)),t.effects.reduce((e,t)=>t.is(qr)?t.value:e,e))}),Ur=qi.fromClass(class{constructor(e){this.view=e,this.cursor=null,this.measureReq={read:this.readPos.bind(this),write:this.drawCursor.bind(this)}}update(e){var t;let i=e.state.field(Wr);null==i?null!=this.cursor&&(null===(t=this.cursor)||void 0===t||t.remove(),this.cursor=null):(this.cursor||(this.cursor=this.view.scrollDOM.appendChild(document.createElement("div")),this.cursor.className="cm-dropCursor"),(e.startState.field(Wr)!=i||e.docChanged||e.geometryChanged)&&this.view.requestMeasure(this.measureReq))}readPos(){let{view:e}=this,t=e.state.field(Wr),i=null!=t&&e.coordsAtPos(t);if(!i)return null;let O=e.scrollDOM.getBoundingClientRect();return{left:i.left-O.left+e.scrollDOM.scrollLeft*e.scaleX,top:i.top-O.top+e.scrollDOM.scrollTop*e.scaleY,height:i.bottom-i.top}}drawCursor(e){if(this.cursor){let{scaleX:t,scaleY:i}=this.view;e?(this.cursor.style.left=e.left/t+"px",this.cursor.style.top=e.top/i+"px",this.cursor.style.height=e.height/i+"px"):this.cursor.style.left="-100000px"}}destroy(){this.cursor&&this.cursor.remove()}setDropPos(e){this.view.state.field(Wr)!=e&&this.view.dispatch({effects:qr.of(e)})}},{eventObservers:{dragover(e){this.setDropPos(this.view.posAtCoords({x:e.clientX,y:e.clientY}))},dragleave(e){e.target!=this.view.contentDOM&&this.view.contentDOM.contains(e.relatedTarget)||this.setDropPos(null)},dragend(){this.setDropPos(null)},drop(){this.setDropPos(null)}}});function jr(e,t,i,O,n){t.lastIndex=0;for(let r,s=e.iterRange(i,O),o=i;!s.next().done;o+=s.value.length)if(!s.lineBreak)for(;r=t.exec(s.value);)n(o+r.index,r)}class Gr{constructor(e){const{regexp:t,decoration:i,decorate:O,boundary:n,maxLength:r=1e3}=e;if(!t.global)throw new RangeError("The regular expression given to MatchDecorator should have its 'g' flag set");if(this.regexp=t,O)this.addMatch=(e,t,i,n)=>O(n,i,i+e[0].length,e,t);else if("function"==typeof i)this.addMatch=(e,t,O,n)=>{let r=i(e,t,O);r&&n(O,O+e[0].length,r)};else{if(!i)throw new RangeError("Either 'decorate' or 'decoration' should be provided to MatchDecorator");this.addMatch=(e,t,O,n)=>n(O,O+e[0].length,i)}this.boundary=n,this.maxLength=r}createDeco(e){let t=new Ze,i=t.add.bind(t);for(let{from:t,to:O}of function(e,t){let i=e.visibleRanges;if(1==i.length&&i[0].from==e.viewport.from&&i[0].to==e.viewport.to)return i;let O=[];for(let{from:n,to:r}of i)n=Math.max(e.state.doc.lineAt(n).from,n-t),r=Math.min(e.state.doc.lineAt(r).to,r+t),O.length&&O[O.length-1].to>=n?O[O.length-1].to=r:O.push({from:n,to:r});return O}(e,this.maxLength))jr(e.state.doc,this.regexp,t,O,(t,O)=>this.addMatch(O,e,t,i));return t.finish()}updateDeco(e,t){let i=1e9,O=-1;return e.docChanged&&e.changes.iterChanges((t,n,r,s)=>{s>=e.view.viewport.from&&r<=e.view.viewport.to&&(i=Math.min(r,i),O=Math.max(s,O))}),e.viewportMoved||O-i>1e3?this.createDeco(e.view):O>-1?this.updateRange(e.view,t.map(e.changes),i,O):t}updateRange(e,t,i,O){for(let n of e.visibleRanges){let r=Math.max(n.from,i),s=Math.min(n.to,O);if(s>=r){let i=e.state.doc.lineAt(r),O=i.toi.from;r--)if(this.boundary.test(i.text[r-1-i.from])){o=r;break}for(;sh.push(i.range(e,t));if(i==O)for(this.regexp.lastIndex=o-i.from;(l=this.regexp.exec(i.text))&&l.indexthis.addMatch(i,e,t,c));t=t.update({filterFrom:o,filterTo:a,filter:(e,t)=>ea,add:h})}}return t}}const Cr=null!=/x/.unicode?"gu":"g",Ar=new RegExp("[\0-\b\n--Ÿ­؜​‎‏\u2028\u2029‭‮⁦⁧⁩\ufeff-]",Cr),Er={0:"null",7:"bell",8:"backspace",10:"newline",11:"vertical tab",13:"carriage return",27:"escape",8203:"zero width space",8204:"zero width non-joiner",8205:"zero width joiner",8206:"left-to-right mark",8207:"right-to-left mark",8232:"line separator",8237:"left-to-right override",8238:"right-to-left override",8294:"left-to-right isolate",8295:"right-to-left isolate",8297:"pop directional isolate",8233:"paragraph separator",65279:"zero width no-break space",65532:"object replacement"};let Mr=null;const Dr=j.define({combine(e){let t=ye(e,{render:null,specialChars:Ar,addSpecialChars:null});return(t.replaceTabs=!function(){var e;if(null==Mr&&"undefined"!=typeof document&&document.body){let t=document.body.style;Mr=null!=(null!==(e=t.tabSize)&&void 0!==e?e:t.MozTabSize)}return Mr||!1}())&&(t.specialChars=new RegExp("\t|"+t.specialChars.source,Cr)),t.addSpecialChars&&(t.specialChars=new RegExp(t.specialChars.source+"|"+t.addSpecialChars.source,Cr)),t}});function Lr(e={}){return[Dr.of(e),Ir||(Ir=qi.fromClass(class{constructor(e){this.view=e,this.decorations=Tt.none,this.decorationCache=Object.create(null),this.decorator=this.makeDecorator(e.state.facet(Dr)),this.decorations=this.decorator.createDeco(e)}makeDecorator(e){return new Gr({regexp:e.specialChars,decoration:(t,i,O)=>{let{doc:n}=i.state,r=T(t[0],0);if(9==r){let e=n.lineAt(O),t=i.state.tabSize,r=Ce(e.text,t,O-e.from);return Tt.replace({widget:new Br((t-r%t)*this.view.defaultCharacterWidth/this.view.scaleX)})}return this.decorationCache[r]||(this.decorationCache[r]=Tt.replace({widget:new Nr(e,r)}))},boundary:e.replaceTabs?void 0:/[^]/})}update(e){let t=e.state.facet(Dr);e.startState.facet(Dr)!=t?(this.decorator=this.makeDecorator(t),this.decorations=this.decorator.createDeco(e.view)):this.decorations=this.decorator.updateDeco(e,this.decorations)}},{decorations:e=>e.decorations}))]}let Ir=null;class Nr extends St{constructor(e,t){super(),this.options=e,this.code=t}eq(e){return e.code==this.code}toDOM(e){let t=function(e){return e>=32?"•":10==e?"␤":String.fromCharCode(9216+e)}(this.code),i=e.state.phrase("Control character")+" "+(Er[this.code]||"0x"+this.code.toString(16)),O=this.options.render&&this.options.render(this.code,i,t);if(O)return O;let n=document.createElement("span");return n.textContent=t,n.title=i,n.setAttribute("aria-label",i),n.className="cm-specialChar",n}ignoreEvent(){return!1}}class Br extends St{constructor(e){super(),this.width=e}eq(e){return e.width==this.width}toDOM(){let e=document.createElement("span");return e.textContent="\t",e.className="cm-tab",e.style.width=this.width+"px",e}ignoreEvent(){return!1}}const Fr=Tt.line({class:"cm-activeLine"}),Hr=qi.fromClass(class{constructor(e){this.decorations=this.getDeco(e)}update(e){(e.docChanged||e.selectionSet)&&(this.decorations=this.getDeco(e.view))}getDeco(e){let t=-1,i=[];for(let O of e.state.selection.ranges){let n=e.lineBlockAt(O.head);n.from>t&&(i.push(Fr.range(n.from)),t=n.from)}return Tt.set(i)}},{decorations:e=>e.decorations}),Kr=2e3;function Jr(e,t){let i=e.posAtCoords({x:t.clientX,y:t.clientY},!1),O=e.state.doc.lineAt(i),n=i-O.from,r=n>Kr?-1:n==O.length?function(e,t){let i=e.coordsAtPos(e.viewport.from);return i?Math.round(Math.abs((i.left-t)/e.defaultCharacterWidth)):-1}(e,t.clientX):Ce(O.text,e.state.tabSize,i-O.from);return{line:O.number,col:r,off:n}}const es={Alt:[18,e=>!!e.altKey],Control:[17,e=>!!e.ctrlKey],Shift:[16,e=>!!e.shiftKey],Meta:[91,e=>!!e.metaKey]},ts={style:"cursor: crosshair"};function is(e={}){let[t,i]=es[e.key||"Alt"],O=qi.fromClass(class{constructor(e){this.view=e,this.isDown=!1}set(e){this.isDown!=e&&(this.isDown=e,this.view.update([]))}},{eventObservers:{keydown(e){this.set(e.keyCode==t||i(e))},keyup(e){e.keyCode!=t&&i(e)||this.set(!1)},mousemove(e){this.set(i(e))}}});return[O,ar.contentAttributes.of(e=>{var t;return(null===(t=e.plugin(O))||void 0===t?void 0:t.isDown)?ts:null})]}const Os="-10000px";class ns{constructor(e,t,i,O){this.facet=t,this.createTooltipView=i,this.removeTooltipView=O,this.input=e.state.facet(t),this.tooltips=this.input.filter(e=>e);let n=null;this.tooltipViews=this.tooltips.map(e=>n=i(e,n))}update(e,t){var i;let O=e.state.facet(this.facet),n=O.filter(e=>e);if(O===this.input){for(let t of this.tooltipViews)t.update&&t.update(e);return!1}let r=[],s=t?[]:null;for(let i=0;it[i]=e),t.length=s.length),this.input=O,this.tooltips=n,this.tooltipViews=r,!0}}function rs(e){let t=e.dom.ownerDocument.documentElement;return{top:0,left:0,bottom:t.clientHeight,right:t.clientWidth}}const ss=j.define({combine:e=>{var t,i,O;return{position:$t.ios?"absolute":(null===(t=e.find(e=>e.position))||void 0===t?void 0:t.position)||"fixed",parent:(null===(i=e.find(e=>e.parent))||void 0===i?void 0:i.parent)||null,tooltipSpace:(null===(O=e.find(e=>e.tooltipSpace))||void 0===O?void 0:O.tooltipSpace)||rs}}}),os=new WeakMap,as=qi.fromClass(class{constructor(e){this.view=e,this.above=[],this.inView=!0,this.madeAbsolute=!1,this.lastTransaction=0,this.measureTimeout=-1;let t=e.state.facet(ss);this.position=t.position,this.parent=t.parent,this.classes=e.themeClasses,this.createContainer(),this.measureReq={read:this.readMeasure.bind(this),write:this.writeMeasure.bind(this),key:this},this.resizeObserver="function"==typeof ResizeObserver?new ResizeObserver(()=>this.measureSoon()):null,this.manager=new ns(e,ds,(e,t)=>this.createTooltip(e,t),e=>{this.resizeObserver&&this.resizeObserver.unobserve(e.dom),e.dom.remove()}),this.above=this.manager.tooltips.map(e=>!!e.above),this.intersectionObserver="function"==typeof IntersectionObserver?new IntersectionObserver(e=>{Date.now()>this.lastTransaction-50&&e.length>0&&e[e.length-1].intersectionRatio<1&&this.measureSoon()},{threshold:[1]}):null,this.observeIntersection(),e.win.addEventListener("resize",this.measureSoon=this.measureSoon.bind(this)),this.maybeMeasure()}createContainer(){this.parent?(this.container=document.createElement("div"),this.container.style.position="relative",this.container.className=this.view.themeClasses,this.parent.appendChild(this.container)):this.container=this.view.dom}observeIntersection(){if(this.intersectionObserver){this.intersectionObserver.disconnect();for(let e of this.manager.tooltipViews)this.intersectionObserver.observe(e.dom)}}measureSoon(){this.measureTimeout<0&&(this.measureTimeout=setTimeout(()=>{this.measureTimeout=-1,this.maybeMeasure()},50))}update(e){e.transactions.length&&(this.lastTransaction=Date.now());let t=this.manager.update(e,this.above);t&&this.observeIntersection();let i=t||e.geometryChanged,O=e.state.facet(ss);if(O.position!=this.position&&!this.madeAbsolute){this.position=O.position;for(let e of this.manager.tooltipViews)e.dom.style.position=this.position;i=!0}if(O.parent!=this.parent){this.parent&&this.container.remove(),this.parent=O.parent,this.createContainer();for(let e of this.manager.tooltipViews)this.container.appendChild(e.dom);i=!0}else this.parent&&this.view.themeClasses!=this.classes&&(this.classes=this.container.className=this.view.themeClasses);i&&this.maybeMeasure()}createTooltip(e,t){let i=e.create(this.view),O=t?t.dom:null;if(i.dom.classList.add("cm-tooltip"),e.arrow&&!i.dom.querySelector(".cm-tooltip > .cm-tooltip-arrow")){let e=document.createElement("div");e.className="cm-tooltip-arrow",i.dom.appendChild(e)}return i.dom.style.position=this.position,i.dom.style.top=Os,i.dom.style.left="0px",this.container.insertBefore(i.dom,O),i.mount&&i.mount(this.view),this.resizeObserver&&this.resizeObserver.observe(i.dom),i}destroy(){var e,t,i;this.view.win.removeEventListener("resize",this.measureSoon);for(let t of this.manager.tooltipViews)t.dom.remove(),null===(e=t.destroy)||void 0===e||e.call(t);this.parent&&this.container.remove(),null===(t=this.resizeObserver)||void 0===t||t.disconnect(),null===(i=this.intersectionObserver)||void 0===i||i.disconnect(),clearTimeout(this.measureTimeout)}readMeasure(){let e=1,t=1,i=!1;if("fixed"==this.position&&this.manager.tooltipViews.length){let{dom:e}=this.manager.tooltipViews[0];if($t.safari){let t=e.getBoundingClientRect();i=Math.abs(t.top+1e4)>1||Math.abs(t.left)>1}else i=!!e.offsetParent&&e.offsetParent!=this.container.ownerDocument.body}if(i||"absolute"==this.position)if(this.parent){let i=this.parent.getBoundingClientRect();i.width&&i.height&&(e=i.width/this.parent.offsetWidth,t=i.height/this.parent.offsetHeight)}else({scaleX:e,scaleY:t}=this.view.viewState);let O=this.view.scrollDOM.getBoundingClientRect(),n=Ii(this.view);return{visible:{left:O.left+n.left,top:O.top+n.top,right:O.right-n.right,bottom:O.bottom-n.bottom},parent:this.parent?this.container.getBoundingClientRect():this.view.dom.getBoundingClientRect(),pos:this.manager.tooltips.map((e,t)=>{let i=this.manager.tooltipViews[t];return i.getCoords?i.getCoords(e.pos):this.view.coordsAtPos(e.pos)}),size:this.manager.tooltipViews.map(({dom:e})=>e.getBoundingClientRect()),space:this.view.state.facet(ss).tooltipSpace(this.view),scaleX:e,scaleY:t,makeAbsolute:i}}writeMeasure(e){var t;if(e.makeAbsolute){this.madeAbsolute=!0,this.position="absolute";for(let e of this.manager.tooltipViews)e.dom.style.position="absolute"}let{visible:i,space:O,scaleX:n,scaleY:r}=e,s=[];for(let o=0;o=Math.min(i.bottom,O.bottom)||c.rightMath.min(i.right,O.right)+.1)){h.style.top=Os;continue}let u=a.arrow?l.dom.querySelector(".cm-tooltip-arrow"):null,$=u?7:0,f=d.right-d.left,p=null!==(t=os.get(l))&&void 0!==t?t:d.bottom-d.top,Q=l.offset||cs,m=this.view.textDirection==Kt.LTR,g=d.width>O.right-O.left?m?O.left:O.right-d.width:m?Math.max(O.left,Math.min(c.left-(u?14:0)+Q.x,O.right-f)):Math.min(Math.max(O.left,c.left-f+(u?14:0)-Q.x),O.right-f),S=this.above[o];!a.strictSide&&(S?c.top-p-$-Q.yO.bottom)&&S==O.bottom-c.bottom>c.top-O.top&&(S=this.above[o]=!S);let P=(S?c.top-O.top:O.bottom-c.bottom)-$;if(Pg&&e.topT&&(T=S?e.top-p-2-$:e.bottom+$+2);if("absolute"==this.position?(h.style.top=(T-e.parent.top)/r+"px",ls(h,(g-e.parent.left)/n)):(h.style.top=T/r+"px",ls(h,g/n)),u){let e=c.left+(m?Q.x:-Q.x)-(g+14-7);u.style.left=e/n+"px"}!0!==l.overlap&&s.push({left:g,top:T,right:y,bottom:T+p}),h.classList.toggle("cm-tooltip-above",S),h.classList.toggle("cm-tooltip-below",!S),l.positioned&&l.positioned(e.space)}}maybeMeasure(){if(this.manager.tooltips.length&&(this.view.inView&&this.view.requestMeasure(this.measureReq),this.inView!=this.view.inView&&(this.inView=this.view.inView,!this.inView)))for(let e of this.manager.tooltipViews)e.dom.style.top=Os}},{eventObservers:{scroll(){this.maybeMeasure()}}});function ls(e,t){let i=parseInt(e.style.left,10);(isNaN(i)||Math.abs(t-i)>1)&&(e.style.left=t+"px")}const hs=ar.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:"14px",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"}}}),cs={x:0,y:0},ds=j.define({enables:[as,hs]}),us=j.define({combine:e=>e.reduce((e,t)=>e.concat(t),[])});class $s{static create(e){return new $s(e)}constructor(e){this.view=e,this.mounted=!1,this.dom=document.createElement("div"),this.dom.classList.add("cm-tooltip-hover"),this.manager=new ns(e,us,(e,t)=>this.createHostedView(e,t),e=>e.dom.remove())}createHostedView(e,t){let i=e.create(this.view);return i.dom.classList.add("cm-tooltip-section"),this.dom.insertBefore(i.dom,t?t.dom.nextSibling:this.dom.firstChild),this.mounted&&i.mount&&i.mount(this.view),i}mount(e){for(let t of this.manager.tooltipViews)t.mount&&t.mount(e);this.mounted=!0}positioned(e){for(let t of this.manager.tooltipViews)t.positioned&&t.positioned(e)}update(e){this.manager.update(e)}destroy(){var e;for(let t of this.manager.tooltipViews)null===(e=t.destroy)||void 0===e||e.call(t)}passProp(e){let t;for(let i of this.manager.tooltipViews){let O=i[e];if(void 0!==O)if(void 0===t)t=O;else if(t!==O)return}return t}get offset(){return this.passProp("offset")}get getCoords(){return this.passProp("getCoords")}get overlap(){return this.passProp("overlap")}get resize(){return this.passProp("resize")}}const fs=ds.compute([us],e=>{let t=e.facet(us);return 0===t.length?null:{pos:Math.min(...t.map(e=>e.pos)),end:Math.max(...t.map(e=>{var t;return null!==(t=e.end)&&void 0!==t?t:e.pos})),create:$s.create,above:t[0].above,arrow:t.some(e=>e.arrow)}}),ps=j.define();class Qs{constructor(e,t,i,O,n,r){this.view=e,this.source=t,this.field=i,this.locked=O,this.setHover=n,this.hoverTime=r,this.hoverTimeout=-1,this.restartTimeout=-1,this.pending=null,this.lastMove={x:0,y:0,target:e.dom,time:0},this.checkHover=this.checkHover.bind(this),e.dom.addEventListener("mouseleave",this.mouseleave=this.mouseleave.bind(this)),e.dom.addEventListener("mousemove",this.mousemove=this.mousemove.bind(this))}update(e){this.pending&&(this.pending=null,clearTimeout(this.restartTimeout),this.restartTimeout=setTimeout(()=>this.startHover(),20))}get active(){return this.view.state.field(this.field)}checkHover(){if(this.hoverTimeout=-1,this.active.length)return;let e=Date.now()-this.lastMove.time;ei.bottom||t.xi.right+e.defaultCharacterWidth)return;let r=e.bidiSpans(e.state.doc.lineAt(O)).find(e=>e.from<=O&&e.to>=O),s=r&&r.dir==Kt.RTL?-1:1;n=t.x{if(t&&(!Array.isArray(t)||t.length)){let i=Array.isArray(t)?t:[t];O&&this.locked.set(i,O),e.dispatch({effects:this.setHover.of(i)})}};if(n&&"then"in n){let i=this.pending={pos:t};n.then(e=>{this.pending==i&&(this.pending=null,r(e))},t=>zi(e.state,t,"hover tooltip"))}else r(n)}get tooltip(){let e=this.view.plugin(as),t=e?e.manager.tooltips.findIndex(e=>e.create==$s.create):-1;return t>-1?e.manager.tooltipViews[t]:null}mousemove(e){var t,i;this.lastMove={x:e.clientX,y:e.clientY,target:e.target,time:Date.now()},this.hoverTimeout<0&&(this.hoverTimeout=setTimeout(this.checkHover,this.hoverTime));let{active:O,tooltip:n}=this;if(O.length&&!this.locked.has(O)&&n&&!function(e,t){let i,{left:O,right:n,top:r,bottom:s}=e.getBoundingClientRect();if(i=e.querySelector(".cm-tooltip-arrow")){let e=i.getBoundingClientRect();r=Math.min(e.top,r),s=Math.max(e.bottom,s)}return t.clientX>=O-ms&&t.clientX<=n+ms&&t.clientY>=r-ms&&t.clientY<=s+ms}(n.dom,e)||this.pending){let{pos:n}=O[0]||this.pending,r=null!==(i=null===(t=O[0])||void 0===t?void 0:t.end)&&void 0!==i?i:n;(n==r?this.view.posAtCoords(this.lastMove)==n:function(e,t,i,O,n){let r=e.scrollDOM.getBoundingClientRect(),s=e.documentTop+e.documentPadding.top+e.contentHeight;if(r.left>O||r.rightn||Math.min(r.bottom,s)=t&&o<=i}(this.view,n,r,e.clientX,e.clientY))||(this.view.dispatch({effects:this.setHover.of([])}),this.pending=null)}}mouseleave(e){clearTimeout(this.hoverTimeout),this.hoverTimeout=-1;let{active:t}=this;if(t.length&&!this.locked.has(t)){let{tooltip:t}=this;t&&t.dom.contains(e.relatedTarget)?this.watchTooltipLeave(t.dom):this.view.dispatch({effects:this.setHover.of([])})}}watchTooltipLeave(e){let t=i=>{e.removeEventListener("mouseleave",t);let{active:O}=this;!O.length||this.locked.has(O)||this.view.dom.contains(i.relatedTarget)||this.view.dispatch({effects:this.setHover.of([])})};e.addEventListener("mouseleave",t)}destroy(){clearTimeout(this.hoverTimeout),clearTimeout(this.restartTimeout),this.view.dom.removeEventListener("mouseleave",this.mouseleave),this.view.dom.removeEventListener("mousemove",this.mousemove)}}const ms=4;function gs(e,t={}){let i=ce.define(),O=new WeakMap,n=L.define({create:()=>[],update(e,r){let s=O.get(e);if(e.length&&(t.hideOnChange&&(r.docChanged||r.selection)||s&&s(r)?e=[]:t.hideOn&&(e=e.filter(e=>!t.hideOn(r,e)))),r.docChanged&&e.length){let t=[];for(let i of e){let e=r.changes.mapPos(i.pos,-1,b.TrackDel);if(null!=e){let O=Object.assign(Object.create(null),i);O.pos=e,null!=O.end&&(O.end=r.changes.mapPos(O.end)),t.push(O)}}e=t}for(let t of r.effects)t.is(i)&&(e=t.value,s=void 0),(t.is(Ps)&&!t.value||t.value==n)&&(e=[]);return e.length&&s&&O.set(e,s),e},provide:e=>us.from(e)});const r=qi.define(r=>new Qs(r,e,n,O,i,t.hoverTime||300));return{active:n,extension:[n,r,ps.of(r),fs]}}function Ss(e,t){let i=e.plugin(as);if(!i)return null;let O=i.manager.tooltips.indexOf(t);return O<0?null:i.manager.tooltipViews[O]}const Ps=ce.define(),Ts=j.define({combine(e){let t,i;for(let O of e)t=t||O.topContainer,i=i||O.bottomContainer;return{topContainer:t,bottomContainer:i}}});function ys(e,t){let i=e.plugin(vs),O=i?i.specs.indexOf(t):-1;return O>-1?i.panels[O]:null}const vs=qi.fromClass(class{constructor(e){this.input=e.state.facet(xs),this.specs=this.input.filter(e=>e),this.panels=this.specs.map(t=>t(e));let t=e.state.facet(Ts);this.top=new ws(e,!0,t.topContainer),this.bottom=new ws(e,!1,t.bottomContainer),this.top.sync(this.panels.filter(e=>e.top)),this.bottom.sync(this.panels.filter(e=>!e.top));for(let e of this.panels)e.dom.classList.add("cm-panel"),e.mount&&e.mount()}update(e){let t=e.state.facet(Ts);this.top.container!=t.topContainer&&(this.top.sync([]),this.top=new ws(e.view,!0,t.topContainer)),this.bottom.container!=t.bottomContainer&&(this.bottom.sync([]),this.bottom=new ws(e.view,!1,t.bottomContainer)),this.top.syncClasses(),this.bottom.syncClasses();let i=e.state.facet(xs);if(i!=this.input){let t=i.filter(e=>e),O=[],n=[],r=[],s=[];for(let i of t){let t,o=this.specs.indexOf(i);o<0?(t=i(e.view),s.push(t)):(t=this.panels[o],t.update&&t.update(e)),O.push(t),(t.top?n:r).push(t)}this.specs=t,this.panels=O,this.top.sync(n),this.bottom.sync(r);for(let e of s)e.dom.classList.add("cm-panel"),e.mount&&e.mount()}else for(let t of this.panels)t.update&&t.update(e)}destroy(){this.top.sync([]),this.bottom.sync([])}},{provide:e=>ar.scrollMargins.of(t=>{let i=t.plugin(e);return i&&{top:i.top.scrollMargin(),bottom:i.bottom.scrollMargin()}})});class ws{constructor(e,t,i){this.view=e,this.top=t,this.container=i,this.dom=void 0,this.classes="",this.panels=[],this.syncClasses()}sync(e){for(let t of this.panels)t.destroy&&e.indexOf(t)<0&&t.destroy();this.panels=e,this.syncDOM()}syncDOM(){if(0==this.panels.length)return void(this.dom&&(this.dom.remove(),this.dom=void 0));if(!this.dom){this.dom=document.createElement("div"),this.dom.className=this.top?"cm-panels cm-panels-top":"cm-panels cm-panels-bottom",this.dom.style[this.top?"top":"bottom"]="0";let e=this.container||this.view.dom;e.insertBefore(this.dom,this.top?e.firstChild:null)}let e=this.dom.firstChild;for(let t of this.panels)if(t.dom.parentNode==this.dom){for(;e!=t.dom;)e=bs(e);e=e.nextSibling}else this.dom.insertBefore(t.dom,e);for(;e;)e=bs(e)}scrollMargin(){return!this.dom||this.container?0:Math.max(0,this.top?this.dom.getBoundingClientRect().bottom-Math.max(0,this.view.scrollDOM.getBoundingClientRect().top):Math.min(innerHeight,this.view.scrollDOM.getBoundingClientRect().bottom)-this.dom.getBoundingClientRect().top)}syncClasses(){if(this.container&&this.classes!=this.view.themeClasses){for(let e of this.classes.split(" "))e&&this.container.classList.remove(e);for(let e of(this.classes=this.view.themeClasses).split(" "))e&&this.container.classList.add(e)}}}function bs(e){let t=e.nextSibling;return e.remove(),t}const xs=j.define({enables:vs}),Xs=L.define({create:()=>[],update(e,t){for(let i of t.effects)i.is(ks)?e=[i.value].concat(e):i.is(Zs)&&(e=e.filter(e=>e!=i.value));return e},provide:e=>xs.computeN([e],t=>t.field(e))}),ks=ce.define(),Zs=ce.define();class Rs extends ve{compare(e){return this==e||this.constructor==e.constructor&&this.eq(e)}eq(e){return!1}destroy(e){}}Rs.prototype.elementClass="",Rs.prototype.toDOM=void 0,Rs.prototype.mapMode=b.TrackBefore,Rs.prototype.startSide=Rs.prototype.endSide=-1,Rs.prototype.point=!0;const zs=j.define(),_s=j.define(),Ys={class:"",renderEmptyElements:!1,elementStyle:"",markers:()=>ke.empty,lineMarker:()=>null,widgetMarker:()=>null,lineMarkerChange:null,initialSpacer:null,updateSpacer:null,domEventHandlers:{},side:"before"},Vs=j.define();function qs(e){return[Us(),Vs.of({...Ys,...e})]}const Ws=j.define({combine:e=>e.some(e=>e)});function Us(e){return[js]}const js=qi.fromClass(class{constructor(e){this.view=e,this.domAfter=null,this.prevViewport=e.viewport,this.dom=document.createElement("div"),this.dom.className="cm-gutters cm-gutters-before",this.dom.setAttribute("aria-hidden","true"),this.dom.style.minHeight=this.view.contentHeight/this.view.scaleY+"px",this.gutters=e.state.facet(Vs).map(t=>new Es(e,t)),this.fixed=!e.state.facet(Ws);for(let e of this.gutters)"after"==e.config.side?this.getDOMAfter().appendChild(e.dom):this.dom.appendChild(e.dom);this.fixed&&(this.dom.style.position="sticky"),this.syncGutters(!1),e.scrollDOM.insertBefore(this.dom,e.contentDOM)}getDOMAfter(){return this.domAfter||(this.domAfter=document.createElement("div"),this.domAfter.className="cm-gutters cm-gutters-after",this.domAfter.setAttribute("aria-hidden","true"),this.domAfter.style.minHeight=this.view.contentHeight/this.view.scaleY+"px",this.domAfter.style.position=this.fixed?"sticky":"",this.view.scrollDOM.appendChild(this.domAfter)),this.domAfter}update(e){if(this.updateGutters(e)){let t=this.prevViewport,i=e.view.viewport,O=Math.min(t.to,i.to)-Math.max(t.from,i.from);this.syncGutters(O<.8*(i.to-i.from))}if(e.geometryChanged){let e=this.view.contentHeight/this.view.scaleY+"px";this.dom.style.minHeight=e,this.domAfter&&(this.domAfter.style.minHeight=e)}this.view.state.facet(Ws)!=!this.fixed&&(this.fixed=!this.fixed,this.dom.style.position=this.fixed?"sticky":"",this.domAfter&&(this.domAfter.style.position=this.fixed?"sticky":"")),this.prevViewport=e.view.viewport}syncGutters(e){let t=this.dom.nextSibling;e&&(this.dom.remove(),this.domAfter&&this.domAfter.remove());let i=ke.iter(this.view.state.facet(zs),this.view.viewport.from),O=[],n=this.gutters.map(e=>new As(e,this.view.viewport,-this.view.documentPadding.top));for(let e of this.view.viewportLineBlocks)if(O.length&&(O=[]),Array.isArray(e.type)){let t=!0;for(let r of e.type)if(r.type==Pt.Text&&t){Cs(i,O,r.from);for(let e of n)e.line(this.view,r,O);t=!1}else if(r.widget)for(let e of n)e.widget(this.view,r)}else if(e.type==Pt.Text){Cs(i,O,e.from);for(let t of n)t.line(this.view,e,O)}else if(e.widget)for(let t of n)t.widget(this.view,e);for(let e of n)e.finish();e&&(this.view.scrollDOM.insertBefore(this.dom,t),this.domAfter&&this.view.scrollDOM.appendChild(this.domAfter))}updateGutters(e){let t=e.startState.facet(Vs),i=e.state.facet(Vs),O=e.docChanged||e.heightChanged||e.viewportChanged||!ke.eq(e.startState.facet(zs),e.state.facet(zs),e.view.viewport.from,e.view.viewport.to);if(t==i)for(let t of this.gutters)t.update(e)&&(O=!0);else{O=!0;let n=[];for(let O of i){let i=t.indexOf(O);i<0?n.push(new Es(this.view,O)):(this.gutters[i].update(e),n.push(this.gutters[i]))}for(let e of this.gutters)e.dom.remove(),n.indexOf(e)<0&&e.destroy();for(let e of n)"after"==e.config.side?this.getDOMAfter().appendChild(e.dom):this.dom.appendChild(e.dom);this.gutters=n}return O}destroy(){for(let e of this.gutters)e.destroy();this.dom.remove(),this.domAfter&&this.domAfter.remove()}},{provide:e=>ar.scrollMargins.of(t=>{let i=t.plugin(e);if(!i||0==i.gutters.length||!i.fixed)return null;let O=i.dom.offsetWidth*t.scaleX,n=i.domAfter?i.domAfter.offsetWidth*t.scaleX:0;return t.textDirection==Kt.LTR?{left:O,right:n}:{right:O,left:n}})});function Gs(e){return Array.isArray(e)?e:[e]}function Cs(e,t,i){for(;e.value&&e.from<=i;)e.from==i&&t.push(e.value),e.next()}class As{constructor(e,t,i){this.gutter=e,this.height=i,this.i=0,this.cursor=ke.iter(e.markers,t.from)}addElement(e,t,i){let{gutter:O}=this,n=(t.top-this.height)/e.scaleY,r=t.height/e.scaleY;if(this.i==O.elements.length){let t=new Ms(e,r,n,i);O.elements.push(t),O.dom.appendChild(t.dom)}else O.elements[this.i].update(e,r,n,i);this.height=t.bottom,this.i++}line(e,t,i){let O=[];Cs(this.cursor,O,t.from),i.length&&(O=O.concat(i));let n=this.gutter.config.lineMarker(e,t,O);n&&O.unshift(n);let r=this.gutter;(0!=O.length||r.config.renderEmptyElements)&&this.addElement(e,t,O)}widget(e,t){let i=this.gutter.config.widgetMarker(e,t.widget,t),O=i?[i]:null;for(let i of e.state.facet(_s)){let n=i(e,t.widget,t);n&&(O||(O=[])).push(n)}O&&this.addElement(e,t,O)}finish(){let e=this.gutter;for(;e.elements.length>this.i;){let t=e.elements.pop();e.dom.removeChild(t.dom),t.destroy()}}}class Es{constructor(e,t){this.view=e,this.config=t,this.elements=[],this.spacer=null,this.dom=document.createElement("div"),this.dom.className="cm-gutter"+(this.config.class?" "+this.config.class:"");for(let i in t.domEventHandlers)this.dom.addEventListener(i,O=>{let n,r=O.target;if(r!=this.dom&&this.dom.contains(r)){for(;r.parentNode!=this.dom;)r=r.parentNode;let e=r.getBoundingClientRect();n=(e.top+e.bottom)/2}else n=O.clientY;let s=e.lineBlockAtHeight(n-e.documentTop);t.domEventHandlers[i](e,s,O)&&O.preventDefault()});this.markers=Gs(t.markers(e)),t.initialSpacer&&(this.spacer=new Ms(e,0,0,[t.initialSpacer(e)]),this.dom.appendChild(this.spacer.dom),this.spacer.dom.style.cssText+="visibility: hidden; pointer-events: none")}update(e){let t=this.markers;if(this.markers=Gs(this.config.markers(e.view)),this.spacer&&this.config.updateSpacer){let t=this.config.updateSpacer(this.spacer.markers[0],e);t!=this.spacer.markers[0]&&this.spacer.update(e.view,0,0,[t])}let i=e.view.viewport;return!ke.eq(this.markers,t,i.from,i.to)||!!this.config.lineMarkerChange&&this.config.lineMarkerChange(e)}destroy(){for(let e of this.elements)e.destroy()}}class Ms{constructor(e,t,i,O){this.height=-1,this.above=0,this.markers=[],this.dom=document.createElement("div"),this.dom.className="cm-gutterElement",this.update(e,t,i,O)}update(e,t,i,O){this.height!=t&&(this.height=t,this.dom.style.height=t+"px"),this.above!=i&&(this.dom.style.marginTop=(this.above=i)?i+"px":""),function(e,t){if(e.length!=t.length)return!1;for(let i=0;iye(e,{formatNumber:String,domEventHandlers:{}},{domEventHandlers(e,t){let i=Object.assign({},e);for(let e in t){let O=i[e],n=t[e];i[e]=O?(e,t,i)=>O(e,t,i)||n(e,t,i):n}return i}})});class Ns extends Rs{constructor(e){super(),this.number=e}eq(e){return this.number==e.number}toDOM(){return document.createTextNode(this.number)}}function Bs(e,t){return e.state.facet(Is).formatNumber(t,e.state)}const Fs=Vs.compute([Is],e=>({class:"cm-lineNumbers",renderEmptyElements:!1,markers:e=>e.state.facet(Ds),lineMarker:(e,t,i)=>i.some(e=>e.toDOM)?null:new Ns(Bs(e,e.state.doc.lineAt(t.from).number)),widgetMarker:(e,t,i)=>{for(let O of e.state.facet(Ls)){let n=O(e,t,i);if(n)return n}return null},lineMarkerChange:e=>e.startState.facet(Is)!=e.state.facet(Is),initialSpacer:e=>new Ns(Bs(e,Ks(e.state.doc.lines))),updateSpacer(e,t){let i=Bs(t.view,Ks(t.view.state.doc.lines));return i==e.number?e:new Ns(i)},domEventHandlers:e.facet(Is).domEventHandlers,side:"before"}));function Hs(e={}){return[Is.of(e),Us(),Fs]}function Ks(e){let t=9;for(;t{let t=[],i=-1;for(let O of e.selection.ranges){let n=e.doc.lineAt(O.head).from;n>i&&(i=n,t.push(Js.range(n)))}return ke.of(t)});function to(e){return qi.define(t=>({decorations:e.createDeco(t),update(t){this.decorations=e.updateDeco(t,this.decorations)}}),{decorations:e=>e.decorations})}const io=Tt.mark({class:"cm-highlightTab"}),Oo=Tt.mark({class:"cm-highlightSpace"}),no=to(new Gr({regexp:/\t| /g,decoration:e=>"\t"==e[0]?io:Oo,boundary:/\S/})),ro=1024;let so=0;class oo{constructor(e,t){this.from=e,this.to=t}}class ao{constructor(e={}){this.id=so++,this.perNode=!!e.perNode,this.deserialize=e.deserialize||(()=>{throw new Error("This node type doesn't define a deserialize function")}),this.combine=e.combine||null}add(e){if(this.perNode)throw new RangeError("Can't add per-node props to node types");return"function"!=typeof e&&(e=co.match(e)),t=>{let i=e(t);return void 0===i?null:[this,i]}}}ao.closedBy=new ao({deserialize:e=>e.split(" ")}),ao.openedBy=new ao({deserialize:e=>e.split(" ")}),ao.group=new ao({deserialize:e=>e.split(" ")}),ao.isolate=new ao({deserialize:e=>{if(e&&"rtl"!=e&&"ltr"!=e&&"auto"!=e)throw new RangeError("Invalid value for isolate: "+e);return e||"auto"}}),ao.contextHash=new ao({perNode:!0}),ao.lookAhead=new ao({perNode:!0}),ao.mounted=new ao({perNode:!0});class lo{constructor(e,t,i,O=!1){this.tree=e,this.overlay=t,this.parser=i,this.bracketed=O}static get(e){return e&&e.props&&e.props[ao.mounted.id]}}const ho=Object.create(null);class co{constructor(e,t,i,O=0){this.name=e,this.props=t,this.id=i,this.flags=O}static define(e){let t=e.props&&e.props.length?Object.create(null):ho,i=(e.top?1:0)|(e.skipped?2:0)|(e.error?4:0)|(null==e.name?8:0),O=new co(e.name||"",t,e.id,i);if(e.props)for(let i of e.props)if(Array.isArray(i)||(i=i(O)),i){if(i[0].perNode)throw new RangeError("Can't store a per-node prop on a node type");t[i[0].id]=i[1]}return O}prop(e){return this.props[e.id]}get isTop(){return(1&this.flags)>0}get isSkipped(){return(2&this.flags)>0}get isError(){return(4&this.flags)>0}get isAnonymous(){return(8&this.flags)>0}is(e){if("string"==typeof e){if(this.name==e)return!0;let t=this.prop(ao.group);return!!t&&t.indexOf(e)>-1}return this.id==e}static match(e){let t=Object.create(null);for(let i in e)for(let O of i.split(" "))t[O]=e[i];return e=>{for(let i=e.prop(ao.group),O=-1;O<(i?i.length:0);O++){let n=t[O<0?e.name:i[O]];if(n)return n}}}}co.none=new co("",Object.create(null),0,8);class uo{constructor(e){this.types=e;for(let t=0;t=t){let s=new yo(r.tree,r.overlay[0].from+e.from,-1,e);(n||(n=[O])).push(Po(s,t,i,!1))}}return n?Xo(n):O}(this,e,t)}iterate(e){let{enter:t,leave:i,from:O=0,to:n=this.length}=e,r=e.mode||0,s=(r&po.IncludeAnonymous)>0;for(let e=this.cursor(r|po.IncludeAnonymous);;){let r=!1;if(e.from<=n&&e.to>=O&&(!s&&e.type.isAnonymous||!1!==t(e))){if(e.firstChild())continue;r=!0}for(;r&&i&&(s||!e.type.isAnonymous)&&i(e),!e.nextSibling();){if(!e.parent())return;r=!0}}}prop(e){return e.perNode?this.props?this.props[e.id]:void 0:this.type.prop(e)}get propValues(){let e=[];if(this.props)for(let t in this.props)e.push([+t,this.props[t]]);return e}balance(e={}){return this.children.length<=8?this:Yo(co.none,this.children,this.positions,0,this.children.length,0,this.length,(e,t,i)=>new Qo(this.type,e,t,i,this.propValues),e.makeTree||((e,t,i)=>new Qo(co.none,e,t,i)))}static build(e){return function(e){var t;let{buffer:i,nodeSet:O,maxBufferLength:n=ro,reused:r=[],minRepeatType:s=O.types.length}=e,o=Array.isArray(i)?new mo(i,i.length):i,a=O.types,l=0,h=0;function c(e,t,i,p,Q,m){let{id:g,start:S,end:P,size:T}=o,y=h,v=l;if(T<0){if(o.next(),-1==T){let t=r[g];return i.push(t),void p.push(S-e)}if(-3==T)return void(l=g);if(-4==T)return void(h=g);throw new RangeError(`Unrecognized record size: ${T}`)}let w,b,x=a[g],X=S-e;if(P-S<=n&&(b=function(e,t){let i=o.fork(),O=0,r=0,a=0,l=i.end-n,h={size:0,start:0,skip:0};e:for(let n=i.pos-e;i.pos>n;){let e=i.size;if(i.id==t&&e>=0){h.size=O,h.start=r,h.skip=a,a+=4,O+=4,i.next();continue}let o=i.pos-e;if(e<0||o=s?4:0,d=i.start;for(i.next();i.pos>o;){if(i.size<0){if(-3!=i.size&&-4!=i.size)break e;c+=4}else i.id>=s&&(c+=4);i.next()}r=d,O+=e,a+=c}return(t<0||O==e)&&(h.size=O,h.start=r,h.skip=a),h.size>4?h:void 0}(o.pos-t,Q))){let t=new Uint16Array(b.size-b.skip),i=o.pos-b.size,n=t.length;for(;o.pos>i;)n=f(b.start,t,n);w=new go(t,P-b.start,O),X=b.start-e}else{let e=o.pos-T;o.next();let t=[],i=[],O=g>=s?g:-1,r=0,a=P;for(;o.pos>e;)O>=0&&o.id==O&&o.size>=0?(o.end<=a-n&&(u(t,i,S,r,o.end,a,O,y,v),r=t.length,a=o.end),o.next()):m>2500?d(S,e,t,i):c(S,e,t,i,O,m+1);if(O>=0&&r>0&&r-1&&r>0){let e=function(e,t){return(i,O,n)=>{let r,s,o=0,a=i.length-1;if(a>=0&&(r=i[a])instanceof Qo){if(!a&&r.type==e&&r.length==n)return r;(s=r.prop(ao.lookAhead))&&(o=O[a]+r.length+s)}return $(e,i,O,n,o,t)}}(x,v);w=Yo(x,t,i,0,t.length,0,P-S,e,e)}else w=$(x,t,i,P-S,y-P,v)}i.push(w),p.push(X)}function d(e,t,i,r){let s=[],a=0,l=-1;for(;o.pos>t;){let{id:e,start:t,end:i,size:O}=o;if(O>4)o.next();else{if(l>-1&&t=0;e-=3)t[i++]=s[e],t[i++]=s[e+1]-n,t[i++]=s[e+2]-n,t[i++]=i;i.push(new go(t,s[2]-n,O)),r.push(n-e)}}function u(e,t,i,n,r,s,o,a,l){let h=[],c=[];for(;e.length>n;)h.push(e.pop()),c.push(t.pop()+i-r);e.push($(O.types[o],h,c,s-r,a-s,l)),t.push(r-i)}function $(e,t,i,O,n,r,s){if(r){let e=[ao.contextHash,r];s=s?[e].concat(s):[e]}if(n>25){let e=[ao.lookAhead,n];s=s?[e].concat(s):[e]}return new Qo(e,t,i,O,s)}function f(e,t,i){let{id:O,start:n,end:r,size:a}=o;if(o.next(),a>=0&&O4){let O=o.pos-(a-4);for(;o.pos>O;)i=f(e,t,i)}t[--i]=s,t[--i]=r-e,t[--i]=n-e,t[--i]=O}else-3==a?l=O:-4==a&&(h=O);return i}let p=[],Q=[];for(;o.pos>0;)c(e.start||0,e.bufferStart||0,p,Q,-1,0);let m=null!==(t=e.length)&&void 0!==t?t:p.length?Q[0]+p[0].length:0;return new Qo(a[e.topID],p.reverse(),Q.reverse(),m)}(e)}}Qo.empty=new Qo(co.none,[],[],0);class mo{constructor(e,t){this.buffer=e,this.index=t}get id(){return this.buffer[this.index-4]}get start(){return this.buffer[this.index-3]}get end(){return this.buffer[this.index-2]}get size(){return this.buffer[this.index-1]}get pos(){return this.index}next(){this.index-=4}fork(){return new mo(this.buffer,this.index)}}class go{constructor(e,t,i){this.buffer=e,this.length=t,this.set=i}get type(){return co.none}toString(){let e=[];for(let t=0;t0));o=r[o+3]);return s}slice(e,t,i){let O=this.buffer,n=new Uint16Array(t-e),r=0;for(let s=e,o=0;s=t&&it;case 1:return i<=t&&O>t;case 2:return O>t;case 4:return!0}}function Po(e,t,i,O){for(var n;e.from==e.to||(i<1?e.from>=t:e.from>t)||(i>-1?e.to<=t:e.to0?s.length:-1;e!=a;e+=t){let a,l=s[e],h=o[e]+r.from;if(n&po.EnterBracketed&&l instanceof Qo&&(a=lo.get(l))&&!a.overlay&&a.bracketed&&i>=h&&i<=h+l.length||So(O,i,h,h+l.length))if(l instanceof go){if(n&po.ExcludeBuffers)continue;let s=l.findChild(0,l.buffer.length,t,i-h,O);if(s>-1)return new xo(new bo(r,l,e,h),null,s)}else if(n&po.IncludeAnonymous||!l.type.isAnonymous||Ro(l)){let s;if(!(n&po.IgnoreMounts)&&(s=lo.get(l))&&!s.overlay)return new yo(s.tree,h,e,r);let o=new yo(l,h,e,r);return n&po.IncludeAnonymous||!o.type.isAnonymous?o:o.nextChild(t<0?l.children.length-1:0,t,i,O,n)}}if(n&po.IncludeAnonymous||!r.type.isAnonymous)return null;if(e=r.index>=0?r.index+t:t<0?-1:r._parent._tree.children.length,r=r._parent,!r)return null}}get firstChild(){return this.nextChild(0,1,0,4)}get lastChild(){return this.nextChild(this._tree.children.length-1,-1,0,4)}childAfter(e){return this.nextChild(0,1,e,2)}childBefore(e){return this.nextChild(this._tree.children.length-1,-1,e,-2)}prop(e){return this._tree.prop(e)}enter(e,t,i=0){let O;if(!(i&po.IgnoreOverlays)&&(O=lo.get(this._tree))&&O.overlay){let n=e-this.from,r=i&po.EnterBracketed&&O.bracketed;for(let{from:e,to:i}of O.overlay)if((t>0||r?e<=n:e=n:i>n))return new yo(O.tree,O.overlay[0].from+this.from,-1,this)}return this.nextChild(0,1,e,t,i)}nextSignificantParent(){let e=this;for(;e.type.isAnonymous&&e._parent;)e=e._parent;return e}get parent(){return this._parent?this._parent.nextSignificantParent():null}get nextSibling(){return this._parent&&this.index>=0?this._parent.nextChild(this.index+1,1,0,4):null}get prevSibling(){return this._parent&&this.index>=0?this._parent.nextChild(this.index-1,-1,0,4):null}get tree(){return this._tree}toTree(){return this._tree}toString(){return this._tree.toString()}}function vo(e,t,i,O){let n=e.cursor(),r=[];if(!n.firstChild())return r;if(null!=i)for(let e=!1;!e;)if(e=n.type.is(i),!n.nextSibling())return r;for(;;){if(null!=O&&n.type.is(O))return r;if(n.type.is(t)&&r.push(n.node),!n.nextSibling())return null==O?r:[]}}function wo(e,t,i=t.length-1){for(let O=e;i>=0;O=O.parent){if(!O)return!1;if(!O.type.isAnonymous){if(t[i]&&t[i]!=O.name)return!1;i--}}return!0}class bo{constructor(e,t,i,O){this.parent=e,this.buffer=t,this.index=i,this.start=O}}class xo extends To{get name(){return this.type.name}get from(){return this.context.start+this.context.buffer.buffer[this.index+1]}get to(){return this.context.start+this.context.buffer.buffer[this.index+2]}constructor(e,t,i){super(),this.context=e,this._parent=t,this.index=i,this.type=e.buffer.set.types[e.buffer.buffer[i]]}child(e,t,i){let{buffer:O}=this.context,n=O.findChild(this.index+4,O.buffer[this.index+3],e,t-this.context.start,i);return n<0?null:new xo(this.context,this,n)}get firstChild(){return this.child(1,0,4)}get lastChild(){return this.child(-1,0,4)}childAfter(e){return this.child(1,e,2)}childBefore(e){return this.child(-1,e,-2)}prop(e){return this.type.prop(e)}enter(e,t,i=0){if(i&po.ExcludeBuffers)return null;let{buffer:O}=this.context,n=O.findChild(this.index+4,O.buffer[this.index+3],t>0?1:-1,e-this.context.start,t);return n<0?null:new xo(this.context,this,n)}get parent(){return this._parent||this.context.parent.nextSignificantParent()}externalSibling(e){return this._parent?null:this.context.parent.nextChild(this.context.index+e,e,0,4)}get nextSibling(){let{buffer:e}=this.context,t=e.buffer[this.index+3];return t<(this._parent?e.buffer[this._parent.index+3]:e.buffer.length)?new xo(this.context,this._parent,t):this.externalSibling(1)}get prevSibling(){let{buffer:e}=this.context,t=this._parent?this._parent.index+4:0;return this.index==t?this.externalSibling(-1):new xo(this.context,this._parent,e.findChild(t,this.index,-1,0,4))}get tree(){return null}toTree(){let e=[],t=[],{buffer:i}=this.context,O=this.index+4,n=i.buffer[this.index+3];if(n>O){let r=i.buffer[this.index+1];e.push(i.slice(O,n,r)),t.push(0)}return new Qo(this.type,e,t,this.to-this.from)}toString(){return this.context.buffer.childString(this.index)}}function Xo(e){if(!e.length)return null;let t=0,i=e[0];for(let O=1;Oi.from||n.to0){if(this.index-1)for(let O=t+e,n=e<0?-1:i._tree.children.length;O!=n;O+=e){let e=i._tree.children[O];if(this.mode&po.IncludeAnonymous||e instanceof go||!e.type.isAnonymous||Ro(e))return!1}return!0}move(e,t){if(t&&this.enterChild(e,0,4))return!0;for(;;){if(this.sibling(e))return!0;if(this.atLastNode(e)||!this.parent())return!1}}next(e=!0){return this.move(1,e)}prev(e=!0){return this.move(-1,e)}moveTo(e,t=0){for(;(this.from==this.to||(t<1?this.from>=e:this.from>e)||(t>-1?this.to<=e:this.to=0;){for(let r=e;r;r=r._parent)if(r.index==O){if(O==this.index)return r;t=r,i=n+1;break e}O=this.stack[--n]}for(let e=i;e=0;n--){if(n<0)return wo(this._tree,e,O);let r=i[t.buffer[this.stack[n]]];if(!r.isAnonymous){if(e[O]&&e[O]!=r.name)return!1;O--}}return!0}}function Ro(e){return e.children.some(e=>e instanceof go||!e.type.isAnonymous||Ro(e))}const zo=new WeakMap;function _o(e,t){if(!e.isAnonymous||t instanceof go||t.type!=e)return 1;let i=zo.get(t);if(null==i){i=1;for(let O of t.children){if(O.type!=e||!(O instanceof Qo)){i=1;break}i+=_o(e,O)}zo.set(t,i)}return i}function Yo(e,t,i,O,n,r,s,o,a){let l=0;for(let i=O;i=h)break;$+=t}if(l==n+1){if($>h){let e=i[n];t(e.children,e.positions,0,e.children.length,O[n]+o);continue}c.push(i[n])}else{let t=O[l-1]+i[l-1].length-u;c.push(Yo(e,i,O,n,l,u,t,null,a))}d.push(u+o-r)}}(t,i,O,n,0),(o||a)(c,d,s)}class Vo{constructor(){this.map=new WeakMap}setBuffer(e,t,i){let O=this.map.get(e);O||this.map.set(e,O=new Map),O.set(t,i)}getBuffer(e,t){let i=this.map.get(e);return i&&i.get(t)}set(e,t){e instanceof xo?this.setBuffer(e.context.buffer,e.index,t):e instanceof yo&&this.map.set(e.tree,t)}get(e){return e instanceof xo?this.getBuffer(e.context.buffer,e.index):e instanceof yo?this.map.get(e.tree):void 0}cursorSet(e,t){e.buffer?this.setBuffer(e.buffer.buffer,e.index,t):this.map.set(e.tree,t)}cursorGet(e){return e.buffer?this.getBuffer(e.buffer.buffer,e.index):this.map.get(e.tree)}}class qo{constructor(e,t,i,O,n=!1,r=!1){this.from=e,this.to=t,this.tree=i,this.offset=O,this.open=(n?1:0)|(r?2:0)}get openStart(){return(1&this.open)>0}get openEnd(){return(2&this.open)>0}static addTree(e,t=[],i=!1){let O=[new qo(0,e.length,e,0,!1,i)];for(let i of t)i.to>e.length&&O.push(i);return O}static applyChanges(e,t,i=128){if(!t.length)return e;let O=[],n=1,r=e.length?e[0]:null;for(let s=0,o=0,a=0;;s++){let l=s=i)for(;r&&r.from=t.from||h<=t.to||a){let e=Math.max(t.from,o)-a,i=Math.min(t.to,h)-a;t=e>=i?null:new qo(e,i,t.tree,t.offset+a,s>0,!!l)}if(t&&O.push(t),r.to>h)break;r=nnew oo(e.from,e.to)):[new oo(0,0)]:[new oo(0,e.length)],this.createParse(e,t||[],i)}parse(e,t,i){let O=this.startParse(e,t,i);for(;;){let e=O.advance();if(e)return e}}}class Uo{constructor(e){this.string=e}get length(){return this.string.length}chunk(e){return this.string.slice(e)}get lineChunks(){return!1}read(e,t){return this.string.slice(e,t)}}function jo(e){return(t,i,O,n)=>new Mo(t,e,i,O,n)}class Go{constructor(e,t,i,O,n,r){this.parser=e,this.parse=t,this.overlay=i,this.bracketed=O,this.target=n,this.from=r}}function Co(e){if(!e.length||e.some(e=>e.from>=e.to))throw new RangeError("Invalid inner parse ranges given: "+JSON.stringify(e))}class Ao{constructor(e,t,i,O,n,r,s,o){this.parser=e,this.predicate=t,this.mounts=i,this.index=O,this.start=n,this.bracketed=r,this.target=s,this.prev=o,this.depth=0,this.ranges=[]}}const Eo=new ao({perNode:!0});class Mo{constructor(e,t,i,O,n){this.nest=t,this.input=i,this.fragments=O,this.ranges=n,this.inner=[],this.innerDone=0,this.baseTree=null,this.stoppedAt=null,this.baseParse=e}advance(){if(this.baseParse){let e=this.baseParse.advance();if(!e)return null;if(this.baseParse=null,this.baseTree=e,this.startInner(),null!=this.stoppedAt)for(let e of this.inner)e.parse.stopAt(this.stoppedAt)}if(this.innerDone==this.inner.length){let e=this.baseTree;return null!=this.stoppedAt&&(e=new Qo(e.type,e.children,e.positions,e.length,e.propValues.concat([[Eo,this.stoppedAt]]))),e}let e=this.inner[this.innerDone],t=e.parse.advance();if(t){this.innerDone++;let i=Object.assign(Object.create(null),e.target.props);i[ao.mounted.id]=new lo(t,e.overlay,e.parser,e.bracketed),e.target.props=i}return null}get parsedPos(){if(this.baseParse)return 0;let e=this.input.length;for(let t=this.innerDone;t=this.stoppedAt)o=!1;else if(e.hasNode(O)){if(t){let e=t.mounts.find(e=>e.frag.from<=O.from&&e.frag.to>=O.to&&e.mount.overlay);if(e)for(let i of e.mount.overlay){let n=i.from+e.pos,r=i.to+e.pos;n>=O.from&&r<=O.to&&!t.ranges.some(e=>e.fromn)&&t.ranges.push({from:n,to:r})}}o=!1}else if(i&&(r=Do(i.ranges,O.from,O.to)))o=2!=r;else if(!O.type.isAnonymous&&(n=this.nest(O,this.input))&&(O.fromnew oo(e.from-O.from,e.to-O.from)):null,!!n.bracketed,O.tree,e.length?e[0].from:O.from)),n.overlay?e.length&&(i={ranges:e,depth:0,prev:i}):o=!1}}else if(t&&(s=t.predicate(O))&&(!0===s&&(s=new oo(O.from,O.to)),s.from=0&&t.ranges[e].to==s.from?t.ranges[e]={from:t.ranges[e].from,to:s.to}:t.ranges.push(s)}if(o&&O.firstChild())t&&t.depth++,i&&i.depth++;else for(;!O.nextSibling();){if(!O.parent())break e;if(t&&! --t.depth){let e=Fo(this.ranges,t.ranges);e.length&&(Co(e),this.inner.splice(t.index,0,new Go(t.parser,t.parser.startParse(this.input,Ko(t.mounts,e),e),t.ranges.map(e=>new oo(e.from-t.start,e.to-t.start)),t.bracketed,t.target,e[0].from))),t=t.prev}i&&! --i.depth&&(i=i.prev)}}}}function Do(e,t,i){for(let O of e){if(O.from>=i)break;if(O.to>t)return O.from<=t&&O.to>=i?2:1}return 0}function Lo(e,t,i,O,n,r){if(t=e&&t.enter(i,1,po.IgnoreOverlays|po.ExcludeBuffers));else{if(!(t.to<=e))break;t.next(!1)||(this.done=!0)}}hasNode(e){if(this.moveTo(e.from),!this.done&&this.cursor.from+this.offset==e.from&&this.cursor.tree)for(let t=this.cursor.tree;;){if(t==e.tree)return!0;if(!(t.children.length&&0==t.positions[0]&&t.children[0]instanceof Qo))break;t=t.children[0]}return!1}}let Bo=class{constructor(e){var t;if(this.fragments=e,this.curTo=0,this.fragI=0,e.length){let i=this.curFrag=e[0];this.curTo=null!==(t=i.tree.prop(Eo))&&void 0!==t?t:i.to,this.inner=new No(i.tree,-i.offset)}else this.curFrag=this.inner=null}hasNode(e){for(;this.curFrag&&e.from>=this.curTo;)this.nextFrag();return this.curFrag&&this.curFrag.from<=e.from&&this.curTo>=e.to&&this.inner.hasNode(e)}nextFrag(){var e;if(this.fragI++,this.fragI==this.fragments.length)this.curFrag=this.inner=null;else{let t=this.curFrag=this.fragments[this.fragI];this.curTo=null!==(e=t.tree.prop(Eo))&&void 0!==e?e:t.to,this.inner=new No(t.tree,-t.offset)}}findMounts(e,t){var i;let O=[];if(this.inner){this.inner.cursor.moveTo(e,1);for(let e=this.inner.cursor.node;e;e=e.parent){let n=null===(i=e.tree)||void 0===i?void 0:i.prop(ao.mounted);if(n&&n.parser==t)for(let t=this.fragI;t=e.to)break;i.tree==this.curFrag.tree&&O.push({frag:i,pos:e.from-i.offset,mount:n})}}}return O}};function Fo(e,t){let i=null,O=t;for(let n=1,r=0;n=o)break;e.to<=s||(i||(O=i=t.slice()),e.fromo&&i.splice(r+1,0,new oo(o,e.to))):e.to>o?i[r--]=new oo(o,e.to):i.splice(r--,1))}}return O}function Ho(e,t,i,O){let n=0,r=0,s=!1,o=!1,a=-1e9,l=[];for(;;){let h=n==e.length?1e9:s?e[n].to:e[n].from,c=r==t.length?1e9:o?t[r].to:t[r].from;if(s!=o){let e=Math.max(a,i),t=Math.min(h,c,O);enew oo(e.from+O,e.to+O)),o,a);for(let t=0,O=o;;t++){let o=t==s.length,l=o?a:s[t].from;if(l>O&&i.push(new qo(O,l,n.tree,-e,r.from>=O||r.openStart,r.to<=l||r.openEnd)),o)break;O=s[t].to}}else i.push(new qo(o,a,n.tree,-e,r.from>=e||r.openStart,r.to<=s||r.openEnd))}return i}let Jo=0,ea=class e{constructor(e,t,i,O){this.name=e,this.set=t,this.base=i,this.modified=O,this.id=Jo++}toString(){let{name:e}=this;for(let t of this.modified)t.name&&(e=`${t.name}(${e})`);return e}static define(t,i){let O="string"==typeof t?t:"?";if(t instanceof e&&(i=t),null==i?void 0:i.base)throw new Error("Can not derive from a modified tag");let n=new e(O,[],null,[]);if(n.set.push(n),i)for(let e of i.set)n.set.push(e);return n}static defineModifier(e){let t=new ia(e);return e=>e.modified.indexOf(t)>-1?e:ia.get(e.base||e,e.modified.concat(t).sort((e,t)=>e.id-t.id))}},ta=0;class ia{constructor(e){this.name=e,this.instances=[],this.id=ta++}static get(e,t){if(!t.length)return e;let i=t[0].instances.find(i=>{return i.base==e&&(O=t,n=i.modified,O.length==n.length&&O.every((e,t)=>e==n[t]));var O,n});if(i)return i;let O=[],n=new ea(e.name,O,e,t);for(let e of t)e.instances.push(n);let r=function(e){let t=[[]];for(let i=0;it.length-e.length)}(t);for(let t of e.set)if(!t.modified.length)for(let e of r)O.push(ia.get(t,e));return n}}function Oa(e){let t=Object.create(null);for(let i in e){let O=e[i];Array.isArray(O)||(O=[O]);for(let e of i.split(" "))if(e){let i=[],n=2,r=e;for(let t=0;;){if("..."==r&&t>0&&t+3==e.length){n=1;break}let O=/^"(?:[^"\\]|\\.)*?"|[^\/!]+/.exec(r);if(!O)throw new RangeError("Invalid path: "+e);if(i.push("*"==O[0]?"":'"'==O[0][0]?JSON.parse(O[0]):O[0]),t+=O[0].length,t==e.length)break;let s=e[t++];if(t==e.length&&"!"==s){n=0;break}if("/"!=s)throw new RangeError("Invalid path: "+e);r=e.slice(t)}let s=i.length-1,o=i[s];if(!o)throw new RangeError("Invalid path: "+e);let a=new ra(O,n,s>0?i.slice(0,s):null);t[o]=a.sort(t[o])}}return na.add(t)}const na=new ao({combine(e,t){let i,O,n;for(;e||t;){if(!e||t&&e.depth>=t.depth?(n=t,t=t.next):(n=e,e=e.next),i&&i.mode==n.mode&&!n.context&&!i.context)continue;let r=new ra(n.tags,n.mode,n.context);i?i.next=r:O=r,i=r}return O}});class ra{constructor(e,t,i,O){this.tags=e,this.mode=t,this.context=i,this.next=O}get opaque(){return 0==this.mode}get inherit(){return 1==this.mode}sort(e){return!e||e.depth{let t=n;for(let O of e)for(let e of O.set){let O=i[e.id];if(O){t=t?t+" "+O:O;break}}return t},scope:O}}function oa(e,t,i,O=0,n=e.length){let r=new aa(O,Array.isArray(t)?t:[t],i);r.highlightRange(e.cursor(),O,n,"",r.highlighters),r.flush(n)}ra.empty=new ra([],2,null);class aa{constructor(e,t,i){this.at=e,this.highlighters=t,this.span=i,this.class=""}startSpan(e,t){t!=this.class&&(this.flush(e),e>this.at&&(this.at=e),this.class=t)}flush(e){e>this.at&&this.class&&this.span(this.at,e,this.class)}highlightRange(e,t,i,O,n){let{type:r,from:s,to:o}=e;if(s>=i||o<=t)return;r.isTop&&(n=this.highlighters.filter(e=>!e.scope||e.scope(r)));let a=O,l=function(e){let t=e.type.prop(na);for(;t&&t.context&&!e.matchContext(t.context);)t=t.next;return t||null}(e)||ra.empty,h=function(e,t){let i=null;for(let O of e){let e=O.style(t);e&&(i=i?i+" "+e:e)}return i}(n,l.tags);if(h&&(a&&(a+=" "),a+=h,1==l.mode&&(O+=(O?" ":"")+h)),this.startSpan(Math.max(t,s),a),l.opaque)return;let c=e.tree&&e.tree.prop(ao.mounted);if(c&&c.overlay){let r=e.node.enter(c.overlay[0].from+s,1),l=this.highlighters.filter(e=>!e.scope||e.scope(c.tree.type)),h=e.firstChild();for(let d=0,u=s;;d++){let $=d=f)&&e.nextSibling()););if(!$||f>i)break;u=$.to+s,u>t&&(this.highlightRange(r.cursor(),Math.max(t,$.from+s),Math.min(i,u),"",l),this.startSpan(Math.min(i,u),a))}h&&e.parent()}else if(e.firstChild()){c&&(O="");do{if(!(e.to<=t)){if(e.from>=i)break;this.highlightRange(e,t,i,O,n),this.startSpan(Math.min(i,e.to),a)}}while(e.nextSibling());e.parent()}}}const la=ea.define,ha=la(),ca=la(),da=la(ca),ua=la(ca),$a=la(),fa=la($a),pa=la($a),Qa=la(),ma=la(Qa),ga=la(),Sa=la(),Pa=la(),Ta=la(Pa),ya=la(),va={comment:ha,lineComment:la(ha),blockComment:la(ha),docComment:la(ha),name:ca,variableName:la(ca),typeName:da,tagName:la(da),propertyName:ua,attributeName:la(ua),className:la(ca),labelName:la(ca),namespace:la(ca),macroName:la(ca),literal:$a,string:fa,docString:la(fa),character:la(fa),attributeValue:la(fa),number:pa,integer:la(pa),float:la(pa),bool:la($a),regexp:la($a),escape:la($a),color:la($a),url:la($a),keyword:ga,self:la(ga),null:la(ga),atom:la(ga),unit:la(ga),modifier:la(ga),operatorKeyword:la(ga),controlKeyword:la(ga),definitionKeyword:la(ga),moduleKeyword:la(ga),operator:Sa,derefOperator:la(Sa),arithmeticOperator:la(Sa),logicOperator:la(Sa),bitwiseOperator:la(Sa),compareOperator:la(Sa),updateOperator:la(Sa),definitionOperator:la(Sa),typeOperator:la(Sa),controlOperator:la(Sa),punctuation:Pa,separator:la(Pa),bracket:Ta,angleBracket:la(Ta),squareBracket:la(Ta),paren:la(Ta),brace:la(Ta),content:Qa,heading:ma,heading1:la(ma),heading2:la(ma),heading3:la(ma),heading4:la(ma),heading5:la(ma),heading6:la(ma),contentSeparator:la(Qa),list:la(Qa),quote:la(Qa),emphasis:la(Qa),strong:la(Qa),link:la(Qa),monospace:la(Qa),strikethrough:la(Qa),inserted:la(),deleted:la(),changed:la(),invalid:la(),meta:ya,documentMeta:la(ya),annotation:la(ya),processingInstruction:la(ya),definition:ea.defineModifier("definition"),constant:ea.defineModifier("constant"),function:ea.defineModifier("function"),standard:ea.defineModifier("standard"),local:ea.defineModifier("local"),special:ea.defineModifier("special")};for(let e in va){let t=va[e];t instanceof ea&&(t.name=e)}var wa;sa([{tag:va.link,class:"tok-link"},{tag:va.heading,class:"tok-heading"},{tag:va.emphasis,class:"tok-emphasis"},{tag:va.strong,class:"tok-strong"},{tag:va.keyword,class:"tok-keyword"},{tag:va.atom,class:"tok-atom"},{tag:va.bool,class:"tok-bool"},{tag:va.url,class:"tok-url"},{tag:va.labelName,class:"tok-labelName"},{tag:va.inserted,class:"tok-inserted"},{tag:va.deleted,class:"tok-deleted"},{tag:va.literal,class:"tok-literal"},{tag:va.string,class:"tok-string"},{tag:va.number,class:"tok-number"},{tag:[va.regexp,va.escape,va.special(va.string)],class:"tok-string2"},{tag:va.variableName,class:"tok-variableName"},{tag:va.local(va.variableName),class:"tok-variableName tok-local"},{tag:va.definition(va.variableName),class:"tok-variableName tok-definition"},{tag:va.special(va.variableName),class:"tok-variableName2"},{tag:va.definition(va.propertyName),class:"tok-propertyName tok-definition"},{tag:va.typeName,class:"tok-typeName"},{tag:va.namespace,class:"tok-namespace"},{tag:va.className,class:"tok-className"},{tag:va.macroName,class:"tok-macroName"},{tag:va.propertyName,class:"tok-propertyName"},{tag:va.operator,class:"tok-operator"},{tag:va.comment,class:"tok-comment"},{tag:va.meta,class:"tok-meta"},{tag:va.invalid,class:"tok-invalid"},{tag:va.punctuation,class:"tok-punctuation"}]);const ba=new ao;function xa(e){return j.define({combine:e?t=>t.concat(e):void 0})}const Xa=new ao;class ka{constructor(e,t,i=[],O=""){this.data=e,this.name=O,Te.prototype.hasOwnProperty("tree")||Object.defineProperty(Te.prototype,"tree",{get(){return za(this)}}),this.parser=t,this.extension=[Ca.of(this),Te.languageData.of((e,t,i)=>{let O=Za(e,t,i),n=O.type.prop(ba);if(!n)return[];let r=e.facet(n),s=O.type.prop(Xa);if(s){let n=O.resolve(t-O.from,i);for(let t of s)if(t.test(n,e)){let i=e.facet(t.facet);return"replace"==t.type?i:i.concat(r)}}return r})].concat(i)}isActiveAt(e,t,i=-1){return Za(e,t,i).type.prop(ba)==this.data}findRegions(e){let t=e.facet(Ca);if((null==t?void 0:t.data)==this.data)return[{from:0,to:e.doc.length}];if(!t||!t.allowsNesting)return[];let i=[],O=(e,t)=>{if(e.prop(ba)==this.data)return void i.push({from:t,to:t+e.length});let n=e.prop(ao.mounted);if(n){if(n.tree.prop(ba)==this.data){if(n.overlay)for(let e of n.overlay)i.push({from:e.from+t,to:e.to+t});else i.push({from:t,to:t+e.length});return}if(n.overlay){let e=i.length;if(O(n.tree,n.overlay[0].from+t),i.length>e)return}}for(let i=0;ie.isTop?t:void 0)]}),e.name)}configure(e,t){return new Ra(this.data,this.parser.configure(e),t||this.name)}get allowsNesting(){return this.parser.hasWrappers()}}function za(e){let t=e.field(ka.state,!1);return t?t.tree:Qo.empty}class _a{constructor(e){this.doc=e,this.cursorPos=0,this.string="",this.cursor=e.iter()}get length(){return this.doc.length}syncTo(e){return this.string=this.cursor.next(e-this.cursorPos).value,this.cursorPos=e+this.string.length,this.cursorPos-this.string.length}chunk(e){return this.syncTo(e),this.string}get lineChunks(){return!0}read(e,t){let i=this.cursorPos-this.string.length;return e=this.cursorPos?this.doc.sliceString(e,t):this.string.slice(e-i,t-i)}}let Ya=null;class Va{constructor(e,t,i=[],O,n,r,s,o){this.parser=e,this.state=t,this.fragments=i,this.tree=O,this.treeLen=n,this.viewport=r,this.skipped=s,this.scheduleOn=o,this.parse=null,this.tempSkipped=[]}static create(e,t,i){return new Va(e,t,[],Qo.empty,0,i,[],null)}startParse(){return this.parser.startParse(new _a(this.state.doc),this.fragments)}work(e,t){return null!=t&&t>=this.state.doc.length&&(t=void 0),this.tree!=Qo.empty&&this.isDone(null!=t?t:this.state.doc.length)?(this.takeTree(),!0):this.withContext(()=>{var i;if("number"==typeof e){let t=Date.now()+e;e=()=>Date.now()>t}for(this.parse||(this.parse=this.startParse()),null!=t&&(null==this.parse.stoppedAt||this.parse.stoppedAt>t)&&t=this.treeLen&&((null==this.parse.stoppedAt||this.parse.stoppedAt>e)&&this.parse.stopAt(e),this.withContext(()=>{for(;!(t=this.parse.advance()););}),this.treeLen=e,this.tree=t,this.fragments=this.withoutTempSkipped(qo.addTree(this.tree,this.fragments,!0)),this.parse=null)}withContext(e){let t=Ya;Ya=this;try{return e()}finally{Ya=t}}withoutTempSkipped(e){for(let t;t=this.tempSkipped.pop();)e=qa(e,t.from,t.to);return e}changes(e,t){let{fragments:i,tree:O,treeLen:n,viewport:r,skipped:s}=this;if(this.takeTree(),!e.empty){let t=[];if(e.iterChangedRanges((e,i,O,n)=>t.push({fromA:e,toA:i,fromB:O,toB:n})),i=qo.applyChanges(i,t),O=Qo.empty,n=0,r={from:e.mapPos(r.from,-1),to:e.mapPos(r.to,1)},this.skipped.length){s=[];for(let t of this.skipped){let i=e.mapPos(t.from,1),O=e.mapPos(t.to,-1);ie.from&&(this.fragments=qa(this.fragments,i,O),this.skipped.splice(t--,1))}return!(this.skipped.length>=t||(this.reset(),0))}reset(){this.parse&&(this.takeTree(),this.parse=null)}skipUntilInView(e,t){this.skipped.push({from:e,to:t})}static getSkippingParser(e){return new class extends Wo{createParse(t,i,O){let n=O[0].from,r=O[O.length-1].to;return{parsedPos:n,advance(){let t=Ya;if(t){for(let e of O)t.tempSkipped.push(e);e&&(t.scheduleOn=t.scheduleOn?Promise.all([t.scheduleOn,e]):e)}return this.parsedPos=r,new Qo(co.none,[],[],r-n)},stoppedAt:null,stopAt(){}}}}}isDone(e){e=Math.min(e,this.state.doc.length);let t=this.fragments;return this.treeLen>=e&&t.length&&0==t[0].from&&t[0].to>=e}static get(){return Ya}}function qa(e,t,i){return qo.applyChanges(e,[{fromA:t,toA:i,fromB:t,toB:i}])}class Wa{constructor(e){this.context=e,this.tree=e.tree}apply(e){if(!e.docChanged&&this.tree==this.context.tree)return this;let t=this.context.changes(e.changes,e.state),i=this.context.treeLen==e.startState.doc.length?void 0:Math.max(e.changes.mapPos(this.context.treeLen),t.viewport.to);return t.work(20,i)||t.takeTree(),new Wa(t)}static init(e){let t=Math.min(3e3,e.doc.length),i=Va.create(e.facet(Ca).parser,e,{from:0,to:t});return i.work(20,t)||i.takeTree(),new Wa(i)}}ka.state=L.define({create:Wa.init,update(e,t){for(let e of t.effects)if(e.is(ka.setState))return e.value;return t.startState.facet(Ca)!=t.state.facet(Ca)?Wa.init(t.state):e.apply(t)}});let Ua=e=>{let t=setTimeout(()=>e(),500);return()=>clearTimeout(t)};"undefined"!=typeof requestIdleCallback&&(Ua=e=>{let t=-1,i=setTimeout(()=>{t=requestIdleCallback(e,{timeout:400})},100);return()=>t<0?clearTimeout(i):cancelIdleCallback(t)});const ja="undefined"!=typeof navigator&&(null===(wa=navigator.scheduling)||void 0===wa?void 0:wa.isInputPending)?()=>navigator.scheduling.isInputPending():null,Ga=qi.fromClass(class{constructor(e){this.view=e,this.working=null,this.workScheduled=0,this.chunkEnd=-1,this.chunkBudget=-1,this.work=this.work.bind(this),this.scheduleWork()}update(e){let t=this.view.state.field(ka.state).context;(t.updateViewport(e.view.viewport)||this.view.viewport.to>t.treeLen)&&this.scheduleWork(),(e.docChanged||e.selectionSet)&&(this.view.hasFocus&&(this.chunkBudget+=50),this.scheduleWork()),this.checkAsyncSchedule(t)}scheduleWork(){if(this.working)return;let{state:e}=this.view,t=e.field(ka.state);t.tree==t.context.tree&&t.context.isDone(e.doc.length)||(this.working=Ua(this.work))}work(e){this.working=null;let t=Date.now();if(this.chunkEndO+1e3,o=n.context.work(()=>ja&&ja()||Date.now()>r,O+(s?0:1e5));this.chunkBudget-=Date.now()-t,(o||this.chunkBudget<=0)&&(n.context.takeTree(),this.view.dispatch({effects:ka.setState.of(new Wa(n.context))})),this.chunkBudget>0&&(!o||s)&&this.scheduleWork(),this.checkAsyncSchedule(n.context)}checkAsyncSchedule(e){e.scheduleOn&&(this.workScheduled++,e.scheduleOn.then(()=>this.scheduleWork()).catch(e=>zi(this.view.state,e)).then(()=>this.workScheduled--),e.scheduleOn=null)}destroy(){this.working&&this.working()}isWorking(){return!!(this.working||this.workScheduled>0)}},{eventHandlers:{focus(){this.scheduleWork()}}}),Ca=j.define({combine:e=>e.length?e[0]:null,enables:e=>[ka.state,Ga,ar.contentAttributes.compute([e],t=>{let i=t.facet(e);return i&&i.name?{"data-language":i.name}:{}})]});class Aa{constructor(e,t=[]){this.language=e,this.support=t,this.extension=[e,t]}}const Ea=j.define(),Ma=j.define({combine:e=>{if(!e.length)return" ";let t=e[0];if(!t||/\S/.test(t)||Array.from(t).some(e=>e!=t[0]))throw new Error("Invalid indent unit: "+JSON.stringify(e[0]));return t}});function Da(e){let t=e.facet(Ma);return 9==t.charCodeAt(0)?e.tabSize*t.length:t.length}function La(e,t){let i="",O=e.tabSize,n=e.facet(Ma)[0];if("\t"==n){for(;t>=O;)i+="\t",t-=O;n=" "}for(let e=0;e=t?function(e,t,i){let O=t.resolveStack(i),n=t.resolveInner(i,-1).resolve(i,0).enterUnfinishedNodesBefore(i);if(n!=O.node){let e=[];for(let t=n;t&&!(t.fromO.node.to||t.from==O.node.from&&t.type==O.node.type);t=t.parent)e.push(t);for(let t=e.length-1;t>=0;t--)O={node:e[t],next:O}}return Fa(O,e,i)}(e,i,t):null}class Na{constructor(e,t={}){this.state=e,this.options=t,this.unit=Da(e)}lineAt(e,t=1){let i=this.state.doc.lineAt(e),{simulateBreak:O,simulateDoubleBreak:n}=this.options;return null!=O&&O>=i.from&&O<=i.to?n&&O==e?{text:"",from:e}:(t<0?O-1&&(n+=r-this.countColumn(i,i.search(/\S|$/))),n}countColumn(e,t=e.length){return Ce(e,this.state.tabSize,t)}lineIndent(e,t=1){let{text:i,from:O}=this.lineAt(e,t),n=this.options.overrideIndentation;if(n){let e=n(O);if(e>-1)return e}return this.countColumn(i,i.search(/\S|$/))}get simulatedBreak(){return this.options.simulateBreak||null}}const Ba=new ao;function Fa(e,t,i){for(let O=e;O;O=O.next){let e=Ha(O.node);if(e)return e(Ja.create(t,i,O))}return 0}function Ha(e){let t=e.type.prop(Ba);if(t)return t;let i,O=e.firstChild;if(O&&(i=O.type.prop(ao.closedBy))){let t=e.lastChild,O=t&&i.indexOf(t.name)>-1;return e=>il(e,!0,1,void 0,O&&!function(e){return e.pos==e.options.simulateBreak&&e.options.simulateDoubleBreak}(e)?t.from:void 0)}return null==e.parent?Ka:null}function Ka(){return 0}class Ja extends Na{constructor(e,t,i){super(e.state,e.options),this.base=e,this.pos=t,this.context=i}get node(){return this.context.node}static create(e,t,i){return new Ja(e,t,i)}get textAfter(){return this.textAfterPos(this.pos)}get baseIndent(){return this.baseIndentFor(this.node)}baseIndentFor(e){let t=this.state.doc.lineAt(e.from);for(;;){let i=e.resolve(t.from);for(;i.parent&&i.parent.from==i.from;)i=i.parent;if(el(i,e))break;t=this.state.doc.lineAt(i.from)}return this.lineIndent(t.from)}continue(){return Fa(this.context.next,this.base,this.pos)}}function el(e,t){for(let i=t;i;i=i.parent)if(e==i)return!0;return!1}function tl({closing:e,align:t=!0,units:i=1}){return O=>il(O,t,i,e)}function il(e,t,i,O,n){let r=e.textAfter,s=r.match(/^\s*/)[0].length,o=O&&r.slice(s,s+O.length)==O||n==e.pos+s,a=t?function(e){let t=e.node,i=t.childAfter(t.from),O=t.lastChild;if(!i)return null;let n=e.options.simulateBreak,r=e.state.doc.lineAt(i.from),s=null==n||n<=r.from?r.to:Math.min(r.to,n);for(let e=i.to;;){let n=t.childAfter(e);if(!n||n==O)return null;if(!n.type.isSkipped){if(n.from>=s)return null;let e=/^ */.exec(r.text.slice(i.to-r.from))[0].length;return{from:i.from,to:i.to+e}}e=n.to}}(e):null;return a?o?e.column(a.from):e.column(a.to):e.baseIndent+(o?0:e.unit*i)}function Ol({except:e,units:t=1}={}){return i=>{let O=e&&e.test(i.textAfter);return i.baseIndent+(O?0:t*i.unit)}}const nl=j.define(),rl=new ao;function sl(e){let t=e.firstChild,i=e.lastChild;return t&&t.toi)continue;if(n&&s.from=t&&O.to>i&&(n=O)}}return n}(e,t,i)}function ll(e,t){let i=t.mapPos(e.from,1),O=t.mapPos(e.to,-1);return i>=O?void 0:{from:i,to:O}}const hl=ce.define({map:ll}),cl=ce.define({map:ll});function dl(e){let t=[];for(let{head:i}of e.state.selection.ranges)t.some(e=>e.from<=i&&e.to>=i)||t.push(e.lineBlockAt(i));return t}const ul=L.define({create:()=>Tt.none,update(e,t){t.isUserEvent("delete")&&t.changes.iterChangedRanges((t,i)=>e=$l(e,t,i)),e=e.map(t.changes);let i=[];for(let O of t.effects)O.is(hl)&&!pl(e,O.value.from,O.value.to)?i.push(O.value):O.is(cl)&&(e=e.update({filter:(e,t)=>O.value.from!=e||O.value.to!=t,filterFrom:O.value.from,filterTo:O.value.to}));if(i.length){let{preparePlaceholder:O}=t.state.facet(Pl),n=i.map(e=>(O?Tt.replace({widget:new wl(O(t.state,e))}):vl).range(e.from,e.to));e=e.update({add:n})}return t.selection&&(e=$l(e,t.selection.main.head)),e},provide:e=>ar.decorations.from(e),toJSON(e,t){let i=[];return e.between(0,t.doc.length,(e,t)=>{i.push(e,t)}),i},fromJSON(e){if(!Array.isArray(e)||e.length%2)throw new RangeError("Invalid JSON for fold state");let t=[];for(let i=0;i{et&&(O=!0)}),O?e.update({filterFrom:t,filterTo:i,filter:(e,O)=>e>=i||O<=t}):e}function fl(e,t,i){var O;let n=null;return null===(O=e.field(ul,!1))||void 0===O||O.between(t,i,(e,t)=>{(!n||n.from>e)&&(n={from:e,to:t})}),n}function pl(e,t,i){let O=!1;return e.between(t,t,(e,n)=>{e==t&&n==i&&(O=!0)}),O}function Ql(e,t){return e.field(ul,!1)?t:t.concat(ce.appendConfig.of(Tl()))}function ml(e,t,i=!0){let O=e.state.doc.lineAt(t.from).number,n=e.state.doc.lineAt(t.to).number;return ar.announce.of(`${e.state.phrase(i?"Folded lines":"Unfolded lines")} ${O} ${e.state.phrase("to")} ${n}.`)}const gl=[{key:"Ctrl-Shift-[",mac:"Cmd-Alt-[",run:e=>{for(let t of dl(e)){let i=al(e.state,t.from,t.to);if(i)return e.dispatch({effects:Ql(e.state,[hl.of(i),ml(e,i)])}),!0}return!1}},{key:"Ctrl-Shift-]",mac:"Cmd-Alt-]",run:e=>{if(!e.state.field(ul,!1))return!1;let t=[];for(let i of dl(e)){let O=fl(e.state,i.from,i.to);O&&t.push(cl.of(O),ml(e,O,!1))}return t.length&&e.dispatch({effects:t}),t.length>0}},{key:"Ctrl-Alt-[",run:e=>{let{state:t}=e,i=[];for(let O=0;O{let t=e.state.field(ul,!1);if(!t||!t.size)return!1;let i=[];return t.between(0,e.state.doc.length,(e,t)=>{i.push(cl.of({from:e,to:t}))}),e.dispatch({effects:i}),!0}}],Sl={placeholderDOM:null,preparePlaceholder:null,placeholderText:"…"},Pl=j.define({combine:e=>ye(e,Sl)});function Tl(e){return[ul,kl]}function yl(e,t){let{state:i}=e,O=i.facet(Pl),n=t=>{let i=e.lineBlockAt(e.posAtDOM(t.target)),O=fl(e.state,i.from,i.to);O&&e.dispatch({effects:cl.of(O)}),t.preventDefault()};if(O.placeholderDOM)return O.placeholderDOM(e,n,t);let r=document.createElement("span");return r.textContent=O.placeholderText,r.setAttribute("aria-label",i.phrase("folded code")),r.title=i.phrase("unfold"),r.className="cm-foldPlaceholder",r.onclick=n,r}const vl=Tt.replace({widget:new class extends St{toDOM(e){return yl(e,null)}}});class wl extends St{constructor(e){super(),this.value=e}eq(e){return this.value==e.value}toDOM(e){return yl(e,this.value)}}const bl={openText:"⌄",closedText:"›",markerDOM:null,domEventHandlers:{},foldingChanged:()=>!1};class xl extends Rs{constructor(e,t){super(),this.config=e,this.open=t}eq(e){return this.config==e.config&&this.open==e.open}toDOM(e){if(this.config.markerDOM)return this.config.markerDOM(this.open);let t=document.createElement("span");return t.textContent=this.open?this.config.openText:this.config.closedText,t.title=e.state.phrase(this.open?"Fold line":"Unfold line"),t}}function Xl(e={}){let t={...bl,...e},i=new xl(t,!0),O=new xl(t,!1),n=qi.fromClass(class{constructor(e){this.from=e.viewport.from,this.markers=this.buildMarkers(e)}update(e){(e.docChanged||e.viewportChanged||e.startState.facet(Ca)!=e.state.facet(Ca)||e.startState.field(ul,!1)!=e.state.field(ul,!1)||za(e.startState)!=za(e.state)||t.foldingChanged(e))&&(this.markers=this.buildMarkers(e.view))}buildMarkers(e){let t=new Ze;for(let n of e.viewportLineBlocks){let r=fl(e.state,n.from,n.to)?O:al(e.state,n.from,n.to)?i:null;r&&t.add(n.from,n.from,r)}return t.finish()}}),{domEventHandlers:r}=t;return[n,qs({class:"cm-foldGutter",markers(e){var t;return(null===(t=e.plugin(n))||void 0===t?void 0:t.markers)||ke.empty},initialSpacer:()=>new xl(t,!1),domEventHandlers:{...r,click:(e,t,i)=>{if(r.click&&r.click(e,t,i))return!0;let O=fl(e.state,t.from,t.to);if(O)return e.dispatch({effects:cl.of(O)}),!0;let n=al(e.state,t.from,t.to);return!!n&&(e.dispatch({effects:hl.of(n)}),!0)}}}),Tl()]}const kl=ar.baseTheme({".cm-foldPlaceholder":{backgroundColor:"#eee",border:"1px solid #ddd",color:"#888",borderRadius:".2em",margin:"0 1px",padding:"0 1px",cursor:"pointer"},".cm-foldGutter span":{padding:"0 1px",cursor:"pointer"}});class Zl{constructor(e,t){let i;function O(e){let t=Le.newName();return(i||(i=Object.create(null)))["."+t]=e,t}this.specs=e;const n="string"==typeof t.all?t.all:t.all?O(t.all):void 0,r=t.scope;this.scope=r instanceof ka?e=>e.prop(ba)==r.data:r?e=>e==r:void 0,this.style=sa(e.map(e=>({tag:e.tag,class:e.class||O(Object.assign({},e,{tag:null}))})),{all:n}).style,this.module=i?new Le(i):null,this.themeType=t.themeType}static define(e,t){return new Zl(e,t||{})}}const Rl=j.define(),zl=j.define({combine:e=>e.length?[e[0]]:null});function _l(e){let t=e.facet(Rl);return t.length?t:e.facet(zl)}function Yl(e,t){let i,O=[ql];return e instanceof Zl&&(e.module&&O.push(ar.styleModule.of(e.module)),i=e.themeType),(null==t?void 0:t.fallback)?O.push(zl.of(e)):i?O.push(Rl.computeN([ar.darkTheme],t=>t.facet(ar.darkTheme)==("dark"==i)?[e]:[])):O.push(Rl.of(e)),O}class Vl{constructor(e){this.markCache=Object.create(null),this.tree=za(e.state),this.decorations=this.buildDeco(e,_l(e.state)),this.decoratedTo=e.viewport.to}update(e){let t=za(e.state),i=_l(e.state),O=i!=_l(e.startState),{viewport:n}=e.view,r=e.changes.mapPos(this.decoratedTo,1);t.length=n.to?(this.decorations=this.decorations.map(e.changes),this.decoratedTo=r):(t!=this.tree||e.viewportChanged||O)&&(this.tree=t,this.decorations=this.buildDeco(e.view,i),this.decoratedTo=n.to)}buildDeco(e,t){if(!t||!this.tree.length)return Tt.none;let i=new Ze;for(let{from:O,to:n}of e.visibleRanges)oa(this.tree,t,(e,t,O)=>{i.add(e,t,this.markCache[O]||(this.markCache[O]=Tt.mark({class:O})))},O,n);return i.finish()}}const ql=N.high(qi.fromClass(Vl,{decorations:e=>e.decorations})),Wl=Zl.define([{tag:va.meta,color:"#404740"},{tag:va.link,textDecoration:"underline"},{tag:va.heading,textDecoration:"underline",fontWeight:"bold"},{tag:va.emphasis,fontStyle:"italic"},{tag:va.strong,fontWeight:"bold"},{tag:va.strikethrough,textDecoration:"line-through"},{tag:va.keyword,color:"#708"},{tag:[va.atom,va.bool,va.url,va.contentSeparator,va.labelName],color:"#219"},{tag:[va.literal,va.inserted],color:"#164"},{tag:[va.string,va.deleted],color:"#a11"},{tag:[va.regexp,va.escape,va.special(va.string)],color:"#e40"},{tag:va.definition(va.variableName),color:"#00f"},{tag:va.local(va.variableName),color:"#30a"},{tag:[va.typeName,va.namespace],color:"#085"},{tag:va.className,color:"#167"},{tag:[va.special(va.variableName),va.macroName],color:"#256"},{tag:va.definition(va.propertyName),color:"#00c"},{tag:va.comment,color:"#940"},{tag:va.invalid,color:"#f00"}]),Ul=ar.baseTheme({"&.cm-focused .cm-matchingBracket":{backgroundColor:"#328c8252"},"&.cm-focused .cm-nonmatchingBracket":{backgroundColor:"#bb555544"}}),jl="()[]{}",Gl=j.define({combine:e=>ye(e,{afterCursor:!0,brackets:jl,maxScanDistance:1e4,renderMatch:El})}),Cl=Tt.mark({class:"cm-matchingBracket"}),Al=Tt.mark({class:"cm-nonmatchingBracket"});function El(e){let t=[],i=e.matched?Cl:Al;return t.push(i.range(e.start.from,e.start.to)),e.end&&t.push(i.range(e.end.from,e.end.to)),t}function Ml(e){let t=[],i=e.facet(Gl);for(let O of e.selection.ranges){if(!O.empty)continue;let n=Fl(e,O.head,-1,i)||O.head>0&&Fl(e,O.head-1,1,i)||i.afterCursor&&(Fl(e,O.head,1,i)||O.heade.decorations}),Ul];function Ll(e={}){return[Gl.of(e),Dl]}const Il=new ao;function Nl(e,t,i){let O=e.prop(t<0?ao.openedBy:ao.closedBy);if(O)return O;if(1==e.name.length){let O=i.indexOf(e.name);if(O>-1&&O%2==(t<0?1:0))return[i[O+t]]}return null}function Bl(e){let t=e.type.prop(Il);return t?t(e.node):e}function Fl(e,t,i,O={}){let n=O.maxScanDistance||1e4,r=O.brackets||jl,s=za(e),o=s.resolveInner(t,i);for(let e=o;e;e=e.parent){let O=Nl(e.type,i,r);if(O&&e.from0?t>=n.from&&tn.from&&t<=n.to))return Hl(0,0,i,e,n,O,r)}}return function(e,t,i,O,n,r,s){if(i<0?!t:t==e.doc.length)return null;let o=i<0?e.sliceDoc(t-1,t):e.sliceDoc(t,t+1),a=s.indexOf(o);if(a<0||a%2==0!=i>0)return null;let l={from:i<0?t-1:t,to:i>0?t+1:t},h=e.doc.iterRange(t,i>0?e.doc.length:0),c=0;for(let e=0;!h.next().done&&e<=r;){let r=h.value;i<0&&(e+=r.length);let o=t+e*i;for(let e=i>0?0:r.length-1,t=i>0?r.length:-1;e!=t;e+=i){let t=s.indexOf(r[e]);if(!(t<0||O.resolveInner(o+e,1).type!=n))if(t%2==0==i>0)c++;else{if(1==c)return{start:l,end:{from:o+e,to:o+e+1},matched:t>>1==a>>1};c--}}i>0&&(e+=r.length)}return h.done?{start:l,matched:!1}:null}(e,t,i,s,o.type,n,r)}function Hl(e,t,i,O,n,r,s){let o=O.parent,a={from:n.from,to:n.to},l=0,h=null==o?void 0:o.cursor();if(h&&(i<0?h.childBefore(O.from):h.childAfter(O.to)))do{if(i<0?h.to<=O.from:h.from>=O.to){if(0==l&&r.indexOf(h.type.name)>-1&&h.from=this.string.length}sol(){return 0==this.pos}peek(){return this.string.charAt(this.pos)||void 0}next(){if(this.post}eatSpace(){let e=this.pos;for(;/[\s\u00a0]/.test(this.string.charAt(this.pos));)++this.pos;return this.pos>e}skipToEnd(){this.pos=this.string.length}skipTo(e){let t=this.string.indexOf(e,this.pos);if(t>-1)return this.pos=t,!0}backUp(e){this.pos-=e}column(){return this.lastColumnPosi?e.toLowerCase():e;return O(this.string.substr(this.pos,e.length))==O(e)?(!1!==t&&(this.pos+=e.length),!0):null}{let i=this.string.slice(this.pos).match(e);return i&&i.index>0?null:(i&&!1!==t&&(this.pos+=i[0].length),i)}}current(){return this.string.slice(this.start,this.pos)}}function eh(e){if("object"!=typeof e)return e;let t={};for(let i in e){let O=e[i];t[i]=O instanceof Array?O.slice():O}return t}const th=new WeakMap;class ih extends ka{constructor(e){let t,i=xa(e.languageData),O={name:(n=e).name||"",token:n.token,blankLine:n.blankLine||(()=>{}),startState:n.startState||(()=>!0),copyState:n.copyState||eh,indent:n.indent||(()=>null),languageData:n.languageData||{},tokenTable:n.tokenTable||oh,mergeTokens:!1!==n.mergeTokens};var n;super(i,new class extends Wo{createParse(e,i,O){return new rh(t,e,i,O)}},[],e.name),this.topNode=function(e,t){let i=co.define({id:ah.length,name:"Document",props:[ba.add(()=>e),Ba.add(()=>e=>t.getIndent(e))],top:!0});return ah.push(i),i}(i,this),t=this,this.streamParser=O,this.stateAfter=new ao({perNode:!0}),this.tokenTable=e.tokenTable?new uh(O.tokenTable):$h}static define(e){return new ih(e)}getIndent(e){let t,{overrideIndentation:i}=e.options;i&&(t=th.get(e.state),null!=t&&t1e4)return null;for(;O=O&&i+t.length<=n&&t.prop(e.stateAfter);if(r)return{state:e.streamParser.copyState(r),pos:i+t.length};for(let r=t.children.length-1;r>=0;r--){let s=t.children[r],o=i+t.positions[r],a=s instanceof Qo&&o=t.length)return t;n||0!=i||t.type!=e.topNode||(n=!0);for(let r=t.children.length-1;r>=0;r--){let s,o=t.positions[r],a=t.children[r];if(oi&&Oh(e,n.tree,0-n.offset,i,s);if(o&&o.pos<=O&&(t=nh(e,n.tree,i+n.offset,o.pos+n.offset,!1)))return{state:o.state,tree:t}}return{state:e.streamParser.startState(n?Da(n):4),tree:Qo.empty}}(e,i,r,this.to,null==n?void 0:n.state);this.state=s,this.parsedPos=this.chunkStart=r+o.length;for(let e=0;ee.from<=n.viewport.from&&e.to>=n.viewport.from)&&(this.state=this.lang.streamParser.startState(Da(n.state)),n.skipUntilInView(this.parsedPos,n.viewport.from),this.parsedPos=n.viewport.from),this.moveRangeIndex()}advance(){let e=Va.get(),t=null==this.stoppedAt?this.to:Math.min(this.to,this.stoppedAt),i=Math.min(t,this.chunkStart+512);for(e&&(i=Math.min(i,e.viewport.to));this.parsedPos=t?this.finish():e&&this.parsedPos>=e.viewport.to?(e.skipUntilInView(this.parsedPos,t),this.finish()):null}stopAt(e){this.stoppedAt=e}lineAfter(e){let t=this.input.chunk(e);if(this.input.lineChunks)"\n"==t&&(t="");else{let e=t.indexOf("\n");e>-1&&(t=t.slice(0,e))}return e+t.length<=this.to?t:t.slice(0,this.to-e)}nextLine(){let e=this.parsedPos,t=this.lineAfter(e),i=e+t.length;for(let e=this.rangeIndex;;){let O=this.ranges[e].to;if(O>=i)break;if(t=t.slice(0,O-(i-t.length)),e++,e==this.ranges.length)break;let n=this.ranges[e].from,r=this.lineAfter(n);t+=r,i=n+r.length}return{line:t,end:i}}skipGapsTo(e,t,i){for(;;){let O=this.ranges[this.rangeIndex].to,n=e+t;if(i>0?O>n:O>=n)break;t+=this.ranges[++this.rangeIndex].from-O}return t}moveRangeIndex(){for(;this.ranges[this.rangeIndex].to1){t+=O=this.skipGapsTo(t,O,1);let e=this.chunk.length;i+=O=this.skipGapsTo(i,O,-1),n+=this.chunk.length-e}let r=this.chunk.length-4;return this.lang.streamParser.mergeTokens&&4==n&&r>=0&&this.chunk[r]==e&&this.chunk[r+2]==t?this.chunk[r+2]=i:this.chunk.push(e,t,i,n),O}parseLine(e){let{line:t,end:i}=this.nextLine(),O=0,{streamParser:n}=this.lang,r=new Jl(t,e?e.state.tabSize:4,e?Da(e.state):2);if(r.eol())n.blankLine(this.state,r.indentUnit);else for(;!r.eol();){let e=sh(n.token,r,this.state);if(e&&(O=this.emitToken(this.lang.tokenTable.resolve(e),this.parsedPos+r.start,this.parsedPos+r.pos,O)),r.start>1e4)break}this.parsedPos=i,this.moveRangeIndex(),this.parsedPost.start)return O}throw new Error("Stream parser failed to advance stream.")}const oh=Object.create(null),ah=[co.none],lh=new uo(ah),hh=[],ch=Object.create(null),dh=Object.create(null);for(let[e,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"]])dh[e]=ph(oh,t);class uh{constructor(e){this.extra=e,this.table=Object.assign(Object.create(null),dh)}resolve(e){return e?this.table[e]||(this.table[e]=ph(this.extra,e)):0}}const $h=new uh(oh);function fh(e,t){hh.indexOf(e)>-1||hh.push(e)}function ph(e,t){let i=[];for(let O of t.split(" ")){let t=[];for(let i of O.split(".")){let O=e[i]||va[i];O?"function"==typeof O?t.length?t=t.map(O):fh(i):t.length?fh(i):t=Array.isArray(O)?O:[O]:fh(i)}for(let e of t)i.push(e)}if(!i.length)return 0;let O=t.replace(/ /g,"_"),n=O+" "+i.map(e=>e.id),r=ch[n];if(r)return r.id;let s=ch[n]=co.define({id:ah.length,name:O,props:[Oa({[O]:i})]});return ah.push(s),s.id}function Qh(e,t){return({state:i,dispatch:O})=>{if(i.readOnly)return!1;let n=e(t,i);return!!n&&(O(i.update(n)),!0)}}Kt.RTL,Kt.LTR;const mh=Qh(vh,0),gh=Qh(yh,0),Sh=Qh((e,t)=>yh(e,t,function(e){let t=[];for(let i of e.selection.ranges){let O=e.doc.lineAt(i.from),n=i.to<=O.to?O:e.doc.lineAt(i.to);n.from>O.from&&n.from==i.to&&(n=i.to==O.to+1?O:e.doc.lineAt(i.to-1));let r=t.length-1;r>=0&&t[r].to>O.from?t[r].to=n.to:t.push({from:O.from+/^\s*/.exec(O.text)[0].length,to:n.to})}return t}(t)),0);function Ph(e,t){let i=e.languageDataAt("commentTokens",t,1);return i.length?i[0]:{}}const Th=50;function yh(e,t,i=t.selection.ranges){let O=i.map(e=>Ph(t,e.from).block);if(!O.every(e=>e))return null;let n=i.map((e,i)=>function(e,{open:t,close:i},O,n){let r,s,o=e.sliceDoc(O-Th,O),a=e.sliceDoc(n,n+Th),l=/\s*$/.exec(o)[0].length,h=/^\s*/.exec(a)[0].length,c=o.length-l;if(o.slice(c-t.length,c)==t&&a.slice(h,h+i.length)==i)return{open:{pos:O-l,margin:l&&1},close:{pos:n+h,margin:h&&1}};n-O<=2*Th?r=s=e.sliceDoc(O,n):(r=e.sliceDoc(O,O+Th),s=e.sliceDoc(n-Th,n));let d=/^\s*/.exec(r)[0].length,u=/\s*$/.exec(s)[0].length,$=s.length-u-i.length;return r.slice(d,d+t.length)==t&&s.slice($,$+i.length)==i?{open:{pos:O+d+t.length,margin:/\s/.test(r.charAt(d+t.length))?1:0},close:{pos:n-u-i.length,margin:/\s/.test(s.charAt($-1))?1:0}}:null}(t,O[i],e.from,e.to));if(2!=e&&!n.every(e=>e))return{changes:t.changes(i.map((e,t)=>n[t]?[]:[{from:e.from,insert:O[t].open+" "},{from:e.to,insert:" "+O[t].close}]))};if(1!=e&&n.some(e=>e)){let e=[];for(let t,i=0;in&&(e==r||r>a.from)){n=a.from;let e=/^\s*/.exec(a.text)[0].length,t=e==a.length,r=a.text.slice(e,e+i.length)==i?e:-1;ee.comment<0&&(!e.empty||e.single))){let e=[];for(let{line:t,token:i,indent:n,empty:r,single:s}of O)!s&&r||e.push({from:t.from+n,insert:i+" "});let i=t.changes(e);return{changes:i,selection:t.selection.map(i,1)}}if(1!=e&&O.some(e=>e.comment>=0)){let e=[];for(let{line:t,comment:i,token:n}of O)if(i>=0){let O=t.from+i,r=O+n.length;" "==t.text[r-t.from]&&r++,e.push({from:O,to:r})}return{changes:e}}return null}const wh=ae.define(),bh=ae.define(),xh=j.define(),Xh=j.define({combine:e=>ye(e,{minDepth:100,newGroupDelay:500,joinToEvent:(e,t)=>t},{minDepth:Math.max,newGroupDelay:Math.min,joinToEvent:(e,t)=>(i,O)=>e(i,O)||t(i,O)})}),kh=L.define({create:()=>Lh.empty,update(e,t){let i=t.state.facet(Xh),O=t.annotation(wh);if(O){let n=qh.fromTransaction(t,O.selection),r=O.side,s=0==r?e.undone:e.done;return s=n?Wh(s,s.length,i.minDepth,n):Ch(s,t.startState.selection),new Lh(0==r?O.rest:s,0==r?s:O.rest)}let n=t.annotation(bh);if("full"!=n&&"before"!=n||(e=e.isolate()),!1===t.annotation(de.addToHistory))return t.changes.empty?e:e.addMapping(t.changes.desc);let r=qh.fromTransaction(t),s=t.annotation(de.time),o=t.annotation(de.userEvent);return r?e=e.addChanges(r,s,o,i,t):t.selection&&(e=e.addSelection(t.startState.selection,s,o,i.newGroupDelay)),"full"!=n&&"after"!=n||(e=e.isolate()),e},toJSON:e=>({done:e.done.map(e=>e.toJSON()),undone:e.undone.map(e=>e.toJSON())}),fromJSON:e=>new Lh(e.done.map(qh.fromJSON),e.undone.map(qh.fromJSON))});function Zh(e={}){return[kh,Xh.of(e),ar.domEventHandlers({beforeinput(e,t){let i="historyUndo"==e.inputType?zh:"historyRedo"==e.inputType?_h:null;return!!i&&(e.preventDefault(),i(t))}})]}function Rh(e,t){return function({state:i,dispatch:O}){if(!t&&i.readOnly)return!1;let n=i.field(kh,!1);if(!n)return!1;let r=n.pop(e,i,t);return!!r&&(O(r),!0)}}const zh=Rh(0,!1),_h=Rh(1,!1),Yh=Rh(0,!0),Vh=Rh(1,!0);class qh{constructor(e,t,i,O,n){this.changes=e,this.effects=t,this.mapped=i,this.startSelection=O,this.selectionsAfter=n}setSelAfter(e){return new qh(this.changes,this.effects,this.mapped,this.startSelection,e)}toJSON(){var e,t,i;return{changes:null===(e=this.changes)||void 0===e?void 0:e.toJSON(),mapped:null===(t=this.mapped)||void 0===t?void 0:t.toJSON(),startSelection:null===(i=this.startSelection)||void 0===i?void 0:i.toJSON(),selectionsAfter:this.selectionsAfter.map(e=>e.toJSON())}}static fromJSON(e){return new qh(e.changes&&X.fromJSON(e.changes),[],e.mapped&&x.fromJSON(e.mapped),e.startSelection&&q.fromJSON(e.startSelection),e.selectionsAfter.map(q.fromJSON))}static fromTransaction(e,t){let i=jh;for(let t of e.startState.facet(xh)){let O=t(e);O.length&&(i=i.concat(O))}return!i.length&&e.changes.empty?null:new qh(e.changes.invert(e.startState.doc),i,void 0,t||e.startState.selection,jh)}static selection(e){return new qh(void 0,jh,void 0,void 0,e)}}function Wh(e,t,i,O){let n=t+1>i+20?t-i-1:0,r=e.slice(n,t);return r.push(O),r}function Uh(e,t){return e.length?t.length?e.concat(t):e:t}const jh=[],Gh=200;function Ch(e,t){if(e.length){let i=e[e.length-1],O=i.selectionsAfter.slice(Math.max(0,i.selectionsAfter.length-Gh));return O.length&&O[O.length-1].eq(t)?e:(O.push(t),Wh(e,e.length-1,1e9,i.setSelAfter(O)))}return[qh.selection([t])]}function Ah(e){let t=e[e.length-1],i=e.slice();return i[e.length-1]=t.setSelAfter(t.selectionsAfter.slice(0,t.selectionsAfter.length-1)),i}function Eh(e,t){if(!e.length)return e;let i=e.length,O=jh;for(;i;){let n=Mh(e[i-1],t,O);if(n.changes&&!n.changes.empty||n.effects.length){let t=e.slice(0,i);return t[i-1]=n,t}t=n.mapped,i--,O=n.selectionsAfter}return O.length?[qh.selection(O)]:jh}function Mh(e,t,i){let O=Uh(e.selectionsAfter.length?e.selectionsAfter.map(e=>e.map(t)):jh,i);if(!e.changes)return qh.selection(O);let n=e.changes.map(t),r=t.mapDesc(e.changes,!0),s=e.mapped?e.mapped.composeDesc(r):r;return new qh(n,ce.mapEffects(e.effects,t),s,e.startSelection.map(r),O)}const Dh=/^(input\.type|delete)($|\.)/;class Lh{constructor(e,t,i=0,O=void 0){this.done=e,this.undone=t,this.prevTime=i,this.prevUserEvent=O}isolate(){return this.prevTime?new Lh(this.done,this.undone):this}addChanges(e,t,i,O,n){let r=this.done,s=r[r.length-1];return r=s&&s.changes&&!s.changes.empty&&e.changes&&(!i||Dh.test(i))&&(!s.selectionsAfter.length&&t-this.prevTimei.push(e,t)),t.iterChangedRanges((e,t,n,r)=>{for(let e=0;e=t&&n<=s&&(O=!0)}}),O}(s.changes,e.changes))||"input.type.compose"==i)?Wh(r,r.length-1,O.minDepth,new qh(e.changes.compose(s.changes),Uh(ce.mapEffects(e.effects,s.changes),s.effects),s.mapped,s.startSelection,jh)):Wh(r,r.length,O.minDepth,e),new Lh(r,jh,t,i)}addSelection(e,t,i,O){let n=this.done.length?this.done[this.done.length-1].selectionsAfter:jh;return n.length>0&&t-this.prevTimee.empty!=s.ranges[t].empty).length)?this:new Lh(Ch(this.done,e),this.undone,t,i);var r,s}addMapping(e){return new Lh(Eh(this.done,e),Eh(this.undone,e),this.prevTime,this.prevUserEvent)}pop(e,t,i){let O=0==e?this.done:this.undone;if(0==O.length)return null;let n=O[O.length-1],r=n.selectionsAfter[0]||(n.startSelection?n.startSelection.map(n.changes.invertedDesc,1):t.selection);if(i&&n.selectionsAfter.length)return t.update({selection:n.selectionsAfter[n.selectionsAfter.length-1],annotations:wh.of({side:e,rest:Ah(O),selection:r}),userEvent:0==e?"select.undo":"select.redo",scrollIntoView:!0});if(n.changes){let i=1==O.length?jh:O.slice(0,O.length-1);return n.mapped&&(i=Eh(i,n.mapped)),t.update({changes:n.changes,selection:n.startSelection,effects:n.effects,annotations:wh.of({side:e,rest:i,selection:r}),filter:!1,userEvent:0==e?"undo":"redo",scrollIntoView:!0})}return null}}Lh.empty=new Lh(jh,jh);const Ih=[{key:"Mod-z",run:zh,preventDefault:!0},{key:"Mod-y",mac:"Mod-Shift-z",run:_h,preventDefault:!0},{linux:"Ctrl-Shift-z",run:_h,preventDefault:!0},{key:"Mod-u",run:Yh,preventDefault:!0},{key:"Alt-u",mac:"Mod-Shift-u",run:Vh,preventDefault:!0}];function Nh(e,t){return q.create(e.ranges.map(t),e.mainIndex)}function Bh(e,t){return e.update({selection:t,scrollIntoView:!0,userEvent:"select"})}function Fh({state:e,dispatch:t},i){let O=Nh(e.selection,i);return!O.eq(e.selection,!0)&&(t(Bh(e,O)),!0)}function Hh(e,t){return q.cursor(t?e.to:e.from)}function Kh(e,t){return Fh(e,i=>i.empty?e.moveByChar(i,t):Hh(i,t))}function Jh(e){return e.textDirectionAt(e.state.selection.main.head)==Kt.LTR}const ec=e=>Kh(e,!Jh(e)),tc=e=>Kh(e,Jh(e));function ic(e,t){return Fh(e,i=>i.empty?e.moveByGroup(i,t):Hh(i,t))}function Oc(e,t,i){if(t.type.prop(i))return!0;let O=t.to-t.from;return O&&(O>2||/[^\s,.;:]/.test(e.sliceDoc(t.from,t.to)))||t.firstChild}function nc(e,t,i){let O,n,r=za(e).resolveInner(t.head),s=i?ao.closedBy:ao.openedBy;for(let O=t.head;;){let t=i?r.childAfter(O):r.childBefore(O);if(!t)break;Oc(e,t,s)?r=t:O=i?t.to:t.from}return n=r.type.prop(s)&&(O=i?Fl(e,r.from,1):Fl(e,r.to,-1))&&O.matched?i?O.end.to:O.end.from:i?r.to:r.from,q.cursor(n,i?-1:1)}function rc(e,t){return Fh(e,i=>{if(!i.empty)return Hh(i,t);let O=e.moveVertically(i,t);return O.head!=i.head?O:e.moveToLineBoundary(i,t)})}const sc=e=>rc(e,!1),oc=e=>rc(e,!0);function ac(e){let t,i=e.scrollDOM.clientHeighti.empty?e.moveVertically(i,t,O.height):Hh(i,t));if(r.eq(n.selection))return!1;if(O.selfScroll){let t=e.coordsAtPos(n.selection.main.head),s=e.scrollDOM.getBoundingClientRect(),o=s.top+O.marginTop,a=s.bottom-O.marginBottom;t&&t.top>o&&t.bottomlc(e,!1),cc=e=>lc(e,!0);function dc(e,t,i){let O=e.lineBlockAt(t.head),n=e.moveToLineBoundary(t,i);if(n.head==t.head&&n.head!=(i?O.to:O.from)&&(n=e.moveToLineBoundary(t,i,!1)),!i&&n.head==O.from&&O.length){let i=/^\s*/.exec(e.state.sliceDoc(O.from,Math.min(O.from+100,O.to)))[0].length;i&&t.head!=O.from+i&&(n=q.cursor(O.from+i))}return n}function uc(e,t,i){let O=Nh(e.state.selection,e=>{e.undirectional&&e.head>=e.anchor!=t&&(e=q.range(e.head,e.anchor));let O=i(e);return q.range(e.anchor,O.head,O.goalColumn,O.bidiLevel||void 0,O.assoc)});return!O.eq(e.state.selection)&&(e.dispatch(Bh(e.state,O)),!0)}function $c(e,t){return uc(e,t,i=>e.moveByChar(i,t))}const fc=e=>$c(e,!Jh(e)),pc=e=>$c(e,Jh(e));function Qc(e,t){return uc(e,t,i=>e.moveByGroup(i,t))}function mc(e,t){return uc(e,t,i=>e.moveVertically(i,t))}const gc=e=>mc(e,!1),Sc=e=>mc(e,!0);function Pc(e,t){return uc(e,t,i=>e.moveVertically(i,t,ac(e).height))}const Tc=e=>Pc(e,!1),yc=e=>Pc(e,!0),vc=({state:e,dispatch:t})=>(t(Bh(e,{anchor:0})),!0),wc=({state:e,dispatch:t})=>(t(Bh(e,{anchor:e.doc.length})),!0),bc=({state:e,dispatch:t})=>(t(Bh(e,{anchor:e.selection.main.anchor,head:0})),!0),xc=({state:e,dispatch:t})=>(t(Bh(e,{anchor:e.selection.main.anchor,head:e.doc.length})),!0);function Xc(e,t){let{state:i}=e,O=i.selection,n=i.selection.ranges.slice();for(let O of i.selection.ranges){let r=i.doc.lineAt(O.head);if(t?r.to0)for(let i=O;;){let O=e.moveVertically(i,t);if(O.headr.to){n.some(e=>e.head==O.head)||n.push(O);break}if(O.head==i.head)break;i=O}}return n.length!=O.ranges.length&&(e.dispatch(Bh(i,q.create(n,n.length-1))),!0)}function kc(e,t){if(e.state.readOnly)return!1;let i="delete.selection",{state:O}=e,n=O.changeByRange(O=>{let{from:n,to:r}=O;if(n==r){let s=t(O);sn&&(i="delete.forward",s=Zc(e,s,!0)),n=Math.min(n,s),r=Math.max(r,s)}else n=Zc(e,n,!1),r=Zc(e,r,!0);return n==r?{range:O}:{changes:{from:n,to:r},range:q.cursor(n,nt(e)))O.between(t,t,(e,O)=>{et&&(t=i?O:e)});return t}const Rc=(e,t,i)=>kc(e,O=>{let n,r,s=O.from,{state:o}=e,a=o.doc.lineAt(s);if(i&&!t&&s>a.from&&sRc(e,!1,!0),_c=e=>Rc(e,!0,!1),Yc=(e,t)=>kc(e,i=>{let O=i.head,{state:n}=e,r=n.doc.lineAt(O),s=n.charCategorizer(O);for(let e=null;;){if(O==(t?r.to:r.from)){O==i.head&&r.number!=(t?n.doc.lines:1)&&(O+=t?1:-1);break}let o=P(r.text,O-r.from,t)+r.from,a=r.text.slice(Math.min(O,o)-r.from,Math.max(O,o)-r.from),l=s(a);if(null!=e&&l!=e)break;" "==a&&O==i.head||(e=l),O=o}return O}),Vc=e=>Yc(e,!1);function qc(e){let t=[],i=-1;for(let O of e.selection.ranges){let n=e.doc.lineAt(O.from),r=e.doc.lineAt(O.to);if(O.empty||O.to!=r.from||(r=e.doc.lineAt(O.to-1)),i>=n.number){let e=t[t.length-1];e.to=r.to,e.ranges.push(O)}else t.push({from:n.from,to:r.to,ranges:[O]});i=r.number+1}return t}function Wc(e,t,i){if(e.readOnly)return!1;let O=[],n=[];for(let t of qc(e)){if(i?t.to==e.doc.length:0==t.from)continue;let r=e.doc.lineAt(i?t.to+1:t.from-1),s=r.length+1;if(i){O.push({from:t.to,to:r.to},{from:t.from,insert:r.text+e.lineBreak});for(let i of t.ranges)n.push(q.range(Math.min(e.doc.length,i.anchor+s),Math.min(e.doc.length,i.head+s)))}else{O.push({from:r.from,to:t.from},{from:t.to,insert:e.lineBreak+r.text});for(let e of t.ranges)n.push(q.range(e.anchor-s,e.head-s))}}return!!O.length&&(t(e.update({changes:O,scrollIntoView:!0,selection:q.create(n,e.selection.mainIndex),userEvent:"move.line"})),!0)}function Uc(e,t,i){if(e.readOnly)return!1;let O=[];for(let t of qc(e))i?O.push({from:t.from,insert:e.doc.slice(t.from,t.to)+e.lineBreak}):O.push({from:t.to,insert:e.lineBreak+e.doc.slice(t.from,t.to)});let n=e.changes(O);return t(e.update({changes:n,selection:e.selection.map(n,i?1:-1),scrollIntoView:!0,userEvent:"input.copyline"})),!0}const jc=Gc(!1);function Gc(e){return({state:t,dispatch:i})=>{if(t.readOnly)return!1;let O=t.changeByRange(i=>{let{from:O,to:n}=i,r=t.doc.lineAt(O),s=!e&&O==n&&function(e,t){if(/\(\)|\[\]|\{\}/.test(e.sliceDoc(t-1,t+1)))return{from:t,to:t};let i,O=za(e).resolveInner(t),n=O.childBefore(t),r=O.childAfter(t);return n&&r&&n.to<=t&&r.from>=t&&(i=n.type.prop(ao.closedBy))&&i.indexOf(r.name)>-1&&e.doc.lineAt(n.to).from==e.doc.lineAt(r.from).from&&!/\S/.test(e.sliceDoc(n.to,r.from))?{from:n.to,to:r.from}:null}(t,O);e&&(O=n=(n<=r.to?r:t.doc.lineAt(n)).to);let o=new Na(t,{simulateBreak:O,simulateDoubleBreak:!!s}),a=Ia(o,O);for(null==a&&(a=Ce(/^\s*/.exec(t.doc.lineAt(O).text)[0],t.tabSize));nr.from&&O{let n=[];for(let r=O.from;r<=O.to;){let s=e.doc.lineAt(r);s.number>i&&(O.empty||O.to>s.from)&&(t(s,n,O),i=s.number),r=s.to+1}let r=e.changes(n);return{changes:n,range:q.range(r.mapPos(O.anchor,1),r.mapPos(O.head,1))}})}const Ac=({state:e,dispatch:t})=>!e.readOnly&&(t(e.update(Cc(e,(t,i)=>{i.push({from:t.from,insert:e.facet(Ma)})}),{userEvent:"input.indent"})),!0),Ec=({state:e,dispatch:t})=>!e.readOnly&&(t(e.update(Cc(e,(t,i)=>{let O=/^\s*/.exec(t.text)[0];if(!O)return;let n=Ce(O,e.tabSize),r=0,s=La(e,Math.max(0,n-Da(e)));for(;rFh(e,t=>q.cursor(e.lineBlockAt(t.head).from,1)),shift:e=>uc(e,!1,t=>q.cursor(e.lineBlockAt(t.head).from))},{key:"Ctrl-e",run:e=>Fh(e,t=>q.cursor(e.lineBlockAt(t.head).to,-1)),shift:e=>uc(e,!0,t=>q.cursor(e.lineBlockAt(t.head).to))},{key:"Ctrl-d",run:_c},{key:"Ctrl-h",run:zc},{key:"Ctrl-k",run:e=>kc(e,t=>{let i=e.lineBlockAt(t.head).to;return t.head{if(e.readOnly)return!1;let i=e.changeByRange(e=>({changes:{from:e.from,to:e.to,insert:c.of(["",""])},range:q.cursor(e.from)}));return t(e.update(i,{scrollIntoView:!0,userEvent:"input"})),!0}},{key:"Ctrl-t",run:({state:e,dispatch:t})=>{if(e.readOnly)return!1;let i=e.changeByRange(t=>{if(!t.empty||0==t.from||t.from==e.doc.length)return{range:t};let i=t.from,O=e.doc.lineAt(i),n=i==O.from?i-1:P(O.text,i-O.from,!1)+O.from,r=i==O.to?i+1:P(O.text,i-O.from,!0)+O.from;return{changes:{from:n,to:r,insert:e.doc.slice(i,r).append(e.doc.slice(n,i))},range:q.cursor(r)}});return!i.changes.empty&&(t(e.update(i,{scrollIntoView:!0,userEvent:"move.character"})),!0)}},{key:"Ctrl-v",run:cc}],Dc=[{key:"Alt-ArrowLeft",mac:"Ctrl-ArrowLeft",run:e=>Fh(e,t=>nc(e.state,t,!Jh(e))),shift:e=>{let t=!Jh(e);return uc(e,t,i=>nc(e.state,i,t))}},{key:"Alt-ArrowRight",mac:"Ctrl-ArrowRight",run:e=>Fh(e,t=>nc(e.state,t,Jh(e))),shift:e=>{let t=Jh(e);return uc(e,t,i=>nc(e.state,i,t))}},{key:"Alt-ArrowUp",run:({state:e,dispatch:t})=>Wc(e,t,!1)},{key:"Shift-Alt-ArrowUp",run:({state:e,dispatch:t})=>Uc(e,t,!1)},{key:"Alt-ArrowDown",run:({state:e,dispatch:t})=>Wc(e,t,!0)},{key:"Shift-Alt-ArrowDown",run:({state:e,dispatch:t})=>Uc(e,t,!0)},{key:"Mod-Alt-ArrowUp",run:e=>Xc(e,!1)},{key:"Mod-Alt-ArrowDown",run:e=>Xc(e,!0)},{key:"Escape",run:({state:e,dispatch:t})=>{let i=e.selection,O=null;return i.ranges.length>1?O=q.create([i.main]):i.main.empty||(O=q.create([q.cursor(i.main.head)])),!!O&&(t(Bh(e,O)),!0)}},{key:"Mod-Enter",run:Gc(!0)},{key:"Alt-l",mac:"Ctrl-l",run:({state:e,dispatch:t})=>{let i=qc(e).map(({from:t,to:i})=>q.range(t,Math.min(i+1,e.doc.length)));return t(e.update({selection:q.create(i),userEvent:"select"})),!0}},{key:"Mod-i",run:({state:e,dispatch:t})=>{let i=Nh(e.selection,t=>{let i=za(e),O=i.resolveStack(t.from,1);if(t.empty){let e=i.resolveStack(t.from,-1);e.node.from>=O.node.from&&e.node.to<=O.node.to&&(O=e)}for(let e=O;e;e=e.next){let{node:i}=e;if((i.from=t.to||i.to>t.to&&i.from<=t.from)&&e.next)return q.range(i.to,i.from)}return t});return!i.eq(e.selection)&&(t(Bh(e,i)),!0)},preventDefault:!0},{key:"Mod-[",run:Ec},{key:"Mod-]",run:Ac},{key:"Mod-Alt-\\",run:({state:e,dispatch:t})=>{if(e.readOnly)return!1;let i=Object.create(null),O=new Na(e,{overrideIndentation:e=>{let t=i[e];return null==t?-1:t}}),n=Cc(e,(t,n,r)=>{let s=Ia(O,t.from);if(null==s)return;/\S/.test(t.text)||(s=0);let o=/^\s*/.exec(t.text)[0],a=La(e,s);(o!=a||r.from{if(e.state.readOnly)return!1;let{state:t}=e,i=t.changes(qc(t).map(({from:e,to:i})=>(e>0?e--:i{let i;if(e.lineWrapping){let O=e.lineBlockAt(t.head),n=e.coordsAtPos(t.head,t.assoc||1);n&&(i=O.bottom+e.documentTop-n.bottom+e.defaultLineHeight/2)}return e.moveVertically(t,!0,i)}).map(i);return e.dispatch({changes:i,selection:O,scrollIntoView:!0,userEvent:"delete.line"}),!0}},{key:"Shift-Mod-\\",run:({state:e,dispatch:t})=>function(e,t){let i=!1,O=Nh(e.selection,t=>{let O=Fl(e,t.head,-1)||Fl(e,t.head,1)||t.head>0&&Fl(e,t.head-1,1)||t.head{let{state:t}=e,i=t.doc.lineAt(t.selection.main.from),O=Ph(e.state,i.from);return O.line?mh(e):!!O.block&&Sh(e)}},{key:"Alt-A",run:gh},{key:"Ctrl-m",mac:"Shift-Alt-m",run:e=>(e.setTabFocusMode(),!0)}].concat([{key:"ArrowLeft",run:ec,shift:fc,preventDefault:!0},{key:"Mod-ArrowLeft",mac:"Alt-ArrowLeft",run:e=>ic(e,!Jh(e)),shift:e=>Qc(e,!Jh(e)),preventDefault:!0},{mac:"Cmd-ArrowLeft",run:e=>Fh(e,t=>dc(e,t,!Jh(e))),shift:e=>{let t=!Jh(e);return uc(e,t,i=>dc(e,i,t))},preventDefault:!0},{key:"ArrowRight",run:tc,shift:pc,preventDefault:!0},{key:"Mod-ArrowRight",mac:"Alt-ArrowRight",run:e=>ic(e,Jh(e)),shift:e=>Qc(e,Jh(e)),preventDefault:!0},{mac:"Cmd-ArrowRight",run:e=>Fh(e,t=>dc(e,t,Jh(e))),shift:e=>{let t=Jh(e);return uc(e,t,i=>dc(e,i,t))},preventDefault:!0},{key:"ArrowUp",run:sc,shift:gc,preventDefault:!0},{mac:"Cmd-ArrowUp",run:vc,shift:bc},{mac:"Ctrl-ArrowUp",run:hc,shift:Tc},{key:"ArrowDown",run:oc,shift:Sc,preventDefault:!0},{mac:"Cmd-ArrowDown",run:wc,shift:xc},{mac:"Ctrl-ArrowDown",run:cc,shift:yc},{key:"PageUp",run:hc,shift:Tc},{key:"PageDown",run:cc,shift:yc},{key:"Home",run:e=>Fh(e,t=>dc(e,t,!1)),shift:e=>uc(e,!1,t=>dc(e,t,!1)),preventDefault:!0},{key:"Mod-Home",run:vc,shift:bc},{key:"End",run:e=>Fh(e,t=>dc(e,t,!0)),shift:e=>uc(e,!0,t=>dc(e,t,!0)),preventDefault:!0},{key:"Mod-End",run:wc,shift:xc},{key:"Enter",run:jc,shift:jc},{key:"Mod-a",run:({state:e,dispatch:t})=>(t(e.update({selection:{anchor:0,head:e.doc.length},userEvent:"select"})),!0)},{key:"Backspace",run:zc,shift:zc,preventDefault:!0},{key:"Delete",run:_c,preventDefault:!0},{key:"Mod-Backspace",mac:"Alt-Backspace",run:Vc,preventDefault:!0},{key:"Mod-Delete",mac:"Alt-Delete",run:e=>Yc(e,!0),preventDefault:!0},{mac:"Mod-Backspace",run:e=>kc(e,t=>{let i=e.moveToLineBoundary(t,!1).head;return t.head>i?i:Math.max(0,t.head-1)}),preventDefault:!0},{mac:"Mod-Delete",run:e=>kc(e,t=>{let i=e.moveToLineBoundary(t,!0).head;return t.head({mac:e.key,run:e.run,shift:e.shift})))),Lc={key:"Tab",run:Ac,shift:Ec},Ic="function"==typeof String.prototype.normalize?e=>e.normalize("NFKD"):e=>e;class Nc{constructor(e,t,i=0,O=e.length,n,r){this.test=r,this.value={from:0,to:0,precise:!1},this.done=!1,this.matches=[],this.buffer="",this.bufferPos=0,this.iter=e.iterRange(i,O),this.bufferStart=i,this.normalize=n?e=>n(Ic(e)):Ic,this.query=this.normalize(t)}peek(){if(this.bufferPos==this.buffer.length){if(this.bufferStart+=this.buffer.length,this.iter.next(),this.iter.done)return-1;this.bufferPos=0,this.buffer=this.iter.value}return T(this.buffer,this.bufferPos)}next(){for(;this.matches.length;)this.matches.pop();return this.nextOverlapping()}nextOverlapping(){for(;;){let e=this.peek();if(e<0)return this.done=!0,this;let t=y(e),i=this.bufferStart+this.bufferPos;this.bufferPos+=v(e);let O=this.normalize(t);if(O.length)for(let e=0,n=i,r=!0;;e++){let i=O.charCodeAt(e),s=this.match(i,n,r,this.bufferPos+this.bufferStart,e==O.length-1);if(s)return this.value=s,this;if(e==O.length-1)break;r&&ethis.to&&(this.curLine=this.curLine.slice(0,this.to-this.curLineStart)),this.iter.next())}nextLine(){this.curLineStart=this.curLineStart+this.curLine.length+1,this.curLineStart>this.to?this.curLine="":this.getLine(0)}next(){for(let e=this.matchPos-this.curLineStart;;){this.re.lastIndex=e;let t=this.matchPos<=this.to&&this.re.exec(this.curLine);if(t){let i=this.curLineStart+t.index,O=i+t[0].length;if(this.matchPos=td(this.text,O+(i==O?1:0)),i==this.curLineStart+this.curLine.length&&this.nextLine(),(ithis.value.to)&&(!this.test||this.test(i,O,t)))return this.value={from:i,to:O,precise:!0,match:t},this;e=this.matchPos-this.curLineStart}else{if(!(this.curLineStart+this.curLine.length=i||O.to<=t){let O=new Jc(t,e.sliceString(t,i));return Kc.set(e,O),O}if(O.from==t&&O.to==i)return O;let{text:n,from:r}=O;return r>t&&(n=e.sliceString(t,r)+n,r=t),O.to=this.to?this.to:this.text.lineAt(e).to}next(){for(;;){let e=this.re.lastIndex=this.matchPos-this.flat.from,t=this.re.exec(this.flat.text);if(t&&!t[0]&&t.index==e&&(this.re.lastIndex=e+1,t=this.re.exec(this.flat.text)),t){let e=this.flat.from+t.index,i=e+t[0].length;if((this.flat.to>=this.to||t.index+t[0].length<=this.flat.text.length-10)&&(!this.test||this.test(e,i,t)))return this.value={from:e,to:i,precise:!0,match:t},this.matchPos=td(this.text,i+(e==i?1:0)),this}if(this.flat.to==this.to)return this.done=!0,this;this.flat=Jc.get(this.text,this.flat.from,this.chunkEnd(this.flat.from+2*this.flat.text.length))}}}function td(e,t){if(t>=e.length)return t;let i,O=e.lineAt(t);for(;t=56320&&i<57344;)t++;return t}"undefined"!=typeof Symbol&&(Hc.prototype[Symbol.iterator]=ed.prototype[Symbol.iterator]=function(){return this});const id={highlightWordAroundCursor:!1,minSelectionLength:1,maxMatches:100,wholeWords:!1},Od=j.define({combine:e=>ye(e,id,{highlightWordAroundCursor:(e,t)=>e||t,minSelectionLength:Math.min,maxMatches:Math.min})}),nd=Tt.mark({class:"cm-selectionMatch"}),rd=Tt.mark({class:"cm-selectionMatch cm-selectionMatch-main"});function sd(e,t,i,O){return!(0!=i&&e(t.sliceDoc(i-1,i))==ge.Word||O!=t.doc.length&&e(t.sliceDoc(O,O+1))==ge.Word)}const od=qi.fromClass(class{constructor(e){this.decorations=this.getDeco(e)}update(e){(e.selectionSet||e.docChanged||e.viewportChanged)&&(this.decorations=this.getDeco(e.view))}getDeco(e){let t=e.state.facet(Od),{state:i}=e,O=i.selection;if(O.ranges.length>1)return Tt.none;let n,r=O.main,s=null;if(r.empty){if(!t.highlightWordAroundCursor)return Tt.none;let e=i.wordAt(r.head);if(!e)return Tt.none;s=i.charCategorizer(r.head),n=i.sliceDoc(e.from,e.to)}else{let e=r.to-r.from;if(e200)return Tt.none;if(t.wholeWords){if(n=i.sliceDoc(r.from,r.to),s=i.charCategorizer(r.head),!sd(s,i,r.from,r.to)||!function(e,t,i,O){return e(t.sliceDoc(i,i+1))==ge.Word&&e(t.sliceDoc(O-1,O))==ge.Word}(s,i,r.from,r.to))return Tt.none}else if(n=i.sliceDoc(r.from,r.to),!n)return Tt.none}let o=[];for(let O of e.visibleRanges){let e=new Nc(i.doc,n,O.from,O.to);for(;!e.next().done;){let{from:O,to:n}=e.value;if((!s||sd(s,i,O,n))&&(r.empty&&O<=r.from&&n>=r.to?o.push(rd.range(O,n)):(O>=r.to||n<=r.from)&&o.push(nd.range(O,n)),o.length>t.maxMatches))return Tt.none}}return Tt.set(o)}},{decorations:e=>e.decorations}),ad=ar.baseTheme({".cm-selectionMatch":{backgroundColor:"#99ff7780"},".cm-searchMatch .cm-selectionMatch":{backgroundColor:"transparent"}}),ld=j.define({combine:e=>ye(e,{top:!1,caseSensitive:!1,literal:!1,regexp:!1,wholeWord:!1,createPanel:e=>new Ud(e),scrollToMatch:e=>ar.scrollIntoView(e)})});class hd{constructor(e){this.search=e.search,this.caseSensitive=!!e.caseSensitive,this.literal=!!e.literal,this.regexp=!!e.regexp,this.replace=e.replace||"",this.valid=!!this.search&&(!this.regexp||function(e){try{return new RegExp(e,Fc),!0}catch(e){return!1}}(this.search)),this.unquoted=this.unquote(this.search),this.wholeWord=!!e.wholeWord,this.test=e.test}unquote(e){return this.literal?e:e.replace(/\\([nrt\\])/g,(e,t)=>"n"==t?"\n":"r"==t?"\r":"t"==t?"\t":"\\")}eq(e){return this.search==e.search&&this.replace==e.replace&&this.caseSensitive==e.caseSensitive&&this.regexp==e.regexp&&this.wholeWord==e.wholeWord&&this.test==e.test}create(){return this.regexp?new Qd(this):new ud(this)}getCursor(e,t=0,i){let O=e.doc?e:Te.create({doc:e});return null==i&&(i=O.doc.length),this.regexp?$d(this,O,t,i):dd(this,O,t,i)}}class cd{constructor(e){this.spec=e}}function dd(e,t,i,O){let n;return e.wholeWord&&(n=function(e,t){return(i,O,n,r)=>((r>i||r+n.length{if(i&&!i(O,n,r,s))return!1;let o=O>=s&&n<=s+r.length?r.slice(O-s,n-s):t.doc.sliceString(O,n);return e(o,t,O,n)}}(e.test,t,n)),new Nc(t.doc,e.unquoted,i,O,e.caseSensitive?void 0:e=>e.toLowerCase(),n)}class ud extends cd{constructor(e){super(e)}nextMatch(e,t,i){let O=dd(this.spec,e,i,e.doc.length).nextOverlapping();if(O.done){let i=Math.min(e.doc.length,t+this.spec.unquoted.length);O=dd(this.spec,e,0,i).nextOverlapping()}return O.done||O.value.from==t&&O.value.to==i?null:O.value}prevMatchInRange(e,t,i){for(let O=i;;){let i=Math.max(t,O-1e4-this.spec.unquoted.length),n=dd(this.spec,e,i,O),r=null;for(;!n.nextOverlapping().done;)r=n.value;if(r)return r;if(i==t)return null;O-=1e4}}prevMatch(e,t,i){let O=this.prevMatchInRange(e,0,t);return O||(O=this.prevMatchInRange(e,Math.max(0,i-this.spec.unquoted.length),e.doc.length)),!O||O.from==t&&O.to==i?null:O}getReplacement(e){return this.spec.unquote(this.spec.replace)}matchAll(e,t){let i=dd(this.spec,e,0,e.doc.length),O=[];for(;!i.next().done;){if(O.length>=t)return null;O.push(i.value)}return O}highlight(e,t,i,O){let n=dd(this.spec,e,Math.max(0,t-this.spec.unquoted.length),Math.min(i+this.spec.unquoted.length,e.doc.length));for(;!n.next().done;)O(n.value.from,n.value.to)}}function $d(e,t,i,O){let n;var r;return e.wholeWord&&(r=t.charCategorizer(t.selection.main.head),n=(e,t,i)=>!i[0].length||(r(fd(i.input,i.index))!=ge.Word||r(pd(i.input,i.index))!=ge.Word)&&(r(pd(i.input,i.index+i[0].length))!=ge.Word||r(fd(i.input,i.index+i[0].length))!=ge.Word)),e.test&&(n=function(e,t,i){return(O,n,r)=>(!i||i(O,n,r))&&e(r[0],t,O,n)}(e.test,t,n)),new Hc(t.doc,e.search,{ignoreCase:!e.caseSensitive,test:n},i,O)}function fd(e,t){return e.slice(P(e,t,!1),t)}function pd(e,t){return e.slice(t,P(e,t))}class Qd extends cd{nextMatch(e,t,i){let O=$d(this.spec,e,i,e.doc.length).next();return O.done&&(O=$d(this.spec,e,0,t).next()),O.done?null:O.value}prevMatchInRange(e,t,i){for(let O=1;;O++){let n=Math.max(t,i-1e4*O),r=$d(this.spec,e,n,i),s=null;for(;!r.next().done;)s=r.value;if(s&&(n==t||s.from>n+10))return s;if(n==t)return null}}prevMatch(e,t,i){return this.prevMatchInRange(e,0,t)||this.prevMatchInRange(e,i,e.doc.length)}getReplacement(e){return this.spec.unquote(this.spec.replace).replace(/\$([$&]|\d+)/g,(t,i)=>{if("&"==i)return e.match[0];if("$"==i)return"$";for(let t=i.length;t>0;t--){let O=+i.slice(0,t);if(O>0&&O=t)return null;O.push(i.value)}return O}highlight(e,t,i,O){let n=$d(this.spec,e,Math.max(0,t-250),Math.min(i+250,e.doc.length));for(;!n.next().done;)O(n.value.from,n.value.to)}}const md=ce.define(),gd=ce.define(),Sd=L.define({create:e=>new Pd(zd(e).create(),null),update(e,t){for(let i of t.effects)i.is(md)?e=new Pd(i.value.create(),e.panel):i.is(gd)&&(e=new Pd(e.query,i.value?Rd:null));return e},provide:e=>xs.from(e,e=>e.panel)});class Pd{constructor(e,t){this.query=e,this.panel=t}}const Td=Tt.mark({class:"cm-searchMatch"}),yd=Tt.mark({class:"cm-searchMatch cm-searchMatch-selected"}),vd=qi.fromClass(class{constructor(e){this.view=e,this.decorations=this.highlight(e.state.field(Sd))}update(e){let t=e.state.field(Sd);(t!=e.startState.field(Sd)||e.docChanged||e.selectionSet||e.viewportChanged)&&(this.decorations=this.highlight(t))}highlight({query:e,panel:t}){if(!t||!e.spec.valid)return Tt.none;let{view:i}=this,O=new Ze;for(let t=0,n=i.visibleRanges,r=n.length;tn[t+1].from-500;)o=n[++t].to;e.highlight(i.state,s,o,(e,t)=>{let n=i.state.selection.ranges.some(i=>i.from==e&&i.to==t);O.add(e,t,n?yd:Td)})}return O.finish()}},{decorations:e=>e.decorations});function wd(e){return t=>{let i=t.state.field(Sd,!1);return i&&i.query.spec.valid?e(t,i):Vd(t)}}const bd=wd((e,{query:t})=>{let{to:i}=e.state.selection.main,O=t.nextMatch(e.state,i,i);if(!O)return!1;let n=q.single(O.from,O.to),r=e.state.facet(ld);return e.dispatch({selection:n,effects:[Ad(e,O),r.scrollToMatch(n.main,e)],userEvent:"select.search"}),Yd(e),!0}),xd=wd((e,{query:t})=>{let{state:i}=e,{from:O}=i.selection.main,n=t.prevMatch(i,O,O);if(!n)return!1;let r=q.single(n.from,n.to),s=e.state.facet(ld);return e.dispatch({selection:r,effects:[Ad(e,n),s.scrollToMatch(r.main,e)],userEvent:"select.search"}),Yd(e),!0}),Xd=wd((e,{query:t})=>{let i=t.matchAll(e.state,1e3);return!(!i||!i.length||(e.dispatch({selection:q.create(i.map(e=>q.range(e.from,e.to))),userEvent:"select.search.matches"}),0))}),kd=wd((e,{query:t})=>{let{state:i}=e,{from:O,to:n}=i.selection.main;if(i.readOnly)return!1;let r=t.nextMatch(i,O,O);if(!r)return!1;let s,o,a=r,l=[],h=[];a.precise?a.from==O&&a.to==n&&(o=i.toText(t.getReplacement(a)),l.push({from:a.from,to:a.to,insert:o}),a=t.nextMatch(i,a.from,a.to),h.push(ar.announce.of(i.phrase("replaced match on line $",i.doc.lineAt(O).number)+"."))):a=t.nextMatch(i,a.from,a.to);let c=e.state.changes(l);return a&&(s=q.single(a.from,a.to).map(c),h.push(Ad(e,a)),h.push(i.facet(ld).scrollToMatch(s.main,e))),e.dispatch({changes:c,selection:s,effects:h,userEvent:"input.replace"}),!0}),Zd=wd((e,{query:t})=>{if(e.state.readOnly)return!1;let i=[];for(let O of t.matchAll(e.state,1e9)){let{from:e,to:n,precise:r}=O;r&&i.push({from:e,to:n,insert:t.getReplacement(O)})}if(!i.length)return!1;let O=e.state.phrase("replaced $ matches",i.length)+".";return e.dispatch({changes:i,effects:ar.announce.of(O),userEvent:"input.replace.all"}),!0});function Rd(e){return e.state.facet(ld).createPanel(e)}function zd(e,t){var i,O,n,r,s;let o=e.selection.main,a=o.empty||o.to>o.from+100?"":e.sliceDoc(o.from,o.to);if(t&&!a)return t;let l=e.facet(ld);return new hd({search:(null!==(i=null==t?void 0:t.literal)&&void 0!==i?i:l.literal)?a:a.replace(/\n/g,"\\n"),caseSensitive:null!==(O=null==t?void 0:t.caseSensitive)&&void 0!==O?O:l.caseSensitive,literal:null!==(n=null==t?void 0:t.literal)&&void 0!==n?n:l.literal,regexp:null!==(r=null==t?void 0:t.regexp)&&void 0!==r?r:l.regexp,wholeWord:null!==(s=null==t?void 0:t.wholeWord)&&void 0!==s?s:l.wholeWord})}function _d(e){let t=ys(e,Rd);return t&&t.dom.querySelector("[main-field]")}function Yd(e){let t=_d(e);t&&t==e.root.activeElement&&t.select()}const Vd=e=>{let t=e.state.field(Sd,!1);if(t&&t.panel){let i=_d(e);if(i&&i!=e.root.activeElement){let O=zd(e.state,t.query.spec);O.valid&&e.dispatch({effects:md.of(O)}),i.focus(),i.select()}}else e.dispatch({effects:[gd.of(!0),t?md.of(zd(e.state,t.query.spec)):ce.appendConfig.of(Md)]});return!0},qd=e=>{let t=e.state.field(Sd,!1);if(!t||!t.panel)return!1;let i=ys(e,Rd);return i&&i.dom.contains(e.root.activeElement)&&e.focus(),e.dispatch({effects:gd.of(!1)}),!0},Wd=[{key:"Mod-f",run:Vd,scope:"editor search-panel"},{key:"F3",run:bd,shift:xd,scope:"editor search-panel",preventDefault:!0},{key:"Mod-g",run:bd,shift:xd,scope:"editor search-panel",preventDefault:!0},{key:"Escape",run:qd,scope:"editor search-panel"},{key:"Mod-Shift-l",run:({state:e,dispatch:t})=>{let i=e.selection;if(i.ranges.length>1||i.main.empty)return!1;let{from:O,to:n}=i.main,r=[],s=0;for(let t=new Nc(e.doc,e.sliceDoc(O,n));!t.next().done;){if(r.length>1e3)return!1;t.value.from==O&&(s=r.length),r.push(q.range(t.value.from,t.value.to))}return t(e.update({selection:q.create(r,s),userEvent:"select.search.matches"})),!0}},{key:"Mod-Alt-g",run:e=>{let{state:t}=e,i=String(t.doc.lineAt(e.state.selection.main.head).number),{close:O,result:n}=function(e,t){let i,O=new Promise(e=>i=e),n=e=>function(e,t,i){let O=t.content?t.content(e,()=>s(null)):null;if(!O){if(O=tt("form"),t.input){let e=tt("input",t.input);/^(text|password|number|email|tel|url)$/.test(e.type)&&e.classList.add("cm-textfield"),e.name||(e.name="input"),O.appendChild(tt("label",(t.label||"")+": ",e))}else O.appendChild(document.createTextNode(t.label||""));O.appendChild(document.createTextNode(" ")),O.appendChild(tt("button",{class:"cm-button",type:"submit"},t.submitLabel||"OK"))}let n="FORM"==O.nodeName?[O]:O.querySelectorAll("form");for(let e=0;e{27==e.keyCode?(e.preventDefault(),s(null)):13==e.keyCode&&(e.preventDefault(),s(t))}),t.addEventListener("submit",e=>{e.preventDefault(),s(t)})}let r=tt("div",O,tt("button",{onclick:()=>s(null),"aria-label":e.state.phrase("close"),class:"cm-dialog-close",type:"button"},["×"]));function s(t){r.contains(r.ownerDocument.activeElement)&&e.focus(),i(t)}return t.class&&(r.className=t.class),r.classList.add("cm-dialog"),{dom:r,top:t.top,mount:()=>{if(t.focus){let e;e="string"==typeof t.focus?O.querySelector(t.focus):O.querySelector("input")||O.querySelector("button"),e&&"select"in e?e.select():e&&"focus"in e&&e.focus()}}}}(e,t,i);e.state.field(Xs,!1)?e.dispatch({effects:ks.of(n)}):e.dispatch({effects:ce.appendConfig.of(Xs.init(()=>[n]))});let r=Zs.of(n);return{close:r,result:O.then(t=>((e.win.queueMicrotask||(t=>e.win.setTimeout(t,10)))(()=>{e.state.field(Xs).indexOf(n)>-1&&e.dispatch({effects:r})}),t))}}(e,{label:t.phrase("Go to line"),input:{type:"text",name:"line",value:i},focus:!0,submitLabel:t.phrase("go")});return n.then(i=>{let n=i&&/^([+-])?(\d+)?(:\d+)?(%)?$/.exec(i.elements.line.value);if(!n)return void e.dispatch({effects:O});let r=t.doc.lineAt(t.selection.main.head),[,s,o,a,l]=n,h=a?+a.slice(1):0,c=o?+o:r.number;if(o&&l){let e=c/100;s&&(e=e*("-"==s?-1:1)+r.number/t.doc.lines),c=Math.round(t.doc.lines*e)}else o&&s&&(c=c*("-"==s?-1:1)+r.number);let d=t.doc.line(Math.max(1,Math.min(t.doc.lines,c))),u=q.cursor(d.from+Math.max(0,Math.min(h,d.length)));e.dispatch({effects:[O,ar.scrollIntoView(u.from,{y:"center"})],selection:u})}),!0}},{key:"Mod-d",run:({state:e,dispatch:t})=>{let{ranges:i}=e.selection;if(i.some(e=>e.from===e.to))return(({state:e,dispatch:t})=>{let{selection:i}=e,O=q.create(i.ranges.map(t=>e.wordAt(t.head)||q.cursor(t.head)),i.mainIndex);return!O.eq(i)&&(t(e.update({selection:O})),!0)})({state:e,dispatch:t});let O=e.sliceDoc(i[0].from,i[0].to);if(e.selection.ranges.some(t=>e.sliceDoc(t.from,t.to)!=O))return!1;let n=function(e,t){let{main:i,ranges:O}=e.selection,n=e.wordAt(i.head),r=n&&n.from==i.from&&n.to==i.to;for(let i=!1,n=new Nc(e.doc,t,O[O.length-1].to);;){if(n.next(),!n.done){if(i&&O.some(e=>e.from==n.value.from))continue;if(r){let t=e.wordAt(n.value.from);if(!t||t.from!=n.value.from||t.to!=n.value.to)continue}return n.value}if(i)return null;n=new Nc(e.doc,t,0,Math.max(0,O[O.length-1].from-1)),i=!0}}(e,O);return!!n&&(t(e.update({selection:e.selection.addRange(q.range(n.from,n.to),!1),effects:ar.scrollIntoView(n.to)})),!0)},preventDefault:!0}];class Ud{constructor(e){this.view=e;let t=this.query=e.state.field(Sd).query.spec;function i(e,t,i){return tt("button",{class:"cm-button",name:e,onclick:t,type:"button"},i)}this.commit=this.commit.bind(this),this.searchField=tt("input",{value:t.search,placeholder:jd(e,"Find"),"aria-label":jd(e,"Find"),class:"cm-textfield",name:"search",form:"","main-field":"true",onchange:this.commit,onkeyup:this.commit}),this.replaceField=tt("input",{value:t.replace,placeholder:jd(e,"Replace"),"aria-label":jd(e,"Replace"),class:"cm-textfield",name:"replace",form:"",onchange:this.commit,onkeyup:this.commit}),this.caseField=tt("input",{type:"checkbox",name:"case",form:"",checked:t.caseSensitive,onchange:this.commit}),this.reField=tt("input",{type:"checkbox",name:"re",form:"",checked:t.regexp,onchange:this.commit}),this.wordField=tt("input",{type:"checkbox",name:"word",form:"",checked:t.wholeWord,onchange:this.commit}),this.dom=tt("div",{onkeydown:e=>this.keydown(e),class:"cm-search"},[this.searchField,i("next",()=>bd(e),[jd(e,"next")]),i("prev",()=>xd(e),[jd(e,"previous")]),i("select",()=>Xd(e),[jd(e,"all")]),tt("label",null,[this.caseField,jd(e,"match case")]),tt("label",null,[this.reField,jd(e,"regexp")]),tt("label",null,[this.wordField,jd(e,"by word")]),...e.state.readOnly?[]:[tt("br"),this.replaceField,i("replace",()=>kd(e),[jd(e,"replace")]),i("replaceAll",()=>Zd(e),[jd(e,"replace all")])],tt("button",{name:"close",onclick:()=>qd(e),"aria-label":jd(e,"close"),type:"button"},["×"])])}commit(){let e=new hd({search:this.searchField.value,caseSensitive:this.caseField.checked,regexp:this.reField.checked,wholeWord:this.wordField.checked,replace:this.replaceField.value});e.eq(this.query)||(this.query=e,this.view.dispatch({effects:md.of(e)}))}keydown(e){var t,i;i=e,Tr(mr((t=this.view).state),i,t,"search-panel")?e.preventDefault():13==e.keyCode&&e.target==this.searchField?(e.preventDefault(),(e.shiftKey?xd:bd)(this.view)):13==e.keyCode&&e.target==this.replaceField&&(e.preventDefault(),kd(this.view))}update(e){for(let t of e.transactions)for(let e of t.effects)e.is(md)&&!e.value.eq(this.query)&&this.setQuery(e.value)}setQuery(e){this.query=e,this.searchField.value=e.search,this.replaceField.value=e.replace,this.caseField.checked=e.caseSensitive,this.reField.checked=e.regexp,this.wordField.checked=e.wholeWord}mount(){this.searchField.select()}get pos(){return 80}get top(){return this.view.state.facet(ld).top}}function jd(e,t){return e.state.phrase(t)}const Gd=30,Cd=/[\s\.,:;?!]/;function Ad(e,{from:t,to:i}){let O=e.state.doc.lineAt(t),n=e.state.doc.lineAt(i).to,r=Math.max(O.from,t-Gd),s=Math.min(n,i+Gd),o=e.state.sliceDoc(r,s);if(r!=O.from)for(let e=0;eo.length-Gd;e--)if(!Cd.test(o[e-1])&&Cd.test(o[e])){o=o.slice(0,e);break}return ar.announce.of(`${e.state.phrase("current match")}. ${o} ${e.state.phrase("on line")} ${O.number}.`)}const Ed=ar.baseTheme({".cm-panel.cm-search":{padding:"2px 6px 4px",position:"relative","& [name=close]":{position:"absolute",top:"0",right:"4px",backgroundColor:"inherit",border:"none",font:"inherit",padding:0,margin:0},"& input, & button, & label":{margin:".2em .6em .2em 0"},"& input[type=checkbox]":{marginRight:".2em"},"& label":{fontSize:"80%",whiteSpace:"pre"}},"&light .cm-searchMatch":{backgroundColor:"#ffff0054"},"&dark .cm-searchMatch":{backgroundColor:"#00ffff8a"},"&light .cm-searchMatch-selected":{backgroundColor:"#ff6a0054"},"&dark .cm-searchMatch-selected":{backgroundColor:"#ff00ff8a"}}),Md=[Sd,N.low(vd),Ed];class Dd{constructor(e,t,i,O){this.state=e,this.pos=t,this.explicit=i,this.view=O,this.abortListeners=[],this.abortOnDocChange=!1}tokenBefore(e){let t=za(this.state).resolveInner(this.pos,-1);for(;t&&e.indexOf(t.name)<0;)t=t.parent;return t?{from:t.from,to:this.pos,text:this.state.sliceDoc(t.from,this.pos),type:t.type}:null}matchBefore(e){let t=this.state.doc.lineAt(this.pos),i=Math.max(t.from,this.pos-250),O=t.text.slice(i-t.from,this.pos-t.from),n=O.search(Hd(e,!1));return n<0?null:{from:i+n,to:this.pos,text:O.slice(n)}}get aborted(){return null==this.abortListeners}addEventListener(e,t,i){"abort"==e&&this.abortListeners&&(this.abortListeners.push(t),i&&i.onDocChange&&(this.abortOnDocChange=!0))}}function Ld(e){let t=Object.keys(e).join(""),i=/\w/.test(t);return i&&(t=t.replace(/\w/g,"")),`[${i?"\\w":""}${t.replace(/[^\w\s]/g,"\\$&")}]`}function Id(e){let t=e.map(e=>"string"==typeof e?{label:e}:e),[i,O]=t.every(e=>/^\w+$/.test(e.label))?[/\w*$/,/\w+$/]:function(e){let t=Object.create(null),i=Object.create(null);for(let{label:O}of e){t[O[0]]=!0;for(let e=1;e{let n=e.matchBefore(O);return n||e.explicit?{from:n?n.from:e.pos,options:t,validFor:i}:null}}function Nd(e,t){return i=>{for(let t=za(i.state).resolveInner(i.pos,-1);t;t=t.parent){if(e.indexOf(t.name)>-1)return null;if(t.type.isTop)break}return t(i)}}class Bd{constructor(e,t,i,O){this.completion=e,this.source=t,this.match=i,this.score=O}}function Fd(e){return e.selection.main.from}function Hd(e,t){var i;let{source:O}=e,n=t&&"^"!=O[0],r="$"!=O[O.length-1];return n||r?new RegExp(`${n?"^":""}(?:${O})${r?"$":""}`,null!==(i=e.flags)&&void 0!==i?i:e.ignoreCase?"i":""):e}const Kd=ae.define();function Jd(e,t,i,O){let{main:n}=e.selection,r=i-n.from,s=O-n.from;return{...e.changeByRange(o=>{if(o!=n&&i!=O&&e.sliceDoc(o.from+r,o.from+s)!=e.sliceDoc(i,O))return{range:o};let a=e.toText(t);return{changes:{from:o.from+r,to:O==n.from?o.to:o.from+s,insert:a},range:q.cursor(o.from+r+a.length)}}),scrollIntoView:!0,userEvent:"input.complete"}}const eu=new WeakMap;function tu(e){if(!Array.isArray(e))return e;let t=eu.get(e);return t||eu.set(e,t=Id(e)),t}const iu=ce.define(),Ou=ce.define();class nu{constructor(e){this.pattern=e,this.chars=[],this.folded=[],this.any=[],this.precise=[],this.byWord=[],this.score=0,this.matched=[];for(let t=0;t=48&&a<=57||a>=97&&a<=122?2:a>=65&&a<=90?1:0:(m=y(a))!=m.toLowerCase()?1:m!=m.toUpperCase()?2:0;(!O||1==g&&f||0==Q&&0!=g)&&(t[h]==a||i[h]==a&&(c=!0)?r[h++]=O:r.length&&(p=!1)),Q=g,O+=v(a)}return h==o&&0==r[0]&&p?this.result((c?-200:0)-100,r,e):d==o&&0==u?this.ret(-200-e.length+($==e.length?0:-100),[0,$]):s>-1?this.ret(-700-e.length,[s,s+this.pattern.length]):d==o?this.ret(-900-e.length,[u,$]):h==o?this.result((c?-200:0)-100-700+(p?0:-1100),r,e):2==t.length?null:this.result((O[0]?-700:0)-200-1100,O,e)}result(e,t,i){let O=[],n=0;for(let e of t){let t=e+(this.astral?v(T(i,e)):1);n&&O[n-1]==e?O[n-1]=t:(O[n++]=e,O[n++]=t)}return this.ret(e-i.length,O)}}class ru{constructor(e){this.pattern=e,this.matched=[],this.score=0,this.folded=e.toLowerCase()}match(e){if(e.lengthye(e,{activateOnTyping:!0,activateOnCompletion:()=>!1,activateOnTypingDelay:100,selectOnOpen:!0,override:null,closeOnBlur:!0,maxRenderedOptions:100,defaultKeymap:!0,tooltipClass:()=>"",optionClass:()=>"",aboveCursor:!1,icons:!0,addToOptions:[],positionInfo:au,filterStrict:!1,compareCompletions:(e,t)=>(e.sortText||e.label).localeCompare(t.sortText||t.label),interactionDelay:75,updateSyncTime:100},{defaultKeymap:(e,t)=>e&&t,closeOnBlur:(e,t)=>e&&t,icons:(e,t)=>e&&t,tooltipClass:(e,t)=>i=>ou(e(i),t(i)),optionClass:(e,t)=>i=>ou(e(i),t(i)),addToOptions:(e,t)=>e.concat(t),filterStrict:(e,t)=>e||t})});function ou(e,t){return e?t?e+" "+t:e:t}function au(e,t,i,O,n,r){let s,o,a=e.textDirection==Kt.RTL,l=a,h=!1,c="top",d=t.left-n.left,u=n.right-t.right,$=O.right-O.left,f=O.bottom-O.top;if(l&&d=f||e>t.top?s=i.bottom-t.top:(c="bottom",s=t.bottom-i.top)}return{style:`${c}: ${s/((t.bottom-t.top)/r.offsetHeight)}px; max-width: ${o/((t.right-t.left)/r.offsetWidth)}px`,class:"cm-completionInfo-"+(h?a?"left-narrow":"right-narrow":l?"left":"right")}}const lu=ce.define();function hu(e,t,i){if(e<=i)return{from:0,to:e};if(t<0&&(t=0),t<=e>>1){let e=Math.floor(t/i);return{from:e*i,to:(e+1)*i}}let O=Math.ceil((e-t)/i);return{from:e-O*i,to:e-(O-1)*i}}class cu{constructor(e,t,i){this.view=e,this.stateField=t,this.applyCompletion=i,this.info=null,this.infoDestroy=null,this.placeInfoReq={read:()=>this.measureInfo(),write:e=>this.placeInfo(e),key:this},this.space=null,this.currentClass="";let O=e.state.field(t),{options:n,selected:r}=O.open,s=e.state.facet(su);this.optionContent=function(e){let t=e.addToOptions.slice();return e.icons&&t.push({render(e){let t=document.createElement("div");return t.classList.add("cm-completionIcon"),e.type&&t.classList.add(...e.type.split(/\s+/g).map(e=>"cm-completionIcon-"+e)),t.setAttribute("aria-hidden","true"),t},position:20}),t.push({render(e,t,i,O){let n=document.createElement("span");n.className="cm-completionLabel";let r=e.displayLabel||e.label,s=0;for(let e=0;es&&n.appendChild(document.createTextNode(r.slice(s,t)));let o=n.appendChild(document.createElement("span"));o.appendChild(document.createTextNode(r.slice(t,i))),o.className="cm-completionMatchedText",s=i}return se.position-t.position).map(e=>e.render)}(s),this.optionClass=s.optionClass,this.tooltipClass=s.tooltipClass,this.range=hu(n.length,r,s.maxRenderedOptions),this.dom=document.createElement("div"),this.dom.className="cm-tooltip-autocomplete",this.updateTooltipClass(e.state),this.dom.addEventListener("mousedown",i=>{let{options:O}=e.state.field(t).open;for(let t,n=i.target;n&&n!=this.dom;n=n.parentNode)if("LI"==n.nodeName&&(t=/-(\d+)$/.exec(n.id))&&+t[1]this.list.lastChild.getBoundingClientRect().bottom?this.range.to:null;null!=t&&(e.dispatch({effects:lu.of(t)}),i.preventDefault())}}),this.dom.addEventListener("focusout",t=>{let i=e.state.field(this.stateField,!1);i&&i.tooltip&&e.state.facet(su).closeOnBlur&&t.relatedTarget!=e.contentDOM&&e.dispatch({effects:Ou.of(null)})}),this.showOptions(n,O.id)}mount(){this.updateSel()}showOptions(e,t){this.list&&this.list.remove(),this.list=this.dom.appendChild(this.createListBox(e,t,this.range)),this.list.addEventListener("scroll",()=>{this.info&&this.view.requestMeasure(this.placeInfoReq)})}update(e){var t;let i=e.state.field(this.stateField),O=e.startState.field(this.stateField);if(this.updateTooltipClass(e.state),i!=O){let{options:n,selected:r,disabled:s}=i.open;O.open&&O.open.options==n||(this.range=hu(n.length,r,e.state.facet(su).maxRenderedOptions),this.showOptions(n,i.id)),this.updateSel(),s!=(null===(t=O.open)||void 0===t?void 0:t.disabled)&&this.dom.classList.toggle("cm-tooltip-autocomplete-disabled",!!s)}}updateTooltipClass(e){let t=this.tooltipClass(e);if(t!=this.currentClass){for(let e of this.currentClass.split(" "))e&&this.dom.classList.remove(e);for(let e of t.split(" "))e&&this.dom.classList.add(e);this.currentClass=t}}positioned(e){this.space=e,this.info&&this.view.requestMeasure(this.placeInfoReq)}updateSel(){let e=this.view.state.field(this.stateField),t=e.open;(t.selected>-1&&t.selected=this.range.to)&&(this.range=hu(t.options.length,t.selected,this.view.state.facet(su).maxRenderedOptions),this.showOptions(t.options,e.id));let i=this.updateSelectedOption(t.selected);if(i){this.destroyInfo();let{completion:O}=t.options[t.selected],{info:n}=O;if(!n)return;let r="string"==typeof n?document.createTextNode(n):n(O);if(!r)return;"then"in r?r.then(t=>{t&&this.view.state.field(this.stateField,!1)==e&&this.addInfoPane(t,O)}).catch(e=>zi(this.view.state,e,"completion info")):(this.addInfoPane(r,O),i.setAttribute("aria-describedby",this.info.id))}}addInfoPane(e,t){this.destroyInfo();let i=this.info=document.createElement("div");if(i.className="cm-tooltip cm-completionInfo",i.id="cm-completionInfo-"+Math.floor(65535*Math.random()).toString(16),null!=e.nodeType)i.appendChild(e),this.infoDestroy=null;else{let{dom:t,destroy:O}=e;i.appendChild(t),this.infoDestroy=O||null}this.dom.appendChild(i),this.view.requestMeasure(this.placeInfoReq)}updateSelectedOption(e){let t=null;for(let i=this.list.firstChild,O=this.range.from;i;i=i.nextSibling,O++)"LI"==i.nodeName&&i.id?O==e?i.hasAttribute("aria-selected")||(i.setAttribute("aria-selected","true"),t=i):i.hasAttribute("aria-selected")&&(i.removeAttribute("aria-selected"),i.removeAttribute("aria-describedby")):O--;return t&&function(e,t){let i=e.getBoundingClientRect(),O=t.getBoundingClientRect(),n=i.height/e.offsetHeight;O.topi.bottom&&(e.scrollTop+=(O.bottom-i.bottom)/n)}(this.list,t),t}measureInfo(){let e=this.dom.querySelector("[aria-selected]");if(!e||!this.info)return null;let t=this.dom.getBoundingClientRect(),i=this.info.getBoundingClientRect(),O=e.getBoundingClientRect(),n=this.space;if(!n){let e=this.dom.ownerDocument.documentElement;n={left:0,top:0,right:e.clientWidth,bottom:e.clientHeight}}return O.top>Math.min(n.bottom,t.bottom)-10||O.bottom{e.target==O&&e.preventDefault()});let n=null;for(let r=i.from;ri.from||0==i.from)&&(n=e,"string"!=typeof a&&a.header?O.appendChild(a.header(a)):O.appendChild(document.createElement("completion-section")).textContent=e)}const l=O.appendChild(document.createElement("li"));l.id=t+"-"+r,l.setAttribute("role","option");let h=this.optionClass(s);h&&(l.className=h);for(let e of this.optionContent){let t=e(s,this.view.state,this.view,o);t&&l.appendChild(t)}}return i.from&&O.classList.add("cm-completionListIncompleteTop"),i.tonew cu(i,e,t)}function uu(e){return 100*(e.boost||0)+(e.apply?10:0)+(e.info?5:0)+(e.type?1:0)}class $u{constructor(e,t,i,O,n,r){this.options=e,this.attrs=t,this.tooltip=i,this.timestamp=O,this.selected=n,this.disabled=r}setSelected(e,t){return e==this.selected||e>=this.options.length?this:new $u(this.options,mu(t,e),this.tooltip,this.timestamp,e,this.disabled)}static build(e,t,i,O,n,r){if(O&&!r&&e.some(e=>e.isPending))return O.setDisabled();let s=function(e,t){let i=[],O=null,n=null,r=e=>{i.push(e);let{section:t}=e.completion;if(t){O||(O=[]);let e="string"==typeof t?t:t.name;O.some(t=>t.name==e)||O.push("string"==typeof t?{name:e}:t)}},s=t.facet(su);for(let O of e)if(O.hasResult()){let e=O.result.getMatch;if(!1===O.result.filter)for(let t of O.result.options)r(new Bd(t,O.source,e?e(t):[],1e9-i.length));else{let i,o=t.sliceDoc(O.from,O.to),a=s.filterStrict?new ru(o):new nu(o);for(let t of O.result.options)if(i=a.match(t.label)){let s=t.displayLabel?e?e(t,i.matched):[]:i.matched,o=i.score+(t.boost||0);if(r(new Bd(t,O.source,s,o)),"object"==typeof t.section&&"dynamic"===t.section.rank){let{name:e}=t.section;n||(n=Object.create(null)),n[e]=Math.max(o,n[e]||-1e9)}}}}if(O){let e=Object.create(null),t=0,r=(e,t)=>("dynamic"===e.rank&&"dynamic"===t.rank?n[t.name]-n[e.name]:0)||("number"==typeof e.rank?e.rank:1e9)-("number"==typeof t.rank?t.rank:1e9)||(e.namet.score-e.score||l(e.completion,t.completion))){let t=e.completion;!a||a.label!=t.label||a.detail!=t.detail||null!=a.type&&null!=t.type&&a.type!=t.type||a.apply!=t.apply||a.boost!=t.boost?o.push(e):uu(e.completion)>uu(a)&&(o[o.length-1]=e),a=e.completion}return o}(e,t);if(!s.length)return O&&e.some(e=>e.isPending)?O.setDisabled():null;let o=t.facet(su).selectOnOpen?0:-1;if(O&&O.selected!=o&&-1!=O.selected){let e=O.options[O.selected].completion;for(let t=0;tt.hasResult()?Math.min(e,t.from):e,1e8),create:bu,above:n.aboveCursor},O?O.timestamp:Date.now(),o,!1)}map(e){return new $u(this.options,this.attrs,{...this.tooltip,pos:e.mapPos(this.tooltip.pos)},this.timestamp,this.selected,this.disabled)}setDisabled(){return new $u(this.options,this.attrs,this.tooltip,this.timestamp,this.selected,!0)}}class fu{constructor(e,t,i){this.active=e,this.id=t,this.open=i}static start(){return new fu(gu,"cm-ac-"+Math.floor(2e6*Math.random()).toString(36),null)}update(e){let{state:t}=e,i=t.facet(su),O=(i.override||t.languageDataAt("autocomplete",Fd(t)).map(tu)).map(t=>(this.active.find(e=>e.source==t)||new Pu(t,this.active.some(e=>0!=e.state)?1:0)).update(e,i));O.length==this.active.length&&O.every((e,t)=>e==this.active[t])&&(O=this.active);let n=this.open,r=e.effects.some(e=>e.is(yu));n&&e.docChanged&&(n=n.map(e.changes)),e.selection||O.some(t=>t.hasResult()&&e.changes.touchesRange(t.from,t.to))||!function(e,t){if(e==t)return!0;for(let i=0,O=0;;){for(;ie.isPending)&&(n=null),!n&&O.every(e=>!e.isPending)&&O.some(e=>e.hasResult())&&(O=O.map(e=>e.hasResult()?new Pu(e.source,0):e));for(let t of e.effects)t.is(lu)&&(n=n&&n.setSelected(t.value,this.id));return O==this.active&&n==this.open?this:new fu(O,this.id,n)}get tooltip(){return this.open?this.open.tooltip:null}get attrs(){return this.open?this.open.attrs:this.active.length?pu:Qu}}const pu={"aria-autocomplete":"list"},Qu={};function mu(e,t){let i={"aria-autocomplete":"list","aria-haspopup":"listbox","aria-controls":e};return t>-1&&(i["aria-activedescendant"]=e+"-"+t),i}const gu=[];function Su(e,t){if(e.isUserEvent("input.complete")){let i=e.annotation(Kd);if(i&&t.activateOnCompletion(i))return 12}let i=e.isUserEvent("input.type");return i&&t.activateOnTyping?5:i?1:e.isUserEvent("delete.backward")?2:e.selection?8:e.docChanged?16:0}class Pu{constructor(e,t,i=!1){this.source=e,this.state=t,this.explicit=i}hasResult(){return!1}get isPending(){return 1==this.state}update(e,t){let i=Su(e,t),O=this;(8&i||16&i&&this.touches(e))&&(O=new Pu(O.source,0)),4&i&&0==O.state&&(O=new Pu(this.source,1)),O=O.updateFor(e,i);for(let t of e.effects)if(t.is(iu))O=new Pu(O.source,1,t.value);else if(t.is(Ou))O=new Pu(O.source,0);else if(t.is(yu))for(let e of t.value)e.source==O.source&&(O=e);return O}updateFor(e,t){return this.map(e.changes)}map(e){return this}touches(e){return e.changes.touchesRange(Fd(e.state))}}class Tu extends Pu{constructor(e,t,i,O,n,r){super(e,3,t),this.limit=i,this.result=O,this.from=n,this.to=r}hasResult(){return!0}updateFor(e,t){var i;if(!(3&t))return this.map(e.changes);let O=this.result;O.map&&!e.changes.empty&&(O=O.map(O,e.changes));let n=e.changes.mapPos(this.from),r=e.changes.mapPos(this.to,1),s=Fd(e.state);if(s>r||!O||2&t&&(Fd(e.startState)==this.from||se.map(e=>e.map(t))}),vu=L.define({create:()=>fu.start(),update:(e,t)=>e.update(t),provide:e=>[ds.from(e,e=>e.tooltip),ar.contentAttributes.from(e,e=>e.attrs)]});function wu(e,t){const i=t.completion.apply||t.completion.label;let O=e.state.field(vu).active.find(e=>e.source==t.source);return O instanceof Tu&&("string"==typeof i?e.dispatch({...Jd(e.state,i,O.from,O.to),annotations:Kd.of(t.completion)}):i(e,t.completion,O.from,O.to),!0)}const bu=du(vu,wu);function xu(e,t="option"){return i=>{let O=i.state.field(vu,!1);if(!O||!O.open||O.open.disabled||Date.now()-O.open.timestamp-1?O.open.selected+r*(e?1:-1):e?0:s-1;return o<0?o="page"==t?0:s-1:o>=s&&(o="page"==t?s-1:0),i.dispatch({effects:lu.of(o)}),!0}}const Xu=e=>!!e.state.field(vu,!1)&&(e.dispatch({effects:iu.of(!0)}),!0);class ku{constructor(e,t){this.active=e,this.context=t,this.time=Date.now(),this.updates=[],this.done=void 0}}const Zu=qi.fromClass(class{constructor(e){this.view=e,this.debounceUpdate=-1,this.running=[],this.debounceAccept=-1,this.pendingStart=!1,this.composing=0;for(let t of e.state.field(vu).active)t.isPending&&this.startQuery(t)}update(e){let t=e.state.field(vu),i=e.state.facet(su);if(!e.selectionSet&&!e.docChanged&&e.startState.field(vu)==t)return;let O=e.transactions.some(e=>{let t=Su(e,i);return 8&t||(e.selection||e.docChanged)&&!(3&t)});for(let t=0;t50&&Date.now()-i.time>1e3){for(let e of i.context.abortListeners)try{e()}catch(e){zi(this.view.state,e)}i.context.abortListeners=null,this.running.splice(t--,1)}else i.updates.push(...e.transactions)}this.debounceUpdate>-1&&clearTimeout(this.debounceUpdate),e.transactions.some(e=>e.effects.some(e=>e.is(iu)))&&(this.pendingStart=!0);let n=this.pendingStart?50:i.activateOnTypingDelay;if(this.debounceUpdate=t.active.some(e=>e.isPending&&!this.running.some(t=>t.active.source==e.source))?setTimeout(()=>this.startUpdate(),n):-1,0!=this.composing)for(let t of e.transactions)t.isUserEvent("input.type")?this.composing=2:2==this.composing&&t.selection&&(this.composing=3)}startUpdate(){this.debounceUpdate=-1,this.pendingStart=!1;let{state:e}=this.view,t=e.field(vu);for(let e of t.active)e.isPending&&!this.running.some(t=>t.active.source==e.source)&&this.startQuery(e);this.running.length&&t.open&&t.open.disabled&&(this.debounceAccept=setTimeout(()=>this.accept(),this.view.state.facet(su).updateSyncTime))}startQuery(e){let{state:t}=this.view,i=Fd(t),O=new Dd(t,i,e.explicit,this.view),n=new ku(e,O);this.running.push(n),Promise.resolve(e.source(O)).then(e=>{n.context.aborted||(n.done=e||null,this.scheduleAccept())},e=>{this.view.dispatch({effects:Ou.of(null)}),zi(this.view.state,e)})}scheduleAccept(){this.running.every(e=>void 0!==e.done)?this.accept():this.debounceAccept<0&&(this.debounceAccept=setTimeout(()=>this.accept(),this.view.state.facet(su).updateSyncTime))}accept(){var e;this.debounceAccept>-1&&clearTimeout(this.debounceAccept),this.debounceAccept=-1;let t=[],i=this.view.state.facet(su),O=this.view.state.field(vu);for(let n=0;ne.source==r.active.source);if(s&&s.isPending)if(null==r.done){let e=new Pu(r.active.source,0);for(let t of r.updates)e=e.update(t,i);e.isPending||t.push(e)}else this.startQuery(s)}(t.length||O.open&&O.open.disabled)&&this.view.dispatch({effects:yu.of(t)})}},{eventHandlers:{blur(e){let t=this.view.state.field(vu,!1);if(t&&t.tooltip&&this.view.state.facet(su).closeOnBlur){let i=t.open&&Ss(this.view,t.open.tooltip);i&&i.dom.contains(e.relatedTarget)||setTimeout(()=>this.view.dispatch({effects:Ou.of(null)}),10)}},compositionstart(){this.composing=1},compositionend(){3==this.composing&&setTimeout(()=>this.view.dispatch({effects:iu.of(!1)}),20),this.composing=0}}}),Ru="object"==typeof navigator&&/Win/.test(navigator.platform),zu=N.highest(ar.domEventHandlers({keydown(e,t){let i=t.state.field(vu,!1);if(!i||!i.open||i.open.disabled||i.open.selected<0||e.key.length>1||e.ctrlKey&&(!Ru||!e.altKey)||e.metaKey)return!1;let O=i.open.options[i.open.selected],n=i.active.find(e=>e.source==O.source),r=O.completion.commitCharacters||n.result.commitCharacters;return r&&r.indexOf(e.key)>-1&&wu(t,O),!1}})),_u=ar.baseTheme({".cm-tooltip.cm-tooltip-autocomplete":{"& > ul":{fontFamily:"monospace",whiteSpace:"nowrap",overflow:"hidden auto",maxWidth_fallback:"700px",maxWidth:"min(700px, 95vw)",minWidth:"250px",maxHeight:"10em",height:"100%",listStyle:"none",margin:0,padding:0,"& > li, & > completion-section":{padding:"1px 3px",lineHeight:1.2},"& > li":{overflowX:"hidden",textOverflow:"ellipsis",cursor:"pointer"},"& > completion-section":{display:"list-item",borderBottom:"1px solid silver",paddingLeft:"0.5em",opacity:.7}}},"&light .cm-tooltip-autocomplete ul li[aria-selected]":{background:"#17c",color:"white"},"&light .cm-tooltip-autocomplete-disabled ul li[aria-selected]":{background:"#777"},"&dark .cm-tooltip-autocomplete ul li[aria-selected]":{background:"#347",color:"white"},"&dark .cm-tooltip-autocomplete-disabled ul li[aria-selected]":{background:"#444"},".cm-completionListIncompleteTop:before, .cm-completionListIncompleteBottom:after":{content:'"···"',opacity:.5,display:"block",textAlign:"center",cursor:"pointer"},".cm-tooltip.cm-completionInfo":{position:"absolute",padding:"3px 9px",width:"max-content",maxWidth:"400px",boxSizing:"border-box",whiteSpace:"pre-line"},".cm-completionInfo.cm-completionInfo-left":{right:"100%"},".cm-completionInfo.cm-completionInfo-right":{left:"100%"},".cm-completionInfo.cm-completionInfo-left-narrow":{right:"30px"},".cm-completionInfo.cm-completionInfo-right-narrow":{left:"30px"},"&light .cm-snippetField":{backgroundColor:"#00000022"},"&dark .cm-snippetField":{backgroundColor:"#ffffff22"},".cm-snippetFieldPosition":{verticalAlign:"text-top",width:0,height:"1.15em",display:"inline-block",margin:"0 -0.7px -.7em",borderLeft:"1.4px dotted #888"},".cm-completionMatchedText":{textDecoration:"underline"},".cm-completionDetail":{marginLeft:"0.5em",fontStyle:"italic"},".cm-completionIcon":{fontSize:"90%",width:".8em",display:"inline-block",textAlign:"center",paddingRight:".6em",opacity:"0.6",boxSizing:"content-box"},".cm-completionIcon-function, .cm-completionIcon-method":{"&:after":{content:"'ƒ'"}},".cm-completionIcon-class":{"&:after":{content:"'○'"}},".cm-completionIcon-interface":{"&:after":{content:"'◌'"}},".cm-completionIcon-variable":{"&:after":{content:"'𝑥'"}},".cm-completionIcon-constant":{"&:after":{content:"'𝐶'"}},".cm-completionIcon-type":{"&:after":{content:"'𝑡'"}},".cm-completionIcon-enum":{"&:after":{content:"'∪'"}},".cm-completionIcon-property":{"&:after":{content:"'□'"}},".cm-completionIcon-keyword":{"&:after":{content:"'🔑︎'"}},".cm-completionIcon-namespace":{"&:after":{content:"'▢'"}},".cm-completionIcon-text":{"&:after":{content:"'abc'",fontSize:"50%",verticalAlign:"middle"}}});class Yu{constructor(e,t,i,O){this.field=e,this.line=t,this.from=i,this.to=O}}class Vu{constructor(e,t,i){this.field=e,this.from=t,this.to=i}map(e){let t=e.mapPos(this.from,-1,b.TrackDel),i=e.mapPos(this.to,1,b.TrackDel);return null==t||null==i?null:new Vu(this.field,t,i)}}class qu{constructor(e,t){this.lines=e,this.fieldPositions=t}instantiate(e,t){let i=[],O=[t],n=e.doc.lineAt(t),r=/^\s*/.exec(n.text)[0];for(let n of this.lines){if(i.length){let i=r,s=/^\t*/.exec(n)[0].length;for(let t=0;tnew Vu(e.field,O[e.line]+e.from,O[e.line]+e.to));return{text:i,ranges:s}}static parse(e){let t,i=[],O=[],n=[];for(let r of e.split(/\r\n?|\n/)){for(;t=/[#$]\{(?:(\d+)(?::([^{}]*))?|((?:\\[{}]|[^{}])*))\}/.exec(r);){let e=t[1]?+t[1]:null,s=t[2]||t[3]||"",o=-1;0===e&&(e=1e9);let a=s.replace(/\\[{}]/g,e=>e[1]);for(let t=0;t=o&&e.field++}for(let e of n)if(e.line==O.length&&e.from>t.index){let i=t[2]?3+(t[1]||"").length:2;e.from-=i,e.to-=i}n.push(new Yu(o,O.length,t.index,t.index+a.length)),r=r.slice(0,t.index)+s+r.slice(t.index+t[0].length)}r=r.replace(/\\([{}])/g,(e,t,i)=>{for(let e of n)e.line==O.length&&e.from>i&&(e.from--,e.to--);return t}),O.push(r)}return new qu(O,n)}}let Wu=Tt.widget({widget:new class extends St{toDOM(){let e=document.createElement("span");return e.className="cm-snippetFieldPosition",e}ignoreEvent(){return!1}}}),Uu=Tt.mark({class:"cm-snippetField"});class ju{constructor(e,t){this.ranges=e,this.active=t,this.deco=Tt.set(e.map(e=>(e.from==e.to?Wu:Uu).range(e.from,e.to)),!0)}map(e){let t=[];for(let i of this.ranges){let O=i.map(e);if(!O)return null;t.push(O)}return new ju(t,this.active)}selectionInsideField(e){return e.ranges.every(e=>this.ranges.some(t=>t.field==this.active&&t.from<=e.from&&t.to>=e.to))}}const Gu=ce.define({map:(e,t)=>e&&e.map(t)}),Cu=ce.define(),Au=L.define({create:()=>null,update(e,t){for(let i of t.effects){if(i.is(Gu))return i.value;if(i.is(Cu)&&e)return new ju(e.ranges,i.value)}return e&&t.docChanged&&(e=e.map(t.changes)),e&&t.selection&&!e.selectionInsideField(t.selection)&&(e=null),e},provide:e=>ar.decorations.from(e,e=>e?e.deco:Tt.none)});function Eu(e,t){return q.create(e.filter(e=>e.field==t).map(e=>q.range(e.from,e.to)))}function Mu(e){let t=qu.parse(e);return(e,i,O,n)=>{let{text:r,ranges:s}=t.instantiate(e.state,O),{main:o}=e.state.selection,a={changes:{from:O,to:n==o.from?o.to:n,insert:c.of(r)},scrollIntoView:!0,annotations:i?[Kd.of(i),de.userEvent.of("input.complete")]:void 0};if(s.length&&(a.selection=Eu(s,0)),s.some(e=>e.field>0)){let t=new ju(s,0),i=a.effects=[Gu.of(t)];void 0===e.state.field(Au,!1)&&i.push(ce.appendConfig.of([Au,Nu,Fu,_u]))}e.dispatch(e.state.update(a))}}function Du(e){return({state:t,dispatch:i})=>{let O=t.field(Au,!1);if(!O||e<0&&0==O.active)return!1;let n=O.active+e,r=e>0&&!O.ranges.some(t=>t.field==n+e);return i(t.update({selection:Eu(O.ranges,n),effects:Gu.of(r?null:new ju(O.ranges,n)),scrollIntoView:!0})),!0}}const Lu=[{key:"Tab",run:Du(1),shift:Du(-1)},{key:"Escape",run:({state:e,dispatch:t})=>!!e.field(Au,!1)&&(t(e.update({effects:Gu.of(null)})),!0)}],Iu=j.define({combine:e=>e.length?e[0]:Lu}),Nu=N.highest(pr.compute([Iu],e=>e.facet(Iu)));function Bu(e,t){return{...t,apply:Mu(e)}}const Fu=ar.domEventHandlers({mousedown(e,t){let i,O=t.state.field(Au,!1);if(!O||null==(i=t.posAtCoords({x:e.clientX,y:e.clientY})))return!1;let n=O.ranges.find(e=>e.from<=i&&e.to>=i);return!(!n||n.field==O.active||(t.dispatch({selection:Eu(O.ranges,n.field),effects:Gu.of(O.ranges.some(e=>e.field>n.field)?new ju(O.ranges,n.field):null),scrollIntoView:!0}),0))}}),Hu={brackets:["(","[","{","'",'"'],before:")]}:;>",stringPrefixes:[]},Ku=ce.define({map(e,t){let i=t.mapPos(e,-1,b.TrackAfter);return null==i?void 0:i}}),Ju=new class extends ve{};Ju.startSide=1,Ju.endSide=-1;const e$=L.define({create:()=>ke.empty,update(e,t){if(e=e.map(t.changes),t.selection){let i=t.state.doc.lineAt(t.selection.main.head);e=e.update({filter:e=>e>=i.from&&e<=i.to})}for(let i of t.effects)i.is(Ku)&&(e=e.update({add:[Ju.range(i.value,i.value+1)]}));return e}}),t$="()[]{}<>«»»«[]{}";function i$(e){for(let t=0;t<16;t+=2)if(t$.charCodeAt(t)==e)return t$.charAt(t+1);return y(e<128?e:e+1)}function O$(e,t){return e.languageDataAt("closeBrackets",t)[0]||Hu}const n$="object"==typeof navigator&&/Android\b/.test(navigator.userAgent),r$=ar.inputHandler.of((e,t,i,O)=>{if((n$?e.composing:e.compositionStarted)||e.state.readOnly)return!1;let n=e.state.selection.main;if(O.length>2||2==O.length&&1==v(T(O,0))||t!=n.from||i!=n.to)return!1;let r=function(e,t){let i=O$(e,e.selection.main.head),O=i.brackets||Hu.brackets;for(let n of O){let r=i$(T(n,0));if(t==n)return r==n?c$(e,n,O.indexOf(n+n+n)>-1,i):l$(e,n,r,i.before||Hu.before);if(t==r&&o$(e,e.selection.main.from))return h$(e,0,r)}return null}(e.state,O);return!!r&&(e.dispatch(r),!0)}),s$=[{key:"Backspace",run:({state:e,dispatch:t})=>{if(e.readOnly)return!1;let i=O$(e,e.selection.main.head).brackets||Hu.brackets,O=null,n=e.changeByRange(t=>{if(t.empty){let O=function(e,t){let i=e.sliceString(t-2,t);return v(T(i,0))==i.length?i:i.slice(1)}(e.doc,t.head);for(let n of i)if(n==O&&a$(e.doc,t.head)==i$(T(n,0)))return{changes:{from:t.head-n.length,to:t.head+n.length},range:q.cursor(t.head-n.length)}}return{range:O=t}});return O||t(e.update(n,{scrollIntoView:!0,userEvent:"delete.backward"})),!O}}];function o$(e,t){let i=!1;return e.field(e$).between(0,e.doc.length,e=>{e==t&&(i=!0)}),i}function a$(e,t){let i=e.sliceString(t,t+2);return i.slice(0,v(T(i,0)))}function l$(e,t,i,O){let n=null,r=e.changeByRange(r=>{if(!r.empty)return{changes:[{insert:t,from:r.from},{insert:i,from:r.to}],effects:Ku.of(r.to+t.length),range:q.range(r.anchor+t.length,r.head+t.length)};let s=a$(e.doc,r.head);return!s||/\s/.test(s)||O.indexOf(s)>-1?{changes:{insert:t+i,from:r.head},effects:Ku.of(r.head+t.length),range:q.cursor(r.head+t.length)}:{range:n=r}});return n?null:e.update(r,{scrollIntoView:!0,userEvent:"input.type"})}function h$(e,t,i){let O=null,n=e.changeByRange(t=>t.empty&&a$(e.doc,t.head)==i?{changes:{from:t.head,to:t.head+i.length,insert:i},range:q.cursor(t.head+i.length)}:O={range:t});return O?null:e.update(n,{scrollIntoView:!0,userEvent:"input.type"})}function c$(e,t,i,O){let n=O.stringPrefixes||Hu.stringPrefixes,r=null,s=e.changeByRange(O=>{if(!O.empty)return{changes:[{insert:t,from:O.from},{insert:t,from:O.to}],effects:Ku.of(O.to+t.length),range:q.range(O.anchor+t.length,O.head+t.length)};let s,o=O.head,a=a$(e.doc,o);if(a==t){if(d$(e,o))return{changes:{insert:t+t,from:o},effects:Ku.of(o+t.length),range:q.cursor(o+t.length)};if(o$(e,o)){let O=i&&e.sliceDoc(o,o+3*t.length)==t+t+t?t+t+t:t;return{changes:{from:o,to:o+O.length,insert:O},range:q.cursor(o+O.length)}}}else{if(i&&e.sliceDoc(o-2*t.length,o)==t+t&&(s=u$(e,o-2*t.length,n))>-1&&d$(e,s))return{changes:{insert:t+t+t+t,from:o},effects:Ku.of(o+t.length),range:q.cursor(o+t.length)};if(e.charCategorizer(o)(a)!=ge.Word&&u$(e,o,n)>-1&&!function(e,t,i,O){let n=za(e).resolveInner(t,-1),r=O.reduce((e,t)=>Math.max(e,t.length),0);for(let s=0;s<5;s++){let s=e.sliceDoc(n.from,Math.min(n.to,n.from+i.length+r)),o=s.indexOf(i);if(!o||o>-1&&O.indexOf(s.slice(0,o))>-1){let t=n.firstChild;for(;t&&t.from==n.from&&t.to-t.from>i.length+o;){if(e.sliceDoc(t.to-i.length,t.to)==i)return!1;t=t.firstChild}return!0}let a=n.to==t&&n.parent;if(!a)break;n=a}return!1}(e,o,t,n))return{changes:{insert:t+t,from:o},effects:Ku.of(o+t.length),range:q.cursor(o+t.length)}}return{range:r=O}});return r?null:e.update(s,{scrollIntoView:!0,userEvent:"input.type"})}function d$(e,t){let i=za(e).resolveInner(t+1);return i.parent&&i.from==t}function u$(e,t,i){let O=e.charCategorizer(t);if(O(e.sliceDoc(t-1,t))!=ge.Word)return t;for(let n of i){let i=t-n.length;if(e.sliceDoc(i,t)==n&&O(e.sliceDoc(i-1,i))!=ge.Word)return i}return-1}function $$(e={}){return[zu,vu,su.of(e),Zu,p$,_u]}const f$=[{key:"Ctrl-Space",run:Xu},{mac:"Alt-`",run:Xu},{mac:"Alt-i",run:Xu},{key:"Escape",run:e=>{let t=e.state.field(vu,!1);return!(!t||!t.active.some(e=>0!=e.state)||(e.dispatch({effects:Ou.of(null)}),0))}},{key:"ArrowDown",run:xu(!0)},{key:"ArrowUp",run:xu(!1)},{key:"PageDown",run:xu(!0,"page")},{key:"PageUp",run:xu(!1,"page")},{key:"Enter",run:e=>{let t=e.state.field(vu,!1);return!(e.state.readOnly||!t||!t.open||t.open.selected<0||t.open.disabled||Date.now()-t.open.timestampe.facet(su).defaultKeymap?[f$]:[]));class Q${constructor(e,t,i){this.from=e,this.to=t,this.diagnostic=i}}class m${constructor(e,t,i){this.diagnostics=e,this.panel=t,this.selected=i}static init(e,t,i){let O=i.facet(k$).markerFilter;O&&(e=O(e,i));let n=e.slice().sort((e,t)=>e.from-t.from||e.to-t.to),r=new Ze,s=[],o=0,a=i.doc.iter(),l=0,h=i.doc.length;for(let e=0;;){let t,i,O=e==n.length?null:n[e];if(!O&&!s.length)break;if(s.length)t=o,i=s.reduce((e,t)=>Math.min(e,t.to),O&&O.from>t?O.from:1e8);else{if(t=O.from,t>h)break;i=O.to,s.push(O),e++}for(;eO.from||O.to==t)){i=Math.min(O.from,i);break}s.push(O),e++,i=Math.min(O.to,i)}i=Math.min(i,h);let c=!1;if(s.some(e=>e.from==t&&(e.to==i||i==h))&&(c=t==i,!c&&i-t<10)){let e=t-(l+a.value.length);e>0&&(a.next(e),l=t);for(let e=t;;){if(e>=i){c=!0;break}if(!a.lineBreak&&l+a.value.length>e)break;e=l+a.value.length,l+=a.value.length,a.next()}}let d=j$(s);if(c)r.add(t,t,Tt.widget({widget:new _$(d),diagnostics:s.slice()}));else{let e=s.reduce((e,t)=>t.markClass?e+" "+t.markClass:e,"");r.add(t,i,Tt.mark({class:"cm-lintRange cm-lintRange-"+d+e,diagnostics:s.slice(),inclusiveEnd:s.some(e=>e.to>i)}))}if(o=i,o==h)break;for(let e=0;e{if(!(t&&n.diagnostics.indexOf(t)<0))if(O){if(n.diagnostics.indexOf(O.diagnostic)<0)return!1;O=new Q$(O.from,i,O.diagnostic)}else O=new Q$(e,i,t||n.diagnostics[0])}),O}const S$=ce.define(),P$=ce.define(),T$=ce.define(),y$=L.define({create:()=>new m$(Tt.none,null,null),update(e,t){if(t.docChanged&&e.diagnostics.size){let i=e.diagnostics.map(t.changes),O=null,n=e.panel;if(e.selected){let n=t.changes.mapPos(e.selected.from,1);O=g$(i,e.selected.diagnostic,n)||g$(i,null,n)}!i.size&&n&&t.state.facet(k$).autoPanel&&(n=null),e=new m$(i,n,O)}for(let i of t.effects)if(i.is(S$)){let O=t.state.facet(k$).autoPanel?i.value.length?V$.open:null:e.panel;e=m$.init(i.value,O,t.state)}else i.is(P$)?e=new m$(e.diagnostics,i.value?V$.open:null,e.selected):i.is(T$)&&(e=new m$(e.diagnostics,e.panel,i.value));return e},provide:e=>[xs.from(e,e=>e.panel),ar.decorations.from(e,e=>e.diagnostics)]}),v$=Tt.mark({class:"cm-lintRange cm-lintRange-active"});function w$(e,t,i){let O,{diagnostics:n}=e.state.field(y$),r=-1,s=-1;n.between(t-(i<0?1:0),t+(i>0?1:0),(e,n,{spec:o})=>{if(t>=e&&t<=n&&(e==n||(t>e||i>0)&&(t({dom:b$(e,O)})}:null}function b$(e,t){return tt("ul",{class:"cm-tooltip-lint"},t.map(t=>z$(e,t,!1)))}const x$=e=>{let t=e.state.field(y$,!1);return!(!t||!t.panel||(e.dispatch({effects:P$.of(!1)}),0))},X$=[{key:"Mod-Shift-m",run:e=>{let t=e.state.field(y$,!1);var i,O;t&&t.panel||e.dispatch({effects:(i=e.state,O=[P$.of(!0)],i.field(y$,!1)?O:O.concat(ce.appendConfig.of(C$)))});let n=ys(e,V$.open);return n&&n.dom.querySelector(".cm-panel-lint ul").focus(),!0},preventDefault:!0},{key:"F8",run:e=>{let t=e.state.field(y$,!1);if(!t)return!1;let i=e.state.selection.main,O=g$(t.diagnostics,null,i.to+1);return!(!O&&(O=g$(t.diagnostics,null,0),!O||O.from==i.from&&O.to==i.to)||(e.dispatch({selection:{anchor:O.from,head:O.to},scrollIntoView:!0}),function(e,t,i,O={}){var n;let r=e.state.facet(ps).map(t=>e.plugin(t)).filter(e=>!!e);if(O.tooltip&&O.tooltip.active){let e=r.find(e=>e.field==O.tooltip.active);e&&(r=[e])}for(let s of r)s.activateHover(e,t,i,null!==(n=O.until)&&void 0!==n?n:()=>!1)}(e,O.from,1,{tooltip:G$,until:e=>e.docChanged||e.newSelection.main.headO.to}),0))}}],k$=j.define({combine:e=>({sources:e.map(e=>e.source).filter(e=>null!=e),...ye(e.map(e=>e.config),{delay:750,markerFilter:null,tooltipFilter:null,needsRefresh:null,hideOn:()=>null},{delay:Math.max,markerFilter:Z$,tooltipFilter:Z$,needsRefresh:(e,t)=>e?t?i=>e(i)||t(i):e:t,hideOn:(e,t)=>e?t?(i,O,n)=>e(i,O,n)||t(i,O,n):e:t,autoPanel:(e,t)=>e||t})})});function Z$(e,t){return e?t?(i,O)=>t(e(i,O),O):e:t}function R$(e){let t=[];if(e)e:for(let{name:i}of e){for(let e=0;ee.toLowerCase()==O.toLowerCase())){t.push(O);continue e}}t.push("")}return t}function z$(e,t,i){var O;let n=i?R$(t.actions):[];return tt("li",{class:"cm-diagnostic cm-diagnostic-"+t.severity},tt("span",{class:"cm-diagnosticText"},t.renderMessage?t.renderMessage(e):t.message),null===(O=t.actions)||void 0===O?void 0:O.map((i,O)=>{let r=!1,s=O=>{if(O.preventDefault(),r)return;r=!0;let n=g$(e.state.field(y$).diagnostics,t);n&&i.apply(e,n.from,n.to)},{name:o}=i,a=n[O]?o.indexOf(n[O]):-1,l=a<0?o:[o.slice(0,a),tt("u",o.slice(a,a+1)),o.slice(a+1)];return tt("button",{type:"button",class:"cm-diagnosticAction"+(i.markClass?" "+i.markClass:""),onclick:s,onmousedown:s,"aria-label":` Action: ${o}${a<0?"":` (access key "${n[O]})"`}.`},l)}),t.source&&tt("div",{class:"cm-diagnosticSource"},t.source))}class _$ extends St{constructor(e){super(),this.sev=e}eq(e){return e.sev==this.sev}toDOM(){return tt("span",{class:"cm-lintPoint cm-lintPoint-"+this.sev})}}class Y${constructor(e,t){this.diagnostic=t,this.id="item_"+Math.floor(4294967295*Math.random()).toString(16),this.dom=z$(e,t,!0),this.dom.id=this.id,this.dom.setAttribute("role","option")}}class V${constructor(e){this.view=e,this.items=[],this.list=tt("ul",{tabIndex:0,role:"listbox","aria-label":this.view.state.phrase("Diagnostics"),onkeydown:t=>{if(!(t.ctrlKey||t.altKey||t.metaKey)){if(27==t.keyCode)x$(this.view),this.view.focus();else if(38==t.keyCode||33==t.keyCode)this.moveSelection((this.selectedIndex-1+this.items.length)%this.items.length);else if(40==t.keyCode||34==t.keyCode)this.moveSelection((this.selectedIndex+1)%this.items.length);else if(36==t.keyCode)this.moveSelection(0);else if(35==t.keyCode)this.moveSelection(this.items.length-1);else if(13==t.keyCode)this.view.focus();else{if(!(t.keyCode>=65&&t.keyCode<=90&&this.selectedIndex>=0))return;{let{diagnostic:i}=this.items[this.selectedIndex],O=R$(i.actions);for(let n=0;n{for(let t=0;tx$(this.view)},"×")),this.update()}get selectedIndex(){let e=this.view.state.field(y$).selected;if(!e)return-1;for(let t=0;t{for(let e of o.diagnostics){if(r.has(e))continue;r.add(e);let s,o=-1;for(let t=i;ti&&(this.items.splice(i,o-i),O=!0)),t&&s.diagnostic==t.diagnostic?s.dom.hasAttribute("aria-selected")||(s.dom.setAttribute("aria-selected","true"),n=s):s.dom.hasAttribute("aria-selected")&&s.dom.removeAttribute("aria-selected"),i++}});i({sel:n.dom.getBoundingClientRect(),panel:this.list.getBoundingClientRect()}),write:({sel:e,panel:t})=>{let i=t.height/this.list.offsetHeight;e.topt.bottom&&(this.list.scrollTop+=(e.bottom-t.bottom)/i)}})):this.selectedIndex<0&&this.list.removeAttribute("aria-activedescendant"),O&&this.sync()}sync(){let e=this.list.firstChild;function t(){let t=e;e=t.nextSibling,t.remove()}for(let i of this.items)if(i.dom.parentNode==this.list){for(;e!=i.dom;)t();e=i.dom.nextSibling}else this.list.insertBefore(i.dom,e);for(;e;)t()}moveSelection(e){if(this.selectedIndex<0)return;let t=g$(this.view.state.field(y$).diagnostics,this.items[e].diagnostic);t&&this.view.dispatch({selection:{anchor:t.from,head:t.to},scrollIntoView:!0,effects:T$.of(t)})}static open(e){return new V$(e)}}function q$(e){return function(e,t='viewBox="0 0 40 40"'){return`url('data:image/svg+xml,${encodeURIComponent(e)}')`}(``,'width="6" height="3"')}const W$=ar.baseTheme({".cm-diagnostic":{padding:"3px 6px 3px 8px",marginLeft:"-1px",display:"block",whiteSpace:"pre-wrap"},".cm-diagnostic-error":{borderLeft:"5px solid #d11"},".cm-diagnostic-warning":{borderLeft:"5px solid orange"},".cm-diagnostic-info":{borderLeft:"5px solid #999"},".cm-diagnostic-hint":{borderLeft:"5px solid #66d"},".cm-diagnosticAction":{font:"inherit",border:"none",padding:"2px 4px",backgroundColor:"#444",color:"white",borderRadius:"3px",marginLeft:"8px",cursor:"pointer"},".cm-diagnosticSource":{fontSize:"70%",opacity:.7},".cm-lintRange":{backgroundPosition:"left bottom",backgroundRepeat:"repeat-x",paddingBottom:"0.7px"},".cm-lintRange-error":{backgroundImage:q$("#f11")},".cm-lintRange-warning":{backgroundImage:q$("orange")},".cm-lintRange-info":{backgroundImage:q$("#999")},".cm-lintRange-hint":{backgroundImage:q$("#66d")},".cm-lintRange-active":{backgroundColor:"#ffdd9980"},".cm-tooltip-lint":{padding:0,margin:0},".cm-lintPoint":{position:"relative","&:after":{content:'""',position:"absolute",bottom:0,left:"-2px",borderLeft:"3px solid transparent",borderRight:"3px solid transparent",borderBottom:"4px solid #d11"}},".cm-lintPoint-warning":{"&:after":{borderBottomColor:"orange"}},".cm-lintPoint-info":{"&:after":{borderBottomColor:"#999"}},".cm-lintPoint-hint":{"&:after":{borderBottomColor:"#66d"}},".cm-panel.cm-panel-lint":{position:"relative","& ul":{maxHeight:"100px",overflowY:"auto","& [aria-selected]":{backgroundColor:"#ddd","& u":{textDecoration:"underline"}},"&:focus [aria-selected]":{background_fallback:"#bdf",backgroundColor:"Highlight",color_fallback:"white",color:"HighlightText"},"& u":{textDecoration:"none"},padding:0,margin:0},"& [name=close]":{position:"absolute",top:"0",right:"2px",background:"inherit",border:"none",font:"inherit",padding:0,margin:0}},"&dark .cm-lintRange-active":{backgroundColor:"#86714a80"},"&dark .cm-panel.cm-panel-lint ul":{"& [aria-selected]":{backgroundColor:"#2e343e"}}});function U$(e){return"error"==e?4:"warning"==e?3:"info"==e?2:1}function j$(e){let t="hint",i=1;for(let O of e){let e=U$(O.severity);e>i&&(i=e,t=O.severity)}return t}const G$=gs(w$,{hideOn:function(e,t){let i=t.pos,O=t.end||i,n=e.state.facet(k$).hideOn(e,i,O);if(null!=n)return n;let r=e.startState.doc.lineAt(t.pos);return!(!e.effects.some(e=>e.is(S$))&&!e.changes.touchesRange(r.from,Math.max(r.to,O)))}}),C$=[y$,ar.decorations.compute([y$],e=>{let{selected:t,panel:i}=e.field(y$);return t&&i&&t.from!=t.to?Tt.set([v$.range(t.from,t.to)]):Tt.none}),G$,W$],A$=(()=>[Hs(),eo,Lr(),Zh(),Xl(),Zr(),[Wr,Ur],Te.allowMultipleSelections.of(!0),Te.transactionFilter.of(e=>{if(!e.docChanged||!e.isUserEvent("input.type")&&!e.isUserEvent("input.complete"))return e;let t=e.startState.languageDataAt("indentOnInput",e.startState.selection.main.head);if(!t.length)return e;let i=e.newDoc,{head:O}=e.newSelection.main,n=i.lineAt(O);if(O>n.from+200)return e;let r=i.sliceString(n.from,O);if(!t.some(e=>e.test(r)))return e;let{state:s}=e,o=-1,a=[];for(let{head:e}of s.selection.ranges){let t=s.doc.lineAt(e);if(t.from==o)continue;o=t.from;let i=Ia(s,t.from);if(null==i)continue;let O=/^\s*/.exec(t.text)[0],n=La(s,i);O!=n&&a.push({from:t.from,to:t.from+O.length,insert:n})}return a.length?[e,{changes:a,sequential:!0}]:e}),Yl(Wl,{fallback:!0}),Ll(),[r$,e$],$$(),ar.mouseSelectionStyle.of((e,t)=>{return(i=t).altKey&&0==i.button?function(e,t){let i=Jr(e,t),O=e.state.selection;return i?{update(e){if(e.docChanged){let t=e.changes.mapPos(e.startState.doc.line(i.line).from),n=e.state.doc.lineAt(t);i={line:n.number,col:i.col,off:Math.min(i.off,n.length)},O=O.map(e.changes)}},get(t,n,r){let s=Jr(e,t);if(!s)return O;let o=function(e,t,i){let O=Math.min(t.line,i.line),n=Math.max(t.line,i.line),r=[];if(t.off>Kr||i.off>Kr||t.col<0||i.col<0){let s=Math.min(t.off,i.off),o=Math.max(t.off,i.off);for(let t=O;t<=n;t++){let i=e.doc.line(t);i.length<=o&&r.push(q.range(i.from+s,i.to+o))}}else{let s=Math.min(t.col,i.col),o=Math.max(t.col,i.col);for(let t=O;t<=n;t++){let i=e.doc.line(t),O=Ae(i.text,s,e.tabSize,!0);if(O<0)r.push(q.cursor(i.to));else{let t=Ae(i.text,o,e.tabSize);r.push(q.range(i.from+O,i.from+t))}}}return r}(e.state,i,s);return o.length?r?q.create(o.concat(O.ranges)):q.create(o):O}}:null}(e,t):null;var i}),is(),Hr,[ad,od],pr.of([...s$,...Dc,...Wd,...Ih,...gl,...f$,...X$])])(),E$="#e06c75",M$="#abb2bf",D$="#7d8799",L$="#d19a66",I$="#2c313a",N$="#282c34",B$="#353a42",F$="#528bff",H$=[ar.theme({"&":{color:M$,backgroundColor:N$},".cm-content":{caretColor:F$},".cm-cursor, .cm-dropCursor":{borderLeftColor:F$},"&.cm-focused > .cm-scroller > .cm-selectionLayer .cm-selectionBackground, .cm-selectionBackground, .cm-content ::selection":{backgroundColor:"#3E4451"},".cm-panels":{backgroundColor:"#21252b",color:M$},".cm-panels.cm-panels-top":{borderBottom:"2px solid black"},".cm-panels.cm-panels-bottom":{borderTop:"2px solid black"},".cm-searchMatch":{backgroundColor:"#72a1ff59",outline:"1px solid #457dff"},".cm-searchMatch.cm-searchMatch-selected":{backgroundColor:"#6199ff2f"},".cm-activeLine":{backgroundColor:"#6699ff0b"},".cm-selectionMatch":{backgroundColor:"#aafe661a"},"&.cm-focused .cm-matchingBracket, &.cm-focused .cm-nonmatchingBracket":{backgroundColor:"#bad0f847"},".cm-gutters":{backgroundColor:N$,color:D$,border:"none"},".cm-activeLineGutter":{backgroundColor:I$},".cm-foldPlaceholder":{backgroundColor:"transparent",border:"none",color:"#ddd"},".cm-tooltip":{border:"none",backgroundColor:B$},".cm-tooltip .cm-tooltip-arrow:before":{borderTopColor:"transparent",borderBottomColor:"transparent"},".cm-tooltip .cm-tooltip-arrow:after":{borderTopColor:B$,borderBottomColor:B$},".cm-tooltip-autocomplete":{"& > ul > li[aria-selected]":{backgroundColor:I$,color:M$}}},{dark:!0}),Yl(Zl.define([{tag:va.keyword,color:"#c678dd"},{tag:[va.name,va.deleted,va.character,va.propertyName,va.macroName],color:E$},{tag:[va.function(va.variableName),va.labelName],color:"#61afef"},{tag:[va.color,va.constant(va.name),va.standard(va.name)],color:L$},{tag:[va.definition(va.name),va.separator],color:M$},{tag:[va.typeName,va.className,va.number,va.changed,va.annotation,va.modifier,va.self,va.namespace],color:"#e5c07b"},{tag:[va.operator,va.operatorKeyword,va.url,va.escape,va.regexp,va.link,va.special(va.string)],color:"#56b6c2"},{tag:[va.meta,va.comment],color:D$},{tag:va.strong,fontWeight:"bold"},{tag:va.emphasis,fontStyle:"italic"},{tag:va.strikethrough,textDecoration:"line-through"},{tag:va.link,color:D$,textDecoration:"underline"},{tag:va.heading,fontWeight:"bold",color:E$},{tag:[va.atom,va.bool,va.special(va.variableName)],color:L$},{tag:[va.processingInstruction,va.string,va.inserted],color:"#98c379"},{tag:va.invalid,color:"#ffffff"}]))];class K${constructor(e,t,i,O,n,r,s,o,a,l=0,h){this.p=e,this.stack=t,this.state=i,this.reducePos=O,this.pos=n,this.score=r,this.buffer=s,this.bufferBase=o,this.curContext=a,this.lookAhead=l,this.parent=h}toString(){return`[${this.stack.filter((e,t)=>t%3==0).concat(this.state)}]@${this.pos}${this.score?"!"+this.score:""}`}static start(e,t,i=0){let O=e.parser.context;return new K$(e,[],t,i,i,0,[],0,O?new J$(O,O.start):null,0,null)}get context(){return this.curContext?this.curContext.context:null}pushState(e,t){this.stack.push(this.state,t,this.bufferBase+this.buffer.length),this.state=e}reduce(e){var t;let i=e>>19,O=65535&e,{parser:n}=this.p,r=this.reducePos=2e3&&!(null===(t=this.p.parser.nodeSet.types[O])||void 0===t?void 0:t.isAnonymous)&&(a==this.p.lastBigReductionStart?(this.p.bigReductionCount++,this.p.lastBigReductionSize=l):this.p.lastBigReductionSizeo;)this.stack.pop();this.reduceContext(O,a)}storeNode(e,t,i,O=4,n=!1){if(0==e&&(!this.stack.length||this.stack[this.stack.length-1]0&&0==this.buffer[e-4]&&this.buffer[e-1]>-1){if(t==i)return;if(this.buffer[e-2]>=t)return void(this.buffer[e-2]=i)}}if(n&&this.pos!=i){let n=this.buffer.length;if(n>0&&(0!=this.buffer[n-4]||this.buffer[n-1]<0)){let e=!1;for(let t=n;t>0&&this.buffer[t-2]>i;t-=4)if(this.buffer[t-1]>=0){e=!0;break}if(e)for(;n>0&&this.buffer[n-2]>i;)this.buffer[n]=this.buffer[n-4],this.buffer[n+1]=this.buffer[n-3],this.buffer[n+2]=this.buffer[n-2],this.buffer[n+3]=this.buffer[n-1],n-=4,O>4&&(O-=4)}this.buffer[n]=e,this.buffer[n+1]=t,this.buffer[n+2]=i,this.buffer[n+3]=O}else this.buffer.push(e,t,i,O)}shift(e,t,i,O){if(131072&e)this.pushState(65535&e,this.pos);else if(262144&e)this.pos=O,this.shiftContext(t,i),t<=this.p.parser.maxNode&&this.buffer.push(t,i,O,4);else{let n=e,{parser:r}=this.p;this.pos=O;let s=r.stateFlag(n,1);!s&&(O>i||t<=r.maxNode)&&(this.reducePos=O),this.pushState(n,s?i:Math.min(i,this.reducePos)),this.shiftContext(t,i),t<=r.maxNode&&this.buffer.push(t,i,O,4)}}apply(e,t,i,O){65536&e?this.reduce(e):this.shift(e,t,i,O)}useNode(e,t){let i=this.p.reused.length-1;(i<0||this.p.reused[i]!=e)&&(this.p.reused.push(e),i++);let O=this.pos;this.reducePos=this.pos=O+e.length,this.pushState(t,O),this.buffer.push(i,O,this.reducePos,-1),this.curContext&&this.updateContext(this.curContext.tracker.reuse(this.curContext.context,e,this,this.p.stream.reset(this.pos-e.length)))}split(){let e=this,t=e.buffer.length;for(t&&0==e.buffer[t-4]&&(t-=4);t>0&&e.buffer[t-2]>e.reducePos;)t-=4;let i=e.buffer.slice(t),O=e.bufferBase+t;for(;e&&O==e.bufferBase;)e=e.parent;return new K$(this.p,this.stack.slice(),this.state,this.reducePos,this.pos,this.score,i,O,this.curContext,this.lookAhead,e)}recoverByDelete(e,t){let i=e<=this.p.parser.maxNode;i&&this.storeNode(e,this.pos,t,4),this.storeNode(0,this.pos,t,i?8:4),this.pos=this.reducePos=t,this.score-=190}canShift(e){for(let t=new ef(this);;){let i=this.p.parser.stateSlot(t.state,4)||this.p.parser.hasAction(t.state,e);if(0==i)return!1;if(!(65536&i))return!0;t.reduce(i)}}recoverByInsert(e){if(this.stack.length>=300)return[];let t=this.p.parser.nextStates(this.state);if(t.length>8||this.stack.length>=120){let i=[];for(let O,n=0;n1&t&&e==O)||i.push(t[e],O)}t=i}let i=[];for(let e=0;e>19,O=65535&t,n=this.stack.length-3*i;if(n<0||e.getGoto(this.stack[n],O,!1)<0){let e=this.findForcedReduction();if(null==e)return!1;t=e}this.storeNode(0,this.pos,this.pos,4,!0),this.score-=100}return this.reducePos=this.pos,this.reduce(t),!0}findForcedReduction(){let{parser:e}=this.p,t=[],i=(O,n)=>{if(!t.includes(O))return t.push(O),e.allActions(O,t=>{if(393216&t);else if(65536&t){let i=(t>>19)-n;if(i>1){let O=65535&t,n=this.stack.length-3*i;if(n>=0&&e.getGoto(this.stack[n],O,!1)>=0)return i<<19|65536|O}}else{let e=i(t,n+1);if(null!=e)return e}})};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(3!=this.stack.length)return!1;let{parser:e}=this.p;return 65535==e.data[e.stateSlot(this.state,1)]&&!e.stateSlot(this.state,4)}restart(){this.storeNode(0,this.pos,this.pos,4,!0),this.state=this.stack[0],this.stack.length=0}sameState(e){if(this.state!=e.state||this.stack.length!=e.stack.length)return!1;for(let t=0;t0&&this.emitLookAhead()}}class J${constructor(e,t){this.tracker=e,this.context=t,this.hash=e.strict?e.hash(t):0}}class ef{constructor(e){this.start=e,this.state=e.state,this.stack=e.stack,this.base=this.stack.length}reduce(e){let t=65535&e,i=e>>19;0==i?(this.stack==this.start.stack&&(this.stack=this.stack.slice()),this.stack.push(this.state,0,0),this.base+=3):this.base-=3*(i-1);let O=this.start.p.parser.getGoto(this.stack[this.base-3],t,!0);this.state=O}}class tf{constructor(e,t,i){this.stack=e,this.pos=t,this.index=i,this.buffer=e.buffer,0==this.index&&this.maybeNext()}static create(e,t=e.bufferBase+e.buffer.length){return new tf(e,t,t-e.bufferBase)}maybeNext(){let e=this.stack.parent;null!=e&&(this.index=this.stack.bufferBase-e.bufferBase,this.stack=e,this.buffer=e.buffer)}get id(){return this.buffer[this.index-4]}get start(){return this.buffer[this.index-3]}get end(){return this.buffer[this.index-2]}get size(){return this.buffer[this.index-1]}next(){this.index-=4,this.pos-=4,0==this.index&&this.maybeNext()}fork(){return new tf(this.stack,this.pos,this.index)}}function Of(e,t=Uint16Array){if("string"!=typeof e)return e;let i=null;for(let O=0,n=0;O=92&&t--,t>=34&&t--;let n=t-32;if(n>=46&&(n-=46,i=!0),r+=n,i)break;r*=46}i?i[n++]=r:i=new t(r)}return i}class nf{constructor(){this.start=-1,this.value=-1,this.end=-1,this.extended=-1,this.lookAhead=0,this.mask=0,this.context=0}}const rf=new nf;class sf{constructor(e,t){this.input=e,this.ranges=t,this.chunk="",this.chunkOff=0,this.chunk2="",this.chunk2Pos=0,this.next=-1,this.token=rf,this.rangeIndex=0,this.pos=this.chunkPos=t[0].from,this.range=t[0],this.end=t[t.length-1].to,this.readNext()}resolveOffset(e,t){let i=this.range,O=this.rangeIndex,n=this.pos+e;for(;ni.to:n>=i.to;){if(O==this.ranges.length-1)return null;let e=this.ranges[++O];n+=e.from-i.to,i=e}return n}clipPos(e){if(e>=this.range.from&&ee)return Math.max(e,t.from);return this.end}peek(e){let t,i,O=this.chunkOff+e;if(O>=0&&O=this.chunk2Pos&&tO.to&&(this.chunk2=this.chunk2.slice(0,O.to-t)),i=this.chunk2.charCodeAt(0)}}return t>=this.token.lookAhead&&(this.token.lookAhead=t+1),i}acceptToken(e,t=0){let i=t?this.resolveOffset(t,-1):this.pos;if(null==i||i=this.chunk2Pos&&this.posthis.range.to?e.slice(0,this.range.to-this.pos):e,this.chunkPos=this.pos,this.chunkOff=0}}readNext(){return this.chunkOff>=this.chunk.length&&(this.getChunk(),this.chunkOff==this.chunk.length)?this.next=-1:this.next=this.chunk.charCodeAt(this.chunkOff)}advance(e=1){for(this.chunkOff+=e;this.pos+e>=this.range.to;){if(this.rangeIndex==this.ranges.length-1)return this.setDone();e-=this.range.to-this.pos,this.range=this.ranges[++this.rangeIndex],this.pos=this.range.from}return this.pos+=e,this.pos>=this.token.lookAhead&&(this.token.lookAhead=this.pos+1),this.readNext()}setDone(){return this.pos=this.chunkPos=this.end,this.range=this.ranges[this.rangeIndex=this.ranges.length-1],this.chunk="",this.next=-1}reset(e,t){if(t?(this.token=t,t.start=e,t.lookAhead=e+1,t.value=t.extended=-1):this.token=rf,this.pos!=e){if(this.pos=e,e==this.end)return this.setDone(),this;for(;e=this.range.to;)this.range=this.ranges[++this.rangeIndex];e>=this.chunkPos&&e=this.chunkPos&&t<=this.chunkPos+this.chunk.length)return this.chunk.slice(e-this.chunkPos,t-this.chunkPos);if(e>=this.chunk2Pos&&t<=this.chunk2Pos+this.chunk2.length)return this.chunk2.slice(e-this.chunk2Pos,t-this.chunk2Pos);if(e>=this.range.from&&t<=this.range.to)return this.input.read(e,t);let i="";for(let O of this.ranges){if(O.from>=t)break;O.to>e&&(i+=this.input.read(Math.max(O.from,e),Math.min(O.to,t)))}return i}}class of{constructor(e,t){this.data=e,this.id=t}token(e,t){let{parser:i}=t.p;hf(this.data,e,t,this.id,i.data,i.tokenPrecTable)}}of.prototype.contextual=of.prototype.fallback=of.prototype.extend=!1;class af{constructor(e,t,i){this.precTable=t,this.elseToken=i,this.data="string"==typeof e?Of(e):e}token(e,t){let i=e.pos,O=0;for(;;){let i=e.next<0,n=e.resolveOffset(1,1);if(hf(this.data,e,t,0,this.data,this.precTable),e.token.value>-1)break;if(null==this.elseToken)return;if(i||O++,null==n)break;e.reset(n,e.token)}O&&(e.reset(i,e.token),e.acceptToken(this.elseToken,O))}}af.prototype.contextual=of.prototype.fallback=of.prototype.extend=!1;class lf{constructor(e,t={}){this.token=e,this.contextual=!!t.contextual,this.fallback=!!t.fallback,this.extend=!!t.extend}}function hf(e,t,i,O,n,r){let s=0,o=1<0){let i=e[O];if(a.allows(i)&&(-1==t.token.value||t.token.value==i||df(i,t.token.value,n,r))){t.acceptToken(i);break}}let O=t.next,l=0,h=e[s+2];if(!(t.next<0&&h>l&&65535==e[i+3*h-3])){for(;l>1,r=i+n+(n<<1),o=e[r],a=e[r+1]||65536;if(O=a)){s=e[r+2],t.advance();continue e}l=n+1}}break}s=e[i+3*h-1]}}function cf(e,t,i){for(let O,n=t;65535!=(O=e[n]);n++)if(O==i)return n-t;return-1}function df(e,t,i,O){let n=cf(i,O,t);return n<0||cf(i,O,e)t)&&!O.type.isError)return i<0?Math.max(0,Math.min(O.to-1,t-25)):Math.min(e.length,Math.max(O.from+1,t+25));if(i<0?O.prevSibling():O.nextSibling())break;if(!O.parent())return i<0?0:e.length}}class pf{constructor(e,t){this.fragments=e,this.nodeSet=t,this.i=0,this.fragment=null,this.safeFrom=-1,this.safeTo=-1,this.trees=[],this.start=[],this.index=[],this.nextFragment()}nextFragment(){let e=this.fragment=this.i==this.fragments.length?null:this.fragments[this.i++];if(e){for(this.safeFrom=e.openStart?ff(e.tree,e.from+e.offset,1)-e.offset:e.from,this.safeTo=e.openEnd?ff(e.tree,e.to+e.offset,-1)-e.offset:e.to;this.trees.length;)this.trees.pop(),this.start.pop(),this.index.pop();this.trees.push(e.tree),this.start.push(-e.offset),this.index.push(0),this.nextStart=this.safeFrom}else this.nextStart=1e9}nodeAt(e){if(ee)return this.nextStart=r,null;if(n instanceof Qo){if(r==e){if(r=Math.max(this.safeFrom,e)&&(this.trees.push(n),this.start.push(r),this.index.push(0))}else this.index[t]++,this.nextStart=r+n.length}}}class Qf{constructor(e,t){this.stream=t,this.tokens=[],this.mainToken=null,this.actions=[],this.tokens=e.tokenizers.map(e=>new nf)}getActions(e){let t=0,i=null,{parser:O}=e.p,{tokenizers:n}=O,r=O.stateSlot(e.state,3),s=e.curContext?e.curContext.hash:0,o=0;for(let O=0;Ol.end+25&&(o=Math.max(l.lookAhead,o)),0!=l.value)){let O=t;if(l.extended>-1&&(t=this.addActions(e,l.extended,l.end,t)),t=this.addActions(e,l.value,l.end,t),!a.extend&&(i=l,t>O))break}}for(;this.actions.length>t;)this.actions.pop();return o&&e.setLookAhead(o),i||e.pos!=this.stream.end||(i=new nf,i.value=e.p.parser.eofTerm,i.start=i.end=e.pos,t=this.addActions(e,i.value,i.end,t)),this.mainToken=i,this.actions}getMainToken(e){if(this.mainToken)return this.mainToken;let t=new nf,{pos:i,p:O}=e;return t.start=i,t.end=Math.min(i+1,O.stream.end),t.value=i==O.stream.end?O.parser.eofTerm:0,t}updateCachedToken(e,t,i){let O=this.stream.clipPos(i.pos);if(t.token(this.stream.reset(O,e),i),e.value>-1){let{parser:t}=i.p;for(let O=0;O=0&&i.p.parser.dialect.allows(n>>1)){1&n?e.extended=n>>1:e.value=n>>1;break}}}else e.value=0,e.end=this.stream.clipPos(O+1)}putAction(e,t,i,O){for(let t=0;t4*e.bufferLength?new pf(i,e.nodeSet):null}get parsedPos(){return this.minStackPos}advance(){let e,t,i=this.stacks,O=this.minStackPos,n=this.stacks=[];if(this.bigReductionCount>300&&1==i.length){let[e]=i;for(;e.forceReduce()&&e.stack.length&&e.stack[e.stack.length-2]>=this.lastBigReductionStart;);this.bigReductionCount=this.lastBigReductionSize=0}for(let r=0;rO)n.push(s);else{if(this.advanceStack(s,n,i))continue;{e||(e=[],t=[]),e.push(s);let i=this.tokens.getMainToken(s);t.push(i.value,i.end)}}break}}if(!n.length){let t=e&&function(e){let t=null;for(let i of e){let e=i.p.stoppedAt;(i.pos==i.p.stream.end||null!=e&&i.pos>e)&&i.p.parser.stateFlag(i.state,2)&&(!t||t.scorethis.stoppedAt?e[0]:this.runRecovery(e,t,n);if(i)return this.stackToTree(i.forceAll())}if(this.recovering){let e=1==this.recovering?1:3*this.recovering;if(n.length>e)for(n.sort((e,t)=>t.score-e.score);n.length>e;)n.pop();n.some(e=>e.reducePos>O)&&this.recovering--}else if(n.length>1){e:for(let e=0;e500&&O.buffer.length>500){if(!((t.score-O.score||t.buffer.length-O.buffer.length)>0)){n.splice(e--,1);continue e}n.splice(i--,1)}}}n.length>12&&(n.sort((e,t)=>t.score-e.score),n.splice(12,n.length-12))}this.minStackPos=n[0].pos;for(let e=1;ethis.stoppedAt)return e.forceReduce()?e:null;if(this.fragments){let t=e.curContext&&e.curContext.tracker.strict,i=t?e.curContext.hash:0;for(let r=this.fragments.nodeAt(O);r;){let O=this.parser.nodeSet.types[r.type.id]==r.type?n.getGoto(e.state,r.type.id):-1;if(O>-1&&r.length&&(!t||(r.prop(ao.contextHash)||0)==i))return e.useNode(r,O),!0;if(!(r instanceof Qo)||0==r.children.length||r.positions[0]>0)break;let s=r.children[0];if(!(s instanceof Qo&&0==r.positions[0]))break;r=s}}let r=n.stateSlot(e.state,4);if(r>0)return e.reduce(r),!0;if(e.stack.length>=8400)for(;e.stack.length>6e3&&e.forceReduce(););let s=this.tokens.getActions(e);for(let n=0;nO?t.push(h):i.push(h)}return!1}advanceFully(e,t){let i=e.pos;for(;;){if(!this.advanceStack(e,null,null))return!1;if(e.pos>i)return gf(e,t),!0}}runRecovery(e,t,i){let O=null,n=!1;for(let r=0;r ":"";if(s.deadEnd){if(n)continue;if(n=!0,s.restart(),this.advanceFully(s,i))continue}let h=s.split(),c=l;for(let e=0;e<10&&h.forceReduce()&&!this.advanceFully(h,i);e++)uf&&(c=this.stackID(h)+" -> ");for(let e of s.recoverByInsert(o))this.advanceFully(e,i);this.stream.end>s.pos?(a==s.pos&&(a++,o=0),s.recoverByDelete(o,a),gf(s,i)):(!O||O.scoree;class Tf{constructor(e){this.start=e.start,this.shift=e.shift||Pf,this.reduce=e.reduce||Pf,this.reuse=e.reuse||Pf,this.hash=e.hash||(()=>0),this.strict=!1!==e.strict}}class yf extends Wo{constructor(e){if(super(),this.wrappers=[],14!=e.version)throw new RangeError(`Parser version (${e.version}) doesn't match runtime version (14)`);let t=e.nodeNames.split(" ");this.minRepeatTerm=t.length;for(let i=0;ie.topRules[t][1]),O=[];for(let e=0;e=0)n(O,e,t[i++]);else{let r=t[i+-O];for(let s=-O;s>0;s--)n(t[i++],e,r);i++}}}this.nodeSet=new uo(t.map((t,n)=>co.define({name:n>=this.minRepeatTerm?void 0:t,id:n,props:O[n],top:i.indexOf(n)>-1,error:0==n,skipped:e.skippedNodes&&e.skippedNodes.indexOf(n)>-1}))),e.propSources&&(this.nodeSet=this.nodeSet.extend(...e.propSources)),this.strict=!1,this.bufferLength=ro;let r=Of(e.tokenData);this.context=e.context,this.specializerSpecs=e.specialized||[],this.specialized=new Uint16Array(this.specializerSpecs.length);for(let e=0;e"number"==typeof e?new of(r,e):e),this.topRules=e.topRules,this.dialects=e.dialects||{},this.dynamicPrecedences=e.dynamicPrecedences||null,this.tokenPrecTable=e.tokenPrec,this.termNames=e.termNames||null,this.maxNode=this.nodeSet.types.length-1,this.dialect=this.parseDialect(),this.top=this.topRules[Object.keys(this.topRules)[0]]}createParse(e,t,i){let O=new mf(this,e,t,i);for(let n of this.wrappers)O=n(O,e,t,i);return O}getGoto(e,t,i=!1){let O=this.goto;if(t>=O[0])return-1;for(let n=O[t+1];;){let t=O[n++],r=1&t,s=O[n++];if(r&&i)return s;for(let i=n+(t>>1);n0}validAction(e,t){return!!this.allActions(e,e=>e==t||null)}allActions(e,t){let i=this.stateSlot(e,4),O=i?t(i):void 0;for(let i=this.stateSlot(e,1);null==O;i+=3){if(65535==this.data[i]){if(1!=this.data[i+1])break;i=vf(this.data,i+2)}O=t(vf(this.data,i+1))}return O}nextStates(e){let t=[];for(let i=this.stateSlot(e,1);;i+=3){if(65535==this.data[i]){if(1!=this.data[i+1])break;i=vf(this.data,i+2)}if(!(1&this.data[i+2])){let e=this.data[i+1];t.some((t,i)=>1&i&&t==e)||t.push(this.data[i],e)}}return t}configure(e){let t=Object.assign(Object.create(yf.prototype),this);if(e.props&&(t.nodeSet=this.nodeSet.extend(...e.props)),e.top){let i=this.topRules[e.top];if(!i)throw new RangeError(`Invalid top rule name ${e.top}`);t.top=i}return e.tokenizers&&(t.tokenizers=this.tokenizers.map(t=>{let i=e.tokenizers.find(e=>e.from==t);return i?i.to:t})),e.specializers&&(t.specializers=this.specializers.slice(),t.specializerSpecs=this.specializerSpecs.map((i,O)=>{let n=e.specializers.find(e=>e.from==i.external);if(!n)return i;let r=Object.assign(Object.assign({},i),{external:n.to});return t.specializers[O]=wf(r),r})),e.contextTracker&&(t.context=e.contextTracker),e.dialect&&(t.dialect=this.parseDialect(e.dialect)),null!=e.strict&&(t.strict=e.strict),e.wrap&&(t.wrappers=t.wrappers.concat(e.wrap)),null!=e.bufferLength&&(t.bufferLength=e.bufferLength),t}hasWrappers(){return this.wrappers.length>0}getName(e){return this.termNames?this.termNames[e]:String(e<=this.maxNode&&this.nodeSet.types[e].name||e)}get eofTerm(){return this.maxNode+1}get topNode(){return this.nodeSet.types[this.top[1]]}dynamicPrecedence(e){let t=this.dynamicPrecedences;return null==t?0:t[e]||0}parseDialect(e){let t=Object.keys(this.dialects),i=t.map(()=>!1);if(e)for(let O of e.split(" ")){let e=t.indexOf(O);e>=0&&(i[e]=!0)}let O=null;for(let e=0;ee.external(i,O)<<1|t}return e.get}const bf=[9,10,11,12,13,32,133,160,5760,8192,8193,8194,8195,8196,8197,8198,8199,8200,8201,8202,8232,8233,8239,8287,12288],xf=new Tf({start:!1,shift:(e,t)=>5==t||6==t||320==t?e:321==t,strict:!1}),Xf=new lf((e,t)=>{let{next:i}=e;(125==i||-1==i||t.context)&&e.acceptToken(318)},{contextual:!0,fallback:!0}),kf=new lf((e,t)=>{let i,{next:O}=e;bf.indexOf(O)>-1||(47!=O||47!=(i=e.peek(1))&&42!=i)&&(125==O||59==O||-1==O||t.context||e.acceptToken(316))},{contextual:!0}),Zf=new lf((e,t)=>{91!=e.next||t.context||e.acceptToken(317)},{contextual:!0}),Rf=new lf((e,t)=>{let{next:i}=e;if(43==i||45==i){if(e.advance(),i==e.next){e.advance();let i=!t.context&&t.canShift(1);e.acceptToken(i?1:2)}}else 63==i&&46==e.peek(1)&&(e.advance(),e.advance(),(e.next<48||e.next>57)&&e.acceptToken(3))},{contextual:!0});function zf(e,t){return e>=65&&e<=90||e>=97&&e<=122||95==e||e>=192||!t&&e>=48&&e<=57}const _f=new lf((e,t)=>{if(60!=e.next||!t.dialectEnabled(0))return;if(e.advance(),47==e.next)return;let i=0;for(;bf.indexOf(e.next)>-1;)e.advance(),i++;if(zf(e.next,!0)){for(e.advance(),i++;zf(e.next,!1);)e.advance(),i++;for(;bf.indexOf(e.next)>-1;)e.advance(),i++;if(44==e.next)return;for(let t=0;;t++){if(7==t){if(!zf(e.next,!0))return;break}if(e.next!="extends".charCodeAt(t))break;e.advance(),i++}}e.acceptToken(4,-i)}),Yf=Oa({"get set async static":va.modifier,"for while do if else switch try catch finally return throw break continue default case defer":va.controlKeyword,"in of await yield void typeof delete instanceof as satisfies":va.operatorKeyword,"let var const using function class extends":va.definitionKeyword,"import export from":va.moduleKeyword,"with debugger new":va.keyword,TemplateString:va.special(va.string),super:va.atom,BooleanLiteral:va.bool,this:va.self,null:va.null,Star:va.modifier,VariableName:va.variableName,"CallExpression/VariableName TaggedTemplateExpression/VariableName":va.function(va.variableName),VariableDefinition:va.definition(va.variableName),Label:va.labelName,PropertyName:va.propertyName,PrivatePropertyName:va.special(va.propertyName),"CallExpression/MemberExpression/PropertyName":va.function(va.propertyName),"FunctionDeclaration/VariableDefinition":va.function(va.definition(va.variableName)),"ClassDeclaration/VariableDefinition":va.definition(va.className),"NewExpression/VariableName":va.className,PropertyDefinition:va.definition(va.propertyName),PrivatePropertyDefinition:va.definition(va.special(va.propertyName)),UpdateOp:va.updateOperator,"LineComment Hashbang":va.lineComment,BlockComment:va.blockComment,Number:va.number,String:va.string,Escape:va.escape,ArithOp:va.arithmeticOperator,LogicOp:va.logicOperator,BitOp:va.bitwiseOperator,CompareOp:va.compareOperator,RegExp:va.regexp,Equals:va.definitionOperator,Arrow:va.function(va.punctuation),": Spread":va.punctuation,"( )":va.paren,"[ ]":va.squareBracket,"{ }":va.brace,"InterpolationStart InterpolationEnd":va.special(va.brace),".":va.derefOperator,", ;":va.separator,"@":va.meta,TypeName:va.typeName,TypeDefinition:va.definition(va.typeName),"type enum interface implements namespace module declare":va.definitionKeyword,"abstract global Privacy readonly override":va.modifier,"is keyof unique infer asserts":va.operatorKeyword,JSXAttributeValue:va.attributeValue,JSXText:va.content,"JSXStartTag JSXStartCloseTag JSXSelfCloseEndTag JSXEndTag":va.angleBracket,"JSXIdentifier JSXNameSpacedName":va.tagName,"JSXAttribute/JSXIdentifier JSXAttribute/JSXNameSpacedName":va.attributeName,"JSXBuiltin/JSXIdentifier":va.standard(va.tagName)}),Vf={__proto__:null,export:20,as:25,from:33,default:36,async:41,function:42,in:52,out:55,const:56,extends:60,this:64,true:72,false:72,null:84,void:88,typeof:92,super:108,new:142,delete:154,yield:163,await:167,class:172,public:235,private:235,protected:235,readonly:237,instanceof:256,satisfies:259,import:292,keyof:349,unique:353,infer:359,asserts:395,is:397,abstract:417,implements:419,type:421,let:424,var:426,using:429,interface:435,enum:439,namespace:445,module:447,declare:451,global:455,defer:471,for:476,of:485,while:488,with:492,do:496,if:500,else:502,switch:506,case:512,try:518,catch:522,finally:526,return:530,throw:534,break:538,continue:542,debugger:546},qf={__proto__:null,async:129,get:131,set:133,declare:195,public:197,private:197,protected:197,static:199,abstract:201,override:203,readonly:209,accessor:211,new:401},Wf={__proto__:null,"<":193},Uf=yf.deserialize({version:14,states:"$F|Q%TQlOOO%[QlOOO'_QpOOP(lO`OOO*zQ!0MxO'#CiO+RO#tO'#CjO+aO&jO'#CjO+oO#@ItO'#DaO.QQlO'#DgO.bQlO'#DrO%[QlO'#DzO0fQlO'#ESOOQ!0Lf'#E['#E[O1PQ`O'#EXOOQO'#Ep'#EpOOQO'#Il'#IlO1XQ`O'#GsO1dQ`O'#EoO1iQ`O'#EoO3hQ!0MxO'#JrO6[Q!0MxO'#JsO6uQ`O'#F]O6zQ,UO'#FtOOQ!0Lf'#Ff'#FfO7VO7dO'#FfO9XQMhO'#F|O9`Q`O'#F{OOQ!0Lf'#Js'#JsOOQ!0Lb'#Jr'#JrO9eQ`O'#GwOOQ['#K_'#K_O9pQ`O'#IYO9uQ!0LrO'#IZOOQ['#J`'#J`OOQ['#I_'#I_Q`QlOOQ`QlOOO9}Q!L^O'#DvO:UQlO'#EOO:]QlO'#EQO9kQ`O'#GsO:dQMhO'#CoO:rQ`O'#EnO:}Q`O'#EyO;hQMhO'#FeO;xQ`O'#GsOOQO'#K`'#K`O;}Q`O'#K`O<]Q`O'#G{O<]Q`O'#G|O<]Q`O'#HOO9kQ`O'#HRO=SQ`O'#HUO>kQ`O'#CeO>{Q`O'#HcO?TQ`O'#HiO?TQ`O'#HkO`QlO'#HmO?TQ`O'#HoO?TQ`O'#HrO?YQ`O'#HxO?_Q!0LsO'#IOO%[QlO'#IQO?jQ!0LsO'#ISO?uQ!0LsO'#IUO9uQ!0LrO'#IWO@QQ!0MxO'#CiOASQpO'#DlQOQ`OOO%[QlO'#EQOAjQ`O'#ETO:dQMhO'#EnOAuQ`O'#EnOBQQ!bO'#FeOOQ['#Cg'#CgOOQ!0Lb'#Dq'#DqOOQ!0Lb'#Jv'#JvO%[QlO'#JvOOQO'#Jy'#JyOOQO'#Ih'#IhOCQQpO'#EgOOQ!0Lb'#Ef'#EfOOQ!0Lb'#J}'#J}OC|Q!0MSO'#EgODWQpO'#EWOOQO'#Jx'#JxODlQpO'#JyOEyQpO'#EWODWQpO'#EgPFWO&2DjO'#CbPOOO)CD})CD}OOOO'#I`'#I`OFcO#tO,59UOOQ!0Lh,59U,59UOOOO'#Ia'#IaOFqO&jO,59UOGPQ!L^O'#DcOOOO'#Ic'#IcOGWO#@ItO,59{OOQ!0Lf,59{,59{OGfQlO'#IdOGyQ`O'#JtOIxQ!fO'#JtO+}QlO'#JtOJPQ`O,5:ROJgQ`O'#EpOJtQ`O'#KTOKPQ`O'#KSOKPQ`O'#KSOKXQ`O,5;^OK^Q`O'#KROOQ!0Ln,5:^,5:^OKeQlO,5:^OMcQ!0MxO,5:fONSQ`O,5:nONmQ!0LrO'#KQONtQ`O'#KPO9eQ`O'#KPO! YQ`O'#KPO! bQ`O,5;]O! gQ`O'#KPO!#lQ!fO'#JsOOQ!0Lh'#Ci'#CiO%[QlO'#ESO!$[Q!fO,5:sOOQS'#Jz'#JzOOQO-EtOOQ['#Jh'#JhOOQ[,5>u,5>uOOQ[-E<]-E<]O!TO`QlO,5>VO!LOQ`O,5>XO`QlO,5>ZO!LTQ`O,5>^O!LYQlO,5>dOOQ[,5>j,5>jO%[QlO,5>jO9uQ!0LrO,5>lOOQ[,5>n,5>nO#!dQ`O,5>nOOQ[,5>p,5>pO#!dQ`O,5>pOOQ[,5>r,5>rO##QQpO'#D_O%[QlO'#JvO##sQpO'#JvO##}QpO'#DmO#$`QpO'#DmO#&qQlO'#DmO#&xQ`O'#JuO#'QQ`O,5:WO#'VQ`O'#EtO#'eQ`O'#KUO#'mQ`O,5;_O#'rQpO'#DmO#(PQpO'#EVOOQ!0Lf,5:o,5:oO%[QlO,5:oO#(WQ`O,5:oO?YQ`O,5;YO!CUQpO,5;YO!C^QMhO,5;YO:dQMhO,5;YO#(`Q`O,5@bO#(eQ07dO,5:sOOQO-EPO$6^Q`O,5>POOQ[1G3i1G3iO`QlO1G3iOOQ[1G3o1G3oOOQ[1G3q1G3qO?TQ`O1G3sO$6cQlO1G3uO$:gQlO'#HtOOQ[1G3x1G3xO$:tQ`O'#HzO?YQ`O'#H|OOQ[1G4O1G4OO$:|QlO1G4OO9uQ!0LrO1G4UOOQ[1G4W1G4WOOQ!0Lb'#G_'#G_O9uQ!0LrO1G4YO9uQ!0LrO1G4[O$?TQ`O,5@bO!)[QlO,5;`O9eQ`O,5;`O?YQ`O,5:XO!)[QlO,5:XO!CUQpO,5:XO$?YQ?MtO,5:XOOQO,5;`,5;`O$?dQpO'#IeO$?zQ`O,5@aOOQ!0Lf1G/r1G/rO$@SQpO'#IkO$@^Q`O,5@pOOQ!0Lb1G0y1G0yO#$`QpO,5:XOOQO'#Ig'#IgO$@fQpO,5:qOOQ!0Ln,5:q,5:qO#(ZQ`O1G0ZOOQ!0Lf1G0Z1G0ZO%[QlO1G0ZOOQ!0Lf1G0t1G0tO?YQ`O1G0tO!CUQpO1G0tO!C^QMhO1G0tOOQ!0Lb1G5|1G5|O!ByQ!0LrO1G0^OOQO1G0m1G0mO%[QlO1G0mO$@mQ!0LrO1G0mO$@xQ!0LrO1G0mO!CUQpO1G0^ODWQpO1G0^O$AWQ!0LrO1G0mOOQO1G0^1G0^O$AlQ!0MxO1G0mPOOO-E<[-E<[POOO1G.h1G.hOOOO1G/i1G/iO$AvQ!bO,5QQpO,5@}OOQ!0Lb1G3c1G3cOOQ[7+$V7+$VO@zQ`O7+$VO9uQ!0LrO7+$VO%>]Q`O7+$VO%[QlO1G6lO%[QlO1G6mO%>bQ!0LrO1G6lO%>lQlO1G3kO%>sQ`O1G3kO%>xQlO1G3kOOQ[7+)T7+)TO9uQ!0LrO7+)_O`QlO7+)aOOQ['#Kh'#KhOOQ['#JS'#JSO%?PQlO,5>`OOQ[,5>`,5>`O%[QlO'#HuO%?^Q`O'#HwOOQ[,5>f,5>fO9eQ`O,5>fOOQ[,5>h,5>hOOQ[7+)j7+)jOOQ[7+)p7+)pOOQ[7+)t7+)tOOQ[7+)v7+)vO%?cQpO1G5|O%?}Q?MtO1G0zO%@XQ`O1G0zOOQO1G/s1G/sO%@dQ?MtO1G/sO?YQ`O1G/sO!)[QlO'#DmOOQO,5?P,5?POOQO-ERQ`O7+,WO&>WQ`O7+,XO%[QlO7+,WO%[QlO7+,XOOQ[7+)V7+)VO&>]Q`O7+)VO&>bQlO7+)VO&>iQ`O7+)VOOQ[<nQ`O,5>aOOQ[,5>c,5>cO&>sQ`O1G4QO9eQ`O7+&fO!)[QlO7+&fOOQO7+%_7+%_O&>xQ?MtO1G6ZO?YQ`O7+%_OOQ!0Lf<yQ?MvO,5?aO'@|Q?MvO,5?cO'CPQ?MvO7+'|O'DuQMjOG27TOOQO<VO!l$xO#jROe!iOpkOrPO(T)]O(VTO(YUO(aVO(o[O~O!]$_Oa$qa'z$qa'w$qa!k$qa!Y$qa!_$qa%i$qa!g$qa~Ol)dO~P!&zOh%VOp%WOr%XOs$tOt$tOz%YO|%ZO!O%]O!S${O!_$|O!i%bO!l$xO#j%cO$W%`O$t%^O$v%_O$y%aO(T(vO(VTO(YUO(a$uO(y$}O(z%PO~Og(pP~P!,TO!Q)iO!g)hO!_$^X$Z$^X$]$^X$_$^X$f$^X~O!g)hO!_({X$Z({X$]({X$_({X$f({X~O!Q)iO~P!.^O!Q)iO!_({X$Z({X$]({X$_({X$f({X~O!_)kO$Z)oO$])jO$_)jO$f)pO~O![)sO~P!)[O$]$hO$_$gO$f)wO~On$zX!Q$zX#S$zX'y$zX(y$zX(z$zX~OgmXg$zXnmX!]mX#`mX~P!0SOx)yO(b)zO(c)|O~On*VO!Q*OO'y*PO(y$}O(z%PO~Og)}O~P!1WOg*WO~Oh%VOr%XOs$tOt$tOz%YO|%ZO!OVO!l$xO#jVO!l$xO#jROe!iOpkOrPO(VTO(YUO(aVO(o[O~O(T=QO~P#$qO!]-]O!^(iX~O!^-_O~O!g-VO#`-UO!]#hX!^#hX~O!]-`O!^(xX~O!^-bO~O!c-cO!d-cO(U!lO~P#$`O!^-fO~P'_On-iO!_'`O~O!Y-nO~Os!{a!b!{a!c!{a!d!{a#T!{a#U!{a#V!{a#W!{a#X!{a#[!{a#]!{a(U!{a(V!{a(Y!{a(e!{a(o!{a~P!#vO!p-sO#`-qO~PChO!c-uO!d-uO(U!lO~PDWOa%nO#`-qO'z%nO~Oa%nO!g#vO#`-qO'z%nO~Oa%nO!g#vO!p-sO#`-qO'z%nO(r'pO~O(P'xO(Q'xO(R-zO~Ov-{O~O!Y'Wa!]'Wa~P!:tO![.PO!Y'WX!]'WX~P%[O!](VO!Y(ha~O!Y(ha~PHRO!](^O!Y(va~O!S%hO![.TO!_%iO(T%gO!Y'^X!]'^X~O#`.VO!](ta!k(taa(ta'z(ta~O!g#vO~P#,wO!](jO!k(sa~O!S%hO!_%iO#j.ZO(T%gO~Op.`O!S%hO![.]O!_%iO!|]O#i._O#j.]O(T%gO!]'aX!k'aX~OR.dO!l#xO~Oh%VOn.gO!_'`O%i.fO~Oa#ci!]#ci'z#ci'w#ci!Y#ci!k#civ#ci!_#ci%i#ci!g#ci~P!:tOn>]O!Q*OO'y*PO(y$}O(z%PO~O#k#_aa#_a#`#_a'z#_a!]#_a!k#_a!_#_a!Y#_a~P#/sO#k(`XP(`XR(`X[(`Xa(`Xj(`Xr(`X!S(`X!l(`X!p(`X#R(`X#n(`X#o(`X#p(`X#q(`X#r(`X#s(`X#t(`X#u(`X#v(`X#x(`X#z(`X#{(`X'z(`X(a(`X(r(`X!k(`X!Y(`X'w(`Xv(`X!_(`X%i(`X!g(`X~P!6kO!].tO!k(kX~P!:tO!k.wO~O!Y.yO~OP$[OR#zO!Q#yO!S#{O!l#xO!p$[O(aVO[#mia#mij#mir#mi!]#mi#R#mi#o#mi#p#mi#q#mi#r#mi#s#mi#t#mi#u#mi#v#mi#x#mi#z#mi#{#mi'z#mi(r#mi(y#mi(z#mi'w#mi!Y#mi!k#miv#mi!_#mi%i#mi!g#mi~O#n#mi~P#3cO#n$OO~P#3cOP$[OR#zOr$aO!Q#yO!S#{O!l#xO!p$[O#n$OO#o$PO#p$PO#q$PO(aVO[#mia#mij#mi!]#mi#R#mi#s#mi#t#mi#u#mi#v#mi#x#mi#z#mi#{#mi'z#mi(r#mi(y#mi(z#mi'w#mi!Y#mi!k#miv#mi!_#mi%i#mi!g#mi~O#r#mi~P#6QO#r$QO~P#6QOP$[OR#zO[$cOj$ROr$aO!Q#yO!S#{O!l#xO!p$[O#R$RO#n$OO#o$PO#p$PO#q$PO#r$QO#s$RO#t$RO#u$bO(aVOa#mi!]#mi#x#mi#z#mi#{#mi'z#mi(r#mi(y#mi(z#mi'w#mi!Y#mi!k#miv#mi!_#mi%i#mi!g#mi~O#v#mi~P#8oOP$[OR#zO[$cOj$ROr$aO!Q#yO!S#{O!l#xO!p$[O#R$RO#n$OO#o$PO#p$PO#q$PO#r$QO#s$RO#t$RO#u$bO#v$SO(aVO(z#}Oa#mi!]#mi#z#mi#{#mi'z#mi(r#mi(y#mi'w#mi!Y#mi!k#miv#mi!_#mi%i#mi!g#mi~O#x$UO~P#;VO#x#mi~P#;VO#v$SO~P#8oOP$[OR#zO[$cOj$ROr$aO!Q#yO!S#{O!l#xO!p$[O#R$RO#n$OO#o$PO#p$PO#q$PO#r$QO#s$RO#t$RO#u$bO#v$SO#x$UO(aVO(y#|O(z#}Oa#mi!]#mi#{#mi'z#mi(r#mi'w#mi!Y#mi!k#miv#mi!_#mi%i#mi!g#mi~O#z#mi~P#={O#z$WO~P#={OP]XR]X[]Xj]Xr]X!Q]X!S]X!l]X!p]X#R]X#S]X#`]X#kfX#n]X#o]X#p]X#q]X#r]X#s]X#t]X#u]X#v]X#x]X#z]X#{]X$Q]X(a]X(r]X(y]X(z]X!]]X!^]X~O$O]X~P#@jOP$[OR#zO[]O!Q*OO'y*PO(y$}O(z%POP#miR#mi!S#mi!l#mi!p#mi#n#mi#o#mi#p#mi#q#mi(a#mi~P#EyO!]/POg(pX~P!1WOg/RO~Oa$Pi!]$Pi'z$Pi'w$Pi!Y$Pi!k$Piv$Pi!_$Pi%i$Pi!g$Pi~P!:tO$]/SO$_/SO~O$]/TO$_/TO~O!g)hO#`/UO!_$cX$Z$cX$]$cX$_$cX$f$cX~O![/VO~O!_)kO$Z/XO$])jO$_)jO$f/YO~O!]VO!l$xO#j^O!Q*OO'y*PO(y$}O(z%POP#miR#mi!S#mi!l#mi!p#mi#n#mi#o#mi#p#mi#q#mi(a#mi~P&,QO#S$dOP(`XR(`X[(`Xj(`Xn(`Xr(`X!Q(`X!S(`X!l(`X!p(`X#R(`X#n(`X#o(`X#p(`X#q(`X#r(`X#s(`X#t(`X#u(`X#v(`X#x(`X#z(`X#{(`X$O(`X'y(`X(a(`X(r(`X(y(`X(z(`X!](`X!^(`X~O$O$Pi!]$Pi!^$Pi~P#BwO$O!ri!^!ri~P$+oOg']a!]']a~P!1WO!^7nO~O!]'da!^'da~P#BwO!Y7oO~P#/sO!g#vO(r'pO!]'ea!k'ea~O!]/pO!k)Oi~O!]/pO!g#vO!k)Oi~Og$|q!]$|q#`$|q$O$|q~P!1WO!Y'ga!]'ga~P#/sO!g7vO~O!]/yO!Y)Pi~P#/sO!]/yO!Y)Pi~O!Y7yO~Oh%VOr8OO!l%eO(r'pO~Oj8QO!g#vO~Or8TO!g#vO(r'pO~O!Q*OO'y*PO(z%POn'ja(y'ja!]'ja#`'ja~Og'ja$O'ja~P&5RO!Q*OO'y*POn'la(y'la(z'la!]'la#`'la~Og'la$O'la~P&5tOg(_q!](_q~P!1WO#`8VOg(_q!](_q~P!1WO!Y8WO~Og%Oq!]%Oq#`%Oq$O%Oq~P!1WOa$oy!]$oy'z$oy'w$oy!Y$oy!k$oyv$oy!_$oy%i$oy!g$oy~P!:tO!g6rO~O!]5[O!_)Qa~O!_'`OP$TaR$Ta[$Taj$Tar$Ta!Q$Ta!S$Ta!]$Ta!l$Ta!p$Ta#R$Ta#n$Ta#o$Ta#p$Ta#q$Ta#r$Ta#s$Ta#t$Ta#u$Ta#v$Ta#x$Ta#z$Ta#{$Ta(a$Ta(r$Ta(y$Ta(z$Ta~O%i7WO~P&8fO%^8[Oa%[i!_%[i'z%[i!]%[i~Oa#cy!]#cy'z#cy'w#cy!Y#cy!k#cyv#cy!_#cy%i#cy!g#cy~P!:tO[8^O~Ob8`O(T+qO(VTO(YUO~O!]1TO!^)Xi~O`8dO~O(e(|O!]'pX!^'pX~O!]5uO!^)Ua~O!^8nO~P%;eO(o!sO~P$&YO#[8oO~O!_1oO~O!_1oO%i8qO~On8tO!_1oO%i8qO~O[8yO!]'sa!^'sa~O!]1zO!^)Vi~O!k8}O~O!k9OO~O!k9RO~O!k9RO~P%[Oa9TO~O!g9UO~O!k9VO~O!](wi!^(wi~P#BwOa%nO#`9_O'z%nO~O!](ty!k(tya(ty'z(ty~P!:tO!](jO!k(sy~O%i9bO~P&8fO!_'`O%i9bO~O#k$|qP$|qR$|q[$|qa$|qj$|qr$|q!S$|q!]$|q!l$|q!p$|q#R$|q#n$|q#o$|q#p$|q#q$|q#r$|q#s$|q#t$|q#u$|q#v$|q#x$|q#z$|q#{$|q'z$|q(a$|q(r$|q!k$|q!Y$|q'w$|q#`$|qv$|q!_$|q%i$|q!g$|q~P#/sO#k'jaP'jaR'ja['jaa'jaj'jar'ja!S'ja!l'ja!p'ja#R'ja#n'ja#o'ja#p'ja#q'ja#r'ja#s'ja#t'ja#u'ja#v'ja#x'ja#z'ja#{'ja'z'ja(a'ja(r'ja!k'ja!Y'ja'w'jav'ja!_'ja%i'ja!g'ja~P&5RO#k'laP'laR'la['laa'laj'lar'la!S'la!l'la!p'la#R'la#n'la#o'la#p'la#q'la#r'la#s'la#t'la#u'la#v'la#x'la#z'la#{'la'z'la(a'la(r'la!k'la!Y'la'w'lav'la!_'la%i'la!g'la~P&5tO#k%OqP%OqR%Oq[%Oqa%Oqj%Oqr%Oq!S%Oq!]%Oq!l%Oq!p%Oq#R%Oq#n%Oq#o%Oq#p%Oq#q%Oq#r%Oq#s%Oq#t%Oq#u%Oq#v%Oq#x%Oq#z%Oq#{%Oq'z%Oq(a%Oq(r%Oq!k%Oq!Y%Oq'w%Oq#`%Oqv%Oq!_%Oq%i%Oq!g%Oq~P#/sO!]'Yi!k'Yi~P!:tO$O#cq!]#cq!^#cq~P#BwO(y$}OP%aaR%aa[%aaj%aar%aa!S%aa!l%aa!p%aa#R%aa#n%aa#o%aa#p%aa#q%aa#r%aa#s%aa#t%aa#u%aa#v%aa#x%aa#z%aa#{%aa$O%aa(a%aa(r%aa!]%aa!^%aa~On%aa!Q%aa'y%aa(z%aa~P&IyO(z%POP%caR%ca[%caj%car%ca!S%ca!l%ca!p%ca#R%ca#n%ca#o%ca#p%ca#q%ca#r%ca#s%ca#t%ca#u%ca#v%ca#x%ca#z%ca#{%ca$O%ca(a%ca(r%ca!]%ca!^%ca~On%ca!Q%ca'y%ca(y%ca~P&LQOn>^O!Q*OO'y*PO(z%PO~P&IyOn>^O!Q*OO'y*PO(y$}O~P&LQOR0kO!Q0kO!S0lO#S$dOP}a[}aj}an}ar}a!l}a!p}a#R}a#n}a#o}a#p}a#q}a#r}a#s}a#t}a#u}a#v}a#x}a#z}a#{}a$O}a'y}a(a}a(r}a(y}a(z}a!]}a!^}a~O!Q*OO'y*POP$saR$sa[$saj$san$sar$sa!S$sa!l$sa!p$sa#R$sa#n$sa#o$sa#p$sa#q$sa#r$sa#s$sa#t$sa#u$sa#v$sa#x$sa#z$sa#{$sa$O$sa(a$sa(r$sa(y$sa(z$sa!]$sa!^$sa~O!Q*OO'y*POP$uaR$ua[$uaj$uan$uar$ua!S$ua!l$ua!p$ua#R$ua#n$ua#o$ua#p$ua#q$ua#r$ua#s$ua#t$ua#u$ua#v$ua#x$ua#z$ua#{$ua$O$ua(a$ua(r$ua(y$ua(z$ua!]$ua!^$ua~On>^O!Q*OO'y*PO(y$}O(z%PO~OP%TaR%Ta[%Taj%Tar%Ta!S%Ta!l%Ta!p%Ta#R%Ta#n%Ta#o%Ta#p%Ta#q%Ta#r%Ta#s%Ta#t%Ta#u%Ta#v%Ta#x%Ta#z%Ta#{%Ta$O%Ta(a%Ta(r%Ta!]%Ta!^%Ta~P''VO$O$mq!]$mq!^$mq~P#BwO$O$oq!]$oq!^$oq~P#BwO!^9oO~O$O9pO~P!1WO!g#vO!]'ei!k'ei~O!g#vO(r'pO!]'ei!k'ei~O!]/pO!k)Oq~O!Y'gi!]'gi~P#/sO!]/yO!Y)Pq~Or9wO!g#vO(r'pO~O[9yO!Y9xO~P#/sO!Y9xO~Oj:PO!g#vO~Og(_y!](_y~P!1WO!]'na!_'na~P#/sOa%[q!_%[q'z%[q!]%[q~P#/sO[:UO~O!]1TO!^)Xq~O`:YO~O#`:ZO!]'pa!^'pa~O!]5uO!^)Ui~P#BwO!S:]O~O!_1oO%i:`O~O(VTO(YUO(e:eO~O!]1zO!^)Vq~O!k:hO~O!k:iO~O!k:jO~O!k:jO~P%[O#`:mO!]#hy!^#hy~O!]#hy!^#hy~P#BwO%i:rO~P&8fO!_'`O%i:rO~O$O#|y!]#|y!^#|y~P#BwOP$|iR$|i[$|ij$|ir$|i!S$|i!l$|i!p$|i#R$|i#n$|i#o$|i#p$|i#q$|i#r$|i#s$|i#t$|i#u$|i#v$|i#x$|i#z$|i#{$|i$O$|i(a$|i(r$|i!]$|i!^$|i~P''VO!Q*OO'y*PO(z%POP'iaR'ia['iaj'ian'iar'ia!S'ia!l'ia!p'ia#R'ia#n'ia#o'ia#p'ia#q'ia#r'ia#s'ia#t'ia#u'ia#v'ia#x'ia#z'ia#{'ia$O'ia(a'ia(r'ia(y'ia!]'ia!^'ia~O!Q*OO'y*POP'kaR'ka['kaj'kan'kar'ka!S'ka!l'ka!p'ka#R'ka#n'ka#o'ka#p'ka#q'ka#r'ka#s'ka#t'ka#u'ka#v'ka#x'ka#z'ka#{'ka$O'ka(a'ka(r'ka(y'ka(z'ka!]'ka!^'ka~O(y$}OP%aiR%ai[%aij%ain%air%ai!Q%ai!S%ai!l%ai!p%ai#R%ai#n%ai#o%ai#p%ai#q%ai#r%ai#s%ai#t%ai#u%ai#v%ai#x%ai#z%ai#{%ai$O%ai'y%ai(a%ai(r%ai(z%ai!]%ai!^%ai~O(z%POP%ciR%ci[%cij%cin%cir%ci!Q%ci!S%ci!l%ci!p%ci#R%ci#n%ci#o%ci#p%ci#q%ci#r%ci#s%ci#t%ci#u%ci#v%ci#x%ci#z%ci#{%ci$O%ci'y%ci(a%ci(r%ci(y%ci!]%ci!^%ci~O$O$oy!]$oy!^$oy~P#BwO$O#cy!]#cy!^#cy~P#BwO!g#vO!]'eq!k'eq~O!]/pO!k)Oy~O!Y'gq!]'gq~P#/sOr:|O!g#vO(r'pO~O[;QO!Y;PO~P#/sO!Y;PO~Og(_!R!](_!R~P!1WOa%[y!_%[y'z%[y!]%[y~P#/sO!]1TO!^)Xy~O!]5uO!^)Uq~O(T;XO~O!_1oO%i;[O~O!k;_O~O%i;dO~P&8fOP$|qR$|q[$|qj$|qr$|q!S$|q!l$|q!p$|q#R$|q#n$|q#o$|q#p$|q#q$|q#r$|q#s$|q#t$|q#u$|q#v$|q#x$|q#z$|q#{$|q$O$|q(a$|q(r$|q!]$|q!^$|q~P''VO!Q*OO'y*PO(z%POP'jaR'ja['jaj'jan'jar'ja!S'ja!l'ja!p'ja#R'ja#n'ja#o'ja#p'ja#q'ja#r'ja#s'ja#t'ja#u'ja#v'ja#x'ja#z'ja#{'ja$O'ja(a'ja(r'ja(y'ja!]'ja!^'ja~O!Q*OO'y*POP'laR'la['laj'lan'lar'la!S'la!l'la!p'la#R'la#n'la#o'la#p'la#q'la#r'la#s'la#t'la#u'la#v'la#x'la#z'la#{'la$O'la(a'la(r'la(y'la(z'la!]'la!^'la~OP%OqR%Oq[%Oqj%Oqr%Oq!S%Oq!l%Oq!p%Oq#R%Oq#n%Oq#o%Oq#p%Oq#q%Oq#r%Oq#s%Oq#t%Oq#u%Oq#v%Oq#x%Oq#z%Oq#{%Oq$O%Oq(a%Oq(r%Oq!]%Oq!^%Oq~P''VOg%e!Z!]%e!Z#`%e!Z$O%e!Z~P!1WO!Y;hO~P#/sOr;iO!g#vO(r'pO~O[;kO!Y;hO~P#/sO!]'pq!^'pq~P#BwO!]#h!Z!^#h!Z~P#BwO#k%e!ZP%e!ZR%e!Z[%e!Za%e!Zj%e!Zr%e!Z!S%e!Z!]%e!Z!l%e!Z!p%e!Z#R%e!Z#n%e!Z#o%e!Z#p%e!Z#q%e!Z#r%e!Z#s%e!Z#t%e!Z#u%e!Z#v%e!Z#x%e!Z#z%e!Z#{%e!Z'z%e!Z(a%e!Z(r%e!Z!k%e!Z!Y%e!Z'w%e!Z#`%e!Zv%e!Z!_%e!Z%i%e!Z!g%e!Z~P#/sOr;tO!g#vO(r'pO~O!Y;uO~P#/sOr;|O!g#vO(r'pO~O!Y;}O~P#/sOP%e!ZR%e!Z[%e!Zj%e!Zr%e!Z!S%e!Z!l%e!Z!p%e!Z#R%e!Z#n%e!Z#o%e!Z#p%e!Z#q%e!Z#r%e!Z#s%e!Z#t%e!Z#u%e!Z#v%e!Z#x%e!Z#z%e!Z#{%e!Z$O%e!Z(a%e!Z(r%e!Z!]%e!Z!^%e!Z~P''VOrROe!iOpkOrPO(T)]O(VTO(YUO(aVO(o[O~O!]WO!l$xO#jgPPP!>oI[PPPPPPPPP!BOP!C]PPI[!DnPI[PI[I[I[I[I[PI[!FQP!I[P!LbP!Lf!Lp!Lt!LtP!IXP!Lx!LxP#!OP#!SI[PI[#!Y#%_CjA^PA^PA^A^P#&lA^A^#)OA^#+vA^#.SA^A^#.r#1W#1W#1]#1f#1W#1qPP#1WPA^#2ZA^#6YA^A^6mPPP#:_PPP#:x#:xP#:xP#;`#:xPP#;fP#;]P#;]#;y#;]#P#>V#>]#>k#>q#>{#?R#?]#?c#?s#?y#@k#@}#AT#AZ#Ai#BO#Cs#DR#DY#Et#FS#Gt#HS#HY#H`#Hf#Hp#Hv#H|#IW#Ij#IpPPPPPPPPPPP#IvPPPPPPP#Jk#Mx$ b$ i$ qPPP$']P$'f$*_$0x$0{$1O$1}$2Q$2X$2aP$2g$2jP$3W$3[$4S$5b$5g$5}PP$6S$6Y$6^$6a$6e$6i$7e$7|$8e$8i$8l$8o$8y$8|$9Q$9UR!|RoqOXst!Z#d%m&r&t&u&w,s,x2[2_Y!vQ'`-e1o5{Q%tvQ%|yQ&T|Q&j!VS'W!e-]Q'f!iS'l!r!yU*k$|*Z*oQ+o%}S+|&V&WQ,d&dQ-c'_Q-m'gQ-u'mQ0[*qQ1b,OQ1y,eR<{SU+P%]S!S!nQ!r!v!y!z$|'W'_'`'l'm'n*k*o*q*r-]-c-e-u0[0_1o5{5}%[$ti#v$b$c$d$x${%O%Q%^%_%c)y*R*T*V*Y*a*g*w*x+f+i,S,V.f/P/d/m/x/y/{0`0b0i0j0o1f1i1q3c4^4_4j4o5Q5[5_6S7W7v8Q8V8[8q9b9p9y:P:`:r;Q;[;d;kP>X>Y>]>^Q&X|Q'U!eS'[%i-`Q+t&PQ,P&WQ,f&gQ0n+SQ1Y+uQ1_+{Q2Q,jQ2R,kQ5f1TQ5o1aQ6[1zQ6_1|Q6`2PQ8`5gQ8c5lQ8|6bQ:X8dQ:f8yQ;V:YR<}*ZrnOXst!V!Z#d%m&i&r&t&u&w,s,x2[2_R,h&k&z^OPXYstuvwz!Z!`!g!j!o#S#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$Z$_$a$e$n%m%t&R&k&n&o&r&t&u&w&{'T'b'r(V(](d(x(z)O)s)}*i+X+]+g,p,s,x-U-X-i-q.P.V.g.t.{/V/n0]0l0r1S1r2S2T2V2X2[2_2a2p3Q3W3d3l4T4z5w6T6e6f6i6s6|7[8t9T9_:Z:mR>S[#]WZ#W#Z'X(T!b%jm#h#i#l$x%e%h(^(h(i(j*Y*^*b+Z+[+^,o-V.T.Z.[.]._/m/p2d3[3]4a6r7TQ%wxQ%{yW&Q|&V&W,OQ&_!TQ'c!hQ'e!iQ(q#sS+n%|%}Q+r&PQ,_&bQ,c&dS-l'f'gQ.i(rQ1R+oQ1X+uQ1Z+vQ1^+zQ1t,`S1x,d,eQ2|-mQ5e1TQ5i1WQ5n1`Q6Z1yQ8_5gQ8b5kQ8f5pQ:T8^R;T:U!U$zi$d%O%Q%^%_%c*R*T*a*w*x/P/x0`0b0i0j0o4_5Q8V9p>P>X>Y!^%yy!i!u%{%|%}'V'e'f'g'k'u*j+n+o-Y-l-m-t0R0U1R2u2|3T4r4s4v7}9{Q+h%wQ,T&[Q,W&]Q,b&dQ.h(qQ1s,_U1w,c,d,eQ3e.iQ6U1tS6Y1x1yQ8x6Z#f>T#v$b$c$x${)y*V*Y*g+f+i,S,V.f/d/m/y/{1f1i1q3c4^4j4o5[5_6S7W7v8Q8[8q9b9y:P:`:r;Q;[;d;k]>^o>UPS&[!Q&iQ&]!RQ&^!SU*}%[%d=sR,R&Y%]%Si#v$b$c$d$x${%O%Q%^%_%c)y*R*T*V*Y*a*g*w*x+f+i,S,V.f/P/d/m/x/y/{0`0b0i0j0o1f1i1q3c4^4_4j4o5Q5[5_6S7W7v8Q8V8[8q9b9p9y:P:`:r;Q;[;d;kP>X>Y>]>^T)z$u){V+P%]S$i$^c#Y#e%q%s%u(S(Y(t(y)R)S)T)U)V)W)X)Y)Z)[)^)`)b)g)q+d+x-Z-x-}.S.U.s.v.z.|.}/O/b0p2k2n3O3V3k3p3q3r3s3t3u3v3w3x3y3z3{3|4P4Q4X5X5c6u6{7Q7a7b7k7l8k9X9]9g9m9n:o;W;`SQ'Y!eR2q-]!W!nQ!e!r!v!y!z$|'W'_'`'l'm'n*Z*k*o*q*r-]-c-e-u0[0_1o5{5}R1l,ZnqOXst!Z#d%m&r&t&u&w,s,x2[2_Q&y!^Q'v!xS(s#u<^Q+l%zQ,]&_Q,^&aQ-j'dQ-w'oS.r(x=PS0q+X=ZQ1P+mQ1n,[Q2c,zQ2e,{Q2m-WQ2z-kQ2}-oS5Y0r=eQ5a1QS5d1S=fQ6t2oQ6x2{Q6}3SQ8]5bQ9Y6vQ9Z6yQ9^7OR:l9V$d$]c#Y#e%s%u(S(Y(t(y)R)S)T)U)V)W)X)Y)Z)[)^)`)b)g)q+d+x-Z-x-}.S.U.s.v.z.}/O/b0p2k2n3O3V3k3p3q3r3s3t3u3v3w3x3y3z3{3|4P4Q4X5X5c6u6{7Q7a7b7k7l8k9X9]9g9m9n:o;W;`SS#q]SU$fd)_,mS(p#p'iU*v%R(w4OU0m+O.n7gQ5^0xQ7V3`Q9d7YR:s9em!tQ!r!v!y!z'`'l'm'n-e-u1o5{5}Q't!uS(f#g2US-s'k'wQ/s*]Q0R*jQ3U-vQ4f/tQ4r0TQ4s0UQ4x0^Q7r4`S7}4t4vS8R4y4{Q9r7sQ9v7yQ9{8OQ:Q8TS:{9w9xS;g:|;PS;s;h;iS;{;t;uSSR=o>R%^bOPWXYZstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$_$a$e%m%t&R&k&n&o&r&t&u&w&{'T'b'r(T(V(](d(x(z)O)}*i+X+]+g,p,s,x-i-q.P.V.g.t.{/n0]0l0r1S1r2S2T2V2X2[2_2a3Q3W3d3l4z6T6e6f6i6|7[8t9T9_Q%fj!^%xy!i!u%{%|%}'V'e'f'g'k'u*j+n+o-Y-l-m-t0R0U1R2u2|3T4r4s4v7}9{S&Oz!jQ+k%yQ,a&dW1v,b,c,d,eU6X1w1x1yS8w6Y6ZQ:d8x!r=j$Z$n'X)s-U-X/V2p4T5w6s:Z:mSQ=t>QR=u>R%QeOPXYstuvw!Z!`!g!o#S#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$_$a$e%m%t&R&k&n&r&t&u&w&{'T'b'r(V(](d(x(z)O)}*i+X+]+g,p,s,x-i-q.P.V.g.t.{/n0]0l0r1S1r2S2T2V2X2[2_2a3Q3W3d3l4z6T6e6f6i6|7[8t9T9_Y#bWZ#W#Z(T!b%jm#h#i#l$x%e%h(^(h(i(j*Y*^*b+Z+[+^,o-V.T.Z.[.]._/m/p2d3[3]4a6r7TQ,n&o!p=k$Z$n)s-U-X/V2p4T5w6s:Z:mSR=n'XU']!e%i*ZR2s-`%SdOPWXYZstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$_$a$e%m%t&R&k&n&r&t&u&w&{'T'b'r(T(V(](d(x(z)O)}*i+X+],p,s,x-i-q.P.V.t.{/n0]0l0r1S1r2S2T2V2X2[2_2a3Q3W3l4z6T6e6f6i6|8t9T9_!r)_$Z$n'X)s-U-X/V2p4T5w6s:Z:mSQ,m&oQ0x+gQ3`.gQ7Y3dR9e7[!b$Tc#Y%q(S(Y(t(y)Z)[)`)g+x-x-}.S.U.s.v/b0p3O3V3k3{5X5c6{7Q7a9]:oS)^)q-Z.|2k2n3p4P4X6u7b7k7l8k9X9g9m9n;W;`=vQ>X>ZR>Y>['QkOPWXYZstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$Z$_$a$e$n%m%t&R&k&n&o&r&t&u&w&{'T'X'b'r(T(V(](d(x(z)O)s)}*i+X+]+g,p,s,x-U-X-i-q.P.V.g.t.{/V/n0]0l0r1S1r2S2T2V2X2[2_2a2p3Q3W3d3l4T4z5w6T6e6f6i6s6|7[8t9T9_:Z:mSS$oh$pR4U/U'XgOPWXYZhstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$Z$_$a$e$n$p%m%t&R&k&n&o&r&t&u&w&{'T'X'b'r(T(V(](d(x(z)O)s)}*i+X+]+g,p,s,x-U-X-i-q.P.V.g.t.{/U/V/n0]0l0r1S1r2S2T2V2X2[2_2a2p3Q3W3d3l4T4z5w6T6e6f6i6s6|7[8t9T9_:Z:mST$kf$qQ$ifS)j$l)nR)v$qT$jf$qT)l$l)n'XhOPWXYZhstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$Z$_$a$e$n$p%m%t&R&k&n&o&r&t&u&w&{'T'X'b'r(T(V(](d(x(z)O)s)}*i+X+]+g,p,s,x-U-X-i-q.P.V.g.t.{/U/V/n0]0l0r1S1r2S2T2V2X2[2_2a2p3Q3W3d3l4T4z5w6T6e6f6i6s6|7[8t9T9_:Z:mST$oh$pQ$rhR)u$p%^jOPWXYZstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$_$a$e%m%t&R&k&n&o&r&t&u&w&{'T'b'r(T(V(](d(x(z)O)}*i+X+]+g,p,s,x-i-q.P.V.g.t.{/n0]0l0r1S1r2S2T2V2X2[2_2a3Q3W3d3l4z6T6e6f6i6|7[8t9T9_!s>Q$Z$n'X)s-U-X/V2p4T5w6s:Z:mS#glOPXZst!Z!`!o#S#d#o#{$n%m&k&n&o&r&t&u&w&{'T'b)O)s*i+]+g,p,s,x-i.g/V/n0]0l1r2S2T2V2X2[2_2a3d4T4z6T6e6f6i7[8t9T!U%Ri$d%O%Q%^%_%c*R*T*a*w*x/P/x0`0b0i0j0o4_5Q8V9p>P>X>Y#f(w#v$b$c$x${)y*V*Y*g+f+i,S,V.f/d/m/y/{1f1i1q3c4^4j4o5[5_6S7W7v8Q8[8q9b9y:P:`:r;Q;[;d;k]>^Q+T%aQ/c*Oo4OP>X>YQ*c$zU*l$|*Z*oQ+U%bQ0W*m#f=q#v$b$c$x${)y*V*Y*g+f+i,S,V.f/d/m/y/{1f1i1q3c4^4j4o5[5_6S7W7v8Q8[8q9b9y:P:`:r;Q;[;d;k]>^n=rTQ=x>UQ=y>VR=z>W!U%Ri$d%O%Q%^%_%c*R*T*a*w*x/P/x0`0b0i0j0o4_5Q8V9p>P>X>Y#f(w#v$b$c$x${)y*V*Y*g+f+i,S,V.f/d/m/y/{1f1i1q3c4^4j4o5[5_6S7W7v8Q8[8q9b9y:P:`:r;Q;[;d;k]>^o4OP>X>Y>]>^Q,U&]Q1h,WQ5s1gR8h5tV*n$|*Z*oU*n$|*Z*oT5z1o5{S0P*i/nQ4w0]T8S4z:]Q+j%xQ0V*lQ1O+kQ1u,aQ6W1vQ8v6XQ:c8wR;^:d!U%Oi$d%O%Q%^%_%c*R*T*a*w*x/P/x0`0b0i0j0o4_5Q8V9p>P>X>Yx*R$v)e*S*u+V/v0d0e4R4g5R5S5W7p8U:R:x=p=}>OS0`*t0a#f]>^nZ>[`=T3}7c7f7j9h:t:w;yS=_.l3iT=`7e9k!U%Qi$d%O%Q%^%_%c*R*T*a*w*x/P/x0`0b0i0j0o4_5Q8V9p>P>X>Y|*T$v)e*U*t+V/g/v0d0e4R4g4|5R5S5W7p8U:R:x=p=}>OS0b*u0c#f]>^nZ>[d=V3}7d7e7j9h9i:t:u:w;yS=a.m3jT=b7f9lrnOXst!V!Z#d%m&i&r&t&u&w,s,x2[2_Q&f!UR,p&ornOXst!V!Z#d%m&i&r&t&u&w,s,x2[2_R&f!UQ,Y&^R1d,RsnOXst!V!Z#d%m&i&r&t&u&w,s,x2[2_Q1p,_S6R1s1tU8p6P6Q6US:_8r8sS;Y:^:aQ;m;ZR;w;nQ&m!VR,i&iR6_1|R:f8yW&Q|&V&W,OR1Z+vQ&r!WR,s&sR,y&xT2],x2_R,}&yQ,|&yR2f,}Q'y!{R-y'ySsOtQ#dXT%ps#dQ#OTR'{#OQ#RUR'}#RQ){$uR/`){Q#UVR(Q#UQ#XWU(W#X(X.QQ(X#YR.Q(YQ-^'YR2r-^Q.u(yS3m.u3nR3n.vQ-e'`R2v-eY!rQ'`-e1o5{R'j!rQ/Q)eR4S/QU#_W%h*YU(_#_(`.RQ(`#`R.R(ZQ-a']R2t-at`OXst!V!Z#d%m&i&k&r&t&u&w,s,x2[2_S#hZ%eU#r`#h.[R.[(jQ(k#jQ.X(gW.a(k.X3X7RQ3X.YR7R3YQ)n$lR/W)nQ$phR)t$pQ$`cU)a$`-|O>Z>[Q/z*eU4k/z4m7xQ4m/|R7x4lS*o$|*ZR0Y*ox*S$v)e*t*u+V/v0d0e4R4g5R5S5W7p8U:R:x=p=}>O!d.j(u)c*[*e.l.m.q/_/k/|0v1e3h4[4h4l5r7]7`7w7z8X8Z9t9|:S:};R;e;j;v>Z>[U/h*S.j7ca7c3}7e7f7j9h:t:w;yQ0a*tQ3i.lU4}0a3i9kR9k7e|*U$v)e*t*u+V/g/v0d0e4R4g4|5R5S5W7p8U:R:x=p=}>O!h.k(u)c*[*e.l.m.q/_/k/|0v1e3f3h4[4h4l5r7]7^7`7w7z8X8Z9t9|:S:};R;e;j;v>Z>[U/j*U.k7de7d3}7e7f7j9h9i:t:u:w;yQ0c*uQ3j.mU5P0c3j9lR9l7fQ*z%UR0g*zQ5]0vR8Y5]Q+_%kR0u+_Q5v1jS8j5v:[R:[8kQ,[&_R1m,[Q5{1oR8m5{Q1{,fS6]1{8zR8z6_Q1U+rW5h1U5j8a:VQ5j1XQ8a5iR:V8bQ+w&QR1[+wQ2_,xR6m2_YrOXst#dQ&v!ZQ+a%mQ,r&rQ,t&tQ,u&uQ,w&wQ2Y,sS2],x2_R6l2[Q%opQ&z!_Q&}!aQ'P!bQ'R!cQ'q!uQ+`%lQ+l%zQ,Q&XQ,h&mQ-P&|W-p'k's't'wQ-w'oQ0X*nQ1P+mQ1c,PS2O,i,lQ2g-OQ2h-RQ2i-SQ2}-oW3P-r-s-v-xQ5a1QQ5m1_Q5q1eQ6V1uQ6a2QQ6k2ZU6z3O3R3UQ6}3SQ8]5bQ8e5oQ8g5rQ8l5zQ8u6WQ8{6`S9[6{7PQ9^7OQ:W8cQ:b8vQ:g8|Q:n9]Q;U:XQ;]:cQ;a:oQ;l;VR;o;^Q%zyQ'd!iQ'o!uU+m%{%|%}Q-W'VU-k'e'f'gS-o'k'uQ0Q*jS1Q+n+oQ2o-YS2{-l-mQ3S-tS4p0R0UQ5b1RQ6v2uQ6y2|Q7O3TU7{4r4s4vQ9z7}R;O9{S$wi>PR*{%VU%Ui%V>PR0f*yQ$viS(u#v+iS)c$b$cQ)e$dQ*[$xS*e${*YQ*t%OQ*u%QQ+Q%^Q+R%_Q+V%cQ.lPQ=}>XQ>O>YQ>Z>]R>[>^Q+O%]Q.nSR#[WR'Z!el!tQ!r!v!y!z'`'l'm'n-e-u1o5{5}S'V!e-]U*j$|*Z*oS-Y'W'_S0U*k*qQ0^*rQ2u-cQ4v0[R4{0_R({#xQ!fQT-d'`-e]!qQ!r'`-e1o5{Q#p]R'i < TypeParamList in out const TypeDefinition extends ThisType this LiteralType ArithOp Number BooleanLiteral TemplateType InterpolationEnd Interpolation InterpolationStart NullType null VoidType void TypeofType typeof MemberExpression . PropertyName [ TemplateString Escape Interpolation super RegExp ] ArrayExpression Spread , } { ObjectExpression Property async get set PropertyDefinition Block : NewTarget new NewExpression ) ( ArgList UnaryExpression delete LogicOp BitOp YieldExpression yield AwaitExpression await ParenthesizedExpression ClassExpression class ClassBody MethodDeclaration Decorator @ MemberExpression PrivatePropertyName CallExpression TypeArgList CompareOp < declare Privacy static abstract override PrivatePropertyDefinition PropertyDeclaration readonly accessor Optional TypeAnnotation Equals StaticBlock FunctionExpression ArrowFunction ParamList ParamList ArrayPattern ObjectPattern PatternProperty Privacy readonly Arrow MemberExpression BinaryExpression ArithOp ArithOp ArithOp ArithOp BitOp CompareOp instanceof satisfies CompareOp BitOp BitOp BitOp LogicOp LogicOp ConditionalExpression LogicOp LogicOp AssignmentExpression UpdateOp PostfixExpression CallExpression InstantiationExpression TaggedTemplateExpression DynamicImport import ImportMeta JSXElement JSXSelfCloseEndTag JSXSelfClosingTag JSXIdentifier JSXBuiltin JSXIdentifier JSXNamespacedName JSXMemberExpression JSXSpreadAttribute JSXAttribute JSXAttributeValue JSXEscape JSXEndTag JSXOpenTag JSXFragmentTag JSXText JSXEscape JSXStartCloseTag JSXCloseTag PrefixCast < ArrowFunction TypeParamList SequenceExpression InstantiationExpression KeyofType keyof UniqueType unique ImportType InferredType infer TypeName ParenthesizedType FunctionSignature ParamList NewSignature IndexedType TupleType Label ArrayType ReadonlyType ObjectType MethodType PropertyType IndexSignature PropertyDefinition CallSignature TypePredicate asserts is NewSignature new UnionType LogicOp IntersectionType LogicOp ConditionalType ParameterizedType ClassDeclaration abstract implements type VariableDeclaration let var using TypeAliasDeclaration InterfaceDeclaration interface EnumDeclaration enum EnumBody NamespaceDeclaration namespace module AmbientDeclaration declare GlobalDeclaration global ClassDeclaration ClassBody AmbientFunctionDeclaration ExportGroup VariableName VariableName ImportDeclaration defer ImportGroup ForStatement for ForSpec ForInSpec ForOfSpec of WhileStatement while WithStatement with DoStatement do IfStatement if else SwitchStatement switch SwitchBody CaseLabel case DefaultLabel TryStatement try CatchClause catch FinallyClause finally ReturnStatement return ThrowStatement throw BreakStatement break ContinueStatement continue DebuggerStatement debugger LabeledStatement ExpressionStatement SingleExpression SingleClassItem",maxTerm:380,context:xf,nodeProps:[["isolate",-8,5,6,14,37,39,51,53,55,""],["group",-26,9,17,19,68,207,211,215,216,218,221,224,234,237,243,245,247,249,252,258,264,266,268,270,272,274,275,"Statement",-34,13,14,32,35,36,42,51,54,55,57,62,70,72,76,80,82,84,85,110,111,120,121,136,139,141,142,143,144,145,147,148,167,169,171,"Expression",-23,31,33,37,41,43,45,173,175,177,178,180,181,182,184,185,186,188,189,190,201,203,205,206,"Type",-3,88,103,109,"ClassItem"],["openedBy",23,"<",38,"InterpolationStart",56,"[",60,"{",73,"(",160,"JSXStartCloseTag"],["closedBy",-2,24,168,">",40,"InterpolationEnd",50,"]",61,"}",74,")",165,"JSXEndTag"]],propSources:[Yf],skippedNodes:[0,5,6,278],repeatNodeCount:37,tokenData:"$Fq07[R!bOX%ZXY+gYZ-yZ[+g[]%Z]^.c^p%Zpq+gqr/mrs3cst:_tuEruvJSvwLkwx! Yxy!'iyz!(sz{!)}{|!,q|}!.O}!O!,q!O!P!/Y!P!Q!9j!Q!R#:O!R![#<_![!]#I_!]!^#Jk!^!_#Ku!_!`$![!`!a$$v!a!b$*T!b!c$,r!c!}Er!}#O$-|#O#P$/W#P#Q$4o#Q#R$5y#R#SEr#S#T$7W#T#o$8b#o#p$x#r#s$@U#s$f%Z$f$g+g$g#BYEr#BY#BZ$A`#BZ$ISEr$IS$I_$A`$I_$I|Er$I|$I}$Dk$I}$JO$Dk$JO$JTEr$JT$JU$A`$JU$KVEr$KV$KW$A`$KW&FUEr&FU&FV$A`&FV;'SEr;'S;=`I|<%l?HTEr?HT?HU$A`?HUOEr(n%d_$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z&j&hT$i&jO!^&c!_#o&c#p;'S&c;'S;=`&w<%lO&c&j&zP;=`<%l&c'|'U]$i&j(Z!bOY&}YZ&cZw&}wx&cx!^&}!^!_'}!_#O&}#O#P&c#P#o&}#o#p'}#p;'S&};'S;=`(l<%lO&}!b(SU(Z!bOY'}Zw'}x#O'}#P;'S'};'S;=`(f<%lO'}!b(iP;=`<%l'}'|(oP;=`<%l&}'[(y]$i&j(WpOY(rYZ&cZr(rrs&cs!^(r!^!_)r!_#O(r#O#P&c#P#o(r#o#p)r#p;'S(r;'S;=`*a<%lO(rp)wU(WpOY)rZr)rs#O)r#P;'S)r;'S;=`*Z<%lO)rp*^P;=`<%l)r'[*dP;=`<%l(r#S*nX(Wp(Z!bOY*gZr*grs'}sw*gwx)rx#O*g#P;'S*g;'S;=`+Z<%lO*g#S+^P;=`<%l*g(n+dP;=`<%l%Z07[+rq$i&j(Wp(Z!b'|0/lOX%ZXY+gYZ&cZ[+g[p%Zpq+gqr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p$f%Z$f$g+g$g#BY%Z#BY#BZ+g#BZ$IS%Z$IS$I_+g$I_$JT%Z$JT$JU+g$JU$KV%Z$KV$KW+g$KW&FU%Z&FU&FV+g&FV;'S%Z;'S;=`+a<%l?HT%Z?HT?HU+g?HUO%Z07[.ST(X#S$i&j'}0/lO!^&c!_#o&c#p;'S&c;'S;=`&w<%lO&c07[.n_$i&j(Wp(Z!b'}0/lOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z)3p/x`$i&j!p),Q(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`0z!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z(KW1V`#v(Ch$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`2X!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z(KW2d_#v(Ch$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'At3l_(V':f$i&j(Z!bOY4kYZ5qZr4krs7nsw4kwx5qx!^4k!^!_8p!_#O4k#O#P5q#P#o4k#o#p8p#p;'S4k;'S;=`:X<%lO4k(^4r_$i&j(Z!bOY4kYZ5qZr4krs7nsw4kwx5qx!^4k!^!_8p!_#O4k#O#P5q#P#o4k#o#p8p#p;'S4k;'S;=`:X<%lO4k&z5vX$i&jOr5qrs6cs!^5q!^!_6y!_#o5q#o#p6y#p;'S5q;'S;=`7h<%lO5q&z6jT$d`$i&jO!^&c!_#o&c#p;'S&c;'S;=`&w<%lO&c`6|TOr6yrs7]s;'S6y;'S;=`7b<%lO6y`7bO$d``7eP;=`<%l6y&z7kP;=`<%l5q(^7w]$d`$i&j(Z!bOY&}YZ&cZw&}wx&cx!^&}!^!_'}!_#O&}#O#P&c#P#o&}#o#p'}#p;'S&};'S;=`(l<%lO&}!r8uZ(Z!bOY8pYZ6yZr8prs9hsw8pwx6yx#O8p#O#P6y#P;'S8p;'S;=`:R<%lO8p!r9oU$d`(Z!bOY'}Zw'}x#O'}#P;'S'};'S;=`(f<%lO'}!r:UP;=`<%l8p(^:[P;=`<%l4k%9[:hh$i&j(Wp(Z!bOY%ZYZ&cZq%Zqr`#P#o`x!^=^!^!_?q!_#O=^#O#P>`#P#o=^#o#p?q#p;'S=^;'S;=`@h<%lO=^&n>gXWS$i&jOY>`YZ&cZ!^>`!^!_?S!_#o>`#o#p?S#p;'S>`;'S;=`?k<%lO>`S?XSWSOY?SZ;'S?S;'S;=`?e<%lO?SS?hP;=`<%l?S&n?nP;=`<%l>`!f?xWWS(Z!bOY?qZw?qwx?Sx#O?q#O#P?S#P;'S?q;'S;=`@b<%lO?q!f@eP;=`<%l?q(Q@kP;=`<%l=^'`@w]WS$i&j(WpOY@nYZ&cZr@nrs>`s!^@n!^!_Ap!_#O@n#O#P>`#P#o@n#o#pAp#p;'S@n;'S;=`Bg<%lO@ntAwWWS(WpOYApZrAprs?Ss#OAp#O#P?S#P;'SAp;'S;=`Ba<%lOAptBdP;=`<%lAp'`BjP;=`<%l@n#WBvYWS(Wp(Z!bOYBmZrBmrs?qswBmwxApx#OBm#O#P?S#P;'SBm;'S;=`Cf<%lOBm#WCiP;=`<%lBm(rCoP;=`<%l^!Q^$i&j!X7`OY!=yYZ&cZ!P!=y!P!Q!>|!Q!^!=y!^!_!@c!_!}!=y!}#O!CW#O#P!Dy#P#o!=y#o#p!@c#p;'S!=y;'S;=`!Ek<%lO!=y|#X#Z&c#Z#[!>|#[#]&c#]#^!>|#^#a&c#a#b!>|#b#g&c#g#h!>|#h#i&c#i#j!>|#j#k!>|#k#m&c#m#n!>|#n#o&c#p;'S&c;'S;=`&w<%lO&c7`!@hX!X7`OY!@cZ!P!@c!P!Q!AT!Q!}!@c!}#O!Ar#O#P!Bq#P;'S!@c;'S;=`!CQ<%lO!@c7`!AYW!X7`#W#X!AT#Z#[!AT#]#^!AT#a#b!AT#g#h!AT#i#j!AT#j#k!AT#m#n!AT7`!AuVOY!ArZ#O!Ar#O#P!B[#P#Q!@c#Q;'S!Ar;'S;=`!Bk<%lO!Ar7`!B_SOY!ArZ;'S!Ar;'S;=`!Bk<%lO!Ar7`!BnP;=`<%l!Ar7`!BtSOY!@cZ;'S!@c;'S;=`!CQ<%lO!@c7`!CTP;=`<%l!@c^!Ezl$i&j(Z!b!X7`OY&}YZ&cZw&}wx&cx!^&}!^!_'}!_#O&}#O#P&c#P#W&}#W#X!Eq#X#Z&}#Z#[!Eq#[#]&}#]#^!Eq#^#a&}#a#b!Eq#b#g&}#g#h!Eq#h#i&}#i#j!Eq#j#k!Eq#k#m&}#m#n!Eq#n#o&}#o#p'}#p;'S&};'S;=`(l<%lO&}8r!GyZ(Z!b!X7`OY!GrZw!Grwx!@cx!P!Gr!P!Q!Hl!Q!}!Gr!}#O!JU#O#P!Bq#P;'S!Gr;'S;=`!J|<%lO!Gr8r!Hse(Z!b!X7`OY'}Zw'}x#O'}#P#W'}#W#X!Hl#X#Z'}#Z#[!Hl#[#]'}#]#^!Hl#^#a'}#a#b!Hl#b#g'}#g#h!Hl#h#i'}#i#j!Hl#j#k!Hl#k#m'}#m#n!Hl#n;'S'};'S;=`(f<%lO'}8r!JZX(Z!bOY!JUZw!JUwx!Arx#O!JU#O#P!B[#P#Q!Gr#Q;'S!JU;'S;=`!Jv<%lO!JU8r!JyP;=`<%l!JU8r!KPP;=`<%l!Gr>^!KZ^$i&j(Z!bOY!KSYZ&cZw!KSwx!CWx!^!KS!^!_!JU!_#O!KS#O#P!DR#P#Q!^!LYP;=`<%l!KS>^!L`P;=`<%l!_#c#d#Bq#d#l%Z#l#m#Es#m#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad#_#c#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad#>j_$i&j(Wp(Z!bs'9tOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad#?rd$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q!R#AQ!R!S#AQ!S!^%Z!^!_*g!_#O%Z#O#P&c#P#R%Z#R#S#AQ#S#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad#A]f$i&j(Wp(Z!bs'9tOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q!R#AQ!R!S#AQ!S!^%Z!^!_*g!_#O%Z#O#P&c#P#R%Z#R#S#AQ#S#b%Z#b#c#>_#c#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad#Bzc$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q!Y#DV!Y!^%Z!^!_*g!_#O%Z#O#P&c#P#R%Z#R#S#DV#S#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad#Dbe$i&j(Wp(Z!bs'9tOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q!Y#DV!Y!^%Z!^!_*g!_#O%Z#O#P&c#P#R%Z#R#S#DV#S#b%Z#b#c#>_#c#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad#E|g$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q![#Ge![!^%Z!^!_*g!_!c%Z!c!i#Ge!i#O%Z#O#P&c#P#R%Z#R#S#Ge#S#T%Z#T#Z#Ge#Z#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad#Gpi$i&j(Wp(Z!bs'9tOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q![#Ge![!^%Z!^!_*g!_!c%Z!c!i#Ge!i#O%Z#O#P&c#P#R%Z#R#S#Ge#S#T%Z#T#Z#Ge#Z#b%Z#b#c#>_#c#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z*)x#Il_!g$b$i&j$O)Lv(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z)[#Jv_al$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z04f#LS^h#)`#R-v$?V_!^(CdvBr$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z?O$@a_!q7`$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z07[$Aq|$i&j(Wp(Z!b'|0/l$]#t(T,2j(e$I[OX%ZXY+gYZ&cZ[+g[p%Zpq+gqr%Zrs&}st%ZtuEruw%Zwx(rx}%Z}!OGv!O!Q%Z!Q![Er![!^%Z!^!_*g!_!c%Z!c!}Er!}#O%Z#O#P&c#P#R%Z#R#SEr#S#T%Z#T#oEr#o#p*g#p$f%Z$f$g+g$g#BYEr#BY#BZ$A`#BZ$ISEr$IS$I_$A`$I_$JTEr$JT$JU$A`$JU$KVEr$KV$KW$A`$KW&FUEr&FU&FV$A`&FV;'SEr;'S;=`I|<%l?HTEr?HT?HU$A`?HUOEr07[$D|k$i&j(Wp(Z!b'}0/l$]#t(T,2j(e$I[OY%ZYZ&cZr%Zrs&}st%ZtuEruw%Zwx(rx}%Z}!OGv!O!Q%Z!Q![Er![!^%Z!^!_*g!_!c%Z!c!}Er!}#O%Z#O#P&c#P#R%Z#R#SEr#S#T%Z#T#oEr#o#p*g#p$g%Z$g;'SEr;'S;=`I|<%lOEr",tokenizers:[kf,Zf,Rf,_f,2,3,4,5,6,7,8,9,10,11,12,13,14,Xf,new af("$S~RRtu[#O#Pg#S#T#|~_P#o#pb~gOx~~jVO#i!P#i#j!U#j#l!P#l#m!q#m;'S!P;'S;=`#v<%lO!P~!UO!U~~!XS!Q![!e!c!i!e#T#Z!e#o#p#Z~!hR!Q![!q!c!i!q#T#Z!q~!tR!Q![!}!c!i!}#T#Z!}~#QR!Q![!P!c!i!P#T#Z!P~#^R!Q![#g!c!i#g#T#Z#g~#jS!Q![#g!c!i#g#T#Z#g#q#r!P~#yP;=`<%l!P~$RO(c~~",141,340),new af("j~RQYZXz{^~^O(Q~~aP!P!Qd~iO(R~~",25,323)],topRules:{Script:[0,7],SingleExpression:[1,276],SingleClassItem:[2,277]},dialects:{jsx:0,ts:15175},dynamicPrecedences:{80:1,82:1,94:1,169:1,199:1},specialized:[{term:327,get:e=>Vf[e]||-1},{term:343,get:e=>qf[e]||-1},{term:95,get:e=>Wf[e]||-1}],tokenPrec:15201}),jf=[Bu("function ${name}(${params}) {\n\t${}\n}",{label:"function",detail:"definition",type:"keyword"}),Bu("for (let ${index} = 0; ${index} < ${bound}; ${index}++) {\n\t${}\n}",{label:"for",detail:"loop",type:"keyword"}),Bu("for (let ${name} of ${collection}) {\n\t${}\n}",{label:"for",detail:"of loop",type:"keyword"}),Bu("do {\n\t${}\n} while (${})",{label:"do",detail:"loop",type:"keyword"}),Bu("while (${}) {\n\t${}\n}",{label:"while",detail:"loop",type:"keyword"}),Bu("try {\n\t${}\n} catch (${error}) {\n\t${}\n}",{label:"try",detail:"/ catch block",type:"keyword"}),Bu("if (${}) {\n\t${}\n}",{label:"if",detail:"block",type:"keyword"}),Bu("if (${}) {\n\t${}\n} else {\n\t${}\n}",{label:"if",detail:"/ else block",type:"keyword"}),Bu("class ${name} {\n\tconstructor(${params}) {\n\t\t${}\n\t}\n}",{label:"class",detail:"definition",type:"keyword"}),Bu('import {${names}} from "${module}"\n${}',{label:"import",detail:"named",type:"keyword"}),Bu('import ${name} from "${module}"\n${}',{label:"import",detail:"default",type:"keyword"})],Gf=jf.concat([Bu("interface ${name} {\n\t${}\n}",{label:"interface",detail:"definition",type:"keyword"}),Bu("type ${name} = ${type}",{label:"type",detail:"definition",type:"keyword"}),Bu("enum ${name} {\n\t${}\n}",{label:"enum",detail:"definition",type:"keyword"})]),Cf=new Vo,Af=new Set(["Script","Block","FunctionExpression","FunctionDeclaration","ArrowFunction","MethodDeclaration","ForStatement"]);function Ef(e){return(t,i)=>{let O=t.node.getChild("VariableDefinition");return O&&i(O,e),!0}}const Mf=["FunctionDeclaration"],Df={FunctionDeclaration:Ef("function"),ClassDeclaration:Ef("class"),ClassExpression:()=>!0,EnumDeclaration:Ef("constant"),TypeAliasDeclaration:Ef("type"),NamespaceDeclaration:Ef("namespace"),VariableDefinition(e,t){e.matchContext(Mf)||t(e,"variable")},TypeDefinition(e,t){t(e,"type")},__proto__:null};function Lf(e,t){let i=Cf.get(t);if(i)return i;let O=[],n=!0;function r(t,i){let n=e.sliceString(t.from,t.to);O.push({label:n,type:i})}return t.cursor(po.IncludeAnonymous).iterate(t=>{if(n)n=!1;else if(t.name){let e=Df[t.name];if(e&&e(t,r)||Af.has(t.name))return!1}else if(t.to-t.from>8192){for(let i of Lf(e,t.node))O.push(i);return!1}}),Cf.set(t,O),O}const If=/^[\w$\xa1-\uffff][\w$\d\xa1-\uffff]*$/,Nf=["TemplateString","String","RegExp","LineComment","BlockComment","VariableDefinition","TypeDefinition","Label","PropertyDefinition","PropertyName","PrivatePropertyDefinition","PrivatePropertyName","JSXText","JSXAttributeValue","JSXOpenTag","JSXCloseTag","JSXSelfClosingTag",".","?."];function Bf(e){let t=za(e.state).resolveInner(e.pos,-1);if(Nf.indexOf(t.name)>-1)return null;let i="VariableName"==t.name||t.to-t.from<20&&If.test(e.state.sliceDoc(t.from,t.to));if(!i&&!e.explicit)return null;let O=[];for(let i=t;i;i=i.parent)Af.has(i.name)&&(O=O.concat(Lf(e.state.doc,i)));return{options:O,from:i?t.from:e.pos,validFor:If}}const Ff=Ra.define({name:"javascript",parser:Uf.configure({props:[Ba.add({IfStatement:Ol({except:/^\s*({|else\b)/}),TryStatement:Ol({except:/^\s*({|catch\b|finally\b)/}),LabeledStatement:e=>e.baseIndent,SwitchBody:e=>{let t=e.textAfter,i=/^\s*\}/.test(t),O=/^\s*(case|default)\b/.test(t);return e.baseIndent+(i?0:O?1:2)*e.unit},Block:tl({closing:"}"}),ArrowFunction:e=>e.baseIndent+e.unit,"TemplateString BlockComment":()=>null,"Statement Property":Ol({except:/^\s*{/}),JSXElement(e){let t=/^\s*<\//.test(e.textAfter);return e.lineIndent(e.node.from)+(t?0:e.unit)},JSXEscape(e){let t=/\s*\}/.test(e.textAfter);return e.lineIndent(e.node.from)+(t?0:e.unit)},"JSXOpenTag JSXSelfClosingTag":e=>e.column(e.node.from)+e.unit}),rl.add({"Block ClassBody SwitchBody EnumBody ObjectExpression ArrayExpression ObjectType":sl,BlockComment:e=>({from:e.from+2,to:e.to-2}),JSXElement(e){let t=e.firstChild;if(!t||"JSXSelfClosingTag"==t.name)return null;let i=e.lastChild;return{from:t.to,to:i.type.isError?e.to:i.from}},"JSXSelfClosingTag JSXOpenTag"(e){var t;let i=null===(t=e.firstChild)||void 0===t?void 0:t.nextSibling,O=e.lastChild;return!i||i.type.isError?null:{from:i.to,to:O.type.isError?e.to:O.from}}})]}),languageData:{closeBrackets:{brackets:["(","[","{","'",'"',"`"]},commentTokens:{line:"//",block:{open:"/*",close:"*/"}},indentOnInput:/^\s*(?:case |default:|\{|\}|<\/)$/,wordChars:"$"}}),Hf={test:e=>/^JSX/.test(e.name),facet:xa({commentTokens:{block:{open:"{/*",close:"*/}"}}})},Kf=Ff.configure({dialect:"ts"},"typescript"),Jf=Ff.configure({dialect:"jsx",props:[Xa.add(e=>e.isTop?[Hf]:void 0)]}),ep=Ff.configure({dialect:"jsx ts",props:[Xa.add(e=>e.isTop?[Hf]:void 0)]},"typescript");let tp=e=>({label:e,type:"keyword"});const ip="break case const continue default delete export extends false finally in instanceof let new return static super switch this throw true typeof var yield".split(" ").map(tp),Op=ip.concat(["declare","implements","private","protected","public"].map(tp));function np(e={}){let t=e.jsx?e.typescript?ep:Jf:e.typescript?Kf:Ff,i=e.typescript?Gf.concat(Op):jf.concat(ip);return new Aa(t,[Ff.data.of({autocomplete:Nd(Nf,Id(i))}),Ff.data.of({autocomplete:Bf}),e.jsx?op:[]])}function rp(e,t,i=e.length){for(let O=null==t?void 0:t.firstChild;O;O=O.nextSibling)if("JSXIdentifier"==O.name||"JSXBuiltin"==O.name||"JSXNamespacedName"==O.name||"JSXMemberExpression"==O.name)return e.sliceString(O.from,Math.min(O.to,i));return""}const sp="object"==typeof navigator&&/Android\b/.test(navigator.userAgent),op=ar.inputHandler.of((e,t,i,O,n)=>{if((sp?e.composing:e.compositionStarted)||e.state.readOnly||t!=i||">"!=O&&"/"!=O||!Ff.isActiveAt(e.state,t,-1))return!1;let r=n(),{state:s}=r,o=s.changeByRange(e=>{var t;let i,{head:n}=e,r=za(s).resolveInner(n-1,-1);if("JSXStartTag"==r.name&&(r=r.parent),s.doc.sliceString(n-1,n)!=O||"JSXAttributeValue"==r.name&&r.to>n);else{if(">"==O&&"JSXFragmentTag"==r.name)return{range:e,changes:{from:n,insert:""}};if("/"==O&&"JSXStartCloseTag"==r.name){let e=r.parent,O=e.parent;if(O&&e.from==n-2&&((i=rp(s.doc,O.firstChild,n))||"JSXFragmentTag"==(null===(t=O.firstChild)||void 0===t?void 0:t.name))){let e=`${i}>`;return{range:q.cursor(n+e.length,-1),changes:{from:n,insert:e}}}}else if(">"==O){let t=function(e){for(;;){if("JSXOpenTag"==e.name||"JSXSelfClosingTag"==e.name||"JSXFragmentTag"==e.name)return e;if("JSXEscape"==e.name||!e.parent)return null;e=e.parent}}(r);if(t&&"JSXOpenTag"==t.name&&!/^\/?>|^<\//.test(s.doc.sliceString(n,n+2))&&(i=rp(s.doc,t,n)))return{range:e,changes:{from:n,insert:``}}}}return{range:e}});return!o.changes.empty&&(e.dispatch([r,s.update(o,{userEvent:"input.complete",scrollIntoView:!0})]),!0)}),ap=10,lp=new Set([25,49,50,263,65,130,56,57,238,62,63,72,73,77,60,61,151,152,155,112]);function hp(e){return e==ap||13==e}function cp(e){return e>=48&&e<=57||e>=65&&e<=70||e>=97&&e<=102}const dp=new lf((e,t)=>{let i;if(e.next<0)e.acceptToken(199);else if(t.context.flags&$p)hp(e.next)&&e.acceptToken(198,1);else if(((i=e.peek(-1))<0||hp(i))&&t.canShift(197)){let t=0;for(;32==e.next||9==e.next;)e.advance(),t++;e.next!=ap&&13!=e.next&&35!=e.next||e.acceptToken(197,-t)}else hp(e.next)&&e.acceptToken(196,1)},{contextual:!0}),up=new lf((e,t)=>{let i=t.context;if(i.flags)return;let O=e.peek(-1);if(O==ap||13==O){let t=0,O=0;for(;;){if(32==e.next)t++;else{if(9!=e.next)break;t+=8-t%8}e.advance(),O++}t!=i.indent&&e.next!=ap&&13!=e.next&&35!=e.next&&(t[e,2|t])),Tp=new Tf({start:Sp,reduce:(e,t,i,O)=>e.flags&$p&&lp.has(t)||(71==t||72==t)&&2&e.flags?e.parent:e,shift:(e,t,i,O)=>194==t?new gp(e,function(e){let t=0;for(let i=0;ie.hash}),yp=new lf(e=>{for(let t=0;t<5;t++){if(e.next!="print".charCodeAt(t))return;e.advance()}if(!/\w/.test(String.fromCharCode(e.next)))for(let t=0;;t++){let i=e.peek(t);if(32!=i&&9!=i)return void(40!=i&&46!=i&&i!=ap&&13!=i&&35!=i&&e.acceptToken(1))}}),vp=new lf((e,t)=>{let{flags:i}=t.context,O=i&fp?34:39,n=(i&pp)>0,r=!(i&Qp),s=(i&mp)>0,o=e.pos;for(;!(e.next<0);)if(s&&123==e.next){if(123!=e.peek(1)){if(e.pos==o)return void e.acceptToken(3,1);break}e.advance(2)}else{if(r&&92==e.next){if(e.pos==o){e.advance();let t=e.next;return t>=0&&(e.advance(),wp(e,t)),void e.acceptToken(2)}break}if(92==e.next&&!r&&e.peek(1)>-1)e.advance(2);else{if(e.next==O&&(!n||e.peek(1)==O&&e.peek(2)==O)){if(e.pos==o)return void e.acceptToken(201,n?3:1);break}if(e.next==ap){if(n)e.advance();else if(e.pos==o)return void e.acceptToken(201);break}e.advance()}}e.pos>o&&e.acceptToken(200)});function wp(e,t){if(111==t)for(let t=0;t<2&&e.next>=48&&e.next<=55;t++)e.advance();else if(120==t)for(let t=0;t<2&&cp(e.next);t++)e.advance();else if(117==t)for(let t=0;t<4&&cp(e.next);t++)e.advance();else if(85==t)for(let t=0;t<8&&cp(e.next);t++)e.advance();else if(78==t&&123==e.next){for(e.advance();e.next>=0&&125!=e.next&&39!=e.next&&34!=e.next&&e.next!=ap;)e.advance();125==e.next&&e.advance()}}const bp=Oa({'async "*" "**" FormatConversion FormatSpec':va.modifier,"for while if elif else try except finally return raise break continue with pass assert await yield match case":va.controlKeyword,"in not and or is del":va.operatorKeyword,"from def class global nonlocal lambda":va.definitionKeyword,import:va.moduleKeyword,"with as print":va.keyword,Boolean:va.bool,None:va.null,VariableName:va.variableName,"CallExpression/VariableName":va.function(va.variableName),"FunctionDefinition/VariableName":va.function(va.definition(va.variableName)),"ClassDefinition/VariableName":va.definition(va.className),PropertyName:va.propertyName,"CallExpression/MemberExpression/PropertyName":va.function(va.propertyName),Comment:va.lineComment,Number:va.number,String:va.string,FormatString:va.special(va.string),Escape:va.escape,UpdateOp:va.updateOperator,"ArithOp!":va.arithmeticOperator,BitOp:va.bitwiseOperator,CompareOp:va.compareOperator,AssignOp:va.definitionOperator,Ellipsis:va.punctuation,At:va.meta,"( )":va.paren,"[ ]":va.squareBracket,"{ }":va.brace,".":va.derefOperator,", ;":va.separator}),xp={__proto__:null,await:44,or:54,and:56,in:60,not:62,is:64,if:70,else:72,lambda:76,yield:94,from:96,async:102,for:104,None:162,True:164,False:164,del:178,pass:182,break:186,continue:190,return:194,raise:202,import:206,as:208,global:212,nonlocal:214,assert:218,type:223,elif:236,while:240,try:246,except:248,finally:250,with:254,def:258,class:268,match:279,case:285},Xp=yf.deserialize({version:14,states:"##jQ`QeOOP$}OSOOO&WQtO'#HUOOQS'#Co'#CoOOQS'#Cp'#CpO'vQdO'#CnO*UQtO'#HTOOQS'#HU'#HUOOQS'#DU'#DUOOQS'#HT'#HTO*rQdO'#D_O+VQdO'#DfO+gQdO'#DjO+zOWO'#DuO,VOWO'#DvO.[QtO'#GuOOQS'#Gu'#GuO'vQdO'#GtO0ZQtO'#GtOOQS'#Eb'#EbO0rQdO'#EcOOQS'#Gs'#GsO0|QdO'#GrOOQV'#Gr'#GrO1XQdO'#FYOOQS'#G^'#G^O1^QdO'#FXOOQV'#IS'#ISOOQV'#Gq'#GqOOQV'#Fq'#FqQ`QeOOO'vQdO'#CqO1lQdO'#C}O1sQdO'#DRO2RQdO'#HYO2cQtO'#EVO'vQdO'#EWOOQS'#EY'#EYOOQS'#E['#E[OOQS'#E^'#E^O2wQdO'#E`O3_QdO'#EdO3rQdO'#EfO3zQtO'#EfO1XQdO'#EiO0rQdO'#ElO1XQdO'#EnO0rQdO'#EtO0rQdO'#EwO4VQdO'#EyO4^QdO'#FOO4iQdO'#EzO0rQdO'#FOO1XQdO'#FQO1XQdO'#FVO4nQdO'#F[P4uOdO'#GpPOOO)CBd)CBdOOQS'#Ce'#CeOOQS'#Cf'#CfOOQS'#Cg'#CgOOQS'#Ch'#ChOOQS'#Ci'#CiOOQS'#Cj'#CjOOQS'#Cl'#ClO'vQdO,59OO'vQdO,59OO'vQdO,59OO'vQdO,59OO'vQdO,59OO'vQdO,59OO5TQdO'#DoOOQS,5:Y,5:YO5hQdO'#HdOOQS,5:],5:]O5uQ!fO,5:]O5zQtO,59YO1lQdO,59bO1lQdO,59bO1lQdO,59bO8jQdO,59bO8oQdO,59bO8vQdO,59jO8}QdO'#HTO:TQdO'#HSOOQS'#HS'#HSOOQS'#D['#D[O:lQdO,59aO'vQdO,59aO:zQdO,59aOOQS,59y,59yO;PQdO,5:RO'vQdO,5:ROOQS,5:Q,5:QO;_QdO,5:QO;dQdO,5:XO'vQdO,5:XO'vQdO,5:VOOQS,5:U,5:UO;uQdO,5:UO;zQdO,5:WOOOW'#Fy'#FyOOOOQS'#Ds'#DsOOQS1G/w1G/wOOQS1G.|1G.|O!/[QtO1G.|O!/cQtO1G.|O1lQdO1G.|O!0OQdO1G/UOOQS'#DZ'#DZO0rQdO,59tOOQS1G.{1G.{O!0VQdO1G/eO!0gQdO1G/eO!0oQdO1G/fO'vQdO'#H[O!0tQdO'#H[O!0yQtO1G.{O!1ZQdO,59iO!2aQdO,5=zO!2qQdO,5=zO!2yQdO1G/mO!3OQtO1G/mOOQS1G/l1G/lO!3`QdO,5=uO!4VQdO,5=uO0rQdO1G/qO!4tQdO1G/sO!4yQtO1G/sO!5ZQtO1G/qOOQS1G/p1G/pOOQS1G/r1G/rOOOW-E9w-E9wOOQS1G/{1G/{O!5kQdO'#HxO0rQdO'#HxO!5|QdO,5>cOOOW-E9x-E9xOOQS1G/|1G/|OOQS-E9{-E9{O!6[Q#xO1G2zO!6{QtO1G2zO'vQdO,5kOOQS1G1`1G1`O!8RQdO1G1`OOQS'#DV'#DVO0rQdO,5=qOOQS,5=q,5=qO!8WQdO'#FrO!8cQdO,59oO!8kQdO1G/XO!8uQtO,5=uOOQS1G3`1G3`OOQS,5:m,5:mO!9fQdO'#GtOOQS,5jO!;ZQdO,5>jO1XQdO,5>jO!;lQdO,5>iOOQS-E:R-E:RO!;qQdO1G0lO!;|QdO1G0lO!lO!lO!hO!=VQdO,5>hO!=hQdO'#EpO0rQdO1G0tO!=sQdO1G0tO!=xQgO1G0zO!AvQgO1G0}O!EqQdO,5>oO!E{QdO,5>oO!FTQtO,5>oO0rQdO1G1PO!F_QdO1G1PO4iQdO1G1UO!!vQdO1G1WOOQV,5;a,5;aO!FdQfO,5;aO!FiQgO1G1QO!JjQdO'#GZO4iQdO1G1QO4iQdO1G1QO!JzQdO,5>pO!KXQdO,5>pO1XQdO,5>pOOQV1G1U1G1UO!KaQdO'#FSO!KrQ!fO1G1WO!KzQdO1G1WOOQV1G1]1G1]O4iQdO1G1]O!LPQdO1G1]O!LXQdO'#F^OOQV1G1b1G1bO!#ZQtO1G1bPOOO1G2v1G2vP!L^OSO1G2vOOQS,5=},5=}OOQS'#Dp'#DpO0rQdO,5=}O!LfQdO,5=|O!LyQdO,5=|OOQS1G/u1G/uO!MRQdO,5>PO!McQdO,5>PO!MkQdO,5>PO!NOQdO,5>PO!N`QdO,5>POOQS1G3j1G3jOOQS7+$h7+$hO!8kQdO7+$pO#!RQdO1G.|O#!YQdO1G.|OOQS1G/`1G/`OOQS,5<`,5<`O'vQdO,5<`OOQS7+%P7+%PO#!aQdO7+%POOQS-E9r-E9rOOQS7+%Q7+%QO#!qQdO,5=vO'vQdO,5=vOOQS7+$g7+$gO#!vQdO7+%PO##OQdO7+%QO##TQdO1G3fOOQS7+%X7+%XO##eQdO1G3fO##mQdO7+%XOOQS,5<_,5<_O'vQdO,5<_O##rQdO1G3aOOQS-E9q-E9qO#$iQdO7+%]OOQS7+%_7+%_O#$wQdO1G3aO#%fQdO7+%_O#%kQdO1G3gO#%{QdO1G3gO#&TQdO7+%]O#&YQdO,5>dO#&sQdO,5>dO#&sQdO,5>dOOQS'#Dx'#DxO#'UO&jO'#DzO#'aO`O'#HyOOOW1G3}1G3}O#'fQdO1G3}O#'nQdO1G3}O#'yQ#xO7+(fO#(jQtO1G2UP#)TQdO'#GOOOQS,5nQdO,5sQdO1G4OOOQS-E9y-E9yO#?^QdO1G4OO<[QdO'#H{OOOO'#D{'#D{OOOO'#F|'#F|O#?oO&jO,5:fOOOW,5>e,5>eOOOW7+)i7+)iO#?zQdO7+)iO#@SQdO1G2zO#@mQdO1G2zP'vQdO'#FuO0rQdO<mO#BQQdO,5>mOOQS1G0v1G0vOOQS<rO#KgQdO,5>rO#KrQdO,5>rO#K}QdO,5>qO#L`QdO,5>qOOQS1G1Y1G1YOOQS,5;p,5;pOOQV<VAN>VO$ oQdO<cAN>cO0rQdO1G1|O$!PQtO1G1|P$!ZQdO'#FvOOQS1G2R1G2RP$!hQdO'#F{O$!uQdO7+)jO$#`QdO,5>gOOOO-E9z-E9zOOOW<tO$4{QdO,5>tO1XQdO,5vO$)nQdO,5>vOOQS1G1p1G1pOOQS,5<[,5<[OOQU7+'P7+'PO$+zQdO1G/iO$)nQdO,5wO$8zQdO,5>wOOQS1G1s1G1sOOQS7+'S7+'SP$)nQdO'#GdO$9SQdO1G4bO$9^QdO1G4bO$9fQdO1G4bOOQS7+%T7+%TO$9tQdO1G1tO$:SQtO'#FaO$:ZQdO,5<}OOQS,5<},5<}O$:iQdO1G4cOOQS-E:a-E:aO$)nQdO,5<|O$:pQdO,5<|O$:uQdO7+)|OOQS-E:`-E:`O$;PQdO7+)|O$)nQdO,5S~O%cOS%^OSSOS%]PQ~OPdOVaOfoOhYOopOs!POvqO!PrO!Q{O!T!SO!U!RO!XZO!][O!h`O!r`O!s`O!t`O!{tO!}uO#PvO#RwO#TxO#XyO#ZzO#^|O#_|O#a}O#c!OO#l!QO#o!TO#s!UO#u!VO#z!WO#}hO$P!XO%oRO%pRO%tSO%uWO&Z]O&[]O&]]O&^]O&_]O&`]O&a]O&b]O&c^O&d^O&e^O&f^O&g^O&h^O&i^O&j^O~O%]!YO~OV!aO_!aOa!bOh!iO!X!kO!f!mO%j![O%k!]O%l!^O%m!_O%n!_O%o!`O%p!`O%q!aO%r!aO%s!aO~Ok%xXl%xXm%xXn%xXo%xXp%xXs%xXz%xX{%xX!x%xX#g%xX%[%xX%_%xX%z%xXg%xX!T%xX!U%xX%{%xX!W%xX![%xX!Q%xX#[%xXt%xX!m%xX~P%SOfoOhYO!XZO!][O!h`O!r`O!s`O!t`O%oRO%pRO%tSO%uWO&Z]O&[]O&]]O&^]O&_]O&`]O&a]O&b]O&c^O&d^O&e^O&f^O&g^O&h^O&i^O&j^O~Oz%wX{%wX#g%wX%[%wX%_%wX%z%wX~Ok!pOl!qOm!oOn!oOo!rOp!sOs!tO!x%wX~P)pOV!zOg!|Oo0cOv0qO!PrO~P'vOV#OOo0cOv0qO!W#PO~P'vOV#SOa#TOo0cOv0qO![#UO~P'vOQ#XO%`#XO%a#ZO~OQ#^OR#[O%`#^O%a#`O~OV%iX_%iXa%iXh%iXk%iXl%iXm%iXn%iXo%iXp%iXs%iXz%iX!X%iX!f%iX%j%iX%k%iX%l%iX%m%iX%n%iX%o%iX%p%iX%q%iX%r%iX%s%iXg%iX!T%iX!U%iX~O&Z]O&[]O&]]O&^]O&_]O&`]O&a]O&b]O&c^O&d^O&e^O&f^O&g^O&h^O&i^O&j^O{%iX!x%iX#g%iX%[%iX%_%iX%z%iX%{%iX!W%iX![%iX!Q%iX#[%iXt%iX!m%iX~P,eOz#dO{%hX!x%hX#g%hX%[%hX%_%hX%z%hX~Oo0cOv0qO~P'vO#g#gO%[#iO%_#iO~O%uWO~O!T#nO#u!VO#z!WO#}hO~OopO~P'vOV#sOa#tO%uWO{wP~OV#xOo0cOv0qO!Q#yO~P'vO{#{O!x$QO%z#|O#g!yX%[!yX%_!yX~OV#xOo0cOv0qO#g#SX%[#SX%_#SX~P'vOo0cOv0qO#g#WX%[#WX%_#WX~P'vOh$WO%uWO~O!f$YO!r$YO%uWO~OV$eO~P'vO!U$gO#s$hO#u$iO~O{$jO~OV$qO~P'vOS$sO%[$rO%_$rO%c$tO~OV$}Oa$}Og%POo0cOv0qO~P'vOo0cOv0qO{%SO~P'vO&Y%UO~Oa!bOh!iO!X!kO!f!mOVba_bakbalbambanbaobapbasbazba{ba!xba#gba%[ba%_ba%jba%kba%lba%mba%nba%oba%pba%qba%rba%sba%zbagba!Tba!Uba%{ba!Wba![ba!Qba#[batba!mba~On%ZO~Oo%ZO~P'vOo0cO~P'vOk0eOl0fOm0dOn0dOo0mOp0nOs0rOg%wX!T%wX!U%wX%{%wX!W%wX![%wX!Q%wX#[%wX!m%wX~P)pO%{%]Og%vXz%vX!T%vX!U%vX!W%vX{%vX~Og%_Oz%`O!T%dO!U%cO~Og%_O~Oz%gO!T%dO!U%cO!W&SX~O!W%kO~Oz%lO{%nO!T%dO!U%cO![%}X~O![%rO~O![%sO~OQ#XO%`#XO%a%uO~OV%wOo0cOv0qO!PrO~P'vOQ#^OR#[O%`#^O%a%zO~OV!qa_!qaa!qah!qak!qal!qam!qan!qao!qap!qas!qaz!qa{!qa!X!qa!f!qa!x!qa#g!qa%[!qa%_!qa%j!qa%k!qa%l!qa%m!qa%n!qa%o!qa%p!qa%q!qa%r!qa%s!qa%z!qag!qa!T!qa!U!qa%{!qa!W!qa![!qa!Q!qa#[!qat!qa!m!qa~P#yOz%|O{%ha!x%ha#g%ha%[%ha%_%ha%z%ha~P%SOV&OOopOvqO{%ha!x%ha#g%ha%[%ha%_%ha%z%ha~P'vOz%|O{%ha!x%ha#g%ha%[%ha%_%ha%z%ha~OPdOVaOopOvqO!PrO!Q{O!{tO!}uO#PvO#RwO#TxO#XyO#ZzO#^|O#_|O#a}O#c!OO#g$zX%[$zX%_$zX~P'vO#g#gO%[&TO%_&TO~O!f&UOh&sX%[&sXz&sX#[&sX#g&sX%_&sX#Z&sXg&sX~Oh!iO%[&WO~Okealeameaneaoeapeaseazea{ea!xea#gea%[ea%_ea%zeagea!Tea!Uea%{ea!Wea![ea!Qea#[eatea!mea~P%SOsqazqa{qa#gqa%[qa%_qa%zqa~Ok!pOl!qOm!oOn!oOo!rOp!sO!xqa~PEcO%z&YOz%yX{%yX~O%uWOz%yX{%yX~Oz&]O{wX~O{&_O~Oz%lO#g%}X%[%}X%_%}Xg%}X{%}X![%}X!m%}X%z%}X~OV0lOo0cOv0qO!PrO~P'vO%z#|O#gUa%[Ua%_Ua~Oz&hO#g&PX%[&PX%_&PXn&PX~P%SOz&kO!Q&jO#g#Wa%[#Wa%_#Wa~Oz&lO#[&nO#g&rX%[&rX%_&rXg&rX~O!f$YO!r$YO#Z&qO%uWO~O#Z&qO~Oz&sO#g&tX%[&tX%_&tX~Oz&uO#g&pX%[&pX%_&pX{&pX~O!X&wO%z&xO~Oz&|On&wX~P%SOn'PO~OPdOVaOopOvqO!PrO!Q{O!{tO!}uO#PvO#RwO#TxO#XyO#ZzO#^|O#_|O#a}O#c!OO%['UO~P'vOt'YO#p'WO#q'XOP#naV#naf#nah#nao#nas#nav#na!P#na!Q#na!T#na!U#na!X#na!]#na!h#na!r#na!s#na!t#na!{#na!}#na#P#na#R#na#T#na#X#na#Z#na#^#na#_#na#a#na#c#na#l#na#o#na#s#na#u#na#z#na#}#na$P#na%X#na%o#na%p#na%t#na%u#na&Z#na&[#na&]#na&^#na&_#na&`#na&a#na&b#na&c#na&d#na&e#na&f#na&g#na&h#na&i#na&j#na%Z#na%_#na~Oz'ZO#[']O{&xX~Oh'_O!X&wO~Oh!iO{$jO!X&wO~O{'eO~P%SO%['hO%_'hO~OS'iO%['hO%_'hO~OV!aO_!aOa!bOh!iO!X!kO!f!mO%l!^O%m!_O%n!_O%o!`O%p!`O%q!aO%r!aO%s!aOkWilWimWinWioWipWisWizWi{Wi!xWi#gWi%[Wi%_Wi%jWi%zWigWi!TWi!UWi%{Wi!WWi![Wi!QWi#[WitWi!mWi~O%k!]O~P!#uO%kWi~P!#uOV!aO_!aOa!bOh!iO!X!kO!f!mO%o!`O%p!`O%q!aO%r!aO%s!aOkWilWimWinWioWipWisWizWi{Wi!xWi#gWi%[Wi%_Wi%jWi%kWi%lWi%zWigWi!TWi!UWi%{Wi!WWi![Wi!QWi#[WitWi!mWi~O%m!_O%n!_O~P!&pO%mWi%nWi~P!&pOa!bOh!iO!X!kO!f!mOkWilWimWinWioWipWisWizWi{Wi!xWi#gWi%[Wi%_Wi%jWi%kWi%lWi%mWi%nWi%oWi%pWi%zWigWi!TWi!UWi%{Wi!WWi![Wi!QWi#[WitWi!mWi~OV!aO_!aO%q!aO%r!aO%s!aO~P!)nOVWi_Wi%qWi%rWi%sWi~P!)nO!T%dO!U%cOg&VXz&VX~O%z'kO%{'kO~P,eOz'mOg&UX~Og'oO~Oz'pO{'rO!W&XX~Oo0cOv0qOz'pO{'sO!W&XX~P'vO!W'uO~Om!oOn!oOo!rOp!sOkjisjizji{ji!xji#gji%[ji%_ji%zji~Ol!qO~P!.aOlji~P!.aOk0eOl0fOm0dOn0dOo0mOp0nO~Ot'wO~P!/jOV'|Og'}Oo0cOv0qO~P'vOg'}Oz(OO~Og(QO~O!U(SO~Og(TOz(OO!T%dO!U%cO~P%SOk0eOl0fOm0dOn0dOo0mOp0nOgqa!Tqa!Uqa%{qa!Wqa![qa!Qqa#[qatqa!mqa~PEcOV'|Oo0cOv0qO!W&Sa~P'vOz(WO!W&Sa~O!W(XO~Oz(WO!T%dO!U%cO!W&Sa~P%SOV(]Oo0cOv0qO![%}a#g%}a%[%}a%_%}ag%}a{%}a!m%}a%z%}a~P'vOz(^O![%}a#g%}a%[%}a%_%}ag%}a{%}a!m%}a%z%}a~O![(aO~Oz(^O!T%dO!U%cO![%}a~P%SOz(dO!T%dO!U%cO![&Ta~P%SOz(gO{&lX![&lX!m&lX%z&lX~O{(kO![(mO!m(nO%z(jO~OV&OOopOvqO{%hi!x%hi#g%hi%[%hi%_%hi%z%hi~P'vOz(pO{%hi!x%hi#g%hi%[%hi%_%hi%z%hi~O!f&UOh&sa%[&saz&sa#[&sa#g&sa%_&sa#Z&sag&sa~O%[(uO~OV#sOa#tO%uWO~Oz&]O{wa~OopOvqO~P'vOz(^O#g%}a%[%}a%_%}ag%}a{%}a![%}a!m%}a%z%}a~P%SOz(zO#g%hX%[%hX%_%hX%z%hX~O%z#|O#gUi%[Ui%_Ui~O#g&Pa%[&Pa%_&Pan&Pa~P'vOz(}O#g&Pa%[&Pa%_&Pan&Pa~O%uWO#g&ra%[&ra%_&rag&ra~Oz)SO#g&ra%[&ra%_&rag&ra~Og)VO~OV)WOh$WO%uWO~O#Z)XO~O%uWO#g&ta%[&ta%_&ta~Oz)ZO#g&ta%[&ta%_&ta~Oo0cOv0qO#g&pa%[&pa%_&pa{&pa~P'vOz)^O#g&pa%[&pa%_&pa{&pa~OV)`Oa)`O%uWO~O%z)eO~Ot)hO#j)gOP#hiV#hif#hih#hio#his#hiv#hi!P#hi!Q#hi!T#hi!U#hi!X#hi!]#hi!h#hi!r#hi!s#hi!t#hi!{#hi!}#hi#P#hi#R#hi#T#hi#X#hi#Z#hi#^#hi#_#hi#a#hi#c#hi#l#hi#o#hi#s#hi#u#hi#z#hi#}#hi$P#hi%X#hi%o#hi%p#hi%t#hi%u#hi&Z#hi&[#hi&]#hi&^#hi&_#hi&`#hi&a#hi&b#hi&c#hi&d#hi&e#hi&f#hi&g#hi&h#hi&i#hi&j#hi%Z#hi%_#hi~Ot)iOP#kiV#kif#kih#kio#kis#kiv#ki!P#ki!Q#ki!T#ki!U#ki!X#ki!]#ki!h#ki!r#ki!s#ki!t#ki!{#ki!}#ki#P#ki#R#ki#T#ki#X#ki#Z#ki#^#ki#_#ki#a#ki#c#ki#l#ki#o#ki#s#ki#u#ki#z#ki#}#ki$P#ki%X#ki%o#ki%p#ki%t#ki%u#ki&Z#ki&[#ki&]#ki&^#ki&_#ki&`#ki&a#ki&b#ki&c#ki&d#ki&e#ki&f#ki&g#ki&h#ki&i#ki&j#ki%Z#ki%_#ki~OV)kOn&wa~P'vOz)lOn&wa~Oz)lOn&wa~P%SOn)pO~O%Y)tO~Ot)wO#p'WO#q)vOP#niV#nif#nih#nio#nis#niv#ni!P#ni!Q#ni!T#ni!U#ni!X#ni!]#ni!h#ni!r#ni!s#ni!t#ni!{#ni!}#ni#P#ni#R#ni#T#ni#X#ni#Z#ni#^#ni#_#ni#a#ni#c#ni#l#ni#o#ni#s#ni#u#ni#z#ni#}#ni$P#ni%X#ni%o#ni%p#ni%t#ni%u#ni&Z#ni&[#ni&]#ni&^#ni&_#ni&`#ni&a#ni&b#ni&c#ni&d#ni&e#ni&f#ni&g#ni&h#ni&i#ni&j#ni%Z#ni%_#ni~OV)zOo0cOv0qO{$jO~P'vOo0cOv0qO{&xa~P'vOz*OO{&xa~OV*SOa*TOg*WO%q*UO%uWO~O{$jO&{*YO~Oh'_O~Oh!iO{$jO~O%[*_O~O%[*aO%_*aO~OV$}Oa$}Oo0cOv0qOg&Ua~P'vOz*dOg&Ua~Oo0cOv0qO{*gO!W&Xa~P'vOz*hO!W&Xa~Oo0cOv0qOz*hO{*kO!W&Xa~P'vOo0cOv0qOz*hO!W&Xa~P'vOz*hO{*kO!W&Xa~Om0dOn0dOo0mOp0nOgjikjisjizji!Tji!Uji%{ji!Wji{ji![ji#gji%[ji%_ji!Qji#[jitji!mji%zji~Ol0fO~P!NkOlji~P!NkOV'|Og*pOo0cOv0qO~P'vOn*rO~Og*pOz*tO~Og*uO~OV'|Oo0cOv0qO!W&Si~P'vOz*vO!W&Si~O!W*wO~OV(]Oo0cOv0qO![%}i#g%}i%[%}i%_%}ig%}i{%}i!m%}i%z%}i~P'vOz*zO!T%dO!U%cO![&Ti~Oz*}O![%}i#g%}i%[%}i%_%}ig%}i{%}i!m%}i%z%}i~O![+OO~Oa+QOo0cOv0qO![&Ti~P'vOz*zO![&Ti~O![+SO~OV+UOo0cOv0qO{&la![&la!m&la%z&la~P'vOz+VO{&la![&la!m&la%z&la~O!]+YO&n+[O![!nX~O![+^O~O{(kO![+_O~O{(kO![+_O!m+`O~OV&OOopOvqO{%hq!x%hq#g%hq%[%hq%_%hq%z%hq~P'vOz$ri{$ri!x$ri#g$ri%[$ri%_$ri%z$ri~P%SOV&OOopOvqO~P'vOV&OOo0cOv0qO#g%ha%[%ha%_%ha%z%ha~P'vOz+aO#g%ha%[%ha%_%ha%z%ha~Oz$ia#g$ia%[$ia%_$ian$ia~P%SO#g&Pi%[&Pi%_&Pin&Pi~P'vOz+dO#g#Wq%[#Wq%_#Wq~O#[+eOz$va#g$va%[$va%_$vag$va~O%uWO#g&ri%[&ri%_&rig&ri~Oz+gO#g&ri%[&ri%_&rig&ri~OV+iOh$WO%uWO~O%uWO#g&ti%[&ti%_&ti~Oo0cOv0qO#g&pi%[&pi%_&pi{&pi~P'vO{#{Oz#eX!W#eX~Oz+mO!W&uX~O!W+oO~Ot+rO#j)gOP#hqV#hqf#hqh#hqo#hqs#hqv#hq!P#hq!Q#hq!T#hq!U#hq!X#hq!]#hq!h#hq!r#hq!s#hq!t#hq!{#hq!}#hq#P#hq#R#hq#T#hq#X#hq#Z#hq#^#hq#_#hq#a#hq#c#hq#l#hq#o#hq#s#hq#u#hq#z#hq#}#hq$P#hq%X#hq%o#hq%p#hq%t#hq%u#hq&Z#hq&[#hq&]#hq&^#hq&_#hq&`#hq&a#hq&b#hq&c#hq&d#hq&e#hq&f#hq&g#hq&h#hq&i#hq&j#hq%Z#hq%_#hq~On$|az$|a~P%SOV)kOn&wi~P'vOz+yOn&wi~Oz,TO{$jO#[,TO~O#q,VOP#nqV#nqf#nqh#nqo#nqs#nqv#nq!P#nq!Q#nq!T#nq!U#nq!X#nq!]#nq!h#nq!r#nq!s#nq!t#nq!{#nq!}#nq#P#nq#R#nq#T#nq#X#nq#Z#nq#^#nq#_#nq#a#nq#c#nq#l#nq#o#nq#s#nq#u#nq#z#nq#}#nq$P#nq%X#nq%o#nq%p#nq%t#nq%u#nq&Z#nq&[#nq&]#nq&^#nq&_#nq&`#nq&a#nq&b#nq&c#nq&d#nq&e#nq&f#nq&g#nq&h#nq&i#nq&j#nq%Z#nq%_#nq~O#[,WOz%Oa{%Oa~Oo0cOv0qO{&xi~P'vOz,YO{&xi~O{#{O%z,[Og&zXz&zX~O%uWOg&zXz&zX~Oz,`Og&yX~Og,bO~O%Y,eO~O!T%dO!U%cOg&Viz&Vi~OV$}Oa$}Oo0cOv0qOg&Ui~P'vO{,hOz$la!W$la~Oo0cOv0qO{,iOz$la!W$la~P'vOo0cOv0qO{*gO!W&Xi~P'vOz,lO!W&Xi~Oo0cOv0qOz,lO!W&Xi~P'vOz,lO{,oO!W&Xi~Og$hiz$hi!W$hi~P%SOV'|Oo0cOv0qO~P'vOn,qO~OV'|Og,rOo0cOv0qO~P'vOV'|Oo0cOv0qO!W&Sq~P'vOz$gi![$gi#g$gi%[$gi%_$gig$gi{$gi!m$gi%z$gi~P%SOV(]Oo0cOv0qO~P'vOa+QOo0cOv0qO![&Tq~P'vOz,sO![&Tq~O![,tO~OV(]Oo0cOv0qO![%}q#g%}q%[%}q%_%}qg%}q{%}q!m%}q%z%}q~P'vO{,uO~OV+UOo0cOv0qO{&li![&li!m&li%z&li~P'vOz,zO{&li![&li!m&li%z&li~O!]+YO&n+[O![!na~O{(kO![,}O~OV&OOo0cOv0qO#g%hi%[%hi%_%hi%z%hi~P'vOz-OO#g%hi%[%hi%_%hi%z%hi~O%uWO#g&rq%[&rq%_&rqg&rq~Oz-RO#g&rq%[&rq%_&rqg&rq~OV)`Oa)`O%uWO!W&ua~Oz-TO!W&ua~On$|iz$|i~P%SOV)kO~P'vOV)kOn&wq~P'vOt-XOP#myV#myf#myh#myo#mys#myv#my!P#my!Q#my!T#my!U#my!X#my!]#my!h#my!r#my!s#my!t#my!{#my!}#my#P#my#R#my#T#my#X#my#Z#my#^#my#_#my#a#my#c#my#l#my#o#my#s#my#u#my#z#my#}#my$P#my%X#my%o#my%p#my%t#my%u#my&Z#my&[#my&]#my&^#my&_#my&`#my&a#my&b#my&c#my&d#my&e#my&f#my&g#my&h#my&i#my&j#my%Z#my%_#my~O%Z-]O%_-]O~P`O#q-^OP#nyV#nyf#nyh#nyo#nys#nyv#ny!P#ny!Q#ny!T#ny!U#ny!X#ny!]#ny!h#ny!r#ny!s#ny!t#ny!{#ny!}#ny#P#ny#R#ny#T#ny#X#ny#Z#ny#^#ny#_#ny#a#ny#c#ny#l#ny#o#ny#s#ny#u#ny#z#ny#}#ny$P#ny%X#ny%o#ny%p#ny%t#ny%u#ny&Z#ny&[#ny&]#ny&^#ny&_#ny&`#ny&a#ny&b#ny&c#ny&d#ny&e#ny&f#ny&g#ny&h#ny&i#ny&j#ny%Z#ny%_#ny~Oz-aO{$jO#[-aO~Oo0cOv0qO{&xq~P'vOz-dO{&xq~O%z,[Og&zaz&za~O{#{Og&zaz&za~OV*SOa*TO%q*UO%uWOg&ya~Oz-hOg&ya~O$S-lO~OV$}Oa$}Oo0cOv0qO~P'vOo0cOv0qO{-mOz$li!W$li~P'vOo0cOv0qOz$li!W$li~P'vO{-mOz$li!W$li~Oo0cOv0qO{*gO~P'vOo0cOv0qO{*gO!W&Xq~P'vOz-pO!W&Xq~Oo0cOv0qOz-pO!W&Xq~P'vOs-sO!T%dO!U%cOg&Oq!W&Oq![&Oqz&Oq~P!/jOa+QOo0cOv0qO![&Ty~P'vOz$ji![$ji~P%SOa+QOo0cOv0qO~P'vOV+UOo0cOv0qO~P'vOV+UOo0cOv0qO{&lq![&lq!m&lq%z&lq~P'vO{(kO![-xO!m-yO%z-wO~OV&OOo0cOv0qO#g%hq%[%hq%_%hq%z%hq~P'vO%uWO#g&ry%[&ry%_&ryg&ry~OV)`Oa)`O%uWO!W&ui~Ot-}OP#m!RV#m!Rf#m!Rh#m!Ro#m!Rs#m!Rv#m!R!P#m!R!Q#m!R!T#m!R!U#m!R!X#m!R!]#m!R!h#m!R!r#m!R!s#m!R!t#m!R!{#m!R!}#m!R#P#m!R#R#m!R#T#m!R#X#m!R#Z#m!R#^#m!R#_#m!R#a#m!R#c#m!R#l#m!R#o#m!R#s#m!R#u#m!R#z#m!R#}#m!R$P#m!R%X#m!R%o#m!R%p#m!R%t#m!R%u#m!R&Z#m!R&[#m!R&]#m!R&^#m!R&_#m!R&`#m!R&a#m!R&b#m!R&c#m!R&d#m!R&e#m!R&f#m!R&g#m!R&h#m!R&i#m!R&j#m!R%Z#m!R%_#m!R~Oo0cOv0qO{&xy~P'vOV*SOa*TO%q*UO%uWOg&yi~O$S-lO%Z.VO%_.VO~OV.aOh._O!X.^O!].`O!h.YO!s.[O!t.[O%p.XO%uWO&Z]O&[]O&]]O&^]O&_]O&`]O&a]O&b]O~Oo0cOv0qOz$lq!W$lq~P'vO{.fOz$lq!W$lq~Oo0cOv0qO{*gO!W&Xy~P'vOz.gO!W&Xy~Oo0cOv.kO~P'vOs-sO!T%dO!U%cOg&Oy!W&Oy![&Oyz&Oy~P!/jO{(kO![.nO~O{(kO![.nO!m.oO~OV*SOa*TO%q*UO%uWO~Oh.tO!f.rOz$TX#[$TX%j$TXg$TX~Os$TX{$TX!W$TX![$TX~P$-bO%o.vO%p.vOs$UXz$UX{$UX#[$UX%j$UX!W$UXg$UX![$UX~O!h.xO~Oz.|O#[/OO%j.yOs&|X{&|X!W&|Xg&|X~Oa/RO~P$)zOh.tOs&}Xz&}X{&}X#[&}X%j&}X!W&}Xg&}X![&}X~Os/VO{$jO~Oo0cOv0qOz$ly!W$ly~P'vOo0cOv0qO{*gO!W&X!R~P'vOz/ZO!W&X!R~Og&RXs&RX!T&RX!U&RX!W&RX![&RXz&RX~P!/jOs-sO!T%dO!U%cOg&Qa!W&Qa![&Qaz&Qa~O{(kO![/^O~O!f.rOh$[as$[az$[a{$[a#[$[a%j$[a!W$[ag$[a![$[a~O!h/eO~O%o.vO%p.vOs$Uaz$Ua{$Ua#[$Ua%j$Ua!W$Uag$Ua![$Ua~O%j.yOs$Yaz$Ya{$Ya#[$Ya!W$Yag$Ya![$Ya~Os&|a{&|a!W&|ag&|a~P$)nOz/jOs&|a{&|a!W&|ag&|a~O!W/mO~Og/mO~O{/oO~O![/pO~Oo0cOv0qO{*gO!W&X!Z~P'vO{/sO~O%z/tO~P$-bOz/uO#[/OO%j.yOg'PX~Oz/uOg'PX~Og/wO~O!h/xO~O#[/OOs%Saz%Sa{%Sa%j%Sa!W%Sag%Sa![%Sa~O#[/OO%j.yOs%Waz%Wa{%Wa!W%Wag%Wa~Os&|i{&|i!W&|ig&|i~P$)nOz/zO#[/OO%j.yO!['Oa~Og'Pa~P$)nOz0SOg'Pa~Oa0UO!['Oi~P$)zOz0WO!['Oi~Oz0WO#[/OO%j.yO!['Oi~O#[/OO%j.yOg$biz$bi~O%z0ZO~P$-bO#[/OO%j.yOg%Vaz%Va~Og'Pi~P$)nO{0^O~Oa0UO!['Oq~P$)zOz0`O!['Oq~O#[/OO%j.yOz%Ui![%Ui~Oa0UO~P$)zOa0UO!['Oy~P$)zO#[/OO%j.yOg$ciz$ci~O#[/OO%j.yOz%Uq![%Uq~Oz+aO#g%ha%[%ha%_%ha%z%ha~P%SOV&OOo0cOv0qO~P'vOn0hO~Oo0hO~P'vO{0iO~Ot0jO~P!/jO&]&Z&j&h&i&g&f&d&e&c&b&`&a&_&^&[%u~",goto:"!=j'QPPPPPP'RP'Z*s+[+t,_,y-fP.SP'Z.r.r'ZPPP'Z2[PPPPPP2[5PPP5PP7b7k=sPP=v>h>kPP'Z'ZPP>zPP'Z'ZPP'Z'Z'Z'Z'Z?O?w'ZP?zP@QDXGuGyPG|HWH['ZPPPH_Hk'RP'R'RP'RP'RP'RP'RP'R'R'RP'RPP'RPP'RP'RPHqH}IVPI^IdPI^PI^I^PPPI^PKrPK{LVL]KrPI^LfPI^PLmLsPLwM]MzNeLwLwNkNxLwLwLwLw! ^! d! g! l! o! y!!P!!]!!o!!u!#P!#V!#s!#y!$P!$Z!$a!$g!$y!%T!%Z!%a!%k!%q!%w!%}!&T!&Z!&e!&k!&u!&{!'U!'[!'k!'s!'}!(UPPPPPPPPPPP!([!(_!(e!(n!(x!)TPPPPPPPPPPPP!-u!/Z!3^!6oPP!6w!7W!7a!8Y!8P!8c!8i!8l!8o!8r!8z!9jPPPPPPPPPPPPPPPPP!9m!9q!9wP!:]!:a!:m!:v!;S!;j!;m!;p!;v!;|!_![!]Do!]!^Es!^!_FZ!_!`Gk!`!aHX!a!b%T!b!cIf!c!dJU!d!eK^!e!hJU!h!i!#f!i!tJU!t!u!,|!u!wJU!w!x!.t!x!}JU!}#O!0S#O#P&o#P#Q!0j#Q#R!1Q#R#SJU#S#T%T#T#UJU#U#VK^#V#YJU#Y#Z!#f#Z#fJU#f#g!,|#g#iJU#i#j!.t#j#oJU#o#p!1n#p#q!1s#q#r!2a#r#s!2f#s$g%T$g;'SJU;'S;=`KW<%lOJU`%YT&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%T`%lP;=`<%l%To%v]&n`%c_OX%TXY%oY[%T[]%o]p%Tpq%oq#O%T#O#P&o#P#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%To&tX&n`OY%TYZ%oZ]%T]^%o^#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tc'f[&n`O!_%T!_!`([!`#T%T#T#U(r#U#f%T#f#g(r#g#h(r#h#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tc(cTmR&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tc(yT!mR&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk)aV&n`&[ZOr%Trs)vs#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk){V&n`Or%Trs*bs#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk*iT&n`&^ZO#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%To+PZS_&n`OY*xYZ%TZ]*x]^%T^#o*x#o#p+r#p#q*x#q#r+r#r;'S*x;'S;=`,^<%lO*x_+wTS_OY+rZ]+r^;'S+r;'S;=`,W<%lO+r_,ZP;=`<%l+ro,aP;=`<%l*xj,kV%rQ&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tj-XT!xY&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tj-oV%lQ&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk.]V&n`&ZZOw%Twx.rx#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk.wV&n`Ow%Twx/^x#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk/eT&n`&]ZO#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk/{ThZ&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tc0cTgR&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk0yXVZ&n`Oz%Tz{1f{!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk1mVaR&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk2ZV%oZ&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tc2wTzR&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%To3_W%pZ&n`O!_%T!_!`-Q!`!a3w!a#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Td4OT&{S&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk4fX!fQ&n`O!O%T!O!P5R!P!Q%T!Q![6T![#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk5WV&n`O!O%T!O!P5m!P#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk5tT!rZ&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti6[a!hX&n`O!Q%T!Q![6T![!g%T!g!h7a!h!l%T!l!m9s!m#R%T#R#S6T#S#X%T#X#Y7a#Y#^%T#^#_9s#_#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti7fZ&n`O{%T{|8X|}%T}!O8X!O!Q%T!Q![8s![#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti8^V&n`O!Q%T!Q![8s![#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti8z]!hX&n`O!Q%T!Q![8s![!l%T!l!m9s!m#R%T#R#S8s#S#^%T#^#_9s#_#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti9zT!hX&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk:bX%qR&n`O!P%T!P!Q:}!Q!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tj;UV%sQ&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti;ro!hX&n`O!O%T!O!P=s!P!Q%T!Q![>_![!d%T!d!e?q!e!g%T!g!h7a!h!l%T!l!m9s!m!q%T!q!rA]!r!z%T!z!{Bq!{#R%T#R#S>_#S#U%T#U#V?q#V#X%T#X#Y7a#Y#^%T#^#_9s#_#c%T#c#dA]#d#l%T#l#mBq#m#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti=xV&n`O!Q%T!Q![6T![#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti>fc!hX&n`O!O%T!O!P=s!P!Q%T!Q![>_![!g%T!g!h7a!h!l%T!l!m9s!m#R%T#R#S>_#S#X%T#X#Y7a#Y#^%T#^#_9s#_#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti?vY&n`O!Q%T!Q!R@f!R!S@f!S#R%T#R#S@f#S#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Ti@mY!hX&n`O!Q%T!Q!R@f!R!S@f!S#R%T#R#S@f#S#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TiAbX&n`O!Q%T!Q!YA}!Y#R%T#R#SA}#S#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TiBUX!hX&n`O!Q%T!Q!YA}!Y#R%T#R#SA}#S#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TiBv]&n`O!Q%T!Q![Co![!c%T!c!iCo!i#R%T#R#SCo#S#T%T#T#ZCo#Z#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TiCv]!hX&n`O!Q%T!Q![Co![!c%T!c!iCo!i#R%T#R#SCo#S#T%T#T#ZCo#Z#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%ToDvV{_&n`O!_%T!_!`E]!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TcEdT%{R&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TkEzT#gZ&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TkFbXmR&n`O!^%T!^!_F}!_!`([!`!a([!a#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TjGUV%mQ&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TkGrV%zZ&n`O!_%T!_!`([!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TkH`WmR&n`O!_%T!_!`([!`!aHx!a#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TjIPV%nQ&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TkIoV_Q#}P&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%ToJ_]&n`&YS%uZO!Q%T!Q![JU![!c%T!c!}JU!}#R%T#R#SJU#S#T%T#T#oJU#p#q%T#r$g%T$g;'SJU;'S;=`KW<%lOJUoKZP;=`<%lJUoKge&n`&YS%uZOr%Trs)Ysw%Twx.Ux!Q%T!Q![JU![!c%T!c!tJU!t!uLx!u!}JU!}#R%T#R#SJU#S#T%T#T#fJU#f#gLx#g#oJU#p#q%T#r$g%T$g;'SJU;'S;=`KW<%lOJUoMRa&n`&YS%uZOr%TrsNWsw%Twx! vx!Q%T!Q![JU![!c%T!c!}JU!}#R%T#R#SJU#S#T%T#T#oJU#p#q%T#r$g%T$g;'SJU;'S;=`KW<%lOJUkN_V&n`&`ZOr%TrsNts#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%TkNyV&n`Or%Trs! `s#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk! gT&n`&bZO#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk! }V&n`&_ZOw%Twx!!dx#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!!iV&n`Ow%Twx!#Ox#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!#VT&n`&aZO#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%To!#oe&n`&YS%uZOr%Trs!%Qsw%Twx!&px!Q%T!Q![JU![!c%T!c!tJU!t!u!(`!u!}JU!}#R%T#R#SJU#S#T%T#T#fJU#f#g!(`#g#oJU#p#q%T#r$g%T$g;'SJU;'S;=`KW<%lOJUk!%XV&n`&dZOr%Trs!%ns#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!%sV&n`Or%Trs!&Ys#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!&aT&n`&fZO#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!&wV&n`&cZOw%Twx!'^x#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!'cV&n`Ow%Twx!'xx#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!(PT&n`&eZO#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%To!(ia&n`&YS%uZOr%Trs!)nsw%Twx!+^x!Q%T!Q![JU![!c%T!c!}JU!}#R%T#R#SJU#S#T%T#T#oJU#p#q%T#r$g%T$g;'SJU;'S;=`KW<%lOJUk!)uV&n`&hZOr%Trs!*[s#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!*aV&n`Or%Trs!*vs#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!*}T&n`&jZO#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!+eV&n`&gZOw%Twx!+zx#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!,PV&n`Ow%Twx!,fx#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tk!,mT&n`&iZO#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%To!-Vi&n`&YS%uZOr%TrsNWsw%Twx! vx!Q%T!Q![JU![!c%T!c!dJU!d!eLx!e!hJU!h!i!(`!i!}JU!}#R%T#R#SJU#S#T%T#T#UJU#U#VLx#V#YJU#Y#Z!(`#Z#oJU#p#q%T#r$g%T$g;'SJU;'S;=`KW<%lOJUo!.}a&n`&YS%uZOr%Trs)Ysw%Twx.Ux!Q%T!Q![JU![!c%T!c!}JU!}#R%T#R#SJU#S#T%T#T#oJU#p#q%T#r$g%T$g;'SJU;'S;=`KW<%lOJUk!0ZT!XZ&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tc!0qT!WR&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%Tj!1XV%kQ&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%T~!1sO!]~k!1zV%jR&n`O!_%T!_!`-Q!`#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%T~!2fO![~i!2mT%tX&n`O#o%T#p#q%T#r;'S%T;'S;=`%i<%lO%T",tokenizers:[yp,up,dp,vp,0,1,2,3,4],topRules:{Script:[0,5]},specialized:[{term:221,get:e=>xp[e]||-1}],tokenPrec:7668}),kp=new Vo,Zp=new Set(["Script","Body","FunctionDefinition","ClassDefinition","LambdaExpression","ForStatement","MatchClause"]);function Rp(e){return(t,i,O)=>{if(O)return!1;let n=t.node.getChild("VariableName");return n&&i(n,e),!0}}const zp={FunctionDefinition:Rp("function"),ClassDefinition:Rp("class"),ForStatement(e,t,i){if(i)for(let i=e.node.firstChild;i;i=i.nextSibling)if("VariableName"==i.name)t(i,"variable");else if("in"==i.name)break},ImportStatement(e,t){var i,O;let{node:n}=e,r="from"==(null===(i=n.firstChild)||void 0===i?void 0:i.name);for(let e=n.getChild("import");e;e=e.nextSibling)"VariableName"==e.name&&"as"!=(null===(O=e.nextSibling)||void 0===O?void 0:O.name)&&t(e,r?"variable":"namespace")},AssignStatement(e,t){for(let i=e.node.firstChild;i;i=i.nextSibling)if("VariableName"==i.name)t(i,"variable");else if(":"==i.name||"AssignOp"==i.name)break},ParamList(e,t){for(let i=null,O=e.node.firstChild;O;O=O.nextSibling)"VariableName"!=O.name||i&&/\*|AssignOp/.test(i.name)||t(O,"variable"),i=O},CapturePattern:Rp("variable"),AsPattern:Rp("variable"),__proto__:null};function _p(e,t){let i=kp.get(t);if(i)return i;let O=[],n=!0;function r(t,i){let n=e.sliceString(t.from,t.to);O.push({label:n,type:i})}return t.cursor(po.IncludeAnonymous).iterate(t=>{if(t.name){let e=zp[t.name];if(e&&e(t,r,n)||!n&&Zp.has(t.name))return!1;n=!1}else if(t.to-t.from>8192){for(let i of _p(e,t.node))O.push(i);return!1}}),kp.set(t,O),O}const Yp=/^[\w\xa1-\uffff][\w\d\xa1-\uffff]*$/,Vp=["String","FormatString","Comment","PropertyName"];function qp(e){let t=za(e.state).resolveInner(e.pos,-1);if(Vp.indexOf(t.name)>-1)return null;let i="VariableName"==t.name||t.to-t.from<20&&Yp.test(e.state.sliceDoc(t.from,t.to));if(!i&&!e.explicit)return null;let O=[];for(let i=t;i;i=i.parent)Zp.has(i.name)&&(O=O.concat(_p(e.state.doc,i)));return{options:O,from:i?t.from:e.pos,validFor:Yp}}const Wp=["__annotations__","__builtins__","__debug__","__doc__","__import__","__name__","__loader__","__package__","__spec__","False","None","True"].map(e=>({label:e,type:"constant"})).concat(["ArithmeticError","AssertionError","AttributeError","BaseException","BlockingIOError","BrokenPipeError","BufferError","BytesWarning","ChildProcessError","ConnectionAbortedError","ConnectionError","ConnectionRefusedError","ConnectionResetError","DeprecationWarning","EOFError","Ellipsis","EncodingWarning","EnvironmentError","Exception","FileExistsError","FileNotFoundError","FloatingPointError","FutureWarning","GeneratorExit","IOError","ImportError","ImportWarning","IndentationError","IndexError","InterruptedError","IsADirectoryError","KeyError","KeyboardInterrupt","LookupError","MemoryError","ModuleNotFoundError","NameError","NotADirectoryError","NotImplemented","NotImplementedError","OSError","OverflowError","PendingDeprecationWarning","PermissionError","ProcessLookupError","RecursionError","ReferenceError","ResourceWarning","RuntimeError","RuntimeWarning","StopAsyncIteration","StopIteration","SyntaxError","SyntaxWarning","SystemError","SystemExit","TabError","TimeoutError","TypeError","UnboundLocalError","UnicodeDecodeError","UnicodeEncodeError","UnicodeError","UnicodeTranslateError","UnicodeWarning","UserWarning","ValueError","Warning","ZeroDivisionError"].map(e=>({label:e,type:"type"}))).concat(["bool","bytearray","bytes","classmethod","complex","float","frozenset","int","list","map","memoryview","object","range","set","staticmethod","str","super","tuple","type"].map(e=>({label:e,type:"class"}))).concat(["abs","aiter","all","anext","any","ascii","bin","breakpoint","callable","chr","compile","delattr","dict","dir","divmod","enumerate","eval","exec","exit","filter","format","getattr","globals","hasattr","hash","help","hex","id","input","isinstance","issubclass","iter","len","license","locals","max","min","next","oct","open","ord","pow","print","property","quit","repr","reversed","round","setattr","slice","sorted","sum","vars","zip"].map(e=>({label:e,type:"function"}))),Up=[Bu("def ${name}(${params}):\n\t${}",{label:"def",detail:"function",type:"keyword"}),Bu("for ${name} in ${collection}:\n\t${}",{label:"for",detail:"loop",type:"keyword"}),Bu("while ${}:\n\t${}",{label:"while",detail:"loop",type:"keyword"}),Bu("try:\n\t${}\nexcept ${error}:\n\t${}",{label:"try",detail:"/ except block",type:"keyword"}),Bu("if ${}:\n\t\n",{label:"if",detail:"block",type:"keyword"}),Bu("if ${}:\n\t${}\nelse:\n\t${}",{label:"if",detail:"/ else block",type:"keyword"}),Bu("class ${name}:\n\tdef __init__(self, ${params}):\n\t\t\t${}",{label:"class",detail:"definition",type:"keyword"}),Bu("import ${module}",{label:"import",detail:"statement",type:"keyword"}),Bu("from ${module} import ${names}",{label:"from",detail:"import",type:"keyword"})],jp=Nd(Vp,Id(Wp.concat(Up)));function Gp(e){let{node:t,pos:i}=e,O=e.lineIndent(i,-1),n=null;for(;;){let r=t.childBefore(i);if(!r)break;if("Comment"==r.name)i=r.from;else if("Body"==r.name||"MatchBody"==r.name)e.baseIndentFor(r)+e.unit<=O&&(n=r),t=r;else if("MatchClause"==r.name)t=r;else{if(!r.type.is("Statement"))break;t=r}}return n}function Cp(e,t){let i=e.baseIndentFor(t),O=e.lineAt(e.pos,-1),n=O.from+O.text.length;return/^\s*($|#)/.test(O.text)&&e.node.toi?null:i+e.unit}const Ap=Ra.define({name:"python",parser:Xp.configure({props:[Ba.add({Body:e=>{var t;return null!==(t=Cp(e,/^\s*(#|$)/.test(e.textAfter)&&Gp(e)||e.node))&&void 0!==t?t:e.continue()},MatchBody:e=>{var t;return null!==(t=Cp(e,Gp(e)||e.node))&&void 0!==t?t:e.continue()},IfStatement:e=>/^\s*(else:|elif )/.test(e.textAfter)?e.baseIndent:e.continue(),"ForStatement WhileStatement":e=>/^\s*else:/.test(e.textAfter)?e.baseIndent:e.continue(),TryStatement:e=>/^\s*(except[ :]|finally:|else:)/.test(e.textAfter)?e.baseIndent:e.continue(),MatchStatement:e=>/^\s*case /.test(e.textAfter)?e.baseIndent+e.unit:e.continue(),"TupleExpression ComprehensionExpression ParamList ArgList ParenthesizedExpression":tl({closing:")"}),"DictionaryExpression DictionaryComprehensionExpression SetExpression SetComprehensionExpression":tl({closing:"}"}),"ArrayExpression ArrayComprehensionExpression":tl({closing:"]"}),MemberExpression:e=>e.baseIndent+e.unit,"String FormatString":()=>null,Script:e=>{var t;let i=Gp(e);return null!==(t=i&&Cp(e,i))&&void 0!==t?t:e.continue()}}),rl.add({"ArrayExpression DictionaryExpression SetExpression TupleExpression":sl,Body:(e,t)=>({from:e.from+1,to:e.to-(e.to==t.doc.length?0:1)}),"String FormatString":(e,t)=>({from:t.doc.lineAt(e.from).to,to:e.to})})]}),languageData:{closeBrackets:{brackets:["(","[","{","'",'"',"'''",'"""'],stringPrefixes:["f","fr","rf","r","u","b","br","rb","F","FR","RF","R","U","B","BR","RB"]},commentTokens:{line:"#"},indentOnInput:/^\s*([\}\]\)]|else:|elif |except |finally:|case\s+[^:]*:?)$/}}),Ep=63;class Mp{constructor(e,t,i){this.parent=e,this.depth=t,this.type=i,this.hash=(e?e.hash+e.hash<<8:0)+t+(t<<4)+i}}function Dp(e,t){for(let i=0,O=t-e.pos-1;;O--,i++){let t=e.peek(O);if(Ip(t)||-1==t)return i}}function Lp(e){return 32==e||9==e}function Ip(e){return 10==e||13==e}function Np(e){return Lp(e)||Ip(e)}function Bp(e){return e<0||Np(e)}Mp.top=new Mp(null,-1,0);const Fp=new Tf({start:Mp.top,reduce:(e,t)=>3!=e.type||20!=t&&34!=t?e:e.parent,shift(e,t,i,O){if(3==t)return new Mp(e,Dp(O,O.pos),1);if(65==t||5==t)return new Mp(e,Dp(O,O.pos),2);if(t==Ep)return e.parent;if(19==t||33==t)return new Mp(e,0,3);if(13==t&&4==e.type)return e.parent;if(47==t){let t=/[1-9]/.exec(O.read(O.pos,i.pos));if(t)return new Mp(e,e.depth+ +t[0],4)}return e},hash:e=>e.hash});function Hp(e,t,i=0){return e.peek(i)==t&&e.peek(i+1)==t&&e.peek(i+2)==t&&Bp(e.peek(i+3))}const Kp=new lf((e,t)=>{if(-1==e.next&&t.canShift(64))return e.acceptToken(64);let i=e.peek(-1);if((Ip(i)||i<0)&&3!=t.context.type){if(Hp(e,45)){if(!t.canShift(Ep))return e.acceptToken(1,3);e.acceptToken(Ep)}if(Hp(e,46)){if(!t.canShift(Ep))return e.acceptToken(2,3);e.acceptToken(Ep)}let i=0;for(;32==e.next;)i++,e.advance();!(i{if(3!=t.context.type)if(45==e.next)e.advance(),Bp(e.next)&&e.acceptToken(1==t.context.type&&t.context.depth==Dp(e,e.pos-1)?4:3);else if(63==e.next)e.advance(),Bp(e.next)&&e.acceptToken(2==t.context.type&&t.context.depth==Dp(e,e.pos-1)?6:5);else{let i=e.pos;for(;;)if(Lp(e.next)){if(e.pos==i)return;e.advance()}else if(33==e.next)iQ(e);else{if(38!=e.next){if(42==e.next){OQ(e);break}if(39==e.next||34==e.next){if(nQ(e,!0))break;return}if(91==e.next||123==e.next){if(!rQ(e))return;break}lQ(e,!0,!1,0);break}OQ(e)}for(;Lp(e.next);)e.advance();if(58==e.next){if(e.pos==i&&t.canShift(29))return;Bp(e.peek(1))&&e.acceptTokenTo(2==t.context.type&&t.context.depth==Dp(e,i)?66:65,i)}}else 63==e.next&&(e.advance(),Bp(e.next)&&e.acceptToken(7))},{contextual:!0});function eQ(e){return e>=48&&e<=57||e>=97&&e<=102||e>=65&&e<=70}function tQ(e,t){return 37==e.next?(e.advance(),eQ(e.next)&&e.advance(),eQ(e.next)&&e.advance(),!0):!!((i=e.next)>32&&i<127&&34!=i&&37!=i&&44!=i&&60!=i&&62!=i&&92!=i&&94!=i&&96!=i&&123!=i&&124!=i&&125!=i||t&&44==e.next)&&(e.advance(),!0);var i}function iQ(e){if(e.advance(),60==e.next){for(e.advance();;)if(!tQ(e,!0)){62==e.next&&e.advance();break}}else for(;tQ(e,!1););}function OQ(e){for(e.advance();!Bp(e.next)&&"f"!=oQ(e.next);)e.advance()}function nQ(e,t){let i=e.next,O=!1,n=e.pos;for(e.advance();;){let r=e.next;if(r<0)break;if(e.advance(),r==i){if(39!=r)break;if(39!=e.next)break;e.advance()}else if(92==r&&34==i)e.next>=0&&e.advance();else if(Ip(r)){if(t)return!1;O=!0}else if(t&&e.pos>=n+1024)return!1}return!O}function rQ(e){for(let t=[],i=e.pos+1024;;)if(91==e.next||123==e.next)t.push(e.next),e.advance();else if(39==e.next||34==e.next){if(!nQ(e,!0))return!1}else if(93==e.next||125==e.next){if(t[t.length-1]!=e.next-2)return!1;if(t.pop(),e.advance(),!t.length)return!0}else{if(e.next<0||e.pos>i||Ip(e.next))return!1;e.advance()}}const sQ="iiisiiissisfissssssssssssisssiiissssssssssssssssssssssssssfsfssissssssssssssssssssssssssssfif";function oQ(e){return e<33?"u":e>125?"s":sQ[e-33]}function aQ(e,t){let i=oQ(e);return"u"!=i&&!(t&&"f"==i)}function lQ(e,t,i,O){if("s"!=oQ(e.next)&&(63!=e.next&&58!=e.next&&45!=e.next||!aQ(e.peek(1),i)))return!1;e.advance();let n=e.pos;for(;;){let r=e.next,s=0,o=O+1;for(;Np(r);){if(Ip(r)){if(t)return!1;o=0}else o++;r=e.peek(++s)}if(!(r>=0&&(58==r?aQ(e.peek(s+1),i):35==r?32!=e.peek(s-1):aQ(r,i)))||!i&&o<=O||0==o&&!i&&(Hp(e,45,s)||Hp(e,46,s)))break;if(t&&"f"==oQ(r))return!1;for(let t=s;t>=0;t--)e.advance();if(t&&e.pos>n+1024)return!1}return!0}const hQ=new lf((e,t)=>{if(33==e.next)iQ(e),e.acceptToken(12);else if(38==e.next||42==e.next){let t=38==e.next?10:11;OQ(e),e.acceptToken(t)}else 39==e.next||34==e.next?(nQ(e,!1),e.acceptToken(9)):lQ(e,!1,3==t.context.type,t.context.depth)&&e.acceptToken(8)}),cQ=new lf((e,t)=>{let i=4==t.context.type?t.context.depth:-1,O=e.pos;e:for(;;){let n=0,r=e.next;for(;32==r;)r=e.peek(++n);if(!n&&(Hp(e,45,n)||Hp(e,46,n)))break;if(!Ip(r)&&(i<0&&(i=Math.max(t.context.depth+1,n)),nYAN>Y",stateData:";S~O!fOS!gOS^OS~OP_OQbORSOTUOWROXROYYOZZO[XOcPOqQO!PVO!V[O!cTO~O`cO~P]OVkOWROXROYeOZfO[dOcPOmhOqQO~OboO~P!bOVtOWROXROYeOZfO[dOcPOmrOqQO~OpwO~P#WORSOTUOWROXROYYOZZO[XOcPOqQO!PVO!cTO~OSvP!avP!bvP~P#|OWROXROYeOZfO[dOcPOqQO~OmzO~P%OOm!OOUzP!azP!bzP!dzP~P#|O^!SO!b!QO!f!TO!g!RO~ORSOTUOWROXROcPOqQO!PVO!cTO~OY!UOP!QXQ!QX!V!QX!`!QXS!QX!a!QX!b!QXU!QXm!QX!d!QX~P&aO[!WOP!SXQ!SX!V!SX!`!SXS!SX!a!SX!b!SXU!SXm!SX!d!SX~P&aO^!ZO!W![O!b!YO!f!]O!g!YO~OP!_O!V[OQaX!`aX~OPaXQaX!VaX!`aX~P#|OP!bOQ!cO!V[O~OP_O!V[O~P#|OWROXROY!fOcPOqQObfXmfXofXpfX~OWROXRO[!hOcPOqQObhXmhXohXphX~ObeXmlXoeX~ObkXokX~P%OOm!kO~Om!lObnPonP~P%OOb!pOo!oO~Ob!pO~P!bOm!sOosXpsX~OosXpsX~P%OOm!uOotPptP~P%OOo!xOp!yO~Op!yO~P#WOS!|O!a#OO!b#OO~OUyX!ayX!byX!dyX~P#|Om#QO~OU#SO!a#UO!b#UO!d#RO~Om#WOUzX!azX!bzX!dzX~O]#XO~O!b#XO!g#YO~O^#ZO!b#XO!g#YO~OP!RXQ!RX!V!RX!`!RXS!RX!a!RX!b!RXU!RXm!RX!d!RX~P&aOP!TXQ!TX!V!TX!`!TXS!TX!a!TX!b!TXU!TXm!TX!d!TX~P&aO!b#^O!g#^O~O^#_O!b#^O!f#`O!g#^O~O^#_O!W#aO!b#^O!g#^O~OPaaQaa!Vaa!`aa~P#|OP#cO!V[OQ!XX!`!XX~OP!XXQ!XX!V!XX!`!XX~P#|OP_O!V[OQ!_X!`!_X~P#|OWROXROcPOqQObgXmgXogXpgX~OWROXROcPOqQObiXmiXoiXpiX~Obkaoka~P%OObnXonX~P%OOm#kO~Ob#lOo!oO~Oosapsa~P%OOotXptX~P%OOm#pO~Oo!xOp#qO~OSwP!awP!bwP~P#|OS!|O!a#vO!b#vO~OUya!aya!bya!dya~P#|Om#xO~P%OOm#{OU}P!a}P!b}P!d}P~P#|OU#SO!a$OO!b$OO!d#RO~O]$QO~O!b$QO!g$RO~O!b$SO!g$SO~O^$TO!b$SO!g$SO~O^$TO!b$SO!f$UO!g$SO~OP!XaQ!Xa!V!Xa!`!Xa~P#|Obnaona~P%OOotapta~P%OOo!xO~OU|X!a|X!b|X!d|X~P#|Om$ZO~Om$]OU}X!a}X!b}X!d}X~O]$^O~O!b$_O!g$_O~O^$`O!b$_O!g$_O~OU|a!a|a!b|a!d|a~P#|O!b$cO!g$cO~O",goto:",]!mPPPPPPPPPPPPPPPPP!nPP!v#v#|$`#|$c$f$j$nP%VPPP!v%Y%^%a%{&O%a&R&U&X&_&b%aP&e&{&e'O'RPP']'a'g'm's'y(XPPPPPPPP(_)e*X+c,VUaObcR#e!c!{ROPQSTUXY_bcdehknrtvz!O!U!W!_!b!c!f!h!k!l!s!u!|#Q#R#S#W#c#k#p#x#{$Z$]QmPR!qnqfPQThknrtv!k!l!s!u#R#k#pR!gdR!ieTlPnTjPnSiPnSqQvQ{TQ!mkQ!trQ!vtR#y#RR!nkTsQvR!wt!RWOSUXY_bcz!O!U!W!_!b!c!|#Q#S#W#c#x#{$Z$]RySR#t!|R|TR|UQ!PUR#|#SR#z#RR#z#SyZOSU_bcz!O!_!b!c!|#Q#S#W#c#x#{$Z$]R!VXR!XYa]O^abc!a!c!eT!da!eQnPR!rnQvQR!{vQ!}yR#u!}Q#T|R#}#TW^Obc!cS!^^!aT!aa!eQ!eaR#f!eW`Obc!cQxSS}U#SQ!`_Q#PzQ#V!OQ#b!_Q#d!bQ#s!|Q#w#QQ$P#WQ$V#cQ$Y#xQ$[#{Q$a$ZR$b$]xZOSU_bcz!O!_!b!c!|#Q#S#W#c#x#{$Z$]Q!VXQ!XYQ#[!UR#]!W!QWOSUXY_bcz!O!U!W!_!b!c!|#Q#S#W#c#x#{$Z$]pfPQThknrtv!k!l!s!u#R#k#pQ!gdQ!ieQ#g!fR#h!hSgPn^pQTkrtv#RQ!jhQ#i!kQ#j!lQ#n!sQ#o!uQ$W#kR$X#pQuQR!zv",nodeNames:"⚠ DirectiveEnd DocEnd - - ? ? ? Literal QuotedLiteral Anchor Alias Tag BlockLiteralContent Comment Stream BOM Document ] [ FlowSequence Item Tagged Anchored Anchored Tagged FlowMapping Pair Key : Pair , } { FlowMapping Pair Pair BlockSequence Item Item BlockMapping Pair Pair Key Pair Pair BlockLiteral BlockLiteralHeader Tagged Anchored Anchored Tagged Directive DirectiveName DirectiveContent Document",maxTerm:74,context:Fp,nodeProps:[["isolate",-3,8,9,14,""],["openedBy",18,"[",32,"{"],["closedBy",19,"]",33,"}"]],propSources:[dQ],skippedNodes:[0],repeatNodeCount:6,tokenData:"-Y~RnOX#PXY$QYZ$]Z]#P]^$]^p#Ppq$Qqs#Pst$btu#Puv$yv|#P|}&e}![#P![!]'O!]!`#P!`!a'i!a!}#P!}#O*g#O#P#P#P#Q+Q#Q#o#P#o#p+k#p#q'i#q#r,U#r;'S#P;'S;=`#z<%l?HT#P?HT?HU,o?HUO#PQ#UU!WQOY#PZp#Ppq#hq;'S#P;'S;=`#z<%lO#PQ#kTOY#PZs#Pt;'S#P;'S;=`#z<%lO#PQ#}P;=`<%l#P~$VQ!f~XY$Qpq$Q~$bO!g~~$gS^~OY$bZ;'S$b;'S;=`$s<%lO$b~$vP;=`<%l$bR%OX!WQOX%kXY#PZ]%k]^#P^p%kpq#hq;'S%k;'S;=`&_<%lO%kR%rX!WQ!VPOX%kXY#PZ]%k]^#P^p%kpq#hq;'S%k;'S;=`&_<%lO%kR&bP;=`<%l%kR&lUoP!WQOY#PZp#Ppq#hq;'S#P;'S;=`#z<%lO#PR'VUmP!WQOY#PZp#Ppq#hq;'S#P;'S;=`#z<%lO#PR'p[!PP!WQOY#PZp#Ppq#hq{#P{|(f|}#P}!O(f!O!R#P!R![)p![;'S#P;'S;=`#z<%lO#PR(mW!PP!WQOY#PZp#Ppq#hq!R#P!R![)V![;'S#P;'S;=`#z<%lO#PR)^U!PP!WQOY#PZp#Ppq#hq;'S#P;'S;=`#z<%lO#PR)wY!PP!WQOY#PZp#Ppq#hq{#P{|)V|}#P}!O)V!O;'S#P;'S;=`#z<%lO#PR*nUcP!WQOY#PZp#Ppq#hq;'S#P;'S;=`#z<%lO#PR+XUbP!WQOY#PZp#Ppq#hq;'S#P;'S;=`#z<%lO#PR+rUqP!WQOY#PZp#Ppq#hq;'S#P;'S;=`#z<%lO#PR,]UpP!WQOY#PZp#Ppq#hq;'S#P;'S;=`#z<%lO#PR,vU`P!WQOY#PZp#Ppq#hq;'S#P;'S;=`#z<%lO#P",tokenizers:[Kp,Jp,hQ,cQ,0,1],topRules:{Stream:[0,15]},tokenPrec:0}),$Q=Ra.define({name:"yaml",parser:uQ.configure({props:[Ba.add({Stream:e=>{for(let t=e.node.resolve(e.pos,-1);t&&t.to>=e.pos;t=t.parent){if("BlockLiteralContent"==t.name&&t.frome.pos)return null}}return null},FlowMapping:tl({closing:"}"}),FlowSequence:tl({closing:"]"})}),rl.add({"FlowMapping FlowSequence":sl,"Item Pair BlockLiteral":(e,t)=>({from:t.doc.lineAt(e.from).to,to:e.to})})]}),languageData:{commentTokens:{line:"#"},indentOnInput:/^\s*[\]\}]$/}}),fQ={abstract:4,and:5,array:6,as:7,true:8,false:8,break:9,case:10,catch:11,clone:12,const:13,continue:14,declare:16,default:15,do:17,echo:18,else:19,elseif:20,enddeclare:21,endfor:22,endforeach:23,endif:24,endswitch:25,endwhile:26,enum:27,extends:28,final:29,finally:30,fn:31,for:32,foreach:33,from:34,function:35,global:36,goto:37,if:38,implements:39,include:40,include_once:41,instanceof:42,insteadof:43,interface:44,list:45,match:46,namespace:47,new:48,null:49,or:50,print:51,readonly:52,require:53,require_once:54,return:55,switch:56,throw:57,trait:58,try:59,unset:60,use:61,var:62,public:63,private:63,protected:63,while:64,xor:65,yield:66,__proto__:null};function pQ(e){let t=fQ[e.toLowerCase()];return null==t?-1:t}function QQ(e){return 9==e||10==e||13==e||32==e}function mQ(e){return e>=97&&e<=122||e>=65&&e<=90}function gQ(e){return 95==e||e>=128||mQ(e)}function SQ(e){return e>=48&&e<=55||e>=97&&e<=102||e>=65&&e<=70}const PQ={int:!0,integer:!0,bool:!0,boolean:!0,float:!0,double:!0,real:!0,string:!0,array:!0,object:!0,unset:!0,__proto__:null},TQ=new lf(e=>{if(40==e.next){e.advance();let t=0;for(;QQ(e.peek(t));)t++;let i,O="";for(;mQ(i=e.peek(t));)O+=String.fromCharCode(i),t++;for(;QQ(e.peek(t));)t++;41==e.peek(t)&&PQ[O.toLowerCase()]&&e.acceptToken(1)}else if(60==e.next&&60==e.peek(1)&&60==e.peek(2)){for(let t=0;t<3;t++)e.advance();for(;32==e.next||9==e.next;)e.advance();let t=39==e.next;if(t&&e.advance(),!gQ(e.next))return;let i=String.fromCharCode(e.next);for(;e.advance(),gQ(e.next)||e.next>=48&&e.next<=55;)i+=String.fromCharCode(e.next);if(t){if(39!=e.next)return;e.advance()}if(10!=e.next&&13!=e.next)return;for(;;){let t=10==e.next||13==e.next;if(e.advance(),e.next<0)return;if(t){for(;32==e.next||9==e.next;)e.advance();let t=!0;for(let O=0;O{e.next<0&&e.acceptToken(278)}),vQ=new lf((e,t)=>{63==e.next&&t.canShift(277)&&62==e.peek(1)&&e.acceptToken(277)});function wQ(e){let t=e.peek(1);if(110==t||114==t||116==t||118==t||101==t||102==t||92==t||36==t||34==t||123==t)return 2;if(t>=48&&t<=55){let t,i=2;for(;i<5&&(t=e.peek(i))>=48&&t<=55;)i++;return i}if(120==t&&SQ(e.peek(2)))return SQ(e.peek(3))?4:3;if(117==t&&123==e.peek(2))for(let t=3;;t++){let i=e.peek(t);if(125==i)return 2==t?0:t+1;if(!SQ(i))break}return 0}const bQ=new lf((e,t)=>{let i=!1;for(;!(34==e.next||e.next<0||36==e.next&&(gQ(e.peek(1))||123==e.peek(1))||123==e.next&&36==e.peek(1));i=!0){if(92==e.next){let t=wQ(e);if(t){if(i)break;return e.acceptToken(3,t)}}else if(!i&&(91==e.next||45==e.next&&62==e.peek(1)&&gQ(e.peek(2))||63==e.next&&45==e.peek(1)&&62==e.peek(2)&&gQ(e.peek(3)))&&t.canShift(276))break;e.advance()}i&&e.acceptToken(275)}),xQ=Oa({"Visibility abstract final static":va.modifier,"for foreach while do if else elseif switch try catch finally return throw break continue default case":va.controlKeyword,"endif endfor endforeach endswitch endwhile declare enddeclare goto match":va.controlKeyword,"and or xor yield unset clone instanceof insteadof":va.operatorKeyword,"function fn class trait implements extends const enum global interface use var":va.definitionKeyword,"include include_once require require_once namespace":va.moduleKeyword,"new from echo print array list as":va.keyword,null:va.null,Boolean:va.bool,VariableName:va.variableName,"NamespaceName/...":va.namespace,"NamedType/...":va.typeName,Name:va.name,"CallExpression/Name":va.function(va.variableName),"LabelStatement/Name":va.labelName,"MemberExpression/Name":va.propertyName,"MemberExpression/VariableName":va.special(va.propertyName),"ScopedExpression/ClassMemberName/Name":va.propertyName,"ScopedExpression/ClassMemberName/VariableName":va.special(va.propertyName),"CallExpression/MemberExpression/Name":va.function(va.propertyName),"CallExpression/ScopedExpression/ClassMemberName/Name":va.function(va.propertyName),"MethodDeclaration/Name":va.function(va.definition(va.variableName)),"FunctionDefinition/Name":va.function(va.definition(va.variableName)),"ClassDeclaration/Name":va.definition(va.className),UpdateOp:va.updateOperator,ArithOp:va.arithmeticOperator,"LogicOp IntersectionType/&":va.logicOperator,BitOp:va.bitwiseOperator,CompareOp:va.compareOperator,ControlOp:va.controlOperator,AssignOp:va.definitionOperator,"$ ConcatOp":va.operator,LineComment:va.lineComment,BlockComment:va.blockComment,Integer:va.integer,Float:va.float,String:va.string,ShellExpression:va.special(va.string),"=> ->":va.punctuation,"( )":va.paren,"#[ [ ]":va.squareBracket,"${ { }":va.brace,"-> ?->":va.derefOperator,", ; :: : \\":va.separator,"PhpOpen PhpClose":va.processingInstruction}),XQ={__proto__:null,static:325,STATIC:325,class:351,CLASS:351},kQ=yf.deserialize({version:14,states:"%#[Q`OWOOQhQaOOP%oO`OOOOO#t'#Hh'#HhO%tO#|O'#DuOOO#u'#Dx'#DxQ&SOWO'#DxO&XO$VOOOOQ#u'#Dy'#DyO&lQaO'#D}O'[QdO'#EQO+QQdO'#IqO+_QdO'#ERO-RQaO'#EXO/bQ`O'#EUO/gQ`O'#E_O2UQaO'#E_O2]Q`O'#EgO2bQ`O'#EqO-RQaO'#EqO2mQpO'#FOO2rQ`O'#FOOOQS'#Iq'#IqO2wQ`O'#ExOOQS'#Ih'#IhO5SQdO'#IeO9UQeO'#F]O-RQaO'#FlO-RQaO'#FmO-RQaO'#FnO-RQaO'#FoO-RQaO'#FoO-RQaO'#FrOOQO'#Ir'#IrO9cQ`O'#FxOOQO'#Ht'#HtO9kQ`O'#HXO:VQ`O'#FsO:bQ`O'#HfO:mQ`O'#GPO:uQaO'#GQO-RQaO'#G`O-RQaO'#GcO;bOrO'#GfOOQS'#JP'#JPOOQS'#JO'#JOOOQS'#Ie'#IeO/bQ`O'#GmO/bQ`O'#GoO/bQ`O'#GtOhQaO'#GvO;iQ`O'#GwO;nQ`O'#GzO:]Q`O'#G}O;sQeO'#HOO;sQeO'#HPO;sQeO'#HQO;}Q`O'#HROhQ`O'#HVO:]Q`O'#HWO>mQ`O'#HWO;}Q`O'#HXO:]Q`O'#HZO:]Q`O'#H[O:]Q`O'#H]O>rQ`O'#H`O>}Q`O'#HaOQO!$dQ`O,5POOQ#u-E;h-E;hO!1QQ`O,5=tOOO#u,5:_,5:_O!1]O#|O,5:_OOO#u-E;g-E;gOOOO,5>|,5>|OOQ#y1G0T1G0TO!1eQ`O1G0YO-RQaO1G0YO!2wQ`O1G0qOOQS1G0q1G0qOOQS'#Eo'#EoOOQS'#Il'#IlO-RQaO'#IlOOQS1G0r1G0rO!4ZQ`O'#IoO!5pQ`O'#IqO!5}QaO'#EwOOQO'#Io'#IoO!6XQ`O'#InO!6aQ`O,5;aO-RQaO'#FXOOQS'#FW'#FWOOQS1G1[1G1[O!6fQdO1G1dO!8kQdO1G1dO!:WQdO1G1dO!;sQdO1G1dO!=`QdO1G1dO!>{QdO1G1dO!@hQdO1G1dO!BTQdO1G1dO!CpQdO1G1dO!E]QdO1G1dO!FxQdO1G1dO!HeQdO1G1dO!JQQdO1G1dO!KmQdO1G1dO!MYQdO1G1dO!NuQdO1G1dOOQT1G0_1G0_O!#[Q`O,5<_O#!bQaO'#EYOOQS1G0[1G0[O#!iQ`O,5:zOEdQaO,5:zO#!nQaO,5;OO#!uQdO,5:|O#$tQdO,5?UO#&sQaO'#HmO#'TQ`O,5?TOOQS1G0e1G0eO#']Q`O1G0eO#'bQ`O'#IkO#(zQ`O'#IkO#)SQ`O,5;SOG|QaO,5;SOOQS1G0w1G0wOOQO,5>^,5>^OOQO-E;p-E;pOOQS1G1U1G1UO#)pQdO'#FQO#+uQ`O'#HsOJ}QpO1G1UO2wQ`O'#HpO#+zQtO,5;eO2wQ`O'#HqO#,iQtO,5;gO#-WQaO1G1OOOQS,5;h,5;hO#/gQtO'#FQO#/tQdO1G0dO-RQaO1G0dO#1aQdO1G1aO#2|QdO1G1cOOQO,5X,5>XOOQO-E;k-E;kOOQS7+&P7+&PO!+iQaO,5;TO$$^QaO'#HnO$$hQ`O,5?VOOQS1G0n1G0nO$$pQ`O1G0nPOQO'#FQ'#FQOOQO,5>_,5>_OOQO-E;q-E;qOOQS7+&p7+&pOOQS,5>[,5>[OOQS-E;n-E;nO$$uQtO,5>]OOQS-E;o-E;oO$%dQdO7+&jO$'iQtO'#FQO$'vQdO7+&OOOQS1G0j1G0jOOQO,5>a,5>aOOQO-E;s-E;sOOQ#u7+(x7+(xO!$[QdO7+(xOOQ#u7+(}7+(}O#JfQ`O7+(}O#JkQ`O7+(}OOQ#u7+(z7+(zO!.]Q`O7+(zO!1TQ`O7+(zO!1QQ`O7+(zO$)cQ`O,5i,5>iOOQS-E;{-E;{O$.lQdO7+'qO$.|QpO7+'qO$/XQdO'#IxOOQO,5pOOQ#u,5>p,5>pOOQ#u-EoOOQS-EVQdO1G2^OOQS,5>h,5>hOOQS-E;z-E;zOOQ#u7+({7+({O$?oQ`O'#GXO:]Q`O'#H_OOQO'#IV'#IVO$@fQ`O,5=xOOQ#u,5=x,5=xO$AcQ!bO'#EQO$AzQ!bO7+(}O$BYQpO7+)RO#KRQpO7+)RO$BbQ`O'#HbO!$[QdO7+)RO$BpQdO,5>rOOQS-EVOOQS-E;i-E;iO$D{QdO<Z,5>ZOOQO-E;m-E;mOOQS1G1_1G1_O$8rQaO,5:uO$G}QaO'#HlO$H[Q`O,5?QOOQS1G0`1G0`OOQS7+&Q7+&QO$HdQ`O7+&UO$IyQ`O1G0oO$K`Q`O,5>YOOQO,5>Y,5>YOOQO-E;l-E;lOOQS7+&Y7+&YOOQS7+&U7+&UOOQ#u<c,5>cOOQO-E;u-E;uOOQS<lOOQ#u-EmOOQO-EW,5>WOOQO-E;j-E;jO!+iQaO,5;UOOQ#uANBTANBTO#JfQ`OANBTOOQ#uANBQANBQO!.]Q`OANBQO!+iQaO7+'hOOQO7+'l7+'lO%-bQ`O7+'hO%.wQ`O7+'hO%/SQ`O7+'lO!+iQaO7+'mOOQO7+'m7+'mO%/XQdO'#F}OOQO'#Hv'#HvO%/jQ`O,5e,5>eOOQS-E;w-E;wOOQO1G2_1G2_O$1YQdO1G2_O$/jQpO1G2_O#JkQ`O1G2]O!.mQdO1G2aO%$dQ!bO1G2]O!$[QdO1G2]OOQO1G2a1G2aOOQO1G2]1G2]O%2uQaO'#G]OOQO1G2b1G2bOOQSAN@xAN@xO!.]Q`OAN@xOOOQ<]O%6rQ!bO'#FQO!$[QdOANBXOOQ#uANBXANBXO:]Q`O,5=}O%7WQ`O,5=}O%7cQ`O'#IXO%7wQ`O,5?rOOQS1G3h1G3hOOQS7+)x7+)xP%+OQpOANBXO%8PQ`O1G0pOOQ#uG27oG27oOOQ#uG27lG27lO%9fQ`O<d,5>dO%dOOQO-E;v-E;vO%hQ`O'#IqO%>rQ`O'#IhO!$[QdO'#IOO%@lQaO,5s,5>sOOQO-Ej,5>jOOQP-E;|-E;|OOQO1G2c1G2cOOQ#uLD,kLD,kOOQTG27[G27[O!$[QdOLD-RO!$[QdO<OO%EpQ`O,5>OPOQ#uLD-_LD-_OOQO7+'o7+'oO+_QdO7+'oOOQS!$( ]!$( ]OOQOAN@}AN@}OOQS1G2d1G2dOOQS1G2e1G2eO%E{QdO1G2eOOQ#u!$(!m!$(!mOOQOANBVANBVOOQO1G3j1G3jO:]Q`O1G3jOOQO<tQaO,5:xO'/vQaO,5;uO'/vQaO,5;wO'@sQdO,5YQdO,5<^O)@XQdO,5QQ`O,5=eO*>YQaO'#HkO*>dQ`O,5?ROlQdO7+%tO*@kQ`O1G0jO!+iQaO1G0jO*BQQdO7+&OOoO*GeQ`O,5>VO*HzQdO<[QdO,5{QdO'#IjO.BbQ`O'#IeO.BoQ`O'#GPO.BwQaO,5:nO.COQ`O,5uOs#fOx7xOy7xO}aO!O^O!Q8OO!R}O!T7}O!V7yO!W7yO!Z8QO!d:QO!z]O#T#mO#V#lO#X`O#dhO#fbO#gcO#sdO$[7|O$d7{O$e7|O$hqO%T8PO%U!OO%W}O%X}O%`|O'WYO'u{O#Y']P~O#O#qO~P/lO!z#rO~O#d#tO#fbO#gcO~O'a#vO~O#s#zO~OU$OO!R$OO!w#}O#s3hO'W#{O~OT'XXz'XX!S'XX!c'XX!n'XX!w'XX!z'XX#T'XX#X'XX#a'XX#b'XX#y'XX$R'XX$S'XX$T'XX$U'XX$V'XX$X'XX$Y'XX$Z'XX$['XX$]'XX$^'XX$_'XX%T'XX'P'XX!y'XX!o'XX~O#|$QO$O$RO~P3YOP7wOQ|OU_OW}O[7zOo>uOs#fOx7xOy7xO}aO!O^O!Q8OO!R}O!T7}O!V7yO!W7yO!Z8QO!d:QO!z]O#X`O#dhO#fbO#gcO#sdO$[7|O$d7{O$e7|O$hqO%T8PO%U!OO%W}O%X}O%`|O'WYO'u{OT$PXz$PX!S$PX!c$PX!n$PX!w$PX#a$PX#b$PX#y$PX$R$PX$S$PX$T$PX$U$PX$V$PX$X$PX$Y$PX$Z$PX$]$PX$^$PX$_$PX'P$PX!y$PX!o$PX~Or$TO#T8eO#V8dO~P5^O#sdO'WYO~OS$fO]$aOk$dOm$fOs$`O!a$bO$krO$u$eO~O!z$hO#T$jO'W$gO~Oo$mOs$lO#d$nO~O!z$hO#T$rO~O!U$uO$u$tO~P-ROR${O!p$zO#d$yO#g$zO&}${O~O't$}O~P;PO!z%SO~O!z%UO~O!n#bO'P#bO~P-RO!pXO~O!z%`O~OP7wOQ|OU_OW}O[7zOo>uOs#fOx7xOy7xO}aO!O^O!Q8OO!R}O!T7}O!V7yO!W7yO!Z8QO!d:QO!z]O#X`O#dhO#fbO#gcO#sdO$[7|O$d7{O$e7|O$hqO%T8PO%U!OO%W}O%X}O%`|O'WYO'u{O~O!z%dO~O]$aO~O!pXO#sdO'WYO~O]%rOs%rO#s%nO'WYO~O!j%wO'Q%wO'TRO~O'Q%zO~PhO!o%{O~PhO!r%}O~PvO#T#PO$R:aO$S:eO$T:fO$U:gO$V:hO$X:jO$Y:kO$Z:lO$[:mO$]:nO$^:oO$_:oO%T#cO!y'cX#O'cX~P!%aO!r)yO!y'eX#O'eX~P)dO!y#kX#O#kX~P!+iO#O){O!y'bX~O!y)}O~O%T#cOT$Qiz$Qi!S$Qi!c$Qi!n$Qi!w$Qi#T$Qi$R$Qi$S$Qi$T$Qi$U$Qi$V$Qi$X$Qi$Y$Qi$Z$Qi$[$Qi$]$Qi$^$Qi$_$Qi'P$Qi!y$Qi#O$Qi#P$Qi#Y$Qi!o$Qi!r$QiV$Qi#|$Qi$O$Qi!p$Qi~P!%aOz#QO#T#PO$R#RO$S#VO$T#WO$U#XO$V#YO$X#[O$Y#]O$Z#^O$[#_O$]#`O$^#aO$_#aO%T#cOT$Qi!S$Qi!c$Qi!n$Qi!w$Qi'P$Qi!y$Qi!o$Qi~P!%aOz#QO!w!yO#T#PO$R#RO$S#VO$T#WO$U#XO$V#YO$X#[O$Y#]O$Z#^O$[#_O$]#`O$^#aO$_#aO%T#cOT$Qi!S$Qi!c$Qi!n$Qi'P$Qi!y$Qi!o$Qi~P!%aOT#SOz#QO!c#UO!w!yO#T#PO$R#RO$S#VO$T#WO$U#XO$V#YO$X#[O$Y#]O$Z#^O$[#_O$]#`O$^#aO$_#aO%T#cO!S$Qi!n$Qi'P$Qi!y$Qi!o$Qi~P!%aOT#SOz#QO!w!yO#T#PO$R#RO$S#VO$T#WO$U#XO$V#YO$X#[O$Y#]O$Z#^O$[#_O$]#`O$^#aO$_#aO%T#cO!S$Qi!c$Qi!n$Qi'P$Qi!y$Qi!o$Qi~P!%aOz#QO#T#PO$T#WO$U#XO$V#YO$X#[O$Y#]O$Z#^O$[#_O$]#`O$^#aO$_#aO%T#cOT$Qi!S$Qi!c$Qi!n$Qi!w$Qi$R$Qi$S$Qi'P$Qi!y$Qi!o$Qi~P!%aOz#QO#T#PO$U#XO$V#YO$X#[O$Y#]O$Z#^O$[#_O$]#`O$^#aO$_#aO%T#cOT$Qi!S$Qi!c$Qi!n$Qi!w$Qi$R$Qi$S$Qi$T$Qi'P$Qi!y$Qi!o$Qi~P!%aOz#QO#T#PO$V#YO$X#[O$Y#]O$Z#^O$[#_O$]#`O$^#aO$_#aO%T#cOT$Qi!S$Qi!c$Qi!n$Qi!w$Qi$R$Qi$S$Qi$T$Qi$U$Qi'P$Qi!y$Qi!o$Qi~P!%aOz#QO#T#PO$X#[O$Y#]O$Z#^O$[#_O$]#`O$^#aO$_#aO%T#cOT$Qi!S$Qi!c$Qi!n$Qi!w$Qi$R$Qi$S$Qi$T$Qi$U$Qi$V$Qi'P$Qi!y$Qi!o$Qi~P!%aOz#QO$X#[O$Y#]O$Z#^O$[#_O$]#`O$^#aO$_#aO%T#cOT$Qi!S$Qi!c$Qi!n$Qi!w$Qi#T$Qi$R$Qi$S$Qi$T$Qi$U$Qi$V$Qi'P$Qi!y$Qi!o$Qi~P!%aOz#QO$Y#]O$Z#^O$[#_O$]#`O$^#aO$_#aO%T#cOT$Qi!S$Qi!c$Qi!n$Qi!w$Qi#T$Qi$R$Qi$S$Qi$T$Qi$U$Qi$V$Qi$X$Qi'P$Qi!y$Qi!o$Qi~P!%aOz#QO$Z#^O$[#_O$]#`O$^#aO$_#aO%T#cOT$Qi!S$Qi!c$Qi!n$Qi!w$Qi#T$Qi$R$Qi$S$Qi$T$Qi$U$Qi$V$Qi$X$Qi$Y$Qi'P$Qi!y$Qi!o$Qi~P!%aOz#QO$[#_O$^#aO$_#aO%T#cOT$Qi!S$Qi!c$Qi!n$Qi!w$Qi#T$Qi$R$Qi$S$Qi$T$Qi$U$Qi$V$Qi$X$Qi$Y$Qi$Z$Qi$]$Qi'P$Qi!y$Qi!o$Qi~P!%aOz#QO$^#aO$_#aO%T#cOT$Qi!S$Qi!c$Qi!n$Qi!w$Qi#T$Qi$R$Qi$S$Qi$T$Qi$U$Qi$V$Qi$X$Qi$Y$Qi$Z$Qi$[$Qi$]$Qi'P$Qi!y$Qi!o$Qi~P!%aOz#QO$Z#^O$[#_O$^#aO$_#aO%T#cOT$Qi!S$Qi!c$Qi!n$Qi!w$Qi#T$Qi$R$Qi$S$Qi$T$Qi$U$Qi$V$Qi$X$Qi$Y$Qi$]$Qi'P$Qi!y$Qi!o$Qi~P!%aOz#QO$_#aO%T#cOT$Qi!S$Qi!c$Qi!n$Qi!w$Qi#T$Qi$R$Qi$S$Qi$T$Qi$U$Qi$V$Qi$X$Qi$Y$Qi$Z$Qi$[$Qi$]$Qi$^$Qi'P$Qi!y$Qi!o$Qi~P!%aO_*PO~PxO$hqO$krO~P2wO#X+|O#a+{O#b+{O~O#d,OO%W,OO%^+}O'W$gO~O!o,PO~PCVOc%bXd%bXh%bXj%bXf%bXg%bXe%bX~PhOc,TOd,ROP%aiQ%aiS%aiU%aiW%aiX%ai[%ai]%ai^%ai`%aia%aib%aik%aim%aio%aip%aiq%ais%ait%aiu%aiv%aix%aiy%ai|%ai}%ai!O%ai!P%ai!Q%ai!R%ai!T%ai!V%ai!W%ai!X%ai!Y%ai!Z%ai![%ai!]%ai!^%ai!_%ai!a%ai!b%ai!d%ai!n%ai!p%ai!z%ai#X%ai#d%ai#f%ai#g%ai#s%ai$[%ai$d%ai$e%ai$h%ai$k%ai$u%ai%T%ai%U%ai%W%ai%X%ai%`%ai&|%ai'W%ai'u%ai'Q%ai!o%aih%aij%aif%aig%aiY%ai_%aii%aie%ai~Oc,XOd,UOh,WO~OY,YO_,ZO!o,^O~OY,YO_,ZOi%gX~Oi,`O~Oj,aO~O!n,cO~PxO$hqO$krO~P2wO!p)`O~OU$OO!R$OO!w3nO#s3iO'W,zO~O#s,|O~O!p-OO'a'UO~O#sdO'WYO!n&zX#O&zX'P&zX~O#O)gO!n'ya'P'ya~O#s-UO~O!n&_X#O&_X'P&_X#P&_X~PvO#T#PO$R:aO$S:eO$T:fO$U:gO$V:hO$X:jO$Y:kO$Z:lO$[:mO$]:nO$^:oO$_:oO%T#cO!y#ka#O#ka~P!%aO!y&cX#O&cX~P@aO#O){O!y'ba~O!o-_O~PCVO#P-`O~O#O-aO!o'YX~O!o-cO~O!y-dO~OT8TOz8RO!S8UO!c8VO!w:_O#T#PO$R8SO$S8WO$T8XO$U8YO$V8ZO$X8]O$Y8^O$Z8_O$[8`O$]8aO$^8bO$_8bO%T#cO#O#Wi#Y#Wi~P!%aO!y&bX#O&bX~PxO#n'XO~OS+kO].cOm+kOs$`O!U+kO!`+kO!a+kO#d>xO$hqO$krO~P2wOS+kO].cOm+kOs$`O!U+kO!`+kO!a+kO#d>xO$hqO~P2wO!n#bO!p-yO'P#bO~OS+kO]+nOm+kOs$`O!U+kO!_+qO!`+kO!a+kO!o.mO#d>xO$hqO$krO~P2wO#d.rO%W.rO%^+}O'W$gO~O%W.sO~O#Y.tO~Oc%bad%bah%baj%baf%bag%bae%ba~PhOc.wOd,ROP%aqQ%aqS%aqU%aqW%aqX%aq[%aq]%aq^%aq`%aqa%aqb%aqk%aqm%aqo%aqp%aqq%aqs%aqt%aqu%aqv%aqx%aqy%aq|%aq}%aq!O%aq!P%aq!Q%aq!R%aq!T%aq!V%aq!W%aq!X%aq!Y%aq!Z%aq![%aq!]%aq!^%aq!_%aq!a%aq!b%aq!d%aq!n%aq!p%aq!z%aq#X%aq#d%aq#f%aq#g%aq#s%aq$[%aq$d%aq$e%aq$h%aq$k%aq$u%aq%T%aq%U%aq%W%aq%X%aq%`%aq&|%aq'W%aq'u%aq'Q%aq!o%aqh%aqj%aqf%aqg%aqY%aq_%aqi%aqe%aq~Oc.|Od,UOh.{O~O!r(hO~OP7wOQ|OU_OW}O[xO$hqO$krO~P2wOS+kOY,vO]+nOm+kOs$`O!U+kO!_+qO!`+kO!a+kO!o/fO#d>xO$hqO$krO~P2wOw!tX!p!tX#T!tX#n!tX#s#vX#|!tX'W!tX~Ow(ZO!p)`O#T3tO#n3sO~O!p-OO'a&fa~O]/nOs/nO#sdO'WYO~OV/rO!n&za#O&za'P&za~O#O)gO!n'yi'P'yi~O#s/tO~OT8TOz8RO!S8UO!c8VO!w:_O#T#PO$R8SO$S8WO$T8XO$U8YO$V8ZO$X8]O$Y8^O$Z8_O$[8`O$]8aO$^8bO$_8bO%T#cO!n&_a#O&_a'P&_a#P&_a~P!%aOz#QO#T#PO$R#RO$S#VO$T#WO$U#XO$V#YO$X#[O$Y#]O$Z#^O$[#_O$]#`O$^#aO$_#aO%T#cOT!vy!S!vy!c!vy!n!vy!w!vy'P!vy!y!vy!o!vy~P!%aOT:bOz:`O!S:cO!c:dO!w>vO#T#PO$R:aO$S:eO$T:fO$U:gO$V:hO$X:jO$Y:kO$Z:lO$[:mO$]:nO$^:oO$_:oO%T#cO!y#ji#O#ji~P!%aO_*PO!o&`X#O&`X~PvO#T#PO$R:aO$S:eO$T:fO$U:gO$V:hO$X:jO$Y:kO$Z:lO$[:mO$]:nO$^:oO$_:oO%T#cO!y#]i#O#]i~P!%aOT8TOz8RO!S8UO!c8VO!w:_O#P/yO#T#PO$R8SO$S8WO$T8XO$U8YO$V8ZO$X8]O$Y8^O$Z8_O$[8`O$]8aO$^8bO$_8bO%T#cO!y&ba#O&ba~P!%aO#|0OO!y$ji#O$ji~O#d0PO~O#V0SO#d0RO~P2wOT:bOz:`O!S:cO!c:dO!w>vO#T#PO$R:aO$S:eO$T:fO$U:gO$V:hO$X:jO$Y:kO$Z:lO$[:mO$]:nO$^:oO$_:oO%T#cO!y$ji#O$ji~P!%aO!p-yO#|0TO!y$oi#O$oi~O!o0YO'W$gO~O#O0[O!y'kX~O#d0^O~O!y0_O~O!pXO!r0bO~O#T'ZO#n'XO!p'qy!n'qy'P'qy~O!n$sy'P$sy!y$sy!o$sy~PCVO#P0eO#T'ZO#n'XO~O#sdO'WYOw&mX!p&mX#O&mX!n&mX'P&mX~O#O.^Ow'la!p'la!n'la'P'la~OS+kO]0mOm+kOs$`O!U+kO!`+kO!a+kO#d>xO$hqO~P2wO#T3tO#n3sO'W$gO~O#|)XO#T'eX#n'eX'W'eX~O!n#bO!p0sO'P#bO~O#Y0wO~Oh0|O~OTvO#T#PO$R:aO$S:eO$T:fO$U:gO$V:hO$X:jO$Y:kO$Z:lO$[:mO$]:nO$^:oO$_:oO%T#cO!y$jq#O$jq~P!%aO#|1kO!y$jq#O$jq~O#d1lO~O!n#bO!pXO!z$hO#P1oO'P#bO~O!o1rO'W$gO~OT:bOz:`O!S:cO!c:dO!w>vO#T#PO$R:aO$S:eO$T:fO$U:gO$V:hO$X:jO$Y:kO$Z:lO$[:mO$]:nO$^:oO$_:oO%T#cO!y$oq#O$oq~P!%aO#T1tO#d1sO!y&lX#O&lX~O#O0[O!y'ka~O#T'ZO#n'XO!p'q!R!n'q!R'P'q!R~O!pXO!r1yO~O!n$s!R'P$s!R!y$s!R!o$s!R~PCVO#P1{O#T'ZO#n'XO~OP7wOU_O[:rOo?tOs#fOx:rOy:rO}aO!O^O!QvO#T#PO$R:aO$S:eO$T:fO$U:gO$V:hO$X:jO$Y:kO$Z:lO$[:mO$]:nO$^:oO$_:oO%T#cO!y#^i#O#^i~P!%aOT:bOz:`O!S:cO!c:dO!w>vO#T#PO$R:aO$S:eO$T:fO$U:gO$V:hO$X:jO$Y:kO$Z:lO$[:mO$]:nO$^:oO$_:oO%T#cO!y$jy#O$jy~P!%aOT:bOz:`O!S:cO!c:dO!w>vO#T#PO$R:aO$S:eO$T:fO$U:gO$V:hO$X:jO$Y:kO$Z:lO$[:mO$]:nO$^:oO$_:oO%T#cO!y$oy#O$oy~P!%aO!pXO#P2rO~O#d2sO~O#O0[O!y'ki~O!n$s!Z'P$s!Z!y$s!Z!o$s!Z~PCVOTvO#T#PO$R:aO$S:eO$T:fO$U:gO$V:hO$X:jO$Y:kO$Z:lO$[:mO$]:nO$^:oO$_:oO%T#cO!y$j!R#O$j!R~P!%aO!n$s!c'P$s!c!y$s!c!o$s!c~PCVO!a3`O'W$gO~OV3dO!o&Wa#O&Wa~O'W$gO!n%Ri'P%Ri~O'a'_O~O'a/jO~O'a*iO~O'a1]O~OT3}Oz3{O!S4OO!c4PO!w5rO#T#PO$R3|O$S4QO$T4RO$U4SO$V4TO$X4VO$Y4WO$Z4XO$[4YO$]4ZO$^4[O$_4[O%T#cO!n$ta#|$ta$O$ta'P$ta!y$ta!o$ta#O$ta~P!%aO#T3uO~P-RO#s3lO~O#s3mO~O!U$uO$u$tO~P#-WOT8TOz8RO!S8UO!c8VO!w:_O#P3pO#T#PO$R8SO$S8WO$T8XO$U8YO$V8ZO$X8]O$Y8^O$Z8_O$[8`O$]8aO$^8bO$_8bO%T#cO!n'^X'P'^X!y'^X!o'^X~P!%aOT6QOz6OO!S6RO!c6SO!w7oO#P5aO#T#PO$R6PO$S6TO$T6UO$U6VO$V6WO$X6YO$Y6ZO$Z6[O$[6]O$]6^O$^6_O$_6_O%T#cO#O'^X#Y'^X#|'^X$O'^X!n'^X'P'^X!r'^X!y'^X!o'^XV'^X!p'^X~P!%aO#T5OO~P#-WOT3}Oz3{O!S4OO!c4PO!w5rO#T#PO$R3|O$S4QO$T4RO$U4SO$V4TO$X4VO$Y4WO$Z4XO$[4YO$]4ZO$^4[O$_4[O%T#cO!n$`a#|$`a$O$`a'P$`a!y$`a!o$`a#O$`a~P!%aOT3}Oz3{O!S4OO!c4PO!w5rO#T#PO$R3|O$S4QO$T4RO$U4SO$V4TO$X4VO$Y4WO$Z4XO$[4YO$]4ZO$^4[O$_4[O%T#cO!n$aa#|$aa$O$aa'P$aa!y$aa!o$aa#O$aa~P!%aOT3}Oz3{O!S4OO!c4PO!w5rO#T#PO$R3|O$S4QO$T4RO$U4SO$V4TO$X4VO$Y4WO$Z4XO$[4YO$]4ZO$^4[O$_4[O%T#cO!n$ba#|$ba$O$ba'P$ba!y$ba!o$ba#O$ba~P!%aOT3}Oz3{O!S4OO!c4PO!w5rO#T#PO$R3|O$S4QO$T4RO$U4SO$V4TO$X4VO$Y4WO$Z4XO$[4YO$]4ZO$^4[O$_4[O%T#cO!n$ca#|$ca$O$ca'P$ca!y$ca!o$ca#O$ca~P!%aOz3{O#|$ca$O$ca#O$ca~PMVOT3}Oz3{O!S4OO!c4PO!w5rO#T#PO$R3|O$S4QO$T4RO$U4SO$V4TO$X4VO$Y4WO$Z4XO$[4YO$]4ZO$^4[O$_4[O%T#cO!n$fa#|$fa$O$fa'P$fa!y$fa!o$fa#O$fa~P!%aOT3}Oz3{O!S4OO!c4PO!w5rO#T#PO$R3|O$S4QO$T4RO$U4SO$V4TO$X4VO$Y4WO$Z4XO$[4YO$]4ZO$^4[O$_4[O%T#cO!n%Va#|%Va$O%Va'P%Va!y%Va!o%Va#O%Va~P!%aOz3{O#T#PO$R3|O$S4QO$T4RO$U4SO$V4TO$X4VO$Y4WO$Z4XO$[4YO$]4ZO$^4[O$_4[O%T#cOT$Qi!S$Qi!c$Qi!n$Qi!w$Qi#|$Qi$O$Qi'P$Qi!y$Qi!o$Qi#O$Qi~P!%aOz3{O!w5rO#T#PO$R3|O$S4QO$T4RO$U4SO$V4TO$X4VO$Y4WO$Z4XO$[4YO$]4ZO$^4[O$_4[O%T#cOT$Qi!S$Qi!c$Qi!n$Qi#|$Qi$O$Qi'P$Qi!y$Qi!o$Qi#O$Qi~P!%aOT3}Oz3{O!c4PO!w5rO#T#PO$R3|O$S4QO$T4RO$U4SO$V4TO$X4VO$Y4WO$Z4XO$[4YO$]4ZO$^4[O$_4[O%T#cO!S$Qi!n$Qi#|$Qi$O$Qi'P$Qi!y$Qi!o$Qi#O$Qi~P!%aOT3}Oz3{O!w5rO#T#PO$R3|O$S4QO$T4RO$U4SO$V4TO$X4VO$Y4WO$Z4XO$[4YO$]4ZO$^4[O$_4[O%T#cO!S$Qi!c$Qi!n$Qi#|$Qi$O$Qi'P$Qi!y$Qi!o$Qi#O$Qi~P!%aOz3{O#T#PO$T4RO$U4SO$V4TO$X4VO$Y4WO$Z4XO$[4YO$]4ZO$^4[O$_4[O%T#cOT$Qi!S$Qi!c$Qi!n$Qi!w$Qi#|$Qi$O$Qi$R$Qi$S$Qi'P$Qi!y$Qi!o$Qi#O$Qi~P!%aOz3{O#T#PO$U4SO$V4TO$X4VO$Y4WO$Z4XO$[4YO$]4ZO$^4[O$_4[O%T#cOT$Qi!S$Qi!c$Qi!n$Qi!w$Qi#|$Qi$O$Qi$R$Qi$S$Qi$T$Qi'P$Qi!y$Qi!o$Qi#O$Qi~P!%aOz3{O#T#PO$V4TO$X4VO$Y4WO$Z4XO$[4YO$]4ZO$^4[O$_4[O%T#cOT$Qi!S$Qi!c$Qi!n$Qi!w$Qi#|$Qi$O$Qi$R$Qi$S$Qi$T$Qi$U$Qi'P$Qi!y$Qi!o$Qi#O$Qi~P!%aOz3{O#T#PO$X4VO$Y4WO$Z4XO$[4YO$]4ZO$^4[O$_4[O%T#cOT$Qi!S$Qi!c$Qi!n$Qi!w$Qi#|$Qi$O$Qi$R$Qi$S$Qi$T$Qi$U$Qi$V$Qi'P$Qi!y$Qi!o$Qi#O$Qi~P!%aOz3{O$X4VO$Y4WO$Z4XO$[4YO$]4ZO$^4[O$_4[O%T#cOT$Qi!S$Qi!c$Qi!n$Qi!w$Qi#T$Qi#|$Qi$O$Qi$R$Qi$S$Qi$T$Qi$U$Qi$V$Qi'P$Qi!y$Qi!o$Qi#O$Qi~P!%aOz3{O$Y4WO$Z4XO$[4YO$]4ZO$^4[O$_4[O%T#cOT$Qi!S$Qi!c$Qi!n$Qi!w$Qi#T$Qi#|$Qi$O$Qi$R$Qi$S$Qi$T$Qi$U$Qi$V$Qi$X$Qi'P$Qi!y$Qi!o$Qi#O$Qi~P!%aOz3{O$Z4XO$[4YO$]4ZO$^4[O$_4[O%T#cOT$Qi!S$Qi!c$Qi!n$Qi!w$Qi#T$Qi#|$Qi$O$Qi$R$Qi$S$Qi$T$Qi$U$Qi$V$Qi$X$Qi$Y$Qi'P$Qi!y$Qi!o$Qi#O$Qi~P!%aOz3{O$[4YO$^4[O$_4[O%T#cOT$Qi!S$Qi!c$Qi!n$Qi!w$Qi#T$Qi#|$Qi$O$Qi$R$Qi$S$Qi$T$Qi$U$Qi$V$Qi$X$Qi$Y$Qi$Z$Qi$]$Qi'P$Qi!y$Qi!o$Qi#O$Qi~P!%aOz3{O$^4[O$_4[O%T#cOT$Qi!S$Qi!c$Qi!n$Qi!w$Qi#T$Qi#|$Qi$O$Qi$R$Qi$S$Qi$T$Qi$U$Qi$V$Qi$X$Qi$Y$Qi$Z$Qi$[$Qi$]$Qi'P$Qi!y$Qi!o$Qi#O$Qi~P!%aOz3{O$Z4XO$[4YO$^4[O$_4[O%T#cOT$Qi!S$Qi!c$Qi!n$Qi!w$Qi#T$Qi#|$Qi$O$Qi$R$Qi$S$Qi$T$Qi$U$Qi$V$Qi$X$Qi$Y$Qi$]$Qi'P$Qi!y$Qi!o$Qi#O$Qi~P!%aOz3{O$_4[O%T#cOT$Qi!S$Qi!c$Qi!n$Qi!w$Qi#T$Qi#|$Qi$O$Qi$R$Qi$S$Qi$T$Qi$U$Qi$V$Qi$X$Qi$Y$Qi$Z$Qi$[$Qi$]$Qi$^$Qi'P$Qi!y$Qi!o$Qi#O$Qi~P!%aOT3}Oz3{O!S4OO!c4PO!w5rO#T#PO$R3|O$S4QO$T4RO$U4SO$V4TO$X4VO$Y4WO$Z4XO$[4YO$]4ZO$^4[O$_4[O%T#cO!n#Ua#|#Ua$O#Ua'P#Ua!y#Ua!o#Ua#O#Ua~P!%aOT3}Oz3{O!S4OO!c4PO!w5rO#T#PO$R3|O$S4QO$T4RO$U4SO$V4TO$X4VO$Y4WO$Z4XO$[4YO$]4ZO$^4[O$_4[O%T#cO!n'^a#|'^a$O'^a'P'^a!y'^a!o'^a#O'^a~P!%aOz3{O!w5rO#T#PO$R3|O$S4QO$T4RO$U4SO$V4TO$X4VO$Y4WO$Z4XO$[4YO$]4ZO$^4[O$_4[O%T#cOT#Qi!S#Qi!c#Qi!n#Qi#|#Qi$O#Qi'P#Qi!y#Qi!o#Qi#O#Qi~P!%aOz3{O!w5rO#T#PO$R3|O$S4QO$T4RO$U4SO$V4TO$X4VO$Y4WO$Z4XO$[4YO$]4ZO$^4[O$_4[O%T#cOT#}i!S#}i!c#}i!n#}i#|#}i$O#}i'P#}i!y#}i!o#}i#O#}i~P!%aOT3}Oz3{O!S4OO!c4PO!w5rO#T#PO$R3|O$S4QO$T4RO$U4SO$V4TO$X4VO$Y4WO$Z4XO$[4YO$]4ZO$^4[O$_4[O%T#cO!n$Pi#|$Pi$O$Pi'P$Pi!y$Pi!o$Pi#O$Pi~P!%aOz3{O#T#PO$R3|O$S4QO$T4RO$U4SO$V4TO$X4VO$Y4WO$Z4XO$[4YO$]4ZO$^4[O$_4[O%T#cOT!vq!S!vq!c!vq!n!vq!w!vq#|!vq$O!vq'P!vq!y!vq!o!vq#O!vq~P!%aOz3{O!w5rO#T#PO$R3|O$S4QO$T4RO$U4SO$V4TO$X4VO$Y4WO$Z4XO$[4YO$]4ZO$^4[O$_4[O%T#cOT#Qq!S#Qq!c#Qq!n#Qq#|#Qq$O#Qq'P#Qq!y#Qq!o#Qq#O#Qq~P!%aOT3}Oz3{O!S4OO!c4PO!w5rO#T#PO$R3|O$S4QO$T4RO$U4SO$V4TO$X4VO$Y4WO$Z4XO$[4YO$]4ZO$^4[O$_4[O%T#cO!n$sq#|$sq$O$sq'P$sq!y$sq!o$sq#O$sq~P!%aOz3{O#T#PO$R3|O$S4QO$T4RO$U4SO$V4TO$X4VO$Y4WO$Z4XO$[4YO$]4ZO$^4[O$_4[O%T#cOT!vy!S!vy!c!vy!n!vy!w!vy#|!vy$O!vy'P!vy!y!vy!o!vy#O!vy~P!%aOT3}Oz3{O!S4OO!c4PO!w5rO#T#PO$R3|O$S4QO$T4RO$U4SO$V4TO$X4VO$Y4WO$Z4XO$[4YO$]4ZO$^4[O$_4[O%T#cO!n$sy#|$sy$O$sy'P$sy!y$sy!o$sy#O$sy~P!%aOT3}Oz3{O!S4OO!c4PO!w5rO#T#PO$R3|O$S4QO$T4RO$U4SO$V4TO$X4VO$Y4WO$Z4XO$[4YO$]4ZO$^4[O$_4[O%T#cO!n$s!R#|$s!R$O$s!R'P$s!R!y$s!R!o$s!R#O$s!R~P!%aOT3}Oz3{O!S4OO!c4PO!w5rO#T#PO$R3|O$S4QO$T4RO$U4SO$V4TO$X4VO$Y4WO$Z4XO$[4YO$]4ZO$^4[O$_4[O%T#cO!n$s!Z#|$s!Z$O$s!Z'P$s!Z!y$s!Z!o$s!Z#O$s!Z~P!%aOT3}Oz3{O!S4OO!c4PO!w5rO#T#PO$R3|O$S4QO$T4RO$U4SO$V4TO$X4VO$Y4WO$Z4XO$[4YO$]4ZO$^4[O$_4[O%T#cO!n$s!c#|$s!c$O$s!c'P$s!c!y$s!c!o$s!c#O$s!c~P!%aOP7wOU_O[5kOo9xOs#fOx5gOy5gO}aO!O^O!Q5{O!T5qO!V5iO!W5iO!Z5}O!d5eO!z]O#T5bO#X`O#dhO#fbO#gcO#sdO$[5oO$d5mO$e5oO$hqO%T5|O%U!OO'WYO~P$vO#O9_O#T#PO$R:aO$S:eO$T:fO$U:gO$V:hO$X:jO$Y:kO$Z:lO$[:mO$]:nO$^:oO$_:oO%T#cO!y'xX~P!%aOT:bOz:`O!S:cO!c:dO!w>vO#O9aO#T#PO$R:aO$S:eO$T:fO$U:gO$V:hO$X:jO$Y:kO$Z:lO$[:mO$]:nO$^:oO$_:oO%T#cO!y'ZX~P!%aOz8RO#T#PO$R8SO$S8WO$T8XO$U8YO$V8ZO$X8]O$Y8^O$Z8_O$[8`O$]8aO$^8bO$_8bO%T#cOT$Qi!S$Qi!c$Qi!w$Qi#O$Qi#P$Qi#Y$Qi!n$Qi'P$Qi!r$Qi!y$Qi!o$QiV$Qi!p$Qi~P!%aOz8RO!w:_O#T#PO$R8SO$S8WO$T8XO$U8YO$V8ZO$X8]O$Y8^O$Z8_O$[8`O$]8aO$^8bO$_8bO%T#cOT$Qi!S$Qi!c$Qi#O$Qi#P$Qi#Y$Qi!n$Qi'P$Qi!r$Qi!y$Qi!o$QiV$Qi!p$Qi~P!%aOT8TOz8RO!c8VO!w:_O#T#PO$R8SO$S8WO$T8XO$U8YO$V8ZO$X8]O$Y8^O$Z8_O$[8`O$]8aO$^8bO$_8bO%T#cO!S$Qi#O$Qi#P$Qi#Y$Qi!n$Qi'P$Qi!r$Qi!y$Qi!o$QiV$Qi!p$Qi~P!%aOT8TOz8RO!w:_O#T#PO$R8SO$S8WO$T8XO$U8YO$V8ZO$X8]O$Y8^O$Z8_O$[8`O$]8aO$^8bO$_8bO%T#cO!S$Qi!c$Qi#O$Qi#P$Qi#Y$Qi!n$Qi'P$Qi!r$Qi!y$Qi!o$QiV$Qi!p$Qi~P!%aOz8RO#T#PO$T8XO$U8YO$V8ZO$X8]O$Y8^O$Z8_O$[8`O$]8aO$^8bO$_8bO%T#cOT$Qi!S$Qi!c$Qi!w$Qi#O$Qi#P$Qi#Y$Qi$R$Qi$S$Qi!n$Qi'P$Qi!r$Qi!y$Qi!o$QiV$Qi!p$Qi~P!%aOz8RO#T#PO$U8YO$V8ZO$X8]O$Y8^O$Z8_O$[8`O$]8aO$^8bO$_8bO%T#cOT$Qi!S$Qi!c$Qi!w$Qi#O$Qi#P$Qi#Y$Qi$R$Qi$S$Qi$T$Qi!n$Qi'P$Qi!r$Qi!y$Qi!o$QiV$Qi!p$Qi~P!%aOz8RO#T#PO$V8ZO$X8]O$Y8^O$Z8_O$[8`O$]8aO$^8bO$_8bO%T#cOT$Qi!S$Qi!c$Qi!w$Qi#O$Qi#P$Qi#Y$Qi$R$Qi$S$Qi$T$Qi$U$Qi!n$Qi'P$Qi!r$Qi!y$Qi!o$QiV$Qi!p$Qi~P!%aOz8RO#T#PO$X8]O$Y8^O$Z8_O$[8`O$]8aO$^8bO$_8bO%T#cOT$Qi!S$Qi!c$Qi!w$Qi#O$Qi#P$Qi#Y$Qi$R$Qi$S$Qi$T$Qi$U$Qi$V$Qi!n$Qi'P$Qi!r$Qi!y$Qi!o$QiV$Qi!p$Qi~P!%aOz8RO$X8]O$Y8^O$Z8_O$[8`O$]8aO$^8bO$_8bO%T#cOT$Qi!S$Qi!c$Qi!w$Qi#O$Qi#P$Qi#T$Qi#Y$Qi$R$Qi$S$Qi$T$Qi$U$Qi$V$Qi!n$Qi'P$Qi!r$Qi!y$Qi!o$QiV$Qi!p$Qi~P!%aOz8RO$Y8^O$Z8_O$[8`O$]8aO$^8bO$_8bO%T#cOT$Qi!S$Qi!c$Qi!w$Qi#O$Qi#P$Qi#T$Qi#Y$Qi$R$Qi$S$Qi$T$Qi$U$Qi$V$Qi$X$Qi!n$Qi'P$Qi!r$Qi!y$Qi!o$QiV$Qi!p$Qi~P!%aOz8RO$Z8_O$[8`O$]8aO$^8bO$_8bO%T#cOT$Qi!S$Qi!c$Qi!w$Qi#O$Qi#P$Qi#T$Qi#Y$Qi$R$Qi$S$Qi$T$Qi$U$Qi$V$Qi$X$Qi$Y$Qi!n$Qi'P$Qi!r$Qi!y$Qi!o$QiV$Qi!p$Qi~P!%aOz8RO$[8`O$^8bO$_8bO%T#cOT$Qi!S$Qi!c$Qi!w$Qi#O$Qi#P$Qi#T$Qi#Y$Qi$R$Qi$S$Qi$T$Qi$U$Qi$V$Qi$X$Qi$Y$Qi$Z$Qi$]$Qi!n$Qi'P$Qi!r$Qi!y$Qi!o$QiV$Qi!p$Qi~P!%aOz8RO$^8bO$_8bO%T#cOT$Qi!S$Qi!c$Qi!w$Qi#O$Qi#P$Qi#T$Qi#Y$Qi$R$Qi$S$Qi$T$Qi$U$Qi$V$Qi$X$Qi$Y$Qi$Z$Qi$[$Qi$]$Qi!n$Qi'P$Qi!r$Qi!y$Qi!o$QiV$Qi!p$Qi~P!%aOz8RO$Z8_O$[8`O$^8bO$_8bO%T#cOT$Qi!S$Qi!c$Qi!w$Qi#O$Qi#P$Qi#T$Qi#Y$Qi$R$Qi$S$Qi$T$Qi$U$Qi$V$Qi$X$Qi$Y$Qi$]$Qi!n$Qi'P$Qi!r$Qi!y$Qi!o$QiV$Qi!p$Qi~P!%aOz8RO$_8bO%T#cOT$Qi!S$Qi!c$Qi!w$Qi#O$Qi#P$Qi#T$Qi#Y$Qi$R$Qi$S$Qi$T$Qi$U$Qi$V$Qi$X$Qi$Y$Qi$Z$Qi$[$Qi$]$Qi$^$Qi!n$Qi'P$Qi!r$Qi!y$Qi!o$QiV$Qi!p$Qi~P!%aO#T9fO~P!+iO!n#Ua'P#Ua!y#Ua!o#Ua~PCVO!n'^a'P'^a!y'^a!o'^a~PCVO#T=PO#V=OO!y&aX#O&aX~PvO#T#PO$R:aO$S:eO$T:fO$U:gO$V:hO$X:jO$Y:kO$Z:lO$[:mO$]:nO$^:oO$_:oO%T#cO!y#Wi#O#Wi~P!%aOz8RO!w:_O#T#PO$R8SO$S8WO$T8XO$U8YO$V8ZO$X8]O$Y8^O$Z8_O$[8`O$]8aO$^8bO$_8bO%T#cOT#Qq!S#Qq!c#Qq#O#Qq#P#Qq#Y#Qq!n#Qq'P#Qq!r#Qq!y#Qq!o#QqV#Qq!p#Qq~P!%aOT8TOz8RO!S8UO!c8VO!w:_O#T#PO$R8SO$S8WO$T8XO$U8YO$V8ZO$X8]O$Y8^O$Z8_O$[8`O$]8aO$^8bO$_8bO%T#cO#O$sq#P$sq#Y$sq!n$sq'P$sq!r$sq!y$sq!o$sqV$sq!p$sq~P!%aOT:bOz:`O!S:cO!c:dO!w>vO#T#PO$R:aO$S:eO$T:fO$U:gO$V:hO$X:jO$Y:kO$Z:lO$[:mO$]:nO$^:oO$_:oO%T#cO!y&wa#O&wa~P!%aOT:bOz:`O!S:cO!c:dO!w>vO#T#PO$R:aO$S:eO$T:fO$U:gO$V:hO$X:jO$Y:kO$Z:lO$[:mO$]:nO$^:oO$_:oO%T#cO!y&_a#O&_a~P!%aOz8RO#T#PO$R8SO$S8WO$T8XO$U8YO$V8ZO$X8]O$Y8^O$Z8_O$[8`O$]8aO$^8bO$_8bO%T#cOT!vy!S!vy!c!vy!w!vy#O!vy#P!vy#Y!vy!n!vy'P!vy!r!vy!y!vy!o!vyV!vy!p!vy~P!%aOT:bOz:`O!S:cO!c:dO!w>vO#T#PO$R:aO$S:eO$T:fO$U:gO$V:hO$X:jO$Y:kO$Z:lO$[:mO$]:nO$^:oO$_:oO%T#cO!y#Wq#O#Wq~P!%aOT8TOz8RO!S8UO!c8VO!w:_O#T#PO$R8SO$S8WO$T8XO$U8YO$V8ZO$X8]O$Y8^O$Z8_O$[8`O$]8aO$^8bO$_8bO%T#cO#O$sy#P$sy#Y$sy!n$sy'P$sy!r$sy!y$sy!o$syV$sy!p$sy~P!%aOT8TOz8RO!S8UO!c8VO!w:_O#T#PO$R8SO$S8WO$T8XO$U8YO$V8ZO$X8]O$Y8^O$Z8_O$[8`O$]8aO$^8bO$_8bO%T#cO#O$s!R#P$s!R#Y$s!R!n$s!R'P$s!R!r$s!R!y$s!R!o$s!RV$s!R!p$s!R~P!%aOT8TOz8RO!S8UO!c8VO!w:_O#T#PO$R8SO$S8WO$T8XO$U8YO$V8ZO$X8]O$Y8^O$Z8_O$[8`O$]8aO$^8bO$_8bO%T#cO#O$s!Z#P$s!Z#Y$s!Z!n$s!Z'P$s!Z!r$s!Z!y$s!Z!o$s!ZV$s!Z!p$s!Z~P!%aOT8TOz8RO!S8UO!c8VO!w:_O#T#PO$R8SO$S8WO$T8XO$U8YO$V8ZO$X8]O$Y8^O$Z8_O$[8`O$]8aO$^8bO$_8bO%T#cO#O$s!c#P$s!c#Y$s!c!n$s!c'P$s!c!r$s!c!y$s!c!o$s!cV$s!c!p$s!c~P!%aO#T9vO~PvO#T#PO$R:aO$S:eO$T:fO$U:gO$V:hO$X:jO$Y:kO$Z:lO$[:mO$]:nO$^:oO$_:oO%T#cO!y$`a#O$`a~P!%aOT:bOz:`O!S:cO!c:dO!w>vO#T#PO$R:aO$S:eO$T:fO$U:gO$V:hO$X:jO$Y:kO$Z:lO$[:mO$]:nO$^:oO$_:oO%T#cO!y$aa#O$aa~P!%aOT:bOz:`O!S:cO!c:dO!w>vO#T#PO$R:aO$S:eO$T:fO$U:gO$V:hO$X:jO$Y:kO$Z:lO$[:mO$]:nO$^:oO$_:oO%T#cO!y$ba#O$ba~P!%aOT:bOz:`O!S:cO!c:dO!w>vO#T#PO$R:aO$S:eO$T:fO$U:gO$V:hO$X:jO$Y:kO$Z:lO$[:mO$]:nO$^:oO$_:oO%T#cO!y$ca#O$ca~P!%aOz:`O%T#cOT$ca!S$ca!c$ca!w$ca!y$ca#O$ca#T$ca$R$ca$S$ca$T$ca$U$ca$V$ca$X$ca$Y$ca$Z$ca$[$ca$]$ca$^$ca$_$ca~P!%aOT:bOz:`O!S:cO!c:dO!w>vO#T#PO$R:aO$S:eO$T:fO$U:gO$V:hO$X:jO$Y:kO$Z:lO$[:mO$]:nO$^:oO$_:oO%T#cO!y$fa#O$fa~P!%aO!r?SO#P9^O~OT:bOz:`O!S:cO!c:dO!w>vO#T#PO$R:aO$S:eO$T:fO$U:gO$V:hO$X:jO$Y:kO$Z:lO$[:mO$]:nO$^:oO$_:oO%T#cO!y$ta#O$ta~P!%aOT:bOz:`O!S:cO!c:dO!w>vO#T#PO$R:aO$S:eO$T:fO$U:gO$V:hO$X:jO$Y:kO$Z:lO$[:mO$]:nO$^:oO$_:oO%T#cO!y%Va#O%Va~P!%aOT8TOz8RO!S8UO!c8VO!r9cO!w:_O#T#PO$R8SO$S8WO$T8XO$U8YO$V8ZO$X8]O$Y8^O$Z8_O$[8`O$]8aO$^8bO$_8bO%T#cO~P!%aOz:`O#T#PO$R:aO$S:eO$T:fO$U:gO$V:hO$X:jO$Y:kO$Z:lO$[:mO$]:nO$^:oO$_:oO%T#cOT$Qi!S$Qi!c$Qi!w$Qi!y$Qi#O$Qi~P!%aOz:`O!w>vO#T#PO$R:aO$S:eO$T:fO$U:gO$V:hO$X:jO$Y:kO$Z:lO$[:mO$]:nO$^:oO$_:oO%T#cOT$Qi!S$Qi!c$Qi!y$Qi#O$Qi~P!%aOT:bOz:`O!c:dO!w>vO#T#PO$R:aO$S:eO$T:fO$U:gO$V:hO$X:jO$Y:kO$Z:lO$[:mO$]:nO$^:oO$_:oO%T#cO!S$Qi!y$Qi#O$Qi~P!%aOT:bOz:`O!w>vO#T#PO$R:aO$S:eO$T:fO$U:gO$V:hO$X:jO$Y:kO$Z:lO$[:mO$]:nO$^:oO$_:oO%T#cO!S$Qi!c$Qi!y$Qi#O$Qi~P!%aOz:`O#T#PO$T:fO$U:gO$V:hO$X:jO$Y:kO$Z:lO$[:mO$]:nO$^:oO$_:oO%T#cOT$Qi!S$Qi!c$Qi!w$Qi!y$Qi#O$Qi$R$Qi$S$Qi~P!%aOz:`O#T#PO$U:gO$V:hO$X:jO$Y:kO$Z:lO$[:mO$]:nO$^:oO$_:oO%T#cOT$Qi!S$Qi!c$Qi!w$Qi!y$Qi#O$Qi$R$Qi$S$Qi$T$Qi~P!%aOz:`O#T#PO$V:hO$X:jO$Y:kO$Z:lO$[:mO$]:nO$^:oO$_:oO%T#cOT$Qi!S$Qi!c$Qi!w$Qi!y$Qi#O$Qi$R$Qi$S$Qi$T$Qi$U$Qi~P!%aOz:`O#T#PO$X:jO$Y:kO$Z:lO$[:mO$]:nO$^:oO$_:oO%T#cOT$Qi!S$Qi!c$Qi!w$Qi!y$Qi#O$Qi$R$Qi$S$Qi$T$Qi$U$Qi$V$Qi~P!%aOz:`O$X:jO$Y:kO$Z:lO$[:mO$]:nO$^:oO$_:oO%T#cOT$Qi!S$Qi!c$Qi!w$Qi!y$Qi#O$Qi#T$Qi$R$Qi$S$Qi$T$Qi$U$Qi$V$Qi~P!%aOz:`O$Y:kO$Z:lO$[:mO$]:nO$^:oO$_:oO%T#cOT$Qi!S$Qi!c$Qi!w$Qi!y$Qi#O$Qi#T$Qi$R$Qi$S$Qi$T$Qi$U$Qi$V$Qi$X$Qi~P!%aOz:`O$Z:lO$[:mO$]:nO$^:oO$_:oO%T#cOT$Qi!S$Qi!c$Qi!w$Qi!y$Qi#O$Qi#T$Qi$R$Qi$S$Qi$T$Qi$U$Qi$V$Qi$X$Qi$Y$Qi~P!%aOz:`O$[:mO$^:oO$_:oO%T#cOT$Qi!S$Qi!c$Qi!w$Qi!y$Qi#O$Qi#T$Qi$R$Qi$S$Qi$T$Qi$U$Qi$V$Qi$X$Qi$Y$Qi$Z$Qi$]$Qi~P!%aOz:`O$^:oO$_:oO%T#cOT$Qi!S$Qi!c$Qi!w$Qi!y$Qi#O$Qi#T$Qi$R$Qi$S$Qi$T$Qi$U$Qi$V$Qi$X$Qi$Y$Qi$Z$Qi$[$Qi$]$Qi~P!%aOz:`O$Z:lO$[:mO$^:oO$_:oO%T#cOT$Qi!S$Qi!c$Qi!w$Qi!y$Qi#O$Qi#T$Qi$R$Qi$S$Qi$T$Qi$U$Qi$V$Qi$X$Qi$Y$Qi$]$Qi~P!%aOz:`O$_:oO%T#cOT$Qi!S$Qi!c$Qi!w$Qi!y$Qi#O$Qi#T$Qi$R$Qi$S$Qi$T$Qi$U$Qi$V$Qi$X$Qi$Y$Qi$Z$Qi$[$Qi$]$Qi$^$Qi~P!%aOz:`O!w>vO#T#PO$R:aO$S:eO$T:fO$U:gO$V:hO$X:jO$Y:kO$Z:lO$[:mO$]:nO$^:oO$_:oO%T#cOT#Qi!S#Qi!c#Qi!y#Qi#O#Qi~P!%aOz:`O!w>vO#T#PO$R:aO$S:eO$T:fO$U:gO$V:hO$X:jO$Y:kO$Z:lO$[:mO$]:nO$^:oO$_:oO%T#cOT#}i!S#}i!c#}i!y#}i#O#}i~P!%aOT:bOz:`O!S:cO!c:dO!w>vO#T#PO$R:aO$S:eO$T:fO$U:gO$V:hO$X:jO$Y:kO$Z:lO$[:mO$]:nO$^:oO$_:oO%T#cO!y$Pi#O$Pi~P!%aO!r?TO#P9hO~Oz:`O#T#PO$R:aO$S:eO$T:fO$U:gO$V:hO$X:jO$Y:kO$Z:lO$[:mO$]:nO$^:oO$_:oO%T#cOT!vq!S!vq!c!vq!w!vq!y!vq#O!vq~P!%aOz:`O!w>vO#T#PO$R:aO$S:eO$T:fO$U:gO$V:hO$X:jO$Y:kO$Z:lO$[:mO$]:nO$^:oO$_:oO%T#cOT#Qq!S#Qq!c#Qq!y#Qq#O#Qq~P!%aO!r?YO#P9oO~OT:bOz:`O!S:cO!c:dO!w>vO#T#PO$R:aO$S:eO$T:fO$U:gO$V:hO$X:jO$Y:kO$Z:lO$[:mO$]:nO$^:oO$_:oO%T#cO!y$sq#O$sq~P!%aO#P9oO#T'ZO#n'XO~Oz:`O#T#PO$R:aO$S:eO$T:fO$U:gO$V:hO$X:jO$Y:kO$Z:lO$[:mO$]:nO$^:oO$_:oO%T#cOT!vy!S!vy!c!vy!w!vy!y!vy#O!vy~P!%aOT:bOz:`O!S:cO!c:dO!w>vO#T#PO$R:aO$S:eO$T:fO$U:gO$V:hO$X:jO$Y:kO$Z:lO$[:mO$]:nO$^:oO$_:oO%T#cO!y$sy#O$sy~P!%aO#P9pO#T'ZO#n'XO~OT:bOz:`O!S:cO!c:dO!w>vO#T#PO$R:aO$S:eO$T:fO$U:gO$V:hO$X:jO$Y:kO$Z:lO$[:mO$]:nO$^:oO$_:oO%T#cO!y$s!R#O$s!R~P!%aO#P9sO#T'ZO#n'XO~OT:bOz:`O!S:cO!c:dO!w>vO#T#PO$R:aO$S:eO$T:fO$U:gO$V:hO$X:jO$Y:kO$Z:lO$[:mO$]:nO$^:oO$_:oO%T#cO!y$s!Z#O$s!Z~P!%aOT:bOz:`O!S:cO!c:dO!w>vO#T#PO$R:aO$S:eO$T:fO$U:gO$V:hO$X:jO$Y:kO$Z:lO$[:mO$]:nO$^:oO$_:oO%T#cO!y$s!c#O$s!c~P!%aO#T;}O~P!+iOT8TOz8RO!S8UO!c8VO!w:_O#P;|O#T#PO$R8SO$S8WO$T8XO$U8YO$V8ZO$X8]O$Y8^O$Z8_O$[8`O$]8aO$^8bO$_8bO%T#cO!y'^X#O'^X~P!%aO!U$uO$u$tO~P$8rOP7wOU_O[:rOo?tOs#fOx:rOy:rO}aO!O^O!QVO~P$8rOP7wOU_O[:rOo?tOs#fOx:rOy:rO}aO!O^O!QWO#X`O#dhO#fbO#gcO#sdO$[vO#T#PO$R:aO$S:eO$T:fO$U:gO$V:hO$X:jO$Y:kO$Z:lO$[:mO$]:nO$^:oO$_:oO%T#cO!y#Ua#O#Ua~P!%aOT:bOz:`O!S:cO!c:dO!w>vO#T#PO$R:aO$S:eO$T:fO$U:gO$V:hO$X:jO$Y:kO$Z:lO$[:mO$]:nO$^:oO$_:oO%T#cO!y'^a#O'^a~P!%aOz<]O!w?^O#T#PO$R<_O$SpO~P$8rOP7wOU_O[:rOo?tOs#fOx:rOy:rO}aO!O^O!QqO#X`O#dhO#fbO#gcO#sdO$[oO#T#PO$R8SO$S8WO$T8XO$U8YO$V8ZO$X8]O$Y8^O$Z8_O$[8`O$]8aO$^8bO$_8bO%T#cO~P!%aOT8TOz8RO!S8UO!c8VO!w:_O#P>nO#T#PO$R8SO$S8WO$T8XO$U8YO$V8ZO$X8]O$Y8^O$Z8_O$[8`O$]8aO$^8bO$_8bO%T#cO!n'^X!r'^X!o'^X#O'^X!p'^X'P'^X~P!%aOT'XXz'XX!S'XX!c'XX!w'XX!z'XX#O'XX#T'XX#X'XX#a'XX#b'XX#y'XX$R'XX$S'XX$T'XX$U'XX$V'XX$X'XX$Y'XX$Z'XX$['XX$]'XX$^'XX$_'XX%T'XX~O#|:uO$O:vO!y'XX~P.@qO!z$hO#T>zO~O!r;SO~PxO!n&qX!p&qX#O&qX'P&qX~O#O?QO!n'pa!p'pa'P'pa~O!r?rO#P;uO~OT[O~O!r?zO#P:rO~OT8TOz8RO!S8UO!c8VO!r>]O!w:_O#T#PO$R8SO$S8WO$T8XO$U8YO$V8ZO$X8]O$Y8^O$Z8_O$[8`O$]8aO$^8bO$_8bO%T#cO~P!%aOT8TOz8RO!S8UO!c8VO!r>^O!w:_O#T#PO$R8SO$S8WO$T8XO$U8YO$V8ZO$X8]O$Y8^O$Z8_O$[8`O$]8aO$^8bO$_8bO%T#cO~P!%aO!r?{O#P>cO~O!r?|O#P>hO~O#P>hO#T'ZO#n'XO~O#P:rO#T'ZO#n'XO~O#P>iO#T'ZO#n'XO~O#P>lO#T'ZO#n'XO~O!z$hO#T?nO~Oo>wOs$lO~O!z$hO#T?oO~O#O?QO!n'pX!p'pX'P'pX~O!z$hO#T?vO~O!z$hO#T?wO~O!z$hO#T?xO~Oo?lOs$lO~Oo?uOs$lO~Oo?tOs$lO~O%X$]%W$k!e$^#d%`#g'u'W#f~",goto:"%1O'{PPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPP'|P(TPP(Z(^PPP(vP(^*o(^6cP6cPP>cFxF{PP6cGR! RP! UP! UPPGR! e! h! lGRGRPP! oP! rPPGR!)u!0q!0qGR!0uP!0u!0u!0u!2PP!;g!S#>Y#>h#>n#>x#?O#?U#?[#?b#?l#?v#?|#@S#@^PPPPPPPP#@d#@hP#A^$(h$(k$(u$1R$1_$1t$1zP$1}$2Q$2W$5[$?Y$Gr$Gu$G{$HO$Kb$Ke$Kn$Kv$LQ$Li$MP$Mz%'}PP%0O%0S%0`%0u%0{Q!nQT!qV!rQUOR%x!mRVO}!hPVX!S!j!r!s!w%O%Q%T%V(h,Q,T.u.w/P0}1O1W2]|!hPVX!S!j!r!s!w%O%Q%T%V(h,Q,T.u.w/P0}1O1W2]Q%_!ZQ%h!aQ%m!eQ'k$cQ'x$iQ)d%lQ+W'{Q,k)QU.O+T+V+]Q.j+pQ/`,jS0a.T.UQ0q.dQ1n0VS1w0`0dQ2Q0nQ2q1pQ2t1xR3[2u|ZPVX!S!j!r!s!w%O%Q%T%V(h,Q,T.u.w/P0}1O1W2]2lf]`cgjklmnoprxyz!W!X!Y!]!e!f!g!y!z#Q#R#S#T#U#V#W#X#Y#Z#[#]#^#_#`#a#i#l#m#q#r#}$Q$R$T$h$z%S%U%d%r%}&S&W&[&q&t&u&x'P'X'Z']'a'e'p't'y(R(V(W(Y(Z([(t)T)X)`)c)g)n)u)y*V*Z*[*r*w*|+Q+X+[+^+_+j+m+q+t,Y,c,e,g,i,u,x-O-`-a-t-v-z.S.V.[.].^.b/X/n/y0O0T0b0e1R1S1b1k1o1y1{2k2r3n3p3s3t3u3x3y3z3{3|3}4O4P4Q4R4S4T4U4V4W4X4Y4Z4[4_4`4a4b4c4k5O5R5S5V5Z5[5_5a5b5d5e5f5g5h5i5j5k5l5m5n5o5p5q5r5u5{5|5}6O6P6Q6R6S6T6U6V6W6X6Y6Z6[6]6^6_6`6a6b6c6d6l7P7S7T7W7[7]7`7b7c7i7j7k7o7w7x7y7z7{7|7}8O8P8Q8R8S8T8U8V8W8X8Y8Z8[8]8^8_8`8a8b8d8e8f8g8h8s9T9W9Z9^9_9a9c9f9h9o9p9s9u9v9|9}:O:Q:R:S:T:U:V:W:X:Y:Z:[:]:^:_:`:a:b:c:d:e:f:g:h:i:j:k:l:m:n:o:q:r:s:u:v:w;S;e;i;j;k;n;u;v;z;|;}V>W>[>]>^>c>h>i>l>n>o>p>q>v?S?T?Y?^?_?p?q?r?y?z?{?|S$ku$`Q%W!V^%e!_$a'j)Y.f0o2OQ%i!bQ%j!cQ%k!dQ%v!kS&V!|){Q&]#OQ'l$dQ'm$eS'|$j'hQ)S%`Q*v'nQ+z(bQ,O(dQ-S)iU.g+n.c0mQ.q+{Q.r+|Q/d,vS0V-y0XQ1X/cQ1e/rS2T0s2WQ2h1`Q3U2iQ3^2zQ3_2{Q3c3VQ3f3`R3g3d0{!OPVX]`cjklmnopxyz!S!W!X!Y!]!g!j!r!s!w!y!z!|#Q#R#S#T#U#V#W#X#Y#Z#[#]#^#_#`#a#i#l#m#q#r$Q$R$T$z%O%Q%S%T%U%V%d%}&S&W&[&q&t&u&x'P']'a(R(V(h(t)T)X)n)u)y){*V*Z*[*|+^,Q,T,Y,c,e,g-`-a-t-z.[.u.w/P/X/y0O0T0e0s0}1O1R1S1W1k1o1{2W2]2r3p3u3x3y3z3{3|3}4O4P4Q4R4S4T4U4V4W4X4Y4Z4[4_4`4a4b4c4k5O5R5S5V5Z5[5_5a5b5d5e5f5g5h5i5j5k5l5m5n5o5p5q5r5u5{5|5}6O6P6Q6R6S6T6U6V6W6X6Y6Z6[6]6^6_6`6a6b6c6d6l7P7S7T7W7[7]7`7b7c7o7x7y7z7{7|7}8O8P8Q8R8S8T8U8V8W8X8Y8Z8[8]8^8_8`8a8b8d8e8f8g8h8s9T9W9Z9^9_9a9c9f9h9o9p9s9u9v:Q:R:S:T:U:V:W:X:Y:Z:[:]:^:_:`:a:b:c:d:e:f:g:h:i:j:k:l:m:n:o:q:r:s:u:v:w;S;e;i;j;k;n;u;v;z;|;}V>W>[>]>^>c>h>i>l>n>o>p>q>v?^?_0z!OPVX]`cjklmnopxyz!S!W!X!Y!]!g!j!r!s!w!y!z!|#Q#R#S#T#U#V#W#X#Y#Z#[#]#^#_#`#a#i#l#m#q#r$Q$R$T$z%O%Q%S%T%U%V%d%}&S&W&[&q&t&u&x'P']'a(R(V(h(t)T)X)n)u)y){*V*Z*[*|+^,Q,T,Y,c,e,g-`-a-t-z.[.u.w/P/X/y0O0T0e0s0}1O1R1S1W1k1o1{2W2]2r3p3u3x3y3z3{3|3}4O4P4Q4R4S4T4U4V4W4X4Y4Z4[4_4`4a4b4c4k5O5R5S5V5Z5[5_5a5b5d5e5f5g5h5i5j5k5l5m5n5o5p5q5r5u5{5|5}6O6P6Q6R6S6T6U6V6W6X6Y6Z6[6]6^6_6`6a6b6c6d6l7P7S7T7W7[7]7`7b7c7o7x7y7z7{7|7}8O8P8Q8R8S8T8U8V8W8X8Y8Z8[8]8^8_8`8a8b8d8e8f8g8h8s9T9W9Z9^9_9a9c9f9h9o9p9s9u9v:Q:R:S:T:U:V:W:X:Y:Z:[:]:^:_:`:a:b:c:d:e:f:g:h:i:j:k:l:m:n:o:q:r:s:u:v:w;S;e;i;j;k;n;u;v;z;|;}V>W>[>]>^>c>h>i>l>n>o>p>q>v?^?_Q#h^Q%O!PQ%P!QQ%Q!RQ,b(sQ.u,RR.y,UR&r#hQ*Q&qR/w-a0{hPVX]`cjklmnopxyz!S!W!X!Y!]!g!j!r!s!w!y!z!|#Q#R#S#T#U#V#W#X#Y#Z#[#]#^#_#`#a#i#l#m#q#r$Q$R$T$z%O%Q%S%T%U%V%d%}&S&W&[&q&t&u&x'P']'a(R(V(h(t)T)X)n)u)y){*V*Z*[*|+^,Q,T,Y,c,e,g-`-a-t-z.[.u.w/P/X/y0O0T0e0s0}1O1R1S1W1k1o1{2W2]2r3p3u3x3y3z3{3|3}4O4P4Q4R4S4T4U4V4W4X4Y4Z4[4_4`4a4b4c4k5O5R5S5V5Z5[5_5a5b5d5e5f5g5h5i5j5k5l5m5n5o5p5q5r5u5{5|5}6O6P6Q6R6S6T6U6V6W6X6Y6Z6[6]6^6_6`6a6b6c6d6l7P7S7T7W7[7]7`7b7c7o7x7y7z7{7|7}8O8P8Q8R8S8T8U8V8W8X8Y8Z8[8]8^8_8`8a8b8d8e8f8g8h8s9T9W9Z9^9_9a9c9f9h9o9p9s9u9v:Q:R:S:T:U:V:W:X:Y:Z:[:]:^:_:`:a:b:c:d:e:f:g:h:i:j:k:l:m:n:o:q:r:s:u:v:w;S;e;i;j;k;n;u;v;z;|;}V>W>[>]>^>c>h>i>l>n>o>p>q>v?^?_R#j_k#n`j#i#q&t&x5d5e9W:Q:R:S:TR#saT&}#r'PR-h*[R&R!{0zhPVX]`cjklmnopxyz!S!W!X!Y!]!g!j!r!s!w!y!z!|#Q#R#S#T#U#V#W#X#Y#Z#[#]#^#_#`#a#i#l#m#q#r$Q$R$T$z%O%Q%S%T%U%V%d%}&S&W&[&q&t&u&x'P']'a(R(V(h(t)T)X)n)u)y){*V*Z*[*|+^,Q,T,Y,c,e,g-`-a-t-z.[.u.w/P/X/y0O0T0e0s0}1O1R1S1W1k1o1{2W2]2r3p3u3x3y3z3{3|3}4O4P4Q4R4S4T4U4V4W4X4Y4Z4[4_4`4a4b4c4k5O5R5S5V5Z5[5_5a5b5d5e5f5g5h5i5j5k5l5m5n5o5p5q5r5u5{5|5}6O6P6Q6R6S6T6U6V6W6X6Y6Z6[6]6^6_6`6a6b6c6d6l7P7S7T7W7[7]7`7b7c7o7x7y7z7{7|7}8O8P8Q8R8S8T8U8V8W8X8Y8Z8[8]8^8_8`8a8b8d8e8f8g8h8s9T9W9Z9^9_9a9c9f9h9o9p9s9u9v:Q:R:S:T:U:V:W:X:Y:Z:[:]:^:_:`:a:b:c:d:e:f:g:h:i:j:k:l:m:n:o:q:r:s:u:v:w;S;e;i;j;k;n;u;v;z;|;}V>W>[>]>^>c>h>i>l>n>o>p>q>v?^?_R#tb-x!}[#e#k#u$U$V$W$X$Y$Z$v$w%X%Z%]%a%s%|&O&U&_&`&a&b&c&d&e&f&g&h&i&j&k&l&m&n&v&w&|'`'b'c(e(x)v)x)z*O*U*h*j+a+d,n,q-W-Y-[-e-f-g-w.Y/O/[/v0Q0Z0f1g1j1m1z2S2`2o2p2v3Z4]4^4d4e4f4g4h4i4j4l4m4n4o4p4q4r4s4t4u4v4w4x4y4z4{4|4}5P5Q5T5U5W5X5Y5]5^5`5t6e6f6g6h6i6j6k6m6n6o6p6q6r6s6t6u6v6w6x6y6z6{6|6}7O7Q7R7U7V7X7Y7Z7^7_7a7m7q8i8j8k8l8m8n8p8q8r8t8u8v8w8x8y8z8{8|8}9O9P9Q9R9S9U9V9Y9[9]9d9e9g9i9j9k9l9m9n9q9r9t9w:p:x:y:z:{:|:};Q;R;T;U;V;W;X;Y;Z;[;];^;_;`;a;b;c;d;f;g;l;m;p;r;s;w;y;{O>P>Q>R>S>T>U>X>Y>Z>_>`>a>b>d>e>f>g>j>k>m>r>s>{>|>}?V?b?cQ'd$[Y(X$s8o;P=^=_S(]3o7lQ(`$tR+y(aT&X!|){#a$Pg#}$h'X'Z'p't'y(W([)`)c*r*w+Q+X+[+_+j+m+n+t,i,u,x-v.S.V.].b.c0b0m1y3n3s3t7i7j7k7w9|9}:O?S?T?Y?p?q?r?y?z?{?|3yfPVX]`cgjklmnoprxyz!S!W!X!Y!]!e!f!g!j!r!s!w!y!z!|#Q#R#S#T#U#V#W#X#Y#Z#[#]#^#_#`#a#i#l#m#q#r#}$Q$R$T$h$z%O%Q%S%T%U%V%d%r%}&S&W&[&q&t&u&x'P'X'Z']'a'e'p't'y(R(V(W(Y(Z([(h(t)T)X)`)c)g)n)u)y){*V*Z*[*r*w*|+Q+X+[+^+_+j+m+n+q+t,Q,T,Y,c,e,g,i,u,x-O-`-a-t-v-z.S.V.[.].^.b.c.u.w/P/X/n/y0O0T0b0e0m0s0}1O1R1S1W1b1k1o1y1{2W2]2k2r3n3p3s3t3u3x3y3z3{3|3}4O4P4Q4R4S4T4U4V4W4X4Y4Z4[4_4`4a4b4c4k5O5R5S5V5Z5[5_5a5b5d5e5f5g5h5i5j5k5l5m5n5o5p5q5r5u5{5|5}6O6P6Q6R6S6T6U6V6W6X6Y6Z6[6]6^6_6`6a6b6c6d6l7P7S7T7W7[7]7`7b7c7i7j7k7o7w7x7y7z7{7|7}8O8P8Q8R8S8T8U8V8W8X8Y8Z8[8]8^8_8`8a8b8d8e8f8g8h8s9T9W9Z9^9_9a9c9f9h9o9p9s9u9v9|9}:O:Q:R:S:T:U:V:W:X:Y:Z:[:]:^:_:`:a:b:c:d:e:f:g:h:i:j:k:l:m:n:o:q:r:s:u:v:w;S;e;i;j;k;n;u;v;z;|;}V>W>[>]>^>c>h>i>l>n>o>p>q>v?S?T?Y?^?_?p?q?r?y?z?{?|[#wd#x3h3i3j3kh'V#z'W)f,}-U/k/u1f3l3m3q3rQ)e%nR-T)kY#yd%n)k3h3iV'T#x3j3k1dePVX]`cjklmnoprxyz!S!W!X!Y!]!e!g!j!r!s!w!y!z!|#Q#R#S#T#U#V#W#X#Y#Z#[#]#^#_#`#a#i#l#m#q#r$Q$R$T$z%O%Q%S%T%U%V%d%}&S&W&[&q&t&u&x'P']'a'e(R(V(Y(Z(h(t)T)X)g)n)u)y){*V*Z*[*|+^+q,Q,T,Y,c,e,g-O-`-a-t-z.[.^.u.w/P/X/n/y0O0T0e0s0}1O1R1S1W1b1k1o1{2W2]2k2r3p3u3x3y3z3{3|3}4O4P4Q4R4S4T4U4V4W4X4Y4Z4[4_4`4a4b4c4k5O5R5S5V5Z5[5_5a5b5d5e5f5g5h5i5j5k5l5m5n5o5p5q5r5u5{5|5}6O6P6Q6R6S6T6U6V6W6X6Y6Z6[6]6^6_6`6a6b6c6d6l7P7S7T7W7[7]7`7b7c7o7x7y7z7{7|7}8O8P8Q8R8S8T8U8V8W8X8Y8Z8[8]8^8_8`8a8b8d8e8f8g8h8s9T9W9Z9^9_9a9c9f9h9o9p9s9u9v:Q:R:S:T:U:V:W:X:Y:Z:[:]:^:_:`:a:b:c:d:e:f:g:h:i:j:k:l:m:n:o:q:r:s:u:v:w;S;e;i;j;k;n;u;v;z;|;}V>W>[>]>^>c>h>i>l>n>o>p>q>v?^?_Q%o!fQ)l%r#O3vg#}$h'X'Z'p't'y(W([)`*w+Q+X+[+_+j+m+t,i,u,x-v.S.V.].b0b1y7i7j7k7w9|9}:O?S?T?Y?p?q?r?y?z?{?|a3w)c*r+n.c0m3n3s3tY'T#z)f-U3l3mZ*c'W,}/u3q3r0vhPVX]`cjklmnopxyz!S!W!X!Y!]!g!j!r!s!w!y!z!|#Q#R#S#T#U#V#W#X#Y#Z#[#]#^#_#`#a#i#l#m#q#r$Q$R$T$z%O%Q%S%T%U%V%d%}&S&W&[&q&t&u&x'P']'a(R(V(h(t)T)X)n)u)y){*V*Z*[*|+^,Q,T,Y,c,e,g-`-a-t-z.[.u.w/P/X/y0O0T0e0}1O1R1S1W1k1o1{2]2r3p3u3x3y3z3{3|3}4O4P4Q4R4S4T4U4V4W4X4Y4Z4[4_4`4a4b4c4k5O5R5S5V5Z5[5_5a5b5d5e5f5g5h5i5j5k5l5m5n5o5p5q5r5u5{5|5}6O6P6Q6R6S6T6U6V6W6X6Y6Z6[6]6^6_6`6a6b6c6d6l7P7S7T7W7[7]7`7b7c7o7x7y7z7{7|7}8O8P8Q8R8S8T8U8V8W8X8Y8Z8[8]8^8_8`8a8b8d8e8f8g8h8s9T9W9Z9^9_9a9c9f9h9o9p9s9u9v:Q:R:S:T:U:V:W:X:Y:Z:[:]:^:_:`:a:b:c:d:e:f:g:h:i:j:k:l:m:n:o:q:r:s:u:v:w;S;e;i;j;k;n;u;v;z;|;}V>W>[>]>^>c>h>i>l>n>o>p>q>v?^?_T2U0s2WR&^#OR&]#O!r#Z[#e#u$U$V$W$X$Z$s$w%X%Z%]&`&a&b&c&d&e&f&g'`'b'c(e)v)x*O*j+d-Y.Y0f1z2`2p2v3Z9U9V!Y4U3o4d4e4f4g4i4j4l4m4n4o4p4q4r4s4{4|4}5P5Q5T5U5W5X5Y5]5^5`!^6X4^6e6f6g6h6j6k6m6n6o6p6q6r6s6t6|6}7O7Q7R7U7V7X7Y7Z7^7_7a7l7m#b8[#k%a%s%|&O&v&w&|(x*U+a,n,q-W-e-g/[4]5t7q8i8j8k8l8n8o8p8t8u8v8w8x8y8z8{9Y9[9]9d9g9i9l9n9q9r9t9w:p;Rr>s>{?b?c!|:i&U)z-[-f-w0Q0Z1g1j1m2o8q8r9e9j9k9m:x:y:z:{:};P;Q;T;U;V;W;X;Y;Z;[;d;f;g;l;m;p;r;s;w;y;{>R>S!`T>X>Z>_>a>d>e>g>j>k>m>|>}?VoU>Y>`>b>fS$iu#fQ$qwU'{$j$l&pQ'}$kS(P$m$rQ+Z'|Q+](OQ+`(QQ1p0VQ5s7dS5v7f7gQ5w7hQ7p9xS7r9y9zQ7s9{Q;O>uS;h>w>zQ;o?PQ>y?jS?O?l?nQ?U?oQ?`?sS?a?t?wS?d?u?vR?e?xT'u$h+Q!csPVXt!S!j!r!s!w$h%O%Q%T%V'p([(h)`+Q+j+t,Q,T,u,x.u.w/P0}1O1W2]Q$]rR*l'eQ-{+PQ.i+oQ0U-xQ0j.`Q1|0kR2w1}T0W-y0XQ+V'zQ.U+YR0d.XQ(_$tQ)^%iQ)s%vQ*u'mS+x(`(aQ-q*vR.p+yQ(^$tQ)b%kQ)r%vQ*q'lS*t'm)sU+w(_(`(aS-p*u*vS.o+x+yQ/i,{Q/{-nQ/}-qR0v.pQ(]$tQ)]%iQ)_%jQ)q%vU*s'm)r)sW+v(^(_(`(aQ,t)^U-o*t*u*vU.n+w+x+yS/|-p-qS0u.o.pQ1i/}R2Y0vX+r([)`+t,xb%f!_$a'j+n.c.f0m0o2OR,r)YQ$ovS+b(S?Qg?m([)`+i+j+m+t,u,x.a.b0lR0t.kT2V0s2W0}|PVX]`cjklmnopxyz!S!W!X!Y!]!g!j!r!s!w!y!z!|#Q#R#S#T#U#V#W#X#Y#Z#[#]#^#_#`#a#i#l#m#q#r$Q$R$T$z%O%Q%S%T%U%V%d%}&S&W&[&q&t&u&x'P']'a(R(V(h(t)T)X)n)u)y){*V*Z*[*|+^,Q,T,Y,c,e,g,m-`-a-t-z.[.u.w/P/X/y0O0T0e0s0}1O1R1S1W1k1o1{2W2]2r3p3u3x3y3z3{3|3}4O4P4Q4R4S4T4U4V4W4X4Y4Z4[4_4`4a4b4c4k5O5R5S5V5Z5[5_5a5b5d5e5f5g5h5i5j5k5l5m5n5o5p5q5r5u5{5|5}6O6P6Q6R6S6T6U6V6W6X6Y6Z6[6]6^6_6`6a6b6c6d6l7P7S7T7W7[7]7`7b7c7o7x7y7z7{7|7}8O8P8Q8R8S8T8U8V8W8X8Y8Z8[8]8^8_8`8a8b8d8e8f8g8h8s9T9W9Z9^9_9a9c9f9h9o9p9s9u9v:Q:R:S:T:U:V:W:X:Y:Z:[:]:^:_:`:a:b:c:d:e:f:g:h:i:j:k:l:m:n:o:q:r:s:u:v:w;S;e;i;j;k;n;u;v;z;|;}V>W>[>]>^>c>h>i>l>n>o>p>q>v?^?_T$y{$|Q,O(dR.r+|T${{$|Q(j%OQ(r%QQ(w%TQ(z%VQ.},XQ0z.yQ0{.|R2c1WR(m%PX,[(k(l,],_R(n%PX(p%Q%T%V1WR%T!T_%b!]%S(t,c,e/X1RR%V!UR/],gR,j)PQ)a%kS*p'l)bS-m*q,{S/z-n/iR1h/{T,w)`,xQ-P)fU/l,|,}-UU1^/k/t/uR2n1fR/o-OR2l1bSSO!mR!oSQ!rVR%y!rQ!jPS!sV!rQ!wX[%u!j!s!w,Q1O2]Q,Q(hQ1O/PR2]0}Q)o%sS-X)o9bR9b8rQ-b*QR/x-bQ&y#oS*X&y9XR9X:tS*]&|&}R-i*]Q)|&YR-^)|!j'Y#|'o*f*z+O+T+e+i.T.W.Z.a/_0`0c0g0l1x2u5x5y5z7e7t7u7v;q;t;x?W?X?Z?f?g?h?iS*e'Y/g]/g,{-n.f0o1[2O!h'[#|'o*z+O+T+e+i.T.W.Z.a/_0`0c0g0l1x2u5x5y5z7e7t7u7v;q;t;x?W?X?Z?f?g?h?iS*g'[/hZ/h,{-n.f0o2OU#xd%n)kU'S#x3j3kQ3j3hR3k3iQ'W#z^*b'W,}/k/u1f3q3rQ,})fQ/u-UQ3q3lR3r3m|tPVX!S!j!r!s!w%O%Q%T%V(h,Q,T.u.w/P0}1O1W2]W$_t'p+j,uS'p$h+QS+j([+tT,u)`,xQ'f$]R*m'fQ0X-yR1q0XQ+R'vR-}+RQ0].PS1u0]1vR1v0^Q._+fR0i._Q+t([R.l+tW+m([)`+t,xS.b+j,uT.e+m.bQ)Z%fR,s)ZQ(T$oS+c(T?RR?R?mQ2W0sR2}2WQ$|{R(f$|Q,S(iR.v,SQ,V(jR.z,VQ,](kQ,_(lT/Q,],_Q)U%aS,o)U9`R9`8qQ)R%_R,l)RQ,x)`R/e,xQ)h%pS-R)h/sR/s-SQ1c/oR2m1cT!uV!rj!iPVX!j!r!s!w(h,Q/P0}1O2]Q%R!SQ(i%OW(p%Q%T%V1WQ.x,TQ0x.uR0y.w|[PVX!S!j!r!s!w%O%Q%T%V(h,Q,T.u.w/P0}1O1W2]Q#e]U#k`#q&xQ#ucQ$UkQ$VlQ$WmQ$XnQ$YoQ$ZpQ$sx^$vy3y5|8P:]n>oQ+a(RQ+d(VQ,n)TQ,q)XQ-W)nQ-Y)uQ-[)yQ-e*VQ-f*ZQ-g*[^-k3u5b7c9v;}>p>qQ-w*|Q.Y+^Q/O,YQ/[,gQ/v-`Q0Q-tQ0Z-zQ0f.[Q1g/yQ1j0OQ1m0TQ1z0eU2S0s2W:rQ2`1SQ2o1kQ2p1oQ2v1{Q3Z2rQ3o3xQ4]jQ4^5eQ4d5fQ4e5hQ4f5jQ4g5lQ4h5nQ4i5pQ4j3zQ4l3|Q4m3}Q4n4OQ4o4PQ4p4QQ4q4RQ4r4SQ4s4TQ4t4UQ4u4VQ4v4WQ4w4XQ4x4YQ4y4ZQ4z4[Q4{4_Q4|4`Q4}4aQ5P4bQ5Q4cQ5T4kQ5U5OQ5W5RQ5X5SQ5Y5VQ5]5ZQ5^5[Q5`5_Q5t5rQ6e5gQ6f5iQ6g5kQ6h5mQ6i5oQ6j5qQ6k5}Q6m6PQ6n6QQ6o6RQ6p6SQ6q6TQ6r6UQ6s6VQ6t6WQ6u6XQ6v6YQ6w6ZQ6x6[Q6y6]Q6z6^Q6{6_Q6|6`Q6}6aQ7O6bQ7Q6cQ7R6dQ7U6lQ7V7PQ7X7SQ7Y7TQ7Z7WQ7^7[Q7_7]Q7a7`Q7l5{Q7m5dQ7q7oQ8i7xQ8j7yQ8k7zQ8l7{Q8m7|Q8n7}Q8o8OQ8p8QU8q,c/X1RQ8r%dQ8t8SQ8u8TQ8v8UQ8w8VQ8x8WQ8y8XQ8z8YQ8{8ZQ8|8[Q8}8]Q9O8^Q9P8_Q9Q8`Q9R8aQ9S8bQ9U8dQ9V8eQ9Y8fQ9[8gQ9]8hQ9d8sQ9e9TQ9g9ZQ9i9^Q9j9_Q9k9aQ9l9cQ9m9fQ9n9hQ9q9oQ9r9pQ9t9sQ9w:QU:p#i&t9WQ:x:UQ:y:VQ:z:WQ:{:XQ:|:YQ:}:ZQ;P:[Q;Q:^Q;R:_Q;T:aQ;U:bQ;V:cQ;W:dQ;X:eQ;Y:fQ;Z:gQ;[:hQ;]:iQ;^:jQ;_:kQ;`:lQ;a:mQ;b:nQ;c:oQ;d:uQ;f:vQ;g:wQ;l;SQ;m;eQ;p;jQ;r;kQ;s;nQ;w;uQ;y;vQ;{;zQOP<{Q>Q<|Q>R=OQ>S=PQ>T=QQ>U=RQ>X=SQ>Y=TQ>Z=UQ>_=aQ>`=bQ>a>VQ>b>WQ>d>[Q>e>]Q>f>^Q>g>cQ>j>hQ>k>iQ>m>lQ>r:SQ>s:RQ>{>vQ>|:qQ>}:sQ?V;iQ?b?^R?c?_R*R&qQ%t!gQ)W%dT*P&q-a$WiPVX]cklmnopxyz!S!W!X!Y!j!r!s!w#Q#R#S#T#U#V#W#X#Y#Z#[#]#^#_#`#a$Q$R$T$z%O%Q%T%V%}&S&['a(V(h)u+^,Q,T.[.u.w/P0e0}1O1S1W1o1{2]2r3p3u8d8e!t5c']3x3y3z3{3|3}4O4P4Q4R4S4T4U4V4W4X4Y4Z4[4_4`4a4b4c4k5O5R5S5V5Z5[5_5f5h5j5l5n5p7b7c!x7n5a5b5d5e5g5i5k5m5o5q5u5{5|5}6O6P6Q6R6S6T6U6V6W6X6Y6Z6[6]6^6_6`6a6b6c6d6l7P7S7T7W7[7]7`$`:P`j!]!g!y!z#i#l#m#q#r%S%U&q&t&u&x'P(R(t)T)X)n*V*[,e,g-a5r7o7x7y7z7{7|7}8O8P8Q8R8S8T8U8V8W8X8Y8Z8[8]8^8_8`8a8b8f8g8h8s9W9Z9^9c9h9o9p9s9u9v:Q:R:S:T:_>v?^?_#l>t!|%d&W)y){*Z*|,c-t-z/X/y0O0T1R1k9T9_9a9f:U:V:W:X:Y:Z:[:]:^:`:a:b:c:d:e:f:g:h:i:j:k:l:m:n:o:u:v:w;S;e;j;k;n;u;v;z;|;}=O=P!x?[,Y-`:q:s;iV>[>]>c>h>i>l>n>p!]?]0s2W:rW>^>o>qQ#p`Q&s#iQ&{#qR*T&tS#o`#q^$Sj5d5e:Q:R:S:TS*W&x9WT:t#i&tQ'O#rR*_'PR&T!{R&Z!|Q&Y!|R-]){Q#|gS'^#}3nS'o$h+QS*d'X3sU*f'Z*w-vQ*z'pQ+O'tQ+T'yQ+e(WW+i([)`+t,xQ,{)cQ-n*rQ.T+XQ.W+[Q.Z+_U.a+j+m,uQ.f+nQ/_,iQ0`.SQ0c.VQ0g.]Q0l.bQ0o.cQ1[3tQ1x0bQ2O0mQ2u1yQ5x7iQ5y7jQ5z7kQ7e7wQ7t9|Q7u9}Q7v:OQ;q?SQ;t?TQ;x?YQ?W?pQ?X?qQ?Z?rQ?f?yQ?g?zQ?h?{R?i?|0z!OPVX]`cjklmnopxyz!S!W!X!Y!]!g!j!r!s!w!y!z!|#Q#R#S#T#U#V#W#X#Y#Z#[#]#^#_#`#a#i#l#m#q#r$Q$R$T$z%O%Q%S%T%U%V%d%}&S&W&[&q&t&u&x'P']'a(R(V(h(t)T)X)n)u)y){*V*Z*[*|+^,Q,T,Y,c,e,g-`-a-t-z.[.u.w/P/X/y0O0T0e0s0}1O1R1S1W1k1o1{2W2]2r3p3u3x3y3z3{3|3}4O4P4Q4R4S4T4U4V4W4X4Y4Z4[4_4`4a4b4c4k5O5R5S5V5Z5[5_5a5b5d5e5f5g5h5i5j5k5l5m5n5o5p5q5r5u5{5|5}6O6P6Q6R6S6T6U6V6W6X6Y6Z6[6]6^6_6`6a6b6c6d6l7P7S7T7W7[7]7`7b7c7o7x7y7z7{7|7}8O8P8Q8R8S8T8U8V8W8X8Y8Z8[8]8^8_8`8a8b8d8e8f8g8h8s9T9W9Z9^9_9a9c9f9h9o9p9s9u9v:Q:R:S:T:U:V:W:X:Y:Z:[:]:^:_:`:a:b:c:d:e:f:g:h:i:j:k:l:m:n:o:q:r:s:u:v:w;S;e;i;j;k;n;u;v;z;|;}V>W>[>]>^>c>h>i>l>n>o>p>q>v?^?_#`$Og#}$h'X'Z'p't'y(W([)`)c*r*w+Q+X+[+_+j+m+n+t,i,u,x-v.S.V.].b.c0b0m1y3n3s3t7i7j7k7w9|9}:O?S?T?Y?p?q?r?y?z?{?|S$[r'eQ%l!eS%p!f%rU+f(Y(Z+qQ-Q)gQ/m-OQ0h.^Q1a/nQ2j1bR3W2k|vPVX!S!j!r!s!w%O%Q%T%V(h,Q,T.u.w/P0}1O1W2]#Y#g]cklmnopxyz!W!X!Y#Q#R#S#T#U#V#W#X#Y#Z#[#]#^#_#`#a$Q$R$T$z%}&S&['a(V)u+^.[0e1S1o1{2r3p3u8d8e`+k([)`+j+m+t,u,x.b!t8c']3x3y3z3{3|3}4O4P4Q4R4S4T4U4V4W4X4Y4Z4[4_4`4a4b4c4k5O5R5S5V5Z5[5_5f5h5j5l5n5p7b7c!x<}5a5b5d5e5g5i5k5m5o5q5u5{5|5}6O6P6Q6R6S6T6U6V6W6X6Y6Z6[6]6^6_6`6a6b6c6d6l7P7S7T7W7[7]7`$`?k`j!]!g!y!z#i#l#m#q#r%S%U&q&t&u&x'P(R(t)T)X)n*V*[,e,g-a5r7o7x7y7z7{7|7}8O8P8Q8R8S8T8U8V8W8X8Y8Z8[8]8^8_8`8a8b8f8g8h8s9W9Z9^9c9h9o9p9s9u9v:Q:R:S:T:_>v?^?_#l?}!|%d&W)y){*Z*|,c-t-z/X/y0O0T1R1k9T9_9a9f:U:V:W:X:Y:Z:[:]:^:`:a:b:c:d:e:f:g:h:i:j:k:l:m:n:o:u:v:w;S;e;j;k;n;u;v;z;|;}=O=P!x@O,Y-`:q:s;iV>[>]>c>h>i>l>n>p!]@P0s2W:rW>^>o>qR'w$hQ'v$hR-|+QR$^rQ#d[Q%Y!WQ%[!XQ%^!YQ(U$pQ({%WQ(|%XQ(}%ZQ)O%]Q)V%cQ)[%gQ)d%lQ)j%qQ)p%tQ*n'iQ-V)mQ-l*oQ.i+oQ.j+pQ.x,WQ/S,`Q/T,aQ/U,bQ/Z,fQ/^,hQ/b,pQ/q-PQ0j.`Q0q.dQ0r.hQ0t.kQ0y.{Q1Y/dQ1_/lQ1n0VQ1|0kQ2Q0nQ2R0pQ2[0|Q2d1XQ2g1^Q2w1}Q2y2PQ2|2VQ3P2ZQ3T2fQ3X2nQ3Y2pQ3]2xQ3a3RQ3b3SR3e3ZR.R+UQ+g(YQ+h(ZR.k+qS+s([+tT,w)`,xa+l([)`+j+m+t,u,x.bQ%g!_Q'i$aQ*o'jQ.h+nS0p.c.fS2P0m0oR2x2OQ$pvW+o([)`+t,xW.`+i+j+m,uS0k.a.bR1}0l|!aPVX!S!j!r!s!w%O%Q%T%V(h,Q,T.u.w/P0}1O1W2]Q$ctW+p([)`+t,xU.d+j+m,uR0n.b0z!OPVX]`cjklmnopxyz!S!W!X!Y!]!g!j!r!s!w!y!z!|#Q#R#S#T#U#V#W#X#Y#Z#[#]#^#_#`#a#i#l#m#q#r$Q$R$T$z%O%Q%S%T%U%V%d%}&S&W&[&q&t&u&x'P']'a(R(V(h(t)T)X)n)u)y){*V*Z*[*|+^,Q,T,Y,c,e,g-`-a-t-z.[.u.w/P/X/y0O0T0e0s0}1O1R1S1W1k1o1{2W2]2r3p3u3x3y3z3{3|3}4O4P4Q4R4S4T4U4V4W4X4Y4Z4[4_4`4a4b4c4k5O5R5S5V5Z5[5_5a5b5d5e5f5g5h5i5j5k5l5m5n5o5p5q5r5u5{5|5}6O6P6Q6R6S6T6U6V6W6X6Y6Z6[6]6^6_6`6a6b6c6d6l7P7S7T7W7[7]7`7b7c7o7x7y7z7{7|7}8O8P8Q8R8S8T8U8V8W8X8Y8Z8[8]8^8_8`8a8b8d8e8f8g8h8s9T9W9Z9^9_9a9c9f9h9o9p9s9u9v:Q:R:S:T:U:V:W:X:Y:Z:[:]:^:_:`:a:b:c:d:e:f:g:h:i:j:k:l:m:n:o:q:r:s:u:v:w;S;e;i;j;k;n;u;v;z;|;}V>W>[>]>^>c>h>i>l>n>o>p>q>v?^?_R/a,m0}}PVX]`cjklmnopxyz!S!W!X!Y!]!g!j!r!s!w!y!z!|#Q#R#S#T#U#V#W#X#Y#Z#[#]#^#_#`#a#i#l#m#q#r$Q$R$T$z%O%Q%S%T%U%V%d%}&S&W&[&q&t&u&x'P']'a(R(V(h(t)T)X)n)u)y){*V*Z*[*|+^,Q,T,Y,c,e,g,m-`-a-t-z.[.u.w/P/X/y0O0T0e0s0}1O1R1S1W1k1o1{2W2]2r3p3u3x3y3z3{3|3}4O4P4Q4R4S4T4U4V4W4X4Y4Z4[4_4`4a4b4c4k5O5R5S5V5Z5[5_5a5b5d5e5f5g5h5i5j5k5l5m5n5o5p5q5r5u5{5|5}6O6P6Q6R6S6T6U6V6W6X6Y6Z6[6]6^6_6`6a6b6c6d6l7P7S7T7W7[7]7`7b7c7o7x7y7z7{7|7}8O8P8Q8R8S8T8U8V8W8X8Y8Z8[8]8^8_8`8a8b8d8e8f8g8h8s9T9W9Z9^9_9a9c9f9h9o9p9s9u9v:Q:R:S:T:U:V:W:X:Y:Z:[:]:^:_:`:a:b:c:d:e:f:g:h:i:j:k:l:m:n:o:q:r:s:u:v:w;S;e;i;j;k;n;u;v;z;|;}V>W>[>]>^>c>h>i>l>n>o>p>q>v?^?_T$x{$|Q(q%QQ(v%TQ(y%VR2b1WQ%c!]Q(u%SQ,d(tQ/W,cQ/Y,eQ1Q/XR2_1RQ%q!fR)m%rR/p-O",nodeNames:"⚠ ( HeredocString EscapeSequence abstract LogicOp array as Boolean break case catch clone const continue default declare do echo else elseif enddeclare endfor endforeach endif endswitch endwhile enum extends final finally fn for foreach from function global goto if implements include include_once LogicOp insteadof interface list match namespace new null LogicOp print readonly require require_once return switch throw trait try unset use var Visibility while LogicOp yield LineComment BlockComment TextInterpolation PhpClose Text PhpOpen Template TextInterpolation EmptyStatement ; } { Block : LabelStatement Name ExpressionStatement ConditionalExpression LogicOp MatchExpression ) ( ParenthesizedExpression MatchBlock MatchArm , => AssignmentExpression ArrayExpression ValueList & VariadicUnpacking ... Pair [ ] ListExpression ValueList Pair Pair SubscriptExpression MemberExpression -> ?-> Name VariableName DynamicVariable $ ${ CallExpression ArgList NamedArgument SpreadArgument CastExpression UnionType LogicOp IntersectionType OptionalType NamedType QualifiedName \\ NamespaceName Name NamespaceName Name ScopedExpression :: ClassMemberName DynamicMemberName AssignOp UpdateExpression UpdateOp YieldExpression BinaryExpression LogicOp LogicOp LogicOp BitOp BitOp BitOp CompareOp CompareOp BitOp ArithOp ConcatOp ArithOp ArithOp IncludeExpression RequireExpression CloneExpression UnaryExpression ControlOp LogicOp PrintIntrinsic FunctionExpression static ParamList Parameter #[ Attributes Attribute VariadicParameter PropertyParameter PropertyHooks PropertyHook UseList ArrowFunction NewExpression class BaseClause ClassInterfaceClause DeclarationList ConstDeclaration VariableDeclarator PropertyDeclaration VariableDeclarator MethodDeclaration UseDeclaration UseList UseInsteadOfClause UseAsClause UpdateExpression ArithOp ShellExpression ThrowExpression Integer Float String MemberExpression SubscriptExpression UnaryExpression ArithOp Interpolation String IfStatement ColonBlock SwitchStatement Block CaseStatement DefaultStatement ColonBlock WhileStatement EmptyStatement DoStatement ForStatement ForSpec SequenceExpression ForeachStatement ForSpec Pair GotoStatement ContinueStatement BreakStatement ReturnStatement TryStatement CatchDeclarator DeclareStatement EchoStatement UnsetStatement ConstDeclaration FunctionDefinition ClassDeclaration InterfaceDeclaration TraitDeclaration EnumDeclaration EnumBody EnumCase NamespaceDefinition NamespaceUseDeclaration UseGroup UseClause UseClause GlobalDeclaration FunctionStaticDeclaration Program",maxTerm:318,nodeProps:[["group",-36,2,8,49,82,84,86,89,94,95,103,107,108,112,113,116,120,126,132,137,139,140,154,155,156,157,160,161,173,174,188,190,191,192,193,194,200,"Expression",-28,75,79,81,83,201,203,208,210,211,214,217,218,219,220,221,223,224,225,226,227,228,229,230,231,234,235,239,240,"Statement",-4,121,123,124,125,"Type"],["isolate",-4,67,68,71,200,""],["openedBy",70,"phpOpen",77,"{",87,"(",102,"#["],["closedBy",72,"phpClose",78,"}",88,")",165,"]"]],propSources:[xQ],skippedNodes:[0],repeatNodeCount:32,tokenData:"!GQ_R!]OX$zXY&^YZ'sZ]$z]^&^^p$zpq&^qr)Rrs+Pst+otu2buv5evw6rwx8Vxy>]yz>yz{?g{|@}|}Bb}!OCO!O!PDh!P!QKT!Q!R!!o!R![!$q![!]!,P!]!^!-a!^!_!-}!_!`!1S!`!a!2d!a!b!3t!b!c!7^!c!d!7z!d!e!9Y!e!}!7z!}#O!;b#O#P!V<%lO8VR9WV'TP%`QOw9mwx:Xx#O9m#O#P:^#P;'S9m;'S;=`;X<%lO9mQ9rV%`QOw9mwx:Xx#O9m#O#P:^#P;'S9m;'S;=`;X<%lO9mQ:^O%`QQ:aRO;'S9m;'S;=`:j;=`O9mQ:oW%`QOw9mwx:Xx#O9m#O#P:^#P;'S9m;'S;=`;X;=`<%l9m<%lO9mQ;[P;=`<%l9mR;fV'TP%`QOY$zYZ%fZ!^$z!^!_%k!_;'S$z;'S;=`&W<%lO$zRV<%l~8V~O8V~~%fR=OW'TPOY8VYZ9PZ!^8V!^!_;{!_;'S8V;'S;=`=h;=`<%l9m<%lO8VR=mW%`QOw9mwx:Xx#O9m#O#P:^#P;'S9m;'S;=`;X;=`<%l8V<%lO9mR>YP;=`<%l8VR>dV!zQ'TPOY$zYZ%fZ!^$z!^!_%k!_;'S$z;'S;=`&W<%lO$zV?QV!yU'TPOY$zYZ%fZ!^$z!^!_%k!_;'S$z;'S;=`&W<%lO$zR?nY'TP$^QOY$zYZ%fZz$zz{@^{!^$z!^!_%k!_!`6U!`;'S$z;'S;=`&W<%lO$zR@eW$_Q'TPOY$zYZ%fZ!^$z!^!_%k!_!`6U!`;'S$z;'S;=`&W<%lO$zRAUY$[Q'TPOY$zYZ%fZ{$z{|At|!^$z!^!_%k!_!`6U!`;'S$z;'S;=`&W<%lO$zRA{V%TQ'TPOY$zYZ%fZ!^$z!^!_%k!_;'S$z;'S;=`&W<%lO$zRBiV#OQ'TPOY$zYZ%fZ!^$z!^!_%k!_;'S$z;'S;=`&W<%lO$z_CXZ$[Q%^W'TPOY$zYZ%fZ}$z}!OAt!O!^$z!^!_%k!_!`6U!`!aCz!a;'S$z;'S;=`&W<%lO$zVDRV#aU'TPOY$zYZ%fZ!^$z!^!_%k!_;'S$z;'S;=`&W<%lO$zVDo['TP$]QOY$zYZ%fZ!O$z!O!PEe!P!Q$z!Q![Fs![!^$z!^!_%k!_!`6U!`;'S$z;'S;=`&W<%lO$zVEjX'TPOY$zYZ%fZ!O$z!O!PFV!P!^$z!^!_%k!_;'S$z;'S;=`&W<%lO$zVF^V#VU'TPOY$zYZ%fZ!^$z!^!_%k!_;'S$z;'S;=`&W<%lO$zRFz_'TP%XQOY$zYZ%fZ!Q$z!Q![Fs![!^$z!^!_%k!_!g$z!g!hGy!h#R$z#R#SJc#S#X$z#X#YGy#Y;'S$z;'S;=`&W<%lO$zRHO]'TPOY$zYZ%fZ{$z{|Hw|}$z}!OHw!O!Q$z!Q![Ii![!^$z!^!_%k!_;'S$z;'S;=`&W<%lO$zRH|X'TPOY$zYZ%fZ!Q$z!Q![Ii![!^$z!^!_%k!_;'S$z;'S;=`&W<%lO$zRIpZ'TP%XQOY$zYZ%fZ!Q$z!Q![Ii![!^$z!^!_%k!_#R$z#R#SHw#S;'S$z;'S;=`&W<%lO$zRJhX'TPOY$zYZ%fZ!Q$z!Q![Fs![!^$z!^!_%k!_;'S$z;'S;=`&W<%lO$z_K[['TP$^QOY$zYZ%fZz$zz{LQ{!P$z!P!Q,o!Q!^$z!^!_%k!_!`6U!`;'S$z;'S;=`&W<%lO$z_LVX'TPOYLQYZLrZzLQz{N_{!^LQ!^!_! s!_;'SLQ;'S;=`!!i<%lOLQ_LwT'TPOzMWz{Mj{;'SMW;'S;=`NX<%lOMW^MZTOzMWz{Mj{;'SMW;'S;=`NX<%lOMW^MmVOzMWz{Mj{!PMW!P!QNS!Q;'SMW;'S;=`NX<%lOMW^NXO!f^^N[P;=`<%lMW_NdZ'TPOYLQYZLrZzLQz{N_{!PLQ!P!Q! V!Q!^LQ!^!_! s!_;'SLQ;'S;=`!!i<%lOLQ_! ^V!f^'TPOY$zYZ%fZ!^$z!^!_%k!_;'S$z;'S;=`&W<%lO$z_! vZOYLQYZLrZzLQz{N_{!aLQ!a!bMW!b;'SLQ;'S;=`!!i<%l~LQ~OLQ~~%f_!!lP;=`<%lLQZ!!vm'TP%WYOY$zYZ%fZ!O$z!O!PFs!P!Q$z!Q![!$q![!^$z!^!_%k!_!d$z!d!e!&o!e!g$z!g!hGy!h!q$z!q!r!(a!r!z$z!z!{!){!{#R$z#R#S!%}#S#U$z#U#V!&o#V#X$z#X#YGy#Y#c$z#c#d!(a#d#l$z#l#m!){#m;'S$z;'S;=`&W<%lO$zZ!$xa'TP%WYOY$zYZ%fZ!O$z!O!PFs!P!Q$z!Q![!$q![!^$z!^!_%k!_!g$z!g!hGy!h#R$z#R#S!%}#S#X$z#X#YGy#Y;'S$z;'S;=`&W<%lO$zZ!&SX'TPOY$zYZ%fZ!Q$z!Q![!$q![!^$z!^!_%k!_;'S$z;'S;=`&W<%lO$zZ!&tY'TPOY$zYZ%fZ!Q$z!Q!R!'d!R!S!'d!S!^$z!^!_%k!_;'S$z;'S;=`&W<%lO$zZ!'k['TP%WYOY$zYZ%fZ!Q$z!Q!R!'d!R!S!'d!S!^$z!^!_%k!_#R$z#R#S!&o#S;'S$z;'S;=`&W<%lO$zZ!(fX'TPOY$zYZ%fZ!Q$z!Q!Y!)R!Y!^$z!^!_%k!_;'S$z;'S;=`&W<%lO$zZ!)YZ'TP%WYOY$zYZ%fZ!Q$z!Q!Y!)R!Y!^$z!^!_%k!_#R$z#R#S!(a#S;'S$z;'S;=`&W<%lO$zZ!*Q]'TPOY$zYZ%fZ!Q$z!Q![!*y![!^$z!^!_%k!_!c$z!c!i!*y!i#T$z#T#Z!*y#Z;'S$z;'S;=`&W<%lO$zZ!+Q_'TP%WYOY$zYZ%fZ!Q$z!Q![!*y![!^$z!^!_%k!_!c$z!c!i!*y!i#R$z#R#S!){#S#T$z#T#Z!*y#Z;'S$z;'S;=`&W<%lO$zR!,WX!rQ'TPOY$zYZ%fZ![$z![!]!,s!]!^$z!^!_%k!_;'S$z;'S;=`&W<%lO$zR!,zV#yQ'TPOY$zYZ%fZ!^$z!^!_%k!_;'S$z;'S;=`&W<%lO$zV!-hV!nU'TPOY$zYZ%fZ!^$z!^!_%k!_;'S$z;'S;=`&W<%lO$zR!.S[$YQOY$zYZ%fZ!^$z!^!_!.x!_!`!/i!`!a*c!a!b!0]!b;'S$z;'S;=`&W<%l~$z~O$z~~%fR!/PW$ZQ'TPOY$zYZ%fZ!^$z!^!_%k!_!`6U!`;'S$z;'S;=`&W<%lO$zR!/pX$YQ'TPOY$zYZ%fZ!^$z!^!_%k!_!`$z!`!a*c!a;'S$z;'S;=`&W<%lO$zP!0bR!jP!_!`!0k!r!s!0p#d#e!0pP!0pO!jPP!0sQ!j!k!0y#[#]!0yP!0|Q!r!s!0k#d#e!0k_!1ZX#|Y'TPOY$zYZ%fZ!^$z!^!_%k!_!`)r!`!a!1v!a;'S$z;'S;=`&W<%lO$zV!1}V#PU'TPOY$zYZ%fZ!^$z!^!_%k!_;'S$z;'S;=`&W<%lO$zR!2kX$YQ'TPOY$zYZ%fZ!^$z!^!_%k!_!`!3W!`!a!.x!a;'S$z;'S;=`&W<%lO$zR!3_V$YQ'TPOY$zYZ%fZ!^$z!^!_%k!_;'S$z;'S;=`&W<%lO$z_!3{[!wQ'TPOY$zYZ%fZ}$z}!O!4q!O!^$z!^!_%k!_!`$z!`!a!6P!a!b!6m!b;'S$z;'S;=`&W<%lO$zV!4vX'TPOY$zYZ%fZ!^$z!^!_%k!_!`$z!`!a!5c!a;'S$z;'S;=`&W<%lO$zV!5jV#bU'TPOY$zYZ%fZ!^$z!^!_%k!_;'S$z;'S;=`&W<%lO$z_!6WV!h^'TPOY$zYZ%fZ!^$z!^!_%k!_;'S$z;'S;=`&W<%lO$zR!6tW$RQ'TPOY$zYZ%fZ!^$z!^!_%k!_!`6U!`;'S$z;'S;=`&W<%lO$zR!7eV$dQ'TPOY$zYZ%fZ!^$z!^!_%k!_;'S$z;'S;=`&W<%lO$z_!8Ta'aS'TP'WYOY$zYZ%fZ!Q$z!Q![!7z![!^$z!^!_%k!_!c$z!c!}!7z!}#R$z#R#S!7z#S#T$z#T#o!7z#o$g$z$g&j!7z&j;'S$z;'S;=`&W<%lO$z_!9ce'aS'TP'WYOY$zYZ%fZr$zrs!:tsw$zwx8Vx!Q$z!Q![!7z![!^$z!^!_%k!_!c$z!c!}!7z!}#R$z#R#S!7z#S#T$z#T#o!7z#o$g$z$g&j!7z&j;'S$z;'S;=`&W<%lO$zR!:{V'TP'uQOY$zYZ%fZ!^$z!^!_%k!_;'S$z;'S;=`&W<%lO$zV!;iV#XU'TPOY$zYZ%fZ!^$z!^!_%k!_;'S$z;'S;=`&W<%lO$z_!OZ'TPOY!=yYZ!>qZ!^!=y!^!_!@y!_#O!=y#O#P!Au#P#S!=y#S#T!CP#T;'S!=y;'S;=`!Cm<%lO!=yR!>vV'TPO#O!?]#O#P!?u#P#S!?]#S#T!@n#T;'S!?];'S;=`!@s<%lO!?]Q!?`VO#O!?]#O#P!?u#P#S!?]#S#T!@n#T;'S!?];'S;=`!@s<%lO!?]Q!?xRO;'S!?];'S;=`!@R;=`O!?]Q!@UWO#O!?]#O#P!?u#P#S!?]#S#T!@n#T;'S!?];'S;=`!@s;=`<%l!?]<%lO!?]Q!@sO%UQQ!@vP;=`<%l!?]R!@|]OY!=yYZ!>qZ!a!=y!a!b!?]!b#O!=y#O#P!Au#P#S!=y#S#T!CP#T;'S!=y;'S;=`!Cm<%l~!=y~O!=y~~%fR!AzW'TPOY!=yYZ!>qZ!^!=y!^!_!@y!_;'S!=y;'S;=`!Bd;=`<%l!?]<%lO!=yR!BgWO#O!?]#O#P!?u#P#S!?]#S#T!@n#T;'S!?];'S;=`!@s;=`<%l!=y<%lO!?]R!CWV%UQ'TPOY$zYZ%fZ!^$z!^!_%k!_;'S$z;'S;=`&W<%lO$zR!CpP;=`<%l!=y_!CzV!p^'TPOY$zYZ%fZ!^$z!^!_%k!_;'S$z;'S;=`&W<%lO$z_!DjY$UQ#n['TPOY$zYZ%fZ!^$z!^!_%k!_!`6U!`#p$z#p#q!EY#q;'S$z;'S;=`&W<%lO$zR!EaV$SQ'TPOY$zYZ%fZ!^$z!^!_%k!_;'S$z;'S;=`&W<%lO$zR!E}V!oQ'TPOY$zYZ%fZ!^$z!^!_%k!_;'S$z;'S;=`&W<%lO$zR!FkV$eQ'TPOY$zYZ%fZ!^$z!^!_%k!_;'S$z;'S;=`&W<%lO$z",tokenizers:[TQ,bQ,vQ,0,1,2,3,yQ],topRules:{Template:[0,73],Program:[1,241]},dynamicPrecedences:{298:1},specialized:[{term:284,get:(e,t)=>pQ(e)<<1,external:pQ},{term:284,get:e=>XQ[e]||-1}],tokenPrec:29889}),ZQ={area:!0,base:!0,br:!0,col:!0,command:!0,embed:!0,frame:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0,menuitem:!0},RQ={dd:!0,li:!0,optgroup:!0,option:!0,p:!0,rp:!0,rt:!0,tbody:!0,td:!0,tfoot:!0,th:!0,tr:!0},zQ={dd:{dd:!0,dt:!0},dt:{dd:!0,dt:!0},li:{li:!0},option:{option:!0,optgroup:!0},optgroup:{optgroup:!0},p:{address:!0,article:!0,aside:!0,blockquote:!0,dir:!0,div:!0,dl:!0,fieldset:!0,footer:!0,form:!0,h1:!0,h2:!0,h3:!0,h4:!0,h5:!0,h6:!0,header:!0,hgroup:!0,hr:!0,menu:!0,nav:!0,ol:!0,p:!0,pre:!0,section:!0,table:!0,ul:!0},rp:{rp:!0,rt:!0},rt:{rp:!0,rt:!0},tbody:{tbody:!0,tfoot:!0},td:{td:!0,th:!0},tfoot:{tbody:!0},th:{td:!0,th:!0},thead:{tbody:!0,tfoot:!0},tr:{tr:!0}};function _Q(e){return 45==e||46==e||58==e||e>=65&&e<=90||95==e||e>=97&&e<=122||e>=161}let YQ=null,VQ=null,qQ=0;function WQ(e,t){let i=e.pos+t;if(qQ==i&&VQ==e)return YQ;let O=e.peek(t),n="";for(;_Q(O);)n+=String.fromCharCode(O),O=e.peek(++t);return VQ=e,qQ=i,YQ=n?n.toLowerCase():O==UQ||O==jQ?void 0:null}const UQ=63,jQ=33;function GQ(e,t){this.name=e,this.parent=t}const CQ=[6,10,7,8,9],AQ=new Tf({start:null,shift:(e,t,i,O)=>CQ.indexOf(t)>-1?new GQ(WQ(O,1)||"",e):e,reduce:(e,t)=>21==t&&e?e.parent:e,reuse(e,t,i,O){let n=t.type.id;return 6==n||37==n?new GQ(WQ(O,1)||"",e):e},strict:!1}),EQ=new lf((e,t)=>{if(60!=e.next)return void(e.next<0&&t.context&&e.acceptToken(58));e.advance();let i=47==e.next;i&&e.advance();let O=WQ(e,0);if(void 0===O)return;if(!O)return e.acceptToken(i?15:14);let n=t.context?t.context.name:null;if(i){if(O==n)return e.acceptToken(11);if(n&&RQ[n])return e.acceptToken(58,-2);if(t.dialectEnabled(0))return e.acceptToken(12);for(let e=t.context;e;e=e.parent)if(e.name==O)return;e.acceptToken(13)}else{if("script"==O)return e.acceptToken(7);if("style"==O)return e.acceptToken(8);if("textarea"==O)return e.acceptToken(9);if(ZQ.hasOwnProperty(O))return e.acceptToken(10);n&&zQ[n]&&zQ[n][O]?e.acceptToken(58,-1):e.acceptToken(6)}},{contextual:!0}),MQ=new lf(e=>{for(let t=0,i=0;;i++){if(e.next<0){i&&e.acceptToken(59);break}if(45==e.next)t++;else{if(62==e.next&&t>=2){i>=3&&e.acceptToken(59,-2);break}t=0}e.advance()}}),DQ=new lf((e,t)=>{if(47==e.next&&62==e.peek(1)){let i=t.dialectEnabled(1)||function(e){for(;e;e=e.parent)if("svg"==e.name||"math"==e.name)return!0;return!1}(t.context);e.acceptToken(i?5:4,2)}else 62==e.next&&e.acceptToken(4,1)});function LQ(e,t,i){let O=2+e.length;return new lf(n=>{for(let r=0,s=0,o=0;;o++){if(n.next<0){o&&n.acceptToken(t);break}if(0==r&&60==n.next||1==r&&47==n.next||r>=2&&rs?n.acceptToken(t,-s):n.acceptToken(i,-(s-2));break}if((10==n.next||13==n.next)&&o){n.acceptToken(t,1);break}r=s=0}n.advance()}})}const IQ=LQ("script",55,1),NQ=LQ("style",56,2),BQ=LQ("textarea",57,3),FQ=Oa({"Text RawText IncompleteTag IncompleteCloseTag":va.content,"StartTag StartCloseTag SelfClosingEndTag EndTag":va.angleBracket,TagName:va.tagName,"MismatchedCloseTag/TagName":[va.tagName,va.invalid],AttributeName:va.attributeName,"AttributeValue UnquotedAttributeValue":va.attributeValue,Is:va.definitionOperator,"EntityReference CharacterReference":va.character,Comment:va.blockComment,ProcessingInst:va.processingInstruction,DoctypeDecl:va.documentMeta}),HQ=yf.deserialize({version:14,states:",xOVO!rOOO!ZQ#tO'#CrO!`Q#tO'#C{O!eQ#tO'#DOO!jQ#tO'#DRO!oQ#tO'#DTO!tOaO'#CqO#PObO'#CqO#[OdO'#CqO$kO!rO'#CqOOO`'#Cq'#CqO$rO$fO'#DUO$zQ#tO'#DWO%PQ#tO'#DXOOO`'#Dl'#DlOOO`'#DZ'#DZQVO!rOOO%UQ&rO,59^O%aQ&rO,59gO%lQ&rO,59jO%wQ&rO,59mO&SQ&rO,59oOOOa'#D_'#D_O&_OaO'#CyO&jOaO,59]OOOb'#D`'#D`O&rObO'#C|O&}ObO,59]OOOd'#Da'#DaO'VOdO'#DPO'bOdO,59]OOO`'#Db'#DbO'jO!rO,59]O'qQ#tO'#DSOOO`,59],59]OOOp'#Dc'#DcO'vO$fO,59pOOO`,59p,59pO(OQ#|O,59rO(TQ#|O,59sOOO`-E7X-E7XO(YQ&rO'#CtOOQW'#D['#D[O(hQ&rO1G.xOOOa1G.x1G.xOOO`1G/Z1G/ZO(sQ&rO1G/ROOOb1G/R1G/RO)OQ&rO1G/UOOOd1G/U1G/UO)ZQ&rO1G/XOOO`1G/X1G/XO)fQ&rO1G/ZOOOa-E7]-E7]O)qQ#tO'#CzOOO`1G.w1G.wOOOb-E7^-E7^O)vQ#tO'#C}OOOd-E7_-E7_O){Q#tO'#DQOOO`-E7`-E7`O*QQ#|O,59nOOOp-E7a-E7aOOO`1G/[1G/[OOO`1G/^1G/^OOO`1G/_1G/_O*VQ,UO,59`OOQW-E7Y-E7YOOOa7+$d7+$dOOO`7+$u7+$uOOOb7+$m7+$mOOOd7+$p7+$pOOO`7+$s7+$sO*bQ#|O,59fO*gQ#|O,59iO*lQ#|O,59lOOO`1G/Y1G/YO*qO7[O'#CwO+SOMhO'#CwOOQW1G.z1G.zOOO`1G/Q1G/QOOO`1G/T1G/TOOO`1G/W1G/WOOOO'#D]'#D]O+eO7[O,59cOOQW,59c,59cOOOO'#D^'#D^O+vOMhO,59cOOOO-E7Z-E7ZOOQW1G.}1G.}OOOO-E7[-E7[",stateData:",c~O!_OS~OUSOVPOWQOXROYTO[]O][O^^O_^Oa^Ob^Oc^Od^Oy^O|_O!eZO~OgaO~OgbO~OgcO~OgdO~OgeO~O!XfOPmP![mP~O!YiOQpP![pP~O!ZlORsP![sP~OUSOVPOWQOXROYTOZqO[]O][O^^O_^Oa^Ob^Oc^Od^Oy^O!eZO~O![rO~P#gO!]sO!fuO~OgvO~OgwO~OS|OT}OiyO~OS!POT}OiyO~OS!ROT}OiyO~OS!TOT}OiyO~OS}OT}OiyO~O!XfOPmX![mX~OP!WO![!XO~O!YiOQpX![pX~OQ!ZO![!XO~O!ZlORsX![sX~OR!]O![!XO~O![!XO~P#gOg!_O~O!]sO!f!aO~OS!bO~OS!cO~Oj!dOShXThXihX~OS!fOT!gOiyO~OS!hOT!gOiyO~OS!iOT!gOiyO~OS!jOT!gOiyO~OS!gOT!gOiyO~Og!kO~Og!lO~Og!mO~OS!nO~Ol!qO!a!oO!c!pO~OS!rO~OS!sO~OS!tO~Ob!uOc!uOd!uO!a!wO!b!uO~Ob!xOc!xOd!xO!c!wO!d!xO~Ob!uOc!uOd!uO!a!{O!b!uO~Ob!xOc!xOd!xO!c!{O!d!xO~OT~cbd!ey|!e~",goto:"%q!aPPPPPPPPPPPPPPPPPPPPP!b!hP!nPP!zP!}#Q#T#Z#^#a#g#j#m#s#y!bP!b!bP$P$V$m$s$y%P%V%]%cPPPPPPPP%iX^OX`pXUOX`pezabcde{!O!Q!S!UR!q!dRhUR!XhXVOX`pRkVR!XkXWOX`pRnWR!XnXXOX`pQrXR!XpXYOX`pQ`ORx`Q{aQ!ObQ!QcQ!SdQ!UeZ!e{!O!Q!S!UQ!v!oR!z!vQ!y!pR!|!yQgUR!VgQjVR!YjQmWR![mQpXR!^pQtZR!`tS_O`ToXp",nodeNames:"⚠ StartCloseTag StartCloseTag StartCloseTag EndTag SelfClosingEndTag StartTag StartTag StartTag StartTag StartTag StartCloseTag StartCloseTag StartCloseTag IncompleteTag IncompleteCloseTag Document Text EntityReference CharacterReference InvalidEntity Element OpenTag TagName Attribute AttributeName Is AttributeValue UnquotedAttributeValue ScriptText CloseTag OpenTag StyleText CloseTag OpenTag TextareaText CloseTag OpenTag CloseTag SelfClosingTag Comment ProcessingInst MismatchedCloseTag CloseTag DoctypeDecl",maxTerm:68,context:AQ,nodeProps:[["closedBy",-10,1,2,3,7,8,9,10,11,12,13,"EndTag",6,"EndTag SelfClosingEndTag",-4,22,31,34,37,"CloseTag"],["openedBy",4,"StartTag StartCloseTag",5,"StartTag",-4,30,33,36,38,"OpenTag"],["group",-10,14,15,18,19,20,21,40,41,42,43,"Entity",17,"Entity TextContent",-3,29,32,35,"TextContent Entity"],["isolate",-11,22,30,31,33,34,36,37,38,39,42,43,"ltr",-3,27,28,40,""]],propSources:[FQ],skippedNodes:[0],repeatNodeCount:9,tokenData:"!]tw8twx7Sx!P8t!P!Q5u!Q!]8t!]!^/^!^!a7S!a#S8t#S#T;{#T#s8t#s$f5u$f;'S8t;'S;=`>V<%l?Ah8t?Ah?BY5u?BY?Mn8t?MnO5u!Z5zblWOX5uXZ7SZ[5u[^7S^p5uqr5urs7Sst+Ptw5uwx7Sx!]5u!]!^7w!^!a7S!a#S5u#S#T7S#T;'S5u;'S;=`8n<%lO5u!R7VVOp7Sqs7St!]7S!]!^7l!^;'S7S;'S;=`7q<%lO7S!R7qOb!R!R7tP;=`<%l7S!Z8OYlWb!ROX+PZ[+P^p+Pqr+Psw+Px!^+P!a#S+P#T;'S+P;'S;=`+t<%lO+P!Z8qP;=`<%l5u!_8{iiSlWOX5uXZ7SZ[5u[^7S^p5uqr8trs7Sst/^tw8twx7Sx!P8t!P!Q5u!Q!]8t!]!^:j!^!a7S!a#S8t#S#T;{#T#s8t#s$f5u$f;'S8t;'S;=`>V<%l?Ah8t?Ah?BY5u?BY?Mn8t?MnO5u!_:sbiSlWb!ROX+PZ[+P^p+Pqr/^sw/^x!P/^!P!Q+P!Q!^/^!a#S/^#S#T0m#T#s/^#s$f+P$f;'S/^;'S;=`1e<%l?Ah/^?Ah?BY+P?BY?Mn/^?MnO+P!VP<%l?Ah;{?Ah?BY7S?BY?Mn;{?MnO7S!V=dXiSb!Rqr0msw0mx!P0m!Q!^0m!a#s0m$f;'S0m;'S;=`1_<%l?Ah0m?BY?Mn0m!V>SP;=`<%l;{!_>YP;=`<%l8t!_>dhiSlWOX@OXZAYZ[@O[^AY^p@OqrBwrsAYswBwwxAYx!PBw!P!Q@O!Q!]Bw!]!^/^!^!aAY!a#SBw#S#TE{#T#sBw#s$f@O$f;'SBw;'S;=`HS<%l?AhBw?Ah?BY@O?BY?MnBw?MnO@O!Z@TalWOX@OXZAYZ[@O[^AY^p@Oqr@OrsAYsw@OwxAYx!]@O!]!^Az!^!aAY!a#S@O#S#TAY#T;'S@O;'S;=`Bq<%lO@O!RA]UOpAYq!]AY!]!^Ao!^;'SAY;'S;=`At<%lOAY!RAtOc!R!RAwP;=`<%lAY!ZBRYlWc!ROX+PZ[+P^p+Pqr+Psw+Px!^+P!a#S+P#T;'S+P;'S;=`+t<%lO+P!ZBtP;=`<%l@O!_COhiSlWOX@OXZAYZ[@O[^AY^p@OqrBwrsAYswBwwxAYx!PBw!P!Q@O!Q!]Bw!]!^Dj!^!aAY!a#SBw#S#TE{#T#sBw#s$f@O$f;'SBw;'S;=`HS<%l?AhBw?Ah?BY@O?BY?MnBw?MnO@O!_DsbiSlWc!ROX+PZ[+P^p+Pqr/^sw/^x!P/^!P!Q+P!Q!^/^!a#S/^#S#T0m#T#s/^#s$f+P$f;'S/^;'S;=`1e<%l?Ah/^?Ah?BY+P?BY?Mn/^?MnO+P!VFQbiSOpAYqrE{rsAYswE{wxAYx!PE{!P!QAY!Q!]E{!]!^GY!^!aAY!a#sE{#s$fAY$f;'SE{;'S;=`G|<%l?AhE{?Ah?BYAY?BY?MnE{?MnOAY!VGaXiSc!Rqr0msw0mx!P0m!Q!^0m!a#s0m$f;'S0m;'S;=`1_<%l?Ah0m?BY?Mn0m!VHPP;=`<%lE{!_HVP;=`<%lBw!ZHcW!cxaP!b`Or(trs'ksv(tw!^(t!^!_)e!_;'S(t;'S;=`*P<%lO(t!aIYliSaPlW!b`!dpOX$qXZ&XZ[$q[^&X^p$qpq&Xqr-_rs&}sv-_vw/^wx(tx}-_}!OKQ!O!P-_!P!Q$q!Q!^-_!^!_*V!_!a&X!a#S-_#S#T1k#T#s-_#s$f$q$f;'S-_;'S;=`3X<%l?Ah-_?Ah?BY$q?BY?Mn-_?MnO$q!aK_kiSaPlW!b`!dpOX$qXZ&XZ[$q[^&X^p$qpq&Xqr-_rs&}sv-_vw/^wx(tx!P-_!P!Q$q!Q!^-_!^!_*V!_!`&X!`!aMS!a#S-_#S#T1k#T#s-_#s$f$q$f;'S-_;'S;=`3X<%l?Ah-_?Ah?BY$q?BY?Mn-_?MnO$q!TM_XaP!b`!dp!fQOr&Xrs&}sv&Xwx(tx!^&X!^!_*V!_;'S&X;'S;=`*y<%lO&X!aNZ!ZiSgQaPlW!b`!dpOX$qXZ&XZ[$q[^&X^p$qpq&Xqr-_rs&}sv-_vw/^wx(tx}-_}!OMz!O!PMz!P!Q$q!Q![Mz![!]Mz!]!^-_!^!_*V!_!a&X!a!c-_!c!}Mz!}#R-_#R#SMz#S#T1k#T#oMz#o#s-_#s$f$q$f$}-_$}%OMz%O%W-_%W%oMz%o%p-_%p&aMz&a&b-_&b1pMz1p4UMz4U4dMz4d4e-_4e$ISMz$IS$I`-_$I`$IbMz$Ib$Je-_$Je$JgMz$Jg$Kh-_$Kh%#tMz%#t&/x-_&/x&EtMz&Et&FV-_&FV;'SMz;'S;:j!#|;:j;=`3X<%l?&r-_?&r?AhMz?Ah?BY$q?BY?MnMz?MnO$q!a!$PP;=`<%lMz!R!$ZY!b`!dpOq*Vqr!$yrs(Vsv*Vwx)ex!a*V!a!b!4t!b;'S*V;'S;=`*s<%lO*V!R!%Q]!b`!dpOr*Vrs(Vsv*Vwx)ex}*V}!O!%y!O!f*V!f!g!']!g#W*V#W#X!0`#X;'S*V;'S;=`*s<%lO*V!R!&QX!b`!dpOr*Vrs(Vsv*Vwx)ex}*V}!O!&m!O;'S*V;'S;=`*s<%lO*V!R!&vV!b`!dp!ePOr*Vrs(Vsv*Vwx)ex;'S*V;'S;=`*s<%lO*V!R!'dX!b`!dpOr*Vrs(Vsv*Vwx)ex!q*V!q!r!(P!r;'S*V;'S;=`*s<%lO*V!R!(WX!b`!dpOr*Vrs(Vsv*Vwx)ex!e*V!e!f!(s!f;'S*V;'S;=`*s<%lO*V!R!(zX!b`!dpOr*Vrs(Vsv*Vwx)ex!v*V!v!w!)g!w;'S*V;'S;=`*s<%lO*V!R!)nX!b`!dpOr*Vrs(Vsv*Vwx)ex!{*V!{!|!*Z!|;'S*V;'S;=`*s<%lO*V!R!*bX!b`!dpOr*Vrs(Vsv*Vwx)ex!r*V!r!s!*}!s;'S*V;'S;=`*s<%lO*V!R!+UX!b`!dpOr*Vrs(Vsv*Vwx)ex!g*V!g!h!+q!h;'S*V;'S;=`*s<%lO*V!R!+xY!b`!dpOr!+qrs!,hsv!+qvw!-Swx!.[x!`!+q!`!a!/j!a;'S!+q;'S;=`!0Y<%lO!+qq!,mV!dpOv!,hvx!-Sx!`!,h!`!a!-q!a;'S!,h;'S;=`!.U<%lO!,hP!-VTO!`!-S!`!a!-f!a;'S!-S;'S;=`!-k<%lO!-SP!-kO|PP!-nP;=`<%l!-Sq!-xS!dp|POv(Vx;'S(V;'S;=`(h<%lO(Vq!.XP;=`<%l!,ha!.aX!b`Or!.[rs!-Ssv!.[vw!-Sw!`!.[!`!a!.|!a;'S!.[;'S;=`!/d<%lO!.[a!/TT!b`|POr)esv)ew;'S)e;'S;=`)y<%lO)ea!/gP;=`<%l!.[!R!/sV!b`!dp|POr*Vrs(Vsv*Vwx)ex;'S*V;'S;=`*s<%lO*V!R!0]P;=`<%l!+q!R!0gX!b`!dpOr*Vrs(Vsv*Vwx)ex#c*V#c#d!1S#d;'S*V;'S;=`*s<%lO*V!R!1ZX!b`!dpOr*Vrs(Vsv*Vwx)ex#V*V#V#W!1v#W;'S*V;'S;=`*s<%lO*V!R!1}X!b`!dpOr*Vrs(Vsv*Vwx)ex#h*V#h#i!2j#i;'S*V;'S;=`*s<%lO*V!R!2qX!b`!dpOr*Vrs(Vsv*Vwx)ex#m*V#m#n!3^#n;'S*V;'S;=`*s<%lO*V!R!3eX!b`!dpOr*Vrs(Vsv*Vwx)ex#d*V#d#e!4Q#e;'S*V;'S;=`*s<%lO*V!R!4XX!b`!dpOr*Vrs(Vsv*Vwx)ex#X*V#X#Y!+q#Y;'S*V;'S;=`*s<%lO*V!R!4{Y!b`!dpOr!4trs!5ksv!4tvw!6Vwx!8]x!a!4t!a!b!:]!b;'S!4t;'S;=`!;r<%lO!4tq!5pV!dpOv!5kvx!6Vx!a!5k!a!b!7W!b;'S!5k;'S;=`!8V<%lO!5kP!6YTO!a!6V!a!b!6i!b;'S!6V;'S;=`!7Q<%lO!6VP!6lTO!`!6V!`!a!6{!a;'S!6V;'S;=`!7Q<%lO!6VP!7QOyPP!7TP;=`<%l!6Vq!7]V!dpOv!5kvx!6Vx!`!5k!`!a!7r!a;'S!5k;'S;=`!8V<%lO!5kq!7yS!dpyPOv(Vx;'S(V;'S;=`(h<%lO(Vq!8YP;=`<%l!5ka!8bX!b`Or!8]rs!6Vsv!8]vw!6Vw!a!8]!a!b!8}!b;'S!8];'S;=`!:V<%lO!8]a!9SX!b`Or!8]rs!6Vsv!8]vw!6Vw!`!8]!`!a!9o!a;'S!8];'S;=`!:V<%lO!8]a!9vT!b`yPOr)esv)ew;'S)e;'S;=`)y<%lO)ea!:YP;=`<%l!8]!R!:dY!b`!dpOr!4trs!5ksv!4tvw!6Vwx!8]x!`!4t!`!a!;S!a;'S!4t;'S;=`!;r<%lO!4t!R!;]V!b`!dpyPOr*Vrs(Vsv*Vwx)ex;'S*V;'S;=`*s<%lO*V!R!;uP;=`<%l!4t!V!{let o=e.type.id;if(29==o)return em(e,t,i);if(32==o)return em(e,t,O);if(35==o)return em(e,t,n);if(21==o&&r.length){let i,O=e.node,n=O.firstChild,s=n&&JQ(n,t);if(s)for(let e of r)if(e.tag==s&&(!e.attrs||e.attrs(i||(i=KQ(n,t))))){let t=O.lastChild,i=38==t.type.id?t.from:O.to;if(i>n.to)return{parser:e.parser,overlay:[{from:n.to,to:i}]}}}if(s&&24==o){let i,O=e.node;if(i=O.firstChild){let e=s[t.read(i.from,i.to)];if(e)for(let i of e){if(i.tagName&&i.tagName!=JQ(O.parent,t))continue;let e=O.lastChild;if(27==e.type.id){let t=e.from+1,O=e.lastChild,n=e.to-(O&&O.isError?0:1);if(n>t)return{parser:i.parser,overlay:[{from:t,to:n}],bracketed:!0}}else if(28==e.type.id)return{parser:i.parser,overlay:[{from:e.from,to:e.to}]}}}}return null})}const im=[9,10,11,12,13,32,133,160,5760,8192,8193,8194,8195,8196,8197,8198,8199,8200,8201,8202,8232,8233,8239,8287,12288];function Om(e){return e>=65&&e<=90||e>=97&&e<=122||e>=161}function nm(e){return e>=48&&e<=57}function rm(e){return nm(e)||e>=97&&e<=102||e>=65&&e<=70}const sm=(e,t,i)=>(O,n)=>{for(let r=!1,s=0,o=0;;o++){let{next:a}=O;if(Om(a)||45==a||95==a||r&&nm(a))!r&&(45!=a||o>0)&&(r=!0),s===o&&45==a&&s++,O.advance();else{if(92!=a||10==O.peek(1)){r&&O.acceptToken(2==s&&n.canShift(2)?t:40==a?i:e);break}if(O.advance(),rm(O.next)){do{O.advance()}while(rm(O.next));32==O.next&&O.advance()}else O.next>-1&&O.advance();r=!0}}},om=new lf(sm(146,2,147),{contextual:!0}),am=new lf(sm(148,3,4),{contextual:!0}),lm=new lf(e=>{if(im.includes(e.peek(-1))){let{next:t}=e;(Om(t)||95==t||35==t||46==t||42==t||91==t||58==t&&Om(e.peek(1))||45==t||38==t)&&e.acceptToken(145)}}),hm=new lf(e=>{if(!im.includes(e.peek(-1))){let{next:t}=e;if(37==t&&(e.advance(),e.acceptToken(1)),Om(t)){do{e.advance()}while(Om(e.next)||nm(e.next));e.acceptToken(1)}}}),cm=Oa({"AtKeyword import charset namespace keyframes media supports font-feature-values":va.definitionKeyword,"from to selector scope MatchFlag":va.keyword,NamespaceName:va.namespace,KeyframeName:va.labelName,KeyframeRangeName:va.operatorKeyword,TagName:va.tagName,ClassName:va.className,PseudoClassName:va.constant(va.className),IdName:va.labelName,"FeatureName PropertyName":va.propertyName,AttributeName:va.attributeName,NumberLiteral:va.number,KeywordQuery:va.keyword,UnaryQueryOp:va.operatorKeyword,"CallTag ValueName FontName":va.atom,VariableName:va.variableName,Callee:va.operatorKeyword,Unit:va.unit,"UniversalSelector NestingSelector":va.definitionOperator,"MatchOp CompareOp":va.compareOperator,"ChildOp SiblingOp, LogicOp":va.logicOperator,BinOp:va.arithmeticOperator,Important:va.modifier,Comment:va.blockComment,ColorLiteral:va.color,"ParenthesizedContent StringLiteral":va.string,":":va.punctuation,"PseudoOp #":va.derefOperator,"; , |":va.separator,"( )":va.paren,"[ ]":va.squareBracket,"{ }":va.brace}),dm={__proto__:null,lang:44,"nth-child":44,"nth-last-child":44,"nth-of-type":44,"nth-last-of-type":44,dir:44,"host-context":44,if:90,url:152,"url-prefix":152,domain:152,regexp:152},um={__proto__:null,or:104,and:104,not:112,only:112,layer:206},$m={__proto__:null,selector:118,style:124,layer:202},fm={__proto__:null,"@import":198,"@media":210,"@charset":214,"@namespace":218,"@keyframes":224,"@supports":236,"@scope":240,"@font-feature-values":246},pm={__proto__:null,to:243},Qm=yf.deserialize({version:14,states:"MlQYQdOOO#}QdOOP$UO`OOO%OQaO'#CfOOQP'#Ce'#CeO%VQdO'#CgO%[Q`O'#CgO%aQaO'#FnO&XQdO'#CkO&xQaO'#CcO'SQdO'#CnO'_QdO'#EOO'dQdO'#EQO'oQdO'#EXO'oQdO'#E[OOQP'#Fn'#FnO)RQhO'#E}OOQS'#Fm'#FmOOQS'#FQ'#FQQYQdOOO)YQdO'#EbO*iQhO'#EhO)YQdO'#EjO*pQdO'#ElO*{QdO'#EoO)}QhO'#EuO+TQdO'#EwO+`QdO'#EzO+eQaO'#CfO+lQ`O'#E_O+qQ`O'#F{O+|QdO'#F{QOQ`OOP,WO&jO'#CaPOOO)CA])CA]OOQP'#Ci'#CiOOQP,59R,59RO%VQdO,59ROOQP'#Cm'#CmOOQP,59V,59VO&XQdO,59VO,cQdO,59YO'_QdO,5:jO'dQdO,5:lO'oQdO,5:sO'oQdO,5:uO'oQdO,5:vO'oQdO'#FXO,nQ`O,58}O,vQdO'#E^OOQS,58},58}OOQP'#Cq'#CqOOQO'#D|'#D|OOQP,59Y,59YO,}Q`O,59YO-SQ`O,59YOOQP'#EP'#EPOOQP,5:j,5:jO-XQpO'#ERO-dQdO'#ESO-iQ`O'#ESO-nQpO,5:lO.XQaO,5:sO.oQaO,5:vOOQW'#D^'#D^O/nQhO'#DgO0RQhO,5;iO)}QhO'#DeO0`Q`O'#DnO0eQhO'#DxOOQW'#Ft'#FtOOQS,5;i,5;iO0jQ`O'#DhO0oQ`O'#DkOOQS-E9O-E9OOOQ['#Cv'#CvO0tQdO'#CwO1[QdO'#C}O1rQdO'#DQO2YQ!pO'#DSO4fQ!jO,5:|OOQO'#DX'#DXO-SQ`O'#DWO4vQ!nO'#FqO6|Q`O'#DYO7RQ`O'#DyOOQ['#Fq'#FqO7WQhO'#GOO7fQ`O,5;SO7kQ!bO,5;UOOQS'#En'#EnO7sQ`O,5;WO7xQdO,5;WOOQO'#Eq'#EqO8QQ`O,5;ZO8VQhO,5;aO'oQdO'#DjOOQS,5;c,5;cO0jQ`O,5;cO8_QdO,5;cOOQS'#F`'#F`O8gQdO'#E|O7fQ`O,5;fO8oQdO,5:yO9PQdO'#FZO9^Q`O,5lQhO'#DoOOQW,5:Y,5:YOOQW,5:d,5:dOOQW,5:S,5:SO>vQhO,5:VO?bQ!fO'#FrOOQS'#Fr'#FrOOQS'#FS'#FSO@rQdO,59cOOQ[,59c,59cOAYQdO,59iOOQ[,59i,59iOApQdO,59lOOQ[,59l,59lOOQ[,59n,59nO)YQdO,59pOBWQhO'#EdOOQW'#Ed'#EdOBuQ`O1G0hO4oQhO1G0hOOQ[,59r,59rO)}QhO'#D[OOQ[,59t,59tOBzQ#tO,5:eOCVQhO'#F]OCdQ`O,5vQhO'#DmOI_QhO'#DqOIgQhO'#DsOIlQhO'#FwOOQO'#Fw'#FwOItQ!bO'#DwOOQO'#Fy'#FyOOQO'#Fv'#FvOIyQ`O1G/qOOQS-E9Q-E9QOOQ[1G.}1G.}OOQ[1G/T1G/TOOQ[1G/W1G/WOOQ[1G/[1G/[OJOQdO,5;OOOQS7+&S7+&SOJTQ`O7+&SOJYQhO'#D]OJbQ`O,59vO)}QhO,59vOOQ[1G0P1G0POJjQ`O1G0POJoQhO,5;wOOQO-E9Z-E9ZOOQS7+&^7+&^OJ}QbO'#DSOOQO'#Et'#EtOK]Q`O'#EsOOQO'#Es'#EsOKhQ`O'#F^OKpQdO,5;^OOQS,5;^,5;^OOQ[1G/p1G/pOOQS7+&i7+&iO7fQ`O7+&iOK{Q!fO'#FYO)YQdO'#FYOMSQdO7+&POOQO7+&P7+&POOQO,5:{,5:{OOQO1G1a1G1aOMgQ!bO<vQhO'#DrOOQO,5:],5:]O! hQhO,5:_OGUQhO,5:cOOQW7+%]7+%]OOQO'#Ef'#EfO! pQ`O1G0jOOQS<xAN>xO!#zQ`OAN>xO!$PQaO,5;rOOQO-E9U-E9UO!$ZQdO,5;qOOQO-E9T-E9TOOQW<vQhO'#DuOOQO1G/y1G/yO!%vQ!bO1G/}OJOQdO'#F[O!&OQ`O7+&UOOQW7+&U7+&UO!&WQ!bO1G/cOOQ[7+$|7+$|O!&cQhO7+$|P!&jQ`O'#FTOOQO,5;y,5;yOOQO-E9]-E9]OOQS1G1d1G1dOOQPG24dG24dO!&oQ`OAN>ZO)YQdO1G1[O!&tQ`O7+'jOOQO1G/x1G/xO!&|Q`O,5:aO!$eQhO7+%iOOQO,5;v,5;vOOQO-E9Y-E9YOOQW<Q!]!^>|!^!_?_!_!`@Z!`!a@n!a!b%Z!b!cAo!c!k%Z!k!lC|!l!u%Z!u!vC|!v!}%Z!}#OD_#O#P%Z#P#QDp#Q#R2X#R#]%Z#]#^ER#^#g%Z#g#hC|#h#o%Z#o#pIf#p#qIw#q#rJ`#r#sJq#s#y%Z#y#z&R#z$f%Z$f$g&R$g#BY%Z#BY#BZ&R#BZ$IS%Z$IS$I_&R$I_$I|%Z$I|$JO&R$JO$JT%Z$JT$JU&R$JU$KV%Z$KV$KW&R$KW&FU%Z&FU&FV&R&FV;'S%Z;'S;=`KY<%lO%Z`%^SOy%jz;'S%j;'S;=`%{<%lO%j`%oS!o`Oy%jz;'S%j;'S;=`%{<%lO%j`&OP;=`<%l%j~&Wh$[~OX%jX^'r^p%jpq'rqy%jz#y%j#y#z'r#z$f%j$f$g'r$g#BY%j#BY#BZ'r#BZ$IS%j$IS$I_'r$I_$I|%j$I|$JO'r$JO$JT%j$JT$JU'r$JU$KV%j$KV$KW'r$KW&FU%j&FU&FV'r&FV;'S%j;'S;=`%{<%lO%j~'yh$[~!o`OX%jX^'r^p%jpq'rqy%jz#y%j#y#z'r#z$f%j$f$g'r$g#BY%j#BY#BZ'r#BZ$IS%j$IS$I_'r$I_$I|%j$I|$JO'r$JO$JT%j$JT$JU'r$JU$KV%j$KV$KW'r$KW&FU%j&FU&FV'r&FV;'S%j;'S;=`%{<%lO%jj)jS$qYOy%jz;'S%j;'S;=`%{<%lO%j~)yWOY)vZr)vrs*cs#O)v#O#P*h#P;'S)v;'S;=`+d<%lO)v~*hOw~~*kRO;'S)v;'S;=`*t;=`O)v~*wXOY)vZr)vrs*cs#O)v#O#P*h#P;'S)v;'S;=`+d;=`<%l)v<%lO)v~+gP;=`<%l)vj+oYmYOy%jz!Q%j!Q![,_![!c%j!c!i,_!i#T%j#T#Z,_#Z;'S%j;'S;=`%{<%lO%jj,dY!o`Oy%jz!Q%j!Q![-S![!c%j!c!i-S!i#T%j#T#Z-S#Z;'S%j;'S;=`%{<%lO%jj-XY!o`Oy%jz!Q%j!Q![-w![!c%j!c!i-w!i#T%j#T#Z-w#Z;'S%j;'S;=`%{<%lO%jj.OYuY!o`Oy%jz!Q%j!Q![.n![!c%j!c!i.n!i#T%j#T#Z.n#Z;'S%j;'S;=`%{<%lO%jj.uYuY!o`Oy%jz!Q%j!Q![/e![!c%j!c!i/e!i#T%j#T#Z/e#Z;'S%j;'S;=`%{<%lO%jj/jY!o`Oy%jz!Q%j!Q![0Y![!c%j!c!i0Y!i#T%j#T#Z0Y#Z;'S%j;'S;=`%{<%lO%jj0aYuY!o`Oy%jz!Q%j!Q![1P![!c%j!c!i1P!i#T%j#T#Z1P#Z;'S%j;'S;=`%{<%lO%jj1UY!o`Oy%jz!Q%j!Q![1t![!c%j!c!i1t!i#T%j#T#Z1t#Z;'S%j;'S;=`%{<%lO%jj1{SuY!o`Oy%jz;'S%j;'S;=`%{<%lO%jd2[UOy%jz!_%j!_!`2n!`;'S%j;'S;=`%{<%lO%jd2uS!yS!o`Oy%jz;'S%j;'S;=`%{<%lO%jb3WS^QOy%jz;'S%j;'S;=`%{<%lO%j~3gWOY3dZw3dwx*cx#O3d#O#P4P#P;'S3d;'S;=`4{<%lO3d~4SRO;'S3d;'S;=`4];=`O3d~4`XOY3dZw3dwx*cx#O3d#O#P4P#P;'S3d;'S;=`4{;=`<%l3d<%lO3d~5OP;=`<%l3dj5WShYOy%jz;'S%j;'S;=`%{<%lO%j~5iOg~n5pUWQyWOy%jz!_%j!_!`2n!`;'S%j;'S;=`%{<%lO%jj6ZWyW#PQOy%jz!O%j!O!P6s!P!Q%j!Q![9x![;'S%j;'S;=`%{<%lO%jj6xU!o`Oy%jz!Q%j!Q![7[![;'S%j;'S;=`%{<%lO%jj7cY!o`$gYOy%jz!Q%j!Q![7[![!g%j!g!h8R!h#X%j#X#Y8R#Y;'S%j;'S;=`%{<%lO%jj8WY!o`Oy%jz{%j{|8v|}%j}!O8v!O!Q%j!Q![9_![;'S%j;'S;=`%{<%lO%jj8{U!o`Oy%jz!Q%j!Q![9_![;'S%j;'S;=`%{<%lO%jj9fU!o`$gYOy%jz!Q%j!Q![9_![;'S%j;'S;=`%{<%lO%jj:P[!o`$gYOy%jz!O%j!O!P7[!P!Q%j!Q![9x![!g%j!g!h8R!h#X%j#X#Y8R#Y;'S%j;'S;=`%{<%lO%jj:zS!dYOy%jz;'S%j;'S;=`%{<%lO%jj;]WyWOy%jz!O%j!O!P6s!P!Q%j!Q![9x![;'S%j;'S;=`%{<%lO%jj;zU`YOy%jz!Q%j!Q![7[![;'S%j;'S;=`%{<%lO%j~VUcYOy%jz![%j![!]>i!];'S%j;'S;=`%{<%lO%jj>pSdY!o`Oy%jz;'S%j;'S;=`%{<%lO%jj?RSnYOy%jz;'S%j;'S;=`%{<%lO%jh?dU!WWOy%jz!_%j!_!`?v!`;'S%j;'S;=`%{<%lO%jh?}S!WW!o`Oy%jz;'S%j;'S;=`%{<%lO%jl@bS!WW!ySOy%jz;'S%j;'S;=`%{<%lO%jj@uV!|Q!WWOy%jz!_%j!_!`?v!`!aA[!a;'S%j;'S;=`%{<%lO%jbAcS!|Q!o`Oy%jz;'S%j;'S;=`%{<%lO%jjArYOy%jz}%j}!OBb!O!c%j!c!}CP!}#T%j#T#oCP#o;'S%j;'S;=`%{<%lO%jjBgW!o`Oy%jz!c%j!c!}CP!}#T%j#T#oCP#o;'S%j;'S;=`%{<%lO%jjCW[lY!o`Oy%jz}%j}!OCP!O!Q%j!Q![CP![!c%j!c!}CP!}#T%j#T#oCP#o;'S%j;'S;=`%{<%lO%jhDRS!zWOy%jz;'S%j;'S;=`%{<%lO%jjDdSpYOy%jz;'S%j;'S;=`%{<%lO%jnDuSo^Oy%jz;'S%j;'S;=`%{<%lO%jjEWU!zWOy%jz#a%j#a#bEj#b;'S%j;'S;=`%{<%lO%jbEoU!o`Oy%jz#d%j#d#eFR#e;'S%j;'S;=`%{<%lO%jbFWU!o`Oy%jz#c%j#c#dFj#d;'S%j;'S;=`%{<%lO%jbFoU!o`Oy%jz#f%j#f#gGR#g;'S%j;'S;=`%{<%lO%jbGWU!o`Oy%jz#h%j#h#iGj#i;'S%j;'S;=`%{<%lO%jbGoU!o`Oy%jz#T%j#T#UHR#U;'S%j;'S;=`%{<%lO%jbHWU!o`Oy%jz#b%j#b#cHj#c;'S%j;'S;=`%{<%lO%jbHoU!o`Oy%jz#h%j#h#iIR#i;'S%j;'S;=`%{<%lO%jbIYS$pQ!o`Oy%jz;'S%j;'S;=`%{<%lO%jjIkSsYOy%jz;'S%j;'S;=`%{<%lO%jfI|U$cUOy%jz!_%j!_!`2n!`;'S%j;'S;=`%{<%lO%jjJeSrYOy%jz;'S%j;'S;=`%{<%lO%jfJvU#PQOy%jz!_%j!_!`2n!`;'S%j;'S;=`%{<%lO%j`K]P;=`<%l%Z",tokenizers:[lm,hm,om,am,1,2,3,4,new af("m~RRYZ[z{a~~g~aO$_~~dP!P!Qg~lO$`~~",28,152)],topRules:{StyleSheet:[0,6],Styles:[1,126]},dynamicPrecedences:{94:1},specialized:[{term:147,get:e=>dm[e]||-1},{term:148,get:e=>um[e]||-1},{term:4,get:e=>$m[e]||-1},{term:28,get:e=>fm[e]||-1},{term:146,get:e=>pm[e]||-1}],tokenPrec:2405});let mm=null;function gm(){if(!mm&&"object"==typeof document&&document.body){let{style:e}=document.body,t=[],i=new Set;for(let O in e)"cssText"!=O&&"cssFloat"!=O&&"string"==typeof e[O]&&(/[A-Z]/.test(O)&&(O=O.replace(/[A-Z]/g,e=>"-"+e.toLowerCase())),i.has(O)||(t.push(O),i.add(O)));mm=t.sort().map(e=>({type:"property",label:e,apply:e+": "}))}return mm||[]}const Sm=["active","after","any-link","autofill","backdrop","before","checked","cue","default","defined","disabled","empty","enabled","file-selector-button","first","first-child","first-letter","first-line","first-of-type","focus","focus-visible","focus-within","fullscreen","has","host","host-context","hover","in-range","indeterminate","invalid","is","lang","last-child","last-of-type","left","link","marker","modal","not","nth-child","nth-last-child","nth-last-of-type","nth-of-type","only-child","only-of-type","optional","out-of-range","part","placeholder","placeholder-shown","read-only","read-write","required","right","root","scope","selection","slotted","target","target-text","valid","visited","where"].map(e=>({type:"class",label:e})),Pm=["above","absolute","activeborder","additive","activecaption","after-white-space","ahead","alias","all","all-scroll","alphabetic","alternate","always","antialiased","appworkspace","asterisks","attr","auto","auto-flow","avoid","avoid-column","avoid-page","avoid-region","axis-pan","background","backwards","baseline","below","bidi-override","blink","block","block-axis","bold","bolder","border","border-box","both","bottom","break","break-all","break-word","bullets","button","button-bevel","buttonface","buttonhighlight","buttonshadow","buttontext","calc","capitalize","caps-lock-indicator","caption","captiontext","caret","cell","center","checkbox","circle","cjk-decimal","clear","clip","close-quote","col-resize","collapse","color","color-burn","color-dodge","column","column-reverse","compact","condensed","contain","content","contents","content-box","context-menu","continuous","copy","counter","counters","cover","crop","cross","crosshair","currentcolor","cursive","cyclic","darken","dashed","decimal","decimal-leading-zero","default","default-button","dense","destination-atop","destination-in","destination-out","destination-over","difference","disc","discard","disclosure-closed","disclosure-open","document","dot-dash","dot-dot-dash","dotted","double","down","e-resize","ease","ease-in","ease-in-out","ease-out","element","ellipse","ellipsis","embed","end","ethiopic-abegede-gez","ethiopic-halehame-aa-er","ethiopic-halehame-gez","ew-resize","exclusion","expanded","extends","extra-condensed","extra-expanded","fantasy","fast","fill","fill-box","fixed","flat","flex","flex-end","flex-start","footnotes","forwards","from","geometricPrecision","graytext","grid","groove","hand","hard-light","help","hidden","hide","higher","highlight","highlighttext","horizontal","hsl","hsla","hue","icon","ignore","inactiveborder","inactivecaption","inactivecaptiontext","infinite","infobackground","infotext","inherit","initial","inline","inline-axis","inline-block","inline-flex","inline-grid","inline-table","inset","inside","intrinsic","invert","italic","justify","keep-all","landscape","large","larger","left","level","lighter","lighten","line-through","linear","linear-gradient","lines","list-item","listbox","listitem","local","logical","loud","lower","lower-hexadecimal","lower-latin","lower-norwegian","lowercase","ltr","luminosity","manipulation","match","matrix","matrix3d","medium","menu","menutext","message-box","middle","min-intrinsic","mix","monospace","move","multiple","multiple_mask_images","multiply","n-resize","narrower","ne-resize","nesw-resize","no-close-quote","no-drop","no-open-quote","no-repeat","none","normal","not-allowed","nowrap","ns-resize","numbers","numeric","nw-resize","nwse-resize","oblique","opacity","open-quote","optimizeLegibility","optimizeSpeed","outset","outside","outside-shape","overlay","overline","padding","padding-box","painted","page","paused","perspective","pinch-zoom","plus-darker","plus-lighter","pointer","polygon","portrait","pre","pre-line","pre-wrap","preserve-3d","progress","push-button","radial-gradient","radio","read-only","read-write","read-write-plaintext-only","rectangle","region","relative","repeat","repeating-linear-gradient","repeating-radial-gradient","repeat-x","repeat-y","reset","reverse","rgb","rgba","ridge","right","rotate","rotate3d","rotateX","rotateY","rotateZ","round","row","row-resize","row-reverse","rtl","run-in","running","s-resize","sans-serif","saturation","scale","scale3d","scaleX","scaleY","scaleZ","screen","scroll","scrollbar","scroll-position","se-resize","self-start","self-end","semi-condensed","semi-expanded","separate","serif","show","single","skew","skewX","skewY","skip-white-space","slide","slider-horizontal","slider-vertical","sliderthumb-horizontal","sliderthumb-vertical","slow","small","small-caps","small-caption","smaller","soft-light","solid","source-atop","source-in","source-out","source-over","space","space-around","space-between","space-evenly","spell-out","square","start","static","status-bar","stretch","stroke","stroke-box","sub","subpixel-antialiased","svg_masks","super","sw-resize","symbolic","symbols","system-ui","table","table-caption","table-cell","table-column","table-column-group","table-footer-group","table-header-group","table-row","table-row-group","text","text-bottom","text-top","textarea","textfield","thick","thin","threeddarkshadow","threedface","threedhighlight","threedlightshadow","threedshadow","to","top","transform","translate","translate3d","translateX","translateY","translateZ","transparent","ultra-condensed","ultra-expanded","underline","unidirectional-pan","unset","up","upper-latin","uppercase","url","var","vertical","vertical-text","view-box","visible","visibleFill","visiblePainted","visibleStroke","visual","w-resize","wait","wave","wider","window","windowframe","windowtext","words","wrap","wrap-reverse","x-large","x-small","xor","xx-large","xx-small"].map(e=>({type:"keyword",label:e})).concat(["aliceblue","antiquewhite","aqua","aquamarine","azure","beige","bisque","black","blanchedalmond","blue","blueviolet","brown","burlywood","cadetblue","chartreuse","chocolate","coral","cornflowerblue","cornsilk","crimson","cyan","darkblue","darkcyan","darkgoldenrod","darkgray","darkgreen","darkkhaki","darkmagenta","darkolivegreen","darkorange","darkorchid","darkred","darksalmon","darkseagreen","darkslateblue","darkslategray","darkturquoise","darkviolet","deeppink","deepskyblue","dimgray","dodgerblue","firebrick","floralwhite","forestgreen","fuchsia","gainsboro","ghostwhite","gold","goldenrod","gray","grey","green","greenyellow","honeydew","hotpink","indianred","indigo","ivory","khaki","lavender","lavenderblush","lawngreen","lemonchiffon","lightblue","lightcoral","lightcyan","lightgoldenrodyellow","lightgray","lightgreen","lightpink","lightsalmon","lightseagreen","lightskyblue","lightslategray","lightsteelblue","lightyellow","lime","limegreen","linen","magenta","maroon","mediumaquamarine","mediumblue","mediumorchid","mediumpurple","mediumseagreen","mediumslateblue","mediumspringgreen","mediumturquoise","mediumvioletred","midnightblue","mintcream","mistyrose","moccasin","navajowhite","navy","oldlace","olive","olivedrab","orange","orangered","orchid","palegoldenrod","palegreen","paleturquoise","palevioletred","papayawhip","peachpuff","peru","pink","plum","powderblue","purple","rebeccapurple","red","rosybrown","royalblue","saddlebrown","salmon","sandybrown","seagreen","seashell","sienna","silver","skyblue","slateblue","slategray","snow","springgreen","steelblue","tan","teal","thistle","tomato","turquoise","violet","wheat","white","whitesmoke","yellow","yellowgreen"].map(e=>({type:"constant",label:e}))),Tm=["a","abbr","address","article","aside","b","bdi","bdo","blockquote","body","br","button","canvas","caption","cite","code","col","colgroup","dd","del","details","dfn","dialog","div","dl","dt","em","figcaption","figure","footer","form","header","hgroup","h1","h2","h3","h4","h5","h6","hr","html","i","iframe","img","input","ins","kbd","label","legend","li","main","meter","nav","ol","output","p","pre","ruby","section","select","small","source","span","strong","sub","summary","sup","table","tbody","td","template","textarea","tfoot","th","thead","tr","u","ul"].map(e=>({type:"type",label:e})),ym=["@charset","@color-profile","@container","@counter-style","@font-face","@font-feature-values","@font-palette-values","@import","@keyframes","@layer","@media","@namespace","@page","@position-try","@property","@scope","@starting-style","@supports","@view-transition"].map(e=>({type:"keyword",label:e})),vm=/^(\w[\w-]*|-\w[\w-]*|)$/,wm=/^-(-[\w-]*)?$/,bm=new Vo,xm=["Declaration"];function Xm(e){for(let t=e;;){if(t.type.isTop)return t;if(!(t=t.parent))return e}}function km(e,t,i){if(t.to-t.from>4096){let O=bm.get(t);if(O)return O;let n=[],r=new Set,s=t.cursor(po.IncludeAnonymous);if(s.firstChild())do{for(let t of km(e,s.node,i))r.has(t.label)||(r.add(t.label),n.push(t))}while(s.nextSibling());return bm.set(t,n),n}{let O=[],n=new Set;return t.cursor().iterate(t=>{var r;if(i(t)&&t.matchContext(xm)&&":"==(null===(r=t.node.nextSibling)||void 0===r?void 0:r.name)){let i=e.sliceString(t.from,t.to);n.has(i)||(n.add(i),O.push({label:i,type:"variable"}))}}),O}}const Zm=e=>t=>{let{state:i,pos:O}=t,n=za(i).resolveInner(O,-1),r=n.type.isError&&n.from==n.to-1&&"-"==i.doc.sliceString(n.from,n.to);if("PropertyName"==n.name||(r||"TagName"==n.name)&&/^(Block|Styles)$/.test(n.resolve(n.to).name))return{from:n.from,options:gm(),validFor:vm};if("ValueName"==n.name)return{from:n.from,options:Pm,validFor:vm};if("PseudoClassName"==n.name)return{from:n.from,options:Sm,validFor:vm};if(e(n)||(t.explicit||r)&&function(e,t){var i;if(("("==e.name||e.type.isError)&&(e=e.parent||e),"ArgList"!=e.name)return!1;let O=null===(i=e.parent)||void 0===i?void 0:i.firstChild;return"Callee"==(null==O?void 0:O.name)&&"var"==t.sliceString(O.from,O.to)}(n,i.doc))return{from:e(n)||r?n.from:O,options:km(i.doc,Xm(n),e),validFor:wm};if("TagName"==n.name){for(let{parent:e}=n;e;e=e.parent)if("Block"==e.name)return{from:n.from,options:gm(),validFor:vm};return{from:n.from,options:Tm,validFor:vm}}if("AtKeyword"==n.name)return{from:n.from,options:ym,validFor:vm};if(!t.explicit)return null;let s=n.resolve(O),o=s.childBefore(O);return o&&":"==o.name&&"PseudoClassSelector"==s.name?{from:O,options:Sm,validFor:vm}:o&&":"==o.name&&"Declaration"==s.name||"ArgList"==s.name?{from:O,options:Pm,validFor:vm}:"Block"==s.name||"Styles"==s.name?{from:O,options:gm(),validFor:vm}:null},Rm=Zm(e=>"VariableName"==e.name),zm=Ra.define({name:"css",parser:Qm.configure({props:[Ba.add({Declaration:Ol()}),rl.add({"Block KeyframeList":sl})]}),languageData:{commentTokens:{block:{open:"/*",close:"*/"}},indentOnInput:/^\s*\}$/,wordChars:"-"}});function _m(){return new Aa(zm,zm.data.of({autocomplete:Rm}))}const Ym=["_blank","_self","_top","_parent"],Vm=["ascii","utf-8","utf-16","latin1","latin1"],qm=["get","post","put","delete"],Wm=["application/x-www-form-urlencoded","multipart/form-data","text/plain"],Um=["true","false"],jm={},Gm={a:{attrs:{href:null,ping:null,type:null,media:null,target:Ym,hreflang:null}},abbr:jm,address:jm,area:{attrs:{alt:null,coords:null,href:null,target:null,ping:null,media:null,hreflang:null,type:null,shape:["default","rect","circle","poly"]}},article:jm,aside:jm,audio:{attrs:{src:null,mediagroup:null,crossorigin:["anonymous","use-credentials"],preload:["none","metadata","auto"],autoplay:["autoplay"],loop:["loop"],controls:["controls"]}},b:jm,base:{attrs:{href:null,target:Ym}},bdi:jm,bdo:jm,blockquote:{attrs:{cite:null}},body:jm,br:jm,button:{attrs:{form:null,formaction:null,name:null,value:null,autofocus:["autofocus"],disabled:["autofocus"],formenctype:Wm,formmethod:qm,formnovalidate:["novalidate"],formtarget:Ym,type:["submit","reset","button"]}},canvas:{attrs:{width:null,height:null}},caption:jm,center:jm,cite:jm,code:jm,col:{attrs:{span:null}},colgroup:{attrs:{span:null}},command:{attrs:{type:["command","checkbox","radio"],label:null,icon:null,radiogroup:null,command:null,title:null,disabled:["disabled"],checked:["checked"]}},data:{attrs:{value:null}},datagrid:{attrs:{disabled:["disabled"],multiple:["multiple"]}},datalist:{attrs:{data:null}},dd:jm,del:{attrs:{cite:null,datetime:null}},details:{attrs:{open:["open"]}},dfn:jm,div:jm,dl:jm,dt:jm,em:jm,embed:{attrs:{src:null,type:null,width:null,height:null}},eventsource:{attrs:{src:null}},fieldset:{attrs:{disabled:["disabled"],form:null,name:null}},figcaption:jm,figure:jm,footer:jm,form:{attrs:{action:null,name:null,"accept-charset":Vm,autocomplete:["on","off"],enctype:Wm,method:qm,novalidate:["novalidate"],target:Ym}},h1:jm,h2:jm,h3:jm,h4:jm,h5:jm,h6:jm,head:{children:["title","base","link","style","meta","script","noscript","command"]},header:jm,hgroup:jm,hr:jm,html:{attrs:{manifest:null}},i:jm,iframe:{attrs:{src:null,srcdoc:null,name:null,width:null,height:null,sandbox:["allow-top-navigation","allow-same-origin","allow-forms","allow-scripts"],seamless:["seamless"]}},img:{attrs:{alt:null,src:null,ismap:null,usemap:null,width:null,height:null,crossorigin:["anonymous","use-credentials"]}},input:{attrs:{alt:null,dirname:null,form:null,formaction:null,height:null,list:null,max:null,maxlength:null,min:null,name:null,pattern:null,placeholder:null,size:null,src:null,step:null,value:null,width:null,accept:["audio/*","video/*","image/*"],autocomplete:["on","off"],autofocus:["autofocus"],checked:["checked"],disabled:["disabled"],formenctype:Wm,formmethod:qm,formnovalidate:["novalidate"],formtarget:Ym,multiple:["multiple"],readonly:["readonly"],required:["required"],type:["hidden","text","search","tel","url","email","password","datetime","date","month","week","time","datetime-local","number","range","color","checkbox","radio","file","submit","image","reset","button"]}},ins:{attrs:{cite:null,datetime:null}},kbd:jm,keygen:{attrs:{challenge:null,form:null,name:null,autofocus:["autofocus"],disabled:["disabled"],keytype:["RSA"]}},label:{attrs:{for:null,form:null}},legend:jm,li:{attrs:{value:null}},link:{attrs:{href:null,type:null,hreflang:null,media:null,sizes:["all","16x16","16x16 32x32","16x16 32x32 64x64"]}},map:{attrs:{name:null}},mark:jm,menu:{attrs:{label:null,type:["list","context","toolbar"]}},meta:{attrs:{content:null,charset:Vm,name:["viewport","application-name","author","description","generator","keywords"],"http-equiv":["content-language","content-type","default-style","refresh"]}},meter:{attrs:{value:null,min:null,low:null,high:null,max:null,optimum:null}},nav:jm,noscript:jm,object:{attrs:{data:null,type:null,name:null,usemap:null,form:null,width:null,height:null,typemustmatch:["typemustmatch"]}},ol:{attrs:{reversed:["reversed"],start:null,type:["1","a","A","i","I"]},children:["li","script","template","ul","ol"]},optgroup:{attrs:{disabled:["disabled"],label:null}},option:{attrs:{disabled:["disabled"],label:null,selected:["selected"],value:null}},output:{attrs:{for:null,form:null,name:null}},p:jm,param:{attrs:{name:null,value:null}},pre:jm,progress:{attrs:{value:null,max:null}},q:{attrs:{cite:null}},rp:jm,rt:jm,ruby:jm,samp:jm,script:{attrs:{type:["text/javascript"],src:null,async:["async"],defer:["defer"],charset:Vm}},section:jm,select:{attrs:{form:null,name:null,size:null,autofocus:["autofocus"],disabled:["disabled"],multiple:["multiple"]}},slot:{attrs:{name:null}},small:jm,source:{attrs:{src:null,type:null,media:null}},span:jm,strong:jm,style:{attrs:{type:["text/css"],media:null,scoped:null}},sub:jm,summary:jm,sup:jm,table:jm,tbody:jm,td:{attrs:{colspan:null,rowspan:null,headers:null}},template:jm,textarea:{attrs:{dirname:null,form:null,maxlength:null,name:null,placeholder:null,rows:null,cols:null,autofocus:["autofocus"],disabled:["disabled"],readonly:["readonly"],required:["required"],wrap:["soft","hard"]}},tfoot:jm,th:{attrs:{colspan:null,rowspan:null,headers:null,scope:["row","col","rowgroup","colgroup"]}},thead:jm,time:{attrs:{datetime:null}},title:jm,tr:jm,track:{attrs:{src:null,label:null,default:null,kind:["subtitles","captions","descriptions","chapters","metadata"],srclang:null}},ul:{children:["li","script","template","ul","ol"]},var:jm,video:{attrs:{src:null,poster:null,width:null,height:null,crossorigin:["anonymous","use-credentials"],preload:["auto","metadata","none"],autoplay:["autoplay"],mediagroup:["movie"],muted:["muted"],controls:["controls"]}},wbr:jm},Cm={accesskey:null,class:null,contenteditable:Um,contextmenu:null,dir:["ltr","rtl","auto"],draggable:["true","false","auto"],dropzone:["copy","move","link","string:","file:"],hidden:["hidden"],id:null,inert:["inert"],itemid:null,itemprop:null,itemref:null,itemscope:["itemscope"],itemtype:null,lang:["ar","bn","de","en-GB","en-US","es","fr","hi","id","ja","pa","pt","ru","tr","zh"],spellcheck:Um,autocorrect:Um,autocapitalize:Um,style:null,tabindex:null,title:null,translate:["yes","no"],rel:["stylesheet","alternate","author","bookmark","help","license","next","nofollow","noreferrer","prefetch","prev","search","tag"],role:"alert application article banner button cell checkbox complementary contentinfo dialog document feed figure form grid gridcell heading img list listbox listitem main navigation region row rowgroup search switch tab table tabpanel textbox timer".split(" "),"aria-activedescendant":null,"aria-atomic":Um,"aria-autocomplete":["inline","list","both","none"],"aria-busy":Um,"aria-checked":["true","false","mixed","undefined"],"aria-controls":null,"aria-describedby":null,"aria-disabled":Um,"aria-dropeffect":null,"aria-expanded":["true","false","undefined"],"aria-flowto":null,"aria-grabbed":["true","false","undefined"],"aria-haspopup":Um,"aria-hidden":Um,"aria-invalid":["true","false","grammar","spelling"],"aria-label":null,"aria-labelledby":null,"aria-level":null,"aria-live":["off","polite","assertive"],"aria-multiline":Um,"aria-multiselectable":Um,"aria-owns":null,"aria-posinset":null,"aria-pressed":["true","false","mixed","undefined"],"aria-readonly":Um,"aria-relevant":null,"aria-required":Um,"aria-selected":["true","false","undefined"],"aria-setsize":null,"aria-sort":["ascending","descending","none","other"],"aria-valuemax":null,"aria-valuemin":null,"aria-valuenow":null,"aria-valuetext":null},Am="beforeunload copy cut dragstart dragover dragleave dragenter dragend drag paste focus blur change click load mousedown mouseenter mouseleave mouseup keydown keyup resize scroll unload".split(" ").map(e=>"on"+e);for(let e of Am)Cm[e]=null;class Em{constructor(e,t){this.tags={...Gm,...e},this.globalAttrs={...Cm,...t},this.allTags=Object.keys(this.tags),this.globalAttrNames=Object.keys(this.globalAttrs)}}function Mm(e,t,i=e.length){if(!t)return"";let O=t.firstChild,n=O&&O.getChild("TagName");return n?e.sliceString(n.from,Math.min(n.to,i)):""}function Dm(e,t=!1){for(;e;e=e.parent)if("Element"==e.name){if(!t)return e;t=!1}return null}function Lm(e,t,i){let O=i.tags[Mm(e,Dm(t))];return(null==O?void 0:O.children)||i.allTags}function Im(e,t){let i=[];for(let O=Dm(t);O&&!O.type.isTop;O=Dm(O.parent)){let n=Mm(e,O);if(n&&"CloseTag"==O.lastChild.name)break;n&&i.indexOf(n)<0&&("EndTag"==t.name||t.from>=O.firstChild.to)&&i.push(n)}return i}Em.default=new Em;const Nm=/^[:\-\.\w\u00b7-\uffff]*$/;function Bm(e,t,i,O,n){let r=/\s*>/.test(e.sliceDoc(n,n+5))?"":">",s=Dm(i,"StartTag"==i.name||"TagName"==i.name);return{from:O,to:n,options:Lm(e.doc,s,t).map(e=>({label:e,type:"type"})).concat(Im(e.doc,i).map((e,t)=>({label:"/"+e,apply:"/"+e+r,type:"type",boost:99-t}))),validFor:/^\/?[:\-\.\w\u00b7-\uffff]*$/}}function Fm(e,t,i,O){let n=/\s*>/.test(e.sliceDoc(O,O+5))?"":">";return{from:i,to:O,options:Im(e.doc,t).map((e,t)=>({label:e,apply:e+n,type:"type",boost:99-t})),validFor:Nm}}function Hm(e){let{extraTags:t,extraGlobalAttributes:i}=e,O=i||t?new Em(t,i):Em.default;return e=>function(e,t){let{state:i,pos:O}=t,n=za(i).resolveInner(O,-1),r=n.resolve(O);for(let e,t=O;r==n&&(e=n.childBefore(t));){let i=e.lastChild;if(!i||!i.type.isError||i.from({label:e,type:"property"})),validFor:Nm}}(i,e,n,"AttributeName"==n.name?n.from:O,O):"Is"==n.name||"AttributeValue"==n.name||"UnquotedAttributeValue"==n.name?function(e,t,i,O,n){var r;let s,o=null===(r=i.parent)||void 0===r?void 0:r.getChild("AttributeName"),a=[];if(o){let r=e.sliceDoc(o.from,o.to),l=t.globalAttrs[r];if(!l){let O=Dm(i),n=O?t.tags[Mm(e.doc,O)]:null;l=(null==n?void 0:n.attrs)&&n.attrs[r]}if(l){let t=e.sliceDoc(O,n).toLowerCase(),i='"',r='"';/^['"]/.test(t)?(s='"'==t[0]?/^[^"]*$/:/^[^']*$/,i="",r=e.sliceDoc(n,n+1)==t[0]?"":t[0],t=t.slice(1),O++):s=/^[^\s<>='"]*$/;for(let e of l)a.push({label:e,apply:i+e+r,type:"constant"})}}return{from:O,to:n,options:a,validFor:s}}(i,e,n,"Is"==n.name?O:n.from,O):!t.explicit||"Element"!=r.name&&"Text"!=r.name&&"Document"!=r.name?null:function(e,t,i,O){let n=[],r=0;for(let O of Lm(e.doc,i,t))n.push({label:"<"+O,type:"type"});for(let t of Im(e.doc,i))n.push({label:"",type:"type",boost:99-r++});return{from:O,to:O,options:n,validFor:/^<\/?[:\-\.\w\u00b7-\uffff]*$/}}(i,e,n,O)}(O,e)}const Km=Ff.parser.configure({top:"SingleExpression"}),Jm=[{tag:"script",attrs:e=>"text/typescript"==e.type||"ts"==e.lang,parser:Kf.parser},{tag:"script",attrs:e=>"text/babel"==e.type||"text/jsx"==e.type,parser:Jf.parser},{tag:"script",attrs:e=>"text/typescript-jsx"==e.type,parser:ep.parser},{tag:"script",attrs:e=>/^(importmap|speculationrules|application\/(.+\+)?json)$/i.test(e.type),parser:Km},{tag:"script",attrs:e=>!e.type||/^(?:text|application)\/(?:x-)?(?:java|ecma)script$|^module$|^$/i.test(e.type),parser:Ff.parser},{tag:"style",attrs:e=>(!e.lang||"css"==e.lang)&&(!e.type||/^(text\/)?(x-)?(stylesheet|css)$/i.test(e.type)),parser:zm.parser}],eg=[{name:"style",parser:zm.parser.configure({top:"Styles"})}].concat(Am.map(e=>({name:e,parser:Ff.parser}))),tg=Ra.define({name:"html",parser:HQ.configure({props:[Ba.add({Element(e){let t=/^(\s*)(<\/)?/.exec(e.textAfter);return e.node.to<=e.pos+t[0].length?e.continue():e.lineIndent(e.node.from)+(t[2]?0:e.unit)},"OpenTag CloseTag SelfClosingTag":e=>e.column(e.node.from)+e.unit,Document(e){if(e.pos+/\s*/.exec(e.textAfter)[0].lengthe.getChild("TagName")})]}),languageData:{commentTokens:{block:{open:"\x3c!--",close:"--\x3e"}},indentOnInput:/^\s*<\/\w+\W$/,wordChars:"-_"}}),ig=tg.configure({wrap:tm(Jm,eg)});function Og(e={}){let t,i="";!1===e.matchClosingTags&&(i="noMatch"),!0===e.selfClosingTags&&(i=(i?i+" ":"")+"selfClosing"),(e.nestedLanguages&&e.nestedLanguages.length||e.nestedAttributes&&e.nestedAttributes.length)&&(t=tm((e.nestedLanguages||[]).concat(Jm),(e.nestedAttributes||[]).concat(eg)));let O=t?tg.configure({wrap:t,dialect:i}):i?ig.configure({dialect:i}):ig;return new Aa(O,[ig.data.of({autocomplete:Hm(e)}),!1!==e.autoCloseTags?rg:[],np().support,_m().support])}const ng=new Set("area base br col command embed frame hr img input keygen link meta param source track wbr menuitem".split(" ")),rg=ar.inputHandler.of((e,t,i,O,n)=>{if(e.composing||e.state.readOnly||t!=i||">"!=O&&"/"!=O||!ig.isActiveAt(e.state,t,-1))return!1;let r=n(),{state:s}=r,o=s.changeByRange(e=>{var t,i,n;let r,o=s.doc.sliceString(e.from-1,e.to)==O,{head:a}=e,l=za(s).resolveInner(a,-1);if(o&&">"==O&&"EndTag"==l.name){let O=l.parent;if("CloseTag"!=(null===(i=null===(t=O.parent)||void 0===t?void 0:t.lastChild)||void 0===i?void 0:i.name)&&(r=Mm(s.doc,O.parent,a))&&!ng.has(r))return{range:e,changes:{from:a,to:a+(">"===s.doc.sliceString(a,a+1)?1:0),insert:``}}}else if(o&&"/"==O&&"IncompleteCloseTag"==l.name){let e=l.parent;if(l.from==a-2&&"CloseTag"!=(null===(n=e.lastChild)||void 0===n?void 0:n.name)&&(r=Mm(s.doc,e,a))&&!ng.has(r)){let e=a+(">"===s.doc.sliceString(a,a+1)?1:0),t=`${r}>`;return{range:q.cursor(a+t.length,-1),changes:{from:a,to:e,insert:t}}}}return{range:e}});return!o.changes.empty&&(e.dispatch([r,s.update(o,{userEvent:"input.complete",scrollIntoView:!0})]),!0)}),sg=Ra.define({name:"php",parser:kQ.configure({props:[Ba.add({IfStatement:Ol({except:/^\s*({|else\b|elseif\b|endif\b)/}),TryStatement:Ol({except:/^\s*({|catch\b|finally\b)/}),SwitchBody:e=>{let t=e.textAfter,i=/^\s*\}/.test(t),O=/^\s*(case|default)\b/.test(t);return e.baseIndent+(i?0:O?1:2)*e.unit},ColonBlock:e=>e.baseIndent+e.unit,"Block EnumBody DeclarationList":tl({closing:"}"}),ArrowFunction:e=>e.baseIndent+e.unit,"String BlockComment":()=>null,Statement:Ol({except:/^({|end(for|foreach|switch|while)\b)/})}),rl.add({"Block EnumBody DeclarationList SwitchBody ArrayExpression ValueList":sl,ColonBlock:e=>({from:e.from+1,to:e.to}),BlockComment:e=>({from:e.from+2,to:e.to-2})})]}),languageData:{commentTokens:{block:{open:"/*",close:"*/"},line:"//"},indentOnInput:/^\s*(?:case |default:|end(?:if|for(?:each)?|switch|while)|else(?:if)?|\{|\})$/,wordChars:"$",closeBrackets:{stringPrefixes:["b","B"]}}});function og(e){return e>=65&&e<=90||e>=97&&e<=122}const ag=new lf(e=>{let t=e.pos;for(;;){let{next:i}=e;if(i<0)break;if(123==i){let i=e.peek(1);if(123==i){if(e.pos>t)break;return void e.acceptToken(1,2)}if(35==i){if(e.pos>t)break;return void e.acceptToken(2,2)}if(37==i){if(e.pos>t)break;let i=2,O=2;for(;;){let t=e.peek(i);if(32==t||10==t)++i;else if(35==t)for(++i;;){let t=e.peek(i);if(t<0||10==t)break;i++}else{if(45!=t||2!=O)return void e.acceptToken(3,O);O=++i}}}}if(e.advance(),10==i)break}e.pos>t&&e.acceptToken(155)});function lg(e,t,i){return new lf(O=>{let n=O.pos;for(;;){let{next:t}=O;if(123==t&&37==O.peek(1)){let t=2;for(;;t++){let e=O.peek(t);if(32!=e&&10!=e)break}let r="";for(;;t++){let e=O.peek(t);if(!og(e))break;r+=String.fromCharCode(e)}if(r==e){if(O.pos>n)break;O.acceptToken(i,2);break}}else if(t<0)break;if(O.advance(),10==t)break}O.pos>n&&O.acceptToken(t)})}const hg=lg("endraw",156,4),cg={__proto__:null,in:38,is:40,and:46,or:48,not:52,if:78,else:80,true:98,false:98,self:100,super:102,loop:104,recursive:136,scoped:160,required:162,as:256,import:260,ignore:268,missing:270,with:272,without:274,context:276},dg={__proto__:null,if:112,elif:118,else:122,endif:126,for:132,endfor:140,raw:146,endraw:152,block:158,endblock:166,macro:172,endmacro:182,call:188,endcall:192,filter:198,endfilter:202,set:208,endset:212,trans:218,pluralize:222,endtrans:226,with:232,endwith:236,autoescape:242,endautoescape:246,import:254,from:258,include:266},ug=yf.deserialize({version:14,states:"!*dQVOPOOOOOP'#F`'#F`OeOTO'#CbOvQSO'#CdO!kOPO'#DcO!yOPO'#DnO#XOQO'#DuO#^OPO'#D{O#lOPO'#ESO#zOPO'#E[O$YOPO'#EaO$hOPO'#EfO$vOPO'#EkO%UOPO'#ErO%dOPO'#EwOOOP'#F|'#F|O%rQWO'#E|O&sO#tO'#F]OOOP'#Fq'#FqOOOP'#F_'#F_QVOPOOOOOP-E9^-E9^OOQO'#Ce'#CeO'sQSO,59OO'zQSO'#DWO(RQSO'#DXO(YQ`O'#DZOOQO'#Fr'#FrOvQSO'#CuO(aOPO'#CbOOOP'#Fd'#FdO!kOPO,59}OOOP,59},59}O(oOPO,59}O(}QWO'#E|OOOP,5:Y,5:YO)[OPO,5:YO!yOPO,5:YO)jQWO'#E|OOOQ'#Ff'#FfO)tOQO'#DxO)|OQO,5:aOOOP,5:g,5:gO#^OPO,5:gO*RQWO'#E|OOOP,5:n,5:nO#lOPO,5:nO*YQWO'#E|OOOP,5:v,5:vO#zOPO,5:vO*aQWO'#E|OOOP,5:{,5:{O$YOPO,5:{O*hQWO'#E|OOOP,5;Q,5;QO$hOPO,5;QO*oQWO'#E|OOOP,5;V,5;VO*vOPO,5;VO$vOPO,5;VO+UQWO'#E|OOOP,5;^,5;^O%UOPO,5;^O+`QWO'#E|OOOP,5;c,5;cO%dOPO,5;cO+gQWO'#E|O+nQSO,5;hOvQSO,5:OO+uQSO,5:ZO+zQSO,5:bO+uQSO,5:hO+uQSO,5:oO,PQSO,5:wO,XQpO,5:|O+uQSO,5;RO,^QSO,5;WO,fQSO,5;_OvQSO,5;dOvQSO,5;jOvQSO,5;jOvQSO,5;pOOOO'#Fk'#FkO,nO#tO,5;wOOOP-E9]-E9]O,vQ!bO,59QOvQSO,59TOvQSO,59UOvQSO,59UOvQSO,59UOvQSO,59UO,{QSO'#C}O,XQpO,59cOOQO,59q,59qOOOP1G.j1G.jOvQSO,59UO-SQSO,59UOvQSO,59UOvQSO,59UOvQSO,59nO-wQSO'#FxO.RQSO,59rO.WQSO,59tOOQO,59s,59sO.bQSO'#D[O.iQWO'#F{O.qQWO,59uO0WQSO,59aOOOP-E9b-E9bOOOP1G/i1G/iO(oOPO1G/iO(oOPO1G/iO)TQWO'#E|OvQSO,5:SO0nQSO,5:UO0sQSO,5:WOOOP1G/t1G/tO)[OPO1G/tO)mQWO'#E|O)[OPO1G/tO0xQSO,5:_OOOQ-E9d-E9dOOOP1G/{1G/{O0}QWO'#DyOOOP1G0R1G0RO1SQSO,5:lOOOP1G0Y1G0YO1[QSO,5:tOOOP1G0b1G0bO1aQSO,5:yOOOP1G0g1G0gO1fQSO,5;OOOOP1G0l1G0lO1kQSO,5;TOOOP1G0q1G0qO*vOPO1G0qO+XQWO'#E|O*vOPO1G0qOvQSO,5;YO1pQSO,5;[OOOP1G0x1G0xO1uQSO,5;aOOOP1G0}1G0}O1zQSO,5;fO2PQSO1G1SOOOP1G1S1G1SO2WQSO1G/jOOQO'#Dq'#DqO2_QSO1G/uOOOQ1G/|1G/|O2gQSO1G0SO2rQSO1G0ZO2zQSO'#EVO3SQSO1G0cO,SQSO1G0cO4fQSO'#FvOOQO'#Fv'#FvO5]QSO1G0hO5bQSO1G0mOOOP1G0r1G0rO5mQSO1G0rO5rQSO'#GOO5zQSO1G0yO6PQSO1G1OO6WQSO1G1UO6_QSO1G1UO6fQSO1G1[OOOO-E9i-E9iOOOP1G1c1G1cOOQO1G.l1G.lO6vQSO1G.oO8wQSO1G.pO:oQSO1G.pO:vQSO1G.pOQQSO'#FrO>XQSO'#FwO>aQSO,59iOOQO1G.}1G.}O>fQSO1G.pO@aQSO1G.pOB_QSO1G.pOBfQSO1G.pOD^QSO1G/YOvQSO'#FbODeQSO,5gOOOPAN>gAN>gO! }QSOAN>gOOOPAN>tAN>tO!!SQSO1G0^O!!^QSO,5SQ`O1G.pP!>ZQ`O1G.pP!>bQ`O1G/YP!?QQ`O<mOZ!wO_!yO`!zOa!{Ob!|Oc#ROd#SOp!}O$i!xOV^ih^il^iw^it^i$h^io^i!P^i!Z^i#t^i#v^i#z^i#|^i#}^ix^i!f^i~Og^i~P@nOg#TO~P@nOZ!wO_!yO`!zOa!{Ob!|Oc#ROd#SOg#TOh#UOp!}O$i!xOVvilviwvitvi$hviovi!Pvi!Zvi#tvi#vvi#zvi#|vi#}vi!fvi~Ox&gO~PBmOt%PO$h$la~Oo&jOt%PO~OekOfkOj(yOpiO!RkO!SkO!TkO!UkO$gfO$ihO$njO~Ot%VO$m$oa~O!]#eO~P%rO!Z&pO~P&xO!Z&rO~O!Z&sO~O!Z&uO~P&xOc&xOt%rO~O!Z&zO~O!Z&zO!s&{O~O!Z&|O~Os&}Ot'OOo$qX~Oo'QO~O!Z'RO~Op!}O!Z'RO~Os'TOt%rO~Os'WOt%rO~O$g'ZO~O$O'_O~O#{'`O~Ot&bOo$ka~Ot$Ua$h$Uao$Ua~P&xOZ!wO_(zO`({Oa(|Ob(}Oc)POd)QOg)ROh)SOl)OOp!}Ow)TO$i!xO~Ot!Oi$m!Oi~PHrO!P'hO~P&xO!Z'jO!f'kO~P&xO!Z'lO~Ot'OOo$qa~O!Z'qO~O!Z'sO~P&xOt'tO!Z'vO~P&xOt'xO!Z$ri~P&xO!Z'zO~Ot!eX!Z!eX#tXX~O#t'{O~Ot'|O!Z'zO~O!Z(OO~O!Z(OO#|(PO#}(PO~Oo$Tat$Ta~P&xOs(QO~P=POoritri~P&xOZ!wOp!}O$i!xOVvylvywvytvy$hvyovy!Pvy!Zvy#tvy#vvy#zvy#|vy#}vyxvy!fvy~O_!yO`!zOa!{Ob!|Oc#ROd#SOg#TOh#UO~PLsOZ!wOp!}O$i!xOgiahialiatiawia$miaxia~O_(zO`({Oa(|Ob(}Oc)POd)QO~PNkO!Z(^O!f(_O~P&xO!Z(^O~Oo!zit!zi~P&xOs(`Oo$Zat$Za~O!Z(aO~P&xOt'tO!Z(dO~Ot'xO!Z$rq~P&xOt'xO!Z$rq~Ot'|O!Z(kO~O$O(lO~OZ!wOp!}O$i!xO`^ia^ib^ic^id^ig^ih^il^it^iw^i$m^ie^if^i$g^ix^i~O_^i~P!#iOZ!wO_(zOp!}O$i!xOa^ib^ic^id^ig^ih^il^it^iw^i$m^ix^i~O`^i~P!$zO`({O~P!$zOZ!wO_(zO`({Oa(|Op!}O$i!xOc^id^ig^ih^il^it^iw^i$m^ix^i~Ob^i~P!&ZO$m$jX~P3[Ob(}O~P!&ZOZ!wO_)zO`){Oa)|Ob)}Oc*OOp!}O$i!xOd^ig^ih^il^it^iw^i$m^ix^i~Oe&fOf&fO$gfO~P!'qOZ!wO_(zO`({Oa(|Ob(}Oc)POd)QOp!}O$i!xOh^il^it^iw^i$m^ix^i~Og^i~P!)SOg)RO~P!)SOZ!wO_(zO`({Oa(|Ob(}Oc)POd)QOg)ROh)SOp!}O$i!xOlvitviwvi$mvi~Ox)WO~P!*cOt!Qi$m!Qi~PHrO!Z(nO~Os(pO~Ot'xO!Z$ry~Os(rOt%rO~O!Z(sO~Oouitui~P&xOo!{it!{i~P&xOs(vOt%rO~OZ!wO_(zO`({Oa(|Ob(}Oc)POd)QOg)ROh)SOp!}O$i!xO~Olvytvywvy$mvyxvy~P!-SOt$[q!Z$[q~P&xOt$]q!Z$]q~P&xOt$]y!Z$]y~P&xOm(VO~OekOfkOj)yOpiO!RkO!SkO!TkO!UkO$gfO$ihO$njO~Oe^if^i$g^i~P>mOxvi~PBmOe^if^i$g^i~P!'qOxvi~P!*cO_)gO`)hOa)iOb)jOc)kOd)ZOeiafia$gia~P.vOZ!wO_)gO`)hOa)iOb)jOc)kOd)ZOp!}O$i!xOV^ie^if^ih^il^iw^i$g^it^i$h^io^i!P^i!Z^i#t^i#v^i#z^i#|^i#}^ix^i!f^i~Og^i~P!1_Og)lO~P!1_OZ!wO_)gO`)hOa)iOb)jOc)kOd)ZOg)lOh)mOp!}O$i!xOVvievifvilviwvi$gvitvi$hviovi!Pvi!Zvi#tvi#vvi#zvi#|vi#}vi!fvi~Ox)sO~P!3gO_)gO`)hOa)iOb)jOc)kOd)ZOg)lOh)mOevyfvy$gvy~PLsOxvi~P!3gOZ!wO_)zO`){Oa)|Ob)}Oc*OOd)bOg*POh*QOp!}O$i!xOevifvilvitviwvi$gvi$mvi~Oxvi~P!6fO_)gO~P6}OZ!wO_)gO`)hOp!}O$i!xOV^ib^ic^id^ie^if^ig^ih^il^iw^i$g^it^i$h^io^i!P^i!Z^i#t^i#v^i#z^i#|^i#}^ix^i!f^i~Oa^i~P!8OOa)iO~P!8OOZ!wOp!}O$i!xOc^id^ie^if^ig^ih^il^iw^i$g^it^ix^i~O_)gO`)hOa)iOb)jOV^i$h^io^i!P^i!Z^i#t^i#v^i#z^i#|^i#}^i!f^i~P!:WO_)zO`){Oa)|Ob)}Oc*OOd)bOeiafia$gia~PNkOZ!wO_)zO`){Oa)|Ob)}Oc*OOd)bOp!}O$i!xOe^if^ih^il^it^iw^i$g^i$m^ix^i~Og^i~P!iO_)zO~P!#iO_)zO`){Oa^ib^i$m^i~P!:WO_)zO`){Oa)|Ob^i$m^i~P!:WO_)zO`){Oa)|Ob)}O$m^i~P!:WOfaZa~",goto:"Cy$sPPPPPP$tP$t%j'sPP's'sPPPPPPPPPP'sP'sPP)jPP)o+nPP+q'sPP's's's's's+tP+wPPPP+z,pPPP-fP-jP-vP+z.UP.zP/zP+z0YP1O1RP+z1UPPP1zP+z2QP2v2|3P3SP+z3YP4OP+z4UP4zP+z5QP5vP+z5|P6rP6xP+z7WP7|P+z8SP8xP$t$t$tPPPP9O$tPPPPPP$tP9U:j;f;m;w;}YPPPCcCjCmPPCp$tCsCv!gbOSTVWXYZ[]^doqtu{!O!R!U!X![!]!`!c#b#c#i#k#{#}%[%a%k$dkRhijl!e!f!p!q!r!s!x!y!z!{!|#R#S#T#U#V#e$O%P%U%V%t&U&V&X&d&g&x&}'T'W'h(Q(`(p(r(v(y(z({(|(})P)Q)R)S)T)W)Z)[)b)c)f)g)h)i)j)k)l)m)n)s)y)z){)|)}*O*P*Q*R*S*T*UQ$_!kQ$v!}Q&P$`S&f${(XS']&]'|R'b&b$ikRhijl!e!f!p!q!r!s!x!y!z!{!|!}#R#S#T#U#V#e$O%P%U%V%t&U&V&X&b&d&g&x&}'T'W'h(Q(`(p(r(v(y(z({(|(})P)Q)R)S)T)W)Z)[)b)c)f)g)h)i)j)k)l)m)n)s)y)z){)|)}*O*P*Q*R*S*T*UV$b!l#O)O$d#Pg#W#Y#[#_$U$W$i$j$k$l$p$q$r$s$t$u$z${$|$}%O%]%l&h&k&l&y'U'V'X'a'e'f'g'i'm'r'w(R(S(T(U(W(X(Y(Z([(](m(o(t(u(w(x)U)V)X)Y)])^)_)`)a)d)e)o)p)q)r)t)u)v)w)x*V*W*X*YQ&O$_S&Q$a(VR'S&PR$w!}R'c&bR#]jR&m%V!g_OSTVWXYZ[]^doqtu{!O!R!U!X![!]!`!c#b#c#i#k#{#}%[%a%k!gSOSTVWXYZ[]^doqtu{!O!R!U!X![!]!`!c#b#c#i#k#{#}%[%a%kTnSoQqSQtTQ#boR#kuQpSS#aoqS%Z#b#cR&o%[!gTOSTVWXYZ[]^doqtu{!O!R!U!X![!]!`!c#b#c#i#k#{#}%[%a%kQ$Y!gQ$[!iQ$]!jQ$d!mQ$f!nQ$g!oQ%e#qQ%z$^Q&v%rQ'Y&[S'[&]'|Q'n'OQ(b'tQ(f'xR(h'{QsTS#htuS%`#i#kR&q%a!gUOSTVWXYZ[]^doqtu{!O!R!U!X![!]!`!c#b#c#i#k#{#}%[%a%kRyUR#ny!gVOSTVWXYZ[]^doqtu{!O!R!U!X![!]!`!c#b#c#i#k#{#}%[%a%kQzVR#p{!gWOSTVWXYZ[]^doqtu{!O!R!U!X![!]!`!c#b#c#i#k#{#}%[%a%kQ$`!kR%y$]R%{$^R'o'OQ}WR#r!O!gXOSTVWXYZ[]^doqtu{!O!R!U!X![!]!`!c#b#c#i#k#{#}%[%a%kQ!QXR#t!R!gYOSTVWXYZ[]^doqtu{!O!R!U!X![!]!`!c#b#c#i#k#{#}%[%a%kQ!TYR#v!U!gZOSTVWXYZ[]^doqtu{!O!R!U!X![!]!`!c#b#c#i#k#{#}%[%a%kQ!WZR#x!X!g[OSTVWXYZ[]^doqtu{!O!R!U!X![!]!`!c#b#c#i#k#{#}%[%a%kQ![[R#}!]Q!Z[S#z![!]S%j#{#}R&t%k!g]OSTVWXYZ[]^doqtu{!O!R!U!X![!]!`!c#b#c#i#k#{#}%[%a%kQ!_]R$Q!`!g^OSTVWXYZ[]^doqtu{!O!R!U!X![!]!`!c#b#c#i#k#{#}%[%a%kQ!b^R$S!cQ'^&]R(i'|QdOQuTQ{VQ!OWQ!RXQ!UYQ!XZQ!][Q!`]Q!c^p!vdu{!O!R!U!X!]!`!c#c#i#{%[%a%kQ#cqQ#itQ#{![Q%[#bQ%a#kR%k#}SQOdSeQm!cmSTVWXYZ[]^oqtu{!O!R!U!X![!]!`!c#b#c#i#k#{#}%[%a%kS&c$u$wR'd&cQ%Q#WQ%S#YT&i%Q%SQ%W#]R&n%WQoSR#`oQ%s$YQ&S$dQ&W$gW&w%s&S&W(qR(q(fQxUR#mxS'P%z%{R'p'PQ'u'VR(c'uQ'y'XQ(e'wT(g'y(eQ'}'^R(j'}Q!uaR$m!u!bcOTVWXYZ[]^dqtu{!O!R!U!X![!]!`!c#b#c#i#k#{#}%[%a%kTnSoQgRQ#WhQ#YiQ#[jQ#_lQ$U!eQ$W!fQ$i!pQ$j!qQ$k!rQ$l!sQ$p!xS$q!y)gQ$r!zQ$s!{Q$t!|Q$u!}Q$z#RQ${#SQ$|#TQ$}#UQ%O#VQ%]#eQ%l$OQ&h%PQ&k%UQ&l%VQ&y%tQ'U&UQ'V&VQ'X&XQ'a&bQ'e&dQ'f&gQ'g(yQ'i&xQ'm&}Q'r'TQ'w'WS(R(z)zQ(S({Q(T(|Q(U(}Q(W)PQ(X)QQ(Y)RQ(Z)SQ([)TQ(]'hQ(m(QQ(o(`Q(t)WQ(u(pQ(w(rQ(x(vQ)U)ZQ)V)[Q)X)bQ)Y)cQ)])fQ)^)lQ)_)mQ)`)nQ)a)sQ)d*TQ)e*UQ)o)hQ)p)iQ)q)jQ)r)kQ)t)yQ)u*PQ)v*QQ)w*RQ)x*SQ*V){Q*W)|Q*X)}R*Y*OQ$c!lT$y#O)OR$x!}R#XhR#^jR%|$^R$h!o",nodeNames:"⚠ {{ {# {% {% Template Text }} Interpolation VariableName MemberExpression . PropertyName SubscriptExpression BinaryExpression ConcatOp ArithOp ArithOp CompareOp in is StringLiteral NumberLiteral and or NotExpression not FilterExpression FilterOp FilterName FilterCall ) ( ArgumentList NamedArgument AssignOp , NamedArgument ConditionalExpression if else CallExpression ArrayExpression TupleExpression ParenthesizedExpression DictExpression Entry : Entry BooleanLiteral self super loop IfStatement Tag TagName if %} Tag elif Tag else EndTag endif ForStatement Tag for Definition recursive EndTag endfor RawStatement Tag raw RawText EndTag endraw BlockStatement Tag block scoped required EndTag endblock MacroStatement Tag macro ParamList OptionalParameter OptionalParameter EndTag endmacro CallStatement Tag call EndTag endcall FilterStatement Tag filter EndTag endfilter SetStatement Tag set EndTag endset TransStatement Tag trans Tag pluralize EndTag endtrans WithStatement Tag with EndTag endwith AutoescapeStatement Tag autoescape EndTag endautoescape Tag Tag Tag import as from import ImportItem Tag include ignore missing with without context Comment #}",maxTerm:173,nodeProps:[["closedBy",1,"}}",2,"#}",-2,3,4,"%}",32,")"],["openedBy",7,"{{",31,"(",57,"{%",140,"{#"],["group",-18,9,10,13,14,21,22,25,27,38,41,42,43,44,45,49,50,51,52,"Expression",-11,53,64,71,77,84,92,97,102,107,114,119,"Statement"]],skippedNodes:[0],repeatNodeCount:13,tokenData:".|~RqXY#YYZ#Y]^#Ypq#Yqr#krs#vuv&nwx&{xy)nyz)sz{)x{|*V|}+|}!O,R!O!P,g!P!Q,o!Q![+h![!],w!^!_,|!_!`-U!`!a,|!c!}-^!}#O.U#P#Q.Z#R#S-^#T#o-^#o#p.`#p#q.e#q#r.j#r#s.w%W;'S-^;'S;:j.O<%lO-^~#_S$d~XY#YYZ#Y]^#Ypq#Y~#nP!_!`#q~#vOb~~#yWOY#vZr#vrs$cs#O#v#O#P$h#P;'S#v;'S;=`%x<%lO#v~$hOe~~$kYOY#vYZ#vZr#vrs%Zs#O#v#O#P$h#P;'S#v;'S;=`&O;=`<%l#v<%lO#v~%`We~OY#vZr#vrs$cs#O#v#O#P$h#P;'S#v;'S;=`%x<%lO#v~%{P;=`<%l#v~&RXOY#vZr#vrs$cs#O#v#O#P$h#P;'S#v;'S;=`%x;=`<%l#v<%lO#v~&sP`~#q#r&v~&{O!Z~~'OWOY&{Zw&{wx$cx#O&{#O#P'h#P;'S&{;'S;=`(x<%lO&{~'kYOY&{YZ&{Zw&{wx(Zx#O&{#O#P'h#P;'S&{;'S;=`)O;=`<%l&{<%lO&{~(`We~OY&{Zw&{wx$cx#O&{#O#P'h#P;'S&{;'S;=`(x<%lO&{~({P;=`<%l&{~)RXOY&{Zw&{wx$cx#O&{#O#P'h#P;'S&{;'S;=`(x;=`<%l&{<%lO&{~)sOp~~)xOo~~)}P`~z{*Q~*VO`~~*[Qa~!O!P*b!Q![+h~*eP!Q![*h~*mSf~!Q![*h!g!h*y#R#S*h#X#Y*y~*|R{|+V}!O+V!Q![+]~+YP!Q![+]~+bQf~!Q![+]#R#S+]~+mTf~!O!P*b!Q![+h!g!h*y#R#S+h#X#Y*y~,ROt~~,WRa~uv,a!O!P*b!Q![+h~,dP#q#r&v~,lPZ~!Q![*h~,tP`~!P!Q*Q~,|O!P~~-RPb~!_!`#q~-ZPs~!_!`#q!`-iVm`[p!XS$gY!Q![-^!c!}-^#R#S-^#T#o-^%W;'S-^;'S;:j.O<%lO-^!`.RP;=`<%l-^~.ZO$i~~.`O$h~~.eO$n~~.jOl~^.oP$m[#q#r.rQ.wOVQ~.|O_~",tokenizers:[ag,hg,1,2,3,4,5,new af("b~RPstU~XP#q#r[~aO$Q~~",17,173)],topRules:{Template:[0,5]},specialized:[{term:161,get:e=>cg[e]||-1},{term:55,get:e=>dg[e]||-1}],tokenPrec:3602});function $g(e,t){return e.split(" ").map(e=>({label:e,type:t}))}const fg=$g("abs attr batch capitalize center default dictsort escape filesizeformat first float forceescape format groupby indent int items join last length list lower map max min pprint random reject rejectattr replace reverse round safe select selectattr slice sort string striptags sum title tojson trim truncate unique upper urlencode urlize wordcount wordwrap xmlattr","function"),pg=$g("boolean callable defined divisibleby eq escaped even filter float ge gt in integer iterable le lower lt mapping ne none number odd sameas sequence string test undefined upper range lipsum dict joiner namespace","function"),Qg=$g("loop super self true false varargs kwargs caller name arguments catch_kwargs catch_varargs caller","keyword"),mg=pg.concat(Qg),gg=$g("raw endraw filter endfilter trans pluralize endtrans with endwith autoescape endautoescape if elif else endif for endfor call endcall block endblock set endset macro endmacro import include break continue debug do extends","keyword");function Sg(e={}){let t=e.tags?e.tags.concat(gg):gg,i=e.variables?e.variables.concat(mg):mg,{properties:O}=e;return e=>{var n;let r=function(e){var t;let{state:i,pos:O}=e,n=za(i).resolveInner(O,-1).enterUnfinishedNodesBefore(O),r=(null===(t=n.childBefore(O))||void 0===t?void 0:t.name)||n.name;if("FilterName"==n.name)return{type:"filter",node:n};if(e.explicit&&("FilterOp"==r||"filter"==r))return{type:"filter"};if("TagName"==n.name)return{type:"tag",node:n};if(e.explicit&&"{%"==r)return{type:"tag"};if("PropertyName"==n.name&&"MemberExpression"==n.parent.name)return{type:"prop",node:n,target:n.parent};if("."==n.name&&"MemberExpression"==n.parent.name)return{type:"prop",target:n.parent};if("MemberExpression"==n.name&&"."==r)return{type:"prop",target:n};if("VariableName"==n.name)return{type:"expr",from:n.from};if("Comment"==n.name||"StringLiteral"==n.name||"NumberLiteral"==n.name)return null;let s=e.matchBefore(/[\w\u00c0-\uffff]+$/);return s?{type:"expr",from:s.from}:e.explicit?{type:"expr"}:null}(e);if(!r)return null;let s,o=null!==(n=r.from)&&void 0!==n?n:r.node?r.node.from:e.pos;return s="filter"==r.type?fg:"tag"==r.type?t:"expr"==r.type?i:O?function(e,t,i,O){let n=[];for(;;){let i=t.getChild("Expression");if(!i)return[];if("VariableName"==i.name){n.unshift(e.sliceDoc(i.from,i.to));break}if("MemberExpression"!=i.name)return[];{let O=i.getChild("PropertyName");O&&n.unshift(e.sliceDoc(O.from,O.to)),t=i}}return O(n,e,i)}(e.state,r.target,e,O):[],s.length?{options:s,from:o,validFor:/^[\w\u00c0-\uffff]*$/}:null}}const Pg=ar.inputHandler.of((e,t,i,O)=>"%"==O&&t==i&&"{}"==e.state.doc.sliceString(t-1,i+1)&&(e.dispatch(e.state.changeByRange(e=>({changes:{from:e.from,to:e.to,insert:"%%"},range:q.cursor(e.from+1)})),{scrollIntoView:!0,userEvent:"input.type"}),!0));function Tg(e){return t=>{let i=e.test(t.textAfter);return t.lineIndent(t.node.from)+(i?0:t.unit)}}const yg=Ra.define({name:"jinja",parser:ug.configure({props:[Oa({"TagName raw endraw filter endfilter as trans pluralize endtrans with endwith autoescape endautoescape":va.keyword,"required scoped recursive with without context ignore missing":va.modifier,self:va.self,"loop super":va.standard(va.variableName),"if elif else endif for endfor call endcall":va.controlKeyword,"block endblock set endset macro endmacro import from include":va.definitionKeyword,"Comment/...":va.blockComment,VariableName:va.variableName,Definition:va.definition(va.variableName),PropertyName:va.propertyName,FilterName:va.special(va.variableName),ArithOp:va.arithmeticOperator,AssignOp:va.definitionOperator,"not and or":va.logicOperator,CompareOp:va.compareOperator,"in is":va.operatorKeyword,"FilterOp ConcatOp":va.operator,StringLiteral:va.string,NumberLiteral:va.number,BooleanLiteral:va.bool,"{% %} {# #} {{ }} { }":va.brace,"( )":va.paren,".":va.derefOperator,": , .":va.punctuation}),Ba.add({Tag:tl({closing:"%}"}),"IfStatement ForStatement":Tg(/^\s*(\{%-?\s*)?(endif|endfor|else|elif)\b/),Statement:Tg(/^\s*(\{%-?\s*)?end\w/)}),rl.add({"Statement Comment"(e){let t=e.firstChild,i=e.lastChild;return!t||"Tag"!=t.name&&"{#"!=t.name?null:{from:t.to,to:"EndTag"==i.name||"#}"==i.name?i.from:e.to}}})]}),languageData:{indentOnInput:/^\s*{%-?\s*(?:end|elif|else)$/}}),vg=Og();function wg(e){return yg.configure({wrap:jo(t=>t.type.isTop?{parser:e.parser,overlay:e=>"Text"==e.name||"RawText"==e.name}:null)},"jinja")}const bg=wg(vg.language);var xg={};function Xg(e,t){for(var i=0;i1&&e.eat("$");var i=e.next();return/['"({]/.test(i)?(t.tokens[0]=_g(i,"("==i?"quote":"{"==i?"def":"string"),qg(e,t)):(/\d/.test(i)||e.eatWhile(/\w/),t.tokens.shift(),"def")};function qg(e,t){return(t.tokens[0]||zg)(e,t)}const Wg={name:"shell",startState:function(){return{tokens:[]}},token:function(e,t){return qg(e,t)},languageData:{autocomplete:kg.concat(Zg,Rg),closeBrackets:{brackets:["(","[","{","'",'"',"`"]},commentTokens:{line:"#"}}},Ug={name:"properties",token:function(e,t){var i=e.sol()||t.afterSection,O=e.eol();if(t.afterSection=!1,i&&(t.nextMultiline?(t.inMultiline=!0,t.nextMultiline=!1):t.position="def"),O&&!t.nextMultiline&&(t.inMultiline=!1,t.position="def"),i)for(;e.eatSpace(););var n=e.next();return!i||"#"!==n&&"!"!==n&&";"!==n?i&&"["===n?(t.afterSection=!0,e.skipTo("]"),e.eat("]"),"header"):"="===n||":"===n?(t.position="quote",null):("\\"===n&&"quote"===t.position&&e.eol()&&(t.nextMultiline=!0),t.position):(t.position="comment",e.skipToEnd(),"comment")},startState:function(){return{position:"def",nextMultiline:!1,inMultiline:!1,afterSection:!1}}};window.CM={EditorView:ar,Prec:N,EditorState:Te,basicSetup:A$,Compartment:F,keymap:pr,undo:zh,redo:_h,history:Zh,highlightWhitespace:function(){return no},indentWithTab:Lc,lightTheme:[],darkTheme:H$,search:function(e){return e?[ld.of(e),Md]:Md},openSearchPanel:Vd,closeSearchPanel:qd,autocompletion:$$,startCompletion:Xu,javascript:np,python:function(){return new Aa(Ap,[Ap.data.of({autocomplete:qp}),Ap.data.of({autocomplete:jp})])},yaml:function(){return new Aa($Q)},php:function(e={}){let t,i=[];if(null===e.baseLanguage);else if(e.baseLanguage)t=e.baseLanguage;else{let e=Og({matchClosingTags:!1});i.push(e.support),t=e.language}return new Aa(sg.configure({wrap:t&&jo(e=>e.type.isTop?{parser:t.parser,overlay:e=>"Text"==e.name}:null),top:e.plain?"Program":"Template"}),i)},html:Og,css:_m,jinja:function(e={}){let t=e.base||vg,i=t.language==vg.language?bg:wg(t.language);return new Aa(i,[t.support,i.data.of({autocomplete:Sg(e)}),t.language.data.of({closeBrackets:{brackets:["{"]}}),Pg])},shell:()=>ih.define(Wg),properties:()=>ih.define(Ug)}}(); \ No newline at end of file From 1ae0d2e53ce9925c42e4945758cbf834da481908 Mon Sep 17 00:00:00 2001 From: junkfix <165699921+junkfix@users.noreply.github.com> Date: Thu, 9 Jul 2026 03:13:58 +0100 Subject: [PATCH 2/3] Added go to line --- custom_components/file_shell/www/file_shell.js | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/custom_components/file_shell/www/file_shell.js b/custom_components/file_shell/www/file_shell.js index f1fe923..b175e9a 100644 --- a/custom_components/file_shell/www/file_shell.js +++ b/custom_components/file_shell/www/file_shell.js @@ -1,7 +1,7 @@ (function () { "use strict"; -console.log("File Shell 1.2.0"); +console.log("File Shell 1.2.1"); const _id = (id) => document.getElementById(id); const _qsa = (q, el) => Array.from((el || document).querySelectorAll(q)); const _qs = (q, el) => (el || document).querySelector(q); @@ -725,7 +725,6 @@ function Draft(path, d=false) { } return localSet(k, d); } - async function openTextFile(e) { const path = fixpath(e.path); hideMenu(); @@ -760,13 +759,17 @@ async function openTextFile(e) { const fileExt = getExt(path); + const goToLine=v=>{let l=+prompt("Go to Line:");return l>0&&l<=v.state.doc.lines?(v.dispatch({selection:{anchor:v.state.doc.line(l).from},userEvent:"select"}),1):0}; tabs.x[path].cm = CM.EditorState.create({ doc: text, extensions: [ CM.basicSetup, CM.keymap.of([CM.indentWithTab]), - CM.search(), + CM.Prec.high(CM.keymap.of([ + {key: "Ctrl-g", run: goToLine, preventDefault: true}, + {key: "Cmd-g", run: goToLine, preventDefault: true}, + ])), CM.autocompletion(), CM.EditorState.languageData.of(() => [{autocomplete: entityCompletion}]), edit.theme.of(app.dark ? CM.darkTheme : CM.lightTheme), From b44772247f4fec49e37cea235728733d7579d3c9 Mon Sep 17 00:00:00 2001 From: junkfix <165699921+junkfix@users.noreply.github.com> Date: Thu, 9 Jul 2026 03:15:17 +0100 Subject: [PATCH 3/3] Update manifest.json --- custom_components/file_shell/manifest.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/custom_components/file_shell/manifest.json b/custom_components/file_shell/manifest.json index b3a9802..db822f6 100644 --- a/custom_components/file_shell/manifest.json +++ b/custom_components/file_shell/manifest.json @@ -9,5 +9,5 @@ "iot_class": "local_push", "issue_tracker": "https://github.com/junkfix/file-shell/issues", "requirements": [], - "version": "1.2.0" + "version": "1.2.1" }