diff --git a/.gitignore b/.gitignore index 06a8723c5c1..7683324c35e 100644 --- a/.gitignore +++ b/.gitignore @@ -9,10 +9,10 @@ Homestead.yaml .idea npm-debug.log yarn-error.log -/public/dist +/public/dist/*.map /public/plugins -/public/css -/public/js +/public/css/*.map +/public/js/*.map /public/bower /public/build/ /public/favicon.ico diff --git a/dev/checksums/vendor b/dev/checksums/vendor index eb8b2f05237..5a0542e54a9 100644 --- a/dev/checksums/vendor +++ b/dev/checksums/vendor @@ -1 +1 @@ -22e02ee72d21ff719c1073abbec8302f8e2096ba6d072e133051064ed24b45b1 +fc31a87fca03999de11755ea0aa41c1bcd376a271a5ee30277ebe9f68b9c9fab \ No newline at end of file diff --git a/public/dist/app.js b/public/dist/app.js new file mode 100644 index 00000000000..81cd0ebfa4c --- /dev/null +++ b/public/dist/app.js @@ -0,0 +1,33 @@ +// See the "/licenses" URI for full package license details +var ho=Object.defineProperty;var uo=n=>{throw TypeError(n)};var Vs=(n,e,t)=>e in n?ho(n,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):n[e]=t;var zs=(n,e)=>{for(var t in e)ho(n,t,{get:e[t],enumerable:!0})};var d=(n,e,t)=>Vs(n,typeof e!="symbol"?e+"":e,t),Ks=(n,e,t)=>e.has(n)||uo("Cannot "+t);var po=(n,e,t)=>e.has(n)?uo("Cannot add the same private member more than once"):e instanceof WeakSet?e.add(n):e.set(n,t);var ee=(n,e,t)=>(Ks(n,e,"access private method"),t);var Ee=class{constructor(){d(this,"listeners",{});d(this,"stack",[])}emit(e,t={}){this.stack.push({name:e,data:t});let i=this.listeners[e]||[];for(let o of i)o(t)}listen(e,t){typeof this.listeners[e]>"u"&&(this.listeners[e]=[]),this.listeners[e].push(t)}remove(e,t){let i=this.listeners[e]||[],o=i.indexOf(t);o!==-1&&i.splice(o,1)}emitPublic(e,t,i){let o=new CustomEvent(t,{detail:i,bubbles:!0});e.dispatchEvent(o)}success(e){this.emit("success",e)}error(e){this.emit("error",e)}showValidationErrors(e){if(e.status===422&&e.data){let t=Object.values(e.data).flat().join(` +`);this.error(t)}}showResponseError(e){e.status&&e.status>=400&&typeof e.data=="object"&&e.data.message&&this.error(e.data.message)}};var Dt=class extends Error{constructor(t,i){super(t.statusText);d(this,"data");d(this,"headers");d(this,"original");d(this,"redirected");d(this,"status");d(this,"statusText");d(this,"url");this.data=i,this.headers=t.headers,this.redirected=t.redirected,this.status=t.status,this.statusText=t.statusText,this.url=t.url,this.original=t}},Ce=class{async getResponseContent(e){if(e.status===204)return null;let i=(e.headers.get("Content-Type")||"").split(";")[0].split("/").pop();return i==="javascript"||i==="json"?e.json():e.text()}createXMLHttpRequest(e,t,i={}){let o=document.querySelector("meta[name=token]")?.getAttribute("content"),s=new XMLHttpRequest;for(let[r,a]of Object.entries(i))s.addEventListener(r,a.bind(s));return s.open(e,t),s.withCredentials=!0,s.setRequestHeader("X-CSRF-TOKEN",o||""),s}async request(e,t={}){let i=e;if(i.startsWith("http")||(i=window.baseUrl(i)),t.params){let c=new URL(i);for(let p of Object.keys(t.params)){let m=t.params[p];typeof m<"u"&&m!==null&&c.searchParams.set(p,m)}i=c.toString()}let o=document.querySelector("meta[name=token]")?.getAttribute("content")||"",s={...t,credentials:"same-origin"};s.headers={...s.headers||{},baseURL:window.baseUrl(""),"X-CSRF-TOKEN":o};let r=await fetch(i,s),a=await this.getResponseContent(r)||"",l={data:a,headers:r.headers,redirected:r.redirected,status:r.status,statusText:r.statusText,url:r.url,original:r};if(!r.ok)throw new Dt(r,a);return l}async dataRequest(e,t,i){let o={method:e,body:i};return typeof i=="object"&&!(i instanceof FormData)&&(o.headers={"Content-Type":"application/json","X-Requested-With":"XMLHttpRequest"},o.body=JSON.stringify(i)),i instanceof FormData&&e!=="post"&&(i.append("_method",e),o.method="post"),this.request(t,o)}async get(e,t={}){return this.request(e,{method:"GET",params:t})}async post(e,t=null){return this.dataRequest("POST",e,t)}async put(e,t=null){return this.dataRequest("PUT",e,t)}async patch(e,t=null){return this.dataRequest("PATCH",e,t)}async delete(e,t=null){return this.dataRequest("DELETE",e,t)}formatErrorResponseText(e){let t=e.startsWith("{")?JSON.parse(e):{message:e};if(!t)return e;if(t.message||t.error)return t.message||t.error;let i=Object.values(t);return i.every(s=>Array.isArray(s)&&s.every(r=>typeof r=="string"))?i.flat().join(" "):e}};var xe=class{choice(e,t,i={}){i=Object.assign({},{count:String(t)},i);let o=e.split("|"),s=/^{([0-9]+)}/,r=/^\[([0-9]+),([0-9*]+)]/,a=null;for(let l of o){let c=l.match(s);if(c!==null&&Number(c[1])===t){a=l.replace(s,"").trim();break}let p=l.match(r);if(p!==null&&Number(p[1])<=t&&(p[2]==="*"||Number(p[2])>=t)){a=l.replace(r,"").trim();break}}return a===null&&o.length>1&&(a=t===1?o[0]:o[1]),a===null&&(a=o[0]),this.performReplacements(a,i)}performReplacements(e,t){let i=e.match(/:(\S+)/g);if(i===null)return e;let o=e;for(let s of i){let r=s.substring(1);typeof t[r]>"u"||(o=o.replace(s,t[r]))}return o}};var ao={};zs(ao,{AddRemoveRows:()=>ke,AjaxDeleteRow:()=>$e,AjaxForm:()=>Me,ApiNav:()=>De,Attachments:()=>Ae,AttachmentsList:()=>Ie,AutoSubmit:()=>Be,AutoSuggest:()=>He,BackToTop:()=>Pe,BookSort:()=>Ze,ChapterContents:()=>tn,CodeEditor:()=>en,CodeHighlighter:()=>nn,CodeTextarea:()=>on,Collapsible:()=>sn,ConfirmDialog:()=>rn,CustomCheckbox:()=>an,DetailsHighlighter:()=>ln,Dropdown:()=>cn,DropdownSearch:()=>dn,Dropzone:()=>hn,EditorToolbox:()=>un,EntityPermissions:()=>pn,EntitySearch:()=>mn,EntitySelector:()=>fn,EntitySelectorPopup:()=>gn,EventEmitSelect:()=>vn,ExpandToggle:()=>bn,GlobalSearch:()=>wn,HeaderMobileToggle:()=>yn,ImageManager:()=>En,ImagePicker:()=>Cn,ListSortControl:()=>xn,LoadingButton:()=>Tn,MarkdownEditor:()=>Ln,NewUserPassword:()=>Sn,Notification:()=>kn,OptionalInput:()=>$n,PageComment:()=>Mn,PageCommentReference:()=>Dn,PageComments:()=>An,PageDisplay:()=>In,PageEditor:()=>Hn,PagePicker:()=>Pn,PermissionsTable:()=>Rn,Pointer:()=>On,Popup:()=>Nn,SettingAppColorScheme:()=>_n,SettingColorPicker:()=>Fn,SettingHomepageControl:()=>qn,ShelfSort:()=>Un,ShortcutInput:()=>zn,Shortcuts:()=>Vn,SortRuleManager:()=>Xn,SortableList:()=>Kn,SubmitOnChange:()=>Gn,Tabs:()=>Qt,TagManager:()=>Yn,TemplateManager:()=>Jn,ToggleSwitch:()=>Zn,ToolboxContents:()=>ei,TriLayout:()=>ni,UserSelect:()=>ii,WebhookEvents:()=>oi,WysiwygEditor:()=>si,WysiwygEditorTinymce:()=>hi,WysiwygInput:()=>ui});function mt(n,e,t){let i=null;return function(...s){let r=this,a=function(){i=null,t||n.apply(r,s)},l=t&&!i;i&&clearTimeout(i),i=window.setTimeout(a,e),l&&n.apply(r,s)}}function Xs(n){return n.nodeName==="DETAILS"}function At(n){if(!n)return;let e=n;for(;e.parentElement;)e=e.parentElement,Xs(e)&&!e.open&&(e.open=!0);n.scrollIntoView({behavior:"smooth"});let t=getComputedStyle(document.body).getPropertyValue("--color-link");n.style.outline=`2px dashed ${t}`,n.style.outlineOffset="5px",n.style.removeProperty("transition"),setTimeout(()=>{n.style.transition="outline linear 3s",n.style.outline="2px dashed rgba(0, 0, 0, 0)";let i=()=>{n.removeEventListener("transitionend",i),n.style.removeProperty("transition"),n.style.removeProperty("outline"),n.style.removeProperty("outlineOffset")};n.addEventListener("transitionend",i)},1e3)}function mo(n){return n.replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'")}function fo(){let n=()=>((1+Math.random())*65536|0).toString(16).substring(1);return`${n()+n()}-${n()}-${n()}-${n()}-${n()}${n()}${n()}`}function go(n){return new Promise(e=>{setTimeout(e,n)})}function vo(n){let e=n,t=document.querySelector('meta[name="base-url"]');if(!t)throw new Error("Could not find expected base-url meta tag in document");let i=t.getAttribute("content")||"";return i[i.length-1]==="/"&&(i=i.slice(0,i.length-1)),e[0]==="/"&&(e=e.slice(1)),`${i}/${e}`}function Gs(){let n=document.querySelector('link[href*="/dist/styles.css?version="]');if(!n)throw new Error("Could not find expected style link in document for version use");return(n.getAttribute("href")||"").split("?version=").pop()||""}function bo(n){return import(window.baseUrl(`dist/${n}.js?version=${Gs()}`))}function wo(n,e=0){let t=3735928559^e,i=1103547991^e;for(let o=0,s;o>>16,2246822507),t^=Math.imul(i^i>>>13,3266489909),i=Math.imul(i^i>>>16,2246822507),i^=Math.imul(t^t>>>13,3266489909),String(4294967296*(2097151&i)+(t>>>0))}function xt(n){return n instanceof HTMLElement}function Q(n,e={},t=[]){let i=document.createElement(n);for(let[o,s]of Object.entries(e))s===null?i.removeAttribute(o):i.setAttribute(o,s);for(let o of t)typeof o=="string"?i.append(document.createTextNode(o)):i.append(o);return i}function mi(n,e){let t=document.querySelectorAll(n);for(let i of t)e(i)}function Te(n,e,t){if(n)for(let i of e)n.addEventListener(i,t)}function H(n,e){Array.isArray(n)||(n=[n]);for(let t of n)t.addEventListener("click",e),t.addEventListener("keydown",i=>{(i.key==="Enter"||i.key===" ")&&(i.preventDefault(),e(i))})}function yo(n,e,t){Array.isArray(e)||(e=[e]);let i=o=>{o.key===n&&t(o)};e.forEach(o=>o.addEventListener("keydown",i))}function qt(n,e){yo("Enter",n,e)}function Eo(n,e){yo("Escape",n,e)}function W(n,e,t,i){n.addEventListener(t,o=>{let s=o.target?.closest(e);s&&i.call(s,o,s)})}function Co(n,e){let t=document.querySelectorAll(n);e=e.toLowerCase();for(let i of t)if((i.textContent||"").toLowerCase().includes(e)&&xt(i))return i;return null}function It(n){n.innerHTML='
'}function Wt(){let n=document.createElement("div");return n.classList.add("loading-container"),n.innerHTML="
",n}function ne(n){let e=n.querySelectorAll(".loading-container");for(let t of e)t.remove()}function lt(n){let e=document.createElement("div");e.innerHTML=n,window.$components.init(e);let t=e.children[0];if(!xt(t))throw new Error("Could not find child HTMLElement when creating DOM element from HTML");return t}function fi(n,e,t){if(!t.contains(n))throw new Error("ParentElement must be a prent of element");let i=e,o=n.nodeType===Node.TEXT_NODE?n:n.childNodes[e];for(;o!==t&&o;)o.previousSibling?(o=o.previousSibling,i+=o.textContent?.length||0):o=o.parentNode;return i}function Le(n,e){if(e===0)return{node:n,offset:0};let t=0,i=null;for(let o=0;o=e)return{node:i,offset:e-t};t+=s}else if(i.nodeType===Node.ELEMENT_NODE){let s=(i.textContent||"").length;if(t+s>=e)return Le(i,e-t);t+=s}return null}function Se(n){let e=(n.textContent||"").replace(/\s{2,}/g,"");return wo(e)}function xo(n){let e=n;do{if(window.getComputedStyle(e).overflowY==="scroll")return e;e=e.parentElement}while(e);return document.body}var h=class{constructor(){d(this,"$name","");d(this,"$el",null);d(this,"$refs",{});d(this,"$manyRefs",{});d(this,"$opts",{})}setup(){}$emit(e,t={}){t.from=this;let i=this.$name,o=new CustomEvent(`${i}-${e}`,{bubbles:!0,detail:t});this.$el.dispatchEvent(o)}};var ke=class extends h{setup(){this.modelRow=this.$refs.model,this.addButton=this.$refs.add,this.removeSelector=this.$opts.removeSelector,this.rowSelector=this.$opts.rowSelector,this.setupListeners()}setupListeners(){this.addButton.addEventListener("click",this.add.bind(this)),W(this.$el,this.removeSelector,"click",e=>{e.target.closest(this.rowSelector).remove()})}add(){let e=this.modelRow.cloneNode(!0);e.classList.remove("hidden"),this.setClonedInputNames(e),this.modelRow.parentNode.insertBefore(e,this.modelRow),window.$components.init(e)}setClonedInputNames(e){let t=fo(),i=e.querySelectorAll('[name*="randrowid"]');for(let o of i)o.name=o.name.split("randrowid").join(t)}};var $e=class extends h{constructor(){super(...arguments);d(this,"row");d(this,"url");d(this,"deleteButtons",[])}setup(){this.row=this.$el,this.url=this.$opts.url,this.deleteButtons=this.$manyRefs.delete||[],H(this.deleteButtons,this.runDelete.bind(this))}runDelete(){this.row.style.opacity="0.7",this.row.style.pointerEvents="none",window.$http.delete(this.url).then(t=>{typeof t.data=="object"&&t.data.message&&window.$events.emit("success",t.data.message),this.row.remove()}).catch(()=>{this.row.style.removeProperty("opacity"),this.row.style.removeProperty("pointer-events")})}};var Me=class extends h{setup(){this.container=this.$el,this.responseContainer=this.container,this.url=this.$opts.url,this.method=this.$opts.method||"post",this.successMessage=this.$opts.successMessage,this.submitButtons=this.$manyRefs.submit||[],this.$opts.responseContainer&&(this.responseContainer=this.container.closest(this.$opts.responseContainer)),this.setupListeners()}setupListeners(){if(this.container.tagName==="FORM"){this.container.addEventListener("submit",this.submitRealForm.bind(this));return}qt(this.container,e=>{this.submitFakeForm(),e.preventDefault()}),this.submitButtons.forEach(e=>H(e,this.submitFakeForm.bind(this)))}submitFakeForm(){let e=new FormData,t=this.container.querySelectorAll("[name]");for(let i of t)e.append(i.getAttribute("name"),i.value);this.submit(e)}submitRealForm(e){e.preventDefault();let t=new FormData(this.container);this.submit(t)}async submit(e){this.responseContainer.style.opacity="0.7",this.responseContainer.style.pointerEvents="none";try{let t=await window.$http[this.method.toLowerCase()](this.url,e);this.$emit("success",{formData:e}),this.responseContainer.innerHTML=t.data,this.successMessage&&window.$events.emit("success",this.successMessage)}catch(t){this.responseContainer.innerHTML=t.data}window.$components.init(this.responseContainer),this.responseContainer.style.opacity=null,this.responseContainer.style.pointerEvents=null}};var De=class extends h{constructor(){super(...arguments);d(this,"select");d(this,"sidebar");d(this,"body")}setup(){this.select=this.$refs.select,this.sidebar=this.$refs.sidebar,this.body=this.$el.ownerDocument.documentElement,this.select.addEventListener("change",()=>{let t=this.select.value,i=document.getElementById(`sidebar-header-${t}`),o=document.getElementById(`section-${t}`);if(i&&o){let s=i.getBoundingClientRect().top-this.sidebar.getBoundingClientRect().top+this.sidebar.scrollTop;this.sidebar.scrollTo({top:s-120,behavior:"smooth"});let r=o.getBoundingClientRect().top+this.body.scrollTop;this.body.scrollTo({top:r-20,behavior:"smooth"})}})}};var Ae=class extends h{setup(){this.container=this.$el,this.pageId=this.$opts.pageId,this.editContainer=this.$refs.editContainer,this.listContainer=this.$refs.listContainer,this.linksContainer=this.$refs.linksContainer,this.listPanel=this.$refs.listPanel,this.attachLinkButton=this.$refs.attachLinkButton,this.setupListeners()}setupListeners(){let e=this.reloadList.bind(this);this.container.addEventListener("dropzone-upload-success",e),this.container.addEventListener("ajax-form-success",e),this.container.addEventListener("sortable-list-sort",t=>{this.updateOrder(t.detail.ids)}),this.container.addEventListener("event-emit-select-edit",t=>{this.startEdit(t.detail.id)}),this.container.addEventListener("event-emit-select-edit-back",()=>{this.stopEdit()}),this.container.addEventListener("event-emit-select-insert",t=>{let i=t.target.closest("[data-drag-content]").getAttribute("data-drag-content"),o=JSON.parse(i);window.$events.emit("editor::insert",{html:o["text/html"],markdown:o["text/plain"]})}),this.attachLinkButton.addEventListener("click",()=>{this.showSection("links")})}showSection(e){let t={links:this.linksContainer,edit:this.editContainer,list:this.listContainer};for(let[i,o]of Object.entries(t))o.toggleAttribute("hidden",i!==e)}reloadList(){this.stopEdit(),window.$http.get(`/attachments/get/page/${this.pageId}`).then(e=>{this.listPanel.innerHTML=e.data,window.$components.init(this.listPanel)})}updateOrder(e){window.$http.put(`/attachments/sort/page/${this.pageId}`,{order:e}).then(t=>{window.$events.emit("success",t.data.message)})}async startEdit(e){this.showSection("edit"),It(this.editContainer);let t=await window.$http.get(`/attachments/edit/${e}`);this.editContainer.innerHTML=t.data,window.$components.init(this.editContainer)}stopEdit(){this.showSection("list")}};var Ie=class extends h{setup(){this.container=this.$el,this.fileLinks=this.$manyRefs.linkTypeFile,this.setupListeners()}setupListeners(){let e=t=>t.key==="Control"||t.key==="Meta";window.addEventListener("keydown",t=>{e(t)&&this.addOpenQueryToLinks()},{passive:!0}),window.addEventListener("keyup",t=>{e(t)&&this.removeOpenQueryFromLinks()},{passive:!0})}addOpenQueryToLinks(){for(let e of this.fileLinks)e.href.split("?")[1]!=="open=true"&&(e.href+="?open=true",e.setAttribute("target","_blank"))}removeOpenQueryFromLinks(){for(let e of this.fileLinks)e.href=e.href.split("?")[0],e.removeAttribute("target")}};var Lt,vi,bi,Tt=class{constructor(e,t=null,i=null){po(this,Lt);d(this,"containers");d(this,"onEscape");d(this,"onEnter");this.containers=[e],this.onEscape=t,this.onEnter=i,e.addEventListener("keydown",ee(this,Lt,vi).bind(this))}shareHandlingToEl(e){this.containers.push(e),e.addEventListener("keydown",ee(this,Lt,vi).bind(this))}focusNext(){let e=ee(this,Lt,bi).call(this),t=document.activeElement,o=(xt(t)?e.indexOf(t):-1)+1;o>=e.length&&(o=0),e[o].focus()}focusPrevious(){let e=ee(this,Lt,bi).call(this),t=document.activeElement,o=(xt(t)?e.indexOf(t):-1)-1;o<0&&(o=e.length-1),e[o].focus()}};Lt=new WeakSet,vi=function(e){xt(e.target)&&e.target.matches("input")&&(e.key==="ArrowRight"||e.key==="ArrowLeft")||(e.key==="ArrowDown"||e.key==="ArrowRight"?(this.focusNext(),e.preventDefault()):e.key==="ArrowUp"||e.key==="ArrowLeft"?(this.focusPrevious(),e.preventDefault()):e.key==="Escape"?this.onEscape?this.onEscape(e):xt(document.activeElement)&&document.activeElement.blur():e.key==="Enter"&&this.onEnter&&this.onEnter(e))},bi=function(){let e=[],t='[tabindex]:not([tabindex="-1"]),[href],button:not([tabindex="-1"],[disabled]),input:not([type=hidden])';for(let i of this.containers){let o=[...i.querySelectorAll(t)].filter(s=>xt(s));e.push(...o)}return e};var wi={},He=class extends h{setup(){this.parent=this.$el.parentElement,this.container=this.$el,this.type=this.$opts.type,this.url=this.$opts.url,this.input=this.$refs.input,this.list=this.$refs.list,this.lastPopulated=0,this.setupListeners()}setupListeners(){new Tt(this.list,()=>{this.input.focus(),setTimeout(()=>this.hideSuggestions(),1)},t=>{t.preventDefault();let i=t.target.textContent;i&&this.selectSuggestion(i)}).shareHandlingToEl(this.input),W(this.list,".text-item","click",(t,i)=>{this.selectSuggestion(i.textContent)}),this.input.addEventListener("input",this.requestSuggestions.bind(this)),this.input.addEventListener("focus",this.requestSuggestions.bind(this)),this.input.addEventListener("blur",this.hideSuggestionsIfFocusedLost.bind(this)),this.input.addEventListener("keydown",t=>{t.key==="Tab"&&this.hideSuggestions()})}selectSuggestion(e){this.input.value=e,this.lastPopulated=Date.now(),this.input.focus(),this.input.dispatchEvent(new Event("input",{bubbles:!0})),this.input.dispatchEvent(new Event("change",{bubbles:!0})),this.hideSuggestions()}async requestSuggestions(){if(Date.now()-this.lastPopulated<50)return;let e=this.getNameFilterIfNeeded(),t=this.input.value.toLowerCase(),o=(await this.loadSuggestions(t,e)).filter(s=>t===""||s.toLowerCase().startsWith(t)).slice(0,10);this.displaySuggestions(o)}getNameFilterIfNeeded(){return this.type!=="value"?null:this.parent.querySelector("input").value}async loadSuggestions(e,t=null){e=e.slice(0,4);let i={search:e,name:t},o=`${this.url}:${JSON.stringify(i)}`;if(wi[o])return wi[o];let s=await window.$http.get(this.url,i);return wi[o]=s.data,s.data}displaySuggestions(e){if(e.length===0){this.hideSuggestions();return}this.list.innerHTML=e.map(t=>`
  • ${mo(t)}
  • `).join(""),this.list.style.display="block";for(let t of this.list.querySelectorAll(".text-item"))t.addEventListener("blur",this.hideSuggestionsIfFocusedLost.bind(this))}hideSuggestions(){this.list.style.display="none"}hideSuggestionsIfFocusedLost(e){this.container.contains(e.relatedTarget)||this.hideSuggestions()}};var Be=class extends h{setup(){this.form=this.$el,this.form.submit()}};var Pe=class extends h{setup(){if(this.button=this.$el,this.targetElem=document.getElementById("header"),this.showing=!1,this.breakPoint=1200,document.body.classList.contains("flexbox")){this.button.style.display="none";return}this.button.addEventListener("click",this.scrollToTop.bind(this)),window.addEventListener("scroll",this.onPageScroll.bind(this))}onPageScroll(){let e=document.documentElement.scrollTop||document.body.scrollTop||0;!this.showing&&e>this.breakPoint?(this.button.style.display="block",this.showing=!0,setTimeout(()=>{this.button.style.opacity=.4},1)):this.showing&&e{this.button.style.display="none"},500))}scrollToTop(){let e=this.targetElem.getBoundingClientRect().top,t=document.documentElement.scrollTop?document.documentElement:document.body,i=300,o=Date.now(),s=this.targetElem.getBoundingClientRect().top;function r(){let a=1-(Date.now()-o)/i,l=Math.abs(a*s);a>0?(t.scrollTop=l,requestAnimationFrame(r.bind(this))):t.scrollTop=e}requestAnimationFrame(r.bind(this))}};function Di(n,e){(e==null||e>n.length)&&(e=n.length);for(var t=0,i=Array(e);t"&&(e=e.substring(1)),n)try{if(n.matches)return n.matches(e);if(n.msMatchesSelector)return n.msMatchesSelector(e);if(n.webkitMatchesSelector)return n.webkitMatchesSelector(e)}catch{return!1}return!1}}function Oo(n){return n.host&&n!==document&&n.host.nodeType&&n.host!==n?n.host:n.parentNode}function ot(n,e,t,i){if(n){t=t||document;do{if(e!=null&&(e[0]===">"?n.parentNode===t&&ze(n,e):ze(n,e))||i&&n===t)return n;if(n===t)break}while(n=Oo(n))}return null}var So=/\s+/g;function K(n,e,t){if(n&&e)if(n.classList)n.classList[t?"add":"remove"](e);else{var i=(" "+n.className+" ").replace(So," ").replace(" "+e+" "," ");n.className=(i+(t?" "+e:"")).replace(So," ")}}function C(n,e,t){var i=n&&n.style;if(i){if(t===void 0)return document.defaultView&&document.defaultView.getComputedStyle?t=document.defaultView.getComputedStyle(n,""):n.currentStyle&&(t=n.currentStyle),e===void 0?t:t[e];!(e in i)&&e.indexOf("webkit")===-1&&(e="-webkit-"+e),i[e]=t+(typeof t=="string"?"":"px")}}function Rt(n,e){var t="";if(typeof n=="string")t=n;else do{var i=C(n,"transform");i&&i!=="none"&&(t=i+" "+t)}while(!e&&(n=n.parentNode));var o=window.DOMMatrix||window.WebKitCSSMatrix||window.CSSMatrix||window.MSCSSMatrix;return o&&new o(t)}function No(n,e,t){if(n){var i=n.getElementsByTagName(e),o=0,s=i.length;if(t)for(;o=s:r=o<=s,!r)return i;if(i===ft())break;i=$t(i,!1)}return!1}function Xt(n,e,t,i){for(var o=0,s=0,r=n.children;s2&&arguments[2]!==void 0?arguments[2]:{},o=i.evt,s=tr(i,pr);ge.pluginEvent.bind(L)(e,t,gt({dragEl:g,parentEl:j,ghostEl:M,rootEl:F,nextEl:Pt,lastDownEl:We,cloneEl:q,cloneHidden:kt,dragStarted:ae,putSortable:G,activeSortable:L.active,originalEvent:o,oldIndex:Kt,oldDraggableIndex:ue,newIndex:at,newDraggableIndex:St,hideGhostForTarget:Vo,unhideGhostForTarget:zo,cloneNowHidden:function(){kt=!0},cloneNowShown:function(){kt=!1},dispatchSortableEvent:function(a){tt({sortable:t,name:a,originalEvent:o})}},s))};function tt(n){re(gt({putSortable:G,cloneEl:q,targetEl:g,rootEl:F,oldIndex:Kt,oldDraggableIndex:ue,newIndex:at,newDraggableIndex:St},n))}var g,j,M,F,Pt,We,q,kt,Kt,at,ue,St,Re,G,zt=!1,Ke=!1,Xe=[],Ht,ct,xi,Ti,Do,Ao,ae,Ut,pe,me=!1,Oe=!1,je,J,Li=[],Ii=!1,Ge=[],Je=typeof document<"u",Ne=Ri,Io=fe||bt?"cssFloat":"float",mr=Je&&!Po&&!Ri&&"draggable"in document.createElement("div"),Wo=(function(){if(Je){if(bt)return!1;var n=document.createElement("x");return n.style.cssText="pointer-events:auto",n.style.pointerEvents==="auto"}})(),jo=function(e,t){var i=C(e),o=parseInt(i.width)-parseInt(i.paddingLeft)-parseInt(i.paddingRight)-parseInt(i.borderLeftWidth)-parseInt(i.borderRightWidth),s=Xt(e,0,t),r=Xt(e,1,t),a=s&&C(s),l=r&&C(r),c=a&&parseInt(a.marginLeft)+parseInt(a.marginRight)+_(s).width,p=l&&parseInt(l.marginLeft)+parseInt(l.marginRight)+_(r).width;if(i.display==="flex")return i.flexDirection==="column"||i.flexDirection==="column-reverse"?"vertical":"horizontal";if(i.display==="grid")return i.gridTemplateColumns.split(" ").length<=1?"vertical":"horizontal";if(s&&a.float&&a.float!=="none"){var m=a.float==="left"?"left":"right";return r&&(l.clear==="both"||l.clear===m)?"vertical":"horizontal"}return s&&(a.display==="block"||a.display==="flex"||a.display==="table"||a.display==="grid"||c>=o&&i[Io]==="none"||r&&i[Io]==="none"&&c+p>o)?"vertical":"horizontal"},fr=function(e,t,i){var o=i?e.left:e.top,s=i?e.right:e.bottom,r=i?e.width:e.height,a=i?t.left:t.top,l=i?t.right:t.bottom,c=i?t.width:t.height;return o===a||s===l||o+r/2===a+c/2},gr=function(e,t){var i;return Xe.some(function(o){var s=o[Y].options.emptyInsertThreshold;if(!(!s||Oi(o))){var r=_(o),a=e>=r.left-s&&e<=r.right+s,l=t>=r.top-s&&t<=r.bottom+s;if(a&&l)return i=o}}),i},Uo=function(e){function t(s,r){return function(a,l,c,p){var m=a.options.group.name&&l.options.group.name&&a.options.group.name===l.options.group.name;if(s==null&&(r||m))return!0;if(s==null||s===!1)return!1;if(r&&s==="clone")return s;if(typeof s=="function")return t(s(a,l,c,p),r)(a,l,c,p);var b=(r?a:l).options.group.name;return s===!0||typeof s=="string"&&s===b||s.join&&s.indexOf(b)>-1}}var i={},o=e.group;(!o||Ai(o)!="object")&&(o={name:o}),i.name=o.name,i.checkPull=t(o.pull,!0),i.checkPut=t(o.put),i.revertClone=o.revertClone,e.group=i},Vo=function(){!Wo&&M&&C(M,"display","none")},zo=function(){!Wo&&M&&C(M,"display","")};Je&&!Po&&document.addEventListener("click",function(n){if(Ke)return n.preventDefault(),n.stopPropagation&&n.stopPropagation(),n.stopImmediatePropagation&&n.stopImmediatePropagation(),Ke=!1,!1},!0);var Bt=function(e){if(g){e=e.touches?e.touches[0]:e;var t=gr(e.clientX,e.clientY);if(t){var i={};for(var o in e)e.hasOwnProperty(o)&&(i[o]=e[o]);i.target=i.rootEl=t,i.preventDefault=void 0,i.stopPropagation=void 0,t[Y]._onDragOver(i)}}},vr=function(e){g&&g.parentNode[Y]._isOutsideThisEl(e.target)};function L(n,e){if(!(n&&n.nodeType&&n.nodeType===1))throw"Sortable: `el` must be an HTMLElement, not ".concat({}.toString.call(n));this.el=n,this.options=e=ht({},e),n[Y]=this;var t={group:null,sort:!0,disabled:!1,store:null,handle:null,draggable:/^[uo]l$/i.test(n.nodeName)?">li":">*",swapThreshold:1,invertSwap:!1,invertedSwapThreshold:null,removeCloneOnHide:!0,direction:function(){return jo(n,this.options)},ghostClass:"sortable-ghost",chosenClass:"sortable-chosen",dragClass:"sortable-drag",ignore:"a, img",filter:null,preventOnFilter:!0,animation:0,easing:null,setData:function(r,a){r.setData("Text",a.textContent)},dropBubble:!1,dragoverBubble:!1,dataIdAttr:"data-id",delay:0,delayOnTouchOnly:!1,touchStartThreshold:(Number.parseInt?Number:window).parseInt(window.devicePixelRatio,10)||1,forceFallback:!1,fallbackClass:"sortable-fallback",fallbackOnBody:!1,fallbackTolerance:0,fallbackOffset:{x:0,y:0},supportPointer:L.supportPointer!==!1&&"PointerEvent"in window&&(!de||Ri),emptyInsertThreshold:5};ge.initializePlugins(this,n,t);for(var i in t)!(i in e)&&(e[i]=t[i]);Uo(e);for(var o in this)o.charAt(0)==="_"&&typeof this[o]=="function"&&(this[o]=this[o].bind(this));this.nativeDraggable=e.forceFallback?!1:mr,this.nativeDraggable&&(this.options.touchStartThreshold=1),e.supportPointer?I(n,"pointerdown",this._onTapStart):(I(n,"mousedown",this._onTapStart),I(n,"touchstart",this._onTapStart)),this.nativeDraggable&&(I(n,"dragover",this),I(n,"dragenter",this)),Xe.push(this.el),e.store&&e.store.get&&this.sort(e.store.get(this)||[]),ht(this,dr())}L.prototype={constructor:L,_isOutsideThisEl:function(e){!this.el.contains(e)&&e!==this.el&&(Ut=null)},_getDirection:function(e,t){return typeof this.options.direction=="function"?this.options.direction.call(this,e,t,g):this.options.direction},_onTapStart:function(e){if(e.cancelable){var t=this,i=this.el,o=this.options,s=o.preventOnFilter,r=e.type,a=e.touches&&e.touches[0]||e.pointerType&&e.pointerType==="touch"&&e,l=(a||e).target,c=e.target.shadowRoot&&(e.path&&e.path[0]||e.composedPath&&e.composedPath()[0])||l,p=o.filter;if(Lr(i),!g&&!(/mousedown|pointerdown/.test(r)&&e.button!==0||o.disabled)&&!c.isContentEditable&&!(!this.nativeDraggable&&de&&l&&l.tagName.toUpperCase()==="SELECT")&&(l=ot(l,o.draggable,i,!1),!(l&&l.animated)&&We!==l)){if(Kt=X(l),ue=X(l,o.draggable),typeof p=="function"){if(p.call(this,e,l,this)){tt({sortable:t,rootEl:c,name:"filter",targetEl:l,toEl:i,fromEl:i}),nt("filter",t,{evt:e}),s&&e.preventDefault();return}}else if(p&&(p=p.split(",").some(function(m){if(m=ot(c,m.trim(),i,!1),m)return tt({sortable:t,rootEl:m,name:"filter",targetEl:l,fromEl:i,toEl:i}),nt("filter",t,{evt:e}),!0}),p)){s&&e.preventDefault();return}o.handle&&!ot(c,o.handle,i,!1)||this._prepareDragStart(e,a,l)}}},_prepareDragStart:function(e,t,i){var o=this,s=o.el,r=o.options,a=s.ownerDocument,l;if(i&&!g&&i.parentNode===s){var c=_(i);if(F=s,g=i,j=g.parentNode,Pt=g.nextSibling,We=i,Re=r.group,L.dragged=g,Ht={target:g,clientX:(t||e).clientX,clientY:(t||e).clientY},Do=Ht.clientX-c.left,Ao=Ht.clientY-c.top,this._lastX=(t||e).clientX,this._lastY=(t||e).clientY,g.style["will-change"]="all",l=function(){if(nt("delayEnded",o,{evt:e}),L.eventCanceled){o._onDrop();return}o._disableDelayedDragEvents(),!Lo&&o.nativeDraggable&&(g.draggable=!0),o._triggerDragStart(e,t),tt({sortable:o,name:"choose",originalEvent:e}),K(g,r.chosenClass,!0)},r.ignore.split(",").forEach(function(p){No(g,p.trim(),Si)}),I(a,"dragover",Bt),I(a,"mousemove",Bt),I(a,"touchmove",Bt),r.supportPointer?(I(a,"pointerup",o._onDrop),!this.nativeDraggable&&I(a,"pointercancel",o._onDrop)):(I(a,"mouseup",o._onDrop),I(a,"touchend",o._onDrop),I(a,"touchcancel",o._onDrop)),Lo&&this.nativeDraggable&&(this.options.touchStartThreshold=4,g.draggable=!0),nt("delayStart",this,{evt:e}),r.delay&&(!r.delayOnTouchOnly||t)&&(!this.nativeDraggable||!(fe||bt))){if(L.eventCanceled){this._onDrop();return}r.supportPointer?(I(a,"pointerup",o._disableDelayedDrag),I(a,"pointercancel",o._disableDelayedDrag)):(I(a,"mouseup",o._disableDelayedDrag),I(a,"touchend",o._disableDelayedDrag),I(a,"touchcancel",o._disableDelayedDrag)),I(a,"mousemove",o._delayedDragTouchMoveHandler),I(a,"touchmove",o._delayedDragTouchMoveHandler),r.supportPointer&&I(a,"pointermove",o._delayedDragTouchMoveHandler),o._dragStartTimer=setTimeout(l,r.delay)}else l()}},_delayedDragTouchMoveHandler:function(e){var t=e.touches?e.touches[0]:e;Math.max(Math.abs(t.clientX-this._lastX),Math.abs(t.clientY-this._lastY))>=Math.floor(this.options.touchStartThreshold/(this.nativeDraggable&&window.devicePixelRatio||1))&&this._disableDelayedDrag()},_disableDelayedDrag:function(){g&&Si(g),clearTimeout(this._dragStartTimer),this._disableDelayedDragEvents()},_disableDelayedDragEvents:function(){var e=this.el.ownerDocument;A(e,"mouseup",this._disableDelayedDrag),A(e,"touchend",this._disableDelayedDrag),A(e,"touchcancel",this._disableDelayedDrag),A(e,"pointerup",this._disableDelayedDrag),A(e,"pointercancel",this._disableDelayedDrag),A(e,"mousemove",this._delayedDragTouchMoveHandler),A(e,"touchmove",this._delayedDragTouchMoveHandler),A(e,"pointermove",this._delayedDragTouchMoveHandler)},_triggerDragStart:function(e,t){t=t||e.pointerType=="touch"&&e,!this.nativeDraggable||t?this.options.supportPointer?I(document,"pointermove",this._onTouchMove):t?I(document,"touchmove",this._onTouchMove):I(document,"mousemove",this._onTouchMove):(I(g,"dragend",this),I(F,"dragstart",this._onDragStart));try{document.selection?Ue(function(){document.selection.empty()}):window.getSelection().removeAllRanges()}catch{}},_dragStarted:function(e,t){if(zt=!1,F&&g){nt("dragStarted",this,{evt:t}),this.nativeDraggable&&I(document,"dragover",vr);var i=this.options;!e&&K(g,i.dragClass,!1),K(g,i.ghostClass,!0),L.active=this,e&&this._appendGhost(),tt({sortable:this,name:"start",originalEvent:t})}else this._nulling()},_emulateDragOver:function(){if(ct){this._lastX=ct.clientX,this._lastY=ct.clientY,Vo();for(var e=document.elementFromPoint(ct.clientX,ct.clientY),t=e;e&&e.shadowRoot&&(e=e.shadowRoot.elementFromPoint(ct.clientX,ct.clientY),e!==t);)t=e;if(g.parentNode[Y]._isOutsideThisEl(e),t)do{if(t[Y]){var i=void 0;if(i=t[Y]._onDragOver({clientX:ct.clientX,clientY:ct.clientY,target:e,rootEl:t}),i&&!this.options.dragoverBubble)break}e=t}while(t=Oo(t));zo()}},_onTouchMove:function(e){if(Ht){var t=this.options,i=t.fallbackTolerance,o=t.fallbackOffset,s=e.touches?e.touches[0]:e,r=M&&Rt(M,!0),a=M&&r&&r.a,l=M&&r&&r.d,c=Ne&&J&&$o(J),p=(s.clientX-Ht.clientX+o.x)/(a||1)+(c?c[0]-Li[0]:0)/(a||1),m=(s.clientY-Ht.clientY+o.y)/(l||1)+(c?c[1]-Li[1]:0)/(l||1);if(!L.active&&!zt){if(i&&Math.max(Math.abs(s.clientX-this._lastX),Math.abs(s.clientY-this._lastY))=0&&(tt({rootEl:j,name:"add",toEl:j,fromEl:F,originalEvent:e}),tt({sortable:this,name:"remove",toEl:j,originalEvent:e}),tt({rootEl:j,name:"sort",toEl:j,fromEl:F,originalEvent:e}),tt({sortable:this,name:"sort",toEl:j,originalEvent:e})),G&&G.save()):at!==Kt&&at>=0&&(tt({sortable:this,name:"update",toEl:j,originalEvent:e}),tt({sortable:this,name:"sort",toEl:j,originalEvent:e})),L.active&&((at==null||at===-1)&&(at=Kt,St=ue),tt({sortable:this,name:"end",toEl:j,originalEvent:e}),this.save()))),this._nulling()},_nulling:function(){nt("nulling",this),F=g=j=M=Pt=q=We=kt=Ht=ct=ae=at=St=Kt=ue=Ut=pe=G=Re=L.dragged=L.ghost=L.clone=L.active=null;var e=this.el;Ge.forEach(function(t){e.contains(t)&&(t.checked=!0)}),Ge.length=xi=Ti=0},handleEvent:function(e){switch(e.type){case"drop":case"dragend":this._onDrop(e);break;case"dragenter":case"dragover":g&&(this._onDragOver(e),br(e));break;case"selectstart":e.preventDefault();break}},toArray:function(){for(var e=[],t,i=this.el.children,o=0,s=i.length,r=this.options;oo.right+s||n.clientY>i.bottom&&n.clientX>i.left:n.clientY>o.bottom+s||n.clientX>i.right&&n.clientY>i.top}function Cr(n,e,t,i,o,s,r,a){var l=i?n.clientY:n.clientX,c=i?t.height:t.width,p=i?t.top:t.left,m=i?t.bottom:t.right,b=!1;if(!r){if(a&&jep+c*s/2:lm-je)return-pe}else if(l>p+c*(1-o)/2&&lm-c*s/2)?l>p+c/2?1:-1:0}function xr(n){return X(g)1&&($.forEach(function(a){s.addAnimationState({target:a,rect:it?_(a):r}),Ei(a),a.fromRect=r,i.removeAnimationState(a)}),it=!1,kr(!this.options.removeCloneOnHide,o))},dragOverCompleted:function(t){var i=t.sortable,o=t.isOwner,s=t.insertion,r=t.activeSortable,a=t.parentEl,l=t.putSortable,c=this.options;if(s){if(o&&r._hideClone(),oe=!1,c.animation&&$.length>1&&(it||!o&&!r.options.sort&&!l)){var p=_(N,!1,!0,!0);$.forEach(function(b){b!==N&&(Mo(b,p),a.appendChild(b))}),it=!0}if(!o)if(it||qe(),$.length>1){var m=Fe;r._showClone(i),r.options.animation&&!Fe&&m&&rt.forEach(function(b){r.addAnimationState({target:b,rect:se}),b.fromRect=se,b.thisAnimationDuration=null})}else r._showClone(i)}},dragOverAnimationCapture:function(t){var i=t.dragRect,o=t.isOwner,s=t.activeSortable;if($.forEach(function(a){a.thisAnimationDuration=null}),s.options.animation&&!o&&s.multiDrag.isMultiDrag){se=ht({},i);var r=Rt(N,!0);se.top-=r.f,se.left-=r.e}},dragOverAnimationComplete:function(){it&&(it=!1,qe())},drop:function(t){var i=t.originalEvent,o=t.rootEl,s=t.parentEl,r=t.sortable,a=t.dispatchSortableEvent,l=t.oldIndex,c=t.putSortable,p=c||this.sortable;if(i){var m=this.options,b=s.children;if(!Vt)if(m.multiDragKey&&!this.multiDragKeyDown&&this._deselectMultiDrag(),K(N,m.selectedClass,!~$.indexOf(N)),~$.indexOf(N))$.splice($.indexOf(N),1),ie=null,re({sortable:r,rootEl:o,name:"deselect",targetEl:N,originalEvent:i});else{if($.push(N),re({sortable:r,rootEl:o,name:"select",targetEl:N,originalEvent:i}),i.shiftKey&&ie&&r.el.contains(ie)){var y=X(ie),u=X(N);~y&&~u&&y!==u&&(function(){var v,T;u>y?(T=y,v=u):(T=u,v=y+1);for(var S=m.filter;T1){var f=_(N),w=X(N,":not(."+this.options.selectedClass+")");if(!oe&&m.animation&&(N.thisAnimationDuration=null),p.captureAnimationState(),!oe&&(m.animation&&(N.fromRect=f,$.forEach(function(v){if(v.thisAnimationDuration=null,v!==N){var T=it?_(v):f;v.fromRect=T,p.addAnimationState({target:v,rect:T})}})),qe(),$.forEach(function(v){b[w]?s.insertBefore(v,b[w]):s.appendChild(v),w++}),l===X(N))){var E=!1;$.forEach(function(v){if(v.sortableIndex!==X(v)){E=!0;return}}),E&&(a("update"),a("sort"))}$.forEach(function(v){Ei(v)}),p.animateAll()}dt=p}(o===s||c&&c.lastPutMode!=="clone")&&rt.forEach(function(v){v.parentNode&&v.parentNode.removeChild(v)})}},nullingGlobal:function(){this.isMultiDrag=Vt=!1,rt.length=0},destroyGlobal:function(){this._deselectMultiDrag(),A(document,"pointerup",this._deselectMultiDrag),A(document,"mouseup",this._deselectMultiDrag),A(document,"touchend",this._deselectMultiDrag),A(document,"keydown",this._checkKeyDown),A(document,"keyup",this._checkKeyUp)},_deselectMultiDrag:function(t){if(!(typeof Vt<"u"&&Vt)&&dt===this.sortable&&!(t&&ot(t.target,this.options.draggable,this.sortable.el,!1))&&!(t&&t.button!==0))for(;$.length;){var i=$[0];K(i,this.options.selectedClass,!1),$.shift(),re({sortable:this.sortable,rootEl:this.sortable.el,name:"deselect",targetEl:i,originalEvent:t})}},_checkKeyDown:function(t){t.key===this.options.multiDragKey&&(this.multiDragKeyDown=!0)},_checkKeyUp:function(t){t.key===this.options.multiDragKey&&(this.multiDragKeyDown=!1)}},ht(n,{pluginName:"multiDrag",utils:{select:function(t){var i=t.parentNode[Y];!i||!i.options.multiDrag||~$.indexOf(t)||(dt&&dt!==i&&(dt.multiDrag._deselectMultiDrag(),dt=i),K(t,i.options.selectedClass,!0),$.push(t))},deselect:function(t){var i=t.parentNode[Y],o=$.indexOf(t);!i||!i.options.multiDrag||!~o||(K(t,i.options.selectedClass,!1),$.splice(o,1))}},eventProperties:function(){var t=this,i=[],o=[];return $.forEach(function(s){i.push({multiDragElement:s,index:s.sortableIndex});var r;it&&s!==N?r=-1:it?r=X(s,":not(."+t.options.selectedClass+")"):r=X(s),o.push({multiDragElement:s,index:r})}),{items:nr($),clones:[].concat(rt),oldIndicies:i,newIndicies:o}},optionListeners:{multiDragKey:function(t){return t=t.toLowerCase(),t==="ctrl"?t="Control":t.length>1&&(t=t.charAt(0).toUpperCase()+t.substr(1)),t}}})}function kr(n,e){$.forEach(function(t,i){var o=e.children[t.sortableIndex+(n?Number(i):0)];o?e.insertBefore(t,o):e.appendChild(t)})}function Bo(n,e){rt.forEach(function(t,i){var o=e.children[t.sortableIndex+(n?Number(i):0)];o?e.insertBefore(t,o):e.appendChild(t)})}function qe(){$.forEach(function(n){n!==N&&n.parentNode&&n.parentNode.removeChild(n)})}L.mount(new Sr);L.mount(Fi,_i);var wt=L;var Go={name(n,e){let t=n.getAttribute("data-name").trim().toLowerCase(),i=e.getAttribute("data-name").trim().toLowerCase();return t.localeCompare(i)},created(n,e){let t=Number(n.getAttribute("data-created"));return Number(e.getAttribute("data-created"))-t},updated(n,e){let t=Number(n.getAttribute("data-updated"));return Number(e.getAttribute("data-updated"))-t},chaptersFirst(n,e){let t=n.getAttribute("data-type"),i=e.getAttribute("data-type");return t===i?0:t==="chapter"?-1:1},chaptersLast(n,e){let t=n.getAttribute("data-type"),i=e.getAttribute("data-type");return t===i?0:t==="chapter"?1:-1}},Yo={up:{active(n,e){return!(n.previousElementSibling===null&&!e)},run(n,e){(n.previousElementSibling||e).insertAdjacentElement("beforebegin",n)}},down:{active(n,e){return!(n.nextElementSibling===null&&!e)},run(n,e){(n.nextElementSibling||e).insertAdjacentElement("afterend",n)}},next_book:{active(n,e,t){return t.nextElementSibling!==null},run(n,e,t){t.nextElementSibling.querySelector("ul").prepend(n)}},prev_book:{active(n,e,t){return t.previousElementSibling!==null},run(n,e,t){t.previousElementSibling.querySelector("ul").appendChild(n)}},next_chapter:{active(n,e){return n.dataset.type==="page"&&this.getNextChapter(n,e)},run(n,e){this.getNextChapter(n,e).querySelector("ul").prepend(n)},getNextChapter(n,e){let t=e||n,i=Array.from(t.parentElement.children),o=i.indexOf(t);return i.slice(o+1).find(s=>s.dataset.type==="chapter")}},prev_chapter:{active(n,e){return n.dataset.type==="page"&&this.getPrevChapter(n,e)},run(n,e){this.getPrevChapter(n,e).querySelector("ul").append(n)},getPrevChapter(n,e){let t=e||n,i=Array.from(t.parentElement.children),o=i.indexOf(t);return i.slice(0,o).reverse().find(s=>s.dataset.type==="chapter")}},book_end:{active(n,e){return e||e===null&&n.nextElementSibling},run(n,e,t){t.querySelector("ul").append(n)}},book_start:{active(n,e){return e||e===null&&n.previousElementSibling},run(n,e,t){t.querySelector("ul").prepend(n)}},before_chapter:{active(n,e){return e},run(n,e){e.insertAdjacentElement("beforebegin",n)}},after_chapter:{active(n,e){return e},run(n,e){e.insertAdjacentElement("afterend",n)}}},Ze=class extends h{setup(){this.container=this.$el,this.sortContainer=this.$refs.sortContainer,this.input=this.$refs.input,wt.mount(new Xo);let e=this.container.querySelector(".sort-box");this.setupBookSortable(e),this.setupSortPresets(),this.setupMoveActions(),window.$events.listen("entity-select-change",this.bookSelect.bind(this))}setupMoveActions(){this.container.addEventListener("click",e=>{if(e.target.matches("[data-move]")){let t=e.target.getAttribute("data-move"),i=e.target.closest("[data-id]");this.runSortAction(i,t)}}),this.updateMoveActionStateForAll()}setupSortPresets(){let e="",t=!1,i=["name","created","updated"];this.sortContainer.addEventListener("click",o=>{let s=o.target.closest(".sort-box-options [data-sort]");if(!s)return;o.preventDefault();let r=s.closest(".sort-box").querySelectorAll("ul"),a=s.getAttribute("data-sort");t=e===a?!t:!1;let l=Go[a];t&&i.includes(a)&&(l=function(p,m){return 0-Go[a](p,m)});for(let c of r)Array.from(c.children).filter(m=>m.matches("li")).sort(l).forEach(m=>{c.appendChild(m)});e=a,this.updateMapInput()})}bookSelect(e){if(this.container.querySelector(`[data-type="book"][data-id="${e.id}"]`)!==null)return;let i=`${e.link}/sort-item`;window.$http.get(i).then(o=>{let s=lt(o.data);this.sortContainer.append(s),this.setupBookSortable(s),this.updateMoveActionStateForAll(),s.querySelector("summary").focus()})}setupBookSortable(e){let t=Array.from(e.querySelectorAll(".sort-list, .sortable-page-sublist")),i={name:"book",pull:["book","chapter"],put:["book","chapter"]},o={name:"chapter",pull:["book","chapter"],put(s,r,a){return a.getAttribute("data-type")==="page"}};for(let s of t)wt.create(s,{group:s.classList.contains("sort-list")?i:o,animation:150,fallbackOnBody:!0,swapThreshold:.65,onSort:()=>{this.ensureNoNestedChapters(),this.updateMapInput(),this.updateMoveActionStateForAll()},dragClass:"bg-white",ghostClass:"primary-background-light",multiDrag:!0,multiDragKey:"Control",selectedClass:"sortable-selected"})}ensureNoNestedChapters(){let e=this.container.querySelectorAll('[data-type="chapter"] [data-type="chapter"]');for(let t of e)t.parentElement.closest('[data-type="chapter"]').insertAdjacentElement("afterend",t)}updateMapInput(){let e=this.buildEntityMap();this.input.value=JSON.stringify(e)}buildEntityMap(){let e=[],t=this.container.querySelectorAll(".sort-list");for(let i of t){let o=i.closest('[data-type="book"]').getAttribute("data-id"),s=Array.from(i.children).filter(r=>r.matches('[data-type="page"], [data-type="chapter"]'));for(let r=0;r{for(let r of o)n.style.removeProperty(r);n.style.removeProperty("transition"),n.removeEventListener("transitionend",s),Qe.delete(n),i&&i()};setTimeout(()=>{n.style.transition=`all ease-in-out ${t}ms`;for(let r of o)n.style.setProperty(r,e[r][1]);n.addEventListener("transitionend",s),Qe.set(n,s)},15)}function be(n){Qe.has(n)&&Qe.get(n)()}function Jo(n,e=400,t=null){be(n),n.style.display="block",ve(n,{opacity:["0","1"]},e,()=>{t&&t()})}function Zo(n,e=400,t=null){be(n),ve(n,{opacity:["1","0"]},e,()=>{n.style.display="none",t&&t()})}function Gt(n,e=400){be(n);let t=n.getBoundingClientRect().height,i=getComputedStyle(n),o=i.getPropertyValue("padding-top"),s=i.getPropertyValue("padding-bottom"),r={"max-height":[`${t}px`,"0px"],overflow:["hidden","hidden"],"padding-top":[o,"0px"],"padding-bottom":[s,"0px"]};ve(n,r,e,()=>{n.style.display="none"})}function Yt(n,e=400){be(n),n.style.display="block";let t=n.getBoundingClientRect().height,i=getComputedStyle(n),o=i.getPropertyValue("padding-top"),s=i.getPropertyValue("padding-bottom"),r={"max-height":["0px",`${t}px`],overflow:["hidden","hidden"],"padding-top":["0px",o],"padding-bottom":["0px",s]};ve(n,r,e)}function Qo(n,e=400){let t=n.getBoundingClientRect().height,i=getComputedStyle(n),o=i.getPropertyValue("padding-top"),s=i.getPropertyValue("padding-bottom");return()=>{be(n);let r=n.getBoundingClientRect().height,a=getComputedStyle(n),l=a.getPropertyValue("padding-top"),c=a.getPropertyValue("padding-bottom"),p={height:[`${t}px`,`${r}px`],overflow:["hidden","hidden"],"padding-top":[o,l],"padding-bottom":[s,c]};ve(n,p,e)}}var tn=class extends h{setup(){this.list=this.$refs.list,this.toggle=this.$refs.toggle,this.isOpen=this.toggle.classList.contains("open"),this.toggle.addEventListener("click",this.click.bind(this))}open(){this.toggle.classList.add("open"),this.toggle.setAttribute("aria-expanded","true"),Yt(this.list,180),this.isOpen=!0}close(){this.toggle.classList.remove("open"),this.toggle.setAttribute("aria-expanded","false"),Gt(this.list,180),this.isOpen=!1}click(e){e.preventDefault(),this.isOpen?this.close():this.open()}};var en=class extends h{constructor(){super(...arguments);d(this,"editor",null);d(this,"saveCallback",null);d(this,"cancelCallback",null);d(this,"history",{});d(this,"historyKey","code_history")}setup(){this.container=this.$refs.container,this.popup=this.$el,this.editorInput=this.$refs.editor,this.languageButtons=this.$manyRefs.languageButton,this.languageOptionsContainer=this.$refs.languageOptionsContainer,this.saveButton=this.$refs.saveButton,this.languageInput=this.$refs.languageInput,this.historyDropDown=this.$refs.historyDropDown,this.historyList=this.$refs.historyList,this.favourites=new Set(this.$opts.favourites.split(",")),this.setupListeners(),this.setupFavourites()}setupListeners(){this.container.addEventListener("keydown",t=>{t.ctrlKey&&t.key==="Enter"&&this.save()}),H(this.languageButtons,t=>{let i=t.target.dataset.lang;this.languageInput.value=i,this.languageInputChange(i)}),qt(this.languageInput,()=>this.save()),this.languageInput.addEventListener("input",()=>this.languageInputChange(this.languageInput.value)),H(this.saveButton,()=>this.save()),W(this.historyList,"button","click",(t,i)=>{t.preventDefault();let o=i.dataset.time;this.editor&&this.editor.setContent(this.history[o])})}setupFavourites(){for(let t of this.languageButtons)this.setupFavouritesForButton(t);this.sortLanguageList()}setupFavouritesForButton(t){let i=t.dataset.lang,o=this.favourites.has(i);t.setAttribute("data-favourite",o?"true":"false"),W(t.parentElement,".lang-option-favorite-toggle","click",()=>{o=!o,o?this.favourites.add(i):this.favourites.delete(i),t.setAttribute("data-favourite",o?"true":"false"),window.$http.patch("/preferences/update-code-language-favourite",{language:i,active:o}),this.sortLanguageList(),o&&t.scrollIntoView({block:"center",behavior:"smooth"})})}sortLanguageList(){let t=this.languageButtons.sort((i,o)=>{let s=i.dataset.favourite==="true",r=o.dataset.favourite==="true";return s&&!r?-1:r&&!s||i.dataset.lang>o.dataset.lang?1:-1}).map(i=>i.parentElement);for(let i of t)this.languageOptionsContainer.append(i)}save(){this.saveCallback&&this.saveCallback(this.editor.getContent(),this.languageInput.value),this.hide()}async open(t,i,o,s,r){this.languageInput.value=i,this.saveCallback=s,this.cancelCallback=r,await this.show(),this.languageInputChange(i),this.editor.setContent(t),this.setDirection(o)}async show(){let t=await window.importVersioned("code");this.editor||(this.editor=t.popupEditor(this.editorInput,this.languageInput.value)),this.loadHistory(),this.getPopup().show(()=>{this.editor.focus()},()=>{this.addHistory(),this.cancelCallback&&this.cancelCallback()})}setDirection(t){let i=this.editorInput.parentElement;t?i.setAttribute("dir",t):i.removeAttribute("dir")}hide(){this.getPopup().hide(),this.addHistory()}getPopup(){return window.$components.firstOnElement(this.popup,"popup")}async updateEditorMode(t){this.editor.setMode(t,this.editor.getContent())}languageInputChange(t){this.updateEditorMode(t);let i=t.toLowerCase();for(let o of this.languageButtons){let s=o.dataset.lang.toLowerCase().trim(),r=i===s;o.classList.toggle("active",r),r&&o.scrollIntoView({block:"center",behavior:"smooth"})}}loadHistory(){this.history=JSON.parse(window.sessionStorage.getItem(this.historyKey)||"{}");let t=Object.keys(this.history).reverse();this.historyDropDown.classList.toggle("hidden",t.length===0),this.historyList.innerHTML=t.map(i=>{let o=new Date(parseInt(i,10)).toLocaleTimeString();return`
  • `}).join("")}addHistory(){if(!this.editor)return;let t=this.editor.getContent();if(!t)return;let i=Object.keys(this.history).pop();if(this.history[i]===t)return;this.history[String(Date.now())]=t;let o=JSON.stringify(this.history);window.sessionStorage.setItem(this.historyKey,o)}};var nn=class extends h{setup(){let e=this.$el;e.querySelectorAll("pre").length>0&&window.importVersioned("code").then(i=>{i.highlightWithin(e)})}};var on=class extends h{async setup(){let{mode:e}=this.$opts;(await window.importVersioned("code")).inlineEditor(this.$el,e)}};var sn=class extends h{setup(){this.container=this.$el,this.trigger=this.$refs.trigger,this.content=this.$refs.content,this.trigger&&(this.trigger.addEventListener("click",this.toggle.bind(this)),this.openIfContainsError())}open(){this.container.classList.add("open"),this.trigger.setAttribute("aria-expanded","true"),Yt(this.content,300)}close(){this.container.classList.remove("open"),this.trigger.setAttribute("aria-expanded","false"),Gt(this.content,300)}toggle(){this.container.classList.contains("open")?this.close():this.open()}openIfContainsError(){this.content.querySelector(".text-neg.text-small")&&this.open()}};var rn=class extends h{setup(){this.container=this.$el,this.confirmButton=this.$refs.confirm,this.res=null,H(this.confirmButton,()=>{this.sendResult(!0),this.getPopup().hide()})}show(){return this.getPopup().show(null,()=>{this.sendResult(!1)}),new Promise(e=>{this.res=e})}getPopup(){return window.$components.firstOnElement(this.container,"popup")}sendResult(e){this.res&&(this.res(e),this.res=null)}};var an=class extends h{setup(){this.container=this.$el,this.checkbox=this.container.querySelector("input[type=checkbox]"),this.display=this.container.querySelector('[role="checkbox"]'),this.checkbox.addEventListener("change",this.stateChange.bind(this)),this.container.addEventListener("keydown",this.onKeyDown.bind(this))}onKeyDown(e){(e.key===" "||e.key==="Enter")&&(e.preventDefault(),this.toggle())}toggle(){this.checkbox.checked=!this.checkbox.checked,this.checkbox.dispatchEvent(new Event("change")),this.stateChange()}stateChange(){let e=this.checkbox.checked?"true":"false";this.display.setAttribute("aria-checked",e)}};var ln=class extends h{setup(){this.container=this.$el,this.dealtWith=!1,this.container.addEventListener("toggle",this.onToggle.bind(this))}onToggle(){this.dealtWith||(this.container.querySelector("pre")&&window.importVersioned("code").then(e=>{e.highlightWithin(this.container)}),this.dealtWith=!0)}};var cn=class extends h{setup(){this.container=this.$el,this.menu=this.$refs.menu,this.toggle=this.$refs.toggle,this.moveMenu=this.$opts.moveMenu,this.bubbleEscapes=this.$opts.bubbleEscapes==="true",this.direction=document.dir==="rtl"?"right":"left",this.body=document.body,this.showing=!1,this.hide=this.hide.bind(this),this.setupListeners()}show(e=null){this.hideAll(),this.menu.style.display="block",this.menu.classList.add("anim","menuIn"),this.toggle.setAttribute("aria-expanded","true");let t=this.menu.getBoundingClientRect(),i=0,o=this.toggle.getBoundingClientRect().height,s=xo(this.menu).getBoundingClientRect(),r=t.bottom>s.bottom,a=this.container.getBoundingClientRect();if(this.moveMenu&&(this.body.appendChild(this.menu),this.menu.style.position="fixed",this.menu.style.width=`${t.width}px`,this.menu.style.left=`${t.left}px`,r?i=window.innerHeight-t.top-o/2:i=t.top),r){this.menu.style.top="initial",this.menu.style.bottom=`${i}px`;let p=window.innerHeight-40-(window.innerHeight-a.bottom);this.menu.style.maxHeight=`${Math.floor(p)}px`}else{this.menu.style.top=`${i}px`,this.menu.style.bottom="initial";let p=window.innerHeight-40-a.top;this.menu.style.maxHeight=`${Math.floor(p)}px`}this.menu.addEventListener("mouseleave",this.hide),window.addEventListener("click",p=>{this.menu.contains(p.target)||this.hide()});let l=this.menu.querySelector("input");l!==null&&l.focus(),this.showing=!0;let c=new Event("show");this.container.dispatchEvent(c),e&&e.stopPropagation()}hideAll(){for(let e of window.$components.get("dropdown"))e.hide()}hide(){this.menu.style.display="none",this.menu.classList.remove("anim","menuIn"),this.toggle.setAttribute("aria-expanded","false"),this.menu.style.top="",this.menu.style.bottom="",this.menu.style.maxHeight="",this.moveMenu&&(this.menu.style.position="",this.menu.style[this.direction]="",this.menu.style.width="",this.menu.style.left="",this.container.appendChild(this.menu)),this.showing=!1}setupListeners(){let e=new Tt(this.container,t=>{this.hide(),this.toggle.focus(),this.bubbleEscapes||t.stopPropagation()},t=>{t.target.nodeName==="INPUT"&&(t.preventDefault(),t.stopPropagation()),this.hide()});this.moveMenu&&e.shareHandlingToEl(this.menu),this.container.addEventListener("click",t=>{Array.from(this.menu.querySelectorAll("a")).includes(t.target)&&this.hide()}),H(this.toggle,t=>{t.stopPropagation(),t.preventDefault(),this.show(t),t instanceof KeyboardEvent&&e.focusNext()})}};var dn=class extends h{setup(){this.elem=this.$el,this.searchInput=this.$refs.searchInput,this.loadingElem=this.$refs.loading,this.listContainerElem=this.$refs.listContainer,this.localSearchSelector=this.$opts.localSearchSelector,this.url=this.$opts.url,this.elem.addEventListener("show",this.onShow.bind(this)),this.searchInput.addEventListener("input",this.onSearch.bind(this)),this.runAjaxSearch=mt(this.runAjaxSearch,300,!1)}onShow(){this.loadList()}onSearch(){let e=this.searchInput.value.toLowerCase().trim();this.localSearchSelector?this.runLocalSearch(e):(this.toggleLoading(!0),this.listContainerElem.innerHTML="",this.runAjaxSearch(e))}runAjaxSearch(e){this.loadList(e)}runLocalSearch(e){let t=this.listContainerElem.querySelectorAll(this.localSearchSelector);for(let i of t){let o=!e||i.textContent.toLowerCase().includes(e);i.style.display=o?"flex":"none",i.classList.toggle("hidden",!o)}}async loadList(e=""){this.listContainerElem.innerHTML="",this.toggleLoading(!0);try{let t=await window.$http.get(this.getAjaxUrl(e)),i=Qo(this.listContainerElem,80);this.listContainerElem.innerHTML=t.data,i()}catch(t){console.error(t)}this.toggleLoading(!1),this.localSearchSelector&&this.onSearch()}getAjaxUrl(e=null){if(!e)return this.url;let t=this.url.includes("?")?"&":"?";return`${this.url}${t}search=${encodeURIComponent(e)}`}toggleLoading(e=!1){this.loadingElem.style.display=e?"block":"none"}};var Jt=class{constructor(e){d(this,"data");this.data=e}hasItems(){return!!this.data&&!!this.data.types&&this.data.types.length>0}containsTabularData(){let e=this.data.getData("text/rtf");return!!e&&e.includes("\\trowd")}getImages(){return this.getFiles().filter(e=>e.type.includes("image"))}getFiles(){let{files:e}=this.data;return[...e]}};async function qi(n){if(window.isSecureContext&&navigator.clipboard){await navigator.clipboard.writeText(n);return}let e=document.createElement("textarea");e.setAttribute("style","position: absolute; left: -1000px; top: -1000px;"),e.value=n,document.body.appendChild(e),e.select(),document.execCommand("copy"),document.body.removeChild(e)}var hn=class extends h{setup(){this.container=this.$el,this.statusArea=this.$refs.statusArea,this.dropTarget=this.$refs.dropTarget,this.selectButtons=this.$manyRefs.selectButton||[],this.isActive=!0,this.url=this.$opts.url,this.method=(this.$opts.method||"post").toUpperCase(),this.successMessage=this.$opts.successMessage,this.errorMessage=this.$opts.errorMessage,this.uploadLimitMb=Number(this.$opts.uploadLimit),this.uploadLimitMessage=this.$opts.uploadLimitMessage,this.zoneText=this.$opts.zoneText,this.fileAcceptTypes=this.$opts.fileAccept,this.allowMultiple=this.$opts.allowMultiple==="true",this.setupListeners()}toggleActive(e){this.isActive=e}setupListeners(){H(this.selectButtons,this.manualSelectHandler.bind(this)),this.setupDropTargetHandlers()}setupDropTargetHandlers(){let e=0,t=()=>{this.hideOverlay(),e=0};this.dropTarget.addEventListener("dragenter",i=>{i.preventDefault(),e+=1,e===1&&this.isActive&&this.showOverlay()}),this.dropTarget.addEventListener("dragover",i=>{i.preventDefault()}),this.dropTarget.addEventListener("dragend",t),this.dropTarget.addEventListener("dragleave",()=>{e-=1,e===0&&t()}),this.dropTarget.addEventListener("drop",i=>{if(i.preventDefault(),t(),!this.isActive)return;let s=new Jt(i.dataTransfer).getFiles();for(let r of s)this.createUploadFromFile(r)})}manualSelectHandler(){let e=Q("input",{type:"file",style:"left: -400px; visibility: hidden; position: fixed;",accept:this.fileAcceptTypes,multiple:this.allowMultiple?"":null});this.container.append(e),e.click(),e.addEventListener("change",()=>{for(let t of e.files)this.createUploadFromFile(t);e.remove()})}showOverlay(){if(!this.dropTarget.querySelector(".dropzone-overlay")){let t=Q("div",{class:"dropzone-overlay"},[this.zoneText]);this.dropTarget.append(t)}}hideOverlay(){let e=this.dropTarget.querySelector(".dropzone-overlay");e&&e.remove()}createUploadFromFile(e){let{dom:t,status:i,progress:o,dismiss:s}=this.createDomForFile(e);this.statusArea.append(t);let r=this,a={file:e,dom:t,updateProgress(l){o.textContent=`${l}%`,o.style.width=`${l}%`},markError(l){i.setAttribute("data-status","error"),i.textContent=l,ne(t),this.updateProgress(100)},markSuccess(l){i.setAttribute("data-status","success"),i.textContent=l,ne(t),setTimeout(s,2400),r.$emit("upload-success",{name:e.name})}};return e.size>this.uploadLimitMb*1e6?(a.markError(this.uploadLimitMessage),a):(this.startXhrForUpload(a),a)}startXhrForUpload(e){let t=new FormData;t.append("file",e.file,e.file.name),this.method!=="POST"&&t.append("_method",this.method);let i=this,o=window.$http.createXMLHttpRequest("POST",this.url,{error(){e.markError(i.errorMessage)},readystatechange(){this.readyState===XMLHttpRequest.DONE&&this.status===200?e.markSuccess(i.successMessage):this.readyState===XMLHttpRequest.DONE&&this.status>=400&&e.markError(window.$http.formatErrorResponseText(this.responseText))}});o.upload.addEventListener("progress",s=>{let r=Math.min(Math.ceil(s.loaded/s.total*100),100);e.updateProgress(r)}),o.setRequestHeader("Accept","application/json"),o.send(t)}createDomForFile(e){let t=Q("img",{src:"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M9.224 7.373a.924.924 0 0 0-.92.925l-.006 7.404c0 .509.412.925.921.925h5.557a.928.928 0 0 0 .926-.925v-5.553l-2.777-2.776Zm3.239 3.239V8.067l2.545 2.545z' style='fill:%23000;fill-opacity:.75'/%3E%3C/svg%3E"}),i=Q("div",{class:"dropzone-file-item-status"},[]),o=Q("div",{class:"dropzone-file-item-progress"}),s=Q("div",{class:"dropzone-file-item-image-wrap"},[t]),r=Q("div",{class:"dropzone-file-item"},[s,Q("div",{class:"dropzone-file-item-text-wrap"},[Q("div",{class:"dropzone-file-item-label"},[e.name]),Wt(),i]),o]);e.type.startsWith("image/")&&(t.src=URL.createObjectURL(e));let a=()=>{r.classList.add("dismiss"),r.addEventListener("animationend",()=>{r.remove()})};return r.addEventListener("click",a),{dom:r,progress:o,status:i,dismiss:a}}};var un=class extends h{constructor(){super(...arguments);d(this,"container");d(this,"buttons");d(this,"contentElements");d(this,"toggleButton");d(this,"editorWrapEl");d(this,"open",!1);d(this,"tab","")}setup(){this.container=this.$el,this.buttons=this.$manyRefs.tabButton,this.contentElements=this.$manyRefs.tabContent,this.toggleButton=this.$refs.toggle,this.editorWrapEl=this.container.closest(".page-editor"),this.setupListeners(),this.setActiveTab(this.contentElements[0].dataset.tabContent||"")}setupListeners(){this.toggleButton.addEventListener("click",()=>this.toggle()),this.container.addEventListener("click",t=>{let i=t.target.closest("button");if(i instanceof HTMLButtonElement&&this.buttons.includes(i)){let o=i.dataset.tab||"";this.setActiveTab(o,!0)}})}toggle(){this.container.classList.toggle("open");let t=this.container.classList.contains("open");this.toggleButton.setAttribute("aria-expanded",t?"true":"false"),this.editorWrapEl.classList.toggle("toolbox-open",t),this.open=t,this.emitState()}setActiveTab(t,i=!1){for(let o of this.buttons)o.classList.remove("active"),o.dataset.tab===t&&o.classList.add("active");for(let o of this.contentElements)o.style.display="none",o.dataset.tabContent===t&&(o.style.display="block");i&&!this.container.classList.contains("open")&&this.toggle(),this.tab=t,this.emitState()}emitState(){let t={tab:this.tab,open:this.open};this.$emit("change",t)}};var pn=class extends h{setup(){this.container=this.$el,this.entityType=this.$opts.entityType,this.everyoneInheritToggle=this.$refs.everyoneInherit,this.roleSelect=this.$refs.roleSelect,this.roleContainer=this.$refs.roleContainer,this.setupListeners()}setupListeners(){this.everyoneInheritToggle.addEventListener("change",e=>{let t=e.target.checked,i=document.querySelectorAll('input[name^="permissions[0]["]');for(let o of i)o.disabled=t,o.checked=!1}),this.container.addEventListener("click",e=>{let t=e.target.closest("button");t&&t.dataset.roleId&&this.removeRowOnButtonClick(t)}),this.roleSelect.addEventListener("change",()=>{let e=this.roleSelect.value;e&&this.addRoleRow(e)})}async addRoleRow(e){this.roleSelect.disabled=!0;let t=this.roleSelect.querySelector(`option[value="${e}"]`);t&&t.remove();let i=await window.$http.get(`/permissions/form-row/${this.entityType}/${e}`),o=lt(i.data);this.roleContainer.append(o),this.roleSelect.disabled=!1}removeRowOnButtonClick(e){let t=e.closest(".item-list-row"),{roleId:i}=e.dataset,{roleName:o}=e.dataset,s=document.createElement("option");s.value=i,s.textContent=o,this.roleSelect.append(s),t.remove()}};var mn=class extends h{setup(){this.entityId=this.$opts.entityId,this.entityType=this.$opts.entityType,this.contentView=this.$refs.contentView,this.searchView=this.$refs.searchView,this.searchResults=this.$refs.searchResults,this.searchInput=this.$refs.searchInput,this.searchForm=this.$refs.searchForm,this.clearButton=this.$refs.clearButton,this.loadingBlock=this.$refs.loadingBlock,this.setupListeners()}setupListeners(){this.searchInput.addEventListener("change",this.runSearch.bind(this)),this.searchForm.addEventListener("submit",e=>{e.preventDefault(),this.runSearch()}),H(this.clearButton,this.clearSearch.bind(this))}runSearch(){let e=this.searchInput.value.trim();if(e.length===0){this.clearSearch();return}this.searchView.classList.remove("hidden"),this.contentView.classList.add("hidden"),this.loadingBlock.classList.remove("hidden");let t=window.baseUrl(`/search/${this.entityType}/${this.entityId}`);window.$http.get(t,{term:e}).then(i=>{this.searchResults.innerHTML=i.data}).catch(console.error).then(()=>{this.loadingBlock.classList.add("hidden")})}clearSearch(){this.searchView.classList.add("hidden"),this.contentView.classList.remove("hidden"),this.loadingBlock.classList.add("hidden"),this.searchInput.value=""}};var fn=class extends h{constructor(){super(...arguments);d(this,"elem");d(this,"input");d(this,"searchInput");d(this,"loading");d(this,"resultsContainer");d(this,"searchOptions");d(this,"search","");d(this,"lastClick",0)}setup(){this.elem=this.$el,this.input=this.$refs.input,this.searchInput=this.$refs.search,this.loading=this.$refs.loading,this.resultsContainer=this.$refs.results,this.searchOptions={entityTypes:this.$opts.entityTypes||"page,book,chapter",entityPermission:this.$opts.entityPermission||"view",searchEndpoint:this.$opts.searchEndpoint||"",initialValue:this.searchInput.value||""},this.setupListeners(),this.showLoading(),this.searchOptions.searchEndpoint&&this.initialLoad()}configureSearchOptions(t){Object.assign(this.searchOptions,t),this.reset(),this.searchInput.value=this.searchOptions.initialValue}setupListeners(){this.elem.addEventListener("click",this.onClick.bind(this));let t=0;this.searchInput.addEventListener("input",()=>{t=Date.now(),this.showLoading(),setTimeout(()=>{Date.now()-t<199||this.searchEntities(this.searchInput.value)},200)}),this.searchInput.addEventListener("keydown",i=>{i.keyCode===13&&i.preventDefault()}),W(this.$el,"[data-entity-type]","keydown",(i=>{if(i.ctrlKey&&i.code==="Enter"){let o=this.$el.closest("form");if(o){o.submit(),i.preventDefault();return}}i.code==="ArrowDown"&&this.focusAdjacent(!0),i.code==="ArrowUp"&&this.focusAdjacent(!1)})),this.searchInput.addEventListener("keydown",i=>{i.code==="ArrowDown"&&this.focusAdjacent(!0)})}focusAdjacent(t=!0){let i=Array.from(this.resultsContainer.querySelectorAll("[data-entity-type]")),o=i.indexOf(document.activeElement),s=i[o+(t?1:-1)]||i[0];s instanceof HTMLElement&&s.focus()}reset(){this.searchInput.value="",this.showLoading(),this.initialLoad()}focusSearch(){this.searchInput.focus()}showLoading(){this.loading.style.display="block",this.resultsContainer.style.display="none"}hideLoading(){this.loading.style.display="none",this.resultsContainer.style.display="block"}initialLoad(){if(!this.searchOptions.searchEndpoint)throw new Error("Search endpoint not set for entity-selector load");if(this.searchOptions.initialValue){this.searchEntities(this.searchOptions.initialValue);return}window.$http.get(this.searchUrl()).then(t=>{this.resultsContainer.innerHTML=t.data,this.hideLoading()})}searchUrl(){let t=`types=${encodeURIComponent(this.searchOptions.entityTypes)}&permission=${encodeURIComponent(this.searchOptions.entityPermission)}`;return`${this.searchOptions.searchEndpoint}?${t}`}searchEntities(t){if(!this.searchOptions.searchEndpoint)throw new Error("Search endpoint not set for entity-selector load");this.input.value="";let i=`${this.searchUrl()}&term=${encodeURIComponent(t)}`;window.$http.get(i).then(o=>{this.resultsContainer.innerHTML=o.data,this.hideLoading()})}isDoubleClick(){let t=Date.now(),i=t-this.lastClick<300;return this.lastClick=t,i}onClick(t){let i=t.target.closest("[data-entity-type]");i instanceof HTMLElement&&(t.preventDefault(),t.stopPropagation(),this.selectItem(i))}selectItem(t){let i=this.isDoubleClick(),o=t.getAttribute("data-entity-type"),s=t.getAttribute("data-entity-id"),r=!t.classList.contains("selected")||i;this.unselectAll(),this.input.value=r?`${o}:${s}`:"";let a=t.getAttribute("href")||"",l=t.querySelector(".entity-list-item-name")?.textContent||"",c={id:Number(s),name:l,link:a};r?t.classList.add("selected"):window.$events.emit("entity-select-change"),!(!i&&!r)&&(i&&this.confirmSelection(c),r&&window.$events.emit("entity-select-change",c))}confirmSelection(t){window.$events.emit("entity-select-confirm",t)}unselectAll(){let t=this.elem.querySelectorAll(".selected");for(let i of t)i.classList.remove("selected","primary-background")}};var gn=class extends h{constructor(){super(...arguments);d(this,"container");d(this,"selectButton");d(this,"selectorEl");d(this,"callback",null);d(this,"selection",null)}setup(){this.container=this.$el,this.selectButton=this.$refs.select,this.selectorEl=this.$refs.selector,this.selectButton.addEventListener("click",this.onSelectButtonClick.bind(this)),window.$events.listen("entity-select-change",this.onSelectionChange.bind(this)),window.$events.listen("entity-select-confirm",this.handleConfirmedSelection.bind(this))}show(t,i={}){this.callback=t,this.getSelector().configureSearchOptions(i),this.getPopup().show(),this.getSelector().focusSearch()}hide(){this.getPopup().hide()}getPopup(){return window.$components.firstOnElement(this.container,"popup")}getSelector(){return window.$components.firstOnElement(this.selectorEl,"entity-selector")}onSelectButtonClick(){this.handleConfirmedSelection(this.selection)}onSelectionChange(t){this.selection=t.hasOwnProperty("id")?t:null,this.selection?this.selectButton.removeAttribute("disabled"):this.selectButton.setAttribute("disabled","true")}handleConfirmedSelection(t){this.hide(),this.getSelector().reset(),this.callback&&t&&this.callback(t)}};var vn=class extends h{setup(){this.container=this.$el,this.name=this.$opts.name,H(this.$el,()=>{this.$emit(this.name,this.$opts)})}};var bn=class extends h{setup(){this.targetSelector=this.$opts.targetSelector,this.isOpen=this.$opts.isOpen==="true",this.updateEndpoint=this.$opts.updateEndpoint,this.$el.addEventListener("click",this.click.bind(this))}open(e){Yt(e,200)}close(e){Gt(e,200)}click(e){e.preventDefault();let t=document.querySelectorAll(this.targetSelector);for(let i of t)(this.isOpen?this.close:this.open)(i);this.isOpen=!this.isOpen,this.updateSystemAjax(this.isOpen)}updateSystemAjax(e){window.$http.patch(this.updateEndpoint,{expand:e?"true":"false"})}};var wn=class extends h{setup(){this.container=this.$el,this.input=this.$refs.input,this.suggestions=this.$refs.suggestions,this.suggestionResultsWrap=this.$refs.suggestionResults,this.loadingWrap=this.$refs.loading,this.button=this.$refs.button,this.setupListeners()}setupListeners(){let e=mt(this.updateSuggestions.bind(this),200,!1);this.input.addEventListener("input",()=>{let{value:t}=this.input;t.length>0?(this.loadingWrap.style.display="block",this.suggestionResultsWrap.style.opacity="0.5",e(t)):this.hideSuggestions()}),this.input.addEventListener("dblclick",()=>{this.input.setAttribute("autocomplete","on"),this.button.focus(),this.input.focus()}),new Tt(this.container,()=>{this.hideSuggestions()})}async updateSuggestions(e){let{data:t}=await window.$http.get("/search/suggest",{term:e});if(!this.input.value)return;let i=lt(t);this.suggestionResultsWrap.innerHTML="",this.suggestionResultsWrap.style.opacity="1",this.loadingWrap.style.display="none",this.suggestionResultsWrap.append(i),this.container.classList.contains("search-active")||this.showSuggestions()}showSuggestions(){this.container.classList.add("search-active"),window.requestAnimationFrame(()=>{this.suggestions.classList.add("search-suggestions-animation")})}hideSuggestions(){this.container.classList.remove("search-active"),this.suggestions.classList.remove("search-suggestions-animation"),this.suggestionResultsWrap.innerHTML=""}};var yn=class extends h{setup(){this.elem=this.$el,this.toggleButton=this.$refs.toggle,this.menu=this.$refs.menu,this.open=!1,this.toggleButton.addEventListener("click",this.onToggle.bind(this)),this.onWindowClick=this.onWindowClick.bind(this),this.onKeyDown=this.onKeyDown.bind(this)}onToggle(e){this.open=!this.open,this.menu.classList.toggle("show",this.open),this.toggleButton.setAttribute("aria-expanded",this.open?"true":"false"),this.open?(this.elem.addEventListener("keydown",this.onKeyDown),window.addEventListener("click",this.onWindowClick)):(this.elem.removeEventListener("keydown",this.onKeyDown),window.removeEventListener("click",this.onWindowClick)),e.stopPropagation()}onKeyDown(e){e.code==="Escape"&&this.onToggle(e)}onWindowClick(e){this.onToggle(e)}};var En=class extends h{setup(){this.uploadedTo=this.$opts.uploadedTo,this.container=this.$el,this.popupEl=this.$refs.popup,this.searchForm=this.$refs.searchForm,this.searchInput=this.$refs.searchInput,this.cancelSearch=this.$refs.cancelSearch,this.listContainer=this.$refs.listContainer,this.filterTabs=this.$manyRefs.filterTabs,this.selectButton=this.$refs.selectButton,this.uploadButton=this.$refs.uploadButton,this.uploadHint=this.$refs.uploadHint,this.formContainer=this.$refs.formContainer,this.formContainerPlaceholder=this.$refs.formContainerPlaceholder,this.dropzoneContainer=this.$refs.dropzoneContainer,this.loadMore=this.$refs.loadMore,this.type="gallery",this.lastSelected={},this.lastSelectedTime=0,this.callback=null,this.resetState=()=>{this.hasData=!1,this.page=1,this.filter="all"},this.resetState(),this.setupListeners()}setupListeners(){H(this.filterTabs,i=>{this.resetAll(),this.filter=i.target.dataset.filter,this.setActiveFilterTab(this.filter),this.loadGallery()}),this.searchForm.addEventListener("submit",i=>{this.resetListView(),this.loadGallery(),this.cancelSearch.toggleAttribute("hidden",!this.searchInput.value),i.preventDefault()}),H(this.cancelSearch,()=>{this.resetListView(),this.resetSearchView(),this.loadGallery()}),W(this.container,".load-more button","click",this.runLoadMore.bind(this)),this.listContainer.addEventListener("event-emit-select-image",this.onImageSelectEvent.bind(this)),this.listContainer.addEventListener("error",i=>{i.target.src=window.baseUrl("loading_error.png")},!0),H(this.selectButton,()=>{this.callback&&this.callback(this.lastSelected),this.hide()}),W(this.formContainer,"#image-manager-delete","click",()=>{this.lastSelected&&this.loadImageEditForm(this.lastSelected.id,!0)}),W(this.formContainer,"#image-manager-rebuild-thumbs","click",async(i,o)=>{o.disabled=!0,this.lastSelected&&await this.rebuildThumbnails(this.lastSelected.id),o.disabled=!1}),this.formContainer.addEventListener("ajax-form-success",()=>{this.refreshGallery(),this.resetEditForm()}),this.container.addEventListener("dropzone-upload-success",this.refreshGallery.bind(this));let e=this.listContainer.parentElement,t=[];e.addEventListener("wheel",i=>{if(!(Math.ceil(e.scrollHeight-e.scrollTop)===e.clientHeight)||i.deltaY<1)return;let r=Date.now()-1e3;t.push(Date.now()),t=t.filter(a=>a>=r),t.length>5&&this.canLoadMore()&&this.runLoadMore()})}show(e,t="gallery"){this.resetAll(),this.callback=e,this.type=t,this.getPopup().show();let i=t!=="gallery";this.dropzoneContainer.classList.toggle("hidden",i),this.uploadButton.classList.toggle("hidden",i),this.uploadHint.classList.toggle("hidden",i),window.$components.firstOnElement(this.container,"dropzone").toggleActive(!i),this.hasData||(this.loadGallery(),this.hasData=!0)}hide(){this.getPopup().hide()}getPopup(){return window.$components.firstOnElement(this.popupEl,"popup")}async loadGallery(){let e={page:this.page,search:this.searchInput.value||null,uploaded_to:this.uploadedTo,filter_type:this.filter==="all"?null:this.filter},{data:t}=await window.$http.get(`images/${this.type}`,e);e.page===1&&(this.listContainer.innerHTML=""),this.addReturnedHtmlElementsToList(t),ne(this.listContainer)}addReturnedHtmlElementsToList(e){let t=document.createElement("div");t.innerHTML=e;let i=t.querySelector(".load-more");i&&(i.remove(),this.loadMore.innerHTML=i.innerHTML),this.loadMore.toggleAttribute("hidden",!i),window.$components.init(t);for(let o of[...t.children])this.listContainer.appendChild(o)}setActiveFilterTab(e){for(let t of this.filterTabs){let i=t.dataset.filter===e;t.setAttribute("aria-selected",i?"true":"false")}}resetAll(){this.resetState(),this.resetListView(),this.resetSearchView(),this.resetEditForm(),this.setActiveFilterTab("all"),this.selectButton.classList.add("hidden")}resetSearchView(){this.searchInput.value="",this.cancelSearch.toggleAttribute("hidden",!0)}resetEditForm(){this.formContainer.innerHTML="",this.formContainerPlaceholder.removeAttribute("hidden")}resetListView(){It(this.listContainer),this.page=1}refreshGallery(){this.resetListView(),this.loadGallery()}async onImageSelectEvent(e){let t=JSON.parse(e.detail.data),i=t&&t.id===this.lastSelected.id&&Date.now()-this.lastSelectedTime<400,o=e.target.classList.contains("selected");[...this.listContainer.querySelectorAll(".selected")].forEach(s=>{s.classList.remove("selected")}),!o&&!i?(e.target.classList.add("selected"),t=await this.loadImageEditForm(t.id)):i?i&&(t=this.lastSelected):this.resetEditForm(),this.selectButton.classList.toggle("hidden",o),i&&this.callback&&(this.callback(t),this.hide()),this.lastSelected=t,this.lastSelectedTime=Date.now()}async loadImageEditForm(e,t=!1){t||(this.formContainer.innerHTML="");let i=t?{delete:!0}:{},{data:o}=await window.$http.get(`/images/edit/${e}`,i);this.formContainer.innerHTML=o,this.formContainerPlaceholder.setAttribute("hidden",""),window.$components.init(this.formContainer);let s=this.formContainer.querySelector("#image-manager-form-image-data");return JSON.parse(s.text)}runLoadMore(){It(this.loadMore),this.page+=1,this.loadGallery()}canLoadMore(){return this.loadMore.querySelector("button")&&!this.loadMore.hasAttribute("hidden")}async rebuildThumbnails(e){try{let t=await window.$http.put(`/images/${e}/rebuild-thumbnails`);window.$events.success(t.data),this.refreshGallery()}catch(t){window.$events.showResponseError(t)}}};var Cn=class extends h{setup(){this.imageElem=this.$refs.image,this.imageInput=this.$refs.imageInput,this.resetInput=this.$refs.resetInput,this.removeInput=this.$refs.removeInput,this.resetButton=this.$refs.resetButton,this.removeButton=this.$refs.removeButton||null,this.defaultImage=this.$opts.defaultImage,this.setupListeners()}setupListeners(){this.resetButton.addEventListener("click",this.reset.bind(this)),this.removeButton&&this.removeButton.addEventListener("click",this.removeImage.bind(this)),this.imageInput.addEventListener("change",this.fileInputChange.bind(this))}fileInputChange(){this.resetInput.setAttribute("disabled","disabled"),this.removeInput&&this.removeInput.setAttribute("disabled","disabled");for(let e of this.imageInput.files)this.imageElem.src=window.URL.createObjectURL(e);this.imageElem.classList.remove("none")}reset(){this.imageInput.value="",this.imageElem.src=this.defaultImage,this.resetInput.removeAttribute("disabled"),this.removeInput&&this.removeInput.setAttribute("disabled","disabled"),this.imageElem.classList.remove("none")}removeImage(){this.imageInput.value="",this.imageElem.classList.add("none"),this.removeInput.removeAttribute("disabled"),this.resetInput.setAttribute("disabled","disabled")}};var xn=class extends h{setup(){this.elem=this.$el,this.menu=this.$refs.menu,this.sortInput=this.$refs.sort,this.orderInput=this.$refs.order,this.form=this.$refs.form,this.setupListeners()}setupListeners(){this.menu.addEventListener("click",e=>{e.target.closest("[data-sort-value]")!==null&&this.sortOptionClick(e)}),this.elem.addEventListener("click",e=>{e.target.closest("[data-sort-dir]")!==null&&this.sortDirectionClick(e)})}sortOptionClick(e){let t=e.target.closest("[data-sort-value]");this.sortInput.value=t.getAttribute("data-sort-value"),e.preventDefault(),this.form.submit()}sortDirectionClick(e){let t=this.orderInput.value;this.orderInput.value=t==="asc"?"desc":"asc",e.preventDefault(),this.form.submit()}};function Z(n,e={},t=[]){let i=document.createElement(n),o=Object.keys(e);for(let s of o)e[s]!==null&&i.setAttribute(s,e[s]);for(let s of t)typeof s=="string"?i.append(document.createTextNode(s)):i.append(s);return i}var Tn=class extends h{constructor(){super(...arguments);d(this,"button");d(this,"loadingEl",null)}setup(){this.button=this.$el;let t=this.button.form,i=()=>{setTimeout(()=>this.showLoadingState(),10)};this.button.addEventListener("click",i),t&&t.addEventListener("submit",i)}showLoadingState(){this.button.disabled=!0,this.loadingEl||(this.loadingEl=Z("div",{class:"inline block"}),It(this.loadingEl),this.button.after(this.loadingEl))}};var Ln=class extends h{setup(){this.elem=this.$el,this.pageId=this.$opts.pageId,this.textDirection=this.$opts.textDirection,this.imageUploadErrorText=this.$opts.imageUploadErrorText,this.serverUploadLimitText=this.$opts.serverUploadLimitText,this.display=this.$refs.display,this.input=this.$refs.input,this.divider=this.$refs.divider,this.displayWrap=this.$refs.displayWrap;let{settingContainer:e}=this.$refs,t=e.querySelectorAll('input[type="checkbox"]');this.editor=null,window.importVersioned("markdown").then(i=>i.init({pageId:this.pageId,container:this.elem,displayEl:this.display,inputEl:this.input,drawioUrl:this.getDrawioUrl(),settingInputs:Array.from(t),text:{serverUploadLimit:this.serverUploadLimitText,imageUploadError:this.imageUploadErrorText}})).then(i=>{this.editor=i,this.setupListeners(),this.emitEditorEvents(),this.scrollToTextIfNeeded(),this.editor.actions.updateAndRender()})}emitEditorEvents(){window.$events.emitPublic(this.elem,"editor-markdown::setup",{markdownIt:this.editor.markdown.getRenderer(),displayEl:this.display,cmEditorView:this.editor.cm})}setupListeners(){this.elem.addEventListener("click",e=>{let t=e.target.closest("button[data-action]");if(t===null)return;let i=t.getAttribute("data-action");if(i==="insertImage"&&this.editor.actions.showImageInsert(),i==="insertLink"&&this.editor.actions.showLinkSelector(),i==="insertDrawing"&&(e.ctrlKey||e.metaKey)){this.editor.actions.showImageManager();return}i==="insertDrawing"&&this.editor.actions.startDrawing(),i==="fullscreen"&&this.editor.actions.fullScreen()}),this.elem.addEventListener("click",e=>{let t=e.target.closest(".editor-toolbar-label");if(!t)return;let i=this.elem.querySelectorAll(".markdown-editor-wrap");for(let o of i)o.classList.remove("active");t.closest(".markdown-editor-wrap").classList.add("active")}),this.handleDividerDrag()}handleDividerDrag(){this.divider.addEventListener("pointerdown",()=>{let t=this.elem.getBoundingClientRect(),i=s=>{let r=s.pageX-t.left,a=Math.min(Math.max(20,Math.floor(r/t.width*100)),80);this.displayWrap.style.flexBasis=`${100-a}%`,this.editor.settings.set("editorWidth",a)},o=()=>{window.removeEventListener("pointermove",i),window.removeEventListener("pointerup",o),this.display.style.pointerEvents=null,document.body.style.userSelect=null};this.display.style.pointerEvents="none",document.body.style.userSelect="none",window.addEventListener("pointermove",i),window.addEventListener("pointerup",o)});let e=this.editor.settings.get("editorWidth");e&&(this.displayWrap.style.flexBasis=`${100-e}%`)}scrollToTextIfNeeded(){let t=new URL(window.location).searchParams.get("content-text");t&&this.editor.actions.scrollToText(t)}getDrawioUrl(){let e=document.querySelector("[drawio-url]");return e&&e.getAttribute("drawio-url")||""}async getContent(){return this.editor.actions.getContent()}};var Sn=class extends h{setup(){this.container=this.$el,this.inputContainer=this.$refs.inputContainer,this.inviteOption=this.container.querySelector("input[name=send_invite]"),this.inviteOption&&(this.inviteOption.addEventListener("change",this.inviteOptionChange.bind(this)),this.inviteOptionChange())}inviteOptionChange(){let e=this.inviteOption.value==="true",t=this.container.querySelectorAll("input[type=password]");for(let i of t)i.disabled=e;this.inputContainer.style.display=e?"none":"block"}};var kn=class extends h{setup(){this.container=this.$el,this.type=this.$opts.type,this.textElem=this.container.querySelector("span"),this.autoHide=this.$opts.autoHide==="true",this.initialShow=this.$opts.show==="true",this.container.style.display="grid",window.$events.listen(this.type,e=>{this.show(e)}),this.container.addEventListener("click",this.hide.bind(this)),this.initialShow&&setTimeout(()=>this.show(this.textElem.textContent),100),this.hideCleanup=this.hideCleanup.bind(this)}show(e=""){if(this.container.removeEventListener("transitionend",this.hideCleanup),this.textElem.textContent=e,this.container.style.display="grid",setTimeout(()=>{this.container.classList.add("showing")},1),this.autoHide){let t=e.split(" ").length,i=Math.max(2e3,1e3+250*t);setTimeout(this.hide.bind(this),i)}}hide(){this.container.classList.remove("showing"),this.container.addEventListener("transitionend",this.hideCleanup)}hideCleanup(){this.container.style.display="none",this.container.removeEventListener("transitionend",this.hideCleanup)}};var $n=class extends h{setup(){this.removeButton=this.$refs.remove,this.showButton=this.$refs.show,this.input=this.$refs.input,this.setupListeners()}setupListeners(){H(this.removeButton,()=>{this.input.value="",this.input.classList.add("hidden"),this.removeButton.classList.add("hidden"),this.showButton.classList.remove("hidden")}),H(this.showButton,()=>{this.input.classList.remove("hidden"),this.removeButton.classList.remove("hidden"),this.showButton.classList.add("hidden")})}};var Mn=class extends h{constructor(){super(...arguments);d(this,"commentId");d(this,"commentLocalId");d(this,"deletedText");d(this,"updatedText");d(this,"archiveText");d(this,"wysiwygEditor",null);d(this,"wysiwygTextDirection");d(this,"container");d(this,"contentContainer");d(this,"form");d(this,"formCancel");d(this,"editButton");d(this,"deleteButton");d(this,"replyButton");d(this,"archiveButton");d(this,"input")}setup(){this.commentId=this.$opts.commentId,this.commentLocalId=this.$opts.commentLocalId,this.deletedText=this.$opts.deletedText,this.updatedText=this.$opts.updatedText,this.archiveText=this.$opts.archiveText,this.wysiwygTextDirection=this.$opts.wysiwygTextDirection,this.container=this.$el,this.contentContainer=this.$refs.contentContainer,this.form=this.$refs.form,this.formCancel=this.$refs.formCancel,this.editButton=this.$refs.editButton,this.deleteButton=this.$refs.deleteButton,this.replyButton=this.$refs.replyButton,this.archiveButton=this.$refs.archiveButton,this.input=this.$refs.input,this.setupListeners()}setupListeners(){if(this.replyButton){let t={id:this.commentLocalId,element:this.container};this.replyButton.addEventListener("click",()=>this.$emit("reply",t))}this.editButton&&(this.editButton.addEventListener("click",this.startEdit.bind(this)),this.form.addEventListener("submit",this.update.bind(this)),this.formCancel.addEventListener("click",()=>this.toggleEditMode(!1))),this.deleteButton&&this.deleteButton.addEventListener("click",this.delete.bind(this)),this.archiveButton&&this.archiveButton.addEventListener("click",this.archive.bind(this))}toggleEditMode(t){this.contentContainer.toggleAttribute("hidden",t),this.form.toggleAttribute("hidden",!t)}async startEdit(){if(this.toggleEditMode(!0),this.wysiwygEditor){this.wysiwygEditor.focus();return}let t=await window.importVersioned("wysiwyg"),i=this.input.value,o=Z("div",{class:"comment-editor-container"});this.input.parentElement?.appendChild(o),this.input.hidden=!0,this.wysiwygEditor=t.createCommentEditorInstance(o,i,{darkMode:document.documentElement.classList.contains("dark-mode"),textDirection:this.$opts.textDirection,translations:window.editor_translations}),this.wysiwygEditor.focus()}async update(t){t.preventDefault();let i=this.showLoading();this.form.toggleAttribute("hidden",!0);let o={html:await this.wysiwygEditor?.getContentAsHtml()||""};try{let s=await window.$http.put(`/comment/${this.commentId}`,o),r=lt(s.data);this.container.replaceWith(r),window.$events.success(this.updatedText)}catch(s){console.error(s),s instanceof Dt&&window.$events.showValidationErrors(s),this.form.toggleAttribute("hidden",!1),i.remove()}}async delete(){this.showLoading(),await window.$http.delete(`/comment/${this.commentId}`),this.$emit("delete");let t=this.container.closest(".comment-branch");if(t instanceof HTMLElement){let i=window.$components.allWithinElement(t,"page-comment-reference");for(let o of i)o.hideMarker();t.remove()}window.$events.success(this.deletedText)}async archive(){this.showLoading();let i=this.archiveButton.dataset.isArchived==="true"?"unarchive":"archive",o=await window.$http.put(`/comment/${this.commentId}/${i}`);window.$events.success(this.archiveText);let s={new_thread_dom:lt(o.data)};this.$emit(i,s);let r=this.container.closest(".comment-branch"),a=window.$components.allWithinElement(r,"page-comment-reference");for(let l of a)l.hideMarker();r.remove()}showLoading(){let t=Wt();return t.classList.add("px-l"),this.container.append(t),t}};var ts='';var es='';var Zt=null,Dn=class extends h{constructor(){super(...arguments);d(this,"link");d(this,"reference");d(this,"markerWrap",null);d(this,"viewCommentText");d(this,"jumpToThreadText");d(this,"closeText")}setup(){this.link=this.$el,this.reference=this.$opts.reference,this.viewCommentText=this.$opts.viewCommentText,this.jumpToThreadText=this.$opts.jumpToThreadText,this.closeText=this.$opts.closeText,this.showForDisplay(),window.addEventListener("editor-toolbox-change",(t=>{let i=t.detail.tab,o=t.detail.open;i==="comments"&&o&&this.link.checkVisibility()?this.showForEditor():this.hideMarker()})),window.addEventListener("toggle",t=>{t.target instanceof HTMLElement&&t.target.contains(this.link)&&window.requestAnimationFrame(()=>{this.link.checkVisibility()?this.showForEditor():this.hideMarker()})},{capture:!0}),window.addEventListener("tabs-change",(t=>{let i=t.detail.showing;if(!i.startsWith("comment-tab-panel"))return;document.getElementById(i)?.contains(this.link)?this.showForDisplay():this.hideMarker()}))}showForDisplay(){let t=document.querySelector(".page-content");t instanceof HTMLElement&&this.link.checkVisibility()&&this.updateMarker(t)}showForEditor(){let t=document.querySelector(".editor-content-wrap");t instanceof HTMLElement&&this.updateMarker(t);let i=()=>{this.hideMarker(),setTimeout(()=>{window.$events.remove("editor-html-change",i)},1)};window.$events.listen("editor-html-change",i)}updateMarker(t){this.link.classList.remove("outdated","missing"),this.markerWrap&&this.markerWrap.remove();let[i,o,s]=this.reference.split(":"),r=document.getElementById(i);if(!r){this.link.classList.add("outdated","missing");return}Se(r)!==o&&this.link.classList.add("outdated");let l=Z("button",{type:"button",class:"content-comment-marker",title:this.viewCommentText});l.innerHTML=ts,l.addEventListener("click",p=>{this.showCommentAtMarker(l)}),this.markerWrap=Z("div",{class:"content-comment-highlight"},[l]),t.append(this.markerWrap),this.positionMarker(r,s),this.link.href=`#${r.id}`,this.link.addEventListener("click",p=>{p.preventDefault(),At(r)});let c=mt(()=>{this.positionMarker(r,s)},50,!1).bind(this);window.addEventListener("resize",c)}positionMarker(t,i){if(!this.markerWrap)return;let o=this.markerWrap.parentElement,s=o.getBoundingClientRect(),r=t.getBoundingClientRect(),[a,l]=i.split("-");if(a&&l){let m=new Range,b=Le(t,Number(a)),y=Le(t,Number(l));b&&y&&(m.setStart(b.node,b.offset),m.setEnd(y.node,y.offset),r=m.getBoundingClientRect())}let c=r.left-s.left,p=r.top-s.top+o.scrollTop;this.markerWrap.style.left=`${c}px`,this.markerWrap.style.top=`${p}px`,this.markerWrap.style.width=`${r.width}px`,this.markerWrap.style.height=`${r.height}px`}hideMarker(){Zt&&Zt(),this.markerWrap?.remove(),this.markerWrap=null}showCommentAtMarker(t){Zt&&Zt(),t.hidden=!0;let i=this.link.closest(".comment-box"),o=i.closest(".comment-branch").cloneNode(!0),s=o.querySelectorAll(".actions, form");for(let y of s)y.remove();let r=Z("button",{type:"button",title:this.closeText});r.innerHTML=es;let a=Z("button",{type:"button","data-action":"jump"},[this.jumpToThreadText]),l=Z("div",{class:"content-comment-window"},[Z("div",{class:"content-comment-window-actions"},[a,r]),Z("div",{class:"content-comment-window-content comment-container-compact comment-container-super-compact"},[o])]);t.parentElement?.append(l);let c=()=>{l.remove(),t.hidden=!1,window.removeEventListener("click",p),Zt=null},p=y=>{t.parentElement.contains(y.target)||c()};window.addEventListener("click",p),Zt=c,r.addEventListener("click",c.bind(this)),a.addEventListener("click",()=>{c(),i.scrollIntoView({behavior:"smooth"});let y=i.querySelector(".header");y.classList.add("anim-highlight"),y.addEventListener("animationend",()=>y.classList.remove("anim-highlight"))});let m=l.getBoundingClientRect(),b=document.querySelector(".page-content")?.getBoundingClientRect();if(b&&m.right>b.right){let y=m.right-b.right;l.style.left=`-${y}px`}}};var Qt=class extends h{constructor(){super(...arguments);d(this,"container");d(this,"tabList");d(this,"tabs");d(this,"panels");d(this,"activeUnder");d(this,"active",null)}setup(){this.container=this.$el,this.tabList=this.container.querySelector('[role="tablist"]'),this.tabs=Array.from(this.tabList.querySelectorAll('[role="tab"]')),this.panels=Array.from(this.container.querySelectorAll(':scope > [role="tabpanel"], :scope > * > [role="tabpanel"]')),this.activeUnder=this.$opts.activeUnder?Number(this.$opts.activeUnder):1e4,this.container.addEventListener("click",t=>{let i=t.target.closest('[role="tab"]');i instanceof HTMLElement&&this.tabs.includes(i)&&this.show(i.getAttribute("aria-controls")||"")}),window.addEventListener("resize",this.updateActiveState.bind(this),{passive:!0}),this.updateActiveState()}show(t){for(let o of this.panels)o.toggleAttribute("hidden",o.id!==t);for(let o of this.tabs){let r=o.getAttribute("aria-controls")===t;o.setAttribute("aria-selected",r?"true":"false")}let i={showing:t};this.$emit("change",i)}updateActiveState(){let t=window.innerWidth!i.hasAttribute("hidden"))||this.panels[0];this.show(t.id),this.tabList.toggleAttribute("hidden",!1)}deactivate(){for(let t of this.panels)t.removeAttribute("hidden");for(let t of this.tabs)t.setAttribute("aria-selected","false");this.tabList.toggleAttribute("hidden",!0)}};var An=class extends h{constructor(){super(...arguments);d(this,"elem");d(this,"pageId");d(this,"container");d(this,"commentCountBar");d(this,"activeTab");d(this,"archivedTab");d(this,"addButtonContainer");d(this,"archiveContainer");d(this,"activeContainer");d(this,"replyToRow");d(this,"referenceRow");d(this,"formContainer");d(this,"form");d(this,"formInput");d(this,"formReplyLink");d(this,"formReferenceLink");d(this,"addCommentButton");d(this,"hideFormButton");d(this,"removeReplyToButton");d(this,"removeReferenceButton");d(this,"wysiwygTextDirection");d(this,"wysiwygEditor",null);d(this,"createdText");d(this,"countText");d(this,"archivedCountText");d(this,"parentId",null);d(this,"contentReference","");d(this,"formReplyText","")}setup(){this.elem=this.$el,this.pageId=Number(this.$opts.pageId),this.container=this.$refs.commentContainer,this.commentCountBar=this.$refs.commentCountBar,this.activeTab=this.$refs.activeTab,this.archivedTab=this.$refs.archivedTab,this.addButtonContainer=this.$refs.addButtonContainer,this.archiveContainer=this.$refs.archiveContainer,this.activeContainer=this.$refs.activeContainer,this.replyToRow=this.$refs.replyToRow,this.referenceRow=this.$refs.referenceRow,this.formContainer=this.$refs.formContainer,this.form=this.$refs.form,this.formInput=this.$refs.formInput,this.formReplyLink=this.$refs.formReplyLink,this.formReferenceLink=this.$refs.formReferenceLink,this.addCommentButton=this.$refs.addCommentButton,this.hideFormButton=this.$refs.hideFormButton,this.removeReplyToButton=this.$refs.removeReplyToButton,this.removeReferenceButton=this.$refs.removeReferenceButton,this.wysiwygTextDirection=this.$opts.wysiwygTextDirection,this.createdText=this.$opts.createdText,this.countText=this.$opts.countText,this.archivedCountText=this.$opts.archivedCountText,this.formReplyText=this.formReplyLink?.textContent||"",this.setupListeners()}setupListeners(){this.elem.addEventListener("page-comment-delete",()=>{setTimeout(()=>{this.updateCount(),this.hideForm()},1)}),this.elem.addEventListener("page-comment-reply",(t=>{this.setReply(t.detail.id,t.detail.element)})),this.elem.addEventListener("page-comment-archive",(t=>{this.archiveContainer.append(t.detail.new_thread_dom),setTimeout(()=>this.updateCount(),1)})),this.elem.addEventListener("page-comment-unarchive",(t=>{this.container.append(t.detail.new_thread_dom),setTimeout(()=>this.updateCount(),1)})),this.form&&(this.removeReplyToButton.addEventListener("click",this.removeReplyTo.bind(this)),this.removeReferenceButton.addEventListener("click",()=>this.setContentReference("")),this.hideFormButton.addEventListener("click",this.hideForm.bind(this)),this.addCommentButton.addEventListener("click",this.showForm.bind(this)),this.form.addEventListener("submit",this.saveComment.bind(this)))}async saveComment(t){t.preventDefault(),t.stopPropagation();let i=Wt();i.classList.add("px-l"),this.form.after(i),this.form.toggleAttribute("hidden",!0);let o={html:await this.wysiwygEditor?.getContentAsHtml()||"",parent_id:this.parentId||null,content_ref:this.contentReference};window.$http.post(`/comment/${this.pageId}`,o).then(s=>{let r=lt(s.data);o.parent_id?this.formContainer.after(r):this.container.append(r);let a=window.$components.allWithinElement(r,"page-comment-reference");for(let l of a)l.showForDisplay();window.$events.success(this.createdText),this.hideForm(),this.updateCount()}).catch(s=>{this.form.toggleAttribute("hidden",!1),window.$events.showValidationErrors(s)}),this.form.toggleAttribute("hidden",!1),i.remove()}updateCount(){let t=this.getActiveThreadCount();this.activeTab.textContent=window.$trans.choice(this.countText,t);let i=this.getArchivedThreadCount();this.archivedTab.textContent=window.$trans.choice(this.archivedCountText,i)}resetForm(){this.removeEditor(),this.formInput.value="",this.parentId=null,this.replyToRow.toggleAttribute("hidden",!0),this.container.append(this.formContainer),this.setContentReference("")}showForm(){this.removeEditor(),this.formContainer.toggleAttribute("hidden",!1),this.addButtonContainer.toggleAttribute("hidden",!0),this.formContainer.scrollIntoView({behavior:"smooth",block:"nearest"}),this.loadEditor();let t=window.$components.firstOnElement(this.elem,"tabs");t instanceof Qt&&this.formContainer.closest("#comment-tab-panel-active")&&t.show("comment-tab-panel-active")}hideForm(){this.resetForm(),this.formContainer.toggleAttribute("hidden",!0),this.getActiveThreadCount()>0?this.activeContainer.append(this.addButtonContainer):this.commentCountBar.append(this.addButtonContainer),this.addButtonContainer.toggleAttribute("hidden",!1)}async loadEditor(){if(this.wysiwygEditor){this.wysiwygEditor.focus();return}let t=await window.importVersioned("wysiwyg"),i=Z("div",{class:"comment-editor-container"});this.formInput.parentElement?.appendChild(i),this.formInput.hidden=!0,this.wysiwygEditor=t.createCommentEditorInstance(i,"

    ",{darkMode:document.documentElement.classList.contains("dark-mode"),textDirection:this.wysiwygTextDirection,translations:window.editor_translations}),this.wysiwygEditor.focus()}removeEditor(){this.wysiwygEditor&&(this.wysiwygEditor.remove(),this.wysiwygEditor=null)}getActiveThreadCount(){return this.container.querySelectorAll(":scope > .comment-branch:not([hidden])").length}getArchivedThreadCount(){return this.archiveContainer.querySelectorAll(":scope > .comment-branch").length}setReply(t,i){i.closest(".comment-branch").querySelector(".comment-branch-children").append(this.formContainer),this.showForm(),this.parentId=Number(t),this.replyToRow.toggleAttribute("hidden",!1),this.formReplyLink.textContent=this.formReplyText.replace("1234",String(this.parentId)),this.formReplyLink.href=`#comment${this.parentId}`}removeReplyTo(){this.parentId=null,this.replyToRow.toggleAttribute("hidden",!0),this.container.append(this.formContainer),this.showForm()}startNewComment(t){this.resetForm(),this.showForm(),this.setContentReference(t)}setContentReference(t){this.contentReference=t,this.referenceRow.toggleAttribute("hidden",!t);let[i]=t.split(":");this.formReferenceLink.href=`#${i}`,this.formReferenceLink.onclick=function(o){o.preventDefault();let s=document.getElementById(i);s&&At(s)}}};function Dr(n,e){mi(`#page-navigation a[href="#${n}"]`,t=>{t.closest("li").classList.toggle("current-heading",e)})}function Ar(n){for(let e of n){let t=e.intersectionRatio===1;Dr(e.target.id,t)}}function Ir(n){let e={rootMargin:"0px 0px 0px 0px",threshold:1},t=new IntersectionObserver(Ar,e);for(let i of n)t.observe(i)}var In=class extends h{setup(){if(this.container=this.$el,this.pageId=this.$opts.pageId,window.importVersioned("code").then(t=>t.highlight()),this.setupNavHighlighting(),window.location.hash){let t=window.location.hash.replace(/%20/g," ").substring(1);this.goToText(t)}let e=document.querySelector(".sidebar-page-nav");e&&W(e,"a","click",(t,i)=>{t.preventDefault(),window.$components.first("tri-layout").showContent();let o=i.getAttribute("href").substr(1);this.goToText(o),window.history.pushState(null,null,`#${o}`)})}goToText(e){let t=document.getElementById(e);if(mi(".page-content [data-highlighted]",i=>{i.removeAttribute("data-highlighted"),i.style.backgroundColor=null}),t!==null)At(t);else{let i=Co(".page-content > div > *",e);i&&At(i)}}setupNavHighlighting(){let e=document.querySelector(".sidebar-page-nav"),t=document.querySelector(".page-content").querySelectorAll("h1, h2, h3, h4, h5, h6");t.length>0&&e!==null&&Ir(t)}};function ns(n){let e=new Date(n*1e3),t=e.getHours(),i=e.getMinutes();return`${(t>9?"":"0")+t}:${(i>9?"":"0")+i}`}var Hn=class extends h{setup(){this.draftsEnabled=this.$opts.draftsEnabled==="true",this.editorType=this.$opts.editorType,this.pageId=Number(this.$opts.pageId),this.isNewDraft=this.$opts.pageNewDraft==="true",this.hasDefaultTitle=this.$opts.hasDefaultTitle||!1,this.container=this.$el,this.titleElem=this.$refs.titleContainer.querySelector("input"),this.saveDraftButton=this.$refs.saveDraft,this.discardDraftButton=this.$refs.discardDraft,this.discardDraftWrap=this.$refs.discardDraftWrap,this.deleteDraftButton=this.$refs.deleteDraft,this.deleteDraftWrap=this.$refs.deleteDraftWrap,this.draftDisplay=this.$refs.draftDisplay,this.draftDisplayIcon=this.$refs.draftDisplayIcon,this.changelogInput=this.$refs.changelogInput,this.changelogDisplay=this.$refs.changelogDisplay,this.changelogCounter=this.$refs.changelogCounter,this.changeEditorButtons=this.$manyRefs.changeEditor||[],this.switchDialogContainer=this.$refs.switchDialog,this.deleteDraftDialogContainer=this.$refs.deleteDraftDialog,this.draftText=this.$opts.draftText,this.autosaveFailText=this.$opts.autosaveFailText,this.editingPageText=this.$opts.editingPageText,this.draftDiscardedText=this.$opts.draftDiscardedText,this.draftDeleteText=this.$opts.draftDeleteText,this.draftDeleteFailText=this.$opts.draftDeleteFailText,this.setChangelogText=this.$opts.setChangelogText,this.autoSave={interval:null,frequency:3e4,last:0,pendingChange:!1},this.shownWarningsCache=new Set,this.pageId!==0&&this.draftsEnabled&&window.setTimeout(()=>{this.startAutoSave()},1e3),this.draftDisplay.innerHTML=this.draftText,this.setupListeners(),this.setInitialFocus()}setupListeners(){window.$events.listen("editor-save-draft",this.saveDraft.bind(this)),window.$events.listen("editor-save-page",this.savePage.bind(this));let e=()=>{this.autoSave.pendingChange=!0};window.$events.listen("editor-html-change",e),window.$events.listen("editor-markdown-change",e),this.titleElem.addEventListener("input",e);let t=mt(this.updateChangelogDisplay.bind(this),300,!1);this.changelogInput.addEventListener("input",()=>{let i=this.changelogInput.value.length;this.changelogCounter.innerText=`${i} / 180`,t()}),H(this.saveDraftButton,this.saveDraft.bind(this)),H(this.discardDraftButton,this.discardDraft.bind(this)),H(this.deleteDraftButton,this.deleteDraft.bind(this)),H(this.changeEditorButtons,this.changeEditor.bind(this))}setInitialFocus(){if(this.hasDefaultTitle){this.titleElem.select();return}window.setTimeout(()=>{window.$events.emit("editor::focus","")},500)}startAutoSave(){this.autoSave.interval=window.setInterval(this.runAutoSave.bind(this),this.autoSave.frequency)}runAutoSave(){Date.now()-this.autoSave.last{this.draftDisplayIcon.classList.remove("visible")},2e3)}async discardDraft(e=!0){let t;try{t=await window.$http.get(`/ajax/page/${this.pageId}`)}catch(i){console.error(i);return}this.autoSave.interval&&window.clearInterval(this.autoSave.interval),this.draftDisplay.innerText=this.editingPageText,this.discardDraftWrap.toggleAttribute("hidden",!0),window.$events.emit("editor::replace",{html:t.data.html,markdown:t.data.markdown}),this.titleElem.value=t.data.name,window.setTimeout(()=>{this.startAutoSave()},1e3),e&&window.$events.success(this.draftDiscardedText)}async deleteDraft(){if(await window.$components.firstOnElement(this.deleteDraftDialogContainer,"confirm-dialog").show())try{let i=this.discardDraft(!1),o=window.$http.delete(`/page-revisions/user-drafts/${this.pageId}`);await Promise.all([i,o]),window.$events.success(this.draftDeleteText),this.deleteDraftWrap.toggleAttribute("hidden",!0)}catch(i){console.error(i),window.$events.error(this.draftDeleteFailText)}}updateChangelogDisplay(){let e=this.changelogInput.value.trim();e.length===0?e=this.setChangelogText:e.length>16&&(e=`${e.slice(0,16)}...`),this.changelogDisplay.innerText=e}async changeEditor(e){e.preventDefault();let t=e.target.closest("a").href,i=window.$components.firstOnElement(this.switchDialogContainer,"confirm-dialog"),[o,s]=await Promise.all([this.saveDraft(),i.show()]);o&&s&&(window.location=t)}getEditorComponent(){return window.$components.first("markdown-editor")||window.$components.first("wysiwyg-editor")||window.$components.first("wysiwyg-editor-tinymce")}};function Bn(n,e){n.toggleAttribute("hidden",!e)}var Pn=class extends h{setup(){this.input=this.$refs.input,this.resetButton=this.$refs.resetButton,this.selectButton=this.$refs.selectButton,this.display=this.$refs.display,this.defaultDisplay=this.$refs.defaultDisplay,this.buttonSep=this.$refs.buttonSeperator,this.selectorEndpoint=this.$opts.selectorEndpoint,this.value=this.input.value,this.setupListeners()}setupListeners(){this.selectButton.addEventListener("click",this.showPopup.bind(this)),this.display.parentElement.addEventListener("click",this.showPopup.bind(this)),this.display.addEventListener("click",e=>e.stopPropagation()),this.resetButton.addEventListener("click",()=>{this.setValue("","")})}showPopup(){window.$components.first("entity-selector-popup").show(t=>{this.setValue(t.id,t.name)},{initialValue:"",searchEndpoint:this.selectorEndpoint,entityTypes:"page",entityPermission:"view"})}setValue(e,t){this.value=e,this.input.value=e,this.controlView(t)}controlView(e){let t=this.value&&this.value!==0;if(Bn(this.resetButton,t),Bn(this.buttonSep,t),Bn(this.defaultDisplay,!t),Bn(this.display,t),t){let i=this.getAssetIdFromVal();this.display.textContent=`#${i}, ${e}`,this.display.href=window.baseUrl(`/link/${i}`)}}getAssetIdFromVal(){return Number(this.value)}};var Rn=class extends h{setup(){this.container=this.$el,this.cellSelector=this.$opts.cellSelector||"td,th",this.rowSelector=this.$opts.rowSelector||"tr";for(let e of this.$manyRefs.toggleAll||[])e.addEventListener("click",this.toggleAllClick.bind(this));for(let e of this.$manyRefs.toggleRow||[])e.addEventListener("click",this.toggleRowClick.bind(this));for(let e of this.$manyRefs.toggleColumn||[])e.addEventListener("click",this.toggleColumnClick.bind(this))}toggleAllClick(e){e.preventDefault(),this.toggleAllInElement(this.container)}toggleRowClick(e){e.preventDefault(),this.toggleAllInElement(e.target.closest(this.rowSelector))}toggleColumnClick(e){e.preventDefault();let t=e.target.closest(this.cellSelector),i=Array.from(t.parentElement.children).indexOf(t),o=this.container.querySelectorAll(this.rowSelector),s=[];for(let r of o){let a=r.children[i];a&&s.push(...a.querySelectorAll("input[type=checkbox]"))}this.toggleAllInputs(s)}toggleAllInElement(e){let t=e.querySelectorAll("input[type=checkbox]");this.toggleAllInputs(t)}toggleAllInputs(e){let t=e.length>0?e[0].checked:!1;for(let i of e)i.checked=!t,i.dispatchEvent(new Event("change"))}};var On=class extends h{constructor(){super(...arguments);d(this,"showing",!1);d(this,"isMakingSelection",!1);d(this,"targetElement",null);d(this,"targetSelectionRange",null);d(this,"pointer");d(this,"linkInput");d(this,"linkButton");d(this,"includeInput");d(this,"includeButton");d(this,"sectionModeButton");d(this,"commentButton");d(this,"modeToggles");d(this,"modeSections");d(this,"pageId")}setup(){this.pointer=this.$refs.pointer,this.linkInput=this.$refs.linkInput,this.linkButton=this.$refs.linkButton,this.includeInput=this.$refs.includeInput,this.includeButton=this.$refs.includeButton,this.sectionModeButton=this.$refs.sectionModeButton,this.commentButton=this.$refs.commentButton,this.modeToggles=this.$manyRefs.modeToggle,this.modeSections=this.$manyRefs.modeSection,this.pageId=this.$opts.pageId,this.setupListeners()}setupListeners(){this.includeButton.addEventListener("click",()=>qi(this.includeInput.value)),this.linkButton.addEventListener("click",()=>qi(this.linkInput.value)),H([this.includeInput,this.linkInput],i=>{i.target.select(),i.stopPropagation()}),Te(this.pointer,["click","focus"],i=>{i.stopPropagation()}),Te(document.body,["click","focus"],()=>{!this.showing||this.isMakingSelection||this.hidePointer()}),Eo(this.pointer,this.hidePointer.bind(this));let t=document.querySelector(".page-content");Te(t,["mouseup","keyup"],i=>{i.stopPropagation();let o=i.target.closest('[id^="bkmrk"]');if(o instanceof HTMLElement&&(window.getSelection()||"").toString().length>0){let s=i instanceof MouseEvent?i.pageX:0;this.showPointerAtTarget(o,s,!1)}}),H(this.sectionModeButton,this.enterSectionSelectMode.bind(this)),H(this.modeToggles,i=>{let o=i.target;for(let r of this.modeSections){let a=!r.contains(o);r.toggleAttribute("hidden",!a)}let s=this.modeToggles.find(r=>r!==o);s&&s.focus()}),this.commentButton&&H(this.commentButton,this.createCommentAtPointer.bind(this))}hidePointer(){this.pointer.style.removeProperty("display"),this.showing=!1,this.targetElement=null,this.targetSelectionRange=null}showPointerAtTarget(t,i,o){this.targetElement=t,this.targetSelectionRange=window.getSelection()?.getRangeAt(0)||null,this.updateDomForTarget(t),this.pointer.style.display="block";let s=t.getBoundingClientRect(),r=this.pointer.getBoundingClientRect(),l=Math.min(Math.max(i,s.left),s.right)-r.width/2,c=s.top-r.height-16;this.pointer.style.left=`${l}px`,this.pointer.style.top=`${c}px`,this.showing=!0,this.isMakingSelection=!0,setTimeout(()=>{this.isMakingSelection=!1},100);let p=()=>{this.hidePointer(),window.removeEventListener("scroll",p)};t.parentElement?.insertBefore(this.pointer,t),o||window.addEventListener("scroll",p,{passive:!0})}updateDomForTarget(t){let i=window.baseUrl(`/link/${this.pageId}#${t.id}`),o=`{{@${this.pageId}#${t.id}}}`;this.linkInput.value=i,this.includeInput.value=o;let s=this.pointer.querySelector("#pointer-edit");if(s instanceof HTMLAnchorElement&&t){let{editHref:r}=s.dataset,a=t.id,l=(t.textContent||"").substring(0,50);s.href=`${r}?content-id=${a}&content-text=${encodeURIComponent(l)}`}}enterSectionSelectMode(){let t=Array.from(document.querySelectorAll('.page-content [id^="bkmrk"]'));for(let i of t)i.setAttribute("tabindex","0");t[0].focus(),qt(t,i=>{this.showPointerAtTarget(i.target,0,!0),this.pointer.focus()})}createCommentAtPointer(){if(!this.targetElement)return;let t=this.targetElement.id,i=Se(this.targetElement),o="";if(this.targetSelectionRange){let a=this.targetSelectionRange.commonAncestorContainer;if(this.targetElement.contains(a)){let l=fi(this.targetSelectionRange.startContainer,this.targetSelectionRange.startOffset,this.targetElement),c=fi(this.targetSelectionRange.endContainer,this.targetSelectionRange.endOffset,this.targetElement);o=`${l}-${c}`}}let s=`${t}:${i}:${o}`;window.$components.first("page-comments").startNewComment(s)}};var Nn=class extends h{setup(){this.container=this.$el,this.hideButtons=this.$manyRefs.hide||[],this.onkeyup=null,this.onHide=null,this.setupListeners()}setupListeners(){let e=null;this.container.addEventListener("mousedown",t=>{e=t.target}),this.container.addEventListener("click",t=>{t.target===this.container&&e===this.container&&this.hide()}),H(this.hideButtons,()=>this.hide())}hide(e=null){Zo(this.container,120,e),this.onkeyup&&(window.removeEventListener("keyup",this.onkeyup),this.onkeyup=null),this.onHide&&this.onHide()}show(e=null,t=null){Jo(this.container,120,e),this.onkeyup=i=>{i.key==="Escape"&&this.hide()},window.addEventListener("keyup",this.onkeyup),this.onHide=t}};var _n=class extends h{setup(){this.container=this.$el,this.mode=this.$opts.mode,this.lightContainer=this.$refs.lightContainer,this.darkContainer=this.$refs.darkContainer,this.container.addEventListener("tabs-change",t=>{let o=t.detail.showing==="color-scheme-panel-light"?"light":"dark";this.handleModeChange(o)});let e=t=>{this.updateAppColorsFromInputs(),t.target.name.startsWith("setting-app-color")&&this.updateLightForInput(t.target)};this.container.addEventListener("change",e),this.container.addEventListener("input",e)}handleModeChange(e){this.mode=e;let t=e==="dark";document.documentElement.classList.toggle("dark-mode",t),this.updateAppColorsFromInputs()}updateAppColorsFromInputs(){let t=(this.mode==="dark"?this.darkContainer:this.lightContainer).querySelectorAll('input[type="color"]');for(let i of t){let o=i.name.split("-"),s=o.indexOf("color"),r=o.slice(1,s).join("-");r==="app"&&(r="primary");let a=`--color-${r}`;document.body.style.setProperty(a,i.value)}}updateLightForInput(e){let t=e.name.replace("-color","-color-light"),i=e.value,o=this.hexToRgb(i),s=`rgba(${[o.r,o.g,o.b,"0.15"].join(",")})`,r=this.container.querySelector(`input[name="${t}"][type="hidden"]`);r.value=s}hexToRgb(e){let t=/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(e);return{r:t?parseInt(t[1],16):0,g:t?parseInt(t[2],16):0,b:t?parseInt(t[3],16):0}}};var Fn=class extends h{setup(){this.colorInput=this.$refs.input,this.resetButton=this.$refs.resetButton,this.defaultButton=this.$refs.defaultButton,this.currentColor=this.$opts.current,this.defaultColor=this.$opts.default,this.resetButton.addEventListener("click",()=>this.setValue(this.currentColor)),this.defaultButton.addEventListener("click",()=>this.setValue(this.defaultColor))}setValue(e){this.colorInput.value=e,this.colorInput.dispatchEvent(new Event("change",{bubbles:!0}))}};var qn=class extends h{setup(){this.typeControl=this.$refs.typeControl,this.pagePickerContainer=this.$refs.pagePickerContainer,this.typeControl.addEventListener("change",this.controlPagePickerVisibility.bind(this)),this.controlPagePickerVisibility()}controlPagePickerVisibility(){let e=this.typeControl.value==="page";this.pagePickerContainer.style.display=e?"block":"none"}};function Wn(n,e){return{move_up(t){let i=t.parentNode,o=Array.from(i.children).indexOf(t),s=Math.max(o-1,0);i.insertBefore(t,i.children[s]||null)},move_down(t){let i=t.parentNode,o=Array.from(i.children).indexOf(t),s=Math.min(o+2,i.children.length);i.insertBefore(t,i.children[s]||null)},remove(t){n.appendChild(t)},add(t){e.appendChild(t)}}}function jn(n,e){return t=>{let i=t.target.closest(".scroll-box-item button[data-action]");if(i){let o=i.closest(".scroll-box-item"),s=i.dataset.action;if(!s)throw new Error("No action defined for clicked button");let r=n[s];r(o),e()}}}var Un=class extends h{setup(){this.elem=this.$el,this.input=this.$refs.input,this.shelfBookList=this.$refs.shelfBookList,this.allBookList=this.$refs.allBookList,this.bookSearchInput=this.$refs.bookSearch,this.sortButtonContainer=this.$refs.sortButtonContainer,this.lastSort=null,this.initSortable(),this.setupListeners()}initSortable(){let e=this.elem.querySelectorAll(".scroll-box");for(let t of e)new wt(t,{group:"shelf-books",ghostClass:"primary-background-light",handle:".handle",animation:150,onSort:this.onChange.bind(this)})}setupListeners(){let e=Wn(this.allBookList,this.shelfBookList),t=jn(e,this.onChange.bind(this));this.elem.addEventListener("click",t),this.bookSearchInput.addEventListener("input",()=>{this.filterBooksByName(this.bookSearchInput.value)}),this.sortButtonContainer.addEventListener("click",i=>{let o=i.target.closest("button[data-sort]");o&&this.sortShelfBooks(o.dataset.sort)})}filterBooksByName(e){this.allBookList.style.height||(this.allBookList.style.height=`${this.allBookList.getBoundingClientRect().height}px`);let t=this.allBookList.children,i=e.trim().toLowerCase();for(let o of t){let s=!e||o.textContent.toLowerCase().includes(i);o.style.display=s?null:"none"}}onChange(){let e=Array.from(this.shelfBookList.querySelectorAll("[data-id]"));this.input.value=e.map(t=>t.getAttribute("data-id")).join(",")}sortShelfBooks(e){let t=Array.from(this.shelfBookList.children),i=e===this.lastSort;t.sort((o,s)=>{let r=o.dataset[e].toLowerCase(),a=s.dataset[e].toLowerCase();return i?a.localeCompare(r):r.localeCompare(a)});for(let o of t)this.shelfBookList.append(o);this.lastSort=this.lastSort===e?null:e,this.onChange()}};function Hr(n){let e={};for(let[t,i]of Object.entries(n))e[i]=t;return e}var Vn=class extends h{setup(){this.container=this.$el,this.mapById=JSON.parse(this.$opts.keyMap),this.mapByShortcut=Hr(this.mapById),this.hintsShowing=!1,this.hideHints=this.hideHints.bind(this),this.hintAbortController=null,this.setupListeners()}setupListeners(){window.addEventListener("keydown",e=>{if(!e.target.closest("input, select, textarea, .cm-editor, .editor-container")){if(e.key==="?"){this.hintsShowing?this.hideHints():this.showHints();return}this.handleShortcutPress(e)}})}handleShortcutPress(e){let i=[e.ctrlKey?"Ctrl":"",e.metaKey?"Cmd":"",e.key].filter(s=>!!s).join(" + "),o=this.mapByShortcut[i];o&&this.runShortcut(o)&&e.preventDefault()}runShortcut(e){let t=this.container.querySelector(`[data-shortcut="${e}"]`);return t?t.matches("input, textarea, select")?(t.focus(),!0):t.matches("a, button")?(t.click(),!0):t.matches("div[tabindex]")?(t.click(),t.focus(),!0):(console.error("Shortcut attempted to be ran for element type that does not have handling setup",t),!1):!1}showHints(){let e=document.createElement("div");e.classList.add("shortcut-container"),this.container.append(e);let t=this.container.querySelectorAll("[data-shortcut]"),i=new Set;for(let s of t){let r=s.getAttribute("data-shortcut");if(i.has(r))continue;let a=this.mapById[r];this.showHintLabel(s,a,e),i.add(r)}this.hintAbortController=new AbortController;let o=this.hintAbortController.signal;window.addEventListener("scroll",this.hideHints,{signal:o}),window.addEventListener("focus",this.hideHints,{signal:o}),window.addEventListener("blur",this.hideHints,{signal:o}),window.addEventListener("click",this.hideHints,{signal:o}),this.hintsShowing=!0}showHintLabel(e,t,i){let o=e.getBoundingClientRect(),s=document.createElement("div");s.classList.add("shortcut-hint"),s.textContent=t;let r=document.createElement("div");r.classList.add("shortcut-linkage"),r.style.left=`${o.x}px`,r.style.top=`${o.y}px`,r.style.width=`${o.width}px`,r.style.height=`${o.height}px`,i.append(s,r);let a=s.getBoundingClientRect();s.style.insetInlineStart=`${o.x+o.width-(a.width+6)}px`,s.style.insetBlockStart=`${o.y+(o.height-a.height)/2}px`}hideHints(){this.container.querySelector(".shortcut-container").remove(),this.hintAbortController?.abort(),this.hintsShowing=!1}};var Br=["Control","Alt","Shift","Meta","Super"," ","+","Tab","Escape"],zn=class extends h{setup(){this.input=this.$el,this.setupListeners()}setupListeners(){this.listenerRecordKey=this.listenerRecordKey.bind(this),this.input.addEventListener("focus",()=>{this.startListeningForInput()}),this.input.addEventListener("blur",()=>{this.stopListeningForInput()})}startListeningForInput(){this.input.addEventListener("keydown",this.listenerRecordKey)}listenerRecordKey(e){if(Br.includes(e.key))return;let t=[e.ctrlKey?"Ctrl":"",e.metaKey?"Cmd":"",e.key];this.input.value=t.filter(i=>!!i).join(" + ")}stopListeningForInput(){this.input.removeEventListener("keydown",this.listenerRecordKey)}};var Kn=class extends h{setup(){this.container=this.$el,this.handleSelector=this.$opts.handleSelector;let e=new wt(this.container,{handle:this.handleSelector,animation:150,onSort:()=>{this.$emit("sort",{ids:e.toArray()})},setData(t,i){let o=i.getAttribute("data-drag-content");if(o){let s=JSON.parse(o);for(let[r,a]of Object.entries(s))t.setData(r,a)}},revertOnSpill:!0,dropBubble:!0,dragoverBubble:!1})}};var Xn=class extends h{constructor(){super(...arguments);d(this,"input");d(this,"configuredList");d(this,"availableList")}setup(){this.input=this.$refs.input,this.configuredList=this.$refs.configuredOperationsList,this.availableList=this.$refs.availableOperationsList,this.initSortable();let t=Wn(this.availableList,this.configuredList),i=jn(t,this.onChange.bind(this));this.$el.addEventListener("click",i)}initSortable(){let t=[this.configuredList,this.availableList];for(let i of t)new wt(i,{group:"sort-rule-operations",ghostClass:"primary-background-light",handle:".handle",animation:150,onSort:this.onChange.bind(this)})}onChange(){let t=Array.from(this.configuredList.querySelectorAll("[data-id]"));this.input.value=t.map(i=>i.getAttribute("data-id")).join(",")}};var Gn=class extends h{setup(){this.filter=this.$opts.filter,this.$el.addEventListener("change",e=>{if(this.filter&&!e.target.matches(this.filter))return;let t=this.$el.closest("form");t&&t.submit()})}};var Yn=class extends h{setup(){this.addRemoveComponentEl=this.$refs.addRemove,this.container=this.$el,this.rowSelector=this.$opts.rowSelector,this.setupListeners()}setupListeners(){this.container.addEventListener("input",e=>{let t=window.$components.firstOnElement(this.addRemoveComponentEl,"add-remove-rows");!this.hasEmptyRows()&&e.target.value&&t.add()})}hasEmptyRows(){return[...this.container.querySelectorAll(this.rowSelector)].find(i=>[...i.querySelectorAll("input")].filter(o=>o.value).length===0)!==void 0}};var Jn=class extends h{setup(){this.container=this.$el,this.list=this.$refs.list,this.searchInput=this.$refs.searchInput,this.searchButton=this.$refs.searchButton,this.searchCancel=this.$refs.searchCancel,this.setupListeners()}setupListeners(){W(this.container,"[template-action]","click",this.handleTemplateActionClick.bind(this)),W(this.container,".pagination a","click",this.handlePaginationClick.bind(this)),W(this.container,".template-item-content","click",this.handleTemplateItemClick.bind(this)),W(this.container,".template-item","dragstart",this.handleTemplateItemDragStart.bind(this)),this.searchInput.addEventListener("keypress",e=>{e.key==="Enter"&&(e.preventDefault(),this.performSearch())}),this.searchButton.addEventListener("click",()=>this.performSearch()),this.searchCancel.addEventListener("click",()=>{this.searchInput.value="",this.performSearch()})}handleTemplateItemClick(e,t){let i=t.closest("[template-id]").getAttribute("template-id");this.insertTemplate(i,"replace")}handleTemplateItemDragStart(e,t){let i=t.closest("[template-id]").getAttribute("template-id");e.dataTransfer.setData("bookstack/template",i),e.dataTransfer.setData("text/plain",i)}handleTemplateActionClick(e,t){e.stopPropagation();let i=t.getAttribute("template-action"),o=t.closest("[template-id]").getAttribute("template-id");this.insertTemplate(o,i)}async insertTemplate(e,t="replace"){let i=await window.$http.get(`/templates/${e}`),o=`editor::${t}`;window.$events.emit(o,i.data)}async handlePaginationClick(e,t){e.preventDefault();let i=t.getAttribute("href"),o=await window.$http.get(i);this.list.innerHTML=o.data}async performSearch(){let e=this.searchInput.value,t=await window.$http.get("/templates",{search:e});this.searchCancel.style.display=e?"block":"none",this.list.innerHTML=t.data}};var Zn=class extends h{setup(){this.input=this.$el.querySelector("input[type=hidden]"),this.checkbox=this.$el.querySelector("input[type=checkbox]"),this.checkbox.addEventListener("change",this.stateChange.bind(this))}stateChange(){this.input.value=this.checkbox.checked?"true":"false";let e=new Event("change");this.input.dispatchEvent(e)}};function Pr(n,e){return document.createElement(n,e)}function Rr(n,e,t){return document.createElementNS(n,e,t)}function Or(){return Ot(document.createDocumentFragment())}function Nr(n){return document.createTextNode(n)}function _r(n){return document.createComment(n)}function Fr(n,e,t){if(yt(n)){let i=n;for(;i&&yt(i);)i=Ot(i).parent;n=i??n}yt(e)&&(e=Ot(e,n)),t&&yt(t)&&(t=Ot(t).firstChildNode),n.insertBefore(e,t)}function qr(n,e){n.removeChild(e)}function Wr(n,e){yt(e)&&(e=Ot(e,n)),n.appendChild(e)}function is(n){if(yt(n)){for(;n&&yt(n);)n=Ot(n).parent;return n??null}return n.parentNode}function jr(n){var e;if(yt(n)){let t=Ot(n),i=is(t);if(i&&t.lastChildNode){let o=Array.from(i.childNodes),s=o.indexOf(t.lastChildNode);return(e=o[s+1])!==null&&e!==void 0?e:null}return null}return n.nextSibling}function Ur(n){return n.tagName}function Vr(n,e){n.textContent=e}function zr(n){return n.textContent}function Kr(n){return n.nodeType===1}function Xr(n){return n.nodeType===3}function Gr(n){return n.nodeType===8}function yt(n){return n.nodeType===11}function Ot(n,e){var t,i,o;let s=n;return(t=s.parent)!==null&&t!==void 0||(s.parent=e??null),(i=s.firstChildNode)!==null&&i!==void 0||(s.firstChildNode=n.firstChild),(o=s.lastChildNode)!==null&&o!==void 0||(s.lastChildNode=n.lastChild),s}var Qn={createElement:Pr,createElementNS:Rr,createTextNode:Nr,createDocumentFragment:Or,createComment:_r,insertBefore:Fr,removeChild:qr,appendChild:Wr,parentNode:is,nextSibling:jr,tagName:Ur,setTextContent:Vr,getTextContent:zr,isElement:Kr,isText:Xr,isComment:Gr,isDocumentFragment:yt};function Et(n,e,t,i,o){let s=e===void 0?void 0:e.key;return{sel:n,data:e,children:t,text:i,elm:o,key:s}}var Wi=Array.isArray;function os(n){return typeof n=="string"||typeof n=="number"||n instanceof String||n instanceof Number}var ji=Et("",{},[],void 0,void 0);function we(n,e){var t,i;let o=n.key===e.key,s=((t=n.data)===null||t===void 0?void 0:t.is)===((i=e.data)===null||i===void 0?void 0:i.is),r=n.sel===e.sel,a=!n.sel&&n.sel===e.sel?typeof n.text==typeof e.text:!0;return r&&o&&s&&a}function Jr(){throw new Error("The document fragment is not supported on this platform.")}function Zr(n,e){return n.isElement(e)}function Qr(n,e){return n.isDocumentFragment(e)}function ta(n,e,t){var i;let o={};for(let s=e;s<=t;++s){let r=(i=n[s])===null||i===void 0?void 0:i.key;r!==void 0&&(o[r]=s)}return o}var ea=["create","update","remove","destroy","pre","post"];function Ui(n,e,t){let i={create:[],update:[],remove:[],destroy:[],pre:[],post:[]},o=e!==void 0?e:Qn;for(let u of ea)for(let f of n){let w=f[u];w!==void 0&&i[u].push(w)}function s(u){let f=u.id?"#"+u.id:"",w=u.getAttribute("class"),E=w?"."+w.split(" ").join("."):"";return Et(o.tagName(u).toLowerCase()+f+E,{},[],void 0,u)}function r(u){return Et(void 0,{},[],void 0,u)}function a(u,f){return function(){if(--f===0){let E=o.parentNode(u);E!==null&&o.removeChild(E,u)}}}function l(u,f){var w,E,v,T,S;let x,D=u.data,P=D?.hook;(w=P?.init)===null||w===void 0||w.call(P,u);let B=u.children,k=u.sel;if(k==="!")(E=u.text)!==null&&E!==void 0||(u.text=""),u.elm=o.createComment(u.text);else if(k==="")u.elm=o.createTextNode(u.text);else if(k!==void 0){let O=k.indexOf("#"),R=k.indexOf(".",O),U=O>0?O:k.length,V=R>0?R:k.length,pt=O!==-1||R!==-1?k.slice(0,Math.min(U,V)):k,Ct=D?.ns,et=Ct===void 0?o.createElement(pt,D):o.createElementNS(Ct,pt,D);for(u.elm=et,U0&&et.setAttribute("class",k.slice(V+1).replace(/\./g," ")),x=0;xt.toUpperCase())}function ye(n,e){var t;let i=e!==void 0?e:Qn,o;if(i.isElement(n)){let s=n.id?"#"+n.id:"",r=(t=n.getAttribute("class"))===null||t===void 0?void 0:t.match(/[^\t\r\n\f ]+/g),a=r?"."+r.join("."):"",l=i.tagName(n).toLowerCase()+s+a,c={},p={},m={},b=[],y,u,f,w=n.attributes,E=n.childNodes;for(u=0,f=w.length;u0&&(m.attrs=c),Object.keys(p).length>0&&(m.dataset=p),l.startsWith("svg")&&(l.length===3||l[3]==="."||l[3]==="#")&&Vi(m,b,l),Et(l,m,b,void 0,n)}else return i.isText(n)?(o=i.getTextContent(n),Et(void 0,void 0,void 0,o,n)):i.isComment(n)?(o=i.getTextContent(n),Et("!",{},[],o,n)):Et("",{},[],void 0,n)}var ia="http://www.w3.org/1999/xlink",oa="http://www.w3.org/2000/xmlns/",sa="http://www.w3.org/XML/1998/namespace";function ss(n,e){let t,i=e.elm,o=n.data.attrs,s=e.data.attrs;if(!(!o&&!s)&&o!==s){o=o||{},s=s||{};for(t in s){let r=s[t];o[t]!==r&&(r===!0?i.setAttribute(t,""):r===!1?i.removeAttribute(t):t.charCodeAt(0)!==120?i.setAttribute(t,r):t.charCodeAt(3)===58?i.setAttributeNS(sa,t,r):t.charCodeAt(5)===58?t.charCodeAt(1)===109?i.setAttributeNS(oa,t,r):i.setAttributeNS(ia,t,r):i.setAttribute(t,r))}for(t in o)t in s||i.removeAttribute(t)}}var zi={create:ss,update:ss};var rs=/[A-Z]/g;function as(n,e){let t=e.elm,i=n.data.dataset,o=e.data.dataset,s;if(!i&&!o||i===o)return;i=i||{},o=o||{};let r=t.dataset;for(s in i)s in o||(r?s in r&&delete r[s]:t.removeAttribute("data-"+s.replace(rs,"-$&").toLowerCase()));for(s in o)i[s]!==o[s]&&(r?r[s]=o[s]:t.setAttribute("data-"+s.replace(rs,"-$&").toLowerCase(),o[s]))}var Ki={create:as,update:as};var ti;function ra(){return ti||(ti=Ui([zi,Ki]),ti)}function ls(n,e){ra()(ye(n),ye(e))}var ei=class extends h{constructor(){super(...arguments);d(this,"container");d(this,"noneEl");d(this,"display");d(this,"isActive",!1)}setup(){this.container=this.$el,this.noneEl=this.$refs.none,this.display=this.$refs.display,window.addEventListener("editor-toolbox-change",(i=>{let o=i.detail.tab,s=i.detail.open;o==="contents"&&s?(this.isActive!==!0&&this.render(),this.isActive=!0):this.isActive=!1}));let t=mt(this.onContentChange.bind(this),500,!1);window.$events.listen("editor-html-change",t),window.$events.listen("editor-markdown-change",t),this.container.addEventListener("click",i=>{let o=i.target.closest("li[data-index]");o instanceof HTMLElement&&(i.preventDefault(),this.onHeaderSelect(o))})}onHeaderSelect(t){let i=t.getAttribute("data-id")||"",o=Number(t.getAttribute("data-index")||"");window.$events.emit("editor::focus-heading",{index:o,id:i})}onContentChange(){this.isActive&&this.render()}async render(){let t=await this.getEditorHtml(),i=this.parseHeadersFromHtml(t);this.rebaseHeaders(i);let o=this.headersToDom(i),s=this.display.firstElementChild;s||(s=document.createElement("ul"),this.display.appendChild(s)),ls(s,o),this.noneEl.hidden=i.length>0}async getEditorHtml(){return(await window.$components.first("page-editor").getEditorComponent().getContent()).html}parseHeadersFromHtml(t){let s=new DOMParser().parseFromString(t,"text/html").querySelectorAll("h1, h2, h3, h4, h5, h6"),r=[];for(let a=0;ao.level));if(i>1)for(let o of t)o.level--}while(i>1)}headersToDom(t){let i=t.map(o=>Q("li",{"data-level":String(o.level),"data-index":String(o.index),"data-id":o.id,id:`page-contents-${o.id}`,class:`page-nav-item h${o.level}`},[Q("a",{class:"text-limit-lines-1 block",href:`#${o.id}`},[o.text]),Q("div",{class:"link-background sidebar-page-nav-bullet"})]));return Q("ul",{class:"sidebar-page-nav menu"},i)}};var ni=class extends h{constructor(){super(...arguments);d(this,"container");d(this,"tabs");d(this,"sidebarScrollContainers");d(this,"lastLayoutType","none");d(this,"onDestroy",null);d(this,"scrollCache",{content:0,info:0});d(this,"lastTabShown","content")}setup(){this.container=this.$refs.container,this.tabs=this.$manyRefs.tab,this.sidebarScrollContainers=this.$manyRefs.sidebarScrollContainer,this.mobileTabClick=this.mobileTabClick.bind(this),this.updateLayout(),window.addEventListener("resize",()=>{this.updateLayout()},{passive:!0}),this.setupSidebarScrollHandlers()}updateLayout(){let t="tablet";window.innerWidth<=1e3&&(t="mobile"),window.innerWidth>1400&&(t="desktop"),t!==this.lastLayoutType&&(this.onDestroy&&(this.onDestroy(),this.onDestroy=null),t==="desktop"?this.setupDesktop():t==="mobile"&&this.setupMobile(),this.lastLayoutType=t)}setupMobile(){for(let t of this.tabs)t.addEventListener("click",this.mobileTabClick);this.onDestroy=()=>{for(let t of this.tabs)t.removeEventListener("click",this.mobileTabClick)}}setupDesktop(){}mobileTabClick(t){let i=t.target.dataset.tab||"";this.showTab(i)}showContent(){this.showTab("content",!1)}showTab(t,i=!0){this.scrollCache[this.lastTabShown]=document.documentElement.scrollTop;for(let s of this.tabs){let r=s.dataset.tab===t;s.setAttribute("aria-selected",r?"true":"false")}let o=t==="info";if(this.container.classList.toggle("show-info",o),i){let r=document.querySelector("header").getBoundingClientRect().bottom;document.documentElement.scrollTop=this.scrollCache[t]||r,setTimeout(()=>{document.documentElement.scrollTop=this.scrollCache[t]||r},50)}this.lastTabShown=t}setupSidebarScrollHandlers(){for(let t of this.sidebarScrollContainers)t.addEventListener("scroll",()=>this.handleSidebarScroll(t),{passive:!0}),this.handleSidebarScroll(t);window.addEventListener("resize",()=>{for(let t of this.sidebarScrollContainers)this.handleSidebarScroll(t)})}handleSidebarScroll(t){let i=t.clientHeight!==t.scrollHeight,o=t.scrollTop===0,s=t.scrollTop+t.clientHeight===t.scrollHeight;t.parentElement&&(t.parentElement.classList.toggle("scroll-away-from-top",!o&&i),t.parentElement.classList.toggle("scroll-away-from-bottom",!s&&i))}};var ii=class extends h{setup(){this.container=this.$el,this.input=this.$refs.input,this.userInfoContainer=this.$refs.userInfo,W(this.container,"a.dropdown-search-item","click",this.selectUser.bind(this))}selectUser(e,t){e.preventDefault(),this.input.value=t.getAttribute("data-id"),this.userInfoContainer.innerHTML=t.innerHTML,this.input.dispatchEvent(new Event("change",{bubbles:!0})),this.hide()}hide(){window.$components.firstOnElement(this.container,"dropdown").hide()}};var oi=class extends h{setup(){this.checkboxes=this.$el.querySelectorAll('input[type="checkbox"]'),this.allCheckbox=this.$el.querySelector('input[type="checkbox"][value="all"]'),this.$el.addEventListener("change",e=>{e.target.checked&&e.target===this.allCheckbox?this.deselectIndividualEvents():e.target.checked&&(this.allCheckbox.checked=!1)})}deselectIndividualEvents(){for(let e of this.checkboxes)e!==this.allCheckbox&&(e.checked=!1)}};var si=class extends h{setup(){this.elem=this.$el,this.editContainer=this.$refs.editContainer,this.input=this.$refs.input,this.editor=null;let e={...window.editor_translations,imageUploadErrorText:this.$opts.imageUploadErrorText,serverUploadLimitText:this.$opts.serverUploadLimitText};window.importVersioned("wysiwyg").then(i=>{let o=this.input.value;this.editor=i.createPageEditorInstance(this.editContainer,o,{drawioUrl:this.getDrawIoUrl(),pageId:Number(this.$opts.pageId),darkMode:document.documentElement.classList.contains("dark-mode"),textDirection:this.$opts.textDirection,translations:e}),window.wysiwyg=this.editor});let t=!1;this.input.form.addEventListener("submit",i=>{this.editor&&(t?t=!1:(i.preventDefault(),t=!0,this.editor.getContentAsHtml().then(o=>{this.input.value=o,setTimeout(()=>{this.input.form.requestSubmit()},5)})))})}getDrawIoUrl(){let e=document.querySelector("[drawio-url]");return e?e.getAttribute("drawio-url"):""}async getContent(){return{html:await this.editor.getContentAsHtml()}}};function cs(n){for(let e=1;e<5;e++)n.shortcuts.add(`meta+${e}`,"",["FormatBlock",!1,`h${e+1}`]);n.shortcuts.add("meta+5","",["FormatBlock",!1,"p"]),n.shortcuts.add("meta+d","",["FormatBlock",!1,"p"]),n.shortcuts.add("meta+6","",["FormatBlock",!1,"blockquote"]),n.shortcuts.add("meta+q","",["FormatBlock",!1,"blockquote"]),n.shortcuts.add("meta+7","",["codeeditor",!1,"pre"]),n.shortcuts.add("meta+e","",["codeeditor",!1,"pre"]),n.shortcuts.add("meta+8","",["FormatBlock",!1,"code"]),n.shortcuts.add("meta+shift+E","",["FormatBlock",!1,"code"]),n.shortcuts.add("meta+o","","InsertOrderedList"),n.shortcuts.add("meta+p","","InsertUnorderedList"),n.shortcuts.add("meta+S","",()=>{window.$events.emit("editor-save-draft")}),n.shortcuts.add("meta+13","",()=>{window.$events.emit("editor-save-page")}),n.shortcuts.add("meta+9","",()=>{let e=n.selection.getNode(),t=e?e.closest(".callout"):null,i=["info","success","warning","danger"],s=(i.findIndex(a=>t&&t.classList.contains(a))+1)%i.length,r=i[s];n.formatter.apply(`callout${r}`)}),n.shortcuts.add("meta+shift+K","",()=>{let e=window.$components.first("entity-selector-popup"),t=n.selection.getContent({format:"text"}).trim();e.show(i=>{n.selection.isCollapsed()?n.insertContent(n.dom.createHTML("a",{href:i.link},n.dom.encode(i.name))):n.formatter.apply("link",{href:i.link}),n.selection.collapse(!1),n.focus()},{initialValue:t,searchEndpoint:"/search/entity-selector",entityTypes:"page,book,chapter,bookshelf",entityPermission:"view"})})}function aa(n,e){let t=n.dom.get(encodeURIComponent(e).replace(/!/g,"%21"));t&&(t.scrollIntoView(),n.selection.select(t,!0),n.selection.collapse(!1),n.focus())}function ds(n,e){let i=n.dom.select("h1, h2, h3, h4, h5, h6")[e];i&&(i.scrollIntoView(),n.selection.select(i,!0),n.selection.collapse(!1),n.focus())}function hs(n){let t=new URL(window.location).searchParams.get("content-id");t&&aa(n,t)}function us(n){window.$events.listen("editor::replace",({html:e})=>{n.setContent(e)}),window.$events.listen("editor::append",({html:e})=>{let t=n.getContent()+e;n.setContent(t)}),window.$events.listen("editor::prepend",({html:e})=>{let t=e+n.getContent();n.setContent(t)}),window.$events.listen("editor::insert",({html:e})=>{n.insertContent(e)}),window.$events.listen("editor::focus",()=>{n.initialized&&n.focus()}),window.$events.listen("editor::focus-heading",({index:e})=>{ds(n,e)})}var Nt,ri;function la(n){return n&&!!(n.textContent||n.innerText)}async function ca(n,e){if(n===null||n.type.indexOf("image")!==0)throw new Error("Not an image file");let t=n.name||`image-${Date.now()}.png`,i=new FormData;return i.append("file",n,t),i.append("uploaded_to",e),(await window.$http.post(window.baseUrl("/images/gallery"),i)).data}function ps(n,e,t){let i=new Jt(t.clipboardData||t.dataTransfer);if(!i.hasItems()||i.containsTabularData())return;let o=i.getImages();for(let s of o){let r=`image-${Math.random().toString(16).slice(2)}`,a=window.baseUrl("/loading.gif");t.preventDefault(),setTimeout(()=>{n.insertContent(`

    `),ca(s,e.pageId).then(l=>{let c=l.name.replace(/"/g,""),p=`${c}`,m=n.dom.create("a",{target:"_blank",href:l.url},p);n.dom.replace(m,r)}).catch(l=>{n.dom.remove(r),window.$events.error(l?.data?.message||e.translations.imageUploadErrorText),console.error(l)})},10)}}function da(n){let e=n.selection.getNode();e.nodeName==="IMG"&&(Nt=n.dom.getParent(e,".mceTemp"),!Nt&&e.parentNode.nodeName==="A"&&!la(e.parentNode)&&(Nt=e.parentNode)),e.hasAttribute("contenteditable")&&e.getAttribute("contenteditable")==="false"&&(ri=e)}function ha(n,e,t){let{dom:i}=n,o=window.tinymce.dom.RangeUtils.getCaretRangeFromPoint(t.clientX,t.clientY,n.getDoc()),s=t.dataTransfer&&t.dataTransfer.getData("bookstack/template");s&&(t.preventDefault(),window.$http.get(`/templates/${s}`).then(r=>{n.selection.setRng(o),n.undoManager.transact(()=>{n.execCommand("mceInsertContent",!1,r.data.html)})})),i.getParent(o.startContainer,".mceTemp")?t.preventDefault():Nt&&(t.preventDefault(),n.undoManager.transact(()=>{n.selection.setRng(o),n.selection.setNode(Nt),i.remove(Nt)})),!t.isDefaultPrevented()&&ri&&(t.preventDefault(),n.undoManager.transact(()=>{let r=n.selection.getNode(),a=n.selection.getRng(),l=r.closest("body > *");a.startOffset>a.startContainer.length/2?l.after(ri):l.before(ri)})),t.isDefaultPrevented()||ps(n,e,t),Nt=null}function ua(n,e){e.preventDefault(),n.focus();let i=window.tinymce.dom.RangeUtils.getCaretRangeFromPoint(e.clientX??0,e.clientY??0,n.getDoc());n.selection.setRng(i)}function ms(n,e){n.on("dragover",t=>ua(n,t)),n.on("dragstart",()=>da(n)),n.on("drop",t=>ha(n,e,t)),n.on("paste",t=>ps(n,e,t))}function fs(n){return["undo redo","styles","bold italic underline forecolor backcolor formatoverflow","alignleft aligncenter alignright alignjustify","bullist numlist listoverflow",n.textDirection==="rtl"?"ltr rtl":"","link customtable imagemanager-insert insertoverflow","code about fullscreen"].filter(i=>!!i).join(" | ")}function pa(n){n.ui.registry.addGroupToolbarButton("formatoverflow",{icon:"more-drawer",tooltip:"More",items:"strikethrough superscript subscript inlinecode removeformat"}),n.ui.registry.addGroupToolbarButton("listoverflow",{icon:"more-drawer",tooltip:"More",items:"tasklist outdent indent"}),n.ui.registry.addGroupToolbarButton("insertoverflow",{icon:"more-drawer",tooltip:"More",items:"customhr codeeditor drawio media details"})}function ma(n){n.ui.registry.addContextToolbar("linkcontexttoolbar",{predicate(e){return e.closest("a")!==null},position:"node",scope:"node",items:"link unlink openlink"})}function fa(n){n.ui.registry.addContextToolbar("imagecontexttoolbar",{predicate(e){return e.closest("img")!==null&&!e.hasAttribute("data-mce-object")},position:"node",scope:"node",items:"image"})}function ga(n){n.ui.registry.addContextToolbar("objectcontexttoolbar",{predicate(e){return e.closest("img")!==null&&e.hasAttribute("data-mce-object")},position:"node",scope:"node",items:"media"})}function gs(n){pa(n),ma(n),fa(n),ga(n)}var va={"table-delete-column":'',"table-delete-row":'',"table-insert-column-after":'',"table-insert-column-before":'',"table-insert-row-above":'',"table-insert-row-after":'',table:'',"table-delete-table":''};function vs(n){for(let[e,t]of Object.entries(va))n.ui.registry.addIcon(e,t)}function ba(n){n.serializer.addNodeFilter("br",e=>{for(let t of e)if(t.parent&&t.parent.name==="code"){let i=window.tinymce.html.Node.create("#text");i.value=` +`,t.replace(i)}})}function wa(n){n.parser.addNodeFilter("div",e=>{for(let t of e){let i=t.attr("id")||"",o=t.attr("class")||"";(i==="pointer"||o.includes("pointer"))&&t.remove()}})}function bs(n){ba(n),wa(n)}function ws(n){return n.tagName.toLowerCase()==="code-block"}function Es(n,e,t,i,o){let s=window.$components.first("code-editor"),r=n.selection.getBookmark();s.open(e,t,i,(a,l)=>{o(a,l),n.focus(),n.selection.moveToBookmark(r)},()=>{n.focus(),n.selection.moveToBookmark(r)})}function ys(n,e){let t=e.getAttribute("dir")||"";Es(n,e.getContent(),e.getLanguage(),t,(i,o)=>{e.setContent(i,o)})}function ya(n){let e=n.getDoc(),t=e.defaultView;class i extends t.HTMLElement{constructor(){super();d(this,"editor",null);this.attachShadow({mode:"open"});let r=document.head.querySelectorAll('link[rel="stylesheet"]:not([media="print"]),style'),a=Array.from(r).map(c=>c.cloneNode(!0)),l=document.createElement("div");l.style.pointerEvents="none",l.contentEditable="false",l.classList.add("CodeMirrorContainer"),l.classList.toggle("dark-mode",document.documentElement.classList.contains("dark-mode")),this.shadowRoot.append(...a,l)}getLanguage(){let r=c=>(c.split(" ").filter(m=>m.startsWith("language-"))[0]||"").replace("language-",""),a=this.querySelector("code"),l=this.querySelector("pre");return r(l.className)||a&&r(a.className)||""}setContent(r,a){this.editor&&(this.editor.setContent(r),this.editor.setMode(a,r));let l=this.querySelector("pre");l||(l=e.createElement("pre"),this.append(l)),l.innerHTML="";let c=e.createElement("code");l.append(c),c.innerText=r,c.className=`language-${a}`}getContent(){let r=this.querySelector("code")||this.querySelector("pre"),a=document.createElement("pre");a.innerHTML=r.innerHTML.replace(/\ufeff/g,"");let l=a.querySelectorAll("br");for(let c of l)c.replaceWith(` +`);return a.textContent}connectedCallback(){let r=Date.now();if(this.editor)return;this.cleanChildContent();let a=this.getContent(),c=a.split(` +`).length*19.2+18+24;this.style.height=`${c}px`;let p=this.shadowRoot.querySelector(".CodeMirrorContainer"),m=b=>{this.editor=b.wysiwygView(p,this.shadowRoot,a,this.getLanguage()),setTimeout(()=>{this.style.height=null},12)};window.importVersioned("code").then(b=>{let y=Date.now()-r<20?20:0;setTimeout(()=>m(b),y)})}cleanChildContent(){let r=this.querySelector("pre");if(r)for(let a of r.childNodes)a.nodeName==="#text"&&a.textContent==="\uFEFF"&&a.remove()}}t.customElements.define("code-block",i)}function Ea(n){n.ui.registry.addIcon("codeblock",''),n.ui.registry.addButton("codeeditor",{tooltip:"Insert code block",icon:"codeblock",onAction(){n.execCommand("codeeditor")}}),n.ui.registry.addButton("editcodeeditor",{tooltip:"Edit code block",icon:"edit-block",onAction(){n.execCommand("codeeditor")}}),n.addCommand("codeeditor",()=>{let e=n.selection.getNode(),t=e.ownerDocument;if(ws(e))ys(n,e);else{let i=n.selection.getContent({format:"text"}),o=document.dir==="rtl"?"ltr":"";Es(n,i,"",o,(s,r)=>{let a=t.createElement("pre"),l=t.createElement("code");l.classList.add(`language-${r}`),l.innerText=s,o&&a.setAttribute("dir",o),a.append(l),n.insertContent(a.outerHTML)})}}),n.on("dblclick",()=>{let e=n.selection.getNode();ws(e)&&ys(n,e)}),n.on("PreInit",()=>{n.parser.addNodeFilter("pre",e=>{for(let t of e){let i=window.tinymce.html.Node.create("code-block",{contenteditable:"false"}),o=t.children().filter(a=>a.name==="code")[0]||null,s=t.attr("dir")||o&&o.attr("dir")||"";s&&i.attr("dir",s);let r=t.getAll("span");for(let a of r)a.unwrap();t.attr("style",null),t.wrap(i)}}),n.parser.addNodeFilter("code-block",e=>{for(let t of e)t.attr("contenteditable","false")}),n.serializer.addNodeFilter("code-block",e=>{for(let t of e){let i=t.attr("dir");i&&t.firstChild?t.firstChild.attr("dir",i):t.firstChild&&t.firstChild.attr("dir",null),t.unwrap()}})}),n.ui.registry.addContextToolbar("codeeditor",{predicate(e){return e.nodeName.toLowerCase()==="code-block"},items:"editcodeeditor",position:"node",scope:"node"}),n.on("PreInit",()=>{ya(n)})}function Cs(){return Ea}function ai(n){return new Promise((e,t)=>{n.oncomplete=n.onsuccess=()=>e(n.result),n.onabort=n.onerror=()=>t(n.error)})}function Ca(n,e){let t,i=()=>{if(t)return t;let o=indexedDB.open(n);return o.onupgradeneeded=()=>o.result.createObjectStore(e),t=ai(o),t.then(s=>{s.onclose=()=>t=void 0},()=>{}),t};return(o,s)=>i().then(r=>s(r.transaction(e,o).objectStore(e)))}var Xi;function Gi(){return Xi||(Xi=Ca("keyval-store","keyval")),Xi}function Yi(n,e=Gi()){return e("readonly",t=>ai(t.get(n)))}function Ji(n,e,t=Gi()){return t("readwrite",i=>(i.put(e,n),ai(i.transaction)))}function Zi(n,e=Gi()){return e("readwrite",t=>(t.delete(n),ai(t.transaction)))}var ut=null,eo,li,Qi,to="last-drawing-save";function no(n){ut?.contentWindow?.postMessage(JSON.stringify(n),eo)}function Ta(n){Ji(to,n.data),Qi&&Qi(n.data).then(()=>{Zi(to)})}function La(n){no({action:"export",format:"xmlpng",xml:n.xml,spin:"Updating drawing"})}function Sa(){li&&li().then(n=>{no({action:"load",autosave:1,xml:n})})}function ka(){let n={};ut&&(window.$events.emitPublic(ut,"editor-drawio::configure",{config:n}),no({action:"configure",config:n}))}function xs(){window.removeEventListener("message",Ts),ut&&document.body.removeChild(ut)}function Ts(n){if(!n.data||n.data.length<1||n.origin!==eo)return;let e=JSON.parse(n.data);e.event==="init"?Sa():e.event==="exit"?xs():e.event==="save"?La(e):e.event==="export"?Ta(e):e.event==="configure"&&ka()}async function $a(){let n=await Yi(to),e=document.getElementById("unsaved-drawing-dialog");e||console.error("Missing expected unsaved-drawing dialog"),n&&e&&await window.$components.firstOnElement(e,"confirm-dialog").show()&&(li=async()=>n)}async function Ls(n,e,t){li=e,Qi=t,await $a(),ut=document.createElement("iframe"),ut.setAttribute("frameborder","0"),window.addEventListener("message",Ts),ut.setAttribute("src",n),ut.setAttribute("class","fullscreen"),ut.style.backgroundColor="#FFFFFF",document.body.appendChild(ut),eo=new URL(n).origin}async function io(n,e){let t={image:n,uploaded_to:e};return(await window.$http.post(window.baseUrl("/images/drawio"),t)).data}function ci(){xs()}async function Ss(n){try{return`data:image/png;base64,${(await window.$http.get(window.baseUrl(`/images/drawio/base64/${n}`))).data.content}`}catch(e){throw e instanceof Dt&&window.$events.showResponseError(e),ci(),e}}var st=null,Ft=null,_t={};function oo(n){return n.hasAttribute("drawio-diagram")}function Da(n,e=null){st=n,Ft=e,window.$components.first("image-manager").show(i=>{if(e){let o=e.querySelector("img");st.undoManager.transact(()=>{st.dom.setAttrib(o,"src",i.url),st.dom.setAttrib(e,"drawio-diagram",i.id)})}else{let o=`
    `;st.insertContent(o)}},"drawio")}async function Aa(n){let e=window.baseUrl("/loading.gif"),t=s=>{s.status===413?window.$events.emit("error",_t.translations.serverUploadLimitText):window.$events.emit("error",_t.translations.imageUploadErrorText),console.error(s)};if(Ft){ci();let s=Ft.querySelector("img");try{let r=await io(n,_t.pageId);st.undoManager.transact(()=>{st.dom.setAttrib(s,"src",r.url),st.dom.setAttrib(Ft,"drawio-diagram",r.id)})}catch(r){throw t(r),new Error(`Failed to save image with error: ${r}`,{cause:r})}return}await go(5);let i=`drawing-${Math.random().toString(16).slice(2)}`,o=`drawing-wrap-${Math.random().toString(16).slice(2)}`;st.insertContent(`
    `),ci();try{let s=await io(n,_t.pageId);st.undoManager.transact(()=>{st.dom.setAttrib(i,"src",s.url),st.dom.setAttrib(o,"drawio-diagram",s.id)})}catch(s){throw st.dom.remove(o),t(s),new Error(`Failed to save image with error: ${s}`,{cause:s})}}function Ia(){if(!Ft)return Promise.resolve("");let n=Ft.getAttribute("drawio-diagram");return Ss(n)}function ks(n,e=null){st=n,Ft=e,Ls(_t.drawioUrl,Ia,Aa)}function Ha(n){n.addCommand("drawio",()=>{let e=n.selection.getNode();ks(n,oo(e)?e:null)}),n.ui.registry.addIcon("diagram",``),n.ui.registry.addSplitButton("drawio",{tooltip:"Insert/edit drawing",icon:"diagram",onAction(){n.execCommand("drawio"),window.document.body.dispatchEvent(new Event("mousedown",{bubbles:!0}))},fetch(e){e([{type:"choiceitem",text:"Drawing manager",value:"drawing-manager"}])},onItemAction(e,t){if(t==="drawing-manager"){let i=n.selection.getNode();Da(n,oo(i)?i:null)}}}),n.on("dblclick",()=>{let e=n.selection.getNode();oo(e)&&ks(n,e)}),n.on("SetContent",()=>{let e=n.dom.select("body > div[drawio-diagram]");e.length&&n.undoManager.transact(()=>{for(let t of e)t.setAttribute("contenteditable","false")})})}function $s(n){return _t=n,Ha}function Ba(n){n.addCommand("InsertHorizontalRule",()=>{let e=document.createElement("hr"),t=n.selection.getNode(),{parentNode:i}=t;i.insertBefore(e,t)}),n.ui.registry.addButton("customhr",{icon:"horizontal-rule",tooltip:"Insert horizontal line",onAction(){n.execCommand("InsertHorizontalRule")}})}function Ms(){return Ba}function Pa(n){n.ui.registry.addButton("imagemanager-insert",{title:"Insert image",icon:"image",tooltip:"Insert image",onAction(){window.$components.first("image-manager").show(t=>{let i=t.thumbs?.display||t.url,o=``;o+=`${t.name}`,o+="",n.execCommand("mceInsertContent",!1,o)},"gallery")}})}function Ds(){return Pa}function Ra(n){let e={title:"About the WYSIWYG Editor",url:window.baseUrl("/help/tinymce")};n.ui.registry.addButton("about",{icon:"help",tooltip:"About the editor",onAction(){window.tinymce.activeEditor.windowManager.openUrl(e)}})}function As(){return Ra}var Is=["p","h1","h2","h3","h4","h5","h6","div","blockquote","pre","code-block","details","ul","ol","table","hr"];function di(n){return n.selection.getNode().closest("details")}function Oa(n,e){let t=di(n);t&&(n.undoManager.transact(()=>{let i=t.querySelector("summary");i||(i=document.createElement("summary"),t.prepend(i)),i.textContent=e}),n.selection.select(t))}function Na(n){return{title:"Edit collapsible block",body:{type:"panel",items:[{type:"input",name:"summary",label:"Toggle label"}]},buttons:[{type:"cancel",text:"Cancel"},{type:"submit",text:"Save",primary:!0}],onSubmit(e){let{summary:t}=e.getData();Oa(n,t),e.close()}}}function _a(n){let e=n.querySelector("summary");return e?e.textContent:""}function Hs(n){let e=di(n);n.windowManager.open(Na(n)).setData({summary:_a(e)})}function Fa(n){let e=n.selection.getNode().closest("details"),t=n.selection.getBookmark();if(e){let i=e.querySelectorAll("details > *:not(summary, doc-root), doc-root > *");n.undoManager.transact(()=>{for(let o of i)e.parentNode.insertBefore(o,e);e.remove()})}n.focus(),n.selection.moveToBookmark(t)}function so(n){n.attr("contenteditable",null);let e=!1;for(let t of n.children())t.name==="doc-root"&&(t.unwrap(),e=!0);e&&so(n)}function qa(n){so(n),n.attr("contenteditable","false");let e=window.tinymce.html.Node.create("doc-root",{contenteditable:"true"}),t=null;for(let i of n.children()){if(i.name==="summary")continue;Is.includes(i.name)?(e.append(i),t=null):(t||(t=window.tinymce.html.Node.create("p"),e.append(t)),t.append(i))}n.append(e)}function Wa(n){n.parser.addNodeFilter("details",e=>{for(let t of e)qa(t)}),n.serializer.addNodeFilter("details",e=>{for(let t of e)so(t),t.attr("open",null)}),n.serializer.addNodeFilter("doc-root",e=>{for(let t of e)t.unwrap()})}function ja(n){n.ui.registry.addIcon("details",''),n.ui.registry.addIcon("togglefold",''),n.ui.registry.addIcon("togglelabel",''),n.ui.registry.addButton("details",{icon:"details",tooltip:"Insert collapsible block",onAction(){n.execCommand("InsertDetailsBlock")}}),n.ui.registry.addButton("removedetails",{icon:"table-delete-table",tooltip:"Unwrap",onAction(){Fa(n)}}),n.ui.registry.addButton("editdetials",{icon:"togglelabel",tooltip:"Edit label",onAction(){Hs(n)}}),n.on("dblclick",e=>{let t=e?.target?.ownerDocument?.defaultView?.HTMLDetailsElement;t&&e.target instanceof t&&di(n)&&(Hs(n),e.preventDefault(),e.stopPropagation())}),n.ui.registry.addButton("toggledetails",{icon:"togglefold",tooltip:"Toggle open/closed",onAction(){di(n).toggleAttribute("open"),n.focus()}}),n.addCommand("InsertDetailsBlock",()=>{let e=n.selection.getContent({format:"html"}),t=document.createElement("details"),i=document.createElement("summary"),o=`details-${Date.now()}`;t.setAttribute("data-id",o),t.appendChild(i),e||(e="


    "),t.innerHTML+=e,n.insertContent(t.outerHTML),n.focus();let s=n.dom.select(`[data-id="${o}"]`)[0]||null;if(s){let r=s.querySelector("doc-root > *");r&&r.focus(),s.removeAttribute("data-id")}}),n.ui.registry.addContextToolbar("details",{predicate(e){return e.nodeName.toLowerCase()==="details"},items:"editdetials toggledetails removedetails",position:"node",scope:"node"}),n.on("PreInit",()=>{Wa(n)})}function Bs(){return ja}function Ua(n){n.ui.registry.addIcon("tableclearformatting",'');let e={items:" | tablerowheader",predicate(i){let o=i.nodeName.toLowerCase()==="table",s=n.selection.getNode(),r=s.closest("table");return!o||!r?!1:r.querySelector("tr").contains(s)},position:"node",scope:"node"};n.ui.registry.addContextToolbar("customtabletoolbarfirstrow",e),n.addCommand("tableclearformatting",()=>{let i=n.dom.getParent(n.selection.getStart(),"table");if(!i)return;let o=["class","style","width","height"],s=[i,...i.querySelectorAll(o.map(r=>`[${r}]`).join(","))];for(let r of s)for(let a of o)r.removeAttribute(a)}),n.addCommand("tableclearsizes",()=>{let i=n.dom.getParent(n.selection.getStart(),"table");if(!i)return;let o=[i,...i.querySelectorAll("tr,td,th,tbody,thead,tfoot,th>*,td>*")];for(let s of o)s.removeAttribute("width"),s.removeAttribute("height"),s.style.height=null,s.style.width=null});let t=()=>{let i=n.ui.registry.getAll().buttons;n.ui.registry.addMenuButton("customtable",{...i.table,fetch:o=>o("inserttable | cell row column | advtablesort | tableprops tableclearformatting tableclearsizes deletetable")}),n.ui.registry.addMenuItem("tableclearformatting",{icon:"tableclearformatting",text:"Clear table formatting",onSetup:i.tableprops.onSetup,onAction(){n.execCommand("tableclearformatting")}}),n.ui.registry.addMenuItem("tableclearsizes",{icon:"resize",text:"Resize to contents",onSetup:i.tableprops.onSetup,onAction(){n.execCommand("tableclearsizes")}}),n.off("PreInit",t)};n.on("PreInit",t)}function Ps(){return Ua}function Va(n){let e=n.closest("li");return e&&e.parentNode.nodeName==="UL"&&e.classList.contains("task-list-item")}function za(n,e,t){let i=e.getBoundingClientRect();n.clientX<=i.right&&n.clientX>=i.left&&n.clientY>=i.top&&n.clientY<=i.bottom||t.undoManager.transact(()=>{e.hasAttribute("checked")?e.removeAttribute("checked"):e.setAttribute("checked","checked")})}function Ka(n){n.attr("class","task-list-item");for(let e of n.children())e.name==="input"&&(e.attr("checked")==="checked"&&n.attr("checked","checked"),e.remove())}function Xa(n){let e=n.attr("checked")==="checked";n.attr("checked",null);let t={type:"checkbox",disabled:"disabled"};e&&(t.checked="checked");let i=window.tinymce.html.Node.create("input",t);i.shortEnded=!0,n.firstChild?n.insert(i,n.firstChild,!0):n.append(i)}function Ga(n){n.ui.registry.addIcon("tasklist",''),n.ui.registry.addToggleButton("tasklist",{tooltip:"Task list",icon:"tasklist",active:!1,onAction(i){i.isActive()?n.execCommand("RemoveList"):n.execCommand("InsertUnorderedList",null,{"list-item-attributes":{class:"task-list-item"},"list-style-type":"tasklist"})},onSetup(i){n.on("NodeChange",o=>{let s=o.parents.find(a=>a.nodeName==="LI"),r=s&&s.classList.contains("task-list-item");i.setActive(!!r)})}});let e=n.ui.registry.getAll().buttons.bullist;e.onSetup=function(o){n.on("NodeChange",s=>{let r=s.parents.find(c=>c.nodeName==="LI"),a=r&&r.classList.contains("task-list-item"),l=r&&r.parentNode.nodeName==="UL";o.setActive(!!(l&&!a))})},e.onAction=function(){Va(n.selection.getNode())&&n.execCommand("InsertOrderedList",null,{"list-item-attributes":{class:null}}),n.execCommand("InsertUnorderedList",null,{"list-item-attributes":{class:null}})};let t=n.ui.registry.getAll().buttons.numlist;t.onAction=function(){n.execCommand("InsertOrderedList",null,{"list-item-attributes":{class:null}})},n.on("PreInit",()=>{n.parser.addNodeFilter("li",i=>{for(let o of i)o.attributes.map.class==="task-list-item"&&Ka(o)}),n.serializer.addNodeFilter("li",i=>{for(let o of i)o.attributes.map.class==="task-list-item"&&Xa(o)})}),n.on("click",i=>{let o=i.target;o.nodeName==="LI"&&o.classList.contains("task-list-item")&&(za(i,o,n),i.preventDefault())})}function Rs(){return Ga}function Os(n){function e(t){let i=t.querySelector("iframe, video");if(!i)return;let o=[...i.classList.values()].filter(r=>r.startsWith("align-")),s=[...t.classList.values()].filter(r=>r.startsWith("align-"));t.classList.remove(...s),t.classList.add(...o)}n.on("SetContent",()=>{let t=n.dom.select("span.mce-preview-object");for(let i of t)e(i)}),n.on("FormatApply",t=>{let i=t.format.startsWith("align");if(!(t.node instanceof n.dom.doc.defaultView.HTMLElement)||!i||!t.node.matches(".mce-preview-object"))return;let s=t.node.querySelector("iframe, video");if(s){let r=(n.formatter.get(t.format)[0]?.classes||[])[0],a=!s.classList.contains(r),c=(t.node.getAttribute("data-mce-p-class")||"").split(" ").filter(m=>!m.startsWith("align-"));a&&c.push(r);let p=c.join(" ");t.node.setAttribute("data-mce-p-class",p),s.setAttribute("class",p),n.formatter.apply(t.format,{},s),e(t.node)}})}function Ns(n){let e=n.querySelectorAll('[align],[style*="text-align"],.align-center,.align-left,.align-right');for(let t of e)t.removeAttribute("align"),t.style.textAlign=null,t.classList.remove("align-center","align-right","align-left")}function ro(n){let e=n.querySelectorAll('[dir],[style*="direction"]');for(let t of e)t.removeAttribute("dir"),t.style.direction=null;Ns(n),n.style.direction=null,n.style.textAlign=null,n.removeAttribute("align")}function _s(n){let e=[];n.on("TableSelectionChange",i=>{e=(i.cells||[]).map(o=>o.dom)}),n.on("TableSelectionClear",()=>{e=[]});let t={RemoveFormat:i=>{let o=["class","style","width","height","align"];for(let s of o)i.removeAttribute(s)},mceDirectionLTR:i=>{i.setAttribute("dir","ltr"),ro(i)},mceDirectionRTL:i=>{i.setAttribute("dir","rtl"),ro(i)},JustifyLeft:i=>{i.removeAttribute("align"),Ns(i)}};t.JustifyRight=t.JustifyLeft,t.JustifyCenter=t.JustifyLeft,t.JustifyFull=t.JustifyLeft,n.on("ExecCommand",i=>{let o=t[i.command];if(o)for(let s of e)o(s)})}function Fs(n){n.on("ExecCommand",e=>{let t=e.command;if(t!=="mceDirectionLTR"&&t!=="mceDirectionRTL")return;let i=n.selection.getSelectedBlocks();for(let o of i)ro(o)})}var Ya=[{title:"Large Header",format:"h2",preview:"color: blue;"},{title:"Medium Header",format:"h3"},{title:"Small Header",format:"h4"},{title:"Tiny Header",format:"h5"},{title:"Paragraph",format:"p",exact:!0,classes:""},{title:"Blockquote",format:"blockquote"},{title:"Callouts",items:[{title:"Information",format:"calloutinfo"},{title:"Success",format:"calloutsuccess"},{title:"Warning",format:"calloutwarning"},{title:"Danger",format:"calloutdanger"}]}],Ja={alignleft:{selector:"p,h1,h2,h3,h4,h5,h6,td,th,div,ul,ol,li,table,img,iframe,video",classes:"align-left"},aligncenter:{selector:"p,h1,h2,h3,h4,h5,h6,td,th,div,ul,ol,li,table,img,iframe,video",classes:"align-center"},alignright:{selector:"p,h1,h2,h3,h4,h5,h6,td,th,div,ul,ol,li,table,img,iframe,video",classes:"align-right"},calloutsuccess:{block:"p",exact:!0,attributes:{class:"callout success"}},calloutinfo:{block:"p",exact:!0,attributes:{class:"callout info"}},calloutwarning:{block:"p",exact:!0,attributes:{class:"callout warning"}},calloutdanger:{block:"p",exact:!0,attributes:{class:"callout danger"}}},Za=["#BFEDD2","","#FBEEB8","","#F8CAC6","","#ECCAFA","","#C2E0F4","","#2DC26B","","#F1C40F","","#E03E2D","","#B96AD9","","#3598DB","","#169179","","#E67E23","","#BA372A","","#843FA1","","#236FA1","","#ECF0F1","","#CED4D9","","#95A5A6","","#7E8C8D","","#34495E","","#000000","","#ffffff",""];function Qa(n,e,t){if(t.filetype==="file"){let i=window.$components.first("entity-selector-popup"),o=this.selection.getContent({format:"text"}).trim();i.show(s=>{n(s.link,{text:s.name,title:s.name})},{initialValue:o,searchEndpoint:"/search/entity-selector",entityTypes:"page,book,chapter,bookshelf",entityPermission:"view"})}t.filetype==="image"&&window.$components.first("image-manager").show(o=>{n(o.url,{alt:o.name})},"gallery")}function tl(n){let e=["image","table","link","autolink","fullscreen","code","customhr","autosave","lists","codeeditor","media","imagemanager","about","details","tasklist","tableadditions",n.textDirection==="rtl"?"directionality":""];return window.tinymce.PluginManager.add("codeeditor",Cs()),window.tinymce.PluginManager.add("customhr",Ms()),window.tinymce.PluginManager.add("imagemanager",Ds()),window.tinymce.PluginManager.add("about",As()),window.tinymce.PluginManager.add("details",Bs()),window.tinymce.PluginManager.add("tasklist",Rs()),window.tinymce.PluginManager.add("tableadditions",Ps()),n.drawioUrl&&(window.tinymce.PluginManager.add("drawio",$s(n)),e.push("drawio")),e.filter(t=>!!t)}function el(n){let e=document.head.innerHTML.split(` +`),t=e.findIndex(r=>r.trim()===""),i=e.findIndex(r=>r.trim()==="");if(t===-1||i===-1)return;let o=e.slice(t+1,i).join(` +`),s=n.createElement("div");s.innerHTML=o,n.head.append(...s.children)}function nl(n){return function(t){function i(){n.darkMode&&t.contentDocument.documentElement.classList.add("dark-mode"),window.$events.emit("editor-html-change","")}t.on("ExecCommand change input NodeChange ObjectResized",i),us(t),ms(t,n),t.on("init",()=>{i(),hs(t),window.editor=t,cs(t)}),t.on("PreInit",()=>{bs(t)}),Os(t),_s(t),Fs(t),window.$events.emitPublic(n.containerElement,"editor-tinymce::setup",{editor:t}),t.ui.registry.addButton("inlinecode",{tooltip:"Inline code",icon:"sourcecode",onAction(){t.execCommand("mceToggleFormat",!1,"code")}})}}function il(n){return` +html, body, html.dark-mode { + background: ${n.darkMode?"#222":"#fff"}; +} +body { + padding-left: 15px !important; + padding-right: 15px !important; + height: initial !important; + margin:0!important; + margin-left: auto! important; + margin-right: auto !important; + overflow-y: hidden !important; +}`.trim().replace(` +`,"")}function qs(n){return window.tinymce.addI18n(n.language,n.translationMap),{width:"100%",height:"100%",selector:"#html-editor",cache_suffix:`?version=${document.querySelector('script[src*="/dist/app.js"]').getAttribute("src").split("?version=")[1]}`,content_css:[window.baseUrl("/dist/styles.css")],branding:!1,skin:n.darkMode?"tinymce-5-dark":"tinymce-5",body_class:"page-content",browser_spellcheck:!0,relative_urls:!1,language:n.language,directionality:n.textDirection,remove_script_host:!1,document_base_url:window.baseUrl("/"),end_container_on_empty_block:!0,remove_trailing_brs:!1,statusbar:!1,menubar:!1,paste_data_images:!1,extended_valid_elements:"pre[*],svg[*],div[drawio-diagram],details[*],summary[*],div[*],li[class|checked|style]",automatic_uploads:!1,custom_elements:"doc-root,code-block",valid_children:["-div[p|h1|h2|h3|h4|h5|h6|blockquote|code-block]","+div[pre|img]","-doc-root[doc-root|#text]","-li[details]","+code-block[pre]","+doc-root[p|h1|h2|h3|h4|h5|h6|blockquote|code-block|div|hr]"].join(","),plugins:tl(n),contextmenu:!1,toolbar:fs(n),content_style:il(n),style_formats:Ya,style_formats_merge:!1,media_alt_source:!1,media_poster:!1,formats:Ja,table_style_by_css:!0,table_use_colgroups:!0,file_picker_types:"file image",color_map:Za,file_picker_callback:Qa,paste_preprocess(t,i){let{content:o}=i;o.indexOf('{this.editor=e[0]})}getDrawIoUrl(){let e=document.querySelector("[drawio-url]");return e?e.getAttribute("drawio-url"):""}async getContent(){return{html:this.editor.getContent()}}};var ui=class extends h{constructor(){super(...arguments);d(this,"elem");d(this,"wysiwygEditor");d(this,"textDirection")}async setup(){this.elem=this.$el,this.textDirection=this.$opts.textDirection;let t=await window.importVersioned("wysiwyg"),i=Z("div",{class:"basic-editor-container"});this.elem.parentElement?.appendChild(i),this.elem.hidden=!0,this.wysiwygEditor=t.createBasicEditorInstance(i,this.elem.value,{darkMode:document.documentElement.classList.contains("dark-mode"),textDirection:this.textDirection,translations:window.editor_translations}),this.wysiwygEditor.onChange(()=>{this.wysiwygEditor.getContentAsHtml().then(o=>{this.elem.value=o})})}};function lo(n){let e=i=>i.slice(0,1).toUpperCase()+i.slice(1),t=n.split("-");return t[0]+t.slice(1).map(e).join("")}function Ws(n){return n.replace(/[A-Z]/g,(e,t)=>(t>0?"-":"")+e.toLowerCase())}function ol(n,e){let t={},i={},o=`${n}@`,s=`[refs*="${o}"]`,r=[...e.querySelectorAll(s)];e.matches(s)&&r.push(e);for(let a of r){let l=(a.getAttribute("refs")||"").split(" ").filter(c=>c.startsWith(o)).map(c=>c.replace(o,"")).map(lo);for(let c of l)t[c]=a,typeof i[c]>"u"&&(i[c]=[]),i[c].push(a)}return{refs:t,manyRefs:i}}function sl(n,e){let t={},i=`option:${n}:`;for(let{name:o,value:s}of e.attributes)if(o.startsWith(i)){let r=o.replace(i,"");t[lo(r)]=s||""}return t}var pi=class{constructor(){d(this,"components",{});d(this,"componentModelMap",{});d(this,"elementComponentMap",new WeakMap)}initComponent(e,t){let i=this.componentModelMap[e];if(i===void 0)return;let o=null;try{o=new i,o.$name=e,o.$el=t;let r=ol(e,t);o.$refs=r.refs,o.$manyRefs=r.manyRefs,o.$opts=sl(e,t),o.setup()}catch(r){console.error("Failed to create component",r,e,t)}if(!o)return;typeof this.components[e]>"u"&&(this.components[e]=[]),this.components[e].push(o);let s=this.elementComponentMap.get(t)||{};s[e]=o,this.elementComponentMap.set(t,s)}init(e=document){let t=e.querySelectorAll("[component],[components]");for(let i of t){let o=`${i.getAttribute("component")||""} ${i.getAttribute("components")}`.toLowerCase().split(" ").filter(Boolean);for(let s of o)this.initComponent(s,i)}}register(e){let t=Object.keys(e);for(let i of t)this.componentModelMap[Ws(i)]=e[i]}first(e){return(this.components[e]||[null])[0]}get(e){return this.components[e]||[]}firstOnElement(e,t){return(this.elementComponentMap.get(e)||{})[t]||null}allWithinElement(e,t){return this.get(t).filter(o=>e.contains(o.$el))}};window.__DEV__=!1;window.baseUrl=vo;window.importVersioned=bo;window.$http=new Ce;window.$events=new Ee;window.$trans=new xe;window.$components=new pi;window.$components.register(ao);window.$components.init(); +/*! Bundled license information: + +sortablejs/modular/sortable.esm.js: + (**! + * Sortable 1.15.7 + * @author RubaXa + * @author owenm + * @license MIT + *) +*/ +//# sourceMappingURL=app.js.map diff --git a/public/dist/code.js b/public/dist/code.js new file mode 100644 index 00000000000..de527cf354a --- /dev/null +++ b/public/dist/code.js @@ -0,0 +1,32 @@ +// See the "/licenses" URI for full package license details +var $s=[],DO=[];(()=>{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 e=0,t=0;e>1;if(i<$s[r])t=r;else if(i>=DO[r])e=r+1;else return!0;if(e==t)return!1}}function GO(i){return i>=127462&&i<=127487}var IO=8205;function NO(i,e,t=!0,r=!0){return(t?FO:r$)(i,e,r)}function FO(i,e,t){if(e==i.length)return e;e&&HO(i.charCodeAt(e))&&KO(i.charCodeAt(e-1))&&e--;let r=ds(i,e);for(e+=BO(r);e=0&&GO(ds(i,o));)s++,o-=2;if(s%2==0)break;e+=2}else break}return e}function r$(i,e,t){for(;e>0;){let r=FO(i,e-2,t);if(r=56320&&i<57344}function KO(i){return i>=55296&&i<56320}function BO(i){return i<65536?1:2}var W=class i{lineAt(e){if(e<0||e>this.length)throw new RangeError(`Invalid position ${e} in document of length ${this.length}`);return this.lineInner(e,!1,1,0)}line(e){if(e<1||e>this.lines)throw new RangeError(`Invalid line number ${e} in ${this.lines}-line document`);return this.lineInner(e,!0,1,0)}replace(e,t,r){[e,t]=Pi(this,e,t);let n=[];return this.decompose(0,e,n,2),r.length&&r.decompose(0,r.length,n,3),this.decompose(t,this.length,n,1),gi.from(n,this.length-(t-e)+r.length)}append(e){return this.replace(this.length,this.length,e)}slice(e,t=this.length){[e,t]=Pi(this,e,t);let r=[];return this.decompose(e,t,r,0),gi.from(r,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),r=this.length-this.scanIdentical(e,-1),n=new Ht(this),s=new Ht(e);for(let o=t,a=t;;){if(n.next(o),s.next(o),o=0,n.lineBreak!=s.lineBreak||n.done!=s.done||n.value!=s.value)return!1;if(a+=n.value.length,n.done||a>=r)return!0}}iter(e=1){return new Ht(this,e)}iterRange(e,t=this.length){return new Gr(this,e,t)}iterLines(e,t){let r;if(e==null)r=this.iter();else{t==null&&(t=this.lines+1);let n=this.line(e).from;r=this.iterRange(n,Math.max(n,t==this.lines+1?this.length:t<=1?0:this.line(t-1).to))}return new Ir(r)}toString(){return this.sliceString(0)}toJSON(){let e=[];return this.flatten(e),e}constructor(){}static of(e){if(e.length==0)throw new RangeError("A document must have at least one line");return e.length==1&&!e[0]?i.empty:e.length<=32?new Re(e):gi.from(Re.split(e,[]))}},Re=class i extends W{constructor(e,t=n$(e)){super(),this.text=e,this.length=t}get lines(){return this.text.length}get children(){return null}lineInner(e,t,r,n){for(let s=0;;s++){let o=this.text[s],a=n+o.length;if((t?r:a)>=e)return new ms(n,a,r,o);n=a+1,r++}}decompose(e,t,r,n){let s=e<=0&&t>=this.length?this:new i(JO(this.text,e,t),Math.min(t,this.length)-Math.max(0,e));if(n&1){let o=r.pop(),a=Lr(s.text,o.text.slice(),0,s.length);if(a.length<=32)r.push(new i(a,o.length+s.length));else{let O=a.length>>1;r.push(new i(a.slice(0,O)),new i(a.slice(O)))}}else r.push(s)}replace(e,t,r){if(!(r instanceof i))return super.replace(e,t,r);[e,t]=Pi(this,e,t);let n=Lr(this.text,Lr(r.text,JO(this.text,0,e)),t),s=this.length+r.length-(t-e);return n.length<=32?new i(n,s):gi.from(i.split(n,[]),s)}sliceString(e,t=this.length,r=` +`){[e,t]=Pi(this,e,t);let n="";for(let s=0,o=0;s<=t&&oe&&o&&(n+=r),es&&(n+=a.slice(Math.max(0,e-s),t-s)),s=O+1}return n}flatten(e){for(let t of this.text)e.push(t)}scanIdentical(){return 0}static split(e,t){let r=[],n=-1;for(let s of e)r.push(s),n+=s.length+1,r.length==32&&(t.push(new i(r,n)),r=[],n=-1);return n>-1&&t.push(new i(r,n)),t}},gi=class i extends W{constructor(e,t){super(),this.children=e,this.length=t,this.lines=0;for(let r of e)this.lines+=r.lines}lineInner(e,t,r,n){for(let s=0;;s++){let o=this.children[s],a=n+o.length,O=r+o.lines-1;if((t?O:a)>=e)return o.lineInner(e,t,r,n);n=a+1,r=O+1}}decompose(e,t,r,n){for(let s=0,o=0;o<=t&&s=o){let l=n&((o<=e?1:0)|(O>=t?2:0));o>=e&&O<=t&&!l?r.push(a):a.decompose(e-o,t-o,r,l)}o=O+1}}replace(e,t,r){if([e,t]=Pi(this,e,t),r.lines=s&&t<=a){let O=o.replace(e-s,t-s,r),l=this.lines-o.lines+O.lines;if(O.lines>4&&O.lines>l>>6){let c=this.children.slice();return c[n]=O,new i(c,this.length-(t-e)+r.length)}return super.replace(s,a,O)}s=a+1}return super.replace(e,t,r)}sliceString(e,t=this.length,r=` +`){[e,t]=Pi(this,e,t);let n="";for(let s=0,o=0;se&&s&&(n+=r),eo&&(n+=a.sliceString(e-o,t-o,r)),o=O+1}return n}flatten(e){for(let t of this.children)t.flatten(e)}scanIdentical(e,t){if(!(e instanceof i))return 0;let r=0,[n,s,o,a]=t>0?[0,0,this.children.length,e.children.length]:[this.children.length-1,e.children.length-1,-1,-1];for(;;n+=t,s+=t){if(n==o||s==a)return r;let O=this.children[n],l=e.children[s];if(O!=l)return r+O.scanIdentical(l,t);r+=O.length+1}}static from(e,t=e.reduce((r,n)=>r+n.length+1,-1)){let r=0;for(let d of e)r+=d.lines;if(r<32){let d=[];for(let $ of e)$.flatten(d);return new Re(d,t)}let n=Math.max(32,r>>5),s=n<<1,o=n>>1,a=[],O=0,l=-1,c=[];function h(d){let $;if(d.lines>s&&d instanceof i)for(let p of d.children)h(p);else d.lines>o&&(O>o||!O)?(f(),a.push(d)):d instanceof Re&&O&&($=c[c.length-1])instanceof Re&&d.lines+$.lines<=32?(O+=d.lines,l+=d.length+1,c[c.length-1]=new Re($.text.concat(d.text),$.length+1+d.length)):(O+d.lines>n&&f(),O+=d.lines,l+=d.length+1,c.push(d))}function f(){O!=0&&(a.push(c.length==1?c[0]:i.from(c,l)),l=-1,O=c.length=0)}for(let d of e)h(d);return f(),a.length==1?a[0]:new i(a,t)}};W.empty=new Re([""],0);function n$(i){let e=-1;for(let t of i)e+=t.length+1;return e}function Lr(i,e,t=0,r=1e9){for(let n=0,s=0,o=!0;s=t&&(O>r&&(a=a.slice(0,r-n)),n0?1:(e instanceof Re?e.text.length:e.children.length)<<1]}nextInner(e,t){for(this.done=this.lineBreak=!1;;){let r=this.nodes.length-1,n=this.nodes[r],s=this.offsets[r],o=s>>1,a=n instanceof Re?n.text.length:n.children.length;if(o==(t>0?a:0)){if(r==0)return this.done=!0,this.value="",this;t>0&&this.offsets[r-1]++,this.nodes.pop(),this.offsets.pop()}else if((s&1)==(t>0?0:1)){if(this.offsets[r]+=t,e==0)return this.lineBreak=!0,this.value=` +`,this;e--}else if(n instanceof Re){let O=n.text[o+(t<0?-1:0)];if(this.offsets[r]+=t,O.length>Math.max(0,e))return this.value=e==0?O:t>0?O.slice(e):O.slice(0,O.length-e),this;e-=O.length}else{let O=n.children[o+(t<0?-1:0)];e>O.length?(e-=O.length,this.offsets[r]+=t):(t<0&&this.offsets[r]--,this.nodes.push(O),this.offsets.push(t>0?1:(O instanceof Re?O.text.length:O.children.length)<<1))}}}next(e=0){return e<0&&(this.nextInner(-e,-this.dir),e=this.value.length),this.nextInner(e,this.dir)}},Gr=class{constructor(e,t,r){this.value="",this.done=!1,this.cursor=new Ht(e,t>r?-1:1),this.pos=t>r?e.length:0,this.from=Math.min(t,r),this.to=Math.max(t,r)}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 r=t<0?this.pos-this.from:this.to-this.pos;e>r&&(e=r),r-=e;let{value:n}=this.cursor.next(e);return this.pos+=(n.length+e)*t,this.value=n.length<=r?n:t<0?n.slice(n.length-r):n.slice(0,r),this.done=!this.value,this}next(e=0){return e<0?e=Math.max(e,this.from-this.pos):e>0&&(e=Math.min(e,this.to-this.pos)),this.nextInner(e,this.cursor.dir)}get lineBreak(){return this.cursor.lineBreak&&this.value!=""}},Ir=class{constructor(e){this.inner=e,this.afterBreak=!0,this.value="",this.done=!1}next(e=0){let{done:t,lineBreak:r,value:n}=this.inner.next(e);return t&&this.afterBreak?(this.value="",this.afterBreak=!1):t?(this.done=!0,this.value=""):r?this.afterBreak?this.value="":(this.afterBreak=!0,this.next()):(this.value=n,this.afterBreak=!1),this}get lineBreak(){return!1}};typeof Symbol<"u"&&(W.prototype[Symbol.iterator]=function(){return this.iter()},Ht.prototype[Symbol.iterator]=Gr.prototype[Symbol.iterator]=Ir.prototype[Symbol.iterator]=function(){return this});var ms=class{constructor(e,t,r,n){this.from=e,this.to=t,this.number=r,this.text=n}get length(){return this.to-this.from}};function Pi(i,e,t){return e=Math.max(0,Math.min(i.length,e)),[e,Math.max(e,Math.min(i.length,t))]}function ae(i,e,t=!0,r=!0){return NO(i,e,t,r)}function s$(i){return i>=56320&&i<57344}function o$(i){return i>=55296&&i<56320}function Zs(i,e){let t=i.charCodeAt(e);if(!o$(t)||e+1==i.length)return t;let r=i.charCodeAt(e+1);return s$(r)?(t-55296<<10)+(r-56320)+65536:t}function Rs(i){return i<65536?1:2}var gs=/\r\n?|\n/,le=(function(i){return i[i.Simple=0]="Simple",i[i.TrackDel=1]="TrackDel",i[i.TrackBefore=2]="TrackBefore",i[i.TrackAfter=3]="TrackAfter",i})(le||(le={})),$t=class i{constructor(e){this.sections=e}get length(){let e=0;for(let t=0;te)return s+(e-n);s+=a}else{if(r!=le.Simple&&l>=e&&(r==le.TrackDel&&ne||r==le.TrackBefore&&ne))return null;if(l>e||l==e&&t<0&&!a)return e==n||t<0?s:s+O;s+=O}n=l}if(e>n)throw new RangeError(`Position ${e} is out of range for changeset of length ${n}`);return s}touchesRange(e,t=e){for(let r=0,n=0;r=0&&n<=t&&a>=e)return nt?"cover":!0;n=a}return!1}toString(){let e="";for(let t=0;t=0?":"+n:"")}return e}toJSON(){return this.sections}static fromJSON(e){if(!Array.isArray(e)||e.length%2||e.some(t=>typeof t!="number"))throw new RangeError("Invalid JSON representation of ChangeDesc");return new i(e)}static create(e){return new i(e)}},ge=class i extends $t{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 Qs(this,(t,r,n,s,o)=>e=e.replace(n,n+(r-t),o),!1),e}mapDesc(e,t=!1){return Ss(this,e,t,!0)}invert(e){let t=this.sections.slice(),r=[];for(let n=0,s=0;n=0){t[n]=a,t[n+1]=o;let O=n>>1;for(;r.length0&&vt(r,t,s.text),s.forward(c),a+=c}let l=e[o++];for(;a>1].toJSON()))}return e}static of(e,t,r){let n=[],s=[],o=0,a=null;function O(c=!1){if(!c&&!n.length)return;of||h<0||f>t)throw new RangeError(`Invalid change range ${h} to ${f} (in doc of length ${t})`);let $=d?typeof d=="string"?W.of(d.split(r||gs)):d:W.empty,p=$.length;if(h==f&&p==0)return;ho&&he(n,h-o,-1),he(n,f-h,p),vt(s,n,$),o=f}}return l(e),O(!a),a}static empty(e){return new i(e?[e,-1]:[],[])}static fromJSON(e){if(!Array.isArray(e))throw new RangeError("Invalid JSON representation of ChangeSet");let t=[],r=[];for(let n=0;na&&typeof o!="string"))throw new RangeError("Invalid JSON representation of ChangeSet");if(s.length==1)t.push(s[0],0);else{for(;r.length=0&&t<=0&&t==i[n+1]?i[n]+=e:n>=0&&e==0&&i[n]==0?i[n+1]+=t:r?(i[n]+=e,i[n+1]+=t):i.push(e,t)}function vt(i,e,t){if(t.length==0)return;let r=e.length-2>>1;if(r>1])),!(t||o==i.sections.length||i.sections[o+1]<0);)a=i.sections[o++],O=i.sections[o++];e(n,l,s,c,h),n=l,s=c}}}function Ss(i,e,t,r=!1){let n=[],s=r?[]:null,o=new Kt(i),a=new Kt(e);for(let O=-1;;){if(o.done&&a.len||a.done&&o.len)throw new Error("Mismatched change set lengths");if(o.ins==-1&&a.ins==-1){let l=Math.min(o.len,a.len);he(n,l,-1),o.forward(l),a.forward(l)}else if(a.ins>=0&&(o.ins<0||O==o.i||o.off==0&&(a.len=0&&O=0){let l=0,c=o.len;for(;c;)if(a.ins==-1){let h=Math.min(c,a.len);l+=h,c-=h,a.forward(h)}else if(a.ins==0&&a.lenO||o.ins>=0&&o.len>O)&&(a||r.length>l),s.forward2(O),o.forward(O)}}}}var Kt=class{constructor(e){this.set=e,this.i=0,this.next()}next(){let{sections:e}=this.set;this.i>1;return t>=e.length?W.empty:e[t]}textBit(e){let{inserted:t}=this.set,r=this.i-2>>1;return r>=t.length&&!e?W.empty:t[r].slice(this.off,e==null?void 0:this.off+e)}forward(e){e==this.len?this.next():(this.len-=e,this.off+=e)}forward2(e){this.ins==-1?this.forward(e):e==this.ins?this.next():(this.ins-=e,this.off+=e)}},mi=class i{constructor(e,t,r){this.from=e,this.to=t,this.flags=r}get anchor(){return this.flags&32?this.to:this.from}get head(){return this.flags&32?this.from:this.to}get empty(){return this.from==this.to}get assoc(){return this.flags&8?-1:this.flags&16?1:0}get bidiLevel(){let e=this.flags&7;return e==7?null:e}get goalColumn(){let e=this.flags>>6;return e==16777215?void 0:e}map(e,t=-1){let r,n;return this.empty?r=n=e.mapPos(this.from,t):(r=e.mapPos(this.from,1),n=e.mapPos(this.to,-1)),r==this.from&&n==this.to?this:new i(r,n,this.flags)}extend(e,t=e,r=0){if(e<=this.anchor&&t>=this.anchor)return Q.range(e,t,void 0,void 0,r);let n=Math.abs(e-this.anchor)>Math.abs(t-this.anchor)?e:t;return Q.range(this.anchor,n,void 0,void 0,r)}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||typeof e.anchor!="number"||typeof e.head!="number")throw new RangeError("Invalid JSON representation for SelectionRange");return Q.range(e.anchor,e.head)}static create(e,t,r){return new i(e,t,r)}},Q=class i{constructor(e,t){this.ranges=e,this.mainIndex=t}map(e,t=-1){return e.empty?this:i.create(this.ranges.map(r=>r.map(e,t)),this.mainIndex)}eq(e,t=!1){if(this.ranges.length!=e.ranges.length||this.mainIndex!=e.mainIndex)return!1;for(let r=0;re.toJSON()),main:this.mainIndex}}static fromJSON(e){if(!e||!Array.isArray(e.ranges)||typeof e.main!="number"||e.main>=e.ranges.length)throw new RangeError("Invalid JSON representation for EditorSelection");return new i(e.ranges.map(t=>mi.fromJSON(t)),e.main)}static single(e,t=e){return new i([i.range(e,t)],0)}static create(e,t=0){if(e.length==0)throw new RangeError("A selection needs at least one range");for(let r=0,n=0;nn.from-s.from),t=e.indexOf(r);for(let n=1;ns.head?i.range(O,a):i.range(a,O))}}return new i(e,t)}};function sl(i,e){for(let t of i.ranges)if(t.to>e)throw new RangeError("Selection points outside of document")}var Vs=0,v=class i{constructor(e,t,r,n,s){this.combine=e,this.compareInput=t,this.compare=r,this.isStatic=n,this.id=Vs++,this.default=e([]),this.extensions=typeof s=="function"?s(this):s}get reader(){return this}static define(e={}){return new i(e.combine||(t=>t),e.compareInput||((t,r)=>t===r),e.compare||(e.combine?(t,r)=>t===r:_s),!!e.static,e.enables)}of(e){return new Qi([],this,0,e)}compute(e,t){if(this.isStatic)throw new Error("Can't compute a static facet");return new Qi(e,this,1,t)}computeN(e,t){if(this.isStatic)throw new Error("Can't compute a static facet");return new Qi(e,this,2,t)}from(e,t){return t||(t=r=>r),this.compute([e],r=>t(r.field(e)))}};function _s(i,e){return i==e||i.length==e.length&&i.every((t,r)=>t===e[r])}var Qi=class{constructor(e,t,r,n){this.dependencies=e,this.facet=t,this.type=r,this.value=n,this.id=Vs++}dynamicSlot(e){var t;let r=this.value,n=this.facet.compareInput,s=this.id,o=e[s]>>1,a=this.type==2,O=!1,l=!1,c=[];for(let h of this.dependencies)h=="doc"?O=!0:h=="selection"?l=!0:(((t=e[h.id])!==null&&t!==void 0?t:1)&1)==0&&c.push(e[h.id]);return{create(h){return h.values[o]=r(h),1},update(h,f){if(O&&f.docChanged||l&&(f.docChanged||f.selection)||Ps(h,c)){let d=r(h);if(a?!el(d,h.values[o],n):!n(d,h.values[o]))return h.values[o]=d,1}return 0},reconfigure:(h,f)=>{let d,$=f.config.address[s];if($!=null){let p=Nr(f,$);if(this.dependencies.every(m=>m instanceof v?f.facet(m)===h.facet(m):m instanceof ye?f.field(m,!1)==h.field(m,!1):!0)||(a?el(d=r(h),p,n):n(d=r(h),p)))return h.values[o]=p,0}else d=r(h);return h.values[o]=d,1}}}};function el(i,e,t){if(i.length!=e.length)return!1;for(let r=0;ri[O.id]),n=t.map(O=>O.type),s=r.filter(O=>!(O&1)),o=i[e.id]>>1;function a(O){let l=[];for(let c=0;cr===n),e);return e.provide&&(t.provides=e.provide(t)),t}create(e){let t=e.facet(Ur).find(r=>r.field==this);return(t?.create||this.createF)(e)}slot(e){let t=e[this.id]>>1;return{create:r=>(r.values[t]=this.create(r),1),update:(r,n)=>{let s=r.values[t],o=this.updateF(s,n);return this.compareF(s,o)?0:(r.values[t]=o,1)},reconfigure:(r,n)=>{let s=r.facet(Ur),o=n.facet(Ur),a;return(a=s.find(O=>O.field==this))&&a!=o.find(O=>O.field==this)?(r.values[t]=a.create(r),1):n.config.address[this.id]!=null?(r.values[t]=n.field(this),0):(r.values[t]=this.create(r),1)}}}init(e){return[this,Ur.of({field:this,create:e})]}get extension(){return this}},Nt={lowest:4,low:3,default:2,high:1,highest:0};function Di(i){return e=>new Br(e,i)}var at={highest:Di(Nt.highest),high:Di(Nt.high),default:Di(Nt.default),low:Di(Nt.low),lowest:Di(Nt.lowest)},Br=class{constructor(e,t){this.inner=e,this.prec=t}},pt=class i{of(e){return new Fi(this,e)}reconfigure(e){return i.reconfigure.of({compartment:this,extension:e})}get(e){return e.config.compartments.get(this)}},Fi=class{constructor(e,t){this.compartment=e,this.inner=t}},Dr=class i{constructor(e,t,r,n,s,o){for(this.base=e,this.compartments=t,this.dynamicSlots=r,this.address=n,this.staticValues=s,this.facets=o,this.statusTemplate=[];this.statusTemplate.length>1]}static resolve(e,t,r){let n=[],s=Object.create(null),o=new Map;for(let f of O$(e,t,o))f instanceof ye?n.push(f):(s[f.facet.id]||(s[f.facet.id]=[])).push(f);let a=Object.create(null),O=[],l=[];for(let f of n)a[f.id]=l.length<<1,l.push(d=>f.slot(d));let c=r?.config.facets;for(let f in s){let d=s[f],$=d[0].facet,p=c&&c[f]||[];if(d.every(m=>m.type==0))if(a[$.id]=O.length<<1|1,_s(p,d))O.push(r.facet($));else{let m=$.combine(d.map(g=>g.value));O.push(r&&$.compare(m,r.facet($))?r.facet($):m)}else{for(let m of d)m.type==0?(a[m.id]=O.length<<1|1,O.push(m.value)):(a[m.id]=l.length<<1,l.push(g=>m.dynamicSlot(g)));a[$.id]=l.length<<1,l.push(m=>a$(m,$,d))}}let h=l.map(f=>f(a));return new i(e,o,h,a,O,s)}};function O$(i,e,t){let r=[[],[],[],[],[]],n=new Map;function s(o,a){let O=n.get(o);if(O!=null){if(O<=a)return;let l=r[O].indexOf(o);l>-1&&r[O].splice(l,1),o instanceof Fi&&t.delete(o.compartment)}if(n.set(o,a),Array.isArray(o))for(let l of o)s(l,a);else if(o instanceof Fi){if(t.has(o.compartment))throw new RangeError("Duplicate use of compartment in extensions");let l=e.get(o.compartment)||o.inner;t.set(o.compartment,l),s(l,a)}else if(o instanceof Br)s(o.inner,o.prec);else if(o instanceof ye)r[a].push(o),o.provides&&s(o.provides,a);else if(o instanceof Qi)r[a].push(o),o.facet.extensions&&s(o.facet.extensions,Nt.default);else{let l=o.extension;if(!l)throw new Error(`Unrecognized extension value in extension set (${o}). This sometimes happens because multiple instances of @codemirror/state are loaded, breaking instanceof checks.`);s(l,a)}}return s(i,Nt.default),r.reduce((o,a)=>o.concat(a))}function Ni(i,e){if(e&1)return 2;let t=e>>1,r=i.status[t];if(r==4)throw new Error("Cyclic dependency between fields and/or facets");if(r&2)return r;i.status[t]=4;let n=i.computeSlot(i,i.config.dynamicSlots[t]);return i.status[t]=2|n}function Nr(i,e){return e&1?i.config.staticValues[e>>1]:i.values[e>>1]}var ol=v.define(),Ts=v.define({combine:i=>i.some(e=>e),static:!0}),al=v.define({combine:i=>i.length?i[0]:void 0,static:!0}),Ol=v.define(),ll=v.define(),cl=v.define(),hl=v.define({combine:i=>i.length?i[0]:!1}),be=class{constructor(e,t){this.type=e,this.value=t}static define(){return new ys}},ys=class{of(e){return new be(this,e)}},bs=class{constructor(e){this.map=e}of(e){return new B(this,e)}},B=class i{constructor(e,t){this.type=e,this.value=t}map(e){let t=this.type.map(this.value,e);return t===void 0?void 0:t==this.value?this:new i(this.type,t)}is(e){return this.type==e}static define(e={}){return new bs(e.map||(t=>t))}static mapEffects(e,t){if(!e.length)return e;let r=[];for(let n of e){let s=n.map(t);s&&r.push(s)}return r}};B.reconfigure=B.define();B.appendConfig=B.define();var re=class i{constructor(e,t,r,n,s,o){this.startState=e,this.changes=t,this.selection=r,this.effects=n,this.annotations=s,this.scrollIntoView=o,this._doc=null,this._state=null,r&&sl(r,t.newLength),s.some(a=>a.type==i.time)||(this.annotations=s.concat(i.time.of(Date.now())))}static create(e,t,r,n,s,o){return new i(e,t,r,n,s,o)}get newDoc(){return this._doc||(this._doc=this.changes.apply(this.startState.doc))}get newSelection(){return this.selection||this.startState.selection.map(this.changes)}get state(){return this._state||this.startState.applyTransaction(this),this._state}annotation(e){for(let 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(i.userEvent);return!!(t&&(t==e||t.length>e.length&&t.slice(0,e.length)==e&&t[e.length]=="."))}};re.time=be.define();re.userEvent=be.define();re.addToHistory=be.define();re.remote=be.define();function l$(i,e){let t=[];for(let r=0,n=0;;){let s,o;if(r=i[r]))s=i[r++],o=i[r++];else if(n=0;n--){let s=r[n](i);s instanceof re?i=s:Array.isArray(s)&&s.length==1&&s[0]instanceof re?i=s[0]:i=ul(e,Si(s),!1)}return i}function h$(i){let e=i.startState,t=e.facet(cl),r=i;for(let n=t.length-1;n>=0;n--){let s=t[n](i);s&&Object.keys(s).length&&(r=fl(r,ws(e,s,i.changes.newLength),!0))}return r==i?i:re.create(e,i.changes,i.selection,r.effects,r.annotations,r.scrollIntoView)}var f$=[];function Si(i){return i==null?f$:Array.isArray(i)?i:[i]}var je=(function(i){return i[i.Word=0]="Word",i[i.Space=1]="Space",i[i.Other=2]="Other",i})(je||(je={})),u$=/[\u00df\u0587\u0590-\u05f4\u0600-\u06ff\u3040-\u309f\u30a0-\u30ff\u3400-\u4db5\u4e00-\u9fcc\uac00-\ud7af]/,xs;try{xs=new RegExp("[\\p{Alphabetic}\\p{Number}_]","u")}catch{}function d$(i){if(xs)return xs.test(i);for(let e=0;e"\x80"&&(t.toUpperCase()!=t.toLowerCase()||u$.test(t)))return!0}return!1}function $$(i){return e=>{if(!/\S/.test(e))return je.Space;if(d$(e))return je.Word;for(let t=0;t-1)return je.Word;return je.Other}}var D=class i{constructor(e,t,r,n,s,o){this.config=e,this.doc=t,this.selection=r,this.values=n,this.status=e.statusTemplate.slice(),this.computeSlot=s,o&&(o._state=this);for(let a=0;an.set(l,O)),t=null),n.set(a.value.compartment,a.value.extension)):a.is(B.reconfigure)?(t=null,r=a.value):a.is(B.appendConfig)&&(t=null,r=Si(r).concat(a.value));let s;t?s=e.startState.values.slice():(t=Dr.resolve(r,n,this),s=new i(t,this.doc,this.selection,t.dynamicSlots.map(()=>null),(O,l)=>l.reconfigure(O,this),null).values);let o=e.startState.facet(Ts)?e.newSelection:e.newSelection.asSingle();new i(t,e.newDoc,o,s,(a,O)=>O.update(a,e),e)}replaceSelection(e){return typeof e=="string"&&(e=this.toText(e)),this.changeByRange(t=>({changes:{from:t.from,to:t.to,insert:e},range:Q.cursor(t.from+e.length)}))}changeByRange(e){let t=this.selection,r=e(t.ranges[0]),n=this.changes(r.changes),s=[r.range],o=Si(r.effects);for(let a=1;ao.spec.fromJSON(a,O)))}}return i.create({doc:e.doc,selection:Q.fromJSON(e.selection),extensions:t.extensions?n.concat([t.extensions]):n})}static create(e={}){let t=Dr.resolve(e.extensions||[],new Map),r=e.doc instanceof W?e.doc:W.of((e.doc||"").split(t.staticFacet(i.lineSeparator)||gs)),n=e.selection?e.selection instanceof Q?e.selection:Q.single(e.selection.anchor,e.selection.head):Q.single(0);return sl(n,r.length),t.staticFacet(Ts)||(n=n.asSingle()),new i(t,r,n,t.dynamicSlots.map(()=>null),(s,o)=>o.create(s),null)}get tabSize(){return this.facet(i.tabSize)}get lineBreak(){return this.facet(i.lineSeparator)||` +`}get readOnly(){return this.facet(hl)}phrase(e,...t){for(let r of this.facet(i.phrases))if(Object.prototype.hasOwnProperty.call(r,e)){e=r[e];break}return t.length&&(e=e.replace(/\$(\$|\d*)/g,(r,n)=>{if(n=="$")return"$";let s=+(n||1);return!s||s>t.length?r:t[s-1]})),e}languageDataAt(e,t,r=-1){let n=[];for(let s of this.facet(ol))for(let o of s(this,t,r))Object.prototype.hasOwnProperty.call(o,e)&&n.push(o[e]);return n}charCategorizer(e){let t=this.languageDataAt("wordChars",e);return $$(t.length?t[0]:"")}wordAt(e){let{text:t,from:r,length:n}=this.doc.lineAt(e),s=this.charCategorizer(e),o=e-r,a=e-r;for(;o>0;){let O=ae(t,o,!1);if(s(t.slice(O,o))!=je.Word)break;o=O}for(;ai.length?i[0]:4});D.lineSeparator=al;D.readOnly=hl;D.phrases=v.define({compare(i,e){let t=Object.keys(i),r=Object.keys(e);return t.length==r.length&&t.every(n=>i[n]==e[n])}});D.languageData=ol;D.changeFilter=Ol;D.transactionFilter=ll;D.transactionExtender=cl;pt.reconfigure=B.define();function Zt(i,e,t={}){let r={};for(let n of i)for(let s of Object.keys(n)){let o=n[s],a=r[s];if(a===void 0)r[s]=o;else if(!(a===o||o===void 0))if(Object.hasOwnProperty.call(t,s))r[s]=t[s](a,o);else throw new Error("Config merge conflict for field "+s)}for(let n in e)r[n]===void 0&&(r[n]=e[n]);return r}var Ue=class{eq(e){return this==e}range(e,t=e){return Hi.create(e,t,this)}};Ue.prototype.startSide=Ue.prototype.endSide=0;Ue.prototype.point=!1;Ue.prototype.mapMode=le.TrackDel;function zs(i,e){return i==e||i.constructor==e.constructor&&i.eq(e)}var Hi=class i{constructor(e,t,r){this.from=e,this.to=t,this.value=r}static create(e,t,r){return new i(e,t,r)}};function ks(i,e){return i.from-e.from||i.value.startSide-e.value.startSide}var Xs=class i{constructor(e,t,r,n){this.from=e,this.to=t,this.value=r,this.maxPoint=n}get length(){return this.to[this.to.length-1]}findIndex(e,t,r,n=0){let s=r?this.to:this.from;for(let o=n,a=s.length;;){if(o==a)return o;let O=o+a>>1,l=s[O]-e||(r?this.value[O].endSide:this.value[O].startSide)-t;if(O==o)return l>=0?o:a;l>=0?a=O:o=O+1}}between(e,t,r,n){for(let s=this.findIndex(t,-1e9,!0),o=this.findIndex(r,1e9,!1,s);sd||f==d&&l.startSide>0&&l.endSide<=0)continue;(d-f||l.endSide-l.startSide)<0||(o<0&&(o=f),l.point&&(a=Math.max(a,d-f)),r.push(l),n.push(f-o),s.push(d-o))}return{mapped:r.length?new i(n,s,r,a):null,pos:o}}},G=class i{constructor(e,t,r,n){this.chunkPos=e,this.chunk=t,this.nextLayer=r,this.maxPoint=n}static create(e,t,r,n){return new i(e,t,r,n)}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:r=!1,filterFrom:n=0,filterTo:s=this.length}=e,o=e.filter;if(t.length==0&&!o)return this;if(r&&(t=t.slice().sort(ks)),this.isEmpty)return t.length?i.of(t):this;let a=new Fr(this,null,-1).goto(0),O=0,l=[],c=new Jt;for(;a.value||O=0){let h=t[O++];c.addInner(h.from,h.to,h.value)||l.push(h)}else a.rangeIndex==1&&a.chunkIndexthis.chunkEnd(a.chunkIndex)||sa.to||s=s&&e<=s+o.length&&o.between(s,e-s,t-s,r)===!1)return}this.nextLayer.between(e,t,r)}}iter(e=0){return Ki.from([this]).goto(e)}get isEmpty(){return this.nextLayer==this}static iter(e,t=0){return Ki.from(e).goto(t)}static compare(e,t,r,n,s=-1){let o=e.filter(h=>h.maxPoint>0||!h.isEmpty&&h.maxPoint>=s),a=t.filter(h=>h.maxPoint>0||!h.isEmpty&&h.maxPoint>=s),O=tl(o,a,r),l=new Ft(o,O,s),c=new Ft(a,O,s);r.iterGaps((h,f,d)=>il(l,h,c,f,d,n)),r.empty&&r.length==0&&il(l,0,c,0,0,n)}static eq(e,t,r=0,n){n==null&&(n=999999999);let s=e.filter(c=>!c.isEmpty&&t.indexOf(c)<0),o=t.filter(c=>!c.isEmpty&&e.indexOf(c)<0);if(s.length!=o.length)return!1;if(!s.length)return!0;let a=tl(s,o),O=new Ft(s,a,0).goto(r),l=new Ft(o,a,0).goto(r);for(;;){if(O.to!=l.to||!vs(O.active,l.active)||O.point&&(!l.point||!zs(O.point,l.point)))return!1;if(O.to>n)return!0;O.next(),l.next()}}static spans(e,t,r,n,s=-1){let o=new Ft(e,null,s).goto(t),a=t,O=o.openStart;for(;;){let l=Math.min(o.to,r);if(o.point){let c=o.activeForPoint(o.to),h=o.pointFroma&&(n.span(a,l,o.active,O),O=o.openEnd(l));if(o.to>r)return O+(o.point&&o.to>r?1:0);a=o.to,o.next()}}static of(e,t=!1){let r=new Jt;for(let n of e instanceof Hi?[e]:t?p$(e):e)r.add(n.from,n.to,n.value);return r.finish()}static join(e){if(!e.length)return i.empty;let t=e[e.length-1];for(let r=e.length-2;r>=0;r--)for(let n=e[r];n!=i.empty;n=n.nextLayer)t=new i(n.chunkPos,n.chunk,t,Math.max(n.maxPoint,t.maxPoint));return t}};G.empty=new G([],[],null,-1);function p$(i){if(i.length>1)for(let e=i[0],t=1;t0)return i.slice().sort(ks);e=r}return i}G.empty.nextLayer=G.empty;var Jt=class i{finishChunk(e){this.chunks.push(new Xs(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,r){this.addInner(e,t,r)||(this.nextLayer||(this.nextLayer=new i)).add(e,t,r)}addInner(e,t,r){let n=e-this.lastTo||r.startSide-this.last.endSide;if(n<=0&&(e-this.lastFrom||r.startSide-this.last.startSide)<0)throw new Error("Ranges must be added sorted by `from` position and `startSide`");return n<0?!1:(this.from.length==250&&this.finishChunk(!0),this.chunkStart<0&&(this.chunkStart=e),this.from.push(e-this.chunkStart),this.to.push(t-this.chunkStart),this.last=r,this.lastFrom=e,this.lastTo=t,this.value.push(r),r.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 r=t.value.length-1;return this.last=t.value[r],this.lastFrom=t.from[r]+e,this.lastTo=t.to[r]+e,!0}finish(){return this.finishInner(G.empty)}finishInner(e){if(this.from.length&&this.finishChunk(!1),this.chunks.length==0)return e;let t=G.create(this.chunkPos,this.chunks,this.nextLayer?this.nextLayer.finishInner(e):e,this.setMaxPoint);return this.from=null,t}};function tl(i,e,t){let r=new Map;for(let s of i)for(let o=0;o=this.minPoint)break}}setRangeIndex(e){if(e==this.layer.chunk[this.chunkIndex].value.length){if(this.chunkIndex++,this.skip)for(;this.chunkIndex=r&&n.push(new Fr(o,t,r,s));return n.length==1?n[0]:new i(n)}get startSide(){return this.value?this.value.startSide:0}goto(e,t=-1e9){for(let r of this.heap)r.goto(e,t);for(let r=this.heap.length>>1;r>=0;r--)ps(this.heap,r);return this.next(),this}forward(e,t){for(let r of this.heap)r.forward(e,t);for(let r=this.heap.length>>1;r>=0;r--)ps(this.heap,r);(this.to-e||this.value.endSide-t)<0&&this.next()}next(){if(this.heap.length==0)this.from=this.to=1e9,this.value=null,this.rank=-1;else{let e=this.heap[0];this.from=e.from,this.to=e.to,this.value=e.value,this.rank=e.rank,e.value&&e.next(),ps(this.heap,0)}}};function ps(i,e){for(let t=i[e];;){let r=(e<<1)+1;if(r>=i.length)break;let n=i[r];if(r+1=0&&(n=i[r+1],r++),t.compare(n)<0)break;i[r]=t,i[e]=n,e=r}}var Ft=class{constructor(e,t,r){this.minPoint=r,this.active=[],this.activeTo=[],this.activeRank=[],this.minActive=-1,this.point=null,this.pointFrom=0,this.pointRank=0,this.to=-1e9,this.endSide=0,this.openStart=-1,this.cursor=Ki.from(e,t,r)}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){Mr(this.active,e),Mr(this.activeTo,e),Mr(this.activeRank,e),this.minActive=rl(this.active,this.activeTo)}addActive(e){let t=0,{value:r,to:n,rank:s}=this.cursor;for(;t0;)t++;Er(this.active,t,r),Er(this.activeTo,t,n),Er(this.activeRank,t,s),e&&Er(e,t,this.cursor.from),this.minActive=rl(this.active,this.activeTo)}next(){let e=this.to,t=this.point;this.point=null;let r=this.openStart<0?[]:null;for(;;){let n=this.minActive;if(n>-1&&(this.activeTo[n]-this.cursor.from||this.active[n].endSide-this.cursor.startSide)<0){if(this.activeTo[n]>e){this.to=this.activeTo[n],this.endSide=this.active[n].endSide;break}this.removeActive(n),r&&Mr(r,n)}else if(this.cursor.value)if(this.cursor.from>e){this.to=this.cursor.from,this.endSide=this.cursor.startSide;break}else{let s=this.cursor.value;if(!s.point)this.addActive(r),this.cursor.next();else if(t&&this.cursor.to==this.to&&this.cursor.from=0&&r[n]=0&&!(this.activeRank[r]e||this.activeTo[r]==e&&this.active[r].endSide>=this.point.endSide)&&t.push(this.active[r]);return t.reverse()}openEnd(e){let t=0;for(let r=this.activeTo.length-1;r>=0&&this.activeTo[r]>e;r--)t++;return t}};function il(i,e,t,r,n,s){i.goto(e),t.goto(r);let o=r+n,a=r,O=r-e,l=!!s.boundChange;for(let c=!1;;){let h=i.to+O-t.to,f=h||i.endSide-t.endSide,d=f<0?i.to+O:t.to,$=Math.min(d,o);if(i.point||t.point?(i.point&&t.point&&zs(i.point,t.point)&&vs(i.activeForPoint(i.to),t.activeForPoint(t.to))||s.comparePoint(a,$,i.point,t.point),c=!1):(c&&s.boundChange(a),$>a&&!vs(i.active,t.active)&&s.compareRange(a,$,i.active,t.active),l&&$o)break;a=d,f<=0&&i.next(),f>=0&&t.next()}}function vs(i,e){if(i.length!=e.length)return!1;for(let t=0;t=e;r--)i[r+1]=i[r];i[e]=t}function rl(i,e){let t=-1,r=1e9;for(let n=0;n=e)return n;if(n==i.length)break;s+=i.charCodeAt(n)==9?t-s%t:1,n=ae(i,n)}return r===!0?-1:i.length}var dl=typeof Symbol>"u"?"__\u037C":Symbol.for("\u037C"),Ys=typeof Symbol>"u"?"__styleSet"+Math.floor(Math.random()*1e8):Symbol("styleSet"),$l=typeof globalThis<"u"?globalThis:typeof window<"u"?window:{},Me=class{constructor(e,t){this.rules=[];let{finish:r}=t||{};function n(o){return/^@/.test(o)?[o]:o.split(/,\s*/)}function s(o,a,O,l){let c=[],h=/^@(\w+)\b/.exec(o[0]),f=h&&h[1]=="keyframes";if(h&&a==null)return O.push(o[0]+";");for(let d in a){let $=a[d];if(/&/.test(d))s(d.split(/,\s*/).map(p=>o.map(m=>p.replace(/&/,m))).reduce((p,m)=>p.concat(m)),$,O);else if($&&typeof $=="object"){if(!h)throw new RangeError("The value of a property ("+d+") should be a primitive value.");s(n(d),$,c,f)}else $!=null&&c.push(d.replace(/_.*/,"").replace(/[A-Z]/g,p=>"-"+p.toLowerCase())+": "+$+";")}(c.length||f)&&O.push((r&&!h&&!l?o.map(r):o).join(", ")+" {"+c.join(" ")+"}")}for(let o in e)s(n(o),e[o],this.rules)}getRules(){return this.rules.join(` +`)}static newName(){let e=$l[dl]||1;return $l[dl]=e+1,"\u037C"+e.toString(36)}static mount(e,t,r){let n=e[Ys],s=r&&r.nonce;n?s&&n.setNonce(s):n=new Cs(e,s),n.mount(Array.isArray(t)?t:[t],e)}},pl=new Map,Cs=class{constructor(e,t){let r=e.ownerDocument||e,n=r.defaultView;if(!e.head&&e.adoptedStyleSheets&&n.CSSStyleSheet){let s=pl.get(r);if(s)return e[Ys]=s;this.sheet=new n.CSSStyleSheet,pl.set(r,this)}else this.styleTag=r.createElement("style"),t&&this.styleTag.setAttribute("nonce",t);this.modules=[],e[Ys]=this}mount(e,t){let r=this.sheet,n=0,s=0;for(let o=0;o-1&&(this.modules.splice(O,1),s--,O=-1),O==-1){if(this.modules.splice(s++,0,a),r)for(let l=0;l",191:"?",192:"~",219:"{",220:"|",221:"}",222:'"'},m$=typeof navigator<"u"&&/Mac/.test(navigator.platform),g$=typeof navigator<"u"&&/MSIE \d|Trident\/(?:[7-9]|\d{2,})\..*rv:(\d+)/.exec(navigator.userAgent);for(ne=0;ne<10;ne++)mt[48+ne]=mt[96+ne]=String(ne);var ne;for(ne=1;ne<=24;ne++)mt[ne+111]="F"+ne;var ne;for(ne=65;ne<=90;ne++)mt[ne]=String.fromCharCode(ne+32),Ti[ne]=String.fromCharCode(ne);var ne;for(Kr in mt)Ti.hasOwnProperty(Kr)||(Ti[Kr]=mt[Kr]);var Kr;function ml(i){var e=m$&&i.metaKey&&i.shiftKey&&!i.ctrlKey&&!i.altKey||g$&&i.shiftKey&&i.key&&i.key.length==1||i.key=="Unidentified",t=!e&&i.key||(i.shiftKey?Ti:mt)[i.keyCode]||i.key||"Unidentified";return t=="Esc"&&(t="Escape"),t=="Del"&&(t="Delete"),t=="Left"&&(t="ArrowLeft"),t=="Up"&&(t="ArrowUp"),t=="Right"&&(t="ArrowRight"),t=="Down"&&(t="ArrowDown"),t}var Qe=typeof navigator<"u"?navigator:{userAgent:"",vendor:"",platform:""},Es=typeof document<"u"?document:{documentElement:{style:{}}},Ls=/Edge\/(\d+)/.exec(Qe.userAgent),Fl=/MSIE \d/.test(Qe.userAgent),Gs=/Trident\/(?:[7-9]|\d{2,})\..*rv:(\d+)/.exec(Qe.userAgent),kn=!!(Fl||Gs||Ls),gl=!kn&&/gecko\/(\d+)/i.test(Qe.userAgent),Ws=!kn&&/Chrome\/(\d+)/.exec(Qe.userAgent),Ql="webkitFontSmoothing"in Es.documentElement.style,Is=!kn&&/Apple Computer/.test(Qe.vendor),Sl=Is&&(/Mobile\/\w+/.test(Qe.userAgent)||Qe.maxTouchPoints>2),X={mac:Sl||/Mac/.test(Qe.platform),windows:/Win/.test(Qe.platform),linux:/Linux|X11/.test(Qe.platform),ie:kn,ie_version:Fl?Es.documentMode||6:Gs?+Gs[1]:Ls?+Ls[1]:0,gecko:gl,gecko_version:gl?+(/Firefox\/(\d+)/.exec(Qe.userAgent)||[0,0])[1]:0,chrome:!!Ws,chrome_version:Ws?+Ws[1]:0,ios:Sl,android:/Android\b/.test(Qe.userAgent),webkit:Ql,webkit_version:Ql?+(/\bAppleWebKit\/(\d+)/.exec(Qe.userAgent)||[0,0])[1]:0,safari:Is,safari_version:Is?+(/\bVersion\/(\d+(\.\d+)?)/.exec(Qe.userAgent)||[0,0])[1]:0,tabSize:Es.documentElement.style.tabSize!=null?"tab-size":"-moz-tab-size"};function zo(i,e){for(let t in i)t=="class"&&e.class?e.class+=" "+i.class:t=="style"&&e.style?e.style+=";"+i.style:e[t]=i[t];return e}var fn=Object.create(null);function Yo(i,e,t){if(i==e)return!0;i||(i=fn),e||(e=fn);let r=Object.keys(i),n=Object.keys(e);if(r.length-(t&&r.indexOf(t)>-1?1:0)!=n.length-(t&&n.indexOf(t)>-1?1:0))return!1;for(let s of r)if(s!=t&&(n.indexOf(s)==-1||i[s]!==e[s]))return!1;return!0}function Q$(i,e){for(let t=i.attributes.length-1;t>=0;t--){let r=i.attributes[t].name;e[r]==null&&i.removeAttribute(r)}for(let t in e){let r=e[t];t=="style"?i.style.cssText=r:i.getAttribute(t)!=r&&i.setAttribute(t,r)}}function Pl(i,e,t){let r=!1;if(e)for(let n in e)t&&n in t||(r=!0,n=="style"?i.style.cssText="":i.removeAttribute(n));if(t)for(let n in t)e&&e[n]==t[n]||(r=!0,n=="style"?i.style.cssText=t[n]:i.setAttribute(n,t[n]));return r}function S$(i){let e=Object.create(null);for(let t=0;t0?3e8:-4e8:t>0?1e8:-1e8,new ri(e,t,t,r,e.widget||null,!1)}static replace(e){let t=!!e.block,r,n;if(e.isBlockGap)r=-5e8,n=4e8;else{let{start:s,end:o}=Hl(e,t);r=(s?t?-3e8:-1:5e8)-1,n=(o?t?2e8:1:-6e8)+1}return new ri(e,r,n,t,e.widget||null,!0)}static line(e){return new hr(e)}static set(e,t=!1){return G.of(e,t)}hasHeight(){return this.widget?this.widget.estimatedHeight>-1:!1}};M.none=G.empty;var cr=class i extends M{constructor(e){let{start:t,end:r}=Hl(e);super(t?-1:5e8,r?1:-6e8,null,e),this.tagName=e.tagName||"span",this.attrs=e.class&&e.attributes?zo(e.attributes,{class:e.class}):e.class?{class:e.class}:e.attributes||fn}eq(e){return this==e||e instanceof i&&this.tagName==e.tagName&&Yo(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)}};cr.prototype.point=!1;var hr=class i extends M{constructor(e){super(-2e8,-2e8,null,e)}eq(e){return e instanceof i&&this.spec.class==e.spec.class&&Yo(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)}};hr.prototype.mapMode=le.TrackBefore;hr.prototype.point=!0;var ri=class i extends M{constructor(e,t,r,n,s,o){super(t,r,s,e),this.block=n,this.isReplace=o,this.mapMode=n?t<=0?le.TrackBefore:le.TrackAfter:le.TrackDel}get type(){return this.startSide!=this.endSide?ce.WidgetRange:this.startSide<=0?ce.WidgetBefore:ce.WidgetAfter}get heightRelevant(){return this.block||!!this.widget&&(this.widget.estimatedHeight>=5||this.widget.lineBreaks>0)}eq(e){return e instanceof i&&P$(this.widget,e.widget)&&this.block==e.block&&this.startSide==e.startSide&&this.endSide==e.endSide}range(e,t=e){if(this.isReplace&&(e>t||e==t&&this.startSide>0&&this.endSide<=0))throw new RangeError("Invalid range for replacement decoration");if(!this.isReplace&&t!=e)throw new RangeError("Widget decorations can only have zero-length ranges");return super.range(e,t)}};ri.prototype.point=!0;function Hl(i,e=!1){let{inclusiveStart:t,inclusiveEnd:r}=i;return t==null&&(t=i.inclusive),r==null&&(r=i.inclusive),{start:t??e,end:r??e}}function P$(i,e){return i==e||!!(i&&e&&i.compare(e))}function ki(i,e,t,r=0){let n=t.length-1;n>=0&&t[n]+r>=i?t[n]=Math.max(t[n],e):t.push(i,e)}var un=class i extends Ue{constructor(e,t){super(),this.tagName=e,this.attributes=t}eq(e){return e==this||e instanceof i&&this.tagName==e.tagName&&Yo(this.attributes,e.attributes)}static create(e){return new i(e.tagName,e.attributes||fn)}static set(e,t=!1){return G.of(e,t)}};un.prototype.startSide=un.prototype.endSide=-1;function fr(i){let e;return i.nodeType==11?e=i.getSelection?i:i.ownerDocument:e=i,e.getSelection()}function Bs(i,e){return e?i==e||i.contains(e.nodeType!=1?e.parentNode:e):!1}function ir(i,e){if(!e.anchorNode)return!1;try{return Bs(i,e.anchorNode)}catch{return!1}}function an(i){return i.nodeType==3?ur(i,0,i.nodeValue.length).getClientRects():i.nodeType==1?i.getClientRects():[]}function rr(i,e,t,r){return t?Tl(i,e,t,r,-1)||Tl(i,e,t,r,1):!1}function _t(i){for(var e=0;;e++)if(i=i.previousSibling,!i)return e}function dn(i){return i.nodeType==1&&/^(DIV|P|LI|UL|OL|BLOCKQUOTE|DD|DT|H\d|SECTION|PRE)$/.test(i.nodeName)}function Tl(i,e,t,r,n){for(;;){if(i==t&&e==r)return!0;if(e==(n<0?0:Pt(i))){if(i.nodeName=="DIV")return!1;let s=i.parentNode;if(!s||s.nodeType!=1)return!1;e=_t(i)+(n<0?0:1),i=s}else if(i.nodeType==1){if(i=i.childNodes[e+(n<0?-1:0)],i.nodeType==1&&i.contentEditable=="false")return!1;e=n<0?Pt(i):0}else return!1}}function Pt(i){return i.nodeType==3?i.nodeValue.length:i.childNodes.length}function $n(i,e){let t=e?i.left:i.right;return{left:t,right:t,top:i.top,bottom:i.bottom}}function T$(i){let e=i.visualViewport;return e?{left:0,right:e.width,top:0,bottom:e.height}:{left:0,right:i.innerWidth,top:0,bottom:i.innerHeight}}function Kl(i,e){let t=e.width/i.offsetWidth,r=e.height/i.offsetHeight;return(t>.995&&t<1.005||!isFinite(t)||Math.abs(e.width-i.offsetWidth)<1)&&(t=1),(r>.995&&r<1.005||!isFinite(r)||Math.abs(e.height-i.offsetHeight)<1)&&(r=1),{scaleX:t,scaleY:r}}function y$(i,e,t,r,n,s,o,a){let O=i.ownerDocument,l=O.defaultView||window;for(let c=i,h=!1;c&&!h;)if(c.nodeType==1){let f,d=c==O.body,$=1,p=1;if(d)f=T$(l);else{if(/^(fixed|sticky)$/.test(getComputedStyle(c).position)&&(h=!0),c.scrollHeight<=c.clientHeight&&c.scrollWidth<=c.clientWidth){c=c.assignedSlot||c.parentNode;continue}let S=c.getBoundingClientRect();({scaleX:$,scaleY:p}=Kl(c,S)),f={left:S.left,right:S.left+c.clientWidth*$,top:S.top,bottom:S.top+c.clientHeight*p}}let m=0,g=0;if(n=="nearest")e.top0&&e.bottom>f.bottom+g&&(g=e.bottom-f.bottom+o)):e.bottom>f.bottom-o&&(g=e.bottom-f.bottom+o,t<0&&e.top-g0&&e.right>f.right+m&&(m=e.right-f.right+s)):e.right>f.right-s&&(m=e.right-f.right+s,t<0&&e.leftf.bottom||e.leftf.right)&&(e={left:Math.max(e.left,f.left),right:Math.min(e.right,f.right),top:Math.max(e.top,f.top),bottom:Math.min(e.bottom,f.bottom)}),c=c.assignedSlot||c.parentNode}else if(c.nodeType==11)c=c.host;else break}function Jl(i,e=!0){let t=i.ownerDocument,r=null,n=null;for(let s=i.parentNode;s&&!(s==t.body||(!e||r)&&n);)if(s.nodeType==1)!n&&s.scrollHeight>s.clientHeight&&(n=s),e&&!r&&s.scrollWidth>s.clientWidth&&(r=s),s=s.assignedSlot||s.parentNode;else if(s.nodeType==11)s=s.host;else break;return{x:r,y:n}}var Ds=class{constructor(){this.anchorNode=null,this.anchorOffset=0,this.focusNode=null,this.focusOffset=0}eq(e){return this.anchorNode==e.anchorNode&&this.anchorOffset==e.anchorOffset&&this.focusNode==e.focusNode&&this.focusOffset==e.focusOffset}setRange(e){let{anchorNode:t,focusNode:r}=e;this.set(t,Math.min(e.anchorOffset,t?Pt(t):0),r,Math.min(e.focusOffset,r?Pt(r):0))}set(e,t,r,n){this.anchorNode=e,this.anchorOffset=t,this.focusNode=r,this.focusOffset=n}},ei=null;X.safari&&X.safari_version>=26&&(ei=!1);function ec(i){if(i.setActive)return i.setActive();if(ei)return i.focus(ei);let e=[];for(let t=i;t&&(e.push(t,t.scrollTop,t.scrollLeft),t!=t.ownerDocument);t=t.parentNode);if(i.focus(ei==null?{get preventScroll(){return ei={preventScroll:!0},!0}}:void 0),!ei){ei=!1;for(let t=0;tMath.max(0,i.document.documentElement.scrollHeight-i.innerHeight-4):i.scrollTop>Math.max(1,i.scrollHeight-i.clientHeight-4)}function ic(i,e){for(let t=i,r=e;;){if(t.nodeType==3&&r>0)return{node:t,offset:r};if(t.nodeType==1&&r>0){if(t.contentEditable=="false")return null;t=t.childNodes[r-1],r=Pt(t)}else if(t.parentNode&&!dn(t))r=_t(t),t=t.parentNode;else return null}}function rc(i,e){for(let t=i,r=e;;){if(t.nodeType==3&&r=t){if(a.level==r)return o;(s<0||(n!=0?n<0?a.fromt:e[s].level>a.level))&&(s=o)}}if(s<0)throw new RangeError("Index out of range");return s}};function oc(i,e){if(i.length!=e.length)return!1;for(let t=0;t=0;p-=3)if(Ot[p+1]==-d){let m=Ot[p+2],g=m&2?n:m&4?m&1?s:n:0;g&&(F[h]=F[Ot[p]]=g),a=p;break}}else{if(Ot.length==189)break;Ot[a++]=h,Ot[a++]=f,Ot[a++]=O}else if(($=F[h])==2||$==1){let p=$==n;O=p?0:1;for(let m=a-3;m>=0;m-=3){let g=Ot[m+2];if(g&2)break;if(p)Ot[m+2]|=2;else{if(g&4)break;Ot[m+2]|=4}}}}}function R$(i,e,t,r){for(let n=0,s=r;n<=t.length;n++){let o=n?t[n-1].to:i,a=nO;)$==m&&($=t[--p].from,m=p?t[p-1].to:i),F[--$]=d;O=c}else s=l,O++}}}function Fs(i,e,t,r,n,s,o){let a=r%2?2:1;if(r%2==n%2)for(let O=e,l=0;OO&&o.push(new Ge(O,p.from,d));let m=p.direction==ni!=!(d%2);Hs(i,m?r+1:r,n,p.inner,p.from,p.to,o),O=p.to}$=p.to}else{if($==t||(c?F[$]!=a:F[$]==a))break;$++}f?Fs(i,O,$,r+1,n,f,o):O<$&&o.push(new Ge(O,$,d)),O=$}else for(let O=t,l=s.length;O>e;){let c=!0,h=!1;if(!l||O>s[l-1].to){let p=F[O-1];p!=a&&(c=!1,h=p==16)}let f=!c&&a==1?[]:null,d=c?r:r+1,$=O;e:for(;;)if(l&&$==s[l-1].to){if(h)break e;let p=s[--l];if(!c)for(let m=p.from,g=l;;){if(m==e)break e;if(g&&s[g-1].to==m)m=s[--g].from;else{if(F[m-1]==a)break e;break}}if(f)f.push(p);else{p.toF.length;)F[F.length]=256;let r=[],n=e==ni?0:1;return Hs(i,n,n,t,0,i.length,r),r}function ac(i){return[new Ge(0,i,0)]}var Oc="";function _$(i,e,t,r,n){var s;let o=r.head-i.from,a=Ge.find(e,o,(s=r.bidiLevel)!==null&&s!==void 0?s:-1,r.assoc),O=e[a],l=O.side(n,t);if(o==l){let f=a+=n?1:-1;if(f<0||f>=e.length)return null;O=e[a=f],o=O.side(!n,t),l=O.side(n,t)}let c=ae(i.text,o,O.forward(n,t));(cO.to)&&(c=l),Oc=i.text.slice(Math.min(o,c),Math.max(o,c));let h=a==(n?e.length-1:0)?null:e[a+(n?1:-1)];return h&&c==l&&h.level+(n?0:1)i.some(e=>e)}),pc=v.define({combine:i=>i.some(e=>e)}),mc=v.define(),nr=class i{constructor(e,t,r,n,s,o=!1){this.range=e,this.y=t,this.x=r,this.yMargin=n,this.xMargin=s,this.isSnapshot=o}map(e){return e.empty?this:new i(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 i(Q.cursor(e.doc.length),this.y,this.x,this.yMargin,this.xMargin,this.isSnapshot)}},Jr=B.define({map:(i,e)=>i.map(e)}),gc=B.define();function Ie(i,e,t){let r=i.facet(fc);r.length?r[0](e):window.onerror&&window.onerror(String(e),t,void 0,void 0,e)||(t?console.error(t+":",e):console.error(e))}var gt=v.define({combine:i=>i.length?i[0]:!0}),Y$=0,bi=v.define({combine(i){return i.filter((e,t)=>{for(let r=0;r{let O=[];return o&&O.push(Xn.of(l=>{let c=l.plugin(a);return c?o(c):M.none})),s&&O.push(s(a)),O})}static fromClass(e,t){return i.define((r,n)=>new e(r,n),t)}},sr=class{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 t=this.mustUpdate;if(this.mustUpdate=null,this.value.update)try{this.value.update(t)}catch(r){if(Ie(t.state,r,"CodeMirror plugin crashed"),this.value.destroy)try{this.value.destroy()}catch{}this.deactivate()}}}else if(this.spec)try{this.value=this.spec.plugin.create(e,this.spec.arg)}catch(t){Ie(e.state,t,"CodeMirror plugin crashed"),this.deactivate()}return this}destroy(e){var t;if(!((t=this.value)===null||t===void 0)&&t.destroy)try{this.value.destroy()}catch(r){Ie(e.state,r,"CodeMirror plugin crashed")}}deactivate(){this.spec=this.value=null}},Qc=v.define(),Ao=v.define(),Xn=v.define(),Sc=v.define(),jo=v.define(),dr=v.define(),Pc=v.define();function bl(i,e){let t=i.state.facet(Pc);if(!t.length)return t;let r=t.map(s=>s instanceof Function?s(i):s),n=[];return G.spans(r,e.from,e.to,{point(){},span(s,o,a,O){let l=s-e.from,c=o-e.from,h=n;for(let f=a.length-1;f>=0;f--,O--){let d=a[f].spec.bidiIsolate,$;if(d==null&&(d=z$(e.text,l,c)),O>0&&h.length&&($=h[h.length-1]).to==l&&$.direction==d)$.to=c,h=$.inner;else{let p={from:l,to:c,direction:d,inner:[]};h.push(p),h=p.inner}}}}),n}var Tc=v.define();function yc(i){let e=0,t=0,r=0,n=0;for(let s of i.state.facet(Tc)){let o=s(i);o&&(o.left!=null&&(e=Math.max(e,o.left)),o.right!=null&&(t=Math.max(t,o.right)),o.top!=null&&(r=Math.max(r,o.top)),o.bottom!=null&&(n=Math.max(n,o.bottom)))}return{left:e,right:t,top:r,bottom:n}}var Ji=v.define(),He=class i{constructor(e,t,r,n){this.fromA=e,this.toA=t,this.fromB=r,this.toB=n}join(e){return new i(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,r=this;for(;t>0;t--){let n=e[t-1];if(!(n.fromA>r.toA)){if(n.toAn.push(new He(s,o,a,O))),this.changedRanges=n}static create(e,t,r){return new i(e,t,r)}get viewportChanged(){return(this.flags&4)>0}get viewportMoved(){return(this.flags&8)>0}get heightChanged(){return(this.flags&2)>0}get geometryChanged(){return this.docChanged||(this.flags&18)>0}get focusChanged(){return(this.flags&1)>0}get docChanged(){return!this.changes.empty}get selectionSet(){return this.transactions.some(e=>e.selection)}get empty(){return this.flags==0&&this.transactions.length==0}},C$=[],te=class{constructor(e,t,r=0){this.dom=e,this.length=t,this.flags=r,this.parent=null,e.cmTile=this}get breakAfter(){return this.flags&1}get children(){return C$}isWidget(){return!1}get isHidden(){return!1}isComposite(){return!1}isLine(){return!1}isText(){return!1}isBlock(){return!1}get domAttrs(){return null}sync(e){if(this.flags|=2,this.flags&4){this.flags&=-5;let t=this.domAttrs;t&&Q$(this.dom,t)}}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 r=t;for(let n of this.children){if(n==e)return r;r+=n.length+n.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 r=_t(this.dom),n=this.length?e>0:t>0;return new lt(this.parent.dom,r+(n?1:0),e==0||e==this.length)}markDirty(e){this.flags&=-3,e&&(this.flags|=4),this.parent&&this.parent.flags&2&&this.parent.markDirty(!1)}get overrideDOMText(){return null}get root(){for(let e=this;e;e=e.parent)if(e instanceof Zi)return e;return null}static get(e){return e.cmTile}},vi=class extends te{constructor(e){super(e,0),this._children=[]}isComposite(){return!0}get children(){return this._children}get lastChild(){return this.children.length?this.children[this.children.length-1]:null}append(e){this.children.push(e),e.parent=this}sync(e){if(this.flags&2)return;super.sync(e);let t=this.dom,r=null,n,s=e?.node==t?e:null,o=0;for(let a of this.children){if(a.sync(e),o+=a.length+a.breakAfter,n=r?r.nextSibling:t.firstChild,s&&n!=a.dom&&(s.written=!0),a.dom.parentNode==t)for(;n&&n!=a.dom;)n=wl(n);else t.insertBefore(a.dom,n);r=a.dom}for(n=r?r.nextSibling:t.firstChild,s&&n&&(s.written=!0);n;)n=wl(n);this.length=o}};function wl(i){let e=i.nextSibling;return i.parentNode.removeChild(i),e}var Zi=class extends vi{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=te.get(e);if(t&&this.owns(t))return t;e=e.parentNode}}blockTiles(e){for(let t=[],r=this,n=0,s=0;;)if(n==r.children.length){if(!t.length)return;r=r.parent,r.breakAfter&&s++,n=t.pop()}else{let o=r.children[n++];if(o instanceof Qt)t.push(n),r=o,n=0;else{let a=s+o.length,O=e(o,s);if(O!==void 0)return O;s=a+o.breakAfter}}}resolveBlock(e,t){let r,n=-1,s,o=-1;if(this.blockTiles((a,O)=>{let l=O+a.length;if(e>=O&&e<=l){if(a.isWidget()&&t>=-1&&t<=1){if(a.flags&32)return!0;a.flags&16&&(r=void 0)}(Oe||e==O&&(t>1?a.length:a.covers(-1)))&&(!s||!a.isWidget()&&s.isWidget())&&(s=a,o=e-O)}}),!r&&!s)throw new Error("No tile at position "+e);return r&&t<0||!s?{tile:r,offset:n}:{tile:s,offset:o}}},Qt=class i extends vi{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):!1}get domAttrs(){return this.wrapper.attributes}static of(e,t){let r=new i(t||document.createElement(e.tagName),e);return t||(r.flags|=4),r}},Ri=class i extends vi{constructor(e,t){super(e),this.attrs=t}isLine(){return!0}static start(e,t,r){let n=new i(t||document.createElement("div"),e);return(!t||!r)&&(n.flags|=4),n}get domAttrs(){return this.attrs}resolveInline(e,t,r){let n=null,s=-1,o=null,a=-1;function O(c,h){for(let f=0,d=0;f=h&&($.isComposite()?O($,h-d):(!o||o.isHidden&&(t>0||r&&q$(o,$)))&&(p>h||$.flags&32)?(o=$,a=h-d):(dr&&(e=r);let n=e,s=e,o=0;e==0&&t<0||e==r&&t>=0?X.chrome||X.gecko||(e?(n--,o=1):s=0)?0:a.length-1];return X.safari&&!o&&O.width==0&&(O=Array.prototype.find.call(a,l=>l.width)||O),o?$n(O,o<0):O||null}static of(e,t){let r=new i(t||document.createTextNode(e),e);return t||(r.flags|=2),r}},si=class i extends te{constructor(e,t,r,n){super(e,t,n),this.widget=r}isWidget(){return!0}get isHidden(){return this.widget.isHidden}covers(e){return this.flags&48?!1:(this.flags&(e<0?64:128))>0}coordsIn(e,t){return this.coordsInWidget(e,t,!1)}coordsInWidget(e,t,r){let n=this.widget.coordsAt(this.dom,e,t);if(n)return n;if(r)return $n(this.dom.getBoundingClientRect(),this.length?e==0:t<=0);{let s=this.dom.getClientRects(),o=null;if(!s.length)return null;let a=this.flags&16?!0:this.flags&32?!1:e>0;for(let O=a?s.length-1:0;o=s[O],!(e>0?O==0:O==s.length-1||o.top0;)if(n.isComposite())if(o){if(!e)break;r&&r.break(),e--,o=!1}else if(s==n.children.length){if(!e&&!a.length)break;r&&r.leave(n),o=!!n.breakAfter,{tile:n,index:s}=a.pop(),s++}else{let O=n.children[s],l=O.breakAfter;(t>0?O.length<=e:O.length=0;a--){let O=t.marks[a],l=n.lastChild;if(l instanceof xe&&l.mark.eq(O.mark))l.dom!=O.dom&&l.setDOM(qs(O.dom)),n=l;else{if(this.cache.reused.get(O)){let h=te.get(O.dom);h&&h.setDOM(qs(O.dom))}let c=xe.of(O.mark,O.dom);n.append(c),n=c}this.cache.reused.set(O,2)}let s=te.get(e.text);s&&this.cache.reused.set(s,2);let o=new ti(e.text,e.text.nodeValue);o.flags|=8,n.append(o)}addInlineWidget(e,t,r){let n=this.afterWidget&&e.flags&48&&(this.afterWidget.flags&48)==(e.flags&48);n||this.flushBuffer();let s=this.ensureMarks(t,r);!n&&!(e.flags&16)&&s.append(this.getBuffer(1)),s.append(e),this.pos+=e.length,this.afterWidget=e}addMark(e,t,r){this.flushBuffer(),this.ensureMarks(t,r).append(e),this.pos+=e.length,this.afterWidget=null}addBlockWidget(e){this.getBlockPos().append(e),this.pos+=e.length,this.lastBlock=e,this.endLine()}continueWidget(e){let t=this.afterWidget||this.lastBlock;t.length+=e,this.pos+=e}addLineStart(e,t){var r;e||(e=bc);let n=Ri.start(e,t||((r=this.cache.find(Ri))===null||r===void 0?void 0:r.dom),!!t);this.getBlockPos().append(this.lastBlock=this.curLine=n)}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 r;let n=this.curLine;for(let s=e.length-1;s>=0;s--){let o=e[s],a;if(t>0&&(a=n.lastChild)&&a instanceof xe&&a.mark.eq(o))n=a,t--;else{let O=xe.of(o,(r=this.cache.find(xe,l=>l.mark.eq(o)))===null||r===void 0?void 0:r.dom);n.append(O),n=O,t=0}}return n}endLine(){if(this.curLine){this.flushBuffer();let e=this.curLine.lastChild;(!e||!xl(this.curLine,!1)||e.dom.nodeName!="BR"&&e.isWidget()&&!(X.ios&&xl(this.curLine,!0)))&&this.curLine.append(this.cache.findWidget(As,0,32)||new si(As.toDOM(),0,As,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=new eo(e.from,e.to,e.value,e.rank),r=this.wrappers.length;for(;r>0&&(this.wrappers[r-1].rank-t.rank||this.wrappers[r-1].to-t.to)<0;)r--;this.wrappers.splice(r,0,t)}this.wrapperPos=this.pos}getBlockPos(){var e;this.updateBlockWrappers();let t=this.root;for(let r of this.wrappers){let n=t.lastChild;if(r.fromo.wrapper.eq(r.wrapper)))===null||e===void 0?void 0:e.dom);t.append(s),t=s}}return t}blockPosCovered(){let e=this.lastBlock;return e!=null&&!e.breakAfter&&(!e.isWidget()||(e.flags&160)>0)}getBuffer(e){let t=2|(e<0?16:32),r=this.cache.find(Vi,void 0,1);return r&&(r.flags=t),r||new Vi(t)}flushBuffer(){this.afterWidget&&!(this.afterWidget.flags&32)&&(this.afterWidget.parent.append(this.getBuffer(-1)),this.afterWidget=null)}},io=class{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:n,lineBreak:s,done:o}=this.cursor.next(this.skipCount);if(this.skipCount=0,o)throw new Error("Ran out of text content when drawing inline views");this.text=n;let a=this.textOff=Math.min(e,n.length);return s?null:n.slice(0,a)}let t=Math.min(this.text.length,this.textOff+e),r=this.text.slice(this.textOff,t);return this.textOff=t,r}},mn=[si,Ri,ti,xe,Vi,Qt,Zi];for(let i=0;i[]),this.index=mn.map(()=>0),this.reused=new Map}add(e){let t=e.constructor.bucket,r=this.buckets[t];r.length<6?r.push(e):r[this.index[t]=(this.index[t]+1)%6]=e}find(e,t,r=2){let n=e.bucket,s=this.buckets[n],o=this.index[n];for(let a=s.length-1;a>=0;a--){let O=(a+o)%s.length,l=s[O];if((!t||t(l))&&!this.reused.has(l))return s.splice(O,1),O{if(this.cache.add(o),o.isComposite())return!1},enter:o=>this.cache.add(o),leave:()=>{},break:()=>{}}}run(e,t){let r=t&&this.getCompositionContext(t.text);for(let n=0,s=0,o=0;;){let a=on){let l=O-n;this.preserve(l,!o,!a),n=O,s+=l}if(!a)break;t&&a.fromA<=t.range.fromA&&a.toA>=t.range.toA?(this.forward(a.fromA,t.range.fromA,t.range.fromA{if(o.isWidget())if(this.openWidget)this.builder.continueWidget(O-a);else{let l=O>0||a{o.isLine()?this.builder.addLineStart(o.attrs,this.cache.maybeReuse(o)):(this.cache.add(o),o instanceof xe&&n.unshift(o.mark)),this.openWidget=!1},leave:o=>{o.isLine()?n.length&&(n.length=s=0):o instanceof xe&&(n.shift(),s=Math.min(s,n.length))},break:()=>{this.builder.addBreak(),this.openWidget=!1}}),this.text.skip(e)}emit(e,t){let r=null,n=this.builder,s=0,o=G.spans(this.decorations,e,t,{point:(a,O,l,c,h,f)=>{if(l instanceof ri){if(this.disallowBlockEffectsFor[f]){if(l.block)throw new RangeError("Block decorations may not be specified via plugins");if(O>this.view.state.doc.lineAt(a).to)throw new RangeError("Decorations that replace line breaks may not be specified via plugins")}if(s=c.length,h>c.length)n.continueWidget(O-a);else{let d=l.widget||(l.block?zt.block:zt.inline),$=A$(l),p=this.cache.findWidget(d,O-a,$)||si.of(d,this.view,O-a,$);l.block?(l.startSide>0&&n.addLineStartIfNotCovered(r),n.addBlockWidget(p)):(n.ensureLine(r),n.addInlineWidget(p,c,h))}r=null}else r=j$(r,l);O>a&&this.text.skip(O-a)},span:(a,O,l,c)=>{for(let h=a;hs,this.openMarks=o}forward(e,t,r=1){t-e<=10?this.old.advance(t-e,r,this.reuseWalker):(this.old.advance(5,-1,this.reuseWalker),this.old.advance(t-e-10,-1),this.old.advance(5,r,this.reuseWalker))}getCompositionContext(e){let t=[],r=null;for(let n=e.parentNode;;n=n.parentNode){let s=te.get(n);if(n==this.view.contentDOM)break;s instanceof xe?t.push(s):s?.isLine()?r=s:s instanceof Qt||(n.nodeName=="DIV"&&!r&&n!=this.view.contentDOM?r=new Ri(n,bc):r||t.push(xe.of(new cr({tagName:n.nodeName.toLowerCase(),attributes:S$(n)}),n)))}return{line:r,marks:t}}};function xl(i,e){let t=r=>{for(let n of r.children)if((e?n.isText():n.length)||t(n))return!0;return!1};return t(i)}function A$(i){let e=i.isReplace?(i.startSide<0?64:0)|(i.endSide>0?128:0):i.startSide>0?32:16;return i.block&&(e|=256),e}var bc={class:"cm-line"};function j$(i,e){let t=e.spec.attributes,r=e.spec.class;return!t&&!r||(i||(i={class:"cm-line"}),t&&zo(t,i),r&&(i.class+=" "+r)),i}function U$(i){let e=[];for(let t=i.parents.length;t>1;t--){let r=t==i.parents.length?i.tile:i.parents[t].tile;r instanceof xe&&e.push(r.mark)}return e}function qs(i){let e=te.get(i);return e&&e.setDOM(i.cloneNode()),i}var zt=class 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}};zt.inline=new zt("span");zt.block=new zt("div");var As=new class extends St{toDOM(){return document.createElement("br")}get isHidden(){return!0}get editable(){return!0}},gn=class{constructor(e){this.view=e,this.decorations=[],this.blockWrappers=[],this.dynamicDecorationMap=[!1],this.domChanged=null,this.hasComposition=null,this.editContextFormatting=M.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 Zi(e,e.contentDOM),this.updateInner([new He(0,0,0,e.state.doc.length)],null)}update(e){var t;let r=e.changedRanges;this.minWidth>0&&r.length&&(r.every(({fromA:c,toA:h})=>hthis.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 n=-1;this.view.inputState.composing>=0&&!this.view.observer.editContext&&(!((t=this.domChanged)===null||t===void 0)&&t.newSel?n=this.domChanged.newSel.head:!N$(e.changes,this.hasComposition)&&!e.selectionSet&&(n=e.state.selection.main.head));let s=n>-1?E$(this.view,e.changes,n):null;if(this.domChanged=null,this.hasComposition){let{from:c,to:h}=this.hasComposition;r=new He(c,h,e.changes.mapPos(c,-1),e.changes.mapPos(h,1)).addToSet(r.slice())}this.hasComposition=s?{from:s.range.fromB,to:s.range.toB}:null,(X.ie||X.chrome)&&!s&&e&&e.state.doc.lines!=e.startState.doc.lines&&(this.forceSelection=!0);let o=this.decorations,a=this.blockWrappers;this.updateDeco();let O=I$(o,this.decorations,e.changes);O.length&&(r=He.extendWithRanges(r,O));let l=B$(a,this.blockWrappers,e.changes);return l.length&&(r=He.extendWithRanges(r,l)),s&&!r.some(c=>c.fromA<=s.range.fromA&&c.toA>=s.range.toA)&&(r=s.range.addToSet(r.slice())),this.tile.flags&2&&r.length==0?!1:(this.updateInner(r,s),e.transactions.length&&(this.lastUpdate=Date.now()),!0)}updateInner(e,t){this.view.viewState.mustMeasureContent=!0;let{observer:r}=this.view;r.ignore(()=>{if(t||e.length){let o=this.tile,a=new no(this.view,o,this.blockWrappers,this.decorations,this.dynamicDecorationMap);t&&te.get(t.text)&&a.cache.reused.set(te.get(t.text),2),this.tile=a.run(e,t),so(o,a.cache.reused)}this.tile.dom.style.height=this.view.viewState.contentHeight/this.view.scaleY+"px",this.tile.dom.style.flexBasis=this.minWidth?this.minWidth+"px":"";let s=X.chrome||X.ios?{node:r.selectionRange.focusNode,written:!1}:void 0;this.tile.sync(s),s&&(s.written||r.selectionRange.focusNode!=s.node||!this.tile.dom.contains(s.node))&&(this.forceSelection=!0),this.tile.dom.style.height=""});let n=[];if(this.view.viewport.from||this.view.viewport.to-1)&&ir(r,this.view.observer.selectionRange)&&!(n&&r.contains(n));if(!(s||t||o))return;let a=this.forceSelection;this.forceSelection=!1;let O=this.view.state.selection.main,l,c;if(O.empty?c=l=this.inlineDOMNearPos(O.anchor,O.assoc||1):(c=this.inlineDOMNearPos(O.head,O.head==O.from?1:-1),l=this.inlineDOMNearPos(O.anchor,O.anchor==O.from?1:-1)),X.gecko&&O.empty&&!this.hasComposition&&M$(l)){let f=document.createTextNode("");this.view.observer.ignore(()=>l.node.insertBefore(f,l.node.childNodes[l.offset]||null)),l=c=new lt(f,0),a=!0}let h=this.view.observer.selectionRange;(a||!h.focusNode||(!rr(l.node,l.offset,h.anchorNode,h.anchorOffset)||!rr(c.node,c.offset,h.focusNode,h.focusOffset))&&!this.suppressWidgetCursorChange(h,O))&&(this.view.observer.ignore(()=>{X.android&&X.chrome&&r.contains(h.focusNode)&&D$(h.focusNode,r)&&(r.blur(),r.focus({preventScroll:!0}));let f=fr(this.view.root);if(f)if(O.empty){if(X.gecko){let d=L$(l.node,l.offset);if(d&&d!=3){let $=(d==1?ic:rc)(l.node,l.offset);$&&(l=new lt($.node,$.offset))}}f.collapse(l.node,l.offset),O.bidiLevel!=null&&f.caretBidiLevel!==void 0&&(f.caretBidiLevel=O.bidiLevel)}else if(f.extend){f.collapse(l.node,l.offset);try{f.extend(c.node,c.offset)}catch{}}else{let d=document.createRange();O.anchor>O.head&&([l,c]=[c,l]),d.setEnd(c.node,c.offset),d.setStart(l.node,l.offset),f.removeAllRanges(),f.addRange(d)}o&&this.view.root.activeElement==r&&(r.blur(),n&&n.focus())}),this.view.observer.setSelectionRange(l,c)),this.impreciseAnchor=l.precise?null:new lt(h.anchorNode,h.anchorOffset),this.impreciseHead=c.precise?null:new lt(h.focusNode,h.focusOffset)}suppressWidgetCursorChange(e,t){return this.hasComposition&&t.empty&&rr(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,r=fr(e.root),{anchorNode:n,anchorOffset:s}=e.observer.selectionRange;if(!r||!t.empty||!t.assoc||!r.modify)return;let o=this.lineAt(t.head,t.assoc);if(!o)return;let a=o.posAtStart;if(t.head==a||t.head==a+o.length)return;let O=this.coordsAt(t.head,-1),l=this.coordsAt(t.head,1);if(!O||!l||O.bottom>l.top)return;let c=this.domAtPos(t.head+t.assoc,t.assoc);r.collapse(c.node,c.offset),r.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&&r.collapse(n,s)}posFromDOM(e,t){let r=this.tile.nearest(e);if(!r)return this.tile.dom.compareDocumentPosition(e)&2?0:this.view.state.doc.length;let n=r.posAtStart;if(r.isComposite()){let s;if(e==r.dom)s=r.dom.childNodes[t];else{let o=Pt(e)==0?0:t==0?-1:1;for(;;){let a=e.parentNode;if(a==r.dom)break;o==0&&a.firstChild!=a.lastChild&&(e==a.firstChild?o=-1:o=1),e=a}o<0?s=e:s=e.nextSibling}if(s==r.dom.firstChild)return n;for(;s&&!te.get(s);)s=s.nextSibling;if(!s)return n+r.length;for(let o=0,a=n;;o++){let O=r.children[o];if(O.dom==s)return a;a+=O.length+O.breakAfter}}else return r.isText()?e==r.dom?n+t:n+(t?r.length:0):n}domAtPos(e,t){let{tile:r,offset:n}=this.tile.resolveBlock(e,t);return r.isWidget()?r.domPosFor(e,t):r.domIn(n,t)}inlineDOMNearPos(e,t){let r,n=-1,s=!1,o,a=-1,O=!1;return this.tile.blockTiles((l,c)=>{if(l.isWidget()){if(l.flags&32&&c>=e)return!0;l.flags&16&&(s=!0)}else{let h=c+l.length;if(c<=e&&(r=l,n=e-c,s=h=e&&!o&&(o=l,a=e-c,O=c>e),c>e&&o)return!0}}),!r&&!o?this.domAtPos(e,t):(s&&o?r=null:O&&r&&(o=null),r&&t<0||!o?r.domIn(n,t):o.domIn(a,t))}coordsAt(e,t){let{tile:r,offset:n}=this.tile.resolveBlock(e,t);return r.isWidget()?r.widget instanceof or?null:r.coordsInWidget(n,t,!0):r.coordsIn(n,t)}lineAt(e,t){let{tile:r}=this.tile.resolveBlock(e,t);return r.isLine()?r:null}coordsForChar(e){let{tile:t,offset:r}=this.tile.resolveBlock(e,1);if(!t.isLine())return null;function n(s,o){if(s.isComposite())for(let a of s.children){if(a.length>=o){let O=n(a,o);if(O)return O}if(o-=a.length,o<0)break}else if(s.isText()&&oMath.max(this.view.scrollDOM.clientWidth,this.minWidth)+1,a=-1,O=this.view.textDirection==H.LTR,l=0,c=(h,f,d)=>{for(let $=0;$n);$++){let p=h.children[$],m=f+p.length,g=p.dom.getBoundingClientRect(),{height:S}=g;if(d&&!$&&(l+=g.top-d.top),p instanceof Qt)m>r&&c(p,f,g);else if(f>=r&&(l>0&&t.push(-l),t.push(S+l),l=0,o)){let T=p.dom.lastChild,_=T?an(T):[];if(_.length){let b=_[_.length-1],x=O?b.right-g.left:g.right-b.left;x>a&&(a=x,this.minWidth=s,this.minWidthFrom=f,this.minWidthTo=m)}}d&&$==h.children.length-1&&(l+=d.bottom-g.bottom),f=m+p.breakAfter}};return c(this.tile,0,null),t}textDirectionAt(e){let{tile:t}=this.tile.resolveBlock(e,1);return getComputedStyle(t.dom).direction=="rtl"?H.RTL:H.LTR}measureTextSize(){let e=this.tile.blockTiles(o=>{if(o.isLine()&&o.children.length&&o.length<=20){let a=0,O;for(let l of o.children){if(!l.isText()||/[^ -~]/.test(l.text))return;let c=an(l.dom);if(c.length!=1)return;a+=c[0].width,O=c[0].height}if(a)return{lineHeight:o.dom.getBoundingClientRect().height,charWidth:a/o.length,textHeight:O}}});if(e)return e;let t=document.createElement("div"),r,n,s;return t.className="cm-line",t.style.width="99999px",t.style.position="absolute",t.textContent="abc def ghi jkl mno pqr stu",this.view.observer.ignore(()=>{this.tile.dom.appendChild(t);let o=an(t.firstChild)[0];r=t.getBoundingClientRect().height,n=o&&o.width?o.width/27:7,s=o&&o.height?o.height:r,t.remove()}),{lineHeight:r,charWidth:n,textHeight:s}}computeBlockGapDeco(){let e=[],t=this.view.viewState;for(let r=0,n=0;;n++){let s=n==t.viewports.length?null:t.viewports[n],o=s?s.from-1:this.view.state.doc.length;if(o>r){let a=(t.lineBlockAt(o).bottom-t.lineBlockAt(r).top)/this.view.scaleY;e.push(M.replace({widget:new or(a),block:!0,inclusive:!0,isBlockGap:!0}).range(r,o))}if(!s)break;r=s.to+1}return M.set(e)}updateDeco(){let e=1,t=this.view.state.facet(Xn).map(s=>(this.dynamicDecorationMap[e++]=typeof s=="function")?s(this.view):s),r=!1,n=this.view.state.facet(jo).map((s,o)=>{let a=typeof s=="function";return a&&(r=!0),a?s(this.view):s});for(n.length&&(this.dynamicDecorationMap[e++]=r,t.push(G.join(n))),this.decorations=[this.editContextFormatting,...t,this.computeBlockGapDeco(),this.view.viewState.lineGapDeco];etypeof s=="function"?s(this.view):s)}scrollIntoView(e){var t;if(e.isSnapshot){let c=this.view.viewState.lineBlockAt(e.range.head);this.view.scrollDOM.scrollTop=c.top-e.yMargin,this.view.scrollDOM.scrollLeft=e.xMargin;return}for(let c of this.view.state.facet(mc))try{if(c(this.view,e.range,e))return!0}catch(h){Ie(this.view.state,h,"scroll handler")}let{range:r}=e,n=this.coordsAt(r.head,(t=r.assoc)!==null&&t!==void 0?t:r.empty?0:r.head>r.anchor?-1:1),s;if(!n)return;!r.empty&&(s=this.coordsAt(r.anchor,r.anchor>r.head?-1:1))&&(n={left:Math.min(n.left,s.left),top:Math.min(n.top,s.top),right:Math.max(n.right,s.right),bottom:Math.max(n.bottom,s.bottom)});let o=yc(this.view),a={left:n.left-o.left,top:n.top-o.top,right:n.right+o.right,bottom:n.bottom+o.bottom},{offsetWidth:O,offsetHeight:l}=this.view.scrollDOM;if(y$(this.view.scrollDOM,a,r.head1&&(n.top>window.pageYOffset+window.visualViewport.offsetTop+window.visualViewport.height||n.bottomr.isWidget()||r.children.some(t);return t(this.tile.resolveBlock(e,1).tile)}destroy(){so(this.tile)}};function so(i,e){let t=e?.get(i);if(t!=1){t==null&&i.destroy();for(let r of i.children)so(r,e)}}function M$(i){return i.node.nodeType==1&&i.node.firstChild&&(i.offset==0||i.node.childNodes[i.offset-1].contentEditable=="false")&&(i.offset==i.node.childNodes.length||i.node.childNodes[i.offset].contentEditable=="false")}function wc(i,e){let t=i.observer.selectionRange;if(!t.focusNode)return null;let r=ic(t.focusNode,t.focusOffset),n=rc(t.focusNode,t.focusOffset),s=r||n;if(n&&r&&n.node!=r.node){let a=te.get(n.node);if(!a||a.isText()&&a.text!=n.node.nodeValue)s=n;else if(i.docView.lastCompositionAfterCursor){let O=te.get(r.node);!O||O.isText()&&O.text!=r.node.nodeValue||(s=n)}}if(i.docView.lastCompositionAfterCursor=s!=r,!s)return null;let o=e-s.offset;return{from:o,to:o+s.node.nodeValue.length,node:s.node}}function E$(i,e,t){let r=wc(i,t);if(!r)return null;let{node:n,from:s,to:o}=r,a=n.nodeValue;if(/[\n\r]/.test(a)||i.state.doc.sliceString(r.from,r.to)!=a)return null;let O=e.invertedDesc;return{range:new He(O.mapPos(s),O.mapPos(o),s,o),text:n}}function L$(i,e){return i.nodeType!=1?0:(e&&i.childNodes[e-1].contentEditable=="false"?1:0)|(e{re.from&&(t=!0)}),t}var or=class 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 F$(i,e,t=1){let r=i.charCategorizer(e),n=i.doc.lineAt(e),s=e-n.from;if(n.length==0)return Q.cursor(e);s==0?t=1:s==n.length&&(t=-1);let o=s,a=s;t<0?o=ae(n.text,s,!1):a=ae(n.text,s);let O=r(n.text.slice(o,a));for(;o>0;){let l=ae(n.text,o,!1);if(r(n.text.slice(l,o))!=O)break;o=l}for(;ai.defaultLineHeight*1.5){let a=i.viewState.heightOracle.textHeight,O=Math.floor((n-t.top-(i.defaultLineHeight-a)*.5)/a);s+=O*i.viewState.heightOracle.lineLength}let o=i.state.sliceDoc(t.from,t.to);return t.from+Hr(o,s,i.state.tabSize)}function ao(i,e,t){let r=i.lineBlockAt(e);if(Array.isArray(r.type)){let n;for(let s of r.type){if(s.from>e)break;if(!(s.toe)return s;(!n||s.type==ce.Text&&(n.type!=s.type||(t<0?s.frome)))&&(n=s)}}return n||r}return r}function K$(i,e,t,r){let n=ao(i,e.head,e.assoc||-1),s=!r||n.type!=ce.Text||!(i.lineWrapping||n.widgetLineBreaks)?null:i.coordsAtPos(e.assoc<0&&e.head>n.from?e.head-1:e.head);if(s){let o=i.dom.getBoundingClientRect(),a=i.textDirectionAt(n.from),O=i.posAtCoords({x:t==(a==H.LTR)?o.right-1:o.left+1,y:(s.top+s.bottom)/2});if(O!=null)return Q.cursor(O,t?-1:1)}return Q.cursor(t?n.to:n.from,t?-1:1)}function kl(i,e,t,r){let n=i.state.doc.lineAt(e.head),s=i.bidiSpans(n),o=i.textDirectionAt(n.from);for(let a=e,O=null;;){let l=_$(n,s,o,a,t),c=Oc;if(!l){if(n.number==(t?i.state.doc.lines:1))return a;c=` +`,n=i.state.doc.line(n.number+(t?1:-1)),s=i.bidiSpans(n),l=i.visualLineSide(n,!t)}if(O){if(!O(c))return a}else{if(!r)return l;O=r(c)}a=l}}function J$(i,e,t){let r=i.state.charCategorizer(e),n=r(t);return s=>{let o=r(s);return n==je.Space&&(n=o),n==o}}function ep(i,e,t,r){let n=e.head,s=t?1:-1;if(n==(t?i.state.doc.length:0))return Q.cursor(n,e.assoc);let o=e.goalColumn,a,O=i.contentDOM.getBoundingClientRect(),l=i.coordsAtPos(n,e.assoc||((e.empty?t:e.head==e.from)?1:-1)),c=i.documentTop;if(l)o==null&&(o=l.left-O.left),a=s<0?l.top:l.bottom;else{let $=i.viewState.lineBlockAt(n);o==null&&(o=Math.min(O.right-O.left,i.defaultCharacterWidth*(n-$.from))),a=(s<0?$.top:$.bottom)+c}let h=O.left+o,f=i.viewState.heightOracle.textHeight>>1,d=r??f;for(let $=0;;$+=f){let p=a+(d+$)*s,m=Oo(i,{x:h,y:p},!1,s);if(t?p>O.bottom:pa:S{if(e>s&&en(i)),t.from,e.head>t.from?-1:1);return r==t.from?t:Q.cursor(r,ri.viewState.docHeight)return new Le(i.state.doc.length,-1);if(l=i.elementAtHeight(O),r==null)break;if(l.type==ce.Text){if(r<0?l.toi.viewport.to)break;let f=i.docView.coordsAt(r<0?l.from:l.to,r>0?-1:1);if(f&&(r<0?f.top<=O+s:f.bottom>=O+s))break}let h=i.viewState.heightOracle.textHeight/2;O=r>0?l.bottom+h:l.top-h}if(i.viewport.from>=l.to||i.viewport.to<=l.from){if(t)return null;if(l.type==ce.Text){let h=H$(i,n,l,o,a);return new Le(h,h==l.from?1:-1)}}if(l.type!=ce.Text)return O<(l.top+l.bottom)/2?new Le(l.from,1):new Le(l.to,-1);let c=i.docView.lineAt(l.from,2);return(!c||c.length!=l.length)&&(c=i.docView.lineAt(l.from,-2)),new lo(i,o,a,i.textDirectionAt(l.from)).scanTile(c,l.from)}var lo=class{constructor(e,t,r,n){this.view=e,this.x=t,this.y=r,this.baseDir=n,this.line=null,this.spans=null}bidiSpansAt(e){return(!this.line||this.line.from>e||this.line.to1||r.length&&(r[0].level!=this.baseDir||r[0].to+n.from>1;t:if(s.has($)){let m=r+Math.floor(Math.random()*d);for(let g=0;g1)){if(g.bottomthis.y)(!O||O.top>g.top)&&(O=g),S=-1;else{let T=g.left>this.x?this.x-g.left:g.righth.top)return this.y=a.bottom-1,this.scan(e,t);if(O&&O.top(h.left+h.right)/2==f}}scanText(e,t){let r=[];for(let s=0;s{let o=r[s]-t,a=r[s+1]-t;return ur(e.dom,o,a).getClientRects()});return n.after?new Le(r[n.i+1],-1):new Le(r[n.i],1)}scanTile(e,t){if(!e.length)return new Le(t,1);if(e.children.length==1){let a=e.children[0];if(a.isText())return this.scanText(a,t);if(a.isComposite())return this.scanTile(a,t)}let r=[t];for(let a=0,O=t;a{let O=e.children[a];return O.flags&48?null:(O.dom.nodeType==1?O.dom:ur(O.dom,0,O.length)).getClientRects()}),s=e.children[n.i],o=r[n.i];return s.isText()?this.scanText(s,o):s.isComposite()?this.scanTile(s,o):n.after?new Le(r[n.i+1],-1):new Le(o,1)}},yi="\uFFFF",co=class{constructor(e,t){this.points=e,this.view=t,this.text="",this.lineSeparator=t.state.facet(D.lineSeparator)}append(e){this.text+=e}lineBreak(){this.text+=yi}readRange(e,t){if(!e)return this;let r=e.parentNode;for(let n=e;;){this.findPointBefore(r,n);let s=this.text.length;this.readNode(n);let o=te.get(n),a=n.nextSibling;if(a==t){o?.breakAfter&&!a&&r!=this.view.contentDOM&&this.lineBreak();break}let O=te.get(a);(o&&O?o.breakAfter:(o?o.breakAfter:dn(n))||dn(a)&&(n.nodeName!="BR"||o?.isWidget())&&this.text.length>s)&&!ip(a,t)&&this.lineBreak(),n=a}return this.findPointBefore(r,t),this}readTextNode(e){let t=e.nodeValue;for(let r of this.points)r.node==e&&(r.pos=this.text.length+Math.min(r.offset,t.length));for(let r=0,n=this.lineSeparator?null:/\r\n?|\n/g;;){let s=-1,o=1,a;if(this.lineSeparator?(s=t.indexOf(this.lineSeparator,r),o=this.lineSeparator.length):(a=n.exec(t))&&(s=a.index,o=a[0].length),this.append(t.slice(r,s<0?t.length:s)),s<0)break;if(this.lineBreak(),o>1)for(let O of this.points)O.node==e&&O.pos>this.text.length&&(O.pos-=o-1);r=s+o}}readNode(e){let t=te.get(e),r=t&&t.overrideDOMText;if(r!=null){this.findPointInside(e,r.length);for(let n=r.iter();!n.next().done;)n.lineBreak?this.lineBreak():this.append(n.value)}else e.nodeType==3?this.readTextNode(e):e.nodeName=="BR"?e.nextSibling&&this.lineBreak():e.nodeType==1&&this.readRange(e.firstChild,null)}findPointBefore(e,t){for(let r of this.points)r.node==e&&e.childNodes[r.offset]==t&&(r.pos=this.text.length)}findPointInside(e,t){for(let r of this.points)(e.nodeType==3?r.node==e:e.contains(r.node))&&(r.pos=this.text.length+(tp(e,r.node,r.offset)?t:0))}};function tp(i,e,t){for(;;){if(!e||t-1;let{impreciseHead:s,impreciseAnchor:o}=e.docView,a=e.state.selection;if(e.state.readOnly&&t>-1)this.newSel=null;else if(t>-1&&(this.bounds=kc(e.docView.tile,t,r,0))){let O=s||o?[]:np(e),l=new co(O,e);l.readRange(this.bounds.startDOM,this.bounds.endDOM),this.text=l.text,this.newSel=sp(O,this.bounds.from)}else{let O=e.observer.selectionRange,l=s&&s.node==O.focusNode&&s.offset==O.focusOffset||!Bs(e.contentDOM,O.focusNode)?a.main.head:e.docView.posFromDOM(O.focusNode,O.focusOffset),c=o&&o.node==O.anchorNode&&o.offset==O.anchorOffset||!Bs(e.contentDOM,O.anchorNode)?a.main.anchor:e.docView.posFromDOM(O.anchorNode,O.anchorOffset),h=e.viewport;if((X.ios||X.chrome)&&a.main.empty&&l!=c&&(h.from>0||h.to-1&&a.ranges.length>1)this.newSel=a.replaceRange(Q.range(c,l));else if(e.lineWrapping&&c==l&&!(a.main.empty&&a.main.head==l)&&e.inputState.lastTouchTime>Date.now()-100){let f=e.coordsAtPos(l,-1),d=0;f&&(d=e.inputState.lastTouchY<=f.bottom?-1:1),this.newSel=Q.create([Q.cursor(l,d)])}else this.newSel=Q.single(c,l)}}};function kc(i,e,t,r){if(i.isComposite()){let n=-1,s=-1,o=-1,a=-1;for(let O=0,l=r,c=r;Ot)return kc(h,e,t,l);if(f>=e&&n==-1&&(n=O,s=l),l>t&&h.dom.parentNode==i.dom){o=O,a=c;break}c=f,l=f+h.breakAfter}return{from:s,to:a<0?r+i.length:a,startDOM:(n?i.children[n-1].dom.nextSibling:null)||i.dom.firstChild,endDOM:o=0?i.children[o].dom:null}}else return i.isText()?{from:r,to:r+i.length,startDOM:i.dom,endDOM:i.dom.nextSibling}:null}function Xc(i,e){let t,{newSel:r}=e,{state:n}=i,s=n.selection.main,o=i.inputState.lastKeyTime>Date.now()-100?i.inputState.lastKeyCode:-1;if(e.bounds){let{from:a,to:O}=e.bounds,l=s.from,c=null;(o===8||X.android&&e.text.length=a&&s.to<=O&&(e.typeOver||h!=e.text)&&h.slice(0,s.from-a)==e.text.slice(0,s.from-a)&&h.slice(s.to-a)==e.text.slice(f=e.text.length-(h.length-(s.to-a)))?t={from:s.from,to:s.to,insert:W.of(e.text.slice(s.from-a,f).split(yi))}:(d=vc(h,e.text,l-a,c))&&(X.chrome&&o==13&&d.toB==d.from+2&&e.text.slice(d.from,d.toB)==yi+yi&&d.toB--,t={from:a+d.from,to:a+d.toA,insert:W.of(e.text.slice(d.from,d.toB).split(yi))})}else r&&(!i.hasFocus&&n.facet(gt)||Sn(r,s))&&(r=null);if(!t&&!r)return!1;if((X.mac||X.android)&&t&&t.from==t.to&&t.from==s.head-1&&/^\. ?$/.test(t.insert.toString())&&i.contentDOM.getAttribute("autocorrect")=="off"?(r&&t.insert.length==2&&(r=Q.single(r.main.anchor-1,r.main.head-1)),t={from:t.from,to:t.to,insert:W.of([t.insert.toString().replace("."," ")])}):n.doc.lineAt(s.from).toDate.now()-50?t={from:s.from,to:s.to,insert:n.toText(i.inputState.insertingText)}:X.chrome&&t&&t.from==t.to&&t.from==s.head&&t.insert.toString()==` + `&&i.lineWrapping&&(r&&(r=Q.single(r.main.anchor-1,r.main.head-1)),t={from:s.from,to:s.to,insert:W.of([" "])}),t)return Uo(i,t,r,o);if(r&&!Sn(r,s)){let a=!1,O="select";return i.inputState.lastSelectionTime>Date.now()-50&&(i.inputState.lastSelectionOrigin=="select"&&(a=!0),O=i.inputState.lastSelectionOrigin,O=="select.pointer"&&(r=xc(n.facet(dr).map(l=>l(i)),r))),i.dispatch({selection:r,scrollIntoView:a,userEvent:O}),!0}else return!1}function Uo(i,e,t,r=-1){if(X.ios&&i.inputState.flushIOSKey(e))return!0;let n=i.state.selection.main;if(X.android&&(e.to==n.to&&(e.from==n.from||e.from==n.from-1&&i.state.sliceDoc(e.from,n.from)==" ")&&e.insert.length==1&&e.insert.lines==2&&Xi(i.contentDOM,"Enter",13)||(e.from==n.from-1&&e.to==n.to&&e.insert.length==0||r==8&&e.insert.lengthn.head)&&Xi(i.contentDOM,"Backspace",8)||e.from==n.from&&e.to==n.to+1&&e.insert.length==0&&Xi(i.contentDOM,"Delete",46)))return!0;let s=e.insert.toString();i.inputState.composing>=0&&i.inputState.composing++;let o,a=()=>o||(o=rp(i,e,t));return i.state.facet(uc).some(O=>O(i,e.from,e.to,s,a))||i.dispatch(a()),!0}function rp(i,e,t){let r,n=i.state,s=n.selection.main,o=-1;if(e.from==e.to&&e.froms.to){let O=e.fromh(i)),l,O);e.from==c&&(o=c)}if(o>-1)r={changes:e,selection:Q.cursor(e.from+e.insert.length,-1)};else if(e.from>=s.from&&e.to<=s.to&&e.to-e.from>=(s.to-s.from)/3&&(!t||t.main.empty&&t.main.from==e.from+e.insert.length)&&i.inputState.composing<0){let O=s.frome.to?n.sliceDoc(e.to,s.to):"";r=n.replaceSelection(i.state.toText(O+e.insert.sliceString(0,void 0,i.state.lineBreak)+l))}else{let O=n.changes(e),l=t&&t.main.to<=O.newLength?t.main:void 0;if(n.selection.ranges.length>1&&(i.inputState.composing>=0||i.inputState.compositionPendingChange)&&e.to<=s.to+10&&e.to>=s.to-10){let c=i.state.sliceDoc(e.from,e.to),h,f=t&&wc(i,t.main.head);if(f){let $=e.insert.length-(e.to-e.from);h={from:f.from,to:f.to-$}}else h=i.state.doc.lineAt(s.head);let d=s.to-e.to;r=n.changeByRange($=>{if($.from==s.from&&$.to==s.to)return{changes:O,range:l||$.map(O)};let p=$.to-d,m=p-c.length;if(i.state.sliceDoc(m,p)!=c||p>=h.from&&m<=h.to)return{range:$};let g=n.changes({from:m,to:p,insert:e.insert}),S=$.to-s.to;return{changes:g,range:l?Q.range(Math.max(0,l.anchor+S),Math.max(0,l.head+S)):$.map(g)}})}else r={changes:O,selection:l&&n.selection.replaceRange(l)}}let a="input.type";return(i.composing||i.inputState.compositionPendingChange&&i.inputState.compositionEndedAt>Date.now()-50)&&(i.inputState.compositionPendingChange=!1,a+=".compose",i.inputState.compositionFirstChange&&(a+=".start",i.inputState.compositionFirstChange=!1)),n.update(r,{userEvent:a,scrollIntoView:!0})}function vc(i,e,t,r){let n=Math.min(i.length,e.length),s=0;for(;s0&&a>0&&i.charCodeAt(o-1)==e.charCodeAt(a-1);)o--,a--;if(r=="end"){let O=Math.max(0,s-Math.min(o,a));t-=o+O-s}if(o=o?s-t:0;s-=O,a=s+(a-o),o=s}else if(a=a?s-t:0;s-=O,o=s+(o-a),a=s}return{from:s,toA:o,toB:a}}function np(i){let e=[];if(i.root.activeElement!=i.contentDOM)return e;let{anchorNode:t,anchorOffset:r,focusNode:n,focusOffset:s}=i.observer.selectionRange;return t&&(e.push(new Qn(t,r)),(n!=t||s!=r)&&e.push(new Qn(n,s))),e}function sp(i,e){if(i.length==0)return null;let t=i[0].pos,r=i.length==2?i[1].pos:t;return t>-1&&r>-1?Q.single(t+e,r+e):null}function Sn(i,e){return e.head==i.main.head&&e.anchor==i.main.anchor}var fo=class{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,X.safari&&e.contentDOM.addEventListener("input",()=>null),X.gecko&&Qp(e.contentDOM.ownerDocument)}handleEvent(e){!fp(this.view,e)||this.ignoreDuringComposition(e)||e.type=="keydown"&&this.keydown(e)||(this.view.updateState!=0?Promise.resolve().then(()=>this.runHandlers(e.type,e)):this.runHandlers(e.type,e))}runHandlers(e,t){let r=this.handlers[e];if(r){for(let n of r.observers)n(this.view,t);for(let n of r.handlers){if(t.defaultPrevented)break;if(n(this.view,t)){t.preventDefault();break}}}}ensureHandlers(e){let t=op(e),r=this.handlers,n=this.view.contentDOM;for(let s in t)if(s!="scroll"){let o=!t[s].handlers.length,a=r[s];a&&o!=!a.handlers.length&&(n.removeEventListener(s,this.handleEvent),a=null),a||n.addEventListener(s,this.handleEvent,{passive:o})}for(let s in r)s!="scroll"&&!t[s]&&n.removeEventListener(s,this.handleEvent);this.handlers=t}keydown(e){if(this.lastKeyCode=e.keyCode,this.lastKeyTime=Date.now(),e.keyCode==9&&this.tabFocusMode>-1&&(!this.tabFocusMode||Date.now()<=this.tabFocusMode))return!0;if(this.tabFocusMode>0&&e.keyCode!=27&&Rc.indexOf(e.keyCode)<0&&(this.tabFocusMode=-1),X.android&&X.chrome&&!e.synthetic&&(e.keyCode==13||e.keyCode==8))return this.view.observer.delayAndroidKey(e.key,e.keyCode),!0;let t;return X.ios&&!e.synthetic&&!e.altKey&&!e.metaKey&&!e.shiftKey&&((t=Zc.find(r=>r.keyCode==e.keyCode))&&!e.ctrlKey||ap.indexOf(e.key)>-1&&e.ctrlKey)?(this.pendingIOSKey=t||e,setTimeout(()=>this.flushIOSKey(),250),!0):(e.keyCode!=229&&this.view.observer.forceFlush(),!1)}flushIOSKey(e){let t=this.pendingIOSKey;return!t||t.key=="Enter"&&e&&e.from0?!0:X.safari&&!X.ios&&this.compositionPendingKey&&Date.now()-this.compositionEndedAt<100?(this.compositionPendingKey=!1,!0):!1}startMouseSelection(e){this.mouseSelection&&this.mouseSelection.destroy(),this.mouseSelection=e}update(e){this.view.observer.update(e),this.mouseSelection&&this.mouseSelection.update(e),this.draggedContent&&e.docChanged&&(this.draggedContent=this.draggedContent.map(e.changes)),e.transactions.length&&(this.lastKeyCode=this.lastSelectionTime=0)}destroy(){this.mouseSelection&&this.mouseSelection.destroy()}};function Xl(i,e){return(t,r)=>{try{return e.call(i,r,t)}catch(n){Ie(t.state,n)}}}function op(i){let e=Object.create(null);function t(r){return e[r]||(e[r]={observers:[],handlers:[]})}for(let r of i){let n=r.spec,s=n&&n.plugin.domEventHandlers,o=n&&n.plugin.domEventObservers;if(s)for(let a in s){let O=s[a];O&&t(a).handlers.push(Xl(r.value,O))}if(o)for(let a in o){let O=o[a];O&&t(a).observers.push(Xl(r.value,O))}}for(let r in Ke)t(r).handlers.push(Ke[r]);for(let r in ke)t(r).observers.push(ke[r]);return e}var Zc=[{key:"Backspace",keyCode:8,inputType:"deleteContentBackward"},{key:"Enter",keyCode:13,inputType:"insertParagraph"},{key:"Enter",keyCode:13,inputType:"insertLineBreak"},{key:"Delete",keyCode:46,inputType:"deleteContentForward"}],ap="dthko",Rc=[16,17,18,20,91,92,224,225],en=6;function tn(i){return Math.max(0,i)*.7+8}function Op(i,e){return Math.max(Math.abs(i.clientX-e.clientX),Math.abs(i.clientY-e.clientY))}var uo=class{constructor(e,t,r,n){this.view=e,this.startEvent=t,this.style=r,this.mustSelect=n,this.scrollSpeed={x:0,y:0},this.scrolling=-1,this.lastEvent=t,this.scrollParents=Jl(e.contentDOM),this.atoms=e.state.facet(dr).map(o=>o(e));let s=e.contentDOM.ownerDocument;s.addEventListener("mousemove",this.move=this.move.bind(this)),s.addEventListener("mouseup",this.up=this.up.bind(this)),this.extend=t.shiftKey,this.multiple=e.state.facet(D.allowMultipleSelections)&&lp(e,t),this.dragging=hp(e,t)&&zc(t)==1?null:!1}start(e){this.dragging===!1&&this.select(e)}move(e){if(e.buttons==0)return this.destroy();if(this.dragging||this.dragging==null&&Op(this.startEvent,e)<10)return;this.select(this.lastEvent=e);let t=0,r=0,n=0,s=0,o=this.view.win.innerWidth,a=this.view.win.innerHeight;this.scrollParents.x&&({left:n,right:o}=this.scrollParents.x.getBoundingClientRect()),this.scrollParents.y&&({top:s,bottom:a}=this.scrollParents.y.getBoundingClientRect());let O=yc(this.view);e.clientX-O.left<=n+en?t=-tn(n-e.clientX):e.clientX+O.right>=o-en&&(t=tn(e.clientX-o)),e.clientY-O.top<=s+en?r=-tn(s-e.clientY):e.clientY+O.bottom>=a-en&&(r=tn(e.clientY-a)),this.setScrollSpeed(t,r)}up(e){this.dragging==null&&this.select(this.lastEvent),this.dragging||e.preventDefault(),this.destroy()}destroy(){this.setScrollSpeed(0,0);let e=this.view.contentDOM.ownerDocument;e.removeEventListener("mousemove",this.move),e.removeEventListener("mouseup",this.up),this.view.inputState.mouseSelection=this.view.inputState.draggedContent=null}setScrollSpeed(e,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),this.dragging===!1&&this.select(this.lastEvent)}select(e){let{view:t}=this,r=xc(this.atoms,this.style.get(e,this.extend,this.multiple));(this.mustSelect||!r.eq(t.state.selection,this.dragging===!1))&&this.view.dispatch({selection:r,userEvent:"select.pointer"}),this.mustSelect=!1}update(e){e.transactions.some(t=>t.isUserEvent("input.type"))?this.destroy():this.style.update(e)&&setTimeout(()=>this.select(this.lastEvent),20)}};function lp(i,e){let t=i.state.facet(lc);return t.length?t[0](e):X.mac?e.metaKey:e.ctrlKey}function cp(i,e){let t=i.state.facet(cc);return t.length?t[0](e):X.mac?!e.altKey:!e.ctrlKey}function hp(i,e){let{main:t}=i.state.selection;if(t.empty)return!1;let r=fr(i.root);if(!r||r.rangeCount==0)return!0;let n=r.getRangeAt(0).getClientRects();for(let s=0;s=e.clientX&&o.top<=e.clientY&&o.bottom>=e.clientY)return!0}return!1}function fp(i,e){if(!e.bubbles)return!0;if(e.defaultPrevented)return!1;for(let t=e.target,r;t!=i.contentDOM;t=t.parentNode)if(!t||t.nodeType==11||(r=te.get(t))&&r.isWidget()&&!r.isHidden&&r.widget.ignoreEvent(e))return!1;return!0}var Ke=Object.create(null),ke=Object.create(null),Vc=X.ie&&X.ie_version<15||X.ios&&X.webkit_version<604;function up(i){let e=i.dom.parentNode;if(!e)return;let t=e.appendChild(document.createElement("textarea"));t.style.cssText="position: fixed; left: -10000px; top: 10px",t.focus(),setTimeout(()=>{i.focus(),t.remove(),_c(i,t.value)},50)}function vn(i,e,t){for(let r of i.facet(e))t=r(t,i);return t}function _c(i,e){e=vn(i.state,Wo,e);let{state:t}=i,r,n=1,s=t.toText(e),o=s.lines==t.selection.ranges.length;if($o!=null&&t.selection.ranges.every(O=>O.empty)&&$o==s.toString()){let O=-1;r=t.changeByRange(l=>{let c=t.doc.lineAt(l.from);if(c.from==O)return{range:l};O=c.from;let h=t.toText((o?s.line(n++).text:e)+t.lineBreak);return{changes:{from:c.from,insert:h},range:Q.cursor(l.from+h.length)}})}else o?r=t.changeByRange(O=>{let l=s.line(n++);return{changes:{from:O.from,to:O.to,insert:l.text},range:Q.cursor(O.from+l.length)}}):r=t.replaceSelection(s);i.dispatch(r,{userEvent:"input.paste",scrollIntoView:!0})}ke.scroll=i=>{i.inputState.lastScrollTop=i.scrollDOM.scrollTop,i.inputState.lastScrollLeft=i.scrollDOM.scrollLeft};ke.wheel=ke.mousewheel=i=>{i.inputState.lastWheelEvent=Date.now()};Ke.keydown=(i,e)=>(i.inputState.setSelectionOrigin("select"),e.keyCode==27&&i.inputState.tabFocusMode!=0&&(i.inputState.tabFocusMode=Date.now()+2e3),!1);ke.touchstart=(i,e)=>{let t=i.inputState,r=e.targetTouches[0];t.lastTouchTime=Date.now(),r&&(t.lastTouchX=r.clientX,t.lastTouchY=r.clientY),t.setSelectionOrigin("select.pointer")};ke.touchmove=i=>{i.inputState.setSelectionOrigin("select.pointer")};Ke.mousedown=(i,e)=>{if(i.observer.flush(),i.inputState.lastTouchTime>Date.now()-2e3)return!1;let t=null;for(let r of i.state.facet(hc))if(t=r(i,e),t)break;if(!t&&e.button==0&&(t=$p(i,e)),t){let r=!i.hasFocus;i.inputState.startMouseSelection(new uo(i,e,t,r)),r&&i.observer.ignore(()=>{ec(i.contentDOM);let s=i.root.activeElement;s&&!s.contains(i.contentDOM)&&s.blur()});let n=i.inputState.mouseSelection;if(n)return n.start(e),n.dragging===!1}else i.inputState.setSelectionOrigin("select.pointer");return!1};function vl(i,e,t,r){if(r==1)return Q.cursor(e,t);if(r==2)return F$(i.state,e,t);{let n=i.docView.lineAt(e,t),s=i.state.doc.lineAt(n?n.posAtEnd:e),o=n?n.posAtStart:s.from,a=n?n.posAtEnd:s.to;return aDate.now()-400&&Math.abs(e.clientX-i.clientX)<2&&Math.abs(e.clientY-i.clientY)<2?(Rl+1)%3:1}function $p(i,e){let t=i.posAndSideAtCoords({x:e.clientX,y:e.clientY},!1),r=zc(e),n=i.state.selection;return{update(s){s.docChanged&&(t.pos=s.changes.mapPos(t.pos),n=n.map(s.changes))},get(s,o,a){let O=i.posAndSideAtCoords({x:s.clientX,y:s.clientY},!1),l,c=vl(i,O.pos,O.assoc,r);if(t.pos!=O.pos&&!o){let h=vl(i,t.pos,t.assoc,r),f=Math.min(h.from,c.from),d=Math.max(h.to,c.to);c=f1&&(l=pp(n,O.pos))?l:a?n.addRange(c):Q.create([c])}}}function pp(i,e){for(let t=0;t=e)return Q.create(i.ranges.slice(0,t).concat(i.ranges.slice(t+1)),i.mainIndex==t?0:i.mainIndex-(i.mainIndex>t?1:0))}return null}Ke.dragstart=(i,e)=>{let{selection:{main:t}}=i.state;if(e.target.draggable){let n=i.docView.tile.nearest(e.target);if(n&&n.isWidget()){let s=n.posAtStart,o=s+n.length;(s>=t.to||o<=t.from)&&(t=Q.range(s,o))}}let{inputState:r}=i;return r.mouseSelection&&(r.mouseSelection.dragging=!0),r.draggedContent=t,e.dataTransfer&&(e.dataTransfer.setData("Text",vn(i.state,qo,i.state.sliceDoc(t.from,t.to))),e.dataTransfer.effectAllowed="copyMove"),!1};Ke.dragend=i=>(i.inputState.draggedContent=null,!1);function _l(i,e,t,r){if(t=vn(i.state,Wo,t),!t)return;let n=i.posAtCoords({x:e.clientX,y:e.clientY},!1),{draggedContent:s}=i.inputState,o=r&&s&&cp(i,e)?{from:s.from,to:s.to}:null,a={from:n,insert:t},O=i.state.changes(o?[o,a]:a);i.focus(),i.dispatch({changes:O,selection:{anchor:O.mapPos(n,-1),head:O.mapPos(n,1)},userEvent:o?"move.drop":"input.drop"}),i.inputState.draggedContent=null}Ke.drop=(i,e)=>{if(!e.dataTransfer)return!1;if(i.state.readOnly)return!0;let t=e.dataTransfer.files;if(t&&t.length){let r=Array(t.length),n=0,s=()=>{++n==t.length&&_l(i,e,r.filter(o=>o!=null).join(i.state.lineBreak),!1)};for(let o=0;o{/[\x00-\x08\x0e-\x1f]{2}/.test(a.result)||(r[o]=a.result),s()},a.readAsText(t[o])}return!0}else{let r=e.dataTransfer.getData("Text");if(r)return _l(i,e,r,!0),!0}return!1};Ke.paste=(i,e)=>{if(i.state.readOnly)return!0;i.observer.flush();let t=Vc?null:e.clipboardData;return t?(_c(i,t.getData("text/plain")||t.getData("text/uri-list")),!0):(up(i),!1)};function mp(i,e){let t=i.dom.parentNode;if(!t)return;let r=t.appendChild(document.createElement("textarea"));r.style.cssText="position: fixed; left: -10000px; top: 10px",r.value=e,r.focus(),r.selectionEnd=e.length,r.selectionStart=0,setTimeout(()=>{r.remove(),i.focus()},50)}function gp(i){let e=[],t=[],r=!1;for(let n of i.selection.ranges)n.empty||(e.push(i.sliceDoc(n.from,n.to)),t.push(n));if(!e.length){let n=-1;for(let{from:s}of i.selection.ranges){let o=i.doc.lineAt(s);o.number>n&&(e.push(o.text),t.push({from:o.from,to:Math.min(i.doc.length,o.to+1)})),n=o.number}r=!0}return{text:vn(i,qo,e.join(i.lineBreak)),ranges:t,linewise:r}}var $o=null;Ke.copy=Ke.cut=(i,e)=>{if(!ir(i.contentDOM,i.observer.selectionRange))return!1;let{text:t,ranges:r,linewise:n}=gp(i.state);if(!t&&!n)return!1;$o=n?t:null,e.type=="cut"&&!i.state.readOnly&&i.dispatch({changes:r,scrollIntoView:!0,userEvent:"delete.cut"});let s=Vc?null:e.clipboardData;return s?(s.clearData(),s.setData("text/plain",t),!0):(mp(i,t),!1)};var Yc=be.define();function Cc(i,e){let t=[];for(let r of i.facet(dc)){let n=r(i,e);n&&t.push(n)}return t.length?i.update({effects:t,annotations:Yc.of(!0)}):null}function Wc(i){setTimeout(()=>{let e=i.hasFocus;if(e!=i.inputState.notifiedFocused){let t=Cc(i.state,e);t?i.dispatch(t):i.update([])}},10)}ke.focus=i=>{i.inputState.lastFocusTime=Date.now(),!i.scrollDOM.scrollTop&&(i.inputState.lastScrollTop||i.inputState.lastScrollLeft)&&(i.scrollDOM.scrollTop=i.inputState.lastScrollTop,i.scrollDOM.scrollLeft=i.inputState.lastScrollLeft),Wc(i)};ke.blur=i=>{i.observer.clearSelectionRange(),Wc(i)};ke.compositionstart=ke.compositionupdate=i=>{i.observer.editContext||(i.inputState.compositionFirstChange==null&&(i.inputState.compositionFirstChange=!0),i.inputState.composing<0&&(i.inputState.composing=0))};ke.compositionend=i=>{i.observer.editContext||(i.inputState.composing=-1,i.inputState.compositionEndedAt=Date.now(),i.inputState.compositionPendingKey=!0,i.inputState.compositionPendingChange=i.observer.pendingRecords().length>0,i.inputState.compositionFirstChange=null,X.chrome&&X.android?i.observer.flushSoon():i.inputState.compositionPendingChange?Promise.resolve().then(()=>i.observer.flush()):setTimeout(()=>{i.inputState.composing<0&&i.docView.hasComposition&&i.update([])},50))};ke.contextmenu=i=>{i.inputState.lastContextMenu=Date.now()};Ke.beforeinput=(i,e)=>{var t,r;if((e.inputType=="insertText"||e.inputType=="insertCompositionText")&&(i.inputState.insertingText=e.data,i.inputState.insertingTextAt=Date.now()),e.inputType=="insertReplacementText"&&i.observer.editContext){let s=(t=e.dataTransfer)===null||t===void 0?void 0:t.getData("text/plain"),o=e.getTargetRanges();if(s&&o.length){let a=o[0],O=i.posAtDOM(a.startContainer,a.startOffset),l=i.posAtDOM(a.endContainer,a.endOffset);return Uo(i,{from:O,to:l,insert:i.state.toText(s)},null),!0}}let n;if(X.chrome&&X.android&&(n=Zc.find(s=>s.inputType==e.inputType))&&(i.observer.delayAndroidKey(n.key,n.keyCode),n.key=="Backspace"||n.key=="Delete")){let s=((r=window.visualViewport)===null||r===void 0?void 0:r.height)||0;setTimeout(()=>{var o;(((o=window.visualViewport)===null||o===void 0?void 0:o.height)||0)>s+10&&i.hasFocus&&(i.contentDOM.blur(),i.focus())},100)}return X.ios&&e.inputType=="deleteContentForward"&&i.observer.flushSoon(),X.safari&&e.inputType=="insertText"&&i.inputState.composing>=0&&setTimeout(()=>ke.compositionend(i,e),20),!1};var zl=new Set;function Qp(i){zl.has(i)||(zl.add(i),i.addEventListener("copy",()=>{}),i.addEventListener("cut",()=>{}))}var Yl=["pre-wrap","normal","pre-line","break-spaces"],_i=!1;function Cl(){_i=!1}var po=class{constructor(e){this.lineWrapping=e,this.doc=W.empty,this.heightSamples={},this.lineHeight=14,this.charWidth=7,this.textHeight=14,this.lineLength=30}heightForGap(e,t){let r=this.doc.lineAt(t).number-this.doc.lineAt(e).number+1;return this.lineWrapping&&(r+=Math.max(0,Math.ceil((t-e-r*this.lineLength*.5)/this.lineLength))),this.lineHeight*r}heightForLine(e){return this.lineWrapping?(1+Math.max(0,Math.ceil((e-this.lineLength)/Math.max(1,this.lineLength-5))))*this.lineHeight:this.lineHeight}setDoc(e){return this.doc=e,this}mustRefreshForWrapping(e){return Yl.indexOf(e)>-1!=this.lineWrapping}mustRefreshForHeights(e){let t=!1;for(let r=0;r-1,O=Math.abs(t-this.lineHeight)>.3||this.lineWrapping!=a||Math.abs(r-this.charWidth)>.1;if(this.lineWrapping=a,this.lineHeight=t,this.charWidth=r,this.textHeight=n,this.lineLength=s,O){this.heightSamples={};for(let l=0;l0}set outdated(e){this.flags=(e?2:0)|this.flags&-3}setHeight(e){this.height!=e&&(Math.abs(this.height-e)>On&&(_i=!0),this.height=e)}replace(e,t,r){return i.of(r)}decomposeLeft(e,t){t.push(this)}decomposeRight(e,t){t.push(this)}applyChanges(e,t,r,n){let s=this,o=r.doc;for(let a=n.length-1;a>=0;a--){let{fromA:O,toA:l,fromB:c,toB:h}=n[a],f=s.lineAt(O,J.ByPosNoHeight,r.setDoc(t),0,0),d=f.to>=l?f:s.lineAt(l,J.ByPosNoHeight,r,0,0);for(h+=d.to-l,l=d.to;a>0&&f.from<=n[a-1].toA;)O=n[a-1].fromA,c=n[a-1].fromB,a--,Os*2){let a=e[t-1];a.break?e.splice(--t,1,a.left,null,a.right):e.splice(--t,1,a.left,a.right),r+=1+a.break,n-=a.size}else if(s>n*2){let a=e[r];a.break?e.splice(r,1,a.left,null,a.right):e.splice(r,1,a.left,a.right),r+=2+a.break,s-=a.size}else break;else if(n=s&&o(this.lineAt(0,J.ByPos,r,n,s))}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,r=!1,n){return n&&n.from<=t&&n.more&&this.setMeasuredHeight(n),this.outdated=!1,this}toString(){return`block(${this.length})`}},Ee=class i extends Tn{constructor(e,t,r){super(e,t,null),this.collapsed=0,this.widgetHeight=0,this.breaks=0,this.spaceAbove=r}mainBlock(e,t){return new Fe(t,this.length,e+this.spaceAbove,this.height-this.spaceAbove,this.breaks)}replace(e,t,r){let n=r[0];return r.length==1&&(n instanceof i||n instanceof Vt&&n.flags&4)&&Math.abs(this.length-n.length)<10?(n instanceof Vt?n=new i(n.length,this.height,this.spaceAbove):n.height=this.height,this.outdated||(n.outdated=!1),n):Ve.of(r)}updateHeight(e,t=0,r=!1,n){return n&&n.from<=t&&n.more?this.setMeasuredHeight(n):(r||this.outdated)&&(this.spaceAbove=0,this.setHeight(Math.max(this.widgetHeight,e.heightForLine(this.length-this.collapsed))+this.breaks*e.lineHeight)),this.outdated=!1,this}toString(){return`line(${this.length}${this.collapsed?-this.collapsed:""}${this.widgetHeight?":"+this.widgetHeight:""})`}},Vt=class i extends Ve{constructor(e){super(e,0)}heightMetrics(e,t){let r=e.doc.lineAt(t).number,n=e.doc.lineAt(t+this.length).number,s=n-r+1,o,a=0;if(e.lineWrapping){let O=Math.min(this.height,e.lineHeight*s);o=O/s,this.length>s+1&&(a=(this.height-O)/(this.length-s-1))}else o=this.height/s;return{firstLine:r,lastLine:n,perLine:o,perChar:a}}blockAt(e,t,r,n){let{firstLine:s,lastLine:o,perLine:a,perChar:O}=this.heightMetrics(t,n);if(t.lineWrapping){let l=n+(e0){let s=r[r.length-1];s instanceof i?r[r.length-1]=new i(s.length+n):r.push(null,new i(n-1))}if(e>0){let s=r[0];s instanceof i?r[0]=new i(e+s.length):r.unshift(new i(e-1),null)}return Ve.of(r)}decomposeLeft(e,t){t.push(new i(e-1),null)}decomposeRight(e,t){t.push(null,new i(this.length-e-1))}updateHeight(e,t=0,r=!1,n){let s=t+this.length;if(n&&n.from<=t+this.length&&n.more){let o=[],a=Math.max(t,n.from),O=-1;for(n.from>t&&o.push(new i(n.from-t-1).updateHeight(e,t));a<=s&&n.more;){let c=e.doc.lineAt(a).length;o.length&&o.push(null);let h=n.heights[n.index++],f=0;h<0&&(f=-h,h=n.heights[n.index++]),O==-1?O=h:Math.abs(h-O)>=On&&(O=-2);let d=new Ee(c,h,f);d.outdated=!1,o.push(d),a+=c+1}a<=s&&o.push(null,new i(s-a).updateHeight(e,a));let l=Ve.of(o);return(O<0||Math.abs(l.height-this.height)>=On||Math.abs(O-this.heightMetrics(e,t).perLine)>=On)&&(_i=!0),Pn(this,l)}else(r||this.outdated)&&(this.setHeight(e.heightForGap(t,t+this.length)),this.outdated=!1);return this}toString(){return`gap(${this.length})`}},go=class extends Ve{constructor(e,t,r){super(e.length+t+r.length,e.height+r.height,t|(e.outdated||r.outdated?2:0)),this.left=e,this.right=r,this.size=e.size+r.size}get break(){return this.flags&1}blockAt(e,t,r,n){let s=r+this.left.height;return ea))return l;let c=t==J.ByPosNoHeight?J.ByPosNoHeight:J.ByPos;return O?l.join(this.right.lineAt(a,c,r,o,a)):this.left.lineAt(a,c,r,n,s).join(l)}forEachLine(e,t,r,n,s,o){let a=n+this.left.height,O=s+this.left.length+this.break;if(this.break)e=O&&this.right.forEachLine(e,t,r,a,O,o);else{let l=this.lineAt(O,J.ByPos,r,n,s);e=e&&l.from<=t&&o(l),t>l.to&&this.right.forEachLine(l.to+1,t,r,a,O,o)}}replace(e,t,r){let n=this.left.length+this.break;if(tthis.left.length)return this.balanced(this.left,this.right.replace(e-n,t-n,r));let s=[];e>0&&this.decomposeLeft(e,s);let o=s.length;for(let a of r)s.push(a);if(e>0&&Wl(s,o-1),t=r&&t.push(null)),e>r&&this.right.decomposeLeft(e-r,t)}decomposeRight(e,t){let r=this.left.length,n=r+this.break;if(e>=n)return this.right.decomposeRight(e-n,t);e2*t.size||t.size>2*e.size?Ve.of(this.break?[e,null,t]:[e,t]):(this.left=Pn(this.left,e),this.right=Pn(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,r=!1,n){let{left:s,right:o}=this,a=t+s.length+this.break,O=null;return n&&n.from<=t+s.length&&n.more?O=s=s.updateHeight(e,t,r,n):s.updateHeight(e,t,r),n&&n.from<=a+o.length&&n.more?O=o=o.updateHeight(e,a,r,n):o.updateHeight(e,a,r),O?this.balanced(s,o):(this.height=this.left.height+this.right.height,this.outdated=!1,this)}toString(){return this.left+(this.break?" ":"-")+this.right}};function Wl(i,e){let t,r;i[e]==null&&(t=i[e-1])instanceof Vt&&(r=i[e+1])instanceof Vt&&i.splice(e-1,3,new Vt(t.length+1+r.length))}var Pp=5,Qo=class i{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 r=Math.min(t,this.lineEnd),n=this.nodes[this.nodes.length-1];n instanceof Ee?n.length+=r-this.pos:(r>this.pos||!this.isCovered)&&this.nodes.push(new Ee(r-this.pos,-1,0)),this.writtenTo=r,t>r&&(this.nodes.push(null),this.writtenTo++,this.lineStart=-1)}this.pos=t}point(e,t,r){if(e=Pp)&&this.addLineDeco(n,s,o)}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 Ee(this.pos-e,-1,0)),this.writtenTo=this.pos}blankContent(e,t){let r=new Vt(t-e);return this.oracle.doc.lineAt(e).to==t&&(r.flags|=4),r}ensureLine(){this.enterLine();let e=this.nodes.length?this.nodes[this.nodes.length-1]:null;if(e instanceof Ee)return e;let t=new Ee(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,r){let n=this.ensureLine();n.length+=r,n.collapsed+=r,n.widgetHeight=Math.max(n.widgetHeight,e),n.breaks+=t,this.writtenTo=this.pos=this.pos+r}finish(e){let t=this.nodes.length==0?null:this.nodes[this.nodes.length-1];this.lineStart>-1&&!(t instanceof Ee)&&!this.isCovered?this.nodes.push(new Ee(0,-1,0)):(this.writtenToc.clientHeight||c.scrollWidth>c.clientWidth)&&h.overflow!="visible"){let f=c.getBoundingClientRect();s=Math.max(s,f.left),o=Math.min(o,f.right),a=Math.max(a,f.top),O=Math.min(l==i.parentNode?n.innerHeight:O,f.bottom)}l=h.position=="absolute"||h.position=="fixed"?c.offsetParent:c.parentNode}else if(l.nodeType==11)l=l.host;else break;return{left:s-t.left,right:Math.max(s,o)-t.left,top:a-(t.top+e),bottom:Math.max(a,O)-(t.top+e)}}function bp(i){let e=i.getBoundingClientRect(),t=i.ownerDocument.defaultView||window;return e.left0&&e.top0}function wp(i,e){let t=i.getBoundingClientRect();return{left:0,right:t.right-t.left,top:e,bottom:t.bottom-(t.top+e)}}var Or=class{constructor(e,t,r,n){this.from=e,this.to=t,this.size=r,this.displaySize=n}static same(e,t){if(e.length!=t.length)return!1;for(let r=0;rtypeof n!="function"&&n.class=="cm-lineWrapping");this.heightOracle=new po(r),this.stateDeco=Al(t),this.heightMap=Ve.empty().applyChanges(this.stateDeco,W.empty,this.heightOracle.setDoc(t.doc),[new He(0,0,0,t.doc.length)]);for(let n=0;n<2&&(this.viewport=this.getViewport(0,null),!!this.updateForViewport());n++);this.updateViewportLines(),this.lineGaps=this.ensureLineGaps([]),this.lineGapDeco=M.set(this.lineGaps.map(n=>n.draw(this,!1))),this.scrollParent=e.scrollDOM,this.computeVisibleRanges()}updateForViewport(){let e=[this.viewport],{main:t}=this.state.selection;for(let r=0;r<=1;r++){let n=r?t.head:t.anchor;if(!e.some(({from:s,to:o})=>n>=s&&n<=o)){let{from:s,to:o}=this.lineBlockAt(n);e.push(new wi(s,o))}}return this.viewports=e.sort((r,n)=>r.from-n.from),this.updateScaler()}updateScaler(){let e=this.scaler;return this.scaler=this.heightMap.height<=7e6?ql:new To(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(er(e,this.scaler))})}update(e,t=null){this.state=e.state;let r=this.stateDeco;this.stateDeco=Al(this.state);let n=e.changedRanges,s=He.extendWithRanges(n,Tp(r,this.stateDeco,e?e.changes:ge.empty(this.state.doc.length))),o=this.heightMap.height,a=this.scrolledToBottom?null:this.scrollAnchorAt(this.scrollOffset);Cl(),this.heightMap=this.heightMap.applyChanges(this.stateDeco,e.startState.doc,this.heightOracle.setDoc(this.state.doc),s),(this.heightMap.height!=o||_i)&&(e.flags|=2),a?(this.scrollAnchorPos=e.changes.mapPos(a.from,-1),this.scrollAnchorHeight=a.top):(this.scrollAnchorPos=-1,this.scrollAnchorHeight=o);let O=s.length?this.mapViewport(this.viewport,e.changes):this.viewport;(t&&(t.range.headO.to)||!this.viewportIsAppropriate(O))&&(O=this.getViewport(0,t));let l=O.from!=this.viewport.from||O.to!=this.viewport.to;this.viewport=O,e.flags|=this.updateForViewport(),(l||!e.changes.empty||e.flags&2)&&this.updateViewportLines(),(this.lineGaps.length||this.viewport.to-this.viewport.from>4e3)&&this.updateLineGaps(this.ensureLineGaps(this.mapLineGaps(this.lineGaps,e.changes))),e.flags|=this.computeVisibleRanges(e.changes),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(pc)&&(this.mustEnforceCursorAssoc=!0)}measure(){let{view:e}=this,t=e.contentDOM,r=window.getComputedStyle(t),n=this.heightOracle,s=r.whiteSpace;this.defaultTextDirection=r.direction=="rtl"?H.RTL:H.LTR;let o=this.heightOracle.mustRefreshForWrapping(s)||this.mustMeasureContent==="refresh",a=t.getBoundingClientRect(),O=o||this.mustMeasureContent||this.contentDOMHeight!=a.height;this.contentDOMHeight=a.height,this.mustMeasureContent=!1;let l=0,c=0;if(a.width&&a.height){let{scaleX:b,scaleY:x}=Kl(t,a);(b>.005&&Math.abs(this.scaleX-b)>.005||x>.005&&Math.abs(this.scaleY-x)>.005)&&(this.scaleX=b,this.scaleY=x,l|=16,o=O=!0)}let h=(parseInt(r.paddingTop)||0)*this.scaleY,f=(parseInt(r.paddingBottom)||0)*this.scaleY;(this.paddingTop!=h||this.paddingBottom!=f)&&(this.paddingTop=h,this.paddingBottom=f,l|=18),this.editorWidth!=e.scrollDOM.clientWidth&&(n.lineWrapping&&(O=!0),this.editorWidth=e.scrollDOM.clientWidth,l|=16);let d=Jl(this.view.contentDOM,!1).y;d!=this.scrollParent&&(this.scrollParent=d,this.scrollAnchorHeight=-1,this.scrollOffset=0);let $=this.getScrollOffset();this.scrollOffset!=$&&(this.scrollAnchorHeight=-1,this.scrollOffset=$),this.scrolledToBottom=tc(this.scrollParent||e.win);let p=(this.printing?wp:yp)(t,this.paddingTop),m=p.top-this.pixelViewport.top,g=p.bottom-this.pixelViewport.bottom;this.pixelViewport=p;let S=this.pixelViewport.bottom>this.pixelViewport.top&&this.pixelViewport.right>this.pixelViewport.left;if(S!=this.inView&&(this.inView=S,S&&(O=!0)),!this.inView&&!this.scrollTarget&&!bp(e.dom))return 0;let T=a.width;if((this.contentDOMWidth!=T||this.editorHeight!=e.scrollDOM.clientHeight)&&(this.contentDOMWidth=a.width,this.editorHeight=e.scrollDOM.clientHeight,l|=16),O){let b=e.docView.measureVisibleLineHeights(this.viewport);if(n.mustRefreshForHeights(b)&&(o=!0),o||n.lineWrapping&&Math.abs(T-this.contentDOMWidth)>n.charWidth){let{lineHeight:x,charWidth:w,textHeight:U}=e.docView.measureTextSize();o=x>0&&n.refresh(s,x,w,U,Math.max(5,T/w),b),o&&(e.docView.minWidth=0,l|=16)}m>0&&g>0?c=Math.max(m,g):m<0&&g<0&&(c=Math.min(m,g)),Cl();for(let x of this.viewports){let w=x.from==this.viewport.from?b:e.docView.measureVisibleLineHeights(x);this.heightMap=(o?Ve.empty().applyChanges(this.stateDeco,W.empty,this.heightOracle,[new He(0,0,0,e.state.doc.length)]):this.heightMap).updateHeight(n,0,o,new mo(x.from,w))}_i&&(l|=2)}let _=!this.viewportIsAppropriate(this.viewport,c)||this.scrollTarget&&(this.scrollTarget.range.headthis.viewport.to);return _&&(l&2&&(l|=this.updateScaler()),this.viewport=this.getViewport(c,this.scrollTarget),l|=this.updateForViewport()),(l&2||_)&&this.updateViewportLines(),(this.lineGaps.length||this.viewport.to-this.viewport.from>4e3)&&this.updateLineGaps(this.ensureLineGaps(o?[]:this.lineGaps,e)),l|=this.computeVisibleRanges(),this.mustEnforceCursorAssoc&&(this.mustEnforceCursorAssoc=!1,e.docView.enforceCursorAssoc()),l}get visibleTop(){return this.scaler.fromDOM(this.pixelViewport.top)}get visibleBottom(){return this.scaler.fromDOM(this.pixelViewport.bottom)}getViewport(e,t){let r=.5-Math.max(-.5,Math.min(.5,e/1e3/2)),n=this.heightMap,s=this.heightOracle,{visibleTop:o,visibleBottom:a}=this,O=new wi(n.lineAt(o-r*1e3,J.ByHeight,s,0,0).from,n.lineAt(a+(1-r)*1e3,J.ByHeight,s,0,0).to);if(t){let{head:l}=t.range;if(lO.to){let c=Math.min(this.editorHeight,this.pixelViewport.bottom-this.pixelViewport.top),h=n.lineAt(l,J.ByPos,s,0,0),f;t.y=="center"?f=(h.top+h.bottom)/2-c/2:t.y=="start"||t.y=="nearest"&&l=a+Math.max(10,Math.min(r,250)))&&n>o-2*1e3&&s>1,o=n<<1;if(this.defaultTextDirection!=H.LTR&&!r)return[];let a=[],O=(c,h,f,d)=>{if(h-cc&&gg.from>=f.from&&g.to<=f.to&&Math.abs(g.from-c)g.fromS));if(!m){if(hT.from<=h&&T.to>=h)){let T=t.moveToLineBoundary(Q.cursor(h),!1,!0).head;T>c&&(h=T)}let g=this.gapSize(f,c,h,d),S=r||g<2e6?g:2e6;m=new Or(c,h,g,S)}a.push(m)},l=c=>{if(c.length2e6)for(let x of e)x.from>=c.from&&x.fromc.from&&O(c.from,d,c,h),$t.draw(this,this.heightOracle.lineWrapping))))}computeVisibleRanges(e){let t=this.stateDeco;this.lineGaps.length&&(t=t.concat(this.lineGapDeco));let r=[];G.spans(t,this.viewport.from,this.viewport.to,{span(s,o){r.push({from:s,to:o})},point(){}},20);let n=0;if(r.length!=this.visibleRanges.length)n=12;else for(let s=0;s=this.viewport.from&&e<=this.viewport.to&&this.viewportLines.find(t=>t.from<=e&&t.to>=e)||er(this.heightMap.lineAt(e,J.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)||er(this.heightMap.lineAt(this.scaler.fromDOM(e),J.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 er(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}},wi=class{constructor(e,t){this.from=e,this.to=t}};function xp(i,e,t){let r=[],n=i,s=0;return G.spans(t,i,e,{span(){},point(o,a){o>n&&(r.push({from:n,to:o}),s+=o-n),n=a}},20),n=1)return e[e.length-1].to;let r=Math.floor(i*t);for(let n=0;;n++){let{from:s,to:o}=e[n],a=o-s;if(r<=a)return s+r;r-=a}}function nn(i,e){let t=0;for(let{from:r,to:n}of i.ranges){if(e<=n){t+=e-r;break}t+=n-r}return t/i.total}function kp(i,e){for(let t of i)if(e(t))return t}var ql={toDOM(i){return i},fromDOM(i){return i},scale:1,eq(i){return i==this}};function Al(i){let e=i.facet(Xn).filter(r=>typeof r!="function"),t=i.facet(jo).filter(r=>typeof r!="function");return t.length&&e.push(G.join(t)),e}var To=class i{constructor(e,t,r){let n=0,s=0,o=0;this.viewports=r.map(({from:a,to:O})=>{let l=t.lineAt(a,J.ByPos,e,0,0).top,c=t.lineAt(O,J.ByPos,e,0,0).bottom;return n+=c-l,{from:a,to:O,top:l,bottom:c,domTop:0,domBottom:0}}),this.scale=(7e6-n)/(t.height-n);for(let a of this.viewports)a.domTop=o+(a.top-s)*this.scale,o=a.domBottom=a.domTop+(a.bottom-a.top),s=a.bottom}toDOM(e){for(let t=0,r=0,n=0;;t++){let s=tt.from==e.viewports[r].from&&t.to==e.viewports[r].to):!1}};function er(i,e){if(e.scale==1)return i;let t=e.toDOM(i.top),r=e.toDOM(i.bottom);return new Fe(i.from,i.length,t,r-t,Array.isArray(i._content)?i._content.map(n=>er(n,e)):i._content)}var sn=v.define({combine:i=>i.join(" ")}),yo=v.define({combine:i=>i.indexOf(!0)>-1}),bo=Me.newName(),qc=Me.newName(),Ac=Me.newName(),jc={"&light":"."+qc,"&dark":"."+Ac};function wo(i,e,t){return new Me(e,{finish(r){return/&/.test(r)?r.replace(/&\w*/,n=>{if(n=="&")return i;if(!t||!t[n])throw new RangeError(`Unsupported selector: ${n}`);return t[n]}):i+" "+r}})}var Xp=wo("."+bo,{"&":{position:"relative !important",boxSizing:"border-box","&.cm-focused":{outline:"1px dotted #212121"},display:"flex !important",flexDirection:"column"},".cm-scroller":{display:"flex !important",alignItems:"flex-start !important",fontFamily:"monospace",lineHeight:1.4,height:"100%",overflowX:"auto",position:"relative",zIndex:0,overflowAnchor:"none"},".cm-content":{margin:0,flexGrow:2,flexShrink:0,display:"block",whiteSpace:"pre",wordWrap:"normal",boxSizing:"border-box",minHeight:"100%",padding:"4px 0",outline:"none","&[contenteditable=true]":{WebkitUserModify:"read-write-plaintext-only"}},".cm-lineWrapping":{whiteSpace_fallback:"pre-wrap",whiteSpace:"break-spaces",wordBreak:"break-word",overflowWrap:"anywhere",flexShrink:1},"&light .cm-content":{caretColor:"black"},"&dark .cm-content":{caretColor:"white"},".cm-line":{display:"block",padding:"0 2px 0 6px"},".cm-layer":{position:"absolute",left:0,top:0,contain:"size style","& > *":{position:"absolute"}},"&light .cm-selectionBackground":{background:"#d9d9d9"},"&dark .cm-selectionBackground":{background:"#222"},"&light.cm-focused > .cm-scroller > .cm-selectionLayer .cm-selectionBackground":{background:"#d7d4f0"},"&dark.cm-focused > .cm-scroller > .cm-selectionLayer .cm-selectionBackground":{background:"#233"},".cm-cursorLayer":{pointerEvents:"none"},"&.cm-focused > .cm-scroller > .cm-cursorLayer":{animation:"steps(1) cm-blink 1.2s infinite"},"@keyframes cm-blink":{"0%":{},"50%":{opacity:0},"100%":{}},"@keyframes cm-blink2":{"0%":{},"50%":{opacity:0},"100%":{}},".cm-cursor, .cm-dropCursor":{borderLeft:"1.2px solid black",marginLeft:"-0.6px",pointerEvents:"none"},".cm-cursor":{display:"none"},"&dark .cm-cursor":{borderLeftColor:"#ddd"},".cm-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"}},jc),vp={childList:!0,characterData:!0,subtree:!0,attributes:!0,characterDataOldValue:!0},Us=X.ie&&X.ie_version<=11,xo=class{constructor(e){this.view=e,this.active=!1,this.editContext=null,this.selectionRange=new Ds,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 r of t)this.queue.push(r);(X.ie&&X.ie_version<=11||X.ios&&e.composing)&&t.some(r=>r.type=="childList"&&r.removedNodes.length||r.type=="characterData"&&r.oldValue.length>r.target.nodeValue.length)?this.flushSoon():this.flush()}),window.EditContext&&X.android&&e.constructor.EDIT_CONTEXT!==!1&&!(X.chrome&&X.chrome_version<126)&&(this.editContext=new ko(e),e.state.facet(gt)&&(e.contentDOM.editContext=this.editContext.editContext)),Us&&(this.onCharData=t=>{this.queue.push({target:t.target,type:"characterData",oldValue:t.prevValue}),this.flushSoon()}),this.onSelectionChange=this.onSelectionChange.bind(this),this.onResize=this.onResize.bind(this),this.onPrint=this.onPrint.bind(this),this.onScroll=this.onScroll.bind(this),window.matchMedia&&(this.printQuery=window.matchMedia("print")),typeof ResizeObserver=="function"&&(this.resizeScroll=new ResizeObserver(()=>{var t;((t=this.view.docView)===null||t===void 0?void 0:t.lastUpdate){this.parentCheck<0&&(this.parentCheck=setTimeout(this.listenForScroll.bind(this),1e3)),t.length>0&&t[t.length-1].intersectionRatio>0!=this.intersecting&&(this.intersecting=!this.intersecting,this.intersecting!=this.view.inView&&this.onScrollChanged(document.createEvent("Event")))},{threshold:[0,.001]}),this.intersection.observe(this.dom),this.gapIntersection=new IntersectionObserver(t=>{t.length>0&&t[t.length-1].intersectionRatio>0&&this.onScrollChanged(document.createEvent("Event"))},{})),this.listenForScroll(),this.readSelectionRange()}onScrollChanged(e){this.view.inputState.runHandlers("scroll",e),this.intersecting&&this.view.measure()}onScroll(e){this.intersecting&&this.flush(!1),this.editContext&&this.view.requestMeasure(this.editContext.measureReq),this.onScrollChanged(e)}onResize(){this.resizeTimeout<0&&(this.resizeTimeout=setTimeout(()=>{this.resizeTimeout=-1,this.view.requestMeasure()},50))}onPrint(e){(e.type=="change"||!e.type)&&!e.matches||(this.view.viewState.printing=!0,this.view.measure(),setTimeout(()=>{this.view.viewState.printing=!1,this.view.requestMeasure()},500))}updateGaps(e){if(this.gapIntersection&&(e.length!=this.gaps.length||this.gaps.some((t,r)=>t!=e[r]))){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:r}=this,n=this.selectionRange;if(r.state.facet(gt)?r.root.activeElement!=this.dom:!ir(this.dom,n))return;let s=n.anchorNode&&r.docView.tile.nearest(n.anchorNode);if(s&&s.isWidget()&&s.widget.ignoreEvent(e)){t||(this.selectionChanged=!1);return}(X.ie&&X.ie_version<=11||X.android&&X.chrome)&&!r.state.selection.main.empty&&n.focusNode&&rr(n.focusNode,n.focusOffset,n.anchorNode,n.anchorOffset)?this.flushSoon():this.flush(!1)}readSelectionRange(){let{view:e}=this,t=fr(e.root);if(!t)return!1;let r=X.safari&&e.root.nodeType==11&&e.root.activeElement==this.dom&&Zp(this.view,t)||t;if(!r||this.selectionRange.eq(r))return!1;let n=ir(this.dom,r);return n&&!this.selectionChanged&&e.inputState.lastFocusTime>Date.now()-200&&e.inputState.lastTouchTime{let s=this.delayedAndroidKey;s&&(this.clearDelayedAndroidKey(),this.view.inputState.lastKeyCode=s.keyCode,this.view.inputState.lastKeyTime=Date.now(),!this.flush()&&s.force&&Xi(this.dom,s.key,s.keyCode))};this.flushingAndroidKey=this.view.win.requestAnimationFrame(n)}(!this.delayedAndroidKey||e=="Enter")&&(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,r=-1,n=!1;for(let s of e){let o=this.readMutation(s);o&&(o.typeOver&&(n=!0),t==-1?{from:t,to:r}=o:(t=Math.min(o.from,t),r=Math.max(o.to,r)))}return{from:t,to:r,typeOver:n}}readChange(){let{from:e,to:t,typeOver:r}=this.processRecords(),n=this.selectionChanged&&ir(this.dom,this.selectionRange);if(e<0&&!n)return null;e>-1&&(this.lastChange=Date.now()),this.view.inputState.lastFocusTime=0,this.selectionChanged=!1;let s=new ho(this.view,e,t,r);return this.view.docView.domChanged={newSel:s.newSel?s.newSel.main:null},s}flush(e=!0){if(this.delayedFlush>=0||this.delayedAndroidKey)return!1;e&&this.readSelectionRange();let t=this.readChange();if(!t)return this.view.requestMeasure(),!1;let r=this.view.state,n=Xc(this.view,t);return this.view.state==r&&(t.domChanged||t.newSel&&!Sn(this.view.state.selection,t.newSel.main))&&this.view.update([]),n}readMutation(e){let t=this.view.docView.tile.nearest(e.target);if(!t||t.isWidget())return null;if(t.markDirty(e.type=="attributes"),e.type=="childList"){let r=jl(t,e.previousSibling||e.target.previousSibling,-1),n=jl(t,e.nextSibling||e.target.nextSibling,1);return{from:r?t.posAfter(r):t.posAtStart,to:n?t.posBefore(n):t.posAtEnd,typeOver:!1}}else return e.type=="characterData"?{from:t.posAtStart,to:t.posAtEnd,typeOver:e.target.nodeValue==e.oldValue}:null}setWindow(e){e!=this.win&&(this.removeWindowListeners(this.win),this.win=e,this.addWindowListeners(this.win))}addWindowListeners(e){e.addEventListener("resize",this.onResize),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(gt)!=e.state.facet(gt)&&(e.view.contentDOM.editContext=e.state.facet(gt)?this.editContext.editContext:null))}destroy(){var e,t,r;this.stop(),(e=this.intersection)===null||e===void 0||e.disconnect(),(t=this.gapIntersection)===null||t===void 0||t.disconnect(),(r=this.resizeScroll)===null||r===void 0||r.disconnect();for(let n of this.scrollTargets)n.removeEventListener("scroll",this.onScroll);this.removeWindowListeners(this.win),clearTimeout(this.parentCheck),clearTimeout(this.resizeTimeout),this.win.cancelAnimationFrame(this.delayedFlush),this.win.cancelAnimationFrame(this.flushingAndroidKey),this.editContext&&(this.view.contentDOM.editContext=null,this.editContext.destroy())}};function jl(i,e,t){for(;e;){let r=te.get(e);if(r&&r.parent==i)return r;let n=e.parentNode;e=n!=i.dom?n:t>0?e.nextSibling:e.previousSibling}return null}function Ul(i,e){let t=e.startContainer,r=e.startOffset,n=e.endContainer,s=e.endOffset,o=i.docView.domAtPos(i.state.selection.main.anchor,1);return rr(o.node,o.offset,n,s)&&([t,r,n,s]=[n,s,t,r]),{anchorNode:t,anchorOffset:r,focusNode:n,focusOffset:s}}function Zp(i,e){if(e.getComposedRanges){let n=e.getComposedRanges(i.root)[0];if(n)return Ul(i,n)}let t=null;function r(n){n.preventDefault(),n.stopImmediatePropagation(),t=n.getTargetRanges()[0]}return i.contentDOM.addEventListener("beforeinput",r,!0),i.dom.ownerDocument.execCommand("indent"),i.contentDOM.removeEventListener("beforeinput",r,!0),t?Ul(i,t):null}var ko=class{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=r=>{let n=e.state.selection.main,{anchor:s,head:o}=n,a=this.toEditorPos(r.updateRangeStart),O=this.toEditorPos(r.updateRangeEnd);e.inputState.composing>=0&&!this.composing&&(this.composing={contextBase:r.updateRangeStart,editorBase:a,drifted:!1});let l=O-a>r.text.length;a==this.from&&sthis.to&&(O=s);let c=vc(e.state.sliceDoc(a,O),r.text,(l?n.from:n.to)-a,l?"end":null);if(!c){let f=Q.single(this.toEditorPos(r.selectionStart),this.toEditorPos(r.selectionEnd));Sn(f,n)||e.dispatch({selection:f,userEvent:"select"});return}let h={from:c.from+a,to:c.toA+a,insert:W.of(r.text.slice(c.from,c.toB).split(` +`))};if((X.mac||X.android)&&h.from==o-1&&/^\. ?$/.test(r.text)&&e.contentDOM.getAttribute("autocorrect")=="off"&&(h={from:a,to:O,insert:W.of([r.text.replace("."," ")])}),this.pendingContextChange=h,!e.state.readOnly){let f=this.to-this.from+(h.to-h.from+h.insert.length);Uo(e,h,Q.single(this.toEditorPos(r.selectionStart,f),this.toEditorPos(r.selectionEnd,f)))}this.pendingContextChange&&(this.revertPending(e.state),this.setSelection(e.state)),h.from=0&&!/[\\p{Alphabetic}\\p{Number}_]/.test(t.text.slice(Math.max(0,r.updateRangeStart-1),Math.min(t.text.length,r.updateRangeStart+1)))&&this.handlers.compositionend(r)},this.handlers.characterboundsupdate=r=>{let n=[],s=null;for(let o=this.toEditorPos(r.rangeStart),a=this.toEditorPos(r.rangeEnd);o{let n=[];for(let s of r.getTextFormats()){let o=s.underlineStyle,a=s.underlineThickness;if(!/none/i.test(o)&&!/none/i.test(a)){let O=this.toEditorPos(s.rangeStart),l=this.toEditorPos(s.rangeEnd);if(O{e.inputState.composing<0&&(e.inputState.composing=0,e.inputState.compositionFirstChange=!0)},this.handlers.compositionend=()=>{if(e.inputState.composing=-1,e.inputState.compositionFirstChange=null,this.composing){let{drifted:r}=this.composing;this.composing=null,r&&this.reset(e.state)}};for(let r in this.handlers)t.addEventListener(r,this.handlers[r]);this.measureReq={read:r=>{this.editContext.updateControlBounds(r.contentDOM.getBoundingClientRect());let n=fr(r.root);n&&n.rangeCount&&this.editContext.updateSelectionBounds(n.getRangeAt(0).getBoundingClientRect())}}}applyEdits(e){let t=0,r=!1,n=this.pendingContextChange;return e.changes.iterChanges((s,o,a,O,l)=>{if(r)return;let c=l.length-(o-s);if(n&&o>=n.to)if(n.from==s&&n.to==o&&n.insert.eq(l)){n=this.pendingContextChange=null,t+=c,this.to+=c;return}else n=null,this.revertPending(e.state);if(s+=t,o+=t,o<=this.from)this.from+=c,this.to+=c;else if(sthis.to||this.to-this.from+l.length>3e4){r=!0;return}this.editContext.updateText(this.toContextPos(s),this.toContextPos(o),l.toString()),this.to+=c}t+=c}),n&&!r&&this.revertPending(e.state),!r}update(e){let t=this.pendingContextChange,r=e.startState.selection.main;this.composing&&(this.composing.drifted||!e.changes.touchesRange(r.from,r.to)&&e.transactions.some(n=>!n.isUserEvent("input.type")&&n.changes.touchesRange(this.from,this.to)))?(this.composing.drifted=!0,this.composing.editorBase=e.changes.mapPos(this.composing.editorBase)):!this.applyEdits(e)||!this.rangeIsValid(e.state)?(this.pendingContextChange=null,this.reset(e.state)):(e.docChanged||e.selectionSet||t)&&this.setSelection(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,r=this.toContextPos(Math.max(this.from,Math.min(this.to,t.anchor))),n=this.toContextPos(t.head);(this.editContext.selectionStart!=r||this.editContext.selectionEnd!=n)&&this.editContext.updateSelection(r,n)}rangeIsValid(e){let{head:t}=e.selection.main;return!(this.from>0&&t-this.from<500||this.to1e4*3)}toEditorPos(e,t=this.to-this.from){e=Math.min(e,t);let r=this.composing;return r&&r.drifted?r.editorBase+(e-r.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])}},k=class i{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:r}=e;this.dispatchTransactions=e.dispatchTransactions||r&&(n=>n.forEach(s=>r(s,this)))||(n=>this.update(n)),this.dispatch=this.dispatch.bind(this),this._root=e.root||b$(e.parent)||document,this.viewState=new yn(this,e.state||D.create(e)),e.scrollTo&&e.scrollTo.is(Jr)&&(this.viewState.scrollTarget=e.scrollTo.value.clip(this.viewState.state)),this.plugins=this.state.facet(bi).map(n=>new sr(n));for(let n of this.plugins)n.update(this);this.observer=new xo(this),this.inputState=new fo(this),this.inputState.ensureHandlers(this.plugins),this.docView=new gn(this),this.mountStyles(),this.updateAttrs(),this.updateState=0,this.requestMeasure(),!((t=document.fonts)===null||t===void 0)&&t.ready&&document.fonts.ready.then(()=>{this.viewState.mustMeasureContent="refresh",this.requestMeasure()})}dispatch(...e){let t=e.length==1&&e[0]instanceof re?e:e.length==1&&Array.isArray(e[0])?e[0]:[this.state.update(...e)];this.dispatchTransactions(t,this)}update(e){if(this.updateState!=0)throw new Error("Calls to EditorView.update are not allowed while an update is in progress");let t=!1,r=!1,n,s=this.state;for(let f of e){if(f.startState!=s)throw new RangeError("Trying to update state with a transaction that doesn't start from the previous state.");s=f.state}if(this.destroyed){this.viewState.state=s;return}let o=this.hasFocus,a=0,O=null;e.some(f=>f.annotation(Yc))?(this.inputState.notifiedFocused=o,a=1):o!=this.inputState.notifiedFocused&&(this.inputState.notifiedFocused=o,O=Cc(s,o),O||(a=1));let l=this.observer.delayedAndroidKey,c=null;if(l?(this.observer.clearDelayedAndroidKey(),c=this.observer.readChange(),(c&&!this.state.doc.eq(s.doc)||!this.state.selection.eq(s.selection))&&(c=null)):this.observer.clear(),s.facet(D.phrases)!=this.state.facet(D.phrases))return this.setState(s);n=pn.create(this,s,e),n.flags|=a;let h=this.viewState.scrollTarget;try{this.updateState=2;for(let f of e){if(h&&(h=h.map(f.changes)),f.scrollIntoView){let{main:d}=f.state.selection,{x:$,y:p}=this.state.facet(i.cursorScrollMargin);h=new nr(d.empty?d:Q.cursor(d.head,d.head>d.anchor?-1:1),"nearest","nearest",p,$)}for(let d of f.effects)d.is(Jr)&&(h=d.value.clip(this.state))}this.viewState.update(n,h),this.bidiCache=bn.update(this.bidiCache,n.changes),n.empty||(this.updatePlugins(n),this.inputState.update(n)),t=this.docView.update(n),this.state.facet(Ji)!=this.styleModules&&this.mountStyles(),r=this.updateAttrs(),this.showAnnouncements(e),this.docView.updateSelection(t,e.some(f=>f.isUserEvent("select.pointer")))}finally{this.updateState=0}if(n.startState.facet(sn)!=n.state.facet(sn)&&(this.viewState.mustMeasureContent=!0),(t||r||h||this.viewState.mustEnforceCursorAssoc||this.viewState.mustMeasureContent)&&this.requestMeasure(),t&&this.docViewUpdate(),!n.empty)for(let f of this.state.facet(Ks))try{f(n)}catch(d){Ie(this.state,d,"update listener")}(O||c)&&Promise.resolve().then(()=>{O&&this.state==O.startState&&this.dispatch(O),c&&!Xc(this,c)&&l.force&&Xi(this.contentDOM,l.key,l.keyCode)})}setState(e){if(this.updateState!=0)throw new Error("Calls to EditorView.setState are not allowed while an update is in progress");if(this.destroyed){this.viewState.state=e;return}this.updateState=2;let t=this.hasFocus;try{for(let r of this.plugins)r.destroy(this);this.viewState=new yn(this,e),this.plugins=e.facet(bi).map(r=>new sr(r)),this.pluginMap.clear();for(let r of this.plugins)r.update(this);this.docView.destroy(),this.docView=new gn(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(bi),r=e.state.facet(bi);if(t!=r){let n=[];for(let s of r){let o=t.indexOf(s);if(o<0)n.push(new sr(s));else{let a=this.plugins[o];a.mustUpdate=e,n.push(a)}}for(let s of this.plugins)s.mustUpdate!=e&&s.destroy(this);this.plugins=n,this.pluginMap.clear()}else for(let n of this.plugins)n.mustUpdate=e;for(let n=0;n-1&&this.win.cancelAnimationFrame(this.measureScheduled),this.observer.delayedAndroidKey){this.measureScheduled=-1,this.requestMeasure();return}this.measureScheduled=0,e&&this.observer.forceFlush();let t=null,r=this.viewState.scrollParent,n=this.viewState.getScrollOffset(),{scrollAnchorPos:s,scrollAnchorHeight:o}=this.viewState;Math.abs(n-this.viewState.scrollOffset)>1&&(o=-1),this.viewState.scrollAnchorHeight=-1;try{for(let a=0;;a++){if(o<0)if(tc(r||this.win))s=-1,o=this.viewState.heightMap.height;else{let d=this.viewState.scrollAnchorAt(n);s=d.from,o=d.top}this.updateState=1;let O=this.viewState.measure();if(!O&&!this.measureRequests.length&&this.viewState.scrollTarget==null)break;if(a>5){console.warn(this.measureRequests.length?"Measure loop restarted more than 5 times":"Viewport failed to stabilize");break}let l=[];O&4||([this.measureRequests,l]=[l,this.measureRequests]);let c=l.map(d=>{try{return d.read(this)}catch($){return Ie(this.state,$),Ml}}),h=pn.create(this,this.state,[]),f=!1;h.flags|=O,t?t.flags|=O:t=h,this.updateState=2,h.empty||(this.updatePlugins(h),this.inputState.update(h),this.updateAttrs(),f=this.docView.update(h),f&&this.docViewUpdate());for(let d=0;d1||$<-1)&&(r==this.scrollDOM||this.hasFocus||Math.max(this.inputState.lastWheelEvent,this.inputState.lastTouchTime)>Date.now()-100)){n=n+$,r?r.scrollTop+=$:this.win.scrollBy(0,$),o=-1;continue}}break}}}finally{this.updateState=0,this.measureScheduled=-1}if(t&&!t.empty)for(let a of this.state.facet(Ks))a(t)}get themeClasses(){return bo+" "+(this.state.facet(yo)?Ac:qc)+" "+this.state.facet(sn)}updateAttrs(){let e=El(this,Qc,{class:"cm-editor"+(this.hasFocus?" cm-focused ":" ")+this.themeClasses}),t={spellcheck:"false",autocorrect:"off",autocapitalize:"off",writingsuggestions:"false",translate:"no",contenteditable:this.state.facet(gt)?"true":"false",class:"cm-content",style:`${X.tabSize}: ${this.state.tabSize}`,role:"textbox","aria-multiline":"true"};this.state.readOnly&&(t["aria-readonly"]="true"),El(this,Ao,t);let r=this.observer.ignore(()=>{let n=Pl(this.contentDOM,this.contentAttrs,t),s=Pl(this.dom,this.editorAttrs,e);return n||s});return this.editorAttrs=e,this.contentAttrs=t,r}showAnnouncements(e){let t=!0;for(let r of e)for(let n of r.effects)if(n.is(i.announce)){t&&(this.announceDOM.textContent=""),t=!1;let s=this.announceDOM.appendChild(document.createElement("div"));s.textContent=n.value}}mountStyles(){this.styleModules=this.state.facet(Ji);let e=this.state.facet(i.cspNonce);Me.mount(this.root,this.styleModules.concat(Xp).reverse(),e?{nonce:e}:void 0)}readMeasured(){if(this.updateState==2)throw new Error("Reading the editor layout isn't allowed during an update");this.updateState==0&&this.measureScheduled>-1&&this.measure(!1)}requestMeasure(e){if(this.measureScheduled<0&&(this.measureScheduled=this.win.requestAnimationFrame(()=>this.measure())),e){if(this.measureRequests.indexOf(e)>-1)return;if(e.key!=null){for(let t=0;tr.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,r){return js(this,e,kl(this,e,t,r))}moveByGroup(e,t){return js(this,e,kl(this,e,t,r=>J$(this,e.head,r)))}visualLineSide(e,t){let r=this.bidiSpans(e),n=this.textDirectionAt(e.from),s=r[t?r.length-1:0];return Q.cursor(s.side(t,n)+e.from,s.forward(!t,n)?1:-1)}moveToLineBoundary(e,t,r=!0){return K$(this,e,t,r)}moveVertically(e,t,r){return js(this,e,ep(this,e,t,r))}domAtPos(e,t=1){return this.docView.domAtPos(e,t)}posAtDOM(e,t=0){return this.docView.posFromDOM(e,t)}posAtCoords(e,t=!0){this.readMeasured();let r=Oo(this,e,t);return r&&r.pos}posAndSideAtCoords(e,t=!0){return this.readMeasured(),Oo(this,e,t)}coordsAtPos(e,t=1){this.readMeasured();let r=this.docView.coordsAt(e,t);if(!r||r.left==r.right)return r;let n=this.state.doc.lineAt(e),s=this.bidiSpans(n),o=s[Ge.find(s,e-n.from,-1,t)];return $n(r,o.dir==H.LTR==t>0)}coordsForChar(e){return this.readMeasured(),this.docView.coordsForChar(e)}get defaultCharacterWidth(){return this.viewState.heightOracle.charWidth}get defaultLineHeight(){return this.viewState.heightOracle.lineHeight}get textDirection(){return this.viewState.defaultTextDirection}textDirectionAt(e){return!this.state.facet($c)||ethis.viewport.to?this.textDirection:(this.readMeasured(),this.docView.textDirectionAt(e))}get lineWrapping(){return this.viewState.heightOracle.lineWrapping}bidiSpans(e){if(e.length>Rp)return ac(e.length);let t=this.textDirectionAt(e.from),r;for(let s of this.bidiCache)if(s.from==e.from&&s.dir==t&&(s.fresh||oc(s.isolates,r=bl(this,e))))return s.order;r||(r=bl(this,e));let n=V$(e.text,t,r);return this.bidiCache.push(new bn(e.from,e.to,t,r,!0,n)),n}get hasFocus(){var e;return(this.dom.ownerDocument.hasFocus()||X.safari&&((e=this.inputState)===null||e===void 0?void 0:e.lastContextMenu)>Date.now()-3e4)&&this.root.activeElement==this.contentDOM}focus(){this.observer.ignore(()=>{ec(this.contentDOM),this.docView.updateSelection()})}setRoot(e){this._root!=e&&(this._root=e,this.observer.setWindow((e.nodeType==9?e:e.ownerDocument).defaultView||window),this.mountStyles())}destroy(){this.root.activeElement==this.contentDOM&&this.contentDOM.blur();for(let e of this.plugins)e.destroy(this);this.plugins=[],this.inputState.destroy(),this.docView.destroy(),this.dom.remove(),this.observer.destroy(),this.measureScheduled>-1&&this.win.cancelAnimationFrame(this.measureScheduled),this.destroyed=!0}static scrollIntoView(e,t={}){var r,n,s,o;return Jr.of(new nr(typeof e=="number"?Q.cursor(e):e,(r=t.y)!==null&&r!==void 0?r:"nearest",(n=t.x)!==null&&n!==void 0?n:"nearest",(s=t.yMargin)!==null&&s!==void 0?s:5,(o=t.xMargin)!==null&&o!==void 0?o:5))}scrollSnapshot(){let{scrollTop:e,scrollLeft:t}=this.scrollDOM,r=this.viewState.scrollAnchorAt(e);return Jr.of(new nr(Q.cursor(r.from),"start","start",r.top-e,t,!0))}setTabFocusMode(e){e==null?this.inputState.tabFocusMode=this.inputState.tabFocusMode<0?0:-1:typeof e=="boolean"?this.inputState.tabFocusMode=e?0:-1:this.inputState.tabFocusMode!=0&&(this.inputState.tabFocusMode=Date.now()+e)}static domEventHandlers(e){return _e.define(()=>({}),{eventHandlers:e})}static domEventObservers(e){return _e.define(()=>({}),{eventObservers:e})}static theme(e,t){let r=Me.newName(),n=[sn.of(r),Ji.of(wo(`.${r}`,e))];return t&&t.dark&&n.push(yo.of(!0)),n}static baseTheme(e){return at.lowest(Ji.of(wo("."+bo,e,jc)))}static findFromDOM(e){var t;let r=e.querySelector(".cm-content"),n=r&&te.get(r)||te.get(e);return((t=n?.root)===null||t===void 0?void 0:t.view)||null}};k.styleModule=Ji;k.inputHandler=uc;k.clipboardInputFilter=Wo;k.clipboardOutputFilter=qo;k.scrollHandler=mc;k.focusChangeEffect=dc;k.perLineTextDirection=$c;k.exceptionSink=fc;k.updateListener=Ks;k.editable=gt;k.mouseSelectionStyle=hc;k.dragMovesSelection=cc;k.clickAddsSelectionRange=lc;k.decorations=Xn;k.blockWrappers=Sc;k.outerDecorations=jo;k.atomicRanges=dr;k.bidiIsolatedRanges=Pc;k.cursorScrollMargin=v.define({combine:i=>{let e=5,t=5;for(let r of i)typeof r=="number"?e=t=r:{x:e,y:t}=r;return{x:e,y:t}}});k.scrollMargins=Tc;k.darkTheme=yo;k.cspNonce=v.define({combine:i=>i.length?i[0]:""});k.contentAttributes=Ao;k.editorAttributes=Qc;k.lineWrapping=k.contentAttributes.of({class:"cm-lineWrapping"});k.announce=B.define();var Rp=4096,Ml={},bn=class i{constructor(e,t,r,n,s,o){this.from=e,this.to=t,this.dir=r,this.isolates=n,this.fresh=s,this.order=o}static update(e,t){if(t.empty&&!e.some(s=>s.fresh))return e;let r=[],n=e.length?e[e.length-1].dir:H.LTR;for(let s=Math.max(0,e.length-10);s=0;n--){let s=r[n],o=typeof s=="function"?s(i):s;o&&zo(o,t)}return t}var Vp=X.mac?"mac":X.windows?"win":X.linux?"linux":"key";function _p(i,e){let t=i.split(/-(?!$)/),r=t[t.length-1];r=="Space"&&(r=" ");let n,s,o,a;for(let O=0;Or.concat(n),[]))),t}var Rt=null,Cp=4e3;function Wp(i,e=Vp){let t=Object.create(null),r=Object.create(null),n=(o,a)=>{let O=r[o];if(O==null)r[o]=a;else if(O!=a)throw new Error("Key binding "+o+" is used both as a regular binding and as a multi-stroke prefix")},s=(o,a,O,l,c)=>{var h,f;let d=t[o]||(t[o]=Object.create(null)),$=a.split(/ (?!$)/).map(g=>_p(g,e));for(let g=1;g<$.length;g++){let S=$.slice(0,g).join(" ");n(S,!0),d[S]||(d[S]={preventDefault:!0,stopPropagation:!1,run:[T=>{let _=Rt={view:T,prefix:S,scope:o};return setTimeout(()=>{Rt==_&&(Rt=null)},Cp),!0}]})}let p=$.join(" ");n(p,!1);let m=d[p]||(d[p]={preventDefault:!1,stopPropagation:!1,run:((f=(h=d._any)===null||h===void 0?void 0:h.run)===null||f===void 0?void 0:f.slice())||[]});O&&m.run.push(O),l&&(m.preventDefault=!0),c&&(m.stopPropagation=!0)};for(let o of i){let a=o.scope?o.scope.split(" "):["editor"];if(o.any)for(let l of a){let c=t[l]||(t[l]=Object.create(null));c._any||(c._any={preventDefault:!1,stopPropagation:!1,run:[]});let{any:h}=o;for(let f in c)c[f].run.push(d=>h(d,Xo))}let O=o[e]||o.key;if(O)for(let l of a)s(l,O,o.run,o.preventDefault,o.stopPropagation),o.shift&&s(l,"Shift-"+O,o.shift,o.preventDefault,o.stopPropagation)}return t}var Xo=null;function qp(i,e,t,r){Xo=e;let n=ml(e),s=Zs(n,0),o=Rs(s)==n.length&&n!=" ",a="",O=!1,l=!1,c=!1;Rt&&Rt.view==t&&Rt.scope==r&&(a=Rt.prefix+" ",Rc.indexOf(e.keyCode)<0&&(l=!0,Rt=null));let h=new Set,f=m=>{if(m){for(let g of m.run)if(!h.has(g)&&(h.add(g),g(t)))return m.stopPropagation&&(c=!0),!0;m.preventDefault&&(m.stopPropagation&&(c=!0),l=!0)}return!1},d=i[r],$,p;return d&&(f(d[a+on(n,e,!o)])?O=!0:o&&(e.altKey||e.metaKey||e.ctrlKey)&&!(X.windows&&e.ctrlKey&&e.altKey)&&!(X.mac&&e.altKey&&!(e.ctrlKey||e.metaKey))&&($=mt[e.keyCode])&&$!=n?(f(d[a+on($,e,!0)])||e.shiftKey&&(p=Ti[e.keyCode])!=n&&p!=$&&f(d[a+on(p,e,!1)]))&&(O=!0):o&&e.shiftKey&&f(d[a+on(n,e,!0)])&&(O=!0),!O&&f(d._any)&&(O=!0)),l&&(O=!0),O&&c&&e.stopPropagation(),Xo=null,O}var ii=class i{constructor(e,t,r,n,s){this.className=e,this.left=t,this.top=r,this.width=n,this.height=s}draw(){let e=document.createElement("div");return e.className=this.className,this.adjust(e),e}update(e,t){return t.className!=this.className?!1:(this.adjust(e),!0)}adjust(e){e.style.left=this.left+"px",e.style.top=this.top+"px",this.width!=null&&(e.style.width=this.width+"px"),e.style.height=this.height+"px"}eq(e){return this.left==e.left&&this.top==e.top&&this.width==e.width&&this.height==e.height&&this.className==e.className}static forRange(e,t,r){if(r.empty){let n=e.coordsAtPos(r.head,r.assoc||1);if(!n)return[];let s=Uc(e);return[new i(t,n.left-s.left,n.top-s.top,null,n.bottom-n.top)]}else return Ap(e,t,r)}};function Uc(i){let e=i.scrollDOM.getBoundingClientRect();return{left:(i.textDirection==H.LTR?e.left:e.right-i.scrollDOM.clientWidth*i.scaleX)-i.scrollDOM.scrollLeft*i.scaleX,top:e.top-i.scrollDOM.scrollTop*i.scaleY}}function Gl(i,e,t,r){let n=i.coordsAtPos(e,t*2);if(!n)return r;let s=i.dom.getBoundingClientRect(),o=(n.top+n.bottom)/2,a=i.posAtCoords({x:s.left+1,y:o}),O=i.posAtCoords({x:s.right-1,y:o});return a==null||O==null?r:{from:Math.max(r.from,Math.min(a,O)),to:Math.min(r.to,Math.max(a,O))}}function Ap(i,e,t){if(t.to<=i.viewport.from||t.from>=i.viewport.to)return[];let r=Math.max(t.from,i.viewport.from),n=Math.min(t.to,i.viewport.to),s=i.textDirection==H.LTR,o=i.contentDOM,a=o.getBoundingClientRect(),O=Uc(i),l=o.querySelector(".cm-line"),c=l&&window.getComputedStyle(l),h=a.left+(c?parseInt(c.paddingLeft)+Math.min(0,parseInt(c.textIndent)):0),f=a.right-(c?parseInt(c.paddingRight):0),d=ao(i,r,1),$=ao(i,n,-1),p=d.type==ce.Text?d:null,m=$.type==ce.Text?$:null;if(p&&(i.lineWrapping||d.widgetLineBreaks)&&(p=Gl(i,r,1,p)),m&&(i.lineWrapping||$.widgetLineBreaks)&&(m=Gl(i,n,-1,m)),p&&m&&p.from==m.from&&p.to==m.to)return S(T(t.from,t.to,p));{let b=p?T(t.from,null,p):_(d,!1),x=m?T(null,t.to,m):_($,!0),w=[];return(p||d).to<(m||$).from-(p&&m?1:0)||d.widgetLineBreaks>1&&b.bottom+i.defaultLineHeight/2z&&E.from=me)break;qe>K&&C(Math.max(Oe,K),b==null&&Oe<=z,Math.min(qe,me),x==null&&qe>=I,st.dir)}if(K=Ze.to+1,K>=me)break}return N.length==0&&C(z,b==null,I,x==null,i.textDirection),{top:U,bottom:q,horizontal:N}}function _(b,x){let w=a.top+(x?b.top:b.bottom);return{top:w,bottom:w,horizontal:[]}}}function jp(i,e){return i.constructor==e.constructor&&i.eq(e)}var vo=class{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(ln)!=e.state.facet(ln)&&this.setOrder(e.state),(this.layer.update(e,this.dom)||e.geometryChanged)&&(this.scale(),e.view.requestMeasure(this.measureReq))}docViewUpdate(e){this.layer.updateOnDocViewUpdate!==!1&&e.requestMeasure(this.measureReq)}setOrder(e){let t=0,r=e.facet(ln);for(;t!jp(t,this.drawn[r]))){let t=this.dom.firstChild,r=0;for(let n of e)n.update&&t&&n.constructor&&this.drawn[r].constructor&&n.update(t,this.drawn[r])?(t=t.nextSibling,r++):this.dom.insertBefore(n.draw(),t);for(;t;){let n=t.nextSibling;t.remove(),t=n}this.drawn=e,X.webkit&&(this.dom.style.display=this.dom.firstChild?"":"none")}}destroy(){this.layer.destroy&&this.layer.destroy(this.dom,this.view),this.dom.remove()}},ln=v.define();function Mc(i){return[_e.define(e=>new vo(e,i)),ln.of(i)]}var zi=v.define({combine(i){return Zt(i,{cursorBlinkRate:1200,drawRangeCursor:!0,iosSelectionHandles:!0},{cursorBlinkRate:(e,t)=>Math.min(e,t),drawRangeCursor:(e,t)=>e||t})}});function Ec(i={}){return[zi.of(i),Up,Mp,Ep,pc.of(!0)]}function Lc(i){return i.startState.facet(zi)!=i.state.facet(zi)}var Up=Mc({above:!0,markers(i){let{state:e}=i,t=e.facet(zi),r=[];for(let n of e.selection.ranges){let s=n==e.selection.main;if(n.empty||t.drawRangeCursor&&!(s&&X.ios&&t.iosSelectionHandles)){let o=s?"cm-cursor cm-cursor-primary":"cm-cursor cm-cursor-secondary",a=n.empty?n:Q.cursor(n.head,n.assoc);for(let O of ii.forRange(i,o,a))r.push(O)}}return r},update(i,e){i.transactions.some(r=>r.selection)&&(e.style.animationName=e.style.animationName=="cm-blink"?"cm-blink2":"cm-blink");let t=Lc(i);return t&&Il(i.state,e),i.docChanged||i.selectionSet||t},mount(i,e){Il(e.state,i)},class:"cm-cursorLayer"});function Il(i,e){e.style.animationDuration=i.facet(zi).cursorBlinkRate+"ms"}var Mp=Mc({above:!1,markers(i){let e=[],{main:t,ranges:r}=i.state.selection;for(let n of r)if(!n.empty)for(let s of ii.forRange(i,"cm-selectionBackground",n))e.push(s);if(X.ios&&!t.empty&&i.state.facet(zi).iosSelectionHandles){for(let n of ii.forRange(i,"cm-selectionHandle cm-selectionHandle-start",Q.cursor(t.from,1)))e.push(n);for(let n of ii.forRange(i,"cm-selectionHandle cm-selectionHandle-end",Q.cursor(t.to,1)))e.push(n)}return e},update(i,e){return i.docChanged||i.selectionSet||i.viewportChanged||Lc(i)},class:"cm-selectionLayer"}),Ep=at.highest(k.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"}}}})),Gc=B.define({map(i,e){return i==null?null:e.mapPos(i)}}),tr=ye.define({create(){return null},update(i,e){return i!=null&&(i=e.changes.mapPos(i)),e.effects.reduce((t,r)=>r.is(Gc)?r.value:t,i)}}),Lp=_e.fromClass(class{constructor(i){this.view=i,this.cursor=null,this.measureReq={read:this.readPos.bind(this),write:this.drawCursor.bind(this)}}update(i){var e;let t=i.state.field(tr);t==null?this.cursor!=null&&((e=this.cursor)===null||e===void 0||e.remove(),this.cursor=null):(this.cursor||(this.cursor=this.view.scrollDOM.appendChild(document.createElement("div")),this.cursor.className="cm-dropCursor"),(i.startState.field(tr)!=t||i.docChanged||i.geometryChanged)&&this.view.requestMeasure(this.measureReq))}readPos(){let{view:i}=this,e=i.state.field(tr),t=e!=null&&i.coordsAtPos(e);if(!t)return null;let r=i.scrollDOM.getBoundingClientRect();return{left:t.left-r.left+i.scrollDOM.scrollLeft*i.scaleX,top:t.top-r.top+i.scrollDOM.scrollTop*i.scaleY,height:t.bottom-t.top}}drawCursor(i){if(this.cursor){let{scaleX:e,scaleY:t}=this.view;i?(this.cursor.style.left=i.left/e+"px",this.cursor.style.top=i.top/t+"px",this.cursor.style.height=i.height/t+"px"):this.cursor.style.left="-100000px"}}destroy(){this.cursor&&this.cursor.remove()}setDropPos(i){this.view.state.field(tr)!=i&&this.view.dispatch({effects:Gc.of(i)})}},{eventObservers:{dragover(i){this.setDropPos(this.view.posAtCoords({x:i.clientX,y:i.clientY}))},dragleave(i){(i.target==this.view.contentDOM||!this.view.contentDOM.contains(i.relatedTarget))&&this.setDropPos(null)},dragend(){this.setDropPos(null)},drop(){this.setDropPos(null)}}});function Ic(){return[tr,Lp]}var mT=/x/.unicode!=null?"gu":"g";function Mo(){return Ip}var Gp=M.line({class:"cm-activeLine"}),Ip=_e.fromClass(class{constructor(i){this.decorations=this.getDeco(i)}update(i){(i.docChanged||i.selectionSet)&&(this.decorations=this.getDeco(i.view))}getDeco(i){let e=-1,t=[];for(let r of i.state.selection.ranges){let n=i.lineBlockAt(r.head);n.from>e&&(t.push(Gp.range(n.from)),e=n.from)}return M.set(t)}},{decorations:i=>i.decorations});var Zo=2e3;function Bp(i,e,t){let r=Math.min(e.line,t.line),n=Math.max(e.line,t.line),s=[];if(e.off>Zo||t.off>Zo||e.col<0||t.col<0){let o=Math.min(e.off,t.off),a=Math.max(e.off,t.off);for(let O=r;O<=n;O++){let l=i.doc.line(O);l.length<=a&&s.push(Q.range(l.from+o,l.to+a))}}else{let o=Math.min(e.col,t.col),a=Math.max(e.col,t.col);for(let O=r;O<=n;O++){let l=i.doc.line(O),c=Hr(l.text,o,i.tabSize,!0);if(c<0)s.push(Q.cursor(l.to));else{let h=Hr(l.text,a,i.tabSize);s.push(Q.range(l.from+c,l.from+h))}}}return s}function Dp(i,e){let t=i.coordsAtPos(i.viewport.from);return t?Math.round(Math.abs((t.left-e)/i.defaultCharacterWidth)):-1}function Bl(i,e){let t=i.posAtCoords({x:e.clientX,y:e.clientY},!1),r=i.state.doc.lineAt(t),n=t-r.from,s=n>Zo?-1:n==r.length?Dp(i,e.clientX):we(r.text,i.state.tabSize,t-r.from);return{line:r.number,col:s,off:n}}function Np(i,e){let t=Bl(i,e),r=i.state.selection;return t?{update(n){if(n.docChanged){let s=n.changes.mapPos(n.startState.doc.line(t.line).from),o=n.state.doc.lineAt(s);t={line:o.number,col:t.col,off:Math.min(t.off,o.length)},r=r.map(n.changes)}},get(n,s,o){let a=Bl(i,n);if(!a)return r;let O=Bp(i.state,t,a);return O.length?o?Q.create(O.concat(r.ranges)):Q.create(O):r}}:null}function Bc(i){let e=i?.eventFilter||(t=>t.altKey&&t.button==0);return k.mouseSelectionStyle.of((t,r)=>e(r)?Np(t,r):null)}var Je=class extends Ue{compare(e){return this==e||this.constructor==e.constructor&&this.eq(e)}eq(e){return!1}destroy(e){}};Je.prototype.elementClass="";Je.prototype.toDOM=void 0;Je.prototype.mapMode=le.TrackBefore;Je.prototype.startSide=Je.prototype.endSide=-1;Je.prototype.point=!0;var cn=v.define(),Fp=v.define();var hn=v.define();var Ro=v.define({combine:i=>i.some(e=>e)});function Hp(i){let e=[Kp];return i&&i.fixed===!1&&e.push(Ro.of(!0)),e}var Kp=_e.fromClass(class{constructor(i){this.view=i,this.domAfter=null,this.prevViewport=i.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=i.state.facet(hn).map(e=>new wn(i,e)),this.fixed=!i.state.facet(Ro);for(let e of this.gutters)e.config.side=="after"?this.getDOMAfter().appendChild(e.dom):this.dom.appendChild(e.dom);this.fixed&&(this.dom.style.position="sticky"),this.syncGutters(!1),i.scrollDOM.insertBefore(this.dom,i.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(i){if(this.updateGutters(i)){let e=this.prevViewport,t=i.view.viewport,r=Math.min(e.to,t.to)-Math.max(e.from,t.from);this.syncGutters(r<(t.to-t.from)*.8)}if(i.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(Ro)!=!this.fixed&&(this.fixed=!this.fixed,this.dom.style.position=this.fixed?"sticky":"",this.domAfter&&(this.domAfter.style.position=this.fixed?"sticky":"")),this.prevViewport=i.view.viewport}syncGutters(i){let e=this.dom.nextSibling;i&&(this.dom.remove(),this.domAfter&&this.domAfter.remove());let t=G.iter(this.view.state.facet(cn),this.view.viewport.from),r=[],n=this.gutters.map(s=>new _o(s,this.view.viewport,-this.view.documentPadding.top));for(let s of this.view.viewportLineBlocks)if(r.length&&(r=[]),Array.isArray(s.type)){let o=!0;for(let a of s.type)if(a.type==ce.Text&&o){Vo(t,r,a.from);for(let O of n)O.line(this.view,a,r);o=!1}else if(a.widget)for(let O of n)O.widget(this.view,a)}else if(s.type==ce.Text){Vo(t,r,s.from);for(let o of n)o.line(this.view,s,r)}else if(s.widget)for(let o of n)o.widget(this.view,s);for(let s of n)s.finish();i&&(this.view.scrollDOM.insertBefore(this.dom,e),this.domAfter&&this.view.scrollDOM.appendChild(this.domAfter))}updateGutters(i){let e=i.startState.facet(hn),t=i.state.facet(hn),r=i.docChanged||i.heightChanged||i.viewportChanged||!G.eq(i.startState.facet(cn),i.state.facet(cn),i.view.viewport.from,i.view.viewport.to);if(e==t)for(let n of this.gutters)n.update(i)&&(r=!0);else{r=!0;let n=[];for(let s of t){let o=e.indexOf(s);o<0?n.push(new wn(this.view,s)):(this.gutters[o].update(i),n.push(this.gutters[o]))}for(let s of this.gutters)s.dom.remove(),n.indexOf(s)<0&&s.destroy();for(let s of n)s.config.side=="after"?this.getDOMAfter().appendChild(s.dom):this.dom.appendChild(s.dom);this.gutters=n}return r}destroy(){for(let i of this.gutters)i.destroy();this.dom.remove(),this.domAfter&&this.domAfter.remove()}},{provide:i=>k.scrollMargins.of(e=>{let t=e.plugin(i);if(!t||t.gutters.length==0||!t.fixed)return null;let r=t.dom.offsetWidth*e.scaleX,n=t.domAfter?t.domAfter.offsetWidth*e.scaleX:0;return e.textDirection==H.LTR?{left:r,right:n}:{right:r,left:n}})});function Dl(i){return Array.isArray(i)?i:[i]}function Vo(i,e,t){for(;i.value&&i.from<=t;)i.from==t&&e.push(i.value),i.next()}var _o=class{constructor(e,t,r){this.gutter=e,this.height=r,this.i=0,this.cursor=G.iter(e.markers,t.from)}addElement(e,t,r){let{gutter:n}=this,s=(t.top-this.height)/e.scaleY,o=t.height/e.scaleY;if(this.i==n.elements.length){let a=new xn(e,o,s,r);n.elements.push(a),n.dom.appendChild(a.dom)}else n.elements[this.i].update(e,o,s,r);this.height=t.bottom,this.i++}line(e,t,r){let n=[];Vo(this.cursor,n,t.from),r.length&&(n=n.concat(r));let s=this.gutter.config.lineMarker(e,t,n);s&&n.unshift(s);let o=this.gutter;n.length==0&&!o.config.renderEmptyElements||this.addElement(e,t,n)}widget(e,t){let r=this.gutter.config.widgetMarker(e,t.widget,t),n=r?[r]:null;for(let s of e.state.facet(Fp)){let o=s(e,t.widget,t);o&&(n||(n=[])).push(o)}n&&this.addElement(e,t,n)}finish(){let e=this.gutter;for(;e.elements.length>this.i;){let t=e.elements.pop();e.dom.removeChild(t.dom),t.destroy()}}},wn=class{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 r in t.domEventHandlers)this.dom.addEventListener(r,n=>{let s=n.target,o;if(s!=this.dom&&this.dom.contains(s)){for(;s.parentNode!=this.dom;)s=s.parentNode;let O=s.getBoundingClientRect();o=(O.top+O.bottom)/2}else o=n.clientY;let a=e.lineBlockAtHeight(o-e.documentTop);t.domEventHandlers[r](e,a,n)&&n.preventDefault()});this.markers=Dl(t.markers(e)),t.initialSpacer&&(this.spacer=new xn(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=Dl(this.config.markers(e.view)),this.spacer&&this.config.updateSpacer){let n=this.config.updateSpacer(this.spacer.markers[0],e);n!=this.spacer.markers[0]&&this.spacer.update(e.view,0,0,[n])}let r=e.view.viewport;return!G.eq(this.markers,t,r.from,r.to)||(this.config.lineMarkerChange?this.config.lineMarkerChange(e):!1)}destroy(){for(let e of this.elements)e.destroy()}},xn=class{constructor(e,t,r,n){this.height=-1,this.above=0,this.markers=[],this.dom=document.createElement("div"),this.dom.className="cm-gutterElement",this.update(e,t,r,n)}update(e,t,r,n){this.height!=t&&(this.height=t,this.dom.style.height=t+"px"),this.above!=r&&(this.dom.style.marginTop=(this.above=r)?r+"px":""),Jp(this.markers,n)||this.setMarkers(e,n)}setMarkers(e,t){let r="cm-gutterElement",n=this.dom.firstChild;for(let s=0,o=0;;){let a=o,O=ss(a,O,l)||o(a,O,l):o}return r}})}}),lr=class extends Je{constructor(e){super(),this.number=e}eq(e){return this.number==e.number}toDOM(){return document.createTextNode(this.number)}};function Ms(i,e){return i.state.facet(xi).formatNumber(e,i.state)}var im=hn.compute([xi],i=>({class:"cm-lineNumbers",renderEmptyElements:!1,markers(e){return e.state.facet(em)},lineMarker(e,t,r){return r.some(n=>n.toDOM)?null:new lr(Ms(e,e.state.doc.lineAt(t.from).number))},widgetMarker:(e,t,r)=>{for(let n of e.state.facet(tm)){let s=n(e,t,r);if(s)return s}return null},lineMarkerChange:e=>e.startState.facet(xi)!=e.state.facet(xi),initialSpacer(e){return new lr(Ms(e,Nl(e.state.doc.lines)))},updateSpacer(e,t){let r=Ms(t.view,Nl(t.view.state.doc.lines));return r==e.number?e:new lr(r)},domEventHandlers:i.facet(xi).domEventHandlers,side:"before"}));function Dc(i={}){return[xi.of(i),Hp(),im]}function Nl(i){let e=9;for(;e{let e=[],t=-1;for(let r of i.selection.ranges){let n=i.doc.lineAt(r.head).from;n>t&&(t=n,e.push(rm.range(n)))}return G.of(e)});function Eo(){return nm}async function Nc(i){if(window.isSecureContext&&navigator.clipboard){await navigator.clipboard.writeText(i);return}let e=document.createElement("textarea");e.setAttribute("style","position: absolute; left: -1000px; top: -1000px;"),e.value=i,document.body.appendChild(e),e.select(),document.execCommand("copy"),document.body.removeChild(e)}var sm=0,Xe=class{constructor(e,t){this.from=e,this.to=t}},V=class{constructor(e={}){this.id=sm++,this.perNode=!!e.perNode,this.deserialize=e.deserialize||(()=>{throw new Error("This node type doesn't define a deserialize function")}),this.combine=e.combine||null}add(e){if(this.perNode)throw new RangeError("Can't add per-node props to node types");return typeof e!="function"&&(e=ie.match(e)),t=>{let r=e(t);return r===void 0?null:[this,r]}}};V.closedBy=new V({deserialize:i=>i.split(" ")});V.openedBy=new V({deserialize:i=>i.split(" ")});V.group=new V({deserialize:i=>i.split(" ")});V.isolate=new V({deserialize:i=>{if(i&&i!="rtl"&&i!="ltr"&&i!="auto")throw new RangeError("Invalid value for isolate: "+i);return i||"auto"}});V.contextHash=new V({perNode:!0});V.lookAhead=new V({perNode:!0});V.mounted=new V({perNode:!0});var Yt=class{constructor(e,t,r,n=!1){this.tree=e,this.overlay=t,this.parser=r,this.bracketed=n}static get(e){return e&&e.props&&e.props[V.mounted.id]}},om=Object.create(null),ie=class i{constructor(e,t,r,n=0){this.name=e,this.props=t,this.id=r,this.flags=n}static define(e){let t=e.props&&e.props.length?Object.create(null):om,r=(e.top?1:0)|(e.skipped?2:0)|(e.error?4:0)|(e.name==null?8:0),n=new i(e.name||"",t,e.id,r);if(e.props){for(let s of e.props)if(Array.isArray(s)||(s=s(n)),s){if(s[0].perNode)throw new RangeError("Can't store a per-node prop on a node type");t[s[0].id]=s[1]}}return n}prop(e){return this.props[e.id]}get isTop(){return(this.flags&1)>0}get isSkipped(){return(this.flags&2)>0}get isError(){return(this.flags&4)>0}get isAnonymous(){return(this.flags&8)>0}is(e){if(typeof e=="string"){if(this.name==e)return!0;let t=this.prop(V.group);return t?t.indexOf(e)>-1:!1}return this.id==e}static match(e){let t=Object.create(null);for(let r in e)for(let n of r.split(" "))t[n]=e[r];return r=>{for(let n=r.prop(V.group),s=-1;s<(n?n.length:0);s++){let o=t[s<0?r.name:n[s]];if(o)return o}}}};ie.none=new ie("",Object.create(null),0,8);var Tt=class i{constructor(e){this.types=e;for(let t=0;t0;for(let O=this.cursor(o|A.IncludeAnonymous);;){let l=!1;if(O.from<=s&&O.to>=n&&(!a&&O.type.isAnonymous||t(O)!==!1)){if(O.firstChild())continue;l=!0}for(;l&&r&&(a||!O.type.isAnonymous)&&r(O),!O.nextSibling();){if(!O.parent())return;l=!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:ea(ie.none,this.children,this.positions,0,this.children.length,0,this.length,(t,r,n)=>new i(this.type,t,r,n,this.propValues),e.makeTree||((t,r,n)=>new i(ie.none,t,r,n)))}static build(e){return Om(e)}};Y.empty=new Y(ie.none,[],[],0);var Lo=class i{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 i(this.buffer,this.index)}},Ct=class i{constructor(e,t,r){this.buffer=e,this.length=t,this.set=r}get type(){return ie.none}toString(){let e=[];for(let t=0;t0));O=o[O+3]);return a}slice(e,t,r){let n=this.buffer,s=new Uint16Array(t-e),o=0;for(let a=e,O=0;a=e&&te;case 1:return t<=e&&r>e;case 2:return r>e;case 4:return!0}}function $r(i,e,t,r){for(var n;i.from==i.to||(t<1?i.from>=e:i.from>e)||(t>-1?i.to<=e:i.to0?a.length:-1;e!=l;e+=t){let c=a[e],h=O[e]+o.from,f;if(!(!(s&A.EnterBracketed&&c instanceof Y&&(f=Yt.get(c))&&!f.overlay&&f.bracketed&&r>=h&&r<=h+c.length)&&!rh(n,r,h,h+c.length))){if(c instanceof Ct){if(s&A.ExcludeBuffers)continue;let d=c.findChild(0,c.buffer.length,t,r-h,n);if(d>-1)return new oi(new Io(o,c,e,h),null,d)}else if(s&A.IncludeAnonymous||!c.type.isAnonymous||Jo(c)){let d;if(!(s&A.IgnoreMounts)&&(d=Yt.get(c))&&!d.overlay)return new i(d.tree,h,e,o);let $=new i(c,h,e,o);return s&A.IncludeAnonymous||!$.type.isAnonymous?$:$.nextChild(t<0?c.children.length-1:0,t,r,n,s)}}}if(s&A.IncludeAnonymous||!o.type.isAnonymous||(o.index>=0?e=o.index+t:e=t<0?-1:o._parent._tree.children.length,o=o._parent,!o))return null}}get firstChild(){return this.nextChild(0,1,0,4)}get lastChild(){return this.nextChild(this._tree.children.length-1,-1,0,4)}childAfter(e){return this.nextChild(0,1,e,2)}childBefore(e){return this.nextChild(this._tree.children.length-1,-1,e,-2)}prop(e){return this._tree.prop(e)}enter(e,t,r=0){let n;if(!(r&A.IgnoreOverlays)&&(n=Yt.get(this._tree))&&n.overlay){let s=e-this.from,o=r&A.EnterBracketed&&n.bracketed;for(let{from:a,to:O}of n.overlay)if((t>0||o?a<=s:a=s:O>s))return new i(n.tree,n.overlay[0].from+this.from,-1,this)}return this.nextChild(0,1,e,t,r)}nextSignificantParent(){let e=this;for(;e.type.isAnonymous&&e._parent;)e=e._parent;return e}get parent(){return this._parent?this._parent.nextSignificantParent():null}get nextSibling(){return this._parent&&this.index>=0?this._parent.nextChild(this.index+1,1,0,4):null}get prevSibling(){return this._parent&&this.index>=0?this._parent.nextChild(this.index-1,-1,0,4):null}get tree(){return this._tree}toTree(){return this._tree}toString(){return this._tree.toString()}};function Hc(i,e,t,r){let n=i.cursor(),s=[];if(!n.firstChild())return s;if(t!=null){for(let o=!1;!o;)if(o=n.type.is(t),!n.nextSibling())return s}for(;;){if(r!=null&&n.type.is(r))return s;if(n.type.is(e)&&s.push(n.node),!n.nextSibling())return r==null?s:[]}}function Go(i,e,t=e.length-1){for(let r=i;t>=0;r=r.parent){if(!r)return!1;if(!r.type.isAnonymous){if(e[t]&&e[t]!=r.name)return!1;t--}}return!0}var Io=class{constructor(e,t,r,n){this.parent=e,this.buffer=t,this.index=r,this.start=n}},oi=class i extends Vn{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,r){super(),this.context=e,this._parent=t,this.index=r,this.type=e.buffer.set.types[e.buffer.buffer[r]]}child(e,t,r){let{buffer:n}=this.context,s=n.findChild(this.index+4,n.buffer[this.index+3],e,t-this.context.start,r);return s<0?null:new i(this.context,this,s)}get firstChild(){return this.child(1,0,4)}get lastChild(){return this.child(-1,0,4)}childAfter(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,r=0){if(r&A.ExcludeBuffers)return null;let{buffer:n}=this.context,s=n.findChild(this.index+4,n.buffer[this.index+3],t>0?1:-1,e-this.context.start,t);return s<0?null:new i(this.context,this,s)}get parent(){return this._parent||this.context.parent.nextSignificantParent()}externalSibling(e){return this._parent?null:this.context.parent.nextChild(this.context.index+e,e,0,4)}get nextSibling(){let{buffer:e}=this.context,t=e.buffer[this.index+3];return t<(this._parent?e.buffer[this._parent.index+3]:e.buffer.length)?new i(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 i(this.context,this._parent,e.findChild(t,this.index,-1,0,4))}get tree(){return null}toTree(){let e=[],t=[],{buffer:r}=this.context,n=this.index+4,s=r.buffer[this.index+3];if(s>n){let o=r.buffer[this.index+1];e.push(r.slice(n,s,o)),t.push(0)}return new Y(this.type,e,t,this.to-this.from)}toString(){return this.context.buffer.childString(this.index)}};function nh(i){if(!i.length)return null;let e=0,t=i[0];for(let s=1;st.from||o.to=e){let a=new ve(o.tree,o.overlay[0].from+s.from,-1,s);(n||(n=[r])).push($r(a,e,t,!1))}}return n?nh(n):r}var Yi=class{get name(){return this.type.name}constructor(e,t=0){if(this.buffer=null,this.stack=[],this.index=0,this.bufferNode=null,this.mode=t&~A.EnterBracketed,e instanceof ve)this.yieldNode(e);else{this._tree=e.context.parent,this.buffer=e.context;for(let r=e._parent;r;r=r._parent)this.stack.unshift(r.index);this.bufferNode=e,this.yieldBuf(e.index)}}yieldNode(e){return e?(this._tree=e,this.type=e.type,this.from=e.from,this.to=e.to,!0):!1}yieldBuf(e,t){this.index=e;let{start:r,buffer:n}=this.buffer;return this.type=t||n.set.types[n.buffer[e]],this.from=r+n.buffer[e+1],this.to=r+n.buffer[e+2],!0}yield(e){return e?e instanceof ve?(this.buffer=null,this.yieldNode(e)):(this.buffer=e.context,this.yieldBuf(e.index,e.type)):!1}toString(){return this.buffer?this.buffer.buffer.childString(this.index):this._tree.toString()}enterChild(e,t,r){if(!this.buffer)return this.yield(this._tree.nextChild(e<0?this._tree._tree.children.length-1:0,e,t,r,this.mode));let{buffer:n}=this.buffer,s=n.findChild(this.index+4,n.buffer[this.index+3],e,t-this.buffer.start,r);return s<0?!1:(this.stack.push(this.index),this.yieldBuf(s))}firstChild(){return this.enterChild(1,0,4)}lastChild(){return this.enterChild(-1,0,4)}childAfter(e){return this.enterChild(1,e,2)}childBefore(e){return this.enterChild(-1,e,-2)}enter(e,t,r=this.mode){return this.buffer?r&A.ExcludeBuffers?!1:this.enterChild(1,e,t):this.yield(this._tree.enter(e,t,r))}parent(){if(!this.buffer)return this.yieldNode(this.mode&A.IncludeAnonymous?this._tree._parent:this._tree.parent);if(this.stack.length)return this.yieldBuf(this.stack.pop());let e=this.mode&A.IncludeAnonymous?this.buffer.parent:this.buffer.parent.nextSignificantParent();return this.buffer=null,this.yieldNode(e)}sibling(e){if(!this.buffer)return this._tree._parent?this.yield(this._tree.index<0?null:this._tree._parent.nextChild(this._tree.index+e,e,0,4,this.mode)):!1;let{buffer:t}=this.buffer,r=this.stack.length-1;if(e<0){let n=r<0?0:this.stack[r]+4;if(this.index!=n)return this.yieldBuf(t.findChild(n,this.index,-1,0,4))}else{let n=t.buffer[this.index+3];if(n<(r<0?t.buffer.length:t.buffer[this.stack[r]+3]))return this.yieldBuf(n)}return r<0?this.yield(this.buffer.parent.nextChild(this.buffer.index+e,e,0,4,this.mode)):!1}nextSibling(){return this.sibling(1)}prevSibling(){return this.sibling(-1)}atLastNode(e){let t,r,{buffer:n}=this;if(n){if(e>0){if(this.index-1)for(let s=t+e,o=e<0?-1:r._tree.children.length;s!=o;s+=e){let a=r._tree.children[s];if(this.mode&A.IncludeAnonymous||a instanceof Ct||!a.type.isAnonymous||Jo(a))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 o=e;o;o=o._parent)if(o.index==n){if(n==this.index)return o;t=o,r=s+1;break e}n=this.stack[--s]}for(let n=r;n=0;s--){if(s<0)return Go(this._tree,e,n);let o=r[t.buffer[this.stack[s]]];if(!o.isAnonymous){if(e[n]&&e[n]!=o.name)return!1;n--}}return!0}};function Jo(i){return i.children.some(e=>e instanceof Ct||!e.type.isAnonymous||Jo(e))}function Om(i){var e;let{buffer:t,nodeSet:r,maxBufferLength:n=1024,reused:s=[],minRepeatType:o=r.types.length}=i,a=Array.isArray(t)?new Lo(t,t.length):t,O=r.types,l=0,c=0;function h(b,x,w,U,q,N){let{id:C,start:z,end:I,size:E}=a,K=c,me=l;if(E<0)if(a.next(),E==-1){let dt=s[C];w.push(dt),U.push(z-b);return}else if(E==-3){l=C;return}else if(E==-4){c=C;return}else throw new RangeError(`Unrecognized record size: ${E}`);let Ze=O[C],st,Oe,qe=z-b;if(I-z<=n&&(Oe=m(a.pos-x,q))){let dt=new Uint16Array(Oe.size-Oe.skip),Ae=a.pos-Oe.size,ot=dt.length;for(;a.pos>Ae;)ot=g(Oe.start,dt,ot);st=new Ct(dt,I-Oe.start,r),qe=Oe.start-b}else{let dt=a.pos-E;a.next();let Ae=[],ot=[],Dt=C>=o?C:-1,pi=0,jr=I;for(;a.pos>dt;)Dt>=0&&a.id==Dt&&a.size>=0?(a.end<=jr-n&&($(Ae,ot,z,pi,a.end,jr,Dt,K,me),pi=Ae.length,jr=a.end),a.next()):N>2500?f(z,dt,Ae,ot):h(z,dt,Ae,ot,Dt,N+1);if(Dt>=0&&pi>0&&pi-1&&pi>0){let LO=d(Ze,me);st=ea(Ze,Ae,ot,0,Ae.length,0,I-z,LO,LO)}else st=p(Ze,Ae,ot,I-z,K-I,me)}w.push(st),U.push(qe)}function f(b,x,w,U){let q=[],N=0,C=-1;for(;a.pos>x;){let{id:z,start:I,end:E,size:K}=a;if(K>4)a.next();else{if(C>-1&&I=0;E-=3)z[K++]=q[E],z[K++]=q[E+1]-I,z[K++]=q[E+2]-I,z[K++]=K;w.push(new Ct(z,q[2]-I,r)),U.push(I-b)}}function d(b,x){return(w,U,q)=>{let N=0,C=w.length-1,z,I;if(C>=0&&(z=w[C])instanceof Y){if(!C&&z.type==b&&z.length==q)return z;(I=z.prop(V.lookAhead))&&(N=U[C]+z.length+I)}return p(b,w,U,q,N,x)}}function $(b,x,w,U,q,N,C,z,I){let E=[],K=[];for(;b.length>U;)E.push(b.pop()),K.push(x.pop()+w-q);b.push(p(r.types[C],E,K,N-q,z-N,I)),x.push(q-w)}function p(b,x,w,U,q,N,C){if(N){let z=[V.contextHash,N];C=C?[z].concat(C):[z]}if(q>25){let z=[V.lookAhead,q];C=C?[z].concat(C):[z]}return new Y(b,x,w,U,C)}function m(b,x){let w=a.fork(),U=0,q=0,N=0,C=w.end-n,z={size:0,start:0,skip:0};e:for(let I=w.pos-b;w.pos>I;){let E=w.size;if(w.id==x&&E>=0){z.size=U,z.start=q,z.skip=N,N+=4,U+=4,w.next();continue}let K=w.pos-E;if(E<0||K=o?4:0,Ze=w.start;for(w.next();w.pos>K;){if(w.size<0)if(w.size==-3||w.size==-4)me+=4;else break e;else w.id>=o&&(me+=4);w.next()}q=Ze,U+=E,N+=me}return(x<0||U==b)&&(z.size=U,z.start=q,z.skip=N),z.size>4?z:void 0}function g(b,x,w){let{id:U,start:q,end:N,size:C}=a;if(a.next(),C>=0&&U4){let I=a.pos-(C-4);for(;a.pos>I;)w=g(b,x,w)}x[--w]=z,x[--w]=N-b,x[--w]=q-b,x[--w]=U}else C==-3?l=U:C==-4&&(c=U);return w}let S=[],T=[];for(;a.pos>0;)h(i.start||0,i.bufferStart||0,S,T,-1,0);let _=(e=i.length)!==null&&e!==void 0?e:S.length?T[0]+S[0].length:0;return new Y(O[i.topID],S.reverse(),T.reverse(),_)}var Kc=new WeakMap;function Rn(i,e){if(!i.isAnonymous||e instanceof Ct||e.type!=i)return 1;let t=Kc.get(e);if(t==null){t=1;for(let r of e.children){if(r.type!=i||!(r instanceof Y)){t=1;break}t+=Rn(i,r)}Kc.set(e,t)}return t}function ea(i,e,t,r,n,s,o,a,O){let l=0;for(let $=r;$=c)break;x+=w}if(T==_+1){if(x>c){let w=$[_];d(w.children,w.positions,0,w.children.length,p[_]+S);continue}h.push($[_])}else{let w=p[T-1]+$[T-1].length-b;h.push(ea(i,$,p,_,T,b,w,null,O))}f.push(b+S-s)}}return d(e,t,r,n,0),(a||O)(h,f,o)}var Ci=class{constructor(){this.map=new WeakMap}setBuffer(e,t,r){let n=this.map.get(e);n||this.map.set(e,n=new Map),n.set(t,r)}getBuffer(e,t){let r=this.map.get(e);return r&&r.get(t)}set(e,t){e instanceof oi?this.setBuffer(e.context.buffer,e.index,t):e instanceof ve&&this.map.set(e.tree,t)}get(e){return e instanceof oi?this.getBuffer(e.context.buffer,e.index):e instanceof ve?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)}},yt=class i{constructor(e,t,r,n,s=!1,o=!1){this.from=e,this.to=t,this.tree=r,this.offset=n,this.open=(s?1:0)|(o?2:0)}get openStart(){return(this.open&1)>0}get openEnd(){return(this.open&2)>0}static addTree(e,t=[],r=!1){let n=[new i(0,e.length,e,0,!1,r)];for(let s of t)s.to>e.length&&n.push(s);return n}static applyChanges(e,t,r=128){if(!t.length)return e;let n=[],s=1,o=e.length?e[0]:null;for(let a=0,O=0,l=0;;a++){let c=a=r)for(;o&&o.from=f.from||h<=f.to||l){let d=Math.max(f.from,O)-l,$=Math.min(f.to,h)-l;f=d>=$?null:new i(d,$,f.tree,f.offset+l,a>0,!!c)}if(f&&n.push(f),o.to>h)break;o=snew Xe(n.from,n.to)):[new Xe(0,0)]:[new Xe(0,e.length)],this.createParse(e,t||[],r)}parse(e,t,r){let n=this.startParse(e,t,r);for(;;){let s=n.advance();if(s)return s}}},Do=class{constructor(e){this.string=e}get length(){return this.string.length}chunk(e){return this.string.slice(e)}get lineChunks(){return!1}read(e,t){return this.string.slice(e,t)}};function Wi(i){return(e,t,r,n)=>new Ho(e,i,t,r,n)}var _n=class{constructor(e,t,r,n,s,o){this.parser=e,this.parse=t,this.overlay=r,this.bracketed=n,this.target=s,this.from=o}};function Jc(i){if(!i.length||i.some(e=>e.from>=e.to))throw new RangeError("Invalid inner parse ranges given: "+JSON.stringify(i))}var No=class{constructor(e,t,r,n,s,o,a,O){this.parser=e,this.predicate=t,this.mounts=r,this.index=n,this.start=s,this.bracketed=o,this.target=a,this.prev=O,this.depth=0,this.ranges=[]}},Fo=new V({perNode:!0}),Ho=class{constructor(e,t,r,n,s){this.nest=t,this.input=r,this.fragments=n,this.ranges=s,this.inner=[],this.innerDone=0,this.baseTree=null,this.stoppedAt=null,this.baseParse=e}advance(){if(this.baseParse){let r=this.baseParse.advance();if(!r)return null;if(this.baseParse=null,this.baseTree=r,this.startInner(),this.stoppedAt!=null)for(let n of this.inner)n.parse.stopAt(this.stoppedAt)}if(this.innerDone==this.inner.length){let r=this.baseTree;return this.stoppedAt!=null&&(r=new Y(r.type,r.children,r.positions,r.length,r.propValues.concat([[Fo,this.stoppedAt]]))),r}let e=this.inner[this.innerDone],t=e.parse.advance();if(t){this.innerDone++;let r=Object.assign(Object.create(null),e.target.props);r[V.mounted.id]=new Yt(t,e.overlay,e.parser,e.bracketed),e.target.props=r}return null}get parsedPos(){if(this.baseParse)return 0;let e=this.input.length;for(let t=this.innerDone;t=this.stoppedAt)a=!1;else if(e.hasNode(n)){if(t){let l=t.mounts.find(c=>c.frag.from<=n.from&&c.frag.to>=n.to&&c.mount.overlay);if(l)for(let c of l.mount.overlay){let h=c.from+l.pos,f=c.to+l.pos;h>=n.from&&f<=n.to&&!t.ranges.some(d=>d.fromh)&&t.ranges.push({from:h,to:f})}}a=!1}else if(r&&(o=lm(r.ranges,n.from,n.to)))a=o!=2;else if(!n.type.isAnonymous&&(s=this.nest(n,this.input))&&(n.fromnew Xe(h.from-n.from,h.to-n.from)):null,!!s.bracketed,n.tree,c.length?c[0].from:n.from)),s.overlay?c.length&&(r={ranges:c,depth:0,prev:r}):a=!1}}else if(t&&(O=t.predicate(n))&&(O===!0&&(O=new Xe(n.from,n.to)),O.from=0&&t.ranges[l].to==O.from?t.ranges[l]={from:t.ranges[l].from,to:O.to}:t.ranges.push(O)}if(a&&n.firstChild())t&&t.depth++,r&&r.depth++;else for(;!n.nextSibling();){if(!n.parent())break e;if(t&&!--t.depth){let l=th(this.ranges,t.ranges);l.length&&(Jc(l),this.inner.splice(t.index,0,new _n(t.parser,t.parser.startParse(this.input,ih(t.mounts,l),l),t.ranges.map(c=>new Xe(c.from-t.start,c.to-t.start)),t.bracketed,t.target,l[0].from))),t=t.prev}r&&!--r.depth&&(r=r.prev)}}}};function lm(i,e,t){for(let r of i){if(r.from>=t)break;if(r.to>e)return r.from<=e&&r.to>=t?2:1}return 0}function eh(i,e,t,r,n,s){if(e=e&&t.enter(r,1,A.IgnoreOverlays|A.ExcludeBuffers)))if(t.to<=e)t.next(!1)||(this.done=!0);else break}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&&t.positions[0]==0&&t.children[0]instanceof Y)t=t.children[0];else break}return!1}},Ko=class{constructor(e){var t;if(this.fragments=e,this.curTo=0,this.fragI=0,e.length){let r=this.curFrag=e[0];this.curTo=(t=r.tree.prop(Fo))!==null&&t!==void 0?t:r.to,this.inner=new zn(r.tree,-r.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=(e=t.tree.prop(Fo))!==null&&e!==void 0?e:t.to,this.inner=new zn(t.tree,-t.offset)}}findMounts(e,t){var r;let n=[];if(this.inner){this.inner.cursor.moveTo(e,1);for(let s=this.inner.cursor.node;s;s=s.parent){let o=(r=s.tree)===null||r===void 0?void 0:r.prop(V.mounted);if(o&&o.parser==t)for(let a=this.fragI;a=s.to)break;O.tree==this.curFrag.tree&&n.push({frag:O,pos:s.from-O.offset,mount:o})}}}return n}};function th(i,e){let t=null,r=e;for(let n=1,s=0;n=a)break;O.to<=o||(t||(r=t=e.slice()),O.froma&&t.splice(s+1,0,new Xe(a,O.to))):O.to>a?t[s--]=new Xe(a,O.to):t.splice(s--,1))}}return r}function hm(i,e,t,r){let n=0,s=0,o=!1,a=!1,O=-1e9,l=[];for(;;){let c=n==i.length?1e9:o?i[n].to:i[n].from,h=s==e.length?1e9:a?e[s].to:e[s].from;if(o!=a){let f=Math.max(O,t),d=Math.min(c,h,r);fnew Xe(f.from+r,f.to+r)),h=hm(e,c,O,l);for(let f=0,d=O;;f++){let $=f==h.length,p=$?l:h[f].from;if(p>d&&t.push(new yt(d,p,n.tree,-o,s.from>=d||s.openStart,s.to<=p||s.openEnd)),$)break;d=h[f].to}}else t.push(new yt(O,l,n.tree,-o,s.from>=o||s.openStart,s.to<=a||s.openEnd))}return t}var fm=0,ze=class i{constructor(e,t,r,n){this.name=e,this.set=t,this.base=r,this.modified=n,this.id=fm++}toString(){let{name:e}=this;for(let t of this.modified)t.name&&(e=`${t.name}(${e})`);return e}static define(e,t){let r=typeof e=="string"?e:"?";if(e instanceof i&&(t=e),t?.base)throw new Error("Can not derive from a modified tag");let n=new i(r,[],null,[]);if(n.set.push(n),t)for(let s of t.set)n.set.push(s);return n}static defineModifier(e){let t=new qn(e);return r=>r.modified.indexOf(t)>-1?r:qn.get(r.base||r,r.modified.concat(t).sort((n,s)=>n.id-s.id))}},um=0,qn=class i{constructor(e){this.name=e,this.instances=[],this.id=um++}static get(e,t){if(!t.length)return e;let r=t[0].instances.find(a=>a.base==e&&dm(t,a.modified));if(r)return r;let n=[],s=new ze(e.name,n,e,t);for(let a of t)a.instances.push(s);let o=$m(t);for(let a of e.set)if(!a.modified.length)for(let O of o)n.push(i.get(a,O));return s}};function dm(i,e){return i.length==e.length&&i.every((t,r)=>t==e[r])}function $m(i){let e=[[]];for(let t=0;tr.length-t.length)}function se(i){let e=Object.create(null);for(let t in i){let r=i[t];Array.isArray(r)||(r=[r]);for(let n of t.split(" "))if(n){let s=[],o=2,a=n;for(let h=0;;){if(a=="..."&&h>0&&h+3==n.length){o=1;break}let f=/^"(?:[^"\\]|\\.)*?"|[^\/!]+/.exec(a);if(!f)throw new RangeError("Invalid path: "+n);if(s.push(f[0]=="*"?"":f[0][0]=='"'?JSON.parse(f[0]):f[0]),h+=f[0].length,h==n.length)break;let d=n[h++];if(h==n.length&&d=="!"){o=0;break}if(d!="/")throw new RangeError("Invalid path: "+n);a=n.slice(h)}let O=s.length-1,l=s[O];if(!l)throw new RangeError("Invalid path: "+n);let c=new Oi(r,o,O>0?s.slice(0,O):null);e[l]=c.sort(e[l])}}return ah.add(e)}var ah=new V({combine(i,e){let t,r,n;for(;i||e;){if(!i||e&&i.depth>=e.depth?(n=e,e=e.next):(n=i,i=i.next),t&&t.mode==n.mode&&!n.context&&!t.context)continue;let s=new Oi(n.tags,n.mode,n.context);t?t.next=s:r=s,t=s}return r}}),Oi=class{constructor(e,t,r,n){this.tags=e,this.mode=t,this.context=r,this.next=n}get opaque(){return this.mode==0}get inherit(){return this.mode==1}sort(e){return!e||e.depth{let o=n;for(let a of s)for(let O of a.set){let l=t[O.id];if(l){o=o?o+" "+l:l;break}}return o},scope:r}}function pm(i,e){let t=null;for(let r of i){let n=r.style(e);n&&(t=t?t+" "+n:n)}return t}function Oh(i,e,t,r=0,n=i.length){let s=new ia(r,Array.isArray(e)?e:[e],t);s.highlightRange(i.cursor(),r,n,"",s.highlighters),s.flush(n)}var ia=class{constructor(e,t,r){this.at=e,this.highlighters=t,this.span=r,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,r,n,s){let{type:o,from:a,to:O}=e;if(a>=r||O<=t)return;o.isTop&&(s=this.highlighters.filter(d=>!d.scope||d.scope(o)));let l=n,c=mm(e)||Oi.empty,h=pm(s,c.tags);if(h&&(l&&(l+=" "),l+=h,c.mode==1&&(n+=(n?" ":"")+h)),this.startSpan(Math.max(t,a),l),c.opaque)return;let f=e.tree&&e.tree.prop(V.mounted);if(f&&f.overlay){let d=e.node.enter(f.overlay[0].from+a,1),$=this.highlighters.filter(m=>!m.scope||m.scope(f.tree.type)),p=e.firstChild();for(let m=0,g=a;;m++){let S=m=T||!e.nextSibling())););if(!S||T>r)break;g=S.to+a,g>t&&(this.highlightRange(d.cursor(),Math.max(t,S.from+a),Math.min(r,g),"",$),this.startSpan(Math.min(r,g),l))}p&&e.parent()}else if(e.firstChild()){f&&(n="");do if(!(e.to<=t)){if(e.from>=r)break;this.highlightRange(e,t,r,n,s),this.startSpan(Math.min(r,e.to),l)}while(e.nextSibling());e.parent()}}};function mm(i){let e=i.type.prop(ah);for(;e&&e.context&&!i.matchContext(e.context);)e=e.next;return e||null}var y=ze.define,Yn=y(),Wt=y(),sh=y(Wt),oh=y(Wt),qt=y(),Cn=y(qt),ta=y(qt),ut=y(),ai=y(ut),ht=y(),ft=y(),ra=y(),pr=y(ra),Wn=y(),u={comment:Yn,lineComment:y(Yn),blockComment:y(Yn),docComment:y(Yn),name:Wt,variableName:y(Wt),typeName:sh,tagName:y(sh),propertyName:oh,attributeName:y(oh),className:y(Wt),labelName:y(Wt),namespace:y(Wt),macroName:y(Wt),literal:qt,string:Cn,docString:y(Cn),character:y(Cn),attributeValue:y(Cn),number:ta,integer:y(ta),float:y(ta),bool:y(qt),regexp:y(qt),escape:y(qt),color:y(qt),url:y(qt),keyword:ht,self:y(ht),null:y(ht),atom:y(ht),unit:y(ht),modifier:y(ht),operatorKeyword:y(ht),controlKeyword:y(ht),definitionKeyword:y(ht),moduleKeyword:y(ht),operator:ft,derefOperator:y(ft),arithmeticOperator:y(ft),logicOperator:y(ft),bitwiseOperator:y(ft),compareOperator:y(ft),updateOperator:y(ft),definitionOperator:y(ft),typeOperator:y(ft),controlOperator:y(ft),punctuation:ra,separator:y(ra),bracket:pr,angleBracket:y(pr),squareBracket:y(pr),paren:y(pr),brace:y(pr),content:ut,heading:ai,heading1:y(ai),heading2:y(ai),heading3:y(ai),heading4:y(ai),heading5:y(ai),heading6:y(ai),contentSeparator:y(ut),list:y(ut),quote:y(ut),emphasis:y(ut),strong:y(ut),link:y(ut),monospace:y(ut),strikethrough:y(ut),inserted:y(),deleted:y(),changed:y(),invalid:y(),meta:Wn,documentMeta:y(Wn),annotation:y(Wn),processingInstruction:y(Wn),definition:ze.defineModifier("definition"),constant:ze.defineModifier("constant"),function:ze.defineModifier("function"),standard:ze.defineModifier("standard"),local:ze.defineModifier("local"),special:ze.defineModifier("special")};for(let i in u){let e=u[i];e instanceof ze&&(e.name=i)}var vT=na([{tag:u.link,class:"tok-link"},{tag:u.heading,class:"tok-heading"},{tag:u.emphasis,class:"tok-emphasis"},{tag:u.strong,class:"tok-strong"},{tag:u.keyword,class:"tok-keyword"},{tag:u.atom,class:"tok-atom"},{tag:u.bool,class:"tok-bool"},{tag:u.url,class:"tok-url"},{tag:u.labelName,class:"tok-labelName"},{tag:u.inserted,class:"tok-inserted"},{tag:u.deleted,class:"tok-deleted"},{tag:u.literal,class:"tok-literal"},{tag:u.string,class:"tok-string"},{tag:u.number,class:"tok-number"},{tag:[u.regexp,u.escape,u.special(u.string)],class:"tok-string2"},{tag:u.variableName,class:"tok-variableName"},{tag:u.local(u.variableName),class:"tok-variableName tok-local"},{tag:u.definition(u.variableName),class:"tok-variableName tok-definition"},{tag:u.special(u.variableName),class:"tok-variableName2"},{tag:u.definition(u.propertyName),class:"tok-propertyName tok-definition"},{tag:u.typeName,class:"tok-typeName"},{tag:u.namespace,class:"tok-namespace"},{tag:u.className,class:"tok-className"},{tag:u.macroName,class:"tok-macroName"},{tag:u.propertyName,class:"tok-propertyName"},{tag:u.operator,class:"tok-operator"},{tag:u.comment,class:"tok-comment"},{tag:u.meta,class:"tok-meta"},{tag:u.invalid,class:"tok-invalid"},{tag:u.punctuation,class:"tok-punctuation"}]);var sa,wt=new V;function Ai(i){return v.define({combine:i?e=>e.concat(i):void 0})}var Mn=new V,fe=class{constructor(e,t,r=[],n=""){this.data=e,this.name=n,D.prototype.hasOwnProperty("tree")||Object.defineProperty(D.prototype,"tree",{get(){return L(this)}}),this.parser=t,this.extension=[qi.of(this),D.languageData.of((s,o,a)=>{let O=lh(s,o,a),l=O.type.prop(wt);if(!l)return[];let c=s.facet(l),h=O.type.prop(Mn);if(h){let f=O.resolve(o-O.from,a);for(let d of h)if(d.test(f,s)){let $=s.facet(d.facet);return d.type=="replace"?$:$.concat(c)}}return c})].concat(r)}isActiveAt(e,t,r=-1){return lh(e,t,r).type.prop(wt)==this.data}findRegions(e){let t=e.facet(qi);if(t?.data==this.data)return[{from:0,to:e.doc.length}];if(!t||!t.allowsNesting)return[];let r=[],n=(s,o)=>{if(s.prop(wt)==this.data){r.push({from:o,to:o+s.length});return}let a=s.prop(V.mounted);if(a){if(a.tree.prop(wt)==this.data){if(a.overlay)for(let O of a.overlay)r.push({from:O.from+o,to:O.to+o});else r.push({from:o,to:o+s.length});return}else if(a.overlay){let O=r.length;if(n(a.tree,a.overlay[0].from+o),r.length>O)return}}for(let O=0;Or.isTop?t:void 0)]}),e.name)}configure(e,t){return new i(this.data,this.parser.configure(e),t||this.name)}get allowsNesting(){return this.parser.hasWrappers()}};function L(i){let e=i.field(fe.state,!1);return e?e.tree:Y.empty}var la=class{constructor(e){this.doc=e,this.cursorPos=0,this.string="",this.cursor=e.iter()}get length(){return this.doc.length}syncTo(e){return this.string=this.cursor.next(e-this.cursorPos).value,this.cursorPos=e+this.string.length,this.cursorPos-this.string.length}chunk(e){return this.syncTo(e),this.string}get lineChunks(){return!0}read(e,t){let r=this.cursorPos-this.string.length;return e=this.cursorPos?this.doc.sliceString(e,t):this.string.slice(e-r,t-r)}},mr=null,li=class i{constructor(e,t,r=[],n,s,o,a,O){this.parser=e,this.state=t,this.fragments=r,this.tree=n,this.treeLen=s,this.viewport=o,this.skipped=a,this.scheduleOn=O,this.parse=null,this.tempSkipped=[]}static create(e,t,r){return new i(e,t,[],Y.empty,0,r,[],null)}startParse(){return this.parser.startParse(new la(this.state.doc),this.fragments)}work(e,t){return t!=null&&t>=this.state.doc.length&&(t=void 0),this.tree!=Y.empty&&this.isDone(t??this.state.doc.length)?(this.takeTree(),!0):this.withContext(()=>{var r;if(typeof e=="number"){let n=Date.now()+e;e=()=>Date.now()>n}for(this.parse||(this.parse=this.startParse()),t!=null&&(this.parse.stoppedAt==null||this.parse.stoppedAt>t)&&t=this.treeLen&&((this.parse.stoppedAt==null||this.parse.stoppedAt>e)&&this.parse.stopAt(e),this.withContext(()=>{for(;!(t=this.parse.advance()););}),this.treeLen=e,this.tree=t,this.fragments=this.withoutTempSkipped(yt.addTree(this.tree,this.fragments,!0)),this.parse=null)}withContext(e){let t=mr;mr=this;try{return e()}finally{mr=t}}withoutTempSkipped(e){for(let t;t=this.tempSkipped.pop();)e=ch(e,t.from,t.to);return e}changes(e,t){let{fragments:r,tree:n,treeLen:s,viewport:o,skipped:a}=this;if(this.takeTree(),!e.empty){let O=[];if(e.iterChangedRanges((l,c,h,f)=>O.push({fromA:l,toA:c,fromB:h,toB:f})),r=yt.applyChanges(r,O),n=Y.empty,s=0,o={from:e.mapPos(o.from,-1),to:e.mapPos(o.to,1)},this.skipped.length){a=[];for(let l of this.skipped){let c=e.mapPos(l.from,1),h=e.mapPos(l.to,-1);ce.from&&(this.fragments=ch(this.fragments,n,s),this.skipped.splice(r--,1))}return this.skipped.length>=t?!1:(this.reset(),!0)}reset(){this.parse&&(this.takeTree(),this.parse=null)}skipUntilInView(e,t){this.skipped.push({from:e,to:t})}static getSkippingParser(e){return new class extends bt{createParse(t,r,n){let s=n[0].from,o=n[n.length-1].to;return{parsedPos:s,advance(){let O=mr;if(O){for(let l of n)O.tempSkipped.push(l);e&&(O.scheduleOn=O.scheduleOn?Promise.all([O.scheduleOn,e]):e)}return this.parsedPos=o,new Y(ie.none,[],[],o-s)},stoppedAt:null,stopAt(){}}}}}isDone(e){e=Math.min(e,this.state.doc.length);let t=this.fragments;return this.treeLen>=e&&t.length&&t[0].from==0&&t[0].to>=e}static get(){return mr}};function ch(i,e,t){return yt.applyChanges(i,[{fromA:e,toA:t,fromB:e,toB:t}])}var gr=class i{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),r=this.context.treeLen==e.startState.doc.length?void 0:Math.max(e.changes.mapPos(this.context.treeLen),t.viewport.to);return t.work(20,r)||t.takeTree(),new i(t)}static init(e){let t=Math.min(3e3,e.doc.length),r=li.create(e.facet(qi).parser,e,{from:0,to:t});return r.work(20,t)||r.takeTree(),new i(r)}};fe.state=ye.define({create:gr.init,update(i,e){for(let t of e.effects)if(t.is(fe.setState))return t.value;return e.startState.facet(qi)!=e.state.facet(qi)?gr.init(e.state):i.apply(e)}});var ph=i=>{let e=setTimeout(()=>i(),500);return()=>clearTimeout(e)};typeof requestIdleCallback<"u"&&(ph=i=>{let e=-1,t=setTimeout(()=>{e=requestIdleCallback(i,{timeout:400})},100);return()=>e<0?clearTimeout(t):cancelIdleCallback(e)});var oa=typeof navigator<"u"&&(!((sa=navigator.scheduling)===null||sa===void 0)&&sa.isInputPending)?()=>navigator.scheduling.isInputPending():null,gm=_e.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(fe.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(fe.state);(t.tree!=t.context.tree||!t.context.isDone(e.doc.length))&&(this.working=ph(this.work))}work(e){this.working=null;let t=Date.now();if(this.chunkEndn+1e3,O=s.context.work(()=>oa&&oa()||Date.now()>o,n+(a?0:1e5));this.chunkBudget-=Date.now()-t,(O||this.chunkBudget<=0)&&(s.context.takeTree(),this.view.dispatch({effects:fe.setState.of(new gr(s.context))})),this.chunkBudget>0&&!(O&&!a)&&this.scheduleWork(),this.checkAsyncSchedule(s.context)}checkAsyncSchedule(e){e.scheduleOn&&(this.workScheduled++,e.scheduleOn.then(()=>this.scheduleWork()).catch(t=>Ie(this.view.state,t)).then(()=>this.workScheduled--),e.scheduleOn=null)}destroy(){this.working&&this.working()}isWorking(){return!!(this.working||this.workScheduled>0)}},{eventHandlers:{focus(){this.scheduleWork()}}}),qi=v.define({combine(i){return i.length?i[0]:null},enables:i=>[fe.state,gm,k.contentAttributes.compute([i],e=>{let t=e.facet(i);return t&&t.name?{"data-language":t.name}:{}})]}),oe=class{constructor(e,t=[]){this.language=e,this.support=t,this.extension=[e,t]}},Qr=class i{constructor(e,t,r,n,s,o=void 0){this.name=e,this.alias=t,this.extensions=r,this.filename=n,this.loadFunc=s,this.support=o,this.loading=null}load(){return this.loading||(this.loading=this.loadFunc().then(e=>this.support=e,e=>{throw this.loading=null,e}))}static of(e){let{load:t,support:r}=e;if(!t){if(!r)throw new RangeError("Must pass either 'load' or 'support' to LanguageDescription.of");t=()=>Promise.resolve(r)}return new i(e.name,(e.alias||[]).concat(e.name).map(n=>n.toLowerCase()),e.extensions||[],e.filename,t,r)}static matchFilename(e,t){for(let n of e)if(n.filename&&n.filename.test(t))return n;let r=/\.([^.]+)$/.exec(t);if(r){for(let n of e)if(n.extensions.indexOf(r[1])>-1)return n}return null}static matchLanguageName(e,t,r=!0){t=t.toLowerCase();for(let n of e)if(n.alias.some(s=>s==t))return n;if(r)for(let n of e)for(let s of n.alias){let o=t.indexOf(s);if(o>-1&&(s.length>2||!/\w/.test(t[o-1])&&!/\w/.test(t[o+s.length])))return n}return null}},Qm=v.define(),jt=v.define({combine:i=>{if(!i.length)return" ";let e=i[0];if(!e||/\S/.test(e)||Array.from(e).some(t=>t!=e[0]))throw new Error("Invalid indent unit: "+JSON.stringify(i[0]));return e}});function At(i){let e=i.facet(jt);return e.charCodeAt(0)==9?i.tabSize*e.length:e.length}function Pr(i,e){let t="",r=i.tabSize,n=i.facet(jt)[0];if(n==" "){for(;e>=r;)t+=" ",e-=r;n=" "}for(let s=0;s=e?Sm(i,t,e):null}var ci=class{constructor(e,t={}){this.state=e,this.options=t,this.unit=At(e)}lineAt(e,t=1){let r=this.state.doc.lineAt(e),{simulateBreak:n,simulateDoubleBreak:s}=this.options;return n!=null&&n>=r.from&&n<=r.to?s&&n==e?{text:"",from:e}:(t<0?n-1&&(s+=o-this.countColumn(r,r.search(/\S|$/))),s}countColumn(e,t=e.length){return we(e,this.state.tabSize,t)}lineIndent(e,t=1){let{text:r,from:n}=this.lineAt(e,t),s=this.options.overrideIndentation;if(s){let o=s(n);if(o>-1)return o}return this.countColumn(r,r.search(/\S|$/))}get simulatedBreak(){return this.options.simulateBreak||null}},de=new V;function Sm(i,e,t){let r=e.resolveStack(t),n=e.resolveInner(t,-1).resolve(t,0).enterUnfinishedNodesBefore(t);if(n!=r.node){let s=[];for(let o=n;o&&!(o.fromr.node.to||o.from==r.node.from&&o.type==r.node.type);o=o.parent)s.push(o);for(let o=s.length-1;o>=0;o--)r={node:s[o],next:r}}return mh(r,i,t)}function mh(i,e,t){for(let r=i;r;r=r.next){let n=Tm(r.node);if(n)return n(ca.create(e,t,r))}return 0}function Pm(i){return i.pos==i.options.simulateBreak&&i.options.simulateDoubleBreak}function Tm(i){let e=i.type.prop(de);if(e)return e;let t=i.firstChild,r;if(t&&(r=t.type.prop(V.closedBy))){let n=i.lastChild,s=n&&r.indexOf(n.name)>-1;return o=>gh(o,!0,1,void 0,s&&!Pm(o)?n.from:void 0)}return i.parent==null?ym:null}function ym(){return 0}var ca=class i extends ci{constructor(e,t,r){super(e.state,e.options),this.base=e,this.pos=t,this.context=r}get node(){return this.context.node}static create(e,t,r){return new i(e,t,r)}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 r=e.resolve(t.from);for(;r.parent&&r.parent.from==r.from;)r=r.parent;if(bm(r,e))break;t=this.state.doc.lineAt(r.from)}return this.lineIndent(t.from)}continue(){return mh(this.context.next,this.base,this.pos)}};function bm(i,e){for(let t=e;t;t=t.parent)if(i==t)return!0;return!1}function wm(i){let e=i.node,t=e.childAfter(e.from),r=e.lastChild;if(!t)return null;let n=i.options.simulateBreak,s=i.state.doc.lineAt(t.from),o=n==null||n<=s.from?s.to:Math.min(s.to,n);for(let a=t.to;;){let O=e.childAfter(a);if(!O||O==r)return null;if(!O.type.isSkipped){if(O.from>=o)return null;let l=/^ */.exec(s.text.slice(t.to-s.from))[0].length;return{from:t.from,to:t.to+l}}a=O.to}}function En({closing:i,align:e=!0,units:t=1}){return r=>gh(r,e,t,i)}function gh(i,e,t,r,n){let s=i.textAfter,o=s.match(/^\s*/)[0].length,a=r&&s.slice(o,o+r.length)==r||n==i.pos+o,O=e?wm(i):null;return O?a?i.column(O.from):i.column(O.to):i.baseIndent+(a?0:i.unit*t)}var Qh=i=>i.baseIndent;function Ye({except:i,units:e=1}={}){return t=>{let r=i&&i.test(t.textAfter);return t.baseIndent+(r?0:e*t.unit)}}var Sh=v.define(),Se=new V;function Ut(i){let e=i.firstChild,t=i.lastChild;return e&&e.toa.prop(wt)==o.data:o?a=>a==o:void 0,this.style=na(e.map(a=>({tag:a.tag,class:a.class||n(Object.assign({},a,{tag:null}))})),{all:s}).style,this.module=r?new Me(r):null,this.themeType=t.themeType}static define(e,t){return new i(e,t||{})}},ha=v.define(),Ph=v.define({combine(i){return i.length?[i[0]]:null}});function aa(i){let e=i.facet(ha);return e.length?e:i.facet(Ph)}function ma(i,e){let t=[xm],r;return i instanceof xt&&(i.module&&t.push(k.styleModule.of(i.module)),r=i.themeType),e?.fallback?t.push(Ph.of(i)):r?t.push(ha.computeN([k.darkTheme],n=>n.facet(k.darkTheme)==(r=="dark")?[i]:[])):t.push(ha.of(i)),t}var fa=class{constructor(e){this.markCache=Object.create(null),this.tree=L(e.state),this.decorations=this.buildDeco(e,aa(e.state)),this.decoratedTo=e.viewport.to}update(e){let t=L(e.state),r=aa(e.state),n=r!=aa(e.startState),{viewport:s}=e.view,o=e.changes.mapPos(this.decoratedTo,1);t.length=s.to?(this.decorations=this.decorations.map(e.changes),this.decoratedTo=o):(t!=this.tree||e.viewportChanged||n)&&(this.tree=t,this.decorations=this.buildDeco(e.view,r),this.decoratedTo=s.to)}buildDeco(e,t){if(!t||!this.tree.length)return M.none;let r=new Jt;for(let{from:n,to:s}of e.visibleRanges)Oh(this.tree,t,(o,a,O)=>{r.add(o,a,this.markCache[O]||(this.markCache[O]=M.mark({class:O})))},n,s);return r.finish()}},xm=at.high(_e.fromClass(fa,{decorations:i=>i.decorations})),qT=xt.define([{tag:u.meta,color:"#404740"},{tag:u.link,textDecoration:"underline"},{tag:u.heading,textDecoration:"underline",fontWeight:"bold"},{tag:u.emphasis,fontStyle:"italic"},{tag:u.strong,fontWeight:"bold"},{tag:u.strikethrough,textDecoration:"line-through"},{tag:u.keyword,color:"#708"},{tag:[u.atom,u.bool,u.url,u.contentSeparator,u.labelName],color:"#219"},{tag:[u.literal,u.inserted],color:"#164"},{tag:[u.string,u.deleted],color:"#a11"},{tag:[u.regexp,u.escape,u.special(u.string)],color:"#e40"},{tag:u.definition(u.variableName),color:"#00f"},{tag:u.local(u.variableName),color:"#30a"},{tag:[u.typeName,u.namespace],color:"#085"},{tag:u.className,color:"#167"},{tag:[u.special(u.variableName),u.macroName],color:"#256"},{tag:u.definition(u.propertyName),color:"#00c"},{tag:u.comment,color:"#940"},{tag:u.invalid,color:"#f00"}]),km=k.baseTheme({"&.cm-focused .cm-matchingBracket":{backgroundColor:"#328c8252"},"&.cm-focused .cm-nonmatchingBracket":{backgroundColor:"#bb555544"}}),Th=1e4,yh="()[]{}",bh=v.define({combine(i){return Zt(i,{afterCursor:!0,brackets:yh,maxScanDistance:Th,renderMatch:Zm})}}),Xm=M.mark({class:"cm-matchingBracket"}),vm=M.mark({class:"cm-nonmatchingBracket"});function Zm(i){let e=[],t=i.matched?Xm:vm;return e.push(t.range(i.start.from,i.start.to)),i.end&&e.push(t.range(i.end.from,i.end.to)),e}function hh(i){let e=[],t=i.facet(bh);for(let r of i.selection.ranges){if(!r.empty)continue;let n=et(i,r.head,-1,t)||r.head>0&&et(i,r.head-1,1,t)||t.afterCursor&&(et(i,r.head,1,t)||r.headi.decorations}),Vm=[Rm,km];function wh(i={}){return[bh.of(i),Vm]}var Tr=new V;function ua(i,e,t){let r=i.prop(e<0?V.openedBy:V.closedBy);if(r)return r;if(i.name.length==1){let n=t.indexOf(i.name);if(n>-1&&n%2==(e<0?1:0))return[t[n+e]]}return null}function da(i){let e=i.type.prop(Tr);return e?e(i.node):i}function et(i,e,t,r={}){let n=r.maxScanDistance||Th,s=r.brackets||yh,o=L(i),a=o.resolveInner(e,t);for(let O=a;O;O=O.parent){let l=ua(O.type,t,s);if(l&&O.from0?e>=c.from&&ec.from&&e<=c.to))return _m(i,e,t,O,c,l,s)}}return zm(i,e,t,o,a.type,n,s)}function _m(i,e,t,r,n,s,o){let a=r.parent,O={from:n.from,to:n.to},l=0,c=a?.cursor();if(c&&(t<0?c.childBefore(r.from):c.childAfter(r.to)))do if(t<0?c.to<=r.from:c.from>=r.to){if(l==0&&s.indexOf(c.type.name)>-1&&c.from0)return null;let l={from:t<0?e-1:e,to:t>0?e+1:e},c=i.doc.iterRange(e,t>0?i.doc.length:0),h=0;for(let f=0;!c.next().done&&f<=s;){let d=c.value;t<0&&(f+=d.length);let $=e+f*t;for(let p=t>0?0:d.length-1,m=t>0?d.length:-1;p!=m;p+=t){let g=o.indexOf(d[p]);if(!(g<0||r.resolveInner($+p,1).type!=n))if(g%2==0==t>0)h++;else{if(h==1)return{start:l,end:{from:$+p,to:$+p+1},matched:g>>1==O>>1};h--}}t>0&&(f+=d.length)}return c.done?{start:l,matched:!1}:null}function fh(i,e,t,r=0,n=0){e==null&&(e=i.search(/[^\s\u00a0]/),e==-1&&(e=i.length));let s=n;for(let o=r;o=this.string.length}sol(){return this.pos==0}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.lastColumnPosr?o.toLowerCase():o,s=this.string.substr(this.pos,e.length);return n(s)==n(e)?(t!==!1&&(this.pos+=e.length),!0):null}else{let n=this.string.slice(this.pos).match(e);return n&&n.index>0?null:(n&&t!==!1&&(this.pos+=n[0].length),n)}}current(){return this.string.slice(this.start,this.pos)}};function Ym(i){return{name:i.name||"",token:i.token,blankLine:i.blankLine||(()=>{}),startState:i.startState||(()=>!0),copyState:i.copyState||Cm,indent:i.indent||(()=>null),languageData:i.languageData||{},tokenTable:i.tokenTable||Qa,mergeTokens:i.mergeTokens!==!1}}function Cm(i){if(typeof i!="object")return i;let e={};for(let t in i){let r=i[t];e[t]=r instanceof Array?r.slice():r}return e}var uh=new WeakMap,jn=class i extends fe{constructor(e){let t=Ai(e.languageData),r=Ym(e),n,s=new class extends bt{createParse(o,a,O){return new $a(n,o,a,O)}};super(t,s,[],e.name),this.topNode=jm(t,this),n=this,this.streamParser=r,this.stateAfter=new V({perNode:!0}),this.tokenTable=e.tokenTable?new Un(r.tokenTable):Am}static define(e){return new i(e)}getIndent(e){let t,{overrideIndentation:r}=e.options;r&&(t=uh.get(e.state),t!=null&&t1e4)return null;for(;s=r&&t+e.length<=n&&e.prop(i.stateAfter);if(s)return{state:i.streamParser.copyState(s),pos:t+e.length};for(let o=e.children.length-1;o>=0;o--){let a=e.children[o],O=t+e.positions[o],l=a instanceof Y&&O=e.length)return e;!n&&t==0&&e.type==i.topNode&&(n=!0);for(let s=e.children.length-1;s>=0;s--){let o=e.positions[s],a=e.children[s],O;if(ot&&ga(i,s.tree,0-s.offset,t,a),l;if(O&&O.pos<=r&&(l=xh(i,s.tree,t+s.offset,O.pos+s.offset,!1)))return{state:O.state,tree:l}}return{state:i.streamParser.startState(n?At(n):4),tree:Y.empty}}var $a=class{constructor(e,t,r,n){this.lang=e,this.input=t,this.fragments=r,this.ranges=n,this.stoppedAt=null,this.chunks=[],this.chunkPos=[],this.chunk=[],this.chunkReused=void 0,this.rangeIndex=0,this.to=n[n.length-1].to;let s=li.get(),o=n[0].from,{state:a,tree:O}=Wm(e,r,o,this.to,s?.state);this.state=a,this.parsedPos=this.chunkStart=o+O.length;for(let l=0;ll.from<=s.viewport.from&&l.to>=s.viewport.from)&&(this.state=this.lang.streamParser.startState(At(s.state)),s.skipUntilInView(this.parsedPos,s.viewport.from),this.parsedPos=s.viewport.from),this.moveRangeIndex()}advance(){let e=li.get(),t=this.stoppedAt==null?this.to:Math.min(this.to,this.stoppedAt),r=Math.min(t,this.chunkStart+512);for(e&&(r=Math.min(r,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)t==` +`&&(t="");else{let r=t.indexOf(` +`);r>-1&&(t=t.slice(0,r))}return e+t.length<=this.to?t:t.slice(0,this.to-e)}nextLine(){let e=this.parsedPos,t=this.lineAfter(e),r=e+t.length;for(let n=this.rangeIndex;;){let s=this.ranges[n].to;if(s>=r||(t=t.slice(0,s-(r-t.length)),n++,n==this.ranges.length))break;let o=this.ranges[n].from,a=this.lineAfter(o);t+=a,r=o+a.length}return{line:t,end:r}}skipGapsTo(e,t,r){for(;;){let n=this.ranges[this.rangeIndex].to,s=e+t;if(r>0?n>s:n>=s)break;let o=this.ranges[++this.rangeIndex].from;t+=o-n}return t}moveRangeIndex(){for(;this.ranges[this.rangeIndex].to1){n=this.skipGapsTo(t,n,1),t+=n;let a=this.chunk.length;n=this.skipGapsTo(r,n,-1),r+=n,s+=this.chunk.length-a}let o=this.chunk.length-4;return this.lang.streamParser.mergeTokens&&s==4&&o>=0&&this.chunk[o]==e&&this.chunk[o+2]==t?this.chunk[o+2]=r:this.chunk.push(e,t,r,s),n}parseLine(e){let{line:t,end:r}=this.nextLine(),n=0,{streamParser:s}=this.lang,o=new An(t,e?e.state.tabSize:4,e?At(e.state):2);if(o.eol())s.blankLine(this.state,o.indentUnit);else for(;!o.eol();){let a=kh(s.token,o,this.state);if(a&&(n=this.emitToken(this.lang.tokenTable.resolve(a),this.parsedPos+o.start,this.parsedPos+o.pos,n)),o.start>1e4)break}this.parsedPos=r,this.moveRangeIndex(),this.parsedPose.start)return n}throw new Error("Stream parser failed to advance stream.")}var Qa=Object.create(null),Sr=[ie.none],qm=new Tt(Sr),dh=[],$h=Object.create(null),Xh=Object.create(null);for(let[i,e]of[["variable","variableName"],["variable-2","variableName.special"],["string-2","string.special"],["def","variableName.definition"],["tag","tagName"],["attribute","attributeName"],["type","typeName"],["builtin","variableName.standard"],["qualifier","modifier"],["error","invalid"],["header","heading"],["property","propertyName"]])Xh[i]=vh(Qa,e);var Un=class{constructor(e){this.extra=e,this.table=Object.assign(Object.create(null),Xh)}resolve(e){return e?this.table[e]||(this.table[e]=vh(this.extra,e)):0}},Am=new Un(Qa);function Oa(i,e){dh.indexOf(i)>-1||(dh.push(i),console.warn(e))}function vh(i,e){let t=[];for(let a of e.split(" ")){let O=[];for(let l of a.split(".")){let c=i[l]||u[l];c?typeof c=="function"?O.length?O=O.map(c):Oa(l,`Modifier ${l} used at start of tag`):O.length?Oa(l,`Tag ${l} used as modifier`):O=Array.isArray(c)?c:[c]:Oa(l,`Unknown highlighting tag ${l}`)}for(let l of O)t.push(l)}if(!t.length)return 0;let r=e.replace(/ /g,"_"),n=r+" "+t.map(a=>a.id),s=$h[n];if(s)return s.id;let o=$h[n]=ie.define({id:Sr.length,name:r,props:[se({[r]:t})]});return Sr.push(o),o.id}function jm(i,e){let t=ie.define({id:Sr.length,name:"Document",props:[wt.add(()=>i),de.add(()=>r=>e.getIndent(r))],top:!0});return Sr.push(t),t}var AT={rtl:M.mark({class:"cm-iso",inclusive:!0,attributes:{dir:"rtl"},bidiIsolate:H.RTL}),ltr:M.mark({class:"cm-iso",inclusive:!0,attributes:{dir:"ltr"},bidiIsolate:H.LTR}),auto:M.mark({class:"cm-iso",inclusive:!0,attributes:{dir:"auto"},bidiIsolate:null})};var Um=i=>{let{state:e}=i,t=e.doc.lineAt(e.selection.main.from),r=xa(i.state,t.from);return r.line?Mm(i):r.block?Lm(i):!1};function wa(i,e){return({state:t,dispatch:r})=>{if(t.readOnly)return!1;let n=i(e,t);return n?(r(t.update(n)),!0):!1}}var Mm=wa(Bm,0);var Em=wa(qh,0);var Lm=wa((i,e)=>qh(i,e,Im(e)),0);function xa(i,e){let t=i.languageDataAt("commentTokens",e,1);return t.length?t[0]:{}}var yr=50;function Gm(i,{open:e,close:t},r,n){let s=i.sliceDoc(r-yr,r),o=i.sliceDoc(n,n+yr),a=/\s*$/.exec(s)[0].length,O=/^\s*/.exec(o)[0].length,l=s.length-a;if(s.slice(l-e.length,l)==e&&o.slice(O,O+t.length)==t)return{open:{pos:r-a,margin:a&&1},close:{pos:n+O,margin:O&&1}};let c,h;n-r<=2*yr?c=h=i.sliceDoc(r,n):(c=i.sliceDoc(r,r+yr),h=i.sliceDoc(n-yr,n));let f=/^\s*/.exec(c)[0].length,d=/\s*$/.exec(h)[0].length,$=h.length-d-t.length;return c.slice(f,f+e.length)==e&&h.slice($,$+t.length)==t?{open:{pos:r+f+e.length,margin:/\s/.test(c.charAt(f+e.length))?1:0},close:{pos:n-d-t.length,margin:/\s/.test(h.charAt($-1))?1:0}}:null}function Im(i){let e=[];for(let t of i.selection.ranges){let r=i.doc.lineAt(t.from),n=t.to<=r.to?r:i.doc.lineAt(t.to);n.from>r.from&&n.from==t.to&&(n=t.to==r.to+1?r:i.doc.lineAt(t.to-1));let s=e.length-1;s>=0&&e[s].to>r.from?e[s].to=n.to:e.push({from:r.from+/^\s*/.exec(r.text)[0].length,to:n.to})}return e}function qh(i,e,t=e.selection.ranges){let r=t.map(s=>xa(e,s.from).block);if(!r.every(s=>s))return null;let n=t.map((s,o)=>Gm(e,r[o],s.from,s.to));if(i!=2&&!n.every(s=>s))return{changes:e.changes(t.map((s,o)=>n[o]?[]:[{from:s.from,insert:r[o].open+" "},{from:s.to,insert:" "+r[o].close}]))};if(i!=1&&n.some(s=>s)){let s=[];for(let o=0,a;on&&(s==o||o>h.from)){n=h.from;let f=/^\s*/.exec(h.text)[0].length,d=f==h.length,$=h.text.slice(f,f+l.length)==l?f:-1;fs.comment<0&&(!s.empty||s.single))){let s=[];for(let{line:a,token:O,indent:l,empty:c,single:h}of r)(h||!c)&&s.push({from:a.from+l,insert:O+" "});let o=e.changes(s);return{changes:o,selection:e.selection.map(o,1)}}else if(i!=1&&r.some(s=>s.comment>=0)){let s=[];for(let{line:o,comment:a,token:O}of r)if(a>=0){let l=o.from+a,c=l+O.length;o.text[c-o.from]==" "&&c++,s.push({from:l,to:c})}return{changes:s}}return null}var Pa=be.define(),Dm=be.define(),Nm=v.define(),Ah=v.define({combine(i){return Zt(i,{minDepth:100,newGroupDelay:500,joinToEvent:(e,t)=>t},{minDepth:Math.max,newGroupDelay:Math.min,joinToEvent:(e,t)=>(r,n)=>e(r,n)||t(r,n)})}}),jh=ye.define({create(){return hi.empty},update(i,e){let t=e.state.facet(Ah),r=e.annotation(Pa);if(r){let O=tt.fromTransaction(e,r.selection),l=r.side,c=l==0?i.undone:i.done;return O?c=Gn(c,c.length,t.minDepth,O):c=Lh(c,e.startState.selection),new hi(l==0?r.rest:c,l==0?c:r.rest)}let n=e.annotation(Dm);if((n=="full"||n=="before")&&(i=i.isolate()),e.annotation(re.addToHistory)===!1)return e.changes.empty?i:i.addMapping(e.changes.desc);let s=tt.fromTransaction(e),o=e.annotation(re.time),a=e.annotation(re.userEvent);return s?i=i.addChanges(s,o,a,t,e):e.selection&&(i=i.addSelection(e.startState.selection,o,a,t.newGroupDelay)),(n=="full"||n=="after")&&(i=i.isolate()),i},toJSON(i){return{done:i.done.map(e=>e.toJSON()),undone:i.undone.map(e=>e.toJSON())}},fromJSON(i){return new hi(i.done.map(tt.fromJSON),i.undone.map(tt.fromJSON))}});function Uh(i={}){return[jh,Ah.of(i),k.domEventHandlers({beforeinput(e,t){let r=e.inputType=="historyUndo"?Mh:e.inputType=="historyRedo"?Ta:null;return r?(e.preventDefault(),r(t)):!1}})]}function In(i,e){return function({state:t,dispatch:r}){if(!e&&t.readOnly)return!1;let n=t.field(jh,!1);if(!n)return!1;let s=n.pop(i,t,e);return s?(r(s),!0):!1}}var Mh=In(0,!1),Ta=In(1,!1),Fm=In(0,!0),Hm=In(1,!0);var tt=class i{constructor(e,t,r,n,s){this.changes=e,this.effects=t,this.mapped=r,this.startSelection=n,this.selectionsAfter=s}setSelAfter(e){return new i(this.changes,this.effects,this.mapped,this.startSelection,e)}toJSON(){var e,t,r;return{changes:(e=this.changes)===null||e===void 0?void 0:e.toJSON(),mapped:(t=this.mapped)===null||t===void 0?void 0:t.toJSON(),startSelection:(r=this.startSelection)===null||r===void 0?void 0:r.toJSON(),selectionsAfter:this.selectionsAfter.map(n=>n.toJSON())}}static fromJSON(e){return new i(e.changes&&ge.fromJSON(e.changes),[],e.mapped&&$t.fromJSON(e.mapped),e.startSelection&&Q.fromJSON(e.startSelection),e.selectionsAfter.map(Q.fromJSON))}static fromTransaction(e,t){let r=Be;for(let n of e.startState.facet(Nm)){let s=n(e);s.length&&(r=r.concat(s))}return!r.length&&e.changes.empty?null:new i(e.changes.invert(e.startState.doc),r,void 0,t||e.startState.selection,Be)}static selection(e){return new i(void 0,Be,void 0,void 0,e)}};function Gn(i,e,t,r){let n=e+1>t+20?e-t-1:0,s=i.slice(n,e);return s.push(r),s}function Km(i,e){let t=[],r=!1;return i.iterChangedRanges((n,s)=>t.push(n,s)),e.iterChangedRanges((n,s,o,a)=>{for(let O=0;O=l&&o<=c&&(r=!0)}}),r}function Jm(i,e){return i.ranges.length==e.ranges.length&&i.ranges.filter((t,r)=>t.empty!=e.ranges[r].empty).length===0}function Eh(i,e){return i.length?e.length?i.concat(e):i:e}var Be=[],eg=200;function Lh(i,e){if(i.length){let t=i[i.length-1],r=t.selectionsAfter.slice(Math.max(0,t.selectionsAfter.length-eg));return r.length&&r[r.length-1].eq(e)?i:(r.push(e),Gn(i,i.length-1,1e9,t.setSelAfter(r)))}else return[tt.selection([e])]}function tg(i){let e=i[i.length-1],t=i.slice();return t[i.length-1]=e.setSelAfter(e.selectionsAfter.slice(0,e.selectionsAfter.length-1)),t}function Sa(i,e){if(!i.length)return i;let t=i.length,r=Be;for(;t;){let n=ig(i[t-1],e,r);if(n.changes&&!n.changes.empty||n.effects.length){let s=i.slice(0,t);return s[t-1]=n,s}else e=n.mapped,t--,r=n.selectionsAfter}return r.length?[tt.selection(r)]:Be}function ig(i,e,t){let r=Eh(i.selectionsAfter.length?i.selectionsAfter.map(a=>a.map(e)):Be,t);if(!i.changes)return tt.selection(r);let n=i.changes.map(e),s=e.mapDesc(i.changes,!0),o=i.mapped?i.mapped.composeDesc(s):s;return new tt(n,B.mapEffects(i.effects,e),o,i.startSelection.map(s),r)}var rg=/^(input\.type|delete)($|\.)/,hi=class i{constructor(e,t,r=0,n=void 0){this.done=e,this.undone=t,this.prevTime=r,this.prevUserEvent=n}isolate(){return this.prevTime?new i(this.done,this.undone):this}addChanges(e,t,r,n,s){let o=this.done,a=o[o.length-1];return a&&a.changes&&!a.changes.empty&&e.changes&&(!r||rg.test(r))&&(!a.selectionsAfter.length&&t-this.prevTime0&&t-this.prevTimet.empty?i.moveByChar(t,e):Bn(t,e))}function $e(i){return i.textDirectionAt(i.state.selection.main.head)==H.LTR}var Bh=i=>Ih(i,!$e(i)),Dh=i=>Ih(i,$e(i));function Nh(i,e){return rt(i,t=>t.empty?i.moveByGroup(t,e):Bn(t,e))}var ng=i=>Nh(i,!$e(i)),sg=i=>Nh(i,$e(i));var DT=typeof Intl<"u"&&Intl.Segmenter?new Intl.Segmenter(void 0,{granularity:"word"}):null;function og(i,e,t){if(e.type.prop(t))return!0;let r=e.to-e.from;return r&&(r>2||/[^\s,.;:]/.test(i.sliceDoc(e.from,e.to)))||e.firstChild}function Dn(i,e,t){let r=L(i).resolveInner(e.head),n=t?V.closedBy:V.openedBy;for(let O=e.head;;){let l=t?r.childAfter(O):r.childBefore(O);if(!l)break;og(i,l,n)?r=l:O=t?l.to:l.from}let s=r.type.prop(n),o,a;return s&&(o=t?et(i,r.from,1):et(i,r.to,-1))&&o.matched?a=t?o.end.to:o.end.from:a=t?r.to:r.from,Q.cursor(a,t?-1:1)}var ag=i=>rt(i,e=>Dn(i.state,e,!$e(i))),Og=i=>rt(i,e=>Dn(i.state,e,$e(i)));function Fh(i,e){return rt(i,t=>{if(!t.empty)return Bn(t,e);let r=i.moveVertically(t,e);return r.head!=t.head?r:i.moveToLineBoundary(t,e)})}var Hh=i=>Fh(i,!1),Kh=i=>Fh(i,!0);function Jh(i){let e=i.scrollDOM.clientHeighto.empty?i.moveVertically(o,e,t.height):Bn(o,e));if(n.eq(r.selection))return!1;let s;if(t.selfScroll){let o=i.coordsAtPos(r.selection.main.head),a=i.scrollDOM.getBoundingClientRect(),O=a.top+t.marginTop,l=a.bottom-t.marginBottom;o&&o.top>O&&o.bottomef(i,!1),ya=i=>ef(i,!0);function Mt(i,e,t){let r=i.lineBlockAt(e.head),n=i.moveToLineBoundary(e,t);if(n.head==e.head&&n.head!=(t?r.to:r.from)&&(n=i.moveToLineBoundary(e,t,!1)),!t&&n.head==r.from&&r.length){let s=/^\s*/.exec(i.state.sliceDoc(r.from,Math.min(r.from+100,r.to)))[0].length;s&&e.head!=r.from+s&&(n=Q.cursor(r.from+s))}return n}var lg=i=>rt(i,e=>Mt(i,e,!0)),cg=i=>rt(i,e=>Mt(i,e,!1)),hg=i=>rt(i,e=>Mt(i,e,!$e(i))),fg=i=>rt(i,e=>Mt(i,e,$e(i))),ug=i=>rt(i,e=>Q.cursor(i.lineBlockAt(e.head).from,1)),dg=i=>rt(i,e=>Q.cursor(i.lineBlockAt(e.head).to,-1));function $g(i,e,t){let r=!1,n=ji(i.selection,s=>{let o=et(i,s.head,-1)||et(i,s.head,1)||s.head>0&&et(i,s.head-1,1)||s.head$g(i,e,!1);function De(i,e){let t=ji(i.state.selection,r=>{let n=e(r);return Q.range(r.anchor,n.head,n.goalColumn,n.bidiLevel||void 0,n.assoc)});return t.eq(i.state.selection)?!1:(i.dispatch(it(i.state,t)),!0)}function tf(i,e){return De(i,t=>i.moveByChar(t,e))}var rf=i=>tf(i,!$e(i)),nf=i=>tf(i,$e(i));function sf(i,e){return De(i,t=>i.moveByGroup(t,e))}var mg=i=>sf(i,!$e(i)),gg=i=>sf(i,$e(i));var Qg=i=>De(i,e=>Dn(i.state,e,!$e(i))),Sg=i=>De(i,e=>Dn(i.state,e,$e(i)));function of(i,e){return De(i,t=>i.moveVertically(t,e))}var af=i=>of(i,!1),Of=i=>of(i,!0);function lf(i,e){return De(i,t=>i.moveVertically(t,e,Jh(i).height))}var Rh=i=>lf(i,!1),Vh=i=>lf(i,!0),Pg=i=>De(i,e=>Mt(i,e,!0)),Tg=i=>De(i,e=>Mt(i,e,!1)),yg=i=>De(i,e=>Mt(i,e,!$e(i))),bg=i=>De(i,e=>Mt(i,e,$e(i))),wg=i=>De(i,e=>Q.cursor(i.lineBlockAt(e.head).from)),xg=i=>De(i,e=>Q.cursor(i.lineBlockAt(e.head).to)),_h=({state:i,dispatch:e})=>(e(it(i,{anchor:0})),!0),zh=({state:i,dispatch:e})=>(e(it(i,{anchor:i.doc.length})),!0),Yh=({state:i,dispatch:e})=>(e(it(i,{anchor:i.selection.main.anchor,head:0})),!0),Ch=({state:i,dispatch:e})=>(e(it(i,{anchor:i.selection.main.anchor,head:i.doc.length})),!0),kg=({state:i,dispatch:e})=>(e(i.update({selection:{anchor:0,head:i.doc.length},userEvent:"select"})),!0),Xg=({state:i,dispatch:e})=>{let t=Nn(i).map(({from:r,to:n})=>Q.range(r,Math.min(n+1,i.doc.length)));return e(i.update({selection:Q.create(t),userEvent:"select"})),!0},vg=({state:i,dispatch:e})=>{let t=ji(i.selection,r=>{let n=L(i),s=n.resolveStack(r.from,1);if(r.empty){let o=n.resolveStack(r.from,-1);o.node.from>=s.node.from&&o.node.to<=s.node.to&&(s=o)}for(let o=s;o;o=o.next){let{node:a}=o;if((a.from=r.to||a.to>r.to&&a.from<=r.from)&&o.next)return Q.range(a.to,a.from)}return r});return t.eq(i.selection)?!1:(e(it(i,t)),!0)};function cf(i,e){let{state:t}=i,r=t.selection,n=t.selection.ranges.slice();for(let s of t.selection.ranges){let o=t.doc.lineAt(s.head);if(e?o.to0)for(let a=s;;){let O=i.moveVertically(a,e);if(O.heado.to){n.some(l=>l.head==O.head)||n.push(O);break}else{if(O.head==a.head)break;a=O}}}return n.length==r.ranges.length?!1:(i.dispatch(it(t,Q.create(n,n.length-1))),!0)}var Zg=i=>cf(i,!1),Rg=i=>cf(i,!0),Vg=({state:i,dispatch:e})=>{let t=i.selection,r=null;return t.ranges.length>1?r=Q.create([t.main]):t.main.empty||(r=Q.create([Q.cursor(t.main.head)])),r?(e(it(i,r)),!0):!1};function br(i,e){if(i.state.readOnly)return!1;let t="delete.selection",{state:r}=i,n=r.changeByRange(s=>{let{from:o,to:a}=s;if(o==a){let O=e(s);Oo&&(t="delete.forward",O=Ln(i,O,!0)),o=Math.min(o,O),a=Math.max(a,O)}else o=Ln(i,o,!1),a=Ln(i,a,!0);return o==a?{range:s}:{changes:{from:o,to:a},range:Q.cursor(o,on(i)))r.between(e,e,(n,s)=>{ne&&(e=t?s:n)});return e}var hf=(i,e,t)=>br(i,r=>{let n=r.from,{state:s}=i,o=s.doc.lineAt(n),a,O;if(t&&!e&&n>o.from&&nhf(i,!1,!0);var ff=i=>hf(i,!0,!1),uf=(i,e)=>br(i,t=>{let r=t.head,{state:n}=i,s=n.doc.lineAt(r),o=n.charCategorizer(r);for(let a=null;;){if(r==(e?s.to:s.from)){r==t.head&&s.number!=(e?n.doc.lines:1)&&(r+=e?1:-1);break}let O=ae(s.text,r-s.from,e)+s.from,l=s.text.slice(Math.min(r,O)-s.from,Math.max(r,O)-s.from),c=o(l);if(a!=null&&c!=a)break;(l!=" "||r!=t.head)&&(a=c),r=O}return r}),df=i=>uf(i,!1),_g=i=>uf(i,!0);var zg=i=>br(i,e=>{let t=i.lineBlockAt(e.head).to;return e.headbr(i,e=>{let t=i.moveToLineBoundary(e,!1).head;return e.head>t?t:Math.max(0,e.head-1)}),Cg=i=>br(i,e=>{let t=i.moveToLineBoundary(e,!0).head;return e.head{if(i.readOnly)return!1;let t=i.changeByRange(r=>({changes:{from:r.from,to:r.to,insert:W.of(["",""])},range:Q.cursor(r.from)}));return e(i.update(t,{scrollIntoView:!0,userEvent:"input"})),!0},qg=({state:i,dispatch:e})=>{if(i.readOnly)return!1;let t=i.changeByRange(r=>{if(!r.empty||r.from==0||r.from==i.doc.length)return{range:r};let n=r.from,s=i.doc.lineAt(n),o=n==s.from?n-1:ae(s.text,n-s.from,!1)+s.from,a=n==s.to?n+1:ae(s.text,n-s.from,!0)+s.from;return{changes:{from:o,to:a,insert:i.doc.slice(n,a).append(i.doc.slice(o,n))},range:Q.cursor(a)}});return t.changes.empty?!1:(e(i.update(t,{scrollIntoView:!0,userEvent:"move.character"})),!0)};function Nn(i){let e=[],t=-1;for(let r of i.selection.ranges){let n=i.doc.lineAt(r.from),s=i.doc.lineAt(r.to);if(!r.empty&&r.to==s.from&&(s=i.doc.lineAt(r.to-1)),t>=n.number){let o=e[e.length-1];o.to=s.to,o.ranges.push(r)}else e.push({from:n.from,to:s.to,ranges:[r]});t=s.number+1}return e}function $f(i,e,t){if(i.readOnly)return!1;let r=[],n=[];for(let s of Nn(i)){if(t?s.to==i.doc.length:s.from==0)continue;let o=i.doc.lineAt(t?s.to+1:s.from-1),a=o.length+1;if(t){r.push({from:s.to,to:o.to},{from:s.from,insert:o.text+i.lineBreak});for(let O of s.ranges)n.push(Q.range(Math.min(i.doc.length,O.anchor+a),Math.min(i.doc.length,O.head+a)))}else{r.push({from:o.from,to:s.from},{from:s.to,insert:i.lineBreak+o.text});for(let O of s.ranges)n.push(Q.range(O.anchor-a,O.head-a))}}return r.length?(e(i.update({changes:r,scrollIntoView:!0,selection:Q.create(n,i.selection.mainIndex),userEvent:"move.line"})),!0):!1}var Ag=({state:i,dispatch:e})=>$f(i,e,!1),jg=({state:i,dispatch:e})=>$f(i,e,!0);function pf(i,e,t){if(i.readOnly)return!1;let r=[];for(let s of Nn(i))t?r.push({from:s.from,insert:i.doc.slice(s.from,s.to)+i.lineBreak}):r.push({from:s.to,insert:i.lineBreak+i.doc.slice(s.from,s.to)});let n=i.changes(r);return e(i.update({changes:n,selection:i.selection.map(n,t?1:-1),scrollIntoView:!0,userEvent:"input.copyline"})),!0}var Ug=({state:i,dispatch:e})=>pf(i,e,!1),Mg=({state:i,dispatch:e})=>pf(i,e,!0),Eg=i=>{if(i.state.readOnly)return!1;let{state:e}=i,t=e.changes(Nn(e).map(({from:n,to:s})=>(n>0?n--:s{let s;if(i.lineWrapping){let o=i.lineBlockAt(n.head),a=i.coordsAtPos(n.head,n.assoc||1);a&&(s=o.bottom+i.documentTop-a.bottom+i.defaultLineHeight/2)}return i.moveVertically(n,!0,s)}).map(t);return i.dispatch({changes:t,selection:r,scrollIntoView:!0,userEvent:"delete.line"}),!0};function Lg(i,e){if(/\(\)|\[\]|\{\}/.test(i.sliceDoc(e-1,e+1)))return{from:e,to:e};let t=L(i).resolveInner(e),r=t.childBefore(e),n=t.childAfter(e),s;return r&&n&&r.to<=e&&n.from>=e&&(s=r.type.prop(V.closedBy))&&s.indexOf(n.name)>-1&&i.doc.lineAt(r.to).from==i.doc.lineAt(n.from).from&&!/\S/.test(i.sliceDoc(r.to,n.from))?{from:r.to,to:n.from}:null}var Wh=mf(!1),Gg=mf(!0);function mf(i){return({state:e,dispatch:t})=>{if(e.readOnly)return!1;let r=e.changeByRange(n=>{let{from:s,to:o}=n,a=e.doc.lineAt(s),O=!i&&s==o&&Lg(e,s);i&&(s=o=(o<=a.to?a:e.doc.lineAt(o)).to);let l=new ci(e,{simulateBreak:s,simulateDoubleBreak:!!O}),c=pa(l,s);for(c==null&&(c=we(/^\s*/.exec(e.doc.lineAt(s).text)[0],e.tabSize));oa.from&&s{let n=[];for(let o=r.from;o<=r.to;){let a=i.doc.lineAt(o);a.number>t&&(r.empty||r.to>a.from)&&(e(a,n,r),t=a.number),o=a.to+1}let s=i.changes(n);return{changes:n,range:Q.range(s.mapPos(r.anchor,1),s.mapPos(r.head,1))}})}var Ig=({state:i,dispatch:e})=>{if(i.readOnly)return!1;let t=Object.create(null),r=new ci(i,{overrideIndentation:s=>{let o=t[s];return o??-1}}),n=ka(i,(s,o,a)=>{let O=pa(r,s.from);if(O==null)return;/\S/.test(s.text)||(O=0);let l=/^\s*/.exec(s.text)[0],c=Pr(i,O);(l!=c||a.fromi.readOnly?!1:(e(i.update(ka(i,(t,r)=>{r.push({from:t.from,insert:i.facet(jt)})}),{userEvent:"input.indent"})),!0),Qf=({state:i,dispatch:e})=>i.readOnly?!1:(e(i.update(ka(i,(t,r)=>{let n=/^\s*/.exec(t.text)[0];if(!n)return;let s=we(n,i.tabSize),o=0,a=Pr(i,Math.max(0,s-At(i)));for(;o(i.setTabFocusMode(),!0);var Dg=[{key:"Ctrl-b",run:Bh,shift:rf,preventDefault:!0},{key:"Ctrl-f",run:Dh,shift:nf},{key:"Ctrl-p",run:Hh,shift:af},{key:"Ctrl-n",run:Kh,shift:Of},{key:"Ctrl-a",run:ug,shift:wg},{key:"Ctrl-e",run:dg,shift:xg},{key:"Ctrl-d",run:ff},{key:"Ctrl-h",run:ba},{key:"Ctrl-k",run:zg},{key:"Ctrl-Alt-h",run:df},{key:"Ctrl-o",run:Wg},{key:"Ctrl-t",run:qg},{key:"Ctrl-v",run:ya}],Ng=[{key:"ArrowLeft",run:Bh,shift:rf,preventDefault:!0},{key:"Mod-ArrowLeft",mac:"Alt-ArrowLeft",run:ng,shift:mg,preventDefault:!0},{mac:"Cmd-ArrowLeft",run:hg,shift:yg,preventDefault:!0},{key:"ArrowRight",run:Dh,shift:nf,preventDefault:!0},{key:"Mod-ArrowRight",mac:"Alt-ArrowRight",run:sg,shift:gg,preventDefault:!0},{mac:"Cmd-ArrowRight",run:fg,shift:bg,preventDefault:!0},{key:"ArrowUp",run:Hh,shift:af,preventDefault:!0},{mac:"Cmd-ArrowUp",run:_h,shift:Yh},{mac:"Ctrl-ArrowUp",run:Zh,shift:Rh},{key:"ArrowDown",run:Kh,shift:Of,preventDefault:!0},{mac:"Cmd-ArrowDown",run:zh,shift:Ch},{mac:"Ctrl-ArrowDown",run:ya,shift:Vh},{key:"PageUp",run:Zh,shift:Rh},{key:"PageDown",run:ya,shift:Vh},{key:"Home",run:cg,shift:Tg,preventDefault:!0},{key:"Mod-Home",run:_h,shift:Yh},{key:"End",run:lg,shift:Pg,preventDefault:!0},{key:"Mod-End",run:zh,shift:Ch},{key:"Enter",run:Wh,shift:Wh},{key:"Mod-a",run:kg},{key:"Backspace",run:ba,shift:ba,preventDefault:!0},{key:"Delete",run:ff,preventDefault:!0},{key:"Mod-Backspace",mac:"Alt-Backspace",run:df,preventDefault:!0},{key:"Mod-Delete",mac:"Alt-Delete",run:_g,preventDefault:!0},{mac:"Mod-Backspace",run:Yg,preventDefault:!0},{mac:"Mod-Delete",run:Cg,preventDefault:!0}].concat(Dg.map(i=>({mac:i.key,run:i.run,shift:i.shift}))),Xa=[{key:"Alt-ArrowLeft",mac:"Ctrl-ArrowLeft",run:ag,shift:Qg},{key:"Alt-ArrowRight",mac:"Ctrl-ArrowRight",run:Og,shift:Sg},{key:"Alt-ArrowUp",run:Ag},{key:"Shift-Alt-ArrowUp",run:Ug},{key:"Alt-ArrowDown",run:jg},{key:"Shift-Alt-ArrowDown",run:Mg},{key:"Mod-Alt-ArrowUp",run:Zg},{key:"Mod-Alt-ArrowDown",run:Rg},{key:"Escape",run:Vg},{key:"Mod-Enter",run:Gg},{key:"Alt-l",mac:"Ctrl-l",run:Xg},{key:"Mod-i",run:vg,preventDefault:!0},{key:"Mod-[",run:Qf},{key:"Mod-]",run:gf},{key:"Mod-Alt-\\",run:Ig},{key:"Shift-Mod-k",run:Eg},{key:"Shift-Mod-\\",run:pg},{key:"Mod-/",run:Um},{key:"Alt-A",run:Em},{key:"Ctrl-m",mac:"Shift-Alt-m",run:Bg}].concat(Ng),Sf={key:"Tab",run:gf,shift:Qf};var Fg="#e5c07b",Pf="#e06c75",Hg="#56b6c2",Kg="#ffffff",Fn="#abb2bf",Za="#7d8799",Jg="#61afef",eQ="#98c379",Tf="#d19a66",tQ="#c678dd",iQ="#21252b",yf="#2c313a",bf="#282c34",va="#353a42",rQ="#3E4451",wf="#528bff";var xf=k.theme({"&":{color:Fn,backgroundColor:bf},".cm-content":{caretColor:wf},".cm-cursor, .cm-dropCursor":{borderLeftColor:wf},"&.cm-focused > .cm-scroller > .cm-selectionLayer .cm-selectionBackground, .cm-selectionBackground, .cm-content ::selection":{backgroundColor:rQ},".cm-panels":{backgroundColor:iQ,color:Fn},".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:bf,color:Za,border:"none"},".cm-activeLineGutter":{backgroundColor:yf},".cm-foldPlaceholder":{backgroundColor:"transparent",border:"none",color:"#ddd"},".cm-tooltip":{border:"none",backgroundColor:va},".cm-tooltip .cm-tooltip-arrow:before":{borderTopColor:"transparent",borderBottomColor:"transparent"},".cm-tooltip .cm-tooltip-arrow:after":{borderTopColor:va,borderBottomColor:va},".cm-tooltip-autocomplete":{"& > ul > li[aria-selected]":{backgroundColor:yf,color:Fn}}},{dark:!0}),kf=xt.define([{tag:u.keyword,color:tQ},{tag:[u.name,u.deleted,u.character,u.propertyName,u.macroName],color:Pf},{tag:[u.function(u.variableName),u.labelName],color:Jg},{tag:[u.color,u.constant(u.name),u.standard(u.name)],color:Tf},{tag:[u.definition(u.name),u.separator],color:Fn},{tag:[u.typeName,u.className,u.number,u.changed,u.annotation,u.modifier,u.self,u.namespace],color:Fg},{tag:[u.operator,u.operatorKeyword,u.url,u.escape,u.regexp,u.link,u.special(u.string)],color:Hg},{tag:[u.meta,u.comment],color:Za},{tag:u.strong,fontWeight:"bold"},{tag:u.emphasis,fontStyle:"italic"},{tag:u.strikethrough,textDecoration:"line-through"},{tag:u.link,color:Za,textDecoration:"underline"},{tag:u.heading,fontWeight:"bold",color:Pf},{tag:[u.atom,u.bool,u.special(u.variableName)],color:Tf},{tag:[u.processingInstruction,u.string,u.inserted],color:eQ},{tag:u.invalid,color:Kg}]);var nQ=xt.define([{tag:u.meta,color:"#388938"},{tag:u.link,textDecoration:"underline"},{tag:u.heading,textDecoration:"underline",fontWeight:"bold"},{tag:u.emphasis,fontStyle:"italic"},{tag:u.strong,fontWeight:"bold"},{tag:u.strikethrough,textDecoration:"line-through"},{tag:u.keyword,color:"#708"},{tag:[u.atom,u.bool,u.url,u.contentSeparator,u.labelName],color:"#219"},{tag:[u.literal,u.inserted],color:"#164"},{tag:[u.string,u.deleted],color:"#a11"},{tag:[u.regexp,u.escape,u.special(u.string)],color:"#e40"},{tag:u.definition(u.variableName),color:"#00f"},{tag:u.local(u.variableName),color:"#30a"},{tag:[u.typeName,u.namespace],color:"#085"},{tag:u.className,color:"#167"},{tag:[u.special(u.variableName),u.macroName],color:"#256"},{tag:u.definition(u.propertyName),color:"#00c"},{tag:u.compareOperator,color:"#708"},{tag:u.comment,color:"#940"},{tag:u.invalid,color:"#f00"}]),sQ={"&":{backgroundColor:"#FFF",color:"#000"},"&.cm-focused":{outline:"none"},".cm-line":{lineHeight:"1.6"}};function Xf(i){let e=document.documentElement.classList.contains("dark-mode"),t=e?xf:k.theme(sQ),r=e?kf:nQ,n={darkModeActive:e,registerViewTheme(s){let o=s();o&&(t=k.theme(o))},registerHighlightStyle(s){let o=s(u)||[];o.length&&(r=xt.define(o))}};return window.$events.emitPublic(i,"library-cm6::configure-theme",n),[t,ma(r)]}function vf(i){return[Xf(i),Dc(),Ec(),Ic(),wh(),Bc()]}function oQ(){let i=new pt,e={focus(t,r){r.dispatch({effects:i.reconfigure([Eo(),Mo()])})},blur(t,r){r.dispatch({effects:i.reconfigure([])})}};return[i.of([]),k.domEventHandlers(e)]}function Ra(i){return[...vf(i),oQ(),ct.of([...Xa]),D.readOnly.of(!0)]}function Hn(i){return[...vf(i),Eo(),Mo(),Uh(),ct.of([...Xa,...Gh,Sf]),k.lineWrapping]}var za=class i{constructor(e,t,r,n,s,o,a,O,l,c=0,h){this.p=e,this.stack=t,this.state=r,this.reducePos=n,this.pos=s,this.score=o,this.buffer=a,this.bufferBase=O,this.curContext=l,this.lookAhead=c,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,r=0){let n=e.parser.context;return new i(e,[],t,r,r,0,[],0,n?new Kn(n,n.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 r=e>>19,n=e&65535,{parser:s}=this.p,o=this.reducePos=2e3&&!(!((t=this.p.parser.nodeSet.types[n])===null||t===void 0)&&t.isAnonymous)&&(l==this.p.lastBigReductionStart?(this.p.bigReductionCount++,this.p.lastBigReductionSize=c):this.p.lastBigReductionSizeO;)this.stack.pop();this.reduceContext(n,l)}storeNode(e,t,r,n=4,s=!1){if(e==0&&(!this.stack.length||this.stack[this.stack.length-1]0&&o.buffer[a-4]==0&&o.buffer[a-1]>-1){if(t==r)return;if(o.buffer[a-2]>=t){o.buffer[a-2]=r;return}}}if(!s||this.pos==r)this.buffer.push(e,t,r,n);else{let o=this.buffer.length;if(o>0&&(this.buffer[o-4]!=0||this.buffer[o-1]<0)){let a=!1;for(let O=o;O>0&&this.buffer[O-2]>r;O-=4)if(this.buffer[O-1]>=0){a=!0;break}if(a)for(;o>0&&this.buffer[o-2]>r;)this.buffer[o]=this.buffer[o-4],this.buffer[o+1]=this.buffer[o-3],this.buffer[o+2]=this.buffer[o-2],this.buffer[o+3]=this.buffer[o-1],o-=4,n>4&&(n-=4)}this.buffer[o]=e,this.buffer[o+1]=t,this.buffer[o+2]=r,this.buffer[o+3]=n}}shift(e,t,r,n){if(e&131072)this.pushState(e&65535,this.pos);else if((e&262144)==0){let s=e,{parser:o}=this.p;this.pos=n;let a=o.stateFlag(s,1);!a&&(n>r||t<=o.maxNode)&&(this.reducePos=n),this.pushState(s,a?r:Math.min(r,this.reducePos)),this.shiftContext(t,r),t<=o.maxNode&&this.buffer.push(t,r,n,4)}else this.pos=n,this.shiftContext(t,r),t<=this.p.parser.maxNode&&this.buffer.push(t,r,n,4)}apply(e,t,r,n){e&65536?this.reduce(e):this.shift(e,t,r,n)}useNode(e,t){let r=this.p.reused.length-1;(r<0||this.p.reused[r]!=e)&&(this.p.reused.push(e),r++);let n=this.pos;this.reducePos=this.pos=n+e.length,this.pushState(t,n),this.buffer.push(r,n,this.reducePos,-1),this.curContext&&this.updateContext(this.curContext.tracker.reuse(this.curContext.context,e,this,this.p.stream.reset(this.pos-e.length)))}split(){let e=this,t=e.buffer.length;for(;t>0&&e.buffer[t-2]>e.reducePos;)t-=4;let r=e.buffer.slice(t),n=e.bufferBase+t;for(;e&&n==e.bufferBase;)e=e.parent;return new i(this.p,this.stack.slice(),this.state,this.reducePos,this.pos,this.score,r,n,this.curContext,this.lookAhead,e)}recoverByDelete(e,t){let r=e<=this.p.parser.maxNode;r&&this.storeNode(e,this.pos,t,4),this.storeNode(0,this.pos,t,r?8:4),this.pos=this.reducePos=t,this.score-=190}canShift(e){for(let t=new Ya(this);;){let r=this.p.parser.stateSlot(t.state,4)||this.p.parser.hasAction(t.state,e);if(r==0)return!1;if((r&65536)==0)return!0;t.reduce(r)}}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 n=[];for(let s=0,o;sO&1&&a==o)||n.push(t[s],o)}t=n}let r=[];for(let n=0;n>19,n=t&65535,s=this.stack.length-r*3;if(s<0||e.getGoto(this.stack[s],n,!1)<0){let o=this.findForcedReduction();if(o==null)return!1;t=o}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=[],r=(n,s)=>{if(!t.includes(n))return t.push(n),e.allActions(n,o=>{if(!(o&393216))if(o&65536){let a=(o>>19)-s;if(a>1){let O=o&65535,l=this.stack.length-a*3;if(l>=0&&e.getGoto(this.stack[l],O,!1)>=0)return a<<19|65536|O}}else{let a=r(o,s+1);if(a!=null)return a}})};return r(this.state,0)}forceAll(){for(;!this.p.parser.stateFlag(this.state,2);)if(!this.forceReduce()){this.storeNode(0,this.pos,this.pos,4,!0);break}return this}get deadEnd(){if(this.stack.length!=3)return!1;let{parser:e}=this.p;return e.data[e.stateSlot(this.state,1)]==65535&&!e.stateSlot(this.state,4)}restart(){this.storeNode(0,this.pos,this.pos,4,!0),this.state=this.stack[0],this.stack.length=0}sameState(e){if(this.state!=e.state||this.stack.length!=e.stack.length)return!1;for(let t=0;t0&&this.emitLookAhead()}},Kn=class{constructor(e,t){this.tracker=e,this.context=t,this.hash=e.strict?e.hash(t):0}},Ya=class{constructor(e){this.start=e,this.state=e.state,this.stack=e.stack,this.base=this.stack.length}reduce(e){let t=e&65535,r=e>>19;r==0?(this.stack==this.start.stack&&(this.stack=this.stack.slice()),this.stack.push(this.state,0,0),this.base+=3):this.base-=(r-1)*3;let n=this.start.p.parser.getGoto(this.stack[this.base-3],t,!0);this.state=n}},Ca=class i{constructor(e,t,r){this.stack=e,this.pos=t,this.index=r,this.buffer=e.buffer,this.index==0&&this.maybeNext()}static create(e,t=e.bufferBase+e.buffer.length){return new i(e,t,t-e.bufferBase)}maybeNext(){let e=this.stack.parent;e!=null&&(this.index=this.stack.bufferBase-e.bufferBase,this.stack=e,this.buffer=e.buffer)}get id(){return this.buffer[this.index-4]}get start(){return this.buffer[this.index-3]}get end(){return this.buffer[this.index-2]}get size(){return this.buffer[this.index-1]}next(){this.index-=4,this.pos-=4,this.index==0&&this.maybeNext()}fork(){return new i(this.stack,this.pos,this.index)}};function wr(i,e=Uint16Array){if(typeof i!="string")return i;let t=null;for(let r=0,n=0;r=92&&o--,o>=34&&o--;let O=o-32;if(O>=46&&(O-=46,a=!0),s+=O,a)break;s*=46}t?t[n++]=s:t=new e(s)}return t}var Ui=class{constructor(){this.start=-1,this.value=-1,this.end=-1,this.extended=-1,this.lookAhead=0,this.mask=0,this.context=0}},Zf=new Ui,Wa=class{constructor(e,t){this.input=e,this.ranges=t,this.chunk="",this.chunkOff=0,this.chunk2="",this.chunk2Pos=0,this.next=-1,this.token=Zf,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 r=this.range,n=this.rangeIndex,s=this.pos+e;for(;sr.to:s>=r.to;){if(n==this.ranges.length-1)return null;let o=this.ranges[++n];s+=o.from-r.to,r=o}return s}clipPos(e){if(e>=this.range.from&&ee)return Math.max(e,t.from);return this.end}peek(e){let t=this.chunkOff+e,r,n;if(t>=0&&t=this.chunk2Pos&&ra.to&&(this.chunk2=this.chunk2.slice(0,a.to-r)),n=this.chunk2.charCodeAt(0)}}return r>=this.token.lookAhead&&(this.token.lookAhead=r+1),n}acceptToken(e,t=0){let r=t?this.resolveOffset(t,-1):this.pos;if(r==null||r=this.chunk2Pos&&this.posthis.range.to?e.slice(0,this.range.to-this.pos):e,this.chunkPos=this.pos,this.chunkOff=0}}readNext(){return this.chunkOff>=this.chunk.length&&(this.getChunk(),this.chunkOff==this.chunk.length)?this.next=-1:this.next=this.chunk.charCodeAt(this.chunkOff)}advance(e=1){for(this.chunkOff+=e;this.pos+e>=this.range.to;){if(this.rangeIndex==this.ranges.length-1)return this.setDone();e-=this.range.to-this.pos,this.range=this.ranges[++this.rangeIndex],this.pos=this.range.from}return this.pos+=e,this.pos>=this.token.lookAhead&&(this.token.lookAhead=this.pos+1),this.readNext()}setDone(){return this.pos=this.chunkPos=this.end,this.range=this.ranges[this.rangeIndex=this.ranges.length-1],this.chunk="",this.next=-1}reset(e,t){if(t?(this.token=t,t.start=e,t.lookAhead=e+1,t.value=t.extended=-1):this.token=Zf,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 r="";for(let n of this.ranges){if(n.from>=t)break;n.to>e&&(r+=this.input.read(Math.max(n.from,e),Math.min(n.to,t)))}return r}},Et=class{constructor(e,t){this.data=e,this.id=t}token(e,t){let{parser:r}=t.p;Yf(this.data,e,t,this.id,r.data,r.tokenPrecTable)}};Et.prototype.contextual=Et.prototype.fallback=Et.prototype.extend=!1;var Lt=class{constructor(e,t,r){this.precTable=t,this.elseToken=r,this.data=typeof e=="string"?wr(e):e}token(e,t){let r=e.pos,n=0;for(;;){let s=e.next<0,o=e.resolveOffset(1,1);if(Yf(this.data,e,t,0,this.data,this.precTable),e.token.value>-1)break;if(this.elseToken==null)return;if(s||n++,o==null)break;e.reset(o,e.token)}n&&(e.reset(r,e.token),e.acceptToken(this.elseToken,n))}};Lt.prototype.contextual=Et.prototype.fallback=Et.prototype.extend=!1;var ee=class{constructor(e,t={}){this.token=e,this.contextual=!!t.contextual,this.fallback=!!t.fallback,this.extend=!!t.extend}};function Yf(i,e,t,r,n,s){let o=0,a=1<0){let $=i[d];if(O.allows($)&&(e.token.value==-1||e.token.value==$||OQ($,e.token.value,n,s))){e.acceptToken($);break}}let c=e.next,h=0,f=i[o+2];if(e.next<0&&f>h&&i[l+f*3-3]==65535){o=i[l+f*3-1];continue e}for(;h>1,$=l+d+(d<<1),p=i[$],m=i[$+1]||65536;if(c=m)h=d+1;else{o=i[$+2],e.advance();continue e}}break}}function Rf(i,e,t){for(let r=e,n;(n=i[r])!=65535;r++)if(n==t)return r-e;return-1}function OQ(i,e,t,r){let n=Rf(t,r,e);return n<0||Rf(t,r,i)e)&&!r.type.isError)return t<0?Math.max(0,Math.min(r.to-1,e-25)):Math.min(i.length,Math.max(r.from+1,e+25));if(t<0?r.prevSibling():r.nextSibling())break;if(!r.parent())return t<0?0:i.length}}var qa=class{constructor(e,t){this.fragments=e,this.nodeSet=t,this.i=0,this.fragment=null,this.safeFrom=-1,this.safeTo=-1,this.trees=[],this.start=[],this.index=[],this.nextFragment()}nextFragment(){let e=this.fragment=this.i==this.fragments.length?null:this.fragments[this.i++];if(e){for(this.safeFrom=e.openStart?Vf(e.tree,e.from+e.offset,1)-e.offset:e.from,this.safeTo=e.openEnd?Vf(e.tree,e.to+e.offset,-1)-e.offset:e.to;this.trees.length;)this.trees.pop(),this.start.pop(),this.index.pop();this.trees.push(e.tree),this.start.push(-e.offset),this.index.push(0),this.nextStart=this.safeFrom}else this.nextStart=1e9}nodeAt(e){if(ee)return this.nextStart=o,null;if(s instanceof Y){if(o==e){if(o=Math.max(this.safeFrom,e)&&(this.trees.push(s),this.start.push(o),this.index.push(0))}else this.index[t]++,this.nextStart=o+s.length}}},Aa=class{constructor(e,t){this.stream=t,this.tokens=[],this.mainToken=null,this.actions=[],this.tokens=e.tokenizers.map(r=>new Ui)}getActions(e){let t=0,r=null,{parser:n}=e.p,{tokenizers:s}=n,o=n.stateSlot(e.state,3),a=e.curContext?e.curContext.hash:0,O=0;for(let l=0;lh.end+25&&(O=Math.max(h.lookAhead,O)),h.value!=0)){let f=t;if(h.extended>-1&&(t=this.addActions(e,h.extended,h.end,t)),t=this.addActions(e,h.value,h.end,t),!c.extend&&(r=h,t>f))break}}for(;this.actions.length>t;)this.actions.pop();return O&&e.setLookAhead(O),!r&&e.pos==this.stream.end&&(r=new Ui,r.value=e.p.parser.eofTerm,r.start=r.end=e.pos,t=this.addActions(e,r.value,r.end,t)),this.mainToken=r,this.actions}getMainToken(e){if(this.mainToken)return this.mainToken;let t=new Ui,{pos:r,p:n}=e;return t.start=r,t.end=Math.min(r+1,n.stream.end),t.value=r==n.stream.end?n.parser.eofTerm:0,t}updateCachedToken(e,t,r){let n=this.stream.clipPos(r.pos);if(t.token(this.stream.reset(n,e),r),e.value>-1){let{parser:s}=r.p;for(let o=0;o=0&&r.p.parser.dialect.allows(a>>1)){(a&1)==0?e.value=a>>1:e.extended=a>>1;break}}}else e.value=0,e.end=this.stream.clipPos(n+1)}putAction(e,t,r,n){for(let s=0;se.bufferLength*4?new qa(r,e.nodeSet):null}get parsedPos(){return this.minStackPos}advance(){let e=this.stacks,t=this.minStackPos,r=this.stacks=[],n,s;if(this.bigReductionCount>300&&e.length==1){let[o]=e;for(;o.forceReduce()&&o.stack.length&&o.stack[o.stack.length-2]>=this.lastBigReductionStart;);this.bigReductionCount=this.lastBigReductionSize=0}for(let o=0;ot)r.push(a);else{if(this.advanceStack(a,r,e))continue;{n||(n=[],s=[]),n.push(a);let O=this.tokens.getMainToken(a);s.push(O.value,O.end)}}break}}if(!r.length){let o=n&&lQ(n);if(o)return Ce&&console.log("Finish with "+this.stackID(o)),this.stackToTree(o);if(this.parser.strict)throw Ce&&n&&console.log("Stuck with token "+(this.tokens.mainToken?this.parser.getName(this.tokens.mainToken.value):"none")),new SyntaxError("No parse at "+t);this.recovering||(this.recovering=5)}if(this.recovering&&n){let o=this.stoppedAt!=null&&n[0].pos>this.stoppedAt?n[0]:this.runRecovery(n,s,r);if(o)return Ce&&console.log("Force-finish "+this.stackID(o)),this.stackToTree(o.forceAll())}if(this.recovering){let o=this.recovering==1?1:this.recovering*3;if(r.length>o)for(r.sort((a,O)=>O.score-a.score);r.length>o;)r.pop();r.some(a=>a.reducePos>t)&&this.recovering--}else if(r.length>1){e:for(let o=0;o500&&l.buffer.length>500)if((a.score-l.score||a.buffer.length-l.buffer.length)>0)r.splice(O--,1);else{r.splice(o--,1);continue e}}}r.length>12&&(r.sort((o,a)=>a.score-o.score),r.splice(12,r.length-12))}this.minStackPos=r[0].pos;for(let o=1;o ":"";if(this.stoppedAt!=null&&n>this.stoppedAt)return e.forceReduce()?e:null;if(this.fragments){let l=e.curContext&&e.curContext.tracker.strict,c=l?e.curContext.hash:0;for(let h=this.fragments.nodeAt(n);h;){let f=this.parser.nodeSet.types[h.type.id]==h.type?s.getGoto(e.state,h.type.id):-1;if(f>-1&&h.length&&(!l||(h.prop(V.contextHash)||0)==c))return e.useNode(h,f),Ce&&console.log(o+this.stackID(e)+` (via reuse of ${s.getName(h.type.id)})`),!0;if(!(h instanceof Y)||h.children.length==0||h.positions[0]>0)break;let d=h.children[0];if(d instanceof Y&&h.positions[0]==0)h=d;else break}}let a=s.stateSlot(e.state,4);if(a>0)return e.reduce(a),Ce&&console.log(o+this.stackID(e)+` (via always-reduce ${s.getName(a&65535)})`),!0;if(e.stack.length>=8400)for(;e.stack.length>6e3&&e.forceReduce(););let O=this.tokens.getActions(e);for(let l=0;ln?t.push($):r.push($)}return!1}advanceFully(e,t){let r=e.pos;for(;;){if(!this.advanceStack(e,null,null))return!1;if(e.pos>r)return _f(e,t),!0}}runRecovery(e,t,r){let n=null,s=!1;for(let o=0;o ":"";if(a.deadEnd&&(s||(s=!0,a.restart(),Ce&&console.log(c+this.stackID(a)+" (restarted)"),this.advanceFully(a,r))))continue;let h=a.split(),f=c;for(let d=0;d<10&&h.forceReduce()&&(Ce&&console.log(f+this.stackID(h)+" (via force-reduce)"),!this.advanceFully(h,r));d++)Ce&&(f=this.stackID(h)+" -> ");for(let d of a.recoverByInsert(O))Ce&&console.log(c+this.stackID(d)+" (via recover-insert)"),this.advanceFully(d,r);this.stream.end>a.pos?(l==a.pos&&(l++,O=0),a.recoverByDelete(O,l),Ce&&console.log(c+this.stackID(a)+` (via recover-delete ${this.parser.getName(O)})`),_f(a,r)):(!n||n.scorei,Gt=class{constructor(e){this.start=e.start,this.shift=e.shift||_a,this.reduce=e.reduce||_a,this.reuse=e.reuse||_a,this.hash=e.hash||(()=>0),this.strict=e.strict!==!1}},pe=class i extends bt{constructor(e){if(super(),this.wrappers=[],e.version!=14)throw new RangeError(`Parser version (${e.version}) doesn't match runtime version (14)`);let t=e.nodeNames.split(" ");this.minRepeatTerm=t.length;for(let a=0;ae.topRules[a][1]),n=[];for(let a=0;a=0)s(c,O,a[l++]);else{let h=a[l+-c];for(let f=-c;f>0;f--)s(a[l++],O,h);l++}}}this.nodeSet=new Tt(t.map((a,O)=>ie.define({name:O>=this.minRepeatTerm?void 0:a,id:O,props:n[O],top:r.indexOf(O)>-1,error:O==0,skipped:e.skippedNodes&&e.skippedNodes.indexOf(O)>-1}))),e.propSources&&(this.nodeSet=this.nodeSet.extend(...e.propSources)),this.strict=!1,this.bufferLength=1024;let o=wr(e.tokenData);this.context=e.context,this.specializerSpecs=e.specialized||[],this.specialized=new Uint16Array(this.specializerSpecs.length);for(let a=0;atypeof a=="number"?new Et(o,a):a),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,r){let n=new ja(this,e,t,r);for(let s of this.wrappers)n=s(n,e,t,r);return n}getGoto(e,t,r=!1){let n=this.goto;if(t>=n[0])return-1;for(let s=n[t+1];;){let o=n[s++],a=o&1,O=n[s++];if(a&&r)return O;for(let l=s+(o>>1);s0}validAction(e,t){return!!this.allActions(e,r=>r==t?!0:null)}allActions(e,t){let r=this.stateSlot(e,4),n=r?t(r):void 0;for(let s=this.stateSlot(e,1);n==null;s+=3){if(this.data[s]==65535)if(this.data[s+1]==1)s=kt(this.data,s+2);else break;n=t(kt(this.data,s+1))}return n}nextStates(e){let t=[];for(let r=this.stateSlot(e,1);;r+=3){if(this.data[r]==65535)if(this.data[r+1]==1)r=kt(this.data,r+2);else break;if((this.data[r+2]&1)==0){let n=this.data[r+1];t.some((s,o)=>o&1&&s==n)||t.push(this.data[r],n)}}return t}configure(e){let t=Object.assign(Object.create(i.prototype),this);if(e.props&&(t.nodeSet=this.nodeSet.extend(...e.props)),e.top){let r=this.topRules[e.top];if(!r)throw new RangeError(`Invalid top rule name ${e.top}`);t.top=r}return e.tokenizers&&(t.tokenizers=this.tokenizers.map(r=>{let n=e.tokenizers.find(s=>s.from==r);return n?n.to:r})),e.specializers&&(t.specializers=this.specializers.slice(),t.specializerSpecs=this.specializerSpecs.map((r,n)=>{let s=e.specializers.find(a=>a.from==r.external);if(!s)return r;let o=Object.assign(Object.assign({},r),{external:s.to});return t.specializers[n]=zf(o),o})),e.contextTracker&&(t.context=e.contextTracker),e.dialect&&(t.dialect=this.parseDialect(e.dialect)),e.strict!=null&&(t.strict=e.strict),e.wrap&&(t.wrappers=t.wrappers.concat(e.wrap)),e.bufferLength!=null&&(t.bufferLength=e.bufferLength),t}hasWrappers(){return this.wrappers.length>0}getName(e){return this.termNames?this.termNames[e]:String(e<=this.maxNode&&this.nodeSet.types[e].name||e)}get eofTerm(){return this.maxNode+1}get topNode(){return this.nodeSet.types[this.top[1]]}dynamicPrecedence(e){let t=this.dynamicPrecedences;return t==null?0:t[e]||0}parseDialect(e){let t=Object.keys(this.dialects),r=t.map(()=>!1);if(e)for(let s of e.split(" ")){let o=t.indexOf(s);o>=0&&(r[o]=!0)}let n=null;for(let s=0;sr)&&t.p.parser.stateFlag(t.state,2)&&(!e||e.scorei.external(t,r)<<1|e}return i.get}var cQ=135,Cf=1,hQ=136,fQ=137,qf=2,uQ=138,dQ=3,$Q=4,Af=[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],pQ=58,mQ=40,jf=95,gQ=91,Jn=45,QQ=46,SQ=35,PQ=37,TQ=38,yQ=92,bQ=10,wQ=42;function xr(i){return i>=65&&i<=90||i>=97&&i<=122||i>=161}function Ma(i){return i>=48&&i<=57}function Wf(i){return Ma(i)||i>=97&&i<=102||i>=65&&i<=70}var Uf=(i,e,t)=>(r,n)=>{for(let s=!1,o=0,a=0;;a++){let{next:O}=r;if(xr(O)||O==Jn||O==jf||s&&Ma(O))!s&&(O!=Jn||a>0)&&(s=!0),o===a&&O==Jn&&o++,r.advance();else if(O==yQ&&r.peek(1)!=bQ){if(r.advance(),Wf(r.next)){do r.advance();while(Wf(r.next));r.next==32&&r.advance()}else r.next>-1&&r.advance();s=!0}else{s&&r.acceptToken(o==2&&n.canShift(qf)?e:O==mQ?t:i);break}}},xQ=new ee(Uf(hQ,qf,fQ),{contextual:!0}),kQ=new ee(Uf(uQ,dQ,$Q),{contextual:!0}),XQ=new ee(i=>{if(Af.includes(i.peek(-1))){let{next:e}=i;(xr(e)||e==jf||e==SQ||e==QQ||e==wQ||e==gQ||e==pQ&&xr(i.peek(1))||e==Jn||e==TQ)&&i.acceptToken(cQ)}}),vQ=new ee(i=>{if(!Af.includes(i.peek(-1))){let{next:e}=i;if(e==PQ&&(i.advance(),i.acceptToken(Cf)),xr(e)){do i.advance();while(xr(i.next)||Ma(i.next));i.acceptToken(Cf)}}}),ZQ=se({"AtKeyword import charset namespace keyframes media supports font-feature-values":u.definitionKeyword,"from to selector scope MatchFlag":u.keyword,NamespaceName:u.namespace,KeyframeName:u.labelName,KeyframeRangeName:u.operatorKeyword,TagName:u.tagName,ClassName:u.className,PseudoClassName:u.constant(u.className),IdName:u.labelName,"FeatureName PropertyName":u.propertyName,AttributeName:u.attributeName,NumberLiteral:u.number,KeywordQuery:u.keyword,UnaryQueryOp:u.operatorKeyword,"CallTag ValueName FontName":u.atom,VariableName:u.variableName,Callee:u.operatorKeyword,Unit:u.unit,"UniversalSelector NestingSelector":u.definitionOperator,"MatchOp CompareOp":u.compareOperator,"ChildOp SiblingOp, LogicOp":u.logicOperator,BinOp:u.arithmeticOperator,Important:u.modifier,Comment:u.blockComment,ColorLiteral:u.color,"ParenthesizedContent StringLiteral":u.string,":":u.punctuation,"PseudoOp #":u.derefOperator,"; , |":u.separator,"( )":u.paren,"[ ]":u.squareBracket,"{ }":u.brace}),RQ={__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},VQ={__proto__:null,or:104,and:104,not:112,only:112,layer:186},_Q={__proto__:null,selector:118,layer:182},zQ={__proto__:null,"@import":178,"@media":190,"@charset":194,"@namespace":198,"@keyframes":204,"@supports":216,"@scope":220,"@font-feature-values":226},YQ={__proto__:null,to:223},Mf=pe.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:[XQ,vQ,xQ,kQ,1,2,3,4,new Lt("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:i=>RQ[i]||-1},{term:138,get:i=>VQ[i]||-1},{term:4,get:i=>_Q[i]||-1},{term:28,get:i=>zQ[i]||-1},{term:136,get:i=>YQ[i]||-1}],tokenPrec:2256});var Ea=null;function La(){if(!Ea&&typeof document=="object"&&document.body){let{style:i}=document.body,e=[],t=new Set;for(let r in i)r!="cssText"&&r!="cssFloat"&&typeof i[r]=="string"&&(/[A-Z]/.test(r)&&(r=r.replace(/[A-Z]/g,n=>"-"+n.toLowerCase())),t.has(r)||(e.push(r),t.add(r)));Ea=e.sort().map(r=>({type:"property",label:r,apply:r+": "}))}return Ea||[]}var Ef=["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(i=>({type:"class",label:i})),Lf=["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(i=>({type:"keyword",label:i})).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(i=>({type:"constant",label:i}))),CQ=["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(i=>({type:"type",label:i})),WQ=["@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(i=>({type:"keyword",label:i})),Xt=/^(\w[\w-]*|-\w[\w-]*|)$/,qQ=/^-(-[\w-]*)?$/;function AQ(i,e){var t;if((i.name=="("||i.type.isError)&&(i=i.parent||i),i.name!="ArgList")return!1;let r=(t=i.parent)===null||t===void 0?void 0:t.firstChild;return r?.name!="Callee"?!1:e.sliceString(r.from,r.to)=="var"}var Gf=new Ci,jQ=["Declaration"];function UQ(i){for(let e=i;;){if(e.type.isTop)return e;if(!(e=e.parent))return i}}function If(i,e,t){if(e.to-e.from>4096){let r=Gf.get(e);if(r)return r;let n=[],s=new Set,o=e.cursor(A.IncludeAnonymous);if(o.firstChild())do for(let a of If(i,o.node,t))s.has(a.label)||(s.add(a.label),n.push(a));while(o.nextSibling());return Gf.set(e,n),n}else{let r=[],n=new Set;return e.cursor().iterate(s=>{var o;if(t(s)&&s.matchContext(jQ)&&((o=s.node.nextSibling)===null||o===void 0?void 0:o.name)==":"){let a=i.sliceString(s.from,s.to);n.has(a)||(n.add(a),r.push({label:a,type:"variable"}))}}),r}}var MQ=i=>e=>{let{state:t,pos:r}=e,n=L(t).resolveInner(r,-1),s=n.type.isError&&n.from==n.to-1&&t.doc.sliceString(n.from,n.to)=="-";if(n.name=="PropertyName"||(s||n.name=="TagName")&&/^(Block|Styles)$/.test(n.resolve(n.to).name))return{from:n.from,options:La(),validFor:Xt};if(n.name=="ValueName")return{from:n.from,options:Lf,validFor:Xt};if(n.name=="PseudoClassName")return{from:n.from,options:Ef,validFor:Xt};if(i(n)||(e.explicit||s)&&AQ(n,t.doc))return{from:i(n)||s?n.from:r,options:If(t.doc,UQ(n),i),validFor:qQ};if(n.name=="TagName"){for(let{parent:O}=n;O;O=O.parent)if(O.name=="Block")return{from:n.from,options:La(),validFor:Xt};return{from:n.from,options:CQ,validFor:Xt}}if(n.name=="AtKeyword")return{from:n.from,options:WQ,validFor:Xt};if(!e.explicit)return null;let o=n.resolve(r),a=o.childBefore(r);return a&&a.name==":"&&o.name=="PseudoClassSelector"?{from:r,options:Ef,validFor:Xt}:a&&a.name==":"&&o.name=="Declaration"||o.name=="ArgList"?{from:r,options:Lf,validFor:Xt}:o.name=="Block"||o.name=="Styles"?{from:r,options:La(),validFor:Xt}:null},EQ=MQ(i=>i.name=="VariableName"),kr=ue.define({name:"css",parser:Mf.configure({props:[de.add({Declaration:Ye()}),Se.add({"Block KeyframeList":Ut})]}),languageData:{commentTokens:{block:{open:"/*",close:"*/"}},indentOnInput:/^\s*\}$/,wordChars:"-"}});function es(){return new oe(kr,kr.data.of({autocomplete:EQ}))}var LQ=se({String:u.string,Number:u.number,"True False":u.bool,PropertyName:u.propertyName,Null:u.null,", :":u.separator,"[ ]":u.squareBracket,"{ }":u.brace}),Bf=pe.deserialize({version:14,states:"$bOVQPOOOOQO'#Cb'#CbOnQPO'#CeOvQPO'#ClOOQO'#Cr'#CrQOQPOOOOQO'#Cg'#CgO}QPO'#CfO!SQPO'#CtOOQO,59P,59PO![QPO,59PO!aQPO'#CuOOQO,59W,59WO!iQPO,59WOVQPO,59QOqQPO'#CmO!nQPO,59`OOQO1G.k1G.kOVQPO'#CnO!vQPO,59aOOQO1G.r1G.rOOQO1G.l1G.lOOQO,59X,59XOOQO-E6k-E6kOOQO,59Y,59YOOQO-E6l-E6l",stateData:"#O~OeOS~OQSORSOSSOTSOWQO_ROgPO~OVXOgUO~O^[O~PVO[^O~O]_OVhX~OVaO~O]bO^iX~O^dO~O]_OVha~O]bO^ia~O",goto:"!kjPPPPPPkPPkqwPPPPk{!RPPP!XP!e!hXSOR^bQWQRf_TVQ_Q`WRg`QcZRicQTOQZRQe^RhbRYQR]R",nodeNames:"\u26A0 JsonText True False Null Number String } { Object Property PropertyName : , ] [ Array",maxTerm:25,nodeProps:[["isolate",-2,6,11,""],["openedBy",7,"{",14,"["],["closedBy",8,"}",15,"]"]],propSources:[LQ],skippedNodes:[0],repeatNodeCount:2,tokenData:"(|~RaXY!WYZ!W]^!Wpq!Wrs!]|}$u}!O$z!Q!R%T!R![&c![!]&t!}#O&y#P#Q'O#Y#Z'T#b#c'r#h#i(Z#o#p(r#q#r(w~!]Oe~~!`Wpq!]qr!]rs!xs#O!]#O#P!}#P;'S!];'S;=`$o<%lO!]~!}Og~~#QXrs!]!P!Q!]#O#P!]#U#V!]#Y#Z!]#b#c!]#f#g!]#h#i!]#i#j#m~#pR!Q![#y!c!i#y#T#Z#y~#|R!Q![$V!c!i$V#T#Z$V~$YR!Q![$c!c!i$c#T#Z$c~$fR!Q![!]!c!i!]#T#Z!]~$rP;=`<%l!]~$zO]~~$}Q!Q!R%T!R![&c~%YRT~!O!P%c!g!h%w#X#Y%w~%fP!Q![%i~%nRT~!Q![%i!g!h%w#X#Y%w~%zR{|&T}!O&T!Q![&Z~&WP!Q![&Z~&`PT~!Q![&Z~&hST~!O!P%c!Q![&c!g!h%w#X#Y%w~&yO[~~'OO_~~'TO^~~'WP#T#U'Z~'^P#`#a'a~'dP#g#h'g~'jP#X#Y'm~'rOR~~'uP#i#j'x~'{P#`#a(O~(RP#`#a(U~(ZOS~~(^P#f#g(a~(dP#i#j(g~(jP#X#Y(m~(rOQ~~(wOW~~(|OV~",tokenizers:[0],topRules:{JsonText:[0,1]},tokenPrec:0});var GQ=ue.define({name:"json",parser:Bf.configure({props:[de.add({Object:Ye({except:/^\s*\}/}),Array:Ye({except:/^\s*\]/})}),Se.add({"Object Array":Ut})]}),languageData:{closeBrackets:{brackets:["[","{",'"']},indentOnInput:/^\s*[\}\]]$/}});function Df(){return new oe(GQ)}var IQ=316,BQ=317,Nf=1,DQ=2,NQ=3,FQ=4,HQ=318,KQ=320,JQ=321,eS=5,tS=6,iS=0,Ia=[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],Ff=125,rS=59,Ba=47,nS=42,sS=43,oS=45,aS=60,OS=44,lS=63,cS=46,hS=91,fS=new Gt({start:!1,shift(i,e){return e==eS||e==tS||e==KQ?i:e==JQ},strict:!1}),uS=new ee((i,e)=>{let{next:t}=i;(t==Ff||t==-1||e.context)&&i.acceptToken(HQ)},{contextual:!0,fallback:!0}),dS=new ee((i,e)=>{let{next:t}=i,r;Ia.indexOf(t)>-1||t==Ba&&((r=i.peek(1))==Ba||r==nS)||t!=Ff&&t!=rS&&t!=-1&&!e.context&&i.acceptToken(IQ)},{contextual:!0}),$S=new ee((i,e)=>{i.next==hS&&!e.context&&i.acceptToken(BQ)},{contextual:!0}),pS=new ee((i,e)=>{let{next:t}=i;if(t==sS||t==oS){if(i.advance(),t==i.next){i.advance();let r=!e.context&&e.canShift(Nf);i.acceptToken(r?Nf:DQ)}}else t==lS&&i.peek(1)==cS&&(i.advance(),i.advance(),(i.next<48||i.next>57)&&i.acceptToken(NQ))},{contextual:!0});function Ga(i,e){return i>=65&&i<=90||i>=97&&i<=122||i==95||i>=192||!e&&i>=48&&i<=57}var mS=new ee((i,e)=>{if(i.next!=aS||!e.dialectEnabled(iS)||(i.advance(),i.next==Ba))return;let t=0;for(;Ia.indexOf(i.next)>-1;)i.advance(),t++;if(Ga(i.next,!0)){for(i.advance(),t++;Ga(i.next,!1);)i.advance(),t++;for(;Ia.indexOf(i.next)>-1;)i.advance(),t++;if(i.next==OS)return;for(let r=0;;r++){if(r==7){if(!Ga(i.next,!0))return;break}if(i.next!="extends".charCodeAt(r))break;i.advance(),t++}}i.acceptToken(FQ,-t)}),gS=se({"get set async static":u.modifier,"for while do if else switch try catch finally return throw break continue default case defer":u.controlKeyword,"in of await yield void typeof delete instanceof as satisfies":u.operatorKeyword,"let var const using function class extends":u.definitionKeyword,"import export from":u.moduleKeyword,"with debugger new":u.keyword,TemplateString:u.special(u.string),super:u.atom,BooleanLiteral:u.bool,this:u.self,null:u.null,Star:u.modifier,VariableName:u.variableName,"CallExpression/VariableName TaggedTemplateExpression/VariableName":u.function(u.variableName),VariableDefinition:u.definition(u.variableName),Label:u.labelName,PropertyName:u.propertyName,PrivatePropertyName:u.special(u.propertyName),"CallExpression/MemberExpression/PropertyName":u.function(u.propertyName),"FunctionDeclaration/VariableDefinition":u.function(u.definition(u.variableName)),"ClassDeclaration/VariableDefinition":u.definition(u.className),"NewExpression/VariableName":u.className,PropertyDefinition:u.definition(u.propertyName),PrivatePropertyDefinition:u.definition(u.special(u.propertyName)),UpdateOp:u.updateOperator,"LineComment Hashbang":u.lineComment,BlockComment:u.blockComment,Number:u.number,String:u.string,Escape:u.escape,ArithOp:u.arithmeticOperator,LogicOp:u.logicOperator,BitOp:u.bitwiseOperator,CompareOp:u.compareOperator,RegExp:u.regexp,Equals:u.definitionOperator,Arrow:u.function(u.punctuation),": Spread":u.punctuation,"( )":u.paren,"[ ]":u.squareBracket,"{ }":u.brace,"InterpolationStart InterpolationEnd":u.special(u.brace),".":u.derefOperator,", ;":u.separator,"@":u.meta,TypeName:u.typeName,TypeDefinition:u.definition(u.typeName),"type enum interface implements namespace module declare":u.definitionKeyword,"abstract global Privacy readonly override":u.modifier,"is keyof unique infer asserts":u.operatorKeyword,JSXAttributeValue:u.attributeValue,JSXText:u.content,"JSXStartTag JSXStartCloseTag JSXSelfCloseEndTag JSXEndTag":u.angleBracket,"JSXIdentifier JSXNameSpacedName":u.tagName,"JSXAttribute/JSXIdentifier JSXAttribute/JSXNameSpacedName":u.attributeName,"JSXBuiltin/JSXIdentifier":u.standard(u.tagName)}),QS={__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},SS={__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},PS={__proto__:null,"<":193},Hf=pe.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:fS,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:[gS],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:[dS,$S,pS,mS,2,3,4,5,6,7,8,9,10,11,12,13,14,uS,new Lt("$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 Lt("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:i=>QS[i]||-1},{term:343,get:i=>SS[i]||-1},{term:95,get:i=>PS[i]||-1}],tokenPrec:15201});var ts=class{constructor(e,t,r,n){this.state=e,this.pos=t,this.explicit=r,this.view=n,this.abortListeners=[],this.abortOnDocChange=!1}tokenBefore(e){let t=L(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),r=Math.max(t.from,this.pos-250),n=t.text.slice(r-t.from,this.pos-t.from),s=n.search(yS(e,!1));return s<0?null:{from:r+s,to:this.pos,text:n.slice(s)}}get aborted(){return this.abortListeners==null}addEventListener(e,t,r){e=="abort"&&this.abortListeners&&(this.abortListeners.push(t),r&&r.onDocChange&&(this.abortOnDocChange=!0))}};function Kf(i){let e=Object.keys(i).join(""),t=/\w/.test(e);return t&&(e=e.replace(/\w/g,"")),`[${t?"\\w":""}${e.replace(/[^\w\s]/g,"\\$&")}]`}function TS(i){let e=Object.create(null),t=Object.create(null);for(let{label:n}of i){e[n[0]]=!0;for(let s=1;stypeof n=="string"?{label:n}:n),[t,r]=e.every(n=>/^\w+$/.test(n.label))?[/\w*$/,/\w+$/]:TS(e);return n=>{let s=n.matchBefore(r);return s||n.explicit?{from:s?s.from:n.pos,options:e,validFor:t}:null}}function tu(i,e){return t=>{for(let r=L(t.state).resolveInner(t.pos,-1);r;r=r.parent){if(i.indexOf(r.name)>-1)return null;if(r.type.isTop)break}return e(t)}}function yS(i,e){var t;let{source:r}=i,n=e&&r[0]!="^",s=r[r.length-1]!="$";return!n&&!s?i:new RegExp(`${n?"^":""}(?:${r})${s?"$":""}`,(t=i.flags)!==null&&t!==void 0?t:i.ignoreCase?"i":"")}var bS=be.define();var Yy=typeof navigator=="object"&&/Win/.test(navigator.platform);var wS=k.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:'"\xB7\xB7\xB7"',opacity:.5,display:"block",textAlign:"center"},".cm-tooltip.cm-completionInfo":{position:"absolute",padding:"3px 9px",width:"max-content",maxWidth:"400px",boxSizing:"border-box",whiteSpace:"pre-line"},".cm-completionInfo.cm-completionInfo-left":{right:"100%"},".cm-completionInfo.cm-completionInfo-right":{left:"100%"},".cm-completionInfo.cm-completionInfo-left-narrow":{right:"30px"},".cm-completionInfo.cm-completionInfo-right-narrow":{left:"30px"},"&light .cm-snippetField":{backgroundColor:"#00000022"},"&dark .cm-snippetField":{backgroundColor:"#ffffff22"},".cm-snippetFieldPosition":{verticalAlign:"text-top",width:0,height:"1.15em",display:"inline-block",margin:"0 -0.7px -.7em",borderLeft:"1.4px dotted #888"},".cm-completionMatchedText":{textDecoration:"underline"},".cm-completionDetail":{marginLeft:"0.5em",fontStyle:"italic"},".cm-completionIcon":{fontSize:"90%",width:".8em",display:"inline-block",textAlign:"center",paddingRight:".6em",opacity:"0.6",boxSizing:"content-box"},".cm-completionIcon-function, .cm-completionIcon-method":{"&:after":{content:"'\u0192'"}},".cm-completionIcon-class":{"&:after":{content:"'\u25CB'"}},".cm-completionIcon-interface":{"&:after":{content:"'\u25CC'"}},".cm-completionIcon-variable":{"&:after":{content:"'\u{1D465}'"}},".cm-completionIcon-constant":{"&:after":{content:"'\u{1D436}'"}},".cm-completionIcon-type":{"&:after":{content:"'\u{1D461}'"}},".cm-completionIcon-enum":{"&:after":{content:"'\u222A'"}},".cm-completionIcon-property":{"&:after":{content:"'\u25A1'"}},".cm-completionIcon-keyword":{"&:after":{content:"'\u{1F511}\uFE0E'"}},".cm-completionIcon-namespace":{"&:after":{content:"'\u25A2'"}},".cm-completionIcon-text":{"&:after":{content:"'abc'",fontSize:"50%",verticalAlign:"middle"}}}),Da=class{constructor(e,t,r,n){this.field=e,this.line=t,this.from=r,this.to=n}},Na=class i{constructor(e,t,r){this.field=e,this.from=t,this.to=r}map(e){let t=e.mapPos(this.from,-1,le.TrackDel),r=e.mapPos(this.to,1,le.TrackDel);return t==null||r==null?null:new i(this.field,t,r)}},Fa=class i{constructor(e,t){this.lines=e,this.fieldPositions=t}instantiate(e,t){let r=[],n=[t],s=e.doc.lineAt(t),o=/^\s*/.exec(s.text)[0];for(let O of this.lines){if(r.length){let l=o,c=/^\t*/.exec(O)[0].length;for(let h=0;hnew Na(O.field,n[O.line]+O.from,n[O.line]+O.to));return{text:r,ranges:a}}static parse(e){let t=[],r=[],n=[],s;for(let o of e.split(/\r\n?|\n/)){for(;s=/[#$]\{(?:(\d+)(?::([^{}]*))?|((?:\\[{}]|[^{}])*))\}/.exec(o);){let a=s[1]?+s[1]:null,O=s[2]||s[3]||"",l=-1,c=O.replace(/\\[{}]/g,h=>h[1]);for(let h=0;h=l&&f.field++}for(let h of n)if(h.line==r.length&&h.from>s.index){let f=s[2]?3+(s[1]||"").length:2;h.from-=f,h.to-=f}n.push(new Da(l,r.length,s.index,s.index+c.length)),o=o.slice(0,s.index)+O+o.slice(s.index+s[0].length)}o=o.replace(/\\([{}])/g,(a,O,l)=>{for(let c of n)c.line==r.length&&c.from>l&&(c.from--,c.to--);return O}),r.push(o)}return new i(r,n)}},xS=M.widget({widget:new class extends St{toDOM(){let i=document.createElement("span");return i.className="cm-snippetFieldPosition",i}ignoreEvent(){return!1}}}),kS=M.mark({class:"cm-snippetField"}),Mi=class i{constructor(e,t){this.ranges=e,this.active=t,this.deco=M.set(e.map(r=>(r.from==r.to?xS:kS).range(r.from,r.to)),!0)}map(e){let t=[];for(let r of this.ranges){let n=r.map(e);if(!n)return null;t.push(n)}return new i(t,this.active)}selectionInsideField(e){return e.ranges.every(t=>this.ranges.some(r=>r.field==this.active&&r.from<=t.from&&r.to>=t.to))}},vr=B.define({map(i,e){return i&&i.map(e)}}),XS=B.define(),Xr=ye.define({create(){return null},update(i,e){for(let t of e.effects){if(t.is(vr))return t.value;if(t.is(XS)&&i)return new Mi(i.ranges,t.value)}return i&&e.docChanged&&(i=i.map(e.changes)),i&&e.selection&&!i.selectionInsideField(e.selection)&&(i=null),i},provide:i=>k.decorations.from(i,e=>e?e.deco:M.none)});function Ha(i,e){return Q.create(i.filter(t=>t.field==e).map(t=>Q.range(t.from,t.to)))}function vS(i){let e=Fa.parse(i);return(t,r,n,s)=>{let{text:o,ranges:a}=e.instantiate(t.state,n),{main:O}=t.state.selection,l={changes:{from:n,to:s==O.from?O.to:s,insert:W.of(o)},scrollIntoView:!0,annotations:r?[bS.of(r),re.userEvent.of("input.complete")]:void 0};if(a.length&&(l.selection=Ha(a,0)),a.some(c=>c.field>0)){let c=new Mi(a,0),h=l.effects=[vr.of(c)];t.state.field(Xr,!1)===void 0&&h.push(B.appendConfig.of([Xr,zS,YS,wS]))}t.dispatch(t.state.update(l))}}function iu(i){return({state:e,dispatch:t})=>{let r=e.field(Xr,!1);if(!r||i<0&&r.active==0)return!1;let n=r.active+i,s=i>0&&!r.ranges.some(o=>o.field==n+i);return t(e.update({selection:Ha(r.ranges,n),effects:vr.of(s?null:new Mi(r.ranges,n)),scrollIntoView:!0})),!0}}var ZS=({state:i,dispatch:e})=>i.field(Xr,!1)?(e(i.update({effects:vr.of(null)})),!0):!1,RS=iu(1),VS=iu(-1);var _S=[{key:"Tab",run:RS,shift:VS},{key:"Escape",run:ZS}],Jf=v.define({combine(i){return i.length?i[0]:_S}}),zS=at.highest(ct.compute([Jf],i=>i.facet(Jf)));function Pe(i,e){return{...e,apply:vS(i)}}var YS=k.domEventHandlers({mousedown(i,e){let t=e.state.field(Xr,!1),r;if(!t||(r=e.posAtCoords({x:i.clientX,y:i.clientY}))==null)return!1;let n=t.ranges.find(s=>s.from<=r&&s.to>=r);return!n||n.field==t.active?!1:(e.dispatch({selection:Ha(t.ranges,n.field),effects:vr.of(t.ranges.some(s=>s.field>n.field)?new Mi(t.ranges,n.field):null),scrollIntoView:!0}),!0)}});var ru=new class extends Ue{};ru.startSide=1;ru.endSide=-1;var Cy=typeof navigator=="object"&&/Android\b/.test(navigator.userAgent);var au=[Pe("function ${name}(${params}) {\n ${}\n}",{label:"function",detail:"definition",type:"keyword"}),Pe("for (let ${index} = 0; ${index} < ${bound}; ${index}++) {\n ${}\n}",{label:"for",detail:"loop",type:"keyword"}),Pe("for (let ${name} of ${collection}) {\n ${}\n}",{label:"for",detail:"of loop",type:"keyword"}),Pe("do {\n ${}\n} while (${})",{label:"do",detail:"loop",type:"keyword"}),Pe("while (${}) {\n ${}\n}",{label:"while",detail:"loop",type:"keyword"}),Pe(`try { + \${} +} catch (\${error}) { + \${} +}`,{label:"try",detail:"/ catch block",type:"keyword"}),Pe("if (${}) {\n ${}\n}",{label:"if",detail:"block",type:"keyword"}),Pe(`if (\${}) { + \${} +} else { + \${} +}`,{label:"if",detail:"/ else block",type:"keyword"}),Pe(`class \${name} { + constructor(\${params}) { + \${} + } +}`,{label:"class",detail:"definition",type:"keyword"}),Pe('import {${names}} from "${module}"\n${}',{label:"import",detail:"named",type:"keyword"}),Pe('import ${name} from "${module}"\n${}',{label:"import",detail:"default",type:"keyword"})],CS=au.concat([Pe("interface ${name} {\n ${}\n}",{label:"interface",detail:"definition",type:"keyword"}),Pe("type ${name} = ${type}",{label:"type",detail:"definition",type:"keyword"}),Pe("enum ${name} {\n ${}\n}",{label:"enum",detail:"definition",type:"keyword"})]),nu=new Ci,Ou=new Set(["Script","Block","FunctionExpression","FunctionDeclaration","ArrowFunction","MethodDeclaration","ForStatement"]);function Zr(i){return(e,t)=>{let r=e.node.getChild("VariableDefinition");return r&&t(r,i),!0}}var WS=["FunctionDeclaration"],qS={FunctionDeclaration:Zr("function"),ClassDeclaration:Zr("class"),ClassExpression:()=>!0,EnumDeclaration:Zr("constant"),TypeAliasDeclaration:Zr("type"),NamespaceDeclaration:Zr("namespace"),VariableDefinition(i,e){i.matchContext(WS)||e(i,"variable")},TypeDefinition(i,e){e(i,"type")},__proto__:null};function lu(i,e){let t=nu.get(e);if(t)return t;let r=[],n=!0;function s(o,a){let O=i.sliceString(o.from,o.to);r.push({label:O,type:a})}return e.cursor(A.IncludeAnonymous).iterate(o=>{if(n)n=!1;else if(o.name){let a=qS[o.name];if(a&&a(o,s)||Ou.has(o.name))return!1}else if(o.to-o.from>8192){for(let a of lu(i,o.node))r.push(a);return!1}}),nu.set(e,r),r}var su=/^[\w$\xa1-\uffff][\w$\d\xa1-\uffff]*$/,cu=["TemplateString","String","RegExp","LineComment","BlockComment","VariableDefinition","TypeDefinition","Label","PropertyDefinition","PropertyName","PrivatePropertyDefinition","PrivatePropertyName","JSXText","JSXAttributeValue","JSXOpenTag","JSXCloseTag","JSXSelfClosingTag",".","?."];function AS(i){let e=L(i.state).resolveInner(i.pos,-1);if(cu.indexOf(e.name)>-1)return null;let t=e.name=="VariableName"||e.to-e.from<20&&su.test(i.state.sliceDoc(e.from,e.to));if(!t&&!i.explicit)return null;let r=[];for(let n=e;n;n=n.parent)Ou.has(n.name)&&(r=r.concat(lu(i.state.doc,n)));return{options:r,from:t?e.from:i.pos,validFor:su}}var nt=ue.define({name:"javascript",parser:Hf.configure({props:[de.add({IfStatement:Ye({except:/^\s*({|else\b)/}),TryStatement:Ye({except:/^\s*({|catch\b|finally\b)/}),LabeledStatement:Qh,SwitchBody:i=>{let e=i.textAfter,t=/^\s*\}/.test(e),r=/^\s*(case|default)\b/.test(e);return i.baseIndent+(t?0:r?1:2)*i.unit},Block:En({closing:"}"}),ArrowFunction:i=>i.baseIndent+i.unit,"TemplateString BlockComment":()=>null,"Statement Property":Ye({except:/^\s*{/}),JSXElement(i){let e=/^\s*<\//.test(i.textAfter);return i.lineIndent(i.node.from)+(e?0:i.unit)},JSXEscape(i){let e=/\s*\}/.test(i.textAfter);return i.lineIndent(i.node.from)+(e?0:i.unit)},"JSXOpenTag JSXSelfClosingTag"(i){return i.column(i.node.from)+i.unit}}),Se.add({"Block ClassBody SwitchBody EnumBody ObjectExpression ArrayExpression ObjectType":Ut,BlockComment(i){return{from:i.from+2,to:i.to-2}},JSXElement(i){let e=i.firstChild;if(!e||e.name=="JSXSelfClosingTag")return null;let t=i.lastChild;return{from:e.to,to:t.type.isError?i.to:t.from}},"JSXSelfClosingTag JSXOpenTag"(i){var e;let t=(e=i.firstChild)===null||e===void 0?void 0:e.nextSibling,r=i.lastChild;return!t||t.type.isError?null:{from:t.to,to:r.type.isError?i.to:r.from}}})]}),languageData:{closeBrackets:{brackets:["(","[","{","'",'"',"`"]},commentTokens:{line:"//",block:{open:"/*",close:"*/"}},indentOnInput:/^\s*(?:case |default:|\{|\}|<\/)$/,wordChars:"$"}}),hu={test:i=>/^JSX/.test(i.name),facet:Ai({commentTokens:{block:{open:"{/*",close:"*/}"}}})},Ka=nt.configure({dialect:"ts"},"typescript"),Ja=nt.configure({dialect:"jsx",props:[Mn.add(i=>i.isTop?[hu]:void 0)]}),eO=nt.configure({dialect:"jsx ts",props:[Mn.add(i=>i.isTop?[hu]:void 0)]},"typescript"),fu=i=>({label:i,type:"keyword"}),uu="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(fu),jS=uu.concat(["declare","implements","private","protected","public"].map(fu));function fi(i={}){let e=i.jsx?i.typescript?eO:Ja:i.typescript?Ka:nt,t=i.typescript?CS.concat(jS):au.concat(uu);return new oe(e,[nt.data.of({autocomplete:tu(cu,eu(t))}),nt.data.of({autocomplete:AS}),i.jsx?ES:[]])}function US(i){for(;;){if(i.name=="JSXOpenTag"||i.name=="JSXSelfClosingTag"||i.name=="JSXFragmentTag")return i;if(i.name=="JSXEscape"||!i.parent)return null;i=i.parent}}function ou(i,e,t=i.length){for(let r=e?.firstChild;r;r=r.nextSibling)if(r.name=="JSXIdentifier"||r.name=="JSXBuiltin"||r.name=="JSXNamespacedName"||r.name=="JSXMemberExpression")return i.sliceString(r.from,Math.min(r.to,t));return""}var MS=typeof navigator=="object"&&/Android\b/.test(navigator.userAgent),ES=k.inputHandler.of((i,e,t,r,n)=>{if((MS?i.composing:i.compositionStarted)||i.state.readOnly||e!=t||r!=">"&&r!="/"||!nt.isActiveAt(i.state,e,-1))return!1;let s=n(),{state:o}=s,a=o.changeByRange(O=>{var l;let{head:c}=O,h=L(o).resolveInner(c-1,-1),f;if(h.name=="JSXStartTag"&&(h=h.parent),!(o.doc.sliceString(c-1,c)!=r||h.name=="JSXAttributeValue"&&h.to>c)){if(r==">"&&h.name=="JSXFragmentTag")return{range:O,changes:{from:c,insert:""}};if(r=="/"&&h.name=="JSXStartCloseTag"){let d=h.parent,$=d.parent;if($&&d.from==c-2&&((f=ou(o.doc,$.firstChild,c))||((l=$.firstChild)===null||l===void 0?void 0:l.name)=="JSXFragmentTag")){let p=`${f}>`;return{range:Q.cursor(c+p.length,-1),changes:{from:c,insert:p}}}}else if(r==">"){let d=US(h);if(d&&d.name=="JSXOpenTag"&&!/^\/?>|^<\//.test(o.doc.sliceString(c,c+2))&&(f=ou(o.doc,d,c)))return{range:O,changes:{from:c,insert:``}}}}return{range:O}});return a.changes.empty?!1:(i.dispatch([s,o.update(a,{userEvent:"input.complete",scrollIntoView:!0})]),!0)});var LS=55,GS=1,IS=56,BS=2,DS=57,NS=3,du=4,FS=5,sO=6,Tu=7,yu=8,bu=9,wu=10,HS=11,KS=12,JS=13,tO=58,eP=14,tP=15,$u=59,xu=21,iP=23,ku=24,rP=25,rO=27,Xu=28,nP=29,sP=32,oP=35,aP=37,OP=38,lP=0,cP=1,hP={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},fP={dd:!0,li:!0,optgroup:!0,option:!0,p:!0,rp:!0,rt:!0,tbody:!0,td:!0,tfoot:!0,th:!0,tr:!0},pu={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 uP(i){return i==45||i==46||i==58||i>=65&&i<=90||i==95||i>=97&&i<=122||i>=161}var mu=null,gu=null,Qu=0;function nO(i,e){let t=i.pos+e;if(Qu==t&&gu==i)return mu;let r=i.peek(e),n="";for(;uP(r);)n+=String.fromCharCode(r),r=i.peek(++e);return gu=i,Qu=t,mu=n?n.toLowerCase():r==dP||r==$P?void 0:null}var vu=60,is=62,oO=47,dP=63,$P=33,pP=45;function Su(i,e){this.name=i,this.parent=e}var mP=[sO,wu,Tu,yu,bu],gP=new Gt({start:null,shift(i,e,t,r){return mP.indexOf(e)>-1?new Su(nO(r,1)||"",i):i},reduce(i,e){return e==xu&&i?i.parent:i},reuse(i,e,t,r){let n=e.type.id;return n==sO||n==aP?new Su(nO(r,1)||"",i):i},strict:!1}),QP=new ee((i,e)=>{if(i.next!=vu){i.next<0&&e.context&&i.acceptToken(tO);return}i.advance();let t=i.next==oO;t&&i.advance();let r=nO(i,0);if(r===void 0)return;if(!r)return i.acceptToken(t?tP:eP);let n=e.context?e.context.name:null;if(t){if(r==n)return i.acceptToken(HS);if(n&&fP[n])return i.acceptToken(tO,-2);if(e.dialectEnabled(lP))return i.acceptToken(KS);for(let s=e.context;s;s=s.parent)if(s.name==r)return;i.acceptToken(JS)}else{if(r=="script")return i.acceptToken(Tu);if(r=="style")return i.acceptToken(yu);if(r=="textarea")return i.acceptToken(bu);if(hP.hasOwnProperty(r))return i.acceptToken(wu);n&&pu[n]&&pu[n][r]?i.acceptToken(tO,-1):i.acceptToken(sO)}},{contextual:!0}),SP=new ee(i=>{for(let e=0,t=0;;t++){if(i.next<0){t&&i.acceptToken($u);break}if(i.next==pP)e++;else if(i.next==is&&e>=2){t>=3&&i.acceptToken($u,-2);break}else e=0;i.advance()}});function PP(i){for(;i;i=i.parent)if(i.name=="svg"||i.name=="math")return!0;return!1}var TP=new ee((i,e)=>{if(i.next==oO&&i.peek(1)==is){let t=e.dialectEnabled(cP)||PP(e.context);i.acceptToken(t?FS:du,2)}else i.next==is&&i.acceptToken(du,1)});function aO(i,e,t){let r=2+i.length;return new ee(n=>{for(let s=0,o=0,a=0;;a++){if(n.next<0){a&&n.acceptToken(e);break}if(s==0&&n.next==vu||s==1&&n.next==oO||s>=2&&so?n.acceptToken(e,-o):n.acceptToken(t,-(o-2));break}else if((n.next==10||n.next==13)&&a){n.acceptToken(e,1);break}else s=o=0;n.advance()}})}var yP=aO("script",LS,GS),bP=aO("style",IS,BS),wP=aO("textarea",DS,NS),xP=se({"Text RawText IncompleteTag IncompleteCloseTag":u.content,"StartTag StartCloseTag SelfClosingEndTag EndTag":u.angleBracket,TagName:u.tagName,"MismatchedCloseTag/TagName":[u.tagName,u.invalid],AttributeName:u.attributeName,"AttributeValue UnquotedAttributeValue":u.attributeValue,Is:u.definitionOperator,"EntityReference CharacterReference":u.character,Comment:u.blockComment,ProcessingInst:u.processingInstruction,DoctypeDecl:u.documentMeta}),Zu=pe.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:"\u26A0 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:gP,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:[xP],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 l=a.type.id;if(l==nP)return iO(a,O,t);if(l==sP)return iO(a,O,r);if(l==oP)return iO(a,O,n);if(l==xu&&s.length){let c=a.node,h=c.firstChild,f=h&&Pu(h,O),d;if(f){for(let $ of s)if($.tag==f&&(!$.attrs||$.attrs(d||(d=Ru(h,O))))){let p=c.lastChild,m=p.type.id==OP?p.from:c.to;if(m>h.to)return{parser:$.parser,overlay:[{from:h.to,to:m}]}}}}if(o&&l==ku){let c=a.node,h;if(h=c.firstChild){let f=o[O.read(h.from,h.to)];if(f)for(let d of f){if(d.tagName&&d.tagName!=Pu(c.parent,O))continue;let $=c.lastChild;if($.type.id==rO){let p=$.from+1,m=$.lastChild,g=$.to-(m&&m.isError?0:1);if(g>p)return{parser:d.parser,overlay:[{from:p,to:g}],bracketed:!0}}else if($.type.id==Xu)return{parser:d.parser,overlay:[{from:$.from,to:$.to}]}}}}return null})}var Rr=["_blank","_self","_top","_parent"],lO=["ascii","utf-8","utf-16","latin1","latin1"],cO=["get","post","put","delete"],hO=["application/x-www-form-urlencoded","multipart/form-data","text/plain"],We=["true","false"],R={},kP={a:{attrs:{href:null,ping:null,type:null,media:null,target:Rr,hreflang:null}},abbr:R,address:R,area:{attrs:{alt:null,coords:null,href:null,target:null,ping:null,media:null,hreflang:null,type:null,shape:["default","rect","circle","poly"]}},article:R,aside:R,audio:{attrs:{src:null,mediagroup:null,crossorigin:["anonymous","use-credentials"],preload:["none","metadata","auto"],autoplay:["autoplay"],loop:["loop"],controls:["controls"]}},b:R,base:{attrs:{href:null,target:Rr}},bdi:R,bdo:R,blockquote:{attrs:{cite:null}},body:R,br:R,button:{attrs:{form:null,formaction:null,name:null,value:null,autofocus:["autofocus"],disabled:["autofocus"],formenctype:hO,formmethod:cO,formnovalidate:["novalidate"],formtarget:Rr,type:["submit","reset","button"]}},canvas:{attrs:{width:null,height:null}},caption:R,center:R,cite:R,code:R,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:R,del:{attrs:{cite:null,datetime:null}},details:{attrs:{open:["open"]}},dfn:R,div:R,dl:R,dt:R,em:R,embed:{attrs:{src:null,type:null,width:null,height:null}},eventsource:{attrs:{src:null}},fieldset:{attrs:{disabled:["disabled"],form:null,name:null}},figcaption:R,figure:R,footer:R,form:{attrs:{action:null,name:null,"accept-charset":lO,autocomplete:["on","off"],enctype:hO,method:cO,novalidate:["novalidate"],target:Rr}},h1:R,h2:R,h3:R,h4:R,h5:R,h6:R,head:{children:["title","base","link","style","meta","script","noscript","command"]},header:R,hgroup:R,hr:R,html:{attrs:{manifest:null}},i:R,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:hO,formmethod:cO,formnovalidate:["novalidate"],formtarget:Rr,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:R,keygen:{attrs:{challenge:null,form:null,name:null,autofocus:["autofocus"],disabled:["disabled"],keytype:["RSA"]}},label:{attrs:{for:null,form:null}},legend:R,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:R,menu:{attrs:{label:null,type:["list","context","toolbar"]}},meta:{attrs:{content:null,charset:lO,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:R,noscript:R,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:R,param:{attrs:{name:null,value:null}},pre:R,progress:{attrs:{value:null,max:null}},q:{attrs:{cite:null}},rp:R,rt:R,ruby:R,samp:R,script:{attrs:{type:["text/javascript"],src:null,async:["async"],defer:["defer"],charset:lO}},section:R,select:{attrs:{form:null,name:null,size:null,autofocus:["autofocus"],disabled:["disabled"],multiple:["multiple"]}},slot:{attrs:{name:null}},small:R,source:{attrs:{src:null,type:null,media:null}},span:R,strong:R,style:{attrs:{type:["text/css"],media:null,scoped:null}},sub:R,summary:R,sup:R,table:R,tbody:R,td:{attrs:{colspan:null,rowspan:null,headers:null}},template:R,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:R,th:{attrs:{colspan:null,rowspan:null,headers:null,scope:["row","col","rowgroup","colgroup"]}},thead:R,time:{attrs:{datetime:null}},title:R,tr:R,track:{attrs:{src:null,label:null,default:null,kind:["subtitles","captions","descriptions","chapters","metadata"],srclang:null}},ul:{children:["li","script","template","ul","ol"]},var:R,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:R},Yu={accesskey:null,class:null,contenteditable:We,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:We,autocorrect:We,autocapitalize:We,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":We,"aria-autocomplete":["inline","list","both","none"],"aria-busy":We,"aria-checked":["true","false","mixed","undefined"],"aria-controls":null,"aria-describedby":null,"aria-disabled":We,"aria-dropeffect":null,"aria-expanded":["true","false","undefined"],"aria-flowto":null,"aria-grabbed":["true","false","undefined"],"aria-haspopup":We,"aria-hidden":We,"aria-invalid":["true","false","grammar","spelling"],"aria-label":null,"aria-labelledby":null,"aria-level":null,"aria-live":["off","polite","assertive"],"aria-multiline":We,"aria-multiselectable":We,"aria-owns":null,"aria-posinset":null,"aria-pressed":["true","false","mixed","undefined"],"aria-readonly":We,"aria-relevant":null,"aria-required":We,"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},Cu="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(i=>"on"+i);for(let i of Cu)Yu[i]=null;var ui=class{constructor(e,t){this.tags={...kP,...e},this.globalAttrs={...Yu,...t},this.allTags=Object.keys(this.tags),this.globalAttrNames=Object.keys(this.globalAttrs)}};ui.default=new ui;function Ei(i,e,t=i.length){if(!e)return"";let r=e.firstChild,n=r&&r.getChild("TagName");return n?i.sliceString(n.from,Math.min(n.to,t)):""}function Li(i,e=!1){for(;i;i=i.parent)if(i.name=="Element")if(e)e=!1;else return i;return null}function Wu(i,e,t){let r=t.tags[Ei(i,Li(e))];return r?.children||t.allTags}function fO(i,e){let t=[];for(let r=Li(e);r&&!r.type.isTop;r=Li(r.parent)){let n=Ei(i,r);if(n&&r.lastChild.name=="CloseTag")break;n&&t.indexOf(n)<0&&(e.name=="EndTag"||e.from>=r.firstChild.to)&&t.push(n)}return t}var qu=/^[:\-\.\w\u00b7-\uffff]*$/;function Vu(i,e,t,r,n){let s=/\s*>/.test(i.sliceDoc(n,n+5))?"":">",o=Li(t,t.name=="StartTag"||t.name=="TagName");return{from:r,to:n,options:Wu(i.doc,o,e).map(a=>({label:a,type:"type"})).concat(fO(i.doc,t).map((a,O)=>({label:"/"+a,apply:"/"+a+s,type:"type",boost:99-O}))),validFor:/^\/?[:\-\.\w\u00b7-\uffff]*$/}}function _u(i,e,t,r){let n=/\s*>/.test(i.sliceDoc(r,r+5))?"":">";return{from:t,to:r,options:fO(i.doc,e).map((s,o)=>({label:s,apply:s+n,type:"type",boost:99-o})),validFor:qu}}function XP(i,e,t,r){let n=[],s=0;for(let o of Wu(i.doc,t,e))n.push({label:"<"+o,type:"type"});for(let o of fO(i.doc,t))n.push({label:"",type:"type",boost:99-s++});return{from:r,to:r,options:n,validFor:/^<\/?[:\-\.\w\u00b7-\uffff]*$/}}function vP(i,e,t,r,n){let s=Li(t),o=s?e.tags[Ei(i.doc,s)]:null,a=o&&o.attrs?Object.keys(o.attrs):[],O=o&&o.globalAttrs===!1?a:a.length?a.concat(e.globalAttrNames):e.globalAttrNames;return{from:r,to:n,options:O.map(l=>({label:l,type:"property"})),validFor:qu}}function ZP(i,e,t,r,n){var s;let o=(s=t.parent)===null||s===void 0?void 0:s.getChild("AttributeName"),a=[],O;if(o){let l=i.sliceDoc(o.from,o.to),c=e.globalAttrs[l];if(!c){let h=Li(t),f=h?e.tags[Ei(i.doc,h)]:null;c=f?.attrs&&f.attrs[l]}if(c){let h=i.sliceDoc(r,n).toLowerCase(),f='"',d='"';/^['"]/.test(h)?(O=h[0]=='"'?/^[^"]*$/:/^[^']*$/,f="",d=i.sliceDoc(n,n+1)==h[0]?"":h[0],h=h.slice(1),r++):O=/^[^\s<>='"]*$/;for(let $ of c)a.push({label:$,apply:f+$+d,type:"constant"})}}return{from:r,to:n,options:a,validFor:O}}function Au(i,e){let{state:t,pos:r}=e,n=L(t).resolveInner(r,-1),s=n.resolve(r);for(let o=r,a;s==n&&(a=n.childBefore(o));){let O=a.lastChild;if(!O||!O.type.isError||O.fromAu(r,n)}var VP=nt.parser.configure({top:"SingleExpression"}),Uu=[{tag:"script",attrs:i=>i.type=="text/typescript"||i.lang=="ts",parser:Ka.parser},{tag:"script",attrs:i=>i.type=="text/babel"||i.type=="text/jsx",parser:Ja.parser},{tag:"script",attrs:i=>i.type=="text/typescript-jsx",parser:eO.parser},{tag:"script",attrs(i){return/^(importmap|speculationrules|application\/(.+\+)?json)$/i.test(i.type)},parser:VP},{tag:"script",attrs(i){return!i.type||/^(?:text|application)\/(?:x-)?(?:java|ecma)script$|^module$|^$/i.test(i.type)},parser:nt.parser},{tag:"style",attrs(i){return(!i.lang||i.lang=="css")&&(!i.type||/^(text\/)?(x-)?(stylesheet|css)$/i.test(i.type))},parser:kr.parser}],Mu=[{name:"style",parser:kr.parser.configure({top:"Styles"})}].concat(Cu.map(i=>({name:i,parser:nt.parser}))),Eu=ue.define({name:"html",parser:Zu.configure({props:[de.add({Element(i){let e=/^(\s*)(<\/)?/.exec(i.textAfter);return i.node.to<=i.pos+e[0].length?i.continue():i.lineIndent(i.node.from)+(e[2]?0:i.unit)},"OpenTag CloseTag SelfClosingTag"(i){return i.column(i.node.from)+i.unit},Document(i){if(i.pos+/\s*/.exec(i.textAfter)[0].lengthi.getChild("TagName")})]}),languageData:{commentTokens:{block:{open:""}},indentOnInput:/^\s*<\/\w+\W$/,wordChars:"-_"}}),rs=Eu.configure({wrap:OO(Uu,Mu)});function Gi(i={}){let e="",t;i.matchClosingTags===!1&&(e="noMatch"),i.selfClosingTags===!0&&(e=(e?e+" ":"")+"selfClosing"),(i.nestedLanguages&&i.nestedLanguages.length||i.nestedAttributes&&i.nestedAttributes.length)&&(t=OO((i.nestedLanguages||[]).concat(Uu),(i.nestedAttributes||[]).concat(Mu)));let r=t?Eu.configure({wrap:t,dialect:e}):e?rs.configure({dialect:e}):rs;return new oe(r,[rs.data.of({autocomplete:RP(i)}),i.autoCloseTags!==!1?_P:[],fi().support,es().support])}var zu=new Set("area base br col command embed frame hr img input keygen link meta param source track wbr menuitem".split(" ")),_P=k.inputHandler.of((i,e,t,r,n)=>{if(i.composing||i.state.readOnly||e!=t||r!=">"&&r!="/"||!rs.isActiveAt(i.state,e,-1))return!1;let s=n(),{state:o}=s,a=o.changeByRange(O=>{var l,c,h;let f=o.doc.sliceString(O.from-1,O.to)==r,{head:d}=O,$=L(o).resolveInner(d,-1),p;if(f&&r==">"&&$.name=="EndTag"){let m=$.parent;if(((c=(l=m.parent)===null||l===void 0?void 0:l.lastChild)===null||c===void 0?void 0:c.name)!="CloseTag"&&(p=Ei(o.doc,m.parent,d))&&!zu.has(p)){let g=d+(o.doc.sliceString(d,d+1)===">"?1:0),S=``;return{range:O,changes:{from:d,to:g,insert:S}}}}else if(f&&r=="/"&&$.name=="IncompleteCloseTag"){let m=$.parent;if($.from==d-2&&((h=m.lastChild)===null||h===void 0?void 0:h.name)!="CloseTag"&&(p=Ei(o.doc,m,d))&&!zu.has(p)){let g=d+(o.doc.sliceString(d,d+1)===">"?1:0),S=`${p}>`;return{range:Q.cursor(d+S.length,-1),changes:{from:d,to:g,insert:S}}}}return{range:O}});return a.changes.empty?!1:(i.dispatch([s,o.update(a,{userEvent:"input.complete",scrollIntoView:!0})]),!0)});var os=class i{static create(e,t,r,n,s){let o=n+(n<<8)+e+(t<<4)|0;return new i(e,t,r,o,s,[],[])}constructor(e,t,r,n,s,o,a){this.type=e,this.value=t,this.from=r,this.hash=n,this.end=s,this.children=o,this.positions=a,this.hashProp=[[V.contextHash,n]]}addChild(e,t){e.prop(V.contextHash)!=this.hash&&(e=new Y(e.type,e.children,e.positions,e.length,this.hashProp)),this.children.push(e),this.positions.push(t)}toTree(e,t=this.end){let r=this.children.length-1;return r>=0&&(t=Math.max(t,this.positions[r]+this.children[r].length+this.from)),new Y(e.types[this.type],this.children,this.positions,t-this.from).balance({makeTree:(n,s,o)=>new Y(ie.none,n,s,o,this.hashProp)})}},P;(function(i){i[i.Document=1]="Document",i[i.CodeBlock=2]="CodeBlock",i[i.FencedCode=3]="FencedCode",i[i.Blockquote=4]="Blockquote",i[i.HorizontalRule=5]="HorizontalRule",i[i.BulletList=6]="BulletList",i[i.OrderedList=7]="OrderedList",i[i.ListItem=8]="ListItem",i[i.ATXHeading1=9]="ATXHeading1",i[i.ATXHeading2=10]="ATXHeading2",i[i.ATXHeading3=11]="ATXHeading3",i[i.ATXHeading4=12]="ATXHeading4",i[i.ATXHeading5=13]="ATXHeading5",i[i.ATXHeading6=14]="ATXHeading6",i[i.SetextHeading1=15]="SetextHeading1",i[i.SetextHeading2=16]="SetextHeading2",i[i.HTMLBlock=17]="HTMLBlock",i[i.LinkReference=18]="LinkReference",i[i.Paragraph=19]="Paragraph",i[i.CommentBlock=20]="CommentBlock",i[i.ProcessingInstructionBlock=21]="ProcessingInstructionBlock",i[i.Escape=22]="Escape",i[i.Entity=23]="Entity",i[i.HardBreak=24]="HardBreak",i[i.Emphasis=25]="Emphasis",i[i.StrongEmphasis=26]="StrongEmphasis",i[i.Link=27]="Link",i[i.Image=28]="Image",i[i.InlineCode=29]="InlineCode",i[i.HTMLTag=30]="HTMLTag",i[i.Comment=31]="Comment",i[i.ProcessingInstruction=32]="ProcessingInstruction",i[i.Autolink=33]="Autolink",i[i.HeaderMark=34]="HeaderMark",i[i.QuoteMark=35]="QuoteMark",i[i.ListMark=36]="ListMark",i[i.LinkMark=37]="LinkMark",i[i.EmphasisMark=38]="EmphasisMark",i[i.CodeMark=39]="CodeMark",i[i.CodeText=40]="CodeText",i[i.CodeInfo=41]="CodeInfo",i[i.LinkTitle=42]="LinkTitle",i[i.LinkLabel=43]="LinkLabel",i[i.URL=44]="URL"})(P||(P={}));var $O=class{constructor(e,t){this.start=e,this.content=t,this.marks=[],this.parsers=[]}},pO=class{constructor(){this.text="",this.baseIndent=0,this.basePos=0,this.depth=0,this.markers=[],this.pos=0,this.indent=0,this.next=-1}forward(){this.basePos>this.pos&&this.forwardInner()}forwardInner(){let e=this.skipSpace(this.basePos);this.indent=this.countIndent(e,this.pos,this.indent),this.pos=e,this.next=e==this.text.length?-1:this.text.charCodeAt(e)}skipSpace(e){return _r(this.text,e)}reset(e){for(this.text=e,this.baseIndent=this.basePos=this.pos=this.indent=0,this.forwardInner(),this.depth=1;this.markers.length;)this.markers.pop()}moveBase(e){this.basePos=e,this.baseIndent=this.countIndent(e,this.pos,this.indent)}moveBaseColumn(e){this.baseIndent=e,this.basePos=this.findColumn(e)}addMarker(e){this.markers.push(e)}countIndent(e,t=0,r=0){for(let n=t;n=e.stack[t.depth+1].value+t.baseIndent)return!0;if(t.indent>=t.baseIndent+4)return!1;let r=(i.type==P.OrderedList?XO:kO)(t,e,!1);return r>0&&(i.type!=P.BulletList||xO(t,e,!1)<0)&&t.text.charCodeAt(t.pos+r-1)==i.value}var td={[P.Blockquote](i,e,t){return t.next!=62?!1:(t.markers.push(j(P.QuoteMark,e.lineStart+t.pos,e.lineStart+t.pos+1)),t.moveBase(t.pos+(Ne(t.text.charCodeAt(t.pos+1))?2:1)),i.end=e.lineStart+t.text.length,!0)},[P.ListItem](i,e,t){return t.indent-1?!1:(t.moveBaseColumn(t.baseIndent+i.value),!0)},[P.OrderedList]:Lu,[P.BulletList]:Lu,[P.Document](){return!0}};function Ne(i){return i==32||i==9||i==10||i==13}function _r(i,e=0){for(;et&&Ne(i.charCodeAt(e-1));)e--;return e}function id(i){if(i.next!=96&&i.next!=126)return-1;let e=i.pos+1;for(;e-1&&i.depth==e.stack.length&&e.parser.leafBlockParsers.indexOf(cd.SetextHeading)>-1||r<3?-1:1}function nd(i,e){for(let t=i.stack.length-1;t>=0;t--)if(i.stack[t].type==e)return!0;return!1}function kO(i,e,t){return(i.next==45||i.next==43||i.next==42)&&(i.pos==i.text.length-1||Ne(i.text.charCodeAt(i.pos+1)))&&(!t||nd(e,P.BulletList)||i.skipSpace(i.pos+2)=48&&n<=57;){r++;if(r==i.text.length)return-1;n=i.text.charCodeAt(r)}return r==i.pos||r>i.pos+9||n!=46&&n!=41||ri.pos+1||i.next!=49)?-1:r+1-i.pos}function sd(i){if(i.next!=35)return-1;let e=i.pos+1;for(;e6?-1:t}function od(i){if(i.next!=45&&i.next!=61||i.indent>=i.baseIndent+4)return-1;let e=i.pos+1;for(;e/,Od=/\?>/,gO=[[/^<(?:script|pre|style)(?:\s|>|$)/i,/<\/(?:script|pre|style)>/i],[/^\s*/i.exec(r);if(s)return i.append(j(P.Comment,t,t+1+s[0].length));let o=/^\?[^]*?\?>/.exec(r);if(o)return i.append(j(P.ProcessingInstruction,t,t+1+o[0].length));let a=/^(?:![A-Z][^]*?>|!\[CDATA\[[^]*?\]\]>|\/\s*[a-zA-Z][\w-]*\s*>|\s*[a-zA-Z][\w-]*(\s+[a-zA-Z:_][\w-.:]*(?:\s*=\s*(?:[^\s"'=<>`]+|'[^']*'|"[^"]*"))?)*\s*(\/\s*)?>)/.exec(r);return a?i.append(j(P.HTMLTag,t,t+1+a[0].length)):-1},Emphasis(i,e,t){if(e!=95&&e!=42)return-1;let r=t+1;for(;i.char(r)==e;)r++;let n=i.slice(t-1,t),s=i.slice(r,r+1),o=Cr.test(n),a=Cr.test(s),O=/\s|^$/.test(n),l=/\s|^$/.test(s),c=!l&&(!a||O||o),h=!O&&(!o||l||a),f=c&&(e==42||!h||o),d=h&&(e==42||!c||a);return i.append(new Te(e==95?ud:dd,t,r,(f?1:0)|(d?2:0)))},HardBreak(i,e,t){if(e==92&&i.char(t+1)==10)return i.append(j(P.HardBreak,t,t+2));if(e==32){let r=t+1;for(;i.char(r)==32;)r++;if(i.char(r)==10&&r>=t+2)return i.append(j(P.HardBreak,t,r+1))}return-1},Link(i,e,t){return e==91?i.append(new Te(di,t,t+1,1)):-1},Image(i,e,t){return e==33&&i.char(t+1)==91?i.append(new Te(ls,t,t+2,1)):-1},LinkEnd(i,e,t){if(e!=93)return-1;for(let r=i.parts.length-1;r>=0;r--){let n=i.parts[r];if(n instanceof Te&&(n.type==di||n.type==ls)){if(!n.side||i.skipSpace(n.to)==t&&!/[(\[]/.test(i.slice(t+1,t+2)))return i.parts[r]=null,-1;let s=i.takeContent(r),o=i.parts[r]=CP(i,s,n.type==di?P.Link:P.Image,n.from,t+1);if(n.type==di)for(let a=0;ae?j(P.URL,e+t,s+t):s==i.length?null:!1}}function pd(i,e,t){let r=i.charCodeAt(e);if(r!=39&&r!=34&&r!=40)return!1;let n=r==40?41:r;for(let s=e+1,o=!1;s=this.end?-1:this.text.charCodeAt(e-this.offset)}get end(){return this.offset+this.text.length}slice(e,t){return this.text.slice(e-this.offset,t-this.offset)}append(e){return this.parts.push(e),e.to}addDelimiter(e,t,r,n,s){return this.append(new Te(e,t,r,(n?1:0)|(s?2:0)))}get hasOpenLink(){for(let e=this.parts.length-1;e>=0;e--){let t=this.parts[e];if(t instanceof Te&&(t.type==di||t.type==ls))return!0}return!1}addElement(e){return this.append(e)}resolveMarkers(e){for(let r=e;r=e;O--){let p=this.parts[O];if(p instanceof Te&&p.side&1&&p.type==n.type&&!(s&&(n.side&1||p.side&2)&&(p.to-p.from+o)%3==0&&((p.to-p.from)%3||o%3))){a=p;break}}if(!a)continue;let l=n.type.resolve,c=[],h=a.from,f=n.to;if(s){let p=Math.min(2,a.to-a.from,o);h=a.to-p,f=n.from+p,l=p==1?"Emphasis":"StrongEmphasis"}a.type.mark&&c.push(this.elt(a.type.mark,h,a.to));for(let p=O+1;p=0;t--){let r=this.parts[t];if(r instanceof Te&&r.type==e&&r.side&1)return t}return null}takeContent(e){let t=this.resolveMarkers(e);return this.parts.length=e,t}getDelimiterAt(e){let t=this.parts[e];return t instanceof Te?t:null}skipSpace(e){return _r(this.text,e-this.offset)+this.offset}elt(e,t,r,n){return typeof e=="string"?j(this.parser.getNodeType(e),t,r,n):new Os(e,t)}};Wr.linkStart=di;Wr.imageStart=ls;function yO(i,e){if(!e.length)return i;if(!i.length)return e;let t=i.slice(),r=0;for(let n of e){for(;r(e?e-1:0))return!1;if(this.fragmentEnd<0){let s=this.fragment.to;for(;s>0&&this.input.read(s-1,s)!=` +`;)s--;this.fragmentEnd=s?s-1:0}let r=this.cursor;r||(r=this.cursor=this.fragment.tree.cursor(),r.firstChild());let n=e+this.fragment.offset;for(;r.to<=n;)if(!r.parent())return!1;for(;;){if(r.from>=n)return this.fragment.from<=t;if(!r.childAfter(n))return!1}}matches(e){let t=this.cursor.tree;return t&&t.prop(V.contextHash)==e}takeNodes(e){let t=this.cursor,r=this.fragment.offset,n=this.fragmentEnd-(this.fragment.openEnd?1:0),s=e.absoluteLineStart,o=s,a=e.block.children.length,O=o,l=a;for(;;){if(t.to-r>n){if(t.type.isAnonymous&&t.firstChild())continue;break}let c=gd(t.from-r,e.ranges);if(t.to-r<=e.ranges[e.rangeI].to)e.addNode(t.tree,c);else{let h=new Y(e.parser.nodeSet.types[P.Paragraph],[],[],0,e.block.hashProp);e.reusePlaceholders.set(h,t.tree),e.addNode(h,c)}if(t.type.is("Block")&&(WP.indexOf(t.type.id)<0?(o=t.to-r,a=e.block.children.length):(o=O,a=l),O=t.to-r,l=e.block.children.length),!t.nextSibling())break}for(;e.block.children.length>a;)e.block.children.pop(),e.block.positions.pop();return o-s}};function gd(i,e){let t=i;for(let r=1;rns[i]),Object.keys(ns).map(i=>cd[i]),Object.keys(ns),zP,td,Object.keys(dO).map(i=>dO[i]),Object.keys(dO),[]);function AP(i,e,t){let r=[];for(let n=i.firstChild,s=e;;n=n.nextSibling){let o=n?n.from:t;if(o>s&&r.push({from:s,to:o}),!n)break;s=n.to}return r}function Sd(i){let{codeParser:e,htmlParser:t}=i;return{wrap:Wi((n,s)=>{let o=n.type.id;if(e&&(o==P.CodeBlock||o==P.FencedCode)){let a="";if(o==P.FencedCode){let l=n.node.getChild(P.CodeInfo);l&&(a=s.read(l.from,l.to))}let O=e(a);if(O)return{parser:O,overlay:l=>l.type.id==P.CodeText,bracketed:o==P.FencedCode}}else if(t&&(o==P.HTMLBlock||o==P.HTMLTag||o==P.CommentBlock))return{parser:t,overlay:AP(n.node,n.from,n.to)};return null})}}var jP={resolve:"Strikethrough",mark:"StrikethroughMark"},UP={defineNodes:[{name:"Strikethrough",style:{"Strikethrough/...":u.strikethrough}},{name:"StrikethroughMark",style:u.processingInstruction}],parseInline:[{name:"Strikethrough",parse(i,e,t){if(e!=126||i.char(t+1)!=126||i.char(t+2)==126)return-1;let r=i.slice(t-1,t),n=i.slice(t+2,t+3),s=/\s|^$/.test(r),o=/\s|^$/.test(n),a=Cr.test(r),O=Cr.test(n);return i.addDelimiter(jP,t,t+2,!o&&(!O||s||a),!s&&(!a||o||O))},after:"Emphasis"}]};function zr(i,e,t=0,r,n=0){let s=0,o=!0,a=-1,O=-1,l=!1,c=()=>{r.push(i.elt("TableCell",n+a,n+O,i.parser.parseInline(e.slice(a,O),n+a)))};for(let h=t;h-1)&&s++,o=!1,r&&(a>-1&&c(),r.push(i.elt("TableDelimiter",h+n,h+n+1))),a=O=-1):(l||f!=32&&f!=9)&&(a<0&&(a=h),O=h+1),l=!l&&f==92}return a>-1&&(s++,r&&c()),s}function Du(i,e){for(let t=e;tn instanceof cs)||!Du(e.text,e.basePos))return!1;let r=i.peekLine();return Pd.test(r)&&zr(i,e.text,e.basePos)==zr(i,r,e.basePos)},before:"SetextHeading"}]},wO=class{nextLine(){return!1}finish(e,t){return e.addLeafElement(t,e.elt("Task",t.start,t.start+t.content.length,[e.elt("TaskMarker",t.start,t.start+3),...e.parser.parseInline(t.content.slice(3),t.start+3)])),!0}},EP={defineNodes:[{name:"Task",block:!0,style:u.list},{name:"TaskMarker",style:u.atom}],parseBlock:[{name:"TaskList",leaf(i,e){return/^\[[ xX]\][ \t]/.test(e.content)&&i.parentType().name=="ListItem"?new wO:null},after:"SetextHeading"}]},Nu=/(www\.)|(https?:\/\/)|([\w.+-]{1,100}@)|(mailto:|xmpp:)/gy,Fu=/[\w-]+(\.[\w-]+)+(\/[^\s<]*)?/gy,LP=/[\w-]+\.[\w-]+($|\/)/,Hu=/[\w.+-]+@[\w-]+(\.[\w.-]+)+/gy,Ku=/\/[a-zA-Z\d@.]+/gy;function Ju(i,e,t,r){let n=0;for(let s=e;s-1)return-1;let r=e+t[0].length;for(;;){let n=i[r-1],s;if(/[?!.,:*_~]/.test(n)||n==")"&&Ju(i,e,r,")")>Ju(i,e,r,"("))r--;else if(n==";"&&(s=/&(?:#\d+|#x[a-f\d]+|\w+);$/.exec(i.slice(e,r))))r=e+s.index;else break}return r}function ed(i,e){Hu.lastIndex=e;let t=Hu.exec(i);if(!t)return-1;let r=t[0][t[0].length-1];return r=="_"||r=="-"?-1:e+t[0].length-(r=="."?1:0)}var IP={parseInline:[{name:"Autolink",parse(i,e,t){let r=t-i.offset;if(r&&/\w/.test(i.text[r-1]))return-1;Nu.lastIndex=r;let n=Nu.exec(i.text),s=-1;if(!n)return-1;if(n[1]||n[2]){if(s=GP(i.text,r+n[0].length),s>-1&&i.hasOpenLink){let o=/([^\[\]]|\[[^\]]*\])*/.exec(i.text.slice(r,s));s=r+o[0].length}}else n[3]?s=ed(i.text,r):(s=ed(i.text,r+n[0].length),s>-1&&n[0]=="xmpp:"&&(Ku.lastIndex=s,n=Ku.exec(i.text),n&&(s=n.index+n[0].length)));return s<0?-1:(i.addElement(i.elt("URL",t,s+i.offset)),s+i.offset)}}]},Td=[MP,EP,UP,IP];function yd(i,e,t){return(r,n,s)=>{if(n!=i||r.char(s+1)==i)return-1;let o=[r.elt(t,s,s+1)];for(let a=s+1;a"}}}),Zd=new V,Rd=Qd.configure({props:[Se.add(i=>!i.is("Block")||i.is("Document")||RO(i)!=null||BP(i)?void 0:(e,t)=>({from:t.doc.lineAt(e.from).to,to:e.to})),Zd.add(RO),de.add({Document:()=>null}),wt.add({Document:vd})]});function RO(i){let e=/^(?:ATX|Setext)Heading(\d)$/.exec(i.name);return e?+e[1]:void 0}function BP(i){return i.name=="OrderedList"||i.name=="BulletList"}function DP(i,e){let t=i;for(;;){let r=t.nextSibling,n;if(!r||(n=RO(r.type))!=null&&n<=e)break;t=r}return t.to}var NP=Sh.of((i,e,t)=>{for(let r=L(i).resolveInner(t,-1);r&&!(r.fromt)return{from:t,to:s}}return null});function VO(i){return new fe(vd,i,[],"markdown")}var FP=VO(Rd),HP=Rd.configure([Td,wd,bd,xd,{props:[Se.add({Table:(i,e)=>({from:e.doc.lineAt(i.from).to,to:i.to})})]}]),hs=VO(HP);function KP(i,e){return t=>{if(t&&i){let r=null;if(t=/\S*/.exec(t)[0],typeof i=="function"?r=i(t):r=Qr.matchLanguageName(i,t,!0),r instanceof Qr)return r.support?r.support.language.parser:li.getSkippingParser(r.load());if(r)return r.parser}return e?e.parser:null}}var qr=class{constructor(e,t,r,n,s,o,a){this.node=e,this.from=t,this.to=r,this.spaceBefore=n,this.spaceAfter=s,this.type=o,this.item=a}blank(e,t=!0){let r=this.spaceBefore+(this.node.name=="Blockquote"?">":"");if(e!=null){for(;r.length0;n--)r+=" ";return r+(t?this.spaceAfter:"")}}marker(e,t){let r=this.node.name=="OrderedList"?String(+_d(this.item,e)[2]+t):"";return this.spaceBefore+r+this.type+this.spaceAfter}};function Vd(i,e){let t=[],r=[];for(let n=i;n;n=n.parent){if(n.name=="FencedCode")return r;(n.name=="ListItem"||n.name=="Blockquote")&&t.push(n)}for(let n=t.length-1;n>=0;n--){let s=t[n],o,a=e.lineAt(s.from),O=s.from-a.from;if(s.name=="Blockquote"&&(o=/^ *>( ?)/.exec(a.text.slice(O))))r.push(new qr(s,O,O+o[0].length,"",o[1],">",null));else if(s.name=="ListItem"&&s.parent.name=="OrderedList"&&(o=/^( *)\d+([.)])( *)/.exec(a.text.slice(O)))){let l=o[3],c=o[0].length;l.length>=4&&(l=l.slice(0,l.length-4),c-=4),r.push(new qr(s.parent,O,O+c,o[1],l,o[2],s))}else if(s.name=="ListItem"&&s.parent.name=="BulletList"&&(o=/^( *)([-+*])( {1,4}\[[ xX]\])?( +)/.exec(a.text.slice(O)))){let l=o[4],c=o[0].length;l.length>4&&(l=l.slice(0,l.length-4),c-=4);let h=o[2];o[3]&&(h+=o[3].replace(/[xX]/," ")),r.push(new qr(s.parent,O,O+c,o[1],l,h,s))}}return r}function _d(i,e){return/^(\s*)(\d+)(?=[.)])/.exec(e.sliceString(i.from,i.from+10))}function vO(i,e,t,r=0){for(let n=-1,s=i;;){if(s.name=="ListItem"){let a=_d(s,e),O=+a[2];if(n>=0){if(O!=n+1)return;t.push({from:s.from+a[1].length,to:s.from+a[0].length,insert:String(n+2+r)})}n=O}let o=s.nextSibling;if(!o)break;s=o}}function _O(i,e){let t=/^[ \t]*/.exec(i)[0].length;if(!t||e.facet(jt)!=" ")return i;let r=we(i,4,t),n="";for(let s=r;s>0;)s>=4?(n+=" ",s-=4):(n+=" ",s--);return n+i.slice(t)}var JP=(i={})=>({state:e,dispatch:t})=>{let r=L(e),{doc:n}=e,s=null,o=e.changeByRange(a=>{if(!a.empty||!hs.isActiveAt(e,a.from,-1)&&!hs.isActiveAt(e,a.from,1))return s={range:a};let O=a.from,l=n.lineAt(O),c=Vd(r.resolveInner(O,-1),n);for(;c.length&&c[c.length-1].from>O-l.from;)c.pop();if(!c.length)return s={range:a};let h=c[c.length-1];if(h.to-h.spaceAfter.length>O-l.from)return s={range:a};let f=O>=h.to-h.spaceAfter.length&&!/\S/.test(l.text.slice(h.to));if(h.item&&f){let g=h.node.firstChild,S=h.node.getChild("ListItem","ListItem");if(g.to>=O||S&&S.to0&&!/[^\s>]/.test(n.lineAt(l.from-1).text)||i.nonTightLists===!1){let T=c.length>1?c[c.length-2]:null,_,b="";T&&T.item?(_=l.from+T.from,b=T.marker(n,1)):_=l.from+(T?T.to:0);let x=[{from:_,to:O,insert:b}];return h.node.name=="OrderedList"&&vO(h.item,n,x,-2),T&&T.node.name=="OrderedList"&&vO(T.item,n,x),{range:Q.cursor(_+b.length),changes:x}}else{let T=Xd(c,e,l);return{range:Q.cursor(O+T.length+1),changes:{from:l.from,insert:T+e.lineBreak}}}}if(h.node.name=="Blockquote"&&f&&l.from){let g=n.lineAt(l.from-1),S=/>\s*$/.exec(g.text);if(S&&S.index==h.from){let T=e.changes([{from:g.from+S.index,to:g.to},{from:l.from+h.from,to:l.to}]);return{range:a.map(T),changes:T}}}let d=[];h.node.name=="OrderedList"&&vO(h.item,n,d);let $=h.item&&h.item.from]*/.exec(l.text)[0].length>=h.to)for(let g=0,S=c.length-1;g<=S;g++)p+=g==S&&!$?c[g].marker(n,1):c[g].blank(gl.from&&/\s/.test(l.text.charAt(m-l.from-1));)m--;return p=_O(p,e),t0(h.node,e.doc)&&(p=Xd(c,e,l)+e.lineBreak+p),d.push({from:m,to:O,insert:e.lineBreak+p}),{range:Q.cursor(m+p.length+1),changes:d}});return s?!1:(t(e.update(o,{scrollIntoView:!0,userEvent:"input"})),!0)},e0=JP();function kd(i){return i.name=="QuoteMark"||i.name=="ListMark"}function t0(i,e){if(i.name!="OrderedList"&&i.name!="BulletList")return!1;let t=i.firstChild,r=i.getChild("ListItem","ListItem");if(!r)return!1;let n=e.lineAt(t.to),s=e.lineAt(r.from),o=/^[\s>]*$/.test(n.text);return n.number+(o?0:1){let t=L(i),r=null,n=i.changeByRange(s=>{let o=s.from,{doc:a}=i;if(s.empty&&hs.isActiveAt(i,s.from)){let O=a.lineAt(o),l=Vd(i0(t,o),a);if(l.length){let c=l[l.length-1],h=c.to-c.spaceAfter.length+(c.spaceAfter?1:0);if(o-O.from>h&&!/\S/.test(O.text.slice(h,o-O.from)))return{range:Q.cursor(O.from+h),changes:{from:O.from+h,to:o}};if(o-O.from==h&&(!c.item||O.from<=c.item.from||!/\S/.test(O.text.slice(0,c.to)))){let f=O.from+c.from;if(c.item&&c.node.from{var t;let{main:r}=e.state.selection;if(r.empty)return!1;let n=(t=i.clipboardData)===null||t===void 0?void 0:t.getData("text/plain");if(!n||!/^(https?:\/\/|mailto:|xmpp:|www\.)/.test(n)||(/^www\./.test(n)&&(n="https://"+n),!hs.isActiveAt(e.state,r.from,1)))return!1;let s=L(e.state),o=!1;return s.iterate({from:r.from,to:r.to,enter:a=>{(a.from>r.from||a0.test(a.name))&&(o=!0)},leave:a=>{a.to=97&&i<=122||i>=65&&i<=90}function Ar(i){return i==95||i>=128||Ad(i)}function YO(i){return i>=48&&i<=55||i>=97&&i<=102||i>=65&&i<=70}var y1={int:!0,integer:!0,bool:!0,boolean:!0,float:!0,double:!0,real:!0,string:!0,array:!0,object:!0,unset:!0,__proto__:null},b1=new ee(i=>{if(i.next==40){i.advance();let e=0;for(;qd(i.peek(e));)e++;let t="",r;for(;Ad(r=i.peek(e));)t+=String.fromCharCode(r),e++;for(;qd(i.peek(e));)e++;i.peek(e)==41&&y1[t.toLowerCase()]&&i.acceptToken(l0)}else if(i.next==60&&i.peek(1)==60&&i.peek(2)==60){for(let r=0;r<3;r++)i.advance();for(;i.next==32||i.next==9;)i.advance();let e=i.next==39;if(e&&i.advance(),!Ar(i.next))return;let t=String.fromCharCode(i.next);for(;i.advance(),!(!Ar(i.next)&&!(i.next>=48&&i.next<=55));)t+=String.fromCharCode(i.next);if(e){if(i.next!=39)return;i.advance()}if(i.next!=10&&i.next!=13)return;for(;;){let r=i.next==10||i.next==13;if(i.advance(),i.next<0)return;if(r){for(;i.next==32||i.next==9;)i.advance();let n=!0;for(let s=0;s{i.next<0&&i.acceptToken(d0)}),x1=new ee((i,e)=>{i.next==63&&e.canShift(Yd)&&i.peek(1)==62&&i.acceptToken(Yd)});function k1(i){let e=i.peek(1);if(e==110||e==114||e==116||e==118||e==101||e==102||e==92||e==36||e==34||e==123)return 2;if(e>=48&&e<=55){let t=2,r;for(;t<5&&(r=i.peek(t))>=48&&r<=55;)t++;return t}if(e==120&&YO(i.peek(2)))return YO(i.peek(3))?4:3;if(e==117&&i.peek(2)==123)for(let t=3;;t++){let r=i.peek(t);if(r==125)return t==2?0:t+1;if(!YO(r))break}return 0}var X1=new ee((i,e)=>{let t=!1;for(;!(i.next==34||i.next<0||i.next==36&&(Ar(i.peek(1))||i.peek(1)==123)||i.next==123&&i.peek(1)==36);t=!0){if(i.next==92){let r=k1(i);if(r){if(t)break;return i.acceptToken(f0,r)}}else if(!t&&(i.next==91||i.next==45&&i.peek(1)==62&&Ar(i.peek(2))||i.next==63&&i.peek(1)==45&&i.peek(2)==62&&Ar(i.peek(3)))&&e.canShift(u0))break;i.advance()}t&&i.acceptToken(h0)}),v1=se({"Visibility abstract final static":u.modifier,"for foreach while do if else elseif switch try catch finally return throw break continue default case":u.controlKeyword,"endif endfor endforeach endswitch endwhile declare enddeclare goto match":u.controlKeyword,"and or xor yield unset clone instanceof insteadof":u.operatorKeyword,"function fn class trait implements extends const enum global interface use var":u.definitionKeyword,"include include_once require require_once namespace":u.moduleKeyword,"new from echo print array list as":u.keyword,null:u.null,Boolean:u.bool,VariableName:u.variableName,"NamespaceName/...":u.namespace,"NamedType/...":u.typeName,Name:u.name,"CallExpression/Name":u.function(u.variableName),"LabelStatement/Name":u.labelName,"MemberExpression/Name":u.propertyName,"MemberExpression/VariableName":u.special(u.propertyName),"ScopedExpression/ClassMemberName/Name":u.propertyName,"ScopedExpression/ClassMemberName/VariableName":u.special(u.propertyName),"CallExpression/MemberExpression/Name":u.function(u.propertyName),"CallExpression/ScopedExpression/ClassMemberName/Name":u.function(u.propertyName),"MethodDeclaration/Name":u.function(u.definition(u.variableName)),"FunctionDefinition/Name":u.function(u.definition(u.variableName)),"ClassDeclaration/Name":u.definition(u.className),UpdateOp:u.updateOperator,ArithOp:u.arithmeticOperator,"LogicOp IntersectionType/&":u.logicOperator,BitOp:u.bitwiseOperator,CompareOp:u.compareOperator,ControlOp:u.controlOperator,AssignOp:u.definitionOperator,"$ ConcatOp":u.operator,LineComment:u.lineComment,BlockComment:u.blockComment,Integer:u.integer,Float:u.float,String:u.string,ShellExpression:u.special(u.string),"=> ->":u.punctuation,"( )":u.paren,"#[ [ ]":u.squareBracket,"${ { }":u.brace,"-> ?->":u.derefOperator,", ; :: : \\":u.separator,"PhpOpen PhpClose":u.processingInstruction}),Z1={__proto__:null,static:325,STATIC:325,class:351,CLASS:351},jd=pe.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:"\u26A0 ( 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:[v1],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:[b1,X1,x1,0,1,2,3,w1],topRules:{Template:[0,73],Program:[1,241]},dynamicPrecedences:{298:1},specialized:[{term:284,get:(i,e)=>Wd(i)<<1,external:Wd},{term:284,get:i=>Z1[i]||-1}],tokenPrec:29889});var R1=ue.define({name:"php",parser:jd.configure({props:[de.add({IfStatement:Ye({except:/^\s*({|else\b|elseif\b|endif\b)/}),TryStatement:Ye({except:/^\s*({|catch\b|finally\b)/}),SwitchBody:i=>{let e=i.textAfter,t=/^\s*\}/.test(e),r=/^\s*(case|default)\b/.test(e);return i.baseIndent+(t?0:r?1:2)*i.unit},ColonBlock:i=>i.baseIndent+i.unit,"Block EnumBody DeclarationList":En({closing:"}"}),ArrowFunction:i=>i.baseIndent+i.unit,"String BlockComment":()=>null,Statement:Ye({except:/^({|end(for|foreach|switch|while)\b)/})}),Se.add({"Block EnumBody DeclarationList SwitchBody ArrayExpression ValueList":Ut,ColonBlock(i){return{from:i.from+1,to:i.to}},BlockComment(i){return{from:i.from+2,to:i.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 Ud(i={}){let e=[],t;if(i.baseLanguage!==null)if(i.baseLanguage)t=i.baseLanguage;else{let r=Gi({matchClosingTags:!1});e.push(r.support),t=r.language}return new oe(R1.configure({wrap:t&&Wi(r=>r.type.isTop?{parser:t.parser,overlay:n=>n.name=="Text"}:null),top:i.plain?"Program":"Template"}),e)}var V1=pe.deserialize({version:14,states:"%^QYQPOOO!YQQO'#CaO#RQQO'#CrOOQO'#Ct'#CtQYQPOOOOQO'#C}'#C}O#]QQO'#CzO$ZQQO'#CoOOQO'#Cz'#CzOOQO'#Cu'#CuO$lQQO,58{OOQO,58{,58{O$sQQO,59^O$sQQO,59^OOQO,59^,59^OOQO-E6r-E6rO$zQQO'#CfOOQO,58|,58|OOQO'#C|'#C|O%]QSO'#C{O%hQQO,59ZOOQO-E6s-E6sOOQO1G.g1G.gO%mQQO1G.xOOQO1G.x1G.xO%tQQO,59QO%yQSO'#CvO&bQSO,59gOOQO1G.u1G.uOOQO7+$d7+$dOOQO1G.l1G.lOOQO,59b,59bOOQO-E6t-E6t",stateData:"&{~OmOSPOS~OSPOeQOgRO~OVUOZTO[TO]TO^WO_WO`WOaWObWOtVOuWO~ORZO~PeOVUOZTO[TO]TO^WO_WO`WObWOtVOuWO~Oa[Od^O~P!aOX`ORnXVnXZnX[nX]nX^nX_nX`nXanXbnXtnXunXdnX~OVbOZTO[TO]TOsoP~ORfO~PeOdhO~PeOVbOZTO[TO]TOWoP~OrjOsoXWoX~OslO~OdmO~PeOWnO~OVbOZTO[TO]TOrjXsjXWjX~OrjOsoaWoa~Og[]a_^`bVmPZ`~",goto:"#brPPPPPswPPP!PPPPPPPPPwPPsP!S!Y!hPPP!n!v!|#TTROS]WPQY[]gRaUQSOR_SQYPQ]QUeY]gRg[QkcRpk]XPQY[]gQdVRi`ScV`Roj[WPQY[]gVbV`j",nodeNames:"\u26A0 BlockComment Template }} {{ InsertBlock Function Identifier ) ( FunctionParamList String Boolean Number ChainedIdentifier Comparison Operator CodeTag Math Array %} {% CodeBlock PlainText",maxTerm:37,nodeProps:[["openedBy",3,"{{",8,"(",20,"{%"],["closedBy",4,"}}",9,")",21,"%}"]],skippedNodes:[0,1],repeatNodeCount:3,tokenData:"#Jr~R!^OX$}XY&ZYZ&ZZ]$}]^&Z^p$}pq&Zqr'Wrs(Ysu$}uv-cvw$}wx.gxy3Wyz3nz{4U{|4r|}5Y}!O5r!O!P>u!P!Q?]!Q!R:[!R![=m![!]?y!]!^$}!^!_@a!_!`@}!`!a@a!a!c$}!c!}6}!}#OAk#O#P$}#P#QBR#Q#R$}#R#S6}#S#T$}#T#UBi#U#V!'f#V#X6}#X#Y!,h#Y#Z# Y#Z#]6}#]#^#'g#^#a6}#a#b#.T#b#c#5r#c#d#8[#d#g6}#g#h#9h#h#i#AV#i#j!.Q#j#k!@V#k#l#Co#l#o6}#o#p#Ge#p#q>u#q#r#In#r;'S$};'S;=`&O<%lO$}P%STgPO#o$}#o#p%c#p;'S$};'S;=`&O<%lO$}P%fWOs$}tu$}v#o$}#p;'S$};'S;=`&O<%l~$}~O$}~~&UP&RP;=`<%l$}P&ZOgP~&b[gPm~OX$}XY&ZYZ&ZZ]$}]^&Z^p$}pq&Zq#o$}#o#p%c#p;'S$};'S;=`&O<%lO$}~']VgPO!_$}!_!`'r!`#o$}#o#p%c#p;'S$};'S;=`&O<%lO$}~'yTgP_~O#o$}#o#p%c#p;'S$};'S;=`&O<%lO$}~(aXgPZ~Or(Yrs(|s#O(Y#O#P)d#P#o(Y#o#p){#p;'S(Y;'S;=`,n<%lO(Y~)TTgPZ~O#o$}#o#p%c#p;'S$};'S;=`&O<%lO$}~)iUgPO#o(Y#o#p){#p;'S(Y;'S;=`,t;=`<%l*|<%lO(Y~*Q^Z~Or(Yrs(|st*|tu(Yuv*|v#O(Y#O#P)d#P#o(Y#o#p*|#p;'S(Y;'S;=`,n<%l~(Y~O(Y~~&U~+RVZ~Or*|rs+hs#O*|#O#P+m#P;'S*|;'S;=`,h<%lO*|~+mOZ~~+pRO;'S*|;'S;=`+y;=`O*|~,OWZ~Or*|rs+hs#O*|#O#P+m#P;'S*|;'S;=`,h;=`<%l*|<%lO*|~,kP;=`<%l*|~,qP;=`<%l(Y~,yWZ~Or*|rs+hs#O*|#O#P+m#P;'S*|;'S;=`,h;=`<%l(Y<%lO*|~-jVgPb~O#o$}#o#p%c#p#q$}#q#r.P#r;'S$};'S;=`&O<%lO$}R.WTdQgPO#o$}#o#p%c#p;'S$};'S;=`&O<%lO$}~.nXgPZ~Ow.gwx(|x#O.g#O#P/Z#P#o.g#o#p/r#p;'S.g;'S;=`2c<%lO.g~/`UgPO#o.g#o#p/r#p;'S.g;'S;=`2i;=`<%l0v<%lO.g~/w_Z~Os.gst0vtu.guv0vvw.gwx(|x#O.g#O#P/Z#P#o.g#o#p0v#p;'S.g;'S;=`2c<%l~.g~O.g~~&U~0{VZ~Ow0vwx+hx#O0v#O#P1b#P;'S0v;'S;=`2]<%lO0v~1eRO;'S0v;'S;=`1n;=`O0v~1sWZ~Ow0vwx+hx#O0v#O#P1b#P;'S0v;'S;=`2];=`<%l0v<%lO0v~2`P;=`<%l0v~2fP;=`<%l.g~2nWZ~Ow0vwx+hx#O0v#O#P1b#P;'S0v;'S;=`2];=`<%l.g<%lO0vR3_TXQgPO#o$}#o#p%c#p;'S$};'S;=`&O<%lO$}V3uTWUgPO#o$}#o#p%c#p;'S$};'S;=`&O<%lO$}~4]VgPb~Oz$}z{4r{#o$}#o#p%c#p;'S$};'S;=`&O<%lO$}~4yTgPb~O#o$}#o#p%c#p;'S$};'S;=`&O<%lO$}V5cTrSuQgPO#o$}#o#p%c#p;'S$};'S;=`&O<%lO$}~5{`gPb~V~O}$}}!O6}!O!P8T!P!Q$}!Q!R:[!R![=m![!c$}!c!}6}!}#R$}#R#S6}#S#T$}#T#o6}#o#p%c#p;'S$};'S;=`&O<%lO$}~7U_gPV~O}$}}!O6}!O!P8T!P!Q$}!Q![6}![!c$}!c!}6}!}#R$}#R#S6}#S#T$}#T#o6}#o#p%c#p;'S$};'S;=`&O<%lO$}~8Y^gPO}$}}!O9U!O!Q$}!Q![9U![!c$}!c!}9U!}#R$}#R#S9U#S#T$}#T#o9U#o#p%c#p;'S$};'S;=`&O<%lO$}~9]_gP^~O}$}}!O9U!O!P8T!P!Q$}!Q![9U![!c$}!c!}9U!}#R$}#R#S9U#S#T$}#T#o9U#o#p%c#p;'S$};'S;=`&O<%lO$}~:e_gP]~V~O}$}}!O6}!O!P;d!P!Q$}!Q![6}![!c$}!c!}6}!}#R$}#R#S6}#S#T$}#T#o6}#o#p%c#p;'S$};'S;=`&O<%lO$}~;i^gPO}$}}!O9U!O!Q$}!Q![|TgP`~O#o$}#o#p%c#p;'S$};'S;=`&O<%lO$}~?dVgPb~O!P$}!P!Q4r!Q#o$}#o#p%c#p;'S$};'S;=`&O<%lO$}R@QTuQgPO#o$}#o#p%c#p;'S$};'S;=`&O<%lO$}~@hVgP_~O!_$}!_!`'r!`#o$}#o#p%c#p;'S$};'S;=`&O<%lO$}~AUVgP`~O!_$}!_!`'r!`#o$}#o#p%c#p;'S$};'S;=`&O<%lO$}RArTtQgPO#o$}#o#p%c#p;'S$};'S;=`&O<%lO$}VBYTsUgPO#o$}#o#p%c#p;'S$};'S;=`&O<%lO$}~BpegPV~O}$}}!O6}!O!P8T!P!Q$}!Q![6}![!c$}!c!}6}!}#R$}#R#S6}#S#T$}#T#b6}#b#cDR#c#d6}#d#eFg#e#i6}#i#jKe#j#o6}#o#p%c#p;'S$};'S;=`&O<%lO$}~DYagPV~O}$}}!O6}!O!P8T!P!Q$}!Q![6}![!c$}!c!}6}!}#R$}#R#S6}#S#T$}#T#W6}#W#XE_#X#o6}#o#p%c#p;'S$};'S;=`&O<%lO$}~Eh_gP_~V~O}$}}!O6}!O!P8T!P!Q$}!Q![6}![!c$}!c!}6}!}#R$}#R#S6}#S#T$}#T#o6}#o#p%c#p;'S$};'S;=`&O<%lO$}~FnagPV~O}$}}!O6}!O!P8T!P!Q$}!Q![6}![!c$}!c!}6}!}#R$}#R#S6}#S#T$}#T#d6}#d#eGs#e#o6}#o#p%c#p;'S$};'S;=`&O<%lO$}~GzagPV~O}$}}!O6}!O!P8T!P!Q$}!Q![6}![!c$}!c!}6}!}#R$}#R#S6}#S#T$}#T#`6}#`#aIP#a#o6}#o#p%c#p;'S$};'S;=`&O<%lO$}~IWagPV~O}$}}!O6}!O!P8T!P!Q$}!Q![6}![!c$}!c!}6}!}#R$}#R#S6}#S#T$}#T#m6}#m#nJ]#n#o6}#o#p%c#p;'S$};'S;=`&O<%lO$}~Jf_gPa~V~O}$}}!O6}!O!P8T!P!Q$}!Q![6}![!c$}!c!}6}!}#R$}#R#S6}#S#T$}#T#o6}#o#p%c#p;'S$};'S;=`&O<%lO$}~KlagPV~O}$}}!O6}!O!P8T!P!Q$}!Q![6}![!c$}!c!}6}!}#R$}#R#S6}#S#T$}#T#h6}#h#iLq#i#o6}#o#p%c#p;'S$};'S;=`&O<%lO$}~LxagPV~O}$}}!O6}!O!P8T!P!Q$}!Q![6}![!c$}!c!}6}!}#R$}#R#S6}#S#T$}#T#c6}#c#dM}#d#o6}#o#p%c#p;'S$};'S;=`&O<%lO$}~NUagPV~O}$}}!O6}!O!P8T!P!Q$}!Q![6}![!c$}!c!}6}!}#R$}#R#S6}#S#T$}#T#X6}#X#Y! Z#Y#o6}#o#p%c#p;'S$};'S;=`&O<%lO$}~! bagPV~O}$}}!O6}!O!P8T!P!Q$}!Q![6}![!c$}!c!}6}!}#R$}#R#S6}#S#T$}#T#g6}#g#h!!g#h#o6}#o#p%c#p;'S$};'S;=`&O<%lO$}~!!nagPV~O}$}}!O6}!O!P8T!P!Q$}!Q![6}![!c$}!c!}6}!}#R$}#R#S6}#S#T$}#T#V6}#V#W!#s#W#o6}#o#p%c#p;'S$};'S;=`&O<%lO$}~!#z`gPV~O}$}}!O6}!O!P8T!P!Q$}!Q![6}![!c$}!c!}6}!}#R$}#R#S6}#S#T$}#T#U!$|#U#o6}#o#p%c#p;'S$};'S;=`&O<%lO$}~!%TagPV~O}$}}!O6}!O!P8T!P!Q$}!Q![6}![!c$}!c!}6}!}#R$}#R#S6}#S#T$}#T#d6}#d#e!&Y#e#o6}#o#p%c#p;'S$};'S;=`&O<%lO$}~!&aagPV~O}$}}!O6}!O!P8T!P!Q$}!Q![6}![!c$}!c!}6}!}#R$}#R#S6}#S#T$}#T#X6}#X#YJ]#Y#o6}#o#p%c#p;'S$};'S;=`&O<%lO$}~!'magPV~O}$}}!O6}!O!P8T!P!Q$}!Q![6}![!c$}!c!}6}!}#R$}#R#S6}#S#T$}#T#`6}#`#a!(r#a#o6}#o#p%c#p;'S$};'S;=`&O<%lO$}~!(yagPV~O}$}}!O6}!O!P8T!P!Q$}!Q![6}![!c$}!c!}6}!}#R$}#R#S6}#S#T$}#T#c6}#c#d!*O#d#o6}#o#p%c#p;'S$};'S;=`&O<%lO$}~!*VagPV~O}$}}!O6}!O!P8T!P!Q$}!Q![6}![!c$}!c!}6}!}#R$}#R#S6}#S#T$}#T#V6}#V#W!+[#W#o6}#o#p%c#p;'S$};'S;=`&O<%lO$}~!+cagPV~O}$}}!O6}!O!P8T!P!Q$}!Q![6}![!c$}!c!}6}!}#R$}#R#S6}#S#T$}#T#_6}#_#`J]#`#o6}#o#p%c#p;'S$};'S;=`&O<%lO$}~!,oegPV~O}$}}!O6}!O!P8T!P!Q$}!Q![6}![!c$}!c!}6}!}#R$}#R#S6}#S#T$}#T#`6}#`#a!.Q#a#b6}#b#c!/^#c#l6}#l#m!Hz#m#o6}#o#p%c#p;'S$};'S;=`&O<%lO$}~!.XagPV~O}$}}!O6}!O!P8T!P!Q$}!Q![6}![!c$}!c!}6}!}#R$}#R#S6}#S#T$}#T#g6}#g#h!&Y#h#o6}#o#p%c#p;'S$};'S;=`&O<%lO$}~!/eagPV~O}$}}!O6}!O!P8T!P!Q$}!Q![6}![!c$}!c!}6}!}#R$}#R#S6}#S#T$}#T#W6}#W#X!0j#X#o6}#o#p%c#p;'S$};'S;=`&O<%lO$}~!0qkgPV~O}$}}!O6}!O!P8T!P!Q$}!Q![6}![!c$}!c!}6}!}#R$}#R#S6}#S#T$}#T#U!2f#U#V!'f#V#Y6}#Y#Z!3x#Z#]6}#]#^!6b#^#a6}#a#b!7n#b#g6}#g#h!OVgPO#k$}#k#l!>e#l#o$}#o#p%c#p;'S$};'S;=`&O<%lO$}~!>jVgPO#]$}#]#^!?P#^#o$}#o#p%c#p;'S$};'S;=`&O<%lO$}~!?UVgPO#h$}#h#i!?k#i#o$}#o#p%c#p;'S$};'S;=`&O<%lO$}~!?pVgPO#[$}#[#]'r#]#o$}#o#p%c#p;'S$};'S;=`&O<%lO$}~!@^agPV~O}$}}!O6}!O!P8T!P!Q$}!Q![6}![!c$}!c!}6}!}#R$}#R#S6}#S#T$}#T#X6}#X#Y!Ac#Y#o6}#o#p%c#p;'S$};'S;=`&O<%lO$}~!AjagPV~O}$}}!O6}!O!P8T!P!Q$}!Q![6}![!c$}!c!}6}!}#R$}#R#S6}#S#T$}#T#f6}#f#g!Bo#g#o6}#o#p%c#p;'S$};'S;=`&O<%lO$}~!BvagPV~O}$}}!O6}!O!P8T!P!Q$}!Q![6}![!c$}!c!}6}!}#R$}#R#S6}#S#T$}#T#U6}#U#V!C{#V#o6}#o#p%c#p;'S$};'S;=`&O<%lO$}~!DS`gPV~O}$}}!O6}!O!P8T!P!Q$}!Q![6}![!c$}!c!}6}!}#R$}#R#S6}#S#T$}#T#U!EU#U#o6}#o#p%c#p;'S$};'S;=`&O<%lO$}~!E]agPV~O}$}}!O6}!O!P8T!P!Q$}!Q![6}![!c$}!c!}6}!}#R$}#R#S6}#S#T$}#T#h6}#h#i!Fb#i#o6}#o#p%c#p;'S$};'S;=`&O<%lO$}~!FiagPV~O}$}}!O6}!O!P8T!P!Q$}!Q![6}![!c$}!c!}6}!}#R$}#R#S6}#S#T$}#T#]6}#]#^!Gn#^#o6}#o#p%c#p;'S$};'S;=`&O<%lO$}~!GuagPV~O}$}}!O6}!O!P8T!P!Q$}!Q![6}![!c$}!c!}6}!}#R$}#R#S6}#S#T$}#T#a6}#a#bJ]#b#o6}#o#p%c#p;'S$};'S;=`&O<%lO$}~!IRagPV~O}$}}!O6}!O!P8T!P!Q$}!Q![6}![!c$}!c!}6}!}#R$}#R#S6}#S#T$}#T#h6}#h#i!JW#i#o6}#o#p%c#p;'S$};'S;=`&O<%lO$}~!J_agPV~O}$}}!O6}!O!P8T!P!Q$}!Q![6}![!c$}!c!}6}!}#R$}#R#S6}#S#T$}#T#X6}#X#Y!Kd#Y#o6}#o#p%c#p;'S$};'S;=`&O<%lO$}~!KkagPV~O}$}}!O6}!O!P8T!P!Q$}!Q![6}![!c$}!c!}6}!}#R$}#R#S6}#S#T$}#T#b6}#b#c!Lp#c#o6}#o#p%c#p;'S$};'S;=`&O<%lO$}~!LwagPV~O}$}}!O6}!O!P8T!P!Q$}!Q![6}![!c$}!c!}6}!}#R$}#R#S6}#S#T$}#T#W6}#W#X!M|#X#o6}#o#p%c#p;'S$};'S;=`&O<%lO$}~!NTagPV~O}$}}!O6}!O!P8T!P!Q$}!Q![6}![!c$}!c!}6}!}#R$}#R#S6}#S#T$}#T#g6}#g#hJ]#h#o6}#o#p%c#p;'S$};'S;=`&O<%lO$}~# abgPV~O}$}}!O6}!O!P8T!P!Q$}!Q![6}![!c$}!c!}6}!}#R$}#R#S6}#S#T$}#T#U#!i#U#c6}#c#d!5U#d#o6}#o#p%c#p;'S$};'S;=`&O<%lO$}~#!pagPV~O}$}}!O6}!O!P8T!P!Q$}!Q![6}![!c$}!c!}6}!}#R$}#R#S6}#S#T$}#T#`6}#`#a##u#a#o6}#o#p%c#p;'S$};'S;=`&O<%lO$}~##|agPV~O}$}}!O6}!O!P8T!P!Q$}!Q![6}![!c$}!c!}6}!}#R$}#R#S6}#S#T$}#T#g6}#g#h#%R#h#o6}#o#p%c#p;'S$};'S;=`&O<%lO$}~#%YagPV~O}$}}!O6}!O!P8T!P!Q$}!Q![6}![!c$}!c!}6}!}#R$}#R#S6}#S#T$}#T#X6}#X#Y#&_#Y#o6}#o#p%c#p;'S$};'S;=`&O<%lO$}~#&h_gP[~V~O}$}}!O6}!O!P8T!P!Q$}!Q![6}![!c$}!c!}6}!}#R$}#R#S6}#S#T$}#T#o6}#o#p%c#p;'S$};'S;=`&O<%lO$}~#'negPV~O}$}}!O6}!O!P8T!P!Q$}!Q![6}![!c$}!c!}6}!}#R$}#R#S6}#S#T$}#T#Y6}#Y#ZJ]#Z#b6}#b#c#)P#c#g6}#g#hE_#h#o6}#o#p%c#p;'S$};'S;=`&O<%lO$}~#)YagP_~V~O}$}}!O6}!O!P8T!P!Q$}!Q![6}![!c$}!c!}6}!}#R$}#R#S6}#S#T$}#T#V6}#V#W#*_#W#o6}#o#p%c#p;'S$};'S;=`&O<%lO$}~#*fagPV~O}$}}!O6}!O!P8T!P!Q$}!Q![6}![!c$}!c!}6}!}#R$}#R#S6}#S#T$}#T#`6}#`#a#+k#a#o6}#o#p%c#p;'S$};'S;=`&O<%lO$}~#+ragPV~O}$}}!O6}!O!P8T!P!Q$}!Q![6}![!c$}!c!}6}!}#R$}#R#S6}#S#T$}#T#i6}#i#j#,w#j#o6}#o#p%c#p;'S$};'S;=`&O<%lO$}~#-OagPV~O}$}}!O6}!O!P8T!P!Q$}!Q![6}![!c$}!c!}6}!}#R$}#R#S6}#S#T$}#T#W6}#W#X!&Y#X#o6}#o#p%c#p;'S$};'S;=`&O<%lO$}~#.[`gPV~O}$}}!O6}!O!P8T!P!Q$}!Q![6}![!c$}!c!}6}!}#R$}#R#S6}#S#T$}#T#U#/^#U#o6}#o#p%c#p;'S$};'S;=`&O<%lO$}~#/ecgPV~O}$}}!O6}!O!P8T!P!Q$}!Q![6}![!c$}!c!}6}!}#R$}#R#S6}#S#T$}#T#V6}#V#W!:T#W#h6}#h#i#0p#i#o6}#o#p%c#p;'S$};'S;=`&O<%lO$}~#0wagPV~O}$}}!O6}!O!P8T!P!Q$}!Q![6}![!c$}!c!}6}!}#R$}#R#S6}#S#T$}#T#V6}#V#W#1|#W#o6}#o#p%c#p;'S$};'S;=`&O<%lO$}~#2TagPV~O}$}}!O6}!O!P8T!P!Q$}!Q![6}![!c$}!c!}6}!}#R$}#R#S6}#S#T$}#T#[6}#[#]#3Y#]#o6}#o#p%c#p;'S$};'S;=`&O<%lO$}~#3aagPV~O}$}}!O6}!O!P8T!P!Q$}!Q![6}![!c$}!c!}6}!}#R$}#R#S6}#S#T$}#T#X6}#X#Y#4f#Y#o6}#o#p%c#p;'S$};'S;=`&O<%lO$}~#4magPV~O}$}}!O6}!O!P8T!P!Q$}!Q![6}![!c$}!c!}6}!}#R$}#R#S6}#S#T$}#T#g6}#g#hE_#h#o6}#o#p%c#p;'S$};'S;=`&O<%lO$}~#5yagPV~O}$}}!O6}!O!P8T!P!Q$}!Q![6}![!c$}!c!}6}!}#R$}#R#S6}#S#T$}#T#c6}#c#d#7O#d#o6}#o#p%c#p;'S$};'S;=`&O<%lO$}~#7VagPV~O}$}}!O6}!O!P8T!P!Q$}!Q![6}![!c$}!c!}6}!}#R$}#R#S6}#S#T$}#T#h6}#h#iE_#i#o6}#o#p%c#p;'S$};'S;=`&O<%lO$}~#8cagPV~O}$}}!O6}!O!P8T!P!Q$}!Q![6}![!c$}!c!}6}!}#R$}#R#S6}#S#T$}#T#f6}#f#gE_#g#o6}#o#p%c#p;'S$};'S;=`&O<%lO$}~#9ocgPV~O}$}}!O6}!O!P8T!P!Q$}!Q![6}![!c$}!c!}6}!}#R$}#R#S6}#S#T$}#T#X6}#X#Y#:z#Y#h6}#h#i#m#g#o6}#o#p%c#p;'S$};'S;=`&O<%lO$}~#>tagPV~O}$}}!O6}!O!P8T!P!Q$}!Q![6}![!c$}!c!}6}!}#R$}#R#S6}#S#T$}#T#h6}#h#i#?y#i#o6}#o#p%c#p;'S$};'S;=`&O<%lO$}~#@QagPV~O}$}}!O6}!O!P8T!P!Q$}!Q![6}![!c$}!c!}6}!}#R$}#R#S6}#S#T$}#T#g6}#g#h!=65&&i<=90||i==95||i>=97&&i<=122||i>=161}function L1(i){return i==9||i==10||i==13||i==32}var Ed=null,Ld=null,Gd=0;function WO(i,e){let t=i.pos+e;if(Ld==i&&Gd==t)return Ed;for(;L1(i.peek(e));)e++;let r="";for(;;){let n=i.peek(e);if(!E1(n))break;r+=String.fromCharCode(n),e++}return Ld=i,Gd=t,Ed=r||null}function Id(i,e){this.name=i,this.parent=e}var G1=new Gt({start:null,shift(i,e,t,r){return e==CO?new Id(WO(r,1)||"",i):i},reduce(i,e){return e==U1&&i?i.parent:i},reuse(i,e,t,r){let n=e.type.id;return n==CO||n==M1?new Id(WO(r,1)||"",i):i},strict:!1}),I1=new ee((i,e)=>{if(i.next==60){if(i.advance(),i.next==47){i.advance();let t=WO(i,0);if(!t)return i.acceptToken(W1);if(e.context&&t==e.context.name)return i.acceptToken(z1);for(let r=e.context;r;r=r.parent)if(r.name==t)return i.acceptToken(Y1,-2);i.acceptToken(C1)}else if(i.next!=33&&i.next!=63)return i.acceptToken(CO)}},{contextual:!0});function qO(i,e){return new ee(t=>{let r=0,n=e.charCodeAt(0);e:for(;!(t.next<0);t.advance(),r++)if(t.next==n){for(let s=1;s"),D1=qO(A1,"?>"),N1=qO(j1,"]]>"),F1=se({Text:u.content,"StartTag StartCloseTag EndTag SelfCloseEndTag":u.angleBracket,TagName:u.tagName,"MismatchedCloseTag/TagName":[u.tagName,u.invalid],AttributeName:u.attributeName,AttributeValue:u.attributeValue,Is:u.definitionOperator,"EntityReference CharacterReference":u.character,Comment:u.blockComment,ProcessingInst:u.processingInstruction,DoctypeDecl:u.documentMeta,Cdata:u.special(u.string)}),Bd=pe.deserialize({version:14,states:",lOQOaOOOrOxO'#CfOzOpO'#CiO!tOaO'#CgOOOP'#Cg'#CgO!{OrO'#CrO#TOtO'#CsO#]OpO'#CtOOOP'#DT'#DTOOOP'#Cv'#CvQQOaOOOOOW'#Cw'#CwO#eOxO,59QOOOP,59Q,59QOOOO'#Cx'#CxO#mOpO,59TO#uO!bO,59TOOOP'#C|'#C|O$TOaO,59RO$[OpO'#CoOOOP,59R,59ROOOQ'#C}'#C}O$dOrO,59^OOOP,59^,59^OOOS'#DO'#DOO$lOtO,59_OOOP,59_,59_O$tOpO,59`O$|OpO,59`OOOP-E6t-E6tOOOW-E6u-E6uOOOP1G.l1G.lOOOO-E6v-E6vO%UO!bO1G.oO%UO!bO1G.oO%dOpO'#CkO%lO!bO'#CyO%zO!bO1G.oOOOP1G.o1G.oOOOP1G.w1G.wOOOP-E6z-E6zOOOP1G.m1G.mO&VOpO,59ZO&_OpO,59ZOOOQ-E6{-E6{OOOP1G.x1G.xOOOS-E6|-E6|OOOP1G.y1G.yO&gOpO1G.zO&gOpO1G.zOOOP1G.z1G.zO&oO!bO7+$ZO&}O!bO7+$ZOOOP7+$Z7+$ZOOOP7+$c7+$cO'YOpO,59VO'bOpO,59VO'mO!bO,59eOOOO-E6w-E6wO'{OpO1G.uO'{OpO1G.uOOOP1G.u1G.uO(TOpO7+$fOOOP7+$f7+$fO(]O!bO<c!|;'S(o;'S;=`)]<%lO(oi>jX|W!O`Or(ors&osv(owx'}x!r(o!r!s?V!s;'S(o;'S;=`)]<%lO(oi?^X|W!O`Or(ors&osv(owx'}x!g(o!g!h?y!h;'S(o;'S;=`)]<%lO(oi@QY|W!O`Or?yrs@psv?yvwA[wxBdx!`?y!`!aCr!a;'S?y;'S;=`Db<%lO?ya@uV!O`Ov@pvxA[x!`@p!`!aAy!a;'S@p;'S;=`B^<%lO@pPA_TO!`A[!`!aAn!a;'SA[;'S;=`As<%lOA[PAsOiPPAvP;=`<%lA[aBQSiP!O`Ov&ox;'S&o;'S;=`'Q<%lO&oaBaP;=`<%l@pXBiX|WOrBdrsA[svBdvwA[w!`Bd!`!aCU!a;'SBd;'S;=`Cl<%lOBdXC]TiP|WOr'}sv'}w;'S'};'S;=`(c<%lO'}XCoP;=`<%lBdiC{ViP|W!O`Or(ors&osv(owx'}x;'S(o;'S;=`)]<%lO(oiDeP;=`<%l?yiDoZ|W!O`Or(ors&osv(owx'}x!e(o!e!fEb!f#V(o#V#WIr#W;'S(o;'S;=`)]<%lO(oiEiX|W!O`Or(ors&osv(owx'}x!f(o!f!gFU!g;'S(o;'S;=`)]<%lO(oiF]X|W!O`Or(ors&osv(owx'}x!c(o!c!dFx!d;'S(o;'S;=`)]<%lO(oiGPX|W!O`Or(ors&osv(owx'}x!v(o!v!wGl!w;'S(o;'S;=`)]<%lO(oiGsX|W!O`Or(ors&osv(owx'}x!c(o!c!dH`!d;'S(o;'S;=`)]<%lO(oiHgX|W!O`Or(ors&osv(owx'}x!}(o!}#OIS#O;'S(o;'S;=`)]<%lO(oiI]V|W!O`yPOr(ors&osv(owx'}x;'S(o;'S;=`)]<%lO(oiIyX|W!O`Or(ors&osv(owx'}x#W(o#W#XJf#X;'S(o;'S;=`)]<%lO(oiJmX|W!O`Or(ors&osv(owx'}x#T(o#T#UKY#U;'S(o;'S;=`)]<%lO(oiKaX|W!O`Or(ors&osv(owx'}x#h(o#h#iK|#i;'S(o;'S;=`)]<%lO(oiLTX|W!O`Or(ors&osv(owx'}x#T(o#T#UH`#U;'S(o;'S;=`)]<%lO(oiLwX|W!O`Or(ors&osv(owx'}x#c(o#c#dMd#d;'S(o;'S;=`)]<%lO(oiMkX|W!O`Or(ors&osv(owx'}x#V(o#V#WNW#W;'S(o;'S;=`)]<%lO(oiN_X|W!O`Or(ors&osv(owx'}x#h(o#h#iNz#i;'S(o;'S;=`)]<%lO(oi! RX|W!O`Or(ors&osv(owx'}x#m(o#m#n! n#n;'S(o;'S;=`)]<%lO(oi! uX|W!O`Or(ors&osv(owx'}x#d(o#d#e!!b#e;'S(o;'S;=`)]<%lO(oi!!iX|W!O`Or(ors&osv(owx'}x#X(o#X#Y?y#Y;'S(o;'S;=`)]<%lO(oi!#_V!SP|W!O`Or(ors&osv(owx'}x;'S(o;'S;=`)]<%lO(ok!$PXaQVP|W!O`Or$qrs%gsv$qwx'^x!^$q!^!_(o!_;'S$q;'S;=`)c<%lO$qo!$wX[UVP|W!O`Or$qrs%gsv$qwx'^x!^$q!^!_(o!_;'S$q;'S;=`)c<%lO$qk!%mZVP|W!O`Or$qrs%gsv$qwx'^x!^$q!^!_(o!_!`$q!`!a!&`!a;'S$q;'S;=`)c<%lO$qk!&kX!RQVP|W!O`Or$qrs%gsv$qwx'^x!^$q!^!_(o!_;'S$q;'S;=`)c<%lO$qk!'aZVP|W!O`Or$qrs%gsv$qwx'^x!^$q!^!_(o!_#P$q#P#Q!(S#Q;'S$q;'S;=`)c<%lO$qk!(]ZVP|W!O`Or$qrs%gsv$qwx'^x!^$q!^!_(o!_!`$q!`!a!)O!a;'S$q;'S;=`)c<%lO$qk!)ZXxQVP|W!O`Or$qrs%gsv$qwx'^x!^$q!^!_(o!_;'S$q;'S;=`)c<%lO$q",tokenizers:[I1,B1,D1,N1,0,1,2,3,4],topRules:{Document:[0,6]},tokenPrec:0});function us(i,e){let t=e&&e.getChild("TagName");return t?i.sliceString(t.from,t.to):""}function AO(i,e){let t=e&&e.firstChild;return!t||t.name!="OpenTag"?"":us(i,t)}function H1(i,e,t){let r=e&&e.getChildren("Attribute").find(s=>s.from<=t&&s.to>=t),n=r&&r.getChild("AttributeName");return n?i.sliceString(n.from,n.to):""}function jO(i){for(let e=i&&i.parent;e;e=e.parent)if(e.name=="Element")return e;return null}function K1(i,e){var t;let r=L(i).resolveInner(e,-1),n=null;for(let s=r;!n&&s.parent;s=s.parent)(s.name=="OpenTag"||s.name=="CloseTag"||s.name=="SelfClosingTag"||s.name=="MismatchedCloseTag")&&(n=s);if(n&&(n.to>e||n.lastChild.type.isError)){let s=n.parent;if(r.name=="TagName")return n.name=="CloseTag"||n.name=="MismatchedCloseTag"?{type:"closeTag",from:r.from,context:s}:{type:"openTag",from:r.from,context:jO(s)};if(r.name=="AttributeName")return{type:"attrName",from:r.from,context:n};if(r.name=="AttributeValue")return{type:"attrValue",from:r.from,context:n};let o=r==n||r.name=="Attribute"?r.childBefore(e):r;return o?.name=="StartTag"?{type:"openTag",from:e,context:jO(s)}:o?.name=="StartCloseTag"&&o.to<=e?{type:"closeTag",from:e,context:s}:o?.name=="Is"?{type:"attrValue",from:e,context:n}:o?{type:"attrName",from:e,context:n}:null}else if(r.name=="StartCloseTag")return{type:"closeTag",from:e,context:r.parent};for(;r.parent&&r.to==e&&!(!((t=r.lastChild)===null||t===void 0)&&t.type.isError);)r=r.parent;return r.name=="Element"||r.name=="Text"||r.name=="Document"?{type:"tag",from:e,context:r.name=="Element"?r:jO(r)}:null}var MO=class{constructor(e,t,r){this.attrs=t,this.attrValues=r,this.children=[],this.name=e.name,this.completion=Object.assign(Object.assign({type:"type"},e.completion||{}),{label:this.name}),this.openCompletion=Object.assign(Object.assign({},this.completion),{label:"<"+this.name}),this.closeCompletion=Object.assign(Object.assign({},this.completion),{label:"",boost:2}),this.closeNameCompletion=Object.assign(Object.assign({},this.completion),{label:this.name+">"}),this.text=e.textContent?e.textContent.map(n=>({label:n,type:"text"})):[]}},UO=/^[:\-\.\w\u00b7-\uffff]*$/;function Dd(i){return Object.assign(Object.assign({type:"property"},i.completion||{}),{label:i.name})}function Nd(i){return typeof i=="string"?{label:`"${i}"`,type:"constant"}:/^"/.test(i.label)?i:Object.assign(Object.assign({},i),{label:`"${i.label}"`})}function J1(i,e){let t=[],r=[],n=Object.create(null);for(let O of e){let l=Dd(O);t.push(l),O.global&&r.push(l),O.values&&(n[O.name]=O.values.map(Nd))}let s=[],o=[],a=Object.create(null);for(let O of i){let l=r,c=n;O.attributes&&(l=l.concat(O.attributes.map(f=>typeof f=="string"?t.find(d=>d.label==f)||{label:f,type:"property"}:(f.values&&(c==n&&(c=Object.create(c)),c[f.name]=f.values.map(Nd)),Dd(f)))));let h=new MO(O,l,c);a[h.name]=h,s.push(h),O.top&&o.push(h)}o.length||(o=s);for(let O=0;O{var l;let{doc:c}=O.state,h=K1(O.state,O.pos);if(!h||h.type=="tag"&&!O.explicit)return null;let{type:f,from:d,context:$}=h;if(f=="openTag"){let p=o,m=AO(c,$);if(m){let g=a[m];p=g?.children||s}return{from:d,options:p.map(g=>g.completion),validFor:UO}}else if(f=="closeTag"){let p=AO(c,$);return p?{from:d,to:O.pos+(c.sliceString(O.pos,O.pos+1)==">"?1:0),options:[((l=a[p])===null||l===void 0?void 0:l.closeNameCompletion)||{label:p+">",type:"type"}],validFor:UO}:null}else if(f=="attrName"){let p=a[us(c,$)];return{from:d,options:p?.attrs||r,validFor:UO}}else if(f=="attrValue"){let p=H1(c,$,d);if(!p)return null;let m=a[us(c,$)],g=(m?.attrValues||n)[p];return!g||!g.length?null:{from:d,to:O.pos+(c.sliceString(O.pos,O.pos+1)=='"'?1:0),options:g,validFor:/^"[^"]*"?$/}}else if(f=="tag"){let p=AO(c,$),m=a[p],g=[],S=$&&$.lastChild;p&&(!S||S.name!="CloseTag"||us(c,S)!=p)&&g.push(m?m.closeCompletion:{label:"",type:"type",boost:2});let T=g.concat((m?.children||($?s:o)).map(_=>_.openCompletion));if($&&m?.text.length){let _=$.firstChild;_.to>O.pos-20&&!/\S/.test(O.state.sliceDoc(_.to,O.pos))&&(T=T.concat(m.text))}return{from:d,options:T,validFor:/^<\/?[:\-\.\w\u00b7-\uffff]*$/}}else return null}}var EO=ue.define({name:"xml",parser:Bd.configure({props:[de.add({Element(i){let e=/^\s*<\//.test(i.textAfter);return i.lineIndent(i.node.from)+(e?0:i.unit)},"OpenTag CloseTag SelfClosingTag"(i){return i.column(i.node.from)+i.unit}}),Se.add({Element(i){let e=i.firstChild,t=i.lastChild;return!e||e.name!="OpenTag"?null:{from:e.to,to:t.name=="CloseTag"?t.from:i.to}}}),Tr.add({"OpenTag CloseTag":i=>i.getChild("TagName")})]}),languageData:{commentTokens:{block:{open:""}},indentOnInput:/^\s*<\/$/}});function Hd(i={}){let e=[EO.data.of({autocomplete:J1(i.elements||[],i.attributes||[])})];return i.autoCloseTags!==!1&&e.push(eT),new oe(EO,e)}function Fd(i,e,t=i.length){if(!e)return"";let r=e.firstChild,n=r&&r.getChild("TagName");return n?i.sliceString(n.from,Math.min(n.to,t)):""}var eT=k.inputHandler.of((i,e,t,r,n)=>{if(i.composing||i.state.readOnly||e!=t||r!=">"&&r!="/"||!EO.isActiveAt(i.state,e,-1))return!1;let s=n(),{state:o}=s,a=o.changeByRange(O=>{var l,c,h;let{head:f}=O,d=o.doc.sliceString(f-1,f)==r,$=L(o).resolveInner(f,-1),p;if(d&&r==">"&&$.name=="EndTag"){let m=$.parent;if(((c=(l=m.parent)===null||l===void 0?void 0:l.lastChild)===null||c===void 0?void 0:c.name)!="CloseTag"&&(p=Fd(o.doc,m.parent,f))){let g=f+(o.doc.sliceString(f,f+1)===">"?1:0),S=``;return{range:O,changes:{from:f,to:g,insert:S}}}}else if(d&&r=="/"&&$.name=="StartCloseTag"){let m=$.parent;if($.from==f-2&&((h=m.lastChild)===null||h===void 0?void 0:h.name)!="CloseTag"&&(p=Fd(o.doc,m,f))){let g=f+(o.doc.sliceString(f,f+1)===">"?1:0),S=`${p}>`;return{range:Q.cursor(f+S.length,-1),changes:{from:f,to:g,insert:S}}}}return{range:O}});return a.changes.empty?!1:(i.dispatch([s,o.update(a,{userEvent:"input.complete",scrollIntoView:!0})]),!0)});var Z=async i=>{let e=await window.importVersioned("legacy-modes");return jn.define(e[i])},tT={bash:()=>Z("shell"),c:()=>Z("c"),css:async()=>es(),"c++":()=>Z("cpp"),"c#":()=>Z("csharp"),clj:()=>Z("clojure"),clojure:()=>Z("clojure"),csharp:()=>Z("csharp"),dart:()=>Z("dart"),diff:()=>Z("diff"),for:()=>Z("fortran"),fortran:()=>Z("fortran"),"f#":()=>Z("fSharp"),fsharp:()=>Z("fSharp"),go:()=>Z("go"),groovy:()=>Z("groovy"),haskell:()=>Z("haskell"),hs:()=>Z("haskell"),html:async()=>Gi({selfClosingTags:!0}),ini:()=>Z("properties"),java:()=>Z("java"),javascript:async()=>fi(),json:async()=>Df(),js:async()=>fi(),jl:()=>Z("julia"),julia:()=>Z("julia"),kotlin:()=>Z("kotlin"),latex:()=>Z("stex"),lua:()=>Z("lua"),markdown:async()=>fs(),matlab:()=>Z("octave"),md:async()=>fs(),mdown:async()=>fs(),ml:()=>Z("sml"),mssql:()=>Z("msSQL"),mysql:()=>Z("mySQL"),nginx:()=>Z("nginx"),octave:()=>Z("octave"),pas:()=>Z("pascal"),pascal:()=>Z("pascal"),perl:()=>Z("perl"),pgsql:()=>Z("pgSQL"),php:async i=>{let e=i.includes("Z("perl"),"pl/sql":()=>Z("plSQL"),postgresql:()=>Z("pgSQL"),powershell:()=>Z("powerShell"),properties:()=>Z("properties"),ocaml:()=>Z("oCaml"),py:()=>Z("python"),python:()=>Z("python"),r:()=>Z("r"),rb:()=>Z("ruby"),rs:()=>Z("rust"),ruby:()=>Z("ruby"),rust:()=>Z("rust"),sas:()=>Z("sas"),scala:()=>Z("scala"),scheme:()=>Z("scheme"),shell:()=>Z("shell"),sh:()=>Z("shell"),smarty:()=>Z("smarty"),stext:()=>Z("stex"),swift:()=>Z("swift"),toml:()=>Z("toml"),ts:async()=>fi({typescript:!0}),twig:async()=>Md(),typescript:async()=>fi({typescript:!0}),sql:()=>Z("standardSQL"),sqlite:()=>Z("sqlite"),vbs:()=>Z("vbScript"),vbscript:()=>Z("vbScript"),"vb.net":()=>Z("vb"),vbnet:()=>Z("vb"),xml:async()=>Hd(),yaml:()=>Z("yaml"),yml:()=>Z("yaml")};function Kd(i,e){let t=i.trim().replace(/^\./g,"").toLowerCase(),r=tT[t];if(!(typeof r>"u"))return r(e)}var Jd=new WeakMap;function Bi(i,e){let t=new pt;e.extensions.push(t.of([]));let r={usage:i,editorViewConfig:e,libEditorView:k,libEditorState:D,libCompartment:pt};window.$events.emitPublic(e.parent,"library-cm6::pre-init",r);let n=new k(e);return Jd.set(n,t),window.$events.emitPublic(e.parent,"library-cm6::post-init",{editorView:n,...r}),n}async function e$(i,e,t){let r=Jd.get(i),n=await Kd(e,t);i.dispatch({effects:r.reconfigure(n||[])})}var Bt=class{constructor(e){this.ev=e}getContent(){return this.ev.state.doc.toString()}setContent(e){let{doc:t}=this.ev.state;this.ev.dispatch({changes:{from:0,to:t.length,insert:e}})}focus(){this.ev.focus()}setMode(e,t=""){e$(this.ev,e,t)}};function iT(i){let e='',t='',r=document.createElement("button");r.setAttribute("type","button"),r.classList.add("cm-copy-button"),r.innerHTML=e,i.dom.appendChild(r);let n=620,s=60;r.addEventListener("click",()=>{Nc(i.state.doc.toString()),r.classList.add("success"),setTimeout(()=>{r.innerHTML=t},s/2),setTimeout(()=>{r.classList.remove("success")},n),setTimeout(()=>{r.innerHTML=e},n+s/2)})}function rT(i){let e="",t=i.querySelector("code");return t&&t.hasAttribute("dir")?e=t.getAttribute("dir"):i.hasAttribute("dir")&&(e=i.getAttribute("dir")),e}function t$(i){let e=i.querySelector("code[class^=language-]");i.innerHTML=i.innerHTML.replace(//gi,` +`);let t=i.textContent.trimEnd(),r="";e!==null&&(r=e.className.replace("language-",""));let n=document.createElement("div");i.parentNode.insertBefore(n,i);let s=rT(i);s&&n.setAttribute("dir",s);let o=Bi("content-code-block",{parent:n,doc:t,extensions:Ra(n)});new Bt(o).setMode(r,t),i.remove(),iT(o)}function iw(i){let e=i.querySelectorAll("pre");for(let t of e)t$(t)}function rw(){let i=document.querySelectorAll(".page-content pre, .comment-box .content pre");for(let e of i)t$(e)}function nw(i,e,t,r){let n=Bi("content-code-block",{parent:i,doc:t,extensions:Ra(i),root:e}),s=new Bt(n);return s.setMode(r,t),s}function sw(i,e){let t=i.textContent,r={parent:i.parentElement,doc:t,extensions:[...Hn(i.parentElement)]},n=new Bt(Bi("code-editor",r));return n.setMode(e,t),i.style.display="none",n}function ow(i,e){let t=i.value,r={parent:i.parentElement,doc:t,extensions:[...Hn(i.parentElement),k.updateListener.of(o=>{o.docChanged&&(i.value=o.state.doc.toString())})]},n=Bi("code-input",r),s=new Bt(n);return s.setMode(e,t),i.style.display="none",s}function aw(i,e,t,r){let n=i.textContent,s={parent:i.parentElement,doc:n,extensions:[ct.of(r),...Hn(i.parentElement),k.updateListener.of(a=>{e(a)}),k.domEventHandlers(t)]};window.$events.emitPublic(i,"editor-markdown-cm6::pre-init",{editorViewConfig:s});let o=Bi("markdown-editor",s);return new Bt(o).setMode("markdown",""),i.style.display="none",o}export{rw as highlight,iw as highlightWithin,ow as inlineEditor,aw as markdownEditor,sw as popupEditor,nw as wysiwygView}; +//# sourceMappingURL=code.js.map diff --git a/public/dist/export-styles.css b/public/dist/export-styles.css new file mode 100644 index 00000000000..08a7d53c784 --- /dev/null +++ b/public/dist/export-styles.css @@ -0,0 +1 @@ +.dummy-style{color:red}:root{--font-body: -apple-system, BlinkMacSystemFont, Segoe UI, Oxygen, Ubuntu, Roboto, Cantarell, Fira Sans, Droid Sans, Helvetica Neue, sans-serif;--font-code: Lucida Console, DejaVu Sans Mono, Ubuntu Mono, Monaco, monospace;--color-primary: #206ea7;--color-primary-light: rgba(32,110,167,0.15);--color-link: #206ea7;--color-page: #206ea7;--color-page-draft: #7e50b1;--color-chapter: #af4d0d;--color-book: #077b70;--color-bookshelf: #a94747;--color-positive: #0f7d15;--color-negative: #ab0f0e;--color-info: #0288D1;--color-warning: #cf4d03;--bg-disabled: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' height='100%25' width='100%25'%3E%3Cdefs%3E%3Cpattern id='doodad' width='19' height='19' viewBox='0 0 40 40' patternUnits='userSpaceOnUse' patternTransform='rotate(143)'%3E%3Crect width='100%25' height='100%25' fill='rgba(42, 67, 101,0)'/%3E%3Cpath d='M-10 30h60v20h-60zM-10-10h60v20h-60' fill='rgba(26, 32, 44,0)'/%3E%3Cpath d='M-10 10h60v20h-60zM-10-30h60v20h-60z' fill='rgba(0, 0, 0,0.05)'/%3E%3C/pattern%3E%3C/defs%3E%3Crect fill='url(%23doodad)' height='200%25' width='200%25'/%3E%3C/svg%3E")}:root.dark-mode{--bg-disabled: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' height='100%25' width='100%25'%3E%3Cdefs%3E%3Cpattern id='doodad' width='19' height='19' viewBox='0 0 40 40' patternUnits='userSpaceOnUse' patternTransform='rotate(143)'%3E%3Crect width='100%25' height='100%25' fill='rgba(42, 67, 101,0)'/%3E%3Cpath d='M-10 30h60v20h-60zM-10-10h60v20h-60' fill='rgba(26, 32, 44,0)'/%3E%3Cpath d='M-10 10h60v20h-60zM-10-30h60v20h-60z' fill='rgba(255, 255, 255,0.05)'/%3E%3C/pattern%3E%3C/defs%3E%3Crect fill='url(%23doodad)' height='200%25' width='200%25'/%3E%3C/svg%3E");color-scheme:only dark;--color-positive: #4aa850;--color-negative: #e85c5b;--color-warning: #de8a5a}:root:not(.dark-mode){color-scheme:only light}*{box-sizing:border-box;outline-color:var(--color-primary);outline-width:1px}*:focus{outline-style:dotted}html{height:100%;overflow-y:scroll;background-color:#f2f2f2}html.flexbox{overflow-y:hidden}html.dark-mode{background-color:#111}body{font-size:14px;line-height:1.6;color:#444}html.dark-mode body{color:#aaa}body{-webkit-font-smoothing:antialiased;height:100%;display:flex;flex-direction:column}body,button,input,select,label,textarea{font-family:var(--font-body)}pre,#markdown-editor-input,.text-mono,.code-base,span.code,code{font-family:var(--font-code)}h1{font-size:3.425em;line-height:1.22222222em;margin-top:.48888889em;margin-bottom:.48888889em}h2{font-size:2.8275em;line-height:1.294117647em;margin-top:.8627451em;margin-bottom:.43137255em}h3{font-size:2.333em;line-height:1.221428572em;margin-top:.78571429em;margin-bottom:.43137255em}h4{font-size:1.666em;line-height:1.375em;margin-top:.78571429em;margin-bottom:.43137255em}h1,h2,h3,h4,h5,h6{font-weight:400;position:relative;display:block;font-family:var(--font-heading, var(--font-body));color:#222}html.dark-mode h1,html.dark-mode h2,html.dark-mode h3,html.dark-mode h4,html.dark-mode h5,html.dark-mode h6{color:#bbb}h5{font-size:1.4em}h5,h6{line-height:1.2em;margin-top:.78571429em;margin-bottom:.66em}@media screen and (max-width: 600px){h1{font-size:2.8275em}h2{font-size:2.333em}h3{font-size:1.666em}h4{font-size:1.333em}h5{font-size:1.161616em}}.list-heading{font-size:2rem}h2.list-heading{font-size:1.333rem}a{color:var(--color-link);fill:currentColor;cursor:pointer;text-decoration:none;transition:filter ease-in-out 80ms;line-height:1.6}a:hover{text-decoration:underline}a.icon{display:inline-block}a svg{position:relative;display:inline-block}a:focus img:only-child{outline:2px dashed var(--color-link);outline-offset:2px}a.no-link-style{color:inherit}a.no-link-style:hover{text-decoration:none}.blended-links a{color:inherit}.blended-links a svg{fill:currentColor}p,ul,ol,pre,table,blockquote{margin-top:.3em;margin-bottom:1.375em}hr{border:0;height:1px;background:#eaeaea}html.dark-mode hr{background:#555}hr{margin-bottom:24px}hr.faded{background-image:linear-gradient(to right, #FFF, #e3e0e0 20%, #e3e0e0 80%, #FFF)}hr.darker{background:#ddd}html.dark-mode hr.darker{background:#666}hr.margin-top,hr.even{margin-top:24px}strong,b,.bold,.strong{font-weight:bold}strong>strong,strong>b,strong>.bold,strong>.strong,b>strong,b>b,b>.bold,b>.strong,.bold>strong,.bold>b,.bold>.bold,.bold>.strong,.strong>strong,.strong>b,.strong>.bold,.strong>.strong{font-weight:bolder}em,i,.italic{font-style:italic}small,p.small,span.small,.text-small{font-size:.75rem}sup,.superscript{vertical-align:super;font-size:.8em}sub,.subscript{vertical-align:sub;font-size:.8em}pre{font-size:12px;border:1px solid #ddd;background-color:#fff}html.dark-mode pre{background-color:#2b2b2b}pre{border-color:#ddd}html.dark-mode pre{border-color:#111}pre{border-radius:4px;padding-inline-start:26px;position:relative;padding-top:3px;padding-bottom:3px}pre:before{content:"";display:block;position:absolute;top:0;width:22.4px;inset-inline-start:0;height:100%;background-color:#f5f5f5}html.dark-mode pre:before{background-color:#313335}pre:before{border-inline-end:1px solid #ddd}html.dark-mode pre:before{border-inline-end:none}@media print{pre{padding-left:12px}pre:before{display:none}}blockquote{display:block;position:relative;border-left:4px solid rgba(0,0,0,0);border-left-color:var(--color-primary);background-color:#f8f8f8}html.dark-mode blockquote{background-color:#333}blockquote{padding:12px 16px 12px 32px;overflow:auto}blockquote:before{content:"“";font-size:2em;font-weight:bold;position:absolute;top:12px;left:12px;color:#777}.text-mono{font-family:var(--font-code)}.text-uppercase{text-transform:uppercase}.text-capitals{text-transform:capitalize}.code-base,span.code,code{font-size:.84em;border:1px solid #ddd;border-radius:3px;background-color:#f8f8f8}html.dark-mode .code-base,html.dark-mode span.code,html.dark-mode code{background-color:#2b2b2b}.code-base,span.code,code{border-color:#ddd}html.dark-mode .code-base,html.dark-mode span.code,html.dark-mode code{border-color:#444}code{display:inline;padding:1px 3px;white-space:pre-wrap;line-height:1.2em}span.code{padding:1px 6px}pre code{background-color:rgba(0,0,0,0);border:0;font-size:1em;display:block;line-height:1.6}span.highlight{font-weight:bold;padding:2px 4px}ul,ol{padding-left:32px;padding-right:32px;display:flow-root}ul p,ol p{margin:0}ul{list-style:disc}ul ul{list-style:circle}ul label{margin:0}ol{list-style:decimal}li>ol,li>ul{margin-top:0;margin-bottom:0;margin-block-end:0;margin-block-start:0;padding-block-end:0;padding-block-start:0;padding-left:19.2px;padding-right:19.2px}li.checkbox-item,li.task-list-item{display:list-item;list-style:none;margin-left:-19.2px;margin-inline-start:-19.2px;margin-inline-end:0}li.checkbox-item input[type=checkbox],li.task-list-item input[type=checkbox]{margin-right:6px;margin-inline-end:6px;margin-inline-start:0}li.checkbox-item li.checkbox-item,li.checkbox-item li.task-list-item,li.task-list-item li.checkbox-item,li.task-list-item li.task-list-item{margin-left:6px;margin-inline-start:6px;margin-inline-end:0}.underlined{text-decoration:underline}.text-center{text-align:center}.text-left{text-align:start}.text-right{text-align:end}@media screen and (min-width: 361px){.text-xxs-center{text-align:center}.text-xxs-left{text-align:start}.text-xxs-right{text-align:end}}@media screen and (min-width: 401px){.text-xs-center{text-align:center}.text-xs-left{text-align:start}.text-xs-right{text-align:end}}@media screen and (min-width: 601px){.text-s-center{text-align:center}.text-s-left{text-align:start}.text-s-right{text-align:end}}@media screen and (min-width: 881px){.text-m-center{text-align:center}.text-m-left{text-align:start}.text-m-right{text-align:end}}@media screen and (min-width: 1001px){.text-l-center{text-align:center}.text-l-left{text-align:start}.text-l-right{text-align:end}}@media screen and (min-width: 1101px){.text-xl-center{text-align:center}.text-xl-left{text-align:start}.text-xl-right{text-align:end}}.text-bigger{font-size:1.1em}.text-large{font-size:1.6666em}.no-color{color:inherit}.break-text{white-space:normal;word-wrap:break-word;overflow-wrap:break-word}.text-limit-lines-1{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.text-limit-lines-2{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}.header-group{margin:16px 0}.header-group h1,.header-group h2,.header-group h3,.header-group h4,.header-group h5,.header-group h6{margin:0}span.sep{color:#bbb;padding:0 6px}.list>*{display:block}.svg-icon{width:1em;height:1em;display:inline-block;position:relative;bottom:-0.105em;margin-inline-end:6px;pointer-events:none;fill:currentColor}table{min-width:100px;max-width:100%}table td,table th{min-width:10px;padding:6px 8px;border:1px solid #ddd;overflow:auto;line-height:1.2;word-break:break-word;vertical-align:top}table td p,table th p{margin:0}table:not(:has(thead)) th,table thead{background-color:#f8f8f8}html.dark-mode table:not(:has(thead)) th,html.dark-mode table thead{background-color:#333}table:not(:has(thead)) th,table thead{font-weight:500}table.table{width:100%}table.table tr td,table.table tr th{border-bottom:1px solid rgba(0,0,0,.05)}table.table th,table.table td{text-align:start;border:none;padding:12px 12px;vertical-align:middle;margin:0;overflow:visible}table.table th{font-weight:bold}table.table tr:hover{background-color:#f2f2f2}html.dark-mode table.table tr:hover{background-color:#333}table.table .text-right{text-align:end}table.table .text-center{text-align:center}table.table td.actions{overflow:visible}table.table a{display:inline-block}table.table.expand-to-padding{margin-left:-12px;margin-right:-12px;width:calc(100% + 2*12px);max-width:calc(100% + 2*12px)}table.no-style td{border:0;padding:0}table.list-table{margin:0 -6px}table.list-table td{border:0;vertical-align:middle;padding:6px}.page-content{width:100%;max-width:840px;margin:0 auto;overflow-wrap:break-word;position:relative}.page-content .align-left{text-align:left}.page-content img.align-left,.page-content table.align-left,.page-content iframe.align-left,.page-content video.align-left{float:left !important;margin:6px 16px 16px 0}.page-content .align-right{text-align:right !important}.page-content img.align-right,.page-content table.align-right,.page-content iframe.align-right,.page-content video.align-right{float:right !important;margin:6px 0 6px 12px}.page-content .align-center{text-align:center}.page-content img.align-center,.page-content video.align-center,.page-content iframe.align-center{display:block}.page-content img.align-center,.page-content table.align-center,.page-content iframe.align-center,.page-content video.align-center{margin-left:auto;margin-right:auto}.page-content .align-justify{text-align:justify}.page-content h1,.page-content h2,.page-content h3,.page-content h4,.page-content h5,.page-content h6,.page-content pre{clear:left}.page-content hr{clear:both;margin:16px 0}.page-content table{hyphens:auto;table-layout:fixed;max-width:100%;height:auto !important}.page-content ins,.page-content del{text-decoration:none}.page-content ins{background:#dbffdb}.page-content del{background:#ffecec}.page-content details{border:1px solid;border-color:#ddd}html.dark-mode .page-content details{border-color:#555}.page-content details{margin-bottom:1em;padding:12px}.page-content details>summary{margin-top:-12px;margin-left:-12px;margin-right:-12px;margin-bottom:-12px;font-weight:bold;background-color:#eee}html.dark-mode .page-content details>summary{background-color:#333}.page-content details>summary{padding:6px 12px}.page-content details[open]>summary{margin-bottom:12px;border-bottom:1px solid;border-color:#ddd}html.dark-mode .page-content details[open]>summary{border-color:#555}.page-content details>summary+*{margin-top:.2em}.page-content details:after{content:"";display:block;clear:both}.page-content li>input[type=checkbox]{vertical-align:top;margin-top:.3em}.page-content p:empty{min-height:1.6em}.page-content.page-revision pre code{white-space:pre-wrap}.page-content .cm-editor{margin-bottom:1.375em}.page-content video,.page-content iframe{max-width:100%}.page-content a{text-decoration:underline}body .page-content img,.page-content img:not([data-mce-object]){max-width:100%;height:auto}.callout{border-left:3px solid #bbb;border-inline-start:3px solid #bbb;border-inline-end:none;background-color:#eee;padding:12px;padding-left:32px;padding-inline-start:32px;padding-inline-end:12px;display:block;position:relative;overflow:auto}.callout:before{background-image:url("data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9IiMwMTUzODAiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+ICAgIDxwYXRoIGQ9Ik0wIDBoMjR2MjRIMHoiIGZpbGw9Im5vbmUiLz4gICAgPHBhdGggZD0iTTEyIDJDNi40OCAyIDIgNi40OCAyIDEyczQuNDggMTAgMTAgMTAgMTAtNC40OCAxMC0xMFMxNy41MiAyIDEyIDJ6bTEgMTVoLTJ2LTZoMnY2em0wLThoLTJWN2gydjJ6Ii8+PC9zdmc+");background-repeat:no-repeat;content:"";width:1.2em;height:1.2em;left:8px;inset-inline-start:8px;inset-inline-end:unset;top:50%;margin-top:-9px;display:inline-block;position:absolute;line-height:1;opacity:.8}.callout.success{border-color:#0f7d15}html.dark-mode .callout.success{border-color:#4aa850}.callout.success{background-color:#eafdeb}html.dark-mode .callout.success{background-color:#122913}.callout.success{color:#063409}html.dark-mode .callout.success{color:#4aa850}.callout.success:before{background-image:url("data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9IiMzNzZjMzkiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+ICAgIDxwYXRoIGQ9Ik0wIDBoMjR2MjRIMHoiIGZpbGw9Im5vbmUiLz4gICAgPHBhdGggZD0iTTEyIDJDNi40OCAyIDIgNi40OCAyIDEyczQuNDggMTAgMTAgMTAgMTAtNC40OCAxMC0xMFMxNy41MiAyIDEyIDJ6bS0yIDE1bC01LTUgMS40MS0xLjQxTDEwIDE0LjE3bDcuNTktNy41OUwxOSA4bC05IDl6Ii8+PC9zdmc+")}.callout.danger{border-color:#ab0f0e}html.dark-mode .callout.danger{border-color:#e85c5b}.callout.danger{background-color:#fcdbdb}html.dark-mode .callout.danger{background-color:#250505}.callout.danger{color:#4d0706}html.dark-mode .callout.danger{color:#e85c5b}.callout.danger:before{background-image:url("data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9IiNiOTE4MTgiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+ICAgIDxwYXRoIGQ9Ik0xNS43MyAzSDguMjdMMyA4LjI3djcuNDZMOC4yNyAyMWg3LjQ2TDIxIDE1LjczVjguMjdMMTUuNzMgM3pNMTIgMTcuM2MtLjcyIDAtMS4zLS41OC0xLjMtMS4zIDAtLjcyLjU4LTEuMyAxLjMtMS4zLjcyIDAgMS4zLjU4IDEuMyAxLjMgMCAuNzItLjU4IDEuMy0xLjMgMS4zem0xLTQuM2gtMlY3aDJ2NnoiLz4gICAgPHBhdGggZD0iTTAgMGgyNHYyNEgweiIgZmlsbD0ibm9uZSIvPjwvc3ZnPg==")}.callout.info{border-color:#0288d1}html.dark-mode .callout.info{border-color:#0288d1}.callout.info{background-color:#d3efff}html.dark-mode .callout.info{background-color:#001825}.callout.info{color:#01466c}html.dark-mode .callout.info{color:#0288d1}.callout.warning{border-color:#cf4d03}html.dark-mode .callout.warning{border-color:#de8a5a}.callout.warning{background-color:#fee3d3}html.dark-mode .callout.warning{background-color:#30170a}.callout.warning{color:#6a2802}html.dark-mode .callout.warning{color:#de8a5a}.callout.warning:before{background-image:url("data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9IiNiNjUzMWMiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+ICAgIDxwYXRoIGQ9Ik0wIDBoMjR2MjRIMHoiIGZpbGw9Im5vbmUiLz4gICAgPHBhdGggZD0iTTEgMjFoMjJMMTIgMiAxIDIxem0xMi0zaC0ydi0yaDJ2MnptMC00aC0ydi00aDJ2NHoiLz48L3N2Zz4=")}.callout a{color:inherit;text-decoration:underline}a[data-mention-user-id]{display:inline-block;position:relative;color:var(--color-link);padding:.1em .4em;display:-webkit-inline-box;-webkit-box-orient:vertical;-webkit-line-clamp:1;max-width:180px;overflow:hidden;text-overflow:ellipsis;font-size:.92em;margin-inline:.2em;vertical-align:middle;border-radius:3px;border:1px solid rgba(0,0,0,0)}a[data-mention-user-id]:hover{text-decoration:none;border-color:currentColor}a[data-mention-user-id]:after{content:"";background-color:currentColor;opacity:.2;position:absolute;top:0;right:0;width:100%;height:100%;display:block}html,body{background-color:#fff}body{margin:0;padding:0;display:block}body,h1,h2,h3,h4,h5,h6{font-family:"DejaVu Sans",-apple-system,BlinkMacSystemFont,"Segoe UI","Oxygen","Ubuntu","Roboto","Cantarell","Fira Sans","Droid Sans","Helvetica Neue",sans-serif}table{border-spacing:0;border-collapse:collapse}.page-content{overflow:hidden}pre{padding-left:12px}pre:before{display:none}pre code{white-space:pre-wrap}.page-break{page-break-after:always}@media screen{.page-break{border-top:1px solid #ddd}}ul.contents ul li{list-style:circle}.chapter-hint{color:#888;margin-top:32px}.chapter-hint+h1{margin-top:0}body.export-format-pdf{font-size:14px;line-height:1.2}body.export-format-pdf h1,body.export-format-pdf h2,body.export-format-pdf h3,body.export-format-pdf h4,body.export-format-pdf h5,body.export-format-pdf h6{line-height:1.2}body.export-format-pdf table{max-width:800px !important;font-size:.8em;width:100% !important}body.export-format-pdf table td{width:auto !important}body.export-format-pdf .page-content .float{float:none !important}body.export-format-pdf .page-content img.align-left,body.export-format-pdf .page-content img.align-right{float:none !important;clear:both;display:block}body.export-format-pdf.export-engine-dompdf .page-content a>img{max-width:700px}body.export-format-pdf.export-engine-dompdf .page-content td a>img{max-width:100%}/*# sourceMappingURL=export-styles.css.map */ diff --git a/public/dist/legacy-modes.js b/public/dist/legacy-modes.js new file mode 100644 index 00000000000..522db0077c1 --- /dev/null +++ b/public/dist/legacy-modes.js @@ -0,0 +1,3 @@ +// See the "/licenses" URI for full package license details +function Sn(e,n,t,r,i,o){this.indented=e,this.column=n,this.type=t,this.info=r,this.align=i,this.prev=o}function Ke(e,n,t,r){var i=e.indented;return e.context&&e.context.type=="statement"&&t!="statement"&&(i=e.context.indented),e.context=new Sn(i,n,t,r,null,e.context)}function De(e){var n=e.context.type;return(n==")"||n=="]"||n=="}")&&(e.indented=e.context.indented),e.context=e.context.prev}function pt(e,n,t){if(n.prevToken=="variable"||n.prevToken=="type"||/\S(?:[^- ]>|[*\]])\s*$|\*$/.test(e.string.slice(0,t))||n.typeAtEndOfLine&&e.column()==e.indentation())return!0}function xn(e){for(;;){if(!e||e.type=="top")return!0;if(e.type=="}"&&e.prev.info!="namespace")return!1;e=e.prev}}function ne(e){var n=e.statementIndentUnit,t=e.dontAlignCalls,r=e.keywords||{},i=e.types||{},o=e.builtin||{},a=e.blockKeywords||{},s=e.defKeywords||{},_=e.atoms||{},z=e.hooks||{},S=e.multiLineStrings,c=e.indentStatements!==!1,f=e.indentSwitch!==!1,y=e.namespaceSeparator,R=e.isPunctuationChar||/[\[\]{}\(\),;\:\.]/,Q=e.numberStart||/[\d\.]/,U=e.number||/^(?:0x[a-f\d]+|0b[01]+|(?:\d+\.?\d*|\.\d+)(?:e[-+]?\d+)?)(u|ll?|l|f)?/i,d=e.isOperatorChar||/[+\-*&%=<>!?|\/]/,C=e.isIdentifierChar||/[\w\$_\xa1-\uffff]/,E=e.isReservedIdentifier||!1,I,l;function u(m,p){var T=m.next();if(z[T]){var k=z[T](m,p);if(k!==!1)return k}if(T=='"'||T=="'")return p.tokenize=A(T),p.tokenize(m,p);if(Q.test(T)){if(m.backUp(1),m.match(U))return"number";m.next()}if(R.test(T))return I=T,null;if(T=="/"){if(m.eat("*"))return p.tokenize=x,x(m,p);if(m.eat("/"))return m.skipToEnd(),"comment"}if(d.test(T)){for(;!m.match(/^\/[\/*]/,!1)&&m.eat(d););return"operator"}if(m.eatWhile(C),y)for(;m.match(y);)m.eatWhile(C);var $=m.current();return de(r,$)?(de(a,$)&&(I="newstatement"),de(s,$)&&(l=!0),"keyword"):de(i,$)?"type":de(o,$)||E&&E($)?(de(a,$)&&(I="newstatement"),"builtin"):de(_,$)?"atom":"variable"}function A(m){return function(p,T){for(var k=!1,$,ce=!1;($=p.next())!=null;){if($==m&&!k){ce=!0;break}k=!k&&$=="\\"}return(ce||!(k||S))&&(T.tokenize=null),"string"}}function x(m,p){for(var T=!1,k;k=m.next();){if(k=="/"&&T){p.tokenize=null;break}T=k=="*"}return"comment"}function L(m,p){e.typeFirstDefinitions&&m.eol()&&xn(p.context)&&(p.typeAtEndOfLine=pt(m,p,m.pos))}return{name:e.name,startState:function(m){return{tokenize:null,context:new Sn(-m,0,"top",null,!1),indented:0,startOfLine:!0,prevToken:null}},token:function(m,p){var T=p.context;if(m.sol()&&(T.align==null&&(T.align=!1),p.indented=m.indentation(),p.startOfLine=!0),m.eatSpace())return L(m,p),null;I=l=null;var k=(p.tokenize||u)(m,p);if(k=="comment"||k=="meta")return k;if(T.align==null&&(T.align=!0),I==";"||I==":"||I==","&&m.match(/^\s*(?:\/\/.*)?$/,!1))for(;p.context.type=="statement";)De(p);else if(I=="{")Ke(p,m.column(),"}");else if(I=="[")Ke(p,m.column(),"]");else if(I=="(")Ke(p,m.column(),")");else if(I=="}"){for(;T.type=="statement";)T=De(p);for(T.type=="}"&&(T=De(p));T.type=="statement";)T=De(p)}else I==T.type?De(p):c&&((T.type=="}"||T.type=="top")&&I!=";"||T.type=="statement"&&I=="newstatement")&&Ke(p,m.column(),"statement",m.current());if(k=="variable"&&(p.prevToken=="def"||e.typeFirstDefinitions&&pt(m,p,m.start)&&xn(p.context)&&m.match(/^\s*\(/,!1))&&(k="def"),z.token){var $=z.token(m,p,k);$!==void 0&&(k=$)}return k=="def"&&e.styleDefs===!1&&(k="variable"),p.startOfLine=!1,p.prevToken=l?"def":k||I,L(m,p),k},indent:function(m,p,T){if(m.tokenize!=u&&m.tokenize!=null||m.typeAtEndOfLine&&xn(m.context))return null;var k=m.context,$=p&&p.charAt(0),ce=$==k.type;if(k.type=="statement"&&$=="}"&&(k=k.prev),e.dontIndentStatements)for(;k.type=="statement"&&e.dontIndentStatements.test(k.info);)k=k.prev;if(z.indent){var Pe=z.indent(m,k,p,T.unit);if(typeof Pe=="number")return Pe}var yn=k.prev&&k.prev.info=="switch";if(e.allmanIndentation&&/[{(]/.test($)){for(;k.type!="top"&&k.type!="}";)k=k.prev;return k.indented}return k.type=="statement"?k.indented+($=="{"?0:n||T.unit):k.align&&(!t||k.type!=")")?k.column+(ce?0:1):k.type==")"&&!ce?k.indented+(n||T.unit):k.indented+(ce?0:T.unit)+(!ce&&yn&&!/^(?:case|default)\b/.test(p)?T.unit:0)},languageData:{indentOnInput:f?/^\s*(?:case .*?:|default:|\{\}?|\})$/:/^\s*[{}]$/,commentTokens:{line:"//",block:{open:"/*",close:"*/"}},autocomplete:Object.keys(r).concat(Object.keys(i)).concat(Object.keys(o)).concat(Object.keys(_)),...e.languageData}}}function v(e){for(var n={},t=e.split(" "),r=0;r!?|\/#:@]/,hooks:{"@":function(e){return e.eatWhile(/[\w\$_]/),"meta"},'"':function(e,n){return e.match('""')?(n.tokenize=_t,n.tokenize(e,n)):!1},"'":function(e){return e.match(/^(\\[^'\s]+|[^\\'])'/)?"character":(e.eatWhile(/[\w\$_\xa1-\uffff]/),"atom")},"=":function(e,n){var t=n.context;return t.type=="}"&&t.align&&e.eat(">")?(n.context=new Sn(t.indented,t.column,t.type,t.info,null,t.prev),"operator"):!1},"/":function(e,n){return e.eat("*")?(n.tokenize=Le(1),n.tokenize(e,n)):!1}},languageData:{closeBrackets:{brackets:["(","[","{","'",'"','"""']}}});function bi(e){return function(n,t){for(var r=!1,i,o=!1;!n.eol();){if(!e&&!r&&n.match('"')){o=!0;break}if(e&&n.match('"""')){o=!0;break}i=n.next(),!r&&i=="$"&&n.match("{")&&n.skipTo("}"),r=!r&&i=="\\"&&!e}return(o||!e)&&(t.tokenize=null),"string"}}var vi=ne({name:"kotlin",keywords:v("package as typealias class interface this super val operator var fun for is in This throw return annotation break continue object if else while do try when !in !is as? file import where by get set abstract enum open inner override private public internal protected catch finally out final vararg reified dynamic companion constructor init sealed field property receiver param sparam lateinit data inline noinline tailrec external annotation crossinline const operator infix suspend actual expect setparam"),types:v("Boolean Byte Character CharSequence Class ClassLoader Cloneable Comparable Compiler Double Exception Float Integer Long Math Number Object Package Pair Process Runtime Runnable SecurityManager Short StackTraceElement StrictMath String StringBuffer System Thread ThreadGroup ThreadLocal Throwable Triple Void Annotation Any BooleanArray ByteArray Char CharArray DeprecationLevel DoubleArray Enum FloatArray Function Int IntArray Lazy LazyThreadSafetyMode LongArray Nothing ShortArray Unit"),intendSwitch:!1,indentStatements:!1,multiLineStrings:!0,number:/^(?:0x[a-f\d_]+|0b[01_]+|(?:[\d_]+(\.\d+)?|\.\d+)(?:e[-+]?[\d_]+)?)(ul?|l|f)?/i,blockKeywords:v("catch class do else finally for if where try while enum"),defKeywords:v("class val var object interface fun"),atoms:v("true false null this"),hooks:{"@":function(e){return e.eatWhile(/[\w\$_]/),"meta"},"*":function(e,n){return n.prevToken=="."?"variable":"operator"},'"':function(e,n){return n.tokenize=bi(e.match('""')),n.tokenize(e,n)},"/":function(e,n){return e.eat("*")?(n.tokenize=Le(1),n.tokenize(e,n)):!1},indent:function(e,n,t,r){var i=t&&t.charAt(0);if((e.prevToken=="}"||e.prevToken==")")&&t=="")return e.indented;if(e.prevToken=="operator"&&t!="}"&&e.context.type!="}"||e.prevToken=="variable"&&i=="."||(e.prevToken=="}"||e.prevToken==")")&&i==".")return r*2+n.indented;if(n.align&&n.type=="}")return n.indented+(e.context.type==(t||"").charAt(0)?0:r)}},languageData:{closeBrackets:{brackets:["(","[","{","'",'"','"""']}}}),Bc=ne({name:"shader",keywords:v("sampler1D sampler2D sampler3D samplerCube sampler1DShadow sampler2DShadow const attribute uniform varying break continue discard return for while do if else struct in out inout"),types:v("float int bool void vec2 vec3 vec4 ivec2 ivec3 ivec4 bvec2 bvec3 bvec4 mat2 mat3 mat4"),blockKeywords:v("for while do if else struct"),builtin:v("radians degrees sin cos tan asin acos atan pow exp log exp2 sqrt inversesqrt abs sign floor ceil fract mod min max clamp mix step smoothstep length distance dot cross normalize ftransform faceforward reflect refract matrixCompMult lessThan lessThanEqual greaterThan greaterThanEqual equal notEqual any all not texture1D texture1DProj texture1DLod texture1DProjLod texture2D texture2DProj texture2DLod texture2DProjLod texture3D texture3DProj texture3DLod texture3DProjLod textureCube textureCubeLod shadow1D shadow2D shadow1DProj shadow2DProj shadow1DLod shadow2DLod shadow1DProjLod shadow2DProjLod dFdx dFdy fwidth noise1 noise2 noise3 noise4"),atoms:v("true false gl_FragColor gl_SecondaryColor gl_Normal gl_Vertex gl_MultiTexCoord0 gl_MultiTexCoord1 gl_MultiTexCoord2 gl_MultiTexCoord3 gl_MultiTexCoord4 gl_MultiTexCoord5 gl_MultiTexCoord6 gl_MultiTexCoord7 gl_FogCoord gl_PointCoord gl_Position gl_PointSize gl_ClipVertex gl_FrontColor gl_BackColor gl_FrontSecondaryColor gl_BackSecondaryColor gl_TexCoord gl_FogFragCoord gl_FragCoord gl_FrontFacing gl_FragData gl_FragDepth gl_ModelViewMatrix gl_ProjectionMatrix gl_ModelViewProjectionMatrix gl_TextureMatrix gl_NormalMatrix gl_ModelViewMatrixInverse gl_ProjectionMatrixInverse gl_ModelViewProjectionMatrixInverse gl_TextureMatrixTranspose gl_ModelViewMatrixInverseTranspose gl_ProjectionMatrixInverseTranspose gl_ModelViewProjectionMatrixInverseTranspose gl_TextureMatrixInverseTranspose gl_NormalScale gl_DepthRange gl_ClipPlane gl_Point gl_FrontMaterial gl_BackMaterial gl_LightSource gl_LightModel gl_FrontLightModelProduct gl_BackLightModelProduct gl_TextureColor gl_EyePlaneS gl_EyePlaneT gl_EyePlaneR gl_EyePlaneQ gl_FogParameters gl_MaxLights gl_MaxClipPlanes gl_MaxTextureUnits gl_MaxTextureCoords gl_MaxVertexAttribs gl_MaxVertexUniformComponents gl_MaxVaryingFloats gl_MaxVertexTextureImageUnits gl_MaxTextureImageUnits gl_MaxFragmentUniformComponents gl_MaxCombineTextureImageUnits gl_MaxDrawBuffers"),indentSwitch:!1,hooks:{"#":ve}}),Wc=ne({name:"nesc",keywords:v($e+" as atomic async call command component components configuration event generic implementation includes interface module new norace nx_struct nx_union post provides signal task uses abstract extends"),types:Ne,blockKeywords:v(Fe),atoms:v("null true false"),hooks:{"#":ve}}),jc=ne({name:"objectivec",keywords:v($e+" "+bt),types:yt,builtin:v(vt),blockKeywords:v(Fe+" @synthesize @try @catch @finally @autoreleasepool @synchronized"),defKeywords:v(Ze+" @interface @implementation @protocol @class"),dontIndentStatements:/^@.*$/,typeFirstDefinitions:!0,atoms:v("YES NO NULL Nil nil true false nullptr"),isReservedIdentifier:Qe,hooks:{"#":ve,"*":Ge}}),Uc=ne({name:"objectivecpp",keywords:v($e+" "+bt+" "+gt),types:yt,builtin:v(vt),blockKeywords:v(Fe+" @synthesize @try @catch @finally @autoreleasepool @synchronized class try catch"),defKeywords:v(Ze+" @interface @implementation @protocol @class class namespace"),dontIndentStatements:/^@.*$|^template$/,typeFirstDefinitions:!0,atoms:v("YES NO NULL Nil nil true false nullptr"),isReservedIdentifier:Qe,hooks:{"#":ve,"*":Ge,u:be,U:be,L:be,R:be,0:W,1:W,2:W,3:W,4:W,5:W,6:W,7:W,8:W,9:W,token:function(e,n,t){if(t=="variable"&&e.peek()=="("&&(n.prevToken==";"||n.prevToken==null||n.prevToken=="}")&&kt(e.current()))return"def"}},namespaceSeparator:"::"}),Vc=ne({name:"squirrel",keywords:v("base break clone continue const default delete enum extends function in class foreach local resume return this throw typeof yield constructor instanceof static"),types:Ne,blockKeywords:v("case catch class else for foreach if switch try while"),defKeywords:v("function local class"),typeFirstDefinitions:!0,atoms:v("true false null"),hooks:{"#":ve}}),He=null;function xt(e){return function(n,t){for(var r=!1,i,o=!1;!n.eol();){if(!r&&n.match('"')&&(e=="single"||n.match('""'))){o=!0;break}if(!r&&n.match("``")){He=xt(e),o=!0;break}i=n.next(),r=e=="single"&&!r&&i=="\\"}return o&&(t.tokenize=null),"string"}}var Kc=ne({name:"ceylon",keywords:v("abstracts alias assembly assert assign break case catch class continue dynamic else exists extends finally for function given if import in interface is let module new nonempty object of out outer package return satisfies super switch then this throw try value void while"),types:function(e){var n=e.charAt(0);return n===n.toUpperCase()&&n!==n.toLowerCase()},blockKeywords:v("case catch class dynamic else finally for function if interface module new object switch try while"),defKeywords:v("class dynamic function interface module object package value"),builtin:v("abstract actual aliased annotation by default deprecated doc final formal late license native optional sealed see serializable shared suppressWarnings tagged throws variable"),isPunctuationChar:/[\[\]{}\(\),;\:\.`]/,isOperatorChar:/[+\-*&%=<>!?|^~:\/]/,numberStart:/[\d#$]/,number:/^(?:#[\da-fA-F_]+|\$[01_]+|[\d_]+[kMGTPmunpf]?|[\d_]+\.[\d_]+(?:[eE][-+]?\d+|[kMGTPmunpf]|)|)/i,multiLineStrings:!0,typeFirstDefinitions:!0,atoms:v("true false null larger smaller equal empty finished"),indentSwitch:!1,styleDefs:!1,hooks:{"@":function(e){return e.eatWhile(/[\w\$_]/),"meta"},'"':function(e,n){return n.tokenize=xt(e.match('""')?"triple":"single"),n.tokenize(e,n)},"`":function(e,n){return!He||!e.match("`")?!1:(n.tokenize=He,He=null,n.tokenize(e,n))},"'":function(e){return e.match(/^(\\[^'\s]+|[^\\'])'/)?"string.special":(e.eatWhile(/[\w\$_\xa1-\uffff]/),"atom")},token:function(e,n,t){if((t=="variable"||t=="type")&&n.prevToken==".")return"variableName.special"}},languageData:{closeBrackets:{brackets:["(","[","{","'",'"','"""']}}});function yi(e){(e.interpolationStack||(e.interpolationStack=[])).push(e.tokenize)}function wt(e){return(e.interpolationStack||(e.interpolationStack=[])).pop()}function ki(e){return e.interpolationStack?e.interpolationStack.length:0}function wn(e,n,t,r){var i=!1;if(n.eat(e))if(n.eat(e))i=!0;else return"string";function o(a,s){for(var _=!1;!a.eol();){if(!r&&!_&&a.peek()=="$")return yi(s),s.tokenize=_i,"string";var z=a.next();if(z==e&&!_&&(!i||a.match(e+e))){s.tokenize=null;break}_=!r&&!_&&z=="\\"}return"string"}return t.tokenize=o,o(n,t)}function _i(e,n){return e.eat("$"),e.eat("{")?n.tokenize=null:n.tokenize=xi,null}function xi(e,n){return e.eatWhile(/[\w_]/),n.tokenize=wt(n),"variable"}var wi=ne({name:"dart",keywords:v("this super static final const abstract class extends external factory implements mixin get native set typedef with enum throw rethrow assert break case continue default in return new deferred async await covariant try catch finally do else for if switch while import library export part of show hide is as extension on yield late required sealed base interface when inline"),blockKeywords:v("try catch finally do else for if switch while"),builtin:v("void bool num int double dynamic var String Null Never"),atoms:v("true false null"),number:/^(?:0x[a-f\d_]+|(?:[\d_]+\.?[\d_]*|\.[\d_]+)(?:e[-+]?[\d_]+)?)/i,hooks:{"@":function(e){return e.eatWhile(/[\w\$_\.]/),"meta"},"'":function(e,n){return wn("'",e,n,!1)},'"':function(e,n){return wn('"',e,n,!1)},r:function(e,n){var t=e.peek();return t=="'"||t=='"'?wn(e.next(),e,n,!0):!1},"}":function(e,n){return ki(n)>0?(n.tokenize=wt(n),null):!1},"/":function(e,n){return e.eat("*")?(n.tokenize=Le(1),n.tokenize(e,n)):!1},token:function(e,n,t){if(t=="variable"){var r=RegExp("^[_$]*[A-Z][a-zA-Z0-9_$]*$","g");if(r.test(e.current()))return"type"}}}});var St=["false","nil","true"],zt=[".","catch","def","do","if","monitor-enter","monitor-exit","new","quote","recur","set!","throw","try","var"],Et=["*","*'","*1","*2","*3","*agent*","*allow-unresolved-vars*","*assert*","*clojure-version*","*command-line-args*","*compile-files*","*compile-path*","*compiler-options*","*data-readers*","*default-data-reader-fn*","*e","*err*","*file*","*flush-on-newline*","*fn-loader*","*in*","*math-context*","*ns*","*out*","*print-dup*","*print-length*","*print-level*","*print-meta*","*print-namespace-maps*","*print-readably*","*read-eval*","*reader-resolver*","*source-path*","*suppress-read*","*unchecked-math*","*use-context-classloader*","*verbose-defrecords*","*warn-on-reflection*","+","+'","-","-'","->","->>","->ArrayChunk","->Eduction","->Vec","->VecNode","->VecSeq","-cache-protocol-fn","-reset-methods","..","/","<","<=","=","==",">",">=","EMPTY-NODE","Inst","StackTraceElement->vec","Throwable->map","accessor","aclone","add-classpath","add-watch","agent","agent-error","agent-errors","aget","alength","alias","all-ns","alter","alter-meta!","alter-var-root","amap","ancestors","and","any?","apply","areduce","array-map","as->","aset","aset-boolean","aset-byte","aset-char","aset-double","aset-float","aset-int","aset-long","aset-short","assert","assoc","assoc!","assoc-in","associative?","atom","await","await-for","await1","bases","bean","bigdec","bigint","biginteger","binding","bit-and","bit-and-not","bit-clear","bit-flip","bit-not","bit-or","bit-set","bit-shift-left","bit-shift-right","bit-test","bit-xor","boolean","boolean-array","boolean?","booleans","bound-fn","bound-fn*","bound?","bounded-count","butlast","byte","byte-array","bytes","bytes?","case","cast","cat","char","char-array","char-escape-string","char-name-string","char?","chars","chunk","chunk-append","chunk-buffer","chunk-cons","chunk-first","chunk-next","chunk-rest","chunked-seq?","class","class?","clear-agent-errors","clojure-version","coll?","comment","commute","comp","comparator","compare","compare-and-set!","compile","complement","completing","concat","cond","cond->","cond->>","condp","conj","conj!","cons","constantly","construct-proxy","contains?","count","counted?","create-ns","create-struct","cycle","dec","dec'","decimal?","declare","dedupe","default-data-readers","definline","definterface","defmacro","defmethod","defmulti","defn","defn-","defonce","defprotocol","defrecord","defstruct","deftype","delay","delay?","deliver","denominator","deref","derive","descendants","destructure","disj","disj!","dissoc","dissoc!","distinct","distinct?","doall","dorun","doseq","dosync","dotimes","doto","double","double-array","double?","doubles","drop","drop-last","drop-while","eduction","empty","empty?","ensure","ensure-reduced","enumeration-seq","error-handler","error-mode","eval","even?","every-pred","every?","ex-data","ex-info","extend","extend-protocol","extend-type","extenders","extends?","false?","ffirst","file-seq","filter","filterv","find","find-keyword","find-ns","find-protocol-impl","find-protocol-method","find-var","first","flatten","float","float-array","float?","floats","flush","fn","fn?","fnext","fnil","for","force","format","frequencies","future","future-call","future-cancel","future-cancelled?","future-done?","future?","gen-class","gen-interface","gensym","get","get-in","get-method","get-proxy-class","get-thread-bindings","get-validator","group-by","halt-when","hash","hash-combine","hash-map","hash-ordered-coll","hash-set","hash-unordered-coll","ident?","identical?","identity","if-let","if-not","if-some","ifn?","import","in-ns","inc","inc'","indexed?","init-proxy","inst-ms","inst-ms*","inst?","instance?","int","int-array","int?","integer?","interleave","intern","interpose","into","into-array","ints","io!","isa?","iterate","iterator-seq","juxt","keep","keep-indexed","key","keys","keyword","keyword?","last","lazy-cat","lazy-seq","let","letfn","line-seq","list","list*","list?","load","load-file","load-reader","load-string","loaded-libs","locking","long","long-array","longs","loop","macroexpand","macroexpand-1","make-array","make-hierarchy","map","map-entry?","map-indexed","map?","mapcat","mapv","max","max-key","memfn","memoize","merge","merge-with","meta","method-sig","methods","min","min-key","mix-collection-hash","mod","munge","name","namespace","namespace-munge","nat-int?","neg-int?","neg?","newline","next","nfirst","nil?","nnext","not","not-any?","not-empty","not-every?","not=","ns","ns-aliases","ns-imports","ns-interns","ns-map","ns-name","ns-publics","ns-refers","ns-resolve","ns-unalias","ns-unmap","nth","nthnext","nthrest","num","number?","numerator","object-array","odd?","or","parents","partial","partition","partition-all","partition-by","pcalls","peek","persistent!","pmap","pop","pop!","pop-thread-bindings","pos-int?","pos?","pr","pr-str","prefer-method","prefers","primitives-classnames","print","print-ctor","print-dup","print-method","print-simple","print-str","printf","println","println-str","prn","prn-str","promise","proxy","proxy-call-with-super","proxy-mappings","proxy-name","proxy-super","push-thread-bindings","pvalues","qualified-ident?","qualified-keyword?","qualified-symbol?","quot","rand","rand-int","rand-nth","random-sample","range","ratio?","rational?","rationalize","re-find","re-groups","re-matcher","re-matches","re-pattern","re-seq","read","read-line","read-string","reader-conditional","reader-conditional?","realized?","record?","reduce","reduce-kv","reduced","reduced?","reductions","ref","ref-history-count","ref-max-history","ref-min-history","ref-set","refer","refer-clojure","reify","release-pending-sends","rem","remove","remove-all-methods","remove-method","remove-ns","remove-watch","repeat","repeatedly","replace","replicate","require","reset!","reset-meta!","reset-vals!","resolve","rest","restart-agent","resultset-seq","reverse","reversible?","rseq","rsubseq","run!","satisfies?","second","select-keys","send","send-off","send-via","seq","seq?","seqable?","seque","sequence","sequential?","set","set-agent-send-executor!","set-agent-send-off-executor!","set-error-handler!","set-error-mode!","set-validator!","set?","short","short-array","shorts","shuffle","shutdown-agents","simple-ident?","simple-keyword?","simple-symbol?","slurp","some","some->","some->>","some-fn","some?","sort","sort-by","sorted-map","sorted-map-by","sorted-set","sorted-set-by","sorted?","special-symbol?","spit","split-at","split-with","str","string?","struct","struct-map","subs","subseq","subvec","supers","swap!","swap-vals!","symbol","symbol?","sync","tagged-literal","tagged-literal?","take","take-last","take-nth","take-while","test","the-ns","thread-bound?","time","to-array","to-array-2d","trampoline","transduce","transient","tree-seq","true?","type","unchecked-add","unchecked-add-int","unchecked-byte","unchecked-char","unchecked-dec","unchecked-dec-int","unchecked-divide-int","unchecked-double","unchecked-float","unchecked-inc","unchecked-inc-int","unchecked-int","unchecked-long","unchecked-multiply","unchecked-multiply-int","unchecked-negate","unchecked-negate-int","unchecked-remainder-int","unchecked-short","unchecked-subtract","unchecked-subtract-int","underive","unquote","unquote-splicing","unreduced","unsigned-bit-shift-right","update","update-in","update-proxy","uri?","use","uuid?","val","vals","var-get","var-set","var?","vary-meta","vec","vector","vector-of","vector?","volatile!","volatile?","vreset!","vswap!","when","when-first","when-let","when-not","when-some","while","with-bindings","with-bindings*","with-in-str","with-loading-context","with-local-vars","with-meta","with-open","with-out-str","with-precision","with-redefs","with-redefs-fn","xml-seq","zero?","zipmap"],Si=["->","->>","as->","binding","bound-fn","case","catch","comment","cond","cond->","cond->>","condp","def","definterface","defmethod","defn","defmacro","defprotocol","defrecord","defstruct","deftype","do","doseq","dotimes","doto","extend","extend-protocol","extend-type","fn","for","future","if","if-let","if-not","if-some","let","letfn","locking","loop","ns","proxy","reify","struct-map","some->","some->>","try","when","when-first","when-let","when-not","when-some","while","with-bindings","with-bindings*","with-in-str","with-loading-context","with-local-vars","with-meta","with-open","with-out-str","with-precision","with-redefs","with-redefs-fn"],zi=Xe(St),Ei=Xe(zt),Ti=Xe(Et),Ci=Xe(Si),Ii=/^(?:[\\\[\]\s"(),;@^`{}~]|$)/,Ai=/^(?:[+\-]?\d+(?:(?:N|(?:[eE][+\-]?\d+))|(?:\.?\d*(?:M|(?:[eE][+\-]?\d+))?)|\/\d+|[xX][0-9a-fA-F]+|r[0-9a-zA-Z]+)?(?=[\\\[\]\s"#'(),;@^`{}~]|$))/,Oi=/^(?:\\(?:backspace|formfeed|newline|return|space|tab|o[0-7]{3}|u[0-9A-Fa-f]{4}|x[0-9A-Fa-f]{4}|.)?(?=[\\\[\]\s"(),;@^`{}~]|$))/,Ri=/^(?:(?:[^\\\/\[\]\d\s"#'(),;@^`{}~.][^\\\[\]\s"(),;@^`{}~.\/]*(?:\.[^\\\/\[\]\d\s"#'(),;@^`{}~.][^\\\[\]\s"(),;@^`{}~.\/]*)*\/)?(?:\/|[^\\\/\[\]\d\s"#'(),;@^`{}~][^\\\[\]\s"(),;@^`{}~]*)*(?=[\\\[\]\s"(),;@^`{}~]|$))/;function zn(e,n){if(e.eatSpace()||e.eat(","))return["space",null];if(e.match(Ai))return[null,"number"];if(e.match(Oi))return[null,"string.special"];if(e.eat(/^"/))return(n.tokenize=Pi)(e,n);if(e.eat(/^[(\[{]/))return["open","bracket"];if(e.eat(/^[)\]}]/))return["close","bracket"];if(e.eat(/^;/))return e.skipToEnd(),["space","comment"];if(e.eat(/^[#'@^`~]/))return[null,"meta"];var t=e.match(Ri),r=t&&t[0];return r?r==="comment"&&n.lastToken==="("?(n.tokenize=Di)(e,n):qe(r,zi)||r.charAt(0)===":"?["symbol","atom"]:qe(r,Ei)||qe(r,Ti)?["symbol","keyword"]:n.lastToken==="("?["symbol","builtin"]:["symbol","variable"]:(e.next(),e.eatWhile(function(i){return!qe(i,Ii)}),[null,"error"])}function Pi(e,n){for(var t=!1,r;r=e.next();){if(r==='"'&&!t){n.tokenize=zn;break}t=!t&&r==="\\"}return[null,"string"]}function Di(e,n){for(var t=1,r;r=e.next();)if(r===")"&&t--,r==="("&&t++,t===0){e.backUp(1),n.tokenize=zn;break}return["space","comment"]}function Xe(e){for(var n={},t=0;t\/\:]/,Mi=/^\.(and|or|eq|lt|le|gt|ge|ne|not|eqv|neqv)\./i;function Bi(e,n){if(e.match(Mi))return"operator";var t=e.next();if(t=="!")return e.skipToEnd(),"comment";if(t=='"'||t=="'")return n.tokenize=Wi(t),n.tokenize(e,n);if(/[\[\]\(\),]/.test(t))return null;if(/\d/.test(t))return e.eatWhile(/[\w\.]/),"number";if(Ct.test(t))return e.eatWhile(Ct),"operator";e.eatWhile(/[\w\$_]/);var r=e.current().toLowerCase();return Ni.hasOwnProperty(r)?"keyword":Fi.hasOwnProperty(r)||qi.hasOwnProperty(r)?"builtin":"variable"}function Wi(e){return function(n,t){for(var r=!1,i,o=!1;(i=n.next())!=null;){if(i==e&&!r){o=!0;break}r=!r&&i=="\\"}return(o||!r)&&(t.tokenize=null),"string"}}var ji={name:"fortran",startState:function(){return{tokenize:null}},token:function(e,n){if(e.eatSpace())return null;var t=(n.tokenize||Bi)(e,n);return t=="comment"||t=="meta",t}};var Ui={break:!0,case:!0,chan:!0,const:!0,continue:!0,default:!0,defer:!0,else:!0,fallthrough:!0,for:!0,func:!0,go:!0,goto:!0,if:!0,import:!0,interface:!0,map:!0,package:!0,range:!0,return:!0,select:!0,struct:!0,switch:!0,type:!0,var:!0,bool:!0,byte:!0,complex64:!0,complex128:!0,float32:!0,float64:!0,int8:!0,int16:!0,int32:!0,int64:!0,string:!0,uint8:!0,uint16:!0,uint32:!0,uint64:!0,int:!0,uint:!0,uintptr:!0,error:!0,rune:!0,any:!0,comparable:!0},Vi={true:!0,false:!0,iota:!0,nil:!0,append:!0,cap:!0,close:!0,complex:!0,copy:!0,delete:!0,imag:!0,len:!0,make:!0,new:!0,panic:!0,print:!0,println:!0,real:!0,recover:!0},It=/[+\-*&^%:=<>!|\/]/,fe;function Je(e,n){var t=e.next();if(t=='"'||t=="'"||t=="`")return n.tokenize=Ki(t),n.tokenize(e,n);if(/[\d\.]/.test(t))return t=="."?e.match(/^[0-9]+([eE][\-+]?[0-9]+)?/):t=="0"?e.match(/^[xX][0-9a-fA-F]+/)||e.match(/^0[0-7]+/):e.match(/^[0-9]*\.?[0-9]*([eE][\-+]?[0-9]+)?/),"number";if(/[\[\]{}\(\),;\:\.]/.test(t))return fe=t,null;if(t=="/"){if(e.eat("*"))return n.tokenize=At,At(e,n);if(e.eat("/"))return e.skipToEnd(),"comment"}if(It.test(t))return e.eatWhile(It),"operator";e.eatWhile(/[\w\$_\xa1-\uffff]/);var r=e.current();return Ui.propertyIsEnumerable(r)?((r=="case"||r=="default")&&(fe="case"),"keyword"):Vi.propertyIsEnumerable(r)?"atom":"variable"}function Ki(e){return function(n,t){for(var r=!1,i,o=!1;(i=n.next())!=null;){if(i==e&&!r){o=!0;break}r=!r&&e!="`"&&i=="\\"}return(o||!(r||e=="`"))&&(t.tokenize=Je),"string"}}function At(e,n){for(var t=!1,r;r=e.next();){if(r=="/"&&t){n.tokenize=Je;break}t=r=="*"}return"comment"}function Rt(e,n,t,r,i){this.indented=e,this.column=n,this.type=t,this.align=r,this.prev=i}function Tn(e,n,t){return e.context=new Rt(e.indented,n,t,null,e.context)}function Ot(e){if(e.context.prev){var n=e.context.type;return(n==")"||n=="]"||n=="}")&&(e.indented=e.context.indented),e.context=e.context.prev}}var Hi={name:"go",startState:function(e){return{tokenize:null,context:new Rt(-e,0,"top",!1),indented:0,startOfLine:!0}},token:function(e,n){var t=n.context;if(e.sol()&&(t.align==null&&(t.align=!1),n.indented=e.indentation(),n.startOfLine=!0,t.type=="case"&&(t.type="}")),e.eatSpace())return null;fe=null;var r=(n.tokenize||Je)(e,n);return r=="comment"||(t.align==null&&(t.align=!0),fe=="{"?Tn(n,e.column(),"}"):fe=="["?Tn(n,e.column(),"]"):fe=="("?Tn(n,e.column(),")"):fe=="case"?t.type="case":(fe=="}"&&t.type=="}"||fe==t.type)&&Ot(n),n.startOfLine=!1),r},indent:function(e,n,t){if(e.tokenize!=Je&&e.tokenize!=null)return null;var r=e.context,i=n&&n.charAt(0);if(r.type=="case"&&/^(?:case|default)\b/.test(n))return r.indented;var o=i==r.type;return r.align?r.column+(o?0:1):r.indented+(o?0:t.unit)},languageData:{indentOnInput:/^\s([{}]|case |default\s*:)$/,commentTokens:{line:"//",block:{open:"/*",close:"*/"}}}};function en(e){for(var n={},t=e.split(" "),r=0;r"))return X="->",null;if(/[+\-*&%=<>!?|\/~]/.test(t))return e.eatWhile(/[+\-*&%=<>|~]/),"operator";if(e.eatWhile(/[\w\$_]/),t=="@")return e.eatWhile(/[\w\$_\.]/),"meta";if(n.lastToken==".")return"property";if(e.eat(":"))return X="proplabel","property";var r=e.current();return Xi.propertyIsEnumerable(r)?"atom":Zi.propertyIsEnumerable(r)?(Gi.propertyIsEnumerable(r)?X="newstatement":Qi.propertyIsEnumerable(r)&&(X="standalone"),"keyword"):"variable"}In.isBase=!0;function Pt(e,n,t){var r=!1;if(e!="/"&&n.eat(e))if(n.eat(e))r=!0;else return"string";function i(o,a){for(var s=!1,_,z=!r;(_=o.next())!=null;){if(_==e&&!s){if(!r)break;if(o.match(e+e)){z=!0;break}}if(e=='"'&&_=="$"&&!s){if(o.eat("{"))return a.tokenize.push(Ji()),"string";if(o.match(/^\w/,!1))return a.tokenize.push(Yi),"string"}s=!s&&_=="\\"}return z&&a.tokenize.pop(),"string"}return t.tokenize.push(i),i(n,t)}function Ji(){var e=1;function n(t,r){if(t.peek()=="}"){if(e--,e==0)return r.tokenize.pop(),r.tokenize[r.tokenize.length-1](t,r)}else t.peek()=="{"&&e++;return In(t,r)}return n.isBase=!0,n}function Yi(e,n){var t=e.match(/^(\.|[\w\$_]+)/);return(!t||!e.match(t[0]=="."?/^[\w$_]/:/^\./))&&n.tokenize.pop(),t?t[0]=="."?null:"variable":n.tokenize[n.tokenize.length-1](e,n)}function Dt(e,n){for(var t=!1,r;r=e.next();){if(r=="/"&&t){n.tokenize.pop();break}t=r=="*"}return"comment"}function Cn(e,n){return!e||e=="operator"||e=="->"||/[\.\[\{\(,;:]/.test(e)||e=="newstatement"||e=="keyword"||e=="proplabel"||e=="standalone"&&!n}function Lt(e,n,t,r,i){this.indented=e,this.column=n,this.type=t,this.align=r,this.prev=i}function Ye(e,n,t){return e.context=new Lt(e.indented,n,t,null,e.context)}function xe(e){var n=e.context.type;return(n==")"||n=="]"||n=="}")&&(e.indented=e.context.indented),e.context=e.context.prev}var eo={name:"groovy",startState:function(e){return{tokenize:[In],context:new Lt(-e,0,"top",!1),indented:0,startOfLine:!0,lastToken:null}},token:function(e,n){var t=n.context;if(e.sol()&&(t.align==null&&(t.align=!1),n.indented=e.indentation(),n.startOfLine=!0,t.type=="statement"&&!Cn(n.lastToken,!0)&&(xe(n),t=n.context)),e.eatSpace())return null;X=null;var r=n.tokenize[n.tokenize.length-1](e,n);if(r=="comment")return r;if(t.align==null&&(t.align=!0),(X==";"||X==":")&&t.type=="statement")xe(n);else if(X=="->"&&t.type=="statement"&&t.prev.type=="}")xe(n),n.context.align=!1;else if(X=="{")Ye(n,e.column(),"}");else if(X=="[")Ye(n,e.column(),"]");else if(X=="(")Ye(n,e.column(),")");else if(X=="}"){for(;t.type=="statement";)t=xe(n);for(t.type=="}"&&(t=xe(n));t.type=="statement";)t=xe(n)}else X==t.type?xe(n):(t.type=="}"||t.type=="top"||t.type=="statement"&&X=="newstatement")&&Ye(n,e.column(),"statement");return n.startOfLine=!1,n.lastToken=X||r,r},indent:function(e,n,t){if(!e.tokenize[e.tokenize.length-1].isBase)return null;var r=n&&n.charAt(0),i=e.context;i.type=="statement"&&!Cn(e.lastToken,!0)&&(i=i.prev);var o=r==i.type;return i.type=="statement"?i.indented+(r=="{"?0:t.unit):i.align?i.column+(o?0:1):i.indented+(o?0:t.unit)},languageData:{indentOnInput:/^\s*[{}]$/,commentTokens:{line:"//",block:{open:"/*",close:"*/"}},closeBrackets:{brackets:["(","[","{","'",'"',"'''",'"""']}}};function j(e){return{type:e,style:"keyword"}}var $t=j("keyword a"),An=j("keyword b"),Me=j("keyword c"),no=j("operator"),On={type:"atom",style:"atom"},nn={type:"attribute",style:"attribute"},J=j("typedef"),Nt={if:$t,while:$t,else:An,do:An,try:An,return:Me,break:Me,continue:Me,new:Me,throw:Me,var:j("var"),inline:nn,static:nn,using:j("import"),public:nn,private:nn,cast:j("cast"),import:j("import"),macro:j("macro"),function:j("function"),catch:j("catch"),untyped:j("untyped"),callback:j("cb"),for:j("for"),switch:j("switch"),case:j("case"),default:j("default"),in:no,never:j("property_access"),trace:j("trace"),class:J,abstract:J,enum:J,interface:J,typedef:J,extends:J,implements:J,dynamic:J,true:On,false:On,null:On},Rn=/[+\-*&%=<>!?|]/;function Ft(e,n,t){return n.tokenize=t,t(e,n)}function Mt(e,n){for(var t=!1,r;(r=e.next())!=null;){if(r==n&&!t)return!0;t=!t&&r=="\\"}}var J,Bt;function ee(e,n,t){return J=e,Bt=t,n}function tn(e,n){var t=e.next();if(t=='"'||t=="'")return Ft(e,n,to(t));if(/[\[\]{}\(\),;\:\.]/.test(t))return ee(t);if(t=="0"&&e.eat(/x/i))return e.eatWhile(/[\da-f]/i),ee("number","number");if(/\d/.test(t)||t=="-"&&e.eat(/\d/))return e.match(/^\d*(?:\.\d*(?!\.))?(?:[eE][+\-]?\d+)?/),ee("number","number");if(n.reAllowed&&t=="~"&&e.eat(/\//))return Mt(e,"/"),e.eatWhile(/[gimsu]/),ee("regexp","string.special");if(t=="/")return e.eat("*")?Ft(e,n,ro):e.eat("/")?(e.skipToEnd(),ee("comment","comment")):(e.eatWhile(Rn),ee("operator",null,e.current()));if(t=="#")return e.skipToEnd(),ee("conditional","meta");if(t=="@")return e.eat(/:/),e.eatWhile(/[\w_]/),ee("metadata","meta");if(Rn.test(t))return e.eatWhile(Rn),ee("operator",null,e.current());var r;if(/[A-Z]/.test(t))return e.eatWhile(/[\w_<>]/),r=e.current(),ee("type","type",r);e.eatWhile(/[\w_]/);var r=e.current(),i=Nt.propertyIsEnumerable(r)&&Nt[r];return i&&n.kwAllowed?ee(i.type,i.style,r):ee("variable","variable",r)}function to(e){return function(n,t){return Mt(n,e)&&(t.tokenize=tn),ee("string","string")}}function ro(e,n){for(var t=!1,r;r=e.next();){if(r=="/"&&t){n.tokenize=tn;break}t=r=="*"}return ee("comment","comment")}var Wt={atom:!0,number:!0,variable:!0,string:!0,regexp:!0};function jt(e,n,t,r,i,o){this.indented=e,this.column=n,this.type=t,this.prev=i,this.info=o,r!=null&&(this.align=r)}function io(e,n){for(var t=e.localVars;t;t=t.next)if(t.name==n)return!0}function oo(e,n,t,r,i){var o=e.cc;for(F.state=e,F.stream=i,F.marked=null,F.cc=o,e.lexical.hasOwnProperty("align")||(e.lexical.align=!0);;){var a=o.length?o.pop():pe;if(a(t,r)){for(;o.length&&o[o.length-1].lex;)o.pop()();return F.marked?F.marked:t=="variable"&&io(e,r)?"variableName.local":t=="variable"&&ao(e,r)?"variableName.special":n}}}function ao(e,n){if(/[a-z]/.test(n.charAt(0)))return!1;for(var t=e.importedtypes.length,r=0;r=0;e--)F.cc.push(arguments[e])}function g(){return me.apply(null,arguments),!0}function qt(e,n){for(var t=n;t;t=t.next)if(t.name==e)return!0;return!1}function on(e){var n=F.state;if(n.context){if(F.marked="def",qt(e,n.localVars))return;n.localVars={name:e,next:n.localVars}}else if(n.globalVars){if(qt(e,n.globalVars))return;n.globalVars={name:e,next:n.globalVars}}}var lo={name:"this",next:null};function Dn(){F.state.context||(F.state.localVars=lo),F.state.context={prev:F.state.context,vars:F.state.localVars}}function rn(){F.state.localVars=F.state.context.vars,F.state.context=F.state.context.prev}rn.lex=!0;function V(e,n){var t=function(){var r=F.state;r.lexical=new jt(r.indented,F.stream.column(),e,null,r.lexical,n)};return t.lex=!0,t}function B(){var e=F.state;e.lexical.prev&&(e.lexical.type==")"&&(e.indented=e.lexical.indented),e.lexical=e.lexical.prev)}B.lex=!0;function Y(e){function n(t){return t==e?g():e==";"?me():g(n)}return n}function pe(e){return e=="@"?g(Ln):e=="var"?g(V("vardef"),Nn,Y(";"),B):e=="keyword a"?g(V("form"),re,pe,B):e=="keyword b"?g(V("form"),pe,B):e=="{"?g(V("}"),Dn,$n,B,rn):e==";"?g():e=="attribute"?g(Vt):e=="function"?g(Be):e=="for"?g(V("form"),Y("("),V(")"),mo,Y(")"),B,pe,B):e=="variable"?g(V("stat"),so):e=="switch"?g(V("form"),re,V("}","switch"),Y("{"),$n,B,B):e=="case"?g(re,Y(":")):e=="default"?g(Y(":")):e=="catch"?g(V("form"),Dn,Y("("),Zt,Y(")"),pe,B,rn):e=="import"?g(Kt,Y(";")):e=="typedef"?g(uo):me(V("stat"),re,Y(";"),B)}function re(e){return Wt.hasOwnProperty(e)||e=="type"?g(ue):e=="function"?g(Be):e=="keyword c"?g(Pn):e=="("?g(V(")"),Pn,Y(")"),B,ue):e=="operator"?g(re):e=="["?g(V("]"),Ee(Pn,"]"),B,ue):e=="{"?g(V("}"),Ee(po,"}"),B,ue):g()}function Pn(e){return e.match(/[;\}\)\],]/)?me():me(re)}function ue(e,n){if(e=="operator"&&/\+\+|--/.test(n))return g(ue);if(e=="operator"||e==":")return g(re);if(e!=";"){if(e=="(")return g(V(")"),Ee(re,")"),B,ue);if(e==".")return g(fo,ue);if(e=="[")return g(V("]"),re,Y("]"),B,ue)}}function Vt(e){if(e=="attribute")return g(Vt);if(e=="function")return g(Be);if(e=="var")return g(Nn)}function Ln(e){if(e==":"||e=="variable")return g(Ln);if(e=="(")return g(V(")"),Ee(co,")"),B,pe)}function co(e){if(e=="variable")return g()}function Kt(e,n){if(e=="variable"&&/[A-Z]/.test(n.charAt(0)))return Ut(n),g();if(e=="variable"||e=="property"||e=="."||n=="*")return g(Kt)}function uo(e,n){if(e=="variable"&&/[A-Z]/.test(n.charAt(0)))return Ut(n),g();if(e=="type"&&/[A-Z]/.test(n.charAt(0)))return g()}function so(e){return e==":"?g(B,pe):me(ue,Y(";"),B)}function fo(e){if(e=="variable")return F.marked="property",g()}function po(e){if(e=="variable"&&(F.marked="property"),Wt.hasOwnProperty(e))return g(Y(":"),re)}function Ee(e,n){function t(r){return r==","?g(e,t):r==n?g():g(Y(n))}return function(r){return r==n?g():me(e,t)}}function $n(e){return e=="}"?g():me(pe,$n)}function Nn(e,n){return e=="variable"?(on(n),g(an,Ht)):g()}function Ht(e,n){if(n=="=")return g(re,Ht);if(e==",")return g(Nn)}function mo(e,n){return e=="variable"?(on(n),g(ho,re)):me()}function ho(e,n){if(n=="in")return g()}function Be(e,n){if(e=="variable"||e=="type")return on(n),g(Be);if(n=="new")return g(Be);if(e=="(")return g(V(")"),Dn,Ee(Zt,")"),B,an,pe,rn)}function an(e){if(e==":")return g(go)}function go(e){if(e=="type"||e=="variable")return g();if(e=="{")return g(V("}"),Ee(bo,"}"),B)}function bo(e){if(e=="variable")return g(an)}function Zt(e,n){if(e=="variable")return on(n),g(an)}var vo={name:"haxe",startState:function(e){var n=["Int","Float","String","Void","Std","Bool","Dynamic","Array"],t={tokenize:tn,reAllowed:!0,kwAllowed:!0,cc:[],lexical:new jt(-e,0,"block",!1),importedtypes:n,context:null,indented:0};return t},token:function(e,n){if(e.sol()&&(n.lexical.hasOwnProperty("align")||(n.lexical.align=!1),n.indented=e.indentation()),e.eatSpace())return null;var t=n.tokenize(e,n);return J=="comment"?t:(n.reAllowed=!!(J=="operator"||J=="keyword c"||J.match(/^[\[{}\(,;:]$/)),n.kwAllowed=J!=".",oo(n,t,J,Bt,e))},indent:function(e,n,t){if(e.tokenize!=tn)return 0;var r=n&&n.charAt(0),i=e.lexical;i.type=="stat"&&r=="}"&&(i=i.prev);var o=i.type,a=r==o;return o=="vardef"?i.indented+4:o=="form"&&r=="{"?i.indented:o=="stat"||o=="form"?i.indented+t.unit:i.info=="switch"&&!a?i.indented+(/^(?:case|default)\b/.test(n)?t.unit:2*t.unit):i.align?i.column+(a?0:1):i.indented+(a?0:t.unit)},languageData:{indentOnInput:/^\s*[{}]$/,commentTokens:{line:"//",block:{open:"/*",close:"*/"}}}};function Mn(e,n,t){return n(t),t(e,n)}var yo=/[a-z_]/,ko=/[A-Z]/,Fn=/\d/,_o=/[0-9A-Fa-f]/,xo=/[0-7]/,Gt=/[a-z_A-Z0-9'\xa1-\uffff]/,qn=/[-!#$%&*+.\/<=>?@\\^|~:]/,wo=/[(),;[\]`{}]/,Xt=/[ \t\v\f]/;function Te(e,n){if(e.eatWhile(Xt))return null;var t=e.next();if(wo.test(t)){if(t=="{"&&e.eat("-")){var r="comment";return e.eat("#")&&(r="meta"),Mn(e,n,Jt(r,1))}return null}if(t=="'")return e.eat("\\"),e.next(),e.eat("'")?"string":"error";if(t=='"')return Mn(e,n,Yt);if(ko.test(t))return e.eatWhile(Gt),e.eat(".")?"qualifier":"type";if(yo.test(t))return e.eatWhile(Gt),"variable";if(Fn.test(t)){if(t=="0"){if(e.eat(/[xX]/))return e.eatWhile(_o),"integer";if(e.eat(/[oO]/))return e.eatWhile(xo),"number"}e.eatWhile(Fn);var r="number";return e.match(/^\.\d+/)&&(r="number"),e.eat(/[eE]/)&&(r="number",e.eat(/[-+]/),e.eatWhile(Fn)),r}return t=="."&&e.eat(".")?"keyword":qn.test(t)?t=="-"&&e.eat(/-/)&&(e.eatWhile(/-/),!e.eat(qn))?(e.skipToEnd(),"comment"):(e.eatWhile(qn),"variable"):"error"}function Jt(e,n){return n==0?Te:function(t,r){for(var i=n;!t.eol();){var o=t.next();if(o=="{"&&t.eat("-"))++i;else if(o=="-"&&t.eat("}")&&(--i,i==0))return r(Te),e}return r(Jt(e,i)),e}}function Yt(e,n){for(;!e.eol();){var t=e.next();if(t=='"')return n(Te),"string";if(t=="\\"){if(e.eol()||e.eat(Xt))return n(So),"string";e.eat("&")||e.next()}}return n(Te),"error"}function So(e,n){return e.eat("\\")?Mn(e,n,Yt):(e.next(),n(Te),"error")}var Qt=(function(){var e={};function n(t){return function(){for(var r=0;r","@","~","=>"),n("builtin")("!!","$!","$","&&","+","++","-",".","/","/=","<","<*","<=","<$>","<*>","=<<","==",">",">=",">>",">>=","^","^^","||","*","*>","**"),n("builtin")("Applicative","Bool","Bounded","Char","Double","EQ","Either","Enum","Eq","False","FilePath","Float","Floating","Fractional","Functor","GT","IO","IOError","Int","Integer","Integral","Just","LT","Left","Maybe","Monad","Nothing","Num","Ord","Ordering","Rational","Read","ReadS","Real","RealFloat","RealFrac","Right","Show","ShowS","String","True"),n("builtin")("abs","acos","acosh","all","and","any","appendFile","asTypeOf","asin","asinh","atan","atan2","atanh","break","catch","ceiling","compare","concat","concatMap","const","cos","cosh","curry","cycle","decodeFloat","div","divMod","drop","dropWhile","either","elem","encodeFloat","enumFrom","enumFromThen","enumFromThenTo","enumFromTo","error","even","exp","exponent","fail","filter","flip","floatDigits","floatRadix","floatRange","floor","fmap","foldl","foldl1","foldr","foldr1","fromEnum","fromInteger","fromIntegral","fromRational","fst","gcd","getChar","getContents","getLine","head","id","init","interact","ioError","isDenormalized","isIEEE","isInfinite","isNaN","isNegativeZero","iterate","last","lcm","length","lex","lines","log","logBase","lookup","map","mapM","mapM_","max","maxBound","maximum","maybe","min","minBound","minimum","mod","negate","not","notElem","null","odd","or","otherwise","pi","pred","print","product","properFraction","pure","putChar","putStr","putStrLn","quot","quotRem","read","readFile","readIO","readList","readLn","readParen","reads","readsPrec","realToFrac","recip","rem","repeat","replicate","return","reverse","round","scaleFloat","scanl","scanl1","scanr","scanr1","seq","sequence","sequence_","show","showChar","showList","showParen","showString","shows","showsPrec","significand","signum","sin","sinh","snd","span","splitAt","sqrt","subtract","succ","sum","tail","take","takeWhile","tan","tanh","toEnum","toInteger","toRational","truncate","uncurry","undefined","unlines","until","unwords","unzip","unzip3","userError","words","writeFile","zip","zip3","zipWith","zipWith3"),e})(),zo={name:"haskell",startState:function(){return{f:Te}},copyState:function(e){return{f:e.f}},token:function(e,n){var t=n.f(e,function(i){n.f=i}),r=e.current();return Qt.hasOwnProperty(r)?Qt[r]:t},languageData:{commentTokens:{line:"--",block:{open:"{-",close:"-}"}}}};function ye(e,n,t){return typeof t>"u"&&(t=""),typeof n>"u"&&(n="\\b"),new RegExp("^"+t+"(("+e.join(")|(")+"))"+n)}var Eo="\\\\[0-7]{1,3}",To="\\\\x[A-Fa-f0-9]{1,2}",Co=`\\\\[abefnrtv0%?'"\\\\]`,Io="([^\\u0027\\u005C\\uD800-\\uDFFF]|[\\uD800-\\uDFFF][\\uDC00-\\uDFFF])",tr=["[<>]:","[<>=]=","<<=?",">>>?=?","=>","--?>","<--[->]?","\\/\\/","\\.{2,3}","[\\.\\\\%*+\\-<>!\\/^|&]=?","\\?","\\$","~",":"],Ao=ye(["[<>]:","[<>=]=","[!=]==","<<=?",">>>?=?","=>?","--?>","<--[->]?","\\/\\/","[\\\\%*+\\-<>!\\/^|&\\u00F7\\u22BB]=?","\\?","\\$","~",":","\\u00D7","\\u2208","\\u2209","\\u220B","\\u220C","\\u2218","\\u221A","\\u221B","\\u2229","\\u222A","\\u2260","\\u2264","\\u2265","\\u2286","\\u2288","\\u228A","\\u22C5","\\b(in|isa)\\b(?!.?\\()"],""),Oo=/^[;,()[\]{}]/,Ro=/^[_A-Za-z\u00A1-\u2217\u2219-\uFFFF][\w\u00A1-\u2217\u2219-\uFFFF]*!*/,Po=ye([Eo,To,Co,Io],"'"),Do=["begin","function","type","struct","immutable","let","macro","for","while","quote","if","else","elseif","try","finally","catch","do"],Lo=["end","else","elseif","catch","finally"],rr=["if","else","elseif","while","for","begin","let","end","do","try","catch","finally","return","break","continue","global","local","const","export","import","importall","using","function","where","macro","module","baremodule","struct","type","mutable","immutable","quote","typealias","abstract","primitive","bitstype"],ir=["true","false","nothing","NaN","Inf"],$o=ye(Do),No=ye(Lo),Fo=ye(rr),qo=ye(ir),Mo=/^@[_A-Za-z\u00A1-\uFFFF][\w\u00A1-\uFFFF]*!*/,Bo=/^:[_A-Za-z\u00A1-\uFFFF][\w\u00A1-\uFFFF]*!*/,Wo=/^(`|([_A-Za-z\u00A1-\uFFFF]*"("")?))/,jo=ye(tr,"","@"),Uo=ye(tr,"",":");function er(e){return e.nestedArrays>0}function Vo(e){return e.nestedGenerators>0}function nr(e,n){return typeof n>"u"&&(n=0),e.scopes.length<=n?null:e.scopes[e.scopes.length-(n+1)]}function Ce(e,n){if(e.match("#=",!1))return n.tokenize=Ho,n.tokenize(e,n);var t=n.leavingExpr;if(e.sol()&&(t=!1),n.leavingExpr=!1,t&&e.match(/^'+/))return"operator";if(e.match(/\.{4,}/))return"error";if(e.match(/\.{1,3}/))return"operator";if(e.eatSpace())return null;var r=e.peek();if(r==="#")return e.skipToEnd(),"comment";if(r==="["&&(n.scopes.push("["),n.nestedArrays++),r==="("&&(n.scopes.push("("),n.nestedGenerators++),er(n)&&r==="]"){for(;n.scopes.length&&nr(n)!=="[";)n.scopes.pop();n.scopes.pop(),n.nestedArrays--,n.leavingExpr=!0}if(Vo(n)&&r===")"){for(;n.scopes.length&&nr(n)!=="(";)n.scopes.pop();n.scopes.pop(),n.nestedGenerators--,n.leavingExpr=!0}if(er(n)){if(n.lastToken=="end"&&e.match(":"))return"operator";if(e.match("end"))return"number"}var i;if((i=e.match($o,!1))&&n.scopes.push(i[0]),e.match(No,!1)&&n.scopes.pop(),e.match(/^::(?![:\$])/))return n.tokenize=Ko,n.tokenize(e,n);if(!t&&(e.match(Bo)||e.match(Uo)))return"builtin";if(e.match(Ao))return"operator";if(e.match(/^\.?\d/,!1)){var o=RegExp(/^im\b/),a=!1;if(e.match(/^0x\.[0-9a-f_]+p[\+\-]?[_\d]+/i)&&(a=!0),e.match(/^0x[0-9a-f_]+/i)&&(a=!0),e.match(/^0b[01_]+/i)&&(a=!0),e.match(/^0o[0-7_]+/i)&&(a=!0),e.match(/^(?:(?:\d[_\d]*)?\.(?!\.)(?:\d[_\d]*)?|\d[_\d]*\.(?!\.)(?:\d[_\d]*))?([Eef][\+\-]?[_\d]+)?/i)&&(a=!0),e.match(/^\d[_\d]*(e[\+\-]?\d+)?/i)&&(a=!0),a)return e.match(o),n.leavingExpr=!0,"number"}if(e.match("'"))return n.tokenize=Zo,n.tokenize(e,n);if(e.match(Wo))return n.tokenize=Go(e.current()),n.tokenize(e,n);if(e.match(Mo)||e.match(jo))return"meta";if(e.match(Oo))return null;if(e.match(Fo))return"keyword";if(e.match(qo))return"builtin";var s=n.isDefinition||n.lastToken=="function"||n.lastToken=="macro"||n.lastToken=="type"||n.lastToken=="struct"||n.lastToken=="immutable";return e.match(Ro)?s?e.peek()==="."?(n.isDefinition=!0,"variable"):(n.isDefinition=!1,"def"):(n.leavingExpr=!0,"variable"):(e.next(),"error")}function Ko(e,n){return e.match(/.*?(?=[,;{}()=\s]|$)/),e.match("{")?n.nestedParameters++:e.match("}")&&n.nestedParameters>0&&n.nestedParameters--,n.nestedParameters>0?e.match(/.*?(?={|})/)||e.next():n.nestedParameters==0&&(n.tokenize=Ce),"builtin"}function Ho(e,n){return e.match("#=")&&n.nestedComments++,e.match(/.*?(?=(#=|=#))/)||e.skipToEnd(),e.match("=#")&&(n.nestedComments--,n.nestedComments==0&&(n.tokenize=Ce)),"comment"}function Zo(e,n){var t=!1,r;if(e.match(Po))t=!0;else if(r=e.match(/\\u([a-f0-9]{1,4})(?=')/i)){var i=parseInt(r[1],16);(i<=55295||i>=57344)&&(t=!0,e.next())}else if(r=e.match(/\\U([A-Fa-f0-9]{5,8})(?=')/)){var i=parseInt(r[1],16);i<=1114111&&(t=!0,e.next())}return t?(n.leavingExpr=!0,n.tokenize=Ce,"string"):(e.match(/^[^']+(?=')/)||e.skipToEnd(),e.match("'")&&(n.tokenize=Ce),"error")}function Go(e){e.substr(-3)==='"""'?e='"""':e.substr(-1)==='"'&&(e='"');function n(t,r){if(t.eat("\\"))t.next();else{if(t.match(e))return r.tokenize=Ce,r.leavingExpr=!0,"string";t.eat(/[`"]/)}return t.eatWhile(/[^\\`"]/),"string"}return n}var Qo={name:"julia",startState:function(){return{tokenize:Ce,scopes:[],lastToken:null,leavingExpr:!1,isDefinition:!1,nestedArrays:0,nestedComments:0,nestedGenerators:0,nestedParameters:0,firstParenPos:-1}},token:function(e,n){var t=n.tokenize(e,n),r=e.current();return r&&t&&(n.lastToken=r),t},indent:function(e,n,t){var r=0;return(n==="]"||n===")"||/^end\b/.test(n)||/^else/.test(n)||/^catch\b/.test(n)||/^elseif\b/.test(n)||/^finally/.test(n))&&(r=-1),(e.scopes.length+r)*t.unit},languageData:{indentOnInput:/^\s*(end|else|catch|finally)\b$/,commentTokens:{line:"#",block:{open:"#=",close:"=#"}},closeBrackets:{brackets:["(","[","{",'"']},autocomplete:rr.concat(ir)}};function Xo(e){return new RegExp("^(?:"+e.join("|")+")","i")}function ln(e){return new RegExp("^(?:"+e.join("|")+")$","i")}var Jo=ln(["_G","_VERSION","assert","collectgarbage","dofile","error","getfenv","getmetatable","ipairs","load","loadfile","loadstring","module","next","pairs","pcall","print","rawequal","rawget","rawset","require","select","setfenv","setmetatable","tonumber","tostring","type","unpack","xpcall","coroutine.create","coroutine.resume","coroutine.running","coroutine.status","coroutine.wrap","coroutine.yield","debug.debug","debug.getfenv","debug.gethook","debug.getinfo","debug.getlocal","debug.getmetatable","debug.getregistry","debug.getupvalue","debug.setfenv","debug.sethook","debug.setlocal","debug.setmetatable","debug.setupvalue","debug.traceback","close","flush","lines","read","seek","setvbuf","write","io.close","io.flush","io.input","io.lines","io.open","io.output","io.popen","io.read","io.stderr","io.stdin","io.stdout","io.tmpfile","io.type","io.write","math.abs","math.acos","math.asin","math.atan","math.atan2","math.ceil","math.cos","math.cosh","math.deg","math.exp","math.floor","math.fmod","math.frexp","math.huge","math.ldexp","math.log","math.log10","math.max","math.min","math.modf","math.pi","math.pow","math.rad","math.random","math.randomseed","math.sin","math.sinh","math.sqrt","math.tan","math.tanh","os.clock","os.date","os.difftime","os.execute","os.exit","os.getenv","os.remove","os.rename","os.setlocale","os.time","os.tmpname","package.cpath","package.loaded","package.loaders","package.loadlib","package.path","package.preload","package.seeall","string.byte","string.char","string.dump","string.find","string.format","string.gmatch","string.gsub","string.len","string.lower","string.match","string.rep","string.reverse","string.sub","string.upper","table.concat","table.insert","table.maxn","table.remove","table.sort"]),Yo=ln(["and","break","elseif","false","nil","not","or","return","true","function","end","if","then","else","do","while","repeat","until","for","in","local"]),ea=ln(["function","if","repeat","do","\\(","{"]),na=ln(["end","until","\\)","}"]),ta=Xo(["end","until","\\)","}","else","elseif"]);function or(e){for(var n=0;e.eat("=");)++n;return e.eat("["),n}function Bn(e,n){var t=e.next();return t=="-"&&e.eat("-")?e.eat("[")&&e.eat("[")?(n.cur=ar(or(e),"comment"))(e,n):(e.skipToEnd(),"comment"):t=='"'||t=="'"?(n.cur=ra(t))(e,n):t=="["&&/[\[=]/.test(e.peek())?(n.cur=ar(or(e),"string"))(e,n):/\d/.test(t)?(e.eatWhile(/[\w.%]/),"number"):/[\w_]/.test(t)?(e.eatWhile(/[\w\\\-_.]/),"variable"):null}function ar(e,n){return function(t,r){for(var i=null,o;(o=t.next())!=null;)if(i==null)o=="]"&&(i=0);else if(o=="=")++i;else if(o=="]"&&i==e){r.cur=Bn;break}else i=null;return n}}function ra(e){return function(n,t){for(var r=!1,i;(i=n.next())!=null&&!(i==e&&!r);)r=!r&&i=="\\";return r||(t.cur=Bn),"string"}}var ia={name:"lua",startState:function(){return{basecol:0,indentDepth:0,cur:Bn}},token:function(e,n){if(e.eatSpace())return null;var t=n.cur(e,n),r=e.current();return t=="variable"&&(Yo.test(r)?t="keyword":Jo.test(r)&&(t="builtin")),t!="comment"&&t!="string"&&(ea.test(r)?++n.indentDepth:na.test(r)&&--n.indentDepth),t},indent:function(e,n,t){var r=ta.test(n);return e.basecol+t.unit*(e.indentDepth-(r?1:0))},languageData:{indentOnInput:/^\s*(?:end|until|else|\)|\})$/,commentTokens:{line:"--",block:{open:"--[[",close:"]]--"}}}};function Wn(e){var n={as:"keyword",do:"keyword",else:"keyword",end:"keyword",exception:"keyword",fun:"keyword",functor:"keyword",if:"keyword",in:"keyword",include:"keyword",let:"keyword",of:"keyword",open:"keyword",rec:"keyword",struct:"keyword",then:"keyword",type:"keyword",val:"keyword",while:"keyword",with:"keyword"},t=e.extraWords||{};for(var r in t)t.hasOwnProperty(r)&&(n[r]=e.extraWords[r]);var i=[];for(var o in n)i.push(o);function a(S,c){var f=S.next();if(f==='"')return c.tokenize=s,c.tokenize(S,c);if(f==="{"&&S.eat("|"))return c.longString=!0,c.tokenize=z,c.tokenize(S,c);if(f==="("&&S.match(/^\*(?!\))/))return c.commentLevel++,c.tokenize=_,c.tokenize(S,c);if(f==="~"||f==="?")return S.eatWhile(/\w/),"variableName.special";if(f==="`")return S.eatWhile(/\w/),"quote";if(f==="/"&&e.slashComments&&S.eat("/"))return S.skipToEnd(),"comment";if(/\d/.test(f))return f==="0"&&S.eat(/[bB]/)&&S.eatWhile(/[01]/),f==="0"&&S.eat(/[xX]/)&&S.eatWhile(/[0-9a-fA-F]/),f==="0"&&S.eat(/[oO]/)?S.eatWhile(/[0-7]/):(S.eatWhile(/[\d_]/),S.eat(".")&&S.eatWhile(/[\d]/),S.eat(/[eE]/)&&S.eatWhile(/[\d\-+]/)),"number";if(/[+\-*&%=<>!?|@\.~:]/.test(f))return"operator";if(/[\w\xa1-\uffff]/.test(f)){S.eatWhile(/[\w\xa1-\uffff]/);var y=S.current();return n.hasOwnProperty(y)?n[y]:"variable"}return null}function s(S,c){for(var f,y=!1,R=!1;(f=S.next())!=null;){if(f==='"'&&!R){y=!0;break}R=!R&&f==="\\"}return y&&!R&&(c.tokenize=a),"string"}function _(S,c){for(var f,y;c.commentLevel>0&&(y=S.next())!=null;)f==="("&&y==="*"&&c.commentLevel++,f==="*"&&y===")"&&c.commentLevel--,f=y;return c.commentLevel<=0&&(c.tokenize=a),"comment"}function z(S,c){for(var f,y;c.longString&&(y=S.next())!=null;)f==="|"&&y==="}"&&(c.longString=!1),f=y;return c.longString||(c.tokenize=a),"string"}return{startState:function(){return{tokenize:a,commentLevel:0,longString:!1}},token:function(S,c){return S.eatSpace()?null:c.tokenize(S,c)},languageData:{autocomplete:i,commentTokens:{line:e.slashComments?"//":void 0,block:{open:"(*",close:"*)"}}}}}var oa=Wn({name:"ocaml",extraWords:{and:"keyword",assert:"keyword",begin:"keyword",class:"keyword",constraint:"keyword",done:"keyword",downto:"keyword",external:"keyword",function:"keyword",initializer:"keyword",lazy:"keyword",match:"keyword",method:"keyword",module:"keyword",mutable:"keyword",new:"keyword",nonrec:"keyword",object:"keyword",private:"keyword",sig:"keyword",to:"keyword",try:"keyword",value:"keyword",virtual:"keyword",when:"keyword",raise:"builtin",failwith:"builtin",true:"builtin",false:"builtin",asr:"builtin",land:"builtin",lor:"builtin",lsl:"builtin",lsr:"builtin",lxor:"builtin",mod:"builtin",or:"builtin",raise_notrace:"builtin",trace:"builtin",exit:"builtin",print_string:"builtin",print_endline:"builtin",int:"type",float:"type",bool:"type",char:"type",string:"type",unit:"type",List:"builtin"}}),aa=Wn({name:"fsharp",extraWords:{abstract:"keyword",assert:"keyword",base:"keyword",begin:"keyword",class:"keyword",default:"keyword",delegate:"keyword","do!":"keyword",done:"keyword",downcast:"keyword",downto:"keyword",elif:"keyword",extern:"keyword",finally:"keyword",for:"keyword",function:"keyword",global:"keyword",inherit:"keyword",inline:"keyword",interface:"keyword",internal:"keyword",lazy:"keyword","let!":"keyword",match:"keyword",member:"keyword",module:"keyword",mutable:"keyword",namespace:"keyword",new:"keyword",null:"keyword",override:"keyword",private:"keyword",public:"keyword","return!":"keyword",return:"keyword",select:"keyword",static:"keyword",to:"keyword",try:"keyword",upcast:"keyword","use!":"keyword",use:"keyword",void:"keyword",when:"keyword","yield!":"keyword",yield:"keyword",atomic:"keyword",break:"keyword",checked:"keyword",component:"keyword",const:"keyword",constraint:"keyword",constructor:"keyword",continue:"keyword",eager:"keyword",event:"keyword",external:"keyword",fixed:"keyword",method:"keyword",mixin:"keyword",object:"keyword",parallel:"keyword",process:"keyword",protected:"keyword",pure:"keyword",sealed:"keyword",tailcall:"keyword",trait:"keyword",virtual:"keyword",volatile:"keyword",List:"builtin",Seq:"builtin",Map:"builtin",Set:"builtin",Option:"builtin",int:"builtin",string:"builtin",not:"builtin",true:"builtin",false:"builtin",raise:"builtin",failwith:"builtin"},slashComments:!0}),la=Wn({name:"sml",extraWords:{abstype:"keyword",and:"keyword",andalso:"keyword",case:"keyword",datatype:"keyword",fn:"keyword",handle:"keyword",infix:"keyword",infixr:"keyword",local:"keyword",nonfix:"keyword",op:"keyword",orelse:"keyword",raise:"keyword",withtype:"keyword",eqtype:"keyword",sharing:"keyword",sig:"keyword",signature:"keyword",structure:"keyword",where:"keyword",true:"keyword",false:"keyword",int:"builtin",real:"builtin",string:"builtin",char:"builtin",bool:"builtin"},slashComments:!0});function jn(e){for(var n={},t=e.split(" "),r=0;r*\/]/.test(r)?ie(null,"select-op"):/[;{}:\[\]]/.test(r)?ie(null,r):(e.eatWhile(/[\w\\\-]/),ie("variable","variable"))}function lr(e,n){for(var t=!1,r;(r=e.next())!=null;){if(t&&r=="/"){n.tokenize=cn;break}t=r=="*"}return ie("comment","comment")}function cr(e,n){for(var t=0,r;(r=e.next())!=null;){if(t>=2&&r==">"){n.tokenize=cn;break}t=r=="-"?t+1:0}return ie("comment","comment")}function da(e){return function(n,t){for(var r=!1,i;(i=n.next())!=null&&!(i==e&&!r);)r=!r&&i=="\\";return r||(t.tokenize=cn),ie("string","string")}}var fa={name:"nginx",startState:function(){return{tokenize:cn,baseIndent:0,stack:[]}},token:function(e,n){if(e.eatSpace())return null;ke=null;var t=n.tokenize(e,n),r=n.stack[n.stack.length-1];return ke=="hash"&&r=="rule"?t="atom":t=="variable"&&(r=="rule"?t="number":(!r||r=="@media{")&&(t="tag")),r=="rule"&&/^[\{\};]$/.test(ke)&&n.stack.pop(),ke=="{"?r=="@media"?n.stack[n.stack.length-1]="@media{":n.stack.push("{"):ke=="}"?n.stack.pop():ke=="@media"?n.stack.push("@media"):r=="{"&&ke!="comment"&&n.stack.push("rule"),t},indent:function(e,n,t){var r=e.stack.length;return/^\}/.test(n)&&(r-=e.stack[e.stack.length-1]=="rule"?2:1),e.baseIndent+r*t.unit},languageData:{indentOnInput:/^\s*\}$/}};function Un(e){return new RegExp("^(("+e.join(")|(")+"))\\b")}var pa=new RegExp("^[\\+\\-\\*/&|\\^~<>!@'\\\\]"),ma=new RegExp("^[\\(\\[\\{\\},:=;\\.]"),ha=new RegExp("^((==)|(~=)|(<=)|(>=)|(<<)|(>>)|(\\.[\\+\\-\\*/\\^\\\\]))"),ga=new RegExp("^((!=)|(\\+=)|(\\-=)|(\\*=)|(/=)|(&=)|(\\|=)|(\\^=))"),ba=new RegExp("^((>>=)|(<<=))"),va=new RegExp("^[\\]\\)]"),ya=new RegExp("^[_A-Za-z\xA1-\uFFFF][_A-Za-z0-9\xA1-\uFFFF]*"),ka=Un(["error","eval","function","abs","acos","atan","asin","cos","cosh","exp","log","prod","sum","log10","max","min","sign","sin","sinh","sqrt","tan","reshape","break","zeros","default","margin","round","ones","rand","syn","ceil","floor","size","clear","zeros","eye","mean","std","cov","det","eig","inv","norm","rank","trace","expm","logm","sqrtm","linspace","plot","title","xlabel","ylabel","legend","text","grid","meshgrid","mesh","num2str","fft","ifft","arrayfun","cellfun","input","fliplr","flipud","ismember"]),_a=Un(["return","case","switch","else","elseif","end","endif","endfunction","if","otherwise","do","for","while","try","catch","classdef","properties","events","methods","global","persistent","endfor","endwhile","printf","sprintf","disp","until","continue","pkg"]);function ur(e,n){return!e.sol()&&e.peek()==="'"?(e.next(),n.tokenize=Ie,"operator"):(n.tokenize=Ie,Ie(e,n))}function xa(e,n){return e.match(/^.*%}/)?(n.tokenize=Ie,"comment"):(e.skipToEnd(),"comment")}function Ie(e,n){if(e.eatSpace())return null;if(e.match("%{"))return n.tokenize=xa,e.skipToEnd(),"comment";if(e.match(/^[%#]/))return e.skipToEnd(),"comment";if(e.match(/^[0-9\.+-]/,!1)){if(e.match(/^[+-]?0x[0-9a-fA-F]+[ij]?/))return e.tokenize=Ie,"number";if(e.match(/^[+-]?\d*\.\d+([EeDd][+-]?\d+)?[ij]?/)||e.match(/^[+-]?\d+([EeDd][+-]?\d+)?[ij]?/))return"number"}if(e.match(Un(["nan","NaN","inf","Inf"])))return"number";var t=e.match(/^"(?:[^"]|"")*("|$)/)||e.match(/^'(?:[^']|'')*('|$)/);return t?t[1]?"string":"error":e.match(_a)?"keyword":e.match(ka)?"builtin":e.match(ya)?"variable":e.match(pa)||e.match(ha)?"operator":e.match(ma)||e.match(ga)||e.match(ba)?null:e.match(va)?(n.tokenize=ur,null):(e.next(),"error")}var wa={name:"octave",startState:function(){return{tokenize:Ie}},token:function(e,n){var t=n.tokenize(e,n);return(t==="number"||t==="variable")&&(n.tokenize=ur),t},languageData:{commentTokens:{line:"%"}}};function K(e,n){return e.string.charAt(e.pos+(n||0))}function sr(e,n){if(n){var t=e.pos-n;return e.string.substr(t>=0?t:0,n)}else return e.string.substr(0,e.pos-1)}function Vn(e,n){var t=e.string.length,r=t-e.pos+1;return e.string.substr(e.pos,n&&n=(r=e.string.length-1)?e.pos=r:e.pos=t}var We={"->":4,"++":4,"--":4,"**":4,"=~":4,"!~":4,"*":4,"/":4,"%":4,x:4,"+":4,"-":4,".":4,"<<":4,">>":4,"<":4,">":4,"<=":4,">=":4,lt:4,gt:4,le:4,ge:4,"==":4,"!=":4,"<=>":4,eq:4,ne:4,cmp:4,"~~":4,"&":4,"|":4,"^":4,"&&":4,"||":4,"//":4,"..":4,"...":4,"?":4,":":4,"=":4,"+=":4,"-=":4,"*=":4,",":4,"=>":4,"::":4,not:4,and:4,or:4,xor:4,BEGIN:[5,1],END:[5,1],PRINT:[5,1],PRINTF:[5,1],GETC:[5,1],READ:[5,1],READLINE:[5,1],DESTROY:[5,1],TIE:[5,1],TIEHANDLE:[5,1],UNTIE:[5,1],STDIN:5,STDIN_TOP:5,STDOUT:5,STDOUT_TOP:5,STDERR:5,STDERR_TOP:5,$ARG:5,$_:5,"@ARG":5,"@_":5,$LIST_SEPARATOR:5,'$"':5,$PROCESS_ID:5,$PID:5,$$:5,$REAL_GROUP_ID:5,$GID:5,"$(":5,$EFFECTIVE_GROUP_ID:5,$EGID:5,"$)":5,$PROGRAM_NAME:5,$0:5,$SUBSCRIPT_SEPARATOR:5,$SUBSEP:5,"$;":5,$REAL_USER_ID:5,$UID:5,"$<":5,$EFFECTIVE_USER_ID:5,$EUID:5,"$>":5,$a:5,$b:5,$COMPILING:5,"$^C":5,$DEBUGGING:5,"$^D":5,"${^ENCODING}":5,$ENV:5,"%ENV":5,$SYSTEM_FD_MAX:5,"$^F":5,"@F":5,"${^GLOBAL_PHASE}":5,"$^H":5,"%^H":5,"@INC":5,"%INC":5,$INPLACE_EDIT:5,"$^I":5,"$^M":5,$OSNAME:5,"$^O":5,"${^OPEN}":5,$PERLDB:5,"$^P":5,$SIG:5,"%SIG":5,$BASETIME:5,"$^T":5,"${^TAINT}":5,"${^UNICODE}":5,"${^UTF8CACHE}":5,"${^UTF8LOCALE}":5,$PERL_VERSION:5,"$^V":5,"${^WIN32_SLOPPY_STAT}":5,$EXECUTABLE_NAME:5,"$^X":5,$1:5,$MATCH:5,"$&":5,"${^MATCH}":5,$PREMATCH:5,"$`":5,"${^PREMATCH}":5,$POSTMATCH:5,"$'":5,"${^POSTMATCH}":5,$LAST_PAREN_MATCH:5,"$+":5,$LAST_SUBMATCH_RESULT:5,"$^N":5,"@LAST_MATCH_END":5,"@+":5,"%LAST_PAREN_MATCH":5,"%+":5,"@LAST_MATCH_START":5,"@-":5,"%LAST_MATCH_START":5,"%-":5,$LAST_REGEXP_CODE_RESULT:5,"$^R":5,"${^RE_DEBUG_FLAGS}":5,"${^RE_TRIE_MAXBUF}":5,$ARGV:5,"@ARGV":5,ARGV:5,ARGVOUT:5,$OUTPUT_FIELD_SEPARATOR:5,$OFS:5,"$,":5,$INPUT_LINE_NUMBER:5,$NR:5,"$.":5,$INPUT_RECORD_SEPARATOR:5,$RS:5,"$/":5,$OUTPUT_RECORD_SEPARATOR:5,$ORS:5,"$\\":5,$OUTPUT_AUTOFLUSH:5,"$|":5,$ACCUMULATOR:5,"$^A":5,$FORMAT_FORMFEED:5,"$^L":5,$FORMAT_PAGE_NUMBER:5,"$%":5,$FORMAT_LINES_LEFT:5,"$-":5,$FORMAT_LINE_BREAK_CHARACTERS:5,"$:":5,$FORMAT_LINES_PER_PAGE:5,"$=":5,$FORMAT_TOP_NAME:5,"$^":5,$FORMAT_NAME:5,"$~":5,"${^CHILD_ERROR_NATIVE}":5,$EXTENDED_OS_ERROR:5,"$^E":5,$EXCEPTIONS_BEING_CAUGHT:5,"$^S":5,$WARNING:5,"$^W":5,"${^WARNING_BITS}":5,$OS_ERROR:5,$ERRNO:5,"$!":5,"%OS_ERROR":5,"%ERRNO":5,"%!":5,$CHILD_ERROR:5,"$?":5,$EVAL_ERROR:5,"$@":5,$OFMT:5,"$#":5,"$*":5,$ARRAY_BASE:5,"$[":5,$OLD_PERL_VERSION:5,"$]":5,if:[1,1],elsif:[1,1],else:[1,1],while:[1,1],unless:[1,1],for:[1,1],foreach:[1,1],abs:1,accept:1,alarm:1,atan2:1,bind:1,binmode:1,bless:1,bootstrap:1,break:1,caller:1,chdir:1,chmod:1,chomp:1,chop:1,chown:1,chr:1,chroot:1,close:1,closedir:1,connect:1,continue:[1,1],cos:1,crypt:1,dbmclose:1,dbmopen:1,default:1,defined:1,delete:1,die:1,do:1,dump:1,each:1,endgrent:1,endhostent:1,endnetent:1,endprotoent:1,endpwent:1,endservent:1,eof:1,eval:1,exec:1,exists:1,exit:1,exp:1,fcntl:1,fileno:1,flock:1,fork:1,format:1,formline:1,getc:1,getgrent:1,getgrgid:1,getgrnam:1,gethostbyaddr:1,gethostbyname:1,gethostent:1,getlogin:1,getnetbyaddr:1,getnetbyname:1,getnetent:1,getpeername:1,getpgrp:1,getppid:1,getpriority:1,getprotobyname:1,getprotobynumber:1,getprotoent:1,getpwent:1,getpwnam:1,getpwuid:1,getservbyname:1,getservbyport:1,getservent:1,getsockname:1,getsockopt:1,given:1,glob:1,gmtime:1,goto:1,grep:1,hex:1,import:1,index:1,int:1,ioctl:1,join:1,keys:1,kill:1,last:1,lc:1,lcfirst:1,length:1,link:1,listen:1,local:2,localtime:1,lock:1,log:1,lstat:1,m:null,map:1,mkdir:1,msgctl:1,msgget:1,msgrcv:1,msgsnd:1,my:2,new:1,next:1,no:1,oct:1,open:1,opendir:1,ord:1,our:2,pack:1,package:1,pipe:1,pop:1,pos:1,print:1,printf:1,prototype:1,push:1,q:null,qq:null,qr:null,quotemeta:null,qw:null,qx:null,rand:1,read:1,readdir:1,readline:1,readlink:1,readpipe:1,recv:1,redo:1,ref:1,rename:1,require:1,reset:1,return:1,reverse:1,rewinddir:1,rindex:1,rmdir:1,s:null,say:1,scalar:1,seek:1,seekdir:1,select:1,semctl:1,semget:1,semop:1,send:1,setgrent:1,sethostent:1,setnetent:1,setpgrp:1,setpriority:1,setprotoent:1,setpwent:1,setservent:1,setsockopt:1,shift:1,shmctl:1,shmget:1,shmread:1,shmwrite:1,shutdown:1,sin:1,sleep:1,socket:1,socketpair:1,sort:1,splice:1,split:1,sprintf:1,sqrt:1,srand:1,stat:1,state:1,study:1,sub:1,substr:1,symlink:1,syscall:1,sysopen:1,sysread:1,sysseek:1,system:1,syswrite:1,tell:1,telldir:1,tie:1,tied:1,time:1,times:1,tr:null,truncate:1,uc:1,ucfirst:1,umask:1,undef:1,unlink:1,unpack:1,unshift:1,untie:1,use:1,utime:1,values:1,vec:1,wait:1,waitpid:1,wantarray:1,warn:1,when:1,write:1,y:null},P="string.special",D=/[goseximacplud]/;function w(e,n,t,r,i){return n.chain=null,n.style=null,n.tail=null,n.tokenize=function(o,a){for(var s=!1,_,z=0;_=o.next();){if(_===t[z]&&!s)return t[++z]!==void 0?(a.chain=t[z],a.style=r,a.tail=i):i&&o.eatWhile(i),a.tokenize=un,r;s=!s&&_=="\\"}return r},n.tokenize(e,n)}function Kn(e,n,t){return n.tokenize=function(r,i){return r.string==t&&(i.tokenize=un),r.skipToEnd(),"string"},n.tokenize(e,n)}function un(e,n){if(e.eatSpace())return null;if(n.chain)return w(e,n,n.chain,n.style,n.tail);if(e.match(/^(\-?((\d[\d_]*)?\.\d+(e[+-]?\d+)?|\d+\.\d*)|0x[\da-fA-F_]+|0b[01_]+|\d[\d_]*(e[+-]?\d+)?)/))return"number";if(e.match(/^<<(?=[_a-zA-Z])/))return e.eatWhile(/\w/),Kn(e,n,e.current().substr(2));if(e.sol()&&e.match(/^\=item(?!\w)/))return Kn(e,n,"=cut");var t=e.next();if(t=='"'||t=="'"){if(sr(e,3)=="<<"+t){var r=e.pos;e.eatWhile(/\w/);var i=e.current().substr(1);if(i&&e.eat(t))return Kn(e,n,i);e.pos=r}return w(e,n,[t],"string")}if(t=="q"){var o=K(e,-2);if(!(o&&/\w/.test(o))){if(o=K(e,0),o=="x"){if(o=K(e,1),o=="(")return q(e,2),w(e,n,[")"],P,D);if(o=="[")return q(e,2),w(e,n,["]"],P,D);if(o=="{")return q(e,2),w(e,n,["}"],P,D);if(o=="<")return q(e,2),w(e,n,[">"],P,D);if(/[\^'"!~\/]/.test(o))return q(e,1),w(e,n,[e.eat(o)],P,D)}else if(o=="q"){if(o=K(e,1),o=="(")return q(e,2),w(e,n,[")"],"string");if(o=="[")return q(e,2),w(e,n,["]"],"string");if(o=="{")return q(e,2),w(e,n,["}"],"string");if(o=="<")return q(e,2),w(e,n,[">"],"string");if(/[\^'"!~\/]/.test(o))return q(e,1),w(e,n,[e.eat(o)],"string")}else if(o=="w"){if(o=K(e,1),o=="(")return q(e,2),w(e,n,[")"],"bracket");if(o=="[")return q(e,2),w(e,n,["]"],"bracket");if(o=="{")return q(e,2),w(e,n,["}"],"bracket");if(o=="<")return q(e,2),w(e,n,[">"],"bracket");if(/[\^'"!~\/]/.test(o))return q(e,1),w(e,n,[e.eat(o)],"bracket")}else if(o=="r"){if(o=K(e,1),o=="(")return q(e,2),w(e,n,[")"],P,D);if(o=="[")return q(e,2),w(e,n,["]"],P,D);if(o=="{")return q(e,2),w(e,n,["}"],P,D);if(o=="<")return q(e,2),w(e,n,[">"],P,D);if(/[\^'"!~\/]/.test(o))return q(e,1),w(e,n,[e.eat(o)],P,D)}else if(/[\^'"!~\/(\[{<]/.test(o)){if(o=="(")return q(e,1),w(e,n,[")"],"string");if(o=="[")return q(e,1),w(e,n,["]"],"string");if(o=="{")return q(e,1),w(e,n,["}"],"string");if(o=="<")return q(e,1),w(e,n,[">"],"string");if(/[\^'"!~\/]/.test(o))return w(e,n,[e.eat(o)],"string")}}}if(t=="m"){var o=K(e,-2);if(!(o&&/\w/.test(o))&&(o=e.eat(/[(\[{<\^'"!~\/]/),o)){if(/[\^'"!~\/]/.test(o))return w(e,n,[o],P,D);if(o=="(")return w(e,n,[")"],P,D);if(o=="[")return w(e,n,["]"],P,D);if(o=="{")return w(e,n,["}"],P,D);if(o=="<")return w(e,n,[">"],P,D)}}if(t=="s"){var o=/[\/>\]})\w]/.test(K(e,-2));if(!o&&(o=e.eat(/[(\[{<\^'"!~\/]/),o))return o=="["?w(e,n,["]","]"],P,D):o=="{"?w(e,n,["}","}"],P,D):o=="<"?w(e,n,[">",">"],P,D):o=="("?w(e,n,[")",")"],P,D):w(e,n,[o,o],P,D)}if(t=="y"){var o=/[\/>\]})\w]/.test(K(e,-2));if(!o&&(o=e.eat(/[(\[{<\^'"!~\/]/),o))return o=="["?w(e,n,["]","]"],P,D):o=="{"?w(e,n,["}","}"],P,D):o=="<"?w(e,n,[">",">"],P,D):o=="("?w(e,n,[")",")"],P,D):w(e,n,[o,o],P,D)}if(t=="t"){var o=/[\/>\]})\w]/.test(K(e,-2));if(!o&&(o=e.eat("r"),o&&(o=e.eat(/[(\[{<\^'"!~\/]/),o)))return o=="["?w(e,n,["]","]"],P,D):o=="{"?w(e,n,["}","}"],P,D):o=="<"?w(e,n,[">",">"],P,D):o=="("?w(e,n,[")",")"],P,D):w(e,n,[o,o],P,D)}if(t=="`")return w(e,n,[t],"builtin");if(t=="/")return/~\s*$/.test(sr(e))?w(e,n,[t],P,D):"operator";if(t=="$"){var r=e.pos;if(e.eatWhile(/\d/)||e.eat("{")&&e.eatWhile(/\d/)&&e.eat("}"))return"builtin";e.pos=r}if(/[$@%]/.test(t)){var r=e.pos;if(e.eat("^")&&e.eat(/[A-Z]/)||!/[@$%&]/.test(K(e,-2))&&e.eat(/[=|\\\-#?@;:&`~\^!\[\]*'"$+.,\/<>()]/)){var o=e.current();if(We[o])return"builtin"}e.pos=r}if(/[$@%&]/.test(t)&&(e.eatWhile(/[\w$]/)||e.eat("{")&&e.eatWhile(/[\w$]/)&&e.eat("}"))){var o=e.current();return We[o]?"builtin":"variable"}if(t=="#"&&K(e,-2)!="$")return e.skipToEnd(),"comment";if(/[:+\-\^*$&%@=<>!?|\/~\.]/.test(t)){var r=e.pos;if(e.eatWhile(/[:+\-\^*$&%@=<>!?|\/~\.]/),We[e.current()])return"operator";e.pos=r}if(t=="_"&&e.pos==1){if(Vn(e,6)=="_END__")return w(e,n,["\0"],"comment");if(Vn(e,7)=="_DATA__")return w(e,n,["\0"],"builtin");if(Vn(e,7)=="_C__")return w(e,n,["\0"],"string")}if(/\w/.test(t)){var r=e.pos;if(K(e,-2)=="{"&&(K(e,0)=="}"||e.eatWhile(/\w/)&&K(e,0)=="}"))return"string";e.pos=r}if(/[A-Z]/.test(t)){var a=K(e,-2),r=e.pos;if(e.eatWhile(/[A-Z_]/),/[\da-z]/.test(K(e,0)))e.pos=r;else{var o=We[e.current()];return o?(o[1]&&(o=o[0]),a!=":"?o==1?"keyword":o==2?"def":o==3?"atom":o==4?"operator":o==5?"builtin":"meta":"meta"):"meta"}}if(/[a-zA-Z_]/.test(t)){var a=K(e,-2);e.eatWhile(/\w/);var o=We[e.current()];return o?(o[1]&&(o=o[0]),a!=":"?o==1?"keyword":o==2?"def":o==3?"atom":o==4?"operator":o==5?"builtin":"meta":"meta"):"meta"}return null}var Sa={name:"perl",startState:function(){return{tokenize:un,chain:null,style:null,tail:null}},token:function(e,n){return(n.tokenize||un)(e,n)},languageData:{commentTokens:{line:"#"},wordChars:"$"}};function za(e){for(var n={},t=e.split(" "),r=0;r!?|\/]/;function Ca(e,n){var t=e.next();if(t=="#"&&n.startOfLine)return e.skipToEnd(),"meta";if(t=='"'||t=="'")return n.tokenize=Ia(t),n.tokenize(e,n);if(t=="("&&e.eat("*"))return n.tokenize=fr,fr(e,n);if(t=="{")return n.tokenize=pr,pr(e,n);if(/[\[\]\(\),;\:\.]/.test(t))return null;if(/\d/.test(t))return e.eatWhile(/[\w\.]/),"number";if(t=="/"&&e.eat("/"))return e.skipToEnd(),"comment";if(dr.test(t))return e.eatWhile(dr),"operator";e.eatWhile(/[\w\$_]/);var r=e.current().toLowerCase();return Ea.propertyIsEnumerable(r)?"keyword":Ta.propertyIsEnumerable(r)?"atom":"variable"}function Ia(e){return function(n,t){for(var r=!1,i,o=!1;(i=n.next())!=null;){if(i==e&&!r){o=!0;break}r=!r&&i=="\\"}return(o||!r)&&(t.tokenize=null),"string"}}function fr(e,n){for(var t=!1,r;r=e.next();){if(r==")"&&t){n.tokenize=null;break}t=r=="*"}return"comment"}function pr(e,n){for(var t;t=e.next();)if(t=="}"){n.tokenize=null;break}return"comment"}var Aa={name:"pascal",startState:function(){return{tokenize:null}},token:function(e,n){if(e.eatSpace())return null;var t=(n.tokenize||Ca)(e,n);return t=="comment"||t=="meta",t},languageData:{indentOnInput:/^\s*[{}]$/,commentTokens:{block:{open:"(*",close:"*)"}}}};function Ae(e,n){n=n||{};for(var t=n.prefix!==void 0?n.prefix:"^",r=n.suffix!==void 0?n.suffix:"\\b",i=0;i/,La=Ae([Pa,Da],{suffix:""}),$a=/^((0x[\da-f]+)|((\d+\.\d+|\d\.|\.\d+|\d+)(e[\+\-]?\d+)?))[ld]?([kmgtp]b)?/i,Na=/^[A-Za-z\_][A-Za-z\-\_\d]*\b/,Fa=/[A-Z]:|%|\?/i,qa=Ae([/Add-(Computer|Content|History|Member|PSSnapin|Type)/,/Checkpoint-Computer/,/Clear-(Content|EventLog|History|Host|Item(Property)?|Variable)/,/Compare-Object/,/Complete-Transaction/,/Connect-PSSession/,/ConvertFrom-(Csv|Json|SecureString|StringData)/,/Convert-Path/,/ConvertTo-(Csv|Html|Json|SecureString|Xml)/,/Copy-Item(Property)?/,/Debug-Process/,/Disable-(ComputerRestore|PSBreakpoint|PSRemoting|PSSessionConfiguration)/,/Disconnect-PSSession/,/Enable-(ComputerRestore|PSBreakpoint|PSRemoting|PSSessionConfiguration)/,/(Enter|Exit)-PSSession/,/Export-(Alias|Clixml|Console|Counter|Csv|FormatData|ModuleMember|PSSession)/,/ForEach-Object/,/Format-(Custom|List|Table|Wide)/,new RegExp("Get-(Acl|Alias|AuthenticodeSignature|ChildItem|Command|ComputerRestorePoint|Content|ControlPanelItem|Counter|Credential|Culture|Date|Event|EventLog|EventSubscriber|ExecutionPolicy|FormatData|Help|History|Host|HotFix|Item|ItemProperty|Job|Location|Member|Module|PfxCertificate|Process|PSBreakpoint|PSCallStack|PSDrive|PSProvider|PSSession|PSSessionConfiguration|PSSnapin|Random|Service|TraceSource|Transaction|TypeData|UICulture|Unique|Variable|Verb|WinEvent|WmiObject)"),/Group-Object/,/Import-(Alias|Clixml|Counter|Csv|LocalizedData|Module|PSSession)/,/ImportSystemModules/,/Invoke-(Command|Expression|History|Item|RestMethod|WebRequest|WmiMethod)/,/Join-Path/,/Limit-EventLog/,/Measure-(Command|Object)/,/Move-Item(Property)?/,new RegExp("New-(Alias|Event|EventLog|Item(Property)?|Module|ModuleManifest|Object|PSDrive|PSSession|PSSessionConfigurationFile|PSSessionOption|PSTransportOption|Service|TimeSpan|Variable|WebServiceProxy|WinEvent)"),/Out-(Default|File|GridView|Host|Null|Printer|String)/,/Pause/,/(Pop|Push)-Location/,/Read-Host/,/Receive-(Job|PSSession)/,/Register-(EngineEvent|ObjectEvent|PSSessionConfiguration|WmiEvent)/,/Remove-(Computer|Event|EventLog|Item(Property)?|Job|Module|PSBreakpoint|PSDrive|PSSession|PSSnapin|TypeData|Variable|WmiObject)/,/Rename-(Computer|Item(Property)?)/,/Reset-ComputerMachinePassword/,/Resolve-Path/,/Restart-(Computer|Service)/,/Restore-Computer/,/Resume-(Job|Service)/,/Save-Help/,/Select-(Object|String|Xml)/,/Send-MailMessage/,new RegExp("Set-(Acl|Alias|AuthenticodeSignature|Content|Date|ExecutionPolicy|Item(Property)?|Location|PSBreakpoint|PSDebug|PSSessionConfiguration|Service|StrictMode|TraceSource|Variable|WmiInstance)"),/Show-(Command|ControlPanelItem|EventLog)/,/Sort-Object/,/Split-Path/,/Start-(Job|Process|Service|Sleep|Transaction|Transcript)/,/Stop-(Computer|Job|Process|Service|Transcript)/,/Suspend-(Job|Service)/,/TabExpansion2/,/Tee-Object/,/Test-(ComputerSecureChannel|Connection|ModuleManifest|Path|PSSessionConfigurationFile)/,/Trace-Command/,/Unblock-File/,/Undo-Transaction/,/Unregister-(Event|PSSessionConfiguration)/,/Update-(FormatData|Help|List|TypeData)/,/Use-Transaction/,/Wait-(Event|Job|Process)/,/Where-Object/,/Write-(Debug|Error|EventLog|Host|Output|Progress|Verbose|Warning)/,/cd|help|mkdir|more|oss|prompt/,/ac|asnp|cat|cd|chdir|clc|clear|clhy|cli|clp|cls|clv|cnsn|compare|copy|cp|cpi|cpp|cvpa|dbp|del|diff|dir|dnsn|ebp/,/echo|epal|epcsv|epsn|erase|etsn|exsn|fc|fl|foreach|ft|fw|gal|gbp|gc|gci|gcm|gcs|gdr|ghy|gi|gjb|gl|gm|gmo|gp|gps/,/group|gsn|gsnp|gsv|gu|gv|gwmi|h|history|icm|iex|ihy|ii|ipal|ipcsv|ipmo|ipsn|irm|ise|iwmi|iwr|kill|lp|ls|man|md/,/measure|mi|mount|move|mp|mv|nal|ndr|ni|nmo|npssc|nsn|nv|ogv|oh|popd|ps|pushd|pwd|r|rbp|rcjb|rcsn|rd|rdr|ren|ri/,/rjb|rm|rmdir|rmo|rni|rnp|rp|rsn|rsnp|rujb|rv|rvpa|rwmi|sajb|sal|saps|sasv|sbp|sc|select|set|shcm|si|sl|sleep|sls/,/sort|sp|spjb|spps|spsv|start|sujb|sv|swmi|tee|trcm|type|where|wjb|write/],{prefix:"",suffix:""}),Ma=Ae([/[$?^_]|Args|ConfirmPreference|ConsoleFileName|DebugPreference|Error|ErrorActionPreference|ErrorView|ExecutionContext/,/FormatEnumerationLimit|Home|Host|Input|MaximumAliasCount|MaximumDriveCount|MaximumErrorCount|MaximumFunctionCount/,/MaximumHistoryCount|MaximumVariableCount|MyInvocation|NestedPromptLevel|OutputEncoding|Pid|Profile|ProgressPreference/,/PSBoundParameters|PSCommandPath|PSCulture|PSDefaultParameterValues|PSEmailServer|PSHome|PSScriptRoot|PSSessionApplicationName/,/PSSessionConfigurationName|PSSessionOption|PSUICulture|PSVersionTable|Pwd|ShellId|StackTrace|VerbosePreference/,/WarningPreference|WhatIfPreference/,/Event|EventArgs|EventSubscriber|Sender/,/Matches|Ofs|ForEach|LastExitCode|PSCmdlet|PSItem|PSSenderInfo|This/,/true|false|null/],{prefix:"\\$",suffix:""}),Ba=Ae([Fa,qa,Ma],{suffix:br}),mr={keyword:Oa,number:$a,operator:La,builtin:Ba,punctuation:Ra,variable:Na};function he(e,n){var t=n.returnStack[n.returnStack.length-1];if(t&&t.shouldReturnFrom(n))return n.tokenize=t.tokenize,n.returnStack.pop(),n.tokenize(e,n);if(e.eatSpace())return null;if(e.eat("("))return n.bracketNesting+=1,"punctuation";if(e.eat(")"))return n.bracketNesting-=1,"punctuation";for(var r in mr)if(e.match(mr[r]))return r;var i=e.next();if(i==="'")return Wa(e,n);if(i==="$")return Zn(e,n);if(i==='"')return vr(e,n);if(i==="<"&&e.eat("#"))return n.tokenize=hr,hr(e,n);if(i==="#")return e.skipToEnd(),"comment";if(i==="@"){var o=e.eat(/["']/);if(o&&e.eol())return n.tokenize=sn,n.startQuote=o[0],sn(e,n);if(e.eol())return"error";if(e.peek().match(/[({]/))return"punctuation";if(e.peek().match(Hn))return Zn(e,n)}return"error"}function Wa(e,n){for(var t;(t=e.peek())!=null;)if(e.next(),t==="'"&&!e.eat("'"))return n.tokenize=he,"string";return"error"}function vr(e,n){for(var t;(t=e.peek())!=null;){if(t==="$")return n.tokenize=ja,"string";if(e.next(),t==="`"){e.next();continue}if(t==='"'&&!e.eat('"'))return n.tokenize=he,"string"}return"error"}function ja(e,n){return yr(e,n,vr)}function Ua(e,n){return n.tokenize=sn,n.startQuote='"',sn(e,n)}function Va(e,n){return yr(e,n,Ua)}function yr(e,n,t){if(e.match("$(")){var r=n.bracketNesting;return n.returnStack.push({shouldReturnFrom:function(i){return i.bracketNesting===r},tokenize:t}),n.tokenize=he,n.bracketNesting+=1,"punctuation"}else return e.next(),n.returnStack.push({shouldReturnFrom:function(){return!0},tokenize:t}),n.tokenize=Zn,n.tokenize(e,n)}function hr(e,n){for(var t=!1,r;(r=e.next())!=null;){if(t&&r==">"){n.tokenize=he;break}t=r==="#"}return"comment"}function Zn(e,n){var t=e.peek();return e.eat("{")?(n.tokenize=gr,gr(e,n)):t!=null&&t.match(Hn)?(e.eatWhile(Hn),n.tokenize=he,"variable"):(n.tokenize=he,"error")}function gr(e,n){for(var t;(t=e.next())!=null;)if(t==="}"){n.tokenize=he;break}return"variable"}function sn(e,n){var t=n.startQuote;if(e.sol()&&e.match(new RegExp(t+"@")))n.tokenize=he;else if(t==='"')for(;!e.eol();){var r=e.peek();if(r==="$")return n.tokenize=Va,"string";e.next(),r==="`"&&e.next()}else e.skipToEnd();return"string"}var Ka={name:"powershell",startState:function(){return{returnStack:[],bracketNesting:0,tokenize:he}},token:function(e,n){return n.tokenize(e,n)},languageData:{commentTokens:{line:"#",block:{open:"<#",close:"#>"}}}};var Ha={name:"properties",token:function(e,n){var t=e.sol()||n.afterSection,r=e.eol();if(n.afterSection=!1,t&&(n.nextMultiline?(n.inMultiline=!0,n.nextMultiline=!1):n.position="def"),r&&!n.nextMultiline&&(n.inMultiline=!1,n.position="def"),t)for(;e.eatSpace(););var i=e.next();return t&&(i==="#"||i==="!"||i===";")?(n.position="comment",e.skipToEnd(),"comment"):t&&i==="["?(n.afterSection=!0,e.skipTo("]"),e.eat("]"),"header"):i==="="||i===":"?(n.position="quote",null):(i==="\\"&&n.position==="quote"&&e.eol()&&(n.nextMultiline=!0),n.position)},startState:function(){return{position:"def",nextMultiline:!1,inMultiline:!1,afterSection:!1}}};function Gn(e){return new RegExp("^(("+e.join(")|(")+"))\\b")}var Za=Gn(["and","or","not","is"]),kr=["as","assert","break","class","continue","def","del","elif","else","except","finally","for","from","global","if","import","lambda","pass","raise","return","try","while","with","yield","in","False","True"],_r=["abs","all","any","bin","bool","bytearray","callable","chr","classmethod","compile","complex","delattr","dict","dir","divmod","enumerate","eval","filter","float","format","frozenset","getattr","globals","hasattr","hash","help","hex","id","input","int","isinstance","issubclass","iter","len","list","locals","map","max","memoryview","min","next","object","oct","open","ord","pow","property","range","repr","reversed","round","set","setattr","slice","sorted","staticmethod","str","sum","super","tuple","type","vars","zip","__import__","NotImplemented","Ellipsis","__debug__"];function oe(e){return e.scopes[e.scopes.length-1]}function xr(e){for(var n="error",t=e.delimiters||e.singleDelimiters||/^[\(\)\[\]\{\}@,:`=;\.\\]/,r=[e.singleOperators,e.doubleOperators,e.doubleDelimiters,e.tripleDelimiters,e.operators||/^([-+*/%\/&|^]=?|[<>=]+|\/\/=?|\*\*=?|!=|[~!@]|\.\.\.)/],i=0;ix?d(l,u):L0&&E(l,u)&&(m+=" "+n),m}}return R(l,u)}function R(l,u,A){if(l.eatSpace())return null;if(!A&&l.match(/^#.*/))return"comment";if(l.match(/^[0-9\.]/,!1)){var x=!1;if(l.match(/^[\d_]*\.\d+(e[\+\-]?\d+)?/i)&&(x=!0),l.match(/^[\d_]+\.\d*/)&&(x=!0),l.match(/^\.\d+/)&&(x=!0),x)return l.eat(/J/i),"number";var L=!1;if(l.match(/^0x[0-9a-f_]+/i)&&(L=!0),l.match(/^0b[01_]+/i)&&(L=!0),l.match(/^0o[0-7_]+/i)&&(L=!0),l.match(/^[1-9][\d_]*(e[\+\-]?[\d_]+)?/)&&(l.eat(/J/i),L=!0),l.match(/^0(?![\dx])/i)&&(L=!0),L)return l.eat(/L/i),"number"}if(l.match(S)){var m=l.current().toLowerCase().indexOf("f")!==-1;return m?(u.tokenize=Q(l.current(),u.tokenize),u.tokenize(l,u)):(u.tokenize=U(l.current(),u.tokenize),u.tokenize(l,u))}for(var p=0;p=0;)l=l.substr(1);var A=l.length==1,x="string";function L(p){return function(T,k){var $=R(T,k,!0);return $=="punctuation"&&(T.current()=="{"?k.tokenize=L(p+1):T.current()=="}"&&(p>1?k.tokenize=L(p-1):k.tokenize=m)),$}}function m(p,T){for(;!p.eol();)if(p.eatWhile(/[^'"\{\}\\]/),p.eat("\\")){if(p.next(),A&&p.eol())return x}else{if(p.match(l))return T.tokenize=u,x;if(p.match("{{"))return x;if(p.match("{",!1))return T.tokenize=L(0),p.current()?x:T.tokenize(p,T);if(p.match("}}"))return x;if(p.match("}"))return n;p.eat(/['"]/)}if(A){if(e.singleLineStringErrors)return n;T.tokenize=u}return x}return m.isString=!0,m}function U(l,u){for(;"rubf".indexOf(l.charAt(0).toLowerCase())>=0;)l=l.substr(1);var A=l.length==1,x="string";function L(m,p){for(;!m.eol();)if(m.eatWhile(/[^'"\\]/),m.eat("\\")){if(m.next(),A&&m.eol())return x}else{if(m.match(l))return p.tokenize=u,x;m.eat(/['"]/)}if(A){if(e.singleLineStringErrors)return n;p.tokenize=u}return x}return L.isString=!0,L}function d(l,u){for(;oe(u).type!="py";)u.scopes.pop();u.scopes.push({offset:oe(u).offset+l.indentUnit,type:"py",align:null})}function C(l,u,A){var x=l.match(/^[\s\[\{\(]*(?:#|$)/,!1)?null:l.column()+1;u.scopes.push({offset:u.indent+(o||l.indentUnit),type:A,align:x})}function E(l,u){for(var A=l.indentation();u.scopes.length>1&&oe(u).offset>A;){if(oe(u).type!="py")return!0;u.scopes.pop()}return oe(u).offset!=A}function I(l,u){l.sol()&&(u.beginningOfLine=!0,u.dedent=!1);var A=u.tokenize(l,u),x=l.current();if(u.beginningOfLine&&x=="@")return l.match(z,!1)?"meta":_?"operator":n;if(/\S/.test(x)&&(u.beginningOfLine=!1),(A=="variable"||A=="builtin")&&u.lastToken=="meta"&&(A="meta"),(x=="pass"||x=="return")&&(u.dedent=!0),x=="lambda"&&(u.lambda=!0),x==":"&&!u.lambda&&oe(u).type=="py"&&l.match(/^\s*(?:#|$)/,!1)&&d(l,u),x.length==1&&!/string|comment/.test(A)){var L="[({".indexOf(x);if(L!=-1&&C(l,u,"])}".slice(L,L+1)),L="])}".indexOf(x),L!=-1)if(oe(u).type==x)u.indent=u.scopes.pop().offset-(o||l.indentUnit);else return n}return u.dedent&&l.eol()&&oe(u).type=="py"&&u.scopes.length>1&&u.scopes.pop(),A}return{name:"python",startState:function(){return{tokenize:y,scopes:[{offset:0,type:"py",align:null}],indent:0,lastToken:null,lambda:!1,dedent:0}},token:function(l,u){var A=u.errorToken;A&&(u.errorToken=!1);var x=I(l,u);return x&&x!="comment"&&(u.lastToken=x=="keyword"||x=="punctuation"?l.current():x),x=="punctuation"&&(x=null),l.eol()&&u.lambda&&(u.lambda=!1),A?n:x},indent:function(l,u,A){if(l.tokenize!=y)return l.tokenize.isString?null:0;var x=oe(l),L=x.type==u.charAt(0)||x.type=="py"&&!l.dedent&&/^(else:|elif |except |finally:)/.test(u);return x.align!=null?x.align-(L?1:0):x.offset-(L?o||A.unit:0)},languageData:{autocomplete:kr.concat(_r).concat(["exec","print"]),indentOnInput:/^\s*([\}\]\)]|else:|elif |except |finally:)$/,commentTokens:{line:"#"},closeBrackets:{brackets:["(","[","{","'",'"',"'''",'"""']}}}}var Ga=function(e){return e.split(" ")},Qa=xr({}),su=xr({extra_keywords:Ga("by cdef cimport cpdef ctypedef enum except extern gil include nogil property public readonly struct union DEF IF ELIF ELSE")});function fn(e){for(var n={},t=0;t=!&|~$:]/,ae;function Yn(e,n){ae=null;var t=e.next();if(t=="#")return e.skipToEnd(),"comment";if(t=="0"&&e.eat("x"))return e.eatWhile(/[\da-f]/i),"number";if(t=="."&&e.eat(/\d/))return e.match(/\d*(?:e[+\-]?\d+)?/),"number";if(/\d/.test(t))return e.match(/\d*(?:\.\d+)?(?:e[+\-]\d+)?L?/),"number";if(t=="'"||t=='"')return n.tokenize=tl(t),"string";if(t=="`")return e.match(/[^`]+`/),"string.special";if(t=="."&&e.match(/.(?:[.]|\d+)/))return"keyword";if(/[a-zA-Z\.]/.test(t)){e.eatWhile(/[\w\.]/);var r=e.current();return Ja.propertyIsEnumerable(r)?"atom":el.propertyIsEnumerable(r)?(nl.propertyIsEnumerable(r)&&!e.match(/\s*if(\s+|$)/,!1)&&(ae="block"),"keyword"):Ya.propertyIsEnumerable(r)?"builtin":"variable"}else return t=="%"?(e.skipTo("%")&&e.next(),"variableName.special"):t=="<"&&e.eat("-")||t=="<"&&e.match("<-")||t=="-"&&e.match(/>>?/)||t=="="&&n.ctx.argList?"operator":wr.test(t)?(t=="$"||e.eatWhile(wr),"operator"):/[\(\){}\[\];]/.test(t)?(ae=t,t==";"?"punctuation":null):null}function tl(e){return function(n,t){if(n.eat("\\")){var r=n.next();return r=="x"?n.match(/^[a-f0-9]{2}/i):(r=="u"||r=="U")&&n.eat("{")&&n.skipTo("}")?n.next():r=="u"?n.match(/^[a-f0-9]{4}/i):r=="U"?n.match(/^[a-f0-9]{8}/i):/[0-7]/.test(r)&&n.match(/^[0-7]{1,2}/),"string.special"}else{for(var i;(i=n.next())!=null;){if(i==e){t.tokenize=Yn;break}if(i=="\\"){n.backUp(1);break}}return"string"}}}var Sr=1,Qn=2,Xn=4;function dn(e,n,t){e.ctx={type:n,indent:e.indent,flags:0,column:t.column(),prev:e.ctx}}function zr(e,n){var t=e.ctx;e.ctx={type:t.type,indent:t.indent,flags:t.flags|n,column:t.column,prev:t.prev}}function Jn(e){e.indent=e.ctx.indent,e.ctx=e.ctx.prev}var rl={name:"r",startState:function(e){return{tokenize:Yn,ctx:{type:"top",indent:-e,flags:Qn},indent:0,afterIdent:!1}},token:function(e,n){if(e.sol()&&((n.ctx.flags&3)==0&&(n.ctx.flags|=Qn),n.ctx.flags&Xn&&Jn(n),n.indent=e.indentation()),e.eatSpace())return null;var t=n.tokenize(e,n);return t!="comment"&&(n.ctx.flags&Qn)==0&&zr(n,Sr),(ae==";"||ae=="{"||ae=="}")&&n.ctx.type=="block"&&Jn(n),ae=="{"?dn(n,"}",e):ae=="("?(dn(n,")",e),n.afterIdent&&(n.ctx.argList=!0)):ae=="["?dn(n,"]",e):ae=="block"?dn(n,"block",e):ae==n.ctx.type?Jn(n):n.ctx.type=="block"&&t!="comment"&&zr(n,Xn),n.afterIdent=t=="variable"||t=="keyword",t},indent:function(e,n,t){if(e.tokenize!=Yn)return 0;var r=n&&n.charAt(0),i=e.ctx,o=r==i.type;return i.flags&Xn&&(i=i.prev),i.type=="block"?i.indent+(r=="{"?0:t.unit):i.flags&Sr?i.column+(o?0:1):i.indent+(o?0:t.unit)},languageData:{wordChars:".",commentTokens:{line:"#"},autocomplete:Er.concat(Tr,Cr)}};function nt(e){for(var n={},t=0,r=e.length;t]/)?(e.eat(/[\<\>]/),"atom"):e.eat(/[\+\-\*\/\&\|\:\!]/)?"atom":e.eat(/[a-zA-Z$@_\xa1-\uffff]/)?(e.eatWhile(/[\w$\xa1-\uffff]/),e.eat(/[\?\!\=]/),"atom"):"operator";if(t=="@"&&e.match(/^@?[a-zA-Z_\xa1-\uffff]/))return e.eat("@"),e.eatWhile(/[\w\xa1-\uffff]/),"propertyName";if(t=="$")return e.eat(/[a-zA-Z_]/)?e.eatWhile(/[\w]/):e.eat(/\d/)?e.eat(/\d/):e.next(),"variableName.special";if(/[a-zA-Z_\xa1-\uffff]/.test(t))return e.eatWhile(/[\w\xa1-\uffff]/),e.eat(/[\?\!]/),e.eat(":")?"atom":"variable";if(t=="|"&&(n.varList||n.lastTok=="{"||n.lastTok=="do"))return le="|",null;if(/[\(\)\[\]{}\\;]/.test(t))return le=t,null;if(t=="-"&&e.eat(">"))return"operator";if(/[=+\-\/*:\.^%<>~|]/.test(t)){var s=e.eatWhile(/[=+\-\/*:\.^%<>~|]/);return t=="."&&!s&&(le="."),"operator"}else return null}}}function cl(e){for(var n=e.pos,t=0,r,i=!1,o=!1;(r=e.next())!=null;)if(o)o=!1;else{if("[{(".indexOf(r)>-1)t++;else if("]})".indexOf(r)>-1){if(t--,t<0)break}else if(r=="/"&&t==0){i=!0;break}o=r=="\\"}return e.backUp(e.pos-n),i}function et(e){return e||(e=1),function(n,t){if(n.peek()=="}"){if(e==1)return t.tokenize.pop(),t.tokenize[t.tokenize.length-1](n,t);t.tokenize[t.tokenize.length-1]=et(e-1)}else n.peek()=="{"&&(t.tokenize[t.tokenize.length-1]=et(e+1));return pn(n,t)}}function ul(){var e=!1;return function(n,t){return e?(t.tokenize.pop(),t.tokenize[t.tokenize.length-1](n,t)):(e=!0,pn(n,t))}}function je(e,n,t,r){return function(i,o){var a=!1,s;for(o.context.type==="read-quoted-paused"&&(o.context=o.context.prev,i.eat("}"));(s=i.next())!=null;){if(s==e&&(r||!a)){o.tokenize.pop();break}if(t&&s=="#"&&!a){if(i.eat("{")){e=="}"&&(o.context={prev:o.context,type:"read-quoted-paused"}),o.tokenize.push(et());break}else if(/[@\$]/.test(i.peek())){o.tokenize.push(ul());break}}a=!a&&s=="\\"}return n}}function sl(e,n){return function(t,r){return n&&t.eatSpace(),t.match(e)?r.tokenize.pop():t.skipToEnd(),"string"}}function dl(e,n){return e.sol()&&e.match("=end")&&e.eol()&&n.tokenize.pop(),e.skipToEnd(),"comment"}var fl={name:"ruby",startState:function(e){return{tokenize:[pn],indented:0,context:{type:"top",indented:-e},continuedLine:!1,lastTok:null,varList:!1}},token:function(e,n){le=null,e.sol()&&(n.indented=e.indentation());var t=n.tokenize[n.tokenize.length-1](e,n),r,i=le;if(t=="variable"){var o=e.current();t=n.lastTok=="."?"property":il.propertyIsEnumerable(e.current())?"keyword":/^[A-Z]/.test(o)?"tag":n.lastTok=="def"||n.lastTok=="class"||n.varList?"def":"variable",t=="keyword"&&(i=o,ol.propertyIsEnumerable(o)?r="indent":al.propertyIsEnumerable(o)?r="dedent":((o=="if"||o=="unless")&&e.column()==e.indentation()||o=="do"&&n.context.indented2&&a.token&&typeof a.token!="string"){t.pending=[];for(var z=2;z-1)return null;var i=t.indent.length-1,o=e[t.state];e:for(;;){for(var a=0;a!]+/,token:"operator"},{regex:/[a-zA-Z_]\w*!/,token:"macroName"},{regex:/[a-zA-Z_]\w*/,token:"variable"},{regex:/[\{\[\(]/,indent:!0},{regex:/[\}\]\)]/,dedent:!0}],string:[{regex:/"/,token:"string",next:"start"},{regex:/(?:[^\\"]|\\(?:.|$))*/,token:"string"}],string_raw:[{regex:/"/,token:"string",next:"start"},{regex:/[^"]*/,token:"string"}],string_raw_hash:[{regex:/"#+/,token:"string",next:"start"},{regex:/(?:[^"]|"(?!#))*/,token:"string"}],comment:[{regex:/.*?\*\//,token:"comment",next:"start"},{regex:/.*/,token:"comment"}],languageData:{name:"rust",dontIndentStates:["comment"],indentOnInput:/^\s*\}$/,commentTokens:{line:"//",block:{open:"/*",close:"*/"}}}});var M={},Pr={eq:"operator",lt:"operator",le:"operator",gt:"operator",ge:"operator",in:"operator",ne:"operator",or:"operator"},yl=/(<=|>=|!=|<>)/,kl=/[=\(:\),{}.*<>+\-\/^\[\]]/;function H(e,n,t){if(t)for(var r=n.split(" "),i=0;iinteger char-alphabetic? char-ci<=? char-ci=? char-ci>? char-downcase char-lower-case? char-numeric? char-ready? char-upcase char-upper-case? char-whitespace? char<=? char=? char>? char? close-input-port close-output-port complex? cons cos current-input-port current-output-port denominator display eof-object? eq? equal? eqv? eval even? exact->inexact exact? exp expt #f floor force gcd imag-part inexact->exact inexact? input-port? integer->char integer? interaction-environment lcm length list list->string list->vector list-ref list-tail list? load log magnitude make-polar make-rectangular make-string make-vector max member memq memv min modulo negative? newline not null-environment null? number->string number? numerator odd? open-input-file open-output-file output-port? pair? peek-char port? positive? procedure? quasiquote quote quotient rational? rationalize read read-char real-part real? remainder reverse round scheme-report-environment set! set-car! set-cdr! sin sqrt string string->list string->number string->symbol string-append string-ci<=? string-ci=? string-ci>? string-copy string-fill! string-length string-ref string-set! string<=? string=? string>? string? substring symbol->string symbol? #t tan transcript-off transcript-on truncate values vector vector->list vector-fill! vector-length vector-ref vector-set! with-input-from-file with-output-to-file write write-char zero?"),zl=Mr("define let letrec let* lambda define-macro defmacro let-syntax letrec-syntax let-values let*-values define-syntax syntax-rules define-values when unless");function El(e,n,t){this.indent=e,this.type=n,this.prev=t}function tt(e,n,t){e.indentStack=new El(n,t,e.indentStack)}function Tl(e){e.indentStack=e.indentStack.prev}var Cl=new RegExp(/^(?:[-+]i|[-+][01]+#*(?:\/[01]+#*)?i|[-+]?[01]+#*(?:\/[01]+#*)?@[-+]?[01]+#*(?:\/[01]+#*)?|[-+]?[01]+#*(?:\/[01]+#*)?[-+](?:[01]+#*(?:\/[01]+#*)?)?i|[-+]?[01]+#*(?:\/[01]+#*)?)(?=[()\s;"]|$)/i),Il=new RegExp(/^(?:[-+]i|[-+][0-7]+#*(?:\/[0-7]+#*)?i|[-+]?[0-7]+#*(?:\/[0-7]+#*)?@[-+]?[0-7]+#*(?:\/[0-7]+#*)?|[-+]?[0-7]+#*(?:\/[0-7]+#*)?[-+](?:[0-7]+#*(?:\/[0-7]+#*)?)?i|[-+]?[0-7]+#*(?:\/[0-7]+#*)?)(?=[()\s;"]|$)/i),Al=new RegExp(/^(?:[-+]i|[-+][\da-f]+#*(?:\/[\da-f]+#*)?i|[-+]?[\da-f]+#*(?:\/[\da-f]+#*)?@[-+]?[\da-f]+#*(?:\/[\da-f]+#*)?|[-+]?[\da-f]+#*(?:\/[\da-f]+#*)?[-+](?:[\da-f]+#*(?:\/[\da-f]+#*)?)?i|[-+]?[\da-f]+#*(?:\/[\da-f]+#*)?)(?=[()\s;"]|$)/i),Ol=new RegExp(/^(?:[-+]i|[-+](?:(?:(?:\d+#+\.?#*|\d+\.\d*#*|\.\d+#*|\d+)(?:[esfdl][-+]?\d+)?)|\d+#*\/\d+#*)i|[-+]?(?:(?:(?:\d+#+\.?#*|\d+\.\d*#*|\.\d+#*|\d+)(?:[esfdl][-+]?\d+)?)|\d+#*\/\d+#*)@[-+]?(?:(?:(?:\d+#+\.?#*|\d+\.\d*#*|\.\d+#*|\d+)(?:[esfdl][-+]?\d+)?)|\d+#*\/\d+#*)|[-+]?(?:(?:(?:\d+#+\.?#*|\d+\.\d*#*|\.\d+#*|\d+)(?:[esfdl][-+]?\d+)?)|\d+#*\/\d+#*)[-+](?:(?:(?:\d+#+\.?#*|\d+\.\d*#*|\.\d+#*|\d+)(?:[esfdl][-+]?\d+)?)|\d+#*\/\d+#*)?i|(?:(?:(?:\d+#+\.?#*|\d+\.\d*#*|\.\d+#*|\d+)(?:[esfdl][-+]?\d+)?)|\d+#*\/\d+#*))(?=[()\s;"]|$)/i);function Rl(e){return e.match(Cl)}function Pl(e){return e.match(Il)}function rt(e,n){return n===!0&&e.backUp(1),e.match(Ol)}function Dl(e){return e.match(Al)}function qr(e,n){for(var t,r=!1;(t=e.next())!=null;){if(t==n.token&&!r){n.state.mode=!1;break}r=!r&&t=="\\"}}var Ll={name:"scheme",startState:function(){return{indentStack:null,indentation:0,mode:!1,sExprComment:!1,sExprQuote:!1}},token:function(e,n){if(n.indentStack==null&&e.sol()&&(n.indentation=e.indentation()),e.eatSpace())return null;var t=null;switch(n.mode){case"string":qr(e,{token:'"',state:n}),t=Dr;break;case"symbol":qr(e,{token:"|",state:n}),t=Lr;break;case"comment":for(var r,i=!1;(r=e.next())!=null;){if(r=="#"&&i){n.mode=!1;break}i=r=="|"}t=we;break;case"s-expr-comment":if(n.mode=!1,e.peek()=="("||e.peek()=="[")n.sExprComment=0;else{e.eatWhile(/[^\s\(\)\[\]]/),t=we;break}default:var o=e.next();if(o=='"')n.mode="string",t=Dr;else if(o=="'")e.peek()=="("||e.peek()=="["?(typeof n.sExprQuote!="number"&&(n.sExprQuote=0),t=Ue):(e.eatWhile(/[\w_\-!$%&*+\.\/:<=>?@\^~]/),t=Ue);else if(o=="|")n.mode="symbol",t=Lr;else if(o=="#")if(e.eat("|"))n.mode="comment",t=we;else if(e.eat(/[tf]/i))t=Ue;else if(e.eat(";"))n.mode="s-expr-comment",t=we;else{var a=null,s=!1,_=!0;e.eat(/[ei]/i)?s=!0:e.backUp(1),e.match(/^#b/i)?a=Rl:e.match(/^#o/i)?a=Pl:e.match(/^#x/i)?a=Dl:e.match(/^#d/i)?a=rt:e.match(/^[-+0-9.]/,!1)?(_=!1,a=rt):s||e.eat("#"),a!=null&&(_&&!s&&e.match(/^#[ei]/i),a(e)&&(t=$r))}else if(/^[-+0-9.]/.test(o)&&rt(e,!0))t=$r;else if(o==";")e.skipToEnd(),t=we;else if(o=="("||o=="["){for(var z="",S=e.column(),c;(c=e.eat(/[^\s\(\[\;\)\]]/))!=null;)z+=c;z.length>0&&zl.propertyIsEnumerable(z)?tt(n,S+Sl,o):(e.eatSpace(),e.eol()||e.peek()==";"?tt(n,S+1,o):tt(n,S+e.current().length,o)),e.backUp(e.current().length-1),typeof n.sExprComment=="number"&&n.sExprComment++,typeof n.sExprQuote=="number"&&n.sExprQuote++,t=Nr}else o==")"||o=="]"?(t=Nr,n.indentStack!=null&&n.indentStack.type==(o==")"?"(":"[")&&(Tl(n),typeof n.sExprComment=="number"&&--n.sExprComment==0&&(t=we,n.sExprComment=!1),typeof n.sExprQuote=="number"&&--n.sExprQuote==0&&(t=Ue,n.sExprQuote=!1))):(e.eatWhile(/[\w_\-!$%&*+\.\/:<=>?@\^~]/),Fr&&Fr.propertyIsEnumerable(e.current())?t=wl:t="variable")}return typeof n.sExprComment=="number"?we:typeof n.sExprQuote=="number"?Ue:t},indent:function(e){return e.indentStack==null?e.indentation:e.indentStack.indent},languageData:{closeBrackets:{brackets:["(","[","{",'"']},commentTokens:{line:";;"}}};var it={};function ot(e,n){for(var t=0;t1&&e.eat("$");var t=e.next();return/['"({]/.test(t)?(n.tokens[0]=mn(t,t=="("?"quote":t=="{"?"def":"string"),Re(e,n)):(/\d/.test(t)||e.eatWhile(/\w/),n.tokens.shift(),"def")};function Fl(e){return function(n,t){return n.sol()&&n.string==e&&t.tokens.shift(),n.skipToEnd(),"string.special"}}function Re(e,n){return(n.tokens[0]||$l)(e,n)}var ql={name:"shell",startState:function(){return{tokens:[]}},token:function(e,n){return Re(e,n)},languageData:{autocomplete:Br.concat(Wr,jr),closeBrackets:{brackets:["(","[","{","'",'"',"`"]},commentTokens:{line:"#"}}};function te(e){var n=e.client||{},t=e.atoms||{false:!0,true:!0,null:!0},r=e.builtin||h(Kr),i=e.keywords||h(ze),o=e.operatorChars||/^[*+\-%<>!=&|~^\/]/,a=e.support||{},s=e.hooks||{},_=e.dateSQL||{date:!0,time:!0,timestamp:!0},z=e.backslashStringEscapes!==!1,S=e.brackets||/^[\{}\(\)\[\]]/,c=e.punctuation||/^[;.,:]/;function f(d,C){var E=d.next();if(s[E]){var I=s[E](d,C);if(I!==!1)return I}if(a.hexNumber&&(E=="0"&&d.match(/^[xX][0-9a-fA-F]+/)||(E=="x"||E=="X")&&d.match(/^'[0-9a-fA-F]*'/)))return"number";if(a.binaryNumber&&((E=="b"||E=="B")&&d.match(/^'[01]+'/)||E=="0"&&d.match(/^b[01]*/)))return"number";if(E.charCodeAt(0)>47&&E.charCodeAt(0)<58)return d.match(/^[0-9]*(\.[0-9]+)?([eE][-+]?[0-9]+)?/),a.decimallessFloat&&d.match(/^\.(?!\.)/),"number";if(E=="?"&&(d.eatSpace()||d.eol()||d.eat(";")))return"macroName";if(E=="'"||E=='"'&&a.doubleQuote)return C.tokenize=y(E),C.tokenize(d,C);if((a.nCharCast&&(E=="n"||E=="N")||a.charsetCast&&E=="_"&&d.match(/[a-z][a-z0-9]*/i))&&(d.peek()=="'"||d.peek()=='"'))return"keyword";if(a.escapeConstant&&(E=="e"||E=="E")&&(d.peek()=="'"||d.peek()=='"'&&a.doubleQuote))return C.tokenize=function(u,A){return(A.tokenize=y(u.next(),!0))(u,A)},"keyword";if(a.commentSlashSlash&&E=="/"&&d.eat("/"))return d.skipToEnd(),"comment";if(a.commentHash&&E=="#"||E=="-"&&d.eat("-")&&(!a.commentSpaceRequired||d.eat(" ")))return d.skipToEnd(),"comment";if(E=="/"&&d.eat("*"))return C.tokenize=R(1),C.tokenize(d,C);if(E=="."){if(a.zerolessFloat&&d.match(/^(?:\d+(?:e[+-]?\d+)?)/i))return"number";if(d.match(/^\.+/))return null;if(a.ODBCdotTable&&d.match(/^[\w\d_$#]+/))return"type"}else{if(o.test(E))return d.eatWhile(o),"operator";if(S.test(E))return"bracket";if(c.test(E))return d.eatWhile(c),"punctuation";if(E=="{"&&(d.match(/^( )*(d|D|t|T|ts|TS)( )*'[^']*'( )*}/)||d.match(/^( )*(d|D|t|T|ts|TS)( )*"[^"]*"( )*}/)))return"number";d.eatWhile(/^[_\w\d]/);var l=d.current().toLowerCase();return _.hasOwnProperty(l)&&(d.match(/^( )+'[^']*'/)||d.match(/^( )+"[^"]*"/))?"number":t.hasOwnProperty(l)?"atom":r.hasOwnProperty(l)?"type":i.hasOwnProperty(l)?"keyword":n.hasOwnProperty(l)?"builtin":null}}function y(d,C){return function(E,I){for(var l=!1,u;(u=E.next())!=null;){if(u==d&&!l){I.tokenize=f;break}l=(z||C)&&!l&&u=="\\"}return"string"}}function R(d){return function(C,E){var I=C.match(/^.*?(\/\*|\*\/)/);return I?I[1]=="/*"?E.tokenize=R(d+1):d>1?E.tokenize=R(d-1):E.tokenize=f:C.skipToEnd(),"comment"}}function Q(d,C,E){C.context={prev:C.context,indent:d.indentation(),col:d.column(),type:E}}function U(d){d.indent=d.context.indent,d.context=d.context.prev}return{name:"sql",startState:function(){return{tokenize:f,context:null}},token:function(d,C){if(d.sol()&&C.context&&C.context.align==null&&(C.context.align=!1),C.tokenize==f&&d.eatSpace())return null;var E=C.tokenize(d,C);if(E=="comment")return E;C.context&&C.context.align==null&&(C.context.align=!0);var I=d.current();return I=="("?Q(d,C,")"):I=="["?Q(d,C,"]"):C.context&&C.context.type==I&&U(C),E},indent:function(d,C,E){var I=d.context;if(!I)return null;var l=C.charAt(0)==I.type;return I.align?I.col+(l?0:1):I.indent+(l?0:E.unit)},languageData:{commentTokens:{line:a.commentSlashSlash?"//":a.commentHash?"#":"--",block:{open:"/*",close:"*/"}},closeBrackets:{brackets:["(","[","{","'",'"',"`"]}}}}function at(e){for(var n;(n=e.next())!=null;)if(n=="`"&&!e.eat("`"))return"string.special";return e.backUp(e.current().length-1),e.eatWhile(/\w/)?"string.special":null}function Ml(e){for(var n;(n=e.next())!=null;)if(n=='"'&&!e.eat('"'))return"string.special";return e.backUp(e.current().length-1),e.eatWhile(/\w/)?"string.special":null}function Se(e){return e.eat("@")&&(e.match("session."),e.match("local."),e.match("global.")),e.eat("'")?(e.match(/^.*'/),"string.special"):e.eat('"')?(e.match(/^.*"/),"string.special"):e.eat("`")?(e.match(/^.*`/),"string.special"):e.match(/^[0-9a-zA-Z$\.\_]+/)?"string.special":null}function Vr(e){return e.eat("N")?"atom":e.match(/^[a-zA-Z.#!?]/)?"string.special":null}var ze="alter and as asc between by count create delete desc distinct drop from group having in insert into is join like not on or order select set table union update values where limit ";function h(e){for(var n={},t=e.split(" "),r=0;r!=^\&|\/]/,brackets:/^[\{}\(\)]/,punctuation:/^[;.,:/]/,backslashStringEscapes:!1,dateSQL:h("date datetimeoffset datetime2 smalldatetime datetime time"),hooks:{"@":Se}}),jl=te({client:h("charset clear connect edit ego exit go help nopager notee nowarning pager print prompt quit rehash source status system tee"),keywords:h(ze+"accessible action add after algorithm all analyze asensitive at authors auto_increment autocommit avg avg_row_length before binary binlog both btree cache call cascade cascaded case catalog_name chain change changed character check checkpoint checksum class_origin client_statistics close coalesce code collate collation collations column columns comment commit committed completion concurrent condition connection consistent constraint contains continue contributors convert cross current current_date current_time current_timestamp current_user cursor data database databases day_hour day_microsecond day_minute day_second deallocate dec declare default delay_key_write delayed delimiter des_key_file describe deterministic dev_pop dev_samp deviance diagnostics directory disable discard distinctrow div dual dumpfile each elseif enable enclosed end ends engine engines enum errors escape escaped even event events every execute exists exit explain extended fast fetch field fields first flush for force foreign found_rows full fulltext function general get global grant grants group group_concat handler hash help high_priority hosts hour_microsecond hour_minute hour_second if ignore ignore_server_ids import index index_statistics infile inner innodb inout insensitive insert_method install interval invoker isolation iterate key keys kill language last leading leave left level limit linear lines list load local localtime localtimestamp lock logs low_priority master master_heartbeat_period master_ssl_verify_server_cert masters match max max_rows maxvalue message_text middleint migrate min min_rows minute_microsecond minute_second mod mode modifies modify mutex mysql_errno natural next no no_write_to_binlog offline offset one online open optimize option optionally out outer outfile pack_keys parser partition partitions password phase plugin plugins prepare preserve prev primary privileges procedure processlist profile profiles purge query quick range read read_write reads real rebuild recover references regexp relaylog release remove rename reorganize repair repeatable replace require resignal restrict resume return returns revoke right rlike rollback rollup row row_format rtree savepoint schedule schema schema_name schemas second_microsecond security sensitive separator serializable server session share show signal slave slow smallint snapshot soname spatial specific sql sql_big_result sql_buffer_result sql_cache sql_calc_found_rows sql_no_cache sql_small_result sqlexception sqlstate sqlwarning ssl start starting starts status std stddev stddev_pop stddev_samp storage straight_join subclass_origin sum suspend table_name table_statistics tables tablespace temporary terminated to trailing transaction trigger triggers truncate uncommitted undo uninstall unique unlock upgrade usage use use_frm user user_resources user_statistics using utc_date utc_time utc_timestamp value variables varying view views warnings when while with work write xa xor year_month zerofill begin do then else loop repeat"),builtin:h("bool boolean bit blob decimal double float long longblob longtext medium mediumblob mediumint mediumtext time timestamp tinyblob tinyint tinytext text bigint int int1 int2 int3 int4 int8 integer float float4 float8 double char varbinary varchar varcharacter precision date datetime year unsigned signed numeric"),atoms:h("false true null unknown"),operatorChars:/^[*+\-%<>!=&|^]/,dateSQL:h("date time timestamp"),support:h("ODBCdotTable decimallessFloat zerolessFloat binaryNumber hexNumber doubleQuote nCharCast charsetCast commentHash commentSpaceRequired"),hooks:{"@":Se,"`":at,"\\":Vr}}),ku=te({client:h("charset clear connect edit ego exit go help nopager notee nowarning pager print prompt quit rehash source status system tee"),keywords:h(ze+"accessible action add after algorithm all always analyze asensitive at authors auto_increment autocommit avg avg_row_length before binary binlog both btree cache call cascade cascaded case catalog_name chain change changed character check checkpoint checksum class_origin client_statistics close coalesce code collate collation collations column columns comment commit committed completion concurrent condition connection consistent constraint contains continue contributors convert cross current current_date current_time current_timestamp current_user cursor data database databases day_hour day_microsecond day_minute day_second deallocate dec declare default delay_key_write delayed delimiter des_key_file describe deterministic dev_pop dev_samp deviance diagnostics directory disable discard distinctrow div dual dumpfile each elseif enable enclosed end ends engine engines enum errors escape escaped even event events every execute exists exit explain extended fast fetch field fields first flush for force foreign found_rows full fulltext function general generated get global grant grants group group_concat handler hard hash help high_priority hosts hour_microsecond hour_minute hour_second if ignore ignore_server_ids import index index_statistics infile inner innodb inout insensitive insert_method install interval invoker isolation iterate key keys kill language last leading leave left level limit linear lines list load local localtime localtimestamp lock logs low_priority master master_heartbeat_period master_ssl_verify_server_cert masters match max max_rows maxvalue message_text middleint migrate min min_rows minute_microsecond minute_second mod mode modifies modify mutex mysql_errno natural next no no_write_to_binlog offline offset one online open optimize option optionally out outer outfile pack_keys parser partition partitions password persistent phase plugin plugins prepare preserve prev primary privileges procedure processlist profile profiles purge query quick range read read_write reads real rebuild recover references regexp relaylog release remove rename reorganize repair repeatable replace require resignal restrict resume return returns revoke right rlike rollback rollup row row_format rtree savepoint schedule schema schema_name schemas second_microsecond security sensitive separator serializable server session share show shutdown signal slave slow smallint snapshot soft soname spatial specific sql sql_big_result sql_buffer_result sql_cache sql_calc_found_rows sql_no_cache sql_small_result sqlexception sqlstate sqlwarning ssl start starting starts status std stddev stddev_pop stddev_samp storage straight_join subclass_origin sum suspend table_name table_statistics tables tablespace temporary terminated to trailing transaction trigger triggers truncate uncommitted undo uninstall unique unlock upgrade usage use use_frm user user_resources user_statistics using utc_date utc_time utc_timestamp value variables varying view views virtual warnings when while with work write xa xor year_month zerofill begin do then else loop repeat"),builtin:h("bool boolean bit blob decimal double float long longblob longtext medium mediumblob mediumint mediumtext time timestamp tinyblob tinyint tinytext text bigint int int1 int2 int3 int4 int8 integer float float4 float8 double char varbinary varchar varcharacter precision date datetime year unsigned signed numeric"),atoms:h("false true null unknown"),operatorChars:/^[*+\-%<>!=&|^]/,dateSQL:h("date time timestamp"),support:h("ODBCdotTable decimallessFloat zerolessFloat binaryNumber hexNumber doubleQuote nCharCast charsetCast commentHash commentSpaceRequired"),hooks:{"@":Se,"`":at,"\\":Vr}}),Ul=te({client:h("auth backup bail binary changes check clone databases dbinfo dump echo eqp exit explain fullschema headers help import imposter indexes iotrace limit lint load log mode nullvalue once open output print prompt quit read restore save scanstats schema separator session shell show stats system tables testcase timeout timer trace vfsinfo vfslist vfsname width"),keywords:h(ze+"abort action add after all analyze attach autoincrement before begin cascade case cast check collate column commit conflict constraint cross current_date current_time current_timestamp database default deferrable deferred detach each else end escape except exclusive exists explain fail for foreign full glob if ignore immediate index indexed initially inner instead intersect isnull key left limit match natural no notnull null of offset outer plan pragma primary query raise recursive references regexp reindex release rename replace restrict right rollback row savepoint temp temporary then to transaction trigger unique using vacuum view virtual when with without"),builtin:h("bool boolean bit blob decimal double float long longblob longtext medium mediumblob mediumint mediumtext time timestamp tinyblob tinyint tinytext text clob bigint int int2 int8 integer float double char varchar date datetime year unsigned signed numeric real"),atoms:h("null current_date current_time current_timestamp"),operatorChars:/^[*+\-%<>!=&|/~]/,dateSQL:h("date time timestamp datetime"),support:h("decimallessFloat zerolessFloat"),identifierQuote:'"',hooks:{"@":Se,":":Se,"?":Se,$:Se,'"':Ml,"`":at}}),_u=te({client:{},keywords:h("add all allow alter and any apply as asc authorize batch begin by clustering columnfamily compact consistency count create custom delete desc distinct drop each_quorum exists filtering from grant if in index insert into key keyspace keyspaces level limit local_one local_quorum modify nan norecursive nosuperuser not of on one order password permission permissions primary quorum rename revoke schema select set storage superuser table three to token truncate ttl two type unlogged update use user users using values where with writetime"),builtin:h("ascii bigint blob boolean counter decimal double float frozen inet int list map static text timestamp timeuuid tuple uuid varchar varint"),atoms:h("false true infinity NaN"),operatorChars:/^[<>=]/,dateSQL:{},support:h("commentSlashSlash decimallessFloat"),hooks:{}}),Vl=te({client:h("appinfo arraysize autocommit autoprint autorecovery autotrace blockterminator break btitle cmdsep colsep compatibility compute concat copycommit copytypecheck define describe echo editfile embedded escape exec execute feedback flagger flush heading headsep instance linesize lno loboffset logsource long longchunksize markup native newpage numformat numwidth pagesize pause pno recsep recsepchar release repfooter repheader serveroutput shiftinout show showmode size spool sqlblanklines sqlcase sqlcode sqlcontinue sqlnumber sqlpluscompatibility sqlprefix sqlprompt sqlterminator suffix tab term termout time timing trimout trimspool ttitle underline verify version wrap"),keywords:h("abort accept access add all alter and any array arraylen as asc assert assign at attributes audit authorization avg base_table begin between binary_integer body boolean by case cast char char_base check close cluster clusters colauth column comment commit compress connect connected constant constraint crash create current currval cursor data_base database date dba deallocate debugoff debugon decimal declare default definition delay delete desc digits dispose distinct do drop else elseif elsif enable end entry escape exception exception_init exchange exclusive exists exit external fast fetch file for force form from function generic goto grant group having identified if immediate in increment index indexes indicator initial initrans insert interface intersect into is key level library like limited local lock log logging long loop master maxextents maxtrans member minextents minus mislabel mode modify multiset new next no noaudit nocompress nologging noparallel not nowait number_base object of off offline on online only open option or order out package parallel partition pctfree pctincrease pctused pls_integer positive positiven pragma primary prior private privileges procedure public raise range raw read rebuild record ref references refresh release rename replace resource restrict return returning returns reverse revoke rollback row rowid rowlabel rownum rows run savepoint schema segment select separate session set share snapshot some space split sql start statement storage subtype successful synonym tabauth table tables tablespace task terminate then to trigger truncate type union unique unlimited unrecoverable unusable update use using validate value values variable view views when whenever where while with work"),builtin:h("abs acos add_months ascii asin atan atan2 average bfile bfilename bigserial bit blob ceil character chartorowid chr clob concat convert cos cosh count dec decode deref dual dump dup_val_on_index empty error exp false float floor found glb greatest hextoraw initcap instr instrb int integer isopen last_day least length lengthb ln lower lpad ltrim lub make_ref max min mlslabel mod months_between natural naturaln nchar nclob new_time next_day nextval nls_charset_decl_len nls_charset_id nls_charset_name nls_initcap nls_lower nls_sort nls_upper nlssort no_data_found notfound null number numeric nvarchar2 nvl others power rawtohex real reftohex round rowcount rowidtochar rowtype rpad rtrim serial sign signtype sin sinh smallint soundex sqlcode sqlerrm sqrt stddev string substr substrb sum sysdate tan tanh to_char text to_date to_label to_multi_byte to_number to_single_byte translate true trunc uid unlogged upper user userenv varchar varchar2 variance varying vsize xml"),operatorChars:/^[*\/+\-%<>!=~]/,dateSQL:h("date time timestamp"),support:h("doubleQuote nCharCast zerolessFloat binaryNumber hexNumber")}),xu=te({keywords:h("select alter $elem$ $key$ $value$ add after all analyze and archive as asc before between binary both bucket buckets by cascade case cast change cluster clustered clusterstatus collection column columns comment compute concatenate continue create cross cursor data database databases dbproperties deferred delete delimited desc describe directory disable distinct distribute drop else enable end escaped exclusive exists explain export extended external fetch fields fileformat first format formatted from full function functions grant group having hold_ddltime idxproperties if import in index indexes inpath inputdriver inputformat insert intersect into is items join keys lateral left like limit lines load local location lock locks mapjoin materialized minus msck no_drop nocompress not of offline on option or order out outer outputdriver outputformat overwrite partition partitioned partitions percent plus preserve procedure purge range rcfile read readonly reads rebuild recordreader recordwriter recover reduce regexp rename repair replace restrict revoke right rlike row schema schemas semi sequencefile serde serdeproperties set shared show show_database sort sorted ssl statistics stored streamtable table tables tablesample tblproperties temporary terminated textfile then tmp to touch transform trigger unarchive undo union uniquejoin unlock update use using utc utc_tmestamp view when where while with admin authorization char compact compactions conf cube current current_date current_timestamp day decimal defined dependency directories elem_type exchange file following for grouping hour ignore inner interval jar less logical macro minute month more none noscan over owner partialscan preceding pretty principals protection reload rewrite role roles rollup rows second server sets skewed transactions truncate unbounded unset uri user values window year"),builtin:h("bool boolean long timestamp tinyint smallint bigint int float double date datetime unsigned string array struct map uniontype key_type utctimestamp value_type varchar"),atoms:h("false true null unknown"),operatorChars:/^[*+\-%<>!=]/,dateSQL:h("date timestamp"),support:h("ODBCdotTable doubleQuote binaryNumber hexNumber")}),Kl=te({client:h("source"),keywords:h(ze+"a abort abs absent absolute access according action ada add admin after aggregate alias all allocate also alter always analyse analyze and any are array array_agg array_max_cardinality as asc asensitive assert assertion assignment asymmetric at atomic attach attribute attributes authorization avg backward base64 before begin begin_frame begin_partition bernoulli between bigint binary bit bit_length blob blocked bom boolean both breadth by c cache call called cardinality cascade cascaded case cast catalog catalog_name ceil ceiling chain char char_length character character_length character_set_catalog character_set_name character_set_schema characteristics characters check checkpoint class class_origin clob close cluster coalesce cobol collate collation collation_catalog collation_name collation_schema collect column column_name columns command_function command_function_code comment comments commit committed concurrently condition condition_number configuration conflict connect connection connection_name constant constraint constraint_catalog constraint_name constraint_schema constraints constructor contains content continue control conversion convert copy corr corresponding cost count covar_pop covar_samp create cross csv cube cume_dist current current_catalog current_date current_default_transform_group current_path current_role current_row current_schema current_time current_timestamp current_transform_group_for_type current_user cursor cursor_name cycle data database datalink datatype date datetime_interval_code datetime_interval_precision day db deallocate debug dec decimal declare default defaults deferrable deferred defined definer degree delete delimiter delimiters dense_rank depends depth deref derived desc describe descriptor detach detail deterministic diagnostics dictionary disable discard disconnect dispatch distinct dlnewcopy dlpreviouscopy dlurlcomplete dlurlcompleteonly dlurlcompletewrite dlurlpath dlurlpathonly dlurlpathwrite dlurlscheme dlurlserver dlvalue do document domain double drop dump dynamic dynamic_function dynamic_function_code each element else elseif elsif empty enable encoding encrypted end end_frame end_partition endexec enforced enum equals errcode error escape event every except exception exclude excluding exclusive exec execute exists exit exp explain expression extension external extract false family fetch file filter final first first_value flag float floor following for force foreach foreign fortran forward found frame_row free freeze from fs full function functions fusion g general generated get global go goto grant granted greatest group grouping groups handler having header hex hierarchy hint hold hour id identity if ignore ilike immediate immediately immutable implementation implicit import in include including increment indent index indexes indicator info inherit inherits initially inline inner inout input insensitive insert instance instantiable instead int integer integrity intersect intersection interval into invoker is isnull isolation join k key key_member key_type label lag language large last last_value lateral lead leading leakproof least left length level library like like_regex limit link listen ln load local localtime localtimestamp location locator lock locked log logged loop lower m map mapping match matched materialized max max_cardinality maxvalue member merge message message_length message_octet_length message_text method min minute minvalue mod mode modifies module month more move multiset mumps name names namespace national natural nchar nclob nesting new next nfc nfd nfkc nfkd nil no none normalize normalized not nothing notice notify notnull nowait nth_value ntile null nullable nullif nulls number numeric object occurrences_regex octet_length octets of off offset oids old on only open operator option options or order ordering ordinality others out outer output over overlaps overlay overriding owned owner p pad parallel parameter parameter_mode parameter_name parameter_ordinal_position parameter_specific_catalog parameter_specific_name parameter_specific_schema parser partial partition pascal passing passthrough password path percent percent_rank percentile_cont percentile_disc perform period permission pg_context pg_datatype_name pg_exception_context pg_exception_detail pg_exception_hint placing plans pli policy portion position position_regex power precedes preceding precision prepare prepared preserve primary print_strict_params prior privileges procedural procedure procedures program public publication query quote raise range rank read reads real reassign recheck recovery recursive ref references referencing refresh regr_avgx regr_avgy regr_count regr_intercept regr_r2 regr_slope regr_sxx regr_sxy regr_syy reindex relative release rename repeatable replace replica requiring reset respect restart restore restrict result result_oid return returned_cardinality returned_length returned_octet_length returned_sqlstate returning returns reverse revoke right role rollback rollup routine routine_catalog routine_name routine_schema routines row row_count row_number rows rowtype rule savepoint scale schema schema_name schemas scope scope_catalog scope_name scope_schema scroll search second section security select selective self sensitive sequence sequences serializable server server_name session session_user set setof sets share show similar simple size skip slice smallint snapshot some source space specific specific_name specifictype sql sqlcode sqlerror sqlexception sqlstate sqlwarning sqrt stable stacked standalone start state statement static statistics stddev_pop stddev_samp stdin stdout storage strict strip structure style subclass_origin submultiset subscription substring substring_regex succeeds sum symmetric sysid system system_time system_user t table table_name tables tablesample tablespace temp template temporary text then ties time timestamp timezone_hour timezone_minute to token top_level_count trailing transaction transaction_active transactions_committed transactions_rolled_back transform transforms translate translate_regex translation treat trigger trigger_catalog trigger_name trigger_schema trim trim_array true truncate trusted type types uescape unbounded uncommitted under unencrypted union unique unknown unlink unlisten unlogged unnamed unnest until untyped update upper uri usage use_column use_variable user user_defined_type_catalog user_defined_type_code user_defined_type_name user_defined_type_schema using vacuum valid validate validator value value_of values var_pop var_samp varbinary varchar variable_conflict variadic varying verbose version versioning view views volatile warning when whenever where while whitespace width_bucket window with within without work wrapper write xml xmlagg xmlattributes xmlbinary xmlcast xmlcomment xmlconcat xmldeclaration xmldocument xmlelement xmlexists xmlforest xmliterate xmlnamespaces xmlparse xmlpi xmlquery xmlroot xmlschema xmlserialize xmltable xmltext xmlvalidate year yes zone"),builtin:h("bigint int8 bigserial serial8 bit varying varbit boolean bool box bytea character char varchar cidr circle date double precision float8 inet integer int int4 interval json jsonb line lseg macaddr macaddr8 money numeric decimal path pg_lsn point polygon real float4 smallint int2 smallserial serial2 serial serial4 text time without zone with timetz timestamp timestamptz tsquery tsvector txid_snapshot uuid xml"),atoms:h("false true null unknown"),operatorChars:/^[*\/+\-%<>!=&|^\/#@?~]/,backslashStringEscapes:!1,dateSQL:h("date time timestamp"),support:h("ODBCdotTable decimallessFloat zerolessFloat binaryNumber hexNumber nCharCast charsetCast escapeConstant")}),wu=te({keywords:h("ancestor and asc by contains desc descendant distinct from group has in is limit offset on order select superset where"),atoms:h("false true"),builtin:h("blob datetime first key __key__ string integer double boolean null"),operatorChars:/^[*+\-%<>!=]/}),Su=te({client:h("source"),keywords:h("abort absolute access action active add admin after aggregate all also alter always analyse analyze and any array as asc assertion assignment asymmetric at authorization backward before begin between bigint binary bit boolean both by cache called cascade cascaded case cast chain char character characteristics check checkpoint class close cluster coalesce codegen collate column comment commit committed concurrency concurrently configuration connection constraint constraints contains content continue conversion copy cost cpu_rate_limit create createdb createexttable createrole createuser cross csv cube current current_catalog current_date current_role current_schema current_time current_timestamp current_user cursor cycle data database day deallocate dec decimal declare decode default defaults deferrable deferred definer delete delimiter delimiters deny desc dictionary disable discard distinct distributed do document domain double drop dxl each else enable encoding encrypted end enum errors escape every except exchange exclude excluding exclusive execute exists explain extension external extract false family fetch fields filespace fill filter first float following for force foreign format forward freeze from full function global grant granted greatest group group_id grouping handler hash having header hold host hour identity if ignore ilike immediate immutable implicit in including inclusive increment index indexes inherit inherits initially inline inner inout input insensitive insert instead int integer intersect interval into invoker is isnull isolation join key language large last leading least left level like limit list listen load local localtime localtimestamp location lock log login mapping master match maxvalue median merge minute minvalue missing mode modifies modify month move name names national natural nchar new newline next no nocreatedb nocreateexttable nocreaterole nocreateuser noinherit nologin none noovercommit nosuperuser not nothing notify notnull nowait null nullif nulls numeric object of off offset oids old on only operator option options or order ordered others out outer over overcommit overlaps overlay owned owner parser partial partition partitions passing password percent percentile_cont percentile_disc placing plans position preceding precision prepare prepared preserve primary prior privileges procedural procedure protocol queue quote randomly range read readable reads real reassign recheck recursive ref references reindex reject relative release rename repeatable replace replica reset resource restart restrict returning returns revoke right role rollback rollup rootpartition row rows rule savepoint scatter schema scroll search second security segment select sequence serializable session session_user set setof sets share show similar simple smallint some split sql stable standalone start statement statistics stdin stdout storage strict strip subpartition subpartitions substring superuser symmetric sysid system table tablespace temp template temporary text then threshold ties time timestamp to trailing transaction treat trigger trim true truncate trusted type unbounded uncommitted unencrypted union unique unknown unlisten until update user using vacuum valid validation validator value values varchar variadic varying verbose version view volatile web when where whitespace window with within without work writable write xml xmlattributes xmlconcat xmlelement xmlexists xmlforest xmlparse xmlpi xmlroot xmlserialize year yes zone"),builtin:h("bigint int8 bigserial serial8 bit varying varbit boolean bool box bytea character char varchar cidr circle date double precision float float8 inet integer int int4 interval json jsonb line lseg macaddr macaddr8 money numeric decimal path pg_lsn point polygon real float4 smallint int2 smallserial serial2 serial serial4 text time without zone with timetz timestamp timestamptz tsquery tsvector txid_snapshot uuid xml"),atoms:h("false true null unknown"),operatorChars:/^[*+\-%<>!=&|^\/#@?~]/,dateSQL:h("date time timestamp"),support:h("ODBCdotTable decimallessFloat zerolessFloat binaryNumber hexNumber nCharCast charsetCast")}),zu=te({keywords:h("add after all alter analyze and anti archive array as asc at between bucket buckets by cache cascade case cast change clear cluster clustered codegen collection column columns comment commit compact compactions compute concatenate cost create cross cube current current_date current_timestamp database databases data dbproperties defined delete delimited deny desc describe dfs directories distinct distribute drop else end escaped except exchange exists explain export extended external false fields fileformat first following for format formatted from full function functions global grant group grouping having if ignore import in index indexes inner inpath inputformat insert intersect interval into is items join keys last lateral lazy left like limit lines list load local location lock locks logical macro map minus msck natural no not null nulls of on optimize option options or order out outer outputformat over overwrite partition partitioned partitions percent preceding principals purge range recordreader recordwriter recover reduce refresh regexp rename repair replace reset restrict revoke right rlike role roles rollback rollup row rows schema schemas select semi separated serde serdeproperties set sets show skewed sort sorted start statistics stored stratify struct table tables tablesample tblproperties temp temporary terminated then to touch transaction transactions transform true truncate unarchive unbounded uncache union unlock unset use using values view when where window with"),builtin:h("tinyint smallint int bigint boolean float double string binary timestamp decimal array map struct uniontype delimited serde sequencefile textfile rcfile inputformat outputformat"),atoms:h("false true null"),operatorChars:/^[*\/+\-%<>!=~&|^]/,dateSQL:h("date time timestamp"),support:h("ODBCdotTable doubleQuote zerolessFloat")}),Eu=te({client:h("source"),keywords:h("alter and as asc between by count create delete desc distinct drop from group having in insert into is join like not on or order select set table union update values where limit after all and as at asc avedev avg between by case cast coalesce count create current_timestamp day days delete define desc distinct else end escape events every exists false first from full group having hour hours in inner insert instanceof into irstream is istream join last lastweekday left limit like max match_recognize matches median measures metadatasql min minute minutes msec millisecond milliseconds not null offset on or order outer output partition pattern prev prior regexp retain-union retain-intersection right rstream sec second seconds select set some snapshot sql stddev sum then true unidirectional until update variable weekday when where window"),builtin:{},atoms:h("false true null"),operatorChars:/^[*+\-%<>!=&|^\/#@?~]/,dateSQL:h("time"),support:h("decimallessFloat zerolessFloat binaryNumber hexNumber")});function Hr(e){function n(c,f){c.cmdState.push(f)}function t(c){return c.cmdState.length>0?c.cmdState[c.cmdState.length-1]:null}function r(c){var f=c.cmdState.pop();f&&f.closeBracket()}function i(c){for(var f=c.cmdState,y=f.length-1;y>=0;y--){var R=f[y];if(R.name!="DEFAULT")return R}return{styleIdentifier:function(){return null}}}function o(c,f,y){return function(){this.name=c,this.bracketNo=0,this.style=f,this.styles=y,this.argument=null,this.styleIdentifier=function(){return this.styles[this.bracketNo-1]||null},this.openBracket=function(){return this.bracketNo++,"bracket"},this.closeBracket=function(){}}}var a={};a.importmodule=o("importmodule","tag",["string","builtin"]),a.documentclass=o("documentclass","tag",["","atom"]),a.usepackage=o("usepackage","tag",["atom"]),a.begin=o("begin","tag",["atom"]),a.end=o("end","tag",["atom"]),a.label=o("label","tag",["atom"]),a.ref=o("ref","tag",["atom"]),a.eqref=o("eqref","tag",["atom"]),a.cite=o("cite","tag",["atom"]),a.bibitem=o("bibitem","tag",["atom"]),a.Bibitem=o("Bibitem","tag",["atom"]),a.RBibitem=o("RBibitem","tag",["atom"]),a.DEFAULT=function(){this.name="DEFAULT",this.style="tag",this.styleIdentifier=this.openBracket=this.closeBracket=function(){}};function s(c,f){c.f=f}function _(c,f){var y;if(c.match(/^\\[a-zA-Z@\xc0-\u1fff\u2060-\uffff]+/)){var R=c.current().slice(1);return y=a.hasOwnProperty(R)?a[R]:a.DEFAULT,y=new y,n(f,y),s(f,S),y.style}if(c.match(/^\\[$&%#{}_]/)||c.match(/^\\[,;!\/\\]/))return"tag";if(c.match("\\["))return s(f,function(U,d){return z(U,d,"\\]")}),"keyword";if(c.match("\\("))return s(f,function(U,d){return z(U,d,"\\)")}),"keyword";if(c.match("$$"))return s(f,function(U,d){return z(U,d,"$$")}),"keyword";if(c.match("$"))return s(f,function(U,d){return z(U,d,"$")}),"keyword";var Q=c.next();if(Q=="%")return c.skipToEnd(),"comment";if(Q=="}"||Q=="]"){if(y=t(f),y)y.closeBracket(Q),s(f,S);else return"error";return"bracket"}else return Q=="{"||Q=="["?(y=a.DEFAULT,y=new y,n(f,y),"bracket"):/\d/.test(Q)?(c.eatWhile(/[\w.%]/),"atom"):(c.eatWhile(/[\w\-_]/),y=i(f),y.name=="begin"&&(y.argument=c.current()),y.styleIdentifier())}function z(c,f,y){if(c.eatSpace())return null;if(y&&c.match(y))return s(f,_),"keyword";if(c.match(/^\\[a-zA-Z@]+/))return"tag";if(c.match(/^[a-zA-Z]+/))return"variableName.special";if(c.match(/^\\[$&%#{}_]/)||c.match(/^\\[,;!\/]/)||c.match(/^[\^_&]/))return"tag";if(c.match(/^[+\-<>|=,\/@!*:;'"`~#?]/))return null;if(c.match(/^(\d+\.\d*|\d*\.\d+|\d+)/))return"number";var R=c.next();return R=="{"||R=="}"||R=="["||R=="]"||R=="("||R==")"?"bracket":R=="%"?(c.skipToEnd(),"comment"):"error"}function S(c,f){var y=c.peek(),R;return y=="{"||y=="["?(R=t(f),R.openBracket(y),c.eat(y),s(f,_),"bracket"):/[ \t\r]/.test(y)?(c.eat(y),null):(s(f,_),r(f),_(c,f))}return{name:"stex",startState:function(){var c=e?function(f,y){return z(f,y)}:_;return{cmdState:[],f:c}},copyState:function(c){return{cmdState:c.cmdState.slice(),f:c.f}},token:function(c,f){return f.f(c,f)},blankLine:function(c){c.f=_,c.cmdState.length=0},languageData:{commentTokens:{line:"%"}}}}var Hl=Hr(!1),Cu=Hr(!0);function hn(e){for(var n={},t=0;t~^?!",Yl=":;,.(){}[]",ec=/^\-?0b[01][01_]*/,nc=/^\-?0o[0-7][0-7_]*/,tc=/^\-?0x[\dA-Fa-f][\dA-Fa-f_]*(?:(?:\.[\dA-Fa-f][\dA-Fa-f_]*)?[Pp]\-?\d[\d_]*)?/,rc=/^\-?\d[\d_]*(?:\.\d[\d_]*)?(?:[Ee]\-?\d[\d_]*)?/,ic=/^\$\d+|(`?)[_A-Za-z][_A-Za-z$0-9]*\1/,oc=/^\.(?:\$\d+|(`?)[_A-Za-z][_A-Za-z$0-9]*\1)/,ac=/^\#[A-Za-z]+/,lc=/^@(?:\$\d+|(`?)[_A-Za-z][_A-Za-z$0-9]*\1)/;function Zr(e,n,t){if(e.sol()&&(n.indented=e.indentation()),e.eatSpace())return null;var r=e.peek();if(r=="/"){if(e.match("//"))return e.skipToEnd(),"comment";if(e.match("/*"))return n.tokenize.push(lt),lt(e,n)}if(e.match(ac))return"builtin";if(e.match(lc))return"attribute";if(e.match(ec)||e.match(nc)||e.match(tc)||e.match(rc))return"number";if(e.match(oc))return"property";if(Jl.indexOf(r)>-1)return e.next(),"operator";if(Yl.indexOf(r)>-1)return e.next(),e.match(".."),"punctuation";var i;if(i=e.match(/("""|"|')/)){var o=uc.bind(null,i[0]);return n.tokenize.push(o),o(e,n)}if(e.match(ic)){var a=e.current();return Xl.hasOwnProperty(a)?"type":Ql.hasOwnProperty(a)?"atom":Zl.hasOwnProperty(a)?(Gl.hasOwnProperty(a)&&(n.prev="define"),"keyword"):t=="define"?"def":"variable"}return e.next(),null}function cc(){var e=0;return function(n,t,r){var i=Zr(n,t,r);if(i=="punctuation"){if(n.current()=="(")++e;else if(n.current()==")"){if(e==0)return n.backUp(1),t.tokenize.pop(),t.tokenize[t.tokenize.length-1](n,t);--e}}return i}}function uc(e,n,t){for(var r=e.length==1,i,o=!1;i=n.peek();)if(o){if(n.next(),i=="(")return t.tokenize.push(cc()),"string";o=!1}else{if(n.match(e))return t.tokenize.pop(),"string";n.next(),o=i=="\\"}return r&&t.tokenize.pop(),"string"}function lt(e,n){for(var t;t=e.next();)if(t==="/"&&e.eat("*"))n.tokenize.push(lt);else if(t==="*"&&e.eat("/")){n.tokenize.pop();break}return"comment"}function sc(e,n,t){this.prev=e,this.align=n,this.indented=t}function dc(e,n){var t=n.match(/^\s*($|\/[\/\*]|[)}\]])/,!1)?null:n.column()+1;e.context=new sc(e.context,t,e.indented)}function fc(e){e.context&&(e.indented=e.context.indented,e.context=e.context.prev)}var pc={name:"swift",startState:function(){return{prev:null,context:null,indented:0,tokenize:[]}},token:function(e,n){var t=n.prev;n.prev=null;var r=n.tokenize[n.tokenize.length-1]||Zr,i=r(e,n,t);if(!i||i=="comment"?n.prev=t:n.prev||(n.prev=i),i=="punctuation"){var o=/[\(\[\{]|([\]\)\}])/.exec(e.current());o&&(o[1]?fc:dc)(n,e)}return i},indent:function(e,n,t){var r=e.context;if(!r)return 0;var i=/^[\]\}\)]/.test(n);return r.align!=null?r.align-(i?1:0):r.indented+(i?0:t.unit)},languageData:{indentOnInput:/^\s*[\)\}\]]$/,commentTokens:{line:"//",block:{open:"/*",close:"*/"}},closeBrackets:{brackets:["(","[","{","'",'"',"`"]}}};var mc={name:"toml",startState:function(){return{inString:!1,stringType:"",lhs:!0,inArray:0}},token:function(e,n){let t;if(!n.inString&&(t=e.match(/^('''|"""|'|")/))&&(n.stringType=t[0],n.inString=!0),e.sol()&&!n.inString&&n.inArray===0&&(n.lhs=!0),n.inString){for(;n.inString;)if(e.match(n.stringType))n.inString=!1;else if(e.peek()==="\\")e.next(),e.next();else{if(e.eol())break;e.match(/^.[^\\\"\']*/)}return n.lhs?"property":"string"}else{if(n.inArray&&e.peek()==="]")return e.next(),n.inArray--,"bracket";if(n.lhs&&e.peek()==="["&&e.skipTo("]"))return e.next(),e.peek()==="]"&&e.next(),"atom";if(e.peek()==="#")return e.skipToEnd(),"comment";if(e.eatSpace())return null;if(n.lhs&&e.eatWhile(function(r){return r!="="&&r!=" "}))return"property";if(n.lhs&&e.peek()==="=")return e.next(),n.lhs=!1,null;if(!n.lhs&&e.match(/^\d\d\d\d[\d\-\:\.T]*Z/))return"atom";if(!n.lhs&&(e.match("true")||e.match("false")))return"atom";if(!n.lhs&&e.peek()==="[")return n.inArray++,e.next(),"bracket";if(!n.lhs&&e.match(/^\-?\d+(?:\.\d+)?/))return"number";e.eatSpace()||e.next()}return null},languageData:{commentTokens:{line:"#"}}};var gn="error";function _e(e){return new RegExp("^(("+e.join(")|(")+"))\\b","i")}var hc=new RegExp("^[\\+\\-\\*/%&\\\\|\\^~<>!]"),gc=new RegExp("^[\\(\\)\\[\\]\\{\\}@,:`=;\\.]"),bc=new RegExp("^((==)|(<>)|(<=)|(>=)|(<>)|(<<)|(>>)|(//)|(\\*\\*))"),vc=new RegExp("^((\\+=)|(\\-=)|(\\*=)|(%=)|(/=)|(&=)|(\\|=)|(\\^=))"),yc=new RegExp("^((//=)|(>>=)|(<<=)|(\\*\\*=))"),kc=new RegExp("^[_A-Za-z][_A-Za-z0-9]*"),Gr=["class","module","sub","enum","select","while","if","function","get","set","property","try","structure","synclock","using","with"],Qr=["else","elseif","case","catch","finally"],Xr=["next","loop"],Jr=["and","andalso","or","orelse","xor","in","not","is","isnot","like"],_c=_e(Jr),Yr=["#const","#else","#elseif","#end","#if","#region","addhandler","addressof","alias","as","byref","byval","cbool","cbyte","cchar","cdate","cdbl","cdec","cint","clng","cobj","compare","const","continue","csbyte","cshort","csng","cstr","cuint","culng","cushort","declare","default","delegate","dim","directcast","each","erase","error","event","exit","explicit","false","for","friend","gettype","goto","handles","implements","imports","infer","inherits","interface","isfalse","istrue","lib","me","mod","mustinherit","mustoverride","my","mybase","myclass","namespace","narrowing","new","nothing","notinheritable","notoverridable","of","off","on","operator","option","optional","out","overloads","overridable","overrides","paramarray","partial","private","protected","public","raiseevent","readonly","redim","removehandler","resume","return","shadows","shared","static","step","stop","strict","then","throw","to","true","trycast","typeof","until","until","when","widening","withevents","writeonly"],ei=["object","boolean","char","string","byte","sbyte","short","ushort","int16","uint16","integer","uinteger","int32","uint32","long","ulong","int64","uint64","decimal","single","double","float","date","datetime","intptr","uintptr"],xc=_e(Yr),wc=_e(ei),Sc='"',zc=_e(Gr),ni=_e(Qr),ti=_e(Xr),ri=_e(["end"]),Ec=_e(["do"]),Tc=null;function ct(e,n){n.currentIndent++}function Ve(e,n){n.currentIndent--}function ut(e,n){if(e.eatSpace())return null;var t=e.peek();if(t==="'")return e.skipToEnd(),"comment";if(e.match(/^((&H)|(&O))?[0-9\.a-f]/i,!1)){var r=!1;if((e.match(/^\d*\.\d+F?/i)||e.match(/^\d+\.\d*F?/)||e.match(/^\.\d+F?/))&&(r=!0),r)return e.eat(/J/i),"number";var i=!1;if(e.match(/^&H[0-9a-f]+/i)||e.match(/^&O[0-7]+/i)?i=!0:e.match(/^[1-9]\d*F?/)?(e.eat(/J/i),i=!0):e.match(/^0(?![\dx])/i)&&(i=!0),i)return e.eat(/L/i),"number"}return e.match(Sc)?(n.tokenize=Cc(e.current()),n.tokenize(e,n)):e.match(yc)||e.match(vc)?null:e.match(bc)||e.match(hc)||e.match(_c)?"operator":e.match(gc)?null:e.match(Ec)?(ct(e,n),n.doInCurrentLine=!0,"keyword"):e.match(zc)?(n.doInCurrentLine?n.doInCurrentLine=!1:ct(e,n),"keyword"):e.match(ni)?"keyword":e.match(ri)?(Ve(e,n),Ve(e,n),"keyword"):e.match(ti)?(Ve(e,n),"keyword"):e.match(wc)||e.match(xc)?"keyword":e.match(kc)?"variable":(e.next(),gn)}function Cc(e){var n=e.length==1,t="string";return function(r,i){for(;!r.eol();){if(r.eatWhile(/[^'"]/),r.match(e))return i.tokenize=ut,t;r.eat(/['"]/)}return n&&(i.tokenize=ut),t}}function Ic(e,n){var t=n.tokenize(e,n),r=e.current();if(r===".")return t=n.tokenize(e,n),t==="variable"?"variable":gn;var i="[({".indexOf(r);return i!==-1&&ct(e,n),Tc==="dedent"&&Ve(e,n)||(i="])}".indexOf(r),i!==-1&&Ve(e,n))?gn:t}var Ac={name:"vb",startState:function(){return{tokenize:ut,lastToken:null,currentIndent:0,nextLineIndent:0,doInCurrentLine:!1}},token:function(e,n){e.sol()&&(n.currentIndent+=n.nextLineIndent,n.nextLineIndent=0,n.doInCurrentLine=0);var t=Ic(e,n);return n.lastToken={style:t,content:e.current()},t},indent:function(e,n,t){var r=n.replace(/^\s+|\s+$/g,"");return r.match(ti)||r.match(ri)||r.match(ni)?t.unit*(e.currentIndent-1):e.currentIndent<0?0:e.currentIndent*t.unit},languageData:{closeBrackets:{brackets:["(","[","{",'"']},commentTokens:{line:"'"},autocomplete:Gr.concat(Qr).concat(Xr).concat(Jr).concat(Yr).concat(ei)}};function ii(e){var n="error";function t(b){return new RegExp("^(("+b.join(")|(")+"))\\b","i")}var r=new RegExp("^[\\+\\-\\*/&\\\\\\^<>=]"),i=new RegExp("^((<>)|(<=)|(>=))"),o=new RegExp("^[\\.,]"),a=new RegExp("^[\\(\\)]"),s=new RegExp("^[A-Za-z][_A-Za-z0-9]*"),_=["class","sub","select","while","if","function","property","with","for"],z=["else","elseif","case"],S=["next","loop","wend"],c=t(["and","or","not","xor","is","mod","eqv","imp"]),f=["dim","redim","then","until","randomize","byval","byref","new","property","exit","in","const","private","public","get","set","let","stop","on error resume next","on error goto 0","option explicit","call","me"],y=["true","false","nothing","empty","null"],R=["abs","array","asc","atn","cbool","cbyte","ccur","cdate","cdbl","chr","cint","clng","cos","csng","cstr","date","dateadd","datediff","datepart","dateserial","datevalue","day","escape","eval","execute","exp","filter","formatcurrency","formatdatetime","formatnumber","formatpercent","getlocale","getobject","getref","hex","hour","inputbox","instr","instrrev","int","fix","isarray","isdate","isempty","isnull","isnumeric","isobject","join","lbound","lcase","left","len","loadpicture","log","ltrim","rtrim","trim","maths","mid","minute","month","monthname","msgbox","now","oct","replace","rgb","right","rnd","round","scriptengine","scriptenginebuildversion","scriptenginemajorversion","scriptengineminorversion","second","setlocale","sgn","sin","space","split","sqr","strcomp","string","strreverse","tan","time","timer","timeserial","timevalue","typename","ubound","ucase","unescape","vartype","weekday","weekdayname","year"],Q=["vbBlack","vbRed","vbGreen","vbYellow","vbBlue","vbMagenta","vbCyan","vbWhite","vbBinaryCompare","vbTextCompare","vbSunday","vbMonday","vbTuesday","vbWednesday","vbThursday","vbFriday","vbSaturday","vbUseSystemDayOfWeek","vbFirstJan1","vbFirstFourDays","vbFirstFullWeek","vbGeneralDate","vbLongDate","vbShortDate","vbLongTime","vbShortTime","vbObjectError","vbOKOnly","vbOKCancel","vbAbortRetryIgnore","vbYesNoCancel","vbYesNo","vbRetryCancel","vbCritical","vbQuestion","vbExclamation","vbInformation","vbDefaultButton1","vbDefaultButton2","vbDefaultButton3","vbDefaultButton4","vbApplicationModal","vbSystemModal","vbOK","vbCancel","vbAbort","vbRetry","vbIgnore","vbYes","vbNo","vbCr","VbCrLf","vbFormFeed","vbLf","vbNewLine","vbNullChar","vbNullString","vbTab","vbVerticalTab","vbUseDefault","vbTrue","vbFalse","vbEmpty","vbNull","vbInteger","vbLong","vbSingle","vbDouble","vbCurrency","vbDate","vbString","vbObject","vbError","vbBoolean","vbVariant","vbDataObject","vbDecimal","vbByte","vbArray"],U=["WScript","err","debug","RegExp"],d=["description","firstindex","global","helpcontext","helpfile","ignorecase","length","number","pattern","source","value","count"],C=["clear","execute","raise","replace","test","write","writeline","close","open","state","eof","update","addnew","end","createobject","quit"],E=["server","response","request","session","application"],I=["buffer","cachecontrol","charset","contenttype","expires","expiresabsolute","isclientconnected","pics","status","clientcertificate","cookies","form","querystring","servervariables","totalbytes","contents","staticobjects","codepage","lcid","sessionid","timeout","scripttimeout"],l=["addheader","appendtolog","binarywrite","end","flush","redirect","binaryread","remove","removeall","lock","unlock","abandon","getlasterror","htmlencode","mappath","transfer","urlencode"],u=C.concat(d);U=U.concat(Q),e.isASP&&(U=U.concat(E),u=u.concat(l,I));var A=t(f),x=t(y),L=t(R),m=t(U),p=t(u),T='"',k=t(_),$=t(z),ce=t(S),Pe=t(["end"]),yn=t(["do"]),ai=t(["on error resume next","exit"]),li=t(["rem"]);function ft(b,O){O.currentIndent++}function kn(b,O){O.currentIndent--}function _n(b,O){if(b.eatSpace())return null;var N=b.peek();if(N==="'"||b.match(li))return b.skipToEnd(),"comment";if(b.match(/^((&H)|(&O))?[0-9\.]/i,!1)&&!b.match(/^((&H)|(&O))?[0-9\.]+[a-z_]/i,!1)){var Z=!1;if((b.match(/^\d*\.\d+/i)||b.match(/^\d+\.\d*/)||b.match(/^\.\d+/))&&(Z=!0),Z)return b.eat(/J/i),"number";var ge=!1;if(b.match(/^&H[0-9a-f]+/i)||b.match(/^&O[0-7]+/i)?ge=!0:b.match(/^[1-9]\d*F?/)?(b.eat(/J/i),ge=!0):b.match(/^0(?![\dx])/i)&&(ge=!0),ge)return b.eat(/L/i),"number"}return b.match(T)?(O.tokenize=ci(b.current()),O.tokenize(b,O)):b.match(i)||b.match(r)||b.match(c)?"operator":b.match(o)?null:b.match(a)?"bracket":b.match(ai)?(O.doInCurrentLine=!0,"keyword"):b.match(yn)?(ft(b,O),O.doInCurrentLine=!0,"keyword"):b.match(k)?(O.doInCurrentLine?O.doInCurrentLine=!1:ft(b,O),"keyword"):b.match($)?"keyword":b.match(Pe)?(kn(b,O),kn(b,O),"keyword"):b.match(ce)?(O.doInCurrentLine?O.doInCurrentLine=!1:kn(b,O),"keyword"):b.match(A)?"keyword":b.match(x)?"atom":b.match(p)?"variableName.special":b.match(L)||b.match(m)?"builtin":b.match(s)?"variable":(b.next(),n)}function ci(b){var O=b.length==1,N="string";return function(Z,ge){for(;!Z.eol();){if(Z.eatWhile(/[^'"]/),Z.match(b))return ge.tokenize=_n,N;Z.eat(/['"]/)}return O&&(ge.tokenize=_n),N}}function ui(b,O){var N=O.tokenize(b,O),Z=b.current();return Z==="."?(N=O.tokenize(b,O),Z=b.current(),N&&(N.substr(0,8)==="variable"||N==="builtin"||N==="keyword")?((N==="builtin"||N==="keyword")&&(N="variable"),u.indexOf(Z.substr(1))>-1&&(N="keyword"),N):n):N}return{name:"vbscript",startState:function(){return{tokenize:_n,lastToken:null,currentIndent:0,nextLineIndent:0,doInCurrentLine:!1,ignoreKeyword:!1}},token:function(b,O){b.sol()&&(O.currentIndent+=O.nextLineIndent,O.nextLineIndent=0,O.doInCurrentLine=0);var N=ui(b,O);return O.lastToken={style:N,content:b.current()},N===null&&(N=null),N},indent:function(b,O,N){var Z=O.replace(/^\s+|\s+$/g,"");return Z.match(ce)||Z.match(Pe)||Z.match($)?N.unit*(b.currentIndent-1):b.currentIndent<0?0:b.currentIndent*N.unit}}}var Oc=ii({}),Pu=ii({isASP:!0});var Rc=["true","false","on","off","yes","no"],Pc=new RegExp("\\b(("+Rc.join(")|(")+"))$","i"),Dc={name:"yaml",token:function(e,n){var t=e.peek(),r=n.escaped;if(n.escaped=!1,t=="#"&&(e.pos==0||/\s/.test(e.string.charAt(e.pos-1))))return e.skipToEnd(),"comment";if(e.match(/^('([^']|\\.)*'?|"([^"]|\\.)*"?)/))return"string";if(n.literal&&e.indentation()>n.keyCol)return e.skipToEnd(),"string";if(n.literal&&(n.literal=!1),e.sol()){if(n.keyCol=0,n.pair=!1,n.pairStart=!1,e.match("---")||e.match("..."))return"def";if(e.match(/^\s*-\s+/))return"meta"}if(e.match(/^(\{|\}|\[|\])/))return t=="{"?n.inlinePairs++:t=="}"?n.inlinePairs--:t=="["?n.inlineList++:n.inlineList--,"meta";if(n.inlineList>0&&!r&&t==",")return e.next(),"meta";if(n.inlinePairs>0&&!r&&t==",")return n.keyCol=0,n.pair=!1,n.pairStart=!1,e.next(),"meta";if(n.pairStart){if(e.match(/^\s*(\||\>)\s*/))return n.literal=!0,"meta";if(e.match(/^\s*(\&|\*)[a-z0-9\._-]+\b/i))return"variable";if(n.inlinePairs==0&&e.match(/^\s*-?[0-9\.\,]+\s?$/)||n.inlinePairs>0&&e.match(/^\s*-?[0-9\.\,]+\s?(?=(,|}))/))return"number";if(e.match(Pc))return"keyword"}return!n.pair&&e.match(/^\s*(?:[,\[\]{}&*!|>'"%@`][^\s'":]|[^,\[\]{}#&*!|>'"%@`])[^#]*?(?=\s*:($|\s))/)?(n.pair=!0,n.keyCol=e.indentation(),"atom"):n.pair&&e.match(/^:\s*/)?(n.pairStart=!0,"meta"):(n.pairStart=!1,n.escaped=t=="\\",e.next(),null)},startState:function(){return{pair:!1,pairStart:!1,keyCol:0,inlinePairs:0,inlineList:0,literal:!1,escaped:!1}},languageData:{commentTokens:{line:"#"}}};var st={token:e=>e.skipToEnd()},dt=["debug","extends","function","include","literal"],se={operatorChars:/[+\-*&%=<>!?]/,validIdentifier:/[a-zA-Z0-9_]/,stringChar:/['"]/},vn;function G(e,n){return vn=n,e}function Lc(e,n,t){return n.tokenize=t,t(e,n)}function $c(e,n){return!1}function bn(e,n){let t=e.string,r;for(let o=e.pos;r=t.indexOf("{",o),o=r+1,!(r===-1||!$c()););if(r===e.pos)return e.match("{"),e.eat("*")?Lc(e,n,Fc("comment","*}")):(n.depth++,n.tokenize=oi,vn="startTag","tag");r>-1&&(e.string=t.slice(0,r));let i=st.token(e,n.base);return r>-1&&(e.string=t),i}function oi(e,n){if(e.match("}",!0))return n.tokenize=bn,G("tag",null);if(e.match("{",!0))return n.depth++,G("tag","startTag");let t=e.next();if(t==="$")return e.eatWhile(se.validIdentifier),G("variable-2","variable");if(t==="|")return G("operator","pipe");if(t===".")return G("operator","property");if(se.stringChar.test(t))return n.tokenize=Nc(t),G("string","string");if(se.operatorChars.test(t))return e.eatWhile(se.operatorChars),G("operator","operator");if(t==="["||t==="]")return G("bracket","bracket");if(t==="("||t===")")return G("bracket","operator");if(/\d/.test(t))return e.eatWhile(/\d/),G("number","number");{if(n.last==="variable"){if(t==="@")return e.eatWhile(se.validIdentifier),G("property","property");if(t==="|")return e.eatWhile(se.validIdentifier),G("qualifier","modifier")}else{if(n.last==="pipe")return e.eatWhile(se.validIdentifier),G("qualifier","modifier");if(n.last==="whitespace")return e.eatWhile(se.validIdentifier),G("attribute","modifier")}if(n.last==="property")return e.eatWhile(se.validIdentifier),G("property",null);if(/\s/.test(t))return vn="whitespace",null;let r="";t!=="/"&&(r+=t);let i=null;for(;i=e.eat(se.validIdentifier);)r+=i;for(let o=0,a=dt.length;o{throw TypeError(u)};var tr=(u,e,t)=>e in u?Eu(u,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):u[e]=t;var rr=(u,e)=>()=>(e||u((e={exports:{}}).exports,e),e.exports),wu=(u,e)=>{for(var t in e)Eu(u,t,{get:e[t],enumerable:!0})},nr=(u,e,t,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let n of Q0(e))!er.call(u,n)&&n!==t&&Eu(u,n,{get:()=>e[n],enumerable:!(r=Y0(e,n))||r.enumerable});return u};var or=(u,e,t)=>(t=u!=null?K0(ur(u)):{},nr(e||!u||!u.__esModule?Eu(t,"default",{value:u,enumerable:!0}):t,u));var v=(u,e,t)=>tr(u,typeof e!="symbol"?e+"":e,t),ir=(u,e,t)=>e.has(u)||Ft("Cannot "+t);var St=(u,e,t)=>e.has(u)?Ft("Cannot add the same private member more than once"):e instanceof WeakSet?e.add(u):e.set(u,t);var R=(u,e,t)=>(ir(u,e,"access private method"),t);var P0=rr((fs,q0)=>{var it=!0,I0=!1,R0=!1;q0.exports=function(u,e){e&&(it=!e.enabled,I0=!!e.label,R0=!!e.labelAfter),u.core.ruler.after("inline","github-task-lists",function(t){for(var r=t.tokens,n=2;n=0;r--)if(u[r].level===t)return r;return-1}function ro(u,e){return so(u[e])&&lo(u[e-1])&&fo(u[e-2])&&po(u[e])}function no(u,e){if(u.children.unshift(oo(u,e)),u.children[1].content=u.children[1].content.slice(3),u.content=u.content.slice(3),I0)if(R0){u.children.pop();var t="task-item-"+Math.ceil(Math.random()*(1e4*1e3)-1e3);u.children[0].content=u.children[0].content.slice(0,-1)+' id="'+t+'">',u.children.push(ao(u.content,t,e))}else u.children.unshift(io(e)),u.children.push(co(e))}function oo(u,e){var t=new e("html_inline","",0),r=it?' disabled="" ':"";return u.content.indexOf("[ ] ")===0?t.content='':(u.content.indexOf("[x] ")===0||u.content.indexOf("[X] ")===0)&&(t.content=''),t}function io(u){var e=new u("html_inline","",0);return e.content="",e}function ao(u,e,t){var r=new t("html_inline","",0);return r.content='",r.attrs=[{for:e}],r}function so(u){return u.type==="inline"}function lo(u){return u.type==="paragraph_open"}function fo(u){return u.type==="list_item_open"}function po(u){return u.content.indexOf("[ ] ")===0||u.content.indexOf("[x] ")===0||u.content.indexOf("[X] ")===0}});var de={};wu(de,{arrayReplaceAt:()=>le,assign:()=>su,escapeHtml:()=>Z,escapeRE:()=>Ur,fromCodePoint:()=>bu,has:()=>Lr,isMdAsciiPunct:()=>tu,isPunctChar:()=>eu,isSpace:()=>A,isString:()=>qu,isValidEntityCode:()=>Pu,isWhiteSpace:()=>uu,lib:()=>jr,normalizeReference:()=>ru,unescapeAll:()=>V,unescapeMd:()=>Br});var Fu={};wu(Fu,{decode:()=>hu,encode:()=>vu,format:()=>cu,parse:()=>mu});var Tt={};function cr(u){let e=Tt[u];if(e)return e;e=Tt[u]=[];for(let t=0;t<128;t++){let r=String.fromCharCode(t);e.push(r)}for(let t=0;t=55296&&d<=57343?n+="\uFFFD\uFFFD\uFFFD":n+=String.fromCharCode(d),o+=6;continue}}if((c&248)===240&&o+91114111?n+="\uFFFD\uFFFD\uFFFD\uFFFD":(f-=65536,n+=String.fromCharCode(55296+(f>>10),56320+(f&1023))),o+=9;continue}}n+="\uFFFD"}return n})}Cu.defaultChars=";/?:@&=+$,#";Cu.componentChars="";var hu=Cu;var Mt={};function ar(u){let e=Mt[u];if(e)return e;e=Mt[u]=[];for(let t=0;t<128;t++){let r=String.fromCharCode(t);/^[0-9a-z]$/i.test(r)?e.push(r):e.push("%"+("0"+t.toString(16).toUpperCase()).slice(-2))}for(let t=0;t"u"&&(t=!0);let r=ar(e),n="";for(let o=0,i=u.length;o=55296&&c<=57343){if(c>=55296&&c<=56319&&o+1=56320&&a<=57343){n+=encodeURIComponent(u[o]+u[o+1]),o++;continue}}n+="%EF%BF%BD";continue}n+=encodeURIComponent(u[o])}return n}Du.defaultChars=";/?:@&=+$,-_.!~*'()#";Du.componentChars="-_.!~*'()";var vu=Du;function cu(u){let e="";return e+=u.protocol||"",e+=u.slashes?"//":"",e+=u.auth?u.auth+"@":"",u.hostname&&u.hostname.indexOf(":")!==-1?e+="["+u.hostname+"]":e+=u.hostname||"",e+=u.port?":"+u.port:"",e+=u.pathname||"",e+=u.search||"",e+=u.hash||"",e}function Au(){this.protocol=null,this.slashes=null,this.auth=null,this.port=null,this.hostname=null,this.hash=null,this.search=null,this.pathname=null}var sr=/^([a-z0-9.+-]+:)/i,lr=/:[0-9]*$/,dr=/^(\/\/?(?!\/)[^\?\s]*)(\?[^\s]*)?$/,fr=["<",">",'"',"`"," ","\r",` +`," "],pr=["{","}","|","\\","^","`"].concat(fr),hr=["'"].concat(pr),Lt=["%","/","?",";","#"].concat(hr),It=["/","?","#"],mr=255,Rt=/^[+a-z0-9A-Z_-]{0,63}$/,br=/^([+a-z0-9A-Z_-]{0,63})(.*)$/,qt={javascript:!0,"javascript:":!0},Pt={http:!0,https:!0,ftp:!0,gopher:!0,file:!0,"http:":!0,"https:":!0,"ftp:":!0,"gopher:":!0,"file:":!0};function gr(u,e){if(u&&u instanceof Au)return u;let t=new Au;return t.parse(u,e),t}Au.prototype.parse=function(u,e){let t,r,n,o=u;if(o=o.trim(),!e&&u.split("#").length===1){let s=dr.exec(o);if(s)return this.pathname=s[1],s[2]&&(this.search=s[2]),this}let i=sr.exec(o);if(i&&(i=i[0],t=i.toLowerCase(),this.protocol=i,o=o.substr(i.length)),(e||i||o.match(/^\/\/[^@\/]+@[^@\/]+/))&&(n=o.substr(0,2)==="//",n&&!(i&&qt[i])&&(o=o.substr(2),this.slashes=!0)),!qt[i]&&(n||i&&!Pt[i])){let s=-1;for(let l=0;l127?x+="x":x+=k[_];if(!x.match(Rt)){let _=l.slice(0,p),y=l.slice(p+1),m=k.match(br);m&&(_.push(m[1]),y.unshift(m[2])),y.length&&(o=y.join(".")+o),this.hostname=_.join(".");break}}}}this.hostname.length>mr&&(this.hostname=""),h&&(this.hostname=this.hostname.substr(1,this.hostname.length-2))}let c=o.indexOf("#");c!==-1&&(this.hash=o.substr(c),o=o.slice(0,c));let a=o.indexOf("?");return a!==-1&&(this.search=o.substr(a),o=o.slice(0,a)),o&&(this.pathname=o),Pt[t]&&this.hostname&&!this.pathname&&(this.pathname=""),this};Au.prototype.parseHost=function(u){let e=lr.exec(u);e&&(e=e[0],e!==":"&&(this.port=e.substr(1)),u=u.substr(0,u.length-e.length)),u&&(this.hostname=u)};var mu=gr;var re={};wu(re,{Any:()=>Su,Cc:()=>Tu,Cf:()=>Bt,P:()=>au,S:()=>Mu,Z:()=>Lu});var Su=/[\0-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF][\uDC00-\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/;var Tu=/[\0-\x1F\x7F-\x9F]/;var Bt=/[\xAD\u0600-\u0605\u061C\u06DD\u070F\u0890\u0891\u08E2\u180E\u200B-\u200F\u202A-\u202E\u2060-\u2064\u2066-\u206F\uFEFF\uFFF9-\uFFFB]|\uD804[\uDCBD\uDCCD]|\uD80D[\uDC30-\uDC3F]|\uD82F[\uDCA0-\uDCA3]|\uD834[\uDD73-\uDD7A]|\uDB40[\uDC01\uDC20-\uDC7F]/;var au=/[!-#%-\*,-\/:;\?@\[-\]_\{\}\xA1\xA7\xAB\xB6\xB7\xBB\xBF\u037E\u0387\u055A-\u055F\u0589\u058A\u05BE\u05C0\u05C3\u05C6\u05F3\u05F4\u0609\u060A\u060C\u060D\u061B\u061D-\u061F\u066A-\u066D\u06D4\u0700-\u070D\u07F7-\u07F9\u0830-\u083E\u085E\u0964\u0965\u0970\u09FD\u0A76\u0AF0\u0C77\u0C84\u0DF4\u0E4F\u0E5A\u0E5B\u0F04-\u0F12\u0F14\u0F3A-\u0F3D\u0F85\u0FD0-\u0FD4\u0FD9\u0FDA\u104A-\u104F\u10FB\u1360-\u1368\u1400\u166E\u169B\u169C\u16EB-\u16ED\u1735\u1736\u17D4-\u17D6\u17D8-\u17DA\u1800-\u180A\u1944\u1945\u1A1E\u1A1F\u1AA0-\u1AA6\u1AA8-\u1AAD\u1B5A-\u1B60\u1B7D\u1B7E\u1BFC-\u1BFF\u1C3B-\u1C3F\u1C7E\u1C7F\u1CC0-\u1CC7\u1CD3\u2010-\u2027\u2030-\u2043\u2045-\u2051\u2053-\u205E\u207D\u207E\u208D\u208E\u2308-\u230B\u2329\u232A\u2768-\u2775\u27C5\u27C6\u27E6-\u27EF\u2983-\u2998\u29D8-\u29DB\u29FC\u29FD\u2CF9-\u2CFC\u2CFE\u2CFF\u2D70\u2E00-\u2E2E\u2E30-\u2E4F\u2E52-\u2E5D\u3001-\u3003\u3008-\u3011\u3014-\u301F\u3030\u303D\u30A0\u30FB\uA4FE\uA4FF\uA60D-\uA60F\uA673\uA67E\uA6F2-\uA6F7\uA874-\uA877\uA8CE\uA8CF\uA8F8-\uA8FA\uA8FC\uA92E\uA92F\uA95F\uA9C1-\uA9CD\uA9DE\uA9DF\uAA5C-\uAA5F\uAADE\uAADF\uAAF0\uAAF1\uABEB\uFD3E\uFD3F\uFE10-\uFE19\uFE30-\uFE52\uFE54-\uFE61\uFE63\uFE68\uFE6A\uFE6B\uFF01-\uFF03\uFF05-\uFF0A\uFF0C-\uFF0F\uFF1A\uFF1B\uFF1F\uFF20\uFF3B-\uFF3D\uFF3F\uFF5B\uFF5D\uFF5F-\uFF65]|\uD800[\uDD00-\uDD02\uDF9F\uDFD0]|\uD801\uDD6F|\uD802[\uDC57\uDD1F\uDD3F\uDE50-\uDE58\uDE7F\uDEF0-\uDEF6\uDF39-\uDF3F\uDF99-\uDF9C]|\uD803[\uDEAD\uDF55-\uDF59\uDF86-\uDF89]|\uD804[\uDC47-\uDC4D\uDCBB\uDCBC\uDCBE-\uDCC1\uDD40-\uDD43\uDD74\uDD75\uDDC5-\uDDC8\uDDCD\uDDDB\uDDDD-\uDDDF\uDE38-\uDE3D\uDEA9]|\uD805[\uDC4B-\uDC4F\uDC5A\uDC5B\uDC5D\uDCC6\uDDC1-\uDDD7\uDE41-\uDE43\uDE60-\uDE6C\uDEB9\uDF3C-\uDF3E]|\uD806[\uDC3B\uDD44-\uDD46\uDDE2\uDE3F-\uDE46\uDE9A-\uDE9C\uDE9E-\uDEA2\uDF00-\uDF09]|\uD807[\uDC41-\uDC45\uDC70\uDC71\uDEF7\uDEF8\uDF43-\uDF4F\uDFFF]|\uD809[\uDC70-\uDC74]|\uD80B[\uDFF1\uDFF2]|\uD81A[\uDE6E\uDE6F\uDEF5\uDF37-\uDF3B\uDF44]|\uD81B[\uDE97-\uDE9A\uDFE2]|\uD82F\uDC9F|\uD836[\uDE87-\uDE8B]|\uD83A[\uDD5E\uDD5F]/;var Mu=/[\$\+<->\^`\|~\xA2-\xA6\xA8\xA9\xAC\xAE-\xB1\xB4\xB8\xD7\xF7\u02C2-\u02C5\u02D2-\u02DF\u02E5-\u02EB\u02ED\u02EF-\u02FF\u0375\u0384\u0385\u03F6\u0482\u058D-\u058F\u0606-\u0608\u060B\u060E\u060F\u06DE\u06E9\u06FD\u06FE\u07F6\u07FE\u07FF\u0888\u09F2\u09F3\u09FA\u09FB\u0AF1\u0B70\u0BF3-\u0BFA\u0C7F\u0D4F\u0D79\u0E3F\u0F01-\u0F03\u0F13\u0F15-\u0F17\u0F1A-\u0F1F\u0F34\u0F36\u0F38\u0FBE-\u0FC5\u0FC7-\u0FCC\u0FCE\u0FCF\u0FD5-\u0FD8\u109E\u109F\u1390-\u1399\u166D\u17DB\u1940\u19DE-\u19FF\u1B61-\u1B6A\u1B74-\u1B7C\u1FBD\u1FBF-\u1FC1\u1FCD-\u1FCF\u1FDD-\u1FDF\u1FED-\u1FEF\u1FFD\u1FFE\u2044\u2052\u207A-\u207C\u208A-\u208C\u20A0-\u20C0\u2100\u2101\u2103-\u2106\u2108\u2109\u2114\u2116-\u2118\u211E-\u2123\u2125\u2127\u2129\u212E\u213A\u213B\u2140-\u2144\u214A-\u214D\u214F\u218A\u218B\u2190-\u2307\u230C-\u2328\u232B-\u2426\u2440-\u244A\u249C-\u24E9\u2500-\u2767\u2794-\u27C4\u27C7-\u27E5\u27F0-\u2982\u2999-\u29D7\u29DC-\u29FB\u29FE-\u2B73\u2B76-\u2B95\u2B97-\u2BFF\u2CE5-\u2CEA\u2E50\u2E51\u2E80-\u2E99\u2E9B-\u2EF3\u2F00-\u2FD5\u2FF0-\u2FFF\u3004\u3012\u3013\u3020\u3036\u3037\u303E\u303F\u309B\u309C\u3190\u3191\u3196-\u319F\u31C0-\u31E3\u31EF\u3200-\u321E\u322A-\u3247\u3250\u3260-\u327F\u328A-\u32B0\u32C0-\u33FF\u4DC0-\u4DFF\uA490-\uA4C6\uA700-\uA716\uA720\uA721\uA789\uA78A\uA828-\uA82B\uA836-\uA839\uAA77-\uAA79\uAB5B\uAB6A\uAB6B\uFB29\uFBB2-\uFBC2\uFD40-\uFD4F\uFDCF\uFDFC-\uFDFF\uFE62\uFE64-\uFE66\uFE69\uFF04\uFF0B\uFF1C-\uFF1E\uFF3E\uFF40\uFF5C\uFF5E\uFFE0-\uFFE6\uFFE8-\uFFEE\uFFFC\uFFFD]|\uD800[\uDD37-\uDD3F\uDD79-\uDD89\uDD8C-\uDD8E\uDD90-\uDD9C\uDDA0\uDDD0-\uDDFC]|\uD802[\uDC77\uDC78\uDEC8]|\uD805\uDF3F|\uD807[\uDFD5-\uDFF1]|\uD81A[\uDF3C-\uDF3F\uDF45]|\uD82F\uDC9C|\uD833[\uDF50-\uDFC3]|\uD834[\uDC00-\uDCF5\uDD00-\uDD26\uDD29-\uDD64\uDD6A-\uDD6C\uDD83\uDD84\uDD8C-\uDDA9\uDDAE-\uDDEA\uDE00-\uDE41\uDE45\uDF00-\uDF56]|\uD835[\uDEC1\uDEDB\uDEFB\uDF15\uDF35\uDF4F\uDF6F\uDF89\uDFA9\uDFC3]|\uD836[\uDC00-\uDDFF\uDE37-\uDE3A\uDE6D-\uDE74\uDE76-\uDE83\uDE85\uDE86]|\uD838[\uDD4F\uDEFF]|\uD83B[\uDCAC\uDCB0\uDD2E\uDEF0\uDEF1]|\uD83C[\uDC00-\uDC2B\uDC30-\uDC93\uDCA0-\uDCAE\uDCB1-\uDCBF\uDCC1-\uDCCF\uDCD1-\uDCF5\uDD0D-\uDDAD\uDDE6-\uDE02\uDE10-\uDE3B\uDE40-\uDE48\uDE50\uDE51\uDE60-\uDE65\uDF00-\uDFFF]|\uD83D[\uDC00-\uDED7\uDEDC-\uDEEC\uDEF0-\uDEFC\uDF00-\uDF76\uDF7B-\uDFD9\uDFE0-\uDFEB\uDFF0]|\uD83E[\uDC00-\uDC0B\uDC10-\uDC47\uDC50-\uDC59\uDC60-\uDC87\uDC90-\uDCAD\uDCB0\uDCB1\uDD00-\uDE53\uDE60-\uDE6D\uDE70-\uDE7C\uDE80-\uDE88\uDE90-\uDEBD\uDEBF-\uDEC5\uDECE-\uDEDB\uDEE0-\uDEE8\uDEF0-\uDEF8\uDF00-\uDF92\uDF94-\uDFCA]/;var Lu=/[ \xA0\u1680\u2000-\u200A\u2028\u2029\u202F\u205F\u3000]/;var Nt=new Uint16Array('\u1D41<\xD5\u0131\u028A\u049D\u057B\u05D0\u0675\u06DE\u07A2\u07D6\u080F\u0A4A\u0A91\u0DA1\u0E6D\u0F09\u0F26\u10CA\u1228\u12E1\u1415\u149D\u14C3\u14DF\u1525\0\0\0\0\0\0\u156B\u16CD\u198D\u1C12\u1DDD\u1F7E\u2060\u21B0\u228D\u23C0\u23FB\u2442\u2824\u2912\u2D08\u2E48\u2FCE\u3016\u32BA\u3639\u37AC\u38FE\u3A28\u3A71\u3AE0\u3B2E\u0800EMabcfglmnoprstu\\bfms\x7F\x84\x8B\x90\x95\x98\xA6\xB3\xB9\xC8\xCFlig\u803B\xC6\u40C6P\u803B&\u4026cute\u803B\xC1\u40C1reve;\u4102\u0100iyx}rc\u803B\xC2\u40C2;\u4410r;\uC000\u{1D504}rave\u803B\xC0\u40C0pha;\u4391acr;\u4100d;\u6A53\u0100gp\x9D\xA1on;\u4104f;\uC000\u{1D538}plyFunction;\u6061ing\u803B\xC5\u40C5\u0100cs\xBE\xC3r;\uC000\u{1D49C}ign;\u6254ilde\u803B\xC3\u40C3ml\u803B\xC4\u40C4\u0400aceforsu\xE5\xFB\xFE\u0117\u011C\u0122\u0127\u012A\u0100cr\xEA\xF2kslash;\u6216\u0176\xF6\xF8;\u6AE7ed;\u6306y;\u4411\u0180crt\u0105\u010B\u0114ause;\u6235noullis;\u612Ca;\u4392r;\uC000\u{1D505}pf;\uC000\u{1D539}eve;\u42D8c\xF2\u0113mpeq;\u624E\u0700HOacdefhilorsu\u014D\u0151\u0156\u0180\u019E\u01A2\u01B5\u01B7\u01BA\u01DC\u0215\u0273\u0278\u027Ecy;\u4427PY\u803B\xA9\u40A9\u0180cpy\u015D\u0162\u017Aute;\u4106\u0100;i\u0167\u0168\u62D2talDifferentialD;\u6145leys;\u612D\u0200aeio\u0189\u018E\u0194\u0198ron;\u410Cdil\u803B\xC7\u40C7rc;\u4108nint;\u6230ot;\u410A\u0100dn\u01A7\u01ADilla;\u40B8terDot;\u40B7\xF2\u017Fi;\u43A7rcle\u0200DMPT\u01C7\u01CB\u01D1\u01D6ot;\u6299inus;\u6296lus;\u6295imes;\u6297o\u0100cs\u01E2\u01F8kwiseContourIntegral;\u6232eCurly\u0100DQ\u0203\u020FoubleQuote;\u601Duote;\u6019\u0200lnpu\u021E\u0228\u0247\u0255on\u0100;e\u0225\u0226\u6237;\u6A74\u0180git\u022F\u0236\u023Aruent;\u6261nt;\u622FourIntegral;\u622E\u0100fr\u024C\u024E;\u6102oduct;\u6210nterClockwiseContourIntegral;\u6233oss;\u6A2Fcr;\uC000\u{1D49E}p\u0100;C\u0284\u0285\u62D3ap;\u624D\u0580DJSZacefios\u02A0\u02AC\u02B0\u02B4\u02B8\u02CB\u02D7\u02E1\u02E6\u0333\u048D\u0100;o\u0179\u02A5trahd;\u6911cy;\u4402cy;\u4405cy;\u440F\u0180grs\u02BF\u02C4\u02C7ger;\u6021r;\u61A1hv;\u6AE4\u0100ay\u02D0\u02D5ron;\u410E;\u4414l\u0100;t\u02DD\u02DE\u6207a;\u4394r;\uC000\u{1D507}\u0100af\u02EB\u0327\u0100cm\u02F0\u0322ritical\u0200ADGT\u0300\u0306\u0316\u031Ccute;\u40B4o\u0174\u030B\u030D;\u42D9bleAcute;\u42DDrave;\u4060ilde;\u42DCond;\u62C4ferentialD;\u6146\u0470\u033D\0\0\0\u0342\u0354\0\u0405f;\uC000\u{1D53B}\u0180;DE\u0348\u0349\u034D\u40A8ot;\u60DCqual;\u6250ble\u0300CDLRUV\u0363\u0372\u0382\u03CF\u03E2\u03F8ontourIntegra\xEC\u0239o\u0274\u0379\0\0\u037B\xBB\u0349nArrow;\u61D3\u0100eo\u0387\u03A4ft\u0180ART\u0390\u0396\u03A1rrow;\u61D0ightArrow;\u61D4e\xE5\u02CAng\u0100LR\u03AB\u03C4eft\u0100AR\u03B3\u03B9rrow;\u67F8ightArrow;\u67FAightArrow;\u67F9ight\u0100AT\u03D8\u03DErrow;\u61D2ee;\u62A8p\u0241\u03E9\0\0\u03EFrrow;\u61D1ownArrow;\u61D5erticalBar;\u6225n\u0300ABLRTa\u0412\u042A\u0430\u045E\u047F\u037Crrow\u0180;BU\u041D\u041E\u0422\u6193ar;\u6913pArrow;\u61F5reve;\u4311eft\u02D2\u043A\0\u0446\0\u0450ightVector;\u6950eeVector;\u695Eector\u0100;B\u0459\u045A\u61BDar;\u6956ight\u01D4\u0467\0\u0471eeVector;\u695Fector\u0100;B\u047A\u047B\u61C1ar;\u6957ee\u0100;A\u0486\u0487\u62A4rrow;\u61A7\u0100ct\u0492\u0497r;\uC000\u{1D49F}rok;\u4110\u0800NTacdfglmopqstux\u04BD\u04C0\u04C4\u04CB\u04DE\u04E2\u04E7\u04EE\u04F5\u0521\u052F\u0536\u0552\u055D\u0560\u0565G;\u414AH\u803B\xD0\u40D0cute\u803B\xC9\u40C9\u0180aiy\u04D2\u04D7\u04DCron;\u411Arc\u803B\xCA\u40CA;\u442Dot;\u4116r;\uC000\u{1D508}rave\u803B\xC8\u40C8ement;\u6208\u0100ap\u04FA\u04FEcr;\u4112ty\u0253\u0506\0\0\u0512mallSquare;\u65FBerySmallSquare;\u65AB\u0100gp\u0526\u052Aon;\u4118f;\uC000\u{1D53C}silon;\u4395u\u0100ai\u053C\u0549l\u0100;T\u0542\u0543\u6A75ilde;\u6242librium;\u61CC\u0100ci\u0557\u055Ar;\u6130m;\u6A73a;\u4397ml\u803B\xCB\u40CB\u0100ip\u056A\u056Fsts;\u6203onentialE;\u6147\u0280cfios\u0585\u0588\u058D\u05B2\u05CCy;\u4424r;\uC000\u{1D509}lled\u0253\u0597\0\0\u05A3mallSquare;\u65FCerySmallSquare;\u65AA\u0370\u05BA\0\u05BF\0\0\u05C4f;\uC000\u{1D53D}All;\u6200riertrf;\u6131c\xF2\u05CB\u0600JTabcdfgorst\u05E8\u05EC\u05EF\u05FA\u0600\u0612\u0616\u061B\u061D\u0623\u066C\u0672cy;\u4403\u803B>\u403Emma\u0100;d\u05F7\u05F8\u4393;\u43DCreve;\u411E\u0180eiy\u0607\u060C\u0610dil;\u4122rc;\u411C;\u4413ot;\u4120r;\uC000\u{1D50A};\u62D9pf;\uC000\u{1D53E}eater\u0300EFGLST\u0635\u0644\u064E\u0656\u065B\u0666qual\u0100;L\u063E\u063F\u6265ess;\u62DBullEqual;\u6267reater;\u6AA2ess;\u6277lantEqual;\u6A7Eilde;\u6273cr;\uC000\u{1D4A2};\u626B\u0400Aacfiosu\u0685\u068B\u0696\u069B\u069E\u06AA\u06BE\u06CARDcy;\u442A\u0100ct\u0690\u0694ek;\u42C7;\u405Eirc;\u4124r;\u610ClbertSpace;\u610B\u01F0\u06AF\0\u06B2f;\u610DizontalLine;\u6500\u0100ct\u06C3\u06C5\xF2\u06A9rok;\u4126mp\u0144\u06D0\u06D8ownHum\xF0\u012Fqual;\u624F\u0700EJOacdfgmnostu\u06FA\u06FE\u0703\u0707\u070E\u071A\u071E\u0721\u0728\u0744\u0778\u078B\u078F\u0795cy;\u4415lig;\u4132cy;\u4401cute\u803B\xCD\u40CD\u0100iy\u0713\u0718rc\u803B\xCE\u40CE;\u4418ot;\u4130r;\u6111rave\u803B\xCC\u40CC\u0180;ap\u0720\u072F\u073F\u0100cg\u0734\u0737r;\u412AinaryI;\u6148lie\xF3\u03DD\u01F4\u0749\0\u0762\u0100;e\u074D\u074E\u622C\u0100gr\u0753\u0758ral;\u622Bsection;\u62C2isible\u0100CT\u076C\u0772omma;\u6063imes;\u6062\u0180gpt\u077F\u0783\u0788on;\u412Ef;\uC000\u{1D540}a;\u4399cr;\u6110ilde;\u4128\u01EB\u079A\0\u079Ecy;\u4406l\u803B\xCF\u40CF\u0280cfosu\u07AC\u07B7\u07BC\u07C2\u07D0\u0100iy\u07B1\u07B5rc;\u4134;\u4419r;\uC000\u{1D50D}pf;\uC000\u{1D541}\u01E3\u07C7\0\u07CCr;\uC000\u{1D4A5}rcy;\u4408kcy;\u4404\u0380HJacfos\u07E4\u07E8\u07EC\u07F1\u07FD\u0802\u0808cy;\u4425cy;\u440Cppa;\u439A\u0100ey\u07F6\u07FBdil;\u4136;\u441Ar;\uC000\u{1D50E}pf;\uC000\u{1D542}cr;\uC000\u{1D4A6}\u0580JTaceflmost\u0825\u0829\u082C\u0850\u0863\u09B3\u09B8\u09C7\u09CD\u0A37\u0A47cy;\u4409\u803B<\u403C\u0280cmnpr\u0837\u083C\u0841\u0844\u084Dute;\u4139bda;\u439Bg;\u67EAlacetrf;\u6112r;\u619E\u0180aey\u0857\u085C\u0861ron;\u413Ddil;\u413B;\u441B\u0100fs\u0868\u0970t\u0500ACDFRTUVar\u087E\u08A9\u08B1\u08E0\u08E6\u08FC\u092F\u095B\u0390\u096A\u0100nr\u0883\u088FgleBracket;\u67E8row\u0180;BR\u0899\u089A\u089E\u6190ar;\u61E4ightArrow;\u61C6eiling;\u6308o\u01F5\u08B7\0\u08C3bleBracket;\u67E6n\u01D4\u08C8\0\u08D2eeVector;\u6961ector\u0100;B\u08DB\u08DC\u61C3ar;\u6959loor;\u630Aight\u0100AV\u08EF\u08F5rrow;\u6194ector;\u694E\u0100er\u0901\u0917e\u0180;AV\u0909\u090A\u0910\u62A3rrow;\u61A4ector;\u695Aiangle\u0180;BE\u0924\u0925\u0929\u62B2ar;\u69CFqual;\u62B4p\u0180DTV\u0937\u0942\u094CownVector;\u6951eeVector;\u6960ector\u0100;B\u0956\u0957\u61BFar;\u6958ector\u0100;B\u0965\u0966\u61BCar;\u6952ight\xE1\u039Cs\u0300EFGLST\u097E\u098B\u0995\u099D\u09A2\u09ADqualGreater;\u62DAullEqual;\u6266reater;\u6276ess;\u6AA1lantEqual;\u6A7Dilde;\u6272r;\uC000\u{1D50F}\u0100;e\u09BD\u09BE\u62D8ftarrow;\u61DAidot;\u413F\u0180npw\u09D4\u0A16\u0A1Bg\u0200LRlr\u09DE\u09F7\u0A02\u0A10eft\u0100AR\u09E6\u09ECrrow;\u67F5ightArrow;\u67F7ightArrow;\u67F6eft\u0100ar\u03B3\u0A0Aight\xE1\u03BFight\xE1\u03CAf;\uC000\u{1D543}er\u0100LR\u0A22\u0A2CeftArrow;\u6199ightArrow;\u6198\u0180cht\u0A3E\u0A40\u0A42\xF2\u084C;\u61B0rok;\u4141;\u626A\u0400acefiosu\u0A5A\u0A5D\u0A60\u0A77\u0A7C\u0A85\u0A8B\u0A8Ep;\u6905y;\u441C\u0100dl\u0A65\u0A6FiumSpace;\u605Flintrf;\u6133r;\uC000\u{1D510}nusPlus;\u6213pf;\uC000\u{1D544}c\xF2\u0A76;\u439C\u0480Jacefostu\u0AA3\u0AA7\u0AAD\u0AC0\u0B14\u0B19\u0D91\u0D97\u0D9Ecy;\u440Acute;\u4143\u0180aey\u0AB4\u0AB9\u0ABEron;\u4147dil;\u4145;\u441D\u0180gsw\u0AC7\u0AF0\u0B0Eative\u0180MTV\u0AD3\u0ADF\u0AE8ediumSpace;\u600Bhi\u0100cn\u0AE6\u0AD8\xEB\u0AD9eryThi\xEE\u0AD9ted\u0100GL\u0AF8\u0B06reaterGreate\xF2\u0673essLes\xF3\u0A48Line;\u400Ar;\uC000\u{1D511}\u0200Bnpt\u0B22\u0B28\u0B37\u0B3Areak;\u6060BreakingSpace;\u40A0f;\u6115\u0680;CDEGHLNPRSTV\u0B55\u0B56\u0B6A\u0B7C\u0BA1\u0BEB\u0C04\u0C5E\u0C84\u0CA6\u0CD8\u0D61\u0D85\u6AEC\u0100ou\u0B5B\u0B64ngruent;\u6262pCap;\u626DoubleVerticalBar;\u6226\u0180lqx\u0B83\u0B8A\u0B9Bement;\u6209ual\u0100;T\u0B92\u0B93\u6260ilde;\uC000\u2242\u0338ists;\u6204reater\u0380;EFGLST\u0BB6\u0BB7\u0BBD\u0BC9\u0BD3\u0BD8\u0BE5\u626Fqual;\u6271ullEqual;\uC000\u2267\u0338reater;\uC000\u226B\u0338ess;\u6279lantEqual;\uC000\u2A7E\u0338ilde;\u6275ump\u0144\u0BF2\u0BFDownHump;\uC000\u224E\u0338qual;\uC000\u224F\u0338e\u0100fs\u0C0A\u0C27tTriangle\u0180;BE\u0C1A\u0C1B\u0C21\u62EAar;\uC000\u29CF\u0338qual;\u62ECs\u0300;EGLST\u0C35\u0C36\u0C3C\u0C44\u0C4B\u0C58\u626Equal;\u6270reater;\u6278ess;\uC000\u226A\u0338lantEqual;\uC000\u2A7D\u0338ilde;\u6274ested\u0100GL\u0C68\u0C79reaterGreater;\uC000\u2AA2\u0338essLess;\uC000\u2AA1\u0338recedes\u0180;ES\u0C92\u0C93\u0C9B\u6280qual;\uC000\u2AAF\u0338lantEqual;\u62E0\u0100ei\u0CAB\u0CB9verseElement;\u620CghtTriangle\u0180;BE\u0CCB\u0CCC\u0CD2\u62EBar;\uC000\u29D0\u0338qual;\u62ED\u0100qu\u0CDD\u0D0CuareSu\u0100bp\u0CE8\u0CF9set\u0100;E\u0CF0\u0CF3\uC000\u228F\u0338qual;\u62E2erset\u0100;E\u0D03\u0D06\uC000\u2290\u0338qual;\u62E3\u0180bcp\u0D13\u0D24\u0D4Eset\u0100;E\u0D1B\u0D1E\uC000\u2282\u20D2qual;\u6288ceeds\u0200;EST\u0D32\u0D33\u0D3B\u0D46\u6281qual;\uC000\u2AB0\u0338lantEqual;\u62E1ilde;\uC000\u227F\u0338erset\u0100;E\u0D58\u0D5B\uC000\u2283\u20D2qual;\u6289ilde\u0200;EFT\u0D6E\u0D6F\u0D75\u0D7F\u6241qual;\u6244ullEqual;\u6247ilde;\u6249erticalBar;\u6224cr;\uC000\u{1D4A9}ilde\u803B\xD1\u40D1;\u439D\u0700Eacdfgmoprstuv\u0DBD\u0DC2\u0DC9\u0DD5\u0DDB\u0DE0\u0DE7\u0DFC\u0E02\u0E20\u0E22\u0E32\u0E3F\u0E44lig;\u4152cute\u803B\xD3\u40D3\u0100iy\u0DCE\u0DD3rc\u803B\xD4\u40D4;\u441Eblac;\u4150r;\uC000\u{1D512}rave\u803B\xD2\u40D2\u0180aei\u0DEE\u0DF2\u0DF6cr;\u414Cga;\u43A9cron;\u439Fpf;\uC000\u{1D546}enCurly\u0100DQ\u0E0E\u0E1AoubleQuote;\u601Cuote;\u6018;\u6A54\u0100cl\u0E27\u0E2Cr;\uC000\u{1D4AA}ash\u803B\xD8\u40D8i\u016C\u0E37\u0E3Cde\u803B\xD5\u40D5es;\u6A37ml\u803B\xD6\u40D6er\u0100BP\u0E4B\u0E60\u0100ar\u0E50\u0E53r;\u603Eac\u0100ek\u0E5A\u0E5C;\u63DEet;\u63B4arenthesis;\u63DC\u0480acfhilors\u0E7F\u0E87\u0E8A\u0E8F\u0E92\u0E94\u0E9D\u0EB0\u0EFCrtialD;\u6202y;\u441Fr;\uC000\u{1D513}i;\u43A6;\u43A0usMinus;\u40B1\u0100ip\u0EA2\u0EADncareplan\xE5\u069Df;\u6119\u0200;eio\u0EB9\u0EBA\u0EE0\u0EE4\u6ABBcedes\u0200;EST\u0EC8\u0EC9\u0ECF\u0EDA\u627Aqual;\u6AAFlantEqual;\u627Cilde;\u627Eme;\u6033\u0100dp\u0EE9\u0EEEuct;\u620Fortion\u0100;a\u0225\u0EF9l;\u621D\u0100ci\u0F01\u0F06r;\uC000\u{1D4AB};\u43A8\u0200Ufos\u0F11\u0F16\u0F1B\u0F1FOT\u803B"\u4022r;\uC000\u{1D514}pf;\u611Acr;\uC000\u{1D4AC}\u0600BEacefhiorsu\u0F3E\u0F43\u0F47\u0F60\u0F73\u0FA7\u0FAA\u0FAD\u1096\u10A9\u10B4\u10BEarr;\u6910G\u803B\xAE\u40AE\u0180cnr\u0F4E\u0F53\u0F56ute;\u4154g;\u67EBr\u0100;t\u0F5C\u0F5D\u61A0l;\u6916\u0180aey\u0F67\u0F6C\u0F71ron;\u4158dil;\u4156;\u4420\u0100;v\u0F78\u0F79\u611Cerse\u0100EU\u0F82\u0F99\u0100lq\u0F87\u0F8Eement;\u620Builibrium;\u61CBpEquilibrium;\u696Fr\xBB\u0F79o;\u43A1ght\u0400ACDFTUVa\u0FC1\u0FEB\u0FF3\u1022\u1028\u105B\u1087\u03D8\u0100nr\u0FC6\u0FD2gleBracket;\u67E9row\u0180;BL\u0FDC\u0FDD\u0FE1\u6192ar;\u61E5eftArrow;\u61C4eiling;\u6309o\u01F5\u0FF9\0\u1005bleBracket;\u67E7n\u01D4\u100A\0\u1014eeVector;\u695Dector\u0100;B\u101D\u101E\u61C2ar;\u6955loor;\u630B\u0100er\u102D\u1043e\u0180;AV\u1035\u1036\u103C\u62A2rrow;\u61A6ector;\u695Biangle\u0180;BE\u1050\u1051\u1055\u62B3ar;\u69D0qual;\u62B5p\u0180DTV\u1063\u106E\u1078ownVector;\u694FeeVector;\u695Cector\u0100;B\u1082\u1083\u61BEar;\u6954ector\u0100;B\u1091\u1092\u61C0ar;\u6953\u0100pu\u109B\u109Ef;\u611DndImplies;\u6970ightarrow;\u61DB\u0100ch\u10B9\u10BCr;\u611B;\u61B1leDelayed;\u69F4\u0680HOacfhimoqstu\u10E4\u10F1\u10F7\u10FD\u1119\u111E\u1151\u1156\u1161\u1167\u11B5\u11BB\u11BF\u0100Cc\u10E9\u10EEHcy;\u4429y;\u4428FTcy;\u442Ccute;\u415A\u0280;aeiy\u1108\u1109\u110E\u1113\u1117\u6ABCron;\u4160dil;\u415Erc;\u415C;\u4421r;\uC000\u{1D516}ort\u0200DLRU\u112A\u1134\u113E\u1149ownArrow\xBB\u041EeftArrow\xBB\u089AightArrow\xBB\u0FDDpArrow;\u6191gma;\u43A3allCircle;\u6218pf;\uC000\u{1D54A}\u0272\u116D\0\0\u1170t;\u621Aare\u0200;ISU\u117B\u117C\u1189\u11AF\u65A1ntersection;\u6293u\u0100bp\u118F\u119Eset\u0100;E\u1197\u1198\u628Fqual;\u6291erset\u0100;E\u11A8\u11A9\u6290qual;\u6292nion;\u6294cr;\uC000\u{1D4AE}ar;\u62C6\u0200bcmp\u11C8\u11DB\u1209\u120B\u0100;s\u11CD\u11CE\u62D0et\u0100;E\u11CD\u11D5qual;\u6286\u0100ch\u11E0\u1205eeds\u0200;EST\u11ED\u11EE\u11F4\u11FF\u627Bqual;\u6AB0lantEqual;\u627Dilde;\u627FTh\xE1\u0F8C;\u6211\u0180;es\u1212\u1213\u1223\u62D1rset\u0100;E\u121C\u121D\u6283qual;\u6287et\xBB\u1213\u0580HRSacfhiors\u123E\u1244\u1249\u1255\u125E\u1271\u1276\u129F\u12C2\u12C8\u12D1ORN\u803B\xDE\u40DEADE;\u6122\u0100Hc\u124E\u1252cy;\u440By;\u4426\u0100bu\u125A\u125C;\u4009;\u43A4\u0180aey\u1265\u126A\u126Fron;\u4164dil;\u4162;\u4422r;\uC000\u{1D517}\u0100ei\u127B\u1289\u01F2\u1280\0\u1287efore;\u6234a;\u4398\u0100cn\u128E\u1298kSpace;\uC000\u205F\u200ASpace;\u6009lde\u0200;EFT\u12AB\u12AC\u12B2\u12BC\u623Cqual;\u6243ullEqual;\u6245ilde;\u6248pf;\uC000\u{1D54B}ipleDot;\u60DB\u0100ct\u12D6\u12DBr;\uC000\u{1D4AF}rok;\u4166\u0AE1\u12F7\u130E\u131A\u1326\0\u132C\u1331\0\0\0\0\0\u1338\u133D\u1377\u1385\0\u13FF\u1404\u140A\u1410\u0100cr\u12FB\u1301ute\u803B\xDA\u40DAr\u0100;o\u1307\u1308\u619Fcir;\u6949r\u01E3\u1313\0\u1316y;\u440Eve;\u416C\u0100iy\u131E\u1323rc\u803B\xDB\u40DB;\u4423blac;\u4170r;\uC000\u{1D518}rave\u803B\xD9\u40D9acr;\u416A\u0100di\u1341\u1369er\u0100BP\u1348\u135D\u0100ar\u134D\u1350r;\u405Fac\u0100ek\u1357\u1359;\u63DFet;\u63B5arenthesis;\u63DDon\u0100;P\u1370\u1371\u62C3lus;\u628E\u0100gp\u137B\u137Fon;\u4172f;\uC000\u{1D54C}\u0400ADETadps\u1395\u13AE\u13B8\u13C4\u03E8\u13D2\u13D7\u13F3rrow\u0180;BD\u1150\u13A0\u13A4ar;\u6912ownArrow;\u61C5ownArrow;\u6195quilibrium;\u696Eee\u0100;A\u13CB\u13CC\u62A5rrow;\u61A5own\xE1\u03F3er\u0100LR\u13DE\u13E8eftArrow;\u6196ightArrow;\u6197i\u0100;l\u13F9\u13FA\u43D2on;\u43A5ing;\u416Ecr;\uC000\u{1D4B0}ilde;\u4168ml\u803B\xDC\u40DC\u0480Dbcdefosv\u1427\u142C\u1430\u1433\u143E\u1485\u148A\u1490\u1496ash;\u62ABar;\u6AEBy;\u4412ash\u0100;l\u143B\u143C\u62A9;\u6AE6\u0100er\u1443\u1445;\u62C1\u0180bty\u144C\u1450\u147Aar;\u6016\u0100;i\u144F\u1455cal\u0200BLST\u1461\u1465\u146A\u1474ar;\u6223ine;\u407Ceparator;\u6758ilde;\u6240ThinSpace;\u600Ar;\uC000\u{1D519}pf;\uC000\u{1D54D}cr;\uC000\u{1D4B1}dash;\u62AA\u0280cefos\u14A7\u14AC\u14B1\u14B6\u14BCirc;\u4174dge;\u62C0r;\uC000\u{1D51A}pf;\uC000\u{1D54E}cr;\uC000\u{1D4B2}\u0200fios\u14CB\u14D0\u14D2\u14D8r;\uC000\u{1D51B};\u439Epf;\uC000\u{1D54F}cr;\uC000\u{1D4B3}\u0480AIUacfosu\u14F1\u14F5\u14F9\u14FD\u1504\u150F\u1514\u151A\u1520cy;\u442Fcy;\u4407cy;\u442Ecute\u803B\xDD\u40DD\u0100iy\u1509\u150Drc;\u4176;\u442Br;\uC000\u{1D51C}pf;\uC000\u{1D550}cr;\uC000\u{1D4B4}ml;\u4178\u0400Hacdefos\u1535\u1539\u153F\u154B\u154F\u155D\u1560\u1564cy;\u4416cute;\u4179\u0100ay\u1544\u1549ron;\u417D;\u4417ot;\u417B\u01F2\u1554\0\u155BoWidt\xE8\u0AD9a;\u4396r;\u6128pf;\u6124cr;\uC000\u{1D4B5}\u0BE1\u1583\u158A\u1590\0\u15B0\u15B6\u15BF\0\0\0\0\u15C6\u15DB\u15EB\u165F\u166D\0\u1695\u169B\u16B2\u16B9\0\u16BEcute\u803B\xE1\u40E1reve;\u4103\u0300;Ediuy\u159C\u159D\u15A1\u15A3\u15A8\u15AD\u623E;\uC000\u223E\u0333;\u623Frc\u803B\xE2\u40E2te\u80BB\xB4\u0306;\u4430lig\u803B\xE6\u40E6\u0100;r\xB2\u15BA;\uC000\u{1D51E}rave\u803B\xE0\u40E0\u0100ep\u15CA\u15D6\u0100fp\u15CF\u15D4sym;\u6135\xE8\u15D3ha;\u43B1\u0100ap\u15DFc\u0100cl\u15E4\u15E7r;\u4101g;\u6A3F\u0264\u15F0\0\0\u160A\u0280;adsv\u15FA\u15FB\u15FF\u1601\u1607\u6227nd;\u6A55;\u6A5Clope;\u6A58;\u6A5A\u0380;elmrsz\u1618\u1619\u161B\u161E\u163F\u164F\u1659\u6220;\u69A4e\xBB\u1619sd\u0100;a\u1625\u1626\u6221\u0461\u1630\u1632\u1634\u1636\u1638\u163A\u163C\u163E;\u69A8;\u69A9;\u69AA;\u69AB;\u69AC;\u69AD;\u69AE;\u69AFt\u0100;v\u1645\u1646\u621Fb\u0100;d\u164C\u164D\u62BE;\u699D\u0100pt\u1654\u1657h;\u6222\xBB\xB9arr;\u637C\u0100gp\u1663\u1667on;\u4105f;\uC000\u{1D552}\u0380;Eaeiop\u12C1\u167B\u167D\u1682\u1684\u1687\u168A;\u6A70cir;\u6A6F;\u624Ad;\u624Bs;\u4027rox\u0100;e\u12C1\u1692\xF1\u1683ing\u803B\xE5\u40E5\u0180cty\u16A1\u16A6\u16A8r;\uC000\u{1D4B6};\u402Amp\u0100;e\u12C1\u16AF\xF1\u0288ilde\u803B\xE3\u40E3ml\u803B\xE4\u40E4\u0100ci\u16C2\u16C8onin\xF4\u0272nt;\u6A11\u0800Nabcdefiklnoprsu\u16ED\u16F1\u1730\u173C\u1743\u1748\u1778\u177D\u17E0\u17E6\u1839\u1850\u170D\u193D\u1948\u1970ot;\u6AED\u0100cr\u16F6\u171Ek\u0200ceps\u1700\u1705\u170D\u1713ong;\u624Cpsilon;\u43F6rime;\u6035im\u0100;e\u171A\u171B\u623Dq;\u62CD\u0176\u1722\u1726ee;\u62BDed\u0100;g\u172C\u172D\u6305e\xBB\u172Drk\u0100;t\u135C\u1737brk;\u63B6\u0100oy\u1701\u1741;\u4431quo;\u601E\u0280cmprt\u1753\u175B\u1761\u1764\u1768aus\u0100;e\u010A\u0109ptyv;\u69B0s\xE9\u170Cno\xF5\u0113\u0180ahw\u176F\u1771\u1773;\u43B2;\u6136een;\u626Cr;\uC000\u{1D51F}g\u0380costuvw\u178D\u179D\u17B3\u17C1\u17D5\u17DB\u17DE\u0180aiu\u1794\u1796\u179A\xF0\u0760rc;\u65EFp\xBB\u1371\u0180dpt\u17A4\u17A8\u17ADot;\u6A00lus;\u6A01imes;\u6A02\u0271\u17B9\0\0\u17BEcup;\u6A06ar;\u6605riangle\u0100du\u17CD\u17D2own;\u65BDp;\u65B3plus;\u6A04e\xE5\u1444\xE5\u14ADarow;\u690D\u0180ako\u17ED\u1826\u1835\u0100cn\u17F2\u1823k\u0180lst\u17FA\u05AB\u1802ozenge;\u69EBriangle\u0200;dlr\u1812\u1813\u1818\u181D\u65B4own;\u65BEeft;\u65C2ight;\u65B8k;\u6423\u01B1\u182B\0\u1833\u01B2\u182F\0\u1831;\u6592;\u65914;\u6593ck;\u6588\u0100eo\u183E\u184D\u0100;q\u1843\u1846\uC000=\u20E5uiv;\uC000\u2261\u20E5t;\u6310\u0200ptwx\u1859\u185E\u1867\u186Cf;\uC000\u{1D553}\u0100;t\u13CB\u1863om\xBB\u13CCtie;\u62C8\u0600DHUVbdhmptuv\u1885\u1896\u18AA\u18BB\u18D7\u18DB\u18EC\u18FF\u1905\u190A\u1910\u1921\u0200LRlr\u188E\u1890\u1892\u1894;\u6557;\u6554;\u6556;\u6553\u0280;DUdu\u18A1\u18A2\u18A4\u18A6\u18A8\u6550;\u6566;\u6569;\u6564;\u6567\u0200LRlr\u18B3\u18B5\u18B7\u18B9;\u655D;\u655A;\u655C;\u6559\u0380;HLRhlr\u18CA\u18CB\u18CD\u18CF\u18D1\u18D3\u18D5\u6551;\u656C;\u6563;\u6560;\u656B;\u6562;\u655Fox;\u69C9\u0200LRlr\u18E4\u18E6\u18E8\u18EA;\u6555;\u6552;\u6510;\u650C\u0280;DUdu\u06BD\u18F7\u18F9\u18FB\u18FD;\u6565;\u6568;\u652C;\u6534inus;\u629Flus;\u629Eimes;\u62A0\u0200LRlr\u1919\u191B\u191D\u191F;\u655B;\u6558;\u6518;\u6514\u0380;HLRhlr\u1930\u1931\u1933\u1935\u1937\u1939\u193B\u6502;\u656A;\u6561;\u655E;\u653C;\u6524;\u651C\u0100ev\u0123\u1942bar\u803B\xA6\u40A6\u0200ceio\u1951\u1956\u195A\u1960r;\uC000\u{1D4B7}mi;\u604Fm\u0100;e\u171A\u171Cl\u0180;bh\u1968\u1969\u196B\u405C;\u69C5sub;\u67C8\u016C\u1974\u197El\u0100;e\u1979\u197A\u6022t\xBB\u197Ap\u0180;Ee\u012F\u1985\u1987;\u6AAE\u0100;q\u06DC\u06DB\u0CE1\u19A7\0\u19E8\u1A11\u1A15\u1A32\0\u1A37\u1A50\0\0\u1AB4\0\0\u1AC1\0\0\u1B21\u1B2E\u1B4D\u1B52\0\u1BFD\0\u1C0C\u0180cpr\u19AD\u19B2\u19DDute;\u4107\u0300;abcds\u19BF\u19C0\u19C4\u19CA\u19D5\u19D9\u6229nd;\u6A44rcup;\u6A49\u0100au\u19CF\u19D2p;\u6A4Bp;\u6A47ot;\u6A40;\uC000\u2229\uFE00\u0100eo\u19E2\u19E5t;\u6041\xEE\u0693\u0200aeiu\u19F0\u19FB\u1A01\u1A05\u01F0\u19F5\0\u19F8s;\u6A4Don;\u410Ddil\u803B\xE7\u40E7rc;\u4109ps\u0100;s\u1A0C\u1A0D\u6A4Cm;\u6A50ot;\u410B\u0180dmn\u1A1B\u1A20\u1A26il\u80BB\xB8\u01ADptyv;\u69B2t\u8100\xA2;e\u1A2D\u1A2E\u40A2r\xE4\u01B2r;\uC000\u{1D520}\u0180cei\u1A3D\u1A40\u1A4Dy;\u4447ck\u0100;m\u1A47\u1A48\u6713ark\xBB\u1A48;\u43C7r\u0380;Ecefms\u1A5F\u1A60\u1A62\u1A6B\u1AA4\u1AAA\u1AAE\u65CB;\u69C3\u0180;el\u1A69\u1A6A\u1A6D\u42C6q;\u6257e\u0261\u1A74\0\0\u1A88rrow\u0100lr\u1A7C\u1A81eft;\u61BAight;\u61BB\u0280RSacd\u1A92\u1A94\u1A96\u1A9A\u1A9F\xBB\u0F47;\u64C8st;\u629Birc;\u629Aash;\u629Dnint;\u6A10id;\u6AEFcir;\u69C2ubs\u0100;u\u1ABB\u1ABC\u6663it\xBB\u1ABC\u02EC\u1AC7\u1AD4\u1AFA\0\u1B0Aon\u0100;e\u1ACD\u1ACE\u403A\u0100;q\xC7\xC6\u026D\u1AD9\0\0\u1AE2a\u0100;t\u1ADE\u1ADF\u402C;\u4040\u0180;fl\u1AE8\u1AE9\u1AEB\u6201\xEE\u1160e\u0100mx\u1AF1\u1AF6ent\xBB\u1AE9e\xF3\u024D\u01E7\u1AFE\0\u1B07\u0100;d\u12BB\u1B02ot;\u6A6Dn\xF4\u0246\u0180fry\u1B10\u1B14\u1B17;\uC000\u{1D554}o\xE4\u0254\u8100\xA9;s\u0155\u1B1Dr;\u6117\u0100ao\u1B25\u1B29rr;\u61B5ss;\u6717\u0100cu\u1B32\u1B37r;\uC000\u{1D4B8}\u0100bp\u1B3C\u1B44\u0100;e\u1B41\u1B42\u6ACF;\u6AD1\u0100;e\u1B49\u1B4A\u6AD0;\u6AD2dot;\u62EF\u0380delprvw\u1B60\u1B6C\u1B77\u1B82\u1BAC\u1BD4\u1BF9arr\u0100lr\u1B68\u1B6A;\u6938;\u6935\u0270\u1B72\0\0\u1B75r;\u62DEc;\u62DFarr\u0100;p\u1B7F\u1B80\u61B6;\u693D\u0300;bcdos\u1B8F\u1B90\u1B96\u1BA1\u1BA5\u1BA8\u622Arcap;\u6A48\u0100au\u1B9B\u1B9Ep;\u6A46p;\u6A4Aot;\u628Dr;\u6A45;\uC000\u222A\uFE00\u0200alrv\u1BB5\u1BBF\u1BDE\u1BE3rr\u0100;m\u1BBC\u1BBD\u61B7;\u693Cy\u0180evw\u1BC7\u1BD4\u1BD8q\u0270\u1BCE\0\0\u1BD2re\xE3\u1B73u\xE3\u1B75ee;\u62CEedge;\u62CFen\u803B\xA4\u40A4earrow\u0100lr\u1BEE\u1BF3eft\xBB\u1B80ight\xBB\u1BBDe\xE4\u1BDD\u0100ci\u1C01\u1C07onin\xF4\u01F7nt;\u6231lcty;\u632D\u0980AHabcdefhijlorstuwz\u1C38\u1C3B\u1C3F\u1C5D\u1C69\u1C75\u1C8A\u1C9E\u1CAC\u1CB7\u1CFB\u1CFF\u1D0D\u1D7B\u1D91\u1DAB\u1DBB\u1DC6\u1DCDr\xF2\u0381ar;\u6965\u0200glrs\u1C48\u1C4D\u1C52\u1C54ger;\u6020eth;\u6138\xF2\u1133h\u0100;v\u1C5A\u1C5B\u6010\xBB\u090A\u016B\u1C61\u1C67arow;\u690Fa\xE3\u0315\u0100ay\u1C6E\u1C73ron;\u410F;\u4434\u0180;ao\u0332\u1C7C\u1C84\u0100gr\u02BF\u1C81r;\u61CAtseq;\u6A77\u0180glm\u1C91\u1C94\u1C98\u803B\xB0\u40B0ta;\u43B4ptyv;\u69B1\u0100ir\u1CA3\u1CA8sht;\u697F;\uC000\u{1D521}ar\u0100lr\u1CB3\u1CB5\xBB\u08DC\xBB\u101E\u0280aegsv\u1CC2\u0378\u1CD6\u1CDC\u1CE0m\u0180;os\u0326\u1CCA\u1CD4nd\u0100;s\u0326\u1CD1uit;\u6666amma;\u43DDin;\u62F2\u0180;io\u1CE7\u1CE8\u1CF8\u40F7de\u8100\xF7;o\u1CE7\u1CF0ntimes;\u62C7n\xF8\u1CF7cy;\u4452c\u026F\u1D06\0\0\u1D0Arn;\u631Eop;\u630D\u0280lptuw\u1D18\u1D1D\u1D22\u1D49\u1D55lar;\u4024f;\uC000\u{1D555}\u0280;emps\u030B\u1D2D\u1D37\u1D3D\u1D42q\u0100;d\u0352\u1D33ot;\u6251inus;\u6238lus;\u6214quare;\u62A1blebarwedg\xE5\xFAn\u0180adh\u112E\u1D5D\u1D67ownarrow\xF3\u1C83arpoon\u0100lr\u1D72\u1D76ef\xF4\u1CB4igh\xF4\u1CB6\u0162\u1D7F\u1D85karo\xF7\u0F42\u026F\u1D8A\0\0\u1D8Ern;\u631Fop;\u630C\u0180cot\u1D98\u1DA3\u1DA6\u0100ry\u1D9D\u1DA1;\uC000\u{1D4B9};\u4455l;\u69F6rok;\u4111\u0100dr\u1DB0\u1DB4ot;\u62F1i\u0100;f\u1DBA\u1816\u65BF\u0100ah\u1DC0\u1DC3r\xF2\u0429a\xF2\u0FA6angle;\u69A6\u0100ci\u1DD2\u1DD5y;\u445Fgrarr;\u67FF\u0900Dacdefglmnopqrstux\u1E01\u1E09\u1E19\u1E38\u0578\u1E3C\u1E49\u1E61\u1E7E\u1EA5\u1EAF\u1EBD\u1EE1\u1F2A\u1F37\u1F44\u1F4E\u1F5A\u0100Do\u1E06\u1D34o\xF4\u1C89\u0100cs\u1E0E\u1E14ute\u803B\xE9\u40E9ter;\u6A6E\u0200aioy\u1E22\u1E27\u1E31\u1E36ron;\u411Br\u0100;c\u1E2D\u1E2E\u6256\u803B\xEA\u40EAlon;\u6255;\u444Dot;\u4117\u0100Dr\u1E41\u1E45ot;\u6252;\uC000\u{1D522}\u0180;rs\u1E50\u1E51\u1E57\u6A9Aave\u803B\xE8\u40E8\u0100;d\u1E5C\u1E5D\u6A96ot;\u6A98\u0200;ils\u1E6A\u1E6B\u1E72\u1E74\u6A99nters;\u63E7;\u6113\u0100;d\u1E79\u1E7A\u6A95ot;\u6A97\u0180aps\u1E85\u1E89\u1E97cr;\u4113ty\u0180;sv\u1E92\u1E93\u1E95\u6205et\xBB\u1E93p\u01001;\u1E9D\u1EA4\u0133\u1EA1\u1EA3;\u6004;\u6005\u6003\u0100gs\u1EAA\u1EAC;\u414Bp;\u6002\u0100gp\u1EB4\u1EB8on;\u4119f;\uC000\u{1D556}\u0180als\u1EC4\u1ECE\u1ED2r\u0100;s\u1ECA\u1ECB\u62D5l;\u69E3us;\u6A71i\u0180;lv\u1EDA\u1EDB\u1EDF\u43B5on\xBB\u1EDB;\u43F5\u0200csuv\u1EEA\u1EF3\u1F0B\u1F23\u0100io\u1EEF\u1E31rc\xBB\u1E2E\u0269\u1EF9\0\0\u1EFB\xED\u0548ant\u0100gl\u1F02\u1F06tr\xBB\u1E5Dess\xBB\u1E7A\u0180aei\u1F12\u1F16\u1F1Als;\u403Dst;\u625Fv\u0100;D\u0235\u1F20D;\u6A78parsl;\u69E5\u0100Da\u1F2F\u1F33ot;\u6253rr;\u6971\u0180cdi\u1F3E\u1F41\u1EF8r;\u612Fo\xF4\u0352\u0100ah\u1F49\u1F4B;\u43B7\u803B\xF0\u40F0\u0100mr\u1F53\u1F57l\u803B\xEB\u40EBo;\u60AC\u0180cip\u1F61\u1F64\u1F67l;\u4021s\xF4\u056E\u0100eo\u1F6C\u1F74ctatio\xEE\u0559nential\xE5\u0579\u09E1\u1F92\0\u1F9E\0\u1FA1\u1FA7\0\0\u1FC6\u1FCC\0\u1FD3\0\u1FE6\u1FEA\u2000\0\u2008\u205Allingdotse\xF1\u1E44y;\u4444male;\u6640\u0180ilr\u1FAD\u1FB3\u1FC1lig;\u8000\uFB03\u0269\u1FB9\0\0\u1FBDg;\u8000\uFB00ig;\u8000\uFB04;\uC000\u{1D523}lig;\u8000\uFB01lig;\uC000fj\u0180alt\u1FD9\u1FDC\u1FE1t;\u666Dig;\u8000\uFB02ns;\u65B1of;\u4192\u01F0\u1FEE\0\u1FF3f;\uC000\u{1D557}\u0100ak\u05BF\u1FF7\u0100;v\u1FFC\u1FFD\u62D4;\u6AD9artint;\u6A0D\u0100ao\u200C\u2055\u0100cs\u2011\u2052\u03B1\u201A\u2030\u2038\u2045\u2048\0\u2050\u03B2\u2022\u2025\u2027\u202A\u202C\0\u202E\u803B\xBD\u40BD;\u6153\u803B\xBC\u40BC;\u6155;\u6159;\u615B\u01B3\u2034\0\u2036;\u6154;\u6156\u02B4\u203E\u2041\0\0\u2043\u803B\xBE\u40BE;\u6157;\u615C5;\u6158\u01B6\u204C\0\u204E;\u615A;\u615D8;\u615El;\u6044wn;\u6322cr;\uC000\u{1D4BB}\u0880Eabcdefgijlnorstv\u2082\u2089\u209F\u20A5\u20B0\u20B4\u20F0\u20F5\u20FA\u20FF\u2103\u2112\u2138\u0317\u213E\u2152\u219E\u0100;l\u064D\u2087;\u6A8C\u0180cmp\u2090\u2095\u209Dute;\u41F5ma\u0100;d\u209C\u1CDA\u43B3;\u6A86reve;\u411F\u0100iy\u20AA\u20AErc;\u411D;\u4433ot;\u4121\u0200;lqs\u063E\u0642\u20BD\u20C9\u0180;qs\u063E\u064C\u20C4lan\xF4\u0665\u0200;cdl\u0665\u20D2\u20D5\u20E5c;\u6AA9ot\u0100;o\u20DC\u20DD\u6A80\u0100;l\u20E2\u20E3\u6A82;\u6A84\u0100;e\u20EA\u20ED\uC000\u22DB\uFE00s;\u6A94r;\uC000\u{1D524}\u0100;g\u0673\u061Bmel;\u6137cy;\u4453\u0200;Eaj\u065A\u210C\u210E\u2110;\u6A92;\u6AA5;\u6AA4\u0200Eaes\u211B\u211D\u2129\u2134;\u6269p\u0100;p\u2123\u2124\u6A8Arox\xBB\u2124\u0100;q\u212E\u212F\u6A88\u0100;q\u212E\u211Bim;\u62E7pf;\uC000\u{1D558}\u0100ci\u2143\u2146r;\u610Am\u0180;el\u066B\u214E\u2150;\u6A8E;\u6A90\u8300>;cdlqr\u05EE\u2160\u216A\u216E\u2173\u2179\u0100ci\u2165\u2167;\u6AA7r;\u6A7Aot;\u62D7Par;\u6995uest;\u6A7C\u0280adels\u2184\u216A\u2190\u0656\u219B\u01F0\u2189\0\u218Epro\xF8\u209Er;\u6978q\u0100lq\u063F\u2196les\xF3\u2088i\xED\u066B\u0100en\u21A3\u21ADrtneqq;\uC000\u2269\uFE00\xC5\u21AA\u0500Aabcefkosy\u21C4\u21C7\u21F1\u21F5\u21FA\u2218\u221D\u222F\u2268\u227Dr\xF2\u03A0\u0200ilmr\u21D0\u21D4\u21D7\u21DBrs\xF0\u1484f\xBB\u2024il\xF4\u06A9\u0100dr\u21E0\u21E4cy;\u444A\u0180;cw\u08F4\u21EB\u21EFir;\u6948;\u61ADar;\u610Firc;\u4125\u0180alr\u2201\u220E\u2213rts\u0100;u\u2209\u220A\u6665it\xBB\u220Alip;\u6026con;\u62B9r;\uC000\u{1D525}s\u0100ew\u2223\u2229arow;\u6925arow;\u6926\u0280amopr\u223A\u223E\u2243\u225E\u2263rr;\u61FFtht;\u623Bk\u0100lr\u2249\u2253eftarrow;\u61A9ightarrow;\u61AAf;\uC000\u{1D559}bar;\u6015\u0180clt\u226F\u2274\u2278r;\uC000\u{1D4BD}as\xE8\u21F4rok;\u4127\u0100bp\u2282\u2287ull;\u6043hen\xBB\u1C5B\u0AE1\u22A3\0\u22AA\0\u22B8\u22C5\u22CE\0\u22D5\u22F3\0\0\u22F8\u2322\u2367\u2362\u237F\0\u2386\u23AA\u23B4cute\u803B\xED\u40ED\u0180;iy\u0771\u22B0\u22B5rc\u803B\xEE\u40EE;\u4438\u0100cx\u22BC\u22BFy;\u4435cl\u803B\xA1\u40A1\u0100fr\u039F\u22C9;\uC000\u{1D526}rave\u803B\xEC\u40EC\u0200;ino\u073E\u22DD\u22E9\u22EE\u0100in\u22E2\u22E6nt;\u6A0Ct;\u622Dfin;\u69DCta;\u6129lig;\u4133\u0180aop\u22FE\u231A\u231D\u0180cgt\u2305\u2308\u2317r;\u412B\u0180elp\u071F\u230F\u2313in\xE5\u078Ear\xF4\u0720h;\u4131f;\u62B7ed;\u41B5\u0280;cfot\u04F4\u232C\u2331\u233D\u2341are;\u6105in\u0100;t\u2338\u2339\u621Eie;\u69DDdo\xF4\u2319\u0280;celp\u0757\u234C\u2350\u235B\u2361al;\u62BA\u0100gr\u2355\u2359er\xF3\u1563\xE3\u234Darhk;\u6A17rod;\u6A3C\u0200cgpt\u236F\u2372\u2376\u237By;\u4451on;\u412Ff;\uC000\u{1D55A}a;\u43B9uest\u803B\xBF\u40BF\u0100ci\u238A\u238Fr;\uC000\u{1D4BE}n\u0280;Edsv\u04F4\u239B\u239D\u23A1\u04F3;\u62F9ot;\u62F5\u0100;v\u23A6\u23A7\u62F4;\u62F3\u0100;i\u0777\u23AElde;\u4129\u01EB\u23B8\0\u23BCcy;\u4456l\u803B\xEF\u40EF\u0300cfmosu\u23CC\u23D7\u23DC\u23E1\u23E7\u23F5\u0100iy\u23D1\u23D5rc;\u4135;\u4439r;\uC000\u{1D527}ath;\u4237pf;\uC000\u{1D55B}\u01E3\u23EC\0\u23F1r;\uC000\u{1D4BF}rcy;\u4458kcy;\u4454\u0400acfghjos\u240B\u2416\u2422\u2427\u242D\u2431\u2435\u243Bppa\u0100;v\u2413\u2414\u43BA;\u43F0\u0100ey\u241B\u2420dil;\u4137;\u443Ar;\uC000\u{1D528}reen;\u4138cy;\u4445cy;\u445Cpf;\uC000\u{1D55C}cr;\uC000\u{1D4C0}\u0B80ABEHabcdefghjlmnoprstuv\u2470\u2481\u2486\u248D\u2491\u250E\u253D\u255A\u2580\u264E\u265E\u2665\u2679\u267D\u269A\u26B2\u26D8\u275D\u2768\u278B\u27C0\u2801\u2812\u0180art\u2477\u247A\u247Cr\xF2\u09C6\xF2\u0395ail;\u691Barr;\u690E\u0100;g\u0994\u248B;\u6A8Bar;\u6962\u0963\u24A5\0\u24AA\0\u24B1\0\0\0\0\0\u24B5\u24BA\0\u24C6\u24C8\u24CD\0\u24F9ute;\u413Amptyv;\u69B4ra\xEE\u084Cbda;\u43BBg\u0180;dl\u088E\u24C1\u24C3;\u6991\xE5\u088E;\u6A85uo\u803B\xAB\u40ABr\u0400;bfhlpst\u0899\u24DE\u24E6\u24E9\u24EB\u24EE\u24F1\u24F5\u0100;f\u089D\u24E3s;\u691Fs;\u691D\xEB\u2252p;\u61ABl;\u6939im;\u6973l;\u61A2\u0180;ae\u24FF\u2500\u2504\u6AABil;\u6919\u0100;s\u2509\u250A\u6AAD;\uC000\u2AAD\uFE00\u0180abr\u2515\u2519\u251Drr;\u690Crk;\u6772\u0100ak\u2522\u252Cc\u0100ek\u2528\u252A;\u407B;\u405B\u0100es\u2531\u2533;\u698Bl\u0100du\u2539\u253B;\u698F;\u698D\u0200aeuy\u2546\u254B\u2556\u2558ron;\u413E\u0100di\u2550\u2554il;\u413C\xEC\u08B0\xE2\u2529;\u443B\u0200cqrs\u2563\u2566\u256D\u257Da;\u6936uo\u0100;r\u0E19\u1746\u0100du\u2572\u2577har;\u6967shar;\u694Bh;\u61B2\u0280;fgqs\u258B\u258C\u0989\u25F3\u25FF\u6264t\u0280ahlrt\u2598\u25A4\u25B7\u25C2\u25E8rrow\u0100;t\u0899\u25A1a\xE9\u24F6arpoon\u0100du\u25AF\u25B4own\xBB\u045Ap\xBB\u0966eftarrows;\u61C7ight\u0180ahs\u25CD\u25D6\u25DErrow\u0100;s\u08F4\u08A7arpoon\xF3\u0F98quigarro\xF7\u21F0hreetimes;\u62CB\u0180;qs\u258B\u0993\u25FAlan\xF4\u09AC\u0280;cdgs\u09AC\u260A\u260D\u261D\u2628c;\u6AA8ot\u0100;o\u2614\u2615\u6A7F\u0100;r\u261A\u261B\u6A81;\u6A83\u0100;e\u2622\u2625\uC000\u22DA\uFE00s;\u6A93\u0280adegs\u2633\u2639\u263D\u2649\u264Bppro\xF8\u24C6ot;\u62D6q\u0100gq\u2643\u2645\xF4\u0989gt\xF2\u248C\xF4\u099Bi\xED\u09B2\u0180ilr\u2655\u08E1\u265Asht;\u697C;\uC000\u{1D529}\u0100;E\u099C\u2663;\u6A91\u0161\u2669\u2676r\u0100du\u25B2\u266E\u0100;l\u0965\u2673;\u696Alk;\u6584cy;\u4459\u0280;acht\u0A48\u2688\u268B\u2691\u2696r\xF2\u25C1orne\xF2\u1D08ard;\u696Bri;\u65FA\u0100io\u269F\u26A4dot;\u4140ust\u0100;a\u26AC\u26AD\u63B0che\xBB\u26AD\u0200Eaes\u26BB\u26BD\u26C9\u26D4;\u6268p\u0100;p\u26C3\u26C4\u6A89rox\xBB\u26C4\u0100;q\u26CE\u26CF\u6A87\u0100;q\u26CE\u26BBim;\u62E6\u0400abnoptwz\u26E9\u26F4\u26F7\u271A\u272F\u2741\u2747\u2750\u0100nr\u26EE\u26F1g;\u67ECr;\u61FDr\xEB\u08C1g\u0180lmr\u26FF\u270D\u2714eft\u0100ar\u09E6\u2707ight\xE1\u09F2apsto;\u67FCight\xE1\u09FDparrow\u0100lr\u2725\u2729ef\xF4\u24EDight;\u61AC\u0180afl\u2736\u2739\u273Dr;\u6985;\uC000\u{1D55D}us;\u6A2Dimes;\u6A34\u0161\u274B\u274Fst;\u6217\xE1\u134E\u0180;ef\u2757\u2758\u1800\u65CAnge\xBB\u2758ar\u0100;l\u2764\u2765\u4028t;\u6993\u0280achmt\u2773\u2776\u277C\u2785\u2787r\xF2\u08A8orne\xF2\u1D8Car\u0100;d\u0F98\u2783;\u696D;\u600Eri;\u62BF\u0300achiqt\u2798\u279D\u0A40\u27A2\u27AE\u27BBquo;\u6039r;\uC000\u{1D4C1}m\u0180;eg\u09B2\u27AA\u27AC;\u6A8D;\u6A8F\u0100bu\u252A\u27B3o\u0100;r\u0E1F\u27B9;\u601Arok;\u4142\u8400<;cdhilqr\u082B\u27D2\u2639\u27DC\u27E0\u27E5\u27EA\u27F0\u0100ci\u27D7\u27D9;\u6AA6r;\u6A79re\xE5\u25F2mes;\u62C9arr;\u6976uest;\u6A7B\u0100Pi\u27F5\u27F9ar;\u6996\u0180;ef\u2800\u092D\u181B\u65C3r\u0100du\u2807\u280Dshar;\u694Ahar;\u6966\u0100en\u2817\u2821rtneqq;\uC000\u2268\uFE00\xC5\u281E\u0700Dacdefhilnopsu\u2840\u2845\u2882\u288E\u2893\u28A0\u28A5\u28A8\u28DA\u28E2\u28E4\u0A83\u28F3\u2902Dot;\u623A\u0200clpr\u284E\u2852\u2863\u287Dr\u803B\xAF\u40AF\u0100et\u2857\u2859;\u6642\u0100;e\u285E\u285F\u6720se\xBB\u285F\u0100;s\u103B\u2868to\u0200;dlu\u103B\u2873\u2877\u287Bow\xEE\u048Cef\xF4\u090F\xF0\u13D1ker;\u65AE\u0100oy\u2887\u288Cmma;\u6A29;\u443Cash;\u6014asuredangle\xBB\u1626r;\uC000\u{1D52A}o;\u6127\u0180cdn\u28AF\u28B4\u28C9ro\u803B\xB5\u40B5\u0200;acd\u1464\u28BD\u28C0\u28C4s\xF4\u16A7ir;\u6AF0ot\u80BB\xB7\u01B5us\u0180;bd\u28D2\u1903\u28D3\u6212\u0100;u\u1D3C\u28D8;\u6A2A\u0163\u28DE\u28E1p;\u6ADB\xF2\u2212\xF0\u0A81\u0100dp\u28E9\u28EEels;\u62A7f;\uC000\u{1D55E}\u0100ct\u28F8\u28FDr;\uC000\u{1D4C2}pos\xBB\u159D\u0180;lm\u2909\u290A\u290D\u43BCtimap;\u62B8\u0C00GLRVabcdefghijlmoprstuvw\u2942\u2953\u297E\u2989\u2998\u29DA\u29E9\u2A15\u2A1A\u2A58\u2A5D\u2A83\u2A95\u2AA4\u2AA8\u2B04\u2B07\u2B44\u2B7F\u2BAE\u2C34\u2C67\u2C7C\u2CE9\u0100gt\u2947\u294B;\uC000\u22D9\u0338\u0100;v\u2950\u0BCF\uC000\u226B\u20D2\u0180elt\u295A\u2972\u2976ft\u0100ar\u2961\u2967rrow;\u61CDightarrow;\u61CE;\uC000\u22D8\u0338\u0100;v\u297B\u0C47\uC000\u226A\u20D2ightarrow;\u61CF\u0100Dd\u298E\u2993ash;\u62AFash;\u62AE\u0280bcnpt\u29A3\u29A7\u29AC\u29B1\u29CCla\xBB\u02DEute;\u4144g;\uC000\u2220\u20D2\u0280;Eiop\u0D84\u29BC\u29C0\u29C5\u29C8;\uC000\u2A70\u0338d;\uC000\u224B\u0338s;\u4149ro\xF8\u0D84ur\u0100;a\u29D3\u29D4\u666El\u0100;s\u29D3\u0B38\u01F3\u29DF\0\u29E3p\u80BB\xA0\u0B37mp\u0100;e\u0BF9\u0C00\u0280aeouy\u29F4\u29FE\u2A03\u2A10\u2A13\u01F0\u29F9\0\u29FB;\u6A43on;\u4148dil;\u4146ng\u0100;d\u0D7E\u2A0Aot;\uC000\u2A6D\u0338p;\u6A42;\u443Dash;\u6013\u0380;Aadqsx\u0B92\u2A29\u2A2D\u2A3B\u2A41\u2A45\u2A50rr;\u61D7r\u0100hr\u2A33\u2A36k;\u6924\u0100;o\u13F2\u13F0ot;\uC000\u2250\u0338ui\xF6\u0B63\u0100ei\u2A4A\u2A4Ear;\u6928\xED\u0B98ist\u0100;s\u0BA0\u0B9Fr;\uC000\u{1D52B}\u0200Eest\u0BC5\u2A66\u2A79\u2A7C\u0180;qs\u0BBC\u2A6D\u0BE1\u0180;qs\u0BBC\u0BC5\u2A74lan\xF4\u0BE2i\xED\u0BEA\u0100;r\u0BB6\u2A81\xBB\u0BB7\u0180Aap\u2A8A\u2A8D\u2A91r\xF2\u2971rr;\u61AEar;\u6AF2\u0180;sv\u0F8D\u2A9C\u0F8C\u0100;d\u2AA1\u2AA2\u62FC;\u62FAcy;\u445A\u0380AEadest\u2AB7\u2ABA\u2ABE\u2AC2\u2AC5\u2AF6\u2AF9r\xF2\u2966;\uC000\u2266\u0338rr;\u619Ar;\u6025\u0200;fqs\u0C3B\u2ACE\u2AE3\u2AEFt\u0100ar\u2AD4\u2AD9rro\xF7\u2AC1ightarro\xF7\u2A90\u0180;qs\u0C3B\u2ABA\u2AEAlan\xF4\u0C55\u0100;s\u0C55\u2AF4\xBB\u0C36i\xED\u0C5D\u0100;r\u0C35\u2AFEi\u0100;e\u0C1A\u0C25i\xE4\u0D90\u0100pt\u2B0C\u2B11f;\uC000\u{1D55F}\u8180\xAC;in\u2B19\u2B1A\u2B36\u40ACn\u0200;Edv\u0B89\u2B24\u2B28\u2B2E;\uC000\u22F9\u0338ot;\uC000\u22F5\u0338\u01E1\u0B89\u2B33\u2B35;\u62F7;\u62F6i\u0100;v\u0CB8\u2B3C\u01E1\u0CB8\u2B41\u2B43;\u62FE;\u62FD\u0180aor\u2B4B\u2B63\u2B69r\u0200;ast\u0B7B\u2B55\u2B5A\u2B5Flle\xEC\u0B7Bl;\uC000\u2AFD\u20E5;\uC000\u2202\u0338lint;\u6A14\u0180;ce\u0C92\u2B70\u2B73u\xE5\u0CA5\u0100;c\u0C98\u2B78\u0100;e\u0C92\u2B7D\xF1\u0C98\u0200Aait\u2B88\u2B8B\u2B9D\u2BA7r\xF2\u2988rr\u0180;cw\u2B94\u2B95\u2B99\u619B;\uC000\u2933\u0338;\uC000\u219D\u0338ghtarrow\xBB\u2B95ri\u0100;e\u0CCB\u0CD6\u0380chimpqu\u2BBD\u2BCD\u2BD9\u2B04\u0B78\u2BE4\u2BEF\u0200;cer\u0D32\u2BC6\u0D37\u2BC9u\xE5\u0D45;\uC000\u{1D4C3}ort\u026D\u2B05\0\0\u2BD6ar\xE1\u2B56m\u0100;e\u0D6E\u2BDF\u0100;q\u0D74\u0D73su\u0100bp\u2BEB\u2BED\xE5\u0CF8\xE5\u0D0B\u0180bcp\u2BF6\u2C11\u2C19\u0200;Ees\u2BFF\u2C00\u0D22\u2C04\u6284;\uC000\u2AC5\u0338et\u0100;e\u0D1B\u2C0Bq\u0100;q\u0D23\u2C00c\u0100;e\u0D32\u2C17\xF1\u0D38\u0200;Ees\u2C22\u2C23\u0D5F\u2C27\u6285;\uC000\u2AC6\u0338et\u0100;e\u0D58\u2C2Eq\u0100;q\u0D60\u2C23\u0200gilr\u2C3D\u2C3F\u2C45\u2C47\xEC\u0BD7lde\u803B\xF1\u40F1\xE7\u0C43iangle\u0100lr\u2C52\u2C5Ceft\u0100;e\u0C1A\u2C5A\xF1\u0C26ight\u0100;e\u0CCB\u2C65\xF1\u0CD7\u0100;m\u2C6C\u2C6D\u43BD\u0180;es\u2C74\u2C75\u2C79\u4023ro;\u6116p;\u6007\u0480DHadgilrs\u2C8F\u2C94\u2C99\u2C9E\u2CA3\u2CB0\u2CB6\u2CD3\u2CE3ash;\u62ADarr;\u6904p;\uC000\u224D\u20D2ash;\u62AC\u0100et\u2CA8\u2CAC;\uC000\u2265\u20D2;\uC000>\u20D2nfin;\u69DE\u0180Aet\u2CBD\u2CC1\u2CC5rr;\u6902;\uC000\u2264\u20D2\u0100;r\u2CCA\u2CCD\uC000<\u20D2ie;\uC000\u22B4\u20D2\u0100At\u2CD8\u2CDCrr;\u6903rie;\uC000\u22B5\u20D2im;\uC000\u223C\u20D2\u0180Aan\u2CF0\u2CF4\u2D02rr;\u61D6r\u0100hr\u2CFA\u2CFDk;\u6923\u0100;o\u13E7\u13E5ear;\u6927\u1253\u1A95\0\0\0\0\0\0\0\0\0\0\0\0\0\u2D2D\0\u2D38\u2D48\u2D60\u2D65\u2D72\u2D84\u1B07\0\0\u2D8D\u2DAB\0\u2DC8\u2DCE\0\u2DDC\u2E19\u2E2B\u2E3E\u2E43\u0100cs\u2D31\u1A97ute\u803B\xF3\u40F3\u0100iy\u2D3C\u2D45r\u0100;c\u1A9E\u2D42\u803B\xF4\u40F4;\u443E\u0280abios\u1AA0\u2D52\u2D57\u01C8\u2D5Alac;\u4151v;\u6A38old;\u69BClig;\u4153\u0100cr\u2D69\u2D6Dir;\u69BF;\uC000\u{1D52C}\u036F\u2D79\0\0\u2D7C\0\u2D82n;\u42DBave\u803B\xF2\u40F2;\u69C1\u0100bm\u2D88\u0DF4ar;\u69B5\u0200acit\u2D95\u2D98\u2DA5\u2DA8r\xF2\u1A80\u0100ir\u2D9D\u2DA0r;\u69BEoss;\u69BBn\xE5\u0E52;\u69C0\u0180aei\u2DB1\u2DB5\u2DB9cr;\u414Dga;\u43C9\u0180cdn\u2DC0\u2DC5\u01CDron;\u43BF;\u69B6pf;\uC000\u{1D560}\u0180ael\u2DD4\u2DD7\u01D2r;\u69B7rp;\u69B9\u0380;adiosv\u2DEA\u2DEB\u2DEE\u2E08\u2E0D\u2E10\u2E16\u6228r\xF2\u1A86\u0200;efm\u2DF7\u2DF8\u2E02\u2E05\u6A5Dr\u0100;o\u2DFE\u2DFF\u6134f\xBB\u2DFF\u803B\xAA\u40AA\u803B\xBA\u40BAgof;\u62B6r;\u6A56lope;\u6A57;\u6A5B\u0180clo\u2E1F\u2E21\u2E27\xF2\u2E01ash\u803B\xF8\u40F8l;\u6298i\u016C\u2E2F\u2E34de\u803B\xF5\u40F5es\u0100;a\u01DB\u2E3As;\u6A36ml\u803B\xF6\u40F6bar;\u633D\u0AE1\u2E5E\0\u2E7D\0\u2E80\u2E9D\0\u2EA2\u2EB9\0\0\u2ECB\u0E9C\0\u2F13\0\0\u2F2B\u2FBC\0\u2FC8r\u0200;ast\u0403\u2E67\u2E72\u0E85\u8100\xB6;l\u2E6D\u2E6E\u40B6le\xEC\u0403\u0269\u2E78\0\0\u2E7Bm;\u6AF3;\u6AFDy;\u443Fr\u0280cimpt\u2E8B\u2E8F\u2E93\u1865\u2E97nt;\u4025od;\u402Eil;\u6030enk;\u6031r;\uC000\u{1D52D}\u0180imo\u2EA8\u2EB0\u2EB4\u0100;v\u2EAD\u2EAE\u43C6;\u43D5ma\xF4\u0A76ne;\u660E\u0180;tv\u2EBF\u2EC0\u2EC8\u43C0chfork\xBB\u1FFD;\u43D6\u0100au\u2ECF\u2EDFn\u0100ck\u2ED5\u2EDDk\u0100;h\u21F4\u2EDB;\u610E\xF6\u21F4s\u0480;abcdemst\u2EF3\u2EF4\u1908\u2EF9\u2EFD\u2F04\u2F06\u2F0A\u2F0E\u402Bcir;\u6A23ir;\u6A22\u0100ou\u1D40\u2F02;\u6A25;\u6A72n\u80BB\xB1\u0E9Dim;\u6A26wo;\u6A27\u0180ipu\u2F19\u2F20\u2F25ntint;\u6A15f;\uC000\u{1D561}nd\u803B\xA3\u40A3\u0500;Eaceinosu\u0EC8\u2F3F\u2F41\u2F44\u2F47\u2F81\u2F89\u2F92\u2F7E\u2FB6;\u6AB3p;\u6AB7u\xE5\u0ED9\u0100;c\u0ECE\u2F4C\u0300;acens\u0EC8\u2F59\u2F5F\u2F66\u2F68\u2F7Eppro\xF8\u2F43urlye\xF1\u0ED9\xF1\u0ECE\u0180aes\u2F6F\u2F76\u2F7Approx;\u6AB9qq;\u6AB5im;\u62E8i\xED\u0EDFme\u0100;s\u2F88\u0EAE\u6032\u0180Eas\u2F78\u2F90\u2F7A\xF0\u2F75\u0180dfp\u0EEC\u2F99\u2FAF\u0180als\u2FA0\u2FA5\u2FAAlar;\u632Eine;\u6312urf;\u6313\u0100;t\u0EFB\u2FB4\xEF\u0EFBrel;\u62B0\u0100ci\u2FC0\u2FC5r;\uC000\u{1D4C5};\u43C8ncsp;\u6008\u0300fiopsu\u2FDA\u22E2\u2FDF\u2FE5\u2FEB\u2FF1r;\uC000\u{1D52E}pf;\uC000\u{1D562}rime;\u6057cr;\uC000\u{1D4C6}\u0180aeo\u2FF8\u3009\u3013t\u0100ei\u2FFE\u3005rnion\xF3\u06B0nt;\u6A16st\u0100;e\u3010\u3011\u403F\xF1\u1F19\xF4\u0F14\u0A80ABHabcdefhilmnoprstux\u3040\u3051\u3055\u3059\u30E0\u310E\u312B\u3147\u3162\u3172\u318E\u3206\u3215\u3224\u3229\u3258\u326E\u3272\u3290\u32B0\u32B7\u0180art\u3047\u304A\u304Cr\xF2\u10B3\xF2\u03DDail;\u691Car\xF2\u1C65ar;\u6964\u0380cdenqrt\u3068\u3075\u3078\u307F\u308F\u3094\u30CC\u0100eu\u306D\u3071;\uC000\u223D\u0331te;\u4155i\xE3\u116Emptyv;\u69B3g\u0200;del\u0FD1\u3089\u308B\u308D;\u6992;\u69A5\xE5\u0FD1uo\u803B\xBB\u40BBr\u0580;abcfhlpstw\u0FDC\u30AC\u30AF\u30B7\u30B9\u30BC\u30BE\u30C0\u30C3\u30C7\u30CAp;\u6975\u0100;f\u0FE0\u30B4s;\u6920;\u6933s;\u691E\xEB\u225D\xF0\u272El;\u6945im;\u6974l;\u61A3;\u619D\u0100ai\u30D1\u30D5il;\u691Ao\u0100;n\u30DB\u30DC\u6236al\xF3\u0F1E\u0180abr\u30E7\u30EA\u30EEr\xF2\u17E5rk;\u6773\u0100ak\u30F3\u30FDc\u0100ek\u30F9\u30FB;\u407D;\u405D\u0100es\u3102\u3104;\u698Cl\u0100du\u310A\u310C;\u698E;\u6990\u0200aeuy\u3117\u311C\u3127\u3129ron;\u4159\u0100di\u3121\u3125il;\u4157\xEC\u0FF2\xE2\u30FA;\u4440\u0200clqs\u3134\u3137\u313D\u3144a;\u6937dhar;\u6969uo\u0100;r\u020E\u020Dh;\u61B3\u0180acg\u314E\u315F\u0F44l\u0200;ips\u0F78\u3158\u315B\u109Cn\xE5\u10BBar\xF4\u0FA9t;\u65AD\u0180ilr\u3169\u1023\u316Esht;\u697D;\uC000\u{1D52F}\u0100ao\u3177\u3186r\u0100du\u317D\u317F\xBB\u047B\u0100;l\u1091\u3184;\u696C\u0100;v\u318B\u318C\u43C1;\u43F1\u0180gns\u3195\u31F9\u31FCht\u0300ahlrst\u31A4\u31B0\u31C2\u31D8\u31E4\u31EErrow\u0100;t\u0FDC\u31ADa\xE9\u30C8arpoon\u0100du\u31BB\u31BFow\xEE\u317Ep\xBB\u1092eft\u0100ah\u31CA\u31D0rrow\xF3\u0FEAarpoon\xF3\u0551ightarrows;\u61C9quigarro\xF7\u30CBhreetimes;\u62CCg;\u42DAingdotse\xF1\u1F32\u0180ahm\u320D\u3210\u3213r\xF2\u0FEAa\xF2\u0551;\u600Foust\u0100;a\u321E\u321F\u63B1che\xBB\u321Fmid;\u6AEE\u0200abpt\u3232\u323D\u3240\u3252\u0100nr\u3237\u323Ag;\u67EDr;\u61FEr\xEB\u1003\u0180afl\u3247\u324A\u324Er;\u6986;\uC000\u{1D563}us;\u6A2Eimes;\u6A35\u0100ap\u325D\u3267r\u0100;g\u3263\u3264\u4029t;\u6994olint;\u6A12ar\xF2\u31E3\u0200achq\u327B\u3280\u10BC\u3285quo;\u603Ar;\uC000\u{1D4C7}\u0100bu\u30FB\u328Ao\u0100;r\u0214\u0213\u0180hir\u3297\u329B\u32A0re\xE5\u31F8mes;\u62CAi\u0200;efl\u32AA\u1059\u1821\u32AB\u65B9tri;\u69CEluhar;\u6968;\u611E\u0D61\u32D5\u32DB\u32DF\u332C\u3338\u3371\0\u337A\u33A4\0\0\u33EC\u33F0\0\u3428\u3448\u345A\u34AD\u34B1\u34CA\u34F1\0\u3616\0\0\u3633cute;\u415Bqu\xEF\u27BA\u0500;Eaceinpsy\u11ED\u32F3\u32F5\u32FF\u3302\u330B\u330F\u331F\u3326\u3329;\u6AB4\u01F0\u32FA\0\u32FC;\u6AB8on;\u4161u\xE5\u11FE\u0100;d\u11F3\u3307il;\u415Frc;\u415D\u0180Eas\u3316\u3318\u331B;\u6AB6p;\u6ABAim;\u62E9olint;\u6A13i\xED\u1204;\u4441ot\u0180;be\u3334\u1D47\u3335\u62C5;\u6A66\u0380Aacmstx\u3346\u334A\u3357\u335B\u335E\u3363\u336Drr;\u61D8r\u0100hr\u3350\u3352\xEB\u2228\u0100;o\u0A36\u0A34t\u803B\xA7\u40A7i;\u403Bwar;\u6929m\u0100in\u3369\xF0nu\xF3\xF1t;\u6736r\u0100;o\u3376\u2055\uC000\u{1D530}\u0200acoy\u3382\u3386\u3391\u33A0rp;\u666F\u0100hy\u338B\u338Fcy;\u4449;\u4448rt\u026D\u3399\0\0\u339Ci\xE4\u1464ara\xEC\u2E6F\u803B\xAD\u40AD\u0100gm\u33A8\u33B4ma\u0180;fv\u33B1\u33B2\u33B2\u43C3;\u43C2\u0400;deglnpr\u12AB\u33C5\u33C9\u33CE\u33D6\u33DE\u33E1\u33E6ot;\u6A6A\u0100;q\u12B1\u12B0\u0100;E\u33D3\u33D4\u6A9E;\u6AA0\u0100;E\u33DB\u33DC\u6A9D;\u6A9Fe;\u6246lus;\u6A24arr;\u6972ar\xF2\u113D\u0200aeit\u33F8\u3408\u340F\u3417\u0100ls\u33FD\u3404lsetm\xE9\u336Ahp;\u6A33parsl;\u69E4\u0100dl\u1463\u3414e;\u6323\u0100;e\u341C\u341D\u6AAA\u0100;s\u3422\u3423\u6AAC;\uC000\u2AAC\uFE00\u0180flp\u342E\u3433\u3442tcy;\u444C\u0100;b\u3438\u3439\u402F\u0100;a\u343E\u343F\u69C4r;\u633Ff;\uC000\u{1D564}a\u0100dr\u344D\u0402es\u0100;u\u3454\u3455\u6660it\xBB\u3455\u0180csu\u3460\u3479\u349F\u0100au\u3465\u346Fp\u0100;s\u1188\u346B;\uC000\u2293\uFE00p\u0100;s\u11B4\u3475;\uC000\u2294\uFE00u\u0100bp\u347F\u348F\u0180;es\u1197\u119C\u3486et\u0100;e\u1197\u348D\xF1\u119D\u0180;es\u11A8\u11AD\u3496et\u0100;e\u11A8\u349D\xF1\u11AE\u0180;af\u117B\u34A6\u05B0r\u0165\u34AB\u05B1\xBB\u117Car\xF2\u1148\u0200cemt\u34B9\u34BE\u34C2\u34C5r;\uC000\u{1D4C8}tm\xEE\xF1i\xEC\u3415ar\xE6\u11BE\u0100ar\u34CE\u34D5r\u0100;f\u34D4\u17BF\u6606\u0100an\u34DA\u34EDight\u0100ep\u34E3\u34EApsilo\xEE\u1EE0h\xE9\u2EAFs\xBB\u2852\u0280bcmnp\u34FB\u355E\u1209\u358B\u358E\u0480;Edemnprs\u350E\u350F\u3511\u3515\u351E\u3523\u352C\u3531\u3536\u6282;\u6AC5ot;\u6ABD\u0100;d\u11DA\u351Aot;\u6AC3ult;\u6AC1\u0100Ee\u3528\u352A;\u6ACB;\u628Alus;\u6ABFarr;\u6979\u0180eiu\u353D\u3552\u3555t\u0180;en\u350E\u3545\u354Bq\u0100;q\u11DA\u350Feq\u0100;q\u352B\u3528m;\u6AC7\u0100bp\u355A\u355C;\u6AD5;\u6AD3c\u0300;acens\u11ED\u356C\u3572\u3579\u357B\u3326ppro\xF8\u32FAurlye\xF1\u11FE\xF1\u11F3\u0180aes\u3582\u3588\u331Bppro\xF8\u331Aq\xF1\u3317g;\u666A\u0680123;Edehlmnps\u35A9\u35AC\u35AF\u121C\u35B2\u35B4\u35C0\u35C9\u35D5\u35DA\u35DF\u35E8\u35ED\u803B\xB9\u40B9\u803B\xB2\u40B2\u803B\xB3\u40B3;\u6AC6\u0100os\u35B9\u35BCt;\u6ABEub;\u6AD8\u0100;d\u1222\u35C5ot;\u6AC4s\u0100ou\u35CF\u35D2l;\u67C9b;\u6AD7arr;\u697Bult;\u6AC2\u0100Ee\u35E4\u35E6;\u6ACC;\u628Blus;\u6AC0\u0180eiu\u35F4\u3609\u360Ct\u0180;en\u121C\u35FC\u3602q\u0100;q\u1222\u35B2eq\u0100;q\u35E7\u35E4m;\u6AC8\u0100bp\u3611\u3613;\u6AD4;\u6AD6\u0180Aan\u361C\u3620\u362Drr;\u61D9r\u0100hr\u3626\u3628\xEB\u222E\u0100;o\u0A2B\u0A29war;\u692Alig\u803B\xDF\u40DF\u0BE1\u3651\u365D\u3660\u12CE\u3673\u3679\0\u367E\u36C2\0\0\0\0\0\u36DB\u3703\0\u3709\u376C\0\0\0\u3787\u0272\u3656\0\0\u365Bget;\u6316;\u43C4r\xEB\u0E5F\u0180aey\u3666\u366B\u3670ron;\u4165dil;\u4163;\u4442lrec;\u6315r;\uC000\u{1D531}\u0200eiko\u3686\u369D\u36B5\u36BC\u01F2\u368B\0\u3691e\u01004f\u1284\u1281a\u0180;sv\u3698\u3699\u369B\u43B8ym;\u43D1\u0100cn\u36A2\u36B2k\u0100as\u36A8\u36AEppro\xF8\u12C1im\xBB\u12ACs\xF0\u129E\u0100as\u36BA\u36AE\xF0\u12C1rn\u803B\xFE\u40FE\u01EC\u031F\u36C6\u22E7es\u8180\xD7;bd\u36CF\u36D0\u36D8\u40D7\u0100;a\u190F\u36D5r;\u6A31;\u6A30\u0180eps\u36E1\u36E3\u3700\xE1\u2A4D\u0200;bcf\u0486\u36EC\u36F0\u36F4ot;\u6336ir;\u6AF1\u0100;o\u36F9\u36FC\uC000\u{1D565}rk;\u6ADA\xE1\u3362rime;\u6034\u0180aip\u370F\u3712\u3764d\xE5\u1248\u0380adempst\u3721\u374D\u3740\u3751\u3757\u375C\u375Fngle\u0280;dlqr\u3730\u3731\u3736\u3740\u3742\u65B5own\xBB\u1DBBeft\u0100;e\u2800\u373E\xF1\u092E;\u625Cight\u0100;e\u32AA\u374B\xF1\u105Aot;\u65ECinus;\u6A3Alus;\u6A39b;\u69CDime;\u6A3Bezium;\u63E2\u0180cht\u3772\u377D\u3781\u0100ry\u3777\u377B;\uC000\u{1D4C9};\u4446cy;\u445Brok;\u4167\u0100io\u378B\u378Ex\xF4\u1777head\u0100lr\u3797\u37A0eftarro\xF7\u084Fightarrow\xBB\u0F5D\u0900AHabcdfghlmoprstuw\u37D0\u37D3\u37D7\u37E4\u37F0\u37FC\u380E\u381C\u3823\u3834\u3851\u385D\u386B\u38A9\u38CC\u38D2\u38EA\u38F6r\xF2\u03EDar;\u6963\u0100cr\u37DC\u37E2ute\u803B\xFA\u40FA\xF2\u1150r\u01E3\u37EA\0\u37EDy;\u445Eve;\u416D\u0100iy\u37F5\u37FArc\u803B\xFB\u40FB;\u4443\u0180abh\u3803\u3806\u380Br\xF2\u13ADlac;\u4171a\xF2\u13C3\u0100ir\u3813\u3818sht;\u697E;\uC000\u{1D532}rave\u803B\xF9\u40F9\u0161\u3827\u3831r\u0100lr\u382C\u382E\xBB\u0957\xBB\u1083lk;\u6580\u0100ct\u3839\u384D\u026F\u383F\0\0\u384Arn\u0100;e\u3845\u3846\u631Cr\xBB\u3846op;\u630Fri;\u65F8\u0100al\u3856\u385Acr;\u416B\u80BB\xA8\u0349\u0100gp\u3862\u3866on;\u4173f;\uC000\u{1D566}\u0300adhlsu\u114B\u3878\u387D\u1372\u3891\u38A0own\xE1\u13B3arpoon\u0100lr\u3888\u388Cef\xF4\u382Digh\xF4\u382Fi\u0180;hl\u3899\u389A\u389C\u43C5\xBB\u13FAon\xBB\u389Aparrows;\u61C8\u0180cit\u38B0\u38C4\u38C8\u026F\u38B6\0\0\u38C1rn\u0100;e\u38BC\u38BD\u631Dr\xBB\u38BDop;\u630Eng;\u416Fri;\u65F9cr;\uC000\u{1D4CA}\u0180dir\u38D9\u38DD\u38E2ot;\u62F0lde;\u4169i\u0100;f\u3730\u38E8\xBB\u1813\u0100am\u38EF\u38F2r\xF2\u38A8l\u803B\xFC\u40FCangle;\u69A7\u0780ABDacdeflnoprsz\u391C\u391F\u3929\u392D\u39B5\u39B8\u39BD\u39DF\u39E4\u39E8\u39F3\u39F9\u39FD\u3A01\u3A20r\xF2\u03F7ar\u0100;v\u3926\u3927\u6AE8;\u6AE9as\xE8\u03E1\u0100nr\u3932\u3937grt;\u699C\u0380eknprst\u34E3\u3946\u394B\u3952\u395D\u3964\u3996app\xE1\u2415othin\xE7\u1E96\u0180hir\u34EB\u2EC8\u3959op\xF4\u2FB5\u0100;h\u13B7\u3962\xEF\u318D\u0100iu\u3969\u396Dgm\xE1\u33B3\u0100bp\u3972\u3984setneq\u0100;q\u397D\u3980\uC000\u228A\uFE00;\uC000\u2ACB\uFE00setneq\u0100;q\u398F\u3992\uC000\u228B\uFE00;\uC000\u2ACC\uFE00\u0100hr\u399B\u399Fet\xE1\u369Ciangle\u0100lr\u39AA\u39AFeft\xBB\u0925ight\xBB\u1051y;\u4432ash\xBB\u1036\u0180elr\u39C4\u39D2\u39D7\u0180;be\u2DEA\u39CB\u39CFar;\u62BBq;\u625Alip;\u62EE\u0100bt\u39DC\u1468a\xF2\u1469r;\uC000\u{1D533}tr\xE9\u39AEsu\u0100bp\u39EF\u39F1\xBB\u0D1C\xBB\u0D59pf;\uC000\u{1D567}ro\xF0\u0EFBtr\xE9\u39B4\u0100cu\u3A06\u3A0Br;\uC000\u{1D4CB}\u0100bp\u3A10\u3A18n\u0100Ee\u3980\u3A16\xBB\u397En\u0100Ee\u3992\u3A1E\xBB\u3990igzag;\u699A\u0380cefoprs\u3A36\u3A3B\u3A56\u3A5B\u3A54\u3A61\u3A6Airc;\u4175\u0100di\u3A40\u3A51\u0100bg\u3A45\u3A49ar;\u6A5Fe\u0100;q\u15FA\u3A4F;\u6259erp;\u6118r;\uC000\u{1D534}pf;\uC000\u{1D568}\u0100;e\u1479\u3A66at\xE8\u1479cr;\uC000\u{1D4CC}\u0AE3\u178E\u3A87\0\u3A8B\0\u3A90\u3A9B\0\0\u3A9D\u3AA8\u3AAB\u3AAF\0\0\u3AC3\u3ACE\0\u3AD8\u17DC\u17DFtr\xE9\u17D1r;\uC000\u{1D535}\u0100Aa\u3A94\u3A97r\xF2\u03C3r\xF2\u09F6;\u43BE\u0100Aa\u3AA1\u3AA4r\xF2\u03B8r\xF2\u09EBa\xF0\u2713is;\u62FB\u0180dpt\u17A4\u3AB5\u3ABE\u0100fl\u3ABA\u17A9;\uC000\u{1D569}im\xE5\u17B2\u0100Aa\u3AC7\u3ACAr\xF2\u03CEr\xF2\u0A01\u0100cq\u3AD2\u17B8r;\uC000\u{1D4CD}\u0100pt\u17D6\u3ADCr\xE9\u17D4\u0400acefiosu\u3AF0\u3AFD\u3B08\u3B0C\u3B11\u3B15\u3B1B\u3B21c\u0100uy\u3AF6\u3AFBte\u803B\xFD\u40FD;\u444F\u0100iy\u3B02\u3B06rc;\u4177;\u444Bn\u803B\xA5\u40A5r;\uC000\u{1D536}cy;\u4457pf;\uC000\u{1D56A}cr;\uC000\u{1D4CE}\u0100cm\u3B26\u3B29y;\u444El\u803B\xFF\u40FF\u0500acdefhiosw\u3B42\u3B48\u3B54\u3B58\u3B64\u3B69\u3B6D\u3B74\u3B7A\u3B80cute;\u417A\u0100ay\u3B4D\u3B52ron;\u417E;\u4437ot;\u417C\u0100et\u3B5D\u3B61tr\xE6\u155Fa;\u43B6r;\uC000\u{1D537}cy;\u4436grarr;\u61DDpf;\uC000\u{1D56B}cr;\uC000\u{1D4CF}\u0100jn\u3B85\u3B87;\u600Dj;\u600C'.split("").map(u=>u.charCodeAt(0)));var zt=new Uint16Array("\u0200aglq \x1B\u026D\0\0p;\u4026os;\u4027t;\u403Et;\u403Cuot;\u4022".split("").map(u=>u.charCodeAt(0)));var ne,xr=new Map([[0,65533],[128,8364],[130,8218],[131,402],[132,8222],[133,8230],[134,8224],[135,8225],[136,710],[137,8240],[138,352],[139,8249],[140,338],[142,381],[145,8216],[146,8217],[147,8220],[148,8221],[149,8226],[150,8211],[151,8212],[152,732],[153,8482],[154,353],[155,8250],[156,339],[158,382],[159,376]]),oe=(ne=String.fromCodePoint)!==null&&ne!==void 0?ne:function(u){let e="";return u>65535&&(u-=65536,e+=String.fromCharCode(u>>>10&1023|55296),u=56320|u&1023),e+=String.fromCharCode(u),e};function ie(u){var e;return u>=55296&&u<=57343||u>1114111?65533:(e=xr.get(u))!==null&&e!==void 0?e:u}var L;(function(u){u[u.NUM=35]="NUM",u[u.SEMI=59]="SEMI",u[u.EQUALS=61]="EQUALS",u[u.ZERO=48]="ZERO",u[u.NINE=57]="NINE",u[u.LOWER_A=97]="LOWER_A",u[u.LOWER_F=102]="LOWER_F",u[u.LOWER_X=120]="LOWER_X",u[u.LOWER_Z=122]="LOWER_Z",u[u.UPPER_A=65]="UPPER_A",u[u.UPPER_F=70]="UPPER_F",u[u.UPPER_Z=90]="UPPER_Z"})(L||(L={}));var kr=32,J;(function(u){u[u.VALUE_LENGTH=49152]="VALUE_LENGTH",u[u.BRANCH_LENGTH=16256]="BRANCH_LENGTH",u[u.JUMP_TABLE=127]="JUMP_TABLE"})(J||(J={}));function ce(u){return u>=L.ZERO&&u<=L.NINE}function _r(u){return u>=L.UPPER_A&&u<=L.UPPER_F||u>=L.LOWER_A&&u<=L.LOWER_F}function yr(u){return u>=L.UPPER_A&&u<=L.UPPER_Z||u>=L.LOWER_A&&u<=L.LOWER_Z||ce(u)}function Er(u){return u===L.EQUALS||yr(u)}var M;(function(u){u[u.EntityStart=0]="EntityStart",u[u.NumericStart=1]="NumericStart",u[u.NumericDecimal=2]="NumericDecimal",u[u.NumericHex=3]="NumericHex",u[u.NamedEntity=4]="NamedEntity"})(M||(M={}));var O;(function(u){u[u.Legacy=0]="Legacy",u[u.Strict=1]="Strict",u[u.Attribute=2]="Attribute"})(O||(O={}));var Iu=class{constructor(e,t,r){this.decodeTree=e,this.emitCodePoint=t,this.errors=r,this.state=M.EntityStart,this.consumed=1,this.result=0,this.treeIndex=0,this.excess=1,this.decodeMode=O.Strict}startEntity(e){this.decodeMode=e,this.state=M.EntityStart,this.result=0,this.treeIndex=0,this.excess=1,this.consumed=1}write(e,t){switch(this.state){case M.EntityStart:return e.charCodeAt(t)===L.NUM?(this.state=M.NumericStart,this.consumed+=1,this.stateNumericStart(e,t+1)):(this.state=M.NamedEntity,this.stateNamedEntity(e,t));case M.NumericStart:return this.stateNumericStart(e,t);case M.NumericDecimal:return this.stateNumericDecimal(e,t);case M.NumericHex:return this.stateNumericHex(e,t);case M.NamedEntity:return this.stateNamedEntity(e,t)}}stateNumericStart(e,t){return t>=e.length?-1:(e.charCodeAt(t)|kr)===L.LOWER_X?(this.state=M.NumericHex,this.consumed+=1,this.stateNumericHex(e,t+1)):(this.state=M.NumericDecimal,this.stateNumericDecimal(e,t))}addToNumericResult(e,t,r,n){if(t!==r){let o=r-t;this.result=this.result*Math.pow(n,o)+parseInt(e.substr(t,o),n),this.consumed+=o}}stateNumericHex(e,t){let r=t;for(;t>14;for(;t>14,o!==0){if(i===L.SEMI)return this.emitNamedEntityData(this.treeIndex,o,this.consumed+this.excess);this.decodeMode!==O.Strict&&(this.result=this.treeIndex,this.consumed+=this.excess,this.excess=0)}}return-1}emitNotTerminatedNamedEntity(){var e;let{result:t,decodeTree:r}=this,n=(r[t]&J.VALUE_LENGTH)>>14;return this.emitNamedEntityData(t,n,this.consumed),(e=this.errors)===null||e===void 0||e.missingSemicolonAfterCharacterReference(),this.consumed}emitNamedEntityData(e,t,r){let{decodeTree:n}=this;return this.emitCodePoint(t===1?n[e]&~J.VALUE_LENGTH:n[e+1],r),t===3&&this.emitCodePoint(n[e+2],r),r}end(){var e;switch(this.state){case M.NamedEntity:return this.result!==0&&(this.decodeMode!==O.Attribute||this.result===this.treeIndex)?this.emitNotTerminatedNamedEntity():0;case M.NumericDecimal:return this.emitNumericEntity(0,2);case M.NumericHex:return this.emitNumericEntity(0,3);case M.NumericStart:return(e=this.errors)===null||e===void 0||e.absenceOfDigitsInNumericCharacterReference(this.consumed),0;case M.EntityStart:return 0}}};function Ot(u){let e="",t=new Iu(u,r=>e+=oe(r));return function(n,o){let i=0,c=0;for(;(c=n.indexOf("&",c))>=0;){e+=n.slice(i,c),t.startEntity(o);let s=t.write(n,c+1);if(s<0){i=c+t.end();break}i=c+s,c=s===0?i+1:i}let a=e+n.slice(i);return e="",a}}function wr(u,e,t,r){let n=(e&J.BRANCH_LENGTH)>>7,o=e&J.JUMP_TABLE;if(n===0)return o!==0&&r===o?t:-1;if(o){let a=r-o;return a<0||a>=n?-1:u[t+a]-1}let i=t,c=i+n-1;for(;i<=c;){let a=i+c>>>1,s=u[a];if(sr)c=a-1;else return u[a+n]}return-1}var Cr=Ot(Nt),wi=Ot(zt);function K(u,e=O.Legacy){return Cr(u,e)}function Ru(u){for(let e=1;eu.codePointAt(e):(u,e)=>(u.charCodeAt(e)&64512)===55296?(u.charCodeAt(e)-55296)*1024+u.charCodeAt(e+1)-56320+65536:u.charCodeAt(e);function ae(u,e){return function(r){let n,o=0,i="";for(;n=u.exec(r);)o!==n.index&&(i+=r.substring(o,n.index)),i+=e.get(n[0].charCodeAt(0)),o=n.index+1;return i+r.substring(o)}}var Ht=ae(/[&<>'"]/g,vr),$t=ae(/["&\u00A0]/g,new Map([[34,"""],[38,"&"],[160," "]])),Ut=ae(/[&<>\u00A0]/g,new Map([[38,"&"],[60,"<"],[62,">"],[160," "]]));var jt;(function(u){u[u.XML=0]="XML",u[u.HTML=1]="HTML"})(jt||(jt={}));var Vt;(function(u){u[u.UTF8=0]="UTF8",u[u.ASCII=1]="ASCII",u[u.Extensive=2]="Extensive",u[u.Attribute=3]="Attribute",u[u.Text=4]="Text"})(Vt||(Vt={}));function Tr(u){return Object.prototype.toString.call(u)}function qu(u){return Tr(u)==="[object String]"}var Mr=Object.prototype.hasOwnProperty;function Lr(u,e){return Mr.call(u,e)}function su(u){return Array.prototype.slice.call(arguments,1).forEach(function(t){if(t){if(typeof t!="object")throw new TypeError(t+"must be object");Object.keys(t).forEach(function(r){u[r]=t[r]})}}),u}function le(u,e,t){return[].concat(u.slice(0,e),t,u.slice(e+1))}function Pu(u){return!(u>=55296&&u<=57343||u>=64976&&u<=65007||(u&65535)===65535||(u&65535)===65534||u>=0&&u<=8||u===11||u>=14&&u<=31||u>=127&&u<=159||u>1114111)}function bu(u){if(u>65535){u-=65536;let e=55296+(u>>10),t=56320+(u&1023);return String.fromCharCode(e,t)}return String.fromCharCode(u)}var Wt=/\\([!"#$%&'()*+,\-./:;<=>?@[\\\]^_`{|}~])/g,Ir=/&([a-z#][a-z0-9]{1,31});/gi,Rr=new RegExp(Wt.source+"|"+Ir.source,"gi"),qr=/^#((?:x[a-f0-9]{1,8}|[0-9]{1,8}))$/i;function Pr(u,e){if(e.charCodeAt(0)===35&&qr.test(e)){let r=e[1].toLowerCase()==="x"?parseInt(e.slice(2),16):parseInt(e.slice(1),10);return Pu(r)?bu(r):u}let t=K(u);return t!==u?t:u}function Br(u){return u.indexOf("\\")<0?u:u.replace(Wt,"$1")}function V(u){return u.indexOf("\\")<0&&u.indexOf("&")<0?u:u.replace(Rr,function(e,t,r){return t||Pr(e,r)})}var Nr=/[&<>"]/,zr=/[&<>"]/g,Or={"&":"&","<":"<",">":">",'"':"""};function Hr(u){return Or[u]}function Z(u){return Nr.test(u)?u.replace(zr,Hr):u}var $r=/[.?*+^$[\]\\(){}|-]/g;function Ur(u){return u.replace($r,"\\$&")}function A(u){switch(u){case 9:case 32:return!0}return!1}function uu(u){if(u>=8192&&u<=8202)return!0;switch(u){case 9:case 10:case 11:case 12:case 13:case 32:case 160:case 5760:case 8239:case 8287:case 12288:return!0}return!1}function eu(u){return au.test(u)||Mu.test(u)}function tu(u){switch(u){case 33:case 34:case 35:case 36:case 37:case 38:case 39:case 40:case 41:case 42:case 43:case 44:case 45:case 46:case 47:case 58:case 59:case 60:case 61:case 62:case 63:case 64:case 91:case 92:case 93:case 94:case 95:case 96:case 123:case 124:case 125:case 126:return!0;default:return!1}}function ru(u){return u=u.trim().replace(/\s+/g," "),"\u1E9E".toLowerCase()==="\u1E7E"&&(u=u.replace(/ẞ/g,"\xDF")),u.toLowerCase().toUpperCase()}var jr={mdurl:Fu,ucmicro:re};var me={};wu(me,{parseLinkDestination:()=>pe,parseLinkLabel:()=>fe,parseLinkTitle:()=>he});function fe(u,e,t){let r,n,o,i,c=u.posMax,a=u.pos;for(u.pos=e+1,r=1;u.pos32))return o;if(r===41){if(i===0)break;i--}n++}return e===n||i!==0||(o.str=V(u.slice(e,n)),o.pos=n,o.ok=!0),o}function he(u,e,t,r){let n,o=e,i={ok:!1,can_continue:!1,pos:0,str:"",marker:0};if(r)i.str=r.str,i.marker=r.marker;else{if(o>=t)return i;let c=u.charCodeAt(o);if(c!==34&&c!==39&&c!==40)return i;e++,o++,c===40&&(c=41),i.marker=c}for(;o"+Z(o.content)+""};H.code_block=function(u,e,t,r,n){let o=u[e];return""+Z(u[e].content)+` +`};H.fence=function(u,e,t,r,n){let o=u[e],i=o.info?V(o.info).trim():"",c="",a="";if(i){let d=i.split(/(\s+)/g);c=d[0],a=d.slice(2).join("")}let s;if(t.highlight?s=t.highlight(o.content,c,a)||Z(o.content):s=Z(o.content),s.indexOf("${s} +`}return`
    ${s}
    +`};H.image=function(u,e,t,r,n){let o=u[e];return o.attrs[o.attrIndex("alt")][1]=n.renderInlineAsText(o.children,t,r),n.renderToken(u,e,t)};H.hardbreak=function(u,e,t){return t.xhtmlOut?`
    +`:`
    +`};H.softbreak=function(u,e,t){return t.breaks?t.xhtmlOut?`
    +`:`
    +`:` +`};H.text=function(u,e){return Z(u[e].content)};H.html_block=function(u,e){return u[e].content};H.html_inline=function(u,e){return u[e].content};function lu(){this.rules=su({},H)}lu.prototype.renderAttrs=function(e){let t,r,n;if(!e.attrs)return"";for(n="",t=0,r=e.attrs.length;t +`:">",o};lu.prototype.renderInline=function(u,e,t){let r="",n=this.rules;for(let o=0,i=u.length;o=0&&(r=this.attrs[t][1]),r};du.prototype.attrJoin=function(e,t){let r=this.attrIndex(e);r<0?this.attrPush([e,t]):this.attrs[r][1]=this.attrs[r][1]+" "+t};var G=du;function Jt(u,e,t){this.src=u,this.env=t,this.tokens=[],this.inlineMode=!1,this.md=e}Jt.prototype.Token=G;var Kt=Jt;var Vr=/\r\n?|\n/g,Zr=/\0/g;function be(u){let e;e=u.src.replace(Vr,` +`),e=e.replace(Zr,"\uFFFD"),u.src=e}function ge(u){let e;u.inlineMode?(e=new u.Token("inline","",0),e.content=u.src,e.map=[0,1],e.children=[],u.tokens.push(e)):u.md.block.parse(u.src,u.md,u.env,u.tokens)}function xe(u){let e=u.tokens;for(let t=0,r=e.length;t\s]/i.test(u)}function Wr(u){return/^<\/a\s*>/i.test(u)}function ke(u){let e=u.tokens;if(u.md.options.linkify)for(let t=0,r=e.length;t=0;i--){let c=n[i];if(c.type==="link_close"){for(i--;n[i].level!==c.level&&n[i].type!=="link_open";)i--;continue}if(c.type==="html_inline"&&(Gr(c.content)&&o>0&&o--,Wr(c.content)&&o++),!(o>0)&&c.type==="text"&&u.md.linkify.test(c.content)){let a=c.content,s=u.md.linkify.match(a),d=[],f=c.level,g=0;s.length>0&&s[0].index===0&&i>0&&n[i-1].type==="text_special"&&(s=s.slice(1));for(let h=0;hg){let m=new u.Token("text","",0);m.content=a.slice(g,k),m.level=f,d.push(m)}let x=new u.Token("link_open","a",1);x.attrs=[["href",p]],x.level=f++,x.markup="linkify",x.info="auto",d.push(x);let _=new u.Token("text","",0);_.content=b,_.level=f,d.push(_);let y=new u.Token("link_close","a",-1);y.level=--f,y.markup="linkify",y.info="auto",d.push(y),g=s[h].lastIndex}if(g=0;t--){let r=u[t];r.type==="text"&&!e&&(r.content=r.content.replace(Jr,Yr)),r.type==="link_open"&&r.info==="auto"&&e--,r.type==="link_close"&&r.info==="auto"&&e++}}function un(u){let e=0;for(let t=u.length-1;t>=0;t--){let r=u[t];r.type==="text"&&!e&&Yt.test(r.content)&&(r.content=r.content.replace(/\+-/g,"\xB1").replace(/\.{2,}/g,"\u2026").replace(/([?!])…/g,"$1..").replace(/([?!]){4,}/g,"$1$1$1").replace(/,{2,}/g,",").replace(/(^|[^-])---(?=[^-]|$)/mg,"$1\u2014").replace(/(^|\s)--(?=\s|$)/mg,"$1\u2013").replace(/(^|[^-\s])--(?=[^-\s]|$)/mg,"$1\u2013")),r.type==="link_open"&&r.info==="auto"&&e--,r.type==="link_close"&&r.info==="auto"&&e++}}function _e(u){let e;if(u.md.options.typographer)for(e=u.tokens.length-1;e>=0;e--)u.tokens[e].type==="inline"&&(Xr.test(u.tokens[e].content)&&Qr(u.tokens[e].children),Yt.test(u.tokens[e].content)&&un(u.tokens[e].children))}var en=/['"]/,Qt=/['"]/g,u0="\u2019";function Bu(u,e,t){return u.slice(0,e)+t+u.slice(e+1)}function tn(u,e){let t,r=[];for(let n=0;n=0&&!(r[t].level<=i);t--);if(r.length=t+1,o.type!=="text")continue;let c=o.content,a=0,s=c.length;u:for(;a=0)l=c.charCodeAt(d.index-1);else for(t=n-1;t>=0&&!(u[t].type==="softbreak"||u[t].type==="hardbreak");t--)if(u[t].content){l=u[t].content.charCodeAt(u[t].content.length-1);break}let p=32;if(a=48&&l<=57&&(g=f=!1),f&&g&&(f=b,g=k),!f&&!g){h&&(o.content=Bu(o.content,d.index,u0));continue}if(g)for(t=r.length-1;t>=0;t--){let y=r[t];if(r[t].level=0;e--)u.tokens[e].type!=="inline"||!en.test(u.tokens[e].content)||tn(u.tokens[e].children,u)}function Ee(u){let e,t,r=u.tokens,n=r.length;for(let o=0;o0&&this.level++,this.tokens.push(r),r};$.prototype.isEmpty=function(e){return this.bMarks[e]+this.tShift[e]>=this.eMarks[e]};$.prototype.skipEmptyLines=function(e){for(let t=this.lineMax;et;)if(!A(this.src.charCodeAt(--e)))return e+1;return e};$.prototype.skipChars=function(e,t){for(let r=this.src.length;er;)if(t!==this.src.charCodeAt(--e))return e+1;return e};$.prototype.getLines=function(e,t,r,n){if(e>=t)return"";let o=new Array(t-e);for(let i=0,c=e;cr?o[i]=new Array(a-r+1).join(" ")+this.src.slice(d,f):o[i]=this.src.slice(d,f)}return o.join("")};$.prototype.Token=G;var t0=$;var rn=65536;function De(u,e){let t=u.bMarks[e]+u.tShift[e],r=u.eMarks[e];return u.src.slice(t,r)}function r0(u){let e=[],t=u.length,r=0,n=u.charCodeAt(r),o=!1,i=0,c="";for(;rt)return!1;let n=e+1;if(u.sCount[n]=4)return!1;let o=u.bMarks[n]+u.tShift[n];if(o>=u.eMarks[n])return!1;let i=u.src.charCodeAt(o++);if(i!==124&&i!==45&&i!==58||o>=u.eMarks[n])return!1;let c=u.src.charCodeAt(o++);if(c!==124&&c!==45&&c!==58&&!A(c)||i===45&&A(c))return!1;for(;o=4)return!1;s=r0(a),s.length&&s[0]===""&&s.shift(),s.length&&s[s.length-1]===""&&s.pop();let f=s.length;if(f===0||f!==d.length)return!1;if(r)return!0;let g=u.parentType;u.parentType="table";let h=u.md.block.ruler.getRules("blockquote"),l=u.push("table_open","table",1),p=[e,0];l.map=p;let b=u.push("thead_open","thead",1);b.map=[e,e+1];let k=u.push("tr_open","tr",1);k.map=[e,e+1];for(let y=0;y=4||(s=r0(a),s.length&&s[0]===""&&s.shift(),s.length&&s[s.length-1]===""&&s.pop(),_+=f-s.length,_>rn))break;if(n===e+2){let E=u.push("tbody_open","tbody",1);E.map=x=[e+2,0]}let m=u.push("tr_open","tr",1);m.map=[n,n+1];for(let E=0;E=4){r++,n=r;continue}break}u.line=n;let o=u.push("code_block","code",0);return o.content=u.getLines(e,n,4+u.blkIndent,!1)+` +`,o.map=[e,u.line],!0}function Fe(u,e,t,r){let n=u.bMarks[e]+u.tShift[e],o=u.eMarks[e];if(u.sCount[e]-u.blkIndent>=4||n+3>o)return!1;let i=u.src.charCodeAt(n);if(i!==126&&i!==96)return!1;let c=n;n=u.skipChars(n,i);let a=n-c;if(a<3)return!1;let s=u.src.slice(c,n),d=u.src.slice(n,o);if(i===96&&d.indexOf(String.fromCharCode(i))>=0)return!1;if(r)return!0;let f=e,g=!1;for(;f++,!(f>=t||(n=c=u.bMarks[f]+u.tShift[f],o=u.eMarks[f],n=4)&&(n=u.skipChars(n,i),!(n-c=4||u.src.charCodeAt(n)!==62)return!1;if(r)return!0;let c=[],a=[],s=[],d=[],f=u.md.block.ruler.getRules("blockquote"),g=u.parentType;u.parentType="blockquote";let h=!1,l;for(l=e;l=o)break;if(u.src.charCodeAt(n++)===62&&!_){let m=u.sCount[l]+1,E,w;u.src.charCodeAt(n)===32?(n++,m++,w=!1,E=!0):u.src.charCodeAt(n)===9?(E=!0,(u.bsCount[l]+m)%4===3?(n++,m++,w=!1):w=!0):E=!1;let C=m;for(c.push(u.bMarks[l]),u.bMarks[l]=n;n=o,a.push(u.bsCount[l]),u.bsCount[l]=u.sCount[l]+1+(E?1:0),s.push(u.sCount[l]),u.sCount[l]=C-m,d.push(u.tShift[l]),u.tShift[l]=n-u.bMarks[l];continue}if(h)break;let y=!1;for(let m=0,E=f.length;m";let k=[e,0];b.map=k,u.md.block.tokenize(u,e,l);let x=u.push("blockquote_close","blockquote",-1);x.markup=">",u.lineMax=i,u.parentType=g,k[1]=u.line;for(let _=0;_=4)return!1;let o=u.bMarks[e]+u.tShift[e],i=u.src.charCodeAt(o++);if(i!==42&&i!==45&&i!==95)return!1;let c=1;for(;o=r)return-1;let o=u.src.charCodeAt(n++);if(o<48||o>57)return-1;for(;;){if(n>=r)return-1;if(o=u.src.charCodeAt(n++),o>=48&&o<=57){if(n-t>=10)return-1;continue}if(o===41||o===46)break;return-1}return n=4||u.listIndent>=0&&u.sCount[a]-u.listIndent>=4&&u.sCount[a]=u.blkIndent&&(d=!0);let f,g,h;if((h=o0(u,a))>=0){if(f=!0,i=u.bMarks[a]+u.tShift[a],g=Number(u.src.slice(i,h-1)),d&&g!==1)return!1}else if((h=n0(u,a))>=0)f=!1;else return!1;if(d&&u.skipSpaces(h)>=u.eMarks[a])return!1;if(r)return!0;let l=u.src.charCodeAt(h-1),p=u.tokens.length;f?(c=u.push("ordered_list_open","ol",1),g!==1&&(c.attrs=[["start",g]])):c=u.push("bullet_list_open","ul",1);let b=[a,0];c.map=b,c.markup=String.fromCharCode(l);let k=!1,x=u.md.block.ruler.getRules("list"),_=u.parentType;for(u.parentType="list";a=n?w=1:w=m-y,w>4&&(w=1);let C=y+w;c=u.push("list_item_open","li",1),c.markup=String.fromCharCode(l);let D=[a,0];c.map=D,f&&(c.info=u.src.slice(i,h-1));let F=u.tight,S=u.tShift[a],I=u.sCount[a],q=u.listIndent;if(u.listIndent=u.blkIndent,u.blkIndent=C,u.tight=!0,u.tShift[a]=E-u.bMarks[a],u.sCount[a]=m,E>=n&&u.isEmpty(a+1)?u.line=Math.min(u.line+2,t):u.md.block.tokenize(u,a,t,!0),(!u.tight||k)&&(s=!1),k=u.line-a>1&&u.isEmpty(u.line-1),u.blkIndent=u.listIndent,u.listIndent=q,u.tShift[a]=S,u.sCount[a]=I,u.tight=F,c=u.push("list_item_close","li",-1),c.markup=String.fromCharCode(l),a=u.line,D[1]=a,a>=t||u.sCount[a]=4)break;let pu=!1;for(let j=0,Q=x.length;j=4||u.src.charCodeAt(n)!==91)return!1;function c(x){let _=u.lineMax;if(x>=_||u.isEmpty(x))return null;let y=!1;if(u.sCount[x]-u.blkIndent>3&&(y=!0),u.sCount[x]<0&&(y=!0),!y){let w=u.md.block.ruler.getRules("reference"),C=u.parentType;u.parentType="reference";let D=!1;for(let F=0,S=w.length;F"u"&&(u.env.references={}),typeof u.env.references[k]>"u"&&(u.env.references[k]={title:b,href:f}),u.line=i),!0):!1}var i0=["address","article","aside","base","basefont","blockquote","body","caption","center","col","colgroup","dd","details","dialog","dir","div","dl","dt","fieldset","figcaption","figure","footer","form","frame","frameset","h1","h2","h3","h4","h5","h6","head","header","hr","html","iframe","legend","li","link","main","menu","menuitem","nav","noframes","ol","optgroup","option","p","param","search","section","summary","table","tbody","td","tfoot","th","thead","title","tr","track","ul"];var on="[a-zA-Z_:][a-zA-Z0-9:._-]*",cn="[^\"'=<>`\\x00-\\x20]+",an="'[^']*'",sn='"[^"]*"',ln="(?:"+cn+"|"+an+"|"+sn+")",dn="(?:\\s+"+on+"(?:\\s*=\\s*"+ln+")?)",c0="<[A-Za-z][A-Za-z0-9\\-]*"+dn+"*\\s*\\/?>",a0="<\\/[A-Za-z][A-Za-z0-9\\-]*\\s*>",fn="",pn="<[?][\\s\\S]*?[?]>",hn="]*>",mn="",s0=new RegExp("^(?:"+c0+"|"+a0+"|"+fn+"|"+pn+"|"+hn+"|"+mn+")"),l0=new RegExp("^(?:"+c0+"|"+a0+")");var fu=[[/^<(script|pre|style|textarea)(?=(\s|>|$))/i,/<\/(script|pre|style|textarea)>/i,!0],[/^/,!0],[/^<\?/,/\?>/,!0],[/^/,!0],[/^/,!0],[new RegExp("^|$))","i"),/^$/,!0],[new RegExp(l0.source+"\\s*$"),/^$/,!1]];function Ie(u,e,t,r){let n=u.bMarks[e]+u.tShift[e],o=u.eMarks[e];if(u.sCount[e]-u.blkIndent>=4||!u.md.options.html||u.src.charCodeAt(n)!==60)return!1;let i=u.src.slice(n,o),c=0;for(;c=4)return!1;let i=u.src.charCodeAt(n);if(i!==35||n>=o)return!1;let c=1;for(i=u.src.charCodeAt(++n);i===35&&n6||nn&&A(u.src.charCodeAt(a-1))&&(o=a),u.line=e+1;let s=u.push("heading_open","h"+String(c),1);s.markup="########".slice(0,c),s.map=[e,u.line];let d=u.push("inline","",0);d.content=u.src.slice(n,o).trim(),d.map=[e,u.line],d.children=[];let f=u.push("heading_close","h"+String(c),-1);return f.markup="########".slice(0,c),!0}function qe(u,e,t){let r=u.md.block.ruler.getRules("paragraph");if(u.sCount[e]-u.blkIndent>=4)return!1;let n=u.parentType;u.parentType="paragraph";let o=0,i,c=e+1;for(;c3)continue;if(u.sCount[c]>=u.blkIndent){let h=u.bMarks[c]+u.tShift[c],l=u.eMarks[c];if(h=l))){o=i===61?1:2;break}}if(u.sCount[c]<0)continue;let g=!1;for(let h=0,l=r.length;h3||u.sCount[o]<0)continue;let s=!1;for(let d=0,f=r.length;d=t||u.sCount[i]=o){u.line=t;break}let a=u.line,s=!1;for(let d=0;d=u.line)throw new Error("block rule didn't increment state.line");break}if(!s)throw new Error("none of the block rules matched");u.tight=!c,u.isEmpty(u.line-1)&&(c=!0),i=u.line,i0&&(this.level++,this._prev_delimiters.push(this.delimiters),this.delimiters=[],n={delimiters:this.delimiters}),this.pendingLevel=this.level,this.tokens.push(r),this.tokens_meta.push(n),r};gu.prototype.scanDelims=function(u,e){let t=this.posMax,r=this.src.charCodeAt(u),n=u>0?this.src.charCodeAt(u-1):32,o=u;for(;o0)return!1;let t=u.pos,r=u.posMax;if(t+3>r||u.src.charCodeAt(t)!==58||u.src.charCodeAt(t+1)!==47||u.src.charCodeAt(t+2)!==47)return!1;let n=u.pending.match(gn);if(!n)return!1;let o=n[1],i=u.md.linkify.matchAtStart(u.src.slice(t-o.length));if(!i)return!1;let c=i.url;if(c.length<=o.length)return!1;let a=c.length;for(;a>0&&c.charCodeAt(a-1)===42;)a--;a!==c.length&&(c=c.slice(0,a));let s=u.md.normalizeLink(c);if(!u.md.validateLink(s))return!1;if(!e){u.pending=u.pending.slice(0,-o.length);let d=u.push("link_open","a",1);d.attrs=[["href",s]],d.markup="linkify",d.info="auto";let f=u.push("text","",0);f.content=u.md.normalizeLinkText(c);let g=u.push("link_close","a",-1);g.markup="linkify",g.info="auto"}return u.pos+=c.length-o.length,!0}function ze(u,e){let t=u.pos;if(u.src.charCodeAt(t)!==10)return!1;let r=u.pending.length-1,n=u.posMax;if(!e)if(r>=0&&u.pending.charCodeAt(r)===32)if(r>=1&&u.pending.charCodeAt(r-1)===32){let o=r-1;for(;o>=1&&u.pending.charCodeAt(o-1)===32;)o--;u.pending=u.pending.slice(0,o),u.push("hardbreak","br",0)}else u.pending=u.pending.slice(0,-1),u.push("softbreak","br",0);else u.push("softbreak","br",0);for(t++;t?@[]^_`{|}~-".split("").forEach(function(u){Oe[u.charCodeAt(0)]=1});function He(u,e){let t=u.pos,r=u.posMax;if(u.src.charCodeAt(t)!==92||(t++,t>=r))return!1;let n=u.src.charCodeAt(t);if(n===10){for(e||u.push("hardbreak","br",0),t++;t=55296&&n<=56319&&t+1=56320&&c<=57343&&(o+=u.src[t+1],t++)}let i="\\"+o;if(!e){let c=u.push("text_special","",0);n<256&&Oe[n]!==0?c.content=o:c.content=i,c.markup=i,c.info="escape"}return u.pos=t+1,!0}function $e(u,e){let t=u.pos;if(u.src.charCodeAt(t)!==96)return!1;let n=t;t++;let o=u.posMax;for(;t=0;r--){let n=e[r];if(n.marker!==95&&n.marker!==42||n.end===-1)continue;let o=e[n.end],i=r>0&&e[r-1].end===n.end+1&&e[r-1].marker===n.marker&&e[r-1].token===n.token-1&&e[n.end+1].token===o.token+1,c=String.fromCharCode(n.marker),a=u.tokens[n.token];a.type=i?"strong_open":"em_open",a.tag=i?"strong":"em",a.nesting=1,a.markup=i?c+c:c,a.content="";let s=u.tokens[o.token];s.type=i?"strong_close":"em_close",s.tag=i?"strong":"em",s.nesting=-1,s.markup=i?c+c:c,s.content="",i&&(u.tokens[e[r-1].token].content="",u.tokens[e[n.end+1].token].content="",r--)}}function yn(u){let e=u.tokens_meta,t=u.tokens_meta.length;h0(u,u.delimiters);for(let r=0;r=f)return!1;if(a=l,n=u.md.helpers.parseLinkDestination(u.src,l,u.posMax),n.ok){for(i=u.md.normalizeLink(n.str),u.md.validateLink(i)?l=n.pos:i="",a=l;l=f||u.src.charCodeAt(l)!==41)&&(s=!0),l++}if(s){if(typeof u.env.references>"u")return!1;if(l=0?r=u.src.slice(a,l++):l=h+1):l=h+1,r||(r=u.src.slice(g,h)),o=u.env.references[ru(r)],!o)return u.pos=d,!1;i=o.href,c=o.title}if(!e){u.pos=g,u.posMax=h;let p=u.push("link_open","a",1),b=[["href",i]];p.attrs=b,c&&b.push(["title",c]),u.linkLevel++,u.md.inline.tokenize(u),u.linkLevel--,u.push("link_close","a",-1)}return u.pos=l,u.posMax=f,!0}function Ze(u,e){let t,r,n,o,i,c,a,s,d="",f=u.pos,g=u.posMax;if(u.src.charCodeAt(u.pos)!==33||u.src.charCodeAt(u.pos+1)!==91)return!1;let h=u.pos+2,l=u.md.helpers.parseLinkLabel(u,u.pos+1,!1);if(l<0)return!1;if(o=l+1,o=g)return!1;for(s=o,c=u.md.helpers.parseLinkDestination(u.src,o,u.posMax),c.ok&&(d=u.md.normalizeLink(c.str),u.md.validateLink(d)?o=c.pos:d=""),s=o;o=g||u.src.charCodeAt(o)!==41)return u.pos=f,!1;o++}else{if(typeof u.env.references>"u")return!1;if(o=0?n=u.src.slice(s,o++):o=l+1):o=l+1,n||(n=u.src.slice(h,l)),i=u.env.references[ru(n)],!i)return u.pos=f,!1;d=i.href,a=i.title}if(!e){r=u.src.slice(h,l);let p=[];u.md.inline.parse(r,u.md,u.env,p);let b=u.push("image","img",0),k=[["src",d],["alt",""]];b.attrs=k,b.children=p,b.content=r,a&&k.push(["title",a])}return u.pos=o,u.posMax=g,!0}var En=/^([a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*)$/,wn=/^([a-zA-Z][a-zA-Z0-9+.-]{1,31}):([^<>\x00-\x20]*)$/;function Ge(u,e){let t=u.pos;if(u.src.charCodeAt(t)!==60)return!1;let r=u.pos,n=u.posMax;for(;;){if(++t>=n)return!1;let i=u.src.charCodeAt(t);if(i===60)return!1;if(i===62)break}let o=u.src.slice(r+1,t);if(wn.test(o)){let i=u.md.normalizeLink(o);if(!u.md.validateLink(i))return!1;if(!e){let c=u.push("link_open","a",1);c.attrs=[["href",i]],c.markup="autolink",c.info="auto";let a=u.push("text","",0);a.content=u.md.normalizeLinkText(o);let s=u.push("link_close","a",-1);s.markup="autolink",s.info="auto"}return u.pos+=o.length+2,!0}if(En.test(o)){let i=u.md.normalizeLink("mailto:"+o);if(!u.md.validateLink(i))return!1;if(!e){let c=u.push("link_open","a",1);c.attrs=[["href",i]],c.markup="autolink",c.info="auto";let a=u.push("text","",0);a.content=u.md.normalizeLinkText(o);let s=u.push("link_close","a",-1);s.markup="autolink",s.info="auto"}return u.pos+=o.length+2,!0}return!1}function Cn(u){return/^\s]/i.test(u)}function Dn(u){return/^<\/a\s*>/i.test(u)}function vn(u){let e=u|32;return e>=97&&e<=122}function We(u,e){if(!u.md.options.html)return!1;let t=u.posMax,r=u.pos;if(u.src.charCodeAt(r)!==60||r+2>=t)return!1;let n=u.src.charCodeAt(r+1);if(n!==33&&n!==63&&n!==47&&!vn(n))return!1;let o=u.src.slice(r).match(s0);if(!o)return!1;if(!e){let i=u.push("html_inline","",0);i.content=o[0],Cn(i.content)&&u.linkLevel++,Dn(i.content)&&u.linkLevel--}return u.pos+=o[0].length,!0}var An=/^&#((?:x[a-f0-9]{1,6}|[0-9]{1,7}));/i,Fn=/^&([a-z][a-z0-9]{1,31});/i;function Xe(u,e){let t=u.pos,r=u.posMax;if(u.src.charCodeAt(t)!==38||t+1>=r)return!1;if(u.src.charCodeAt(t+1)===35){let o=u.src.slice(t).match(An);if(o){if(!e){let i=o[1][0].toLowerCase()==="x"?parseInt(o[1].slice(1),16):parseInt(o[1],10),c=u.push("text_special","",0);c.content=Pu(i)?bu(i):bu(65533),c.markup=o[0],c.info="entity"}return u.pos+=o[0].length,!0}}else{let o=u.src.slice(t).match(Fn);if(o){let i=K(o[0]);if(i!==o[0]){if(!e){let c=u.push("text_special","",0);c.content=i,c.markup=o[0],c.info="entity"}return u.pos+=o[0].length,!0}}}return!1}function m0(u){let e={},t=u.length;if(!t)return;let r=0,n=-2,o=[];for(let i=0;ia;s-=o[s]+1){let f=u[s];if(f.marker===c.marker&&f.open&&f.end<0){let g=!1;if((f.close||c.open)&&(f.length+c.length)%3===0&&(f.length%3!==0||c.length%3!==0)&&(g=!0),!g){let h=s>0&&!u[s-1].open?o[s-1]+1:0;o[i]=i-s+h,o[s]=h,c.open=!1,f.end=i,f.close=!1,d=-1,n=-2;break}}}d!==-1&&(e[c.marker][(c.open?3:0)+(c.length||0)%3]=d)}}function Je(u){let e=u.tokens_meta,t=u.tokens_meta.length;m0(u.delimiters);for(let r=0;r0&&r++,n[e].type==="text"&&e+1=u.pos)throw new Error("inline rule didn't increment state.pos");break}}else u.pos=u.posMax;i||u.pos++,o[e]=u.pos};xu.prototype.tokenize=function(u){let e=this.ruler.getRules(""),t=e.length,r=u.posMax,n=u.md.options.maxNesting;for(;u.pos=u.pos)throw new Error("inline rule didn't increment state.pos");break}}if(i){if(u.pos>=r)break;continue}u.pending+=u.src[u.pos++]}u.pending&&u.pushPending()};xu.prototype.parse=function(u,e,t,r){let n=new this.State(u,e,t,r);this.tokenize(n);let o=this.ruler2.getRules(""),i=o.length;for(let c=0;c|$))",e.tpl_email_fuzzy="(^|"+t+'|"|\\(|'+e.src_ZCc+")("+e.src_email_name+"@"+e.tpl_host_fuzzy_strict+")",e.tpl_link_fuzzy="(^|(?![.:/\\-_@])(?:[$+<=>^`|\uFF5C]|"+e.src_ZPCc+"))((?![$+<=>^`|\uFF5C])"+e.tpl_host_port_fuzzy_strict+e.src_path+")",e.tpl_link_no_ip_fuzzy="(^|(?![.:/\\-_@])(?:[$+<=>^`|\uFF5C]|"+e.src_ZPCc+"))((?![$+<=>^`|\uFF5C])"+e.tpl_host_port_no_ip_fuzzy_strict+e.src_path+")",e}function ut(u){return Array.prototype.slice.call(arguments,1).forEach(function(t){t&&Object.keys(t).forEach(function(r){u[r]=t[r]})}),u}function Hu(u){return Object.prototype.toString.call(u)}function Sn(u){return Hu(u)==="[object String]"}function Tn(u){return Hu(u)==="[object Object]"}function Mn(u){return Hu(u)==="[object RegExp]"}function x0(u){return Hu(u)==="[object Function]"}function Ln(u){return u.replace(/[.?*+^$[\]\\(){}|-]/g,"\\$&")}var _0={fuzzyLink:!0,fuzzyEmail:!0,fuzzyIP:!1};function In(u){return Object.keys(u||{}).reduce(function(e,t){return e||_0.hasOwnProperty(t)},!1)}var Rn={"http:":{validate:function(u,e,t){let r=u.slice(e);return t.re.http||(t.re.http=new RegExp("^\\/\\/"+t.re.src_auth+t.re.src_host_port_strict+t.re.src_path,"i")),t.re.http.test(r)?r.match(t.re.http)[0].length:0}},"https:":"http:","ftp:":"http:","//":{validate:function(u,e,t){let r=u.slice(e);return t.re.no_http||(t.re.no_http=new RegExp("^"+t.re.src_auth+"(?:localhost|(?:(?:"+t.re.src_domain+")\\.)+"+t.re.src_domain_root+")"+t.re.src_port+t.re.src_host_terminator+t.re.src_path,"i")),t.re.no_http.test(r)?e>=3&&u[e-3]===":"||e>=3&&u[e-3]==="/"?0:r.match(t.re.no_http)[0].length:0}},"mailto:":{validate:function(u,e,t){let r=u.slice(e);return t.re.mailto||(t.re.mailto=new RegExp("^"+t.re.src_email_name+"@"+t.re.src_host_strict,"i")),t.re.mailto.test(r)?r.match(t.re.mailto)[0].length:0}}},qn="a[cdefgilmnoqrstuwxz]|b[abdefghijmnorstvwyz]|c[acdfghiklmnoruvwxyz]|d[ejkmoz]|e[cegrstu]|f[ijkmor]|g[abdefghilmnpqrstuwy]|h[kmnrtu]|i[delmnoqrst]|j[emop]|k[eghimnprwyz]|l[abcikrstuvy]|m[acdeghklmnopqrstuvwxyz]|n[acefgilopruz]|om|p[aefghklmnrstwy]|qa|r[eosuw]|s[abcdeghijklmnortuvxyz]|t[cdfghjklmnortvwz]|u[agksyz]|v[aceginu]|w[fs]|y[et]|z[amw]",Pn="biz|com|edu|gov|net|org|pro|web|xxx|aero|asia|coop|info|museum|name|shop|\u0440\u0444".split("|");function Bn(u){u.__index__=-1,u.__text_cache__=""}function Nn(u){return function(e,t){let r=e.slice(t);return u.test(r)?r.match(u)[0].length:0}}function k0(){return function(u,e){e.normalize(u)}}function Ou(u){let e=u.re=g0(u.__opts__),t=u.__tlds__.slice();u.onCompile(),u.__tlds_replaced__||t.push(qn),t.push(e.src_xn),e.src_tlds=t.join("|");function r(c){return c.replace("%TLDS%",e.src_tlds)}e.email_fuzzy=RegExp(r(e.tpl_email_fuzzy),"i"),e.link_fuzzy=RegExp(r(e.tpl_link_fuzzy),"i"),e.link_no_ip_fuzzy=RegExp(r(e.tpl_link_no_ip_fuzzy),"i"),e.host_fuzzy_test=RegExp(r(e.tpl_host_fuzzy_test),"i");let n=[];u.__compiled__={};function o(c,a){throw new Error('(LinkifyIt) Invalid schema "'+c+'": '+a)}Object.keys(u.__schemas__).forEach(function(c){let a=u.__schemas__[c];if(a===null)return;let s={validate:null,link:null};if(u.__compiled__[c]=s,Tn(a)){Mn(a.validate)?s.validate=Nn(a.validate):x0(a.validate)?s.validate=a.validate:o(c,a),x0(a.normalize)?s.normalize=a.normalize:a.normalize?o(c,a):s.normalize=k0();return}if(Sn(a)){n.push(c);return}o(c,a)}),n.forEach(function(c){u.__compiled__[u.__schemas__[c]]&&(u.__compiled__[c].validate=u.__compiled__[u.__schemas__[c]].validate,u.__compiled__[c].normalize=u.__compiled__[u.__schemas__[c]].normalize)}),u.__compiled__[""]={validate:null,normalize:k0()};let i=Object.keys(u.__compiled__).filter(function(c){return c.length>0&&u.__compiled__[c]}).map(Ln).join("|");u.re.schema_test=RegExp("(^|(?!_)(?:[><\uFF5C]|"+e.src_ZPCc+"))("+i+")","i"),u.re.schema_search=RegExp("(^|(?!_)(?:[><\uFF5C]|"+e.src_ZPCc+"))("+i+")","ig"),u.re.schema_at_start=RegExp("^"+u.re.schema_search.source,"i"),u.re.pretest=RegExp("("+u.re.schema_test.source+")|("+u.re.host_fuzzy_test.source+")|@","i"),Bn(u)}function zn(u,e){let t=u.__index__,r=u.__last_index__,n=u.__text_cache__.slice(t,r);this.schema=u.__schema__.toLowerCase(),this.index=t+e,this.lastIndex=r+e,this.raw=n,this.text=n,this.url=n}function et(u,e){let t=new zn(u,e);return u.__compiled__[t.schema].normalize(t,u),t}function P(u,e){if(!(this instanceof P))return new P(u,e);e||In(u)&&(e=u,u={}),this.__opts__=ut({},_0,e),this.__index__=-1,this.__last_index__=-1,this.__schema__="",this.__text_cache__="",this.__schemas__=ut({},Rn,u),this.__compiled__={},this.__tlds__=Pn,this.__tlds_replaced__=!1,this.re={},Ou(this)}P.prototype.add=function(e,t){return this.__schemas__[e]=t,Ou(this),this};P.prototype.set=function(e){return this.__opts__=ut(this.__opts__,e),this};P.prototype.test=function(e){if(this.__text_cache__=e,this.__index__=-1,!e.length)return!1;let t,r,n,o,i,c,a,s,d;if(this.re.schema_test.test(e)){for(a=this.re.schema_search,a.lastIndex=0;(t=a.exec(e))!==null;)if(o=this.testSchemaAt(e,t[2],a.lastIndex),o){this.__schema__=t[2],this.__index__=t.index+t[1].length,this.__last_index__=t.index+t[0].length+o;break}}return this.__opts__.fuzzyLink&&this.__compiled__["http:"]&&(s=e.search(this.re.host_fuzzy_test),s>=0&&(this.__index__<0||s=0&&(n=e.match(this.re.email_fuzzy))!==null&&(i=n.index+n[1].length,c=n.index+n[0].length,(this.__index__<0||ithis.__last_index__)&&(this.__schema__="mailto:",this.__index__=i,this.__last_index__=c))),this.__index__>=0};P.prototype.pretest=function(e){return this.re.pretest.test(e)};P.prototype.testSchemaAt=function(e,t,r){return this.__compiled__[t.toLowerCase()]?this.__compiled__[t.toLowerCase()].validate(e,r,this):0};P.prototype.match=function(e){let t=[],r=0;this.__index__>=0&&this.__text_cache__===e&&(t.push(et(this,r)),r=this.__last_index__);let n=r?e.slice(r):e;for(;this.test(n);)t.push(et(this,r)),n=n.slice(this.__last_index__),r+=this.__last_index__;return t.length?t:null};P.prototype.matchAtStart=function(e){if(this.__text_cache__=e,this.__index__=-1,!e.length)return null;let t=this.re.schema_at_start.exec(e);if(!t)return null;let r=this.testSchemaAt(e,t[2],t[0].length);return r?(this.__schema__=t[2],this.__index__=t.index+t[1].length,this.__last_index__=t.index+t[0].length+r,et(this,0)):null};P.prototype.tlds=function(e,t){return e=Array.isArray(e)?e:[e],t?(this.__tlds__=this.__tlds__.concat(e).sort().filter(function(r,n,o){return r!==o[n-1]}).reverse(),Ou(this),this):(this.__tlds__=e.slice(),this.__tlds_replaced__=!0,Ou(this),this)};P.prototype.normalize=function(e){e.schema||(e.url="http://"+e.url),e.schema==="mailto:"&&!/^mailto:/i.test(e.url)&&(e.url="mailto:"+e.url)};P.prototype.onCompile=function(){};var y0=P;var On=/^xn--/,Hn=/[^\0-\x7F]/,$n=/[\x2E\u3002\uFF0E\uFF61]/g,Un={overflow:"Overflow: input needs wider integers to process","not-basic":"Illegal input >= 0x80 (not a basic code point)","invalid-input":"Invalid input"},tt=35,U=Math.floor,rt=String.fromCharCode;function Y(u){throw new RangeError(Un[u])}function jn(u,e){let t=[],r=u.length;for(;r--;)t[r]=e(u[r]);return t}function w0(u,e){let t=u.split("@"),r="";t.length>1&&(r=t[0]+"@",u=t[1]),u=u.replace($n,".");let n=u.split("."),o=jn(n,e).join(".");return r+o}function C0(u){let e=[],t=0,r=u.length;for(;t=55296&&n<=56319&&tString.fromCodePoint(...u),Zn=function(u){return u>=48&&u<58?26+(u-48):u>=65&&u<91?u-65:u>=97&&u<123?u-97:36},E0=function(u,e){return u+22+75*(u<26)-((e!=0)<<5)},D0=function(u,e,t){let r=0;for(u=t?U(u/700):u>>1,u+=U(u/e);u>tt*26>>1;r+=36)u=U(u/tt);return U(r+(tt+1)*u/(u+38))},v0=function(u){let e=[],t=u.length,r=0,n=128,o=72,i=u.lastIndexOf("-");i<0&&(i=0);for(let c=0;c=128&&Y("not-basic"),e.push(u.charCodeAt(c));for(let c=i>0?i+1:0;c=t&&Y("invalid-input");let g=Zn(u.charCodeAt(c++));g>=36&&Y("invalid-input"),g>U((2147483647-r)/d)&&Y("overflow"),r+=g*d;let h=f<=o?1:f>=o+26?26:f-o;if(gU(2147483647/l)&&Y("overflow"),d*=l}let s=e.length+1;o=D0(r-a,s,a==0),U(r/s)>2147483647-n&&Y("overflow"),n+=U(r/s),r%=s,e.splice(r++,0,n)}return String.fromCodePoint(...e)},A0=function(u){let e=[];u=C0(u);let t=u.length,r=128,n=0,o=72;for(let a of u)a<128&&e.push(rt(a));let i=e.length,c=i;for(i&&e.push("-");c=r&&dU((2147483647-n)/s)&&Y("overflow"),n+=(a-r)*s,r=a;for(let d of u)if(d2147483647&&Y("overflow"),d===r){let f=n;for(let g=36;;g+=36){let h=g<=o?1:g>=o+26?26:g-o;if(f=0))try{e.hostname=nt.toASCII(e.hostname)}catch{}return vu(cu(e))}function eo(u){let e=mu(u,!0);if(e.hostname&&(!e.protocol||M0.indexOf(e.protocol)>=0))try{e.hostname=nt.toUnicode(e.hostname)}catch{}return hu(cu(e),hu.defaultChars+"%")}function B(u,e){if(!(this instanceof B))return new B(u,e);e||qu(u)||(e=u||{},u="default"),this.inline=new b0,this.block=new d0,this.core=new e0,this.renderer=new Xt,this.linkify=new y0,this.validateLink=Qn,this.normalizeLink=uo,this.normalizeLinkText=eo,this.utils=de,this.helpers=su({},me),this.options={},this.configure(u),e&&this.set(e)}B.prototype.set=function(u){return su(this.options,u),this};B.prototype.configure=function(u){let e=this;if(qu(u)){let t=u;if(u=Jn[t],!u)throw new Error('Wrong `markdown-it` preset "'+t+'", check name')}if(!u)throw new Error("Wrong `markdown-it` preset, can't be empty");return u.options&&e.set(u.options),u.components&&Object.keys(u.components).forEach(function(t){u.components[t].rules&&e[t].ruler.enableOnly(u.components[t].rules),u.components[t].rules2&&e[t].ruler2.enableOnly(u.components[t].rules2)}),this};B.prototype.enable=function(u,e){let t=[];Array.isArray(u)||(u=[u]),["core","block","inline"].forEach(function(n){t=t.concat(this[n].ruler.enable(u,!0))},this),t=t.concat(this.inline.ruler2.enable(u,!0));let r=u.filter(function(n){return t.indexOf(n)<0});if(r.length&&!e)throw new Error("MarkdownIt. Failed to enable unknown rule(s): "+r);return this};B.prototype.disable=function(u,e){let t=[];Array.isArray(u)||(u=[u]),["core","block","inline"].forEach(function(n){t=t.concat(this[n].ruler.disable(u,!0))},this),t=t.concat(this.inline.ruler2.disable(u,!0));let r=u.filter(function(n){return t.indexOf(n)<0});if(r.length&&!e)throw new Error("MarkdownIt. Failed to disable unknown rule(s): "+r);return this};B.prototype.use=function(u){let e=[this].concat(Array.prototype.slice.call(arguments,1));return u.apply(u,e),this};B.prototype.parse=function(u,e){if(typeof u!="string")throw new Error("Input data should be a String");let t=new this.core.State(u,this,e);return this.core.process(t),t.tokens};B.prototype.render=function(u,e){return e=e||{},this.renderer.render(this.parse(u,e),this.options,e)};B.prototype.parseInline=function(u,e){let t=new this.core.State(u,this,e);return t.inlineMode=!0,this.core.process(t),t.tokens};B.prototype.renderInline=function(u,e){return e=e||{},this.renderer.render(this.parseInline(u,e),this.options,e)};var ot=B;var B0=or(P0());var $u=class{constructor(){v(this,"renderer");this.renderer=new ot({html:!0}),this.renderer.use(B0.default,{label:!0})}getRenderer(){return this.renderer}render(e){return this.renderer.render(e)}};function ho(u,e){return document.createElement(u,e)}function mo(u,e,t){return document.createElementNS(u,e,t)}function bo(){return ou(document.createDocumentFragment())}function go(u){return document.createTextNode(u)}function xo(u){return document.createComment(u)}function ko(u,e,t){if(W(u)){let r=u;for(;r&&W(r);)r=ou(r).parent;u=r??u}W(e)&&(e=ou(e,u)),t&&W(t)&&(t=ou(t).firstChildNode),u.insertBefore(e,t)}function _o(u,e){u.removeChild(e)}function yo(u,e){W(e)&&(e=ou(e,u)),u.appendChild(e)}function N0(u){if(W(u)){for(;u&&W(u);)u=ou(u).parent;return u??null}return u.parentNode}function Eo(u){var e;if(W(u)){let t=ou(u),r=N0(t);if(r&&t.lastChildNode){let n=Array.from(r.childNodes),o=n.indexOf(t.lastChildNode);return(e=n[o+1])!==null&&e!==void 0?e:null}return null}return u.nextSibling}function wo(u){return u.tagName}function Co(u,e){u.textContent=e}function Do(u){return u.textContent}function vo(u){return u.nodeType===1}function Ao(u){return u.nodeType===3}function Fo(u){return u.nodeType===8}function W(u){return u.nodeType===11}function ou(u,e){var t,r,n;let o=u;return(t=o.parent)!==null&&t!==void 0||(o.parent=e??null),(r=o.firstChildNode)!==null&&r!==void 0||(o.firstChildNode=u.firstChild),(n=o.lastChildNode)!==null&&n!==void 0||(o.lastChildNode=u.lastChild),o}var Uu={createElement:ho,createElementNS:mo,createTextNode:go,createDocumentFragment:bo,createComment:xo,insertBefore:ko,removeChild:_o,appendChild:yo,parentNode:N0,nextSibling:Eo,tagName:wo,setTextContent:Co,getTextContent:Do,isElement:vo,isText:Ao,isComment:Fo,isDocumentFragment:W};function X(u,e,t,r,n){let o=e===void 0?void 0:e.key;return{sel:u,data:e,children:t,text:r,elm:n,key:o}}var ct=Array.isArray;function z0(u){return typeof u=="string"||typeof u=="number"||u instanceof String||u instanceof Number}var at=X("",{},[],void 0,void 0);function ku(u,e){var t,r;let n=u.key===e.key,o=((t=u.data)===null||t===void 0?void 0:t.is)===((r=e.data)===null||r===void 0?void 0:r.is),i=u.sel===e.sel,c=!u.sel&&u.sel===e.sel?typeof u.text==typeof e.text:!0;return i&&n&&o&&c}function To(){throw new Error("The document fragment is not supported on this platform.")}function Mo(u,e){return u.isElement(e)}function Lo(u,e){return u.isDocumentFragment(e)}function Io(u,e,t){var r;let n={};for(let o=e;o<=t;++o){let i=(r=u[o])===null||r===void 0?void 0:r.key;i!==void 0&&(n[i]=o)}return n}var Ro=["create","update","remove","destroy","pre","post"];function st(u,e,t){let r={create:[],update:[],remove:[],destroy:[],pre:[],post:[]},n=e!==void 0?e:Uu;for(let l of Ro)for(let p of u){let b=p[l];b!==void 0&&r[l].push(b)}function o(l){let p=l.id?"#"+l.id:"",b=l.getAttribute("class"),k=b?"."+b.split(" ").join("."):"";return X(n.tagName(l).toLowerCase()+p+k,{},[],void 0,l)}function i(l){return X(void 0,{},[],void 0,l)}function c(l,p){return function(){if(--p===0){let k=n.parentNode(l);k!==null&&n.removeChild(k,l)}}}function a(l,p){var b,k,x,_,y;let m,E=l.data,w=E?.hook;(b=w?.init)===null||b===void 0||b.call(w,l);let C=l.children,D=l.sel;if(D==="!")(k=l.text)!==null&&k!==void 0||(l.text=""),l.elm=n.createComment(l.text);else if(D==="")l.elm=n.createTextNode(l.text);else if(D!==void 0){let F=D.indexOf("#"),S=D.indexOf(".",F),I=F>0?F:D.length,q=S>0?S:D.length,pu=F!==-1||S!==-1?D.slice(0,Math.min(I,q)):D,j=E?.ns,Q=j===void 0?n.createElement(pu,E):n.createElementNS(j,pu,E);for(l.elm=Q,I0&&Q.setAttribute("class",D.slice(q+1).replace(/\./g," ")),m=0;mt.toUpperCase())}function _u(u,e){var t;let r=e!==void 0?e:Uu,n;if(r.isElement(u)){let o=u.id?"#"+u.id:"",i=(t=u.getAttribute("class"))===null||t===void 0?void 0:t.match(/[^\t\r\n\f ]+/g),c=i?"."+i.join("."):"",a=r.tagName(u).toLowerCase()+o+c,s={},d={},f={},g=[],h,l,p,b=u.attributes,k=u.childNodes;for(l=0,p=b.length;l0&&(f.attrs=s),Object.keys(d).length>0&&(f.dataset=d),a.startsWith("svg")&&(a.length===3||a[3]==="."||a[3]==="#")&<(f,g,a),X(a,f,g,void 0,u)}else return r.isText(u)?(n=r.getTextContent(u),X(void 0,void 0,void 0,n,u)):r.isComment(u)?(n=r.getTextContent(u),X("!",{},[],n,u)):X("",{},[],void 0,u)}var Po="http://www.w3.org/1999/xlink",Bo="http://www.w3.org/2000/xmlns/",No="http://www.w3.org/XML/1998/namespace";function O0(u,e){let t,r=e.elm,n=u.data.attrs,o=e.data.attrs;if(!(!n&&!o)&&n!==o){n=n||{},o=o||{};for(t in o){let i=o[t];n[t]!==i&&(i===!0?r.setAttribute(t,""):i===!1?r.removeAttribute(t):t.charCodeAt(0)!==120?r.setAttribute(t,i):t.charCodeAt(3)===58?r.setAttributeNS(No,t,i):t.charCodeAt(5)===58?t.charCodeAt(1)===109?r.setAttributeNS(Bo,t,i):r.setAttributeNS(Po,t,i):r.setAttribute(t,i))}for(t in n)t in o||r.removeAttribute(t)}}var dt={create:O0,update:O0};var H0=/[A-Z]/g;function $0(u,e){let t=e.elm,r=u.data.dataset,n=e.data.dataset,o;if(!r&&!n||r===n)return;r=r||{},n=n||{};let i=t.dataset;for(o in r)o in n||(i?o in i&&delete i[o]:t.removeAttribute("data-"+o.replace(H0,"-$&").toLowerCase()));for(o in n)r[o]!==n[o]&&(i?i[o]=n[o]:t.setAttribute("data-"+o.replace(H0,"-$&").toLowerCase(),n[o]))}var ft={create:$0,update:$0};var ju;function zo(){return ju||(ju=st([dt,ft]),ju)}function U0(u,e){let t=document.createElement("div");t.innerHTML=e,zo()(_u(u),_u(t))}var Vu=class{constructor(e){v(this,"editor");v(this,"container");v(this,"doc",null);v(this,"lastDisplayClick",0);this.editor=e,this.container=e.config.displayEl,this.container.contentDocument?.readyState==="complete"?this.onLoad():this.container.addEventListener("load",this.onLoad.bind(this)),this.updateVisibility(!!e.settings.get("showPreview")),e.settings.onChange("showPreview",t=>this.updateVisibility(!!t))}updateVisibility(e){let t=this.container.closest(".markdown-editor-wrap");t.style.display=e?"":"none"}onLoad(){this.doc=this.container.contentDocument,this.doc&&(this.loadStylesIntoDisplay(),this.doc.body.className="page-content",this.doc.addEventListener("click",this.onDisplayClick.bind(this)))}onDisplayClick(e){let t=Date.now()-this.lastDisplayClick<300,r=e.target.closest("a");if(r!==null){e.preventDefault();let o=r.getAttribute("href");o&&window.open(o);return}let n=e.target.closest("[drawio-diagram]");if(n!==null&&t){this.editor.actions.editDrawing(n);return}this.lastDisplayClick=Date.now()}loadStylesIntoDisplay(){if(!this.doc)return;this.doc.documentElement.classList.add("markdown-editor-display"),document.documentElement.classList.contains("dark-mode")&&(this.doc.documentElement.style.backgroundColor="#222",this.doc.documentElement.classList.add("dark-mode")),this.doc.head.innerHTML="";let e=document.head.querySelectorAll("style,link[rel=stylesheet]");for(let t of e){let r=t.cloneNode(!0);this.doc.head.appendChild(r)}}patchWithHtml(e){if(!this.doc)return;let{body:t}=this.doc;if(t.children.length===0){let n=document.createElement("div");this.doc.body.append(n)}let r=t.children[0];U0(r,e)}scrollToIndex(e){let t=this.doc?.body?.children[0]?.children;if(!t||t.length<=e)return;(e===-1?t[t.length-1]:t[e]).scrollIntoView({block:"start",inline:"nearest",behavior:"smooth"})}};function Zu(u){return new Promise((e,t)=>{u.oncomplete=u.onsuccess=()=>e(u.result),u.onabort=u.onerror=()=>t(u.error)})}function Oo(u,e){let t,r=()=>{if(t)return t;let n=indexedDB.open(u);return n.onupgradeneeded=()=>n.result.createObjectStore(e),t=Zu(n),t.then(o=>{o.onclose=()=>t=void 0},()=>{}),t};return(n,o)=>r().then(i=>o(i.transaction(e,n).objectStore(e)))}var pt;function ht(){return pt||(pt=Oo("keyval-store","keyval")),pt}function mt(u,e=ht()){return e("readonly",t=>Zu(t.get(u)))}function bt(u,e,t=ht()){return t("readwrite",r=>(r.put(e,u),Zu(r.transaction)))}function gt(u,e=ht()){return e("readwrite",t=>(t.delete(u),Zu(t.transaction)))}var Gu=class extends Error{constructor(t,r){super(t.statusText);v(this,"data");v(this,"headers");v(this,"original");v(this,"redirected");v(this,"status");v(this,"statusText");v(this,"url");this.data=r,this.headers=t.headers,this.redirected=t.redirected,this.status=t.status,this.statusText=t.statusText,this.url=t.url,this.original=t}};var z=null,_t,Wu,xt,kt="last-drawing-save";function yt(u){z?.contentWindow?.postMessage(JSON.stringify(u),_t)}function $o(u){bt(kt,u.data),xt&&xt(u.data).then(()=>{gt(kt)})}function Uo(u){yt({action:"export",format:"xmlpng",xml:u.xml,spin:"Updating drawing"})}function jo(){Wu&&Wu().then(u=>{yt({action:"load",autosave:1,xml:u})})}function Vo(){let u={};z&&(window.$events.emitPublic(z,"editor-drawio::configure",{config:u}),yt({action:"configure",config:u}))}function j0(){window.removeEventListener("message",V0),z&&document.body.removeChild(z)}function V0(u){if(!u.data||u.data.length<1||u.origin!==_t)return;let e=JSON.parse(u.data);e.event==="init"?jo():e.event==="exit"?j0():e.event==="save"?Uo(e):e.event==="export"?$o(e):e.event==="configure"&&Vo()}async function Zo(){let u=await mt(kt),e=document.getElementById("unsaved-drawing-dialog");e||console.error("Missing expected unsaved-drawing dialog"),u&&e&&await window.$components.firstOnElement(e,"confirm-dialog").show()&&(Wu=async()=>u)}async function Et(u,e,t){Wu=e,xt=t,await Zo(),z=document.createElement("iframe"),z.setAttribute("frameborder","0"),window.addEventListener("message",V0),z.setAttribute("src",u),z.setAttribute("class","fullscreen"),z.style.backgroundColor="#FFFFFF",document.body.appendChild(z),_t=new URL(u).origin}function Xu(){j0()}async function Z0(u){try{return`data:image/png;base64,${(await window.$http.get(window.baseUrl(`/images/drawio/base64/${u}`))).data.content}`}catch(e){throw e instanceof Gu&&window.$events.showResponseError(e),Xu(),e}}var T,wt,iu,Ct,Dt,Ju,Ku=class{constructor(e){St(this,T);v(this,"editor");v(this,"lastContent",{html:"",markdown:""});this.editor=e}updateAndRender(){let e=this.editor.input.getText();this.editor.config.inputEl.value=e;let t=this.editor.markdown.render(e);window.$events.emit("editor-html-change",""),window.$events.emit("editor-markdown-change",""),this.lastContent.html=t,this.lastContent.markdown=e,this.editor.display.patchWithHtml(t)}getContent(){return this.lastContent}showImageInsert(){window.$components.first("image-manager").show(t=>{let r=t.thumbs?.display||t.url,o=`[![${this.editor.input.getSelectionText()||t.name}](${r})](${t.url})`;R(this,T,iu).call(this,o,o.length)},"gallery")}insertImage(){let e=`![${this.editor.input.getSelectionText()}](http://)`;R(this,T,iu).call(this,e,e.length-1)}insertLink(){let e=this.editor.input.getSelectionText(),t=`[${e}]()`,r=e===""?-3:-1;R(this,T,iu).call(this,t,t.length+r)}showImageManager(){let e=this.editor.input.getSelection();window.$components.first("image-manager").show(r=>{R(this,T,wt).call(this,r,e)},"drawio")}showLinkSelector(){let e=this.editor.input.getSelection(),t=window.$components.first("entity-selector-popup"),r=this.editor.input.getSelectionText(e);t.show(n=>{let i=`[${r||n.name}](${n.link})`;R(this,T,iu).call(this,i,i.length,e)},{initialValue:r,searchEndpoint:"/search/entity-selector",entityTypes:"page,book,chapter,bookshelf",entityPermission:"view"})}startDrawing(){let e=this.editor.config.drawioUrl;if(!e)return;let t=this.editor.input.getSelection();Et(e,()=>Promise.resolve(""),async r=>{let n={image:r,uploaded_to:Number(this.editor.config.pageId)};try{let o=await window.$http.post("/images/drawio",n);R(this,T,wt).call(this,o.data,t),Xu()}catch(o){throw this.handleDrawingUploadError(o),new Error(`Failed to save image with error: ${o}`)}})}editDrawing(e){let{drawioUrl:t}=this.editor.config;if(!t)return;let r=this.editor.input.getSelection(),n=e.getAttribute("drawio-diagram")||"";n&&Et(t,()=>Z0(n),async o=>{let i={image:o,uploaded_to:Number(this.editor.config.pageId)};try{let a=(await window.$http.post("/images/drawio",i)).data,s=`
    `,d=this.editor.input.getText().split(` +`).map(f=>f.indexOf(`drawio-diagram="${n}"`)!==-1?s:f).join(` +`);this.editor.input.setText(d,r),Xu()}catch(c){throw this.handleDrawingUploadError(c),new Error(`Failed to save image with error: ${c}`)}})}handleDrawingUploadError(e){e.status===413?window.$events.emit("error",this.editor.config.text.serverUploadLimit):window.$events.emit("error",this.editor.config.text.imageUploadError),console.error(e)}fullScreen(){let{container:e}=this.editor.config,t=e.classList.contains("fullscreen");e.classList.toggle("fullscreen",!t),document.body.classList.toggle("markdown-fullscreen",!t)}scrollToText(e){if(!e)return;let t=this.editor.input.searchForLineContaining(e);t&&(this.editor.input.setSelection(t,!0),this.editor.input.focus())}focus(){this.editor.input.focus()}focusOnHeader(e){let t=/^\s{0,3}(#+|])/i,r=/^\s{0,3}```/i,n=-1,o=!1;this.editor.input.forEachLine((i,c,a)=>{if(t.test(c)&&!o){if(n++,n===e)return this.editor.input.setSelection({from:a.to,to:a.to},!0),!1}else r.test(c)&&(o=!o)}),this.focus()}insertContent(e){R(this,T,iu).call(this,e,e.length)}prependContent(e){e=R(this,T,Ct).call(this,e);let r=this.editor.input.getSelection().from+e.length+1;this.editor.input.spliceText(0,0,`${e} +`,{from:r}),this.editor.input.focus()}appendContent(e){e=R(this,T,Ct).call(this,e),this.editor.input.appendText(e),this.editor.input.focus()}replaceContent(e){this.editor.input.setText(e)}replaceLineStart(e){let t=this.editor.input.getSelection(),r=this.editor.input.getLineRangeFromPosition(t.from),n=this.editor.input.getSelectionText(r),o=n.split(" ")[0];if(o===e){let s=n.replace(`${e} `,""),d=t.from+(s.length-n.length);this.editor.input.spliceText(r.from,r.to,s,{from:d});return}let i=n;/^[#>`]/.test(o)?i=n.replace(o,e).trim():e!==""&&(i=`${e} ${n}`);let a=t.from+(i.length-n.length);this.editor.input.spliceText(r.from,r.to,i,{from:a})}wrapSelection(e,t){let r=this.editor.input.getSelection(),n=this.editor.input.getSelectionText(r);if(!n){R(this,T,Ju).call(this,e,t);return}let o,i={from:r.from,to:r.to};n.startsWith(e)&&n.endsWith(t)?(o=n.slice(e.length,n.length-t.length),i.to=r.to-(e.length+t.length)):(o=`${e}${n}${t}`,i.to=r.to+(e.length+t.length)),this.editor.input.spliceText(r.from,r.to,o,i)}replaceLineStartForOrderedList(){let e=this.editor.input.getSelection(),t=this.editor.input.getLineRangeFromPosition(e.from),r=this.editor.input.getLineRangeFromPosition(t.from-1),o=this.editor.input.getSelectionText(r).match(/^(\s*)(\d)([).])\s/)||[],i=(Number(o[2])||0)+1,c=o[1]||"",a=o[3]||".",s=`${c}${i}${a}`;return this.replaceLineStart(s)}cycleCalloutTypeAtSelection(){let e=this.editor.input.getSelection(),t=this.editor.input.getLineRangeFromPosition(e.from),r=this.editor.input.getSelectionText(t),n=["info","success","warning","danger"],o=n.join("|"),c=new RegExp(`class="((${o})\\s+callout|callout\\s+(${o}))"`,"i").exec(r),a=(c?c[2]||c[3]:"").toLowerCase();if(a===n[n.length-1])R(this,T,Ju).call(this,`

    `,"

    ");else if(a==="")R(this,T,Ju).call(this,'

    ',"

    ");else if(c){let s=n.indexOf(a)+1,d=n[s],f=r.replace(c[0],c[0].replace(a,d)),g=f.length-r.length,h=Math.min(e.from,e.to),l=Math.max(e.from,e.to);this.editor.input.spliceText(t.from,t.to,f,{from:h+g,to:l+g})}}syncDisplayPosition(e){let t=e.target;if(Math.abs(t.scrollHeight-t.clientHeight-t.scrollTop)<1){this.editor.display.scrollToIndex(-1);return}let n=this.editor.input.getTextAboveView(),c=new DOMParser().parseFromString(this.editor.markdown.render(n),"text/html").documentElement.querySelectorAll("body > *");this.editor.display.scrollToIndex(c.length)}async insertTemplate(e,t){let r=this.editor.input.eventToPosition(t).from,n=(await window.$http.get(`/templates/${e}`)).data,o=n.markdown||n.html;this.editor.input.spliceText(r,r,o,{from:r})}insertClipboardImages(e,t){let r=this.editor.input.eventToPosition(t).from;for(let n of e)this.uploadImage(n,r)}async uploadImage(e,t=null){if(e===null||e.type.indexOf("image")!==0)return;let r="png";if(t===null&&(t=this.editor.input.getSelection().from),e.name){let s=e.name.match(/\.(.+)$/);s&&s.length>1&&(r=s[1])}let n=`image-${Math.random().toString(16).slice(2)}`,i=`![](${window.baseUrl(`/loading.gif#upload${n}`)})`;this.editor.input.spliceText(t,t,i,{from:t});let c=`image-${Date.now()}.${r}`,a=new FormData;a.append("file",e,c),a.append("uploaded_to",this.editor.config.pageId);try{let s=(await window.$http.post("/images/gallery",a)).data,d=`[![](${s.thumbs.display})](${s.url})`;R(this,T,Dt).call(this,i,d)}catch(s){window.$events.error(s?.data?.message||this.editor.config.text.imageUploadError),R(this,T,Dt).call(this,i,""),console.error(s)}}};T=new WeakSet,wt=function(e,t){let r=`
    `;R(this,T,iu).call(this,r,r.length,t)},iu=function(e,t=0,r=null){r=r||this.editor.input.getSelection();let n=r.from+t;this.editor.input.spliceText(r.from,r.to,e,{from:n,to:n}),this.editor.input.focus()},Ct=function(e){return e.replace(/\r\n|\r/g,` +`)},Dt=function(e,t){let r=this.editor.input.getText().replace(e,t);this.editor.input.setText(r)},Ju=function(e,t){let r=this.editor.input.getSelection(),n=this.editor.input.getLineRangeFromPosition(r.from),o=this.editor.input.getSelectionText(n),i,c;o.startsWith(e)&&o.endsWith(t)?(i=o.slice(e.length,o.length-t.length),c=-e.length):(i=`${e}${o}${t}`,c=e.length),this.editor.input.spliceText(n.from,n.to,i,{from:r.from+c})};var Yu=class{constructor(e){v(this,"changeListeners",{});v(this,"settingMap",{scrollSync:!0,showPreview:!0,editorWidth:50,plainEditor:!1});this.loadFromLocalStorage(),this.applyToInputs(e),this.listenToInputChanges(e)}applyToInputs(e){for(let t of e){let r=t.getAttribute("name")?.replace("md-","");if(r&&r in this.settingMap){let n=this.settingMap[r];typeof n=="boolean"?t.checked=n:t.value=n.toString()}}}listenToInputChanges(e){for(let t of e)t.addEventListener("change",()=>{let r=t.getAttribute("name")?.replace("md-","");if(r&&r in this.settingMap){let n=t.type==="checkbox"?t.checked:Number(t.value);this.set(r,n)}})}loadFromLocalStorage(){let e=window.localStorage.getItem("md-editor-settings");if(e)try{let t=JSON.parse(e);for(let[r,n]of Object.entries(t))n!=null&&r in this.settingMap&&(this.settingMap[r]=n)}catch(t){console.warn("Failed to parse settings from localStorage:",t)}}set(e,t){this.settingMap[e]=t,window.localStorage.setItem("md-editor-settings",JSON.stringify(this.settingMap));let r=this.changeListeners[e]||[];for(let n of r)n(t)}get(e){return this.settingMap[e]??null}onChange(e,t){let r=this.changeListeners[e]||[];r.push(t),this.changeListeners[e]=r}};function Qu({html:u,markdown:e}){return e||u}function G0(u){window.$events.listen("editor::replace",e=>{let t=Qu(e);u.actions.replaceContent(t)}),window.$events.listen("editor::append",e=>{let t=Qu(e);u.actions.appendContent(t)}),window.$events.listen("editor::prepend",e=>{let t=Qu(e);u.actions.prependContent(t)}),window.$events.listen("editor::insert",e=>{let t=Qu(e);u.actions.insertContent(t)}),window.$events.listen("editor::focus",()=>{u.actions.focus()}),window.$events.listen("editor::focus-heading",({index:e})=>{u.actions.focusOnHeader(e)})}function Wo(u){let e=[],t=r=>()=>(r(),!0);for(let[r,n]of Object.entries(u))e.push({key:r,run:t(n),preventDefault:!0});return e}async function W0(u,e,t,r){let n=await window.importVersioned("code");function o(c){c.docChanged&&r()}let i=n.markdownEditor(u,o,t,Wo(e));return window.mdEditorView=i,i}var ue=class{constructor(e){v(this,"cm");this.cm=e}teardown(){this.cm.destroy()}focus(){this.cm.hasFocus||this.cm.focus()}getSelection(){return this.cm.state.selection.main}getSelectionText(e){return e=e||this.getSelection(),this.cm.state.sliceDoc(e.from,e.to)}setSelection(e,t=!1){this.cm.dispatch({selection:{anchor:e.from,head:e.to},scrollIntoView:t})}getText(){return this.cm.state.doc.toString()}getTextAboveView(){let e=this.cm.lineBlockAtHeight(this.cm.scrollDOM.scrollTop);return this.cm.state.sliceDoc(0,e.from)}setText(e,t){t=t||this.getSelection();let r=this.cm.state.toText(e),n=Math.min(t.from,r.length),o=this.cm.scrollDOM.scrollTop;this.dispatchChange(0,this.cm.state.doc.length,e,n),this.focus(),window.requestAnimationFrame(()=>{this.cm.scrollDOM.scrollTop=o})}spliceText(e,t,r,n=null){let o=n?.from===n?.to?null:n?.to;this.dispatchChange(e,t,r,n?.from,o)}appendText(e){let t=this.cm.state.doc.length;this.dispatchChange(t,t,` +${e}`)}getLineText(e=-1){let t=e>-1?e:this.getSelection().from;return this.cm.state.doc.lineAt(t).text}eventToPosition(e){let t=this.cm.posAtCoords({x:e.screenX,y:e.screenY},!1);return{from:t,to:t}}getLineRangeFromPosition(e){let t=this.cm.state.doc.lineAt(e);return{from:t.from,to:t.to}}searchForLineContaining(e){let t=this.cm.state.doc,r=1,n=-1;for(let i of t.iterLines()){if(i.includes(e)){n=r;break}r+=1}if(n===-1)return null;let o=t.line(n);return{from:o.from,to:o.to}}forEachLine(e){let t=this.cm.state.doc,r=0;for(let n of t.iterLines()){r++;let o=t.line(r);if(e(r,n,{from:o.from,to:o.to})===!1)break}}dispatchChange(e,t=null,r=null,n=null,o=null){let i={from:e};t&&(i.to=t),r&&(i.insert=r);let c={changes:i};n&&(c.selection={anchor:n},o&&(c.selection.head=o)),this.cm.dispatch(c)}};function ee(u,e,t){let r=null;return function(...o){let i=this,c=function(){r=null,t||u.apply(i,o)},a=t&&!r;r&&clearTimeout(r),r=window.setTimeout(c,e),a&&u.apply(i,o)}}var vt=class{constructor(){v(this,"onChangeDebounced");v(this,"stack",[]);v(this,"pointer",-1);v(this,"lastActionTime",0);this.onChangeDebounced=ee(this.onChange,1e3,!1)}undo(){return this.pointer<1?null:(this.lastActionTime=Date.now(),this.pointer-=1,this.stack[this.pointer])}redo(){return this.pointer===this.stack.length-1?null:(this.lastActionTime=Date.now(),this.pointer++,this.stack[this.pointer])}push(e){Date.now()-this.lastActionTime<100||this.onChangeDebounced(e)}onChange(e){this.pointer!==this.stack.length-1&&(this.stack=this.stack.slice(0,this.pointer)),this.stack.push(e()),this.stack.length>50&&(this.stack=this.stack.slice(this.stack.length-50)),this.pointer=this.stack.length-1}},te=class{constructor(e,t,r,n){v(this,"input");v(this,"shortcuts");v(this,"events");v(this,"onChange");v(this,"eventController",new AbortController);v(this,"undoStack",new vt);v(this,"textSizeCache",null);this.input=e,this.shortcuts=t,this.events=r,this.onChange=n,this.onKeyDown=this.onKeyDown.bind(this),this.configureLocalShortcuts(),this.configureListeners(),this.input.style.removeProperty("display"),this.undoStack.push(()=>({content:this.getText(),selection:this.getSelection()}))}teardown(){this.eventController.abort("teardown")}configureLocalShortcuts(){this.shortcuts["Mod-z"]=()=>{let e=this.undoStack.undo();e&&(this.setText(e.content),this.setSelection(e.selection,!1))},this.shortcuts["Mod-y"]=()=>{let e=this.undoStack.redo();e&&(this.setText(e.content),this.setSelection(e.selection,!1))}}configureListeners(){this.input.addEventListener("keydown",this.onKeyDown,{signal:this.eventController.signal});for(let[e,t]of Object.entries(this.events))this.input.addEventListener(e,t,{signal:this.eventController.signal});this.input.addEventListener("input",()=>{this.onChange(),this.undoStack.push(()=>({content:this.input.value,selection:this.getSelection()}))},{signal:this.eventController.signal})}onKeyDown(e){let t=navigator.platform.startsWith("Mac")||navigator.platform==="iPhone",r=e.key.length>1?e.key:e.key.toLowerCase(),o=[e.shiftKey?"Shift":null,t&&e.metaKey?"Mod":null,!t&&e.ctrlKey?"Mod":null,r].filter(Boolean).join("-");this.shortcuts[o]&&(e.preventDefault(),this.shortcuts[o]())}appendText(e){this.input.value+=` +${e}`,this.input.dispatchEvent(new Event("input"))}eventToPosition(e){let t=this.mouseEventToTextRelativeCoords(e);return this.inputPositionToSelection(t.x,t.y)}focus(){this.input.focus()}getLineRangeFromPosition(e){let t=this.getText().split(` +`),r=0;for(let n=0;n-1?this.getLineRangeFromPosition(t):null}forEachLine(e){let t=this.getText().split(` +`),r=0;for(let n=0;nt){let g=Math.floor(e/r.x),h=Math.min(c+s+g,c+a.length);return{from:h,to:h}}s+=n}c+=a.length+1}return this.getSelection()}};function X0(u){let e={};return e["Shift-Mod-i"]=()=>u.actions.insertImage(),e["Mod-s"]=()=>window.$events.emit("editor-save-draft"),e["Mod-Enter"]=()=>window.$events.emit("editor-save-page"),e["Shift-Mod-k"]=()=>u.actions.showLinkSelector(),e["Mod-k"]=()=>u.actions.insertLink(),e["Mod-1"]=()=>u.actions.replaceLineStart("##"),e["Mod-2"]=()=>u.actions.replaceLineStart("###"),e["Mod-3"]=()=>u.actions.replaceLineStart("####"),e["Mod-4"]=()=>u.actions.replaceLineStart("#####"),e["Mod-5"]=()=>u.actions.replaceLineStart(""),e["Mod-d"]=()=>u.actions.replaceLineStart(""),e["Mod-6"]=()=>u.actions.replaceLineStart(">"),e["Mod-q"]=()=>u.actions.replaceLineStart(">"),e["Mod-7"]=()=>u.actions.wrapSelection("\n```\n","\n```"),e["Mod-8"]=()=>u.actions.wrapSelection("`","`"),e["Shift-Mod-e"]=()=>u.actions.wrapSelection("`","`"),e["Mod-9"]=()=>u.actions.cycleCalloutTypeAtSelection(),e["Mod-p"]=()=>u.actions.replaceLineStart("-"),e["Mod-o"]=()=>u.actions.replaceLineStartForOrderedList(),e}var yu=class{constructor(e){v(this,"data");this.data=e}hasItems(){return!!this.data&&!!this.data.types&&this.data.types.length>0}containsTabularData(){let e=this.data.getData("text/rtf");return!!e&&e.includes("\\trowd")}getImages(){return this.getFiles().filter(e=>e.type.includes("image"))}getFiles(){let{files:e}=this.data;return[...e]}};function J0(u){let e=ee(u.actions.syncDisplayPosition.bind(u.actions),100,!1),t=u.settings.get("scrollSync");return u.settings.onChange("scrollSync",r=>{t=r}),{scroll:r=>t&&e(r),drop:r=>{if(!r.dataTransfer)return;let n=r.dataTransfer.getData("bookstack/template");n&&(r.preventDefault(),u.actions.insertTemplate(n,r));let i=new yu(r.dataTransfer).getImages();i.length>0&&(r.stopPropagation(),r.preventDefault(),u.actions.insertClipboardImages(i,r))},dragover:r=>{r.preventDefault()},paste:r=>{if(!r.clipboardData)return;let n=new yu(r.clipboardData);if(!n.hasItems()||n.containsTabularData())return;let o=n.getImages();for(let i of o)u.actions.uploadImage(i)}}}async function xl(u){let e={config:u,markdown:new $u,settings:new Yu(u.settingInputs)};e.actions=new Ku(e),e.display=new Vu(e);let t=J0(e),r=X0(e),n=()=>e.actions.updateAndRender(),o=async()=>{let a=await W0(u.inputEl,r,t,n);return new ue(a)},i=async()=>new te(u.inputEl,r,t,n),c=!!e.settings.get("plainEditor");return e.input=await(c?i():o()),e.settings.onChange("plainEditor",async a=>{let d=await(!!a?i():o());e.input.teardown(),e.input=d}),G0(e),e}export{xl as init}; +//# sourceMappingURL=markdown.js.map diff --git a/public/dist/styles.css b/public/dist/styles.css new file mode 100644 index 00000000000..0aee7854ca8 --- /dev/null +++ b/public/dist/styles.css @@ -0,0 +1 @@ +html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video{margin:0;padding:0;border:0;font-size:100%;font:inherit;vertical-align:baseline}article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block}body{line-height:1}ol,ul{list-style:none}blockquote,q{quotes:none}blockquote:before,blockquote:after{content:"";content:none}q:before,q:after{content:"";content:none}table{border-collapse:collapse;border-spacing:0}.dummy-style{color:red}:root{--font-body: -apple-system, BlinkMacSystemFont, Segoe UI, Oxygen, Ubuntu, Roboto, Cantarell, Fira Sans, Droid Sans, Helvetica Neue, sans-serif;--font-code: Lucida Console, DejaVu Sans Mono, Ubuntu Mono, Monaco, monospace;--color-primary: #206ea7;--color-primary-light: rgba(32,110,167,0.15);--color-link: #206ea7;--color-page: #206ea7;--color-page-draft: #7e50b1;--color-chapter: #af4d0d;--color-book: #077b70;--color-bookshelf: #a94747;--color-positive: #0f7d15;--color-negative: #ab0f0e;--color-info: #0288D1;--color-warning: #cf4d03;--bg-disabled: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' height='100%25' width='100%25'%3E%3Cdefs%3E%3Cpattern id='doodad' width='19' height='19' viewBox='0 0 40 40' patternUnits='userSpaceOnUse' patternTransform='rotate(143)'%3E%3Crect width='100%25' height='100%25' fill='rgba(42, 67, 101,0)'/%3E%3Cpath d='M-10 30h60v20h-60zM-10-10h60v20h-60' fill='rgba(26, 32, 44,0)'/%3E%3Cpath d='M-10 10h60v20h-60zM-10-30h60v20h-60z' fill='rgba(0, 0, 0,0.05)'/%3E%3C/pattern%3E%3C/defs%3E%3Crect fill='url(%23doodad)' height='200%25' width='200%25'/%3E%3C/svg%3E")}:root.dark-mode{--bg-disabled: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' height='100%25' width='100%25'%3E%3Cdefs%3E%3Cpattern id='doodad' width='19' height='19' viewBox='0 0 40 40' patternUnits='userSpaceOnUse' patternTransform='rotate(143)'%3E%3Crect width='100%25' height='100%25' fill='rgba(42, 67, 101,0)'/%3E%3Cpath d='M-10 30h60v20h-60zM-10-10h60v20h-60' fill='rgba(26, 32, 44,0)'/%3E%3Cpath d='M-10 10h60v20h-60zM-10-30h60v20h-60z' fill='rgba(255, 255, 255,0.05)'/%3E%3C/pattern%3E%3C/defs%3E%3Crect fill='url(%23doodad)' height='200%25' width='200%25'/%3E%3C/svg%3E");color-scheme:only dark;--color-positive: #4aa850;--color-negative: #e85c5b;--color-warning: #de8a5a}:root:not(.dark-mode){color-scheme:only light}.m-none{margin:0 !important}.mx-none{margin-inline-start:0 !important;margin-inline-end:0 !important}.my-none{margin-top:0 !important;margin-bottom:0 !important}.mt-none{margin-top:0 !important}.mr-none{margin-inline-end:0 !important}.mb-none{margin-bottom:0 !important}.ml-none{margin-inline-start:0 !important}.m-xxs{margin:3px !important}.mx-xxs{margin-inline-start:3px !important;margin-inline-end:3px !important}.my-xxs{margin-top:3px !important;margin-bottom:3px !important}.mt-xxs{margin-top:3px !important}.mr-xxs{margin-inline-end:3px !important}.mb-xxs{margin-bottom:3px !important}.ml-xxs{margin-inline-start:3px !important}.m-xs{margin:6px !important}.mx-xs{margin-inline-start:6px !important;margin-inline-end:6px !important}.my-xs{margin-top:6px !important;margin-bottom:6px !important}.mt-xs{margin-top:6px !important}.mr-xs{margin-inline-end:6px !important}.mb-xs{margin-bottom:6px !important}.ml-xs{margin-inline-start:6px !important}.m-s{margin:12px !important}.mx-s{margin-inline-start:12px !important;margin-inline-end:12px !important}.my-s{margin-top:12px !important;margin-bottom:12px !important}.mt-s{margin-top:12px !important}.mr-s{margin-inline-end:12px !important}.mb-s{margin-bottom:12px !important}.ml-s{margin-inline-start:12px !important}.m-m{margin:16px !important}.mx-m{margin-inline-start:16px !important;margin-inline-end:16px !important}.my-m{margin-top:16px !important;margin-bottom:16px !important}.mt-m{margin-top:16px !important}.mr-m{margin-inline-end:16px !important}.mb-m{margin-bottom:16px !important}.ml-m{margin-inline-start:16px !important}.m-l{margin:24px !important}.mx-l{margin-inline-start:24px !important;margin-inline-end:24px !important}.my-l{margin-top:24px !important;margin-bottom:24px !important}.mt-l{margin-top:24px !important}.mr-l{margin-inline-end:24px !important}.mb-l{margin-bottom:24px !important}.ml-l{margin-inline-start:24px !important}.m-xl{margin:32px !important}.mx-xl{margin-inline-start:32px !important;margin-inline-end:32px !important}.my-xl{margin-top:32px !important;margin-bottom:32px !important}.mt-xl{margin-top:32px !important}.mr-xl{margin-inline-end:32px !important}.mb-xl{margin-bottom:32px !important}.ml-xl{margin-inline-start:32px !important}.m-xxl{margin:48px !important}.mx-xxl{margin-inline-start:48px !important;margin-inline-end:48px !important}.my-xxl{margin-top:48px !important;margin-bottom:48px !important}.mt-xxl{margin-top:48px !important}.mr-xxl{margin-inline-end:48px !important}.mb-xxl{margin-bottom:48px !important}.ml-xxl{margin-inline-start:48px !important}.m-auto{margin:auto !important}.mx-auto{margin-inline-start:auto !important;margin-inline-end:auto !important}.my-auto{margin-top:auto !important;margin-bottom:auto !important}.mt-auto{margin-top:auto !important}.mr-auto{margin-inline-end:auto !important}.mb-auto{margin-bottom:auto !important}.ml-auto{margin-inline-start:auto !important}.p-none{padding:0 !important}.px-none{padding-inline-start:0 !important;padding-inline-end:0 !important}.py-none{padding-top:0 !important;padding-bottom:0 !important}.pt-none{padding-top:0 !important}.pr-none{padding-inline-end:0 !important}.pb-none{padding-bottom:0 !important}.pl-none{padding-inline-start:0 !important}.p-xxs{padding:3px !important}.px-xxs{padding-inline-start:3px !important;padding-inline-end:3px !important}.py-xxs{padding-top:3px !important;padding-bottom:3px !important}.pt-xxs{padding-top:3px !important}.pr-xxs{padding-inline-end:3px !important}.pb-xxs{padding-bottom:3px !important}.pl-xxs{padding-inline-start:3px !important}.p-xs{padding:6px !important}.px-xs{padding-inline-start:6px !important;padding-inline-end:6px !important}.py-xs{padding-top:6px !important;padding-bottom:6px !important}.pt-xs{padding-top:6px !important}.pr-xs{padding-inline-end:6px !important}.pb-xs{padding-bottom:6px !important}.pl-xs{padding-inline-start:6px !important}.p-s{padding:12px !important}.px-s{padding-inline-start:12px !important;padding-inline-end:12px !important}.py-s{padding-top:12px !important;padding-bottom:12px !important}.pt-s{padding-top:12px !important}.pr-s{padding-inline-end:12px !important}.pb-s{padding-bottom:12px !important}.pl-s{padding-inline-start:12px !important}.p-m{padding:16px !important}.px-m{padding-inline-start:16px !important;padding-inline-end:16px !important}.py-m{padding-top:16px !important;padding-bottom:16px !important}.pt-m{padding-top:16px !important}.pr-m{padding-inline-end:16px !important}.pb-m{padding-bottom:16px !important}.pl-m{padding-inline-start:16px !important}.p-l{padding:24px !important}.px-l{padding-inline-start:24px !important;padding-inline-end:24px !important}.py-l{padding-top:24px !important;padding-bottom:24px !important}.pt-l{padding-top:24px !important}.pr-l{padding-inline-end:24px !important}.pb-l{padding-bottom:24px !important}.pl-l{padding-inline-start:24px !important}.p-xl{padding:32px !important}.px-xl{padding-inline-start:32px !important;padding-inline-end:32px !important}.py-xl{padding-top:32px !important;padding-bottom:32px !important}.pt-xl{padding-top:32px !important}.pr-xl{padding-inline-end:32px !important}.pb-xl{padding-bottom:32px !important}.pl-xl{padding-inline-start:32px !important}.p-xxl{padding:48px !important}.px-xxl{padding-inline-start:48px !important;padding-inline-end:48px !important}.py-xxl{padding-top:48px !important;padding-bottom:48px !important}.pt-xxl{padding-top:48px !important}.pr-xxl{padding-inline-end:48px !important}.pb-xxl{padding-bottom:48px !important}.pl-xxl{padding-inline-start:48px !important}.p-auto{padding:auto !important}.px-auto{padding-inline-start:auto !important;padding-inline-end:auto !important}.py-auto{padding-top:auto !important;padding-bottom:auto !important}.pt-auto{padding-top:auto !important}.pr-auto{padding-inline-end:auto !important}.pb-auto{padding-bottom:auto !important}.pl-auto{padding-inline-start:auto !important}.gap-none{gap:0 !important}.gap-x-none{column-gap:0 !important}.gap-y-none{row-gap:0 !important}.gap-xxs{gap:3px !important}.gap-x-xxs{column-gap:3px !important}.gap-y-xxs{row-gap:3px !important}.gap-xs{gap:6px !important}.gap-x-xs{column-gap:6px !important}.gap-y-xs{row-gap:6px !important}.gap-s{gap:12px !important}.gap-x-s{column-gap:12px !important}.gap-y-s{row-gap:12px !important}.gap-m{gap:16px !important}.gap-x-m{column-gap:16px !important}.gap-y-m{row-gap:16px !important}.gap-l{gap:24px !important}.gap-x-l{column-gap:24px !important}.gap-y-l{row-gap:24px !important}.gap-xl{gap:32px !important}.gap-x-xl{column-gap:32px !important}.gap-y-xl{row-gap:32px !important}.gap-xxl{gap:48px !important}.gap-x-xxl{column-gap:48px !important}.gap-y-xxl{row-gap:48px !important}.gap-auto{gap:auto !important}.gap-x-auto{column-gap:auto !important}.gap-y-auto{row-gap:auto !important}.opacity-10{opacity:.1}.opacity-20{opacity:.2}.opacity-30{opacity:.3}.opacity-40{opacity:.4}.opacity-50{opacity:.5}.opacity-60{opacity:.6}.opacity-70{opacity:.7}.opacity-80{opacity:.8}.opacity-90{opacity:.9}*{box-sizing:border-box;outline-color:var(--color-primary);outline-width:1px}*:focus{outline-style:dotted}html{height:100%;overflow-y:scroll;background-color:#f2f2f2}html.flexbox{overflow-y:hidden}html.dark-mode{background-color:#111}body{font-size:14px;line-height:1.6;color:#444}html.dark-mode body{color:#aaa}body{-webkit-font-smoothing:antialiased;height:100%;display:flex;flex-direction:column}body,button,input,select,label,textarea{font-family:var(--font-body)}pre,#markdown-editor-input,.text-mono,.code-base,span.code,code{font-family:var(--font-code)}h1{font-size:3.425em;line-height:1.22222222em;margin-top:.48888889em;margin-bottom:.48888889em}h2{font-size:2.8275em;line-height:1.294117647em;margin-top:.8627451em;margin-bottom:.43137255em}h3{font-size:2.333em;line-height:1.221428572em;margin-top:.78571429em;margin-bottom:.43137255em}h4{font-size:1.666em;line-height:1.375em;margin-top:.78571429em;margin-bottom:.43137255em}h1,h2,h3,h4,h5,h6{font-weight:400;position:relative;display:block;font-family:var(--font-heading, var(--font-body));color:#222}html.dark-mode h1,html.dark-mode h2,html.dark-mode h3,html.dark-mode h4,html.dark-mode h5,html.dark-mode h6{color:#bbb}h5{font-size:1.4em}h5,h6{line-height:1.2em;margin-top:.78571429em;margin-bottom:.66em}@media screen and (max-width: 600px){h1{font-size:2.8275em}h2{font-size:2.333em}h3{font-size:1.666em}h4{font-size:1.333em}h5{font-size:1.161616em}}.list-heading{font-size:2rem}h2.list-heading{font-size:1.333rem}a{color:var(--color-link);fill:currentColor;cursor:pointer;text-decoration:none;transition:filter ease-in-out 80ms;line-height:1.6}a:hover{text-decoration:underline}a.icon{display:inline-block}a svg{position:relative;display:inline-block}a:focus img:only-child{outline:2px dashed var(--color-link);outline-offset:2px}a.no-link-style{color:inherit}a.no-link-style:hover{text-decoration:none}.blended-links a{color:inherit}.blended-links a svg{fill:currentColor}p,ul,ol,pre,table,blockquote{margin-top:.3em;margin-bottom:1.375em}hr{border:0;height:1px;background:#eaeaea}html.dark-mode hr{background:#555}hr{margin-bottom:24px}hr.faded{background-image:linear-gradient(to right, #FFF, #e3e0e0 20%, #e3e0e0 80%, #FFF)}hr.darker{background:#ddd}html.dark-mode hr.darker{background:#666}hr.margin-top,hr.even{margin-top:24px}strong,b,.bold,.strong{font-weight:bold}strong>strong,strong>b,strong>.bold,strong>.strong,b>strong,b>b,b>.bold,b>.strong,.bold>strong,.bold>b,.bold>.bold,.bold>.strong,.strong>strong,.strong>b,.strong>.bold,.strong>.strong{font-weight:bolder}em,i,.italic{font-style:italic}small,p.small,span.small,.text-small{font-size:.75rem}sup,.superscript{vertical-align:super;font-size:.8em}sub,.subscript{vertical-align:sub;font-size:.8em}pre{font-size:12px;border:1px solid #ddd;background-color:#fff}html.dark-mode pre{background-color:#2b2b2b}pre{border-color:#ddd}html.dark-mode pre{border-color:#111}pre{border-radius:4px;padding-inline-start:26px;position:relative;padding-top:3px;padding-bottom:3px}pre:before{content:"";display:block;position:absolute;top:0;width:22.4px;inset-inline-start:0;height:100%;background-color:#f5f5f5}html.dark-mode pre:before{background-color:#313335}pre:before{border-inline-end:1px solid #ddd}html.dark-mode pre:before{border-inline-end:none}@media print{pre{padding-left:12px}pre:before{display:none}}blockquote{display:block;position:relative;border-left:4px solid rgba(0,0,0,0);border-left-color:var(--color-primary);background-color:#f8f8f8}html.dark-mode blockquote{background-color:#333}blockquote{padding:12px 16px 12px 32px;overflow:auto}blockquote:before{content:"“";font-size:2em;font-weight:bold;position:absolute;top:12px;left:12px;color:#777}.text-mono{font-family:var(--font-code)}.text-uppercase{text-transform:uppercase}.text-capitals{text-transform:capitalize}.code-base,span.code,code{font-size:.84em;border:1px solid #ddd;border-radius:3px;background-color:#f8f8f8}html.dark-mode .code-base,html.dark-mode span.code,html.dark-mode code{background-color:#2b2b2b}.code-base,span.code,code{border-color:#ddd}html.dark-mode .code-base,html.dark-mode span.code,html.dark-mode code{border-color:#444}code{display:inline;padding:1px 3px;white-space:pre-wrap;line-height:1.2em}span.code{padding:1px 6px}pre code{background-color:rgba(0,0,0,0);border:0;font-size:1em;display:block;line-height:1.6}span.highlight{font-weight:bold;padding:2px 4px}ul,ol{padding-left:32px;padding-right:32px;display:flow-root}ul p,ol p{margin:0}ul{list-style:disc}ul ul{list-style:circle}ul label{margin:0}ol{list-style:decimal}li>ol,li>ul{margin-top:0;margin-bottom:0;margin-block-end:0;margin-block-start:0;padding-block-end:0;padding-block-start:0;padding-left:19.2px;padding-right:19.2px}li.checkbox-item,li.task-list-item{display:list-item;list-style:none;margin-left:-19.2px;margin-inline-start:-19.2px;margin-inline-end:0}li.checkbox-item input[type=checkbox],li.task-list-item input[type=checkbox]{margin-right:6px;margin-inline-end:6px;margin-inline-start:0}li.checkbox-item li.checkbox-item,li.checkbox-item li.task-list-item,li.task-list-item li.checkbox-item,li.task-list-item li.task-list-item{margin-left:6px;margin-inline-start:6px;margin-inline-end:0}.underlined{text-decoration:underline}.text-center{text-align:center}.text-left{text-align:start}.text-right{text-align:end}@media screen and (min-width: 361px){.text-xxs-center{text-align:center}.text-xxs-left{text-align:start}.text-xxs-right{text-align:end}}@media screen and (min-width: 401px){.text-xs-center{text-align:center}.text-xs-left{text-align:start}.text-xs-right{text-align:end}}@media screen and (min-width: 601px){.text-s-center{text-align:center}.text-s-left{text-align:start}.text-s-right{text-align:end}}@media screen and (min-width: 881px){.text-m-center{text-align:center}.text-m-left{text-align:start}.text-m-right{text-align:end}}@media screen and (min-width: 1001px){.text-l-center{text-align:center}.text-l-left{text-align:start}.text-l-right{text-align:end}}@media screen and (min-width: 1101px){.text-xl-center{text-align:center}.text-xl-left{text-align:start}.text-xl-right{text-align:end}}.text-bigger{font-size:1.1em}.text-large{font-size:1.6666em}.no-color{color:inherit}.break-text{white-space:normal;word-wrap:break-word;overflow-wrap:break-word}.text-limit-lines-1{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.text-limit-lines-2{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}.header-group{margin:16px 0}.header-group h1,.header-group h2,.header-group h3,.header-group h4,.header-group h5,.header-group h6{margin:0}span.sep{color:#bbb;padding:0 6px}.list>*{display:block}.svg-icon{width:1em;height:1em;display:inline-block;position:relative;bottom:-0.105em;margin-inline-end:6px;pointer-events:none;fill:currentColor}.primary-background{background-color:var(--color-primary) !important}.primary-background-light{background-color:var(--color-primary-light)}html.dark-mode .primary-background-light{background:#000}html.dark-mode .primary-background-light .text-link{color:#aaa !important}.link-background{background-color:var(--color-link) !important}.text-pos,.text-pos:hover,.text-pos-hover:hover{color:var(--color-positive) !important;fill:var(--color-positive) !important}.text-warn,.text-warn:hover,.text-warn-hover:hover{color:var(--color-warning) !important;fill:var(--color-warning) !important}.text-neg,.text-neg:hover,.text-neg-hover:hover{color:var(--color-negative) !important;fill:var(--color-negative) !important}.text-primary,.text-primary:hover,.text-primary-hover:hover{color:var(--color-primary) !important;fill:var(--color-primary) !important}.text-link,.text-link:hover,.text-link-hover:hover{color:var(--color-link) !important;fill:var(--color-link) !important}.text-muted{color:#575757 !important}html.dark-mode .text-muted{color:#888 !important}.text-muted{fill:currentColor !important}.text-dark{color:#222 !important}html.dark-mode .text-dark{color:#ccc !important}.text-dark{fill:currentColor !important}.text-white{color:#fff;fill:currentColor !important}.text-bookshelf,.text-bookshelf:hover{color:var(--color-bookshelf);fill:var(--color-bookshelf)}.text-book,.text-book:hover{color:var(--color-book);fill:var(--color-book)}.text-page,.text-page:hover{color:var(--color-page);fill:var(--color-page)}.text-page.draft,.text-page.draft:hover{color:var(--color-page-draft);fill:var(--color-page-draft)}.text-chapter,.text-chapter:hover{color:var(--color-chapter);fill:var(--color-chapter)}.bg-white{background-color:#fff}.bg-book{background-color:var(--color-book)}.bg-chapter{background-color:var(--color-chapter)}.bg-bookshelf{background-color:var(--color-bookshelf)}.container{max-width:1400px;margin-inline-start:auto;margin-inline-end:auto;padding-inline-start:16px;padding-inline-end:16px}.container.medium{max-width:1100px}.container.small{max-width:840px}.container.very-small{max-width:480px}.grid{display:grid;grid-column-gap:24px;grid-row-gap:24px}.grid>*{min-width:0}.grid.half{grid-template-columns:1fr 1fr}.grid.third{grid-template-columns:1fr 1fr 1fr}.grid.left-focus{grid-template-columns:2fr 1fr}.grid.right-focus{grid-template-columns:1fr 3fr}.grid.gap-y-xs{grid-row-gap:6px}.grid.gap-xl{grid-column-gap:32px;grid-row-gap:32px}.grid.gap-xxl{grid-column-gap:48px;grid-row-gap:48px}.grid.v-center{align-items:center}.grid.v-end{align-items:end}.grid.no-gap{grid-row-gap:0;grid-column-gap:0}.grid.no-row-gap{grid-row-gap:0}@media screen and (max-width: 880px){.grid.third:not(.no-break){grid-template-columns:1fr 1fr}.grid.half:not(.no-break),.grid.left-focus:not(.no-break),.grid.right-focus:not(.no-break){grid-template-columns:1fr}.grid.half.collapse-xs{grid-template-columns:1fr 1fr}.grid.gap-xl{grid-column-gap:16px;grid-row-gap:16px}.grid.right-focus.reverse-collapse>*:nth-child(2){order:0}.grid.right-focus.reverse-collapse>*:nth-child(1){order:1}}@media screen and (max-width: 600px){.grid.third:not(.no-break){grid-template-columns:1fr}}@media screen and (max-width: 400px){.grid.half.collapse-xs{grid-template-columns:1fr}}#content{flex:1 0 auto}body.flexbox{display:flex;flex-direction:column;align-items:stretch;height:100%;min-height:100%;max-height:100%;overflow:hidden}body.flexbox #content{flex:1;display:flex;min-height:0}.flex-fill{display:flex;align-items:stretch;min-height:0;max-width:100%;position:relative}.flex-container-row{display:flex;flex-direction:row}.flex-container-row.v-center{align-items:center}.flex-container-column{display:flex;flex-direction:column}.flex-container-row.inline,.flex-container-column.inline{display:inline-flex !important}.flex-container-column.wrap,.flex-container-row.wrap{flex-wrap:wrap}.flex{min-height:0;flex:1;max-width:100%}.flex.fit-content{flex-basis:auto;flex-grow:0}.flex.fill-area{flex-grow:1;flex-shrink:0;min-width:fit-content}.flex-2{min-height:0;flex:2;max-width:100%}.flex-3{min-height:0;flex:3;max-width:100%}.flex-none{flex:none}.justify-flex-start{justify-content:flex-start}.justify-flex-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-space-between{justify-content:space-between}.items-center{align-items:center}.items-stretch{align-items:stretch}.min-width-xxxxs{min-width:60px}.min-width-xxxs{min-width:80px}.min-width-xxs{min-width:100px}.min-width-xs{min-width:120px}.min-width-s{min-width:160px}.min-width-m{min-width:200px}.min-width-l{min-width:240px}.min-width-xl{min-width:280px}.min-width-xxl{min-width:320px}.block{display:block !important;position:relative}.inline{display:inline !important}.block.inline{display:inline-block !important}.relative{position:relative}.fixed{position:fixed;z-index:20}.fixed.top-right{top:0;right:0}.hidden{display:none !important}.overflow-hidden{overflow:hidden}.height-fill{height:100%}.height-auto{height:auto !important}.float{float:left}.float.right{float:right}.sticky-top-m{position:sticky;top:16px}@media screen and (max-width: 360px){.hide-under-xxs{display:none !important}}@media screen and (min-width: 361px){.hide-over-xxs{display:none !important}}@media screen and (max-width: 400px){.hide-under-xs{display:none !important}}@media screen and (min-width: 401px){.hide-over-xs{display:none !important}}@media screen and (max-width: 600px){.hide-under-s{display:none !important}}@media screen and (min-width: 601px){.hide-over-s{display:none !important}}@media screen and (max-width: 880px){.hide-under-m{display:none !important}}@media screen and (min-width: 881px){.hide-over-m{display:none !important}}@media screen and (max-width: 1000px){.hide-under-l{display:none !important}}@media screen and (min-width: 1001px){.hide-over-l{display:none !important}}@media screen and (max-width: 1100px){.hide-under-xl{display:none !important}}@media screen and (min-width: 1101px){.hide-over-xl{display:none !important}}[hidden]{display:none !important}.screen-reader-only{position:absolute;inset-inline-start:-10000px;top:auto;width:1px;height:1px;overflow:hidden}.rounded{border-radius:4px}.dual-column-content{columns:2}@media screen and (max-width: 880px){.dual-column-content{columns:1}}.clearfix::before,.clearfix::after{content:" ";display:table}.clearfix::after{clear:both}.tri-layout-container{display:grid;margin-inline-start:32px;margin-inline-end:32px;grid-template-columns:1fr 4fr 1fr;grid-template-areas:"a b c";grid-column-gap:32px;position:relative}.tri-layout-sides{grid-column-start:a;grid-column-end:c;grid-row:1;min-width:0;z-index:4}.tri-layout-sides-content{display:grid;grid-template-areas:"a b c";grid-template-columns:1fr 4fr 1fr;height:100%}.tri-layout-middle{grid-area:b;padding-top:16px;min-width:0;z-index:5}.tri-layout-right{grid-area:c;min-width:0;position:relative}.tri-layout-left{grid-area:a;min-width:0;position:relative}@media screen and (min-width: 1401px){.tri-layout-left-contents,.tri-layout-right-contents{padding:32px 16px;position:sticky;top:0;max-height:100vh;min-height:50vh;overflow-y:scroll;overflow-x:hidden;height:100%;scrollbar-width:none;-ms-overflow-style:none}.tri-layout-left-contents::-webkit-scrollbar,.tri-layout-right-contents::-webkit-scrollbar{display:none}.tri-layout-middle-contents{max-width:940px;margin:0 auto}}@media screen and (min-width: 1401px)and (max-width: 1700px){.tri-layout-sides-content,.tri-layout-container{grid-template-columns:1fr 972px 1fr}.tri-layout-container{grid-column-gap:12px;margin-inline-start:16px;margin-inline-end:16px}}@media screen and (max-width: 1400px){.tri-layout-container{grid-template-areas:"a b b";grid-template-columns:1fr 3fr;grid-template-rows:min-content min-content 1fr;margin-inline-start:19px;margin-inline-end:19px}.tri-layout-sides{grid-column-start:a;grid-column-end:a}.tri-layout-sides-content{display:block}}@media screen and (min-width: 1001px)and (max-width: 1400px){.tri-layout-sides-content{position:sticky;top:0;max-height:100vh;min-height:50vh;overflow-y:scroll;overflow-x:hidden;height:100%;scrollbar-width:none;-ms-overflow-style:none;padding-inline:16px;margin-inline:-16px}.tri-layout-sides-content::-webkit-scrollbar{display:none}}@media screen and (min-width: 1001px){.tri-layout-mobile-tabs{display:none}.tri-layout-left-contents>*,.tri-layout-right-contents>*{opacity:.6}html.dark-mode .tri-layout-left-contents>*,html.dark-mode .tri-layout-right-contents>*{opacity:.75}.tri-layout-left-contents>*,.tri-layout-right-contents>*{transition:opacity ease-in-out 120ms}.tri-layout-left-contents>*:hover,.tri-layout-left-contents>*:focus-within,.tri-layout-right-contents>*:hover,.tri-layout-right-contents>*:focus-within{opacity:1 !important}}@media screen and (min-width: 1001px)and (prefers-contrast: more){.tri-layout-left-contents>*,.tri-layout-right-contents>*{opacity:1 !important}}@media screen and (max-width: 1000px){.tri-layout-container{grid-template-areas:none;grid-template-columns:1fr;grid-column-gap:0;padding-inline-end:6px;padding-inline-start:6px}.tri-layout-container .tri-layout-sides{padding-inline-start:16px;padding-inline-end:16px;grid-column:1/1}.tri-layout-container .tri-layout-left>*,.tri-layout-container .tri-layout-right>*{display:none;pointer-events:none}.tri-layout-container .tri-layout-left,.tri-layout-container .tri-layout-right{padding-top:0 !important}.tri-layout-container .tri-layout-middle{grid-area:none;grid-row:3;grid-column:1/1;z-index:1;overflow:hidden;transition:transform ease-in-out 240ms}.tri-layout-container .tri-layout-left{grid-row:2}.tri-layout-container.show-info{overflow:hidden}.tri-layout-container.show-info .tri-layout-middle{display:none}.tri-layout-container.show-info .tri-layout-right>*,.tri-layout-container.show-info .tri-layout-left>*{display:block;pointer-events:auto}}@media screen and (max-width: 880px){.tri-layout-container{margin-inline-start:0;margin-inline-end:0}}.scroll-away-from-top:before,.scroll-away-from-bottom:after{content:"";display:block;position:absolute;color:#f2f2f2}html.dark-mode .scroll-away-from-top:before,html.dark-mode .scroll-away-from-bottom:after{color:#111}.scroll-away-from-top:before,.scroll-away-from-bottom:after{left:0;top:0;width:100%;height:50px;background:linear-gradient(to bottom, currentColor, transparent);z-index:2}.scroll-away-from-bottom:after{top:auto;bottom:0;background:linear-gradient(to top, currentColor, transparent)}.card{background-color:#fff}html.dark-mode .card{background-color:#222}.card{box-shadow:0 1px 6px -1px rgba(0,0,0,.1);border-radius:3px;break-inside:avoid}.card .body,.card p.empty-text{padding-block:16px}.card a,.card p{word-wrap:break-word;word-break:break-word}.card-title{padding:16px 16px 6px;margin:0;font-size:14px;color:#222;fill:#222;font-weight:400}.card-title a{line-height:1}.card-footer-link,button.card-footer-link{display:block;padding:12px 16px;line-height:1;border-top:1px solid;width:100%;text-align:left;border-color:#ddd}html.dark-mode .card-footer-link,html.dark-mode button.card-footer-link{border-color:#555}.card-footer-link,button.card-footer-link{border-radius:0 0 3px 3px;font-size:.9em;margin-top:6px}.card-footer-link:hover,button.card-footer-link:hover{text-decoration:none;background-color:#f2f2f2}html.dark-mode .card-footer-link:hover,html.dark-mode button.card-footer-link:hover{background-color:#2d2d2d}.card-footer-link:focus,button.card-footer-link:focus{background-color:#eee}html.dark-mode .card-footer-link:focus,html.dark-mode button.card-footer-link:focus{background-color:#222}.card-footer-link:focus,button.card-footer-link:focus{outline:1px dotted #666;outline-offset:-2px}.card.border-card{border:1px solid;border-color:#ddd}html.dark-mode .card.border-card{border-color:#000}.card.drag-card{border:1px solid #ddd;border-color:#ddd}html.dark-mode .card.drag-card{border-color:#000}.card.drag-card{background-color:#fff}html.dark-mode .card.drag-card{background-color:#333}.card.drag-card{border-radius:4px;display:flex;padding:0 0 0 40px;margin:12px 0;position:relative}.card.drag-card .drag-card-action{cursor:pointer}.card.drag-card .handle,.card.drag-card .drag-card-action{display:flex;align-items:center;text-align:center;justify-content:center;width:28px;flex-grow:0;padding:0 6px}.card.drag-card .handle:hover,.card.drag-card .drag-card-action:hover{background-color:#eee}html.dark-mode .card.drag-card .handle:hover,html.dark-mode .card.drag-card .drag-card-action:hover{background-color:#2d2d2d}.card.drag-card .handle .svg-icon,.card.drag-card .drag-card-action .svg-icon{margin-inline-end:0px}.card.drag-card .outline input{margin:12px 0;width:100%}.card.drag-card .outline{position:relative}.card.drag-card .handle{background-color:#eee}html.dark-mode .card.drag-card .handle{background-color:#2d2d2d}.card.drag-card .handle{left:0;position:absolute;top:0;bottom:0}.card.drag-card>div{padding:0 12px;max-width:80%;flex:1}.grid-card{display:flex;flex-direction:column;border:1px solid #ddd;border-color:#ddd}html.dark-mode .grid-card{border-color:#000}.grid-card{margin-bottom:24px;border-radius:4px;overflow:hidden;min-width:100px;color:#444;transition:border-color ease-in-out 120ms,box-shadow ease-in-out 120ms}.grid-card:hover{color:#444;text-decoration:none;box-shadow:0 1px 6px -1px rgba(0,0,0,.1)}html.dark-mode .grid-card:hover{box-shadow:0 1px 6px -1px rgba(0,0,0,.5)}.grid-card h2{width:100%;font-size:1.5em;margin:0 0 10px}.grid-card p{font-size:.7rem;margin:0;line-height:1.6em}.grid-card .grid-card-content{flex:1;border-top:0;border-bottom-width:2px}.grid-card .grid-card-content,.grid-card .grid-card-footer{padding:24px}.grid-card .grid-card-content+.grid-card-footer{padding-top:0}.book-grid-item .grid-card-footer p.small{font-size:.8em;margin:0}.content-wrap.card{padding:16px 48px;margin-inline-start:auto;margin-inline-end:auto;margin-bottom:24px;overflow:initial;min-height:60vh;border-radius:8px}.content-wrap.card.auto-height{min-height:0}.content-wrap.card.fill-width{width:100%}@media screen and (max-width: 1400px){.content-wrap.card{padding:16px 32px}}@media screen and (max-width: 880px){.content-wrap.card{padding:16px 24px}}@media screen and (max-width: 600px){.content-wrap.card{padding:16px 16px}}.sub-card{box-shadow:0 1px 3px 0 rgba(0,0,0,.1);border:1.5px solid;border-color:#e2e2e2}html.dark-mode .sub-card{border-color:#444}.sub-card{border-radius:4px}.outline-hover{border:1px solid rgba(0,0,0,0) !important}.outline-hover:hover{border:1px solid rgba(0,0,0,.1) !important}.fade-in-when-active{opacity:.6}html.dark-mode .fade-in-when-active{opacity:.7}.fade-in-when-active{transition:opacity ease-in-out 120ms}.fade-in-when-active:hover,.fade-in-when-active:focus-within{opacity:1 !important}@media(prefers-contrast: more){.fade-in-when-active{opacity:1 !important}}.tag-item{display:inline-flex;margin-bottom:6px;margin-inline-end:6px;border-radius:4px;border:1px solid;overflow:hidden;font-size:.85em;border-color:#ccc}html.dark-mode .tag-item{border-color:#666}.tag-item a,.tag-item span,.tag-item a:hover,.tag-item a:active{padding:4px 8px;color:rgba(0,0,0,.7)}html.dark-mode .tag-item a,html.dark-mode .tag-item span,html.dark-mode .tag-item a:hover,html.dark-mode .tag-item a:active{color:hsla(0,0%,100%,.8)}.tag-item a,.tag-item span,.tag-item a:hover,.tag-item a:active{transition:background-color ease-in-out 80ms;text-decoration:none}.tag-item a:hover{background-color:hsla(0,0%,100%,.7)}html.dark-mode .tag-item a:hover{background-color:hsla(0,0%,100%,.3)}.tag-item svg{fill:rgba(0,0,0,.5)}html.dark-mode .tag-item svg{fill:hsla(0,0%,100%,.5)}.tag-item .tag-value{border-inline-start:1px solid;border-color:#ddd}html.dark-mode .tag-item .tag-value{border-color:#666}.tag-item .tag-value{background-color:hsla(0,0%,100%,.5)}html.dark-mode .tag-item .tag-value{background-color:hsla(0,0%,100%,.2)}.tag-name.highlight,.tag-value.highlight{font-weight:bold}.tag-list div:last-child .tag-item{margin-bottom:0}.item-list-row .tag-item{margin-bottom:0}.api-method{font-size:.75rem;background-color:#888;padding:6px;line-height:1.3;opacity:.7;vertical-align:top;border-radius:3px;color:#fff;display:inline-block;min-width:60px;text-align:center;font-weight:bold}.api-method[data-method=GET]{background-color:#077b70}.api-method[data-method=POST]{background-color:#cf4d03}.api-method[data-method=PUT]{background-color:#0288d1}.api-method[data-method=DELETE]{background-color:#ab0f0e}.sticky-sidebar{position:sticky;top:0;padding-left:2px;max-height:100vh;overflow-y:auto}.sticky-sidebar .sticky-sidebar-header{position:sticky;top:0;background:#f2f2f2;background:linear-gradient(180deg, rgb(242, 242, 242) 66%, rgba(242, 242, 242, 0) 100%);z-index:4}.dark-mode .sticky-sidebar-header{background:#111;background:linear-gradient(180deg, rgb(17, 17, 17) 66%, rgba(17, 17, 17, 0) 100%)}button{background-color:rgba(0,0,0,0);border:0;font-size:100%}.button{text-decoration:none;font-size:.85rem;line-height:1.4em;padding:7.8px 16px;margin-top:6px;margin-bottom:6px;display:inline-block;font-weight:400;outline:0;border-radius:4px;cursor:pointer;transition:background-color ease-in-out 120ms,filter ease-in-out 120ms,box-shadow ease-in-out 120ms;box-shadow:none;background-color:var(--color-primary);color:#fff;border:1px solid var(--color-primary);vertical-align:top}.button:hover,.button:focus,.button:active{background-color:var(--color-primary);text-decoration:none;color:#fff}.button:hover{box-shadow:0 0 4px 1px #ccc}html.dark-mode .button:hover{box-shadow:0 0 4px 1px rgba(0,0,0,.5)}.button:hover{filter:brightness(110%)}.button:focus{outline:1px dotted currentColor;outline-offset:-6px;box-shadow:none;filter:brightness(90%)}.button:active{outline:0}.button.outline{background-color:rgba(0,0,0,0);color:#666}html.dark-mode .button.outline{color:#aaa}.button.outline{fill:currentColor;border:1px solid;border-color:#ccc}html.dark-mode .button.outline{border-color:#666}.button.outline:hover,.button.outline:focus,.button.outline:active{color:#444}html.dark-mode .button.outline:hover,html.dark-mode .button.outline:focus,html.dark-mode .button.outline:active{color:#bbb}.button.outline:hover,.button.outline:focus,.button.outline:active{border:1px solid #ccc;box-shadow:0 1px 4px 0 rgba(0,0,0,.1);background-color:#f2f2f2;background-color:#f8f8f8}html.dark-mode .button.outline:hover,html.dark-mode .button.outline:focus,html.dark-mode .button.outline:active{background-color:#444}.button.outline:hover,.button.outline:focus,.button.outline:active{filter:none}.button.outline:active{border-color:#bbb;background-color:#ddd;color:#666;box-shadow:inset 0 0 2px rgba(0,0,0,.1)}.button+.button{margin-inline-start:12px}.button.small{font-size:.75rem;padding:7.2px 12px}.text-button{cursor:pointer;background-color:rgba(0,0,0,0);padding:0;margin:0;border:none;user-select:none;font-size:.75rem;line-height:1.4em;color:var(--color-link)}.text-button:active{outline:0}.text-button:hover{text-decoration:none}.text-button:hover,.text-button:focus{color:var(--color-link);fill:var(--color-link)}.text-button.hover-underline:hover{text-decoration:underline}.button.block{width:100%;text-align:start;display:block}.button.icon .svg-icon,.icon-button .svg-icon,.text-button.icon .svg-icon{margin-inline-end:0}.icon-button{text-align:center;border:1px solid rgba(0,0,0,0)}.icon-button:hover{background-color:rgba(0,0,0,.05);border-radius:4px;border-color:#ddd}html.dark-mode .icon-button:hover{border-color:#444}.icon-button:hover{cursor:pointer}.button.svg{display:flex;align-items:center;padding:12px 16px;padding-bottom:10px;width:100%}.button.svg svg{display:inline-block;width:24px;height:24px;bottom:auto;margin-inline-end:16px}.button[disabled]{background-color:#bbb;cursor:default;border-color:#ccc}.button[disabled]:hover{background-color:#bbb;cursor:default;box-shadow:none}table{min-width:100px;max-width:100%}table td,table th{min-width:10px;padding:6px 8px;border:1px solid #ddd;overflow:auto;line-height:1.2;word-break:break-word;vertical-align:top}table td p,table th p{margin:0}table:not(:has(thead)) th,table thead{background-color:#f8f8f8}html.dark-mode table:not(:has(thead)) th,html.dark-mode table thead{background-color:#333}table:not(:has(thead)) th,table thead{font-weight:500}table.table{width:100%}table.table tr td,table.table tr th{border-bottom:1px solid rgba(0,0,0,.05)}table.table th,table.table td{text-align:start;border:none;padding:12px 12px;vertical-align:middle;margin:0;overflow:visible}table.table th{font-weight:bold}table.table tr:hover{background-color:#f2f2f2}html.dark-mode table.table tr:hover{background-color:#333}table.table .text-right{text-align:end}table.table .text-center{text-align:center}table.table td.actions{overflow:visible}table.table a{display:inline-block}table.table.expand-to-padding{margin-left:-12px;margin-right:-12px;width:calc(100% + 2*12px);max-width:calc(100% + 2*12px)}table.no-style td{border:0;padding:0}table.list-table{margin:0 -6px}table.list-table td{border:0;vertical-align:middle;padding:6px}.input-base,input[type=text],input[type=number],input[type=email],input[type=date],input[type=search],input[type=url],input[type=color],input[type=password],select,textarea,.fake-input{border-radius:3px;border:1px solid #d4d4d4;background-color:#fff}html.dark-mode .input-base,html.dark-mode input[type=text],html.dark-mode input[type=number],html.dark-mode input[type=email],html.dark-mode input[type=date],html.dark-mode input[type=search],html.dark-mode input[type=url],html.dark-mode input[type=color],html.dark-mode input[type=password],html.dark-mode select,html.dark-mode textarea,html.dark-mode .fake-input{background-color:#333}.input-base,input[type=text],input[type=number],input[type=email],input[type=date],input[type=search],input[type=url],input[type=color],input[type=password],select,textarea,.fake-input{border-color:#d4d4d4}html.dark-mode .input-base,html.dark-mode input[type=text],html.dark-mode input[type=number],html.dark-mode input[type=email],html.dark-mode input[type=date],html.dark-mode input[type=search],html.dark-mode input[type=url],html.dark-mode input[type=color],html.dark-mode input[type=password],html.dark-mode select,html.dark-mode textarea,html.dark-mode .fake-input{border-color:#111}.input-base,input[type=text],input[type=number],input[type=email],input[type=date],input[type=search],input[type=url],input[type=color],input[type=password],select,textarea,.fake-input{color:#666}html.dark-mode .input-base,html.dark-mode input[type=text],html.dark-mode input[type=number],html.dark-mode input[type=email],html.dark-mode input[type=date],html.dark-mode input[type=search],html.dark-mode input[type=url],html.dark-mode input[type=color],html.dark-mode input[type=password],html.dark-mode select,html.dark-mode textarea,html.dark-mode .fake-input{color:#aaa}.input-base,input[type=text],input[type=number],input[type=email],input[type=date],input[type=search],input[type=url],input[type=color],input[type=password],select,textarea,.fake-input{display:inline-block;font-size:14px;padding:10.8px;height:40px;width:250px;max-width:100%}.input-base.neg,input.neg[type=text],input.neg[type=number],input.neg[type=email],input.neg[type=date],input.neg[type=search],input.neg[type=url],input.neg[type=color],input.neg[type=password],select.neg,textarea.neg,.neg.fake-input,.input-base.invalid,input.invalid[type=text],input.invalid[type=number],input.invalid[type=email],input.invalid[type=date],input.invalid[type=search],input.invalid[type=url],input.invalid[type=color],input.invalid[type=password],select.invalid,textarea.invalid,.invalid.fake-input{border:1px solid var(--color-negative)}.input-base.pos,input.pos[type=text],input.pos[type=number],input.pos[type=email],input.pos[type=date],input.pos[type=search],input.pos[type=url],input.pos[type=color],input.pos[type=password],select.pos,textarea.pos,.pos.fake-input,.input-base.valid,input.valid[type=text],input.valid[type=number],input.valid[type=email],input.valid[type=date],input.valid[type=search],input.valid[type=url],input.valid[type=color],input.valid[type=password],select.valid,textarea.valid,.valid.fake-input{border:1px solid var(--color-positive)}.input-base.disabled,input.disabled[type=text],input.disabled[type=number],input.disabled[type=email],input.disabled[type=date],input.disabled[type=search],input.disabled[type=url],input.disabled[type=color],input.disabled[type=password],select.disabled,textarea.disabled,.disabled.fake-input,.input-base[disabled],input[disabled][type=text],input[disabled][type=number],input[disabled][type=email],input[disabled][type=date],input[disabled][type=search],input[disabled][type=url],input[disabled][type=color],input[disabled][type=password],select[disabled],textarea[disabled],[disabled].fake-input{background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAcAAAAHCAYAAADEUlfTAAAAMUlEQVQIW2NkwAGuXbv2nxGbHEhCS0uLEUMSJgHShCKJLIEiiS4Bl8QmAZbEJQGSBAC62BuJ+tt7zgAAAABJRU5ErkJggg==)}.input-base[readonly],input[readonly][type=text],input[readonly][type=number],input[readonly][type=email],input[readonly][type=date],input[readonly][type=search],input[readonly][type=url],input[readonly][type=color],input[readonly][type=password],select[readonly],textarea[readonly],[readonly].fake-input{background-color:#f8f8f8}.input-base:focus,input[type=text]:focus,input[type=number]:focus,input[type=email]:focus,input[type=date]:focus,input[type=search]:focus,input[type=url]:focus,input[type=color]:focus,input[type=password]:focus,select:focus,textarea:focus,.fake-input:focus{border-color:var(--color-primary);outline:1px solid var(--color-primary)}.input-fill-width{width:100% !important}.fake-input{overflow:auto}#html-editor{display:none}#markdown-editor{position:relative;z-index:5}#markdown-editor #markdown-editor-input{font-style:normal;font-weight:400;padding:6px 16px;color:#444}html.dark-mode #markdown-editor #markdown-editor-input{color:#aaa}#markdown-editor #markdown-editor-input{background-color:#fff}html.dark-mode #markdown-editor #markdown-editor-input{background-color:#222}#markdown-editor #markdown-editor-input{border-radius:0;height:100%;font-size:14px;line-height:1.2;max-height:100%;flex:1;border:0;width:100%;margin:0}#markdown-editor #markdown-editor-input:focus{outline:0}#markdown-editor.fullscreen{position:fixed;top:0;left:0;height:100%;z-index:2}.markdown-editor-wrap{border-top:1px solid #ddd;border-bottom:1px solid #ddd;border-color:#ddd}html.dark-mode .markdown-editor-wrap{border-color:#000}.markdown-editor-wrap{position:relative;flex:1;min-width:0}.markdown-editor-wrap+.markdown-editor-wrap{flex-basis:50%;flex-shrink:0;flex-grow:0}.markdown-editor-wrap .cm-editor{flex:1;max-width:100%;border:0;margin:0}.markdown-panel-divider{width:2px;background-color:#ddd}html.dark-mode .markdown-panel-divider{background-color:#000}.markdown-panel-divider{cursor:col-resize}@media screen and (max-width: 880px){#markdown-editor{flex-direction:column}#markdown-editor .markdown-editor-wrap{width:100%;max-width:100%;flex-grow:1;flex-basis:auto !important;min-height:0}.editor-toolbar-label{float:none !important;border-color:#ddd}html.dark-mode .editor-toolbar-label{border-color:#555}.editor-toolbar-label{display:block}.markdown-editor-wrap:not(.active) .editor-toolbar+div,.markdown-editor-wrap:not(.active) .editor-toolbar .buttons,.markdown-editor-wrap:not(.active) .markdown-display{display:none}#markdown-editor .markdown-editor-wrap:not(.active){flex-grow:0;flex:none}}.markdown-editor-display{background-color:#fff}.markdown-editor-display body{display:block;background-color:#fff;padding-inline-start:12px;padding-inline-end:12px;max-width:864px}.markdown-editor-display [drawio-diagram]{cursor:pointer}.markdown-editor-display [drawio-diagram]:hover{outline:2px solid var(--color-primary)}html.markdown-editor-display.dark-mode{background-color:#222}html.markdown-editor-display.dark-mode body{background-color:#222}.editor-toolbar{height:32px;width:100%;font-size:11px;line-height:1.6;border-bottom:1px solid #ccc;background-color:#fff}html.dark-mode .editor-toolbar{background-color:#333}.editor-toolbar{border-color:#ccc}html.dark-mode .editor-toolbar{border-color:#000}.editor-toolbar{flex:none}html.dark-mode .editor-toolbar button{color:#aaa}.editor-toolbar .buttons{font-size:14px}.editor-toolbar .buttons .dropdown-menu{padding:0}.editor-toolbar .buttons .toggle-switch{margin:12px 0}.editor-toolbar .buttons button{font-size:.9rem;width:2rem;text-align:center;border-left:1px solid;border-color:#ddd}html.dark-mode .editor-toolbar .buttons button{border-color:#555}.editor-toolbar .buttons button svg{margin-inline-end:0}.editor-toolbar .buttons button:hover{background-color:#ddd}html.dark-mode .editor-toolbar .buttons button:hover{background-color:#222}label{color:#666}html.dark-mode label{color:#ddd}label{display:block;line-height:1.4em;font-size:.94em;font-weight:400;padding-bottom:2px;margin-bottom:.2em}label.inline{display:inline-block}label.radio,label.checkbox{font-weight:400;user-select:none}label.radio input[type=radio],label.radio input[type=checkbox],label.checkbox input[type=radio],label.checkbox input[type=checkbox]{margin-inline-end:6px}label.inline.checkbox{margin-inline-end:16px}label+p.small{margin-bottom:.8em}table.form-table{max-width:100%}table.form-table td{overflow:hidden;padding:1.5px 0}select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:url("data:image/svg+xml;utf8,");background-size:10px 12px;background-position:calc(100% - 20px) 64%;background-repeat:no-repeat}html[dir=rtl] select{background-position:20px 70%}input[type=date]{width:190px}input[type=color]{height:60px}input[type=color].small{height:42px;width:60px;padding:2px}.toggle-switch{user-select:none;display:inline-grid;grid-template-columns:28px 1fr;align-items:center;margin:16px 0}.toggle-switch .custom-checkbox{width:16px;height:16px;border-radius:2px;display:inline-block;border:2px solid currentColor;overflow:hidden;fill:currentColor}.toggle-switch .custom-checkbox .svg-icon{width:100%;height:100%;margin:0;bottom:auto;top:-1.5px;left:0;transition:transform ease-in-out 120ms;transform:scale(0);transform-origin:center center}.toggle-switch input[type=checkbox]{display:none}.toggle-switch input[type=checkbox]:checked+.custom-checkbox .svg-icon{transform:scale(1)}.toggle-switch .custom-checkbox:hover{background-color:rgba(0,0,0,.05);opacity:.8}.toggle-switch input[type=checkbox][disabled]~*{opacity:.8;cursor:not-allowed}.toggle-switch input[type=checkbox][disabled]~.custom-checkbox{border-color:#999;color:#999 !important;background:#f2f2f2}.toggle-switch-list .toggle-switch{margin:6px 0}.toggle-switch-list.compact .toggle-switch{margin:1px 0}.form-group{margin-bottom:12px}.setting-list>div{border-bottom:1px solid #ddd;padding:32px 0}.setting-list>div:last-child{border-bottom:none}.setting-list-label{color:#222}html.dark-mode .setting-list-label{color:#ddd}.setting-list-label{color:#222;font-size:1rem}.setting-list-label+p.small{margin-bottom:0}.setting-list-label+.grid{margin-top:16px}.setting-list .grid input[type=text],.setting-list .grid input[type=email],.setting-list .grid input[type=password],.setting-list .grid select,.stretch-inputs input[type=text],.stretch-inputs input[type=email],.stretch-inputs input[type=password],.stretch-inputs select{width:100%}.small-inputs input{width:150px}.simple-code-input{background-color:#f8f8f8;font-family:monospace;font-size:12px;min-height:100px;display:block;width:100%}.form-group div.text-pos,.form-group div.text-neg,.form-group p.text-post,.form-group p.text-neg{padding:6px 0}.form-group.collapsible{padding:0 16px;border:1px solid;border-color:#ddd}html.dark-mode .form-group.collapsible{border-color:#000}.form-group.collapsible{border-radius:4px}.form-group.collapsible .collapse-title{margin-inline-start:-16px;margin-inline-end:-16px;padding:12px 16px;display:block;width:calc(100% + 32px);text-align:start}.form-group.collapsible .collapse-title,.form-group.collapsible .collapse-title label{cursor:pointer}.form-group.collapsible .collapse-title label{padding-bottom:0;margin-bottom:0;color:inherit}.form-group.collapsible .collapse-title label:before{display:inline-block;content:"▸";margin-inline-end:16px;transition:all ease-in-out 400ms;transform:rotate(0)}.form-group.collapsible .collapse-content{display:none;padding-bottom:16px}.form-group.collapsible.open .collapse-title label:before{transform:rotate(90deg)}.form-group.ambrosia-container,.form-group.ambrosia-container *{position:absolute !important;height:1px !important;width:1px !important;margin:-1px !important;padding:0 !important;background:rgba(0,0,0,0) !important;color:rgba(0,0,0,0) !important;border:none !important;overflow:hidden !important;clip:rect(0, 0, 0, 0) !important;white-space:nowrap !important}.title-input input[type=text]{display:block;width:100%;padding:12px;margin-top:0;font-size:2em;height:auto}.description-input textarea{display:block;width:100%;padding:12px;font-size:14px;color:#666;height:auto}.description-input>.tox-tinymce{border:1px solid #ddd !important;border-color:#ddd !important}html.dark-mode .description-input>.tox-tinymce{border-color:#000 !important}.description-input>.tox-tinymce{border-radius:3px}.description-input>.tox-tinymce .tox-toolbar__primary{justify-content:end}.search-box{max-width:100%;position:relative}.search-box button[tabindex="-1"]{background-color:rgba(0,0,0,0);border:none;color:#666}html.dark-mode .search-box button[tabindex="-1"]{color:#aaa}.search-box button[tabindex="-1"]{padding:0;cursor:pointer;position:absolute;inset-inline-start:8px;top:10px}.search-box input{display:block;padding:9px;padding-inline-start:28px;width:300px;max-width:100%;height:auto}.search-box.flexible input{width:100%}.search-box button.search-box-cancel{left:auto;right:0}.contained-search-box{display:flex;height:38px;z-index:-1}.contained-search-box.floating{box-shadow:0 1px 3px 1px rgba(76,76,76,.26);border-radius:4px;overflow:hidden}html.dark-mode .contained-search-box.floating{border:1px solid #000}.contained-search-box input,.contained-search-box button{height:100%;border-radius:0;border:1px solid #ddd;border-color:#ddd}html.dark-mode .contained-search-box input,html.dark-mode .contained-search-box button{border-color:#000}.contained-search-box input,.contained-search-box button{margin-inline-start:-1px}.contained-search-box input:last-child,.contained-search-box button:last-child{border-inline-end:0}.contained-search-box input{border:0;flex:5;padding:6px 12px}.contained-search-box input:focus,.contained-search-box input:active{outline:1px dotted var(--color-primary);outline-offset:-2px;border:0}.contained-search-box button{border:0;width:48px;border-inline-start:1px solid #ddd;background-color:#fff;background-color:#fff}html.dark-mode .contained-search-box button{background-color:#333}.contained-search-box button{color:#444}html.dark-mode .contained-search-box button{color:#aaa}.contained-search-box button:focus{outline:1px dotted var(--color-primary);outline-offset:-2px}.contained-search-box svg{margin:0}@media screen and (max-width: 600px){.contained-search-box{width:180px}}.outline>input{border:0;border-bottom:2px solid #ddd;border-radius:0}.outline>input:focus,.outline>input:active{border:0;border-bottom:2px solid #aaa;outline:0}.image-picker img{background-color:#bbb;max-width:100%}.custom-file-input{overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px;height:1px;border:0;clip:rect(0, 0, 0, 0)}.custom-file-input:focus+label{border-color:var(--color-primary);outline:1px solid var(--color-primary)}.custom-simple-file-input{max-width:100%;border:1px solid;border-color:#ddd}html.dark-mode .custom-simple-file-input{border-color:#666}.custom-simple-file-input{border-radius:4px;padding:12px 16px}.custom-simple-file-input::file-selector-button{background-color:rgba(0,0,0,0);text-decoration:none;font-size:.8rem;line-height:1.4em;padding:6px 12px;border:1px solid;font-weight:400;outline:0;border-radius:4px;cursor:pointer;margin-right:16px;color:#666}html.dark-mode .custom-simple-file-input::file-selector-button{color:#aaa}.custom-simple-file-input::file-selector-button{border-color:#ccc}html.dark-mode .custom-simple-file-input::file-selector-button{border-color:#666}.custom-simple-file-input::file-selector-button:hover,.custom-simple-file-input::file-selector-button:focus,.custom-simple-file-input::file-selector-button:active{color:#444}html.dark-mode .custom-simple-file-input::file-selector-button:hover,html.dark-mode .custom-simple-file-input::file-selector-button:focus,html.dark-mode .custom-simple-file-input::file-selector-button:active{color:#bbb}.custom-simple-file-input::file-selector-button:hover,.custom-simple-file-input::file-selector-button:focus,.custom-simple-file-input::file-selector-button:active{border:1px solid #ccc;box-shadow:0 1px 4px 0 rgba(0,0,0,.1);background-color:#f2f2f2;background-color:#f8f8f8}html.dark-mode .custom-simple-file-input::file-selector-button:hover,html.dark-mode .custom-simple-file-input::file-selector-button:focus,html.dark-mode .custom-simple-file-input::file-selector-button:active{background-color:#444}.custom-simple-file-input::file-selector-button:hover,.custom-simple-file-input::file-selector-button:focus,.custom-simple-file-input::file-selector-button:active{filter:none}.custom-simple-file-input::file-selector-button:active{border-color:#bbb;background-color:#ddd;color:#666;box-shadow:inset 0 0 2px rgba(0,0,0,.1)}input.shortcut-input{width:auto;max-width:120px;height:auto}.anim.fadeIn{opacity:0;animation-name:fadeIn;animation-duration:120ms;animation-timing-function:ease-in-out;animation-fill-mode:forwards}@keyframes fadeIn{0%{opacity:0}100%{opacity:1}}.search-suggestions-animation{animation-name:searchSuggestions;animation-duration:120ms;animation-fill-mode:forwards;animation-timing-function:cubic-bezier(0.62, 0.28, 0.23, 0.99)}@keyframes searchSuggestions{0%{opacity:.5;transform:scale(0.9)}100%{opacity:1;transform:scale(1)}}@keyframes loadingBob{0%{transform:translate3d(0, 0, 0)}30%{transform:translate3d(0, 0, 0)}50%{transform:translate3d(0, -10px, 0)}70%{transform:translate3d(0, 0, 0)}100%{transform:translate3d(0, 0, 0)}}@keyframes pointer{0%{transform:translate3d(0, 20px, 0) scale3d(0, 0, 0)}100%{transform:translate3d(0, 0, 0) scale3d(1, 1, 1)}}.anim.pointer{transform-origin:50% 100%;animation-name:pointer;animation-duration:180ms;animation-delay:0s;animation-timing-function:cubic-bezier(0.62, 0.28, 0.23, 0.99)}@keyframes highlight{0%{background-color:var(--color-primary-light)}33%{background-color:rgba(0,0,0,0)}66%{background-color:var(--color-primary-light)}100%{background-color:rgba(0,0,0,0)}}.anim-highlight{animation-name:highlight;animation-duration:2s;animation-delay:0s;animation-timing-function:linear}.tox.tox-fullscreen{position:fixed;top:0;height:100%;width:100%;max-width:100%;z-index:100}.tox.tox-tinymce{border-inline:0;border-bottom:0}.page-content.mce-content-body{padding-block-start:1rem;padding-block-end:1rem;outline:0;display:block;max-width:870px}.wysiwyg-input.mce-content-body{padding-block-start:1rem;padding-block-end:1rem;outline:0;display:block}.wysiwyg-input.mce-content-body:before{padding:1rem;top:4px;font-style:italic;color:rgba(34,47,62,.5)}html.dark-mode .wysiwyg-input.mce-content-body:before{color:rgba(155,155,155,.5)}.page-content.mce-content-body doc-root{display:block}.page-content.mce-content-body code-block{display:block}body.page-content.mce-content-body{padding-bottom:5rem}.tox .tox-pop__dialog .tox-toolbar{background:rgba(0,0,0,0) !important}.tox-toolbar__primary{justify-content:center}.page-content.mce-content-body code-block>*{pointer-events:none}.page-content.mce-content-body code-block pre{display:none}.page-content.mce-content-body details summary{pointer-events:none}.page-content.mce-content-body details doc-root{padding:12px;margin-left:-10px;margin-right:-10px;margin-bottom:-10px;margin-top:-10px;overflow:hidden}.page-content.mce-content-body .mce-preview-object.align-right{float:right !important;margin:6px 0 6px 12px}.page-content.mce-content-body .mce-preview-object.align-left{float:left !important;margin:6px 16px 16px 0}.page-content.mce-content-body .mce-preview-object.align-center{display:block;margin-left:auto;margin-right:auto}.page-content.mce-content-body .mce-preview-object iframe,.page-content.mce-content-body .mce-preview-object video{display:block;margin:0 !important;float:none !important}.page-content.mce-content-body td[data-mce-selected]::after,.page-content.mce-content-body th[data-mce-selected]::after{top:1px;left:1px;bottom:1px;right:1px;outline:1px dashed #1a85ff;outline-offset:0}.dark-mode .tox .tox-toolbar__primary,.dark-mode .tox .tox-menu,.dark-mode .tox .tox-dialog__header,.dark-mode .tox .tox-dialog,.dark-mode .tox .tox-dialog__footer,.dark-mode .tox .tox-pop__dialog,.dark-mode .tox.tox-tinymce-aux .tox-toolbar__overflow{background-color:#333 !important}.dark-mode .tox .tox-tbtn svg,.dark-mode .tox .tox-tbtn,.dark-mode .tox .tox-collection--list .tox-collection__item--active:not(.tox-collection__item--state-disabled){color:#dbdbdb;fill:#dbdbdb}.tox .tox-tbtn--bespoke .tox-tbtn__select-label{width:6em !important}.tox-menu .tox-collection__item blockquote::before{content:none}.tox-menu .tox-collection__item blockquote{border-left:4px solid var(--color-primary) !important;padding:4px 6px !important}.tox-menu .tox-collection__item blockquote{border-left:4px solid var(--color-primary) !important;padding:4px 6px !important}.tox-menu .tox-collection__item p[style*=background-color]{padding:4px 6px !important;border-left:3px solid currentColor !important}.tox-menu .tox-collection__item[title^="<"]>div>div{font-family:var(--font-code) !important;border:1px solid #ddd !important;background-color:#eee !important;padding:4px 6px !important}.tox-menu .tox-collection__item-label{line-height:normal !important}.page-content.mce-content-body .task-list-item{margin-inline-start:0;position:relative}.page-content.mce-content-body .task-list-item>input[type=checkbox]{display:none}.page-content.mce-content-body .task-list-item:before{content:"";display:inline-block;border:2px solid #ccc;width:12px;height:12px;border-radius:2px;margin-inline-end:8px;vertical-align:text-top;cursor:pointer;position:absolute;inset-inline-start:-24px;top:4px}.page-content.mce-content-body .task-list-item[checked]:before{background-color:#ccc;background-image:url('data:image/svg+xml;utf8,');background-position:50% 50%;background-size:100% 100%}.page-content.mce-content-body [drawio-diagram]{cursor:pointer}:root{--editor-color-primary: #206ea7}.editor-container{background-color:#fff}html.dark-mode .editor-container{background-color:#222}.editor-container{position:relative}.editor-container.fullscreen{z-index:500}.editor-toolbar-main{display:flex;flex-wrap:wrap;justify-content:center;border-top:1px solid #ddd;border-bottom:1px solid #ddd;border-color:#ddd}html.dark-mode .editor-toolbar-main{border-color:#000}@media screen and (max-width: 1100px){.editor-toolbar-main{overflow-x:scroll;flex-wrap:nowrap;justify-content:start}}body.editor-is-fullscreen{overflow:hidden}body.editor-is-fullscreen .edit-area{z-index:20}.editor-content-area{min-height:100%;padding-block:1rem}.editor-content-area:focus{outline:0}.editor-content-wrap{position:relative;overflow-y:scroll;padding-inline:12px;flex:1}.comment-editor-container,.basic-editor-container{border-left:1px solid #ddd;border-right:1px solid #ddd;border-bottom:1px solid #ddd;border-radius:3px;border-color:#ddd}html.dark-mode .comment-editor-container,html.dark-mode .basic-editor-container{border-color:#000}.comment-editor-container .editor-toolbar-main,.basic-editor-container .editor-toolbar-main{border-radius:3px 3px 0 0;justify-content:end}.basic-editor-container .editor-content-area{padding-bottom:0}.editor-button{font-size:12px;padding:4px;color:#444;color:#444}html.dark-mode .editor-button{color:#999}.editor-button{border-radius:4px;display:flex;align-items:center;justify-content:center;margin:2px}.editor-button:hover{background-color:#eee;background-color:#eee}html.dark-mode .editor-button:hover{background-color:#333}.editor-button:hover{cursor:pointer;color:#000}.editor-button[disabled]{pointer-events:none;cursor:not-allowed;opacity:.6}.editor-button-active,.editor-button-active:hover{background-color:#ceebff}html.dark-mode .editor-button-active,html.dark-mode .editor-button-active:hover{background-color:#444}.editor-button-active,.editor-button-active:hover{color:#000}.editor-button-long{display:flex !important;flex-direction:row;align-items:center;justify-content:start;gap:.5rem}.editor-button-text{font-weight:400;color:#000}html.dark-mode .editor-button-text{color:#aaa}.editor-button-text{font-size:14px;flex:1;padding-inline-end:4px}.editor-button-format-preview{padding:4px 6px;display:block}.editor-button-long .editor-button-icon{width:24px;height:24px}.editor-button-icon svg{width:24px;height:24px;color:inherit;fill:currentColor;display:block}.editor-menu-button-icon{width:24px;height:24px}.editor-menu-button-icon svg{fill:#888}.editor-container[dir=rtl] .editor-menu-button-icon{rotate:180deg}.editor-button-with-menu-container{display:flex;flex-direction:row;gap:0;align-items:stretch;border-radius:4px}.editor-button-with-menu-container .editor-dropdown-menu-container{display:flex}.editor-button-with-menu-container .editor-dropdown-menu-container>.editor-dropdown-menu{top:100%}.editor-button-with-menu-container .editor-dropdown-menu-container>.editor-button{padding-inline:4px;margin-inline-start:-3px}.editor-button-with-menu-container .editor-dropdown-menu-container>.editor-button svg{width:12px;height:12px}.editor-button-with-menu-container:hover{outline:1px solid;outline-color:#ddd}html.dark-mode .editor-button-with-menu-container:hover{outline-color:#111}.editor-button-with-menu-container:hover{outline-offset:-3px}.editor-dropdown-menu-container{position:relative}.editor-dropdown-menu{position:absolute;border:1px solid;background-color:#fff}html.dark-mode .editor-dropdown-menu{background-color:#292929}.editor-dropdown-menu{border-color:#fff}html.dark-mode .editor-dropdown-menu{border-color:#333}.editor-dropdown-menu{box-shadow:0 0 6px 0 rgba(0,0,0,.15)}html.dark-mode .editor-dropdown-menu{box-shadow:0 1px 4px 0 rgba(0,0,0,.4)}.editor-dropdown-menu{z-index:99;display:flex;flex-direction:row;border-radius:3px}.editor-dropdown-menu-vertical{display:flex;flex-direction:column;align-items:stretch;min-width:160px}.editor-dropdown-menu-vertical .editor-button{border-bottom:0;text-align:start;display:block;width:100%}.editor-dropdown-menu-vertical>.editor-dropdown-menu-container .editor-dropdown-menu{inset-inline-start:100%;top:0}.editor-separator{display:block;height:1px;opacity:.8;background-color:#ddd}html.dark-mode .editor-separator{background-color:#000}.editor-format-menu-toggle{width:130px;height:32px;font-size:13px;overflow:hidden;padding-inline:12px;justify-content:start;background-image:url('data:image/svg+xml;utf8,');background-repeat:no-repeat;background-position:98% 50%;background-size:28px}.editor-container[dir=rtl] .editor-format-menu-toggle{background-position:2% 50%}.editor-format-menu .editor-dropdown-menu{min-width:300px}.editor-format-menu .editor-dropdown-menu .editor-dropdown-menu{min-width:220px}.editor-format-menu .editor-dropdown-menu .editor-button-icon{display:none}.editor-format-menu .editor-dropdown-menu .editor-dropdown-menu-container>.editor-button{padding:8px 10px}.editor-overflow-container{display:flex;border-inline:1px solid #ddd;padding-inline:4px;border-color:#ddd}html.dark-mode .editor-overflow-container{border-color:#000}.editor-overflow-container:first-child{border-inline-start:none}.editor-overflow-container:last-child{border-inline-end:none}.editor-overflow-container+.editor-overflow-container{border-inline-start:none}.editor-context-toolbar{position:fixed;border:1px solid #ddd;background-color:#fff}html.dark-mode .editor-context-toolbar{background-color:#222}.editor-context-toolbar{border-color:#ddd}html.dark-mode .editor-context-toolbar{border-color:#333}.editor-context-toolbar{box-shadow:0 2px 4px 0 rgba(0,0,0,.12)}html.dark-mode .editor-context-toolbar{box-shadow:0 1px 4px 0 rgba(0,0,0,.4)}.editor-context-toolbar{padding:.2rem;border-radius:4px;display:flex;flex-direction:row}.editor-context-toolbar:before{content:"";z-index:-1;display:block;width:8px;height:8px;position:absolute;background-color:#fff}html.dark-mode .editor-context-toolbar:before{background-color:#222}.editor-context-toolbar:before{border-top:1px solid #ddd;border-left:1px solid #ddd;border-color:#ddd}html.dark-mode .editor-context-toolbar:before{border-color:#333}.editor-context-toolbar:before{transform:rotate(45deg);left:50%;margin-left:-4px;top:-5px}.editor-context-toolbar.is-above:before{top:calc(100% - 5px);transform:rotate(225deg)}.editor-modal-wrapper{position:fixed;display:flex;align-items:center;justify-content:center;z-index:999;background-color:rgba(0,0,0,.5);width:100%;height:100%}.editor-modal{background-color:#fff}html.dark-mode .editor-modal{background-color:#222}.editor-modal{border-radius:4px;overflow:hidden;box-shadow:0 0 15px 0 rgba(0,0,0,.3);margin:6px;max-height:100%;overflow-y:auto}.editor-modal-header{display:flex;justify-content:space-between;align-items:stretch;background-color:var(--color-primary);color:#fff}.editor-modal-title{padding:8px 16px}.editor-modal-close{color:#fff;padding:8px 16px;align-items:center;justify-content:center;cursor:pointer}.editor-modal-close:hover{background-color:hsla(0,0%,100%,.1)}.editor-modal-close svg{width:1rem;height:1rem;fill:currentColor;display:block}.editor-modal-body{padding:16px}.editor-color-select-row{display:flex}.editor-color-select-option{width:28px;height:28px;cursor:pointer;display:flex;align-items:center;justify-content:center}.editor-color-select-option:hover{border-radius:3px;box-sizing:border-box;z-index:3;box-shadow:0 0 4px 1px rgba(0,0,0,.25)}.editor-color-select-option[data-color=""] svg{width:20px;height:20px;fill:#888}.editor-table-creator-row{display:flex}.editor-table-creator-cell{border:1px solid;border-color:#ddd}html.dark-mode .editor-table-creator-cell{border-color:#000}.editor-table-creator-cell{width:15px;height:15px;cursor:pointer}.editor-table-creator-cell.active{background-color:var(--editor-color-primary)}.editor-table-creator-display{text-align:center;padding:.2em}.editor-external-content{min-width:500px;min-height:500px}.editor-external-content h4:first-child{margin-top:0}.editor-image-wrap{position:relative;display:inline-flex}.editor-node-resizer{position:absolute;left:0;right:auto;display:inline-block;outline:2px dashed var(--editor-color-primary);direction:ltr;pointer-events:none}.editor-node-resizer-handle{pointer-events:auto;position:absolute;display:block;width:10px;height:10px;border:2px solid var(--editor-color-primary);z-index:3;background-color:#fff}html.dark-mode .editor-node-resizer-handle{background-color:#000}.editor-node-resizer-handle{user-select:none}.editor-node-resizer-handle.nw{inset-inline-start:-5px;inset-block-start:-5px;cursor:nw-resize}.editor-node-resizer-handle.ne{inset-inline-end:-5px;inset-block-start:-5px;cursor:ne-resize}.editor-node-resizer-handle.se{inset-inline-end:-5px;inset-block-end:-5px;cursor:se-resize}.editor-node-resizer-handle.sw{inset-inline-start:-5px;inset-block-end:-5px;cursor:sw-resize}.editor-node-resizer-ghost{opacity:.5;display:none;position:absolute;left:0;top:0;width:100%;height:100%;z-index:2;pointer-events:none;background-color:var(--editor-color-primary)}.editor-node-resizer.active .editor-node-resizer-ghost{display:block}.editor-content-area details[contenteditable=false],.editor-content-area summary[contenteditable=false]{user-select:none}.editor-content-area details[contenteditable=false]>details *{pointer-events:none}.editor-content-area details summary{caret-color:rgba(0,0,0,0)}.editor-content-area details.selected{outline:1px dashed var(--editor-color-primary);outline-offset:1px}.editor-content-area [drawio-diagram]{cursor:pointer}.editor-table-marker{position:fixed;background-color:var(--editor-color-primary);z-index:3;user-select:none;opacity:0;transition:opacity 120ms ease-in-out}.editor-table-marker:hover,.editor-table-marker.active{opacity:.4}.editor-table-marker-column{width:4px;cursor:col-resize}.editor-table-marker-row{height:4px;cursor:row-resize}.editor-code-block-wrap{user-select:none}.editor-code-block-wrap>*{pointer-events:none}.editor-code-block-wrap.selected .cm-editor{border:1px dashed var(--editor-color-primary)}.editor-diagram.selected{outline:2px dashed var(--editor-color-primary)}.editor-media-wrap{display:inline-block;cursor:not-allowed}.editor-media-wrap iframe,.editor-media-wrap video{pointer-events:none}.editor-media-wrap.align-left{float:left}.editor-media-wrap.align-right{float:right}.editor-media-wrap.align-center{display:block;margin-inline:auto}.editor-content-area .task-list-item{margin-left:0;position:relative}.editor-content-area .task-list-item>input[type=checkbox]{display:none}.editor-content-area .task-list-item:before{content:"";display:inline-block;border:2px solid #ccc;width:12px;height:12px;border-radius:2px;margin-right:8px;vertical-align:text-top;cursor:pointer;position:absolute;left:-24px;top:4px}.editor-content-area .task-list-item[checked]:before{background-color:#ccc;background-image:url('data:image/svg+xml;utf8,');background-position:50% 50%;background-size:100% 100%}.editor-form-field-wrapper{margin-bottom:.5rem}.editor-form-field-input{display:block;width:260px;min-width:100px;max-width:100%;border:1px solid;border-color:#ddd}html.dark-mode .editor-form-field-input{border-color:#000}.editor-form-field-input{padding:.5rem;border-radius:4px;color:#444}html.dark-mode .editor-form-field-input{color:#bbb}@media screen and (max-width: 400px){.editor-form-field-input{min-width:160px}}textarea.editor-form-field-input{font-family:var(--font-code);width:350px;height:250px;font-size:12px}.editor-form-field-label{color:#444;font-weight:700;font-size:12px}.editor-form-actions{display:flex;justify-content:end;gap:12px;margin-top:16px}.editor-form-actions>button{display:block;font-size:.85rem;line-height:1.4em;padding:7.8px 16px;font-weight:400;border-radius:4px;cursor:pointer;box-shadow:none}.editor-form-actions>button:focus{outline:1px dotted currentColor;outline-offset:-6px;box-shadow:none;filter:brightness(90%)}.editor-form-action-primary{background-color:var(--color-primary);color:#fff;border:1px solid var(--color-primary)}.editor-form-action-primary:hover{box-shadow:0 0 4px 1px #ccc}html.dark-mode .editor-form-action-primary:hover{box-shadow:0 0 4px 1px rgba(0,0,0,.5)}.editor-form-action-primary:hover{filter:brightness(110%)}.editor-form-action-secondary{border:1px solid;border-color:#ccc}html.dark-mode .editor-form-action-secondary{border-color:#666}.editor-form-action-secondary{color:#666}html.dark-mode .editor-form-action-secondary{color:#aaa}.editor-form-action-secondary:hover,.editor-form-action-secondary:focus,.editor-form-action-secondary:active{color:#444}html.dark-mode .editor-form-action-secondary:hover,html.dark-mode .editor-form-action-secondary:focus,html.dark-mode .editor-form-action-secondary:active{color:#bbb}.editor-form-action-secondary:hover,.editor-form-action-secondary:focus,.editor-form-action-secondary:active{border:1px solid #ccc;box-shadow:0 1px 4px 0 rgba(0,0,0,.1);background-color:#f2f2f2;background-color:#f8f8f8}html.dark-mode .editor-form-action-secondary:hover,html.dark-mode .editor-form-action-secondary:focus,html.dark-mode .editor-form-action-secondary:active{background-color:#444}.editor-form-action-secondary:hover,.editor-form-action-secondary:focus,.editor-form-action-secondary:active{filter:none}.editor-form-action-secondary:active{border-color:#bbb;background-color:#ddd;color:#666;box-shadow:inset 0 0 2px rgba(0,0,0,.1)}.editor-form-tab-container{display:flex;flex-direction:row;gap:2rem}.editor-form-tab-controls{display:flex;flex-direction:column;align-items:stretch;gap:.25rem}@media screen and (max-width: 880px){.editor-form-tab-container{flex-direction:column;gap:.5rem}.editor-form-tab-controls{flex-direction:row}}.editor-form-tab-control{font-weight:bold;font-size:14px;color:#444}html.dark-mode .editor-form-tab-control{color:#666}.editor-form-tab-control{border-bottom:2px solid rgba(0,0,0,0);position:relative;cursor:pointer;padding:.25rem .5rem;text-align:start}.editor-form-tab-control[aria-selected=true]{border-color:var(--editor-color-primary);color:var(--editor-color-primary) !important}.editor-form-tab-control[aria-selected=true]:after,.editor-form-tab-control:hover:after{background-color:var(--editor-color-primary);opacity:.15;content:"";display:block;position:absolute;left:0;top:0;width:100%;height:100%}.editor-form-tab-contents{width:260px;max-width:100%}.editor-action-input-container{display:flex;flex-direction:row;align-items:end;justify-content:space-between;gap:.1rem}.editor-action-input-container .editor-button{margin-bottom:12px}.editor-action-input-container input{width:220px}.editor-color-field-container{position:relative}.editor-color-field-container input{padding-left:36px}.editor-color-field-container .editor-dropdown-menu-container{position:absolute;bottom:0}textarea.editor-form-field-input[name=source]{width:1000px;height:600px;max-height:60vh;max-width:80vw}.editor-theme-bold{font-weight:bold}.editor-theme-italic{font-style:italic}.editor-theme-strikethrough{text-decoration-line:line-through}.editor-theme-underline{text-decoration-line:underline}.editor-theme-underline-strikethrough{text-decoration:underline line-through}.cm-editor{font-size:12px;border:1px solid #ddd;line-height:1.4;margin-bottom:24px}.page-content .cm-editor,.CodeMirrorContainer .cm-editor{border-radius:4px}.cm-editor .cm-line{line-height:1.6}.cm-editor .cm-line,.cm-editor .cm-gutter{font-family:var(--font-code)}.dark-mode .cm-editor{border-color:#444}.cm-copy-button{position:absolute;display:flex;align-items:center;justify-content:center;top:-1px;inset-inline-end:-1px;background-color:#eee;border:1px solid #ddd;border-start-end-radius:4px;background-color:#eee}html.dark-mode .cm-copy-button{background-color:#333}.cm-copy-button{border-color:#ddd}html.dark-mode .cm-copy-button{border-color:#444}.cm-copy-button{color:#444}html.dark-mode .cm-copy-button{color:#888}.cm-copy-button{line-height:0;cursor:pointer;z-index:5;user-select:none;opacity:0;pointer-events:none;width:32px;height:32px;transition:background-color linear 60ms,color linear 60ms}.cm-copy-button svg{fill:currentColor}.cm-copy-button.success{background:var(--color-positive);color:#fff}.cm-copy-button:focus{outline:0 !important}.cm-editor:hover .cm-copy-button{user-select:all;opacity:.6;pointer-events:all}.notification{position:fixed;top:0;right:0;margin:32px;padding:16px 24px;background-color:#fff;background-color:#fff}html.dark-mode .notification{background-color:#444}.notification{border-radius:4px;border-inline-start:6px solid currentColor;box-shadow:0 1px 6px 1px rgba(22,22,22,.2);z-index:999999;cursor:pointer;max-width:360px;transition:transform ease-in-out 280ms;transform:translateX(580px);display:grid;grid-template-columns:42px 1fr 12px;color:#444;font-weight:700}.notification span,.notification svg{vertical-align:middle;justify-self:center;align-self:center}.notification svg{width:2.8rem;height:2.8rem;padding-inline-end:12px;fill:currentColor}.notification .dismiss{margin-top:-8px}.notification .dismiss svg{height:1rem;color:#444}html.dark-mode .notification .dismiss svg{color:#888}.notification span{vertical-align:middle;line-height:1.3}html.dark-mode .notification span{color:#bbb}.notification.pos{color:var(--color-positive)}.notification.neg{color:var(--color-negative)}.notification.warning{color:var(--color-warning)}.notification.showing{transform:translateX(0)}.notification.showing:hover{transform:translate3d(0, -2px, 0)}.chapter-contents-toggle{cursor:pointer;margin:0;transition:all ease-in-out 180ms;user-select:none}.chapter-contents-toggle svg[data-icon=caret-right]{margin-inline-end:0;font-size:1rem;transition:all ease-in-out 180ms;transform:rotate(0deg);transform-origin:50% 50%}.chapter-contents-toggle.open svg[data-icon=caret-right]{transform:rotate(90deg)}.chapter-contents-toggle svg[data-icon=caret-right]+*{margin-inline-start:3px}[overlay],.popup-background{background-color:rgba(0,0,0,.333)}html.dark-mode [overlay],html.dark-mode .popup-background{background-color:rgba(0,0,0,.6)}[overlay],.popup-background{position:fixed;z-index:95536;width:100%;height:100%;min-width:100%;min-height:100%;top:0;left:0;right:0;bottom:0;align-items:center;justify-content:center;display:none}.popup-body-wrap{display:flex}.popup-body{background-color:#fff}html.dark-mode .popup-body{background-color:#333}.popup-body{max-height:90%;max-width:1200px;width:90%;height:auto;margin:2% auto;border-radius:4px;box-shadow:0 0 15px 0 rgba(0,0,0,.3);overflow:hidden;z-index:999;display:flex;flex-direction:column;position:relative}.popup-body.small{margin:2% auto;width:800px;max-width:90%}.popup-body.very-small{margin:2% auto;width:600px;max-width:90%}.popup-body:before{display:flex;align-self:flex-start}.popup-body .popup-content{overflow-y:auto}.popup-body:focus{outline:0}.popup-header button,.popup-footer button{margin:0;border-radius:0;box-shadow:none;color:#fff;padding:6px 16px;cursor:pointer}.popup-header button:not(.popup-header-close){font-size:.8rem}.popup-header button:hover{background-color:hsla(0,0%,100%,.1)}.popup-footer{justify-content:end;background-color:var(--color-primary-light);min-height:41px}.popup-footer button{padding:10px 16px}.popup-header-close{border:0;color:#fff;font-size:16px;cursor:pointer}.popup-header-close svg{margin-right:0}.popup-header,.popup-footer{display:flex;position:relative;height:40px;flex:0}.popup-header .popup-title,.popup-footer .popup-title{color:#fff;margin-inline-end:auto;padding:8px 16px}.popup-header.flex-container-row,.popup-footer.flex-container-row{display:flex !important}body.flexbox-support #entity-selector-wrap .popup-body .form-group{height:444px;min-height:444px}#entity-selector-wrap .popup-body .form-group{margin:0}.popup-body .entity-selector-container{flex:1}.dropzone-overlay{position:absolute;display:flex;justify-content:center;align-items:center;font-size:1.333rem;width:98%;height:98%;left:1%;top:1%;border-radius:4px;border:1px dashed var(--color-primary);font-style:italic;box-sizing:content-box;background-clip:padding-box;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='4' height='4' viewBox='0 0 4 4'%3E%3Cpath fill='%23a9a9a9' fill-opacity='0.52' d='M1 3h1v1H1V3zm2-2h1v1H3V1z'%3E%3C/path%3E%3C/svg%3E");background-color:var(--color-primary);color:#fff;opacity:.8;z-index:9;pointer-events:none;animation:dzAnimIn 240ms ease-in-out}.dropzone-landing-area{background-color:var(--color-primary-light);padding:16px 24px;width:100%;border:1px dashed var(--color-primary);color:var(--color-primary);border-radius:4px}@keyframes dzAnimIn{0%{opacity:0;transform:scale(0.7)}60%{transform:scale(1.1)}100%{transform:scale(1);opacity:.8}}@keyframes dzFileItemIn{0%{opacity:.5;transform:translateY(28px)}100%{opacity:1;transform:translateY(0)}}@keyframes dzFileItemOut{0%{opacity:1;transform:translateY(0)}100%{opacity:.5;transform:translateY(28px)}}.dropzone-file-item{width:260px;height:80px;position:relative;display:flex;margin:1rem;flex-direction:row;background:#fff}html.dark-mode .dropzone-file-item{background:#444}.dropzone-file-item{box-shadow:0 1px 6px 1px rgba(22,22,22,.2);border-radius:4px;overflow:hidden;padding-bottom:3px;animation:dzFileItemIn ease-in-out 240ms;transition:transform ease-in-out 120ms,box-shadow ease-in-out 120ms;cursor:pointer}.dropzone-file-item:hover{transform:translateY(-3px);box-shadow:0 3px 8px 1px rgba(22,22,22,.2)}.dropzone-file-item.dismiss{animation:dzFileItemOut ease-in-out 240ms}.dropzone-file-item .loading-container{text-align:start !important;margin:0}.dropzone-file-item-image-wrap{width:80px;position:relative;background-color:var(--color-primary-light)}.dropzone-file-item-image-wrap img{object-fit:cover;width:100%;height:100%;opacity:.8}.dropzone-file-item-text-wrap{flex:1;display:block;padding:1rem;overflow:auto}.dropzone-file-item-progress{position:absolute;bottom:0;left:0;font-size:0;height:3px;background-color:var(--color-primary);transition:width ease-in-out 240ms}.dropzone-file-item-label{line-height:1.2;margin-bottom:.2rem}.dropzone-file-item-label,.dropzone-file-item-status{align-items:center;font-size:.8rem;font-weight:700}.dropzone-file-item-status[data-status]{display:flex;font-size:.6rem;font-weight:500;line-height:1.2}.dropzone-file-item-status[data-status=success]{color:var(--color-positive)}.dropzone-file-item-status[data-status=error]{color:var(--color-negative)}.dropzone-file-item-status[data-status]+.dropzone-file-item-label{display:none}.image-manager-body{min-height:70vh}.image-manager-filter-bar{position:sticky;top:0;z-index:5;background-color:hsla(0,0%,100%,.85)}html.dark-mode .image-manager-filter-bar{background-color:rgba(80,80,80,.85)}.image-manager-filter-bar-bg{position:absolute;left:0;top:0;width:100%;height:100%;opacity:.15;z-index:-1}.image-manager-filters{box-shadow:0 1px 3px 1px rgba(76,76,76,.26);border-radius:4px;overflow:hidden;border-bottom:0 !important}html.dark-mode .image-manager-filters{border:1px solid #000 !important}.image-manager-filters button{line-height:0;background-color:#fff}html.dark-mode .image-manager-filters button{background-color:#333}.image-manager-filters svg{margin:0}.image-manager-list{padding:3px;display:grid;grid-template-columns:repeat(auto-fill, minmax(max(140px, 17%), 1fr));gap:3px;z-index:3}.image-manager-list>div{aspect-ratio:1}.image-manager-list .image{display:block;position:relative;border-radius:0;margin:0;width:100%;text-align:start;padding:0;cursor:pointer;aspect-ratio:1;border-color:#ddd}html.dark-mode .image-manager-list .image{border-color:#000}.image-manager-list .image{transition:all linear 80ms;overflow:hidden}.image-manager-list .image.selected{background-color:var(--color-primary-light);outline:currentColor 3px solid;border-radius:3px;transform:scale3d(0.95, 0.95, 0.95)}.image-manager-list .image img{width:100%;max-width:100%;display:block;object-fit:cover;height:auto}.image-manager-list .image .image-meta{opacity:0;position:absolute;width:100%;bottom:0;left:0;color:#eee;background-color:rgba(0,0,0,.7);font-size:10px;padding:3px 4px;pointer-events:none;transition:opacity ease-in-out 80ms}.image-manager-list .image .image-meta span{display:block}.image-manager-list .image.selected .image-meta,.image-manager-list .image:hover .image-meta,.image-manager-list .image:focus .image-meta{opacity:1}@media screen and (max-width: 880px){.image-manager-list .image .image-meta{display:none}}.image-manager .load-more{text-align:center;padding:12px 16px;clear:both}.image-manager .load-more .loading-container{margin:0}.image-manager .loading-container{text-align:center}.image-manager-list .image-manager-list-warning{grid-column:1/-1;aspect-ratio:auto}.image-manager-warning{background:#fff}html.dark-mode .image-manager-warning{background:#333}.image-manager-warning{color:var(--color-warning);font-weight:bold;border-inline:3px solid var(--color-warning)}.image-manager-sidebar{width:300px;margin:0 auto;overflow-y:auto;overflow-x:hidden;border-inline-start:1px solid #ddd;border-color:#ddd}html.dark-mode .image-manager-sidebar{border-color:#000}.image-manager-sidebar .inner{min-height:auto;padding:16px}.image-manager-sidebar .image-manager-viewer img{max-width:100%;max-height:180px;display:block;margin:0 auto 16px auto;box-shadow:0 1px 21px 1px rgba(76,76,76,.3)}.image-manager-sidebar .image-manager-viewer{height:196px;display:flex;align-items:center;justify-content:center}.image-manager-sidebar .image-manager-viewer a{display:inline-block}@media screen and (max-width: 880px){.image-manager-sidebar{border-inline-start:0}}.image-manager-content{display:flex;flex-direction:column;flex:1;overflow-y:scroll}.image-manager-content .container{width:100%}.image-manager-content .full-tab{text-align:center}.tab-container.bordered [role=tablist] button[role=tab]{border-inline-end:1px solid #ddd;border-inline-end-color:#ddd}html.dark-mode .tab-container.bordered [role=tablist] button[role=tab]{border-inline-end-color:#000}.tab-container.bordered [role=tablist] button[role=tab]:last-child{border-inline-end:none}.tab-container [role=tablist]{display:flex;align-items:end;justify-items:start;text-align:start;border-bottom:1px solid #ddd;border-color:#ddd}html.dark-mode .tab-container [role=tablist]{border-color:#444}.tab-container [role=tablist]{margin-bottom:16px}.tab-container [role=tablist] button[role=tab]{display:inline-block;padding:12px;color:rgba(0,0,0,.5)}html.dark-mode .tab-container [role=tablist] button[role=tab]{color:hsla(0,0%,100%,.5)}.tab-container [role=tablist] button[role=tab]{cursor:pointer;border-bottom:2px solid rgba(0,0,0,0);margin-bottom:-1px}.tab-container [role=tablist] button[role=tab][aria-selected=true]{color:var(--color-link) !important;border-bottom-color:var(--color-link) !important;outline:0 !important}.tab-container [role=tablist] button[role=tab]:hover,.tab-container [role=tablist] button[role=tab]:focus{color:rgba(0,0,0,.8)}html.dark-mode .tab-container [role=tablist] button[role=tab]:hover,html.dark-mode .tab-container [role=tablist] button[role=tab]:focus{color:hsla(0,0%,100%,.8)}.tab-container [role=tablist] button[role=tab]:hover,.tab-container [role=tablist] button[role=tab]:focus{border-bottom-color:rgba(0,0,0,.2)}html.dark-mode .tab-container [role=tablist] button[role=tab]:hover,html.dark-mode .tab-container [role=tablist] button[role=tab]:focus{border-bottom-color:hsla(0,0%,100%,.2)}.tab-container [role=tablist] button[role=tab]:focus{outline:1px dotted var(--color-primary);outline-offset:-2px}.tab-container [role=tablist].controls-card{margin-bottom:0;border-bottom:0;padding:0 6px}.tab-container [role=tabpanel].no-outline:focus{outline:none}.image-picker .none{display:none}.code-editor .CodeMirror{height:auto;min-height:50vh;border-bottom:0}.code-editor .lang-options{overflow-y:scroll;flex-basis:200px;flex-grow:1}.code-editor .lang-options button{display:block;padding:6px 16px;border-bottom:1px solid;color:#333}html.dark-mode .code-editor .lang-options button{color:#aaa}.code-editor .lang-options button{border-bottom-color:#eee}html.dark-mode .code-editor .lang-options button{border-bottom-color:#000}.code-editor .lang-options button{cursor:pointer;width:100%;text-align:left;font-family:var(--font-code);font-size:.7rem;padding-left:30px}.code-editor .lang-options button:hover,.code-editor .lang-options button.active{background-color:var(--color-primary-light);color:var(--color-primary)}.code-editor button.lang-option-favorite-toggle{position:absolute;top:0;left:0;width:28px;font-size:1rem;border:0;line-height:1;padding:2px;z-index:2;height:100%;text-align:center;color:var(--color-primary)}.code-editor button.lang-option-favorite-toggle svg{margin:0}.code-editor button[data-favourite=true]~.action-favourite,.code-editor button[data-favourite=false]~.action-unfavourite{display:none}.code-editor .action-favourite{opacity:.5}.code-editor button:hover~.action-favourite{opacity:1}.code-editor label{background-color:var(--color-primary-light);width:100%;color:var(--color-primary);padding:3px 12px;margin-bottom:0}.code-editor-language-list{position:relative;width:160px;z-index:2;align-items:stretch}.code-editor-language-list input{border-radius:0;border:0;border-bottom:1px solid #ddd;padding:6px 12px;height:auto}.code-editor-main{flex:1;min-width:0}.code-editor-main .cm-editor{margin-bottom:0;z-index:1;max-width:100%;width:100%}.code-editor-body-wrap{height:80vh}@media screen and (max-width: 600px){.code-editor .lang-options{display:none}.code-editor-body-wrap{flex-direction:column}.code-editor-language-list,.code-editor-language-list input{width:100%}}.comments-container{padding-inline:32px}@media screen and (max-width: 880px){.comments-container{padding-inline:6px}}.comment-box{border-radius:4px;border:1px solid #ddd;border-color:#ddd}html.dark-mode .comment-box{border-color:#000}.comment-box{background-color:#fff}html.dark-mode .comment-box{background-color:#222}.comment-box .content{font-size:.666em;padding:6px 12px}.comment-box .content p,.comment-box .content ul,.comment-box .content ol{font-size:14px;margin:.5em 0}.comment-box .actions{opacity:0;transition:opacity ease-in-out 120ms}.comment-box:hover .actions,.comment-box:focus-within .actions{opacity:1}.comment-box .actions button:focus{outline:1px dotted var(--color-primary)}@media screen and (max-width: 880px){.comment-box .actions{opacity:1}}.comment-box .header{border-bottom:1px solid #ddd;padding:6px 12px;border-color:#ddd}html.dark-mode .comment-box .header{border-color:#000}.comment-box .header a{color:inherit}.comment-box .header .text-muted{color:#999}.comment-box .header .meta a,.comment-box .header .meta span{white-space:nowrap}.comment-box .header .right-meta .text-muted{opacity:.8}.comment-thread-indicator{border-inline-start:3px dotted #ddd;border-color:#ddd}html.dark-mode .comment-thread-indicator{border-color:#444}.comment-thread-indicator{margin-inline-start:6px;width:24px;height:calc(100% - 16px)}.comment-reference-indicator-wrap a{float:left;margin-top:6px;font-size:12px;display:inline-block;font-weight:bold;position:relative;border-radius:4px;overflow:hidden;padding:2px 6px 2px 0;margin-inline-end:6px;color:var(--color-link)}.comment-reference-indicator-wrap a span{display:none}.comment-reference-indicator-wrap a.outdated span{display:inline}.comment-reference-indicator-wrap a.outdated.missing{color:var(--color-warning);pointer-events:none}.comment-reference-indicator-wrap a svg{width:24px;margin-inline-end:0}.comment-reference-indicator-wrap a:after{background-color:currentColor;content:"";width:100%;height:100%;position:absolute;left:0;top:0;opacity:.15}.comment-reference-indicator-wrap a[href="#"]{color:#444;pointer-events:none}.comment-branch .comment-box{margin-bottom:16px}.comment-branch .comment-branch .comment-branch .comment-branch .comment-thread-indicator{display:none}.comment-reply{display:none;margin:0 !important;margin-bottom:-3px !important}.comment-branch .comment-branch .comment-branch .comment-branch .comment-reply{display:block}.comment-container .empty-state{display:none}.comment-container:not(:has([component=page-comment])) .empty-state{display:block}.comment-container-compact .comment-box{margin-bottom:6px}.comment-container-compact .comment-box .meta{font-size:.8rem}.comment-container-compact .comment-box .header{padding:6px}.comment-container-compact .comment-box .right-meta{display:none}.comment-container-compact .comment-box .content{padding:6px 12px}.comment-container-compact .comment-thread-indicator{width:16px}.comment-container-super-compact .comment-box .meta{font-size:12px}.comment-container-super-compact .comment-box .avatar{width:22px;height:22px;margin-inline-end:2px !important}.comment-container-super-compact .comment-box .content{padding:3px 12px;line-height:1.2}.comment-container-super-compact .comment-box .content p{font-size:12px}.comment-container-super-compact .comment-thread-indicator{width:9px;margin-inline-start:3px}#tag-manager .drag-card{max-width:500px}.template-item{cursor:pointer;position:relative}.template-item:hover,.template-item .template-item-actions button:hover{background-color:#f2f2f2}.template-item .template-item-actions{position:absolute;top:0;inset-inline-end:0;width:50px;height:100%;display:flex;flex-direction:column;border-inline-start:1px solid;border-color:#ddd}html.dark-mode .template-item .template-item-actions{border-color:#000}.template-item .template-item-actions button{cursor:pointer;flex:1;background-color:#fff}html.dark-mode .template-item .template-item-actions button{background-color:#222}.template-item .template-item-actions button{border:0;border-top:1px solid;border-color:#ddd}html.dark-mode .template-item .template-item-actions button{border-color:#000}.template-item .template-item-actions button svg{margin:0}.template-item .template-item-actions button:first-child{border-top:0}.dropdown-search{position:relative}.dropdown-search-toggle-breadcrumb{border:1px solid rgba(0,0,0,0);border-radius:4px;line-height:normal;padding:6px;opacity:.6;cursor:pointer}.dropdown-search-toggle-breadcrumb:hover{opacity:1;border-color:#ddd}html.dark-mode .dropdown-search-toggle-breadcrumb:hover{border-color:#444}.dropdown-search-toggle-breadcrumb .svg-icon{margin-inline-end:0}.dropdown-search-toggle-select{display:flex;gap:12px;line-height:normal}.dropdown-search-toggle-select .svg-icon{height:26px;width:26px;margin:0}.dropdown-search-toggle-select .avatar{height:22px;width:22px}.dropdown-search-toggle-select .avatar+span{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dropdown-search-toggle-select .dropdown-search-toggle-caret{font-size:1.15rem}.dropdown-search-toggle-select-label{min-width:0;white-space:nowrap}.dropdown-search-toggle-select-caret{line-height:0;margin-left:auto;margin-top:-2px;display:flex;align-items:center}.dropdown-search-dropdown{box-shadow:0 1px 3px 1px rgba(76,76,76,.26);overflow:hidden;min-height:100px;width:240px;display:none;position:absolute;z-index:80;right:0;top:0;margin-top:16px}html[dir=rtl] .dropdown-search-dropdown{right:auto;left:-16px}.dropdown-search-dropdown .dropdown-search-search .svg-icon{position:absolute;left:12px}html[dir=rtl] .dropdown-search-dropdown .dropdown-search-search .svg-icon{right:12px;left:auto}.dropdown-search-dropdown .dropdown-search-search .svg-icon{top:11px;fill:#888;pointer-events:none}.dropdown-search-dropdown .dropdown-search-list{max-height:400px;overflow-y:scroll;text-align:start}.dropdown-search-dropdown .dropdown-search-item{padding:12px 16px;font-size:.8rem}.dropdown-search-dropdown .dropdown-search-item:hover,.dropdown-search-dropdown .dropdown-search-item:focus{background-color:#f2f2f2;background-color:#f2f2f2}html.dark-mode .dropdown-search-dropdown .dropdown-search-item:hover,html.dark-mode .dropdown-search-dropdown .dropdown-search-item:focus{background-color:#444}.dropdown-search-dropdown .dropdown-search-item:hover,.dropdown-search-dropdown .dropdown-search-item:focus{text-decoration:none}.dropdown-search-dropdown input,.dropdown-search-dropdown input:focus{padding-inline-start:32px;border-radius:0;border:0;border-bottom:1px solid #ddd}.dropdown-search-dropdown input:focus{outline:0}.dropdown-search-dropdown .svg-icon{font-size:14px}.dropdown-search-dropdown.compact .dropdown-search-list{max-height:320px}.dropdown-search-dropdown.compact .dropdown-search-item{padding:6px 12px}.dropdown-search-dropdown.compact .avatar{width:22px;height:22px}@media screen and (max-width: 1000px){.dropdown-search-dropdown{inset-inline:16px auto}.dropdown-search-dropdown .dropdown-search-list{max-height:240px}}.item-list{box-shadow:0 1px 3px 0 rgba(0,0,0,.1)}.item-list-row{border:1.5px solid;border-color:#e2e2e2}html.dark-mode .item-list-row{border-color:#444}.item-list-row{border-bottom-width:0}.item-list-row label{padding-bottom:0}.item-list-row:hover{background-color:#f6f6f6}html.dark-mode .item-list-row:hover{background-color:#333}.item-list-row:first-child{border-radius:4px 4px 0 0}.item-list-row:last-child{border-radius:0 0 4px 4px;border-bottom-width:1.5px}.item-list-row:first-child:last-child{border-radius:4px}.item-list-row-toggle-all{visibility:hidden}.item-list-row:hover .item-list-row-toggle-all{visibility:visible}.status-indicator-active,.status-indicator-inactive{width:8px;height:8px;border-radius:50%;display:inline-block}.status-indicator-active{background-color:var(--color-positive)}.status-indicator-inactive{background-color:var(--color-negative)}.shortcut-container{background-color:rgba(0,0,0,.25);pointer-events:none;position:fixed;left:0;top:0;width:100%;height:100%;z-index:99}.shortcut-linkage{position:fixed;box-shadow:0 0 4px 0 #fff;border-radius:3px}.shortcut-hint{position:fixed;padding:3px 3px;font-size:.85rem;font-weight:700;line-height:1;background-color:#eee;border-radius:3px;border:1px solid #b4b4b4;box-shadow:0 1px 1px rgba(0,0,0,.2),0 2px 0 0 hsla(0,0%,100%,.7) inset;color:#333}.back-to-top{background-color:var(--color-primary);position:fixed;bottom:16px;right:24px;padding:5px 7px;cursor:pointer;color:#fff;fill:#fff}.back-to-top svg{width:26.6666666667px;height:26.6666666667px;margin-inline-end:4px}.back-to-top{width:40px;height:40px;border-radius:40px;transition:all ease-in-out 180ms;opacity:0;z-index:999;overflow:hidden}.back-to-top:hover{width:136px;opacity:1 !important}.back-to-top .inner{width:136px}.back-to-top span{position:relative;vertical-align:top;line-height:2}.scroll-box{list-style:none;padding:0;margin:0;max-height:280px;overflow-y:scroll;border:1px solid;border-color:#ddd}html.dark-mode .scroll-box{border-color:#000}.scroll-box{border-radius:3px;min-height:20px;background-color:#eee}html.dark-mode .scroll-box{background-color:#000}.scroll-box-item{border-bottom:1px solid;border-top:1px solid;border-color:#ddd}html.dark-mode .scroll-box-item{border-color:#000}.scroll-box-item{margin-top:-1px;background-color:#fff}html.dark-mode .scroll-box-item{background-color:#222}.scroll-box-item{display:flex;align-items:flex-start;padding:1px}.scroll-box-item:last-child{border-bottom:0}.scroll-box-item:hover{cursor:pointer;background-color:#f8f8f8}html.dark-mode .scroll-box-item:hover{background-color:#333}.scroll-box-item.items-center{align-items:center}.scroll-box-item .handle{color:#aaa;cursor:grab}.scroll-box-item button{opacity:.6;line-height:1}.scroll-box-item .handle svg{margin:0}.scroll-box-item>*{padding:6px 16px}.scroll-box-item .handle+*{padding-left:0}.scroll-box-item:hover .handle{color:#444}html.dark-mode .scroll-box-item:hover .handle{color:#fff}.scroll-box-item:hover button{opacity:1}.scroll-box-item a:hover{text-decoration:none}input.scroll-box-search,.scroll-box-header-item{font-size:.8rem;border:1px solid;border-color:#ddd}html.dark-mode input.scroll-box-search,html.dark-mode .scroll-box-header-item{border-color:#000}input.scroll-box-search,.scroll-box-header-item{background-color:#fff}html.dark-mode input.scroll-box-search,html.dark-mode .scroll-box-header-item{background-color:#222}input.scroll-box-search,.scroll-box-header-item{margin-bottom:-1px;border-radius:3px 3px 0 0;width:100%;max-width:100%;height:auto;line-height:1.4;color:#666}.scroll-box-search+.scroll-box,.scroll-box-header-item+.scroll-box{border-radius:0 0 3px 3px}.scroll-box.configured-option-list [data-action=add]{display:none}.scroll-box.available-option-list [data-action=remove],.scroll-box.available-option-list [data-action=move_up],.scroll-box.available-option-list [data-action=move_down]{display:none}.scroll-box>li.empty-state{display:none}.scroll-box>li.empty-state:last-child{display:list-item}details.section-expander summary{border-top:1px solid #ddd;border-color:#ddd}html.dark-mode details.section-expander summary{border-color:#000}details.section-expander summary{font-weight:bold;font-size:12px;color:#888;cursor:pointer;padding-block:6px}details.section-expander:open summary{margin-bottom:12px}details.section-expander{border-bottom:1px solid #ddd;border-color:#ddd}html.dark-mode details.section-expander{border-color:#000}header.grid{grid-template-columns:minmax(max-content, 2fr) 1fr minmax(max-content, 2fr)}@media screen and (max-width: 1000px){header.grid{grid-template-columns:1fr;grid-row-gap:0}}header{position:relative;display:block;z-index:11;top:0;color:#fafafa;border-bottom:1px solid #ddd;box-shadow:0 1px 6px -1px rgba(0,0,0,.1);border-bottom-color:#ddd}html.dark-mode header{border-bottom-color:#000}header .header-links{display:flex;align-items:center;justify-content:end}header .links{display:inline-block;vertical-align:top}header .links a{display:inline-block;padding:10px 16px;color:#fff;border-radius:3px}header .links a:hover{text-decoration:none;background-color:hsla(0,0%,100%,.15)}header .dropdown-container{padding-inline-start:16px;padding-inline-end:0}header .avatar,header .user-name{display:inline-block}header .avatar{width:30px;height:30px}header .user-name{vertical-align:top;position:relative;display:inline-flex;align-items:center;cursor:pointer;padding:12px;margin:0 -12px;border-radius:3px;gap:6px;color:#fff}header .user-name>span{padding-inline-start:6px;display:inline-block;line-height:1}header .user-name>svg{font-size:18px;margin-top:-2px;margin-inline-end:0}header .user-name:hover{background-color:hsla(0,0%,100%,.15)}@media screen and (min-width: 1001px)and (max-width: 1100px){header .user-name{padding-inline-start:6px}header .user-name .name{display:none}}.header *,.primary-background *{outline-color:#fff}header .search-box{display:inline-block}header .search-box input{background-color:rgba(0,0,0,.2);border:1px solid hsla(0,0%,100%,.2);border-radius:40px;color:#eee;z-index:2;height:auto;padding:9px;padding-inline-start:40px}header .search-box input:focus{outline:none;border:1px solid hsla(0,0%,100%,.4)}header .search-box input::placeholder{color:#fff;opacity:.6}@media screen and (min-width: 1001px)and (max-width: 1100px){header .search-box{max-width:200px}}header .search-box:focus-within #header-search-box-button{opacity:1}#header-search-box-button{z-index:1;inset-inline-start:16px;top:10px;color:#fff;opacity:.6;color:hsla(0,0%,100%,.8)}html.dark-mode #header-search-box-button{color:#aaa}#header-search-box-button svg{margin-inline-end:0}.global-search-suggestions{display:none;position:absolute;top:-12px;left:0;right:0;z-index:-1;margin-left:-48px;margin-right:-48px;padding-top:56px;border-radius:3px;box-shadow:0 2px 2px 1px rgba(0,0,0,.13);transform-origin:top center;opacity:.5;transform:scale(0.9)}.global-search-suggestions .entity-item-snippet p{display:none}.global-search-suggestions .entity-item-snippet{font-size:.8rem}.global-search-suggestions .entity-list-item-name{font-size:.9rem;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}.global-search-suggestions .global-search-loading{position:absolute;width:100%}header .search-box.search-active:focus-within .global-search-suggestions{display:block}header .search-box.search-active:focus-within input{background-color:#eee}html.dark-mode header .search-box.search-active:focus-within input{background-color:#333}header .search-box.search-active:focus-within input{border-color:#ddd}html.dark-mode header .search-box.search-active:focus-within input{border-color:#111}header .search-box.search-active:focus-within #header-search-box-button,header .search-box.search-active:focus-within input{color:#444}html.dark-mode header .search-box.search-active:focus-within #header-search-box-button,html.dark-mode header .search-box.search-active:focus-within input{color:#aaa}.logo{display:inline-flex;padding:6px 12px;margin:6px -12px;gap:12px;align-items:center;border-radius:4px}.logo:hover{color:#fff;text-decoration:none;background-color:hsla(0,0%,100%,.15)}.logo-text{font-size:1.8em;color:#fff;font-weight:400;line-height:1}.logo-image{height:43px}.mobile-menu-toggle{color:#fff;fill:#fff;font-size:2em;border:2px solid hsla(0,0%,100%,.8);border-radius:4px;padding:0 6px;line-height:1;cursor:pointer;user-select:none}.mobile-menu-toggle svg{margin:0;bottom:-2px}@media screen and (max-width: 1000px){header .header-links{background-color:#fff}html.dark-mode header .header-links{background-color:#333}header .header-links{display:none;z-index:10;inset-inline-end:16px;border-radius:4px;overflow:hidden;position:absolute;box-shadow:0 2px 2px 1px rgba(0,0,0,.13);margin-top:16px;padding:6px 0}header .header-links.show{display:block}header .links a,header .dropdown-container ul li a,header .dropdown-container ul li button{text-align:start;display:grid;align-items:center;padding:8px 16px;gap:16px;color:#444;grid-template-columns:16px auto;line-height:1.4;color:#444}html.dark-mode header .links a,html.dark-mode header .dropdown-container ul li a,html.dark-mode header .dropdown-container ul li button{color:#eee}header .links a svg,header .dropdown-container ul li a svg,header .dropdown-container ul li button svg{margin-inline-end:12px;width:16px}header .links a:hover,header .dropdown-container ul li a:hover,header .dropdown-container ul li button:hover{background-color:var(--color-primary-light);color:var(--color-primary);text-decoration:none}header .links a:focus,header .dropdown-container ul li a:focus,header .dropdown-container ul li button:focus{background-color:#eee}html.dark-mode header .links a:focus,html.dark-mode header .dropdown-container ul li a:focus,html.dark-mode header .dropdown-container ul li button:focus{background-color:#333}header .links a:focus,header .dropdown-container ul li a:focus,header .dropdown-container ul li button:focus{outline-color:var(--color-primary);color:var(--color-primary)}header .dropdown-container{display:block;padding-inline-start:0}header .links{display:block}header .dropdown-container ul{display:block !important;position:relative;background-color:rgba(0,0,0,0);border:0;padding:0;margin:0;box-shadow:none}}.tri-layout-mobile-tabs{position:sticky;top:0;z-index:5;background-color:#fff;border-bottom:1px solid #ddd;border-bottom-color:#ddd}html.dark-mode .tri-layout-mobile-tabs{border-bottom-color:#333}.tri-layout-mobile-tabs{box-shadow:0 1px 6px -1px rgba(0,0,0,.1)}.tri-layout-mobile-tab{text-align:center;border-bottom:3px solid #bbb;cursor:pointer;margin:0;background-color:#fff}html.dark-mode .tri-layout-mobile-tab{background-color:#222}.tri-layout-mobile-tab{border-bottom-color:#bbb}html.dark-mode .tri-layout-mobile-tab{border-bottom-color:#333}.tri-layout-mobile-tab:first-child{border-inline-end:1px solid #ddd;border-inline-end-color:#ddd}html.dark-mode .tri-layout-mobile-tab:first-child{border-inline-end-color:#000}.tri-layout-mobile-tab[aria-selected=true]{border-bottom-color:currentColor !important}.breadcrumbs{display:flex;flex-direction:row;align-items:center;justify-content:flex-start;flex-wrap:wrap;opacity:.7}.breadcrumbs .icon-list-item{width:auto;padding-top:6px;padding-bottom:6px}.breadcrumbs .separator{display:inline-block;fill:#aaa;font-size:1.6em;line-height:.8;margin:-2px 0 0}.breadcrumbs:hover,.breadcrumbs:focus-within{opacity:1}@media(prefers-contrast: more){.breadcrumbs{opacity:1}}@media screen and (max-width: 1000px){.breadcrumbs .icon-list-item{padding:6px}.breadcrumbs .icon-list-item>span+span{display:none}.breadcrumbs .icon-list-item>span:first-child{margin-inline-end:0}}.faded a,.faded button,.faded span,.faded span>div{color:#666;fill:#666}.faded .text-button{opacity:.5;transition:all ease-in-out 120ms}.faded .text-button:hover{opacity:1;text-decoration:none}.faded span.faded-text{display:inline-block;padding:12px}footer{flex-shrink:0;padding:1rem 1rem 2rem 1rem;text-align:center}footer a{margin:0 .5em}body.flexbox footer{display:none}.book-contents .entity-list-item .icon{width:4px;border-radius:1px;justify-self:stretch;align-self:stretch;height:auto;margin-inline-end:6px}.book-contents .entity-list-item .icon:after{opacity:.5}.book-contents .entity-list-item .icon svg{display:none}.book-contents .entity-list-item p{margin-bottom:0}.book-contents .entity-list-item .inner-page{padding-top:0;padding-bottom:0}.entity-list-item+.chapter-expansion{display:flex;padding:0 16px 16px 16px;align-items:center;border:0;width:100%;position:relative}.entity-list-item+.chapter-expansion>.icon{width:4px;height:auto;border-radius:0 0 1px 1px;align-self:stretch;flex-shrink:0}.entity-list-item+.chapter-expansion>.icon:before{position:absolute;top:0;left:0;width:100%;height:1px;background-color:currentColor;content:"";opacity:.5}.entity-list-item+.chapter-expansion>.icon:after{opacity:.5}.entity-list-item+.chapter-expansion .icon svg{display:none}.entity-list-item+.chapter-expansion>.content{flex:1}.entity-list-item+.chapter-expansion .chapter-contents-toggle{border-radius:0 4px 4px 0;padding:6px 19px;width:100%;text-align:start}.entity-list-item+.chapter-expansion .chapter-contents-toggle:hover{background-color:rgba(0,0,0,.06)}.entity-list-item.has-children{padding-bottom:0}.entity-list-item.has-children>.icon{border-radius:4px 4px 0 0}.inset-list{display:none}.inset-list .entity-list-item-name{font-size:1rem}.inset-list .entity-list-item-children{padding-top:0;padding-bottom:0}.sidebar-page-nav{list-style:none;margin-block-start:12px;margin-block-end:16px;margin-inline-start:6px;margin-inline-end:0;position:relative;padding-inline:0;display:block}.sidebar-page-nav:after{content:"";display:block;position:absolute;left:0}html[dir=rtl] .sidebar-page-nav:after{left:auto;right:0}.sidebar-page-nav:after{background-color:rgba(0,0,0,.2)}html.dark-mode .sidebar-page-nav:after{background-color:hsla(0,0%,100%,.2)}.sidebar-page-nav:after{width:2px;top:5px;bottom:5px;z-index:0}.sidebar-page-nav li{margin-bottom:4px;font-size:.95em;position:relative}.sidebar-page-nav .h1{padding-inline-start:16px}.sidebar-page-nav .h2{padding-inline-start:24px}.sidebar-page-nav .h3{padding-inline-start:32px}.sidebar-page-nav .h4{padding-inline-start:40px}.sidebar-page-nav .h5{padding-inline-start:48px}.sidebar-page-nav .h6{padding-inline-start:56px}.sidebar-page-nav .current-heading{font-weight:bold}.sidebar-page-nav li:not(.current-heading) .sidebar-page-nav-bullet{background-color:#bbb !important}html.dark-mode .sidebar-page-nav li:not(.current-heading) .sidebar-page-nav-bullet{background-color:#666 !important}.sidebar-page-nav .sidebar-page-nav-bullet{width:6px;height:6px;position:absolute;left:-2px;top:30%;border-radius:50%;box-shadow:0 0 0 6px #f2f2f2;box-shadow:0 0 0 6px #f2f2f2}html.dark-mode .sidebar-page-nav .sidebar-page-nav-bullet{box-shadow:0 0 0 6px #111}.sidebar-page-nav .sidebar-page-nav-bullet{z-index:1}html[dir=rtl] .sidebar-page-nav .sidebar-page-nav-bullet{left:auto;right:-2px}.toolbox-tab-content .sidebar-page-nav .sidebar-page-nav-bullet{box-shadow:0 0 0 6px #fff}.toolbox-tab-content .sidebar-page-nav li{font-size:1em}.book-tree .sidebar-page-list{list-style:none;margin-block-start:6px;margin-block-end:0;margin-inline-start:-12px;margin-inline-end:-12px;padding-inline-start:0;padding-inline-end:0}.book-tree .sidebar-page-list ul{list-style:none;padding-inline-start:1rem;padding-inline-end:0}.book-tree .sidebar-page-list .entity-list-item{padding-top:2px;padding-bottom:2px;background-clip:content-box;border-radius:0 3px 3px 0;padding-inline-end:0}.book-tree .sidebar-page-list .entity-list-item .content{width:100%;padding-top:6px;padding-bottom:6px;max-width:calc(100% - 20px)}.book-tree .sidebar-page-list .entity-list-item.selected{background-color:rgba(0,0,0,.06)}html.dark-mode .book-tree .sidebar-page-list .entity-list-item.selected{background-color:hsla(0,0%,100%,.06)}.book-tree .sidebar-page-list .entity-list-item.no-hover{margin-top:-6px;padding-inline-end:0}.book-tree .sidebar-page-list .entity-list-item-name{font-size:1em;margin:0;margin-inline-end:16px}.book-tree .sidebar-page-list .chapter-child-menu{font-size:.8rem;margin-top:-0.2rem;margin-inline-start:-1rem}.book-tree .sidebar-page-list .chapter-contents-toggle{display:block;width:100%;text-align:start;padding:3px 12px 6px 12px;border-radius:0 3px 3px 0;line-height:1;margin-top:-3px;margin-bottom:-3px}.book-tree .sidebar-page-list .chapter-contents-toggle:hover{background-color:rgba(0,0,0,.06)}html.dark-mode .book-tree .sidebar-page-list .chapter-contents-toggle:hover{background-color:hsla(0,0%,100%,.06)}.book-tree .sidebar-page-list .entity-list-item .icon{z-index:2;width:4px;height:auto;align-self:stretch;flex-shrink:0;border-radius:1px;opacity:.8}.book-tree .sidebar-page-list .entity-list-item .icon:after{opacity:1}.book-tree .sidebar-page-list .entity-list-item .icon svg{display:none}.chapter-child-menu ul.sub-menu{display:none;padding-inline-start:0;position:relative;margin-bottom:0}.sortable-page-list,.sortable-page-sublist{list-style:none}.sort-box{margin-bottom:16px;padding:16px 32px;position:relative}.sort-box summary:focus{outline:1px dashed var(--color-primary);outline-offset:5px}.sort-box::before{pointer-events:none;content:"";border-radius:4px;opacity:.5;border:2px solid var(--color-book);display:block;top:0;bottom:0;left:0;right:0;position:absolute}.sort-box-options{display:flex;flex-wrap:wrap;justify-content:space-between}.sort-box-options .button{margin-inline-start:0}.sortable-page-list{margin-inline-start:0;padding:0}.sortable-page-list .entity-list-item>span:first-child{align-self:flex-start}.sortable-page-list .sortable-selected,.sortable-page-list .sortable-selected:hover{outline:1px dotted var(--color-primary);background-color:var(--color-primary-light) !important}.sortable-page-list .entity-list-item>div{display:block;flex:1}.sortable-page-list>ul{margin-inline-start:0}.sortable-page-list .sortable-page-sublist{margin-bottom:16px;margin-top:0;padding-inline-start:16px}.sortable-page-list li{background-color:#fff}html.dark-mode .sortable-page-list li{background-color:#222}.sortable-page-list li{border:1px solid;border-color:#ddd}html.dark-mode .sortable-page-list li{border-color:#666}.sortable-page-list li{margin-top:-1px;min-height:38px}.sortable-page-list li.text-page,.sortable-page-list li.text-chapter{border-inline-start:2px solid currentColor}.sortable-page-list li:first-child{margin-top:6px}.sortable-page-list li.placeholder{position:relative}.sortable-page-list li.placeholder:before{position:absolute}.sort-box summary{list-style:none;font-size:.9rem;cursor:pointer}.sort-box summary::-webkit-details-marker{display:none}details.sort-box summary .caret-container svg{transition:transform ease-in-out 120ms}details.sort-box[open] summary .caret-container svg{transform:rotate(90deg)}.sort-box-actions .icon-button{opacity:.6}.sort-box .flex-container-row:hover .sort-box-actions .icon-button,.sort-box .flex-container-row:focus-within .sort-box-actions .icon-button{opacity:1}.sort-box-actions .icon-button[disabled]{visibility:hidden}.sort-box-actions .dropdown-menu button[disabled]{display:none}.sort-list-handle{cursor:grab}.activity-list-item{padding:12px 0;display:grid;grid-template-columns:min-content 1fr;grid-column-gap:16px;font-size:.9em}.card .activity-list-item{padding-block:12px}.user-list-item{display:inline-grid;padding:12px;grid-template-columns:min-content 1fr;grid-column-gap:16px;font-size:.9em;align-items:center}.user-list-item>div:first-child{line-height:0}ul.pagination{display:inline-flex;flex-wrap:wrap;list-style:none;margin:16px 0;padding-inline:1px}ul.pagination li:first-child a,ul.pagination li:first-child span{border-radius:3px 0 0 3px}ul.pagination li:last-child a,ul.pagination li:last-child span{border-radius:0 3px 3px 0}ul.pagination a,ul.pagination span{display:block;padding:3px 12px;border:1px solid #ccc;margin-inline-start:-1px;margin-block-end:-1px;user-select:none;color:#555}html.dark-mode ul.pagination a,html.dark-mode ul.pagination span{color:#eee}ul.pagination a,ul.pagination span{border-color:#ccc}html.dark-mode ul.pagination a,html.dark-mode ul.pagination span{border-color:#666}ul.pagination li.disabled{cursor:not-allowed}ul.pagination li.active span{color:#111}html.dark-mode ul.pagination li.active span{color:#eee}ul.pagination li.active span{background-color:rgba(0,0,0,.05)}html.dark-mode ul.pagination li.active span{background-color:rgba(0,0,0,.5)}.compact ul.pagination{margin:0}.entity-list,.icon-list{margin:0 -16px}.entity-list h4,.icon-list h4{margin:0}.entity-list hr,.icon-list hr{margin:0}.entity-list .text-small.text-muted,.icon-list .text-small.text-muted{color:#aaa;font-size:.75em;margin-top:6px}.entity-list .text-muted p.text-muted,.icon-list .text-muted p.text-muted{margin-top:0}.entity-list .page.draft .text-page,.icon-list .page.draft .text-page{color:var(--color-page-draft);fill:var(--color-page-draft)}.entity-list>.dropdown-container,.icon-list>.dropdown-container{display:block}.icon-list hr{margin:12px 16px;max-width:140px;opacity:.25;height:1.1px}.icon-list hr+hr,.icon-list hr:first-child,.icon-list hr:last-child{display:none}.entity-list-item,.icon-list-item{padding:12px 16px;display:flex;align-items:center;gap:16px;background-color:rgba(0,0,0,0);border:0;width:100%;position:relative;word-break:break-word}.entity-list-item h4 a,.icon-list-item h4 a{color:#666}.entity-list-item>span:first-child,.icon-list-item>span:first-child{flex-basis:1.88em;flex:none}.entity-list-item>span:last-child,.icon-list-item>span:last-child{flex:1;text-align:start}.entity-list-item>.content,.icon-list-item>.content{min-width:0}.entity-list-item:not(.no-hover),.icon-list-item:not(.no-hover){cursor:pointer}.entity-list-item:not(.no-hover):hover,.icon-list-item:not(.no-hover):hover{background-color:rgba(0,0,0,.06)}html.dark-mode .entity-list-item:not(.no-hover):hover,html.dark-mode .icon-list-item:not(.no-hover):hover{background-color:hsla(0,0%,100%,.06)}.entity-list-item:not(.no-hover):hover,.icon-list-item:not(.no-hover):hover{text-decoration:none;border-radius:4px}.entity-list-item.outline-hover:hover,.icon-list-item.outline-hover:hover{background-color:rgba(0,0,0,0)}.entity-list-item:focus,.icon-list-item:focus{background-color:#eee}html.dark-mode .entity-list-item:focus,html.dark-mode .icon-list-item:focus{background-color:#222}.entity-list-item:focus,.icon-list-item:focus{outline:1px dotted #666;outline-offset:-2px}.entity-list-item.disabled{pointer-events:none;cursor:not-allowed;opacity:.8;user-select:none;background:var(--bg-disabled)}.entity-list-item-path-sep{display:inline-block;vertical-align:top;position:relative;top:1px}.entity-list-item-path-sep svg{margin-inline-end:0}.split-icon-list-item{display:flex;align-items:center;gap:16px;background-color:rgba(0,0,0,0);border:0;width:100%;position:relative;word-break:break-word;border-radius:4px}.split-icon-list-item>a{padding:12px 16px;display:flex;align-items:center;gap:16px;flex:1}.split-icon-list-item>a:hover{text-decoration:none}.split-icon-list-item .icon{flex-basis:1.88em;flex:none}.split-icon-list-item:hover{background-color:rgba(0,0,0,.06)}html.dark-mode .split-icon-list-item:hover{background-color:hsla(0,0%,100%,.06)}.icon-list-item-dropdown{margin-inline-start:auto;align-self:stretch;display:flex;align-items:stretch;border-inline-start:1px solid rgba(0,0,0,.1);visibility:hidden}.split-icon-list-item:hover .icon-list-item-dropdown,.split-icon-list-item:focus-within .icon-list-item-dropdown{visibility:visible}.icon-list-item-dropdown-toggle{padding:6px;display:flex;align-items:center;cursor:pointer;color:#888}html.dark-mode .icon-list-item-dropdown-toggle{color:#999}.icon-list-item-dropdown-toggle svg{margin:0}.icon-list-item-dropdown-toggle:hover{background-color:rgba(0,0,0,.06)}html.dark-mode .icon-list-item-dropdown-toggle:hover{background-color:hsla(0,0%,100%,.06)}.card .entity-list-item:not(.no-hover,.book-contents .entity-list-item):hover{background-color:#f2f2f2}html.dark-mode .card .entity-list-item:not(.no-hover,.book-contents .entity-list-item):hover{background-color:#2d2d2d}.card .entity-list-item:not(.no-hover,.book-contents .entity-list-item):hover{border-radius:0}.card .entity-list-item .entity-list-item:hover{background-color:#eee}.entity-list-item-children{padding:16px 24px}.entity-list-item-children>div{overflow:hidden;padding:0 0 6px 0}.entity-list-item-children .entity-chip{text-overflow:ellipsis;height:2.5em;overflow:hidden;text-align:start;display:block;white-space:nowrap}.entity-list-item-children>.entity-list>.entity-list-item:last-child{margin-bottom:-6px}.entity-list-item-image{align-self:stretch;width:140px;flex:none;background-size:cover;background-position:50% 50%;border-radius:3px;position:relative;margin-inline-end:24px}.entity-list-item-image.entity-list-item-image-wide{width:220px}.entity-list-item-image .svg-icon{color:#fff}html.dark-mode .entity-list-item-image .svg-icon{color:hsla(0,0%,100%,.6)}.entity-list-item-image .svg-icon{font-size:1.66rem;margin-inline-end:0;position:absolute;bottom:6px;left:6px}@media screen and (max-width: 880px){.entity-list-item-image{width:80px}}.chapter>.entity-list-item-image{width:60px}.entity-list.compact{font-size:8.4px}.entity-list.compact h4,.entity-list.compact a{line-height:1.2}.entity-list.compact .entity-item-snippet{display:none}.entity-list.compact .entity-list-item p{font-size:11.2px;padding-top:6px}.entity-list.compact .entity-list-item p:empty{padding-top:0}.entity-list.compact p{margin:0}.entity-list.compact>p.empty-text{display:block;font-size:14px}.entity-list.compact hr{margin:0}@media screen and (max-width: 880px){.entity-list.compact h4{font-size:1.666em}}.entity-item-tags{font-size:.75rem;opacity:1}.entity-item-tags .primary-background-light{background:rgba(0,0,0,0)}.entity-item-tags .tag-name{background-color:rgba(0,0,0,.05)}.dropdown-container{display:inline-block;vertical-align:top;position:relative}.dropdown-menu{display:none;position:absolute;z-index:999;top:0;list-style:none;inset-inline-end:0;margin:16px 0;background-color:#fff}html.dark-mode .dropdown-menu{background-color:#333}.dropdown-menu{box-shadow:0 1px 6px 0 rgba(0,0,0,.18);border-radius:3px;min-width:180px;padding:6px 0;color:#555}html.dark-mode .dropdown-menu{color:#eee}.dropdown-menu{fill:currentColor;text-align:start !important;max-height:500px;overflow-y:auto}.dropdown-menu.anchor-left{inset-inline-end:auto;inset-inline-start:0}.dropdown-menu.wide{min-width:220px}.dropdown-menu.xl-limited{width:280px;max-width:100%}.dropdown-menu .text-muted{color:#999;fill:#999}.dropdown-menu li.active a{font-weight:600}.dropdown-menu button{width:100%;text-align:start}.dropdown-menu li.border-bottom{border-bottom:1px solid #ddd}.dropdown-menu li hr{margin:6px 0}.dropdown-menu .icon-item,.dropdown-menu .text-item,.dropdown-menu .label-item{padding:8px 16px;color:#555}html.dark-mode .dropdown-menu .icon-item,html.dark-mode .dropdown-menu .text-item,html.dark-mode .dropdown-menu .label-item{color:#eee}.dropdown-menu .icon-item,.dropdown-menu .text-item,.dropdown-menu .label-item{fill:currentColor;white-space:nowrap;line-height:1.4;cursor:pointer}.dropdown-menu .icon-item.break-text,.dropdown-menu .text-item.break-text,.dropdown-menu .label-item.break-text{white-space:normal;word-wrap:break-word;overflow-wrap:break-word}.dropdown-menu .icon-item:hover,.dropdown-menu .icon-item:focus,.dropdown-menu .text-item:hover,.dropdown-menu .text-item:focus,.dropdown-menu .label-item:hover,.dropdown-menu .label-item:focus{text-decoration:none;background-color:var(--color-primary-light);color:var(--color-primary)}.dropdown-menu .icon-item:focus,.dropdown-menu .text-item:focus,.dropdown-menu .label-item:focus{outline:1px solid var(--color-primary);outline-offset:-2px}.dropdown-menu .icon-item svg,.dropdown-menu .text-item svg,.dropdown-menu .label-item svg{margin-inline-end:12px;display:inline-block;width:16px}.dropdown-menu .text-item{display:block}.dropdown-menu .label-item{display:grid;align-items:center;grid-template-columns:auto min-content;gap:16px}.dropdown-menu .label-item>*:nth-child(2){opacity:.7}.dropdown-menu .label-item>*:nth-child(2):hover{opacity:1}.dropdown-menu .icon-item{display:grid;align-items:start;grid-template-columns:16px auto;gap:16px}.dropdown-menu .icon-item svg{margin-inline-end:0;margin-block-start:1px}.tri-layout-right .dropdown-menu,.tri-layout-left .dropdown-menu{inset-inline-end:6px}.featured-image-container{position:relative;overflow:hidden;min-height:140px;background-size:cover;background-position:50% 50%;transition:opacity ease-in-out 240ms}.featured-image-container a{display:block}.featured-image-container img{display:block;width:100%;max-width:100%;height:auto}.featured-image-container-wrap{position:relative}.featured-image-container-wrap .svg-icon{color:#fff}html.dark-mode .featured-image-container-wrap .svg-icon{color:hsla(0,0%,100%,.6)}.featured-image-container-wrap .svg-icon{font-size:2rem;margin-inline-end:0;position:absolute;bottom:10px;left:6px}.grid-card:hover .featured-image-container{opacity:.5}.action-link{background:rgba(0,0,0,0);border:none;color:currentColor;padding:16px 0}.active-link-list a{display:inline-block;padding:12px}.active-link-list a:not(.active){color:#444}html.dark-mode .active-link-list a:not(.active){color:#888}.active-link-list a:hover{background-color:rgba(0,0,0,.05)}html.dark-mode .active-link-list a:hover{background-color:hsla(0,0%,100%,.05)}.active-link-list a:hover{border-radius:4px;text-decoration:none}.active-link-list.in-sidebar a{display:block;margin-bottom:6px}.active-link-list.in-sidebar a.active{border-radius:4px;background-color:rgba(0,0,0,.05)}html.dark-mode .active-link-list.in-sidebar a.active{background-color:hsla(0,0%,100%,.05)}.entity-meta-item{display:flex;line-height:1.2;margin:.6em 0;align-content:start;gap:12px}.entity-meta-item a{line-height:1.2}.entity-meta-item svg{flex-shrink:0;width:1em;margin:0}.page-editor{display:flex;flex-direction:column;align-items:stretch}.page-editor .edit-area{flex:1;flex-direction:column;z-index:10;border-radius:0 0 8px 8px}.page-editor .mce-tinymce{box-shadow:none}.page-editor .mce-top-part::before{box-shadow:none}.page-editor-page-area{width:100%;border-radius:8px;box-shadow:0 1px 6px -1px rgba(0,0,0,.1);min-width:300px;background-color:#fff}html.dark-mode .page-editor-page-area{background-color:#333}.page-edit-toolbar{width:100%;margin:0 auto;display:grid;grid-template-columns:minmax(max-content, 2fr) 1.5fr minmax(max-content, 2fr);align-items:center}@media screen and (min-width: 1401px){.page-editor-wysiwyg2024 .page-edit-toolbar,.page-editor-wysiwyg2024 .page-editor-page-area,.page-editor-wysiwyg .page-edit-toolbar,.page-editor-wysiwyg .page-editor-page-area{max-width:1140px}.page-editor-wysiwyg .floating-toolbox,.page-editor-wysiwyg2024 .floating-toolbox{position:absolute}}@media screen and (max-width: 880px){.page-edit-toolbar{display:flex;flex-direction:row;justify-content:space-between}}.title-input.page-title{font-size:.8em}.title-input.page-title .input{border:0;margin-bottom:-1px}.title-input.page-title input[type=text]{max-width:840px;margin:0 auto;border:none;height:auto;display:block;width:100%;font-size:20px;border-radius:8px}.title-input.page-title input[type=text]:focus{position:relative;outline-offset:-1px;outline:1px dashed var(--color-primary);box-shadow:0 1px 6px -1px rgba(0,0,0,.1);z-index:50}.page-editor-markdown .title-input.page-title input[type=text]{max-width:100%}body.tox-fullscreen .page-editor .edit-area,body.markdown-fullscreen .page-editor .edit-area{z-index:12}body.tox-fullscreen .page-editor,body.tox-fullscreen .flex-fill,body.markdown-fullscreen .page-editor,body.markdown-fullscreen .flex-fill{overflow:visible}@media screen and (max-width: 600px){.page-edit-toolbar{overflow-x:scroll;overflow-y:visible}.page-edit-toolbar{white-space:nowrap}.page-edit-toolbar>div{display:inline-block}}.page-save-mobile-button{position:fixed;z-index:30;border-radius:50%;width:52px;height:52px;font-size:26px;inset-inline-end:6px;bottom:12px;box-shadow:0 2px 2px 1px rgba(0,0,0,.13);background-color:currentColor;text-align:center}.page-save-mobile-button svg{fill:#fff;margin-inline-end:0}.draft-notification{pointer-events:none;transform:scale(0);transition:transform ease-in-out 120ms;transform-origin:50% 50%}.draft-notification.visible{transform:scale(1)}.page-style.editor{padding:0 !important}.pointer-container{position:fixed;display:none;left:0;z-index:10}.pointer{border:1px solid #ccc;border-color:#ccc}html.dark-mode .pointer{border-color:#000}.pointer{border-radius:4px;box-shadow:0 0 12px 1px rgba(0,0,0,.1);background-color:#fff}html.dark-mode .pointer{background-color:#333}.pointer{width:328px}.pointer:before{position:absolute;left:50%;bottom:-9px;width:16px;height:16px;margin-inline-start:-8px;content:"";display:block;transform:rotate(45deg);transform-origin:50% 50%;border-right:1px solid #ccc;border-bottom:1px solid #ccc;z-index:56;background-color:#fff}html.dark-mode .pointer:before{background-color:#333}.pointer:before{border-color:#ccc}html.dark-mode .pointer:before{border-color:#000}.pointer input,.pointer button,.pointer a{position:relative;height:28px;font-size:12px;vertical-align:top;padding:5px 16px}.pointer input{background-color:#fff;border:1px solid #ddd;border-color:#ddd}html.dark-mode .pointer input{border-color:#000}.pointer input{color:#666;width:auto;flex:1;z-index:58;padding:5px;border-radius:0}.pointer .text-button{color:#444}html.dark-mode .pointer .text-button{color:#aaa}.pointer .input-group .button{line-height:1;margin-inline-start:-1px;margin-block:0;box-shadow:none;border-radius:0}.pointer a.button{margin:0}.pointer .svg-icon{width:1.2em;height:1.2em}.pointer .button{border-color:#ddd}html.dark-mode .pointer .button{border-color:#000}.content-comment-highlight{position:absolute;left:0;top:0;width:0;height:0;user-select:none;pointer-events:none}.content-comment-highlight:after{content:"";position:absolute;left:0;top:0;width:100%;height:100%;background-color:var(--color-primary);opacity:.25}.content-comment-window{font-size:14px;line-height:1.4;position:absolute;top:calc(100% + 3px);left:0;z-index:92;pointer-events:all;min-width:min(340px,80vw);background-color:#fff}html.dark-mode .content-comment-window{background-color:#222}.content-comment-window{box-shadow:0 2px 2px 1px rgba(0,0,0,.13);border-radius:4px;overflow:hidden}.content-comment-window-actions{background-color:var(--color-primary);color:#fff;display:flex;align-items:center;justify-content:end;gap:6px}.content-comment-window-actions button{color:#fff;font-size:12px;padding:6px;line-height:1;cursor:pointer}.content-comment-window-actions button[data-action=jump]{text-decoration:underline}.content-comment-window-actions svg{fill:currentColor;width:12px}.content-comment-window-content{padding:6px 12px 6px 6px;max-height:200px;overflow-y:scroll}.content-comment-window-content .comment-reference-indicator-wrap{display:none}.content-comment-marker{position:absolute;right:-16px;top:-16px;pointer-events:all;width:min(1.5em,32px);height:min(1.5em,32px);border-radius:min(.75em,32px);display:flex;align-items:center;justify-content:center;background-color:var(--color-primary);box-shadow:0 2px 2px 1px rgba(0,0,0,.13);color:#fff;cursor:pointer;z-index:90;transform:scale(1);transition:transform ease-in-out 120ms}.content-comment-marker svg{fill:#fff;width:80%}.page-content [id^=bkmrk-]:hover .content-comment-marker{transform:scale(1.15)}.floating-toolbox{background-color:#fff}html.dark-mode .floating-toolbox{background-color:#222}.floating-toolbox{overflow:hidden;align-items:stretch;flex-direction:row;display:flex;max-height:100%;border-radius:8px;box-shadow:0 1px 6px -1px rgba(0,0,0,.1);margin-bottom:auto;margin-inline-start:24px;position:relative}.floating-toolbox.open{position:relative;right:0;max-width:480px;margin-bottom:0}.floating-toolbox:not(.open) .toolbox-tab-content{display:none !important}.floating-toolbox .toolbox-toggle svg{transition:transform ease-in-out 180ms}.floating-toolbox .toolbox-toggle{transition:background-color ease-in-out 180ms}.floating-toolbox.open .toolbox-toggle{background-color:rgba(255,0,0,.2)}.floating-toolbox.open .toolbox-toggle svg{transform:rotate(180deg)}.floating-toolbox>div{flex:1;position:relative}.floating-toolbox .tabs{border-inline-end:1px solid #ddd;border-inline-end-color:#ddd}html.dark-mode .floating-toolbox .tabs{border-inline-end-color:#000}.floating-toolbox .tabs{width:40px;flex:0 1 auto;margin-inline-end:-1px}.floating-toolbox .tabs-inner{background-color:#fff}html.dark-mode .floating-toolbox .tabs-inner{background-color:#222}.floating-toolbox .tabs svg{padding:0;margin:0}.floating-toolbox .tabs-inner>button{color:rgba(0,0,0,.7)}html.dark-mode .floating-toolbox .tabs-inner>button{color:hsla(0,0%,100%,.5)}.floating-toolbox .tabs-inner>button{display:block;cursor:pointer;padding:10px 6px;font-size:18px;line-height:1.6}.floating-toolbox .tabs-inner>button:hover,.floating-toolbox.open .tabs-inner>button.active{color:var(--color-link) !important;position:relative}.floating-toolbox .tabs-inner>button:hover:after,.floating-toolbox.open .tabs-inner>button.active:after{content:"";display:block;position:absolute;left:0;width:100%;top:0;height:100%;background-color:currentColor;opacity:.075}.floating-toolbox.open .tabs-inner>button.active{border-inline-end:1px solid var(--color-link);margin-inline-end:-1px}.floating-toolbox h4{font-size:24px;margin:16px 0 0 0;padding:0 24px 12px 24px}.floating-toolbox .tags input{max-width:100%;width:100%;min-width:50px}.floating-toolbox .tags td,.floating-toolbox .inline-start-table>div>div>div{padding-inline-end:12px;padding-top:12px;position:relative}.floating-toolbox .handle{user-select:none;cursor:move;fill:#999}.floating-toolbox form{display:flex;flex:1;flex-direction:column;overflow-y:scroll}.floating-toolbox table td,.floating-toolbox table th{overflow:visible}@media screen and (max-width: 1400px){.floating-toolbox{margin-inline-start:12px}}@media screen and (max-width: 600px){.page-editor-page-area-wrap{margin:4px !important}.floating-toolbox{margin-inline-start:4px}.floating-toolbox .tabs{width:32px}.floating-toolbox .tabs-inner>button{font-size:12px}.page-edit-toolbar{padding-block:0 !important}.page-editor.toolbox-open .page-editor-page-area{display:none}}.toolbox-tab-content{display:none;overflow-y:auto;padding-bottom:45px}.suggestion-box{top:auto;margin:-4px 0 0;right:auto;left:0;padding:0}.suggestion-box li{display:block;border-bottom:1px solid #ddd}.suggestion-box li:last-child{border-bottom:0}.comments-container h5{color:#888;font-weight:normal;margin-top:.5em}.comment-editor .CodeMirror,.comment-editor .CodeMirror-scroll{min-height:175px}.mce-floatpanel[aria-label="Insert/edit media"] .mce-open{display:none}.entity-list-item>span:first-child,.icon-list-item>span:first-child,.split-icon-list-item>a>.icon,.chapter-expansion>.icon{font-size:.8rem;width:1.88em;height:1.88em;flex-shrink:0;display:flex;align-items:center;justify-content:center;text-align:center;border-radius:1em;position:relative;overflow:hidden}.entity-list-item>span:first-child svg,.icon-list-item>span:first-child svg,.split-icon-list-item>a>.icon svg,.chapter-expansion>.icon svg{margin:0;bottom:0}.entity-list-item>span:first-child:after,.icon-list-item>span:first-child:after,.split-icon-list-item>a>.icon:after,.chapter-expansion>.icon:after{content:"";position:absolute;background-color:currentColor;opacity:.2;left:0;top:0;width:100%;height:100%}.entity-chip{display:inline-block;align-items:center;justify-content:center;text-align:center;font-size:.9em;border-radius:3px;position:relative;overflow:hidden;padding:6px 12px;fill:currentColor;opacity:.85;transition:opacity ease-in-out 120ms}.entity-chip:after{content:"";position:absolute;background-color:currentColor;opacity:.15;left:0;top:0;width:100%;height:100%}.entity-chip:hover{text-decoration:none;opacity:1}@media(prefers-contrast: more){.entity-chip{opacity:1}}.page-content{width:100%;max-width:840px;margin:0 auto;overflow-wrap:break-word;position:relative}.page-content .align-left{text-align:left}.page-content img.align-left,.page-content table.align-left,.page-content iframe.align-left,.page-content video.align-left{float:left !important;margin:6px 16px 16px 0}.page-content .align-right{text-align:right !important}.page-content img.align-right,.page-content table.align-right,.page-content iframe.align-right,.page-content video.align-right{float:right !important;margin:6px 0 6px 12px}.page-content .align-center{text-align:center}.page-content img.align-center,.page-content video.align-center,.page-content iframe.align-center{display:block}.page-content img.align-center,.page-content table.align-center,.page-content iframe.align-center,.page-content video.align-center{margin-left:auto;margin-right:auto}.page-content .align-justify{text-align:justify}.page-content h1,.page-content h2,.page-content h3,.page-content h4,.page-content h5,.page-content h6,.page-content pre{clear:left}.page-content hr{clear:both;margin:16px 0}.page-content table{hyphens:auto;table-layout:fixed;max-width:100%;height:auto !important}.page-content ins,.page-content del{text-decoration:none}.page-content ins{background:#dbffdb}.page-content del{background:#ffecec}.page-content details{border:1px solid;border-color:#ddd}html.dark-mode .page-content details{border-color:#555}.page-content details{margin-bottom:1em;padding:12px}.page-content details>summary{margin-top:-12px;margin-left:-12px;margin-right:-12px;margin-bottom:-12px;font-weight:bold;background-color:#eee}html.dark-mode .page-content details>summary{background-color:#333}.page-content details>summary{padding:6px 12px}.page-content details[open]>summary{margin-bottom:12px;border-bottom:1px solid;border-color:#ddd}html.dark-mode .page-content details[open]>summary{border-color:#555}.page-content details>summary+*{margin-top:.2em}.page-content details:after{content:"";display:block;clear:both}.page-content li>input[type=checkbox]{vertical-align:top;margin-top:.3em}.page-content p:empty{min-height:1.6em}.page-content.page-revision pre code{white-space:pre-wrap}.page-content .cm-editor{margin-bottom:1.375em}.page-content video,.page-content iframe{max-width:100%}.page-content a{text-decoration:underline}body .page-content img,.page-content img:not([data-mce-object]){max-width:100%;height:auto}.callout{border-left:3px solid #bbb;border-inline-start:3px solid #bbb;border-inline-end:none;background-color:#eee;padding:12px;padding-left:32px;padding-inline-start:32px;padding-inline-end:12px;display:block;position:relative;overflow:auto}.callout:before{background-image:url("data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9IiMwMTUzODAiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+ICAgIDxwYXRoIGQ9Ik0wIDBoMjR2MjRIMHoiIGZpbGw9Im5vbmUiLz4gICAgPHBhdGggZD0iTTEyIDJDNi40OCAyIDIgNi40OCAyIDEyczQuNDggMTAgMTAgMTAgMTAtNC40OCAxMC0xMFMxNy41MiAyIDEyIDJ6bTEgMTVoLTJ2LTZoMnY2em0wLThoLTJWN2gydjJ6Ii8+PC9zdmc+");background-repeat:no-repeat;content:"";width:1.2em;height:1.2em;left:8px;inset-inline-start:8px;inset-inline-end:unset;top:50%;margin-top:-9px;display:inline-block;position:absolute;line-height:1;opacity:.8}.callout.success{border-color:#0f7d15}html.dark-mode .callout.success{border-color:#4aa850}.callout.success{background-color:#eafdeb}html.dark-mode .callout.success{background-color:#122913}.callout.success{color:#063409}html.dark-mode .callout.success{color:#4aa850}.callout.success:before{background-image:url("data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9IiMzNzZjMzkiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+ICAgIDxwYXRoIGQ9Ik0wIDBoMjR2MjRIMHoiIGZpbGw9Im5vbmUiLz4gICAgPHBhdGggZD0iTTEyIDJDNi40OCAyIDIgNi40OCAyIDEyczQuNDggMTAgMTAgMTAgMTAtNC40OCAxMC0xMFMxNy41MiAyIDEyIDJ6bS0yIDE1bC01LTUgMS40MS0xLjQxTDEwIDE0LjE3bDcuNTktNy41OUwxOSA4bC05IDl6Ii8+PC9zdmc+")}.callout.danger{border-color:#ab0f0e}html.dark-mode .callout.danger{border-color:#e85c5b}.callout.danger{background-color:#fcdbdb}html.dark-mode .callout.danger{background-color:#250505}.callout.danger{color:#4d0706}html.dark-mode .callout.danger{color:#e85c5b}.callout.danger:before{background-image:url("data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9IiNiOTE4MTgiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+ICAgIDxwYXRoIGQ9Ik0xNS43MyAzSDguMjdMMyA4LjI3djcuNDZMOC4yNyAyMWg3LjQ2TDIxIDE1LjczVjguMjdMMTUuNzMgM3pNMTIgMTcuM2MtLjcyIDAtMS4zLS41OC0xLjMtMS4zIDAtLjcyLjU4LTEuMyAxLjMtMS4zLjcyIDAgMS4zLjU4IDEuMyAxLjMgMCAuNzItLjU4IDEuMy0xLjMgMS4zem0xLTQuM2gtMlY3aDJ2NnoiLz4gICAgPHBhdGggZD0iTTAgMGgyNHYyNEgweiIgZmlsbD0ibm9uZSIvPjwvc3ZnPg==")}.callout.info{border-color:#0288d1}html.dark-mode .callout.info{border-color:#0288d1}.callout.info{background-color:#d3efff}html.dark-mode .callout.info{background-color:#001825}.callout.info{color:#01466c}html.dark-mode .callout.info{color:#0288d1}.callout.warning{border-color:#cf4d03}html.dark-mode .callout.warning{border-color:#de8a5a}.callout.warning{background-color:#fee3d3}html.dark-mode .callout.warning{background-color:#30170a}.callout.warning{color:#6a2802}html.dark-mode .callout.warning{color:#de8a5a}.callout.warning:before{background-image:url("data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9IiNiNjUzMWMiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+ICAgIDxwYXRoIGQ9Ik0wIDBoMjR2MjRIMHoiIGZpbGw9Im5vbmUiLz4gICAgPHBhdGggZD0iTTEgMjFoMjJMMTIgMiAxIDIxem0xMi0zaC0ydi0yaDJ2MnptMC00aC0ydi00aDJ2NHoiLz48L3N2Zz4=")}.callout a{color:inherit;text-decoration:underline}a[data-mention-user-id]{display:inline-block;position:relative;color:var(--color-link);padding:.1em .4em;display:-webkit-inline-box;-webkit-box-orient:vertical;-webkit-line-clamp:1;max-width:180px;overflow:hidden;text-overflow:ellipsis;font-size:.92em;margin-inline:.2em;vertical-align:middle;border-radius:3px;border:1px solid rgba(0,0,0,0)}a[data-mention-user-id]:hover{text-decoration:none;border-color:currentColor}a[data-mention-user-id]:after{content:"";background-color:currentColor;opacity:.2;position:absolute;top:0;right:0;width:100%;height:100%;display:block}@media print{html,body{font-size:12px;background-color:#fff}.page-content{margin:0 auto}.print-hidden{display:none !important}.tri-layout-container{grid-template-columns:1fr;grid-template-areas:"b";margin-inline-start:0;margin-inline-end:0;display:block}.card{box-shadow:none}.content-wrap.card{padding-inline-start:0;padding-inline-end:0}}.dragged{position:absolute;opacity:.5;z-index:2000}body.dragging,body.dragging *{cursor:move !important}.avatar{border-radius:100%;background-color:#eee}html.dark-mode .avatar{background-color:#000}.avatar{width:30px;height:30px}.avatar.med{width:40px;height:40px}.avatar.large{width:80px;height:80px}.avatar.huge{width:120px;height:120px}.avatar.square{border-radius:3px}html.dark-mode .avatar[src$="user_avatar.png"]{filter:invert(1)}.loading-container{position:relative;display:block;margin:32px auto}.loading-container>div{width:10px;height:10px;border-radius:10px;display:inline-block;vertical-align:top;transform:translate3d(-10px, 0, 0);margin-top:6px;animation-name:loadingBob;animation-duration:1.4s;animation-iteration-count:infinite;animation-timing-function:cubic-bezier(0.62, 0.28, 0.23, 0.99);margin-inline-end:4px;background-color:var(--color-page);animation-delay:-300ms}.loading-container>div:first-child{left:-16px;background-color:var(--color-book);animation-delay:-600ms}.loading-container>div:last-of-type{left:16px;background-color:var(--color-chapter);animation-delay:0ms}.loading-container>span{margin-inline-start:12px;font-style:italic;color:#888;vertical-align:top}.inline.block .loading-container{margin:6px 12px}.skip-to-content-link{position:fixed;top:-52px;left:0;background-color:#fff;z-index:15;border-radius:0 4px 4px 0;display:block;box-shadow:0 0 4px 1px rgba(0,0,0,.5);font-weight:bold}.skip-to-content-link:focus{top:32px;outline-offset:-10px;outline:2px dotted var(--color-link)}.entity-selector{border:1px solid #ddd;border-color:#ddd}html.dark-mode .entity-selector{border-color:#111}.entity-selector{border-radius:3px;overflow:hidden;font-size:.8em}.entity-selector input[type=text]{width:100%;display:block;border-radius:0;border:0;border-bottom:1px solid #ddd;font-size:16px;padding:12px 16px}.entity-selector input[type=text]:focus{outline:1px solid var(--color-primary);border-radius:3px 3px 0 0;outline-offset:-1px}.entity-selector .entity-list{overflow-y:scroll;height:400px;background-color:#eee}html.dark-mode .entity-selector .entity-list{background-color:#222}.entity-selector .entity-list{margin-inline-end:0;margin-inline-start:0}.entity-selector .entity-list-item{background-color:#fff}html.dark-mode .entity-selector .entity-list-item{background-color:#222}.entity-selector .entity-list-item p{margin-bottom:0}.entity-selector .entity-list-item:focus{outline:2px dotted var(--color-primary);outline-offset:-4px}.entity-selector .entity-list-item.selected{background-color:rgba(0,0,0,.05)}html.dark-mode .entity-selector .entity-list-item.selected{background-color:hsla(0,0%,100%,.05)}.entity-selector .loading{height:400px;padding-top:24px}.entity-selector.compact{font-size:10px}.entity-selector.compact .entity-item-snippet{display:none}.entity-selector.compact h4{font-size:14px}.entity-selector.small .entity-list-item{padding:6px 16px}.entity-selector.small .entity-list,.entity-selector.small .loading{height:300px}.entity-selector.small input[type=text]{font-size:13px;padding:6px 16px;height:auto}.fullscreen{border:0;position:fixed;top:0;left:0;right:0;bottom:0;width:100%;height:100%;z-index:150}@media screen and (min-width: 601px)and (max-width: 880px){#home-default>.grid.third{display:block;columns:2;column-gap:24px !important}}.list-sort-container{display:inline-block}.list-sort-container form{display:inline-block}.list-sort-container .list-sort{display:inline-grid;margin-inline-start:12px;grid-template-columns:minmax(120px, max-content) 40px;font-size:.9rem;border:2px solid #ddd;border-color:#ddd}html.dark-mode .list-sort-container .list-sort{border-color:#444}.list-sort-container .list-sort{border-radius:4px}.list-sort-container .list-sort-label{font-weight:bold;display:inline-block}.list-sort-container .list-sort-label,.list-sort-container .list-sort-toggle{color:#555}html.dark-mode .list-sort-container .list-sort-label,html.dark-mode .list-sort-container .list-sort-toggle{color:#888}.list-sort-container .list-sort-type{text-align:start}.list-sort-container .list-sort-toggle,.list-sort-container .list-sort-dir{padding:8px 12px;cursor:pointer}.list-sort-container .list-sort-dir{border-inline-start:2px solid #ddd;color:#888;border-color:#ddd}html.dark-mode .list-sort-container .list-sort-dir{border-color:#444}.list-sort-container .list-sort-dir .svg-icon{transition:transform ease-in-out 120ms}.list-sort-container .list-sort-dir:hover .svg-icon{transform:rotate(180deg)}.list-sort-container .list-sort-toggle{display:block;width:100%;text-align:start}.import-item{border-inline-start:2px solid currentColor;padding-inline-start:6px}/*# sourceMappingURL=styles.css.map */ diff --git a/public/dist/wysiwyg.js b/public/dist/wysiwyg.js new file mode 100644 index 00000000000..8b671b892bf --- /dev/null +++ b/public/dist/wysiwyg.js @@ -0,0 +1,33 @@ +// See the "/licenses" URI for full package license details +var xN=Object.defineProperty;var pc=o=>{throw TypeError(o)};var EN=(o,t,e)=>t in o?xN(o,t,{enumerable:!0,configurable:!0,writable:!0,value:e}):o[t]=e;var p=(o,t,e)=>EN(o,typeof t!="symbol"?t+"":t,e),yl=(o,t,e)=>t.has(o)||pc("Cannot "+e);var we=(o,t,e)=>(yl(o,t,"read from private field"),e?e.call(o):t.get(o)),Rt=(o,t,e)=>t.has(o)?pc("Cannot add the same private member more than once"):t instanceof WeakSet?t.add(o):t.set(o,e),ho=(o,t,e,n)=>(yl(o,t,"write to private field"),n?n.call(o,e):t.set(o,e),e),Tr=(o,t,e)=>(yl(o,t,"access private method"),e);function $(o){return{type:o}}var ye=$("SELECTION_CHANGE_COMMAND"),Cr=$("SELECTION_INSERT_CLIPBOARD_NODES_COMMAND"),Yt=$("CLICK_COMMAND"),ot=$("DELETE_CHARACTER_COMMAND"),Zt=$("INSERT_LINE_BREAK_COMMAND"),gt=$("INSERT_PARAGRAPH_COMMAND"),ht=$("CONTROLLED_TEXT_INSERTION_COMMAND"),No=$("PASTE_COMMAND"),Ln=$("REMOVE_TEXT_COMMAND"),kt=$("DELETE_WORD_COMMAND"),Nt=$("DELETE_LINE_COMMAND"),Pe=$("FORMAT_TEXT_COMMAND"),xo=$("UNDO_COMMAND"),Eo=$("REDO_COMMAND"),_l=$("KEYDOWN_COMMAND"),zo=$("KEY_ARROW_RIGHT_COMMAND"),Sl=$("MOVE_TO_END"),Wo=$("KEY_ARROW_LEFT_COMMAND"),Ll=$("MOVE_TO_START"),Vt=$("KEY_ARROW_UP_COMMAND"),Xt=$("KEY_ARROW_DOWN_COMMAND"),ve=$("KEY_ENTER_COMMAND"),br=$("KEY_SPACE_COMMAND"),jt=$("KEY_BACKSPACE_COMMAND"),qo=$("KEY_ESCAPE_COMMAND"),Gt=$("KEY_DELETE_COMMAND"),vi=$("KEY_AT_COMMAND"),Yo=$("KEY_TAB_COMMAND"),Ml=$("INSERT_TAB_COMMAND"),TN=$("INDENT_CONTENT_COMMAND"),CN=$("OUTDENT_CONTENT_COMMAND"),Zo=$("DROP_COMMAND"),Vo=$("DRAGSTART_COMMAND"),yr=$("DRAGOVER_COMMAND"),wl=$("DRAGEND_COMMAND"),To=$("COPY_COMMAND"),Co=$("CUT_COMMAND"),Mn=$("SELECT_ALL_COMMAND"),vl=$("CLEAR_EDITOR_COMMAND"),Dl=$("CLEAR_HISTORY_COMMAND"),bo=$("CAN_REDO_COMMAND"),yo=$("CAN_UNDO_COMMAND"),_r=$("FOCUS_COMMAND"),Ol=$("BLUR_COMMAND"),Al=$("KEY_MODIFIER_COMMAND");var pe=typeof window<"u"&&typeof window.document<"u"&&typeof window.document.createElement<"u";var bN=pe&&"documentMode"in document?document.documentMode:null,Ye=pe&&/Mac|iPod|iPhone|iPad/.test(navigator.platform),Ze=pe&&/^(?!.*Seamonkey)(?=.*Firefox).*/i.test(navigator.userAgent),_o=pe&&"InputEvent"in window&&!bN?"getTargetRanges"in new window.InputEvent("input"):!1,Jt=pe&&/Version\/[\d.]+.*Safari/.test(navigator.userAgent),It=pe&&/iPad|iPhone|iPod/.test(navigator.userAgent)&&!window.MSStream,gc=pe&&/Android/.test(navigator.userAgent),Rl=pe&&/^(?=.*Chrome).*/i.test(navigator.userAgent),kl=pe&&gc&&Rl,Qt=pe&&/AppleWebKit\/[\d.]+/.test(navigator.userAgent)&&!Rl;var So=1,Ve=3,$t=0,Il=1,eo=2,hc=0,Di=1,Oi=2,Sr=1,Lr=2,wn=4,vn=8,Mr=16,wr=32,vr=64,Dr=128,$l=Sr|Lr|wn|vn|Mr|wr|vr|Dr,Ai=1,Dn=2;var Nc="\xA0",yN="\u200B",On=Jt||It||Qt?Nc:yN,nt=` + +`,xc=Ze?Nc:On,Ec="\u0591-\u07FF\uFB1D-\uFDFD\uFE70-\uFEFC",Tc="A-Za-z\xC0-\xD6\xD8-\xF6\xF8-\u02B8\u0300-\u0590\u0800-\u1FFF\u200E\u2C00-\uFB1C\uFE00-\uFE6F\uFEFD-\uFFFF",_N=new RegExp("^[^"+Tc+"]*["+Ec+"]"),SN=new RegExp("^[^"+Ec+"]*["+Tc+"]"),Be={bold:Sr,code:Mr,highlight:Dr,italic:Lr,strikethrough:wn,subscript:wr,superscript:vr,underline:vn},Cc={directionless:Ai,unmergeable:Dn},bc={normal:hc,segmented:Oi,token:Di},yc={[hc]:"normal",[Oi]:"segmented",[Di]:"token"};function C(o,t,...e){if(!o){for(let n of e)t=(t||"").replace("%s",n);throw new Error(t)}}function Pt(...o){let t=[];for(let e of o)if(e&&typeof e=="string")for(let[n]of e.matchAll(/\S+/g))t.push(n);return t}var LN=100,Bl=!1,Hl=0;function _c(){return Bl}function MN(o){Hl=o.timeStamp}function wN(o){Hl===0&&An(o).addEventListener("textInput",MN,!0)}function Pl(o,t,e){return t.__lexicalLineBreak===o||o[`__lexicalKey_${e._key}`]!==void 0}function vN(o){return o.getEditorState().read(()=>{let t=T();return t!==null?t.clone():null})}function DN(o,t,e){let n=De(e._window),r=null,i=null;n!==null&&n.anchorNode===o&&(r=n.anchorOffset,i=n.focusOffset);let s=o.nodeValue;s!==null&&Or(t,s,r,i,!1)}function ON(o,t,e){return t.nodeType===Ve&&e.isAttached()}function Sc(o,t,e){Bl=!0;let n=performance.now()-Hl>LN;try{Ee(o,()=>{let r=T()||vN(o),i=new Map,s=o.getRootElement(),l=o._editorState,a=o._blockCursorElement,d=!1,u="";for(let c=0;c0){let v=0;for(let M=0;M0)for(let[c,m]of i)if(E(m)){let g=m.getChildrenKeys(),h=c.firstChild;for(let N=0;N0){for(let c=0;c{Sc(o,t,e)})}function Lc(o,t){let e=o.__mode,n=o.__format,r=o.__style,i=t.__mode,s=t.__format,l=t.__style;return(e===null||e===i)&&(n===null||n===s)&&(r===null||r===l)}function Mc(o,t){let e=o.mergeWithSibling(t),n=Q()._normalizedNodes;return n.add(o.__key),n.add(t.__key),e}function Ul(o){let t=o;if(t.__text===""&&t.isSimpleText()&&!t.isUnmergeable()){t.remove();return}let e;for(;(e=t.getPreviousSibling())!==null&&L(e)&&e.isSimpleText()&&!e.isUnmergeable();)if(e.__text==="")e.remove();else if(Lc(e,t)){t=Mc(e,t);break}else break;let n;for(;(n=t.getNextSibling())!==null&&L(n)&&n.isSimpleText()&&!n.isUnmergeable();)if(n.__text==="")n.remove();else if(Lc(t,n)){t=Mc(t,n);break}else break}function Xo(o){return wc(o.anchor),wc(o.focus),o}function wc(o){for(;o.type==="element";){let t=o.getNode(),e=o.offset,n,r;if(e===t.getChildrenSize()?(n=t.getChildAtIndex(e-1),r=!0):(n=t.getChildAtIndex(e),r=!1),L(n)){o.set(n.__key,r?n.getTextContentSize():0,"text");break}else if(!E(n))break;o.set(n.__key,r?n.getChildrenSize():0,"element")}}var AN=1;function RN(){return""+AN++}function Oc(o,t){let e=o._nodes.get(t);return e===void 0&&C(!1,"registeredNode: Type %s not found",t),e}var Ac=typeof queueMicrotask=="function"?queueMicrotask:o=>{Promise.resolve().then(o)};function Rc(o){return H(Y(o))}function $n(o){let t=document.activeElement;if(t===null)return!1;let e=t.nodeName;return H(Y(o))&&(e==="INPUT"||e==="TEXTAREA"||t.contentEditable==="true"&&jo(t)==null)}function to(o,t,e){let n=o.getRootElement();try{return n!==null&&n.contains(t)&&n.contains(e)&&t!==null&&!$n(t)&&$i(t)===o}catch{return!1}}function Pn(o){return o instanceof so}function $i(o){let t=o;for(;t!=null;){let e=jo(t);if(Pn(e))return e;t=Ki(t)}return null}function jo(o){return o?o.__lexicalEditor:null}function Xe(o){return o.isToken()||o.isSegmented()}function kN(o){return o.nodeType===Ve}function Bn(o){let t=o;for(;t!=null;){if(kN(t))return t;t=t.firstChild}return null}function Rr(o,t,e){let n=Be[t];if(e!==null&&(o&n)===(e&n))return o;let r=o^n;return t==="subscript"?r&=~Be.superscript:t==="superscript"&&(r&=~Be.subscript),r}function kr(o){return L(o)||He(o)||H(o)}function kc(o,t){if(t!=null){__DEV__&&IN(o,t),o.__key=t;return}ue(),Jl();let e=Q(),n=it(),r=RN();n._nodeMap.set(r,o),E(o)?e._dirtyElements.set(r,!0):e._dirtyLeaves.add(r),e._cloneNotNeeded.add(r),e._dirtyType=Il,o.__key=r}function IN(o,t){let e=xu();if(!e)return;let n=e._nodeMap.get(t);n&&n.constructor!==o.constructor&&(o.constructor.name!==n.constructor.name?C(!1,"Lexical node with constructor %s attempted to re-use key from node in active editor state with constructor %s. Keys must not be re-used when the type is changed.",o.constructor.name,n.constructor.name):C(!1,"Lexical node with constructor %s attempted to re-use key from node in active editor state with different constructor with the same name (possibly due to invalid Hot Module Replacement). Keys must not be re-used when the type is changed.",o.constructor.name))}function $N(o,t,e){let n=o;for(;n!==null;){if(e.has(n))return;let r=t.get(n);if(r===void 0)break;e.set(n,!1),n=r.__parent}}function oo(o){let t=o.getParent();if(t!==null){let e=o.getWritable(),n=t.getWritable(),r=o.getPreviousSibling(),i=o.getNextSibling();if(r===null)if(i!==null){let s=i.getWritable();n.__first=i.__key,s.__prev=null}else n.__first=null;else{let s=r.getWritable();if(i!==null){let l=i.getWritable();l.__prev=s.__key,s.__next=l.__key}else s.__next=null;e.__prev=null}if(i===null)if(r!==null){let s=r.getWritable();n.__last=r.__key,s.__next=null}else n.__last=null;else{let s=i.getWritable();if(r!==null){let l=r.getWritable();l.__next=s.__key,s.__prev=l.__key}else s.__prev=null;e.__next=null}n.__size--,e.__parent=null}}function Ar(o){Jl();let t=o.getLatest(),e=t.__parent,n=it(),r=Q(),i=n._nodeMap,s=r._dirtyElements;e!==null&&$N(e,i,s);let l=t.__key;r._dirtyType=Il,E(o)?s.set(l,!0):r._dirtyLeaves.add(l)}function Ic(o){let t=o.getPreviousSibling(),e=o.getNextSibling();t!==null&&Ar(t),e!==null&&Ar(e)}function le(o){ue();let t=Q(),e=t._compositionKey;if(o!==e){if(t._compositionKey=o,e!==null){let n=ee(e);n!==null&&n.getWritable()}if(o!==null){let n=ee(o);n!==null&&n.getWritable()}}}function rt(){return xt()?null:Q()._compositionKey}function ee(o,t){let n=(t||it())._nodeMap.get(o);return n===void 0?null:n}function Fl(o,t){let e=Q(),n=o[`__lexicalKey_${e._key}`];return n!==void 0?ee(n,t):null}function Y(o,t){let e=o;for(;e!=null;){let n=Fl(e,t);if(n!==null)return n;e=Ki(e)}return null}function Pi(o){let t=o._decorators,e=Object.assign({},t);return o._pendingDecorators=e,e}function Wl(o){return o.read(()=>F().getTextContent())}function $c(o,t){Ee(o,()=>{let e=it();if(e.isEmpty())return;if(t==="root"){F().markDirty();return}let n=e._nodeMap;for(let[,r]of n)r.markDirty()},o._pendingEditorState===null?{tag:"history-merge"}:void 0)}function F(){return Kl(it())}function Kl(o){return o._nodeMap.get("root")}function W(o){ue();let t=it();o!==null&&(__DEV__&&Object.isFrozen(o)&&C(!1,"$setSelection called on frozen selection object. Ensure selection is cloned before passing in."),o.dirty=!0,o.setCachedNodes(null)),t._selection=o}function Pc(){ue();let o=Q();Ri(o)}function Go(o){let t=Q(),e=PN(o,t);if(e===null){let n=t.getRootElement();return o===n?ee("root"):null}return ee(e)}function ql(o,t){return t?o.getTextContentSize():0}function PN(o,t){let e=o;for(;e!=null;){let n=e[`__lexicalKey_${t._key}`];if(n!==void 0)return n;e=Ki(e)}return null}function Bi(o){return/[\uD800-\uDBFF][\uDC00-\uDFFF]/g.test(o)}function Ir(o){let t=[],e=o;for(;e!==null;)t.push(e),e=e._parentEditor;return t}function Yl(){return Math.random().toString(36).replace(/[^a-z]+/g,"").substr(0,5)}function Zl(o){return o.nodeType===Ve?o.nodeValue:null}function Hi(o,t,e){let n=De(t._window);if(n===null)return;let r=n.anchorNode,{anchorOffset:i,focusOffset:s}=n;if(r!==null){let l=Zl(r),a=Y(r);if(l!==null&&L(a)){if(l===On&&e){let d=e.length;l=e,i=d,s=d}l!==null&&Or(a,l,i,s,o)}}}function Or(o,t,e,n,r){let i=o;if(i.isAttached()&&(r||!i.isDirty())){let s=i.isComposing(),l=t;(s||r)&&t[t.length-1]===On&&(l=t.slice(0,-1));let a=i.getTextContent();if(r||l!==a){if(l===""){if(le(null),!Jt&&!It&&!Qt){let h=Q();setTimeout(()=>{h.update(()=>{i.isAttached()&&i.remove()})},20)}else i.remove();return}let d=i.getParent(),u=je(),f=i.getTextContentSize(),c=rt(),m=i.getKey();if(i.isToken()||c!==null&&m===c&&!s||y(u)&&(d!==null&&!d.canInsertTextBefore()&&u.anchor.offset===0||u.anchor.key===o.__key&&u.anchor.offset===0&&!i.canInsertTextBefore()&&!s||u.focus.key===o.__key&&u.focus.offset===f&&!i.canInsertTextAfter()&&!s)){i.markDirty();return}let g=T();if(!y(g)||e===null||n===null){i.setTextContent(l);return}if(g.setTextNodeRange(i,e,i,n),i.isSegmented()){let h=i.getTextContent(),N=q(h);i.replace(N),i=N}i.setTextContent(l)}}}function BN(o){let t=o.getPreviousSibling();return(L(t)||E(t)&&t.isInline())&&!t.canInsertTextAfter()}function Bc(o,t){if(t.isSegmented())return!0;if(!o.isCollapsed())return!1;let e=o.anchor.offset,n=t.getParentOrThrow(),r=t.isToken();return e===0?!t.canInsertTextBefore()||!n.canInsertTextBefore()&&!t.isComposing()||r||BN(t):e===t.getTextContentSize()?!t.canInsertTextAfter()||!n.canInsertTextAfter()&&!t.isComposing()||r:!1}function Hc(o,t,e,n){return o==="Tab"&&!t&&!e&&!n}function Fc(o,t){return cu(o)&&!t}function Kc(o,t){return cu(o)&&t}function Uc(o,t){return Ye&&t&&o.toLowerCase()==="o"}function zc(o,t,e){return Rn(o)&&(Ye?t:e)}function Wc(o,t,e){return kn(o)&&(Ye?t:e)}function qc(o,t){return Ye&&t&&Rn(o)}function Yc(o,t){return Ye&&t&&kn(o)}function Zc(o,t,e,n){return Ye?t||e?!1:Rn(o)||o.toLowerCase()==="h"&&n:n||t||e?!1:Rn(o)}function Vc(o,t,e,n,r){return Ye?e||n||r?!1:kn(o)||o.toLowerCase()==="d"&&t:t||n||r?!1:kn(o)}function Xc(o,t,e,n){return o.toLowerCase()==="z"&&!t&&du(e,n)}function jc(o,t,e,n){return Ye?o.toLowerCase()==="z"&&e&&t:o.toLowerCase()==="y"&&n||o.toLowerCase()==="z"&&n&&t}function Gc(o,t,e,n){return t?!1:o.toLowerCase()==="c"?Ye?e:n:!1}function Jc(o,t,e,n){return t?!1:o.toLowerCase()==="x"?Ye?e:n:!1}function Qc(o){return o==="ArrowLeft"}function eu(o){return o==="ArrowRight"}function HN(o){return o==="ArrowUp"}function FN(o){return o==="ArrowDown"}function tu(o,t,e,n){return Qc(o)&&!t&&!n&&!e}function ou(o,t,e,n,r){return Qc(o)&&!n&&!e&&(t||r)}function nu(o,t,e,n){return eu(o)&&!t&&!n&&!e}function ru(o,t,e,n,r){return eu(o)&&!n&&!e&&(t||r)}function iu(o,t,e){return HN(o)&&!t&&!e}function su(o,t,e){return FN(o)&&!t&&!e}function lu(o,t,e,n){return o||t||e||n}function au(o){return o===" "}function du(o,t){return Ye?o:t}function cu(o){return o==="Enter"}function Rn(o){return o==="Backspace"}function uu(o){return o==="Escape"}function kn(o){return o==="Delete"}function fu(o){return o==="@"}function Vl(o,t,e){return o.toLowerCase()==="a"&&du(t,e)}function Xl(){let o=F(),t=o.select(0,o.getChildrenSize());W(Xo(t))}function Lo(o,t){o.__lexicalClassNameCache===void 0&&(o.__lexicalClassNameCache={});let e=o.__lexicalClassNameCache,n=e[t];if(n!==void 0)return n;let r=o[t];if(typeof r=="string"){let i=Pt(r);return e[t]=i,i}return r}function Fi(o,t,e,n,r){if(e.size===0)return;let i=n.__type,s=n.__key,l=t.get(i);l===void 0&&C(!1,"Type %s not in registeredNodes",i);let a=l.klass,d=o.get(a);d===void 0&&(d=new Map,o.set(a,d));let u=d.get(s),f=u==="destroyed"&&r==="created";(u===void 0||f)&&d.set(s,f?"updated":r)}function vc(o,t,e){let n=o.getParent(),r=e,i=o;return n!==null&&(t&&e===0?(r=i.getIndexWithinParent(),i=n):!t&&e===i.getChildrenSize()&&(r=i.getIndexWithinParent()+1,i=n)),i.getChildAtIndex(t?r-1:r)}function no(o,t){let e=o.offset;if(o.type==="element"){let n=o.getNode();return vc(n,t,e)}else{let n=o.getNode();if(t&&e===0||!t&&e===n.getTextContentSize()){let r=t?n.getPreviousSibling():n.getNextSibling();return r===null?vc(n.getParentOrThrow(),t,n.getIndexWithinParent()+(t?0:1)):r}}return null}function Ii(o){let t=An(o).event,e=t&&t.inputType;return e==="insertFromPaste"||e==="insertFromPasteAsQuotation"}function A(o,t,e){return Ql(o,t,e)}function $r(o){return!re(o)&&!o.isLastChild()&&!o.isInline()}function Hn(o,t){let e=o._keyToDOMMap.get(t);return e===void 0&&C(!1,"Reconciliation: could not find DOM element for node key %s",t),e}function Ki(o){let t=o.assignedSlot||o.parentElement;return t!==null&&t.nodeType===11?t.host:t}function mu(o,t,e){let n=e.ownerDocument,r=n.defaultView;if(r===null)return;let{top:i,bottom:s}=t,l=0,a=0,d=e;for(;d!==null;){let u=d===n.body;if(u)l=0,a=An(o).innerHeight;else{let c=d.getBoundingClientRect();l=c.top,a=c.bottom}let f=0;if(ia&&(f=s-a),f!==0)if(u)r.scrollBy(0,f);else{let c=d.scrollTop;d.scrollTop+=f;let m=d.scrollTop-c;i-=m,s-=m}if(u)break;d=Ki(d)}}function pu(o){let t=T();if(!y(t)||!E(o))return t;let{anchor:e,focus:n}=t,r=e.getNode(),i=n.getNode();return In(r,o)&&e.set(o.__key,0,"element"),In(i,o)&&n.set(o.__key,0,"element"),t}function In(o,t){let e=o.getParent();for(;e!==null;){if(e.is(t))return!0;e=e.getParent()}return!1}function gu(o){let t=o.ownerDocument;return t&&t.defaultView||null}function An(o){let t=o._window;return t===null&&C(!1,"window object not found"),t}function jl(o){return o!==null&&(L(o)||E(o)&&o.isInline())}function Gl(o){let t=o.getParentOrThrow();for(;t!==null;){if(ge(t))return t;t=t.getParentOrThrow()}return t}function ge(o){return re(o)||E(o)&&o.isShadowRoot()}function ie(o){let t=Q(),e=o.constructor.getType(),n=t._nodes.get(e);n===void 0&&C(!1,'$initializeNode failed. Ensure node has been registered to the editor. You can do this by passing the node class via the "nodes" array in the editor config.');let r=n.replace;if(r!==null){let i=r(o);return i instanceof o.constructor||C(!1,"$initializeNode failed. Ensure replacement node is a subclass of the original node."),i}return o}function Ui(o,t){let e=o.getParent();re(e)&&!E(t)&&!H(t)&&C(!1,"Only element or decorator nodes can be inserted in to the root node")}function KN(o){let t=o.theme,e=document.createElement("div");e.contentEditable="false",e.setAttribute("data-lexical-cursor","true");let n=t.blockCursor;if(n!==void 0){if(typeof n=="string"){let r=Pt(n);n=t.blockCursor=r}n!==void 0&&e.classList.add(...n)}return e}function zl(o){return(H(o)||E(o)&&!o.canBeEmpty())&&!o.isInline()}function Pr(o,t,e){e.style.removeProperty("caret-color"),t._blockCursorElement=null;let n=o.parentElement;n!==null&&n.removeChild(o)}function hu(o,t,e){let n=o._blockCursorElement;if(y(e)&&e.isCollapsed()&&e.anchor.type==="element"&&t.contains(document.activeElement)){let r=e.anchor,i=r.getNode(),s=r.offset,l=i.getChildrenSize(),a=!1,d=null;if(s===l){let u=i.getChildAtIndex(s-1);zl(u)&&(a=!0)}else{let u=i.getChildAtIndex(s);if(zl(u)){let f=u.getPreviousSibling();(f===null||zl(f))&&(a=!0,d=o.getElementByKey(u.__key))}}if(a){let u=o.getElementByKey(i.__key);n===null&&(o._blockCursorElement=n=KN(o._config)),t.style.caretColor="transparent",d===null?u.appendChild(n):u.insertBefore(n,d);return}}n!==null&&Pr(n,o,t)}function De(o){return pe?(o||window).getSelection():null}function zi(o){return he(o)&&o.tagName==="A"}function he(o){return o.nodeType===1}function Jo(o){let t=new RegExp(/^(a|abbr|acronym|b|cite|code|del|em|i|ins|kbd|label|output|q|ruby|s|samp|span|strong|sub|sup|time|u|tt|var|#text)$/,"i");return o.nodeName.match(t)!==null}function Mo(o){let t=new RegExp(/^(address|article|aside|blockquote|canvas|dd|div|dl|dt|fieldset|figcaption|figure|footer|form|h1|h2|h3|h4|h5|h6|header|hr|li|main|nav|noscript|ol|p|pre|section|table|td|tfoot|ul|video)$/,"i");return o.nodeName.match(t)!==null}function ro(o){if(re(o)||H(o)&&!o.isInline())return!0;if(!E(o)||ge(o))return!1;let t=o.getFirstChild(),e=t===null||He(t)||L(t)||t.isInline();return!o.isInline()&&o.canBeEmpty()!==!1&&e}function Fn(o,t){let e=o;for(;e!==null&&e.getParent()!==null&&!t(e);)e=e.getParentOrThrow();return t(e)?e:null}function Br(){return Q()}var Dc=new WeakMap,UN=new Map;function Nu(o){if(!o._readOnly&&o.isEmpty())return UN;C(o._readOnly,"getCachedTypeToNodeMap called with a writable EditorState");let t=Dc.get(o);if(!t){t=new Map,Dc.set(o,t);for(let[e,n]of o._nodeMap){let r=n.__type,i=t.get(r);i||(i=new Map,t.set(r,i)),i.set(e,n)}}return t}function io(o){let t=o.constructor,e=t.clone(o);return e.afterCloneFrom(o),__DEV__&&(C(e.__key===o.__key,"$cloneWithProperties: %s.clone(node) (with type '%s') did not return a node with the same key, make sure to specify node.__key as the last argument to the constructor",t.name,t.getType()),C(e.__parent===o.__parent&&e.__next===o.__next&&e.__prev===o.__prev,"$cloneWithProperties: %s.clone(node) (with type '%s') overrided afterCloneFrom but did not call super.afterCloneFrom(prevNode)",t.name,t.getType())),e}function Eu(o,t){let e=o._decorators,r=o._pendingDecorators||e,i=t._nodeMap,s;for(s in r)i.has(s)||(r===e&&(r=Pi(o)),delete r[s])}function Tu(o,t,e,n,r,i){let s=o.getFirstChild();for(;s!==null;){let l=s.__key;s.__parent===t&&(E(s)&&Tu(s,l,e,n,r,i),e.has(l)||i.delete(l),r.push(l)),s=s.getNextSibling()}}function Cu(o,t,e,n){let r=o._nodeMap,i=t._nodeMap,s=[];for(let[l]of n){let a=i.get(l);a!==void 0&&(a.isAttached()||(E(a)&&Tu(a,l,r,i,s,n),r.has(l)||n.delete(l),s.push(l)))}for(let l of s)i.delete(l);for(let l of e){let a=i.get(l);a!==void 0&&!a.isAttached()&&(r.has(l)||e.delete(l),i.delete(l))}}var fe="",wo=null,Et="",lo="",Kn,Oe,Fr,yu=!1,qi=!1,Yi,ta,oa,Qo,Tt,na,Kr;function Zi(o,t){let e=Qo.get(o);if(t!==null){let n=sa(o);n.parentNode===t&&t.removeChild(n)}if(Tt.has(o)||Oe._keyToDOMMap.delete(o),E(e)){let n=Wi(e,Qo);ra(n,0,n.length-1,null)}e!==void 0&&Fi(Kr,Fr,Yi,e,"destroyed")}function ra(o,t,e,n){let r=t;for(;r<=e;++r){let i=o[r];i!==void 0&&Zi(i,n)}}function Vi(o,t,e){let n=Tt.get(o);n===void 0&&C(!1,"createNode: node does not exist in nodeMap");let r=n.createDOM(Kn,Oe);if(XN(o,r,Oe),L(n)?r.setAttribute("data-lexical-text","true"):H(n)&&r.setAttribute("data-lexical-decorator","true"),E(n)){let i=n.__size;if(i!==0){let s=i-1,l=Wi(n,Tt);ia(l,n,0,s,r,null)}n.isInline()||_u(null,n,r),$r(n)&&(fe+=nt,lo+=nt)}else{let i=n.getTextContent();if(H(n)){let s=n.decorate(Oe,Kn);s!==null&&Su(o,s),r.contentEditable="false"}fe+=i,lo+=i}if(t!==null&&!n?.insertDOMIntoParent(r,t))if(e!=null)t.insertBefore(r,e);else{let s=t.__lexicalLineBreak;s!=null?t.insertBefore(r,s):t.appendChild(r)}return __DEV__&&Object.freeze(n),Fi(Kr,Fr,Yi,n,"created"),r}function ia(o,t,e,n,r,i){let s=fe;fe="";let l=e;for(;l<=n;++l){Vi(o[l],r,i);let a=Tt.get(o[l]);a!==null&&L(a)&&(wo===null&&(wo=a.getFormat()),Et===""&&(Et=a.getStyle()))}$r(t)&&(fe+=nt),r.__lexicalTextContent=fe,fe=s+fe}function bu(o,t){let e=t.get(o);return He(e)||H(e)&&e.isInline()}function _u(o,t,e){let n=o!==null&&(o.__size===0||bu(o.__last,Qo)),r=t.__size===0||bu(t.__last,Tt);if(n){if(!r){let i=e.__lexicalLineBreak;if(i!=null)try{e.removeChild(i)}catch(s){if(typeof s=="object"&&s!=null){let l=`${s.toString()} Parent: ${e.tagName}, child: ${i.tagName}.`;throw new Error(l)}else throw s}e.__lexicalLineBreak=null}}else if(r){let i=document.createElement("br");e.__lexicalLineBreak=i,e.appendChild(i)}}function zN(o){Ge(o)&&wo!=null&&!qi&&o.setTextStyle(Et)}function WN(o){Ge(o)&&Et!==""&&Et!==o.__textStyle&&!qi&&o.setTextStyle(Et)}function qN(o,t,e){wo=null,Et="",YN(o,t,e),zN(t),WN(t)}function Wi(o,t){let e=[],n=o.__first;for(;n!==null;){let r=t.get(n);r===void 0&&C(!1,"createChildrenArray: node does not exist in nodeMap"),e.push(n),n=r.__next}return e}function YN(o,t,e){let n=fe,r=o.__size,i=t.__size;if(fe="",r===1&&i===1){let s=o.__first,l=t.__first;if(s===l)Hr(s,e);else{let d=sa(s),u=Vi(l,null,null);try{e.replaceChild(u,d)}catch(f){if(typeof f=="object"&&f!=null){let c=`${f.toString()} Parent: ${e.tagName}, new child: {tag: ${u.tagName} key: ${l}}, old child: {tag: ${d.tagName}, key: ${s}}.`;throw new Error(c)}else throw f}Zi(s,null)}let a=Tt.get(l);L(a)&&(wo===null&&(wo=a.getFormat()),Et===""&&(Et=a.getStyle()))}else{let s=Wi(o,Qo),l=Wi(t,Tt);if(r===0)i!==0&&ia(l,t,0,i-1,e,null);else if(i===0){if(r!==0){let d=e.__lexicalLineBreak==null;ra(s,0,r-1,d?null:e),d&&(e.textContent="")}}else VN(t,s,l,r,i,e)}$r(t)&&(fe+=nt),e.__lexicalTextContent=fe,fe=n+fe}function Hr(o,t){let e=Qo.get(o),n=Tt.get(o);(e===void 0||n===void 0)&&C(!1,"reconcileNode: prevNode or nextNode does not exist in nodeMap");let r=yu||oa.has(o)||ta.has(o),i=Hn(Oe,o);if(e===n&&!r){if(E(e)){let s=i.__lexicalTextContent;s!==void 0&&(fe+=s,lo+=s)}else{let s=e.getTextContent();lo+=s,fe+=s}return i}if(e!==n&&r&&Fi(Kr,Fr,Yi,n,"updated"),n.updateDOM(e,i,Kn)){let s=Vi(o,null,null);return t===null&&C(!1,"reconcileNode: parentDOM is null"),t.replaceChild(s,i),Zi(o,null),s}if(E(e)&&E(n))r&&(qN(e,n,i),!re(n)&&!n.isInline()&&_u(e,n,i)),$r(n)&&(fe+=nt,lo+=nt);else{let s=n.getTextContent();if(H(n)){let l=n.decorate(Oe,Kn);l!==null&&Su(o,l)}fe+=s,lo+=s}if(!qi&&re(n)&&n.__cachedText!==lo){let s=n.getWritable();s.__cachedText=lo,n=s}return __DEV__&&Object.freeze(n),i}function Su(o,t){let e=Oe._pendingDecorators,n=Oe._decorators;if(e===null){if(n[o]===t)return;e=Pi(Oe)}e[o]=t}function ZN(o){return o.firstChild}function ea(o){let t=o.nextSibling;return t!==null&&t===Oe._blockCursorElement&&(t=t.nextSibling),t}function VN(o,t,e,n,r,i){let s=n-1,l=r-1,a,d,u=ZN(i),f=0,c=0;for(;f<=s&&c<=l;){let h=t[f],N=e[c];if(h===N)u=ea(Hr(N,i)),f++,c++;else{a===void 0&&(a=new Set(t)),d===void 0&&(d=new Set(e));let x=d.has(h),S=a.has(N);if(!x)u=ea(sa(h)),Zi(h,i),f++;else if(!S)Vi(N,i,u),c++;else{let v=Hn(Oe,N);v===u?u=ea(Hr(N,i)):(u!=null?i.insertBefore(v,u):i.appendChild(v),Hr(N,i)),f++,c++}}let b=Tt.get(N);b!==null&&L(b)&&(wo===null&&(wo=b.getFormat()),Et===""&&(Et=b.getStyle()))}let m=f>s,g=c>l;if(m&&!g){let h=e[l+1],N=h===void 0?null:Oe.getElementByKey(h);ia(e,o,c,l,i,N)}else g&&!m&&ra(t,f,s,i)}function Lu(o,t,e,n,r,i){fe="",lo="",yu=n===eo,Oe=e,Kn=e._config,Fr=e._nodes,Yi=Oe._listeners.mutation,ta=r,oa=i,Qo=o._nodeMap,Tt=t._nodeMap,qi=t._readOnly,na=new Map(e._keyToDOMMap);let s=new Map;return Kr=s,Hr("root",null),Oe=void 0,Fr=void 0,ta=void 0,oa=void 0,Qo=void 0,Tt=void 0,Kn=void 0,na=void 0,Kr=void 0,s}function XN(o,t,e){let n=e._keyToDOMMap;t["__lexicalKey_"+e._key]=o,n.set(o,t)}function sa(o){let t=na.get(o);return t===void 0&&C(!1,"Reconciliation: could not find DOM element for node key %s",o),t}var ao=Object.freeze({}),ua=30,la=[["keydown",rx],["pointerdown",GN],["compositionstart",ox],["compositionend",nx],["input",tx],["click",jN],["cut",ao],["copy",ao],["dragstart",ao],["dragover",ao],["dragend",ao],["paste",ao],["focus",ao],["blur",ao],["drop",ao]];_o&&la.push(["beforeinput",(o,t)=>ex(o,t)]);var Wr=0,Ou=null,Au=0,Un=null,Xi=new WeakMap,aa=!1,da=!1,zr=!1,Ur=!1,Ru=[0,"",0,"root",0];function ku(o,t,e,n,r){let i=o.anchor,s=o.focus,l=i.getNode(),a=Q(),d=De(a._window),u=d!==null?d.anchorNode:null,f=i.key,c=a.getElementByKey(f),m=e.length;return f!==s.key||!L(l)||(!r&&(!_o||Au1||(r||!_o)&&c!==null&&!l.isComposing()&&u!==Bn(c)||d!==null&&t!==null&&(!t.collapsed||t.startContainer!==d.anchorNode||t.startOffset!==d.anchorOffset)||l.getFormat()!==o.format||l.getStyle()!==o.style||Bc(o,l)}function Mu(o,t){return o!==null&&o.nodeValue!==null&&o.nodeType===Ve&&t!==0&&t!==o.nodeValue.length}function wu(o,t,e){let{anchorNode:n,anchorOffset:r,focusNode:i,focusOffset:s}=o;aa&&(aa=!1,Mu(n,r)&&Mu(i,s))||Ee(t,()=>{if(!e){W(null);return}if(!to(t,n,i))return;let l=T();if(y(l)){let a=l.anchor,d=a.getNode();if(l.isCollapsed()){o.type==="Range"&&o.anchorNode===o.focusNode&&(l.dirty=!0);let u=An(t).event,f=u?u.timeStamp:performance.now(),[c,m,g,h,N]=Ru,b=F(),x=t.isComposing()===!1&&b.getTextContent()==="";if(f{let e=T(),n=De(t._window),r=je();if(n){if(y(e)){let i=e.anchor,s=i.getNode();if(i.type==="element"&&i.offset===0&&e.isCollapsed()&&!re(s)&&F().getChildrenSize()===1&&s.getTopLevelElementOrThrow().isEmpty()&&r!==null&&e.is(r))n.removeAllRanges(),e.dirty=!0;else if(o.detail===3&&!e.isCollapsed()){let a=e.focus.getNode();s!==a&&(E(s)?s.select(0):s.getParentOrThrow().select(0))}}else if(o.pointerType==="touch"){let i=n.anchorNode;if(i!==null){let s=i.nodeType;if(s===So||s===Ve){let l=qr(r,n,t,o);W(l)}}}}A(t,Yt,o)})}function GN(o,t){let e=o.target,n=o.pointerType;e instanceof Node&&n!=="touch"&&Ee(t,()=>{Rc(e)||(da=!0)})}function Iu(o){if(!o.getTargetRanges)return null;let t=o.getTargetRanges();return t.length===0?null:t[0]}function JN(o,t){return o!==t||E(o)||E(t)||!o.isToken()||!t.isToken()}function QN(o){return Ou==="MediaLast"&&o{let r=T();if(e==="deleteContentBackward"){if(r===null){let u=je();if(!y(u))return;W(u.clone())}if(y(r)){let u=r.anchor.key===r.focus.key;if(QN(o.timeStamp)&&t.isComposing()&&u){if(le(null),Wr=0,setTimeout(()=>{Ee(t,()=>{le(null)})},ua),y(r)){let f=r.anchor.getNode();f.markDirty(),C(L(f),"Anchor node must be a TextNode"),r.style=f.getStyle()}}else{le(null),o.preventDefault();let f=r.anchor.getNode().getTextContent(),c=r.anchor.offset===0&&r.focus.offset===f.length;kl&&u&&!c||A(t,ot,!0)}return}}if(!y(r))return;let i=o.data;Un!==null&&Hi(!1,t,Un),(!r.dirty||Un!==null)&&r.isCollapsed()&&!re(r.anchor.getNode())&&n!==null&&r.applyDOMRange(n),Un=null;let s=r.anchor,l=r.focus,a=s.getNode(),d=l.getNode();if(e==="insertText"||e==="insertTranspose"){if(i===` +`)o.preventDefault(),A(t,Zt,!1);else if(i===nt)o.preventDefault(),A(t,gt,void 0);else if(i==null&&o.dataTransfer){let u=o.dataTransfer.getData("text/plain");o.preventDefault(),r.insertRawText(u)}else i!=null&&ku(r,n,i,o.timeStamp,!0)?(o.preventDefault(),A(t,ht,i)):Un=i;Au=o.timeStamp;return}switch(o.preventDefault(),e){case"insertFromYank":case"insertFromDrop":case"insertReplacementText":{A(t,ht,o);break}case"insertFromComposition":{le(null),A(t,ht,o);break}case"insertLineBreak":{le(null),A(t,Zt,!1);break}case"insertParagraph":{le(null),zr&&!It?(zr=!1,A(t,Zt,!1)):A(t,gt,void 0);break}case"insertFromPaste":case"insertFromPasteAsQuotation":{A(t,No,o);break}case"deleteByComposition":{JN(a,d)&&A(t,Ln,o);break}case"deleteByDrag":case"deleteByCut":{A(t,Ln,o);break}case"deleteContent":{A(t,ot,!1);break}case"deleteWordBackward":{A(t,kt,!0);break}case"deleteWordForward":{A(t,kt,!1);break}case"deleteHardLineBackward":case"deleteSoftLineBackward":{A(t,Nt,!0);break}case"deleteContentForward":case"deleteHardLineForward":case"deleteSoftLineForward":{A(t,Nt,!1);break}case"formatStrikeThrough":{A(t,Pe,"strikethrough");break}case"formatBold":{A(t,Pe,"bold");break}case"formatItalic":{A(t,Pe,"italic");break}case"formatUnderline":{A(t,Pe,"underline");break}case"historyUndo":{A(t,xo,void 0);break}case"historyRedo":{A(t,Eo,void 0);break}default:}})}function tx(o,t){o.stopPropagation(),Ee(t,()=>{let e=T(),n=o.data,r=Iu(o);if(n!=null&&y(e)&&ku(e,r,n,o.timeStamp,!1)){Ur&&(ca(t,n),Ur=!1);let s=e.anchor.getNode(),l=De(t._window);if(l===null)return;let a=e.isBackward(),d=a?e.anchor.offset:e.focus.offset,u=a?e.focus.offset:e.anchor.offset;(!_o||e.isCollapsed()||!L(s)||l.anchorNode===null||s.getTextContent().slice(0,d)+n+s.getTextContent().slice(d+u)!==Zl(l.anchorNode))&&A(t,ht,n);let f=n.length;Ze&&f>1&&o.inputType==="insertCompositionText"&&!t.isComposing()&&(e.anchor.offset-=f),!Jt&&!It&&!Qt&&t.isComposing()&&(Wr=0,le(null))}else Hi(!1,t,n!==null?n:void 0),Ur&&(ca(t,n||void 0),Ur=!1);Pc()}),Un=null}function ox(o,t){Ee(t,()=>{let e=T();if(y(e)&&!t.isComposing()){let n=e.anchor,r=e.anchor.getNode();le(n.key),(o.timeStamp{ca(t,o.data)})}function rx(o,t){if(Wr=o.timeStamp,Ou=o.key,t.isComposing())return;let{key:e,shiftKey:n,ctrlKey:r,metaKey:i,altKey:s}=o;if(!A(t,_l,o)&&e!=null){if(nu(e,r,s,i))A(t,zo,o);else if(ru(e,r,n,s,i))A(t,Sl,o);else if(tu(e,r,s,i))A(t,Wo,o);else if(ou(e,r,n,s,i))A(t,Ll,o);else if(iu(e,r,i))A(t,Vt,o);else if(su(e,r,i))A(t,Xt,o);else if(Kc(e,n))zr=!0,A(t,ve,o);else if(au(e))A(t,br,o);else if(Uc(e,r))o.preventDefault(),zr=!0,A(t,Zt,!0);else if(Fc(e,n))zr=!1,A(t,ve,o);else if(Zc(e,s,i,r))Rn(e)?A(t,jt,o):(o.preventDefault(),A(t,ot,!0));else if(uu(e))A(t,qo,o);else if(Vc(e,r,n,s,i))kn(e)?A(t,Gt,o):(o.preventDefault(),A(t,ot,!1));else if(zc(e,s,r))o.preventDefault(),A(t,kt,!0);else if(Wc(e,s,r))o.preventDefault(),A(t,kt,!1);else if(qc(e,i))o.preventDefault(),A(t,Nt,!0);else if(Yc(e,i))o.preventDefault(),A(t,Nt,!1);else if(fu(e))A(t,vi,o);else if(Hc(e,s,r,i))A(t,Yo,o);else if(Xc(e,n,i,r))o.preventDefault(),A(t,xo,void 0);else if(jc(e,n,i,r))o.preventDefault(),A(t,Eo,void 0);else{let l=t._editorState._selection;Ae(l)?Gc(e,n,i,r)?(o.preventDefault(),A(t,To,o)):Jc(e,n,i,r)?(o.preventDefault(),A(t,Co,o)):Vl(e,i,r)&&(o.preventDefault(),A(t,Mn,o)):!Ze&&Vl(e,i,r)&&(o.preventDefault(),A(t,Mn,o))}lu(r,n,s,i)&&A(t,Al,o)}}function $u(o){let t=o.__lexicalEventHandles;return t===void 0&&(t=[],o.__lexicalEventHandles=t),t}var zn=new Map;function Pu(o){let t=o.target,e=t==null?null:t.nodeType===9?t.defaultView:t.ownerDocument.defaultView,n=De(e);if(n===null)return;let r=$i(n.anchorNode);if(r===null)return;da&&(da=!1,Ee(r,()=>{let u=je(),f=n.anchorNode;if(f===null)return;let c=f.nodeType;if(c!==So&&c!==Ve)return;let m=qr(u,n,r,o);W(m)}));let i=Ir(r),s=i[i.length-1],l=s._key,a=zn.get(l),d=a||s;d!==r&&wu(n,d,!1),wu(n,r,!0),r!==s?zn.set(l,r):a&&zn.delete(l)}function vu(o){o._lexicalHandled=!0}function Du(o){return o._lexicalHandled===!0}function Bu(o,t){let e=o.ownerDocument,n=Xi.get(e);(n===void 0||n<1)&&e.addEventListener("selectionchange",Pu),Xi.set(e,(n||0)+1),o.__lexicalEditor=t;let r=$u(o);for(let i=0;i{Du(d)||(vu(d),(t.isEditable()||s==="click")&&l(d,t))}:d=>{if(Du(d))return;vu(d);let u=t.isEditable();switch(s){case"cut":return u&&A(t,Co,d);case"copy":return A(t,To,d);case"paste":return u&&A(t,No,d);case"dragstart":return u&&A(t,Vo,d);case"dragover":return u&&A(t,yr,d);case"dragend":return u&&A(t,wl,d);case"focus":return u&&A(t,_r,d);case"blur":return u&&A(t,Ol,d);case"drop":return u&&A(t,Zo,d)}};o.addEventListener(s,a),r.push(()=>{o.removeEventListener(s,a)})}}function Hu(o){let t=o.ownerDocument,e=Xi.get(t);C(e!==void 0,"Root element not registered");let n=e-1;C(n>=0,"Root element count less than 0"),Xi.set(t,n),n===0&&t.removeEventListener("selectionchange",Pu);let r=jo(o);Pn(r)?(ix(r),o.__lexicalEditor=null):r&&C(!1,"Attempted to remove event handlers from a node that does not belong to this build of Lexical");let i=$u(o);for(let s=0;si.__key===this.__key);if(L(this))return n;if(y(e)&&e.anchor.type==="element"&&e.focus.type==="element"){if(e.isCollapsed())return!1;let i=this.getParent();if(H(this)&&this.isInline()&&i){let s=e.isBackward()?e.focus:e.anchor,l=s.getNode();if(s.offset===l.getChildrenSize()&&l.is(i)&&l.getLastChildOrThrow().is(this))return!1}}return n}shouldSelectDirectly(){return!1}getKey(){return this.__key}getIndexWithinParent(){let t=this.getParent();if(t===null)return-1;let e=t.getFirstChild(),n=0;for(;e!==null;){if(this.is(e))return n;n++,e=e.getNextSibling()}return-1}getParent(){let t=this.getLatest().__parent;return t===null?null:ee(t)}getParentOrThrow(){let t=this.getParent();return t===null&&C(!1,"Expected node %s to have a parent.",this.__key),t}getTopLevelElement(){let t=this;for(;t!==null;){let e=t.getParent();if(ge(e))return C(E(t)||t===this&&H(t),"Children of root nodes must be elements or decorators"),t;t=e}return null}getTopLevelElementOrThrow(){let t=this.getTopLevelElement();return t===null&&C(!1,"Expected node %s to have a top parent element.",this.__key),t}getParents(){let t=[],e=this.getParent();for(;e!==null;)t.push(e),e=e.getParent();return t}getParentKeys(){let t=[],e=this.getParent();for(;e!==null;)t.push(e.__key),e=e.getParent();return t}getPreviousSibling(){let e=this.getLatest().__prev;return e===null?null:ee(e)}getPreviousSiblings(){let t=[],e=this.getParent();if(e===null)return t;let n=e.getFirstChild();for(;n!==null&&!n.is(this);)t.push(n),n=n.getNextSibling();return t}getNextSibling(){let e=this.getLatest().__next;return e===null?null:ee(e)}getNextSiblings(){let t=[],e=this.getNextSibling();for(;e!==null;)t.push(e),e=e.getNextSibling();return t}getCommonAncestor(t){let e=this.getParents(),n=t.getParents();E(this)&&e.unshift(this),E(t)&&n.unshift(t);let r=e.length,i=n.length;if(r===0||i===0||e[r-1]!==n[i-1])return null;let s=new Set(n);for(let l=0;l{l.append(h)})),y(n)){W(n);let h=n.anchor,N=n.focus;h.key===i&&ma(h,l),N.key===i&&ma(N,l)}return rt()===i&&le(s),l}insertAfter(t,e=!0){ue(),Ui(this,t);let n=this.getWritable(),r=t.getWritable(),i=r.getParent(),s=T(),l=!1,a=!1;if(i!==null){let m=t.getIndexWithinParent();if(oo(r),y(s)){let g=i.__key,h=s.anchor,N=s.focus;l=h.type==="element"&&h.key===g&&h.offset===m+1,a=N.type==="element"&&N.key===g&&N.offset===m+1}}let d=this.getNextSibling(),u=this.getParentOrThrow().getWritable(),f=r.__key,c=n.__next;if(d===null)u.__last=f;else{let m=d.getWritable();m.__prev=f}if(u.__size++,n.__next=f,r.__next=c,r.__prev=n.__key,r.__parent=n.__parent,e&&y(s)){let m=this.getIndexWithinParent();Wn(s,u,m+1);let g=u.__key;l&&s.anchor.set(g,m+2,"element"),a&&s.focus.set(g,m+2,"element")}return t}insertBefore(t,e=!0){ue(),Ui(this,t);let n=this.getWritable(),r=t.getWritable(),i=r.__key;oo(r);let s=this.getPreviousSibling(),l=this.getParentOrThrow().getWritable(),a=n.__prev,d=this.getIndexWithinParent();if(s===null)l.__first=i;else{let f=s.getWritable();f.__next=i}l.__size++,n.__prev=i,r.__prev=a,r.__next=n.__key,r.__parent=n.__parent;let u=T();if(e&&y(u)){let f=this.getParentOrThrow();Wn(u,f,d)}return t}isParentRequired(){return!1}createParentElementNode(){return I()}selectStart(){return this.selectPrevious()}selectEnd(){return this.selectNext(0,0)}selectPrevious(t,e){ue();let n=this.getPreviousSibling(),r=this.getParentOrThrow();if(n===null)return r.select(0,0);if(E(n))return n.select();if(!L(n)){let i=n.getIndexWithinParent()+1;return r.select(i,i)}return n.select(t,e)}selectNext(t,e){ue();let n=this.getNextSibling(),r=this.getParentOrThrow();if(n===null)return r.select();if(E(n))return n.select(0,0);if(!L(n)){let i=n.getIndexWithinParent();return r.select(i,i)}return n.select(t,e)}markDirty(){this.getWritable()}insertDOMIntoParent(t,e){return!1}};p(Ct,"importDOM");function sx(o,t){let e=Q()._nodes.get(o);e===void 0&&C(!1,"Create node: Attempted to create node %s that was not configured to be used on the editor.",t.name);let n=e.klass;n!==t&&C(!1,"Create node: Type %s in node %s does not match registered node %s with the same type",o,t.name,n.name)}function Uu(o,t,e){let n=e||t.getParentOrThrow().getLastChild(),r=t,i=[t];for(;r!==n;)r.getNextSibling()||C(!1,"insertRangeAfter: lastToInsert must be a later sibling of firstToInsert"),r=r.getNextSibling(),i.push(r);let s=o;for(let l of i)s=s.insertAfter(l)}var en=class o extends Ct{static getType(){return"linebreak"}static clone(t){return new o(t.__key)}constructor(t){super(t)}getTextContent(){return` +`}createDOM(){return document.createElement("br")}updateDOM(){return!1}static importDOM(){return{br:t=>ax(t)||dx(t)?null:{conversion:lx,priority:0}}}static importJSON(t){return bt()}exportJSON(){return{type:"linebreak",version:1}}};function lx(o){return{node:bt()}}function bt(){return ie(new en)}function He(o){return o instanceof en}function ax(o){let t=o.parentElement;if(t!==null&&Mo(t)){let e=t.firstChild;if(e===o||e.nextSibling===o&&ji(e)){let n=t.lastChild;if(n===o||n.previousSibling===o&&ji(n))return!0}}return!1}function dx(o){let t=o.parentElement;if(t!==null&&Mo(t)){let e=t.firstChild;if(e===o||e.nextSibling===o&&ji(e))return!1;let n=t.lastChild;if(n===o||n.previousSibling===o&&ji(n))return!0}return!1}function ji(o){return o.nodeType===Ve&&/^( |\t|\r?\n)+$/.test(o.textContent||"")}function pa(o,t){return t&Mr?"code":t&Dr?"mark":t&wr?"sub":t&vr?"sup":null}function ga(o,t){return t&Sr?"strong":t&Lr?"em":"span"}function Zu(o,t,e,n,r){let i=n.classList,s=Lo(r,"base");s!==void 0&&i.add(...s),s=Lo(r,"underlineStrikethrough");let l=!1,a=t&vn&&t&wn,d=e&vn&&e&wn;s!==void 0&&(d?(l=!0,a||i.add(...s)):a&&i.remove(...s));for(let u in Be){let c=Be[u];if(s=Lo(r,u),s!==void 0)if(e&c){if(l&&(u==="underline"||u==="strikethrough")){t&c&&i.remove(...s);continue}((t&c)===0||a&&u==="underline"||u==="strikethrough")&&i.add(...s)}else t&c&&i.remove(...s)}}function cx(o,t){let e=o.length,n=t.length,r=0,i=0;for(;r{let e=o?1:0;return t.split("").map((n,r)=>r%2===e?"\xA0":n).join("")}}var lt=class o extends Ct{constructor(e,n){super(n);p(this,"__text");p(this,"__format");p(this,"__style");p(this,"__mode");p(this,"__detail");this.__text=e,this.__format=0,this.__style="",this.__mode=0,this.__detail=0}static getType(){return"text"}static clone(e){return new o(e.__text,e.__key)}afterCloneFrom(e){super.afterCloneFrom(e),this.__format=e.__format,this.__style=e.__style,this.__mode=e.__mode,this.__detail=e.__detail}getFormat(){return this.getLatest().__format}getDetail(){return this.getLatest().__detail}getMode(){let e=this.getLatest();return yc[e.__mode]}getStyle(){return this.getLatest().__style}isToken(){return this.getLatest().__mode===Di}isComposing(){return this.__key===rt()}isSegmented(){return this.getLatest().__mode===Oi}isDirectionless(){return(this.getLatest().__detail&Ai)!==0}isUnmergeable(){return(this.getLatest().__detail&Dn)!==0}hasFormat(e){let n=Be[e];return(this.getFormat()&n)!==0}isSimpleText(){return this.__type==="text"&&this.__mode===0}getTextContent(){return this.getLatest().__text}getFormatFlags(e,n){let i=this.getLatest().__format;return Rr(i,e,n)}canHaveFormat(){return!0}createDOM(e,n){let r=this.__format,i=pa(this,r),s=ga(this,r),l=i===null?s:i,a=document.createElement(l),d=a;this.hasFormat("code")&&a.setAttribute("spellcheck","false"),i!==null&&(d=document.createElement(s),a.appendChild(d));let u=this.__text;zu(d,this,s,r,u,e);let f=this.__style;return f!==""&&(a.style.cssText=f),a}updateDOM(e,n,r){let i=this.__text,s=e.__format,l=this.__format,a=pa(this,s),d=pa(this,l),u=ga(this,s),f=ga(this,l);if((a===null?u:a)!==(d===null?f:d))return!0;if(a===d&&u!==f){let S=n.firstChild;S==null&&C(!1,"updateDOM: prevInnerDOM is null or undefined");let v=document.createElement(f);return zu(v,this,f,l,i,r),n.replaceChild(v,S),!1}let g=n;d!==null&&a!==null&&(g=n.firstChild,g==null&&C(!1,"updateDOM: innerDOM is null or undefined")),Vu(i,g,this);let N=r.theme.text;N!==void 0&&s!==l&&Zu(f,s,l,g,N);let b=e.__style,x=this.__style;return b!==x&&(n.style.cssText=x),!1}static importDOM(){return{"#text":()=>({conversion:gx,priority:0}),b:()=>({conversion:fx,priority:0}),code:()=>({conversion:vo,priority:0}),em:()=>({conversion:vo,priority:0}),i:()=>({conversion:vo,priority:0}),s:()=>({conversion:vo,priority:0}),span:()=>({conversion:ux,priority:0}),strong:()=>({conversion:vo,priority:0}),sub:()=>({conversion:vo,priority:0}),sup:()=>({conversion:vo,priority:0}),u:()=>({conversion:vo,priority:0})}}static importJSON(e){let n=q(e.text);return n.setFormat(e.format),n.setDetail(e.detail),n.setMode(e.mode),n.setStyle(e.style),n}exportDOM(e){let{element:n}=super.exportDOM(e),r=(n?.nodeName||"").toLowerCase();C(n!==null&&he(n),"Expected TextNode createDOM to always return a HTMLElement");let i=this.getTextContent(),s=jl(this.getPreviousSibling()),l=jl(this.getNextSibling());/^\s/.test(i)&&(i=i.replace(/^(\s+)/,Wu(s))),/\s$/.test(i)&&(i=i.replace(/(\s+)$/,Wu(l)));for(let a of Array.from(n.classList.values()))a.startsWith("editor-theme-")&&n.classList.remove(a);if(n.classList.length===0&&n.removeAttribute("class"),n.nodeName==="SPAN"&&!n.getAttribute("style"))n=document.createTextNode(i);else{let a=n;for(;a.childElementCount>0;)a=a.children[0];a.textContent=i}return this.hasFormat("bold")&&r!=="strong"&&(n=Gi(n,"strong")),this.hasFormat("italic")&&r!=="em"&&(n=Gi(n,"em")),this.hasFormat("strikethrough")&&(n=Gi(n,"s")),this.hasFormat("underline")&&(n=Gi(n,"u")),{element:n}}exportJSON(){return{detail:this.getDetail(),format:this.getFormat(),mode:this.getMode(),style:this.getStyle(),text:this.getTextContent(),type:"text",version:1}}selectionTransform(e,n){}setFormat(e){let n=this.getWritable();return n.__format=typeof e=="string"?Be[e]:e,n}setDetail(e){let n=this.getWritable();return n.__detail=typeof e=="string"?Cc[e]:e,n}setStyle(e){let n=this.getWritable();return n.__style=e,n}toggleFormat(e){let n=this.getFormat(),r=Rr(n,e,null);return this.setFormat(r)}toggleDirectionless(){let e=this.getWritable();return e.__detail^=Ai,e}toggleUnmergeable(){let e=this.getWritable();return e.__detail^=Dn,e}setMode(e){let n=bc[e];if(this.__mode===n)return this;let r=this.getWritable();return r.__mode=n,r}setTextContent(e){if(this.__text===e)return this;let n=this.getWritable();return n.__text=e,n}select(e,n){ue();let r=e,i=n,s=T(),l=this.getTextContent(),a=this.__key;if(typeof l=="string"){let d=l.length;r===void 0&&(r=d),i===void 0&&(i=d)}else r=0,i=0;if(y(s)){let d=rt();(d===s.anchor.key||d===s.focus.key)&&le(a),s.setTextNodeRange(this,r,this,i)}else return Ji(a,r,a,i,"text","text");return s}selectStart(){return this.select(0,0)}selectEnd(){let e=this.getTextContentSize();return this.select(e,e)}spliceText(e,n,r,i){let s=this.getWritable(),l=s.__text,a=r.length,d=e;d<0&&(d=a+d,d<0&&(d=0));let u=T();if(i&&y(u)){let c=e+a;u.setTextNodeRange(s,c,s,c)}let f=l.slice(0,d)+r+l.slice(d+n);return s.__text=f,s}canInsertTextBefore(){return!0}canInsertTextAfter(){return!0}splitText(...e){ue();let n=this.getLatest(),r=n.getTextContent(),i=n.__key,s=rt(),l=new Set(e),a=[],d=r.length,u="";for(let R=0;RM&&se.offset<=j&&(se.key=k,se.offset-=M,S.dirty=!0),We.key===i&&We.type==="text"&&We.offset>M&&We.offset<=j&&(We.key=k,We.offset-=M,S.dirty=!0)}s===i&&le(k),M=j,v.push(B)}if(m!==null){Ic(this);let R=m.getWritable(),O=this.getIndexWithinParent();x?(R.splice(O,0,v),this.remove()):R.splice(O,1,v),y(S)&&Wn(S,m,O,f-1)}return v}mergeWithSibling(e){let n=e===this.getPreviousSibling();!n&&e!==this.getNextSibling()&&C(!1,"mergeWithSibling: sibling must be a previous or next sibling");let r=this.__key,i=e.__key,s=this.__text,l=s.length;rt()===i&&le(r);let d=T();if(y(d)){let m=d.anchor,g=d.focus;m!==null&&m.key===i&&(ha(m,n,r,e,l),d.dirty=!0),g!==null&&g.key===i&&(ha(g,n,r,e,l),d.dirty=!0)}let u=e.__text,f=n?u+s:s+u;this.setTextContent(f);let c=this.getWritable();return e.remove(),c}isTextEntity(){return!1}};function ux(o){let e=o.style;return{forChild:Na(e),node:null}}function fx(o){let t=o,e=t.style.fontWeight==="normal";return{forChild:Na(t.style,e?void 0:"bold"),node:null}}var qu=new WeakMap;function mx(o){return o.nodeName==="PRE"||o.nodeType===So&&o.style!==void 0&&o.style.whiteSpace!==void 0&&o.style.whiteSpace.startsWith("pre")}function px(o){let t,e=o.parentNode,n=[o];for(;e!==null&&(t=qu.get(e))===void 0&&!mx(e);)n.push(e),e=e.parentNode;let r=t===void 0?e:t;for(let i=0;i0){/[ \t\n]$/.test(s)&&(n=n.slice(1)),i=!1;break}}i&&(n=n.slice(1))}if(n[n.length-1]===" "){let r=t,i=!0;for(;r!==null&&(r=Yu(r,!0))!==null;)if((r.textContent||"").replace(/^( |\t|\r?\n)+/,"").length>0){i=!1;break}i&&(n=n.slice(0,n.length-1))}return n===""?{node:null}:{node:q(n)}}function Yu(o,t){let e=o;for(;;){let n;for(;(n=t?e.nextSibling:e.previousSibling)===null;){let i=e.parentElement;if(i===null)return null;e=i}if(e=n,e.nodeType===So){let i=e.style.display;if(i===""&&!Jo(e)||i!==""&&!i.startsWith("inline"))return null}let r=e;for(;(r=t?e.firstChild:e.lastChild)!==null;)e=r;if(e.nodeType===Ve)return e;if(e.nodeName==="BR")return null}}var hx={code:"code",em:"italic",i:"italic",s:"strikethrough",strong:"bold",sub:"subscript",sup:"superscript",u:"underline"};function vo(o){let t=hx[o.nodeName.toLowerCase()];return t==="code"&&o.closest("pre")?{node:null}:t===void 0?{node:null}:{forChild:Na(o.style,t),node:null}}function q(o=""){return ie(new lt(o))}function L(o){return o instanceof lt}function Na(o,t){let e=o.fontWeight,n=o.textDecoration.split(" "),r=e==="700"||e==="bold",i=n.includes("line-through"),s=o.fontStyle==="italic",l=n.includes("underline"),a=o.verticalAlign,d=o.color,u=o.backgroundColor;return f=>{if(!L(f))return f;r&&!f.hasFormat("bold")&&f.toggleFormat("bold"),i&&!f.hasFormat("strikethrough")&&f.toggleFormat("strikethrough"),s&&!f.hasFormat("italic")&&f.toggleFormat("italic"),l&&!f.hasFormat("underline")&&f.toggleFormat("underline"),a==="sub"&&!f.hasFormat("subscript")&&f.toggleFormat("subscript"),a==="super"&&!f.hasFormat("superscript")&&f.toggleFormat("superscript");let c=f.getStyle();return d&&(c+=`color: ${d};`),u&&u!=="transparent"&&(c+=`background-color: ${u};`),c&&f.setStyle(c),t&&!f.hasFormat(t)&&f.toggleFormat(t),f}}var tn=class o extends lt{static getType(){return"tab"}static clone(t){return new o(t.__key)}afterCloneFrom(t){super.afterCloneFrom(t),this.__text=t.__text}constructor(t){super(" ",t),this.__detail=Dn}static importDOM(){return null}static importJSON(t){let e=Bt();return e.setFormat(t.format),e.setStyle(t.style),e}exportJSON(){return{...super.exportJSON(),type:"tab",version:1}}setTextContent(t){C(!1,"TabNode does not support setTextContent")}setDetail(t){C(!1,"TabNode does not support setDetail")}setMode(t){C(!1,"TabNode does not support setMode")}canInsertTextBefore(){return!1}canInsertTextAfter(){return!1}};function Bt(){return ie(new tn)}function xa(o){return o instanceof tn}var Ca=class{constructor(t,e,n){p(this,"key");p(this,"offset");p(this,"type");p(this,"_selection");this._selection=null,this.key=t,this.offset=e,this.type=n}is(t){return this.key===t.key&&this.offset===t.offset&&this.type===t.type}isBefore(t){let e=this.getNode(),n=t.getNode(),r=this.offset,i=t.offset;if(E(e)){let s=e.getDescendantByIndex(r);e=s??e}if(E(n)){let s=n.getDescendantByIndex(i);n=s??n}return e===n?ri&&(n=i)}else if(!E(t)){let i=t.getNextSibling();if(L(i))e=i.__key,n=0,r="text";else{let s=t.getParent();s&&(e=s.__key,n=t.getIndexWithinParent()+1)}}o.set(e,n,r)}function ma(o,t){if(E(t)){let e=t.getLastDescendant();E(e)||L(e)?Ea(o,e):Ea(o,t)}else Ea(o,t)}function Nx(o,t,e,n){let r=o.getNode(),i=r.getChildAtIndex(o.offset),s=q(),l=re(r)?I().append(s):s;s.setFormat(e),s.setStyle(n),i===null?r.append(l):i.insertBefore(l),o.is(t)&&t.set(s.__key,0,"text"),o.set(s.__key,0,"text")}function Do(o,t,e,n){o.key=t,o.offset=e,o.type=n}var Qi=class o{constructor(t){p(this,"_nodes");p(this,"_cachedNodes");p(this,"dirty");this._cachedNodes=null,this._nodes=t,this.dirty=!1}getCachedNodes(){return this._cachedNodes}setCachedNodes(t){this._cachedNodes=t}is(t){if(!Ae(t))return!1;let e=this._nodes,n=t._nodes;return e.size===n.size&&Array.from(e).every(r=>n.has(r))}isCollapsed(){return!1}isBackward(){return!1}getStartEndPoints(){return null}add(t){this.dirty=!0,this._nodes.add(t),this._cachedNodes=null}delete(t){this.dirty=!0,this._nodes.delete(t),this._cachedNodes=null}clear(){this.dirty=!0,this._nodes.clear(),this._cachedNodes=null}has(t){return this._nodes.has(t)}clone(){return new o(new Set(this._nodes))}extract(){return this.getNodes()}insertRawText(t){}insertText(){}insertNodes(t){let e=this.getNodes(),n=e.length,r=e[n-1],i;if(L(r))i=r.select();else{let s=r.getIndexWithinParent()+1;i=r.getParentOrThrow().select(s,s)}i.insertNodes(t);for(let s=0;s0&&!l.shouldSelectDirectly()?f=[]:f=[l]:f=l.getNodesBetween(a),xt()||(this._cachedNodes=f),f}setTextNodeRange(t,e,n,r){Do(this.anchor,t.__key,e,"text"),Do(this.focus,n.__key,r,"text"),this._cachedNodes=null,this.dirty=!0}getTextContent(){let t=this.getNodes();if(t.length===0)return"";let e=t[0],n=t[t.length-1],r=this.anchor,i=this.focus,s=r.isBefore(i),[l,a]=Yr(this),d="",u=!0;for(let f=0;f=0;k--){let j=R[k];if(j.is(c)||E(j)&&j.isParentOf(c))break;j.isAttached()&&(!O.has(j)||j.is(M)?P||B.insertAfter(j,!1):j.remove())}if(!P){let k=v,j=null;for(;k!==null;){let se=k.getChildren(),We=se.length;(We===0||se[We-1].is(j))&&(x.delete(k.__key),j=k),k=k.getParent()}}if(!c.isToken())c=c.spliceText(a,g-a,t,!0),c.getTextContent()===""?c.remove():c.isComposing()&&this.anchor.type==="text"&&(this.anchor.offset-=t.length);else if(a===g)c.select();else{let k=q(t);k.select(),c.replace(k)}for(let k=1;k0&&(N!==h.getTextContentSize()&&!Xe(h)&&([h]=h.splitText(N)),h.setFormat(b));for(let x=u+1;x(E(N)||H(N))&&!N.isInline();if(!t.some(i)){C(E(n),"Expected 'firstBlock' to be an ElementNode");let N=Ta(this);n.splice(N,0,t),r.selectEnd();return}let s=_x(t),l=s.getLastDescendant(),a=s.getChildren(),d=N=>E(N)&&ro(N)&&!N.isEmpty()&&E(n)&&(!n.isEmpty()||n.canMergeWhenEmpty()),f=!E(n)||!n.isEmpty()?this.insertParagraph():null,c=a[a.length-1],m=a[0];d(m)&&(C(E(n),"Expected 'firstBlock' to be an ElementNode"),n.append(...m.getChildren()),m=a[1]),m&&Uu(n,m);let g=Fn(l,ro);f&&E(g)&&(f.canMergeWhenEmpty()||ro(c))&&(g.append(...f.getChildren()),f.remove()),E(n)&&n.isEmpty()&&n.remove(),l.selectEnd();let h=E(n)?n.getLastChild():null;He(h)&&g!==n&&h.remove()}insertParagraph(){if(this.anchor.key==="root"){let s=I();return F().splice(this.anchor.offset,0,[s]),s.select(),s}let t=Ta(this),e=Fn(this.anchor.getNode(),ro);C(E(e),"Expected ancestor to be an ElementNode");let n=e.getChildAtIndex(t),r=n?[n,...n.getNextSiblings()]:[],i=e.insertNewAfter(this,!1);return i?(i.append(...r),i.selectStart(),i):null}insertLineBreak(t){let e=bt();if(this.insertNodes([e]),t){let n=e.getParentOrThrow(),r=e.getIndexWithinParent();n.select(r,r)}}extract(){let t=this.getNodes(),e=t.length,n=e-1,r=this.anchor,i=this.focus,s=t[0],l=t[n],[a,d]=Yr(this);if(e===0)return[];if(e===1){if(L(s)&&!this.isCollapsed()){let f=a>d?d:a,c=a>d?a:d,m=s.splitText(f,c),g=f===0?m[0]:m[1];return g!=null?[g]:[]}return[s]}let u=r.isBefore(i);if(L(s)){let f=u?a:d;f===s.getTextContentSize()?t.shift():f!==0&&([,s]=s.splitText(f),t[0]=s)}if(L(l)){let c=l.getTextContent().length,m=u?d:a;m===0?t.pop():m!==c&&([l]=l.splitText(m),t[n]=l)}return t}modify(t,e,n){let r=this.focus,i=this.anchor,s=t==="move",l=no(r,e);if(H(l)&&!l.isIsolated()){if(s&&l.isKeyboardSelectable()){let m=Oo();m.add(l.__key),W(m);return}let c=e?l.getPreviousSibling():l.getNextSibling();if(L(c)){let m=c.__key,g=e?c.getTextContent().length:0;r.set(m,g,"text"),s&&i.set(m,g,"text");return}else{let m=l.getParentOrThrow(),g,h;E(c)?(h=c.__key,g=e?c.getChildrenSize():0):(g=l.getIndexWithinParent(),h=m.__key,e||g++),r.set(h,g,"element"),s&&i.set(h,g,"element");return}}let a=Q(),d=De(a._window);if(!d)return;let u=a._blockCursorElement,f=a._rootElement;if(f!==null&&u!==null&&E(l)&&!l.isInline()&&!l.canBeEmpty()&&Pr(u,a,f),Ex(d,t,e?"backward":"forward",n),d.rangeCount>0){let c=d.getRangeAt(0),m=this.anchor.getNode(),g=re(m)?m:Gl(m);if(this.applyDOMRange(c),this.dirty=!0,!s){let h=this.getNodes(),N=[],b=!1;for(let x=0;x0)if(e){let x=N[0];E(x)?x.selectStart():x.getParentOrThrow().selectStart()}else{let x=N[N.length-1];E(x)?x.selectEnd():x.getParentOrThrow().selectEnd()}(d.anchorNode!==c.startContainer||d.anchorOffset!==c.startOffset)&&xx(this)}}}forwardDeletion(t,e,n){if(!n&&(t.type==="element"&&E(e)&&t.offset===e.getChildrenSize()||t.type==="text"&&t.offset===e.getTextContentSize())){let r=e.getParent(),i=e.getNextSibling()||(r===null?null:r.getNextSibling());if(E(i)&&i.isShadowRoot())return!0}return!1}deleteCharacter(t){let e=this.isCollapsed();if(this.isCollapsed()){let n=this.anchor,r=n.getNode();if(this.forwardDeletion(n,r,t))return;let i=this.focus,s=no(i,t);if(H(s)&&!s.isIsolated()){if(s.isKeyboardSelectable()&&E(r)&&r.getChildrenSize()===0){r.remove();let l=Oo();l.add(s.__key),W(l)}else s.remove(),Q().dispatchCommand(ye,void 0);return}else if(!t&&E(s)&&E(r)&&r.isEmpty()){r.remove(),s.selectStart();return}if(this.modify("extend",t,"character"),this.isCollapsed()){if(t&&n.offset===0&&(n.type==="element"?n.getNode():n.getNode().getParentOrThrow()).collapseAtStart(this))return}else{let l=i.type==="text"?i.getNode():null;if(r=n.type==="text"?n.getNode():null,l!==null&&l.isSegmented()){let a=i.offset,d=l.getTextContentSize();if(l.is(r)||t&&a!==d||!t&&a!==0){ju(l,t,a);return}}else if(r!==null&&r.isSegmented()){let a=n.offset,d=r.getTextContentSize();if(r.is(l)||t&&a!==0||!t&&a!==d){ju(r,t,a);return}}Tx(this,t)}}if(this.removeText(),t&&!e&&this.isCollapsed()&&this.anchor.type==="element"&&this.anchor.offset===0){let n=this.anchor.getNode();n.isEmpty()&&re(n.getParent())&&n.getIndexWithinParent()===0&&n.collapseAtStart(this)}}deleteLine(t){if(this.isCollapsed()){let e=this.anchor.type==="element";if(e&&this.insertText(" "),this.modify("extend",t,"lineboundary"),(t?this.focus:this.anchor).offset===0&&this.modify("extend",t,"character"),e){let r=t?this.anchor:this.focus;r.set(r.key,r.offset+1,r.type)}}this.removeText()}deleteWord(t){if(this.isCollapsed()){let e=this.anchor,n=e.getNode();if(this.forwardDeletion(e,n,t))return;this.modify("extend",t,"word")}this.removeText()}isBackward(){return this.focus.isBefore(this.anchor)}getStartEndPoints(){return[this.anchor,this.focus]}};function Ae(o){return o instanceof Qi}function Xu(o){let t=o.offset;if(o.type==="text")return t;let e=o.getNode();return t===e.getChildrenSize()?e.getTextContent().length:0}function Yr(o){let t=o.getStartEndPoints();if(t===null)return[0,0];let[e,n]=t;return e.type==="element"&&n.type==="element"&&e.key===n.key&&e.offset===n.offset?[0,0]:[Xu(e),Xu(n)]}function xx(o){let t=o.focus,e=o.anchor,n=e.key,r=e.offset,i=e.type;Do(e,t.key,t.offset,t.type),Do(t,n,r,i),o._cachedNodes=null}function Ex(o,t,e,n){o.modify(t,e,n)}function Tx(o,t){let e=o.anchor,n=o.focus,r=e.getNode(),i=n.getNode();if(r===i&&e.type==="text"&&n.type==="text"){let s=e.offset,l=n.offset,a=se||c){i.splice(u,1),c&&(a=void 0);break}}let d=i.join("").trim();d===""?n.remove():(n.setTextContent(d),n.select(a,a))}function Cx(o,t,e){let n=o.getParent();return e===null||n===null||!n.canBeEmpty()||n!==e.getNode()}function Gu(o,t,e,n){let r=t,i;if(o.nodeType===So){let s=!1,l=o.childNodes,a=l.length,d=n._blockCursorElement;r===a&&(s=!0,r=a-1);let u=l[r],f=!1;if(u===d)u=l[r+1],f=!0;else if(d!==null){let c=d.parentNode;if(o===c){let m=Array.prototype.indexOf.call(c.children,d);t>m&&r--}}if(i=Go(u),L(i))r=ql(i,s);else{let c=Go(o);if(c===null)return null;if(E(c)){r=Math.min(c.getChildrenSize(),r);let m=c.getChildAtIndex(r);if(E(m)&&Cx(m,r,e)){let g=s?m.getLastDescendant():m.getFirstDescendant();g===null?c=m:(m=g,c=E(m)?m:m.getParentOrThrow()),r=0}L(m)?(i=m,c=null,r=ql(m,s)):m!==c&&s&&!f&&r++}else{let m=c.getIndexWithinParent();t===0&&H(c)&&Go(o)===c?r=m:r=m+1,c=c.getParentOrThrow()}if(E(c))return _e(c.__key,r,"element")}}else i=Go(o);return L(i)?_e(i.__key,r,"text"):null}function Ju(o,t,e){let n=o.offset,r=o.getNode();if(n===0){let i=r.getPreviousSibling(),s=r.getParent();if(!t)E(i)&&!e&&i.isInline()?(o.key=i.__key,o.offset=i.getChildrenSize(),o.type="element"):L(i)&&(o.key=i.__key,o.offset=i.getTextContent().length);else if((e||!t)&&i===null&&E(s)&&s.isInline()){let l=s.getPreviousSibling();L(l)&&(o.key=l.__key,o.offset=l.getTextContent().length)}}else if(n===r.getTextContent().length){let i=r.getNextSibling(),s=r.getParent();if(t&&E(i)&&i.isInline())o.key=i.__key,o.offset=0,o.type="element";else if((e||t)&&i===null&&E(s)&&s.isInline()&&!s.canInsertTextAfter()){let l=s.getNextSibling();L(l)&&(o.key=l.__key,o.offset=0)}}}function ef(o,t,e){if(o.type==="text"&&t.type==="text"){let n=o.isBefore(t),r=o.is(t);Ju(o,n,r),Ju(t,!n,r),r&&(t.key=o.key,t.offset=o.offset,t.type=o.type);let i=Q();if(i.isComposing()&&i._compositionKey!==o.key&&y(e)){let s=e.anchor,l=e.focus;Do(o,s.key,s.offset,s.type),Do(t,l.key,l.offset,l.type)}}}function tf(o,t,e,n,r,i){if(o===null||e===null||!to(r,o,e))return null;let s=Gu(o,t,y(i)?i.anchor:null,r);if(s===null)return null;let l=Gu(e,n,y(i)?i.focus:null,r);if(l===null)return null;if(s.type==="element"&&l.type==="element"){let a=Go(o),d=Go(e);if(H(a)&&H(d))return null}return ef(s,l,i),[s,l]}function yt(o){return E(o)&&!o.isInline()}function Ji(o,t,e,n,r,i){let s=it(),l=new co(_e(o,t,r),_e(e,n,i),0,"");return l.dirty=!0,s._selection=l,l}function on(){let o=_e("root",0,"element"),t=_e("root",0,"element");return new co(o,t,0,"")}function of(o,t=0){let e=L(o)?"text":"element",n=_e(o.getKey(),t,e),r=_e(o.getKey(),t,e);return new co(n,r,0,"")}function Oo(){return new Qi(new Set)}function bx(o){let t=Oo();t.add(o.getKey()),W(t)}function nf(o){let e=o.getEditorState()._selection,n=De(o._window);return y(e)||e==null?qr(e,n,o,null):e.clone()}function ba(o,t){return qr(null,o,t,null)}function qr(o,t,e,n){let r=e._window;if(r===null)return null;let i=n||r.event,s=i?i.type:void 0,l=s==="selectionchange",a=!_c()&&(l||s==="beforeinput"||s==="compositionstart"||s==="compositionend"||s==="click"&&i&&i.detail===3||s==="drop"||s===void 0),d,u,f,c;if(!y(o)||a){if(t===null)return null;if(d=t.anchorNode,u=t.focusNode,f=t.anchorOffset,c=t.focusOffset,l&&y(o)&&!to(e,d,u))return o.clone()}else return o.clone();let m=tf(d,f,u,c,e,o);if(m===null)return null;let[g,h]=m;return new co(g,h,y(o)?o.format:0,y(o)?o.style:"")}function T(){return it()._selection}function je(){return Q()._editorState._selection}function Wn(o,t,e,n=1){let r=o.anchor,i=o.focus,s=r.getNode(),l=i.getNode();if(!t.is(s)&&!t.is(l))return;let a=t.__key;if(o.isCollapsed()){let d=r.offset;if(e<=d&&n>0||e0||e0||e=l,d=a?i.getChildAtIndex(l-1):i.getChildAtIndex(e);if(L(d)){let u=0;a&&(u=d.getTextContentSize()),t.set(d.__key,u,"text"),n.set(d.__key,u,"text")}return}if(E(i)){let l=i.getChildrenSize(),a=e>=l,d=a?i.getChildAtIndex(l-1):i.getChildAtIndex(e);if(L(d)){let u=0;a&&(u=d.getTextContentSize()),t.set(d.__key,u,"text")}}if(E(s)){let l=s.getChildrenSize(),a=r>=l,d=a?s.getChildAtIndex(l-1):s.getChildAtIndex(r);if(L(d)){let u=0;a&&(u=d.getTextContentSize()),n.set(d.__key,u,"text")}}}function rf(o,t){let n=t.getEditorState()._selection,r=o._selection;if(y(r)){let i=r.anchor,s=r.focus,l;if(i.type==="text"&&(l=i.getNode(),l.selectionTransform(n,r)),s.type==="text"){let a=s.getNode();l!==a&&a.selectionTransform(n,r)}}}function qn(o,t,e,n,r){let i=null,s=0,l=null;n!==null?(i=n.__key,L(n)?(s=n.getTextContentSize(),l="text"):E(n)&&(s=n.getChildrenSize(),l="element")):r!==null&&(i=r.__key,L(r)?l="text":E(r)&&(l="element")),i!==null&&l!==null?o.set(i,s,l):(s=t.getIndexWithinParent(),s===-1&&(s=e.getChildrenSize()),o.set(e.__key,s,"element"))}function ha(o,t,e,n,r){o.type==="text"?(o.key=e,t||(o.offset+=r)):o.offset>n.getIndexWithinParent()&&(o.offset-=1)}function sf(o,t,e,n,r,i,s){let l=n.anchorNode,a=n.focusNode,d=n.anchorOffset,u=n.focusOffset,f=document.activeElement;if(r.has("collaboration")&&f!==i||f!==null&&$n(f))return;if(!y(t)){if(f!==null&&n.isCollapsed&&a instanceof Node){let k=Y(a);if(H(k)){n.removeAllRanges(),bx(k);return}}o!==null&&to(e,l,a)&&n.removeAllRanges();return}let c=t.anchor,m=t.focus,g=c.key,h=m.key,N=Hn(e,g),b=Hn(e,h),x=c.offset,S=m.offset,v=t.format,M=t.style,R=t.isCollapsed(),O=N,P=b,B=!1;if(c.type==="text"){O=Bn(N);let k=c.getNode();B=k.getFormat()!==v||k.getStyle()!==M}else y(o)&&o.anchor.type==="text"&&(B=!0);if(m.type==="text"&&(P=Bn(b)),!(O===null||P===null)&&(R&&(o===null||B||y(o)&&(o.format!==v||o.style!==M))&&Ku(v,M,x,g,performance.now()),!(d===x&&u===S&&l===O&&a===P&&!(n.type==="Range"&&R)&&((f===null||!i.contains(f))&&i.focus({preventScroll:!0}),c.type!=="element")))){try{n.setBaseAndExtent(O,x,P,S)}catch(k){__DEV__&&console.warn(k)}if(!r.has("skip-scroll-into-view")&&t.isCollapsed()&&i!==null&&i===document.activeElement){let k=t instanceof co&&t.anchor.type==="element"?O.childNodes[x]||null:n.rangeCount>0?n.getRangeAt(0):null;if(k!==null){let j;if(k instanceof Text){let se=document.createRange();se.selectNode(k),j=se.getBoundingClientRect()}else k instanceof Range,j=k.getBoundingClientRect();mu(e,j,i)}}Fu()}}function Te(o){let t=T()||je();t===null&&(t=F().selectEnd()),t.insertNodes(o)}function Ta(o){let t=o;o.isCollapsed()||t.removeText();let e=T();y(e)&&(t=e),C(y(t),"Unexpected dirty selection to be null");let n=t.anchor,r=n.getNode(),i=n.offset;for(;!ro(r);)[r,i]=yx(r,i);return i}function yx(o,t){let e=o.getParent();if(!e){let r=I();return F().append(r),r.select(),[F(),0]}if(L(o)){let r=o.splitText(t);if(r.length===0)return[e,o.getIndexWithinParent()];let i=t===0?0:1,s=r[0].getIndexWithinParent()+i;return[e,s]}if(!E(o)||t===0)return[e,o.getIndexWithinParent()];let n=o.getChildAtIndex(t);if(n){let r=new co(_e(o.__key,t,"element"),_e(o.__key,t,"element"),0,""),i=o.insertNewAfter(r);i&&i.append(n,...n.getNextSiblings())}return[e,o.getIndexWithinParent()+1]}function _x(o){let t=I(),e=null;for(let n=0;n99&&C(!1,"One or more transforms are endlessly triggering additional transforms. May have encountered infinite recursion caused by transforms that have their preconditions too lose and/or conflict with each other.")}function it(){return me===null&&C(!1,"Unable to find an active editor state. State helpers or node methods can only be used synchronously during the callback of editor.update(), editor.read(), or editorState.read().%s",uf()),me}function Q(){return Ne===null&&C(!1,"Unable to find an active editor. This method can only be used synchronously during the callback of editor.update() or editor.read().%s",uf()),Ne}function uf(){let o=0,t=new Set,e=so.version;if(typeof window<"u")for(let r of document.querySelectorAll("[contenteditable]")){let i=jo(r);if(Pn(i))o++;else if(i){let s=String(i.constructor.version||"<0.17.1");s===e&&(s+=" (separately built, likely a bundler configuration issue)"),t.add(s)}}let n=` Detected on the page: ${o} compatible editor(s) with version ${e}`;return t.size&&(n+=` and incompatible editors with versions ${Array.from(t).join(", ")}`),n}function ff(){return Ne}function xu(){return me}function af(o,t,e){let n=t.__type,r=Oc(o,n),i=e.get(n);i===void 0&&(i=Array.from(r.transforms),e.set(n,i));let s=i.length;for(let l=0;l0||u>0;){if(a>0){t._dirtyLeaves=new Set;for(let f of l){let c=r.get(f);L(c)&&c.isAttached()&&c.isSimpleText()&&!c.isUnmergeable()&&Ul(c),c!==void 0&&df(c,i)&&af(t,c,s),e.add(f)}if(l=t._dirtyLeaves,a=l.size,a>0){es++;continue}}t._dirtyLeaves=new Set,t._dirtyElements=new Map;for(let f of d){let c=f[0],m=f[1];if(c!=="root"&&!m)continue;let g=r.get(c);g!==void 0&&df(g,i)&&af(t,g,s),n.set(c,m)}l=t._dirtyLeaves,a=l.size,d=t._dirtyElements,u=d.size,es++}t._dirtyLeaves=e,t._dirtyElements=n}function _a(o){return Sa(o,Q()._nodes)}function Sa(o,t){let e=o.type,n=t.get(e);n===void 0&&C(!1,'parseEditorState: type "%s" + not found',e);let r=n.klass;o.type!==r.getType()&&C(!1,"LexicalNode: Node %s does not implement .importJSON().",r.name);let i=r.importJSON(o),s=o.children;if(E(i)&&Array.isArray(s))for(let l=0;l{throw new Error("Cannot call set() on a frozen Lexical node map")},t.clear=()=>{throw new Error("Cannot call clear() on a frozen Lexical node map")},t.delete=()=>{throw new Error("Cannot call delete() on a frozen Lexical node map")}}function Ht(o,t){let e=o._pendingEditorState,n=o._rootElement,r=o._headless||n===null;if(e===null)return;let i=o._editorState,s=i._selection,l=e._selection,a=o._dirtyType!==$t,d=me,u=Fe,f=Ne,c=o._updating,m=o._observer,g=null;if(o._pendingEditorState=null,o._editorState=e,!r&&a&&m!==null){Ne=o,me=e,Fe=!1,o._updating=!0;try{let O=o._dirtyType,P=o._dirtyElements,B=o._dirtyLeaves;m.disconnect(),g=Lu(i,e,o,O,P,B)}catch(O){if(O instanceof Error&&o._onError(O),!ya)Ma(o,null,n,e),ki(o),o._dirtyType=eo,ya=!0,Ht(o,i),ya=!1;else throw O;return}finally{m.observe(n,lf),o._updating=c,me=d,Fe=u,Ne=f}}e._readOnly||(e._readOnly=!0,__DEV__&&(pf(e),y(l)&&(Object.freeze(l.anchor),Object.freeze(l.focus)),Object.freeze(l)));let h=o._dirtyLeaves,N=o._dirtyElements,b=o._normalizedNodes,x=o._updateTags,S=o._deferred,v=e._nodeMap.size;a&&(o._dirtyType=$t,o._cloneNotNeeded.clear(),o._dirtyLeaves=new Set,o._dirtyElements=new Map,o._normalizedNodes=new Set,o._updateTags=new Set),Eu(o,e);let M=r?null:De(o._window);if(o._editable&&M!==null&&(a||l===null||l.dirty)){Ne=o,me=e;try{if(m!==null&&m.disconnect(),a||l===null||l.dirty){let O=o._blockCursorElement;O!==null&&Pr(O,o,n),sf(s,l,o,M,x,n,v)}hu(o,n,l),m!==null&&m.observe(n,lf)}finally{Ne=f,me=d}}g!==null&&wx(o,g,x,h,i),!y(l)&&l!==null&&(s===null||!s.is(l))&&o.dispatchCommand(ye,void 0);let R=o._pendingDecorators;R!==null&&(o._decorators=R,o._pendingDecorators=null,Yn("decorator",o,!0,R)),Mx(o,t||i,e),Yn("update",o,!0,{dirtyElements:N,dirtyLeaves:h,editorState:e,normalizedNodes:b,prevEditorState:t||i,tags:x}),Dx(o,S),vx(o)}function Mx(o,t,e){let n=Wl(t),r=Wl(e);n!==r&&Yn("textcontent",o,!0,r)}function wx(o,t,e,n,r){let i=Array.from(o._listeners.mutation),s=i.length;for(let l=0;l{r=Ql(o,t,e)}),r}let n=Ir(o);for(let r=4;r>=0;r--)for(let i=0;i{Ht(o)}):(d._flushSync=!1,u&&(n.clear(),o._deferred=[],o._pendingEditorState=null))}function Ee(o,t,e){o._updating?o._updates.push([t,e]):gf(o,t,e)}var G=class extends Ct{constructor(e){super(e);p(this,"__first");p(this,"__last");p(this,"__size");p(this,"__style");p(this,"__dir");this.__first=null,this.__last=null,this.__size=0,this.__style="",this.__dir=null}afterCloneFrom(e){super.afterCloneFrom(e),this.__first=e.__first,this.__last=e.__last,this.__size=e.__size,this.__style=e.__style,this.__dir=e.__dir}getStyle(){return this.getLatest().__style}getChildren(){let e=[],n=this.getFirstChild();for(;n!==null;)e.push(n),n=n.getNextSibling();return e}getChildrenKeys(){let e=[],n=this.getFirstChild();for(;n!==null;)e.push(n.__key),n=n.getNextSibling();return e}getChildrenSize(){return this.getLatest().__size}isEmpty(){return this.getChildrenSize()===0}isDirty(){let n=Q()._dirtyElements;return n!==null&&n.has(this.__key)}isLastChild(){let e=this.getLatest(),n=this.getParentOrThrow().getLastChild();return n!==null&&n.is(e)}getAllTextNodes(){let e=[],n=this.getFirstChild();for(;n!==null;){if(L(n)&&e.push(n),E(n)){let r=n.getAllTextNodes();e.push(...r)}n=n.getNextSibling()}return e}getFirstDescendant(){let e=this.getFirstChild();for(;E(e);){let n=e.getFirstChild();if(n===null)break;e=n}return e}getFirstSelectableDescendant(){if(this.shouldSelectDirectly())return null;let e=this.getFirstChild();for(;E(e)&&!e.shouldSelectDirectly();){let n=e.getFirstChild();if(n===null)break;e=n}return e}getLastDescendant(){let e=this.getLastChild();for(;E(e);){let n=e.getLastChild();if(n===null)break;e=n}return e}getLastSelectableDescendant(){if(this.shouldSelectDirectly())return null;let e=this.getLastChild();for(;E(e)&&!e.shouldSelectDirectly();){let n=e.getLastChild();if(n===null)break;e=n}return e}getDescendantByIndex(e){let n=this.getChildren(),r=n.length;if(e>=r){let s=n[r-1];return E(s)&&s.getLastDescendant()||s||null}let i=n[e];return E(i)&&i.getFirstDescendant()||i||null}getFirstChild(){let n=this.getLatest().__first;return n===null?null:ee(n)}getFirstChildOrThrow(){let e=this.getFirstChild();return e===null&&C(!1,"Expected node %s to have a first child.",this.__key),e}getLastChild(){let n=this.getLatest().__last;return n===null?null:ee(n)}getLastChildOrThrow(){let e=this.getLastChild();return e===null&&C(!1,"Expected node %s to have a last child.",this.__key),e}getChildAtIndex(e){let n=this.getChildrenSize(),r,i;if(e=e;){if(i===e)return r;r=r.getPreviousSibling(),i--}return null}getTextContent(){let e="",n=this.getChildren(),r=n.length;for(let i=0;ir.remove()),e}append(...e){return this.splice(this.getChildrenSize(),0,e)}setDirection(e){let n=this.getWritable();return n.__dir=e,n}setStyle(e){let n=this.getWritable();return n.__style=e||"",this}splice(e,n,r){let i=r.length,s=this.getChildrenSize(),l=this.getWritable(),a=l.__key,d=[],u=[],f=this.getChildAtIndex(e+n),c=null,m=s-n+i;if(e!==0)if(e===s)c=this.getLastChild();else{let h=this.getChildAtIndex(e);h!==null&&(c=h.getPreviousSibling())}if(n>0){let h=c===null?this.getFirstChild():c.getNextSibling();for(let N=0;N({root:Tf(F())}))}};var Ao=class extends G{static getType(){return"artificial"}createDOM(t){return document.createElement("div")}};function _(o,t={},e=[]){let n=document.createElement(o),r=Object.keys(t);for(let i of r)t[i]!==null&&n.setAttribute(i,t[i]);for(let i of e)typeof i=="string"?n.append(document.createTextNode(i)):n.append(i);return n}function os(o){return new DOMParser().parseFromString(o,"text/html")}function _t(o,t="px"){return typeof o=="number"||/^-?\d+$/.test(o)?`${o}${t}`:o}function rn(o){return/^-?\d+$/.test(o)?Number(o):/^-?\d+\.\d+$/.test(o)?Math.round(Number(o)):/^-?\d+px\s*$/.test(o)?Number(o.trim().replace("px","")):0}function Zn(o){let t=o.getAttribute("style")||"";return wa(t)}function wa(o){let t=new Map,e=o.split(";");for(let n of e){let[r,i]=n.split(":");!r||!i||t.set(r.trim().toLowerCase(),i.trim())}return t}function Cf(o){let t=[];for(let[e,n]of o.entries())t.push(`${e}:${n}`);return t.join(";")}function bf(o,t,e){e?o.setAttribute(t,e):o.removeAttribute(t)}var yf=["left","right","center","justify"];function Vr(o){let t=o.style.textAlign||"";return yf.includes(t)?t:o.classList.contains("align-left")?"left":o.classList.contains("align-right")?"right":o.classList.contains("align-center")?"center":o.classList.contains("align-justify")?"justify":""}function Ox(o){let t=o.style.paddingLeft||"0";return rn(t)}function Xr(o){let t=(o.dir||"").toLowerCase();return t==="rtl"||t==="ltr"?t:null}function dt(o,t){o.id&&t.setId(o.id),t.setAlignment(Vr(o)),t.setInset(Ox(o)),t.setDirection(Xr(o))}function Ro(o,t){return o.__id!==t.__id||o.__alignment!==t.__alignment||o.__inset!==t.__inset||o.__dir!==t.__dir}function _f(o,t,e){if(o.__id!==t.__id&&e.setAttribute("id",t.__id),o.__alignment!==t.__alignment){for(let n of yf)e.classList.remove("align-"+n);t.__alignment&&e.classList.add("align-"+t.__alignment)}o.__inset!==t.__inset&&(t.__inset?e.style.paddingLeft=`${t.__inset}px`:e.style.removeProperty("paddingLeft")),o.__dir!==t.__dir&&(t.__dir?e.dir=t.__dir:e.removeAttribute("dir"))}function ct(o,t){t.__id&&o.setAttribute("id",t.__id),t.__alignment&&o.classList.add("align-"+t.__alignment),t.__inset&&(o.style.paddingLeft=`${t.__inset}px`),t.__dir&&(o.dir=t.__dir)}function ut(o,t){t.setId(o.id),t.setAlignment(o.alignment),t.setInset(o.inset),t.setDirection(o.direction)}var Ft=class extends G{constructor(){super(...arguments);p(this,"__id","");p(this,"__alignment","");p(this,"__inset",0)}setId(e){let n=this.getWritable();n.__id=e}getId(){return this.getLatest().__id}setAlignment(e){let n=this.getWritable();n.__alignment=e}getAlignment(){return this.getLatest().__alignment}setInset(e){let n=this.getWritable();n.__inset=e}getInset(){return this.getLatest().__inset}exportJSON(){return{...super.exportJSON(),id:this.__id,alignment:this.__alignment,inset:this.__inset}}};function ko(o,t){t.__alignment=o.__alignment,t.__inset=o.__inset}var st=class o extends Ft{constructor(e){super(e);p(this,"__textFormat");p(this,"__textStyle");this.__textFormat=0,this.__textStyle=""}static getType(){return"paragraph"}getTextFormat(){return this.getLatest().__textFormat}setTextFormat(e){let n=this.getWritable();return n.__textFormat=e,n}hasTextFormat(e){let n=Be[e];return(this.getTextFormat()&n)!==0}getTextStyle(){return this.getLatest().__textStyle}setTextStyle(e){let n=this.getWritable();return n.__textStyle=e,n}static clone(e){return new o(e.__key)}afterCloneFrom(e){super.afterCloneFrom(e),this.__textFormat=e.__textFormat,this.__textStyle=e.__textStyle,ko(e,this)}createDOM(e){let n=document.createElement("p"),r=Lo(e.theme,"paragraph");return r!==void 0&&n.classList.add(...r),ct(n,this),n}updateDOM(e,n,r){return Ro(e,this)}static importDOM(){return{p:e=>({conversion:Ax,priority:0})}}exportDOM(e){let{element:n}=super.exportDOM(e);return n&&he(n)&&this.isEmpty()&&n.append(document.createElement("br")),{element:n}}static importJSON(e){let n=I();return ut(e,n),n.setTextFormat(e.textFormat),n}exportJSON(){return{...super.exportJSON(),textFormat:this.getTextFormat(),textStyle:this.getTextStyle(),type:"paragraph",version:1}}insertNewAfter(e,n){let r=I();r.setTextFormat(e.format),r.setTextStyle(e.style);let i=this.getDirection();return r.setDirection(i),r.setStyle(this.getTextStyle()),this.insertAfter(r,n),r}collapseAtStart(){let e=this.getChildren();if(e.length===0||L(e[0])&&e[0].getTextContent().trim()===""){if(this.getNextSibling()!==null)return this.selectNext(),this.remove(),!0;if(this.getPreviousSibling()!==null)return this.selectPrevious(),this.remove(),!0}return!1}};function Ax(o){let t=I();return dt(o,t),{node:t}}function I(){return ie(new st)}function Ge(o){return o instanceof st}var Rx=!0,J=0,Re=1,St=2,Ke=3,Ue=4;function Ma(o,t,e,n){let r=o._keyToDOMMap;r.clear(),o._editorState=Zr(),o._pendingEditorState=n,o._compositionKey=null,o._dirtyType=$t,o._cloneNotNeeded.clear(),o._dirtyLeaves=new Set,o._dirtyElements.clear(),o._normalizedNodes=new Set,o._updateTags=new Set,o._updates=[],o._blockCursorElement=null;let i=o._observer;i!==null&&(i.disconnect(),o._observer=null),t!==null&&(t.textContent=""),e!==null&&(e.textContent="",r.set("root",e))}function kx(o,t){let e=new Map,n=new Set,r=i=>{Object.keys(i).forEach(s=>{let l=e.get(s);l===void 0&&(l=[],e.set(s,l)),l.push(i[s])})};return o.forEach(i=>{let s=i.klass.importDOM;if(s==null||n.has(s))return;n.add(s);let l=s.call(i.klass);l!==null&&r(l)}),t&&r(t),e}function jr(o){let t=o||{},e=ff(),n=t.theme||{},r=o===void 0?e:t.parentEditor||null,i=t.disableEvents||!1,s=Zr(),l=t.namespace||(r!==null?r._config.namespace:Yl()),a=t.editorState,d=[nn,lt,en,tn,st,Ao,...t.nodes||[]],{onError:u,html:f}=t,c=t.editable!==void 0?t.editable:!0,m;if(o===void 0&&e!==null)m=e._nodes;else{m=new Map;for(let h=0;h{N.hasOwnProperty(B)||console.warn(`${O} must implement static "${B}" method`)}),!N.hasOwnProperty("importDOM")&&N.hasOwnProperty("exportDOM")&&console.warn(`${O} should implement "importDOM" if using a custom "exportDOM" method to ensure HTML serialization (important for copy & paste) works as expected`),P instanceof at&&(P.hasOwnProperty("decorate")||console.warn(`${P.constructor.name} must implement "decorate" method`)),N.hasOwnProperty("importJSON")||console.warn(`${O} should implement "importJSON" method to ensure JSON and default HTML serialization works as expected`),P.hasOwnProperty("exportJSON")||console.warn(`${O} should implement "exportJSON" method to ensure JSON and default HTML serialization works as expected`)}}let S=N.getType(),v=N.transform(),M=new Set;v!==null&&M.add(v),m.set(S,{exportDOM:f&&f.export?f.export.get(N):void 0,klass:N,replace:b,replaceWithKlass:x,transforms:M})}}let g=new so(s,r,m,{disableEvents:i,namespace:l,theme:n},u||console.error,kx(m,f?f.import:void 0),c);return a!==void 0&&(g._pendingEditorState=a,g._dirtyType=eo),g}var so=class{constructor(t,e,n,r,i,s,l){p(this,"constructor");p(this,"_headless");p(this,"_parentEditor");p(this,"_rootElement");p(this,"_editorState");p(this,"_pendingEditorState");p(this,"_compositionKey");p(this,"_deferred");p(this,"_keyToDOMMap");p(this,"_updates");p(this,"_updating");p(this,"_listeners");p(this,"_commands");p(this,"_nodes");p(this,"_decorators");p(this,"_pendingDecorators");p(this,"_config");p(this,"_dirtyType");p(this,"_cloneNotNeeded");p(this,"_dirtyLeaves");p(this,"_dirtyElements");p(this,"_normalizedNodes");p(this,"_updateTags");p(this,"_observer");p(this,"_key");p(this,"_onError");p(this,"_htmlConversions");p(this,"_window");p(this,"_editable");p(this,"_blockCursorElement");p(this,"_context");this._parentEditor=e,this._rootElement=null,this._editorState=t,this._pendingEditorState=null,this._compositionKey=null,this._deferred=[],this._keyToDOMMap=new Map,this._updates=[],this._updating=!1,this._listeners={decorator:new Set,editable:new Set,mutation:new Map,root:new Set,textcontent:new Set,update:new Set},this._commands=new Map,this._config=r,this._nodes=n,this._decorators={},this._pendingDecorators=null,this._dirtyType=$t,this._cloneNotNeeded=new Set,this._dirtyLeaves=new Set,this._dirtyElements=new Map,this._normalizedNodes=new Set,this._updateTags=new Set,this._observer=null,this._key=Yl(),this._onError=i,this._htmlConversions=s,this._editable=l,this._headless=e!==null&&e._headless,this._window=null,this._blockCursorElement=null,this._context=null}isComposing(){return this._compositionKey!=null}registerUpdateListener(t){let e=this._listeners.update;return e.add(t),()=>{e.delete(t)}}registerEditableListener(t){let e=this._listeners.editable;return e.add(t),()=>{e.delete(t)}}registerDecoratorListener(t){let e=this._listeners.decorator;return e.add(t),()=>{e.delete(t)}}registerTextContentListener(t){let e=this._listeners.textcontent;return e.add(t),()=>{e.delete(t)}}registerRootListener(t){let e=this._listeners.root;return t(this._rootElement,null),e.add(t),()=>{t(null,this._rootElement),e.delete(t)}}registerCommand(t,e,n){n===void 0&&C(!1,'Listener for type "command" requires a "priority".');let r=this._commands;r.has(t)||r.set(t,[new Set,new Set,new Set,new Set,new Set]);let i=r.get(t);i===void 0&&C(!1,"registerCommand: Command %s not found in command map",String(t));let s=i[n];return s.add(e),()=>{s.delete(e),i.every(l=>l.size===0)&&r.delete(t)}}registerMutationListener(t,e,n){let r=this.resolveRegisteredNodeAfterReplacements(this.getRegisteredNode(t)).klass,i=this._listeners.mutation;i.set(e,r);let s=n&&n.skipInitialization;return(s===void 0?Rx:s)||this.initializeMutationListener(e,r),()=>{i.delete(e)}}getRegisteredNode(t){let e=this._nodes.get(t.getType());return e===void 0&&C(!1,"Node %s has not been registered. Ensure node has been passed to createEditor.",t.name),e}resolveRegisteredNodeAfterReplacements(t){for(;t.replaceWithKlass;)t=this.getRegisteredNode(t.replaceWithKlass);return t}initializeMutationListener(t,e){let n=this._editorState,r=Nu(n).get(e.getType());if(!r)return;let i=new Map;for(let s of r.keys())i.set(s,"created");i.size>0&&t(i,{dirtyLeaves:new Set,prevEditorState:n,updateTags:new Set(["registerMutationListener"])})}registerNodeTransformToKlass(t,e){let n=this.getRegisteredNode(t);return n.transforms.add(e),n}registerNodeTransform(t,e){let n=this.registerNodeTransformToKlass(t,e),r=[n],i=n.replaceWithKlass;if(i!=null){let s=this.registerNodeTransformToKlass(i,e);r.push(s)}return $c(this,t.getType()),()=>{r.forEach(s=>s.transforms.delete(e))}}hasNode(t){return this._nodes.has(t.getType())}hasNodes(t){return t.every(this.hasNode.bind(this))}dispatchCommand(t,e){return A(this,t,e)}getDecorators(){return this._decorators}getRootElement(){return this._rootElement}getKey(){return this._key}setRootElement(t){let e=this._rootElement;if(t!==e){let n=Lo(this._config.theme,"root"),r=this._pendingEditorState||this._editorState;if(this._rootElement=t,Ma(this,e,t,r),e!==null&&(this._config.disableEvents||Hu(e),n!=null&&e.classList.remove(...n)),t!==null){let i=gu(t),s=t.style;s.userSelect="text",s.whiteSpace="pre-wrap",s.wordBreak="break-word",t.setAttribute("data-lexical-editor","true"),this._window=i,this._dirtyType=eo,ki(this),this._updateTags.add("history-merge"),Ht(this),this._config.disableEvents||Bu(t,this),n!=null&&t.classList.add(...n)}else this._editorState=r,this._pendingEditorState=null,this._window=null;Yn("root",this,!1,t,e)}}getElementByKey(t){return this._keyToDOMMap.get(t)||null}getEditorState(){return this._editorState}setEditorState(t,e){t.isEmpty()&&C(!1,"setEditorState: the editor state is empty. Ensure the editor state's root node never becomes empty."),Ri(this);let n=this._pendingEditorState,r=this._updateTags,i=e!==void 0?e.tag:null;n!==null&&!n.isEmpty()&&(i!=null&&r.add(i),Ht(this)),this._pendingEditorState=t,this._dirtyType=eo,this._dirtyElements.set("root",!1),this._compositionKey=null,i!=null&&r.add(i),Ht(this)}parseEditorState(t,e){let n=typeof t=="string"?JSON.parse(t):t;return mf(n,this,e)}read(t){return Ht(this),this.getEditorState().read(t,{editor:this})}update(t,e){Ee(this,t,e)}updateAndCommit(t,e){this.update(t,e),this.commitUpdates()}focus(t,e={}){let n=this._rootElement;n!==null&&(n.setAttribute("autocapitalize","off"),Ee(this,()=>{let r=T(),i=F();r!==null?r.dirty=!0:i.getChildrenSize()!==0&&(e.defaultSelection==="rootStart"?i.selectStart():i.selectEnd())},{onUpdate:()=>{n.removeAttribute("autocapitalize"),t&&t()},tag:"focus"}),this._pendingEditorState===null&&n.removeAttribute("autocapitalize"))}commitUpdates(){Ht(this)}blur(){let t=this._rootElement;t!==null&&t.blur();let e=De(this._window);e!==null&&e.removeAllRanges()}isEditable(){return this._editable}setEditable(t){this._editable!==t&&(this._editable=t,Yn("editable",this,!0,t))}setUiContext(t){this._context=t}getUiContext(){return this._context}toJSON(){return{editorState:this._editorState.toJSON()}}};p(so,"version");so.version="0.17.1";function Je(...o){return()=>{for(let t=o.length-1;t>=0;t--)o[t]();o.length=0}}var Vn=new Map;function va(o){let t={},e=o.split(";");for(let n of e)if(n!==""){let[r,i]=n.split(/:([^]+)/);r&&i&&(t[r.trim()]=i.trim())}return t}function Xn(o){let t=Vn.get(o);return t===void 0&&(t=va(o),Vn.set(o,t)),__DEV__&&Object.freeze(t),t}function Lf(o){let t="";for(let e in o)e&&(t+=`${e}: ${o[e]};`);return t}function Gr(o,t){let e=o.getStartEndPoints();if(t.isSelected(o)&&!t.isSegmented()&&!t.isToken()&&e!==null){let[n,r]=e,i=o.isBackward(),s=n.getNode(),l=r.getNode(),a=t.is(s),d=t.is(l);if(a||d){let[u,f]=Yr(o),c=s.is(l),m=t.is(i?l:s),g=t.is(i?s:l),h=0,N;if(c)h=u>f?f:u,N=u>f?u:f;else if(m)h=i?f:u,N=void 0;else if(g){let b=i?u:f;h=0,N=b}return t.__text=t.__text.slice(h,N),t}}return t}function Da(o){let t=o.getStyle(),e=va(t);Vn.set(t,e)}function jn(o,t){let e=Xn("getStyle"in o?o.getStyle():o.style),n=Object.entries(t).reduce((i,[s,l])=>(typeof l=="function"?i[s]=l(e[s],o):l===null?delete i[s]:i[s]=l,i),{...e}),r=Lf(n);o.setStyle(r),Vn.set(r,n)}function Oa(o,t){let e=o.getNodes(),n=e.length,r=o.getStartEndPoints();if(r===null)return;let[i,s]=r,l=n-1,a=e[0],d=e[l];if(o.isCollapsed()&&y(o)){jn(o,t);return}let f=a.getTextContent().length,c=s.offset,m=i.offset,g=i.isBefore(s),h=g?m:c,N=g?c:m,b=g?i.type:s.type,x=g?s.type:i.type,S=g?s.key:i.key;if(L(a)&&h===f){let v=a.getNextSibling();L(v)&&(m=0,h=0,a=v)}if(e.length===1){if(L(a)&&a.canHaveFormat()){if(h=b==="element"?0:m>c?c:m,N=x==="element"?f:m>c?m:c,h===N)return;if(Xe(a)||h===0&&N===f)jn(a,t),a.select(h,N);else{let v=a.splitText(h,N),M=h===0?v[0]:v[1];jn(M,t),M.select(0,N-h)}}}else{if(L(a)&&h0&&o.classList.add(...e)}function ss(o,...t){let e=Pt(...t);e.length>0&&o.classList.remove(...e)}function Df(o,t){let e=o;for(;e!=null;){if(e instanceof t)return e;e=e.getParent()}return null}function Of(o){let t=U(o,e=>E(e)&&!e.isInline());return E(t)||C(!1,"Expected node %s to have closest block element node.",o.__key),t}var U=(o,t)=>{let e=o;for(;e!==F()&&e!=null;){if(t(e))return e;e=e.getParent()}return null};function Lt(o,t){return o!==null?Object.getPrototypeOf(o).constructor.name===t.name:!1}var ls=0,Ra=1,ka=2,Mt=0,Fx=1,Af=2,Kx=3,Ux=4;function zx(o,t,e){let n=o._nodeMap,r=[];for(let i of t){let s=n.get(i);s!==void 0&&r.push(s)}for(let[i,s]of e){if(!s)continue;let l=n.get(i);l!==void 0&&!re(l)&&r.push(l)}return r}function Wx(o,t,e,n,r){if(o===null||e.size===0&&n.size===0&&!r)return Mt;let i=t._selection,s=o._selection;if(r)return Fx;if(!y(i)||!y(s)||!s.isCollapsed()||!i.isCollapsed())return Mt;let l=zx(t,e,n);if(l.length===0)return Mt;if(l.length>1){let b=t._nodeMap,x=b.get(i.anchor.key),S=b.get(s.anchor.key);return x&&S&&!o._nodeMap.has(x.__key)&&L(x)&&x.__text.length===1&&i.anchor.offset===1?Af:Mt}let a=l[0],d=o._nodeMap.get(a.__key);if(!L(d)||!L(a)||d.__mode!==a.__mode)return Mt;let u=d.__text,f=a.__text;if(u===f)return Mt;let c=i.anchor,m=s.anchor;if(c.key!==m.key||c.type!=="text")return Mt;let g=c.offset,h=m.offset,N=f.length-u.length;return N===1&&h===g-1?Af:N===-1&&h===g+1?Kx:N===-1&&h===g?Ux:Mt}function qx(o,t,e){let n=t._nodeMap.get(o),r=e._nodeMap.get(o),i=t._selection,s=e._selection;return!(y(i)&&y(s)&&i.anchor.type==="element"&&i.focus.type==="element"&&s.anchor.type==="text"&&s.focus.type==="text")&&L(n)&&L(r)&&n.__parent===r.__parent?JSON.stringify(t.read(()=>n.exportJSON()))===JSON.stringify(e.read(()=>r.exportJSON())):!1}function Yx(o,t){let e=Date.now(),n=Mt;return(r,i,s,l,a,d)=>{let u=Date.now();if(d.has("historic"))return n=Mt,e=u,ka;let f=Wx(r,i,l,a,o.isComposing()),c=(()=>{let m=s===null||s.editor===o,g=d.has("history-push");if(!g&&m&&d.has("history-merge"))return ls;if(r===null)return Ra;let N=i._selection;if(!(l.size>0||a.size>0))return N!==null?ls:ka;if(g===!1&&f!==Mt&&f===n&&u{let f=t.current,c=t.redoStack,m=t.undoStack,g=f===null?null:f.editorState;if(f!==null&&s===g)return;let h=n(l,s,f,a,d,u);if(h===Ra)c.length!==0&&(t.redoStack=[],o.dispatchCommand(bo,!1)),f!==null&&(m.push({...f}),o.dispatchCommand(yo,!0));else if(h===ka)return;t.current={editor:o,editorState:s}};return Je(o.registerCommand(xo,()=>(Vx(o,t),!0),J),o.registerCommand(Eo,()=>(Zx(o,t),!0),J),o.registerCommand(vl,()=>(Rf(t),!1),J),o.registerCommand(Dl,()=>(Rf(t),o.dispatchCommand(bo,!1),o.dispatchCommand(yo,!1),!0),J),o.registerUpdateListener(r))}function ds(){return{current:null,redoStack:[],undoStack:[]}}function cs(o,t){let e=t.body?t.body.childNodes:[],n=[],r=[];for(let i=0;i"u"||typeof window>"u"&&typeof global.window>"u")throw new Error("To use $generateHtmlFromNodes in headless mode please initialize a headless browser implementation such as JSDom before calling this function.");let e=document.createElement("div"),r=F().getChildren();for(let s=0;s{let g=new Ao;return e.push(g),g}):c=kf(o,c,I)),l==null?c.length>0?s=s.concat(c):Mo(o)&&Gx(o)&&(s=s.concat(bt())):E(l)&&l.append(...c),s}function kf(o,t,e){let n=[],r=[];for(let i=0;ipe?(o||window).getSelection():null;function fs(o,t=T()){return t==null&&C(!1,"Expected valid LexicalSelection"),y(t)&&t.isCollapsed()||t.getNodes().length===0?"":us(o,t)}function Ff(o,t=T()){return t==null&&C(!1,"Expected valid LexicalSelection"),y(t)&&t.isCollapsed()||t.getNodes().length===0?null:JSON.stringify(Uf(o,t))}function ms(o,t,e){let n=o.getData("application/x-lexical-editor");if(n)try{let s=JSON.parse(n);if(s.namespace===e._config.namespace&&Array.isArray(s.nodes)){let l=zf(s.nodes);return Ia(e,l,t)}}catch{}let r=o.getData("text/html");if(r)try{let l=new DOMParser().parseFromString(r,"text/html"),a=cs(e,l);return Ia(e,a,t)}catch{}let i=o.getData("text/plain")||o.getData("text/uri-list");if(i!=null)if(y(t)){let s=i.split(/(\r?\n|\t)/);s[s.length-1]===""&&s.pop();for(let l=0;l0?a.text=d:r=!1}for(let d=0;d{o.update(()=>{a(Bf(o,t,e))})});let n=o.getRootElement(),r=o._window==null?window.document:o._window.document,i=Hf(o._window);if(n===null||i===null)return!1;let s=r.createElement("span");s.style.cssText="position: fixed; top: -1000px;",s.append(r.createTextNode("#")),n.append(s);let l=new Range;return l.setStart(s,0),l.setEnd(s,1),i.removeAllRanges(),i.addRange(l),new Promise((a,d)=>{let u=o.registerCommand(To,f=>(Lt(f,ClipboardEvent)&&(u(),Gn!==null&&(window.clearTimeout(Gn),Gn=null),a(Bf(o,f,e))),!0),Ue);Gn=window.setTimeout(()=>{u(),Gn=null,a(!1)},Qx),r.execCommand("copy"),s.remove()})}function Bf(o,t,e){if(e===void 0){let r=Hf(o._window);if(!r)return!1;let i=r.anchorNode,s=r.focusNode;if(i!==null&&s!==null&&!to(o,i,s))return!1;let l=T();if(l===null)return!1;e=ps(l)}t.preventDefault();let n=t.clipboardData;return n===null?!1:(Wf(n,e),!0)}var eE=[["text/html",fs],["application/x-lexical-editor",Ff]];function ps(o=T()){let t={"text/plain":o?o.getTextContent():""};if(o){let e=Br();for(let[n,r]of eE){let i=r(e,o);i!==null&&(t[n]=i)}}return t}function Wf(o,t){for(let e in t){let n=t[e];n!==void 0&&o.setData(e,n)}}function gs(o,t){if(typeof document.caretRangeFromPoint<"u"){let e=document.caretRangeFromPoint(o,t);return e===null?null:{node:e.startContainer,offset:e.startOffset}}else if(document.caretPositionFromPoint!=="undefined"){let e=document.caretPositionFromPoint(o,t);return e===null?null:{node:e.offsetNode,offset:e.offset}}else return null}var qf=$("DRAG_DROP_PASTE_FILE");function tE(o,t){o.preventDefault(),t.update(()=>{let e=T(),n=Lt(o,InputEvent)||Lt(o,KeyboardEvent)?null:o.clipboardData;n!=null&&e!==null&&ms(n,e,t)},{tag:"paste"})}async function oE(o,t){await Jn(t,Lt(o,ClipboardEvent)?o:null),t.update(()=>{let e=T();y(e)?e.removeText():Ae(e)&&e.getNodes().forEach(n=>n.remove())})}function hs(o){let t=null;if(Lt(o,DragEvent)?t=o.dataTransfer:Lt(o,ClipboardEvent)&&(t=o.clipboardData),t===null)return[!1,[],!1];let e=t.types,n=e.includes("Files"),r=e.includes("text/html")||e.includes("text/plain");return[n,Array.from(t.files),r]}function Ns(o){let t=Y(o);return H(t)}function nE(o){let t=o.focus;return t.key==="root"&&t.offset===F().getChildrenSize()}function xs(o){return Je(o.registerCommand(Yt,e=>{let n=T();return Ae(n)?(n.clear(),!0):!1},0),o.registerCommand(ot,e=>{let n=T();return y(n)?(n.deleteCharacter(e),!0):!1},J),o.registerCommand(kt,e=>{let n=T();return y(n)?(n.deleteWord(e),!0):!1},J),o.registerCommand(Nt,e=>{let n=T();return y(n)?(n.deleteLine(e),!0):!1},J),o.registerCommand(ht,e=>{let n=T();if(typeof e=="string")n!==null&&n.insertText(e);else{if(n===null)return!1;let r=e.dataTransfer;if(r!=null)ms(r,n,o);else if(y(n)){let i=e.data;return i&&n.insertText(i),!0}}return!0},J),o.registerCommand(Ln,()=>{let e=T();return y(e)?(e.removeText(),!0):!1},J),o.registerCommand(Pe,e=>{let n=T();return y(n)?(n.formatText(e),!0):!1},J),o.registerCommand(Zt,e=>{let n=T();return y(n)?(n.insertLineBreak(e),!0):!1},J),o.registerCommand(gt,()=>{let e=T();return y(e)?(e.insertParagraph(),!0):!1},J),o.registerCommand(Ml,()=>(Te([Bt()]),!0),J),o.registerCommand(Vt,e=>{let n=T();if(Ae(n)&&!Ns(e.target)){let r=n.getNodes();if(r.length>0)return r[0].selectPrevious(),!0}else if(y(n)){let r=no(n.focus,!0);if(!e.shiftKey&&H(r)&&!r.isIsolated()&&!r.isInline())return r.selectPrevious(),e.preventDefault(),!0}return!1},J),o.registerCommand(Xt,e=>{let n=T();if(Ae(n)){let r=n.getNodes();if(r.length>0)return r[0].selectNext(0,0),!0}else if(y(n)){if(nE(n))return e.preventDefault(),!0;let r=no(n.focus,!1);if(!e.shiftKey&&H(r)&&!r.isIsolated()&&!r.isInline())return r.selectNext(),e.preventDefault(),!0}return!1},J),o.registerCommand(Wo,e=>{let n=T();if(Ae(n)){let r=n.getNodes();if(r.length>0)return e.preventDefault(),r[0].selectPrevious(),!0}if(!y(n))return!1;if(rs(n,!0)){let r=e.shiftKey;return e.preventDefault(),is(n,r,!0),!0}return!1},J),o.registerCommand(zo,e=>{let n=T();if(Ae(n)&&!Ns(e.target)){let i=n.getNodes();if(i.length>0)return e.preventDefault(),i[0].selectNext(0,0),!0}if(!y(n))return!1;let r=e.shiftKey;return rs(n,!1)?(e.preventDefault(),is(n,r,!1),!0):!1},J),o.registerCommand(jt,e=>{if(Ns(e.target))return!1;let n=T();return y(n)?(e.preventDefault(),o.dispatchCommand(ot,!0)):!1},J),o.registerCommand(Gt,e=>{if(Ns(e.target))return!1;let n=T();return y(n)?(e.preventDefault(),o.dispatchCommand(ot,!1)):!1},J),o.registerCommand(ve,e=>{let n=T();if(!y(n))return!1;if(e!==null){if((It||Jt||Qt)&&_o)return!1;if(e.preventDefault(),e.shiftKey)return o.dispatchCommand(Zt,!1)}return o.dispatchCommand(gt,void 0)},J),o.registerCommand(qo,()=>{let e=T();return y(e)?(o.blur(),!0):!1},J),o.registerCommand(Zo,e=>{let[,n]=hs(e);if(n.length>0){let i=e.clientX,s=e.clientY,l=gs(i,s);if(l!==null){let{offset:a,node:d}=l,u=Y(d);if(u!==null){let f=on();if(L(u))f.anchor.set(u.getKey(),a,"text"),f.focus.set(u.getKey(),a,"text");else{let m=u.getParentOrThrow().getKey(),g=u.getIndexWithinParent()+1;f.anchor.set(m,g,"element"),f.focus.set(m,g,"element")}let c=Xo(f);W(c)}o.dispatchCommand(qf,n)}return e.preventDefault(),!0}let r=T();return!!y(r)},J),o.registerCommand(Vo,e=>{let[n]=hs(e),r=T();return!(n&&!y(r))},J),o.registerCommand(yr,e=>{let[n]=hs(e),r=T();if(n&&!y(r))return!1;let i=e.clientX,s=e.clientY,l=gs(i,s);if(l!==null){let a=Y(l.node);H(a)&&e.preventDefault()}return!0},J),o.registerCommand(Mn,()=>(Xl(),!0),J),o.registerCommand(To,e=>(Jn(o,Lt(e,ClipboardEvent)?e:null),!0),J),o.registerCommand(Co,e=>(oE(e,o),!0),J),o.registerCommand(No,e=>{let[,n,r]=hs(e);return n.length>0&&!r?(o.dispatchCommand(qf,n),!0):$n(e.target)?!1:T()!==null?(tE(e,o),!0):!1},J))}var sn=class o extends G{constructor(e,n){super(n);p(this,"__id","");p(this,"__category","info");p(this,"__alignment","");p(this,"__inset",0);this.__category=e}static getType(){return"callout"}static clone(e){let n=new o(e.__category,e.__key);return n.__id=e.__id,n.__alignment=e.__alignment,n.__inset=e.__inset,n}setCategory(e){let n=this.getWritable();n.__category=e}getCategory(){return this.getLatest().__category}setId(e){let n=this.getWritable();n.__id=e}getId(){return this.getLatest().__id}setAlignment(e){let n=this.getWritable();n.__alignment=e}getAlignment(){return this.getLatest().__alignment}setInset(e){let n=this.getWritable();n.__inset=e}getInset(){return this.getLatest().__inset}createDOM(e,n){let r=document.createElement("p");return r.classList.add("callout",this.__category||""),ct(r,this),r}updateDOM(e){return e.__category!==this.__category||Ro(e,this)}insertNewAfter(e,n){let r=e?e.anchor.offset:0,i=r===this.getTextContentSize()||!e?I():Qn(this.__category);if(i.setDirection(this.getDirection()),this.insertAfter(i,n),r===0&&!this.isEmpty()&&e){let s=I();s.select(),this.replace(s,!0)}return i}static importDOM(){return{p(e){return e.classList.contains("callout")?{conversion:n=>{let r="info",i=["info","success","warning","danger"];for(let l of i)if(n.classList.contains(l)){r=l;break}let s=new o(r);return dt(n,s),{node:s}},priority:3}:null}}}exportJSON(){return{...super.exportJSON(),type:"callout",version:1,category:this.__category,id:this.__id,alignment:this.__alignment,inset:this.__inset}}static importJSON(e){let n=Qn(e.category);return ut(e,n),n}};function Qn(o="info"){return new sn(o)}function $a(o){return o instanceof sn}function Pa(o,t="info"){return o instanceof sn&&o.getCategory()===t}var ln=class o extends G{constructor(e,n={},r){super(r);p(this,"__url");p(this,"__target");p(this,"__rel");p(this,"__title");let{target:i=null,rel:s=null,title:l=null}=n;this.__url=e,this.__target=i,this.__rel=s,this.__title=l}static getType(){return"link"}static clone(e){return new o(e.__url,{rel:e.__rel,target:e.__target,title:e.__title},e.__key)}createDOM(e){let n=document.createElement("a");return n.href=this.__url,this.__target!==null&&(n.target=this.__target),this.__rel!==null&&(n.rel=this.__rel),this.__title!==null&&(n.title=this.__title),Se(n,e.theme.link),n}updateDOM(e,n,r){if(n instanceof HTMLAnchorElement){let i=this.__url,s=this.__target,l=this.__rel,a=this.__title;i!==e.__url&&(n.href=i),s!==e.__target&&(s?n.target=s:n.removeAttribute("target")),l!==e.__rel&&(l?n.rel=l:n.removeAttribute("rel")),a!==e.__title&&(a?n.title=a:n.removeAttribute("title"))}return!1}static importDOM(){return{a:e=>({conversion:rE,priority:1})}}static importJSON(e){let n=wt(e.url,{rel:e.rel,target:e.target,title:e.title});return n.setDirection(e.direction),n}exportJSON(){return{...super.exportJSON(),rel:this.getRel(),target:this.getTarget(),title:this.getTitle(),type:"link",url:this.getURL(),version:1}}getURL(){return this.getLatest().__url}setURL(e){let n=this.getWritable();n.__url=e}getTarget(){return this.getLatest().__target}setTarget(e){let n=this.getWritable();n.__target=e}getRel(){return this.getLatest().__rel}setRel(e){let n=this.getWritable();n.__rel=e}getTitle(){return this.getLatest().__title}setTitle(e){let n=this.getWritable();n.__title=e}insertNewAfter(e,n=!0){let r=wt(this.__url,{rel:this.__rel,target:this.__target,title:this.__title});return this.insertAfter(r,n),r}canInsertTextBefore(){return!1}canInsertTextAfter(){return!1}canBeEmpty(){return!1}isInline(){return!0}extractWithChild(e,n,r){if(!y(n))return!1;let i=n.anchor.getNode(),s=n.focus.getNode();return this.isParentOf(i)&&this.isParentOf(s)&&n.getTextContent().length>0}isEmailURI(){return this.__url.startsWith("mailto:")}isWebSiteURI(){return this.__url.startsWith("https://")||this.__url.startsWith("http://")}};function rE(o){let t=null;if(zi(o)){let e=o.textContent;(e!==null&&e!==""||o.children.length>0)&&(t=wt(o.getAttribute("href")||"",{rel:o.getAttribute("rel"),target:o.getAttribute("target"),title:o.getAttribute("title")}))}return{node:t}}function wt(o,t){return ie(new ln(o,t))}function Kt(o){return o instanceof ln}var NL=$("TOGGLE_LINK_COMMAND");var an=class o extends G{constructor(e,n,r){super(r);p(this,"__src","");p(this,"__alt","");p(this,"__width",0);p(this,"__height",0);p(this,"__alignment","");this.__src=e,n.alt&&(this.__alt=n.alt),n.width&&(this.__width=n.width),n.height&&(this.__height=n.height)}static getType(){return"image"}static clone(e){let n=new o(e.__src,{alt:e.__alt,width:e.__width,height:e.__height},e.__key);return n.__alignment=e.__alignment,n}setSrc(e){let n=this.getWritable();n.__src=e}getSrc(){return this.getLatest().__src}setAltText(e){let n=this.getWritable();n.__alt=e}getAltText(){return this.getLatest().__alt}setHeight(e){let n=this.getWritable();n.__height=e}getHeight(){return this.getLatest().__height}setWidth(e){let n=this.getWritable();n.__width=e}getWidth(){return this.getLatest().__width}setAlignment(e){let n=this.getWritable();n.__alignment=e}getAlignment(){return this.getLatest().__alignment}isInline(){return!0}createDOM(e,n){let r=document.createElement("img");return r.setAttribute("src",this.__src),this.__width&&r.setAttribute("width",String(this.__width)),this.__height&&r.setAttribute("height",String(this.__height)),this.__alt&&r.setAttribute("alt",this.__alt),this.__alignment&&r.classList.add("align-"+this.__alignment),r.addEventListener("click",i=>{n.update(()=>{this.select()})}),r}updateDOM(e,n){return e.__src!==this.__src&&n.setAttribute("src",this.__src),e.__width!==this.__width&&(this.__width?n.setAttribute("width",String(this.__width)):n.removeAttribute("width")),e.__height!==this.__height&&(this.__height?n.setAttribute("height",String(this.__height)):n.removeAttribute("height")),e.__alt!==this.__alt&&(this.__alt?n.setAttribute("alt",String(this.__alt)):n.removeAttribute("alt")),e.__alignment!==this.__alignment&&(e.__alignment&&n.classList.remove("align-"+e.__alignment),this.__alignment&&n.classList.add("align-"+this.__alignment)),!1}static importDOM(){return{img(e){return{conversion:n=>{let r=n.getAttribute("src")||"",i={alt:n.getAttribute("alt")||"",height:Number.parseInt(n.getAttribute("height")||"0"),width:Number.parseInt(n.getAttribute("width")||"0")},s=new o(r,i);return s.setAlignment(Vr(n)),{node:s}},priority:3}}}}exportJSON(){return{...super.exportJSON(),type:"image",version:1,src:this.__src,alt:this.__alt,height:this.__height,width:this.__width,alignment:this.__alignment}}static importJSON(e){let n=dn(e.src,{alt:e.alt,width:e.width,height:e.height});return n.setAlignment(e.alignment),n}};function dn(o,t={}){return new an(o,t)}function Qe(o){return o instanceof an}function Ba(o){return"build"in o}var ke=class{constructor(){p(this,"dom",null);p(this,"context",null);p(this,"abortController",new AbortController)}setContext(t){this.context=t}getContext(){if(this.context===null)throw new Error("Attempted to use EditorUIContext before it has been set");return this.context}getDOMElement(){return this.dom||(this.dom=this.buildDOM()),this.dom}rebuildDOM(){let t=this.buildDOM();return this.dom?.replaceWith(t),this.dom=t,this.dom}trans(t){return this.getContext().translate(t)}updateState(t){}emitEvent(t,e={}){this.dom&&this.dom.dispatchEvent(new CustomEvent("editor::"+t,{detail:e,bubbles:!0}))}onEvent(t,e,n=null){let r=n||this.dom;r&&r.addEventListener("editor::"+t,(i=>{e(i.detail)}),{signal:this.abortController.signal})}teardown(){this.dom&&this.dom.isConnected&&this.dom.remove(),this.abortController.abort("teardown")}},ne=class extends ke{constructor(e){super();p(this,"children",[]);this.children.push(...e)}buildDOM(){return _("div",{},this.getChildren().map(e=>e.getDOMElement()))}getChildren(){return this.children}addChildren(...e){this.children.push(...e)}removeChildren(...e){for(let n of e)this.removeChild(n)}removeChild(e){let n=this.children.indexOf(e);n!==-1&&this.children.splice(n,1)}updateState(e){for(let n of this.children)n.updateState(e)}setContext(e){super.setContext(e);for(let n of this.getChildren())n.setContext(e)}teardown(){for(let e of this.children)e.teardown();super.teardown()}},Jr=class extends ne{constructor(e,n){super(n);p(this,"className");this.className=e}buildDOM(){return _("div",{class:this.className},this.getChildren().map(e=>e.getDOMElement()))}};function Yf(o,t,e){let n=null;return function(...i){let s=this,l=function(){n=null,e||o.apply(s,i)},a=e&&!n;n&&clearTimeout(n),n=window.setTimeout(l,t),a&&o.apply(s,i)}}function Zf(){let o=()=>((1+Math.random())*65536|0).toString(16).substring(1);return`${o()+o()}-${o()}-${o()}-${o()}-${o()}${o()}${o()}`}function Es(){return((1+Math.random())*65536|0).toString(16).substring(1)}var Ut=class extends ke{constructor(e){super();p(this,"definition");this.definition=e}setValue(e){let n=this.getDOMElement().querySelector("input,select,textarea");this.definition.type==="checkbox"?n.checked=!!e:n.value=e,n.dispatchEvent(new Event("change"))}getName(){return this.definition.name}buildDOM(){let e=`editor-form-field-${this.definition.name}-${Date.now()}`,n;if(this.definition.type==="select"){let r=this.definition.valuesByLabel,s=Object.keys(r).map(l=>_("option",{value:r[l]},[this.trans(l)]));n=_("select",{id:e,name:this.definition.name,class:"editor-form-field-input"},s)}else if(this.definition.type==="textarea")n=_("textarea",{id:e,name:this.definition.name,class:"editor-form-field-input"});else if(this.definition.type==="checkbox")n=_("input",{id:e,name:this.definition.name,type:"checkbox",class:"editor-form-field-input-checkbox",value:"true"});else{if(this.definition.type==="hidden")return n=_("input",{id:e,name:this.definition.name,type:"hidden"}),_("div",{hidden:"true"},[n]);n=_("input",{id:e,name:this.definition.name,class:"editor-form-field-input"})}return _("div",{class:"editor-form-field-wrapper"},[_("label",{class:"editor-form-field-label",for:e},[this.trans(this.definition.label)]),n])}},Ts=class extends ne{constructor(e){let n=e.fields.map(r=>Ba(r)?r.build():new Ut(r));super(n);p(this,"definition");p(this,"onCancel",null);p(this,"onSuccessfulSubmit",null);this.definition=e}focusOnFirst(){let e=this.getDOMElement().querySelector("input,select,textarea");e&&e.focus()}setValues(e){for(let n of Object.keys(e)){let r=this.getFieldByName(n);r&&r.setValue(e[n])}}setOnCancel(e){this.onCancel=e}setOnSuccessfulSubmit(e){this.onSuccessfulSubmit=e}getFieldByName(e){let n=r=>{for(let i of r){if(i instanceof Ut&&i.getName()===e)return i;if(i instanceof ne){let s=n(i.getChildren());if(s)return s}}return null};return n(this.getChildren())}buildDOM(){let e=_("button",{type:"button",class:"editor-form-action-secondary"},[this.trans("Cancel")]),n=_("form",{},[...this.children.map(r=>r.getDOMElement()),_("div",{class:"editor-form-actions"},[e,_("button",{type:"submit",class:"editor-form-action-primary"},[this.trans(this.definition.submitText)])])]);return n.addEventListener("submit",async r=>{r.preventDefault();let i=new FormData(n);await this.definition.action(i,this.getContext())&&this.onSuccessfulSubmit&&this.onSuccessfulSubmit()}),e.addEventListener("click",r=>{this.onCancel&&this.onCancel()}),n}},Ha=class extends ne{constructor(e){let n=e.contents.map(r=>Ba(r)?r.build():new Ut(r));super(n);p(this,"definition");p(this,"fields");p(this,"id");this.definition=e,this.fields=n,this.id=Zf()}getLabel(){return this.getContext().translate(this.definition.label)}getId(){return this.id}buildDOM(){return _("div",{class:"editor-form-tab-content",role:"tabpanel",id:`editor-tabpanel-${this.id}`,"aria-labelledby":`editor-tab-${this.id}`},this.fields.map(e=>e.getDOMElement()))}},cn=class extends ne{constructor(e){let n=e.map(r=>new Ha(r));super(n);p(this,"definitions",[]);p(this,"tabs",[]);this.definitions=e,this.tabs=n}buildDOM(){let e=[],n=[],r=i=>{for(let s=0;s{r(e.indexOf(s))})}return r(0),_("div",{class:"editor-form-tab-container"},[_("div",{class:"editor-form-tab-controls"},e),_("div",{class:"editor-form-tab-contents"},n)])}};var iE=["width","height","style","title","name","src","allow","allowfullscreen","loading","sandbox","type","data","controls","autoplay","controlslist","loop","muted","playsinline","poster","preload"];function sE(o){let t={};for(let e of Object.keys(o))iE.includes(e)&&(t[e]=o[e]);return t}function Cs(o,t){let e=Object.assign({},o);if(!o.style)return e;let n=wa(o.style);return n.delete(t),e.style=Cf(n),e}function Vf(o,t){let e=Xf(o),n={};for(let i of t.attributes)n[i.name]=i.value;e.setAttributes(n);let r=[];if(o==="video"||o==="audio"){for(let i of t.children)if(i.tagName==="SOURCE"){let s=i.getAttribute("src"),l=i.getAttribute("type");s&&l&&r.push({src:s,type:l})}e.setSources(r)}return dt(t,e),e}var Io=class o extends G{constructor(e,n){super(n);p(this,"__id","");p(this,"__alignment","");p(this,"__tag");p(this,"__attributes",{});p(this,"__sources",[]);p(this,"__inset",0);this.__tag=e}static getType(){return"media"}static clone(e){let n=new o(e.__tag,e.__key);return n.__attributes=Object.assign({},e.__attributes),n.__sources=e.__sources.map(r=>Object.assign({},r)),n.__id=e.__id,n.__alignment=e.__alignment,n.__inset=e.__inset,n}setTag(e){let n=this.getWritable();n.__tag=e}getTag(){return this.getLatest().__tag}setAttributes(e){let n=this.getWritable();n.__attributes=sE(e)}getAttributes(){let e=this.getLatest();return Object.assign({},e.__attributes)}setSources(e){let n=this.getWritable();n.__sources=e}getSources(){return this.getLatest().__sources.map(n=>Object.assign({},n))}setSrc(e){let n=this.getAttributes(),r=this.getSources();this.__tag==="object"&&(n.data=e),this.__tag==="video"&&r.length>0?(r[0].src=e,delete n.src,r.length>1&&r.splice(1,r.length-1),this.setSources(r)):n.src=e,this.setAttributes(n)}setWidthAndHeight(e,n){let r=Object.assign(this.getAttributes(),{width:e,height:n});r=Cs(r,"width"),r=Cs(r,"height"),this.setAttributes(r)}setId(e){let n=this.getWritable();n.__id=e}getId(){return this.getLatest().__id}setAlignment(e){let n=this.getWritable();n.__alignment=e}getAlignment(){return this.getLatest().__alignment}setInset(e){let n=this.getWritable();n.__inset=e}getInset(){return this.getLatest().__inset}setHeight(e){if(!e)return;let n=Object.assign(this.getAttributes(),{height:e});this.setAttributes(Cs(n,"height"))}getHeight(){let e=this.getLatest();return rn(e.__attributes.height||"0")}setWidth(e){let n=this.getAttributes(),r=Object.assign(n,{width:e});this.setAttributes(Cs(r,"width"))}getWidth(){let e=this.getLatest();return rn(e.__attributes.width||"0")}isInline(){return!0}isParentRequired(){return!0}createInnerDOM(){let n=(this.__tag==="video"||this.__tag==="audio"?this.__sources:[]).map(i=>_("source",i)),r=_(this.__tag,this.__attributes,n);return ct(r,this),r}createDOM(e,n){let r=this.createInnerDOM();return _("span",{class:r.className+" editor-media-wrap"},[r])}updateDOM(e,n){if(e.__tag!==this.__tag||JSON.stringify(e.__sources)!==JSON.stringify(this.__sources)||JSON.stringify(e.__attributes)!==JSON.stringify(this.__attributes))return!0;let r=n.firstElementChild;return e.__id!==this.__id&&bf(r,"id",this.__id),e.__alignment!==this.__alignment&&(e.__alignment&&(n.classList.remove(`align-${e.__alignment}`),r.classList.remove(`align-${e.__alignment}`)),this.__alignment&&(n.classList.add(`align-${this.__alignment}`),r.classList.add(`align-${this.__alignment}`))),e.__inset!==this.__inset&&(n.style.paddingLeft=`${this.__inset}px`),!1}static importDOM(){let e=n=>r=>({conversion:i=>({node:Vf(n,i)}),priority:3});return{iframe:e("iframe"),embed:e("embed"),object:e("object"),video:e("video"),audio:e("audio")}}exportDOM(e){return{element:this.createInnerDOM()}}exportJSON(){return{...super.exportJSON(),type:"media",version:1,id:this.__id,alignment:this.__alignment,inset:this.__inset,tag:this.__tag,attributes:this.__attributes,sources:this.__sources}}static importJSON(e){let n=Xf(e.tag);return ut(e,n),n}};function Xf(o){return new Io(o)}function jf(o){let n=new DOMParser().parseFromString(`${o}`,"text/html").body.children[0];if(!(n instanceof HTMLElement))return null;let r=n.tagName.toLowerCase();return["embed","iframe","video","audio","object"].includes(r)?Vf(r,n):null}var lE=[{regex:/.*?youtu\.be\/([\w\-_\?&=.]+)/i,w:560,h:314,url:"https://www.youtube.com/embed/$1"},{regex:/.*youtube\.com(.+)v=([^&]+)(&([a-z0-9&=\-_]+))?.*/i,w:560,h:314,url:"https://www.youtube.com/embed/$2?$4"},{regex:/.*youtube.com\/embed\/([a-z0-9\?&=\-_]+).*/i,w:560,h:314,url:"https://www.youtube.com/embed/$1"}],aE=["mp4","mpeg","m4v","m4p","mov"],dE=["3gp","aac","flac","mp3","m4a","ogg","wav","webm"],cE=["html","htm","php","asp","aspx",""];function Gf(o){for(let s of lE)if(o.match(s.regex)){let a=o.replace(s.regex,s.url),d=new Io("iframe");return d.setSrc(a),d.setHeight(s.h),d.setWidth(s.w),d}let t="iframe",n=(o.split("?")[0].split("/").pop()||"").split("."),r=(n.length>1?n[n.length-1]:"").toLowerCase();aE.includes(r)?t="video":dE.includes(r)?t="audio":r&&!cE.includes(r)&&(t="embed");let i=new Io(t);return i.setSrc(o),i}function vt(o){return o instanceof Io}function uE(o){return o.map(t=>{if(L(t)){let e=I();return e.append(t),e}return t})}function Qr(o,t){let e=os(t);return cs(o,e)}function er(o,t){return uE(Qr(o,t))}function zt(o,t){for(let e of o.getParents())if(t(e))return e;return null}function ei(o,t){t||(t=F());let e=[];for(let n of t.getChildren())o(n)&&e.push(n),E(n)&&e.push(...ei(o,n));return e}function Qf(o,t){let e=o.clientX,n=o.clientY,r=window.document.caretPositionFromPoint(o.x,o.y);if(!r){let s=Jf(t,e,n);return s?{node:s,offset:0}:null}let i=Y(r.offsetNode);if(!i){let s=Jf(t,e,n);return s?{node:s,offset:0}:null}return{node:i,offset:r.offset}}function Jf(o,t,e){let n=F().getChildren();for(let r of n){let i=o.getElementByKey(r.__key);if(!i)continue;let s=i.getBoundingClientRect();if(e<=s.bottom)return r}return null}function et(o){let t=e=>(E(e)||H(e))&&!e.isInline()&&!re(e);return t(o)?o:U(o,t)}function em(o){let t=[],e=i=>{for(let s of i.getChildren())t.push(s.getKey()),E(s)&&e(s)},n=F();e(n);let r=Array.from(o);return r.sort((i,s)=>{let l=t.indexOf(i.getKey()),a=t.indexOf(s.getKey());return l-a}),r}function ti(o,t){let e=et(o)||o,n=t?e.getNextSibling():e.getPreviousSibling();return n||(n=I(),t?e.insertAfter(n):e.insertBefore(n)),t?n.selectStart():n.selectEnd()}function oi(o){return"__alignment"in o}function tm(o){return"__inset"in o}function Fa(o){let t=1,e=o.getParent();for(;e!=null;){if(z(e)){let n=e.getParent();if(Z(n)){t++,e=n.getParent();continue}C(!1,"A ListItemNode must have a ListNode for a parent.")}return t}return t}function Ka(o){let t=o.getParent();Z(t)||C(!1,"A ListItemNode must have a ListNode for a parent.");let e=t;for(;e!==null;)e=e.getParent(),Z(e)&&(t=e);return t}function Ua(o){let t=[],e=o.getChildren().filter(z);for(let n=0;n{C(Z(e),"node is not a ListNode"),sm(e),im(e)}}static importDOM(){return{ol:()=>({conversion:rm,priority:0}),ul:()=>({conversion:rm,priority:0})}}static importJSON(e){let n=Ce(e.listType,e.start);return n.setId(e.id),n.setDirection(e.direction),n}exportDOM(e){let{element:n}=super.exportDOM(e);return n&&he(n)&&(this.__start!==1&&n.setAttribute("start",String(this.__start)),this.__listType==="check"&&n.setAttribute("__lexicalListType","check")),{element:n}}exportJSON(){return{...super.exportJSON(),listType:this.getListType(),start:this.getStart(),tag:this.getTag(),type:"list",version:1,id:this.__id}}canBeEmpty(){return!1}canIndent(){return!1}append(...e){for(let n=0;n1?n.push(...g):r.push(...g)}}r.length>0&&ss(o,...r),n.length>0&&Se(o,...n)}function fE(o){let t=[];for(let e of o)z(e)?t.push(e):t.push(om(e));return t}function mE(o){if(o.getAttribute("__lexicallisttype")==="check"||o.classList.contains("contains-task-list"))return!0;for(let t of o.childNodes)if(he(t)&&(t.hasAttribute("aria-checked")||t.classList.contains("task-list-item")||t.firstElementChild&&t.firstElementChild.matches('input[type="checkbox"]')))return!0;return!1}function rm(o){let t=o.nodeName.toLowerCase(),e=null;if(t==="ol"){let n=o.start;e=Ce("number",n)}else t==="ul"&&(mE(o)?e=Ce("check"):e=Ce("bullet"));return o.id&&e&&e.setId(o.id),o.dir&&e&&e.setDirection(Xr(o)),{after:fE,node:e}}var pE={ol:"number",ul:"bullet"};function Ce(o,t=1){return ie(new $o(o,t))}function Z(o){return o instanceof $o}function gE(o){let t=o.getParent();if(!Z(t))return o;let e=o.getChildren().filter(d=>Z(d))[0]||null,n=e?.getChildren()||[],r=t.getChildren(),i=r.findIndex(d=>d.getKey()===o.getKey()),s=i===0,l=Ie(),a=Ce(t.getListType());if(a.append(l),l.append(...o.getChildren()),s?o.append(a):(r[i-1].append(a),o.remove()),e){for(let d of n)l.insertAfter(d);e.remove()}return l}function hE(o){let t=o.getParent(),e=t?.getParent(),n=e?.getParent();if(!Z(t)||!Z(n)||!z(e))return o;let r=o.getNextSiblings();if(e.insertAfter(o),t.getChildren().length===0&&t.remove(),r.length>0){let i=Ce(t.getListType());i.append(...r),o.append(i)}return t.getChildrenSize()===0&&t.remove(),e.getChildren().length===0&&e.remove(),o}function NE(o){let t=o?.getNodes()||[],[e,n]=o?.getStartEndPoints()||[null,null],r=new Set;if(o&&e){o.isBackward()&&n&&([n,e]=[e,n]);let s=e.getNode().getParents(),l=!1;for(let a of s)z(a)&&(l?r.add(a.getKey()):l=!0)}let i=[];e:for(let s of t){if(z(s)){r.has(s.getKey())||i.push(s);continue}let l=s.getParents();for(let a of l)if(z(a)){r.has(a.getKey())||i.push(a);continue e}i.push(null)}return i}function xE(o){let t={};for(let n of o){if(n===null)continue;let r=n.getKey();typeof t[r]>"u"&&(t[r]=n)}let e=Object.values(t);return em(e)}function ni(o,t){let e=T(),n=e?.getStartEndPoints(),r=NE(e);if(r.length>0&&!r.includes(null)){let l=[],a=xE(r);if(t>0)for(let d of a)l.push(gE(d));else if(t<0){for(let d of[...a].reverse())l.push(hE(d));l.reverse()}if(l.length===1&&n){let d=l[0],u=d.getChildren()[0];u||(u=q(""),d.append(u)),u.select(n[0].offset,n[1].offset)}else am(l);return}let s=ft(e);for(let l of s)if(tm(l)){let a=l.getInset(),d=Math.min(Math.max(a+t,0),500);l.setInset(d)}dm(o)}function lm(o){let t=o.getParentOrThrow(),e=t.getParent();if(z(e))return e.insertAfter(o),o.selectStart(),null;if(!o.isLastChild()){let r=o.getNextSiblings(),i=Ce(t.getListType());i.append(...r),t.insertAfter(i)}let n=I();return t.insertAfter(n,!0),o.remove(),n}var Wt=class o extends G{constructor(e,n,r){super(r);p(this,"__value");p(this,"__checked");this.__value=e===void 0?1:e,this.__checked=n}static getType(){return"listitem"}static clone(e){return new o(e.__value,e.__checked,e.__key)}createDOM(e){let n=document.createElement("li"),r=this.getParent();return Z(r)&&r.getListType()==="check"&&um(n,this),n.value=this.__value,cm(this)&&(n.style.listStyle="none"),n}updateDOM(e,n,r){let i=this.getParent();return Z(i)&&i.getListType()==="check"&&um(n,this),n.style.listStyle=cm(this)?"none":"",n.value=this.__value,!1}static transform(){return e=>{if(C(z(e),"node is not a ListItemNode"),e.__checked==null)return;let n=e.getParent();Z(n)&&n.getListType()!=="check"&&e.getChecked()!=null&&e.setChecked(void 0)}}static importDOM(){return{li:()=>({conversion:EE,priority:0})}}static importJSON(e){let n=Ie();return n.setChecked(e.checked),n.setValue(e.value),n.setDirection(e.direction),n}exportDOM(e){let n=this.createDOM(e._config);if(n.classList.contains("task-list-item")){let r=_("input",{type:"checkbox",disabled:"disabled"});n.hasAttribute("checked")&&(r.setAttribute("checked","checked"),n.removeAttribute("checked")),n.prepend(r)}return{element:n}}exportJSON(){return{...super.exportJSON(),checked:this.getChecked(),type:"listitem",value:this.getValue(),version:1}}append(...e){for(let n=0;n{e.append(i)})),this.remove(),r.getChildrenSize()===0&&r.remove(),e}insertAfter(e,n=!0){let r=this.getParentOrThrow();if(Z(r)||C(!1,"insertAfter: list node is not parent of list item node"),z(e))return super.insertAfter(e,n);let i=this.getNextSiblings();if(r.insertAfter(e,n),i.length!==0){let s=Ce(r.getListType());i.forEach(l=>s.append(l)),e.insertAfter(s,n)}return e}remove(e){let n=this.getPreviousSibling(),r=this.getNextSibling();super.remove(e),n&&r&&tr(n)&&tr(r)&&(bs(n.getFirstChild(),r.getFirstChild()),r.remove())}insertNewAfter(e,n=!0){let r=this.getTextContent();if(r===""||r.trim()===""&&this.isLastChild())return lm(this);let i=Ie(this.__checked==null?void 0:!1);return this.insertAfter(i,n),i}collapseAtStart(e){let n=I();this.getChildren().forEach(a=>n.append(a));let i=this.getParentOrThrow(),s=i.getParentOrThrow(),l=z(s);if(i.getChildrenSize()===1)if(l)i.remove(),s.select();else{i.insertBefore(n),i.remove();let a=e.anchor,d=e.focus,u=n.getKey();a.type==="element"&&a.getNode().is(this)&&a.set(u,a.offset,"element"),d.type==="element"&&d.getNode().is(this)&&d.set(u,d.offset,"element")}else i.insertBefore(n),this.remove();return!0}getValue(){return this.getLatest().__value}setValue(e){let n=this.getWritable();n.__value=e}getChecked(){let e=this.getLatest(),n,r=this.getParent();return Z(r)&&(n=r.getListType()),n==="check"?!!e.__checked:void 0}setChecked(e){let n=this.getWritable();n.__checked=e}toggleChecked(){this.setChecked(!this.__checked)}canInsertAfter(e){return z(e)}canReplaceWith(e){return z(e)}canMergeWith(e){return Ge(e)||z(e)}extractWithChild(e,n){if(!y(n))return!1;let r=n.anchor.getNode(),i=n.focus.getNode();return this.isParentOf(r)&&this.isParentOf(i)&&this.getTextContent().length===n.getTextContent().length}isParentRequired(){return!0}createParentElementNode(){return Ce("bullet")}canMergeWhenEmpty(){return!0}};function cm(o){let t=o.getChildren(),e=!1,n=!1;for(let r of t)Z(r)?n=!0:r.getTextContent().trim().length>0&&(e=!0);return n&&!e}function um(o,t){let e=!Z(t.getFirstChild());o.classList.toggle("task-list-item",e),t.__checked?o.setAttribute("checked","checked"):o.removeAttribute("checked")}function EE(o){if(o.classList.contains("task-list-item")){for(let r of o.children)if(r.tagName==="INPUT")return TE(r)}let e=o.getAttribute("aria-checked");return{node:Ie(e==="true"?!0:e==="false"?!1:void 0)}}function TE(o){if(!(o.getAttribute("type")==="checkbox"))return{node:null};let e=o.hasAttribute("checked");return{node:Ie(e)}}function Ie(o){return ie(new Wt(void 0,o))}function z(o){return o instanceof Wt}function mm(o,t){return z(o)&&(t.length===0||t.length===1&&o.is(t[0])&&o.getChildrenSize()===0)}function za(o,t){o.update(()=>{let e=T();if(e!==null){let n=e.getNodes();if(y(e)){let i=e.getStartEndPoints();C(i!==null,"insertList: anchor should be defined");let[s]=i,l=s.getNode(),a=l.getParent();if(mm(l,n)){let d=Ce(t);if(ge(a)){l.replace(d);let u=Ie();d.append(u)}else if(z(l)){let u=l.getParentOrThrow();ri(d,u.getChildren()),u.replace(d)}return}}let r=new Set;for(let i=0;i0&&o.append(...r),t.remove()}function Wa(o){o.update(()=>{let t=T();if(y(t)){let e=new Set,n=t.getNodes(),r=t.anchor.getNode();if(mm(r,n))e.add(Ka(r));else for(let i=0;i{let t=T();if(!y(t))return!1;let e=t.anchor.getNode(),r=Fn(e,ro).getParent();if(z(r)){let i=t.insertParagraph();if(i){let s=Ie(),l=i.getNextSiblings();s.append(i,...l),r.insertAfter(s,!1),s.selectStart()}return!0}return!1},St))}var pm=new WeakMap;function ae(o){return pm.get(o)||null}function gm(o,t){pm.set(o,t)}function de(o,t){return X(o,t)!==null}function X(o,t){if(!o)return null;for(let e of o.getNodes()){if(t(e))return e;let n=zt(e,t);if(n)return n}return null}function hm(o){return X(o,L)}function Nm(o,t){if(!o)return!1;let e=o.getNodes();for(let n of e)if(L(n)&&n.hasFormat(t))return!0;return!!(e.length===1&&Ge(e[0])&&e[0].hasTextFormat(t))}function CE(o){let t=o.getStartEndPoints();if(!t)return;let e=et(t[0].getNode()),n=et(t[1].getNode());if(z(e)&&e.getKey()===n?.getKey()){let i=I();t[0].getNode().insertBefore(i),i.append(...o.getNodes())}}function or(o,t){let e=T(),n=e?Of(e.getNodes()[0]):null;z(n)&&e&&CE(e),e&&o(n)?ns(e,I):ns(e,t)}function un(o,t=!0){bE([o],t)}function bE(o,t=!0){let e=T()?.getNodes()||[],n=e.length>0?et(e[0]):null;if(n)if(t)for(let r=o.length-1;r>=0;r--)n.insertAfter(o[r]);else for(let r of o)n.insertBefore(r);else F().append(...o)}function xm(o){let t=T();if(t){t.insertNodes(o);return}let e=F(),n=e.getLastChild();for(let r of o){let i=yt(r);if(i&&!n)e.append(r),n=r;else if(i)n?.insertAfter(r),n=r;else if(E(n))n.append(r);else{let s=I();s.append(r),e.append(s),n=s}}}function mt(o){let t=Oo();t.add(o.getKey()),W(t)}function Em(o){for(let t of o){if(L(t))return t;if(E(t)){let e=t.getChildren(),n=Em(e);if(n!==null)return n}}return null}function Tm(o){let t=[...o].reverse();for(let e of t){if(L(e))return e;if(E(e)){let n=[...e.getChildren()].reverse(),r=Tm(n);if(r!==null)return r}}return null}function am(o){if(o.length===0)return;let t=on(),e=Em(o),n=Tm(o);e&&n&&(t.setTextNodeRange(e,0,n,n.getTextContentSize()||0),W(t))}function dm(o){let t=ae(o);t&&window.requestAnimationFrame(()=>{o.update(()=>{W(t.clone())})})}function ys(o,t){if(!o)return!1;let e=t.getKey();for(let n of o.getNodes())if(n.getKey()===e)return!0;return!1}function ii(o,t){let e=[...o?.getNodes()||[],...ft(o)];for(let n of e)if(oi(n)&&n.getAlignment()===t)return!0;return!1}function Ya(o,t){let e=[...o?.getNodes()||[],...ft(o)];for(let n of e)if(yt(n)&&n.getDirection()===t)return!0;return!1}function ft(o){if(!o)return[];let t=new Map;for(let e of o.getNodes()){let n=et(e);E(n)&&t.set(n.getKey(),n)}return Array.from(t.values())}function Cm(o,t,e=!0){let n=Br().getElementByKey(o.getKey());if(!n)return null;let i=(n.children[e?0:n.children.length-1]||n).getBoundingClientRect(),s=i[e?"top":"bottom"]+(e?1:-1),l=i.x+t,a=document.caretRangeFromPoint?.(l,s),d=document.caretPositionFromPoint?.(l,s)??(a?{offsetNode:a.startContainer,offset:a.startOffset}:void 0);if(!d)return null;let u=Y(d.offsetNode);if(!u)return null;let f=of(u,d.offset);return W(f),f}var si=class extends ne{constructor(e,n){super([e,n]);p(this,"input");p(this,"action");this.input=e,this.action=n}buildDOM(){return _("div",{class:"editor-action-input-container"},[this.input.getDOMElement(),this.action.getDOMElement()])}};var w=class extends ke{constructor(e){super();p(this,"definition");p(this,"active",!1);p(this,"completedSetup",!1);p(this,"disabled",!1);e.action!==void 0?this.definition=e:this.definition={...e,action(){return!1},isActive:()=>!1}}setContext(e){super.setContext(e),this.definition.setup&&!this.completedSetup&&(this.definition.setup(e,this),this.completedSetup=!0)}buildDOM(){let e=this.getLabel(),n=this.definition.format||"small",r=[];if(this.definition.icon||n==="long"){let s=_("div",{class:"editor-button-icon"});s.innerHTML=this.definition.icon||"",r.push(s)}if(!this.definition.icon||n==="long"){let s=_("div",{class:"editor-button-text"},[e]);r.push(s)}let i=_("button",{type:"button",class:`editor-button editor-button-${n}`,title:this.definition.icon?e:null,disabled:this.disabled?"true":null},r);return i.addEventListener("click",this.onClick.bind(this)),i}onClick(){let e=this.definition.action(this.getContext(),this);e instanceof Promise?e.then(n=>{n===!1&&this.emitEvent("button-action")}):e!==!1&&this.emitEvent("button-action")}updateActiveState(e){let n=this.definition.isActive(e,this.getContext());this.setActiveState(n)}updateDisabledState(e){if(this.definition.isDisabled){let n=this.definition.isDisabled(e,this.getContext());this.toggleDisabled(n)}}setActiveState(e){this.active=e,this.dom?.classList.toggle("editor-button-active",this.active)}updateState(e){this.updateActiveState(e.selection),this.updateDisabledState(e.selection)}isActive(){return this.active}getLabel(){return this.trans(this.definition.label)}toggleDisabled(e){this.disabled=e,e?this.dom?.setAttribute("disabled","true"):this.dom?.removeAttribute("disabled")}};function _s(o){window.$components.first("image-manager").show(e=>{o(e)},"gallery")}function bm(o){let t=o.thumbs?.display||o.url,e=wt(t,{target:"_blank"}),n=dn(t,{alt:o.name});return e.append(n),e}async function ym(o,t){if(o===null||o.type.indexOf("image")!==0)throw new Error("Not an image file");let e=o.name||`image-${Date.now()}.png`,n=new FormData;return n.append("file",o,e),n.append("uploaded_to",t),(await window.$http.post("/images/gallery",n)).data}var _m='';var Ss='';function Ls(o,t){window.$components.first("entity-selector-popup").show(n=>o(n),{initialValue:t||"",searchEndpoint:"/search/entity-selector",entityTypes:"page,book,chapter,bookshelf",entityPermission:"view"})}var ir=class o extends Ft{constructor(e,n){super(n);p(this,"__tag");this.__tag=e}static getType(){return"heading"}static clone(e){let n=new o(e.__tag,e.__key);return ko(e,n),n}getTag(){return this.__tag}createDOM(e){let n=this.__tag,r=document.createElement(n),s=e.theme.heading;if(s!==void 0){let l=s[n];Se(r,l)}return ct(r,this),r}updateDOM(e,n){return Ro(e,this)}static importDOM(){return{h1:e=>({conversion:nr,priority:0}),h2:e=>({conversion:nr,priority:0}),h3:e=>({conversion:nr,priority:0}),h4:e=>({conversion:nr,priority:0}),h5:e=>({conversion:nr,priority:0}),h6:e=>({conversion:nr,priority:0})}}exportDOM(e){let{element:n}=super.exportDOM(e);return n&&he(n)&&this.isEmpty()&&n.append(document.createElement("br")),{element:n}}static importJSON(e){let n=rr(e.tag);return ut(e,n),n}exportJSON(){return{...super.exportJSON(),tag:this.getTag(),type:"heading",version:1}}insertNewAfter(e,n=!0){let r=e?e.anchor.offset:0,i=this.getLastDescendant(),l=!i||e&&e.anchor.key===i.getKey()&&r===i.getTextContentSize()||!e?I():rr(this.getTag()),a=this.getDirection();if(l.setDirection(a),this.insertAfter(l,n),r===0&&!this.isEmpty()&&e){let d=I();d.select(),this.replace(d,!0)}return l}collapseAtStart(){let e=this.isEmpty()?I():rr(this.getTag());return this.getChildren().forEach(r=>e.append(r)),this.replace(e),!0}extractWithChild(){return!0}};function nr(o){let t=o.nodeName.toLowerCase(),e=null;return(t==="h1"||t==="h2"||t==="h3"||t==="h4"||t==="h5"||t==="h6")&&(e=rr(t),dt(o,e)),{node:e}}function rr(o){return ie(new ir(o))}function Po(o){return o instanceof ir}var Ms=class extends ne{constructor(e){super([e]);p(this,"input");p(this,"headerMap",new Map);this.input=e}buildDOM(){let e="editor-form-datalist-"+this.input.getName()+"-"+Date.now(),n=this.input.getDOMElement(),r=n.querySelector("input");r?.setAttribute("list",e),r?.setAttribute("autocomplete","off");let i=_("datalist",{id:e}),s=_("div",{class:"editor-link-field-container"},[n,i]);return r?.addEventListener("focusin",()=>{this.updateDataList(i)}),r?.addEventListener("input",()=>{let l=r.value,a=this.headerMap.get(l);a&&this.updateFormFromHeader(a)}),s}updateFormFromHeader(e){this.getHeaderIdAndText(e).then(({id:n,text:r})=>{let i=this.getContext().manager.getActiveModal("link");i&&i.getForm().setValues({url:`#${n}`,text:r,title:r})})}getHeaderIdAndText(e){return new Promise(n=>{this.getContext().editor.update(()=>{let r=e.getId();r||(r="header-"+Es(),e.setId(r));let i=e.getTextContent();n({id:r,text:i})})})}updateDataList(e){this.getContext().editor.getEditorState().read(()=>{let n=ei(Po);this.headerMap.clear();let r=[];for(let i of n){let s="header-"+i.getKey();this.headerMap.set(s,i),r.push(_("option",{value:s,label:i.getTextContent().substring(0,54)}))}e.innerHTML="",e.append(...r)})}};var Sm=o=>(o.split(" ").filter(e=>e.startsWith("language-"))[0]||"").replace("language-",""),fn=class o extends at{constructor(e="",n="",r){super(r);p(this,"__id","");p(this,"__language","");p(this,"__code","");this.__language=e,this.__code=n}static getType(){return"code-block"}static clone(e){let n=new o(e.__language,e.__code,e.__key);return n.__id=e.__id,n}setLanguage(e){let n=this.getWritable();n.__language=e}getLanguage(){return this.getLatest().__language}setCode(e){let n=this.getWritable();n.__code=e}getCode(){return this.getLatest().__code}setId(e){let n=this.getWritable();n.__id=e}getId(){return this.getLatest().__id}decorate(e,n){return{type:"code",getNode:()=>this}}isInline(){return!1}isIsolated(){return!0}createDOM(e,n){let r=_("pre",{id:this.__id||null},[_("code",{class:this.__language?`language-${this.__language}`:null},[this.__code])]);return _("div",{class:"editor-code-block-wrap"},[r])}updateDOM(e,n){let r=n.querySelector("code");return r&&(e.__language!==this.__language&&(r.className=this.__language?`language-${this.__language}`:""),e.__id!==this.__id&&n.setAttribute("id",this.__id),e.__code!==this.__code&&(r.textContent=this.__code)),!1}exportDOM(e){return{element:this.createDOM(e._config,e).querySelector("pre")}}static importDOM(){return{pre(e){return{conversion:n=>{let r=n.querySelector("code"),i=Sm(n.className)||r&&Sm(r.className)||"",s=r?(r.textContent||"").trim():(n.textContent||"").trim(),l=ws(i,s);return n.id&&l.setId(n.id),{node:l,after(a){return[]}}},priority:3}}}}exportJSON(){return{type:"code-block",version:1,id:this.__id,language:this.__language,code:this.__code}}static importJSON(e){let n=ws(e.language,e.code);return n.setId(e.id||""),n}};function ws(o="",t=""){return new fn(o,t)}function vs(o){return o instanceof fn}function li(o,t){let e=t.getCode(),n=t.getLanguage();window.$components.first("code-editor").open(e,n,"ltr",(i,s)=>{o.update(()=>{t.setCode(i),t.setLanguage(s)})},()=>{})}var sr=class o extends Ft{static getType(){return"quote"}static clone(t){let e=new o(t.__key);return ko(t,e),e}constructor(t){super(t)}createDOM(t){let e=document.createElement("blockquote");return Se(e,t.theme.quote),ct(e,this),e}updateDOM(t,e){return Ro(t,this)}static importDOM(){return{blockquote:t=>({conversion:SE,priority:0})}}exportDOM(t){let{element:e}=super.exportDOM(t);return e&&he(e)&&this.isEmpty()&&e.append(document.createElement("br")),{element:e}}static importJSON(t){let e=Ds();return ut(t,e),e}exportJSON(){return{...super.exportJSON(),type:"quote"}}insertNewAfter(t,e){let n=I(),r=this.getDirection();return n.setDirection(r),this.insertAfter(n,e),n}collapseAtStart(){let t=I();return this.getChildren().forEach(n=>t.append(n)),this.replace(t),!0}canMergeWhenEmpty(){return!0}};function Ds(){return ie(new sr)}function Os(o){return o instanceof sr}function SE(o){let t=Ds();return dt(o,t),{node:t}}var LE=(o,t)=>Po(o)&&o.getTag()===t;function As(o,t){o.update(()=>{or(e=>LE(e,t),()=>rr(t))})}function ai(o){o.update(()=>{or(Ge,I)})}function di(o){o.update(()=>{or(Os,Ds)})}function ci(o,t){o.getEditorState().read(()=>{let e=T();de(e,r=>Z(r)&&r.getListType()===t)?Wa(o):za(o,t)})}function ui(o){o.update(()=>{let t=T(),e=ae(o),n=X(e,vs);if(n===null){let r=ws(),i=[],s=ft(t);for(let d of s)i.push(d.getTextContent());r.setCode(i.join(` +`));let l=s[0],a=s.slice(1);z(l)?(l.getChildren().forEach(d=>d.remove()),l.append(r),a.forEach(d=>d.remove())):l?(l.replace(r),a.forEach(d=>d.remove())):un(r,!0),li(o,r),mt(r)}else li(o,n)})}function Lm(o){o.update(()=>{let t=T(),e=ft(t),n=!1;for(let i of e)$a(i)||(i.replace(Qn("info"),!0),n=!0);if(n)return;let r=["info","warning","danger","success"];for(let i of e)if($a(i)){let s=i.getCategory(),a=(r.indexOf(s)+1)%r.length,d=r[a];i.setCategory(d)}})}function Rs(o,t){o.update(()=>{let e=T(),n=X(e,Kt);if(Kt(n)?(n.setURL(t.url),n.setTarget(t.target),n.setTitle(t.title)):(n=wt(t.url,{title:t.title,target:t.target}),Te([n])),Kt(n)){for(let r of n.getChildren())r.remove(!0);n.append(q(t.text))}})}function Mm(o,t){let e=t.manager.createModal("image"),n=o.getHeight(),r=o.getWidth(),i={src:o.getSrc(),alt:o.getAltText(),height:n===0?"":String(n),width:r===0?"":String(r)};e.show(i)}var wm={submitText:"Apply",async action(o,t){return t.editor.update(()=>{let e=ae(t.editor),n=X(e,Qe);Qe(n)&&(n.setSrc(o.get("src")?.toString()||""),n.setAltText(o.get("alt")?.toString()||""),n.setWidth(Number(o.get("width")?.toString()||"0")),n.setHeight(Number(o.get("height")?.toString()||"0")))}),!0},fields:[{build(){return new si(new Ut({label:"Source",name:"src",type:"text"}),new w({label:"Browse files",icon:_m,action(o){_s(t=>{let e=o.manager.getActiveModal("image");e&&e.getForm().setValues({src:t.thumbs?.display||t.url,alt:t.name})})}}))}},{label:"Alternative description",name:"alt",type:"text"},{label:"Width",name:"width",type:"text"},{label:"Height",name:"height",type:"text"}]};function ks(o,t){let e=t.manager.createModal("link");if(o){let n={url:o.getURL(),text:o.getTextContent(),title:o.getTitle()||"",target:o.getTarget()||""};t.editor.update(()=>{let r=Oo();r.add(o.getKey()),W(r)}),e.show(n)}else t.editor.getEditorState().read(()=>{let i={text:T()?.getTextContent()||""};e.show(i)})}var vm={submitText:"Apply",async action(o,t){return Rs(t.editor,{url:o.get("url")?.toString()||"",title:o.get("title")?.toString()||"",target:o.get("target")?.toString()||"",text:o.get("text")?.toString()||""}),!0},fields:[{build(){return new si(new Ms(new Ut({label:"URL",name:"url",type:"text"})),new w({label:"Browse links",icon:Ss,action(o){Ls(t=>{let e=o.manager.getActiveModal("link");e&&e.getForm().setValues({url:t.link,text:t.name,title:t.name})})}}))}},{label:"Text to display",name:"text",type:"text"},{label:"Title",name:"title",type:"text"},{label:"Open link in...",name:"target",type:"select",valuesByLabel:{"Current window":"","New window":"_blank"}}]};function Dm(o,t){let e=t.manager.createModal("media"),n={};if(o){let r=o.getAttributes(),i=o.exportDOM(t.editor).element,s=i instanceof HTMLElement?i.outerHTML:"";n={src:r.src||r.data||o.getSources()[0]?.src||"",width:r.width,height:r.height,embed:s,embed_check:s}}e.show(n)}var Om={submitText:"Save",async action(o,t){let e=await new Promise((i,s)=>{t.editor.getEditorState().read(()=>{let l=X(T(),vt);i(l)})}),n=(o.get("embed")||"").toString().trim(),r=(o.get("embed_check")||"").toString().trim();return n&&n!==r?(t.editor.update(()=>{let i=jf(n);e&&i?e.replace(i):i&&Te([i])}),!0):(t.editor.update(()=>{let i=(o.get("src")||"").toString().trim(),s=(o.get("height")||"").toString().trim(),l=(o.get("width")||"").toString().trim();if(e){e.setSrc(i),e.setWidthAndHeight(l,s),t.manager.triggerFutureStateRefresh();return}let a=Gf(i);(l||s)&&a.setWidthAndHeight(l,s),Te([a])}),!0)},fields:[{build(){return new cn([{label:"General",contents:[{label:"Source",name:"src",type:"text"},{label:"Width",name:"width",type:"text"},{label:"Height",name:"height",type:"text"}]},{label:"Embed",contents:[{label:"Paste your embed code below:",name:"embed",type:"textarea"},{label:"",name:"embed_check",type:"hidden"}]}])}}]};function Is(o,t){let e=t.manager.createModal("details");o&&e.show({summary:o.getSummary()})}var Am={submitText:"Save",async action(o,t){return t.editor.update(()=>{let e=X(T(),ce),n=(o.get("summary")||"").toString().trim();ce(e)&&e.setSummary(n)}),!0},fields:[{label:"Toggle label",name:"summary",type:"text"}]};var lr=class o extends G{constructor(){super(...arguments);p(this,"__id","");p(this,"__summary","");p(this,"__open",!1)}static getType(){return"details"}setId(e){let n=this.getWritable();n.__id=e}getId(){return this.getLatest().__id}setSummary(e){let n=this.getWritable();n.__summary=e}getSummary(){return this.getLatest().__summary}setOpen(e){let n=this.getWritable();n.__open=e}getOpen(){return this.getLatest().__open}static clone(e){let n=new o(e.__key);return n.__id=e.__id,n.__dir=e.__dir,n.__summary=e.__summary,n.__open=e.__open,n}createDOM(e,n){let r=document.createElement("details");this.__id&&r.setAttribute("id",this.__id),this.__dir&&r.setAttribute("dir",this.__dir),this.__open?(r.setAttribute("open","true"),r.removeAttribute("contenteditable")):r.setAttribute("contenteditable","false");let i=document.createElement("summary");return i.textContent=this.__summary,i.setAttribute("contenteditable","false"),i.addEventListener("click",s=>{s.preventDefault(),n.update(()=>{this.select()})}),i.addEventListener("dblclick",s=>{s.preventDefault();let l=n.getUiContext();l&&n.read(()=>{Is(this,l)})}),r.append(i),r}updateDOM(e,n){return e.__open!==this.__open&&(n.toggleAttribute("open",this.__open),this.__open?n.removeAttribute("contenteditable"):n.setAttribute("contenteditable","false")),e.__id!==this.__id||e.__dir!==this.__dir||e.__summary!==this.__summary}static importDOM(){return{details(e){return{conversion:n=>{let r=new o;n.id&&r.setId(n.id),n.dir&&r.setDirection(Xr(n));let i=Array.from(n.children).find(s=>s.nodeName==="SUMMARY");return r.setSummary(i?.textContent||""),{node:r}},priority:3}},summary(e){return{conversion:n=>({node:"ignore"}),priority:3}}}}exportDOM(e){let n=this.createDOM(e._config,e),r=n.querySelectorAll("[contenteditable]");for(let i of r)i.removeAttribute("contenteditable");return n.removeAttribute("open"),n.removeAttribute("contenteditable"),{element:n}}exportJSON(){return{...super.exportJSON(),type:"details",version:1,id:this.__id,summary:this.__summary}}static importJSON(e){let n=Za();return n.setId(e.id),n.setDirection(e.direction),n}shouldSelectDirectly(){return!0}canBeEmpty(){return!1}};function Za(){return new lr}function ce(o){return o instanceof lr}var te={BOTH:3,COLUMN:2,NO_STATUS:0,ROW:1},uo=class o extends G{constructor(e=te.NO_STATUS,n=1,r,i){super(i);p(this,"__colSpan");p(this,"__rowSpan");p(this,"__headerState");p(this,"__width");p(this,"__backgroundColor");p(this,"__styles",new Map);p(this,"__alignment","");this.__colSpan=n,this.__rowSpan=1,this.__headerState=e,this.__width=r,this.__backgroundColor=null}static getType(){return"tablecell"}static clone(e){let n=new o(e.__headerState,e.__colSpan,e.__width,e.__key);return n.__rowSpan=e.__rowSpan,n.__backgroundColor=e.__backgroundColor,n.__styles=new Map(e.__styles),n.__alignment=e.__alignment,n}static importDOM(){return{td:e=>({conversion:Rm,priority:0}),th:e=>({conversion:Rm,priority:0})}}static importJSON(e){let n=ze(e.headerState,e.colSpan,e.width);return e.rowSpan&&n.setRowSpan(e.rowSpan),n.setStyles(new Map(Object.entries(e.styles))),n.setAlignment(e.alignment),n}createDOM(e){let n=document.createElement(this.getTag());this.__width&&(n.style.width=`${this.__width}px`),this.__colSpan>1&&(n.colSpan=this.__colSpan),this.__rowSpan>1&&(n.rowSpan=this.__rowSpan),this.__backgroundColor!==null&&(n.style.backgroundColor=this.__backgroundColor),Se(n,e.theme.tableCell,this.hasHeader()&&e.theme.tableCellHeader);for(let[r,i]of this.__styles.entries())n.style.setProperty(r,i);return this.__alignment&&n.classList.add("align-"+this.__alignment),n}exportDOM(e){let{element:n}=super.exportDOM(e);return{element:n}}exportJSON(){return{...super.exportJSON(),backgroundColor:this.getBackgroundColor(),colSpan:this.__colSpan,headerState:this.__headerState,rowSpan:this.__rowSpan,type:"tablecell",width:this.getWidth(),styles:Object.fromEntries(this.__styles),alignment:this.__alignment}}getColSpan(){return this.__colSpan}setColSpan(e){return this.getWritable().__colSpan=e,this}getRowSpan(){return this.__rowSpan}setRowSpan(e){return this.getWritable().__rowSpan=e,this}getTag(){return this.hasHeader()?"th":"td"}setHeaderStyles(e){let n=this.getWritable();return n.__headerState=e,this.__headerState}getHeaderStyles(){return this.getLatest().__headerState}setWidth(e){let n=this.getWritable();return n.__width=e,this.__width}getWidth(){return this.getLatest().__width}clearWidth(){let e=this.getWritable();e.__width=void 0}getStyles(){let e=this.getLatest();return new Map(e.__styles)}setStyles(e){let n=this.getWritable();n.__styles=new Map(e)}setAlignment(e){let n=this.getWritable();n.__alignment=e}getAlignment(){return this.getLatest().__alignment}updateTag(e){let r=e.toLowerCase()==="th"?te.ROW:te.NO_STATUS,i=this.getWritable();i.__headerState=r}getBackgroundColor(){return this.getLatest().__backgroundColor}setBackgroundColor(e){this.getWritable().__backgroundColor=e}toggleHeaderStyle(e){let n=this.getWritable();return(n.__headerState&e)===e?n.__headerState-=e:n.__headerState+=e,n}hasHeaderState(e){return(this.getHeaderStyles()&e)===e}hasHeader(){return this.getLatest().__headerState!==te.NO_STATUS}updateDOM(e){return e.__headerState!==this.__headerState||e.__width!==this.__width||e.__colSpan!==this.__colSpan||e.__rowSpan!==this.__rowSpan||e.__backgroundColor!==this.__backgroundColor||e.__styles!==this.__styles||e.__alignment!==this.__alignment}isShadowRoot(){return!0}collapseAtStart(){return!0}canBeEmpty(){return!1}canIndent(){return!1}};function Rm(o){let t=o,e=o.nodeName.toLowerCase(),n;/^(\d+(?:\.\d+)?)px$/.test(t.style.width)&&(n=parseFloat(t.style.width));let i=e==="th";o instanceof HTMLElement&&o.closest("thead")&&(i=!0);let s=ze(i?te.ROW:te.NO_STATUS,t.colSpan,n);s.__rowSpan=t.rowSpan;let l=t.style,a=l.textDecoration.split(" "),d=l.fontWeight==="700"||l.fontWeight==="bold",u=a.includes("line-through"),f=l.fontStyle==="italic",c=a.includes("underline");if(o instanceof HTMLElement){let g=Zn(o);g.delete("background-color"),s.setStyles(g),s.setAlignment(Vr(o))}let m=l.backgroundColor||null;return m&&s.setBackgroundColor(m),{after:g=>(g.length===0&&g.push(I()),g),forChild:(g,h)=>{if(D(h)&&!E(g)){let N=I();return He(g)&&g.getTextContent()===` +`?null:(L(g)&&(d&&g.toggleFormat("bold"),u&&g.toggleFormat("strikethrough"),f&&g.toggleFormat("italic"),c&&g.toggleFormat("underline")),N.append(g),N)}return g},node:s}}function ze(o=te.NO_STATUS,t=1,e){return ie(new uo(o,t,e))}function D(o){return o instanceof uo}var ME=$("INSERT_TABLE_COMMAND");var fo=class o extends G{constructor(e){super(e);p(this,"__height");p(this,"__styles",new Map)}static getType(){return"tablerow"}static clone(e){let n=new o(e.__key);return n.__styles=new Map(e.__styles),n}static importDOM(){return{tr:e=>({conversion:wE,priority:0})}}static importJSON(e){let n=mn();return n.setStyles(new Map(Object.entries(e.styles))),n}exportJSON(){return{...super.exportJSON(),type:"tablerow",version:1,styles:Object.fromEntries(this.__styles),height:this.__height||0}}createDOM(e){let n=document.createElement("tr");this.__height&&(n.style.height=`${this.__height}px`);for(let[r,i]of this.__styles.entries())n.style.setProperty(r,i);return Se(n,e.theme.tableRow),n}isShadowRoot(){return!0}getStyles(){let e=this.getLatest();return new Map(e.__styles)}setStyles(e){let n=this.getWritable();n.__styles=new Map(e)}setHeight(e){let n=this.getWritable();return n.__height=e,this.__height}getHeight(){return this.getLatest().__height}updateDOM(e){return e.__height!==this.__height||e.__styles!==this.__styles}canBeEmpty(){return!1}canIndent(){return!1}};function wE(o){let t=mn(),n=rn(o.style.height);return t.setHeight(n),o instanceof HTMLElement&&t.setStyles(Zn(o)),{node:t}}function mn(){return ie(new fo)}function oe(o){return o instanceof fo}var ar=class o extends G{static getType(){return"caption"}static clone(t){return new o(t.__key)}createDOM(t,e){return document.createElement("caption")}updateDOM(t,e,n){return!1}isParentRequired(){return!0}canBeEmpty(){return!1}exportJSON(){return{...super.exportJSON(),type:"caption",version:1}}insertDOMIntoParent(t,e){return e.insertBefore(t,e.firstChild),!0}static importJSON(t){return Va()}static importDOM(){return{caption:t=>({conversion(e){return{node:Va()}},priority:0})}}};function Va(){return new ar}function fi(o){return o instanceof ar}function Xa(o){for(let t of o.getChildren())if(fi(t))return!0;return!1}function km(o,t=""){let e=Va(),n=q(t||" ");e.append(n),o.append(e)}function Ga(o,t,e=!0){let n=pi();for(let r=0;ro===te.BOTH||o===t?t:te.NO_STATUS;function $s(o=!0){let t=T();C(y(t)||V(t),"Expected a RangeSelection or TableSelection");let e=t.focus.getNode(),[n,,r]=$e(e),[i,s]=pt(r,n,n),l=i[0].length,{startRow:a}=s;if(o){let d=a+n.__rowSpan-1,u=i[d],f=mn();for(let m=0;m1;)if(k-=M.__colSpan,k>=0){let{cell:j,startRow:se}=x[k];P=j,B=se}else{N.append(h(v));continue e}P.insertAfter(h(v))}else M.setColSpan(M.__colSpan+1)}g!==null&&mi(g)}function Ja(){let o=T();C(y(o)||V(o),"Expected a RangeSelection or TableSelection");let t=o.anchor.getNode(),e=o.focus.getNode(),[n,,r]=$e(t),[i]=$e(e),[s,l,a]=pt(r,n,i),{startRow:d}=l,{startRow:u}=a,f=u+i.__rowSpan-1;if(s.length===f-d+1){r.remove();return}let c=s[0].length,m=s[f+1],g=r.getChildAtIndex(f+1);for(let h=f;h>=d;h--){for(let b=c-1;b>=0;b--){let{cell:x,startRow:S,startColumn:v}=s[h][b];if(v===b&&(h===d&&S=d&&S+x.__rowSpan-1>f))if(x.setRowSpan(x.__rowSpan-(f-S+1)),C(g!==null,"Expected nextRowNode not to be null"),b===0)ed(g,x);else{let{cell:M}=m[b-1];M.insertAfter(x)}}let N=r.getChildAtIndex(h);C(oe(N),"Expected GridNode childAtIndex(%s) to be RowNode",String(h)),N.remove()}if(m!==void 0){let{cell:h}=m[0];mi(h)}else{let h=s[d-1],{cell:N}=h[0];mi(N)}}function Qa(){let o=T();C(y(o)||V(o),"Expected a RangeSelection or TableSelection");let t=o.anchor.getNode(),e=o.focus.getNode(),[n,,r]=$e(t),[i]=$e(e),[s,l,a]=pt(r,n,i),{startColumn:d}=l,{startRow:u,startColumn:f}=a,c=Math.min(d,f),m=Math.max(d+n.__colSpan-1,f+i.__colSpan-1),g=m-c+1;if(s[0].length===m-c+1){r.selectPrevious(),r.remove();return}let N=s.length;for(let S=0;Sm){if(v===m){let O=m-R+1;M.setColSpan(M.__colSpan-O)}}else M.remove()}let b=s[u],x=d>f?b[d+n.__colSpan]:b[f+i.__colSpan];if(x!==void 0){let{cell:S}=x;mi(S)}else{let S=f1){for(let l=1;l1){let[l,a]=pt(r,e,e),{startColumn:d,startRow:u}=a,f;for(let c=1;c1&&(N+=x.__colSpan-1)}if(h===null)for(let N=0;N!fi(d));for(let d=0;dx||h>S;){if(cx){let O=S-b,P=x+1;for(let B=0;B<=O;B++)v(d[b+B][P]);x=P}if(h>S){let O=x-N,P=S+1;for(let B=0;B<=O;B++)v(d[P][N+B]);S=P}}let M=[l],R=null;for(let O=m;O<=h;O++)for(let P=c;P<=g;P++){let{cell:B}=d[O][P],k=B.getParent();C(oe(k),"Expected TableCellNode parent to be a TableRowNode"),k!==R&&M.push(k),M.push(B,...vE(B)),R=k}return xt()||(this._cachedNodes=M),M}getTextContent(){let t=this.getNodes().filter(n=>D(n)),e="";for(let n=0;n0;){let n=e.pop();C(n!==void 0,"Stack.length > 0; can't be undefined"),E(n)&&e.unshift(...n.getChildren()),n!==o&&t.push(n)}return t}var hi=class{constructor(t,e){p(this,"focusX");p(this,"focusY");p(this,"listenersToRemove");p(this,"table");p(this,"isHighlightingCells");p(this,"anchorX");p(this,"anchorY");p(this,"tableNodeKey");p(this,"anchorCell");p(this,"focusCell");p(this,"anchorCellNodeKey");p(this,"focusCellNodeKey");p(this,"editor");p(this,"tableSelection");p(this,"hasHijackedSelectionStyles");p(this,"isSelecting");this.isHighlightingCells=!1,this.anchorX=-1,this.anchorY=-1,this.focusX=-1,this.focusY=-1,this.listenersToRemove=new Set,this.tableNodeKey=e,this.editor=t,this.table={columns:0,domRows:[],rows:0},this.tableSelection=null,this.anchorCellNodeKey=null,this.focusCellNodeKey=null,this.anchorCell=null,this.focusCell=null,this.hasHijackedSelectionStyles=!1,this.trackTable(),this.isSelecting=!1}getTable(){return this.table}removeListeners(){Array.from(this.listenersToRemove).forEach(t=>t())}trackTable(){let t=new MutationObserver(e=>{this.editor.update(()=>{let n=!1;for(let i=0;i{let e=this.editor.getElementByKey(this.tableNodeKey);if(!e)throw new Error("Expected to find TableElement in DOM");this.table=pn(e),t.observe(e,{attributes:!0,childList:!0,subtree:!0})})}clearHighlight(){let t=this.editor;this.isHighlightingCells=!1,this.anchorX=-1,this.anchorY=-1,this.focusX=-1,this.focusY=-1,this.tableSelection=null,this.anchorCellNodeKey=null,this.focusCellNodeKey=null,this.anchorCell=null,this.focusCell=null,this.hasHijackedSelectionStyles=!1,this.enableHighlightStyle(),t.update(()=>{let e=ee(this.tableNodeKey);if(!K(e))throw new Error("Expected TableNode.");let n=t.getElementByKey(this.tableNodeKey);if(!n)throw new Error("Expected to find TableElement in DOM");let r=pn(n);gi(t,r,null),W(null),t.dispatchCommand(ye,void 0)})}enableHighlightStyle(){let t=this.editor;t.update(()=>{let e=t.getElementByKey(this.tableNodeKey);if(!e)throw new Error("Expected to find TableElement in DOM");ss(e,t._config.theme.tableSelection),e.classList.remove("disable-selection"),this.hasHijackedSelectionStyles=!1})}disableHighlightStyle(){let t=this.editor;t.update(()=>{let e=t.getElementByKey(this.tableNodeKey);if(!e)throw new Error("Expected to find TableElement in DOM");Se(e,t._config.theme.tableSelection),this.hasHijackedSelectionStyles=!0})}updateTableTableSelection(t){if(t!==null&&t.tableKey===this.tableNodeKey){let e=this.editor;this.tableSelection=t,this.isHighlightingCells=!0,this.disableHighlightStyle(),gi(e,this.table,this.tableSelection)}else t==null?this.clearHighlight():(this.tableNodeKey=t.tableKey,this.updateTableTableSelection(t))}setFocusCellForSelection(t,e=!1){let n=this.editor;n.update(()=>{let r=ee(this.tableNodeKey);if(!K(r))throw new Error("Expected TableNode.");if(!n.getElementByKey(this.tableNodeKey))throw new Error("Expected to find TableElement in DOM");let s=t.x,l=t.y;if(this.focusCell=t,this.anchorCell!==null){let a=od(n._window);a&&a.setBaseAndExtent(this.anchorCell.elem,0,this.focusCell.elem,0)}if(!this.isHighlightingCells&&(this.anchorX!==s||this.anchorY!==l||e))this.isHighlightingCells=!0,this.disableHighlightStyle();else if(s===this.focusX&&l===this.focusY)return;if(this.focusX=s,this.focusY=l,this.isHighlightingCells){let a=Y(t.elem);if(this.tableSelection!=null&&this.anchorCellNodeKey!=null&&D(a)&&r.is(Bo(a))){let d=a.getKey();this.tableSelection=this.tableSelection.clone()||Fs(),this.focusCellNodeKey=d,this.tableSelection.set(this.tableNodeKey,this.anchorCellNodeKey,this.focusCellNodeKey),W(this.tableSelection),n.dispatchCommand(ye,void 0),gi(n,this.table,this.tableSelection)}}})}setAnchorCellForSelection(t){this.isHighlightingCells=!1,this.anchorCell=t,this.anchorX=t.x,this.anchorY=t.y,this.editor.update(()=>{let e=Y(t.elem);if(D(e)){let n=e.getKey();this.tableSelection=this.tableSelection!=null?this.tableSelection.clone():Fs(),this.anchorCellNodeKey=n}})}formatCells(t){this.editor.update(()=>{let e=T();V(e)||C(!1,"Expected grid selection");let n=on(),r=n.anchor,i=n.focus;e.getNodes().forEach(s=>{D(s)&&s.getTextContentSize()!==0&&(r.set(s.getKey(),0,"element"),i.set(s.getKey(),s.getChildrenSize(),"element"),n.formatText(t))}),W(e),this.editor.dispatchCommand(ye,void 0)})}clearText(){let t=this.editor;t.update(()=>{let e=ee(this.tableNodeKey);if(!K(e))throw new Error("Expected TableNode.");let n=T();V(n)||C(!1,"Expected grid selection");let r=n.getNodes().filter(D);if(r.length===this.table.columns*this.table.rows){e.selectPrevious(),e.remove(),F().selectStart();return}r.forEach(i=>{if(E(i)){let s=I(),l=q();s.append(l),i.append(s),i.getChildren().forEach(a=>{a!==s&&a.remove()})}}),gi(t,this.table,null),W(null),t.dispatchCommand(ye,void 0)})}};var DE="__lexicalTableSelection",od=o=>pe?(o||window).getSelection():null,OE=o=>(o.buttons&1)===1;function id(o,t,e,n){let r=e.getRootElement();if(r===null)throw new Error("No root element.");let i=new hi(e,o.getKey()),s=e._window||window;AE(t,i);let l=()=>{let c=()=>{i.isSelecting=!1,s.removeEventListener("mouseup",c),s.removeEventListener("mousemove",m)},m=g=>{setTimeout(()=>{if(!OE(g)&&i.isSelecting){i.isSelecting=!1,s.removeEventListener("mouseup",c),s.removeEventListener("mousemove",m);return}let h=rd(g.target);h!==null&&(i.anchorX!==h.x||i.anchorY!==h.y)&&(g.preventDefault(),i.setFocusCellForSelection(h))},0)};return{onMouseMove:m,onMouseUp:c}};t.addEventListener("mousedown",c=>{setTimeout(()=>{if(c.button!==0||!s)return;let m=rd(c.target);m!==null&&(hn(c),i.setAnchorCellForSelection(m));let{onMouseUp:g,onMouseMove:h}=l();i.isSelecting=!0,s.addEventListener("mouseup",g),s.addEventListener("mousemove",h)},0)});let a=c=>{c.button===0&&e.update(()=>{let m=T(),g=c.target;V(m)&&m.tableKey===i.tableNodeKey&&r.contains(g)&&i.clearHighlight()})};s.addEventListener("mousedown",a),i.listenersToRemove.add(()=>s.removeEventListener("mousedown",a)),i.listenersToRemove.add(e.registerCommand(Xt,c=>Ni(e,c,"down",o,i),Ke)),i.listenersToRemove.add(e.registerCommand(Vt,c=>Ni(e,c,"up",o,i),Ke)),i.listenersToRemove.add(e.registerCommand(Wo,c=>Ni(e,c,"backward",o,i),Ke)),i.listenersToRemove.add(e.registerCommand(zo,c=>Ni(e,c,"forward",o,i),Ke)),i.listenersToRemove.add(e.registerCommand(qo,c=>{let m=T();if(V(m)){let g=U(m.focus.getNode(),D);if(D(g))return hn(c),g.selectEnd(),!0}return!1},Ke));let d=c=>()=>{let m=T();if(!gn(m,o))return!1;if(V(m))return i.clearText(),!0;if(y(m)){let g=U(m.anchor.getNode(),R=>D(R));if(!D(g))return!1;let h=m.anchor.getNode(),N=m.focus.getNode(),b=o.isParentOf(h),x=o.isParentOf(N);if(b&&!x||x&&!b)return i.clearText(),!0;let v=U(m.anchor.getNode(),R=>E(R)),M=v&&U(v,R=>E(R)&&D(R.getParent()));if(!E(M)||!E(v))return!1;if(c===Nt&&M.getPreviousSibling()===null)return!0}return!1};[kt,Nt,ot].forEach(c=>{i.listenersToRemove.add(e.registerCommand(c,d(c),Ue))});let u=c=>{let m=T();if(!gn(m,o)){let g=m?m.getNodes():null;if(g){let h=g.find(N=>K(N)&&N.getKey()===i.tableNodeKey);if(K(h)){if(!h.getParent())return!1;h.remove()}}return!1}if(V(m))return c&&(c.preventDefault(),c.stopPropagation()),i.clearText(),!0;if(y(m)){let g=U(m.anchor.getNode(),h=>D(h));if(!D(g))return!1}return!1};i.listenersToRemove.add(e.registerCommand(jt,u,Ue)),i.listenersToRemove.add(e.registerCommand(Gt,u,Ue)),i.listenersToRemove.add(e.registerCommand(Co,c=>{let m=T();if(m){if(!(V(m)||y(m)))return!1;Jn(e,Lt(c,ClipboardEvent)?c:null,ps(m));let g=u(c);return y(m)&&m.removeText(),g}return!1},Ue)),i.listenersToRemove.add(e.registerCommand(Pe,c=>{let m=T();if(!gn(m,o))return!1;if(V(m))return i.formatCells(c),!0;if(y(m)){let g=U(m.anchor.getNode(),h=>D(h));if(!D(g))return!1}return!1},Ue)),i.listenersToRemove.add(e.registerCommand(ht,c=>{let m=T();if(!gn(m,o))return!1;if(V(m))return i.clearHighlight(),!1;if(y(m)){let g=U(m.anchor.getNode(),h=>D(h));if(!D(g))return!1;if(typeof c=="string"){let h=Bm(e,m,o);if(h)return Pm(h,o,[q(c)]),!0}}return!1},Ue)),n&&i.listenersToRemove.add(e.registerCommand(Yo,c=>{let m=T();if(!y(m)||!m.isCollapsed()||!gn(m,o))return!1;let g=Us(m.anchor.getNode());if(g===null)return!1;hn(c);let h=o.getCordsFromCellNode(g,i.table);return Hm(i,o,h.x,h.y,c.shiftKey?"backward":"forward"),!0},Ue)),i.listenersToRemove.add(e.registerCommand(_r,c=>o.isSelected(),Ke));function f(c){let m=o.getCordsFromCellNode(c,i.table);return o.getDOMCellFromCordsOrThrow(m.x,m.y,i.table)}return i.listenersToRemove.add(e.registerCommand(Cr,c=>{let{nodes:m,selection:g}=c,h=g.getStartEndPoints(),N=V(g),x=y(g)&&U(g.anchor.getNode(),qe=>D(qe))!==null&&U(g.focus.getNode(),qe=>D(qe))!==null||N;if(m.length!==1||!K(m[0])||!x||h===null)return!1;let[S]=h,v=m[0],M=v.getChildren(),R=v.getFirstChildOrThrow().getChildrenSize(),O=v.getChildrenSize(),P=U(S.getNode(),qe=>D(qe)),B=P&&U(P,qe=>oe(qe)),k=B&&U(B,qe=>K(qe));if(!D(P)||!oe(B)||!K(k))return!1;let j=B.getIndexWithinParent(),se=Math.min(k.getChildrenSize()-1,j+O-1),We=P.getIndexWithinParent(),ac=Math.min(B.getChildrenSize()-1,We+R-1),cN=Math.min(We,ac),uN=Math.min(j,se),fN=Math.max(We,ac),mN=Math.max(j,se),pN=k.getChildren(),dc=0;for(let qe=uN;qe<=mN;qe++){let cc=pN[qe];if(!oe(cc))return!1;let uc=M[dc];if(!oe(uc))return!1;let gN=cc.getChildren(),hN=uc.getChildren(),fc=0;for(let bl=cN;bl<=fN;bl++){let wi=gN[bl];if(!D(wi))return!1;let mc=hN[fc];if(!D(mc))return!1;let NN=wi.getChildren();mc.getChildren().forEach(Sn=>{L(Sn)&&I().append(Sn),wi.append(Sn)}),NN.forEach(Sn=>Sn.remove()),fc++}dc++}return!0},Ue)),i.listenersToRemove.add(e.registerCommand(ye,()=>{let c=T(),m=je();if(y(c)){let{anchor:g,focus:h}=c,N=g.getNode(),b=h.getNode(),x=Us(N),S=Us(b),v=!!(x&&o.is(Bo(x))),M=!!(S&&o.is(Bo(S))),R=v!==M,O=v&&M,P=c.isBackward();if(R){let B=c.clone();if(M){let[k]=pt(o,S,S),j=k[0][0].cell,se=k[k.length-1].at(-1).cell;B.focus.set(P?j.getKey():se.getKey(),P?j.getChildrenSize():se.getChildrenSize(),"element")}W(B),$m(e,i)}else O&&(x.is(S)||(i.setAnchorCellForSelection(f(x)),i.setFocusCellForSelection(f(S),!0),i.isSelecting||setTimeout(()=>{let{onMouseUp:B,onMouseMove:k}=l();i.isSelecting=!0,s.addEventListener("mouseup",B),s.addEventListener("mousemove",k)},0)))}else if(c&&V(c)&&c.is(m)&&c.tableKey===o.getKey()){let g=od(e._window);if(g&&g.anchorNode&&g.focusNode){let h=Y(g.focusNode),N=h&&!o.is(Bo(h)),b=Y(g.anchorNode),x=b&&o.is(Bo(b));if(N&&x&&g.rangeCount>0){let S=ba(g,e);S&&(S.anchor.set(o.getKey(),c.isBackward()?o.getChildrenSize():0,"element"),g.removeAllRanges(),W(S))}}}return c&&!c.is(m)&&(V(c)||V(m))&&i.tableSelection&&!i.tableSelection.is(m)?(V(c)&&c.tableKey===i.tableNodeKey?i.updateTableTableSelection(c):!V(c)&&V(m)&&m.tableKey===i.tableNodeKey&&i.updateTableTableSelection(null),!1):(i.hasHijackedSelectionStyles&&!o.isSelected()?RE(e,i):!i.hasHijackedSelectionStyles&&o.isSelected()&&$m(e,i),!1)},Ue)),i.listenersToRemove.add(e.registerCommand(gt,()=>{let c=T();if(!y(c)||!c.isCollapsed()||!gn(c,o))return!1;let m=Bm(e,c,o);return m?(Pm(m,o),!0):!1},Ue)),i}function AE(o,t){o[DE]=t}function rd(o){let t=o;for(;t!=null;){let e=t.nodeName;if(e==="TD"||e==="TH"){let n=t._cell;return n===void 0?null:n}t=t.parentNode}return null}function pn(o){let t=[],e={columns:0,domRows:t,rows:0},n=o.firstChild,r=0,i=0;for(t.length=0;n!=null;){let s=n.nodeName;if(s==="COLGROUP"||s==="CAPTION"){n=n.nextSibling;continue}if(s==="TD"||s==="TH"){let d=n,u={elem:d,hasBackgroundColor:d.style.backgroundColor!=="",highlighted:!1,x:r,y:i};n._cell=u;let f=t[i];f===void 0&&(f=t[i]=[]),f[r]=u}else{let d=n.firstChild;if(d!=null){n=d;continue}}let l=n.nextSibling;if(l!=null){r++,n=l;continue}let a=n.parentNode;if(a!=null){let d=a.nextSibling;if(d==null)break;i++,r=0,n=d}}return e.columns=r+1,e.rows=i+1,e}function gi(o,t,e){let n=new Set(e?e.getNodes():[]);sd(t,(r,i)=>{let s=r.elem;n.has(i)?(r.highlighted=!0,Fm(o,r)):(r.highlighted=!1,Km(o,r),s.getAttribute("style")||s.removeAttribute("style"))})}function sd(o,t){let{domRows:e}=o;for(let n=0;n{e.highlighted=!0,Fm(o,e)})}function RE(o,t){t.enableHighlightStyle(),sd(t.table,e=>{let n=e.elem;e.highlighted=!1,Km(o,e),n.getAttribute("style")||n.removeAttribute("style")})}var Hm=(o,t,e,n,r,i=-1)=>{let s=r==="forward";switch(r){case"backward":case"forward":return e!==(s?o.table.columns-1:0)?Ks(t.getCellNodeFromCordsOrThrow(e+(s?1:-1),n,o.table),s):n!==(s?o.table.rows-1:0)?Ks(t.getCellNodeFromCordsOrThrow(s?0:o.table.columns-1,n+(s?1:-1),o.table),s):s?t.selectNext():t.selectPrevious(),!0;case"up":return n!==0?Ks(t.getCellNodeFromCordsOrThrow(e,n-1,o.table),!1,i):ti(t,!1),!0;case"down":return n!==o.table.rows-1?Ks(t.getCellNodeFromCordsOrThrow(e,n+1,o.table),!0,i):ti(t,!0),!0;default:return!1}},kE=(o,t,e,n,r)=>{let i=r==="forward";switch(r){case"backward":case"forward":return e!==(i?o.table.columns-1:0)&&o.setFocusCellForSelection(t.getDOMCellFromCordsOrThrow(e+(i?1:-1),n,o.table)),!0;case"up":return n!==0?(o.setFocusCellForSelection(t.getDOMCellFromCordsOrThrow(e,n-1,o.table)),!0):!1;case"down":return n!==o.table.rows-1?(o.setFocusCellForSelection(t.getDOMCellFromCordsOrThrow(e,n+1,o.table)),!0):!1;default:return!1}};function gn(o,t){if(y(o)||V(o)){let e=t.isParentOf(o.anchor.getNode()),n=t.isParentOf(o.focus.getNode());return e&&n}return!1}function Ks(o,t,e=-1){e!==-1&&Cm(o,e,t)||(t?o.selectStart():o.selectEnd())}var nd="172,206,247";function Fm(o,t){let e=t.elem,n=Y(e);C(D(n),"Expected to find LexicalNode from Table Cell DOMNode"),n.getBackgroundColor()===null?e.style.setProperty("background-color",`rgb(${nd})`):e.style.setProperty("background-image",`linear-gradient(to right, rgba(${nd},0.85), rgba(${nd},0.85))`),e.style.setProperty("caret-color","transparent")}function Km(o,t){let e=t.elem,n=Y(e);C(D(n),"Expected to find LexicalNode from Table Cell DOMNode"),n.getBackgroundColor()===null&&e.style.removeProperty("background-color"),e.style.removeProperty("background-image"),e.style.removeProperty("caret-color")}function Us(o){let t=U(o,D);return D(t)?t:null}function Bo(o){let t=U(o,K);return K(t)?t:null}function Ni(o,t,e,n,r){if((e==="up"||e==="down")&&IE(o))return!1;let i=T();if(!gn(i,n)){if(y(i)){if(i.isCollapsed()&&e==="backward"){let s=i.anchor.type,l=i.anchor.offset;if(s!=="element"&&!(s==="text"&&l===0))return!1;let a=i.anchor.getNode();if(!a)return!1;let d=U(a,f=>E(f)&&!f.isInline());if(!d)return!1;let u=d.getPreviousSibling();return!u||!K(u)?!1:(hn(t),u.selectEnd(),!0)}else if(t.shiftKey&&(e==="up"||e==="down")){let s=i.focus.getNode();if(ge(s)){let l=i.getNodes()[0];if(l){let a=U(l,D);if(a&&n.isParentOf(a)){let d=n.getFirstDescendant(),u=n.getLastDescendant();if(!d||!u)return!1;let[f]=$e(d),[c]=$e(u),m=n.getCordsFromCellNode(f,r.table),g=n.getCordsFromCellNode(c,r.table),h=n.getDOMCellFromCordsOrThrow(m.x,m.y,r.table),N=n.getDOMCellFromCordsOrThrow(g.x,g.y,r.table);return r.setAnchorCellForSelection(h),r.setFocusCellForSelection(N,!0),!0}}return!1}else{let l=U(s,d=>E(d)&&!d.isInline());if(!l)return!1;let a=e==="down"?l.getNextSibling():l.getPreviousSibling();if(K(a)&&r.tableNodeKey===a.getKey()){let d=a.getFirstDescendant(),u=a.getLastDescendant();if(!d||!u)return!1;let[f]=$e(d),[c]=$e(u),m=i.clone();return m.focus.set((e==="up"?f:c).getKey(),e==="up"?0:c.getChildrenSize(),"element"),W(m),!0}}}}return!1}if(y(i)&&i.isCollapsed()){let{anchor:s,focus:l}=i,a=U(s.getNode(),D),d=U(l.getNode(),D);if(!D(a)||!a.is(d))return!1;let u=Bo(a);if(u!==n&&u!=null){let x=o.getElementByKey(u.getKey());if(x!=null)return r.table=pn(x),Ni(o,t,e,u,r)}if(e==="backward"||e==="forward"){let x=s.type,S=s.offset,v=s.getNode();if(!v)return!1;let M=i.getNodes();return M.length===1&&H(M[0])?!1:$E(x,S,v,e)?HE(t,v,n,e):!1}let f=o.getElementByKey(a.__key),c=o.getElementByKey(s.key);if(c==null||f==null)return!1;let m;if(s.type==="element")m=c.getBoundingClientRect();else{let x=window.getSelection();if(x===null||x.rangeCount===0)return!1;m=x.getRangeAt(0).getBoundingClientRect()}let g=e==="up"?a.getFirstChild():a.getLastChild();if(g==null)return!1;let h=o.getElementByKey(g.__key);if(h==null)return!1;let N=h.getBoundingClientRect();if(e==="up"?N.top>m.top-m.height:m.bottom+m.height>N.bottom){hn(t);let x=n.getCordsFromCellNode(a,r.table);if(t.shiftKey){let S=n.getDOMCellFromCordsOrThrow(x.x,x.y,r.table);r.setAnchorCellForSelection(S),r.setFocusCellForSelection(S,!0)}else{let S=m.x-N.x;return Hm(r,n,x.x,x.y,e,S)}return!0}}else if(V(i)){let{anchor:s,focus:l}=i,a=U(s.getNode(),D),d=U(l.getNode(),D),[u]=i.getNodes(),f=o.getElementByKey(u.getKey());if(!D(a)||!D(d)||!K(u)||f==null)return!1;r.updateTableTableSelection(i);let c=pn(f),m=n.getCordsFromCellNode(a,c),g=n.getDOMCellFromCordsOrThrow(m.x,m.y,c);if(r.setAnchorCellForSelection(g),hn(t),t.shiftKey){let h=n.getCordsFromCellNode(d,c);return kE(r,u,h.x,h.y,e)}else d.selectEnd();return!0}return!1}function hn(o){o.preventDefault(),o.stopImmediatePropagation(),o.stopPropagation()}function IE(o){let t=o.getRootElement();return t?t.hasAttribute("aria-controls")&&t.getAttribute("aria-controls")==="typeahead-menu":!1}function $E(o,t,e,n){return PE(o,e,n)||BE(o,t,e,n)}function PE(o,t,e){return o==="element"&&(e==="backward"?t.getPreviousSibling()===null:t.getNextSibling()===null)}function BE(o,t,e,n){let r=U(e,s=>E(s)&&!s.isInline());if(!r)return!1;let i=n==="backward"?t===0:t===e.getTextContentSize();return o==="text"&&i&&(n==="backward"?r.getPreviousSibling()===null:r.getNextSibling()===null)}function HE(o,t,e,n){let r=U(t,D);if(!D(r))return!1;let[i,s]=pt(e,r,r);if(!FE(i,s,n))return!1;let l=KE(t,n,e);return!l||K(l)?!1:(hn(o),n==="backward"?l.selectEnd():l.selectStart(),!0)}function FE(o,t,e){let n=o[0][0],r=o[o.length-1][o[0].length-1],{startColumn:i,startRow:s}=t;return e==="backward"?i===n.startColumn&&s===n.startRow:i===r.startColumn&&s===r.startRow}function KE(o,t,e){let n=U(o,i=>E(i)&&!i.isInline());if(!n)return;let r=t==="backward"?n.getPreviousSibling():n.getNextSibling();return r&&K(r)?r:t==="backward"?e.getPreviousSibling():e.getNextSibling()}function Pm(o,t,e){let n=I();o==="first"?t.insertBefore(n):t.insertAfter(n),n.append(...e||[]),n.selectEnd()}function Bm(o,t,e){let n=e.getParent();if(!n)return;let r=o.getElementByKey(n.getKey());if(!r)return;let i=window.getSelection();if(!i||i.anchorNode!==r)return;let s=U(t.anchor.getNode(),N=>D(N));if(!s)return;let l=U(s,N=>K(N));if(!K(l)||!l.is(e))return;let[a,d]=pt(e,s,s),u=a[0][0],f=a[a.length-1][a[0].length-1],{startRow:c,startColumn:m}=d,g=c===u.startRow&&m===u.startColumn,h=c===f.startRow&&m===f.startColumn;return g?"first":h?"last":void 0}var qt=class{constructor(t){p(this,"rowCount",0);p(this,"columnCount",0);p(this,"cells",[]);this.buildCellMap(t)}buildCellMap(t){let e=[],n=(a,d,u)=>{typeof e[d]>"u"&&(e[d]=[]),e[d][a]=u},r=(a,d)=>!!(e[d]&&e[d][a]),i=t.getChildren().filter(a=>oe(a));for(let a=0;aD(c)),f=0;for(let c=0;ca.length));let s=[],l=e[0][0];for(let a=0;a=this.cells.length)throw new Error(`TableMap Error: Attempted to get cell ${n+1} of ${this.cells.length}`);return this.cells[n]}getCellsInRange(t){let e=Math.max(Math.min(t.fromX,t.toX),0),n=Math.min(Math.max(t.fromX,t.toX),this.columnCount-1),r=Math.max(Math.min(t.fromY,t.toY),0),i=Math.min(Math.max(t.fromY,t.toY),this.rowCount-1),s=new Set;for(let l=r;l<=i;l++)for(let a=e;a<=n;a++)s.add(this.getCellAtPosition(a,l));return[...s.values()]}getCellsInColumn(t){return this.getCellsInRange({fromX:t,toX:t,fromY:0,toY:this.rowCount-1})}getRangeForCell(t){let e=null,n=t.getKey();for(let r=0;re&&(n=r,e=r.childElementCount);return n}function Um(o){return[...o.children].map(t=>UE(t))}function UE(o){let t=o.style.width||o.getAttribute("width");return t&&!Number.isNaN(Number(t))&&(t=t+"px"),t||""}function ad(o,t,e){let n=o.getChildren(),r=0;for(let s of n){let l=s.getChildren().length;l>r&&(r=l)}let i=o.getColWidths();(i.length===0||i.lengthi.length&&console.error(`Attempted to set table column width for column [${t}] but only ${i.length} columns found`),i[t]=_t(e),o.setColWidths(i)}function qm(o,t,e){let n=t.getColWidths();if(n.length>e&&n[e].endsWith("px"))return Number(n[e].replace("px",""));let r=o.getElementByKey(t.__key);if(r){let i=Wm(r);if(i&&i.children.length>e)return i.children[e].clientWidth}return 0}function Ym(o){let t=o.getParent();if(!oe(t))return-1;let e=0,n=t.getChildren();for(let r of n){let i=r.getColSpan()||1;if(e+=i,r.getKey()===o.getKey())break}return e-1}function Zm(o,t){let e=ld(o),n=Ym(o);e&&n>=0&&ad(e,n,t)}function Vm(o,t){let e=ld(t),n=Ym(t);if(!e)return"";let r=e.getColWidths();return r.length>n?r[n]:""}function dd(o){if(o.length===0)return null;let t=_("colgroup");for(let e of o){let n=_("col");e&&(n.style.width=e),t.append(n)}return t}function Nn(o){if(V(o))return o.getNodes().filter(n=>D(n));let t=X(o,D);return t?[t]:[]}function Xm(o){let t=o.getShape(),e=Nn(o);if(e.length===0)return;let n=ld(e[0]);if(!n)return;let r=new qt(n),i=r.getCellAtPosition(t.toX,t.toY);if(!i)return;let s=t.toX+((i.getColSpan()||1)-1),l=t.toY+((i.getRowSpan()||1)-1),a=r.getCellsInRange({fromX:t.fromX,fromY:t.fromY,toX:s,toY:l});if(a.length===0)return;let d=a[0],u=Math.abs(t.fromX-s)+1,f=Math.abs(t.fromY-l)+1;for(let c=1;cD(r));for(let r of n){let i=r.getStyles();i.delete("height"),i.delete("width"),r.setStyles(i),r.clearWidth()}}}function Gm(o){o.setColWidths([]),o.setStyles(new Map);for(let t of o.getChildren()){if(!oe(t))continue;t.setStyles(new Map);let e=t.getChildren().filter(n=>D(n));for(let n of e)n.setStyles(new Map),n.setBackgroundColor(null),n.clearWidth()}}function cd(o,t){e:for(let e of o.getChildren()){if(!oe(e))continue;let n=e.getChildren();for(let r of n){if(!D(r))return;if(t(r)===!1)break e}}}function Jm(o){let t=null;return cd(o,e=>{let n=e.getStyles().get("padding")||"";if(t===null&&(t=n),n!==t)return t=null,!1}),t||""}function Qm(o){let t=o.getFirstChild(),e=D(t)?t.getHeaderStyles()!==te.NO_STATUS:!1,n=o.getChildren();for(let r of n)D(r)&&r.setHeaderStyles(e?te.NO_STATUS:te.ROW);return!e}var Ot=class o extends Ft{constructor(e){super(e);p(this,"__colWidths",[]);p(this,"__styles",new Map)}static getType(){return"table"}static clone(e){let n=new o(e.__key);return ko(e,n),n.__colWidths=[...e.__colWidths],n.__styles=new Map(e.__styles),n}static importDOM(){return{table:e=>({conversion:zE,priority:1})}}static importJSON(e){let n=pi();return ut(e,n),n.setColWidths(e.colWidths),n.setStyles(new Map(Object.entries(e.styles))),n}exportJSON(){return{...super.exportJSON(),type:"table",version:1,colWidths:this.__colWidths,styles:Object.fromEntries(this.__styles)}}createDOM(e,n){let r=document.createElement("table");Se(r,e.theme.table),ct(r,this);let i=this.getColWidths(),s=dd(i);s&&r.append(s);for(let[l,a]of this.__styles.entries())r.style.setProperty(l,a);return r}updateDOM(e,n){if(_f(e,this,n),this.__colWidths.join(":")!==e.__colWidths.join(":")){let r=Array.from(n.children).find(s=>s.nodeName==="COLGROUP"),i=dd(this.__colWidths);r&&r.remove(),i&&n.prepend(i)}if(Array.from(this.__styles.values()).join(":")!==Array.from(e.__styles.values()).join(":")){n.style.cssText="";for(let[r,i]of this.__styles.entries())n.style.setProperty(r,i)}return!1}exportDOM(e){return{...super.exportDOM(e),after:n=>{if(!n)return;let r=n.cloneNode(),i=document.createElement("tbody");if(he(n))for(let s of Array.from(n.children))s.nodeName==="TR"?i.append(s):s.nodeName==="CAPTION"?r.insertBefore(s,r.firstChild):r.append(s);return r.append(i),r}}}canBeEmpty(){return!1}isShadowRoot(){return!0}setColWidths(e){let n=this.getWritable();n.__colWidths=e}getColWidths(){return[...this.getLatest().__colWidths]}getStyles(){let e=this.getLatest();return new Map(e.__styles)}setStyles(e){let n=this.getWritable();n.__styles=new Map(e)}getCordsFromCellNode(e,n){let{rows:r,domRows:i}=n;for(let s=0;s{if(!d)return;let{elem:u}=d;return Y(u)===e});if(a!==-1)return{x:a,y:s}}throw new Error("Cell not found in table.")}getDOMCellFromCords(e,n,r){let{domRows:i}=r,s=i[n];if(s==null)return null;let l=e{let r=new o;return n.id&&r.setId(n.id),{node:r}},priority:3}}}}exportJSON(){return{...super.exportJSON(),type:"horizontal-rule",version:1,id:this.__id}}static importJSON(e){let n=ud();return n.setId(e.id),n}};function ud(){return new dr}function ep(o){return o instanceof dr}var Ho=class o extends at{constructor(e,n,r){super(r);p(this,"__id","");p(this,"__drawingId","");p(this,"__drawingUrl","");this.__drawingId=e,this.__drawingUrl=n}static getType(){return"diagram"}static clone(e){let n=new o(e.__drawingId,e.__drawingUrl,e.__key);return n.__id=e.__id,n}setDrawingIdAndUrl(e,n){let r=this.getWritable();r.__drawingUrl=n,r.__drawingId=e}getDrawingIdAndUrl(){let e=this.getLatest();return{id:e.__drawingId,url:e.__drawingUrl}}setId(e){let n=this.getWritable();n.__id=e}getId(){return this.getLatest().__id}decorate(e,n){return{type:"diagram",getNode:()=>this}}isInline(){return!1}isIsolated(){return!0}createDOM(e,n){return _("div",{id:this.__id||null,"drawio-diagram":this.__drawingId},[_("img",{src:this.__drawingUrl})])}updateDOM(e,n){let r=n.querySelector("img");return r&&(e.__id!==this.__id&&n.setAttribute("id",this.__id),e.__drawingUrl!==this.__drawingUrl&&r.setAttribute("src",this.__drawingUrl),e.__drawingId!==this.__drawingId&&n.setAttribute("drawio-diagram",this.__drawingId)),!1}static importDOM(){return{div(e){return e.hasAttribute("drawio-diagram")?{conversion:n=>{let i=n.querySelector("img")?.getAttribute("src")||"",s=n.getAttribute("drawio-diagram")||"",l=cr(s,i);return n.id&&l.setId(n.id),{node:l}},priority:3}:null}}}exportJSON(){return{type:"diagram",version:1,id:this.__id,drawingId:this.__drawingId,drawingUrl:this.__drawingUrl}}static importJSON(e){let n=cr(e.drawingId,e.drawingUrl);return n.setId(e.id||""),n}};function cr(o="",t=""){return new Ho(o,t)}var ur=class o extends at{constructor(){super(...arguments);p(this,"__user_id",0);p(this,"__user_name","");p(this,"__user_slug","")}static getType(){return"mention"}static clone(e){let n=new o(e.__key);return n.__user_id=e.__user_id,n.__user_name=e.__user_name,n.__user_slug=e.__user_slug,n}setUserDetails(e,n,r){let i=this.getWritable();i.__user_id=e,i.__user_name=n,i.__user_slug=r}hasUserSet(){return this.__user_id>0}isInline(){return!0}isParentRequired(){return!0}decorate(e,n){return{type:"mention",getNode:()=>this}}createDOM(e,n){let r=document.createElement("a");return r.setAttribute("target","_blank"),r.setAttribute("href",window.baseUrl("/user/"+this.__user_slug)),r.setAttribute("data-mention-user-id",String(this.__user_id)),r.setAttribute("title","@"+this.__user_name),r.textContent="@"+this.__user_name,r}updateDOM(e){return e.__user_id!==this.__user_id}static importDOM(){return{a(e){return e.hasAttribute("data-mention-user-id")?{conversion:n=>{let r=new o;return r.setUserDetails(Number(n.getAttribute("data-mention-user-id")||"0"),n.innerText.replace(/^@/,""),n.getAttribute("href")?.split("/user/")[1]||""),{node:r,after(i){return[]}}},priority:4}:null}}}exportJSON(){return{type:"mention",version:1,user_id:this.__user_id,user_name:this.__user_name,user_slug:this.__user_slug}}static importJSON(e){return fd(e.user_id,e.user_name,e.user_slug)}};function fd(o,t,e){let n=new ur;return n.setUserDetails(o,t,e),n}function tp(o){return o instanceof ur}function op(){return[sn,ir,sr,$o,Wt,Ot,fo,uo,ar,an,dr,lr,fn,Ho,Io,st,ln]}function md(){return[$o,Wt,st,ln]}function np(){return[...md(),ur]}function rp(o){let t=[an,fn,Ho],e=n=>{for(let[r,i]of n)if(i==="destroyed"){let s=o.manager.getDecoratorByNodeKey(r);s&&s.teardown()}};for(let n of t)o.editor.registerMutationListener(n,r=>e(r))}var ip='';var zs=class extends ne{constructor(e,n){super([new Ts(e.form)]);p(this,"definition");p(this,"key");p(this,"originalFocus",null);this.definition=e,this.key=n}show(e){this.originalFocus=document.activeElement;let n=this.getDOMElement();document.body.append(n);let r=this.getForm();r.setValues(e),r.setOnCancel(this.hide.bind(this)),r.setOnSuccessfulSubmit(this.hide.bind(this)),this.getContext().manager.setModalActive(this.key,this),r.focusOnFirst()}hide(){this.getContext().manager.setModalInactive(this.key),this.teardown(),this.originalFocus instanceof HTMLElement&&this.originalFocus.isConnected&&this.originalFocus.focus()}getForm(){return this.children[0]}buildDOM(){let e=_("button",{class:"editor-modal-close",type:"button",title:this.trans("Close")});e.innerHTML=ip,e.addEventListener("click",this.hide.bind(this));let n=_("div",{class:"editor-modal editor-form-modal"},[_("div",{class:"editor-modal-header"},[_("div",{class:"editor-modal-title"},[this.trans(this.definition.title)]),e]),_("div",{class:"editor-modal-body"},[this.getForm().getDOMElement()])]),r=_("div",{class:"editor-modal-wrapper"},[n]);return r.addEventListener("click",i=>{i.target&&!n.contains(i.target)&&this.hide()}),r.addEventListener("keydown",i=>{i.key==="Escape"&&this.hide()}),r}};var Ws=class extends ne{constructor(e,n){super(n);p(this,"target");this.target=e}buildDOM(){let e=_("div",{class:"editor-context-toolbar"},this.getChildren().map(n=>n.getDOMElement()));return e.addEventListener("keydown",n=>{n.key==="Escape"&&(n.preventDefault(),n.stopPropagation(),this.getContext().editor.focus())},{signal:this.abortController.signal}),e}updatePosition(e=[]){let n=this.getContext(),r=n.scrollDOM.getBoundingClientRect(),i=this.target.getBoundingClientRect(),s=this.getDOMElement(),l=s.getBoundingClientRect(),a=i.bottom>r.top&&i.topr.bottom||this.willOverlapWithOthersIfBelow(u,e);s.classList.toggle("is-above",f),f&&(u.y=i.top-6-l.height),s.style.top=u.y+"px",s.style.left=u.x+"px";let c=1,m=this.target.parentElement;for(;m&&m!==n.editorDOM;)m=m.parentElement,c++;return s.style.zIndex=`${c}`,s.getBoundingClientRect()}insert(e){this.addChildren(...e),this.getDOMElement().append(...e.map(r=>r.getDOMElement()))}willOverlapWithOthersIfBelow(e,n){for(let r of n){if(r===null)continue;let i=e.x??0,s=e.y??0,l=i+(e.width??0),a=s+(e.height??0);if(ir.left&&sr.top)return!0}return!1}};var fr=class{constructor(t,e=!1){p(this,"rect");p(this,"isRTL");this.rect=t.getBoundingClientRect(),this.isRTL=e}get blockStart(){return this.rect.top}get inlineStart(){return this.isRTL?window.innerWidth-this.rect.right:this.rect.left}get blockEnd(){return this.rect.bottom}get inlineEnd(){return this.isRTL?window.innerWidth-this.rect.left:this.rect.right}get width(){return this.rect.width}get height(){return this.rect.height}};function sp(){return new fr(document.documentElement,!1)}function qE(o,t,e,n){let r=new fr(t,n),i=new fr(o,n),s=sp();if(o.style.position="fixed",e){let l=r.inlineEnd;r.inlineEnd+i.width>s.width&&(l=Math.max(r.inlineStart-i.width,0)),o.style.top=r.blockStart+"px",o.style.insetInlineStart=l+"px"}else{let l=r.inlineStart+i.width>s.width,a=r.inlineStart;l&&(a=Math.max(r.inlineEnd-i.width,0)),o.style.top=r.blockEnd+"px",o.style.insetInlineStart=a+"px"}}var qs=class{constructor(){p(this,"dropdownOptions",new WeakMap);p(this,"openDropdowns",new Set);p(this,"isRTL",!1);this.onMenuMouseOver=this.onMenuMouseOver.bind(this),this.onWindowClick=this.onWindowClick.bind(this),window.addEventListener("click",this.onWindowClick)}setIsRTL(t){this.isRTL=t}teardown(){window.removeEventListener("click",this.onWindowClick)}onWindowClick(t){let e=t.target;this.closeAllNotContainingElement(e)}closeAllNotContainingElement(t){for(let e of this.openDropdowns)e.parentElement?.contains(t)||this.closeDropdown(e)}onMenuMouseOver(t){let e=t.target;this.closeAllNotContainingElement(e)}closeAll(){for(let t of this.openDropdowns)this.closeDropdown(t)}closeDropdown(t){t.hidden=!0,t.style.removeProperty("position"),t.style.removeProperty("inset-inline-start"),t.style.removeProperty("top"),this.openDropdowns.delete(t),t.removeEventListener("mouseover",this.onMenuMouseOver);let e=this.getOptions(t).onClose;e&&e()}openDropdown(t){let{toggle:e,showAside:n,onOpen:r}=this.getOptions(t);t.hidden=!1,qE(t,e,!!n,this.isRTL),this.openDropdowns.add(t),t.addEventListener("mouseover",this.onMenuMouseOver),r&&r()}getOptions(t){let e=this.dropdownOptions.get(t);if(!e)throw new Error("Can't find options for dropdown menu");return e}handle(t){let{menu:e,toggle:n,showOnHover:r}=t;this.dropdownOptions.set(e,t);let i=s=>{e.hasAttribute("hidden")?this.openDropdown(e):this.closeDropdown(e)};n.addEventListener("click",i),r&&n.addEventListener("mouseenter",()=>{this.openDropdown(e)})}};var Ys=class{constructor(){p(this,"dropdowns",new qs);p(this,"modalDefinitionsByKey",{});p(this,"activeModalsByKey",{});p(this,"decoratorConstructorsByType",{});p(this,"decoratorInstancesByNodeKey",{});p(this,"context",null);p(this,"toolbar",null);p(this,"contextToolbarDefinitionsByKey",{});p(this,"activeContextToolbars",[]);p(this,"selectionChangeHandlers",new Set);p(this,"domEventAbortController",new AbortController);p(this,"teardownCallbacks",[])}setContext(t){this.context=t,this.setupEventListeners(),this.setupEditor(t.editor,t),this.dropdowns.setIsRTL(this.context.manager.getDefaultDirection()==="rtl")}getContext(){if(this.context===null)throw new Error("Context attempted to be used without being set");return this.context}triggerStateUpdateForElement(t){t.updateState({selection:null,editor:this.getContext().editor})}registerModal(t,e){this.modalDefinitionsByKey[t]=e}createModal(t){let e=this.modalDefinitionsByKey[t];if(!e)throw new Error(`Attempted to show modal of key [${t}] but no modal registered for that key`);let n=new zs(e,t);return n.setContext(this.getContext()),n}setModalActive(t,e){this.activeModalsByKey[t]=e}setModalInactive(t){delete this.activeModalsByKey[t]}getActiveModal(t){return this.activeModalsByKey[t]}registerDecoratorType(t,e){this.decoratorConstructorsByType[t]=e}getDecorator(t,e){if(this.decoratorInstancesByNodeKey[e])return this.decoratorInstancesByNodeKey[e];let n=this.decoratorConstructorsByType[t];if(!n)throw new Error(`Attempted to use decorator of type [${t}] but not decorator registered for that type`);let r=new n(this.getContext());return this.decoratorInstancesByNodeKey[e]=r,r}getDecoratorByNodeKey(t){return this.decoratorInstancesByNodeKey[t]||null}setToolbar(t){this.toolbar&&this.toolbar.teardown(),this.toolbar=t,t.setContext(this.getContext()),this.getContext().containerDOM.prepend(t.getDOMElement())}getToolbar(){return this.toolbar}registerContextToolbar(t,e){this.contextToolbarDefinitionsByKey[t]=e}triggerStateUpdate(t){gm(t.editor,t.selection),this.toolbar?.updateState(t),this.updateContextToolbars(t);for(let e of this.activeContextToolbars)e.updateState(t);this.triggerSelectionChange(t.selection)}triggerStateRefresh(){let t=this.getContext().editor,e={editor:t,selection:ae(t)};this.triggerStateUpdate(e),this.updateContextToolbars(e)}triggerFutureStateRefresh(){requestAnimationFrame(()=>{this.getContext().editor.getEditorState().read(()=>{this.triggerStateRefresh()})})}triggerSelectionChange(t){if(t)for(let e of this.selectionChangeHandlers)e(t)}onSelectionChange(t){this.selectionChangeHandlers.add(t)}offSelectionChange(t){this.selectionChangeHandlers.delete(t)}triggerLayoutUpdate(){window.requestAnimationFrame(()=>{let t=[];for(let e of this.activeContextToolbars){let n=e.updatePosition(t);t.push(n)}})}getDefaultDirection(){return this.getContext().options.textDirection==="rtl"?"rtl":"ltr"}onTeardown(t){this.teardownCallbacks.push(t)}teardown(){this.domEventAbortController.abort("teardown");for(let[t,e]of Object.entries(this.activeModalsByKey))e.teardown();for(let[t,e]of Object.entries(this.decoratorInstancesByNodeKey))e.teardown();this.toolbar&&this.toolbar.teardown();for(let t of this.activeContextToolbars)t.teardown();this.dropdowns.teardown();for(let t of this.teardownCallbacks)t()}focus(){this.getContext().editorDOM.focus(),this.getContext().editor.focus()}updateContextToolbars(t){for(let l=this.activeContextToolbars.length-1;l>=0;l--)this.activeContextToolbars[l].teardown(),this.activeContextToolbars.splice(l,1);let e=(t.selection?.getNodes()||[])[0]||null;if(!e)return;let n=t.editor.getElementByKey(e.getKey());if(!n)return;let r=Object.keys(this.contextToolbarDefinitionsByKey),i=new Map;for(let l of r){let a=this.contextToolbarDefinitionsByKey[l],d=n.closest(a.selector)||n.querySelector(a.selector);if(d){let u=a.displayTargetLocator?a.displayTargetLocator(d):d;i.has(u)||i.set(u,[]),i.get(u).push(...a.content())}}let s=[];for(let[l,a]of i){let d=new Ws(l,a);d.setContext(this.getContext()),this.activeContextToolbars.push(d),this.getContext().containerDOM.append(d.getDOMElement());let u=d.updatePosition(s);s.push(u)}}setupEditor(t,e){t.setUiContext(e);let n=r=>{t.getEditorState().read(()=>{let i=Object.keys(r);for(let s of i){let l=t.getElementByKey(s);if(!l)continue;let a=r[s],d=this.getDecorator(a.type,s);d.setNode(a.getNode());let u=d.render(l);u&&l.append(u)}})};t.registerDecoratorListener(n),t.registerUpdateListener(({editorState:r,prevEditorState:i})=>{!i._selection?.is(r._selection)&&t.update(()=>{let l=T();this.triggerStateUpdate({editor:t,selection:l})})})}setupEventListeners(){let t=this.triggerLayoutUpdate.bind(this);window.addEventListener("scroll",t,{capture:!0,passive:!0,signal:this.domEventAbortController.signal}),window.addEventListener("resize",t,{passive:!0,signal:this.domEventAbortController.signal})}};function Zs(o,t,e){let n=_("div",{contenteditable:"true",class:`editor-content-area ${e.editorClass||""}`}),r=_("div",{class:"editor-content-wrap"},[n]);o.append(r),o.classList.add("editor-container"),o.setAttribute("dir",e.textDirection),e.darkMode&&o.classList.add("editor-dark");let i=new Ys,s={editor:t,containerDOM:o,editorDOM:n,scrollDOM:r,manager:i,translate(l){return e.translations[l]||l},error(l){let a=l instanceof Error?l.message:l;window.$events.error(a)},options:e};return i.setContext(s),s}function Fo(o,t){o.update(()=>{let e=F();for(let r of e.getChildren())r.remove(!0);let n=er(o,t);e.append(...n),e.isEmpty()&&e.append(I())})}function Vs(o,t){o.update(()=>{let e=F(),n=er(o,t);e.append(...n)})}function Xs(o,t){o.update(()=>{let e=F(),n=er(o,t),r=e.getChildren()[0];for(let i=n.length-1;i>=0;i--)r?r.insertBefore(n[i]):e.append(n[i]),r=n[i]})}function js(o,t){o.update(()=>{let e=T(),n=Qr(o,t),r=e?.getNodes()[0],i=!1,s=r?et(r):null;for(let l=n.length-1;l>=0;l--){let a=n[l];yt(a)&&s?i?s.insertBefore(a):s.insertAfter(a):yt(a)?F().append(a):i?r?.insertBefore(a):(Te([a]),r=a,s=et(r),i=!0)}})}function Gs(o){return new Promise((t,e)=>{o.getEditorState().read(()=>{let n=us(o);t(n)})})}function mr(o){o.update(()=>{let t=F(),e=T(),n=t.getFirstChild();n&&!e&&n.selectStart()}),o.commitUpdates(),o.focus(()=>{},{defaultSelection:"rootStart"})}function lp(o,t){o.update(()=>{let n=ei(Po)[t];n&&n.selectEnd()})}var pr=class{constructor(t,e,n){p(this,"container");p(this,"dragTargetSelector");p(this,"options");p(this,"startX",0);p(this,"startY",0);p(this,"target",null);this.container=t,this.dragTargetSelector=e,this.options=n,this.onMouseDown=this.onMouseDown.bind(this),this.onMouseMove=this.onMouseMove.bind(this),this.onMouseUp=this.onMouseUp.bind(this),this.container.addEventListener("mousedown",this.onMouseDown)}teardown(){this.container.removeEventListener("mousedown",this.onMouseDown),this.container.removeEventListener("mouseup",this.onMouseUp),this.container.removeEventListener("mousemove",this.onMouseMove)}onMouseDown(t){this.target=t.target.closest(this.dragTargetSelector),this.target&&(this.startX=t.screenX,this.startY=t.screenY,window.addEventListener("mousemove",this.onMouseMove),window.addEventListener("mouseup",this.onMouseUp),this.options.down&&this.options.down(t,this.target))}onMouseMove(t){this.options.move&&this.target&&this.options.move(t,this.target,{x:t.screenX-this.startX,y:t.screenY-this.startY})}onMouseUp(t){window.removeEventListener("mousemove",this.onMouseMove),window.removeEventListener("mouseup",this.onMouseUp),this.options.up&&this.target&&this.options.up(t,this.target,{x:t.screenX-this.startX,y:t.screenY-this.startY})}};var pd=class{constructor(t,e){p(this,"editor");p(this,"editScrollContainer");p(this,"markerDom",null);p(this,"mouseTracker",null);p(this,"dragging",!1);p(this,"targetCell",null);p(this,"xMarkerAtStart",!1);p(this,"yMarkerAtStart",!1);p(this,"activeInTable",!1);this.editor=t,this.editScrollContainer=e,this.setupListeners()}teardown(){this.editScrollContainer.removeEventListener("mousemove",this.onCellMouseMove),window.removeEventListener("scroll",this.onScrollOrResize,{capture:!0}),window.removeEventListener("resize",this.onScrollOrResize),this.mouseTracker&&this.mouseTracker.teardown()}setupListeners(){this.onTableMouseOver=this.onTableMouseOver.bind(this),this.onCellMouseMove=this.onCellMouseMove.bind(this),this.onScrollOrResize=this.onScrollOrResize.bind(this),this.editScrollContainer.addEventListener("mouseover",this.onTableMouseOver,{passive:!0}),window.addEventListener("scroll",this.onScrollOrResize,{capture:!0,passive:!0}),window.addEventListener("resize",this.onScrollOrResize,{passive:!0})}onScrollOrResize(){this.updateCurrentMarkerTargetPosition()}onTableMouseOver(t){if(this.dragging)return;let e=t.target.closest("table");e&&!this.activeInTable?(this.editScrollContainer.addEventListener("mousemove",this.onCellMouseMove,{passive:!0}),this.onCellMouseMove(t),this.activeInTable=!0):!e&&this.activeInTable&&(this.editScrollContainer.removeEventListener("mousemove",this.onCellMouseMove),this.hideMarkers(),this.activeInTable=!1)}onCellMouseMove(t){let e=t.target.closest("td,th");if(!e||this.dragging)return;let n=e.getBoundingClientRect(),r=n.left+n.width/2,i=n.top+n.height/2;this.targetCell=e,this.xMarkerAtStart=t.clientX<=r,this.yMarkerAtStart=t.clientY<=i;let s=this.xMarkerAtStart?n.left:n.right,l=this.yMarkerAtStart?n.top:n.bottom;this.updateMarkersTo(e,s,l)}updateMarkersTo(t,e,n){let r=this.getMarkers(),i=t.closest("table"),s=i.querySelector("caption"),l=i.getBoundingClientRect(),a=this.editScrollContainer.getBoundingClientRect(),d=l.top;s&&(d=s.getBoundingClientRect().bottom);let u=Math.max(d,a.top),c=Math.min(l.bottom,a.bottom)-u;r.x.style.left=e+"px",r.x.style.top=u+"px",r.x.style.height=c+"px",r.y.style.top=n+"px",r.y.style.left=l.left+"px",r.y.style.width=l.width+"px",r.y.hidden=na.bottom,r.x.hidden=l.top>a.bottom||l.bottom0?d-=1:e.xMarkerAtStart&&d===0&&(u=-u),e.editor.update(()=>{let f=Y(a);if(f instanceof Ot){let c=qm(e.editor,f,d),m=Math.max(c+u,10);ad(f,d,m)}})}if(r==="top"&&e.targetCell){let d=e.targetCell;e.editor.update(()=>{let f=Y(d)?.getParent(),c=f?.getIndexWithinParent()||0,m=l.y;e.yMarkerAtStart&&c>0?c-=1:e.yMarkerAtStart&&c===0&&(m=-m);let g=f?.getParent()?.getChildren()[c];if(g instanceof fo){let h=g.getHeight()||0,N=Math.max(h+m,10);g.setHeight(N)}})}}})}getTargetCellColumnIndex(){let t=this.targetCell;if(t===null)return-1;let e=0,n=t.parentElement;for(let r of n?.children||[]){let i=Number(r.getAttribute("colspan"));if((Number.isNaN(i)||i<1)&&(i=1),e+=i,r===t)return e-1}return-1}};function ap(o,t){let e=new pd(o,t);return()=>{e.teardown()}}function Js(o){return o.html||""}function dp(o){window.$events.listen("editor::replace",e=>{let n=Js(e);Fo(o,n)}),window.$events.listen("editor::append",e=>{let n=Js(e);Vs(o,n)}),window.$events.listen("editor::prepend",e=>{let n=Js(e);Xs(o,n)}),window.$events.listen("editor::insert",e=>{let n=Js(e);js(o,n)}),window.$events.listen("editor::focus",()=>{mr(o)}),window.$events.listen("editor::focus-heading",({index:e})=>{lp(o,e)});let t=!0;o.registerUpdateListener(({dirtyElements:e,dirtyLeaves:n,editorState:r,prevEditorState:i})=>{(e.size>0||n.size>0)&&(t?t=!1:window.$events.emit("editor-html-change",""))})}var Qs=class{constructor(t){p(this,"data");this.data=t}hasItems(){return!!this.data&&!!this.data.types&&this.data.types.length>0}containsTabularData(){let t=this.data.getData("text/rtf");return!!t&&t.includes("\\trowd")}getImages(){return this.getFiles().filter(t=>t.type.includes("image"))}getFiles(){let{files:t}=this.data;return[...t]}};var gd=new WeakMap;function cp(o,t,e){let n=Qf(t,e);if(n&&L(n.node)){let r=n.node.select(n.offset,n.offset);W(r)}else n&&mt(n.node);xm(o),n&&!H(n.node)&&!n.node?.getTextContent()&&n.node.remove()}async function YE(o,t,e){let i=((await window.$http.get(`/templates/${t}`)).data||{html:""}).html||"";o.update(()=>{let s=er(o,i);cp(s,e,o)})}function ZE(o,t,e,n){o.update(()=>{if(e){let i=T();if(y(i)){i.removeText();let s=ft(i);for(let l of s)l.isEmpty()&&l.remove()}}let r=Qr(o,t);cp(r,n,o)})}function up(o,t){let e=new Qs(o),n=!1;if(!e.hasItems()||e.containsTabularData())return n;let r=e.getImages();return r.length>0&&(n=!0),t.editor.update(async()=>{for(let i of r){let s=window.baseUrl("/loading.gif"),l=dn(s),a=I();a.append(l),Te([a]);try{let d=await ym(i,t.options.pageId),u=d.name.replace(/"/g,"");t.editor.update(()=>{let f=dn(d.thumbs?.display||"",{alt:u}),c=wt(d.url,{target:"_blank"});c.append(f),l.replace(c)})}catch(d){t.editor.update(()=>{l.remove(!1)}),window.$events.error(d?.data?.message||t.options.translations.imageUploadErrorText),console.error(d)}}}),n}function VE(o,t){let e=/https?:\/\/([^?#]*?)\.(png|jpeg|jpg|gif|webp|bmp|avif)/i,n=o.getData("text/plain");return n&&e.test(n)?(t.editor.update(()=>{let r=dn(n);Te([r]),r.select()}),!0):!1}function XE(o){let t=o.editor;return e=>{let n=gd.has(t);gd.delete(t);let r=e.dataTransfer?.getData("bookstack/template")||"";if(r)return YE(t,r,e),e.preventDefault(),e.stopPropagation(),!0;let i=e.dataTransfer?.getData("text/html")||"";return i?(ZE(t,i,n,e),e.preventDefault(),e.stopPropagation(),!0):e.dataTransfer&&up(e.dataTransfer,o)?(e.preventDefault(),e.stopPropagation(),!0):!1}}function jE(o){return t=>{if(!t.clipboardData)return!1;let e=VE(t.clipboardData,o)||up(t.clipboardData,o);return e&&t.preventDefault(),e}}function GE(o){return t=>(gd.set(o.editor,t),o.editor.update(()=>{let e=T();if(y(e)){e.extract();let n=fs(o.editor,e);t.dataTransfer?.setData("text/html",n)}}),!1)}function fp(o){let t=XE(o),e=jE(o),n=GE(o),r=o.editor.registerCommand(Zo,t,Ke),i=o.editor.registerCommand(No,e,Ke),s=o.editor.registerCommand(Vo,n,Ke);return o.scrollDOM.addEventListener("drop",t),()=>{r(),i(),s(),o.scrollDOM.removeEventListener("drop",t)}}var hd=class{constructor(t,e){p(this,"editorContainer");p(this,"editor");this.editor=t,this.editorContainer=e,this.setupListeners()}setupListeners(){this.handleClick=this.handleClick.bind(this),this.editorContainer.addEventListener("click",this.handleClick)}handleClick(t){let e=t.target;e instanceof HTMLElement&&e.nodeName==="LI"&&e.classList.contains("task-list-item")&&(this.handleTaskListItemClick(e,t),t.preventDefault())}handleTaskListItemClick(t,e){let n=t.getBoundingClientRect();e.clientX<=n.right&&e.clientX>=n.left&&e.clientY>=n.top&&e.clientY<=n.bottom||this.editor.update(()=>{let i=Y(t);z(i)&&i.setChecked(!i.getChecked())})}teardown(){this.editorContainer.removeEventListener("click",this.handleClick)}};function mp(o,t){let e=new hd(o,t);return()=>{e.teardown()}}var Nd=class{constructor(t){p(this,"editor");p(this,"tableSelections",new Map);p(this,"unregisterMutationListener",()=>{});this.editor=t,this.init()}init(){this.unregisterMutationListener=this.editor.registerMutationListener(Ot,t=>{for(let[e,n]of t)if(n==="created")this.editor.getEditorState().read(()=>{let r=ee(e);K(r)&&this.initializeTableNode(r)});else if(n==="destroyed"){let r=this.tableSelections.get(e);r!==void 0&&(r.removeListeners(),this.tableSelections.delete(e))}})}initializeTableNode(t){let e=t.getKey(),n=this.editor.getElementByKey(e);if(n&&!this.tableSelections.has(e)){let r=id(t,n,this.editor,!0);this.tableSelections.set(e,r)}}teardown(){this.unregisterMutationListener();for(let[,t]of this.tableSelections)t.removeListeners()}};function pp(o){let t=new Nd(o);return()=>{t.teardown()}}function el(o,t){return As(o.editor,t),o.manager.triggerFutureStateRefresh(),!0}function po(o){return(t,e)=>(o(t),e.manager.triggerFutureStateRefresh(),!0)}function xi(o,t){return o.dispatchCommand(Pe,t),!0}var gp={"meta+8":o=>xi(o,"code"),"meta+shift+e":o=>xi(o,"code"),"meta+b":o=>xi(o,"bold"),"meta+i":o=>xi(o,"italic"),"meta+u":o=>xi(o,"underline"),"meta+o":po(o=>ci(o,"number")),"meta+p":po(o=>ci(o,"bullet")),"meta+k":(o,t)=>(o.getEditorState().read(()=>{let e=X(T(),Kt);ks(e,t)}),!0),"meta+shift+k":(o,t)=>(o.getEditorState().read(()=>{let n=T()?.getTextContent()||"";Ls(r=>{Rs(o,{text:r.name,title:r.link,target:"",url:r.link})},n)}),!0)},JE={...gp,"meta+s":()=>(window.$events.emit("editor-save-draft"),!0),"meta+enter":()=>(window.$events.emit("editor-save-page"),!0),"meta+1":(o,t)=>el(t,"h2"),"meta+2":(o,t)=>el(t,"h3"),"meta+3":(o,t)=>el(t,"h4"),"meta+4":(o,t)=>el(t,"h5"),"meta+5":po(ai),"meta+d":po(ai),"meta+6":po(di),"meta+7":po(ui),"meta+e":po(ui),"meta+q":po(di),"meta+9":po(Lm)};function QE(o,t){let n=eT(t?JE:gp);return r=>{let i=tT(r);for(let s of i)if(n[s]){n[s](o.editor,o)&&(r.stopPropagation(),r.preventDefault());break}}}function eT(o){let t={},e=Object.keys(o);for(let n of e){let r=o[n];t[n]=r;let i=n.split("+"),s=i.pop()||"";if(s.match(/^[a-zA-Z]$/)){let l=s.toUpperCase().charCodeAt(0);i.push(String(l));let a=i.join("+");t[a]=r}}return t}function tT(o){let e=[(hp()?o.metaKey:o.ctrlKey)?"meta":"",o.shiftKey?"shift":"",o.key],n=[e.filter(Boolean).join("+").toLowerCase()],r=o.keyCode||0;if(r>=65&&r<=90){let i=[...e];i.pop(),i.push(String(r)),n.push(i.filter(Boolean).join("+").toLowerCase())}return n}function hp(){return window.navigator.userAgent.includes("Mac OS X")}function oT(o){o.registerCommand(ve,t=>hp()?t?.metaKey||!1:t?.ctrlKey||!1,Ke)}function tl(o,t){let e=QE(o,t);return oT(o.editor),o.editor.registerRootListener((n,r)=>{n?.addEventListener("keydown",e),r?.removeEventListener("keydown",e)})}function nT(o){return Qe(o)||vt(o)}var xd=class{constructor(t){p(this,"context");p(this,"resizerDOM",null);p(this,"targetNode",null);p(this,"scrollContainer");p(this,"mouseTracker",null);p(this,"activeSelection","");p(this,"loadAbortController",new AbortController);this.context=t,this.scrollContainer=t.scrollDOM,this.onSelectionChange=this.onSelectionChange.bind(this),this.onTargetDOMLoad=this.onTargetDOMLoad.bind(this),t.manager.onSelectionChange(this.onSelectionChange)}onSelectionChange(t){let e=t?.getNodes()||[];if(this.activeSelection&&this.hide(),e.length===1&&nT(e[0])){let n=e[0],r=this.getTargetDOM(n);r&&this.showForNode(n,r)}}getTargetDOM(t){if(t==null)return null;let e=this.context.editor.getElementByKey(t.__key);return e&&e.nodeName==="SPAN"&&(e=e.firstElementChild),e}onTargetDOMLoad(){this.updateResizerPosition()}teardown(){this.context.manager.offSelectionChange(this.onSelectionChange),this.hide()}showForNode(t,e){this.resizerDOM=this.buildDOM(),this.targetNode=t;let n=_("span",{class:"editor-node-resizer-ghost"});Qe(t)&&(n=_("img",{src:e.getAttribute("src"),class:"editor-node-resizer-ghost"})),this.resizerDOM.append(n),this.context.scrollDOM.append(this.resizerDOM),this.updateResizerPosition(),this.mouseTracker=this.setupTracker(this.resizerDOM,t,e),this.activeSelection=t.getKey(),e.matches("img, embed, iframe, object")&&(this.loadAbortController=new AbortController,e.addEventListener("load",this.onTargetDOMLoad,{signal:this.loadAbortController.signal}))}updateResizerPosition(){let t=this.getTargetDOM(this.targetNode);if(!this.resizerDOM||!t)return;let e=this.scrollContainer.getBoundingClientRect(),n=t.getBoundingClientRect(),r=n.top-(e.top-this.scrollContainer.scrollTop),i=n.left-e.left;this.resizerDOM.style.top=`${r}px`,this.resizerDOM.style.left=`${i}px`,this.resizerDOM.style.width=n.width+"px",this.resizerDOM.style.height=n.height+"px"}updateDOMSize(t,e){this.resizerDOM&&(this.resizerDOM.style.width=t+"px",this.resizerDOM.style.height=e+"px")}hide(){this.mouseTracker?.teardown(),this.resizerDOM?.remove(),this.targetNode=null,this.activeSelection="",this.loadAbortController.abort()}buildDOM(){let e=["nw","ne","se","sw"].map(n=>_("div",{class:`editor-node-resizer-handle ${n}`}));return _("div",{class:"editor-node-resizer"},e)}setupTracker(t,e,n){let r=0,i=0,s=0,l=!1,a=this,d=!1,u=!1,f=c=>{let m=c.x;d&&(m=0-m);let g=c.y;u&&(g=0-g);let h=Math.sqrt(Math.pow(Math.abs(m),2)+Math.pow(Math.abs(g),2)),b=m+g>0?h:0-h,x=Math.max(5,Math.round(r+b)),S=Math.round(x*s);return{width:x,height:S}};return new pr(t,".editor-node-resizer-handle",{down(c,m){a.resizerDOM?.classList.add("active"),a.context.editor.getEditorState().read(()=>{let g=n.getBoundingClientRect();r=e.getWidth()||g.width,i=e.getHeight()||g.height,e.getHeight()&&(l=!0),s=i/r}),d=m.classList.contains("nw")||m.classList.contains("sw"),u=m.classList.contains("nw")||m.classList.contains("ne")},move(c,m,g){let h=f(g);a.updateDOMSize(h.width,h.height)},up(c,m,g){let h=f(g);a.context.editor.update(()=>{e.setWidth(h.width),e.setHeight(l?h.height:0)},{onUpdate:()=>{requestAnimationFrame(()=>{a.context.manager.triggerLayoutUpdate(),a.updateResizerPosition()})}}),a.resizerDOM?.classList.remove("active")}})}};function Np(o){let t=new xd(o);return()=>{t.teardown()}}var gr=class extends Error{constructor(e,n){super(e.statusText);p(this,"data");p(this,"headers");p(this,"original");p(this,"redirected");p(this,"status");p(this,"statusText");p(this,"url");this.data=n,this.headers=e.headers,this.redirected=e.redirected,this.status=e.status,this.statusText=e.statusText,this.url=e.url,this.original=e}};function ol(o){return new Promise((t,e)=>{o.oncomplete=o.onsuccess=()=>t(o.result),o.onabort=o.onerror=()=>e(o.error)})}function rT(o,t){let e,n=()=>{if(e)return e;let r=indexedDB.open(o);return r.onupgradeneeded=()=>r.result.createObjectStore(t),e=ol(r),e.then(i=>{i.onclose=()=>e=void 0},()=>{}),e};return(r,i)=>n().then(s=>i(s.transaction(t,r).objectStore(t)))}var Ed;function Td(){return Ed||(Ed=rT("keyval-store","keyval")),Ed}function Cd(o,t=Td()){return t("readonly",e=>ol(e.get(o)))}function bd(o,t,e=Td()){return e("readwrite",n=>(n.put(t,o),ol(n.transaction)))}function yd(o,t=Td()){return t("readwrite",e=>(e.delete(o),ol(e.transaction)))}var At=null,Ld,nl,_d,Sd="last-drawing-save";function Md(o){At?.contentWindow?.postMessage(JSON.stringify(o),Ld)}function sT(o){bd(Sd,o.data),_d&&_d(o.data).then(()=>{yd(Sd)})}function lT(o){Md({action:"export",format:"xmlpng",xml:o.xml,spin:"Updating drawing"})}function aT(){nl&&nl().then(o=>{Md({action:"load",autosave:1,xml:o})})}function dT(){let o={};At&&(window.$events.emitPublic(At,"editor-drawio::configure",{config:o}),Md({action:"configure",config:o}))}function xp(){window.removeEventListener("message",Ep),At&&document.body.removeChild(At)}function Ep(o){if(!o.data||o.data.length<1||o.origin!==Ld)return;let t=JSON.parse(o.data);t.event==="init"?aT():t.event==="exit"?xp():t.event==="save"?lT(t):t.event==="export"?sT(t):t.event==="configure"&&dT()}async function cT(){let o=await Cd(Sd),t=document.getElementById("unsaved-drawing-dialog");t||console.error("Missing expected unsaved-drawing dialog"),o&&t&&await window.$components.firstOnElement(t,"confirm-dialog").show()&&(nl=async()=>o)}async function Tp(o,t,e){nl=t,_d=e,await cT(),At=document.createElement("iframe"),At.setAttribute("frameborder","0"),window.addEventListener("message",Ep),At.setAttribute("src",o),At.setAttribute("class","fullscreen"),At.style.backgroundColor="#FFFFFF",document.body.appendChild(At),Ld=new URL(o).origin}async function Cp(o,t){let e={image:o,uploaded_to:t};return(await window.$http.post(window.baseUrl("/images/drawio"),e)).data}function wd(){xp()}async function bp(o){try{return`data:image/png;base64,${(await window.$http.get(window.baseUrl(`/images/drawio/base64/${o}`))).data.content}`}catch(t){throw t instanceof gr&&window.$events.showResponseError(t),wd(),t}}function go(o){return o instanceof Ho}function fT(o,t){o.status===413?window.$events.emit("error",t.options.translations.serverUploadLimitText||""):window.$events.emit("error",t.options.translations.imageUploadErrorText||""),console.error(o)}async function mT(o,t){return await new Promise((n,r)=>{o.getEditorState().read(()=>{let{id:i}=t.getDrawingIdAndUrl();n(i)})})||""}async function pT(o,t,e,n){if(wd(),n){let r=window.baseUrl("/loading.gif");o.editor.update(()=>{t.setDrawingIdAndUrl("",r)})}try{let r=await Cp(e,o.options.pageId);o.editor.update(()=>{t.setDrawingIdAndUrl(String(r.id),r.url)})}catch(r){throw r instanceof gr&&fT(r,o),n&&o.editor.update(()=>{t.remove()}),new Error(`Failed to save image with error: ${r}`)}}function Ei(o,t){let e=!1;Tp(o.options.drawioUrl,async()=>{let n=await mT(o.editor,t);return e=!n,e?"":bp(n)},async n=>pT(o,t,n,e))}function gT(o){window.$components.first("image-manager").show(e=>{o(e)},"drawio")}function yp(o){let t=ae(o.editor);gT(e=>{o.editor.update(()=>{let n=cr(e.id,e.url),r=X(t,go);go(r)?r.replace(n):Te([n])})})}function rl(o){let t=o.getChildren();for(let e of t)o.insertBefore(e);o.remove()}function vd(o){if(o.length===1){let t=o[0];if(H(t)||Qe(t)||vt(t)||go(t))return!0}return!1}function _p(o){let t=ae(o)?.getNodes()||[];vd(t)&&o.update(()=>{t[0].remove()})}function hT(o,t){let e=ae(o)?.getNodes()||[];if(vd(e)){let n=e[0],r=et(n)||n,i=t?.shiftKey===!0;if(r)return requestAnimationFrame(()=>{o.update(()=>{let s=I();i?r.insertBefore(s):r.insertAfter(s),s.select()})}),t?.preventDefault(),!0}return!1}function Sp(o,t,e=!0){let n=ae(o)?.getNodes()||[];if(!vd(n))return!1;t?.preventDefault();let r=n[0];return o.update(()=>{ti(r,e)}),!0}function NT(o,t){let e=Lp(o);return e===null||e.detailsSibling?!1:(o.update(()=>{let n=I();e.parentDetails.insertAfter(n),n.select()}),t?.preventDefault(),!0)}function xT(o,t){let e=Lp(o);if(e===null||e.parentBlock.getTextContent()!=="")return!1;t?.preventDefault();let n=e.parentDetails.getNextSibling();return o.update(()=>{if(n)n.selectStart();else{let r=I();e.parentDetails.insertAfter(r),r.select()}e.parentBlock.remove()}),!0}function Lp(o){let e=ae(o)?.getNodes()[0];if(!e)return null;let n=et(e),r=zt(e,ce);if(!ce(r)||n===null||n.getKey()!==r.getLastChild()?.getKey())return null;let i=r.getNextSibling();return{parentDetails:r,parentBlock:n,detailsSibling:i}}function ET(o,t){let e=T(),n=e?.getNodes()||[];if(n.length!==1)return!1;let r=et(n[0]);if(!r)return!1;let i=r.getParent(),s=e?.getStartEndPoints();return s&&ce(i)&&s[0].offset===0&&r.getIndexWithinParent()===0?(t.preventDefault(),o.editor.update(()=>{rl(i),r.selectStart(),o.manager.triggerLayoutUpdate()}),!0):!1}function TT(o){if(o.length!==1)return!1;let t=o[0];return z(t)||z(t.getParent())}function CT(o,t){let e=t?.shiftKey?-40:40,r=T()?.getNodes()||[];return r.length>1||TT(r)?(o.update(()=>{ni(o,e)}),t?.preventDefault(),!0):!1}function Mp(o){let t=o.editor.registerCommand(jt,l=>(_p(o.editor),ET(o,l)),Re),e=o.editor.registerCommand(Gt,()=>(_p(o.editor),!1),Re),n=o.editor.registerCommand(ve,l=>hT(o.editor,l)||xT(o.editor,l),Re),r=o.editor.registerCommand(Yo,l=>CT(o.editor,l),Re),i=o.editor.registerCommand(Vt,l=>Sp(o.editor,l,!1),Re),s=o.editor.registerCommand(Xt,l=>NT(o.editor,l)||Sp(o.editor,l,!0),Re);return()=>{t(),e(),n(),r(),i(),s()}}function bT(o){return o.toLowerCase().startsWith("http")?/(http|https):\/\/(\S+)\.\S+$/.test(o):!1}function yT(o,t,e){let n=t.getStartEndPoints();if(!n)return;let r=n[0].offset,i=o.getTextContent(),a=i.slice(0,r).lastIndexOf(" ")+1,d=i.slice(a,r);bT(d)&&e.update(()=>{let u=wt(d);u.append(new lt(d));let f=o.splitText(a,r),c=a>0?1:0,m=f[c];m&&m.replace(u)})}function il(o){let t=r=>{let i=T(),s=hm(i);return s&&i&&yT(s,i,o),!1},e=o.registerCommand(br,t,St),n=o.registerCommand(ve,t,St);return()=>{e(),n()}}var sl=class extends ne{buildDOM(){let t=this.getChildren().map(i=>i.getDOMElement()),e=_("div",{class:"editor-format-menu-dropdown editor-dropdown-menu editor-dropdown-menu-vertical",hidden:"true"},t),n=_("button",{class:"editor-format-menu-toggle editor-button",type:"button"},[this.trans("Formats")]),r=_("div",{class:"editor-format-menu editor-dropdown-menu-container"},[n,e]);return this.getContext().manager.dropdowns.handle({toggle:n,menu:e}),this.onEvent("button-action",()=>{this.getContext().manager.dropdowns.closeAll()},r),r}updateState(t){super.updateState(t);for(let e of this.children){if(e instanceof w&&e.isActive()){this.updateToggleLabel(e.getLabel());return}if(e instanceof ne){for(let n of e.getChildren())if(n instanceof w&&n.isActive()){this.updateToggleLabel(n.getLabel());return}}}this.updateToggleLabel(this.trans("Formats"))}updateToggleLabel(t){let e=this.getDOMElement().querySelector("button");e&&(e.innerText=t)}};var tt=class extends w{constructor(e,n){super(n);p(this,"previewSampleElement");this.previewSampleElement=e}buildDOM(){let e=super.buildDOM();e.innerHTML="";let n=_("span",{class:"editor-button-format-preview"},[this.getLabel()]),r=this.getStylesFromPreview();for(let i of Object.keys(r))n.style.setProperty(i,r[i]);return e.append(n),e}getStylesFromPreview(){let e=_("div",{style:"display: none",hidden:"true",class:"page-content"}),n=this.previewSampleElement.cloneNode();n.textContent=this.getLabel(),e.append(n),document.body.append(e);let r=["color","font-size","background-color","border-inline-start"],i={},s=window.getComputedStyle(n);for(let l of r)i[l]=s.getPropertyValue(l);return e.remove(),i}};var wp='';var ll=class extends w{buildDOM(){let t=super.buildDOM(),e=_("div",{class:"editor-menu-button-icon"});return e.innerHTML=wp,t.append(e),t}};var ST={showOnHover:!1,direction:"horizontal",showAside:void 0,hideOnAction:!0,button:{label:"Menu"}},be=class extends ne{constructor(e,n){super(n);p(this,"button");p(this,"childItems");p(this,"open",!1);p(this,"options");if(this.childItems=n,this.options=Object.assign({},ST,e),e.button instanceof w)this.button=e.button;else{let r=e.button.format==="long"?ll:w;this.button=new r({...e.button,action(){return!1},isActive:()=>this.open})}this.addChildren(this.button)}insertItems(...e){this.addChildren(...e),this.childItems.push(...e)}buildDOM(){let e=this.button.getDOMElement(),n=this.childItems.map(s=>s.getDOMElement()),r=_("div",{class:`editor-dropdown-menu editor-dropdown-menu-${this.options.direction}`,hidden:"true"},n),i=_("div",{class:"editor-dropdown-menu-container"},[e,r]);return this.getContext().manager.dropdowns.handle({toggle:e,menu:r,showOnHover:this.options.showOnHover,showAside:typeof this.options.showAside=="boolean"?this.options.showAside:this.options.direction==="vertical",onOpen:()=>{this.open=!0,this.getContext().manager.triggerStateUpdateForElement(this.button)},onClose:()=>{this.open=!1,this.getContext().manager.triggerStateUpdateForElement(this.button)}}),this.options.hideOnAction&&this.onEvent("button-action",()=>{this.getContext().manager.dropdowns.closeAll()},i),i}};var vp='';var Dp='';var Op=["#000000","#ffffff","#BFEDD2","#FBEEB8","#F8CAC6","#ECCAFA","#C2E0F4","#2DC26B","#F1C40F","#E03E2D","#B96AD9","#3598DB","#169179","#E67E23","#BA372A","#843FA1","#236FA1","#ECF0F1","#CED4D9","#95A5A6","#7E8C8D","#34495E"],Ap="bs-lexical-custom-colors",xn=class extends ke{constructor(e){super();p(this,"callback");this.callback=e}buildDOM(){let e=Es(),r=[...Op,...this.getCustomColorChoices()].map(u=>_("div",{class:"editor-color-select-option",style:`background-color: ${u}`,"data-color":u,"aria-label":u})),i=_("div",{class:"editor-color-select-option","data-color":"",title:this.getContext().translate("Remove color")},[]);i.innerHTML=vp,r.push(i);let s=_("label",{class:"editor-color-select-option",for:`color-select-${e}`,"data-color":"",title:this.getContext().translate("Custom color")},[]);s.innerHTML=Dp,r.push(s);let l=_("input",{type:"color",hidden:"true",id:`color-select-${e}`});r.push(l),l.addEventListener("change",u=>{l.value&&(this.storeCustomColorChoice(l.value),this.setColor(l.value),this.rebuildDOM())});let a=[];for(let u=0;u{let l=s.target.closest(".editor-table-creator-cell");if(l){let a=Number(l.dataset.rows||0),d=Number(l.dataset.columns||0);this.updateGridSelection(a,d,n,r)}}),i.addEventListener("click",s=>{let l=s.target.closest(".editor-table-creator-cell");l&&this.onCellClick(l)}),i.addEventListener("mouseleave",s=>{this.updateGridSelection(0,0,n,r)}),_("div",{class:"editor-table-creator"},[i,r])}updateGridSelection(t,e,n,r){for(let i of n){let s=Number(i.dataset.rows)<=t&&Number(i.dataset.columns)<=e;i.classList.toggle("active",s)}r.textContent=`${t} x ${e}`}onCellClick(t){let e=Number(t.dataset.rows||0),n=Number(t.dataset.columns||0);if(e<1||n<1)return;let r=Math.min(Math.round(840/n),240),i=Array(n).fill(r+"px");this.getContext().editor.update(()=>{let s=Ga(e,n,!1);s.setColWidths(i),un(s)})}};var Ti=class extends w{constructor(e,n){super(e);p(this,"style");this.style=n}getColorBar(){let e=this.getDOMElement().querySelector("svg .editor-icon-color-bar");if(!e)throw new Error(`Could not find expected color bar in the icon for this ${this.definition.label} button`);return e}updateState(e){if(super.updateState(e),y(e.selection)){let n=Aa(e.selection,this.style);this.getColorBar().setAttribute("fill",n)}}};var Rp='';var Le=class extends ne{constructor(e,n,r){super(r);p(this,"size");p(this,"overflowButton");p(this,"content");p(this,"label");this.label=e,this.size=n,this.content=r,this.overflowButton=new be({button:{label:"More",icon:Rp},hideOnAction:!1},[]),this.addChildren(this.overflowButton)}addChild(e,n=-1){this.content.splice(n,0,e),this.addChildren(e)}buildDOM(){let e=this.content.length>this.size?this.size-1:this.size,n=this.content.slice(0,e),r=this.content.slice(e),i=n.map(s=>s.getDOMElement());return r.length>0&&(this.removeChildren(...r),this.overflowButton.insertItems(...r),i.push(this.overflowButton.getDOMElement())),_("div",{class:"editor-overflow-container"},i)}getLabel(){return this.label}};var Dd='';var dl='';var kp='';var Ip='';var $p='';var Pp='';var Bp='';var Hp='';var Fp='';var Kp=` + + + + + + + + + +`;var Od=class extends ne{constructor(e){super([]);p(this,"input");p(this,"pickerButton");this.input=e,this.pickerButton=new be({button:{icon:Kp,label:"Select color"}},[new xn(this.onColorSelect.bind(this))]),this.addChildren(this.pickerButton,this.input)}buildDOM(){let e=this.input.getDOMElement();e.append(this.pickerButton.getDOMElement()),e.classList.add("editor-color-field-container");let n=e.querySelector("input");return n.addEventListener("change",()=>{this.setIconColor(n.value)}),e}onColorSelect(e,n){this.input.setValue(e)}setIconColor(e){let n=this.getDOMElement().querySelector("svg .editor-icon-color-display");n&&n.setAttribute("fill",e||"url(#pattern2)")}};function En(o){return{build(){return new Od(new Ut(o))}}}var Ad={label:"Border style",name:"border_style",type:"select",valuesByLabel:{"Select...":"",Solid:"solid",Dotted:"dotted",Dashed:"dashed",Double:"double",Groove:"groove",Ridge:"ridge",Inset:"inset",Outset:"outset",None:"none",Hidden:"hidden"}},Rd={label:"Border color",name:"border_color",type:"text"},kd={label:"Background color",name:"background_color",type:"text"},Up={label:"Alignment",name:"align",type:"select",valuesByLabel:{None:"",Left:"left",Center:"center",Right:"right"}};function zp(o,t){let e=o.getStyles(),n=t.manager.createModal("cell_properties");return n.show({width:Vm(t.editor,o),height:e.get("height")||"",type:o.getTag(),h_align:o.getAlignment(),v_align:e.get("vertical-align")||"",border_width:e.get("border-width")||"",border_style:e.get("border-style")||"",border_color:e.get("border-color")||"",background_color:o.getBackgroundColor()||e.get("background-color")||""}),n}var Wp={submitText:"Save",async action(o,t){return t.editor.update(()=>{let e=Nn(T());for(let n of e){let r=o.get("width")?.toString()||"";Zm(n,r),n.updateTag(o.get("type")?.toString()||""),n.setAlignment(o.get("h_align")?.toString()||""),n.setBackgroundColor(o.get("background_color")?.toString()||"");let i=n.getStyles();i.set("height",_t(o.get("height")?.toString()||"")),i.set("vertical-align",o.get("v_align")?.toString()||""),i.set("border-width",_t(o.get("border_width")?.toString()||"")),i.set("border-style",o.get("border_style")?.toString()||""),i.set("border-color",o.get("border_color")?.toString()||""),n.setStyles(i)}}),!0},fields:[{build(){let o=[{label:"Width",name:"width",type:"text"},{label:"Height",name:"height",type:"text"},{label:"Cell type",name:"type",type:"select",valuesByLabel:{Cell:"td","Header cell":"th"}},{...Up,label:"Horizontal align",name:"h_align"},{label:"Vertical align",name:"v_align",type:"select",valuesByLabel:{None:"",Top:"top",Middle:"middle",Bottom:"bottom"}}],t=[{label:"Border width",name:"border_width",type:"text"},Ad,En(Rd),En(kd)];return new cn([{label:"General",contents:o},{label:"Advanced",contents:t}])}}]};function qp(o,t){let e=o.getStyles(),n=t.manager.createModal("row_properties");return n.show({height:e.get("height")||"",border_style:e.get("border-style")||"",border_color:e.get("border-color")||"",background_color:e.get("background-color")||""}),n}var Yp={submitText:"Save",async action(o,t){return t.editor.update(()=>{let e=mo(T());for(let n of e){let r=n.getStyles();r.set("height",_t(o.get("height")?.toString()||"")),r.set("border-style",o.get("border_style")?.toString()||""),r.set("border-color",o.get("border_color")?.toString()||""),r.set("background-color",o.get("background_color")?.toString()||""),n.setStyles(r)}}),!0},fields:[{label:"Height",name:"height",type:"text"},Ad,En(Rd),En(kd)]};function Zp(o,t){let e=o.getStyles(),n=t.manager.createModal("table_properties");return n.show({width:e.get("width")||"",height:e.get("height")||"",cell_spacing:e.get("cell-spacing")||"",cell_padding:Jm(o),border_width:e.get("border-width")||"",border_style:e.get("border-style")||"",border_color:e.get("border-color")||"",background_color:e.get("background-color")||"",caption:Xa(o)?"true":"",align:o.getAlignment()}),n}var Vp={submitText:"Save",async action(o,t){return t.editor.update(()=>{let e=Dt(T());if(!e)return;let n=e.getStyles();n.set("width",_t(o.get("width")?.toString()||"")),n.set("height",_t(o.get("height")?.toString()||"")),n.set("cell-spacing",_t(o.get("cell_spacing")?.toString()||"")),n.set("border-width",_t(o.get("border_width")?.toString()||"")),n.set("border-style",o.get("border_style")?.toString()||""),n.set("border-color",o.get("border_color")?.toString()||""),n.set("background-color",o.get("background_color")?.toString()||""),e.setStyles(n),e.setAlignment(o.get("align"));let r=o.get("cell_padding")?.toString()||"";if(r){let l=_t(r);cd(e,a=>{let d=a.getStyles();d.set("padding",l),a.setStyles(d)})}let i=!!o.get("caption")?.toString(),s=Xa(e);if(i&&!s)km(e,t.translate("Caption"));else if(!i&&s)for(let l of e.getChildren())fi(l)&&l.remove()}),!0},fields:[{build(){let o=[{label:"Width",name:"width",type:"text"},{label:"Height",name:"height",type:"text"},{label:"Cell spacing",name:"cell_spacing",type:"text"},{label:"Cell padding",name:"cell_padding",type:"text"},{label:"Border width",name:"border_width",type:"text"},{label:"Show caption",name:"caption",type:"checkbox"},Up],t=[Ad,En(Rd),En(kd)];return new cn([{label:"General",contents:o},{label:"Advanced",contents:t}])}}]};function Xp(o){let t=E(o)?o.getChildren():[];return{node:o.exportJSON(),children:t.map(e=>Xp(e))}}function jp(o,{node:t,children:e}){let n=o._nodes.get(t.type)?.klass.importJSON(t);if(!n)return null;let r=e.map(i=>jp(o,i));for(let i of r)i&&E(n)&&n.append(i);return n}var Ci=class{constructor(){p(this,"store",[])}set(...t){this.store.splice(0,this.store.length);for(let e of t)this.store.push(Xp(e))}get(t){return this.store.map(e=>jp(t,e)).filter(e=>e!==null)}size(){return this.store.length}};var bi=new Ci;function Id(){return bi.size()===0}function Gp(o){let t=null;for(let e of o){let n=e.getChildren().filter(i=>D(i)),r=0;for(let i of n)if(r+=i.getColSpan()||1,i.getRowSpan()>1)throw Error("Cannot copy rows with merged cells");if(t===null)t=r;else if(t!==r)throw Error("Cannot copy rows with inconsistent sizes")}}function Jp(o,t){let e=new qt(t).columnCount;for(let n of o){let r=n.getChildren().filter(s=>D(s)),i=0;for(let s of r)i+=s.getColSpan()||1;if(i>e)throw Error("Cannot paste rows that are wider than target table");for(;i{let n=new Ci;return n.set(...e),n});cl.splice(0,cl.length,...t)}function $d(){return cl.length===0}function rg(o){if(V(o)){let i=o.getShape();return{from:i.fromX,to:i.toX}}let t=X(o,D),e=Dt(o);if(!D(t)||!e)return null;let r=new qt(e).getRangeForCell(t);return r?{from:r.fromX,to:r.toX}:null}function ig(o,t){let e=new qt(t),n=[];for(let r=o.from;r<=o.to;r++){let i=e.getCellsInColumn(r);n.push(i)}return n}function sg(o){let t=null;for(let e of o){let n=0;for(let r of e)if(n+=r.getRowSpan()||1,r.getColSpan()>1)throw Error("Cannot copy columns with merged cells");if(t===null)t=n;else if(t!==n)throw Error("Cannot copy columns with inconsistent sizes")}}function lg(){let o=T(),t=rg(o),e=Dt(o);if(!t||!e)return;let n=e.getColWidths(),r=ig(t,e);sg(r),ng(r);for(let s of r)for(let l of s)l.remove();let i=[...n].splice(t.from,t.to-t.from+1);e.setColWidths(i)}function ag(){let o=T(),t=rg(o),e=Dt(o);if(!t||!e)return;let n=ig(t,e);sg(n),ng(n)}function HT(o,t){let e=new qt(t).rowCount;for(let n of o){let r=0;for(let i of n)r+=i.getRowSpan()||1;if(r>e)throw Error("Cannot paste columns that are taller than target table");for(;rm.get(o));t||s.reverse(),HT(s,n);let l=new qt(n),a=l.getRangeForCell(i);if(!a)return;let d=t?a.fromX:a.toX,u=n.getColWidths();for(let m=0;mf);u.splice(t?d:d+1,0,...c)}function cg(o){dg(o,!0)}function ug(o){dg(o,!1)}var xe=()=>!1,Me=o=>!de(o,D),fg={label:"Table",icon:Dd},Pd={label:"Table properties",icon:Dd,action(o){o.editor.getEditorState().read(()=>{let t=Dt(T());K(t)&&Zp(t,o)})},isActive:xe,isDisabled:Me},mg={label:"Clear table formatting",format:"long",action(o){o.editor.update(()=>{let t=X(T(),D);if(!D(t))return;let e=zt(t,K);K(e)&&Gm(e)})},isActive:xe,isDisabled:Me},pg={label:"Resize to contents",format:"long",action(o){o.editor.update(()=>{let t=X(T(),D);if(!D(t))return;let e=zt(t,K);K(e)&&jm(e)})},isActive:xe,isDisabled:Me},Bd={label:"Delete table",icon:dl,action(o){o.editor.update(()=>{let t=X(T(),K);t&&t.remove()})},isActive(){return!1}},gg={...Bd,format:"long",isDisabled(o){return!de(o,K)}},Hd={label:"Insert row before",icon:Bp,action(o){o.editor.update(()=>{$s(!1)})},isActive:xe,isDisabled:Me},Fd={label:"Insert row after",icon:Hp,action(o){o.editor.update(()=>{$s(!0)})},isActive:xe,isDisabled:Me},Kd={label:"Delete row",icon:Ip,action(o){o.editor.update(()=>{Ja()})},isActive:xe,isDisabled:Me},hg={label:"Row properties",format:"long",action(o){o.editor.getEditorState().read(()=>{let t=mo(T());oe(t[0])&&qp(t[0],o)})},isActive:xe,isDisabled:Me},Ng={label:"Cut row",format:"long",action(o){o.editor.update(()=>{try{Qp()}catch(t){o.error(t)}})},isActive:xe,isDisabled:Me},xg={label:"Copy row",format:"long",action(o){o.editor.getEditorState().read(()=>{try{eg()}catch(t){o.error(t)}})},isActive:xe,isDisabled:Me},Eg={label:"Paste row before",format:"long",action(o){o.editor.update(()=>{try{tg(o.editor)}catch(t){o.error(t)}})},isActive:xe,isDisabled:o=>Me(o)||Id()},Tg={label:"Paste row after",format:"long",action(o){o.editor.update(()=>{try{og(o.editor)}catch(t){o.error(t)}})},isActive:xe,isDisabled:o=>Me(o)||Id()},Cg={label:"Row header",format:"small",icon:Fp,action(o,t){o.editor.update(()=>{let e=X(T(),D)?.getParent();if(!oe(e))return;let n=Qm(e);t.setActiveState(n)})},isActive:o=>de(o,t=>D(t)&&t.getHeaderStyles()!==te.NO_STATUS)},bg={label:"Cut column",format:"long",action(o){o.editor.update(()=>{try{lg()}catch(t){o.error(t)}})},isActive:xe,isDisabled:Me},yg={label:"Copy column",format:"long",action(o){o.editor.getEditorState().read(()=>{try{ag()}catch(t){o.error(t)}})},isActive:xe,isDisabled:Me},_g={label:"Paste column before",format:"long",action(o){o.editor.update(()=>{try{cg(o.editor)}catch(t){o.error(t)}})},isActive:xe,isDisabled:o=>Me(o)||$d()},Sg={label:"Paste column after",format:"long",action(o){o.editor.update(()=>{try{ug(o.editor)}catch(t){o.error(t)}})},isActive:xe,isDisabled:o=>Me(o)||$d()},Ud={label:"Insert column before",icon:Pp,action(o){o.editor.update(()=>{Ps(!1)})},isActive(){return!1}},zd={label:"Insert column after",icon:$p,action(o){o.editor.update(()=>{Ps(!0)})},isActive(){return!1}},Wd={label:"Delete column",icon:kp,action(o){o.editor.update(()=>{Qa()})},isActive(){return!1}},Lg={label:"Cell properties",format:"long",action(o){o.editor.getEditorState().read(()=>{let t=X(T(),D);D(t)&&zp(t,o)})},isActive:xe,isDisabled:Me},Mg={label:"Merge cells",format:"long",action(o){o.editor.update(()=>{let t=T();V(t)&&Xm(t)})},isActive:xe,isDisabled(o){return!V(o)}},wg={label:"Split cell",format:"long",action(o){o.editor.update(()=>{td()})},isActive:xe,isDisabled(o){let t=X(o,D);return t?!(t.getRowSpan()>1||t.getColSpan()>1):!0}};var vg='';var Dg='';var Og='';var Ag='';var Rg='';var kg={label:"Undo",icon:vg,action(o){o.editor.dispatchCommand(xo,void 0),o.manager.triggerFutureStateRefresh()},isActive(o){return!1},setup(o,t){t.toggleDisabled(!0),o.editor.registerCommand(yo,e=>(t.toggleDisabled(!e),!1),Re)}},Ig={label:"Redo",icon:Dg,action(o){o.editor.dispatchCommand(Eo,void 0),o.manager.triggerFutureStateRefresh()},isActive(o){return!1},setup(o,t){t.toggleDisabled(!0),o.editor.registerCommand(bo,e=>(t.toggleDisabled(!e),!1),Re)}},$g={label:"Source code",icon:Og,async action(o){let t=o.manager.createModal("source"),e=await Gs(o.editor);t.show({source:e})},isActive(){return!1}},Pg={label:"Fullscreen",icon:Ag,async action(o,t){let e=o.containerDOM.classList.contains("fullscreen");o.containerDOM.classList.toggle("fullscreen",!e),o.containerDOM.closest("body").classList.toggle("editor-is-fullscreen",!e),t.setActiveState(!e)},isActive(o,t){return t.containerDOM.classList.contains("fullscreen")}},Bg={label:"About the editor",icon:Rg,async action(o,t){o.manager.createModal("about").show({})},isActive(o,t){return!1}};function ul(o,t){return{label:t,action(e){e.editor.update(()=>{or(n=>Pa(n,o),()=>Qn(o))})},isActive(e){return de(e,n=>Pa(n,o))}}}var Hg=ul("info","Info"),Fg=ul("danger","Danger"),Kg=ul("warning","Warning"),Ug=ul("success","Success"),qT=(o,t)=>Po(o)&&o.getTag()===t;function fl(o,t){return{label:t,action(e){As(e.editor,o)},isActive(e){return de(e,n=>qT(n,o))}}}var zg=fl("h2","Large Header"),Wg=fl("h3","Medium Header"),qg=fl("h4","Small Header"),Yg=fl("h5","Tiny Header"),Zg={label:"Blockquote",action(o){di(o.editor)},isActive(o){return de(o,Os)}},Vg={label:"Paragraph",action(o){ai(o.editor)},isActive(o){return de(o,Ge)}};var Xg='';var jg='';var Gg='';var Jg=` +`;var Qg='';var eh='';var th='';var oh='';var nh='';var rh='';function Tn(o,t,e){return{label:o,icon:e,action(n){n.editor.dispatchCommand(Pe,t)},isActive(n){return Nm(n,t)}}}var qd=Tn("Bold","bold",Xg),Yd=Tn("Italic","italic",jg),ih=Tn("Underline","underline",Gg),sh={label:"Text color",icon:Jg},lh={label:"Highlight color",icon:Qg};function ah(o,t,e){o.editor.update(()=>{let n=T();n&&Oa(n,{[t]:e||null})})}var dh=(o,t)=>ah(t,"color",o),ch=(o,t)=>ah(t,"background-color",o),uh=Tn("Strikethrough","strikethrough",eh),fh=Tn("Superscript","superscript",th),mh=Tn("Subscript","subscript",oh),Zd=Tn("Inline code","code",nh),ph={label:"Clear formatting",icon:rh,action(o){o.editor.update(()=>{let t=T();for(let e of t?.getNodes()||[])L(e)&&(e.setFormat(0),e.setStyle(""))})},isActive(){return!1}};var gh='';var hh='';var Nh='';var xh='';var Eh='';var Th='';function ml(o,t){let e=ae(o.editor),n=e?.getNodes()||[];if(n.length===1&&E(n[0])&&n[0].isInline()&&oi(n[0])){n[0].setAlignment(t),mt(n[0]),o.manager.triggerFutureStateRefresh();return}let i=ft(e).filter(a=>oi(a)),l=i.every(a=>a.getAlignment()===t)?"":t;for(let a of i)a.setAlignment(l);o.manager.triggerFutureStateRefresh()}function Ch(o,t){let e=ae(o.editor),n=ft(e);for(let r of n)r.setDirection(t);o.manager.triggerFutureStateRefresh()}var bh={label:"Align left",icon:gh,action(o){o.editor.update(()=>ml(o,"left"))},isActive(o){return ii(o,"left")}},yh={label:"Align center",icon:hh,action(o){o.editor.update(()=>ml(o,"center"))},isActive(o){return ii(o,"center")}},_h={label:"Align right",icon:Nh,action(o){o.editor.update(()=>ml(o,"right"))},isActive(o){return ii(o,"right")}},Sh={label:"Justify",icon:xh,action(o){o.editor.update(()=>ml(o,"justify"))},isActive(o){return ii(o,"justify")}},Lh={label:"Left to right",icon:Eh,action(o){o.editor.update(()=>Ch(o,"ltr"))},isActive(o){return Ya(o,"ltr")}},Mh={label:"Right to left",icon:Th,action(o){o.editor.update(()=>Ch(o,"rtl"))},isActive(o){return Ya(o,"rtl")}};var wh='';var vh='';var Dh='';var Oh='';var Ah='';function Vd(o,t,e){return{label:o,icon:e,action(n){ci(n.editor,t)},isActive(n){return de(n,r=>Z(r)&&r.getListType()===t)}}}var Xd=Vd("Bullet list","bullet",wh),jd=Vd("Numbered list","number",vh),Rh=Vd("Task list","check",Dh),kh={label:"Increase indent",icon:Oh,action(o){o.editor.update(()=>{ni(o.editor,40)})},isActive(){return!1}},Ih={label:"Decrease indent",icon:Ah,action(o){o.editor.update(()=>{ni(o.editor,-40)})},isActive(){return!1}};var $h='';var Ph='';var Bh='';var Hh='';var Fh='';var Kh='';var Uh='';var zh='';var Wh=` +`;var qh='';var Yh='';var pl={label:"Insert/edit link",icon:$h,action(o){o.editor.getEditorState().read(()=>{let t=X(T(),Kt);ks(t,o)})},isActive(o){return de(o,Kt)}},Zh={label:"Remove link",icon:Ph,action(o){o.editor.update(()=>{let t=ae(o.editor),e=X(t,Kt);if(e){let n=e.getChildren().reverse();for(let r of n)e.insertAfter(r);e.remove(),n[n.length-1].selectStart(),o.manager.triggerFutureStateRefresh()}})},isActive(o){return!1}},Gd={label:"Insert/Edit Image",icon:Bh,action(o){o.editor.getEditorState().read(()=>{let t=ae(o.editor),e=X(t,Qe);if(e){Mm(e,o);return}_s(n=>{o.editor.update(()=>{let r=bm(n);Te([r]),r.select()})})})},isActive(o){return de(o,Qe)}},Vh={label:"Insert horizontal line",icon:Hh,action(o){o.editor.update(()=>{un(ud(),!1)})},isActive(o){return de(o,ep)}},Jd={label:"Insert code block",icon:Fh,action(o){ui(o.editor)},isActive(o){return de(o,vs)}},Xh=Object.assign({},Jd,{label:"Edit code block",icon:Kh}),jh={label:"Insert/edit drawing",icon:Uh,action(o){o.editor.getEditorState().read(()=>{let t=ae(o.editor),e=X(t,go);e===null?o.editor.update(()=>{let n=cr();un(n,!0),Ei(o,n),n.selectStart()}):Ei(o,e)})},isActive(o){return de(o,go)}},Gh={label:"Drawing manager",action(o){yp(o)},isActive(){return!1}},Qd={label:"Insert/edit media",icon:Yh,action(o){o.editor.getEditorState().read(()=>{let t=T(),e=X(t,vt);Dm(e,o)})},isActive(o){return de(o,vt)}},Jh={label:"Insert collapsible block",icon:zh,action(o){o.editor.update(()=>{let t=T(),e=Za(),r=(t?.getNodes()||[]).map(s=>s.getTopLevelElement()).filter(s=>s!==null),i=[...new Set(r)];e.setOpen(!0),i.length>0?i[0].insertAfter(e):F().append(e);for(let s of i)e.append(s)})},isActive(o){return de(o,ce)}},Qh={label:"Edit label",icon:qh,action(o){o.editor.getEditorState().read(()=>{let t=X(T(),ce);ce(t)&&Is(t,o)})},isActive(o){return!1}},eN={label:"Toggle open/closed",icon:Wh,action(o){o.editor.update(()=>{let t=X(T(),ce);ce(t)&&(t.setOpen(!t.getOpen()),o.manager.triggerLayoutUpdate())})},isActive(o){return!1}},tN={label:"Unwrap",icon:dl,action(o){o.editor.update(()=>{let t=X(T(),ce);ce(t)&&(rl(t),o.manager.triggerLayoutUpdate())})},isActive(o){return!1}};var oN=` +`;var gl=class extends ne{constructor(e,n){super([e]);p(this,"button");p(this,"dropdownButton");this.button=e,this.dropdownButton=new be({button:{label:"Menu",icon:oN},showOnHover:!1,direction:"vertical",showAside:!1},n),this.addChildren(this.dropdownButton)}buildDOM(){return _("div",{class:"editor-button-with-menu-container"},[this.button.getDOMElement(),this.dropdownButton.getDOMElement()])}};var Cn=class extends ke{buildDOM(){return _("div",{class:"editor-separator"})}};function nN(o){let t=o.manager.getDefaultDirection()==="rtl";return new Jr("editor-toolbar-main",[new Le("history",2,[new w(kg),new w(Ig)]),new sl([new tt(_("h2"),zg),new tt(_("h3"),Wg),new tt(_("h4"),qg),new tt(_("h5"),Yg),new tt(_("blockquote"),Zg),new tt(_("p"),Vg),new be({button:{label:"Callouts",format:"long"},showOnHover:!0,direction:"vertical"},[new tt(_("p",{class:"callout info"}),Hg),new tt(_("p",{class:"callout success"}),Ug),new tt(_("p",{class:"callout warning"}),Kg),new tt(_("p",{class:"callout danger"}),Fg)])]),new Le("inline_formats",6,[new w(qd),new w(Yd),new w(ih),new be({button:new Ti(sh,"color")},[new xn(dh)]),new be({button:new Ti(lh,"background-color")},[new xn(ch)]),new w(uh),new w(fh),new w(mh),new w(Zd),new w(ph)]),new Le("alignment",6,[new w(bh),new w(yh),new w(_h),new w(Sh),t?new w(Lh):null,t?new w(Mh):null].filter(e=>e!==null)),new Le("lists",3,[new w(Xd),new w(jd),new w(Rh),new w(Ih),new w(kh)]),new Le("inserts",4,[new w(pl),new be({button:fg,direction:"vertical",showAside:!1},[new be({button:{label:"Insert",format:"long"},showOnHover:!0,showAside:!0},[new al]),new Cn,new be({button:{label:"Cell",format:"long"},direction:"vertical",showOnHover:!0},[new w(Lg),new w(Mg),new w(wg)]),new be({button:{label:"Row",format:"long"},direction:"vertical",showOnHover:!0},[new w({...Hd,format:"long"}),new w({...Fd,format:"long"}),new w({...Kd,format:"long"}),new w(hg),new Cn,new w(Ng),new w(xg),new w(Eg),new w(Tg)]),new be({button:{label:"Column",format:"long"},direction:"vertical",showOnHover:!0},[new w({...Ud,format:"long"}),new w({...zd,format:"long"}),new w({...Wd,format:"long"}),new Cn,new w(bg),new w(yg),new w(_g),new w(Sg)]),new Cn,new w({...Pd,format:"long"}),new w(mg),new w(pg),new w(gg)]),new w(Gd),new w(Vh),new w(Jd),new gl(new w(jh),[new w(Gh)]),new w(Qd),new w(Jh)]),new Le("meta",3,[new w($g),new w(Bg),new w(Pg)])])}function ec(o){return new Jr("editor-toolbar-main",[new Le("formats",7,[new w(qd),new w(Yd),new w(pl),new w(Zd),new w(Xd),new w(jd)])])}var yi={image:{selector:"img:not([drawio-diagram] img)",content:()=>[new w(Gd)]},media:{selector:".editor-media-wrap",content:()=>[new w(Qd)]},link:{selector:"a:not([data-mention-user-id])",content(){return[new w(pl),new w(Zh)]},displayTargetLocator(o){return o.querySelector("img")||o}},code:{selector:".editor-code-block-wrap",content:()=>[new w(Xh)]},table:{selector:"td,th",content(){return[new Le("table",2,[new w(Pd),new w(Bd)]),new Le("table_row",3,[new w(Hd),new w(Fd),new w(Kd)]),new Le("table_column",3,[new w(Ud),new w(zd),new w(Wd)])]},displayTargetLocator(o){return o.closest("table")}},table_header:{selector:"table tr:first-of-type td, table tr:first-of-type th",content(){return[new Le("table_headers",1,[new w(Cg)])]},displayTargetLocator(o){return o.closest("table")}},details:{selector:"details",content(){return[new w(Qh),new w(eN),new w(tN)]}}};var hl=class extends ke{constructor(e){super();p(this,"url","");this.url=e}buildDOM(){let e=_("div",{class:"editor-external-content"});return window.$http.get(this.url).then(n=>{typeof n.data=="string"&&(e.innerHTML=n.data)}),e}};var rN={submitText:"Save",async action(o,t){return Fo(t.editor,o.get("source")?.toString()||""),t.editor.commitUpdates(),window.requestAnimationFrame(()=>{mr(t.editor)}),!0},fields:[{label:"Source",name:"source",type:"textarea"}]},iN={submitText:"Close",async action(){return!0},fields:[{build(){return new hl("/help/wysiwyg")}}]};var _i={link:{title:"Insert/Edit Link",form:vm},image:{title:"Insert/Edit Image",form:wm},media:{title:"Insert/Edit Media",form:Om},source:{title:"Source code",form:rN},cell_properties:{title:"Cell Properties",form:Wp},row_properties:{title:"Row Properties",form:Yp},table_properties:{title:"Table Properties",form:Vp},details:{title:"Edit collapsible block",form:Am},about:{title:"About the WYSIWYG Editor",form:iN}};var Ko=class{constructor(t){p(this,"node",null);p(this,"context");p(this,"onDestroyCallbacks",[]);this.context=t}getNode(){if(!this.node)throw new Error("Attempted to get use node without it being set");return this.node}setNode(t){this.node=t}onDestroy(t){this.onDestroyCallbacks.push(t)}teardown(){for(let t of this.onDestroyCallbacks)t()}};var Nl=class extends Ko{constructor(){super(...arguments);p(this,"completedSetup",!1);p(this,"latestCode","");p(this,"latestLanguage","");p(this,"editor",null)}setup(e){let n=this.getNode(),r=e.querySelector("pre");if(!r)return;r&&(r.hidden=!0),this.latestCode=n.__code,this.latestLanguage=n.__language;let s=this.latestCode.split(` +`).length*19.2+18+24;e.style.height=`${s}px`;let l=Date.now();e.addEventListener("click",u=>{requestAnimationFrame(()=>{this.context.editor.update(()=>{mt(this.getNode())})})}),e.addEventListener("dblclick",u=>{this.context.editor.getEditorState().read(()=>{li(this.context.editor,this.getNode())})});let a=u=>{e.classList.toggle("selected",ys(u,n))};this.context.manager.onSelectionChange(a),this.onDestroy(()=>{this.context.manager.offSelectionChange(a)});let d=u=>{this.editor=u.wysiwygView(e,document,this.latestCode,this.latestLanguage),setTimeout(()=>{e.style.height=""},12)};window.importVersioned("code").then(u=>{let f=Date.now()-l<20?20:0;setTimeout(()=>d(u),f)}),this.completedSetup=!0}update(){let e=this.getNode(),n=e.getCode(),r=e.getLanguage();this.latestCode===n&&this.latestLanguage===r||(this.latestLanguage=r,this.latestCode=n,this.editor&&(this.editor.setContent(n),this.editor.setMode(r,n)))}render(e){this.completedSetup?this.update():this.setup(e)}};var xl=class extends Ko{constructor(){super(...arguments);p(this,"completedSetup",!1)}setup(e){let n=this.getNode();e.classList.add("editor-diagram"),this.context.editor.registerCommand(Yt,i=>e.contains(i.target)?(this.context.editor.update(()=>{mt(this.getNode())}),!0):!1,St),e.addEventListener("dblclick",i=>{this.context.editor.getEditorState().read(()=>{Ei(this.context,this.getNode())})});let r=i=>{e.classList.toggle("selected",ys(i,n))};this.context.manager.onSelectionChange(r),this.onDestroy(()=>{this.context.manager.offSelectionChange(r)}),this.completedSetup=!0}update(){}render(e){this.completedSetup?this.update():this.setup(e)}};function SC(o){return H(o)||Qe(o)||vt(o)||go(o)||K(o)||ce(o)}function LC(o){if(o.target instanceof HTMLElement){let t=o.target.closest("details");if(t){let e=Y(t);if(ce(e))return e}}return F()}function MC(o,t){let e=LC(t),n=e.getLastChild();if(!n||!SC(n))return!1;let r=o.editor.getElementByKey(n.getKey());if(!r)return!1;let i=r.getBoundingClientRect();return t.clientY>i.bottom?(o.editor.update(()=>{let l=I();e.append(l),l.select()}),!0):!1}function sN(o){let t=o.editor.registerCommand(Yt,e=>(MC(o,e),!1),Re);return()=>{t()}}var tc=new Set;function wC(o){for(let n of tc)n.classList.remove("selected"),tc.delete(n);let e=T()?.getNodes()||[];if(e.length===1&&ce(e[0])){let n=o.editor.getElementByKey(e[0].getKey());n&&(n.classList.add("selected"),tc.add(n))}return!1}function lN(o){let t=o.editor.registerCommand(ye,()=>(wC(o),!1),Re);return()=>{t()}}var bn,Si,oc=class{constructor(t,e){Rt(this,bn);Rt(this,Si,!1);ho(this,bn,new w({label:t.label||"",icon:t.icon||"",action:()=>{t.action()},isActive:()=>we(this,Si)})),we(this,bn).setContext(e)}setActive(t=!0){ho(this,Si,t),we(this,bn).setActiveState(t)}_getOriginalModel(){return we(this,bn)}};bn=new WeakMap,Si=new WeakMap;var Li,nc=class{constructor(t){Rt(this,Li);ho(this,Li,t)}getSections(){return we(this,Li).getChildren().filter(e=>e instanceof Le).map(e=>new rc(e))}};Li=new WeakMap;var yn,rc=class{constructor(t){Rt(this,yn);ho(this,yn,t)}getLabel(){return we(this,yn).getLabel()}addButton(t,e=-1){we(this,yn).addChild(t._getOriginalModel(),e),we(this,yn).rebuildDOM()}};yn=new WeakMap;var hr,El=class{constructor(t){Rt(this,hr);ho(this,hr,t)}createButton(t){return new oc(t,we(this,hr))}getMainToolbar(){let t=we(this,hr).manager.getToolbar();return t?new nc(t):null}};hr=new WeakMap;var _n,Tl=class{constructor(t){Rt(this,_n);ho(this,_n,t)}insertHtml(t,e="selection"){let n=["start","end","selection"];if(!n.includes(e))throw new Error(`Invalid position: ${e}. Valid positions are: ${n.join(", ")}`);e==="start"?Xs(we(this,_n).editor,t):e==="end"?Vs(we(this,_n).editor,t):js(we(this,_n).editor,t)}};_n=new WeakMap;var Nr=class{constructor(t){p(this,"ui");p(this,"content");this.ui=new El(t),this.content=new Tl(t)}};function xr(o){return o instanceof HTMLElement}function aN(o){o.innerHTML='
    '}var Uo,ic,sc,Cl=class{constructor(t,e=null,n=null){Rt(this,Uo);p(this,"containers");p(this,"onEscape");p(this,"onEnter");this.containers=[t],this.onEscape=e,this.onEnter=n,t.addEventListener("keydown",Tr(this,Uo,ic).bind(this))}shareHandlingToEl(t){this.containers.push(t),t.addEventListener("keydown",Tr(this,Uo,ic).bind(this))}focusNext(){let t=Tr(this,Uo,sc).call(this),e=document.activeElement,r=(xr(e)?t.indexOf(e):-1)+1;r>=t.length&&(r=0),t[r].focus()}focusPrevious(){let t=Tr(this,Uo,sc).call(this),e=document.activeElement,r=(xr(e)?t.indexOf(e):-1)-1;r<0&&(r=t.length-1),t[r].focus()}};Uo=new WeakSet,ic=function(t){xr(t.target)&&t.target.matches("input")&&(t.key==="ArrowRight"||t.key==="ArrowLeft")||(t.key==="ArrowDown"||t.key==="ArrowRight"?(this.focusNext(),t.preventDefault()):t.key==="ArrowUp"||t.key==="ArrowLeft"?(this.focusPrevious(),t.preventDefault()):t.key==="Escape"?this.onEscape?this.onEscape(t):xr(document.activeElement)&&document.activeElement.blur():t.key==="Enter"&&this.onEnter&&this.onEnter(t))},sc=function(){let t=[],e='[tabindex]:not([tabindex="-1"]),[href],button:not([tabindex="-1"],[disabled]),input:not([type=hidden])';for(let n of this.containers){let r=[...n.querySelectorAll(e)].filter(i=>xr(i));t.push(...r)}return t};function vC(o){return t=>{let e=t.target.closest("a[data-id]");if(!e)return;let n=Number(e.dataset.id||"0"),r=e.dataset.name||"",i=e.dataset.slug||"";o(n,r,i),t.preventDefault()}}function DC(o,t,e,n){t.addEventListener("keydown",i=>{i.key==="Escape"&&n()},{signal:e.signal});let r=t.querySelector("input");r.addEventListener("keydown",i=>{i.key==="Backspace"&&r.value===""&&(n(),i.preventDefault(),i.stopPropagation())},{signal:e.signal}),o.editorDOM.addEventListener("click",i=>{n()},{signal:e.signal}),o.editorDOM.addEventListener("keydown",i=>{n()},{signal:e.signal})}function OC(o){let t=new Map,e=async i=>{for(let d of[...o.children])d.remove();let s="";if(t.has(i))s=t.get(i)||"";else{let d=_("div",{class:"flex-container-row items-center dropdown-search-item"});aN(d),o.appendChild(d),s=(await window.$http.get(`/search/users/mention?search=${i}`)).data,t.set(i,s),d.remove()}let a=[...os(s).body.children];for(let d of a){let u=window.document.adoptNode(d);o.appendChild(u)}};e("");let n=o.parentElement?.querySelector("input"),r=Yf(e,200,!1);n.addEventListener("input",()=>{let i=n.value;r(i)})}function AC(o,t){let e=_("input",{type:"text"}),n=_("div",{class:"dropdown-search-list"}),r=_("div");r.innerHTML=Ss;let i=r.children[0];i.classList.add("svg-icon");let s=_("div",{class:"dropdown-search-dropdown compact card"},[_("div",{class:"dropdown-search-search"},[i,e]),n]);o.containerDOM.appendChild(s),s.style.display="block",s.style.top="0",s.style.left="0";let l=t.getBoundingClientRect(),a=s.getBoundingClientRect();return s.style.top=`${l.bottom-a.top+3}px`,s.style.left=`${l.left-a.left}px`,e.focus(),s}var Er=class extends Ko{constructor(){super(...arguments);p(this,"abortController",null);p(this,"dropdownContainer",null);p(this,"mentionElement",null)}setup(e){this.mentionElement=e,e.addEventListener("click",n=>{this.showSelection(),n.preventDefault(),n.stopPropagation()})}showSelection(){!this.mentionElement||this.dropdownContainer||(this.hideSelection(),this.abortController=new AbortController,this.dropdownContainer=AC(this.context,this.mentionElement),OC(this.dropdownContainer.querySelector(".dropdown-search-list")),this.dropdownContainer.addEventListener("click",vC((e,n,r)=>{this.context.editor.update(()=>{let i=this.getNode();this.hideSelection(),i.setUserDetails(e,n,r),i.selectNext()})}),{signal:this.abortController.signal}),DC(this.context,this.dropdownContainer,this.abortController,()=>{this.getNode().hasUserSet()?this.hideSelection():this.revertMention()}),new Cl(this.dropdownContainer))}hideSelection(){this.abortController?.abort(),this.dropdownContainer?.remove(),this.abortController=null,this.dropdownContainer=null,this.context.manager.focus()}revertMention(){this.hideSelection(),this.context.editor.update(()=>{let e=q("@"),n=this.getNode().getPreviousSibling();this.getNode().replace(e),requestAnimationFrame(()=>{this.context.editor.update(()=>{e.isAttached()?e.selectEnd():n?.isAttached()&&n?.selectEnd()})})})}render(e){this.setup(e)}};function RC(o,t){let e=t.getNodes()[0],n=t.getStartEndPoints();if(!n)return;let r=n[0].offset,i=r===0,s=e.getTextContent().charAt(r-1)===" ";if(!i&&!s)return;let l=e.splitText(r),a=l[0],d=l[i?0:1],u=fd(0,"","");a.insertAfter(u),d.spliceText(0,1,"",!1),mt(u),requestAnimationFrame(()=>{let f=o.manager.getDecoratorByNodeKey(u.getKey());f instanceof Er&&f.showSelection()})}function kC(o,t){let e=T()?.getNodes()||[];if(e.length===1&&tp(e[0])){let n=e[0];return o.manager.getDecoratorByNodeKey(n.getKey()).showSelection(),t.preventDefault(),t.stopPropagation(),!0}return!1}function dN(o){let t=o.editor,e=t.registerCommand(vi,function(r){let i=T();return y(i)&&i.isCollapsed()&&window.setTimeout(()=>{t.update(()=>{RC(o,i)})},1),!1},St),n=t.registerCommand(ve,function(r){return kC(o,r)},St);return()=>{e(),n()}}var lc={text:{bold:"editor-theme-bold",code:"editor-theme-code",italic:"editor-theme-italic",strikethrough:"editor-theme-strikethrough",subscript:"editor-theme-subscript",superscript:"editor-theme-superscript",underline:"editor-theme-underline",underlineStrikethrough:"editor-theme-underline-strikethrough"}};function I5(o,t,e={}){let n=jr({namespace:"BookStackPageEditor",nodes:op(),onError:console.error,theme:lc}),r=Zs(o,n,{...e,editorClass:"page-content"});n.setRootElement(r.editorDOM),Je(xs(n),qa(n),as(n,ds(),300),tl(r,!0),Mp(r),sN(r),lN(r),ap(n,r.scrollDOM),pp(n),mp(n,r.editorDOM),fp(r),Np(r),il(n)),r.manager.setToolbar(nN(r));for(let s of Object.keys(yi))r.manager.registerContextToolbar(s,yi[s]);for(let s of Object.keys(_i))r.manager.registerModal(s,_i[s]);r.manager.registerDecoratorType("code",Nl),r.manager.registerDecoratorType("diagram",xl),dp(n),Fo(n,t);let i=document.getElementById("lexical-debug");return i&&(i.hidden=!0,n.registerUpdateListener(({dirtyElements:s,dirtyLeaves:l,editorState:a,prevEditorState:d})=>{i.textContent=JSON.stringify(a.toJSON(),null,2)})),window.debugEditorState=()=>n.getEditorState().toJSON(),rp(r),window.$events.emitPublic(o,"editor-wysiwyg::post-init",{usage:"page-editor",api:new Nr(r)}),new Mi(r)}function $5(o,t,e={}){let n=jr({namespace:"BookStackBasicEditor",nodes:md(),onError:console.error,theme:lc}),r=Zs(o,n,e);n.setRootElement(r.editorDOM);let i=Je(xs(n),qa(n),as(n,ds(),300),tl(r,!1),il(n));return r.manager.setToolbar(ec(r)),r.manager.registerContextToolbar("link",yi.link),r.manager.registerModal("link",_i.link),r.manager.onTeardown(i),Fo(n,t),window.$events.emitPublic(o,"editor-wysiwyg::post-init",{usage:"description-editor",api:new Nr(r)}),new Mi(r)}function P5(o,t,e={}){let n=jr({namespace:"BookStackCommentEditor",nodes:np(),onError:console.error,theme:lc}),r=Zs(o,n,e);n.setRootElement(r.editorDOM);let i=Je(xs(n),as(n,ds(),300),tl(r,!1),il(n),dN(r));return r.manager.setToolbar(ec(r)),r.manager.registerContextToolbar("link",yi.link),r.manager.registerModal("link",_i.link),r.manager.onTeardown(i),r.manager.registerDecoratorType("mention",Er),Fo(n,t),window.$events.emitPublic(o,"editor-wysiwyg::post-init",{usage:"comment-editor",api:new Nr(r)}),new Mi(r)}var Mi=class{constructor(t){p(this,"context");p(this,"onChangeListeners",[]);p(this,"editorListenerTeardown",null);this.context=t}async getContentAsHtml(){return await Gs(this.context.editor)}onChange(t){this.onChangeListeners.push(t),this.startListeningToChanges()}focus(){mr(this.context.editor)}remove(){this.context.manager.teardown(),this.context.containerDOM.remove(),this.editorListenerTeardown&&this.editorListenerTeardown()}startListeningToChanges(){this.editorListenerTeardown||(this.editorListenerTeardown=this.context.editor.registerUpdateListener(()=>{for(let t of this.onChangeListeners)t()}))}};export{Mi as SimpleWysiwygEditorInterface,$5 as createBasicEditorInstance,P5 as createCommentEditorInstance,I5 as createPageEditorInstance}; +//# sourceMappingURL=wysiwyg.js.map diff --git a/version b/version index 9eadc470b49..b9d0d6327f0 100644 --- a/version +++ b/version @@ -1 +1 @@ -v26.05-dev +v26.05