@ylzcc/editor 0.3.21 → 0.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -131,7 +131,7 @@ img.ProseMirror-separator {
131
131
  `,"Instead, pass the .innerHTML of the element, or use a function that","returns a cloned version of the element instead.",`
132
132
 
133
133
  `,`1) content: element.innerHTML
134
- `,"2) content: () => element.cloneNode(true)"].join(" "))}var eme=B_.reduce(function(tme,nme){var rme=nme&&createTippy(nme,$_);return rme&&tme.push(rme),tme},[]);return isElement(Ff)?eme[0]:eme}tippy.defaultProps=defaultProps,tippy.setDefaultProps=setDefaultProps,tippy.currentInput=currentInput,Object.assign({},applyStyles$1,{effect:function(kh){var x_=kh.state,$_={popper:{position:x_.options.strategy,left:"0",top:"0",margin:"0"},arrow:{position:"absolute"},reference:{}};Object.assign(x_.elements.popper.style,$_.popper),x_.styles=$_,x_.elements.arrow&&Object.assign(x_.elements.arrow.style,$_.arrow)}}),tippy.setDefaultProps({render:render$1});const mergeRefs$1=(...Ff)=>kh=>{Ff.forEach(x_=>{typeof x_=="function"?x_(kh):x_&&(x_.current=kh)})},Portals=({renderers:Ff})=>React.createElement(React.Fragment,null,Object.entries(Ff).map(([kh,x_])=>ReactDOM.createPortal(x_.reactElement,x_.element,kh)));class PureEditorContent extends React.Component{constructor(kh){super(kh),this.editorContentRef=React.createRef(),this.initialized=!1,this.state={renderers:{}}}componentDidMount(){this.init()}componentDidUpdate(){this.init()}init(){const{editor:kh}=this.props;if(kh&&kh.options.element){if(kh.contentComponent)return;const x_=this.editorContentRef.current;x_.append(...kh.options.element.childNodes),kh.setOptions({element:x_}),kh.contentComponent=this,kh.createNodeViews(),this.initialized=!0}}maybeFlushSync(kh){this.initialized?ReactDOM.flushSync(kh):kh()}setRenderer(kh,x_){this.maybeFlushSync(()=>{this.setState(({renderers:$_})=>({renderers:{...$_,[kh]:x_}}))})}removeRenderer(kh){this.maybeFlushSync(()=>{this.setState(({renderers:x_})=>{const $_={...x_};return delete $_[kh],{renderers:$_}})})}componentWillUnmount(){const{editor:kh}=this.props;if(!kh||(this.initialized=!1,kh.isDestroyed||kh.view.setProps({nodeViews:{}}),kh.contentComponent=null,!kh.options.element.firstChild))return;const x_=document.createElement("div");x_.append(...kh.options.element.childNodes),kh.setOptions({element:x_})}render(){const{editor:kh,innerRef:x_,...$_}=this.props;return React.createElement(React.Fragment,null,React.createElement("div",{ref:mergeRefs$1(x_,this.editorContentRef),...$_}),React.createElement(Portals,{renderers:this.state.renderers}))}}const EditorContentWithKey=React.forwardRef((Ff,kh)=>{const x_=React.useMemo(()=>Math.floor(Math.random()*4294967295).toString(),[Ff.editor]);return React.createElement(PureEditorContent,{key:x_,innerRef:kh,...Ff})}),EditorContent=React.memo(EditorContentWithKey);let Editor$2=class extends Editor$3{constructor(){super(...arguments),this.contentComponent=null}};const useEditor=(Ff={},kh=[])=>{const x_=React.useRef(null),[,$_]=React.useState({}),{onBeforeCreate:B_,onBlur:$P,onCreate:zP,onDestroy:eme,onFocus:tme,onSelectionUpdate:nme,onTransaction:rme,onUpdate:ime}=Ff,ome=React.useRef(B_),sme=React.useRef($P),ume=React.useRef(zP),cme=React.useRef(eme),ame=React.useRef(tme),lme=React.useRef(nme),dme=React.useRef(rme),fme=React.useRef(ime);return React.useEffect(()=>{x_.current&&(B_&&(x_.current.off("beforeCreate",ome.current),x_.current.on("beforeCreate",B_),ome.current=B_),$P&&(x_.current.off("blur",sme.current),x_.current.on("blur",$P),sme.current=$P),zP&&(x_.current.off("create",ume.current),x_.current.on("create",zP),ume.current=zP),eme&&(x_.current.off("destroy",cme.current),x_.current.on("destroy",eme),cme.current=eme),tme&&(x_.current.off("focus",ame.current),x_.current.on("focus",tme),ame.current=tme),nme&&(x_.current.off("selectionUpdate",lme.current),x_.current.on("selectionUpdate",nme),lme.current=nme),rme&&(x_.current.off("transaction",dme.current),x_.current.on("transaction",rme),dme.current=rme),ime&&(x_.current.off("update",fme.current),x_.current.on("update",ime),fme.current=ime))},[B_,$P,zP,eme,tme,nme,rme,ime,x_.current]),React.useEffect(()=>{let hme=!0;return x_.current=new Editor$2(Ff),x_.current.on("transaction",()=>{requestAnimationFrame(()=>{requestAnimationFrame(()=>{hme&&$_({})})})}),()=>{hme=!1}},kh),React.useEffect(()=>()=>{var hme;return(hme=x_.current)===null||hme===void 0?void 0:hme.destroy()},[]),x_.current},EditorContext=React.createContext({editor:null});EditorContext.Consumer;const ReactNodeViewContext=React.createContext({onDragStart:void 0}),useReactNodeView=()=>React.useContext(ReactNodeViewContext),NodeViewContent=Ff=>{const kh=Ff.as||"div",{nodeViewContentRef:x_}=useReactNodeView();return React.createElement(kh,{...Ff,ref:x_,"data-node-view-content":"",style:{whiteSpace:"pre-wrap",...Ff.style}})},NodeViewWrapper=React.forwardRef((Ff,kh)=>{const{onDragStart:x_}=useReactNodeView(),$_=Ff.as||"div";return React.createElement($_,{...Ff,ref:kh,"data-node-view-wrapper":"",onDragStart:x_,style:{whiteSpace:"normal",...Ff.style}})});function isClassComponent(Ff){return!!(typeof Ff=="function"&&Ff.prototype&&Ff.prototype.isReactComponent)}function isForwardRefComponent(Ff){var kh;return typeof Ff=="object"&&((kh=Ff.$$typeof)===null||kh===void 0?void 0:kh.toString())==="Symbol(react.forward_ref)"}class ReactRenderer{constructor(kh,{editor:x_,props:$_={},as:B_="div",className:$P="",attrs:zP}){this.ref=null,this.id=Math.floor(Math.random()*4294967295).toString(),this.component=kh,this.editor=x_,this.props=$_,this.element=document.createElement(B_),this.element.classList.add("react-renderer"),$P&&this.element.classList.add(...$P.split(" ")),zP&&Object.keys(zP).forEach(eme=>{this.element.setAttribute(eme,zP[eme])}),this.render()}render(){var kh,x_;const $_=this.component,B_=this.props;(isClassComponent($_)||isForwardRefComponent($_))&&(B_.ref=$P=>{this.ref=$P}),this.reactElement=React.createElement($_,{...B_}),(x_=(kh=this.editor)===null||kh===void 0?void 0:kh.contentComponent)===null||x_===void 0||x_.setRenderer(this.id,this)}updateProps(kh={}){this.props={...this.props,...kh},this.render()}destroy(){var kh,x_;(x_=(kh=this.editor)===null||kh===void 0?void 0:kh.contentComponent)===null||x_===void 0||x_.removeRenderer(this.id)}}class ReactNodeView extends NodeView{mount(){const kh={editor:this.editor,node:this.node,decorations:this.decorations,selected:!1,extension:this.extension,getPos:()=>this.getPos(),updateAttributes:($P={})=>this.updateAttributes($P),deleteNode:()=>this.deleteNode()};if(!this.component.displayName){const $P=zP=>zP.charAt(0).toUpperCase()+zP.substring(1);this.component.displayName=$P(this.extension.name)}const x_=$P=>{const zP=this.component,eme=this.onDragStart.bind(this),tme=nme=>{nme&&this.contentDOMElement&&nme.firstChild!==this.contentDOMElement&&nme.appendChild(this.contentDOMElement)};return React.createElement(React.Fragment,null,React.createElement(ReactNodeViewContext.Provider,{value:{onDragStart:eme,nodeViewContentRef:tme}},React.createElement(zP,{...$P})))};x_.displayName="ReactNodeView",this.node.isLeaf?this.contentDOMElement=null:this.options.contentDOMElementTag?this.contentDOMElement=document.createElement(this.options.contentDOMElementTag):this.contentDOMElement=document.createElement(this.node.isInline?"span":"div"),this.contentDOMElement&&(this.contentDOMElement.style.whiteSpace="inherit");let $_=this.node.isInline?"span":"div";this.options.as&&($_=this.options.as);const{className:B_=""}=this.options;this.handleSelectionUpdate=this.handleSelectionUpdate.bind(this),this.editor.on("selectionUpdate",this.handleSelectionUpdate),this.renderer=new ReactRenderer(x_,{editor:this.editor,props:kh,as:$_,className:`node-${this.node.type.name} ${B_}`.trim(),attrs:this.options.attrs})}get dom(){var kh;if(this.renderer.element.firstElementChild&&!(!((kh=this.renderer.element.firstElementChild)===null||kh===void 0)&&kh.hasAttribute("data-node-view-wrapper")))throw Error("Please use the NodeViewWrapper component for your node view.");return this.renderer.element}get contentDOM(){return this.node.isLeaf?null:this.contentDOMElement}handleSelectionUpdate(){const{from:kh,to:x_}=this.editor.state.selection;if(kh<=this.getPos()&&x_>=this.getPos()+this.node.nodeSize){if(this.renderer.props.selected)return;this.selectNode()}else{if(!this.renderer.props.selected)return;this.deselectNode()}}update(kh,x_){const $_=B_=>{this.renderer.updateProps(B_)};if(kh.type!==this.node.type)return!1;if(typeof this.options.update=="function"){const B_=this.node,$P=this.decorations;return this.node=kh,this.decorations=x_,this.options.update({oldNode:B_,oldDecorations:$P,newNode:kh,newDecorations:x_,updateProps:()=>$_({node:kh,decorations:x_})})}return kh===this.node&&this.decorations===x_||(this.node=kh,this.decorations=x_,$_({node:kh,decorations:x_})),!0}selectNode(){this.renderer.updateProps({selected:!0}),this.renderer.element.classList.add("ProseMirror-selectednode")}deselectNode(){this.renderer.updateProps({selected:!1}),this.renderer.element.classList.remove("ProseMirror-selectednode")}destroy(){this.renderer.destroy(),this.editor.off("selectionUpdate",this.handleSelectionUpdate),this.contentDOMElement=null}}function ReactNodeViewRenderer(Ff,kh){return x_=>x_.editor.contentComponent?new ReactNodeView(Ff,x_,kh):{}}const shareData=React.createContext({});var GOOD_LEAF_SIZE=200,RopeSequence=function(){};RopeSequence.prototype.append=function(kh){return kh.length?(kh=RopeSequence.from(kh),!this.length&&kh||kh.length<GOOD_LEAF_SIZE&&this.leafAppend(kh)||this.length<GOOD_LEAF_SIZE&&kh.leafPrepend(this)||this.appendInner(kh)):this},RopeSequence.prototype.prepend=function(kh){return kh.length?RopeSequence.from(kh).append(this):this},RopeSequence.prototype.appendInner=function(kh){return new Append(this,kh)},RopeSequence.prototype.slice=function(kh,x_){return kh===void 0&&(kh=0),x_===void 0&&(x_=this.length),kh>=x_?RopeSequence.empty:this.sliceInner(Math.max(0,kh),Math.min(this.length,x_))},RopeSequence.prototype.get=function(kh){if(!(kh<0||kh>=this.length))return this.getInner(kh)},RopeSequence.prototype.forEach=function(kh,x_,$_){x_===void 0&&(x_=0),$_===void 0&&($_=this.length),x_<=$_?this.forEachInner(kh,x_,$_,0):this.forEachInvertedInner(kh,x_,$_,0)},RopeSequence.prototype.map=function(kh,x_,$_){x_===void 0&&(x_=0),$_===void 0&&($_=this.length);var B_=[];return this.forEach(function($P,zP){return B_.push(kh($P,zP))},x_,$_),B_},RopeSequence.from=function(kh){return kh instanceof RopeSequence?kh:kh&&kh.length?new Leaf(kh):RopeSequence.empty};var Leaf=function(Ff){function kh($_){Ff.call(this),this.values=$_}Ff&&(kh.__proto__=Ff),kh.prototype=Object.create(Ff&&Ff.prototype),kh.prototype.constructor=kh;var x_={length:{configurable:!0},depth:{configurable:!0}};return kh.prototype.flatten=function(){return this.values},kh.prototype.sliceInner=function(B_,$P){return B_==0&&$P==this.length?this:new kh(this.values.slice(B_,$P))},kh.prototype.getInner=function(B_){return this.values[B_]},kh.prototype.forEachInner=function(B_,$P,zP,eme){for(var tme=$P;tme<zP;tme++)if(B_(this.values[tme],eme+tme)===!1)return!1},kh.prototype.forEachInvertedInner=function(B_,$P,zP,eme){for(var tme=$P-1;tme>=zP;tme--)if(B_(this.values[tme],eme+tme)===!1)return!1},kh.prototype.leafAppend=function(B_){if(this.length+B_.length<=GOOD_LEAF_SIZE)return new kh(this.values.concat(B_.flatten()))},kh.prototype.leafPrepend=function(B_){if(this.length+B_.length<=GOOD_LEAF_SIZE)return new kh(B_.flatten().concat(this.values))},x_.length.get=function(){return this.values.length},x_.depth.get=function(){return 0},Object.defineProperties(kh.prototype,x_),kh}(RopeSequence);RopeSequence.empty=new Leaf([]);var Append=function(Ff){function kh(x_,$_){Ff.call(this),this.left=x_,this.right=$_,this.length=x_.length+$_.length,this.depth=Math.max(x_.depth,$_.depth)+1}return Ff&&(kh.__proto__=Ff),kh.prototype=Object.create(Ff&&Ff.prototype),kh.prototype.constructor=kh,kh.prototype.flatten=function(){return this.left.flatten().concat(this.right.flatten())},kh.prototype.getInner=function($_){return $_<this.left.length?this.left.get($_):this.right.get($_-this.left.length)},kh.prototype.forEachInner=function($_,B_,$P,zP){var eme=this.left.length;if(B_<eme&&this.left.forEachInner($_,B_,Math.min($P,eme),zP)===!1||$P>eme&&this.right.forEachInner($_,Math.max(B_-eme,0),Math.min(this.length,$P)-eme,zP+eme)===!1)return!1},kh.prototype.forEachInvertedInner=function($_,B_,$P,zP){var eme=this.left.length;if(B_>eme&&this.right.forEachInvertedInner($_,B_-eme,Math.max($P,eme)-eme,zP+eme)===!1||$P<eme&&this.left.forEachInvertedInner($_,Math.min(B_,eme),$P,zP)===!1)return!1},kh.prototype.sliceInner=function($_,B_){if($_==0&&B_==this.length)return this;var $P=this.left.length;return B_<=$P?this.left.slice($_,B_):$_>=$P?this.right.slice($_-$P,B_-$P):this.left.slice($_,$P).append(this.right.slice(0,B_-$P))},kh.prototype.leafAppend=function($_){var B_=this.right.leafAppend($_);if(B_)return new kh(this.left,B_)},kh.prototype.leafPrepend=function($_){var B_=this.left.leafPrepend($_);if(B_)return new kh(B_,this.right)},kh.prototype.appendInner=function($_){return this.left.depth>=Math.max(this.right.depth,$_.depth)+1?new kh(this.left,new kh(this.right,$_)):new kh(this,$_)},kh}(RopeSequence);const max_empty_items=500;class Branch{constructor(kh,x_){this.items=kh,this.eventCount=x_}popEvent(kh,x_){if(this.eventCount==0)return null;let $_=this.items.length;for(;;$_--)if(this.items.get($_-1).selection){--$_;break}let B_,$P;x_&&(B_=this.remapping($_,this.items.length),$P=B_.maps.length);let zP=kh.tr,eme,tme,nme=[],rme=[];return this.items.forEach((ime,ome)=>{if(!ime.step){B_||(B_=this.remapping($_,ome+1),$P=B_.maps.length),$P--,rme.push(ime);return}if(B_){rme.push(new Item$5(ime.map));let sme=ime.step.map(B_.slice($P)),ume;sme&&zP.maybeStep(sme).doc&&(ume=zP.mapping.maps[zP.mapping.maps.length-1],nme.push(new Item$5(ume,void 0,void 0,nme.length+rme.length))),$P--,ume&&B_.appendMap(ume,$P)}else zP.maybeStep(ime.step);if(ime.selection)return eme=B_?ime.selection.map(B_.slice($P)):ime.selection,tme=new Branch(this.items.slice(0,$_).append(rme.reverse().concat(nme)),this.eventCount-1),!1},this.items.length,0),{remaining:tme,transform:zP,selection:eme}}addTransform(kh,x_,$_,B_){let $P=[],zP=this.eventCount,eme=this.items,tme=!B_&&eme.length?eme.get(eme.length-1):null;for(let rme=0;rme<kh.steps.length;rme++){let ime=kh.steps[rme].invert(kh.docs[rme]),ome=new Item$5(kh.mapping.maps[rme],ime,x_),sme;(sme=tme&&tme.merge(ome))&&(ome=sme,rme?$P.pop():eme=eme.slice(0,eme.length-1)),$P.push(ome),x_&&(zP++,x_=void 0),B_||(tme=ome)}let nme=zP-$_.depth;return nme>DEPTH_OVERFLOW&&(eme=cutOffEvents(eme,nme),zP-=nme),new Branch(eme.append($P),zP)}remapping(kh,x_){let $_=new Mapping;return this.items.forEach((B_,$P)=>{let zP=B_.mirrorOffset!=null&&$P-B_.mirrorOffset>=kh?$_.maps.length-B_.mirrorOffset:void 0;$_.appendMap(B_.map,zP)},kh,x_),$_}addMaps(kh){return this.eventCount==0?this:new Branch(this.items.append(kh.map(x_=>new Item$5(x_))),this.eventCount)}rebased(kh,x_){if(!this.eventCount)return this;let $_=[],B_=Math.max(0,this.items.length-x_),$P=kh.mapping,zP=kh.steps.length,eme=this.eventCount;this.items.forEach(ome=>{ome.selection&&eme--},B_);let tme=x_;this.items.forEach(ome=>{let sme=$P.getMirror(--tme);if(sme==null)return;zP=Math.min(zP,sme);let ume=$P.maps[sme];if(ome.step){let cme=kh.steps[sme].invert(kh.docs[sme]),ame=ome.selection&&ome.selection.map($P.slice(tme+1,sme));ame&&eme++,$_.push(new Item$5(ume,cme,ame))}else $_.push(new Item$5(ume))},B_);let nme=[];for(let ome=x_;ome<zP;ome++)nme.push(new Item$5($P.maps[ome]));let rme=this.items.slice(0,B_).append(nme).append($_),ime=new Branch(rme,eme);return ime.emptyItemCount()>max_empty_items&&(ime=ime.compress(this.items.length-$_.length)),ime}emptyItemCount(){let kh=0;return this.items.forEach(x_=>{x_.step||kh++}),kh}compress(kh=this.items.length){let x_=this.remapping(0,kh),$_=x_.maps.length,B_=[],$P=0;return this.items.forEach((zP,eme)=>{if(eme>=kh)B_.push(zP),zP.selection&&$P++;else if(zP.step){let tme=zP.step.map(x_.slice($_)),nme=tme&&tme.getMap();if($_--,nme&&x_.appendMap(nme,$_),tme){let rme=zP.selection&&zP.selection.map(x_.slice($_));rme&&$P++;let ime=new Item$5(nme.invert(),tme,rme),ome,sme=B_.length-1;(ome=B_.length&&B_[sme].merge(ime))?B_[sme]=ome:B_.push(ime)}}else zP.map&&$_--},this.items.length,0),new Branch(RopeSequence.from(B_.reverse()),$P)}}Branch.empty=new Branch(RopeSequence.empty,0);function cutOffEvents(Ff,kh){let x_;return Ff.forEach(($_,B_)=>{if($_.selection&&kh--==0)return x_=B_,!1}),Ff.slice(x_)}let Item$5=class mbe{constructor(kh,x_,$_,B_){this.map=kh,this.step=x_,this.selection=$_,this.mirrorOffset=B_}merge(kh){if(this.step&&kh.step&&!kh.selection){let x_=kh.step.merge(this.step);if(x_)return new mbe(x_.getMap().invert(),x_,this.selection)}}};class HistoryState{constructor(kh,x_,$_,B_,$P){this.done=kh,this.undone=x_,this.prevRanges=$_,this.prevTime=B_,this.prevComposition=$P}}const DEPTH_OVERFLOW=20;function applyTransaction(Ff,kh,x_,$_){let B_=x_.getMeta(historyKey),$P;if(B_)return B_.historyState;x_.getMeta(closeHistoryKey)&&(Ff=new HistoryState(Ff.done,Ff.undone,null,0,-1));let zP=x_.getMeta("appendedTransaction");if(x_.steps.length==0)return Ff;if(zP&&zP.getMeta(historyKey))return zP.getMeta(historyKey).redo?new HistoryState(Ff.done.addTransform(x_,void 0,$_,mustPreserveItems(kh)),Ff.undone,rangesFor(x_.mapping.maps[x_.steps.length-1]),Ff.prevTime,Ff.prevComposition):new HistoryState(Ff.done,Ff.undone.addTransform(x_,void 0,$_,mustPreserveItems(kh)),null,Ff.prevTime,Ff.prevComposition);if(x_.getMeta("addToHistory")!==!1&&!(zP&&zP.getMeta("addToHistory")===!1)){let eme=x_.getMeta("composition"),tme=Ff.prevTime==0||!zP&&Ff.prevComposition!=eme&&(Ff.prevTime<(x_.time||0)-$_.newGroupDelay||!isAdjacentTo(x_,Ff.prevRanges)),nme=zP?mapRanges(Ff.prevRanges,x_.mapping):rangesFor(x_.mapping.maps[x_.steps.length-1]);return new HistoryState(Ff.done.addTransform(x_,tme?kh.selection.getBookmark():void 0,$_,mustPreserveItems(kh)),Branch.empty,nme,x_.time,eme??Ff.prevComposition)}else return($P=x_.getMeta("rebased"))?new HistoryState(Ff.done.rebased(x_,$P),Ff.undone.rebased(x_,$P),mapRanges(Ff.prevRanges,x_.mapping),Ff.prevTime,Ff.prevComposition):new HistoryState(Ff.done.addMaps(x_.mapping.maps),Ff.undone.addMaps(x_.mapping.maps),mapRanges(Ff.prevRanges,x_.mapping),Ff.prevTime,Ff.prevComposition)}function isAdjacentTo(Ff,kh){if(!kh)return!1;if(!Ff.docChanged)return!0;let x_=!1;return Ff.mapping.maps[0].forEach(($_,B_)=>{for(let $P=0;$P<kh.length;$P+=2)$_<=kh[$P+1]&&B_>=kh[$P]&&(x_=!0)}),x_}function rangesFor(Ff){let kh=[];return Ff.forEach((x_,$_,B_,$P)=>kh.push(B_,$P)),kh}function mapRanges(Ff,kh){if(!Ff)return null;let x_=[];for(let $_=0;$_<Ff.length;$_+=2){let B_=kh.map(Ff[$_],1),$P=kh.map(Ff[$_+1],-1);B_<=$P&&x_.push(B_,$P)}return x_}function histTransaction(Ff,kh,x_,$_){let B_=mustPreserveItems(kh),$P=historyKey.get(kh).spec.config,zP=($_?Ff.undone:Ff.done).popEvent(kh,B_);if(!zP)return;let eme=zP.selection.resolve(zP.transform.doc),tme=($_?Ff.done:Ff.undone).addTransform(zP.transform,kh.selection.getBookmark(),$P,B_),nme=new HistoryState($_?tme:zP.remaining,$_?zP.remaining:tme,null,0,-1);x_(zP.transform.setSelection(eme).setMeta(historyKey,{redo:$_,historyState:nme}).scrollIntoView())}let cachedPreserveItems=!1,cachedPreserveItemsPlugins=null;function mustPreserveItems(Ff){let kh=Ff.plugins;if(cachedPreserveItemsPlugins!=kh){cachedPreserveItems=!1,cachedPreserveItemsPlugins=kh;for(let x_=0;x_<kh.length;x_++)if(kh[x_].spec.historyPreserveItems){cachedPreserveItems=!0;break}}return cachedPreserveItems}const historyKey=new PluginKey("history"),closeHistoryKey=new PluginKey("closeHistory");function history(Ff={}){return Ff={depth:Ff.depth||100,newGroupDelay:Ff.newGroupDelay||500},new Plugin({key:historyKey,state:{init(){return new HistoryState(Branch.empty,Branch.empty,null,0,-1)},apply(kh,x_,$_){return applyTransaction(x_,$_,kh,Ff)}},config:Ff,props:{handleDOMEvents:{beforeinput(kh,x_){let $_=x_.inputType,B_=$_=="historyUndo"?undo:$_=="historyRedo"?redo:null;return B_?(x_.preventDefault(),B_(kh.state,kh.dispatch)):!1}}}})}const undo=(Ff,kh)=>{let x_=historyKey.getState(Ff);return!x_||x_.done.eventCount==0?!1:(kh&&histTransaction(x_,Ff,kh,!1),!0)},redo=(Ff,kh)=>{let x_=historyKey.getState(Ff);return!x_||x_.undone.eventCount==0?!1:(kh&&histTransaction(x_,Ff,kh,!0),!0)},History=Extension.create({name:"history",addOptions(){return{depth:100,newGroupDelay:500}},addCommands(){return{undo:()=>({state:Ff,dispatch:kh})=>undo(Ff,kh),redo:()=>({state:Ff,dispatch:kh})=>redo(Ff,kh)}},addProseMirrorPlugins(){return[history(this.options)]},addKeyboardShortcuts(){return{"Mod-z":()=>this.editor.commands.undo(),"Shift-Mod-z":()=>this.editor.commands.redo(),"Mod-y":()=>this.editor.commands.redo(),"Mod-я":()=>this.editor.commands.undo(),"Shift-Mod-я":()=>this.editor.commands.redo()}}}),inputRegex$5=/(?:^|\s)((?:`)((?:[^`]+))(?:`))$/,pasteRegex$1=/(?:^|\s)((?:`)((?:[^`]+))(?:`))/g,Code=Mark.create({name:"code",addOptions(){return{HTMLAttributes:{}}},excludes:"_",code:!0,exitable:!0,parseHTML(){return[{tag:"code"}]},renderHTML({HTMLAttributes:Ff}){return["code",mergeAttributes(this.options.HTMLAttributes,Ff),0]},addCommands(){return{setCode:()=>({commands:Ff})=>Ff.setMark(this.name),toggleCode:()=>({commands:Ff})=>Ff.toggleMark(this.name),unsetCode:()=>({commands:Ff})=>Ff.unsetMark(this.name)}},addKeyboardShortcuts(){return{"Mod-e":()=>this.editor.commands.toggleCode()}},addInputRules(){return[markInputRule({find:inputRegex$5,type:this.type})]},addPasteRules(){return[markPasteRule({find:pasteRegex$1,type:this.type})]}}),starInputRegex$1=/(?:^|\s)((?:\*\*)((?:[^*]+))(?:\*\*))$/,starPasteRegex$1=/(?:^|\s)((?:\*\*)((?:[^*]+))(?:\*\*))/g,underscoreInputRegex$1=/(?:^|\s)((?:__)((?:[^__]+))(?:__))$/,underscorePasteRegex$1=/(?:^|\s)((?:__)((?:[^__]+))(?:__))/g,Bold=Mark.create({name:"bold",addOptions(){return{HTMLAttributes:{}}},parseHTML(){return[{tag:"strong"},{tag:"b",getAttrs:Ff=>Ff.style.fontWeight!=="normal"&&null},{style:"font-weight",getAttrs:Ff=>/^(bold(er)?|[5-9]\d{2,})$/.test(Ff)&&null}]},renderHTML({HTMLAttributes:Ff}){return["strong",mergeAttributes(this.options.HTMLAttributes,Ff),0]},addCommands(){return{setBold:()=>({commands:Ff})=>Ff.setMark(this.name),toggleBold:()=>({commands:Ff})=>Ff.toggleMark(this.name),unsetBold:()=>({commands:Ff})=>Ff.unsetMark(this.name)}},addKeyboardShortcuts(){return{"Mod-b":()=>this.editor.commands.toggleBold(),"Mod-B":()=>this.editor.commands.toggleBold()}},addInputRules(){return[markInputRule({find:starInputRegex$1,type:this.type}),markInputRule({find:underscoreInputRegex$1,type:this.type})]},addPasteRules(){return[markPasteRule({find:starPasteRegex$1,type:this.type}),markPasteRule({find:underscorePasteRegex$1,type:this.type})]}}),starInputRegex=/(?:^|\s)((?:\*)((?:[^*]+))(?:\*))$/,starPasteRegex=/(?:^|\s)((?:\*)((?:[^*]+))(?:\*))/g,underscoreInputRegex=/(?:^|\s)((?:_)((?:[^_]+))(?:_))$/,underscorePasteRegex=/(?:^|\s)((?:_)((?:[^_]+))(?:_))/g,Italic=Mark.create({name:"italic",addOptions(){return{HTMLAttributes:{}}},parseHTML(){return[{tag:"em"},{tag:"i",getAttrs:Ff=>Ff.style.fontStyle!=="normal"&&null},{style:"font-style=italic"}]},renderHTML({HTMLAttributes:Ff}){return["em",mergeAttributes(this.options.HTMLAttributes,Ff),0]},addCommands(){return{setItalic:()=>({commands:Ff})=>Ff.setMark(this.name),toggleItalic:()=>({commands:Ff})=>Ff.toggleMark(this.name),unsetItalic:()=>({commands:Ff})=>Ff.unsetMark(this.name)}},addKeyboardShortcuts(){return{"Mod-i":()=>this.editor.commands.toggleItalic(),"Mod-I":()=>this.editor.commands.toggleItalic()}},addInputRules(){return[markInputRule({find:starInputRegex,type:this.type}),markInputRule({find:underscoreInputRegex,type:this.type})]},addPasteRules(){return[markPasteRule({find:starPasteRegex,type:this.type}),markPasteRule({find:underscorePasteRegex,type:this.type})]}}),inputRegex$4=/(?:^|\s)((?:~~)((?:[^~]+))(?:~~))$/,pasteRegex=/(?:^|\s)((?:~~)((?:[^~]+))(?:~~))/g,Strike=Mark.create({name:"strike",addOptions(){return{HTMLAttributes:{}}},parseHTML(){return[{tag:"s"},{tag:"del"},{tag:"strike"},{style:"text-decoration",consuming:!1,getAttrs:Ff=>Ff.includes("line-through")?{}:!1}]},renderHTML({HTMLAttributes:Ff}){return["s",mergeAttributes(this.options.HTMLAttributes,Ff),0]},addCommands(){return{setStrike:()=>({commands:Ff})=>Ff.setMark(this.name),toggleStrike:()=>({commands:Ff})=>Ff.toggleMark(this.name),unsetStrike:()=>({commands:Ff})=>Ff.unsetMark(this.name)}},addKeyboardShortcuts(){const Ff={};return isMacOS()?Ff["Mod-Shift-s"]=()=>this.editor.commands.toggleStrike():Ff["Ctrl-Shift-s"]=()=>this.editor.commands.toggleStrike(),Ff},addInputRules(){return[markInputRule({find:inputRegex$4,type:this.type})]},addPasteRules(){return[markPasteRule({find:pasteRegex,type:this.type})]}}),Underline=Mark.create({name:"underline",addOptions(){return{HTMLAttributes:{}}},parseHTML(){return[{tag:"u"},{style:"text-decoration",consuming:!1,getAttrs:Ff=>Ff.includes("underline")?{}:!1}]},renderHTML({HTMLAttributes:Ff}){return["u",mergeAttributes(this.options.HTMLAttributes,Ff),0]},addCommands(){return{setUnderline:()=>({commands:Ff})=>Ff.setMark(this.name),toggleUnderline:()=>({commands:Ff})=>Ff.toggleMark(this.name),unsetUnderline:()=>({commands:Ff})=>Ff.unsetMark(this.name)}},addKeyboardShortcuts(){return{"Mod-u":()=>this.editor.commands.toggleUnderline(),"Mod-U":()=>this.editor.commands.toggleUnderline()}}}),TextStyle$2=Mark.create({name:"textStyle",addOptions(){return{HTMLAttributes:{}}},parseHTML(){return[{tag:"span",getAttrs:Ff=>Ff.hasAttribute("style")?{}:!1}]},renderHTML({HTMLAttributes:Ff}){return["span",mergeAttributes(this.options.HTMLAttributes,Ff),0]},addCommands(){return{removeEmptyTextStyle:()=>({state:Ff,commands:kh})=>{const x_=getMarkAttributes(Ff,this.type);return Object.entries(x_).some(([,B_])=>!!B_)?!0:kh.unsetMark(this.name)}}}}),Color=Extension.create({name:"color",addOptions(){return{types:["textStyle"]}},addGlobalAttributes(){return[{types:this.options.types,attributes:{color:{default:null,parseHTML:Ff=>{var kh;return(kh=Ff.style.color)===null||kh===void 0?void 0:kh.replace(/['"]+/g,"")},renderHTML:Ff=>Ff.color?{style:`color: ${Ff.color}`}:{}}}}]},addCommands(){return{setColor:Ff=>({chain:kh})=>kh().setMark("textStyle",{color:Ff}).run(),unsetColor:()=>({chain:Ff})=>Ff().setMark("textStyle",{color:null}).removeEmptyTextStyle().run()}}}),Subscript=Mark.create({name:"subscript",addOptions(){return{HTMLAttributes:{}}},parseHTML(){return[{tag:"sub"},{style:"vertical-align",getAttrs(Ff){return Ff!=="sub"?!1:null}}]},renderHTML({HTMLAttributes:Ff}){return["sub",mergeAttributes(this.options.HTMLAttributes,Ff),0]},addCommands(){return{setSubscript:()=>({commands:Ff})=>Ff.setMark(this.name),toggleSubscript:()=>({commands:Ff})=>Ff.toggleMark(this.name),unsetSubscript:()=>({commands:Ff})=>Ff.unsetMark(this.name)}},addKeyboardShortcuts(){return{"Mod-,":()=>this.editor.commands.toggleSubscript()}}}),Superscript=Mark.create({name:"superscript",addOptions(){return{HTMLAttributes:{}}},parseHTML(){return[{tag:"sup"},{style:"vertical-align",getAttrs(Ff){return Ff!=="super"?!1:null}}]},renderHTML({HTMLAttributes:Ff}){return["sup",mergeAttributes(this.options.HTMLAttributes,Ff),0]},addCommands(){return{setSuperscript:()=>({commands:Ff})=>Ff.setMark(this.name),toggleSuperscript:()=>({commands:Ff})=>Ff.toggleMark(this.name),unsetSuperscript:()=>({commands:Ff})=>Ff.unsetMark(this.name)}},addKeyboardShortcuts(){return{"Mod-.":()=>this.editor.commands.toggleSuperscript()}}}),TextAlign=Extension.create({name:"textAlign",addOptions(){return{types:[],alignments:["left","center","right","justify"],defaultAlignment:"left"}},addGlobalAttributes(){return[{types:this.options.types,attributes:{textAlign:{default:this.options.defaultAlignment,parseHTML:Ff=>Ff.style.textAlign||this.options.defaultAlignment,renderHTML:Ff=>Ff.textAlign===this.options.defaultAlignment?{}:{style:`text-align: ${Ff.textAlign}`}}}}]},addCommands(){return{setTextAlign:Ff=>({commands:kh})=>this.options.alignments.includes(Ff)?this.options.types.every(x_=>kh.updateAttributes(x_,{textAlign:Ff})):!1,unsetTextAlign:()=>({commands:Ff})=>this.options.types.every(kh=>Ff.resetAttributes(kh,"textAlign"))}},addKeyboardShortcuts(){return{"Mod-Shift-l":()=>this.editor.commands.setTextAlign("left"),"Mod-Shift-e":()=>this.editor.commands.setTextAlign("center"),"Mod-Shift-r":()=>this.editor.commands.setTextAlign("right"),"Mod-Shift-j":()=>this.editor.commands.setTextAlign("justify")}}}),inputRegex$3=/^\s*>\s$/,Blockquote=Node$1.create({name:"blockquote",addOptions(){return{HTMLAttributes:{}}},content:"block+",group:"block",defining:!0,parseHTML(){return[{tag:"blockquote"}]},renderHTML({HTMLAttributes:Ff}){return["blockquote",mergeAttributes(this.options.HTMLAttributes,Ff),0]},addCommands(){return{setBlockquote:()=>({commands:Ff})=>Ff.wrapIn(this.name),toggleBlockquote:()=>({commands:Ff})=>Ff.toggleWrap(this.name),unsetBlockquote:()=>({commands:Ff})=>Ff.lift(this.name)}},addKeyboardShortcuts(){return{"Mod-Shift-b":()=>this.editor.commands.toggleBlockquote()}},addInputRules(){return[wrappingInputRule({find:inputRegex$3,type:this.type})]}}),TableCell=Node$1.create({name:"tableCell",addOptions(){return{HTMLAttributes:{}}},content:"block+",addAttributes(){return{colspan:{default:1},rowspan:{default:1},colwidth:{default:null,parseHTML:Ff=>{const kh=Ff.getAttribute("colwidth");return kh?[parseInt(kh,10)]:null}}}},tableRole:"cell",isolating:!0,parseHTML(){return[{tag:"td"}]},renderHTML({HTMLAttributes:Ff}){return["td",mergeAttributes(this.options.HTMLAttributes,Ff),0]}}),TableHeader=Node$1.create({name:"tableHeader",addOptions(){return{HTMLAttributes:{}}},content:"block+",addAttributes(){return{colspan:{default:1},rowspan:{default:1},colwidth:{default:null,parseHTML:Ff=>{const kh=Ff.getAttribute("colwidth");return kh?[parseInt(kh,10)]:null}}}},tableRole:"header_cell",isolating:!0,parseHTML(){return[{tag:"th"}]},renderHTML({HTMLAttributes:Ff}){return["th",mergeAttributes(this.options.HTMLAttributes,Ff),0]}}),TableRow=Node$1.create({name:"tableRow",addOptions(){return{HTMLAttributes:{}}},content:"(tableCell | tableHeader)*",tableRole:"row",parseHTML(){return[{tag:"tr"}]},renderHTML({HTMLAttributes:Ff}){return["tr",mergeAttributes(this.options.HTMLAttributes,Ff),0]}}),ListItem$2=Node$1.create({name:"listItem",addOptions(){return{HTMLAttributes:{},bulletListTypeName:"bulletList",orderedListTypeName:"orderedList"}},content:"paragraph block*",defining:!0,parseHTML(){return[{tag:"li"}]},renderHTML({HTMLAttributes:Ff}){return["li",mergeAttributes(this.options.HTMLAttributes,Ff),0]},addKeyboardShortcuts(){return{Enter:()=>this.editor.commands.splitListItem(this.name),Tab:()=>this.editor.commands.sinkListItem(this.name),"Shift-Tab":()=>this.editor.commands.liftListItem(this.name)}}}),ListItem$1=Node$1.create({name:"listItem",addOptions(){return{HTMLAttributes:{},bulletListTypeName:"bulletList",orderedListTypeName:"orderedList"}},content:"paragraph block*",defining:!0,parseHTML(){return[{tag:"li"}]},renderHTML({HTMLAttributes:Ff}){return["li",mergeAttributes(this.options.HTMLAttributes,Ff),0]},addKeyboardShortcuts(){return{Enter:()=>this.editor.commands.splitListItem(this.name),Tab:()=>this.editor.commands.sinkListItem(this.name),"Shift-Tab":()=>this.editor.commands.liftListItem(this.name)}}}),TextStyle$1=Mark.create({name:"textStyle",addOptions(){return{HTMLAttributes:{}}},parseHTML(){return[{tag:"span",getAttrs:Ff=>Ff.hasAttribute("style")?{}:!1}]},renderHTML({HTMLAttributes:Ff}){return["span",mergeAttributes(this.options.HTMLAttributes,Ff),0]},addCommands(){return{removeEmptyTextStyle:()=>({state:Ff,commands:kh})=>{const x_=getMarkAttributes(Ff,this.type);return Object.entries(x_).some(([,B_])=>!!B_)?!0:kh.unsetMark(this.name)}}}}),inputRegex$2=/^\s*([-+*])\s$/,BulletList=Node$1.create({name:"bulletList",addOptions(){return{itemTypeName:"listItem",HTMLAttributes:{},keepMarks:!1,keepAttributes:!1}},group:"block list",content(){return`${this.options.itemTypeName}+`},parseHTML(){return[{tag:"ul"}]},renderHTML({HTMLAttributes:Ff}){return["ul",mergeAttributes(this.options.HTMLAttributes,Ff),0]},addCommands(){return{toggleBulletList:()=>({commands:Ff,chain:kh})=>this.options.keepAttributes?kh().toggleList(this.name,this.options.itemTypeName,this.options.keepMarks).updateAttributes(ListItem$1.name,this.editor.getAttributes(TextStyle$1.name)).run():Ff.toggleList(this.name,this.options.itemTypeName,this.options.keepMarks)}},addKeyboardShortcuts(){return{"Mod-Shift-8":()=>this.editor.commands.toggleBulletList()}},addInputRules(){let Ff=wrappingInputRule({find:inputRegex$2,type:this.type});return(this.options.keepMarks||this.options.keepAttributes)&&(Ff=wrappingInputRule({find:inputRegex$2,type:this.type,keepMarks:this.options.keepMarks,keepAttributes:this.options.keepAttributes,getAttributes:()=>this.editor.getAttributes(TextStyle$1.name),editor:this.editor})),[Ff]}}),ListItem=Node$1.create({name:"listItem",addOptions(){return{HTMLAttributes:{},bulletListTypeName:"bulletList",orderedListTypeName:"orderedList"}},content:"paragraph block*",defining:!0,parseHTML(){return[{tag:"li"}]},renderHTML({HTMLAttributes:Ff}){return["li",mergeAttributes(this.options.HTMLAttributes,Ff),0]},addKeyboardShortcuts(){return{Enter:()=>this.editor.commands.splitListItem(this.name),Tab:()=>this.editor.commands.sinkListItem(this.name),"Shift-Tab":()=>this.editor.commands.liftListItem(this.name)}}}),TextStyle=Mark.create({name:"textStyle",addOptions(){return{HTMLAttributes:{}}},parseHTML(){return[{tag:"span",getAttrs:Ff=>Ff.hasAttribute("style")?{}:!1}]},renderHTML({HTMLAttributes:Ff}){return["span",mergeAttributes(this.options.HTMLAttributes,Ff),0]},addCommands(){return{removeEmptyTextStyle:()=>({state:Ff,commands:kh})=>{const x_=getMarkAttributes(Ff,this.type);return Object.entries(x_).some(([,B_])=>!!B_)?!0:kh.unsetMark(this.name)}}}}),inputRegex$1=/^(\d+)\.\s$/,OrderedList=Node$1.create({name:"orderedList",addOptions(){return{itemTypeName:"listItem",HTMLAttributes:{},keepMarks:!1,keepAttributes:!1}},group:"block list",content(){return`${this.options.itemTypeName}+`},addAttributes(){return{start:{default:1,parseHTML:Ff=>Ff.hasAttribute("start")?parseInt(Ff.getAttribute("start")||"",10):1}}},parseHTML(){return[{tag:"ol"}]},renderHTML({HTMLAttributes:Ff}){const{start:kh,...x_}=Ff;return kh===1?["ol",mergeAttributes(this.options.HTMLAttributes,x_),0]:["ol",mergeAttributes(this.options.HTMLAttributes,Ff),0]},addCommands(){return{toggleOrderedList:()=>({commands:Ff,chain:kh})=>this.options.keepAttributes?kh().toggleList(this.name,this.options.itemTypeName,this.options.keepMarks).updateAttributes(ListItem.name,this.editor.getAttributes(TextStyle.name)).run():Ff.toggleList(this.name,this.options.itemTypeName,this.options.keepMarks)}},addKeyboardShortcuts(){return{"Mod-Shift-7":()=>this.editor.commands.toggleOrderedList()}},addInputRules(){let Ff=wrappingInputRule({find:inputRegex$1,type:this.type,getAttributes:kh=>({start:+kh[1]}),joinPredicate:(kh,x_)=>x_.childCount+x_.attrs.start===+kh[1]});return(this.options.keepMarks||this.options.keepAttributes)&&(Ff=wrappingInputRule({find:inputRegex$1,type:this.type,keepMarks:this.options.keepMarks,keepAttributes:this.options.keepAttributes,getAttributes:kh=>({start:+kh[1],...this.editor.getAttributes(TextStyle.name)}),joinPredicate:(kh,x_)=>x_.childCount+x_.attrs.start===+kh[1],editor:this.editor})),[Ff]}}),HorizontalRule=Node$1.create({name:"horizontalRule",addOptions(){return{HTMLAttributes:{}}},group:"block",parseHTML(){return[{tag:"hr"}]},renderHTML({HTMLAttributes:Ff}){return["hr",mergeAttributes(this.options.HTMLAttributes,Ff)]},addCommands(){return{setHorizontalRule:()=>({chain:Ff,state:kh})=>{const{$to:x_}=kh.selection,$_=Ff();return x_.parentOffset===0?$_.insertContentAt(Math.max(x_.pos-2,0),{type:this.name}):$_.insertContent({type:this.name}),$_.command(({tr:B_,dispatch:$P})=>{var zP;if($P){const{$to:eme}=B_.selection,tme=eme.end();if(eme.nodeAfter)eme.nodeAfter.isTextblock?B_.setSelection(TextSelection.create(B_.doc,eme.pos+1)):eme.nodeAfter.isBlock?B_.setSelection(NodeSelection.create(B_.doc,eme.pos)):B_.setSelection(TextSelection.create(B_.doc,eme.pos));else{const nme=(zP=eme.parent.type.contentMatch.defaultType)===null||zP===void 0?void 0:zP.create();nme&&(B_.insert(tme,nme),B_.setSelection(TextSelection.create(B_.doc,tme+1)))}B_.scrollIntoView()}return!0}).run()}}},addInputRules(){return[nodeInputRule({find:/^(?:---|—-|___\s|\*\*\*\s)$/,type:this.type})]}}),HardBreak=Node$1.create({name:"hardBreak",addOptions(){return{keepMarks:!0,HTMLAttributes:{}}},inline:!0,group:"inline",selectable:!1,parseHTML(){return[{tag:"br"}]},renderHTML({HTMLAttributes:Ff}){return["br",mergeAttributes(this.options.HTMLAttributes,Ff)]},renderText(){return`
134
+ `,"2) content: () => element.cloneNode(true)"].join(" "))}var eme=B_.reduce(function(tme,nme){var rme=nme&&createTippy(nme,$_);return rme&&tme.push(rme),tme},[]);return isElement(Ff)?eme[0]:eme}tippy.defaultProps=defaultProps,tippy.setDefaultProps=setDefaultProps,tippy.currentInput=currentInput,Object.assign({},applyStyles$1,{effect:function(kh){var x_=kh.state,$_={popper:{position:x_.options.strategy,left:"0",top:"0",margin:"0"},arrow:{position:"absolute"},reference:{}};Object.assign(x_.elements.popper.style,$_.popper),x_.styles=$_,x_.elements.arrow&&Object.assign(x_.elements.arrow.style,$_.arrow)}}),tippy.setDefaultProps({render:render$1});const mergeRefs$1=(...Ff)=>kh=>{Ff.forEach(x_=>{typeof x_=="function"?x_(kh):x_&&(x_.current=kh)})},Portals=({renderers:Ff})=>React.createElement(React.Fragment,null,Object.entries(Ff).map(([kh,x_])=>ReactDOM.createPortal(x_.reactElement,x_.element,kh)));class PureEditorContent extends React.Component{constructor(kh){super(kh),this.editorContentRef=React.createRef(),this.initialized=!1,this.state={renderers:{}}}componentDidMount(){this.init()}componentDidUpdate(){this.init()}init(){const{editor:kh}=this.props;if(kh&&kh.options.element){if(kh.contentComponent)return;const x_=this.editorContentRef.current;x_.append(...kh.options.element.childNodes),kh.setOptions({element:x_}),kh.contentComponent=this,kh.createNodeViews(),this.initialized=!0}}maybeFlushSync(kh){this.initialized?ReactDOM.flushSync(kh):kh()}setRenderer(kh,x_){this.maybeFlushSync(()=>{this.setState(({renderers:$_})=>({renderers:{...$_,[kh]:x_}}))})}removeRenderer(kh){this.maybeFlushSync(()=>{this.setState(({renderers:x_})=>{const $_={...x_};return delete $_[kh],{renderers:$_}})})}componentWillUnmount(){const{editor:kh}=this.props;if(!kh||(this.initialized=!1,kh.isDestroyed||kh.view.setProps({nodeViews:{}}),kh.contentComponent=null,!kh.options.element.firstChild))return;const x_=document.createElement("div");x_.append(...kh.options.element.childNodes),kh.setOptions({element:x_})}render(){const{editor:kh,innerRef:x_,...$_}=this.props;return React.createElement(React.Fragment,null,React.createElement("div",{ref:mergeRefs$1(x_,this.editorContentRef),...$_}),React.createElement(Portals,{renderers:this.state.renderers}))}}const EditorContentWithKey=React.forwardRef((Ff,kh)=>{const x_=React.useMemo(()=>Math.floor(Math.random()*4294967295).toString(),[Ff.editor]);return React.createElement(PureEditorContent,{key:x_,innerRef:kh,...Ff})}),EditorContent=React.memo(EditorContentWithKey);let Editor$2=class extends Editor$3{constructor(){super(...arguments),this.contentComponent=null}};const useEditor=(Ff={},kh=[])=>{const x_=React.useRef(null),[,$_]=React.useState({}),{onBeforeCreate:B_,onBlur:$P,onCreate:zP,onDestroy:eme,onFocus:tme,onSelectionUpdate:nme,onTransaction:rme,onUpdate:ime}=Ff,ome=React.useRef(B_),sme=React.useRef($P),ume=React.useRef(zP),cme=React.useRef(eme),ame=React.useRef(tme),lme=React.useRef(nme),dme=React.useRef(rme),fme=React.useRef(ime);return React.useEffect(()=>{x_.current&&(B_&&(x_.current.off("beforeCreate",ome.current),x_.current.on("beforeCreate",B_),ome.current=B_),$P&&(x_.current.off("blur",sme.current),x_.current.on("blur",$P),sme.current=$P),zP&&(x_.current.off("create",ume.current),x_.current.on("create",zP),ume.current=zP),eme&&(x_.current.off("destroy",cme.current),x_.current.on("destroy",eme),cme.current=eme),tme&&(x_.current.off("focus",ame.current),x_.current.on("focus",tme),ame.current=tme),nme&&(x_.current.off("selectionUpdate",lme.current),x_.current.on("selectionUpdate",nme),lme.current=nme),rme&&(x_.current.off("transaction",dme.current),x_.current.on("transaction",rme),dme.current=rme),ime&&(x_.current.off("update",fme.current),x_.current.on("update",ime),fme.current=ime))},[B_,$P,zP,eme,tme,nme,rme,ime,x_.current]),React.useEffect(()=>{let hme=!0;return x_.current=new Editor$2(Ff),x_.current.on("transaction",()=>{requestAnimationFrame(()=>{requestAnimationFrame(()=>{hme&&$_({})})})}),()=>{hme=!1}},kh),React.useEffect(()=>()=>{var hme;return(hme=x_.current)===null||hme===void 0?void 0:hme.destroy()},[]),x_.current},EditorContext=React.createContext({editor:null});EditorContext.Consumer;const ReactNodeViewContext=React.createContext({onDragStart:void 0}),useReactNodeView=()=>React.useContext(ReactNodeViewContext),NodeViewContent=Ff=>{const kh=Ff.as||"div",{nodeViewContentRef:x_}=useReactNodeView();return React.createElement(kh,{...Ff,ref:x_,"data-node-view-content":"",style:{whiteSpace:"pre-wrap",...Ff.style}})},NodeViewWrapper=React.forwardRef((Ff,kh)=>{const{onDragStart:x_}=useReactNodeView(),$_=Ff.as||"div";return React.createElement($_,{...Ff,ref:kh,"data-node-view-wrapper":"",onDragStart:x_,style:{whiteSpace:"normal",...Ff.style}})});function isClassComponent(Ff){return!!(typeof Ff=="function"&&Ff.prototype&&Ff.prototype.isReactComponent)}function isForwardRefComponent(Ff){var kh;return typeof Ff=="object"&&((kh=Ff.$$typeof)===null||kh===void 0?void 0:kh.toString())==="Symbol(react.forward_ref)"}class ReactRenderer{constructor(kh,{editor:x_,props:$_={},as:B_="div",className:$P="",attrs:zP}){this.ref=null,this.id=Math.floor(Math.random()*4294967295).toString(),this.component=kh,this.editor=x_,this.props=$_,this.element=document.createElement(B_),this.element.classList.add("react-renderer"),$P&&this.element.classList.add(...$P.split(" ")),zP&&Object.keys(zP).forEach(eme=>{this.element.setAttribute(eme,zP[eme])}),this.render()}render(){var kh,x_;const $_=this.component,B_=this.props;(isClassComponent($_)||isForwardRefComponent($_))&&(B_.ref=$P=>{this.ref=$P}),this.reactElement=React.createElement($_,{...B_}),(x_=(kh=this.editor)===null||kh===void 0?void 0:kh.contentComponent)===null||x_===void 0||x_.setRenderer(this.id,this)}updateProps(kh={}){this.props={...this.props,...kh},this.render()}destroy(){var kh,x_;(x_=(kh=this.editor)===null||kh===void 0?void 0:kh.contentComponent)===null||x_===void 0||x_.removeRenderer(this.id)}}class ReactNodeView extends NodeView{mount(){const kh={editor:this.editor,node:this.node,decorations:this.decorations,selected:!1,extension:this.extension,getPos:()=>this.getPos(),updateAttributes:($P={})=>this.updateAttributes($P),deleteNode:()=>this.deleteNode()};if(!this.component.displayName){const $P=zP=>zP.charAt(0).toUpperCase()+zP.substring(1);this.component.displayName=$P(this.extension.name)}const x_=$P=>{const zP=this.component,eme=this.onDragStart.bind(this),tme=nme=>{nme&&this.contentDOMElement&&nme.firstChild!==this.contentDOMElement&&nme.appendChild(this.contentDOMElement)};return React.createElement(React.Fragment,null,React.createElement(ReactNodeViewContext.Provider,{value:{onDragStart:eme,nodeViewContentRef:tme}},React.createElement(zP,{...$P})))};x_.displayName="ReactNodeView",this.node.isLeaf?this.contentDOMElement=null:this.options.contentDOMElementTag?this.contentDOMElement=document.createElement(this.options.contentDOMElementTag):this.contentDOMElement=document.createElement(this.node.isInline?"span":"div"),this.contentDOMElement&&(this.contentDOMElement.style.whiteSpace="inherit");let $_=this.node.isInline?"span":"div";this.options.as&&($_=this.options.as);const{className:B_=""}=this.options;this.handleSelectionUpdate=this.handleSelectionUpdate.bind(this),this.editor.on("selectionUpdate",this.handleSelectionUpdate),this.renderer=new ReactRenderer(x_,{editor:this.editor,props:kh,as:$_,className:`node-${this.node.type.name} ${B_}`.trim(),attrs:this.options.attrs})}get dom(){var kh;if(this.renderer.element.firstElementChild&&!(!((kh=this.renderer.element.firstElementChild)===null||kh===void 0)&&kh.hasAttribute("data-node-view-wrapper")))throw Error("Please use the NodeViewWrapper component for your node view.");return this.renderer.element}get contentDOM(){return this.node.isLeaf?null:this.contentDOMElement}handleSelectionUpdate(){const{from:kh,to:x_}=this.editor.state.selection;if(kh<=this.getPos()&&x_>=this.getPos()+this.node.nodeSize){if(this.renderer.props.selected)return;this.selectNode()}else{if(!this.renderer.props.selected)return;this.deselectNode()}}update(kh,x_){const $_=B_=>{this.renderer.updateProps(B_)};if(kh.type!==this.node.type)return!1;if(typeof this.options.update=="function"){const B_=this.node,$P=this.decorations;return this.node=kh,this.decorations=x_,this.options.update({oldNode:B_,oldDecorations:$P,newNode:kh,newDecorations:x_,updateProps:()=>$_({node:kh,decorations:x_})})}return kh===this.node&&this.decorations===x_||(this.node=kh,this.decorations=x_,$_({node:kh,decorations:x_})),!0}selectNode(){this.renderer.updateProps({selected:!0}),this.renderer.element.classList.add("ProseMirror-selectednode")}deselectNode(){this.renderer.updateProps({selected:!1}),this.renderer.element.classList.remove("ProseMirror-selectednode")}destroy(){this.renderer.destroy(),this.editor.off("selectionUpdate",this.handleSelectionUpdate),this.contentDOMElement=null}}function ReactNodeViewRenderer(Ff,kh){return x_=>x_.editor.contentComponent?new ReactNodeView(Ff,x_,kh):{}}const shareData=React.createContext({});var GOOD_LEAF_SIZE=200,RopeSequence=function(){};RopeSequence.prototype.append=function(kh){return kh.length?(kh=RopeSequence.from(kh),!this.length&&kh||kh.length<GOOD_LEAF_SIZE&&this.leafAppend(kh)||this.length<GOOD_LEAF_SIZE&&kh.leafPrepend(this)||this.appendInner(kh)):this},RopeSequence.prototype.prepend=function(kh){return kh.length?RopeSequence.from(kh).append(this):this},RopeSequence.prototype.appendInner=function(kh){return new Append(this,kh)},RopeSequence.prototype.slice=function(kh,x_){return kh===void 0&&(kh=0),x_===void 0&&(x_=this.length),kh>=x_?RopeSequence.empty:this.sliceInner(Math.max(0,kh),Math.min(this.length,x_))},RopeSequence.prototype.get=function(kh){if(!(kh<0||kh>=this.length))return this.getInner(kh)},RopeSequence.prototype.forEach=function(kh,x_,$_){x_===void 0&&(x_=0),$_===void 0&&($_=this.length),x_<=$_?this.forEachInner(kh,x_,$_,0):this.forEachInvertedInner(kh,x_,$_,0)},RopeSequence.prototype.map=function(kh,x_,$_){x_===void 0&&(x_=0),$_===void 0&&($_=this.length);var B_=[];return this.forEach(function($P,zP){return B_.push(kh($P,zP))},x_,$_),B_},RopeSequence.from=function(kh){return kh instanceof RopeSequence?kh:kh&&kh.length?new Leaf(kh):RopeSequence.empty};var Leaf=function(Ff){function kh($_){Ff.call(this),this.values=$_}Ff&&(kh.__proto__=Ff),kh.prototype=Object.create(Ff&&Ff.prototype),kh.prototype.constructor=kh;var x_={length:{configurable:!0},depth:{configurable:!0}};return kh.prototype.flatten=function(){return this.values},kh.prototype.sliceInner=function(B_,$P){return B_==0&&$P==this.length?this:new kh(this.values.slice(B_,$P))},kh.prototype.getInner=function(B_){return this.values[B_]},kh.prototype.forEachInner=function(B_,$P,zP,eme){for(var tme=$P;tme<zP;tme++)if(B_(this.values[tme],eme+tme)===!1)return!1},kh.prototype.forEachInvertedInner=function(B_,$P,zP,eme){for(var tme=$P-1;tme>=zP;tme--)if(B_(this.values[tme],eme+tme)===!1)return!1},kh.prototype.leafAppend=function(B_){if(this.length+B_.length<=GOOD_LEAF_SIZE)return new kh(this.values.concat(B_.flatten()))},kh.prototype.leafPrepend=function(B_){if(this.length+B_.length<=GOOD_LEAF_SIZE)return new kh(B_.flatten().concat(this.values))},x_.length.get=function(){return this.values.length},x_.depth.get=function(){return 0},Object.defineProperties(kh.prototype,x_),kh}(RopeSequence);RopeSequence.empty=new Leaf([]);var Append=function(Ff){function kh(x_,$_){Ff.call(this),this.left=x_,this.right=$_,this.length=x_.length+$_.length,this.depth=Math.max(x_.depth,$_.depth)+1}return Ff&&(kh.__proto__=Ff),kh.prototype=Object.create(Ff&&Ff.prototype),kh.prototype.constructor=kh,kh.prototype.flatten=function(){return this.left.flatten().concat(this.right.flatten())},kh.prototype.getInner=function($_){return $_<this.left.length?this.left.get($_):this.right.get($_-this.left.length)},kh.prototype.forEachInner=function($_,B_,$P,zP){var eme=this.left.length;if(B_<eme&&this.left.forEachInner($_,B_,Math.min($P,eme),zP)===!1||$P>eme&&this.right.forEachInner($_,Math.max(B_-eme,0),Math.min(this.length,$P)-eme,zP+eme)===!1)return!1},kh.prototype.forEachInvertedInner=function($_,B_,$P,zP){var eme=this.left.length;if(B_>eme&&this.right.forEachInvertedInner($_,B_-eme,Math.max($P,eme)-eme,zP+eme)===!1||$P<eme&&this.left.forEachInvertedInner($_,Math.min(B_,eme),$P,zP)===!1)return!1},kh.prototype.sliceInner=function($_,B_){if($_==0&&B_==this.length)return this;var $P=this.left.length;return B_<=$P?this.left.slice($_,B_):$_>=$P?this.right.slice($_-$P,B_-$P):this.left.slice($_,$P).append(this.right.slice(0,B_-$P))},kh.prototype.leafAppend=function($_){var B_=this.right.leafAppend($_);if(B_)return new kh(this.left,B_)},kh.prototype.leafPrepend=function($_){var B_=this.left.leafPrepend($_);if(B_)return new kh(B_,this.right)},kh.prototype.appendInner=function($_){return this.left.depth>=Math.max(this.right.depth,$_.depth)+1?new kh(this.left,new kh(this.right,$_)):new kh(this,$_)},kh}(RopeSequence);const max_empty_items=500;class Branch{constructor(kh,x_){this.items=kh,this.eventCount=x_}popEvent(kh,x_){if(this.eventCount==0)return null;let $_=this.items.length;for(;;$_--)if(this.items.get($_-1).selection){--$_;break}let B_,$P;x_&&(B_=this.remapping($_,this.items.length),$P=B_.maps.length);let zP=kh.tr,eme,tme,nme=[],rme=[];return this.items.forEach((ime,ome)=>{if(!ime.step){B_||(B_=this.remapping($_,ome+1),$P=B_.maps.length),$P--,rme.push(ime);return}if(B_){rme.push(new Item$5(ime.map));let sme=ime.step.map(B_.slice($P)),ume;sme&&zP.maybeStep(sme).doc&&(ume=zP.mapping.maps[zP.mapping.maps.length-1],nme.push(new Item$5(ume,void 0,void 0,nme.length+rme.length))),$P--,ume&&B_.appendMap(ume,$P)}else zP.maybeStep(ime.step);if(ime.selection)return eme=B_?ime.selection.map(B_.slice($P)):ime.selection,tme=new Branch(this.items.slice(0,$_).append(rme.reverse().concat(nme)),this.eventCount-1),!1},this.items.length,0),{remaining:tme,transform:zP,selection:eme}}addTransform(kh,x_,$_,B_){let $P=[],zP=this.eventCount,eme=this.items,tme=!B_&&eme.length?eme.get(eme.length-1):null;for(let rme=0;rme<kh.steps.length;rme++){let ime=kh.steps[rme].invert(kh.docs[rme]),ome=new Item$5(kh.mapping.maps[rme],ime,x_),sme;(sme=tme&&tme.merge(ome))&&(ome=sme,rme?$P.pop():eme=eme.slice(0,eme.length-1)),$P.push(ome),x_&&(zP++,x_=void 0),B_||(tme=ome)}let nme=zP-$_.depth;return nme>DEPTH_OVERFLOW&&(eme=cutOffEvents(eme,nme),zP-=nme),new Branch(eme.append($P),zP)}remapping(kh,x_){let $_=new Mapping;return this.items.forEach((B_,$P)=>{let zP=B_.mirrorOffset!=null&&$P-B_.mirrorOffset>=kh?$_.maps.length-B_.mirrorOffset:void 0;$_.appendMap(B_.map,zP)},kh,x_),$_}addMaps(kh){return this.eventCount==0?this:new Branch(this.items.append(kh.map(x_=>new Item$5(x_))),this.eventCount)}rebased(kh,x_){if(!this.eventCount)return this;let $_=[],B_=Math.max(0,this.items.length-x_),$P=kh.mapping,zP=kh.steps.length,eme=this.eventCount;this.items.forEach(ome=>{ome.selection&&eme--},B_);let tme=x_;this.items.forEach(ome=>{let sme=$P.getMirror(--tme);if(sme==null)return;zP=Math.min(zP,sme);let ume=$P.maps[sme];if(ome.step){let cme=kh.steps[sme].invert(kh.docs[sme]),ame=ome.selection&&ome.selection.map($P.slice(tme+1,sme));ame&&eme++,$_.push(new Item$5(ume,cme,ame))}else $_.push(new Item$5(ume))},B_);let nme=[];for(let ome=x_;ome<zP;ome++)nme.push(new Item$5($P.maps[ome]));let rme=this.items.slice(0,B_).append(nme).append($_),ime=new Branch(rme,eme);return ime.emptyItemCount()>max_empty_items&&(ime=ime.compress(this.items.length-$_.length)),ime}emptyItemCount(){let kh=0;return this.items.forEach(x_=>{x_.step||kh++}),kh}compress(kh=this.items.length){let x_=this.remapping(0,kh),$_=x_.maps.length,B_=[],$P=0;return this.items.forEach((zP,eme)=>{if(eme>=kh)B_.push(zP),zP.selection&&$P++;else if(zP.step){let tme=zP.step.map(x_.slice($_)),nme=tme&&tme.getMap();if($_--,nme&&x_.appendMap(nme,$_),tme){let rme=zP.selection&&zP.selection.map(x_.slice($_));rme&&$P++;let ime=new Item$5(nme.invert(),tme,rme),ome,sme=B_.length-1;(ome=B_.length&&B_[sme].merge(ime))?B_[sme]=ome:B_.push(ime)}}else zP.map&&$_--},this.items.length,0),new Branch(RopeSequence.from(B_.reverse()),$P)}}Branch.empty=new Branch(RopeSequence.empty,0);function cutOffEvents(Ff,kh){let x_;return Ff.forEach(($_,B_)=>{if($_.selection&&kh--==0)return x_=B_,!1}),Ff.slice(x_)}let Item$5=class mbe{constructor(kh,x_,$_,B_){this.map=kh,this.step=x_,this.selection=$_,this.mirrorOffset=B_}merge(kh){if(this.step&&kh.step&&!kh.selection){let x_=kh.step.merge(this.step);if(x_)return new mbe(x_.getMap().invert(),x_,this.selection)}}};class HistoryState{constructor(kh,x_,$_,B_,$P){this.done=kh,this.undone=x_,this.prevRanges=$_,this.prevTime=B_,this.prevComposition=$P}}const DEPTH_OVERFLOW=20;function applyTransaction(Ff,kh,x_,$_){let B_=x_.getMeta(historyKey),$P;if(B_)return B_.historyState;x_.getMeta(closeHistoryKey)&&(Ff=new HistoryState(Ff.done,Ff.undone,null,0,-1));let zP=x_.getMeta("appendedTransaction");if(x_.steps.length==0)return Ff;if(zP&&zP.getMeta(historyKey))return zP.getMeta(historyKey).redo?new HistoryState(Ff.done.addTransform(x_,void 0,$_,mustPreserveItems(kh)),Ff.undone,rangesFor(x_.mapping.maps[x_.steps.length-1]),Ff.prevTime,Ff.prevComposition):new HistoryState(Ff.done,Ff.undone.addTransform(x_,void 0,$_,mustPreserveItems(kh)),null,Ff.prevTime,Ff.prevComposition);if(x_.getMeta("addToHistory")!==!1&&!(zP&&zP.getMeta("addToHistory")===!1)){let eme=x_.getMeta("composition"),tme=Ff.prevTime==0||!zP&&Ff.prevComposition!=eme&&(Ff.prevTime<(x_.time||0)-$_.newGroupDelay||!isAdjacentTo(x_,Ff.prevRanges)),nme=zP?mapRanges(Ff.prevRanges,x_.mapping):rangesFor(x_.mapping.maps[x_.steps.length-1]);return new HistoryState(Ff.done.addTransform(x_,tme?kh.selection.getBookmark():void 0,$_,mustPreserveItems(kh)),Branch.empty,nme,x_.time,eme??Ff.prevComposition)}else return($P=x_.getMeta("rebased"))?new HistoryState(Ff.done.rebased(x_,$P),Ff.undone.rebased(x_,$P),mapRanges(Ff.prevRanges,x_.mapping),Ff.prevTime,Ff.prevComposition):new HistoryState(Ff.done.addMaps(x_.mapping.maps),Ff.undone.addMaps(x_.mapping.maps),mapRanges(Ff.prevRanges,x_.mapping),Ff.prevTime,Ff.prevComposition)}function isAdjacentTo(Ff,kh){if(!kh)return!1;if(!Ff.docChanged)return!0;let x_=!1;return Ff.mapping.maps[0].forEach(($_,B_)=>{for(let $P=0;$P<kh.length;$P+=2)$_<=kh[$P+1]&&B_>=kh[$P]&&(x_=!0)}),x_}function rangesFor(Ff){let kh=[];return Ff.forEach((x_,$_,B_,$P)=>kh.push(B_,$P)),kh}function mapRanges(Ff,kh){if(!Ff)return null;let x_=[];for(let $_=0;$_<Ff.length;$_+=2){let B_=kh.map(Ff[$_],1),$P=kh.map(Ff[$_+1],-1);B_<=$P&&x_.push(B_,$P)}return x_}function histTransaction(Ff,kh,x_,$_){let B_=mustPreserveItems(kh),$P=historyKey.get(kh).spec.config,zP=($_?Ff.undone:Ff.done).popEvent(kh,B_);if(!zP)return;let eme=zP.selection.resolve(zP.transform.doc),tme=($_?Ff.done:Ff.undone).addTransform(zP.transform,kh.selection.getBookmark(),$P,B_),nme=new HistoryState($_?tme:zP.remaining,$_?zP.remaining:tme,null,0,-1);x_(zP.transform.setSelection(eme).setMeta(historyKey,{redo:$_,historyState:nme}).scrollIntoView())}let cachedPreserveItems=!1,cachedPreserveItemsPlugins=null;function mustPreserveItems(Ff){let kh=Ff.plugins;if(cachedPreserveItemsPlugins!=kh){cachedPreserveItems=!1,cachedPreserveItemsPlugins=kh;for(let x_=0;x_<kh.length;x_++)if(kh[x_].spec.historyPreserveItems){cachedPreserveItems=!0;break}}return cachedPreserveItems}const historyKey=new PluginKey("history"),closeHistoryKey=new PluginKey("closeHistory");function history(Ff={}){return Ff={depth:Ff.depth||100,newGroupDelay:Ff.newGroupDelay||500},new Plugin({key:historyKey,state:{init(){return new HistoryState(Branch.empty,Branch.empty,null,0,-1)},apply(kh,x_,$_){return applyTransaction(x_,$_,kh,Ff)}},config:Ff,props:{handleDOMEvents:{beforeinput(kh,x_){let $_=x_.inputType,B_=$_=="historyUndo"?undo:$_=="historyRedo"?redo:null;return B_?(x_.preventDefault(),B_(kh.state,kh.dispatch)):!1}}}})}const undo=(Ff,kh)=>{let x_=historyKey.getState(Ff);return!x_||x_.done.eventCount==0?!1:(kh&&histTransaction(x_,Ff,kh,!1),!0)},redo=(Ff,kh)=>{let x_=historyKey.getState(Ff);return!x_||x_.undone.eventCount==0?!1:(kh&&histTransaction(x_,Ff,kh,!0),!0)},History=Extension.create({name:"history",addOptions(){return{depth:100,newGroupDelay:500}},addCommands(){return{undo:()=>({state:Ff,dispatch:kh})=>undo(Ff,kh),redo:()=>({state:Ff,dispatch:kh})=>redo(Ff,kh)}},addProseMirrorPlugins(){return[history(this.options)]},addKeyboardShortcuts(){return{"Mod-z":()=>this.editor.commands.undo(),"Shift-Mod-z":()=>this.editor.commands.redo(),"Mod-y":()=>this.editor.commands.redo(),"Mod-я":()=>this.editor.commands.undo(),"Shift-Mod-я":()=>this.editor.commands.redo()}}}),inputRegex$5=/(?:^|\s)((?:`)((?:[^`]+))(?:`))$/,pasteRegex$1=/(?:^|\s)((?:`)((?:[^`]+))(?:`))/g,Code=Mark.create({name:"code",addOptions(){return{HTMLAttributes:{}}},excludes:"_",code:!0,exitable:!0,parseHTML(){return[{tag:"code"}]},renderHTML({HTMLAttributes:Ff}){return["code",mergeAttributes(this.options.HTMLAttributes,Ff),0]},addCommands(){return{setCode:()=>({commands:Ff})=>Ff.setMark(this.name),toggleCode:()=>({commands:Ff})=>Ff.toggleMark(this.name),unsetCode:()=>({commands:Ff})=>Ff.unsetMark(this.name)}},addKeyboardShortcuts(){return{"Mod-e":()=>this.editor.commands.toggleCode()}},addInputRules(){return[markInputRule({find:inputRegex$5,type:this.type})]},addPasteRules(){return[markPasteRule({find:pasteRegex$1,type:this.type})]}}),starInputRegex$1=/(?:^|\s)((?:\*\*)((?:[^*]+))(?:\*\*))$/,starPasteRegex$1=/(?:^|\s)((?:\*\*)((?:[^*]+))(?:\*\*))/g,underscoreInputRegex$1=/(?:^|\s)((?:__)((?:[^__]+))(?:__))$/,underscorePasteRegex$1=/(?:^|\s)((?:__)((?:[^__]+))(?:__))/g,Bold=Mark.create({name:"bold",addOptions(){return{HTMLAttributes:{}}},parseHTML(){return[{tag:"strong"},{tag:"b",getAttrs:Ff=>Ff.style.fontWeight!=="normal"&&null},{style:"font-weight",getAttrs:Ff=>/^(bold(er)?|[5-9]\d{2,})$/.test(Ff)&&null}]},renderHTML({HTMLAttributes:Ff}){return["strong",mergeAttributes(this.options.HTMLAttributes,Ff),0]},addCommands(){return{setBold:()=>({commands:Ff})=>Ff.setMark(this.name),toggleBold:()=>({commands:Ff})=>Ff.toggleMark(this.name),unsetBold:()=>({commands:Ff})=>Ff.unsetMark(this.name)}},addKeyboardShortcuts(){return{"Mod-b":()=>this.editor.commands.toggleBold(),"Mod-B":()=>this.editor.commands.toggleBold()}},addInputRules(){return[markInputRule({find:starInputRegex$1,type:this.type}),markInputRule({find:underscoreInputRegex$1,type:this.type})]},addPasteRules(){return[markPasteRule({find:starPasteRegex$1,type:this.type}),markPasteRule({find:underscorePasteRegex$1,type:this.type})]}}),starInputRegex=/(?:^|\s)((?:\*)((?:[^*]+))(?:\*))$/,starPasteRegex=/(?:^|\s)((?:\*)((?:[^*]+))(?:\*))/g,underscoreInputRegex=/(?:^|\s)((?:_)((?:[^_]+))(?:_))$/,underscorePasteRegex=/(?:^|\s)((?:_)((?:[^_]+))(?:_))/g,Italic=Mark.create({name:"italic",addOptions(){return{HTMLAttributes:{}}},parseHTML(){return[{tag:"em"},{tag:"i",getAttrs:Ff=>Ff.style.fontStyle!=="normal"&&null},{style:"font-style=italic"}]},renderHTML({HTMLAttributes:Ff}){return["em",mergeAttributes(this.options.HTMLAttributes,Ff),0]},addCommands(){return{setItalic:()=>({commands:Ff})=>Ff.setMark(this.name),toggleItalic:()=>({commands:Ff})=>Ff.toggleMark(this.name),unsetItalic:()=>({commands:Ff})=>Ff.unsetMark(this.name)}},addKeyboardShortcuts(){return{"Mod-i":()=>this.editor.commands.toggleItalic(),"Mod-I":()=>this.editor.commands.toggleItalic()}},addInputRules(){return[markInputRule({find:starInputRegex,type:this.type}),markInputRule({find:underscoreInputRegex,type:this.type})]},addPasteRules(){return[markPasteRule({find:starPasteRegex,type:this.type}),markPasteRule({find:underscorePasteRegex,type:this.type})]}}),inputRegex$4=/(?:^|\s)((?:~~)((?:[^~]+))(?:~~))$/,pasteRegex=/(?:^|\s)((?:~~)((?:[^~]+))(?:~~))/g,Strike=Mark.create({name:"strike",addOptions(){return{HTMLAttributes:{}}},parseHTML(){return[{tag:"s"},{tag:"del"},{tag:"strike"},{style:"text-decoration",consuming:!1,getAttrs:Ff=>Ff.includes("line-through")?{}:!1}]},renderHTML({HTMLAttributes:Ff}){return["s",mergeAttributes(this.options.HTMLAttributes,Ff),0]},addCommands(){return{setStrike:()=>({commands:Ff})=>Ff.setMark(this.name),toggleStrike:()=>({commands:Ff})=>Ff.toggleMark(this.name),unsetStrike:()=>({commands:Ff})=>Ff.unsetMark(this.name)}},addKeyboardShortcuts(){const Ff={};return isMacOS()?Ff["Mod-Shift-s"]=()=>this.editor.commands.toggleStrike():Ff["Ctrl-Shift-s"]=()=>this.editor.commands.toggleStrike(),Ff},addInputRules(){return[markInputRule({find:inputRegex$4,type:this.type})]},addPasteRules(){return[markPasteRule({find:pasteRegex,type:this.type})]}}),Underline=Mark.create({name:"underline",addOptions(){return{HTMLAttributes:{}}},parseHTML(){return[{tag:"u"},{style:"text-decoration",consuming:!1,getAttrs:Ff=>Ff.includes("underline")?{}:!1}]},renderHTML({HTMLAttributes:Ff}){return["u",mergeAttributes(this.options.HTMLAttributes,Ff),0]},addCommands(){return{setUnderline:()=>({commands:Ff})=>Ff.setMark(this.name),toggleUnderline:()=>({commands:Ff})=>Ff.toggleMark(this.name),unsetUnderline:()=>({commands:Ff})=>Ff.unsetMark(this.name)}},addKeyboardShortcuts(){return{"Mod-u":()=>this.editor.commands.toggleUnderline(),"Mod-U":()=>this.editor.commands.toggleUnderline()}}}),TextStyle$2=Mark.create({name:"textStyle",addOptions(){return{HTMLAttributes:{}}},parseHTML(){return[{tag:"span",getAttrs:Ff=>Ff.hasAttribute("style")?{}:!1}]},renderHTML({HTMLAttributes:Ff}){return["span",mergeAttributes(this.options.HTMLAttributes,Ff),0]},addCommands(){return{removeEmptyTextStyle:()=>({state:Ff,commands:kh})=>{const x_=getMarkAttributes(Ff,this.type);return Object.entries(x_).some(([,B_])=>!!B_)?!0:kh.unsetMark(this.name)}}}}),Color=Extension.create({name:"color",addOptions(){return{types:["textStyle"]}},addGlobalAttributes(){return[{types:this.options.types,attributes:{color:{default:null,parseHTML:Ff=>{var kh;return(kh=Ff.style.color)===null||kh===void 0?void 0:kh.replace(/['"]+/g,"")},renderHTML:Ff=>Ff.color?{style:`color: ${Ff.color}`}:{}}}}]},addCommands(){return{setColor:Ff=>({chain:kh})=>kh().setMark("textStyle",{color:Ff}).run(),unsetColor:()=>({chain:Ff})=>Ff().setMark("textStyle",{color:null}).removeEmptyTextStyle().run()}}}),Subscript=Mark.create({name:"subscript",addOptions(){return{HTMLAttributes:{}}},parseHTML(){return[{tag:"sub"},{style:"vertical-align",getAttrs(Ff){return Ff!=="sub"?!1:null}}]},renderHTML({HTMLAttributes:Ff}){return["sub",mergeAttributes(this.options.HTMLAttributes,Ff),0]},addCommands(){return{setSubscript:()=>({commands:Ff})=>Ff.setMark(this.name),toggleSubscript:()=>({commands:Ff})=>Ff.toggleMark(this.name),unsetSubscript:()=>({commands:Ff})=>Ff.unsetMark(this.name)}},addKeyboardShortcuts(){return{"Mod-,":()=>this.editor.commands.toggleSubscript()}}}),Superscript=Mark.create({name:"superscript",addOptions(){return{HTMLAttributes:{}}},parseHTML(){return[{tag:"sup"},{style:"vertical-align",getAttrs(Ff){return Ff!=="super"?!1:null}}]},renderHTML({HTMLAttributes:Ff}){return["sup",mergeAttributes(this.options.HTMLAttributes,Ff),0]},addCommands(){return{setSuperscript:()=>({commands:Ff})=>Ff.setMark(this.name),toggleSuperscript:()=>({commands:Ff})=>Ff.toggleMark(this.name),unsetSuperscript:()=>({commands:Ff})=>Ff.unsetMark(this.name)}},addKeyboardShortcuts(){return{"Mod-.":()=>this.editor.commands.toggleSuperscript()}}}),TextAlign=Extension.create({name:"textAlign",addOptions(){return{types:[],alignments:["left","center","right","justify"],defaultAlignment:"left"}},addGlobalAttributes(){return[{types:this.options.types,attributes:{textAlign:{default:this.options.defaultAlignment,parseHTML:Ff=>Ff.style.textAlign||this.options.defaultAlignment,renderHTML:Ff=>Ff.textAlign===this.options.defaultAlignment?{}:{style:`text-align: ${Ff.textAlign}`}}}}]},addCommands(){return{setTextAlign:Ff=>({commands:kh})=>this.options.alignments.includes(Ff)?this.options.types.every(x_=>kh.updateAttributes(x_,{textAlign:Ff})):!1,unsetTextAlign:()=>({commands:Ff})=>this.options.types.every(kh=>Ff.resetAttributes(kh,"textAlign"))}},addKeyboardShortcuts(){return{"Mod-Shift-l":()=>this.editor.commands.setTextAlign("left"),"Mod-Shift-e":()=>this.editor.commands.setTextAlign("center"),"Mod-Shift-r":()=>this.editor.commands.setTextAlign("right"),"Mod-Shift-j":()=>this.editor.commands.setTextAlign("justify")}}}),inputRegex$3=/^\s*>\s$/,Blockquote=Node$1.create({name:"blockquote",addOptions(){return{HTMLAttributes:{}}},content:"block+",group:"block",defining:!0,parseHTML(){return[{tag:"blockquote"}]},renderHTML({HTMLAttributes:Ff}){return["blockquote",mergeAttributes(this.options.HTMLAttributes,Ff),0]},addCommands(){return{setBlockquote:()=>({commands:Ff})=>Ff.wrapIn(this.name),toggleBlockquote:()=>({commands:Ff})=>Ff.toggleWrap(this.name),unsetBlockquote:()=>({commands:Ff})=>Ff.lift(this.name)}},addKeyboardShortcuts(){return{"Mod-Shift-b":()=>this.editor.commands.toggleBlockquote()}},addInputRules(){return[wrappingInputRule({find:inputRegex$3,type:this.type})]}}),TableCell=Node$1.create({name:"tableCell",addOptions(){return{HTMLAttributes:{}}},content:"block+",addAttributes(){return{colspan:{default:1},rowspan:{default:1},colwidth:{default:null,parseHTML:Ff=>{const kh=Ff.getAttribute("colwidth");return kh?[parseInt(kh,10)]:null}}}},tableRole:"cell",isolating:!0,parseHTML(){return[{tag:"td"}]},renderHTML({HTMLAttributes:Ff}){return["td",mergeAttributes(this.options.HTMLAttributes,Ff),0]}}),TableHeader=Node$1.create({name:"tableHeader",addOptions(){return{HTMLAttributes:{}}},content:"block+",addAttributes(){return{colspan:{default:1},rowspan:{default:1},colwidth:{default:null,parseHTML:Ff=>{const kh=Ff.getAttribute("colwidth");return kh?[parseInt(kh,10)]:null}}}},tableRole:"header_cell",isolating:!0,parseHTML(){return[{tag:"th"}]},renderHTML({HTMLAttributes:Ff}){return["th",mergeAttributes(this.options.HTMLAttributes,Ff),0]}}),TableRow=Node$1.create({name:"tableRow",addOptions(){return{HTMLAttributes:{}}},content:"(tableCell | tableHeader)*",tableRole:"row",parseHTML(){return[{tag:"tr"}]},renderHTML({HTMLAttributes:Ff}){return["tr",mergeAttributes(this.options.HTMLAttributes,Ff),0]}}),ListItem$2=Node$1.create({name:"listItem",addOptions(){return{HTMLAttributes:{},bulletListTypeName:"bulletList",orderedListTypeName:"orderedList"}},content:"paragraph block*",defining:!0,parseHTML(){return[{tag:"li"}]},renderHTML({HTMLAttributes:Ff}){return["li",mergeAttributes(this.options.HTMLAttributes,Ff),0]},addKeyboardShortcuts(){return{Enter:()=>this.editor.commands.splitListItem(this.name),Tab:()=>this.editor.can().sinkListItem(this.name)?this.editor.commands.sinkListItem(this.name):!0,"Shift-Tab":()=>this.editor.commands.liftListItem(this.name)}}}),ListItem$1=Node$1.create({name:"listItem",addOptions(){return{HTMLAttributes:{},bulletListTypeName:"bulletList",orderedListTypeName:"orderedList"}},content:"paragraph block*",defining:!0,parseHTML(){return[{tag:"li"}]},renderHTML({HTMLAttributes:Ff}){return["li",mergeAttributes(this.options.HTMLAttributes,Ff),0]},addKeyboardShortcuts(){return{Enter:()=>this.editor.commands.splitListItem(this.name),Tab:()=>this.editor.commands.sinkListItem(this.name),"Shift-Tab":()=>this.editor.commands.liftListItem(this.name)}}}),TextStyle$1=Mark.create({name:"textStyle",addOptions(){return{HTMLAttributes:{}}},parseHTML(){return[{tag:"span",getAttrs:Ff=>Ff.hasAttribute("style")?{}:!1}]},renderHTML({HTMLAttributes:Ff}){return["span",mergeAttributes(this.options.HTMLAttributes,Ff),0]},addCommands(){return{removeEmptyTextStyle:()=>({state:Ff,commands:kh})=>{const x_=getMarkAttributes(Ff,this.type);return Object.entries(x_).some(([,B_])=>!!B_)?!0:kh.unsetMark(this.name)}}}}),inputRegex$2=/^\s*([-+*])\s$/,BulletList=Node$1.create({name:"bulletList",addOptions(){return{itemTypeName:"listItem",HTMLAttributes:{},keepMarks:!1,keepAttributes:!1}},group:"block list",content(){return`${this.options.itemTypeName}+`},parseHTML(){return[{tag:"ul"}]},renderHTML({HTMLAttributes:Ff}){return["ul",mergeAttributes(this.options.HTMLAttributes,Ff),0]},addCommands(){return{toggleBulletList:()=>({commands:Ff,chain:kh})=>this.options.keepAttributes?kh().toggleList(this.name,this.options.itemTypeName,this.options.keepMarks).updateAttributes(ListItem$1.name,this.editor.getAttributes(TextStyle$1.name)).run():Ff.toggleList(this.name,this.options.itemTypeName,this.options.keepMarks)}},addKeyboardShortcuts(){return{"Mod-Shift-8":()=>this.editor.commands.toggleBulletList()}},addInputRules(){let Ff=wrappingInputRule({find:inputRegex$2,type:this.type});return(this.options.keepMarks||this.options.keepAttributes)&&(Ff=wrappingInputRule({find:inputRegex$2,type:this.type,keepMarks:this.options.keepMarks,keepAttributes:this.options.keepAttributes,getAttributes:()=>this.editor.getAttributes(TextStyle$1.name),editor:this.editor})),[Ff]}}),ListItem=Node$1.create({name:"listItem",addOptions(){return{HTMLAttributes:{},bulletListTypeName:"bulletList",orderedListTypeName:"orderedList"}},content:"paragraph block*",defining:!0,parseHTML(){return[{tag:"li"}]},renderHTML({HTMLAttributes:Ff}){return["li",mergeAttributes(this.options.HTMLAttributes,Ff),0]},addKeyboardShortcuts(){return{Enter:()=>this.editor.commands.splitListItem(this.name),Tab:()=>this.editor.commands.sinkListItem(this.name),"Shift-Tab":()=>this.editor.commands.liftListItem(this.name)}}}),TextStyle=Mark.create({name:"textStyle",addOptions(){return{HTMLAttributes:{}}},parseHTML(){return[{tag:"span",getAttrs:Ff=>Ff.hasAttribute("style")?{}:!1}]},renderHTML({HTMLAttributes:Ff}){return["span",mergeAttributes(this.options.HTMLAttributes,Ff),0]},addCommands(){return{removeEmptyTextStyle:()=>({state:Ff,commands:kh})=>{const x_=getMarkAttributes(Ff,this.type);return Object.entries(x_).some(([,B_])=>!!B_)?!0:kh.unsetMark(this.name)}}}}),inputRegex$1=/^(\d+)\.\s$/,OrderedList=Node$1.create({name:"orderedList",addOptions(){return{itemTypeName:"listItem",HTMLAttributes:{},keepMarks:!1,keepAttributes:!1}},group:"block list",content(){return`${this.options.itemTypeName}+`},addAttributes(){return{start:{default:1,parseHTML:Ff=>Ff.hasAttribute("start")?parseInt(Ff.getAttribute("start")||"",10):1}}},parseHTML(){return[{tag:"ol"}]},renderHTML({HTMLAttributes:Ff}){const{start:kh,...x_}=Ff;return kh===1?["ol",mergeAttributes(this.options.HTMLAttributes,x_),0]:["ol",mergeAttributes(this.options.HTMLAttributes,Ff),0]},addCommands(){return{toggleOrderedList:()=>({commands:Ff,chain:kh})=>this.options.keepAttributes?kh().toggleList(this.name,this.options.itemTypeName,this.options.keepMarks).updateAttributes(ListItem.name,this.editor.getAttributes(TextStyle.name)).run():Ff.toggleList(this.name,this.options.itemTypeName,this.options.keepMarks)}},addKeyboardShortcuts(){return{"Mod-Shift-7":()=>this.editor.commands.toggleOrderedList()}},addInputRules(){let Ff=wrappingInputRule({find:inputRegex$1,type:this.type,getAttributes:kh=>({start:+kh[1]}),joinPredicate:(kh,x_)=>x_.childCount+x_.attrs.start===+kh[1]});return(this.options.keepMarks||this.options.keepAttributes)&&(Ff=wrappingInputRule({find:inputRegex$1,type:this.type,keepMarks:this.options.keepMarks,keepAttributes:this.options.keepAttributes,getAttributes:kh=>({start:+kh[1],...this.editor.getAttributes(TextStyle.name)}),joinPredicate:(kh,x_)=>x_.childCount+x_.attrs.start===+kh[1],editor:this.editor})),[Ff]}}),HorizontalRule=Node$1.create({name:"horizontalRule",addOptions(){return{HTMLAttributes:{}}},group:"block",parseHTML(){return[{tag:"hr"}]},renderHTML({HTMLAttributes:Ff}){return["hr",mergeAttributes(this.options.HTMLAttributes,Ff)]},addCommands(){return{setHorizontalRule:()=>({chain:Ff,state:kh})=>{const{$to:x_}=kh.selection,$_=Ff();return x_.parentOffset===0?$_.insertContentAt(Math.max(x_.pos-2,0),{type:this.name}):$_.insertContent({type:this.name}),$_.command(({tr:B_,dispatch:$P})=>{var zP;if($P){const{$to:eme}=B_.selection,tme=eme.end();if(eme.nodeAfter)eme.nodeAfter.isTextblock?B_.setSelection(TextSelection.create(B_.doc,eme.pos+1)):eme.nodeAfter.isBlock?B_.setSelection(NodeSelection.create(B_.doc,eme.pos)):B_.setSelection(TextSelection.create(B_.doc,eme.pos));else{const nme=(zP=eme.parent.type.contentMatch.defaultType)===null||zP===void 0?void 0:zP.create();nme&&(B_.insert(tme,nme),B_.setSelection(TextSelection.create(B_.doc,tme+1)))}B_.scrollIntoView()}return!0}).run()}}},addInputRules(){return[nodeInputRule({find:/^(?:---|—-|___\s|\*\*\*\s)$/,type:this.type})]}}),HardBreak=Node$1.create({name:"hardBreak",addOptions(){return{keepMarks:!0,HTMLAttributes:{}}},inline:!0,group:"inline",selectable:!1,parseHTML(){return[{tag:"br"}]},renderHTML({HTMLAttributes:Ff}){return["br",mergeAttributes(this.options.HTMLAttributes,Ff)]},renderText(){return`
135
135
  `},addCommands(){return{setHardBreak:()=>({commands:Ff,chain:kh,state:x_,editor:$_})=>Ff.first([()=>Ff.exitCode(),()=>Ff.command(()=>{const{selection:B_,storedMarks:$P}=x_;if(B_.$from.parent.type.spec.isolating)return!1;const{keepMarks:zP}=this.options,{splittableMarks:eme}=$_.extensionManager,tme=$P||B_.$to.parentOffset&&B_.$from.marks();return kh().insertContent({type:this.name}).command(({tr:nme,dispatch:rme})=>{if(rme&&tme&&zP){const ime=tme.filter(ome=>eme.includes(ome.type.name));nme.ensureMarks(ime)}return!0}).run()})])}},addKeyboardShortcuts(){return{"Mod-Enter":()=>this.editor.commands.setHardBreak(),"Shift-Enter":()=>this.editor.commands.setHardBreak()}}});function cPlusPlus(Ff){const kh=Ff.regex,x_=Ff.COMMENT("//","$",{contains:[{begin:/\\\n/}]}),$_="decltype\\(auto\\)",B_="[a-zA-Z_]\\w*::",zP="(?!struct)("+$_+"|"+kh.optional(B_)+"[a-zA-Z_]\\w*"+kh.optional("<[^<>]+>")+")",eme={className:"type",begin:"\\b[a-z\\d_]*_t\\b"},nme={className:"string",variants:[{begin:'(u8?|U|L)?"',end:'"',illegal:"\\n",contains:[Ff.BACKSLASH_ESCAPE]},{begin:"(u8?|U|L)?'("+"\\\\(x[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4,8}|[0-7]{3}|\\S)"+"|.)",end:"'",illegal:"."},Ff.END_SAME_AS_BEGIN({begin:/(?:u8?|U|L)?R"([^()\\ ]{0,16})\(/,end:/\)([^()\\ ]{0,16})"/})]},rme={className:"number",variants:[{begin:"\\b(0b[01']+)"},{begin:"(-?)\\b([\\d']+(\\.[\\d']*)?|\\.[\\d']+)((ll|LL|l|L)(u|U)?|(u|U)(ll|LL|l|L)?|f|F|b|B)"},{begin:"(-?)(\\b0[xX][a-fA-F0-9']+|(\\b[\\d']+(\\.[\\d']*)?|\\.[\\d']+)([eE][-+]?[\\d']+)?)"}],relevance:0},ime={className:"meta",begin:/#\s*[a-z]+\b/,end:/$/,keywords:{keyword:"if else elif endif define undef warning error line pragma _Pragma ifdef ifndef include"},contains:[{begin:/\\\n/,relevance:0},Ff.inherit(nme,{className:"string"}),{className:"string",begin:/<.*?>/},x_,Ff.C_BLOCK_COMMENT_MODE]},ome={className:"title",begin:kh.optional(B_)+Ff.IDENT_RE,relevance:0},sme=kh.optional(B_)+Ff.IDENT_RE+"\\s*\\(",ume=["alignas","alignof","and","and_eq","asm","atomic_cancel","atomic_commit","atomic_noexcept","auto","bitand","bitor","break","case","catch","class","co_await","co_return","co_yield","compl","concept","const_cast|10","consteval","constexpr","constinit","continue","decltype","default","delete","do","dynamic_cast|10","else","enum","explicit","export","extern","false","final","for","friend","goto","if","import","inline","module","mutable","namespace","new","noexcept","not","not_eq","nullptr","operator","or","or_eq","override","private","protected","public","reflexpr","register","reinterpret_cast|10","requires","return","sizeof","static_assert","static_cast|10","struct","switch","synchronized","template","this","thread_local","throw","transaction_safe","transaction_safe_dynamic","true","try","typedef","typeid","typename","union","using","virtual","volatile","while","xor","xor_eq"],cme=["bool","char","char16_t","char32_t","char8_t","double","float","int","long","short","void","wchar_t","unsigned","signed","const","static"],ame=["any","auto_ptr","barrier","binary_semaphore","bitset","complex","condition_variable","condition_variable_any","counting_semaphore","deque","false_type","future","imaginary","initializer_list","istringstream","jthread","latch","lock_guard","multimap","multiset","mutex","optional","ostringstream","packaged_task","pair","promise","priority_queue","queue","recursive_mutex","recursive_timed_mutex","scoped_lock","set","shared_future","shared_lock","shared_mutex","shared_timed_mutex","shared_ptr","stack","string_view","stringstream","timed_mutex","thread","true_type","tuple","unique_lock","unique_ptr","unordered_map","unordered_multimap","unordered_multiset","unordered_set","variant","vector","weak_ptr","wstring","wstring_view"],lme=["abort","abs","acos","apply","as_const","asin","atan","atan2","calloc","ceil","cerr","cin","clog","cos","cosh","cout","declval","endl","exchange","exit","exp","fabs","floor","fmod","forward","fprintf","fputs","free","frexp","fscanf","future","invoke","isalnum","isalpha","iscntrl","isdigit","isgraph","islower","isprint","ispunct","isspace","isupper","isxdigit","labs","launder","ldexp","log","log10","make_pair","make_shared","make_shared_for_overwrite","make_tuple","make_unique","malloc","memchr","memcmp","memcpy","memset","modf","move","pow","printf","putchar","puts","realloc","scanf","sin","sinh","snprintf","sprintf","sqrt","sscanf","std","stderr","stdin","stdout","strcat","strchr","strcmp","strcpy","strcspn","strlen","strncat","strncmp","strncpy","strpbrk","strrchr","strspn","strstr","swap","tan","tanh","terminate","to_underlying","tolower","toupper","vfprintf","visit","vprintf","vsprintf"],hme={type:cme,keyword:ume,literal:["NULL","false","nullopt","nullptr","true"],built_in:["_Pragma"],_type_hints:ame},pme={className:"function.dispatch",relevance:0,keywords:{_hint:lme},begin:kh.concat(/\b/,/(?!decltype)/,/(?!if)/,/(?!for)/,/(?!switch)/,/(?!while)/,Ff.IDENT_RE,kh.lookahead(/(<[^<>]+>|)\s*\(/))},gme=[pme,ime,eme,x_,Ff.C_BLOCK_COMMENT_MODE,rme,nme],vme={variants:[{begin:/=/,end:/;/},{begin:/\(/,end:/\)/},{beginKeywords:"new throw return else",end:/;/}],keywords:hme,contains:gme.concat([{begin:/\(/,end:/\)/,keywords:hme,contains:gme.concat(["self"]),relevance:0}]),relevance:0},mme={className:"function",begin:"("+zP+"[\\*&\\s]+)+"+sme,returnBegin:!0,end:/[{;=]/,excludeEnd:!0,keywords:hme,illegal:/[^\w\s\*&:<>.]/,contains:[{begin:$_,keywords:hme,relevance:0},{begin:sme,returnBegin:!0,contains:[ome],relevance:0},{begin:/::/,relevance:0},{begin:/:/,endsWithParent:!0,contains:[nme,rme]},{relevance:0,match:/,/},{className:"params",begin:/\(/,end:/\)/,keywords:hme,relevance:0,contains:[x_,Ff.C_BLOCK_COMMENT_MODE,nme,rme,eme,{begin:/\(/,end:/\)/,keywords:hme,relevance:0,contains:["self",x_,Ff.C_BLOCK_COMMENT_MODE,nme,rme,eme]}]},eme,x_,Ff.C_BLOCK_COMMENT_MODE,ime]};return{name:"C++",aliases:["cc","c++","h++","hpp","hh","hxx","cxx"],keywords:hme,illegal:"</",classNameAliases:{"function.dispatch":"built_in"},contains:[].concat(vme,mme,pme,gme,[ime,{begin:"\\b(deque|list|queue|priority_queue|pair|stack|vector|map|set|bitset|multiset|multimap|unordered_map|unordered_set|unordered_multiset|unordered_multimap|array|tuple|optional|variant|function)\\s*<(?!<)",end:">",keywords:hme,contains:["self",eme]},{begin:Ff.IDENT_RE+"::",keywords:hme},{match:[/\b(?:enum(?:\s+(?:class|struct))?|class|struct|union)/,/\s+/,/\w+/],className:{1:"keyword",3:"title.class"}}])}}function arduino(Ff){const kh={type:["boolean","byte","word","String"],built_in:["KeyboardController","MouseController","SoftwareSerial","EthernetServer","EthernetClient","LiquidCrystal","RobotControl","GSMVoiceCall","EthernetUDP","EsploraTFT","HttpClient","RobotMotor","WiFiClient","GSMScanner","FileSystem","Scheduler","GSMServer","YunClient","YunServer","IPAddress","GSMClient","GSMModem","Keyboard","Ethernet","Console","GSMBand","Esplora","Stepper","Process","WiFiUDP","GSM_SMS","Mailbox","USBHost","Firmata","PImage","Client","Server","GSMPIN","FileIO","Bridge","Serial","EEPROM","Stream","Mouse","Audio","Servo","File","Task","GPRS","WiFi","Wire","TFT","GSM","SPI","SD"],_hints:["setup","loop","runShellCommandAsynchronously","analogWriteResolution","retrieveCallingNumber","printFirmwareVersion","analogReadResolution","sendDigitalPortPair","noListenOnLocalhost","readJoystickButton","setFirmwareVersion","readJoystickSwitch","scrollDisplayRight","getVoiceCallStatus","scrollDisplayLeft","writeMicroseconds","delayMicroseconds","beginTransmission","getSignalStrength","runAsynchronously","getAsynchronously","listenOnLocalhost","getCurrentCarrier","readAccelerometer","messageAvailable","sendDigitalPorts","lineFollowConfig","countryNameWrite","runShellCommand","readStringUntil","rewindDirectory","readTemperature","setClockDivider","readLightSensor","endTransmission","analogReference","detachInterrupt","countryNameRead","attachInterrupt","encryptionType","readBytesUntil","robotNameWrite","readMicrophone","robotNameRead","cityNameWrite","userNameWrite","readJoystickY","readJoystickX","mouseReleased","openNextFile","scanNetworks","noInterrupts","digitalWrite","beginSpeaker","mousePressed","isActionDone","mouseDragged","displayLogos","noAutoscroll","addParameter","remoteNumber","getModifiers","keyboardRead","userNameRead","waitContinue","processInput","parseCommand","printVersion","readNetworks","writeMessage","blinkVersion","cityNameRead","readMessage","setDataMode","parsePacket","isListening","setBitOrder","beginPacket","isDirectory","motorsWrite","drawCompass","digitalRead","clearScreen","serialEvent","rightToLeft","setTextSize","leftToRight","requestFrom","keyReleased","compassRead","analogWrite","interrupts","WiFiServer","disconnect","playMelody","parseFloat","autoscroll","getPINUsed","setPINUsed","setTimeout","sendAnalog","readSlider","analogRead","beginWrite","createChar","motorsStop","keyPressed","tempoWrite","readButton","subnetMask","debugPrint","macAddress","writeGreen","randomSeed","attachGPRS","readString","sendString","remotePort","releaseAll","mouseMoved","background","getXChange","getYChange","answerCall","getResult","voiceCall","endPacket","constrain","getSocket","writeJSON","getButton","available","connected","findUntil","readBytes","exitValue","readGreen","writeBlue","startLoop","IPAddress","isPressed","sendSysex","pauseMode","gatewayIP","setCursor","getOemKey","tuneWrite","noDisplay","loadImage","switchPIN","onRequest","onReceive","changePIN","playFile","noBuffer","parseInt","overflow","checkPIN","knobRead","beginTFT","bitClear","updateIR","bitWrite","position","writeRGB","highByte","writeRed","setSpeed","readBlue","noStroke","remoteIP","transfer","shutdown","hangCall","beginSMS","endWrite","attached","maintain","noCursor","checkReg","checkPUK","shiftOut","isValid","shiftIn","pulseIn","connect","println","localIP","pinMode","getIMEI","display","noBlink","process","getBand","running","beginSD","drawBMP","lowByte","setBand","release","bitRead","prepare","pointTo","readRed","setMode","noFill","remove","listen","stroke","detach","attach","noTone","exists","buffer","height","bitSet","circle","config","cursor","random","IRread","setDNS","endSMS","getKey","micros","millis","begin","print","write","ready","flush","width","isPIN","blink","clear","press","mkdir","rmdir","close","point","yield","image","BSSID","click","delay","read","text","move","peek","beep","rect","line","open","seek","fill","size","turn","stop","home","find","step","tone","sqrt","RSSI","SSID","end","bit","tan","cos","sin","pow","map","abs","max","min","get","run","put"],literal:["DIGITAL_MESSAGE","FIRMATA_STRING","ANALOG_MESSAGE","REPORT_DIGITAL","REPORT_ANALOG","INPUT_PULLUP","SET_PIN_MODE","INTERNAL2V56","SYSTEM_RESET","LED_BUILTIN","INTERNAL1V1","SYSEX_START","INTERNAL","EXTERNAL","DEFAULT","OUTPUT","INPUT","HIGH","LOW"]},x_=cPlusPlus(Ff),$_=x_.keywords;return $_.type=[...$_.type,...kh.type],$_.literal=[...$_.literal,...kh.literal],$_.built_in=[...$_.built_in,...kh.built_in],$_._hints=kh._hints,x_.name="Arduino",x_.aliases=["ino"],x_.supersetOf="cpp",x_}function bash(Ff){const kh=Ff.regex,x_={},$_={begin:/\$\{/,end:/\}/,contains:["self",{begin:/:-/,contains:[x_]}]};Object.assign(x_,{className:"variable",variants:[{begin:kh.concat(/\$[\w\d#@][\w\d_]*/,"(?![\\w\\d])(?![$])")},$_]});const B_={className:"subst",begin:/\$\(/,end:/\)/,contains:[Ff.BACKSLASH_ESCAPE]},$P={begin:/<<-?\s*(?=\w+)/,starts:{contains:[Ff.END_SAME_AS_BEGIN({begin:/(\w+)/,end:/(\w+)/,className:"string"})]}},zP={className:"string",begin:/"/,end:/"/,contains:[Ff.BACKSLASH_ESCAPE,x_,B_]};B_.contains.push(zP);const eme={className:"",begin:/\\"/},tme={className:"string",begin:/'/,end:/'/},nme={begin:/\$?\(\(/,end:/\)\)/,contains:[{begin:/\d+#[0-9a-f]+/,className:"number"},Ff.NUMBER_MODE,x_]},rme=["fish","bash","zsh","sh","csh","ksh","tcsh","dash","scsh"],ime=Ff.SHEBANG({binary:`(${rme.join("|")})`,relevance:10}),ome={className:"function",begin:/\w[\w\d_]*\s*\(\s*\)\s*\{/,returnBegin:!0,contains:[Ff.inherit(Ff.TITLE_MODE,{begin:/\w[\w\d_]*/})],relevance:0},sme=["if","then","else","elif","fi","for","while","in","do","done","case","esac","function"],ume=["true","false"],cme={match:/(\/[a-z._-]+)+/},ame=["break","cd","continue","eval","exec","exit","export","getopts","hash","pwd","readonly","return","shift","test","times","trap","umask","unset"],lme=["alias","bind","builtin","caller","command","declare","echo","enable","help","let","local","logout","mapfile","printf","read","readarray","source","type","typeset","ulimit","unalias"],dme=["autoload","bg","bindkey","bye","cap","chdir","clone","comparguments","compcall","compctl","compdescribe","compfiles","compgroups","compquote","comptags","comptry","compvalues","dirs","disable","disown","echotc","echoti","emulate","fc","fg","float","functions","getcap","getln","history","integer","jobs","kill","limit","log","noglob","popd","print","pushd","pushln","rehash","sched","setcap","setopt","stat","suspend","ttyctl","unfunction","unhash","unlimit","unsetopt","vared","wait","whence","where","which","zcompile","zformat","zftp","zle","zmodload","zparseopts","zprof","zpty","zregexparse","zsocket","zstyle","ztcp"],fme=["chcon","chgrp","chown","chmod","cp","dd","df","dir","dircolors","ln","ls","mkdir","mkfifo","mknod","mktemp","mv","realpath","rm","rmdir","shred","sync","touch","truncate","vdir","b2sum","base32","base64","cat","cksum","comm","csplit","cut","expand","fmt","fold","head","join","md5sum","nl","numfmt","od","paste","ptx","pr","sha1sum","sha224sum","sha256sum","sha384sum","sha512sum","shuf","sort","split","sum","tac","tail","tr","tsort","unexpand","uniq","wc","arch","basename","chroot","date","dirname","du","echo","env","expr","factor","groups","hostid","id","link","logname","nice","nohup","nproc","pathchk","pinky","printenv","printf","pwd","readlink","runcon","seq","sleep","stat","stdbuf","stty","tee","test","timeout","tty","uname","unlink","uptime","users","who","whoami","yes"];return{name:"Bash",aliases:["sh"],keywords:{$pattern:/\b[a-z][a-z0-9._-]+\b/,keyword:sme,literal:ume,built_in:[...ame,...lme,"set","shopt",...dme,...fme]},contains:[ime,Ff.SHEBANG(),ome,nme,Ff.HASH_COMMENT_MODE,$P,cme,zP,eme,tme,x_]}}function c$1(Ff){const kh=Ff.regex,x_=Ff.COMMENT("//","$",{contains:[{begin:/\\\n/}]}),$_="decltype\\(auto\\)",B_="[a-zA-Z_]\\w*::",zP="("+$_+"|"+kh.optional(B_)+"[a-zA-Z_]\\w*"+kh.optional("<[^<>]+>")+")",eme={className:"type",variants:[{begin:"\\b[a-z\\d_]*_t\\b"},{match:/\batomic_[a-z]{3,6}\b/}]},nme={className:"string",variants:[{begin:'(u8?|U|L)?"',end:'"',illegal:"\\n",contains:[Ff.BACKSLASH_ESCAPE]},{begin:"(u8?|U|L)?'("+"\\\\(x[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4,8}|[0-7]{3}|\\S)"+"|.)",end:"'",illegal:"."},Ff.END_SAME_AS_BEGIN({begin:/(?:u8?|U|L)?R"([^()\\ ]{0,16})\(/,end:/\)([^()\\ ]{0,16})"/})]},rme={className:"number",variants:[{begin:"\\b(0b[01']+)"},{begin:"(-?)\\b([\\d']+(\\.[\\d']*)?|\\.[\\d']+)((ll|LL|l|L)(u|U)?|(u|U)(ll|LL|l|L)?|f|F|b|B)"},{begin:"(-?)(\\b0[xX][a-fA-F0-9']+|(\\b[\\d']+(\\.[\\d']*)?|\\.[\\d']+)([eE][-+]?[\\d']+)?)"}],relevance:0},ime={className:"meta",begin:/#\s*[a-z]+\b/,end:/$/,keywords:{keyword:"if else elif endif define undef warning error line pragma _Pragma ifdef ifndef include"},contains:[{begin:/\\\n/,relevance:0},Ff.inherit(nme,{className:"string"}),{className:"string",begin:/<.*?>/},x_,Ff.C_BLOCK_COMMENT_MODE]},ome={className:"title",begin:kh.optional(B_)+Ff.IDENT_RE,relevance:0},sme=kh.optional(B_)+Ff.IDENT_RE+"\\s*\\(",ame={keyword:["asm","auto","break","case","continue","default","do","else","enum","extern","for","fortran","goto","if","inline","register","restrict","return","sizeof","struct","switch","typedef","union","volatile","while","_Alignas","_Alignof","_Atomic","_Generic","_Noreturn","_Static_assert","_Thread_local","alignas","alignof","noreturn","static_assert","thread_local","_Pragma"],type:["float","double","signed","unsigned","int","short","long","char","void","_Bool","_Complex","_Imaginary","_Decimal32","_Decimal64","_Decimal128","const","static","complex","bool","imaginary"],literal:"true false NULL",built_in:"std string wstring cin cout cerr clog stdin stdout stderr stringstream istringstream ostringstream auto_ptr deque list queue stack vector map set pair bitset multiset multimap unordered_set unordered_map unordered_multiset unordered_multimap priority_queue make_pair array shared_ptr abort terminate abs acos asin atan2 atan calloc ceil cosh cos exit exp fabs floor fmod fprintf fputs free frexp fscanf future isalnum isalpha iscntrl isdigit isgraph islower isprint ispunct isspace isupper isxdigit tolower toupper labs ldexp log10 log malloc realloc memchr memcmp memcpy memset modf pow printf putchar puts scanf sinh sin snprintf sprintf sqrt sscanf strcat strchr strcmp strcpy strcspn strlen strncat strncmp strncpy strpbrk strrchr strspn strstr tanh tan vfprintf vprintf vsprintf endl initializer_list unique_ptr"},lme=[ime,eme,x_,Ff.C_BLOCK_COMMENT_MODE,rme,nme],dme={variants:[{begin:/=/,end:/;/},{begin:/\(/,end:/\)/},{beginKeywords:"new throw return else",end:/;/}],keywords:ame,contains:lme.concat([{begin:/\(/,end:/\)/,keywords:ame,contains:lme.concat(["self"]),relevance:0}]),relevance:0},fme={begin:"("+zP+"[\\*&\\s]+)+"+sme,returnBegin:!0,end:/[{;=]/,excludeEnd:!0,keywords:ame,illegal:/[^\w\s\*&:<>.]/,contains:[{begin:$_,keywords:ame,relevance:0},{begin:sme,returnBegin:!0,contains:[Ff.inherit(ome,{className:"title.function"})],relevance:0},{relevance:0,match:/,/},{className:"params",begin:/\(/,end:/\)/,keywords:ame,relevance:0,contains:[x_,Ff.C_BLOCK_COMMENT_MODE,nme,rme,eme,{begin:/\(/,end:/\)/,keywords:ame,relevance:0,contains:["self",x_,Ff.C_BLOCK_COMMENT_MODE,nme,rme,eme]}]},eme,x_,Ff.C_BLOCK_COMMENT_MODE,ime]};return{name:"C",aliases:["h"],keywords:ame,disableAutodetect:!0,illegal:"</",contains:[].concat(dme,fme,lme,[ime,{begin:Ff.IDENT_RE+"::",keywords:ame},{className:"class",beginKeywords:"enum class struct union",end:/[{;:<>=]/,contains:[{beginKeywords:"final class struct"},Ff.TITLE_MODE]}]),exports:{preprocessor:ime,strings:nme,keywords:ame}}}function cpp(Ff){const kh=Ff.regex,x_=Ff.COMMENT("//","$",{contains:[{begin:/\\\n/}]}),$_="decltype\\(auto\\)",B_="[a-zA-Z_]\\w*::",zP="(?!struct)("+$_+"|"+kh.optional(B_)+"[a-zA-Z_]\\w*"+kh.optional("<[^<>]+>")+")",eme={className:"type",begin:"\\b[a-z\\d_]*_t\\b"},nme={className:"string",variants:[{begin:'(u8?|U|L)?"',end:'"',illegal:"\\n",contains:[Ff.BACKSLASH_ESCAPE]},{begin:"(u8?|U|L)?'("+"\\\\(x[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4,8}|[0-7]{3}|\\S)"+"|.)",end:"'",illegal:"."},Ff.END_SAME_AS_BEGIN({begin:/(?:u8?|U|L)?R"([^()\\ ]{0,16})\(/,end:/\)([^()\\ ]{0,16})"/})]},rme={className:"number",variants:[{begin:"\\b(0b[01']+)"},{begin:"(-?)\\b([\\d']+(\\.[\\d']*)?|\\.[\\d']+)((ll|LL|l|L)(u|U)?|(u|U)(ll|LL|l|L)?|f|F|b|B)"},{begin:"(-?)(\\b0[xX][a-fA-F0-9']+|(\\b[\\d']+(\\.[\\d']*)?|\\.[\\d']+)([eE][-+]?[\\d']+)?)"}],relevance:0},ime={className:"meta",begin:/#\s*[a-z]+\b/,end:/$/,keywords:{keyword:"if else elif endif define undef warning error line pragma _Pragma ifdef ifndef include"},contains:[{begin:/\\\n/,relevance:0},Ff.inherit(nme,{className:"string"}),{className:"string",begin:/<.*?>/},x_,Ff.C_BLOCK_COMMENT_MODE]},ome={className:"title",begin:kh.optional(B_)+Ff.IDENT_RE,relevance:0},sme=kh.optional(B_)+Ff.IDENT_RE+"\\s*\\(",ume=["alignas","alignof","and","and_eq","asm","atomic_cancel","atomic_commit","atomic_noexcept","auto","bitand","bitor","break","case","catch","class","co_await","co_return","co_yield","compl","concept","const_cast|10","consteval","constexpr","constinit","continue","decltype","default","delete","do","dynamic_cast|10","else","enum","explicit","export","extern","false","final","for","friend","goto","if","import","inline","module","mutable","namespace","new","noexcept","not","not_eq","nullptr","operator","or","or_eq","override","private","protected","public","reflexpr","register","reinterpret_cast|10","requires","return","sizeof","static_assert","static_cast|10","struct","switch","synchronized","template","this","thread_local","throw","transaction_safe","transaction_safe_dynamic","true","try","typedef","typeid","typename","union","using","virtual","volatile","while","xor","xor_eq"],cme=["bool","char","char16_t","char32_t","char8_t","double","float","int","long","short","void","wchar_t","unsigned","signed","const","static"],ame=["any","auto_ptr","barrier","binary_semaphore","bitset","complex","condition_variable","condition_variable_any","counting_semaphore","deque","false_type","future","imaginary","initializer_list","istringstream","jthread","latch","lock_guard","multimap","multiset","mutex","optional","ostringstream","packaged_task","pair","promise","priority_queue","queue","recursive_mutex","recursive_timed_mutex","scoped_lock","set","shared_future","shared_lock","shared_mutex","shared_timed_mutex","shared_ptr","stack","string_view","stringstream","timed_mutex","thread","true_type","tuple","unique_lock","unique_ptr","unordered_map","unordered_multimap","unordered_multiset","unordered_set","variant","vector","weak_ptr","wstring","wstring_view"],lme=["abort","abs","acos","apply","as_const","asin","atan","atan2","calloc","ceil","cerr","cin","clog","cos","cosh","cout","declval","endl","exchange","exit","exp","fabs","floor","fmod","forward","fprintf","fputs","free","frexp","fscanf","future","invoke","isalnum","isalpha","iscntrl","isdigit","isgraph","islower","isprint","ispunct","isspace","isupper","isxdigit","labs","launder","ldexp","log","log10","make_pair","make_shared","make_shared_for_overwrite","make_tuple","make_unique","malloc","memchr","memcmp","memcpy","memset","modf","move","pow","printf","putchar","puts","realloc","scanf","sin","sinh","snprintf","sprintf","sqrt","sscanf","std","stderr","stdin","stdout","strcat","strchr","strcmp","strcpy","strcspn","strlen","strncat","strncmp","strncpy","strpbrk","strrchr","strspn","strstr","swap","tan","tanh","terminate","to_underlying","tolower","toupper","vfprintf","visit","vprintf","vsprintf"],hme={type:cme,keyword:ume,literal:["NULL","false","nullopt","nullptr","true"],built_in:["_Pragma"],_type_hints:ame},pme={className:"function.dispatch",relevance:0,keywords:{_hint:lme},begin:kh.concat(/\b/,/(?!decltype)/,/(?!if)/,/(?!for)/,/(?!switch)/,/(?!while)/,Ff.IDENT_RE,kh.lookahead(/(<[^<>]+>|)\s*\(/))},gme=[pme,ime,eme,x_,Ff.C_BLOCK_COMMENT_MODE,rme,nme],vme={variants:[{begin:/=/,end:/;/},{begin:/\(/,end:/\)/},{beginKeywords:"new throw return else",end:/;/}],keywords:hme,contains:gme.concat([{begin:/\(/,end:/\)/,keywords:hme,contains:gme.concat(["self"]),relevance:0}]),relevance:0},mme={className:"function",begin:"("+zP+"[\\*&\\s]+)+"+sme,returnBegin:!0,end:/[{;=]/,excludeEnd:!0,keywords:hme,illegal:/[^\w\s\*&:<>.]/,contains:[{begin:$_,keywords:hme,relevance:0},{begin:sme,returnBegin:!0,contains:[ome],relevance:0},{begin:/::/,relevance:0},{begin:/:/,endsWithParent:!0,contains:[nme,rme]},{relevance:0,match:/,/},{className:"params",begin:/\(/,end:/\)/,keywords:hme,relevance:0,contains:[x_,Ff.C_BLOCK_COMMENT_MODE,nme,rme,eme,{begin:/\(/,end:/\)/,keywords:hme,relevance:0,contains:["self",x_,Ff.C_BLOCK_COMMENT_MODE,nme,rme,eme]}]},eme,x_,Ff.C_BLOCK_COMMENT_MODE,ime]};return{name:"C++",aliases:["cc","c++","h++","hpp","hh","hxx","cxx"],keywords:hme,illegal:"</",classNameAliases:{"function.dispatch":"built_in"},contains:[].concat(vme,mme,pme,gme,[ime,{begin:"\\b(deque|list|queue|priority_queue|pair|stack|vector|map|set|bitset|multiset|multimap|unordered_map|unordered_set|unordered_multiset|unordered_multimap|array|tuple|optional|variant|function)\\s*<(?!<)",end:">",keywords:hme,contains:["self",eme]},{begin:Ff.IDENT_RE+"::",keywords:hme},{match:[/\b(?:enum(?:\s+(?:class|struct))?|class|struct|union)/,/\s+/,/\w+/],className:{1:"keyword",3:"title.class"}}])}}function csharp(Ff){const kh=["bool","byte","char","decimal","delegate","double","dynamic","enum","float","int","long","nint","nuint","object","sbyte","short","string","ulong","uint","ushort"],x_=["public","private","protected","static","internal","protected","abstract","async","extern","override","unsafe","virtual","new","sealed","partial"],$_=["default","false","null","true"],B_=["abstract","as","base","break","case","catch","class","const","continue","do","else","event","explicit","extern","finally","fixed","for","foreach","goto","if","implicit","in","interface","internal","is","lock","namespace","new","operator","out","override","params","private","protected","public","readonly","record","ref","return","scoped","sealed","sizeof","stackalloc","static","struct","switch","this","throw","try","typeof","unchecked","unsafe","using","virtual","void","volatile","while"],$P=["add","alias","and","ascending","async","await","by","descending","equals","from","get","global","group","init","into","join","let","nameof","not","notnull","on","or","orderby","partial","remove","select","set","unmanaged","value|0","var","when","where","with","yield"],zP={keyword:B_.concat($P),built_in:kh,literal:$_},eme=Ff.inherit(Ff.TITLE_MODE,{begin:"[a-zA-Z](\\.?\\w)*"}),tme={className:"number",variants:[{begin:"\\b(0b[01']+)"},{begin:"(-?)\\b([\\d']+(\\.[\\d']*)?|\\.[\\d']+)(u|U|l|L|ul|UL|f|F|b|B)"},{begin:"(-?)(\\b0[xX][a-fA-F0-9']+|(\\b[\\d']+(\\.[\\d']*)?|\\.[\\d']+)([eE][-+]?[\\d']+)?)"}],relevance:0},nme={className:"string",begin:'@"',end:'"',contains:[{begin:'""'}]},rme=Ff.inherit(nme,{illegal:/\n/}),ime={className:"subst",begin:/\{/,end:/\}/,keywords:zP},ome=Ff.inherit(ime,{illegal:/\n/}),sme={className:"string",begin:/\$"/,end:'"',illegal:/\n/,contains:[{begin:/\{\{/},{begin:/\}\}/},Ff.BACKSLASH_ESCAPE,ome]},ume={className:"string",begin:/\$@"/,end:'"',contains:[{begin:/\{\{/},{begin:/\}\}/},{begin:'""'},ime]},cme=Ff.inherit(ume,{illegal:/\n/,contains:[{begin:/\{\{/},{begin:/\}\}/},{begin:'""'},ome]});ime.contains=[ume,sme,nme,Ff.APOS_STRING_MODE,Ff.QUOTE_STRING_MODE,tme,Ff.C_BLOCK_COMMENT_MODE],ome.contains=[cme,sme,rme,Ff.APOS_STRING_MODE,Ff.QUOTE_STRING_MODE,tme,Ff.inherit(Ff.C_BLOCK_COMMENT_MODE,{illegal:/\n/})];const ame={variants:[ume,sme,nme,Ff.APOS_STRING_MODE,Ff.QUOTE_STRING_MODE]},lme={begin:"<",end:">",contains:[{beginKeywords:"in out"},eme]},dme=Ff.IDENT_RE+"(<"+Ff.IDENT_RE+"(\\s*,\\s*"+Ff.IDENT_RE+")*>)?(\\[\\])?",fme={begin:"@"+Ff.IDENT_RE,relevance:0};return{name:"C#",aliases:["cs","c#"],keywords:zP,illegal:/::/,contains:[Ff.COMMENT("///","$",{returnBegin:!0,contains:[{className:"doctag",variants:[{begin:"///",relevance:0},{begin:"<!--|-->"},{begin:"</?",end:">"}]}]}),Ff.C_LINE_COMMENT_MODE,Ff.C_BLOCK_COMMENT_MODE,{className:"meta",begin:"#",end:"$",keywords:{keyword:"if else elif endif define undef warning error line region endregion pragma checksum"}},ame,tme,{beginKeywords:"class interface",relevance:0,end:/[{;=]/,illegal:/[^\s:,]/,contains:[{beginKeywords:"where class"},eme,lme,Ff.C_LINE_COMMENT_MODE,Ff.C_BLOCK_COMMENT_MODE]},{beginKeywords:"namespace",relevance:0,end:/[{;=]/,illegal:/[^\s:]/,contains:[eme,Ff.C_LINE_COMMENT_MODE,Ff.C_BLOCK_COMMENT_MODE]},{beginKeywords:"record",relevance:0,end:/[{;=]/,illegal:/[^\s:]/,contains:[eme,lme,Ff.C_LINE_COMMENT_MODE,Ff.C_BLOCK_COMMENT_MODE]},{className:"meta",begin:"^\\s*\\[(?=[\\w])",excludeBegin:!0,end:"\\]",excludeEnd:!0,contains:[{className:"string",begin:/"/,end:/"/}]},{beginKeywords:"new return throw await else",relevance:0},{className:"function",begin:"("+dme+"\\s+)+"+Ff.IDENT_RE+"\\s*(<[^=]+>\\s*)?\\(",returnBegin:!0,end:/\s*[{;=]/,excludeEnd:!0,keywords:zP,contains:[{beginKeywords:x_.join(" "),relevance:0},{begin:Ff.IDENT_RE+"\\s*(<[^=]+>\\s*)?\\(",returnBegin:!0,contains:[Ff.TITLE_MODE,lme],relevance:0},{match:/\(\)/},{className:"params",begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:zP,relevance:0,contains:[ame,tme,Ff.C_BLOCK_COMMENT_MODE]},Ff.C_LINE_COMMENT_MODE,Ff.C_BLOCK_COMMENT_MODE]},fme]}}const MODES$4=Ff=>({IMPORTANT:{scope:"meta",begin:"!important"},BLOCK_COMMENT:Ff.C_BLOCK_COMMENT_MODE,HEXCOLOR:{scope:"number",begin:/#(([0-9a-fA-F]{3,4})|(([0-9a-fA-F]{2}){3,4}))\b/},FUNCTION_DISPATCH:{className:"built_in",begin:/[\w-]+(?=\()/},ATTRIBUTE_SELECTOR_MODE:{scope:"selector-attr",begin:/\[/,end:/\]/,illegal:"$",contains:[Ff.APOS_STRING_MODE,Ff.QUOTE_STRING_MODE]},CSS_NUMBER_MODE:{scope:"number",begin:Ff.NUMBER_RE+"(%|em|ex|ch|rem|vw|vh|vmin|vmax|cm|mm|in|pt|pc|px|deg|grad|rad|turn|s|ms|Hz|kHz|dpi|dpcm|dppx)?",relevance:0},CSS_VARIABLE:{className:"attr",begin:/--[A-Za-z][A-Za-z0-9_-]*/}}),TAGS$2=["a","abbr","address","article","aside","audio","b","blockquote","body","button","canvas","caption","cite","code","dd","del","details","dfn","div","dl","dt","em","fieldset","figcaption","figure","footer","form","h1","h2","h3","h4","h5","h6","header","hgroup","html","i","iframe","img","input","ins","kbd","label","legend","li","main","mark","menu","nav","object","ol","p","q","quote","samp","section","span","strong","summary","sup","table","tbody","td","textarea","tfoot","th","thead","time","tr","ul","var","video"],MEDIA_FEATURES$2=["any-hover","any-pointer","aspect-ratio","color","color-gamut","color-index","device-aspect-ratio","device-height","device-width","display-mode","forced-colors","grid","height","hover","inverted-colors","monochrome","orientation","overflow-block","overflow-inline","pointer","prefers-color-scheme","prefers-contrast","prefers-reduced-motion","prefers-reduced-transparency","resolution","scan","scripting","update","width","min-width","max-width","min-height","max-height"],PSEUDO_CLASSES$2=["active","any-link","blank","checked","current","default","defined","dir","disabled","drop","empty","enabled","first","first-child","first-of-type","fullscreen","future","focus","focus-visible","focus-within","has","host","host-context","hover","indeterminate","in-range","invalid","is","lang","last-child","last-of-type","left","link","local-link","not","nth-child","nth-col","nth-last-child","nth-last-col","nth-last-of-type","nth-of-type","only-child","only-of-type","optional","out-of-range","past","placeholder-shown","read-only","read-write","required","right","root","scope","target","target-within","user-invalid","valid","visited","where"],PSEUDO_ELEMENTS$2=["after","backdrop","before","cue","cue-region","first-letter","first-line","grammar-error","marker","part","placeholder","selection","slotted","spelling-error"],ATTRIBUTES$2=["align-content","align-items","align-self","all","animation","animation-delay","animation-direction","animation-duration","animation-fill-mode","animation-iteration-count","animation-name","animation-play-state","animation-timing-function","backface-visibility","background","background-attachment","background-blend-mode","background-clip","background-color","background-image","background-origin","background-position","background-repeat","background-size","block-size","border","border-block","border-block-color","border-block-end","border-block-end-color","border-block-end-style","border-block-end-width","border-block-start","border-block-start-color","border-block-start-style","border-block-start-width","border-block-style","border-block-width","border-bottom","border-bottom-color","border-bottom-left-radius","border-bottom-right-radius","border-bottom-style","border-bottom-width","border-collapse","border-color","border-image","border-image-outset","border-image-repeat","border-image-slice","border-image-source","border-image-width","border-inline","border-inline-color","border-inline-end","border-inline-end-color","border-inline-end-style","border-inline-end-width","border-inline-start","border-inline-start-color","border-inline-start-style","border-inline-start-width","border-inline-style","border-inline-width","border-left","border-left-color","border-left-style","border-left-width","border-radius","border-right","border-right-color","border-right-style","border-right-width","border-spacing","border-style","border-top","border-top-color","border-top-left-radius","border-top-right-radius","border-top-style","border-top-width","border-width","bottom","box-decoration-break","box-shadow","box-sizing","break-after","break-before","break-inside","caption-side","caret-color","clear","clip","clip-path","clip-rule","color","column-count","column-fill","column-gap","column-rule","column-rule-color","column-rule-style","column-rule-width","column-span","column-width","columns","contain","content","content-visibility","counter-increment","counter-reset","cue","cue-after","cue-before","cursor","direction","display","empty-cells","filter","flex","flex-basis","flex-direction","flex-flow","flex-grow","flex-shrink","flex-wrap","float","flow","font","font-display","font-family","font-feature-settings","font-kerning","font-language-override","font-size","font-size-adjust","font-smoothing","font-stretch","font-style","font-synthesis","font-variant","font-variant-caps","font-variant-east-asian","font-variant-ligatures","font-variant-numeric","font-variant-position","font-variation-settings","font-weight","gap","glyph-orientation-vertical","grid","grid-area","grid-auto-columns","grid-auto-flow","grid-auto-rows","grid-column","grid-column-end","grid-column-start","grid-gap","grid-row","grid-row-end","grid-row-start","grid-template","grid-template-areas","grid-template-columns","grid-template-rows","hanging-punctuation","height","hyphens","icon","image-orientation","image-rendering","image-resolution","ime-mode","inline-size","isolation","justify-content","left","letter-spacing","line-break","line-height","list-style","list-style-image","list-style-position","list-style-type","margin","margin-block","margin-block-end","margin-block-start","margin-bottom","margin-inline","margin-inline-end","margin-inline-start","margin-left","margin-right","margin-top","marks","mask","mask-border","mask-border-mode","mask-border-outset","mask-border-repeat","mask-border-slice","mask-border-source","mask-border-width","mask-clip","mask-composite","mask-image","mask-mode","mask-origin","mask-position","mask-repeat","mask-size","mask-type","max-block-size","max-height","max-inline-size","max-width","min-block-size","min-height","min-inline-size","min-width","mix-blend-mode","nav-down","nav-index","nav-left","nav-right","nav-up","none","normal","object-fit","object-position","opacity","order","orphans","outline","outline-color","outline-offset","outline-style","outline-width","overflow","overflow-wrap","overflow-x","overflow-y","padding","padding-block","padding-block-end","padding-block-start","padding-bottom","padding-inline","padding-inline-end","padding-inline-start","padding-left","padding-right","padding-top","page-break-after","page-break-before","page-break-inside","pause","pause-after","pause-before","perspective","perspective-origin","pointer-events","position","quotes","resize","rest","rest-after","rest-before","right","row-gap","scroll-margin","scroll-margin-block","scroll-margin-block-end","scroll-margin-block-start","scroll-margin-bottom","scroll-margin-inline","scroll-margin-inline-end","scroll-margin-inline-start","scroll-margin-left","scroll-margin-right","scroll-margin-top","scroll-padding","scroll-padding-block","scroll-padding-block-end","scroll-padding-block-start","scroll-padding-bottom","scroll-padding-inline","scroll-padding-inline-end","scroll-padding-inline-start","scroll-padding-left","scroll-padding-right","scroll-padding-top","scroll-snap-align","scroll-snap-stop","scroll-snap-type","scrollbar-color","scrollbar-gutter","scrollbar-width","shape-image-threshold","shape-margin","shape-outside","speak","speak-as","src","tab-size","table-layout","text-align","text-align-all","text-align-last","text-combine-upright","text-decoration","text-decoration-color","text-decoration-line","text-decoration-style","text-emphasis","text-emphasis-color","text-emphasis-position","text-emphasis-style","text-indent","text-justify","text-orientation","text-overflow","text-rendering","text-shadow","text-transform","text-underline-position","top","transform","transform-box","transform-origin","transform-style","transition","transition-delay","transition-duration","transition-property","transition-timing-function","unicode-bidi","vertical-align","visibility","voice-balance","voice-duration","voice-family","voice-pitch","voice-range","voice-rate","voice-stress","voice-volume","white-space","widows","width","will-change","word-break","word-spacing","word-wrap","writing-mode","z-index"].reverse();function css(Ff){const kh=Ff.regex,x_=MODES$4(Ff),$_={begin:/-(webkit|moz|ms|o)-(?=[a-z])/},B_="and or not only",$P=/@-?\w[\w]*(-\w+)*/,zP="[a-zA-Z-][a-zA-Z0-9_-]*",eme=[Ff.APOS_STRING_MODE,Ff.QUOTE_STRING_MODE];return{name:"CSS",case_insensitive:!0,illegal:/[=|'\$]/,keywords:{keyframePosition:"from to"},classNameAliases:{keyframePosition:"selector-tag"},contains:[x_.BLOCK_COMMENT,$_,x_.CSS_NUMBER_MODE,{className:"selector-id",begin:/#[A-Za-z0-9_-]+/,relevance:0},{className:"selector-class",begin:"\\."+zP,relevance:0},x_.ATTRIBUTE_SELECTOR_MODE,{className:"selector-pseudo",variants:[{begin:":("+PSEUDO_CLASSES$2.join("|")+")"},{begin:":(:)?("+PSEUDO_ELEMENTS$2.join("|")+")"}]},x_.CSS_VARIABLE,{className:"attribute",begin:"\\b("+ATTRIBUTES$2.join("|")+")\\b"},{begin:/:/,end:/[;}{]/,contains:[x_.BLOCK_COMMENT,x_.HEXCOLOR,x_.IMPORTANT,x_.CSS_NUMBER_MODE,...eme,{begin:/(url|data-uri)\(/,end:/\)/,relevance:0,keywords:{built_in:"url data-uri"},contains:[...eme,{className:"string",begin:/[^)]/,endsWithParent:!0,excludeEnd:!0}]},x_.FUNCTION_DISPATCH]},{begin:kh.lookahead(/@/),end:"[{;]",relevance:0,illegal:/:/,contains:[{className:"keyword",begin:$P},{begin:/\s/,endsWithParent:!0,excludeEnd:!0,relevance:0,keywords:{$pattern:/[a-z-]+/,keyword:B_,attribute:MEDIA_FEATURES$2.join(" ")},contains:[{begin:/[a-z-]+(?=:)/,className:"attribute"},...eme,x_.CSS_NUMBER_MODE]}]},{className:"selector-tag",begin:"\\b("+TAGS$2.join("|")+")\\b"}]}}function diff(Ff){const kh=Ff.regex;return{name:"Diff",aliases:["patch"],contains:[{className:"meta",relevance:10,match:kh.either(/^@@ +-\d+,\d+ +\+\d+,\d+ +@@/,/^\*\*\* +\d+,\d+ +\*\*\*\*$/,/^--- +\d+,\d+ +----$/)},{className:"comment",variants:[{begin:kh.either(/Index: /,/^index/,/={3,}/,/^-{3}/,/^\*{3} /,/^\+{3}/,/^diff --git/),end:/$/},{match:/^\*{15}$/}]},{className:"addition",begin:/^\+/,end:/$/},{className:"deletion",begin:/^-/,end:/$/},{className:"addition",begin:/^!/,end:/$/}]}}function go$1(Ff){const $P={keyword:["break","case","chan","const","continue","default","defer","else","fallthrough","for","func","go","goto","if","import","interface","map","package","range","return","select","struct","switch","type","var"],type:["bool","byte","complex64","complex128","error","float32","float64","int8","int16","int32","int64","string","uint8","uint16","uint32","uint64","int","uint","uintptr","rune"],literal:["true","false","iota","nil"],built_in:["append","cap","close","complex","copy","imag","len","make","new","panic","print","println","real","recover","delete"]};return{name:"Go",aliases:["golang"],keywords:$P,illegal:"</",contains:[Ff.C_LINE_COMMENT_MODE,Ff.C_BLOCK_COMMENT_MODE,{className:"string",variants:[Ff.QUOTE_STRING_MODE,Ff.APOS_STRING_MODE,{begin:"`",end:"`"}]},{className:"number",variants:[{begin:Ff.C_NUMBER_RE+"[i]",relevance:1},Ff.C_NUMBER_MODE]},{begin:/:=/},{className:"function",beginKeywords:"func",end:"\\s*(\\{|$)",excludeEnd:!0,contains:[Ff.TITLE_MODE,{className:"params",begin:/\(/,end:/\)/,endsParent:!0,keywords:$P,illegal:/["']/}]}]}}function graphql(Ff){const kh=Ff.regex,x_=/[_A-Za-z][_0-9A-Za-z]*/;return{name:"GraphQL",aliases:["gql"],case_insensitive:!0,disableAutodetect:!1,keywords:{keyword:["query","mutation","subscription","type","input","schema","directive","interface","union","scalar","fragment","enum","on"],literal:["true","false","null"]},contains:[Ff.HASH_COMMENT_MODE,Ff.QUOTE_STRING_MODE,Ff.NUMBER_MODE,{scope:"punctuation",match:/[.]{3}/,relevance:0},{scope:"punctuation",begin:/[\!\(\)\:\=\[\]\{\|\}]{1}/,relevance:0},{scope:"variable",begin:/\$/,end:/\W/,excludeEnd:!0,relevance:0},{scope:"meta",match:/@\w+/,excludeEnd:!0},{scope:"symbol",begin:kh.concat(x_,kh.lookahead(/\s*:/)),relevance:0}],illegal:[/[;<']/,/BEGIN/]}}function ini(Ff){const kh=Ff.regex,x_={className:"number",relevance:0,variants:[{begin:/([+-]+)?[\d]+_[\d_]+/},{begin:Ff.NUMBER_RE}]},$_=Ff.COMMENT();$_.variants=[{begin:/;/,end:/$/},{begin:/#/,end:/$/}];const B_={className:"variable",variants:[{begin:/\$[\w\d"][\w\d_]*/},{begin:/\$\{(.*?)\}/}]},$P={className:"literal",begin:/\bon|off|true|false|yes|no\b/},zP={className:"string",contains:[Ff.BACKSLASH_ESCAPE],variants:[{begin:"'''",end:"'''",relevance:10},{begin:'"""',end:'"""',relevance:10},{begin:'"',end:'"'},{begin:"'",end:"'"}]},eme={begin:/\[/,end:/\]/,contains:[$_,$P,B_,zP,x_,"self"],relevance:0},tme=/[A-Za-z0-9_-]+/,nme=/"(\\"|[^"])*"/,rme=/'[^']*'/,ime=kh.either(tme,nme,rme),ome=kh.concat(ime,"(\\s*\\.\\s*",ime,")*",kh.lookahead(/\s*=\s*[^#\s]/));return{name:"TOML, also INI",aliases:["toml"],case_insensitive:!0,illegal:/\S/,contains:[$_,{className:"section",begin:/\[+/,end:/\]+/},{begin:ome,className:"attr",starts:{end:/$/,contains:[$_,eme,$P,B_,zP,x_]}}]}}var decimalDigits$1="[0-9](_*[0-9])*",frac$1=`\\.(${decimalDigits$1})`,hexDigits$1="[0-9a-fA-F](_*[0-9a-fA-F])*",NUMERIC$1={className:"number",variants:[{begin:`(\\b(${decimalDigits$1})((${frac$1})|\\.)?|(${frac$1}))[eE][+-]?(${decimalDigits$1})[fFdD]?\\b`},{begin:`\\b(${decimalDigits$1})((${frac$1})[fFdD]?\\b|\\.([fFdD]\\b)?)`},{begin:`(${frac$1})[fFdD]?\\b`},{begin:`\\b(${decimalDigits$1})[fFdD]\\b`},{begin:`\\b0[xX]((${hexDigits$1})\\.?|(${hexDigits$1})?\\.(${hexDigits$1}))[pP][+-]?(${decimalDigits$1})[fFdD]?\\b`},{begin:"\\b(0|[1-9](_*[0-9])*)[lL]?\\b"},{begin:`\\b0[xX](${hexDigits$1})[lL]?\\b`},{begin:"\\b0(_*[0-7])*[lL]?\\b"},{begin:"\\b0[bB][01](_*[01])*[lL]?\\b"}],relevance:0};function recurRegex(Ff,kh,x_){return x_===-1?"":Ff.replace(kh,$_=>recurRegex(Ff,kh,x_-1))}function java(Ff){const kh=Ff.regex,x_="[À-ʸa-zA-Z_$][À-ʸa-zA-Z_$0-9]*",$_=x_+recurRegex("(?:<"+x_+"~~~(?:\\s*,\\s*"+x_+"~~~)*>)?",/~~~/g,2),tme={keyword:["synchronized","abstract","private","var","static","if","const ","for","while","strictfp","finally","protected","import","native","final","void","enum","else","break","transient","catch","instanceof","volatile","case","assert","package","default","public","try","switch","continue","throws","protected","public","private","module","requires","exports","do","sealed","yield","permits"],literal:["false","true","null"],type:["char","boolean","long","float","int","byte","short","double"],built_in:["super","this"]},nme={className:"meta",begin:"@"+x_,contains:[{begin:/\(/,end:/\)/,contains:["self"]}]},rme={className:"params",begin:/\(/,end:/\)/,keywords:tme,relevance:0,contains:[Ff.C_BLOCK_COMMENT_MODE],endsParent:!0};return{name:"Java",aliases:["jsp"],keywords:tme,illegal:/<\/|#/,contains:[Ff.COMMENT("/\\*\\*","\\*/",{relevance:0,contains:[{begin:/\w+@/,relevance:0},{className:"doctag",begin:"@[A-Za-z]+"}]}),{begin:/import java\.[a-z]+\./,keywords:"import",relevance:2},Ff.C_LINE_COMMENT_MODE,Ff.C_BLOCK_COMMENT_MODE,{begin:/"""/,end:/"""/,className:"string",contains:[Ff.BACKSLASH_ESCAPE]},Ff.APOS_STRING_MODE,Ff.QUOTE_STRING_MODE,{match:[/\b(?:class|interface|enum|extends|implements|new)/,/\s+/,x_],className:{1:"keyword",3:"title.class"}},{match:/non-sealed/,scope:"keyword"},{begin:[kh.concat(/(?!else)/,x_),/\s+/,x_,/\s+/,/=(?!=)/],className:{1:"type",3:"variable",5:"operator"}},{begin:[/record/,/\s+/,x_],className:{1:"keyword",3:"title.class"},contains:[rme,Ff.C_LINE_COMMENT_MODE,Ff.C_BLOCK_COMMENT_MODE]},{beginKeywords:"new throw return else",relevance:0},{begin:["(?:"+$_+"\\s+)",Ff.UNDERSCORE_IDENT_RE,/\s*(?=\()/],className:{2:"title.function"},keywords:tme,contains:[{className:"params",begin:/\(/,end:/\)/,keywords:tme,relevance:0,contains:[nme,Ff.APOS_STRING_MODE,Ff.QUOTE_STRING_MODE,NUMERIC$1,Ff.C_BLOCK_COMMENT_MODE]},Ff.C_LINE_COMMENT_MODE,Ff.C_BLOCK_COMMENT_MODE]},NUMERIC$1,nme]}}const IDENT_RE$3="[A-Za-z$_][0-9A-Za-z$_]*",KEYWORDS$1=["as","in","of","if","for","while","finally","var","new","function","do","return","void","else","break","catch","instanceof","with","throw","case","default","try","switch","continue","typeof","delete","let","yield","const","class","debugger","async","await","static","import","from","export","extends"],LITERALS$1=["true","false","null","undefined","NaN","Infinity"],TYPES$1=["Object","Function","Boolean","Symbol","Math","Date","Number","BigInt","String","RegExp","Array","Float32Array","Float64Array","Int8Array","Uint8Array","Uint8ClampedArray","Int16Array","Int32Array","Uint16Array","Uint32Array","BigInt64Array","BigUint64Array","Set","Map","WeakSet","WeakMap","ArrayBuffer","SharedArrayBuffer","Atomics","DataView","JSON","Promise","Generator","GeneratorFunction","AsyncFunction","Reflect","Proxy","Intl","WebAssembly"],ERROR_TYPES$1=["Error","EvalError","InternalError","RangeError","ReferenceError","SyntaxError","TypeError","URIError"],BUILT_IN_GLOBALS$1=["setInterval","setTimeout","clearInterval","clearTimeout","require","exports","eval","isFinite","isNaN","parseFloat","parseInt","decodeURI","decodeURIComponent","encodeURI","encodeURIComponent","escape","unescape"],BUILT_IN_VARIABLES$1=["arguments","this","super","console","window","document","localStorage","module","global"],BUILT_INS$1=[].concat(BUILT_IN_GLOBALS$1,TYPES$1,ERROR_TYPES$1);function javascript$1(Ff){const kh=Ff.regex,x_=(Ome,{after:Sme})=>{const Nme="</"+Ome[0].slice(1);return Ome.input.indexOf(Nme,Sme)!==-1},$_=IDENT_RE$3,B_={begin:"<>",end:"</>"},$P=/<[A-Za-z0-9\\._:-]+\s*\/>/,zP={begin:/<[A-Za-z0-9\\._:-]+/,end:/\/[A-Za-z0-9\\._:-]+>|\/>/,isTrulyOpeningTag:(Ome,Sme)=>{const Nme=Ome[0].length+Ome.index,Eme=Ome.input[Nme];if(Eme==="<"||Eme===","){Sme.ignoreMatch();return}Eme===">"&&(x_(Ome,{after:Nme})||Sme.ignoreMatch());let Mme;const Fme=Ome.input.substring(Nme);if(Mme=Fme.match(/^\s*=/)){Sme.ignoreMatch();return}if((Mme=Fme.match(/^\s+extends\s+/))&&Mme.index===0){Sme.ignoreMatch();return}}},eme={$pattern:IDENT_RE$3,keyword:KEYWORDS$1,literal:LITERALS$1,built_in:BUILT_INS$1,"variable.language":BUILT_IN_VARIABLES$1},tme="[0-9](_?[0-9])*",nme=`\\.(${tme})`,rme="0|[1-9](_?[0-9])*|0[0-7]*[89][0-9]*",ime={className:"number",variants:[{begin:`(\\b(${rme})((${nme})|\\.)?|(${nme}))[eE][+-]?(${tme})\\b`},{begin:`\\b(${rme})\\b((${nme})\\b|\\.)?|(${nme})\\b`},{begin:"\\b(0|[1-9](_?[0-9])*)n\\b"},{begin:"\\b0[xX][0-9a-fA-F](_?[0-9a-fA-F])*n?\\b"},{begin:"\\b0[bB][0-1](_?[0-1])*n?\\b"},{begin:"\\b0[oO][0-7](_?[0-7])*n?\\b"},{begin:"\\b0[0-7]+n?\\b"}],relevance:0},ome={className:"subst",begin:"\\$\\{",end:"\\}",keywords:eme,contains:[]},sme={begin:"html`",end:"",starts:{end:"`",returnEnd:!1,contains:[Ff.BACKSLASH_ESCAPE,ome],subLanguage:"xml"}},ume={begin:"css`",end:"",starts:{end:"`",returnEnd:!1,contains:[Ff.BACKSLASH_ESCAPE,ome],subLanguage:"css"}},cme={className:"string",begin:"`",end:"`",contains:[Ff.BACKSLASH_ESCAPE,ome]},lme={className:"comment",variants:[Ff.COMMENT(/\/\*\*(?!\/)/,"\\*/",{relevance:0,contains:[{begin:"(?=@[A-Za-z]+)",relevance:0,contains:[{className:"doctag",begin:"@[A-Za-z]+"},{className:"type",begin:"\\{",end:"\\}",excludeEnd:!0,excludeBegin:!0,relevance:0},{className:"variable",begin:$_+"(?=\\s*(-)|$)",endsParent:!0,relevance:0},{begin:/(?=[^\n])\s/,relevance:0}]}]}),Ff.C_BLOCK_COMMENT_MODE,Ff.C_LINE_COMMENT_MODE]},dme=[Ff.APOS_STRING_MODE,Ff.QUOTE_STRING_MODE,sme,ume,cme,{match:/\$\d+/},ime];ome.contains=dme.concat({begin:/\{/,end:/\}/,keywords:eme,contains:["self"].concat(dme)});const fme=[].concat(lme,ome.contains),hme=fme.concat([{begin:/\(/,end:/\)/,keywords:eme,contains:["self"].concat(fme)}]),pme={className:"params",begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:eme,contains:hme},gme={variants:[{match:[/class/,/\s+/,$_,/\s+/,/extends/,/\s+/,kh.concat($_,"(",kh.concat(/\./,$_),")*")],scope:{1:"keyword",3:"title.class",5:"keyword",7:"title.class.inherited"}},{match:[/class/,/\s+/,$_],scope:{1:"keyword",3:"title.class"}}]},vme={relevance:0,match:kh.either(/\bJSON/,/\b[A-Z][a-z]+([A-Z][a-z]*|\d)*/,/\b[A-Z]{2,}([A-Z][a-z]+|\d)+([A-Z][a-z]*)*/,/\b[A-Z]{2,}[a-z]+([A-Z][a-z]+|\d)*([A-Z][a-z]*)*/),className:"title.class",keywords:{_:[...TYPES$1,...ERROR_TYPES$1]}},mme={label:"use_strict",className:"meta",relevance:10,begin:/^\s*['"]use (strict|asm)['"]/},yme={variants:[{match:[/function/,/\s+/,$_,/(?=\s*\()/]},{match:[/function/,/\s*(?=\()/]}],className:{1:"keyword",3:"title.function"},label:"func.def",contains:[pme],illegal:/%/},bme={relevance:0,match:/\b[A-Z][A-Z_0-9]+\b/,className:"variable.constant"};function _me(Ome){return kh.concat("(?!",Ome.join("|"),")")}const Cme={match:kh.concat(/\b/,_me([...BUILT_IN_GLOBALS$1,"super","import"]),$_,kh.lookahead(/\(/)),className:"title.function",relevance:0},Ame={begin:kh.concat(/\./,kh.lookahead(kh.concat($_,/(?![0-9A-Za-z$_(])/))),end:$_,excludeBegin:!0,keywords:"prototype",className:"property",relevance:0},Rme={match:[/get|set/,/\s+/,$_,/(?=\()/],className:{1:"keyword",3:"title.function"},contains:[{begin:/\(\)/},pme]},Ime="(\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)|"+Ff.UNDERSCORE_IDENT_RE+")\\s*=>",Pme={match:[/const|var|let/,/\s+/,$_,/\s*/,/=\s*/,/(async\s*)?/,kh.lookahead(Ime)],keywords:"async",className:{1:"keyword",3:"title.function"},contains:[pme]};return{name:"Javascript",aliases:["js","jsx","mjs","cjs"],keywords:eme,exports:{PARAMS_CONTAINS:hme,CLASS_REFERENCE:vme},illegal:/#(?![$_A-z])/,contains:[Ff.SHEBANG({label:"shebang",binary:"node",relevance:5}),mme,Ff.APOS_STRING_MODE,Ff.QUOTE_STRING_MODE,sme,ume,cme,lme,{match:/\$\d+/},ime,vme,{className:"attr",begin:$_+kh.lookahead(":"),relevance:0},Pme,{begin:"("+Ff.RE_STARTERS_RE+"|\\b(case|return|throw)\\b)\\s*",keywords:"return throw case",relevance:0,contains:[lme,Ff.REGEXP_MODE,{className:"function",begin:Ime,returnBegin:!0,end:"\\s*=>",contains:[{className:"params",variants:[{begin:Ff.UNDERSCORE_IDENT_RE,relevance:0},{className:null,begin:/\(\s*\)/,skip:!0},{begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:eme,contains:hme}]}]},{begin:/,/,relevance:0},{match:/\s+/,relevance:0},{variants:[{begin:B_.begin,end:B_.end},{match:$P},{begin:zP.begin,"on:begin":zP.isTrulyOpeningTag,end:zP.end}],subLanguage:"xml",contains:[{begin:zP.begin,end:zP.end,skip:!0,contains:["self"]}]}]},yme,{beginKeywords:"while if switch catch for"},{begin:"\\b(?!function)"+Ff.UNDERSCORE_IDENT_RE+"\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)\\s*\\{",returnBegin:!0,label:"func.def",contains:[pme,Ff.inherit(Ff.TITLE_MODE,{begin:$_,className:"title.function"})]},{match:/\.\.\./,relevance:0},Ame,{match:"\\$"+$_,relevance:0},{match:[/\bconstructor(?=\s*\()/],className:{1:"title.function"},contains:[pme]},Cme,bme,gme,Rme,{match:/\$[(.]/}]}}function json(Ff){const kh={className:"attr",begin:/"(\\.|[^\\"\r\n])*"(?=\s*:)/,relevance:1.01},x_={match:/[{}[\],:]/,className:"punctuation",relevance:0},$_=["true","false","null"],B_={scope:"literal",beginKeywords:$_.join(" ")};return{name:"JSON",keywords:{literal:$_},contains:[kh,x_,Ff.QUOTE_STRING_MODE,B_,Ff.C_NUMBER_MODE,Ff.C_LINE_COMMENT_MODE,Ff.C_BLOCK_COMMENT_MODE],illegal:"\\S"}}var decimalDigits="[0-9](_*[0-9])*",frac=`\\.(${decimalDigits})`,hexDigits="[0-9a-fA-F](_*[0-9a-fA-F])*",NUMERIC={className:"number",variants:[{begin:`(\\b(${decimalDigits})((${frac})|\\.)?|(${frac}))[eE][+-]?(${decimalDigits})[fFdD]?\\b`},{begin:`\\b(${decimalDigits})((${frac})[fFdD]?\\b|\\.([fFdD]\\b)?)`},{begin:`(${frac})[fFdD]?\\b`},{begin:`\\b(${decimalDigits})[fFdD]\\b`},{begin:`\\b0[xX]((${hexDigits})\\.?|(${hexDigits})?\\.(${hexDigits}))[pP][+-]?(${decimalDigits})[fFdD]?\\b`},{begin:"\\b(0|[1-9](_*[0-9])*)[lL]?\\b"},{begin:`\\b0[xX](${hexDigits})[lL]?\\b`},{begin:"\\b0(_*[0-7])*[lL]?\\b"},{begin:"\\b0[bB][01](_*[01])*[lL]?\\b"}],relevance:0};function kotlin(Ff){const kh={keyword:"abstract as val var vararg get set class object open private protected public noinline crossinline dynamic final enum if else do while for when throw try catch finally import package is in fun override companion reified inline lateinit init interface annotation data sealed internal infix operator out by constructor super tailrec where const inner suspend typealias external expect actual",built_in:"Byte Short Char Int Long Boolean Float Double Void Unit Nothing",literal:"true false null"},x_={className:"keyword",begin:/\b(break|continue|return|this)\b/,starts:{contains:[{className:"symbol",begin:/@\w+/}]}},$_={className:"symbol",begin:Ff.UNDERSCORE_IDENT_RE+"@"},B_={className:"subst",begin:/\$\{/,end:/\}/,contains:[Ff.C_NUMBER_MODE]},$P={className:"variable",begin:"\\$"+Ff.UNDERSCORE_IDENT_RE},zP={className:"string",variants:[{begin:'"""',end:'"""(?=[^"])',contains:[$P,B_]},{begin:"'",end:"'",illegal:/\n/,contains:[Ff.BACKSLASH_ESCAPE]},{begin:'"',end:'"',illegal:/\n/,contains:[Ff.BACKSLASH_ESCAPE,$P,B_]}]};B_.contains.push(zP);const eme={className:"meta",begin:"@(?:file|property|field|get|set|receiver|param|setparam|delegate)\\s*:(?:\\s*"+Ff.UNDERSCORE_IDENT_RE+")?"},tme={className:"meta",begin:"@"+Ff.UNDERSCORE_IDENT_RE,contains:[{begin:/\(/,end:/\)/,contains:[Ff.inherit(zP,{className:"string"}),"self"]}]},nme=NUMERIC,rme=Ff.COMMENT("/\\*","\\*/",{contains:[Ff.C_BLOCK_COMMENT_MODE]}),ime={variants:[{className:"type",begin:Ff.UNDERSCORE_IDENT_RE},{begin:/\(/,end:/\)/,contains:[]}]},ome=ime;return ome.variants[1].contains=[ime],ime.variants[1].contains=[ome],{name:"Kotlin",aliases:["kt","kts"],keywords:kh,contains:[Ff.COMMENT("/\\*\\*","\\*/",{relevance:0,contains:[{className:"doctag",begin:"@[A-Za-z]+"}]}),Ff.C_LINE_COMMENT_MODE,rme,x_,$_,eme,tme,{className:"function",beginKeywords:"fun",end:"[(]|$",returnBegin:!0,excludeEnd:!0,keywords:kh,relevance:5,contains:[{begin:Ff.UNDERSCORE_IDENT_RE+"\\s*\\(",returnBegin:!0,relevance:0,contains:[Ff.UNDERSCORE_TITLE_MODE]},{className:"type",begin:/</,end:/>/,keywords:"reified",relevance:0},{className:"params",begin:/\(/,end:/\)/,endsParent:!0,keywords:kh,relevance:0,contains:[{begin:/:/,end:/[=,\/]/,endsWithParent:!0,contains:[ime,Ff.C_LINE_COMMENT_MODE,rme],relevance:0},Ff.C_LINE_COMMENT_MODE,rme,eme,tme,zP,Ff.C_NUMBER_MODE]},rme]},{begin:[/class|interface|trait/,/\s+/,Ff.UNDERSCORE_IDENT_RE],beginScope:{3:"title.class"},keywords:"class interface trait",end:/[:\{(]|$/,excludeEnd:!0,illegal:"extends implements",contains:[{beginKeywords:"public protected internal private constructor"},Ff.UNDERSCORE_TITLE_MODE,{className:"type",begin:/</,end:/>/,excludeBegin:!0,excludeEnd:!0,relevance:0},{className:"type",begin:/[,:]\s*/,end:/[<\(,){\s]|$/,excludeBegin:!0,returnEnd:!0},eme,tme]},zP,{className:"meta",begin:"^#!/usr/bin/env",end:"$",illegal:`
136
136
  `},nme]}}const MODES$3=Ff=>({IMPORTANT:{scope:"meta",begin:"!important"},BLOCK_COMMENT:Ff.C_BLOCK_COMMENT_MODE,HEXCOLOR:{scope:"number",begin:/#(([0-9a-fA-F]{3,4})|(([0-9a-fA-F]{2}){3,4}))\b/},FUNCTION_DISPATCH:{className:"built_in",begin:/[\w-]+(?=\()/},ATTRIBUTE_SELECTOR_MODE:{scope:"selector-attr",begin:/\[/,end:/\]/,illegal:"$",contains:[Ff.APOS_STRING_MODE,Ff.QUOTE_STRING_MODE]},CSS_NUMBER_MODE:{scope:"number",begin:Ff.NUMBER_RE+"(%|em|ex|ch|rem|vw|vh|vmin|vmax|cm|mm|in|pt|pc|px|deg|grad|rad|turn|s|ms|Hz|kHz|dpi|dpcm|dppx)?",relevance:0},CSS_VARIABLE:{className:"attr",begin:/--[A-Za-z][A-Za-z0-9_-]*/}}),TAGS$1=["a","abbr","address","article","aside","audio","b","blockquote","body","button","canvas","caption","cite","code","dd","del","details","dfn","div","dl","dt","em","fieldset","figcaption","figure","footer","form","h1","h2","h3","h4","h5","h6","header","hgroup","html","i","iframe","img","input","ins","kbd","label","legend","li","main","mark","menu","nav","object","ol","p","q","quote","samp","section","span","strong","summary","sup","table","tbody","td","textarea","tfoot","th","thead","time","tr","ul","var","video"],MEDIA_FEATURES$1=["any-hover","any-pointer","aspect-ratio","color","color-gamut","color-index","device-aspect-ratio","device-height","device-width","display-mode","forced-colors","grid","height","hover","inverted-colors","monochrome","orientation","overflow-block","overflow-inline","pointer","prefers-color-scheme","prefers-contrast","prefers-reduced-motion","prefers-reduced-transparency","resolution","scan","scripting","update","width","min-width","max-width","min-height","max-height"],PSEUDO_CLASSES$1=["active","any-link","blank","checked","current","default","defined","dir","disabled","drop","empty","enabled","first","first-child","first-of-type","fullscreen","future","focus","focus-visible","focus-within","has","host","host-context","hover","indeterminate","in-range","invalid","is","lang","last-child","last-of-type","left","link","local-link","not","nth-child","nth-col","nth-last-child","nth-last-col","nth-last-of-type","nth-of-type","only-child","only-of-type","optional","out-of-range","past","placeholder-shown","read-only","read-write","required","right","root","scope","target","target-within","user-invalid","valid","visited","where"],PSEUDO_ELEMENTS$1=["after","backdrop","before","cue","cue-region","first-letter","first-line","grammar-error","marker","part","placeholder","selection","slotted","spelling-error"],ATTRIBUTES$1=["align-content","align-items","align-self","all","animation","animation-delay","animation-direction","animation-duration","animation-fill-mode","animation-iteration-count","animation-name","animation-play-state","animation-timing-function","backface-visibility","background","background-attachment","background-blend-mode","background-clip","background-color","background-image","background-origin","background-position","background-repeat","background-size","block-size","border","border-block","border-block-color","border-block-end","border-block-end-color","border-block-end-style","border-block-end-width","border-block-start","border-block-start-color","border-block-start-style","border-block-start-width","border-block-style","border-block-width","border-bottom","border-bottom-color","border-bottom-left-radius","border-bottom-right-radius","border-bottom-style","border-bottom-width","border-collapse","border-color","border-image","border-image-outset","border-image-repeat","border-image-slice","border-image-source","border-image-width","border-inline","border-inline-color","border-inline-end","border-inline-end-color","border-inline-end-style","border-inline-end-width","border-inline-start","border-inline-start-color","border-inline-start-style","border-inline-start-width","border-inline-style","border-inline-width","border-left","border-left-color","border-left-style","border-left-width","border-radius","border-right","border-right-color","border-right-style","border-right-width","border-spacing","border-style","border-top","border-top-color","border-top-left-radius","border-top-right-radius","border-top-style","border-top-width","border-width","bottom","box-decoration-break","box-shadow","box-sizing","break-after","break-before","break-inside","caption-side","caret-color","clear","clip","clip-path","clip-rule","color","column-count","column-fill","column-gap","column-rule","column-rule-color","column-rule-style","column-rule-width","column-span","column-width","columns","contain","content","content-visibility","counter-increment","counter-reset","cue","cue-after","cue-before","cursor","direction","display","empty-cells","filter","flex","flex-basis","flex-direction","flex-flow","flex-grow","flex-shrink","flex-wrap","float","flow","font","font-display","font-family","font-feature-settings","font-kerning","font-language-override","font-size","font-size-adjust","font-smoothing","font-stretch","font-style","font-synthesis","font-variant","font-variant-caps","font-variant-east-asian","font-variant-ligatures","font-variant-numeric","font-variant-position","font-variation-settings","font-weight","gap","glyph-orientation-vertical","grid","grid-area","grid-auto-columns","grid-auto-flow","grid-auto-rows","grid-column","grid-column-end","grid-column-start","grid-gap","grid-row","grid-row-end","grid-row-start","grid-template","grid-template-areas","grid-template-columns","grid-template-rows","hanging-punctuation","height","hyphens","icon","image-orientation","image-rendering","image-resolution","ime-mode","inline-size","isolation","justify-content","left","letter-spacing","line-break","line-height","list-style","list-style-image","list-style-position","list-style-type","margin","margin-block","margin-block-end","margin-block-start","margin-bottom","margin-inline","margin-inline-end","margin-inline-start","margin-left","margin-right","margin-top","marks","mask","mask-border","mask-border-mode","mask-border-outset","mask-border-repeat","mask-border-slice","mask-border-source","mask-border-width","mask-clip","mask-composite","mask-image","mask-mode","mask-origin","mask-position","mask-repeat","mask-size","mask-type","max-block-size","max-height","max-inline-size","max-width","min-block-size","min-height","min-inline-size","min-width","mix-blend-mode","nav-down","nav-index","nav-left","nav-right","nav-up","none","normal","object-fit","object-position","opacity","order","orphans","outline","outline-color","outline-offset","outline-style","outline-width","overflow","overflow-wrap","overflow-x","overflow-y","padding","padding-block","padding-block-end","padding-block-start","padding-bottom","padding-inline","padding-inline-end","padding-inline-start","padding-left","padding-right","padding-top","page-break-after","page-break-before","page-break-inside","pause","pause-after","pause-before","perspective","perspective-origin","pointer-events","position","quotes","resize","rest","rest-after","rest-before","right","row-gap","scroll-margin","scroll-margin-block","scroll-margin-block-end","scroll-margin-block-start","scroll-margin-bottom","scroll-margin-inline","scroll-margin-inline-end","scroll-margin-inline-start","scroll-margin-left","scroll-margin-right","scroll-margin-top","scroll-padding","scroll-padding-block","scroll-padding-block-end","scroll-padding-block-start","scroll-padding-bottom","scroll-padding-inline","scroll-padding-inline-end","scroll-padding-inline-start","scroll-padding-left","scroll-padding-right","scroll-padding-top","scroll-snap-align","scroll-snap-stop","scroll-snap-type","scrollbar-color","scrollbar-gutter","scrollbar-width","shape-image-threshold","shape-margin","shape-outside","speak","speak-as","src","tab-size","table-layout","text-align","text-align-all","text-align-last","text-combine-upright","text-decoration","text-decoration-color","text-decoration-line","text-decoration-style","text-emphasis","text-emphasis-color","text-emphasis-position","text-emphasis-style","text-indent","text-justify","text-orientation","text-overflow","text-rendering","text-shadow","text-transform","text-underline-position","top","transform","transform-box","transform-origin","transform-style","transition","transition-delay","transition-duration","transition-property","transition-timing-function","unicode-bidi","vertical-align","visibility","voice-balance","voice-duration","voice-family","voice-pitch","voice-range","voice-rate","voice-stress","voice-volume","white-space","widows","width","will-change","word-break","word-spacing","word-wrap","writing-mode","z-index"].reverse(),PSEUDO_SELECTORS=PSEUDO_CLASSES$1.concat(PSEUDO_ELEMENTS$1);function less(Ff){const kh=MODES$3(Ff),x_=PSEUDO_SELECTORS,$_="and or not only",B_="[\\w-]+",$P="("+B_+"|@\\{"+B_+"\\})",zP=[],eme=[],tme=function(fme){return{className:"string",begin:"~?"+fme+".*?"+fme}},nme=function(fme,hme,pme){return{className:fme,begin:hme,relevance:pme}},rme={$pattern:/[a-z-]+/,keyword:$_,attribute:MEDIA_FEATURES$1.join(" ")},ime={begin:"\\(",end:"\\)",contains:eme,keywords:rme,relevance:0};eme.push(Ff.C_LINE_COMMENT_MODE,Ff.C_BLOCK_COMMENT_MODE,tme("'"),tme('"'),kh.CSS_NUMBER_MODE,{begin:"(url|data-uri)\\(",starts:{className:"string",end:"[\\)\\n]",excludeEnd:!0}},kh.HEXCOLOR,ime,nme("variable","@@?"+B_,10),nme("variable","@\\{"+B_+"\\}"),nme("built_in","~?`[^`]*?`"),{className:"attribute",begin:B_+"\\s*:",end:":",returnBegin:!0,excludeEnd:!0},kh.IMPORTANT,{beginKeywords:"and not"},kh.FUNCTION_DISPATCH);const ome=eme.concat({begin:/\{/,end:/\}/,contains:zP}),sme={beginKeywords:"when",endsWithParent:!0,contains:[{beginKeywords:"and not"}].concat(eme)},ume={begin:$P+"\\s*:",returnBegin:!0,end:/[;}]/,relevance:0,contains:[{begin:/-(webkit|moz|ms|o)-/},kh.CSS_VARIABLE,{className:"attribute",begin:"\\b("+ATTRIBUTES$1.join("|")+")\\b",end:/(?=:)/,starts:{endsWithParent:!0,illegal:"[<=$]",relevance:0,contains:eme}}]},cme={className:"keyword",begin:"@(import|media|charset|font-face|(-[a-z]+-)?keyframes|supports|document|namespace|page|viewport|host)\\b",starts:{end:"[;{}]",keywords:rme,returnEnd:!0,contains:eme,relevance:0}},ame={className:"variable",variants:[{begin:"@"+B_+"\\s*:",relevance:15},{begin:"@"+B_}],starts:{end:"[;}]",returnEnd:!0,contains:ome}},lme={variants:[{begin:"[\\.#:&\\[>]",end:"[;{}]"},{begin:$P,end:/\{/}],returnBegin:!0,returnEnd:!0,illegal:`[<='$"]`,relevance:0,contains:[Ff.C_LINE_COMMENT_MODE,Ff.C_BLOCK_COMMENT_MODE,sme,nme("keyword","all\\b"),nme("variable","@\\{"+B_+"\\}"),{begin:"\\b("+TAGS$1.join("|")+")\\b",className:"selector-tag"},kh.CSS_NUMBER_MODE,nme("selector-tag",$P,0),nme("selector-id","#"+$P),nme("selector-class","\\."+$P,0),nme("selector-tag","&",0),kh.ATTRIBUTE_SELECTOR_MODE,{className:"selector-pseudo",begin:":("+PSEUDO_CLASSES$1.join("|")+")"},{className:"selector-pseudo",begin:":(:)?("+PSEUDO_ELEMENTS$1.join("|")+")"},{begin:/\(/,end:/\)/,relevance:0,contains:ome},{begin:"!important"},kh.FUNCTION_DISPATCH]},dme={begin:B_+`:(:)?(${x_.join("|")})`,returnBegin:!0,contains:[lme]};return zP.push(Ff.C_LINE_COMMENT_MODE,Ff.C_BLOCK_COMMENT_MODE,cme,ame,dme,ume,lme,sme,kh.FUNCTION_DISPATCH),{name:"Less",case_insensitive:!0,illegal:`[=>'/<($"]`,contains:zP}}function lua(Ff){const kh="\\[=*\\[",x_="\\]=*\\]",$_={begin:kh,end:x_,contains:["self"]},B_=[Ff.COMMENT("--(?!"+kh+")","$"),Ff.COMMENT("--"+kh,x_,{contains:[$_],relevance:10})];return{name:"Lua",keywords:{$pattern:Ff.UNDERSCORE_IDENT_RE,literal:"true false nil",keyword:"and break do else elseif end for goto if in local not or repeat return then until while",built_in:"_G _ENV _VERSION __index __newindex __mode __call __metatable __tostring __len __gc __add __sub __mul __div __mod __pow __concat __unm __eq __lt __le 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 arg self coroutine resume yield status wrap create running debug getupvalue debug sethook getmetatable gethook setmetatable setlocal traceback setfenv getinfo setupvalue getlocal getregistry getfenv io lines write close flush open output type read stderr stdin input stdout popen tmpfile math log max acos huge ldexp pi cos tanh pow deg tan cosh sinh random randomseed frexp ceil floor rad abs sqrt modf asin min mod fmod log10 atan2 exp sin atan os exit setlocale date getenv difftime remove time clock tmpname rename execute package preload loadlib loaded loaders cpath config path seeall string sub upper len gfind rep find match char dump gmatch reverse byte format gsub lower table setn insert getn foreachi maxn foreach concat sort remove"},contains:B_.concat([{className:"function",beginKeywords:"function",end:"\\)",contains:[Ff.inherit(Ff.TITLE_MODE,{begin:"([_a-zA-Z]\\w*\\.)*([_a-zA-Z]\\w*:)?[_a-zA-Z]\\w*"}),{className:"params",begin:"\\(",endsWithParent:!0,contains:B_}].concat(B_)},Ff.C_NUMBER_MODE,Ff.APOS_STRING_MODE,Ff.QUOTE_STRING_MODE,{className:"string",begin:kh,end:x_,contains:[$_],relevance:5}])}}function makefile(Ff){const kh={className:"variable",variants:[{begin:"\\$\\("+Ff.UNDERSCORE_IDENT_RE+"\\)",contains:[Ff.BACKSLASH_ESCAPE]},{begin:/\$[@%<?\^\+\*]/}]},x_={className:"string",begin:/"/,end:/"/,contains:[Ff.BACKSLASH_ESCAPE,kh]},$_={className:"variable",begin:/\$\([\w-]+\s/,end:/\)/,keywords:{built_in:"subst patsubst strip findstring filter filter-out sort word wordlist firstword lastword dir notdir suffix basename addsuffix addprefix join wildcard realpath abspath error warning shell origin flavor foreach if or and call eval file value"},contains:[kh]},B_={begin:"^"+Ff.UNDERSCORE_IDENT_RE+"\\s*(?=[:+?]?=)"},$P={className:"meta",begin:/^\.PHONY:/,end:/$/,keywords:{$pattern:/[\.\w]+/,keyword:".PHONY"}},zP={className:"section",begin:/^[^\s]+:/,end:/$/,contains:[kh]};return{name:"Makefile",aliases:["mk","mak","make"],keywords:{$pattern:/[\w-]+/,keyword:"define endef undefine ifdef ifndef ifeq ifneq else endif include -include sinclude override export unexport private vpath"},contains:[Ff.HASH_COMMENT_MODE,kh,x_,$_,B_,$P,zP]}}function markdown(Ff){const kh=Ff.regex,x_={begin:/<\/?[A-Za-z_]/,end:">",subLanguage:"xml",relevance:0},$_={begin:"^[-\\*]{3,}",end:"$"},B_={className:"code",variants:[{begin:"(`{3,})[^`](.|\\n)*?\\1`*[ ]*"},{begin:"(~{3,})[^~](.|\\n)*?\\1~*[ ]*"},{begin:"```",end:"```+[ ]*$"},{begin:"~~~",end:"~~~+[ ]*$"},{begin:"`.+?`"},{begin:"(?=^( {4}|\\t))",contains:[{begin:"^( {4}|\\t)",end:"(\\n)$"}],relevance:0}]},$P={className:"bullet",begin:"^[ ]*([*+-]|(\\d+\\.))(?=\\s+)",end:"\\s+",excludeEnd:!0},zP={begin:/^\[[^\n]+\]:/,returnBegin:!0,contains:[{className:"symbol",begin:/\[/,end:/\]/,excludeBegin:!0,excludeEnd:!0},{className:"link",begin:/:\s*/,end:/$/,excludeBegin:!0}]},eme=/[A-Za-z][A-Za-z0-9+.-]*/,tme={variants:[{begin:/\[.+?\]\[.*?\]/,relevance:0},{begin:/\[.+?\]\(((data|javascript|mailto):|(?:http|ftp)s?:\/\/).*?\)/,relevance:2},{begin:kh.concat(/\[.+?\]\(/,eme,/:\/\/.*?\)/),relevance:2},{begin:/\[.+?\]\([./?&#].*?\)/,relevance:1},{begin:/\[.*?\]\(.*?\)/,relevance:0}],returnBegin:!0,contains:[{match:/\[(?=\])/},{className:"string",relevance:0,begin:"\\[",end:"\\]",excludeBegin:!0,returnEnd:!0},{className:"link",relevance:0,begin:"\\]\\(",end:"\\)",excludeBegin:!0,excludeEnd:!0},{className:"symbol",relevance:0,begin:"\\]\\[",end:"\\]",excludeBegin:!0,excludeEnd:!0}]},nme={className:"strong",contains:[],variants:[{begin:/_{2}(?!\s)/,end:/_{2}/},{begin:/\*{2}(?!\s)/,end:/\*{2}/}]},rme={className:"emphasis",contains:[],variants:[{begin:/\*(?![*\s])/,end:/\*/},{begin:/_(?![_\s])/,end:/_/,relevance:0}]},ime=Ff.inherit(nme,{contains:[]}),ome=Ff.inherit(rme,{contains:[]});nme.contains.push(ome),rme.contains.push(ime);let sme=[x_,tme];return[nme,rme,ime,ome].forEach(ame=>{ame.contains=ame.contains.concat(sme)}),sme=sme.concat(nme,rme),{name:"Markdown",aliases:["md","mkdown","mkd"],contains:[{className:"section",variants:[{begin:"^#{1,6}",end:"$",contains:sme},{begin:"(?=^.+?\\n[=-]{2,}$)",contains:[{begin:"^[=-]*$"},{begin:"^",end:"\\n",contains:sme}]}]},x_,$P,nme,rme,{className:"quote",begin:"^>\\s+",contains:sme,end:"$"},B_,$_,tme,zP]}}function objectivec(Ff){const kh={className:"built_in",begin:"\\b(AV|CA|CF|CG|CI|CL|CM|CN|CT|MK|MP|MTK|MTL|NS|SCN|SK|UI|WK|XC)\\w+"},x_=/[a-zA-Z@][a-zA-Z0-9_]*/,eme={"variable.language":["this","super"],$pattern:x_,keyword:["while","export","sizeof","typedef","const","struct","for","union","volatile","static","mutable","if","do","return","goto","enum","else","break","extern","asm","case","default","register","explicit","typename","switch","continue","inline","readonly","assign","readwrite","self","@synchronized","id","typeof","nonatomic","IBOutlet","IBAction","strong","weak","copy","in","out","inout","bycopy","byref","oneway","__strong","__weak","__block","__autoreleasing","@private","@protected","@public","@try","@property","@end","@throw","@catch","@finally","@autoreleasepool","@synthesize","@dynamic","@selector","@optional","@required","@encode","@package","@import","@defs","@compatibility_alias","__bridge","__bridge_transfer","__bridge_retained","__bridge_retain","__covariant","__contravariant","__kindof","_Nonnull","_Nullable","_Null_unspecified","__FUNCTION__","__PRETTY_FUNCTION__","__attribute__","getter","setter","retain","unsafe_unretained","nonnull","nullable","null_unspecified","null_resettable","class","instancetype","NS_DESIGNATED_INITIALIZER","NS_UNAVAILABLE","NS_REQUIRES_SUPER","NS_RETURNS_INNER_POINTER","NS_INLINE","NS_AVAILABLE","NS_DEPRECATED","NS_ENUM","NS_OPTIONS","NS_SWIFT_UNAVAILABLE","NS_ASSUME_NONNULL_BEGIN","NS_ASSUME_NONNULL_END","NS_REFINED_FOR_SWIFT","NS_SWIFT_NAME","NS_SWIFT_NOTHROW","NS_DURING","NS_HANDLER","NS_ENDHANDLER","NS_VALUERETURN","NS_VOIDRETURN"],literal:["false","true","FALSE","TRUE","nil","YES","NO","NULL"],built_in:["dispatch_once_t","dispatch_queue_t","dispatch_sync","dispatch_async","dispatch_once"],type:["int","float","char","unsigned","signed","short","long","double","wchar_t","unichar","void","bool","BOOL","id|0","_Bool"]},tme={$pattern:x_,keyword:["@interface","@class","@protocol","@implementation"]};return{name:"Objective-C",aliases:["mm","objc","obj-c","obj-c++","objective-c++"],keywords:eme,illegal:"</",contains:[kh,Ff.C_LINE_COMMENT_MODE,Ff.C_BLOCK_COMMENT_MODE,Ff.C_NUMBER_MODE,Ff.QUOTE_STRING_MODE,Ff.APOS_STRING_MODE,{className:"string",variants:[{begin:'@"',end:'"',illegal:"\\n",contains:[Ff.BACKSLASH_ESCAPE]}]},{className:"meta",begin:/#\s*[a-z]+\b/,end:/$/,keywords:{keyword:"if else elif endif define undef warning error line pragma ifdef ifndef include"},contains:[{begin:/\\\n/,relevance:0},Ff.inherit(Ff.QUOTE_STRING_MODE,{className:"string"}),{className:"string",begin:/<.*?>/,end:/$/,illegal:"\\n"},Ff.C_LINE_COMMENT_MODE,Ff.C_BLOCK_COMMENT_MODE]},{className:"class",begin:"("+tme.keyword.join("|")+")\\b",end:/(\{|$)/,excludeEnd:!0,keywords:tme,contains:[Ff.UNDERSCORE_TITLE_MODE]},{begin:"\\."+Ff.UNDERSCORE_IDENT_RE,relevance:0}]}}function perl(Ff){const kh=Ff.regex,x_=["abs","accept","alarm","and","atan2","bind","binmode","bless","break","caller","chdir","chmod","chomp","chop","chown","chr","chroot","close","closedir","connect","continue","cos","crypt","dbmclose","dbmopen","defined","delete","die","do","dump","each","else","elsif","endgrent","endhostent","endnetent","endprotoent","endpwent","endservent","eof","eval","exec","exists","exit","exp","fcntl","fileno","flock","for","foreach","fork","format","formline","getc","getgrent","getgrgid","getgrnam","gethostbyaddr","gethostbyname","gethostent","getlogin","getnetbyaddr","getnetbyname","getnetent","getpeername","getpgrp","getpriority","getprotobyname","getprotobynumber","getprotoent","getpwent","getpwnam","getpwuid","getservbyname","getservbyport","getservent","getsockname","getsockopt","given","glob","gmtime","goto","grep","gt","hex","if","index","int","ioctl","join","keys","kill","last","lc","lcfirst","length","link","listen","local","localtime","log","lstat","lt","ma","map","mkdir","msgctl","msgget","msgrcv","msgsnd","my","ne","next","no","not","oct","open","opendir","or","ord","our","pack","package","pipe","pop","pos","print","printf","prototype","push","q|0","qq","quotemeta","qw","qx","rand","read","readdir","readline","readlink","readpipe","recv","redo","ref","rename","require","reset","return","reverse","rewinddir","rindex","rmdir","say","scalar","seek","seekdir","select","semctl","semget","semop","send","setgrent","sethostent","setnetent","setpgrp","setpriority","setprotoent","setpwent","setservent","setsockopt","shift","shmctl","shmget","shmread","shmwrite","shutdown","sin","sleep","socket","socketpair","sort","splice","split","sprintf","sqrt","srand","stat","state","study","sub","substr","symlink","syscall","sysopen","sysread","sysseek","system","syswrite","tell","telldir","tie","tied","time","times","tr","truncate","uc","ucfirst","umask","undef","unless","unlink","unpack","unshift","untie","until","use","utime","values","vec","wait","waitpid","wantarray","warn","when","while","write","x|0","xor","y|0"],$_=/[dualxmsipngr]{0,12}/,B_={$pattern:/[\w.]+/,keyword:x_.join(" ")},$P={className:"subst",begin:"[$@]\\{",end:"\\}",keywords:B_},zP={begin:/->\{/,end:/\}/},eme={variants:[{begin:/\$\d/},{begin:kh.concat(/[$%@](\^\w\b|#\w+(::\w+)*|\{\w+\}|\w+(::\w*)*)/,"(?![A-Za-z])(?![@$%])")},{begin:/[$%@][^\s\w{]/,relevance:0}]},tme=[Ff.BACKSLASH_ESCAPE,$P,eme],nme=[/!/,/\//,/\|/,/\?/,/'/,/"/,/#/],rme=(sme,ume,cme="\\1")=>{const ame=cme==="\\1"?cme:kh.concat(cme,ume);return kh.concat(kh.concat("(?:",sme,")"),ume,/(?:\\.|[^\\\/])*?/,ame,/(?:\\.|[^\\\/])*?/,cme,$_)},ime=(sme,ume,cme)=>kh.concat(kh.concat("(?:",sme,")"),ume,/(?:\\.|[^\\\/])*?/,cme,$_),ome=[eme,Ff.HASH_COMMENT_MODE,Ff.COMMENT(/^=\w/,/=cut/,{endsWithParent:!0}),zP,{className:"string",contains:tme,variants:[{begin:"q[qwxr]?\\s*\\(",end:"\\)",relevance:5},{begin:"q[qwxr]?\\s*\\[",end:"\\]",relevance:5},{begin:"q[qwxr]?\\s*\\{",end:"\\}",relevance:5},{begin:"q[qwxr]?\\s*\\|",end:"\\|",relevance:5},{begin:"q[qwxr]?\\s*<",end:">",relevance:5},{begin:"qw\\s+q",end:"q",relevance:5},{begin:"'",end:"'",contains:[Ff.BACKSLASH_ESCAPE]},{begin:'"',end:'"'},{begin:"`",end:"`",contains:[Ff.BACKSLASH_ESCAPE]},{begin:/\{\w+\}/,relevance:0},{begin:"-?\\w+\\s*=>",relevance:0}]},{className:"number",begin:"(\\b0[0-7_]+)|(\\b0x[0-9a-fA-F_]+)|(\\b[1-9][0-9_]*(\\.[0-9_]+)?)|[0_]\\b",relevance:0},{begin:"(\\/\\/|"+Ff.RE_STARTERS_RE+"|\\b(split|return|print|reverse|grep)\\b)\\s*",keywords:"split return print reverse grep",relevance:0,contains:[Ff.HASH_COMMENT_MODE,{className:"regexp",variants:[{begin:rme("s|tr|y",kh.either(...nme,{capture:!0}))},{begin:rme("s|tr|y","\\(","\\)")},{begin:rme("s|tr|y","\\[","\\]")},{begin:rme("s|tr|y","\\{","\\}")}],relevance:2},{className:"regexp",variants:[{begin:/(m|qr)\/\//,relevance:0},{begin:ime("(?:m|qr)?",/\//,/\//)},{begin:ime("m|qr",kh.either(...nme,{capture:!0}),/\1/)},{begin:ime("m|qr",/\(/,/\)/)},{begin:ime("m|qr",/\[/,/\]/)},{begin:ime("m|qr",/\{/,/\}/)}]}]},{className:"function",beginKeywords:"sub",end:"(\\s*\\(.*?\\))?[;{]",excludeEnd:!0,relevance:5,contains:[Ff.TITLE_MODE]},{begin:"-\\w\\b",relevance:0},{begin:"^__DATA__$",end:"^__END__$",subLanguage:"mojolicious",contains:[{begin:"^@@.*",end:"$",className:"comment"}]}];return $P.contains=ome,zP.contains=ome,{name:"Perl",aliases:["pl","pm"],keywords:B_,contains:ome}}function php(Ff){const kh=Ff.regex,x_=/(?![A-Za-z0-9])(?![$])/,$_=kh.concat(/[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*/,x_),B_=kh.concat(/(\\?[A-Z][a-z0-9_\x7f-\xff]+|\\?[A-Z]+(?=[A-Z][a-z0-9_\x7f-\xff])){1,}/,x_),$P={scope:"variable",match:"\\$+"+$_},zP={scope:"meta",variants:[{begin:/<\?php/,relevance:10},{begin:/<\?=/},{begin:/<\?/,relevance:.1},{begin:/\?>/}]},eme={scope:"subst",variants:[{begin:/\$\w+/},{begin:/\{\$/,end:/\}/}]},tme=Ff.inherit(Ff.APOS_STRING_MODE,{illegal:null}),nme=Ff.inherit(Ff.QUOTE_STRING_MODE,{illegal:null,contains:Ff.QUOTE_STRING_MODE.contains.concat(eme)}),rme=Ff.END_SAME_AS_BEGIN({begin:/<<<[ \t]*(\w+)\n/,end:/[ \t]*(\w+)\b/,contains:Ff.QUOTE_STRING_MODE.contains.concat(eme)}),ime=`[
137
137
  ]`,ome={scope:"string",variants:[nme,tme,rme]},sme={scope:"number",variants:[{begin:"\\b0[bB][01]+(?:_[01]+)*\\b"},{begin:"\\b0[oO][0-7]+(?:_[0-7]+)*\\b"},{begin:"\\b0[xX][\\da-fA-F]+(?:_[\\da-fA-F]+)*\\b"},{begin:"(?:\\b\\d+(?:_\\d+)*(\\.(?:\\d+(?:_\\d+)*))?|\\B\\.\\d+)(?:[eE][+-]?\\d+)?"}],relevance:0},ume=["false","null","true"],cme=["__CLASS__","__DIR__","__FILE__","__FUNCTION__","__COMPILER_HALT_OFFSET__","__LINE__","__METHOD__","__NAMESPACE__","__TRAIT__","die","echo","exit","include","include_once","print","require","require_once","array","abstract","and","as","binary","bool","boolean","break","callable","case","catch","class","clone","const","continue","declare","default","do","double","else","elseif","empty","enddeclare","endfor","endforeach","endif","endswitch","endwhile","enum","eval","extends","final","finally","float","for","foreach","from","global","goto","if","implements","instanceof","insteadof","int","integer","interface","isset","iterable","list","match|0","mixed","new","never","object","or","private","protected","public","readonly","real","return","string","switch","throw","trait","try","unset","use","var","void","while","xor","yield"],ame=["Error|0","AppendIterator","ArgumentCountError","ArithmeticError","ArrayIterator","ArrayObject","AssertionError","BadFunctionCallException","BadMethodCallException","CachingIterator","CallbackFilterIterator","CompileError","Countable","DirectoryIterator","DivisionByZeroError","DomainException","EmptyIterator","ErrorException","Exception","FilesystemIterator","FilterIterator","GlobIterator","InfiniteIterator","InvalidArgumentException","IteratorIterator","LengthException","LimitIterator","LogicException","MultipleIterator","NoRewindIterator","OutOfBoundsException","OutOfRangeException","OuterIterator","OverflowException","ParentIterator","ParseError","RangeException","RecursiveArrayIterator","RecursiveCachingIterator","RecursiveCallbackFilterIterator","RecursiveDirectoryIterator","RecursiveFilterIterator","RecursiveIterator","RecursiveIteratorIterator","RecursiveRegexIterator","RecursiveTreeIterator","RegexIterator","RuntimeException","SeekableIterator","SplDoublyLinkedList","SplFileInfo","SplFileObject","SplFixedArray","SplHeap","SplMaxHeap","SplMinHeap","SplObjectStorage","SplObserver","SplPriorityQueue","SplQueue","SplStack","SplSubject","SplTempFileObject","TypeError","UnderflowException","UnexpectedValueException","UnhandledMatchError","ArrayAccess","BackedEnum","Closure","Fiber","Generator","Iterator","IteratorAggregate","Serializable","Stringable","Throwable","Traversable","UnitEnum","WeakReference","WeakMap","Directory","__PHP_Incomplete_Class","parent","php_user_filter","self","static","stdClass"],dme={keyword:cme,literal:(Cme=>{const Ame=[];return Cme.forEach(Rme=>{Ame.push(Rme),Rme.toLowerCase()===Rme?Ame.push(Rme.toUpperCase()):Ame.push(Rme.toLowerCase())}),Ame})(ume),built_in:ame},fme=Cme=>Cme.map(Ame=>Ame.replace(/\|\d+$/,"")),hme={variants:[{match:[/new/,kh.concat(ime,"+"),kh.concat("(?!",fme(ame).join("\\b|"),"\\b)"),B_],scope:{1:"keyword",4:"title.class"}}]},pme=kh.concat($_,"\\b(?!\\()"),gme={variants:[{match:[kh.concat(/::/,kh.lookahead(/(?!class\b)/)),pme],scope:{2:"variable.constant"}},{match:[/::/,/class/],scope:{2:"variable.language"}},{match:[B_,kh.concat(/::/,kh.lookahead(/(?!class\b)/)),pme],scope:{1:"title.class",3:"variable.constant"}},{match:[B_,kh.concat("::",kh.lookahead(/(?!class\b)/))],scope:{1:"title.class"}},{match:[B_,/::/,/class/],scope:{1:"title.class",3:"variable.language"}}]},vme={scope:"attr",match:kh.concat($_,kh.lookahead(":"),kh.lookahead(/(?!::)/))},mme={relevance:0,begin:/\(/,end:/\)/,keywords:dme,contains:[vme,$P,gme,Ff.C_BLOCK_COMMENT_MODE,ome,sme,hme]},yme={relevance:0,match:[/\b/,kh.concat("(?!fn\\b|function\\b|",fme(cme).join("\\b|"),"|",fme(ame).join("\\b|"),"\\b)"),$_,kh.concat(ime,"*"),kh.lookahead(/(?=\()/)],scope:{3:"title.function.invoke"},contains:[mme]};mme.contains.push(yme);const bme=[vme,gme,Ff.C_BLOCK_COMMENT_MODE,ome,sme,hme],_me={begin:kh.concat(/#\[\s*/,B_),beginScope:"meta",end:/]/,endScope:"meta",keywords:{literal:ume,keyword:["new","array"]},contains:[{begin:/\[/,end:/]/,keywords:{literal:ume,keyword:["new","array"]},contains:["self",...bme]},...bme,{scope:"meta",match:B_}]};return{case_insensitive:!1,keywords:dme,contains:[_me,Ff.HASH_COMMENT_MODE,Ff.COMMENT("//","$"),Ff.COMMENT("/\\*","\\*/",{contains:[{scope:"doctag",match:"@[A-Za-z]+"}]}),{match:/__halt_compiler\(\);/,keywords:"__halt_compiler",starts:{scope:"comment",end:Ff.MATCH_NOTHING_RE,contains:[{match:/\?>/,scope:"meta",endsParent:!0}]}},zP,{scope:"variable.language",match:/\$this\b/},$P,yme,gme,{match:[/const/,/\s/,$_],scope:{1:"keyword",3:"variable.constant"}},hme,{scope:"function",relevance:0,beginKeywords:"fn function",end:/[;{]/,excludeEnd:!0,illegal:"[$%\\[]",contains:[{beginKeywords:"use"},Ff.UNDERSCORE_TITLE_MODE,{begin:"=>",endsParent:!0},{scope:"params",begin:"\\(",end:"\\)",excludeBegin:!0,excludeEnd:!0,keywords:dme,contains:["self",$P,gme,Ff.C_BLOCK_COMMENT_MODE,ome,sme]}]},{scope:"class",variants:[{beginKeywords:"enum",illegal:/[($"]/},{beginKeywords:"class interface trait",illegal:/[:($"]/}],relevance:0,end:/\{/,excludeEnd:!0,contains:[{beginKeywords:"extends implements"},Ff.UNDERSCORE_TITLE_MODE]},{beginKeywords:"namespace",relevance:0,end:";",illegal:/[.']/,contains:[Ff.inherit(Ff.UNDERSCORE_TITLE_MODE,{scope:"title.class"})]},{beginKeywords:"use",relevance:0,end:";",contains:[{match:/\b(as|const|function)\b/,scope:"keyword"},Ff.UNDERSCORE_TITLE_MODE]},ome,sme]}}function phpTemplate(Ff){return{name:"PHP template",subLanguage:"xml",contains:[{begin:/<\?(php|=)?/,end:/\?>/,subLanguage:"php",contains:[{begin:"/\\*",end:"\\*/",skip:!0},{begin:'b"',end:'"',skip:!0},{begin:"b'",end:"'",skip:!0},Ff.inherit(Ff.APOS_STRING_MODE,{illegal:null,className:null,contains:null,skip:!0}),Ff.inherit(Ff.QUOTE_STRING_MODE,{illegal:null,className:null,contains:null,skip:!0})]}]}}function plaintext(Ff){return{name:"Plain text",aliases:["text","txt"],disableAutodetect:!0}}function python(Ff){const kh=Ff.regex,x_=new RegExp("[\\p{XID_Start}_]\\p{XID_Continue}*","u"),$_=["and","as","assert","async","await","break","case","class","continue","def","del","elif","else","except","finally","for","from","global","if","import","in","is","lambda","match","nonlocal|10","not","or","pass","raise","return","try","while","with","yield"],eme={$pattern:/[A-Za-z]\w+|__\w+__/,keyword:$_,built_in:["__import__","abs","all","any","ascii","bin","bool","breakpoint","bytearray","bytes","callable","chr","classmethod","compile","complex","delattr","dict","dir","divmod","enumerate","eval","exec","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","print","property","range","repr","reversed","round","set","setattr","slice","sorted","staticmethod","str","sum","super","tuple","type","vars","zip"],literal:["__debug__","Ellipsis","False","None","NotImplemented","True"],type:["Any","Callable","Coroutine","Dict","List","Literal","Generic","Optional","Sequence","Set","Tuple","Type","Union"]},tme={className:"meta",begin:/^(>>>|\.\.\.) /},nme={className:"subst",begin:/\{/,end:/\}/,keywords:eme,illegal:/#/},rme={begin:/\{\{/,relevance:0},ime={className:"string",contains:[Ff.BACKSLASH_ESCAPE],variants:[{begin:/([uU]|[bB]|[rR]|[bB][rR]|[rR][bB])?'''/,end:/'''/,contains:[Ff.BACKSLASH_ESCAPE,tme],relevance:10},{begin:/([uU]|[bB]|[rR]|[bB][rR]|[rR][bB])?"""/,end:/"""/,contains:[Ff.BACKSLASH_ESCAPE,tme],relevance:10},{begin:/([fF][rR]|[rR][fF]|[fF])'''/,end:/'''/,contains:[Ff.BACKSLASH_ESCAPE,tme,rme,nme]},{begin:/([fF][rR]|[rR][fF]|[fF])"""/,end:/"""/,contains:[Ff.BACKSLASH_ESCAPE,tme,rme,nme]},{begin:/([uU]|[rR])'/,end:/'/,relevance:10},{begin:/([uU]|[rR])"/,end:/"/,relevance:10},{begin:/([bB]|[bB][rR]|[rR][bB])'/,end:/'/},{begin:/([bB]|[bB][rR]|[rR][bB])"/,end:/"/},{begin:/([fF][rR]|[rR][fF]|[fF])'/,end:/'/,contains:[Ff.BACKSLASH_ESCAPE,rme,nme]},{begin:/([fF][rR]|[rR][fF]|[fF])"/,end:/"/,contains:[Ff.BACKSLASH_ESCAPE,rme,nme]},Ff.APOS_STRING_MODE,Ff.QUOTE_STRING_MODE]},ome="[0-9](_?[0-9])*",sme=`(\\b(${ome}))?\\.(${ome})|\\b(${ome})\\.`,ume=`\\b|${$_.join("|")}`,cme={className:"number",relevance:0,variants:[{begin:`(\\b(${ome})|(${sme}))[eE][+-]?(${ome})[jJ]?(?=${ume})`},{begin:`(${sme})[jJ]?`},{begin:`\\b([1-9](_?[0-9])*|0+(_?0)*)[lLjJ]?(?=${ume})`},{begin:`\\b0[bB](_?[01])+[lL]?(?=${ume})`},{begin:`\\b0[oO](_?[0-7])+[lL]?(?=${ume})`},{begin:`\\b0[xX](_?[0-9a-fA-F])+[lL]?(?=${ume})`},{begin:`\\b(${ome})[jJ](?=${ume})`}]},ame={className:"comment",begin:kh.lookahead(/# type:/),end:/$/,keywords:eme,contains:[{begin:/# type:/},{begin:/#/,end:/\b\B/,endsWithParent:!0}]},lme={className:"params",variants:[{className:"",begin:/\(\s*\)/,skip:!0},{begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:eme,contains:["self",tme,cme,ime,Ff.HASH_COMMENT_MODE]}]};return nme.contains=[ime,cme,tme],{name:"Python",aliases:["py","gyp","ipython"],unicodeRegex:!0,keywords:eme,illegal:/(<\/|->|\?)|=>/,contains:[tme,cme,{begin:/\bself\b/},{beginKeywords:"if",relevance:0},ime,ame,Ff.HASH_COMMENT_MODE,{match:[/\bdef/,/\s+/,x_],scope:{1:"keyword",3:"title.function"},contains:[lme]},{variants:[{match:[/\bclass/,/\s+/,x_,/\s*/,/\(\s*/,x_,/\s*\)/]},{match:[/\bclass/,/\s+/,x_]}],scope:{1:"keyword",3:"title.class",6:"title.class.inherited"}},{className:"meta",begin:/^[\t ]*@/,end:/(?=#)|$/,contains:[cme,lme,ime]}]}}function pythonRepl(Ff){return{aliases:["pycon"],contains:[{className:"meta.prompt",starts:{end:/ |$/,starts:{end:"$",subLanguage:"python"}},variants:[{begin:/^>>>(?=[ ]|$)/},{begin:/^\.\.\.(?=[ ]|$)/}]}]}}function r$2(Ff){const kh=Ff.regex,x_=/(?:(?:[a-zA-Z]|\.[._a-zA-Z])[._a-zA-Z0-9]*)|\.(?!\d)/,$_=kh.either(/0[xX][0-9a-fA-F]+\.[0-9a-fA-F]*[pP][+-]?\d+i?/,/0[xX][0-9a-fA-F]+(?:[pP][+-]?\d+)?[Li]?/,/(?:\d+(?:\.\d*)?|\.\d+)(?:[eE][+-]?\d+)?[Li]?/),B_=/[=!<>:]=|\|\||&&|:::?|<-|<<-|->>|->|\|>|[-+*\/?!$&|:<=>@^~]|\*\*/,$P=kh.either(/[()]/,/[{}]/,/\[\[/,/[[\]]/,/\\/,/,/);return{name:"R",keywords:{$pattern:x_,keyword:"function if in break next repeat else for while",literal:"NULL NA TRUE FALSE Inf NaN NA_integer_|10 NA_real_|10 NA_character_|10 NA_complex_|10",built_in:"LETTERS letters month.abb month.name pi T F abs acos acosh all any anyNA Arg as.call as.character as.complex as.double as.environment as.integer as.logical as.null.default as.numeric as.raw asin asinh atan atanh attr attributes baseenv browser c call ceiling class Conj cos cosh cospi cummax cummin cumprod cumsum digamma dim dimnames emptyenv exp expression floor forceAndCall gamma gc.time globalenv Im interactive invisible is.array is.atomic is.call is.character is.complex is.double is.environment is.expression is.finite is.function is.infinite is.integer is.language is.list is.logical is.matrix is.na is.name is.nan is.null is.numeric is.object is.pairlist is.raw is.recursive is.single is.symbol lazyLoadDBfetch length lgamma list log max min missing Mod names nargs nzchar oldClass on.exit pos.to.env proc.time prod quote range Re rep retracemem return round seq_along seq_len seq.int sign signif sin sinh sinpi sqrt standardGeneric substitute sum switch tan tanh tanpi tracemem trigamma trunc unclass untracemem UseMethod xtfrm"},contains:[Ff.COMMENT(/#'/,/$/,{contains:[{scope:"doctag",match:/@examples/,starts:{end:kh.lookahead(kh.either(/\n^#'\s*(?=@[a-zA-Z]+)/,/\n^(?!#')/)),endsParent:!0}},{scope:"doctag",begin:"@param",end:/$/,contains:[{scope:"variable",variants:[{match:x_},{match:/`(?:\\.|[^`\\])+`/}],endsParent:!0}]},{scope:"doctag",match:/@[a-zA-Z]+/},{scope:"keyword",match:/\\[a-zA-Z]+/}]}),Ff.HASH_COMMENT_MODE,{scope:"string",contains:[Ff.BACKSLASH_ESCAPE],variants:[Ff.END_SAME_AS_BEGIN({begin:/[rR]"(-*)\(/,end:/\)(-*)"/}),Ff.END_SAME_AS_BEGIN({begin:/[rR]"(-*)\{/,end:/\}(-*)"/}),Ff.END_SAME_AS_BEGIN({begin:/[rR]"(-*)\[/,end:/\](-*)"/}),Ff.END_SAME_AS_BEGIN({begin:/[rR]'(-*)\(/,end:/\)(-*)'/}),Ff.END_SAME_AS_BEGIN({begin:/[rR]'(-*)\{/,end:/\}(-*)'/}),Ff.END_SAME_AS_BEGIN({begin:/[rR]'(-*)\[/,end:/\](-*)'/}),{begin:'"',end:'"',relevance:0},{begin:"'",end:"'",relevance:0}]},{relevance:0,variants:[{scope:{1:"operator",2:"number"},match:[B_,$_]},{scope:{1:"operator",2:"number"},match:[/%[^%]*%/,$_]},{scope:{1:"punctuation",2:"number"},match:[$P,$_]},{scope:{2:"number"},match:[/[^a-zA-Z0-9._]|^/,$_]}]},{scope:{3:"operator"},match:[x_,/\s+/,/<-/,/\s+/]},{scope:"operator",relevance:0,variants:[{match:B_},{match:/%[^%]*%/}]},{scope:"punctuation",relevance:0,match:$P},{begin:"`",end:"`",contains:[{begin:/\\./}]}]}}function ruby(Ff){const kh=Ff.regex,x_="([a-zA-Z_]\\w*[!?=]?|[-+~]@|<<|>>|=~|===?|<=>|[<>]=?|\\*\\*|[-/+%^&*~`|]|\\[\\]=?)",$_=kh.either(/\b([A-Z]+[a-z0-9]+)+/,/\b([A-Z]+[a-z0-9]+)+[A-Z]+/),B_=kh.concat($_,/(::\w+)*/),zP={"variable.constant":["__FILE__","__LINE__","__ENCODING__"],"variable.language":["self","super"],keyword:["alias","and","begin","BEGIN","break","case","class","defined","do","else","elsif","end","END","ensure","for","if","in","module","next","not","or","redo","require","rescue","retry","return","then","undef","unless","until","when","while","yield",...["include","extend","prepend","public","private","protected","raise","throw"]],built_in:["proc","lambda","attr_accessor","attr_reader","attr_writer","define_method","private_constant","module_function"],literal:["true","false","nil"]},eme={className:"doctag",begin:"@[A-Za-z]+"},tme={begin:"#<",end:">"},nme=[Ff.COMMENT("#","$",{contains:[eme]}),Ff.COMMENT("^=begin","^=end",{contains:[eme],relevance:10}),Ff.COMMENT("^__END__",Ff.MATCH_NOTHING_RE)],rme={className:"subst",begin:/#\{/,end:/\}/,keywords:zP},ime={className:"string",contains:[Ff.BACKSLASH_ESCAPE,rme],variants:[{begin:/'/,end:/'/},{begin:/"/,end:/"/},{begin:/`/,end:/`/},{begin:/%[qQwWx]?\(/,end:/\)/},{begin:/%[qQwWx]?\[/,end:/\]/},{begin:/%[qQwWx]?\{/,end:/\}/},{begin:/%[qQwWx]?</,end:/>/},{begin:/%[qQwWx]?\//,end:/\//},{begin:/%[qQwWx]?%/,end:/%/},{begin:/%[qQwWx]?-/,end:/-/},{begin:/%[qQwWx]?\|/,end:/\|/},{begin:/\B\?(\\\d{1,3})/},{begin:/\B\?(\\x[A-Fa-f0-9]{1,2})/},{begin:/\B\?(\\u\{?[A-Fa-f0-9]{1,6}\}?)/},{begin:/\B\?(\\M-\\C-|\\M-\\c|\\c\\M-|\\M-|\\C-\\M-)[\x20-\x7e]/},{begin:/\B\?\\(c|C-)[\x20-\x7e]/},{begin:/\B\?\\?\S/},{begin:kh.concat(/<<[-~]?'?/,kh.lookahead(/(\w+)(?=\W)[^\n]*\n(?:[^\n]*\n)*?\s*\1\b/)),contains:[Ff.END_SAME_AS_BEGIN({begin:/(\w+)/,end:/(\w+)/,contains:[Ff.BACKSLASH_ESCAPE,rme]})]}]},ome="[1-9](_?[0-9])*|0",sme="[0-9](_?[0-9])*",ume={className:"number",relevance:0,variants:[{begin:`\\b(${ome})(\\.(${sme}))?([eE][+-]?(${sme})|r)?i?\\b`},{begin:"\\b0[dD][0-9](_?[0-9])*r?i?\\b"},{begin:"\\b0[bB][0-1](_?[0-1])*r?i?\\b"},{begin:"\\b0[oO][0-7](_?[0-7])*r?i?\\b"},{begin:"\\b0[xX][0-9a-fA-F](_?[0-9a-fA-F])*r?i?\\b"},{begin:"\\b0(_?[0-7])+r?i?\\b"}]},cme={variants:[{match:/\(\)/},{className:"params",begin:/\(/,end:/(?=\))/,excludeBegin:!0,endsParent:!0,keywords:zP}]},gme=[ime,{variants:[{match:[/class\s+/,B_,/\s+<\s+/,B_]},{match:[/\b(class|module)\s+/,B_]}],scope:{2:"title.class",4:"title.class.inherited"},keywords:zP},{match:[/(include|extend)\s+/,B_],scope:{2:"title.class"},keywords:zP},{relevance:0,match:[B_,/\.new[. (]/],scope:{1:"title.class"}},{relevance:0,match:/\b[A-Z][A-Z_0-9]+\b/,className:"variable.constant"},{relevance:0,match:$_,scope:"title.class"},{match:[/def/,/\s+/,x_],scope:{1:"keyword",3:"title.function"},contains:[cme]},{begin:Ff.IDENT_RE+"::"},{className:"symbol",begin:Ff.UNDERSCORE_IDENT_RE+"(!|\\?)?:",relevance:0},{className:"symbol",begin:":(?!\\s)",contains:[ime,{begin:x_}],relevance:0},ume,{className:"variable",begin:"(\\$\\W)|((\\$|@@?)(\\w+))(?=[^@$?])(?![A-Za-z])(?![@$?'])"},{className:"params",begin:/\|/,end:/\|/,excludeBegin:!0,excludeEnd:!0,relevance:0,keywords:zP},{begin:"("+Ff.RE_STARTERS_RE+"|unless)\\s*",keywords:"unless",contains:[{className:"regexp",contains:[Ff.BACKSLASH_ESCAPE,rme],illegal:/\n/,variants:[{begin:"/",end:"/[a-z]*"},{begin:/%r\{/,end:/\}[a-z]*/},{begin:"%r\\(",end:"\\)[a-z]*"},{begin:"%r!",end:"![a-z]*"},{begin:"%r\\[",end:"\\][a-z]*"}]}].concat(tme,nme),relevance:0}].concat(tme,nme);rme.contains=gme,cme.contains=gme;const bme=[{begin:/^\s*=>/,starts:{end:"$",contains:gme}},{className:"meta.prompt",begin:"^("+"[>?]>"+"|"+"[\\w#]+\\(\\w+\\):\\d+:\\d+[>*]"+"|"+"(\\w+-)?\\d+\\.\\d+\\.\\d+(p\\d+)?[^\\d][^>]+>"+")(?=[ ])",starts:{end:"$",keywords:zP,contains:gme}}];return nme.unshift(tme),{name:"Ruby",aliases:["rb","gemspec","podspec","thor","irb"],keywords:zP,illegal:/\/\*/,contains:[Ff.SHEBANG({binary:"ruby"})].concat(bme).concat(nme).concat(gme)}}function rust(Ff){const kh=Ff.regex,x_={className:"title.function.invoke",relevance:0,begin:kh.concat(/\b/,/(?!let\b)/,Ff.IDENT_RE,kh.lookahead(/\s*\(/))},$_="([ui](8|16|32|64|128|size)|f(32|64))?",B_=["abstract","as","async","await","become","box","break","const","continue","crate","do","dyn","else","enum","extern","false","final","fn","for","if","impl","in","let","loop","macro","match","mod","move","mut","override","priv","pub","ref","return","self","Self","static","struct","super","trait","true","try","type","typeof","unsafe","unsized","use","virtual","where","while","yield"],$P=["true","false","Some","None","Ok","Err"],zP=["drop ","Copy","Send","Sized","Sync","Drop","Fn","FnMut","FnOnce","ToOwned","Clone","Debug","PartialEq","PartialOrd","Eq","Ord","AsRef","AsMut","Into","From","Default","Iterator","Extend","IntoIterator","DoubleEndedIterator","ExactSizeIterator","SliceConcatExt","ToString","assert!","assert_eq!","bitflags!","bytes!","cfg!","col!","concat!","concat_idents!","debug_assert!","debug_assert_eq!","env!","panic!","file!","format!","format_args!","include_bytes!","include_str!","line!","local_data_key!","module_path!","option_env!","print!","println!","select!","stringify!","try!","unimplemented!","unreachable!","vec!","write!","writeln!","macro_rules!","assert_ne!","debug_assert_ne!"],eme=["i8","i16","i32","i64","i128","isize","u8","u16","u32","u64","u128","usize","f32","f64","str","char","bool","Box","Option","Result","String","Vec"];return{name:"Rust",aliases:["rs"],keywords:{$pattern:Ff.IDENT_RE+"!?",type:eme,keyword:B_,literal:$P,built_in:zP},illegal:"</",contains:[Ff.C_LINE_COMMENT_MODE,Ff.COMMENT("/\\*","\\*/",{contains:["self"]}),Ff.inherit(Ff.QUOTE_STRING_MODE,{begin:/b?"/,illegal:null}),{className:"string",variants:[{begin:/b?r(#*)"(.|\n)*?"\1(?!#)/},{begin:/b?'\\?(x\w{2}|u\w{4}|U\w{8}|.)'/}]},{className:"symbol",begin:/'[a-zA-Z_][a-zA-Z0-9_]*/},{className:"number",variants:[{begin:"\\b0b([01_]+)"+$_},{begin:"\\b0o([0-7_]+)"+$_},{begin:"\\b0x([A-Fa-f0-9_]+)"+$_},{begin:"\\b(\\d[\\d_]*(\\.[0-9_]+)?([eE][+-]?[0-9_]+)?)"+$_}],relevance:0},{begin:[/fn/,/\s+/,Ff.UNDERSCORE_IDENT_RE],className:{1:"keyword",3:"title.function"}},{className:"meta",begin:"#!?\\[",end:"\\]",contains:[{className:"string",begin:/"/,end:/"/}]},{begin:[/let/,/\s+/,/(?:mut\s+)?/,Ff.UNDERSCORE_IDENT_RE],className:{1:"keyword",3:"keyword",4:"variable"}},{begin:[/for/,/\s+/,Ff.UNDERSCORE_IDENT_RE,/\s+/,/in/],className:{1:"keyword",3:"variable",5:"keyword"}},{begin:[/type/,/\s+/,Ff.UNDERSCORE_IDENT_RE],className:{1:"keyword",3:"title.class"}},{begin:[/(?:trait|enum|struct|union|impl|for)/,/\s+/,Ff.UNDERSCORE_IDENT_RE],className:{1:"keyword",3:"title.class"}},{begin:Ff.IDENT_RE+"::",keywords:{keyword:"Self",built_in:zP,type:eme}},{className:"punctuation",begin:"->"},x_]}}const MODES$2=Ff=>({IMPORTANT:{scope:"meta",begin:"!important"},BLOCK_COMMENT:Ff.C_BLOCK_COMMENT_MODE,HEXCOLOR:{scope:"number",begin:/#(([0-9a-fA-F]{3,4})|(([0-9a-fA-F]{2}){3,4}))\b/},FUNCTION_DISPATCH:{className:"built_in",begin:/[\w-]+(?=\()/},ATTRIBUTE_SELECTOR_MODE:{scope:"selector-attr",begin:/\[/,end:/\]/,illegal:"$",contains:[Ff.APOS_STRING_MODE,Ff.QUOTE_STRING_MODE]},CSS_NUMBER_MODE:{scope:"number",begin:Ff.NUMBER_RE+"(%|em|ex|ch|rem|vw|vh|vmin|vmax|cm|mm|in|pt|pc|px|deg|grad|rad|turn|s|ms|Hz|kHz|dpi|dpcm|dppx)?",relevance:0},CSS_VARIABLE:{className:"attr",begin:/--[A-Za-z][A-Za-z0-9_-]*/}}),TAGS=["a","abbr","address","article","aside","audio","b","blockquote","body","button","canvas","caption","cite","code","dd","del","details","dfn","div","dl","dt","em","fieldset","figcaption","figure","footer","form","h1","h2","h3","h4","h5","h6","header","hgroup","html","i","iframe","img","input","ins","kbd","label","legend","li","main","mark","menu","nav","object","ol","p","q","quote","samp","section","span","strong","summary","sup","table","tbody","td","textarea","tfoot","th","thead","time","tr","ul","var","video"],MEDIA_FEATURES=["any-hover","any-pointer","aspect-ratio","color","color-gamut","color-index","device-aspect-ratio","device-height","device-width","display-mode","forced-colors","grid","height","hover","inverted-colors","monochrome","orientation","overflow-block","overflow-inline","pointer","prefers-color-scheme","prefers-contrast","prefers-reduced-motion","prefers-reduced-transparency","resolution","scan","scripting","update","width","min-width","max-width","min-height","max-height"],PSEUDO_CLASSES=["active","any-link","blank","checked","current","default","defined","dir","disabled","drop","empty","enabled","first","first-child","first-of-type","fullscreen","future","focus","focus-visible","focus-within","has","host","host-context","hover","indeterminate","in-range","invalid","is","lang","last-child","last-of-type","left","link","local-link","not","nth-child","nth-col","nth-last-child","nth-last-col","nth-last-of-type","nth-of-type","only-child","only-of-type","optional","out-of-range","past","placeholder-shown","read-only","read-write","required","right","root","scope","target","target-within","user-invalid","valid","visited","where"],PSEUDO_ELEMENTS=["after","backdrop","before","cue","cue-region","first-letter","first-line","grammar-error","marker","part","placeholder","selection","slotted","spelling-error"],ATTRIBUTES=["align-content","align-items","align-self","all","animation","animation-delay","animation-direction","animation-duration","animation-fill-mode","animation-iteration-count","animation-name","animation-play-state","animation-timing-function","backface-visibility","background","background-attachment","background-blend-mode","background-clip","background-color","background-image","background-origin","background-position","background-repeat","background-size","block-size","border","border-block","border-block-color","border-block-end","border-block-end-color","border-block-end-style","border-block-end-width","border-block-start","border-block-start-color","border-block-start-style","border-block-start-width","border-block-style","border-block-width","border-bottom","border-bottom-color","border-bottom-left-radius","border-bottom-right-radius","border-bottom-style","border-bottom-width","border-collapse","border-color","border-image","border-image-outset","border-image-repeat","border-image-slice","border-image-source","border-image-width","border-inline","border-inline-color","border-inline-end","border-inline-end-color","border-inline-end-style","border-inline-end-width","border-inline-start","border-inline-start-color","border-inline-start-style","border-inline-start-width","border-inline-style","border-inline-width","border-left","border-left-color","border-left-style","border-left-width","border-radius","border-right","border-right-color","border-right-style","border-right-width","border-spacing","border-style","border-top","border-top-color","border-top-left-radius","border-top-right-radius","border-top-style","border-top-width","border-width","bottom","box-decoration-break","box-shadow","box-sizing","break-after","break-before","break-inside","caption-side","caret-color","clear","clip","clip-path","clip-rule","color","column-count","column-fill","column-gap","column-rule","column-rule-color","column-rule-style","column-rule-width","column-span","column-width","columns","contain","content","content-visibility","counter-increment","counter-reset","cue","cue-after","cue-before","cursor","direction","display","empty-cells","filter","flex","flex-basis","flex-direction","flex-flow","flex-grow","flex-shrink","flex-wrap","float","flow","font","font-display","font-family","font-feature-settings","font-kerning","font-language-override","font-size","font-size-adjust","font-smoothing","font-stretch","font-style","font-synthesis","font-variant","font-variant-caps","font-variant-east-asian","font-variant-ligatures","font-variant-numeric","font-variant-position","font-variation-settings","font-weight","gap","glyph-orientation-vertical","grid","grid-area","grid-auto-columns","grid-auto-flow","grid-auto-rows","grid-column","grid-column-end","grid-column-start","grid-gap","grid-row","grid-row-end","grid-row-start","grid-template","grid-template-areas","grid-template-columns","grid-template-rows","hanging-punctuation","height","hyphens","icon","image-orientation","image-rendering","image-resolution","ime-mode","inline-size","isolation","justify-content","left","letter-spacing","line-break","line-height","list-style","list-style-image","list-style-position","list-style-type","margin","margin-block","margin-block-end","margin-block-start","margin-bottom","margin-inline","margin-inline-end","margin-inline-start","margin-left","margin-right","margin-top","marks","mask","mask-border","mask-border-mode","mask-border-outset","mask-border-repeat","mask-border-slice","mask-border-source","mask-border-width","mask-clip","mask-composite","mask-image","mask-mode","mask-origin","mask-position","mask-repeat","mask-size","mask-type","max-block-size","max-height","max-inline-size","max-width","min-block-size","min-height","min-inline-size","min-width","mix-blend-mode","nav-down","nav-index","nav-left","nav-right","nav-up","none","normal","object-fit","object-position","opacity","order","orphans","outline","outline-color","outline-offset","outline-style","outline-width","overflow","overflow-wrap","overflow-x","overflow-y","padding","padding-block","padding-block-end","padding-block-start","padding-bottom","padding-inline","padding-inline-end","padding-inline-start","padding-left","padding-right","padding-top","page-break-after","page-break-before","page-break-inside","pause","pause-after","pause-before","perspective","perspective-origin","pointer-events","position","quotes","resize","rest","rest-after","rest-before","right","row-gap","scroll-margin","scroll-margin-block","scroll-margin-block-end","scroll-margin-block-start","scroll-margin-bottom","scroll-margin-inline","scroll-margin-inline-end","scroll-margin-inline-start","scroll-margin-left","scroll-margin-right","scroll-margin-top","scroll-padding","scroll-padding-block","scroll-padding-block-end","scroll-padding-block-start","scroll-padding-bottom","scroll-padding-inline","scroll-padding-inline-end","scroll-padding-inline-start","scroll-padding-left","scroll-padding-right","scroll-padding-top","scroll-snap-align","scroll-snap-stop","scroll-snap-type","scrollbar-color","scrollbar-gutter","scrollbar-width","shape-image-threshold","shape-margin","shape-outside","speak","speak-as","src","tab-size","table-layout","text-align","text-align-all","text-align-last","text-combine-upright","text-decoration","text-decoration-color","text-decoration-line","text-decoration-style","text-emphasis","text-emphasis-color","text-emphasis-position","text-emphasis-style","text-indent","text-justify","text-orientation","text-overflow","text-rendering","text-shadow","text-transform","text-underline-position","top","transform","transform-box","transform-origin","transform-style","transition","transition-delay","transition-duration","transition-property","transition-timing-function","unicode-bidi","vertical-align","visibility","voice-balance","voice-duration","voice-family","voice-pitch","voice-range","voice-rate","voice-stress","voice-volume","white-space","widows","width","will-change","word-break","word-spacing","word-wrap","writing-mode","z-index"].reverse();function scss(Ff){const kh=MODES$2(Ff),x_=PSEUDO_ELEMENTS,$_=PSEUDO_CLASSES,B_="@[a-z-]+",$P="and or not only",eme={className:"variable",begin:"(\\$"+"[a-zA-Z-][a-zA-Z0-9_-]*"+")\\b",relevance:0};return{name:"SCSS",case_insensitive:!0,illegal:"[=/|']",contains:[Ff.C_LINE_COMMENT_MODE,Ff.C_BLOCK_COMMENT_MODE,kh.CSS_NUMBER_MODE,{className:"selector-id",begin:"#[A-Za-z0-9_-]+",relevance:0},{className:"selector-class",begin:"\\.[A-Za-z0-9_-]+",relevance:0},kh.ATTRIBUTE_SELECTOR_MODE,{className:"selector-tag",begin:"\\b("+TAGS.join("|")+")\\b",relevance:0},{className:"selector-pseudo",begin:":("+$_.join("|")+")"},{className:"selector-pseudo",begin:":(:)?("+x_.join("|")+")"},eme,{begin:/\(/,end:/\)/,contains:[kh.CSS_NUMBER_MODE]},kh.CSS_VARIABLE,{className:"attribute",begin:"\\b("+ATTRIBUTES.join("|")+")\\b"},{begin:"\\b(whitespace|wait|w-resize|visible|vertical-text|vertical-ideographic|uppercase|upper-roman|upper-alpha|underline|transparent|top|thin|thick|text|text-top|text-bottom|tb-rl|table-header-group|table-footer-group|sw-resize|super|strict|static|square|solid|small-caps|separate|se-resize|scroll|s-resize|rtl|row-resize|ridge|right|repeat|repeat-y|repeat-x|relative|progress|pointer|overline|outside|outset|oblique|nowrap|not-allowed|normal|none|nw-resize|no-repeat|no-drop|newspaper|ne-resize|n-resize|move|middle|medium|ltr|lr-tb|lowercase|lower-roman|lower-alpha|loose|list-item|line|line-through|line-edge|lighter|left|keep-all|justify|italic|inter-word|inter-ideograph|inside|inset|inline|inline-block|inherit|inactive|ideograph-space|ideograph-parenthesis|ideograph-numeric|ideograph-alpha|horizontal|hidden|help|hand|groove|fixed|ellipsis|e-resize|double|dotted|distribute|distribute-space|distribute-letter|distribute-all-lines|disc|disabled|default|decimal|dashed|crosshair|collapse|col-resize|circle|char|center|capitalize|break-word|break-all|bottom|both|bolder|bold|block|bidi-override|below|baseline|auto|always|all-scroll|absolute|table|table-cell)\\b"},{begin:/:/,end:/[;}{]/,relevance:0,contains:[kh.BLOCK_COMMENT,eme,kh.HEXCOLOR,kh.CSS_NUMBER_MODE,Ff.QUOTE_STRING_MODE,Ff.APOS_STRING_MODE,kh.IMPORTANT,kh.FUNCTION_DISPATCH]},{begin:"@(page|font-face)",keywords:{$pattern:B_,keyword:"@page @font-face"}},{begin:"@",end:"[{;]",returnBegin:!0,keywords:{$pattern:/[a-z-]+/,keyword:$P,attribute:MEDIA_FEATURES.join(" ")},contains:[{begin:B_,className:"keyword"},{begin:/[a-z-]+(?=:)/,className:"attribute"},eme,Ff.QUOTE_STRING_MODE,Ff.APOS_STRING_MODE,kh.HEXCOLOR,kh.CSS_NUMBER_MODE]},kh.FUNCTION_DISPATCH]}}function shell(Ff){return{name:"Shell Session",aliases:["console","shellsession"],contains:[{className:"meta.prompt",begin:/^\s{0,3}[/~\w\d[\]()@-]*[>%$#][ ]?/,starts:{end:/[^\\](?=\s*$)/,subLanguage:"bash"}}]}}function sql(Ff){const kh=Ff.regex,x_=Ff.COMMENT("--","$"),$_={className:"string",variants:[{begin:/'/,end:/'/,contains:[{begin:/''/}]}]},B_={begin:/"/,end:/"/,contains:[{begin:/""/}]},$P=["true","false","unknown"],zP=["double precision","large object","with timezone","without timezone"],eme=["bigint","binary","blob","boolean","char","character","clob","date","dec","decfloat","decimal","float","int","integer","interval","nchar","nclob","national","numeric","real","row","smallint","time","timestamp","varchar","varying","varbinary"],tme=["add","asc","collation","desc","final","first","last","view"],nme=["abs","acos","all","allocate","alter","and","any","are","array","array_agg","array_max_cardinality","as","asensitive","asin","asymmetric","at","atan","atomic","authorization","avg","begin","begin_frame","begin_partition","between","bigint","binary","blob","boolean","both","by","call","called","cardinality","cascaded","case","cast","ceil","ceiling","char","char_length","character","character_length","check","classifier","clob","close","coalesce","collate","collect","column","commit","condition","connect","constraint","contains","convert","copy","corr","corresponding","cos","cosh","count","covar_pop","covar_samp","create","cross","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_path","current_role","current_transform_group_for_type","current_user","cursor","cycle","date","day","deallocate","dec","decimal","decfloat","declare","default","define","delete","dense_rank","deref","describe","deterministic","disconnect","distinct","double","drop","dynamic","each","element","else","empty","end","end_frame","end_partition","end-exec","equals","escape","every","except","exec","execute","exists","exp","external","extract","false","fetch","filter","first_value","float","floor","for","foreign","frame_row","free","from","full","function","fusion","get","global","grant","group","grouping","groups","having","hold","hour","identity","in","indicator","initial","inner","inout","insensitive","insert","int","integer","intersect","intersection","interval","into","is","join","json_array","json_arrayagg","json_exists","json_object","json_objectagg","json_query","json_table","json_table_primitive","json_value","lag","language","large","last_value","lateral","lead","leading","left","like","like_regex","listagg","ln","local","localtime","localtimestamp","log","log10","lower","match","match_number","match_recognize","matches","max","member","merge","method","min","minute","mod","modifies","module","month","multiset","national","natural","nchar","nclob","new","no","none","normalize","not","nth_value","ntile","null","nullif","numeric","octet_length","occurrences_regex","of","offset","old","omit","on","one","only","open","or","order","out","outer","over","overlaps","overlay","parameter","partition","pattern","per","percent","percent_rank","percentile_cont","percentile_disc","period","portion","position","position_regex","power","precedes","precision","prepare","primary","procedure","ptf","range","rank","reads","real","recursive","ref","references","referencing","regr_avgx","regr_avgy","regr_count","regr_intercept","regr_r2","regr_slope","regr_sxx","regr_sxy","regr_syy","release","result","return","returns","revoke","right","rollback","rollup","row","row_number","rows","running","savepoint","scope","scroll","search","second","seek","select","sensitive","session_user","set","show","similar","sin","sinh","skip","smallint","some","specific","specifictype","sql","sqlexception","sqlstate","sqlwarning","sqrt","start","static","stddev_pop","stddev_samp","submultiset","subset","substring","substring_regex","succeeds","sum","symmetric","system","system_time","system_user","table","tablesample","tan","tanh","then","time","timestamp","timezone_hour","timezone_minute","to","trailing","translate","translate_regex","translation","treat","trigger","trim","trim_array","true","truncate","uescape","union","unique","unknown","unnest","update","upper","user","using","value","values","value_of","var_pop","var_samp","varbinary","varchar","varying","versioning","when","whenever","where","width_bucket","window","with","within","without","year"],rme=["abs","acos","array_agg","asin","atan","avg","cast","ceil","ceiling","coalesce","corr","cos","cosh","count","covar_pop","covar_samp","cume_dist","dense_rank","deref","element","exp","extract","first_value","floor","json_array","json_arrayagg","json_exists","json_object","json_objectagg","json_query","json_table","json_table_primitive","json_value","lag","last_value","lead","listagg","ln","log","log10","lower","max","min","mod","nth_value","ntile","nullif","percent_rank","percentile_cont","percentile_disc","position","position_regex","power","rank","regr_avgx","regr_avgy","regr_count","regr_intercept","regr_r2","regr_slope","regr_sxx","regr_sxy","regr_syy","row_number","sin","sinh","sqrt","stddev_pop","stddev_samp","substring","substring_regex","sum","tan","tanh","translate","translate_regex","treat","trim","trim_array","unnest","upper","value_of","var_pop","var_samp","width_bucket"],ime=["current_catalog","current_date","current_default_transform_group","current_path","current_role","current_schema","current_transform_group_for_type","current_user","session_user","system_time","system_user","current_time","localtime","current_timestamp","localtimestamp"],ome=["create table","insert into","primary key","foreign key","not null","alter table","add constraint","grouping sets","on overflow","character set","respect nulls","ignore nulls","nulls first","nulls last","depth first","breadth first"],sme=rme,ume=[...nme,...tme].filter(fme=>!rme.includes(fme)),cme={className:"variable",begin:/@[a-z0-9]+/},ame={className:"operator",begin:/[-+*/=%^~]|&&?|\|\|?|!=?|<(?:=>?|<|>)?|>[>=]?/,relevance:0},lme={begin:kh.concat(/\b/,kh.either(...sme),/\s*\(/),relevance:0,keywords:{built_in:sme}};function dme(fme,{exceptions:hme,when:pme}={}){const gme=pme;return hme=hme||[],fme.map(vme=>vme.match(/\|\d+$/)||hme.includes(vme)?vme:gme(vme)?`${vme}|0`:vme)}return{name:"SQL",case_insensitive:!0,illegal:/[{}]|<\//,keywords:{$pattern:/\b[\w\.]+/,keyword:dme(ume,{when:fme=>fme.length<3}),literal:$P,type:eme,built_in:ime},contains:[{begin:kh.either(...ome),relevance:0,keywords:{$pattern:/[\w\.]+/,keyword:ume.concat(ome),literal:$P,type:eme}},{className:"type",begin:kh.either(...zP)},lme,cme,$_,B_,Ff.C_NUMBER_MODE,Ff.C_BLOCK_COMMENT_MODE,x_,ame]}}function source$2(Ff){return Ff?typeof Ff=="string"?Ff:Ff.source:null}function lookahead$2(Ff){return concat$2("(?=",Ff,")")}function concat$2(...Ff){return Ff.map(x_=>source$2(x_)).join("")}function stripOptionsFromArgs$2(Ff){const kh=Ff[Ff.length-1];return typeof kh=="object"&&kh.constructor===Object?(Ff.splice(Ff.length-1,1),kh):{}}function either$2(...Ff){return"("+(stripOptionsFromArgs$2(Ff).capture?"":"?:")+Ff.map($_=>source$2($_)).join("|")+")"}const keywordWrapper=Ff=>concat$2(/\b/,Ff,/\w$/.test(Ff)?/\b/:/\B/),dotKeywords=["Protocol","Type"].map(keywordWrapper),optionalDotKeywords=["init","self"].map(keywordWrapper),keywordTypes=["Any","Self"],keywords=["actor","any","associatedtype","async","await",/as\?/,/as!/,"as","break","case","catch","class","continue","convenience","default","defer","deinit","didSet","distributed","do","dynamic","else","enum","extension","fallthrough",/fileprivate\(set\)/,"fileprivate","final","for","func","get","guard","if","import","indirect","infix",/init\?/,/init!/,"inout",/internal\(set\)/,"internal","in","is","isolated","nonisolated","lazy","let","mutating","nonmutating",/open\(set\)/,"open","operator","optional","override","postfix","precedencegroup","prefix",/private\(set\)/,"private","protocol",/public\(set\)/,"public","repeat","required","rethrows","return","set","some","static","struct","subscript","super","switch","throws","throw",/try\?/,/try!/,"try","typealias",/unowned\(safe\)/,/unowned\(unsafe\)/,"unowned","var","weak","where","while","willSet"],literals=["false","nil","true"],precedencegroupKeywords=["assignment","associativity","higherThan","left","lowerThan","none","right"],numberSignKeywords=["#colorLiteral","#column","#dsohandle","#else","#elseif","#endif","#error","#file","#fileID","#fileLiteral","#filePath","#function","#if","#imageLiteral","#keyPath","#line","#selector","#sourceLocation","#warn_unqualified_access","#warning"],builtIns=["abs","all","any","assert","assertionFailure","debugPrint","dump","fatalError","getVaList","isKnownUniquelyReferenced","max","min","numericCast","pointwiseMax","pointwiseMin","precondition","preconditionFailure","print","readLine","repeatElement","sequence","stride","swap","swift_unboxFromSwiftValueWithType","transcode","type","unsafeBitCast","unsafeDowncast","withExtendedLifetime","withUnsafeMutablePointer","withUnsafePointer","withVaList","withoutActuallyEscaping","zip"],operatorHead=either$2(/[/=\-+!*%<>&|^~?]/,/[\u00A1-\u00A7]/,/[\u00A9\u00AB]/,/[\u00AC\u00AE]/,/[\u00B0\u00B1]/,/[\u00B6\u00BB\u00BF\u00D7\u00F7]/,/[\u2016-\u2017]/,/[\u2020-\u2027]/,/[\u2030-\u203E]/,/[\u2041-\u2053]/,/[\u2055-\u205E]/,/[\u2190-\u23FF]/,/[\u2500-\u2775]/,/[\u2794-\u2BFF]/,/[\u2E00-\u2E7F]/,/[\u3001-\u3003]/,/[\u3008-\u3020]/,/[\u3030]/),operatorCharacter=either$2(operatorHead,/[\u0300-\u036F]/,/[\u1DC0-\u1DFF]/,/[\u20D0-\u20FF]/,/[\uFE00-\uFE0F]/,/[\uFE20-\uFE2F]/),operator=concat$2(operatorHead,operatorCharacter,"*"),identifierHead=either$2(/[a-zA-Z_]/,/[\u00A8\u00AA\u00AD\u00AF\u00B2-\u00B5\u00B7-\u00BA]/,/[\u00BC-\u00BE\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u00FF]/,/[\u0100-\u02FF\u0370-\u167F\u1681-\u180D\u180F-\u1DBF]/,/[\u1E00-\u1FFF]/,/[\u200B-\u200D\u202A-\u202E\u203F-\u2040\u2054\u2060-\u206F]/,/[\u2070-\u20CF\u2100-\u218F\u2460-\u24FF\u2776-\u2793]/,/[\u2C00-\u2DFF\u2E80-\u2FFF]/,/[\u3004-\u3007\u3021-\u302F\u3031-\u303F\u3040-\uD7FF]/,/[\uF900-\uFD3D\uFD40-\uFDCF\uFDF0-\uFE1F\uFE30-\uFE44]/,/[\uFE47-\uFEFE\uFF00-\uFFFD]/),identifierCharacter=either$2(identifierHead,/\d/,/[\u0300-\u036F\u1DC0-\u1DFF\u20D0-\u20FF\uFE20-\uFE2F]/),identifier$1=concat$2(identifierHead,identifierCharacter,"*"),typeIdentifier=concat$2(/[A-Z]/,identifierCharacter,"*"),keywordAttributes=["autoclosure",concat$2(/convention\(/,either$2("swift","block","c"),/\)/),"discardableResult","dynamicCallable","dynamicMemberLookup","escaping","frozen","GKInspectable","IBAction","IBDesignable","IBInspectable","IBOutlet","IBSegueAction","inlinable","main","nonobjc","NSApplicationMain","NSCopying","NSManaged",concat$2(/objc\(/,identifier$1,/\)/),"objc","objcMembers","propertyWrapper","requires_stored_property_inits","resultBuilder","testable","UIApplicationMain","unknown","usableFromInline"],availabilityKeywords=["iOS","iOSApplicationExtension","macOS","macOSApplicationExtension","macCatalyst","macCatalystApplicationExtension","watchOS","watchOSApplicationExtension","tvOS","tvOSApplicationExtension","swift"];function swift(Ff){const kh={match:/\s+/,relevance:0},x_=Ff.COMMENT("/\\*","\\*/",{contains:["self"]}),$_=[Ff.C_LINE_COMMENT_MODE,x_],B_={match:[/\./,either$2(...dotKeywords,...optionalDotKeywords)],className:{2:"keyword"}},$P={match:concat$2(/\./,either$2(...keywords)),relevance:0},zP=keywords.filter($me=>typeof $me=="string").concat(["_|0"]),eme=keywords.filter($me=>typeof $me!="string").concat(keywordTypes).map(keywordWrapper),tme={variants:[{className:"keyword",match:either$2(...eme,...optionalDotKeywords)}]},nme={$pattern:either$2(/\b\w+/,/#\w+/),keyword:zP.concat(numberSignKeywords),literal:literals},rme=[B_,$P,tme],ime={match:concat$2(/\./,either$2(...builtIns)),relevance:0},ome={className:"built_in",match:concat$2(/\b/,either$2(...builtIns),/(?=\()/)},sme=[ime,ome],ume={match:/->/,relevance:0},cme={className:"operator",relevance:0,variants:[{match:operator},{match:`\\.(\\.|${operatorCharacter})+`}]},ame=[ume,cme],lme="([0-9]_*)+",dme="([0-9a-fA-F]_*)+",fme={className:"number",relevance:0,variants:[{match:`\\b(${lme})(\\.(${lme}))?([eE][+-]?(${lme}))?\\b`},{match:`\\b0x(${dme})(\\.(${dme}))?([pP][+-]?(${lme}))?\\b`},{match:/\b0o([0-7]_*)+\b/},{match:/\b0b([01]_*)+\b/}]},hme=($me="")=>({className:"subst",variants:[{match:concat$2(/\\/,$me,/[0\\tnr"']/)},{match:concat$2(/\\/,$me,/u\{[0-9a-fA-F]{1,8}\}/)}]}),pme=($me="")=>({className:"subst",match:concat$2(/\\/,$me,/[\t ]*(?:[\r\n]|\r\n)/)}),gme=($me="")=>({className:"subst",label:"interpol",begin:concat$2(/\\/,$me,/\(/),end:/\)/}),vme=($me="")=>({begin:concat$2($me,/"""/),end:concat$2(/"""/,$me),contains:[hme($me),pme($me),gme($me)]}),mme=($me="")=>({begin:concat$2($me,/"/),end:concat$2(/"/,$me),contains:[hme($me),gme($me)]}),yme={className:"string",variants:[vme(),vme("#"),vme("##"),vme("###"),mme(),mme("#"),mme("##"),mme("###")]},bme={match:concat$2(/`/,identifier$1,/`/)},_me={className:"variable",match:/\$\d+/},Cme={className:"variable",match:`\\$${identifierCharacter}+`},Ame=[bme,_me,Cme],Rme={match:/(@|#(un)?)available/,className:"keyword",starts:{contains:[{begin:/\(/,end:/\)/,keywords:availabilityKeywords,contains:[...ame,fme,yme]}]}},Ime={className:"keyword",match:concat$2(/@/,either$2(...keywordAttributes))},Pme={className:"meta",match:concat$2(/@/,identifier$1)},Ome=[Rme,Ime,Pme],Sme={match:lookahead$2(/\b[A-Z]/),relevance:0,contains:[{className:"type",match:concat$2(/(AV|CA|CF|CG|CI|CL|CM|CN|CT|MK|MP|MTK|MTL|NS|SCN|SK|UI|WK|XC)/,identifierCharacter,"+")},{className:"type",match:typeIdentifier,relevance:0},{match:/[?!]+/,relevance:0},{match:/\.\.\./,relevance:0},{match:concat$2(/\s+&\s+/,lookahead$2(typeIdentifier)),relevance:0}]},Nme={begin:/</,end:/>/,keywords:nme,contains:[...$_,...rme,...Ome,ume,Sme]};Sme.contains.push(Nme);const Eme={match:concat$2(identifier$1,/\s*:/),keywords:"_|0",relevance:0},Mme={begin:/\(/,end:/\)/,relevance:0,keywords:nme,contains:["self",Eme,...$_,...rme,...sme,...ame,fme,yme,...Ame,...Ome,Sme]},Fme={begin:/</,end:/>/,contains:[...$_,Sme]},xme={begin:either$2(lookahead$2(concat$2(identifier$1,/\s*:/)),lookahead$2(concat$2(identifier$1,/\s+/,identifier$1,/\s*:/))),end:/:/,relevance:0,contains:[{className:"keyword",match:/\b_\b/},{className:"params",match:identifier$1}]},Tme={begin:/\(/,end:/\)/,keywords:nme,contains:[xme,...$_,...rme,...ame,fme,yme,...Ome,Sme,Mme],endsParent:!0,illegal:/["']/},kme={match:[/func/,/\s+/,either$2(bme.match,identifier$1,operator)],className:{1:"keyword",3:"title.function"},contains:[Fme,Tme,kh],illegal:[/\[/,/%/]},Dme={match:[/\b(?:subscript|init[?!]?)/,/\s*(?=[<(])/],className:{1:"keyword"},contains:[Fme,Tme,kh],illegal:/\[|%/},wme={match:[/operator/,/\s+/,operator],className:{1:"keyword",3:"title"}},Lme={begin:[/precedencegroup/,/\s+/,typeIdentifier],className:{1:"keyword",3:"title"},contains:[Sme],keywords:[...precedencegroupKeywords,...literals],end:/}/};for(const $me of yme.variants){const Bme=$me.contains.find(Vme=>Vme.label==="interpol");Bme.keywords=nme;const jme=[...rme,...sme,...ame,fme,yme,...Ame];Bme.contains=[...jme,{begin:/\(/,end:/\)/,contains:["self",...jme]}]}return{name:"Swift",keywords:nme,contains:[...$_,kme,Dme,{beginKeywords:"struct protocol class extension enum actor",end:"\\{",excludeEnd:!0,keywords:nme,contains:[Ff.inherit(Ff.TITLE_MODE,{className:"title.class",begin:/[A-Za-z$_][\u00C0-\u02B80-9A-Za-z$_]*/}),...rme]},wme,Lme,{beginKeywords:"import",end:/$/,contains:[...$_],relevance:0},...rme,...sme,...ame,fme,yme,...Ame,...Ome,Sme,Mme]}}const IDENT_RE$2="[A-Za-z$_][0-9A-Za-z$_]*",KEYWORDS=["as","in","of","if","for","while","finally","var","new","function","do","return","void","else","break","catch","instanceof","with","throw","case","default","try","switch","continue","typeof","delete","let","yield","const","class","debugger","async","await","static","import","from","export","extends"],LITERALS=["true","false","null","undefined","NaN","Infinity"],TYPES=["Object","Function","Boolean","Symbol","Math","Date","Number","BigInt","String","RegExp","Array","Float32Array","Float64Array","Int8Array","Uint8Array","Uint8ClampedArray","Int16Array","Int32Array","Uint16Array","Uint32Array","BigInt64Array","BigUint64Array","Set","Map","WeakSet","WeakMap","ArrayBuffer","SharedArrayBuffer","Atomics","DataView","JSON","Promise","Generator","GeneratorFunction","AsyncFunction","Reflect","Proxy","Intl","WebAssembly"],ERROR_TYPES=["Error","EvalError","InternalError","RangeError","ReferenceError","SyntaxError","TypeError","URIError"],BUILT_IN_GLOBALS=["setInterval","setTimeout","clearInterval","clearTimeout","require","exports","eval","isFinite","isNaN","parseFloat","parseInt","decodeURI","decodeURIComponent","encodeURI","encodeURIComponent","escape","unescape"],BUILT_IN_VARIABLES=["arguments","this","super","console","window","document","localStorage","module","global"],BUILT_INS=[].concat(BUILT_IN_GLOBALS,TYPES,ERROR_TYPES);function javascript(Ff){const kh=Ff.regex,x_=(Ome,{after:Sme})=>{const Nme="</"+Ome[0].slice(1);return Ome.input.indexOf(Nme,Sme)!==-1},$_=IDENT_RE$2,B_={begin:"<>",end:"</>"},$P=/<[A-Za-z0-9\\._:-]+\s*\/>/,zP={begin:/<[A-Za-z0-9\\._:-]+/,end:/\/[A-Za-z0-9\\._:-]+>|\/>/,isTrulyOpeningTag:(Ome,Sme)=>{const Nme=Ome[0].length+Ome.index,Eme=Ome.input[Nme];if(Eme==="<"||Eme===","){Sme.ignoreMatch();return}Eme===">"&&(x_(Ome,{after:Nme})||Sme.ignoreMatch());let Mme;const Fme=Ome.input.substring(Nme);if(Mme=Fme.match(/^\s*=/)){Sme.ignoreMatch();return}if((Mme=Fme.match(/^\s+extends\s+/))&&Mme.index===0){Sme.ignoreMatch();return}}},eme={$pattern:IDENT_RE$2,keyword:KEYWORDS,literal:LITERALS,built_in:BUILT_INS,"variable.language":BUILT_IN_VARIABLES},tme="[0-9](_?[0-9])*",nme=`\\.(${tme})`,rme="0|[1-9](_?[0-9])*|0[0-7]*[89][0-9]*",ime={className:"number",variants:[{begin:`(\\b(${rme})((${nme})|\\.)?|(${nme}))[eE][+-]?(${tme})\\b`},{begin:`\\b(${rme})\\b((${nme})\\b|\\.)?|(${nme})\\b`},{begin:"\\b(0|[1-9](_?[0-9])*)n\\b"},{begin:"\\b0[xX][0-9a-fA-F](_?[0-9a-fA-F])*n?\\b"},{begin:"\\b0[bB][0-1](_?[0-1])*n?\\b"},{begin:"\\b0[oO][0-7](_?[0-7])*n?\\b"},{begin:"\\b0[0-7]+n?\\b"}],relevance:0},ome={className:"subst",begin:"\\$\\{",end:"\\}",keywords:eme,contains:[]},sme={begin:"html`",end:"",starts:{end:"`",returnEnd:!1,contains:[Ff.BACKSLASH_ESCAPE,ome],subLanguage:"xml"}},ume={begin:"css`",end:"",starts:{end:"`",returnEnd:!1,contains:[Ff.BACKSLASH_ESCAPE,ome],subLanguage:"css"}},cme={className:"string",begin:"`",end:"`",contains:[Ff.BACKSLASH_ESCAPE,ome]},lme={className:"comment",variants:[Ff.COMMENT(/\/\*\*(?!\/)/,"\\*/",{relevance:0,contains:[{begin:"(?=@[A-Za-z]+)",relevance:0,contains:[{className:"doctag",begin:"@[A-Za-z]+"},{className:"type",begin:"\\{",end:"\\}",excludeEnd:!0,excludeBegin:!0,relevance:0},{className:"variable",begin:$_+"(?=\\s*(-)|$)",endsParent:!0,relevance:0},{begin:/(?=[^\n])\s/,relevance:0}]}]}),Ff.C_BLOCK_COMMENT_MODE,Ff.C_LINE_COMMENT_MODE]},dme=[Ff.APOS_STRING_MODE,Ff.QUOTE_STRING_MODE,sme,ume,cme,{match:/\$\d+/},ime];ome.contains=dme.concat({begin:/\{/,end:/\}/,keywords:eme,contains:["self"].concat(dme)});const fme=[].concat(lme,ome.contains),hme=fme.concat([{begin:/\(/,end:/\)/,keywords:eme,contains:["self"].concat(fme)}]),pme={className:"params",begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:eme,contains:hme},gme={variants:[{match:[/class/,/\s+/,$_,/\s+/,/extends/,/\s+/,kh.concat($_,"(",kh.concat(/\./,$_),")*")],scope:{1:"keyword",3:"title.class",5:"keyword",7:"title.class.inherited"}},{match:[/class/,/\s+/,$_],scope:{1:"keyword",3:"title.class"}}]},vme={relevance:0,match:kh.either(/\bJSON/,/\b[A-Z][a-z]+([A-Z][a-z]*|\d)*/,/\b[A-Z]{2,}([A-Z][a-z]+|\d)+([A-Z][a-z]*)*/,/\b[A-Z]{2,}[a-z]+([A-Z][a-z]+|\d)*([A-Z][a-z]*)*/),className:"title.class",keywords:{_:[...TYPES,...ERROR_TYPES]}},mme={label:"use_strict",className:"meta",relevance:10,begin:/^\s*['"]use (strict|asm)['"]/},yme={variants:[{match:[/function/,/\s+/,$_,/(?=\s*\()/]},{match:[/function/,/\s*(?=\()/]}],className:{1:"keyword",3:"title.function"},label:"func.def",contains:[pme],illegal:/%/},bme={relevance:0,match:/\b[A-Z][A-Z_0-9]+\b/,className:"variable.constant"};function _me(Ome){return kh.concat("(?!",Ome.join("|"),")")}const Cme={match:kh.concat(/\b/,_me([...BUILT_IN_GLOBALS,"super","import"]),$_,kh.lookahead(/\(/)),className:"title.function",relevance:0},Ame={begin:kh.concat(/\./,kh.lookahead(kh.concat($_,/(?![0-9A-Za-z$_(])/))),end:$_,excludeBegin:!0,keywords:"prototype",className:"property",relevance:0},Rme={match:[/get|set/,/\s+/,$_,/(?=\()/],className:{1:"keyword",3:"title.function"},contains:[{begin:/\(\)/},pme]},Ime="(\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)|"+Ff.UNDERSCORE_IDENT_RE+")\\s*=>",Pme={match:[/const|var|let/,/\s+/,$_,/\s*/,/=\s*/,/(async\s*)?/,kh.lookahead(Ime)],keywords:"async",className:{1:"keyword",3:"title.function"},contains:[pme]};return{name:"Javascript",aliases:["js","jsx","mjs","cjs"],keywords:eme,exports:{PARAMS_CONTAINS:hme,CLASS_REFERENCE:vme},illegal:/#(?![$_A-z])/,contains:[Ff.SHEBANG({label:"shebang",binary:"node",relevance:5}),mme,Ff.APOS_STRING_MODE,Ff.QUOTE_STRING_MODE,sme,ume,cme,lme,{match:/\$\d+/},ime,vme,{className:"attr",begin:$_+kh.lookahead(":"),relevance:0},Pme,{begin:"("+Ff.RE_STARTERS_RE+"|\\b(case|return|throw)\\b)\\s*",keywords:"return throw case",relevance:0,contains:[lme,Ff.REGEXP_MODE,{className:"function",begin:Ime,returnBegin:!0,end:"\\s*=>",contains:[{className:"params",variants:[{begin:Ff.UNDERSCORE_IDENT_RE,relevance:0},{className:null,begin:/\(\s*\)/,skip:!0},{begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:eme,contains:hme}]}]},{begin:/,/,relevance:0},{match:/\s+/,relevance:0},{variants:[{begin:B_.begin,end:B_.end},{match:$P},{begin:zP.begin,"on:begin":zP.isTrulyOpeningTag,end:zP.end}],subLanguage:"xml",contains:[{begin:zP.begin,end:zP.end,skip:!0,contains:["self"]}]}]},yme,{beginKeywords:"while if switch catch for"},{begin:"\\b(?!function)"+Ff.UNDERSCORE_IDENT_RE+"\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)\\s*\\{",returnBegin:!0,label:"func.def",contains:[pme,Ff.inherit(Ff.TITLE_MODE,{begin:$_,className:"title.function"})]},{match:/\.\.\./,relevance:0},Ame,{match:"\\$"+$_,relevance:0},{match:[/\bconstructor(?=\s*\()/],className:{1:"title.function"},contains:[pme]},Cme,bme,gme,Rme,{match:/\$[(.]/}]}}function typescript(Ff){const kh=javascript(Ff),x_=IDENT_RE$2,$_=["any","void","number","boolean","string","object","never","symbol","bigint","unknown"],B_={beginKeywords:"namespace",end:/\{/,excludeEnd:!0,contains:[kh.exports.CLASS_REFERENCE]},$P={beginKeywords:"interface",end:/\{/,excludeEnd:!0,keywords:{keyword:"interface extends",built_in:$_},contains:[kh.exports.CLASS_REFERENCE]},zP={className:"meta",relevance:10,begin:/^\s*['"]use strict['"]/},eme=["type","namespace","interface","public","private","protected","implements","declare","abstract","readonly","enum","override"],tme={$pattern:IDENT_RE$2,keyword:KEYWORDS.concat(eme),literal:LITERALS,built_in:BUILT_INS.concat($_),"variable.language":BUILT_IN_VARIABLES},nme={className:"meta",begin:"@"+x_},rme=(ome,sme,ume)=>{const cme=ome.contains.findIndex(ame=>ame.label===sme);if(cme===-1)throw new Error("can not find mode to replace");ome.contains.splice(cme,1,ume)};Object.assign(kh.keywords,tme),kh.exports.PARAMS_CONTAINS.push(nme),kh.contains=kh.contains.concat([nme,B_,$P]),rme(kh,"shebang",Ff.SHEBANG()),rme(kh,"use_strict",zP);const ime=kh.contains.find(ome=>ome.label==="func.def");return ime.relevance=0,Object.assign(kh,{name:"TypeScript",aliases:["ts","tsx"]}),kh}function vbnet(Ff){const kh=Ff.regex,x_={className:"string",begin:/"(""|[^/n])"C\b/},$_={className:"string",begin:/"/,end:/"/,illegal:/\n/,contains:[{begin:/""/}]},B_=/\d{1,2}\/\d{1,2}\/\d{4}/,$P=/\d{4}-\d{1,2}-\d{1,2}/,zP=/(\d|1[012])(:\d+){0,2} *(AM|PM)/,eme=/\d{1,2}(:\d{1,2}){1,2}/,tme={className:"literal",variants:[{begin:kh.concat(/# */,kh.either($P,B_),/ *#/)},{begin:kh.concat(/# */,eme,/ *#/)},{begin:kh.concat(/# */,zP,/ *#/)},{begin:kh.concat(/# */,kh.either($P,B_),/ +/,kh.either(zP,eme),/ *#/)}]},nme={className:"number",relevance:0,variants:[{begin:/\b\d[\d_]*((\.[\d_]+(E[+-]?[\d_]+)?)|(E[+-]?[\d_]+))[RFD@!#]?/},{begin:/\b\d[\d_]*((U?[SIL])|[%&])?/},{begin:/&H[\dA-F_]+((U?[SIL])|[%&])?/},{begin:/&O[0-7_]+((U?[SIL])|[%&])?/},{begin:/&B[01_]+((U?[SIL])|[%&])?/}]},rme={className:"label",begin:/^\w+:/},ime=Ff.COMMENT(/'''/,/$/,{contains:[{className:"doctag",begin:/<\/?/,end:/>/}]}),ome=Ff.COMMENT(null,/$/,{variants:[{begin:/'/},{begin:/([\t ]|^)REM(?=\s)/}]});return{name:"Visual Basic .NET",aliases:["vb"],case_insensitive:!0,classNameAliases:{label:"symbol"},keywords:{keyword:"addhandler alias aggregate ansi as async assembly auto binary by byref byval call case catch class compare const continue custom declare default delegate dim distinct do each equals else elseif end enum erase error event exit explicit finally for friend from function get global goto group handles if implements imports in inherits interface into iterator join key let lib loop me mid module mustinherit mustoverride mybase myclass namespace narrowing new next notinheritable notoverridable of off on operator option optional order overloads overridable overrides paramarray partial preserve private property protected public raiseevent readonly redim removehandler resume return select set shadows shared skip static step stop structure strict sub synclock take text then throw to try unicode until using when where while widening with withevents writeonly yield",built_in:"addressof and andalso await directcast gettype getxmlnamespace is isfalse isnot istrue like mod nameof new not or orelse trycast typeof xor cbool cbyte cchar cdate cdbl cdec cint clng cobj csbyte cshort csng cstr cuint culng cushort",type:"boolean byte char date decimal double integer long object sbyte short single string uinteger ulong ushort",literal:"true false nothing"},illegal:"//|\\{|\\}|endif|gosub|variant|wend|^\\$ ",contains:[x_,$_,tme,nme,rme,ime,ome,{className:"meta",begin:/[\t ]*#(const|disable|else|elseif|enable|end|externalsource|if|region)\b/,end:/$/,keywords:{keyword:"const disable else elseif enable end externalsource if region then"},contains:[ome]}]}}function wasm(Ff){Ff.regex;const kh=Ff.COMMENT(/\(;/,/;\)/);kh.contains.push("self");const x_=Ff.COMMENT(/;;/,/$/),$_=["anyfunc","block","br","br_if","br_table","call","call_indirect","data","drop","elem","else","end","export","func","global.get","global.set","local.get","local.set","local.tee","get_global","get_local","global","if","import","local","loop","memory","memory.grow","memory.size","module","mut","nop","offset","param","result","return","select","set_global","set_local","start","table","tee_local","then","type","unreachable"],B_={begin:[/(?:func|call|call_indirect)/,/\s+/,/\$[^\s)]+/],className:{1:"keyword",3:"title.function"}},$P={className:"variable",begin:/\$[\w_]+/},zP={match:/(\((?!;)|\))+/,className:"punctuation",relevance:0},eme={className:"number",relevance:0,match:/[+-]?\b(?:\d(?:_?\d)*(?:\.\d(?:_?\d)*)?(?:[eE][+-]?\d(?:_?\d)*)?|0x[\da-fA-F](?:_?[\da-fA-F])*(?:\.[\da-fA-F](?:_?[\da-fA-D])*)?(?:[pP][+-]?\d(?:_?\d)*)?)\b|\binf\b|\bnan(?::0x[\da-fA-F](?:_?[\da-fA-D])*)?\b/},tme={match:/(i32|i64|f32|f64)(?!\.)/,className:"type"},nme={className:"keyword",match:/\b(f32|f64|i32|i64)(?:\.(?:abs|add|and|ceil|clz|const|convert_[su]\/i(?:32|64)|copysign|ctz|demote\/f64|div(?:_[su])?|eqz?|extend_[su]\/i32|floor|ge(?:_[su])?|gt(?:_[su])?|le(?:_[su])?|load(?:(?:8|16|32)_[su])?|lt(?:_[su])?|max|min|mul|nearest|neg?|or|popcnt|promote\/f32|reinterpret\/[fi](?:32|64)|rem_[su]|rot[lr]|shl|shr_[su]|store(?:8|16|32)?|sqrt|sub|trunc(?:_[su]\/f(?:32|64))?|wrap\/i64|xor))\b/};return{name:"WebAssembly",keywords:{$pattern:/[\w.]+/,keyword:$_},contains:[x_,kh,{match:[/(?:offset|align)/,/\s*/,/=/],className:{1:"keyword",3:"operator"}},$P,zP,B_,Ff.QUOTE_STRING_MODE,tme,nme,eme]}}function xml(Ff){const kh=Ff.regex,x_=kh.concat(/[\p{L}_]/u,kh.optional(/[\p{L}0-9_.-]*:/u),/[\p{L}0-9_.-]*/u),$_=/[\p{L}0-9._:-]+/u,B_={className:"symbol",begin:/&[a-z]+;|&#[0-9]+;|&#x[a-f0-9]+;/},$P={begin:/\s/,contains:[{className:"keyword",begin:/#?[a-z_][a-z1-9_-]+/,illegal:/\n/}]},zP=Ff.inherit($P,{begin:/\(/,end:/\)/}),eme=Ff.inherit(Ff.APOS_STRING_MODE,{className:"string"}),tme=Ff.inherit(Ff.QUOTE_STRING_MODE,{className:"string"}),nme={endsWithParent:!0,illegal:/</,relevance:0,contains:[{className:"attr",begin:$_,relevance:0},{begin:/=\s*/,relevance:0,contains:[{className:"string",endsParent:!0,variants:[{begin:/"/,end:/"/,contains:[B_]},{begin:/'/,end:/'/,contains:[B_]},{begin:/[^\s"'=<>`]+/}]}]}]};return{name:"HTML, XML",aliases:["html","xhtml","rss","atom","xjb","xsd","xsl","plist","wsf","svg"],case_insensitive:!0,unicodeRegex:!0,contains:[{className:"meta",begin:/<![a-z]/,end:/>/,relevance:10,contains:[$P,tme,eme,zP,{begin:/\[/,end:/\]/,contains:[{className:"meta",begin:/<![a-z]/,end:/>/,contains:[$P,zP,tme,eme]}]}]},Ff.COMMENT(/<!--/,/-->/,{relevance:10}),{begin:/<!\[CDATA\[/,end:/\]\]>/,relevance:10},B_,{className:"meta",end:/\?>/,variants:[{begin:/<\?xml/,relevance:10,contains:[tme]},{begin:/<\?[a-z][a-z0-9]+/}]},{className:"tag",begin:/<style(?=\s|>)/,end:/>/,keywords:{name:"style"},contains:[nme],starts:{end:/<\/style>/,returnEnd:!0,subLanguage:["css","xml"]}},{className:"tag",begin:/<script(?=\s|>)/,end:/>/,keywords:{name:"script"},contains:[nme],starts:{end:/<\/script>/,returnEnd:!0,subLanguage:["javascript","handlebars","xml"]}},{className:"tag",begin:/<>|<\/>/},{className:"tag",begin:kh.concat(/</,kh.lookahead(kh.concat(x_,kh.either(/\/>/,/>/,/\s/)))),end:/\/?>/,contains:[{className:"name",begin:x_,relevance:0,starts:nme}]},{className:"tag",begin:kh.concat(/<\//,kh.lookahead(kh.concat(x_,/>/))),contains:[{className:"name",begin:x_,relevance:0},{begin:/>/,relevance:0,endsParent:!0}]}]}}function yaml(Ff){const kh="true false yes no null",x_="[\\w#;/?:@&=+$,.~*'()[\\]]+",$_={className:"attr",variants:[{begin:"\\w[\\w :\\/.-]*:(?=[ ]|$)"},{begin:'"\\w[\\w :\\/.-]*":(?=[ ]|$)'},{begin:"'\\w[\\w :\\/.-]*':(?=[ ]|$)"}]},B_={className:"template-variable",variants:[{begin:/\{\{/,end:/\}\}/},{begin:/%\{/,end:/\}/}]},$P={className:"string",relevance:0,variants:[{begin:/'/,end:/'/},{begin:/"/,end:/"/},{begin:/\S+/}],contains:[Ff.BACKSLASH_ESCAPE,B_]},zP=Ff.inherit($P,{variants:[{begin:/'/,end:/'/},{begin:/"/,end:/"/},{begin:/[^\s,{}[\]]+/}]}),ime={className:"number",begin:"\\b"+"[0-9]{4}(-[0-9][0-9]){0,2}"+"([Tt \\t][0-9][0-9]?(:[0-9][0-9]){2})?"+"(\\.[0-9]*)?"+"([ \\t])*(Z|[-+][0-9][0-9]?(:[0-9][0-9])?)?"+"\\b"},ome={end:",",endsWithParent:!0,excludeEnd:!0,keywords:kh,relevance:0},sme={begin:/\{/,end:/\}/,contains:[ome],illegal:"\\n",relevance:0},ume={begin:"\\[",end:"\\]",contains:[ome],illegal:"\\n",relevance:0},cme=[$_,{className:"meta",begin:"^---\\s*$",relevance:10},{className:"string",begin:"[\\|>]([1-9]?[+-])?[ ]*\\n( +)[^ ][^\\n]*\\n(\\2[^\\n]+\\n?)*"},{begin:"<%[%=-]?",end:"[%-]?%>",subLanguage:"ruby",excludeBegin:!0,excludeEnd:!0,relevance:0},{className:"type",begin:"!\\w+!"+x_},{className:"type",begin:"!<"+x_+">"},{className:"type",begin:"!"+x_},{className:"type",begin:"!!"+x_},{className:"meta",begin:"&"+Ff.UNDERSCORE_IDENT_RE+"$"},{className:"meta",begin:"\\*"+Ff.UNDERSCORE_IDENT_RE+"$"},{className:"bullet",begin:"-(?=[ ]|$)",relevance:0},Ff.HASH_COMMENT_MODE,{beginKeywords:kh,keywords:{literal:kh}},ime,{className:"number",begin:Ff.C_NUMBER_RE+"\\b",relevance:0},sme,ume,$P],ame=[...cme];return ame.pop(),ame.push(zP),ome.contains=ame,{name:"YAML",case_insensitive:!0,aliases:["yml"],contains:cme}}var deepFreezeEs6={exports:{}};function deepFreeze$1(Ff){return Ff instanceof Map?Ff.clear=Ff.delete=Ff.set=function(){throw new Error("map is read-only")}:Ff instanceof Set&&(Ff.add=Ff.clear=Ff.delete=function(){throw new Error("set is read-only")}),Object.freeze(Ff),Object.getOwnPropertyNames(Ff).forEach(function(kh){var x_=Ff[kh];typeof x_=="object"&&!Object.isFrozen(x_)&&deepFreeze$1(x_)}),Ff}deepFreezeEs6.exports=deepFreeze$1,deepFreezeEs6.exports.default=deepFreeze$1;let Response$1=class{constructor(kh){kh.data===void 0&&(kh.data={}),this.data=kh.data,this.isMatchIgnored=!1}ignoreMatch(){this.isMatchIgnored=!0}};function escapeHTML$1(Ff){return Ff.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&#x27;")}function inherit$1$1(Ff,...kh){const x_=Object.create(null);for(const $_ in Ff)x_[$_]=Ff[$_];return kh.forEach(function($_){for(const B_ in $_)x_[B_]=$_[B_]}),x_}const SPAN_CLOSE$1="</span>",emitsWrappingTags$1=Ff=>!!Ff.scope||Ff.sublanguage&&Ff.language,scopeToCSSClass$1=(Ff,{prefix:kh})=>{if(Ff.includes(".")){const x_=Ff.split(".");return[`${kh}${x_.shift()}`,...x_.map(($_,B_)=>`${$_}${"_".repeat(B_+1)}`)].join(" ")}return`${kh}${Ff}`};let HTMLRenderer$1=class{constructor(kh,x_){this.buffer="",this.classPrefix=x_.classPrefix,kh.walk(this)}addText(kh){this.buffer+=escapeHTML$1(kh)}openNode(kh){if(!emitsWrappingTags$1(kh))return;let x_="";kh.sublanguage?x_=`language-${kh.language}`:x_=scopeToCSSClass$1(kh.scope,{prefix:this.classPrefix}),this.span(x_)}closeNode(kh){emitsWrappingTags$1(kh)&&(this.buffer+=SPAN_CLOSE$1)}value(){return this.buffer}span(kh){this.buffer+=`<span class="${kh}">`}};const newNode$1=(Ff={})=>{const kh={children:[]};return Object.assign(kh,Ff),kh};let TokenTree$1=class vbe{constructor(){this.rootNode=newNode$1(),this.stack=[this.rootNode]}get top(){return this.stack[this.stack.length-1]}get root(){return this.rootNode}add(kh){this.top.children.push(kh)}openNode(kh){const x_=newNode$1({scope:kh});this.add(x_),this.stack.push(x_)}closeNode(){if(this.stack.length>1)return this.stack.pop()}closeAllNodes(){for(;this.closeNode(););}toJSON(){return JSON.stringify(this.rootNode,null,4)}walk(kh){return this.constructor._walk(kh,this.rootNode)}static _walk(kh,x_){return typeof x_=="string"?kh.addText(x_):x_.children&&(kh.openNode(x_),x_.children.forEach($_=>this._walk(kh,$_)),kh.closeNode(x_)),kh}static _collapse(kh){typeof kh!="string"&&kh.children&&(kh.children.every(x_=>typeof x_=="string")?kh.children=[kh.children.join("")]:kh.children.forEach(x_=>{vbe._collapse(x_)}))}},TokenTreeEmitter$1=class extends TokenTree$1{constructor(kh){super(),this.options=kh}addKeyword(kh,x_){kh!==""&&(this.openNode(x_),this.addText(kh),this.closeNode())}addText(kh){kh!==""&&this.add(kh)}addSublanguage(kh,x_){const $_=kh.root;$_.sublanguage=!0,$_.language=x_,this.add($_)}toHTML(){return new HTMLRenderer$1(this,this.options).value()}finalize(){return!0}};function source$1(Ff){return Ff?typeof Ff=="string"?Ff:Ff.source:null}function lookahead$1(Ff){return concat$1("(?=",Ff,")")}function anyNumberOfTimes$1(Ff){return concat$1("(?:",Ff,")*")}function optional$1(Ff){return concat$1("(?:",Ff,")?")}function concat$1(...Ff){return Ff.map(x_=>source$1(x_)).join("")}function stripOptionsFromArgs$1(Ff){const kh=Ff[Ff.length-1];return typeof kh=="object"&&kh.constructor===Object?(Ff.splice(Ff.length-1,1),kh):{}}function either$1(...Ff){return"("+(stripOptionsFromArgs$1(Ff).capture?"":"?:")+Ff.map($_=>source$1($_)).join("|")+")"}function countMatchGroups$1(Ff){return new RegExp(Ff.toString()+"|").exec("").length-1}function startsWith$1(Ff,kh){const x_=Ff&&Ff.exec(kh);return x_&&x_.index===0}const BACKREF_RE$1=/\[(?:[^\\\]]|\\.)*\]|\(\??|\\([1-9][0-9]*)|\\./;function _rewriteBackreferences$1(Ff,{joinWith:kh}){let x_=0;return Ff.map($_=>{x_+=1;const B_=x_;let $P=source$1($_),zP="";for(;$P.length>0;){const eme=BACKREF_RE$1.exec($P);if(!eme){zP+=$P;break}zP+=$P.substring(0,eme.index),$P=$P.substring(eme.index+eme[0].length),eme[0][0]==="\\"&&eme[1]?zP+="\\"+String(Number(eme[1])+B_):(zP+=eme[0],eme[0]==="("&&x_++)}return zP}).map($_=>`(${$_})`).join(kh)}const MATCH_NOTHING_RE$1=/\b\B/,IDENT_RE$1="[a-zA-Z]\\w*",UNDERSCORE_IDENT_RE$1="[a-zA-Z_]\\w*",NUMBER_RE$1="\\b\\d+(\\.\\d+)?",C_NUMBER_RE$1="(-?)(\\b0[xX][a-fA-F0-9]+|(\\b\\d+(\\.\\d*)?|\\.\\d+)([eE][-+]?\\d+)?)",BINARY_NUMBER_RE$1="\\b(0b[01]+)",RE_STARTERS_RE$1="!|!=|!==|%|%=|&|&&|&=|\\*|\\*=|\\+|\\+=|,|-|-=|/=|/|:|;|<<|<<=|<=|<|===|==|=|>>>=|>>=|>=|>>>|>>|>|\\?|\\[|\\{|\\(|\\^|\\^=|\\||\\|=|\\|\\||~",SHEBANG$1=(Ff={})=>{const kh=/^#![ ]*\//;return Ff.binary&&(Ff.begin=concat$1(kh,/.*\b/,Ff.binary,/\b.*/)),inherit$1$1({scope:"meta",begin:kh,end:/$/,relevance:0,"on:begin":(x_,$_)=>{x_.index!==0&&$_.ignoreMatch()}},Ff)},BACKSLASH_ESCAPE$1={begin:"\\\\[\\s\\S]",relevance:0},APOS_STRING_MODE$1={scope:"string",begin:"'",end:"'",illegal:"\\n",contains:[BACKSLASH_ESCAPE$1]},QUOTE_STRING_MODE$1={scope:"string",begin:'"',end:'"',illegal:"\\n",contains:[BACKSLASH_ESCAPE$1]},PHRASAL_WORDS_MODE$1={begin:/\b(a|an|the|are|I'm|isn't|don't|doesn't|won't|but|just|should|pretty|simply|enough|gonna|going|wtf|so|such|will|you|your|they|like|more)\b/},COMMENT$2=function(Ff,kh,x_={}){const $_=inherit$1$1({scope:"comment",begin:Ff,end:kh,contains:[]},x_);$_.contains.push({scope:"doctag",begin:"[ ]*(?=(TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):)",end:/(TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):/,excludeBegin:!0,relevance:0});const B_=either$1("I","a","is","so","us","to","at","if","in","it","on",/[A-Za-z]+['](d|ve|re|ll|t|s|n)/,/[A-Za-z]+[-][a-z]+/,/[A-Za-z][a-z]{2,}/);return $_.contains.push({begin:concat$1(/[ ]+/,"(",B_,/[.]?[:]?([.][ ]|[ ])/,"){3}")}),$_},C_LINE_COMMENT_MODE$1=COMMENT$2("//","$"),C_BLOCK_COMMENT_MODE$1=COMMENT$2("/\\*","\\*/"),HASH_COMMENT_MODE$1=COMMENT$2("#","$"),NUMBER_MODE$1={scope:"number",begin:NUMBER_RE$1,relevance:0},C_NUMBER_MODE$1={scope:"number",begin:C_NUMBER_RE$1,relevance:0},BINARY_NUMBER_MODE$1={scope:"number",begin:BINARY_NUMBER_RE$1,relevance:0},REGEXP_MODE$1={begin:/(?=\/[^/\n]*\/)/,contains:[{scope:"regexp",begin:/\//,end:/\/[gimuy]*/,illegal:/\n/,contains:[BACKSLASH_ESCAPE$1,{begin:/\[/,end:/\]/,relevance:0,contains:[BACKSLASH_ESCAPE$1]}]}]},TITLE_MODE$1={scope:"title",begin:IDENT_RE$1,relevance:0},UNDERSCORE_TITLE_MODE$1={scope:"title",begin:UNDERSCORE_IDENT_RE$1,relevance:0},METHOD_GUARD$1={begin:"\\.\\s*"+UNDERSCORE_IDENT_RE$1,relevance:0},END_SAME_AS_BEGIN$1=function(Ff){return Object.assign(Ff,{"on:begin":(kh,x_)=>{x_.data._beginMatch=kh[1]},"on:end":(kh,x_)=>{x_.data._beginMatch!==kh[1]&&x_.ignoreMatch()}})};var MODES$1=Object.freeze({__proto__:null,MATCH_NOTHING_RE:MATCH_NOTHING_RE$1,IDENT_RE:IDENT_RE$1,UNDERSCORE_IDENT_RE:UNDERSCORE_IDENT_RE$1,NUMBER_RE:NUMBER_RE$1,C_NUMBER_RE:C_NUMBER_RE$1,BINARY_NUMBER_RE:BINARY_NUMBER_RE$1,RE_STARTERS_RE:RE_STARTERS_RE$1,SHEBANG:SHEBANG$1,BACKSLASH_ESCAPE:BACKSLASH_ESCAPE$1,APOS_STRING_MODE:APOS_STRING_MODE$1,QUOTE_STRING_MODE:QUOTE_STRING_MODE$1,PHRASAL_WORDS_MODE:PHRASAL_WORDS_MODE$1,COMMENT:COMMENT$2,C_LINE_COMMENT_MODE:C_LINE_COMMENT_MODE$1,C_BLOCK_COMMENT_MODE:C_BLOCK_COMMENT_MODE$1,HASH_COMMENT_MODE:HASH_COMMENT_MODE$1,NUMBER_MODE:NUMBER_MODE$1,C_NUMBER_MODE:C_NUMBER_MODE$1,BINARY_NUMBER_MODE:BINARY_NUMBER_MODE$1,REGEXP_MODE:REGEXP_MODE$1,TITLE_MODE:TITLE_MODE$1,UNDERSCORE_TITLE_MODE:UNDERSCORE_TITLE_MODE$1,METHOD_GUARD:METHOD_GUARD$1,END_SAME_AS_BEGIN:END_SAME_AS_BEGIN$1});function skipIfHasPrecedingDot$1(Ff,kh){Ff.input[Ff.index-1]==="."&&kh.ignoreMatch()}function scopeClassName$1(Ff,kh){Ff.className!==void 0&&(Ff.scope=Ff.className,delete Ff.className)}function beginKeywords$1(Ff,kh){kh&&Ff.beginKeywords&&(Ff.begin="\\b("+Ff.beginKeywords.split(" ").join("|")+")(?!\\.)(?=\\b|\\s)",Ff.__beforeBegin=skipIfHasPrecedingDot$1,Ff.keywords=Ff.keywords||Ff.beginKeywords,delete Ff.beginKeywords,Ff.relevance===void 0&&(Ff.relevance=0))}function compileIllegal$1(Ff,kh){Array.isArray(Ff.illegal)&&(Ff.illegal=either$1(...Ff.illegal))}function compileMatch$1(Ff,kh){if(Ff.match){if(Ff.begin||Ff.end)throw new Error("begin & end are not supported with match");Ff.begin=Ff.match,delete Ff.match}}function compileRelevance$1(Ff,kh){Ff.relevance===void 0&&(Ff.relevance=1)}const beforeMatchExt$1=(Ff,kh)=>{if(!Ff.beforeMatch)return;if(Ff.starts)throw new Error("beforeMatch cannot be used with starts");const x_=Object.assign({},Ff);Object.keys(Ff).forEach($_=>{delete Ff[$_]}),Ff.keywords=x_.keywords,Ff.begin=concat$1(x_.beforeMatch,lookahead$1(x_.begin)),Ff.starts={relevance:0,contains:[Object.assign(x_,{endsParent:!0})]},Ff.relevance=0,delete x_.beforeMatch},COMMON_KEYWORDS$1=["of","and","for","in","not","or","if","then","parent","list","value"],DEFAULT_KEYWORD_SCOPE$1="keyword";function compileKeywords$1(Ff,kh,x_=DEFAULT_KEYWORD_SCOPE$1){const $_=Object.create(null);return typeof Ff=="string"?B_(x_,Ff.split(" ")):Array.isArray(Ff)?B_(x_,Ff):Object.keys(Ff).forEach(function($P){Object.assign($_,compileKeywords$1(Ff[$P],kh,$P))}),$_;function B_($P,zP){kh&&(zP=zP.map(eme=>eme.toLowerCase())),zP.forEach(function(eme){const tme=eme.split("|");$_[tme[0]]=[$P,scoreForKeyword$1(tme[0],tme[1])]})}}function scoreForKeyword$1(Ff,kh){return kh?Number(kh):commonKeyword$1(Ff)?0:1}function commonKeyword$1(Ff){return COMMON_KEYWORDS$1.includes(Ff.toLowerCase())}const seenDeprecations$1={},error$2=Ff=>{console.error(Ff)},warn$2=(Ff,...kh)=>{console.log(`WARN: ${Ff}`,...kh)},deprecated$1=(Ff,kh)=>{seenDeprecations$1[`${Ff}/${kh}`]||(console.log(`Deprecated as of ${Ff}. ${kh}`),seenDeprecations$1[`${Ff}/${kh}`]=!0)},MultiClassError$1=new Error;function remapScopeNames$1(Ff,kh,{key:x_}){let $_=0;const B_=Ff[x_],$P={},zP={};for(let eme=1;eme<=kh.length;eme++)zP[eme+$_]=B_[eme],$P[eme+$_]=!0,$_+=countMatchGroups$1(kh[eme-1]);Ff[x_]=zP,Ff[x_]._emit=$P,Ff[x_]._multi=!0}function beginMultiClass$1(Ff){if(Array.isArray(Ff.begin)){if(Ff.skip||Ff.excludeBegin||Ff.returnBegin)throw error$2("skip, excludeBegin, returnBegin not compatible with beginScope: {}"),MultiClassError$1;if(typeof Ff.beginScope!="object"||Ff.beginScope===null)throw error$2("beginScope must be object"),MultiClassError$1;remapScopeNames$1(Ff,Ff.begin,{key:"beginScope"}),Ff.begin=_rewriteBackreferences$1(Ff.begin,{joinWith:""})}}function endMultiClass$1(Ff){if(Array.isArray(Ff.end)){if(Ff.skip||Ff.excludeEnd||Ff.returnEnd)throw error$2("skip, excludeEnd, returnEnd not compatible with endScope: {}"),MultiClassError$1;if(typeof Ff.endScope!="object"||Ff.endScope===null)throw error$2("endScope must be object"),MultiClassError$1;remapScopeNames$1(Ff,Ff.end,{key:"endScope"}),Ff.end=_rewriteBackreferences$1(Ff.end,{joinWith:""})}}function scopeSugar$1(Ff){Ff.scope&&typeof Ff.scope=="object"&&Ff.scope!==null&&(Ff.beginScope=Ff.scope,delete Ff.scope)}function MultiClass$1(Ff){scopeSugar$1(Ff),typeof Ff.beginScope=="string"&&(Ff.beginScope={_wrap:Ff.beginScope}),typeof Ff.endScope=="string"&&(Ff.endScope={_wrap:Ff.endScope}),beginMultiClass$1(Ff),endMultiClass$1(Ff)}function compileLanguage$1(Ff){function kh(zP,eme){return new RegExp(source$1(zP),"m"+(Ff.case_insensitive?"i":"")+(Ff.unicodeRegex?"u":"")+(eme?"g":""))}class x_{constructor(){this.matchIndexes={},this.regexes=[],this.matchAt=1,this.position=0}addRule(eme,tme){tme.position=this.position++,this.matchIndexes[this.matchAt]=tme,this.regexes.push([tme,eme]),this.matchAt+=countMatchGroups$1(eme)+1}compile(){this.regexes.length===0&&(this.exec=()=>null);const eme=this.regexes.map(tme=>tme[1]);this.matcherRe=kh(_rewriteBackreferences$1(eme,{joinWith:"|"}),!0),this.lastIndex=0}exec(eme){this.matcherRe.lastIndex=this.lastIndex;const tme=this.matcherRe.exec(eme);if(!tme)return null;const nme=tme.findIndex((ime,ome)=>ome>0&&ime!==void 0),rme=this.matchIndexes[nme];return tme.splice(0,nme),Object.assign(tme,rme)}}class $_{constructor(){this.rules=[],this.multiRegexes=[],this.count=0,this.lastIndex=0,this.regexIndex=0}getMatcher(eme){if(this.multiRegexes[eme])return this.multiRegexes[eme];const tme=new x_;return this.rules.slice(eme).forEach(([nme,rme])=>tme.addRule(nme,rme)),tme.compile(),this.multiRegexes[eme]=tme,tme}resumingScanAtSamePosition(){return this.regexIndex!==0}considerAll(){this.regexIndex=0}addRule(eme,tme){this.rules.push([eme,tme]),tme.type==="begin"&&this.count++}exec(eme){const tme=this.getMatcher(this.regexIndex);tme.lastIndex=this.lastIndex;let nme=tme.exec(eme);if(this.resumingScanAtSamePosition()&&!(nme&&nme.index===this.lastIndex)){const rme=this.getMatcher(0);rme.lastIndex=this.lastIndex+1,nme=rme.exec(eme)}return nme&&(this.regexIndex+=nme.position+1,this.regexIndex===this.count&&this.considerAll()),nme}}function B_(zP){const eme=new $_;return zP.contains.forEach(tme=>eme.addRule(tme.begin,{rule:tme,type:"begin"})),zP.terminatorEnd&&eme.addRule(zP.terminatorEnd,{type:"end"}),zP.illegal&&eme.addRule(zP.illegal,{type:"illegal"}),eme}function $P(zP,eme){const tme=zP;if(zP.isCompiled)return tme;[scopeClassName$1,compileMatch$1,MultiClass$1,beforeMatchExt$1].forEach(rme=>rme(zP,eme)),Ff.compilerExtensions.forEach(rme=>rme(zP,eme)),zP.__beforeBegin=null,[beginKeywords$1,compileIllegal$1,compileRelevance$1].forEach(rme=>rme(zP,eme)),zP.isCompiled=!0;let nme=null;return typeof zP.keywords=="object"&&zP.keywords.$pattern&&(zP.keywords=Object.assign({},zP.keywords),nme=zP.keywords.$pattern,delete zP.keywords.$pattern),nme=nme||/\w+/,zP.keywords&&(zP.keywords=compileKeywords$1(zP.keywords,Ff.case_insensitive)),tme.keywordPatternRe=kh(nme,!0),eme&&(zP.begin||(zP.begin=/\B|\b/),tme.beginRe=kh(tme.begin),!zP.end&&!zP.endsWithParent&&(zP.end=/\B|\b/),zP.end&&(tme.endRe=kh(tme.end)),tme.terminatorEnd=source$1(tme.end)||"",zP.endsWithParent&&eme.terminatorEnd&&(tme.terminatorEnd+=(zP.end?"|":"")+eme.terminatorEnd)),zP.illegal&&(tme.illegalRe=kh(zP.illegal)),zP.contains||(zP.contains=[]),zP.contains=[].concat(...zP.contains.map(function(rme){return expandOrCloneMode$1(rme==="self"?zP:rme)})),zP.contains.forEach(function(rme){$P(rme,tme)}),zP.starts&&$P(zP.starts,eme),tme.matcher=B_(tme),tme}if(Ff.compilerExtensions||(Ff.compilerExtensions=[]),Ff.contains&&Ff.contains.includes("self"))throw new Error("ERR: contains `self` is not supported at the top-level of a language. See documentation.");return Ff.classNameAliases=inherit$1$1(Ff.classNameAliases||{}),$P(Ff)}function dependencyOnParent$1(Ff){return Ff?Ff.endsWithParent||dependencyOnParent$1(Ff.starts):!1}function expandOrCloneMode$1(Ff){return Ff.variants&&!Ff.cachedVariants&&(Ff.cachedVariants=Ff.variants.map(function(kh){return inherit$1$1(Ff,{variants:null},kh)})),Ff.cachedVariants?Ff.cachedVariants:dependencyOnParent$1(Ff)?inherit$1$1(Ff,{starts:Ff.starts?inherit$1$1(Ff.starts):null}):Object.isFrozen(Ff)?inherit$1$1(Ff):Ff}var version$3="11.7.0";let HTMLInjectionError$1=class extends Error{constructor(kh,x_){super(kh),this.name="HTMLInjectionError",this.html=x_}};const escape$2=escapeHTML$1,inherit$2=inherit$1$1,NO_MATCH$1=Symbol("nomatch"),MAX_KEYWORD_HITS$1=7,HLJS$1=function(Ff){const kh=Object.create(null),x_=Object.create(null),$_=[];let B_=!0;const $P="Could not find the language '{}', did you forget to load/include a language module?",zP={disableAutodetect:!0,name:"Plain text",contains:[]};let eme={ignoreUnescapedHTML:!1,throwUnescapedHTML:!1,noHighlightRe:/^(no-?highlight)$/i,languageDetectRe:/\blang(?:uage)?-([\w-]+)\b/i,classPrefix:"hljs-",cssSelector:"pre code",languages:null,__emitter:TokenTreeEmitter$1};function tme(Pme){return eme.noHighlightRe.test(Pme)}function nme(Pme){let Ome=Pme.className+" ";Ome+=Pme.parentNode?Pme.parentNode.className:"";const Sme=eme.languageDetectRe.exec(Ome);if(Sme){const Nme=yme(Sme[1]);return Nme||(warn$2($P.replace("{}",Sme[1])),warn$2("Falling back to no-highlight mode for this block.",Pme)),Nme?Sme[1]:"no-highlight"}return Ome.split(/\s+/).find(Nme=>tme(Nme)||yme(Nme))}function rme(Pme,Ome,Sme){let Nme="",Eme="";typeof Ome=="object"?(Nme=Pme,Sme=Ome.ignoreIllegals,Eme=Ome.language):(deprecated$1("10.7.0","highlight(lang, code, ...args) has been deprecated."),deprecated$1("10.7.0",`Please use highlight(code, options) instead.
@@ -674,4 +674,4 @@ object-assign
674
674
  (c) Sindre Sorhus
675
675
  @license MIT
676
676
  */var objectAssign,hasRequiredObjectAssign;function requireObjectAssign(){if(hasRequiredObjectAssign)return objectAssign;hasRequiredObjectAssign=1;var Ff=Object.getOwnPropertySymbols,kh=Object.prototype.hasOwnProperty,x_=Object.prototype.propertyIsEnumerable;function $_($P){if($P==null)throw new TypeError("Object.assign cannot be called with null or undefined");return Object($P)}function B_(){try{if(!Object.assign)return!1;var $P=new String("abc");if($P[5]="de",Object.getOwnPropertyNames($P)[0]==="5")return!1;for(var zP={},eme=0;eme<10;eme++)zP["_"+String.fromCharCode(eme)]=eme;var tme=Object.getOwnPropertyNames(zP).map(function(rme){return zP[rme]});if(tme.join("")!=="0123456789")return!1;var nme={};return"abcdefghijklmnopqrst".split("").forEach(function(rme){nme[rme]=rme}),Object.keys(Object.assign({},nme)).join("")==="abcdefghijklmnopqrst"}catch{return!1}}return objectAssign=B_()?Object.assign:function($P,zP){for(var eme,tme=$_($P),nme,rme=1;rme<arguments.length;rme++){eme=Object(arguments[rme]);for(var ime in eme)kh.call(eme,ime)&&(tme[ime]=eme[ime]);if(Ff){nme=Ff(eme);for(var ome=0;ome<nme.length;ome++)x_.call(eme,nme[ome])&&(tme[nme[ome]]=eme[nme[ome]])}}return tme},objectAssign}var ReactPropTypesSecret_1,hasRequiredReactPropTypesSecret;function requireReactPropTypesSecret(){if(hasRequiredReactPropTypesSecret)return ReactPropTypesSecret_1;hasRequiredReactPropTypesSecret=1;var Ff="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED";return ReactPropTypesSecret_1=Ff,ReactPropTypesSecret_1}var has,hasRequiredHas;function requireHas(){return hasRequiredHas||(hasRequiredHas=1,has=Function.call.bind(Object.prototype.hasOwnProperty)),has}var checkPropTypes_1,hasRequiredCheckPropTypes;function requireCheckPropTypes(){if(hasRequiredCheckPropTypes)return checkPropTypes_1;hasRequiredCheckPropTypes=1;var Ff=function(){};if(process.env.NODE_ENV!=="production"){var kh=requireReactPropTypesSecret(),x_={},$_=requireHas();Ff=function($P){var zP="Warning: "+$P;typeof console<"u"&&console.error(zP);try{throw new Error(zP)}catch{}}}function B_($P,zP,eme,tme,nme){if(process.env.NODE_ENV!=="production"){for(var rme in $P)if($_($P,rme)){var ime;try{if(typeof $P[rme]!="function"){var ome=Error((tme||"React class")+": "+eme+" type `"+rme+"` is invalid; it must be a function, usually from the `prop-types` package, but received `"+typeof $P[rme]+"`.This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`.");throw ome.name="Invariant Violation",ome}ime=$P[rme](zP,rme,tme,eme,null,kh)}catch(ume){ime=ume}if(ime&&!(ime instanceof Error)&&Ff((tme||"React class")+": type specification of "+eme+" `"+rme+"` is invalid; the type checker function must return `null` or an `Error` but returned a "+typeof ime+". You may have forgotten to pass an argument to the type checker creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and shape all require an argument)."),ime instanceof Error&&!(ime.message in x_)){x_[ime.message]=!0;var sme=nme?nme():"";Ff("Failed "+eme+" type: "+ime.message+(sme??""))}}}}return B_.resetWarningCache=function(){process.env.NODE_ENV!=="production"&&(x_={})},checkPropTypes_1=B_,checkPropTypes_1}var factoryWithTypeCheckers,hasRequiredFactoryWithTypeCheckers;function requireFactoryWithTypeCheckers(){if(hasRequiredFactoryWithTypeCheckers)return factoryWithTypeCheckers;hasRequiredFactoryWithTypeCheckers=1;var Ff=requireReactIs(),kh=requireObjectAssign(),x_=requireReactPropTypesSecret(),$_=requireHas(),B_=requireCheckPropTypes(),$P=function(){};process.env.NODE_ENV!=="production"&&($P=function(eme){var tme="Warning: "+eme;typeof console<"u"&&console.error(tme);try{throw new Error(tme)}catch{}});function zP(){return null}return factoryWithTypeCheckers=function(eme,tme){var nme=typeof Symbol=="function"&&Symbol.iterator,rme="@@iterator";function ime(Eme){var Mme=Eme&&(nme&&Eme[nme]||Eme[rme]);if(typeof Mme=="function")return Mme}var ome="<<anonymous>>",sme={array:lme("array"),bigint:lme("bigint"),bool:lme("boolean"),func:lme("function"),number:lme("number"),object:lme("object"),string:lme("string"),symbol:lme("symbol"),any:dme(),arrayOf:fme,element:hme(),elementType:pme(),instanceOf:gme,node:bme(),objectOf:mme,oneOf:vme,oneOfType:yme,shape:Cme,exact:Ame};function ume(Eme,Mme){return Eme===Mme?Eme!==0||1/Eme===1/Mme:Eme!==Eme&&Mme!==Mme}function cme(Eme,Mme){this.message=Eme,this.data=Mme&&typeof Mme=="object"?Mme:{},this.stack=""}cme.prototype=Error.prototype;function ame(Eme){if(process.env.NODE_ENV!=="production")var Mme={},Fme=0;function xme(kme,Dme,wme,Lme,$me,Bme,jme){if(Lme=Lme||ome,Bme=Bme||wme,jme!==x_){if(tme){var Vme=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use `PropTypes.checkPropTypes()` to call them. Read more at http://fb.me/use-check-prop-types");throw Vme.name="Invariant Violation",Vme}else if(process.env.NODE_ENV!=="production"&&typeof console<"u"){var Kme=Lme+":"+wme;!Mme[Kme]&&Fme<3&&($P("You are manually calling a React.PropTypes validation function for the `"+Bme+"` prop on `"+Lme+"`. This is deprecated and will throw in the standalone `prop-types` package. You may be seeing this warning due to a third-party PropTypes library. See https://fb.me/react-warning-dont-call-proptypes for details."),Mme[Kme]=!0,Fme++)}}return Dme[wme]==null?kme?Dme[wme]===null?new cme("The "+$me+" `"+Bme+"` is marked as required "+("in `"+Lme+"`, but its value is `null`.")):new cme("The "+$me+" `"+Bme+"` is marked as required in "+("`"+Lme+"`, but its value is `undefined`.")):null:Eme(Dme,wme,Lme,$me,Bme)}var Tme=xme.bind(null,!1);return Tme.isRequired=xme.bind(null,!0),Tme}function lme(Eme){function Mme(Fme,xme,Tme,kme,Dme,wme){var Lme=Fme[xme],$me=Pme(Lme);if($me!==Eme){var Bme=Ome(Lme);return new cme("Invalid "+kme+" `"+Dme+"` of type "+("`"+Bme+"` supplied to `"+Tme+"`, expected ")+("`"+Eme+"`."),{expectedType:Eme})}return null}return ame(Mme)}function dme(){return ame(zP)}function fme(Eme){function Mme(Fme,xme,Tme,kme,Dme){if(typeof Eme!="function")return new cme("Property `"+Dme+"` of component `"+Tme+"` has invalid PropType notation inside arrayOf.");var wme=Fme[xme];if(!Array.isArray(wme)){var Lme=Pme(wme);return new cme("Invalid "+kme+" `"+Dme+"` of type "+("`"+Lme+"` supplied to `"+Tme+"`, expected an array."))}for(var $me=0;$me<wme.length;$me++){var Bme=Eme(wme,$me,Tme,kme,Dme+"["+$me+"]",x_);if(Bme instanceof Error)return Bme}return null}return ame(Mme)}function hme(){function Eme(Mme,Fme,xme,Tme,kme){var Dme=Mme[Fme];if(!eme(Dme)){var wme=Pme(Dme);return new cme("Invalid "+Tme+" `"+kme+"` of type "+("`"+wme+"` supplied to `"+xme+"`, expected a single ReactElement."))}return null}return ame(Eme)}function pme(){function Eme(Mme,Fme,xme,Tme,kme){var Dme=Mme[Fme];if(!Ff.isValidElementType(Dme)){var wme=Pme(Dme);return new cme("Invalid "+Tme+" `"+kme+"` of type "+("`"+wme+"` supplied to `"+xme+"`, expected a single ReactElement type."))}return null}return ame(Eme)}function gme(Eme){function Mme(Fme,xme,Tme,kme,Dme){if(!(Fme[xme]instanceof Eme)){var wme=Eme.name||ome,Lme=Nme(Fme[xme]);return new cme("Invalid "+kme+" `"+Dme+"` of type "+("`"+Lme+"` supplied to `"+Tme+"`, expected ")+("instance of `"+wme+"`."))}return null}return ame(Mme)}function vme(Eme){if(!Array.isArray(Eme))return process.env.NODE_ENV!=="production"&&(arguments.length>1?$P("Invalid arguments supplied to oneOf, expected an array, got "+arguments.length+" arguments. A common mistake is to write oneOf(x, y, z) instead of oneOf([x, y, z])."):$P("Invalid argument supplied to oneOf, expected an array.")),zP;function Mme(Fme,xme,Tme,kme,Dme){for(var wme=Fme[xme],Lme=0;Lme<Eme.length;Lme++)if(ume(wme,Eme[Lme]))return null;var $me=JSON.stringify(Eme,function(jme,Vme){var Kme=Ome(Vme);return Kme==="symbol"?String(Vme):Vme});return new cme("Invalid "+kme+" `"+Dme+"` of value `"+String(wme)+"` "+("supplied to `"+Tme+"`, expected one of "+$me+"."))}return ame(Mme)}function mme(Eme){function Mme(Fme,xme,Tme,kme,Dme){if(typeof Eme!="function")return new cme("Property `"+Dme+"` of component `"+Tme+"` has invalid PropType notation inside objectOf.");var wme=Fme[xme],Lme=Pme(wme);if(Lme!=="object")return new cme("Invalid "+kme+" `"+Dme+"` of type "+("`"+Lme+"` supplied to `"+Tme+"`, expected an object."));for(var $me in wme)if($_(wme,$me)){var Bme=Eme(wme,$me,Tme,kme,Dme+"."+$me,x_);if(Bme instanceof Error)return Bme}return null}return ame(Mme)}function yme(Eme){if(!Array.isArray(Eme))return process.env.NODE_ENV!=="production"&&$P("Invalid argument supplied to oneOfType, expected an instance of array."),zP;for(var Mme=0;Mme<Eme.length;Mme++){var Fme=Eme[Mme];if(typeof Fme!="function")return $P("Invalid argument supplied to oneOfType. Expected an array of check functions, but received "+Sme(Fme)+" at index "+Mme+"."),zP}function xme(Tme,kme,Dme,wme,Lme){for(var $me=[],Bme=0;Bme<Eme.length;Bme++){var jme=Eme[Bme],Vme=jme(Tme,kme,Dme,wme,Lme,x_);if(Vme==null)return null;Vme.data&&$_(Vme.data,"expectedType")&&$me.push(Vme.data.expectedType)}var Kme=$me.length>0?", expected one of type ["+$me.join(", ")+"]":"";return new cme("Invalid "+wme+" `"+Lme+"` supplied to "+("`"+Dme+"`"+Kme+"."))}return ame(xme)}function bme(){function Eme(Mme,Fme,xme,Tme,kme){return Rme(Mme[Fme])?null:new cme("Invalid "+Tme+" `"+kme+"` supplied to "+("`"+xme+"`, expected a ReactNode."))}return ame(Eme)}function _me(Eme,Mme,Fme,xme,Tme){return new cme((Eme||"React class")+": "+Mme+" type `"+Fme+"."+xme+"` is invalid; it must be a function, usually from the `prop-types` package, but received `"+Tme+"`.")}function Cme(Eme){function Mme(Fme,xme,Tme,kme,Dme){var wme=Fme[xme],Lme=Pme(wme);if(Lme!=="object")return new cme("Invalid "+kme+" `"+Dme+"` of type `"+Lme+"` "+("supplied to `"+Tme+"`, expected `object`."));for(var $me in Eme){var Bme=Eme[$me];if(typeof Bme!="function")return _me(Tme,kme,Dme,$me,Ome(Bme));var jme=Bme(wme,$me,Tme,kme,Dme+"."+$me,x_);if(jme)return jme}return null}return ame(Mme)}function Ame(Eme){function Mme(Fme,xme,Tme,kme,Dme){var wme=Fme[xme],Lme=Pme(wme);if(Lme!=="object")return new cme("Invalid "+kme+" `"+Dme+"` of type `"+Lme+"` "+("supplied to `"+Tme+"`, expected `object`."));var $me=kh({},Fme[xme],Eme);for(var Bme in $me){var jme=Eme[Bme];if($_(Eme,Bme)&&typeof jme!="function")return _me(Tme,kme,Dme,Bme,Ome(jme));if(!jme)return new cme("Invalid "+kme+" `"+Dme+"` key `"+Bme+"` supplied to `"+Tme+"`.\nBad object: "+JSON.stringify(Fme[xme],null," ")+`
677
- Valid keys: `+JSON.stringify(Object.keys(Eme),null," "));var Vme=jme(wme,Bme,Tme,kme,Dme+"."+Bme,x_);if(Vme)return Vme}return null}return ame(Mme)}function Rme(Eme){switch(typeof Eme){case"number":case"string":case"undefined":return!0;case"boolean":return!Eme;case"object":if(Array.isArray(Eme))return Eme.every(Rme);if(Eme===null||eme(Eme))return!0;var Mme=ime(Eme);if(Mme){var Fme=Mme.call(Eme),xme;if(Mme!==Eme.entries){for(;!(xme=Fme.next()).done;)if(!Rme(xme.value))return!1}else for(;!(xme=Fme.next()).done;){var Tme=xme.value;if(Tme&&!Rme(Tme[1]))return!1}}else return!1;return!0;default:return!1}}function Ime(Eme,Mme){return Eme==="symbol"?!0:Mme?Mme["@@toStringTag"]==="Symbol"||typeof Symbol=="function"&&Mme instanceof Symbol:!1}function Pme(Eme){var Mme=typeof Eme;return Array.isArray(Eme)?"array":Eme instanceof RegExp?"object":Ime(Mme,Eme)?"symbol":Mme}function Ome(Eme){if(typeof Eme>"u"||Eme===null)return""+Eme;var Mme=Pme(Eme);if(Mme==="object"){if(Eme instanceof Date)return"date";if(Eme instanceof RegExp)return"regexp"}return Mme}function Sme(Eme){var Mme=Ome(Eme);switch(Mme){case"array":case"object":return"an "+Mme;case"boolean":case"date":case"regexp":return"a "+Mme;default:return Mme}}function Nme(Eme){return!Eme.constructor||!Eme.constructor.name?ome:Eme.constructor.name}return sme.checkPropTypes=B_,sme.resetWarningCache=B_.resetWarningCache,sme.PropTypes=sme,sme},factoryWithTypeCheckers}var factoryWithThrowingShims,hasRequiredFactoryWithThrowingShims;function requireFactoryWithThrowingShims(){if(hasRequiredFactoryWithThrowingShims)return factoryWithThrowingShims;hasRequiredFactoryWithThrowingShims=1;var Ff=requireReactPropTypesSecret();function kh(){}function x_(){}return x_.resetWarningCache=kh,factoryWithThrowingShims=function(){function $_(zP,eme,tme,nme,rme,ime){if(ime!==Ff){var ome=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw ome.name="Invariant Violation",ome}}$_.isRequired=$_;function B_(){return $_}var $P={array:$_,bigint:$_,bool:$_,func:$_,number:$_,object:$_,string:$_,symbol:$_,any:$_,arrayOf:B_,element:$_,elementType:$_,instanceOf:B_,node:$_,objectOf:B_,oneOf:B_,oneOfType:B_,shape:B_,exact:B_,checkPropTypes:x_,resetWarningCache:kh};return $P.PropTypes=$P,$P},factoryWithThrowingShims}if(process.env.NODE_ENV!=="production"){var ReactIs=requireReactIs(),throwOnDirectAccess=!0;propTypes.exports=requireFactoryWithTypeCheckers()(ReactIs.isElement,throwOnDirectAccess)}else propTypes.exports=requireFactoryWithThrowingShims()();var propTypesExports=propTypes.exports;const PropTypes=getDefaultExportFromCjs(propTypesExports);var __spreadArray=function(Ff,kh,x_){if(x_||arguments.length===2)for(var $_=0,B_=kh.length,$P;$_<B_;$_++)($P||!($_ in kh))&&($P||($P=Array.prototype.slice.call(kh,0,$_)),$P[$_]=kh[$_]);return Ff.concat($P||Array.prototype.slice.call(kh))},clipboardEvents=["onCopy","onCut","onPaste"],compositionEvents=["onCompositionEnd","onCompositionStart","onCompositionUpdate"],focusEvents=["onFocus","onBlur"],formEvents=["onInput","onInvalid","onReset","onSubmit"],imageEvents=["onLoad","onError"],keyboardEvents=["onKeyDown","onKeyPress","onKeyUp"],mediaEvents=["onAbort","onCanPlay","onCanPlayThrough","onDurationChange","onEmptied","onEncrypted","onEnded","onError","onLoadedData","onLoadedMetadata","onLoadStart","onPause","onPlay","onPlaying","onProgress","onRateChange","onSeeked","onSeeking","onStalled","onSuspend","onTimeUpdate","onVolumeChange","onWaiting"],mouseEvents=["onClick","onContextMenu","onDoubleClick","onMouseDown","onMouseEnter","onMouseLeave","onMouseMove","onMouseOut","onMouseOver","onMouseUp"],dragEvents=["onDrag","onDragEnd","onDragEnter","onDragExit","onDragLeave","onDragOver","onDragStart","onDrop"],selectionEvents=["onSelect"],touchEvents=["onTouchCancel","onTouchEnd","onTouchMove","onTouchStart"],pointerEvents=["onPointerDown","onPointerMove","onPointerUp","onPointerCancel","onGotPointerCapture","onLostPointerCapture","onPointerEnter","onPointerLeave","onPointerOver","onPointerOut"],uiEvents=["onScroll"],wheelEvents=["onWheel"],animationEvents=["onAnimationStart","onAnimationEnd","onAnimationIteration"],transitionEvents=["onTransitionEnd"],otherEvents=["onToggle"],changeEvents=["onChange"],allEvents=__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray([],clipboardEvents,!0),compositionEvents,!0),focusEvents,!0),formEvents,!0),imageEvents,!0),keyboardEvents,!0),mediaEvents,!0),mouseEvents,!0),dragEvents,!0),selectionEvents,!0),touchEvents,!0),pointerEvents,!0),uiEvents,!0),wheelEvents,!0),animationEvents,!0),transitionEvents,!0),changeEvents,!0),otherEvents,!0);function makeEventProps(Ff,kh){var x_={};return allEvents.forEach(function($_){var B_=Ff[$_];B_&&(kh?x_[$_]=function($P){return B_($P,kh($_))}:x_[$_]=B_)}),x_}function makeCancellablePromise(Ff){var kh=!1,x_=new Promise(function($_,B_){Ff.then(function($P){return!kh&&$_($P)}).catch(function($P){return!kh&&B_($P)})});return{promise:x_,cancel:function(){kh=!0}}}function r(Ff){var kh,x_,$_="";if(typeof Ff=="string"||typeof Ff=="number")$_+=Ff;else if(typeof Ff=="object")if(Array.isArray(Ff)){var B_=Ff.length;for(kh=0;kh<B_;kh++)Ff[kh]&&(x_=r(Ff[kh]))&&($_&&($_+=" "),$_+=x_)}else for(x_ in Ff)Ff[x_]&&($_&&($_+=" "),$_+=x_);return $_}function clsx(){for(var Ff,kh,x_=0,$_="",B_=arguments.length;x_<B_;x_++)(Ff=arguments[x_])&&(kh=r(Ff))&&($_&&($_+=" "),$_+=kh);return $_}var isProduction$1=process.env.NODE_ENV==="production",prefix="Invariant failed";function invariant(Ff,kh){if(!Ff){if(isProduction$1)throw new Error(prefix);var x_=typeof kh=="function"?kh():kh,$_=x_?"".concat(prefix,": ").concat(x_):prefix;throw new Error($_)}}var isProduction=process.env.NODE_ENV==="production";function warning(Ff,kh){if(!isProduction){if(Ff)return;var x_="Warning: "+kh;typeof console<"u"&&console.warn(x_);try{throw Error(x_)}catch{}}}const DocumentContext=React.createContext(null);function Message({children:Ff,type:kh}){return React.createElement("div",{className:`react-pdf__message react-pdf__message--${kh}`},Ff)}const DEFAULT_LINK_REL="noopener noreferrer nofollow";class LinkService{constructor(){this.externalLinkEnabled=!0,this.externalLinkRel=void 0,this.externalLinkTarget=void 0,this.isInPresentationMode=!1,this.pdfDocument=void 0,this.pdfViewer=void 0}setDocument(kh){this.pdfDocument=kh}setViewer(kh){this.pdfViewer=kh}setExternalLinkRel(kh){this.externalLinkRel=kh}setExternalLinkTarget(kh){this.externalLinkTarget=kh}setHistory(){}get pagesCount(){return this.pdfDocument?this.pdfDocument.numPages:0}get page(){return invariant(this.pdfViewer,"PDF viewer is not initialized."),this.pdfViewer.currentPageNumber||0}set page(kh){invariant(this.pdfViewer,"PDF viewer is not initialized."),this.pdfViewer.currentPageNumber=kh}get rotation(){return 0}set rotation(kh){}goToDestination(kh){return new Promise(x_=>{invariant(this.pdfDocument,"PDF document not loaded."),invariant(kh,"Destination is not specified."),typeof kh=="string"?this.pdfDocument.getDestination(kh).then(x_):Array.isArray(kh)?x_(kh):kh.then(x_)}).then(x_=>{invariant(Array.isArray(x_),`"${x_}" is not a valid destination array.`);const $_=x_[0];new Promise(B_=>{invariant(this.pdfDocument,"PDF document not loaded."),$_ instanceof Object?this.pdfDocument.getPageIndex($_).then($P=>{B_($P)}).catch(()=>{invariant(!1,`"${$_}" is not a valid page reference.`)}):typeof $_=="number"?B_($_):invariant(!1,`"${$_}" is not a valid destination reference.`)}).then(B_=>{const $P=B_+1;invariant(this.pdfViewer,"PDF viewer is not initialized."),invariant($P>=1&&$P<=this.pagesCount,`"${$P}" is not a valid page number.`),this.pdfViewer.scrollPageIntoView({dest:x_,pageIndex:B_,pageNumber:$P})})})}navigateTo(kh){this.goToDestination(kh)}goToPage(kh){const x_=kh-1;invariant(this.pdfViewer,"PDF viewer is not initialized."),invariant(kh>=1&&kh<=this.pagesCount,`"${kh}" is not a valid page number.`),this.pdfViewer.scrollPageIntoView({pageIndex:x_,pageNumber:kh})}addLinkAttributes(kh,x_,$_){kh.href=x_,kh.rel=this.externalLinkRel||DEFAULT_LINK_REL,kh.target=$_?"_blank":this.externalLinkTarget||""}getDestinationHash(){return"#"}getAnchorUrl(){return"#"}setHash(){}executeNamedAction(){}cachePageRef(){}isPageVisible(){return!0}isPageCached(){return!0}executeSetOCGState(){}}const PasswordResponses={NEED_PASSWORD:1,INCORRECT_PASSWORD:2},isBrowser=typeof document<"u",isLocalFileSystem=isBrowser&&window.location.protocol==="file:";function isDefined(Ff){return typeof Ff<"u"}function isProvided(Ff){return isDefined(Ff)&&Ff!==null}function isString(Ff){return typeof Ff=="string"}function isArrayBuffer(Ff){return Ff instanceof ArrayBuffer}function isBlob(Ff){return invariant(isBrowser,"isBlob can only be used in a browser environment"),Ff instanceof Blob}function isDataURI(Ff){return isString(Ff)&&/^data:/.test(Ff)}function dataURItoByteString(Ff){invariant(isDataURI(Ff),"Invalid data URI.");const[kh="",x_=""]=Ff.split(",");return kh.split(";").indexOf("base64")!==-1?atob(x_):unescape(x_)}function getDevicePixelRatio(){return isBrowser&&window.devicePixelRatio||1}const allowFileAccessFromFilesTip="On Chromium based browsers, you can use --allow-file-access-from-files flag for debugging purposes.";function displayCORSWarning(){warning(!isLocalFileSystem,`Loading PDF as base64 strings/URLs may not work on protocols other than HTTP/HTTPS. ${allowFileAccessFromFilesTip}`)}function displayWorkerWarning(){warning(!isLocalFileSystem,`Loading PDF.js worker may not work on protocols other than HTTP/HTTPS. ${allowFileAccessFromFilesTip}`)}function cancelRunningTask(Ff){Ff&&Ff.cancel&&Ff.cancel()}function makePageCallback(Ff,kh){return Object.defineProperty(Ff,"width",{get(){return this.view[2]*kh},configurable:!0}),Object.defineProperty(Ff,"height",{get(){return this.view[3]*kh},configurable:!0}),Object.defineProperty(Ff,"originalWidth",{get(){return this.view[2]},configurable:!0}),Object.defineProperty(Ff,"originalHeight",{get(){return this.view[3]},configurable:!0}),Ff}function isCancelException(Ff){return Ff.name==="RenderingCancelledException"}function loadFromFile(Ff){return new Promise((kh,x_)=>{const $_=new FileReader;$_.onload=()=>{if(!$_.result)return x_(new Error("Error while reading a file."));kh($_.result)},$_.onerror=B_=>{if(!B_.target)return x_(new Error("Error while reading a file."));const{error:$P}=B_.target;if(!$P)return x_(new Error("Error while reading a file."));switch($P.code){case $P.NOT_FOUND_ERR:return x_(new Error("Error while reading a file: File not found."));case $P.SECURITY_ERR:return x_(new Error("Error while reading a file: Security error."));case $P.ABORT_ERR:return x_(new Error("Error while reading a file: Aborted."));default:return x_(new Error("Error while reading a file."))}},$_.readAsArrayBuffer(Ff)})}function reducer(Ff,kh){switch(kh.type){case"RESOLVE":return{value:kh.value,error:void 0};case"REJECT":return{value:!1,error:kh.error};case"RESET":return{value:void 0,error:void 0};default:return Ff}}function useResolver(){return React.useReducer(reducer,{value:void 0,error:void 0})}const{PDFDataRangeTransport:PDFDataRangeTransport$1}=pdfjs,eventProps=(()=>{const Ff={};return allEvents.forEach(kh=>{Ff[kh]=PropTypes.func}),Ff})(),isTypedArray=PropTypes.oneOfType([PropTypes.instanceOf(Int8Array),PropTypes.instanceOf(Uint8Array),PropTypes.instanceOf(Uint8ClampedArray),PropTypes.instanceOf(Int16Array),PropTypes.instanceOf(Uint16Array),PropTypes.instanceOf(Int32Array),PropTypes.instanceOf(Uint32Array),PropTypes.instanceOf(Float32Array),PropTypes.instanceOf(Float64Array)]),fileTypes=[PropTypes.string,PropTypes.instanceOf(ArrayBuffer),PropTypes.shape({data:PropTypes.oneOfType([PropTypes.string,PropTypes.instanceOf(ArrayBuffer),PropTypes.arrayOf(PropTypes.number.isRequired),isTypedArray]).isRequired}),PropTypes.shape({range:PropTypes.instanceOf(PDFDataRangeTransport$1).isRequired}),PropTypes.shape({url:PropTypes.string.isRequired})];typeof Blob<"u"&&fileTypes.push(PropTypes.instanceOf(Blob));const isClassName=PropTypes.oneOfType([PropTypes.string,PropTypes.arrayOf(PropTypes.string)]),isFile=PropTypes.oneOfType(fileTypes);PropTypes.instanceOf(LinkService),PropTypes.oneOf(["_self","_blank","_parent","_top"]),PropTypes.shape({commonObjs:PropTypes.shape({}).isRequired,getAnnotations:PropTypes.func.isRequired,getTextContent:PropTypes.func.isRequired,getViewport:PropTypes.func.isRequired,render:PropTypes.func.isRequired});const isPageIndex=function Ff(kh,x_,$_){const{[x_]:B_,pageNumber:$P,pdf:zP}=kh;if(!isDefined(zP))return null;if(isDefined(B_)){if(typeof B_!="number")return new Error(`\`${x_}\` of type \`${typeof B_}\` supplied to \`${$_}\`, expected \`number\`.`);if(B_<0)return new Error(`Expected \`${x_}\` to be greater or equal to 0.`);const{numPages:eme}=zP;if(B_+1>eme)return new Error(`Expected \`${x_}\` to be less or equal to ${eme-1}.`)}else if(!isDefined($P))return new Error(`\`${x_}\` not supplied. Either pageIndex or pageNumber must be supplied to \`${$_}\`.`);return null},isPageNumber=function Ff(kh,x_,$_){const{[x_]:B_,pageIndex:$P,pdf:zP}=kh;if(!isDefined(zP))return null;if(isDefined(B_)){if(typeof B_!="number")return new Error(`\`${x_}\` of type \`${typeof B_}\` supplied to \`${$_}\`, expected \`number\`.`);if(B_<1)return new Error(`Expected \`${x_}\` to be greater or equal to 1.`);const{numPages:eme}=zP;if(B_>eme)return new Error(`Expected \`${x_}\` to be less or equal to ${eme}.`)}else if(!isDefined($P))return new Error(`\`${x_}\` not supplied. Either pageIndex or pageNumber must be supplied to \`${$_}\`.`);return null},isPdf=PropTypes.oneOfType([PropTypes.any,PropTypes.oneOf([!1])]),isRef=PropTypes.oneOfType([PropTypes.func,PropTypes.exact({current:PropTypes.any})]),isRenderMode=PropTypes.oneOf(["canvas","custom","none","svg"]),isRotate=PropTypes.oneOf([0,90,180,270]);var __awaiter=function(Ff,kh,x_,$_){function B_($P){return $P instanceof x_?$P:new x_(function(zP){zP($P)})}return new(x_||(x_=Promise))(function($P,zP){function eme(rme){try{nme($_.next(rme))}catch(ime){zP(ime)}}function tme(rme){try{nme($_.throw(rme))}catch(ime){zP(ime)}}function nme(rme){rme.done?$P(rme.value):B_(rme.value).then(eme,tme)}nme(($_=$_.apply(Ff,kh||[])).next())})},__rest$1=function(Ff,kh){var x_={};for(var $_ in Ff)Object.prototype.hasOwnProperty.call(Ff,$_)&&kh.indexOf($_)<0&&(x_[$_]=Ff[$_]);if(Ff!=null&&typeof Object.getOwnPropertySymbols=="function")for(var B_=0,$_=Object.getOwnPropertySymbols(Ff);B_<$_.length;B_++)kh.indexOf($_[B_])<0&&Object.prototype.propertyIsEnumerable.call(Ff,$_[B_])&&(x_[$_[B_]]=Ff[$_[B_]]);return x_};const{PDFDataRangeTransport}=pdfjs,defaultOnPassword=(Ff,kh)=>{switch(kh){case PasswordResponses.NEED_PASSWORD:{const x_=prompt("Enter the password to open this PDF file.");Ff(x_);break}case PasswordResponses.INCORRECT_PASSWORD:{const x_=prompt("Invalid password. Please try again.");Ff(x_);break}}},Document$1=React.forwardRef(function Ff(kh,x_){var{children:$_,className:B_,error:$P="Failed to load PDF file.",externalLinkRel:zP,externalLinkTarget:eme,file:tme,inputRef:nme,imageResourcesPath:rme,loading:ime="Loading PDF…",noData:ome="No PDF file specified.",onItemClick:sme,onLoadError:ume,onLoadProgress:cme,onLoadSuccess:ame,onPassword:lme=defaultOnPassword,onSourceError:dme,onSourceSuccess:fme,options:hme,renderMode:pme,rotate:gme}=kh,vme=__rest$1(kh,["children","className","error","externalLinkRel","externalLinkTarget","file","inputRef","imageResourcesPath","loading","noData","onItemClick","onLoadError","onLoadProgress","onLoadSuccess","onPassword","onSourceError","onSourceSuccess","options","renderMode","rotate"]);const[mme,yme]=useResolver(),{value:bme,error:_me}=mme,[Cme,Ame]=useResolver(),{value:Rme,error:Ime}=Cme,Pme=React.useRef(new LinkService),Ome=React.useRef([]),Sme=React.useRef({scrollPageIntoView:Ume=>{const{dest:qme,pageNumber:r0e,pageIndex:Xme=r0e-1}=Ume;if(sme){sme({dest:qme,pageIndex:Xme,pageNumber:r0e});return}const E0e=Ome.current[Xme];if(E0e){E0e.scrollIntoView();return}warning(!1,`An internal link leading to page ${r0e} was clicked, but neither <Document> was provided with onItemClick nor it was able to find the page within itself. Either provide onItemClick to <Document> and handle navigating by yourself or ensure that all pages are rendered within <Document>.`)}});React.useImperativeHandle(x_,()=>({linkService:Pme,pages:Ome,viewer:Sme}),[]);function Nme(){fme&&fme()}function Eme(){_me&&(warning(!1,_me.toString()),dme&&dme(_me))}function Mme(){yme({type:"RESET"})}React.useEffect(Mme,[tme,yme]);const Fme=React.useCallback(()=>__awaiter(this,void 0,void 0,function*(){if(!tme)return null;if(typeof tme=="string")return isDataURI(tme)?{data:dataURItoByteString(tme)}:(displayCORSWarning(),{url:tme});if(tme instanceof PDFDataRangeTransport)return{range:tme};if(isArrayBuffer(tme))return{data:tme};if(isBrowser&&isBlob(tme))return{data:yield loadFromFile(tme)};if(invariant(typeof tme=="object","Invalid parameter in file, need either Uint8Array, string or a parameter object"),invariant("data"in tme||"range"in tme||"url"in tme,"Invalid parameter object: need either .data, .range or .url"),"url"in tme&&typeof tme.url=="string"){if(isDataURI(tme.url)){const{url:Ume}=tme,qme=__rest$1(tme,["url"]),r0e=dataURItoByteString(Ume);return Object.assign({data:r0e},qme)}displayCORSWarning()}return tme}),[tme]);React.useEffect(()=>{const Ume=makeCancellablePromise(Fme());return Ume.promise.then(qme=>{yme({type:"RESOLVE",value:qme})}).catch(qme=>{yme({type:"REJECT",error:qme})}),()=>{cancelRunningTask(Ume)}},[Fme,yme]),React.useEffect(()=>{if(!(typeof bme>"u")){if(bme===!1){Eme();return}Nme()}},[bme]);function xme(){Rme&&(ame&&ame(Rme),Ome.current=new Array(Rme.numPages),Pme.current.setDocument(Rme))}function Tme(){Ime&&(warning(!1,Ime.toString()),ume&&ume(Ime))}function kme(){Ame({type:"RESET"})}React.useEffect(kme,[Ame,bme]);function Dme(){if(!bme)return;const Ume=hme?Object.assign(Object.assign({},bme),hme):bme,qme=pdfjs.getDocument(Ume);cme&&(qme.onProgress=cme),lme&&(qme.onPassword=lme);const r0e=qme;return r0e.promise.then(Xme=>{Ame({type:"RESOLVE",value:Xme})}).catch(Xme=>{r0e.destroyed||Ame({type:"REJECT",error:Xme})}),()=>{r0e.destroy()}}React.useEffect(Dme,[hme,Ame,bme]),React.useEffect(()=>{if(!(typeof Rme>"u")){if(Rme===!1){Tme();return}xme()}},[Rme]);function wme(){Pme.current.setViewer(Sme.current),Pme.current.setExternalLinkRel(zP),Pme.current.setExternalLinkTarget(eme)}React.useEffect(wme,[zP,eme]);function Lme(Ume,qme){Ome.current[Ume]=qme}function $me(Ume){delete Ome.current[Ume]}const Bme=React.useMemo(()=>({imageResourcesPath:rme,linkService:Pme.current,onItemClick:sme,pdf:Rme,registerPage:Lme,renderMode:pme,rotate:gme,unregisterPage:$me}),[rme,sme,Rme,pme,gme]),jme=React.useMemo(()=>makeEventProps(vme,()=>Rme),[vme,Rme]);function Vme(){return React.createElement(DocumentContext.Provider,{value:Bme},$_)}function Kme(){return tme?Rme==null?React.createElement(Message,{type:"loading"},typeof ime=="function"?ime():ime):Rme===!1?React.createElement(Message,{type:"error"},typeof $P=="function"?$P():$P):Vme():React.createElement(Message,{type:"no-data"},typeof ome=="function"?ome():ome)}return React.createElement("div",Object.assign({className:clsx("react-pdf__Document",B_),ref:nme,style:{"--scale-factor":"1"}},jme),Kme())}),isFunctionOrNode$1=PropTypes.oneOfType([PropTypes.func,PropTypes.node]);Document$1.propTypes=Object.assign(Object.assign({},eventProps),{children:PropTypes.node,className:isClassName,error:isFunctionOrNode$1,externalLinkRel:PropTypes.string,externalLinkTarget:PropTypes.oneOf(["_self","_blank","_parent","_top"]),file:isFile,imageResourcesPath:PropTypes.string,inputRef:isRef,loading:isFunctionOrNode$1,noData:isFunctionOrNode$1,onItemClick:PropTypes.func,onLoadError:PropTypes.func,onLoadProgress:PropTypes.func,onLoadSuccess:PropTypes.func,onPassword:PropTypes.func,onSourceError:PropTypes.func,onSourceSuccess:PropTypes.func,options:PropTypes.shape({canvasFactory:PropTypes.any,canvasMaxAreaInBytes:PropTypes.number,cMapPacked:PropTypes.bool,CMapReaderFactory:PropTypes.any,cMapUrl:PropTypes.string,disableAutoFetch:PropTypes.bool,disableFontFace:PropTypes.bool,disableRange:PropTypes.bool,disableStream:PropTypes.bool,docBaseUrl:PropTypes.string,enableXfa:PropTypes.bool,filterFactory:PropTypes.any,fontExtraProperties:PropTypes.bool,httpHeaders:PropTypes.object,isEvalSupported:PropTypes.bool,isOffscreenCanvasSupported:PropTypes.bool,length:PropTypes.number,maxImageSize:PropTypes.number,ownerDocument:PropTypes.any,password:PropTypes.string,pdfBug:PropTypes.bool,rangeChunkSize:PropTypes.number,StandardFontDataFactory:PropTypes.any,standardFontDataUrl:PropTypes.string,stopAtErrors:PropTypes.bool,useSystemFonts:PropTypes.bool,useWorkerFetch:PropTypes.bool,verbosity:PropTypes.number,withCredentials:PropTypes.bool,worker:PropTypes.any}),rotate:PropTypes.number});const Document$2=Document$1;function useDocumentContext(){return React.useContext(DocumentContext)}function mergeRefs(){for(var Ff=[],kh=0;kh<arguments.length;kh++)Ff[kh]=arguments[kh];var x_=Ff.filter(Boolean);if(x_.length<=1){var $_=x_[0];return $_||null}return function($P){x_.forEach(function(zP){typeof zP=="function"?zP($P):zP&&(zP.current=$P)})}}const PageContext=React.createContext(null),PDF_ROLE_TO_HTML_ROLE={Document:null,DocumentFragment:null,Part:"group",Sect:"group",Div:"group",Aside:"note",NonStruct:"none",P:null,H:"heading",Title:null,FENote:"note",Sub:"group",Lbl:null,Span:null,Em:null,Strong:null,Link:"link",Annot:"note",Form:"form",Ruby:null,RB:null,RT:null,RP:null,Warichu:null,WT:null,WP:null,L:"list",LI:"listitem",LBody:null,Table:"table",TR:"row",TH:"columnheader",TD:"cell",THead:"columnheader",TBody:null,TFoot:null,Caption:null,Figure:"figure",Formula:null,Artifact:null},HEADING_PATTERN=/^H(\d+)$/;function isPdfRole(Ff){return Ff in PDF_ROLE_TO_HTML_ROLE}function isStructTreeNode(Ff){return"children"in Ff}function isStructTreeNodeWithOnlyContentChild(Ff){return isStructTreeNode(Ff)?Ff.children.length===1&&0 in Ff.children&&"id"in Ff.children[0]:!1}function getRoleAttributes(Ff){const kh={};if(isStructTreeNode(Ff)){const{role:x_}=Ff,$_=x_.match(HEADING_PATTERN);if($_)kh.role="heading",kh["aria-level"]=Number($_[1]);else if(isPdfRole(x_)){const B_=PDF_ROLE_TO_HTML_ROLE[x_];B_&&(kh.role=B_)}}return kh}function getBaseAttributes(Ff){const kh={};if(isStructTreeNode(Ff)){if(Ff.alt!==void 0&&(kh["aria-label"]=Ff.alt),Ff.lang!==void 0&&(kh.lang=Ff.lang),isStructTreeNodeWithOnlyContentChild(Ff)){const[x_]=Ff.children;if(x_){const $_=getBaseAttributes(x_);return Object.assign(Object.assign({},kh),$_)}}}else"id"in Ff&&(kh["aria-owns"]=Ff.id);return kh}function getAttributes(Ff){return Ff?Object.assign(Object.assign({},getRoleAttributes(Ff)),getBaseAttributes(Ff)):null}function StructTreeItem({className:Ff,node:kh}){const x_=React.useMemo(()=>getAttributes(kh),[kh]),$_=React.useMemo(()=>!isStructTreeNode(kh)||isStructTreeNodeWithOnlyContentChild(kh)?null:kh.children.map((B_,$P)=>React.createElement(StructTreeItem,{key:$P,node:B_})),[kh]);return React.createElement("span",Object.assign({className:Ff},x_),$_)}function usePageContext(){return React.useContext(PageContext)}function StructTree(){const Ff=usePageContext();invariant(Ff,"Unable to find Page context.");const{onGetStructTreeError:kh,onGetStructTreeSuccess:x_}=Ff,[$_,B_]=useResolver(),{value:$P,error:zP}=$_,{customTextRenderer:eme,page:tme}=Ff;function nme(){$P&&x_&&x_($P)}function rme(){zP&&(warning(!1,zP.toString()),kh&&kh(zP))}function ime(){B_({type:"RESET"})}React.useEffect(ime,[B_,tme]);function ome(){if(eme||!tme)return;const sme=makeCancellablePromise(tme.getStructTree()),ume=sme;return sme.promise.then(cme=>{B_({type:"RESOLVE",value:cme})}).catch(cme=>{B_({type:"REJECT",error:cme})}),()=>cancelRunningTask(ume)}return React.useEffect(ome,[eme,tme,B_]),React.useEffect(()=>{if($P!==void 0){if($P===!1){rme();return}nme()}},[$P]),$P?React.createElement(StructTreeItem,{className:"react-pdf__Page__structTree structTree",node:$P}):null}const ANNOTATION_MODE=pdfjs.AnnotationMode;function PageCanvas(Ff){const kh=usePageContext();invariant(kh,"Unable to find Page context.");const x_=Object.assign(Object.assign({},kh),Ff),{_className:$_,canvasBackground:B_,devicePixelRatio:$P=getDevicePixelRatio(),onRenderError:zP,onRenderSuccess:eme,page:tme,renderForms:nme,renderTextLayer:rme,rotate:ime,scale:ome}=x_,{canvasRef:sme}=Ff;invariant(tme,"Attempted to render page canvas, but no page was specified.");const ume=React.useRef(null);function cme(){tme&&eme&&eme(makePageCallback(tme,ome))}function ame(pme){isCancelException(pme)||(warning(!1,pme.toString()),zP&&zP(pme))}const lme=React.useMemo(()=>tme.getViewport({scale:ome*$P,rotation:ime}),[$P,tme,ime,ome]),dme=React.useMemo(()=>tme.getViewport({scale:ome,rotation:ime}),[tme,ime,ome]);function fme(){if(!tme)return;tme.cleanup();const{current:pme}=ume;if(!pme)return;pme.width=lme.width,pme.height=lme.height,pme.style.width=`${Math.floor(dme.width)}px`,pme.style.height=`${Math.floor(dme.height)}px`,pme.style.visibility="hidden";const gme={annotationMode:nme?ANNOTATION_MODE.ENABLE_FORMS:ANNOTATION_MODE.ENABLE,canvasContext:pme.getContext("2d",{alpha:!1}),viewport:lme};B_&&(gme.background=B_);const vme=tme.render(gme),mme=vme;return vme.promise.then(()=>{pme.style.visibility="",cme()}).catch(ame),()=>cancelRunningTask(mme)}React.useEffect(fme,[B_,ume,$P,tme,nme,lme,dme]);const hme=React.useCallback(()=>{const{current:pme}=ume;pme&&(pme.width=0,pme.height=0)},[ume]);return React.useEffect(()=>hme,[hme]),React.createElement("canvas",{className:`${$_}__canvas`,dir:"ltr",ref:mergeRefs(sme,ume),style:{display:"block",userSelect:"none"}},rme?React.createElement(StructTree,null):null)}function PageSVG(){const Ff=usePageContext();invariant(Ff,"Unable to find Page context.");const{_className:kh,onRenderSuccess:x_,onRenderError:$_,page:B_,rotate:$P,scale:zP}=Ff;invariant(B_,"Attempted to render page SVG, but no page was specified.");const[eme,tme]=useResolver(),{value:nme,error:rme}=eme;function ime(){B_&&x_&&x_(makePageCallback(B_,zP))}function ome(){rme&&(isCancelException(rme)||(warning(!1,rme.toString()),$_&&$_(rme)))}const sme=React.useMemo(()=>B_.getViewport({scale:zP,rotation:$P}),[B_,$P,zP]);function ume(){tme({type:"RESET"})}React.useEffect(ume,[B_,tme,sme]);function cme(){if(!B_)return;const fme=makeCancellablePromise(B_.getOperatorList());return fme.promise.then(hme=>{new pdfjs.SVGGraphics(B_.commonObjs,B_.objs).getSVG(hme,sme).then(gme=>{if(!(gme instanceof SVGElement))throw new Error("getSVG returned unexpected result.");tme({type:"RESOLVE",value:gme})}).catch(gme=>{tme({type:"REJECT",error:gme})})}).catch(hme=>{tme({type:"REJECT",error:hme})}),()=>cancelRunningTask(fme)}React.useEffect(cme,[B_,tme,sme]),React.useEffect(()=>{if(nme!==void 0){if(nme===!1){ome();return}ime()}},[nme]);function ame(fme){if(!fme||!nme)return;fme.firstElementChild||fme.appendChild(nme);const{width:hme,height:pme}=sme;nme.setAttribute("width",`${hme}`),nme.setAttribute("height",`${pme}`)}const{width:lme,height:dme}=sme;return React.createElement("div",{className:`${kh}__svg`,ref:fme=>ame(fme),style:{display:"block",backgroundColor:"white",overflow:"hidden",width:lme,height:dme,userSelect:"none"}})}function isTextItem(Ff){return"str"in Ff}function TextLayer(){const Ff=usePageContext();invariant(Ff,"Unable to find Page context.");const{customTextRenderer:kh,onGetTextError:x_,onGetTextSuccess:$_,onRenderTextLayerError:B_,onRenderTextLayerSuccess:$P,page:zP,pageIndex:eme,pageNumber:tme,rotate:nme,scale:rme}=Ff;invariant(zP,"Attempted to load page text content, but no page was specified.");const[ime,ome]=useResolver(),{value:sme,error:ume}=ime,cme=React.useRef(null),ame=React.useRef();warning(parseInt(window.getComputedStyle(document.body).getPropertyValue("--react-pdf-text-layer"),10)===1,"TextLayer styles not found. Read more: https://github.com/wojtekmaj/react-pdf#support-for-text-layer");function lme(){sme&&$_&&$_(sme)}function dme(){ume&&(warning(!1,ume.toString()),x_&&x_(ume))}function fme(){ome({type:"RESET"})}React.useEffect(fme,[zP,ome]);function hme(){if(!zP)return;const _me=makeCancellablePromise(zP.getTextContent()),Cme=_me;return _me.promise.then(Ame=>{ome({type:"RESOLVE",value:Ame})}).catch(Ame=>{ome({type:"REJECT",error:Ame})}),()=>cancelRunningTask(Cme)}React.useEffect(hme,[zP,ome]),React.useEffect(()=>{if(sme!==void 0){if(sme===!1){dme();return}lme()}},[sme]);const pme=React.useCallback(()=>{$P&&$P()},[$P]),gme=React.useCallback(_me=>{warning(!1,_me.toString()),B_&&B_(_me)},[B_]);function vme(){const _me=ame.current;_me&&_me.classList.add("active")}function mme(){const _me=ame.current;_me&&_me.classList.remove("active")}const yme=React.useMemo(()=>zP.getViewport({scale:rme,rotation:nme}),[zP,nme,rme]);function bme(){if(!zP||!sme)return;const{current:_me}=cme;if(!_me)return;_me.innerHTML="";const Cme=zP.streamTextContent({includeMarkedContent:!0}),Ame={container:_me,textContentSource:Cme,viewport:yme},Rme=pdfjs.renderTextLayer(Ame),Ime=Rme;return Rme.promise.then(()=>{const Pme=document.createElement("div");Pme.className="endOfContent",_me.append(Pme),ame.current=Pme;const Ome=_me.querySelectorAll('[role="presentation"]');if(kh){let Sme=0;sme.items.forEach((Nme,Eme)=>{if(!isTextItem(Nme))return;const Mme=Ome[Sme];if(!Mme)return;const Fme=kh(Object.assign({pageIndex:eme,pageNumber:tme,itemIndex:Eme},Nme));Mme.innerHTML=Fme,Sme+=Nme.str&&Nme.hasEOL?2:1})}pme()}).catch(gme),()=>cancelRunningTask(Ime)}return React.useLayoutEffect(bme,[kh,gme,pme,zP,eme,tme,sme,yme]),React.createElement("div",{className:clsx("react-pdf__Page__textContent","textLayer"),onMouseUp:mme,onMouseDown:vme,ref:cme})}function AnnotationLayer(){const Ff=useDocumentContext();invariant(Ff,"Unable to find Document context. Did you wrap <Page /> in <Document />?");const kh=usePageContext();invariant(kh,"Unable to find Page context.");const x_=Object.assign(Object.assign({},Ff),kh),{imageResourcesPath:$_,linkService:B_,onGetAnnotationsError:$P,onGetAnnotationsSuccess:zP,onRenderAnnotationLayerError:eme,onRenderAnnotationLayerSuccess:tme,page:nme,pdf:rme,renderForms:ime,rotate:ome,scale:sme=1}=x_;invariant(nme,"Attempted to load page annotations, but no page was specified.");const[ume,cme]=useResolver(),{value:ame,error:lme}=ume,dme=React.useRef(null);warning(parseInt(window.getComputedStyle(document.body).getPropertyValue("--react-pdf-annotation-layer"),10)===1,"AnnotationLayer styles not found. Read more: https://github.com/wojtekmaj/react-pdf#support-for-annotations");function fme(){ame&&zP&&zP(ame)}function hme(){lme&&(warning(!1,lme.toString()),$P&&$P(lme))}function pme(){cme({type:"RESET"})}React.useEffect(pme,[cme,nme]);function gme(){if(!nme)return;const _me=makeCancellablePromise(nme.getAnnotations()),Cme=_me;return _me.promise.then(Ame=>{cme({type:"RESOLVE",value:Ame})}).catch(Ame=>{cme({type:"REJECT",error:Ame})}),()=>{cancelRunningTask(Cme)}}React.useEffect(gme,[cme,nme,ime]),React.useEffect(()=>{if(ame!==void 0){if(ame===!1){hme();return}fme()}},[ame]);function vme(){tme&&tme()}function mme(_me){warning(!1,`${_me}`),eme&&eme(_me)}const yme=React.useMemo(()=>nme.getViewport({scale:sme,rotation:ome}),[nme,ome,sme]);function bme(){if(!rme||!nme||!ame)return;const{current:_me}=dme;if(!_me)return;const Cme=yme.clone({dontFlip:!0}),Ame={accessibilityManager:null,annotationCanvasMap:null,div:_me,l10n:null,page:nme,viewport:Cme},Rme={annotations:ame,annotationStorage:rme.annotationStorage,div:_me,downloadManager:null,imageResourcesPath:$_,linkService:B_,page:nme,renderForms:ime,viewport:Cme};_me.innerHTML="";try{new pdfjs.AnnotationLayer(Ame).render(Rme),vme()}catch(Ime){mme(Ime)}return()=>{}}return React.useEffect(bme,[ame,$_,B_,nme,ime,yme]),React.createElement("div",{className:clsx("react-pdf__Page__annotations","annotationLayer"),ref:dme})}var __rest=function(Ff,kh){var x_={};for(var $_ in Ff)Object.prototype.hasOwnProperty.call(Ff,$_)&&kh.indexOf($_)<0&&(x_[$_]=Ff[$_]);if(Ff!=null&&typeof Object.getOwnPropertySymbols=="function")for(var B_=0,$_=Object.getOwnPropertySymbols(Ff);B_<$_.length;B_++)kh.indexOf($_[B_])<0&&Object.prototype.propertyIsEnumerable.call(Ff,$_[B_])&&(x_[$_[B_]]=Ff[$_[B_]]);return x_};const defaultScale=1,Page=function Ff(kh){const x_=useDocumentContext();invariant(x_,"Unable to find Document context. Did you wrap <Page /> in <Document />?");const $_=Object.assign(Object.assign({},x_),kh),{_className:B_="react-pdf__Page",_enableRegisterUnregisterPage:$P=!0,canvasBackground:zP,canvasRef:eme,children:tme,className:nme,customRenderer:rme,customTextRenderer:ime,devicePixelRatio:ome,error:sme="Failed to load the page.",height:ume,inputRef:cme,loading:ame="Loading page…",noData:lme="No page specified.",onGetAnnotationsError:dme,onGetAnnotationsSuccess:fme,onGetStructTreeError:hme,onGetStructTreeSuccess:pme,onGetTextError:gme,onGetTextSuccess:vme,onLoadError:mme,onLoadSuccess:yme,onRenderAnnotationLayerError:bme,onRenderAnnotationLayerSuccess:_me,onRenderError:Cme,onRenderSuccess:Ame,onRenderTextLayerError:Rme,onRenderTextLayerSuccess:Ime,pageIndex:Pme,pageNumber:Ome,pdf:Sme,registerPage:Nme,renderAnnotationLayer:Eme=!0,renderForms:Mme=!1,renderMode:Fme="canvas",renderTextLayer:xme=!0,rotate:Tme,scale:kme=defaultScale,unregisterPage:Dme,width:wme}=$_,Lme=__rest($_,["_className","_enableRegisterUnregisterPage","canvasBackground","canvasRef","children","className","customRenderer","customTextRenderer","devicePixelRatio","error","height","inputRef","loading","noData","onGetAnnotationsError","onGetAnnotationsSuccess","onGetStructTreeError","onGetStructTreeSuccess","onGetTextError","onGetTextSuccess","onLoadError","onLoadSuccess","onRenderAnnotationLayerError","onRenderAnnotationLayerSuccess","onRenderError","onRenderSuccess","onRenderTextLayerError","onRenderTextLayerSuccess","pageIndex","pageNumber","pdf","registerPage","renderAnnotationLayer","renderForms","renderMode","renderTextLayer","rotate","scale","unregisterPage","width"]),[$me,Bme]=useResolver(),{value:jme,error:Vme}=$me,Kme=React.useRef(null);invariant(Sme,"Attempted to load a page, but no document was specified.");const Ume=isProvided(Ome)?Ome-1:Pme??null,qme=Ome??(isProvided(Pme)?Pme+1:null),r0e=Tme??(jme?jme.rotate:null),Xme=React.useMemo(()=>{if(!jme)return null;let N0e=1;const V0e=kme??defaultScale;if(wme||ume){const C0e=jme.getViewport({scale:1,rotation:r0e});wme?N0e=wme/C0e.width:ume&&(N0e=ume/C0e.height)}return V0e*N0e},[ume,jme,r0e,kme,wme]);function E0e(){return()=>{isProvided(Ume)&&$P&&Dme&&Dme(Ume)}}React.useEffect(E0e,[$P,Sme,Ume,Dme]);function i0e(){if(yme){if(!jme||!Xme)return;yme(makePageCallback(jme,Xme))}if($P&&Nme){if(!isProvided(Ume)||!Kme.current)return;Nme(Ume,Kme.current)}}function c0e(){Vme&&(warning(!1,Vme.toString()),mme&&mme(Vme))}function _0e(){Bme({type:"RESET"})}React.useEffect(_0e,[Bme,Sme,Ume]);function u0e(){if(!Sme||!qme)return;const N0e=makeCancellablePromise(Sme.getPage(qme)),V0e=N0e;return N0e.promise.then(C0e=>{Bme({type:"RESOLVE",value:C0e})}).catch(C0e=>{Bme({type:"REJECT",error:C0e})}),()=>cancelRunningTask(V0e)}React.useEffect(u0e,[Bme,Sme,Ume,qme,Nme]),React.useEffect(()=>{if(jme!==void 0){if(jme===!1){c0e();return}i0e()}},[jme,Xme]);const Qme=React.useMemo(()=>jme&&isProvided(Ume)&&qme&&isProvided(r0e)&&isProvided(Xme)?{_className:B_,canvasBackground:zP,customTextRenderer:ime,devicePixelRatio:ome,onGetAnnotationsError:dme,onGetAnnotationsSuccess:fme,onGetStructTreeError:hme,onGetStructTreeSuccess:pme,onGetTextError:gme,onGetTextSuccess:vme,onRenderAnnotationLayerError:bme,onRenderAnnotationLayerSuccess:_me,onRenderError:Cme,onRenderSuccess:Ame,onRenderTextLayerError:Rme,onRenderTextLayerSuccess:Ime,page:jme,pageIndex:Ume,pageNumber:qme,renderForms:Mme,renderTextLayer:xme,rotate:r0e,scale:Xme}:null,[B_,zP,ime,ome,dme,fme,hme,pme,gme,vme,bme,_me,Cme,Ame,Rme,Ime,jme,Ume,qme,Mme,xme,r0e,Xme]),s0e=React.useMemo(()=>makeEventProps(Lme,()=>jme&&(Xme?makePageCallback(jme,Xme):void 0)),[Lme,jme,Xme]),o0e=`${Ume}@${Xme}/${r0e}`,y0e=`${Ume}/${r0e}`;function Yme(){switch(Fme){case"custom":return invariant(rme,'renderMode was set to "custom", but no customRenderer was passed.'),React.createElement(rme,{key:`${o0e}_custom`});case"none":return null;case"svg":return React.createElement(PageSVG,{key:`${y0e}_svg`});case"canvas":default:return React.createElement(PageCanvas,{key:`${o0e}_canvas`,canvasRef:eme})}}function n0e(){return xme?React.createElement(TextLayer,{key:`${o0e}_text`}):null}function b0e(){return Eme?React.createElement(AnnotationLayer,{key:`${o0e}_annotations`}):null}function A0e(){return React.createElement(PageContext.Provider,{value:Qme},Yme(),n0e(),b0e(),tme)}function k0e(){return qme?Sme===null||jme===void 0||jme===null?React.createElement(Message,{type:"loading"},typeof ame=="function"?ame():ame):Sme===!1||jme===!1?React.createElement(Message,{type:"error"},typeof sme=="function"?sme():sme):A0e():React.createElement(Message,{type:"no-data"},typeof lme=="function"?lme():lme)}return React.createElement("div",Object.assign({className:clsx(B_,nme),"data-page-number":qme,ref:mergeRefs(cme,Kme),style:{"--scale-factor":`${Xme}`,backgroundColor:zP||"white",position:"relative",minWidth:"min-content",minHeight:"min-content"}},s0e),k0e())},isFunctionOrNode=PropTypes.oneOfType([PropTypes.func,PropTypes.node]);Page.propTypes=Object.assign(Object.assign({},eventProps),{canvasBackground:PropTypes.string,canvasRef:isRef,children:PropTypes.node,className:isClassName,customRenderer:PropTypes.func,customTextRenderer:PropTypes.func,devicePixelRatio:PropTypes.number,error:isFunctionOrNode,height:PropTypes.number,imageResourcesPath:PropTypes.string,inputRef:isRef,loading:isFunctionOrNode,noData:isFunctionOrNode,onGetTextError:PropTypes.func,onGetTextSuccess:PropTypes.func,onLoadError:PropTypes.func,onLoadSuccess:PropTypes.func,onRenderError:PropTypes.func,onRenderSuccess:PropTypes.func,onRenderTextLayerError:PropTypes.func,onRenderTextLayerSuccess:PropTypes.func,pageIndex:isPageIndex,pageNumber:isPageNumber,pdf:isPdf,renderAnnotationLayer:PropTypes.bool,renderForms:PropTypes.bool,renderMode:isRenderMode,renderTextLayer:PropTypes.bool,rotate:isRotate,scale:PropTypes.number,width:PropTypes.number});const Page$1=Page;displayWorkerWarning(),pdfjs.GlobalWorkerOptions.workerSrc="pdf.worker.js";const PdfViewShow=({node:Ff})=>{var rme;pdfjs.GlobalWorkerOptions.workerSrc=`//cdnjs.cloudflare.com/ajax/libs/pdf.js/${pdfjs.version}/pdf.worker.js`;const[kh,x_]=React.useState(),[$_,B_]=React.useState(1),[$P,zP]=React.useState(!1),eme="<",tme=">",nme=({numPages:ime})=>{x_(ime)};return React.useEffect(()=>{let ime=document.getElementById("input");ime==null||ime.focus()},[document.getElementById("input")]),jsxRuntimeExports.jsx(NodeViewWrapper,{className:"",children:jsxRuntimeExports.jsxs("div",{className:"pdfShow",children:[jsxRuntimeExports.jsx(Document$2,{file:((rme=Ff==null?void 0:Ff.attrs)==null?void 0:rme.pdfUrl)||"",onLoadSuccess:nme,children:jsxRuntimeExports.jsx(Page$1,{renderTextLayer:!1,pageNumber:$_})}),kh>0&&jsxRuntimeExports.jsxs("div",{className:"pagechange",children:[jsxRuntimeExports.jsx("div",{className:"iconLeft",onClick:()=>{$_>1&&B_($_-1)},children:eme}),jsxRuntimeExports.jsxs("div",{className:"nowPage",onClick:()=>{zP(!0)},children:[$P&&jsxRuntimeExports.jsx("input",{id:"input",className:"nowPageInput",autoComplete:"off",onChange:ime=>{ime.target.value>0&&ime.target.value<kh+1&&B_(Number(ime.target.value))},onBlur:()=>{zP(!1)}}),!$P&&jsxRuntimeExports.jsx("span",{children:$_})]}),jsxRuntimeExports.jsx("div",{children:"/"}),jsxRuntimeExports.jsx("div",{style:{margin:"0 6px"},children:kh}),jsxRuntimeExports.jsx("div",{onClick:()=>{$_<kh&&B_($_+1)},children:tme})]})]})})},Fragment=Node$1.create({name:"fragment",parseHTML(){return[{tag:"span"}]},renderHTML({HTMLAttributes:Ff}){return["span",mergeAttributes(this.options.HTMLAttributes,Ff),0]},addOptions(){return{HTMLAttributes:{}}}});var readFromCache,addToCache;if(typeof WeakMap<"u"){let Ff=new WeakMap;readFromCache=kh=>Ff.get(kh),addToCache=(kh,x_)=>(Ff.set(kh,x_),x_)}else{const Ff=[];let x_=0;readFromCache=$_=>{for(let B_=0;B_<Ff.length;B_+=2)if(Ff[B_]==$_)return Ff[B_+1]},addToCache=($_,B_)=>(x_==10&&(x_=0),Ff[x_++]=$_,Ff[x_++]=B_)}var TableMap=class{constructor(Ff,kh,x_,$_){this.width=Ff,this.height=kh,this.map=x_,this.problems=$_}findCell(Ff){for(let kh=0;kh<this.map.length;kh++){const x_=this.map[kh];if(x_!=Ff)continue;const $_=kh%this.width,B_=kh/this.width|0;let $P=$_+1,zP=B_+1;for(let eme=1;$P<this.width&&this.map[kh+eme]==x_;eme++)$P++;for(let eme=1;zP<this.height&&this.map[kh+this.width*eme]==x_;eme++)zP++;return{left:$_,top:B_,right:$P,bottom:zP}}throw new RangeError(`No cell with offset ${Ff} found`)}colCount(Ff){for(let kh=0;kh<this.map.length;kh++)if(this.map[kh]==Ff)return kh%this.width;throw new RangeError(`No cell with offset ${Ff} found`)}nextCell(Ff,kh,x_){const{left:$_,right:B_,top:$P,bottom:zP}=this.findCell(Ff);return kh=="horiz"?(x_<0?$_==0:B_==this.width)?null:this.map[$P*this.width+(x_<0?$_-1:B_)]:(x_<0?$P==0:zP==this.height)?null:this.map[$_+this.width*(x_<0?$P-1:zP)]}rectBetween(Ff,kh){const{left:x_,right:$_,top:B_,bottom:$P}=this.findCell(Ff),{left:zP,right:eme,top:tme,bottom:nme}=this.findCell(kh);return{left:Math.min(x_,zP),top:Math.min(B_,tme),right:Math.max($_,eme),bottom:Math.max($P,nme)}}cellsInRect(Ff){const kh=[],x_={};for(let $_=Ff.top;$_<Ff.bottom;$_++)for(let B_=Ff.left;B_<Ff.right;B_++){const $P=$_*this.width+B_,zP=this.map[$P];x_[zP]||(x_[zP]=!0,!(B_==Ff.left&&B_&&this.map[$P-1]==zP||$_==Ff.top&&$_&&this.map[$P-this.width]==zP)&&kh.push(zP))}return kh}positionAt(Ff,kh,x_){for(let $_=0,B_=0;;$_++){const $P=B_+x_.child($_).nodeSize;if($_==Ff){let zP=kh+Ff*this.width;const eme=(Ff+1)*this.width;for(;zP<eme&&this.map[zP]<B_;)zP++;return zP==eme?$P-1:this.map[zP]}B_=$P}}static get(Ff){return readFromCache(Ff)||addToCache(Ff,computeMap(Ff))}};function computeMap(Ff){if(Ff.type.spec.tableRole!="table")throw new RangeError("Not a table node: "+Ff.type.name);const kh=findWidth(Ff),x_=Ff.childCount,$_=[];let B_=0,$P=null;const zP=[];for(let nme=0,rme=kh*x_;nme<rme;nme++)$_[nme]=0;for(let nme=0,rme=0;nme<x_;nme++){const ime=Ff.child(nme);rme++;for(let ume=0;;ume++){for(;B_<$_.length&&$_[B_]!=0;)B_++;if(ume==ime.childCount)break;const cme=ime.child(ume),{colspan:ame,rowspan:lme,colwidth:dme}=cme.attrs;for(let fme=0;fme<lme;fme++){if(fme+nme>=x_){($P||($P=[])).push({type:"overlong_rowspan",pos:rme,n:lme-fme});break}const hme=B_+fme*kh;for(let pme=0;pme<ame;pme++){$_[hme+pme]==0?$_[hme+pme]=rme:($P||($P=[])).push({type:"collision",row:nme,pos:rme,n:ame-pme});const gme=dme&&dme[pme];if(gme){const vme=(hme+pme)%kh*2,mme=zP[vme];mme==null||mme!=gme&&zP[vme+1]==1?(zP[vme]=gme,zP[vme+1]=1):mme==gme&&zP[vme+1]++}}}B_+=ame,rme+=cme.nodeSize}const ome=(nme+1)*kh;let sme=0;for(;B_<ome;)$_[B_++]==0&&sme++;sme&&($P||($P=[])).push({type:"missing",row:nme,n:sme}),rme++}const eme=new TableMap(kh,x_,$_,$P);let tme=!1;for(let nme=0;!tme&&nme<zP.length;nme+=2)zP[nme]!=null&&zP[nme+1]<x_&&(tme=!0);return tme&&findBadColWidths(eme,zP,Ff),eme}function findWidth(Ff){let kh=-1,x_=!1;for(let $_=0;$_<Ff.childCount;$_++){const B_=Ff.child($_);let $P=0;if(x_)for(let zP=0;zP<$_;zP++){const eme=Ff.child(zP);for(let tme=0;tme<eme.childCount;tme++){const nme=eme.child(tme);zP+nme.attrs.rowspan>$_&&($P+=nme.attrs.colspan)}}for(let zP=0;zP<B_.childCount;zP++){const eme=B_.child(zP);$P+=eme.attrs.colspan,eme.attrs.rowspan>1&&(x_=!0)}kh==-1?kh=$P:kh!=$P&&(kh=Math.max(kh,$P))}return kh}function findBadColWidths(Ff,kh,x_){Ff.problems||(Ff.problems=[]);const $_={};for(let B_=0;B_<Ff.map.length;B_++){const $P=Ff.map[B_];if($_[$P])continue;$_[$P]=!0;const zP=x_.nodeAt($P);if(!zP)throw new RangeError(`No cell with offset ${$P} found`);let eme=null;const tme=zP.attrs;for(let nme=0;nme<tme.colspan;nme++){const rme=(B_+nme)%Ff.width,ime=kh[rme*2];ime!=null&&(!tme.colwidth||tme.colwidth[nme]!=ime)&&((eme||(eme=freshColWidth(tme)))[nme]=ime)}eme&&Ff.problems.unshift({type:"colwidth mismatch",pos:$P,colwidth:eme})}}function freshColWidth(Ff){if(Ff.colwidth)return Ff.colwidth.slice();const kh=[];for(let x_=0;x_<Ff.colspan;x_++)kh.push(0);return kh}function tableNodeTypes(Ff){let kh=Ff.cached.tableNodeTypes;if(!kh){kh=Ff.cached.tableNodeTypes={};for(const x_ in Ff.nodes){const $_=Ff.nodes[x_],B_=$_.spec.tableRole;B_&&(kh[B_]=$_)}}return kh}var tableEditingKey=new PluginKey("selectingCells");function cellAround(Ff){for(let kh=Ff.depth-1;kh>0;kh--)if(Ff.node(kh).type.spec.tableRole=="row")return Ff.node(0).resolve(Ff.before(kh+1));return null}function cellWrapping(Ff){for(let kh=Ff.depth;kh>0;kh--){const x_=Ff.node(kh).type.spec.tableRole;if(x_==="cell"||x_==="header_cell")return Ff.node(kh)}return null}function isInTable(Ff){const kh=Ff.selection.$head;for(let x_=kh.depth;x_>0;x_--)if(kh.node(x_).type.spec.tableRole=="row")return!0;return!1}function selectionCell(Ff){const kh=Ff.selection;if("$anchorCell"in kh&&kh.$anchorCell)return kh.$anchorCell.pos>kh.$headCell.pos?kh.$anchorCell:kh.$headCell;if("node"in kh&&kh.node&&kh.node.type.spec.tableRole=="cell")return kh.$anchor;const x_=cellAround(kh.$head)||cellNear(kh.$head);if(x_)return x_;throw new RangeError(`No cell found around position ${kh.head}`)}function cellNear(Ff){for(let kh=Ff.nodeAfter,x_=Ff.pos;kh;kh=kh.firstChild,x_++){const $_=kh.type.spec.tableRole;if($_=="cell"||$_=="header_cell")return Ff.doc.resolve(x_)}for(let kh=Ff.nodeBefore,x_=Ff.pos;kh;kh=kh.lastChild,x_--){const $_=kh.type.spec.tableRole;if($_=="cell"||$_=="header_cell")return Ff.doc.resolve(x_-kh.nodeSize)}}function pointsAtCell(Ff){return Ff.parent.type.spec.tableRole=="row"&&!!Ff.nodeAfter}function moveCellForward(Ff){return Ff.node(0).resolve(Ff.pos+Ff.nodeAfter.nodeSize)}function inSameTable(Ff,kh){return Ff.depth==kh.depth&&Ff.pos>=kh.start(-1)&&Ff.pos<=kh.end(-1)}function nextCell(Ff,kh,x_){const $_=Ff.node(-1),B_=TableMap.get($_),$P=Ff.start(-1),zP=B_.nextCell(Ff.pos-$P,kh,x_);return zP==null?null:Ff.node(0).resolve($P+zP)}function removeColSpan(Ff,kh,x_=1){const $_={...Ff,colspan:Ff.colspan-x_};return $_.colwidth&&($_.colwidth=$_.colwidth.slice(),$_.colwidth.splice(kh,x_),$_.colwidth.some(B_=>B_>0)||($_.colwidth=null)),$_}function addColSpan(Ff,kh,x_=1){const $_={...Ff,colspan:Ff.colspan+x_};if($_.colwidth){$_.colwidth=$_.colwidth.slice();for(let B_=0;B_<x_;B_++)$_.colwidth.splice(kh,0,0)}return $_}function columnIsHeader(Ff,kh,x_){const $_=tableNodeTypes(kh.type.schema).header_cell;for(let B_=0;B_<Ff.height;B_++)if(kh.nodeAt(Ff.map[x_+B_*Ff.width]).type!=$_)return!1;return!0}var CellSelection=class F1e extends Selection{constructor(kh,x_=kh){const $_=kh.node(-1),B_=TableMap.get($_),$P=kh.start(-1),zP=B_.rectBetween(kh.pos-$P,x_.pos-$P),eme=kh.node(0),tme=B_.cellsInRect(zP).filter(rme=>rme!=x_.pos-$P);tme.unshift(x_.pos-$P);const nme=tme.map(rme=>{const ime=$_.nodeAt(rme);if(!ime)throw RangeError(`No cell with offset ${rme} found`);const ome=$P+rme+1;return new SelectionRange(eme.resolve(ome),eme.resolve(ome+ime.content.size))});super(nme[0].$from,nme[0].$to,nme),this.$anchorCell=kh,this.$headCell=x_}map(kh,x_){const $_=kh.resolve(x_.map(this.$anchorCell.pos)),B_=kh.resolve(x_.map(this.$headCell.pos));if(pointsAtCell($_)&&pointsAtCell(B_)&&inSameTable($_,B_)){const $P=this.$anchorCell.node(-1)!=$_.node(-1);return $P&&this.isRowSelection()?F1e.rowSelection($_,B_):$P&&this.isColSelection()?F1e.colSelection($_,B_):new F1e($_,B_)}return TextSelection.between($_,B_)}content(){const kh=this.$anchorCell.node(-1),x_=TableMap.get(kh),$_=this.$anchorCell.start(-1),B_=x_.rectBetween(this.$anchorCell.pos-$_,this.$headCell.pos-$_),$P={},zP=[];for(let tme=B_.top;tme<B_.bottom;tme++){const nme=[];for(let rme=tme*x_.width+B_.left,ime=B_.left;ime<B_.right;ime++,rme++){const ome=x_.map[rme];if($P[ome])continue;$P[ome]=!0;const sme=x_.findCell(ome);let ume=kh.nodeAt(ome);if(!ume)throw RangeError(`No cell with offset ${ome} found`);const cme=B_.left-sme.left,ame=sme.right-B_.right;if(cme>0||ame>0){let lme=ume.attrs;if(cme>0&&(lme=removeColSpan(lme,0,cme)),ame>0&&(lme=removeColSpan(lme,lme.colspan-ame,ame)),sme.left<B_.left){if(ume=ume.type.createAndFill(lme),!ume)throw RangeError(`Could not create cell with attrs ${JSON.stringify(lme)}`)}else ume=ume.type.create(lme,ume.content)}if(sme.top<B_.top||sme.bottom>B_.bottom){const lme={...ume.attrs,rowspan:Math.min(sme.bottom,B_.bottom)-Math.max(sme.top,B_.top)};sme.top<B_.top?ume=ume.type.createAndFill(lme):ume=ume.type.create(lme,ume.content)}nme.push(ume)}zP.push(kh.child(tme).copy(Fragment$1.from(nme)))}const eme=this.isColSelection()&&this.isRowSelection()?kh:zP;return new Slice(Fragment$1.from(eme),1,1)}replace(kh,x_=Slice.empty){const $_=kh.steps.length,B_=this.ranges;for(let zP=0;zP<B_.length;zP++){const{$from:eme,$to:tme}=B_[zP],nme=kh.mapping.slice($_);kh.replace(nme.map(eme.pos),nme.map(tme.pos),zP?Slice.empty:x_)}const $P=Selection.findFrom(kh.doc.resolve(kh.mapping.slice($_).map(this.to)),-1);$P&&kh.setSelection($P)}replaceWith(kh,x_){this.replace(kh,new Slice(Fragment$1.from(x_),0,0))}forEachCell(kh){const x_=this.$anchorCell.node(-1),$_=TableMap.get(x_),B_=this.$anchorCell.start(-1),$P=$_.cellsInRect($_.rectBetween(this.$anchorCell.pos-B_,this.$headCell.pos-B_));for(let zP=0;zP<$P.length;zP++)kh(x_.nodeAt($P[zP]),B_+$P[zP])}isColSelection(){const kh=this.$anchorCell.index(-1),x_=this.$headCell.index(-1);if(Math.min(kh,x_)>0)return!1;const $_=kh+this.$anchorCell.nodeAfter.attrs.rowspan,B_=x_+this.$headCell.nodeAfter.attrs.rowspan;return Math.max($_,B_)==this.$headCell.node(-1).childCount}static colSelection(kh,x_=kh){const $_=kh.node(-1),B_=TableMap.get($_),$P=kh.start(-1),zP=B_.findCell(kh.pos-$P),eme=B_.findCell(x_.pos-$P),tme=kh.node(0);return zP.top<=eme.top?(zP.top>0&&(kh=tme.resolve($P+B_.map[zP.left])),eme.bottom<B_.height&&(x_=tme.resolve($P+B_.map[B_.width*(B_.height-1)+eme.right-1]))):(eme.top>0&&(x_=tme.resolve($P+B_.map[eme.left])),zP.bottom<B_.height&&(kh=tme.resolve($P+B_.map[B_.width*(B_.height-1)+zP.right-1]))),new F1e(kh,x_)}isRowSelection(){const kh=this.$anchorCell.node(-1),x_=TableMap.get(kh),$_=this.$anchorCell.start(-1),B_=x_.colCount(this.$anchorCell.pos-$_),$P=x_.colCount(this.$headCell.pos-$_);if(Math.min(B_,$P)>0)return!1;const zP=B_+this.$anchorCell.nodeAfter.attrs.colspan,eme=$P+this.$headCell.nodeAfter.attrs.colspan;return Math.max(zP,eme)==x_.width}eq(kh){return kh instanceof F1e&&kh.$anchorCell.pos==this.$anchorCell.pos&&kh.$headCell.pos==this.$headCell.pos}static rowSelection(kh,x_=kh){const $_=kh.node(-1),B_=TableMap.get($_),$P=kh.start(-1),zP=B_.findCell(kh.pos-$P),eme=B_.findCell(x_.pos-$P),tme=kh.node(0);return zP.left<=eme.left?(zP.left>0&&(kh=tme.resolve($P+B_.map[zP.top*B_.width])),eme.right<B_.width&&(x_=tme.resolve($P+B_.map[B_.width*(eme.top+1)-1]))):(eme.left>0&&(x_=tme.resolve($P+B_.map[eme.top*B_.width])),zP.right<B_.width&&(kh=tme.resolve($P+B_.map[B_.width*(zP.top+1)-1]))),new F1e(kh,x_)}toJSON(){return{type:"cell",anchor:this.$anchorCell.pos,head:this.$headCell.pos}}static fromJSON(kh,x_){return new F1e(kh.resolve(x_.anchor),kh.resolve(x_.head))}static create(kh,x_,$_=x_){return new F1e(kh.resolve(x_),kh.resolve($_))}getBookmark(){return new CellBookmark(this.$anchorCell.pos,this.$headCell.pos)}};CellSelection.prototype.visible=!1,Selection.jsonID("cell",CellSelection);var CellBookmark=class e_e{constructor(kh,x_){this.anchor=kh,this.head=x_}map(kh){return new e_e(kh.map(this.anchor),kh.map(this.head))}resolve(kh){const x_=kh.resolve(this.anchor),$_=kh.resolve(this.head);return x_.parent.type.spec.tableRole=="row"&&$_.parent.type.spec.tableRole=="row"&&x_.index()<x_.parent.childCount&&$_.index()<$_.parent.childCount&&inSameTable(x_,$_)?new CellSelection(x_,$_):Selection.near($_,1)}};function drawCellSelection(Ff){if(!(Ff.selection instanceof CellSelection))return null;const kh=[];return Ff.selection.forEachCell((x_,$_)=>{kh.push(Decoration.node($_,$_+x_.nodeSize,{class:"selectedCell"}))}),DecorationSet.create(Ff.doc,kh)}function isCellBoundarySelection({$from:Ff,$to:kh}){if(Ff.pos==kh.pos||Ff.pos<Ff.pos-6)return!1;let x_=Ff.pos,$_=kh.pos,B_=Ff.depth;for(;B_>=0&&!(Ff.after(B_+1)<Ff.end(B_));B_--,x_++);for(let $P=kh.depth;$P>=0&&!(kh.before($P+1)>kh.start($P));$P--,$_--);return x_==$_&&/row|table/.test(Ff.node(B_).type.spec.tableRole)}function isTextSelectionAcrossCells({$from:Ff,$to:kh}){let x_,$_;for(let B_=Ff.depth;B_>0;B_--){const $P=Ff.node(B_);if($P.type.spec.tableRole==="cell"||$P.type.spec.tableRole==="header_cell"){x_=$P;break}}for(let B_=kh.depth;B_>0;B_--){const $P=kh.node(B_);if($P.type.spec.tableRole==="cell"||$P.type.spec.tableRole==="header_cell"){$_=$P;break}}return x_!==$_&&kh.parentOffset===0}function normalizeSelection(Ff,kh,x_){const $_=(kh||Ff).selection,B_=(kh||Ff).doc;let $P,zP;if($_ instanceof NodeSelection&&(zP=$_.node.type.spec.tableRole)){if(zP=="cell"||zP=="header_cell")$P=CellSelection.create(B_,$_.from);else if(zP=="row"){const eme=B_.resolve($_.from+1);$P=CellSelection.rowSelection(eme,eme)}else if(!x_){const eme=TableMap.get($_.node),tme=$_.from+1,nme=tme+eme.map[eme.width*eme.height-1];$P=CellSelection.create(B_,tme+1,nme)}}else $_ instanceof TextSelection&&isCellBoundarySelection($_)?$P=TextSelection.create(B_,$_.from):$_ instanceof TextSelection&&isTextSelectionAcrossCells($_)&&($P=TextSelection.create(B_,$_.$from.start(),$_.$from.end()));return $P&&(kh||(kh=Ff.tr)).setSelection($P),kh}var fixTablesKey=new PluginKey("fix-tables");function changedDescendants(Ff,kh,x_,$_){const B_=Ff.childCount,$P=kh.childCount;e:for(let zP=0,eme=0;zP<$P;zP++){const tme=kh.child(zP);for(let nme=eme,rme=Math.min(B_,zP+3);nme<rme;nme++)if(Ff.child(nme)==tme){eme=nme+1,x_+=tme.nodeSize;continue e}$_(tme,x_),eme<B_&&Ff.child(eme).sameMarkup(tme)?changedDescendants(Ff.child(eme),tme,x_+1,$_):tme.nodesBetween(0,tme.content.size,$_,x_+1),x_+=tme.nodeSize}}function fixTables(Ff,kh){let x_;const $_=(B_,$P)=>{B_.type.spec.tableRole=="table"&&(x_=fixTable(Ff,B_,$P,x_))};return kh?kh.doc!=Ff.doc&&changedDescendants(kh.doc,Ff.doc,0,$_):Ff.doc.descendants($_),x_}function fixTable(Ff,kh,x_,$_){const B_=TableMap.get(kh);if(!B_.problems)return $_;$_||($_=Ff.tr);const $P=[];for(let tme=0;tme<B_.height;tme++)$P.push(0);for(let tme=0;tme<B_.problems.length;tme++){const nme=B_.problems[tme];if(nme.type=="collision"){const rme=kh.nodeAt(nme.pos);if(!rme)continue;const ime=rme.attrs;for(let ome=0;ome<ime.rowspan;ome++)$P[nme.row+ome]+=nme.n;$_.setNodeMarkup($_.mapping.map(x_+1+nme.pos),null,removeColSpan(ime,ime.colspan-nme.n,nme.n))}else if(nme.type=="missing")$P[nme.row]+=nme.n;else if(nme.type=="overlong_rowspan"){const rme=kh.nodeAt(nme.pos);if(!rme)continue;$_.setNodeMarkup($_.mapping.map(x_+1+nme.pos),null,{...rme.attrs,rowspan:rme.attrs.rowspan-nme.n})}else if(nme.type=="colwidth mismatch"){const rme=kh.nodeAt(nme.pos);if(!rme)continue;$_.setNodeMarkup($_.mapping.map(x_+1+nme.pos),null,{...rme.attrs,colwidth:nme.colwidth})}}let zP,eme;for(let tme=0;tme<$P.length;tme++)$P[tme]&&(zP==null&&(zP=tme),eme=tme);for(let tme=0,nme=x_+1;tme<B_.height;tme++){const rme=kh.child(tme),ime=nme+rme.nodeSize,ome=$P[tme];if(ome>0){let sme="cell";rme.firstChild&&(sme=rme.firstChild.type.spec.tableRole);const ume=[];for(let ame=0;ame<ome;ame++){const lme=tableNodeTypes(Ff.schema)[sme].createAndFill();lme&&ume.push(lme)}const cme=(tme==0||zP==tme-1)&&eme==tme?nme+1:ime-1;$_.insert($_.mapping.map(cme),ume)}nme=ime}return $_.setMeta(fixTablesKey,{fixTables:!0})}function pastedCells(Ff){if(!Ff.size)return null;let{content:kh,openStart:x_,openEnd:$_}=Ff;for(;kh.childCount==1&&(x_>0&&$_>0||kh.child(0).type.spec.tableRole=="table");)x_--,$_--,kh=kh.child(0).content;const B_=kh.child(0),$P=B_.type.spec.tableRole,zP=B_.type.schema,eme=[];if($P=="row")for(let tme=0;tme<kh.childCount;tme++){let nme=kh.child(tme).content;const rme=tme?0:Math.max(0,x_-1),ime=tme<kh.childCount-1?0:Math.max(0,$_-1);(rme||ime)&&(nme=fitSlice(tableNodeTypes(zP).row,new Slice(nme,rme,ime)).content),eme.push(nme)}else if($P=="cell"||$P=="header_cell")eme.push(x_||$_?fitSlice(tableNodeTypes(zP).row,new Slice(kh,x_,$_)).content:kh);else return null;return ensureRectangular(zP,eme)}function ensureRectangular(Ff,kh){const x_=[];for(let B_=0;B_<kh.length;B_++){const $P=kh[B_];for(let zP=$P.childCount-1;zP>=0;zP--){const{rowspan:eme,colspan:tme}=$P.child(zP).attrs;for(let nme=B_;nme<B_+eme;nme++)x_[nme]=(x_[nme]||0)+tme}}let $_=0;for(let B_=0;B_<x_.length;B_++)$_=Math.max($_,x_[B_]);for(let B_=0;B_<x_.length;B_++)if(B_>=kh.length&&kh.push(Fragment$1.empty),x_[B_]<$_){const $P=tableNodeTypes(Ff).cell.createAndFill(),zP=[];for(let eme=x_[B_];eme<$_;eme++)zP.push($P);kh[B_]=kh[B_].append(Fragment$1.from(zP))}return{height:kh.length,width:$_,rows:kh}}function fitSlice(Ff,kh){const x_=Ff.createAndFill();return new Transform(x_).replace(0,x_.content.size,kh).doc}function clipCells({width:Ff,height:kh,rows:x_},$_,B_){if(Ff!=$_){const $P=[],zP=[];for(let eme=0;eme<x_.length;eme++){const tme=x_[eme],nme=[];for(let rme=$P[eme]||0,ime=0;rme<$_;ime++){let ome=tme.child(ime%tme.childCount);rme+ome.attrs.colspan>$_&&(ome=ome.type.createChecked(removeColSpan(ome.attrs,ome.attrs.colspan,rme+ome.attrs.colspan-$_),ome.content)),nme.push(ome),rme+=ome.attrs.colspan;for(let sme=1;sme<ome.attrs.rowspan;sme++)$P[eme+sme]=($P[eme+sme]||0)+ome.attrs.colspan}zP.push(Fragment$1.from(nme))}x_=zP,Ff=$_}if(kh!=B_){const $P=[];for(let zP=0,eme=0;zP<B_;zP++,eme++){const tme=[],nme=x_[eme%kh];for(let rme=0;rme<nme.childCount;rme++){let ime=nme.child(rme);zP+ime.attrs.rowspan>B_&&(ime=ime.type.create({...ime.attrs,rowspan:Math.max(1,B_-ime.attrs.rowspan)},ime.content)),tme.push(ime)}$P.push(Fragment$1.from(tme))}x_=$P,kh=B_}return{width:Ff,height:kh,rows:x_}}function growTable(Ff,kh,x_,$_,B_,$P,zP){const eme=Ff.doc.type.schema,tme=tableNodeTypes(eme);let nme,rme;if(B_>kh.width)for(let ime=0,ome=0;ime<kh.height;ime++){const sme=x_.child(ime);ome+=sme.nodeSize;const ume=[];let cme;sme.lastChild==null||sme.lastChild.type==tme.cell?cme=nme||(nme=tme.cell.createAndFill()):cme=rme||(rme=tme.header_cell.createAndFill());for(let ame=kh.width;ame<B_;ame++)ume.push(cme);Ff.insert(Ff.mapping.slice(zP).map(ome-1+$_),ume)}if($P>kh.height){const ime=[];for(let ume=0,cme=(kh.height-1)*kh.width;ume<Math.max(kh.width,B_);ume++){const ame=ume>=kh.width?!1:x_.nodeAt(kh.map[cme+ume]).type==tme.header_cell;ime.push(ame?rme||(rme=tme.header_cell.createAndFill()):nme||(nme=tme.cell.createAndFill()))}const ome=tme.row.create(null,Fragment$1.from(ime)),sme=[];for(let ume=kh.height;ume<$P;ume++)sme.push(ome);Ff.insert(Ff.mapping.slice(zP).map($_+x_.nodeSize-2),sme)}return!!(nme||rme)}function isolateHorizontal(Ff,kh,x_,$_,B_,$P,zP,eme){if(zP==0||zP==kh.height)return!1;let tme=!1;for(let nme=B_;nme<$P;nme++){const rme=zP*kh.width+nme,ime=kh.map[rme];if(kh.map[rme-kh.width]==ime){tme=!0;const ome=x_.nodeAt(ime),{top:sme,left:ume}=kh.findCell(ime);Ff.setNodeMarkup(Ff.mapping.slice(eme).map(ime+$_),null,{...ome.attrs,rowspan:zP-sme}),Ff.insert(Ff.mapping.slice(eme).map(kh.positionAt(zP,ume,x_)),ome.type.createAndFill({...ome.attrs,rowspan:sme+ome.attrs.rowspan-zP})),nme+=ome.attrs.colspan-1}}return tme}function isolateVertical(Ff,kh,x_,$_,B_,$P,zP,eme){if(zP==0||zP==kh.width)return!1;let tme=!1;for(let nme=B_;nme<$P;nme++){const rme=nme*kh.width+zP,ime=kh.map[rme];if(kh.map[rme-1]==ime){tme=!0;const ome=x_.nodeAt(ime),sme=kh.colCount(ime),ume=Ff.mapping.slice(eme).map(ime+$_);Ff.setNodeMarkup(ume,null,removeColSpan(ome.attrs,zP-sme,ome.attrs.colspan-(zP-sme))),Ff.insert(ume+ome.nodeSize,ome.type.createAndFill(removeColSpan(ome.attrs,0,zP-sme))),nme+=ome.attrs.rowspan-1}}return tme}function insertCells(Ff,kh,x_,$_,B_){let $P=x_?Ff.doc.nodeAt(x_-1):Ff.doc;if(!$P)throw new Error("No table found");let zP=TableMap.get($P);const{top:eme,left:tme}=$_,nme=tme+B_.width,rme=eme+B_.height,ime=Ff.tr;let ome=0;function sme(){if($P=x_?ime.doc.nodeAt(x_-1):ime.doc,!$P)throw new Error("No table found");zP=TableMap.get($P),ome=ime.mapping.maps.length}growTable(ime,zP,$P,x_,nme,rme,ome)&&sme(),isolateHorizontal(ime,zP,$P,x_,tme,nme,eme,ome)&&sme(),isolateHorizontal(ime,zP,$P,x_,tme,nme,rme,ome)&&sme(),isolateVertical(ime,zP,$P,x_,eme,rme,tme,ome)&&sme(),isolateVertical(ime,zP,$P,x_,eme,rme,nme,ome)&&sme();for(let ume=eme;ume<rme;ume++){const cme=zP.positionAt(ume,tme,$P),ame=zP.positionAt(ume,nme,$P);ime.replace(ime.mapping.slice(ome).map(cme+x_),ime.mapping.slice(ome).map(ame+x_),new Slice(B_.rows[ume-eme],0,0))}sme(),ime.setSelection(new CellSelection(ime.doc.resolve(x_+zP.positionAt(eme,tme,$P)),ime.doc.resolve(x_+zP.positionAt(rme-1,nme-1,$P)))),kh(ime)}var handleKeyDown=keydownHandler({ArrowLeft:arrow("horiz",-1),ArrowRight:arrow("horiz",1),ArrowUp:arrow("vert",-1),ArrowDown:arrow("vert",1),"Shift-ArrowLeft":shiftArrow("horiz",-1),"Shift-ArrowRight":shiftArrow("horiz",1),"Shift-ArrowUp":shiftArrow("vert",-1),"Shift-ArrowDown":shiftArrow("vert",1),Backspace:deleteCellSelection,"Mod-Backspace":deleteCellSelection,Delete:deleteCellSelection,"Mod-Delete":deleteCellSelection});function maybeSetSelection(Ff,kh,x_){return x_.eq(Ff.selection)?!1:(kh&&kh(Ff.tr.setSelection(x_).scrollIntoView()),!0)}function arrow(Ff,kh){return(x_,$_,B_)=>{if(!B_)return!1;const $P=x_.selection;if($P instanceof CellSelection)return maybeSetSelection(x_,$_,Selection.near($P.$headCell,kh));if(Ff!="horiz"&&!$P.empty)return!1;const zP=atEndOfCell(B_,Ff,kh);if(zP==null)return!1;if(Ff=="horiz")return maybeSetSelection(x_,$_,Selection.near(x_.doc.resolve($P.head+kh),kh));{const eme=x_.doc.resolve(zP),tme=nextCell(eme,Ff,kh);let nme;return tme?nme=Selection.near(tme,1):kh<0?nme=Selection.near(x_.doc.resolve(eme.before(-1)),-1):nme=Selection.near(x_.doc.resolve(eme.after(-1)),1),maybeSetSelection(x_,$_,nme)}}}function shiftArrow(Ff,kh){return(x_,$_,B_)=>{if(!B_)return!1;const $P=x_.selection;let zP;if($P instanceof CellSelection)zP=$P;else{const tme=atEndOfCell(B_,Ff,kh);if(tme==null)return!1;zP=new CellSelection(x_.doc.resolve(tme))}const eme=nextCell(zP.$headCell,Ff,kh);return eme?maybeSetSelection(x_,$_,new CellSelection(zP.$anchorCell,eme)):!1}}function deleteCellSelection(Ff,kh){const x_=Ff.selection;if(!(x_ instanceof CellSelection))return!1;if(kh){const $_=Ff.tr,B_=tableNodeTypes(Ff.schema).cell.createAndFill().content;x_.forEachCell(($P,zP)=>{$P.content.eq(B_)||$_.replace($_.mapping.map(zP+1),$_.mapping.map(zP+$P.nodeSize-1),new Slice(B_,0,0))}),$_.docChanged&&kh($_)}return!0}function handleTripleClick(Ff,kh){const x_=Ff.state.doc,$_=cellAround(x_.resolve(kh));return $_?(Ff.dispatch(Ff.state.tr.setSelection(new CellSelection($_))),!0):!1}function handlePaste(Ff,kh,x_){if(!isInTable(Ff.state))return!1;let $_=pastedCells(x_);const B_=Ff.state.selection;if(B_ instanceof CellSelection){$_||($_={width:1,height:1,rows:[Fragment$1.from(fitSlice(tableNodeTypes(Ff.state.schema).cell,x_))]});const $P=B_.$anchorCell.node(-1),zP=B_.$anchorCell.start(-1),eme=TableMap.get($P).rectBetween(B_.$anchorCell.pos-zP,B_.$headCell.pos-zP);return $_=clipCells($_,eme.right-eme.left,eme.bottom-eme.top),insertCells(Ff.state,Ff.dispatch,zP,eme,$_),!0}else if($_){const $P=selectionCell(Ff.state),zP=$P.start(-1);return insertCells(Ff.state,Ff.dispatch,zP,TableMap.get($P.node(-1)).findCell($P.pos-zP),$_),!0}else return!1}function handleMouseDown(Ff,kh){var x_;if(kh.ctrlKey||kh.metaKey)return;const $_=domInCell(Ff,kh.target);let B_;if(kh.shiftKey&&Ff.state.selection instanceof CellSelection)$P(Ff.state.selection.$anchorCell,kh),kh.preventDefault();else if(kh.shiftKey&&$_&&(B_=cellAround(Ff.state.selection.$anchor))!=null&&((x_=cellUnderMouse(Ff,kh))==null?void 0:x_.pos)!=B_.pos)$P(B_,kh),kh.preventDefault();else if(!$_)return;function $P(tme,nme){let rme=cellUnderMouse(Ff,nme);const ime=tableEditingKey.getState(Ff.state)==null;if(!rme||!inSameTable(tme,rme))if(ime)rme=tme;else return;const ome=new CellSelection(tme,rme);if(ime||!Ff.state.selection.eq(ome)){const sme=Ff.state.tr.setSelection(ome);ime&&sme.setMeta(tableEditingKey,tme.pos),Ff.dispatch(sme)}}function zP(){Ff.root.removeEventListener("mouseup",zP),Ff.root.removeEventListener("dragstart",zP),Ff.root.removeEventListener("mousemove",eme),tableEditingKey.getState(Ff.state)!=null&&Ff.dispatch(Ff.state.tr.setMeta(tableEditingKey,-1))}function eme(tme){const nme=tme,rme=tableEditingKey.getState(Ff.state);let ime;if(rme!=null)ime=Ff.state.doc.resolve(rme);else if(domInCell(Ff,nme.target)!=$_&&(ime=cellUnderMouse(Ff,kh),!ime))return zP();ime&&$P(ime,nme)}Ff.root.addEventListener("mouseup",zP),Ff.root.addEventListener("dragstart",zP),Ff.root.addEventListener("mousemove",eme)}function atEndOfCell(Ff,kh,x_){if(!(Ff.state.selection instanceof TextSelection))return null;const{$head:$_}=Ff.state.selection;for(let B_=$_.depth-1;B_>=0;B_--){const $P=$_.node(B_);if((x_<0?$_.index(B_):$_.indexAfter(B_))!=(x_<0?0:$P.childCount))return null;if($P.type.spec.tableRole=="cell"||$P.type.spec.tableRole=="header_cell"){const eme=$_.before(B_),tme=kh=="vert"?x_>0?"down":"up":x_>0?"right":"left";return Ff.endOfTextblock(tme)?eme:null}}return null}function domInCell(Ff,kh){for(;kh&&kh!=Ff.dom;kh=kh.parentNode)if(kh.nodeName=="TD"||kh.nodeName=="TH")return kh;return null}function cellUnderMouse(Ff,kh){const x_=Ff.posAtCoords({left:kh.clientX,top:kh.clientY});return x_&&x_?cellAround(Ff.state.doc.resolve(x_.pos)):null}var TableView$1=class{constructor(kh,x_){this.node=kh,this.cellMinWidth=x_,this.dom=document.createElement("div"),this.dom.className="tableWrapper",this.table=this.dom.appendChild(document.createElement("table")),this.colgroup=this.table.appendChild(document.createElement("colgroup")),updateColumnsOnResize(kh,this.colgroup,this.table,x_),this.contentDOM=this.table.appendChild(document.createElement("tbody"))}update(kh){return kh.type!=this.node.type?!1:(this.node=kh,updateColumnsOnResize(kh,this.colgroup,this.table,this.cellMinWidth),!0)}ignoreMutation(kh){return kh.type=="attributes"&&(kh.target==this.table||this.colgroup.contains(kh.target))}};function updateColumnsOnResize(Ff,kh,x_,$_,B_,$P){var zP;let eme=0,tme=!0,nme=kh.firstChild;const rme=Ff.firstChild;if(rme){for(let ime=0,ome=0;ime<rme.childCount;ime++){const{colspan:sme,colwidth:ume}=rme.child(ime).attrs;for(let cme=0;cme<sme;cme++,ome++){const ame=B_==ome?$P:ume&&ume[cme],lme=ame?ame+"px":"";eme+=ame||$_,ame||(tme=!1),nme?(nme.style.width!=lme&&(nme.style.width=lme),nme=nme.nextSibling):kh.appendChild(document.createElement("col")).style.width=lme}}for(;nme;){const ime=nme.nextSibling;(zP=nme.parentNode)==null||zP.removeChild(nme),nme=ime}tme?(x_.style.width=eme+"px",x_.style.minWidth=""):(x_.style.width="",x_.style.minWidth=eme+"px")}}var columnResizingPluginKey=new PluginKey("tableColumnResizing");function columnResizing({handleWidth:Ff=5,cellMinWidth:kh=25,View:x_=TableView$1,lastColumnResizable:$_=!0}={}){const B_=new Plugin({key:columnResizingPluginKey,state:{init($P,zP){return B_.spec.props.nodeViews[tableNodeTypes(zP.schema).table.name]=(eme,tme)=>new x_(eme,kh,tme),new ResizeState(-1,!1)},apply($P,zP){return zP.apply($P)}},props:{attributes:$P=>{const zP=columnResizingPluginKey.getState($P);return zP&&zP.activeHandle>-1?{class:"resize-cursor"}:{}},handleDOMEvents:{mousemove:($P,zP)=>{handleMouseMove($P,zP,Ff,kh,$_)},mouseleave:$P=>{handleMouseLeave($P)},mousedown:($P,zP)=>{handleMouseDown2($P,zP,kh)}},decorations:$P=>{const zP=columnResizingPluginKey.getState($P);if(zP&&zP.activeHandle>-1)return handleDecorations($P,zP.activeHandle)},nodeViews:{}}});return B_}var ResizeState=class wye{constructor(kh,x_){this.activeHandle=kh,this.dragging=x_}apply(kh){const x_=this,$_=kh.getMeta(columnResizingPluginKey);if($_&&$_.setHandle!=null)return new wye($_.setHandle,!1);if($_&&$_.setDragging!==void 0)return new wye(x_.activeHandle,$_.setDragging);if(x_.activeHandle>-1&&kh.docChanged){let B_=kh.mapping.map(x_.activeHandle,-1);return pointsAtCell(kh.doc.resolve(B_))||(B_=-1),new wye(B_,x_.dragging)}return x_}};function handleMouseMove(Ff,kh,x_,$_,B_){const $P=columnResizingPluginKey.getState(Ff.state);if($P&&!$P.dragging){const zP=domCellAround(kh.target);let eme=-1;if(zP){const{left:tme,right:nme}=zP.getBoundingClientRect();kh.clientX-tme<=x_?eme=edgeCell(Ff,kh,"left",x_):nme-kh.clientX<=x_&&(eme=edgeCell(Ff,kh,"right",x_))}if(eme!=$P.activeHandle){if(!B_&&eme!==-1){const tme=Ff.state.doc.resolve(eme),nme=tme.node(-1),rme=TableMap.get(nme),ime=tme.start(-1);if(rme.colCount(tme.pos-ime)+tme.nodeAfter.attrs.colspan-1==rme.width-1)return}updateHandle(Ff,eme)}}}function handleMouseLeave(Ff){const kh=columnResizingPluginKey.getState(Ff.state);kh&&kh.activeHandle>-1&&!kh.dragging&&updateHandle(Ff,-1)}function handleMouseDown2(Ff,kh,x_){var $_;const B_=($_=Ff.dom.ownerDocument.defaultView)!=null?$_:window,$P=columnResizingPluginKey.getState(Ff.state);if(!$P||$P.activeHandle==-1||$P.dragging)return!1;const zP=Ff.state.doc.nodeAt($P.activeHandle),eme=currentColWidth(Ff,$P.activeHandle,zP.attrs);Ff.dispatch(Ff.state.tr.setMeta(columnResizingPluginKey,{setDragging:{startX:kh.clientX,startWidth:eme}}));function tme(rme){B_.removeEventListener("mouseup",tme),B_.removeEventListener("mousemove",nme);const ime=columnResizingPluginKey.getState(Ff.state);ime!=null&&ime.dragging&&(updateColumnWidth(Ff,ime.activeHandle,draggedWidth(ime.dragging,rme,x_)),Ff.dispatch(Ff.state.tr.setMeta(columnResizingPluginKey,{setDragging:null})))}function nme(rme){if(!rme.which)return tme(rme);const ime=columnResizingPluginKey.getState(Ff.state);if(ime&&ime.dragging){const ome=draggedWidth(ime.dragging,rme,x_);displayColumnWidth(Ff,ime.activeHandle,ome,x_)}}return B_.addEventListener("mouseup",tme),B_.addEventListener("mousemove",nme),kh.preventDefault(),!0}function currentColWidth(Ff,kh,{colspan:x_,colwidth:$_}){const B_=$_&&$_[$_.length-1];if(B_)return B_;const $P=Ff.domAtPos(kh);let eme=$P.node.childNodes[$P.offset].offsetWidth,tme=x_;if($_)for(let nme=0;nme<x_;nme++)$_[nme]&&(eme-=$_[nme],tme--);return eme/tme}function domCellAround(Ff){for(;Ff&&Ff.nodeName!="TD"&&Ff.nodeName!="TH";)Ff=Ff.classList&&Ff.classList.contains("ProseMirror")?null:Ff.parentNode;return Ff}function edgeCell(Ff,kh,x_,$_){const B_=x_=="right"?-$_:$_,$P=Ff.posAtCoords({left:kh.clientX+B_,top:kh.clientY});if(!$P)return-1;const{pos:zP}=$P,eme=cellAround(Ff.state.doc.resolve(zP));if(!eme)return-1;if(x_=="right")return eme.pos;const tme=TableMap.get(eme.node(-1)),nme=eme.start(-1),rme=tme.map.indexOf(eme.pos-nme);return rme%tme.width==0?-1:nme+tme.map[rme-1]}function draggedWidth(Ff,kh,x_){const $_=kh.clientX-Ff.startX;return Math.max(x_,Ff.startWidth+$_)}function updateHandle(Ff,kh){Ff.dispatch(Ff.state.tr.setMeta(columnResizingPluginKey,{setHandle:kh}))}function updateColumnWidth(Ff,kh,x_){const $_=Ff.state.doc.resolve(kh),B_=$_.node(-1),$P=TableMap.get(B_),zP=$_.start(-1),eme=$P.colCount($_.pos-zP)+$_.nodeAfter.attrs.colspan-1,tme=Ff.state.tr;for(let nme=0;nme<$P.height;nme++){const rme=nme*$P.width+eme;if(nme&&$P.map[rme]==$P.map[rme-$P.width])continue;const ime=$P.map[rme],ome=B_.nodeAt(ime).attrs,sme=ome.colspan==1?0:eme-$P.colCount(ime);if(ome.colwidth&&ome.colwidth[sme]==x_)continue;const ume=ome.colwidth?ome.colwidth.slice():zeroes(ome.colspan);ume[sme]=x_,tme.setNodeMarkup(zP+ime,null,{...ome,colwidth:ume})}tme.docChanged&&Ff.dispatch(tme)}function displayColumnWidth(Ff,kh,x_,$_){const B_=Ff.state.doc.resolve(kh),$P=B_.node(-1),zP=B_.start(-1),eme=TableMap.get($P).colCount(B_.pos-zP)+B_.nodeAfter.attrs.colspan-1;let tme=Ff.domAtPos(B_.start(-1)).node;for(;tme&&tme.nodeName!="TABLE";)tme=tme.parentNode;tme&&updateColumnsOnResize($P,tme.firstChild,tme,$_,eme,x_)}function zeroes(Ff){return Array(Ff).fill(0)}function handleDecorations(Ff,kh){const x_=[],$_=Ff.doc.resolve(kh),B_=$_.node(-1);if(!B_)return DecorationSet.empty;const $P=TableMap.get(B_),zP=$_.start(-1),eme=$P.colCount($_.pos-zP)+$_.nodeAfter.attrs.colspan;for(let tme=0;tme<$P.height;tme++){const nme=eme+tme*$P.width-1;if((eme==$P.width||$P.map[nme]!=$P.map[nme+1])&&(tme==0||$P.map[nme]!=$P.map[nme-$P.width])){const rme=$P.map[nme],ime=zP+rme+B_.nodeAt(rme).nodeSize-1,ome=document.createElement("div");ome.className="column-resize-handle",x_.push(Decoration.widget(ime,ome))}}return DecorationSet.create(Ff.doc,x_)}function selectedRect(Ff){const kh=Ff.selection,x_=selectionCell(Ff),$_=x_.node(-1),B_=x_.start(-1),$P=TableMap.get($_);return{...kh instanceof CellSelection?$P.rectBetween(kh.$anchorCell.pos-B_,kh.$headCell.pos-B_):$P.findCell(x_.pos-B_),tableStart:B_,map:$P,table:$_}}function addColumn(Ff,{map:kh,tableStart:x_,table:$_},B_){let $P=B_>0?-1:0;columnIsHeader(kh,$_,B_+$P)&&($P=B_==0||B_==kh.width?null:0);for(let zP=0;zP<kh.height;zP++){const eme=zP*kh.width+B_;if(B_>0&&B_<kh.width&&kh.map[eme-1]==kh.map[eme]){const tme=kh.map[eme],nme=$_.nodeAt(tme);Ff.setNodeMarkup(Ff.mapping.map(x_+tme),null,addColSpan(nme.attrs,B_-kh.colCount(tme))),zP+=nme.attrs.rowspan-1}else{const tme=$P==null?tableNodeTypes($_.type.schema).cell:$_.nodeAt(kh.map[eme+$P]).type,nme=kh.positionAt(zP,B_,$_);Ff.insert(Ff.mapping.map(x_+nme),tme.createAndFill())}}return Ff}function addColumnBefore(Ff,kh){if(!isInTable(Ff))return!1;if(kh){const x_=selectedRect(Ff);kh(addColumn(Ff.tr,x_,x_.left))}return!0}function addColumnAfter(Ff,kh){if(!isInTable(Ff))return!1;if(kh){const x_=selectedRect(Ff);kh(addColumn(Ff.tr,x_,x_.right))}return!0}function removeColumn(Ff,{map:kh,table:x_,tableStart:$_},B_){const $P=Ff.mapping.maps.length;for(let zP=0;zP<kh.height;){const eme=zP*kh.width+B_,tme=kh.map[eme],nme=x_.nodeAt(tme),rme=nme.attrs;if(B_>0&&kh.map[eme-1]==tme||B_<kh.width-1&&kh.map[eme+1]==tme)Ff.setNodeMarkup(Ff.mapping.slice($P).map($_+tme),null,removeColSpan(rme,B_-kh.colCount(tme)));else{const ime=Ff.mapping.slice($P).map($_+tme);Ff.delete(ime,ime+nme.nodeSize)}zP+=rme.rowspan}}function deleteColumn(Ff,kh){if(!isInTable(Ff))return!1;if(kh){const x_=selectedRect(Ff),$_=Ff.tr;if(x_.left==0&&x_.right==x_.map.width)return!1;for(let B_=x_.right-1;removeColumn($_,x_,B_),B_!=x_.left;B_--){const $P=x_.tableStart?$_.doc.nodeAt(x_.tableStart-1):$_.doc;if(!$P)throw RangeError("No table found");x_.table=$P,x_.map=TableMap.get($P)}kh($_)}return!0}function rowIsHeader(Ff,kh,x_){var $_;const B_=tableNodeTypes(kh.type.schema).header_cell;for(let $P=0;$P<Ff.width;$P++)if((($_=kh.nodeAt(Ff.map[$P+x_*Ff.width]))==null?void 0:$_.type)!=B_)return!1;return!0}function addRow(Ff,{map:kh,tableStart:x_,table:$_},B_){var $P;let zP=x_;for(let nme=0;nme<B_;nme++)zP+=$_.child(nme).nodeSize;const eme=[];let tme=B_>0?-1:0;rowIsHeader(kh,$_,B_+tme)&&(tme=B_==0||B_==kh.height?null:0);for(let nme=0,rme=kh.width*B_;nme<kh.width;nme++,rme++)if(B_>0&&B_<kh.height&&kh.map[rme]==kh.map[rme-kh.width]){const ime=kh.map[rme],ome=$_.nodeAt(ime).attrs;Ff.setNodeMarkup(x_+ime,null,{...ome,rowspan:ome.rowspan+1}),nme+=ome.colspan-1}else{const ime=tme==null?tableNodeTypes($_.type.schema).cell:($P=$_.nodeAt(kh.map[rme+tme*kh.width]))==null?void 0:$P.type,ome=ime==null?void 0:ime.createAndFill();ome&&eme.push(ome)}return Ff.insert(zP,tableNodeTypes($_.type.schema).row.create(null,eme)),Ff}function addRowBefore(Ff,kh){if(!isInTable(Ff))return!1;if(kh){const x_=selectedRect(Ff);kh(addRow(Ff.tr,x_,x_.top))}return!0}function addRowAfter(Ff,kh){if(!isInTable(Ff))return!1;if(kh){const x_=selectedRect(Ff);kh(addRow(Ff.tr,x_,x_.bottom))}return!0}function removeRow(Ff,{map:kh,table:x_,tableStart:$_},B_){let $P=0;for(let nme=0;nme<B_;nme++)$P+=x_.child(nme).nodeSize;const zP=$P+x_.child(B_).nodeSize,eme=Ff.mapping.maps.length;Ff.delete($P+$_,zP+$_);const tme=new Set;for(let nme=0,rme=B_*kh.width;nme<kh.width;nme++,rme++){const ime=kh.map[rme];if(!tme.has(ime)){if(tme.add(ime),B_>0&&ime==kh.map[rme-kh.width]){const ome=x_.nodeAt(ime).attrs;Ff.setNodeMarkup(Ff.mapping.slice(eme).map(ime+$_),null,{...ome,rowspan:ome.rowspan-1}),nme+=ome.colspan-1}else if(B_<kh.height&&ime==kh.map[rme+kh.width]){const ome=x_.nodeAt(ime),sme=ome.attrs,ume=ome.type.create({...sme,rowspan:ome.attrs.rowspan-1},ome.content),cme=kh.positionAt(B_+1,nme,x_);Ff.insert(Ff.mapping.slice(eme).map($_+cme),ume),nme+=sme.colspan-1}}}}function deleteRow(Ff,kh){if(!isInTable(Ff))return!1;if(kh){const x_=selectedRect(Ff),$_=Ff.tr;if(x_.top==0&&x_.bottom==x_.map.height)return!1;for(let B_=x_.bottom-1;removeRow($_,x_,B_),B_!=x_.top;B_--){const $P=x_.tableStart?$_.doc.nodeAt(x_.tableStart-1):$_.doc;if(!$P)throw RangeError("No table found");x_.table=$P,x_.map=TableMap.get(x_.table)}kh($_)}return!0}function isEmpty(Ff){const kh=Ff.content;return kh.childCount==1&&kh.child(0).isTextblock&&kh.child(0).childCount==0}function cellsOverlapRectangle({width:Ff,height:kh,map:x_},$_){let B_=$_.top*Ff+$_.left,$P=B_,zP=($_.bottom-1)*Ff+$_.left,eme=B_+($_.right-$_.left-1);for(let tme=$_.top;tme<$_.bottom;tme++){if($_.left>0&&x_[$P]==x_[$P-1]||$_.right<Ff&&x_[eme]==x_[eme+1])return!0;$P+=Ff,eme+=Ff}for(let tme=$_.left;tme<$_.right;tme++){if($_.top>0&&x_[B_]==x_[B_-Ff]||$_.bottom<kh&&x_[zP]==x_[zP+Ff])return!0;B_++,zP++}return!1}function mergeCells(Ff,kh){const x_=Ff.selection;if(!(x_ instanceof CellSelection)||x_.$anchorCell.pos==x_.$headCell.pos)return!1;const $_=selectedRect(Ff),{map:B_}=$_;if(cellsOverlapRectangle(B_,$_))return!1;if(kh){const $P=Ff.tr,zP={};let eme=Fragment$1.empty,tme,nme;for(let rme=$_.top;rme<$_.bottom;rme++)for(let ime=$_.left;ime<$_.right;ime++){const ome=B_.map[rme*B_.width+ime],sme=$_.table.nodeAt(ome);if(!(zP[ome]||!sme))if(zP[ome]=!0,tme==null)tme=ome,nme=sme;else{isEmpty(sme)||(eme=eme.append(sme.content));const ume=$P.mapping.map(ome+$_.tableStart);$P.delete(ume,ume+sme.nodeSize)}}if(tme==null||nme==null)return!0;if($P.setNodeMarkup(tme+$_.tableStart,null,{...addColSpan(nme.attrs,nme.attrs.colspan,$_.right-$_.left-nme.attrs.colspan),rowspan:$_.bottom-$_.top}),eme.size){const rme=tme+1+nme.content.size,ime=isEmpty(nme)?tme+1:rme;$P.replaceWith(ime+$_.tableStart,rme+$_.tableStart,eme)}$P.setSelection(new CellSelection($P.doc.resolve(tme+$_.tableStart))),kh($P)}return!0}function splitCell(Ff,kh){const x_=tableNodeTypes(Ff.schema);return splitCellWithType(({node:$_})=>x_[$_.type.spec.tableRole])(Ff,kh)}function splitCellWithType(Ff){return(kh,x_)=>{var $_;const B_=kh.selection;let $P,zP;if(B_ instanceof CellSelection){if(B_.$anchorCell.pos!=B_.$headCell.pos)return!1;$P=B_.$anchorCell.nodeAfter,zP=B_.$anchorCell.pos}else{if($P=cellWrapping(B_.$from),!$P)return!1;zP=($_=cellAround(B_.$from))==null?void 0:$_.pos}if($P==null||zP==null||$P.attrs.colspan==1&&$P.attrs.rowspan==1)return!1;if(x_){let eme=$P.attrs;const tme=[],nme=eme.colwidth;eme.rowspan>1&&(eme={...eme,rowspan:1}),eme.colspan>1&&(eme={...eme,colspan:1});const rme=selectedRect(kh),ime=kh.tr;for(let sme=0;sme<rme.right-rme.left;sme++)tme.push(nme?{...eme,colwidth:nme&&nme[sme]?[nme[sme]]:null}:eme);let ome;for(let sme=rme.top;sme<rme.bottom;sme++){let ume=rme.map.positionAt(sme,rme.left,rme.table);sme==rme.top&&(ume+=$P.nodeSize);for(let cme=rme.left,ame=0;cme<rme.right;cme++,ame++)cme==rme.left&&sme==rme.top||ime.insert(ome=ime.mapping.map(ume+rme.tableStart,1),Ff({node:$P,row:sme,col:cme}).createAndFill(tme[ame]))}ime.setNodeMarkup(zP,Ff({node:$P,row:rme.top,col:rme.left}),tme[0]),B_ instanceof CellSelection&&ime.setSelection(new CellSelection(ime.doc.resolve(B_.$anchorCell.pos),ome?ime.doc.resolve(ome):void 0)),x_(ime)}return!0}}function setCellAttr(Ff,kh){return function(x_,$_){if(!isInTable(x_))return!1;const B_=selectionCell(x_);if(B_.nodeAfter.attrs[Ff]===kh)return!1;if($_){const $P=x_.tr;x_.selection instanceof CellSelection?x_.selection.forEachCell((zP,eme)=>{zP.attrs[Ff]!==kh&&$P.setNodeMarkup(eme,null,{...zP.attrs,[Ff]:kh})}):$P.setNodeMarkup(B_.pos,null,{...B_.nodeAfter.attrs,[Ff]:kh}),$_($P)}return!0}}function deprecated_toggleHeader(Ff){return function(kh,x_){if(!isInTable(kh))return!1;if(x_){const $_=tableNodeTypes(kh.schema),B_=selectedRect(kh),$P=kh.tr,zP=B_.map.cellsInRect(Ff=="column"?{left:B_.left,top:0,right:B_.right,bottom:B_.map.height}:Ff=="row"?{left:0,top:B_.top,right:B_.map.width,bottom:B_.bottom}:B_),eme=zP.map(tme=>B_.table.nodeAt(tme));for(let tme=0;tme<zP.length;tme++)eme[tme].type==$_.header_cell&&$P.setNodeMarkup(B_.tableStart+zP[tme],$_.cell,eme[tme].attrs);if($P.steps.length==0)for(let tme=0;tme<zP.length;tme++)$P.setNodeMarkup(B_.tableStart+zP[tme],$_.header_cell,eme[tme].attrs);x_($P)}return!0}}function isHeaderEnabledByType(Ff,kh,x_){const $_=kh.map.cellsInRect({left:0,top:0,right:Ff=="row"?kh.map.width:1,bottom:Ff=="column"?kh.map.height:1});for(let B_=0;B_<$_.length;B_++){const $P=kh.table.nodeAt($_[B_]);if($P&&$P.type!==x_.header_cell)return!1}return!0}function toggleHeader(Ff,kh){return kh=kh||{useDeprecatedLogic:!1},kh.useDeprecatedLogic?deprecated_toggleHeader(Ff):function(x_,$_){if(!isInTable(x_))return!1;if($_){const B_=tableNodeTypes(x_.schema),$P=selectedRect(x_),zP=x_.tr,eme=isHeaderEnabledByType("row",$P,B_),tme=isHeaderEnabledByType("column",$P,B_),rme=(Ff==="column"?eme:Ff==="row"?tme:!1)?1:0,ime=Ff=="column"?{left:0,top:rme,right:1,bottom:$P.map.height}:Ff=="row"?{left:rme,top:0,right:$P.map.width,bottom:1}:$P,ome=Ff=="column"?tme?B_.cell:B_.header_cell:Ff=="row"?eme?B_.cell:B_.header_cell:B_.cell;$P.map.cellsInRect(ime).forEach(sme=>{const ume=sme+$P.tableStart,cme=zP.doc.nodeAt(ume);cme&&zP.setNodeMarkup(ume,ome,cme.attrs)}),$_(zP)}return!0}}toggleHeader("row",{useDeprecatedLogic:!0}),toggleHeader("column",{useDeprecatedLogic:!0});var toggleHeaderCell=toggleHeader("cell",{useDeprecatedLogic:!0});function findNextCell(Ff,kh){if(kh<0){const x_=Ff.nodeBefore;if(x_)return Ff.pos-x_.nodeSize;for(let $_=Ff.index(-1)-1,B_=Ff.before();$_>=0;$_--){const $P=Ff.node(-1).child($_),zP=$P.lastChild;if(zP)return B_-1-zP.nodeSize;B_-=$P.nodeSize}}else{if(Ff.index()<Ff.parent.childCount-1)return Ff.pos+Ff.nodeAfter.nodeSize;const x_=Ff.node(-1);for(let $_=Ff.indexAfter(-1),B_=Ff.after();$_<x_.childCount;$_++){const $P=x_.child($_);if($P.childCount)return B_+1;B_+=$P.nodeSize}}return null}function goToNextCell(Ff){return function(kh,x_){if(!isInTable(kh))return!1;const $_=findNextCell(selectionCell(kh),Ff);if($_==null)return!1;if(x_){const B_=kh.doc.resolve($_);x_(kh.tr.setSelection(TextSelection.between(B_,moveCellForward(B_))).scrollIntoView())}return!0}}function deleteTable(Ff,kh){const x_=Ff.selection.$anchor;for(let $_=x_.depth;$_>0;$_--)if(x_.node($_).type.spec.tableRole=="table")return kh&&kh(Ff.tr.delete(x_.before($_),x_.after($_)).scrollIntoView()),!0;return!1}function tableEditing({allowTableNodeSelection:Ff=!1}={}){return new Plugin({key:tableEditingKey,state:{init(){return null},apply(kh,x_){const $_=kh.getMeta(tableEditingKey);if($_!=null)return $_==-1?null:$_;if(x_==null||!kh.docChanged)return x_;const{deleted:B_,pos:$P}=kh.mapping.mapResult(x_);return B_?null:$P}},props:{decorations:drawCellSelection,handleDOMEvents:{mousedown:handleMouseDown},createSelectionBetween(kh){return tableEditingKey.getState(kh.state)!=null?kh.state.selection:null},handleTripleClick,handleKeyDown,handlePaste},appendTransaction(kh,x_,$_){return normalizeSelection($_,fixTables($_,x_),Ff)}})}function updateColumns(Ff,kh,x_,$_,B_,$P){let zP=0,eme=!0,tme=kh.firstChild;const nme=Ff.firstChild;for(let rme=0,ime=0;rme<nme.childCount;rme+=1){const{colspan:ome,colwidth:sme}=nme.child(rme).attrs;for(let ume=0;ume<ome;ume+=1,ime+=1){const cme=B_===ime?$P:sme&&sme[ume],ame=cme?`${cme}px`:"";zP+=cme||$_,cme||(eme=!1),tme?(tme.style.width!==ame&&(tme.style.width=ame),tme=tme.nextSibling):kh.appendChild(document.createElement("col")).style.width=ame}}for(;tme;){const rme=tme.nextSibling;tme.parentNode.removeChild(tme),tme=rme}eme?(x_.style.width=`${zP}px`,x_.style.minWidth=""):(x_.style.width="",x_.style.minWidth=`${zP}px`)}class TableView{constructor(kh,x_){this.node=kh,this.cellMinWidth=x_,this.dom=document.createElement("div"),this.dom.className="tableWrapper",this.table=this.dom.appendChild(document.createElement("table")),this.colgroup=this.table.appendChild(document.createElement("colgroup")),updateColumns(kh,this.colgroup,this.table,x_),this.contentDOM=this.table.appendChild(document.createElement("tbody"))}update(kh){return kh.type!==this.node.type?!1:(this.node=kh,updateColumns(kh,this.colgroup,this.table,this.cellMinWidth),!0)}ignoreMutation(kh){return kh.type==="attributes"&&(kh.target===this.table||this.colgroup.contains(kh.target))}}function createColGroup(Ff,kh,x_,$_){let B_=0,$P=!0;const zP=[],eme=Ff.firstChild;if(!eme)return{};for(let ime=0,ome=0;ime<eme.childCount;ime+=1){const{colspan:sme,colwidth:ume}=eme.child(ime).attrs;for(let cme=0;cme<sme;cme+=1,ome+=1){const ame=x_===ome?$_:ume&&ume[cme],lme=ame?`${ame}px`:"";B_+=ame||kh,ame||($P=!1),zP.push(["col",lme?{style:`width: ${lme}`}:{}])}}const tme=$P?`${B_}px`:"",nme=$P?"":`${B_}px`;return{colgroup:["colgroup",{},...zP],tableWidth:tme,tableMinWidth:nme}}function createCell(Ff,kh){return kh?Ff.createChecked(null,kh):Ff.createAndFill()}function getTableNodeTypes(Ff){if(Ff.cached.tableNodeTypes)return Ff.cached.tableNodeTypes;const kh={};return Object.keys(Ff.nodes).forEach(x_=>{const $_=Ff.nodes[x_];$_.spec.tableRole&&(kh[$_.spec.tableRole]=$_)}),Ff.cached.tableNodeTypes=kh,kh}function createTable(Ff,kh,x_,$_,B_){const $P=getTableNodeTypes(Ff),zP=[],eme=[];for(let nme=0;nme<x_;nme+=1){const rme=createCell($P.cell,B_);if(rme&&eme.push(rme),$_){const ime=createCell($P.header_cell,B_);ime&&zP.push(ime)}}const tme=[];for(let nme=0;nme<kh;nme+=1)tme.push($P.row.createChecked(null,$_&&nme===0?zP:eme));return $P.table.createChecked(null,tme)}function isCellSelection(Ff){return Ff instanceof CellSelection}const deleteTableWhenAllCellsSelected=({editor:Ff})=>{const{selection:kh}=Ff.state;if(!isCellSelection(kh))return!1;let x_=0;const $_=findParentNodeClosestToPos(kh.ranges[0].$from,$P=>$P.type.name==="table");return $_==null||$_.node.descendants($P=>{if($P.type.name==="table")return!1;["tableCell","tableHeader"].includes($P.type.name)&&(x_+=1)}),x_===kh.ranges.length?(Ff.commands.deleteTable(),!0):!1},Table$1=Node$1.create({name:"table",addOptions(){return{HTMLAttributes:{},resizable:!1,handleWidth:5,cellMinWidth:25,View:TableView,lastColumnResizable:!0,allowTableNodeSelection:!1}},content:"tableRow+",tableRole:"table",isolating:!0,group:"block",parseHTML(){return[{tag:"table"}]},renderHTML({node:Ff,HTMLAttributes:kh}){const{colgroup:x_,tableWidth:$_,tableMinWidth:B_}=createColGroup(Ff,this.options.cellMinWidth);return["table",mergeAttributes(this.options.HTMLAttributes,kh,{style:$_?`width: ${$_}`:`minWidth: ${B_}`}),x_,["tbody",0]]},addCommands(){return{insertTable:({rows:Ff=3,cols:kh=3,withHeaderRow:x_=!0}={})=>({tr:$_,dispatch:B_,editor:$P})=>{const zP=createTable($P.schema,Ff,kh,x_);if(B_){const eme=$_.selection.anchor+1;$_.replaceSelectionWith(zP).scrollIntoView().setSelection(TextSelection.near($_.doc.resolve(eme)))}return!0},addColumnBefore:()=>({state:Ff,dispatch:kh})=>addColumnBefore(Ff,kh),addColumnAfter:()=>({state:Ff,dispatch:kh})=>addColumnAfter(Ff,kh),deleteColumn:()=>({state:Ff,dispatch:kh})=>deleteColumn(Ff,kh),addRowBefore:()=>({state:Ff,dispatch:kh})=>addRowBefore(Ff,kh),addRowAfter:()=>({state:Ff,dispatch:kh})=>addRowAfter(Ff,kh),deleteRow:()=>({state:Ff,dispatch:kh})=>deleteRow(Ff,kh),deleteTable:()=>({state:Ff,dispatch:kh})=>deleteTable(Ff,kh),mergeCells:()=>({state:Ff,dispatch:kh})=>mergeCells(Ff,kh),splitCell:()=>({state:Ff,dispatch:kh})=>splitCell(Ff,kh),toggleHeaderColumn:()=>({state:Ff,dispatch:kh})=>toggleHeader("column")(Ff,kh),toggleHeaderRow:()=>({state:Ff,dispatch:kh})=>toggleHeader("row")(Ff,kh),toggleHeaderCell:()=>({state:Ff,dispatch:kh})=>toggleHeaderCell(Ff,kh),mergeOrSplit:()=>({state:Ff,dispatch:kh})=>mergeCells(Ff,kh)?!0:splitCell(Ff,kh),setCellAttribute:(Ff,kh)=>({state:x_,dispatch:$_})=>setCellAttr(Ff,kh)(x_,$_),goToNextCell:()=>({state:Ff,dispatch:kh})=>goToNextCell(1)(Ff,kh),goToPreviousCell:()=>({state:Ff,dispatch:kh})=>goToNextCell(-1)(Ff,kh),fixTables:()=>({state:Ff,dispatch:kh})=>(kh&&fixTables(Ff),!0),setCellSelection:Ff=>({tr:kh,dispatch:x_})=>{if(x_){const $_=CellSelection.create(kh.doc,Ff.anchorCell,Ff.headCell);kh.setSelection($_)}return!0}}},addKeyboardShortcuts(){return{Tab:()=>this.editor.commands.goToNextCell()?!0:this.editor.can().addRowAfter()?this.editor.chain().addRowAfter().goToNextCell().run():!1,"Shift-Tab":()=>this.editor.commands.goToPreviousCell(),Backspace:deleteTableWhenAllCellsSelected,"Mod-Backspace":deleteTableWhenAllCellsSelected,Delete:deleteTableWhenAllCellsSelected,"Mod-Delete":deleteTableWhenAllCellsSelected}},addProseMirrorPlugins(){return[...this.options.resizable&&this.editor.isEditable?[columnResizing({handleWidth:this.options.handleWidth,cellMinWidth:this.options.cellMinWidth,View:this.options.View,lastColumnResizable:this.options.lastColumnResizable})]:[],tableEditing({allowTableNodeSelection:this.options.allowTableNodeSelection})]},extendNodeSchema(Ff){const kh={name:Ff.name,options:Ff.options,storage:Ff.storage};return{tableRole:callOrReturn(getExtensionField(Ff,"tableRole",kh))}}}),Table=Table$1.extend({parseHTML(){return[{tag:"div",getAttrs(Ff){return Ff instanceof HTMLElement&&(Ff!=null&&Ff.classList.contains("tableWrapper"))?{}:!1}}]}}),{BubbleMenu,BubbleMenuView}=bubbleModules;let Editor=(Ff,kh)=>{var Kme,Ume;const{showTitle:x_=!0,showCatalogue:$_=!0,editable:B_=!0,apiUrl:$P="https://openapi-test.oscollege.net",wsUrl:zP,templateInfo:eme,markdownText:tme,setHeader:nme,title:rme,titleOnChange:ime,titleEditable:ome=!0,onExec:sme,onBack:ume}=Ff,[cme,ame]=React.useState(""),[lme,dme]=React.useState(),[fme,hme]=React.useState(),pme=useEditor({content:{type:"document",content:[{type:"title",content:rme?[{type:"text",text:rme}]:[]},{type:"paragraph"}]},extensions:[HardBreak,HorizontalRule,BulletList,OrderedList,ListItem$2,Table.configure({resizable:!0}),TableRow,TableHeader,TableCell,Blockquote,Heading,Document$3,Title.configure({onChange:qme=>{ime==null||ime(qme)},titleEditable:ome}),Paragraph,Text$1,Code.configure({HTMLAttributes:{class:"inline-code"}}),Bold,Italic,Strike,Underline,Subscript,Superscript,Placeholder,TextStyle$2,History,Link.configure({openOnClick:!0}),Color.configure({types:["textStyle"]}),TextAlign.configure({types:["title","heading","paragraph","image"]}),BubbleMenu.configure({component:BubbleMenuView}),FloatingMenu,Image$1.configure({oss:$P}),CodeBlockLowlight.configure({lowlight,onExec:qme=>{sme==null||sme(qme)}}),Question.extend({addNodeView(){return ReactNodeViewRenderer(QuestionView)}}).configure({xternUrl:cme}),PdfView.extend({addNodeView(){return ReactNodeViewRenderer(PdfViewShow)}}),Slash,Fragment]},[]),[gme,vme]=React.useState(!0),[mme,yme]=React.useState(!1),[bme,_me]=React.useState(!0),[Cme,Ame]=React.useState(),[Rme,Ime]=React.useState(!1),[Pme,Ome]=React.useState(void 0),[Sme,Nme]=React.useState(void 0),[Eme,Mme]=React.useState(!0),[Fme,xme]=React.useState(),[Tme,kme]=React.useState(),Dme=React.useCallback(qme=>unified().use(remarkParse).use(remarkGfm).use(remarkCode).parse(qme),[]),wme=React.useCallback(qme=>unified().use(remarkParse).use(remarkGfm).use(remarkCode).use(remarkStringify).stringify(qme),[]),Lme=()=>{try{Cme&&(Cme==null?void 0:Cme.readyState)===1&&(Cme==null||Cme.close());const qme=new WebSocket(zP);Ame(qme),Ime(!1),qme.onmessage=function(r0e){const{data:Xme}=r0e;try{const E0e=JSON.parse(Xme),i0e=E0e==null?void 0:E0e.type,c0e=E0e==null?void 0:E0e.data;if(i0e==="read")if(c0e)try{const _0e=base64ToText$1(c0e);dme(_0e);const u0e=Dme(_0e);console.log(u0e);const Qme=toEditorJSON(u0e);Ome(Qme)}catch{$me()}else Ome("")}catch(E0e){console.log(E0e)}},qme.onclose=function(r0e){const Xme=r0e.code;Xme<3e3&&Xme!==1005&&Ime(!0)}}catch(qme){console.log(qme)}},$me=()=>{Modal.confirm({title:"切换失败!",icon:jsxRuntimeExports.jsx(ExclamationCircleFilled$1,{}),content:"因数据格式存在不兼容问题,本次切换失败,若选择留在当前编辑器,数据将会丢失,请谨慎操作。",cancelText:"留在当前",okText:"返回原编辑器",onOk(){ume==null||ume()},onCancel(){Ome("")}})};React.useEffect(()=>{var qme,r0e,Xme,E0e,i0e;if(tme&&nme)if((r0e=(qme=pme==null?void 0:pme.view)==null?void 0:qme.docView)!=null&&r0e.children){const c0e=(E0e=(Xme=pme==null?void 0:pme.view)==null?void 0:Xme.docView)==null?void 0:E0e.children;if(!c0e){nme([]);return}const _0e=(i0e=c0e==null?void 0:c0e.filter(u0e=>{var Qme,s0e;return((s0e=(Qme=u0e==null?void 0:u0e.node)==null?void 0:Qme.type)==null?void 0:s0e.name)==="heading"}))==null?void 0:i0e.map(u0e=>{var Qme,s0e,o0e,y0e;return{from:u0e==null?void 0:u0e.posAtStart,to:u0e==null?void 0:u0e.posAtEnd,text:(Qme=u0e==null?void 0:u0e.node)==null?void 0:Qme.textContent,level:(o0e=(s0e=u0e==null?void 0:u0e.node)==null?void 0:s0e.attrs)==null?void 0:o0e.level,id:(y0e=u0e==null?void 0:u0e.nodeDOM)==null?void 0:y0e.id}});nme(_0e)}else nme([])},[(Ume=(Kme=pme==null?void 0:pme.view)==null?void 0:Kme.docView)==null?void 0:Ume.children,tme]),React.useEffect(()=>{if(Rme){const qme=setTimeout(()=>{clearTimeout(qme),Lme()},1e3)}},[Rme]),React.useEffect(()=>()=>{Cme&&(Cme==null?void 0:Cme.readyState)===1&&(Cme==null||Cme.close())},[Cme]),React.useEffect(()=>(zP&&(Ome(void 0),Mme(!0),Lme()),()=>{Mme(!0),yme(!1)}),[zP]);const Bme=React.useCallback(()=>{Nme(pme==null?void 0:pme.getJSON())},[pme]);React.useEffect(()=>{if(Sme!==void 0){Fme&&clearTimeout(Fme);const qme=setTimeout(()=>{var i0e;let r0e=Sme;r0e={...r0e,content:(i0e=r0e==null?void 0:r0e.content)==null?void 0:i0e.filter(c0e=>(c0e==null?void 0:c0e.type)!=="title")};const Xme=toMarkdownJson(r0e),E0e=wme(Xme);if(dme(E0e),(Cme==null?void 0:Cme.readyState)===1){const c0e=E0e?textToBase64(E0e):"";Cme==null||Cme.send(JSON.stringify({type:"write",data:c0e}))}clearTimeout(qme),xme("")},500);xme(qme)}},[Sme]),React.useEffect(()=>(pme&&!Eme&&(pme==null||pme.on("update",Bme)),()=>{pme&&(pme==null||pme.off("update",Bme))}),[pme,Eme]),React.useEffect(()=>{if(pme&&Pme!==void 0&&Eme){if(x_){const qme={type:"title",content:rme?[{type:"text",text:rme}]:[]},r0e=Pme?{...Pme,content:Pme!=null&&Pme.content?[qme,...Pme.content]:[qme]}:{type:"document",content:[qme]};pme.commands.setContent(r0e)}else pme.commands.setContent(Pme);Mme(!1),yme(!0)}},[Pme,pme,Eme,rme,x_]),React.useEffect(()=>{pme&&pme.setEditable(B_)},[pme,B_]);const jme=React.useRef(null);React.useEffect(()=>{const qme=new ResizeObserver(r0e=>{for(const Xme of r0e)Xme.contentRect.width<700?_me(!1):_me(!0)});return jme!=null&&jme.current&&qme.observe(jme==null?void 0:jme.current),()=>{jme!=null&&jme.current&&qme.unobserve(jme==null?void 0:jme.current)}},[]),React.useEffect(()=>{const qme=r0e=>{var Xme,E0e,i0e;if(((Xme=r0e==null?void 0:r0e.data)==null?void 0:Xme.type)==="sectionChange"){const c0e=(i0e=(E0e=r0e==null?void 0:r0e.data)==null?void 0:E0e.value)==null?void 0:i0e.template;c0e!=null&&c0e.experEnv?kme(c0e):kme("")}};return window.addEventListener("message",qme),()=>{window.removeEventListener("message",qme)}},[pme]),React.useEffect(()=>{eme!=null&&eme.experEnv?kme(eme):kme("")},[eme]);const Vme=qme=>{const r0e=qme==null?void 0:qme.target;r0e.classList.contains("exec-btn")&&(console.log(r0e),sme&&(sme==null||sme(r0e.getAttribute("data-value")??"")))};return React.useEffect(()=>{if(tme){const qme=Dme(tme),r0e=toEditorJSON(qme);Ome(r0e)}},[tme]),React.useEffect(()=>(window.addEventListener("click",Vme),()=>{window.removeEventListener("click",Vme)}),[pme]),React.useImperativeHandle(kh,()=>({editor:pme,update:()=>{const qme=setTimeout(()=>{var r0e;(r0e=pme==null?void 0:pme.commands)==null||r0e.clearContent(),Mme(!0),yme(!1),clearTimeout(qme)},500)},changeXternUrl:qme=>{qme&&ame(qme)},addActive:qme=>{var r0e,Xme,E0e,i0e;qme!=null&&qme.id&&((i0e=(E0e=(Xme=(r0e=pme==null?void 0:pme.chain())==null?void 0:r0e.focus(qme==null?void 0:qme.pos))==null?void 0:Xme.setQuestion({id:JSON.stringify({id:qme==null?void 0:qme.id}),language:qme==null?void 0:qme.language}))==null?void 0:E0e.hideTip())==null||i0e.run())},getMdText:()=>lme,setTitle:qme=>{const r0e=pme==null?void 0:pme.view.state.doc.content.child(0);pme==null||pme.view.dispatch(pme==null?void 0:pme.view.state.tr.insertText(qme,1,r0e==null?void 0:r0e.nodeSize))},changeMdTest:qme=>{console.log(qme,fme);const r0e=[];fme==null||fme.children.forEach(i0e=>{((i0e==null?void 0:i0e.props)!=="active"||(i0e==null?void 0:i0e.value)!==qme[0].value)&&r0e.push(i0e)}),fme.children=r0e;const Xme=wme(fme);if(dme(Xme),(Cme==null?void 0:Cme.readyState)===1){const i0e=Xme?textToBase64(Xme):"";Cme==null||Cme.send(JSON.stringify({type:"write",data:i0e}))}const E0e=setTimeout(()=>{var i0e;(i0e=pme==null?void 0:pme.commands)==null||i0e.clearContent(),Mme(!0),clearTimeout(E0e)},500)}})),jsxRuntimeExports.jsx(shareData.Provider,{value:{editor:pme,template:Tme,apiUrl:$P},children:jsxRuntimeExports.jsxs("div",{className:"ylz-editor",ref:jme,children:[jsxRuntimeExports.jsx("div",{id:"ylz-editor-container",className:`ylz-editor-container${!$_||bme===!1||!gme?" ylz-editor-container-max":""}${B_?"":" ylz-editor-container-read"}`,children:jsxRuntimeExports.jsx(EditorContent,{editor:pme})}),$_&&jsxRuntimeExports.jsx(Catalogue,{editor:pme,isUpdate:mme,canOpenCatalogue:bme,onChangeVisible:qme=>vme(qme)})]})})};Editor=React.forwardRef(Editor),Editor=React.memo(Editor);const Editor$1=Editor;return Editor$1});
677
+ Valid keys: `+JSON.stringify(Object.keys(Eme),null," "));var Vme=jme(wme,Bme,Tme,kme,Dme+"."+Bme,x_);if(Vme)return Vme}return null}return ame(Mme)}function Rme(Eme){switch(typeof Eme){case"number":case"string":case"undefined":return!0;case"boolean":return!Eme;case"object":if(Array.isArray(Eme))return Eme.every(Rme);if(Eme===null||eme(Eme))return!0;var Mme=ime(Eme);if(Mme){var Fme=Mme.call(Eme),xme;if(Mme!==Eme.entries){for(;!(xme=Fme.next()).done;)if(!Rme(xme.value))return!1}else for(;!(xme=Fme.next()).done;){var Tme=xme.value;if(Tme&&!Rme(Tme[1]))return!1}}else return!1;return!0;default:return!1}}function Ime(Eme,Mme){return Eme==="symbol"?!0:Mme?Mme["@@toStringTag"]==="Symbol"||typeof Symbol=="function"&&Mme instanceof Symbol:!1}function Pme(Eme){var Mme=typeof Eme;return Array.isArray(Eme)?"array":Eme instanceof RegExp?"object":Ime(Mme,Eme)?"symbol":Mme}function Ome(Eme){if(typeof Eme>"u"||Eme===null)return""+Eme;var Mme=Pme(Eme);if(Mme==="object"){if(Eme instanceof Date)return"date";if(Eme instanceof RegExp)return"regexp"}return Mme}function Sme(Eme){var Mme=Ome(Eme);switch(Mme){case"array":case"object":return"an "+Mme;case"boolean":case"date":case"regexp":return"a "+Mme;default:return Mme}}function Nme(Eme){return!Eme.constructor||!Eme.constructor.name?ome:Eme.constructor.name}return sme.checkPropTypes=B_,sme.resetWarningCache=B_.resetWarningCache,sme.PropTypes=sme,sme},factoryWithTypeCheckers}var factoryWithThrowingShims,hasRequiredFactoryWithThrowingShims;function requireFactoryWithThrowingShims(){if(hasRequiredFactoryWithThrowingShims)return factoryWithThrowingShims;hasRequiredFactoryWithThrowingShims=1;var Ff=requireReactPropTypesSecret();function kh(){}function x_(){}return x_.resetWarningCache=kh,factoryWithThrowingShims=function(){function $_(zP,eme,tme,nme,rme,ime){if(ime!==Ff){var ome=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw ome.name="Invariant Violation",ome}}$_.isRequired=$_;function B_(){return $_}var $P={array:$_,bigint:$_,bool:$_,func:$_,number:$_,object:$_,string:$_,symbol:$_,any:$_,arrayOf:B_,element:$_,elementType:$_,instanceOf:B_,node:$_,objectOf:B_,oneOf:B_,oneOfType:B_,shape:B_,exact:B_,checkPropTypes:x_,resetWarningCache:kh};return $P.PropTypes=$P,$P},factoryWithThrowingShims}if(process.env.NODE_ENV!=="production"){var ReactIs=requireReactIs(),throwOnDirectAccess=!0;propTypes.exports=requireFactoryWithTypeCheckers()(ReactIs.isElement,throwOnDirectAccess)}else propTypes.exports=requireFactoryWithThrowingShims()();var propTypesExports=propTypes.exports;const PropTypes=getDefaultExportFromCjs(propTypesExports);var __spreadArray=function(Ff,kh,x_){if(x_||arguments.length===2)for(var $_=0,B_=kh.length,$P;$_<B_;$_++)($P||!($_ in kh))&&($P||($P=Array.prototype.slice.call(kh,0,$_)),$P[$_]=kh[$_]);return Ff.concat($P||Array.prototype.slice.call(kh))},clipboardEvents=["onCopy","onCut","onPaste"],compositionEvents=["onCompositionEnd","onCompositionStart","onCompositionUpdate"],focusEvents=["onFocus","onBlur"],formEvents=["onInput","onInvalid","onReset","onSubmit"],imageEvents=["onLoad","onError"],keyboardEvents=["onKeyDown","onKeyPress","onKeyUp"],mediaEvents=["onAbort","onCanPlay","onCanPlayThrough","onDurationChange","onEmptied","onEncrypted","onEnded","onError","onLoadedData","onLoadedMetadata","onLoadStart","onPause","onPlay","onPlaying","onProgress","onRateChange","onSeeked","onSeeking","onStalled","onSuspend","onTimeUpdate","onVolumeChange","onWaiting"],mouseEvents=["onClick","onContextMenu","onDoubleClick","onMouseDown","onMouseEnter","onMouseLeave","onMouseMove","onMouseOut","onMouseOver","onMouseUp"],dragEvents=["onDrag","onDragEnd","onDragEnter","onDragExit","onDragLeave","onDragOver","onDragStart","onDrop"],selectionEvents=["onSelect"],touchEvents=["onTouchCancel","onTouchEnd","onTouchMove","onTouchStart"],pointerEvents=["onPointerDown","onPointerMove","onPointerUp","onPointerCancel","onGotPointerCapture","onLostPointerCapture","onPointerEnter","onPointerLeave","onPointerOver","onPointerOut"],uiEvents=["onScroll"],wheelEvents=["onWheel"],animationEvents=["onAnimationStart","onAnimationEnd","onAnimationIteration"],transitionEvents=["onTransitionEnd"],otherEvents=["onToggle"],changeEvents=["onChange"],allEvents=__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray([],clipboardEvents,!0),compositionEvents,!0),focusEvents,!0),formEvents,!0),imageEvents,!0),keyboardEvents,!0),mediaEvents,!0),mouseEvents,!0),dragEvents,!0),selectionEvents,!0),touchEvents,!0),pointerEvents,!0),uiEvents,!0),wheelEvents,!0),animationEvents,!0),transitionEvents,!0),changeEvents,!0),otherEvents,!0);function makeEventProps(Ff,kh){var x_={};return allEvents.forEach(function($_){var B_=Ff[$_];B_&&(kh?x_[$_]=function($P){return B_($P,kh($_))}:x_[$_]=B_)}),x_}function makeCancellablePromise(Ff){var kh=!1,x_=new Promise(function($_,B_){Ff.then(function($P){return!kh&&$_($P)}).catch(function($P){return!kh&&B_($P)})});return{promise:x_,cancel:function(){kh=!0}}}function r(Ff){var kh,x_,$_="";if(typeof Ff=="string"||typeof Ff=="number")$_+=Ff;else if(typeof Ff=="object")if(Array.isArray(Ff)){var B_=Ff.length;for(kh=0;kh<B_;kh++)Ff[kh]&&(x_=r(Ff[kh]))&&($_&&($_+=" "),$_+=x_)}else for(x_ in Ff)Ff[x_]&&($_&&($_+=" "),$_+=x_);return $_}function clsx(){for(var Ff,kh,x_=0,$_="",B_=arguments.length;x_<B_;x_++)(Ff=arguments[x_])&&(kh=r(Ff))&&($_&&($_+=" "),$_+=kh);return $_}var isProduction$1=process.env.NODE_ENV==="production",prefix="Invariant failed";function invariant(Ff,kh){if(!Ff){if(isProduction$1)throw new Error(prefix);var x_=typeof kh=="function"?kh():kh,$_=x_?"".concat(prefix,": ").concat(x_):prefix;throw new Error($_)}}var isProduction=process.env.NODE_ENV==="production";function warning(Ff,kh){if(!isProduction){if(Ff)return;var x_="Warning: "+kh;typeof console<"u"&&console.warn(x_);try{throw Error(x_)}catch{}}}const DocumentContext=React.createContext(null);function Message({children:Ff,type:kh}){return React.createElement("div",{className:`react-pdf__message react-pdf__message--${kh}`},Ff)}const DEFAULT_LINK_REL="noopener noreferrer nofollow";class LinkService{constructor(){this.externalLinkEnabled=!0,this.externalLinkRel=void 0,this.externalLinkTarget=void 0,this.isInPresentationMode=!1,this.pdfDocument=void 0,this.pdfViewer=void 0}setDocument(kh){this.pdfDocument=kh}setViewer(kh){this.pdfViewer=kh}setExternalLinkRel(kh){this.externalLinkRel=kh}setExternalLinkTarget(kh){this.externalLinkTarget=kh}setHistory(){}get pagesCount(){return this.pdfDocument?this.pdfDocument.numPages:0}get page(){return invariant(this.pdfViewer,"PDF viewer is not initialized."),this.pdfViewer.currentPageNumber||0}set page(kh){invariant(this.pdfViewer,"PDF viewer is not initialized."),this.pdfViewer.currentPageNumber=kh}get rotation(){return 0}set rotation(kh){}goToDestination(kh){return new Promise(x_=>{invariant(this.pdfDocument,"PDF document not loaded."),invariant(kh,"Destination is not specified."),typeof kh=="string"?this.pdfDocument.getDestination(kh).then(x_):Array.isArray(kh)?x_(kh):kh.then(x_)}).then(x_=>{invariant(Array.isArray(x_),`"${x_}" is not a valid destination array.`);const $_=x_[0];new Promise(B_=>{invariant(this.pdfDocument,"PDF document not loaded."),$_ instanceof Object?this.pdfDocument.getPageIndex($_).then($P=>{B_($P)}).catch(()=>{invariant(!1,`"${$_}" is not a valid page reference.`)}):typeof $_=="number"?B_($_):invariant(!1,`"${$_}" is not a valid destination reference.`)}).then(B_=>{const $P=B_+1;invariant(this.pdfViewer,"PDF viewer is not initialized."),invariant($P>=1&&$P<=this.pagesCount,`"${$P}" is not a valid page number.`),this.pdfViewer.scrollPageIntoView({dest:x_,pageIndex:B_,pageNumber:$P})})})}navigateTo(kh){this.goToDestination(kh)}goToPage(kh){const x_=kh-1;invariant(this.pdfViewer,"PDF viewer is not initialized."),invariant(kh>=1&&kh<=this.pagesCount,`"${kh}" is not a valid page number.`),this.pdfViewer.scrollPageIntoView({pageIndex:x_,pageNumber:kh})}addLinkAttributes(kh,x_,$_){kh.href=x_,kh.rel=this.externalLinkRel||DEFAULT_LINK_REL,kh.target=$_?"_blank":this.externalLinkTarget||""}getDestinationHash(){return"#"}getAnchorUrl(){return"#"}setHash(){}executeNamedAction(){}cachePageRef(){}isPageVisible(){return!0}isPageCached(){return!0}executeSetOCGState(){}}const PasswordResponses={NEED_PASSWORD:1,INCORRECT_PASSWORD:2},isBrowser=typeof document<"u",isLocalFileSystem=isBrowser&&window.location.protocol==="file:";function isDefined(Ff){return typeof Ff<"u"}function isProvided(Ff){return isDefined(Ff)&&Ff!==null}function isString(Ff){return typeof Ff=="string"}function isArrayBuffer(Ff){return Ff instanceof ArrayBuffer}function isBlob(Ff){return invariant(isBrowser,"isBlob can only be used in a browser environment"),Ff instanceof Blob}function isDataURI(Ff){return isString(Ff)&&/^data:/.test(Ff)}function dataURItoByteString(Ff){invariant(isDataURI(Ff),"Invalid data URI.");const[kh="",x_=""]=Ff.split(",");return kh.split(";").indexOf("base64")!==-1?atob(x_):unescape(x_)}function getDevicePixelRatio(){return isBrowser&&window.devicePixelRatio||1}const allowFileAccessFromFilesTip="On Chromium based browsers, you can use --allow-file-access-from-files flag for debugging purposes.";function displayCORSWarning(){warning(!isLocalFileSystem,`Loading PDF as base64 strings/URLs may not work on protocols other than HTTP/HTTPS. ${allowFileAccessFromFilesTip}`)}function displayWorkerWarning(){warning(!isLocalFileSystem,`Loading PDF.js worker may not work on protocols other than HTTP/HTTPS. ${allowFileAccessFromFilesTip}`)}function cancelRunningTask(Ff){Ff&&Ff.cancel&&Ff.cancel()}function makePageCallback(Ff,kh){return Object.defineProperty(Ff,"width",{get(){return this.view[2]*kh},configurable:!0}),Object.defineProperty(Ff,"height",{get(){return this.view[3]*kh},configurable:!0}),Object.defineProperty(Ff,"originalWidth",{get(){return this.view[2]},configurable:!0}),Object.defineProperty(Ff,"originalHeight",{get(){return this.view[3]},configurable:!0}),Ff}function isCancelException(Ff){return Ff.name==="RenderingCancelledException"}function loadFromFile(Ff){return new Promise((kh,x_)=>{const $_=new FileReader;$_.onload=()=>{if(!$_.result)return x_(new Error("Error while reading a file."));kh($_.result)},$_.onerror=B_=>{if(!B_.target)return x_(new Error("Error while reading a file."));const{error:$P}=B_.target;if(!$P)return x_(new Error("Error while reading a file."));switch($P.code){case $P.NOT_FOUND_ERR:return x_(new Error("Error while reading a file: File not found."));case $P.SECURITY_ERR:return x_(new Error("Error while reading a file: Security error."));case $P.ABORT_ERR:return x_(new Error("Error while reading a file: Aborted."));default:return x_(new Error("Error while reading a file."))}},$_.readAsArrayBuffer(Ff)})}function reducer(Ff,kh){switch(kh.type){case"RESOLVE":return{value:kh.value,error:void 0};case"REJECT":return{value:!1,error:kh.error};case"RESET":return{value:void 0,error:void 0};default:return Ff}}function useResolver(){return React.useReducer(reducer,{value:void 0,error:void 0})}const{PDFDataRangeTransport:PDFDataRangeTransport$1}=pdfjs,eventProps=(()=>{const Ff={};return allEvents.forEach(kh=>{Ff[kh]=PropTypes.func}),Ff})(),isTypedArray=PropTypes.oneOfType([PropTypes.instanceOf(Int8Array),PropTypes.instanceOf(Uint8Array),PropTypes.instanceOf(Uint8ClampedArray),PropTypes.instanceOf(Int16Array),PropTypes.instanceOf(Uint16Array),PropTypes.instanceOf(Int32Array),PropTypes.instanceOf(Uint32Array),PropTypes.instanceOf(Float32Array),PropTypes.instanceOf(Float64Array)]),fileTypes=[PropTypes.string,PropTypes.instanceOf(ArrayBuffer),PropTypes.shape({data:PropTypes.oneOfType([PropTypes.string,PropTypes.instanceOf(ArrayBuffer),PropTypes.arrayOf(PropTypes.number.isRequired),isTypedArray]).isRequired}),PropTypes.shape({range:PropTypes.instanceOf(PDFDataRangeTransport$1).isRequired}),PropTypes.shape({url:PropTypes.string.isRequired})];typeof Blob<"u"&&fileTypes.push(PropTypes.instanceOf(Blob));const isClassName=PropTypes.oneOfType([PropTypes.string,PropTypes.arrayOf(PropTypes.string)]),isFile=PropTypes.oneOfType(fileTypes);PropTypes.instanceOf(LinkService),PropTypes.oneOf(["_self","_blank","_parent","_top"]),PropTypes.shape({commonObjs:PropTypes.shape({}).isRequired,getAnnotations:PropTypes.func.isRequired,getTextContent:PropTypes.func.isRequired,getViewport:PropTypes.func.isRequired,render:PropTypes.func.isRequired});const isPageIndex=function Ff(kh,x_,$_){const{[x_]:B_,pageNumber:$P,pdf:zP}=kh;if(!isDefined(zP))return null;if(isDefined(B_)){if(typeof B_!="number")return new Error(`\`${x_}\` of type \`${typeof B_}\` supplied to \`${$_}\`, expected \`number\`.`);if(B_<0)return new Error(`Expected \`${x_}\` to be greater or equal to 0.`);const{numPages:eme}=zP;if(B_+1>eme)return new Error(`Expected \`${x_}\` to be less or equal to ${eme-1}.`)}else if(!isDefined($P))return new Error(`\`${x_}\` not supplied. Either pageIndex or pageNumber must be supplied to \`${$_}\`.`);return null},isPageNumber=function Ff(kh,x_,$_){const{[x_]:B_,pageIndex:$P,pdf:zP}=kh;if(!isDefined(zP))return null;if(isDefined(B_)){if(typeof B_!="number")return new Error(`\`${x_}\` of type \`${typeof B_}\` supplied to \`${$_}\`, expected \`number\`.`);if(B_<1)return new Error(`Expected \`${x_}\` to be greater or equal to 1.`);const{numPages:eme}=zP;if(B_>eme)return new Error(`Expected \`${x_}\` to be less or equal to ${eme}.`)}else if(!isDefined($P))return new Error(`\`${x_}\` not supplied. Either pageIndex or pageNumber must be supplied to \`${$_}\`.`);return null},isPdf=PropTypes.oneOfType([PropTypes.any,PropTypes.oneOf([!1])]),isRef=PropTypes.oneOfType([PropTypes.func,PropTypes.exact({current:PropTypes.any})]),isRenderMode=PropTypes.oneOf(["canvas","custom","none","svg"]),isRotate=PropTypes.oneOf([0,90,180,270]);var __awaiter=function(Ff,kh,x_,$_){function B_($P){return $P instanceof x_?$P:new x_(function(zP){zP($P)})}return new(x_||(x_=Promise))(function($P,zP){function eme(rme){try{nme($_.next(rme))}catch(ime){zP(ime)}}function tme(rme){try{nme($_.throw(rme))}catch(ime){zP(ime)}}function nme(rme){rme.done?$P(rme.value):B_(rme.value).then(eme,tme)}nme(($_=$_.apply(Ff,kh||[])).next())})},__rest$1=function(Ff,kh){var x_={};for(var $_ in Ff)Object.prototype.hasOwnProperty.call(Ff,$_)&&kh.indexOf($_)<0&&(x_[$_]=Ff[$_]);if(Ff!=null&&typeof Object.getOwnPropertySymbols=="function")for(var B_=0,$_=Object.getOwnPropertySymbols(Ff);B_<$_.length;B_++)kh.indexOf($_[B_])<0&&Object.prototype.propertyIsEnumerable.call(Ff,$_[B_])&&(x_[$_[B_]]=Ff[$_[B_]]);return x_};const{PDFDataRangeTransport}=pdfjs,defaultOnPassword=(Ff,kh)=>{switch(kh){case PasswordResponses.NEED_PASSWORD:{const x_=prompt("Enter the password to open this PDF file.");Ff(x_);break}case PasswordResponses.INCORRECT_PASSWORD:{const x_=prompt("Invalid password. Please try again.");Ff(x_);break}}},Document$1=React.forwardRef(function Ff(kh,x_){var{children:$_,className:B_,error:$P="Failed to load PDF file.",externalLinkRel:zP,externalLinkTarget:eme,file:tme,inputRef:nme,imageResourcesPath:rme,loading:ime="Loading PDF…",noData:ome="No PDF file specified.",onItemClick:sme,onLoadError:ume,onLoadProgress:cme,onLoadSuccess:ame,onPassword:lme=defaultOnPassword,onSourceError:dme,onSourceSuccess:fme,options:hme,renderMode:pme,rotate:gme}=kh,vme=__rest$1(kh,["children","className","error","externalLinkRel","externalLinkTarget","file","inputRef","imageResourcesPath","loading","noData","onItemClick","onLoadError","onLoadProgress","onLoadSuccess","onPassword","onSourceError","onSourceSuccess","options","renderMode","rotate"]);const[mme,yme]=useResolver(),{value:bme,error:_me}=mme,[Cme,Ame]=useResolver(),{value:Rme,error:Ime}=Cme,Pme=React.useRef(new LinkService),Ome=React.useRef([]),Sme=React.useRef({scrollPageIntoView:Ume=>{const{dest:qme,pageNumber:r0e,pageIndex:Xme=r0e-1}=Ume;if(sme){sme({dest:qme,pageIndex:Xme,pageNumber:r0e});return}const E0e=Ome.current[Xme];if(E0e){E0e.scrollIntoView();return}warning(!1,`An internal link leading to page ${r0e} was clicked, but neither <Document> was provided with onItemClick nor it was able to find the page within itself. Either provide onItemClick to <Document> and handle navigating by yourself or ensure that all pages are rendered within <Document>.`)}});React.useImperativeHandle(x_,()=>({linkService:Pme,pages:Ome,viewer:Sme}),[]);function Nme(){fme&&fme()}function Eme(){_me&&(warning(!1,_me.toString()),dme&&dme(_me))}function Mme(){yme({type:"RESET"})}React.useEffect(Mme,[tme,yme]);const Fme=React.useCallback(()=>__awaiter(this,void 0,void 0,function*(){if(!tme)return null;if(typeof tme=="string")return isDataURI(tme)?{data:dataURItoByteString(tme)}:(displayCORSWarning(),{url:tme});if(tme instanceof PDFDataRangeTransport)return{range:tme};if(isArrayBuffer(tme))return{data:tme};if(isBrowser&&isBlob(tme))return{data:yield loadFromFile(tme)};if(invariant(typeof tme=="object","Invalid parameter in file, need either Uint8Array, string or a parameter object"),invariant("data"in tme||"range"in tme||"url"in tme,"Invalid parameter object: need either .data, .range or .url"),"url"in tme&&typeof tme.url=="string"){if(isDataURI(tme.url)){const{url:Ume}=tme,qme=__rest$1(tme,["url"]),r0e=dataURItoByteString(Ume);return Object.assign({data:r0e},qme)}displayCORSWarning()}return tme}),[tme]);React.useEffect(()=>{const Ume=makeCancellablePromise(Fme());return Ume.promise.then(qme=>{yme({type:"RESOLVE",value:qme})}).catch(qme=>{yme({type:"REJECT",error:qme})}),()=>{cancelRunningTask(Ume)}},[Fme,yme]),React.useEffect(()=>{if(!(typeof bme>"u")){if(bme===!1){Eme();return}Nme()}},[bme]);function xme(){Rme&&(ame&&ame(Rme),Ome.current=new Array(Rme.numPages),Pme.current.setDocument(Rme))}function Tme(){Ime&&(warning(!1,Ime.toString()),ume&&ume(Ime))}function kme(){Ame({type:"RESET"})}React.useEffect(kme,[Ame,bme]);function Dme(){if(!bme)return;const Ume=hme?Object.assign(Object.assign({},bme),hme):bme,qme=pdfjs.getDocument(Ume);cme&&(qme.onProgress=cme),lme&&(qme.onPassword=lme);const r0e=qme;return r0e.promise.then(Xme=>{Ame({type:"RESOLVE",value:Xme})}).catch(Xme=>{r0e.destroyed||Ame({type:"REJECT",error:Xme})}),()=>{r0e.destroy()}}React.useEffect(Dme,[hme,Ame,bme]),React.useEffect(()=>{if(!(typeof Rme>"u")){if(Rme===!1){Tme();return}xme()}},[Rme]);function wme(){Pme.current.setViewer(Sme.current),Pme.current.setExternalLinkRel(zP),Pme.current.setExternalLinkTarget(eme)}React.useEffect(wme,[zP,eme]);function Lme(Ume,qme){Ome.current[Ume]=qme}function $me(Ume){delete Ome.current[Ume]}const Bme=React.useMemo(()=>({imageResourcesPath:rme,linkService:Pme.current,onItemClick:sme,pdf:Rme,registerPage:Lme,renderMode:pme,rotate:gme,unregisterPage:$me}),[rme,sme,Rme,pme,gme]),jme=React.useMemo(()=>makeEventProps(vme,()=>Rme),[vme,Rme]);function Vme(){return React.createElement(DocumentContext.Provider,{value:Bme},$_)}function Kme(){return tme?Rme==null?React.createElement(Message,{type:"loading"},typeof ime=="function"?ime():ime):Rme===!1?React.createElement(Message,{type:"error"},typeof $P=="function"?$P():$P):Vme():React.createElement(Message,{type:"no-data"},typeof ome=="function"?ome():ome)}return React.createElement("div",Object.assign({className:clsx("react-pdf__Document",B_),ref:nme,style:{"--scale-factor":"1"}},jme),Kme())}),isFunctionOrNode$1=PropTypes.oneOfType([PropTypes.func,PropTypes.node]);Document$1.propTypes=Object.assign(Object.assign({},eventProps),{children:PropTypes.node,className:isClassName,error:isFunctionOrNode$1,externalLinkRel:PropTypes.string,externalLinkTarget:PropTypes.oneOf(["_self","_blank","_parent","_top"]),file:isFile,imageResourcesPath:PropTypes.string,inputRef:isRef,loading:isFunctionOrNode$1,noData:isFunctionOrNode$1,onItemClick:PropTypes.func,onLoadError:PropTypes.func,onLoadProgress:PropTypes.func,onLoadSuccess:PropTypes.func,onPassword:PropTypes.func,onSourceError:PropTypes.func,onSourceSuccess:PropTypes.func,options:PropTypes.shape({canvasFactory:PropTypes.any,canvasMaxAreaInBytes:PropTypes.number,cMapPacked:PropTypes.bool,CMapReaderFactory:PropTypes.any,cMapUrl:PropTypes.string,disableAutoFetch:PropTypes.bool,disableFontFace:PropTypes.bool,disableRange:PropTypes.bool,disableStream:PropTypes.bool,docBaseUrl:PropTypes.string,enableXfa:PropTypes.bool,filterFactory:PropTypes.any,fontExtraProperties:PropTypes.bool,httpHeaders:PropTypes.object,isEvalSupported:PropTypes.bool,isOffscreenCanvasSupported:PropTypes.bool,length:PropTypes.number,maxImageSize:PropTypes.number,ownerDocument:PropTypes.any,password:PropTypes.string,pdfBug:PropTypes.bool,rangeChunkSize:PropTypes.number,StandardFontDataFactory:PropTypes.any,standardFontDataUrl:PropTypes.string,stopAtErrors:PropTypes.bool,useSystemFonts:PropTypes.bool,useWorkerFetch:PropTypes.bool,verbosity:PropTypes.number,withCredentials:PropTypes.bool,worker:PropTypes.any}),rotate:PropTypes.number});const Document$2=Document$1;function useDocumentContext(){return React.useContext(DocumentContext)}function mergeRefs(){for(var Ff=[],kh=0;kh<arguments.length;kh++)Ff[kh]=arguments[kh];var x_=Ff.filter(Boolean);if(x_.length<=1){var $_=x_[0];return $_||null}return function($P){x_.forEach(function(zP){typeof zP=="function"?zP($P):zP&&(zP.current=$P)})}}const PageContext=React.createContext(null),PDF_ROLE_TO_HTML_ROLE={Document:null,DocumentFragment:null,Part:"group",Sect:"group",Div:"group",Aside:"note",NonStruct:"none",P:null,H:"heading",Title:null,FENote:"note",Sub:"group",Lbl:null,Span:null,Em:null,Strong:null,Link:"link",Annot:"note",Form:"form",Ruby:null,RB:null,RT:null,RP:null,Warichu:null,WT:null,WP:null,L:"list",LI:"listitem",LBody:null,Table:"table",TR:"row",TH:"columnheader",TD:"cell",THead:"columnheader",TBody:null,TFoot:null,Caption:null,Figure:"figure",Formula:null,Artifact:null},HEADING_PATTERN=/^H(\d+)$/;function isPdfRole(Ff){return Ff in PDF_ROLE_TO_HTML_ROLE}function isStructTreeNode(Ff){return"children"in Ff}function isStructTreeNodeWithOnlyContentChild(Ff){return isStructTreeNode(Ff)?Ff.children.length===1&&0 in Ff.children&&"id"in Ff.children[0]:!1}function getRoleAttributes(Ff){const kh={};if(isStructTreeNode(Ff)){const{role:x_}=Ff,$_=x_.match(HEADING_PATTERN);if($_)kh.role="heading",kh["aria-level"]=Number($_[1]);else if(isPdfRole(x_)){const B_=PDF_ROLE_TO_HTML_ROLE[x_];B_&&(kh.role=B_)}}return kh}function getBaseAttributes(Ff){const kh={};if(isStructTreeNode(Ff)){if(Ff.alt!==void 0&&(kh["aria-label"]=Ff.alt),Ff.lang!==void 0&&(kh.lang=Ff.lang),isStructTreeNodeWithOnlyContentChild(Ff)){const[x_]=Ff.children;if(x_){const $_=getBaseAttributes(x_);return Object.assign(Object.assign({},kh),$_)}}}else"id"in Ff&&(kh["aria-owns"]=Ff.id);return kh}function getAttributes(Ff){return Ff?Object.assign(Object.assign({},getRoleAttributes(Ff)),getBaseAttributes(Ff)):null}function StructTreeItem({className:Ff,node:kh}){const x_=React.useMemo(()=>getAttributes(kh),[kh]),$_=React.useMemo(()=>!isStructTreeNode(kh)||isStructTreeNodeWithOnlyContentChild(kh)?null:kh.children.map((B_,$P)=>React.createElement(StructTreeItem,{key:$P,node:B_})),[kh]);return React.createElement("span",Object.assign({className:Ff},x_),$_)}function usePageContext(){return React.useContext(PageContext)}function StructTree(){const Ff=usePageContext();invariant(Ff,"Unable to find Page context.");const{onGetStructTreeError:kh,onGetStructTreeSuccess:x_}=Ff,[$_,B_]=useResolver(),{value:$P,error:zP}=$_,{customTextRenderer:eme,page:tme}=Ff;function nme(){$P&&x_&&x_($P)}function rme(){zP&&(warning(!1,zP.toString()),kh&&kh(zP))}function ime(){B_({type:"RESET"})}React.useEffect(ime,[B_,tme]);function ome(){if(eme||!tme)return;const sme=makeCancellablePromise(tme.getStructTree()),ume=sme;return sme.promise.then(cme=>{B_({type:"RESOLVE",value:cme})}).catch(cme=>{B_({type:"REJECT",error:cme})}),()=>cancelRunningTask(ume)}return React.useEffect(ome,[eme,tme,B_]),React.useEffect(()=>{if($P!==void 0){if($P===!1){rme();return}nme()}},[$P]),$P?React.createElement(StructTreeItem,{className:"react-pdf__Page__structTree structTree",node:$P}):null}const ANNOTATION_MODE=pdfjs.AnnotationMode;function PageCanvas(Ff){const kh=usePageContext();invariant(kh,"Unable to find Page context.");const x_=Object.assign(Object.assign({},kh),Ff),{_className:$_,canvasBackground:B_,devicePixelRatio:$P=getDevicePixelRatio(),onRenderError:zP,onRenderSuccess:eme,page:tme,renderForms:nme,renderTextLayer:rme,rotate:ime,scale:ome}=x_,{canvasRef:sme}=Ff;invariant(tme,"Attempted to render page canvas, but no page was specified.");const ume=React.useRef(null);function cme(){tme&&eme&&eme(makePageCallback(tme,ome))}function ame(pme){isCancelException(pme)||(warning(!1,pme.toString()),zP&&zP(pme))}const lme=React.useMemo(()=>tme.getViewport({scale:ome*$P,rotation:ime}),[$P,tme,ime,ome]),dme=React.useMemo(()=>tme.getViewport({scale:ome,rotation:ime}),[tme,ime,ome]);function fme(){if(!tme)return;tme.cleanup();const{current:pme}=ume;if(!pme)return;pme.width=lme.width,pme.height=lme.height,pme.style.width=`${Math.floor(dme.width)}px`,pme.style.height=`${Math.floor(dme.height)}px`,pme.style.visibility="hidden";const gme={annotationMode:nme?ANNOTATION_MODE.ENABLE_FORMS:ANNOTATION_MODE.ENABLE,canvasContext:pme.getContext("2d",{alpha:!1}),viewport:lme};B_&&(gme.background=B_);const vme=tme.render(gme),mme=vme;return vme.promise.then(()=>{pme.style.visibility="",cme()}).catch(ame),()=>cancelRunningTask(mme)}React.useEffect(fme,[B_,ume,$P,tme,nme,lme,dme]);const hme=React.useCallback(()=>{const{current:pme}=ume;pme&&(pme.width=0,pme.height=0)},[ume]);return React.useEffect(()=>hme,[hme]),React.createElement("canvas",{className:`${$_}__canvas`,dir:"ltr",ref:mergeRefs(sme,ume),style:{display:"block",userSelect:"none"}},rme?React.createElement(StructTree,null):null)}function PageSVG(){const Ff=usePageContext();invariant(Ff,"Unable to find Page context.");const{_className:kh,onRenderSuccess:x_,onRenderError:$_,page:B_,rotate:$P,scale:zP}=Ff;invariant(B_,"Attempted to render page SVG, but no page was specified.");const[eme,tme]=useResolver(),{value:nme,error:rme}=eme;function ime(){B_&&x_&&x_(makePageCallback(B_,zP))}function ome(){rme&&(isCancelException(rme)||(warning(!1,rme.toString()),$_&&$_(rme)))}const sme=React.useMemo(()=>B_.getViewport({scale:zP,rotation:$P}),[B_,$P,zP]);function ume(){tme({type:"RESET"})}React.useEffect(ume,[B_,tme,sme]);function cme(){if(!B_)return;const fme=makeCancellablePromise(B_.getOperatorList());return fme.promise.then(hme=>{new pdfjs.SVGGraphics(B_.commonObjs,B_.objs).getSVG(hme,sme).then(gme=>{if(!(gme instanceof SVGElement))throw new Error("getSVG returned unexpected result.");tme({type:"RESOLVE",value:gme})}).catch(gme=>{tme({type:"REJECT",error:gme})})}).catch(hme=>{tme({type:"REJECT",error:hme})}),()=>cancelRunningTask(fme)}React.useEffect(cme,[B_,tme,sme]),React.useEffect(()=>{if(nme!==void 0){if(nme===!1){ome();return}ime()}},[nme]);function ame(fme){if(!fme||!nme)return;fme.firstElementChild||fme.appendChild(nme);const{width:hme,height:pme}=sme;nme.setAttribute("width",`${hme}`),nme.setAttribute("height",`${pme}`)}const{width:lme,height:dme}=sme;return React.createElement("div",{className:`${kh}__svg`,ref:fme=>ame(fme),style:{display:"block",backgroundColor:"white",overflow:"hidden",width:lme,height:dme,userSelect:"none"}})}function isTextItem(Ff){return"str"in Ff}function TextLayer(){const Ff=usePageContext();invariant(Ff,"Unable to find Page context.");const{customTextRenderer:kh,onGetTextError:x_,onGetTextSuccess:$_,onRenderTextLayerError:B_,onRenderTextLayerSuccess:$P,page:zP,pageIndex:eme,pageNumber:tme,rotate:nme,scale:rme}=Ff;invariant(zP,"Attempted to load page text content, but no page was specified.");const[ime,ome]=useResolver(),{value:sme,error:ume}=ime,cme=React.useRef(null),ame=React.useRef();warning(parseInt(window.getComputedStyle(document.body).getPropertyValue("--react-pdf-text-layer"),10)===1,"TextLayer styles not found. Read more: https://github.com/wojtekmaj/react-pdf#support-for-text-layer");function lme(){sme&&$_&&$_(sme)}function dme(){ume&&(warning(!1,ume.toString()),x_&&x_(ume))}function fme(){ome({type:"RESET"})}React.useEffect(fme,[zP,ome]);function hme(){if(!zP)return;const _me=makeCancellablePromise(zP.getTextContent()),Cme=_me;return _me.promise.then(Ame=>{ome({type:"RESOLVE",value:Ame})}).catch(Ame=>{ome({type:"REJECT",error:Ame})}),()=>cancelRunningTask(Cme)}React.useEffect(hme,[zP,ome]),React.useEffect(()=>{if(sme!==void 0){if(sme===!1){dme();return}lme()}},[sme]);const pme=React.useCallback(()=>{$P&&$P()},[$P]),gme=React.useCallback(_me=>{warning(!1,_me.toString()),B_&&B_(_me)},[B_]);function vme(){const _me=ame.current;_me&&_me.classList.add("active")}function mme(){const _me=ame.current;_me&&_me.classList.remove("active")}const yme=React.useMemo(()=>zP.getViewport({scale:rme,rotation:nme}),[zP,nme,rme]);function bme(){if(!zP||!sme)return;const{current:_me}=cme;if(!_me)return;_me.innerHTML="";const Cme=zP.streamTextContent({includeMarkedContent:!0}),Ame={container:_me,textContentSource:Cme,viewport:yme},Rme=pdfjs.renderTextLayer(Ame),Ime=Rme;return Rme.promise.then(()=>{const Pme=document.createElement("div");Pme.className="endOfContent",_me.append(Pme),ame.current=Pme;const Ome=_me.querySelectorAll('[role="presentation"]');if(kh){let Sme=0;sme.items.forEach((Nme,Eme)=>{if(!isTextItem(Nme))return;const Mme=Ome[Sme];if(!Mme)return;const Fme=kh(Object.assign({pageIndex:eme,pageNumber:tme,itemIndex:Eme},Nme));Mme.innerHTML=Fme,Sme+=Nme.str&&Nme.hasEOL?2:1})}pme()}).catch(gme),()=>cancelRunningTask(Ime)}return React.useLayoutEffect(bme,[kh,gme,pme,zP,eme,tme,sme,yme]),React.createElement("div",{className:clsx("react-pdf__Page__textContent","textLayer"),onMouseUp:mme,onMouseDown:vme,ref:cme})}function AnnotationLayer(){const Ff=useDocumentContext();invariant(Ff,"Unable to find Document context. Did you wrap <Page /> in <Document />?");const kh=usePageContext();invariant(kh,"Unable to find Page context.");const x_=Object.assign(Object.assign({},Ff),kh),{imageResourcesPath:$_,linkService:B_,onGetAnnotationsError:$P,onGetAnnotationsSuccess:zP,onRenderAnnotationLayerError:eme,onRenderAnnotationLayerSuccess:tme,page:nme,pdf:rme,renderForms:ime,rotate:ome,scale:sme=1}=x_;invariant(nme,"Attempted to load page annotations, but no page was specified.");const[ume,cme]=useResolver(),{value:ame,error:lme}=ume,dme=React.useRef(null);warning(parseInt(window.getComputedStyle(document.body).getPropertyValue("--react-pdf-annotation-layer"),10)===1,"AnnotationLayer styles not found. Read more: https://github.com/wojtekmaj/react-pdf#support-for-annotations");function fme(){ame&&zP&&zP(ame)}function hme(){lme&&(warning(!1,lme.toString()),$P&&$P(lme))}function pme(){cme({type:"RESET"})}React.useEffect(pme,[cme,nme]);function gme(){if(!nme)return;const _me=makeCancellablePromise(nme.getAnnotations()),Cme=_me;return _me.promise.then(Ame=>{cme({type:"RESOLVE",value:Ame})}).catch(Ame=>{cme({type:"REJECT",error:Ame})}),()=>{cancelRunningTask(Cme)}}React.useEffect(gme,[cme,nme,ime]),React.useEffect(()=>{if(ame!==void 0){if(ame===!1){hme();return}fme()}},[ame]);function vme(){tme&&tme()}function mme(_me){warning(!1,`${_me}`),eme&&eme(_me)}const yme=React.useMemo(()=>nme.getViewport({scale:sme,rotation:ome}),[nme,ome,sme]);function bme(){if(!rme||!nme||!ame)return;const{current:_me}=dme;if(!_me)return;const Cme=yme.clone({dontFlip:!0}),Ame={accessibilityManager:null,annotationCanvasMap:null,div:_me,l10n:null,page:nme,viewport:Cme},Rme={annotations:ame,annotationStorage:rme.annotationStorage,div:_me,downloadManager:null,imageResourcesPath:$_,linkService:B_,page:nme,renderForms:ime,viewport:Cme};_me.innerHTML="";try{new pdfjs.AnnotationLayer(Ame).render(Rme),vme()}catch(Ime){mme(Ime)}return()=>{}}return React.useEffect(bme,[ame,$_,B_,nme,ime,yme]),React.createElement("div",{className:clsx("react-pdf__Page__annotations","annotationLayer"),ref:dme})}var __rest=function(Ff,kh){var x_={};for(var $_ in Ff)Object.prototype.hasOwnProperty.call(Ff,$_)&&kh.indexOf($_)<0&&(x_[$_]=Ff[$_]);if(Ff!=null&&typeof Object.getOwnPropertySymbols=="function")for(var B_=0,$_=Object.getOwnPropertySymbols(Ff);B_<$_.length;B_++)kh.indexOf($_[B_])<0&&Object.prototype.propertyIsEnumerable.call(Ff,$_[B_])&&(x_[$_[B_]]=Ff[$_[B_]]);return x_};const defaultScale=1,Page=function Ff(kh){const x_=useDocumentContext();invariant(x_,"Unable to find Document context. Did you wrap <Page /> in <Document />?");const $_=Object.assign(Object.assign({},x_),kh),{_className:B_="react-pdf__Page",_enableRegisterUnregisterPage:$P=!0,canvasBackground:zP,canvasRef:eme,children:tme,className:nme,customRenderer:rme,customTextRenderer:ime,devicePixelRatio:ome,error:sme="Failed to load the page.",height:ume,inputRef:cme,loading:ame="Loading page…",noData:lme="No page specified.",onGetAnnotationsError:dme,onGetAnnotationsSuccess:fme,onGetStructTreeError:hme,onGetStructTreeSuccess:pme,onGetTextError:gme,onGetTextSuccess:vme,onLoadError:mme,onLoadSuccess:yme,onRenderAnnotationLayerError:bme,onRenderAnnotationLayerSuccess:_me,onRenderError:Cme,onRenderSuccess:Ame,onRenderTextLayerError:Rme,onRenderTextLayerSuccess:Ime,pageIndex:Pme,pageNumber:Ome,pdf:Sme,registerPage:Nme,renderAnnotationLayer:Eme=!0,renderForms:Mme=!1,renderMode:Fme="canvas",renderTextLayer:xme=!0,rotate:Tme,scale:kme=defaultScale,unregisterPage:Dme,width:wme}=$_,Lme=__rest($_,["_className","_enableRegisterUnregisterPage","canvasBackground","canvasRef","children","className","customRenderer","customTextRenderer","devicePixelRatio","error","height","inputRef","loading","noData","onGetAnnotationsError","onGetAnnotationsSuccess","onGetStructTreeError","onGetStructTreeSuccess","onGetTextError","onGetTextSuccess","onLoadError","onLoadSuccess","onRenderAnnotationLayerError","onRenderAnnotationLayerSuccess","onRenderError","onRenderSuccess","onRenderTextLayerError","onRenderTextLayerSuccess","pageIndex","pageNumber","pdf","registerPage","renderAnnotationLayer","renderForms","renderMode","renderTextLayer","rotate","scale","unregisterPage","width"]),[$me,Bme]=useResolver(),{value:jme,error:Vme}=$me,Kme=React.useRef(null);invariant(Sme,"Attempted to load a page, but no document was specified.");const Ume=isProvided(Ome)?Ome-1:Pme??null,qme=Ome??(isProvided(Pme)?Pme+1:null),r0e=Tme??(jme?jme.rotate:null),Xme=React.useMemo(()=>{if(!jme)return null;let N0e=1;const V0e=kme??defaultScale;if(wme||ume){const C0e=jme.getViewport({scale:1,rotation:r0e});wme?N0e=wme/C0e.width:ume&&(N0e=ume/C0e.height)}return V0e*N0e},[ume,jme,r0e,kme,wme]);function E0e(){return()=>{isProvided(Ume)&&$P&&Dme&&Dme(Ume)}}React.useEffect(E0e,[$P,Sme,Ume,Dme]);function i0e(){if(yme){if(!jme||!Xme)return;yme(makePageCallback(jme,Xme))}if($P&&Nme){if(!isProvided(Ume)||!Kme.current)return;Nme(Ume,Kme.current)}}function c0e(){Vme&&(warning(!1,Vme.toString()),mme&&mme(Vme))}function _0e(){Bme({type:"RESET"})}React.useEffect(_0e,[Bme,Sme,Ume]);function u0e(){if(!Sme||!qme)return;const N0e=makeCancellablePromise(Sme.getPage(qme)),V0e=N0e;return N0e.promise.then(C0e=>{Bme({type:"RESOLVE",value:C0e})}).catch(C0e=>{Bme({type:"REJECT",error:C0e})}),()=>cancelRunningTask(V0e)}React.useEffect(u0e,[Bme,Sme,Ume,qme,Nme]),React.useEffect(()=>{if(jme!==void 0){if(jme===!1){c0e();return}i0e()}},[jme,Xme]);const Qme=React.useMemo(()=>jme&&isProvided(Ume)&&qme&&isProvided(r0e)&&isProvided(Xme)?{_className:B_,canvasBackground:zP,customTextRenderer:ime,devicePixelRatio:ome,onGetAnnotationsError:dme,onGetAnnotationsSuccess:fme,onGetStructTreeError:hme,onGetStructTreeSuccess:pme,onGetTextError:gme,onGetTextSuccess:vme,onRenderAnnotationLayerError:bme,onRenderAnnotationLayerSuccess:_me,onRenderError:Cme,onRenderSuccess:Ame,onRenderTextLayerError:Rme,onRenderTextLayerSuccess:Ime,page:jme,pageIndex:Ume,pageNumber:qme,renderForms:Mme,renderTextLayer:xme,rotate:r0e,scale:Xme}:null,[B_,zP,ime,ome,dme,fme,hme,pme,gme,vme,bme,_me,Cme,Ame,Rme,Ime,jme,Ume,qme,Mme,xme,r0e,Xme]),s0e=React.useMemo(()=>makeEventProps(Lme,()=>jme&&(Xme?makePageCallback(jme,Xme):void 0)),[Lme,jme,Xme]),o0e=`${Ume}@${Xme}/${r0e}`,y0e=`${Ume}/${r0e}`;function Yme(){switch(Fme){case"custom":return invariant(rme,'renderMode was set to "custom", but no customRenderer was passed.'),React.createElement(rme,{key:`${o0e}_custom`});case"none":return null;case"svg":return React.createElement(PageSVG,{key:`${y0e}_svg`});case"canvas":default:return React.createElement(PageCanvas,{key:`${o0e}_canvas`,canvasRef:eme})}}function n0e(){return xme?React.createElement(TextLayer,{key:`${o0e}_text`}):null}function b0e(){return Eme?React.createElement(AnnotationLayer,{key:`${o0e}_annotations`}):null}function A0e(){return React.createElement(PageContext.Provider,{value:Qme},Yme(),n0e(),b0e(),tme)}function k0e(){return qme?Sme===null||jme===void 0||jme===null?React.createElement(Message,{type:"loading"},typeof ame=="function"?ame():ame):Sme===!1||jme===!1?React.createElement(Message,{type:"error"},typeof sme=="function"?sme():sme):A0e():React.createElement(Message,{type:"no-data"},typeof lme=="function"?lme():lme)}return React.createElement("div",Object.assign({className:clsx(B_,nme),"data-page-number":qme,ref:mergeRefs(cme,Kme),style:{"--scale-factor":`${Xme}`,backgroundColor:zP||"white",position:"relative",minWidth:"min-content",minHeight:"min-content"}},s0e),k0e())},isFunctionOrNode=PropTypes.oneOfType([PropTypes.func,PropTypes.node]);Page.propTypes=Object.assign(Object.assign({},eventProps),{canvasBackground:PropTypes.string,canvasRef:isRef,children:PropTypes.node,className:isClassName,customRenderer:PropTypes.func,customTextRenderer:PropTypes.func,devicePixelRatio:PropTypes.number,error:isFunctionOrNode,height:PropTypes.number,imageResourcesPath:PropTypes.string,inputRef:isRef,loading:isFunctionOrNode,noData:isFunctionOrNode,onGetTextError:PropTypes.func,onGetTextSuccess:PropTypes.func,onLoadError:PropTypes.func,onLoadSuccess:PropTypes.func,onRenderError:PropTypes.func,onRenderSuccess:PropTypes.func,onRenderTextLayerError:PropTypes.func,onRenderTextLayerSuccess:PropTypes.func,pageIndex:isPageIndex,pageNumber:isPageNumber,pdf:isPdf,renderAnnotationLayer:PropTypes.bool,renderForms:PropTypes.bool,renderMode:isRenderMode,renderTextLayer:PropTypes.bool,rotate:isRotate,scale:PropTypes.number,width:PropTypes.number});const Page$1=Page;displayWorkerWarning(),pdfjs.GlobalWorkerOptions.workerSrc="pdf.worker.js";const PdfViewShow=({node:Ff})=>{var rme;pdfjs.GlobalWorkerOptions.workerSrc=`//cdnjs.cloudflare.com/ajax/libs/pdf.js/${pdfjs.version}/pdf.worker.js`;const[kh,x_]=React.useState(),[$_,B_]=React.useState(1),[$P,zP]=React.useState(!1),eme="<",tme=">",nme=({numPages:ime})=>{x_(ime)};return React.useEffect(()=>{let ime=document.getElementById("input");ime==null||ime.focus()},[document.getElementById("input")]),jsxRuntimeExports.jsx(NodeViewWrapper,{className:"",children:jsxRuntimeExports.jsxs("div",{className:"pdfShow",children:[jsxRuntimeExports.jsx(Document$2,{file:((rme=Ff==null?void 0:Ff.attrs)==null?void 0:rme.pdfUrl)||"",onLoadSuccess:nme,children:jsxRuntimeExports.jsx(Page$1,{renderTextLayer:!1,pageNumber:$_})}),kh>0&&jsxRuntimeExports.jsxs("div",{className:"pagechange",children:[jsxRuntimeExports.jsx("div",{className:"iconLeft",onClick:()=>{$_>1&&B_($_-1)},children:eme}),jsxRuntimeExports.jsxs("div",{className:"nowPage",onClick:()=>{zP(!0)},children:[$P&&jsxRuntimeExports.jsx("input",{id:"input",className:"nowPageInput",autoComplete:"off",onChange:ime=>{ime.target.value>0&&ime.target.value<kh+1&&B_(Number(ime.target.value))},onBlur:()=>{zP(!1)}}),!$P&&jsxRuntimeExports.jsx("span",{children:$_})]}),jsxRuntimeExports.jsx("div",{children:"/"}),jsxRuntimeExports.jsx("div",{style:{margin:"0 6px"},children:kh}),jsxRuntimeExports.jsx("div",{onClick:()=>{$_<kh&&B_($_+1)},children:tme})]})]})})},Fragment=Node$1.create({name:"fragment",parseHTML(){return[{tag:"span"}]},renderHTML({HTMLAttributes:Ff}){return["span",mergeAttributes(this.options.HTMLAttributes,Ff),0]},addOptions(){return{HTMLAttributes:{}}}});var readFromCache,addToCache;if(typeof WeakMap<"u"){let Ff=new WeakMap;readFromCache=kh=>Ff.get(kh),addToCache=(kh,x_)=>(Ff.set(kh,x_),x_)}else{const Ff=[];let x_=0;readFromCache=$_=>{for(let B_=0;B_<Ff.length;B_+=2)if(Ff[B_]==$_)return Ff[B_+1]},addToCache=($_,B_)=>(x_==10&&(x_=0),Ff[x_++]=$_,Ff[x_++]=B_)}var TableMap=class{constructor(Ff,kh,x_,$_){this.width=Ff,this.height=kh,this.map=x_,this.problems=$_}findCell(Ff){for(let kh=0;kh<this.map.length;kh++){const x_=this.map[kh];if(x_!=Ff)continue;const $_=kh%this.width,B_=kh/this.width|0;let $P=$_+1,zP=B_+1;for(let eme=1;$P<this.width&&this.map[kh+eme]==x_;eme++)$P++;for(let eme=1;zP<this.height&&this.map[kh+this.width*eme]==x_;eme++)zP++;return{left:$_,top:B_,right:$P,bottom:zP}}throw new RangeError(`No cell with offset ${Ff} found`)}colCount(Ff){for(let kh=0;kh<this.map.length;kh++)if(this.map[kh]==Ff)return kh%this.width;throw new RangeError(`No cell with offset ${Ff} found`)}nextCell(Ff,kh,x_){const{left:$_,right:B_,top:$P,bottom:zP}=this.findCell(Ff);return kh=="horiz"?(x_<0?$_==0:B_==this.width)?null:this.map[$P*this.width+(x_<0?$_-1:B_)]:(x_<0?$P==0:zP==this.height)?null:this.map[$_+this.width*(x_<0?$P-1:zP)]}rectBetween(Ff,kh){const{left:x_,right:$_,top:B_,bottom:$P}=this.findCell(Ff),{left:zP,right:eme,top:tme,bottom:nme}=this.findCell(kh);return{left:Math.min(x_,zP),top:Math.min(B_,tme),right:Math.max($_,eme),bottom:Math.max($P,nme)}}cellsInRect(Ff){const kh=[],x_={};for(let $_=Ff.top;$_<Ff.bottom;$_++)for(let B_=Ff.left;B_<Ff.right;B_++){const $P=$_*this.width+B_,zP=this.map[$P];x_[zP]||(x_[zP]=!0,!(B_==Ff.left&&B_&&this.map[$P-1]==zP||$_==Ff.top&&$_&&this.map[$P-this.width]==zP)&&kh.push(zP))}return kh}positionAt(Ff,kh,x_){for(let $_=0,B_=0;;$_++){const $P=B_+x_.child($_).nodeSize;if($_==Ff){let zP=kh+Ff*this.width;const eme=(Ff+1)*this.width;for(;zP<eme&&this.map[zP]<B_;)zP++;return zP==eme?$P-1:this.map[zP]}B_=$P}}static get(Ff){return readFromCache(Ff)||addToCache(Ff,computeMap(Ff))}};function computeMap(Ff){if(Ff.type.spec.tableRole!="table")throw new RangeError("Not a table node: "+Ff.type.name);const kh=findWidth(Ff),x_=Ff.childCount,$_=[];let B_=0,$P=null;const zP=[];for(let nme=0,rme=kh*x_;nme<rme;nme++)$_[nme]=0;for(let nme=0,rme=0;nme<x_;nme++){const ime=Ff.child(nme);rme++;for(let ume=0;;ume++){for(;B_<$_.length&&$_[B_]!=0;)B_++;if(ume==ime.childCount)break;const cme=ime.child(ume),{colspan:ame,rowspan:lme,colwidth:dme}=cme.attrs;for(let fme=0;fme<lme;fme++){if(fme+nme>=x_){($P||($P=[])).push({type:"overlong_rowspan",pos:rme,n:lme-fme});break}const hme=B_+fme*kh;for(let pme=0;pme<ame;pme++){$_[hme+pme]==0?$_[hme+pme]=rme:($P||($P=[])).push({type:"collision",row:nme,pos:rme,n:ame-pme});const gme=dme&&dme[pme];if(gme){const vme=(hme+pme)%kh*2,mme=zP[vme];mme==null||mme!=gme&&zP[vme+1]==1?(zP[vme]=gme,zP[vme+1]=1):mme==gme&&zP[vme+1]++}}}B_+=ame,rme+=cme.nodeSize}const ome=(nme+1)*kh;let sme=0;for(;B_<ome;)$_[B_++]==0&&sme++;sme&&($P||($P=[])).push({type:"missing",row:nme,n:sme}),rme++}const eme=new TableMap(kh,x_,$_,$P);let tme=!1;for(let nme=0;!tme&&nme<zP.length;nme+=2)zP[nme]!=null&&zP[nme+1]<x_&&(tme=!0);return tme&&findBadColWidths(eme,zP,Ff),eme}function findWidth(Ff){let kh=-1,x_=!1;for(let $_=0;$_<Ff.childCount;$_++){const B_=Ff.child($_);let $P=0;if(x_)for(let zP=0;zP<$_;zP++){const eme=Ff.child(zP);for(let tme=0;tme<eme.childCount;tme++){const nme=eme.child(tme);zP+nme.attrs.rowspan>$_&&($P+=nme.attrs.colspan)}}for(let zP=0;zP<B_.childCount;zP++){const eme=B_.child(zP);$P+=eme.attrs.colspan,eme.attrs.rowspan>1&&(x_=!0)}kh==-1?kh=$P:kh!=$P&&(kh=Math.max(kh,$P))}return kh}function findBadColWidths(Ff,kh,x_){Ff.problems||(Ff.problems=[]);const $_={};for(let B_=0;B_<Ff.map.length;B_++){const $P=Ff.map[B_];if($_[$P])continue;$_[$P]=!0;const zP=x_.nodeAt($P);if(!zP)throw new RangeError(`No cell with offset ${$P} found`);let eme=null;const tme=zP.attrs;for(let nme=0;nme<tme.colspan;nme++){const rme=(B_+nme)%Ff.width,ime=kh[rme*2];ime!=null&&(!tme.colwidth||tme.colwidth[nme]!=ime)&&((eme||(eme=freshColWidth(tme)))[nme]=ime)}eme&&Ff.problems.unshift({type:"colwidth mismatch",pos:$P,colwidth:eme})}}function freshColWidth(Ff){if(Ff.colwidth)return Ff.colwidth.slice();const kh=[];for(let x_=0;x_<Ff.colspan;x_++)kh.push(0);return kh}function tableNodeTypes(Ff){let kh=Ff.cached.tableNodeTypes;if(!kh){kh=Ff.cached.tableNodeTypes={};for(const x_ in Ff.nodes){const $_=Ff.nodes[x_],B_=$_.spec.tableRole;B_&&(kh[B_]=$_)}}return kh}var tableEditingKey=new PluginKey("selectingCells");function cellAround(Ff){for(let kh=Ff.depth-1;kh>0;kh--)if(Ff.node(kh).type.spec.tableRole=="row")return Ff.node(0).resolve(Ff.before(kh+1));return null}function cellWrapping(Ff){for(let kh=Ff.depth;kh>0;kh--){const x_=Ff.node(kh).type.spec.tableRole;if(x_==="cell"||x_==="header_cell")return Ff.node(kh)}return null}function isInTable(Ff){const kh=Ff.selection.$head;for(let x_=kh.depth;x_>0;x_--)if(kh.node(x_).type.spec.tableRole=="row")return!0;return!1}function selectionCell(Ff){const kh=Ff.selection;if("$anchorCell"in kh&&kh.$anchorCell)return kh.$anchorCell.pos>kh.$headCell.pos?kh.$anchorCell:kh.$headCell;if("node"in kh&&kh.node&&kh.node.type.spec.tableRole=="cell")return kh.$anchor;const x_=cellAround(kh.$head)||cellNear(kh.$head);if(x_)return x_;throw new RangeError(`No cell found around position ${kh.head}`)}function cellNear(Ff){for(let kh=Ff.nodeAfter,x_=Ff.pos;kh;kh=kh.firstChild,x_++){const $_=kh.type.spec.tableRole;if($_=="cell"||$_=="header_cell")return Ff.doc.resolve(x_)}for(let kh=Ff.nodeBefore,x_=Ff.pos;kh;kh=kh.lastChild,x_--){const $_=kh.type.spec.tableRole;if($_=="cell"||$_=="header_cell")return Ff.doc.resolve(x_-kh.nodeSize)}}function pointsAtCell(Ff){return Ff.parent.type.spec.tableRole=="row"&&!!Ff.nodeAfter}function moveCellForward(Ff){return Ff.node(0).resolve(Ff.pos+Ff.nodeAfter.nodeSize)}function inSameTable(Ff,kh){return Ff.depth==kh.depth&&Ff.pos>=kh.start(-1)&&Ff.pos<=kh.end(-1)}function nextCell(Ff,kh,x_){const $_=Ff.node(-1),B_=TableMap.get($_),$P=Ff.start(-1),zP=B_.nextCell(Ff.pos-$P,kh,x_);return zP==null?null:Ff.node(0).resolve($P+zP)}function removeColSpan(Ff,kh,x_=1){const $_={...Ff,colspan:Ff.colspan-x_};return $_.colwidth&&($_.colwidth=$_.colwidth.slice(),$_.colwidth.splice(kh,x_),$_.colwidth.some(B_=>B_>0)||($_.colwidth=null)),$_}function addColSpan(Ff,kh,x_=1){const $_={...Ff,colspan:Ff.colspan+x_};if($_.colwidth){$_.colwidth=$_.colwidth.slice();for(let B_=0;B_<x_;B_++)$_.colwidth.splice(kh,0,0)}return $_}function columnIsHeader(Ff,kh,x_){const $_=tableNodeTypes(kh.type.schema).header_cell;for(let B_=0;B_<Ff.height;B_++)if(kh.nodeAt(Ff.map[x_+B_*Ff.width]).type!=$_)return!1;return!0}var CellSelection=class F1e extends Selection{constructor(kh,x_=kh){const $_=kh.node(-1),B_=TableMap.get($_),$P=kh.start(-1),zP=B_.rectBetween(kh.pos-$P,x_.pos-$P),eme=kh.node(0),tme=B_.cellsInRect(zP).filter(rme=>rme!=x_.pos-$P);tme.unshift(x_.pos-$P);const nme=tme.map(rme=>{const ime=$_.nodeAt(rme);if(!ime)throw RangeError(`No cell with offset ${rme} found`);const ome=$P+rme+1;return new SelectionRange(eme.resolve(ome),eme.resolve(ome+ime.content.size))});super(nme[0].$from,nme[0].$to,nme),this.$anchorCell=kh,this.$headCell=x_}map(kh,x_){const $_=kh.resolve(x_.map(this.$anchorCell.pos)),B_=kh.resolve(x_.map(this.$headCell.pos));if(pointsAtCell($_)&&pointsAtCell(B_)&&inSameTable($_,B_)){const $P=this.$anchorCell.node(-1)!=$_.node(-1);return $P&&this.isRowSelection()?F1e.rowSelection($_,B_):$P&&this.isColSelection()?F1e.colSelection($_,B_):new F1e($_,B_)}return TextSelection.between($_,B_)}content(){const kh=this.$anchorCell.node(-1),x_=TableMap.get(kh),$_=this.$anchorCell.start(-1),B_=x_.rectBetween(this.$anchorCell.pos-$_,this.$headCell.pos-$_),$P={},zP=[];for(let tme=B_.top;tme<B_.bottom;tme++){const nme=[];for(let rme=tme*x_.width+B_.left,ime=B_.left;ime<B_.right;ime++,rme++){const ome=x_.map[rme];if($P[ome])continue;$P[ome]=!0;const sme=x_.findCell(ome);let ume=kh.nodeAt(ome);if(!ume)throw RangeError(`No cell with offset ${ome} found`);const cme=B_.left-sme.left,ame=sme.right-B_.right;if(cme>0||ame>0){let lme=ume.attrs;if(cme>0&&(lme=removeColSpan(lme,0,cme)),ame>0&&(lme=removeColSpan(lme,lme.colspan-ame,ame)),sme.left<B_.left){if(ume=ume.type.createAndFill(lme),!ume)throw RangeError(`Could not create cell with attrs ${JSON.stringify(lme)}`)}else ume=ume.type.create(lme,ume.content)}if(sme.top<B_.top||sme.bottom>B_.bottom){const lme={...ume.attrs,rowspan:Math.min(sme.bottom,B_.bottom)-Math.max(sme.top,B_.top)};sme.top<B_.top?ume=ume.type.createAndFill(lme):ume=ume.type.create(lme,ume.content)}nme.push(ume)}zP.push(kh.child(tme).copy(Fragment$1.from(nme)))}const eme=this.isColSelection()&&this.isRowSelection()?kh:zP;return new Slice(Fragment$1.from(eme),1,1)}replace(kh,x_=Slice.empty){const $_=kh.steps.length,B_=this.ranges;for(let zP=0;zP<B_.length;zP++){const{$from:eme,$to:tme}=B_[zP],nme=kh.mapping.slice($_);kh.replace(nme.map(eme.pos),nme.map(tme.pos),zP?Slice.empty:x_)}const $P=Selection.findFrom(kh.doc.resolve(kh.mapping.slice($_).map(this.to)),-1);$P&&kh.setSelection($P)}replaceWith(kh,x_){this.replace(kh,new Slice(Fragment$1.from(x_),0,0))}forEachCell(kh){const x_=this.$anchorCell.node(-1),$_=TableMap.get(x_),B_=this.$anchorCell.start(-1),$P=$_.cellsInRect($_.rectBetween(this.$anchorCell.pos-B_,this.$headCell.pos-B_));for(let zP=0;zP<$P.length;zP++)kh(x_.nodeAt($P[zP]),B_+$P[zP])}isColSelection(){const kh=this.$anchorCell.index(-1),x_=this.$headCell.index(-1);if(Math.min(kh,x_)>0)return!1;const $_=kh+this.$anchorCell.nodeAfter.attrs.rowspan,B_=x_+this.$headCell.nodeAfter.attrs.rowspan;return Math.max($_,B_)==this.$headCell.node(-1).childCount}static colSelection(kh,x_=kh){const $_=kh.node(-1),B_=TableMap.get($_),$P=kh.start(-1),zP=B_.findCell(kh.pos-$P),eme=B_.findCell(x_.pos-$P),tme=kh.node(0);return zP.top<=eme.top?(zP.top>0&&(kh=tme.resolve($P+B_.map[zP.left])),eme.bottom<B_.height&&(x_=tme.resolve($P+B_.map[B_.width*(B_.height-1)+eme.right-1]))):(eme.top>0&&(x_=tme.resolve($P+B_.map[eme.left])),zP.bottom<B_.height&&(kh=tme.resolve($P+B_.map[B_.width*(B_.height-1)+zP.right-1]))),new F1e(kh,x_)}isRowSelection(){const kh=this.$anchorCell.node(-1),x_=TableMap.get(kh),$_=this.$anchorCell.start(-1),B_=x_.colCount(this.$anchorCell.pos-$_),$P=x_.colCount(this.$headCell.pos-$_);if(Math.min(B_,$P)>0)return!1;const zP=B_+this.$anchorCell.nodeAfter.attrs.colspan,eme=$P+this.$headCell.nodeAfter.attrs.colspan;return Math.max(zP,eme)==x_.width}eq(kh){return kh instanceof F1e&&kh.$anchorCell.pos==this.$anchorCell.pos&&kh.$headCell.pos==this.$headCell.pos}static rowSelection(kh,x_=kh){const $_=kh.node(-1),B_=TableMap.get($_),$P=kh.start(-1),zP=B_.findCell(kh.pos-$P),eme=B_.findCell(x_.pos-$P),tme=kh.node(0);return zP.left<=eme.left?(zP.left>0&&(kh=tme.resolve($P+B_.map[zP.top*B_.width])),eme.right<B_.width&&(x_=tme.resolve($P+B_.map[B_.width*(eme.top+1)-1]))):(eme.left>0&&(x_=tme.resolve($P+B_.map[eme.top*B_.width])),zP.right<B_.width&&(kh=tme.resolve($P+B_.map[B_.width*(zP.top+1)-1]))),new F1e(kh,x_)}toJSON(){return{type:"cell",anchor:this.$anchorCell.pos,head:this.$headCell.pos}}static fromJSON(kh,x_){return new F1e(kh.resolve(x_.anchor),kh.resolve(x_.head))}static create(kh,x_,$_=x_){return new F1e(kh.resolve(x_),kh.resolve($_))}getBookmark(){return new CellBookmark(this.$anchorCell.pos,this.$headCell.pos)}};CellSelection.prototype.visible=!1,Selection.jsonID("cell",CellSelection);var CellBookmark=class e_e{constructor(kh,x_){this.anchor=kh,this.head=x_}map(kh){return new e_e(kh.map(this.anchor),kh.map(this.head))}resolve(kh){const x_=kh.resolve(this.anchor),$_=kh.resolve(this.head);return x_.parent.type.spec.tableRole=="row"&&$_.parent.type.spec.tableRole=="row"&&x_.index()<x_.parent.childCount&&$_.index()<$_.parent.childCount&&inSameTable(x_,$_)?new CellSelection(x_,$_):Selection.near($_,1)}};function drawCellSelection(Ff){if(!(Ff.selection instanceof CellSelection))return null;const kh=[];return Ff.selection.forEachCell((x_,$_)=>{kh.push(Decoration.node($_,$_+x_.nodeSize,{class:"selectedCell"}))}),DecorationSet.create(Ff.doc,kh)}function isCellBoundarySelection({$from:Ff,$to:kh}){if(Ff.pos==kh.pos||Ff.pos<Ff.pos-6)return!1;let x_=Ff.pos,$_=kh.pos,B_=Ff.depth;for(;B_>=0&&!(Ff.after(B_+1)<Ff.end(B_));B_--,x_++);for(let $P=kh.depth;$P>=0&&!(kh.before($P+1)>kh.start($P));$P--,$_--);return x_==$_&&/row|table/.test(Ff.node(B_).type.spec.tableRole)}function isTextSelectionAcrossCells({$from:Ff,$to:kh}){let x_,$_;for(let B_=Ff.depth;B_>0;B_--){const $P=Ff.node(B_);if($P.type.spec.tableRole==="cell"||$P.type.spec.tableRole==="header_cell"){x_=$P;break}}for(let B_=kh.depth;B_>0;B_--){const $P=kh.node(B_);if($P.type.spec.tableRole==="cell"||$P.type.spec.tableRole==="header_cell"){$_=$P;break}}return x_!==$_&&kh.parentOffset===0}function normalizeSelection(Ff,kh,x_){const $_=(kh||Ff).selection,B_=(kh||Ff).doc;let $P,zP;if($_ instanceof NodeSelection&&(zP=$_.node.type.spec.tableRole)){if(zP=="cell"||zP=="header_cell")$P=CellSelection.create(B_,$_.from);else if(zP=="row"){const eme=B_.resolve($_.from+1);$P=CellSelection.rowSelection(eme,eme)}else if(!x_){const eme=TableMap.get($_.node),tme=$_.from+1,nme=tme+eme.map[eme.width*eme.height-1];$P=CellSelection.create(B_,tme+1,nme)}}else $_ instanceof TextSelection&&isCellBoundarySelection($_)?$P=TextSelection.create(B_,$_.from):$_ instanceof TextSelection&&isTextSelectionAcrossCells($_)&&($P=TextSelection.create(B_,$_.$from.start(),$_.$from.end()));return $P&&(kh||(kh=Ff.tr)).setSelection($P),kh}var fixTablesKey=new PluginKey("fix-tables");function changedDescendants(Ff,kh,x_,$_){const B_=Ff.childCount,$P=kh.childCount;e:for(let zP=0,eme=0;zP<$P;zP++){const tme=kh.child(zP);for(let nme=eme,rme=Math.min(B_,zP+3);nme<rme;nme++)if(Ff.child(nme)==tme){eme=nme+1,x_+=tme.nodeSize;continue e}$_(tme,x_),eme<B_&&Ff.child(eme).sameMarkup(tme)?changedDescendants(Ff.child(eme),tme,x_+1,$_):tme.nodesBetween(0,tme.content.size,$_,x_+1),x_+=tme.nodeSize}}function fixTables(Ff,kh){let x_;const $_=(B_,$P)=>{B_.type.spec.tableRole=="table"&&(x_=fixTable(Ff,B_,$P,x_))};return kh?kh.doc!=Ff.doc&&changedDescendants(kh.doc,Ff.doc,0,$_):Ff.doc.descendants($_),x_}function fixTable(Ff,kh,x_,$_){const B_=TableMap.get(kh);if(!B_.problems)return $_;$_||($_=Ff.tr);const $P=[];for(let tme=0;tme<B_.height;tme++)$P.push(0);for(let tme=0;tme<B_.problems.length;tme++){const nme=B_.problems[tme];if(nme.type=="collision"){const rme=kh.nodeAt(nme.pos);if(!rme)continue;const ime=rme.attrs;for(let ome=0;ome<ime.rowspan;ome++)$P[nme.row+ome]+=nme.n;$_.setNodeMarkup($_.mapping.map(x_+1+nme.pos),null,removeColSpan(ime,ime.colspan-nme.n,nme.n))}else if(nme.type=="missing")$P[nme.row]+=nme.n;else if(nme.type=="overlong_rowspan"){const rme=kh.nodeAt(nme.pos);if(!rme)continue;$_.setNodeMarkup($_.mapping.map(x_+1+nme.pos),null,{...rme.attrs,rowspan:rme.attrs.rowspan-nme.n})}else if(nme.type=="colwidth mismatch"){const rme=kh.nodeAt(nme.pos);if(!rme)continue;$_.setNodeMarkup($_.mapping.map(x_+1+nme.pos),null,{...rme.attrs,colwidth:nme.colwidth})}}let zP,eme;for(let tme=0;tme<$P.length;tme++)$P[tme]&&(zP==null&&(zP=tme),eme=tme);for(let tme=0,nme=x_+1;tme<B_.height;tme++){const rme=kh.child(tme),ime=nme+rme.nodeSize,ome=$P[tme];if(ome>0){let sme="cell";rme.firstChild&&(sme=rme.firstChild.type.spec.tableRole);const ume=[];for(let ame=0;ame<ome;ame++){const lme=tableNodeTypes(Ff.schema)[sme].createAndFill();lme&&ume.push(lme)}const cme=(tme==0||zP==tme-1)&&eme==tme?nme+1:ime-1;$_.insert($_.mapping.map(cme),ume)}nme=ime}return $_.setMeta(fixTablesKey,{fixTables:!0})}function pastedCells(Ff){if(!Ff.size)return null;let{content:kh,openStart:x_,openEnd:$_}=Ff;for(;kh.childCount==1&&(x_>0&&$_>0||kh.child(0).type.spec.tableRole=="table");)x_--,$_--,kh=kh.child(0).content;const B_=kh.child(0),$P=B_.type.spec.tableRole,zP=B_.type.schema,eme=[];if($P=="row")for(let tme=0;tme<kh.childCount;tme++){let nme=kh.child(tme).content;const rme=tme?0:Math.max(0,x_-1),ime=tme<kh.childCount-1?0:Math.max(0,$_-1);(rme||ime)&&(nme=fitSlice(tableNodeTypes(zP).row,new Slice(nme,rme,ime)).content),eme.push(nme)}else if($P=="cell"||$P=="header_cell")eme.push(x_||$_?fitSlice(tableNodeTypes(zP).row,new Slice(kh,x_,$_)).content:kh);else return null;return ensureRectangular(zP,eme)}function ensureRectangular(Ff,kh){const x_=[];for(let B_=0;B_<kh.length;B_++){const $P=kh[B_];for(let zP=$P.childCount-1;zP>=0;zP--){const{rowspan:eme,colspan:tme}=$P.child(zP).attrs;for(let nme=B_;nme<B_+eme;nme++)x_[nme]=(x_[nme]||0)+tme}}let $_=0;for(let B_=0;B_<x_.length;B_++)$_=Math.max($_,x_[B_]);for(let B_=0;B_<x_.length;B_++)if(B_>=kh.length&&kh.push(Fragment$1.empty),x_[B_]<$_){const $P=tableNodeTypes(Ff).cell.createAndFill(),zP=[];for(let eme=x_[B_];eme<$_;eme++)zP.push($P);kh[B_]=kh[B_].append(Fragment$1.from(zP))}return{height:kh.length,width:$_,rows:kh}}function fitSlice(Ff,kh){const x_=Ff.createAndFill();return new Transform(x_).replace(0,x_.content.size,kh).doc}function clipCells({width:Ff,height:kh,rows:x_},$_,B_){if(Ff!=$_){const $P=[],zP=[];for(let eme=0;eme<x_.length;eme++){const tme=x_[eme],nme=[];for(let rme=$P[eme]||0,ime=0;rme<$_;ime++){let ome=tme.child(ime%tme.childCount);rme+ome.attrs.colspan>$_&&(ome=ome.type.createChecked(removeColSpan(ome.attrs,ome.attrs.colspan,rme+ome.attrs.colspan-$_),ome.content)),nme.push(ome),rme+=ome.attrs.colspan;for(let sme=1;sme<ome.attrs.rowspan;sme++)$P[eme+sme]=($P[eme+sme]||0)+ome.attrs.colspan}zP.push(Fragment$1.from(nme))}x_=zP,Ff=$_}if(kh!=B_){const $P=[];for(let zP=0,eme=0;zP<B_;zP++,eme++){const tme=[],nme=x_[eme%kh];for(let rme=0;rme<nme.childCount;rme++){let ime=nme.child(rme);zP+ime.attrs.rowspan>B_&&(ime=ime.type.create({...ime.attrs,rowspan:Math.max(1,B_-ime.attrs.rowspan)},ime.content)),tme.push(ime)}$P.push(Fragment$1.from(tme))}x_=$P,kh=B_}return{width:Ff,height:kh,rows:x_}}function growTable(Ff,kh,x_,$_,B_,$P,zP){const eme=Ff.doc.type.schema,tme=tableNodeTypes(eme);let nme,rme;if(B_>kh.width)for(let ime=0,ome=0;ime<kh.height;ime++){const sme=x_.child(ime);ome+=sme.nodeSize;const ume=[];let cme;sme.lastChild==null||sme.lastChild.type==tme.cell?cme=nme||(nme=tme.cell.createAndFill()):cme=rme||(rme=tme.header_cell.createAndFill());for(let ame=kh.width;ame<B_;ame++)ume.push(cme);Ff.insert(Ff.mapping.slice(zP).map(ome-1+$_),ume)}if($P>kh.height){const ime=[];for(let ume=0,cme=(kh.height-1)*kh.width;ume<Math.max(kh.width,B_);ume++){const ame=ume>=kh.width?!1:x_.nodeAt(kh.map[cme+ume]).type==tme.header_cell;ime.push(ame?rme||(rme=tme.header_cell.createAndFill()):nme||(nme=tme.cell.createAndFill()))}const ome=tme.row.create(null,Fragment$1.from(ime)),sme=[];for(let ume=kh.height;ume<$P;ume++)sme.push(ome);Ff.insert(Ff.mapping.slice(zP).map($_+x_.nodeSize-2),sme)}return!!(nme||rme)}function isolateHorizontal(Ff,kh,x_,$_,B_,$P,zP,eme){if(zP==0||zP==kh.height)return!1;let tme=!1;for(let nme=B_;nme<$P;nme++){const rme=zP*kh.width+nme,ime=kh.map[rme];if(kh.map[rme-kh.width]==ime){tme=!0;const ome=x_.nodeAt(ime),{top:sme,left:ume}=kh.findCell(ime);Ff.setNodeMarkup(Ff.mapping.slice(eme).map(ime+$_),null,{...ome.attrs,rowspan:zP-sme}),Ff.insert(Ff.mapping.slice(eme).map(kh.positionAt(zP,ume,x_)),ome.type.createAndFill({...ome.attrs,rowspan:sme+ome.attrs.rowspan-zP})),nme+=ome.attrs.colspan-1}}return tme}function isolateVertical(Ff,kh,x_,$_,B_,$P,zP,eme){if(zP==0||zP==kh.width)return!1;let tme=!1;for(let nme=B_;nme<$P;nme++){const rme=nme*kh.width+zP,ime=kh.map[rme];if(kh.map[rme-1]==ime){tme=!0;const ome=x_.nodeAt(ime),sme=kh.colCount(ime),ume=Ff.mapping.slice(eme).map(ime+$_);Ff.setNodeMarkup(ume,null,removeColSpan(ome.attrs,zP-sme,ome.attrs.colspan-(zP-sme))),Ff.insert(ume+ome.nodeSize,ome.type.createAndFill(removeColSpan(ome.attrs,0,zP-sme))),nme+=ome.attrs.rowspan-1}}return tme}function insertCells(Ff,kh,x_,$_,B_){let $P=x_?Ff.doc.nodeAt(x_-1):Ff.doc;if(!$P)throw new Error("No table found");let zP=TableMap.get($P);const{top:eme,left:tme}=$_,nme=tme+B_.width,rme=eme+B_.height,ime=Ff.tr;let ome=0;function sme(){if($P=x_?ime.doc.nodeAt(x_-1):ime.doc,!$P)throw new Error("No table found");zP=TableMap.get($P),ome=ime.mapping.maps.length}growTable(ime,zP,$P,x_,nme,rme,ome)&&sme(),isolateHorizontal(ime,zP,$P,x_,tme,nme,eme,ome)&&sme(),isolateHorizontal(ime,zP,$P,x_,tme,nme,rme,ome)&&sme(),isolateVertical(ime,zP,$P,x_,eme,rme,tme,ome)&&sme(),isolateVertical(ime,zP,$P,x_,eme,rme,nme,ome)&&sme();for(let ume=eme;ume<rme;ume++){const cme=zP.positionAt(ume,tme,$P),ame=zP.positionAt(ume,nme,$P);ime.replace(ime.mapping.slice(ome).map(cme+x_),ime.mapping.slice(ome).map(ame+x_),new Slice(B_.rows[ume-eme],0,0))}sme(),ime.setSelection(new CellSelection(ime.doc.resolve(x_+zP.positionAt(eme,tme,$P)),ime.doc.resolve(x_+zP.positionAt(rme-1,nme-1,$P)))),kh(ime)}var handleKeyDown=keydownHandler({ArrowLeft:arrow("horiz",-1),ArrowRight:arrow("horiz",1),ArrowUp:arrow("vert",-1),ArrowDown:arrow("vert",1),"Shift-ArrowLeft":shiftArrow("horiz",-1),"Shift-ArrowRight":shiftArrow("horiz",1),"Shift-ArrowUp":shiftArrow("vert",-1),"Shift-ArrowDown":shiftArrow("vert",1),Backspace:deleteCellSelection,"Mod-Backspace":deleteCellSelection,Delete:deleteCellSelection,"Mod-Delete":deleteCellSelection});function maybeSetSelection(Ff,kh,x_){return x_.eq(Ff.selection)?!1:(kh&&kh(Ff.tr.setSelection(x_).scrollIntoView()),!0)}function arrow(Ff,kh){return(x_,$_,B_)=>{if(!B_)return!1;const $P=x_.selection;if($P instanceof CellSelection)return maybeSetSelection(x_,$_,Selection.near($P.$headCell,kh));if(Ff!="horiz"&&!$P.empty)return!1;const zP=atEndOfCell(B_,Ff,kh);if(zP==null)return!1;if(Ff=="horiz")return maybeSetSelection(x_,$_,Selection.near(x_.doc.resolve($P.head+kh),kh));{const eme=x_.doc.resolve(zP),tme=nextCell(eme,Ff,kh);let nme;return tme?nme=Selection.near(tme,1):kh<0?nme=Selection.near(x_.doc.resolve(eme.before(-1)),-1):nme=Selection.near(x_.doc.resolve(eme.after(-1)),1),maybeSetSelection(x_,$_,nme)}}}function shiftArrow(Ff,kh){return(x_,$_,B_)=>{if(!B_)return!1;const $P=x_.selection;let zP;if($P instanceof CellSelection)zP=$P;else{const tme=atEndOfCell(B_,Ff,kh);if(tme==null)return!1;zP=new CellSelection(x_.doc.resolve(tme))}const eme=nextCell(zP.$headCell,Ff,kh);return eme?maybeSetSelection(x_,$_,new CellSelection(zP.$anchorCell,eme)):!1}}function deleteCellSelection(Ff,kh){const x_=Ff.selection;if(!(x_ instanceof CellSelection))return!1;if(kh){const $_=Ff.tr,B_=tableNodeTypes(Ff.schema).cell.createAndFill().content;x_.forEachCell(($P,zP)=>{$P.content.eq(B_)||$_.replace($_.mapping.map(zP+1),$_.mapping.map(zP+$P.nodeSize-1),new Slice(B_,0,0))}),$_.docChanged&&kh($_)}return!0}function handleTripleClick(Ff,kh){const x_=Ff.state.doc,$_=cellAround(x_.resolve(kh));return $_?(Ff.dispatch(Ff.state.tr.setSelection(new CellSelection($_))),!0):!1}function handlePaste(Ff,kh,x_){if(!isInTable(Ff.state))return!1;let $_=pastedCells(x_);const B_=Ff.state.selection;if(B_ instanceof CellSelection){$_||($_={width:1,height:1,rows:[Fragment$1.from(fitSlice(tableNodeTypes(Ff.state.schema).cell,x_))]});const $P=B_.$anchorCell.node(-1),zP=B_.$anchorCell.start(-1),eme=TableMap.get($P).rectBetween(B_.$anchorCell.pos-zP,B_.$headCell.pos-zP);return $_=clipCells($_,eme.right-eme.left,eme.bottom-eme.top),insertCells(Ff.state,Ff.dispatch,zP,eme,$_),!0}else if($_){const $P=selectionCell(Ff.state),zP=$P.start(-1);return insertCells(Ff.state,Ff.dispatch,zP,TableMap.get($P.node(-1)).findCell($P.pos-zP),$_),!0}else return!1}function handleMouseDown(Ff,kh){var x_;if(kh.ctrlKey||kh.metaKey)return;const $_=domInCell(Ff,kh.target);let B_;if(kh.shiftKey&&Ff.state.selection instanceof CellSelection)$P(Ff.state.selection.$anchorCell,kh),kh.preventDefault();else if(kh.shiftKey&&$_&&(B_=cellAround(Ff.state.selection.$anchor))!=null&&((x_=cellUnderMouse(Ff,kh))==null?void 0:x_.pos)!=B_.pos)$P(B_,kh),kh.preventDefault();else if(!$_)return;function $P(tme,nme){let rme=cellUnderMouse(Ff,nme);const ime=tableEditingKey.getState(Ff.state)==null;if(!rme||!inSameTable(tme,rme))if(ime)rme=tme;else return;const ome=new CellSelection(tme,rme);if(ime||!Ff.state.selection.eq(ome)){const sme=Ff.state.tr.setSelection(ome);ime&&sme.setMeta(tableEditingKey,tme.pos),Ff.dispatch(sme)}}function zP(){Ff.root.removeEventListener("mouseup",zP),Ff.root.removeEventListener("dragstart",zP),Ff.root.removeEventListener("mousemove",eme),tableEditingKey.getState(Ff.state)!=null&&Ff.dispatch(Ff.state.tr.setMeta(tableEditingKey,-1))}function eme(tme){const nme=tme,rme=tableEditingKey.getState(Ff.state);let ime;if(rme!=null)ime=Ff.state.doc.resolve(rme);else if(domInCell(Ff,nme.target)!=$_&&(ime=cellUnderMouse(Ff,kh),!ime))return zP();ime&&$P(ime,nme)}Ff.root.addEventListener("mouseup",zP),Ff.root.addEventListener("dragstart",zP),Ff.root.addEventListener("mousemove",eme)}function atEndOfCell(Ff,kh,x_){if(!(Ff.state.selection instanceof TextSelection))return null;const{$head:$_}=Ff.state.selection;for(let B_=$_.depth-1;B_>=0;B_--){const $P=$_.node(B_);if((x_<0?$_.index(B_):$_.indexAfter(B_))!=(x_<0?0:$P.childCount))return null;if($P.type.spec.tableRole=="cell"||$P.type.spec.tableRole=="header_cell"){const eme=$_.before(B_),tme=kh=="vert"?x_>0?"down":"up":x_>0?"right":"left";return Ff.endOfTextblock(tme)?eme:null}}return null}function domInCell(Ff,kh){for(;kh&&kh!=Ff.dom;kh=kh.parentNode)if(kh.nodeName=="TD"||kh.nodeName=="TH")return kh;return null}function cellUnderMouse(Ff,kh){const x_=Ff.posAtCoords({left:kh.clientX,top:kh.clientY});return x_&&x_?cellAround(Ff.state.doc.resolve(x_.pos)):null}var TableView$1=class{constructor(kh,x_){this.node=kh,this.cellMinWidth=x_,this.dom=document.createElement("div"),this.dom.className="tableWrapper",this.table=this.dom.appendChild(document.createElement("table")),this.colgroup=this.table.appendChild(document.createElement("colgroup")),updateColumnsOnResize(kh,this.colgroup,this.table,x_),this.contentDOM=this.table.appendChild(document.createElement("tbody"))}update(kh){return kh.type!=this.node.type?!1:(this.node=kh,updateColumnsOnResize(kh,this.colgroup,this.table,this.cellMinWidth),!0)}ignoreMutation(kh){return kh.type=="attributes"&&(kh.target==this.table||this.colgroup.contains(kh.target))}};function updateColumnsOnResize(Ff,kh,x_,$_,B_,$P){var zP;let eme=0,tme=!0,nme=kh.firstChild;const rme=Ff.firstChild;if(rme){for(let ime=0,ome=0;ime<rme.childCount;ime++){const{colspan:sme,colwidth:ume}=rme.child(ime).attrs;for(let cme=0;cme<sme;cme++,ome++){const ame=B_==ome?$P:ume&&ume[cme],lme=ame?ame+"px":"";eme+=ame||$_,ame||(tme=!1),nme?(nme.style.width!=lme&&(nme.style.width=lme),nme=nme.nextSibling):kh.appendChild(document.createElement("col")).style.width=lme}}for(;nme;){const ime=nme.nextSibling;(zP=nme.parentNode)==null||zP.removeChild(nme),nme=ime}tme?(x_.style.width=eme+"px",x_.style.minWidth=""):(x_.style.width="",x_.style.minWidth=eme+"px")}}var columnResizingPluginKey=new PluginKey("tableColumnResizing");function columnResizing({handleWidth:Ff=5,cellMinWidth:kh=25,View:x_=TableView$1,lastColumnResizable:$_=!0}={}){const B_=new Plugin({key:columnResizingPluginKey,state:{init($P,zP){return B_.spec.props.nodeViews[tableNodeTypes(zP.schema).table.name]=(eme,tme)=>new x_(eme,kh,tme),new ResizeState(-1,!1)},apply($P,zP){return zP.apply($P)}},props:{attributes:$P=>{const zP=columnResizingPluginKey.getState($P);return zP&&zP.activeHandle>-1?{class:"resize-cursor"}:{}},handleDOMEvents:{mousemove:($P,zP)=>{handleMouseMove($P,zP,Ff,kh,$_)},mouseleave:$P=>{handleMouseLeave($P)},mousedown:($P,zP)=>{handleMouseDown2($P,zP,kh)}},decorations:$P=>{const zP=columnResizingPluginKey.getState($P);if(zP&&zP.activeHandle>-1)return handleDecorations($P,zP.activeHandle)},nodeViews:{}}});return B_}var ResizeState=class wye{constructor(kh,x_){this.activeHandle=kh,this.dragging=x_}apply(kh){const x_=this,$_=kh.getMeta(columnResizingPluginKey);if($_&&$_.setHandle!=null)return new wye($_.setHandle,!1);if($_&&$_.setDragging!==void 0)return new wye(x_.activeHandle,$_.setDragging);if(x_.activeHandle>-1&&kh.docChanged){let B_=kh.mapping.map(x_.activeHandle,-1);return pointsAtCell(kh.doc.resolve(B_))||(B_=-1),new wye(B_,x_.dragging)}return x_}};function handleMouseMove(Ff,kh,x_,$_,B_){const $P=columnResizingPluginKey.getState(Ff.state);if($P&&!$P.dragging){const zP=domCellAround(kh.target);let eme=-1;if(zP){const{left:tme,right:nme}=zP.getBoundingClientRect();kh.clientX-tme<=x_?eme=edgeCell(Ff,kh,"left",x_):nme-kh.clientX<=x_&&(eme=edgeCell(Ff,kh,"right",x_))}if(eme!=$P.activeHandle){if(!B_&&eme!==-1){const tme=Ff.state.doc.resolve(eme),nme=tme.node(-1),rme=TableMap.get(nme),ime=tme.start(-1);if(rme.colCount(tme.pos-ime)+tme.nodeAfter.attrs.colspan-1==rme.width-1)return}updateHandle(Ff,eme)}}}function handleMouseLeave(Ff){const kh=columnResizingPluginKey.getState(Ff.state);kh&&kh.activeHandle>-1&&!kh.dragging&&updateHandle(Ff,-1)}function handleMouseDown2(Ff,kh,x_){var $_;const B_=($_=Ff.dom.ownerDocument.defaultView)!=null?$_:window,$P=columnResizingPluginKey.getState(Ff.state);if(!$P||$P.activeHandle==-1||$P.dragging)return!1;const zP=Ff.state.doc.nodeAt($P.activeHandle),eme=currentColWidth(Ff,$P.activeHandle,zP.attrs);Ff.dispatch(Ff.state.tr.setMeta(columnResizingPluginKey,{setDragging:{startX:kh.clientX,startWidth:eme}}));function tme(rme){B_.removeEventListener("mouseup",tme),B_.removeEventListener("mousemove",nme);const ime=columnResizingPluginKey.getState(Ff.state);ime!=null&&ime.dragging&&(updateColumnWidth(Ff,ime.activeHandle,draggedWidth(ime.dragging,rme,x_)),Ff.dispatch(Ff.state.tr.setMeta(columnResizingPluginKey,{setDragging:null})))}function nme(rme){if(!rme.which)return tme(rme);const ime=columnResizingPluginKey.getState(Ff.state);if(ime&&ime.dragging){const ome=draggedWidth(ime.dragging,rme,x_);displayColumnWidth(Ff,ime.activeHandle,ome,x_)}}return B_.addEventListener("mouseup",tme),B_.addEventListener("mousemove",nme),kh.preventDefault(),!0}function currentColWidth(Ff,kh,{colspan:x_,colwidth:$_}){const B_=$_&&$_[$_.length-1];if(B_)return B_;const $P=Ff.domAtPos(kh);let eme=$P.node.childNodes[$P.offset].offsetWidth,tme=x_;if($_)for(let nme=0;nme<x_;nme++)$_[nme]&&(eme-=$_[nme],tme--);return eme/tme}function domCellAround(Ff){for(;Ff&&Ff.nodeName!="TD"&&Ff.nodeName!="TH";)Ff=Ff.classList&&Ff.classList.contains("ProseMirror")?null:Ff.parentNode;return Ff}function edgeCell(Ff,kh,x_,$_){const B_=x_=="right"?-$_:$_,$P=Ff.posAtCoords({left:kh.clientX+B_,top:kh.clientY});if(!$P)return-1;const{pos:zP}=$P,eme=cellAround(Ff.state.doc.resolve(zP));if(!eme)return-1;if(x_=="right")return eme.pos;const tme=TableMap.get(eme.node(-1)),nme=eme.start(-1),rme=tme.map.indexOf(eme.pos-nme);return rme%tme.width==0?-1:nme+tme.map[rme-1]}function draggedWidth(Ff,kh,x_){const $_=kh.clientX-Ff.startX;return Math.max(x_,Ff.startWidth+$_)}function updateHandle(Ff,kh){Ff.dispatch(Ff.state.tr.setMeta(columnResizingPluginKey,{setHandle:kh}))}function updateColumnWidth(Ff,kh,x_){const $_=Ff.state.doc.resolve(kh),B_=$_.node(-1),$P=TableMap.get(B_),zP=$_.start(-1),eme=$P.colCount($_.pos-zP)+$_.nodeAfter.attrs.colspan-1,tme=Ff.state.tr;for(let nme=0;nme<$P.height;nme++){const rme=nme*$P.width+eme;if(nme&&$P.map[rme]==$P.map[rme-$P.width])continue;const ime=$P.map[rme],ome=B_.nodeAt(ime).attrs,sme=ome.colspan==1?0:eme-$P.colCount(ime);if(ome.colwidth&&ome.colwidth[sme]==x_)continue;const ume=ome.colwidth?ome.colwidth.slice():zeroes(ome.colspan);ume[sme]=x_,tme.setNodeMarkup(zP+ime,null,{...ome,colwidth:ume})}tme.docChanged&&Ff.dispatch(tme)}function displayColumnWidth(Ff,kh,x_,$_){const B_=Ff.state.doc.resolve(kh),$P=B_.node(-1),zP=B_.start(-1),eme=TableMap.get($P).colCount(B_.pos-zP)+B_.nodeAfter.attrs.colspan-1;let tme=Ff.domAtPos(B_.start(-1)).node;for(;tme&&tme.nodeName!="TABLE";)tme=tme.parentNode;tme&&updateColumnsOnResize($P,tme.firstChild,tme,$_,eme,x_)}function zeroes(Ff){return Array(Ff).fill(0)}function handleDecorations(Ff,kh){const x_=[],$_=Ff.doc.resolve(kh),B_=$_.node(-1);if(!B_)return DecorationSet.empty;const $P=TableMap.get(B_),zP=$_.start(-1),eme=$P.colCount($_.pos-zP)+$_.nodeAfter.attrs.colspan;for(let tme=0;tme<$P.height;tme++){const nme=eme+tme*$P.width-1;if((eme==$P.width||$P.map[nme]!=$P.map[nme+1])&&(tme==0||$P.map[nme]!=$P.map[nme-$P.width])){const rme=$P.map[nme],ime=zP+rme+B_.nodeAt(rme).nodeSize-1,ome=document.createElement("div");ome.className="column-resize-handle",x_.push(Decoration.widget(ime,ome))}}return DecorationSet.create(Ff.doc,x_)}function selectedRect(Ff){const kh=Ff.selection,x_=selectionCell(Ff),$_=x_.node(-1),B_=x_.start(-1),$P=TableMap.get($_);return{...kh instanceof CellSelection?$P.rectBetween(kh.$anchorCell.pos-B_,kh.$headCell.pos-B_):$P.findCell(x_.pos-B_),tableStart:B_,map:$P,table:$_}}function addColumn(Ff,{map:kh,tableStart:x_,table:$_},B_){let $P=B_>0?-1:0;columnIsHeader(kh,$_,B_+$P)&&($P=B_==0||B_==kh.width?null:0);for(let zP=0;zP<kh.height;zP++){const eme=zP*kh.width+B_;if(B_>0&&B_<kh.width&&kh.map[eme-1]==kh.map[eme]){const tme=kh.map[eme],nme=$_.nodeAt(tme);Ff.setNodeMarkup(Ff.mapping.map(x_+tme),null,addColSpan(nme.attrs,B_-kh.colCount(tme))),zP+=nme.attrs.rowspan-1}else{const tme=$P==null?tableNodeTypes($_.type.schema).cell:$_.nodeAt(kh.map[eme+$P]).type,nme=kh.positionAt(zP,B_,$_);Ff.insert(Ff.mapping.map(x_+nme),tme.createAndFill())}}return Ff}function addColumnBefore(Ff,kh){if(!isInTable(Ff))return!1;if(kh){const x_=selectedRect(Ff);kh(addColumn(Ff.tr,x_,x_.left))}return!0}function addColumnAfter(Ff,kh){if(!isInTable(Ff))return!1;if(kh){const x_=selectedRect(Ff);kh(addColumn(Ff.tr,x_,x_.right))}return!0}function removeColumn(Ff,{map:kh,table:x_,tableStart:$_},B_){const $P=Ff.mapping.maps.length;for(let zP=0;zP<kh.height;){const eme=zP*kh.width+B_,tme=kh.map[eme],nme=x_.nodeAt(tme),rme=nme.attrs;if(B_>0&&kh.map[eme-1]==tme||B_<kh.width-1&&kh.map[eme+1]==tme)Ff.setNodeMarkup(Ff.mapping.slice($P).map($_+tme),null,removeColSpan(rme,B_-kh.colCount(tme)));else{const ime=Ff.mapping.slice($P).map($_+tme);Ff.delete(ime,ime+nme.nodeSize)}zP+=rme.rowspan}}function deleteColumn(Ff,kh){if(!isInTable(Ff))return!1;if(kh){const x_=selectedRect(Ff),$_=Ff.tr;if(x_.left==0&&x_.right==x_.map.width)return!1;for(let B_=x_.right-1;removeColumn($_,x_,B_),B_!=x_.left;B_--){const $P=x_.tableStart?$_.doc.nodeAt(x_.tableStart-1):$_.doc;if(!$P)throw RangeError("No table found");x_.table=$P,x_.map=TableMap.get($P)}kh($_)}return!0}function rowIsHeader(Ff,kh,x_){var $_;const B_=tableNodeTypes(kh.type.schema).header_cell;for(let $P=0;$P<Ff.width;$P++)if((($_=kh.nodeAt(Ff.map[$P+x_*Ff.width]))==null?void 0:$_.type)!=B_)return!1;return!0}function addRow(Ff,{map:kh,tableStart:x_,table:$_},B_){var $P;let zP=x_;for(let nme=0;nme<B_;nme++)zP+=$_.child(nme).nodeSize;const eme=[];let tme=B_>0?-1:0;rowIsHeader(kh,$_,B_+tme)&&(tme=B_==0||B_==kh.height?null:0);for(let nme=0,rme=kh.width*B_;nme<kh.width;nme++,rme++)if(B_>0&&B_<kh.height&&kh.map[rme]==kh.map[rme-kh.width]){const ime=kh.map[rme],ome=$_.nodeAt(ime).attrs;Ff.setNodeMarkup(x_+ime,null,{...ome,rowspan:ome.rowspan+1}),nme+=ome.colspan-1}else{const ime=tme==null?tableNodeTypes($_.type.schema).cell:($P=$_.nodeAt(kh.map[rme+tme*kh.width]))==null?void 0:$P.type,ome=ime==null?void 0:ime.createAndFill();ome&&eme.push(ome)}return Ff.insert(zP,tableNodeTypes($_.type.schema).row.create(null,eme)),Ff}function addRowBefore(Ff,kh){if(!isInTable(Ff))return!1;if(kh){const x_=selectedRect(Ff);kh(addRow(Ff.tr,x_,x_.top))}return!0}function addRowAfter(Ff,kh){if(!isInTable(Ff))return!1;if(kh){const x_=selectedRect(Ff);kh(addRow(Ff.tr,x_,x_.bottom))}return!0}function removeRow(Ff,{map:kh,table:x_,tableStart:$_},B_){let $P=0;for(let nme=0;nme<B_;nme++)$P+=x_.child(nme).nodeSize;const zP=$P+x_.child(B_).nodeSize,eme=Ff.mapping.maps.length;Ff.delete($P+$_,zP+$_);const tme=new Set;for(let nme=0,rme=B_*kh.width;nme<kh.width;nme++,rme++){const ime=kh.map[rme];if(!tme.has(ime)){if(tme.add(ime),B_>0&&ime==kh.map[rme-kh.width]){const ome=x_.nodeAt(ime).attrs;Ff.setNodeMarkup(Ff.mapping.slice(eme).map(ime+$_),null,{...ome,rowspan:ome.rowspan-1}),nme+=ome.colspan-1}else if(B_<kh.height&&ime==kh.map[rme+kh.width]){const ome=x_.nodeAt(ime),sme=ome.attrs,ume=ome.type.create({...sme,rowspan:ome.attrs.rowspan-1},ome.content),cme=kh.positionAt(B_+1,nme,x_);Ff.insert(Ff.mapping.slice(eme).map($_+cme),ume),nme+=sme.colspan-1}}}}function deleteRow(Ff,kh){if(!isInTable(Ff))return!1;if(kh){const x_=selectedRect(Ff),$_=Ff.tr;if(x_.top==0&&x_.bottom==x_.map.height)return!1;for(let B_=x_.bottom-1;removeRow($_,x_,B_),B_!=x_.top;B_--){const $P=x_.tableStart?$_.doc.nodeAt(x_.tableStart-1):$_.doc;if(!$P)throw RangeError("No table found");x_.table=$P,x_.map=TableMap.get(x_.table)}kh($_)}return!0}function isEmpty(Ff){const kh=Ff.content;return kh.childCount==1&&kh.child(0).isTextblock&&kh.child(0).childCount==0}function cellsOverlapRectangle({width:Ff,height:kh,map:x_},$_){let B_=$_.top*Ff+$_.left,$P=B_,zP=($_.bottom-1)*Ff+$_.left,eme=B_+($_.right-$_.left-1);for(let tme=$_.top;tme<$_.bottom;tme++){if($_.left>0&&x_[$P]==x_[$P-1]||$_.right<Ff&&x_[eme]==x_[eme+1])return!0;$P+=Ff,eme+=Ff}for(let tme=$_.left;tme<$_.right;tme++){if($_.top>0&&x_[B_]==x_[B_-Ff]||$_.bottom<kh&&x_[zP]==x_[zP+Ff])return!0;B_++,zP++}return!1}function mergeCells(Ff,kh){const x_=Ff.selection;if(!(x_ instanceof CellSelection)||x_.$anchorCell.pos==x_.$headCell.pos)return!1;const $_=selectedRect(Ff),{map:B_}=$_;if(cellsOverlapRectangle(B_,$_))return!1;if(kh){const $P=Ff.tr,zP={};let eme=Fragment$1.empty,tme,nme;for(let rme=$_.top;rme<$_.bottom;rme++)for(let ime=$_.left;ime<$_.right;ime++){const ome=B_.map[rme*B_.width+ime],sme=$_.table.nodeAt(ome);if(!(zP[ome]||!sme))if(zP[ome]=!0,tme==null)tme=ome,nme=sme;else{isEmpty(sme)||(eme=eme.append(sme.content));const ume=$P.mapping.map(ome+$_.tableStart);$P.delete(ume,ume+sme.nodeSize)}}if(tme==null||nme==null)return!0;if($P.setNodeMarkup(tme+$_.tableStart,null,{...addColSpan(nme.attrs,nme.attrs.colspan,$_.right-$_.left-nme.attrs.colspan),rowspan:$_.bottom-$_.top}),eme.size){const rme=tme+1+nme.content.size,ime=isEmpty(nme)?tme+1:rme;$P.replaceWith(ime+$_.tableStart,rme+$_.tableStart,eme)}$P.setSelection(new CellSelection($P.doc.resolve(tme+$_.tableStart))),kh($P)}return!0}function splitCell(Ff,kh){const x_=tableNodeTypes(Ff.schema);return splitCellWithType(({node:$_})=>x_[$_.type.spec.tableRole])(Ff,kh)}function splitCellWithType(Ff){return(kh,x_)=>{var $_;const B_=kh.selection;let $P,zP;if(B_ instanceof CellSelection){if(B_.$anchorCell.pos!=B_.$headCell.pos)return!1;$P=B_.$anchorCell.nodeAfter,zP=B_.$anchorCell.pos}else{if($P=cellWrapping(B_.$from),!$P)return!1;zP=($_=cellAround(B_.$from))==null?void 0:$_.pos}if($P==null||zP==null||$P.attrs.colspan==1&&$P.attrs.rowspan==1)return!1;if(x_){let eme=$P.attrs;const tme=[],nme=eme.colwidth;eme.rowspan>1&&(eme={...eme,rowspan:1}),eme.colspan>1&&(eme={...eme,colspan:1});const rme=selectedRect(kh),ime=kh.tr;for(let sme=0;sme<rme.right-rme.left;sme++)tme.push(nme?{...eme,colwidth:nme&&nme[sme]?[nme[sme]]:null}:eme);let ome;for(let sme=rme.top;sme<rme.bottom;sme++){let ume=rme.map.positionAt(sme,rme.left,rme.table);sme==rme.top&&(ume+=$P.nodeSize);for(let cme=rme.left,ame=0;cme<rme.right;cme++,ame++)cme==rme.left&&sme==rme.top||ime.insert(ome=ime.mapping.map(ume+rme.tableStart,1),Ff({node:$P,row:sme,col:cme}).createAndFill(tme[ame]))}ime.setNodeMarkup(zP,Ff({node:$P,row:rme.top,col:rme.left}),tme[0]),B_ instanceof CellSelection&&ime.setSelection(new CellSelection(ime.doc.resolve(B_.$anchorCell.pos),ome?ime.doc.resolve(ome):void 0)),x_(ime)}return!0}}function setCellAttr(Ff,kh){return function(x_,$_){if(!isInTable(x_))return!1;const B_=selectionCell(x_);if(B_.nodeAfter.attrs[Ff]===kh)return!1;if($_){const $P=x_.tr;x_.selection instanceof CellSelection?x_.selection.forEachCell((zP,eme)=>{zP.attrs[Ff]!==kh&&$P.setNodeMarkup(eme,null,{...zP.attrs,[Ff]:kh})}):$P.setNodeMarkup(B_.pos,null,{...B_.nodeAfter.attrs,[Ff]:kh}),$_($P)}return!0}}function deprecated_toggleHeader(Ff){return function(kh,x_){if(!isInTable(kh))return!1;if(x_){const $_=tableNodeTypes(kh.schema),B_=selectedRect(kh),$P=kh.tr,zP=B_.map.cellsInRect(Ff=="column"?{left:B_.left,top:0,right:B_.right,bottom:B_.map.height}:Ff=="row"?{left:0,top:B_.top,right:B_.map.width,bottom:B_.bottom}:B_),eme=zP.map(tme=>B_.table.nodeAt(tme));for(let tme=0;tme<zP.length;tme++)eme[tme].type==$_.header_cell&&$P.setNodeMarkup(B_.tableStart+zP[tme],$_.cell,eme[tme].attrs);if($P.steps.length==0)for(let tme=0;tme<zP.length;tme++)$P.setNodeMarkup(B_.tableStart+zP[tme],$_.header_cell,eme[tme].attrs);x_($P)}return!0}}function isHeaderEnabledByType(Ff,kh,x_){const $_=kh.map.cellsInRect({left:0,top:0,right:Ff=="row"?kh.map.width:1,bottom:Ff=="column"?kh.map.height:1});for(let B_=0;B_<$_.length;B_++){const $P=kh.table.nodeAt($_[B_]);if($P&&$P.type!==x_.header_cell)return!1}return!0}function toggleHeader(Ff,kh){return kh=kh||{useDeprecatedLogic:!1},kh.useDeprecatedLogic?deprecated_toggleHeader(Ff):function(x_,$_){if(!isInTable(x_))return!1;if($_){const B_=tableNodeTypes(x_.schema),$P=selectedRect(x_),zP=x_.tr,eme=isHeaderEnabledByType("row",$P,B_),tme=isHeaderEnabledByType("column",$P,B_),rme=(Ff==="column"?eme:Ff==="row"?tme:!1)?1:0,ime=Ff=="column"?{left:0,top:rme,right:1,bottom:$P.map.height}:Ff=="row"?{left:rme,top:0,right:$P.map.width,bottom:1}:$P,ome=Ff=="column"?tme?B_.cell:B_.header_cell:Ff=="row"?eme?B_.cell:B_.header_cell:B_.cell;$P.map.cellsInRect(ime).forEach(sme=>{const ume=sme+$P.tableStart,cme=zP.doc.nodeAt(ume);cme&&zP.setNodeMarkup(ume,ome,cme.attrs)}),$_(zP)}return!0}}toggleHeader("row",{useDeprecatedLogic:!0}),toggleHeader("column",{useDeprecatedLogic:!0});var toggleHeaderCell=toggleHeader("cell",{useDeprecatedLogic:!0});function findNextCell(Ff,kh){if(kh<0){const x_=Ff.nodeBefore;if(x_)return Ff.pos-x_.nodeSize;for(let $_=Ff.index(-1)-1,B_=Ff.before();$_>=0;$_--){const $P=Ff.node(-1).child($_),zP=$P.lastChild;if(zP)return B_-1-zP.nodeSize;B_-=$P.nodeSize}}else{if(Ff.index()<Ff.parent.childCount-1)return Ff.pos+Ff.nodeAfter.nodeSize;const x_=Ff.node(-1);for(let $_=Ff.indexAfter(-1),B_=Ff.after();$_<x_.childCount;$_++){const $P=x_.child($_);if($P.childCount)return B_+1;B_+=$P.nodeSize}}return null}function goToNextCell(Ff){return function(kh,x_){if(!isInTable(kh))return!1;const $_=findNextCell(selectionCell(kh),Ff);if($_==null)return!1;if(x_){const B_=kh.doc.resolve($_);x_(kh.tr.setSelection(TextSelection.between(B_,moveCellForward(B_))).scrollIntoView())}return!0}}function deleteTable(Ff,kh){const x_=Ff.selection.$anchor;for(let $_=x_.depth;$_>0;$_--)if(x_.node($_).type.spec.tableRole=="table")return kh&&kh(Ff.tr.delete(x_.before($_),x_.after($_)).scrollIntoView()),!0;return!1}function tableEditing({allowTableNodeSelection:Ff=!1}={}){return new Plugin({key:tableEditingKey,state:{init(){return null},apply(kh,x_){const $_=kh.getMeta(tableEditingKey);if($_!=null)return $_==-1?null:$_;if(x_==null||!kh.docChanged)return x_;const{deleted:B_,pos:$P}=kh.mapping.mapResult(x_);return B_?null:$P}},props:{decorations:drawCellSelection,handleDOMEvents:{mousedown:handleMouseDown},createSelectionBetween(kh){return tableEditingKey.getState(kh.state)!=null?kh.state.selection:null},handleTripleClick,handleKeyDown,handlePaste},appendTransaction(kh,x_,$_){return normalizeSelection($_,fixTables($_,x_),Ff)}})}function updateColumns(Ff,kh,x_,$_,B_,$P){let zP=0,eme=!0,tme=kh.firstChild;const nme=Ff.firstChild;for(let rme=0,ime=0;rme<nme.childCount;rme+=1){const{colspan:ome,colwidth:sme}=nme.child(rme).attrs;for(let ume=0;ume<ome;ume+=1,ime+=1){const cme=B_===ime?$P:sme&&sme[ume],ame=cme?`${cme}px`:"";zP+=cme||$_,cme||(eme=!1),tme?(tme.style.width!==ame&&(tme.style.width=ame),tme=tme.nextSibling):kh.appendChild(document.createElement("col")).style.width=ame}}for(;tme;){const rme=tme.nextSibling;tme.parentNode.removeChild(tme),tme=rme}eme?(x_.style.width=`${zP}px`,x_.style.minWidth=""):(x_.style.width="",x_.style.minWidth=`${zP}px`)}class TableView{constructor(kh,x_){this.node=kh,this.cellMinWidth=x_,this.dom=document.createElement("div"),this.dom.className="tableWrapper",this.table=this.dom.appendChild(document.createElement("table")),this.colgroup=this.table.appendChild(document.createElement("colgroup")),updateColumns(kh,this.colgroup,this.table,x_),this.contentDOM=this.table.appendChild(document.createElement("tbody"))}update(kh){return kh.type!==this.node.type?!1:(this.node=kh,updateColumns(kh,this.colgroup,this.table,this.cellMinWidth),!0)}ignoreMutation(kh){return kh.type==="attributes"&&(kh.target===this.table||this.colgroup.contains(kh.target))}}function createColGroup(Ff,kh,x_,$_){let B_=0,$P=!0;const zP=[],eme=Ff.firstChild;if(!eme)return{};for(let ime=0,ome=0;ime<eme.childCount;ime+=1){const{colspan:sme,colwidth:ume}=eme.child(ime).attrs;for(let cme=0;cme<sme;cme+=1,ome+=1){const ame=x_===ome?$_:ume&&ume[cme],lme=ame?`${ame}px`:"";B_+=ame||kh,ame||($P=!1),zP.push(["col",lme?{style:`width: ${lme}`}:{}])}}const tme=$P?`${B_}px`:"",nme=$P?"":`${B_}px`;return{colgroup:["colgroup",{},...zP],tableWidth:tme,tableMinWidth:nme}}function createCell(Ff,kh){return kh?Ff.createChecked(null,kh):Ff.createAndFill()}function getTableNodeTypes(Ff){if(Ff.cached.tableNodeTypes)return Ff.cached.tableNodeTypes;const kh={};return Object.keys(Ff.nodes).forEach(x_=>{const $_=Ff.nodes[x_];$_.spec.tableRole&&(kh[$_.spec.tableRole]=$_)}),Ff.cached.tableNodeTypes=kh,kh}function createTable(Ff,kh,x_,$_,B_){const $P=getTableNodeTypes(Ff),zP=[],eme=[];for(let nme=0;nme<x_;nme+=1){const rme=createCell($P.cell,B_);if(rme&&eme.push(rme),$_){const ime=createCell($P.header_cell,B_);ime&&zP.push(ime)}}const tme=[];for(let nme=0;nme<kh;nme+=1)tme.push($P.row.createChecked(null,$_&&nme===0?zP:eme));return $P.table.createChecked(null,tme)}function isCellSelection(Ff){return Ff instanceof CellSelection}const deleteTableWhenAllCellsSelected=({editor:Ff})=>{const{selection:kh}=Ff.state;if(!isCellSelection(kh))return!1;let x_=0;const $_=findParentNodeClosestToPos(kh.ranges[0].$from,$P=>$P.type.name==="table");return $_==null||$_.node.descendants($P=>{if($P.type.name==="table")return!1;["tableCell","tableHeader"].includes($P.type.name)&&(x_+=1)}),x_===kh.ranges.length?(Ff.commands.deleteTable(),!0):!1},Table$1=Node$1.create({name:"table",addOptions(){return{HTMLAttributes:{},resizable:!1,handleWidth:5,cellMinWidth:25,View:TableView,lastColumnResizable:!0,allowTableNodeSelection:!1}},content:"tableRow+",tableRole:"table",isolating:!0,group:"block",parseHTML(){return[{tag:"table"}]},renderHTML({node:Ff,HTMLAttributes:kh}){const{colgroup:x_,tableWidth:$_,tableMinWidth:B_}=createColGroup(Ff,this.options.cellMinWidth);return["table",mergeAttributes(this.options.HTMLAttributes,kh,{style:$_?`width: ${$_}`:`minWidth: ${B_}`}),x_,["tbody",0]]},addCommands(){return{insertTable:({rows:Ff=3,cols:kh=3,withHeaderRow:x_=!0}={})=>({tr:$_,dispatch:B_,editor:$P})=>{const zP=createTable($P.schema,Ff,kh,x_);if(B_){const eme=$_.selection.anchor+1;$_.replaceSelectionWith(zP).scrollIntoView().setSelection(TextSelection.near($_.doc.resolve(eme)))}return!0},addColumnBefore:()=>({state:Ff,dispatch:kh})=>addColumnBefore(Ff,kh),addColumnAfter:()=>({state:Ff,dispatch:kh})=>addColumnAfter(Ff,kh),deleteColumn:()=>({state:Ff,dispatch:kh})=>deleteColumn(Ff,kh),addRowBefore:()=>({state:Ff,dispatch:kh})=>addRowBefore(Ff,kh),addRowAfter:()=>({state:Ff,dispatch:kh})=>addRowAfter(Ff,kh),deleteRow:()=>({state:Ff,dispatch:kh})=>deleteRow(Ff,kh),deleteTable:()=>({state:Ff,dispatch:kh})=>deleteTable(Ff,kh),mergeCells:()=>({state:Ff,dispatch:kh})=>mergeCells(Ff,kh),splitCell:()=>({state:Ff,dispatch:kh})=>splitCell(Ff,kh),toggleHeaderColumn:()=>({state:Ff,dispatch:kh})=>toggleHeader("column")(Ff,kh),toggleHeaderRow:()=>({state:Ff,dispatch:kh})=>toggleHeader("row")(Ff,kh),toggleHeaderCell:()=>({state:Ff,dispatch:kh})=>toggleHeaderCell(Ff,kh),mergeOrSplit:()=>({state:Ff,dispatch:kh})=>mergeCells(Ff,kh)?!0:splitCell(Ff,kh),setCellAttribute:(Ff,kh)=>({state:x_,dispatch:$_})=>setCellAttr(Ff,kh)(x_,$_),goToNextCell:()=>({state:Ff,dispatch:kh})=>goToNextCell(1)(Ff,kh),goToPreviousCell:()=>({state:Ff,dispatch:kh})=>goToNextCell(-1)(Ff,kh),fixTables:()=>({state:Ff,dispatch:kh})=>(kh&&fixTables(Ff),!0),setCellSelection:Ff=>({tr:kh,dispatch:x_})=>{if(x_){const $_=CellSelection.create(kh.doc,Ff.anchorCell,Ff.headCell);kh.setSelection($_)}return!0}}},addKeyboardShortcuts(){return{Tab:()=>this.editor.commands.goToNextCell()?!0:this.editor.can().addRowAfter()?this.editor.chain().addRowAfter().goToNextCell().run():!1,"Shift-Tab":()=>this.editor.commands.goToPreviousCell(),Backspace:deleteTableWhenAllCellsSelected,"Mod-Backspace":deleteTableWhenAllCellsSelected,Delete:deleteTableWhenAllCellsSelected,"Mod-Delete":deleteTableWhenAllCellsSelected}},addProseMirrorPlugins(){return[...this.options.resizable&&this.editor.isEditable?[columnResizing({handleWidth:this.options.handleWidth,cellMinWidth:this.options.cellMinWidth,View:this.options.View,lastColumnResizable:this.options.lastColumnResizable})]:[],tableEditing({allowTableNodeSelection:this.options.allowTableNodeSelection})]},extendNodeSchema(Ff){const kh={name:Ff.name,options:Ff.options,storage:Ff.storage};return{tableRole:callOrReturn(getExtensionField(Ff,"tableRole",kh))}}}),Table=Table$1.extend({parseHTML(){return[{tag:"div",getAttrs(Ff){return Ff instanceof HTMLElement&&(Ff!=null&&Ff.classList.contains("tableWrapper"))?{}:!1}}]}}),{BubbleMenu,BubbleMenuView}=bubbleModules;let Editor=(Ff,kh)=>{var Kme,Ume;const{showTitle:x_=!0,showCatalogue:$_=!0,editable:B_=!0,apiUrl:$P="https://openapi-test.oscollege.net",wsUrl:zP,templateInfo:eme,markdownText:tme,setHeader:nme,title:rme,titleOnChange:ime,titleEditable:ome=!0,onExec:sme,onBack:ume}=Ff,[cme,ame]=React.useState(""),[lme,dme]=React.useState(),[fme,hme]=React.useState(),pme=useEditor({content:{type:"document",content:[{type:"title",content:rme?[{type:"text",text:rme}]:[]},{type:"paragraph"}]},extensions:[HardBreak,HorizontalRule,BulletList,OrderedList,ListItem$2,Table.configure({resizable:!0}),TableRow,TableHeader,TableCell,Blockquote,Heading,Document$3,Title.configure({onChange:qme=>{ime==null||ime(qme)},titleEditable:ome}),Paragraph,Text$1,Code.configure({HTMLAttributes:{class:"inline-code"}}),Bold,Italic,Strike,Underline,Subscript,Superscript,Placeholder,TextStyle$2,History,Link.configure({openOnClick:!0}),Color.configure({types:["textStyle"]}),TextAlign.configure({types:["title","heading","paragraph","image"]}),BubbleMenu.configure({component:BubbleMenuView}),FloatingMenu,Image$1.configure({oss:$P}),CodeBlockLowlight.configure({lowlight,onExec:qme=>{sme==null||sme(qme)}}),Question.extend({addNodeView(){return ReactNodeViewRenderer(QuestionView)}}).configure({xternUrl:cme}),PdfView.extend({addNodeView(){return ReactNodeViewRenderer(PdfViewShow)}}),Slash,Fragment]},[]),[gme,vme]=React.useState(!0),[mme,yme]=React.useState(!1),[bme,_me]=React.useState(!0),[Cme,Ame]=React.useState(),[Rme,Ime]=React.useState(!1),[Pme,Ome]=React.useState(void 0),[Sme,Nme]=React.useState(void 0),[Eme,Mme]=React.useState(!0),[Fme,xme]=React.useState(),[Tme,kme]=React.useState(),Dme=React.useCallback(qme=>unified().use(remarkParse).use(remarkGfm).use(remarkCode).parse(qme),[]),wme=React.useCallback(qme=>unified().use(remarkParse).use(remarkGfm).use(remarkCode).use(remarkStringify).stringify(qme),[]),Lme=()=>{try{Cme&&(Cme==null?void 0:Cme.readyState)===1&&(Cme==null||Cme.close());const qme=new WebSocket(zP);Ame(qme),Ime(!1),qme.onmessage=function(r0e){const{data:Xme}=r0e;try{const E0e=JSON.parse(Xme),i0e=E0e==null?void 0:E0e.type,c0e=E0e==null?void 0:E0e.data;if(i0e==="read")if(c0e)try{const _0e=base64ToText$1(c0e);dme(_0e);const u0e=Dme(_0e);hme(u0e);const Qme=toEditorJSON(u0e);Ome(Qme)}catch{$me()}else Ome("")}catch(E0e){console.log(E0e)}},qme.onclose=function(r0e){const Xme=r0e.code;Xme<3e3&&Xme!==1005&&Ime(!0)}}catch(qme){console.log(qme)}},$me=()=>{Modal.confirm({title:"切换失败!",icon:jsxRuntimeExports.jsx(ExclamationCircleFilled$1,{}),content:"因数据格式存在不兼容问题,本次切换失败,若选择留在当前编辑器,数据将会丢失,请谨慎操作。",cancelText:"留在当前",okText:"返回原编辑器",onOk(){ume==null||ume()},onCancel(){Ome("")}})};React.useEffect(()=>{var qme,r0e,Xme,E0e,i0e;if(tme&&nme)if((r0e=(qme=pme==null?void 0:pme.view)==null?void 0:qme.docView)!=null&&r0e.children){const c0e=(E0e=(Xme=pme==null?void 0:pme.view)==null?void 0:Xme.docView)==null?void 0:E0e.children;if(!c0e){nme([]);return}const _0e=(i0e=c0e==null?void 0:c0e.filter(u0e=>{var Qme,s0e;return((s0e=(Qme=u0e==null?void 0:u0e.node)==null?void 0:Qme.type)==null?void 0:s0e.name)==="heading"}))==null?void 0:i0e.map(u0e=>{var Qme,s0e,o0e,y0e;return{from:u0e==null?void 0:u0e.posAtStart,to:u0e==null?void 0:u0e.posAtEnd,text:(Qme=u0e==null?void 0:u0e.node)==null?void 0:Qme.textContent,level:(o0e=(s0e=u0e==null?void 0:u0e.node)==null?void 0:s0e.attrs)==null?void 0:o0e.level,id:(y0e=u0e==null?void 0:u0e.nodeDOM)==null?void 0:y0e.id}});nme(_0e)}else nme([])},[(Ume=(Kme=pme==null?void 0:pme.view)==null?void 0:Kme.docView)==null?void 0:Ume.children,tme]),React.useEffect(()=>{if(Rme){const qme=setTimeout(()=>{clearTimeout(qme),Lme()},1e3)}},[Rme]),React.useEffect(()=>()=>{Cme&&(Cme==null?void 0:Cme.readyState)===1&&(Cme==null||Cme.close())},[Cme]),React.useEffect(()=>(zP&&(Ome(void 0),Mme(!0),Lme()),()=>{Mme(!0),yme(!1)}),[zP]);const Bme=React.useCallback(()=>{Nme(pme==null?void 0:pme.getJSON())},[pme]);React.useEffect(()=>{if(Sme!==void 0){Fme&&clearTimeout(Fme);const qme=setTimeout(()=>{var i0e;let r0e=Sme;r0e={...r0e,content:(i0e=r0e==null?void 0:r0e.content)==null?void 0:i0e.filter(c0e=>(c0e==null?void 0:c0e.type)!=="title")};const Xme=toMarkdownJson(r0e),E0e=wme(Xme);if(dme(E0e),(Cme==null?void 0:Cme.readyState)===1){const c0e=E0e?textToBase64(E0e):"";Cme==null||Cme.send(JSON.stringify({type:"write",data:c0e}))}clearTimeout(qme),xme("")},500);xme(qme)}},[Sme]),React.useEffect(()=>(pme&&!Eme&&(pme==null||pme.on("update",Bme)),()=>{pme&&(pme==null||pme.off("update",Bme))}),[pme,Eme]),React.useEffect(()=>{if(pme&&Pme!==void 0&&Eme){if(x_){const qme={type:"title",content:rme?[{type:"text",text:rme}]:[]},r0e=Pme?{...Pme,content:Pme!=null&&Pme.content?[qme,...Pme.content]:[qme]}:{type:"document",content:[qme]};pme.commands.setContent(r0e)}else pme.commands.setContent(Pme);Mme(!1),yme(!0)}},[Pme,pme,Eme,rme,x_]),React.useEffect(()=>{pme&&pme.setEditable(B_)},[pme,B_]);const jme=React.useRef(null);React.useEffect(()=>{const qme=new ResizeObserver(r0e=>{for(const Xme of r0e)Xme.contentRect.width<700?_me(!1):_me(!0)});return jme!=null&&jme.current&&qme.observe(jme==null?void 0:jme.current),()=>{jme!=null&&jme.current&&qme.unobserve(jme==null?void 0:jme.current)}},[]),React.useEffect(()=>{const qme=r0e=>{var Xme,E0e,i0e;if(((Xme=r0e==null?void 0:r0e.data)==null?void 0:Xme.type)==="sectionChange"){const c0e=(i0e=(E0e=r0e==null?void 0:r0e.data)==null?void 0:E0e.value)==null?void 0:i0e.template;c0e!=null&&c0e.experEnv?kme(c0e):kme("")}};return window.addEventListener("message",qme),()=>{window.removeEventListener("message",qme)}},[pme]),React.useEffect(()=>{eme!=null&&eme.experEnv?kme(eme):kme("")},[eme]);const Vme=qme=>{const r0e=qme==null?void 0:qme.target;r0e.classList.contains("exec-btn")&&(console.log(r0e),sme&&(sme==null||sme(r0e.getAttribute("data-value")??"")))};return React.useEffect(()=>{if(tme){const qme=Dme(tme),r0e=toEditorJSON(qme);Ome(r0e)}},[tme]),React.useEffect(()=>(window.addEventListener("click",Vme),()=>{window.removeEventListener("click",Vme)}),[pme]),React.useImperativeHandle(kh,()=>({editor:pme,update:()=>{const qme=setTimeout(()=>{var r0e;(r0e=pme==null?void 0:pme.commands)==null||r0e.clearContent(),Mme(!0),yme(!1),clearTimeout(qme)},500)},changeXternUrl:qme=>{qme&&ame(qme)},addActive:qme=>{var r0e,Xme,E0e,i0e;qme!=null&&qme.id&&((i0e=(E0e=(Xme=(r0e=pme==null?void 0:pme.chain())==null?void 0:r0e.focus(qme==null?void 0:qme.pos))==null?void 0:Xme.setQuestion({id:JSON.stringify({id:qme==null?void 0:qme.id}),language:qme==null?void 0:qme.language}))==null?void 0:E0e.hideTip())==null||i0e.run())},getMdText:()=>lme,setTitle:qme=>{const r0e=pme==null?void 0:pme.view.state.doc.content.child(0);pme==null||pme.view.dispatch(pme==null?void 0:pme.view.state.tr.insertText(qme,1,r0e==null?void 0:r0e.nodeSize))},changeMdTest:qme=>{console.log(qme,fme);const r0e=[];fme==null||fme.children.forEach(i0e=>{((i0e==null?void 0:i0e.props)!=="active"||(i0e==null?void 0:i0e.value)!==qme[0].value)&&r0e.push(i0e)}),fme.children=r0e;const Xme=wme(fme);if(dme(Xme),(Cme==null?void 0:Cme.readyState)===1){const i0e=Xme?textToBase64(Xme):"";Cme==null||Cme.send(JSON.stringify({type:"write",data:i0e}))}const E0e=setTimeout(()=>{var i0e;(i0e=pme==null?void 0:pme.commands)==null||i0e.clearContent(),Mme(!0),clearTimeout(E0e)},500)}})),jsxRuntimeExports.jsx(shareData.Provider,{value:{editor:pme,template:Tme,apiUrl:$P},children:jsxRuntimeExports.jsxs("div",{className:"ylz-editor",ref:jme,children:[jsxRuntimeExports.jsx("div",{id:"ylz-editor-container",className:`ylz-editor-container${!$_||bme===!1||!gme?" ylz-editor-container-max":""}${B_?"":" ylz-editor-container-read"}`,children:jsxRuntimeExports.jsx(EditorContent,{editor:pme})}),$_&&jsxRuntimeExports.jsx(Catalogue,{editor:pme,isUpdate:mme,canOpenCatalogue:bme,onChangeVisible:qme=>vme(qme)})]})})};Editor=React.forwardRef(Editor),Editor=React.memo(Editor);const Editor$1=Editor;return Editor$1});